← Back to Patent Explorer
US5528588A Expired / Lapsed US ⏱️ 0.0 years remaining

Multicast shared memory

Assignee: Ericsson AB
•
Filing: 1994-09-14
•
Granted: 1996-06-18
•
Expires: 2014-09-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A linked list for multicast in an ATM network. The linked list comprises a first cell. The linked list also comprises a plurality of read pointers. Each read pointer is associated with a port. Each read pointer points to the first cell. A multicast system for an ATM network. The system comprises a first port through which a cell passes. The system also comprises a first read pointer associated with the first port. The multicast system additionally comprises at least a second port through which the cell passes. There is at least a second read pointer associated with the second port. The multicast system is comprised of a cell to which each read pointer points. Furthermore, the multicast system is comprised of a controller for controlling when a read pointer reads a cell. The system preferably includes a plurality of cells. Each cell has a cell pointer pointing to a next cell. The plurality of cells forms a linked list. The controller points a read pointer to the next cell after the cell the read pointer was pointing to is read. A method for multicasting. The method comprises the steps of forming a first read pointer and at least a second read pointer. Each read pointer corresponds to a first port and a second port, respectively. Each read pointer points to a cell. Then there is the step of choosing a port. Next there is the step of locating the read pointer for the port. Then there is the step of reading the cell to which the read pointer is pointing. Preferably, the cell includes data and the cell includes a cell pointer pointing to a second cell, if there is a second cell. The first cell and at least the second cell forms a linked list.

Inventors

  • 👤 Jon C. R. Bennett
  • 👤 Robert Brownhill

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 01:47
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/02; H04L12/16; H04L12/18; H04L12/1886; H04L49/00; H04L49/20; H04L49/201; H04L49/203; H04Q; H04Q11/00; H04Q11/04; H04Q11/0428; H04Q11/0478

Claims Analysis

