US2013064248A1PendingUtilityA1

Handling out-of-sequence packets in a circuit emulation service

39
Assignee: POULIN ANDREPriority: May 7, 2009Filed: Nov 9, 2012Published: Mar 14, 2013
Est. expiryMay 7, 2029(~2.8 yrs left)· nominal 20-yr term from priority
H04L 12/66
39
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Various exemplary embodiments relate to a method and related network node having a playout buffer including one or more of the following: receiving, at the network device, a first packet belonging to a first flow, the first packet including a first sequence number (SN); receiving, at the network device, a second packet belonging to the first flow, the second packet including a second SN; determining that the second SN is not in sequence with the first SN; waiting to receive, at the network device, a third packet belonging to the first flow, the third packet including a third SN; and determining that a jump in SNs has occurred for the first flow between the first packet and the second packet based on determining that the third SN is in sequence with the second SN.

Claims

exact text as granted — not AI-modified
1 . A method performed by a network device for handling out-of-sequence packets, the method comprising:
 receiving, at the network device, a first packet belonging to a first flow, the first packet including a first sequence number (SN);   receiving, at the network device, a second packet belonging to the first flow, the second packet including a second SN;   determining that the second SN is not in sequence with the first SN;   waiting to receive, at the network device, a third packet belonging to the first flow, the third packet including a third SN; and   determining that a jump in SNs has occurred for the first flow between the first packet and the second packet based on determining that the third SN is in sequence with the second SN.   
     
     
         2 . The method of  claim 1 , further comprising:
 waiting to receive, at the network device, a fourth packet belonging to the first flow, the fourth packet including a fourth SN,   wherein determining that a jump in SNs has occurred for the first flow between the first packet and the second packet based on determining that the third SN is in sequence with the second SN comprises determining that a jump in SNs has occurred for the first flow between the first packet and the second packet based on:
 determining that the third SN is in sequence with the second SN, and 
 determining that the fourth SN is in sequence with the third SN. 
   
     
     
         3 . The method of  claim 1 , wherein determining that the third SN is in sequence with the second SN comprises determining that the third SN is equal to the sum of the second SN and an expected increment value. 
     
     
         4 . The method of  claim 1 , further comprising:
 normalizing a playout buffer of the network device based on a determination that a jump in SNs has occurred for the first flow between the first packet and the second packet.   
     
     
         5 . The method of  claim 1 , further comprising:
 receiving, at the network device, a fourth packet belonging to a second flow, the fourth packet including a fourth sequence number (SN);   receiving, at the network device, a fifth packet belonging to the second flow, the fifth packet including a fifth SN;   determining that the fifth SN is not in sequence with the fourth SN;   waiting to receive, at the network device, a sixth packet belonging to the second flow, the sixth packet including a sixth SN; and   determining that the fifth packet was received out of order based on determining that the sixth SN is in sequence with the fourth SN.   
     
     
         6 . The method of  claim 1 , further comprising:
 receiving, at the network device, a fourth packet belonging to a second flow, the fourth packet including a fourth sequence number (SN);   receiving, at the network device, a fifth packet belonging to the second flow, the fifth packet including a fifth SN;   determining that the fifth SN is not in sequence with the fourth SN;   waiting to receive, at the network device, a sixth packet belonging to the second flow, the sixth packet including a sixth SN; and   determining that the fifth packet included an incorrect SN based on determining the sixth SN is equal to the sum of the fourth SN and two times an expected increment value.   
     
     
         7 . The method of  claim 1 , further comprising reinitializing a playout buffer of the network device based on a determination that:
 the third SN is not in sequence with the second SN,   the third SN is not in sequence with the first SN, and   the third SN does not equal the sum of the first SN and two times an expected increment value.   
     
     
         8 . A method performed by a network device for handling out-of-sequence packets, the method comprising:
 receiving, at the network device, a first packet;   determining that the first packet has been received out of sequence;   entering an Out-Of-Sync state based on determining that the first packet has been received out of sequence;   receiving, at the network device, a second packet;   detecting an In Sequence condition based on the second packet;   exiting the Out-Of-Sync state based on detecting the In Sequence condition.   
     
     
         9 . The method of  claim 8 , wherein:
 the network device has previously received a packet having a first sequence number (SN),   the first packet includes a second SN,   the second packet includes a third SN, and   detecting the In Sequence condition comprises determining that a jump in SNs has occurred based on determining that the third SN is in sequence with the second SN.   
     
     
         10 . The method of  claim 8 , wherein exiting the Out-Of-Sync state comprises entering a Sync state based on a determination that the first packet represented at least one of: a sequence number anomaly and an incorrect sequence number. 
     
     
         11 . The method of  claim 8 , wherein exiting the Out-Of-Sync state comprises entering a Normalize state based on a determination that the first packet represented a jump in sequence numbers. 
     
     
         12 . The method of  claim 11 , further comprising transitioning to a Sync state from the Normalize state based on completion of a normalization operation. 
     
     
         13 . The method of  claim 11 , wherein completion of the normalization operation comprises:
 discarding at least one packet received while in the Normalize state;   determining that a current fill level of a playout buffer is lower than a target fill level; and   inserting at least one dummy packet into the playout buffer.   
     
     
         14 . A network device for handling out-of-sequence packets, the network device comprising:
 a memory; and   a processor communicatively connected to the memory, the processor being configured to:
 receive a first packet belonging to a first flow, the first packet including a first sequence number (SN), 
 receive a second packet belonging to the first flow, the second packet including a second SN, 
 determine that the second SN is not in sequence with the first SN, 
 wait to receive a third packet belonging to the first flow, the third packet including a third SN, and 
 determine that a jump in SNs has occurred for the first flow between the first packet and the second packet based on determining that the third SN is in sequence with the second SN. 
   
     
     
         15 . The network device of  claim 14 , wherein the processor is further configured to:
 wait to receive a fourth packet belonging to the first flow, the fourth packet including a fourth SN,   wherein, in determining that a jump in SNs has occurred for the first flow between the first packet and the second packet based on determining that the third SN is in sequence with the second SN, the processor is configured to determine that a jump in SNs has occurred for the first flow between the first packet and the second packet based on:
 determining that the third SN is in sequence with the second SN, and 
 determining that the fourth SN is in sequence with the third SN. 
   
     
     
         16 . The network device of  claim 14 , wherein, in determining that the third SN is in sequence with the second SN, the processor is configured to determine that the third SN is equal to the sum of the second SN and an expected increment value. 
     
     
         17 . The network device of  claim 14 , wherein the processor is further configured to normalize a playout buffer of the network device based on a determination that a jump in SNs has occurred for the first flow between the first packet and the second packet. 
     
     
         18 . The network device of  claim 14 , wherein the processor is further configured to:
 receive a fourth packet belonging to a second flow, the fourth packet including a fourth sequence number (SN);   receive a fifth packet belonging to the second flow, the fifth packet including a fifth SN;   determine that the fifth SN is not in sequence with the fourth SN;   wait to receive a sixth packet belonging to the second flow, the sixth packet including a sixth SN; and   determine that the fifth packet was received out of order based on determining that the sixth SN is in sequence with the fourth SN.   
     
     
         19 . The network device of  claim 14 , wherein the processor is further configured to:
 receive a fourth packet belonging to a second flow, the fourth packet including a fourth sequence number (SN);   receive a fifth packet belonging to the second flow, the fifth packet including a fifth SN;   determine that the fifth SN is not in sequence with the fourth SN;   wait to receive a sixth packet belonging to the second flow, the sixth packet including a sixth SN; and   determine that the fifth packet included an incorrect SN based on determining the sixth SN is equal to the sum of the fourth SN and two times an expected increment value.   
     
     
         20 . The network device of  claim 14 , wherein the processor is further configured to reinitialize a playout buffer of the network device based on a determination that:
 the third SN is not in sequence with the second SN,   the third SN is not in sequence with the first SN, and   the third SN does not equal the sum of the first SN and two times an expected increment value.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.