US2003193892A1PendingUtilityA1

Credit initialization in systems with proactive flow control

Priority: Mar 13, 1998Filed: May 23, 2003Published: Oct 16, 2003
Est. expiryMar 13, 2018(expired)· nominal 20-yr term from priority
H04L 47/527H04M 2215/22H04L 47/50
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The inventive mechanism initializes the credit and debit registers used in a network computer system that uses proactive flow control. During initialization, the credit register is initialized to zero, while the debit register is initialized to the amount of queue space available in that particular chip release. Once the debit register is non-zero, it eventually releases the credits. These credits will be added to the credit register. These activities of adding and releasing credits take place during normal operation. Thus, the sender and destination nodes do not have to undergo any other initialization stages for setting up the credits.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A method for initializing credit in a credit register used for flow control that is resident on a first node of a multinode computer system, the method comprising the steps of: 
 loading an initial credit value into a debit register resident on a second node of the multinode computer system; and    transferring the initial credit value into the credit register by using operational mechanisms of the system.    
     
     
         2 . The method of  claim 1 , wherein: 
 the initial credit value is equal to a size of a queue that is resident on the second node and receives information from the first node.    
     
     
         3 . The method of  claim 1 , further comprising the step of: 
 loading the credit register with a zero prior to the step of transferring.    
     
     
         4 . The method of  claim 1 , wherein: 
 the step of loading is performed after a reset condition has been lifted.    
     
     
         5 . The method of  claim 1 , wherein the step of transferring comprises the steps of: 
 placing the credit value into a packet which is bound for the first node;    decrementing the debit register by the amount of the credit value; and    sending the packet to the first node.    
     
     
         6 . The method of  claim 5 , wherein the step of transferring further comprises the steps of: 
 receiving, by the first node, the packet from the second node;    determining whether the packet is destined for the first node;    forwarding the packet to another node, if the packet is not destined for the first node; and    processing the packet, if the packet is destined for the first node.    
     
     
         7 . The method of  claim 5 , wherein the step of transferring further comprises the steps of: 
 receiving, by the first node, the packet from the second node;    inspecting the packet, by the first node, to determine whether the packet includes credits for the first node; and    incrementing the credit register by a value of the credits determined to be in the packet.    
     
     
         8 . The method of  claim 7 , further comprising the step of: 
 sending a subsequent packet to the second node from the first node.    
     
     
         9 . The method of  claim 8 , wherein the second node includes a queue that receives information from the first node, wherein the step of sending the subsequent packet comprises the steps of: 
 determining an amount of space that the subsequent packet will require in the queue of the second node;    comparing the amount of space with a number of credits in the credit register;    sending the subsequent packet to the second node if the amount of space is less than the number of credits; and    holding the subsequent packet until the amount of space is less than the number of credits if the amount of space is not less than the number of credits.    
     
     
         10 . The method of  claim 9 , wherein the step of sending the subsequent packet further comprises the step of: 
 decrementing the credit register by the amount.    
     
     
         11 . The method of  claim 9 , further comprising the steps of: 
 receiving, by the second node, the subsequent packet from the first node;    inspecting the packet, by the second node, to determine whether the subsequent packet includes credits for the second node; and    incrementing a credit register of the second node by the value of the credits determined to be in the subsequent packet.    
     
     
         12 . The method of  claim 9 , further comprising the steps of: 
 receiving, by the second node, the subsequent packet from the first node;    determining whether the subsequent packet is destined for the second node;    forwarding the subsequent packet to another node, if the subsequent packet is not destined for the second node; and    processing the subsequent packet, if the subsequent packet is destined for the second node.    
     
     
         13 . The method of  claim 12 , further comprising the steps of: 
 consuming, by the second node, the subsequent packet; and    releasing, by the second node, the amount of credits to the first node.    
     
     
         14 . A method for initializing credit in a credit register used for flow control that is resident on a first node of a multinode computer system, the method comprising the steps of: 
 loading an initial credit value into a debit register resident on a second node of the multinode computer system;    loading the credit register with a zero prior to the step of transferring; and    transferring the initial credit value into the credit register by using operational mechanisms of the system;    wherein the initial credit value is equal to a size of a queue that is resident on the second node and receives information from the first node, and the steps of loading are performed after a reset condition has been lifted.    
     
     
         15 . The method of  claim 14 , wherein the step of transferring comprises the steps of: 
 placing the credit value into a packet which is bound for the first node;    decrementing the debit register by the amount of the credit value; and    sending the packet to the first node.    
     
     
         16 . The method of  claim 15 , wherein the step of transferring further comprises the steps of: 
 receiving, by the first node, the packet from the second node;    inspecting the packet, by the first node, to determine whether the packet includes credits for the first node; and    incrementing the credit register by a value of the credits determined to be in the packet.    
     
     
         17 . A mechanism for initializing credit in a credit register used for flow control that is resident on a first node of a multinode computer system, the mechanism comprising: 
 means for loading an initial credit value into a debit register resident on a second node of the multinode computer system; and    means for transferring the initial credit value into the credit register using operational mechanisms of the system.    
     
     
         18 . The mechanism of  claim 17 , wherein: 
 the initial credit value is equal to a size of a queue that is resident on the second node and receives information from the first node.    
     
     
         19 . The mechanism of  claim 17 , further comprising: 
 means for loading the credit register with a zero which operates prior to the means for transferring.    
     
     
         20 . The mechanism of  claim 17 , wherein: 
 the means for loading operates after a reset condition has been lifted.    
     
     
         21 . The mechanism of  claim 17 , wherein the means for transferring comprises: 
 means for placing the credit value into a packet which is bound for the first node;    means for decrementing the debit register by the amount of the credit value; and    means for sending the packet to the first node.    
     
     
         22 . The mechanism of  claim 21 , wherein the means for transferring further comprises: 
 means for receiving the packet from the second node;    means for determining whether the packet is destined for the first node;    means for forwarding the packet to another node, if the packet is not destined for the first node; and    means for processing the packet, if the packet is destined for the first node.    
     
     
         23 . The mechanism of  claim 21 , wherein the means for transferring further comprises: 
 means for receiving the packet from the second node;    means for inspecting the packet to determine whether the packet includes credits for the first node; and    means for incrementing the credit register by a value of the credits determined to be in the packet.    
     
     
         24 . The mechanism of  claim 23 , further comprising: 
 means for sending a subsequent packet to the second node from the first node.    
     
     
         25 . The mechanism of  claim 24 , wherein the second node includes a queue that receives information from the first node, wherein the means for sending the subsequent packet comprises: 
 means for determining an amount of space that the subsequent packet will require in the queue of the second node;    means for comparing the amount of space with a number of credits in the credit register;    means for sending the subsequent packet to the second node if the amount of space is less than the number of credits; and    means for holding the subsequent packet until the amount of space is less than the number of credits if the amount of space is not less than the number of credits.    
     
     
         26 . The mechanism of  claim 25 , wherein the means for sending the subsequent packet further comprises: 
 means for decrementing the credit register by the amount.    
     
     
         27 . The mechanism of  claim 25 , further comprising: 
 means for receiving the subsequent packet from the first node;    means for inspecting the packet to determine whether the subsequent packet includes credits for the second node; and    means for incrementing a credit register of the second node by the value of the credits determined to be in the subsequent packet.    
     
     
         28 . The mechanism of  claim 25 , further comprising: 
 means for receiving the subsequent packet from the first node;    means for determining whether the subsequent packet is destined for the second node;    means for forwarding the subsequent packet to another node, if the subsequent packet is not destined for the second node; and    means for processing the subsequent packet, if the subsequent packet is destined for the second node.    
     
     
         29 . The mechanism of  claim 28 , further comprising: 
 means for consuming, by the second node, the subsequent packet; and    means for releasing, by the second node, the amount of credits to the first node.    
     
     
         30 . A mechanism for initializing credit in a credit register used for flow control that is resident on a first node of a multinode computer system, the mechanism comprising: 
 first means for loading an initial credit value into a debit register resident on a second node of the multinode computer system;    second means for loading the credit register with a zero; and    means for transferring the initial credit value into the credit register by using operational mechanisms of the system;    wherein the initial credit value is equal to a size of a queue that is resident on the second node and receives information from the first node, and the first and second means for loading operate after a reset condition has been lifted.    
     
     
         31 . The mechanism of  claim 30 , wherein the means for transferring comprises: 
 means for placing the credit value into a packet which is bound for the first node;    means for decrementing the debit register by the amount of the credit value; and    means for sending the packet to the first node.    
     
     
         32 . The mechanism of  claim 31 , wherein the means for transferring further comprises: 
 means for receiving the packet from the second node;    means for inspecting the packet to determine whether the packet includes credits for the first node; and    means for incrementing the credit register by a value of the credits determined to be in the packet.

Join the waitlist — get patent alerts

Track US2003193892A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.