IP Library Granted Patent US 9,559,975
Granted Patent B1
US 9,559,975 · App. 13/631,970 · Granted Jan 31, 2017

Real-time analysis of quality of service for multimedia traffic in a local area network

Inventors: Paul Chen (Irvine, CA); Derek Cha (Irvine, CA)
Assignee: Western Digital Technologies, Inc.
H04L47/6215
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,559,975
App. No.
13/631,970
Granted
Jan 31, 2017
Kind
B1
Abstract

The embodiments relate to quality of service (QOS) features for a router, especially a router used in a home network or local area network. In the embodiments, the router is enhanced to be capable of measuring, detecting traffic sessions, and analyzing traffic in real time. The real-time analysis identifies traffic sessions in the data traffic and provides QOS to the traffic sessions. The QOS features are autonomous and do not require user configuration or intervention. In some embodiments, the real-time analysis and QOS features are triggered during periods of congestion.

Claims (54)

1. A router comprising:

an internal communications facility;

a set of network interfaces coupled to the internal communications facility;

a shared memory, coupled to the internal communications facility, providing a set of queues; and

a processor, coupled to the internal communications facility, configured to:

detect a level of congestion on at least one of the network interfaces;

responsive to the congestion level being below a threshold level, route packets through the router according to a first mode; and

responsive to the congestion level being above the threshold level, activate a hardware accelerator and route packets according to a second mode, wherein the hardware accelerator is configured to accelerate placement of packets into the set of queues via an expedited communications path over a bus,

wherein, in the first mode, the processor is configured to:

read header information from the packets; and

route the packets to a next hop based on a route lookup corresponding to the header information, and

wherein, in the second mode, the processor is configured to:

cooperate with the hardware accelerator to detect, in real time, sessions in data traffic based on information from portions of the headers in the packets and a current state of a traffic session, wherein the current state of the traffic session is based on packets previously exchanged downstream or upstream between a source and a destination of the traffic session;

queue packets that are part of detected sessions based on a size of the packets and a desired quality of service for the session; and

forward the queued packets that belong to the traffic sessions in accordance with the desired quality of service.

2. The router of claim 1 , wherein the set of network interfaces comprises an Ethernet interface.

3. The router of claim 1 , wherein the set of network interfaces comprises a wireless network interface.

4. The router of claim 1 , wherein the set of queues comprises a respective subqueue at a top of a queue allocated for packets that are smaller than a threshold size.

5. The router of claim 1 , wherein, in the second mode, the processor is further configured to limit best-effort traffic traveling upstream to a wide area network below a threshold bandwidth.

6. The router of claim 1 , wherein the hardware accelerator comprises a chipset coupled to the processor to perform instructions within a real-time constraint.

7. The router of claim 6 , wherein the hardware accelerator further comprises the expedited communications path for transferring packets to the set of queues.

8. The router of claim 7 , wherein the set of queues comprises a special queue reserved for packets designated by the hardware accelerator.

9. A method, comprising:

detecting a level of congestion on at least one network interface;

responsive to the congestion level being below a threshold level:

reading header information from packets received via the at least one network interface; and

routing the packets to a next hop based on a route lookup corresponding to the header information; and

responsive to the congestion level being above the threshold level:

activating a hardware accelerator, wherein the hardware accelerator is configured to accelerate placement of packets into a set of queues via an expedited communications path over a bus;

detecting, in real time, sessions in data traffic based on information from portions of the headers in the packets and a current state of a traffic session, wherein the current state of the traffic session is based on packets previously exchanged downstream or upstream between a source and a destination of the traffic session;

queuing packets that are part of detected sessions based on a size of the packets and a desired quality of service for the session; and

forwarding the queued packets that belong to the traffic sessions in accordance with the desired quality of service.

10. The method of claim 9 , wherein the at least one network interface comprises an Ethernet interface.

11. The method of claim 9 , wherein the at least one network interface comprises a wireless network interface.

12. The method of claim 9 , wherein the set of queues comprises a respective subqueue at a top of a queue allocated for packets that are smaller than a threshold size.

13. The method of claim 9 , further comprising:

responsive to the congestion level being above the threshold level, limiting best-effort traffic traveling upstream to a wide area network below a threshold bandwidth.

14. The method of claim 9 , wherein the hardware accelerator comprises a chipset coupled to a processor to perform instructions within a real-time constraint.

15. The method of claim 9 , wherein the hardware accelerator comprises the expedited communications path for transferring packets to the set of queues.

16. The method of claim 9 , wherein the set of queues comprises a special queue reserved for packets designated by the hardware accelerator.

17. A non-transitory computer-readable medium having stored thereon instructions that, when executed by a processor, cause the processor to perform operations comprising:

detecting a level of congestion on at least one network interface;

responsive to the congestion level being below a threshold level:

reading header information from packets received via the at least one network interface; and

routing the packets to a next hop based on a route lookup corresponding to the header information; and

responsive to the congestion level being above the threshold level:

activating a hardware accelerator, wherein the hardware accelerator is configured to accelerate placement of packets into a set of queues via an expedited communications path over a bus;

detecting, in real time, sessions in data traffic based on information from portions of the headers in the packets and a current state of a traffic session, wherein the current state of the traffic session is based on packets previously exchanged downstream or upstream between a source and a destination of the traffic session;

queuing packets that are part of detected sessions based on a size of the packets and a desired quality of service for the session; and

forwarding the queued packets that belong to the traffic sessions in accordance with the desired quality of service.

18. The non-transitory computer-readable medium of claim 17 , wherein the operations further comprise:

responsive to the congestion level being above the threshold level, limiting best-effort traffic traveling upstream to a wide area network below a threshold bandwidth.

19. The non-transitory computer-readable medium of claim 17 , wherein the hardware accelerator comprises one or more of a chipset coupled to the processor to perform instructions within a real-time constraint or the expedited communications path for transferring packets to the set of queues.

20. The non-transitory computer-readable medium of claim 17 , wherein the set of queues comprises a special queue reserved for packets designated by the hardware accelerator.

Assignments (8)
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2013
From: CHEN, PAUL; CHA, DEREK HEE JUN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 029707/0435 →