A distributed control system employs a number of autonomous cooperative units that intercommunicate with bids and counter bids to allocate the production of a product among them. Network traffic caused by these bid messages is significantly reduced by creating as a central clearinghouse, a global resource locator that can identify autonomous cooperative units more likely to be receptive to bids from other autonomous cooperative units. Portions of the data of the global resource locator are held at the particular computers implementing the autonomous cooperative units in a cache-like structure that may be referred to without network communication. Misses within this cache structure cause a refreshing of the cache from the global resource locator and an updating of a learning relation table that further improves predictions in the future. Historical successes in bidding are stored at the cache structure to further aid in selecting likely bid recipients.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of coordinating a plurality of autonomous cooperative units (ACUs) implemented in computers intercommunicating on an electronic network and operating to divide a predefined job among ACUs by a bidding process in which bid requests are communicated on the electronic network among the ACUs, the method comprising the steps of: (a) for each ACU identifying potential bid request receivers being a subset of all ACUs of the plurality; (b) storing a list of potential bid request receivers in the computer implementing the ACU; (c) receiving a description of a job at a given ACU; (d) preferentially communicating requests for bids related to the description of the job from the given ACU only with other ACUs of the list of potential bid request receivers; whereby communication traffic on the network may be reduced.
2. The method of claim 1 wherein each ACU is associated with at least one capability describing operations of the process controlled by the ACU and wherein step (a) identifies potential bid request receivers based on the capability of a given ACU and a relation table relating capabilities of a bidding ACU to capabilities of a potential bid receiver.
3. The method of claim 1 wherein each ACU is associated with capabilities describing operations of the process controlled by the ACU and related to completion of a portion of the job and further including the steps of: (e) storing at a designated computer a relation table relating ACUs to capabilities of potential bid request receivers for those ACUs; (f) collecting from each ACU at a designated computer on the network, the capabilities of each ACU; and (g) transmitting from the designated computer on the network to computers implementing a given ACU, potential bid request receivers for the given ACUs based capabilities of other ACUs matching the relation table entry for the given ACU.
4. The method of claim 3 wherein each ACU transmits its capabilities to the designated computer upon initialization of the ACU.
5. The method of claim 3 wherein the designated computer also implements at least one of the ACUs.
6. The method of claim 3 wherein the designated computer stores the capabilities of each ACU in a central registry and wherein the list of potential bid request receivers transmitted to the given ACU defines a cluster of ACUs smaller than the number of potential bid request receivers held in the central registry.
7. The method of claim 6 wherein the list of potential bid request receivers includes information indicating the likelihood of an ACU on that list being able to complete a portion of a job, and wherein step (d) of preferentially communicating requests for bids from the given ACU to other ACUs on the list of potential bid request receivers includes the steps of: (i) reviewing at the given ACU the list of potential bid request receivers for ACUs likely to complete a portion of the job; (ii) when there are no likely ACUs, communicating with the designated computer for a new cluster of ACUs to update the list of potential bid request receivers; (iii) preferentially communicating requests for bids related to the description of the job from the given ACU only with other ACUs of the updated list of potential bid request receivers.
8. The method of claim 7 wherein the designated computer responds to the communications of step (ii) by providing a new cluster of potential bid request receivers according to the criterion of the ACUs of the new cluster being different from the ACUs of the cluster it replaces.
9. The method of claim 8 wherein at step (ii) the given ACU also communicates to the designated computer that the list of potential bid request receivers does not include an ACU with a desired capability and wherein the designated computer provides a new cluster by changing the relation table relating ACUs to capabilities of potential bid request receivers for those ACUs by adding a new capability of potential bid request receivers of the given ACU.
10. The method of claim 9 wherein the ACU stores historical data tracking the likelihood of another ACU accepting a bid request and wherein at step (ii) the given ACU also communicates to the designated computer that list of potential bid request receivers does not include an ACU with a likelihood of accepting a bid request and wherein the designated computer responds by providing a new cluster by using the relation table to identify new potential bid request receivers for the given ACUs based on capabilities of other ACUs matching the relation table entry for the given ACU.
11. In an industrial controller including a plurality of autonomous cooperative units (ACUs) implemented in computers intercommunicating on an electronic network and operating generally according to a stored program to divide a predefined job among ACUs by a bidding process including bids communicated on the electronic network among the ACUs, the improvement comprising additional stored program executed by the ACUs to: (a) identify potential bid request receivers for each ACU being a subset of all ACUs of the plurality; (b) at each ACU storing a list of potential bid request receivers in the computer implementing the ACU; (c) receiving at a given ACU a description of a job; (d) cause the given ACU to preferentially communicate requests for bids related to the description of the job from the given ACU only with other ACUs of the list of potential bid request receivers; whereby communication traffic on the network is reduced.
12. The industrial controller of claim 11 wherein each ACU is associated with capabilities related to completion of a portion of the job and wherein the ACUs further execute the program steps of: (e) storing at a designated computer a relation table relating ACUs to capabilities of potential bid request receivers for those ACUs; (f) collecting from each ACU at a designated computer on the network the capabilities of each ACU; and (g) transmitting from the designated computer on the network to computers implementing a given ACU, potential bid request receivers for the given ACUs based capabilities of other ACUs matching the relation table entry for the given ACU.
13. The industrial controller of claim 12 wherein the ACUs further execute the program so that each ACU transmits its capabilities to the designated computer upon initialization of the ACU.
14. The industrial controller of claim 12 wherein the designated computer also implements at least one of the ACUs.
15. The industrial controller of claim 12 wherein the designated computer further executes program steps to store the capabilities of each ACU in a central registry and wherein the list of potential bid request receivers transmitted to the given ACU defines a cluster smaller than the number of potential bid request receivers held in the central registry.
16. The industrial controller of claim 15 wherein the list of potential bid request receivers includes capabilities of the listed ACU to completion of a portion of a job, and wherein program step (d) of preferentially communicating requests for bids from the given ACU to other ACUs on the list of potential bid request receivers includes the program steps of: (i) reviewing at the given ACU the list of potential bid request receivers for ACUs having capabilities matching the received description of the job; (ii) when there are no matching ACUs, communicating with the designated computer for a new cluster of ACUs having capabilities matching the relation table entry for the given ACU to update the list of potential bid request receivers; (iii) preferentially communicating requests for bids related to the description of the job from the given ACU only with other ACUs of the updated list of potential bid request receivers.
17. The industrial controller of claim 16 wherein the designated computer responds to the communications of step (ii) by providing a new cluster of potential bid request receivers.
18. The industrial controller of claim 17 wherein at step (ii) the given ACU also communicates with the designated computer that the list of potential bid request receivers does not include an ACU with a desired capability and wherein in response the designated computer provides a new cluster by changing the relation table relating ACUs to capabilities of potential bid request receivers for those ACUs by adding a new capability of potential bid request receivers of the given ACU.
19. The industrial controller of claim 18 wherein the ACU stores historical data tracking the likelihood of another ACU accepting a bid request and wherein at step (ii) the given ACU communicates to the designated computer that list of potential bid request receivers does not include an ACU with a likelihood of accepting a bid request and wherein the designated computer responds by providing a new cluster by using the relation table to identify new potential bid request receivers for the given ACUs based capabilities of other ACUs matching the relation table entry for the given ACU.
20. The industrial controller of claim 11 wherein each ACU is associated with at least one capability describing operations of the process controlled by the ACU and wherein program step (a) identifies potential bid request receivers based on the capability of a given ACU and a list relating capabilities of a bidding ACU to capabilities of a potential bid receiver.
21. A system for performing at least one job, the system comprising: a network; and a plurality of processing devices coupled to one another by way of the network; wherein each processing device has information regarding which of the other processing devices are potentially available to bid on at least one job being handled by the respective processing device, and wherein the respective processing device utilizes the information to send bid requests only to those potentially available processing devices.
22. A distributed processing system comprising: a plurality of processing devices coupled to one another by a network; and a memory unit coupled to at least one of the network and one of the processing devices, wherein the memory unit stores information about the processing devices and is capable of providing subsets of the information to the processing devices, wherein the subsets of the information provided to the processing devices allow each processing device to make their own determinations as to which of the other processing devices are appropriate for contacting in relation to possible handling of jobs.
23. A method of coordinating a plurality of distributed processing devices to perform portions of jobs, the method comprising: providing information to the distributed processing devices, wherein the respective information provided to each respective distributed processing device includes at least some information about statuses of others of the distributed processing devices; performing analyses at the distributed processing devices using the information to dynamically determine clusters of the distributed processing devices that are appropriate for performing at least some of the portions of the jobs; making decisions to send signals from at least some of the distributed processing devices to at least some of the other distributed processing devices within the respective clusters based upon the analyses; and sending the signals so that operations of the distributed processing devices in each cluster in performing the portions of jobs are coordinated.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
July 24, 2000
June 27, 2006
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.