Ripple scheduling for end-to-end global resource management
First Claim
1. A method of managing a session by global resources in first and second phases, the method comprising the following steps:
- a) negotiating among first, second, and third nodes for a QoS of the session during the first phase by ripple scheduling the session down from the first node to the second node and from the second node to the third node and then up from the third node to the second node and from the second node to the first node;
b) if the first, second, and third nodes can execute the session, sending a commit message during the second phase from the first node to the second node and from the second node to the third node; and
, c) if the first or second or third node cannot execute the session, sending an abort message during the second phase from the first node to the second node and from the second node to the third node.
0 Assignments
0 Petitions
Accused Products
Abstract
A global resource manager is provided for each node of a plurality of nodes of a distributed data processing system. Each node can be a coordinator node, an intermediate node, and a leaf node depending on the node at which a session arrives for global processing. In response to the arriving sessions, the global resource managers implement ripple scheduling by conducting a global QoS negotiation and adaptation, and preemption if necessary, in order to determine if the arriving session is supportable by the distributed data processing system. More specifically, the resource managers of all nodes determine whether their corresponding nodes can support the arriving session. The resource managers of the coordinator node and all intermediate nodes request their child nodes to indicate whether the child nodes can support the arriving session. The resource managers of all intermediate nodes and all leaf nodes respond to their coordinating or intermediate nodes with an indication of supportability. The resource manager of the coordinator node sends a commit message if all nodes can support the arriving session.
128 Citations
25 Claims
-
1. A method of managing a session by global resources in first and second phases, the method comprising the following steps:
-
a) negotiating among first, second, and third nodes for a QoS of the session during the first phase by ripple scheduling the session down from the first node to the second node and from the second node to the third node and then up from the third node to the second node and from the second node to the first node;
b) if the first, second, and third nodes can execute the session, sending a commit message during the second phase from the first node to the second node and from the second node to the third node; and
,c) if the first or second or third node cannot execute the session, sending an abort message during the second phase from the first node to the second node and from the second node to the third node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
a1) testing local resources of the first node during the first phase to determine if the first node can execute the session;
a2) if the first node can execute the session, sending a first session request during the first phase from the first node to the second node;
a3) in response to the first session request, testing local resources of the second node during the first phase to determine if the second node can execute the session;
a4) if the second node can execute the session, sending a second session request during the first phase from the second node to the third node;
a5) in response to the second session request, testing local resources of the third node during the first phase to determine if the third node can execute the session; and
,a6) sending a response during the first phase from the third node to the second node to the first node.
-
-
3. The method of claim 2 wherein step c) comprises the step of sending an abort message during the second phase from the first node to the second node and from the second node to the third node if the first node cannot execute the session and sending an abort message during the second phase from the first node to the second node and from the second node to the third node if the first node receives a No response from the second node or the third node.
-
4. The method of claim 2 wherein step a2) comprises the step of sending a first session request during the first phase from the first node to the second node only if the first node can execute the session, and wherein step a4) comprises the step of sending a second session request during the first phase from the second node to the third node only if the second node can execute the session.
-
5. The method of claim 1 wherein step a) comprises the step of virtually shrinking a QoS of the session at the first, second, and third nodes.
-
6. The method of claim 5 wherein step b) comprises the step of making the virtual shrinking of the QoS of the session real.
-
7. The method of claim 5 wherein step c) comprises the step of revoking the virtual shrinking of the QoS of the session.
-
8. The method of claim 1 wherein the session is a first session, and wherein step a) comprises the step of virtually preempting a second session in order to determine a supportable QoS for the first session at the firsts, second, and third nodes.
-
9. The method of claim 8 wherein step b) comprises the step of making the virtual preemption of the second session real.
-
10. The method of claim 8 wherein step c) comprises the step of revoking the virtual preemption of the second session.
-
11. The method of claim 1 wherein step a) comprises the step of expanding a QoS of the session to a QoS supportable by the first, second, and third nodes.
-
12. The method of claim 11 wherein the commit message contains the expanded QoS.
-
13. The method of claim 1 wherein each of the first, second, and third nodes is capable of initiating the QoS negotiation, wherein each of the first, second, and third nodes is capable of initiating the sending of the commit message, wherein each of the first, second, and third nodes is capable of initiating the sending of the abort message, and wherein each of the first, second, and third nodes is capable of determining whether it can support a session.
- 14. A node arranged to conduct a ripple QoS negotiation of a session with other nodes through at least three layers of nodes, wherein the node is in one of the at least three layers, wherein the node sends a commit message through the at least three layers if, as a result of the ripple QoS negotiation, the session can be executed by the node and by the other nodes in the at least three layers, and wherein the node sends an abort message through the at least three layers if, as a result of the ripple QoS negotiation, the node or any of the other nodes in the at least three layers cannot execute the session.
Specification