PartialSync: Efficient Synchronization of a Partial Namespace in NDN

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.

[1]  Michael Mitzenmacher,et al.  Compressed bloom filters , 2001, PODC '01.

[2]  Patrick Crowley,et al.  Named data networking , 2014, CCRV.

[3]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[4]  George Varghese,et al.  What's the difference?: efficient set reconciliation without prior context , 2011, SIGCOMM.

[5]  Alexander Afanasyev,et al.  Let's ChronoSync: Decentralized dataset state synchronization in Named Data Networking , 2013, 2013 21st IEEE International Conference on Network Protocols (ICNP).

[6]  Li Fan,et al.  Summary cache: a scalable wide-area web cache sharing protocol , 2000, TNET.

[7]  Patrick Crowley,et al.  Synchronizing namespaces with invertible bloom filters , 2015, 2015 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).