• Keine Ergebnisse gefunden

contains less thanmelements, i.e., Fue,t < m, it selects allFue,t files fromFtue to cache.

Since the cache is not fully filled byFue,t< m files, (m−Fue,t) additional files may be cached. In order to exploit knowledge obtained so far, CAC selects (m−Fue,t) additional files fromF \Ftueas follows. CAC ranks the files inF \Ftueaccording to their estimated weighted demands, and selects those (m −Fue,t) files ˆf1,Pt,Gt(t), ...,fˆm−Fue,t,Pt,Gt(t) ∈ F \ Ftue which satisfy forj = 1, ..., m−Fue,t:

j,Pt,Gt(t)∈ argmax

f∈F \(Ftue

j−1

S

k=1

{fˆk,Pt,Gt(t)})

wf

Ut

X

i=1

vgt,iµˆf,pt,i(t). (4.9)

If the set of files defined by (4.9) is not unique, ties are broken arbitrarily. Note that by this procedure, even in exploration phases, the algorithm additionally exploits, whenever the number of under-explored files is smaller than the cache size.

If the setFtue is empty, CAC enters an exploitation phase and selectsmfiles from F as follows. CAC ranks the files in F according to the estimated weighted demands, and selects those m files ˆf1,Pt,Gt(t), ...,fˆm,Pt,Gt(t)∈ F which satisfy for j = 1, ..., m:

j,Pt,Gt(t)∈ argmax

f∈F \(Sj−1k=1{fˆk,Pt,Gt(t)}) wf

Ut

X

i=1

vgt,iµˆf,pt,i(t). (4.10)

If the set of files defined by (4.10) is not unique, ties are again broken arbitrarily.

After caching the selected files, the algorithm broadcasts the information about cache contentCt. Then, the algorithm observes the users’ requests for these files until the end of the time slot. Upon completion of the time slot, it updates the estimated demands and the counters of cached files.

holds. The regret bound bases upon the assumption that the expected demand for a file is similar in similar contexts, meaning that users with similar contexts are likely to consume similar content. This assumption is natural since when the users’ content preferences differ based on the users’ contexts, one may divide the user population into segments of users with similar context and similar preferences. The similarity assump-tion is captured by the following H¨older continuity assumption, cf. Section 2.3.3.4.

Assumption 4.1 (H¨older continuity assumption). There exist L > 0 and 0 < α≤ 1 such that

f(x)−µf(˜x)| ≤L||x−˜x||αD (4.11) holds for all f ∈ F and for all x,˜x ∈ X, where || · ||D denotes the Euclidean norm in RD.

While Assumption 4.1 is needed for the analysis of the regret, it is important to note that CAC may also be applied to data which does not satisfy this assumption. However, a regret bound may not be guaranteed in this case.

The following theorem shows that the regret of CAC is sublinear in the time horizonT. Theorem 4.1 (Bound for R(T)). Let K(t) = t3α+D log(t), t = 1, ..., T, and hT = dT3α+D1 e. If CAC is run with these parameters and Assumption 4.1 holds true, the regret R(T) is bounded by

R(T)≤mUmaxvmaxwmax Rmax2D|F | ·(log(T)T2α+D3α+D +T3α+DD )

+ 2Rmax

(2α+D)/(3α+D)T2α+D3α+D + 2LDα2T2α+D3α+D +UmaxRmax|F |π2 3

!

. (4.12)

The leading order of the regret is hence O

log(T)T2α+D3α+D .

The proof can be found in Appendix A.5. The idea of the proof is as follows. First, the regret is decomposed into two terms, one term representing the regret due to exploration phases and one term representing the regret due to exploitation phases.

Each of the two terms is then bounded separately. Bounding the first term works as follows. The loss due to selecting suboptimal files in exploration phases may be upper-bounded by a constant. Moreover, it is shown that the number of exploration phases is limited and can be bounded sublinearly inT, given an appropriate choice of the input parameters. Overall, this leads to a sublinear upper bound on the regret due

to exploration phases. The idea for bounding the second term is as follows. First, one distinguishes between two different types of exploitation phases, depending on whether the estimated demand ˆµf,pt,i(t) of each file f ∈ F in each current hypercube pt,i, i = 1, ..., Ut, is “close” to its expected value E[ˆµf,pt,i(t)]. Then, for exploitation phases in which the latter holds true, one can show that even if a suboptimal set of files is selected, the loss cannot be very large, but can in fact be bounded sublinearly in T, given an appropriate choice of input parameters. For the second type of exploitation phases, the loss due to selecting suboptimal files is upper-bounded by a constant. Moreover, one can show that the number of this type of exploitation phases is limited by a sublinear bound in T given an appropriate choice of the input parameters. Overall, this leads to a sublinear upper bound on the regret due to exploitation phases. Then, the overall regret bound follows by setting the appropriate input parameters.

