SlideShare a Scribd company logo
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
“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
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
Mobile Visualization
Visualizing information on mobile devices (Chittaro, 2006)
4
Ubiquitous Analytics
Massive heterogeneous data
Ubiquitous analytics: Interacting with big data anywhere, anytime (Elmqvist and Irani, 2013)
5
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
why it
happened!
Siri, capture
screenshot.
Sam, look
at this!
Wait, Linda,
let me
visualize the
sensor data
here!
7
Design
Supporting CollaborationMultiple and Networked Devices
Post-WIMP interaction
WIMP – Windows, Icons, Menus, Pointers Supporting Visualization
8
Munin
• Peer-to-peer infrastructure
• Uses three-layered architecture
• Shared space
• Service
• Visualization
• Java based
• Middleware framework for ubiquitous analytics
9
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
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
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
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
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
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
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 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
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
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
PolyChrome
Presenting at ACM ITS 2014
• Completely web-based
• Support for JS visualization frameworks
• Hybrid architecture
22
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

More Related Content

PPTX
PolyChrome: A Cross-Device Framework for Collaborative Web Visualization
PDF
Visualisation of semantic architectural information within a game engine envi...
PPTX
[Challenge:Future] Project Mass Effect
PPTX
[Challenge:Future] Project Mass Effect
PDF
Rise of the Superuser
PPTX
[Challenge:Future] Project Mass Effect
PDF
DMA Ignite Night - Ikoone
PPTX
CONVR 2010 - Visualisation of semantic architectural information within a gam...
PolyChrome: A Cross-Device Framework for Collaborative Web Visualization
Visualisation of semantic architectural information within a game engine envi...
[Challenge:Future] Project Mass Effect
[Challenge:Future] Project Mass Effect
Rise of the Superuser
[Challenge:Future] Project Mass Effect
DMA Ignite Night - Ikoone
CONVR 2010 - Visualisation of semantic architectural information within a gam...

What's hot (20)

PPTX
Open source gis data for finacial inclusion
PPTX
Steve Feiner (Columbia University): The Future of AR
PPTX
Crowdsourcing and storytelling by gamification
PPT
Evolution of GIS Technologies in a Web 2.0
PPTX
Infrastruktur Informasi Geospasial untuk Big Data dan 3D Geoinformasi
PPTX
[Challenge:Future] Project Mass Effect
PPTX
[Challenge:Future] Project Mass Effect
PDF
Internet of things bringing fog, edge & mist computing by Yogesh Malik
PPTX
[Challenge:Future] Project Mass Effect
PDF
Technology Trends in Situation Awareness
PDF
UI/UX for Indoor/Outdoor Seamless Navigation?
PPT
Interfaces, Surface Computing and Ubiquitous Computing
PPTX
Crowdsourcing pointclouds trends and technologies
PDF
Sejarah dan Perkembangan Augmented Reality
PPTX
Google maps d1 a2
PDF
EENA 2018 - Mapping Emergencies & Disasters
PPT
Practical Cloud Computing - December 2012 - introduction for non-techies
PDF
Blueprint Creative Tech Conference @ The Great Escape "Mobile Engagement"
PPTX
Create Minecraft Worlds with ArcGIS and the Data Interoperability Extension
Open source gis data for finacial inclusion
Steve Feiner (Columbia University): The Future of AR
Crowdsourcing and storytelling by gamification
Evolution of GIS Technologies in a Web 2.0
Infrastruktur Informasi Geospasial untuk Big Data dan 3D Geoinformasi
[Challenge:Future] Project Mass Effect
[Challenge:Future] Project Mass Effect
Internet of things bringing fog, edge & mist computing by Yogesh Malik
[Challenge:Future] Project Mass Effect
Technology Trends in Situation Awareness
UI/UX for Indoor/Outdoor Seamless Navigation?
Interfaces, Surface Computing and Ubiquitous Computing
Crowdsourcing pointclouds trends and technologies
Sejarah dan Perkembangan Augmented Reality
Google maps d1 a2
EENA 2018 - Mapping Emergencies & Disasters
Practical Cloud Computing - December 2012 - introduction for non-techies
Blueprint Creative Tech Conference @ The Great Escape "Mobile Engagement"
Create Minecraft Worlds with ArcGIS and the Data Interoperability Extension
Ad

Similar to Munin: A Peer-to-Peer Middleware for Ubiquitous Analytics and Visualization Spaces (20)

