Turning Ad Hoc Networks into Distributed Service Providers Cristian Borcea Department of Computer Science New Jersey Institute of Technology.

Slides:



Advertisements
Similar presentations
Agents & Mobile Agents.
Advertisements

Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Is Your Car Talking with My Smart Phone? or Distributed Sensing and Computing in Mobile Networks Cristian Borcea Department of Computer Science, NJIT.
CarTorrent ® : Cars get to have fun too Kevin C. Lee and Ian S. Yap TA: Uichin Lee Prof Mario Gerla.
Maximum Battery Life Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks By C. K. Toh.
Decentralized Reactive Clustering in Sensor Networks Yingyue Xu April 26, 2015.
Group #1: Protocols for Wireless Mobile Environments.
MPAC 2004Rae Harbird 1 RUBI Adaptive Resource Discovery for Ubiquitous Computing Rae Harbird Stephen Hailes
Adapting Asynchronous Messaging Middleware to Ad Hoc Networking Mirco Musolesi Cecilia Mascolo Stephen Hailes Dept. of Computer Science University College.
1 Improving the Performance of Distributed Applications Using Active Networks Mohamed M. Hefeeda 4/28/1999.
ASNA Architecture and Services of Network Applications Research overview and opportunities L. Ferreira Pires.
1 Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University),
Cooperative Computing: A Computing Model for Large Networks of Embedded Systems Cristian Borcea, Phillip Stanley-Marbell, Kiran Nagaraja, Liviu Iftode.
Dept. of Computer Science & Engineering, CUHK1 Trust- and Clustering-Based Authentication Services in Mobile Ad Hoc Networks Edith Ngai and Michael R.
An Energy Consumption Framework for Distributed Java-Based Systems Chiyoung Seo Software Architecture Research Group University of Southern California.
Outdoor Distributed Computing* Cristian Borcea Department of Computer Science New Jersey Institute of Technology * Work done at Rutgers prior to September.
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
The Meraka Indoor wireless mesh test bed A new multi hop routing benchmarking tool David Johnson Senior Researcher Wireless Africa Programme Meraka CSIR.
1 Migratory TCP: Connection Migration for Service Continuity in the Internet* Florin Sultan, Kiran Srinivasan, Deepa Iyer, Liviu Iftode Department of Computer.
TrafficView: A Scalable Traffic Monitoring System Tamer Nadeem, Sasan Dashtinezhad, Chunyuan Liao, Liviu Iftode* Department of Computer Science University.
1 Cooperative Computing for Distributed Embedded Systems* Cristian Borcea, Deepa Iyer, Porlin Kang, Akhilesh Saxena, and Liviu Iftode Division of Computer.
Outdoor Distributed Computing Cristian Borcea Department of Computer Science New Jersey Institute of Technology.
Middleware for Cooperative Computing on Large Ad-hoc Networks of Embedded Systems* Cristian Borcea, Deepa Iyer, Porlin Kang, Akhilesh Saxena and Liviu.
Spatial Programming using Smart Messages: Design and Implementation Cristian Borcea, Chalermek Intanagonwiwat, Porlin Kang, Ulrich Kremer, and Liviu Iftode.
Programming Computers Embedded in the Physical World Liviu Iftode, Andrzej Kochut University of Maryland Cristian Borcea, Chalermek Intanagonwiwat, Ulrich.
OceanStore: An Architecture for Global-Scale Persistent Storage Professor John Kubiatowicz, University of California at Berkeley
The Bio-Networking Architecture: An Infrastructure of Autonomic Agents in Pervasive Networks Jun Suzuki netresearch.ics.uci.edu/bionet/
SensIT PI Meeting, April 17-20, Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering.
VITP and CARS: A Distributed Service Model and Rate Adaptation for VANETs Liviu Iftode Department of Computer Science Rutgers University.
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
TrafficView: A Driver Assistant Device for Traffic Monitoring based on Car-to-Car Communication Sasan Dashtinezhad, Tamer Nadeem Department of CS, University.
Peer-to-peer file-sharing over mobile ad hoc networks Gang Ding and Bharat Bhargava Department of Computer Sciences Purdue University Pervasive Computing.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Mobility in the Virtual Office: A Document-Centric Workflow Approach Ralf Carbon, Gregor Johann, Thorsten Keuler, Dirk Muthig, Matthias Naab, Stefan Zilch.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Self-Organizing Adaptive Networks Hari Balakrishnan MIT Laboratory for Computer Science
P2P Systems Meet Mobile Computing A Community-Oriented Software Infrastructure for Mobile Social Applications Cristian Borcea *, Adriana Iamnitchi + *
Mobile IP Performance Issues in Practice. Introduction What is Mobile IP? –Mobile IP is a technology that allows a "mobile node" (MN) to change its point.
MOBILE CLOUD COMPUTING
Wave Relay System and General Project Details. Wave Relay System Provides seamless multi-hop connectivity Operates at layer 2 of networking stack Seamless.
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
The MobiSoC Middleware for Mobile Social Computing Cristian Borcea, Ankur Gupta, Achir Kalra, Quentin Jones, Liviu Iftode* Department of Computer Science.
HERO: Online Real-time Vehicle Tracking in Shanghai Xuejia Lu 11/17/2008.
Is your Car Talking with my Smart Phone? or Distributed Sensing and Computing in Mobile Networks Cristian Borcea Dept. of Computer Science, NJIT.
Rapid Development and Flexible Deployment of Adaptive Wireless Sensor Network Applications Chien-Liang Fok, Gruia-Catalin Roman, Chenyang Lu
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Cluster Reliability Project ISIS Vanderbilt University.
Mobile Topic Maps for e-Learning John McDonald & Darina Dicheva Intelligent Information Systems Group Computer Science Department Winston-Salem State University,
Rapid Development and Flexible Deployment of Adaptive Wireless Sensor Network Applications Chien-Liang Fok, Gruia-Catalin Roman, Chenyang Lu
UbiStore: Ubiquitous and Opportunistic Backup Architecture. Feiselia Tan, Sebastien Ardon, Max Ott Presented by: Zainab Aljazzaf.
Locating Mobile Agents in Distributed Computing Environment.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Peer Centrality in Socially-Informed P2P Topologies Nicolas Kourtellis, Adriana Iamnitchi Department of Computer Science & Engineering University of South.
1 Ubiquitous Computing Nov. 15, 2006 Ki-Joune Li.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Context-Aware Fault Tolerance in Migratory Services Oriana Riva +, Josiane Nzouonta *, and Cristian Borcea * + ETH Zurich * New Jersey Institute of Technology.
Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer.
Performance of Adaptive Beam Nulling in Multihop Ad Hoc Networks Under Jamming Suman Bhunia, Vahid Behzadan, Paulo Alexandre Regis, Shamik Sengupta.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Mobile Computing and Wireless Communication Pisa 26 November 2002 Roberto Baldoni University of Roma “La Sapienza”
A Security Framework with Trust Management for Sensor Networks Zhiying Yao, Daeyoung Kim, Insun Lee Information and Communication University (ICU) Kiyoung.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Euro-Par, HASTE: An Adaptive Middleware for Supporting Time-Critical Event Handling in Distributed Environments ICAC 2008 Conference June 2 nd,
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
AMSA TO 4 Advanced Technology for Sensor Clouds 09 May 2012 Anabas Inc. Indiana University.
Introduction to threads
Building Distributed Educational Applications using P2P
Sentio: Distributed Sensor Virtualization for Mobile Apps
Presentation transcript:

Turning Ad Hoc Networks into Distributed Service Providers Cristian Borcea Department of Computer Science New Jersey Institute of Technology

2 Ubiquitous Computing Environments Wireless systems embedded everywhere Wireless systems embedded everywhere Large scale ad hoc networks will soon become reality Large scale ad hoc networks will soon become reality

3 Ad Hoc Networks as Data Carriers Traditionally, ad hoc networks used to Traditionally, ad hoc networks used to –Connect a mobile system (e.g., laptop, PDA) to the Internet –Exchange data between mobile systems Internet Internet Read , browse the web File transfers

4 Ad Hoc Networks as Distributed Service Providers New class of services deployed in ad hoc networks New class of services deployed in ad hoc networks –Acquire, process, disseminate real-time information from the proximity of geographical regions, entities, or activities of interest –Computation is context-aware –Many times, interact for longer period of time with clients Entitytracking Parking spot finder Traffic jam predictor CServiceClient

5 Problems with TCP/IP Client-Server Model in Ad Hoc Networks No support for context-awareness No support for context-awareness –When service stops satisfying context requirements, only solution is to discover new service Not always possible to find new service Not always possible to find new service Overhead due to service discovery Overhead due to service discovery The state of the old service is lost The state of the old service is lost No support for dynamic binding of names to IP addresses No support for dynamic binding of names to IP addresses –Difficult to ensure that name resolution ends up with new service when necessary No support for dynamic service deployment No support for dynamic service deployment –Cannot guarantee that a node satisfying all context requirements has the necessary service

