CERNBox - Dynamic capabilities for smarter client interactions


CERNBox is a sync and share, collaborative cloud storage solution developed at CERN, used by more than 37K users and storing over 15PB of data.

At the heart of the CERNBox service lies Reva, a middleware framework that provides interoperability between storage and application providers through a universal set of APIs. This allows CERNBox to connect to arbitrary storages and enable collaborative data services and applications at a massive scale.

Clients connecting to the service are made aware of the various protocols and functionalities that are offered by a particular Reva instance. Currently, these are really limited and specified via a configuration file. The goal of the project is to expand the set of such capabilities and infer these dynamically from the enabled services and service drivers. These could also be determined based on the characteristics of the end-user.

Task ideas

Expected results

We expect that, at the end of GSOC ‘22, based on this new service that advertises server capabilities, client interactions with Reva would become smarter, which in turn would reduce the complexity involved with deploying such a system. Documentation of the service and the functionality for other developers is also expected.

Evaluation Task

Interested students can contact Ishank (see contact below) to ask questions and for an evaluation task.


Go, gRPC, REST, Protocol Buffers


Additional Information

Corresponding Project

Participating Organizations