Munin: a Peer-To-Peer Middleware for Ubiquitous Analytics and Visualization Spaces
Total Page:16
File Type:pdf, Size:1020Kb
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. XX, NO. Y, MONTH 2014 1 Munin: A Peer-to-Peer Middleware for Ubiquitous Analytics and Visualization Spaces Sriram Karthik Badam, Student Member, IEEE, Eli Fisher, and Niklas Elmqvist, Senior Member, IEEE Abstract—We present Munin, a software framework for building ubiquitous analytics environments consisting of multiple input and output surfaces, such as tabletop displays, wall-mounted displays, and mobile devices. Munin utilizes a service-based model where each device provides one or more dynamically loaded services for input, display, or computation. Using a peer-to-peer model for communication, it leverages IP multicast to replicate the shared state among the peers. Input is handled through a shared event channel that lets input and output devices be fully decoupled. It also provides a data-driven scene graph to delegate rendering to peers, thus creating a robust, fault-tolerant, decentralized system. In this paper, we describe Munin’s general design and architecture, provide several examples of how we are using the framework for ubiquitous analytics and visualization, and present a case study on building a Munin assembly for multidimensional visualization. We also present performance results and anecdotal user feedback for the framework that suggests that combining a service-oriented, data-driven model with middleware support for data sharing and event handling eases the design and execution of high performance distributed visualizations. Index Terms—Ubiquitous analytics, high-resolution displays, multi-display environments, distributed visualization, framework. F 1 INTRODUCTION peers can subscribe and publish, as well as a shared ISUALIZATION has long relied on computing devices event channel where peers can produce and consume V equipped with mice, keyboards and monitors for real-time events for input and coordination. virtually all applications [1]. However, this state of affairs is • Service Layer: Mechanism for extending the frame- changing as problems and datasets grow in size, complexity work’s run-time capabilities through dynamically- and time sensitivity. Today’s big data analytics problems loaded (potentially third-party) services for input, ren- often require more than a single mind or a single device dering, and computation that are implemented by to solve, and, as a result, parallelism for both users and specific devices given their individual capabilities. computing resources is becoming necessary. In addition, • Visualization Layer: High-level components for ubiq- computer hardware is evolving, and now encompasses de- uitous visualization, including shared database used for vices such as large wall displays [2], tabletops displays [3], replicating data across peers, and a data-driven scene and tablets. This potential can be harnessed into building graph with device-dependent implementations. ubiquitous analytics spaces for sensemaking. The Munin1 framework is similar in scope and goals We present MUNIN, a peer-to-peer distributed middle- to many existing middleware solutions for ubiquitous and ware for building such multi-device ubiquitous visualization distributed user interfaces (DUIs), such as ZOIL [4], i- and analytics environments (Figure 1). These environments LAND [5], and Shared Substance [6]. However, Munin require managing distribution of data, computation, visual is tailored specifically for high-performance data visualiza- representations, and interaction between participating de- tion: (1) it has a shared table for managing and replicating vices. For example, an input gesture made on one device datasets; (2) its distributed scene graph delegates rendering should be communicated to a computational unit, and the to visualization services that may choose visual representa- updated visual representation should then be immediately tions depending on device capabilities; and (3) it eschews rendered by the connected displays. To achieve this, the a traditional application-oriented model in favor of a data- Munin framework transforms all networked devices in the driven model where cross-cutting instruments and renderers same physical environment into Munin peers that communi- (implemented as services) operate on the data. cate using a multicast mechanism on the peer-to-peer setup Building distributed software in general is a difficult instead of depending on a dedicated server. This increases venture, so another focus of the Munin project is to derive a the robustness and fault-tolerance of the system, decreases programming model for ubiquitous analytics and visualiza- its coupling, and improves its ease and convenience of use. tion development that makes the process as painless as pos- The framework has a three-tier layered architecture: sible. We believe that Munin’s service-oriented and data- • Shared State Layer: Shared and replicated associa- driven architecture is key in achieving this goal, and facil- tive memory that contains shared objects to which itates building robust, fault-tolerant, and reusable software • All three authors are with the School of Electrical & Computer 1. Munin is one of the Norse god Odin’s twin ravens (Hugin is the Engineering, Purdue University, West Lafayette, IN. other); serving as Odin’s eyes and ears, they fly out into Midgard every E-mail: [email protected], fi[email protected], [email protected] morning and return at night with tidings about the world. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. XX, NO. Y, MONTH 2014 2 Fig. 1. A ubiquitous analytics space for a shared bulletin board built using the Munin toolkit and running on a tiled-LCD display wall, a digital tabletop display, and a smartphone. Touch input on the phone is used to create, move, and delete panels. The system consists of device-specific services that communicate over the network. components that are loosely coupled yet combine to form (a) The problems that visual computing manages are a powerful system as a whole. Towards this end, we have growing in scale, complexity, and time-sensitivity; implemented Munin in Java to facilitate easy deployment (b) The need for collaboration is drastically increasing [7], across different devices, and the networking support in the as is the need to parallelize computation and rendering framework relies only on the JGroups P2P multicast library, across multiple computers and devices; and which can be used even on mobile operating systems that (c) Advances in computing technology has given rise to support Java (now including iOS with the recently released a new generation of post-WIMP interfaces [8] that Oracle ADF Mobile). This enables Munin to run on a range significantly extend interaction capabilities past the of devices such as smartphones, tablets, laptops, desktops, traditional window, icon, menu, and pointer paradigm, and all the way up to large tabletop displays as well as as well as to pervasive and ubiquitous computing [9] individual computers powering tiled-LCD display walls. where the computer is disappearing into the very fabric To validate Munin, we give three concrete examples of of our physical surroundings and everyday life. using the framework to build ubiquitous visualization soft- ware: a collaborative visual search environment combining Inspired by these challenges and novel computing mobile and tabletop devices, a geospatial visualization, and paradigms, we here define the concept of ubiquitous visual a distributed media player. We also give an in-depth exam- computing as the integration of visualization and analytics ple of how to build a Munin assembly using a multidimen- capabilities into our physical environments and activities, sional visualization for a large-scale display environment also known as ubiquitous visualization and analytics [10]. A where multiple users can upload datasets, visualize them, ubiquitous visual computing space, therefore, is a physical and add scribbled annotations. In addition, we present the environment, either mobile (for nomadic use) or static (in results of performance tests for the network and service a dedicated place), that supports ubiquitous visual com- layers of Munin. Finally, we present informal qualitative puting through one or several networked devices that have feedback from new end-user programmers adopting Munin been embedded into the environment. While this definition for building new ubiquitous analytics (ublityics) spaces. also encompasses standard personal computers, the spirit of these ubiquitous analytics spaces refer to post-WIMP devices of varying input and output modalities that are all 2 BACKGROUND networked to form a unified space for visual reasoning, Visual computing is broadly defined as the intersection of analysis, and sensemaking. We formally characterize a fields such as computer graphics, computer vision, visual- ubiquitous visual computing space as follows: ization, and human-computer interaction, and is character- C1 Networked devices. A ubiquitous visual computing ized by its emphasis on interactive visual representations. In space consists of one or several devices that are this paper, we are particularly concerned with visualization, networked for cross-device analytics. which is the graphical representation of data to aid cogni- tion. As observed above, visual computing and visualiza- C2 Collaboration support. The canonical usage scenario tion are changing. While historically confined to standard for a ubiquitous visual computing space is for collab- hardware such as a monitor, mouse, and keyboard