Scheduler for a software system having means for allocating tasks
First Claim
Patent Images
1. A module for use in a software system for distributed control, monitoring or management of a process or apparatus, the module comprising:
- (i) a communication means for communicating with other such software modules;
(ii) executable software for use in coordinating with the other such software modules in a selection of tasks to be allocated among software modules;
(iii) a data store, or access to a data store, for storing task definition data including ti me data indicating task execution times, and (iv) a scheduling means for storing data selected from at least one of said task definitions, including said time data for the respective task definition or definitions, wherein said module is adapted to interact with one or more of the other such software modules in accordance with the executable software to store the data selected from said one or more task definitions, wherein the scheduling means is adapted to store task definition data from two or more tasks such that when the software system comprises two or more of said such modules, at least part of two or more tasks may be performed concurrently by each of the said modules.
1 Assignment
0 Petitions
Accused Products
Abstract
A community of collaborative software agents works together in a domain to provide functionality such as provision of communications services or control of a chemical process. A scheduler is built into each collaborative agent which schedules tasks allocated to that particular agent and tasks sub-allocated by that agent. The scheduler has a mechanism for over-booking tasks for any one agent. It can also make tentative bookings which can be overwritten or timed out.
291 Citations
5 Claims
-
1. A module for use in a software system for distributed control, monitoring or management of a process or apparatus, the module comprising:
-
(i) a communication means for communicating with other such software modules;
(ii) executable software for use in coordinating with the other such software modules in a selection of tasks to be allocated among software modules;
(iii) a data store, or access to a data store, for storing task definition data including ti me data indicating task execution times, and (iv) a scheduling means for storing data selected from at least one of said task definitions, including said time data for the respective task definition or definitions, wherein said module is adapted to interact with one or more of the other such software modules in accordance with the executable software to store the data selected from said one or more task definitions, wherein the scheduling means is adapted to store task definition data from two or more tasks such that when the software system comprises two or more of said such modules, at least part of two or more tasks may be performed concurrently by each of the said modules. - View Dependent Claims (2, 3, 4, 5)
-
Specification