IP Library Granted Patent US 8,819,265
Granted Patent B2
US 8,819,265 · App. 10/744,769 · Granted Aug 26, 2014

Managing flow control buffer

Inventors: James Tierney (Carp, CA); David Stuart (Almonte, CA); Bradley Venables (Nepean, CA)
Assignee: Rockstar Consortium US LP
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,819,265
App. No.
10/744,769
Granted
Aug 26, 2014
Kind
B2
Abstract

A count of data segments is maintained. The count includes data segments in a queue and data segments in transit between a data source and the queue. A flow of data segments from the data source is controlled, based on a value of the count.

Claims (54)

1. A method comprising:

maintaining a count of data segments, the count including data segments in a queue and data segments in transit between a data source and the queue; and

controlling a flow of data segments from the data source, based on a value of the count.

2. The method of claim 1 wherein the queue is one of a plurality of queues stored in a memory buffer.

3. The method of claim 2 further comprising maintaining counts of data segments for each of the queues.

4. The method of claim 3 wherein controlling the flow of data segments comprises accepting a data segment for a designated one of the queues from the data source only when the count for the designated queue is less than a predetermined number.

5. The method of claim 4 wherein the predetermined number is equal to the number of elements in the designated queue.

6. The method of claim 2 wherein all of the queues have the same number of elements.

7. The method of claim 1 wherein the data source comprises an input buffer.

8. The method of claim 1 wherein the data segments in transit comprise data segments in a data pipeline of a device that reads data segments from the data source.

9. The method of claim 1 wherein maintaining the count comprises:

incrementing the count when a data segment leaves the data source; and

decrementing the count when a data segment leaves the queue.

10. The method of claim 1 wherein the queue has at least as many elements as a maximum number of data segments in transit.

11. The method of claim 1 wherein the queue has fewer elements than twice a maximum number of data segments in transit.

12. An apparatus comprising:

a data source;

a memory buffer in communication with the data source and storing a queue; and

circuitry configured to

maintain a count of data segments, the count including data segments in the queue and data segments in transit between the data source and the queue; and

control a flow of data segments from the data source, based on a value of the count.

13. The apparatus of claim 12 wherein the queue is one of a plurality of queues stored in the memory buffer.

14. The apparatus of claim 13 wherein the circuitry is further configured to maintain counts of data segments for each of the plurality of queues.

15. The apparatus of claim 12 wherein the data segments in transit comprise data segments in a data pipeline of a device that reads data segments from the data source.

16. The apparatus of claim 12 wherein maintaining the count comprises:

incrementing the count when a data segment leaves the data source; and

decrementing the count when a data segment leaves the queue.

17. The apparatus of claim 12 wherein the queue has at least as many elements as a maximum number of data segments in transit.

18. The apparatus of claim 12 wherein the queue has fewer elements than twice a maximum number of data segments in transit.

19. A system comprising:

a first buffer;

a processor having a data pipeline in communication with the first buffer;

a second buffer in communication with the processor and storing a queue;

one or more communication lines in communication with the first buffer;

a switch fabric in communication with the second buffer; and

circuitry configured to

maintain a count of data segments, the count including data segments in the queue and data segments in transit between a data source and the queue; and

control a flow of data segments from the data source, based on a value of the count.

20. The system of claim 19 wherein the data segments in transit comprise data segments in the data pipeline.

21. The system of claim 19 wherein maintaining the count comprises:

incrementing the count when a data segment leaves the data source; and

decrementing the count when a data segment leaves the queue.

22. The system of claim 19 wherein the queue has at least as many elements as a maximum number of data segments in transit.

23. The system of claim 19 wherein the queue has fewer elements than twice a maximum number of data segments in transit.

24. A processor comprising:

a data pipeline configured to communicate with a data source; and

circuitry configured to

maintain a count of data segments, the count including data segments in a queue and data segments in transit between the data source and the queue; and

control a flow of data segments from the data source, based on a value of the count.

25. The processor of claim 24 wherein the circuitry is further configured to:

increment the count when a data segment leaves the data source; and

decrement the count when a data segment leaves the queue.

26. The processor of claim 24 wherein the queue has at least as many elements as a maximum number of data segments in transit.

27. The processor of claim 24 wherein the queue has fewer elements than twice a maximum number of data segments in transit.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 054305/0505 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CLEARINGHOUSE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046485/0644 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2014
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 032425/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027143/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2004
From: TIERNEY, JAMES; STUART, DAVID; VENABLES, BRADLEY D.
To: NORTEL NETWORKS LIMITED
Reel/Frame 014600/0896 →
Continuity (1)
Related Publication 20050138243A1 · Jun 23, 2005