Bidding partner cache for autonomous cooperative control system
First Claim
1. A method of coordinating a plurality of autonomous control units (ACUs) to control associated equipment, the ACUs implemented in computers and having capabilities describing operations performable by the equipment associated with the ACUs, the ACUs intercommunicating on an electronic network to divide a predefined job requiring the capabilities among ACUs by a bidding message communicated among ACUs on the electronic network, the method comprising the steps of:
- (a) receiving at a given ACU from a prior ACU, a description of at least a portion of the job together with a given bid response time limit after which a bid will not be accepted by the prior ACU;
(b) when a primary part of the job portion matching the capabilities of the given ACU can be identified, communicating a secondary part of the job portion not matching the capabilities of the given ACU over the network to at least one subsequent ACU together with a subsequent bid response time less than the given bid response time limit after which a bid will not be accepted by the given ACU;
(c) repeating steps (a) and (b) with the subsequent ACU acting as the given ACU and a new ACU acting as the subsequent ACU;
whereby chains of bids are truncated at a limiting time.
1 Assignment
0 Petitions
Accused Products
Abstract
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. Bidding closure is obtained in an environment where each autonomous cooperative unit can propagate multi-threaded bidding chains, by attaching a response time value to each propagated bid indicating when a response must be received. Sub-bids from that propagated bid forward a reduced version of this response time value that accounts for the sub-bid processing time. Thus, all bidding is concluded within the response time value. Participants in a successful bidding chain are notified so that in the future they may direct bids toward bidding partners that have historically proven successful as part of a successful bidding chain.
65 Citations
20 Claims
-
1. A method of coordinating a plurality of autonomous control units (ACUs) to control associated equipment, the ACUs implemented in computers and having capabilities describing operations performable by the equipment associated with the ACUs, the ACUs intercommunicating on an electronic network to divide a predefined job requiring the capabilities among ACUs by a bidding message communicated among ACUs on the electronic network, the method comprising the steps of:
-
(a) receiving at a given ACU from a prior ACU, a description of at least a portion of the job together with a given bid response time limit after which a bid will not be accepted by the prior ACU;
(b) when a primary part of the job portion matching the capabilities of the given ACU can be identified, communicating a secondary part of the job portion not matching the capabilities of the given ACU over the network to at least one subsequent ACU together with a subsequent bid response time less than the given bid response time limit after which a bid will not be accepted by the given ACU;
(c) repeating steps (a) and (b) with the subsequent ACU acting as the given ACU and a new ACU acting as the subsequent ACU;
whereby chains of bids are truncated at a limiting time. - View Dependent Claims (2, 3, 4, 5, 6)
the given ACU identifies a primary part of the first and second job portions, each matching the capabilities of the given ACU and a secondary part of the first and second job portions not matching the capability of the ACU; and
whereinthe given ACU communicates a description of the first and second secondary part of the first and second job portions over the network to at least two subsequent ACUs together with a third and fourth subsequent bid response time limit less than the given first and second bid response times, respectively.
-
-
5. The method of claim 1 further including the step of:
-
subsequent to step (b), in response to the communicated secondary part of the job portion, receiving at the given ACU within the given bid response time, at least one reply bid message from a subsequent ACU, the reply bid message selected from the group consisting of;
(i) bid success messages, indicating that the secondary part of the job portion matches the capability of a subsequent ACU, (ii) bid failure messages indicating that the secondary part of the job portion does not match the capability of a subsequent ACU and (iii) a bid modification message indicating that the secondary part of the job portion might match the capability of a subsequent ACU with some modification of the secondary part of the job description, and further including the steps of;
(1) when the reply includes at least one bid success message, forwarding to the prior ACU only the bid success messages;
(2) when the reply includes no bid success messages but at least one bid modification message, forwarding to the prior ACU only the bid modification messages;
(3) when the reply includes no bid success messages and no bid modification messages, but at least one bid failure message, forwarding to the prior ACU only the bid failure messages.
-
-
6. The method of claim 1 wherein
step (c) includes the step of reporting a bid success from the given ACU to the initial ACU for the primary part of the job; -
and including further the steps of;
(d) identifying at an initial ACU successful ACUs being part of a sequence of ACU reporting bid successes for the complete job;
(e) communicating to each of the successful ACUs the identify of ACUs subsequent to the successful ACU in the sequence;
repeating steps (a)-(e) wherein at a subsequent step (b), the given ACU communicates preferentially with subsequent ACUs identified at an earlier step (e).
-
-
7. A method of coordinating a plurality of autonomous control units (ACUs) to control associated equipment, the ACUs implemented in computers and having capabilities describing operations performable by the equipment associated with the ACUs, the ACUs intercommunicating on an electronic network to divide a predefined job requiring the capabilities among ACUs by a bidding message communicated among ACUs on the electronic network, the method comprising the steps of:
-
(a) communicating from an initial ACU a bid request for a job to multiple given ACUs;
(b) at each given ACU, identifying a primary part of the job matching the capabilities of the given ACU and a secondary part of the job not matching the capability of the given ACU;
(c) reporting a bid success from the given ACU to the initial ACU for the primary part of the job;
(d) communicating from the given ACU to subsequent ACUs additional bid requests related to the secondary part of the job portion;
(e) repeating steps (a)-(c) with the subsequent ACU acting as the given ACU;
(f) identifying at the initial ACU successful ACUs being part of a sequence of ACU reporting bid successes for the complete job;
(e) communicating to each of the successful ACUs the identity of ACUs subsequent to the successful ACU in the sequence;
repeating steps (a)-(e) wherein at a subsequent step (d) the given ACU communicates preferentially with ACU identified at an earlier step (e). - View Dependent Claims (8, 9, 10)
-
-
11. An industrial controller comprising:
-
(I) an electrical network for digital communication;
(II) a plurality of autonomous control units (ACUs) implemented in computers and intercommunicating on an electronic network to divide a predefined job among ACUs by a bidding message communicated among ACUs on the electronic network, the ACUs further being in electrical communication with associated equipment and having capabilities describing operations performable by the associated equipment, the ACUs executing a stored program to;
(a) receive at a given ACU from a prior ACU, a description of at least a portion of the job together with a given bid response time limit after which a bid will not be accepted by the prior ACU;
(b) when a primary part of the job portion matching the capabilities of the given ACU can be identified, communicate a secondary part of the job portion not matching the capabilities of the given ACU over the network to at least one subsequent ACU together with a subsequent bid response time less than the given bid response time limit after which a bid will not be accepted by the given ACU;
(c) repeat steps (a) and (b) with the subsequent ACU acting as the given ACU and a new ACU acting as the subsequent ACU;
whereby chains of bids are truncated at a limiting time. - View Dependent Claims (12, 13, 14, 15, 16)
the given ACU identifies a primary part of the first and second job portions each matching the capabilities of the given ACU and a secondary part of the first and second job portions not matching the capability of the ACU; and
whereinthe given ACU communicates a description of the first and second secondary part of the first and second job portions over the network to at least two subsequent ACUs together with a third and fourth subsequent bid response time limit less than the given first and second bid response times, respectively.
-
-
15. The industrial controller of claim 11 further including the program step of:
-
subsequent to step (b), in response to the communicated secondary part of the job portion, receiving at the given ACU within the given bid response time, at least one reply bid message from a subsequent ACU, the reply bid message selected from the group consisting of;
(i) bid success messages, indicating that the secondary part of the job portion matches the capability of a subsequent ACU, (ii) bid failure messages indicating that the secondary part of the job portion does not match the capability of a subsequent ACU; and
(iii) a bid modification message indicating that the secondary part of the job portion might match the capability of a subsequent ACU with some modification of the secondary part of the job description, and further including the steps of;
(1) when the reply includes at least one bid success message, forwarding to the prior ACU only the bid success messages;
(2) when the reply includes no bid success messages but at least one bid modification message, forwarding to the prior ACU only the bid modification messages;
(3) when the reply includes no bid success messages and no bid modification messages, but at least one bid failure message, forwarding to the prior ACU only the bid failure messages.
-
-
16. The industrial controller of claim 11 wherein the ACUs further execute the stored program so that:
-
program step (c) includes the step of reporting a bid success from the given ACU to the initial ACU for the primary part of the job;
and including further the program steps of;
(d) identifying at an initial ACU successful ACUs being part of a sequence of ACU reporting bid successes for the complete job;
(e) communicating to each of the successful ACUs the identity of ACUs subsequent to the successful ACU in the sequence;
repeating program steps (a)-(e) wherein at a subsequent program step (b) the given ACU communicates preferentially with subsequent ACUs identified at an earlier step (e).
-
-
17. An industrial controller comprising:
-
(I) an electrical network for digital communication;
(II) a plurality of autonomous control units (ACUs) implemented in computers and intercommunicating on an electronic network to divide a predefined job among ACUs by a bidding message communicated among ACUs on the electronic network, the ACUs further being in electrical communication with associated equipment and having capabilities describing operations performable by the associated equipment, the ACUs executing a stored program to;
(a) communicate from an initial ACU a bid request for a job to multiple given ACUs;
(b) at each given ACU, identify a primary part of the job matching the capabilities of the given ACU and a secondary part of the job not matching the capability of the given ACU;
(c) report a bid success from the given ACU to the initial ACU for the primary part of the job;
(d) communicate from the given ACU to subsequent ACUs additional bid requests related to the secondary part of the job portion;
(e) repeat steps (a)-(c) with the subsequent ACU acting as the given ACU;
(f) identify at the initial ACU successful ACUs being part of a sequence of ACU reporting bid successes for the complete job;
(e) communicate to each of the successful ACUs the identity of ACUs subsequent to the successful ACU in the sequence;
repeat steps (a)-(e) wherein at a subsequent step (d) the given ACU communicates preferentially with ACU identified at an earlier step (e). - View Dependent Claims (18, 19, 20)
-
Specification