Unbounded computing space
First Claim
1. A distributed computing architecture, comprising:
- a plurality of node modules in which agent programs can run, each node module comprising;
security module using code access security to execute an agent program in a sandboxed environment regardless of an identity of a source of a source of the agent program;
a discovery module that detects other node modules within the distributed computing architecture; and
an interaction module through which each node module communicates with other node modules,wherein each node module is capable of introducing the agent program that can be sent to one or more other node modules, via the interaction module, and run in the one or more other node modules.
2 Assignments
0 Petitions
Accused Products
Abstract
An unbounded computing space including independent nodes is provided. Each node includes a discovery module to detect other nodes within the unbounded computing space, and an interaction module to communicate with the other detected nodes. Any node within the unbounded computing space can introduce an independent agent (e.g., an executable code assembly) into the unbounded computing space. The node in which an independent agent is introduced can subsequently send the independent agent to another node in the unbounded computing space for execution in the other node. Nodes in which an independent agent is introduced can define privileges that are associated with one or more agents and can be used to ensure the agent does not exceed a security policy as defined by the node. This allows for a distributed computing system in which an unlimited number of different agents can be introduced.
-
Citations
30 Claims
-
1. A distributed computing architecture, comprising:
-
a plurality of node modules in which agent programs can run, each node module comprising; security module using code access security to execute an agent program in a sandboxed environment regardless of an identity of a source of a source of the agent program; a discovery module that detects other node modules within the distributed computing architecture; and an interaction module through which each node module communicates with other node modules, wherein each node module is capable of introducing the agent program that can be sent to one or more other node modules, via the interaction module, and run in the one or more other node modules. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for executing a program on a computer system, comprising:
-
(a) introducing an agent program into a first node of a plurality of nodes, wherein each node provides a secure environment in which the agent program can run; (b) detecting a second node of the plurality of nodes; (c) sending the agent program to the second node, wherein the first node retains no expectation of a return of the agent program to the first node; and (d) executing the agent program in the secure environment of the second node, wherein each secure environment comprises a security module using code access security to execute the agent program in a sandboxed environment regardless of an identity of a source of the agent program. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. In a computing architecture comprising a plurality of nodes that are capable of executing agent programs, and wherein each node comprises a security module using code access security to execute agent programs in a sandbox environment, a detection module that detects other nodes in the computing architecture, and an interaction module that communicates with other nodes in the computing architecture, a method for distributing agent programs, comprising:
-
(a) introducing a first agent program by a first node of the plurality of nodes; (b) according to a predetermined algorithm, determining a second node to which the first agent program should be sent; (c) sending the first agent program to the second node, without retaining an expectation of a return of the first agent program to the first node of the plurality of nodes; (d) introducing a second agent program by a third node of the plurality of nodes; (e) according to the predetermined algorithm, determining a fourth node to which the second agent program should be sent; and (f) sending the second agent program to the fourth node, without retaining an expectation of a return of the second agent program to the third node of the plurality of nodes. - View Dependent Claims (22, 23)
-
- 24. A computer architecture comprising a first plurality of computing nodes, wherein any node within the first plurality of computing nodes is capable of introducing a program agent and sending the program agent to any other node within the first plurality of computing nodes, where the program agent subsequently runs in a sandboxed environment using code access security, wherein the sending node does not retain an expectation of a return of the program agent.
-
27. A method for performing a task across a distributed computer system, comprising:
-
(a) introducing an agent program into a first node of a plurality of nodes, wherein each of the plurality of nodes provides a secure sandboxed environment in which the agent program can run and is capable of receiving the agent program; (b) dividing a task defined by the agent program into a plurality of sub-tasks; (c) creating a plurality of derivative agent programs, wherein each derivative agent program is based on one sub-task of the plurality of sub-tasks; and (d) sending each of the plurality of derivative agent programs to different nodes of the plurality of nodes. - View Dependent Claims (28, 29, 30)
-
Specification