Kaifei Chen, Siyuan He, Beidi Chen, John Kolb, Randy H. Katz, David E

Slides:



Advertisements
Similar presentations
UI_PRI Communication Concept Service Robotics Group Institute of System Engineering and Robotics Bulgarian Academy of Sciences.
Advertisements

Communication Topics Jason Hill –
A component- and message-based architectural style for GUI software
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Remote Procedure Call (RPC)
1 Message Oriented Middleware and Hierarchical Routing Protocols Smita Singhaniya Sowmya Marianallur Dhanasekaran Madan Puthige.
IWAN A Web Service- and ForCES-based Programmable Router Architecture Evangelos Haleplidis 1, Robert Haas 2, Spyros Denazis 13, Odysseas Koufopavlou.
Extensible Networking Platform IWAN 2005 Extensible Network Configuration and Communication Framework Todd Sproull and John Lockwood
Zero-programming Sensor Network Deployment 學生:張中禹 指導教授:溫志煜老師 日期: 5/7.
Socket Programming.
1 IBM SanFrancisco Product Evaluation Negotiated Option Presentation By Les Beckford May 2001.
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
CS533 - Concepts of Operating Systems
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
SNAL Sensor Networks Application Language Alvise Bonivento Mentor: Prof. Sangiovanni-Vincentelli 290N project, Fall 04.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 17 Client-Server Processing, Parallel Database Processing,
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Client-Server Processing and Distributed Databases
Principles for Collaboration Systems Geoffrey Fox Community Grids Laboratory Indiana University Bloomington IN 47404
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Home Automation Console Publish/Subscribe Server for interoperability and reduction of complexity at end devices.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Control Over WirelessHART Network S. Han, X. Zhu, Al Mok University of Texas at Austin M. Nixon, T. Blevins, D. Chen Emerson Process Management.
SensIT PI Meeting, January 15-17, Self-Organizing Sensor Networks: Efficient Distributed Mechanisms Alvin S. Lim Computer Science and Software Engineering.
Christian Le, Intel (Rahul Khanna, Intel and Huaping Liu, OSU)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
I T & S A e r o s p a c eD e f e n c e Content adaptation for gradual Quality of Service Vania Conan, Arnaud Pierre Thales
Common Devices Used In Computer Networks
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Software Framework for Teleoperated Vehicles Team Eye-Create ECE 4007 L01 Karishma Jiva Ali Benquassmi Safayet Ahmed Armaghan Mahmud Khin Lay Nwe.
DEVS Namespace for Interoperable DEVS/SOA
Library & Bookstore Navigation using RFID grid ACE B4 dra 親 richie 卒論最終発表.
Architecting Web Services Unit – II – PART - III.
Data and Computer Communications Circuit Switching and Packet Switching.
Asynchronous Communication Between Components Presented By: Sachin Singh.
Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada, October 2004 A Message-Oriented Middleware for Sensor Networks Eduardo Souto,
9 September 2008CIS 340 # 1 Topics reviewTo review the communication needs to support the architectures variety of approachesTo examine the variety of.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Message Oriented Communication Prepared by Himaja Achutha Instructor: Dr. Yanqing Zhang Georgia State University.
1 Mobility Support by the Common API for Transparent Hybrid Multicast draft-irtf-samrg-common-api-03 Project Matthias Wählisch,
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
1 Computing Challenges for the Square Kilometre Array Mathai Joseph & Harrick Vin Tata Research Development & Design Centre Pune, India CHEP Mumbai 16.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Rover Technology Enabling Scalable Location Aware Computing ( Wireless ) Myoung – Seo Kim Super Computing Lab
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING | SCHOOL OF COMPUTER SCIENCE | GEORGIA INSTITUTE OF TECHNOLOGY MANIFOLD Manifold Execution Model and System.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Information-Centric Networks10b-1 Week 10 / Paper 2 Hermes: a distributed event-based middleware architecture –P.R. Pietzuch, J.M. Bacon –ICDCS 2002 Workshops.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
Marcelo R.N. Mendes. What is FINCoS? A set of tools for data generation, load submission, and performance measurement of CEP systems; Main Characteristics:
CS 351/ IT 351 Modeling and Simulation Technologies HPC Architectures Dr. Jim Holten.
1 Protocol Layering Myungchul Kim Tel:
NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
Distribution and components
#01 Client/Server Computing
D7032E – Software Engineering
Sensor Networks – Motes, Smart Spaces, and Beyond
Quality-aware Middleware
#01 Client/Server Computing
Presentation transcript:

BearLoc: A Composable Distributed Framework for Indoor Localization Systems Kaifei Chen, Siyuan He, Beidi Chen, John Kolb, Randy H. Katz, David E. Culler UC Berkeley

Indoor Localization Location is important in indoor environments Personalized heating, ventilating, and air conditioning (HVAC) control Shopping mall navigation Emergency rescue GPS doesn’t work Signal is blocked Higher accuracy requirements in indoor scenarios Many competing approaches: Signal Fingerprint Multi-angulation and multi-lateration Dead reckoning (inertial measurement units) Beacon Passive device-free approach (video, audio, etc.) Data fusion Location I mean both generally occupancy, localization, and identification