Note that the proof technique used in this thesis is inspired by [KTvK18] and it is different from the one used in our original publications on context-aware proactive caching [MAvK16, MAvK17]. Using the new proof technique, the regret bound pre-sented in Theorem 4.1 improves the regret bounds derived in [MAvK16, MAvK17] in some of the constant factors (while the order of the regret remains the same). The regret bound given in Theorem 4.1 is sublinear in the time horizonT. Hence, whenT goes to infinity, CAC converges to the optimal cache content placement strategy that maximizes the expected number of weighted cache hits. Moreover, since Theorem 4.1 is applicable for any finite time horizon T, it characterizes CAC’s speed of convergence.

Finally, Theorem 4.1 shows that the regret bound for the general case with service differentiation is a constant multiple of the regret bound in the special case without service differentiation, in which vmax = 1 and wmax = 1 holds. Therefore, also in the case without service differentiation, the order of the regret is of orderO

T2α+D3α+Dlog(T)

.

4.6.2 Computational Complexity

Here, we analyze the computational complexity of the proposed algorithm within one time slot t as a function of the dimension D of the context space and of the library size |F |. For this purpose, we identify the most computationally expensive procedures in the algorithm.

The complexity of line 6 in Algorithm 4.1 does neither grow withDnor|F |, and hence the computational complexity of this line isO(1). The observation of the user contexts grows asO(D) since user contexts are vectors of lengthD, and each entry needs to be considered once. In Line 8, finding the hypercube in the partition of the context space

to which a user context vector belongs, has a complexity that grows as O(D). This is because, one can give a separate index to each hypercube in each context dimension and then compute the index of the hypercube to which a context vector belongs in each of the Dcontext dimension once and independently of the other dimensions. Computing the set of under-explored files in Line 9 has a complexity that grows asO(|F |) since each file has to be considered once. Lines 10 and 11 have a computational complexity that grows at most as O(|F |) by considering each file at most once. Line 12 neither grows with D nor |F |, and hence its computational complexity is O(1). Selecting m files in lines 13, 15-16 or 19 neither grows withDnor |F |and is hence of orderO(1). Ranking the files in lines 16 or line 19 has a complexity that grows asO(|F |log|F |) since at most

|F |files need to be sorted [CLRS09]. Finally, the remaining lines neither grow with D nor|F |, and hence their computational complexity isO(1). Overall, the computational complexity of the proposed CAC algorithm grows hence as O(D+|F |log|F |), i.e., CAC has a computational complexity that grows linearly as a function of the number of context dimensions and log-linearly as a function of the file library size.

4.6.3 Memory Requirements

Here, we study the memory requirements needed for running the proposed context-aware proactive caching algorithm. The memory requirements of CAC mostly consist of the counters and estimates kept by the algorithm during its runtime, cf. [TvdS15a].

The algorithm keeps the counter Nf,p and the estimate ˆµf,p for each pair consisting of a set p ∈ PT and a file f ∈ F. The number of files in F is |F |. Moreover, if the input parameters from Theorem 4.1 are used, the number of sets in PT is upper-bounded by (hT)D = dT3α+D1 eD ≤ (1 +T3α+D1 )D. Therefore, the required memory is upper-bounded by 2|F |(1 + T3α+D1 )D. This shows that the required memory is sublinear in the time horizonT. This means that whenT goes to infinity, the algorithm approaches infinite memory requirements. However, since in practice, only the counter and estimate of those setsp∈PT have to be kept to which at least one of the already arrived user contexts belonged, the actual number of kept counters and estimates may be much smaller than given by the upper bound.

4.6.4 Communication Requirements

Here, we study the communication requirements of CAC in one time slot t. In time slot t, the caching entity observes the contexts of the Ut currently connected users. If all context information is collected from the mobile devices (instead of from external

sources, see Section 4.3.3), the mobile device of each user needs to submit a vector of lengthDto the caching entity. Moreover, in time slott, the caching entity informs the users about the current cache content by sending a broadcast, consisting of identifiers of the m currently cached files. This broadcast would also have to be sent using a proactive caching algorithm for caching at the edge which does not exploit context information [BG14b, BG14c, BG14a]. Hence, the only additional data transmission in CAC resulting from context awareness is the transmission of the Ut context vectors, and the amount of data that each mobile device needs to transmit is only linear in the dimensionDof the context space. Moreover, even less data needs to be transmitted by the mobile devices if a part or all of the context information is collected from external sources (e.g., social media platforms).