80 likes | 84 Views
Personal Distributed Information Store Ken Rimey 1.6.2004. Commit. PDIS repository stores replicated collections of objects. Test applications: Calendars (collections of calendar entries). Digital media metadata. Two-year Tekes project (2003-2004). Nokia, Movial, Fathammer, Innofactor.
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.