System for distributed task execution
OwnerRobert Kahn, David Ely +3inventors
InventorsRobert Kahn, David Ely, Guido Van Rossum, Theodore Strollo, Barry Warsaw
Life of this patent
Estimating the term…
Abstract
A method for use in a distributed system for processing a knowbot program that has the ability to move from node to node in the distributed system. In the method, an operating environment in each of the nodes provides service facilities useful to the knowbot program. And,.in the operating environment, a supervisor process is run that enables the knowbot program to make use of the service facilities but does not permit direct access by the knowbot program to facilities of the operating environment.
Claims30
(canceled)
A method for providing service facilities to a mobile program in a distributed system having nodes, comprising
- in an operating environment in each of the nodes, providing service facilities useful to the mobile program, and
- in the service facilities running a supervisor process that allows the mobile program indirect access to make use of the node's operating environment, the supervisor process creating a bastion object in an unrestricted environment to protect the unrestricted environment and running the restricted environment within which the mobile program is running.
A method for use in a distributed system for processing a mobile program that executes in one node of the distributed system, may be interrupted at almost any point in its execution, and may be moved to another node of the distributed system for further execution, comprising
- in the one node, capturing a current state of the mobile program execution, delivering the captured state and program code of the mobile program to the other node, and
- continuing execution at the other node from the point of interruption based on the captured state and the program code.
A method for enabling communication with a mobile program running in a distributed system, a mobile program service station, an extension, or another application, comprising
- providing a mechanism which enables each of mobile program and the mobile program service station the extension, or the other application to identify services that it provides, and enables each of them to find services that it needs.
A method for enabling negotiation between two unrelated mobile programs, mobile program service stations, extensions, or other applications, in a distributed system, comprising
- in an operating environment in a node of the distributed system, receiving information from one of the two mobile programs, mobile program service stations, extensions, or other applications, concerning a transaction offered to other mobile programs, mobile program service stations, extensions, or other applications,
- in the operating environment in the node, receiving information from the second of the two mobile programs, mobile program service stations, extensions, or other applications concerning a transaction in which the second of the mobile programs, mobile program service stations, extensions, and other applications wishes to engage,
- notifying the other second mobile program, mobile program service station, extension, or other application of the one mobile program, mobile program service station, extension, or other application, and
- enabling the two mobile programs, mobile program services stations, extensions, or other applications to communicate concerning the transaction.
A method for enabling action by an operating environment in a distributed system with respect a mobile program which is programmed in a language that is not fully supported by the operating environment, comprising
- labeling a mobile program to identify operating environment features required for full support of the mobile program,
- in an operating environment, examining the labeling of the mobile program to determine whether the operating environment supports identified features, and taking an action based on whether all the identified features are supported.
A method for aiding communication with a mobile program executing in a distributed system, comprising
- maintaining a name space of identifiers that uniquely identify one of more types of information that may be communicated, and
- in connection with a communication.
(canceled)
(canceled)
(canceled)
(canceled)
A method for controlling interaction between a mobile program and an application running in an operating environment provided at a node of a distributed system, comprising
- defining a trusted portion of the operating environment which provides trusted services to the mobile program,
- requiring portions of the application running in the operating environment to be registered as trusted, and
- permitting indirect interaction via the operating environment between the mobile program and the application running in the operating environment only if the portions of the application required to be registered have been registered.
A method for enabling a mobile program to carry out defined functions including otherwise unsafe functions, through the use of extensions comprising
- coding safe extensions to an operating environment and to the interpretive language under which the mobile program runs, and permitting the mobile program to carry out the defined functions by making use of the extensions.
Dependencies are inferred from the claim text.