This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Improved Hotplug Caching Schemes Using PDAs and t-Designs

Charul Rajput and B. Sundar Rajan
Department of Electrical Communication Engineering, Indian Institute of Science, Bengaluru
E-mails: [email protected], [email protected]
Abstract

We consider a coded caching system in which some users are offline at the time of delivery. Such systems are called hotplug coded caching systems. A placement delivery array (PDA) is a well-known tool for constructing a coded caching scheme for dedicated caches. In this paper, we introduce the concept of PDAs for hotplug coded caching schemes and refer to it as a hotplug placement delivery array (HpPDA). We give an algorithm to describe the placement and the delivery phase of a hotplug coded caching scheme using HpPDA. We show that an existing hotplug coded caching scheme given by Y. Ma and D. Tuninetti in 2022 corresponds to a class of HpPDAs and then propose a method to further improve the rate of that scheme. Additionally, we construct a class of HpPDAs using tt-designs, which corresponds to a scheme for hotplug coded caching systems. We further improve the rate of this scheme and prove that the cut-set bound is achieved in some higher memory range for a hotplug coded caching system with three active users.

Index Terms:
Hotplug coded caching systems, Placement delivery array, Combinatorial designs

I Introduction

Coded caching is an emerging tool to reduce transmission load during peak traffic hours in the network. The concept of coded caching was first introduced in by Maddah-Ali and Niesen in [1]. In a general setup of coded caching systems, there is a server with NN files and KK users connected to the server by an error-free shared link. Each user is equipped with a cache of size equivalent to MM files. A coded caching scheme consists of two phases: the placement phase and the delivery phase. In the placement phase, the server stores some content in each user’s cache when the network is not busy and the users have not presented their demands yet. In the delivery phase, when all users have revealed their demands, the transmission from the server will be made in such a way that each user will get their demanded files using transmissions and the cache content. The aim of any coded caching scheme is to jointly design such placement and delivery phases that minimize transmission load at the time of delivery.

Several coded caching schemes have been proposed in the literature [1, 2, 3, 4, 5, 6]. The first and popular scheme presented in [1] is referred to as the Maddah-Ali and Niesen (MAN) scheme. In [7], this scheme was proved to achieve the converse bound on the rate when the placements are uncoded, and the number of files is not less than the number of users. For the case when the number of files is less than the number of users, the authors of [4] have proposed an improved version of the MAN scheme, referred to as the YMA (Yu, Maddah-Ali and Avestimehr) scheme that achieves the converse bound on the rate given in [4]. There are many variations of the coded caching model, such as coded caching systems with decentralized server [8], hierarchical coded caching [9], coded caching with nonuniform demands [10], multi-antenna coded caching [11], coded caching for multi-level popularity and access [12], coded caching with private demands [13].

Another variation of the basic coded caching model is the hotplug coded caching system [14], in which some users are offline at the time of delivery. Clearly, this is more practical than the original setup because some users may fail to convey their demands to the server; however, in the MAN scheme, the demands of all users are needed to generate the transmissions. In a hotplug coded caching system, there are a total of KK users, but only KK^{\prime} users are active at the time of delivery. During the placement, only the number of active users should be known to the server, not their identity. That means placements in the users’ cache will be made in such a way that in the delivery phase, the server can send the transmissions as soon as the demands of any KK^{\prime} active users are received. In [14], authors have provided a scheme for hotplug coded caching systems based on the MAN scheme, in which coded placements were made using Maximum Distance Separable (MDS) codes [15]. An [n,k][n,k] MDS code has the property that any kk symbols out of nn symbols are information symbols, i.e., the information can be recovered from any set of kk code symbols. Also, in [16], authors have considered the case of user inactivity for centralized and decentralized coded caching systems. Recently, in [17], the hotplug coded caching systems were studied with the demand privacy condition.

The high subpacketization was the problem of the MAN scheme when it came to the implementation. To tackle that problem, in [18], authors proposed the concept of placement delivery array (PDA), which provides both placement and delivery strategies in a single array. They proposed a new centralized coded caching scheme using PDAs and also proved that the MAN scheme corresponds to a class of PDA referred to as MAN PDA. There are many coded caching schemes proposed in the literature based on the PDAs [19, 20, 21, 22, 23, 24].

I-A Contributions

The contributions of this paper are listed as follows.

  1. 1.

    We introduce the concept of placement delivery arrays for hotplug coded caching schemes and refer to it as HpPDA.

  2. 2.

    Corresponding to each HpPDA, we define the placement and delivery phases of a hotplug coded caching scheme in Algorithm 1.

  3. 3.

    We provide a class of HpPDA that corresponds to the first new scheme given in [14]. Since the placement and delivery phases of the first new scheme were similar to the MAN scheme but with coded placements, the corresponding class of HpPDA consists of MAN PDA. Therefore, we refer to this class as MAN HpPDA.

  4. 4.

    We provide a method to further reduce the rate of a hotplug coded caching scheme using HpPDA, and using that method, we reduce the rate of the scheme that corresponds to MAN HpPDA.

  5. 5.

    We propose a class of HpPDAs based on tt-designs, and the hotplug coded caching scheme corresponds to that is referred to as tt-Scheme in this paper. tt-Scheme provides multiple non-trivial memory rate points using one tt-design. This is in contrast to the work in [25, 26, 27, 28] using designs where the schemes corresponds to only one non-trivial point. The rate of tt-Scheme is further improved.

  6. 6.

    Further, we present the comparison of tt-Scheme with the existing schemes for several examples of tt-designs, which show that tt-Scheme is better than the existing schemes in certain higher memory ranges.

  7. 7.

    Using two classes of 33-(v,k,λ)(v,k,\lambda) design, we show that tt-Scheme for a hotplug coded caching system with three active users achieves the converse lower bound for some memory points.

I-B Paper organization

This paper focuses on the hotplug coded caching systems [14]. In the next section, we describe the model of a hotplug coded caching system and briefly review the scheme of [14]. The definitions of PDA and some combinatorial designs are given in Section III with some results on tt-designs, which will be useful in the proposed construction of HpPDAs. In Section IV, we define HpPDA, and corresponding to each HpPDA, we define a hotplug coded caching scheme whose placement and delivery phases are defined in Algorithm 1 given in Section IV. Then, we provide a class of HpPDA that corresponds to the scheme given in [14]. We summarize our results in Section V. In Section VI, we provide a method to reduce the rate of a hotplug coded caching scheme using HpPDAs. Based on that method, we reduce the rate of the scheme given in [14]. In Section VII, we construct a class of HpPDA based on a class of combinatorial designs called tt-designs, and then we improve the rate of that scheme. The comparison between the rate of the proposed scheme with the existing schemes is given in Section VIII. In the last, we prove that the cut-set bound is achieved in some higher memory ranges for a hotplug coded caching system with three active users in Section IX. Finally, we conclude the paper in Section X.

I-C Notations

For a positive integer nn, [n][n] denotes the set {1,2,,n}\{1,2,\ldots,n\} and [a:b][a:b] denotes the set {a,a+1,,b}\{a,a+1,\ldots,b\}. For two sets AA and BB, the notation ABA\setminus B denotes the set of elements in A which are not in B. For a set AA, the number of elements in it is represented by |A||A|. The binomial coefficient represented as (nk)\binom{n}{k} is equal to n!k!(nk)!\frac{n!}{k!(n-k)!}, where nn and kk are positive integers such that knk\leq n. For a set SS and a positive integer tt, the notation (St){S\choose t} represents the collection of all the subsets of SS of size tt.

II Hotplug coded caching system

In a (K,K,N)(K,K^{\prime},N) hotplug coded caching system, KKK^{\prime}\leq K, a server stores NN files, denoted by W1,W2,,WNW_{1},W_{2},\ldots,W_{N} each of size BB bits. The KK number of users are connected to the server via an error-free shared link. Each user has a cache of size of MM files.

In placement phase, server is unware of which KK^{\prime} users will be active and what will be their demands. Assumption is that server knows that there will be KK^{\prime} number of users active at the time of delivery. In delivery phase, the active users will send their demand to the server, the server will send the transmissions on shared link in such a way that the demand of each active user is statisfied using transmissions and cache content.

In [14], authors proposed three schemes named as baseline scheme, first new scheme and second new scheme. We briefly describe the first new scheme in the following subsection.

II-A Existing scheme for hotplug caching system based on MAN scheme [14]

We will refer to this scheme as MT (Ma and Tuninetti) scheme in the rest of the paper. Fix t[K]t\in[K^{\prime}] and partition each file into (Kt){K^{\prime}\choose t} equal-size subfiles as

Wi={Wi,S:S[K],|S|=t},for alli[N].W_{i}=\{W_{i,S}:S\subset[K^{\prime}],|S|=t\},\ \text{for all}\ i\in[N].

Then, for every i[N]i\in[N], we treat the subfiles of each file as the information symbols of an MDS code with generator matrix GG of dimension (Kt)×(Kt){K^{\prime}\choose t}\times{K\choose t}. The MDS coded symbols are

[Ci,S1Ci,S2Ci,S(Kt)]=GT[Wi,S1Wi,S2Wi,S(Kt)],i[N].\begin{bmatrix}C_{i,S^{\prime}_{1}}\\ C_{i,S^{\prime}_{2}}\\ \vdots\\ C_{i,S^{\prime}_{{K\choose t}}}\end{bmatrix}=G^{T}\begin{bmatrix}W_{i,S_{1}}\\ W_{i,S_{2}}\\ \vdots\\ W_{i,S_{{K^{\prime}\choose t}}}\end{bmatrix},\ \forall i\in[N].

Placement Phase: The cache content of user jj is

Zj={Ci,S:i[N],S[K],|S|=t,jS},j[K].Z_{j}=\{C_{i,S^{\prime}}:i\in[N],S^{\prime}\subseteq[K],|S^{\prime}|=t,j\in S^{\prime}\},\ \forall j\in[K].

Delivery phase: Let II denote the set of active users. Clearly, I[K]I\subseteq[K] and |I|=K|I|=K^{\prime}. The demands of active KK^{\prime} users are denoted by D[I]=[di1,di2,,diK]D[I]=[d_{i_{1}},d_{i_{2}},\ldots,d_{i_{K^{\prime}}}]. Then for all SI,|S|=t+1S\subseteq I,|S|=t+1 server will broadcast the following subfile

XS=kSCdk,S\{k}.X_{S}=\sum_{k\in S}C_{d_{k},S\backslash\{k\}}.

In case of repeated demands, there are (Krt+1){K^{\prime}-r^{\prime}\choose t+1} out of (Kt+1){K^{\prime}\choose t+1} redundant transmissions, which need not be sent (according to the YMA delivery [4]), where r=min(N,K)r^{\prime}=\min(N,K^{\prime}).

This scheme achieves the rate memory pair

(Mt,Rt)=(N(K1t1)(Kt),(Kt+1)(Krt+1)(Kt)),t[K],(M_{t},R_{t})=\left(N\frac{{K-1\choose t-1}}{{K^{\prime}\choose t}},\frac{{K^{\prime}\choose t+1}-{K^{\prime}-r^{\prime}\choose t+1}}{{K^{\prime}\choose t}}\right),\ \forall t\in[K^{\prime}],

where r=min(N,K)r^{\prime}=\min(N,K^{\prime}).

II-B Converse bounds

For a (K,K,N)(K,K^{\prime},N) hotplug coded caching system, we can utilize any converse result from the classical coded caching system with KK^{\prime} users and NN files. Clearly, the rate of a hotplug system cannot be better than the rate of a system where the server has prior knowledge of the set of KK^{\prime} active users. The following bound was given in [1] on the rate of the classical coded caching system and is called cut-set bound.

Lemma 1 ([1]).

For NN files and KK^{\prime} users each with cache of size 0MN0\leq M\leq N, the rate RR of a classical coded caching system is bounded by

Rmaxs{1,,min{N,K}}(ssN/sM).R\geq\max_{s\in\{1,\ldots,\min\{N,K^{\prime}\}\}}\left(s-\frac{s}{\lfloor N/s\rfloor}M\right).

The following converse bound was given by Yu et al. in [29].

Lemma 2 ([29]).

For NN files and KK^{\prime} users each with cache of size 0MN0\leq M\leq N, the rate RR of a classical coded caching system is lower bounded by

Rs1+αs(s1)(1)+2αs2(N+1)M,R\geq s-1+\alpha-\frac{s(s-1)-\ell(\ell-1)+2\alpha s}{2(N-\ell+1)}M,

for any s[min(N,K)],α[0,1]s\in[\min{(N,K^{\prime})}],\alpha\in[0,1], where {1,,s}\ell\in\{1,\ldots,s\} is the minimum value such that

s(s1)(1)2+αs(N+1).\frac{s(s-1)-\ell(\ell-1)}{2}+\alpha s\leq(N-\ell+1)\ell.

III Preliminaries

In this section, we review the definition of PDAs for dedicated coded caching systems, and PDA construction of MAN coded caching scheme. In Section VII, we will use combinatorial designs to construct PDAs for hotplug coded caching scheme, for which we review some basic definitions and results related to designs in this section.

Definition 1 (Placement Delivery Array [18]).

For positive integers K,F,ZK,F,Z and SS, an F×KF\times K array P=(pj,k)j[F],k[K]P=(p_{j,k})_{j\in[F],k\in[K]}, composed of a specific symbol “*” and non-negative integers from [1:S][1:S], is called a [K,F,Z,S][K,F,Z,S]- PDA if it satisfies the following conditions:

  1. C1.

    The symbol “*” appears ZZ times in each column,

  2. C2.

    Each integer occurs at least once in the array,

  3. C3.

    For any two distinct entries pj1,k1p_{j_{1},k_{1}} and pj2,k2p_{j_{2},k_{2}}, pj1,k1=pj2,k2=sp_{j_{1},k_{1}}=p_{j_{2},k_{2}}=s is an integer only if

    1. (a)

      j1j2,k1k2j_{1}\neq j_{2},k_{1}\neq k_{2}, i.e., they lie in distinct rows and distinct columns; and

    2. (b)

      pj1,k2=pj2,k1=p_{j_{1},k_{2}}=p_{j_{2},k_{1}}=*, i.e., the corresponding 2×22\times 2 sub-array formed by rows j1,j2j_{1},j_{2} and columns k1,k2k_{1},k_{2} must be of the following form

      [ss]or[ss].\begin{bmatrix}s&*\\ *&s\end{bmatrix}\quad\text{or}\quad\begin{bmatrix}*&s\\ s&*\end{bmatrix}.

A [K,F,Z,S][K,F,Z,S]-PDA PP corresponds to a (K,N,M)(K,N,M) coded caching scheme with KK users, NN files, cache memory of size of MM files, subpacketization level FF, MN=ZF\frac{M}{N}=\frac{Z}{F} and rate R=SFR=\frac{S}{F}.

Remark 1.

A PDA PP is called a gg-[K,F,Z,S][K,F,Z,S] regular PDA if each integer s[S]s\in[S] appears exactly gg times in PP.

Example 1.

A 33-(6,4,2,4)(6,4,2,4) PDA,

B=[231142413324].B=\begin{bmatrix}*&2&*&3&*&1\\ 1&*&*&4&2&*\\ *&4&1&*&3&*\\ 3&*&2&*&*&4\end{bmatrix}.

Construction of MAN PDA [18]: Let KK be an positive integer, t[K]t\in[K] and F=(Kt)F={K\choose t}. Now arrange all the subsets of size t+1t+1 of [K][K] in a some specific order and define f(S)f(S) to be its order for a set S[K],|S|=t+1S\subseteq[K],|S|=t+1. Then MAN PDA P=(pτ,j)P=(p_{\tau,j}), whose rows are indexed by the elements τ\tau in ([K]t){[K]\choose t} and columns are index by the elements jj in [K][K], is defined as

