CSCW infrastructure - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

CSCW infrastructure

Description:

Routes undirected dynamically typed messages from producers to ... Examples: Dive Massive quake? Real-time 3D graphics and audio environments for collaboration ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 19
Provided by: ianma1
Category:

less

Transcript and Presenter's Notes

Title: CSCW infrastructure


1
CSCW infrastructure
  • Ian MacColl
  • ianm_at_dcs.gla.ac.uk
  • http//www.dcs.gla.ac.uk/ianm/hci4/
  • Background
  • Middleware
  • Elvin
  • EQUIP

2
Background problems
  • Concurrent distributed processes
  • Creation, interconnection, communication
  • Performance and latency
  • Synchronisation and exclusion
  • Complexity
  • And then there are the people

3
Background abstractions
  • Abstractions
  • Coordinating threads/processes
  • Updating common model
  • Controlling views derived from model
  • Implementations
  • Multicast RPC
  • Events and notifiers
  • Shared model and views

4
Middleware
  • Distributed system services

Application
Application
MIDDLEWARE
Platform
Platform
5
Middleware types
  • Transaction processing
  • Remote procedure call (RPC)
  • Object request brokers (ORBs)
  • Message-oriented middleware (MOM)

6
Middleware MOM
  • Compare RPC/RMI
  • Asynch peer-to-peer data exchange
  • Message recipients interpret and act
  • Typically queued and event-based

7
elvin
  • DSTC, Australia
  • Disposable interaction
  • Loose content-based notification
  • Routes undirected dynamically typed messages from
    producers to consumers
  • http//elvin.dstc.edu.au

8
elvin content-based routing
  • Compare channel-based routing
  • Producers push messages to server
  • Messages are name-value pairs
  • Consumers request message classes
  • Subscription language for requests
  • Advanced quench correlate federate

9
elvin techniques
  • Multi-language C Java Python Perl
  • Ordered at most once delivery
  • Extremely efficient matching
  • Variety of transports

10
EQUIP
  • EQUATOR, UK
  • Ubiquitous computing (UBICOMP)
  • Lightweight infrastructure enabling devices to
    share information
  • Physical and digital state
  • Combines tuple-spaces and CVEs
  • http//www.equator.ac.uk

11
EQUIP tuple spaces
  • Examples Linda JavaSpaces Tspaces
  • Space is persistent shared memory
  • Template-based matching
  • Operations write read take notify
  • Advanced transactions, leases

12
EQUIP CVEs
  • Examples Dive Massive quake?
  • Real-time 3D graphics and audio environments for
    collaboration
  • Immersive or non-immersive
  • Substantial network, graphics, concurrency and
    interaction issues

13
EQUIP techniques
  • Multi-language C Java
  • Uses NSPR Bamboo VRJuggler IDL
  • Multiple independent spaces
  • Asynchronous communication
  • Flexible discovery
  • Persistent event-based matching
  • Explicit update

14
EQUIP shared data service
  • Indirect inter-process communication
  • Components
  • Dataspaces
  • Items add update delete
  • Patterns add remove

15
Conclusion
  • CSCW infrastructure
  • Concurrent distributed systems
  • Middleware
  • Distributed systems services
  • elvin
  • Disposable interaction
  • Content-based notification
  • EQUIP
  • Ubiquitous computing
  • Space-based state sharing

16
References
  • Bernstein, Middleware A model for distributed
    system services, CACM 39.286-98
  • Fitzpatrick et al, Augmenting the workaday world
    with Elvin, ECSCW99 431-451
  • Greenhhalgh et al, The EQUIP platform Bringing
    together physical and virtual worlds, working
    draft

17
ElvinProducer.java
  • // connect to the "test" scope
  • Producer prod new Producer("test")
  • for (int i 0 i lt 10 i)
  • // create a notification
  • Notification notif new
    Notification()
  • notif.put("demo","hello")
  • notif.put("count", i 1)
  • // send the notification
  • prod.notify(notif)
  • System.out.println("sent "notif)
  • Thread.sleep(1000)

18
ElvinConsumer.java
  • // connect to the "test" scope
  • Consumer cons new Consumer("test")
  • // create a subscription
  • Subscription sub new Subscription("requi
    re(demo)")
  • // register a listener
  • sub.addNotificationListener(new
    ElvinConsumer())
  • // activate the subscription
  • cons.addSubscription(sub)
  • System.out.println("waiting...")
Write a Comment
User Comments (0)
About PowerShow.com