IP Library Granted Patent US 8,649,285
Granted Patent B2
US 8,649,285 · App. 13/005,467 · Granted Feb 11, 2014

Tracking packet sequence numbers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,649,285
App. No.
13/005,467
Granted
Feb 11, 2014
Kind
B2
Abstract

Methods, traffic receivers, and computer readable storage media for testing network connections are disclosed. A traffic receiver coupled to a network under test may receive a packet. A packet group identification number (PGID and a sequence number (SN) may be extracted from the received packet. Data associated with the PGID may be retrieved from a memory, the data including a next expected sequence number (NESN), a start of run (SOR), a number of in-order packets (NIO) and a number of duplicate packets (NDP). When SN is equal to NESN, NESN and NIO may be incremented. When SN is less than NESN and SN is greater than or equal to SOR, NDP may be incremented. When SN is greater than NESN, SOR may be set to SN, NESN may be set to SN plus one, and NIO maybe incremented. Updated data may be stored in the memory.

Claims (84)

1. A method performed by a traffic receiver coupled to a network under test, comprising:

receiving a stream of packets via the network under test, two or more packets from the stream of packets containing a first packet group identification number (PGID); and

for each of the two or more packets containing the first PGID:

extracting a sequence number (SN) from the received packet;

retrieving data associated with the first PGID from memory within or coupled to the traffic receiver, the data including a next expected sequence number (NESN), a start of run (SOR), a number of in-order packets (NIO) and a number of duplicate packets (NDP);

updating the data, updating the data comprising:

comparing SN to NESN to determine if SN is equal to, less than, or greater than NESN,

when SN is equal to NESN, incrementing NESN and incrementing NIO,

when SN is less than NESN, comparing SN to SOR and, when SN is greater than or equal to SOR, incrementing NDP, and

when SN is greater than NESN, setting SOR to SN, setting NESN to SN plus one, and incrementing NIO; and

storing the updated data in the memory.

2. The method of claim 1 , wherein the data associated with the first PGID includes a number of lost packets (NLO), updating the data further comprising:

when SN is greater than NESN, increasing NLO by a value equal to SN minus NESN.

3. The method of claim 2 , wherein the data associated with the first PGID includes a number of reordered packets (NRO) and a number of late packets (NLA), updating the data further comprising:

when SN is less than NESN and SN is less than SOR:

comparing SN to NESN minus a predetermined late threshold (LT),

when SN is greater than or equal to NESN minus LT, incrementing NRO and decrementing NLO, and

when SN is less than NESN minus LT, incrementing NLA and decrementing NLO.

4. The method of claim 3 , wherein the data associated with the first PGID includes LT.

5. A traffic receiver comprising:

memory to store data associated with a plurality of packet groups; and

logic coupled to the memory, the logic configured to:

receive a stream of packets from a network under test, two or more packets from the stream of packets containing a first packet group identification number (PGID) identifying a first packet group from the plurality of packet groups; and

for each packet containing the first PGID:

extract a sequence number (SN) from the received packet;

retrieve data associated with the first packet group from the memory, the data including a next expected sequence number (NESN), a start of run (SOR), a number of in-order packets (NIO) and a number of duplicate packets (NDP);

update the data, updating the data comprising:

comparing SN to NESN,

when SN is equal to NESN, incrementing NESN and incrementing NIO,

when SN is less than NESN, comparing SN to SOR and, when SN is greater than or equal to SOR, incrementing NDP, and

when SN is greater than NESN, setting SOR to SN, setting NESN to SN plus one, and incrementing NIO; and

store the updated data in the memory.

6. The traffic receiver of claim 5 , wherein

the data associated with the first packet group includes a number of lost packets (NLO), and

updating the data further comprising, when SN is greater than NESN:

increasing NLO by a value equal to SN minus NESN.

7. The traffic receiver of claim 6 , wherein

the data associated with the first packet group includes a number of reordered packets (NRO) and a number of late packets (NLA), and

updating the data associated with the first packet group further comprising, when SN is less than NESN and SN is less than SOR:

comparing SN to NESN minus a predetermined late threshold (LT) to determine if SN is greater than or equal to NESN minus LT or less than NESN minus LT,

when SN is greater than or equal to NESN minus LT, incrementing NRO and decrementing NLO, and

when SN is less than NESN minus LT, incrementing NLA and decrementing NLO.

8. The traffic receiver of claim 7 , wherein the data associated with the first packet group includes LT.

9. A computer-readable non-transitory storage medium storing data that, when used to program to one or more programmable devices, causes the one or more programmable devices to be configured as a traffic receiver comprising logic configured to:

receive a stream of packets from a network under test, two or more packets from the stream of packets containing a first packet group identification number (PGID) identifying a first packet group from the plurality of packet groups; and

for each packet containing the first PGID:

extract a sequence number (SN) from the received packet;

retrieve data associated with the first packet group from a memory, the data including a next expected sequence number (NESN), a start of run (SOR), a number of in-order packets (NIO) and a number of duplicate packets (NDP);

update the data, updating the data comprising:

comparing SN to NESN,

when SN is equal to NESN, incrementing NESN and incrementing NIO,

when SN is less than NESN, comparing SN to SOR and, when SN is greater than or equal to SOR, incrementing NDP, and

when SN is greater than NESN, setting SOR to SN, setting NESN to SN plus one, and incrementing NIO; and

store the updated data in the memory.

10. The computer-readable non-transitory storage medium of claim 9 , wherein

the data associated with the first packet group includes a number of lost packets (NLO), and

updating the data further comprising, when SN is greater than NESN:

increasing NLO by a value equal to SN minus NESN.

11. The computer-readable non-transitory storage medium of claim 10 , wherein

the data associated with the first packet group includes a number of reordered packets (NRO) and a number of late packets (NLA), and

updating the data further comprising, when SN is less than NESN and SN is less than SOR:

comparing SN to NESN minus a predetermined late threshold (LT) to determine if SN is greater than or equal to NESN minus LT or less than NESN minus LT,

when SN is greater than or equal to NESN minus LT, incrementing NRO and decrementing NLO, and

when SN is less than NESN minus LT, incrementing NLA and decrementing NLO.

12. The computer-readable non-transitory storage medium of claim 11 , wherein the data associated with the first packet group includes LT.

13. A method performed by a traffic receiver coupled to a network under test, comprising:

receiving a stream of packets via the network under test, each packet a member of a packet group from a plurality of packet groups, each packet containing a packet group identification number (PGID) identifying the respective packet group and a sequence number (SN) defining a relative transmission order within the respective packet group, at least some of the plurality of packet groups including two or more packets; and

for each received packet:

extracting the PGID and the SN from the received packet;

retrieving data associated with the packet group identified by the extracted PGID from memory within or coupled to the traffic receiver, the data including a next expected sequence number (NESN), a start of run (SOR), a number of in-order packets (NIO) and a number of duplicate packets (NDP);

updating the data, updating the data comprising:

comparing SN to NESN to determine if SN is equal to, less than, or greater than NESN,

when SN is equal to NESN, incrementing NESN and incrementing NIO,

when SN is less than NESN, comparing SN to SOR and, when SN is greater than or equal to SOR, incrementing NDP, and

when SN is greater than NESN, setting SOR to SN, setting NESN to SN plus one, and incrementing NIO; and

storing the updated data in the memory.

14. The method of claim 1 , wherein the data associated with the packet group identified by the extracted PGID includes a number of lost packets (NLO), updating the data further comprising:

when SN is greater than NESN, increasing NLO by a value equal to SN minus NESN.

15. The method of claim 2 , wherein the data associated with the packet group identified by the extracted PGID includes a number of reordered packets (NRO) and a number of late packets (NLA), updating the data further comprising:

when SN is less than NESN and SN is less than SOR:

comparing SN to NESN minus a predetermined late threshold (LT),

when SN is greater than or equal to NESN minus LT, incrementing NRO and decrementing NLO, and

when SN is less than NESN minus LT, incrementing NLA and decrementing NLO.

16. The method of claim 3 , wherein the data associated with the packet group identified by the extracted PGID includes LT.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: IXIA
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 044222/0695 →
RELEASE OF SECURITY INTEREST Recorded Apr 26, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: IXIA
Reel/Frame 042335/0465 →
NOTICE OF SUBSTITUTION OF ADMINISTRATIVE AGENT Recorded Feb 2, 2015
From: BANK OF AMERICA, N.A., RESIGNING ADMINISTRATIVE AGENT
To: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
Reel/Frame 034870/0598 →
SECURITY AGREEMENT Recorded Jan 25, 2013
From: IXIA
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029698/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2011
From: FUCHS, BRIAN; PEPPER, GERALD; CARTIC, SANJAY
To: IXIA
Reel/Frame 025671/0745 →