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;
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 an 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.
49 Citations
32 Claims
-
1. A distributed computing architecture, comprising:
-
a plurality of node modules in which agent programs can run, each node module comprising;
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 an 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, 12)
-
-
13. 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 an 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; and
(d) executing the agent program in the second node. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. In a computing architecture comprising a plurality of nodes that are capable of executing agent programs, and wherein each node comprises a detection module that detects other nodes in the computer architecture, and an interaction module that communicates with other nodes in the computer 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;
(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. - View Dependent Claims (24, 25)
-
- 26. 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.
-
29. 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 an environment in which the agent program can run and is a 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 (30, 31, 32)
-
Specification