throbber
1048
`
`IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 13, NO. 6, AUGUST 1995
`
`Quality of Service Guarantees 1n
`Virtual Circuit Switched Networks
`
`R. L. Cruz, Senior Member, IEEE
`
`(Invited Paper)
`
`Abstract-We review some recent results regarding the prob(cid:173)
`lem of providing deterministic quality of service guarantees in
`slot-based virtual circuit switched networks. The concept of a
`service curve is used to partially characterize the service that
`virtual circuit connections receive. We find that service curves
`provide a convenient framework for managing the allocation
`of performance guarantees. In particular, bounds on end-to-end
`performance measures can be simply obtained in terms of service
`curves and burstiness constraints on arriving traffic. Service
`curves can be allocated to the connections, and we consider
`scheduling algorithms that can support the allocated service
`curves. Such an approach provides the required degree of iso(cid:173)
`lation between the connections in order to support performance
`guarantees, without precluding statistical multiplexing. Finally,
`we examine the problem of enforcing burstiness constraints in
`slot-based networks.
`
`l. INTRODUCTION
`
`F UTURE high-speed networks are expected to carry a
`
`variety of traffic types with diverse quality of service
`requirements. A large number of papers describing method(cid:173)
`ologies to bound quality of service in such integrated services
`networks have recently appeared; the references in this paper
`constitute a noncomprehensive list. In particular, rate based
`flow control (for example, leaky bucket rate control) induces
`deterministic "burstiness constraints" on traffic streams, and
`"exact" analyses of queueing networks with respect to these
`constraints are possible.
`Analysis of queueing networks with burstiness constraints
`were studied at length in [4] and [5]. In particular, achiev(cid:173)
`able bounds on delay and buffering requirements at a single
`network element were presented in [4]. In a virtual cir(cid:173)
`cuit switched network, packets from a connection are routed
`through a fixed sequence of network elements, and [5] dis(cid:173)
`cusses bounds on end-to-end delay that are obtained by adding
`up the bounds on delay at each network element. Although,
`the bounds at each network element are achievable, the end(cid:173)
`to-end bounds on delay are not. Roughly speaking, if a packet
`suffers the worst possible delay at one network element, the
`packet will not suffer the worst possible delay at the next hop.
`Parekh and Gallager [14], [15J present results which make
`use of this idea; more recent work has extended these results
`in other directions [6], [8], [16]. The aim of this paper is to
`
`Manuscript receiveded September 30, 1994; revised April I, 1995. This
`work was supported by the National Science Foundation under Grants NSF
`NCR 89-04029, NSF NCR 91-58618, and NSF NCR 94-15684.
`The author is with the Department of Electrical and Computer Engineering,
`University of California at San Diego, La Jolla, CA 92093 USA.
`IEEE Log Number 9412654.
`
`review some of these results in a reasonably self-contained
`and unified way,
`We will make heavy use of the concept of a service curve,
`which has its roots in the work of Parekh and Gallager [14],
`[15]. As we will see, a service curve partially characterizes
`the service received by a connection at a network element.
`Many scheduling policies studied in the literature induce a
`service curve for each connection under assumptions regarding
`the arriving traffic. In this paper, however, we will take
`the viewpoint that a service curve is allocated rather than
`being induced by a certain scheduling policy. For example,
`after service curves have been allocated, one can synthesize
`scheduling policies which support the allocated service curves,
`independent of any assumptions regarding the arriving traffic,
`This allows the required degree of isolation between connec(cid:173)
`tions in order to support performance guarantees and does
`not preclude statistical multiplexing. Service curves provide
`a particularly convenient structure for the management of
`deterministic quality of service guarantees, since end-to-end
`performance measures can easily be obtained in terms of them.
`We now outline the remainder of this paper. In the next
`section, we briefly review the concept of a burstiness con(cid:173)
`straint. Section III defines the concept of a service curve for a
`single network element and presents some results concerning
`traffic through the network element. Section IV considers a
`tandem queue model that describes a connection in a virtual
`circuit switched network. After defining the concept of a
`network service curve, we present some results which yield
`bounds on end-to-end performance measures in terms of
`burstiness constraints and network service curves. In Section
`V, we consider the problem of scheduling in order to support
`service curves. We examine how burstiness constraints can be
`enforced in Section VI. In particular, we define a "regulator
`element" which is very similar to leaky bucket rate controllers
`that have been defined in the literature, but is slightly more
`general. The results in Section VI are analogous to results in
`[4J, [5], but with more direct proofs. Finally, we conclude in
`Section VII with some closing remarks.
`
`II. BURSTINESS CONSTRAINTS
`Throughout this paper, we consider a discrete time model,
`where the time slots are numbered 0, 1, 2,, · ·. The arrival of
`packets on a communication link is described by a function
`R. Specifically, R[n] denotes the number of packets flowing
`on the link during slot n, which is a nonnegative integer. We
`
`0733-8716/95$04.00 © 1995 IEEE
`
`

`

`CRUZ: QUALITY OF SERVICE GUARANTEES
`
`1049
`
`maximum burst length
`
`Fig. I. An anival curve.
`
`also define R[s + 1, t] to be the number of packets flowing
`on the link during the interval [s + 1, t], i.e. R[s + 1, t] =
`~~=s+l R[n]. Ifs 2: t, define R[s + 1, t] = 0.
`Definition-Arrival Constraints: Given a nondecreasing
`function b(·), we say that R is b-smooth if R[s+l, t] S b(t-s)
`for all s and t satisfying s S t. The inequality defining
`smoothness is termed a "burstiness constraint," and b(.) is
`called an arrival curve . In the special case where b is affine,
`say b(x) = u + px, we say that R is (u,p)-smooth.
`Note that since R is integer valued, if R is b-smooth, then
`it is also Lb J-smooth, where L x J is the largest integer less than
`or equal to x. Fig. 1 illustrates an example of an arrival curve,
`within the context of commonly discussed concepts of peak
`bandwidth, average bandwidth, and maximum burst length.
`For any given value of p 2: 0, define the virtual backlog
`process Wµ(R)[t] according to
`Wµ(R)[t] = rnax{R[s + 1, t] - p(t - s)}
`s:s"5:_t
`for all t. It is clear that Wµ(R)[t] Su for all t if and only if
`R is (u, p)-smooth. It is easy to verify that Wµ(R)[t] satisfies
`the recursion
`Wµ(R)[t] = [Wµ(R)[t - l] + R[t] - p]+
`where [:r]+denotes rnax{x,0}. Note that this recursion is the
`same as that of the amount of work remaining in a work
`conserving queueing system whose arrivals are described by
`R, and has a service capacity of p units of work per slot. This
`is why we call Wµ(R)[t] the virtual backlog process. Note
`that since p is not necessarily an integer, Wµ(R)[t] is not
`necessarily an integer. The magnitude of Wµ(R)[t] measures
`how "bursty" the arrival stream R is at time t, in some sense.
`
`(I)
`
`(2)
`
`III. ANALYSIS OF A SINGLE NETWORK ELEMENT
`
`Consider a network element fed by an arrival stream de(cid:173)
`scribed by Rin. The network element may be fed by other
`packet streams as well, but throughout this section we focus
`our attention on packets from this arrival stream. The departure
`of these packets from the network element is described by
`Rout. We assume that the network element is empty at the
`end of slot zero. Therefore the number of packets from the
`stream stored in the network element at the end of slot t is
`given by B[t] = Rin[l, t] - R 0 ut[l, t] 2: 0. The virtual delay
`relative to slot t, d[t], is defined by
`d[t] = min{ L1 : L1 2: 0 and Rin[l, t] S R 0 ut[L t + L'.l]}. (3)
`
`Fig. 2. Delay and backlog in a network element.
`
`See Fig. 2 for a graphical interpretation of these definitions.
`For simplicity of exposition, we will assume that at most one
`packet departs the network element in each slot, i.e., Rout[t] S
`1 for all t. This insures that Rin[l, t] = Rout[l, t + d[t]] for
`all t. Note that if packets depart the network element in the
`same order in which they arrive (FIFO), then d[t] is an upper
`bound to the delay through the network element suffered by a
`packet that arrives during slot t (d[t] will be equal to the delay
`suffered by the packet if exactly one packet arrives during slot
`t ).
`Lemma 1 ( Lower Bound on Burstiness of Output): For all t
`and 15 2: 0 there holds
`
`Proof Fix t and 15 2: 0. By definition of Wp(Rin)[t],
`there exists s* S t such that Wµ(Rin)[t] = Rin[s* + 1, t] -
`p(t- s*). Define 'U* = max{ 'U: 'US s* and B['U] = 0}. With
`these definitions we have
`Wp(Rin)[t] - pd[t]
`= Ri 11 [s* + 1, t] - p(t - s* + d[t])
`= Rin['U* + 1, t] - Rin['U* + 1, s*] - 15(t - s* + d[t])
`= R 0 ut['U* + 1, t + d[t]] - Rin[u* + 1, s*]
`- 15(t - s* + d[t])
`S Rout[u* + 1, t + d[t]] - R 0 ut['U* + 1, s*]
`- µ(t - s* + d[t])
`= Rout[s* + 1, t + d[t]] - p(t - s* + d[t])
`s Wµ(Rout)[t + d[t]].
`We present an upper bound on Wµ(Rout)[t + d[t]] in the
`next lemma. We first define the concept of a service curve.
`Definition-Service Constraints: Given a nondecreasing
`nonnegative function S(-), we say that the network element
`guarantees a service curve of S if for any t, there exists
`s S t such that B[s] = 0 and R 0 ut[s + 1, t] 2: S(t - s). If
`S(x) = [-usvc + px]+, where usvc 2: 0 and p 2: 0, then we
`say that the network element guarantees a service of ( usvc, p).
`Note that if a service curve of Sis guaranteed, then a service
`curve of I s7 is guaranteed, where Ix l is the smallest integer
`greater than or equal to .T.
`Lemma 2 ( Upper Bound on Burstiness of Output): Suppose
`a network element guarantees a service of ( usvc, p). Then for
`all t and p S p there holds
`
`

