IP Library Granted Patent US 7,529,247
Granted Patent B2
US 7,529,247 · App. 10/663,378 · Granted May 5, 2009

Empirical scheduling of network packets

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 7,529,247
App. No.
10/663,378
Granted
May 5, 2009
Kind
B2
Abstract

A method of transmitting packets over a network includes steps of partitioning a packet delivery schedule into discrete time slots; transmitting a plurality of test packets from a first endpoint on the network to an intended recipient in the network using different time slots; evaluating the reliability of the network to transmit the plurality of test packets in each time slot; and selecting one or more time slots in the delivery schedule according to the evaluation step.

Claims (53)

1. A method of transmitting packets over an Internet Protocol (IP) or Ethernet packet-switched network, comprising the steps of:

(1) transmitting from a network endpoint a plurality of test packets over the network during a plurality of different time slots, wherein each test packet has a priority level that is lower than a priority level assigned to data packets that are to be transmitted between endpoints on the network, and wherein the test packets are transmitted so as to emulate data packets that are to be transmitted between the endpoints on the network;

(2) on the basis of step (1), evaluating which of the plurality of different time slots corresponds to favorable network traffic conditions; and

(3) transmitting a plurality of data packets comprising one or more of voice data, video data, and TDM-over-IP data over the network at a priority level higher than the test packets using one or more favorable time slots evaluated in step (2).

2. The method of claim 1 , wherein step (2) comprises the step of evaluating packet latencies associated with the test packets.

3. The method of claim 1 , wherein step (2) comprises the step of evaluating dropped packet rates associated with the test packets.

4. The method of claim 1 , wherein step (1) comprises the step of transmitting the test packets at a data rate corresponding to an expected connection bandwidth.

5. The method of claim 1 , wherein step (2) comprises the step of a network endpoint performing an evaluation of packet statistics associated with the test packets transmitted over the plurality of different time slots.

6. The method of claim 1 , wherein step (2) comprises the step of a network endpoint performing an evaluation of latencies and dropped packet rates associated with the test packets transmitted over the plurality of different time slots.

7. The method of claim 1 , wherein the test packets and the data packets comprise Internet Protocol (IP) packets transmitted over a packet-switched network.

8. The method of claim 7 , wherein the IP packets are scheduled for transmission within time slots within a frame that is synchronized to a clock.

9. The method of claim 1 , wherein the test packets are transmitted at a priority level that is lower than the data packets in step (3), but higher than other data packets containing other data transmitted on the network.

10. The method of claim 1 , wherein the data packets comprise voice data.

11. The method of claim 1 , further comprising the step of repeating steps (1) through (3) for each side of a two-way connection between two endpoints in the network.

12. The method of claim 1 , wherein the network is a packet-switched network comprising packet switches that maintain packet queues.

13. The method of claim 12 , wherein each packet switch comprises at least two packet queues, a higher-priority queue for transmitting the data packets of step (3) and a lower-priority queue for transmifting the test packets of step (1).

14. In an Internet Protocol (IP) or Ethernet network comprising a plurality of packet switches, a method of transmitting data packets, comprising the steps of:

(1) establishing a time reference frame comprising a plurality of time slots during which packets are to be transmitted across the network between two network endpoints;

(2) from a first network endpoint , empirically determining which of the plurality of time slots is associated with a reduced level of packet contention with respect to an intended second network endpoint; and

(3) synchronously transmitting a plurality of data packets comprising one or more of voice data, video data, and TDM-over-IP data from the first network endpoint to the second network endpoint during one or more time slots empirically determined to be associated with the reduced level of packet contention in step (2).

15. The method of claim 14 , wherein step (2) comprises the step of transmifting a plurality of test packets during a plurality of different time slots from the first network endpoint to the second network endpoint.

16. The method of claim 15 , wherein step (2) comprises the step of transmitting the test packets using a packet priority level lower than a packet priority level used to transmit the plurality of data packets in step (3).

17. The method of claim 16 , wherein step (2) comprises the step of transmitting test packets at a data rate sufficient to support a desired bandwidth in step (3).

18. An apparatus having a network interface and a processor programmed with computer-executable instructions that, when executed, perform the steps of:

(1) transmitting a plurality of test packets at a first priority level, wherein the test packets are transmitted at a data rate that emulates data packets that are to be transmitted between endpoints on the network;

(2) on the basis of step (1), evaluating which of the plurality of different time slots corresponds to favorable network traffic conditions; and

(3) transmitting a plurality of data packets comprising one or more of voice data, video data, and TDM-over-IP data over the network at a second priority level using one or more favorable time slots evaluated in step (2), wherein the second priority level is higher than the first priority level.

19. The apparatus of claim 18 , wherein the computer-executable instructions further perform the step of evaluating packet latencies of the plurality of test packets with a second apparatus connected to the network.

20. The method of claim 1 , wherein step (2) comprises the step of transmitting the test packets at a data rate that exceeds an expected data rate for packets that are to be transmitted between two network endpoints on the network.

21. The method of claim 14 , wherein the reduced level of packet contention corresponds to zero contention.

22. The apparatus of claim 18 , wherein step (2) comprises the step of evaluating packet statistics associated with the test packets.

23. The apparatus of claim 22 , wherein the packet statistics comprise a dropped packet rate.

24. The apparatus of claim 22 , wherein the packet statistics comprise packet latencies.

25. The apparatus of claim 18 , wherein the test packets and the data packets comprise Internet Protocol (IP) packets transmitted over a packet-switched network.

26. The apparatus of claim 25 , wherein the IP packets are scheduled for transmission within time slots within a frame that is synchronized to a clock.

27. The apparatus of claim 18 , wherein the test packets are transmitted at a priority level that is lower than the data packets in step (3), but higher than other data packets containing other data transmitted on the network.

