Communication in a distributed system
First Claim
1. A method for communicating between a first element and an identified second element in a distributed system including a plurality of additional elements, the method comprising:
- determining, by the first element, contemporaneously with a processing time of a task, at least one goal related to the task to be performed by the identified second element;
determining, by the first element, at least one constraint related to how the at least one goal is to be achieved;
wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements;
communicating, by the first element, the at least one goal and the at least one constraint to the identified second element, wherein communicating the at least one goal and the at least one constraint comprises;
assembling a message including a command type, a command identifier, a command specification and a command time; and
transmitting the assembled message from the first element to the second element; and
receiving, at the first element, an error message from the identified second element, in response to the communicated goal and constraint, if the identified second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the identified second element is capable of achieving the at least one goal in accord with the at least one constraint, receiving no feedback message from the identified second element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth.
6 Assignments
0 Petitions
Accused Products
Abstract
Controllers communicate commands in terms of goals and constraints. A goal is an objective. A constraint is information regarding how the goal is to be achieved. For example, a constraint may specify when, or how much of, a resource may be used to achieve a goal. Additionally, or alternatively, a constraint may specify an acceptable or expected accuracy or tolerance regarding how the goal is achieved. Each controller is expected to achieve assigned goals in accord with associated constraints. Thereby, system communication may be reduced. If controllers achieve goals according to specified constraints, the controllers do not need to provide updates or be updated regarding the status of activities of other controllers or regarding other operational context information. In some embodiments, commands are generally not acknowledged. Instead, serving controllers respond to a command with an error message if a goal cannot be met in accord with an associated constraint.
101 Citations
36 Claims
-
1. A method for communicating between a first element and an identified second element in a distributed system including a plurality of additional elements, the method comprising:
-
determining, by the first element, contemporaneously with a processing time of a task, at least one goal related to the task to be performed by the identified second element; determining, by the first element, at least one constraint related to how the at least one goal is to be achieved; wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements; communicating, by the first element, the at least one goal and the at least one constraint to the identified second element, wherein communicating the at least one goal and the at least one constraint comprises; assembling a message including a command type, a command identifier, a command specification and a command time; and transmitting the assembled message from the first element to the second element; and receiving, at the first element, an error message from the identified second element, in response to the communicated goal and constraint, if the identified second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the identified second element is capable of achieving the at least one goal in accord with the at least one constraint, receiving no feedback message from the identified second element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for communicating between a first element and an identified second element in a distributed system including a plurality of additional elements, the method comprising:
-
determining, by the first element, contemporaneously with a processing time of a task, at least one goal related to the task to be performed by the identified second element; determining, by the first element, at least one constraint related to how the at least one goal is to be achieved; wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements; communicating, by the first element, the at least one goal and the at least one constraint to the identified second element; and receiving, at the first element, an error message from the identified second element, in response to the communicated goal and constraint, if the identified second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the identified second element is capable of achieving the at least one goal in accord with the at least one constraint, receiving no feedback message from the identified second element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth; determining an information source able to provide source information that would be useful in achieving the at least one goal; and subscribing to the source information, wherein subscribing to the source information comprises; assembling a message including an action type, a command identifier, a subscription specification and a subscription time; and transmitting the assembled message.
-
-
16. A method for communicating between a first element and an identified second element in a distributed system including a plurality of additional elements, the method comprising:
-
determining, by the first element, contemporaneously with a processing time of a task, at least one goal related to the task to be performed by the identified second element; determining, by the first element, at least one constraint related to how the at least one goal is to be achieved; wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements; communicating, by the first element, the at least one goal and the at least one constraint to the identified second element; and receiving, at the first element, an error message from the identified second element, in response to the communicated goal and constraint, if the identified second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the identified second element is capable of achieving the at least one goal in accord with the at least one constraint, receiving no feedback message from the identified second element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth; determining status information available from the second element that would be useful in monitoring progress of the second element in achieving the at least one goal; and subscribing to the determined status information, wherein subscribing to the status information comprises; assembling a message including an action type, a command identifier, a subscription specification and a subscription time; and transmitting the assembled message.
-
-
17. A method for communicating between a first element and an identified second element in a distributed system including a plurality of additional elements, the method comprising:
-
determining, by the first element, contemporaneously with a processing time of a task, at least one goal related to the task to be performed by the identified second element; determining, by the first element, at least one constraint related to how the at least one goal is to be achieved; wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements; communicating, by the first element, the at least one goal and the at least one constraint to the identified second element; and receiving, at the first element, an error message from the identified second element, in response to the communicated goal and constraint, if the identified second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the identified second element is capable of achieving the at least one goal in accord with the at least one constraint, receiving no feedback message from the identified second element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth; determining an information source able to provide source information that would be useful in achieving the at least one goal; subscribing to the source information; receiving the subscribed to source information; and communicating the received source information to the second element, wherein communicating the received source information comprises; assembling a message including an action type, a command identifier, a publication specification and a publication time; and transmitting the assembled message.
-
-
18. A method for communicating between a first element and an identified second element in a distributed system including a plurality of additional elements, the method comprising:
-
determining, by the first element, contemporaneously with a processing time of a task, at least one goal related to the task to be performed by the identified second element; determining, by the first element, at least one constraint related to how the at least one goal is to be achieved; wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements; communicating, by the first element, the at least one goal and the at least one constraint to the identified second element; and receiving, at the first element, an error message from the identified second element, in response to the communicated goal and constraint, if the identified second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the identified second element is capable of achieving the at least one goal in accord with the at least one constraint, receiving no feedback message from the identified second element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth; determining status information available from the second element that would be useful in monitoring progress of the second element in achieving the at least one goal; subscribing to the determined status information; and communicating the subscribed to status information to the first element, wherein communicating the status information comprises; assembling a message including an action type, a command identifier, a publication specification and a publication time; and transmitting the assembled message.
-
-
19. A method for communicating between a first element and an identified second element in a distributed system including a plurality of additional elements, the method comprising:
-
determining, by the first element, contemporaneously with a processing time of a task, at least one goal related to the task to be performed by the identified second element; determining, by the first element, at least one constraint related to how the at least one goal is to be achieved; wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements; communicating, by the first element, the at least one goal and the at least one constraint to the identified second element; and receiving, at the first element, an error message from the identified second element, in response to the communicated goal and constraint, if the identified second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the identified second element is capable of achieving the at least one goal in accord with the at least one constraint, receiving no feedback message from the identified second element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth; evaluating, by the identified second element, the at least one goal and the at least one constraint in light of capabilities of the second element; and communicating an error message, by the identified second element to the first element, if the evaluation indicates that the second element is not capable of achieving the at least one goal in accord with the at least one constraint, wherein evaluating the at least one goal and the at least one constraint in light of capabilities of the second element comprises; attempting to achieve the at least one goal in accord with the at least one constraint; monitoring progress of the attempt; and determining that achieving the at least one goal in accord with the at least one constraint is outside the capabilities of the second element, if the monitored progress indicates that the attempt is unsuccessful.
-
-
20. A document processing system comprising:
-
a first xerographic marking engine; a transport system that is operative to transport media to and/or from the first marking engine, the transport system including a plurality of transport actuators; at least one actuator controller that is operative to control at least one transport actuator of the plurality of transport actuators to transport print media based on at least one received goal and at least one received constraint; and at least one supervisory controller that is operative to determine, contemporaneously with a transportation of media by the at least one transport actuator, at least one goal and at least one constraint and to communicate the at least one goal and the at least one constraint to the at least one actuator controller; wherein the at least one goal and the at least one constraint are determined by the at least one supervisory element to direct the at least one actuator controller to behave cooperatively with at least one other actuator controller; and wherein the at least one supervisory controller is operative to receive an error message from the at least one actuator controller, in response to the communicated goal and constraint, if the at least one actuator controller is not capable of achieving the at least one goal in accord with the at least one constraint and if the at least one actuator controller is capable of achieving the at least one goal in accord with the at least one constraint, receiving no feedback message from the at least one actuator controller regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth, wherein communicating the at least one goal and the at least one constraint comprises; assembling a message including a command type, a command identifier, a command specification and a command time; and transmitting the assembled message from the first element to the second element. - View Dependent Claims (21, 22)
-
-
23. A method that is operative to coordinate activities of a plurality of controllers in a document processing system, the method comprising:
-
determining, contemporaneously with a processing time of a sheet of print media, a processing path through the document processing system for the sheet of print media, the path including a first module that is tightly coupled to a second module, whereby for at least a portion of a processing performed by the system both the first module and the second module operate on the sheet at the same time; determining respective first and second controllers associated with the first and second modules; determining respective cooperative first and second goals and constraints for actions of the first module and the second module; communicating the respective first cooperative goal and constraint to the first controller; and communicating the respective second cooperative goal and constraint to the second controller; and receiving an error message from the first or second controller, in response to the communicated first or second goal and constraint, if the first or second module is not capable of achieving the respective first or second goal in accord with the respective first or second constraint and if the first or second module is capable of achieving the respective first or second goal in accord with the respective first or second constraint, receiving no feedback message from the first or second controller regarding the respective first or second goal and respective first or second constraint, thereby conserving communication bandwidth, wherein communicating the first cooperative goal and constraint comprises; assembling a message including a command type, a command identifier, a command specification and a command time; and transmitting the assembled message to the first controller. - View Dependent Claims (24)
-
-
25. A system comprising:
-
a first system element; a second system element; and a communication link between the first element and the second element, wherein the first system element is operative to determine, contemporaneously with a performance of a task, at least one goal related to the task to be performed by the second element, to determine at least one constraint related to how the at least one goal is to be achieved by the second element and to communicate the at least one goal and the at least one constraint to the second element in a message carried over the communications link, and wherein the second system element is operative to receive the message carried over the communications link, evaluate the at least one goal and the at least one constraint in light of capabilities of the second element and to communicate an error state in a message carried over the communications link to the first element if the evaluation indicates that the second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the second element is capable of achieving the at least one goal in accord with the at least one constraint, communicating no feedback message to the first element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth, wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements, wherein the first element is operative to communicate the at least one goal and the at least one constraint by assembling a message including a command type, a command identifier, a command specification and a command time, and communicating the assembled message to the second element. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
-
32. A system comprising:
-
a first system element; a second system element; a communication link between the first element and the second element, wherein the first system element is operative to determine, contemporaneously with a performance of a task, at least one goal related to the task to be performed by the second element, to determine at least one constraint related to how the at least one goal is to be achieved by the second element and to communicate the at least one goal and the at least one constraint to the second element in a message carried over the communications link, and wherein the second system element is operative to receive the message carried over the communications link, evaluate the at least one goal and the at least one constraint in light of capabilities of the second element and to communicate an error state in a message carried over the communications link to the first element if the evaluation indicates that the second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the second element is capable of achieving the at least one goal in accord with the at least one constraint, communicating no feedback message to the first element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth, wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements; and a plurality of sensors, wherein each of the plurality of sensors is operative to sense and report one or more aspects of the task performed by the second element, wherein the second element is operative to select a subset of the plurality of sensors based on the received at least one goal and to subscribe to information reported by the selected subset of sensors, wherein the second element is operative to subscribe to the information reported by the selected subset of sensors by assembling a message including an action type, a command identifier, a subscription specification and a subscription time and transmitting the assembled message.
-
-
33. A system comprising:
-
a first system element; a second system element; a communication link between the first element and the second element, wherein the first system element is operative to determine, contemporaneously with a performance of a task, at least one goal related to the task to be performed by the second element, to determine at least one constraint related to how the at least one goal is to be achieved by the second element and to communicate the at least one goal and the at least one constraint to the second element in a message carried over the communications link, and wherein the second system element is operative to receive the message carried over the communications link, evaluate the at least one goal and the at least one constraint in light of capabilities of the second element and to communicate an error state in a message carried over the communications link to the first element if the evaluation indicates that the second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the second element is capable of achieving the at least one goal in accord with the at least one constraint, communicating no feedback message to the first element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth, wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements; and a plurality of sensors, wherein each of the plurality of sensors is operative to sense and report one or more aspects of the task as the task is performed by the system, and wherein the first element is operative to select a subset of the plurality of sensors based on the at least one communicated goal and to subscribe to information reported by the selected subset of sensors, wherein the first element is operative to subscribe to the information reported by the selected subset of sensors by assembling a message including an action type, a command identifier, a subscription specification and a subscription time and transmitting the assembled message.
-
-
34. A system comprising:
-
a first system element; a second system element; and a communication link between the first element and the second element, wherein the first system element is operative to determine, contemporaneously with a performance of a task, at least one goal related to the task to be performed by the second element, to determine at least one constraint related to how the at least one goal is to be achieved by the second element and to communicate the at least one goal and the at least one constraint to the second element in a message carried over the communications link, and wherein the second system element is operative to receive the message carried over the communications link, evaluate the at least one goal and the at least one constraint in light of capabilities of the second element and to communicate an error state in a message carried over the communications link to the first element if the evaluation indicates that the second element is not capable of achieving the at least one goal in accord with the at least one constraint and if the second element is capable of achieving the at least one goal in accord with the at least one constraint, communicating no feedback message to the first element regarding the at least one goal and at least one constraint, thereby conserving communication bandwidth, wherein the at least one goal and the at least one constraint are determined by the first element to direct the second element to behave cooperatively with at least one of the plurality of additional elements, wherein the first element is further operative to subscribe to the status information of the second element by assembling a message including an action type, a command identifier, a subscription specification and a subscription time and transmitting the assembled message. - View Dependent Claims (35, 36)
-
Specification