System and method for swarm collaborative intelligence using dynamically configurable proactive autonomous agents
AssigneeSwarm Technology LLC
InventorAlfonso Iniguez
Life of this patent
Estimating the term…
Abstract
A parallel processing architecture includes a CPU, a task pool populated by the CPU, and a plurality of autonomous co-processing cells each having an agent configured to proactively interrogate the task pool to retrieve tasks appropriate for a particular co-processor. Each co-processor communicates with the task pool through a switching fabric, which facilitates connections for data transfer and arbitration between all system resources. Each co-processor notifies the task pool when a task or task thread is completed, whereupon the task pool notifies the CPU.
Claims17
A collaborative intelligence system, comprising:
- a task pool;
- a controller configured to populate the task pool with a plurality of first tasks and a plurality of second tasks;
- a first co-processor configured to successively:
- proactively retrieve a first task from the task pool;
- process the first task;
- generate first resulting data;
- and update the task pool to reflect completion of the first task, all without any communication between the first co-processor and the controller;
- and
- a second co-processor configured to successively:
- proactively retrieve a second task from the task pool;
- process the second task;
- generate second resulting data;
- and update the task pool to reflect completion of the second task, all without any communication between the second co-processor and the controller;
- wherein the collaborative intelligence system is configured to dynamically accept the first co-processor, the second co-processor, and an additional co-processor into the processing system on a plug-and-play basis without any communication with the controller;
- the plurality of first tasks and the plurality of second tasks are associated with a common objective;
- the first and second co-processors autonomously work together in solidarity with the task pool to complete the common objective.
A collaborative intelligence system, comprising:
- a task pool;
- a controller configured to populate the task pool with a plurality of first tasks and a plurality of second tasks;
- a first co-processor configured to successively:
- proactively retrieve a first task from the task pool;
- deliver the first task to the first co-processor;
- process the first task;
- generate first resulting data;
- and update the task pool to reflect completion of the first task, all without any communication between the first co-processor and the controller;
- and
- a second co-processor including a second agent comprising a second source address, a second destination address, and a second payload, the second co-processor configured to successively:
- proactively retrieve a second task from the task pool;
- process the second task;
- generate second resulting data;
- and update the task pool to reflect completion of the second task, all without any communication between the second co-processor and the controller;
- wherein:
- the processing system is configured to dynamically accept the first co-processor, the second co-processor, and an additional co-processor into the collaborative intelligence system on a plug-and-play basis without any communication with the controller;
- the first co-processor includes a first agent comprising a first source address, a first destination address, and a first payload;
- the second co-processor includes a second agent comprising a second source address, a second destination address, and a second payload;
- the first task includes indicia of a first task type, the first co-processor is configured to perform tasks of the first type, and the first agent is configured to search the task pool for a task of the first type;
- the second task includes indicia of a second task type, the second co-processor is configured to perform tasks of the second type, and the second agent is configured to search the task pool for a task of the second type;
- further wherein:
- when the first agent is retrieving the first task from the task pool, the first source address corresponds to an address associated with the first co-processor, the first destination address corresponds to an address associated with the task pool, and the first payload includes a first function which the first co-processor is configured to perform;
- when the first agent is returning from the task pool, the first source address is the task pool's address, the first destination address is the first co-processor's address, and the first payload includes a descriptor of the first task;
- when the second agent is retrieving the second task from the task pool, the second source address corresponds to an address associated with the second co-processor, the second destination address corresponds to an address associated with the task pool, and the second payload includes a second function which the second co-processor is configured to perform;
- and
- when the second agent is returning from the task pool, the second source address is the task pool's address, the second destination address is the second co-processor's address, and the second payload includes a descriptor of the second task.
A method of using collaborative intelligence to achieve an objective, comprising:
- populating a task pool, with a controller, such that the task pool includes a plurality of tasks associated with the objective, wherein each of the tasks has a respective task type;
- and
- dynamically introducing into an environment, on a plug-and-play basis without any communication with the controller, a plurality of autonomous co-processors, each of which is compatible with one or more of the task types,
- wherein, upon introduction into the environment, the plurality of autonomous co-processors operate in solidarity with each other and the task pool to complete the objective, without communication with the controller, by:
- proactively retrieving a task having a compatible task type from the task pool;
- completing the task;
- and updating the task pool to reflect completion of the task.
Dependencies are inferred from the claim text.