WO2001065781A2 - Method and apparatus for high-speed generation of a priority metric for queues - Google Patents

Method and apparatus for high-speed generation of a priority metric for queues Download PDF

Info

Publication number
WO2001065781A2
WO2001065781A2 PCT/IL2001/000185 IL0100185W WO0165781A2 WO 2001065781 A2 WO2001065781 A2 WO 2001065781A2 IL 0100185 W IL0100185 W IL 0100185W WO 0165781 A2 WO0165781 A2 WO 0165781A2
Authority
WO
WIPO (PCT)
Prior art keywords
queue
time
items
queues
waiting time
Prior art date
Application number
PCT/IL2001/000185
Other languages
French (fr)
Other versions
WO2001065781A3 (en
Inventor
Ehud Barzilai
Original Assignee
Teracross Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Teracross Ltd. filed Critical Teracross Ltd.
Priority to AU2001235953A priority Critical patent/AU2001235953A1/en
Publication of WO2001065781A2 publication Critical patent/WO2001065781A2/en
Publication of WO2001065781A3 publication Critical patent/WO2001065781A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first
    • H04L47/566Deadline varies as a function of time spent in the queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues

Definitions

  • the present invention relates to queuing systems. More particularly, the invention relates to a method and apparatus for real-time, efficient determination of queue priority in high-speed queuing systems.
  • Queuing systems are widespread in technical applications such as communication and computer systems.
  • items requiring some sort of service arbitrarily arrive at the system and are grouped to form queues, where they await this service to be rendered by a server.
  • Items in the queues are serviced according to a certain discipline, such as First-In-First- Out (FIFO) or Last-In-First-Out (LIFO), with FIFO being the prevalent service discipline.
  • FIFO First-In-First- Out
  • LIFO Last-In-First-Out
  • the goal of most scheduling disciplines is to achieve maximum utilization of system resources (servers) while maintaining at least a desired minimal level for the Quality-of-Service (QoS) experienced by queued items.
  • the QoS is usually measured by several main parameters: (1) Mean service delay - the average amount of time that an item is expected to wait from arrival at the queue until it is served. (2) Delay variation - the variation of the delay among items. (3) Mean queue occupancy - the average number of items expected to be in a queue. (4) 'Loss probability' or 'blocking probability' - the probability of an item to arrive at a queue that cannot accommodate it, and thus be 'blocked' or 'lost'.
  • PGMs priority-generating mechanisms
  • a timer (counter) must be associated with each item in the queue from the moment it arrives until its departure.
  • the hardware requirements for the implementation of a system based on such an approach render OIA infeasible for most practical implementations.
  • the priority value In order for the priority value to represent accurately the queue's status it must express several queuing parameters such as the occupancy, average waiting time and QoS preference.
  • priority determining algorithms should have minimum complexity, in order to necessitate as little hardware as possible, and to complete the calculation in as little time as possible.
  • the role of the priority generating mechanism is significant since it constitutes the foundation for the scheduling system, thus directly affecting its performance.
  • a method for establishing a queue priority for selecting one queue from at least two queues each containing items to be serviced comprising the steps of:
  • EAWT estimated aggregate waiting time
  • the present invention is directed to a method for real-time generation of priority values for each of a multiplicity of queues, each containing zero or more items waiting for service.
  • One or more servers serve items in each of the queues.
  • the invention is further directed to an implementation scheme based on estimating the aggregated waiting time of the items in each queue. Since the mechanism is applied to all queues in a similar manner, the description and analysis may be carried out for a single queue, independent of the structure of the whole queuing system. Using the proposed priority generating mechanism, the system may optimally utilize its resources (i.e. the servers) while complying with QoS requirements.
  • the queue priority value is defined as a function combining the estimated aggregate waiting time (EAWT) of items in the queue with a predefined (or slowly changing) parameter assigned to the queue, named 'QoS-class'.
  • EAWT estimated aggregate waiting time
  • 'QoS-class' a predefined (or slowly changing) parameter assigned to the queue.
  • the result encapsulates expressions for queue occupancy, item waiting time and the QoS-class parameter.
  • such a technique is based on the assumption that the inter- arrival time is locally stationary or, in other words, that the duration between the respective arrivals of successive items found in the queue at any given time is close to a constant.
  • the invention does not require a timer or counter to be associated with each item in the queue.
  • the invention is also directed to an apparatus for real-time queue priority generation, comprising circuitry for determining the priority value according to statistical queuing information.
  • Fig. 1 is an illustration of a basic FIFO queuing system
  • Fig. 2 is a block diagram showing functionally a priority generating mechanism according to a preferred embodiment of the invention
  • Fig. 3 is a flowchart of the algorithm underlying the priority generating mechanism shown in Fig. 2.
  • Fig.l illustrates a queuing system 10 having one or more queues 11 each employing the First-In-First-Out FIFO queuing discipline, where items 12 arrive at the queue 11 and depart from it upon being served by a server 13.
  • the item arrival process is assumed arbitrary.
  • the time an item waits until it departs from the queue directly relates to the specific queue service statistics characterizing the system.
  • Many scheduling schemes may be applied to determine which queue is to be served by available servers, each scheme directly influencing the item departure statistics. In an effort to provide higher priority to queues with items waiting for service longer than others, a measurement of the aggregate item waiting time is determined.
  • a timer (counter) must be assigned to each item in the queue as means of tracking the amount of time by which it is delayed. This, however, is infeasible in many practical situations since a counter per item imposes impracticable hardware requirements, especially when long queues are to be maintained. It is a goal of the invention to provide an estimated metric of the aggregate waiting time of items in the queue using moderate hardware requirements, regardless of queue length. It is common practice in some systems to serve several items in a batch from the same queue whenever a server is assigned to serve the queue. According to the preferred embodiment of the invention, a time slot denotes the duration of time in which a server is assigned to serve a particular queue.
  • This duration is measured in units of the period between the occurrence of a periodic event called a clock tick.
  • the period between clock ticks may be chosen arbitrarily.
  • Clock ticks are usually provided to the system in the form of a periodic clock signal.
  • Clock ticks are also used as units for the measurement of the waiting time of items in the queue.
  • the duration of a time slot can be fixed or variable, and may be chosen arbitrarily by the queuing system designer. The only limitation imposed on the time slot duration is that a server may not begin to serve the queue during the period of a time slot, nor can a server serving the queue cease to serve it during this period.
  • the Estimated Aggregate Waiting Time is computed for a queue priority calculation at the end of each time- slot.
  • EAWT is an estimate of the sum of waiting times (from arrival until the moment of calculation), in clock ticks, of all items in the queue.
  • At the inter-arrival time of items
  • At the inter-arrival time of items
  • At the At between the arrival of any two adjacent items in the queue.
  • an estimation of the EAWT is achieved by employing the following rules: 1. Let W t represent the EAWT at time t, and n t - the number of items in the queue at time t. Whenever a clock tick occurs, every item in the queue is considered to have waited an additional unit of time, hence:
  • the EAWT at the begiiining of the time slot denoted by »-> soil / +/c , allows for calculating the EAWT at the end of the time slot using the EAWT known at its beginning.
  • the EAWT is updated as follows:
  • TS denotes the duration of the time-slot.
  • W t can be combined with the QoS class parameter associated with the queue using any mathematical function such as multiplication, addition, exponentiation etc.
  • the differentiation between queues using the QoS class parameter may vary in accordance with the application.
  • Fig. 2 is a block diagram showing functionally a priority generating mechanism depicted generally as 20 and comprising an EAWT generator 21 responsive to indications of item arrival and departure and clock ticks for determining the Estimated Aggregate Waiting Time, as described above.
  • the EAWT generator 21 is coupled to a Combiner 22, which combines the EAWT with a QoS parameter.
  • the combined function is fed to a compander 23, whose output is the desired priority metric.
  • Fig. 3 illustrates a flowchart of the algorithm for the priority generating mechanism.
  • the (n,k) values may be extracted from a lookup table for gaining speed. This is applied mainly in cases where the assumption n » k » 1 does not necessarily hold.
  • Calculation time may be substantially shortened, by making the n » k » 1 assumption, to an addition operation and a division. Multiplying the approximated ratio with the previous EAWT value attains an EAWT update.
  • the invention is also directed, though not in a limited way, to an apparatus for generating real-time priority metric for use in queuing systems.
  • the apparatus consists of an efficient approximation to the aggregate waiting time of items in FIFO-type queues, where the priority directly relates to the approximate aggregate waiting time and to the number of items in the queue, combined with a QoS-class parameter as described above.
  • the apparatus according to the invention may be a suitably programmed computer.
  • the invention contemplates a computer program being readable by a computer for executing the method of the invention.
  • the invention further contemplates a machine-readable memory tangibly embodying a program of instructions executable by the machine for executing the method of the invention.
  • the method and apparatus according to the invention have been described with regard to servicing queues in general, a particular application is in the field of communication networks.
  • the method may be used to assign queue priorities in the high-speed, high- capacity packet-scheduling network described in our co-pending Israeli patent application no. 132694 filed on November 1, 1999 and entitled "Method and apparatus for high-speed, high-capacity packet-scheduling supporting quality of service in communications networks.

Abstract

A method and apparatus for establishing queue priorities for selecting one queue from at least two queues each containing items to be serviced, wherein a metric is determined for each queue by estimating the aggregate waiting time associated with all of the items in the respective queue, and the estimated aggregate waiting time is used to form a priority metric.

Description

Method and apparatus for high-speed generation of a priority metric for queues
FIELD OF THE INVENTION
The present invention relates to queuing systems. More particularly, the invention relates to a method and apparatus for real-time, efficient determination of queue priority in high-speed queuing systems.
BACKGROUND OF THE INVENTION
Queuing systems are widespread in technical applications such as communication and computer systems. In a general queuing system, items requiring some sort of service arbitrarily arrive at the system and are grouped to form queues, where they await this service to be rendered by a server. Items in the queues are serviced according to a certain discipline, such as First-In-First- Out (FIFO) or Last-In-First-Out (LIFO), with FIFO being the prevalent service discipline. When an item is served, it is said to have 'departed' from the queue and is no longer tracked by the queuing system. In many applications, there are fewer servers than queues, and a scheduling discipline must be employed to determine which queue is to be served first by an available server.
The goal of most scheduling disciplines is to achieve maximum utilization of system resources (servers) while maintaining at least a desired minimal level for the Quality-of-Service (QoS) experienced by queued items. The QoS is usually measured by several main parameters: (1) Mean service delay - the average amount of time that an item is expected to wait from arrival at the queue until it is served. (2) Delay variation - the variation of the delay among items. (3) Mean queue occupancy - the average number of items expected to be in a queue. (4) 'Loss probability' or 'blocking probability' - the probability of an item to arrive at a queue that cannot accommodate it, and thus be 'blocked' or 'lost'.
In order to achieve the required goal, many scheduling disciplines make use of a priority metric assigned to each queue. Higher priority queues are usually more likely to be served before lower priority ones. The method used to determine the priority value for queues can thus greatly affect the overall performance of any scheduling discipline that employs priority metrics.
Several priority-generating mechanisms (PGMs) have been proposed for determining queue priority. The most common is QO (queue occupancy) whereby the priority is directly proportional to the queue occupancy (number of items in the queue). Accordingly, the longest queue always holds the highest priority. When deploying a QO-based scheduling discipline, a queue to which very few items have arrived may be left unserved ("starved") for a prolonged duration, resulting in long service delays. Another proposed mechanism is the OIA (oldest item age) whereby the priority is proportional to the waiting time of the oldest item in the queue. Although this technique does not suffer from the starvation phenomenon, it does not directly take into account the queue occupancy or the waiting time of items other than the one at the head of the queue. In addition, in order to implement OIA, a timer (counter) must be associated with each item in the queue from the moment it arrives until its departure. The hardware requirements for the implementation of a system based on such an approach render OIA infeasible for most practical implementations. In order for the priority value to represent accurately the queue's status it must express several queuing parameters such as the occupancy, average waiting time and QoS preference. In addition, for practical reasons, such priority determining algorithms should have minimum complexity, in order to necessitate as little hardware as possible, and to complete the calculation in as little time as possible. As mentioned above, the role of the priority generating mechanism is significant since it constitutes the foundation for the scheduling system, thus directly affecting its performance.
To maintain scheduling fairness, it is necessary that an identical priority generating mechanism be applied to all queues. Despite this requirement for fairness, it is sometimes desirable to give inherent service preference to specific queues over other queues.
In some scheduling schemes and applications, upon assignment of a server to a queue, several items are serviced consecutively as opposed to servicing only a single item per server-queue assignment. A compromise between service resolution (number of items served per assignment) and scheduling complexity is practiced in the prior art. An efficient PGM is required to handle such scenarios.
Methods presented in the past have not yet provided satisfactory solutions to the problem of providing a fair, real-time, scalable, and pragmatically implemented PGM that can support QoS provisioning in high-speed queuing systems. SUMMARY OF THE INVENTION
It is an object of the present invention to provide a method and apparatus for generating queue-priority values in high-speed queuing systems, wherein the aforementioned drawbacks are reduced or eliminated. It is another object of the invention to provide a method and apparatus for generating queue-priority values in real-time for high-speed queuing systems.
It is yet another object of the invention to provide a method and apparatus for generating queue-priority values in queuing systems, which provides a solid expression of statistical queuing metrics such as queue occupancy, average waiting time and prescribed QoS preference values.
Other objects and advantages of the invention will become apparent from the following description of a preferred embodiment.
According to a broad aspect of the invention, there is provided a method for establishing a queue priority for selecting one queue from at least two queues each containing items to be serviced, said method comprising the steps of:
(a) determining for each queue an estimated aggregate waiting time (EAWT) associated with all of the items in the respective queue, and
(b) using the estimated aggregate waiting time to form a priority metric. The present invention is directed to a method for real-time generation of priority values for each of a multiplicity of queues, each containing zero or more items waiting for service. One or more servers serve items in each of the queues. The invention is further directed to an implementation scheme based on estimating the aggregated waiting time of the items in each queue. Since the mechanism is applied to all queues in a similar manner, the description and analysis may be carried out for a single queue, independent of the structure of the whole queuing system. Using the proposed priority generating mechanism, the system may optimally utilize its resources (i.e. the servers) while complying with QoS requirements. In the invention, the queue priority value is defined as a function combining the estimated aggregate waiting time (EAWT) of items in the queue with a predefined (or slowly changing) parameter assigned to the queue, named 'QoS-class'. The result encapsulates expressions for queue occupancy, item waiting time and the QoS-class parameter. According to a preferred embodiment of the invention, such a technique is based on the assumption that the inter- arrival time is locally stationary or, in other words, that the duration between the respective arrivals of successive items found in the queue at any given time is close to a constant. As opposed to common schemes, such as OIA, the invention does not require a timer or counter to be associated with each item in the queue.
An efficient approximate algorithm for the invention is provided that makes two further assumptions and facilitates simple, fast hardware implementations .
The invention is also directed to an apparatus for real-time queue priority generation, comprising circuitry for determining the priority value according to statistical queuing information.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other characteristics and advantages of the invention will be better understood through the following illustrative and non-limiting example of some preferred embodiments thereof, with reference to the appended drawings, wherein:
Fig. 1 is an illustration of a basic FIFO queuing system;
Fig. 2 is a block diagram showing functionally a priority generating mechanism according to a preferred embodiment of the invention; and Fig. 3 is a flowchart of the algorithm underlying the priority generating mechanism shown in Fig. 2. DETAILED DESCRIPTION OF THE INVENTION
Fig.l illustrates a queuing system 10 having one or more queues 11 each employing the First-In-First-Out FIFO queuing discipline, where items 12 arrive at the queue 11 and depart from it upon being served by a server 13. The item arrival process is assumed arbitrary. The time an item waits until it departs from the queue directly relates to the specific queue service statistics characterizing the system. Many scheduling schemes may be applied to determine which queue is to be served by available servers, each scheme directly influencing the item departure statistics. In an effort to provide higher priority to queues with items waiting for service longer than others, a measurement of the aggregate item waiting time is determined. As mentioned earlier, in order to calculate the aggregate item waiting time accurately, a timer (counter) must be assigned to each item in the queue as means of tracking the amount of time by which it is delayed. This, however, is infeasible in many practical situations since a counter per item imposes impracticable hardware requirements, especially when long queues are to be maintained. It is a goal of the invention to provide an estimated metric of the aggregate waiting time of items in the queue using moderate hardware requirements, regardless of queue length. It is common practice in some systems to serve several items in a batch from the same queue whenever a server is assigned to serve the queue. According to the preferred embodiment of the invention, a time slot denotes the duration of time in which a server is assigned to serve a particular queue. This duration is measured in units of the period between the occurrence of a periodic event called a clock tick. The period between clock ticks may be chosen arbitrarily. Clock ticks are usually provided to the system in the form of a periodic clock signal. Clock ticks are also used as units for the measurement of the waiting time of items in the queue. The duration of a time slot can be fixed or variable, and may be chosen arbitrarily by the queuing system designer. The only limitation imposed on the time slot duration is that a server may not begin to serve the queue during the period of a time slot, nor can a server serving the queue cease to serve it during this period.
In this preferred embodiment, the Estimated Aggregate Waiting Time (EAWT) is computed for a queue priority calculation at the end of each time- slot. EAWT is an estimate of the sum of waiting times (from arrival until the moment of calculation), in clock ticks, of all items in the queue. To facilitate the calculation of the EAWT, an assumption is made that the inter-arrival time of items, denoted by At, is locally stationary. In other words, at any given time, the At between the arrival of any two adjacent items in the queue is roughly constant for all items currently in the queue. Under this assumption an estimation of the EAWT is achieved by employing the following rules: 1. Let Wt represent the EAWT at time t, and nt - the number of items in the queue at time t. Whenever a clock tick occurs, every item in the queue is considered to have waited an additional unit of time, hence:
Figure imgf000009_0001
2. At the end of a time slot, if k items have departed from the queue during the time slot then their contribution to the EAWT must be removed. Under the assumption of constant At, if there are n items in the queue, then the contribution of the oldest item to the EAWT is nAt, the contribution of the next oldest item is (n -X)Δt, etc. Thus the EAWT is the sum of this assumed contribution of all items. If there are n items in the queue at the end of a time slot, and k items have departed during the time slot, then there were n+k items in the queue at the beginning of the time slot (assuming no arrivals). The EAWT at the beginning of the time slot is therefore: (n + k)At + (n + k - 1) At ...At = Sn+kAt. while at the end it is: nAt + (n- ϊ)At ...At = SnAt.
defining .= — - —
Accordingly, the ratio between the EAWT at the end of the time-slot to
the EAWT at the begiiining of the time slot, denoted by »->„ / +/c , allows for calculating the EAWT at the end of the time slot using the EAWT known at its beginning.
Utilizing this ratio, the EAWT is updated as follows:
Figure imgf000010_0001
Where TS denotes the duration of the time-slot.
In order to incorporate the QoS preference, Wt can be combined with the QoS class parameter associated with the queue using any mathematical function such as multiplication, addition, exponentiation etc. The differentiation between queues using the QoS class parameter may vary in accordance with the application.
Finally, a companding function (monotonic mapping transform) may be applied to the value obtained to limit the dynamic range of the priority values generated. Fig. 2 is a block diagram showing functionally a priority generating mechanism depicted generally as 20 and comprising an EAWT generator 21 responsive to indications of item arrival and departure and clock ticks for determining the Estimated Aggregate Waiting Time, as described above. The EAWT generator 21 is coupled to a Combiner 22, which combines the EAWT with a QoS parameter. The combined function is fed to a compander 23, whose output is the desired priority metric. Fig. 3 illustrates a flowchart of the algorithm for the priority generating mechanism.
Implementation of the procedure described above necessitates two calculations:
2. Multiplication of Sn / *->„+/cby Wt-τs
The above calculations may be too complicated for certain applications requiring very high-speed computation of EAWT. In such applications it is possible to make further assumptions in order simplify the calculations. Efficient calculation of Sn I Sn+k for hardware implementations may be obtained using the following arithmetic elaboration:
Figure imgf000011_0001
Assuming n » k » 1
Figure imgf000011_0002
and hence:
S„ n
S n+k n + 2k
Since the above assumptions are not always true, a correction function α(n,/c) may be added in the following manner:
Sn n + a(n,k)
Sn+Iζ n + 2k
The (n,k) values may be extracted from a lookup table for gaining speed. This is applied mainly in cases where the assumption n » k » 1 does not necessarily hold. The following are the main advantages of the proposed approximation technique:
• Calculation time may be substantially shortened, by making the n » k » 1 assumption, to an addition operation and a division. Multiplying the approximated ratio with the previous EAWT value attains an EAWT update.
• Under the above assumption, quite good accuracy is achieved by adding a constant term, without imposing further delay on the calculation time since it is performed concurrently to the other addition operation. The invention is also directed, though not in a limited way, to an apparatus for generating real-time priority metric for use in queuing systems.
The apparatus consists of an efficient approximation to the aggregate waiting time of items in FIFO-type queues, where the priority directly relates to the approximate aggregate waiting time and to the number of items in the queue, combined with a QoS-class parameter as described above.
It will also be understood that the apparatus according to the invention may be a suitably programmed computer. Likewise, the invention contemplates a computer program being readable by a computer for executing the method of the invention. The invention further contemplates a machine-readable memory tangibly embodying a program of instructions executable by the machine for executing the method of the invention.
Finally, it should be noted that, whilst the method and apparatus according to the invention have been described with regard to servicing queues in general, a particular application is in the field of communication networks. For example, the method may be used to assign queue priorities in the high-speed, high- capacity packet-scheduling network described in our co-pending Israeli patent application no. 132694 filed on November 1, 1999 and entitled "Method and apparatus for high-speed, high-capacity packet-scheduling supporting quality of service in communications networks".

Claims

CLAIMS:
1. A method for establishing queue priorities for selecting one queue from at least two queues each containing items to be serviced, said method comprising the steps of: (a) determining for each queue a metric by estimating the aggregate waiting time associated with all of the items in the respective queue, and (b) using the estimated aggregate waiting time to form a priority metric.
2. The method according to Claim 1, wherein each queue is dedicated for a respective Quality of Service (QoS) and step (b) includes: i) combining the estimated aggregate waiting time with a parameter determined by the QoS for which the queue is dedicated.
3. The method according to Claim 1 or 2, wherein at least one of said queues is served by a multi-item server adapted to service, concurrently or serially, a batch containing more than one item and the priority metric is calculated only at the beginning or end of each batch.
4. The method according to any one of the preceding claims, wherein an inter-arrival time At of items at each of said queues is assumed to be locally stationary in order to facilitate the calculation of the aggregate waiting time.
5. The method according to Claim 4, wherein the aggregate waiting time is calculated as:
Figure imgf000013_0001
where: n = the number of items in the queue, k = the number of items in the queue which depart during a time slot, and t - time, counted in time-slots (i.e. a time-slot's index).
6. The method according to Claim 5, further including the steps of assuming that n » k » 1 and calculating:
Figure imgf000014_0001
where: 5 Sn I Sn+k - the ratio between the EAWT at the end of the time-slot to the
EAWT at the beginning of the time slot; thereby allowing simple computation the EAWT at the end of a time slot from its value at the beginning of the time slot.
7. The method according to any one the preceding claims, further including: X&) applying a companding function to the value obtained as queue priority, in order to limit the dynamic range of the priority values generated.
8. Use of the method according to any one the preceding claims for establishing queue priorities in a communication network switch.
15 9. An apparatus for establishing queue priorities for selecting one queue from at least two queues each containing items to be serviced, said apparatus comprising: a computer for determining for each queue an estimated aggregate waiting time (EAWT) associated with all of the items in the respective queue, and using
20 the estimated aggregate waiting time to form a priority metric.
10. The apparatus according to Claim 9, wherein each queue is dedicated for a respective Quality of Service (QoS) and the computer is adapted to combine the estimated aggregate waiting time with a parameter determined by the QoS for which the queue is dedicated.
11. The apparatus according to Claim 9 or 10, wherein at least one of said queues is served by a multi-item server adapted to service, concurrently or serially, a batch containing more than one item and the priority metric is calculated only at the beginning or end of each batch.
12. The apparatus according to any one of Claims 9 to 11, wherein an inter- arrival time At of items at each of said queues is assumed to be locally stationary.
13. The apparatus according to Claim 12, wherein the computer calculates the aggregate waiting time as:
EA WT(t + 1) = ^H zl EA WT(t)
(n + k)(n + k + ϊ) where: n = the number of items in the queue, k = the numbers of items in the queue which depart during a time slot, and t = time, counted in time-slots (i.e. a time-slot's index).
14. The apparatus according to Claim 13, where it is assumed that n » k » 1 and the computer is adapted to calculate:
Figure imgf000015_0001
where:
Sn I Sn+k = the ratio between the EAWT at the end of the time-slot to the
EAWT at the beginning of the time slot; thereby allowing simple computation the EAWT at the end of a time slot from its value at the beginning of the time slot.
15. The apparatus according to any one Claims 9 to 14, wherein the computer is further adapted to apply a companding function to the value obtained to limit a dynamic range of the priority values generated.
16. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for establishing a queue priority for selecting one queue from at least two queues each containing items to be serviced, said method comprising the steps of:
(a) determining for each queue an estimated aggregate waiting time (EAWT) associated with all of the items in the respective queue, and (b) using the estimated aggregate waiting time to form a priority metric.
17. A computer program product comprising a computer useable medium having computer readable program code embodied therein for establishing a queue priority for selecting one queue from at least two queues each containing items to be serviced, said computer program product comprising: computer readable program code for causing the computer to determine for each queue an estimated aggregate waiting time (EAWT) associated with all of the items in the respective queue, and computer readable program code for causing the computer to use the estimated aggregate waiting time to form a priority metric.
PCT/IL2001/000185 2000-02-28 2001-02-28 Method and apparatus for high-speed generation of a priority metric for queues WO2001065781A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001235953A AU2001235953A1 (en) 2000-02-28 2001-02-28 Method and apparatus for high-speed generation of a priority metric for queues

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL13475500A IL134755A0 (en) 2000-02-28 2000-02-28 Method and apparatus for high-speed generation of a priority metric for queues
IL134755 2000-02-28

Publications (2)

Publication Number Publication Date
WO2001065781A2 true WO2001065781A2 (en) 2001-09-07
WO2001065781A3 WO2001065781A3 (en) 2001-12-13

Family

ID=11073878

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2001/000185 WO2001065781A2 (en) 2000-02-28 2001-02-28 Method and apparatus for high-speed generation of a priority metric for queues

Country Status (4)

Country Link
US (1) US20030055938A1 (en)
AU (1) AU2001235953A1 (en)
IL (1) IL134755A0 (en)
WO (1) WO2001065781A2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007158926A (en) * 2005-12-07 2007-06-21 Fujitsu Ltd Message control program, message control apparatus, and message control method
EP2807567B1 (en) 2012-01-27 2018-03-07 Marvell World Trade Ltd. Systems and methods for dynamic priority control
US11237835B2 (en) * 2015-03-23 2022-02-01 Middleware, Inc. System and method for processing data of any external services through API controlled universal computing elements
US11941462B2 (en) 2015-03-23 2024-03-26 Middleware, Inc. System and method for processing data of any external services through API controlled universal computing elements
US10455445B2 (en) * 2017-06-22 2019-10-22 Rosemount Aerospace Inc. Performance optimization for avionic wireless sensor networks
US11153922B2 (en) 2019-10-15 2021-10-19 Rosemount Aerospace, Inc. Directional wireless communications onboard aircraft

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0491367A2 (en) * 1990-12-19 1992-06-24 Bull HN Information Systems Inc. A queue managing method for an electronic mail system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3354689B2 (en) * 1994-02-28 2002-12-09 富士通株式会社 ATM exchange, exchange and switching path setting method thereof
JP3315588B2 (en) * 1996-05-16 2002-08-19 株式会社日立製作所 ATM switch for traffic flow control
DE19653118C2 (en) * 1996-12-19 2000-11-23 Siemens Ag Method for the optimized transmission of ATM cells over connection sections
CA2242219A1 (en) * 1997-10-03 1999-04-03 Newbridge Networks Corporation Classes of service in an mpoa network
US6108307A (en) * 1997-12-12 2000-08-22 Newbridge Networks Corporation Frame relay priority queses to offer multiple service classes
US6246691B1 (en) * 1998-08-14 2001-06-12 Siemens Aktiengesellschaft Method and circuit configuration for the transmission of message units in message streams of different priority
US6625122B1 (en) * 1999-11-24 2003-09-23 Applied Micro Circuits Corporation Selection of data for network transmission

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0491367A2 (en) * 1990-12-19 1992-06-24 Bull HN Information Systems Inc. A queue managing method for an electronic mail system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHANGHWAN OH ET AL: "PRIORITY CONTROL ATM FOR SWITCHING SYSTEMS" IEICE TRANSACTIONS ON COMMUNICATIONS, INSTITUTE OF ELECTRONICS INFORMATION AND COMM. ENG. TOKYO, JP, vol. E75 - B, no. 9, 1 September 1992 (1992-09-01), pages 894-904, XP000321325 ISSN: 0916-8516 *

Also Published As

Publication number Publication date
WO2001065781A3 (en) 2001-12-13
AU2001235953A1 (en) 2001-09-12
IL134755A0 (en) 2001-04-30
US20030055938A1 (en) 2003-03-20

Similar Documents

Publication Publication Date Title
EP0901301B1 (en) Dynamic rate control scheduler for ATM networks
CN107483363B (en) Layered weighted polling scheduling device and method
US20070050773A1 (en) Weighted fair queuing scheduler
JP4447521B2 (en) Packet scheduler and packet scheduling method
CN101414958B (en) Method and apparatus for scheduling business
US6502062B1 (en) System and method for scheduling data delivery using flow and stretch algorithms
EP2740245B1 (en) A scalable packet scheduling policy for vast number of sessions
JPH11275112A (en) Cell transmission scheduling device in atm network
WO2001065781A2 (en) Method and apparatus for high-speed generation of a priority metric for queues
CN106921586B (en) Data stream shaping method, data scheduling method and device
EP2063580B1 (en) Low complexity scheduler with generalized processor sharing GPS like scheduling performance
US7817640B2 (en) Fair round robin scheduler for network systems
Guillemin et al. Extremal traffic and bounds for the mean delay of multiplexed regulated traffic streams
US7599381B2 (en) Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group
KR100745679B1 (en) Method and apparatus for packet scheduling using adaptation round robin
RU2776658C1 (en) Method for probabilistic priority queue maintenance and a device implementing it
RU2777035C1 (en) Method for probabilistic weighted fair queue maintenance and a device implementing it
Lozhkovskyi et al. Calculation of Wait Probability in the Single-channel System with Self-similar Network Traffic
EP2891293B1 (en) Method and device for scheduling data traffic
Rahbar et al. OCGRR: a new scheduling algorithm for differentiated services networks
Altintas et al. A packet scheduling discipline for supporting real-time applications
US20060265212A1 (en) Method for cell scheduling in a communication network
Wu Link-sharing method for ABR/UBR services in ATM networks
CN115835402A (en) Time-sensitive network flow scheduling method and device based on data frame dynamic priority
RU121978U1 (en) SYSTEM OF COMMUTATION OF MULTIMEDIA TRAFFIC BASED ON DYNAMIC PRIORITIES

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 10203719

Country of ref document: US

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP