text: (cid:12) (cid:12) 12 (cid:12) (cid:12) (cid:12) (cid:12) (cid:34) (cid:35) − (cid:88) To prove (55), note that (50) implies that ezϕn(t) 1 is bounded acboonvveerbgyenacfeu(cid:90)tnhcetoio(cid:16)rnemwiitmh palﬁiensitte(cid:17)hainttegral. T(cid:90)hus,(cid:0)Lebesgue(cid:1)’s dominated E [exp (rτ )] = E(cid:88) ∞ (r(cid:104)τs)(cid:105)k s k! ∞ − ∞ − ∞ k=0 nl→im∞ 0 ezϕn(t) 1 λ(dt) = 0 ezt 1 λ(dt) = rkk(cid:88)! E τsk (cid:90) (58) and so (55) holds. k=0 ∞ ∞ (cid:90) (cid:90) (cid:90) rk Finally, (53) must be proved. First, it will be shown that = 1 + s (cid:0) tk(cid:1)λ(dt) (59) k! ∞ k=∞1 0 t − l→im∞ ϕn(t)N(s, dt) = tN(s, dt), a.s. (56) = 1 + s ert 1 λ(dt) (60) n 0 0 ∞ 0 < Then, dominated convergence will be applied. Assume that γ − is ﬁxed. The difference of the right and left of n 1 The inequality follows since r < r , while the ﬁrst equality is (56) (cid:90)may be bounded as max ∈ just the deﬁnition of the exponential function. Note that 0 < r ∈ dom(β) implies that 0 dom(β). Thus, β is analytic at 0, and (cid:90) ∞ (cid:90) (cid:90) ≤ − ≤ the argument above implies that the integrals on the right of (59) 0 (t ϕ (t))N(s, dt) (57) n are ﬁnite. Therefore, (60) follows from non-negativity and Fubini’s 0 γn−1 n ∞ − theorem. Furthermore, provided that (59) holds, (58) will hold by tN(s, dt) + γ N(s, dt) + (t n)N(s, dt). n Fubini’s theorem. 0 γn−1 n Now, the only remaining equality, (59), will be shown. Recall the (cid:90) (cid:90) To bound the ﬁrst(cid:88)term on the right of (57), note that deﬁnition of τsn f↑rom (25), and recall that in this case, b = 0. By construction τn τ almost surely. Using Lebesgue’s dominated ∞ s s γ1 γi ∞ co(cid:104)nver(cid:105)gence theore(cid:104)m and(cid:105)then Theor(cid:90)em 2.3.8 of [20], (cid:90)the following tN(s, dt) = tN(s, dt) < , almost surely. ≥ equalities hold for k 1: 0 i=1 γi+1 ∞ ∞ Thus, the the(cid:90)ﬁrst term on the right of ((cid:90)57) may be expressed as the E τk = lim E (τn)k = s lim tkλ(dt) = s tkλ(dt). (cid:88) s →∞ s →∞ tail sum: n n (cid:15)n 0 ∞ Thus, (59) has been shown, and so (4) holds. γn−1 γi For the matrix case, (cid:104)the follo(cid:105)wing generalization of (4) is helpful: tN(s, dt) = tN(s, dt) 0 i=n−1 γi+1 which converges to 0 almost surely, provided that γn ↓ 0 sufﬁciently E τskezτs = ∂∂zkk esβ(z). (61) quickly. (See [20].) (cid:104) (cid:105) (cid:20) (cid:73) (cid:21) Now consider the second term on the right of (57). For ﬁxed It is proved using Cauchy’s integral formula: γthne−f1o,lltohwe(cid:32)inngexp(cid:90)trotebrambilγitny bmoauyndb:e cho(cid:33)sen sufﬁciently small to give E τkezτs = E k(cid:73)! −eyτs dy s 2πi (y z)k+1 P γ n N(s, dt)(cid:88)≥ 2−n = = k! (cid:73) CE−[eyτs] dy n 2πi (y z)k+1 γn−1 C e−sλ([γn−1,n)) (sλ([γn−1, n)))k < 1 . = 2kπ!i (y e−sβz()yk)+1 dy k! 2n C k≥γn12n = ∂k esβ(z). Thus, by Borel’s lemma, the second term converges to 0 almost ∂zk surely. The only equality requiring justiﬁcation is the second, which follows The last term on the right of (57) is 0 if τ < n, which holds for from Fubini’s theorem provided that Rey < rˆ for all y on the contour. sufﬁciently large n almost surely. Thus (56) sholds. Now the deﬁnition of β and (4) will be extended to matrices. Now it will be shown that Lebesgue’s dominated convergence For full generality, the−b term will be included. C×onsider a Jordan ap(cid:12)plies(cid:18)to (cid:90)(53). Note that the(cid:19)f(cid:12)unction (cid:18)on (cid:90)the right has magni(cid:19)tude decomposition, A = V 1JV, and let Ji be an m m Jordan block giv(cid:12)(cid:12)en by (cid:12)(cid:12) corresponding to(cid:90)eigenvalueρ. For Ji, (5) may be evaluated as (cid:12) (cid:12)   · · · −   ∞ ∞  1 t tm− 1   exp z 0 ϕn(t)N(s, dt) = exp r 0 ϕn(t)N(s, dt) . β(J ) = bJ + ∞ eρt  ... ... (m... 1)! − I λ(dt). i i Thus, it sufﬁces to show that the term on the right has ﬁnite 0 1 t ≤ expectation. If r 0, then the term is bounded above by 1 and 1 so ﬁniteness is imme(cid:18)dia(cid:90)te. So, conside(cid:19)r the case that r > 0. Here the Since ρ ∈ spec(A)(cid:90)⊂ do(cid:16)m(β), it (cid:17)follows that the integral converges magnitude is bounded above by for all entries. Therefore, β(A) may be computed as ∞ (cid:18) ∞(cid:90) (cid:16) − (cid:17) (cid:19) exp r tN(s, dt) = exp(rτs). β(A) = bA + eAt I λ(dt) = 0 0 ∞ The expectation of this term may be evaluated, as long as the V −1 bJ + eJt − I λ(dt) V = V −1β(J)V. following equalities can be proved: 0 ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine##

text: To

text: prove

text: note

text: that

text: implies

text: that

text: ezϕn(t)

text: is

text: bounded

text: dominated

text: E

text: [exp

text: (rτ

text: s

text: k!

text: nl→im∞

text: ezϕn(t)

text: λ(dt)

text: ezt

text: λ(dt)

text: E

text: τsk

text: and

text: so

text: holds.

text: rk

text: Finally,

text: must

text: be

text: proved.

text: First,

text: it

text: will

text: be

text: shown

text: that

text: s

text: k!

text: t

text: l→im∞

text: ϕn(t)N(s,

text: dt)

text: tN(s,

text: dt),

text: a.s.

text: s

text: ert

text: λ(dt)

text: n

text: Then,

text: dominated

text: convergence

text: will

text: be

text: applied.

text: Assume

text: that

text: γ

text: is

text: ﬁxed.

text: The

text: difference

text: of

text: the

text: right

text: and

text: left

text: of

text: n

text: The

text: inequality

text: follows

text: since

text: r

text: r

text: while

text: the

text: ﬁrst

text: equality

text: is

text: be

text: bounded

text: as

text: max

text: just

text: the

text: deﬁnition

text: of

text: the

text: exponential

text: function.

text: Note

text: that

text: r

text: dom(β)

text: implies

text: that

text: dom(β).

text: Thus,

text: β

text: is

text: analytic

text: at

text: and

text: the

text: argument

text: above

text: implies

text: that

text: the

text: integrals

text: on

text: the

text: right

text: of

text: (t

text: ϕ

text: (t))N(s,

text: dt)

text: n

text: are

text: ﬁnite.

text: Therefore,

text: follows

text: from

text: non-negativity

text: and

text: Fubini’s

text: γn−1

text: n

text: theorem.

text: Furthermore,

text: provided

text: that

text: holds,

text: will

text: hold

text: by

text: tN(s,

text: dt)

text: γ

text: N(s,

text: dt)

text: (t

text: n)N(s,

text: dt).

text: n

text: Fubini’s

text: theorem.

text: γn−1

text: n

text: Now,

text: the

text: only

text: remaining

text: equality,

text: will

text: be

text: shown.

text: Recall

text: the

text: To

text: bound

text: the

text: on

text: the

text: right

text: of

text: note

text: that

text: deﬁnition

text: of

text: τsn

text: f↑rom

text: and

text: recall

text: that

text: in

text: this

text: case,

text: b

text: By

text: construction

text: τn

text: τ

text: almost

text: surely.

text: Using

text: Lebesgue’s

text: dominated

text: s

text: s

text: γ1

text: γi

text: of

text: following

text: tN(s,

text: dt)

text: tN(s,

text: dt)

text: almost

text: surely.

text: equalities

text: hold

text: for

text: k

text: Thus,

text: the

text: term

text: on

text: the

text: right

text: of

text: may

text: be

text: expressed

text: as

text: the

text: E

text: τk

text: lim

text: E

text: (τn)k

text: s

text: lim

text: tkλ(dt)

text: s

text: tkλ(dt).

text: s

text: s

text: tail

text: sum:

text: n

text: n

text: Thus,

text: has

text: been

text: shown,

text: and

text: so

text: holds.

text: γn−1

text: γi

text: For

text: the

text: matrix

text: case,

text: generalization

text: of

text: is

text: helpful:

text: tN(s,

text: dt)

text: tN(s,

text: dt)

text: which

text: converges

text: to

text: almost

text: surely,

text: provided

text: that

text: γn

text: sufﬁciently

text: E

text: τskezτs

text: ∂∂zkk

text: esβ(z).

text: quickly.

text: (See

text: Now

text: consider

text: the

text: second

text: term

text: on

text: the

text: right

text: of

text: For

text: ﬁxed

text: It

text: is

text: proved

text: using

text: Cauchy’s

text: integral

text: formula:

text: bmoauyndb:e

text: sufﬁciently

text: small

text: to

text: give

text: E

text: τkezτs

text: E

text: −eyτs

text: dy

text: s

text: (y

text: P

text: γ

text: n

text: N(s,

text: k!

text: CE−[eyτs]

text: dy

text: n

text: (y

text: γn−1

text: C

text: n)))k

text: (y

text: dy

text: k!

text: C

text: ∂k

text: esβ(z).

text: Thus,

text: by

text: Borel’s

text: lemma,

text: the

text: second

text: term

text: converges

text: to

text: almost

text: ∂zk

text: surely.

text: The

text: only

text: equality

text: requiring

text: justiﬁcation

text: is

text: the

text: second,

text: which

text: follows

text: The

text: last

text: term

text: on

text: the

text: right

text: of

text: is

text: if

text: τ

text: n,

text: which

text: holds

text: for

text: from

text: Fubini’s

text: theorem

text: provided

text: that

text: Rey

text: rˆ

text: for

text: all

text: y

text: on

text: the

text: contour.

text: sufﬁciently

text: large

text: n

text: almost

text: surely.

text: Thus

text: sholds.

text: Now

text: the

text: deﬁnition

text: of

text: β

text: and

text: will

text: be

text: extended

text: to

text: matrices.

text: Now

text: it

text: will

text: be

text: shown

text: that

text: Lebesgue’s

text: dominated

text: convergence

text: For

text: full

text: generality,

text: the−b

text: term

text: will

text: be

text: included.

text: C×onsider

text: a

text: Jordan

text: Note

text: that

text: right

text: has

text: decomposition,

text: A

text: V

text: and

text: let

text: Ji

text: be

text: an

text: m

text: m

text: Jordan

text: block

text: by

text: corresponding

text: For

text: Ji,

text: may

text: be

text: evaluated

text: as

text: 1

text: t

text: tm−

text: exp

text: z

text: ϕn(t)N(s,

text: dt)

text: exp

text: r

text: ϕn(t)N(s,

text: dt)

text: β(J

text: bJ

text: eρt

text: (m...

text: I

text: λ(dt).

text: i

text: i

text: Thus,

text: it

text: sufﬁces

text: to

text: show

text: that

text: the

text: term

text: on

text: the

text: right

text: has

text: ﬁnite

text: t

text: expectation.

text: If

text: r

text: then

text: the

text: term

text: is

text: bounded

text: above

text: by

text: and

text: so

text: ﬁniteness

text: is

text: So,

text: the

text: case

text: that

text: r

text: Here

text: the

text: Since

text: ρ

text: it

text: that

text: the

text: integral

text: converges

text: magnitude

text: is

text: bounded

text: above

text: by

text: for

text: all

text: entries.

text: Therefore,

text: β(A)

text: may

text: be

text: computed

text: as

text: exp

text: r

text: tN(s,

text: dt)

text: exp(rτs).

text: β(A)

text: bA

text: eAt

text: I

text: λ(dt)

text: The

text: expectation

text: of

text: this

text: term

text: may

text: be

text: evaluated,

text: as

text: long

text: as

text: the

text: V

text: −1

text: bJ

text: eJt

text: I

text: λ(dt)

text: V

text: V

text: following

text: equalities

text: can

text: be

text: proved:

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##


text: 13 The proof of (4) generalizes in a straightforward manner when z Thus according to Lemma 1, F, G, and H are well deﬁned, as long ⊕ ⊂ is replaced by the Jordan block, J . Again, assume that b = 0. The as spec(A˜T A˜T) dom(β). By construction, the spectrum is given i followi(cid:104)ng equ(cid:105)alities must(cid:20)be sh(cid:18)own(cid:90) (cid:19)(cid:21) by ⊕ E eJiτs = l→im∞ E e(cid:18)xp (cid:90)Ji (cid:16)∞ ϕn(t)N(s(cid:17), dt) (cid:19) (62) spec(A˜T A˜T) == s{p0e}c∪(A˜spT)ec+(Asp)e∪c((As˜pTe)c(A) + spec(A)). n ∞ 0 { ∈ } ≤ − Let r = max Re µ : µ spec(A) . If r 0, then the = nl→im∞ exp s 0 eJiϕn(t) I λ(dt) (63) maximum real part of any eigenvalue of A˜T ⊕ A˜T is 0. If r{>}0∪, = esβ(Ji). (64) then the co⊂rresponding maximum real part must⊕be 2r. S⊂ince 0 spec(2A) dom(β), it follows that spec(A˜T A˜T) dom(β), and so the mappings are deﬁned. E − E If (62)-(64) hold, then then [eAτs] = V 1 [eJτs]V = Furthermor(cid:16)e, (cid:104)the relevant ex(cid:105)p(cid:17)ectations may be vectorized and − V 1esβ(J)V = esβ(A). evaluated using (6): The second equality, (63), holds by formally following the steps (cid:104) (cid:105) in the derivation of (54). The ﬁrst and third equalities will hold as vec E eA˜TτsZeA˜Tτs long as the off-diagonal terms may be bounded in order to apply = E eA˜T⊕A˜Tτs vec(Z) Lebesgue’s dominated convergence theorem. ⊕ r ≥Co0(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)n(cid:18)sni(cid:90)odteer t(h6a2t). Let r = (cid:19)Re ρ an(cid:18)d l(cid:90)et k be a positive (cid:19)in(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)teger. If Th(cid:18)e(cid:90)proof fo=r gveisc(sZim)i+la(cid:19)rs,βn(oA(cid:2)˜tiTng thA(cid:3)˜aT(cid:16)t )vec(Z)(cid:17)+(cid:20)O(cid:21)(s2). ∞ ∞ (cid:18)(cid:90)ϕn(t)N(s, dt)(cid:19) k exp(cid:18) ρ(cid:90) ϕn(t)N((cid:19)s, dt) ≤ vec t eAtMMTeATtdt =(cid:20) I 0 e(cid:21)Aˆt − I 0 vec(MMT), 0 0 I ∞ ∞ 0 k where tN(s, dt) exp r tN(s, dt) , ⊕ A A I 0 0 Aˆ = . while if r < 0, the left is bounded by a constant, as in (51). In either 0 0 case, the upper bound has ﬁnite expectation, according to (61). Thus, the (62) must hold. (cid:12) (cid:12) REFERENCES (cid:12) (cid:12) Now the third equ(cid:12)ality, (64), will(cid:12)be proved. Note that [1] S. M. LaValle and M. B. Egerstedt, “On time: Clocks, chronometers, ≤ and open-loop control,” in IEEE Conference on Decision and Control, ϕn(t)keρϕn(t) tkertK, 2007. ≥ { − } [2] S. G. Carver, E. S. Fortune, and N. J. Cowan, “State-estimation and co- where K max e rγn, 1 . The upper bound has a ﬁnite λ-integral operative control with uncertain time,” in American Control Conference, ≥ for k 1 because of (52). Thus (64) holds, and the proof is complete. 2013. [3] A. Lamperski and N. J. Cowan, “Time-changed linear quadratic regula- tors,” in European Control Conference, 2013. APPENDIX C [4] A. E. D. Veraart and M. Winkel, “Time change,” in Encyclopedia of PROOF(cid:20)O(cid:21)F LEMMA 2 Quantitative Finance. Wiley, 2010, vol. 4, pp. 1812–1816. Deﬁne the matrix Z by (cid:2) (cid:3) [5] P. K. Clark, “A subordinated stochastic process model with ﬁnite variance for speculative prices,” Econometrica, vol. 41, pp. 135–155, I 1973. Z = P I 0 [6] T. Ane´ and H. Geman, “Order ﬂow, transaction clock, and normality of 0 (cid:20) (cid:21) asset returns,” The Journal of Finance, vol. 55, no. 5, pp. 2259–2284, and deﬁne the matrix A˜ by 2000. [7] P. Carr and L. Wu, “Time-changed Le´vy processes and option pricing,” A I Journal of Financial Economics, vol. 71, pp. 113–141, 2004. A˜ = . [8] D. M. Eagleman, “Human time perception and its illusions,” Current 0 0 Opinion in Neurobiology, vol. 18, no. 2, 2008. (cid:20) (cid:82) (cid:21) Note that eA˜t is given by [9] M. Jazayeri and M. N. Shadlen, “Temporal context calibrates interval timing,” Nature Neuroscience, vol. 13, no. 8, 2010. eA˜t = eAt 0t eArdr . [10] Tfo.rEt.eHmupdosroaln,uLnc.eTr.taMinatylonineym, aonvdemMe.nSt .pLlaannndiyn,g“,”OPpLtiomSalCcoommppuetnastiaotnioanl (cid:20) (cid:21) 0 I Biology, vol. 4, no. 7, 2008. [11] H. J. Kushner and L. Tobias, “On the stability of randomly sampled Thus, the matrix-valued mappings may be written as systems,” IEEE Transactions on Automatic Control, vol. 14, no. 4, pp. F(P(cid:16)) G(P) (cid:17) (cid:90) (cid:16) (cid:17) 319–324, 1969. = [12] B. Wittenmark, J. Nilsson, and M. To¨rngren, “Timing problems in real- G(P)T H(P) ∞ time control systems,” in American Control Conference, 1995. b A˜TZ + ZA˜ + eA˜TtZeA˜t − Z λ(dt) [13] J. Skaf and S. Boyd, “Analysis and synthesis of state-feedback con- trollers with timing jitter,” IEEE Transactions on Automatic Control, (cid:18)(cid:20) (cid:21)(cid:19) 0 vol. 54, no. 3, pp. 652–657, 2009. Since eA˜Tt ⊗ eA˜Tt = eA˜T⊕A˜Tt, the equation may be vectorized as [14] J. P. Hespanha, P. Naghshtabrizi, and Y. Xu, “A survey of recent results in networked control systems,” Proceedings of the IEEE, vol. 95, no. 1, F(cid:18)(P) G(P) (cid:90) (cid:16) (cid:17) (cid:19) pp. 138–162, 2007. vec G(P)T H(P) [15] M. Ade`s, P. E. Caines, and R. P. Malhame`, “Stochastic optimal control ∞ under poisson-distributed observations,” IEEE Transactions on Auto- = bA˜T ⊕ A˜T + eA˜T⊕A˜Tt − I λ(dt) vec(Z) matic Control, vol. 45, no. 1, pp. 3–13, 2000. [16] N. M. Freris and P. R. Kumar, “Fundamental limits on synchronization of ⊕ 0 afﬁne clocks in networks,” in IEEE Conference on Decision and Control, = β(A˜T A˜T)vec(Z). 2007.

label: paragraph

text: The

text: proof

text: of

text: generalizes

text: in

text: a

text: straightforward

text: manner

text: when

text: z

text: Thus

text: according

text: to

text: Lemma

text: F,

text: G,

text: and

text: H

text: are

text: well

text: deﬁned,

text: as

text: long

text: is

text: replaced

text: by

text: the

text: Jordan

text: block,

text: J

text: Again,

text: assume

text: that

text: b

text: The

text: as

text: spec(A˜T

text: A˜T)

text: dom(β).

text: By

text: construction,

text: the

text: spectrum

text: is

text: given

text: i

label: equation

text: by

text: E

text: eJiτs

text: l→im∞

text: E

text: dt)

text: spec(A˜T

text: A˜T)

text: spec(A)).

text: n

text: Let

text: r

text: max

text: Re

text: µ

text: µ

text: spec(A)

text: If

text: r

text: then

text: the

text: nl→im∞

text: exp

text: s

text: eJiϕn(t)

text: I

text: λ(dt)

text: maximum

text: real

text: part

text: of

text: any

text: eigenvalue

text: of

text: A˜T

text: A˜T

text: is

text: If

text: esβ(Ji).

text: then

text: the

text: co⊂rresponding

text: maximum

text: real

text: part

text: must⊕be

text: S⊂ince

text: dom(β),

text: it

text: follows

text: that

text: spec(A˜T

text: A˜T)

text: dom(β),

text: and

text: so

text: the

text: mappings

text: are

text: deﬁned.

text: E

text: E

text: If

text: hold,

text: then

text: then

text: [eAτs]

text: V

text: [eJτs]V

text: relevant

text: may

text: be

text: vectorized

text: and

text: V

text: esβ(A).

text: evaluated

text: using

text: The

text: second

text: equality,

text: holds

text: by

text: formally

text: following

text: the

text: steps

text: in

text: the

text: derivation

text: of

text: The

text: ﬁrst

text: and

text: third

text: equalities

text: will

text: hold

text: as

text: vec

text: E

text: eA˜TτsZeA˜Tτs

text: long

text: as

text: the

text: off-diagonal

text: terms

text: may

text: be

text: bounded

text: in

text: order

text: to

text: apply

text: E

text: eA˜T⊕A˜Tτs

text: vec(Z)

text: Lebesgue’s

text: dominated

text: convergence

text: theorem.

text: r

text: Let

text: r

text: ρ

text: k

text: be

text: a

text: positive

text: If

text: fo=r

text: k

text: dt)

text: vec

text: t

text: eAtMMTeATtdt

text: I

text: I

text: vec(MMT),

text: I

text: k

text: where

text: tN(s,

text: dt)

text: exp

text: r

text: tN(s,

text: dt)

text: A

text: A

text: I

text: Aˆ

text: while

text: if

text: r

text: the

text: left

text: is

text: bounded

text: by

text: a

text: constant,

text: as

text: in

text: In

text: either

text: case,

text: the

text: upper

text: bound

text: has

text: ﬁnite

text: expectation,

text: according

text: to

text: Thus,

text: the

text: must

text: hold.

text: REFERENCES

text: Now

text: the

text: third

text: proved.

text: Note

text: that

text: S.

text: M.

text: LaValle

text: and

text: M.

text: B.

text: Egerstedt,

text: “On

text: time:

text: Clocks,

text: chronometers,

text: and

text: open-loop

text: control,”

text: in

text: IEEE

text: Conference

text: on

text: Decision

text: and

text: Control,

text: ϕn(t)keρϕn(t)

text: tkertK,

text: S.

text: G.

text: Carver,

text: E.

text: S.

text: Fortune,

text: and

text: N.

text: J.

text: Cowan,

text: “State-estimation

text: and

text: co-

text: where

text: K

text: max

text: e

text: rγn,

text: The

text: upper

text: bound

text: has

text: a

text: ﬁnite

text: λ-integral

text: operative

text: control

text: with

text: uncertain

text: time,”

text: in

text: American

text: Control

text: Conference,

text: for

text: k

text: because

text: of

text: Thus

text: holds,

text: and

text: the

text: proof

text: is

text: complete.

text: A.

text: Lamperski

text: and

text: N.

text: J.

text: Cowan,

text: “Time-changed

text: linear

text: quadratic

text: regula-

text: tors,”

text: in

text: European

text: Control

text: Conference,

text: APPENDIX

text: C

text: A.

text: E.

text: D.

text: Veraart

text: and

text: M.

text: Winkel,

text: “Time

text: change,”

text: in

text: Encyclopedia

text: of

text: LEMMA

text: Quantitative

text: Finance.

text: Wiley,

text: vol.

text: pp.

text: Deﬁne

text: the

text: matrix

text: Z

text: by

text: P.

text: K.

text: Clark,

text: “A

text: subordinated

text: stochastic

text: process

text: model

text: with

text: ﬁnite

text: variance

text: for

text: speculative

text: prices,”

text: Econometrica,

text: vol.

text: pp.

text: I

text: Z

text: P

text: I

text: T.

text: Ane´

text: and

text: H.

text: Geman,

text: “Order

text: ﬂow,

text: transaction

text: clock,

text: and

text: normality

text: of

text: asset

text: returns,”

text: The

text: Journal

text: of

text: Finance,

text: vol.

text: no.

text: pp.

text: and

text: deﬁne

text: the

text: matrix

text: A˜

text: by

text: P.

text: Carr

text: and

text: L.

text: Wu,

text: “Time-changed

text: Le´vy

text: processes

text: and

text: option

text: pricing,”

text: A

text: I

text: Journal

text: of

text: Financial

text: Economics,

text: vol.

text: pp.

text: A˜

text: D.

text: M.

text: Eagleman,

text: “Human

text: time

text: perception

text: and

text: its

text: illusions,”

text: Current

text: Opinion

text: in

text: Neurobiology,

text: vol.

text: no.

text: Note

text: that

text: eA˜t

text: is

text: given

text: by

text: M.

text: Jazayeri

text: and

text: M.

text: N.

text: Shadlen,

text: “Temporal

text: context

text: calibrates

text: interval

text: timing,”

text: Nature

text: Neuroscience,

text: vol.

text: no.

text: eA˜t

text: eAt

text: eArdr

text: aonvdemMe.nSt

text: I

text: Biology,

text: vol.

text: no.

text: H.

text: J.

text: Kushner

text: and

text: L.

text: Tobias,

text: “On

text: the

text: stability

text: of

text: randomly

text: sampled

text: Thus,

text: the

text: matrix-valued

text: mappings

text: may

text: be

text: written

text: as

text: systems,”

text: IEEE

text: Transactions

text: on

text: Automatic

text: Control,

text: vol.

text: no.

text: pp.

text: G(P)

text: B.

text: Wittenmark,

text: J.

text: Nilsson,

text: and

text: M.

text: To¨rngren,

text: “Timing

text: problems

text: in

text: real-

text: G(P)T

text: H(P)

text: time

text: control

text: systems,”

text: in

text: American

text: Control

text: Conference,

text: b

text: A˜TZ

text: ZA˜

text: eA˜TtZeA˜t

text: Z

text: λ(dt)

text: J.

text: Skaf

text: and

text: S.

text: Boyd,

text: “Analysis

text: and

text: synthesis

text: of

text: state-feedback

text: con-

text: trollers

text: with

text: timing

text: jitter,”

text: IEEE

text: Transactions

text: on

text: Automatic

text: Control,

text: vol.

text: no.

text: pp.

text: Since

text: eA˜Tt

text: eA˜Tt

text: eA˜T⊕A˜Tt,

text: the

text: equation

text: may

text: be

text: vectorized

text: as

text: J.

text: P.

text: Hespanha,

text: P.

text: Naghshtabrizi,

text: and

text: Y.

text: Xu,

text: “A

text: survey

text: of

text: recent

text: results

text: in

text: networked

text: control

text: systems,”

text: Proceedings

text: of

text: the

text: IEEE,

text: vol.

text: no.

text: G(P)

text: pp.

text: vec

text: G(P)T

text: H(P)

text: M.

text: Ade`s,

text: P.

text: E.

text: Caines,

text: and

text: R.

text: P.

text: Malhame`,

text: “Stochastic

text: optimal

text: control

text: under

text: poisson-distributed

text: observations,”

text: IEEE

text: Transactions

text: on

text: Auto-

text: bA˜T

text: A˜T

text: eA˜T⊕A˜Tt

text: I

text: λ(dt)

text: vec(Z)

text: matic

text: Control,

text: vol.

text: no.

text: pp.

text: N.

text: M.

text: Freris

text: and

text: P.

text: R.

text: Kumar,

text: “Fundamental

text: limits

text: on

text: synchronization

text: of

text: afﬁne

text: clocks

text: in

text: networks,”

text: in

text: IEEE

text: Conference

text: on

text: Decision

text: and

text: Control,

text: β(A˜T

text: A˜T)vec(Z).


text: 6 (A) 68 (B) 68 WN(τot)e isthaatLZe´v(yτsp)ro=ces[sτso,nWR(dτ,(cid:90)sw)Tit]hT.LSe´ivnycesyτmsboisl a subordinator, s 4 4 2 2 η (z) = −1bzTz + (eizTx − 1)µ (dt), 0 0 Wτ 2 Rd W,τ (cid:2) (cid:3) -2 TC LQR -2 for some Le´vy measure µ . (See Theorem 1.3.25 and Theorem LQR W,τ -4 Nominal -4 1.3.33, respectively, in [2E0].) Thus, the continuous part of W(τs) is -6 -6 a Brownian motion with W(cid:88)(τ )W(cid:0) (τ )T = bI. (cid:1) 0 1 2 3 4 5 0 1 2 3 4 5 6 s s controller time, plant time, Deﬁne the Z˜ by removing the jumps from Z(τ ). s s (C) (D) Z˜ = Z(τ ) − Z(τ ) − Z(τ−) . 10 TC LQR s s√ 0≤r≤s r r 8 500 LQR It follows that Z˜ = [bs, bW˜ T]T, where W˜ is the Brownian motion 400 s s s 6 from the theorem (cid:90)statement. Thus, (10) can(cid:90)be equivalently written 300 (cid:88) as 4 200 2 100 X = s H(τ −)dZ˜ + τr H dZ (22) s r s s t 00 1 2 3 4 5 0-10 -5 0 5 (cid:80) 0 0≤r≤s τr− controller time, Now (22)−will be evaluate(cid:88)d. If(cid:90)b = 0, then Z˜s = 0 and τs = Fig. 2. (A) Plots of X1(s) under the optimal policy and the LQR policy 0≤r≤s τr τr−. Thus, for 10 realizations of τs. The initial condition is x = [0,1]T. (B) The same τr plots under time variable t. The black line shows the LQR trajectory with no Xs = HsdZt, temporal noise. In the case of no temporal noise, the classical LQR uses high 0≤r≤s τr− gains near t = 0 to produces high-speed trajectories such that Y1 approaches so, in this case, (10) holds. 0 at ﬁnal time. In this case, timing errors lead to wide variation in the ﬁnal ∞ position. The optimal policy reduces the speed of the trajectory near s = 0 ∞Now assume b > 0. The c∞ases wh∞en τs has ﬁnite rate (λ((0, )) < order to minimize the effects of temporal noise. (C) The optimal cost V (s,x) ) and inﬁnite rate (λ((0, )) = ) will be treated separately. and J(s,≤x;U) for the LQR policy are plotted for x = [0,1]T. As expected, Finite Rate. Let r0 = 0 and let r1, r2, . . . be the jump times of V (s,x) J(s,x;U). Furthermore, as the time-horizon increases, the LQR τ . With probability 1, there exist a ﬁnite (random) integer L such policy depends strongly on timing information, and so temporal noise leads to s (cid:90) higher cost as s goes to 0. (D) A histogram of the ﬁnal positions, X1(S), for that L jumps occur over [0, s]. Note that (22) may be expanded as 1000 realizations of τs. The optimal controller leads to X1(S) being tightly dvaisltureibs.utTedheareoruronrds0i,nwthhieleﬁtnhaelLpQosRiticoonntlreoaldlertogivinecsreaawseiddecsopsrteafodrotfhXe 1L(QSR) Xs = (cid:88)τs(cid:34)(cid:90)HtdZt (cid:90) (cid:35) (23) controller. −τ(rL) − L 1 τ(rk+1) τ(rk+1) + H dZ + H dZ t t − t t k=0 τ(rk) τ(rk+1) Thus, pro(cid:18)v(cid:90)ided that (cid:19)(10) (cid:90)holds, claims 1) and 2) imply that X ≤ ≤ · · · ≤ F s Let sn sn sn be a sequence of partitions such that must be an τ,W semimartingale. The claims are proved as follows. 0 1 ∞ Kn lim →∞ sn = a.s. τs ≤ τs (cid:107) (cid:107) ∞ n Kn{| − | − } Var Ftdt Ft dt < almost surely. {limn→∞≤sup }snk⊂+1{ snk : k = 0}, . . . , Kn 1 = 0 a.s. 0 0 r : r sn sn, . . . , sn . i i Kn 0 Kn Th(cid:20)e(cid:90)refore 1) holds. (cid:21) (cid:90) ≤ ≤ (cid:20)(cid:90) (cid:21) The last condition ensures that the jump times are contained in the To prove 2), note that for 0 r s we have partition. ∈ E τs GtdWt Frτ,W = (cid:90) τr GtdWt + E τs GtdWt Frτ,W whNeroeteτdthiast tbheetwdiesecnonjtuimnuposus(i.pea.rst of τ[rk. ,Srink+ce1)b),>τs0=folblosw+s τthda(trtkh)e, 0 0τr τr sequencse τ(sn0), τ(sn1), . . ., satisﬁes thse following properties, almost = G dW . surely: t t 0 ∞ Furtherm(cid:20)o(cid:13)r(cid:90)e, (cid:13)(cid:21) (cid:34)(cid:13)(cid:90) (cid:13) (cid:35) limn→∞ τ(snK{|n) = − | ∃ ≤ } (cid:13) (cid:13) (cid:13) (cid:13) lim →∞ sup τ(sn ) τ(sn) : k s.t. r sn < r = 0 (cid:13) (cid:13) (cid:13) (cid:13) n i+1 i k i k+1 (cid:13) (cid:13) (cid:13) (cid:13) Using a standard argument from stochastic integration (see Theorem E τs GtdWt 2 ≤ E τs GtdWt 2 < ∞, (21) II.21 of [28]), the integral from τ(rk) to τ(rk−+1) may be evaluated 0 0 as (cid:90) where the inequality follows from Jensen’s inequality. Thus 2) − τ(r ) (cid:88) holds. k+1 H dZ s t proNcoewsse(s10H)tmaunsdt Zbet pars(cid:2)oved. For(cid:3)more comp(cid:20)act n(cid:21)otation, deﬁne the τ(rk=) l→im∞ (cid:88) H(τ(sni )) ((cid:16)Z(τ(si+1)) − Z(τ(cid:17)(si))) n ≤ t rk sni <rk+1 Ht = Ft G(cid:90)t Zt = Wt = (cid:90)l→im∞ H(τ(sni )) Z˜(si+1) − Z˜(si) n ≤ so that Xs may be written as rk sni <rk+1 X = τs H dZ . = rk+1 H(τs−)dZ˜s. (24) s t t rk 0 ##LTFigure## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine##