`

`1050
`
`IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 13, NO. 6, AUGUST 1995
`
`Proof- Fix t and p :S p, and any s :S t + d[t]. Since
`the network element guarantees a service of ( usvc, p), there
`exists u* :S s such that B[u*] = 0 and R 0 ut[u* + 1, s] 2:
`-usvc + p(s - u*) 2 -usvc + p(s - u*). Thus
`
`R 011t[s + 1, t + d[t]] - p(t + d[t] - s)
`= Rout[u* + 1, t + d[t]] - R0 ut[u* + 1, s]
`- p(t + d[t] - s)
`= Rin[u* + 1, t] - R011t[u* + 1, s] - p(t + d[t] - s)
`:S Wp(Rin)[t] - R0 ut[u* + 1, s] - p(u* + d[t] - s)
`:S Wp(Rin)[t] + <Tsvc - pd[t]
`
`where the first inequality follows from the definition of
`Wp(Rin)[t] and the second inequality follows from
`the
`definition of u*. Since s is arbitrary, this completes the proof.
`Since Wp(Raut)[t + d[t]] 2'. 0 for all t, if the network
`element guarantees a service of ( usvc, p), Lemma 2 implies
`that d[t] :S (Wp(Rin)[t] + usvc)/ p. For example, if in addition
`Rin is (u,p)-smooth, then d[t] :S (u+usvc)/p.
`The next result we present generalizes this bound on delay.
`Theorem ]-Upper Bound on Delay at a Network Element:
`Consider a network element that guarantees a service curve of
`5(-) and suppose that the input traffic to the element, Rin, is
`b-smooth. Then, for all t the delay d[t] is upper bounded by
`
`d[t] :S max min{L1: L1 > 0 and b(k) < 5(k + L1)}.
`k:k?:1
`-
`-
`
`(6)
`
`Proof' If d[t] = 0 the result is trivial, so assume d[t] > 0.
`Since the network element guarantees a service curve of
`5(-), there exists s :S t + d[t] - 1 such that B[s] = 0 and
`Rouds +Lt+ d[t] - 1] 2 5(t + d[t] - 1 - s), Thus
`Rin[l, t] > Rout[l, t + d[t] - 1]
`2 R 011t[l, s] + 5(t + d[t] - 1 - s)
`= Rin[l, s] + 5(t + d[t] - 1 - s)
`
`where the first inequality follows from the definition of d[t]
`and the second inequality follows from the definition of s.
`Note that this implies that s < t, since 5(-) is nonnegative
`and nondecreasing. Hence R;n[s + 1, t] > 5(t + d[t] - 1 - s)
`and thus
`
`b(t - s) > 5(t + d[t] - 1 - s)
`
`(7)
`
`since Rin is b-smooth. It follows from (7) that
`
`d[t] :S min{L1: L1 2: 0 and b(t - s) :S 5(t + L1 - s)}
`:S max min{L1: L1 > 0 and b(k) < 5(k + L1)}.
`k:k?:1
`-
`-
`
`Note that the upper bound on delay in Theorem 1 has
`the graphical interpretation of being the maximum horizantal
`distance between the arrival curve b( •) and the service curve
`5(·), roughly speaking. This is illustrated in Fig. 3.
`We next present an upper bound on B[t], which is the
`maximum vertical distance between the arrival curve b( •) and
`the service curve S( • ), roughly speaking.
`
`service curve = S(x)
`
`X
`Fig. 3. Bounds on delay and backlog in terms of arrival and service curves.
`See also Theorem 4.
`
`Fig. 4. Tandem queue model.
`
`Theorem 2-Upper Bound on Backlog at a Network Element:
`Consider a network element that guarantees a service curve of
`S(,) and suppose that the input traffic to the element, Rin, is
`b-smooth. Then for all t the backlog B[t] is upper bounded by
`B[t] :S max{b(k) - S(k)}.
`(8)
`k:k?:O
`Proof· Fix t. Since the network element guarantees a
`service curve of S (-), there exists s :S t such that B [ s] = 0
`and Rout[s + 1, t] 2 S(t - s). Hence
`B[t] = Rin[l, t] - Rout[l, t]
`:S Rin[l, t] - R 0 ut[l, s] - S(t - s)
`= Rin[s + 1, t] - S(t - s)
`:S b( t - s) - S ( t - s)
`= max{b(k) - S(k)}.
`
`k:k?:O
`
`IV. TANDEM QUEUES
`We next consider an abstraction of a virtual circuit connec(cid:173)
`tion in a packet switched network. The model we consider
`consists of H network elements in tandem. For example, each
`network element could represent a packet switch along the
`route of a given virtual circuit connection. Let Rh-l describe
`the traffic entering network element h, and suppose the traffic
`departing network element h feeds network element h + 1,
`for all h satisfying 1 :S h < H (see Fig. 4). We also define
`Rin = Ro and Rout = RH throughout this section.
`Define dh [t] to be the virtual delay through the first h
`elements, i.e.
`dh[t] = min{L1: L1 2 0 and Ro[l, t] :S Rh[l, t + L1]}
`(9)
`and define d0 [t] = 0. Finally, let Bh[t] be the backlog at the
`end of slot tat network element h, i.e. Bh[t] = Rh-i[l,t] -
`Rh[l, t].
`Suppose network element h guarantees a service of ( u'rc, p)
`to the given connection for each h. Lemma 2 implies that
`Wp(Rh)[t + dh[t]]
`:S Wp(Rh-1)[t + dh_i[t]] + u,,Vc - p(dh[t] - dh-1[t]).
`(10)
`
`

`

`CRUZ: QUALITY OF SERVICE GUARANTEES
`
`1051
`
`Using transitivity, this implies that
`
`Wp(Rout)[t + dH[t]] ::; Wp(Rin)[t] + L crrc - pdn[t].
`
`H
`
`h=l
`
`Since Wp(RH )[t+dH[t]] 2 0, this implies the following upper
`bound on the end-to-end delay dH[t]
`
`(11)
`
`dH[t] S ~(Wp(Rin)[t] + L (Jhvc).
`
`H
`
`h=l
`
`p
`
`(12)
`
`If in addition the input traffic Rin is ( er, p )-smooth, then it
`follows that the end-to-end delay dH[t] is upper bounded by
`(a+ ~~=1 arc)/p. In the remainder of this section we will
`develop some results which yield a generalization of this upper
`bound.
`First, we define the concept of a network service curve.
`Definition-End-to-End Service Constraints: The network
`is said to guarantee a service curve of Snet ( •) if for all t, there
`exists a slot s S t such that Bi[s] = 0 and
`
`Rout[l, t] - Rin[l, s] 2 Snet(t - s).
`
`(13)
`
`Theorem 3-End-to-End Service: Suppose that each net(cid:173)
`work element h guarantees the given connection a service
`curve of Sh ( ·). Then the network guarantees a service curve
`of Snet(·), where
`
`Snet(x) = rnin{L Sh(xh): Xh 2 0 and L Xh = x }.
`
`H
`
`h=l
`
`H
`
`h=l
`
`(14)
`
`Proof- Fix any t and define ts = t. Define th for h < H
`recursively as follows: Given th there exists th-l S th such
`that Bh[th-1] = 0 and Rh[th-1 + 1, th] 2 Sh(th -
`th-1),
`since network element h guarantees a service curve of Sh ( •).
`Hence, B 1 [to] = 0 and
`
`Rout[l, t] - Rin[l, to]
`= RH[l, tH-1] + RH[tH-1 + 1, tH] - Ro[l, to]
`2 RH[l, tH-il + SH(tH -
`tH-1) - Ro[l, to]
`= RH-1[1, tH-1] + SH(tH -
`tH-1) - Ro[l, to]
`2 RH-dl, tH-2] + SH-1(tH-l -
`tH-2)
`+ SH(tH - tH-1) - Ro[l, to]
`
`h=l
`2 Snet(t - to)-
`
`It is interesting to note that Snet ( •) in Theorem 3 does not
`depend on the ordering of the network elements.
`
`Theorem 4-Upper Bound on End-to-End Delay: Suppose
`that the network guarantees a service curve of Snet ( ·) and
`suppose that the input traffic to the system, Rin, is b-smooth.
`Then the end-to-end delay dH [t] is upper bounded by
`dH[t] S max rnin{L1: L1 2 0 and b(k) S Snet(k + L1)}.
`k:k>l
`-
`(15)
`Proof- The proof is almost identical to the proof of
`Theorem I. If dH[t] = 0 the result is trivial, so assume
`dH [t] > 0. Since the network guarantees a service curve of
`Snet( ·), there exists s S t + dH[t] - 1 such that B1 [s] = 0 and
`Rout[l, t+dH[t]-1]-Rin[l, s] 2 Snet(t+dH[t]-1-s). Thus
`Rin[l, t] > Rout[l, t + dH[t] -
`l]
`2 Rin[l, s] + Snet(t + dH[t] - 1 - s)
`where the first inequality follows from the definition of dH [t]
`and the second inequality follows from the definition of s.
`Note that this implies that s < t and Rin [ s + 1, t] > Snet ( t +
`dH[t] - 1 - s). Hence
`b(t - s) > Snet(t + dH[t] - 1 - s)
`
`(16)
`
`since Rin is b-smooth. It follows from (16) that
`dH[t] S min{L1: L1 2 0 and b(t - s) S SH(t + L1 - s)}
`S max rnin{L1: L1 2 0 and b(k) S Snet(k + L1)}.
`
`k:k~l
`
`Note again that the upper bound on delay in Theorem 4 has
`the graphical interpretation of being the maximum horizontal
`distance between the arrival curve b( ·) and the network service
`curve Snet ( · ), roughly speaking. The last result of this section
`is a burstiness constraint on the output traffic of the network
`Rout, which yields a "departure curve."
`Theorem 5-Departure Curve: Suppose the network guar(cid:173)
`antees a service curve of Snet ( ·) and suppose that the input
`traffic to the system, Rin, is b-smooth. Then, there holds for
`all s S t
`R 0 ut[s + U] S rnax{b(t - s + k) - Snet(k)}.
`
`(17)
`
`k:k~O
`
`Proof- Fix s and t with s S t. Since the network
`guarantees a service curve of Snet(·), there exists u S s such
`that B1[u] = 0 and R 0 ut[l, s]-Rin[l, u] 2 Snet(s -u). Thus,
`R 0 ut[s + 1, t] = Rout[l, t] - Rout[l, s]
`S Rout[l,t] - (nn[l,u] + Snet(s - u))
`(Rin[l, u] + Snet(s - u))
`S Rin[l, t] -
`S b(t - u) - Snet(s - u)
`S max{b(t - s + k) - Snet(k)}.
`
`k:k~O
`
`V. SCHEDULING TO INSURE DELIVERY OF SERVICE CURVES
`
`A network element may in fact provide service to more
`than one virtual circuit connection passing through it. Consider
`such a network element, and suppose there are M connections
`passing through it. For the mth connection, let R~ and R:Ut
`describe the input and output traffic for the network element.
`Defining Bm[t] as the number of packets from connection m
`stored in the network element at the end of slot t, we thus have
`
`

`

