NDN-CNL: A Hierarchical Namespace API for Named Data Networking
by Jeff Thompson, Peter Gusev and Jeff Burke
The Named Data Networking Common Name Library (NDN-CNL) is a high-level library that enables applications to work with hierarchical, named data collections as an abstract interface to NDN’s request-response protocol. This approach foregrounds the importance of application-named data in NDN applications and is intended as an alternative to socket APIs. It aims to simplify programming of asynchronous applications that use a variety of data-centric approaches at the same time, including naming conventions for versioning, segmenting, synchronization, name-based access control, name confidentiality, schematized trust, as well as standard features needed in many applications such as interest pipelining and latest data retrieval. This paper introduces the rationale and design of the library, shows its use through a series of examples, and concludes with a brief discussion of future work. Our emphasis is on introducing the new abstraction, so the library’s internal implementation is not discussed in detail; source code is available on Github