pτ,j={f(τ{j})ifjτotherwise.p_{\tau,j}=\begin{cases}f(\tau\cup\{j\})&\text{if}\ j\notin\tau\\ *&\text{otherwise}\end{cases}.

Here, PP is a (t+1)(t+1)-[K,(Kt),(K1t1),(Kt+1)]\left[K,{K\choose t},{K-1\choose t-1},{K\choose t+1}\right] regular PDA, which corresponds to a (K,N,M)(K,N,M) coded caching scheme with KK users, NN files, cache memory of size of MM files, MN=tK\frac{M}{N}=\frac{t}{K} and rate R=Ktt+1R=\frac{K-t}{t+1}.

Example 2.

A 44-[4,6,3,4][4,6,3,4] MAN PDA for t=2t=2,

B={blockarray}ccccc&1234{block}c[cccc]{1,2}12{1,3}13{1,4}23{2,3}14{2,4}24{3,4}34.B=\blockarray{ccccc}&1234\\ \block{c[cccc]}\{1,2\}**12\\ \{1,3\}*1*3\\ \{1,4\}*23*\\ \{2,3\}1**4\\ \{2,4\}2*4*\\ \{3,4\}34**\\ .

Now we present some basic definitions of designs. For more details of these results, refer to [30].

Definition 2 (Design).

A design is a pair (X,𝒜)(X,\mathcal{A}) such that the following properties are satisfied:

  1. 1.

    XX is a set of elements called points, and

  2. 2.

    𝒜\mathcal{A} is a collection of nonempty subsets of XX called blocks.

Definition 3 (tt-design).

Let v,k,λv,k,\lambda and tt be positive integers such that v>ktv>k\geq t. A tt-(v,k,λ)(v,k,\lambda) design is a design (X,𝒜)(X,\mathcal{A}) such that the following properties are satisfied:

  1. 1.

    |X|=v|X|=v,

  2. 2.

    each block contains exactly kk points, and

  3. 3.

    every set of tt distinct points is contained in exactly λ\lambda blocks.

For the sake of simplified presentation, the parantheses and commas have been dropped from the blocks in the following examples and in some other examples later, i.e., a block {a,b,c}\{a,b,c\} is written as abcabc.

Example 3.

Let X={1,2,3,4,5,6,7}X=\{1,2,3,4,5,6,7\}, and 𝒜={127,145,136,467,256,357,234}\mathcal{A}=\{127,145,136,467,256,357,234\}. This is a 22-(7,3,1)(7,3,1) design.

Example 4.

Let X={1,2,3,4,5,6}X=\{1,2,3,4,5,6\}, and 𝒜={1456,2356,1234,1256,1346,2345,1236,2456,1345,2346,\mathcal{A}=\{1456,2356,1234,1256,1346,2345,1236,2456,1345,2346, 1356,1245,3456,1246,1235}1356,1245,3456,1246,1235\}. This is a 33-(6,4,3)(6,4,3) design.

Corresponding to a tt-(v,k,λ)(v,k,\lambda) design (X,𝒜)(X,\mathcal{A}) there exists a (ti)(t-i)-(vi,ki,λ)(v-i,k-i,\lambda) design (X\Z,{A\Z:ZA𝒜})(X\backslash Z,\{A\backslash Z:Z\subseteq A\in\mathcal{A}\}), where ZX,|Z|=i<tZ\subseteq X,|Z|=i<t.

Definition 4 (Incidence Matrix).

Let (X,𝒜)(X,\mathcal{A}) be a design where X={x1,x2,,xv}X=\{x_{1},x_{2},\ldots,x_{v}\} and 𝒜={A1,A2,,Ab}\mathcal{A}=\{A_{1},A_{2},\ldots,A_{b}\}. The incidence matrix of (X,𝒜)(X,\mathcal{A}) is the v×bv\times b matrix M=(mi,j)M=(m_{i,j}) such that mi,j=1ifxiAjm_{i,j}=1\ \text{if}\ x_{i}\in A_{j}, and mi,j=0ifxiAjm_{i,j}=0\ \text{if}\ x_{i}\notin A_{j}.

Theorem 1 ([30]).

Suppose that (X,𝒜)(X,\mathcal{A}) is a tt-(v,k,λ)(v,k,\lambda) design. Suppose that YXY\subseteq X, where |Y|=st|Y|=s\leq t. Then there are exactly

λs=λ(vsts)(ksts)\lambda_{s}=\frac{\lambda{v-s\choose t-s}}{{k-s\choose t-s}} (1)

blocks in 𝒜\mathcal{A} that contain all the points in YY.

Therefore, the number of blocks in a tt-design is b=λ0=λ(vt)(kt)b=\lambda_{0}=\frac{\lambda{v\choose t}}{{k\choose t}}, and each point belongs to exactly λ1=λ(v1t1)(k1t1)\lambda_{1}=\frac{\lambda{v-1\choose t-1}}{{k-1\choose t-1}} blocks. Clearly, a tt-(v,k,λ)(v,k,\lambda) design (X,𝒜)(X,\mathcal{A}) is also an ss-(v,k,λs)(v,k,\lambda_{s}) design, for all 1st1\leq s\leq t.

Theorem 1 can be generalized as follows.

Theorem 2 ([30]).

Suppose that (X,𝒜)(X,\mathcal{A}) is a tt-(v,k,λ)(v,k,\lambda) design. Suppose that Y,ZXY,Z\subseteq X, where YZ=,|Y|=i,|Z|=jY\cap Z=\emptyset,|Y|=i,|Z|=j, and i+jti+j\leq t. Then there are exactly

λii+j=λ(vijki)(vtkt)\lambda_{i}^{i+j}=\frac{\lambda{v-i-j\choose k-i}}{{v-t\choose k-t}}

blocks in 𝒜\mathcal{A} that contain all the points in YY and none of the points in ZZ.

The next corollary directly follows from Theorem 2.

Corollary 1.

Suppose that (X,𝒜)(X,\mathcal{A}) is a tt-(v,k,λ)(v,k,\lambda) design and YTXY\subseteq T\subseteq X, where |T|=t,|Y|=i|T|=t,|Y|=i with iti\leq t. Then there are exactly

λit=λ(vtki)(vtkt).\lambda_{i}^{t}=\frac{\lambda{v-t\choose k-i}}{{v-t\choose k-t}}. (2)

blocks in 𝒜\mathcal{A} that contain all the points in YY and none of the points in T\YT\backslash Y.

IV PDA for hotplug coded caching system

In this section, we introduce a PDA structure for hotplug coded caching system, and then provide an algorithm to characterize the placement and delivery of a hotplug coded caching scheme.

Definition 5 (Hotplug placement delivery array (HpPDA)).

Let K,K,F,F`,Z,ZK,K^{\prime},F,F`,Z,Z^{\prime} and SS be integers such that KK,FFK\geq K^{\prime},F\geq F^{\prime} and Z<FZ<F^{\prime}. Consider two arrays given as follows

  • P=(pf,k)f[F],k[K]P=(p_{f,k})_{f\in[F],k\in[K]} which is an array containing ‘*’ and null. Each column contains ZZ number of ‘*’s.

  • B=(bf,k)f[F],k[K]B=(b_{f,k})_{f\in[F^{\prime}],k\in[K^{\prime}]} which is a [K,F,Z,S][K^{\prime},F^{\prime},Z^{\prime},S]-PDA.

For each τ[K],|τ|=K\tau\subseteq[K],|\tau|=K^{\prime}, there exists a subset ζ[F],|ζ|=F\zeta\subseteq[F],|\zeta|=F^{\prime} such that

[P]ζ×τ=B,[P]_{\zeta\times\tau}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B, (3)

where [P]ζ×τ[P]_{\zeta\times\tau} denotes the subarray of PP whose rows corresponds to the set ζ\zeta and columns corresponds to the set τ\tau, and =\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}} denotes that the positions of all ‘*’s are same in both the arrays. We call it a (K,K,F,F,Z,Z,S)(K,K^{\prime},F,F^{\prime},Z,Z^{\prime},S)- HpPDA (P,B)(P,B).

Example 5.

For the parameters K=6,K=3,F=6,F=3,Z=Z=1K=6,K^{\prime}=3,F=6,F^{\prime}=3,Z=Z^{\prime}=1 and S=3S=3, a HpPDA (P,B)(P,B) is given by

B\displaystyle B =[121323],P=[].\displaystyle=\begin{bmatrix}*&1&2\\ 1&*&3\\ 2&3&*\end{bmatrix},\ P=\begin{bmatrix}*&&&&&\\ &*&&&&\\ &&*&&&\\ &&&*&&\\ &&&&*&\\ &&&&&*\end{bmatrix}.

Clearly, for each τ[6],|τ|=3\tau\subseteq[6],|\tau|=3, there exists ζ[6],|ζ|=3\zeta\subseteq[6],|\zeta|=3 such that [P]ζ×τ=B[P]_{\zeta\times\tau}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B. In this example, ζ=τ\zeta=\tau for all τ[6]\tau\subseteq[6].

Example 6.

For the parameters K=6,K=4,F=15,F=6,Z=5,Z=3,S=4K=6,K^{\prime}=4,F=15,F^{\prime}=6,Z=5,Z^{\prime}=3,S=4, a HpPDA (P,B)(P,B) is given as

B=[121323142434],P={blockarray}ccccccc&123456{block}c[cccccc]123456789101112131415.B=\begin{bmatrix}*&*&1&2\\ *&1&*&3\\ *&2&3&*\\ 1&*&*&4\\ 2&*&4&*\\ 3&4&*&*\end{bmatrix},\ P=\blockarray{ccccccc}&123456\\ \block{c[cccccc]}1**\\ 2**\\ 3**\\ 4**\\ 5**\\ 6**\\ 7**\\ 8**\\ 9**\\ 10**\\ 11**\\ 12**\\ 13**\\ 14**\\ 15**\\ .

Here, for each τ[6],|τ|=4\tau\subseteq[6],|\tau|=4, there exists ζ={Sτ||S|=2},|ζ|=6\zeta=\{S\subseteq\tau\ |\ |S|=2\},|\zeta|=6 such that [P]ζ×τ=B[P]_{\zeta\times\tau}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B.

Theorem 3.

Given a (K,K,F,F,Z,Z,S)(K,K^{\prime},F,F^{\prime},Z,Z^{\prime},S)-HpPDA (P,B)(P,B), there exists a (K,K,N)(K,K^{\prime},N) hotplug coded caching scheme with the following parameters,

  • subpacketization level is FF^{\prime},

  • MN=ZF,\frac{M}{N}=\frac{Z}{F^{\prime}}, where MM denotes the number of files each user can store in it’s cache and M<NM<N,

  • rate, R=SFR=\frac{S}{F^{\prime}},

which can be obtained by Algorithm 1, in which [F,F][F,F^{\prime}] MDS code is used for encoding the subfiles of each file,.

Proof.

In the placement phase of Algorithm 1, array PP is used to fill the cache of each user. The columns of PP corresponds to KK users and rows corresponds to FF coded subfiles Cn,fC_{n,f} of each file Wn,n[N]W_{n},n\in[N]. The cache of the user kk contains the subfile Cn,fC_{n,f} if pf,k=p_{f,k}=*. Since each column of PP constains ZZ number of *’s and the size of each coded subfile is B/FB/F^{\prime}, we have MN=ZF\frac{M}{N}=\frac{Z}{F^{\prime}}. Since Z<FZ<F^{\prime}, we have M<NM<N.

In the delivery phase of Algorithm 1, array BB is used for the transmissions. Let I={i1,i2,,iK},I=\{i_{1},i_{2},\ldots,i_{K^{\prime}}\}, 1ikK,k[K]1\leq i_{k}\leq K,\forall k\in[K^{\prime}], be the set of active users with demands D[I]=(di1,di2,,diK)D[I]=(d_{i_{1}},d_{i_{2}},\ldots,d_{i_{K^{\prime}}}). By the property of HpPDA, for set II there exists a subset ζ[F],|ζ|=F\zeta\subseteq[F],|\zeta|=F^{\prime} such that [P]ζ,I=B[P]_{\zeta,I}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B.

Then a PDA P¯\overline{P} is constructed for users with the help of BB, and corresponding to each integer s[S]s\in[S] in P¯\overline{P}, a XsX_{s} transmission is made. Since P¯\overline{P} is a PDA, each integer in iki_{k}-th column will provide user iki_{k} a coded subfile of the desired file dikd_{i_{k}}. There are total ZZ^{\prime} stars and FZF^{\prime}-Z^{\prime} integers in a column. Hence using the transmissions, each user will get FZF^{\prime}-Z^{\prime} coded subfiles of the desired file, and there are already ZZ coded subfiles of every file in each user’s cache. Therefore, the user have total FZ+ZFF^{\prime}-Z^{\prime}+Z\geq F^{\prime} (as ZZ0Z-Z^{\prime}\geq 0) number of coded subfiles of the desired file, and using those subfiles, the user can recover the desired file. Since the total number of transmissions is equal to the total number of integers in PDA BB, which is equal to SS, therefore, the rate is R=SFR=\frac{S}{F^{\prime}}.

Algorithm 1 Hotplug coded caching scheme based on HpPDA (P,B)(P,B)
1:function Placement phase(P;Wn,n[N];GP;W_{n},n\in[N];G)
2:     Divide each file Wn,n[N]W_{n},n\in[N] into FF^{\prime} subfiles, i.e., Wn={Wn,f|f[F]}.W_{n}=\{W_{n,f^{\prime}}|f^{\prime}\in[F^{\prime}]\}.
3:     Encode FF^{\prime} subfiles of each file Wn,n[N]W_{n},n\in[N], into FF coded subfiles using [F,F][F,F^{\prime}] MDS code with generator matrix GG of order F×FF^{\prime}\times F, i.e.,
[Cn,1Cn,2Cn,F]=GT[Wn,1Wn,2Wn,F].\begin{bmatrix}C_{n,1}\\ C_{n,2}\\ \vdots\\ C_{n,F}\end{bmatrix}=G^{T}\begin{bmatrix}W_{n,1}\\ W_{n,2}\\ \vdots\\ W_{n,F^{\prime}}\end{bmatrix}.
4:     for k[K]k\in[K] do
5:         Zk{Cn,f|pf,k=,n[N],f[F]}Z_{k}\leftarrow\{C_{n,f}\ |\ p_{f,k}=*,n\in[N],f\in[F]\}.      
6:function Delivery phase(B;P;Wn,n[N];I;D[I]B;P;W_{n},n\in[N];I;D[I])
7:     Let II be the set of active users with demands D[I]=(di1,di2,,diK)D[I]=(d_{i_{1}},d_{i_{2}},\ldots,d_{i_{K^{\prime}}}).
8:     By the property of (P,B)(P,B) HpPDA, for I[K],|I|=KI\subseteq[K],|I|=K^{\prime}, there exists a subset ζ[F],|ζ|=F\zeta\subseteq[F],|\zeta|=F^{\prime} such that [P]ζ×I=B.[P]_{\zeta\times I}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B.
9:     Make a new array P¯=(p¯f,k)fζ,kI\overline{P}=(\overline{p}_{f,k})_{f\in\zeta,k\in I} by filling s[S]s\in[S] integers in null spaces of the subarray [P]ζ×I[P]_{\zeta\times I} in such a way that P¯=B\overline{P}=B.
10:     for s[S]s\in[S] do
11:         Server sends the following coded subfiles:
12:         
Xs=p¯f,k=s,fζ,kICdk,f.X_{s}=\sum_{\overline{p}_{f,k}=s,f\in\zeta,k\in I}C_{d_{k},f}.
     

IV-A HpPDA for the MT scheme

In this section, we present a class of HpPDA for a (K,K,N)(K,K^{\prime},N) hotplug coded caching scheme given in Section II. We refer to HpPDAs in this class as MAN HpPDAs. For t[K]t\in[K^{\prime}], let

F\displaystyle F^{\prime} =(Kt),F=(Kt),\displaystyle={K^{\prime}\choose t},\qquad\ \ F={K\choose t},
Z\displaystyle Z^{\prime} =(K1t1),Z=(K1t1),\displaystyle={K^{\prime}-1\choose t-1},\quad Z={K-1\choose t-1}, (4)
S\displaystyle S =(Kt+1).\displaystyle={K^{\prime}\choose t+1}.

Further, let BB be an [K,F,Z,S][K^{\prime},F^{\prime},Z^{\prime},S]-PDA for MAN scheme for KK^{\prime} users, and PP can be obtained by replacing all the integers by null in an [K,F,Z,S1][K,F,Z,S_{1}]-PDA for MAN scheme for KK users. Therefore, we have B=(bτ,k)τ([K]t),k[K],whereB=(b_{\tau,k})_{\tau\in{[K^{\prime}]\choose{t}},k\in[K^{\prime}]},\ \text{where}

bτ,k={ifkτf(τ{k})ifkτ,b_{\tau,k}=\begin{cases}*&\text{if}\ k\in\tau\\ f(\tau\cup\{k\})&\text{if}\ k\notin\tau\end{cases}, (5)

and ff is an one to one map from ([K]t+1){[K^{\prime}]\choose{t+1}} to [(Kt+1)][{K^{\prime}\choose{t+1}}], and the array P=(pτ,k)τ([K]t),k[K],whereP=(p_{\tau,k})_{\tau\in{[K]\choose{t}},k\in[K]},\ \text{where}

pτ,k={ifkτnullifkτ.p_{\tau,k}=\begin{cases}*&\text{if}\ k\in\tau\\ \text{null}&\text{if}\ k\notin\tau\end{cases}. (6)
Note 1.

The HpPDA given in this subsection corresponds to the MT scheme without YMA delivery, i.e., the rate is R=SF=(Kt+1)(Kt)R=\frac{S}{F^{\prime}}=\frac{{K^{\prime}\choose t+1}}{{K^{\prime}\choose t}}. However, if N<KN<K^{\prime}, some redundant transmissions can be reduced using YMA delivery.

Theorem 4.

For the parameters defined in (4), (P,B)(P,B) is a (K,K,F,F,Z,Z,S)(K,K^{\prime},F,F^{\prime},Z,Z^{\prime},S)-HpPDA.

Proof.

Clearly, BB is an [K,F=(Kt),Z=(K1t1),S=(Kt+1)][K^{\prime},F^{\prime}={K^{\prime}\choose t},Z^{\prime}={K^{\prime}-1\choose t-1},S={K^{\prime}\choose t+1}] PDA obtained from MAN scheme for KK^{\prime} users, and PP is a (Kt)×K{K\choose t}\times K array whose rows are indexed by the elements in the set ([K]t){[K]\choose t} and columns are indexed by the elements in [K][K]. The array PP contains exactly (K1t1){K-1\choose t-1}*”'s in each column. Now we need to prove that the pair (P,B)(P,B) satisfy the property (3).

Let τ={i1,i2,,iK}[K]\tau=\{i_{1},i_{2},\ldots,i_{K^{\prime}}\}\subseteq[K]. Consider a set ζ={S([K]t)Sτ}={Sτ|S|=t}=(τt)\zeta=\{S\subseteq{[K]\choose t}\mid S\subseteq\tau\}=\{S\subseteq\tau\mid|S|=t\}={\tau\choose t}. Clearly, |ζ|=(Kt)=F|\zeta|={K^{\prime}\choose t}=F^{\prime}. Corresponding to the sets τ\tau and ζ\zeta, we have a subarray [P]ζ×τ[P]_{\zeta\times\tau} of PP such that [P]ζ×τ(S,ij)=[P]_{\zeta\times\tau}(S,i_{j})=* if and only if ijSi_{j}\in S, SζS\in\zeta. Also, B(S,j)=B(S,j)=* if and only if jSj\in S, S([K]t)S\in{[K^{\prime}]\choose t}. There is an one to one correspondence ϕ:τ[K]\phi:\tau\to[K^{\prime}] such that ϕ(ij)=j,ijτ\phi(i_{j})=j,\forall i_{j}\in\tau. Also, there is an one to one correspondence ψ:ζ=(τt)([K]t)\psi:\zeta={\tau\choose t}\to{[K^{\prime}]\choose t} such that ψ({ij1,ij2,,ijt})={j1,j2,,jt}\psi(\{i_{j_{1}},i_{j_{2}},\ldots,i_{j_{t}}\})=\{j_{1},j_{2},\ldots,j_{t}\}, for all 1j1,j2,,jtK1\leq j_{1},j_{2},\ldots,j_{t}\leq K^{\prime}. Clearly, ijSi_{j}\in S, SζS\in\zeta, if and only if ϕ(ij)ψ(S)\phi(i_{j})\in\psi(S). Therefore, we have [P]ζ×τ(S,ij)=B(ψ(S),ϕ(ij))=[P]_{\zeta\times\tau}(S,i_{j})=B(\psi(S),\phi(i_{j}))=* if and only if ijSi_{j}\in S, SζS\in\zeta. Hence [P]ζ×τ=B[P]_{\zeta\times\tau}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B. ∎

Example (Example 6 continued).

Consider the HpPDA (P,B)(P,B) given in Example 6 which corresponds to a hotplug coded caching system with K=6K=6 users and K=4K^{\prime}=4 active users. This HpPDA can be achieved by the method given in Subsection IV-A for t=2t=2.

Now using HpPDA (P,B)(P,B) in Algorithm 1, we get a (6,4,6)(6,4,6) hotplug coded caching scheme in the following way.

Placement Phase: From Line 2 in Algorithm 1, each file is divided into F=6F^{\prime}=6 subfiles, i.e., Wn={Wn,1,Wn,2,,Wn,6},n[6]W_{n}=\{W_{n,1},W_{n,2},\ldots,W_{n,6}\},n\in[6]. Encode all the subfiles of file WnW_{n} into F=15F=15 coded subfile Cn,1,Cn,2,,Cn,15C_{n,1},C_{n,2},\ldots,C_{n,15}, using a [15,6][15,6] MDS code with generator matrix G6×15G_{6\times 15}, i.e.,

[Cn,1Cn,2Cn,15]=[Wn,1Wn,2Wn,6]G.\begin{bmatrix}C_{n,1}&C_{n,2}&\cdots&C_{n,15}\end{bmatrix}=\begin{bmatrix}W_{n,1}&W_{n,2}&\cdots&W_{n,6}\end{bmatrix}G.

From Lines 4-6 in Algorithm 1, the caches of all users are filled as follows:

Z1\displaystyle Z_{1} ={Cn,1,Cn,2,Cn,3,Cn,4,Cn,5|n[6]}\displaystyle=\{C_{n,1},C_{n,2},C_{n,3},C_{n,4},C_{n,5}\ |\ n\in[6]\}
Z2\displaystyle Z_{2} ={Cn,1,Cn,6,Cn,7,Cn,8,Cn,9|n[6]}\displaystyle=\{C_{n,1},C_{n,6},C_{n,7},C_{n,8},C_{n,9}\ |\ n\in[6]\}
Z3\displaystyle Z_{3} ={Cn,2,Cn,6,Cn,10,Cn,11,Cn,12|n[6]}\displaystyle=\{C_{n,2},C_{n,6},C_{n,10},C_{n,11},C_{n,12}\ |\ n\in[6]\}
Z4\displaystyle Z_{4} ={Cn,3,Cn,7,Cn,10,Cn,13,Cn,14|n[6]}\displaystyle=\{C_{n,3},C_{n,7},C_{n,10},C_{n,13},C_{n,14}\ |\ n\in[6]\}
Z5\displaystyle Z_{5} ={Cn,4,Cn,8,Cn,11,Cn,13,Cn,15|n[6]}\displaystyle=\{C_{n,4},C_{n,8},C_{n,11},C_{n,13},C_{n,15}\ |\ n\in[6]\}
Z6\displaystyle Z_{6} ={Cn,5,Cn,9,Cn,12,Cn,14,Cn,15|n[6]}.\displaystyle=\{C_{n,5},C_{n,9},C_{n,12},C_{n,14},C_{n,15}\ |\ n\in[6]\}.

Delivery Phase: Let the set of active users be I={1,4,5,6}I=\{1,4,5,6\} with demands D[I]={2,3,1,5}D[I]=\{2,3,1,5\}. From Line 11 in Algorithm 1, we get

1456\displaystyle\begin{matrix}&1&4&5&6\end{matrix}
P¯=345131415\displaystyle\overline{P}=\begin{matrix}3\\ 4\\ 5\\ 13\\ 14\\ 15\end{matrix} [121323142434].\displaystyle\begin{bmatrix}*&*&1&2\\ *&1&*&3\\ *&2&3&*\\ 1&*&*&4\\ 2&*&4&*\\ 3&4&*&*\end{bmatrix}.

From Lines 12-15 in Algorithm 1, the server trasmits the following coded files:

X1\displaystyle X_{1} =C2,13+C3,4+C1,3\displaystyle=C_{2,13}+C_{3,4}+C_{1,3}
X2\displaystyle X_{2} =C2,14+C3,5+C5,3\displaystyle=C_{2,14}+C_{3,5}+C_{5,3}
X3\displaystyle X_{3} =C2,15+C1,5+C5,4\displaystyle=C_{2,15}+C_{1,5}+C_{5,4}
X4\displaystyle X_{4} =C3,15+C1,14+C5,13\displaystyle=C_{3,15}+C_{1,14}+C_{5,13}

To recover a file, only six coded subfiles are required because the MDS codes used in this example has dimension 66. The demand of user 11 is W2W_{2}. The user 11 gets C2,13,C2,14,C2,15C_{2,13},C_{2,14},C_{2,15} from X1,X2,X3X_{1},X_{2},X_{3}, respectively. Since user 11 already has C2,3,C2,4,C2,5C_{2,3},C_{2,4},C_{2,5} in its cache, it can recover file W2W_{2}. Similarly, user 4,54,5 and 66 will get their desired files. We have

MN=ZF=56andR=SF=23.\frac{M}{N}=\frac{Z}{F^{\prime}}=\frac{5}{6}\ \text{and}\ R=\frac{S}{F^{\prime}}=\frac{2}{3}.

There exist HpPDAs other than MAN HpPDAs given in subsection IV-A as shown in the following example.

Example 7.

Consider a hotplug coded caching system with K=6K=6 users and K=5K^{\prime}=5 active users. Then for F=12,F=5,Z=4,Z=2,S=9F=12,F^{\prime}=5,Z=4,Z^{\prime}=2,S=9, we have HpPDA (P,B)(P,B), where

B=[146257138429653]P={blockarray}ccccccc&123456{block}c[cccccc]123456789101112.B=\begin{bmatrix}*&1&4&6&*\\ *&*&2&5&7\\ 1&*&*&3&8\\ 4&2&*&*&9\\ 6&5&3&*&*\end{bmatrix}P=\blockarray{ccccccc}&123456\\ \block{c[cccccc]}1**\\ 2**\\ 3**\\ 4**\\ 5**\\ 6**\\ 7**\\ 8**\\ 9**\\ 10**\\ 11**\\ 12**\\ .

For each τ[6],|τ|=5\tau\subseteq[6],|\tau|=5, there exists ζ[12],|ζ|=5\zeta\subseteq[12],|\zeta|=5 such that [P]ζ×τ=B[P]_{\zeta\times\tau}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B. A choice of ζ\zeta for each set τ\tau of size 55 is given in Table I.

TABLE I: Example 7: A choice of ζ\zeta for each set τ\tau of size 55.
τ\tau ζ\zeta
{1,2,3,4,5}\{1,2,3,4,5\} {1,4,7,9,10}\{1,4,7,9,10\}
{1,2,3,4,6}\{1,2,3,4,6\} {2,4,7,9,12}\{2,4,7,9,12\}
{1,2,3,5,6}\{1,2,3,5,6\} {2,4,7,8,11}\{2,4,7,8,11\}
{1,2,4,5,6}\{1,2,4,5,6\} {2,4,5,10,11}\{2,4,5,10,11\}
{1,3,4,5,6}\{1,3,4,5,6\} {2,3,9,10,11}\{2,3,9,10,11\}
{2,3,4,5,6}\{2,3,4,5,6\} {6,7,9,10,11}\{6,7,9,10,11\}

Now using HpPDA (P,B)(P,B) in Algorithm 1, we get an (6,5,6)(6,5,6) hotplug coded caching scheme in the following way.

Placement Phase: From Line 2 in Algorithm 1, each file is divided into F=6F^{\prime}=6 subfiles, i.e., Wn={Wn,1,Wn,2,,Wn,5},n[6]W_{n}=\{W_{n,1},W_{n,2},\ldots,W_{n,5}\},n\in[6]. Encode all the subfiles of file WnW_{n} into F=12F=12 coded subfile Cn,1,Cn,2,,Cn,12C_{n,1},C_{n,2},\ldots,C_{n,12}, using an [12,5][12,5] MDS code with generator matrix G5×12G_{5\times 12}, i.e.,

[Cn,1Cn,2Cn,12]=[Wn,1Wn,2Wn,5]G.\begin{bmatrix}C_{n,1}&C_{n,2}&\cdots&C_{n,12}\end{bmatrix}=\begin{bmatrix}W_{n,1}&W_{n,2}&\cdots&W_{n,5}\end{bmatrix}G.

From Lines 4-6 in Algorithm 1, the caches of all users are filled as follows:

Z1\displaystyle Z_{1} ={Cn,1,Cn,2,Cn,3,Cn,4|n[6]}\displaystyle=\{C_{n,1},C_{n,2},C_{n,3},C_{n,4}\ |\ n\in[6]\}
Z2\displaystyle Z_{2} ={Cn,4,Cn,5,Cn,6,Cn,7|n[6]}\displaystyle=\{C_{n,4},C_{n,5},C_{n,6},C_{n,7}\ |\ n\in[6]\}
Z3\displaystyle Z_{3} ={Cn,3,Cn,7,Cn,8,Cn,9|n[6]}\displaystyle=\{C_{n,3},C_{n,7},C_{n,8},C_{n,9}\ |\ n\in[6]\}
Z4\displaystyle Z_{4} ={Cn,5,Cn,9,Cn,10,Cn,12|n[6]}\displaystyle=\{C_{n,5},C_{n,9},C_{n,10},C_{n,12}\ |\ n\in[6]\}
Z5\displaystyle Z_{5} ={Cn,1,Cn,8,Cn,10,Cn,11|n[6]}\displaystyle=\{C_{n,1},C_{n,8},C_{n,10},C_{n,11}\ |\ n\in[6]\}
Z6\displaystyle Z_{6} ={Cn,2,Cn,6,Cn,11,Cn,12|n[6]}.\displaystyle=\{C_{n,2},C_{n,6},C_{n,11},C_{n,12}\ |\ n\in[6]\}.

Delivery Phase: Let the set of active users be I={1,2,4,5,6}I=\{1,2,4,5,6\} with demands D[I]={6,3,1,2,5}D[I]=\{6,3,1,2,5\}. From Line 11 in Algorithm 1, we get

12456\displaystyle\begin{matrix}&1&2&4&5&6\end{matrix}
P¯=2451011\displaystyle\overline{P}=\begin{matrix}2\\ 4\\ 5\\ 10\\ 11\end{matrix} [146257138429653].\displaystyle\begin{bmatrix}*&1&4&6&*\\ *&*&2&5&7\\ 1&*&*&3&8\\ 4&2&*&*&9\\ 6&5&3&*&*\end{bmatrix}.

From Lines 12-15 in Algorithm 1, the server trasmits the following coded files: X1=C6,5+C3,2,X2=C3,10+C1,4,X3=C1,11+C2,5,X4=C6,10+C1,2,X5=C3,11+C2,4,X6=C6,11+C2,2,X7=C5,4,X8=C5,5X_{1}=C_{6,5}+C_{3,2},X_{2}=C_{3,10}+C_{1,4},X_{3}=C_{1,11}+C_{2,5},X_{4}=C_{6,10}+C_{1,2},X_{5}=C_{3,11}+C_{2,4},X_{6}=C_{6,11}+C_{2,2},X_{7}=C_{5,4},X_{8}=C_{5,5} and X9=C5,10X_{9}=C_{5,10}. To recover a file, only five coded subfiles are required because the MDS codes used in this example has dimension 55. The demand of the user 44 is W1W_{1}. The user 44 gets C1,4,C1,11,C1,2C_{1,4},C_{1,11},C_{1,2} from X2,X3,X4X_{2},X_{3},X_{4}, respectively. Since the user 44 already has C1,5,C1,10C_{1,5},C_{1,10} in its cache, it can recover file W2W_{2}. Similarly, the users 1,2,51,2,5 and 66 will get their desired files. Here, we have MN=45andR=95.\frac{M}{N}=\frac{4}{5}\ \text{and}\ R=\frac{9}{5}.

V Main results

In this section we summarise our main results, which will be proved in the subsequent sections. In the following theorem, we give the memory-rate points achievable by the improved version of MAN HpPDA given in Section VI.

Theorem 5.

For (K,K,N)(K,K^{\prime},N) hotplug coded caching system, the lower convex envelope of the following points is achievable

(MN,R)=((K1t1)(Kt),(Kt+1)Kt+1((K1t1)(K1t1))(Kt)),\left(\frac{M}{N},R\right)=\left(\frac{{K-1\choose t-1}}{{K^{\prime}\choose t}},\frac{{K^{\prime}\choose t+1}-\left\lfloor\frac{K^{\prime}}{t+1}\right\rfloor({K-1\choose t-1}-{K^{\prime}-1\choose t-1})}{{K^{\prime}\choose t}}\right),

for all t[0:K]t\in[0:K^{\prime}].

In the following theorem, we give the memory-rate points achievable by HpPDAs constructed using tt-designs in Section VII. For a tt-(v,k,λ)(v,k,\lambda) design, λ1\lambda_{1} is defined in (1) and λst\lambda_{s}^{t} is defined in (2), for 1s<t1\leq s<t.

Theorem 6.

[tt-Scheme] For s[t1],as{0,1,,λst}s\in[t-1],a_{s}\in\{0,1,\ldots,\lambda_{s}^{t}\}, such that s=1t1as(ts)>λ1\sum_{s=1}^{t-1}a_{s}{t\choose s}>\lambda_{1}, a (v,t,N)(v,t,N) hotplug coded caching scheme exist with the following memory-rate points

(MN,R)=(λ1s=1t1as(ts),s=1t1as(ts+1)s=1t1as(ts)).\left(\frac{M}{N},R\right)=\left(\frac{\lambda_{1}}{\sum_{s=1}^{t-1}a_{s}{t\choose s}},\frac{\sum_{s=1}^{t-1}a_{s}{t\choose s+1}}{\sum_{s=1}^{t-1}a_{s}{t\choose s}}\right).

The rate given in Theorem 6 can be further improved which is described in Subsection VII-A. Further, in Section VIII, we give a comparison of improved tt-Scheme with other existing scheme for multiple examples of tt-designs and show that we are getting better rate in some higher memory ranges. Also, we get some memory-rate points which achieves the cut-set bound.

The following two clasess of tt-designs are given in [30, Theorem 9.14] and [30, Theorem 9.27], respectively.

  • For all even integers v6v\geq 6, there exists a 33-(v,4,3)(v,4,3) design.

  • For all prime powers qq, there exists a 33-(q2+1,q+1,1)(q^{2}+1,q+1,1) design.

Using these clasess of designs, we get some optimal memory-rate points achieving cut-set bound for a (K,3,N)(K,3,N) hotplug coded caching system.

Theorem 7.

For a (K,3,N)(K,3,N) hotplug coded caching system, where KK is an even integer and K6K\geq 6, we get the optimal memory-rate points

(MN,R)=((K12)3(a1+a2),3(a1+a2)(K12)3(a1+a2)),\left(\frac{M}{N},R\right)=\left(\frac{{K-1\choose 2}}{3(a_{1}+a_{2})},\frac{3(a_{1}+a_{2})-{K-1\choose 2}}{3(a_{1}+a_{2})}\right),

where 0a1(K42)0\leq a_{1}\leq{K-4\choose 2}, 0a232(K4)0\leq a_{2}\leq\frac{3}{2}(K-4) and (K12)=a+3a1+2a2{K-1\choose 2}=a+3a_{1}+2a_{2} for some 0a<a20\leq a<a_{2}.

Theorem 8.

For a (q2+1,3,N)(q^{2}+1,3,N) hotplug coded caching system, where qq is a prime power and q3q\geq 3, we get the optimal memory-rate points

(MN,R)=(q(q+1)3(a1+a2),3(a1+a2)q(q+1)3(a1+a2)),\left(\frac{M}{N},R\right)=\left(\frac{q(q+1)}{3(a_{1}+a_{2})},\frac{3(a_{1}+a_{2})-q(q+1)}{3(a_{1}+a_{2})}\right),

where 0a1q2q10\leq a_{1}\leq q^{2}-q-1, 0a2q0\leq a_{2}\leq q and q(q+1)=a+3a1+2a2q(q+1)=a+3a_{1}+2a_{2} for some 0a<a20\leq a<a_{2}.

The proofs of Theorem 7 and Theorem 8 are given in Section IX.

VI Hotplug coded caching scheme with improved rate

The rate of the scheme given in Theorem 3 can be improved further if Z<ZZ^{\prime}<Z. All the coded subfiles Cn,1,Cn,2,,Cn,FC_{n,1},C_{n,2},\ldots,C_{n,F} of a file Wn,n[N]W_{n},n\in[N] are obtained using [F,F][F,F^{\prime}] MDS code. Therefore, to recover a file WnW_{n}, only FF^{\prime} coded files are needed (by the property of MSD codes).

In the placement phase of Algorithm 1, ZZ number of coded subfiles of each file are placed in each user’s cache. In the delivery phase of Algorithm 1, each active user is getting (FZ)(F^{\prime}-Z^{\prime}) coded subfiles of desired file. But only (FZ)(F^{\prime}-Z) coded subfiles of the desired file are needed for the recovery as ZZ coded subfiles of every file are already placed in user’s cache. That means each user is getting (ZZ)(Z-Z^{\prime}) more coded subfiles of the desired file than required. Since the jj-th active user gets one coded subfile corresponding to each integer in jj-th column of array BB, we can remove (ZZ)(Z-Z^{\prime}) integers from each column of array BB.

Let CiC_{i} denote the set of integers appearing in the ii-th column of array BB, where i[K]i\in[K^{\prime}]. Clearly, Ci[S]C_{i}\subseteq[S] and |Ci|=FZ|C_{i}|=F^{\prime}-Z^{\prime} for all i[K]i\in[K^{\prime}]. Choose a subset T[S]T\subseteq[S] such that

|TCi|ZZ,i[K].|T\cap C_{i}|\leq Z-Z^{\prime},\ \forall i\in[K^{\prime}]. (7)

Make a new array B¯\overline{B} by replacing all tTt\in T by null in array BB. So the array B¯\overline{B} has only S|T|S-|T| number of integers. By running Algorithm 1 for HpPDA (B¯,P)(\overline{B},P), we get a hotplug coded caching scheme with rate,

R=S|T|F.R=\frac{S-|T|}{F^{\prime}}.

Since this can be done for any set T[S]T\subseteq[S] which statisfy the condition in (7), choose the largest possible set TT, so that the reduction in rate will be large.

Clearly, If Z=ZZ=Z^{\prime}, then there will be no improvement in the rate.

VI-A Improved version of the MT scheme

Consider the MAN HpPDA (P,B)(P,B) for the MT scheme, where BB and PP are defined in (5) and (6). There are total Z=(K1t1)Z^{\prime}={K^{\prime}-1\choose t-1} number of *’s and FZ=(K1t)F^{\prime}-Z^{\prime}={K^{\prime}-1\choose t} number of integers in each column of array BB, and an integer s[S]s\in[S] appears exactly in t+1t+1 number of columns. Therefore, Kt+1(ZZ)\left\lfloor\frac{K^{\prime}}{t+1}\right\rfloor(Z-Z^{\prime}) number of integers can be removed from the array BB in such a way that no column will have less than FZF^{\prime}-Z number of integer, i.e., there exists a set T[S]T\subseteq[S] which satisfies (7) and |T|=Kt+1(ZZ)|T|=\left\lfloor\frac{K^{\prime}}{t+1}\right\rfloor(Z-Z^{\prime}). Hence we have

R=SKt+1(ZZ)F.R=\frac{S-\left\lfloor\frac{K^{\prime}}{t+1}\right\rfloor(Z-Z^{\prime})}{F^{\prime}}.
Remark 2.
  • In Example 6, the set T={1,2}T=\{1,2\} satisfies the condition given in (7), and therefore we have

    B¯=[334434].\overline{B}=\begin{bmatrix}*&*&&\\ *&&*&3\\ *&&3&*\\ &*&*&4\\ &*&4&*\\ 3&4&*&*\end{bmatrix}.

    Now by using Algorithm 1 for HpPDA (B¯,P)(\overline{B},P), we get rate R=13R=\frac{1}{3}. That means in the delivery phase, the server only transmits X3X_{3} and X4X_{4}. The user 11 gets coded subfile C2,15C_{2,15} using X3X_{3}. Then user 11 gets its desired file W2W_{2} using C2,1,C2,2,C2,3,C2,4,C2,5C_{2,1},C_{2,2},C_{2,3},C_{2,4},C_{2,5} from its cache and C2,15C_{2,15}. The comparison with the existing schemes [14] is given in Fig. 1.

    Refer to caption
    Figure 1: Example 4: (6, 4, 6) hotplug coded caching system.
  • In Example 7, the set T={1,3,4,5,7,8}T=\{1,3,4,5,7,8\} satisfies the condition given in (7), and therefore we have

    B¯=[62296],\overline{B}=\begin{bmatrix}*&&&6&*\\ *&*&2&&\\ &*&*&&\\ &2&*&*&9\\ 6&&&*&*\end{bmatrix},

    Now by using Algorithm 1 for HpPDA (B¯,P)(\overline{B},P), we get rate R=35R=\frac{3}{5}. That means in the delivery phase, the server only transmits X2,X6X_{2},X_{6} and X9X_{9}. The user 44 gets coded subfile C1,4C_{1,4} using X2X_{2}. Then the user 44 gets its desired file W1W_{1} using C1,5,C1,9,C1,10,C1,12C_{1,5},C_{1,9},C_{1,10},C_{1,12} from its cache and C1,4C_{1,4}.

For some other examples, the comparison of the improved MT scheme with existing schemes is given in Fig. 2 and Fig. 3.

Refer to caption
Figure 2: (16, 13, 18) hotplug coded caching system.
Refer to caption
Figure 3: (30, 25, 30) hotplug coded caching system.

VII Construction of HpPDA from tt-designs

Let (X,𝒜)(X,\mathcal{A}) be a tt-(v,k,λ)(v,k,\lambda) design with non-repeated blocks, where X={1,2,,v}X=\{1,2,\ldots,v\}, 𝒜={A1,A2,,Ab}\mathcal{A}=\{A_{1},A_{2},\ldots,A_{b}\} and |Ai|=k|A_{i}|=k for all i{1,2,,b}i\in\{1,2,\ldots,b\}. Consider an array PP whose rows are indexed by the blocks in 𝒜\mathcal{A} and columns are indexed by the points in XX. The array P=(P(A,i))A𝒜,iXP=(P(A,i))_{A\in\mathcal{A},i\in X} is a b×vb\times v array containing “*” and null, and defined as

P(A,i)={ifiA,nullifiA.P(A,i)=\begin{cases}*&\text{if}\ \ i\in A,\\ null&\text{if}\ \ i\notin A\end{cases}. (8)

In other words, PP can be obtained by the transpose of the incidence matrix of design (X,𝒜)(X,\mathcal{A}) after replacing 11 by *, and 0 by nullnull.

For 1st1\leq s\leq t, consider the parameters λs\lambda_{s} and λst\lambda_{s}^{t} given in (1) and (2), respectively. Now for 1st11\leq s\leq t-1, let 0asλst0\leq a_{s}\leq\lambda_{s}^{t}, and consider a set

=s=1t1{(Y,i)Y([t]s),i[as]}.\mathcal{\mathcal{R}}=\bigcup_{s=1}^{t-1}\left\{(Y,i)\mid Y\in{[t]\choose s},i\in[a_{s}]\right\}.

Clearly, ||=s=1t1as(ts)|\mathcal{R}|=\sum_{s=1}^{t-1}a_{s}{t\choose s}. The integers as{0,1,,λst},s[t1]a_{s}\in\{0,1,\ldots,\lambda_{s}^{t}\},s\in[t-1] are choosen in such a way that ||>λ1|\mathcal{R}|>\lambda_{1}. Consider an array BB whose rows are indexed by the elements in \mathcal{R} and columns are indexed by the points in [t][t]. The array B=(B((Y,i),j))B=(B((Y,i),j)) is a ||×t|\mathcal{R}|\times t array, defined as

B((Y,i),j)={ifjY,(Y{j},i)ifjY.B((Y,i),j)=\begin{cases}*&\text{if}\ \ j\in Y,\\ \left(Y\cup\{j\},i\right)&\text{if}\ \ j\notin Y\end{cases}. (9)

Note: Further, in this section, non star entries in an array (or PDA) are refered as integers. For example, in array BB defined in (9), the non star entries are of the form (Y,i)\left(Y^{\prime},i\right), where YY^{\prime} is a subset of [t][t] of size s+1s+1 and i[t]i\in[t], which will be refered as the integer entries.

Example 8.

Consider the 33-(8,4,1)(8,4,1) design (X,𝒜)(X,\mathcal{A}), where
X={1,2,3,4,5,6,7,8},X=\{1,2,3,4,5,6,7,8\},
𝒜={1256,3478,2468,1357,1458,2367,1234,5678,1278,\mathcal{A}=\{1256,3478,2468,1357,1458,2367,1234,5678,1278, 3456,1368,2457,1467,2358}.3456,1368,2457,1467,2358\}.
The 14×814\times 8 array PP can be obtained as follows.

P={blockarray}ccccccccc&12345678{block}c[cccccccc]12341256127813571368145814673478246823582367245734565678.P=\blockarray{ccccccccc}&12345678\\ \block{c[cccccccc]}1234****\\ 1256****\\ 1278****\\ 1357****\\ 1368****\\ 1458****\\ 1467****\\ 3478****\\ 2468****\\ 2358****\\ 2367****\\ 2457****\\ 3456****\\ 5678****\\ .

In this example, we have λ23=λ13=2\lambda_{2}^{3}=\lambda_{1}^{3}=2. By choosing a2=2a_{2}=2 and a1=1a_{1}=1, we have ||=9|\mathcal{R}|=9 and

\displaystyle\mathcal{R} ={(Y,i)Y([3]2),i[2]}\displaystyle=\left\{(Y,i)\mid Y\in{[3]\choose 2},i\in[2]\right\}
{(Y,i)Y([3]1),i[1]}\displaystyle\cup\left\{(Y,i)\mid Y\in{[3]\choose 1},i\in[1]\right\}
={({1,2},1),({1,3},1),({2,3},1),({1,2},2),\displaystyle=\left\{(\{1,2\},1),(\{1,3\},1),(\{2,3\},1),(\{1,2\},2),\right.
({1,3},2),({2,3},2),({1},1),({2},1),({3},1)}.\displaystyle\left.(\{1,3\},2),(\{2,3\},2),(\{1\},1),(\{2\},1),(\{3\},1)\right\}.

Therefore, the 9×39\times 3 array BB can be obtained as follows.

B={blockarray}cccc&123{block}c[ccc](12,1)(123,1)(13,1)(123,1)(23,1)(123,1)(12,2)(123,2)(13,2)(123,2)(23,2)(123,2)(1,1)(12,1)(13,1)(2,1)(12,1)(23,1)(3,1)(13,1)(23,1)B=\blockarray{cccc}&123\\ \block{c[ccc]}(12,1)**(123,1)\\ (13,1)*(123,1)*\\ (23,1)(123,1)**\\ (12,2)**(123,2)\\ (13,2)*(123,2)*\\ (23,2)(123,2)**\\ (1,1)*(12,1)(13,1)\\ (2,1)(12,1)*(23,1)\\ (3,1)(13,1)(23,1)*\\

or equivalently,

B={blockarray}ccc&{block}[ccc]111222343545.B=\blockarray{ccc}&\\ \block{[ccc]}**1\\ *1*\\ 1**\\ **2\\ *2*\\ 2**\\ *34\\ 3*5\\ 45*\\ .

To show that the arrays PP and BB constructed above using a tt-design form a HpPDA, first we prove that BB is a PDA in the following lemma.

Lemma 3.

For s[t1]s\in[t-1], and as{0,1,,λst},a_{s}\in\{0,1,\ldots,\lambda_{s}^{t}\},, the array BB defined in (9) is a [K,F,Z,S][K^{\prime},F^{\prime},Z^{\prime},S] PDA, where

K\displaystyle K^{\prime} =t,F=||=s=1t1as(ts),Z=s=1t1as(t1s1),\displaystyle=t,F^{\prime}=|\mathcal{R}|=\sum_{s=1}^{t-1}a_{s}{t\choose s},Z^{\prime}=\sum_{s=1}^{t-1}a_{s}{t-1\choose s-1},
andS=s=1t1as(ts+1).\displaystyle\text{and}\ S=\sum_{s=1}^{t-1}a_{s}{t\choose s+1}. (10)
Proof.

The array BB is a ||×t|\mathcal{R}|\times t array whose rows are indexed by the elements in \mathcal{R} and columns are indexed by the points in [t][t]. We can rewite \mathcal{R} as

=s=1t1i[as]{(Y,i)Y([t]s)}=s=1t1i[as](s,i),\mathcal{R}=\bigcup_{s=1}^{t-1}\bigcup_{i\in[a_{s}]}\left\{(Y,i)\mid Y\in{[t]\choose s}\right\}=\bigcup_{s=1}^{t-1}\bigcup_{i\in[a_{s}]}\mathcal{R}_{(s,i)},

where (s,i)={(Y,i)Y([t]s)}\mathcal{R}_{(s,i)}=\left\{(Y,i)\mid Y\in{[t]\choose s}\right\} for all s[t1]s\in[t-1] and i[as]i\in[a_{s}]. Clearly, |(s,i)|=(ts)|\mathcal{R}_{(s,i)}|={t\choose s}. Now break the array BB into s=1t1as\sum_{s=1}^{t-1}a_{s} subarrays denoted by B(s,i)B_{(s,i)}, where s[t1],i[as]s\in[t-1],i\in[a_{s}]. The subarray B(s,i)B_{(s,i)} is a (ts)×t{t\choose s}\times t array whose rows are indexed by the elements in (s,i)\mathcal{R}_{(s,i)} and columns are indexed by the elements in [t][t].

To prove that BB is a PDA, we will prove that B(s,i)B_{(s,i)} is a PDA, for all s[t1],i[as]s\in[t-1],i\in[a_{s}], and there is no integer common in two different subarrays B(s,i)B_{(s,i)} and B(s,i)B_{(s^{\prime},i^{\prime})}, where either sss\neq s^{\prime} or iii\neq i^{\prime}. For all s[t1],i[as]s\in[t-1],i\in[a_{s}], we have

B(s,i)((Y,i),j)={ifjY,(Y{j},i)ifjY.B_{(s,i)}((Y,i),j)=\begin{cases}*&\text{if}\ \ j\in Y,\\ \left(Y\cup\{j\},i\right)&\text{if}\ \ j\notin Y\end{cases}.
  1. C1.

    The number of “*”’s appear in jj-th column of B(s,i)B_{(s,i)} is

    |{Y([t]s)jY}|=(t1s1),\left|\left\{Y\in{[t]\choose s}\mid j\in Y\right\}\right|={t-1\choose s-1},

    for all j[t].j\in[t].

  2. C2.

    The set of integers appearing in array B(s,i)B_{(s,i)} is

    S={(Y{j},i)Y([t]s),j[t]}S=\left\{(Y\cup\{j\},i)\mid Y\in{[t]\choose s},j\in[t]\right\}

    (here, integers are denoted by a pair (U,i)(U,i), where UU is set of size s+1s+1 and i[t]i\in[t]). Clearly, |S|=(ts+1)|S|={t\choose s+1}, and each integer appears exactly s+1s+1 times.

  3. C3.

    Consider two distinct integer entries B(s,i)((Y1,i),j1)B_{(s,i)}((Y_{1},i),j_{1}) and B(s,i)((Y2,i),j2)B_{(s,i)}((Y_{2},i),j_{2}) such that B(s,i)((Y1,i),j1)=B(s,i)((Y2,i),j2)=QB_{(s,i)}((Y_{1},i),j_{1})=B_{(s,i)}((Y_{2},i),j_{2})=Q, where QSQ\in S. We have Q=(Y1{j1},i)=(Y2{j2},i)Q=(Y_{1}\cup\{j_{1}\},i)=(Y_{2}\cup\{j_{2}\},i) which implies that

    Y1{j1}=Y2{j2}.Y_{1}\cup\{j_{1}\}=Y_{2}\cup\{j_{2}\}. (11)

    Since both entries are different, we have (Y1,i)(Y2,i)(Y_{1},i)\neq(Y_{2},i) and j1j2j_{1}\neq j_{2}. Using (11), and the fact that j1j2j_{1}\neq j_{2}, we have j1Y2j_{1}\in Y_{2} and j2Y1j_{2}\in Y_{1}, which implies that B(s,i)((Y1,i),j2)=B(s,i)((Y2,i),j1)=B_{(s,i)}((Y_{1},i),j_{2})=B_{(s,i)}((Y_{2},i),j_{1})=*.

Therefore, B(s,i)B_{(s,i)} is a (s+1)(s+1)-[t,(ts),(t1s1),(ts+1)][t,{t\choose s},{t-1\choose s-1},{t\choose s+1}] regular PDA for all s[t1],i[as]s\in[t-1],i\in[a_{s}]. Since every integer entry (U,i)(U,i) in PDA B(s,i)B_{(s,i)} depends on ii, there is no integer common in PDA B(s,i)B_{(s,i)} and B(s,i)B_{(s,i^{\prime})}, where iii\neq i^{\prime}. Also in an integer entry (U,i)(U,i) in PDA B(s,i)B_{(s,i)}, the cardinality of UU is s+1s+1, hence no integer entry will be common in PDA B(s,i)B_{(s,i)} and B(s,i)B_{(s^{\prime},i)}, where sss\neq s^{\prime}.

The array BB is made of s=1t1as\sum_{s=1}^{t-1}a_{s} disjoint subarrays B(s,i)B_{(s,i)}, s[t1],i[as]s\in[t-1],i\in[a_{s}], and each subarrays B(s,i)B_{(s,i)} is a [t,(ts),(t1s1),(ts+1)][t,{t\choose s},{t-1\choose s-1},{t\choose s+1}] PDA. Therefore, BB is a [K=t,F=s=1t1as(ts),Z=s=1t1as(t1s1),\left[K^{\prime}=t,F^{\prime}=\sum_{s=1}^{t-1}a_{s}{t\choose s},Z^{\prime}=\sum_{s=1}^{t-1}a_{s}{t-1\choose s-1},\right. S=s=1t1as(ts+1)]PDA.\left.S=\sum_{s=1}^{t-1}a_{s}{t\choose s+1}\right]\text{PDA}.

Remark 3.

For some s[t1]s\in[t-1] and i[as]i\in[a_{s}], the PDA B(s,i)B_{(s,i)} is a (s+1)(s+1)-[t,(ts),(t1s1),(ts+1)][t,{t\choose s},{t-1\choose s-1},{t\choose s+1}] MAN PDA.

We identify all PDAs B(s,i),s[t1],i[as]B_{(s,i)},s\in[t-1],i\in[a_{s}] in Example 8 as follows.

Example (Example 8 continued).

For s[2],i[as]s\in[2],i\in[a_{s}] we have the following PDAs.

B(1,1)={blockarray}cccc&123{block}c[ccc](1,1)(12,1)(13,1)(2,1)(12,1)(23,1)(3,1)(13,1)(23,1),B_{(1,1)}=\blockarray{cccc}&123\\ \block{c[ccc]}(1,1)*(12,1)(13,1)\\ (2,1)(12,1)*(23,1)\\ (3,1)(13,1)(23,1)*\\ ,
B(2,1)={blockarray}cccc&123{block}c[ccc](12,1)(123,1)(13,1)(123,1)(23,1)(123,1),B_{(2,1)}=\blockarray{cccc}&123\\ \block{c[ccc]}(12,1)**(123,1)\\ (13,1)*(123,1)*\\ (23,1)(123,1)**\\ ,
B(2,2)={blockarray}cccc&123{block}c[ccc](12,2)(123,2)(13,2)(123,2)(23,2)(123,2).B_{(2,2)}=\blockarray{cccc}&123\\ \block{c[ccc]}(12,2)**(123,2)\\ (13,2)*(123,2)*\\ (23,2)(123,2)**\\ .
Theorem 9.

For as{0,1,,λst},s[t1]a_{s}\in\{0,1,\ldots,\lambda_{s}^{t}\},s\in[t-1], such that ||>λ1|\mathcal{R}|>\lambda_{1}, the pair (P,B)(P,B) forms a (K,K,F,F,Z,Z,S)(K,K^{\prime},F,F^{\prime},Z,Z^{\prime},S)-HpPDA, where K,F,Z,SK^{\prime},F^{\prime},Z^{\prime},S are defined in (3) and K=v,F=b,Z=λ1K=v,F=b,Z=\lambda_{1}.

Proof.

From Lemma 3, we know that BB is a [K=t,F=s=1t1as(ts),Z=s=1t1as(t1s1),S=s=1t1\left[K^{\prime}=t,F^{\prime}=\sum_{s=1}^{t-1}a_{s}{t\choose s},Z^{\prime}=\sum_{s=1}^{t-1}a_{s}{t-1\choose s-1},S=\sum_{s=1}^{t-1}\right. as(ts+1)]\left.a_{s}{t\choose s+1}\right] PDA. The array PP defined in (8) is a b×vb\times v array containing “*” and null, whose rows are indexed by the blocks in 𝒜\mathcal{A} and columns are indexed by the points in XX, i.e., F=b,K=vF=b,K=v. From Theorem 1, we know that in a tt-(v,k,λ)(v,k,\lambda) design each point appears in exactly λ1\lambda_{1} blocks. Hence there are exactly λ1\lambda_{1} number of “*”'s in each column of PP, i.e., Z=λ1Z=\lambda_{1}.

Now we need to prove that the pair (P,B)(P,B) satisfies the property (3).

For a given subset τX,|τ|=t\tau\subseteq X,|\tau|=t and Uτ,|U|=s<tU\subseteq\tau,|U|=s<t, there are exactly λst\lambda_{s}^{t} blocks which contains UU and does not contain any element from τ\U\tau\backslash U (from Theorem 2). Let the set of those blocks be denoted by 𝒜Uτ\mathcal{A}_{U}^{\tau}, i.e., 𝒜Uτ={A𝒜Aτ=U}\mathcal{A}_{U}^{\tau}=\{A\in\mathcal{A}\mid A\cap\tau=U\}. Clearly, |𝒜Uτ|=λst|\mathcal{A}_{U}^{\tau}|=\lambda_{s}^{t}. Let the elements in 𝒜Uτ\mathcal{A}_{U}^{\tau} are denoted as {𝒜Uτ(1),𝒜Uτ(2),,𝒜Uτ(λst)}\{\mathcal{A}_{U}^{\tau}(1),\mathcal{A}_{U}^{\tau}(2),\ldots,\mathcal{A}_{U}^{\tau}(\lambda_{s}^{t})\}. In other words, we can say that 𝒜Uτ(i)\mathcal{A}_{U}^{\tau}(i) is a block which contains UU and does not contain any element from τ\U\tau\backslash U.

Let τ={i1,i2,,it}X\tau=\{i_{1},i_{2},\ldots,i_{t}\}\subseteq X. Consider a set ζ=s=1t1i[as]{𝒜Uτ(i)U(τs)}\zeta=\bigcup_{s=1}^{t-1}\bigcup_{i\in[a_{s}]}\left\{\mathcal{A}_{U}^{\tau}(i)\mid U\in{\tau\choose s}\right\} =s=1t1=\bigcup_{s=1}^{t-1} i[as]ζ(s,i)\bigcup_{i\in[a_{s}]}\zeta_{(s,i)}, where ζ(s,i)={𝒜Uτ(i)U(τs)}\zeta_{(s,i)}=\left\{\mathcal{A}_{U}^{\tau}(i)\mid U\in{\tau\choose s}\right\}. Clearly, |ζ|=s=1t1as(ts)=F|\zeta|=\sum_{s=1}^{t-1}a_{s}{t\choose s}=F^{\prime}. Corresponding to the sets τ\tau and ζ\zeta, we have a subarray P¯=[P]ζ×τ\overline{P}=[P]_{\zeta\times\tau} of PP such that P¯(A,ij)=\overline{P}(A,i_{j})=* if and only if ijA,Aζi_{j}\in A,A\in\zeta. Now divide array P¯\overline{P} into s=1t1as\sum_{s=1}^{t-1}a_{s} subarrays denoted by P¯(s,i)\overline{P}_{(s,i)}, for s[t1],i[as]s\in[t-1],i\in[a_{s}]. The subarray P¯(s,i)\overline{P}_{(s,i)} is a (ts)×t{t\choose s}\times t array whose rows are indexed by the elements in ζ(s,i)\zeta_{(s,i)} and columns are indexed by the elements in τ\tau such that P¯(s,i)(A,ij)=\overline{P}_{(s,i)}(A,i_{j})=* if and only if ijA,Aζ(s,i)i_{j}\in A,A\in\zeta_{(s,i)}, or we can say P¯(s,i)(𝒜Uτ(i),ij)=\overline{P}_{(s,i)}(\mathcal{A}_{U}^{\tau}(i),i_{j})=* if and only if ij𝒜Uτ(i),U(τs)i_{j}\in\mathcal{A}_{U}^{\tau}(i),U\in{\tau\choose s}. Since 𝒜Uτ(i)\mathcal{A}_{U}^{\tau}(i) denotes a block which contains UU and does not contain any element from τ\U\tau\backslash U, we can say that P¯(s,i)(𝒜Uτ(i),ij)=\overline{P}_{(s,i)}(\mathcal{A}_{U}^{\tau}(i),i_{j})=* if and only if ijU,U(τs)i_{j}\in U,U\in{\tau\choose s}.

To prove that P¯=B\overline{P}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B, we will prove that P¯(s,i)=B(s,i)\overline{P}_{(s,i)}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B_{(s,i)} for all s[t1]s\in[t-1] and i[as]i\in[a_{s}].

The array B(s,i)B_{(s,i)} is a (ts)×t{t\choose s}\times t array whose rows are indexed by the elements in (s,i)\mathcal{R}_{(s,i)} and columns are indexed by the elements in [t][t] such that B(s,i)((Y,i),j)=B_{(s,i)}((Y,i),j)=* if and only if jYj\in Y, where (s,i)={(Y,i)Y([t]s)}\mathcal{R}_{(s,i)}=\left\{(Y,i)\mid Y\in{[t]\choose s}\right\} for all s[t1]s\in[t-1] and i[as]i\in[a_{s}]. We prove P¯(s,i)=B(s,i)\overline{P}_{(s,i)}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B_{(s,i)} in the following three steps.

  1. 1.

    First, we show that there is an one to one correspondence between the sets which are used to index the columns of arrays P¯(s,i)\overline{P}_{(s,i)} and B(s,i)B_{(s,i)}. Clearly, there is an one to one correspondence ϕ:τ[t]\phi:\tau\to[t] such that ϕ(ij)=j,ijτ\phi(i_{j})=j,\forall i_{j}\in\tau.

  2. 2.

    In this step, we show that there is an one to one correspondence between the sets which are used to index the rows of arrays P¯(s,i)\overline{P}_{(s,i)} and B(s,i)B_{(s,i)}. For given s[t1]s\in[t-1] and i[as]i\in[a_{s}], there is an one to one correspondence ψ:ζ(s,i)(s,i)\psi:\zeta_{(s,i)}\to\mathcal{R}_{(s,i)} such that ψ(𝒜Uτ(i))=({j1,j2,,js},i)\psi(\mathcal{A}_{U}^{\tau}(i))=(\{j_{1},j_{2},\ldots,j_{s}\},i), for all U={ij1,ij2,,ijs}τ,|U|=sU=\{i_{j_{1}},i_{j_{2}},\ldots,i_{j_{s}}\}\subseteq\tau,|U|=s.

  3. 3.

    In the last step, we show that the conditions to have a ”*” entry in P¯(s,i)\overline{P}_{(s,i)} and B(s,i)B_{(s,i)} corresponds to each other under the defined maps ϕ\phi and ψ\psi. Clearly, for 1jt1\leq j\leq t, we have ijUi_{j}\in U, U(τs)U\in{\tau\choose s} if and only if ϕ(ij)Y\phi(i_{j})\in Y, where ψ(𝒜Uτ(i))=(Y,i)\psi(\mathcal{A}_{U}^{\tau}(i))=(Y,i). Therefore, we have P¯(s,i)(𝒜Uτ(i),ij)=B(s,i)(ψ(𝒜Uτ(i)),ϕ(ij))=\overline{P}_{(s,i)}(\mathcal{A}_{U}^{\tau}(i),i_{j})=B_{(s,i)}(\psi(\mathcal{A}_{U}^{\tau}(i)),\phi(i_{j}))=* if and only if ijU,U(τs)i_{j}\in U,U\in{\tau\choose s}.

Hence P¯(s,i)=B(s,i)\overline{P}_{(s,i)}\stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B_{(s,i)}. ∎

Remark 4.

The users are represented by the points in XX and subpackitization level is FF^{\prime}. All FF^{\prime} subfiles of each file are coded with [F,F][F,F^{\prime}] MDS code to get FF coded subfiles.

The following result can be obtained directly from Theorem 9 and Theorem 3.

Corollary 2.

[tt-Scheme] For as{0,1,,λst},s[t1]a_{s}\in\{0,1,\ldots,\lambda_{s}^{t}\},s\in[t-1], such that ||>λ1|\mathcal{R}|>\lambda_{1}, HpPDA (P,B)(P,B) gives a (K,K,N)(K,K^{\prime},N) hotplug coded caching scheme with cache memory MM and rate R{R} as follows

MN=ZF=λ1s=1t1as(ts)andR=SF=s=1t1as(ts+1)s=1t1as(ts).\frac{M}{N}=\frac{Z}{F^{\prime}}=\frac{\lambda_{1}}{\sum_{s=1}^{t-1}a_{s}{t\choose s}}\ \text{and}\ R=\frac{S}{F^{\prime}}=\frac{\sum_{s=1}^{t-1}a_{s}{t\choose s+1}}{\sum_{s=1}^{t-1}a_{s}{t\choose s}}.
Example (Example 8 continued).

Consider a subset of [8][8] of size 33, say τ={2,6,8}\tau=\{2,6,8\}. For all Uτ,|U|=2U\subseteq\tau,|U|=2, we have 𝒜{2,6}τ={1256,2367}\mathcal{A}_{\{2,6\}}^{\tau}=\{1256,2367\}, 𝒜{2,8}τ={1278,2358}\mathcal{A}_{\{2,8\}}^{\tau}=\{1278,2358\} and 𝒜{6,8}τ={5678,1368}\mathcal{A}_{\{6,8\}}^{\tau}=\{5678,1368\}. For all Uτ,|U|=1U\subseteq\tau,|U|=1, we have 𝒜{2}τ={1234,2457}\mathcal{A}_{\{2\}}^{\tau}=\{1234,2457\}, 𝒜{6}τ={3456,1467}\mathcal{A}_{\{6\}}^{\tau}=\{3456,1467\} and 𝒜{8}τ={3478,1458}\mathcal{A}_{\{8\}}^{\tau}=\{3478,1458\}.

Therefore, there exists a subset of 𝒜\mathcal{A},

ζ\displaystyle\zeta =s=1t1i[as]{𝒜Uτ(i)U(τs)}\displaystyle=\bigcup_{s=1}^{t-1}\bigcup_{i\in[a_{s}]}\left\{\mathcal{A}_{U}^{\tau}(i)\mid U\in{\tau\choose s}\right\}
={1256,1278,5678,2367,2358,1368,1234,3456,3478}\displaystyle=\{1256,1278,5678,2367,2358,1368,1234,3456,3478\}

such that we have a subarray [P]ζ×τ[P]_{\zeta\times\tau} of PP as follows.

[P]ζ×τ={blockarray}ccccc&268{block}c[ccc]c1256(26,1)1278(28,1)5678(68,1)2367(26,2)2358(28,2)1368(68,2)1234(2,1)3456(6,1)3478(8,1)=B.[P]_{\zeta\times\tau}=\blockarray{ccccc}&268\\ \block{c[ccc]c}1256**(26,1)\\ 1278**(28,1)\\ 5678**(68,1)\\ 2367**(26,2)\\ 2358**(28,2)\\ 1368**(68,2)\\ 1234*(2,1)\\ 3456*(6,1)\\ 3478*(8,1)\\ \stackrel{{\scriptstyle\mathclap{\mbox{$*$}}}}{{=}}B.

Here, (P,B)(P,B) is an (8,3,14,9,7,5,5)(8,3,14,9,7,5,5) HpPDA which corresponds to (8,3,N)(8,3,N) hotplug coded caching system with MN=79andR=59.\frac{M}{N}=\frac{7}{9}\ \text{and}\ R=\frac{5}{9}. Since ZZ=2Z-Z^{\prime}=2, the rate can be reduced further to 29\frac{2}{9} by using the method given in Section VI (explained in deatil in the next section).

For conditions, 0a22,0a120\leq a_{2}\leq 2,0\leq a_{1}\leq 2, and ||>λ1=7|\mathcal{R}|>\lambda_{1}=7, we have following three choices for a1a_{1} and a2a_{2},

  1. 1.

    a2=2,a1=1a_{2}=2,a_{1}=1 with ||=9|\mathcal{R}|=9,

  2. 2.

    a2=1,a1=2a_{2}=1,a_{1}=2 with ||=9|\mathcal{R}|=9,

  3. 3.

    a2=2,a1=2a_{2}=2,a_{1}=2 with ||=12|\mathcal{R}|=12.

First case (Case 1)) has already been discussed. Now we explain other two cases.

Case 2) For a2=1a_{2}=1 and a1=2a_{1}=2, we have ||=9|\mathcal{R}|=9 and

\displaystyle\mathcal{R} ={({1,2},1),({1,3},1),({2,3},1),({1},1),({2},1),\displaystyle=\left\{(\{1,2\},1),(\{1,3\},1),(\{2,3\},1),(\{1\},1),(\{2\},1),\right.
({3},1),({1},2),({2},2),({3},2)}.\displaystyle\left.(\{3\},1),(\{1\},2),(\{2\},2),(\{3\},2)\right\}.

Therefore, the 9×39\times 3 array BB^{\prime} can be obtained as follows.

B={blockarray}cccc&123{block}c[ccc](12,1)(123,1)(13,1)(123,1)(23,1)(123,1)(1,1)(12,1)(13,1)(2,1)(12,1)(23,1)(3,1)(13,1)(23,1)(1,2)(12,2)(13,2)(2,2)(12,2)(23,2)(3,2)(13,2)(23,2).B^{\prime}=\blockarray{cccc}&123\\ \block{c[ccc]}(12,1)**(123,1)\\ (13,1)*(123,1)*\\ (23,1)(123,1)**\\ (1,1)*(12,1)(13,1)\\ (2,1)(12,1)*(23,1)\\ (3,1)(13,1)(23,1)*\\ (1,2)*(12,2)(13,2)\\ (2,2)(12,2)*(23,2)\\ (3,2)(13,2)(23,2)*\\ .

Then we get (8,3,14,9,7,4,7)(8,3,14,9,7,4,7) HpPDA (P,B)(P,B^{\prime}) which corresponds to (8,3,N)(8,3,N) hotplug coded caching system with MN=79andR=79.\frac{M}{N}=\frac{7}{9}\ \text{and}\ R=\frac{7}{9}. Since ZZ=3Z-Z^{\prime}=3, the rate can be reduced further to 39\frac{3}{9} by using the method given in Section VI.

Case 3) For a2=2a_{2}=2 and a1=2a_{1}=2, we have ||=12|\mathcal{R}|=12 and

\displaystyle\mathcal{R} ={({1,2},1),({1,3},1),({2,3},1),({1,2},2),({1,3},2),\displaystyle=\left\{(\{1,2\},1),(\{1,3\},1),(\{2,3\},1),(\{1,2\},2),(\{1,3\},2),\right.
({2,3},2),({1},1),({2},1),({3},1),({1},2),({2},2),\displaystyle\left.\qquad(\{2,3\},2),(\{1\},1),(\{2\},1),(\{3\},1),(\{1\},2),(\{2\},2),\right.
({3},2)}.\displaystyle\left.\qquad\quad(\{3\},2)\right\}.

Therefore, the 12×312\times 3 array B′′B^{\prime\prime} can be obtained as follows.

B′′={blockarray}cccc&123{block}c[ccc](12,1)(123,1)(13,1)(123,1)(23,1)(123,1)(12,2)(123,2)(13,2)(123,2)(23,2)(123,2)(1,1)(12,1)(13,1)(2,1)(12,1)(23,1)(3,1)(13,1)(23,1)(1,2)(12,2)(13,2)(2,2)(12,2)(23,2)(3,2)(13,2)(23,2).B^{\prime\prime}=\blockarray{cccc}&123\\ \block{c[ccc]}(12,1)**(123,1)\\ (13,1)*(123,1)*\\ (23,1)(123,1)**\\ (12,2)**(123,2)\\ (13,2)*(123,2)*\\ (23,2)(123,2)**\\ (1,1)*(12,1)(13,1)\\ (2,1)(12,1)*(23,1)\\ (3,1)(13,1)(23,1)*\\ (1,2)*(12,2)(13,2)\\ (2,2)(12,2)*(23,2)\\ (3,2)(13,2)(23,2)*\\ .

Here we will get (8,3,14,12,7,6,8)(8,3,14,12,7,6,8) HpPDA (P,B′′)(P,B^{\prime\prime}) which corresponds to (8,3,N)(8,3,N) hotplug coded caching system with MN=712andR=812=23.\frac{M}{N}=\frac{7}{12}\ \text{and}\ R=\frac{8}{12}=\frac{2}{3}. Again, since ZZ=1Z-Z^{\prime}=1, the rate can be reduced further to 712\frac{7}{12} by using the method given in Section VI.

The parameters of hotplug coded caching scheme for all three choices of aia_{i}’s using 33-(8,4,1)(8,4,1) design are given in Table II.

TABLE II: Example 8: The parameters of (8,3,N)(8,3,N) hotplug coded caching scheme for all three choices of aia_{i}’s.
(a2,a1)(a_{2},a_{1}) |||\mathcal{R}| M/NM/N Rate Improved rate
(2,1)(2,1) 99 7/97/9 5/95/9 2/92/9
(1,2)(1,2) 99 7/97/9 7/97/9 3/93/9
(2,2)(2,2) 1212 7/127/12 8/128/12 7/127/12

For a given tt-(v,k,λ)(v,k,\lambda) design, we get a (v,t,N)(v,t,N) hotplug coded caching scheme. We get different cache memory points for the different choice of as,s[t1]a_{s},s\in[t-1] such that 1asλst1\leq a_{s}\leq\lambda_{s}^{t} and ||>λ1|\mathcal{R}|>\lambda_{1}. In Example 8, we get (8,3,N)(8,3,N) hotplug coded caching scheme for MN=79\frac{M}{N}=\frac{7}{9} (from Case 1) and Case 2)) and MN=712\frac{M}{N}=\frac{7}{12} (from Case 3)). Suppose we get the same value of |||\mathcal{R}| for different choices of as,s[t1]a_{s},s\in[t-1], i.e., MN=ZF\frac{M}{N}=\frac{Z}{F^{\prime}} is same as in Case 1) and Case 2) of Example 8. Then we simply consider the choice of as,s[t1]a_{s},s\in[t-1] with minimum value of s=1t1as(ts+1)\sum_{s=1}^{t-1}a_{s}{t\choose s+1} which will correspond to the minimum rate.

Remark 5.

Since a tt-(v,k,λ)(v,k,\lambda) design (X,𝒜)(X,\mathcal{A}) is also an ss-(v,k,λs)(v,k,\lambda_{s}) design, for all 1st1\leq s\leq t, therefore, a (v,s,N)(v,s,N) hotplug coded caching scheme can be constructed with ss number of active users using the proposed scheme for ss-(v,k,λs)(v,k,\lambda_{s}) design.

Remark 6.

Since there exists a (ti)(t-i)-(vi,ki,λ)(v-i,k-i,\lambda) design if there is a tt-(v,k,λ)(v,k,\lambda) design (X,𝒜)(X,\mathcal{A}), for i<ti<t, therefore, a (vi,ti,N)(v-i,t-i,N) hotplug coded caching scheme can be constructed with viv-i users and tit-i active users using the proposed tt-Scheme for (ti)(t-i)-(vi,ki,λ)(v-i,k-i,\lambda) design.

VII-A Improved version of tt-Scheme

Consider the HpPDA (P,B)(P,B) for tt-Scheme constructed in Section VII, where BB and PP are defined in (9) and (8). Now, we will reduce the rate of tt-Scheme using the method given in Section VI in which we choose a subset TST\subseteq S such that

|TCi|ZZ,i[K],|T\cap C_{i}|\leq Z-Z^{\prime},\ \forall i\in[K^{\prime}], (12)

