Linear Batch Codes
In an application, where a client wants to obtain many elements from a large database, it is often desirable to have some load balancing. Batch codes (introduced by Ishai et al. in STOC 2004) make it possible to do exactly that: the large database is divided between many servers, so that the client has to only make a small number of queries to every server to obtain sufficient information to reconstruct all desired elements. Other important parameters of the batch codes are total storage and the number of servers. Batch codes also have applications in cryptography (namely, in the construction of multi-query computationally-private information retrieval protocols). In this work, we initiate the study of linear batch codes. These codes, in particular, are of potential use in distributed storage systems. We show that a generator matrix of a binary linear batch code is also a generator matrix of classical binary linear error-correcting code. This immediately yields that a variety of upper bounds, which were developed for error-correcting codes, are applicable also to binary linear batch codes. We also propose new methods to construct large linear batch codes from the smaller ones.