a multi-agent approach to a distributed schedule ... · a multi-agent approach to a distributed...

15
196 FUJITSU Sci. Tech. J.,33,2,pp.196-210(December 1997) UDC 001.81: 681.3 A Multi-Agent Approach to a Distributed Schedule Management System VYuji Wada VMasatoshi Shiouchi VYuji Takada (Manuscript received June 11,1997) More and more people are engaging in cooperative team activities over worldwide networks such as the Internet. The multi-agent technology is a framework suitable for constructing distributed applications to support these activities. Systems based on this framework have the necessary autonomy, independency, flexibility, and extensi- bility. We have focussed on the distributed schedule management, which is a typical application of the multi-agent technology. We have developed a system, IntelliDiary, based on this framework to show how the framework is used and how the characteris- tics of the framework enhance the functions of distributed applications. 1. Introduction As the popularity of worldwide networks such as the Internet increases, there are more and more opportunities for people to collaborate with each other over networks. Using communication through such networks, people can work as a team to complete projects even when they do not see each other face to face. For example, some people are now engaging in temporal team activities such as virtual corporations and virtual enterprises. In these activities, people make a temporary team and cooperate with each other for a common pur- pose. The members of a team can be members of different sections or even competing companies. As computers and communication through net- works become faster, new types of collaboration over networks are appearing. To enable teamwork over networks to be conducted more smoothly and effectively, various types of groupware are need- ed to support collaboration over networks. The client-server technology can be applied to construct such kinds of groupware. The client- server framework consists of a server which of- fers services and clients which request and use the services of the server. Servers and clients are not equal to each other in terms of functions. Using this framework it is quite simple to design and implement a system over networks. Howev- er, it is insufficiently flexible for applications over practical networks having many servers, for ex- ample, the Internet. To enable these servers to collaborate, a single entity is required to flexibly change its behavior depending on its situation so that it behaves as a server in some cases and as a client in other cases. Application systems over networks require such a flexible feature since each application system simultaneously offers its own services and requests services offered by other systems. To achieve this feature, the client-serv- er technology is not sufficient. The multi-agent technology provides a frame- work which enables a system to behave as a serv- er or a client according to the situation. In this framework, a distributed system is regarded as a collection of units called agents. Agents are au- tonomous and have their own objectives. Servic- es of a system are realized by collaboration among its agents to achieve their own objectives. Agents offer services and request other agents to perform tasks. The autonomy of the agents makes them independent of each other; they have their own objectives and local states. With this feature, an agent can refuse to offer its services if the requests from other agents are likely to be impossible or do not fit its objectives. Agents do not simply send messages and requests to each other but negoti- ate with each other through communication to achieve their goals.

Upload: buitu

Post on 10-Aug-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

196 FUJITSU Sci. Tech. J.,33,2,pp.196-210(December 1997)

UDC 001.81: 681.3

A Multi-Agent Approach to a DistributedSchedule Management System

VYuji Wada VMasatoshi Shiouchi VYuji Takada(Manuscript received June 11,1997)

More and more people are engaging in cooperative team activities over worldwidenetworks such as the Internet. The multi-agent technology is a framework suitable forconstructing distributed applications to support these activities. Systems based onthis framework have the necessary autonomy, independency, flexibility, and extensi-bility. We have focussed on the distributed schedule management, which is a typicalapplication of the multi-agent technology. We have developed a system, IntelliDiary,based on this framework to show how the framework is used and how the characteris-tics of the framework enhance the functions of distributed applications.

1. IntroductionAs the popularity of worldwide networks such

as the Internet increases, there are more and moreopportunities for people to collaborate with eachother over networks. Using communicationthrough such networks, people can work as a teamto complete projects even when they do not seeeach other face to face. For example, some peopleare now engaging in temporal team activities suchas virtual corporations and virtual enterprises. Inthese activities, people make a temporary teamand cooperate with each other for a common pur-pose. The members of a team can be members ofdifferent sections or even competing companies.As computers and communication through net-works become faster, new types of collaborationover networks are appearing. To enable teamworkover networks to be conducted more smoothly andeffectively, various types of groupware are need-ed to support collaboration over networks.

The client-server technology can be appliedto construct such kinds of groupware. The client-server framework consists of a server which of-fers services and clients which request and usethe services of the server. Servers and clients arenot equal to each other in terms of functions.Using this framework it is quite simple to designand implement a system over networks. Howev-er, it is insufficiently flexible for applications over

practical networks having many servers, for ex-ample, the Internet. To enable these servers tocollaborate, a single entity is required to flexiblychange its behavior depending on its situation sothat it behaves as a server in some cases and as aclient in other cases. Application systems overnetworks require such a flexible feature since eachapplication system simultaneously offers its ownservices and requests services offered by othersystems. To achieve this feature, the client-serv-er technology is not sufficient.

The multi-agent technology provides a frame-work which enables a system to behave as a serv-er or a client according to the situation. In thisframework, a distributed system is regarded as acollection of units called agents. Agents are au-tonomous and have their own objectives. Servic-es of a system are realized by collaboration amongits agents to achieve their own objectives. Agentsoffer services and request other agents to performtasks. The autonomy of the agents makes themindependent of each other; they have their ownobjectives and local states. With this feature, anagent can refuse to offer its services if the requestsfrom other agents are likely to be impossible ordo not fit its objectives. Agents do not simply sendmessages and requests to each other but negoti-ate with each other through communication toachieve their goals.

Page 2: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

197FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

However, despite these features of the multi-agent framework, it is not so clear how the frame-work can be used to construct a distributed sys-tem. In our current work, we have focused ondistributed schedule management, which is a typ-ical application of the multi-agent framework. Inthis paper, we describe the benefits of the multi-agent technology and how the technology is ap-plied to design and implement our IntelliDiarysystem. Finally, we describe which kinds of ser-vices are provided and how these services are re-alized in our system.

2. Distributed Schedule Management andIssues Regarding the Client-ServerTechnologyDistributed schedule management involves

arranging group schedules such as group meet-ings among a group of persons whose schedulesare managed in a distributed manner. Arranginggroup schedules means finding mutually unoccu-pied times and dates among attendees of theschedules.

It is described in Ref.1) that most schedulingsystems over networks which are commerciallyavailable are based on the client-server frame-work. Such systems perform centralized manage-ment of schedule data or a centralized control toarrange group schedules. A server is a systemwhich performs this type of centralized manage-ment for an entire system. A server manages theschedules of all users and information about whocan use its schedule management service. There-fore, clients do not have to perform complicatedtasks to manage schedules. Clients communicateonly with their server to access services. In otherwords, clients form bridges between users andtheir server to access the schedule managementservice. Without a server, clients cannot offer anyservice by themselves. Even for manipulating per-sonal schedules of a user, his client has to ask itsserver to access the schedules. This style is veryconvenient when a system is working on a localarea network (LAN) such as an intranet or pri-

vate network inside a company. As almost all ser-vices are offered by a single server, the overallsystem works fine as long as its server is main-tained properly. To use a distributed schedulemanagement service, all the user needs to do is tostart up their clients to access a server.

However, in a client-server framework, cli-ents always require their server. This is a draw-back when a system works over a wide area net-work (WAN) such as the Internet. As a WANspreads worldwide, communication over the net-work is often slow and unreliable. Under suchenvironment, clients cannot always find their serv-er and their responses to their users tend to beslow because of the slow and unreliable commu-nication between clients and their server. More-over, all clients communicate with a single server.As a result, servers tend to be heavily loaded andthe communication between clients and their serv-er becomes a bottleneck of the overall system.

Privacy of schedules is a primary issue ofschedule management systems. If systems can-not properly control the privacy of users’ sched-ules, users will never use the systems. The client-server framework assumes a server which controlsthe behavior of the whole system in a centralizedmanner. In other words, how privacy is main-tained in the system mainly depends on the serv-er. The privacy of users’ schedules is controlledby managers of the server, and users should ac-cept these managers. This is not such a criticalproblem if a system is for intra-company use.Recently, however, inter-company team activitiessuch as virtual corporations and virtual enterpris-es are becoming popular. To effectively supportsuch kinds of inter-company activities using net-works, the members of a team can have an on-line meeting over networks and schedules for theirproject can be managed over networks. To achievethis, schedule management and arrangement ser-vices are required. However, the client-serverframework is not suited to managing schedulesthat belong to personnel of different companies.If a server is introduced to manage schedules, the

Page 3: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

198 FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

participants will hesitate to register their entireschedules because they could contain importantinformation that must not be leaked to peopleoutside their own company. Thus, group sched-ules such as group meetings cannot be arrangedproperly with a system which has a server.

Another important feature is scalability ofthe system. To allow users to create group sched-ules with any other user, a system should be ableto dynamically coordinate schedules among arbi-trary users on demand. Scalability is an impor-tant feature for a distributed schedule manage-ment system to dynamically coordinate andarrange schedules among arbitrary users. More-over, the topology and scale of worldwide networksare constantly changing. As a result, it is impos-sible to know exactly certain status information,for example, the total number of users, communi-cation delay times, and reachability between com-municating nodes. Every minute, new computersare connected to networks and new users begin tocommunicate through them. At the same time,computers are disconnected from networks andusers stop using networks. Users of such networkscannot always expect to communicate with othercomputers and other users, and systems workingover the networks must work independently ofother systems. In the client-server framework,communication with a server is indispensable forclients to offer any service. When new users be-gin to use a system, its server should be reconfig-ured to allow the new users to use the system.This makes the client-server framework difficultto apply to dynamic networks. A distributedschedule management system is needed to flexi-bly adapt to dynamics such as changes in the num-ber of users and work by itself without requiringthe services of other systems.

There are many services available over net-works, for example, ticket reservation, hotel res-ervation, flight schedule information. After reg-istering business trip schedules, some users wantto access these information and reservation ser-vices. To offer these services, a schedule manage-

ment system should be able to collaborate withother kinds of systems. Otherwise, the system it-self should offer such services. In the client-serv-er framework, a system offers only the same ser-vices as its server does. Users cannot accessservices which are not offered by the server. Inthe case where a server does not offer a serviceand cannot collaborate with other servers, theserver should be modified to support the service.Generally speaking, modifying a server takes someamount of time and affects many of the users whoaccess the server. Furthermore, such kinds of newinformation and reservation services are going tobe offered over networks every moment. To effec-tively access these services, a system must havehigh extensibility to enable easy adaptation tochanges of cooperation with other systems.

3. The Multi-Agent Technology3.1 Features of the Multi-Agent

TechnologyThe multi-agent technology2),3) is a framework

suitable for constructing distributed systems overworldwide networks such as the Internet. In thisframework, a system is decomposed into units, andservices of the system are realized by the behaviorof each unit and interactions among units. Eachunit is called an agent. An agent has its own objec-tives and acts to complete its objectives autono-mously and independently of other agents. An agentoffers its services to its user and to other agents,and at the same time, the agent uses services ofother agents. When an agent finds that coopera-tion with other agents is necessary to complete itsobjectives, it looks for other agents to cooperatewith. Agents do not simply collaborate, but negoti-ate with each other. The agents that are asked forhelp can decide whether or not to support the ask-ing agent, depending on their situations.

The notion of an agent is not fixed yet. There-fore, an agent can have many features dependingon the situation in which it is used. We focus main-ly on autonomy, independency, and cooperability.With autonomy and independency, systems based

