← Back to Patent Explorer
EP0430570A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Method and apparatus for congestion control in a data network

Assignee: AT&T Inc
•
Filing: 1990-11-21
•
Granted: —
•
Expires: 2010-11-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of controlling congestion in a virtual circuit packet network. An initial packet buffer is assigned to each virtual circuit at each node into which incoming packets are stored and later removed for forward routing. If a larger buffer is desired for a virtual circuit to service a larger amount of data, then additional buffer space is dynamically allocated selectively to the virtual circuit on demand if each node has sufficient unallocated buffer space to fill the request. In one embodiment, the criterion for dynamic allocation is based on the amount of data buffered at the data source. In alternative embodiments, the criteria for dynamic allocation may be further based on the amount of data buffered at each node for a virtual circuit and the total amount of free buffer space at each node of a virtual circuit. Signaling protocols are disclosed whereby data sources and virtual circuit nodes maintain consistent information describing the buffer allocations at all times.

Inventors

  • 👤 Ellen L. Hahne
  • 👤 Charles R. Kalmanek
  • 👤 Samuel P. Morgan

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-10-26 19:28
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/10; H04L47/17; H04L47/16; H04L47/26; H04L47/263; H04L47/27; H04L47/28; H04L47/283; H04L47/33; H04L47/43; H04L12/00; H04L12/54; H04L12/56; H04L12/5601; H04L2012/5629; H04L2012/5631; H04L2012/5632; H04L2012/5634; H04L2012/5635; H04L2012/5678; H04L2012/5681

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 93 words
A method of controlling the congestion of data cells in a network having a plurality of switching nodes and a plurality of incoming virtual circuits at each node, said method comprising the steps of assigning an initial cell buffer to each virtual circuit at each node, storing incoming cells for virtual circuits in their respective buffers and removing cells from the buffers for forward routing, characterized by dynamically allocating buffer space selectively to ones of the incoming circuits at a node in response to signals requesting increased or decreased data window sizes, respectively.
Claim 2
Dependent Claim 26 words
The method of claim 1 wherein the step of assigning an initial buffer further comprises assigning an initial buffer of predetermined size to each virtual circuit.
Claim 3
Dependent Claim 56 words
The method of claim 2 wherein the predetermined size of the initial buffer is less than the size of a full data window, wherein a full data window is defined as the product of the maximum transmission bit rate of the virtual circuit multiplied by a nominal factor representing round trip propagation time in the network
Claim 4
Dependent Claim 67 words
The method of claim 1 wherein the step of dynamically allocating buffer space to a virtual circuit further comprises allocating a full data window in response to a signal requesting a larger buffer space, wherein a full data window is defined as the product of the maximum transmission bit rate of the virtual circuit multiplied by a nominal factor representing round trip propagation time in the network.
Claim 5
Dependent Claim 34 words
The method of claim 4 further comprising the step of requesting a larger buffer space based on the amount of data waiting to be sent for the said virtual circuit at the cell source.
Claim 6
Dependent Claim 40 words
The method of claim 4 wherein the step of dynamically allocating a full data window further comprises determining if sufficient free buffer space exists at each node of the virtual circuit to perform the allocation and denying the request otherwise.
Claim 7
Dependent Claim 29 words
The method of claim 1 wherein the step of dynamically allocating buffer space further comprises allocating space to a virtual circuit in one or more blocks of fixed size.
Claim 8
Dependent Claim 25 words
The method of claim 1 wherein the step of allocating buffer space further comprises allocating space to a virtual circuit in blocks of variable size.
Claim 9
Dependent Claim 48 words
The method of claim 7 or claim 8 further comprising the step of determining the size of a block to be allocated at each node of a virtual circuit based on the amount of data waiting to be sent for the said virtual circuit at the cell source.
Claim 10
Dependent Claim 47 words
The method of claim 9 wherein the step of dynamically allocating buffer space in response to a request for a larger buffer further comprises determining if sufficient free buffer space exists at each node of the virtual circuit to perform the allocation and denying the request otherwise.
Claim 11
Dependent Claim 37 words
The method of claim 9 further comprising the step of determining the size of a block to be allocated based on the amount of packet data already buffered for the said virtual circuit at each said node.
Claim 12
Dependent Claim 38 words
The method of claim 11 further comprising the step of determining the size of a block to be allocated at each node of a virtual circuit based on the amount of free buffer space at each said node.
Claim 13
Dependent Claim 47 words
The method of claim 11 wherein the step of dynamically allocating buffer space in response to a request for a larger buffer further comprises determining if sufficient free buffer space exists at each node of the virtual circuit to perform the allocation and denying the request otherwise.
Claim 14
Dependent Claim 108 words
The method of claim 13 wherein the step of determining if sufficient free buffer space exists at each node further comprises transmitting a control message along a virtual circuit from the first node in the circuit to the last node in the circuit, writing information into the control message as it passes through each node describing the amount of free buffer space that can be allocated at the node, and selecting the amount of buffer space assigned to the virtual circuit at each node to be equal to the smallest amount available at any node of the virtual circuit based on the final results in the control message.
Claim 15
Dependent Claim 129 words
The method of claim 13 wherein the step of determining if sufficient free buffer space exists at each node further comprises transmitting control message along a virtual circuit from the first node in the circuit to the last node in the circuit, the control message containing information representing whether a large or small amount of data is buffered at the initial node for the virtual circuit and information representing the availability of free buffer space at the initial node, overwriting said information in the control message with new information as it passes through each node if the new information at a node is more restrictive, and selecting the amount of buffer space assigned to the virtual circuit at each node based on the final results in the control message.
Claim 16
Dependent Claim 60 words
The method of claim 14 wherein the step of determining if sufficient free buffer space exists at each node further comprises performing the selecting step at the final node, and returning a second control message from the last node through each node of the virtual circuit, and adjusting the allocation at each node in response to the second control message.
Claim 17
Dependent Claim 66 words
The method of claim 14 wherein the step of determining if sufficient free buffer space exists at each node further comprises returning the control message from the last node in the virtual circuit to the first node in the virtual circuit, performing the selecting step at the initial node, transmitting a second control message from the first node to the last node to perform the allocation.
Claim 18
Dependent Claim 42 words
The method of claim 2 wherein the size of the initial cell buffer is equal to the size of a full data window divided by the square root of the maximum number of virtual circuits that can simultaneously exist in any node.
Claim 19
Dependent Claim 39 words
The method of claim 1 or claim 2 or claim 3 or claim 4 or claim 7 or claim 8 further comprising the step of discarding data for a virtual circuit during buffer overflow for the said virtual circuit.
Claim 20
Dependent Claim 69 words
The method of claim 1 or claim 2 or claim 3 or claim 4 or claim 7 or claim 8 further comprising the step of requesting a reduction in the allocated buffer space for the virtual circuit after a prior increase of the buffer space above the initial buffer space based on the amount of data waiting to be sent for the said virtual circuit at the cell source.
Claim 21
Dependent Claim 53 words
The method of claim 20 wherein the step of requesting a reduction in the allocated buffer space for the virtual circuit after a prior increase of the buffer space above the initial buffer space is further based on the amount of data already buffered for the said virtual circuit at each said node.
Claim 22
Dependent Claim 48 words
The method of claim 21 wherein the step of requesting a reduction in the allocated buffer space for the virtual circuit after a prior increase of the buffer space above the initial buffer space is further based on the amount of free buffer space at each said node.
Claim 23
Dependent Claim 102 words
The method of claim 1 wherein the step of dynamically allocating buffer space further comprises transmitting a control message along a virtual circuit from the first node in the circuit to the last node in the circuit, writing information into the control message as it passes through each node describing the amount of free buffer space that can be allocated at the node, and selecting the amount of buffer space assigned to the virtual circuit at each node to be equal to the smallest amount available at any node of the virtual circuit based on the final results in the control message.
Claim 24
Dependent Claim 54 words
The method of claim 23 wherein the step of dynamically allocating buffer space further comprises performing the selecting step at the final node, and returning a second control message from the last node through each node of the virtual circuit, and adjusting the allocation at each node in response to the second control message.
Claim 25
Dependent Claim 66 words
The method of claim 24 wherein the step of determining if sufficient free buffer space exists at each node further comprises returning the control message from the last node in the virtual circuit to the first node in the virtual circuit, performing the selecting step at the initial node, transmitting a second control message from the first node to the last node to perform the allocation.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag