Cimbiosys: A platform for content-based partial replication - Ramasubramanian, Rama; Rodeheffer, Tom; Terry, Doug; Walraed-Sullivan, Meg; Wobber, Ted; Marshall, Cathy; Vahdat, Amin (2008)
People increasingly use multiple devices and Internet services to manage and share information. Since portable devices have limited resources for storage and bandwidth, it is essential to take advantage of proximity and selected replication of content. To this end we present Cimbiosys, a replication platform that permits each device to define its own content-based filtering criteria and to share updates with any other device. Cimbiosys ensures two properties not achieved by previous systems. First, every device stores exactly those items whose latest version meets arbitrary filter criteria that are independent of any hierarchical namespace. Second, every device represents its metadata in a compact form, with state proportional to the number of devices rather than the number of items. Such compact representation enables low synchronization overhead, which permits frequent synchronization even for bandwidth-limited devices. We have implemented Cimbiosys in C# and Mace. We evaluated the performance of the CIMSync protocol in both simulation and using the Mace implementation.