IP Library › Granted Patent US 8,489,540
Granted Patent B2
US 8,489,540 · App. 13/117,907 · Granted Jul 16, 2013

Management of storage and retrieval of data labels in random access memory

Inventors: Vincent Groarke (Rochestown, IE); Anne G. O'Connell (Rochestown, IE)
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 8,489,540
App. No.
13/117,907
Granted
Jul 16, 2013
Kind
B2
Abstract

According to an example embodiment, a technique may be provided for managing a label data base of which each entry comprises a data field for insertion into a respective packet in a multicast transmission and a validity field. The technique may include, for example, (a) establishing a fixed size for a cluster of labels, (b) associating with each cluster a pointer to another cluster, (c) establishing a sentinel cluster of which all entries are indicated to be invalid and of which the cluster pointer points to this sentinel cluster, (d) establishing a root table which defines the number of replications of the packet in a multicast group and identifies a first label cluster associated with the multicast group and (e) establishing a chain of clusters of which each cluster which is full of valid entries points to the next cluster in the chain and the last cluster which contains valid entries points to the sentinel cluster.

Claims (38)

1. A method of managing labels for a multicast group that includes one or more label clusters, where each entry in a label cluster comprises a label for insertion into a respective packet in a multicast transmission and a validity field, the method comprising, in a processor performing the following:

establishing a root table which defines the number of replications of the packet in a multicast group and identifies a first label cluster associated with the multicast group;

associating with each label cluster a next cluster pointer that points to another label cluster; and

establishing a sentinel cluster of which all entries are indicated to be invalid and with a next cluster pointer pointing to the sentinel cluster.

2. The method of claim 1 and further comprising

establishing a free pool of label clusters, wherein a next cluster pointer for each label cluster in the free pool points to the sentinel cluster.

3. The method of claim 1 and further comprising

establishing a chain of the label clusters for the multicast group, wherein each label cluster in the chain, except a last label cluster, is full of valid entries and includes a next cluster pointer points to a next label cluster in the chain, and wherein the last label cluster includes one or more valid entries and includes a next cluster pointer that points to the sentinel cluster.

4. The method of claim 1 wherein each label cluster of the multicast group includes a fixed number (N) of entries.

5. The method of claim 1 wherein the number of replications identified by the root table identifies the total number of labels for the multicast group.

6. The method of claim 1 and further comprising removing a label from the multicast group without causing a gap between valid entries, including:

identifying a current label cluster with a label to be removed;

clearing a validity bit for the label to be removed;

allocating a new label cluster to the multicast group;

copying labels from the current label cluster, except the label to be removed, to the new label cluster; and

decrementing the number of replications in the root table.

7. The method of claim 1 and further comprising updating one or more next cluster pointers for the multicast group to account for the allocating of the new label cluster to the multicast group and removal of the current label cluster from the multicast group.

8. The method of claim 1 wherein the label clusters of the multicast group are provided as a chain of label clusters, and further comprising adding a new label to the chain of label clusters when a last label cluster in the chain is full of valid entries, the method including establishing or allocating a new label cluster with the new label as its first entry, and changing a next cluster pointer for said last label cluster to point to the new cluster.

9. The method of claim 8 and further comprising setting a next cluster pointer for the new label cluster to point to the sentinel cluster.

10. A network device for managing labels for a multicast group that includes one or more label clusters, where each entry in a label cluster comprises a label for insertion into a respective packet in a multicast transmission and a validity field, the network device comprising a processor that is configured to:

establish a root table which defines the number of replications of the packet in a multicast group and identifies a first label cluster associated with the multicast group;

associate with each label cluster a next cluster pointer that points to another label cluster; and

establish a sentinel cluster of which all entries are indicated to be invalid and with a next cluster pointer pointing to the sentinel cluster.

11. The network device of claim 10 wherein the processor is further configured to:

establish a free pool of label clusters, wherein a next cluster pointer for each label cluster in the free pool points to the sentinel cluster.

12. The network device of claim 10 wherein the processor is further configured to:

establish a chain of the label clusters for the multicast group, wherein each label cluster in the chain, except a last label cluster, is full of valid entries and includes a next cluster pointer points to a next label cluster in the chain, and wherein the last label cluster includes one or more valid entries and includes a next cluster pointer that points to the sentinel cluster.

13. The network device of claim 10 wherein each label cluster of the multicast group includes a fixed number (N) of entries.

14. The network device of claim 10 wherein the number of replications identified by the root table identifies a total number of labels for the multicast group.

15. The network device of claim 10 wherein the processor is further configured to remove a label from the multicast group without causing a gap between valid entries, including being configured to:

identify a current label cluster with a label to be removed;

clear a validity bit for the label to be removed;

allocate a new label cluster to the multicast group;

copy labels from the current label cluster, except the label to be removed, to the new label cluster; and

decrement the number of replications in the root table.

16. The network device of claim 10 wherein the processor is further configured to update one or more next cluster pointers for the multicast group to account for the allocating of the new label cluster to the multicast group and removal of the current label cluster from the multicast group.

17. The network device of claim 10 wherein the label clusters of the multicast group are provided as a chain of label clusters, and wherein the processor is further configured to add a new label to the chain of label clusters when a last label cluster in the chain is full of valid entries, the method including establishing or allocating a new label cluster with the new label as its first entry, and changing a next cluster pointer for said last label cluster to point to the new cluster.

18. The network device of claim 17 and wherein the processor is further configured to set a next cluster pointer for the new label cluster to point to the sentinel cluster.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. 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 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
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 →
Priority Claims (1)
GB 0807991.5 · May 2, 2008 · national
Continuity (2)
Continuation 12434350 · May 1, 2009
Related Publication 20120134356A1 · May 31, 2012