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

Fair access of multi-priority traffic to distributed-queue dual-bus networks

Assignee: Nokia Bell Labs
•
Filing: 1990-09-24
•
Granted: 1992-05-19
•
Expires: 2010-09-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Bandwidth balancing is accomplished to DQDB networks that handle multi-priority traffic by causing each node to throttle its own rate of transmission in accordance with the priority of the data that the node transmits. In accordance with one approach, each node limits its throughput to the product of a bandwidth balancing factor (which is a fraction that varies according to the priority level of data) and the unused bus capacity. When parcels of different priorities are received within each node, the parcels are processed in priority order. In accordance with another approach, all active parcels within a node are handled concurrently and receive some bandwidth. The throughput of each parcel in a node is limited to the product of the bandwidth balancing factor and the unused bus capacity. In accordance with still another approach, each traffic parcel limits it throughput to the product of the bandwidth balancing and the bus capacity unused by parcels of equal or higher priority. This scheme allocates bandwidth first to the higher-priority parcels, then allocates the leftovers to the lower-priority parcels. Lower-priority parcels have no effect on the steady-state throughputs of higher-priority parcels.

Inventors

  • 👤 Ellen L. Hahne
  • 👤 Nicholas F. Maxemchuk

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 10:20
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/28; H04L12/2852

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 219 words
A method for allocating transmission capacity in a network having a data bus that passes through network nodes 1 to N of said network in ascending order and a request bus that passes from network nodes N to 1 in descending order, where transmission capacity on said data bus is divided into slots and where each slot on said data bus contains a data field and a header field that includes a busy subfield and a request subfield, and where each node j, where j is an integer between 1 and N, accepts data with an associated priority level from a user port of said node, for transmission to a node K on said network where j<k≦N, and controls the injection of said data into said data bus in accordance with a procedure comprising the steps of: each node determining an effective spare capacity available to itself on said data bus based on the presence of request bits in the request subfield of slots on the request bus, and the busy bits in the request subfield of slots on the data bus; and each node throttling its rate of injecting of data into said data bus to a fraction of the effective spare capacity, where said fraction is related to the priority of the data presented to the node.
Claim 2
Independent Claim 219 words
A method for allocating transmission capacity in a network having a data bus that passes through network nodes 1 to N of said network in ascending order and a request bus that passes from network nodes N to 1 in descending order, where transmission capacity on said data bus is divided into slots and where each slot on said data bus contains a data field and a header field that includes a busy subfield and a request subfield, and where each node j, where j is an integer between 1 and N, accepts data with an associated priority level from a user port of said node, for transmission to a node K on said network where j<k≦N, and controls the injection of said data into said data bus in accordance with a procedure comprising the steps of: each node determining an effective spare capacity available to itself on said data bus based on the presence of request bits in the request subfield of slots on the request bus, and the busy bits in the request subfield of slots on the data bus; and each node throttling its rate of injecting of data into said data bus to a fraction of the effective spare capacity, where said fraction is related to the priority of the data presented to the node.
Claim 3
Dependent Claim 37 words
The method of claim 1 where the effective spare capacity is related neither to priority level of slots requested on said request bus nor to priority level of information in the busy slots on said data bus.
Claim 4
Dependent Claim 35 words
The method of claim 1 where the effective spare capacity is related to priority level of slots requested on said request bus and priority level of information in the busy slots on said data bus.
Claim 5
Dependent Claim 36 words
The method of claim 1 where the effective spare capacity is related to priority level of request bits on said request bus and priority level of busy bits in the busy slots on said data bus.
Claim 6
Dependent Claim 73 words
The method of claim 4 where the step of determining the effective spare capacity comprises the steps of: determining the priority level of a node's parcel, p, determining the rate of requests set, at priority level p or greater, in the request subfield of slots appearing at the request bus, and determining the rate of busy indications, at priority p or greater, in the busy subfield of slots appearing at the data bus.
Claim 7
Dependent Claim 60 words
The method of claim 1 where the step of a node throttling its transmission rate comprises selecting for transmission, from among parcels received by said node for transmission on said data bus, the parcel with the highest priority level, and throttling the transmission rate of said highest priority parcel in accordance with a bandwidth balancing factor for said priority level.
Claim 8
Dependent Claim 41 words
The method of claim 1, further comprising a step of: each node ordering by priority parcels received from said user port; and applying said parcels to said step of throttling, one at a time, in order, in accordance with said ordering.
Claim 9
Dependent Claim 117 words
The method of claim 1, further comprising the steps of: each node ascertaining the appearance of data accepted from said user port that comprises a plurality of parcels, and each node separating said parcels for individual throttling of rate of injecting of data of said parcels into said data bus, Where said step of each node throttling its rate of injecting of data comprises a plurality of throttling processes, with each process throttling the rate of injecting of data of a different one of the separated parcels to a fraction of the effective spare capacity, where the fraction employed in each of the plurality of throttling processes is related to the priority level of the parcel throttled.
Claim 10
Dependent Claim 41 words
The method of claim 8 where the effective spare capacity within each throttling process is related neither to priority level of slots requested on said request bus nor to priority level of information in the busy slots on said data bus.
Claim 11
Dependent Claim 40 words
The method of claim 8 where the effective spare capacity within each throttling process is related to priority level of slots requested on said request bus and to priority level of information in the busy slots on said data bus.
Claim 12
Dependent Claim 69 words
The method of claim 8 where the effective spare capacity within each throttling process is related to priority level of slots requested on said request bus that are greater than p, and to priority level of information in the busy slots on said data bus that are greater than p, where p is the priority level immediately below the priority level of the parcel throttled by said throttling process.
Claim 13
Dependent Claim 69 words
The method of claim 8 where said step of each node determining an effective spare capacity comprises a plurality of effective spare capacity determining steps, each developing an effective spare capacity for a parcel, in accordance with the parcel's priority level, with the effective spare capacity for a priority level p being employed in the throttling of the rate of injecting of data of the parcel having priority p.
Claim 14
Independent Claim 328 words
A method for allocating transmission capacity in a slotted network having a data bus that passes through network nodes 1 to N of said network in ascending order and a request bus that passes from network nodes N to 1 in descending order, where transmission capacity on said data bus is divided into slots and where each slot on said data bus contains a data field and a header field that includes a busy subfield and a request subfield, and where each node j, where j is an integer between 1 and N, accepts data with an associated priority level from a user port for transmission to a node k on said network where j<k≦N, which data comprises packets of information, and controls the injection of said data into said data bus in accordance with a procedure comprising the steps of: accumulating requests from nodes m, where m>j, in a queue, when there is no local request from node j and data is available at node j, accumulating a local request in said queue, and returning to said step of accumulating request, in parallel with said accumulating of request, when the top request in said queue is a request from a node m and a non-busy slot appears at said node j on said data bus, satisfying that top request by passing said slot to succeeding nodes without alteration and removing the satisfied request from the queue, in parallel with said accumulating of requests, when the top request in said queue is said local request from node j and a non-busy slot appears at said data bus entering said node j, when a bandwidth balancing indication is set, satisfying said local request by populating said slot with a data packet, and when a bandwidth balancing indication is unset, passing said slot to succeeding nodes without alteration and setting said bandwidth balancing indication; wherein said bandwidth balancing indication is unset in accordance with the priority level of said data.
Claim 15
Independent Claim 328 words
A method for allocating transmission capacity in a slotted network having a data bus that passes through network nodes 1 to N of said network in ascending order and a request bus that passes from network nodes N to 1 in descending order, where transmission capacity on said data bus is divided into slots and where each slot on said data bus contains a data field and a header field that includes a busy subfield and a request subfield, and where each node j, where j is an integer between 1 and N, accepts data with an associated priority level from a user port for transmission to a node k on said network where j<k≦N, which data comprises packets of information, and controls the injection of said data into said data bus in accordance with a procedure comprising the steps of: accumulating requests from nodes m, where m>j, in a queue, when there is no local request from node j and data is available at node j, accumulating a local request in said queue, and returning to said step of accumulating request, in parallel with said accumulating of request, when the top request in said queue is a request from a node m and a non-busy slot appears at said node j on said data bus, satisfying that top request by passing said slot to succeeding nodes without alteration and removing the satisfied request from the queue, in parallel with said accumulating of requests, when the top request in said queue is said local request from node j and a non-busy slot appears at said data bus entering said node j, when a bandwidth balancing indication is set, satisfying said local request by populating said slot with a data packet, and when a bandwidth balancing indication is unset, passing said slot to succeeding nodes without alteration and setting said bandwidth balancing indication; wherein said bandwidth balancing indication is unset in accordance with the priority level of said data.
Claim 16
Dependent Claim 35 words
The method of claim 13 where said bandwidth balancing indication is unset with every M p instances of satisfying said local request, where M p is related to the priority level p of said data.
Claim 17
Dependent Claim 22 words
The method of claim 14 where M p is greater than M j , when priority p is higher than priority j.
Claim 18
Dependent Claim 28 words
The method of claim 13 where said step of accumulating requests places all requests arriving from nodes m, where m>j, ahead in said queue of said local request.
Claim 19
Dependent Claim 25 words
The method of claim 16 where said accumulating is accomplished by incrementing a counter, and said removing from queue is accomplished by decrementing a counter.
Claim 20
Dependent Claim 27 words
The method of claim 13 where said step of accumulating requests places in said queue all requests arriving from nodes m, where m>j, in order of arrival.
Claim 21
Dependent Claim 38 words
The method of claim 16 where, while there is a local request from node j, said accumulating of requests is accomplished by incrementing a first counter, and said removing from queue is accomplished by decrementing a second counter.
Claim 22
Dependent Claim 58 words
The method of claim 13 where the accumulating of said requests in order of arrival ignores requests of priority lower than the priority of the local request, and the requests that are not ignored are ordered by priority of the requests, with the ordering of the requests by priority predominating the ordering of requests by time of arrival.
Claim 23
Independent Claim 206 words
A method for allocating transmission capacity in a slotted network having a data bus that passes through network nodes 1 to N of said network in ascending order and a request bus that passes from network nodes N to 1 in descending order, where transmission capacity on said data bus is divided into slots and where each slot on said data bus contains a data field and a header field that includes a busy subfield and a request subfield, and where each node j, where j is an integer between 1 and N, accepts data with an associated priority level from a user port for transmission to a node k on said network where j<k≦N, which data comprises packets of information, and controls the injection of said data into said data bus in accordance with a procedure comprising the steps of: determining the number of unsatisfied requests received from the request bus; satisfying the unsatisfied requests by allowing empty slots to pass unpopulated; and populating less than all of the remaining empty slots with said data by passing an empty slot unpopulated for every selected number of empty slots that are populated, where the selected number is related to said associated priority level of said data.
Claim 24
Independent Claim 206 words
A method for allocating transmission capacity in a slotted network having a data bus that passes through network nodes 1 to N of said network in ascending order and a request bus that passes from network nodes N to 1 in descending order, where transmission capacity on said data bus is divided into slots and where each slot on said data bus contains a data field and a header field that includes a busy subfield and a request subfield, and where each node j, where j is an integer between 1 and N, accepts data with an associated priority level from a user port for transmission to a node k on said network where j<k≦N, which data comprises packets of information, and controls the injection of said data into said data bus in accordance with a procedure comprising the steps of: determining the number of unsatisfied requests received from the request bus; satisfying the unsatisfied requests by allowing empty slots to pass unpopulated; and populating less than all of the remaining empty slots with said data by passing an empty slot unpopulated for every selected number of empty slots that are populated, where the selected number is related to said associated priority level of said data.
Claim 25
Dependent Claim 59 words
The method of claim 21 where the number of unsatisfied requests, Q, corresponds to the number of request bits received by node j on said request bus, from downstream nodes j+1 to N, in excess of the number of empty slots passed through node j on said data bus to node j+1 that were left unpopulated by node j.
Claim 26
Independent Claim 313 words
A method for allocating transmission capacity in a network having a data bus that passes through network nodes 1 to N of said network in ascending order and a request bus that passes from network nodes N to 1 in descending order, where transmission capacity on said data bus is divided into slots and where each slot on said data bus contains a data field and a header field that includes a busy subfield and a request subfield, and where each node j, where j is an integer between 1 and N, receives a parcel with an associated priority level from a user port of said node, for transmission to a node k on said network downstream from node j<k≦M, where said parcel is composed of data packets that are small enough to fit within the data fields of said slots, and where said node j controls the injection of said data packets into said data bus in accordance with a procedure comprising the steps of: satisfying accumulated requests, injecting a data packet when an empty slot appears on the data bus and the accumulated requests are satisfied, for every given number of injected data packets, allowing an empty slot to pass unpopulated, and returning to the step of satisfying accumulated requests; where a measure of said accumulated requests is the number, Q, which equals the number of request bits received by node j on said request bus, from downstream nodes j+1 to N, minus the number of empty slots passed unpopulated through node j on said data bus to node j+1, in response to said request bits, from the most recent execution of said step of injecting a data packet; said step of satisfying accumulated requests allows Q empty slots to pass unpopulated; and said given number is related to said priority level associated with said parcel received from said user port.
Claim 27
Independent Claim 313 words
A method for allocating transmission capacity in a network having a data bus that passes through network nodes 1 to N of said network in ascending order and a request bus that passes from network nodes N to 1 in descending order, where transmission capacity on said data bus is divided into slots and where each slot on said data bus contains a data field and a header field that includes a busy subfield and a request subfield, and where each node j, where j is an integer between 1 and N, receives a parcel with an associated priority level from a user port of said node, for transmission to a node k on said network downstream from node j<k≦M, where said parcel is composed of data packets that are small enough to fit within the data fields of said slots, and where said node j controls the injection of said data packets into said data bus in accordance with a procedure comprising the steps of: satisfying accumulated requests, injecting a data packet when an empty slot appears on the data bus and the accumulated requests are satisfied, for every given number of injected data packets, allowing an empty slot to pass unpopulated, and returning to the step of satisfying accumulated requests; where a measure of said accumulated requests is the number, Q, which equals the number of request bits received by node j on said request bus, from downstream nodes j+1 to N, minus the number of empty slots passed unpopulated through node j on said data bus to node j+1, in response to said request bits, from the most recent execution of said step of injecting a data packet; said step of satisfying accumulated requests allows Q empty slots to pass unpopulated; and said given number is related to said priority level associated with said parcel received from said user port.
Claim 28
Dependent Claim 37 words
The method of claim 23 wherein said measure of accumulated requests is developed by incrementing a count whenever a request appears at the request bus, and by decrementing said count whenever an empty slot is passed unpopulated.
Claim 29
Dependent Claim 57 words
The method of claim 24 wherein said step of allowing an empty slot to pass unpopulated every given number of injected data packets is effected by creating a slot request with every given number of injected data packets, with said created request appearing to said node j as a request from nodes downstream from said node j.

References Cited (Backward Citations)

US5001707A Cited
US4977557A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag