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

ad hoc shared state for web applications
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Ad-hoc Shared State for Web Applications

Jack Jansen <ajn350@student.vu.nl>

slide-2
SLIDE 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/

slide-3
SLIDE 3

Presentation Outline

Problem Statement Example Applications Background Problem Statement - Refinement Literature Conclusions, Questions

slide-4
SLIDE 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

slide-5
SLIDE 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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 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>

slide-9
SLIDE 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>

slide-10
SLIDE 10

Results Wanted

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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)

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20
  • Edwards. Discovery Systems in Ubiquitous Computing. IEEE

PERVASIVE COMPUTING (2006) vol. 5 (2) pp. 70-77 Literature reference

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

slide-21
SLIDE 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

slide-22
SLIDE 22

Open Issues

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

slide-23
SLIDE 23

Discussion