where CiC_{i} denotes the set of integers appearing in the ii-th column of array BB, i[K]i\in[K^{\prime}].

There are total Z=s=1t1as(t1s1)Z^{\prime}=\sum_{s=1}^{t-1}a_{s}{t-1\choose s-1} number of *’s and FZ=s=1t1as(ts)s=1t1as(t1s1)F^{\prime}-Z^{\prime}=\sum_{s=1}^{t-1}a_{s}{t\choose s}-\sum_{s=1}^{t-1}a_{s}{t-1\choose s-1} number of integers in each column of array BB. Since for all s[t1]s\in[t-1] and i[as]i\in[a_{s}], B(s,i)B_{(s,i)} is a [t,(ts),(t1s1),(ts+1)][t,{t\choose s},{t-1\choose s-1},{t\choose s+1}] regular PDA in which each integer occurs exactly s+1s+1 times. So to find a set T[S]T\subset[S], which satisfies the above condition, we start choosing integers from subarray B(s,i)B_{(s,i)} for the minimum value of ss for which as0a_{s}\neq 0. Since the occurrence of an integer in B(s,i)B_{(s,i)} will be less than the occurrence of an integer in B(s,i)B_{(s^{\prime},i)} if s<ss<s^{\prime}, we can choose a set TT with larger cardinality.

The following lemma will help to find a subset of the set of integers in B(s,i)B_{(s,i)} which satisfies condition (12).

Lemma 4.

For a (s+1)[t,(ts),(t1s1),(ts+1)](s+1)-\left[t,{t\choose s},{t-1\choose s-1},{t\choose s+1}\right] regular PDA B(s,i)B_{(s,i)}, for some s[t1]s\in[t-1] and i[as]i\in[a_{s}], defined in the proof of Lemma 3, and a positive integer zz, there exist a set TST\subseteq S such that

|TCB(s,i)(j)|z,j[t],|T\cap C_{B_{(s,i)}}(j)|\leq z,\ \forall j\in[t],

where SS is the set of all integers in B(s,i)B_{(s,i)} and CB(s,i)(j)C_{B_{(s,i)}}(j) denotes the set of integers appearing in jj-th column of B(s,i)B_{(s,i)}. The cardinality of the set TT is

|T|={ts+1z,ifz<(t1s),(ts+1),ifz(t1s).|T|=\begin{cases}\left\lfloor\frac{t}{s+1}\right\rfloor z,&\text{if}\ z<{t-1\choose s},\\ {t\choose s+1},&\text{if}\ z\geq{t-1\choose s}.\end{cases}

(A way to find a set TT with given cardinality, when z<(t1s)z<{t-1\choose s}, is presented in Function 1.)

Proof.

If z(t1s)z\geq{t-1\choose s} then take T=ST=S. Since the number of integers in a column of B(s,i)B_{(s,i)} is (ts)(t1s1)=(t1s){t\choose s}-{t-1\choose s-1}={t-1\choose s}, we have

|TCB(s,i)(j)|=(t1s)z,j[t],|T\cap C_{B_{(s,i)}}(j)|={t-1\choose s}\leq z,\ \forall j\in[t], (13)

and clearly, |T|=(ts+1)|T|={t\choose s+1}. Now consider the case when z<(t1s)z<{t-1\choose s}. Each element (Y{j},i)(Y\cup\{j\},i) in SS corresponds to a subset Y=Y{j}Y^{\prime}=Y\cup\{j\} of [t][t] of size s+1s+1, and corresponding to each subset Y[t]Y^{\prime}\subseteq[t] of size s+1s+1, there is an element (Y,i)(Y^{\prime},i) in the set SS, and (Y,i)(Y^{\prime},i) will appear in B(s,i)B_{(s,i)} at the positions B(s,i)((Y\{y},i),y)for allyY,B_{(s,i)}((Y^{\prime}\backslash\{y\},i),y)\ \text{for all}\ y\in Y^{\prime}, i.e., integers corresponding to a set YY^{\prime} of size s+1s+1 will appear in the column yy, for all yYy\in Y^{\prime}. Consider a set T={(Y,i)Y[t],|Y|=s+1}T^{\prime}=\{(Y^{\prime},i)\mid Y^{\prime}\subseteq[t],|Y^{\prime}|=s+1\} such that Y1Y2=Y^{\prime}_{1}\cap Y^{\prime}_{2}=\emptyset for Y1,Y2TY^{\prime}_{1},Y^{\prime}_{2}\in T^{\prime} and Y1Y2Y^{\prime}_{1}\neq Y^{\prime}_{2}. The maximum possible cardinality of such a set is ts+1\left\lfloor\frac{t}{s+1}\right\rfloor; let |T|=ts+1|T^{\prime}|=\left\lfloor\frac{t}{s+1}\right\rfloor. Clearly, |TCB(s,i)(j)|1,j[t].|T^{\prime}\cap C_{B_{(s,i)}}(j)|\leq 1,\ \forall j\in[t]. Now consider set TT as the union of different zz number of sets like TT^{\prime}. Then

|TCB(s,i)(j)|z,j[t],|T\cap C_{B_{(s,i)}}(j)|\leq z,\ \forall j\in[t],

and |T|=zts+1.|T|=z\left\lfloor\frac{t}{s+1}\right\rfloor.

1:procedure Function 1(s,zs,z)
2:     for j[1:z]j\in[1:z] do
3:         E[t],T(j)E\leftarrow[t],\ T^{\prime}(j)\leftarrow\emptyset.
4:         while |E|s+1|E|\geq s+1 do
5:              Choose a set UEU\subseteq E such that |U|=s+1|U|=s+1
6:              T(j)T(j){(U,i)}T^{\prime}(j)\leftarrow T^{\prime}(j)\cup\{(U,i)\}.
7:              EE\UE\leftarrow E\backslash U.               
8:     T=T(1)T(2)T(z)T=T^{\prime}(1)\cup T^{\prime}(2)\cup\ldots\cup T^{\prime}(z).
Note 2.

In Step 5 of Function 1, a set UEU\subseteq E such that |U|=s+1|U|=s+1 will exist, for all j[1:z]j\in[1:z], because z<(t1s)z<{t-1\choose s}.

Now, we will construct a set TT satisfying condition (12) for the array BB constructed in (9). The following theorem and Algorithm 2 give a way to construct such a set TT. Consider a set WW in which all the values of s[t1]s\in[t-1] for which as0a_{s}\neq 0 are arranged in increasing order. Let

W={s[t1]as0}={s1,s2,,sw},W=\{s\in[t-1]\mid a_{s}\neq 0\}=\{s_{1},s_{2},\ldots,s_{w}\}, (14)

such that s1s2swt1s_{1}\leq s_{2}\leq\cdots\leq s_{w}\leq t-1.

Theorem 10.

For [K,F,Z,S][K^{\prime},F^{\prime},Z^{\prime},S] PDA BB and F×KF\times K array PP defined in (9) and (8), respectively, there exists a set TST\subseteq S such that

|TCB(j)|ZZ,j[t],|T\cap C_{B}(j)|\leq Z-Z^{\prime},\ \forall\ j\in[t], (15)

where SS is the set of all integers in BB and CB(j)C_{B}(j) denotes the set of integers appearing in the jj-th column of BB, and the cardinality of the set TT is defined as follows.

Consider the set WW defined in (14). If (a+1)(t1sj)+b=1j1αb>ZZa(t1sj)+b=1j1αb(a+1){t-1\choose s_{j}}+\sum_{b=1}^{j-1}\alpha_{b}>Z-Z^{\prime}\geq a{t-1\choose s_{j}}+\sum_{b=1}^{j-1}\alpha_{b}, for some j{1,2,,w}j\in\{1,2,\ldots,w\} and a{0,1,,asj1}a\in\{0,1,\ldots,a_{s_{j}}-1\}, then

|T|=b=1j1asb(tsb+1)+a(tsj+1)+tsj+1(ZZb=1j1αba(t1sj)),|T|=\sum_{b=1}^{j-1}a_{s_{b}}{t\choose s_{b}+1}+a{t\choose s_{j}+1}+\left\lfloor\frac{t}{s_{j}+1}\right\rfloor\\ \left(Z-Z^{\prime}-\sum_{b=1}^{j-1}\alpha_{b}-a{t-1\choose s_{j}}\right),

where αb=asb(t1sb)\alpha_{b}=a_{s_{b}}{t-1\choose s_{b}}.
(A way to find a set TT with given cardinality is presented in Algotithm 2.)

Proof.

Here, we will always use notation TT for the set satisfying condition (15). Let S(s,i)S_{(s,i)} denotes the set of integers in PDA B(s,i)B_{(s,i)}. Clearly, S=s[t1],i[as]S(s,i)S=\cup_{s\in[t-1],i\in[a_{s}]}S_{(s,i)}. As explained before, we start choosing integers for set TT from subarray B(s,i)B_{(s,i)} for the minimum value of ss for which as0a_{s}\neq 0, i.e., first, we will start choosing integers from the PDAs B(s1,1),B(s1,2),,B(s1,as1)B_{(s_{1},1)},B_{(s_{1},2)},\ldots,B_{(s_{1},a_{s_{1}})}. Therefore, if ZZ<(t1s1)Z-Z^{\prime}<{t-1\choose s_{1}} then from Lemma 4, we have a set TS(s,i)T\subseteq S_{(s,i)} with |T|=ts1+1(ZZ)|T|=\left\lfloor\frac{t}{s_{1}+1}\right\rfloor(Z-Z^{\prime}). Now, if ZZ(t1s1)Z-Z^{\prime}\geq{t-1\choose s_{1}} then from Lemma 4, we can select all (ts1+1){t\choose s_{1}+1} integers of B(s1,1)B_{(s_{1},1)} in set TT, and than TT will contain (t1s1){t-1\choose s_{1}} integers from each column of array B(s,i)B_{(s,i)} (as well as BB). Then we select remaining from next array B(s1,2)B_{(s_{1},2)} if as1>1a_{s_{1}}>1. That means if 2(t1s1)>ZZ(t1s1)2{t-1\choose s_{1}}>Z-Z^{\prime}\geq{t-1\choose s_{1}} then we have

|T|=(ts1+1)fromB(s1,1)+ts1+1(ZZ(t1s1))fromB(s1,2).|T|=\underbrace{{t\choose s_{1}+1}}_{\text{from}\ B_{(s_{1},1)}}+\underbrace{\left\lfloor\frac{t}{s_{1}+1}\right\rfloor\left(Z-Z^{\prime}-{t-1\choose s_{1}}\right)}_{\text{from}\ B_{(s_{1},2)}}.

Continuing this way, we can say that for some a{0,1,,as11}a\in\{0,1,\ldots,a_{s_{1}}-1\} if (a+1)(t1s1)>ZZa(t1s1)(a+1){t-1\choose s_{1}}>Z-Z^{\prime}\geq a{t-1\choose s_{1}} then we have |T|=a(ts1+1)+ts1+1(ZZa(t1s1))|T|=a{t\choose s_{1}+1}+\left\lfloor\frac{t}{s_{1}+1}\right\rfloor\left(Z-Z^{\prime}-a{t-1\choose s_{1}}\right).

If ZZas1(t1s1)Z-Z^{\prime}\geq a_{s_{1}}{t-1\choose s_{1}}, then we will start selecting integers from the arrays B(s2,1),B(s2,2),,B(s2,as2)B_{(s_{2},1)},B_{(s_{2},2)},\ldots,B_{(s_{2},a_{s_{2}})} in a similar manner. Therefore, for a{0,1,,as21}a\in\{0,1,\ldots,a_{s_{2}}-1\} if (a+1)(t1s2)+α1>ZZa(t1s2)+α1(a+1){t-1\choose s_{2}}+\alpha_{1}>Z-Z^{\prime}\geq a{t-1\choose s_{2}}+\alpha_{1} then we have

|T|=as1(ts1+1)fromB(s1,i),i[as1]+a(ts2+1)fromB(s2,i),i[a]+ts2+1(ZZα1a(t1s2))fromB(s2,a+1),|T|=\underbrace{a_{s_{1}}{t\choose s_{1}+1}}_{\text{from}\ B_{(s_{1},i)},i\in[a_{s_{1}}]}+\underbrace{a{t\choose s_{2}+1}}_{\text{from}\ B_{(s_{2},i)},i\in[a]}\\ +\underbrace{\left\lfloor\frac{t}{s_{2}+1}\right\rfloor\left(Z-Z^{\prime}-\alpha_{1}-a{t-1\choose s_{2}}\right)}_{\text{from}\ B_{(s_{2},a+1)}},

where α1=as1(t1s1)\alpha_{1}=a_{s_{1}}{t-1\choose s_{1}}.

Since we have ww elements in the set WW, we can further continue this process until sws_{w}. Therefore, in general If (a+1)(t1sj)+b=1j1αb>ZZa(t1sj)+b=1j1αb(a+1){t-1\choose s_{j}}+\sum_{b=1}^{j-1}\alpha_{b}>Z-Z^{\prime}\geq a{t-1\choose s_{j}}+\sum_{b=1}^{j-1}\alpha_{b}, for some j{1,2,,w}j\in\{1,2,\ldots,w\} and a{0,1,,asj1}a\in\{0,1,\ldots,a_{s_{j}}-1\}, then

|T|=b=1j1asb(tsb+1)fromB(sb,i),b[j1],i[asb]+a(tsj+1)fromB(sj,i),i[a]+tsj+1(ZZb=1j1αba(t1sj))fromB(sj,a+1),|T|=\underbrace{\sum_{b=1}^{j-1}a_{s_{b}}{t\choose s_{b}+1}}_{\text{from}\ B_{(s_{b},i)},b\in[j-1],i\in[a_{s_{b}}]}+\underbrace{a{t\choose s_{j}+1}}_{\text{from}\ B_{(s_{j},i)},i\in[a]}+\\ \underbrace{\left\lfloor\frac{t}{s_{j}+1}\right\rfloor\left(Z-Z^{\prime}-\sum_{b=1}^{j-1}\alpha_{b}-a{t-1\choose s_{j}}\right)}_{\text{from}\ B_{(s_{j},a+1)}},

where αb=asb(t1sb)\alpha_{b}=a_{s_{b}}{t-1\choose s_{b}}.

Algorithm 2 Finding a set TT described in Theorem 10
1:for j[1:w]j\in[1:w] do
2:     for a[0:asj1]a\in[0:a_{s_{j}}-1] do
3:         xb=1j1asb(t1sb).x\leftarrow\sum_{b=1}^{j-1}a_{s_{b}}{t-1\choose s_{b}}.
4:         if (a+1)(t1sj)+x>ZZa(t1sj)+x(a+1){t-1\choose s_{j}}+x>Z-Z^{\prime}\geq a{t-1\choose s_{j}}+x  then
5:              T1b=1j1i=1asbS(sb,i),T_{1}\leftarrow\bigcup_{b=1}^{j-1}\bigcup_{i=1}^{a_{s_{b}}}S_{(s_{b},i)},
6:              (|T1|=b=1j1asb(tsb+1)),\qquad\qquad\qquad\left(|T_{1}|=\sum_{b=1}^{j-1}a_{s_{b}}{t\choose s_{b}+1}\right),
7:              T2i=1aS(sj,i),T_{2}\leftarrow\bigcup_{i=1}^{a}S_{(s_{j},i)},
8:              (|T2|=a(tsj+1)),\qquad\qquad\qquad\left(|T_{2}|=a{t\choose s_{j}+1}\right),
9:              zZZxa(t1sj),z\leftarrow Z-Z^{\prime}-x-a{t-1\choose s_{j}},
10:              T3=T_{3}=Function1(sj,z),(s_{j},z),
11:              (|T3|=ztsj+1),\qquad\qquad\qquad\left(|T_{3}|=z\left\lfloor\frac{t}{s_{j}+1}\right\rfloor\right),
12:              T=T1T2T3T=T_{1}\cup T_{2}\cup T_{3}.               

From Corollary 2 and Theorem 10, the following result follows directly.

Corollary 3.

For as{0,1,,λst},s[t1]a_{s}\in\{0,1,\ldots,\lambda_{s}^{t}\},s\in[t-1], such that ||>λ1|\mathcal{R}|>\lambda_{1}, HpPDA (P,B¯)(P,\overline{B}) gives a (K,K,N)(K,K^{\prime},N) hotplug coded caching scheme with cache memory MM and rate R{R} as follows

MN=λ1s=1t1as(ts)andR=s=1t1as(ts+1)|T|s=1t1as(ts),\frac{M}{N}=\frac{\lambda_{1}}{\sum_{s=1}^{t-1}a_{s}{t\choose s}}\ \text{and}\ R=\frac{\sum_{s=1}^{t-1}a_{s}{t\choose s+1}-|T|}{\sum_{s=1}^{t-1}a_{s}{t\choose s}},

where array B¯\overline{B} is obtained by removing all the integers in set TT (defined in Theorem 10) from the array BB given in (9).

Example (Example 8 continued).

Consider the Case 1) for which a1=1a_{1}=1, a2=2a_{2}=2 and ||=9|\mathcal{R}|=9. We get MN=79\frac{M}{N}=\frac{7}{9} and the rate R=59R=\frac{5}{9}.

