Patent ID: 7975064
Filing Date: 2011-07-05
Classification: H04L

Abstract:
1. A method for sending envelopes, comprising: generating a given envelope, wherein the given envelope has a given envelope sequence number that is after a last valid reply envelope sequence number; sending the given envelope to a receiver; copying the given envelope to a retry buffer; sending at least one subsequent envelope to the receiver, wherein each of the at least one subsequent envelope has a sequentially increasing envelope sequence number; copying the at least one subsequent envelope to the retry buffer; receiving a reply envelope from the receiver, wherein the reply envelope has a current reply envelope sequence number, wherein the current reply envelope sequence number corresponds to a last envelope successfully and sequentially received at the receiver, wherein the current reply envelope sequence number is after the last valid reply envelope sequence number, wherein the given envelope sequence number is between the last valid reply envelope sequence number and the current reply envelope sequence number, wherein the reply envelope comprises one or more physical layer groups, wherein each of the one or more physical layer groups is a distinct information packet meeting certain predefined criteria, and wherein a given physical layer group within the one or more physical layer groups comprises a credit value; incrementing a local credit count based on the credit value; and responsive to the reply envelope being received before expiration of a retry envelope sequence number timer and a reply envelope sequence number valid bit for the reply envelope being set and the current reply envelope sequence number being sequentially later than the last valid reply envelope sequence number, deleting each envelope having an envelope sequence number up to and including the current reply envelope sequence number, including the given envelope, from the retry buffer wherein the credit value allocates speculative credits such that responsive to incrementing the local credit count, the local credit count is greater than a number of commands or data packets supported by the receiver.