IP Library Granted Patent US 7,764,704
Granted Patent B2
US 7,764,704 · App. 11/898,265 · Granted Jul 27, 2010

Dynamic adjust multicast drop threshold to provide fair handling between multicast and unicast frames

Assignee: Broadcom Corporation
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,764,704
App. No.
11/898,265
Granted
Jul 27, 2010
Kind
B2
Abstract

A network device for managing data flow can have a data port configured to receive data, a plurality of pointers for pointing to the data received, and a queue for queuing the plurality of pointers. The queue can be configured to have at least one dynamic threshold therein. Furthermore, the network device can have a control module configured to adjust the at least one dynamic threshold with respect to the data flow.

Claims (32)

1. A computer implemented method of managing data flow, comprising:

monitoring a queue position with respect to a data flow in a network device, wherein the data flow has a unicast flow component and a multicast flow component;

setting a dynamic threshold for the multicast flow component from a first static threshold to a second static threshold when the queue position for the unicast flow component reaches a first static threshold; and

implementing an action with respect to the data flow when the dynamic threshold is set.

2. The computer implemented method of claim 1 , wherein monitoring a queue position with respect to a data flow comprises determining whether an incoming packet is a unicast packet or a multicast packet.

3. The computer implemented method of claim 1 , wherein implementing an action with respect to the data flow further comprises sending a pause frame from a receiving port.

4. The computer implemented method of claim 3 , further comprising:

determining whether the queue position for the unicast flow reaches the second static threshold; and

setting the dynamic threshold for the multicast flow from the second static threshold to the first static threshold if it is determined that the queue position for the unicast flow reaches the second static threshold.

5. The computer implemented method of claim 4 , further comprising sending an un-pause frame from the receiving port if it is determined that the queue position for the unicast flow reaches the second static threshold.

6. The computer implemented method of claim 1 , wherein monitoring a queue position with respect to a data flow comprises:

determining whether the queue position is greater than the dynamic threshold for a multicast packet, and

dropping the multicast packet if the queue position is greater than the dynamic threshold.

7. A network device for managing data flow, said network device comprising:

a data port configured to receive unicast and multicast data flows;

a buffer memory configured to buffer the data received;

a plurality of pointers for pointing to a section of the buffer memory;

a queue for queuing the plurality of pointers, said queue configured to have a dynamic threshold for the received multicast data flow therein; and

a control module configured to monitor the unicast data flow and adjust the dynamic threshold for the multicast data flow with respect to the monitored unicast data flow wherein, the control module is configured to adjust the dynamic threshold for the multicast data flow from a first static threshold to a second static threshold when a number of the plurality of pointers in the queue for the unicast data flow is equal to or greater than the first static threshold, and to implement an action with respect to the unicast data flow when the dynamic threshold is adjusted.

8. The network device of claim 7 , wherein the data port is configured to determine whether an incoming packet is a unicast packet or a multicast packet.

9. The network device of claim 7 , wherein the control module is configured to instruct the data port is to send a pause frame when the dynamic threshold is adjusted.

10. The network device of claim 7 , wherein the control module is configured to determine whether a queue position is greater than the dynamic threshold for a multicast packet, and to instruct the data port to drop the packet if it is determined that the queue position is greater than the dynamic threshold.

11. The network device of claim 7 , wherein the control module is further configured to:

determine if the queue position for the unicast data flow reaches the second static threshold; and to

adjust the dynamic threshold for the multicast data flow from the second static threshold to the first static threshold if it is determined that the queue position for the unicast data flow falls below the second static threshold.

12. The network device of claim 11 , wherein the control module is further configured to instruct the data port to send an un-pause frame if it is determined that the queue position for the unicast data flow falls below the second static threshold.

13. An apparatus, comprising:

receiving means for receiving data from a unicast and a multicast data flow in a data port;

buffering means for buffering the data received;

pointing means for pointing to a section of the buffer means;

queuing means for queuing the plurality of pointing means, said queue means having a dynamic threshold for the received multicast data flow therein; and

monitoring means for monitoring the unicast data flow and adjusting the dynamic threshold for the multicast data flow with respect to the monitored unicast data flow wherein, the dynamic threshold for the multicast data flow is adjusted from a first static threshold to a second static threshold when a number of the plurality of pointing means in the queuing means for the unicast data flow is equal to or greater than the first static threshold, and to implement an action with respect to the unicast data flow when the dynamic threshold is adjusted.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 47630 FRAME: 344. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 21, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0267 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 9/5/2018 PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0687. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0344 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0687 →
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 →
Continuity (3)
Continuation 1016399100 · Jun 7, 2002
Provisional Application 6037864900 · May 9, 2002
Related Publication 20080002732A1 · Jan 3, 2008