6 Traffic Jam Predictor Service Problem: service responses are semantically incorrect if the car hosting the service moves out of the region Problem: service responses are semantically incorrect if the car hosting the service moves out of the region Solution: discover a new service running on a node satisfying the context requirements Solution: discover a new service running on a node satisfying the context requirements CServiceClient Region of interest

7 Entity Tracking Service Problem: service cannot satisfy the request when entity is out of the “range” of camera Problem: service cannot satisfy the request when entity is out of the “range” of camera Solution: discover new service & transfer the execution state of the old service Solution: discover new service & transfer the execution state of the old service CServiceClient

8 Parking Spot Finder Service Problem: service needs to run on a mobile node in the proximity of parking meters in the region of interest Problem: service needs to run on a mobile node in the proximity of parking meters in the region of interest Solution: discover nodes in this region and potentially transfer service code on these nodes Solution: discover nodes in this region and potentially transfer service code on these nodes CServiceClient

9 Requirements for New Service Model in Ad Hoc Networks Context adaptability: service always executes on nodes that satisfy context requirements Context adaptability: service always executes on nodes that satisfy context requirements –Dynamic context monitoring and evaluation –Discovery of new nodes satisfying context requirements Service continuity: client sees continuous interaction with service Service continuity: client sees continuous interaction with service –Transparent service name re-binding –Service execution state transfer On-demand code distribution: service code can be dynamically transferred to nodes On-demand code distribution: service code can be dynamically transferred to nodes

10Outline Motivation Motivation Context-Aware Migratory Services Context-Aware Migratory Services Migratory Services Framework Migratory Services Framework Implementation & Evaluation Implementation & Evaluation Conclusions Conclusions Other Current/Future Work Other Current/Future Work

11 Virtual service end-point Migratory Service Model Client n1n1n1n1 C n2 n2n2 n2 n3 n3 n3 n3 Context Change! (e.g., n 2 moves out of the region of interest) MS cannot accomplish its task on n 2 any longer ServiceMigration MS State Migratory Service Service MS State Migratory Service Service

12 Migratory Service Model (Cont’d) Client n1n1n1n1 C n2 n2 n2 n2 MS State Migratory Service Service Meta-service n4n4n4n4 MCreate Migratory Service MS State Migratory Service Service One-to-one mapping between clients and migratory services One-to-one mapping between clients and migratory services ServiceMigration

13 Key Ideas of Migratory Services Model Services migrate to nodes where they can accomplish their tasks Services migrate to nodes where they can accomplish their tasks –Present single virtual end-point to clients –One-to-one mapping between clients and services –Carry execution state across migrations –Transfer their code if necessary Service migration Service migration –Triggered by context changes –Regulated through context rules –Transparent to clients –Typically multi-hop

14Outline Motivation Motivation Context-Aware Migratory Services Context-Aware Migratory Services Migratory Services Framework Migratory Services Framework Implementation & Evaluation Implementation & Evaluation Conclusions Conclusions Other Current/Future Work Other Current/Future Work

15 Migratory Services Framework at Nodes

16 Framework’s Tasks Provide send/receive API for service programmers Provide send/receive API for service programmers Translate Migratory Services into lower-level Smart Messages Translate Migratory Services into lower-level Smart Messages Enforce specification of context parameters and context rules by all programs Enforce specification of context parameters and context rules by all programs Ensure service fault-tolerance Ensure service fault-tolerance Use naming, routing, and security offered by Smart Messages platform Use naming, routing, and security offered by Smart Messages platform

17 Migratory Services Framework

18 Smart Messages (SM) Distributed programs executing sequentially on nodes of interest named by properties Distributed programs executing sequentially on nodes of interest named by properties Migrate between nodes of interest Migrate between nodes of interest Self-route at every node in the path during migrations Self-route at every node in the path during migrations Composed of: Composed of: –Code bricks (e.g., Java class files) –Data bricks (e.g., Java objects) –Execution control state (e.g., instruction pointer, operand stack pointer)

19 SM Node Architecture Network SMPlatform AdmissionManagerAdmissionManager Network SMSM Operating System & I/O CodeCacheCodeCache Virtual Machine Interpreter Interpreter TagSpaceTagSpace SM Ready Queue AuthorizationAuthorization

20 Tag Space Collection of application tags and I/O tags Collection of application tags and I/O tags Essentially, tags are (name, value) pairs Essentially, tags are (name, value) pairs –Application tags: persistent memory across SM executions –I/O tags: access to operating system and I/O subsystem Tags used for Tags used for –Content-based naming migrate(tag) –Inter-SM communication write(tag, data), read(tag) –Synchronization block(tag, timeout) –I/O access read(temperature)

