Consistency checking for credit-based control of data communications
AssigneeHewlett Packard Enterprise Development LP
InventorMichael L. Ziegler
Life of this patent
Estimating the term…
Abstract
A credit-based method for controlling data communications in a computer system between a sender and a receiver coupled by an ordered communication link is described herein. A request for a credit check is transmitted from the sender to the receiver via the ordered communication link. An initial number of credits are allocated to the sender in a credit counter. A snapshot counter is set to a value of the credit counter and us updated as returned credits are received. A number of reported credits are determined based on a credit check response message received from the receiver. The returned credits are ordered relative to the credit check response message. The number of credits is checked for consistency based on a number of the snapshot counter and the number of reported credits.
Claims20
A credit-based method for controlling data communications in a computer system between a sender and a receiver coupled by an ordered communication link, the method comprising:
- transmitting a request for a credit check from the sender to the receiver via the ordered communication link, wherein an initial number of credits is allocated to the sender in a credit counter, each credit corresponding to a portion of memory space in the receiver reserved to store a packet received from the sender;
- setting a snapshot counter to a value of the credit counter;
- updating the snapshot counter as returned credits are received;
- determining a number of reported credits based on a credit check response message received from the receiver, wherein the returned credits are ordered relative to the credit check response message;
- and
- checking the number of credits in the computer system for consistency based on a number of the snapshot counter and the number of reported credits.
A network device for credit-based flow control, the device comprising:
- a sender node including a credit manager;
- a receiver node including a buffer;
- and
- a first ordered communication link, coupling the sender node to the receiver node for transmission of data packets from the sender node to the buffer of the receiver node;
- wherein the credit manager is configured to:
- transmit a request for a credit check from the sender node to the receiver node via the first ordered communication link, wherein an initial number of credits is allocated to the sender node in a credit counter, each credit corresponding to a portion of buffer space in the receiver node reserved to store data packets received from the sender node;
- set a snapshot counter to a value of the credit counter;
- update the snapshot counter as returned credits are received;
- determine a number of reported credits based on a credit check response message received from the receiver, wherein the returned credits are ordered relative to the credit check response message;
- and
- check the number of credits in the network device for consistency based on a number of the snapshot counter and the number of reported credits.
A non-transitory computer-readable medium storing a plurality of instructions for controlling a data processor for controlling data communications in a computer system between a sender and a receiver coupled by an ordered communication link, the plurality of instructions comprising:
- instructions that cause the data processor to transmit a request for a credit check from the sender to the receiver via the ordered communication link, wherein an initial number of credits is allocated to the sender in a credit counter, each credit corresponding to a portion of memory space in the receiver reserved to store a packet received from the sender;
- instructions that cause the data processor to set a snapshot counter to a value of the credit counter;
- instructions that cause the data processor to update the snapshot counter as returned credits are received;
- instructions that cause the data processor to determine a number of reported credits based on a credit check response message received from the receiver, wherein the returned credits are ordered relative to the credit check response message;
- and
- instructions that cause the data processor to check the number of credits in the computer system for consistency based on a number of the snapshot counter and the number of reported credits.
Dependencies are inferred from the claim text.