ad hoc shared state for web applications
play

Ad-hoc Shared State for Web Applications Jack Jansen - PowerPoint PPT Presentation

Ad-hoc Shared State for Web Applications Jack Jansen <ajn350@student.vu.nl> Introduction About me: Started in 1978, again in 2004 Work at CWI, Multimedia group About this literature study: Triggered by past (and future?) work


  1. Ad-hoc Shared State for Web Applications Jack Jansen <ajn350@student.vu.nl>

  2. Introduction About me: Started in 1978, again in 2004 Work at CWI, Multimedia group About this literature study: Triggered by past (and future?) work Interrupt me for clarification Grab from: www.cwi.nl/~jack/now/

  3. Presentation Outline Problem Statement Example Applications Background Problem Statement - Refinement Literature Conclusions, Questions

  4. Problem Statement Classic web apps: Centralised (Amazon, Youtube, ...) Client-server (Google Maps) We have: Multiple connected devices We want: Locally distributed apps We need: Ad-hoc sharing

  5. Problem Statement Refinement Declarative Languages Procedural languages are well- understood Data sharing, not RPC No massive parallelism, no massive data transport Primarily architectural/design issues

  6. Examples - 1 Shared forms XForms is a good starting point Allow specialised form-filling Speech forms Honkala et al. Multimodal interaction with xforms. ICWE '06: Proceedings of the 6th international conference on W eb engineering ( 2006 ) pp. 201 - 208

  7. Examples -2 Watching television with family Additional private device Extra content Additional interaction Bulterman et al. Enabling Pro - Active User - Centered Recommender Systems: An Initial Evaluation. Ninth IEEE International Symposium on Multimedia W orkshops ( ISMW 2007 ) ( 2007 ) pp. 195 - 200 Cesar et al. Enhancing Social Sharing of Videos: Fragment, Annotate, Enrich, and Share. ACM MM'08 ( 2008 ) pp. ???

  8. Background - XForms <model> <instance> <data xmlns=””> <width>0</width> <height>0</height> <area/> </data> </instance> <bind ref=”area” calculate=”../width*../height”/> </model> ... <input ref=”width”><label>Width</label></input> <input ref=”Height”><label>Height</label></input> <input ref=”Area”><label>Area</label></input>

  9. Background - SMIL <state> <data xmlns=””> <lat>0</lat> <lon>0</lon> </data> </state> ... <seq> <par xml:id=”slide1”/> <image src=”eiffeltower.jpg”/> <audio src=”eiffeltower.mp3”/> <setvalue ref=”lat” value=”48.86”/> <setvalue ref=”lon” value=”2.29”/> </par> </seq>

  10. Results Wanted Can we use locking? Can we use transactions? Can we use tuple spaces? How can components locate each other? Communication issues?

  11. Locking Locking in XML databases can be optimized. Heavily! Due to XML/XPath structure id-based access can cause problems Be careful we don’t go overboard Haustein et al. Contest of XML lock protocols. VLDB '06: Proceedings of the 32nd international conference on V ery large data bases ( 2006 ) Helmer et al. Lock - based protocols for cooperation on XML documents. Proceedings of W orkshop on W eb Based Collaboration ( DEXA ’03 ) ( 2003 ) pp. 230 -

  12. Transactions Original from databases, but ... can be used for Shared Memory Use special write-back cache ... or software-only (using LL/SC) Herlihy et al. T ransactional Memory: Architectural Support for Lock - Free Data Structures. Proceedings of the 20th Annual International Symposium on Computer Architecture ( 1993 ) pp. 289 - 300 Shavit et al. Software transactional memory. PODC '95: Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing ( 1995 ) pp. 204 - 213

  13. Transactions - 2 STM can be implemented distributed ... by moving master copy to transaction host Herlihy et al. Distributed transactional memory for metric - space networks. Distrib. Comput. ( 2007 ) vol. 20 ( 3 ) pp. 195 - 208 Kotselidis et al. Designing a Distributed Software T ransactional Memory System. ACACES '07: 3rd International Summer School on Advanced Computer Architecture and Compilation for Embedded Systems ( 2007 )

  14. Transactions - 3 Composable Memory Transaction: TM in Haskell Declarative language fits TM well TM fits declarative language well Harris et al. Composable memory transactions. Proceedings of the tenth ACM SIGPLAN symposium on Principles … ( 2005 ) pp. 48 - 60

  15. Linda Tuple Space Distributed associative memory: OUT(‘jack’, 4303, ‘M-376’) IN(?string, ?int, ‘M-376’) RD(‘jack’, ?int, ?string) Combines shared data and synchronisation Carriero et al. Linda in context. Communications of the ACM ( 1989 ) vol. 32 ( 4 ) pp. 444 - 458 Literature reference

  16. XML tuple spaces XMLspace and xSpaces provide XML extensions Tuple trees XPath matching Bellur et al. xSpace: a tuple space for XML & its application in orchestration of web services. SAC '06: Proceedings of the 2006 ACM symposium on Applied computing ( 2006 ) pp. 766 - 772 Tolksdorf et al. XMLSpaces.NET: An Extensible Tuplespace as XML Middleware. .NET Technologies ( 2004 )

  17. Sidebar Last week, Gerard Damiano died (80) Hair dresser, porn film director Best known work: Deep Throat Link to this study: Ada was called after Ada Lovelace Linda was called after Linda Lovelace

  18. Naming - INS Hybrid between hierarchical and attribute/value Operates in ad-hoc networks Can delay lookup until use (intentional anycast/multicast) Figure 3 - INS nam e Adjie - Winoto et al. The design and implementation of an intentional naming system. ACM SIGOPS Operating Systems Review ( 1999 ) vol. 33 ( 5 ) pp. 186 - 201

  19. Communication - Cooltown Single entry-point, through out-of- band channel Capability based Accessibility from “outside” world Physically local != network local Kindberg et al. People, Places, Things: W eb Presence for the Real W orld. Mobile Networks and Applications ( 2002 ) vol. 7 ( 5 ) pp. 365 - 376

  20. Naming - others uPnP SSDP, Bonjour/Rendezvous/ Zeroconf, SLP Very similar 2 of 3 allow directory server (all allow multicast) 2 of 3 use URIs as naming scheme Edwards. Discovery Systems in Ubiquitous Computing. IEEE PERVASIVE COMPUTING ( 2006 ) vol. 5 ( 2 ) pp. 70 - 77 Literature reference

  21. Conclusions, so far All three of locking, transactions and tuple space are possible Choice may depend on problem space Decouple from network locality Keep target application area in mind

  22. Open Issues Can we do this in the browser? UDP multicast? Advertising servers? Naming: Semantic web/ontologies? Persistence? “distributed cookies”

  23. Discussion

Recommend


More recommend