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