Top Banner
A Peer-to-Peer Middleware for Ubiquitous Analytics and Visualization Spaces Sriram Karthik Badam , Eli Fisher, Niklas Elmqvist Munin TVCG-invited at IEEE VIS 2014 [email protected] 1
24

Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

Aug 18, 2015

Download

Technology

Niklas Elmqvist
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

1

A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization

Spaces

Sriram Karthik Badam, Eli Fisher, Niklas Elmqvist

Munin

TVCG-invited at IEEE VIS 2014

[email protected]

Page 2: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

2

“The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.”… Mark Weiser

Ubiquitous Computing

Page 3: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

3

Co-located Collaborative Visualization

Large multi-screen display

Tabletop computer

Interactive Tree Comparison for co-located collaborative visualization (Isenberg and Carpendale, 2007)Hugin (Kim et al., 2010)Lark (Tobiasz et al., 2011)

Page 4: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

4

Mobile Visualization

Visualizing information on mobile devices (Chittaro, 2006)

Page 5: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

5

Ubiquitous Analytics

Massive heterogeneous data

Ubiquitous analytics: Interacting with big data anywhere, anytime (Elmqvist and Irani, 2013)

Page 6: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

6

Emergency Situation

Heterogeneous Information sourcesMultiple analysts/ stakeholders

Ensemble of devices

Page 7: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

7

Interacting with data during emergency

Let’s see how the spread of this fire is different from two years ago.

Aha!! that’s why it

happened! Siri,

capture screenshot.

Sam, look at this!

Wait, Linda, let me

visualize the sensor data here!

Page 8: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

8

Design

Supporting CollaborationMultiple and Networked Devices

Post-WIMP interactionWIMP – Windows, Icons, Menus, Pointers Supporting Visualization

Page 9: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

9

Munin

• Peer-to-peer infrastructure

• Uses three-layered architecture

• Shared space

• Service

• Visualization

• Java based

• Middleware framework for ubiquitous analytics

Page 10: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

10

Munin

Shared state

Display service

Display service

Input service Input

service

Munin Peer Munin Peer Munin Peer

IP MulticastIP MulticastIP Multicast

Services

Visualization Layer

Page 11: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

11

Shared state

Associative memory for sharing objects

Shared event space

P2P

JGroups framework for setting up and communicating through a P2P infrastructure

//create peerPeer peer = new Peer();

//Get access to shared spaceSharedSpace sharedState = peer.getSpace();state.addObjectListener(new mediaSpaceListener());

//Create a Shared Object Listenerpublic class mediaSpaceListener implements SharedSpaceObjectListener {public void objectCreated(SharedObject so) {

add(so);so.addChangeListener(new mediaChangeListener());so.commit();

}

public void objectDeleted(SharedObject so) {}

}

Page 12: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

12

Services

Display service

Input service

Shared stateShared memory

SharedEvent

Display service

Touch event

s

Shared

objects

P2P connection (local subnet)

public class DisplayService implements Service, SharedSpaceEventListener {

//Register service with the shared space to receive shared events

public DisplayService (Platform platform, Surface surface) {platform.getSpace().addEventListener(this);

}

//Shared Event Handlerpublic void eventReceived(SharedEvent event) {}

}

Page 13: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

13

Connected over Munin

Visualization Layer

U V44.96804644.3332833.75578733.84484344.9205744.24030944.96804144.33330433.755783

-94.420307-89.132008-116.35999-116.54911-93.44786-91.493619-94.419696-89.132027-116.36006

Draw map

Draw circles at locations

(u1, v1), (u5, v5) ….

Draw image

Draw heat map

Draw rectangles at locations

(u3, v3), (u7, v7), (u8, v8)

Shared state Services

Visualization layer

Piccolo framework for visualization on desktop platforms

Page 14: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

14

Visualization Layer

Dataset on the shared state layer

Display Service

Input and Display Services

Page 15: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

15

Application Examples

Collaborative Visual Search

Distributed PolyZoom

Distributed Media Player

Page 16: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

16

Collaborative Visual Search

Shared state

Touch input service for pan and zoom

Touch input service for pan and zoom

Services

Shared touch events

Java2D display service for the view

Android display service for the view

SVG rendering service for shapes

Android SVG rendering service

for shapes

OpenStreetMap renderer

Android OpenStreetMap

renderer

Real estate dataset

Visualization layer

Distributed scene graph

Draw mapDraw

markers for

locations

Draw mapDraw

markers for

locations

Page 17: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

17

Collaborative Visual Search

Public view(shared)

Private viewBranch-Explore-Merge: McGrath et al., 2012

Page 18: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

18

PolyZoom (Javed et al., 2012)

Page 19: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

19

Distributed PolyZoomShared state

Touch input service to select zoom

regions

Services

Shared touch events

JavaFX display serviceAndroid display

service for the view Google map renderer for JavaScriptGoogle map

renderer for Android Visualization

layer

Draw map

Distributed scene graph

Draw markers

Draw tree-layout with

edgesDraw

maps at each node

Page 20: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

20

Distributed Media Player

Services

Streaming display service (VLCJ)

Player state (play/pause)

Control events (FF/rewind)

Shared state

Android video player

Android display service

Input service

Page 21: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

21

Shortcomings

Peer-to-Peer Architecture Service-oriented model

Requires:• Conflict and consistency

management at each peer.• Exclusive handling logic at

each peer.

Requires:• Redevelopment of simple

services for each platform.• Platform dependency

But:• More scalable, fault-tolerant, and

secure. • Data-driven and service-oriented

models for easier development.

Page 22: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

22

PolyChrome

Presenting at ACM ITS 2014• Completely web-based• Support for JS visualization frameworks• Hybrid architecture

Page 23: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

23

ConclusionConceptual model of Munin framework

Application examples

How-to-use:

Page 24: Munin: A Peer-to-Peer Middleware forUbiquitous Analytics and Visualization Spaces

24

Acknowledgment

S. Karthik [email protected]

Questions?

IIS-1253863

Munin source

https://github.com/karthikbadam/Munin