Page 4: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

199FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

on the multi-agent framework do not require thecentralized management and control necessary inthe client-server framework. Moreover, autono-my and independency enhance extensibility of thesystem and the privacy of the information man-aged by a system. Cooperability enables the sys-tems to dynamically construct temporary relation-ships with other agent systems for collaboration.

A system with the multi-agent frameworkconsists of many kinds of autonomous agentswhich perform various tasks to complete their ob-jectives and offer their services. Each agent worksindependently without being aware of the exist-ence of other collaborating agents. In this frame-work, centralized management of data and sharedinformation among agents are not necessary atall. Agents need to be aware of the existence ofanother agents only when they request the ser-vices of that agent. If they find other agents whichare cooperative, they can access the services ofthose other agents. Even if they cannot find oth-er agents, agents offer their own services whichdo not require collaboration with other agents.When starting cooperation, no agent and no sys-tem intercede with agents and no information isshared among agents. Any agent can coordinatecollaboration among agents, and the collaborationis performed through communication betweenagents involved.

An agent can protect its local states and in-formation from other agents. Each agent manag-es its local data independently of other agents, andthis local data are manipulated only by the owneragent. The only way to access information main-tained inside other agents is through communi-cation among agents. Even if an agent is asked tocooperate by other agents, the asked agent auton-omously decides whether or not it will help theother agents based on the intentions of its user.When an agent receives a request to access infor-mation it has, the requested agent can reject therequest if its user does not allow the requestingagent to access the information. In this way,agents can autonomously control accessibility to

their own local states and information by sievingreceived requests.

An agent dynamically establishes temporaryrelationships to cooperate with other agents. Ba-sically an agent performs its tasks autonomouslyand independently. When collaboration with oth-ers is found to be necessary to achieve a task, anagent looks for cooperative agents by sending mes-sages. If cooperators are found, the agent estab-lishes cooperative relationships with them. Agentsare scalable; that is, they can dynamically decidewhich agents they will collaborate with and tem-porarily establish cooperative relationships withthose agents on demand. New users can easilybegin to use a system by starting up their ownagents, and existing users can easily stop using asystem by terminating their own agents. There isno difference between previously existing agentsand newly joined agents, and no agent is adverse-ly affected by an increase or a decrease in the num-bers of users. That is, the whole system is scal-able. Scalability is an important requirement fora system which works over worldwide networks.

Since agents are quite independent, eachagent can modify its services without significant-ly affecting other agents. In principle, each agentacts by itself and communicates with other agentson demand. If an agent modifies its behavior toextend its ability, the effect of the modification islocalized into communication parts of other agents.That is, agents communicating with the modifiedagent have only to modify the behavior of theirmessage handling parts to use the modified ser-vices. Each agent can also add new services andeven new agents can be introduced into the sys-tem in the same way. These effects are also local-ized into the communication parts of other agentsfor the new services. Autonomy and independen-cy provide high extensibility of the system itself.

3.2 Application to DistributedSchedule ManagementAgent-based schedule management systems

have already been reported in Refs.4) and 5). How-

Page 5: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

200 FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

ever, they assume centralized management of us-ers’ schedules. Centralized management has thesame problem with privacy of schedules as the cli-ent-server framework. Most systems based on themulti-agent framework can control privacy.1),6)-8)

They arrange meeting schedules in cooperationwith the agents of the attendees. However, theydo not discuss about extensibility and cooperabil-ity with other agent systems. We show that themulti-agent framework can enhance these featureswith autonomy, independency, and cooperability ofagents.

When the multi-agent technology is appliedto construct a distributed schedule managementsystem, the system is designed to consist of manykinds of agents. In such a system, an agent man-ages the schedules of its user autonomously andindependently of other users’ agents. Agents donot share any information between themselves.Unlike the client-server framework, the agents donot need a server which centrally controls thewhole system and offers almost all of the servicesof the system. Instead, each agent manages theschedules of its user and communicates with oth-er agents to collaborate, for example, when groupschedules are arranged. Group schedules areschedules of events to which many users are ex-pected to attend. To arrange such schedules, anagent must communicate with the agents of theattendees to negotiate whether the schedules areto be registered. The agent which starts the reg-istration of a group schedule takes the initiativein negotiating for the registration. The initiatingagent arranges the schedule in collaboration withthe attendees’ agents through communication.

Since the schedules of a user are managedby his agent and every agent can be an initiatingagent to arrange group schedules, there is no agentand no system which always behaves as a serverin the client-server framework, where the serveroffers services to manage personal and groupschedules in a centralized manner. Autonomy andindependency of agents enable a system to workwithout such a server.

An agent protects the schedules of its userfrom being referred to, registered, deleted, or mod-ified by other agents directly. When a user ac-cesses the schedules of another user, his agentsends a request to the agent of the accessed user.The requested agent checks who sent the requestand judges whether the requesting user is allowedto refer to its schedules based on the intentions,preferences, or instructions of its user. In otherwords, users can easily control the privacy of theirschedules with their responsibilities. This alsomeans that users are personally responsible iftheir agents allow an access by a person to whomthe user does not wish to permit access. Again,no server is required for the overall system andeach agent works as an independent schedulemanagement system. It is not necessary for allagents to be executed on the same machine, andthere is no server and no information sharedamong agents. With the multi-agent framework,each user can control the privacy of his schedulesindependently of other users.

An agent dynamically finds agents withwhich to collaborate to refer to the schedules oftheir users or to arrange group schedules withtheir users. When a user asks its agent to per-form a task which requires collaboration with oth-er agents such as arranging group schedules, theagent establishes cooperative relationships withthe agents on demand. Such relationships are onlytemporary, and an agent creates new relationshipswith the appropriate agents whenever a new re-quest to manipulate schedules is processed.Agents have such scalability as to flexibly estab-lish cooperative relationships with appropriateagents on demand. The number of agents is notmentioned in the discussion above since this doesnot matter in the multi-agent framework. A sys-tem with the multi-agent framework does not as-sume a static configuration of agents. An agentdynamically decides which agents to communicatewith for collaboration according to requests of itsuser. Agents enable a system to flexibly adapt tochanges in the number of agents.

Page 6: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

201FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

New features are easily introduced into a sys-tem based on the multi-agent framework. Thereare two ways to do this: extending existing agentsor adding new agents. Because of the indepen-dency of agents, the effects of extending existingagents to offer new features and adding newagents are localized into the communication partsof agents which use the new features. The addi-tion of new agents enables, for example, collabo-ration with other kinds of systems. As there aremany services available over networks, a systemworking over such networks is likely to be request-ed to extend its features to use those services. Inthe case of a distributed schedule managementsystem, the system will be extended to support aservice for accessing information such as cinemainformation, flight information, or hotel informa-tion. To support such services, intermediatoragents are introduced into the system to makebridges to other systems. Intermediator agentsenable agents and other systems to communicatewith each other by converting protocols and mes-sage formats and forwarding the converted mes-sages. When an agent accesses a service of a sys-tem, it sends a requesting message in its formatto its intermediator agent. The intermediatoragent converts the format of the received messageto the one understood by the accessed system, andthen forwards the converted message to the sys-tem. When receiving the reply, the intermediatoragent converts the format of the reply to the oneunderstood by the original sender, and then for-wards the converted message to the sender. Inthis way, a system can collaborate with other sys-tems. From the point of view of such a system, anintermediator agent for another system behavesthe same as any other agent in the system, whichsend and receive messages in the format of thesystem and offer services accessible through com-munication. From the point of view of the othersystem, an intermediator agent for it behaves asa client which accesses its services by sending andreceiving messages in its format. Intermediatoragents make bridges between a system and other

systems in a simple and smart way. Thus, a sys-tem with the multi-agent framework can havehigh extensibility and can easily cooperate withother systems.

The multi-agent technology has some draw-backs compared with the client-server technolo-gy. In the client-server technology, all services ofa system are provided by its server. Users arerequested to install and start up their clients toaccess the services of the server. Services are suc-cessfully accessed as long as the server is proper-ly maintained. Therefore, users do not have tomaintain the system. Moreover, clients commu-nicate only with their server. They do not com-municate with each other since the server doeseverything for its clients. In the multi-agent tech-nology, the services of a system are provided byeach agent. Users must install and start up theiragents to utilize the services. Users must main-tain their agents to successfully access their ser-vices. Since agents are autonomous and indepen-dent, communication is indispensable for collabo-ration between agents. Consequently, agents re-quire more communication than in the client-serv-er framework when cooperation among agents isnecessary.

Table 1 summarizes a comparison of the multi-agent framework and the client-server framework.

Table 1. Comparison of the multi-agent framework andthe client-server framework

Client-Server Multi-Agent

Centralizedor distributed Centralized Distributed

No Yes

Fair Good

Low High

Fair High

Low Medium

Low Medium

Independency

Privacy

Scalability

Extensibility

Maintenance cost

Communicationcomplexity

Page 7: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

202 FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

4. A Distributed Schedule ManagementSystem: IntelliDiary

4.1 Overview of IntelliDiaryOne of the main purposes of our research is

to effectively support cooperative activities overlocal and wide area networks.9) To achieve this,we first chose an example of distributed schedulemanagement over such networks. This is a typi-cal example of applying the multi-agent technolo-gy and evaluating its usefulness. IntelliDiary isa distributed schedule management system whichis designed and implemented as an agent basedon the multi-agent technology. With the frame-work, our system achieves privacy of schedules,scalability, and extensibility.

Each user starts up his IntelliDiary agent,and schedules of a user are managed by his agents.Each agent serves only its own user. If a userpermits, his agent collaborates with the agents ofother users to refer to other users’ schedules or toarrange group schedules.

4.2 How IntelliDiary WorksOur system can be accessed with a WWW

browser such as Netscape. The initial screen showsa calendar of the current month (see Fig. 1).

The “*” mark indicates that there are sched-

ules on the day. If a mouse is clicked on the “Sched-ule List” button, a list of the schedules of themonth are displayed. By clicking on a day with a“*” mark, the schedules of the day are displayed.Figure 2 shows a schedule for a meeting at 13:00in Fukuoka that is displayed when 22nd with a“*” mark is clicked on the screen shown in Fig. 1.The user can edit or remove the schedule.

To arrange group schedules, the user cancheck his current schedules and those of the us-ers who are expected to attend the scheduledevents. The schedules of other users can be ac-cessed by clicking on the Other Users button andspecifying their names. In Fig. 3, two users“demo@bishop” and “wada” are specified. Whenthe “Go!” button is clicked, the calendars of themonth for the specified users are displayed in thesame way as in Fig. 1. To make it easy to compareschedules of multiple users and find available timeperiods among them, their schedules for the dayare aligned as shown in Fig. 4. After finding thefree time of the attendees, a group schedule is cre-ated by specifying the names of all attendees asshown in Fig. 5. A schedule contains the follow-ing information: the date, start and end time, lo-cation of the event, attendees, subject, notes, andprivacy. The privacy information specifies who is

Fig.1– Calendar of the current month. Fig.2– A schedule of a day.

Page 8: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

203FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

allowed to access the schedule. In Fig. 5, “Private”and “Public” can be selected. “Private” means thatthe schedule is private and no one but the ownercan access it. “Public” means that the schedule isaccessible by everyone.

If all attendees to a schedule can register theschedule, it is registered to the IntelliDiarys ofthe attendees. If the schedule causes double book-ing against existing schedules, it is rejected. Then,our system proposes available time periods anddates of the attendees. Figure 6 shows the screendisplayed when a double booking is detected.

When accessing to other users’ schedules, auser specifies whose schedules he is going to ac-cess to. To specify a user, the name of his Intel-liDiary agent is used. If a user is “foo”, then hisagent can be specified with the name of “foo”. Asthere are many people on networks, different us-ers could have the same name. To avoid this prob-lem, our system adopts the E-mail style specifica-tion of users. If a user is “foo” and his schedulesare managed on a computer named “bar.some.domain”, his agent is specified with the name“[email protected]”. Inside our system, anagent name is prefixed with “IntelliDiary_”, so theagent name of a user “[email protected]” is“[email protected]”. However,

Fig.3– Specifying other users.

Fig.4– Day schedules of multiple users.

Fig.5– Form of a schedule. Fig.6– Available time periods and dates.

Page 9: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

204 FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

users are requested to specify only the names ofusers with whom to interact. When the names ofusers are specified, our system automaticallytransforms them into the names of the agents withwhich to collaborate. To make it easy to specifylong names or repeatedly specify the same groupsof users, our system has the same alias facilitythat is used in the E-mail system. Users can de-fine and use their own aliases for the names ofother users.

IntelliDiarys exchange messages in theKQML10) format. Basically, KQML defines a pro-tocol for communication and a format of messag-es: what kinds of messages are to be used for re-quests, what kind of information should beincluded in messages, how information is arrangedin messages, and so on. All agents understandKQML messages and communicate with each oth-er in such a uniform manner. When new agentsare introduced into our system, they can commu-nicate with existing agents if they understandKQML messages. The uniformity in communica-tion enhances the simplicity of communicationamong agents and the extensibility of our Intel-liDiary system.

4.3 Features of IntelliDiaryIntelliDiary has many features to manage us-

ers’ schedules over networks. We describe how priva-cy of schedules is managed and how group schedulesare arranged while maintaining privacy. Collabora-tion with other agent systems is also described. Fi-nally, we explain the alias facility for user names.- Privacy

Privacy of schedules is controlled by Sched-ule Manager acccording to the intentions of itsuser. Figure 5 shows the screen used to registernew schedule events. The last attribute “Private?”specifies the privacy of the schedule. If “Private”is selected, the schedule is exported only to itsowner. If “Public” is specified, the schedule is pub-lished to all users. When a user refers to otherusers’ schedules or when group schedules are ar-ranged, accesses to other users’ schedules are nec-

essary. There is a trade-off between convenientfacilities and privacy of schedule. Our system al-lows its user to specify which schedules are pri-vate and which are public. The contents of a pri-vate schedule such as when it starts and ends,location, attendees, and purpose, are exported onlyto its owner. As a default policy of our system,other users are allowed to obtain information suchas whether a new schedule has been successfullyregistered into the schedules of a user and whena user is free. With such information, IntelliDi-ary arranges group schedules and finds availabletime periods and dates of users.- Group schedules

Group schedules are schedules which havemore than one attendee. Users create a groupschedule by specifying its attendees as the “At-tendee” attribute shown in Fig. 5. To register agroup schedule, the IntelliDiarys of all attend-ees cooperate with each other. The IntelliDiarywhich is trying to register a group schedule coor-dinates the registration. If an IntelliDiary of anattendee causes double booking, the schedule isnot registered. In this case, the initiating agentasks all of the attendees’ agents to get the timesand dates near to the originally planned time slotfor which the attendees have no schedule.

Such collaboration among IntelliDiaryagents is dynamically achieved when a groupschedule is going to be registered. At first, a userspecifies some users as attendees to a group sched-ule. His agent coordinates arrangement of theschedule by sending messages to the attendeesand asking for the collaboration. From the pointof view of the coordinating agent, it establishestemporal relationships between the attendees’agents. Each relationship is similar to the rela-tionship in the client-server framework. In thiscase, the coordinating agent behaves as a serverwhich offers an arrangement service of groupschedules and the agents of its attendees are cli-ents which utilize the service. In our system, ev-ery agent can be a coordinator of a group sched-ule. That is, every user can create a group

Page 10: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

205FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

schedule. Moreover, attendees to a group sched-ule are dynamically specified when the groupschedules are registered. Therefore, all IntelliD-iary agents are designed to behave as a serverand a client and to establish client-server rela-tionships among agents on demand.- Collaboration with other agent systems

With our system, users can access the ser-vices of SAGE.11) SAGE is an agent oriented sys-tem which allows access to public information suchas flight schedules, hotel reservation information,train ticket information, and so on. Since this in-formation is useful for planning schedules, collab-oration with SAGE enables IntelliDiary to offermore convenient schedule management services.Also, through cooperation with DUET,12) the cur-rent location of a user can be detected. DUET of-fers an agent based support for personal commu-nication under various situations. It sensescurrent information about a user, such as the us-er’s location, communication capabilities, and soon. Based on this information, DUET decides howto communicate among users. By using the cur-rent location information of a user offered byDUET, IntelliDiary offers a smart navigationservice13) which, for example, automatically noti-fies the user about schedules that the user hassufficient time to travel to.

Collaboration with these systems is achievedby introducing an agent called an intermediator.Intermediators of SAGE and DUET enable oursystem to communicate with these systems. In-termediators converts protocols and message for-mats properly. Intermediators understand mes-sages in the format used in our system. When anintermediator for a system communicates withagents in our system, it acts on behalf of that sys-tem and provides access to its services. An inter-mediator for a system also behaves as a clientwhich accesses the services of the system throughcommunication with messages in the format of thesystem. When IntelliDiary cooperates with newsystems, our system can be extended by introduc-ing intermediators for them.