text: (A)

font: default

text: (B)

text: WN(τot)e

text: a

text: subordinator,

text: s

text: η

text: (z)

text: (eizTx

text: (dt),

text: Wτ

text: Rd

text: W,τ

text: TC

text: LQR

text: for

text: some

text: Le´vy

text: measure

text: µ

text: (See

text: Theorem

text: and

text: Theorem

text: LQR

text: W,τ

text: Nominal

text: respectively,

text: in

text: Thus,

text: the

text: continuous

text: part

text: of

text: W(τs)

text: is

text: a

text: Brownian

text: motion

text: with

text: (τ

text: )T

text: bI.

text: s

text: s

text: controller

text: time,

text: plant

text: time,

text: Deﬁne

text: the

text: Z˜

text: by

text: removing

text: the

text: jumps

text: from

text: Z(τ

text: s

text: s

text: (C)

text: (D)

text: Z˜

text: Z(τ

text: Z(τ

text: Z(τ−)

text: TC

text: LQR

text: s

text: s√

text: r

text: r

text: LQR

text: It

text: follows

text: that

text: Z˜

text: [bs,

text: bW˜

text: T]T,

text: where

text: W˜

text: is

text: the

text: Brownian

text: motion

text: s

text: s

text: s

text: from

text: the

text: theorem

text: Thus,

text: equivalently

text: written

text: as

text: X

text: s

text: H(τ

text: −)dZ˜

text: τr

text: H

text: dZ

text: s

text: r

text: s

text: s

text: t

text: τr−

text: controller

text: time,

text: Now

text: be

text: then

text: Z˜s

text: and

text: τs

text: Fig.

text: (A)

text: Plots

text: of

text: under

text: the

text: optimal

text: policy

text: and

text: the

text: LQR

text: policy

text: τr

text: τr−.

text: Thus,

text: for

text: realizations

text: of

text: τs.

text: The

text: initial

text: condition

text: is

text: x

text: (B)

text: The

text: same

text: τr

text: plots

text: under

text: time

text: variable

text: t.

text: The

text: black

text: line

text: shows

text: the

text: LQR

text: trajectory

text: with

text: no

text: Xs

text: HsdZt,

text: temporal

text: noise.

text: In

text: the

text: case

text: of

text: no

text: temporal

text: noise,

text: the

text: classical

text: LQR

text: uses

text: high

text: τr−

text: gains

text: near

text: t

text: to

text: produces

text: high-speed

text: trajectories

text: such

text: that

text: approaches

text: so,

text: in

text: this

text: case,

text: holds.

text: at

text: ﬁnal

text: time.

text: In

text: this

text: case,

text: timing

text: errors

text: lead

text: to

text: wide

text: variation

text: in

text: the

text: ﬁnal

text: position.

text: The

text: optimal

text: policy

text: reduces

text: the

text: speed

text: of

text: the

text: trajectory

text: near

text: s

text: ∞Now

text: assume

text: b

text: The

text: c∞ases

text: wh∞en

text: τs

text: has

text: ﬁnite

text: rate

text: order

text: to

text: minimize

text: the

text: effects

text: of

text: temporal

text: noise.

text: (C)

text: The

text: optimal

text: cost

text: V

text: (s,x)

text: and

text: inﬁnite

text: rate

text: will

text: be

text: treated

text: separately.

text: and

text: J(s,≤x;U)

text: for

text: the

text: LQR

text: policy

text: are

text: plotted

text: for

text: x

text: As

text: expected,

text: Finite

text: Rate.

text: Let

text: and

text: let

text: be

text: the

text: jump

text: times

text: of

text: V

text: (s,x)

text: J(s,x;U).

text: Furthermore,

text: as

text: the

text: time-horizon

text: increases,

text: the

text: LQR

text: τ

text: With

text: probability

text: there

text: exist

text: a

text: ﬁnite

text: (random)

text: integer

text: L

text: such

text: policy

text: depends

text: strongly

text: on

text: timing

text: information,

text: and

text: so

text: temporal

text: noise

text: leads

text: to

text: s

text: higher

text: cost

text: as

text: s

text: goes

text: to

text: (D)

text: A

text: histogram

text: of

text: the

text: ﬁnal

text: positions,

text: for

text: that

text: L

text: jumps

text: occur

text: over

text: s].

text: Note

text: that

text: may

text: be

text: expanded

text: as

text: realizations

text: of

text: τs.

text: The

text: optimal

text: controller

text: leads

text: to

text: being

text: tightly

text: Xs

text: controller.

text: −τ(rL)

text: L

text: H

text: dZ

text: H

text: dZ

text: t

text: t

text: t

text: t

text: τ(rk)

text: Thus,

text: that

text: claims

text: and

text: imply

text: that

text: X

text: F

text: s

text: Let

text: sn

text: sn

text: sn

text: be

text: a

text: sequence

text: of

text: partitions

text: such

text: that

text: must

text: be

text: an

text: τ,W

text: semimartingale.

text: The

text: claims

text: are

text: proved

text: as

text: follows.

text: Kn

text: lim

text: sn

text: a.s.

text: τs

text: τs

text: n

text: Kn{|

text: Var

text: Ftdt

text: Ft

text: dt

text: almost

text: surely.

text: {limn→∞≤sup

text: snk

text: k

text: Kn

text: a.s.

text: r

text: r

text: sn

text: sn,

text: sn

text: i

text: i

text: Kn

text: Kn

text: holds.

text: The

text: last

text: condition

text: ensures

text: that

text: the

text: jump

text: times

text: are

text: contained

text: in

text: the

text: To

text: prove

text: note

text: that

text: for

text: r

text: s

text: we

text: have

text: partition.

text: E

text: τs

text: GtdWt

text: Frτ,W

text: τr

text: GtdWt

text: E

text: τs

text: GtdWt

text: Frτ,W

text: whNeroeteτdthiast

text: tbheetwdiesecnonjtuimnuposus(i.pea.rst

text: of

text: τ[rk.

text: τthda(trtkh)e,

text: τr

text: sequencse

text: satisﬁes

text: thse

text: following

text: properties,

text: almost

text: G

text: dW

text: surely:

text: t

text: t

text: limn→∞

text: τ(snK{|n)

text: lim

text: sup

text: τ(sn

text: τ(sn)

text: k

text: s.t.

text: r

text: sn

text: r

text: n

text: i

text: k

text: i

text: Using

text: a

text: standard

text: argument

text: from

text: stochastic

text: integration

text: (see

text: Theorem

text: E

text: τs

text: GtdWt

text: E

text: τs

text: GtdWt

text: of

text: the

text: integral

text: from

text: τ(rk)

text: to

text: may

text: be

text: evaluated

text: as

text: where

text: the

text: inequality

text: follows

text: from

text: Jensen’s

text: inequality.

text: Thus

text: τ(r

text: holds.

text: H

text: dZ

text: s

text: t

text: Zbet

text: deﬁne

text: the

text: τ(rk=)

text: l→im∞

text: H(τ(sni

text: n

text: t

text: rk

text: sni

text: Ht

text: Ft

text: Zt

text: Wt

text: H(τ(sni

text: Z˜(si)

text: n

text: so

text: that

text: Xs

text: may

text: be

text: written

text: as

text: rk

text: sni

text: X

text: τs

text: H

text: dZ

text: H(τs−)dZ˜s.

text: s

text: t

text: t

text: rk

text: ##LTFigure##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##


text: Go-With-The-Winner: Client-Side Server Selection for Content Delivery Chang Liu Ramesh K. Sitaraman Don Towsley University of Massachusetts, University of Massachusetts, University of Massachusetts, Amherst Amherst Amherst cliu@cs.umass.edu and Akamai Technologies Inc. towsley@cs.umass.edu ramesh@cs.umass.edu ABSTRACT performance. The metrics for performance that are opti- mized vary by the type of content being accessed. For in- Content delivery networks deliver much of the world’s web stance, good performance for a user accessing a web page and video content by deploying a large distributed network might mean that the web page downloads quickly. Good of servers. We model and analyze a simple paradigm for performance for a user watching a video might mean that client-side server selection that is commonly used in practice the content is delivered by the server at a suﬃciently high where each user independently measures the performance of bitrate to avoid the video from freezing and rebuﬀering [12]. a set of candidate servers and selects the one that performs the best. For web (resp., video) delivery, we propose and an- Server selection can be performed in two distinct ways alyze a simple algorithm where each user randomly chooses that are not mutually exclusive. Network-side server selec- two or more candidate servers and selects the server that tion algorithms monitor the real-time characteristics of the provided the best hitrate (resp., bitrate). We prove that CDN and the Internet. Such algorithms are often complex the algorithm converges quickly to an optimal state where and measure liveness and load of the CDN’s servers, as well all users receive the best hitrate (resp., bitrate), with high as latency, loss, and bandwidth of the communication paths probability. We also show that if each user chose just one between servers and users. Using this information, the algo- random server instead of two, some users receive a hitrate rithm computes a good “mapping” of users to servers, such (resp., bitrate) that tends to zero. We simulate our algo- that each user is assigned a “proximal” server capable of rithm and evaluate its performance with varying choices of serving that user’s content [17]. This mapping is computed parameters, system load, and content popularity. periodically and is typically made available to client software running on the user’s computer or device using the domain 1. INTRODUCTION name system (DNS). Speciﬁcally, the user’s browser or me- dia player looks up the domain name of the content that it Modern content delivery networks (CDNs) host and de- wants to download and receives as translation the ip address liver a large fraction of the world’s web content, video con- of the selected server. tent, and application services on behalf of enterprises that A complementary approach to network-side server selec- include most major web portals, media outlets, social net- tion that is commonly is used is client-side server selection works, application providers, and news channels [17]. CDNs where the client software running on the user’s computer deploy large numbers of servers around the world that can or device embodies a server selection algorithm. The client store content and deliver that content to users who request software is typically unaware of the global state of the server it. When a user requests a content item, say a web page infrastructure, the Internet, or other users. Rather, the or a video, the user is directed to one of the CDN’s servers client software typically makes future server selection deci- that can serve the desired content to the user. The goal of sions based on its own historical performance measurements a CDN is to maximize the performance as perceived by the from past server downloads. Client-side server selection can user while eﬃciently managing its server resources. often be implemented as a plug-in within media players, web A key functionality of a CDN is the server selection pro- browsers, and web download managers [2]. cess by which client software running on the user’s computer While client-side server selection can be used to select or device, such as media player or a browser, is directed to servers within a single CDN, it can also be used in a multi- a suitable server of a CDN [7]. The desired outcome of CDN setting. Large content providers often make the same the server selection process is that each user is directed to content available to the user via multiple CDNs. In this a server that can provide the requested content with good case, the client software running on the user’s device tries out the diﬀerent CDNs and chooses the “best” server from across multiple CDNs. For instance, NetFlix uses three dif- ferent CDNs and the media player incorporates a client-side Permission to make digital or hard copies of all or part of this work for server selection algorithm to choose the “best” server (and personal or classroom use is granted without fee provided that copies are the corresponding CDN) using performance metrics such as not made or distributed for proﬁt or commercial advantage and that copies the video bitrates achievable from the various choices [1]. bear this notice and the full citation on the ﬁrst page. To copy otherwise, to Note also that in the typical multi-CDN case, both network- republish, to post on servers or to redistribute to lists, requires prior speciﬁc side and client-side server selection are used together, where permission and/or a fee. Copyright 20XX ACM X-XXXXX-XX-X/XX/XX ...$15.00. the former is used to choose the candidate servers from each

text: Go-With-The-Winner:

label: title

font: PZTGMJ+NimbusSanL-Bold

text: Client-Side

text: Server

text: Selection

text: for

text: Content

text: Delivery

text: Chang

font: EREOZY+NimbusSanL-Regu

text: Liu

text: Ramesh

text: K.

text: Sitaraman

text: Don

text: Towsley

text: University

text: of

text: Massachusetts,

text: University

text: of

text: Massachusetts,

text: University

text: of

text: Massachusetts,

text: Amherst

text: Amherst

text: Amherst

text: cliu@cs.umass.edu

label: footer

text: and

text: Akamai

text: Technologies

text: Inc.

text: towsley@cs.umass.edu

text: ramesh@cs.umass.edu

text: ABSTRACT

text: performance.

text: The

text: metrics

text: for

text: performance

text: that

text: are

text: opti-

text: mized

text: vary

text: by

text: the

text: type

text: of

text: content

text: being

text: accessed.

text: For

text: in-

text: Content

label: abstract

text: delivery

text: networks

text: deliver

text: much

text: of

text: the

text: world’s

text: web

text: stance,

text: good

text: performance

text: for

text: a

text: user

text: accessing

text: a

text: web

text: page

text: and

text: video

text: content

text: by

text: deploying

text: a

text: large

text: distributed

text: network

text: might

text: mean

text: that

text: the

text: web

text: page

text: downloads

text: quickly.

text: Good

text: of

text: servers.

text: We

text: model

text: and

text: analyze

text: a

text: simple

text: paradigm

text: for

text: performance

text: for

text: a

text: user

text: watching

text: a

text: video

text: might

text: mean

text: that

text: client-side

text: server

text: selection

text: that

text: is

text: commonly

text: used

text: in

text: practice

text: the

text: content

text: is

text: delivered

text: by

text: the

text: server

text: at

text: a

text: suﬃciently

text: high

text: where

text: each

text: user

text: independently

text: measures

text: the

text: performance

text: of

text: bitrate

text: to

text: avoid

text: the

text: video

text: from

text: freezing

text: and

text: rebuﬀering

text: a

text: set

text: of

text: candidate

text: servers

text: and

text: selects

text: the

text: one

text: that

text: performs

text: the

text: best.

text: For

text: web

text: (resp.,

text: video)

text: delivery,

text: we

text: propose

text: and

text: an-

text: Server

text: selection

text: can

text: be

text: performed

text: in

text: two

text: distinct

text: ways

text: alyze

text: a

text: simple

text: algorithm

text: where

text: each

text: user

text: randomly

text: chooses

text: that

text: are

text: not

text: mutually

text: exclusive.

text: Network-side

text: server

text: selec-

text: two

text: or

text: more

text: candidate

text: servers

text: and

text: selects

text: the

text: server

text: that

text: tion

text: algorithms

text: monitor

text: the

text: real-time

text: characteristics

text: of

text: the

text: provided

text: the

text: best

text: hitrate

text: (resp.,

text: bitrate).

text: We

text: prove

text: that

text: CDN

text: and

text: the

text: Internet.

text: Such

text: algorithms

text: are

text: often

text: complex

text: the

text: algorithm

text: converges

text: quickly

text: to

text: an

text: optimal

text: state

text: where

text: and

text: measure

text: liveness

text: and

text: load

text: of

text: the

text: CDN’s

text: servers,

text: as

text: well

text: all

text: users

text: receive

text: the

text: best

text: hitrate

text: (resp.,

text: bitrate),

text: with

text: high

text: as

text: latency,

text: loss,

text: and

text: bandwidth

text: of

text: the

text: communication

text: paths

text: probability.

text: We

text: also

text: show

text: that

text: if

text: each

text: user

text: chose

text: just

text: one

text: between

text: servers

text: and

text: users.

text: Using

text: this

text: information,

text: the

text: algo-

text: random

text: server

text: instead

text: of

text: two,

text: some

text: users

text: receive

text: a

text: hitrate

text: rithm

text: computes

text: a

text: good

text: “mapping”

text: of

text: users

text: to

text: servers,

text: such

text: (resp.,

text: bitrate)

text: that

text: tends

text: to

text: zero.

text: We

text: simulate

text: our

text: algo-

text: that

text: each

text: user

text: is

text: assigned

text: a

text: “proximal”

text: server

text: capable

text: of

text: rithm

text: and

text: evaluate

text: its

text: performance

text: with

text: varying

text: choices

text: of

text: serving

text: that

text: user’s

text: content

text: This

text: mapping

text: is

text: computed

text: parameters,

text: system

text: load,

text: and

text: content

text: popularity.

text: periodically

text: and

text: is

text: typically

text: made

text: available

text: to

text: client

text: software

text: running

text: on

text: the

text: user’s

text: computer

text: or

text: device

text: using

text: the

text: domain

text: INTRODUCTION

text: name

text: system

text: (DNS).

text: Speciﬁcally,

text: the

text: user’s

text: browser

text: or

text: me-

text: dia

text: player

text: looks

text: up

text: the

text: domain

text: name

text: of

text: the

text: content

text: that

text: it

text: Modern

text: content

text: delivery

text: networks

text: (CDNs)

text: host

text: and

text: de-

text: wants

text: to

text: download

text: and

text: receives

text: as

text: translation

text: the

text: ip

text: address

text: liver

text: a

text: large

text: fraction

text: of

text: the

text: world’s

text: web

text: content,

text: video

text: con-

text: of

text: the

text: selected

text: server.

text: tent,

text: and

text: application

text: services

text: on

text: behalf

text: of

text: enterprises

text: that

text: A

text: complementary

text: approach

text: to

text: network-side

text: server

text: selec-

text: include

text: most

text: major

text: web

text: portals,

text: media

text: outlets,

text: social

text: net-

text: tion

text: that

text: is

text: commonly

text: is

text: used

text: is

text: client-side

text: server

text: selection

text: works,

text: application

text: providers,

text: and

text: news

text: channels

text: CDNs

text: where

text: the

text: client

text: software

text: running

text: on

text: the

text: user’s

text: computer

text: deploy

text: large

text: numbers

text: of

text: servers

text: around

text: the

text: world

text: that

text: can

text: or

text: device

text: embodies

text: a

text: server

text: selection

text: algorithm.

text: The

text: client

text: store

text: content

text: and

text: deliver

text: that

text: content

text: to

text: users

text: who

text: request

text: software

text: is

text: typically

text: unaware

text: of

text: the

text: global

text: state

text: of

text: the

text: server

text: it.

text: When

text: a

text: user

text: requests

text: a

text: content

text: item,

text: say

text: a

text: web

text: page

text: infrastructure,

text: the

text: Internet,

text: or

text: other

text: users.

text: Rather,

text: the

text: or

text: a

text: video,

text: the

text: user

text: is

text: directed

text: to

text: one

text: of

text: the

text: CDN’s

text: servers

text: client

text: software

text: typically

text: makes

text: future

text: server

text: selection

text: deci-

text: that

text: can

text: serve

text: the

text: desired

text: content

text: to

text: the

text: user.

text: The

text: goal

text: of

text: sions

text: based

text: on

text: its

text: own

text: historical

text: performance

text: measurements

text: a

text: CDN

text: is

text: to

text: maximize

text: the

text: performance

text: as

text: perceived

text: by

text: the

text: from

text: past

text: server

text: downloads.

text: Client-side

text: server

text: selection

text: can

text: user

text: while

text: eﬃciently

text: managing

text: its

text: server

text: resources.

text: often

text: be

text: implemented

text: as

text: a

text: plug-in

text: within

text: media

text: players,

text: web

text: A

text: key

text: functionality

text: of

text: a

text: CDN

text: is

text: the

text: server

text: selection

text: pro-

text: browsers,

text: and

text: web

text: download

text: managers

text: cess

text: by

text: which

text: client

text: software

text: running

text: on

text: the

text: user’s

text: computer

text: While

text: client-side

text: server

text: selection

text: can

text: be

text: used

text: to

text: select

text: or

text: device,

text: such

text: as

text: media

text: player

text: or

text: a

text: browser,

text: is

text: directed

text: to

text: servers

text: within

text: a

text: single

text: CDN,

text: it

text: can

text: also

text: be

text: used

text: in

text: a

text: multi-

text: a

text: suitable

text: server

text: of

text: a

text: CDN

text: The

text: desired

text: outcome

text: of

text: CDN

text: setting.

text: Large

text: content

text: providers

text: often

text: make

text: the

text: same

text: the

text: server

text: selection

text: process

text: is

text: that

text: each

text: user

text: is

text: directed

text: to

text: content

text: available

text: to

text: the

text: user

text: via

text: multiple

text: CDNs.

text: In

text: this

text: a

text: server

text: that

text: can

text: provide

text: the

text: requested

text: content

text: with

text: good

text: case,

text: the

text: client

text: software

text: running

text: on

text: the

text: user’s

text: device

text: tries

text: out

text: the

text: diﬀerent

text: CDNs

text: and

text: chooses

text: the

text: “best”

text: server

text: from

text: across

text: multiple

text: CDNs.

text: For

text: instance,

text: NetFlix

text: uses

text: three

text: dif-

text: ferent

text: CDNs

text: and

text: the

text: media

text: player

text: incorporates

text: a

text: client-side

text: Permission

text: to

text: make

text: digital

text: or

text: hard

text: copies

text: of

text: all

text: or

text: part

text: of

text: this

text: work

text: for

text: server

text: selection

text: algorithm

text: to

text: choose

text: the

text: “best”

text: server

text: (and

text: personal

text: or

text: classroom

text: use

text: is

text: granted

text: without

text: fee

text: provided

text: that

text: copies

text: are

text: the

text: corresponding

text: CDN)

text: using

text: performance

text: metrics

text: such

text: as

text: not

text: made

text: or

text: distributed

text: for

text: proﬁt

text: or

text: commercial

text: advantage

text: and

text: that

text: copies

text: the

text: video

text: bitrates

text: achievable

text: from

text: the

text: various

text: choices

text: bear

text: this

text: notice

text: and

text: the

text: full

text: citation

text: on

text: the

text: ﬁrst

text: page.

text: To

text: copy

text: otherwise,

text: to

text: Note

text: also

text: that

text: in

text: the

text: typical

text: multi-CDN

text: case,

text: both

text: network-

text: republish,

text: to

text: post

text: on

text: servers

text: or

text: to

text: redistribute

text: to

text: lists,

text: requires

text: prior

text: speciﬁc

text: side

text: and

text: client-side

text: server

text: selection

text: are

text: used

text: together,

text: where

text: permission

text: and/or

text: a

text: fee.

text: Copyright

text: ACM

text: X-XXXXX-XX-X/XX/XX

text: the

text: former

text: is

text: used

text: to

text: choose

text: the

text: candidate

text: servers

text: from

text: each


text: (cid:0) (cid:1) The shape of the pruned witness tree is determined by choos- ing the p pruning edges of the tree. The number of ways of · · (cid:48) · (cid:100) (cid:101) selecting the p pruning edges is at most m ≤ mp, since mp n (2κ+1/(κ + 1)!)m (m2/n) p/2 p ≤ · (cid:48) · (cid:100) (cid:101) there are at most m edges in the (unpruned) witness tree. n (2κ+1/(κ + 1)!)m (m4/n) p/2 Ways of choosing users and servers for the nodes and ≤ n · (2e/(κ + 1))m(cid:48)(κ+1) · (m4/n)(cid:100)p/2(cid:101), (10) edges of the pruned witness tree. The enumeration proceeds by considering the nodes in BFS order. The number of ways ≥ of choosing the server associat(cid:0)ed(cid:1)with the root is n. Con- since (κ + 1)! ((κ + 1)/e)κ+1. There are two possible sider the ith internal node v of the pruned witness tree cases depending on how the pruning process terminates. If i whose server has already been chosen to be s . Let v have the number of pruning edges, p, equals κ + 1 then the third i i δ children. There are at most n ways of choosing distinct term of Equation 10 is i δi servers for each of the δ children of v . Also, since there (cid:100) (cid:101) ≤ (cid:100) (cid:101) ≤ i(cid:0) (cid:1) i (m4/n) p/2 (16 log8 n/n) (κ+1)/2 1/nΩ(1), are at most n users in the system at any point in time, the number of ways to choose distinct users for the δi edges inci- using Equation 8 and assuming that cache size κ is at least a dent on vi is also at most δni . There are δi! ways of pairing suitably large constant. Alternately, if the pruning process the users and the servers. Further, the probability that a terminates with fewer than κ + 1 pruning edges, it must be chosen user chooses server si corresponding to node vi and that at least one of the κ+1 subtrees rooted at the children a speciﬁc one of δi ser(cid:0)ve(cid:1)rs chosen above for vi’s children is of the root s of the (unpruned) witness tree (cid:48)has no pruning edge. Thus(cid:88), the number of internal nodes m of the pruned 1 2 = − , witness tree with (κ+1) children each is bounded as follows: n n(n 1) 2 (cid:48) ≥ − ≥ since each set of two servers is equally likely to be chosen m = (κ + 1)i (κ + 1)ρ 2 log2 n/(κ + 1)2, ≤ − in step 1 of the algorithm. Further, note that each of the δ 0 i<ρ 1 i users chose δi distinct applications and let the probability as (κ + 1)ρ = log2 n. Thus, the second term of Equation 10 of occurrence of this event be Uniq(n , δ ). This unique- c i is nreessisstparnotbahbaislhitiynghaasnbdeeitn sistukdnieodwnin [t3h]etchoantteUxtnioqf(cnol,liδsi)onis- (2e/(κ + 1))m(cid:48)(κ+1) ≤ (2e/(κ + 1))log2 n/(κ+1) ≤ 1/nΩ(1), c i largest when the content popularity distribution is the uni- − assuming κ > 2e 1 but is at most O(log n/ log log n). Thus, form distribution (α = 0) and progressively becomes smaller as α increases. In particular, Uniq(nc, δi) ≤ e−Θ(δi2/nc) < 1. isnineciethtehrerceasaer,ethate mboousntdminvaElquueastfioornp1,0thise1t/ontΩal(1p).roFbuarbtihlietry, Putting it together, the number of ways of choosing a dis- of a pruned witness tree is at most m · 1/nΩ(1) which is tinct server for each of the δ children of v , choosing a dis- i i 1/nΩ(1). This completes the proof of the theorem. tinct user for each of the δ edges incident on v , choosing i i a distinct application for each user, and multiplying by the ap(cid:32)pro(cid:33)pria(cid:32)te (cid:33)probabi(cid:18)lity is at m(cid:19)ost n · n · · 2 δi · ≤ 2δi δ ! − Uniq(n , δ ) , (9) δ δ i n(n 1) c i δ ! i i i (cid:48) provided δ > 1. Let m be the number of internal nodes i v in the pruned witness tree such that δ = κ+1. Using the i (cid:48)i bound in Equation 9 for only these m nodes, the number of ways of choosing the users and servers for the nodes and edges respectively of the pruned witness tree weighted by the probability that these choices occurred is at most · (cid:48) n (2κ+1/(κ + 1)!)m . Ways of choosing the pruned users in P. Recall that there (cid:100) (cid:101) are p/2 distinct pruned users in P. The number of ways of (cid:100) (cid:101) choosing the users in P is at most n p/2 , since at any time step there are at most n users in the system to choose from. Note that a pruned user has both of its server choices in the pruned witness tree. Therefore, the probability that a given user is a pruned user is at most m2/n2. Thus the number (cid:100) (cid:101) of choices for the p/2 pruned users in P weighted by the probability that these pruned users occurred is at most (cid:100) (cid:101) · (cid:100) (cid:101) ≤ (cid:100) (cid:101) n p/2 (m2/n2) p/2 (m2/n) p/2 . Bringing it all together. The probability that there exists a (cid:48) pruned witness tree with p pruning edges, and m internal nodes with (κ + 1) children each, is at most ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine##

text: The

text: shape

text: of

text: the

text: pruned

text: witness

text: tree

text: is

text: determined

text: by

text: choos-

text: ing

text: the

text: p

text: pruning

text: edges

text: of

text: the

text: tree.

text: The

text: number

text: of

text: ways

text: of

text: selecting

text: the

text: p

text: pruning

text: edges

text: is

text: at

text: most

text: m

text: mp,

text: since

text: mp

text: n

text: p

text: there

text: are

text: at

text: most

text: m

text: edges

text: in

text: the

text: (unpruned)

text: witness

text: tree.

text: n

text: Ways

text: of

text: choosing

text: users

text: and

text: servers

text: for

text: the

text: nodes

text: and

text: n

text: edges

text: of

text: the

text: pruned

text: witness

text: tree.

text: The

text: enumeration

text: proceeds

text: by

text: considering

text: the

text: nodes

text: in

text: BFS

text: order.

text: The

text: number

text: of

text: ways

text: of

text: choosing

text: the

text: server

text: the

text: root

text: is

text: n.

text: Con-

text: since

text: (κ

text: ((κ

text: There

text: are

text: two

text: possible

text: sider

text: the

text: ith

text: internal

text: node

text: v

text: of

text: the

text: pruned

text: witness

text: tree

text: cases

text: depending

text: on

text: how

text: the

text: pruning

text: process

text: terminates.

text: If

text: i

text: whose

text: server

text: has

text: already

text: been

text: chosen

text: to

text: be

text: s

text: Let

text: v

text: have

text: the

text: number

text: of

text: pruning

text: edges,

text: p,

text: equals

text: κ

text: then

text: the

text: third

text: i

text: i

text: δ

text: children.

text: There

text: are

text: at

text: most

text: n

text: ways

text: of

text: choosing

text: distinct

text: term

text: of

text: Equation

text: is

text: i

text: δi

text: servers

text: for

text: each

text: of

text: the

text: δ

text: children

text: of

text: v

text: Also,

text: since

text: there

text: i

text: n/n)

text: are

text: at

text: most

text: n

text: users

text: in

text: the

text: system

text: at

text: any

text: point

text: in

text: time,

text: the

text: number

text: of

text: ways

text: to

text: choose

text: distinct

text: users

text: for

text: the

text: δi

text: edges

text: inci-

text: using

text: Equation

text: and

text: assuming

text: that

text: cache

text: size

text: κ

text: is

text: at

text: least

text: a

text: dent

text: on

text: vi

text: is

text: also

text: at

text: most

text: δni

text: There

text: are

text: δi!

text: ways

text: of

text: pairing

text: suitably

text: large

text: constant.

text: Alternately,

text: if

text: the

text: pruning

text: process

text: the

text: users

text: and

text: the

text: servers.

text: Further,

text: the

text: probability

text: that

text: a

text: terminates

text: with

text: fewer

text: than

text: κ

text: pruning

text: edges,

text: it

text: must

text: be

text: chosen

text: user

text: chooses

text: server

text: si

text: corresponding

text: to

text: node

text: vi

text: and

text: that

text: at

text: least

text: one

text: of

text: the

text: subtrees

text: rooted

text: at

text: the

text: children

text: a

text: speciﬁc

text: one

text: of

text: δi

text: chosen

text: above

text: for

text: vi’s

text: children

text: is

text: of

text: the

text: root

text: s

text: of

text: the

text: (unpruned)

text: witness

text: tree

text: no

text: pruning

text: edge.

text: the

text: number

text: of

text: internal

text: nodes

text: m

text: of

text: the

text: pruned

text: witness

text: tree

text: with

text: children

text: each

text: is

text: bounded

text: as

text: follows:

text: n

text: n(n

text: since

text: each

text: set

text: of

text: two

text: servers

text: is

text: equally

text: likely

text: to

text: be

text: chosen

text: m

text: (κ

text: (κ

text: n/(κ

text: in

text: step

text: of

text: the

text: algorithm.

text: Further,

text: note

text: that

text: each

text: of

text: the

text: δ

text: i<ρ

text: i

text: users

text: chose

text: δi

text: distinct

text: applications

text: and

text: let

text: the

text: probability

text: as

text: (κ

text: n.

text: Thus,

text: the

text: second

text: term

text: of

text: Equation

text: of

text: occurrence

text: of

text: this

text: event

text: be

text: Uniq(n

text: δ

text: This

text: unique-

text: c

text: i

text: is

text: sistukdnieodwnin

text: c

text: i

text: largest

text: when

text: the

text: content

text: popularity

text: distribution

text: is

text: the

text: uni-

text: assuming

text: κ

text: but

text: is

text: at

text: most

text: O(log

text: n/

text: log

text: log

text: n).

text: Thus,

text: form

text: distribution

text: (α

text: and

text: progressively

text: becomes

text: smaller

text: as

text: α

text: increases.

text: In

text: particular,

text: Uniq(nc,

text: δi)

text: isnineciethtehrerceasaer,ethate

text: Putting

text: it

text: together,

text: the

text: number

text: of

text: ways

text: of

text: choosing

text: a

text: dis-

text: of

text: a

text: pruned

text: witness

text: tree

text: is

text: at

text: most

text: m

text: which

text: is

text: tinct

text: server

text: for

text: each

text: of

text: the

text: δ

text: children

text: of

text: v

text: choosing

text: a

text: dis-

text: i

text: i

text: This

text: completes

text: the

text: proof

text: of

text: the

text: theorem.

text: tinct

text: user

text: for

text: each

text: of

text: the

text: δ

text: edges

text: incident

text: on

text: v

text: choosing

text: i

text: i

text: a

text: distinct

text: application

text: for

text: each

text: user,

text: and

text: multiplying

text: by

text: the

text: is

text: at

text: n

text: n

text: δi

text: δ

text: Uniq(n

text: δ

text: δ

text: δ

text: i

text: n(n

text: c

text: i

text: δ

text: i

text: i

text: i

text: provided

text: δ

text: Let

text: m

text: be

text: the

text: number

text: of

text: internal

text: nodes

text: i

text: v

text: in

text: the

text: pruned

text: witness

text: tree

text: such

text: that

text: δ

text: Using

text: the

text: i

text: bound

text: in

text: Equation

text: for

text: only

text: these

text: m

text: nodes,

text: the

text: number

text: of

text: ways

text: of

text: choosing

text: the

text: users

text: and

text: servers

text: for

text: the

text: nodes

text: and

text: edges

text: respectively

text: of

text: the

text: pruned

text: witness

text: tree

text: weighted

text: by

text: the

text: probability

text: that

text: these

text: choices

text: occurred

text: is

text: at

text: most

text: n

text: Ways

text: of

text: choosing

text: the

text: pruned

text: users

text: in

text: P.

text: Recall

text: that

text: there

text: are

text: distinct

text: pruned

text: users

text: in

text: P.

text: The

text: number

text: of

text: ways

text: of

text: choosing

text: the

text: users

text: in

text: P

text: is

text: at

text: most

text: n

text: since

text: at

text: any

text: time

text: step

text: there

text: are

text: at

text: most

text: n

text: users

text: in

text: the

text: system

text: to

text: choose

text: from.

text: Note

text: that

text: a

text: pruned

text: user

text: has

text: both

text: of

text: its

text: server

text: choices

text: in

text: the

text: pruned

text: witness

text: tree.

text: Therefore,

text: the

text: probability

text: that

text: a

text: given

text: user

text: is

text: a

text: pruned

text: user

text: is

text: at

text: most

text: Thus

text: the

text: number

text: of

text: choices

text: for

text: the

text: pruned

text: users

text: in

text: P

text: weighted

text: by

text: the

text: probability

text: that

text: these

text: pruned

text: users

text: occurred

text: is

text: at

text: most

text: n

text: Bringing

text: it

text: all

text: together.

text: The

text: probability

text: that

text: there

text: exists

text: a

text: pruned

text: witness

text: tree

text: with

text: p

text: pruning

text: edges,

text: and

text: m

text: internal

text: nodes

text: with

text: (κ

text: children

text: each,

text: is

text: at

text: most

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##


text: no server is overloaded and all users obtain the required bi- picked with a probability trate for their video to play without freezes. Further, we 1 show that two or more random choices of candidate servers pk =∆ kα · H(n , α), (1) are necessary, as just one random choice will result in some c ≥ (cid:80) users receiving bitrates that tend to zero, as the number of where α 0 is the exponent of the distribution and H(n , α) c users and servers tends to inﬁnity. is the generalized harmonic number that is the normalizing H (3) In Section 17, we go beyond our theoretical model constant, i.e., (nc, α) = nk=c 1 1/kα. Note that power law and simulate algorithm GoWithTheWinner in more complex distributions (aka Zipf distributions) are commonly used to settings. We establish an inverse relationship between the model the popularity of online content such as web pages, length of the history used for hitrate computation (denoted and videos. This family of distributions is parametrized by by τ) and the failure rate deﬁned as the probability that the a Zipf rank exponent α with α = 0 representing the ex- system converges to a non-optimal state. We show that as τ treme case of an uniform distribution and larger values of α increases the convergence time increases, but the failure rate representing a greater skew in the popularity. It has been es- decreases. We also empirically evaluate the impact of the timated that the popularity of web content can be modeled number of choices of candidate servers. We show that two by a power law distribution with an α in the range from 0.65 or more random choices are required for all users to receive to 0.85 [4, 10, 9]. The user then sticks with that content and a 100% hitrate. Though even if only 70% of the users make makes a sequence of requests to the set of available servers. two choices, it is suﬃcient for 95% of the users to receive a Relating to the reality, users tend to stay with one website 100% hitrate. Finally, we show that the convergence time for a while, say reading the news or looking at a friend’s increases with system load. But, convergence time decreases posts. Here the whole website is what we considered a con- when the exponent of power law distribution that describes tent. We model the sequence of requests generated by each content popularity increases. user as a Poisson process with a homogeneous arrival rate λ. Note that each request from user u can be sent to one or ⊆ more servers selected from S S, where S is the server 2. HIT RATE MAXIMIZATION FOR WEB u u set chosen by user u. CONTENT Let S be the set of n servers that are capable of serving s content to the users. Each server can cache at most κ objects The key measure of web performance is download time and a cache replacement policy such as LRU is used to evict which is the time taken for a user to download a web object, objects when the cache is full. Given that the download time such as a html page or an embedded image. CDNs enhance of a web object is signiﬁcantly diﬀerent when the request is web performance by deploying a large number servers in ac- a cache hit versus a cache miss, we make the reasonable cess networks that are “close” to the users. Each server has assumption that the user can reliably infer if its request to a cache that is capable of storing web objects. When a user download an object from a server resulted in a cache hit or requests an object, such as a web page, the user is directed a cache miss immediately after the download completes. to a server that can serve the object (cf. Figure 1). If the The objective of client-side server selection is for each user ∈ ∈ server already has the object in its cache, i.e, the user’s re- u U to independently select a server s S using only the quest is a cache hit, the object is served from the cache to the performance feedback obtained on whether each request was user. In this case, the user experiences good performance, a hit or a miss. Let the hit rate function H(u, s, t) denote ∈ since the CDN’s servers are proximal to the user and the the probability of user u receiving a hit from server s S u object is downloaded quickly. However, if the requested ob- at time t. We deﬁne the system-wide performance measure ject is not in the server’s cache, i.e., the user’s request is a H(t), as the best hit rate obtained by the worst user at time cache miss, then the server ﬁrst fetches it from the origin, t, places it in its cache, and then serves the object to the user. In the case of a cache miss, the performance experienced by the user is often poor since the origin server is typically H(t) =∆ m∈in m∈ax H(u, s, t), (2) u U s Su far away from the server and the user. In fact, if there is a cache miss, the user would have been better oﬀ not using a.k.a. the minmax hit rate. Our goal is to maximize the CDN at all, since downloading the content directly from H(t).In the rest of the section, we describe a simple canon- the content provider’s origin would likely have been faster! ical “Go-With-The-Winner” algorithm for server selection Since the size of a server’s cache is bounded, cache misses and show that it converges quickly to an optimal state, with are inevitable. A key goal of server selection for web con- high probability. tent delivery is to jointly orchestrate server assignment and Note: Our formulation is intentionally simple so that it content placement in caches such that the cache hit rate is could model a variety of other situations in web content maximized. While server selection in CDNs is a complex delivery. For instance, a single server could in fact model process [17], we analytically model the key elements that re- a cluster of front-end servers that share a single backend late to content placement and cache hit rates, leaving other object cache. A single object could in fact model a bucket factors that impact performance such as server-to-user la- of objects that cached together as is often done in a CDN tency for future work. context [17]. 2.1 Problem Formulation 2.2 The Algorithm GoWithTheWinner ∈ ∈ Let U be a set of n users who each request an object After each user u U has picked an content item a A u u picked independently from a set C of size n using a power using the power law distribution described in Equation 1, c law distribution where the kth most popular object in C is algorithm GoWithTheWinner described below is executed ##LTLine##

text: no

text: server

text: is

text: overloaded

text: and

text: all

text: users

text: obtain

text: the

text: required

text: bi-

text: picked

text: with

text: a

text: probability

text: trate

text: for

text: their

text: video

text: to

text: play

text: without

text: freezes.

text: Further,

text: we

text: show

text: that

text: two

text: or

text: more

text: random

text: choices

text: of

text: candidate

text: servers

text: pk

text: kα

text: H(n

text: α),

text: are

text: necessary,

text: as

text: just

text: one

text: random

text: choice

text: will

text: result

text: in

text: some

text: c

text: users

text: receiving

text: bitrates

text: that

text: tend

text: to

text: zero,

text: as

text: the

text: number

text: of

text: where

text: α

text: is

text: the

text: exponent

text: of

text: the

text: distribution

text: and

text: H(n

text: α)

text: c

text: users

text: and

text: servers

text: tends

text: to

text: inﬁnity.

text: is

text: the

text: generalized

text: harmonic

text: number

text: that

text: is

text: the

text: normalizing

text: H

text: In

text: Section

text: we

text: go

text: beyond

text: our

text: theoretical

text: model

text: constant,

text: i.e.,

text: (nc,

text: α)

text: nk=c

text: Note

text: that

text: power

text: law

text: and

text: simulate

text: algorithm

text: GoWithTheWinner

text: in

text: more

text: complex

text: distributions

text: (aka

text: Zipf

text: distributions)

text: are

text: commonly

text: used

text: to

text: settings.

text: We

text: establish

text: an

text: inverse

text: relationship

text: between

text: the

text: model

text: the

text: popularity

text: of

text: online

text: content

text: such

text: as

text: web

text: pages,

text: length

text: of

text: the

text: history

text: used

text: for

text: hitrate

text: computation

text: (denoted

text: and

text: videos.

text: This

text: family

text: of

text: distributions

text: is

text: parametrized

text: by

text: by

text: τ)

text: and

text: the

text: failure

text: rate

text: deﬁned

text: as

text: the

text: probability

text: that

text: the

text: a

text: Zipf

text: rank

text: exponent

text: α

text: with

text: α

text: representing

text: the

text: ex-

text: system

text: converges

text: to

text: a

text: non-optimal

text: state.

text: We

text: show

text: that

text: as

text: τ

text: treme

text: case

text: of

text: an

text: uniform

text: distribution

text: and

text: larger

text: values

text: of

text: α

text: increases

text: the

text: convergence

text: time

text: increases,

text: but

text: the

text: failure

text: rate

text: representing

text: a

text: greater

text: skew

text: in

text: the

text: popularity.

text: It

text: has

text: been

text: es-

text: decreases.

text: We

text: also

text: empirically

text: evaluate

text: the

text: impact

text: of

text: the

text: timated

text: that

text: the

text: popularity

text: of

text: web

text: content

text: can

text: be

text: modeled

text: number

text: of

text: choices

text: of

text: candidate

text: servers.

text: We

text: show

text: that

text: two

text: by

text: a

text: power

text: law

text: distribution

text: with

text: an

text: α

text: in

text: the

text: range

text: from

text: or

text: more

text: random

text: choices

text: are

text: required

text: for

text: all

text: users

text: to

text: receive

text: to

text: The

text: user

text: then

text: sticks

text: with

text: that

text: content

text: and

text: a

text: hitrate.

text: Though

text: even

text: if

text: only

text: of

text: the

text: users

text: make

text: makes

text: a

text: sequence

text: of

text: requests

text: to

text: the

text: set

text: of

text: available

text: servers.

text: two

text: choices,

text: it

text: is

text: suﬃcient

text: for

text: of

text: the

text: users

text: to

text: receive

text: a

text: Relating

text: to

text: the

text: reality,

text: users

text: tend

text: to

text: stay

text: with

text: one

text: website

text: hitrate.

text: Finally,

text: we

text: show

text: that

text: the

text: convergence

text: time

text: for

text: a

text: while,

text: say

text: reading

text: the

text: news

text: or

text: looking

text: at

text: a

text: friend’s

text: increases

text: with

text: system

text: load.

text: But,

text: convergence

text: time

text: decreases

text: posts.

text: Here

text: the

text: whole

text: website

text: is

text: what

text: we

text: considered

text: a

text: con-

text: when

text: the

text: exponent

text: of

text: power

text: law

text: distribution

text: that

text: describes

text: tent.

text: We

text: model

text: the

text: sequence

text: of

text: requests

text: generated

text: by

text: each

text: content

text: popularity

text: increases.

text: user

text: as

text: a

text: Poisson

text: process

text: with

text: a

text: homogeneous

text: arrival

text: rate

text: λ.

text: Note

text: that

text: each

text: request

text: from

text: user

text: u

text: can

text: be

text: sent

text: to

text: one

text: or

text: more

text: servers

text: selected

text: from

text: S

text: S,

text: where

text: S

text: is

text: the

text: server

text: HIT

text: RATE

text: MAXIMIZATION

text: FOR

text: WEB

text: u

text: u

text: set

text: chosen

text: by

text: user

text: u.

text: CONTENT

text: Let

text: S

text: be

text: the

text: set

text: of

text: n

text: servers

text: that

text: are

text: capable

text: of

text: serving

text: s

text: content

text: to

text: the

text: users.

text: Each

text: server

text: can

text: cache

text: at

text: most

text: κ

text: objects

text: The

text: key

text: measure

text: of

text: web

text: performance

text: is

text: download

text: time

text: and

text: a

text: cache

text: replacement

text: policy

text: such

text: as

text: LRU

text: is

text: used

text: to

text: evict

text: which

text: is

text: the

text: time

text: taken

text: for

text: a

text: user

text: to

text: download

text: a

text: web

text: object,

text: objects

text: when

text: the

text: cache

text: is

text: full.

text: Given

text: that

text: the

text: download

text: time

text: such

text: as

text: a

text: html

text: page

text: or

text: an

text: embedded

text: image.

text: CDNs

text: enhance

text: of

text: a

text: web

text: object

text: is

text: signiﬁcantly

text: diﬀerent

text: when

text: the

text: request

text: is

text: web

text: performance

text: by

text: deploying

text: a

text: large

text: number

text: servers

text: in

text: ac-

text: a

text: cache

text: hit

text: versus

text: a

text: cache

text: miss,

text: we

text: make

text: the

text: reasonable

text: cess

text: networks

text: that

text: are

text: “close”

text: to

text: the

text: users.

text: Each

text: server

text: has

text: assumption

text: that

text: the

text: user

text: can

text: reliably

text: infer

text: if

text: its

text: request

text: to

text: a

text: cache

text: that

text: is

text: capable

text: of

text: storing

text: web

text: objects.

text: When

text: a

text: user

text: download

text: an

text: object

text: from

text: a

text: server

text: resulted

text: in

text: a

text: cache

text: hit

text: or

text: requests

text: an

text: object,

text: such

text: as

text: a

text: web

text: page,

text: the

text: user

text: is

text: directed

text: a

text: cache

text: miss

text: immediately

text: after

text: the

text: download

text: completes.

text: to

text: a

text: server

text: that

text: can

text: serve

text: the

text: object

text: (cf.

text: Figure

text: If

text: the

text: The

text: objective

text: of

text: client-side

text: server

text: selection

text: is

text: for

text: each

text: user

text: server

text: already

text: has

text: the

text: object

text: in

text: its

text: cache,

text: i.e,

text: the

text: user’s

text: re-

text: u

text: U

text: to

text: independently

text: select

text: a

text: server

text: s

text: S

text: using

text: only

text: the

text: quest

text: is

text: a

text: cache

text: hit,

text: the

text: object

text: is

text: served

text: from

text: the

text: cache

text: to

text: the

text: performance

text: feedback

text: obtained

text: on

text: whether

text: each

text: request

text: was

text: user.

text: In

text: this

text: case,

text: the

text: user

text: experiences

text: good

text: performance,

text: a

text: hit

text: or

text: a

text: miss.

text: Let

text: the

text: hit

text: rate

text: function

text: H(u,

text: s,

text: t)

text: denote

text: since

text: the

text: CDN’s

text: servers

text: are

text: proximal

text: to

text: the

text: user

text: and

text: the

text: the

text: probability

text: of

text: user

text: u

text: receiving

text: a

text: hit

text: from

text: server

text: s

text: S

text: u

text: object

text: is

text: downloaded

text: quickly.

text: However,

text: if

text: the

text: requested

text: ob-

text: at

text: time

text: t.

text: We

text: deﬁne

text: the

text: system-wide

text: performance

text: measure

text: ject

text: is

text: not

text: in

text: the

text: server’s

text: cache,

text: i.e.,

text: the

text: user’s

text: request

text: is

text: a

text: H(t),

text: as

text: the

text: best

text: hit

text: rate

text: obtained

text: by

text: the

text: worst

text: user

text: at

text: time

text: cache

text: miss,

text: then

text: the

text: server

text: ﬁrst

text: fetches

text: it

text: from

text: the

text: origin,

text: t,

text: places

text: it

text: in

text: its

text: cache,

text: and

text: then

text: serves

text: the

text: object

text: to

text: the

text: user.

text: In

text: the

text: case

text: of

text: a

text: cache

text: miss,

text: the

text: performance

text: experienced

text: by

text: the

text: user

text: is

text: often

text: poor

text: since

text: the

text: origin

text: server

text: is

text: typically

text: H(t)

text: m∈in

text: m∈ax

text: H(u,

text: s,

text: t),

text: u

text: U

text: s

text: Su

text: far

text: away

text: from

text: the

text: server

text: and

text: the

text: user.

text: In

text: fact,

text: if

text: there

text: is

text: a

text: cache

text: miss,

text: the

text: user

text: would

text: have

text: been

text: better

text: oﬀ

text: not

text: using

text: a.k.a.

text: the

text: minmax

text: hit

text: rate.

text: Our

text: goal

text: is

text: to

text: maximize

text: the

text: CDN

text: at

text: all,

text: since

text: downloading

text: the

text: content

text: directly

text: from

text: H(t).In

text: the

text: rest

text: of

text: the

text: section,

text: we

text: describe

text: a

text: simple

text: canon-

text: the

text: content

text: provider’s

text: origin

text: would

text: likely

text: have

text: been

text: faster!

text: ical

text: “Go-With-The-Winner”

text: algorithm

text: for

text: server

text: selection

text: Since

text: the

text: size

text: of

text: a

text: server’s

text: cache

text: is

text: bounded,

text: cache

text: misses

text: and

text: show

text: that

text: it

text: converges

text: quickly

text: to

text: an

text: optimal

text: state,

text: with

text: are

text: inevitable.

text: A

text: key

text: goal

text: of

text: server

text: selection

text: for

text: web

text: con-

text: high

text: probability.

text: tent

text: delivery

text: is

text: to

text: jointly

text: orchestrate

text: server

text: assignment

text: and

text: Note:

text: Our

text: formulation

text: is

text: intentionally

text: simple

text: so

text: that

text: it

text: content

text: placement

text: in

text: caches

text: such

text: that

text: the

text: cache

text: hit

text: rate

text: is

text: could

text: model

text: a

text: variety

text: of

text: other

text: situations

text: in

text: web

text: content

text: maximized.

text: While

text: server

text: selection

text: in

text: CDNs

text: is

text: a

text: complex

text: delivery.

text: For

text: instance,

text: a

text: single

text: server

text: could

text: in

text: fact

text: model

text: process

text: we

text: analytically

text: model

text: the

text: key

text: elements

text: that

text: re-

text: a

text: cluster

text: of

text: front-end

text: servers

text: that

text: share

text: a

text: single

text: backend

text: late

text: to

text: content

text: placement

text: and

text: cache

text: hit

text: rates,

text: leaving

text: other

text: object

text: cache.

text: A

text: single

text: object

text: could

text: in

text: fact

text: model

text: a

text: bucket

text: factors

text: that

text: impact

text: performance

text: such

text: as

text: server-to-user

text: la-

text: of

text: objects

text: that

text: cached

text: together

text: as

text: is

text: often

text: done

text: in

text: a

text: CDN

text: tency

text: for

text: future

text: work.

text: context

text: Problem

text: Formulation

text: The

text: Algorithm

text: GoWithTheWinner

text: Let

text: U

text: be

text: a

text: set

text: of

text: n

text: users

text: who

text: each

text: request

text: an

text: object

text: After

text: each

text: user

text: u

text: U

text: has

text: picked

text: an

text: content

text: item

text: a

text: A

text: u

text: u

text: picked

text: independently

text: from

text: a

text: set

text: C

text: of

text: size

text: n

text: using

text: a

text: power

text: using

text: the

text: power

text: law

text: distribution

text: described

text: in

text: Equation

text: c

text: law

text: distribution

text: where

text: the

text: kth

text: most

text: popular

text: object

text: in

text: C

text: is

text: algorithm

text: GoWithTheWinner

text: described

text: below

text: is

text: executed

text: ##LTLine##


text: III. ASTROINDEPENDENT TECHNIQUES The diﬀerential scattering rate (1) can be written as the product of a detector indepen- dent function and a detector dependent term. Thus, any direct detection result can be reinterpreted as an observation of, or constraint on, the detector independent quantity, ρσ (cid:82) p g˜(v ) = g(v ) (4) min min m χ where g(v ) = vesc d3vf(v)/v is the dependence of the rate on the integral of the DM ve- min vmin locity distribution. To compare these detector independent quantities between experiments an assumption has to be made about the DM mass. Equivalently, by going through this v -space [19] and comparing g˜(v ) it is possible to compare the results of two experiments min min without making assumptions about the local DM velocity distribution, a poorly determined quantity [25]. When dealing with actual experimental data there are additional issues one must contend with, such as binning of data, experimental resolution, and eﬃciencies [21]. However, due to the low statistics of present searches these are often subleading eﬀects. For elastically scattering DM there is a one-to-one relationship between the observed energy of an event and the minimum allowed speed the incoming DM could posses. For inelastic or exothermic DM this relationship is no longer so straightforward. For any given energy there is still only one v , but the inverse is no longer true. There are two branches, min and for a particular v there are two recoil energies this could correspond to. For energies min | | less than E = µδ/m the minimum velocity, v , is a decreasing function of E and for tp N min R E > E it is an increasing function. Note that at this turning point, E , the minimum R tp tp dark matter speed probed is non-zero for inelastic DM and is 0 km/s for exothermic. This is as expected since for inelastic the DM must carry suﬃcient energy to up scattering, while a down scatter can occur for any incoming speed, even zero. This surjective map from v -space to energy space still allows for a simple comparison min of multiple experiments by mapping the data from energy to v -space, as before. It also min has the interesting feature that a single experiment, should it be sensitive to recoil energy both above and below E , has the capability to probe the same part of velocity space twice. 0 This double determination of g(v ) by a single experiment allows, if there is suﬃcient data min and backgrounds are under control, one to determine whether a putative signal is consistent with a single DM species or not. 7 ##LTLine##

text: III.

label: section

text: ASTROINDEPENDENT

text: TECHNIQUES

text: The

text: diﬀerential

text: scattering

text: rate

text: can

text: be

text: written

text: as

text: the

text: product

text: of

text: a

text: detector

text: indepen-

text: dent

text: function

text: and

text: a

text: detector

text: dependent

text: term.

text: Thus,

text: any

text: direct

text: detection

text: result

text: can

text: be

text: reinterpreted

text: as

text: an

text: observation

text: of,

text: or

text: constraint

text: on,

text: the

text: detector

text: independent

text: quantity,

text: ρσ

text: p

text: g˜(v

text: g(v

text: min

text: min

text: m

text: χ

text: where

text: g(v

text: vesc

text: is

text: the

text: dependence

text: of

text: the

text: rate

text: on

text: the

text: integral

text: of

text: the

text: DM

text: ve-

text: min

text: vmin

text: locity

text: distribution.

text: To

text: compare

text: these

text: detector

text: independent

text: quantities

text: between

text: experiments

text: an

text: assumption

text: has

text: to

text: be

text: made

text: about

text: the

text: DM

text: mass.

text: Equivalently,

text: by

text: going

text: through

text: this

text: v

text: -space

text: and

text: comparing

text: g˜(v

text: it

text: is

text: possible

text: to

text: compare

text: the

text: results

text: of

text: two

text: experiments

text: min

text: min

text: without

text: making

text: assumptions

text: about

text: the

text: local

text: DM

text: velocity

text: distribution,

text: a

text: poorly

text: determined

text: quantity

text: When

text: dealing

text: with

text: actual

text: experimental

text: data

text: there

text: are

text: additional

text: issues

text: one

text: must

text: contend

text: with,

text: such

text: as

text: binning

text: of

text: data,

text: experimental

text: resolution,

text: and

text: eﬃciencies

text: However,

text: due

text: to

text: the

text: low

text: statistics

text: of

text: present

text: searches

text: these

text: are

text: often

text: subleading

text: eﬀects.

text: For

text: elastically

text: scattering

text: DM

text: there

text: is

text: a

text: one-to-one

text: relationship

text: between

text: the

text: observed

text: energy

text: of

text: an

text: event

text: and

text: the

text: minimum

text: allowed

text: speed

text: the

text: incoming

text: DM

text: could

text: posses.

text: For

text: inelastic

text: or

text: exothermic

text: DM

text: this

text: relationship

text: is

text: no

text: longer

text: so

text: straightforward.

text: For

text: any

text: given

text: energy

text: there

text: is

text: still

text: only

text: one

text: v

text: but

text: the

text: inverse

text: is

text: no

text: longer

text: true.

text: There

text: are

text: two

text: branches,

text: min

text: and

text: for

text: a

text: particular

text: v

text: there

text: are

text: two

text: recoil

text: energies

text: this

text: could

text: correspond

text: to.

text: For

text: energies

text: min

text: less

text: than

text: E

text: µδ/m

text: the

text: minimum

text: velocity,

text: v

text: is

text: a

text: decreasing

text: function

text: of

text: E

text: and

text: for

text: tp

text: N

text: min

text: R

text: E

text: E

text: it

text: is

text: an

text: increasing

text: function.

text: Note

text: that

text: at

text: this

text: turning

text: point,

text: E

text: the

text: minimum

text: R

text: tp

text: tp

text: dark

text: matter

text: speed

text: probed

text: is

text: non-zero

text: for

text: inelastic

text: DM

text: and

text: is

text: km/s

text: for

text: exothermic.

text: This

text: is

text: as

text: expected

text: since

text: for

text: inelastic

text: the

text: DM

text: must

text: carry

text: suﬃcient

text: energy

text: to

text: up

text: scattering,

text: while

text: a

text: down

text: scatter

text: can

text: occur

text: for

text: any

text: incoming

text: speed,

text: even

text: zero.

text: This

text: surjective

text: map

text: from

text: v

text: -space

text: to

text: energy

text: space

text: still

text: allows

text: for

text: a

text: simple

text: comparison

text: min

text: of

text: multiple

text: experiments

text: by

text: mapping

text: the

text: data

text: from

text: energy

text: to

text: v

text: -space,

text: as

text: before.

text: It

text: also

text: min

text: has

text: the

text: interesting

text: feature

text: that

text: a

text: single

text: experiment,

text: should

text: it

text: be

text: sensitive

text: to

text: recoil

text: energy

text: both

text: above

text: and

text: below

text: E

text: has

text: the

text: capability

text: to

text: probe

text: the

text: same

text: part

text: of

text: velocity

text: space

text: twice.

text: This

text: double

text: determination

text: of

text: g(v

text: by

text: a

text: single

text: experiment

text: allows,

text: if

text: there

text: is

text: suﬃcient

text: data

text: min

text: and

text: backgrounds

text: are

text: under

text: control,

text: one

text: to

text: determine

text: whether

text: a

text: putative

text: signal

text: is

text: consistent

text: with

text: a

text: single

text: DM

text: species

text: or

text: not.

text: ##LTLine##