`1052
`
`IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 13, NO. 6, AUGUST 1995
`
`Bm[t] = Rfr:[1, t] - R:::;-,t[l, t]. We suppose that the network
`element is capable of serving only one packet per slot, i.e.
`
`M L R~t[t] S 1
`
`Tn=l
`
`(18)
`
`for all t. We shall also assume for simplicity that R[~ [ t] S 1
`for all rn and t.
`We would like to allocate each connection a service curve
`that the network element can guarantee. More specifically,
`let Sm(-) be a given nondecreasing nonnegative function for
`1 S rn S M.
`Theorem 6 below is a recent result [16] (see also [9]) that
`identifies a condition under which it is feasible for the network
`element to simultaneously guarantee each connection m a
`service curve 5m ( ·). By definition, this will be the case if
`for each t and m, there exists um St such that Bm[um] = 0
`and R;;:;-,t[um + 1, t] 2 sm(t - um).
`For notational simplicity we will assume that each 5m is
`integer valued. Define zm(k; t) for nonnegative integers k
`and t, k 2 t, according to
`zm(k; t) = min{Rfr:[1, u] + sm(k - u) :
`0 Su St and Bm[u] = O}.
`
`(19)
`
`By considering the v. that achieves the minimum in the
`definition of Z(t; t), it is easily seen that the following
`inequality is necessary and sufficient in order for the network
`element to guarantee a service curve of sm to connection rn
`
`(20)
`
`Consider the following scheduling policy, which we will
`see can guarantee each connection rn a service curve of 5m.
`Each packet arriving from connection rn at time t is assigned
`a deadline Dm[t] according to
`Dm[t] = min{ L1 : L1 2 t and zm(L1; t - 1) 2 R::[1, t]}.
`(21)
`
`The packets are served earliest deadline first (EDF) in a work
`conserving manner. More precisely, in each slot t, there are
`I:~;=J (Bm[t - 1] + Rfr:[t]) packets available for departure in
`slot t, and a packet among these with the smallest deadline is
`selected for departure during slot t.
`Note that Dm[t] can be computed by the network element
`at time t, and that for each rn, Dm[t] is nondecreasing in t.
`Roughly speaking, we would like to assign a deadline Dm[t] to
`a packet that arrives at time t such that zm(Dm[t]; Dm[t]) =
`Rfr:[1, t], since
`if the packet meets
`its deadline
`then
`R~[l, t] S R:::;-,t[l, Dm[tl] and hence R~:t[l, Dm[tl] 2
`zm(Dm[t]; Dm[t]) as
`in
`(20). However,
`the value of
`zm(L1; L1) for L1 >tis not computable at time t. Instead, we
`"estimate" zm(L1; L1) with zm(L1; t - 1) in (21); note that
`zm(L1; t - 1) 2 zm(L1; L1).
`Theorfm 6-Feasible Allocations of Service Curves: If
`L~=J sm(x) S x for all nonnegative integers x, then the
`EDF policy described above guarantees each connection rn
`a service curve of 5m.
`
`Proof' (Sketch). Let Nm[l, t] be the number of packets
`from connection rn which are assigned deadlines within the
`interval [1, t]. It follows easily that
`
`Nm[l, t] S zm(t; t).
`
`(22)
`
`Moreover, it can be shown that equality holds in (22) if no
`deadlines are missed.
`then zm(t; t)
`Thus,
`if no deadlines are missed
`Nm[l, t] S R:::;-,t[l, t] for all t and thus (20) is satisfied, so
`that a service curve of 5m is guaranteed to each connection
`rn. Hence, it suffices to show that no deadlines are missed.
`We argue by contradiction. Suppose a deadline is missed,
`and let D* be the first deadline missed, i.e.
`
`Let s0 be the last slot no later than D* that the network element
`was idle, i.e., so = max{ s : s S D* and L~=J Bm[s] = O}.
`Let SJ be the last slot in [so+ 1, D*] that a packet was served
`which had a deadline greater than D*, or define SJ = so if
`there is no such packet. Let T be the total number of packets
`that have deadlines in [sJ + 1, D*] that depart the network
`element after slot SJ. The total number of packets departing
`the network element in the interval [sJ + 1, D*] is equal to
`D* - s 1 since the scheduling policy is work conserving. Each
`of these packets is counted in T, as well as the packet that
`misses its deadline of D*. Thus
`
`D* - SJ+ 1 ST.
`
`(23)
`
`We now proceed to upper bound T. Let A be the set of
`connections which contain packets which are counted in T.
`Fix a connection rn belonging to A. Each of the packets
`from connection rn that departs the network element during
`the interval [L si] must have a deadline which is less than
`or equal to D*. This is because if the deadline of such
`a packet were greater than D*, that would imply that all
`packets from connection rn that depart after slot SJ would also
`have deadlines greater than D*, contradicting the fact that rn
`belongs to A. Furthermore, if a packet from connection m has
`a deadline before slot SJ+ 1, it must depart the network element
`before slot SJ + 1, since D* is the first deadline missed and
`SJ < D*. Thus, it follows that the number of packets counted
`in T from connection rn is equal to Nm[l, D*] - R;;:;-,t [1, s,].
`Next, we claim that Bm[sJ] = 0 for all m E A. To see
`this, suppose Bm[sJ] > 0 for some rn E A . Recall that a
`packet with a deadline greater than D* is served in slot SJ.
`Thus, by definition of the EDF scheduling policy, all packets
`from connection m backlogged at the end of slot SJ must
`have deadlines greater than D*. However, this implies that all
`packets from connection m that depart the network element
`after slot s 1 have deadlines greater than D*, which contradicts
`our assumption that rn E A.
`
`

`