PDF
A Seminar Report On Virtual Reality
PDF
모바일 AR 개요 및 Scan Search 사례 2부
PDF
426 lecture1: Introduction to AR
PPT
VR_mannmath.ppt
PPT
44328856-Augmented-Reality.ppt
PPT
44328856-Augmented-Reality.ppt
PPTX
138290 633676467827677500
PDF
COMP 4010 - Lecture 1: Introduction to Virtual Reality
PPT
Smart manufacturing through cloud based-r-nabati--dr abdulbaghi ghaderzadeh
PDF
PhD Trial Lecture: Design guidelines for multi-display environments in comman...
PPTX
Lecture#01.pptx
DOCX
Augmented reality report
PDF
Research Directions in Heads-Up Computing
PDF
Beyond Reality (2027): The Future of Virtual and Augmented Reality
PDF
Getting Started with Point Clouds Visualisation and AR/VR
PPTX
GeoSpatial Standards in Emergency Management
PDF
Computer Vision Systems 13th International Conference Icvs 2021 Virtual Event...
PPTX
Seminar presentation
PPT
Virtual Geodata: Bringing geodata potential to citizen
A Seminar Report On Virtual Reality
모바일 AR 개요 및 Scan Search 사례 2부
426 lecture1: Introduction to AR
VR_mannmath.ppt
44328856-Augmented-Reality.ppt
44328856-Augmented-Reality.ppt
138290 633676467827677500
COMP 4010 - Lecture 1: Introduction to Virtual Reality
Smart manufacturing through cloud based-r-nabati--dr abdulbaghi ghaderzadeh
PhD Trial Lecture: Design guidelines for multi-display environments in comman...
Lecture#01.pptx
Augmented reality report
Research Directions in Heads-Up Computing
Beyond Reality (2027): The Future of Virtual and Augmented Reality
Getting Started with Point Clouds Visualisation and AR/VR
GeoSpatial Standards in Emergency Management
Computer Vision Systems 13th International Conference Icvs 2021 Virtual Event...
Seminar presentation
Virtual Geodata: Bringing geodata potential to citizen
Ad

More from Niklas Elmqvist (20)

PPTX
skWiki: A Multimedia Sketching System for Collaborative Creativity
PPTX
Tracing and Sketching Performance using Blunt-tipped Styli on Direct-Touch ...
PPTX
VASA: Visual Analytics for Simulation-based Action
PPTX
ExPlates: Spatializing Interactive Analysis to Scaffold Visual Exploration
PPTX
Automatic Typographic Maps
KEY
Toward Visualization for Games
PPTX
Gravity Navigation
PPTX
PolyZoom: Multiscale and Multifocus Exploration in 2D Visual Spaces
KEY
Applying Mobile Device Soft Keyboards to Collaborative Multitouch Tabletop Di...
PPTX
Static Spatial Graph Features
PPTX
Dynamic Insets for Context-Aware Graph Navigation
PPTX
Temporal Distortion for Animated Transitions
KEY
Hugin: A Framework for Awareness and Coordination in Mixed-Presence Collabora...
PPTX
Graphical Perception of Multiple Time Series
PPT
Employing Dynamic Transparency for 3D Occlusion Management: Design Issues and...
PPTX
GraphDice: A System for Exploring Multivariate Social Networks
PPTX
Stack Zooming for Multi-Focus Interaction in Time-Series Data Visualization
PPT
Towards Utilizing GPUs in Information Visualization
PPT
Evaluating Motion Constraints for 3D Wayfinding in Immersive and Desktop Virt...
PPT
Melange: Space Folding for Multi-Focus Interaction
skWiki: A Multimedia Sketching System for Collaborative Creativity
Tracing and Sketching Performance using Blunt-tipped Styli on Direct-Touch ...
VASA: Visual Analytics for Simulation-based Action
ExPlates: Spatializing Interactive Analysis to Scaffold Visual Exploration
Automatic Typographic Maps
Toward Visualization for Games
Gravity Navigation
PolyZoom: Multiscale and Multifocus Exploration in 2D Visual Spaces
Applying Mobile Device Soft Keyboards to Collaborative Multitouch Tabletop Di...
Static Spatial Graph Features
Dynamic Insets for Context-Aware Graph Navigation
Temporal Distortion for Animated Transitions
Hugin: A Framework for Awareness and Coordination in Mixed-Presence Collabora...
Graphical Perception of Multiple Time Series
Employing Dynamic Transparency for 3D Occlusion Management: Design Issues and...
GraphDice: A System for Exploring Multivariate Social Networks
Stack Zooming for Multi-Focus Interaction in Time-Series Data Visualization
Towards Utilizing GPUs in Information Visualization
Evaluating Motion Constraints for 3D Wayfinding in Immersive and Desktop Virt...
Melange: Space Folding for Multi-Focus Interaction

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Empathic Computing: Creating Shared Understanding
PDF
Electronic commerce courselecture one. Pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
A Presentation on Artificial Intelligence
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Modernizing your data center with Dell and AMD
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Approach and Philosophy of On baking technology
NewMind AI Monthly Chronicles - July 2025
Machine learning based COVID-19 study performance prediction
Empathic Computing: Creating Shared Understanding
Electronic commerce courselecture one. Pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
A Presentation on Artificial Intelligence
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Spectral efficient network and resource selection model in 5G networks
Unlocking AI with Model Context Protocol (MCP)
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
Chapter 3 Spatial Domain Image Processing.pdf
Modernizing your data center with Dell and AMD

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

  • 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. “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. 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. Mobile Visualization Visualizing information on mobile devices (Chittaro, 2006) 4
  • 5. Ubiquitous Analytics Massive heterogeneous data Ubiquitous analytics: Interacting with big data anywhere, anytime (Elmqvist and Irani, 2013) 5
  • 6. Emergency Situation Heterogeneous Information sources Multiple analysts/ stakeholders Ensemble of devices 6
  • 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. Design Supporting CollaborationMultiple and Networked Devices Post-WIMP interaction WIMP – Windows, Icons, Menus, Pointers Supporting Visualization 8
  • 9. Munin • Peer-to-peer infrastructure • Uses three-layered architecture • Shared space • Service • Visualization • Java based • Middleware framework for ubiquitous analytics 9
  • 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. 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. 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. 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. Visualization Layer Dataset on the shared state layer Display Service Input and Display Services 14
  • 15. Application Examples Collaborative Visual Search Distributed PolyZoom Distributed Media Player 15
  • 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. Collaborative Visual Search Public view (shared) Private view Branch-Explore-Merge: McGrath et al., 2012 17
  • 18. PolyZoom (Javed et al., 2012) 18
  • 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. 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. 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. PolyChrome Presenting at ACM ITS 2014 • Completely web-based • Support for JS visualization frameworks • Hybrid architecture 22
  • 23. Conclusion Conceptual model of Munin framework Application examples How-to-use: 23
  • 24. Acknowledgment S. Karthik Badam sbadam@umd.edu Questions? IIS-1253863 Munin source https://github.com/karthikbadam/Munin 24

Editor's Notes

  • #2: Name – framework for building analytical spaces that go beyond a single device – done by our group includes Eli Fisher, Niklas – Now, taking a few steps back into the past --
  • #3: Mark Weiser had the vision of ubiquitous computing in which technologies evolve disappear into the background to aid us in achieving higher and bigger goals – Ubicomp inspires many fields including mobile computing, distributed computing, and HCI. However, Ubicomp has not made a lot of progress in visualization (Segue)
  • #4: (start animation) We do have some brilliant research on co-located collaborative visualization including
  • #5: (start animation) and we have some research exploring the Mobile visualization
  • #6: In order to apply Mark Weiser’s vision and combine these efforts to interact with data in visual form anywhere and anytime for analytical processes, an approach called ubiquitous analytics was proposed. To understand how ubiquitous analytics is useful, lets consider an emergency situation (Segue)
  • #7: During an emergency situation – get data form multiple sources (resource information, sensor, social media) – multiple analysts and stakeholders working together on multiple devices (segue)
  • #8: They can work with multiple devices, interact with a visualization through gestures with large displays, collaborate with others, and finally we have users not confined to a single office space (without restrictions). In order to develop ubilytics applications we need
  • #9: Summing it up… we have 4 requirements To support development of applications for ubiquitous analytics we created the Munin framework (segue) Cross-platform, to support heterogeneous devices. Peer-to-peer, to avoid servers and increase robustness. Graphics-agnostic, since devices have varying APIs. Multiple concurrent users with concurrent interactions. Co-located and synchronous collaboration support. Multiple input sources, such as touch, gestural, pen- based, tangible, and full-body interaction. Multiple output sources, such as wall-mounted, table- top, mobile, volumetric, and tangible displays. Visualization mechanisms and patterns (e.g., [60]). Multiple visual representations and views [11].
  • #10: In our research, we created Munin, a framework for ubiquitous analytics spaces. Munin is a middleware framework Munin is decentralized. It connects the devices over a p2p infrastructure, no client/servers involved. It has a three layers. Java
  • #11: Looking closer at the architecture, We have multiple devices connected over a shared space, generating multiple services, which are accessed by a visualization layer.
  • #12: The shared state is essentially created through multicast in the P2P infrastructure. It contains an associative memory to store shared objects (for example) and an event space to share the generated events. Lets take a quick look at the code for accessing shared space. Moving on to the Service layer--
  • #13: It can contain services such as for display, input handling, and even for managing computation. These services commute with the shared events and sometimes the shared objects to update the view on each device. Other than generic services such as display, input, computation, we can also create custom services, for example, zoom and pan, with the Munin framework.
  • #14: The visualization layer sits on top of the service and shared state layers to support development of visualization. It provides a shared relational data structure to store structured data, and a distributed scene graph to draw the graphical abstractions for visualization.
  • #16: We made three example applications using the Munin framework.
  • #17: One of our most sophisticated - Visual search of real estate information visualized on map. – shared and public view – personal and private view (segue)
  • #18: Tabletop for coupled work and tablet to individual exploration, provides a branch explore merge kinda scenario for visual exploration – the second example is a distributed version of an existing technique (segue)
  • #19: The first example is an multi-screen or distributed version of PolyZoom. This lets you build hierarchies of focus regions such that each subsequent level in this tree shows a higher magnification.