28. The apparatus of claim 18 , wherein the data packets compnse voice data.

29. The apparatus of claim 18 , wherein the network is a packet-switched network comprising packet switches that maintain packet queues.

30. A system comprising at least three network endpoints that contend for resources in a shared packet switch, each endpoint comprising a processor programmed with computer-executable instructions that, when executed, perform steps including:

(1) transmitting a plurality of test packets over the network during a plurality of different time slots, wherein each test packet has a priority level that is lower than a priority level assigned to data packets that are to be transmitted between endpoints on the network, and wherein the test packets are transmitted so as to emulate data packets that are to be transmitted between the endpoints on the network;

(2) on the basis of step (1), evaluating which of the plurality of different time slots corresponds to favorable network traffic conditions; and

(3) synchronously transmitting a plurality of data packets comprising one or more of voice data, video data, and TDM-over-IP data over the network using one or more favorable time slots evaluated in step (2).

31. The system of claim 30 , wherein the processor is further programmed to perform steps including: evaluating packet statistics corresponding to the test packets transmitted as part of step (2).

32. The method of claim 1 , wherein the data packets comprise video data.

33. The method of claim 1 , wherein the data packets comprise time-division multiplex (TDM) data converted into IP packets.

34. The apparatus of claim 18 , wherein the data packets comprise video data.

35. The apparatus of claim 18 , wherein the data packets comprise time-division multiplex (TDM) data converted into IP packets.

36. A method of transmitting packets over an Internet Protocol (IP) network comprising a plurality of network switches, comprising:

(1) establishing a time reference frame comprising a plurality of time slots corresponding to candidate times during which packets may be transmitted between network endpoints on the network;

(2) transmitting over a plurality of the time slots a plurality of test packets from a first endpoint on the IP network to a second endpoint on the IP network, wherein the plurality of test packets are transmitted at a first priority level and are transmitted at a data rate corresponding to an expected rate to be experienced during a subsequent communication between the first and second endpoints on the IP network,

(3) evaluating, at one of the first and second endpoints, packet statistics for the test packets, wherein the packet statistics are indicative of contention conditions in one or more of the plurality of network switches,

(4) identifying one or more time slots that correspond to a low level of contention conditions; and

(5) synchronously transmitting based on the time reference frame a plurality of data packets comprising one or more of voice data, video data, and TDM-over-IP data during the one or more of the time slots identified in step (4) that correspond to the low level of contention conditions in the one or more network switches, wherein the data packets are transmitted at a priority level higher than the first priority level of the test packets.

Assignments (13)
CHANGE OF NAME Recorded Jul 28, 2016
From: GSI GROUP INC.
To: NOVANTA INC.
Reel/Frame 039281/0084 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF ASSIGNOR PREVIOUSLY RECORDED ON REEL 031816 FRAME 0886. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 29, 2014
From: NDS SURGICAL IMAGING, LLC
To: GSI GROUP, INC.
Reel/Frame 032095/0671 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2013
From: NDS SURGICAL IMAGING, INC.
To: GSI GROUP, INC.
Reel/Frame 031816/0886 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2013
From: NDS IMAGING HOLDINGS, LLC
To: NDS SURGICAL IMAGING, LLC
Reel/Frame 031610/0615 →
SECURITY AGREEMENT Recorded Feb 11, 2013
From: NDS IMAGING HOLDINGS, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 029792/0682 →
RELEASE OF SECURITY INTEREST Recorded Jan 18, 2013
From: MCG CAPITAL CORPORATION
To: NDSSI HOLDINGS, LLC (FORMERLY NATIONAL DISPLAY HOLDINGS, LLC); NDS SURGICAL IMAGING, LLC (FORMERLY NATIONAL DISPLAY SYSTEMS, LLC); NDS SURGICAL IMAGING, INC. (FORMERLY DOME IMAGING SYSTEMS, INC.); NDS IMAGING HOLDINGS, LLC; NDSSI IP HOLDINGS, LLC
Reel/Frame 029658/0584 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CAPACITY OF MCG CAPITAL CORPORATION FROM ADMINISTRATIVE AGENT TO COLLATERAL AGENT PREVIOUSLY RECORDED ON REEL 024358 FRAME 0624. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS AS A TRUE AND CORRECT COPY OF THE ORIGINAL. Recorded Jun 24, 2010
From: NDS IMAGING HOLDINGS, LLC
To: MCG CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 024588/0113 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded May 11, 2010
From: NDS IMAGING HOLDINGS, LLC
To: MCG CAPITAL CORPORATION, AS ADMINISTRATIVE AGENT
Reel/Frame 024358/0624 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2010
From: HERCULES TECHNOLOGY GROWTH CAPITAL, INC.
To: NDS IMAGING HOLDINGS, LLC
Reel/Frame 024170/0819 →
SECURITY AGREEMENT Recorded Mar 12, 2009
From: RIVULET COMMUNICATIONS, INC.
To: HERCULES TECHNOLOGY GROWTH CAPITAL, INC.
Reel/Frame 022390/0039 →
RELEASE OF SECURITY INTEREST Recorded Apr 1, 2005
From: TMG-RIVULET PARTNERSHIP
To: RIVULET COMMUNICATIONS, INC., A DELAWARE CORP.
Reel/Frame 015994/0328 →
SECURITY AGREEMENT Recorded Oct 19, 2004
From: RIVULET COMMUNICATIONS, INC.
To: TMG-RIVULET PARTNERSHIP
Reel/Frame 015263/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2004
From: ROGERS, STEVEN A.
To: RIVULET COMMUNICATIONS, INC.
Reel/Frame 015764/0833 →