`CRUZ: QUALITY OF SERVICE GUARANTEES
`
`1053
`
`( ) 'small latency,
`SI x small throughput'
`
`\
`
`\ s (x) 'large latency,
`
`2
`
`large throughput'
`
`X
`Fig. 5. Service curve examples for integrated service of diverse traffic
`types. It is possible to simultaneously guarantee both service curves since
`Si(1·) + 5 2 (J:) ::; .r.
`
`It follows from the above that
`
`T = L Nm[l, D*] - R~~t[l, si]
`
`m:mEA
`
`rn:rnEA
`
`m:rnEA
`
`rn:rnEA
`M
`
`:S L srn(D* - si),
`
`m=l
`
`where the first inequality follows from (22). Combining this
`with (23), we obtain a contradiction to the hypothesis of the
`theorem.
`As an example, Fig. 5 illustrates two service curves that
`can simultaneously be delivered. In this example, connection
`1 is only guaranteed a small throughput (since the asymptotic
`slope of S 1 is small) but receives high-priority service (since
`the slope of S 1 is unity near the origin), in some sense. In
`contrast, connection 2 will potentially suffer a large latency
`(since the slope of S2 is zero near the origin) but is guaranteed
`a large throughput (since the asymptotic slope of S2 is near
`unity).
`Note that a connection might be allocated a service curve
`which is bounded above by a constant, say F. For example,
`such an allocation would be appropriate for a connection
`created in order to support a file transfer consisting of F
`packets. After the file transfer is completed, the connection
`would be tom down, and after an appropriate delay, the service
`curve could be deallocated. This is an interesting area for
`future work.
`In order to set up a connection, one possible framework for
`allocating the connection a given network service curve along
`a path of network elements is the following. First, the "spare
`capacity" at each network element along the path is identified,
`where Theorem 6 indicates the largest possible service curve
`that the network element can guarantee to the connection.
`Theorem 3 can then be utilized to calculate the largest possible
`network service curve that can be guaranteed to the connection.
`In the framework described in the preceding paragraph,
`a connection is allocated a service curve at each network
`
`element, and Theorem 3 is used to calculate the resulting
`network service curve. For a given network service curve,
`the allocation of service curves at each network element is not
`unique. This raises the "budgeting" question of how to allocate
`the service curves at each network element in order to support
`a desired network service curve. Such an allocation at each
`network element is fixed. Intuitively, the network might be
`able to simultaneously support more network service curves
`with a more flexible approach.
`This motivates another possible framework for scheduling
`to guarantee delivery of a network service curve. Deadlines
`could be assigned at the first network element along the path
`of the connection, using the desired network service curve as
`a reference. Specifically, suppose B 1 [t] is the backlog at the
`end of slot t at the first network element along the path of the
`connection, Rin is the traffic offered by the connection to the
`first network element, and a network service curve of Snet is
`to be delivered to the connection. In analogy with (19), define
`
`Znet(k;t) = min{Rin[l,u] + Snet(k- u):
`0 :Su :St and B 1 [u] = O}.
`
`(24)
`
`If Rout is the traffic departing the last network element along
`the path of the connection, it is clear that network guarantees
`the connection a service curve of Snet if and only if
`
`(25)
`
`A deadline of Dnedt] could be assigned to a packet arriving
`to the first network element during slot t according to
`
`Dnet[t] = min{.1: L1 ~ t and Znet(.d;t-1) ~ Rin[Lt]}.
`(26)
`
`Let Nuet [l, t] be the number of packets from the connection
`that are assigned deadlines in [l, t]. It can be shown that if
`no deadlines are missed, then Nnedl, t] = Znet(t; t) for all
`t. Thus, if each packet departs the network before its dead(cid:173)
`line assigned at the first network element, then Znet(t; t) =
`Nnet[l, t]
`:S R 0 ut[l, t] and the network guarantees the con(cid:173)
`nection a service curve of Snet· An interesting open problem
`is identifying the feasible set of network service curves that
`can simultaneously be delivered to several connections. A
`reasonable scheduling policy to investigate in this regard
`would be a distributed-network-wide EDF policy, whereby
`network deadlines are calculated as in (26), and these deadlines
`are utilized for EDF scheduling at all network elements. We
`leave this for future work.
`We conclude this section with the following example. Sup(cid:173)
`pose that a connection generates traffic that is b-smooth for
`some b, and requires that end-to-end delay be at most dmax
`slots. Then, using Theorem 4, this delay guarantee can be made
`if the connection is allocated the network service curve Snet,
`where Snct is equal to b(-) shifted dmax units to the right, i.e.
`
`Suet(x) = {Cbl(, _ d
`
`X
`
`)
`rnax :
`
`if O :S .T :S dmax - 1
`if X ~ drnax·
`
`

`

`1054
`
`IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 13, NO. 6, AUGUST 1995
`
`VI. REGULATION
`In this section, we examine how to transform an arbitrary
`traffic stream into one that is b-smooth. We first define and
`analyze a network element, called a (a, p) regulator, which
`implements "rate-based flow control." The parameters a and
`p will be assumed throughout to satisfy a 2: 1 and O < p s 1.
`We then examine the simultaneous use of several of these
`regulator elements and will see that a more general regulation
`mechanism results.
`Let R;n describe the arrivals to the ( a, p) regulator. For
`simplicity of exposition, we will assume that at most one
`packet arrives in each slot, i.e. R;n[t] s 1 for each t.
`The departure of packets from the regulating element is
`described by Rout• We assume that there are no arrivals before
`slot 1 and that the regulator is empty at the end of slot
`zero. Therefore the number of packets stored in the ( a, p)
`regulator at the end of slot tis given by B[t] = R;n[l, t] -
`Rout [l, t] 2: 0. The function of the ( a, p) regulator is to buffer
`packets, if necessary, so that Rout is (a,p)-smooth, i.e. so
`that Wp(Rout)[t] S a for all t. Since Wp(Rout)[t] decreases
`during intervals where no packets depart, the ( a, p) regulator
`can insure that Wp(Rout)[t] S a by buffering packets long
`enough.
`Specifically, the operation of the ( a, p) regulator is defined
`by specifying Rout recursively as follows
`
`We must have either R 0 ut[t] = 0 or R 0 ut[t] = 1. In the
`former case, (27) implies that Wp(Rout)[t -1] > a - (1- p),
`and hence from (2) it follows that Wp(Rmn)[t] > a - 1. In
`l] = B[t] + R 0 ut[t] - Rin[t] 2:
`the latter case we have B[t -
`B[t] + Rout[t] - 1 = B[t] > 0. Thus, the hypothesis of (b)
`holds, so Wp(R0 ut)[t] > a - p 2: a - 1.
`We can now easily prove Lemma 4.
`Lemma 4: The (a, p) regulator guarantees a service of
`(0,p).
`Proof' Fix any t. By definition of Wp(Rout)[t], there
`exists s* St such that Wp(Rout)[t] = Rout[B* + 1, t] - p(t -
`8*) 2: 0 and Wp(Rout)[B*] = 0. Using Lemma 3 (a), this
`implies B[s*] = 0.
`Regulation inside the network may be desirable in order to
`reduce buffer requirements inside the network [5], [10], [21].
`Lemma 4 can then be used in conjunction with the results
`of Section IV to analyze the resulting end-to-end impact on
`latency.
`Next, note that Lemmas 1, 2, and 4 immediately imply the
`following.
`Corollary 1: For the ( a, p) regulator there holds
`Wp(Rout)[t + d[t]] = Wp(Rin)[t] - pd[t].
`Lemma 5 (Regulator Delay) For the (a, p) regulator there
`holds
`
`(28)
`
`Rout[t] =
`
`{
`
`l, if B[t - 1] + R;n[t] > 0
`and Wp(R 0 ut)[t - l] Sa - (1 - p)
`0, otherwise.
`
`(27)
`Note that Wp(Rout)[t] can be computed recursively using
`(2). In words, (27) says that a packet will depart from
`the (a, p) regulator at time t as long as there are packets
`available (this includes packets arriving during slot t) and
`l] Sa - (1 - p). Using (2), this implies that
`Wp(Rout)[t -
`Wp(Rout)[t] S a whenever a packet departs from the (a, p)
`regulator at time t. Since Wp(Raut) is nonincreasing during
`interdeparture intervals, this implies that Wp(Rout)[t] s a for
`all t, as desired.
`Note that p corresponds to the token arrival rate in a leaky
`bucket regulator. The (a, p) regulator is slightly more general
`than many common definitions of a leaky bucket regulator.
`In many defin

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket