Next Article in Journal
Enhanced Grid-Based Visual Analysis of Retinal Layer Thickness with Optical Coherence Tomography
Previous Article in Journal
A Systematic Mapping Study of MMOG Backend Architectures

Information 2019, 10(9), 265; https://doi.org/10.3390/info10090265

Article
Breaking the MDS-PIR Capacity Barrier via Joint Storage Coding
by 1,* and 2,*
1
Department of Electrical Engineering, University of North Texas, Denton, TX 76203, USA
2
Department of Electrical and Computer Engineering, Texas A&M University, College Station, TX 77843, USA
*
Authors to whom correspondence should be addressed.
Received: 20 June 2019 / Accepted: 19 August 2019 / Published: 22 August 2019

Abstract

:
The capacity of private information retrieval (PIR) from databases coded using maximum distance separable (MDS) codes was previously characterized by Banawan and Ulukus, where it was assumed that the messages are encoded and stored separably in the databases. This assumption was also usually made in other related works in the literature, and this capacity is usually referred to as the MDS-PIR capacity colloquially. In this work, we considered the question of if and when this capacity barrier can be broken through joint encoding and storing of the messages. Our main results are two classes of novel code constructions, which allow joint encoding, as well as the corresponding PIR protocols, which indeed outperformed the separate MDS-coded systems. Moreover, we show that a simple, but novel expansion technique allows us to generalize these two classes of codes, resulting in a wider range of the cases where this capacity barrier can be broken.
Keywords:
private information retrieval; maximum distance separable codes; capacity

1. Introduction

Private information retrieval (PIR) [1] has attracted significant attention from researchers in the fields of theoretical computer science, cryptography, information theory, and coding theory. In the classical PIR model, a user wishes to retrieve one of the K available messages, from N non-communicating databases, each of which has a copy of these K messages. User privacy needs to be preserved during the retrieval process, which requires that the identity of the desired message not be revealed to any single database. To accomplish the task efficiently, good codes need to be designed such that the least amount of data should be downloaded. The inverse of the minimum amount of the downloaded data per-bit of desired message is referred to as the capacity of the PIR system. The capacity of the classical PIR system was characterized precisely in a recent work by Sun and Jafar [2].
In distributed systems, databases may fail; moreover, each storage node (database) is also constrained on the storage space. Erasure codes can be used to improve both storage efficiency and failure resistance, which motivated the investigation of PIR from data encoded with maximum distance separable (MDS) codes [3,4,5,6,7], with coding parameter ( N , T ) , i.e., the messages can be recovered by accessing any T databases. The capacity of PIR from MDS-coded databases (MDS-PIR) was characterized by Banawan and Ulukus [5], which is usually referred to as the MDS-PIR capacity colloquially.
In all these existing works, the storage code was designed such that each message was independently encoded and stored in the databases and thus could also be recovered individually. In fact, even when the storage codes are not necessarily MDS codes, most existing works on the capacity of private information retrieval assumed this separate coding architecture [8,9,10,11,12,13], and the only exceptions we are aware of are [14,15,16]. Though the architecture of separately encoding each message offers a simple storage solution with good data reliability, it is by no means the only possible MDS storage coding strategy. Instead, the messages can be stored jointly using an MDS code, which could provide the same level of data reliability at the same amount of storage overhead. Motivated by this simple observation, which was first mentioned as a footnote in [15] and can be further traced back to a code example in [14], we ask the following natural question: When can the MDS-PIR capacity barrier, which was established in [5] for separately encoding the messages using an MDS code, be broken, by allowing joint encoding of the messages using an MDS code?
In this work, we show that there are many cases, where through jointly encoding and storing the messages, the messages can be protected using an ( N , T ) MDS code, but retrieved with less data download than the separate coding architecture. In other words, the capacity barrier for separately encoding the messages can be broken for these cases. More precisely, the mathematical question we ask is under what ( K , N , T ) parameters jointly encoding and storing the MDS-coded messages can provide strict PIR retrieval rate improvement; we show that this can be done at least in the following two cases:
  • ( K , N , T ) = ( 2 , N , 2 ) and N 3 ;
  • ( K , N , T ) = ( K , K + 1 , K ) and K 2 .
To establish this result, we provide two novel code constructions and PIR protocols, which yield strict performance improvement over the strategy of encoding and storing messages separately using an MDS code. Moreover, we show that through a simple, but novel code expansion technique, the MDS-PIR capacity barrier can also be broken for the following cases for an arbitrary integer m 1 :
  • ( K , N , T ) = ( 2 , m N , 2 m ) and N 3 ;
  • ( K , N , T ) = ( K , m ( K + 1 ) , m K ) and K 2 .
It should be noted that related to the line of works that focus on PIR capacity, there exists another interesting line of work in coding theory [17,18,19,20,21,22] focusing on a different metric—the virtual server rate [19]—which studies how to store the messages jointly such that a minimum number of servers are used to simulate existing PIR protocols. In contrast to our current work, since the resulting joint storage code is not required to be MDS, it often turns out to be non-MDS, and thus cannot be compared directly.
The rest of the paper is organized as follows. In Section 2, we provide a precise description of the system model and problem formulation. In Section 3 and Section 4, we provide two novel joint coding storage codes and PIR protocols. In Section 5, we present a technique that yields more general classes of the codes, which can strictly improve upon separately encoding and storing the messages. Section 6 finally concludes the paper.

2. System Model and Problem Formulation

In this section, we first provide a formal description of the system model, then proceed to pose the problem we seek to answer in this work. A couple of additional remarks to clarify the relation between our system model and those seen in the literature are given at the end of the section.

2.1. System Model

There is a total of K mutually-independent messages W 1 , W 2 , , W K in the system. Each message is uniformly distributed over X L , i.e., the set of length L sequences in the finite alphabet X . The messages are MDS-coded and then distributed to N databases, such that from any T databases, the messages can be fully recovered. Since the messages are ( N , T ) MDS-coded, it is without loss of generality to assume that L · K = M · T for some integer M.
When a user wishes to retrieve a particular message W k * , N queries Q 1 : N [ k * ] = ( Q 1 [ k * ] , , Q N [ k * ] ) are sent to the databases, where Q n [ k * ] is the query for database n. The retrieval needs to be information theoretically private, i.e., any database is not able to infer any knowledge as to which message is being requested. For this purpose, a random key F in the set F is used together with the desired message index k * to generate the set of queries Q 1 : N [ k * ] . Each query Q n [ k * ] belongs to the set of allowed queries for database n, denoted as Q n . After receiving query Q n [ k * ] , database n responds with an answer A n [ k * ] . Each symbol in the answers from database n belongs to a finite field A n , and the answers may have multiple (and different numbers of) symbols. Using the answers A 1 : N [ k * ] from all N databases, together with F and k * , the user then reconstructs W ^ k * . We shall refer to such a system as a ( K , N , T ) MDS-PIR system.
A more rigorous definition of a ( K , N , T ) system can be specified by a set of coding functions as follows. In the following, we denote the cardinality of a set B as | B | .
Definition 1.
A ( K , N , T ) MDS-PIR code consists of the following coding components:
1. 
A set of MDS encoding functions:
Φ n : = X L K X M , n { 1 , , N } ,
where each Φ n encodes all the messages together in the information to be stored at database n.
2. 
A set of MDS decoding recovery functions:
Ψ T : X L K X L K ,
for each T { 1 , , N } such that | T | = T , whose outputs are denoted as W ˜ T 1 : K ;
3. 
A query function:
ϕ n : { 1 , , K } × F Q n , n { 1 , , N } ,
i.e., for retrieving message W k * , the user sends the query Q n [ k * ] = ϕ n ( k * , F ) to database n;
4. 
An answer length function:
n : Q n { 0 , 1 , } , n { 1 , , N } ,
i.e., the length of the answer from each database, a non-negative integer, is a deterministic function of the query, but not the particular realization of the messages;
5. 
An answer-generating function:
ϕ n ( q n ) : X M × Q n A n n , q n Q n , n { 1 , , N } ,
i.e., the answer when q n = Q n [ k * ] is the query received by database n;
6. 
A reconstruction function:
ψ : n = 1 N A n n × { 1 , , K } × F X L ,
i.e., after receiving the answers, the user reconstructs the message as W ^ k * = ψ ( A 1 : N [ k * ] , k * , F ) .
These functions satisfy the following three requirements:
1. 
MDS recoverable: For any T { 1 , , N } such that | T | = T , we have W ˜ T 1 : K = W 1 : K .
2. 
Retrieval correctness: For any k * { 1 , , K } , we have W ^ k * = W k * .
3. 
Privacy: For every k , k { 1 , , K } , n { 1 , , N } and q Q n ,
Pr ( Q n [ k ] = q ) = Pr ( Q n [ k ] = q ) .
The retrieval rate is defined as:
R : = L log | X | n = 1 N E ( n ) log | A n | .
This is the number of bits of desired message information that can be privately retrieved per bit of downloaded data. The maximum possible retrieval rate is referred to as the capacity of the ( K , N , T ) system.

2.2. Separate vs. Joint MDS Storage Codes

In the general problem definition we have provided above, the MDS encoding functions Φ n allow the messages to be jointly encoded. For example, suppose we have K = 2 messages, N = 3 databases, and from any T = 2 databases, we may decode both messages. A simple jointly-encoded MDS storage code is as follows. Each message has L = 2 bits, denoted as W 1 = ( a 1 , a 2 ) , W 2 = ( b 1 , b 2 ) . Each database stores M = L K / T = 2 bits, i.e., Database 1 stores ( a 1 , a 2 ) , Database 2 stores ( b 1 , b 2 ) , and Database 3 stores ( a 1 + b 1 , a 2 + b 2 ) . However, in almost all existing works in the literature, e.g., [3,5,7,23,24,25,26], the messages are encoded separately. In other words, the MDS encoding functions have the special form:
Φ n = ( Φ n 1 , Φ n 2 , , Φ n K ) ,
where:
Φ n k : X L X M / K , n { 1 , , N } , k { 1 , , K } ,
which encodes message W k into its MDS-coded form to be stored at database n. Correspondingly, the MDS decoding functions have the form:
Ψ T = ( Ψ T 1 , Ψ T 2 , , Ψ T K ) ,
where:
Ψ T k : X L X L , k { 1 , , K } ,
which decodes message k from the information regarding W k stored in the databases in the set T . Particularly, since most practical MDS codes are linear, several existing works have directly assumed the MDS encoding functions to be linear, and moreover, the component coding functions Φ n k for different messages W k ’s are the same; see, e.g., [5,23]. In other words, in this class of codes, the encoding function Φ n k can be written as the multiplication of the message vector W k with an L × M / K encoding matrix G n , whose elements are also in the finite field X . To compare with the jointly-encoded MDS storage example above, we consider the same setting where K = 2 messages, L = 2 bits per message, N = 3 servers, and the MDS parameter T = 2 . A separate MDS storage code where each database stores M / K = 1 bit per message is as follows. Database 1 stores ( a 1 , b 1 ) ; Database 2 stores ( a 2 , b 2 ) ; and Database 3 stores ( a 1 + a 2 , b 1 + b 2 ) . It is easy to see that for separately-encoded MDS storage codes, the storage space is divided evenly for each message, and each divided storage space can only be a function of the corresponding message.
Let us denote the capacity of the ( K , N , T ) MDS-PIR system as C ( K , N , T ) , that of separate MDS coding as C ( K , N , T ) , and that of separate linear MDS coding with a uniform component function as C ( K , N , T ) . It is clear from the definitions that:
C ( K , N , T ) C ( K , N , T ) C ( K , N , T ) .
It was shown in [5] that:
C ( K , N , T ) = 1 + T N + + T N K 1 1 .
However, a close inspection of the converse proof in [5] reveals that:
C ( K , N , T ) = C ( K , N , T ) .
The issue we thus wish to understand in this work is the relation between C ( K , N , T ) and C ( K , N , T ) . In particular, we wish to identify the set of the ( K , N , T ) triples such that:
C ( K , N , T ) > C ( K , N , T ) ,
if the set is not empty. We shall show in this work that such triples indeed exist, and they in fact span a rather wide range.

2.3. Further Remarks on the System Model

The result in [5] is in fact slightly stronger than we stated in (13). Let us assume a particular MDS storage code C is used in the ( K , N , T ) system, then the corresponding capacities of the ( K , N , T ) systems as described above can be denoted as C ( K , N , T , C ) , C ( K , N , T , C ) , and C ( K , N , T , C ) , respectively. The result in [5] can then be stated as that for any linear MDS code C ,
C ( K , N , T , C ) = C ( K , N , T ) = 1 + T N + + T N K 1 1 .
It is natural to ask whether for any particular MDS code C , which is not necessarily linear or does not necessarily use a uniform component MDS coding function, whether C ( K , N , T , C ) = C ( K , N , T ) and, more generally, whether for any MDS code C , C ( K , N , T , C ) = C ( K , N , T ) . We believe this is in general not true; however, it appears difficult to prove or disprove this conjecture.
The MDS recovery requirement implies the following information theoretic relation:
n T H ( Φ n ( W 1 : K ) ) = K L log | X | ,
H ( W 1 : K | Φ n ( W 1 : K ) , n T ) = 0 ,
for any T { 1 , 2 , , N } and | T | = T . These conditions can be used to derive converse results for a ( K , N , T ) system and sometimes are stated directly (e.g., [24]) as the MDS recovery requirement, instead of enforcing the MDS recovery property on the coding functions.

3. Code Construction: ( K , N , T ) = ( 2 , N , 2 ) , N 3

In this section, we present the storage and PIR code construction when K = T = 2 , N 3 and show that the PIR rate achieved with the proposed joint MDS storage code is strictly higher than the capacity of PIR with separate MDS storage code, i.e., C ( 2 , N , 2 ) > C ( 2 , N , 2 ) .

3.1. Example: N = 4

To illustrate the main idea in a simpler setting, we start with an example where N = 4 . We set the message size L = 3 so that each message consisted of three symbols from F 3 . Denote W 1 = ( a 0 ; a 1 ; a 2 ) F 3 3 × 1 , W 2 = ( b 0 ; b 1 ; b 2 ) F 3 3 × 1 .
Storage code: From the joint MDS storage code constraint, each database stores L K T = 3 symbols, and the stored variables are specified in Table 1.
It is easy to verify that we may recover both messages from the storage of any two databases. For example, consider Database 3 and Database 4. It suffices to show that ( a 1 2 a 2 ; a 2 2 a 0 ; a 0 2 a 1 ) are invertible to W 1 = ( a 0 ; a 1 ; a 2 ) . Equivalently, we show that the following matrix has full rank over F 3 .
0 1 2 2 0 1 1 2 0 0 1 1 1 0 1 1 1 0 det 0 1 1 1 0 1 1 1 0 = 2 0
PIR code: When we retrieve W 1 , the answers are shown in Table 2.
When we retrieve W 2 , the answers are shown in Table 3.
Correctness and privacy: Both correctness and privacy are easy to verify. Correctness follows from the observation that from the four symbols downloaded (one from each database), we may decode the three desired symbols, as only one undesired symbol appears in the answers. Privacy is guaranteed because no matter which message is desired, for each database, the answers are identically distributed. For example, consider Database 3. The answers are equally likely to be a 0 + b 2 , a 1 + b 0 , and a 2 + b 1 , regardless of the desired message index.
Rate that outperforms separate MDS-PIR capacity: The desired message has L = 3 symbols, and we are downloading one symbol from each database, l n = 1 , n { 1 , 2 , 3 , 4 } . Then, the rate achieved is L n l n = 3 4 C ( 2 , 4 , 2 ) , which is strictly higher than C ( 2 , 4 , 2 ) = ( 1 + 2 4 ) 1 = 2 3 , the capacity of the separate MDS storage code.

3.2. General Proof: Arbitrary N 3

We set message size L = N 1 , then each message consisted of N 1 symbols from F p m for a prime number p and an integer m such that p m ( N 3 ) ( N 1 ) + 2 . The primitive element of the finite field F p m is denoted as α . Denote W 1 = ( a 0 ; a 1 ; ; a N 2 ) F p m ( N 1 ) × 1 , W 2 = ( b 0 ; b 1 ; ; b N 2 ) F p m ( N 1 ) × 1 .
Storage code: From the joint MDS storage code constraint, each database stores L K T = N 1 symbols, and the stored variables S n F p m ( N 1 ) × 1 , n { 1 , , N } are set as follows.
Denote the cyclically-shifted message vector as W ˜ 1 ( i ) = ( a i ¯ ; a i + 1 ¯ ; ; a i + N 2 ¯ ) , i { 1 , , N 2 } where i ¯ = i mod ( N 1 ) , i.e., the symbol indices are interpreted modulo N 1 .
S 1 = W 1
S 2 = W 2
S 3 = α W ˜ 1 ( 1 ) + W 2
S n = α n 2 W ˜ 1 ( n 2 ) + W 2
S N = α N 2 W ˜ 1 ( N 2 ) + W 2
Specifically,
S 1 = ( S 1 , 0 ; ; S 1 , N 2 ) = ( a 0 ; ; a N 2 )
S 2 = ( S 2 , 0 ; ; S 2 , N 2 ) = ( b 0 ; ; b N 2 )
S n = ( S n , 0 ; ; S n , N 2 ) = ( α n 2 a n 2 ¯ + b 0 ; ; α n 2 a n + N 4 ¯ + b N 2 ) , n { 3 , , N }
The proof that the above storage code satisfies the MDS criterion is deferred to Section 3.2.1.
PIR code: When we retrieve W 1 , the answers are set as follows. F is uniformly distributed over { 0 , 1 , , N 2 } . When F = f { 0 , 1 , , N 2 } , we set:
A 1 [ 1 ] = S 1 , f = a f
A 2 [ 1 ] = S 2 , f = b f
A 3 [ 1 ] = S 3 , f = α a f + 1 ¯ + b f
A n [ 1 ] = S n , f = α n 2 a f + n 2 ¯ + b f
A N [ 1 ] = S N , f = α N 2 a f + N 2 ¯ + b f
When we retrieve W 2 , the answers are set as follows. F is uniformly distributed over { 0 , 1 , , N 2 } . When F = f { 0 , 1 , , N 2 } , we set:
A 1 [ 2 ] = S 1 , f = a f
A 2 [ 2 ] = S 2 , f = b f
A 3 [ 2 ] = S 3 , f 1 ¯ = α a f + b f 1 ¯
A n [ 2 ] = S n , f ( n 2 ) ¯ = α n 2 a f + b f ( n 2 ) ¯
A N [ 2 ] = S N , f ( N 2 ) ¯ = α N 2 a f + b f ( N 2 ) ¯
Correctness and privacy: Similar to the example presented in the previous section, both correctness and privacy are easy to verify. Correctness follows from the observation that the N symbols downloaded (one from each database) contain all N 1 desired symbols and only one undesired symbol. Specifically, when W 1 is desired, we may recover W 1 from ( A 1 [ 1 ] , A 3 [ 1 ] A 2 [ 1 ] , , A N [ 1 ] A 2 [ 1 ] ) , and when W 2 is desired, we may recover W 2 from ( A 2 [ 2 ] , A 3 [ 2 ] α A 1 [ 2 ] , , A N [ 2 ] α N 2 A 1 [ 2 ] ) . Privacy is guaranteed because no matter which message is desired, A n [ 1 ] and A n [ 2 ] are identically distributed. For n = 1 , 2 , this is trivial to see; when n 3 , since A n [ 1 ] = S n , f , A n [ 2 ] = S n , f ( n 2 ) ¯ and f { 0 , 1 , , N 2 } , it is seen that f and f ( n 2 ) ¯ = ( f ( n 2 ) ) mod ( N 2 ) take values from the same set { 0 , 1 , , N 2 } for any n, and moreover, the queries follow the same uniform distribution on this set for both messages.
Rate that outperforms separate MDS-PIR capacity: The desired message has L = N 1 symbols, and we are downloading one symbol from each database, l n = 1 , n { 1 , , N } . Then, the rate achieved is L n l n = N 1 N C ( 2 , N , 2 ) . When N 3 , C ( 2 , N , 2 ) N 1 N > N N + 2 = C ( 2 , N , 2 ) , the capacity of separate MDS storage code.

3.2.1. Proof of MDS Storage Criterion

We show that from the stored variables of any two databases, S i , S j , i < j , i , j { 1 , , N } , we may recover both W 1 and W 2 .
When i = 1 , 2 , the proof is immediate. Henceforth, we consider i 3 . To show that from ( S i , S j ) , we may recover ( W 1 , W 2 ) , it suffices to prove that from S i S j , we may recover W 1 . Note that:
S i S j = α i 2 W ˜ 1 ( i 2 ) α j 2 W ˜ 1 ( j 2 )
= ( α i 2 a i 2 ¯ α j 2 a j 2 ¯ ; ; α i 2 a i + N 4 ¯ α j 2 a j + N 4 ¯ )
= C i , j ( a 0 ; ; a N 2 )
where C i , j is an ( N 1 ) × ( N 1 ) circulant matrix whose rows consist of all possible cyclic shifts of the following 1 × ( N 1 ) row vector,
c = ( c 0 , c 1 , , c N 2 ) = ( α i 2 , 0 , , 0 j i 1 0 s , α j 2 , 0 , , 0 ) .
We are left to prove the circulant matrix C i , j has full rank. From a result by Ingleton [27], a circulant matrix has full rank if the following two polynomials have no common root.
f ( x ) = c 0 + c 1 x + c N 2 x N 2 = α i 2 α j 2 x j i ,
g ( x ) = x N 1 1 .
To show that f ( x ) , g ( x ) have no common root for all integers i , j , 3 i < j N , we prove by contradiction. Suppose on the contrary that there exists an element x 0 F p m and two integers i , j , 3 i < j N such that f ( x 0 ) = 0 and g ( x 0 ) = 0 , i.e.,
α i 2 = α j 2 x 0 j i
x 0 N 1 = 1
Taking (50) to the ( N 1 ) th power, we have:
α ( i 2 ) ( N 1 ) = α ( j 2 ) ( N 1 ) ( x 0 N 1 ) j i
( 51 ) α ( i 2 ) ( N 1 ) = α ( j 2 ) ( N 1 )
1 = α ( j i ) ( N 1 )
Note that ( j i ) ( N 1 ) ( N 3 ) ( N 1 ) . Combining with the assumption that p m 2 ( N 3 ) ( N 1 ) and α is a primitive element of F p m , we have [28]:
1 { α , α 2 , α 3 , , α p m 2 } α ( j i ) ( N 1 ) 1 ,
which contradicts (52). The proof is now complete.
Remark 1.
The field size may be further reduced by a result from [29]. To ensure C i , j has full rank, it suffices to ensure f ( x ) and g ( x ) = x r 1 have no common root, where N 1 = r p l and p , r are co-prime [29]. Using this result and following similar proof steps as above, we may set p m ( N 3 ) r + 2 . Note that here, r depends on p, so to find the smallest field size, we may search by first fixing p.

4. Code Construction: ( K , N , T ) = ( K , K + 1 , K ) , K 2

In this section, we present the storage and PIR code construction when N = K + 1 = T + 1 and show that the PIR rate achieved with the proposed joint MDS storage code is strictly higher than the capacity of PIR with separate MDS storage code, i.e., C ( K , K + 1 , K ) > C ( K , K + 1 , K ) .

4.1. Example: ( K , N , T ) = ( 3 , 4 , 3 )

To illustrate the main idea in a simpler setting, we start with an example where K = 3 , N = 4 , T = 3 . We set the message size L = 2 so that each message consisted of two bits from F 2 . Denote W 1 = ( a 1 ; a 2 ) , W 2 = ( b 1 ; b 2 ) , W 3 = ( c 1 ; c 2 ) .
Storage code: From the joint MDS storage code constraint, each database stores L K T = 2 bits, and the stored variables are specified in Table 4.
The MDS storage criterion is easily verified, i.e., we may recover both messages from the storage of any three databases.
PIR code: When we retrieve W 1 , the answers are shown in Table 5.
When we retrieve W 2 or W 3 , the answers are shown in Table 6 and Table 7.
Correctness and privacy: Both correctness and privacy are easy to see.
Rate that outperforms separate MDS-PIR capacity: The rate achieved was L n l n = 2 4 = 1 2 C ( 3 , 4 , 3 ) , which was strictly higher than C ( 3 , 4 , 3 ) = ( 1 + 3 4 + ( 3 4 ) 2 ) 1 = 16 37 , the capacity of separate MDS storage code.

4.2. General Proof: ( K , N , T ) = ( K , K + 1 , K ) , K 2

The proof is a simple generalization of the example presented above. We set L = 2 , and each message consisted of two bits from F 2 . Denote W k = ( W 1 k ; W 2 k ) , k { 1 , , K } .
Storage code: Each database stores L K T = 2 bits, and the stored variables are specified in Table 8. Note that K = T = N 1 .
The MDS storage criterion is easily verified, i.e., we may recover both messages from the storage of any T = N 1 databases.
PIR code: When we retrieve W k , the answers are shown in Table 9.
Correctness and privacy: These follow immediately.
Rate that outperforms separate MDS-PIR capacity: The rate achieved was L n l n = 2 N C ( K , K + 1 , K ) , while the capacity of separate MDS storage code was C ( K , K + 1 , K ) = ( 1 + N 1 N + + ( N 1 N ) N 1 ) 1 = 1 N 1 N 1 ( N 1 N ) N = 1 N ( 1 ( N 1 N ) N ) . To prove C ( K , K + 1 , K ) > C ( K , K + 1 , K ) , it remains to show that:
2 N > 1 N ( 1 ( N 1 N ) N )
( 1 1 N ) N < 1 2
( 1 1 N ) N 1 e < 1 2 .
The proof is thus complete.

5. Regime Expansion Building upon Base Codes

We show that the two classes of base codes presented in previous sections for ( K , N , T ) systems can be extended to ( K , m N , m T ) systems (m is a positive integer). We present this result in the next two subsections, one for each class of base codes. Let us start from the simpler case of ( K , K + 1 , K ) systems.

5.1. From ( K , K + 1 , K ) to ( K , m ( K + 1 ) , m K ) Systems

We show that C ( K , m ( K + 1 ) , m K ) > C ( K , m ( K + 1 ) , m K ) , where K 2 and m is a positive integer.
The key idea is that we may split the messages and databases into m generic copies so that the same PIR rate is preserved. Note that the separate MDS-PIR capacity is a function of T N , i.e., C ( K , m ( K + 1 ) , m K ) = C ( K , K + 1 , K ) . As C ( K , K + 1 , K ) > C ( K , K + 1 , K ) , it suffices to provide a joint MDS storage code for a ( K , m ( K + 1 ) , m K ) system that achieves the same PIR rate as that of a ( K , K + 1 , K ) system (i.e., rate 2 K + 1 ). Such a storage and PIR code construction is presented next.
Each message is “multiplied” by m, so that we set L = 2 m , and each message consists of 2 m symbols from F q , where q is an integer power of a prime number and is no fewer than ( m + 1 ) K . To highlight that the message symbols form two segments, we denote W k = ( W 1 k ; W 2 k ) F q 2 × m , where W i k = ( W i , 1 k , , W i , m k ) F q 1 × m , i { 1 , 2 } .
Storage code: Each database stores L K T = 2 symbols, as specified in Table 10. For the ease of presentation, the N = m ( K + 1 ) databases are divided into K + 1 groups (m databases each) and labeled as D B ( 1 , 1 ) , , D B ( 1 , m ) , , D B ( K + 1 , m ) . Denote a group of databases as DB ( k , : ) = D B ( k , 1 ) , , D B ( k , m ) , k { 1 , 2 , , K + 1 } . A database in group k , k { 1 , , K } stores two distinct W k symbols (one from W 1 k and one from W 2 k ). The ( K + 1 ) th group of databases stores generic combinations of the message symbols. Denote W 1 = ( ( W 1 1 ) T ; ; ( W 1 K ) T ) F q m K × 1 , W 2 = ( ( W 2 1 ) T ; ; ( W 2 K ) T ) F q m K × 1 . C ( i , : ) F q 1 × m K , i { 1 , , m } denotes the i th row of an m × m K Cauchy matrix C with elements C ( i , j ) in the form:
C ( i , j ) = 1 α i β j , α i β j , i { 1 , , m } , j { 1 , , m K } .
Note that q ( m + 1 ) K ; therefore, such distinct α i ’s and β j ’s exist.
We now verify that the MDS storage criterion is satisfied, i.e., both messages can be recovered from the storage of any T = m K databases. The two message segments W 1 , W 2 are encoded in the same manner, so it suffices to consider one segment, say Segment 1 , W 1 . Suppose among the T = m K databases, T 1 ( m 1 ) K databases are from the first K database groups and the remaining T T 1 databases are from the ( K + 1 ) th database group. The T 1 databases from the first K database groups contribute T 1 raw message symbols from W 1 , then we only need to show that the remaining T T 1 symbols from W 1 can be recovered from the T T 1 databases of the ( K + 1 ) th database group. This is equivalent to prove that a ( T T 1 ) × ( T T 1 ) sub-matrix of the Cauchy matrix C F q m × m K has full rank, which trivially holds for any Cauchy matrix.
PIR code: When we retrieve W k , the answers are shown in Table 11.
Correctness and privacy: Privacy follows from the observation that no matter which message is desired, the answer from any database is equally likely to come from Message Segment 1 or 2. To see the correctness, note that all non-desired message symbols appeared in answers from the ( K + 1 ) th database group are directly downloaded, and thus, they can be canceled. m desired symbols are directly downloaded, and the other m desired symbols can be successfully recovered because the m linear combinations of desired symbols downloaded from the ( K + 1 ) th database group have full rank (note that C F q m × m K is a Cauchy matrix). The rate achieved is 2 K + 1 as L = 2 m , and we have downloaded one symbol from each of the m ( K + 1 ) databases.

5.2. From ( 2 , N , 2 ) to ( 2 , m N , 2 m ) Systems

We show that C ( 2 , m N , 2 m ) > C ( 2 , m N , 2 m ) , where N 3 and m is a positive integer. Similar to the reasoning in the previous section, it suffices to provide a joint MDS storage code for a ( 2 , m N , 2 m ) system that achieves the PIR rate N 1 N (same as that of a ( 2 , N , 2 ) system from Section 4). The idea is also based on splitting the messages and databases. Let us start with an example where N = 4 , m = 2 .

5.2.1. Example: N = 4 , m = 2

The message size is multiplied by m = 2 so that we set L = m ( N 1 ) = 6 , and each message consisted of six symbols from F q , where q will be specified later. At this point, it is useful to view q as a sufficiently large prime number. Denote W 1 = ( a 0 ; a 1 ; a 2 ) , where a i = ( a i ; a i ) , i { 0 , 1 , 2 } and W 2 = ( b 0 ; b 1 ; b 2 ) , where b i = ( b i ; b i ) , i { 0 , 1 , 2 } .
Storage code: Each database stores L K T = 3 symbols, as specified in Table 12. Define:
h i = ( h i , h i ) F q 1 × 2 , g i = ( g i , g i ) F q 1 × 2 , i { 1 , 2 , , 12 } .
We will show that there exist feasible choices of h i , g i . Specifically, we may choose h i , h i , g i , g i i.i.d. and uniform over F q .
To verify the MDS storage criterion, we need to show that both messages can be recovered from the storage of any four databases. The detailed proof is deferred to the general proof presented in the next section, and we give a sketch here. Every four databases contributes 12 linear combinations on the 12 message symbols, and this linear mapping is given by a 12 × 12 matrix. We view its determinant polynomial as a function of variables ( h i , h i , g i , g i ) . As shown in the general proof, these determinant polynomials are not zero polynomials. Overall, we have 8 4 determinant polynomials, and each polynomial has degree at most 12. Consider the product of all such determinant polynomials, which is another polynomial with degree at most 12 × 8 4 . Therefore, by the Schwartz–Zippel lemma, if we set q > 12 × 8 4 , then the probability that this product polynomial evaluates to zero is non-zero. In other words, we found a feasible choice of ( h i , h i , g i , g i ) that guarantees the storage code satisfies the MDS criterion.
PIR code: The PIR code is almost identical to that when m = 1 . When we retrieve W 1 , the answers are shown in Table 13.
When we retrieve W 2 , the answers are shown in Table 14.
Correctness and privacy: Privacy is easily seen. To prove correctness, note that non-desired symbols can be canceled, and we only need to ensure the received desired equations are invertible to the message symbols. This claim follows from Schwartz–Zippel lemma that shows that ( h 2 i 1 ; h 2 i ) F q 2 × 2 , ( g 2 i 1 ; g 2 i ) F q 2 × 2 have full rank with non-zero probability over a sufficiently large field. Here, we have 12 matrices, each of which has dimension 2 × 2 and has a determinant polynomial of degree at most two.
Overall, we need to guarantee the correctness and MDS criterion are simultaneously satisfied. Take the product of all determinant polynomials, whose degree is at most 12 × 8 4 + 12 × 2 . Therefore, we set q > 12 × 8 4 + 12 × 2 , and by Schwartz–Zippel lemma, there exist a feasible choice of ( h i , h i , g i , g i ) over F q .

5.2.2. General Proof: Arbitrary N 3 , m 2

We set L = m ( N 1 ) , and each message consisted of L symbols from F q , where q is an integer power of a prime number and is no fewer than 2 m ( N 2 ) ( N 1 ) + 2 m ( N 1 ) m N 2 m . Denote W 1 = ( a 0 ; ; a N 2 ) F q m ( N 1 ) × 1 , where a i = ( a i , 1 ; ; a i , m ) F q m × 1 , i { 0 , 1 , , N 2 } and W 2 = ( b 0 ; ; b N 2 ) F q m ( N 1 ) × 1 , where b i = ( b i , 1 ; ; b i , m ) F q m × 1 , i { 0 , 1 , , N 2 } .
Storage code: Each database stores L K T = N 1 symbols. Denote the m N databases as D B ( 1 , 1 ) , , D B ( 1 , m ) , , D B ( N , m ) . The stored variables S n , j F q ( N 1 ) × 1 , n { 1 , , N } , j { 1 , , m } are set as follows.
Denote i ¯ = i mod ( N 1 ) . For any j { 1 , , m } ,
S 1 , j = ( S 1 , j , 0 ; ; S 1 , j , N 2 ) = ( a 0 , j ; a 1 , j ; ; a N 2 , j )
S 2 , j = ( S 2 , j , 0 ; ; S 2 , j , N 2 ) = ( b 0 , j ; b 1 , j ; ; b N 2 , j ) S n , j = ( S n , j , 0 ; ; S n , j , N 2 ) = ( h n , j , 0 a n 2 ¯ + g n , j , 0 b 0 ; ; h n , j , N 2 a n + N 4 ¯ + g n , j , N 2 b N 2 ) ,
n { 3 , , N }
where for any i { 0 , , N 2 } ,
h n , j , i F q 1 × m , g n , j , i F q 1 × m .
The proof that there exist choices of h n , j , i , g n , j , i such that the above storage code satisfies the MDS criterion is deferred to Section 5.2.3.
PIR code: When we retrieve W 1 , we download one symbol from each database, and the answers are set as follows. F is uniform over { 0 , 1 , , N 2 } . When F = f { 0 , 1 , , N 2 } , for any j { 1 , 2 , , m } , we set:
A 1 , j [ 1 ] = S 1 , j , f = a f , j
A 2 , j [ 1 ] = S 2 , j , f = b f , j
A n , j [ 1 ] = S n , j , f = h n , j , f a f + n 2 ¯ + g n , j , f b f , n { 3 , , N }
When we retrieve W 2 , the answers are set as follows. F is uniform over { 0 , 1 , , N 2 } . When F = f { 0 , 1 , , N 2 } , for any j { 1 , 2 , , m } , we set:
A 1 , j [ 2 ] = S 1 , j , f = a f , j
A 2 , j [ 2 ] = S 2 , j , f = b f , j
A n , j [ 2 ] = S n , j , f ( n 2 ) ¯ = h n , j , f ( n 2 ) ¯ a f + g n , j , f ( n 2 ) ¯ b f ( n 2 ) ¯ , n { 3 , , N }
Correctness and privacy: Privacy is easy to verify. For any n , j , A n , j [ 1 ] and A n , j [ 2 ] are identically distributed due to the modulo operation. Next, consider correctness. Due to symmetry, we only need to consider the case when W 1 is the desired message. From A 2 , j [ 1 ] , j { 1 , , m } , we have obtained all non-desired symbols ( b f , 1 ; ; b f , m ) = b f . After canceling the contribution of b f from A n , j [ 1 ] , n 3 , we need to show that for any n , f , the m × m matrix ( h n , 1 , f ; ; h n , m , f ) has full rank, which follows from the Schwartz–Zippel lemma over a sufficiently large field. We have 2 ( N 2 ) ( N 1 ) such matrices, each of size m × m . The product of all these determinant polynomials has degree at most 2 m ( N 2 ) ( N 1 ) .

5.2.3. Proof of the MDS Storage Criterion

We show that when each element of h n , j , i , g n , j , i is drawn independently and uniformly from F q ; the probability that the MDS criterion is satisfied is non-zero, so that there exists a feasible choice.
Consider any T = 2 m databases. We show that there exists an assignment of h n , j , i , g n , j , i so that the mapping from the storage of the T databases to the 2 L message symbols is invertible. This shows that the 2 L × 2 L matrix that describes the linear mapping has a non-zero determinant polynomial. Consider all choices of m N 2 m databases, and take the product of all such determinant polynomials. Each polynomial has degree at most 2 L , so the degree of the product polynomial is at most 2 L m N 2 m . Therefore, over a sufficiently large field, by the Schwartz–Zippel lemma, there exists a choice of h n , j , i , g n , j , i so that all polynomials evaluate to non-zero values, and the storage code is indeed MDS.
We are left to show that for any T = 2 m databases, we may assign h n , j , i , g n , j , i (for a given choice of T = 2 m databases) so that the storage is able to recover all 2 L message symbols. The proof is based on a crucial property, stated in the following lemma. Define a j = ( a 0 , j ; a 1 , j ; ; a N 2 , j ) , b j = ( b 0 , j ; b 1 , j ; ; b N 2 , j ) , j { 1 , , m } .
Lemma 1.
Consider any n { 3 , , N } , j { 1 , , m } ; there exists a choice of h n , j , i , g n , j , i , i { 0 , 1 , , N 2 } so that from S n , j , we may obtain a j * for any j * { 1 , , m } and another choice of h n , j , i , g n , j , i , i { 0 , 1 , , N 2 } so that from S n , j , we may obtain b j * for any j * { 1 , , m } .
Proof of Lemma 1.
The proof is fairly simple because S n , j contains all symbols from a j * and b j * for any j * . Consider first S n , j = a j * . For all i { 0 , 1 , , N 2 } , set:
g n , j , i = 0
h n , j , i = e j *
where e j * is a 1 × m unit vector so that only the element of the j * -th position is one and all other elements are zero, then we have:
S n , j = ( S n , j , 0 ; ; S n , j , N 2 ) = ( h n , j , 0 a n 2 ¯ + g n , j , 0 b 0 ; ; h n , j , N 2 a n + N 4 ¯ + g n , j , N 2 b N 2 )
= ( h n , j , 0 a n 2 ¯ ; ; h n , j , N 2 a n + N 4 ¯ )
= ( a n 2 ¯ , j * ; ; a n + N 4 ¯ , j * )
which is a cyclic shift of a j * = ( a 0 , j * ; a 1 , j * ; ; a N 2 , j * ) .
The case of S n , j = b j * follows similarly from the assignment given above.  □
Fix any T = 2 m databases. Suppose T 1 2 m databases are from D B ( i , j ) where i { 1 , 2 } , j { 1 , , m } and they will contribute T 1 distinct a j 1 * and b j 2 * vectors. The remaining T T 1 databases are from D B ( n , j ) where n { 3 , , N } , j { 1 , , m } , and our goal is to recover all remaining T T 1 a j 3 * and b j 4 * vectors. We can identify a one-to-one mapping between the T T 1 databases and the remaining ( T T 1 ) a j 3 * and b j 4 * vectors and apply Lemma 1 to find the assignment such that the a j 3 * and b j 4 * vectors are fully recovered. Hence, from any T databases, we may recover ( a 1 , , a m ) and ( b 1 , , b m ) , i.e., all symbols from W 1 and W 2 . Therefore, there indeed exists a choice of h n , j , i , g n , j , i for which the determinant polynomial is not zero.
Finally, we need to consider the correctness and MDS criterion jointly and show that there exists a single choice of h n , j , i , g n , j , i that satisfies both constraints at the same time. The product of all determinant polynomials has degree at most 2 m ( N 2 ) ( N 1 ) + 2 m ( N 1 ) m N 2 m , and as q > 2 m ( N 2 ) ( N 1 ) + 2 m ( N 1 ) m N 2 m , the Schwartz-Zippel lemma guarantees the existence of a feasible choice.

6. Conclusions

We considered the problem of private information retrieval from MDS-coded databases. Different from the prevailing approach in the literature where the messages are encoded separately using MDS codes, we considered encoding and storing the messages jointly using an MDS code in the databases. There are many cases for which by jointly MDS-coding, we can break the capacity barrier of the separate coding MDS-PIR. To establish this result, two novel code constructions and the corresponding PIR protocols were presented, and moreover, an expansion technique was introduced to allow more general parameters. The capacity of PIR with joint MDS storage, especially the converse side, remains an interesting future direction.
References

Author Contributions

The authors contribute equally to this work.

Funding

The work of C. Tian was supported in part by the National Science Foundation under Grants CCF-18-32309 and CCF-18-16546.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Chor, B.; Kushilevitz, E.; Goldreich, O.; Sudan, M. Private Information Retrieval. J. ACM (JACM) 1998, 45, 965–981. [Google Scholar] [CrossRef]
  2. Sun, H.; Jafar, S.A. The capacity of private information retrieval. In Proceedings of the 2016 IEEE Global Communications Conference (GLOBECOM), Washington, DC, USA, 4–8 December 2016; pp. 1–6. [Google Scholar]
  3. Shah, N.B.; Rashmi, K.; Ramchandran, K. One extra bit of download ensures perfectly private information retrieval. In Proceedings of the 2014 IEEE International Symposium on Information Theory (ISIT), Honolulu, HI, USA, 29 June–4 July 2014; pp. 856–860. [Google Scholar]
  4. Freij-Hollanti, R.; Gnilke, O.W.; Hollanti, C.; Karpuk, D.A. Private information retrieval from coded databases with colluding servers. SIAM J. Appl. Algebra Geom. 2017, 1, 647–664. [Google Scholar] [CrossRef]
  5. Banawan, K.; Ulukus, S. The capacity of private information retrieval from coded databases. IEEE Trans. Inf. Theory 2018, 64, 1945–1956. [Google Scholar] [CrossRef]
  6. Tajeddine, R.; Rouayheb, S.E. Private Information Retrieval from MDS Coded Data in Distributed Storage Systems. arXiv 2016, arXiv:1602.01458. [Google Scholar]
  7. Xu, J.; Zhang, Z. On Sub-Packetization and Access Number of Capacity-Achieving PIR Schemes for MDS Coded Non-Colluding Databases. Sci. China Inf. Sci. 2018, 61, 100306:1–100306:16. [Google Scholar] [CrossRef]
  8. Kumar, S.; Lin, H.Y.; Rosnes, E.; i Amat, A.G. Achieving maximum distance separable private information retrieval capacity with linear codes. IEEE Trans. Inf. Theory 2019, 65, 4243–4273. [Google Scholar] [CrossRef]
  9. Attia, M.A.; Kumar, D.; Tandon, R. The capacity of private information retrieval from uncoded storage constrained databases. arXiv 2018, arXiv:1805.04104. [Google Scholar]
  10. Woolsey, N.; Chen, R.R.; Ji, M. An Optimal Iterative Placement Algorithm for PIR from Heterogeneous Storage-Constrained Databases. arXiv 2019, arXiv:1904.02131. [Google Scholar]
  11. Banawan, K.; Arasli, B.; Wei, Y.P.; Ulukus, S. The Capacity of Private Information Retrieval from Heterogeneous Uncoded Caching Databases. arXiv 2019, arXiv:1902.09512. [Google Scholar]
  12. Raviv, N.; Tamot, I. Private Information Retrieval in Graph Based Replication Systems. In Proceedings of the 2018 IEEE International Symposium on Information Theory (ISIT), Vail, CO, USA, 17–22 June 2018; pp. 1739–1743. [Google Scholar]
  13. Lin, H.Y.; Kumar, S.; Rosnes, E.; i Amat, A.G. On the fundamental limit of private information retrieval for coded distributed storage. arXiv 2018, arXiv:1808.09018. [Google Scholar]
  14. Chan, T.H.; Ho, S.W.; Yamamoto, H. Private information retrieval for coded storage. In Proceedings of the 2015 IEEE International Symposium on Information Theory (ISIT), Hong Kong, China, 14–19 June 2015; pp. 2842–2846. [Google Scholar]
  15. Sun, H.; Jafar, S.A. Multiround private information retrieval: Capacity and storage overhead. IEEE Trans. Inf. Theory 2018, 64, 5743–5754. [Google Scholar] [CrossRef]
  16. Tian, C.; Sun, H.; Chen, J. A Shannon-Theoretic Approach to the Storage-Retrieval Tradeoff in PIR Systems. In Proceedings of the 2018 IEEE International Symposium on Information Theory (ISIT), Vail, CO, USA, 17–22 June 2018; pp. 1904–1908. [Google Scholar]
  17. Fazeli, A.; Vardy, A.; Yaakobi, E. Codes for distributed PIR with low storage overhead. Proceedings of IEEE International Symposium on Information Theory (ISIT), Hong Kong, China, 14–19 June 2015; pp. 2852–2856. [Google Scholar]
  18. Rao, S.; Vardy, A. Lower Bound on the Redundancy of PIR Codes. arXiv 2016, arXiv:1605.01869. [Google Scholar]
  19. Blackburn, S.R.; Etzion, T. PIR array codes with optimal virtual server rate. IEEE Trans. Inf. Theory 2019. [Google Scholar] [CrossRef]
  20. Zhang, Y.; Wang, X.; Wei, H.; Ge, G. On private information retrieval array codes. IEEE Trans. Inf. Theory 2019, 65, 5565–5573. [Google Scholar] [CrossRef]
  21. Skachek, V. Batch and PIR codes. In Network Coding and Subspace Designs; Springer: Berlin/Heidelberg, Germany, 2018; pp. 427–442. [Google Scholar]
  22. Vajha, M.; Ramkumar, V.; Kumar, P.V. Binary, shortened projective Reed Muller codes for coded private information retrieval. In Proceedings of the 2017 IEEE International Symposium on Information Theory (ISIT), Aachen, Germany, 25–30 June 2017; pp. 2648–2652. [Google Scholar]
  23. Tajeddine, R.; Gnilke, O.W.; El Rouayheb, S. Private information retrieval from MDS coded data in distributed storage systems. IEEE Trans. Inf. Theory 2018, 64, 7081–7093. [Google Scholar] [CrossRef]
  24. Sun, H.; Jafar, S.A. Private Information Retrieval from MDS Coded Data with Colluding Servers: Settling a Conjecture by Freij-Hollanti et al. IEEE Trans. Inf. Theory 2018, 64, 1000–1022. [Google Scholar] [CrossRef]
  25. Wang, Q.; Skoglund, M. Symmetric private information retrieval for MDS coded distributed storage. In Proceedings of the 2017 IEEE International Conference on Communications (ICC), Paris, France, 21–25 May 2017; pp. 1–6. [Google Scholar]
  26. Zhou, R.; Tian, C.; Liu, T.; Sun, H. Capacity-Achieving Private Information Retrieval Codes from MDS-Coded Databases with Minimum Message Size. In Proceedings of the 2019 IEEE International Symposium on Information Theory (ISIT), Paris, France, 7–12 July 2019; pp. 370–374. [Google Scholar]
  27. Ingleton, A.W. The rank of circulant matrices. J. Lond. Math. Soc. 1956, 1, 445–460. [Google Scholar] [CrossRef]
  28. Lidl, R.; Niederreiter, H. Introduction to Finite Fields and Their Applications; Cambridge University Press: Cambridge, UK, 1994. [Google Scholar]
  29. Guan, P.H.; He, Y. Exact results for deterministic cellular automata with additive rules. J. Stat. Phys. 1986, 43, 463–478. [Google Scholar] [CrossRef]
Table 1. Stored variables.
Table 1. Stored variables.
Database 1Database 2Database 3Database 4
a 0 b 0 a 1 + b 0 2 a 2 + b 0
a 1 b 1 a 2 + b 1 2 a 0 + b 1
a 2 b 2 a 0 + b 2 2 a 1 + b 2
Table 2. Answers for W 1 .
Table 2. Answers for W 1 .
F Database 1Database 2Database 3Database 4
0 a 0 b 0 a 1 + b 0 2 a 2 + b 0
1 a 1 b 1 a 2 + b 1 2 a 0 + b 1
2 a 2 b 2 a 0 + b 2 2 a 1 + b 2
Table 3. Answers for W 2 .
Table 3. Answers for W 2 .
F Database 1Database 2Database 3Database 4
0 a 0 b 0 a 0 + b 2 2 a 0 + b 1
1 a 1 b 1 a 1 + b 0 2 a 1 + b 2
2 a 2 b 2 a 2 + b 1 2 a 2 + b 0
Table 4. Stored variables.
Table 4. Stored variables.
Database 1Database 2Database 3Database 4
a 1 b 1 c 1 a 1 + b 1 + c 1
a 2 b 2 c 2 a 2 + b 2 + c 2
Table 5. Answers for W 1 .
Table 5. Answers for W 1 .
F Database 1Database 2Database 3Database 4
1 a 2 b 1 c 1 a 1 + b 1 + c 1
2 a 1 b 2 c 2 a 2 + b 2 + c 2
Table 6. Answers for W 2 .
Table 6. Answers for W 2 .
F Database 1Database 2Database 3Database 4
1 a 1 b 2 c 1 a 1 + b 1 + c 1
2 a 2 b 1 c 2 a 2 + b 2 + c 2
Table 7. Answers for W 3 .
Table 7. Answers for W 3 .
F Database 1Database 2Database 3Database 4
1 a 1 b 1 c 2 a 1 + b 1 + c 1
2 a 2 b 2 c 1 a 2 + b 2 + c 2
Table 8. Stored variables.
Table 8. Stored variables.
Database 1Database 2Database ( N 1 ) Database N
W 1 1 W 1 2 W 1 K k = 1 K W 1 k
W 2 1 W 2 2 W 2 K k = 1 K W 2 k
Table 9. Answers for W k .
Table 9. Answers for W k .
F Database 1Database kDatabase ( N 1 ) Database N
1 W 1 1 W 2 k W 1 K k = 1 K W 1 k
2 W 2 1 W 1 k W 2 K k = 1 K W 2 k
Table 10. Stored variables.
Table 10. Stored variables.
DB ( 1 , : ) DB ( 2 , : ) DB ( K , : ) DB ( K + 1 , 1 ) DB ( K + 1 , m )
W 1 1 W 1 2 W 1 K C ( 1 , : ) W 1 C ( m , : ) W 1
W 2 1 W 2 2 W 2 K C ( 1 , : ) W 2 C ( m , : ) W 2
Table 11. Answers for W k .
Table 11. Answers for W k .
F DB ( 1 , : ) DB ( k , : ) DB ( K , : ) DB ( K + 1 , 1 ) DB ( K + 1 , m )
1 W 1 1 W 2 k W 1 K C ( 1 , : ) W 1 C ( m , : ) W 1
2 W 2 1 W 1 k W 2 K C ( 1 , : ) W 2 C ( m , : ) W 2
Table 12. Stored variables.
Table 12. Stored variables.
(DB1, DB2)(DB3, DB4)(DB5, DB6)(DB7, DB8)
( a 0 , a 0 ) ( b 0 , b 0 ) ( h 1 a 1 + g 1 b 0 , h 2 a 1 + g 2 b 0 ) ( h 7 a 2 + g 7 b 0 , h 8 a 2 + g 8 b 0 )
( a 1 , a 1 ) ( b 1 , b 1 ) ( h 3 a 2 + g 3 b 1 , h 4 a 2 + g 4 b 1 ) ( h 9 a 0 + g 9 b 1 , h 10 a 0 + g 10 b 1 )
( a 2 , a 2 ) ( b 2 , b 2 ) ( h 5 a 0 + g 5 b 2 , h 6 a 0 + g 6 b 2 ) ( h 11 a 1 + g 11 b 2 , h 12 a 1 + g 12 b 2 )
Table 13. Answers for W 1 .
Table 13. Answers for W 1 .
(DB1, DB2)(DB3, DB4)(DB5, DB6)(DB7, DB8)
( a 0 , a 0 ) ( b 0 , b 0 ) ( h 1 a 1 + g 1 b 0 , h 2 a 1 + g 2 b 0 ) ( h 7 a 2 + g 7 b 0 , h 8 a 2 + g 8 b 0 )
( a 1 , a 1 ) ( b 1 , b 1 ) ( h 3 a 2 + g 3 b 1 , h 4 a 2 + g 4 b 1 ) ( h 9 a 0 + g 9 b 1 , h 10 a 0 + g 10 b 1 )
( a 2 , a 2 ) ( b 2 , b 2 ) ( h 5 a 0 + g 5 b 2 , h 6 a 0 + g 6 b 2 ) ( h 11 a 1 + g 11 b 2 , h 12 a 1 + g 12 b 2 )
Table 14. Answers for W 2 .
Table 14. Answers for W 2 .
(DB1, DB2)(DB3, DB4)(DB5, DB6)(DB7, DB8)
( a 0 , a 0 ) ( b 0 , b 0 ) ( h 5 a 0 + g 5 b 2 , h 6 a 0 + g 6 b 2 ) ( h 9 a 0 + g 9 b 1 , h 10 a 0 + g 10 b 1 )
( a 1 , a 1 ) ( b 1 , b 1 ) ( h 1 a 1 + g 1 b 0 , h 2 a 1 + g 2 b 0 ) ( h 11 a 1 + g 11 b 2 , h 12 a 1 + g 12 b 2 )
( a 2 , a 2 ) ( b 2 , b 2 ) ( h 3 a 2 + g 3 b 1 , h 4 a 2 + g 4 b 1 ) ( h 7 a 2 + g 7 b 0 , h 8 a 2 + g 8 b 0 )

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Back to TopTop