21 SM Migration migrate(Taxi) sys_migrate(2) sys_migrate(3) sys_migrate(4) TaxiTaxi migrate() migrate() –multi-hop content-based migration –migrates application to node of interest named by tags –implements routing algorithm using tags and sys_migrate sys_migrate() sys_migrate() –one hop migration –captures SM state, transfers SM to next hop, resumes SM execution

22 Network Routing Example 12i RouteToTaxi = 2 Taxi RouteToTaxi = ? RouteToTaxi = j migrate(Taxi){ while(readTag(Taxi) == null) if (readTag(RouteToTaxi)) sys_migrate(readTag(RouteToTaxi)); else create_SM(DiscoverySM, Taxi); createTag(RouteToTaxi, lifetime, null); block_SM(RouteToTaxi, timeout); }

23 Migratory Services Framework

24 Context Manager Context Manager Monitors context identifiers specified by programs Monitors context identifiers specified by programs Translates context identifiers into SM tags Translates context identifiers into SM tags Accesses context data by polling or blocking on corresponding SM tags Accesses context data by polling or blocking on corresponding SM tags –Location, time, speed using GPS –System status information (e.g., battery level, free memory) –One-hop neighbors list (includes location & speed)

25 Validator Evaluates context rules specified by programs Evaluates context rules specified by programs IN context rules control incoming data IN context rules control incoming data –Used for meta-services to accept/refuse requests –Used for clients to accept/refuse responses If response refused, update of client context sent to migratory service If response refused, update of client context sent to migratory service OUT context rules control outgoing data OUT context rules control outgoing data – –Used for migratory services to decide whether to send a response or not If not, service migration is triggered

26 Context Rules Specification Condition/action statements Condition/action statements Conditions are full binary trees of Boolean expressions Conditions are full binary trees of Boolean expressions –Example: {OR,, } } Actions Actions –Migrate service –Send client update –Accept/refuse request –Accept/refuse response

27 Communication Manager Communication Manager Discovers meta-services Discovers meta-services Routes messages between end-points Routes messages between end-points Carries out service migration Carries out service migration Uses naming conventions defined by SM platform Uses naming conventions defined by SM platform Uses two basic SM routing algorithms: Uses two basic SM routing algorithms: –Geographical routing (similar to GPSR) –Region-bound content-based routing (similar to AODV)

28 Reliability Manager Reliability Manager Fault-tolerance to one failure Fault-tolerance to one failure Inactive version of the service created after first migration Inactive version of the service created after first migration –Its state is periodically updated In case of failure of the active version, the inactive version takes over In case of failure of the active version, the inactive version takes overResponse Response Update Update Update Update Update Response Response Response ResponseActiveService InactiveService Client Timeout Request Request ResponseDeleteResponse Response

29 Migratory Services Framework

30 TJam: Migratory Service Example TJam: Migratory Service Example Predicts traffic jams in real-time Predicts traffic jams in real-time –The request specifies region of interest –Service migrates to ensure it stays in this region –Uses history (service execution state) to improve prediction TJam utilizes information that every car has: TJam utilizes information that every car has: –Number of one-hop neighboring cars –Speed of one-hop neighboring cars

31 TJam Pseudo-Code monitoredCtx = {location, speed} inCtxRule = {, rejectResponse && sendUpdate} rejectResponse && sendUpdate} serviceParameters = {region, frequency} request = {clientName, serviceParameters} send(TJam, request); while (NOT_DONE) response = receive(msName) monitoredCtx = {location, speed, region} outCtxRule = {, migrateService} migrateService} while (NOT_DONE) response = computeResponse(); send(clientName, response) Client MigratoryService

32Outline Motivation Motivation Context-Aware Migratory Services Context-Aware Migratory Services Migratory Services Framework Migratory Services Framework Implementation & Evaluation Implementation & Evaluation Conclusions Conclusions Other Current/Future Work Other Current/Future Work

33Implementation Framework is a Java package on top of SM platform Framework is a Java package on top of SM platform –Implemented TJam prototype over this framework –Works for one-request/multiple-replies service model SM platform SM platform –Modified version of Sun’s Java K Virtual Machine –Architectural components inside virtual machine, and API implemented as native methods –Tested on WiFi-equipped HP iPAQs running Linux