Problems of Current Systems Figure of merit is accuracy, not ease of development Founded on integrated client-server models Monolithic: Proprietary protocol Not composable or reusable Does not fit dispersed configurations: Sensors on the wall (WiFi RSS sniffer) Infrastructure as applications (HVAC systems) People’s work are good, but systems are not used afterwards At least two reasons pause

Indoor Localization Systems are Complex Systems can be complex Components are Distributed on different hardware (Map is on server) Composed in complex ways (chains, N-to-1, 1-to-N) Reused/multiplexed

BearLoc Design Goals System Partitioned to Components Has clear abstractions for developers Runs on heterogeneous distributed hardware (mote, smartphone, server) Component Composition Agree on data schema Flexible communication pattern (1-to-N, N-to-1) Easy composition Algorithm Multiplexing Concept of session Hide multiplexing logic from developers Transit: pause

BearLoc Architecture System overview: Three layers: Network, BearLoc, Developer Codes Three types of components: Sensor, Algorithm, Application Defines data flow

Publish/Subscribe Network Publish/subscribe (Pub/Sub) network Message-oriented event-driven overlay network Subscribers and publishers connect to a broker Publishers send messages to topics Subscribers get messages that match topics of their interests Pub/Sub network is an ideal communication pattern for heterogeneous hardware Event-driven Good for intermittent connections and dynamic network configurations (e.g., changing IP address) Multiplexing But not enough for end-to-end interoperability Need higher level component abstractions Need protocol between these abstractions Transit: now let’s look at the detail What pub sub network Practice Facebook Messenger uses MQTT

Sensors, Algorithms, and Applications Three indoor localization system component abstractions: sensors, algorithms, and applications Sensors are the components that generate location data (WiFi RSS, User input) Algorithms map sensor “readings” into a particular location Applications use the locations from algorithms for their particular tasks Components are developed and evolved independently Interface between components are defined in BearLoc transit: representations on upper layer

Algorithms Multiplexing Applications multiplex algorithms Algorithms can be stateful (Kalman Filter) Algorithm developers should not worry about multiplexing, they should think about only one user (localization target) Algorithm manager does multiplexing Starts and stops algorithm instances, processes of algorithm executable Every instance only service one user Maintains communication states (e.g. sensor topics, output topic) for all instances Many algorithms are stateful, and one algorithm can be used for many user. Developers are not necessarily worry about maintaining states for different users They should developer thinking abut only one user pause

Binding: The Data Flow A binding defines how components can be connected using pub/sub network topics A binding is centered at an algorithm instance Binding is the primitive of composition in BearLoc transit: to form a binding How components are combined Add example Chain, multiplex pause WiFi RSS GPS WiFi RSI Fingerprinting Particle Filter Navigation

Binding Control Protocol Algorithm manager subscribes to its control topic Application sends Start Binding request that contains Sensor topics A new algorithm output topic A keep-alive topic Optional configuration data Algorithm manager Subscribes to the sensor topics Subscribes to the keep-alive topic Application Subscribes to the algorithm output topic Sends keep-alive messages periodically Algorithm Manager Algorithm Instance 1 3 Binding Broker Sensor The goal is to connect sensor, instance, and application 2 4 Application

End-to-end Case Study: Follow-Me Displays Each components are built independently Not sure whether to talk about it

Evaluation Sensors and application run on one Android phone Algorithms run on server (WiFi) and laptop (ABS) Transit: Sensor and App is on the same device

Lines of Developer Code BearLoc simplifies development Clear abstractions of components Lines of developer codes with common functions implemented Codes saved by using BearLoc: Data queuing and retransmission Sensor data schema are provided by the BearLoc Algorithm Multiplexing BearLoc Application codes are primarily performing the Binding Control Protocol Audio Sensor WiFi RSS Sensor WiFi RSS Algorithm Without BearLoc 856 925* 737 With BearLoc 173 184 350 * It shares 722 lines of codes with the audio sensor.

Data Flow Overhead Data flow overhead is the network delay overhead in a data flow introduced by distributing components in BearLoc Data flow overhead = (T4 – T1) – (T3 – T2) Our setup doesn’t need time synchronization because T4-T1 is measured on the phone, and T3-T2 is measured on the server. The overhead the BearLoc brings

Data Flow Overhead Low delay 90% of overhead in WiFi RSS is less than 100 milliseconds 90% of overhead in ABS is less than 1 second, given ABS has much more data (audio) to transmit

Future work Service discovery Interface/schema negotiation Now application needs to find all required sensors Interface/schema negotiation The current interface and schema are also proprietary Streaming in pub/sub network Vision-based person tracking Generalize the idea and apply to other IoT systems

Thank you! Kaifei Chen (kaifei@berkeley.edu) https://github.com/SoftwareDefinedBuildings/BearLoc