IP Library Granted Patent US 9,992,130
Granted Patent B2
US 9,992,130 · App. 14/509,905 · Granted Jun 5, 2018

Systems and methods for flow control and quality of service

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 9,992,130
App. No.
14/509,905
Granted
Jun 5, 2018
Kind
B2
Abstract

Various embodiments of methods and systems for pausing and shaping data flow while supporting both parameterized and prioritized Quality of Service are disclosed. In some embodiments, a system for pausing and shaping data flow comprises an input buffer, a first pause controller coupled to the input buffer and an output buffer for flow control messages. Various embodiments also include a hop-1 buffer coupled to the input buffer and a hop-2 buffer comprising a plurality of queues coupled to the hop-1 buffer. Additionally, in some embodiments, a second pause controller is coupled to the queues. The second pause controller selects a queue or queues that will cause a pause to be generated based on a predetermined condition. A two-hop process controller controls the data packet flow from the input buffer to the hop-1 buffer and from the hop-1 buffer to the hop-2 queues based on packet classification.

Claims (38)

1. A method of pausing data flow comprising:

receiving data at an input buffer coupled to a pause controller;

controlling the flow of data from the input buffer into a queue of a plurality of queues in a hop-2 buffer via an intermediate hop-1 buffer, each queue of the plurality of queues being associated with a quality of service; and

selecting, via a flow controller other than the pause controller, the queue of the plurality of queues that will cause a pause to be generated based on a predetermined condition according to a fullness of the hop-2 buffer and the quality of service associated with the queue.

2. The method of claim 1 , wherein the method comprises assigning a priority to the queue of the plurality of queues and generating a pause based on the priority.

3. The method of claim 2 , wherein the priority is assigned based on a class of traffic being received by the queue.

4. The method of claim 1 , wherein the method comprises communicating a pause signal to a transmitting device.

5. The method of claim 1 , wherein the method comprises causing the transmitting device to pause a specific data stream.

6. A system pausing data flow comprising:

an input buffer operable to receive data, the input buffer being coupled to a pause controller;

an intermediate hop-1 buffer;

a plurality of queues in a hop-2 buffer, each queue of the plurality of queues being associated with a quality of service, each queue of the plurality of queues being able to cause a pause to be generated based on a different predetermined condition according to a fullness of the hop-2 buffer and the quality of service associated with the queue; and

a flow controller operable to control the flow of data from the input buffer into a queue of the plurality of queues in the hop-2 buffer by way of the intermediate hop-1 buffer, wherein the flow controller is different than the pause controller.

7. The system of claim 6 , wherein each queue of the plurality of queues is assigned a priority, the pause being generated according to the assigned priority.

8. The system of claim 7 , wherein the priority is assigned based on a class of traffic being received by the queue.

9. The system of claim 6 , wherein the flow controller is operable to communicate a pause signal to a transmitting device.

10. The system of claim 6 , wherein the flow controller is operable to cause the transmitting device to pause a data stream according to the different predetermined condition.

11. A system pausing data flow comprising:

an input buffer coupled to a pause controller;

an intermediate hop-1 buffer coupled to the input buffer;

at least two queues in a hop-2 buffer coupled to the intermediate hop-1 buffer, the at least two queues comprising a first queue and a second queue; and

a flow controller coupled to the input buffer and coupled to the at least two queues, wherein the flow controller is different than the pause controller and is configured to:

transfer data from the input buffer to the intermediate hop-1 buffer;

classify the transferred data according to quality of service;

transfer the classified data from the intermediate hop-1 buffer to a queue in the at least two queues;

cause a transmission of a first data stream to be paused based on the amount of data in the first queue;

cause a transmission of a second data stream to be paused based on the amount of data in the second queue;

cause a first data stream to be transmitted based on the amount of data in the first queue; and

cause a second data stream to be transmitted based on the amount of data in the second queue.

12. The system of claim 11 , wherein the first queue is a high priority queue.

13. The system of claim 11 , wherein the second queue is a low priority queue.

14. The system of claim 6 , wherein the first queue and the second queue are each associated with a different class of traffic.

15. The system of claim 6 , wherein the flow controller is operable to communicate a pause signal to a transmitting device.

16. The system of claim 15 , wherein the pause signal specifies a data stream to be paused.

17. The system of claim 15 , wherein the pause signal specifies a priority of the data to be paused.

18. The system of claim 6 , wherein the flow controller is operable to communicate a retransmit signal to a transmitting device.

19. The system of claim 18 , wherein the retransmit signal specifies a data stream to be transmitted.

20. The system of claim 18 , wherein the retransmit signal specifies a priority of the data to be transmitted.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2022
From: WU, ZONG LIANG
To: ENTROPIC COMMUNICATIONS, INC.
Reel/Frame 062170/0292 →
SECURITY AGREEMENT Recorded Jul 9, 2021
From: MAXLINEAR, INC.; MAXLINEAR COMMUNICATIONS, LLC; EXAR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 056816/0089 →
RELEASE OF SECURITY INTEREST Recorded Jun 23, 2021
From: MUFG UNION BANK, N.A.
To: MAXLINEAR, INC.; EXAR CORPORATION; MAXLINEAR COMMUNICATIONS LLC
Reel/Frame 056656/0204 →
SUCCESSION OF AGENCY (REEL 042453 / FRAME 0001) Recorded Jul 1, 2020
From: JPMORGAN CHASE BANK, N.A.
To: MUFG UNION BANK, N.A.
Reel/Frame 053115/0842 →
SECURITY AGREEMENT Recorded May 12, 2017
From: MAXLINEAR, INC.; ENTROPIC COMMUNICATIONS, LLC (F/K/A ENTROPIC COMMUNICATIONS, INC.); EXAR CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042453/0001 →
MERGER AND CHANGE OF NAME Recorded May 18, 2015
From: ENTROPIC COMMUNICATIONS, INC.; EXCALIBUR SUBSIDIARY, LLC; ENTROPIC COMMUNICATIONS, LLC
To: ENTROPIC COMMUNICATIONS, LLC
Reel/Frame 035706/0188 →
MERGER AND CHANGE OF NAME Recorded May 15, 2015
From: EXCALIBUR ACQUISITION CORPORATION; ENTROPIC COMMUNICATIONS, INC.; ENTROPIC COMMUNICATIONS, INC.
To: ENTROPIC COMMUNICATIONS, INC.
Reel/Frame 035704/0504 →