80 likes | 98 Views
PDIS repository stores replicated collections of objects for test applications such as calendars and digital media metadata. The system allows any number of replicas and handles synchronization, object versioning, synchronization, conflict resolution, and application-independent repository services. The focus is on managing replicated immutable files. The project is on Symbian OS with plans to move the repository onto phones using Bluetooth.
E N D
Personal DistributedInformation StoreKen Rimey1.6.2004 Commit • PDIS repository stores replicated collectionsof objects. • Test applications: • Calendars (collections of calendar entries). • Digital media metadata. • Two-year Tekes project (2003-2004). • Nokia, Movial, Fathammer, Innofactor.
Device-to-Device Architecture • We allow any number of replicas,which we treat as equals. • Replicas are stored in repositories. Any repository can synchronize with any other. • Changes propagate in epidemic fashion.
Immutable Object Versions • Object versioning works well in distributed systems. • PDIS headers encode the relationship between versions: • C supersedes B, • B supersedes C, or • B and C conflict. C C B B C B B C A A A A
Synchronization • Synchronization is point-to-point. • To bring disconnected replicas into sync: • Exchange IDs of current versions and fetch what is needed. • Optimize handling of large, almost identical data sets using hash trees (work in progress). • To quickly propagate changes between connected repositories: • Use asynchronous change notification.
Flexible Conflict Resolution • We have decided to decouple conflict resolution from synchronization: • Repositories can resolve simple conflicts immediately. • Client applications can resolve trickier conflicts. • Some conflicts must remain unresolved pending manual intervention. • Must consistently arbitrate multiple attempts to resolve the same conflict.
Application-Independent Repository PDIS is a service, not just protocols: • Objects are small XML documents. • The repository wraps a native XML database. • Client applications see an XPath live query interface: • Lazy query evaluation • Change notification
Digital Media Metadata • Use a PDIS-based metadata repository to manage replicated digital media files. • Specific test application: collaborative photo archive management. • Main focus is on the underlying architecture for managing replicated immutable files.
PDIS on Symbian (PDOS) • We are porting our Python prototype to Symbian OS in a separate, Nokia-funded project. • Our first simple test application runs on the Nokia 6600 and talks to an external repository via GPRS. Next steps: • Move repository onto phone. • Use Bluetooth.