We have ZZ=2Z-Z^{\prime}=2 and W={s1,s2}={1,2}W=\{s_{1},s_{2}\}=\{1,2\}. The following condition is statisfied for j=1j=1 and a=1a=1.

(a+1)(t1sj)+b=1j1αb>ZZa(t1sj)+b=1j1αb.(a+1){t-1\choose s_{j}}+\sum_{b=1}^{j-1}\alpha_{b}>Z-Z^{\prime}\geq a{t-1\choose s_{j}}+\sum_{b=1}^{j-1}\alpha_{b}. (16)

Hence, from Theorem 10, we have a set T={(12,1),(13,1),(23,1)}T=\{(12,1),(13,1),(23,1)\} statisfying condition (12) with cardinality

|T|\displaystyle|T| =b=1j1asb(tsb+1)+a(tsj+1)+tsj+1\displaystyle=\sum_{b=1}^{j-1}a_{s_{b}}{t\choose s_{b}+1}+a{t\choose s_{j}+1}+\left\lfloor\frac{t}{s_{j}+1}\right\rfloor
(ZZb=1j1αba(t1sj))\displaystyle\qquad\qquad\left(Z-Z^{\prime}-\sum_{b=1}^{j-1}\alpha_{b}-a{t-1\choose s_{j}}\right)
=0+1.(32)+32(201.(21))\displaystyle=0+1.{3\choose 2}+\left\lfloor\frac{3}{2}\right\rfloor\left(2-0-1.{2\choose 1}\right)
=3.\displaystyle=3.

Therefore, the improved rate for this case is R=539=29R=\frac{5-3}{9}=\frac{2}{9}.

Similarly consider the Case 2) for which a1=2a_{1}=2, a2=1a_{2}=1 and ||=9|\mathcal{R}|=9. We get MN=79\frac{M}{N}=\frac{7}{9} and the rate R=79R=\frac{7}{9}. Here ZZ=3Z-Z^{\prime}=3, and the condition (16) is statisfied for j=1j=1 and a=1a=1. From Theorem 10, we have a set T={(12,1),(13,1),(23,1),(12,2)}T=\{(12,1),(13,1),(23,1),(12,2)\} statisfying condition (12) with cardinality |T|=4|T|=4 and the corresponding improved rate is R=749=39R=\frac{7-4}{9}=\frac{3}{9}.

For the last case (Case 3)), where a1=2a_{1}=2, a2=2a_{2}=2 and ||=12|\mathcal{R}|=12. We get MN=712\frac{M}{N}=\frac{7}{12} and the rate R=812R=\frac{8}{12}. Here ZZ=1Z-Z^{\prime}=1, and the condition (16) is statisfied for j=1j=1 and a=0a=0. Again from Theorem 10, we have a set T={(12,1)}T=\{(12,1)\} statisfying condition (12) with cardinality |T|=1|T|=1 and the corresponding improved rate is R=8112=712R=\frac{8-1}{12}=\frac{7}{12}.

In Example 8, we got two memory-rate pairs (MN,R)\left(\frac{M}{N},R\right) for an (8,3,N)(8,3,N) hotplug coded caching system which are (79,29)\left(\frac{7}{9},\frac{2}{9}\right) and (712,712)\left(\frac{7}{12},\frac{7}{12}\right). The first pair (79,29)\left(\frac{7}{9},\frac{2}{9}\right) statisfies the cut-set bound given in Lemma 1, and hence it is optimal. The second pair (712,712)\left(\frac{7}{12},\frac{7}{12}\right) does not achieve the cut-set bound, but it gives better rate than the other scheme. The rate Rbase=35=0.6R_{base}=\frac{3}{5}=0.6 is achieved for the memory MN=712\frac{M}{N}=\frac{7}{12} by using the memory sharing between two memory-rate pairs (12,45)(\frac{1}{2},\frac{4}{5}) and (58,12)(\frac{5}{8},\frac{1}{2}) achieved by the baseline scheme [14]. Further the rate RMT=58=0.625R_{MT}=\frac{5}{8}=0.625 is achieved for the memory MN=712\frac{M}{N}=\frac{7}{12} by using the memory sharing between the memory-rate pair (13,1)(\frac{1}{3},1) achieved by the MT scheme (first new scheme in [14]) and the trivial memory-rate pair (1,0)(1,0). Clearly, the rate R=712=0.58R=\frac{7}{12}=0.58 achieved by the improved version of tt-Scheme is better. The comparison is given in Fig. 4 and Table III. Also, the subpaketization of the tt-Scheme is 1212, whereas the subpaketization of the baseline scheme for the memory MN=712\frac{M}{N}=\frac{7}{12} is 126126.

TABLE III: Example 8: Comparison of the schemes for a (8,3,N)(8,3,N) hotplug coded caching system.
Parameters Improved tt-Scheme Baseline scheme [14] MT scheme [14]
MN=79\frac{M}{N}=\frac{7}{9} Subpacketization 99 3636 44
Rate 0.2220.222 0.250.25 0.3330.333
MN=712\frac{M}{N}=\frac{7}{12} Subpacketization 1212 126126 44
Rate 0.580.58 0.60.6 0.6250.625
Refer to caption
Figure 4: Example 6: (8, 3, 8) hotplug coded caching system.

VIII Numerical evaluations

In this section, we consider several other examples of tt-designs and show that we are getting better rate using improved tt-Scheme than the existing schemes in some higher memory ranges. Also, we get some memory-rate points which achieves the cut-set bound.

There exists a 55-(12,6,1)(12,6,1) design and a construction of this design is given in [30]. By using improved tt-Scheme for this design we get a rate for (12,5,12)(12,5,12) hotplug coded caching system shown in Fig. 5. Further, as described in Remark 5 that a tt-(v,k,λ)(v,k,\lambda) design (X,𝒜)(X,\mathcal{A}) is also an ss-(v,k,λs)(v,k,\lambda_{s}) design, for all 1st1\leq s\leq t. Therefore, there exists a 44-(12,6,4)(12,6,4) design using which we get a (12,4,N)(12,4,N) hotplug coded caching scheme with 44 number of active users using improved tt-Scheme, and Fig. 6 shows the memory-rate tradeoff corresponding to it. Similarly, a 33-(12,6,12)(12,6,12) design obtained from 55-(12,6,1)(12,6,1) design will correspond to a (12,3,N)(12,3,N) hotplug coded caching scheme for which memory-rate tradeoff is given in Fig. 7 with N=12N=12. It is clear from Fig. 7 that the improved tt-Scheme achives the cut-set bound from the memory point M=9.432M=9.432, while the baseline scheme achives it from M=11M=11.

Refer to caption
Figure 5: (12, 5, 12) hotplug coded caching system.
Refer to caption
Figure 6: (12, 4, 12) hotplug coded caching system.
Refer to caption
Figure 7: (12, 3, 12) hotplug coded caching system.

There exist another 33-(12,4,3)(12,4,3) design with v=12v=12 points and t=3t=3, which also corresponds to a (12,3,N)(12,3,N) hotplug coded caching scheme. In Fig. 8, we compare the memory-rate tradeoff of the schemes obtained by 33-(12,6,12)(12,6,12) design and 33-(12,4,3)(12,4,3) design for a (12,3,12)(12,3,12) hotplug coded caching system.

Refer to caption
Figure 8: (12, 3, 12) hotplug coded caching system.

In a similar way, we obtain 22-(12,6,30)(12,6,30) design from 55-(12,6,1)(12,6,1) design and a 22-(12,4,15)(12,4,15) design from 33-(12,4,3)(12,4,3) design. The both designs correspond to a (12,2,N)(12,2,N) hotplug coded caching scheme and the comparison of the memory-rate tradeoff of these schemes is given in Fig. 9 for N=12N=12. It can be seen that both schemes achieves the cut-set bound in the higher memory ranges. However, the MT scheme [14] achieves the converse bound completely for a (12,2,12)(12,2,12) hotplug coded caching system.

Refer to caption
Figure 9: (12, 2, 12) hotplug coded caching system.

IX Optimality

In this section, we focus on the hotplug coded caching schemes obtained using the improved tt-Scheme from the following two clasess of tt-designs.

  • For all even integers v6v\geq 6, there exists a 33-(v,4,3)(v,4,3) design.

  • For all prime powers qq, there exists a 33-(q2+1,q+1,1)(q^{2}+1,q+1,1) design.

Using these clasess of designs, we get some optimal memory-rate points achieving cut-set bound for (v,3,N)(v,3,N) hotplug coded caching system.

Theorem 11.

For a (K,3,N)(K,3,N) hotplug coded caching system, where KK is an even integer and K6K\geq 6, we get the optimal memory-rate points

(MN,R)=((K12)3(a1+a2),3(a1+a2)(K12)3(a1+a2)),\left(\frac{M}{N},R\right)=\left(\frac{{K-1\choose 2}}{3(a_{1}+a_{2})},\frac{3(a_{1}+a_{2})-{K-1\choose 2}}{3(a_{1}+a_{2})}\right),

where 0a1(K42)0\leq a_{1}\leq{K-4\choose 2}, 0a232(K4)0\leq a_{2}\leq\frac{3}{2}(K-4) and (K12)=a+3a1+2a2{K-1\choose 2}=a+3a_{1}+2a_{2} for some 0a<a20\leq a<a_{2}.

Example 9.

Consider a (K,3,N)(K,3,N) hotplug coded caching system, where K=12K=12. We have 0a1280\leq a_{1}\leq 28 and 0a2120\leq a_{2}\leq 12. For a1=10a_{1}=10 and a2=12a_{2}=12, the condition (K12)=a+3a1+2a2{K-1\choose 2}=a+3a_{1}+2a_{2} is satisfied for a=1a=1. Therefore, we have the following optimal memory rate point

(MN,R)=(56,16),\left(\frac{M}{N},R\right)=\left(\frac{5}{6},\frac{1}{6}\right),

which satisfy the cut-set bound as R=1MNR=1-\frac{M}{N}. Similarly, we get the following points for different choices of a1a_{1} and a2a_{2}.

  • For a1=11a_{1}=11 and a2=11a_{2}=11, we get (MN,R)=(5566,1166)\left(\frac{M}{N},R\right)=\left(\frac{55}{66},\frac{11}{66}\right).

  • For a1=9a_{1}=9 and a2=12a_{2}=12, we get (MN,R)=(5563,863)\left(\frac{M}{N},R\right)=\left(\frac{55}{63},\frac{8}{63}\right).

  • For a1=8a_{1}=8 and a2=12a_{2}=12, we get (MN,R)=(5560,560)\left(\frac{M}{N},R\right)=\left(\frac{55}{60},\frac{5}{60}\right).

  • For a1=7a_{1}=7 and a2=12a_{2}=12, we get (MN,R)=(5557,257)\left(\frac{M}{N},R\right)=\left(\frac{55}{57},\frac{2}{57}\right).

The memory-rate tradeoff for this example is given in Fig. 10.

Refer to caption
Figure 10: Example 9: (12, 3, 12) hotplug coded caching system.
Theorem 12.

For a (q2+1,3,N)(q^{2}+1,3,N) hotplug coded caching system, where qq is a prime power and q3q\geq 3, we get the optimal memory-rate points

(MN,R)=(q(q+1)3(a1+a2),3(a1+a2)q(q+1)3(a1+a2)),\left(\frac{M}{N},R\right)=\left(\frac{q(q+1)}{3(a_{1}+a_{2})},\frac{3(a_{1}+a_{2})-q(q+1)}{3(a_{1}+a_{2})}\right),

where 0a1q2q10\leq a_{1}\leq q^{2}-q-1, 0a2q0\leq a_{2}\leq q and q(q+1)=a+3a1+2a2q(q+1)=a+3a_{1}+2a_{2} for some 0a<a20\leq a<a_{2}.

Example 10.

Consider a (K,3,N)(K,3,N) hotplug coded caching system, where K=q2+1K=q^{2}+1 and q=4q=4, i.e., a (17,3,N)(17,3,N) hotplug coded caching system. We have 0a1110\leq a_{1}\leq 11 and 0a240\leq a_{2}\leq 4. For a1=3a_{1}=3 and a2=4a_{2}=4, the condition q(q+1)=a+3a1+2a2q(q+1)=a+3a_{1}+2a_{2} is satisfied for a=3a=3. Therefore, we have the following optimal memory rate point

(MN,R)=(2021,121),\left(\frac{M}{N},R\right)=\left(\frac{20}{21},\frac{1}{21}\right),

which satisfy the cut-set bound as R=1MNR=1-\frac{M}{N}. Similarly, we get the following points for different choices of a1a_{1} and a2a_{2}.

  • For a1=5a_{1}=5 and a2=2a_{2}=2, we get (MN,R)=(2021,121)\left(\frac{M}{N},R\right)=\left(\frac{20}{21},\frac{1}{21}\right).

  • For a1=4a_{1}=4 and a2=4a_{2}=4, we get (MN,R)=(2024,424)\left(\frac{M}{N},R\right)=\left(\frac{20}{24},\frac{4}{24}\right).

The memory-rate tradeoff for this example is given in Fig. 11.

Refer to caption
Figure 11: Example 10: (17, 3, 17) hotplug coded caching system.

In Fig. 12, we give a compared memory-rate tradeoffs for a (26,3,20)(26,3,20) hotplug coded caching system, one obtained from a 33-(v,4,3)(v,4,3) design with v=26v=26 and other obtained from a 33-(q2+1,q+1,1)(q^{2}+1,q+1,1) design with q=5q=5. The Fig. 12 indicates that each design outperforms the other within certain memory ranges.

Refer to caption
Figure 12: (26, 3, 20) hotplug coded caching system.

IX-A (K,3,N)(K,3,N) hotplug coded caching scheme from a 33-(v,k,λ)(v,k,\lambda) design

In this subsection, we find the memory-rate points for a (K,3,N)(K,3,N) hotplug coded caching scheme using a 33-(v,k,λ)(v,k,\lambda) design. Using tt-Scheme for this design, we have

Z\displaystyle Z =λ1\displaystyle=\lambda_{1}
||\displaystyle|\mathcal{R}| =3a1+3a2,\displaystyle=3a_{1}+3a_{2},
Z\displaystyle Z^{\prime} =a1+2a2,\displaystyle=a_{1}+2a_{2},
S\displaystyle S =3a1+a2,\displaystyle=3a_{1}+a_{2},
MN=λ13a1+3a2\displaystyle\frac{M}{N}=\frac{\lambda_{1}}{3a_{1}+3a_{2}}\ andR=3a1+a23a1+3a2,\displaystyle\text{and}\ R=\frac{3a_{1}+a_{2}}{3a_{1}+3a_{2}},

where a1{0,1,,λ13}a_{1}\in\{0,1,\ldots,\lambda_{1}^{3}\} and a2{0,1,,λ23}a_{2}\in\{0,1,\ldots,\lambda_{2}^{3}\}. Since we have ZZ=λ1(a1+2a2)Z-Z^{\prime}=\lambda_{1}-(a_{1}+2a_{2}), using Theorem 10, we further improve the rate. Considering the case when a1a_{1} and a2a_{2} both are non-zero, we have W={1,2}={s1,s2}W=\{1,2\}=\{s_{1},s_{2}\} and α1=a1(21)=2a1\alpha_{1}=a_{1}{2\choose 1}=2a_{1}. Now for j=2j=2, the condition

(a+1)(t1sj)+b=1j1αb>ZZa(t1sj)+b=1j1αb(a+1){t-1\choose s_{j}}+\sum_{b=1}^{j-1}\alpha_{b}>Z-Z^{\prime}\geq a{t-1\choose s_{j}}+\sum_{b=1}^{j-1}\alpha_{b}

given in Theorem 10 is satisfied if

(a+1)(22)+2a1>λ1(a1+2a2)a(22)+2a1(a+1){2\choose 2}+2a_{1}>\lambda_{1}-(a_{1}+2a_{2})\geq a{2\choose 2}+2a_{1}

for some a{0,1,,a2}a\in\{0,1,\ldots,a_{2}\}. That means

(a+1)+2a1>λ1(a1+2a2)a+2a1(a+1)+2a_{1}>\lambda_{1}-(a_{1}+2a_{2})\geq a+2a_{1}

or (a+1)+3a1+2a2>λ1a+3a1+2a2,(a+1)+3a_{1}+2a_{2}>\lambda_{1}\geq a+3a_{1}+2a_{2}, which is equivalent to

λ1=a+3a1+2a2.\lambda_{1}=a+3a_{1}+2a_{2}. (17)

