This invention refers to the packet communication systems, and in particular to the scheduling criteria of a shared resource, i.e. the criteria used to select the packet to which the resource is to be assigned each time this occurs.
The solution given in the invention has been developed both for radio resource scheduling (e.g.: MAC level scheduling), and for the scheduling of computational and transmissive resources in the network nodes (e.g.: flow scheduling with different service quality on Internet Protocol router (IP). The following description is based especially on the latter application example, and is given purely as an example and does not limit the scope of the invention.
For several years now, the widespread application and rapid evolution of the packet networks have given rise to the problem of integrating the traditional services offered by the old generation packet networks (electronic mail, web surfing, etc.) and the new services previously reserved for circuit switching networks (real time video, telephony, etc.) into the so-called integrated services networks. The integrated services networks must therefore be able to handle traffic flows with different characteristics and to offer each type of flow a suitable service quality, a set of performance indexes negotiated between user and service provider, which must be guaranteed within the terms agreed upon.
One of the key elements in providing the service quality requested is given by the scheduling implemented on the network nodes, i.e. by the criteria with which the packet to be transmitted is selected each time from those present on the node; this criteria must obviously match the following characteristics:
This invention, having the characteristics referred to in the claims that follow, initially consists of a scheduling procedure that can satisfy the aforesaid requirements. Another aspect of the invention is that it also relates to the relative system.
In particular, the solution given in the invention is able to provide different types of service at a low computational cost, and can therefore be applied to computer networks that must guarantee its users quality of service, like the IP networks in intserv or diffserv techniques. The solution given in the invention also applies to the scheduling systems of radio resources such as MAC level scheduling algorithms (W-LAN systems, third-generation mobile-radio services).
In particular, the solution given in the invention guarantees the bit rate of the various flows, the maximum queueing delay and the maximum occupation of the buffers of each flow for synchronous traffic.
In its current preferred form of actuation, the solution given in the invention is capable of providing the following characteristics:
The following description of the invention is given as a non-limiting example, with reference to the annexed drawing, which includes a single block diagram FIGURE that illustrates the operating criteria of a system working according to the invention.
A scheduling system as given in the invention is able to multiplex a single transmission channel into multiple transmission flows.
The system offers two different types of service: a rate-guaranteed service, suitable for transmission flows (henceforth, h synchronous flows with h=1, 2, . . . , NS) that require a guaranteed minimum service rate, and a best-effort service, suitable for transmission flows (henceforth, i asynchronous flows, with i=1, 2, . . . , NA) that do not require any guarantee on the service rate. The system provides the latter, however, with a balanced sharing of the transmission capacity not used by the synchronous flows.
The traffic from each transmission flow input on the node is inserted in its queue (synchronous or asynchronous queues will be discussed later) from which it will be taken to be transmitted. The server 10 visits the queues in a fixed cyclic order (ideally illustrated in the FIGURE of the drawings with trajectory T and arrow A), granting each queue a service time established according to precise timing constraints at each visit.
System operation as given in the invention includes initialisation followed by the cyclic queue visit procedures. These procedures will be discussed later.
Initialisation
First of all, it is necessary to give the system the information relating to the working conditions: how many synchronous flows there are (in general: NA), what the transmission rate requested by each of these flows is, how many asynchronous flows there are, the expected rotation time (TTRT), i.e. how long a complete cycle during which the server visits all the queues once is to last.
On the basis of this information, the system parameters can be defined:
The system clock is also started; supposing that the reading of the current_time variable gives the current time with the desired precision, the queue scanning will start.
Visit to a Generic Synchronous Queue h, with h=1 . . . NS
A synchronous queue can be served for a period of time equal to its maximum synchronous capacity Hh, determined during the initialisation stage. If the queue being served is empty, the server will move on to visit the next queue, even if the Hh time has not passed.
Visit to a Generic Asynchronous Queue i, with i=1 . . . NA
An asynchronous code can be served only if the server's visit occurs before the expected instant. To calculate whether the server's visit is in advance, subtract the time that has passed between the previous visit and the accumulated delay lateness(i) from the expected rotation time TTRT. If this difference is positive, it gives the period of time for which the asynchronous queue i has the right to be served, and in this case the lateness variable (i) is reset. If the difference is negative, the server is late, and therefore the queue i cannot be served; in this case, the delay is stored in the lateness variable (i). The same applies to the asynchronous queues; if the queue being served is empty, the server will move on to visit the next one even if the previously calculated service time has not yet passed completely.
The pseudocode illustrated below analytically describes the behaviour of a system as given in the invention which proposes the scheduling of NA asynchronous flows and NS synchronous flows simultaneously (NA and NS must be non-negative integers). It should be supposed that each synchronous flow h, h=1 . . . NS requires a service rate equal to fh times the capacity of the output channel (0≦fh≦1), and that the sum of the service rates requested by the synchronous flows does not exceed the capacity of the channel itself
Initialisation
Visit to a Generic Synchronous Queue h, with h=1 . . . NS:
Visit to a Generic Asynchronous Queue i, with i=1 . . . NA:
The ability to guarantee that the synchronous flows receive a minimum service rate that is not less than that requested depends on whether the synchronous capacities Hh, h=1 . . . NS have been selected correctly. In the system given in the invention, the Hh, h=1 . . . NS are selected in proportion to the value of the expected rotation time TTRT:
Hh=TTRT·Ch
The values of the proportionality constant Ch can be selected according to one of the following two schemes:
The applicability of the global scheme is naturally linked to the presence of at least one asynchronous flow.
If the Hh are calculated following one of the afore-mentioned schemes, each synchronous flow is served at a rate that is no less than rh times the capacity of the channel, with rh given by the following expression:
and it can be guaranteed that, given any interval of time [t1, t2) in which the generic synchronous queue h is never empty, the service time Wh(t1,t2) received by the h queue in [t1, t2), the following inequality will occur:
0<rh·(t2−t1)−Wh(t1, t2)≦Λh<∞, ∀t2≧t1, h=1 . . . NS (1)
with:
Λh=Ch·TTRT·(2−rh)>min(2Hh, TTRT)
Relation (1) above establishes that the service provided by the system given in the invention to a synchronous flow h does not differ by more than Λh from the service that the same flow would experience if it were the only owner of a private transmission channel with a capacity equal to rh times that of the channel handled by the scheduler as given in the invention. Λh therefore represents the maximum service delay with respect to an ideal situation. Since Λh is proportional to TTRT, TTRT can be selected to limit the maximum service delay.
The global scheme guarantees a better use of the transmission capacity of the channel with respect to the local scheme, in that under the same operating conditions it allocates a lower capacity to the synchronous flows, leaving a larger section of the band free for asynchronous flow transmissions.
On the other hand, the use of a global scheme envisages that all the Hh parameters are recalculated each time the number of flows (synchronous or asynchronous) in the system changes; the use of a local scheme, however, means that the Hh can be established independently from the number of flows present in the system.
The guarantee on the minimum service rate makes it possible to provide guarantees on the maximum buffer occupation (backlog) and on the maximum queuing delay for synchronous traffic if appropriate mechanisms for conditioning input traffic are used.
Assuming a composite leaky bucket is used as a traffic conditioning mechanism, consisting of n≧1 leaky bucket in cascade, and granting that each leaky bucket is characterised by a pair of parameters (bj,tj), j=1 . . . n, where bj is the dimension of the leaky bucket (expressed in units of time), and 1/tj is the filling rate of the leaky bucket, it is possible to define the following quantities:
where bn+1=0 and tn+1=0 are introduced for the sake of easy notation. We can suppose (without losing general aspects) that the following inequalities have occurred: tj>tj+1, bj>bj+1, Tj>Tj+1 for j=1 . . . n−1
Supposing that the generic synchronous flow k has guaranteed a rate equal to rk, if the traffic sent by the synchronous flow k is limited by a composite leaky bucket with n stages described by the parameters (bj,tj), j=1 . . . n, the following guarantees can be formulated.
If rk≧1/t1, then both the backlog and the queuing delay have an upper limit; in addition, if the single leaky bucket is marked with index i, we have: 1/ti≦rk<1/ti+1, i=1 . . . n:
where h is the leaky bucket that checks the inequality Th≦Λk/rk<Th−1, h=1 . . . i1.
T0=∞ has been used in the above description for the sake of easy notation.
Obviously the details of how this is done can be altered with respect to what has been described, without however, leaving the context of this invention.
Number | Date | Country | Kind |
---|---|---|---|
TO2000A1000 | Oct 2000 | IT | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IT01/00536 | 10/19/2001 | WO | 00 | 5/9/2003 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO02/35777 | 5/2/2002 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5291491 | Hutchison et al. | Mar 1994 | A |
RE35001 | Grow | Jul 1995 | E |
5602852 | Shiobara | Feb 1997 | A |
6240094 | Schneider | May 2001 | B1 |
6377548 | Chuah | Apr 2002 | B1 |
6917586 | Mauger et al. | Jul 2005 | B1 |
Number | Date | Country | |
---|---|---|---|
20040014470 A1 | Jan 2004 | US |