- Aliases for user namesWhen specifying other users, IntelliDiary

requires a name such as “[email protected]”,which means IntelliDiary of “foo” is on a machinenamed “bar.some.domain”. To make it easier tospecify a user, the user can define a simple aliasfor users and then use the alias instead of the fullname of the users. An alias can also be definedwith names of users and of aliases themselves.

4.4 Configuration of IntelliDiaryEach user starts up his own IntelliDiary to

maintain schedules, and IntelliDiarys collabo-rate with each other to access other users’ sched-ules or to arrange group schedules. From a mac-roscopic point of view, each IntelliDiary is anagent which constructs a distributed schedulemanagement system.

Personal schedules are managed by each In-telliDiary agent, and group schedules are ar-ranged in cooperation with those of the attendees.

IntelliDiary consists of many agents whichhave their own objectives and offer various func-tions to each other. The services of each Intel-liDiary are realized through a combination of thebehavior of the agents and interactions amongthem. Figure 7 shows the internal configuration

Fig.7– Internal configuration of IntelliDiary.

Page 11: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

206 FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

of our system and the agents which play main rolesin our system.- Supervisor agent

Supervisor behaves as an interface to otherIntelliDiary. All incoming messages from otherIntelliDiarys are received by this agent. WhenSupervisor receives a message, it interprets itscontents, creates new messages according to thecontents, and sends the new messages to the ap-propriate agents in the system. All incoming mes-sages are delivered to Supervisor since only itsname is exported to other IntelliDiarys in orderto be used for communication. That is, messagesto “IntelliDiary_foo” are delivered to the Supervi-sor of foo’s IntelliDiary and there is no othername which can be used to communicate withagents of foo’s system.- Schedule Manager agent

Schedule Manager manages schedule data byusing Negotiator, Conflict Solver, and DB Manag-er. All requests which need to access scheduledata, such as for referring to, creating, deleting,or modifying schedules, are sent to Schedule Man-ager. To cooperate with other users, users are re-quested to export information such as whethernew schedules have been successfully registeredand the time periods and dates when the user isavailable. Unless information is exported to oth-er users, it is impossible to properly arrange groupschedules. However, users hesitate to publish allof their information since there can be privateschedules maintained with our system. There istherefore a trade-off between the convenience ofgroup schedules and the need for privacy of sched-ules. In our system, users can specify which sched-ules are private or public. As a default policy, In-telliDiary exports information such as whethernew schedules cause double booking and when itsuser is free. Schedule Manager checks who is al-lowed to access its schedules based on informa-tion included in each schedule.- Negotiator agent

Registering new schedules can cause doublebooking; that is, more than one schedule occupies

the same time period. If a new schedule is foundto cause double booking, it is not registered andIntelliDiary notifies its user of the double book-ing and the times and dates when the attendeeswill be free. Negotiator checks whether new sched-ules will cause double booking with existing sched-ules. To check the schedules of its own user, Ne-gotiator asks DB Manager to access the scheduledata it manages. If a new schedule is a groupschedule, Negotiator of the user who is going toregister the schedules takes the initiative in ne-gotiating with the attendees’ IntelliDiarys. Tocheck the schedules of other users, Negotiatorsends messages to the attendees’ systems to ar-range group schedules through collaboration. Asmentioned above, these messages are received viathe Supervisors of the attendees’ systems. If thesystem detects double booking against the sched-ules being registered, the schedules is not regis-tered and Conflict Solver calculates the availabletime periods and dates of the attendees.

The negotiation process is not complicated.First, an agent registering a new schedule checksthe schedules of its user to see whether the sched-ule will cause double booking. Then, if the sched-ule has multiple attendees, the agent asks theother attendees’ agents to perform similar checks.- Conflict Solver agent

IntelliDiary itself does not resolve doublebooking. When double booking is detected, oursystem proposes available time periods and datesaround the originally planned date. To resolvedouble booking, one or more schedules need to becanceled or moved to other time periods and dates.In general, it is not so easy to decide which sched-ules a user will allow to be cancelled or moved.Moreover, moving schedules can cause other dou-ble booking. If there are free times and dates andattendees agree with the schedule being moved,double booking is easily resolved. Otherwise, dou-ble booking presents many difficulties.

Conflict Solver finds the available time peri-ods and dates of attendees in collaboration withtheir IntelliDiarys. The collaboration is done in

Page 12: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

207FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

the same way as when registering new groupschedules. The Conflict Solver of a user who triesto register a rejected schedule takes the initiativein cooperation with the attendees’ IntelliDiarys.The initiating agent finds the times and dates byaccessing the schedules of its user that are man-aged by DB Manager. Then, the agent asks theattendees’ agents for the attendees’ free time slots.The attendees’ agents do not tell contents of theirschedules to maintain privacy of their users’ sched-ules but tell free times and dates of their users asa default policy. After collecting this information,the initiating agent finds the time slots for whichall the attendees are free.

Our system adopts a simple method to findavailable time periods and dates. First, an initi-ating agent asks agents of attendees to find outwhen their users are free. Then, it collects theresults from these agents. Then, using the results,the initiator finds the time slots for which none ofthe attendees have any booking.- DB Manager agent

DB Manager maintains its schedule datausing a database engine. DB Manager encapsu-lates the database engine it uses. There can bedifferences between database engines, for exam-ple, they may use different protocols and opera-tions to manipulate data. This is not a problemhowever since DB Manager encapsulates the da-tabase engine it is using by providing the agentsof its system with a uniform interface so they canmanipulate schedule data without being aware ofa concrete database engine used.- Display Controller agent

IntelliDiary is expected to be used in vari-ous kinds of environments, for example, it can beused on a powerful workstation with sophisticat-ed graphics or on a portable terminal with a sim-ple character display. To adapt to these differenc-es, the user tells Display Manager which type ofterminal is used. Then, Display Controller adjuststhe way information from IntelliDiary is dis-played according to the information from the user.In the current version of IntelliDiary, three types

of user interfaces are provided. The first is a char-acter based display for terminals with only sim-ple graphics abilities. Schedules are displayed inthe text format using new lines, tabs, symbol char-acters, and so on. The second is a WWW browserbased display for users who use IntelliDiary ser-vices via networks. WWW browsers are gettingcommon as navigation tools over networks andmany services are already accessed with suchtools. The last is an X window based display forcomputers running the X Window system.- Intermediator agent

SAGE Intermediator and DUET Intermedi-ator are Intermediator agents which make bridg-es to SAGE and DUET so that their services canbe accessed.

4.5 Future DirectionsTo construct a distributed system, there are

many issues to be solved, for example, privacy con-trol for the information maintained by the sys-tem, flexibility and scalability, and extensibilityfor easy collaboration with other systems. To solvethese issues using the multi-agent framework, wefocused on a typical application of the frameworkand constructed a distributed schedule manage-ment system called IntelliDiary based on theframework. As has been described in previous sec-tions, IntelliDiary solves these issues using theframework. As a result, the configuration of oursystem is suitable for a WAN such as the Inter-net. There are various possibilities to extend oursystem and some of them are being investigated.- Mobile environment

As a portable PC with networks through aportable handy phone is going to be widely usedthese days, cooperative activities under mobile en-vironment are desired to be supported by distrib-uted tools like IntelliDiary. A key characteristicof the mobile environment is network availabili-ty. Under mobile environment, the agents work-ing on the computers are sometimes unable tocommunicate with other agents since mobile com-puters can become disconnected from networks.

Page 13: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

208 FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

Therefore, to adapt to a mobile environment,IntelliDiary has a dual configuration.13) As shownin Fig. 8, Ego and Atten Ego play main roles inadapting to the mobile environment. Ego is anagent with all the functions of IntelliDiary andmust be run on a machine which is permanentlyconnected to a network. In most cases, Ego be-haves as an IntelliDiary agent which managesthe schedules of its user. Alter Ego is an agent withthe functions required for IntelliDiary to man-age the schedules of its user and works on machineswhich can be disconnected from networks. AlterEgo has a subset of the functions of its Ego and acopy of the schedule data maintained by its Ego.When Alter Ego cannot communicate with its Ego,Alter Ego behaves as an IntelliDiary agent andmodifications to schedule data are saved in AlterEgo. When Alter Ego finds its Ego on a network, itsends the agent the saved history of modifications.In this way, consistency between the schedule dataof Ego and Alter Ego is maintained.- Navigation

IntelliDiary notifies the user about a sched-ule event when the start time of the event is ap-proaching.14),15) Our system uses the current loca-tion of its user to give the notification in a smartway. In collaboration with DUET, the current lo-cation of its user is known. With this informationand the destination where the next schedule is

requested to be performed, the time required tomove from the current location to the destinationis estimated. Then, based on the estimated time,IntelliDiary gives the timely notification to theuser so the user can arrive on time.

The current location of a user is also used tocheck whether schedule is feasible. For example,when new schedules are created, our systemchecks the current time, the current location ofits user, and the start times of the schedules. Ifthere is no time to reach the locations of the sched-ules, a warning message such as “It is impossibleto complete the schedule” is given.- Event information management

The framework of IntelliDiary can be usedto manage various kinds of information that hastime and date attributes. One example of suchmanagement is event information management.For instance, cinemas have their schedules suchas what movies are screened and when they arereleased. By registering such information of eachcinema to IntelliDiary, the screening plans of cin-emas can also be managed with our system. Anevent map of cinemas, which is a collection of in-formation of cinemas, can be dynamically createdin cooperation with IntelliDiarys of cinemas. In-telliDiary collects cinema information in cooper-ation with other IntelliDiarys in the same wayit collects users’ schedules. The only difference isin the contents of the information collected.- Role information management

The alias facility can be extended to managerole information, which identifies users in termsof their roles in organizations, for example, work-er, project leader, manager, and so on. These pub-lic names are regarded as aliases of the person.In that sense, agent can have several names ac-cording to their services. If one agent offers sev-eral services, then the agent can be specified withany of several names, each of which representsits corresponding service. That is, each servicehas its suitable name and these names are alias-es of the agent which offers the services. Role in-formation management makes it possible to spec-Fig.8– Overall configuration of IntelliDiary.

Page 14: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

209FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

ify agent with names that reflect the situationsin which the agents are used without needing toknow their real names.- IntelliTeam project

We are currently working on a project calledIntelliTeam.9) The main aim of this project is tohelp people efficiently cooperate as a team overnetworks. To achieve this, we are designing andimplementing some groupware tools working overnetworks based on the multi-agent framework.IntelliTeam includes a schedule management toolIntelliDiary, a work-flow management tool, a lo-cation information management tool, and so on.These tools are designed to cooperatively workover a WAN such as the Internet.

In this project, IntelliDiary assists in man-aging personal schedules and arranging groupschedules over networks to support cooperativeactivities over networks. With our system the us-ers manage their own schedules independently ofothers and arrange group schedules by collabo-rating with the systems of other users. To achievemore effective support for cooperative activities,IntelliDiary should be able to collaborate withother tools of our project more smoothly and offerconvenient combinations of services.

5. Concluding RemarksIn this paper, we discussed the multi-agent

