Multi-agent system for digital home/office
First Claim
1. A method for controlling a system comprising a user agent, associated with a user, and a plurality of appliances each having a corresponding appliance agent, said method comprising steps of:
- sending, by the user agent, a first action message to a first appliance agent, thereby to direct a corresponding first appliance to perform a first action, wherein control over said first action thereby passes from the user agent to the first appliance agent;
performing said first action by the first corresponding appliance if said first corresponding appliance is capable of doing so; and
sending, by the first appliance agent, if the first corresponding appliance is not capable of performing the first action, a second action message dependent upon the first action message to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action;
wherein control over said second action thereby passes from the first appliance agent to the second appliance agent.
1 Assignment
0 Petitions
Accused Products
Abstract
A method (1800) for controlling a system comprising a plurality of appliances, each said appliance having a corresponding appliance agent, and a user agent, associated with a user is disclosed. The method detecting (1802) an interaction of the user with a corresponding first appliance, communicating (1804) this to the user agent to thereby update a user profile, sending (1808) a first action message dependent upon the user profile and upon said one of the interaction to the first appliance agent to direct the corresponding first appliance to perform a first action, wherein control over said first action thereby passes from the user agent to the first appliance agent. The method farther comprises sending (1816) a second action message dependent upon the first action message if the first appliance cannot perform the necessary action to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action, wherein control over said second action thereby passes from the first appliance agent to the second appliance agent.
35 Citations
26 Claims
-
1. A method for controlling a system comprising a user agent, associated with a user, and a plurality of appliances each having a corresponding appliance agent, said method comprising steps of:
-
sending, by the user agent, a first action message to a first appliance agent, thereby to direct a corresponding first appliance to perform a first action, wherein control over said first action thereby passes from the user agent to the first appliance agent;
performing said first action by the first corresponding appliance if said first corresponding appliance is capable of doing so; and
sending, by the first appliance agent, if the first corresponding appliance is not capable of performing the first action, a second action message dependent upon the first action message to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action;
wherein control over said second action thereby passes from the first appliance agent to the second appliance agent. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for controlling a plurality of appliances, the system including a user agent, associated with a user, and said plurality of appliances each having a corresponding appliance agent, wherein:
-
the user agent includes sending means for sending a first action message to a first appliance agent, thereby to direct a corresponding first appliance to perform a first action, wherein control over said first action thereby passes from the user agent to the first appliance agent; and
the first appliance agent includes sending means for sending, if the first corresponding appliance is not capable of performing the first action, a second action message dependent upon the first action message to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action;
wherein control over said second action thereby passes from the first appliance agent to the second appliance agent.
-
-
7. A computer program product including a computer readable medium having recorded thereon at least one computer program module for directing at least one corresponding processor to execute a method for controlling a plurality of appliances in a system comprising a user agent, associated with a user, and corresponding appliance agents for the plurality of appliances, said at least one computer program module comprising:
-
code for sending, by the user agent, a first action message to a first appliance agent, thereby to direct a corresponding first appliance to perform a first action, wherein control over said first action thereby passes from the user agent to the first appliance agent; and
code for sending, by the first appliance agent, if the first corresponding appliance is not capable of performing the first action, a second action message dependent upon the first action message to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action;
wherein control over said second action thereby passes from the first appliance agent to the second appliance agent.
-
-
8. A computer program comprising at least one computer program module for directing at least one corresponding processor to execute a method for controlling a plurality of appliances in a system comprising a user agent, associated with a user, and corresponding appliance agents for the plurality of appliances, said at least one computer program module comprising:
-
code for sending, by the user agent, a first action message to a first appliance agent, thereby to direct a corresponding first appliance to perform a first action, wherein control over said first action thereby passes from the user agent to the first appliance agent; and
code for sending, by the first appliance agent, if the first corresponding appliance is not capable of performing the first action, a second action message dependent upon the first action message to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action;
wherein control over said second action thereby passes from the first appliance agent to the second appliance agent.
-
-
9. A television signal receiving apparatus being capable of communicating with a plurality of appliances, said television signal receiving apparatus comprising a signal receiving means for receiving a television signal, a user agent associated with a user, and a plurality of appliance agents each associated with a corresponding one of said appliances, wherein:
-
the user agent includes sending means for sending a first action message to a first appliance agent, thereby to direct a corresponding first appliance to perform a first action, wherein control over said first action thereby passes from the user agent to the first appliance agent; and
the first appliance agent includes sending means for sending, if the first corresponding appliance is not capable of performing the first action, a second action message dependent upon the first action message to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action wherein control over said second action thereby passes from the first appliance agent to the second appliance agent.
-
-
10. A method for controlling a system comprising a plurality of appliances, each said appliance having a corresponding appliance agent, and a user agent, associated with a user, said method comprising steps of:
-
detecting by a first appliance agent at least one of (i) an interaction of the user with a corresponding first appliance, and (ii) an event associated with said corresponding first appliance;
communicating by the first appliance agent to the user agent, an updating message dependent upon said at least one of said interaction and said event;
updating a user profile by the user agent dependent upon said updating message;
sending, by the user agent, a first action message dependent upon the user profile and upon said one of the interaction and the event to the first appliance agent, thereby to direct the corresponding first appliance to perform a first action;
wherein control over said first action thereby passes from the user agent to the first appliance agent;
performing said first action by the first corresponding appliance if a first status of the first appliance so permits; and
sending, if the first status does not so permit, by the first appliance agent, a second action message dependent upon the first action message and the first status to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action;
wherein control over said second action thereby passes from the first appliance agent to the second appliance agent.
-
-
11. A system for controlling a plurality of appliances, each said appliance having a corresponding appliance agent, the system including a user agent, associated with a user, wherein:
-
(a) a first one of said corresponding appliance agents includes;
detecting means for detecting at least one of (i) an interaction of the user with a corresponding first appliance, and (ii) an event associated with said corresponding first appliance; and
communicating means for communicating to the user agent, an updating message dependent upon said at least one of said interaction and said event;
(b) the user agent includes;
updating means for updating a user profile dependent upon said updating message; and
sending means for sending a first action message dependent upon the user profile and upon said one of the interaction and the event to the first appliance agent, thereby to direct the corresponding first appliance to perform a first action;
wherein control over said first action thereby passes from the user agent to the first appliance agent; and
wherein;
(c) said first one of said corresponding appliance agents further includes sending means for sending, if a first status of the first corresponding appliance does not permit the first corresponding appliance to perform the first action, a second action message dependent upon the first action message and the first status to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action;
wherein control over said second action thereby passes from the first appliance agent to the second appliance agent. - View Dependent Claims (15, 16)
-
-
12. A computer program product including a computer readable medium having recorded thereon at least one computer program module for directing at least one corresponding processor to execute a method for controlling a plurality of appliances in a system comprising a user agent, associated with a user, and corresponding appliance agents for the plurality of appliances, said at least one computer program module comprising:
-
code for detecting by a first appliance agent at least one of (i) an interaction of the user with a corresponding first appliance, and (ii) an event associated with said corresponding first appliance;
code for communicating by the first appliance agent to the user agent, an updating message dependent upon said at least one of said interaction and said event;
code for updating a user profile by the user agent dependent upon said updating message;
code for sending, by the user agent, a first action message dependent upon the user profile and upon said one of the interaction and the event to the first appliance agent, thereby to direct the corresponding first appliance to perform a first action;
wherein control over said first action thereby passes from the user agent to the first appliance agent; and
code for sending, if the first status does not so permit, by the first appliance agent, a second action message dependent upon the first action message and the first status to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action;
wherein control over said second action thereby passes from the first appliance agent to the second appliance agent.
-
-
13. A computer program comprising at least one computer program module for directing at least one corresponding processor to execute a method for controlling a plurality of appliances in a system comprising a user agent, associated with a user, and corresponding appliance agents for the plurality of appliances, said at least one computer program module comprising:
-
code for detecting by a first appliance agent at least one of (i) an interaction of the user with a corresponding first appliance, and (ii) an event associated with said corresponding first appliance;
code for communicating by the first appliance agent to the user agent, an updating message dependent upon said at least one of said interaction and said event;
code for updating a user profile by the user agent dependent upon said updating message;
code for sending, by the user agent, a first action message dependent upon the user profile and upon said one of the interaction and the event to the first appliance agent, thereby to direct the corresponding first appliance to perform a first action;
wherein control over said first action thereby passes from the user agent to the first appliance agent; and
code for sending, if the first status does not so permit, by the first appliance agent, a second action message dependent upon the first action message and the first status to a second appliance agent, thereby to direct a corresponding second appliance to perform a second action;
wherein control over said second action thereby passes from the first appliance agent to the second appliance agent.
-
-
14. A system for controlling at least one appliance, the system comprising:
-
an appliance agent adapted to sense an interaction of a user with the at least one appliance;
a user agent associated with the user;
communicating means for communicating data between the appliance agent and the user agent, said data being dependent upon the interaction;
updating means for updating by the user agent a user profile in accordance with the data;
detecting means for detecting by the user agent an event associated with said at least one appliance; and
directing means for providing, by the user agent, a direction based upon at least one of the user profile and the event, to the at least one appliance if a criterion is satisfied.
-
-
17. A method of controlling at least one appliance, said method comprising steps of:
-
sensing by an appliance agent an interaction of a user with the at least one appliance;
communicating data between the appliance agent and a user agent, said data being dependent upon the interaction;
updating by the user agent a user profile in accordance with the data;
detecting by the user agent an event associated with said at least one appliance; and
providing, by the user agent, a direction based upon at least one of the user profile and the event, to the at least one appliance if a criterion is satisfied.
-
-
18. A computer readable medium for storing a program for a system for controlling at least one appliance, said program comprising:
-
code for a sensing step for sensing by an appliance agent an interaction of a user with the at least one appliance;
code for a communicating step for communicating data between the appliance agent and a user agent, said data being dependent upon the interaction;
code for an updating step for updating by the user agent a user profile in accordance with the data;
code for a detecting step for detecting by the user agent an event associated with said at least one appliance; and
code for a providing step for providing, by the user agent, a direction based upon at least one of the user profile and the event, to the at least one appliance if a criterion is satisfied.
-
-
19. A user agent computer program for directing a processor to execute a method for controlling an appliance having an associated appliance agent computer program, the user agent program comprising:
-
code for receiving an updating message from the appliance agent, said updating message being dependent upon at least one of (i) an interaction of a user with the appliance, and (ii) an event associated with said appliance;
code for updating a user profile dependent upon the updating message; and
code for sending an action message dependent upon the user profile and said at least one of (i) the interaction and (ii) the event, to the appliance agent, thereby to direct the appliance to perform a first action, wherein control over said first action thereby passes from the user agent to the appliance agent.
-
-
20. A computer program product including a computer readable medium having recorded thereon a user agent computer program for directing a processor to execute a method for controlling an appliance having an associated appliance agent computer program, the user agent program comprising:
-
code for receiving an updating message from the appliance agent, said updating message being dependent upon at least one of (i) an interaction of a user with the appliance, and (ii) an event associated with said appliance;
code for updating a user profile dependent upon the updating message; and
code for sending an action message dependent upon the user profile and said at least one of (i) the interaction and (ii) the event, to the appliance agent, thereby to direct the appliance to perform a first action, wherein control over said first action thereby passes from the user agent to the appliance agent.
-
-
21. An appliance agent computer program associated with an appliance, said program adapted for directing a processor of the appliance to execute a method for controlling the appliance, the program comprising:
-
code for receiving a first action message from a user agent;
code for directing the appliance to perform a first action based upon the first action message;
code for amending the first action message to be intelligible to other appliance agent, if the appliance is unable to perform the first action; and
code for sending the amended action message to the other appliance agent, wherein control over said first action thereby passes to the other appliance agent. - View Dependent Claims (22, 26)
-
-
23. A computer program product including a computer readable medium having recorded thereon an appliance agent computer program associated with an appliance, said program adapted for directing a processor of the appliance to execute a method for controlling the appliance, the program comprising:
-
code for receiving a first action message from a user agent;
code for directing the appliance to perform a first action based upon the first action message;
code for amending the first action message to be intelligible to another appliance agent, if the appliance is unable to perform the first action; and
code for sending the amended action message to the other appliance agent, wherein control over said first action thereby passes to the other appliance agent.
-
-
24. An inter agent server computer program adapted for directing a processor of an appliance to execute a method for controlling the appliance, the program comprising:
-
code for receiving a query from an appliance agent, said query requesting identification of a suitable alternate appliance to perform an action;
code for querying an inter agent server database to thereby identify said suitable alternate appliance on the basis of relevant information for a plurality of alternate appliances registered by the inter agent server;
code for selecting the suitable alternate appliance on the basis of the action; and
code for advising the appliance agent of the suitable alternate appliance.
-
-
25. A computer program product including a computer readable medium having recorded thereon an appliance agent computer program associated with an appliance, said program adapted for directing a processor of the appliance to execute a method for controlling the appliance, the program comprising:
-
code for receiving a query from an appliance agent, said query requesting identification of a suitable alternate appliance to perform an action;
code for querying an inter agent server database to thereby identify said suitable alternate appliance on the basis of relevant information for a plurality of alternate appliances registered by the inter agent server;
code for selecting the suitable alternate appliance on the basis of the action; and
code for advising the appliance agent of the suitable alternate appliance.
-
Specification