IP Library Granted Patent US 9,917,779
Granted Patent B2
US 9,917,779 · App. 13/435,674 · Granted Mar 13, 2018

Alleviating congestion in a cable modem

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,917,779
App. No.
13/435,674
Granted
Mar 13, 2018
Kind
B2
Abstract

A method, system and computer program product for ingress level filtering of packets is provided. The system includes a Media Access Control (MAC) and a buffer pool that includes buffers configured to store packets. The MAC includes a memory configured to store an incoming packet and an inspection engine coupled to the memory. The inspection engine is configured to parse the incoming packet to determine a priority level of the incoming packet, determine whether there is a buffer available in the buffer pool to store the incoming packet, and allocate a buffer in the buffer pool to store the incoming packet based on the priority level of the incoming packet.

Claims (41)

1. A cable modem, comprising:

a buffer pool, including a plurality of buffers, configured to store packets in the plurality of buffers;

a Media Access Control (MAC) external to the buffer pool and coupled to the buffer pool, the MAC comprising:

a memory configured to store an incoming packet; and

an inspection engine coupled to the memory and configured:

to be programmed remotely by a Cable Modem Termination System (CMTS) to determine a priority level of the incoming packet;

to parse the incoming packet to determine the priority level of the incoming packet,

to determine whether a buffer of the plurality of buffers is available to store the incoming packet, and

to allocate the buffer to store the incoming packet based on the priority level of the incoming packet.

2. The cable modem of claim 1 , wherein the buffer pool further comprises:

a buffer manager configured to send a queue status signal to the inspection engine to indicate availability of the buffer.

3. The cable modem of claim 2 , wherein the inspection engine is further configured to send a signal to discard a lower priority packet stored in the buffer if the incoming packet is a higher priority packet and the queue status signal indicates that no buffer in the plurality of buffers is available to store the higher priority packet.

4. The cable modem of claim 3 , further comprising:

a buffer manager configured to allocate the buffer to store the incoming packet based on the signal received from the inspection engine.

5. The cable modem of claim 2 , wherein the inspection engine is further configured to discard the incoming priority packet when the incoming packet is a lower priority packet compared to a higher priority packet stored in the buffer and the queue status indicates that no buffer in the plurality of buffers is available to store the incoming packet.

6. The cable modem of claim 1 , wherein the inspection engine is further configured to tag the incoming packet to indicate the priority level of the incoming packet prior to storing the incoming packet in the buffer.

7. The cable modem of claim 1 , wherein the inspection engine is configured to parse the packet to determine at least one of an Internet Protocol version 4 (IPv4) or Internet Protocol version 6 (IPv6) source address or destination address; Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) source port or destination port; Ethernet MAC address, Differentiated Services Code Point (DSCP) field in an Internet Protocol (IP) header, Virtual Local Area Network (VLAN), VLAN Identification (VID), and Type of Service (TOS) bits to determine the priority level of the incoming packet.

8. The cable modem of claim 1 , wherein the inspection engine is configured to determine the priority level of the incoming packet based on a protocol associated with the incoming packet.

9. The cable modem of claim 1 , wherein the inspection engine is configured to determine the priority level of the incoming packet based on a Quality of Service (QoS) associated with the incoming packet.

10. The cable modem of claim 1 , wherein the inspection engine is configured to determine the priority level of the incoming packet based on a type of data associated with the incoming packet.

11. The cable modem of claim 1 , wherein the inspection engine is configured to determine the priority level of the incoming packet based on a combination of a protocol associated with the incoming packet, a Quality of Service (QoS) associated with the incoming packet, and a type of data associated with the incoming packet.

12. The cable modem of claim 1 , wherein the inspection engine is configured to be programmed by a client device, coupled to the cable modem, to determine the priority level of the incoming packet.

13. The cable modem of claim 1 , wherein the inspection engine is configured to program itself based on instructions stored in the memory to determine the priority level of the incoming packet.

14. The cable modem of claim 1 , further comprising: a downstream physical layer demodulator (DS PHY) coupled to the MAC and configured to receive the incoming packet and to forward the incoming packet to the MAC.

15. The cable modem of claim 1 , wherein the inspection engine is instantiated in hardware.

16. The cable modem of claim 1 , wherein the inspection engine is further configured to classify the incoming packet as a high priority packet when the incoming packet includes real-time voice or video data.

17. A method in a cable modem for ingress filtering, comprising:

receiving programming from a remotely located cable modem termination system (CMTS) to program an inspection engine of a Media Access Control (MAC) of the cable modem to determine a priority level of a packet;

receiving the packet;

parsing the packet in the inspection engine to determine the priority level of the packet;

determining whether a buffer is available in a buffer pool to store the packet, wherein the buffer pool is external to the MAC; and

allocating the buffer to store the packet based on the priority level of the packet.

18. A cable modem, comprising:

a buffer pool, including a plurality of buffers, configured to store packets; and a Media Access Control (MAC) external to and coupled to the buffer pool and configured:

to be programmed remotely by a Cable Modem Termination System (CMTS) to determine a priority level of an incoming packet,

to parse the incoming packet to determine a priority level of the incoming packet,

to determine whether a buffer of the plurality of buffers is available to store the incoming packet, and

to allocate the buffer to store the incoming packet based on the priority level of the incoming packet.

19. The cable modem of claim 18 , wherein the buffer pool further comprises:

a buffer manager configured to send a queue status signal to the MAC to indicate availability of the buffer.

20. The cable modem of claim 18 , wherein the MAC is further configured to send a signal to discard a lower priority packet stored in the buffer if the incoming packet is a higher priority packet and the queue status signal indicates that no buffer in the plurality of buffers is available to store the higher priority packet.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2012
From: PULLEN, DAVID
To: BROADCOM CORPORATION
Reel/Frame 027964/0508 →