Software-based architecture for communication and cooperation among distributed electronic agents
DC CAFCFirst Claim
Patent Images
1. A computer-implemented method for communication and cooperative task completion among a plurality of distributed electronic agents, comprising the acts of:
- registering a description of each active client agent'"'"'s functional capabilities as corresponding registered functional capabilities, using an expandable, platform-independent, inter-agent language, wherein the inter-agent language includes;
a layer of conversational protocol defined by event types and parameter lists associated with one or more of the events, wherein the parameter lists further refine the one or more events;
a content layer comprising one or more of goals, triggers and data elements associated with the events;
receiving a request for service as a base goal in the inter-agent language, in the form of an arbitrarily complex goal expression; and
dynamically interpreting the arbitrarily complex goal expression, said act of interpreting further comprising;
generating one or more sub-goals expressed in the inter-agent language;
constructing a goal satisfaction plan wherein the goal satisfaction plan includes;
a suitable delegation of sub-goal requests to best complete the requested service request—
by using reasoning that includes one or more of domain-independent coordination strategies, domain-specific reasoning, and application-specific reasoning comprising rules and learning algorithms; and
dispatching each of the sub-goals to a selected client agent for performance, based on a match between the sub-goal being dispatched and the registered functional capabilities of the selected client agent.
2 Assignments
Litigations
7 Petitions
Accused Products
Abstract
A highly flexible, software-based architecture is disclosed for constructing distributed systems. The architecture supports cooperative task completion by flexible and autonomous electronic agents. One or more facilitators are used to broker communication and cooperation among the agents. The architecture provides for the construction of arbitrarily complex goals by users and service-requesting agents. Additional features include agent-based provision of multi modal interfaces, including natural language.
-
Citations
89 Claims
-
1. A computer-implemented method for communication and cooperative task completion among a plurality of distributed electronic agents, comprising the acts of:
-
registering a description of each active client agent'"'"'s functional capabilities as corresponding registered functional capabilities, using an expandable, platform-independent, inter-agent language, wherein the inter-agent language includes;
a layer of conversational protocol defined by event types and parameter lists associated with one or more of the events, wherein the parameter lists further refine the one or more events;
a content layer comprising one or more of goals, triggers and data elements associated with the events;
receiving a request for service as a base goal in the inter-agent language, in the form of an arbitrarily complex goal expression; and
dynamically interpreting the arbitrarily complex goal expression, said act of interpreting further comprising;
generating one or more sub-goals expressed in the inter-agent language;
constructing a goal satisfaction plan wherein the goal satisfaction plan includes;
a suitable delegation of sub-goal requests to best complete the requested service request—
by using reasoning that includes one or more of domain-independent coordination strategies, domain-specific reasoning, and application-specific reasoning comprising rules and learning algorithms; and
dispatching each of the sub-goals to a selected client agent for performance, based on a match between the sub-goal being dispatched and the registered functional capabilities of the selected client agent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A computer program stored on a computer readable medium, the computer program executable to facilitate cooperative task completion within a distributed computing environment, the distributed computing environment including a plurality of autonomous electronic agents, the distributed computing environment supporting an Interagent Communication Language, the computer program comprising computer executable instructions for:
-
providing an agent registry that declares capabilities of service-providing electronic agents currently active within the distributed computing environment;
interpreting a service request in order to determine a base goal that may be a compound, arbitrarily complex base goal, the service request adhering to an Interagent Communication Language (ICL), where in the ICL includes;
a layer of conversational protocol defined by event types and parameter lists associated with one or more of the events, wherein the parameter lists further refine the one or more events; and
a content layer comprising one or more of goals, triggers and data elements associated with the events;
the act of interpreting including the sub-acts of;
determining any task completion advice provided by the base goal, and determining any task completion constraints provided by the base goal;
constructing a base goal satisfaction plan including the sub-acts of;
determining whether the request service is available, determining sub-goals required in completing the base goal by using reasoning that includes one or more of domain-independent coordination strategies, domain-specific reasoning, and application-specific reasoning comprising rules and learning algorithms, selecting service-providing electronic agents from the agent registry suitable for performing the determined sub-goals, and ordering a delegation of sub-goal requests complete the requested service; and
implementing the base goal satisfaction plan. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. An Interagent Communication Language (ICL) providing a basis for facilitated cooperative task completion within a distributed computing environment having a facilitator agent and a plurality of autonomous service-providing electronic agents, wherein:
-
the ICL having;
a layer of conversational protocol defined by event types and parameter lists associated with one or more of the events, wherein the parameter lists further refine the one or more events; and
a content layer comprising one or more of goals, triggers and data elements associated with the events;
the ICL having one or more features from a set of features comprising;
enabling agents perform queries of other agents;
enabling agents to exchange information with other gents; and
enabling agents to set triggers within other agents; and
the ICL having a syntax supporting compound goal expressions wherein said compound goal expressions are such that goals within a single request provided according to the ICL syntax may be coupled by one or more operators from a set of operators comprising;
a conditional execution operator; and
a parallel disjunctive operation that indicates that disjunct goals are to be performed by different agents. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
-
-
61. A facilitator agent arranged to coordinate cooperative task completion within a distributed computing environment having a plurality of autonomous service-providing electronic agents, the facilitator agent comprising:
-
an agent registry that declares capabilities of service-providing electronic agents currently active within the distributed computing environment; and
a facilitating engine operable to parse a service requesting order to interpret a compound goal set forth therein, the compound goal including both local and global constraints and control parameters, the service request formed according to an Interagent Communication Language (ICL), wherein the ICL includes;
a layer of conversational protocol defined by event types and parameter lists associated with one or more of the events, wherein the parameter lists further refine the one or more events; and
a content layer comprising one or more of goals, triggers and data elements associated with the events; and
the facilitating engine further operable to construct a goal satisfaction plan by using reasoning that includes one or more of domain-independent coordination strategies, domain-specific reasoning, and application-specific reasoning comprising rules and learning algorithms. - View Dependent Claims (62, 63, 64, 65, 66, 67, 68, 69, 70)
-
-
71. A software-based, flexible computer architecture for communication and cooperation among distributed electronic agents, the architecture contemplating a distributed computing system comprising:
-
a plurality of service-providing electronic agents;
an Interagent Communication Language (ICL), wherein the inter-agent language includes;
a layer of conversational protocol defined by event types and parameter lists associated with one or more of the events, wherein the parameter lists further refine the one or more events; and
a content layer comprising one or more of goals, triggers and data elements associated with the events; and
a facilitator agent in bi-directional communications with the plurality of service-providing electronic agents, the facilitator agent including;
an agent registry that declares capabilities of service-providing electronic agents currently active within the distributed computing environment;
a facilitating engine operable to parse a service request in order to interpret an arbitrarily complex goal set forth therein, the facilitating engine further operable to construct a goal satisfaction plan including the coordination of a suitable delegation of sub-goal requests to best complete the requested service by using reasoning that includes one or more of domain-independent coordination strategies, domain-specific reasoning, and application-specific reasoning comprising rules and learning algorithms. - View Dependent Claims (72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85)
-
-
86. A data wave carrier providing a transport mechanism for information communication in a distributed computing environment having at least one facilitator agent and at least one active client agent, and an Interagent Communication Language (ICL), wherein the ICL includes:
-
a layer of conversational protocol defined by event types and parameter lists associated with one or more of the events, wherein the parameter lists further refine the one or more events; and
a content layer comprising one or more of goals, triggers and data elements associated with the events;
wherein said at least one facilitator agent is operable to construct a goal satisfaction plan by using reasoning that includes one or more of domain-independent coordination strategies, domain-specific reasoning, and application-specific reasoning comprising rules and learning algorithms for satisfying one or more requests for service from said at least one active client agent, the data wave carrier comprising a signal representation of an inter-agent language description of an active client agent'"'"'s functional capabilities. - View Dependent Claims (87, 88, 89)
-
Specification