US20010054105A1 - Message handling method, message handling apparatus, amd memory media for storing a message handling apparatus controlling program - Google Patents

Message handling method, message handling apparatus, amd memory media for storing a message handling apparatus controlling program Download PDF

Info

Publication number
US20010054105A1
US20010054105A1 US09/092,130 US9213098A US2001054105A1 US 20010054105 A1 US20010054105 A1 US 20010054105A1 US 9213098 A US9213098 A US 9213098A US 2001054105 A1 US2001054105 A1 US 2001054105A1
Authority
US
United States
Prior art keywords
agent
service provider
message packet
message
regular
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/092,130
Other versions
US6338081B1 (en
Inventor
Osamu Furusawa
Akifumi Nakada
Toshihiro Suzuki
Hajime Tsuchitani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Assigned to IBM CORPORATION reassignment IBM CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NAKADA, AKIFUMI, SUZUKI, TOSHIHIKO, TSUCHITANI, HAJIME, FURUSAWA, OSAMU
Publication of US20010054105A1 publication Critical patent/US20010054105A1/en
Application granted granted Critical
Publication of US6338081B1 publication Critical patent/US6338081B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0226Mapping or translating multiple network management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor

Definitions

  • This invention relates to a data processing technique, and more particularly, to an improved data processing method for supporting communications among two or more nodes on a network in a distributed computer environment.
  • Such mobile agent makes a contact to other agents in the moved-to place (a mobile agent or a resident agent) and may be served as appropriate.
  • a place is a location provided by a server existing on the network to which the agent moved and which supports a contact among agents and absorbs the differences between the hardwares and between the platforms.
  • the mobile agent technology enables a mobile agent to act as a proxy of a human being in handling jobs such as dynamically adjusting a schedule of internal meetings in compliance with the schedule of attendees and status of reservation of conference rooms and acquiring desired information distributed on the network.
  • a mobile agent 101 or a resident agent 103 in requesting a service to service provider agents 131 , 133 which have an ability to provide a service, inquires a facilitator agent 110 which maintains an agent community 150 residing in that place of a service provider agents 131 , 133 which have an ability of providing a service, and makes a contact to the service provider agents 131 , 133 based on the information obtained from the inquiry.
  • the regular agents 101 , 103 had to inquire for each service provider that corresponds to respective service provider agents 131 , 133 from which the service is received.
  • the regular agent had to build a desired process result based on the process result they received from each service provider.
  • a plurality of different broker agents such as 121 , 123 are provided which are customized to problem areas for processing, such as distributing and integrating tasks which are the requests from regular agents.
  • the broker agents 121 , 123 inquire the facilitator agent 110 , receive a list of service provider agents 131 , 133 which are relevant to their own jobs, and retain the list.
  • the broker agent 121 which receives a message packet requesting a mediation of a job from the regular agent 101 determines the outline of the requested job by analyzing the message packet and sends it to a service provider agent which retains it as a list after certain conversion.
  • the broker agent 121 receives a reply from the service provider agents 131 , 133 and transmits it to the regular agent 101 after certain conversion.
  • a message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
  • converting a message packet shall mean a concept which includes, beside replacing a part of data of a message packet(e.g., message type or ontology, in the preferred embodiment of this invention) with other data, extracting a part of data of a message packet(such as content in the preferred embodiment of this invention) and adding data to a message packet(including forward processing to generate a message packet which has a message packet in the preferred embodiment of this invention as a content).
  • sending a message packet to a service provider agent shall mean a concept which includes, for instance, not only sending from a sender directly to a service provider agent but also indirectly sending by utilizing other resources including a facilitator agent.
  • service provider agent specifying information shall mean all information which enables access to a service provider agent and includes an agent name, object class name and address name as well as a combination thereof.
  • service provider agent classification information shall mean all information which specifies the class of services provided by a service provider agent, and is a concept including all information which identify an interpreter, a translator, a conversation check routine, a format check routine, an interpretation execution routine and an execution routine that are held by a service provider agent. In the preferred embodiment of this invention, this is a concept which corresponds to an ontology information, a category information, a subcategory information, a message type information and a describing language information as well as a combination thereof.
  • a message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
  • a message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
  • a message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
  • a message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a broker agent which retains a broker advertise table for maintaining a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said method comprising the steps of;
  • a message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a broker agent which retains a broker advertise table for maintaining a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said method comprising the steps of;
  • a message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
  • a message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
  • a message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of,
  • a community system which processes a message packet sent from a regular agent, said system comprising;
  • a community system which controls a plurality of service provider agents for processing a message packet sent from a regular agent, said system comprising;
  • a community system which processes a message packet sent from a regular agent, said system comprising;
  • an agent community system comprising;
  • an agent community system comprising;
  • an agent community system which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet, and a facilitator agent for maintaining a service provider specifying information and a service provider classification information, said system comprising;
  • means for sending data including the content of said message packet to said available service provider agent.
  • an agent community system which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet, and a facilitator agent for maintaining a service provider specifying information and a service provider classification information, said system comprising;
  • a message processor comprising an agent community system which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet, and a broker agent retaining a broker advertise table which maintains a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said system comprising;
  • (b) means for determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to said broker advertise table, and
  • means for sending data including the content of said message packet to said available service provider agent.
  • a message processor comprising an agent community which comprises a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said processor comprising;
  • means for specifying a service provider agent corresponding to said determined service provider agent classification information
  • (e) means for sending said converted message packet to said corresponding service provider agent.
  • a message processor comprising an agent community which comprise a regular agent for sending a message packet and requesting to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said processor comprising;
  • means for sending said converted response message packet to said regular agent.
  • a recording media which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising;
  • a program code for instructing said message processor to send data including the content of said message packet to said available service provider agent.
  • a recording media which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising;
  • a recording media which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a broker agent retaining broker advertise table which maintains a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said program comprising;
  • a program code for instructing said message processor to send data including the content of said message packet to said available service provider agent.
  • a recording media which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet and requesting to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising;
  • a recording media which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet and requesting to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising;
  • a program code for instructing said message processor to send said converted response message packet to said regular agent.
  • a recording media which retains a broker advertise table for maintaining a service provider agent specifying information which specifies a service provider agent having a predetermined service provider agent classification information among a plurality of service provider agents which process message packets sent from regular agents.
  • a recording media which includes a broker agent for;
  • FIG. 1 schematically shows an agent community where the agent of this invention operates.
  • FIG. 2 is a block diagram showing one embodiment of the hardware configuration of one node on a distributed network which comprises the agent community of this invention.
  • FIG. 3 schematically shows an example of a message packet of this invention.
  • FIG. 4 is a schematic diagram showing an operational condition of each agent in a preferred embodiment of this invention.
  • FIG. 5 is a schematic diagram of a facilitator advertise table 151 and a broker advertise table 141 in a preferred embodiment of this invention.
  • FIG. 6 is an object interaction diagram among the components in a preferred embodiment of this invention.
  • FIG. 7 is an object interaction diagram among the components in a preferred embodiment of this invention.
  • FIG. 8 is an object interaction diagram among the components in a preferred embodiment of this invention.
  • FIG. 9 is a schematic diagram of a structure of the broker agent in a preferred embodiment of this invention.
  • FIG. 10 is a schematic diagram of the agent community in the prior art.
  • an agent community 150 is shown in which the agents of this invention operate.
  • a plurality of mobile agents and resident agents exist in the agent community.
  • the agent community is a network which consists of a plurality of PC's.
  • Regular agents 10 1 , 103 are mobile agents sent to the agent community 150 or resident agents resident in the agent community.
  • the regular agent 101 is capable of conversing with other agents by sending out and receiving message packets described later.
  • a facilitator agent 110 is an agent which maintains the state of being alive or dead of a software agent(hereinafter simply called agent) within the agent community and provides a list of agents existing in the agent community.
  • a travel broker agent 121 is an agent which conducts various mediation relating to an ontology “travel”.
  • An “ontology” is a background concept and vocabulary and includes all information to squeeze a decision result and reduce a decision process in determining the content of transmitted information.
  • an interpretation execution part like an interpreter receives a content “R, flight, Narita to Tacoma, 1997/07/06/15:00-1997/07/06/18:00”, checks for a predetermined format, executes a specific content interpretation routine, interpreting that “R” is a command which instructs to make a reservation, gets access to a database in a given airline to execute a specific execution routine for checking the reservation status. Finally, a reservation is made for a non-smoking seat, economy, FlightXX26 for Tacoma, Seattle, departing Narita air port at 17:10 on Jul. 6, 1997 and the reservation is confirmed to the sender.
  • FIG. 2 schematically shows a hardware configuration at one of the nodes on a distributed network for forming an agent community existing on a distributed network environment shown in FIG. 1.
  • Each node system 100 includes a central processing unit(CPU) 1 and a memory 4 .
  • the CPU 1 and the memory 4 are connected to a hard disk drive 13 acting as an auxiliary storage via a bus 2 .
  • Storage media drives such as a floppy disk drive 20 , hard disk drive 13 , 30 , CD-ROM drive 26 , 29 , and MO drive 28 are connected to the bus 2 through controllers including a floppy disk controller 19 , an IDE controller 25 and an SCSI controller 27 .
  • a portable storage media such as a floppy disk is inserted to the storage media drive such as the floppy disk drive 20 .
  • Such floppy disk and other storage media of the hard disk drive 13 and the ROM 14 may have recorded therein a computer program which provides instructions to the CPU in cooperation with an operating system to practice this invention, with the program being loaded into the memory 4 .
  • the computer software may be compressed or divided into multiple pieces for storage in multiple media.
  • the node system 100 may be a system which has a user interface hardwares, such as a pointing device (a mouse and a joy stick, etc.) 7 or a keyboard 6 for input and a display 12 for presenting a visual data to a user.
  • a parallel port 16 may be provided for connecting a printer.
  • the node system 100 may have a modem connected thereto via a serial port 15 for connection to the network through the serial port 15 and the modem or through a token ring or a communication adapter 18 to communicate with other computer systems.
  • this invention may be implemented in a conventional personal computer(PC), a workstation, a general purpose computer or a combination of them. It should be noted however that these components are chosen as exemplary components and not all components are necessarily an indispensable component of the invention. Specifically, it is not necessary to install a user interface in the server side because the server can be remote-controlled so that it is enough to have a basic data processing function such as a CPU and a memory, and a communication function.
  • the operating system in the node system 100 may be implemented by one which supports on a standard basis a GUI multi-windows environment such as WindowsNT(trademark of Microsoft), Windows95(trademark of Microsoft), Windows3.x(trademark of Microsoft), OS/2(trademark of IBM), X-Window system(trademark of MIT) on AIX(trademark of IBM), and Solaris(trademark of Sun Micro Systems), as well as one which is for character base environment such as PC-DOS(trademark of IBM) and MS-DOS(trademark of Microsoft), and a real time OS such as OS/Open(trademark of IBM) and VxWorks(trademark of Wind River Systems, Inc.) without being limited to any specific operating system environment.
  • GUI multi-windows environment such as WindowsNT(trademark of Microsoft), Windows95(trademark of Microsoft), Windows3.x(trademark of Microsoft), OS/2(trademark of IBM), X-Window system(trademark of MIT) on AIX(trademark of IBM), and Solaris(trademark of Sun Micro Systems)
  • FIG. 3 schematically shows a message packet used in the preferred embodiment of this invention.
  • ACL agent communication language
  • KQML Knowledge Query Manipulation Language
  • KIF Knowledge Interchange Format
  • a sender 303 is a sender of a message while a receiver 305 is a receiver of a message.
  • a response ID 307 is an ID which follows a preceding conversation.
  • a plurality of conversation ID's are allocated corresponding to the conversation threads which will be described later.
  • a conversation ID 309 is an ID which tells the conversation partner to respond with this ID.
  • the describing language type 311 is information which specifies the language describing the content.
  • the ontology 313 is information which specifies the ontology that the content specifies. In the preferred embodiment of this invention, a ticket purchase ontology, a numerical calculation ontology and a yellow page ontology, etc., are provided.
  • the content 315 is the particular content of a message and contains software for forming instructions after it is moved to another place in the preferred embodiment of this invention.
  • the content 315 may also internally contain a message packet for movement to another place via a relaying point. Then a From entry and a To entry are provided to indicate a true sender and a final receiver, respectively, in the preferred embodiment of this invention.
  • FIG. 4 schematically shows an operational condition in the preferred embodiment of this invention.
  • each service provider agent 131 , 133 , 135 reports to the facilitator agent 110 of a capability, the name and address each owns upon installation into the agent community 150 and the reported information is stored in the facilitator advertise table 151 .
  • FIG. 5 schematically shows a facilitator advertise table 151 and a broker advertise table 141 .
  • the facilitator advertise table 151 holds message packets sent from agents which are maintained by the facilitator agent 110 (service provider agent, broker agent, regular agent, etc.) as shown in the figure.
  • each advertise message packet includes; a message type 301 such as “broker-all” which the agent can process, a describing language type 311 such as “anACL” which is understandable to the agent, a classification information of the capabilities owned by the agent such as the type of interpreter which the agent owns(ontology 313 ) and the type of service which the agent provides, like “travel”, and an agent specifying information including an agent name like “airlineA”, an address information to get access to the agent; like “www.airlineA”, and a class name to start the agent like “airline-reservation”.
  • a message type 301 such as “broker-all” which the agent can process
  • a describing language type 311 such as “anACL” which is understandable to the agent
  • a classification information of the capabilities owned by the agent such as the type of interpreter which the agent owns(ontology 313 ) and the type of service which the agent provides, like “travel”
  • an agent specifying information including an agent name like “airlineA”, an
  • agents existing in the agent community 150 can point to a service provider agent which has a desired capability with reference to the facilitator advertise table 151 to send a request to process.
  • the travel broker agent 121 extracts a service provider agent involved in the job it takes with reference to the facilitator advertise table 151 to generate a broker advertise table 141 which has a structure similar to the facilitator advertise table 151 .
  • the difference between the facilitator advertise table 151 and the broker advertise table 141 in the preferred embodiment of this invention lies only in that a service provider agent in which a control object coincides a condition including a predetermined category, describing language and ontology is extracted. Because the broker advertise table 141 extracts only a specific classification information(ontology only, category only, message type+subcategory+describing language, etc.)to which the service provider agent holding that table refers so that the broker advertise table only needs to control a minimum of information required to get access to the corresponding service provider agent, it may be controlled as a table which has a different structure from the facilitator advertise table 151 .
  • a service provider agent which meets a predetermined condition may be searched each time a process request is received from a regular agent.
  • the broker agent asks the facilitator agent 110 to forward a process request to a service provider agent having a predetermined condition or to introduce a service provider agent having a predetermined condition each time it receives a process request from a regular agent, it does not retain the broker advertise table 141 .
  • FIG. 6 is an object interaction diagram showing steps of registering a service provider agent in the broker advertise table 141 by accessing to a facilitator agent.
  • the travel broker agent 121 registers “its own name(object name)”, “the place it is(URL,etc.)”, and “its own class name” in a life cycle control mechanism of the facilitator agent 110 .
  • the travel broker agent 121 requests the facilitator agent 110 to introduce an agent (the facilitator agent itself in this case) who registers a category, subcategory, class name and agent name in the facilitator advertise table 151 .
  • the facilitator agent 110 searches a record which was advertised prior to the request and, in finding an agent which matches the condition, generates a message packet having that advertise record as a content for return to the broker agent.
  • the broker agent 121 Because the broker agent 121 knows that the answer is the facilitator agent 10 itself, it throws a message packet of insert to the facilitator agent 110 for it to enter the information of the agent 121 in the database which is held by the facilitator agent 110 .
  • the travel broker agent 121 tells the facilitator agent 110 “introduce(recommend-one) an agent who can subscribe ask-all to an agent who has information :flight in the content with YellowPage ontology”.
  • One service provider agent then arises, registers itself to the facilitator agent 110 and asks for a partner to which it can insert its information.
  • the service provider agent Since the service provider agent knows that the answer from the facilitator agent 110 is the facilitator agent 110 , it inserts its information to the facilitator advertise table 151 of the facilitator agent 110 .
  • the facilitator agent 110 in detecting this, scans its own table for an agent who has subscribed to this information.
  • the broker agent 121 is found and it sends a tell message as a notification to the broker agent 151 .
  • introduction of the broker agent and service provider agent can be dynamically dealt with.
  • the broker agent can simply access to the facilitator agent 110 upon introduction or start to extract necessary information or select information after all agent information have been received to establish a status in which necessary information is available to the broker agent.
  • a regular agent 101 asks the facilitator agent 110 for the location of the travel broker agent 121 and receives at step 2 the reply based on the information of the facilitator advertise table 151 .
  • the regular agent 101 knowing the location of the travel broker agent 121 , sends to the broker agent 121 a request “have all agents whose ontology is Travel and who can answer when asked about a flight information of an airplane take (broker) this job”.
  • the :language to broker-all at this time is kqml and the ontology is travel-ontology.
  • a travel interpreter which is one of interpreters which are held by the travel broker agent 121 will be designated and take over processing.
  • the travel interpreter of the travel broker agent 121 internally converts the message broker-all at step 3 to recruit-all(meaning hiring an agent) and throws a request at steps 4 & 5 to each service provider agent who represents in advance the capability by advertise performative.
  • Each service provider agent returns information in return to this.
  • forward performative the originator of the message is described in the :from keyword in the message packet.
  • a reply is neglected if no reply is returned within some given time period.
  • the travel broker agent 121 converts information from each service provider to a list structure and returns it at step 8 to the regular agent which is a client.
  • FIG. 8 is an object interaction diagram showing an operational condition of a broker agent which received a process request from a regular agent in the preferred embodiment of the invention.
  • the regular agent 101 first requests the travel broker agent “to hire(recruit-one) an agent whose ontology is Travel and who is capable of answering when asked about a flight information of air planes, and of being subscribed, and lets it do this job.
  • the travel broker agent 121 upon receiving this request, queries at step 2 the facilitator agent 110 of whether or not “an agent whose ontology is Travel and who is capable of answering when asked about a flight information of air planes, and of being subscribed” exists in the community.
  • the travel broker agent 121 when finding the party it sought for, throws at step 4 , a subscribe request packed in forward to the service broker agent. At this time the message packet is converted and an ontology of the content is made to Travel.
  • the innermost content is processed by an interpreter owned by an airline agent who is a service provider.
  • the airline agent upon receiving this, sends the flight information directly to the regular agent 101 at step 5 . In addition, it notifies the regular agent 101 of any update of the flight information.
  • a message packet contains information such as reservation ontology and roomReservation ontology, etc.
  • the reservation ontology has keywords including a start time, ending time, and attendees list while the roomReservation ontology is defined as a lower level of ontology of reservation ontology and has keywords including a list of attendees to the conference, the floor where the room is and the room number, etc.
  • a broker which controls the roomReservation ontology has a logic which interprets in the following way.
  • Logic 1 prepare a message packet like an ask-if message containing a schedule of the attendees between the start time and the ending time and give it to a calendar agent which controls the schedule of each attendee in the attendees list to see the schedule.
  • Logic 2 prepare an achieve message if the schedule is open and send and lock it (with or without time limit).
  • Logic 3 prepare a sorry message if the reply from other calendar agents tells “the time frame is not open” and return it to the client.
  • Logic 4 the broker agent prepares an achieve message again if the client follows with a conversation message which tells to change the time and give it to the calendar agents to unlock each calendar agent.
  • Logic 5 prepare a message packet like an ask-if message for the availability of conference rooms if the time of all calendar agent is open and give it to a conference room reservation agent to ask.
  • the conference room reservation agent is treated in the same way as other calendar agents and is only asked about available time. This is repeated while the time of all agent is open or is suitably left to an operator's interaction of a client. Alternatively, it is possible to display a table of sum of available time for each agent.
  • Logic 6 prepare an achieve message packet and send a reservation if the time is open.
  • Logic 7 prepare a sorry message if the time is not open and return it to the client. In this case, an operator's judgment intervenes. Like the logic 4, the operator of the client will take some other action like changing the request.
  • FIG. 9 An implementation of a broker agent in the preferred embodiment of this invention is now described with reference to FIG. 9.
  • an agent is provided in which :language is kqml and ontology is kqml-ontology as a default behavior to broker-one, broker-all, recommend-one, recommend-all, recruit-one, recruit-all, etc.
  • the class which has this default behavior is named kqmlInterpreter class and has, as a method, broker-one, broker-all, recommend-one, recommend-all, recruit-one, recruit-all and ones corresponding to other performative.
  • the broker agent is formed by subclassing this class and overriding the method to realize processing which is unique to the problem area.
  • a lower subclass in FIG. 9 first receives a request from the client and conducts a process which is unique to travel-ontology for example. Note that the content is described with kqml in this case. KqmlInterpreter class supports;
  • this invention provides a communication system which is capable of flexibly and promptly dealing with a query from an agent.
  • a communication system which reduces the amount of load born by users of agents.
  • a communication system which absorbs the difference between service provider agents.
  • a communication system which enables a desired process result to be built based on a plurality of different process results received from each service provider agent.
  • a communication system which enables a high speed operation by distributing tasks.
  • a communication system which is highly expandable by dynamically installing various agents.
  • a communication system which is capable of flexibly dealing with conversations among agents.
  • a message processing system which gives less load to a communication network.

Abstract

The broker agent 121,123 inquires a facilitator agent 110 to recognize a service provider agent 131,133 which is involved in its own job. The broker agent 121, upon receiving from a regular agent a message packet indicating a request for mediation of a job, analyzes the message packet to judge the outline of the requested job and applies certain conversion to the request message for sending it to the service provider agent which is relevant to the request. The broker agent 121 receives a reply from the service provider agent 131,133 and sends it to the regular agent after applying certain conversion.

Description

    TECHNICAL FIELD OF THE INVENTION
  • This invention relates to a data processing technique, and more particularly, to an improved data processing method for supporting communications among two or more nodes on a network in a distributed computer environment. [0001]
  • BACKGROUND OF THE INVENTION
  • There is a mobile agent technology in the art in which an internal condition is moved as it is to a place which is provided in a server existing on a network in a distributed computer environment to form an instruction in the place where it moved to. Reference is made to U.S. Pat. No. 5,603,031(PUPA 7-182174) and Fumihiko Nishida, Susumu Fujiwara et al's “Latest Internet Technology, special edition of Nikkei Communication”, pp 104-117, Nikkei BP. [0002]
  • Such mobile agent makes a contact to other agents in the moved-to place (a mobile agent or a resident agent) and may be served as appropriate. A place is a location provided by a server existing on the network to which the agent moved and which supports a contact among agents and absorbs the differences between the hardwares and between the platforms. [0003]
  • The mobile agent technology enables a mobile agent to act as a proxy of a human being in handling jobs such as dynamically adjusting a schedule of internal meetings in compliance with the schedule of attendees and status of reservation of conference rooms and acquiring desired information distributed on the network. [0004]
  • In a prior art system (part of FIG. 11) which makes a contact between agents, a [0005] mobile agent 101 or a resident agent 103(a general agent which requests a service is called a regular agent hereinafter), in requesting a service to service provider agents 131,133 which have an ability to provide a service, inquires a facilitator agent 110 which maintains an agent community 150 residing in that place of a service provider agents 131,133 which have an ability of providing a service, and makes a contact to the service provider agents 131,133 based on the information obtained from the inquiry.
  • However, because a service provider agent residing in [0006] community 150 was registered in and maintained by the facilitator agent 110 in a form unique to each service provider agent, regular agents 101, 103 which desired to receive a service had to find service provider agents 131,133 having an ability to provide its own service from a list of agents which was received from the facilitator agent 110.
  • Also, the [0007] regular agents 101,103 had to inquire for each service provider that corresponds to respective service provider agents 131,133 from which the service is received.
  • Further, the [0008] regular agents 101,103 had to control themselves even in a stereotype processing and check the content and combination of requests depending on what request was directed to what service provider.
  • The regular agent had to build a desired process result based on the process result they received from each service provider. [0009]
  • Furthermore, it was necessary to expand functions of the [0010] facilitator agent 110, and maintain the facilitator agent 110 itself when attempting expansion of the service and halting the service in installation.
  • It is an object of this invention to provide a communication system which is capable of dealing with inquiries from agents flexibly, suitably and at high speed. [0011]
  • It is another object of this invention to provide a communication system which reduces the amount of load born by users of agents. [0012]
  • It is a further object of this invention to provide a communication system which absorbs the difference between service provider agents. [0013]
  • It is still another object of this invention to provide a communication system which enables a desired process result to be built based on a plurality of different process results received from each service provider agent. [0014]
  • It is still a further object of this invention to provide a communication system which enables a high speed operation by distributing tasks. [0015]
  • It is a further object of this invention to provide a communication system which is highly expandable by dynamically installing various agents. [0016]
  • It is still a further object of this invention to reduce the work and the time required for developing and maintaining a program as much as possible in providing support to communication among agents. [0017]
  • It is a further object of this invention to provide a communication system which is capable of flexibly dealing with conversations among agents. [0018]
  • It is another object of this invention to provide a message processing system which gives less load to a communication network. [0019]
  • SUMMARY OF THE INVENTION
  • In this invention, a plurality of different broker agents such as [0020] 121,123 are provided which are customized to problem areas for processing, such as distributing and integrating tasks which are the requests from regular agents. The broker agents 121,123 inquire the facilitator agent 110, receive a list of service provider agents 131,133 which are relevant to their own jobs, and retain the list. The broker agent 121 which receives a message packet requesting a mediation of a job from the regular agent 101 determines the outline of the requested job by analyzing the message packet and sends it to a service provider agent which retains it as a list after certain conversion. The broker agent 121 receives a reply from the service provider agents 131,133 and transmits it to the regular agent 101 after certain conversion.
  • According to one aspect of this invention, a message processing method is provided for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of; [0021]
  • (a) receiving a message packet sent from a regular agent, [0022]
  • (b) determining whether or not said received message packet conforms to a predetermined format, [0023]
  • © inquiring said facilitator agent to inspect whether or not a service provider agent having a predetermined service provider classification information is available, [0024]
  • (d) converting said received message packet, and [0025]
  • (e) sending said converted message packet to the available service provider agent. [0026]
  • As used in the claims of this patent specification, “converting a message packet” shall mean a concept which includes, beside replacing a part of data of a message packet(e.g., message type or ontology, in the preferred embodiment of this invention) with other data, extracting a part of data of a message packet(such as content in the preferred embodiment of this invention) and adding data to a message packet(including forward processing to generate a message packet which has a message packet in the preferred embodiment of this invention as a content). [0027]
  • As used in the claims of this patent specification, “sending a message packet to a service provider agent” shall mean a concept which includes, for instance, not only sending from a sender directly to a service provider agent but also indirectly sending by utilizing other resources including a facilitator agent. [0028]
  • As used in the claims of this patent specification, “service provider agent specifying information” shall mean all information which enables access to a service provider agent and includes an agent name, object class name and address name as well as a combination thereof. [0029]
  • As used in the claims of this patent specification, “service provider agent classification information” shall mean all information which specifies the class of services provided by a service provider agent, and is a concept including all information which identify an interpreter, a translator, a conversation check routine, a format check routine, an interpretation execution routine and an execution routine that are held by a service provider agent. In the preferred embodiment of this invention, this is a concept which corresponds to an ontology information, a category information, a subcategory information, a message type information and a describing language information as well as a combination thereof. [0030]
  • According to another aspect of this invention, a message processing method is provided for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of; [0031]
  • (a) receiving a message packet sent from a regular agent, [0032]
  • (b) inquiring said facilitator agent to inspect whether or not a service provider agent having a predetermined service provider classification information is available, and [0033]
  • © sending a data which contains the content of said message packet to the available service provider agent. [0034]
  • According to still another aspect of this invention, a message processing method is provided for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of; [0035]
  • (a) receiving a message packet sent from a regular agent, and [0036]
  • (b) instructing a service provider agent which has a predetermined service provider agent classification information to send data including the content of said message packet to said facilitator agent. [0037]
  • According to a further aspect of this invention, a message processing method is provided for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of; [0038]
  • (a) receiving a message packet sent from a regular agent, [0039]
  • (b) determining whether or not said received message packet conforms a predetermined format, [0040]
  • © inquiring said facilitator agent to inspect whether or not a service provider agent having a predetermined service provider classification information is available, [0041]
  • (d) converting said received message packet so as to correspond to said available service provider agent, and [0042]
  • (e) sending said converted message packet to said available service provider agent. [0043]
  • According to a still further aspect of this invention, a message processing method is provided for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a broker agent which retains a broker advertise table for maintaining a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said method comprising the steps of; [0044]
  • (a) receiving a message packet sent from a regular agent, [0045]
  • (b) determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to the broker advertise table, and [0046]
  • © sending the content of said message packet to said available service provider agent. [0047]
  • According to a further aspect of this invention, a message processing method is provided for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a broker agent which retains a broker advertise table for maintaining a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said method comprising the steps of; [0048]
  • (a) receiving a message packet sent from a regular agent, [0049]
  • (b) determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to the broker advertise table, [0050]
  • © sending the content of said message packet to said available service provider agent. [0051]
  • (d) receiving a response message packet from said available service provider agent, and [0052]
  • (e) converting said received response message packet. [0053]
  • According to a further aspect of this invention, a message processing method is provided for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of; [0054]
  • (a) receiving a message packet sent from a regular agent, [0055]
  • (b) analyzing said received message packet to determine the service provider agent classification information, [0056]
  • © specifying a service provider agent which corresponds to the determined service provider agent classification information, [0057]
  • (d) converting said received message packet, and [0058]
  • (e) sending said converted message packet to the corresponding service provider agent. [0059]
  • According to still further aspect of this invention, a message processing method is provided for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of; [0060]
  • (a) receiving a message packet sent from a regular agent, [0061]
  • (b) analyzing said received message packet to determine the service provider agent classification information, [0062]
  • © specifying a service provider agent which corresponds to the determined service provider agent classification information, [0063]
  • (d) converting said received message packet, [0064]
  • (e) sending said converted message packet to the corresponding service provider agent, [0065]
  • (f) receiving a response message packet from said corresponding service provider agent, and [0066]
  • (g) converting said received response message packet. [0067]
  • According to still further aspect of this invention, a message processing method is provided for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of, [0068]
  • (a) receiving a response message packet from said plurality of service provider agents, said response message packet being a process result of a message packet sent from a regular agent, [0069]
  • (b) converting said received message packet, and [0070]
  • © sending said converted message packet to said regular agent. [0071]
  • According to still further aspect of this invention, a community system is provided which processes a message packet sent from a regular agent, said system comprising; [0072]
  • (a) a plurality of service provider agents for processing message packets, [0073]
  • (b) a facilitator agent for maintaining the service provider agent specifying information and the service provider agent classification information, and [0074]
  • © a broker agent for; [0075]
  • (c-1) receiving a message packet sent from said regular agent, [0076]
  • (c-2) determining whether or not said received message packet conforms a predetermined format, [0077]
  • (c-3) inquiring said facilitator agent to determine whether or not a service provider agent having a predetermined service provider agent classification information is available, [0078]
  • (c-4) converting said received message packet, and [0079]
  • (c-5) sending said converted message packet to said available service provider agent. [0080]
  • According to still further aspect of this invention, a community system is provided which controls a plurality of service provider agents for processing a message packet sent from a regular agent, said system comprising; [0081]
  • (a) a facilitator agent for maintaining the service provider agent specifying information and the service provider agent classification information, and [0082]
  • (b) a broker agent for; [0083]
  • (b-1) receiving a message packet sent from said regular agent, [0084]
  • (b-2) inquiring said facilitator agent to determine whether or not a service provide agent having a predetermined service provider agent classification information is available, and [0085]
  • (b-3) sending data including the content of said message packet to said available service provider agent. [0086]
  • According to still further aspect of this invention, a community system is provided which processes a message packet sent from a regular agent, said system comprising; [0087]
  • (a) a plurality of service provider agents for processing message packets, [0088]
  • (b) a facilitator agent for maintaining the service provider agent specifying information and the service provider agent classification information, and [0089]
  • © a broker agent for; [0090]
  • (c-1) receiving a message packet sent from said regular agent, and [0091]
  • (c-2) instructing said facilitator agent to send data including the content of said message packet to a service provider agent having a predetermined service provider agent classification information. [0092]
  • According to one of the aspects of this invention, an agent community system is provided, said system comprising; [0093]
  • a broker agent for; [0094]
  • (a) receiving a message packet sent from a regular agent, [0095]
  • (b) retaining a broker advertise table for maintaining a service provider agent specifying information which specifies a service provider agent having a predetermined service provider agent information, among a plurality of service provider agents which process said message packets, [0096]
  • © determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to said broker advertise table, and [0097]
  • (d) sending data including the content of said message packet to said available service provider agent. [0098]
  • According to a further aspect of this invention, an agent community system is provided, said system comprising; [0099]
  • (a) a regular agent for sending a message packet and requesting to process said message packet, [0100]
  • (b) a plurality of service provider agents for processing said message packet, [0101]
  • © a facilitator agent for maintaining a service provider specifying information and a service provider classification information, [0102]
  • (d) a broker agent for; [0103]
  • (d-1) receiving a response message packet from said plurality of service provider agents, said response message packet being a process result of a message packet sent from said regular agent, [0104]
  • (d-2) converting said received message packet, [0105]
  • (d-3) sending said converted response message packet to said regular agent. [0106]
  • According to a further aspect of this invention, an agent community system is provided which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet, and a facilitator agent for maintaining a service provider specifying information and a service provider classification information, said system comprising; [0107]
  • (a) means for receiving a message packet sent from a regular agent, [0108]
  • (b) means for inquiring said facilitator agent to determine whether or not a service provider agent having a predetermined service provider agent classification information is available, and [0109]
  • © means for sending data including the content of said message packet to said available service provider agent. [0110]
  • According to a further aspect of this invention, an agent community system is provided which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet, and a facilitator agent for maintaining a service provider specifying information and a service provider classification information, said system comprising; [0111]
  • (a) means for receiving a message packet sent from a regular agent, and [0112]
  • (b) means for instructing said facilitator agent to send data including the content of said message packet to a service provider agent which has a predetermined service provider agent classification information. [0113]
  • According to a further aspect of this invention, a message processor comprising an agent community system is provided which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet, and a broker agent retaining a broker advertise table which maintains a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said system comprising; [0114]
  • (a) means for receiving a message packet sent from a regular agent, [0115]
  • (b) means for determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to said broker advertise table, and [0116]
  • © means for sending data including the content of said message packet to said available service provider agent. [0117]
  • According to a further aspect of this invention, a message processor comprising an agent community is provided which comprises a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said processor comprising; [0118]
  • (a) means for receiving a message packet sent from said regular agents, [0119]
  • (b) means for analyzing said receiver message packet to determine service provider agent classification information, [0120]
  • © means for specifying a service provider agent corresponding to said determined service provider agent classification information, [0121]
  • (d) means for converting said received message packet, and [0122]
  • (e) means for sending said converted message packet to said corresponding service provider agent. [0123]
  • According to a further aspect of this invention, a message processor comprising an agent community is provided which comprise a regular agent for sending a message packet and requesting to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said processor comprising; [0124]
  • (a) means for receiving a response message packet from said plurality of service provider agent, said response message packet being a process result of a message packet sent from a regular agents, [0125]
  • (b) means for converting said received response message packet, and [0126]
  • © means for sending said converted response message packet to said regular agent. [0127]
  • According to still further aspect of this invention, a recording media is provided which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising; [0128]
  • (a) a program code for instructing said message processor to receive a message packet sent from a regular agent, [0129]
  • (b) a program code for instructing said message processor to inquire said facilitator agent to determine whether or not a service provider agent having a predetermined service provider agent classification information is available, and [0130]
  • © a program code for instructing said message processor to send data including the content of said message packet to said available service provider agent. [0131]
  • According to still further aspect of this invention, a recording media is provided which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising; [0132]
  • (a) a program code for instructing said message processor to receive a message packet sent from a regular agent, and [0133]
  • (b) a program code for instructing said message processor to send data including the content of said message packet to a service provider agent having a predetermined service provider agent classification information. [0134]
  • According to still further aspect of this invention, a recording media is provided which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a broker agent retaining broker advertise table which maintains a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said program comprising; [0135]
  • (a) a program code for instructing said message processor to receive a message packet sent from a regular agent, [0136]
  • (b) a program code for instructing said message processor to determine whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to said broker advertise table, and [0137]
  • © a program code for instructing said message processor to send data including the content of said message packet to said available service provider agent. [0138]
  • According to still further aspect of this invention, a recording media is provided which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet and requesting to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising; [0139]
  • (a) a program code for instructing said message processor to receive a message packet sent from a regular agent, and [0140]
  • (b) a program code for instructing said message processor to analyze said received message packet to determine the service provider agent classification information, [0141]
  • © a program code for instructing said message processor to specify an service provider agent corresponding to said determined service provider agent classification information, [0142]
  • (d) a program code for instructing said message processor to convert said received message packet, and [0143]
  • (e) a program code for instructing said message processor to send said converted message packet to said corresponding service provider agent. [0144]
  • According to still further aspect of this invention, a recording media is provided which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet and requesting to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising; [0145]
  • (a) a program code for instructing said message processor to receive a response message packet sent from said plurality of service provider agent, said response message packet being a process result of a message packet sent from a regular agent, [0146]
  • (b) a program code for instructing said message processor to convert said received response message packet, and [0147]
  • © a program code for instructing said message processor to send said converted response message packet to said regular agent. [0148]
  • According to still further aspect of this invention, a recording media is provided which retains a broker advertise table for maintaining a service provider agent specifying information which specifies a service provider agent having a predetermined service provider agent classification information among a plurality of service provider agents which process message packets sent from regular agents. [0149]
  • According to still further aspect of this invention, a recording media is provided which includes a broker agent for; [0150]
  • (a) receiving a message packet sent from a regular agent, [0151]
  • (b) retaining a broker advertise table to maintain a service provider agent specifying information which specifies a service provider agent having a predetermined service provider agent classification information among a plurality of service provider agents which process message packets, [0152]
  • © determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to said broker advertise table, and [0153]
  • (d) sending data including the content of said message packet to said available service provider agent. [0154]
  • BRIEF DESCRIPTION OF DRAWINGS
  • FIG. 1 schematically shows an agent community where the agent of this invention operates. [0155]
  • FIG. 2 is a block diagram showing one embodiment of the hardware configuration of one node on a distributed network which comprises the agent community of this invention. [0156]
  • FIG. 3 schematically shows an example of a message packet of this invention. [0157]
  • FIG. 4 is a schematic diagram showing an operational condition of each agent in a preferred embodiment of this invention. [0158]
  • FIG. 5 is a schematic diagram of a facilitator advertise table [0159] 151 and a broker advertise table 141 in a preferred embodiment of this invention.
  • FIG. 6 is an object interaction diagram among the components in a preferred embodiment of this invention. [0160]
  • FIG. 7 is an object interaction diagram among the components in a preferred embodiment of this invention. [0161]
  • FIG. 8 is an object interaction diagram among the components in a preferred embodiment of this invention. [0162]
  • FIG. 9 is a schematic diagram of a structure of the broker agent in a preferred embodiment of this invention. [0163]
  • FIG. 10 is a schematic diagram of the agent community in the prior art.[0164]
  • DETAILED DESCRIPTION
  • The embodiment of this invention will now be described with reference to the drawings. With reference to FIG. 1, an [0165] agent community 150 is shown in which the agents of this invention operate. A plurality of mobile agents and resident agents exist in the agent community. Usually, the agent community is a network which consists of a plurality of PC's.
  • [0166] Regular agents 10 1,103 are mobile agents sent to the agent community 150 or resident agents resident in the agent community. The regular agent 101 is capable of conversing with other agents by sending out and receiving message packets described later.
  • A [0167] facilitator agent 110 is an agent which maintains the state of being alive or dead of a software agent(hereinafter simply called agent) within the agent community and provides a list of agents existing in the agent community.
  • A [0168] travel broker agent 121 is an agent which conducts various mediation relating to an ontology “travel”. An “ontology” is a background concept and vocabulary and includes all information to squeeze a decision result and reduce a decision process in determining the content of transmitted information.
  • Taking an ontology of traffic reservation for example, an interpretation execution part like an interpreter receives a content “R, flight, Narita to Tacoma, 1997/07/06/15:00-1997/07/06/18:00”, checks for a predetermined format, executes a specific content interpretation routine, interpreting that “R” is a command which instructs to make a reservation, gets access to a database in a given airline to execute a specific execution routine for checking the reservation status. Finally, a reservation is made for a non-smoking seat, economy, FlightXX26 for Tacoma, Seattle, departing Narita air port at 17:10 on Jul. 6, 1997 and the reservation is confirmed to the sender. [0169]
  • FIG. 2 schematically shows a hardware configuration at one of the nodes on a distributed network for forming an agent community existing on a distributed network environment shown in FIG. 1. Each [0170] node system 100 includes a central processing unit(CPU) 1 and a memory 4. The CPU 1 and the memory 4 are connected to a hard disk drive 13 acting as an auxiliary storage via a bus 2. Storage media drives such as a floppy disk drive 20, hard disk drive 13, 30, CD-ROM drive 26, 29, and MO drive 28 are connected to the bus 2 through controllers including a floppy disk controller 19, an IDE controller 25 and an SCSI controller 27.
  • A portable storage media such as a floppy disk is inserted to the storage media drive such as the [0171] floppy disk drive 20. Such floppy disk and other storage media of the hard disk drive 13 and the ROM 14 may have recorded therein a computer program which provides instructions to the CPU in cooperation with an operating system to practice this invention, with the program being loaded into the memory 4. The computer software may be compressed or divided into multiple pieces for storage in multiple media.
  • The [0172] node system 100 may be a system which has a user interface hardwares, such as a pointing device (a mouse and a joy stick, etc.) 7 or a keyboard 6 for input and a display 12 for presenting a visual data to a user. A parallel port 16 may be provided for connecting a printer. The node system 100 may have a modem connected thereto via a serial port 15 for connection to the network through the serial port 15 and the modem or through a token ring or a communication adapter 18 to communicate with other computer systems.
  • It will be readily understood that this invention may be implemented in a conventional personal computer(PC), a workstation, a general purpose computer or a combination of them. It should be noted however that these components are chosen as exemplary components and not all components are necessarily an indispensable component of the invention. Specifically, it is not necessary to install a user interface in the server side because the server can be remote-controlled so that it is enough to have a basic data processing function such as a CPU and a memory, and a communication function. [0173]
  • The operating system in the [0174] node system 100 may be implemented by one which supports on a standard basis a GUI multi-windows environment such as WindowsNT(trademark of Microsoft), Windows95(trademark of Microsoft), Windows3.x(trademark of Microsoft), OS/2(trademark of IBM), X-Window system(trademark of MIT) on AIX(trademark of IBM), and Solaris(trademark of Sun Micro Systems), as well as one which is for character base environment such as PC-DOS(trademark of IBM) and MS-DOS(trademark of Microsoft), and a real time OS such as OS/Open(trademark of IBM) and VxWorks(trademark of Wind River Systems, Inc.) without being limited to any specific operating system environment.
  • Now, with reference to FIG. 3 and FIG. 4, the operation of each agent in the preferred embodiment of this invention is described. [0175]
  • FIG. 3 schematically shows a message packet used in the preferred embodiment of this invention. [0176]
  • In the preferred embodiment of this invention, a performative of an agent communication language (ACL) is used in the [0177] message type 301 contained in the message packet of FIG. 3. ACL is a high level language which provides a communication among agents in a form that is close to human language.
  • Included in these agent communication languages are ACL provided by FIPA(Foundation for Intelligent Physical Agents), KQML(Knowledge Query Manipulation Language), and KIF(Knowledge Interchange Format). KQML is laid open by “SEMANTICS FOR AN AGENT COMMUNICATION LANGUAGE, Yannis Labrou, A Doctoral Dissertation for the PhD Defense Examination, Submitted to Defense Committee, at the Computer Science and Electrical Engineering Department (CSEE), University of Maryland Graduate School” and “TR CS-97-03, A Proposal for a new KQML Specification, Yannis Labrou and Tim Finin Feb. 3, 1997”. [0178]
  • Included in the performative of KQML which is one of ACL are; [0179]
  • ask-if, ask-all, stream-all, eos, tell, untell, deny, insert, uninsert, delete-one, delete-all, undelete, achieve, unachieve, advertise, unadvertise, subscribe, error, sorry, standby, ready, next, rest, discard, register, unregister, forward, broadcast, transport-address, broker-one, broker-all, recommend-one, recommend-all, recruit-one, recruit-all. [0180]
  • A [0181] sender 303 is a sender of a message while a receiver 305 is a receiver of a message.
  • A [0182] response ID 307 is an ID which follows a preceding conversation. When an agent has a conversation with a plurality of parties, a plurality of conversation ID's are allocated corresponding to the conversation threads which will be described later.
  • A [0183] conversation ID 309 is an ID which tells the conversation partner to respond with this ID.
  • The describing [0184] language type 311 is information which specifies the language describing the content. The ontology 313 is information which specifies the ontology that the content specifies. In the preferred embodiment of this invention, a ticket purchase ontology, a numerical calculation ontology and a yellow page ontology, etc., are provided.
  • The [0185] content 315 is the particular content of a message and contains software for forming instructions after it is moved to another place in the preferred embodiment of this invention. The content 315 may also internally contain a message packet for movement to another place via a relaying point. Then a From entry and a To entry are provided to indicate a true sender and a final receiver, respectively, in the preferred embodiment of this invention.
  • FIG. 4 schematically shows an operational condition in the preferred embodiment of this invention. [0186]
  • In FIG. 4, each [0187] service provider agent 131, 133, 135 reports to the facilitator agent 110 of a capability, the name and address each owns upon installation into the agent community 150 and the reported information is stored in the facilitator advertise table 151.
  • FIG. 5 schematically shows a facilitator advertise table [0188] 151 and a broker advertise table 141. The facilitator advertise table 151 holds message packets sent from agents which are maintained by the facilitator agent 110(service provider agent, broker agent, regular agent, etc.) as shown in the figure.
  • Included in each advertise message packet are; a [0189] message type 301 such as “broker-all” which the agent can process, a describing language type 311 such as “anACL” which is understandable to the agent, a classification information of the capabilities owned by the agent such as the type of interpreter which the agent owns(ontology 313) and the type of service which the agent provides, like “travel”, and an agent specifying information including an agent name like “airlineA”, an address information to get access to the agent; like “www.airlineA”, and a class name to start the agent like “airline-reservation”.
  • Other agents existing in the [0190] agent community 150 can point to a service provider agent which has a desired capability with reference to the facilitator advertise table 151 to send a request to process.
  • The [0191] travel broker agent 121 extracts a service provider agent involved in the job it takes with reference to the facilitator advertise table 151 to generate a broker advertise table 141 which has a structure similar to the facilitator advertise table 151.
  • The difference between the facilitator advertise table [0192] 151 and the broker advertise table 141 in the preferred embodiment of this invention lies only in that a service provider agent in which a control object coincides a condition including a predetermined category, describing language and ontology is extracted. Because the broker advertise table 141 extracts only a specific classification information(ontology only, category only, message type+subcategory+describing language, etc.)to which the service provider agent holding that table refers so that the broker advertise table only needs to control a minimum of information required to get access to the corresponding service provider agent, it may be controlled as a table which has a different structure from the facilitator advertise table 151.
  • Further, with a provision of an advertise table which is exactly the same as the facilitator advertise table [0193] 151, a service provider agent which meets a predetermined condition may be searched each time a process request is received from a regular agent. In the preferred embodiment of this invention, because the broker agent asks the facilitator agent 110 to forward a process request to a service provider agent having a predetermined condition or to introduce a service provider agent having a predetermined condition each time it receives a process request from a regular agent, it does not retain the broker advertise table 141.
  • FIG. 6 is an object interaction diagram showing steps of registering a service provider agent in the broker advertise table [0194] 141 by accessing to a facilitator agent.
  • At first, the [0195] travel broker agent 121 registers “its own name(object name)”, “the place it is(URL,etc.)”, and “its own class name” in a life cycle control mechanism of the facilitator agent 110.
  • Next, the [0196] travel broker agent 121 requests the facilitator agent 110 to introduce an agent (the facilitator agent itself in this case) who registers a category, subcategory, class name and agent name in the facilitator advertise table 151.
  • The [0197] facilitator agent 110 searches a record which was advertised prior to the request and, in finding an agent which matches the condition, generates a message packet having that advertise record as a content for return to the broker agent.
  • Because the [0198] broker agent 121 knows that the answer is the facilitator agent 10 itself, it throws a message packet of insert to the facilitator agent 110 for it to enter the information of the agent 121 in the database which is held by the facilitator agent 110.
  • The [0199] travel broker agent 121 then advertises its capability, i.e., expresses that “can answer that it throws a message in the form of broker-all(ask-all(:ontology=Travel, content=(flight . . . ))) to itself”.
  • The [0200] travel broker agent 121 tells the facilitator agent 110 “introduce(recommend-one) an agent who can subscribe ask-all to an agent who has information :flight in the content with YellowPage ontology”.
  • Because the [0201] travel broker agent 121 knows that the facilitator agent 110 has the capability from the answer returned therefrom, it throws to the facilitator agent 110 “subscribe(ask-all(:ontology=YellowPage, :content(:flight . . . )))”.
  • Because there is no advertise record that matches this query presently, the content of the tell answer is nothing. For subscribe, one tell is immediately returned to notify the current status of the facilitator advertise table [0202] 151.
  • One service provider agent then arises, registers itself to the [0203] facilitator agent 110 and asks for a partner to which it can insert its information.
  • Since the service provider agent knows that the answer from the [0204] facilitator agent 110 is the facilitator agent 110, it inserts its information to the facilitator advertise table 151 of the facilitator agent 110.
  • Because one service provider arose and the database in the [0205] facilitator agent 110 was updated, the facilitator agent 110, in detecting this, scans its own table for an agent who has subscribed to this information. In this example, the broker agent 121 is found and it sends a tell message as a notification to the broker agent 151.
  • Because the above described service provider agent is adopted in the registering procedure in the preferred embodiment of this invention, introduction of the broker agent and service provider agent can be dynamically dealt with. However, it is to be noted that such a system which can dynamically deal with introduction of the service provider agent and the broker agent is only one aspect of the preferred embodiment of this invention and the broker agent can simply access to the [0206] facilitator agent 110 upon introduction or start to extract necessary information or select information after all agent information have been received to establish a status in which necessary information is available to the broker agent.
  • An operational condition of the broker agent which received a process request from a regular agent in the preferred embodiment of this invention is next described with reference to the object interaction diagram in FIG. 7 and FIG. 8. [0207]
  • First at [0208] step 1, a regular agent 101 asks the facilitator agent 110 for the location of the travel broker agent 121 and receives at step 2 the reply based on the information of the facilitator advertise table 151.
  • Next at [0209] step 3, the regular agent 101, knowing the location of the travel broker agent 121, sends to the broker agent 121 a request “have all agents whose ontology is Travel and who can answer when asked about a flight information of an airplane take (broker) this job”. The :language to broker-all at this time is kqml and the ontology is travel-ontology. Thus a travel interpreter which is one of interpreters which are held by the travel broker agent 121 will be designated and take over processing.
  • The travel interpreter of the [0210] travel broker agent 121 internally converts the message broker-all at step 3 to recruit-all(meaning hiring an agent) and throws a request at steps 4 & 5 to each service provider agent who represents in advance the capability by advertise performative.
  • Each service provider agent returns information in return to this. In forward performative, the originator of the message is described in the :from keyword in the message packet. In the preferred embodiment of this invention, a reply is neglected if no reply is returned within some given time period. [0211]
  • The [0212] travel broker agent 121 converts information from each service provider to a list structure and returns it at step 8 to the regular agent which is a client.
  • FIG. 8 is an object interaction diagram showing an operational condition of a broker agent which received a process request from a regular agent in the preferred embodiment of the invention. [0213]
  • In FIG. 8, at [0214] step 1, the regular agent 101 first requests the travel broker agent “to hire(recruit-one) an agent whose ontology is Travel and who is capable of answering when asked about a flight information of air planes, and of being subscribed, and lets it do this job.
  • The [0215] travel broker agent 121, upon receiving this request, queries at step 2 the facilitator agent 110 of whether or not “an agent whose ontology is Travel and who is capable of answering when asked about a flight information of air planes, and of being subscribed” exists in the community.
  • The [0216] travel broker agent 121, at step 3, when finding the party it sought for, throws at step 4, a subscribe request packed in forward to the service broker agent. At this time the message packet is converted and an ontology of the content is made to Travel. The innermost content is processed by an interpreter owned by an airline agent who is a service provider.
  • The airline agent, upon receiving this, sends the flight information directly to the [0217] regular agent 101 at step 5. In addition, it notifies the regular agent 101 of any update of the flight information.
  • In the embodiment so far described, while the [0218] broker agent 121 requested a service provider agent of the same class to process and received and converted the process result(in the second embodiment, the service provider agent returned a reply directly to the regular agent), a manner in which a service provider agent which conducts a different kind of processing is requested to process will be next described, taking a reservation of a conference room for example.
  • In this example, a message packet contains information such as reservation ontology and roomReservation ontology, etc. [0219]
  • The reservation ontology has keywords including a start time, ending time, and attendees list while the roomReservation ontology is defined as a lower level of ontology of reservation ontology and has keywords including a list of attendees to the conference, the floor where the room is and the room number, etc. [0220]
  • In the preferred embodiment of this invention, a broker which controls the roomReservation ontology has a logic which interprets in the following way. [0221]
  • Logic 1: prepare a message packet like an ask-if message containing a schedule of the attendees between the start time and the ending time and give it to a calendar agent which controls the schedule of each attendee in the attendees list to see the schedule. [0222]
  • Logic 2: prepare an achieve message if the schedule is open and send and lock it (with or without time limit). [0223]
  • Logic 3: prepare a sorry message if the reply from other calendar agents tells “the time frame is not open” and return it to the client. [0224]
  • Logic 4: the broker agent prepares an achieve message again if the client follows with a conversation message which tells to change the time and give it to the calendar agents to unlock each calendar agent. [0225]
  • Logic 5: prepare a message packet like an ask-if message for the availability of conference rooms if the time of all calendar agent is open and give it to a conference room reservation agent to ask. The conference room reservation agent is treated in the same way as other calendar agents and is only asked about available time. This is repeated while the time of all agent is open or is suitably left to an operator's interaction of a client. Alternatively, it is possible to display a table of sum of available time for each agent. [0226]
  • Logic 6: prepare an achieve message packet and send a reservation if the time is open. [0227]
  • Logic 7: prepare a sorry message if the time is not open and return it to the client. In this case, an operator's judgment intervenes. Like the [0228] logic 4, the operator of the client will take some other action like changing the request.
  • An implementation of a broker agent in the preferred embodiment of this invention is now described with reference to FIG. 9. In implementing the broker agent, an agent is provided in which :language is kqml and ontology is kqml-ontology as a default behavior to broker-one, broker-all, recommend-one, recommend-all, recruit-one, recruit-all, etc. [0229]
  • The class which has this default behavior is named kqmlInterpreter class and has, as a method, broker-one, broker-all, recommend-one, recommend-all, recruit-one, recruit-all and ones corresponding to other performative. The broker agent is formed by subclassing this class and overriding the method to realize processing which is unique to the problem area. [0230]
  • A lower subclass in FIG. 9 first receives a request from the client and conducts a process which is unique to travel-ontology for example. Note that the content is described with kqml in this case. KqmlInterpreter class supports; [0231]
  • register, unregister, ask-one, ask-all, tell, insert, delete-one, advertise, unadvertise, recommend-all, recommend-one, sorry, error, subscribe, discard, forward, broker-one, broker-all, recruit-one, recruit-all. They belong to either one of LifeCycle ontology, YellowPage ontology and kqml ontology. In subclassing, an appropriate class will be subclassed. [0232]
  • Advantage of the Invention
  • As described above, this invention provides a communication system which is capable of flexibly and promptly dealing with a query from an agent. [0233]
  • In another aspect of this invention, a communication system is provided which reduces the amount of load born by users of agents. [0234]
  • In a further aspect of this invention, a communication system is provided which absorbs the difference between service provider agents. [0235]
  • In still another aspect of this invention, a communication system is provided which enables a desired process result to be built based on a plurality of different process results received from each service provider agent. [0236]
  • In still further aspect of this invention, a communication system is provided which enables a high speed operation by distributing tasks. [0237]
  • In a further aspect of this invention, a communication system is provided which is highly expandable by dynamically installing various agents. [0238]
  • In still further aspect of this invention, the work and the time required for developing and maintaining a program are reduced as much as possible in providing a support to communication among agents. [0239]
  • In a further aspect of this invention, a communication system is provided which is capable of flexibly dealing with conversations among agents. [0240]
  • In another aspect of this invention, a message processing system is provided which gives less load to a communication network. [0241]

Claims (26)

What is claimed:
1. A message processing method for execution by an agent community which includes regular agents for sending message packets to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
(a) receiving a message packet sent from a regular agent,
(b)determining whether or not said received message packet conforms a predetermined format,
(c) inquiring said facilitator agent to inspect whether or not a service provider agent having a predetermined service provider classification information is available,
(d) converting said received message packet, and
(e) sending said converted message packet to the available service provider agent.
2. A message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
(a) receiving a message packet sent from a regular agent,
(b) inquiring said facilitator agent to inspect whether or not a service provider agent having a predetermined service provider classification information is available, and
(c) sending a data which contains the content of said message packet to the available service provider agent.
3. A message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider er agent specifying information and a service provider agent classification information, said method comprising the steps of,
(a) receiving a message packet sent from a regular agent, and
(b) instructing a service provider agent which has a predetermined service provider agent classification information to send data including the content of said message packet to said facilitator agent.
4. A message processing method for execution by an agent community which includes a regular agent for sending a message packet and a request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for controlling a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
(a) receiving a message packet sent from a regular agent,
(b) determining whether or not said received message packet conforms a predetermined format,
(c) inquiring said facilitator agent to inspect whether or not a service provider agent having a predetermined service provider classification information is available,
(d) converting said received message packet according to correspond to said available service provider agent, and
(e) sending said converted message packet to said available service provider agent.
5. A message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a broker agent which retains a broker advertise table for maintaining a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said method comprising the steps of;
(a) receiving a message packet sent from a regular agent,
(b) determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to the broker advertise table, and
© sending the content of said message packet to said available service provider agent.
6. A message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a broker agent which retains a broker advertise table for maintaining a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said method comprising the steps of;
(a) receiving a message packet sent from a regular agent,
(b) determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to the broker advertise table,
© sending the content of said message packet to said available service provider agent.
(d) receiving a response message packet from said available service provider agent, and
(e) converting said received response message packet.
7. A message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
(a) receiving a message packet sent from a regular agent,
(b) analyzing said received message packet to determine the service provider agent classification information,
© specifying a service provider agent which corresponds to the determined service provider agent classification information,
(d) converting said received message packet, and
(e) sending said converted message packet to the corresponding service provider agent.
8. A message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a
plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
(a) receiving a message packet sent from a regular agent,
(b) analyzing said received message packet to determine the service provider agent classification information,
© specifying a service provider agent which corresponds to the determined service provider agent classification information,
(d) converting said received message packet,
(e) sending said converted message packet to the corresponding service provider agent,
(f) receiving a response message packet from said corresponding service provider agent, and
(g) converting said received responsee message packet.
9. A message processing method for execution by an agent community which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said method comprising the steps of;
(a) receiving a response message packet from said plurality of service provider agents, said response message packet being a process result of a message packet sent from a regular agent,
(b) converting said received message packet, and
© sending said converted message packet to said regular agent.
10. A community system which processes a message packet sent from a regular agent, said system comprising;
(a) a plurality of service provider agents for processing message packets,
(b) a facilitator agent for maintaining the service provider agent specifying information and the service provider agent classification information, and
© a broker agent for;
(c-1) receiving a message packet sent from said regular agent,
(c-2) determining whether or not said received message packet conforms a predetermined format,
(c-3) inquiring said facilitator agent to determine whether or not a service provider agent having a predetermined service provider agent classification information is available,
(c-4) converting said received message packet, and
(c-5) sending said converted message packet to said available service provider agent.
11. A community system which controls a plurality of service provider agents for processing a message packet sent from a regular agent, said system comprising;
(a) a facilitator agent for maintaining the service provider agent specifying information and the service provider agent classification information, and
(b) a broker agent for;
(b-1) receiving a message packet sent from said regular agent,
(b-2) inquiring said facilitator agent to determine whether or not a service provider agent having a predetermined service provider agent classification information is available, and
(b-3) sending data including the content of said message packet to said available service provider agent.
12. A community system which maintains a plurality of service provider agents for processing a message packet sent from a regular agent, said system comprising;
(a) a plurality of service provider agents for processing message packets,
(b) a facilitator agent for maintaining the service provider agent specifying information and the service provider agent classification information, and
© a broker agent for;
(c-1) receiving a message packet sent from said regular agent, and
(c-2) instructing said facilitator agent to send data including the content of said message packet to a service provider agent having a predetermined service provider agent classification information.
13. An agent community system comprising;
a broker agent for;
(a) receiving a message packet sent from a regular agent,
(b) retaining a broker advertise table for maintaining a service provider agent specifying information which specifies a service provider agent having a predetermined service provider agent information, among a plurality of service provider agents which process said message packets,
© determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to said broker advertise table, and
(d) sending data including the content of said message packet to said available service provider agent.
14. An agent community system comprising;
(a) a regular agent for sending a message packet to request to process said message packet,
(b) a plurality of service provider agents for processing said message packet,
© a facilitator agent for maintaining a service provider specifying information and a service provider classification information,
(d) a broker agent for;
(d-1) receiving a response message packet from said plurality of service provider agents, said response message packet being a process result of a message packet sent from said regular agent,
(d-2) converting said received message packet,
(d-3) sending said converted response message packet to said regular agent.
15. An agent community system which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet, and a facilitator agent for maintaining a service provider specifying information and a service provider classification information, said system comprising;
(a) means for receiving a message packet sent from a regular agent,
(b) means for inquiring said facilitator agent to determine whether or not a service provider agent having a predetermined service provider agent classification information is available, and
© means for sending data including the content of said message packet to said available service provider agent.
16. An agent community system which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet, and a facilitator agent for maintaining a service provider specifying information and a service provider classification information, said system comprising;
(a) means for receiving a message packet sent from a regular agent, and
(b) means for instructing said facilitator agent to send data including the content of said message packet to a service provider agent which has a predetermined service provider agent classification information.
17. A message processor comprising an agent community system which includes a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet, and a broker agent retaining a broker advertise table which maintains a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said system comprising;
(a) means for receiving a message packet sent from a regular agent,
(b) means for determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to said broker advertise table, and
© means for sending data including the content of said message packet to said available service provider agent.
18. A message processor comprising an agent community including a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said processor comprising;
(a) means for receiving a message packet sent from said regular agents,
(b) means for analyzing said receiver message packet to determine service provider agent classification information,
© means for specifying a service provider agent corresponding to said determined service provider agent classification information,
(d) means for converting said received message packet, and
(e) means for sending said converted message packet to said corresponding service provider agent.
19. A message processor comprising an agent community including a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said processor comprising;
(a) means for receiving a response message packet from said plurality of service provider agent, said response message packet being a process result of a message packet sent from a regular agents,
(b) means for converting said received response message packet, and
(c) means for sending said converted response message packet to said regular agent.
20. A recording media which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising;
(a) a program code for instructing said message processor to receive a message packet sent from a regular agent,
(b) a program code for instructing said message processor to inquire said facilitator agent to determine whether or not a service provider agent having a predetermined service provider agent classification information is available, and
© a program code for instructing said message processor to send data including the content of said message packet to said available service provider agent.
21. A recording media which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising;
(a) a program code for instructing said message processor to receive a message packet sent from a regular agent, and
(b) a program code for instructing said message processor to send data including the content of said message packet to a service provider agent having a predetermined service provider agent classification information.
22. A recording media which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a broker agent retaining broker advertise table which maintains a service provider agent specifying information that specifies a service provider agent having a predetermined service provider agent classification information, said program comprising;
(a) a program code for instructing said message processor to receive a message packet sent from a regular agent,
(b) a program code for instructing said message processor to determine whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to said broker advertise table, and
© a program code for instructing said message processor to send data including the content of said message packet to said available service provider agent.
23. A recording media which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising;
(a) a program code for instructing said message processor to receive a message packet sent from a regular agent, and
(b) a program code for instructing said message processor to analyze said received message packet to determine the service provider agent classification information,
© program code for instructing said message processor to specify an service provider agent corresponding to said determined service provider agent classification information,
(d) a program code for instructing said message processor to convert said received message packet, and
(e) a program code for instructing said message processor to send said converted message packet to said corresponding service provider agent.
24. A recording media which stores therein a message processing program for execution by a message processor comprising a regular agent for sending a message packet to request to process said message packet, a plurality of service provider agents for processing said message packet and a facilitator agent for maintaining a service provider agent specifying information and a service provider agent classification information, said program comprising;
(a) a program code for instructing said message processor to receive a response message packet sent from said plurality of service provider agent, said response message packet being a process result of a message packet sent from a regular agent,
(b) a program code for instructing said message processor to convert said received response message packet, and
© program code for instructing said message processor to send said converted response message packet to said regular agent.
25. A recording media which retains a broker advertise table for maintaining a service provider agent specifying information which specifies a service provider agent having a predetermined service provider agent classification information among a plurality of service provider agents which process message packets sent from regular agents.
26. A recording media which includes a broker agent for;
(a) receiving a message packet sent from a regular agent,
(b) retaining a broker advertise table to maintain a service provider agent specifying information which specifies a service provider agent having a predetermined service provider agent classification information among a plurality of service provider agents which process message packets,
© determining whether or not a service provider agent having a predetermined service provider agent classification information is available with reference to said broker advertise table, and
(d) sending data including the content of said message packet to said available service provider agent.
US09/092,130 1997-06-12 1998-06-05 Message handling method, Message handling apparatus, and memory media for storing a message handling apparatus controlling program Expired - Fee Related US6338081B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP15468897A JP3954689B2 (en) 1997-06-12 1997-06-12 Message processing method, message processing apparatus, and storage medium for storing program for controlling message processing
JP9-154688 1997-06-12
JP09-3068697 1997-06-12

Publications (2)

Publication Number Publication Date
US20010054105A1 true US20010054105A1 (en) 2001-12-20
US6338081B1 US6338081B1 (en) 2002-01-08

Family

ID=15589763

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/092,130 Expired - Fee Related US6338081B1 (en) 1997-06-12 1998-06-05 Message handling method, Message handling apparatus, and memory media for storing a message handling apparatus controlling program

Country Status (2)

Country Link
US (1) US6338081B1 (en)
JP (1) JP3954689B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110062A1 (en) * 2001-07-02 2003-06-12 Brian Mogler System and method for airline purchasing program management
US20060212320A1 (en) * 2001-04-20 2006-09-21 American Express Travel Related Services Company, Inc. System and method for travel carrier contract management and optimization
US20060287880A1 (en) * 2002-01-25 2006-12-21 American Express Travel Related Services Company, Inc. System and method for processing trip requests

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3883647B2 (en) * 1997-06-10 2007-02-21 インターナショナル・ビジネス・マシーンズ・コーポレーション Message processing method, message processing apparatus, and storage medium for storing program for controlling message processing
US6446108B1 (en) * 1997-07-18 2002-09-03 Lucent Technologies Inc. Method for wide area network service location
JPH1185524A (en) * 1997-09-05 1999-03-30 Toshiba Corp Device and method for processing information and recording medium recording information processing program
US6477563B1 (en) * 1998-04-13 2002-11-05 Kabushiki Kaisha Toshiba Agent system and information processing method for same
JP2000020443A (en) * 1998-07-02 2000-01-21 Victor Co Of Japan Ltd Software agent system
US6484155B1 (en) * 1998-07-21 2002-11-19 Sentar, Inc. Knowledge management system for performing dynamic distributed problem solving
US6742021B1 (en) 1999-01-05 2004-05-25 Sri International, Inc. Navigating network-based electronic information using spoken input with multimodal error feedback
US6851115B1 (en) * 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US7036128B1 (en) 1999-01-05 2006-04-25 Sri International Offices Using a community of distributed electronic agents to support a highly mobile, ambient computing environment
JP4256543B2 (en) * 1999-08-17 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Display information determination method and apparatus, and storage medium storing software product for display information determination
GB0012195D0 (en) * 2000-05-19 2000-07-12 Nokia Networks Oy Location information services
US7603415B1 (en) 2000-08-15 2009-10-13 ART Technology Group Classification of electronic messages using a hierarchy of rule sets
US6883014B1 (en) * 2000-10-19 2005-04-19 Amacis Limited Electronic message distribution
US7024462B1 (en) 2000-10-20 2006-04-04 Amacis Limited Electronic message routing
US6968367B1 (en) * 2000-10-23 2005-11-22 Itxc Ip Holdings, S.A.R.L. Method and apparatus for a distributed call servicing community
JP3803707B2 (en) 2000-12-28 2006-08-02 フューチャーシステムコンサルティング株式会社 Framework system
US20020169863A1 (en) * 2001-05-08 2002-11-14 Robert Beckwith Multi-client to multi-server simulation environment control system (JULEP)
JP2003132003A (en) * 2001-10-26 2003-05-09 Nec Corp Information brokerage system, method and program thereof
TW573266B (en) 2002-01-11 2004-01-21 Univ Nat Cheng Kung Universal service management system
US8020162B2 (en) 2002-07-19 2011-09-13 International Business Machines Corporation Employing a resource broker in managing workloads of a peer-to-peer computing environment
US7958496B2 (en) * 2003-12-22 2011-06-07 Telefonaktiebolaget L M Ericsson (Publ) Method of and system for application service exchange across different execution environments
US8086671B2 (en) * 2004-02-11 2011-12-27 Microsoft Corporation Systems and methods that facilitate in-order serial processing of related messages
US7962381B2 (en) * 2004-10-15 2011-06-14 Rearden Commerce, Inc. Service designer solution
US8180796B1 (en) 2005-03-29 2012-05-15 Rearden Commerce, Inc. Supplier integration with services business language
US8117340B2 (en) * 2005-04-25 2012-02-14 Microsoft Corporation Trans-network roaming and resolution with web services for devices
US8031852B2 (en) * 2005-04-26 2011-10-04 International Business Machines Corporation Method for increasing ease of doing business through use of an access point model
US20080004980A1 (en) * 2006-06-30 2008-01-03 Rearden Commerce, Inc. System and method for regulating supplier acceptance of service requests
US10554607B2 (en) * 2017-02-24 2020-02-04 Telefonaktiebolaget Lm Ericsson (Publ) Heterogeneous cloud controller

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110636A (en) * 1992-09-30 1994-04-22 Toshiba Corp Electronic office system
JPH076142A (en) * 1993-04-20 1995-01-10 Mitsubishi Electric Corp Multiagent coordination system and its method
US5603031A (en) 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
US5555376A (en) * 1993-12-03 1996-09-10 Xerox Corporation Method for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request
US5560005A (en) * 1994-02-25 1996-09-24 Actamed Corp. Methods and systems for object-based relational distributed databases
US5826020A (en) * 1994-09-30 1998-10-20 Hewlett-Packard Co. Workflow real time intervention
US5822585A (en) * 1995-02-21 1998-10-13 Compuware Corporation System and method for cooperative processing using object-oriented framework
US5862490A (en) * 1995-09-28 1999-01-19 Motorola, Inc. Communication services needs of a communication unit supplied through simultaneous affiliation with multiple service providers in a communication system
JPH0991358A (en) * 1995-09-28 1997-04-04 Fujitsu Ltd Device and method for providing information
US5794210A (en) * 1995-12-11 1998-08-11 Cybergold, Inc. Attention brokerage
US5768505A (en) * 1995-12-19 1998-06-16 International Business Machines Corporation Object oriented mail server framework mechanism
JP3622313B2 (en) * 1996-01-29 2005-02-23 株式会社日立製作所 Document management system
US5815665A (en) * 1996-04-03 1998-09-29 Microsoft Corporation System and method for providing trusted brokering services over a distributed network
US5937161A (en) * 1996-04-12 1999-08-10 Usa.Net, Inc. Electronic message forwarding system
JP3289605B2 (en) * 1996-06-21 2002-06-10 日本電気株式会社 Hardware resource management module common method
US5884324A (en) * 1996-07-23 1999-03-16 International Business Machines Corporation Agent for replicating data based on a client defined replication period
US5790789A (en) * 1996-08-02 1998-08-04 Suarez; Larry Method and architecture for the creation, control and deployment of services within a distributed computer environment
US5845267A (en) * 1996-09-06 1998-12-01 At&T Corp System and method for billing for transactions conducted over the internet from within an intranet
US6012083A (en) * 1996-09-24 2000-01-04 Ricoh Company Ltd. Method and apparatus for document processing using agents to process transactions created based on document content
US5961594A (en) * 1996-09-26 1999-10-05 International Business Machines Corporation Remote node maintenance and management method and system in communication networks using multiprotocol agents
US6065039A (en) * 1996-11-14 2000-05-16 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Dynamic synchronous collaboration framework for mobile agents
US6119229A (en) * 1997-04-11 2000-09-12 The Brodia Group Virtual property system
US6006260A (en) * 1997-06-03 1999-12-21 Keynote Systems, Inc. Method and apparatus for evalutating service to a user over the internet
US6055512A (en) * 1997-07-08 2000-04-25 Nortel Networks Corporation Networked personal customized information and facility services

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212320A1 (en) * 2001-04-20 2006-09-21 American Express Travel Related Services Company, Inc. System and method for travel carrier contract management and optimization
US20030110062A1 (en) * 2001-07-02 2003-06-12 Brian Mogler System and method for airline purchasing program management
US7856359B2 (en) 2001-07-02 2010-12-21 American Express Travel Related Services Company, Inc. System and method for airline purchasing program management
US20060287880A1 (en) * 2002-01-25 2006-12-21 American Express Travel Related Services Company, Inc. System and method for processing trip requests
US20060293931A1 (en) * 2002-01-25 2006-12-28 American Express Travel Related Services Company, Inc. System and method for processing trip requests
US7761314B2 (en) * 2002-01-25 2010-07-20 American Express Travel Related Services Company, Inc. System and method for processing trip requests
US7788117B2 (en) 2002-01-25 2010-08-31 American Express Travel Related Services Company, Inc. System and method for processing trip requests
US7805323B2 (en) 2002-01-25 2010-09-28 American Express Travel Related Services Company, Inc. System and method for processing trip requests
US7809592B2 (en) * 2002-01-25 2010-10-05 American Express Travel Related Services Company, Inc. System and method for processing trip requests
US7996248B2 (en) 2002-01-25 2011-08-09 American Express Travel Related Services Company, Inc. System and method for processing trip requests
US8090604B2 (en) 2002-01-25 2012-01-03 American Express Travel Related Services Company, Inc. System and method for processing trip requests

Also Published As

Publication number Publication date
JP3954689B2 (en) 2007-08-08
JPH1115796A (en) 1999-01-22
US6338081B1 (en) 2002-01-08

Similar Documents

Publication Publication Date Title
US6338081B1 (en) Message handling method, Message handling apparatus, and memory media for storing a message handling apparatus controlling program
US7512660B2 (en) Message handling method, message handling apparatus, and memory media for storing a message handling apparatus controlling program
US7428597B2 (en) Content-based routing system and method
US6772109B2 (en) Message handling method, message handling apparatus, and memory media for storing a message handling apparatus controlling program
US20120096108A1 (en) Managing application interactions using distributed modality components
KR100307973B1 (en) Information processing method and apparatus for preparing a gui on a client by utilizing an electronic mail or an agent, and a recording medium storing a program for controlling the information processing apparatus
Sillitti et al. Service oriented programming: a new paradigm of software reuse
EP1202489A2 (en) Classified on-line chat
US20240007422A1 (en) Chat bot control device, chat bot control method, and chat bot control device system
JP2002324055A (en) Message processing method
US20030212587A1 (en) Apparatus and methods for coordinating Web services using role based interpretation of coordination plans
CZ9903576A3 (en) Moving objects, moving object control method, method of and apparatus for generating moving objects, and storage medium for program for generating moving objects
JP2002108838A (en) Device and method for carrying out agent
GB2338575A (en) Message handling
Bates A framework to support large-scale active applications
JP2002328932A (en) Method and system for supporting work of responding to inquiries from users
JP3907295B2 (en) Information retrieval apparatus and method, and computer-readable storage medium
JPH0991234A (en) Work flow system
Dimitoglou et al. Middleware for large distributed systems and organizations
CN116109099A (en) Customer service scheduling method, customer service scheduling device, terminal equipment and storage medium
JP2003084992A (en) Rpc connection program between client server
JPH10275126A (en) Client server system that performs load decentralization control
JP2001282562A (en) System and method for executing task
KR20170136682A (en) International integration system and operation method thereof
JPH10275125A (en) Information distributing response system that many computers join

Legal Events

Date Code Title Description
AS Assignment

Owner name: IBM CORPORATION, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FURUSAWA, OSAMU;NAKADA, AKIFUMI;SUZUKI, TOSHIHIKO;AND OTHERS;REEL/FRAME:009282/0771;SIGNING DATES FROM 19980529 TO 19980603

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20140108