Fair buffer credit distribution flow control
First Claim
1. In a communication system comprising a plurality of data processing nodes including at least one originator node and a plurality of target nodes, each data processing node including means for controlling data transmission and/or reception from other data processing nodes over a communication network, a method for providing the target nodes with fair opportunity to transfer data to the originator node, the method comprising the steps of:
- For the originator node;
(a) maintaining at least one originator state, the originator state including a first state and a second state;
(b) when the originator node desires to receive at least one data packet, (1) generating a credit token of;
(i) a first type if the originator state is in the first state, or (ii) a second type if the originator state is in the second state; and
(2) transmitting the credit token over the communication network to signal one or more target nodes to transfer data to the originator node; and
(c) toggling the originator state from one state to another if an originator toggle condition is satisfied; and
For each target node;
(d) maintaining;
(1) a count of credit tokens absorbed by the target node over the network from the originator node, and (2) a quota of the number of credit tokens the target node may absorb from the originator node;
(e) maintaining at least one target state, the target state including;
(1) a first state indicating that the target node can only absorb credit tokens of the first type from the originator node and (2) a second state indicating that the target node can only absorb credit tokens of the second type from the originator node;
(f) receiving a credit token from the originator node over the network;
(g) absorbing the received credit token if;
(1) the credit token is of a type corresponding to the target state, and (2) said count is less than said quota for the target node;
(h) incrementing said count by one if the credit token is absorbed; and
(i) toggling the target state from one state to another if a target toggle condition is satisfied.
6 Assignments
0 Petitions
Accused Products
Abstract
A data transfer management method is provided for transferring data between nodes of a multi-node communication system. The method provides target nodes with fair opportunity to transfer data to originator nodes in the communication system. The originator node initiates data transfer by establishing a connection with one or more target nodes. The originator node signals target nodes to transfer data by generating and transmitting credit tokens over the network. Before a target node can transfer data to the originator node, it must receive and absorb at least one credit token from the originator. All credit tokens transmitted by the originator node and not absorbed by target nodes return back to the originator node. Each target node is provided with buffer credit tokens up to its quota in a rotating manner.
41 Citations
36 Claims
-
1. In a communication system comprising a plurality of data processing nodes including at least one originator node and a plurality of target nodes, each data processing node including means for controlling data transmission and/or reception from other data processing nodes over a communication network, a method for providing the target nodes with fair opportunity to transfer data to the originator node, the method comprising the steps of:
-
For the originator node;
(a) maintaining at least one originator state, the originator state including a first state and a second state;
(b) when the originator node desires to receive at least one data packet, (1) generating a credit token of;
(i) a first type if the originator state is in the first state, or (ii) a second type if the originator state is in the second state; and
(2) transmitting the credit token over the communication network to signal one or more target nodes to transfer data to the originator node; and
(c) toggling the originator state from one state to another if an originator toggle condition is satisfied; and
For each target node;
(d) maintaining;
(1) a count of credit tokens absorbed by the target node over the network from the originator node, and (2) a quota of the number of credit tokens the target node may absorb from the originator node;
(e) maintaining at least one target state, the target state including;
(1) a first state indicating that the target node can only absorb credit tokens of the first type from the originator node and (2) a second state indicating that the target node can only absorb credit tokens of the second type from the originator node;
(f) receiving a credit token from the originator node over the network;
(g) absorbing the received credit token if;
(1) the credit token is of a type corresponding to the target state, and (2) said count is less than said quota for the target node;
(h) incrementing said count by one if the credit token is absorbed; and
(i) toggling the target state from one state to another if a target toggle condition is satisfied. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. In a communication system comprising a plurality of data processing nodes including at least one originator node and a plurality of target nodes, each data processing node including means for controlling data transmission and/or reception from other data processing nodes over a communication network, a method for providing the target nodes with fair opportunity to transfer data to the originator node, the method comprising the steps of:
-
For the originator node;
(a) maintaining at least one originator state, the originator state including a first state and a second state;
(b) when the originator node desires to receive at least one data packet, (1) generating a credit token of;
(i) a first type if the originator state is in the first state, or (ii) a second type if the originator state is in the second state; and
(2) transmitting the credit token over the communication network to signal one or more target nodes to transfer data to the originator node; and
(c) toggling the originator state from one state to another upon receiving a credit token previously generated by the originator node back from the network;
For each target node;
(d) maintaining;
(1) a count of credit tokens absorbed by the target node over the network from the originator node, and (2) a quota of the number of credit tokens the target node may absorb from the originator node;
(e) maintaining at least one target state, the target state including;
(1) a first state indicating that the target node can only absorb credit tokens of the first type from the originator node and (2) a second state indicating that the target node can only absorb credit tokens of the second type from the originator node;
(f) receiving a credit token from the originator node over the network;
(g) absorbing the received credit token if;
(1) the credit token is of a type corresponding to the target state, and (2) said count is less than said quota for the target node;
(h) incrementing said count by one if the credit token is absorbed;
(i) toggling the target state from one state to another if said count is equal to the quota; and
(j) re-transmitting a received credit token over the network if the target node cannot absorb the credit token in step (g). - View Dependent Claims (13, 14, 15)
-
-
16. In a communication system comprising a plurality of data processing nodes including at least one originator node and a plurality of target nodes, each data processing node including means for controlling data transmission and/or reception from other data processing nodes over a communication network, a method for providing the target nodes with fair opportunity to transfer data to the originator node, the method comprising the steps of:
-
For the originator node;
(a) maintaining at least one originator state, the originator state including a first state and a second state;
(b) when the originator node desires to receive at least one data packet, (1) generating a credit token of;
(i) a first type if the originator state is in the first state, or (ii) a second type if the originator state is in the second state; and
(2) transmitting the credit token over the communication network to signal one or more target nodes to transfer data to the originator node; and
(c) toggling the originator state from one state to another upon receiving a credit token previously generated by the originator node back from the network;
For each target node;
(d) maintaining;
(1) a count of credit tokens absorbed by the target node over the network from the originator node, and (2) a quota of the number of credit tokens the target node may absorb from the originator node;
(e) maintaining at least one target state, the target state including;
(1) a first state indicating that the target node can only absorb credit tokens of the first type from the originator node and (2) a second state indicating that the target node can only absorb credit tokens of the second type from the originator node;
(f) receiving a credit token from the originator node over the network;
(g) absorbing the received credit token if;
(1) the credit token is of a type corresponding to the target state, and (2) said count is less than said quota for the target node;
(h) incrementing said count by one if the credit token is absorbed;
(i) toggling the target state from one state to another if a credit token is absorbed in step (g); and
(j) re-transmitting a received credit token over the network if the target node cannot absorb the credit token in step (g). - View Dependent Claims (17, 18, 19)
-
-
20. A multi-node communication system for providing data transfer among a plurality of data processing nodes over a communication network, the system comprising:
-
(a) at least one originator node comprising a logic circuit configured by program instructions to perform the steps of;
(1) maintaining at least one originator state, the originator state including a first state and a second state;
(2) when the originator node desires to receive at least one data packet, (i) generating a credit token of;
(1) a first type if the originator state is in the first state, or (2) a second type if the originator state is in the second state; and
(ii) transmitting the credit token over the communication network to signal one or more target nodes to transfer data to the originator node; and
(3) toggling the originator state from one state to another if an originator toggle condition is satisfied; and
(b) at least one target node comprising a logic circuit configured by program instructions to perform the steps of;
(1) maintaining;
(i) a count of credit tokens absorbed by the target node over the network from the originator node, and (ii) a quota of the number of credit tokens the target node may absorb from the originator node;
(2) maintaining at least one target state, the target state including;
(i) a first state indicating that the target node can only absorb credit tokens of the first type from the originator node and (ii) a second state indicating that the target node can only absorb credit tokens of the second type from the originator node;
(3) receiving a credit token from the originator node over the network;
(4) absorbing the received credit token if;
(i) the credit token is of a type corresponding to the target state, and (ii) said count is less than said quota for the target node;
(5) incrementing said count by one if the credit token is absorbed; and
(6) toggling the target state from one state to another if a target toggle condition is satisfied. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A multi-node communication system for providing data transfer among a plurality of data processing nodes over a communication network, the system comprising:
-
(a) at least one originator node comprising a logic circuit configured by program instructions to perform the steps of;
(1) maintaining at least one originator state, the originator state including a first state and a second state;
(2) when the originator node desires to receive at least one data packet, (i) generating a credit token of;
(1) a first type if the originator state is in the first state, or (2) a second type if the originator state is in the second state; and
(ii) transmitting the credit token over the communication network to signal one or more target nodes to transfer data to the originator node; and
(3) toggling the originator state from one state to another upon receiving a credit token previously generated by the originator node back from the network; and
(b) at least one target node comprising a logic circuit configured by program instructions to perform the steps of;
(1) maintaining;
(i) a count of credit tokens absorbed by the target node over the network from the originator node, and (ii) a quota of the number of credit tokens the target node may absorb from the originator node;
(2) maintaining at least one target state, the target state including;
(i) a first state indicating that the target node can only absorb credit tokens of the first type from the originator node and (ii) a second state indicating that the target node can only absorb credit tokens of the second type from the originator node;
(3) receiving a credit token from the originator node over the network;
(4) absorbing the received credit token if;
(i) the credit token is of a type corresponding to the target state, and (ii) said count is less than said quota for the target node;
(5) incrementing said count by one if the credit token is absorbed;
(6) toggling the target state from one state to another if said count is equal to the quota; and
(7) re-transmitting a received credit token over the network if the target node cannot absorb the credit token. - View Dependent Claims (31, 32)
-
-
33. A multi-node communication system for providing data transfer among a plurality of data processing nodes over a communication network, the system comprising:
-
(a) at least one originator node comprising a logic circuit configured by program instructions to perform the steps of;
(1) maintaining at least one originator state, the originator state including a first state and a second state;
(2) when the originator node desires to receive at least one data packet, (i) generating a credit token of;
(1) a first type if the originator state is in the first state, or (2) a second type if the originator state is in the second state; and
(ii) transmitting the credit token over the communication network to signal one or more target nodes to transfer data to the originator node; and
(3) toggling the originator state from one state to another upon receiving a credit token previously generated by the originator node back from the network; and
(b) at least one target node comprising a logic circuit configured by program instructions to perform the steps of;
(1) maintaining;
(i) a count of credit tokens absorbed by the target node over the network from the originator node, and (ii) a quota of the number of credit tokens the target node may absorb from the originator node;
(2) maintaining at least one target state, the target state including;
(i) a first state indicating that the target node can only absorb credit tokens of the first type from the originator node and (ii) a second state indicating that the target node can only absorb credit tokens of the second type from the originator node;
(3) receiving a credit token from the originator node over the network;
(4) absorbing the received credit token if;
(i) the credit token is of a type corresponding to the target state, and (ii) said count is less than said quota for the target node;
(5) incrementing said count by one if the credit token is absorbed;
(6) toggling the target state from one state to another if the received credit token is absorbed by the target node; and
(7) re-transmitting a received credit token over the network if the target node cannot absorb the received credit token. - View Dependent Claims (34, 35, 36)
-
Specification