Patent US3089921A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5748629A Expired / Lapsed US ⏱️ 0.0 years remaining

Allocated and dynamic bandwidth management

Assignee: Ascom Intermediate AG
•
Filing: 1996-07-18
•
Granted: 1998-05-05
•
Expires: 2016-07-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An ATM network switch and method of utilization for adaptively providing integrated services therein is disclosed. In providing such integrated services, if the allocated bandwidth for one connection has been consumed, or if the connection is not entitled to allocated bandwidth, the connection can optionally use dynamic bandwidth arbitration, or a combination of both allocated and dynamic. The switch includes an input port processor, a bandwidth arbiter, and an output port processor. Cells are transmitted from the input to the output, under the control of respective port processors and the bandwidth arbiter. Flow control is implemented on a per-connection basis. Individual queues are then assigned to traffic type groups in order to provide traffic type flow control. Based upon prioritization information associated with the cell at the input, cells are prioritized and transmitted from the output, with each cell maintained in the same order, relative to other cells on a connection, in which it was received.

Inventors

  • 👤 Stephen A. Caldara
  • 👤 Stephen A. Hauser
  • 👤 Thomas A. Manning
  • 👤 Robert B. McClure
  • 👤 Matthias L. Colsman

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 18:21
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/10; H04L47/18; G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/173; G06F15/17356; G06F15/17368; G06F15/17375; H04L12/00; H04L12/28; H04L12/46; H04L12/4604; H04L12/4608; H04L12/54; H04L12/56; H04L12/5601; H04L12/5602; H04L12/64; H04L12/6402; H04L41/00; H04L41/08; H04L41/0896; H04L47/11; H04L47/15; H04L47/16; H04L47/26; H04L47/266; H04L47/29; H04L47/30; H04L47/50; H04L47/52; H04L47/521; H04L47/522; H04L47/525; H04L47/56; H04L47/62; H04L47/621; H04L47/6215; H04L47/622; H04L47/6225; H04L47/625; H04L47/627; H04L47/70; H04L47/72; H04L47/722; H04L47/74; H04L47/743; H04L47/745; H04L47/76; H04L47/762; H04L47/78; H04L47/782; H04L47/80; H04L47/805; H04L47/82; H04L47/822; H04L49/00; H04L49/10; H04L49/101; H04L49/103; H04L49/104; H04L49/105; H04L49/106; H04L49/107; H04L49/108; H04L49/15; H04L49/1515; H04L49/153; H04L49/1553; H04L49/1576; H04L49/20; H04L49/201; H04L49/203; H04L49/205; H04L49/25; H04L49/253; H04L49/254; H04L49/255; H04L49/256; H04L49/30; H04L49/3009; H04L49/3081; H04L49/309; H04L49/45; H04L49/455; H04L49/50; H04L49/501; H04L49/503; H04L49/505; H04L49/506; H04L49/55; H04L49/552; H04L49/90; H04L49/901; H04L49/9047; H04L49/9063; H04L49/9078; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/324; H04Q; H04Q11/00; H04Q11/04; H04Q11/0428; H04Q11/0478; H04W; H04W28/00; H04W28/02; H04W28/10; H04W28/14; H04J; H04J3/00; H04J3/02; H04J3/06; H04J3/0635; H04J3/0682; H04J3/0685; H04L2012/5614; H04L2012/5616; H04L2012/5625; H04L2012/5627; H04L2012/5628; H04L2012/5629; H04L2012/5631; H04L2012/5632; H04L2012/5634; H04L2012/5635; H04L2012/5638; H04L2012/564; H04L2012/5642; H04L2012/5643; H04L2012/5646; H04L2012/5647; H04L2012/5648; H04L2012/5649; H04L2012/565; H04L2012/5651; H04L2012/5652; H04L2012/5672; H04L2012/5678; H04L2012/5679; H04L2012/5681; H04L2012/5682; H04L2012/5683; H04L2012/5684; H04L2012/5685; H04L41/0897; H04L41/40; H04L49/508; H04L49/555; H04L7/00; H04L7/04; H04L7/041; H04L7/046; Y; Y10; Y10S; Y10S370/00; Y10S370/901; Y10S370/902; Y10S370/903; Y10S370/905

Claims Analysis

Total Claims: 54
Claim 1
Independent Claim 151 words
A data switch providing integrated services to data cells transmitted therethrough, each data cell identified as belonging to one of multiple service classes, said switch comprising: plural input port processors, each for buffering and enqueuing input data cells and for transmitting said input data cells through said switch using either allocated or dynamic intra-switch bandwidth; a bandwidth arbiter, in communication with said input port processors, for arbitrating said dynamic intra-switch bandwidth among said input port processors, and for tagging said input data cells as allocated or dynamic intra-switch bandwidth transmitted data cells; plural output port processors, in communication with said input port processors and said bandwidth arbiter, each for buffering and enqueuing said tagged transmitted data cells, according to said tag and data cell service class information, in a prioritized manner; and a switch fabric enabling said communication between said input port processors, said bandwidth arbiter, and said output port processors.
Claim 2
Dependent Claim 151 words
A data switch providing integrated services to data cells transmitted therethrough, each data cell identified as belonging to one of multiple service classes, said switch comprising: plural input port processors, each for buffering and enqueuing input data cells and for transmitting said input data cells through said switch using either allocated or dynamic intra-switch bandwidth; a bandwidth arbiter, in communication with said input port processors, for arbitrating said dynamic intra-switch bandwidth among said input port processors, and for tagging said input data cells as allocated or dynamic intra-switch bandwidth transmitted data cells; plural output port processors, in communication with said input port processors and said bandwidth arbiter, each for buffering and enqueuing said tagged transmitted data cells, according to said tag and data cell service class information, in a prioritized manner; and a switch fabric enabling said communication between said input port processors, said bandwidth arbiter, and said output port processors.
Claim 3
Dependent Claim 43 words
The switch of claim 1 wherein each of said input processors is further for generating scheduling lists comprised of linked lists of queues of said input data cells, each of said scheduling lists having associated therewith data cells belonging to a common connection.
Claim 4
Dependent Claim 48 words
The switch of claim 2 wherein each of said input processors is further maintaining a switch allocation table having plural entries, each of said entries identifying one of said scheduling lists, said switch allocation table enabling the transmission of said input data cells using said allocated intra-switch bandwidth.
Claim 5
Dependent Claim 56 words
The switch of claim 3 wherein each of said input processors is further for maintaining plural dynamic bandwidth lists, each relating to a respective one of said output processors and comprising a linked list of at least one scheduling list, said dynamic bandwidth lists enabling transmission of said input data cells using said dynamic intra-switch bandwidth.
Claim 6
Dependent Claim 48 words
The switch of claim 4 wherein each of said input processors is further for maintaining a dynamic port list for conveyance to said bandwidth arbiter, said dynamic port list indicating which of said output processors are requested by said dynamic bandwidth list scheduling lists, and at what priority.
Claim 7
Dependent Claim 59 words
The switch of claim 5 wherein said bandwidth arbiter is further for identifying which of said output processors is not scheduled for receipt of an input data cell via said allocated intra-switch bandwidth from an input processor, and for matching said output processors not so scheduled with requested output processors on said dynamic port list based upon said priority.
Claim 8
Dependent Claim 30 words
The switch of claim 6 wherein said bandwidth arbiter is further for conveying to said input processor an available output processor which corresponds to a request by said input processor.
Claim 9
Dependent Claim 53 words
The switch of claim 1 wherein each of said output processors is further for receiving an identification of an input data cell to be transmitted by one of said input processors and for providing an indication to said input processor to inhibit said transmission of said input data cell based upon said identification.
Claim 10
Dependent Claim 39 words
The switch of claim 1 wherein each of said output processors is further for maintaining allocated and dynamic list structures for each of said data cells received from said input processors via said allocated and dynamic intra-switch bandwidth, respectively.
Claim 11
Dependent Claim 36 words
The switch of claim 9 wherein each of said output processors is further for transmitting data cells associated with said allocated list structures out of said switch before data cells associated with said dynamic list structures.
Claim 12
Dependent Claim 28 words
The switch of claim 9 wherein each of said output processors is further for providing said allocated and dynamic list structures for each of said multiple service classes.
Claim 13
Dependent Claim 26 words
The switch of claim 11 wherein each of said output processors is further for providing said multiple service class list structures for each of plural priorities.
Claim 14
Dependent Claim 238 words
A communications switch providing integrated services to data cells transmitted therethrough, each data cell identified as belonging to one of multiple service classes, said switch having at least one input port in communication with an input communications link, at least one output port in communication with an output communications link, and a switch fabric therebetween, said switch comprising: an input processor, associated with each of said at least one input ports, for buffering, enqueuing and transmitting said data cells received from said input communications link according to a determination, made by said input processor, of whether allocated or dynamic intra-switch bandwidth may be utilized in transmitting said enqueued data cells across said switch fabric; a bandwidth arbiter, in communication with said at least one input processor, for arbitrating said dynamic intra-switch bandwidth among said input processors, and for tagging said data cells with a tag indicative of whether a respective data cell has been transmitted across said switch fabric utilizing said allocated or said dynamic intra-switch bandwidth; and an output processor, associated with each of said at least one output ports, for buffering and enqueuing said data cells transmitted by at least one of said input processors, tagged by said bandwidth arbiter, and received across said switch fabric, said output processor utilizing said bandwidth arbiter tag and data cell service class information in enqueuing said data cells for transmission to said output communications link in a prioritized manner.
Claim 15
Dependent Claim 238 words
A communications switch providing integrated services to data cells transmitted therethrough, each data cell identified as belonging to one of multiple service classes, said switch having at least one input port in communication with an input communications link, at least one output port in communication with an output communications link, and a switch fabric therebetween, said switch comprising: an input processor, associated with each of said at least one input ports, for buffering, enqueuing and transmitting said data cells received from said input communications link according to a determination, made by said input processor, of whether allocated or dynamic intra-switch bandwidth may be utilized in transmitting said enqueued data cells across said switch fabric; a bandwidth arbiter, in communication with said at least one input processor, for arbitrating said dynamic intra-switch bandwidth among said input processors, and for tagging said data cells with a tag indicative of whether a respective data cell has been transmitted across said switch fabric utilizing said allocated or said dynamic intra-switch bandwidth; and an output processor, associated with each of said at least one output ports, for buffering and enqueuing said data cells transmitted by at least one of said input processors, tagged by said bandwidth arbiter, and received across said switch fabric, said output processor utilizing said bandwidth arbiter tag and data cell service class information in enqueuing said data cells for transmission to said output communications link in a prioritized manner.
Claim 16
Dependent Claim 25 words
The switch of claim 13 wherein said input processor is further capable of verifying valid header data format associated with each of said data cells.
Claim 17
Dependent Claim 27 words
The switch of claim 13 wherein said input processor is further capable of verifying a valid connection identifier from header data for each of said data cells.
Claim 18
Dependent Claim 38 words
The switch of claim 13 wherein said input processor is further capable of analyzing a connection identifier from header data for each of said data cells in associating said data cell with a queue for the respective connection.
Claim 19
Dependent Claim 32 words
The switch of claim 13 wherein said input processor enqueues said data cells for a particular connection in a single queue in order of data cell reception from said input communications link.
Claim 20
Dependent Claim 27 words
The switch of claim 13 wherein said input processor is further capable of reformatting said data cells received from said input communications link into a switch-internal format.
Claim 21
Dependent Claim 33 words
The switch of claim 13 wherein said input processor is further capable of generating scheduling lists comprised of linked lists of queues of said data cells identified as belonging to a common connection.
Claim 22
Dependent Claim 47 words
The switch of claim 19 wherein said input processor maintains a respective switch allocation table comprising plural entries, each entry identifying a respective one of said scheduling lists, said switch allocation table enabling transmission of said enqueued data cells through said switch employing said allocated intra-switch bandwidth.
Claim 23
Dependent Claim 56 words
The switch of claim 20 wherein said input processor maintains a dynamic bandwidth list for each of said output ports, each said dynamic bandwidth list comprising a linked list of at least one of said scheduling lists, said dynamic bandwidth lists enabling transmission of said enqueued data cells through said switch employing said dynamic intra-switch bandwidth.
Claim 24
Dependent Claim 50 words
The switch of claim 21 wherein said input processor maintains a dynamic port list for conveyance to said bandwidth arbiter, said dynamic port list providing an indication to said bandwidth arbiter of which output ports are requested by said scheduling lists associated with said input processor, and at what priority.
Claim 25
Dependent Claim 58 words
The switch of claim 22 wherein said bandwidth arbiter is further capable of identifying which of said output ports are not scheduled for receipt of data cells via said allocated intra-switch bandwidth by said input processor, and of matching said output ports not scheduled with said requested output ports on said dynamic port list based upon said priority.
Claim 26
Dependent Claim 31 words
The switch of claim 23 wherein said bandwidth arbiter further conveys to said input processor an available output port which matches one of said output ports requested by said input processor.
Claim 27
Dependent Claim 35 words
The switch of claim 24 wherein said bandwidth arbiter is further capable of maintaining a history of which input processors were provided with a requested output port in providing a fairness in output port distribution.
Claim 28
Dependent Claim 39 words
The switch of claim 13 wherein said bandwidth arbiter is further capable of receiving from said input processor a queue vector which identifies a destination output processor for ones of said data cells to be transmitted through said switch.
Claim 29
Dependent Claim 75 words
The switch of claim 13 wherein said input processor identifies, to at least one of said output processors via said switch fabric, a data cell to be transmitted to said at least one output processor, and said at least one output processor is further capable of identifying, for said data cell to be transmitted, via said switch fabric, said bandwidth arbiter-provided tag and a respective queue for buffering said data cell at said output port.
Claim 30
Dependent Claim 53 words
The switch of claim 27 wherein said output processor is further capable of providing a signal to said input processor providing said data cell to be transmitted, via said switch fabric, said signal inhibiting transmission of said data cell until receipt by said input processor of a further signal from said output processor.
Claim 31
Dependent Claim 47 words
The switch of claim 13 wherein said output processor is further capable of maintaining list structures for each of data cells received via said allocated and dynamic intra-switch bandwidths, said list structures comprising linked lists of queues having data cells for transmission to said output communications link.
Claim 32
Dependent Claim 31 words
The switch of claim 29 wherein each of said queues is restricted, by said output processor, to one entry within said linked list of queues for each of said list structures.
Claim 33
Dependent Claim 40 words
The switch of claim 29 wherein said output processor is further capable of transmitting data cells from queues found on said allocated intra-switch bandwidth list structure before transmitting data cells from queues found on said dynamic intra-switch bandwidth list structure.
Claim 34
Dependent Claim 29 words
The switch of claim 29 wherein said output processor is further capable of providing said allocated and dynamic intra-switch bandwidth list structures for each of said multiple service classes.
Claim 35
Dependent Claim 25 words
The switch of claim 32 wherein said output processor is further capable of providing said multiple service class list structures for each of plural priorities.
Claim 36
Independent Claim 172 words
A method of forwarding a data cell through a communications switch having an input port, an input processor associated with said input port, an output port, an output processor associated with said output port, a switch fabric disposed between said input port and said output port, and a bandwidth arbiter associated with said switch fabric, said method comprising the steps of: input buffering and enqueuing a data cell received at said input port by said input processor according to whether said data cell is to be forwarded, via said switch fabric, to said output port via allocated or dynamic intra-switch bandwidth; tagging said buffered and enqueued data cell by said bandwidth arbiter as a data cell to be forwarded over said switch fabric via said allocated or dynamic intra-switch bandwidth; forwarding said tagged data cell over said switch fabric by said input processor to said output processor; and output buffering and enqueuing said forwarded data cell, by said output processor at said output port, according to said tag, in a prioritized manner.
Claim 37
Independent Claim 172 words
A method of forwarding a data cell through a communications switch having an input port, an input processor associated with said input port, an output port, an output processor associated with said output port, a switch fabric disposed between said input port and said output port, and a bandwidth arbiter associated with said switch fabric, said method comprising the steps of: input buffering and enqueuing a data cell received at said input port by said input processor according to whether said data cell is to be forwarded, via said switch fabric, to said output port via allocated or dynamic intra-switch bandwidth; tagging said buffered and enqueued data cell by said bandwidth arbiter as a data cell to be forwarded over said switch fabric via said allocated or dynamic intra-switch bandwidth; forwarding said tagged data cell over said switch fabric by said input processor to said output processor; and output buffering and enqueuing said forwarded data cell, by said output processor at said output port, according to said tag, in a prioritized manner.
Claim 38
Dependent Claim 27 words
The method of claim 34 wherein said input buffering and enqueuing step further comprises error checking, by said input processor, a header associated with said data cell.
Claim 39
Dependent Claim 36 words
The method of claim 34 wherein said input buffering and enqueuing step further comprises identification, by said input processor, of a connection to which said data cell corresponds from header data associated with said data cell.
Claim 40
Dependent Claim 28 words
The method of claim 34 wherein said input buffering and enqueuing step further comprises converting said data cell to a switch-internal data cell format by said input processor.
Claim 41
Dependent Claim 37 words
The method of claim 34 wherein said input buffering and enqueuing step further comprises the step of generating, by said input processor, scheduling lists comprised of linked lists of queues identified as belonging to a common connection.
Claim 42
Dependent Claim 58 words
The method of claim 38 wherein said input buffering and enqueuing step further comprises the step of maintaining, by said input processor, a switch allocation table comprising plural entries, each entry identifying a respective one of said scheduling lists, said switch allocation table enabling transmission of said enqueued data cell through said switch employing said allocated intra-switch bandwidth.
Claim 43
Dependent Claim 62 words
The method of claim 38 wherein said input buffering and enqueuing step further comprises the step of maintaining, by said input processor, a dynamic bandwidth list for said output port, said dynamic bandwidth list comprising a linked list of at least one of said scheduling lists and enabling transmission of said enqueued data cell through said switch employing said dynamic intra-switch bandwidth.
Claim 44
Dependent Claim 58 words
The method of claim 40 wherein said input buffering and enqueuing step further comprises the step of maintaining a dynamic port list, by said input processor, said dynamic port list to provide an indication to said bandwidth arbiter of whether said output port is requested by said scheduling lists associated with said input processor, and at what priority.
Claim 45
Dependent Claim 74 words
The method of claim 41 wherein said tagging step further comprises the step of identifying, by said bandwidth arbiter, whether said output port is scheduled for receipt of said data cell via said allocated intra-switch bandwidth by said input processor during a first interval, and of matching, by said bandwidth arbiter, said output port not scheduled during said first interval with said output port request on said dynamic port list based upon said priority.
Claim 46
Dependent Claim 29 words
The method of claim 42 wherein said step of matching further comprises the step of conveying, by said bandwidth arbiter, said matched output port to said requesting input processor.
Claim 47
Dependent Claim 23 words
The method of claim 42 wherein said step of matching further comprises the step of maintaining a history of matched output port requests.
Claim 48
Dependent Claim 44 words
The method of claim 34 wherein said step of tagging further comprises the step of receiving, by said bandwidth arbiter, a queue vector, from said input processor, for identifying a destination output processor for said enqueued data cell to be transmitted through said switch.
Claim 49
Dependent Claim 50 words
The method of claim 34 wherein said step of forwarding said tagged data cell further comprises the step of providing, by said output processor, a signal to said input processor inhibiting said forwarding of said tagged data cell until said output processor provides a second signal to said input processor.
Claim 50
Dependent Claim 60 words
The method of claim 34 wherein said step of output buffering and enqueuing further comprises the step of maintaining, by said output processor, list structures for each of data cells received from said input processor via said allocated and dynamic intra-switch bandwidth, said list structures comprising linked lists of queues each having data cells for transmission from said output port.
Claim 51
Dependent Claim 43 words
The method of claim 47 wherein said step of maintaining further comprises entering, by said output processor, a queue, having a data cell for transmission from said output switch, on said linked list of queues only once for each of said list structures.
Claim 52
Dependent Claim 39 words
The method of claim 47 wherein said step of maintaining further comprises transmitting data cells from queues found on said allocated intra-switch bandwidth list structure before transmitting data cells from queues found on said dynamic intra-switch bandwidth list structure.
Claim 53
Dependent Claim 40 words
The method of claim 47 wherein said data cell is associated with one of plural service classes and said step of maintaining further comprises providing plural allocated and dynamic intra-switch bandwidth list structures for each of said multiple service classes.
Claim 54
Dependent Claim 24 words
The method of claim 50 wherein said step of maintaining further comprises providing said multiple service class list structures for each of plural priorities.

References Cited (Backward Citations)

US3804991A Cited
US4069399A Cited
US4849968A Cited
US4727537A Cited
US4715030A Cited
US4737953A Cited
US4993018A Cited
US4920531A Cited
US4878216A Cited
US4797881A Cited
US4837761A Cited
US5084871A Cited
US5282201A Cited
US5335325A Cited
US4893307A Cited
US5021949A Cited
US4870641A Cited
US4958341A Cited
US4894824A Cited
US4872159A Cited
US4872160A Cited
US4893302A Cited
US4899333A Cited
US4979100A Cited
US5377327A Cited
US5146560A Cited
US4956839A Cited
US4922503A Cited
US5060228A Cited
US5157657A Cited
US5090011A Cited
US4897841A Cited
US5199027A Cited
US4933938A Cited
US4947390A Cited
US5132966A Cited
US5119372A Cited
US5179558A Cited
US5067123A Cited
US5119369A Cited
US5070498A Cited
US5090024A Cited
US5193151A Cited
US5197067A Cited
US5084867A Cited
US5191652A Cited
US5130975A Cited
US5185743A Cited
US5272697A Cited
US5544170A Cited
US5309431A Cited
US5258979A Cited
US5239539A Cited
US5151897A Cited
US5029164A Cited
US5253248A Cited
US5115429A Cited
US5301190A Cited
US5335222A Cited
US5333131A Cited
US5253247A Cited
US5274641A Cited
US5150358A Cited
US5128932A Cited
US5267232A Cited
US5283788A Cited
US5163045A Cited
US5271010A Cited
US5255266A Cited
US5497369A Cited
US5268897A Cited
US5301193A Cited
US5280470A Cited
US5285446A Cited
US5375117A Cited
US5333134A Cited
US5590132A Cited
US5287349A Cited
US5341373A Cited
US5479402A Cited
US5487063A Cited
US5295134A Cited
US5361251A Cited
US5309438A Cited
US5257311A Cited
US5287535A Cited
US5363433A Cited
US5513180A Cited
US5274768A Cited
US5289463A Cited
US5313458A Cited
US5265088A Cited
US5280469A Cited
US5315586A Cited
US5623405A Cited
US5191582A Cited
US5339317A Cited
US5459743A Cited
US5319638A Cited
US5255264A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-05-04 2001-11-03 2002-05-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-05-04 2005-11-03 2006-05-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-05-04 2009-11-03 2010-05-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag