MediaBroker: An Architecture for Pervasive Computing Kishore Ramachandran ( College of Computing Georgia Tech Presented by: Pouria Pirzadeh and Ronen Vaisenberg
Computing/Communication Continuum Sensor Network High connectivityLow connectivity / Wireless Cameras, sensor nodesHigh Performance Computing (HPC) resources HPC resources Ambient Computing Infrastructure
Application Characteristics n Physically distributed heterogeneous devices n Interfacing and integrating with the physical environment n Diverse stream types n Diverse computation, communication and power capabilities (from embedded sensors to clusters) n Stream fusion/transformation, with loadable code n Resource scarcities n Dynamic join/leave of application components
MediaBroker n An architecture for stream management l A clearing house for sensors and actuators in a given space l Stream registry, discovery, sharing l Dynamic connection of sources (producers) and sinks (consumers) l Dynamic sharing of transformations and streams n Architecture Requirements l Scalability l Low latency/high throughput l adaptability
l Elements iType server: stores data types, relationships, and transformation code iTransformation engine: allow safe execution of injected code on cluster nodes iScheduler: manages workload, and allows prioritizing transformation requests iData brokers: manages connections between producers and consumers Type Server Data Broker Data Broker Scheduler Transformation Engine Transformation Engine Transformation Engine Producer Consumer Data Items Transformation Requests Transformation Code
Architecture Overview
Architecture Workflow n New client connects to engine l MB establishes a command channel l Associates a listener to the channel n Client API l Sources/sinks instantiation/termination l New source instantiated iMB assigns it to a new data broker l New sink instantiated iMB assigns it to an existing data broker
Data Broker n Core of MB engine n An execution context, containing 4 threads l Transport thread i From source to sink(s) l Command thread iListens to channel for add/remove source/sink l Source-watch thread l Sink-watch thread n Tasks: l Transports data from one source to sink(s) l Type negotiation between source/sink(s)
Data Types n Data broker l finds LUB of requested types l Communicates LUB with producer l It does LUB transformation to requests n Data types defined by a language for l Type description iDomain + attributes l Type relations iThrough a Type map l Type transformations
MediaBroker Vs. Satware n Code l C vs. Java n Types l C struct vs. tuples n Resource Discovery l Ldap vs. RMI n Messeging l Channel listeners vs. RMI