System for distributed task execution
First Claim
1. A method for enabling tasks to be done on a network comprising computers and a communication medium, comprising,at each of the computers, receiving mobile programs over the network, each mobile program having a structure of parts arranged to enable the structure and the parts to be commonly understood and processed at any of the computers in the network, the structure including an identifier that is globally unique at a given time across the network and that permits the existence and location of the mobile program to be controlled and determined at any of the computers in the network for at least as long as the mobile program exists;
- navigation information defining a route through the network; and
information concerning a task to be done, the information being expressed in a manner that permits it to be interpreted at any of the computers in the network, at each of the computers in the network, advancing the execution of tasks associated with the mobile programs, storing the mobile programs, creating the mobile programs, and communicating the mobile programs over the network.
0 Assignments
0 Petitions
Accused Products
Abstract
Tasks can be done on a network of multiple computers interconnected by communication links. At each of the computers, Knowbot programs may be received and transmitted on the communication links, and may be stored and created; and execution of the tasks associated with the Knowbot programs may be advanced. Each Knowbot program includes a globally unique identifier; navigation information defining a route through the network; and information concerning a task to be done. Knowbot programs may interact with each other and with other network resources. Authenticated Knowbot service stations and Couriers may be used to protect data as well as control its application in the network environment according to stated terms and conditions.
207 Citations
59 Claims
-
1. A method for enabling tasks to be done on a network comprising computers and a communication medium, comprising,
at each of the computers, receiving mobile programs over the network, each mobile program having a structure of parts arranged to enable the structure and the parts to be commonly understood and processed at any of the computers in the network, the structure including an identifier that is globally unique at a given time across the network and that permits the existence and location of the mobile program to be controlled and determined at any of the computers in the network for at least as long as the mobile program exists; - navigation information defining a route through the network; and
information concerning a task to be done, the information being expressed in a manner that permits it to be interpreted at any of the computers in the network,at each of the computers in the network, advancing the execution of tasks associated with the mobile programs, storing the mobile programs, creating the mobile programs, and communicating the mobile programs over the network. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 47, 48, 49, 50)
interacting with a participant at the computer to enable the participant to define the task to be executed, and embedding information related to the defined task in one of the mobile programs. -
4. The method of claim 3 wherein the participant comprises a person.
-
5. The method of claim 3 wherein the participant comprises a process running on a computer.
-
6. The method of claim 3 wherein the participant comprises a mobile program running on a computer.
-
7. The method of claim 1 or 2 further comprising, at the computer, interpreting task information contained in mobile programs.
-
8. The method of claim 1 or 2 wherein the step of advancing the execution of tasks includes interacting with repositories of digital objects.
-
9. The method of claim 1 or 2 wherein the step of advancing the execution of a task includes querying a database of information or other data.
-
10. The method of claim 1 or 2 wherein the information concerning a task to be done includes interpretable or executable instructions.
-
11. The method of claim 1 or 2 wherein the step of advancing the execution of a task includes applying stored expert knowledge.
-
12. The method of claim 1 or 2 wherein the mobile program also contains a digital object.
-
13. The method of claim 12 wherein the digital object includes protocol transformation information.
-
14. The method of claim 1 or 2 wherein the step of advancing the execution of a task includes protocol transformation.
-
15. The method of claim 1 or 2 wherein the step of advancing the execution of a task includes providing a directory service identifying other locations which provide services related to the task.
-
16. The method of claim 1 or 2 wherein the step of advancing the execution of a task includes making a security determination.
-
17. The method of claim 1 or 2 wherein the step of advancing execution of a task includes providing a “
- what'"'"'s new”
service.
- what'"'"'s new”
-
18. The method of claim 1 or 2 wherein the step of advancing execution of a task includes providing a “
- clipping”
or “
abstracting”
service.
- clipping”
-
19. The method of claim 1 or 2 wherein the step of advancing execution of a task includes providing a version control service for managing versions of the mobile program.
-
20. The method of claim 1 or 2 wherein the step of advancing execution of a task includes determining the structure of a mobile program and for accessing its elements.
-
21. The method of claim 1 or 2 wherein the step of advancing execution of a task includes responding to actions of a user by obtaining execution of the task at another location without indicating to the user that the execution occurred at the other location.
-
22. The method of claim 1 or 2 wherein the step of advancing execution of a task includes creating a derivative work from an existing work.
-
23. The method of claim 1 or 2 wherein the step of advancing execution of a task includes generating another mobile program.
-
24. The method of claim 1 or 2 wherein the step of advancing execution of a task includes passing a message from a source mobile program to a target mobile program at the same location or at a different location.
-
25. The method of claim 24 wherein the same message is passed to multiple mobile programs.
-
47. The method of claim 1 or 2 wherein the mobile programs further include authentication information.
-
48. The method of claim 1 or 2 wherein the mobile programs further include scheduling information.
-
49. The method of claim 1 or 2 wherein the mobile programs further include payment information.
-
50. The method of claim 1 or 2 wherein the mobile program is persistent.
- navigation information defining a route through the network; and
-
2. A method for enabling a computer on a network comprising computers and a communication medium to participate in a distributed mobile-program service environment, comprising, at the computer
receiving mobile programs over the network, each mobile program including an identifier that is globally unique at a given time across the network and that permits the existence and location of the mobile program to be controlled and determined at any of the computers in the network for at least as long as the mobile program exists; - navigation information defining a route through the network; and
information concerning a task to be done, the information being expressed in a manner that permits it to be interpreted at any of the computers in the network,at each of the computers in the network, advancing the execution of tasks associated with the mobile programs, storing the mobile programs, creating the mobile programs, and communicating the mobile programs over the network.
- navigation information defining a route through the network; and
-
26. A method for executing a local query of a remote repository via a communication medium of a network where the local query complies with a query protocol and the remote repository is responsive to queries which comply with a repository protocol, comprising
locally generating a mobile program which is based on the local query and complies with a mobile program protocol, sending the mobile program to the remote repository via the communication channel of the network, at the remote repository, responding to the mobile program by querying the repository in accordance with the repository protocol, and returning the results of the query from the remote repository within a return mobile program which complies with the mobile-program protocol.
-
51. Apparatus for enabling tasks to be done on a network comprising computers and a communication medium, comprising
a mobile-program service environment including, at each of the computers on the network, a mobile-program service station in the form of software running on a computer, the service station providing services which include receiving mobile programs over the network, each mobile program having a structure of parts arranged to enable the structure and the parts to be commonly understood and processed at any of the computers in the network, the structure including an identifier that is globally unique across the network and that permits the existence and location of the mobile program to be controlled and determined at any of the computers in the network for at least as long as the mobile program exists; - navigation information defining a route through the network; and
information concerning a task to be done, the information being expressed in a manner that permits it to be interpreted at any of the computers in the network,advancing the execution of tasks associated with the mobile programs at each of the computers in the network, storing the mobile programs, creating the mobile programs, and communicating the mobile program over the network.
- navigation information defining a route through the network; and
-
52. A method for executing a local query of a remote knowledge-based system via a communication medium of a network where the local query complies with a query protocol and the remote knowledge-based system is responsive to queries which comply with a knowledge-based system protocol, comprising
locally generating a mobile program which is based on the local query and complies with a mobile program protocol, sending the mobile program to the remote knowledge-based system via the communication medium of the network, at the remote knowledge-based system, responding to the mobile program by querying the knowledge-based system in accordance with the knowledge-based system protocol, and returning the results of the query from the remote knowledge-based system within a return mobile program which complies with the mobile program protocol.
-
53. A method for retrieving a digital object from a remote system, in which
the remote system incorporates the object in a mobile program, the mobile program is sent to the local system, a local user accesses the digital object via the mobile program, the mobile program restricts access to portions of the object, requiring additional authorization and/or payment for access to the object, and notification is provided with respect to actions that are performed on the object.
Specification