Object Sharing Over Mobile DevicesVision SlideWhy Share Over Mobile DevicesDesign RequirementsSystem ArchitectureCoherence ProtocolMUD ApplicationResultsConclusionsObject Sharing Over Mobile DevicesSharad Agarwal, Ioannis MavroidisCS258Alec WooCS294-112Vision Slide•An universal infrastructure where data can exist anywhere and be available to any device with some form of consistency guaranteePilotLaptopToasterPilotPilotServerServerNetworkCamera3Why Share Over Mobile Devices•Need collaborative applications–not for running Ocean or Barnes-Hut–distributed address book–group whiteboard / document review–group coding–collaborative control of sensors and actuators•Need a shared data infrastructure•Can’t simply port an existing SW DSM4Design Requirements•Platform independent•SW solution, in Java•Interconnection is the Internet•Object based sharing•Data storage on remote servers•scales {communication, capacity}•available over disconnections•Allows disconnected operation•Emphasis on low compute power, low bandwidth, high latency tolerance5System ArchitecturePilotLaptopMemoryServerPilotWinCE PilotMemoryServerPilotMasqueraderMemoryService NameserverInternetApp Nameserver$$$$$$$6Coherence Protocol•Directory based•SCMSVM_Treadwritethru / invupgr / invread / wr-invwritebackwritebackwritethrureadexreadex / invW_Twritethru/invcreatedestroy7MUD Application•Users control characters in an arena of rooms•move around, look, pick/drop objects, etc•Masquerader creates shared objects•room locks, room inventory, people in room, etc•Each client requests character init from masquerader•When moving, linear lock ordering is used •(Dining Philosophers)•Automated bots that run around8ResultsXCOPILOTMin (ms) 20ms Avg (ms) 20msReadMiss 200 261ReadHit 90 129WriteThru 180 200WriteBackMiss 190 210WriteBackHit 110 134PALM3Min (ms) 20ms Avg (ms) 20msReadMiss 2050 2603ReadHit 800 887WriteThru 1600 1762WriteBackMiss 1500 1812WriteBackHit 700 972Latency MeasurementsScreen Shot9Conclusions•Formulated the need & requirements•Designed an infrastructure & application•Shown performance numbers•This was not easy–JVMs underdeveloped–Pilot debugging infrastructure non-existent–ActiveProxy is still under development–Scalable yet versatile shared object system is
View Full Document