34 Implementation – Current Status Framework on top of portable SM platform Framework on top of portable SM platform Portable SM platform Portable SM platform –Works over unmodified Java VM –Architectural components & API implemented on top of Java VM –Migration state captured using bytecode instrumentation –Tested on Smart Phones running Symbian OS & Java CVM Nokia Communicator 9500 with WiFi 9500 with WiFi Ericsson P900 with Bluetooth

35Evaluation Experimental results for TJam over a small scale network Experimental results for TJam over a small scale network –Demonstrate feasibility Simulation results for TJam over large scale network Simulation results for TJam over large scale network –Comparison with a base-line centralized approach to demonstrate scalability and efficiency SM experimental results SM experimental results –Give idea about SM performance

36 SM Micro-Benchmark Results Cost of data serialization Cost of single hop migration Used 2 WiFi-equipped HP iPAQs running Linux

37 SM Simple Routing Algorithm Results Completion Time Routing algorithm Code not cached (ms) Code cached (ms) Geographic On-demand user node node of interest intermediate node WiFi-based ad hoc network of 8 HP iPAQs running Linux

38 TJam Constantly Executes in the User- Specified Region Ad hoc network of 11 HP iPAQs with WiFi cards & mobility traces Ad hoc network of 11 HP iPAQs with WiFi cards & mobility traces

39 TJam Simulations Comparison of Comparison of –TJam-Smart: migratory service –TJam-Base: baseline centralized approach ns-2 simulator with the CMU-wireless extensions and Micro-VTG, our microscopic traffic generator tool ns-2 simulator with the CMU-wireless extensions and Micro-VTG, our microscopic traffic generator tool b, 11Mb, transmission range 250m b, 11Mb, transmission range 250m Highway of length 25km with 3 lanes Highway of length 25km with 3 lanes 800 vehicles, 50 service nodes 800 vehicles, 50 service nodes

40 Response Time vs. Number of Clients Vehicles average speed: 30m/s with an average gap of 150m Vehicles average speed: 30m/s with an average gap of 150m

41 Response Time vs. Average Speed Number of clients: 150 Number of clients: 150

42Conclusions Migratory Services enable context-aware distributed services in ad hoc networks Migratory Services enable context-aware distributed services in ad hoc networks Easy to develop and deploy new services in the network Easy to develop and deploy new services in the network Quick adaptation to highly volatile networks Quick adaptation to highly volatile networks Experimental and simulation results demonstrate the feasibility, scalability, and efficiency Experimental and simulation results demonstrate the feasibility, scalability, and efficiency

43Outline Motivation Motivation Context-Aware Migratory Services Context-Aware Migratory Services Migratory Services Framework Migratory Services Framework Implementation & Evaluation Implementation & Evaluation Conclusions Conclusions Other Current/Future Work Other Current/Future Work

44 TrafficView: Real-time view of the traffic ahead of your car far beyond what you can see Design vehicular network architecture and build prototype for distributed vehicular computing Design vehicular network architecture and build prototype for distributed vehicular computing Sponsored by NSF, collaboration with Rutgers University Sponsored by NSF, collaboration with Rutgers University INVENT: INter-VEhicular Network Technologies

45 SmartCampus: Ubiquitous Social Computing Middleware & Applications Build a location-aware mobile community test-bed of 100s of nodes carried by NJIT students everywhere Build a location-aware mobile community test-bed of 100s of nodes carried by NJIT students everywhere Sponsored by NSF, joint work with IS & ECE departments at NJIT Sponsored by NSF, joint work with IS & ECE departments at NJIT CampusMesh application leverages users’ geo-temporal data for: CampusMesh application leverages users’ geo-temporal data for: –Social matching recommendations –Location aware alerts and reminders –Real time group coordination KJam Smart Phone System Architecture

46 What’s Next for Ubiquitous Computing? A significant amount of system research is required to make it reality A significant amount of system research is required to make it reality –Crossroad between networking, operating systems, embedded systems, computer vision, etc. –Build prototypes and test them in real-life settings –Define metrics and benchmarks Inter-disciplinary research is the key to success Inter-disciplinary research is the key to success –Applications will span non-traditional computing domains (e.g., transportation, healthcare, homeland security) –Collaborations with civil engineering, cognitive sciences, biology, nursing, etc.

47 Acknowledgments The Migratory Services project is joint work with: The Migratory Services project is joint work with: –Oriana Riva (University of Helsinki) –Tamer Nadeem (Siemens Research) –Liviu Iftode (Rutgers University) This work is sponsored in part by the NSF grants CNS , CNS , and IIS This work is sponsored in part by the NSF grants CNS , CNS , and IIS

48 Thank you!