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

Traffic shaping system with virtual circuit table time stamps for asynchronous transfer mode networks

Assignee: Enterasys Networks Inc
•
Filing: 1994-11-07
•
Granted: 1997-07-15
•
Expires: 2014-11-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system for controlling the transmission of cells from a network node over multiple virtual circuit is disclosed. The disclosed system performs traffic shaping for all virtual circuits connected with the network node. The system includes a virtual circuit table with one or more entries. Each virtual circuit table entry corresponds to a virtual circuit established with the network node. Each virtual circuit table further includes one or more Cell Rate Accumulator fields and a Time Stamp field. The system includes a schedule table having one or more entries. Each schedule table entry further includes one or more Cell Rate Accumulator fields and corresponding predetermined value fields. A schedule table loading process determines a virtual circuit on which a packet is to be transmitted, and then calculates a time elapsed since a last previous write of a virtual circuit table entry corresponding with that virtual circuit. The schedule table loading process then adds the time elapsed to the value of the Cell Rate Accumulator fields in that virtual circuit table entry, and stores the result of the addition into the corresponding Cell Rate Accumulator fields of the schedule table entry. The system further includes a process for periodically incrementing the Cell Rate Accumulator fields in the schedule table entry. A scanning process periodically increments the Cell Rate Accumulator fields. A transmitting process transmits a cell on the virtual circuit when the value of the Cell Rate Accumulator fields is greater than or equal to the corresponding predetermined values.

Inventors

  • 👤 Michael Ben-Nun
  • 👤 Simoni Ben-Michael
  • 👤 Moshe De-Leon
  • 👤 Peter John Roman
  • 👤 Kadangode K. Ramakrishnan
  • 👤 G. Paul Koning

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 10:19
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/54; H04L12/56; H04L12/5601; H04L12/5602; H04L2012/5678; H04L2012/5679; H04L2012/568

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 242 words
A system for controlling the transmission of cells from a network node, comprising: a virtual circuit table having one or more entries, each entry corresponding with a virtual circuit established with said network node, each entry having a first Cell Rate Accumulator field and a Time Stamp field, said Time Stamp field storing a time at which said virtual circuit table entry was last written; a schedule table having one or more entries, each entry having a first Cell Rate Accumulator field and a first Predetermined Value field; schedule table loading means for determining a virtual circuit on which a packet is to be transmitted, calculating a time elapsed since a last previous write of a virtual circuit table entry corresponding with said virtual circuit, said time elapsed equal to the current time minus the value of said Time Stamp field, adding said time elapsed to the value of said first Cell Rate Accumulator field in said virtual circuit table entry corresponding with said virtual circuit, and storing the result of said addition into said first Cell Rate Accumulator field of a schedule table entry; scanning means for periodically incrementing said first cell Rate Accumulator field in said schedule table entry; and transmitting means, responsive to said scanning means, for transmitting a cell on said virtual circuit when the value of said first Cell Rate Accumulator field value is greater than or equal to the value of said first Predetermined Value field.
Claim 2
Independent Claim 242 words
A system for controlling the transmission of cells from a network node, comprising: a virtual circuit table having one or more entries, each entry corresponding with a virtual circuit established with said network node, each entry having a first Cell Rate Accumulator field and a Time Stamp field, said Time Stamp field storing a time at which said virtual circuit table entry was last written; a schedule table having one or more entries, each entry having a first Cell Rate Accumulator field and a first Predetermined Value field; schedule table loading means for determining a virtual circuit on which a packet is to be transmitted, calculating a time elapsed since a last previous write of a virtual circuit table entry corresponding with said virtual circuit, said time elapsed equal to the current time minus the value of said Time Stamp field, adding said time elapsed to the value of said first Cell Rate Accumulator field in said virtual circuit table entry corresponding with said virtual circuit, and storing the result of said addition into said first Cell Rate Accumulator field of a schedule table entry; scanning means for periodically incrementing said first cell Rate Accumulator field in said schedule table entry; and transmitting means, responsive to said scanning means, for transmitting a cell on said virtual circuit when the value of said first Cell Rate Accumulator field value is greater than or equal to the value of said first Predetermined Value field.
Claim 3
Dependent Claim 91 words
The system as in claim 1, further comprising: a memory; one or more transmit queues in said memory, each said transmit queue associated with one of said schedule table entries, each said transmit queue including zero or more entries, each of said zero or more transmit queue entries indicating a packet in a memory; and wherein said schedule table loading means is responsive to a transmit queue entry arriving at the head of one of said one or more transmit queues, said transmit queue entry indicating said packet to be transmitted.
Claim 4
Dependent Claim 90 words
The system as in claim 2, further comprising: virtual circuit table loading means, responsive to said transmit queue entry arriving at the head of said one of said one or more transmit queues, for storing a value from said first Cell Rate Accumulator field in said schedule table entry to said first Cell Rate Accumulator field of said virtual circuit table entry corresponding with said virtual circuit, and for storing a current time value to said Time Stamp field of said virtual circuit table entry corresponding with said virtual circuit.
Claim 5
Dependent Claim 83 words
The system as in claim 1, further comprising: virtual circuit table loading means, responsive to said transmitting means having transmitted a last cell of a packet, for storing a value from said first Cell Rate Accumulator field of said schedule table entry to said first Cell Rate Accumulator field of said virtual circuit table entry corresponding with said virtual circuit, and for storing a current time value to said Time Stamp field of said virtual circuit table entry corresponding with said virtual circuit.
Claim 6
Dependent Claim 94 words
The system as in claim 1, further comprising: each of said one or more virtual circuit table entries having a Bucket Size field; said schedule table loading means further determining the minimum of (1) the sum of said Time Elapsed field value and said value of said first Cell Rate Accumulator field in said virtual circuit table entry corresponding with said virtual circuit, and (2) the value of said Bucket Size field; and said schedule table loading means further storing said minimum into said first Cell Rate Accumulator field of said schedule table entry.
Claim 7
Dependent Claim 94 words
The system as in claim 1, wherein the value of said first Predetermined Value field for a given one of said one or more schedule table entries equals the inverse of a predetermined sustainable cell rate limit for a virtual circuit indicated by said given one of said one or more schedule table entries divided by a time period T, and said scanning means increments said first Cell Rate Accumulator field each time period T by adding an increment value to said first Cell Rate Accumulator field value, said increment value equal to 1.
Claim 8
Dependent Claim 88 words
The system as in claim 1, further comprising: each of said one or more virtual circuit table entries having a latency accumulator field and a latency increment field; each of said one or more schedule table entries having a latency accumulator field; and said schedule table loading means multiplying said time elapsed by the value of said latency increment field in said virtual circuit table entry corresponding with said virtual circuit, and storing the result of said multiplication into said latency accumulator field of said schedule table entry.
Claim 9
Dependent Claim 49 words
The system of claim 7, said schedule table loading means further copying said latency increment field value in said virtual circuit table entry corresponding with said virtual circuit into a latency increment field of said schedule table entry corresponding with said one of said one or more transmit queues.
Claim 10
Dependent Claim 104 words
The system of claim 1, wherein the value of said first Predetermined Value field for each of said one or more entries equals 1, and said scanning means increments said first Cell Rate Accumulator field of said schedule table entry every time period T by adding an increment value to said first Cell Rate Accumulator field value, wherein said increment value equals a number of cells that may be transmitted by said network node during said time period T on a virtual circuit indicated by said schedule table entry, and not exceed a predetermined sustainable rate of transmission permitted for said indicated virtual circuit.
Claim 11
Dependent Claim 40 words
The system as in claim 1, further comprising: each of said one or more schedule table entries having a latency accumulator field; and said schedule table loading means storing zero into said latency accumulator field of said schedule table entry.
Claim 12
Dependent Claim 97 words
The system as in claim 1, further comprising: each of said one or more virtual circuit table entries having a second Cell Rate Accumulator field; each of said one or more schedule table entries having a second Cell Rate Accumulator field and a second Predetermined Value field; and said schedule table loading means adding said time elapsed to a value of said second Cell Rate Accumulator field in said virtual circuit table entry corresponding with said virtual circuit, and storing the result of said addition into said second Cell Rate Accumulator field of said schedule table entry.
Claim 13
Dependent Claim 84 words
The system as in claim 11, further comprising: said schedule table loading means further determining the minimum of (1) the sum of said time elapsed and said value of said second Cell Rate Accumulator field in said virtual circuit table entry corresponding with said virtual circuit, and (2) the value of said second Predetermined Value field plus one minus the least significant bit; and said schedule table loading means storing said minimum into said second Cell Rate Accumulator field of said schedule table entry.
Claim 14
Dependent Claim 83 words
The system of claim 11, wherein the value of said second Predetermined Value field for a given one of said one or more entries equals the inverse of a predetermined peak cell rate limit for the virtual circuit indicated by said schedule table entry divided by a time period T, and said scanning means increments said second Cell Rate Accumulator each time period T by adding an increment value to said second Cell Rate Accumulator field value, said increment value equal to 1.
Claim 15
Dependent Claim 102 words
The system of claim 13, wherein the value of said second Predetermined Value field for each of said one or more entries equals 1, and said scanning means increments said second Cell Rate Accumulator field of a given schedule table entry each time period T by adding an increment value to said second Cell Rate Accumulator field value, said increment value equal to a number of cells that may be transmitted on a virtual circuit indicated by said given schedule table entry during said time period T and not exceed a predetermined peak rate of transmission permitted for said indicated virtual circuit.
Claim 16
Dependent Claim 48 words
The system as in claim 13, claim 9, or claim 14, wherein said time period T is equal to one cell time, where said cell time is a time period equal to the amount of time required by said network node to transmit one cell onto said network.
Claim 17
Independent Claim 238 words
A method for controlling the transmission of cells from a network node, said network node including a virtual circuit table having one or more entries, each entry corresponding with a virtual circuit established with said network node, each entry having a first Cell Rate Accumulator field and a Time Stamp field, said network node further including a schedule table having one or more entries, each entry having a first Cell Rate Accumulator field and a first Predetermined value field, comprising the steps of: determining a virtual circuit on which a packet is to be transmitted; calculating a time elapsed since a last previous write of a virtual circuit table entry corresponding with said virtual circuit, said time elapsed equal to the current time minus a value of said Time Stamp field, said value of said Time Stamp field storing a time at which said virtual circuit table entry was last written; adding said time elapsed to the value of said first Cell Rate Accumulator field in said virtual circuit table entry corresponding with said virtual circuit; storing the result of said addition into said first Cell Rate Accumulator field of a Schedule table entry; periodically incrementing said first Cell Rate Accumulator field in said schedule table entry; and transmitting a cell on said virtual circuit when the value of said first Cell Rate Accumulator field value is greater than or equal to said first Predetermined Value field value.
Claim 18
Independent Claim 238 words
A method for controlling the transmission of cells from a network node, said network node including a virtual circuit table having one or more entries, each entry corresponding with a virtual circuit established with said network node, each entry having a first Cell Rate Accumulator field and a Time Stamp field, said network node further including a schedule table having one or more entries, each entry having a first Cell Rate Accumulator field and a first Predetermined value field, comprising the steps of: determining a virtual circuit on which a packet is to be transmitted; calculating a time elapsed since a last previous write of a virtual circuit table entry corresponding with said virtual circuit, said time elapsed equal to the current time minus a value of said Time Stamp field, said value of said Time Stamp field storing a time at which said virtual circuit table entry was last written; adding said time elapsed to the value of said first Cell Rate Accumulator field in said virtual circuit table entry corresponding with said virtual circuit; storing the result of said addition into said first Cell Rate Accumulator field of a Schedule table entry; periodically incrementing said first Cell Rate Accumulator field in said schedule table entry; and transmitting a cell on said virtual circuit when the value of said first Cell Rate Accumulator field value is greater than or equal to said first Predetermined Value field value.
Claim 19
Dependent Claim 96 words
The method as in claim 16, said network node also including a memory and one or more transmit queues in said memory, each said transmit queue associated with one of said schedule table entries, each said transmit queue including zero or more entries, each of said zero or more transmit queue entries indicating a packet in a memory, wherein said determining, calculating, adding and storing steps are responsive to a transmit queue entry arriving at the head of one of said one or more transmit queues, said transmit queue entry indicating said packet to be transmitted.
Claim 20
Dependent Claim 86 words
The method as in claim 17, further comprising the following steps: storing, responsive to said transmit queue entry arriving at the head of said one of said one or more transmit queues, a value from said first Cell Rate Accumulator field in said schedule table entry to said first Cell Rate Accumulator field of said virtual circuit table entry corresponding with said virtual circuit; and storing a current time value to said Time Stamp field of said virtual circuit table entry corresponding with said virtual circuit.
Claim 21
Dependent Claim 77 words
The method as in claim 16, further comprising the steps of: storing, responsive to transmitting means a last cell of a packet, a value from said first Cell Rate Accumulator field of said schedule table entry to said first Cell Rate Accumulator field of said virtual circuit table entry corresponding with said virtual circuit, and for storing a current time value to said Time Stamp field of said virtual circuit table entry corresponding with said virtual circuit.
Claim 22
Dependent Claim 83 words
The method as in claim 16, each of said one or more virtual circuit table entries having a Bucket Size field, further comprising the steps of: determining the minimum of (1) the sum of said time elapsed and said value of said first Cell Rate Accumulator field in said virtual circuit table entry corresponding with said virtual circuit, and (2) the value of said Bucket Size field; and storing said minimum into said first Cell Rate Accumulator field of said schedule table entry.
Claim 23
Dependent Claim 95 words
The method as in claim 16, each of said one or more virtual circuit table entries having a second Cell Rate Accumulator field, and each of said one or more schedule table entries having a second Cell Rate Accumulator field and a second Predetermined Value field, further comprising the steps of: adding said time elapsed to a value of said second Cell Rate Accumulator field in said virtual circuit table entry corresponding with said virtual circuit; and storing the result of said addition into said second Cell Rate Accumulator field of said schedule table entry.
Claim 24
Dependent Claim 76 words
The method as in claim 21, further comprising the steps of: determining the minimum of (1) the sum of said time elapsed and said value of said second Cell Rate Accumulator field in said virtual circuit table entry corresponding with said virtual circuit, and (2) the value of said second Predetermined Value field plus one minus the least significant bit; and storing said minimum into said second Cell Rate Accumulator field of said schedule table entry.
Claim 25
Dependent Claim 95 words
The method as in claim 16, wherein the value of said first Predetermined Value field for a given one of said one or more schedule table entries equals the inverse of a predetermined sustainable cell rate limit for a virtual circuit indicated by said given one of said one or more schedule table entries divided by a time period T, and said periodic incrementing step increments said first Cell Rate Accumulator field each time period T by adding an increment value to said first Cell Rate Accumulator field value, said increment value equal to 1.

References Cited (Backward Citations)

US4506358A Cited
US5132961A Cited
US5138607A Cited
US5353430A Cited
US5488607A Cited
US5577222A Cited
US5467342A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-07-14 2001-01-13 2001-07-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-07-14 2005-01-13 2005-07-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-07-14 2009-01-13 2009-07-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag