PartialSync: Efficient Synchronization of a Partial Namespace in NDN
by Minsheng Zhang, Vince Lehman, and Lan Wang
NDN Technical Report NDN-0039
Revision 1: June 9, 2016
Named Data Networking (NDN) is an evolving Future Internet Architecture where data is a first-class entity. Data synchronization plays an important role in NDN similar to transport protocols in IP. Some distributed applications, such as news and weather services, require a synchronization protocol where each consumer can subscribe to a different subset of a producer’s data streams. In this paper, we propose PartialSync which aims to efficiently address this synchronization problem. We use names in PartialSync messages to carry producer’s latest namespace information and each consumer’s subscription information, which allows producers to maintain a single state for all consumers and enables consumers to synchronize with any producer that replicates the same data. We represent the latest names in a producer’s data streams using an Invertible Bloom Filter (IBF), which allows efficient computation of set differences. By comparing the differences between its old IBF and new IBF, the producer can generate a list of new data names that have been produced in the period between the old and new IBF. Using this list and a consumer’s subscription information, the producer can notify the consumer if new data matching the subscription has been produced. We have implemented PartialSync in the NDN codebase and are using it to develop a prototype building management system where users can subscribe to any subset of data generated by the many sensors and actuators in buildings.