Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
A Peer-to-Peer Middleware for
Ubiquitous Analytics and Visualization Spaces
Sriram Karthik Badam, Eli Fisher, Niklas Elmqv...
“The most profound technologies are those that disappear.
They weave themselves into the fabric of everyday life until
the...
Co-located Collaborative Visualization
Large multi-screen display
Tabletop computer
Interactive Tree Comparison for co-loc...
Mobile Visualization
Visualizing information on mobile devices (Chittaro, 2006)
4
Ubiquitous Analytics
Massive heterogeneous data
Ubiquitous analytics: Interacting with big data anywhere, anytime (Elmqvis...
Emergency Situation
Heterogeneous Information sources
Multiple analysts/ stakeholders
Ensemble of devices
6
Interacting with data during emergency
Let’s see how
the spread of
this fire is
different from
two years ago.
Aha!! that’s...
Design
Supporting CollaborationMultiple and Networked Devices
Post-WIMP interaction
WIMP – Windows, Icons, Menus, Pointers...
Munin
• Peer-to-peer infrastructure
• Uses three-layered architecture
• Shared space
• Service
• Visualization
• Java base...
Munin
Shared state
Display service
Display service
Input service
Input service
Munin Peer Munin Peer Munin Peer
IP Multica...
Shared state
Associative memory for sharing objects
Shared event space
P2P
JGroups framework for setting up and communicat...
Services
Display service
Input service
Shared state
Shared
memory
Shared
Event
Display service
Touch
events
Shared
objects...
Connected over Munin
Visualization Layer
U V
44.968046
44.33328
33.755787
33.844843
44.92057
44.240309
44.968041
44.333304...
Visualization Layer
Dataset on the shared
state layer
Display Service
Input and Display
Services
14
Application Examples
Collaborative Visual Search
Distributed PolyZoom
Distributed Media Player
15
Collaborative Visual Search
Shared
state
Touch input service for
pan and zoom
Touch input service for
pan and zoom
Service...
Collaborative Visual Search
Public view
(shared)
Private view
Branch-Explore-Merge: McGrath et al., 2012
17
PolyZoom (Javed et al., 2012)
18
Distributed PolyZoom
Shared
state
Touch input service to
select zoom regions
Services
Shared
touch
events
JavaFX display s...
Distributed Media Player
Services
Streaming display
service (VLCJ)
Player
state
(play/pau
se)
Control
events
(FF/rewin
d)
...
Shortcomings
Peer-to-Peer Architecture
Service-oriented model
Requires:
• Conflict and consistency management
at each peer...
PolyChrome
Presenting at ACM ITS 2014
• Completely web-based
• Support for JS visualization frameworks
• Hybrid architectu...
Conclusion
Conceptual model of Munin framework
Application examples
How-to-use:
23
Acknowledgment
S. Karthik Badam
sbadam@umd.edu
Questions?
IIS-1253863
Munin source
https://github.com/karthikbadam/Munin
24
Upcoming SlideShare
Loading in …5
×

Munin: A Peer-to-Peer Middleware for Ubiquitous Analytics and Visualization Spaces

563 views

Published on

Presentation from IEEE VIS 2014 on Munin, our Java toolkit for peer-to-peer visualization systems for ubiquitous analytics. Published in IEEE TVCG and presented by Sriram Karthik Badam.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Munin: A Peer-to-Peer Middleware for Ubiquitous Analytics and Visualization Spaces

  1. 1. 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 sbadam@umd.edu 1
  2. 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 2
  3. 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) 3
  4. 4. Mobile Visualization Visualizing information on mobile devices (Chittaro, 2006) 4
  5. 5. Ubiquitous Analytics Massive heterogeneous data Ubiquitous analytics: Interacting with big data anywhere, anytime (Elmqvist and Irani, 2013) 5
  6. 6. Emergency Situation Heterogeneous Information sources Multiple analysts/ stakeholders Ensemble of devices 6
  7. 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! 7
  8. 8. Design Supporting CollaborationMultiple and Networked Devices Post-WIMP interaction WIMP – Windows, Icons, Menus, Pointers Supporting Visualization 8
  9. 9. Munin • Peer-to-peer infrastructure • Uses three-layered architecture • Shared space • Service • Visualization • Java based • Middleware framework for ubiquitous analytics 9
  10. 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 10
  11. 11. Shared state Associative memory for sharing objects Shared event space P2P JGroups framework for setting up and communicating through a P2P infrastructure //create peer Peer peer = new Peer(); //Get access to shared space SharedSpace sharedState = peer.getSpace(); state.addObjectListener(new mediaSpaceListener()); //Create a Shared Object Listener public class mediaSpaceListener implements SharedSpaceObjectListener { public void objectCreated(SharedObject so) { add(so); so.addChangeListener(new mediaChangeListener()); so.commit(); } public void objectDeleted(SharedObject so) { } } 11
  12. 12. Services Display service Input service Shared state Shared memory Shared Event Display service Touch events 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 Handler public void eventReceived(SharedEvent event) { } } 12
  13. 13. Connected over Munin Visualization Layer U V 44.968046 44.33328 33.755787 33.844843 44.92057 44.240309 44.968041 44.333304 33.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 13
  14. 14. Visualization Layer Dataset on the shared state layer Display Service Input and Display Services 14
  15. 15. Application Examples Collaborative Visual Search Distributed PolyZoom Distributed Media Player 15
  16. 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 layerDistributed scene graph Draw map Draw markers for locations Draw map Draw markers for locations 16
  17. 17. Collaborative Visual Search Public view (shared) Private view Branch-Explore-Merge: McGrath et al., 2012 17
  18. 18. PolyZoom (Javed et al., 2012) 18
  19. 19. Distributed PolyZoom Shared state Touch input service to select zoom regions Services Shared touch events JavaFX display service Android display service for the view Google map renderer for JavaScript Google map renderer for Android Visualization layer Draw map Distributed scene graph Draw markers Draw tree-layout with edges Draw maps at each node 19
  20. 20. Distributed Media Player Services Streaming display service (VLCJ) Player state (play/pau se) Control events (FF/rewin d) Shared state Android video player Android display service Input service 20
  21. 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. 21
  22. 22. PolyChrome Presenting at ACM ITS 2014 • Completely web-based • Support for JS visualization frameworks • Hybrid architecture 22
  23. 23. Conclusion Conceptual model of Munin framework Application examples How-to-use: 23
  24. 24. Acknowledgment S. Karthik Badam sbadam@umd.edu Questions? IIS-1253863 Munin source https://github.com/karthikbadam/Munin 24

×