IP Library Granted Patent US 8,732,330
Granted Patent B2
US 8,732,330 · App. 10/096,193 · Granted May 20, 2014

Method and apparatus for striping packets over parallel communication links

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,732,330
App. No.
10/096,193
Granted
May 20, 2014
Kind
B2
Abstract

A system for performing packet based data communications over a parallel set of sublinks is provided. A transmitter unit separates the sublinks into an available set of sublinks and a busy set of sublinks. This transmitter avoids processing delays by utilizing sublinks in the available sublink set and not waiting for sublinks in the busy sublink set to be released. To receive the packets, a receiver unit utilizes a sequence number associated with each packet. Accordingly, the receiver extracts the one or more packets of data received in parallel over the set of sublinks in sequential order. A packet window buffer is used to store packets in sequence if they are initially received out of order. The receiver utilizes a sliding window to provide packets in continuous sequential order and transmits the packets serially over a single communication link.

Claims (44)

1. A method for performing packet based data communications executed on a processor unit operatively coupled to two or more communication sublinks to receive data and a single sublink to transmit data, the method comprising the steps of:

determining which sublinks are in an available set of sublinks and which sublinks are in a busy set of sublinks;

if at least one sublink is determined to be in the available set of sublinks:

striping packets of data over the available set of sublinks;

extracting packets of data received in parallel over the available sublinks; and

transmitting the packets of data serially over the single sublink at a bandwidth at least greater than the bandwidth associated with any one of the available sublinks; and

if all sublinks are determined to be in the busy set of sublinks, delaying transmission of all packets until at least one sublink becomes available.

2. The method of claim 1 , wherein the processor unit is an application specific integrated circuit (ASIC).

3. The method of claim 1 , wherein the processor unit is a field programmable gate array (FPGA).

4. The method of claim 1 , wherein the transmitting step further comprises the steps of:

inserting a packet sequence number in a header associated with each packet;

associating one or more packets of data with sublinks from the available sublink set; and

synchronously transmitting the one or more packets of data in parallel over the corresponding sublinks in the available sublink set.

5. The method of claim 1 , wherein the determining step further comprises the steps of:

delaying until there is a sublink in the set of available sublinks available for transmitting data packets;

determining which sublinks in the available set of sublinks are available for transmitting data packets;

associating a sublink with the available set of sublinks when a sublink is available for transmitting packets of data; and

associating a sublinks with a busy sublink set when a sublink is not available for transmitting packets of data.

6. The method of claim 1 , wherein the extracting step further comprises the step of sequencing the packets based upon a packet sequence associated with each of the one or more packets of data.

7. The method of claim 6 , wherein the sequencing step further comprises the steps of:

extracting a packet sequence from each packet of data; and

ordering the packets, based upon the packet sequence, in numeric order wherein gaps in the sequence may be caused by packets that arrived out of order.

8. The method of claim 7 , wherein the ordering step further comprises the steps of:

generating a predetermined set of packet sequences corresponding to the range of packet sequences in the received packets;

associating a sliding window with the predetermined set of packet sequences; and

providing a sequence of packets when at least one received packet has a sequence number within the predetermined set of packet sequences.

9. The method of claim 8 further comprising the step of delaying a predetermined time period when no received packet has a sequence number within the predetermined sequence of packets.

10. The method of claim 1 performed on a data storage device attached to a network through the two or more communication sublinks.

11. An apparatus for performing packet based data communications operatively coupled to a single sublink to receive data and two or more communication sublinks to transmit data, comprising:

means for receiving data packets over the single sublink;

means for separating the two or more communication sublinks into a busy set of sublinks and an available set of sublinks; and

means for transmitting the data packets received over the single sublink by striping the one or more packets of data over the sublinks in the available set of sublinks and, if all sublinks are busy, for delaying transmission of any packets until at least one sublink becomes available.

12. An apparatus for performing packet based data communications coupled to two or more communication sublinks to receive data and a single sublink to transmit data, comprising:

means for determining which sublinks are in an available set of sublinks and which sublinks are in a busy set of sublinks;

means for receiving packets of data over the available set of sublinks;

means for extracting packets of data received in parallel over the available sublinks; and

means for transmitting the packets of data serially over the single sublink at a bandwidth at least greater than the bandwidth associated with any one of the available sublinks and, if all sublinks are busy, for delaying transmission of any packets until at least one sublink becomes available.

13. A method for transmitting one or more packets over a link of a network, comprising:

establishing communication sublinks of the link using Wave Length Division Multiplexing;

determining whether communication sublinks of the link are in a busy or an available state; and

if at least one sublink is in the available state, transmitting the one or more packets by striping the packets over the sublinks determined to be in an available state; and

if all sublinks are in the busy state, delaying transmission of any packets until at least one sublink becomes available.

14. The method of claim 13 , wherein the communication sublinks of the link are further established using a plurality of laser devices transmitting data over different wavelengths.

15. The method of claim 13 , wherein the link comprises an optical fiber link.

Assignments (12)
CHANGE OF NAME Recorded Jun 23, 2010
From: BBN TECHNOLOGIES CORP.
To: RAYTHEON BBN TECHNOLOGIES CORP.
Reel/Frame 024576/0607 →
RELEASE OF SECURITY INTEREST Recorded Oct 27, 2009
From: BANK OF AMERICA, N.A. (SUCCESSOR BY MERGER TO FLEET NATIONAL BANK)
To: BBN TECHNOLOGIES CORP. (AS SUCCESSOR BY MERGER TO BBNT SOLUTIONS LLC)
Reel/Frame 023427/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2009
From: PARTRIDGE, CRAIG
To: GTE INTERNETWORKING INCORPORATED
Reel/Frame 023133/0374 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2009
From: GENUITY INC.
To: GENUITY INC.; GTE SERVICE CORPORATION
Reel/Frame 023133/0405 →
CHANGE OF NAME Recorded Aug 24, 2009
From: GTE INTERNETWORKING INCORPORATED
To: GENUITY INC.
Reel/Frame 023133/0828 →
CHANGE OF NAME Recorded Aug 24, 2009
From: GTE SERVICE CORPORATION
To: VERIZON CORPORATE SERVICES GROUP INC.
Reel/Frame 023136/0345 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2007
From: LEVEL 3 COMMUNICATIONS, INC.
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 018989/0678 →
SECURITY AGREEMENT Recorded Sep 6, 2006
From: LEVEL 3 COMMUNICATIONS, INC.; ICG COMMUNICATIONS, INC.
To: MERRILL LYNCH CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 018207/0120 →
MERGER Recorded Jun 7, 2006
From: BBNT SOLUTIONS LLC
To: BBN TECHNOLOGIES CORP.
Reel/Frame 017751/0049 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2005
From: GENUITY, INC.
To: LEVEL 3 COMMUNICATIONS, INC.
Reel/Frame 016468/0239 →
PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jun 9, 2004
From: BBNT SOULTIONS LLC
To: FLEET NATIONAL BANK, AS AGENT
Reel/Frame 014718/0294 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2004
From: VERIZON CORPORATE SERVICES GROUP INC.
To: BBNT SOLUTIONS LLC; VERIZON CORPORATE SERVICES GROUP INC.
Reel/Frame 014646/0093 →