IP Library Granted Patent US 7,966,281
Granted Patent B2
US 7,966,281 · App. 12/434,350 · Granted Jun 21, 2011

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

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,966,281
App. No.
12/434,350
Granted
Jun 21, 2011
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 (19)

1. A method of managing a label data base including one or more label clusters, of which each entry in a label cluster comprises a label or data field for insertion into a respective packet in a multicast transmission and a validity field, the method comprising:

in a processor, executing the acts of:

(a) establishing a fixed size (N) for each of one or more label cluster, where (N) is a number of labels or data fields in each of the label clusters;

(b) associating with each label cluster a pointer to another label 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 cluster associated with the multicast group; and

(e) establishing a chain of label clusters of which each label cluster which is full of valid entries points to the next label cluster in the chain and the last label cluster which contains valid entries points to the sentinel cluster.

2. A method according to claim 1 in which the addition of a new label when said last cluster in the chain is full of valid entries comprises establishing a new label cluster with the new label as its first entry, and changing the cluster pointer for said last label cluster to point to the said new cluster.

3. A method according to claim 1 in which the removal of a given label from within a specified cluster comprises copying all the entries which are to be retained from said specified cluster and all subsequent clusters into a new chain of clusters in which all the clusters with the possible exception of the last cluster in the new chain are full of valid entries in order and setting the cluster's pointers so as to substitute this new chain in place of said specified and said subsequent clusters.

4. A network device including a label data base including one or more label clusters, of which each entry comprises a label or data field for insertion into a respective packet in a multicast transmission and a validity field, wherein the network device comprises:

a processor configured to:

(a) establish a fixed size (N) for each of one or more label clusters, where (N) is a number of labels or data fields in each of the label clusters;

(b) associate with each label cluster a pointer to another label cluster;

(c) establish a sentinel cluster of which all entries are indicated to be invalid and of which the cluster pointer points to this sentinel cluster;

(d) 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; and

(e) establish a chain of label clusters of which each label cluster which is full of valid entries points to the next label cluster in the chain and the last label cluster which contains valid entries points to the sentinel cluster.

5. A network device according to claim 4 and further configured for the addition of a new label when said last cluster in the chain is full of valid entries by (i) establishing a new label cluster with the new label as its first entry, and (ii) changing the cluster pointer for said last label cluster to point to the said new cluster.

6. A network device according to claim 4 and further configured for the removal of a given label from within a specified label cluster by (i) copying all the entries which are to be retained from said specified label cluster and all subsequent clusters into a new chain of clusters in which all the label clusters with the possible exception of the last cluster in the new chain are full of valid entries in order and (ii) setting the cluster's pointers so as to substitute this new chain in place of said specified and said subsequent clusters.

7. A network device according to claims 4 and comprising means for receiving a multicast data packet, means for obtaining a control entry denoting the packet, means for storing a payload of the packet, means for processing the control entry to obtain a multiplicity of secondary control entries each denoting a replication of the packet, and means for constructing for each secondary control entry a unicast packet including the payload and a respective label obtained from said label database.

Assignments (10)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NUMBER 12/424,350 PREVIOUSLY RECORDED ON REEL 024240 FRAME 0233. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT. Recorded Jan 13, 2014
From: GROARKE, VINCENT; O'CONNELL, ANNE GERALDINE
To: BROADCOM CORPORATION
Reel/Frame 032031/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2013
From: GROARKE, VINCENT; O'CONNELL, ANNE
To: BROADCOM CORPORATION
Reel/Frame 029822/0417 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2010
From: XANCOM LIMITED
To: BROADCOM CORPORATION
Reel/Frame 024560/0257 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2010
From: GROARKE, VINCENT; O'CONNELL, ANNE GERALDINE
To: BROADCOM CORPORATION
Reel/Frame 024240/0233 →