Further, for j=2j=2 and a{0,1,,a2}a\in\{0,1,\ldots,a_{2}\}, we have

|T|\displaystyle|T| =a1(32)+a(33)+33(ZZα1a(22))\displaystyle=a_{1}{3\choose 2}+a{3\choose 3}+\left\lfloor\frac{3}{3}\right\rfloor\left(Z-Z^{\prime}-\alpha_{1}-a{2\choose 2}\right)
=3a1+a+(λ1(a1+2a2)2a1a)\displaystyle=3a_{1}+a+(\lambda_{1}-(a_{1}+2a_{2})-2a_{1}-a)
=λ12a2.\displaystyle=\lambda_{1}-2a_{2}.

Therefore, the improved rate is

R=S|T|||=3a1+3a2λ13a1+3a2,R=\frac{S-|T|}{|\mathcal{R}|}=\frac{3a_{1}+3a_{2}-\lambda_{1}}{3a_{1}+3a_{2}},

and we get the following memory-rate point

(MN,R)=(λ13(a1+a2),3(a1+a2)λ13(a1+a2)),\left(\frac{M}{N},R\right)=\left(\frac{\lambda_{1}}{3(a_{1}+a_{2})},\frac{3(a_{1}+a_{2})-\lambda_{1}}{3(a_{1}+a_{2})}\right), (18)

where 0a1λ130\leq a_{1}\leq\lambda_{1}^{3}, 0a2λ230\leq a_{2}\leq\lambda_{2}^{3} and λ1=a+3a1+2a2\lambda_{1}=a+3a_{1}+2a_{2} for some 0a<a20\leq a<a_{2}.

Using the method given above, we get the proof of Theorem 11 and Theorem 12 using a 33-(v,4,3)(v,4,3) design, where v6v\geq 6 is an even integer, and 33-(q2+1,q+1,1)(q^{2}+1,q+1,1) design, where qq is a prime power, respectively.

Proof of Theorem 11.

Consider 33-(v,4,3)(v,4,3) design, where v6v\geq 6 is an even integer. We have

λ1\displaystyle\lambda_{1} =λ(v1t1)(k1t1)=3(v12)(32)=(v12),\displaystyle=\frac{\lambda{v-1\choose t-1}}{{k-1\choose t-1}}=\frac{3{v-1\choose 2}}{{3\choose 2}}={v-1\choose 2},
λ13\displaystyle\lambda_{1}^{3} =λ(vtk1)(vtkt)=3(v33)(v31)=(v42),\displaystyle=\frac{\lambda{v-t\choose k-1}}{{v-t\choose k-t}}=\frac{3{v-3\choose 3}}{{v-3\choose 1}}={v-4\choose 2},
λ23\displaystyle\lambda_{2}^{3} =λ(vtk2)(vtkt)=3(v32)(v31)=32(v4).\displaystyle=\frac{\lambda{v-t\choose k-2}}{{v-t\choose k-t}}=\frac{3{v-3\choose 2}}{{v-3\choose 1}}=\frac{3}{2}(v-4).

Using these value in equation (18), we get the optimal memory-rate points for a (K,3,N)(K,3,N) hotplug coded caching system, where K=vK=v is an even integer and K6K\geq 6. ∎

Proof of Theorem 12.

Consider 33-(q2+1,q+1,1)(q^{2}+1,q+1,1) design, where q3q\geq 3 is a prime power. We have

λ1\displaystyle\lambda_{1} =λ(v1t1)(k1t1)=(q22)(q2)=q(q+1),\displaystyle=\frac{\lambda{v-1\choose t-1}}{{k-1\choose t-1}}=\frac{{q^{2}\choose 2}}{{q\choose 2}}=q(q+1),
λ13\displaystyle\lambda_{1}^{3} =λ(vtk1)(vtkt)=(q22q)(q22q2)=q2q1,\displaystyle=\frac{\lambda{v-t\choose k-1}}{{v-t\choose k-t}}=\frac{{q^{2}-2\choose q}}{{q^{2}-2\choose q-2}}=q^{2}-q-1,
λ23\displaystyle\lambda_{2}^{3} =λ(vtk2)(vtkt)=(q22q1)(q22q2)=q.\displaystyle=\frac{\lambda{v-t\choose k-2}}{{v-t\choose k-t}}=\frac{{q^{2}-2\choose q-1}}{{q^{2}-2\choose q-2}}=q.

Using these value in equation (18), we get the optimal memory-rate points for a (q2+1,3,N)(q^{2}+1,3,N) hotplug coded caching system, where q3q\geq 3 is a prime power. ∎

IX-B Comparison with the baseline scheme [14]

The baseline scheme is a classical YMA scheme [29] with restricted set of demand vectors d[min(N,K)]d\in[\min(N,K^{\prime})]. For a (K,K,N)(K,K^{\prime},N) hotplug coded caching system, the lower convex envelope of the following memory-rate points are achievable by the baseline scheme.

(MtN,Rt)=((K1t1)(Kt),(Kt+1)(Krt+1)(Kt)),\left(\frac{M_{t}}{N},R_{t}\right)=\left(\frac{{K-1\choose t-1}}{{K\choose t}},\frac{{K\choose t+1}-{K-r^{\prime}\choose t+1}}{{K\choose t}}\right),

for all t{0,1,,K}t\in\{0,1,\ldots,K\}, where r=min(N,K)r^{\prime}=\min(N,K^{\prime}). This scheme achieves the cut-set bound for t=K1,Kt=K-1,K, i.e., the baseline scheme start achieving the cut-set bound from the memory M=N(K1K)M=N\left(\frac{K-1}{K}\right).

Now we show that for a (K,3,N)(K,3,N) hotplug coded caching system, our improved tt-Scheme start achieving the cut-set bound from the memory less than N(K1K)N\left(\frac{K-1}{K}\right) using Theorem 11 and Theorem 12.

For a 33-(v,k,λ)(v,k,\lambda) design, λ1\lambda_{1} is fixed. Therefore, from equation 18, we get the optimal rate for the memory

MminN=min(λ1||)=λ1max(||),\frac{M_{min}}{N}=\min\left(\frac{\lambda_{1}}{|\mathcal{R}|}\right)=\frac{\lambda_{1}}{\max(|\mathcal{R}|)},

where 0a1λ130\leq a_{1}\leq\lambda_{1}^{3}, 0a2λ230\leq a_{2}\leq\lambda_{2}^{3} and λ1=a+3a1+2a2\lambda_{1}=a+3a_{1}+2a_{2} for some 0a<a20\leq a<a_{2}. Since ||=3(a1+a2)=λ1+a2a|\mathcal{R}|=3(a_{1}+a_{2})=\lambda_{1}+a_{2}-a, we have max(||)=λ1+max(a2)a=λ1+λ23a\max(|\mathcal{R}|)=\lambda_{1}+\max(a_{2})-a=\lambda_{1}+\lambda_{2}^{3}-a. After choosing maximum value of a2a_{2} which is λ23\lambda_{2}^{3}, we get a1=λ12λ23a3a_{1}=\frac{\lambda_{1}-2\lambda_{2}^{3}-a}{3} for some a,0a<a2a,0\leq a<a_{2}. Here a1a_{1} will be an integer for 0a<30\leq a<3. Therefore, we have

MminN=λ1λ1+λ23a,\frac{M_{min}}{N}=\frac{\lambda_{1}}{\lambda_{1}+\lambda_{2}^{3}-a},

where 0a<30\leq a<3 such that a1=λ12λ23a3a_{1}=\frac{\lambda_{1}-2\lambda_{2}^{3}-a}{3} is an integer. Now we prove that the memory point MminN\frac{M_{min}}{N} is less than K1K\frac{K-1}{K} for the following cases.

  1. 1.

    For a (K,3,N)(K,3,N) hotplug coded caching system using 33-(v,4,3)(v,4,3) design, where vv is an even integer and v6v\geq 6, we have λ1=(v12),λ13=(v42)\lambda_{1}={v-1\choose 2},\lambda_{1}^{3}={v-4\choose 2} and λ23=32(v4).\lambda_{2}^{3}=\frac{3}{2}(v-4). Therefore, we have

    MminN=(v12)(v12)+32(v4)a,\frac{M_{min}}{N}=\frac{{v-1\choose 2}}{{v-1\choose 2}+\frac{3}{2}(v-4)-a},

    where 0a20\leq a\leq 2. Since v=Kv=K and a2a\leq 2,

    MminN\displaystyle\frac{M_{min}}{N} (K12)(K12)+32(K4)2\displaystyle\leq\frac{{K-1\choose 2}}{{K-1\choose 2}+\frac{3}{2}(K-4)-2}
    =(K1)(K2)(K1)(K2)+3(K4)4\displaystyle=\frac{(K-1)(K-2)}{(K-1)(K-2)+3(K-4)-4}
    (K1)(K2)(K1)(K2)+3(K2)\displaystyle\leq\frac{(K-1)(K-2)}{(K-1)(K-2)+3(K-2)}
    =K1K+2<K1K.\displaystyle=\frac{K-1}{K+2}<\frac{K-1}{K}.
  2. 2.

    For a (K,3,N)(K,3,N) hotplug coded caching system using 33-(q2+1,q+1,1)(q^{2}+1,q+1,1) design, where qq is a prime power, q3q\geq 3 and K=q2+1K=q^{2}+1, we have λ1=q(q+1),λ13=q2q1\lambda_{1}=q(q+1),\lambda_{1}^{3}=q^{2}-q-1 and λ23=q.\lambda_{2}^{3}=q. Therefore, we have

    MminN=q(q+1)q(q+1)+qa,\frac{M_{min}}{N}=\frac{q(q+1)}{q(q+1)+q-a},

    where 0a20\leq a\leq 2. Since a2a\leq 2,

    MminN\displaystyle\frac{M_{min}}{N} q(q+1)q(q+1)+q2\displaystyle\leq\frac{q(q+1)}{q(q+1)+q-2}
    =q(q+1)(q+1)23<q(q+1)(q+1)2\displaystyle=\frac{q(q+1)}{(q+1)^{2}-3}<\frac{q(q+1)}{(q+1)^{2}}
    =q(q+1)=q2q(q+1)\displaystyle=\frac{q}{(q+1)}=\frac{q^{2}}{q(q+1)}
    <q2q2+1=K1K.\displaystyle<\frac{q^{2}}{q^{2}+1}=\frac{K-1}{K}.

X Conclusion

In this paper, we considered a practical scenario of a coded caching model in which some users are inactive at the time of delivery, known as a hotplug coded caching system. We introduced a structure called HpPDA that corresponds to a hotplug coded caching scheme, and then we described the placement and delivery phase of that scheme in Algorithm 1. We provided a method to further improve the rate of the proposed hotplug coded caching scheme using HpPDA. Further, we presented a construction of HpPDAs using tt-designs and then presented a way to improve the rate. We compare the rate of the scheme obtained from HpPDAs using tt-designs with the existing schemes. For a hotplug coded caching system with three active users, we proved that the cut-set bound is achieved for some higher memory range. Following are the possible directions for further research.

  1. 1.

    Two distinct classes of HpPDAs have been introduced in this paper. The first class consists of MAN HpPDAs, and the second class comes from the tt-designs. However, there exist other HpPDAs which does not fall into these classes, such as Example 7, which can not be obtained by any of these methods. Therefore, exploring further classes of HpPDAs is an interesting problem.

  2. 2.

    Exploring different combinatorial designs from existing literature and using them to create a new class of HpPDAs is an exciting direction.

  3. 3.

    The problem of high subpacketization still remains with the MAN HpPDAs. However, the subpacketization is lower in HpPDAs obtained from tt-designs compared to the MAN HpPDAs. It will be interesting to find new classes of HpPDAs with lower subpacketization.

Acknowledgments

This work was supported partly by the Science and Engineering Research Board (SERB) of the Department of Science and Technology (DST), Government of India, through J.C. Bose National Fellowship to Prof. B. Sundar Rajan and by the C V Raman postdoctoral fellowship awarded to Charul Rajput.

References

  • [1] M. A. Maddah-Ali and U. Niesen, “Fundamental limits of caching,” IEEE Transactions on Information Theory, vol. 60, no. 5, pp. 2856–2867, 2014.
  • [2] M. M. Amiri, Q. Yang, and D. Gündüz, “Coded caching for a large number of users,” in 2016 IEEE Information Theory Workshop (ITW).   IEEE, 2016, pp. 171–175.
  • [3] Z. Chen, P. Fan, and K. B. Letaief, “Fundamental limits of caching: Improved bounds for users with small buffers,” IET Communications, vol. 10, no. 17, pp. 2315–2318, 2016.
  • [4] Q. Yu, M. A. Maddah-Ali, and A. S. Avestimehr, “The exact rate-memory tradeoff for caching with uncoded prefetching,” IEEE Transactions on Information Theory, vol. 64, no. 2, pp. 1281–1296, 2017.
  • [5] H. Ghasemi and A. Ramamoorthy, “Improved lower bounds for coded caching,” IEEE Transactions on Information Theory, vol. 63, no. 7, pp. 4388–4413, 2017.
  • [6] P. N. Muralidhar, D. Katyal, and B. S. Rajan, “Maddah-ali-niesen scheme for multi-access coded caching,” in 2021 IEEE Information Theory Workshop (ITW).   IEEE, 2021, pp. 1–6.
  • [7] K. Wan, D. Tuninetti, and P. Piantanida, “An index coding approach to caching with uncoded cache placement,” IEEE Transactions on Information Theory, vol. 66, no. 3, pp. 1318–1332, 2020.
  • [8] M. A. Maddah-Ali and U. Niesen, “Decentralized coded caching attains order-optimal memory-rate tradeoff,” IEEE/ACM Transactions On Networking, vol. 23, no. 4, pp. 1029–1040, 2014.
  • [9] N. Karamchandani, U. Niesen, M. A. Maddah-Ali, and S. N. Diggavi, “Hierarchical coded caching,” IEEE Transactions on Information Theory, vol. 62, no. 6, pp. 3212–3229, 2016.
  • [10] U. Niesen and M. A. Maddah-Ali, “Coded caching with nonuniform demands,” IEEE Transactions on Information Theory, vol. 63, no. 2, pp. 1146–1158, 2016.
  • [11] S. P. Shariatpanahi, G. Caire, and B. H. Khalaj, “Multi-antenna coded caching,” in 2017 IEEE International Symposium on Information Theory (ISIT).   IEEE, 2017, pp. 2113–2117.
  • [12] J. Hachem, N. Karamchandani, and S. N. Diggavi, “Coded caching for multi-level popularity and access,” IEEE Transactions on Information Theory, vol. 63, no. 5, pp. 3108–3141, 2017.
  • [13] K. Wan and G. Caire, “On coded caching with private demands,” IEEE Transactions on Information Theory, vol. 67, no. 1, pp. 358–372, 2020.
  • [14] Y. Ma and D. Tuninetti, “On coded caching systems with offline users,” in 2022 IEEE International Symposium on Information Theory (ISIT).   IEEE, 2022, pp. 1133–1138.
  • [15] S. Ling, and C. Xing, “Coding theory: a first course,” Cambridge University Press, 2004.
  • [16] J. Liao and O. Tirkkonen, “Fundamental rate-memory tradeoff for coded caching in presence of user inactivity,” arXiv preprint arXiv:2109.14680, 2021.
  • [17] Y. Ma and D. Tuninetti, “Demand privacy in hotplug caching systems,” arXiv preprint arXiv:2305.06518, 2023.
  • [18] Q. Yan, M. Cheng, X. Tang, and Q. Chen, “On the placement delivery array design for centralized coded caching scheme,” IEEE Transactions on Information Theory, vol. 63, no. 9, pp. 5821–5833, 2017.
  • [19] Q. Yan, X. Tang, Q. Chen, and M. Cheng, “Placement delivery array design through strong edge coloring of bipartite graphs,” IEEE Communications Letters, vol. 22, no. 2, pp. 236–239, 2017.
  • [20] C. Shangguan, Y. Zhang, and G. Ge, “Centralized coded caching schemes: A hypergraph theoretical approach,” IEEE Transactions on Information Theory, vol. 64, no. 8, pp. 5755–5766, 2018.
  • [21] M. Cheng, J. Jiang, Q. Yan, and X. Tang, “Constructions of coded caching schemes with flexible memory size,” IEEE Transactions on Communications, vol. 67, no. 6, pp. 4166–4176, 2019.
  • [22] J. Michel and Q. Wang, “Placement delivery arrays from combinations of strong edge colorings,” IEEE Transactions on Communications, vol. 68, no. 10, pp. 5953–5964, 2020.
  • [23] X. Zhong, M. Cheng, and J. Jiang, “Placement delivery array based on concatenating construction,” IEEE Communications Letters, vol. 24, no. 6, pp. 1216–1220, 2020.
  • [24] M. Cheng, J. Jiang, X. Tang, and Q. Yan, “Some variant of known coded caching schemes with good performance,” IEEE Transactions on Communications, vol. 68, no. 3, pp. 1370–1377, 2019.
  • [25] S. Agrawal, K. S. Sree, and P. Krishnan, “Coded caching based on combinatorial designs,” in 2019 IEEE International Symposium on Information Theory (ISIT), IEEE, 2019, pp. 1227-1231.
  • [26] J. Li and Y. Chang, “Placement Delivery Arrays Based on Combinatorial Designs,” in IEEE Communications Letters, vol. 26, no. 2, pp. 296-300, 2022.
  • [27] M. Cheng, K. Wan, P. Elia, and G. Caire, “Coded Caching Schemes for Multiaccess Topologies via Combinatorial Design,” arXiv preprint arXiv:2310.20239, 2023.
  • [28] D. Katyal, P. N. Muralidhar, and B. S. Rajan, “Multi-access coded caching schemes from cross resolvable designs,” IEEE Transactions on Communications, vol. 69, no. 5, pp. 2997-3010, 2021.
  • [29] Q. Yu, M. A. Maddah-Ali, and A. S. Avestimehr, “Characterizing the rate-memory tradeoff in cache networks within a factor of 2,” IEEE Transactions on Information Theory, vol. 65, no. 1, pp. 647–663, 2018.
  • [30] D. R. Stinson, Combinatorial designs: constructions and analysis.   Springer, 2004, vol. 480.