Intelligent software agent system architecture
First Claim
1. A bot system comprising:
- a first software component [mBot] for execution on a local client platform; and
a second software component [sBot] associated with the first software component for execution on a first server platform remote from the client platform;
said execution of the sBot commencing in response to a launch message initiated by the first software component; and
a third [botBox] software component for execution on a second server platform remote from the client platform;
the third software component implementing data storage for use by the first and second software components.
6 Assignments
0 Petitions
Accused Products
Abstract
A software architecture supports deployment of mobile software agents over the Internet. Mobile software agents or “bots” are bifurcated into two parts, a first part executable on a user'"'"'s client platform (“mBot”), and a corresponding second part, called “sBot,” executable on a remote “bot server”. botServer implements virtual “meeting places” for visiting bots, and provides event notification, plug-ins and other services. The new system further includes a component called “botBox” executable on another server (which may be the same as the bot server), that tracks the status and locations of running bots, handles communications, and enables continuing operation while the user is off-line. Knowledge about the user, including private information, is finely controlled by custom user profiles which are defined by the user, but made available to the remote-executing sBot only through the botBox intermediary.
249 Citations
82 Claims
-
1. A bot system comprising:
-
a first software component [mBot] for execution on a local client platform; and
a second software component [sBot] associated with the first software component for execution on a first server platform remote from the client platform;
said execution of the sBot commencing in response to a launch message initiated by the first software component; and
a third [botBox] software component for execution on a second server platform remote from the client platform;
the third software component implementing data storage for use by the first and second software components. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A bot system comprising:
-
a first software component [mBot] for execution on a local client platform;
a second software component [sBot] associated with the first software component as a sibling for execution on a first server platform remote from the client platform to implement predetermined logic;
a first bot management application program (botMaster) executable on the local client platform, the botMaster program including means for creating a user model comprising knowledge about a user of the botMaster, and further including means for creating at least one user profile based on the user model; and
a third [botBox] software component for execution on a second server platform remote from the client platform;
the third software component botBox including means for storing a copy of the user profile on the second server platform for access by the sibling sBot. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A botServer computer program for execution on a first server platform comprising:
-
a botServer core software component for managing operation of the botServer;
a botExecutor component for managing execution of one or more sBots under direction of the core component; and
a communication component for managing communications between the core component and at least one external program. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A botServer computer program for execution on a first server platform for hosting at least one sBot comprising:
-
a botServer core software component for managing operation of the botServer, the core providing an event registry;
a botexecutor component for managing execution of one or more sBots under direction of the core component, the botExecutor implementing a container for safe execution of an sBot; and
the core including means for directing the botExecutor component to notify a specified executing sBot in response to an occurrence of a selected event previously entered in the event registry; and
the botServer further comprising an sBot repository for storing at least one sBot class code; and
wherein the botExecutor maintains an inventory of sBot classes stored in the repository, and the botExecutor includes means for instantiating a specified sBot from a corresponding sBot class stored in the repository responsive to a loading message from the botServer core. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. An mBot application program for execution on a local client platform in association with a sibling sBot program executable on a first server platform remote from the local client platform, the mBot program comprising:
-
a graphical user interface for interacting with a user;
a core logic component for implementing a predetermined behavior, the logic block being configurable by the user via the graphical user interface;
an mBot data component for managing mBot data storage and manipulation;
a task data component for managing task data storage and manipulation; and
means for communicating with the sibling sBot. - View Dependent Claims (51, 52, 53, 54)
-
-
55. A [botMaster] bot management application program for use by a user on a local client platform, the program comprising:
-
a botMaster core component for supervising operation of the bot management application;
a botmanager component for downloading and installing an mBot executable on the local client platform; and
means for establishing a botBox account on a remote server on behalf of an mBot. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63)
-
-
64. A bot management application program including means for creating at least one user profile based on the user model.
-
65. An sBot program for execution on a server platform in association with a sibling mBot program executable on a remote client platform, the sBot comprising:
-
a core component implementing a predetermined functionality; and
means for communicating with a second server to interact with the sibling mBot. - View Dependent Claims (66, 67, 68, 69)
-
-
70. A method of implementing a software agent bot comprising the steps of:
-
designing a software agent to implement a desired functionality;
bifurcating the software agent functionality so as to form two parts—
a first component mBot for execution on a user'"'"'s local client machine, and a second sBot component for execution on a server platform remote from the user'"'"'s local client machine;
assigning a common identifier both to the mBot component and to the sBot component, thereby associating the mBot and sBot components as siblings; and
distributing the mBot component and the sBot component. - View Dependent Claims (71, 72, 73, 74, 75)
-
-
76. A method of deploying a software agent from a client platform comprising the steps of:
-
selecting a bot program to carry out a desired functionality, the bot program comprising a client side application and a corresponding server side application;
commencing execution of the client side application on the client platform;
initializing an [botBox] anchor program on a first server remote from the client platform;
sending a first message from the client platform to the anchor program to request launching the server side application;
in the first remote server, responsive to the first message, determining a location of the server side application, and sending a second message to the determined location to request launching of the server side application; and
thencommencing execution of the server side application on a second server at the determined location remote from the client platform. - View Dependent Claims (77, 78, 79)
-
-
80. A method of migrating a software agent from a client platform comprising the steps of:
-
selecting a bot program to carry out a desired task, the bot program comprising a client side application mBot and a corresponding server side application, namely a first sBot;
commencing execution of the mBot on the client platform;
establishing an anchor program botBox on a first server remote from the client platform;
launching the first sBot on a second server remote from the client platform;
storing at the botBox an indication of a current location of the first sBot;
creating a second sBot associated with the first sBot;
launching the second sBot on a third server remote from the client platform;
updating the indication of a current location of the first sBot to reflect a location of the second sBot;
terminating execution of the first sBot, thereby effectively migrating the first sBot to the third server. - View Dependent Claims (81, 82)
-
Specification