IP Library Granted Patent US 7,095,753
Granted Patent B1
US 7,095,753 · App. 09/949,417 · Granted Aug 22, 2006

Digital network processor-based multi-protocol flow control

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,095,753
App. No.
09/949,417
Granted
Aug 22, 2006
Kind
B1
Abstract

Multiple network processors ( 201, 202, 203 ) are connected in a pipeline via control ( 206 ) and data ( 205 ) ports of the network processors. The network processors ( 201, 202, 203 ) communicate with neighboring network processors through the control and data ports. Through these ports, the network processors can implement a variety of data flow control protocols.

Claims (54)

1. A network device comprising:

a first network processor including

at least one data port, and

at least one control port; and

a second network processor including

a data port coupled to the data port of the first network processor, and

a control port coupled to the control port of the first network processor, wherein

the data and control ports of the first and second network processors connect the first and second network processors together in a pipeline configuration and wherein the first and second network processors implement data transmission protocols in the pipeline configuration, and wherein the first and second network processors are configurable to implement multiple data transmission protocols.

2. The network device of claim 1 , further comprising:

a fabric connected to the data and the control ports of the first and second network processors and configured to electrically couple the first and second processors, the data transmission protocols implemented by the first and second network processors being additionally configurable based on a configuration of the fabric.

3. The network device of claim 2 , wherein the fabric is a crossbar arrangement of switches or a multi-stage network including crossbar switching elements.

4. The network device of claim 1 , wherein network data is transmitted between the data ports of the first and second network processors in a first direction and data flow control information is transmitted between the control ports of the first and second network processors in a second direction.

5. The network device of claim 4 , wherein the first and second directions are opposite of one another.

6. The network device of claim 5 , wherein the second network processor receives the network data from the first network processor and controls the flow of the network data from the first network processor to the second network processor by sending network data request messages to the first network processor via the control ports.

7. The network device of claim 4 , wherein the first and second directions are the same direction.

8. The network device of claim 7 , wherein the first and second network processors implement token bucket flow control.

9. The network device of claim 8 , wherein the first network processor further includes

a plurality of token buckets configured to store an indication of an amount of new data eligible to be transmitted to the second network processor, the first network processor forwarding network data to the second network processor via the data ports and the first network processor forwarding control information to the second network processor via the control ports.

10. The network device of claim 9 , wherein the second network processor further includes

a plurality of buffers configured to store network data received from the first network processor, the second network processor dequeueing selected ones of the buffers in response to dequeue commands received from the first network processor via the control port.

11. A network processor comprising:

a network data port configured to communicate network data to a network data port of a neighboring network processor; and

a control port configured to communicate control information to a network control port of the neighboring network processor, the network processor and the neighboring network processor being coupled together through the data and control ports as a pipeline in which stages of the pipeline implement portions of a network data flow control protocol, wherein the network processor is configurable to implement a portion of a selected one of multiple network data flow control protocols.

12. The network processor of claim 11 , wherein the data port and the control port connect to the neighboring network processor through a fabric.

13. The network processor of claim 12 , wherein the fabric is a straight wire line connection between the network processor and the neighboring network processor.

14. The network processor of claim 12 , wherein the fabric is a crossbar arrangement of switches or a multi-stage network including crossbar switching elements.

15. The network processor of claim 12 , wherein the network processor transmits the network data to the neighboring processor via the data port in response to control messages received from the neighboring processor via the control port that indicates that the neighboring processor is requesting data.

16. The network processor of claim 12 , wherein the network processor controls flow of data from the neighboring network processor through token buckets stored in the network processor.

17. The network processor of claim 12 , wherein connections in the fabric are configurable to implement the different network flow control protocols.

18. A network device comprising:

first processing means for implementing a first portion of a network data flow control protocol;

second processing means for implementing a second portion of the network data flow control protocol, the second processing means communicating with the first processing means through a data port and a control port; and

switch fabric means to couple the first processing means and the second processing means, wherein

the first and second processing means are connected as a pipeline and wherein the first processing means, the second processing means, and the switch fabric means are configurable to implement different data flow control protocols.

19. The network device of claim 18 , wherein network data is transmitted between the first and second processing means through the data ports in a first direction and wherein control information is transmitted between the first and second processing means through the control ports in a second direction.

20. The network device of claim 19 , wherein the first and second directions are in the same direction.

21. The network device of claim 20 , wherein the network data flow control protocol includes token bucket flow control techniques.

22. The network device of claim 19 , wherein the first and second directions are in opposite directions.

23. The network device of claim 22 , wherein the network data flow protocol includes egress feedback data flow control.

24. A network device for transmitting data comprising:

a first network processor having one input data port, one output data port, one input control port, and one output control port;

a second network processor having one input data port, one output data port, one input control port, and one output control port;

means for operatively coupling both said output data port of said first network processor to said input data port of said second network processor and said output control port of said first network processor to said input control port of said second network processor, whereby said first network processor and said second network processor are operatively coupled in a pipeline configuration; and,

said first network processor and said second network processor including means for implementing a plurality of data transmission protocols in said pipeline configuration, a particular one of the data transmission protocols that is implemented being configurable in the first network processor and the second network processor.

25. The network device of claim 24 and wherein said operatively coupling means further comprises a fabric.

26. The network device of claim 25 and wherein said fabric is wireline connection between said first network processor and said second network processor.

27. The network device of claim 25 and wherein said fabric is selected from the group of fabrics consisting of:

a crossbar arrangement of switches and a multistage network including crossbar switching elements.

28. The network device of claim 24 and wherein said data is transmitted from said output data port of said first network processor to said input data port of said second network processor, and said input control port of said first network processor receives data flow control information from said output control port of said second processor.

29. The network device of claim 24 and wherein said data is transmitted from said output data port of said first network processor to said input data port of said second network processor, and said input control port of said second network processor receives data flow control information from said output control port of said first network processor.

30. The network device of claim 29 and wherein said data transmission protocols implementing means includes a token bucket flow controller.

31. The network device of claim 30 and wherein said token bucket flow controller further comprises:

a plurality of token buckets configured in said first network processor to store an indication of an amount of new data eligible to be transmitted from said output data port of said second network processor; and,

a plurality of buffers configured in said second network processor to store said data from said first network processor, said second network processor including means, responsive to dequeue commands related to said indication and received via said output control port of said first network processor, for selecting and dequeuing certain of said buffers.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2013
From: STRAGENT, LLC
To: RPX CORPORATION
Reel/Frame 030511/0496 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2010
From: AZURE NETWORKS, LLC
To: STRAGENT, LLC
Reel/Frame 023905/0349 →
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 19, 2009
From: BBN TECHNOLOGIES CORP.
To: STRAGENT, LLC
Reel/Frame 023107/0963 →
RELEASE OF SECURITY INTEREST Recorded Aug 18, 2009
From: BANK OF AMERICA, N. A. (AS SUCCESSOR TO FLEET NATIONAL BANK), AS AGENT
To: BBN TECHNOLOGIES CORP.
Reel/Frame 023107/0492 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2008
From: STRAGENT, LLC
To: AZURE NETWORKS, LLC
Reel/Frame 021691/0286 →
MERGER Recorded Mar 2, 2006
From: BBNT SOLUTIONS LLC
To: BBN TECHNOLOGIES CORP.
Reel/Frame 017274/0318 →
PATENT & TRADEMARK SECURITY AGREEMENT Recorded May 12, 2004
From: BBNT SOLUTIONS LLC
To: FLEET NATIONAL BANK, AS AGENT
Reel/Frame 014624/0196 →