Anautomateddistributedmeetingscheduler Introductione-mail:sandip@kolkata.mcs.utulsa.edu DepartmentofMathematical&ComputerSciences 600SouthCollegeAvenue, UniversityofTulsa, Tulsa,OK74133 SandipSen andtediousnatureofthejobinquestion. userstoconcentrateonmoreproductivetasks,andtheyimprovethequalityofinformation processingbypreventingerrorsthatmightbeintroducedbyhumanusersduetotheroutine cessingtasksofassociatedhumanusers.thebenetofsuchsoftwareistwo-fold:theyallow indesigningandimplementingsoftwaresystemsthatautomateandshareinformationpro- processingneedsinorganizationscanbeecientlyautomated.assuch,weareinterested Acentralthesisinourresearchhasbeentheclaimthatanumberofroutineinformation incontrasttomostofthecurrentlyavailablesoftwareforcentralizedcalendarmanagement ingmeetingsbetweenemployeesinanorganization.ourapproachtomeetingscheduling, andmeetingscheduling,isadistributedone,whereeachemployeeintheorganizationis providedwithanautomated(computational)meetingschedulingagent.whenauserwants meetingschedulingagent.thisagentnegotiateswiththeagentscorrespondingtotheother toscheduleameetingwithotherusers,he/sheinputsameetingrequesttotheassociated Inparticular,wehavestudiedtheproblemofecientlyautomatingtheprocessofschedul- canameetingschedulingagentecientlynegotiatewithothermeetingschedulingagents communicatemessageswithothermeetingschedulingagents(seefigure1). endarmanagersoftwaretomanipulatetheuser'scalendar,andusesthee-mailsystemto throughthemeetingschedulingagent,itcanprotecttheprivacyofitsassociateduserwhile userstoschedulethemeeting.sinceallmeetingrequestsandcalendaraccessesarerouted followingotherpreferencesofthisindividual.themeetingschedulingagentusesthecal- solveapreciselydeneddistributedmeetingscheduling(dms)problem.wedeveloped withoutcompromisinganyoftheconstraintsspeciedbyitsassociateduser.inourprevious work[1,2,3]wehavestudiedtheusefulnessofdierentheuristicnegotiationstrategiesto analyticalmodelsofexpectedperformanceofheuristicstrategycombinations,andveried theseexpectationswithexperimentsonsimulatedsystems. Thecentralquestioninthedesignofasuccessfulmeetingscheduleristhefollowing:how 1
User B User A User C Intelligentinformationagentsinorganizations Figure1:Distributedmeetingschedulingoveranetworkofcomputers. Meeting Scheduler Calendar Manager E-mail latemoreinformation,theycanalsoimpairhumanperformancethroughoveruseorabuse provinggroupperformancethroughanarrayofcollaborationtools,suchaselectronicmail Computernetworksthatsupporthumanorganizationsprovideaninfrastructureforim- systemsandsharedlesystems.whilesuchtoolshelppeopleshare,access,andmanipu- User D Meeting Scheduling System useknowledgeabouttheinterestsandprioritiesofpeopletoperformroutineorganizational Theusefulnessofintelligentagentsisfurtherappreciatedwiththeadventoftheinformation taskssuchasautomaticallyscreening,directing,andevenrespondingtoinformation[4]. introduce\intelligentagents"intoorganizationalcomputingsystems,wheretheseagents fromthepropagationofunnecessaryinformation.techniquesfromarticialintelligencecan throughelectronicmailorincontactingbyphone),andinthepresenceofothermeetings superhighway[5]. beingscheduledconcurrently,canbefrustratingandleadtolessthansatisfactorysolutions. ofsearchingforacommonlyavailabletimeinthepresenceofcommunicationdelays(either thequalityoftheschedulesgenerated,then,aectstheworkingofanorganizationtoalarge extent.evenwheneveryoneinvolvedinameetinghasavailabletimestomeet,theprocess inschedulingandattendingmeetings[6,7].theeciencyoftheschedulingprocessusedand Someofthepeopleinatypicalorganizationspendalargepercentageoftheirworkingtime Automatingmeetingschedulingisimportant,therefore,notonlybecauseitcansavetime andeortonthepartofhumans,butalsobecausethismayleadtomoreecientschedules developingautomatedmeetingschedulershavemetwithlimitedsuccess,althoughtheyare rangeoverthelengthofthecalendarsusedbyindividuals,thenumberofcalendarsusedby andtochangesinhowinformationisexchangedwithinorganizations.pasteorts[8,4]in availableinanumberofocesoftwaresystems[9]. eachperson,levelofprivacydesired,portabilityandaccessibilityrequirements,percentage Humansexhibitwidevariationsinhowtheymanagetheircalendars.Thevariations 2
querying,andinsertingrelatedinformationintothecalendar.inorderforanautomated theuser.sucharequirementbodeswellforourdistributedformulationoftheproblem,as calendarmanagementsystemtobeaccepted,ithastobeexibletothevaryingneedsof ofscheduledmeetingsthatarecanceledandrescheduled,aswellasthenatureofarchiving, eachusercanmodifyhis/herassociatedagentaccordingtohis/herownliking. clarifyherefromourpointofviewisthatnoneofthesesystemsare\automaticschedulers". to-date2.0,andwordperfectoce3.0'scalendarmodule.themostimportantthingto ONTechnology'sMeetingMaker1.5,Microsoft'sSchedule+1.0,NowSoftware'sNowUp- thefourmostpowerfulschedulesharingsystemsinpracticetoday.thesefourproductsare: beenpersonalcomputerbasedsystems.agoodsurveyofthemostpromisingofthese productscanbefoundin[10].thissurveyevaluatesandcomparesthefeaturesoeredby Mostofthecommerciallyavailablesoftwareforschedulingovercomputernetworkshave byallotherusers.theonlyrestrictionisthattheuser(oraproxy)hasthesoleauthorityto andthatofotherusers,andinsomecasesndtimeintervalstoproposebysearchingthese Theseproductsprovidetheuserswithonlyaniceinterfacetoviewtheirowncalendars calendars.whenusingthesesystems,usershavetoallowcompleteaccesstotheircalendars ofrecentprojects[11,12]whichassistahumanuserinschedulingmeetings.noneofthese, aredesignedto\share"schedules.similarly,intheaicommunity,therehasbeenanumber modifyhis/herassociatedcalendar.asthetitleofthepaperitselfsuggests,theseproducts agentsaboutthestateofthecalendarofotherusers.assuch,multipleroundsofinformation exchangebetweenschedulingagentsareoftenrequiredtolocateatimeintervalinwhicharequestedmeetingcanbescheduled.thelattermodeofmeetingscheduling,however,doesnoerablymoredicultbecauseofthesignicantlylimitedinformationavailabletoscheduling requiretheinterventionofthehumanuserforeachroundofproposalexchange,andislikely We,however,proposetoprovideautonomousschedulingcapabilitiesthroughrestricted informationexchangebetweenintelligentmeetingschedulingagents.ourapproachisconsid- however,completelyautomatethemeetingschedulingprocess. modiableconstraints(theseconcernsareseverelycompromisedintheabove-mentioned tobesignicantlyquickerinschedulingmeetings.inaddition,ourproposalforautonomous schedulingcanapproximatetheprivacyandsecurityconcernsofusersasspeciedbyuser- systemsasotherscanfreelyaccesstheuser'scalendarstate).thedistributednatureofour systemallowsforbetterthroughputthroughconcurrentnegotiationonmultiplemeetings, andbetterfaulttolerance. DistributedMeetingScheduling Whenauserrequestsameetingtobescheduledwithotherusers,theassociatedmeeting schedulingagentisdesignatedasthehostagentforthatmeeting;theagentscorresponding anumberofparameters: totheotherusersattendingthemeetingarecalledinviteeagents.ameetingisspeciedby setofattendees, proposedlengthofthemeeting, priorityassignedtothemeeting, 3
Spacedoesnotpermitanenumerationoftheconstraintsoursystemcanhandle.Someofthe aschedulingdeadline, anyadditionalconstraints. asetofpossiblestartingtimesonthecalendarforthemeeting(e.g.,sometimenext typicalconstraintsthatcanbehandledincludeschedulingameetingbefore/afteranother week,fridayafternoon,etc.), meeting,schedulingameetingonlyifanothermeetingisscheduled,schedulingwithasubset ofattendeesorforashorterlengthifameetingtimesatisfyingallthegivenparameters cannotbefound,schedulingrepeatingevents,etc. tohaveaexibleroutinetohandlearangeofsituations,whilestillkeepingtheroutine timeslotsformeetings.whilethecontractingframeworkdoesnotcapturesomeofthe well-denedandunderstandableenoughtobeembracedbyauser. sophisticationthatpeoplemightemployinexceptionalcircumstances,itbalancestheneed Ourschedulingagentsusecontract-basednegotiation[13]tondmutuallyacceptable Awillsearchthelocalcalendartondsomehour-longfreeslotsnextweekthatdoesnot agent(inthefollowingwenametheagentsaftertheiruser)toschedulethismeeting,agent considerasimplemeetingschedulingscenarioinwhichuserawantstomeetwithusersb andcforanhoursometimeinthenextweek.whenuserainstructsitsmeetingscheduling conictwithusera'spreferences(forexample,nomeetingbefore9orjustafterlunchhours). Someofthesefreeslotsarethenproposedviaelectronicmailtoagentscorrespondingto Wewilluseanexampletoillustratetheworkingsofourproposedscheduler.Letus anyconstraints/preferences),theyrespondpositivelybyelectronicmail.alternatively,they Mondayorat2pmonWednesday).IfagentsBandCndsomeoftheseproposalsagreeable mayproposesomeotherhoursasdictatedbylocalcalendarsanduserpreferences.these (correspondingslotsarefreeinthecalendaroftheirrespectiveusers,anddoesnotviolate usersbandcforameeting(forexample,agentamayproposetomeeteitherat10amon negotiationcycleisrepeateduntilaslotisfoundwhichisagreeabletoallthreeagents,and themeetingisscheduledforthattimeslot. 1.Whenameetingneedstobescheduled,thehosttriestondtimeintervalsinits Asimpliedversionoftheschedulingprotocolisgivenbelow: 2.Eachinviteereceivesthecontractproposal(s),andtriestondlocalsolutionstosatisfy ofthebestintervalsfound. andthemeetingisabandoned.otherwise,ifitistheonlyparticipantinthemeeting, thehostannouncesacontractforthemeetingtotheinviteesbyproposingoneormore itschedulesthemeetingforthebest(earliest)interval.ifthereareotherparticipants, schedulethatsuittheconstraintsofdateandtime.ifitcannotndanyinterval,itfails interval(s)sentasbidscansimplybethesubsetofthoseannouncedbythehostthat forwhichthebidder(theinvitee)canscheduletheannouncedmeeting.thetime theinviteehasfreeonitscalendar,ortheycanbecounter-proposalsforwhentomeet. thosecontractsandsendthembackasbidstothehost.bidsconsistoftimeinterval(s) 4
3.Thehostcollectsandevaluatesthesebids.Ifthebidssuggestacommontimeinterval 4.Whenthebiddersreceivenewproposals,theyreplyasabove.Onreceivinganaward, theychecktoseeifthosetimeintervalsarestillfree.ifso,theymarktheircalendar, generatesnewproposalsdependingonthebidsreceivedanditsowncalendarand sendstheseotothebidders.italsosendsrejectionsforbidsreceived. whichisfreeforthehostaswell,themeetingcanbescheduledandthehostsends recordingtheschedulingofthemeeting.otherwisetheysendbackrejections. awardstothebidders.ifthemeetingcannotbemutuallyscheduledyet,thehost Theabovealgorithmicstepsarerepeateduntilasatisfactoryscheduleisarrivedatoritis duetothefactthatthemeetingcouldnotbescheduledbeforeitsdeadline). recognizedthatthemeetingcannotbescheduled(duetoanover-constrainedscheduleor process.themostimportantquestionsthatneedtobeansweredbeforethecontract-net coordinationprocess,itdoesnotspecifythelocalcontrolnecessarytofocusthenegotiation protocolcanbeappliedinthedmsdomainarethefollowing: Thoughthecontractnetmetaphordelineatestherespectiverolesoftheagentsinvolvedina Heuristicnegotiationstrategies Howdoagentshandlethechangeinproblemconstraintsastimepassesduringnegotiation? Howdohostsbuildcontractstopropose? Howdoinviteesbidinresponsetocontracts? Howdoagentsmaintainconstraintsbetweenconcurrentlynegotiatedmeetings? eachoftheagentsinvolvedinameetingsearchesitscalendartondatimeintervalforthe satisfactorysolutions.weviewthedmsproblemasadistributedsearchproblem,where meeting,anditisrequiredthateveryattendeechoosesthesametimeintervaltoschedulethe henceanyrealisticattempttosolvetheproblemhastouseappropriateheuristicstond meeting.tondacommonfreetimeintervalofthedesiredlengthquickly,theagentsmust Themeetingschedulingproblemhasbeenprovedtobecomputationallyintractable,and useecientlocalsearchbiasestoguidethesearchprocessinndingsuitabletimeintervals movethesearchtowardsasolutionwithoutviolatinglocalconstraints;choosewhetheror nottoviewtentativeproposalsascommitments;andlocatealreadyscheduledmeetings onthecalendartouseforthemeeting;decideonhowmuchinformationtoexchangewithout losingexibilitytoscheduleothermeetingsconcurrently;ndresponsestoproposalsthat threedierentsearchbiases:linearearly,linearleastdense,andhierarchical.linearsearch onagivenasetofalternativesolutions.inthedmsdomain,wehaveexperimentedwith tondpreferredfreeintervalstoscheduleameeting.asearchbiasprovidesapartialorder ndingsontheseheuristics: toreschedulewhenfacedwithnewcontingencies.inthefollowing,webrieynarrateour Searchbias:Heuristicsforsearchbiasesallowagentstofocussearchintheircalendar 5
biases(searchbiasesthatoperateonalinearorderingofthesearchspace)aremoreeective themostdesirableweektoschedulethemeeting,followedbythemostdesirabledaywithin availabletimeslotforarequestedmeeting.whenusinglinearleastdensebias,agents it.whenusinghierarchicalsearchbias,agentsschedulingameetingrstidentifywhichis forlargerorganizations.whenusinglinearearlysearchbias,agentsproposetheearliest searchtheentirecalendarandthenproposeatimeintervalwithmaximumfreetimearound forasmallnumberofagentsworkingonshortcalendars;ahierarchicalsearchbiasusing thechosenweek,andnallytheparticulartimeintervalwithinthatday.whereasthe temporalabstractionsofthecalendar(involvingmonths,weeks,days,hours)ismoreuseful on,itcannotaccommodatetheschedulingofmeetingsatshortnotice(andhencetriggers linearearlysearchbiasproducesfront-loadedcalendarleavingroomforlongmeetingslater meetingcancellations).linearleastdenseandhierarchicalsearchbiasesproduceevenly loadedcalendarsthatcanmorereadilyaccommodatescheduledisruptions,butcanfailto schedulelongmeetingswhenthecalendarisdense.theseheuristicshelpagentsindeciding atradeobetweentheamountofinformationexchangedperiterationamongthemeeting schedulersandthenumberofiterationsofinformationexchangeneededtoscheduleameeting.ifeverybodysentallinformationtooneagent,thenoneiterationissucient,andwe whattoproposetootheragentsandalsotoadjusttheirproposalsascalendarstateschange (causingchangesinproblemconstraints)overtime. itisnecessarytosequentializetheschedulingofallmeetings,whichseverelyaectssystem throughput.limited,focusedexchangeofinformationtoschedulemeetingswillingeneral haveacentralizedschedulingscenario.totakefulladvantageofthissituation,however, Informationexchanged:Asinmostproblemsinvolvingdistributedsearch,thereis requiremoreiterations,butwillallowtheagentstoschedulemultiplemeetingsconcurrently, thusincreasingthethroughputofthesystem.thelatterformofcommunicationwillingeneralrequirelessinformationexchange,asalltheinformationsentbytheagentsintherstion)withtheneedformaintainingprivacy(proposeasfewintervalsaspossibletoschedule quicklybysendingmoreproposalsperiterationofnegotiation,thelawofdiminishingreturns ameeting).ourprobabilisticanalysisshowsthat,althoughagentscanschedulemeetings havetobalancetheneedforeciency(impliessendingmoremeetingproposalsperitera- casemaynotbenecessarytoprocessatask.furthermore,inthedmsdomain,schedulers canrespondbyacceptingorrejectingtheproposal,orcancounter-proposeanothertime inguidingthenegotiationthroughinformativecounter-proposals.forexample,theinvitee holdsbackthesavingsobtainedbyexchangingmoreinformation[2].theseheuristicshelp intervalforthemeeting.cooperativerevelationoflocalinformationcangreatlyaccelerate requiringthehosttodomostoftheworkinndingasuitablecontract,orbemoreactive agentsdecidehowmuchtosharewithotheragents. coordinationifcoupledwithproperlocalsearchcontrol.wehavedevelopedanalytical expectationsofthesavingsobtainedininformationexchangeiterationswheninviteeagents Responsemechanisms:Inschedulingameeting,theinviteeagentcanbepassive, thatcanusethisinterval.theagenthastodecidewhetherornottousethesame(or respondwithcounterproposalsinsteadofjustaccepting/rejectingproposalsfromhostagents. tothetimeitreceivesaresponsefromtheotherside,othermeetingrequestsmayarrive Theseheuristicsaddressthequestionofhowtoconstructbidsinresponsetoproposals. Useofcommitment:Fromthetimeanagentproposesatimeintervalforameeting 6
investigatedhowagentscanreasonaboutsystemload,expectedcoordinationeort,importanceofmeetingsbeingprocessed,etc.,tomakeaknowledgeabledecisiononcommittingto overlapping)timeintervalsforsimultaneousnegotiationsondierentmeetings.wehave tentativeproposals[3].theseheuristicsenableagentstoavoidharmfulinteractionsbetween time. concurrentlynegotiatedmeetings. heuristicsenableagentstoreworkthemeetingschedulesascalendarstatechangeswith utilityofcancelingpreviouslyscheduledmeetingstoaccommodatenewones[1].these structuredframeworkforreneggingpastagreementshasbeendevelopedthatoptimizesthe agentmayneedtocancelpreviouslyscheduledmeetingstoaccommodatenewones.a Adaptivescheduling:Intelligent,autonomousagentsshouldbeabletoreasonand Cancellationmechanisms:Whenfacedwithchangingdemandsonitsresources,an adapttochangingenvironmentalconditions.wehavedevelopedthedesignofanadaptiveschedulingagentthatwillbeabletochoosethemostecientlocalproblem-solving oftheagentsinvolvedinthenegotiationprocess[2].localproblem-solvingbehaviorofthe meetingschedulingagentsisdeterminedbyacombinationofheuristicstrategyoptions,each optionchosenfromasetofalternativesavailablefortheassociatedstrategydimension.our alyticalexpectationsoftheperformance,asmeasuredbysomegivenperformancemetrics, goalhasbeentodesigntheadaptiveagentsuchthatitschoicesarebasedonprecisean- oflocalproblem-solvingbehavior.agentsthatmonitortheirenvironmentcontinuallyand behavior,giventhecurrentenvironmentalparametersandthelocalproblem-solvingstates putingenvironment,thatutilizestheabove-mentionedndings.thoughthecurrentimple- mentationrunsonalocalnetworkofworkstations,thenegotiationmechanismsandencoding performanceacrossawiderangeofsituations. Wehaveimplementedadistributedmeetingschedulingsystemonaworkstationbasedcom- Implementation adjusttheirbehaviortosuitchangingdemandsimposedonthesystemcanproviderobust languagedevelopedcanbeeectivelyusedinothertypesofcomputingenvironments.for example,thesametechniquescanbeusedtoimplementadistributedmeetingscheduling systemthatrunsonpersonalcomputers.theactualimplementationwilldenitelybedifferentdependingonthecommunicationandprogrammingenvironmentinvolved.asfaras usedforthecurrentimplementationisc++. eithertheproblem-solvingbehaviorofthesystemorthemannerinwhichtheuserinteracts usedinthesharedscheduleimplementationsmentionedabove).theprogramminglanguage withthesystemisconcerned,however,noappreciablemodicationstotheproposeddesign tationinaserver-basedcomputingenvironmentaswell(thistypeofenvironmentisoften isrequired.additionally,suchameetingschedulingsystemcanbeconguredforimplemen- requestsandschedulepreferences,tochecktheschedulingofameetingasnegotiatedby thendescribetheirimplementationsinmoredetail.theuserinteractswiththemeeting schedulingsystemthroughtheuserinterface.theinterfaceallowsuserstoinputmeeting brieyoutlinethefunctionalitiesofeachofthecomponentsofthemeetingscheduler,and ThearchitectureofourmeetingschedulingagentsisasdescribedinFigure2.Werst 7
User Interface User preferences Working Negotiation Memory theagent,andtomonitoritscalendarandcurrentnegotiations.theuserpreferences Module componentstoresthepreferencesoftheuserforthenatureofschedules,prioritiesfordierent typesofmeetings,preferencesforattendingmeetingswithotherusers,etc.theworking memorycontainsthedatastructuresandmemorytracesofnegotiationsonmeetingsthat Figure2:Thearchitectureoftheautomatedmeetingscheduler. Message Calendar manipulator schedulingagentsrepresentingotheruserstoschedulemeetingsintheworkingmemory.the arebeingcurrentlyscheduled.thenegotiationmoduleisthe\brain"ofthemeeting schedulesystem,andusestheuserpreferenceswhileexchangingproposalswithmeeting Constructor/Decoder calendarmanipulatorcomponentallowstheuserinterfaceandthenegotiationmodule toaccessandmodifythestatusoftheuser'sschedulethroughthecalendarmanagement workingmemory. Whenaproposalistobesent,thismoduleconstructsanappropriatemailmessageinthe anotheragent,thismoduledecodesthemessageandpoststheproposalorbidintothe program.themessageconstructor/decodercomponentservesastheinterfacewith thee-mailsystemthroughwhichmessagesarecommunicatedwithotherschedulingagents. designatedformatandinvokesthemailer.similarly,whenaproposalorabidarrivesfrom includealistofotherusersfromwhomtochoosemeetingattendees(byclickingonboxes, whichuserswouldinteractwiththeirmeetingschedulingagent(weareusingthextoolkit consistingofopensoftwarefoundation'smotifwidgetsetandthextintrinsics).the industry-standardxwindowsystemtodevelopagraphicaluserinterface(gui)through interfaceprovidestheuserwithaconvenienttooltoconstructameetingrequest.this Todevelopasystemthatisportableacrossanumberofplatforms,weareusingthe 8
orwritingoutnames).itisalsousedtonotifytheuserwhenamutuallyacceptabletime foranewmeetinghasbeenfound.theusercanchoosetoreservetheoptionofanalcheck beforeanymeetingisscheduled,ormaychoosetoallowhis/heragentstoschedulemeetings toguidethenegotiationprocess.weintendtodevelopalanguagebywhichuserscan modulecodiesthepreferencesandprioritiesoftheuserwhichareusedassoftconstraints prefermeetingsinthesecondhalfofaday,etc.)andpriorities(meetingswiththeboss havehigherprioritycomparedtomeetingswithsubordinates,etc.).theuserpreferences viewcanbeeasilycustomized. withoutanyintervention.wearecurrentlyworkingonextendingtheinterfacesothatits specifytheirpreferencesfordierenttypesofmeetings(dependingonthegoalsofmeetings), preferenceformeetingswithotherusers(aparticularusermaybemoreinclinedtoattend Theinterfaceisalsousedtoinputpreferences(prefertohaveFridayafternoonsempty, meetingsconvenedbycertainuserscomparedtoothers),preferencesforpeakdensityon implemented.theseincludespecifyingpreferencesformeetingwithdierentusersand calendar(ausermaychoosetoattendaseminarifhe/shedoesnothaveanyotherlengthy commitmentthatday).onlysomeofthefunctionalitiesofthismodulehavealreadybeen istorstselectacolorfromthecolorbartorepresentapreferencelevel,andthenclickand preferencesfordierentmeetinglengths.foreachoftheotherusersinthesystem,auser canspecifyhis/herpreferenceeitherbytypinginarealnumberbetween0and1,orby imentalsimulations),andselectstheappropriatecalendaraccess/modicationandcommu- nicationactionsnecessarytoschedulethemeetingsintheworkingmemoryfollowingthe arecontinuouslyupdatingittoaccommodatenegotiationonmeetingswithnewconstraints preferencesoftheuser.thoughthismoduleisthemostwell-groundedinbasicresearch,we thatwehavenotstudiedinourpreviousresearchandalsotoutilizeadditionalformsofuser preferences.theworkingmemorycomponentsimplycontainsatraceofallcommunica- Thenegotiationmoduleimplementsourtheoreticalndings(corroboratedbyexper- dragoverapartofthecalendartolabelitwiththechosenpreferencelevel. aresimilarlyspecied.wearecurrentlyworkingonthepartoftheinterfacethatallows userstospecifypreferencesformeetingindierentpartsoftheweek.thebasicmechanism clickingonacolorbarthatrepresentsthesamecontinuum.preferencesformeetinglengths meetingrequestfromtheuserorabidoraproposalfromanotherschedulingagenttriggers tomeetingsthatarescheduledarewrittenouttoahistorylewhichcanbelaterconsulted forreschedulingorlearningmodelsoftheschedulingactivitiesofotherusers.thearrivalof toremovefromworkingmemoryameetingthathasbeenscheduled.objectscorresponding aredenedtocreatenewmeetingsinworkingmemory,toaddproposalstomeetings,and objectorientedwithmeetings,proposals,andevenuserstreatedasobjects.thusmethods tionsovermeetingsthatarebeingcurrentlynegotiated.ourimplementationiscompletely thenegotiationmoduletotakeappropriateactions.thenegotiationmoduleusesthecalendarmanipulationmoduletoaccess/updatethecurrentstatusoftheusercalendar.ituses willallowuserstodirectlymergeschedulechanges(whichmayariseiftheuserpersonally calendarmanagementsoftware.weintendtoaddtothefunctionalityofthismodulethat Themessageconstructor/decoderistheworkhorseinthesystemwhichhandlesthe withthecurrentcalendar. scheduledameetingwhileawayfromthecomputingfacilities,e.g.,whileonabusinesstrip) systemcallstobothreadandupdatethestatusoftheusercalendarasmaintainedbythe 9
communicationbetweenmeetingschedulers.communicationbetweenschedulingagentsuses pollsthesystemmailboxtocheckifameetingschedulingmessagehasarrived(identiedby theelectronicmailsystem.onbeinginvokedbythenegotiationmoduletosendamessage, thismoduleconstructsamessagewithaspeciallyformattedsubjectandbodyandthencalls themailingsoftwaretosendoute-mailstotherecipientagents.thismodulealsocontinually Figure3:E-mailmessagecontainingaproposalforameeting. withanidof\mahend:26sep94:13:46:02"(formedbyappendingtheloginidoftheuser aspecialheader).whenitndssuchamessage,ittranslatesthee-mailmessageintoan containedintheheaderstringdenotesthatthisisameetingschedulingmessageforameeting originatingthemeetingrequestwiththetimeatwhichtherequestwasmade).italso appropriateinternalformatandpostsitontheworkingmemory. ID,theuseroriginatingthemeeting,meetingtopic,inviteestothemeeting,preferredtime speciesthatthisisamessagefromthehosttoaninvitee,isaproposal,andisapartofthe rstroundofnegotiationonthemeeting.thebodyofthemessagecontainsthemeeting Figure3showsasnapshotofamailmessageannouncinganewmeeting.Theinformation prioritiestothesamemeeting),deadlinebywhichadecisiononthismeetinghastobemade, intervalsbeingproposedforthemeeting(anyoneofwhichmaybechosen),theresponse ofthemeetingschedulingsystem. (whichwouldbelledinbytheinviteeagentswhenrespondingtothisproposal),expected exactformatofthemessageisevolvingasweenhancethecapabilitiesoftheothermodules durationofthemeeting,asuggestedpriorityofthemeeting(inviteesmayassignverydierent heldeitheranytimeonthe5thofoctober,orinthemorningofthe6thofoctober).the andthesetofacceptabletimeintervalsforthismeeting(inthiscase,themeetingcanbe 10
fromeachofthemarketing,purchasing,andresearchdivision),developingagrammarto schedulingdecisionstotheuser,assigningmeetingprioritiesbasedonpooledandnormalizedfeatures(whichincludekeywordsinmeetingdescriptors,participants,meetinglength, ofthesystem.resultshavebeenencouragingsofar,butwearealsoawarethatthelevel alternativesolutions. currentscheduleload,etc.),andlearninguserpreferencesbyobservinguserschoosefrom ment,andweareusingthefeedbacktoimprovetheinterfaceandexpandthefunctionality ofexpertiseofthesegroupofresearchersisverydierentfromtheaverageuserofsucha system.afterwehaveaddedinsomeofthefunctionalitiesmentionedabove,allowinga morestructuredandeasierinteractionwiththesystem,weplantoincludelesssophisticated userstotestthesystem. Thepresentimplementationisbeingusedbyasmallgroupofresearchersinourdepart- specifycomplexrelationshipsbetweenmeetings,creatinganexplanationfacilitytojustify schedulemeetingsbychoosingrepresentativesfromgroups(ameetingwitharepresentative Someoftheotherextensionsthatweareactivelypursuingincludeextendingtheprotocolto ContinuingWork needsmoretestingbeforewecanuseitinsuchlargeworkgroups.thetechniquesdeveloped found.thecancellationschemesthatwehavedeveloped[1]needstobeaugmentedwith mecahnismstoutilizeuserpreferencestohandlethesemeetingswithaverylargenumber (>50)withoutanydeteriorationinsystemperformance.Theimplementedsystem,however, sofarwillworkwellformeetingswithuptoapproximately10users.forschedulingmeetings withlargernumberofattendees,itisunlikelythatacommonfreetimecanbereadily Onsimulationruns,wehavebeenabletoscalethesystemtoalargenumberofusers ofattendees.oursystemcanhandleanynumberofmeetingsoranymeetingdensitieson longmeetingsarebeingscheduledmorefrequently.someofthemeetingconstraintslike schedulingameetingonlyifanothermeetingisscheduledcanbeeasilyhandled.other theusercalendars.thesuccessrateofschedulingmeetingswithoutcancelingpreviously wayssuchconstraintscanbemet. ashorterlengthifnecessary,aremorediculttoprocessbecauseofthenumberofdierent scheduledmeetings,however,decreaseswithincreaseddensitiesonthecalendarsandwhen constraintslikeschedulingameetingwithlessnumberofattendeesthanspeciedand/orfor densityoverthecalendarvarieswidelywithdierentstrategychoices,andwithdierent datedwithoutcancelingpreviouslyscheduledmeetings,andthedistributionofmeeting bywhichagentscanautomaticallychoosetheschedulingoptionsexpectedtominimizethe requiredtoscheduleameeting,thepercentageofmeetingrequeststhatcanbeaccommo- numberofusers,meetingrequestfrequency,etc.wehavedevelopedaprobabilisticscheme ingschedulingsystemwithdierentstrategychoices[1].thenumberofroundsofnegotiation Wehavedoneextensivetestinginsimulationoftheperformanceofourdistributedmeet- andpreferencesoftheassociateduser.thebasicimplementationbeinginplace,weare numberofroundsofnegotiation[2].toscheduletypicalmeetingswith3to5attendeesfor 2to3hours,ouragentstake2to3roundsofnegotiationwhencalendarsare70to80%full. ofthesystemwilldependlargelyonhowexiblethesystemistothedemands,constraints, byautomatedschedulerstoadapttochangingenvironmentalconditions.theapplicability Ourworkisbasedonagoodunderstandingandcharacterizationoftheapproachesneeded 11
nowconcentratingoureortsondevelopingstructuredknowledgerepresentationandreasoningmechanismthatallowsuserstoeasilyspecifyrequirements,andallowstheautomated negotiatortoecientlyusethoserequirementswhileschedulingmeetings. hisinvaluablesuggestionsandguidanceduringmuchofthiswork. AwardIRI-9410180,andbyagrantfromBellcore.IwouldliketothankEdmundDurfeefor Acknowledgments References Thisresearchhasbeensponsored,inpart,bytheNationalScienceFoundationunderCoordinationTheoryandCollaborationTechnologygrantIRI-9015423andaResearchInitiation [3]SandipSenandEdmundH.Durfee.Theroleofcommitmentincooperativenegotiation. [2]SandipSenandEdmundH.Durfee.Onthedesignofanadaptivemeetingscheduler. [1]SandipSen.PredictingTradeosinContract-BasedDistributedScheduling.PhDthesis, InProc.oftheTenthIEEEConferenceonAIApplications,pages40{46,March1994. InternationalJournalofIntelligentandCooperativeInformationSystems,3(1):67{81, UniversityofMichigan,December1993. [6]PhilClark.Oceautomation:Automationgainsmunicipalground.AmericanCity& [5]CommunicationsoftheACM,july1994,volume37,number7,1994.SpecialIssueon [4]ThomasW.Malone,KennethR.Grant,FranklynA.Turbak,StephenA.Brobst,and County,page10,January1987. ACM,30(5):390{402,1987. IntelligentAgents. MichaelD.Cohen.Intelligentinformation-sharingsystems.Communicationsofthe [7]J.F.KelleyandA.Chapanis.Howprofessionalpersonskeeptheircalendars:Implicationsforcomputerization.JournalofOccupationalPsychology,55:141{156,1982. [8]IreneGreif.PCAL:Apersonalcalendar.TechnicalReportTM-213,MITLaboratory [10]EricTaub.Sharingschedules.MacUser,pages155{162,July1993. [9]JonathanGrudin.Socialevaluationoftheuserinterface:Whodoestheworkandwho forcomputerscience,cambridge,mass,1982. [11]LisaDent,JesusBoticario,JohnMcDermott,TomMitchell,andDavidZabowski.A {INTERACT87,pages805{811.NorthHolland,1987. getsthebenet?inh.bullingerandb.shacketl,editors,humancomputerinteraction personallearningapprentice.inproceedingsofthetenthnationalconferenceonarti- cialintelligence,pages96{103,july1992. 12
[12]PattieMaes.Agentsthatreduceworkandinformationoverload.Communicationsof [13]ReidG.Smith.Thecontractnetprotocol:High-levelcommunicationandcontrolin theacm,37(7):30{40,july1994. December1980. adistributedproblemsolver.ieeetransactionsoncomputers,c-29(12):1104{1113, 13