Total Claims: 44
Claim 1
Independent Claim 164 words
A method for multicasting comprising the steps of: forming a first read pointer and at least a second read pointer, each read pointer corresponding to a first port and a second port, respectively, each read pointer pointing to a first cell to be transmitted out the first port and the second port; choosing the first port; locating the first read pointer for the first port; reading the first cell to which the first read pointer is pointing; choosing the second port; locating the second read pointer for the second port; pointing the second read pointer to the first cell; reading the first cell to which the second read pointer is pointing; and pointing a cell pointer of the first cell to a second cell which is to be transmitted out of the first port and the second port, said second cell the only cell to which the first cell is pointing, said first cell and at least the second cell forming a linked list.
Claim 2
Independent Claim 164 words
A method for multicasting comprising the steps of: forming a first read pointer and at least a second read pointer, each read pointer corresponding to a first port and a second port, respectively, each read pointer pointing to a first cell to be transmitted out the first port and the second port; choosing the first port; locating the first read pointer for the first port; reading the first cell to which the first read pointer is pointing; choosing the second port; locating the second read pointer for the second port; pointing the second read pointer to the first cell; reading the first cell to which the second read pointer is pointing; and pointing a cell pointer of the first cell to a second cell which is to be transmitted out of the first port and the second port, said second cell the only cell to which the first cell is pointing, said first cell and at least the second cell forming a linked list.
Claim 3
Dependent Claim 12 words
A method as described in claim 1 wherein the cell includes data.
Claim 4
Dependent Claim 36 words
A method as described in claim 2 including after the reading step, there is a step of pointing the first read pointer to the second cell pointed to by the cell pointer of the first cell.
Claim 5
Dependent Claim 26 words
A method as described in claim 3 including after the reading step, there is a step of sending the first cell out of the first port.
Claim 6
Dependent Claim 29 words
A method as described in claim 4 including after the pointing step, there is a step of checking whether the first cell will be sent out the second port.
Claim 7
Dependent Claim 33 words
A method as described in claim 5 including after the checking step, there is a step of freeing the cell if there is no other port the first cell will be sent out.
Claim 8
Dependent Claim 88 words
A method as described in claim 6 wherein the first cell includes a count which identifies all ports the first cell will be sent out, and after the sending step, there is a step of removing from the count, the first port; and wherein the freeing step includes a step of freeing the first cell if there is no other port the first cell will be sent out and there are no other ports in the count and the first cell is not pointing to the second cell.
Claim 9
Dependent Claim 25 words
A method as described in claim 7 including after the pointing step, a step of reading the second cell to which the pointer is pointing.
Claim 10
Dependent Claim 36 words
A method as described in claim 8 wherein the removing step includes a step of decrementing by 1 a value of the count equal to the number of ports the first cell will be sent out.
Claim 11
Dependent Claim 78 words
A method as described in claim 9 wherein the checking step includes a step of comparing a stop pointer value for the first port with a write pointer value for the first port, said write pointer pointing to a last cell of the linked list; and wherein the freeing step includes a step of freeing the first cell if the stop pointer value equals the write pointer value and no other port is to read the first cell.
Claim 12
Dependent Claim 73 words
A method as described in claim 9 including after the pointing step, there is a step of clearing a bit corresponding to the first port from a status field of the first cell; and wherein the freeing step includes a step of freeing the first cell if the status field is empty and the value of the count is equal to 0 and the first cell is not pointing to the second cell.
Claim 13
Independent Claim 157 words
A method for multicasting comprising the steps of: choosing a port; locating a read pointer for the port; reading a first cell to which the read pointer is pointing; sending the first cell out the port; removing from a count which identifies all ports the first cell will be sent out, the port; choosing a second port; locating a second read pointer for the second port; sending the first cell out the second port; pointing the read pointer to a second cell pointed to by a cell pointer of the first cell, said second cell the only cell to which the first cell is pointing, said first cell and second cell forming a linked list; checking whether there is at least one other port the first cell will be sent out; freeing the first cell if there is no other port the first cell will be sent out and there are no other ports in the count.
Claim 14
Independent Claim 157 words
A method for multicasting comprising the steps of: choosing a port; locating a read pointer for the port; reading a first cell to which the read pointer is pointing; sending the first cell out the port; removing from a count which identifies all ports the first cell will be sent out, the port; choosing a second port; locating a second read pointer for the second port; sending the first cell out the second port; pointing the read pointer to a second cell pointed to by a cell pointer of the first cell, said second cell the only cell to which the first cell is pointing, said first cell and second cell forming a linked list; checking whether there is at least one other port the first cell will be sent out; freeing the first cell if there is no other port the first cell will be sent out and there are no other ports in the count.
Claim 15
Dependent Claim 28 words
A method as described in claim 12 including after the pointing step, there is a step of reading the second cell to which the read pointer is pointing.
Claim 16
Dependent Claim 36 words
A method as described in claim 13 wherein the removing step includes a step of decrementing by 1 a value of the count equal to the number of ports the first cell will be sent out.
Claim 17
Dependent Claim 87 words
A method as described in claim 14 wherein the checking step includes a step of comparing a first stop pointer value for the port with a write pointer value for the port, said write pointer pointing to a last cell of the linked list; and wherein the freeing step includes a step of freeing the first cell if the first stop pointer value equals the write pointer value, and the value of the count is 0 and the first cell is not pointing to the second cell.
Claim 18
Dependent Claim 62 words
A method as described in claim 14 including after the pointing step, there is a step of clearing a bit corresponding to the first port from a status field of the first cell; and wherein the freeing step includes the step of freeing the first cell if the status field is empty and the value of the count is equal to 0.
Claim 19
Dependent Claim 106 words
A multicast system for an ATM network comprising: a first port through which a cell and at least a second cell passes; a first read pointer associated with the first port; at least a second port through which the cell and the second cell passes; at least a second read pointer associated with the second port; a cell to which each read pointer points, said cell having a cell pointer, which points to a second cell; a second cell, said second cell the only cell to which the cell points: and a controller for controlling when a read pointer reads the cell or the second cell.
Claim 20
Dependent Claim 106 words
A multicast system for an ATM network comprising: a first port through which a cell and at least a second cell passes; a first read pointer associated with the first port; at least a second port through which the cell and the second cell passes; at least a second read pointer associated with the second port; a cell to which each read pointer points, said cell having a cell pointer, which points to a second cell; a second cell, said second cell the only cell to which the cell points: and a controller for controlling when a read pointer reads the cell or the second cell.
Claim 21
Dependent Claim 52 words
A system as described in claim 17 including a plurality of cells, each cell having a cell pointer pointing to a next cell, the plurality of cells forming a linked list, said controller pointing a read pointer to the next cell after the cell the read pointer was pointing to is read.
Claim 22
Dependent Claim 20 words
A system as described in claim 18 including a mechanism for pointing to a last cell in the linked list.
Claim 23
Dependent Claim 42 words
A system as described in claim 19 wherein each cell has a count which identifies all ports the cell will be sent out, said controller removing a port from the count after the cell the read pointer is pointing to is read.
Claim 24
Dependent Claim 63 words
A system as described in claim 19 including a stop pointer corresponding with each read pointer, said stop pointer identifying the last cell that will be sent out the port, said controller freeing the cell if there is no other port the cell will be sent out and no ports in the count unless it is the last cell in the linked list.
Claim 25
Dependent Claim 91 words
A linked list for multicast in an ATM network comprising: a memory; a first cell having a cell pointer, said first cell stored in the memory; a second cell stored in the memory, said second cell the only cell to which the first cell is pointing; and a plurality of read pointers stored in the memory, each read pointer associated with a respective of a plurality of ports, each read pointer pointing to the first cell, said first cell and said second cell to be transmitted out the plurality of ports.
Claim 26
Dependent Claim 91 words
A linked list for multicast in an ATM network comprising: a memory; a first cell having a cell pointer, said first cell stored in the memory; a second cell stored in the memory, said second cell the only cell to which the first cell is pointing; and a plurality of read pointers stored in the memory, each read pointer associated with a respective of a plurality of ports, each read pointer pointing to the first cell, said first cell and said second cell to be transmitted out the plurality of ports.
Claim 27
Dependent Claim 18 words
A linked list as described in claim 22 wherein the first cell and second cell each include data.
Claim 28
Dependent Claim 45 words
A linked list as described in claim 23 wherein the first cell and second cell form a linked list, and including a write pointer pointing to the second cell, said write pointer pointing to where another cell is to be added to the linked list.
Claim 29
Dependent Claim 35 words
A linked list as described in claim 24 wherein the first cell and the second cell each have a count which identifies all ports the first cell and the second cell will be sent out.
Claim 30
Dependent Claim 36 words
A linked list as described in claim 25 including a stop pointer corresponding with each read pointer, said stop pointer identifying a last cell that will be sent out the associated port of the linked list.
Claim 31
Independent Claim 130 words
A method for multicasting comprising the steps of: receiving a first cell of a plurality of cells; pointing a first read pointer corresponding to a first port and a second read pointer corresponding to a second port to the first cell; receiving N-1 additional cells of the plurality of cells, where N≧2 and is an integer; pointing a cell pointer of the first cell to a N-(N-2) th cell of the plurality of cells, said N-(N-2) th cell the only cell to which the first cell points, said plurality of cells forming a linked list of cells with the only cell each cell points to being a subsequent cell of the linked list; transmitting the first cell out the first port; and transmitting the first cell out the second port.
Claim 32
Independent Claim 130 words
A method for multicasting comprising the steps of: receiving a first cell of a plurality of cells; pointing a first read pointer corresponding to a first port and a second read pointer corresponding to a second port to the first cell; receiving N-1 additional cells of the plurality of cells, where N≧2 and is an integer; pointing a cell pointer of the first cell to a N-(N-2) th cell of the plurality of cells, said N-(N-2) th cell the only cell to which the first cell points, said plurality of cells forming a linked list of cells with the only cell each cell points to being a subsequent cell of the linked list; transmitting the first cell out the first port; and transmitting the first cell out the second port.
Claim 33
Dependent Claim 39 words
A method as described in claim 27 including after the step of pointing a cell pointer of the first cell, there is a step of pointing a write pointer to the N th cell of the plurality of cells.
Claim 34
Dependent Claim 72 words
A method as described in claim 28 including after the step of receiving N-1 additional cells, there is a steps of receiving an (N+1) th cell of the plurality of cells; pointing a cell pointer of the N th cell to the N th +1 cell, said N th +1 cell the only cell to which the N th cell points; and pointing the write pointer to the N th +1 cell.
Claim 35
Dependent Claim 91 words
A method as described in claim 29 including after the step of pointing a first read pointer, there is a step of setting a count of the first cell equal to a number of ports that will ultimately receive the first cell for output; and after the step of receiving N-1 additional cells, there is the step of setting a count of each additional cell of the plurality of cells to the first cell equal to a number of ports that will ultimately receive the respective cell of each additional cell.
Claim 36
Dependent Claim 49 words
A method as described in claim 30 including after the step of pointing a first read pointer, there is a step of setting a status field of each cell with bits at corresponding locations which identify the respective ports to which the respective cell will ultimately be sent out.
Claim 37
Dependent Claim 38 words
A method as described in claim 31 including after the step of pointing a write pointer, there is a step of setting a status field of the write pointer identical to the status field of the first cell.
Claim 38
Dependent Claim 56 words
A method as described in claim 32 including after the step of pointing a cell pointer of the first cell, there is a step of pointing a stop pointer corresponding to the first read pointer to a cell of the linked list which is a last cell which is to be transmitted out the first port.
Claim 39
Independent Claim 170 words
A method for multicasting comprising the steps of: pointing a first read pointer corresponding to a first port at a cell of a linked list of cells which is a first cell of the linked list of cells to be transmitted out the first port with the only cell each cell points to being a subsequent cell of the linked list; pointing a second read pointer corresponding to a second port at a cell of the linked list of cells which is the first cell of the linked list of cells to be transmitted out the second port; adding a new cell to the linked list of cells by pointing to the new cell from only a pointer from one cell in the linked list to the new cell, each cell having only one pointer pointing to another cell; transmitting the cell at which the first read pointer is pointing out the first port; and transmitting the cell at which the second read pointer is pointing out the second port.
Claim 40
Independent Claim 170 words
A method for multicasting comprising the steps of: pointing a first read pointer corresponding to a first port at a cell of a linked list of cells which is a first cell of the linked list of cells to be transmitted out the first port with the only cell each cell points to being a subsequent cell of the linked list; pointing a second read pointer corresponding to a second port at a cell of the linked list of cells which is the first cell of the linked list of cells to be transmitted out the second port; adding a new cell to the linked list of cells by pointing to the new cell from only a pointer from one cell in the linked list to the new cell, each cell having only one pointer pointing to another cell; transmitting the cell at which the first read pointer is pointing out the first port; and transmitting the cell at which the second read pointer is pointing out the second port.
Claim 41
Dependent Claim 97 words
A multicast system for an ATM network comprising: a first port through which a cell passes; a first read pointer associated with the first port; at least a second port through which the cell passes; at least a second read pointer associated with the second port; N cells, where N≧2 and is an integer, each read pointer pointing to a first cell of the N cells, each cell having only one cell pointer, each cell pointing only to a next cell of the N cells; and a controller for controlling when a read pointer reads a cell.
Claim 42
Dependent Claim 97 words
A multicast system for an ATM network comprising: a first port through which a cell passes; a first read pointer associated with the first port; at least a second port through which the cell passes; at least a second read pointer associated with the second port; N cells, where N≧2 and is an integer, each read pointer pointing to a first cell of the N cells, each cell having only one cell pointer, each cell pointing only to a next cell of the N cells; and a controller for controlling when a read pointer reads a cell.
Claim 43
Independent Claim 164 words
A method for multicasting comprising the steps of: forming a first read pointer and at least a second read pointer, each read pointer corresponding to a first port and a second port, respectively, each read pointer pointing to a first memory location; choosing the first port; locating the first read pointer for the first port; reading a first cell to which the first read pointer is pointing to the first memory location, said first cell to be transmitted out the first port and the second port; choosing the second port; locating the second read pointer for the second port; reading the first cell to which the second read pointer is pointing; and pointing a cell pointer of the first cell to a second cell which is to be transmitted out of the first port and the second port, said second cell the only cell to which the first cell is pointing, said first cell and at least the second cell forming a linked list.
Claim 44
Independent Claim 164 words
A method for multicasting comprising the steps of: forming a first read pointer and at least a second read pointer, each read pointer corresponding to a first port and a second port, respectively, each read pointer pointing to a first memory location; choosing the first port; locating the first read pointer for the first port; reading a first cell to which the first read pointer is pointing to the first memory location, said first cell to be transmitted out the first port and the second port; choosing the second port; locating the second read pointer for the second port; reading the first cell to which the second read pointer is pointing; and pointing a cell pointer of the first cell to a second cell which is to be transmitted out of the first port and the second port, said second cell the only cell to which the first cell is pointing, said first cell and at least the second cell forming a linked list.

References Cited (Backward Citations)

US5303233A Cited
US5365519A Cited
US5274768A Cited
US5241536A Cited
US5345419A Cited
US5392280A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-06-18 1999-12-18 2000-06-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-06-18 2003-12-18 2004-06-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-06-18 2007-12-18 2008-06-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag