Ad-hoc Shared State for Web Applications Jack Jansen - - PowerPoint PPT Presentation
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
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/
Presentation Outline
Problem Statement Example Applications Background Problem Statement - Refinement Literature Conclusions, Questions
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
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
Honkala et al. Multimodal interaction with xforms. ICWE '06: Proceedings of the 6th international conference on W eb engineering (2006) pp. 201-208
Examples - 1
Shared forms XForms is a good starting point Allow specialised form-filling Speech forms
Bulterman et al. Enabling Pro-Active User-Centered Recommender Systems: An Initial Evaluation. Ninth IEEE International Symposium on Multimedia W
- rkshops (ISMW 2007) (2007) pp. 195-200
Cesar et al. Enhancing Social Sharing of Videos: Fragment, Annotate, Enrich, and Share. ACM MM'08 (2008) pp. ???
Examples -2
Watching television with family Additional private device Extra content Additional interaction
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>
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>
Results Wanted
Can we use locking? Can we use transactions? Can we use tuple spaces? How can components locate each other? Communication issues?
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
- rkshop on W
eb Based Collaboration (DEXA ’03) (2003)
- pp. 230-
Locking
Locking in XML databases can be
- ptimized. Heavily!
Due to XML/XPath structure id-based access can cause problems Be careful we don’t go overboard
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
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. 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)
Transactions - 2
STM can be implemented distributed ... by moving master copy to transaction host
Harris et al. Composable memory transactions. Proceedings of the tenth ACM SIGPLAN symposium on Principles … (2005) pp. 48-60
Transactions - 3
Composable Memory Transaction: TM in Haskell Declarative language fits TM well TM fits declarative language well
Carriero et al. Linda in context. Communications of the ACM (1989) vol. 32 (4) pp. 444-458 Literature reference
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
Bellur et al. xSpace: a tuple space for XML & its application in
- rchestration 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)
XML tuple spaces
XMLspace and xSpaces provide XML extensions Tuple trees XPath matching
Sidebar
Link to this study: Ada was called after Ada Lovelace Linda was called after Linda Lovelace Last week, Gerard Damiano died (80) Hair dresser, porn film director Best known work: Deep Throat
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
Naming - INS
Hybrid between hierarchical and attribute/value Operates in ad-hoc networks Can delay lookup until use (intentional anycast/multicast)
Figure 3 - INS name
Kindberg et al. People, Places, Things: W eb Presence for the Real W
- rld.
Mobile Networks and Applications (2002) vol. 7 (5) pp. 365-376
Communication - Cooltown
Single entry-point, through out-of- band channel Capability based Accessibility from “outside” world Physically local != network local
- Edwards. Discovery Systems in Ubiquitous Computing. IEEE
PERVASIVE COMPUTING (2006) vol. 5 (2) pp. 70-77 Literature reference