technology and how the technology can be appliedto design and implement a distributed system.The multi-agent technology is suitable as the baseof a distributed system. Autonomy and indepen-dency enable agents to control the privacy of in-formation maintained in the agents and enhanc-es scalability and extensibility of systems with themulti-agent framework. However, how to con-struct such a system with the technology has notbeen sufficiently explored. We showed how theframework can be used to design and implementa distributed system using an example of a dis-tributed schedule management system called In-telliDiary. We also showed that the frameworkis suitable for constructing systems over a WAN

such as the Internet.The number of people who use computers and

networks is growing rapidly, and cooperative ac-tivities over networks are getting more important.To enhance utilization of the networks and sup-port these activities over the networks, we shouldcontinue to work on the topics addressed in thispaper and find which kinds of services are need-ed and how they can be easily provided using themulti-agent technology.

References:1) Haynes, T., Sen, S., Arora, N., and Nadella,

R.,: An Automated Meeting Scheduling Sys-tem that utilizes User Preferences. The FirstInternational Conference on AutonomousAgents, Feb. 1997, pp. 308-315.

2) Wooldridge, M. and Jennings, N.: IntelligentAgents - Theories, Architectures, and Lan-guages, Vol. 890 of Lecture Notes in Artifi-cial Intelligence. Springer- Verlag, 1995.

3) Wooldridge, M. and Jennings, N.: IntelligentAgents II., Vol. 1037 of Lecture Notes in Ar-tificial Intelligence. Springer-Verlag, 1996.

4) Jennings, N. and Jackson, A.: Agent-basedMeeting Scheduling: A Design and Imple-mentation. Electric Letters, The Institute ofElectric Engineering, 31, 5, pp.350-352(1995).

5) Sandip, S. and Durfee, E.: The Role of Com-mitment in Cooperative Negotiation. Inter-national Journal of Intelligent CooperativeInformation System, 3, 1, pp.67-81 (1994).

6) Sen, S. and Durfee, E.: A Formal Analysis ofCommunication and Commitment in Distrib-uted Meeting Scheduling. The 11th Interna-tional Workshop on Distributed ArtificialIntelligence, 1992, pp.333-344.

7) Sen, S. and Durfee, F.: PashaII-Personal As-sistant for Scheduling Appointments. TheFirst International Conference and Exhibi-tion on The Practical Application of Intelli-gent Agents and Multi-Agent Technology, Apr.1996, pp.523-542.

Page 15: A Multi-Agent Approach to a Distributed Schedule ... · A Multi-Agent Approach to a Distributed Schedule Management System ... of centralized manage-ment for an entire system

210 FUJITSU Sci. Tech. J.,33,2,(December 1997)

Y. Wada et al.: A Multi-Agent Approach to a Distributed Schedule Management System

8) Belakhdar, O. and Ayel, J.: Meeting Sched-uling: an Application for Protocols DrivenCooperation. The First International Con-ference and Exhibition on The Practical Ap-plication of Intelligent Agents and Multi-Agent Technology, Apr. 1996, pp.25-44.

9) McCabe, F. G.: IntelliTeam - managingprojects in the 21st century. FUJITSU Sci.Tech. J., 32, 2, pp.224-237 (1996).

10) Finin, T. et al.: Specification of the KQMLAgent-Communication Language, DRAFTPaper, 1993.

11) Masuda, R. and Maruyama, F.: Ontology forDatabase Access. AAAI 1997 Spring Sympo-sium Series, Mar. 1997.

12) Iida, I., Nishigaya, T., and Murakami, K.:DUET: An Agent-Based Personal Commu-nication Network. IEEE CommunicationsMagazine, 33, 11, pp.44-49 (1995).

13) Wada, Y.., Kawamura, A., McCabe, F.G., Shio-uchi, M., Teramoto, Y., and Takada, Y.: AnAgent Oriented Schedule Management Sys-tem - IntelliDiary. The First InternationalConference and Exhibition on The PracticalApplication of Intelligent Agents and Multi-Agent Technology, Apr. 1996, pp.655-667.

14) Takada, Y., Mohri, T., Ichiki, H., Shiouchi, M.,Wada, Y., and McCabe, F.C.: A Multi AgentModel for Schedule Navigation with LocationInformation. The First International Con-ference on Autonomous Agents, Feb. 1997,pp.532-533.

15) Mohri, T., McCabe, F.G., Wada, Y., and Taka-da, Y.: Using Location Information to GuideScheduling. The Second International Con-ference and Exhibition on the Practical Ap-plication of Intelligent Agents and Multi-Agent Technology, Apr. 1997, pp.532-533.

Yuji Wada received the B.S. and M.S.degrees in Information and ComputerScience from Osaka University in 1990and 1992, respectively.He has been a member of Fujitsu Lab-oratories Ltd. since 1992. His currentresearch interests are the multi-agenttechnology and distributed applications.He is a member of the IPSJ and JSSST.

Yuji Takada received the B.A. and M.A.degrees from the Department of Behav-ioral Science in 1983 and 1985, respec-tively and the Dr. Eng. degree from theDepartment of Information Engineering,Hokkaido University in 1993. Since1985, he has been with Fujitsu Labora-tories Ltd. In 1994 he was a visitingresearcher at the Department of Com-puting, Imperial College, U.K. His cur-rent research interests include multi-

agent systems, distributed computing, groupware, and machinelearning. He is a member of EATCS, IPSJ, JSAI.

Masatoshi Shiouchi received the B.E.and M.E. degrees in Information andComputer Sciences from Kyushu Uni-versity, Fukuoka, Japan in 1985 and1987, respectively.He joined Fujitsu Laboratories Ltd. in1987 and has been engaged in re-search and development of machinetranslation systems, natural languageprocessing, and intuitive search sys-tems. His current research interest is

multi-agent systems. He is a member of the IPSJ.