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

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

  • View
    218

  • Download
    2

Embed Size (px)

Citation preview

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

Turning Ad Hoc Networks into Turning Ad Hoc Networks into Distributed Service ProvidersDistributed Service Providers

Cristian BorceaCristian BorceaDepartment of Computer ScienceDepartment of Computer Science

New Jersey Institute of TechnologyNew Jersey Institute of Technology

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

22

Ubiquitous Computing EnvironmentsUbiquitous Computing Environments

Wireless systems embedded everywhereWireless systems embedded everywhere Large scale ad hoc networks will soon become realityLarge scale ad hoc networks will soon become reality

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

33

Ad Hoc Networks as Data CarriersAd Hoc Networks as Data Carriers

Traditionally, ad hoc networks used toTraditionally, ad hoc networks used to– Connect a mobile system (e.g., laptop, PDA) to the InternetConnect a mobile system (e.g., laptop, PDA) to the Internet

– Exchange data between mobile systemsExchange data between mobile systems

InternetInternet InternetInternet

Read email, browse the webRead email, browse the web File transfersFile transfers

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

44

Ad Hoc Networks as Distributed Ad Hoc Networks as Distributed Service ProvidersService Providers

New class of services deployed in ad hoc networksNew class of services deployed in ad hoc networks– Acquire, process, disseminate real-time information from the Acquire, process, disseminate real-time information from the

proximity of geographical regions, entities, or activities of interestproximity of geographical regions, entities, or activities of interest

– Computation is context-awareComputation is context-aware

– Many times, interact for longer period of time with clientsMany times, interact for longer period of time with clients

C

Entity Entity tracking tracking

P

CLARK ST

LAKE ST

EL

MW

OO

D A

VE

MA

PL

E A

VE

RID

GE

AV

E

DAVIS ST

COLLEGE ST

OLD TOWN

P

BURNSIDE ST

P

GROVE ST

OA

K A

V P

P

CHURCH ST

C

Parking Parking spot finderspot finder

C

Traffic jamTraffic jampredictorpredictor

C

ServiceService

ClientClient

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

55

Problems with TCP/IP Client-Server Problems with TCP/IP Client-Server Model in Ad Hoc NetworksModel in Ad Hoc Networks

No support for context-awarenessNo support for context-awareness– When service stops satisfying context requirements, only When service stops satisfying context requirements, only

solution is to discover new servicesolution is to discover new service

Not always possible to find new serviceNot always possible to find new service

Overhead due to service discoveryOverhead due to service discovery

The state of the old service is lostThe state of the old service is lost

No support for dynamic binding of names to IP No support for dynamic binding of names to IP

addresses addresses – Difficult to ensure that name resolution ends up with new Difficult to ensure that name resolution ends up with new

service when necessaryservice when necessary

No support for dynamic service deploymentNo support for dynamic service deployment– Cannot guarantee that a node satisfying all context Cannot guarantee that a node satisfying all context

requirements has the necessary servicerequirements has the necessary service

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

66

Traffic Jam Predictor ServiceTraffic Jam Predictor Service

C

Problem: service responses are semantically Problem: service responses are semantically incorrect if the car hosting the service moves out of incorrect if the car hosting the service moves out of the regionthe region

Solution: discover a new service running on a node Solution: discover a new service running on a node satisfying the context requirementssatisfying the context requirements

C

ServiceService

ClientClient

Region ofRegion ofinterestinterest

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

77

Entity Tracking ServiceEntity Tracking Service

Problem: service cannot satisfy the request when Problem: service cannot satisfy the request when entity is out of the “range” of camera entity is out of the “range” of camera

Solution: discover new service & transfer the Solution: discover new service & transfer the execution state of the old serviceexecution state of the old service

C

C

ServiceService

ClientClient

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

88

Parking Spot Finder ServiceParking Spot Finder Service

P

CLARK ST

LAKE ST

EL

MW

OO

D A

VE

MA

PL

E A

VE

RID

GE

AV

E

DAVIS ST

COLLEGE ST

OLD TOWN

P

BURNSIDE ST

P

GROVE ST

OA

K A

V P

P

CHURCH ST

C

Problem: service needs to run on a mobile node in the Problem: service needs to run on a mobile node in the proximity of parking meters in the region of interestproximity of parking meters in the region of interest

Solution: discover nodes in this region and potentially Solution: discover nodes in this region and potentially transfer service code on these nodestransfer service code on these nodes

C

ServiceService

ClientClient

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

99

Requirements for New Service Requirements for New Service Model in Ad Hoc NetworksModel in Ad Hoc Networks

Context adaptabilityContext adaptability: service always executes on : service always executes on

nodes that satisfy context requirementsnodes that satisfy context requirements– Dynamic context monitoring and evaluationDynamic context monitoring and evaluation

– Discovery of new nodes satisfying context requirementsDiscovery of new nodes satisfying context requirements

Service continuityService continuity: client sees continuous interaction : client sees continuous interaction

with servicewith service– Transparent service name re-bindingTransparent service name re-binding

– Service execution state transferService execution state transfer

On-demand code distributionOn-demand code distribution: service code can be : service code can be

dynamically transferred to nodesdynamically transferred to nodes

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

1010

OutlineOutline

MotivationMotivation

Context-Aware Migratory ServicesContext-Aware Migratory Services

Migratory Services FrameworkMigratory Services Framework

Implementation & EvaluationImplementation & Evaluation

ConclusionsConclusions

Other Current/Future WorkOther Current/Future Work

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

1111

Virtual serviceVirtual serviceend-pointend-point

Migratory Service ModelMigratory Service Model

ClientClient

nn11

CC

nn22

nn33

Context Change! (e.g., nContext Change! (e.g., n22 moves out of the region of interest) moves out of the region of interest)MS cannot accomplish its task on nMS cannot accomplish its task on n22 any longer any longer

ServiceServiceMigrationMigration

MSMSStateState MigratoryMigratory

ServiceService

MSMSStateState

MigratoryMigratory ServiceService

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

1212

Migratory Service Model (Cont’d)Migratory Service Model (Cont’d)

ClientClient

nn11

CC

nn22

MSMSStateState MigratoryMigratory

ServiceService

Meta-serviceMeta-service

nn44

MM

Create Create Migratory ServiceMigratory Service

MSMSStateState MigratoryMigratory

ServiceService One-to-one mapping between One-to-one mapping between

clients and migratory clients and migratory servicesservices

ServiceServiceMigrationMigration

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

1313

Key Ideas of Migratory Services ModelKey Ideas of Migratory Services Model

Services migrate to nodes where they can Services migrate to nodes where they can

accomplish their tasksaccomplish their tasks– Present single virtual end-point to clientsPresent single virtual end-point to clients

– One-to-one mapping between clients and servicesOne-to-one mapping between clients and services

– Carry execution state across migrationsCarry execution state across migrations

– Transfer their code if necessaryTransfer their code if necessary

Service migration Service migration – Triggered by context changesTriggered by context changes

– Regulated through context rulesRegulated through context rules

– Transparent to clientsTransparent to clients

– Typically multi-hopTypically multi-hop

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

1414

OutlineOutline

MotivationMotivation

Context-Aware Migratory ServicesContext-Aware Migratory Services

Migratory Services FrameworkMigratory Services Framework

Implementation & EvaluationImplementation & Evaluation

ConclusionsConclusions

Other Current/Future WorkOther Current/Future Work

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

1515

Migratory Services Framework at Migratory Services Framework at NodesNodes

Context Manager

Validator Communication

Manager

Smart Messages Platform

Operating System/ Wireless Communication / Sensors

MonitoredCxt

Client Application/Service

Reliability Manager

InCxtRules

OutCxtRules

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

1616

Framework’s TasksFramework’s Tasks

Provide Provide send/receive APIsend/receive API for service programmers for service programmers

Translate Migratory Services into lower-level Smart Translate Migratory Services into lower-level Smart

Messages Messages

Enforce specification of context parameters and Enforce specification of context parameters and

context rules by all programscontext rules by all programs

Ensure service fault-toleranceEnsure service fault-tolerance

Use naming, routing, and security offered by Smart Use naming, routing, and security offered by Smart

Messages platformMessages platform

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

1717

Migratory Services FrameworkMigratory Services Framework

Context Manager

Validator Communication

Manager

Smart Messages Platform

Operating System/ Wireless Communication / Sensors

MonitoredCxt

Client Application/Service

Reliability Manager

InCxtRules

OutCxtRules

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

1818

Smart Messages (SM)Smart Messages (SM)

Distributed programs executing sequentially on Distributed programs executing sequentially on

nodes of interest named by propertiesnodes of interest named by properties

Migrate between nodes of interestMigrate between nodes of interest

Self-route at every node in the path during Self-route at every node in the path during

migrationsmigrations

Composed of:Composed of:

– Code bricks (e.g., Java class files)Code bricks (e.g., Java class files)

– Data bricks (e.g., Java objects)Data bricks (e.g., Java objects)

– Execution control state (e.g., instruction pointer, operand Execution control state (e.g., instruction pointer, operand

stack pointer)stack pointer)

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

1919

SM Node ArchitectureSM Node Architecture

NetworkNetwork

SMSMPlatformPlatform

AdmissionAdmissionManagerManagerAdmissionAdmissionManagerManager

NetworkNetworkSMSM SMSM

Operating System & I/OOperating System & I/O

CodeCodeCacheCacheCodeCodeCacheCache

Virtual MachineVirtual MachineInterpreterInterpreter

Virtual MachineVirtual MachineInterpreterInterpreter

Tag Tag SpaceSpace

Tag Tag SpaceSpace

SM ReadySM ReadyQueueQueue

AuthorizationAuthorizationAuthorizationAuthorization

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

2020

Tag SpaceTag Space

Collection of application tags and I/O tagsCollection of application tags and I/O tags

Essentially, tags are Essentially, tags are (name, value)(name, value) pairs pairs

– Application tags: persistent memory across SM executionsApplication tags: persistent memory across SM executions

– I/O tags: access to operating system and I/O subsystemI/O tags: access to operating system and I/O subsystem

Tags used forTags used for

– Content-based naming Content-based naming migrate(tag)migrate(tag)

– Inter-SM communication Inter-SM communication write(tag, data), read(tag)write(tag, data), read(tag)

– Synchronization Synchronization block(tag, timeout)block(tag, timeout)

– I/O access I/O access read(temperature)read(temperature)

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

2121

SM MigrationSM Migration

migrate(Taxi)migrate(Taxi)

sys_migrate(2)sys_migrate(2) sys_migrate(3)sys_migrate(3) sys_migrate(4)sys_migrate(4)

TaxiTaxiTaxiTaxi

11 22 33 44 migrate()migrate()

– multi-hop content-based migration multi-hop content-based migration – migrates application to node of interest named by tagsmigrates application to node of interest named by tags– implements routing algorithm using tags and sys_migrateimplements routing algorithm using tags and sys_migrate

sys_migrate()sys_migrate()– one hop migrationone hop migration– captures SM state, transfers SM to next hop, resumes SM captures SM state, transfers SM to next hop, resumes SM

executionexecution

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

2222

NetworkNetwork

Routing ExampleRouting Example

11 22 ii

RouteToTaxi = RouteToTaxi = 22

TaxiTaxiRouteToTaxi = RouteToTaxi = ??RouteToTaxi = RouteToTaxi = jj

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);}

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

2323

Migratory Services FrameworkMigratory Services Framework

Context Manager

Validator Communication

Manager

Smart Messages Platform

Operating System/ Wireless Communication / Sensors

MonitoredCxt

Client Application/Service

Reliability Manager

InCxtRules

OutCxtRules

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

2424

Context ManagerContext Manager

Monitors context identifiers specified by programsMonitors context identifiers specified by programs

Translates context identifiers into SM tagsTranslates context identifiers into SM tags

Accesses context data by polling or blocking on Accesses context data by polling or blocking on

corresponding SM tagscorresponding SM tags

– Location, time, speed using GPSLocation, time, speed using GPS

– System status information (e.g., battery level, free memory)System status information (e.g., battery level, free memory)

– One-hop neighbors list (includes location & speed)One-hop neighbors list (includes location & speed)

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

2525

ValidatorValidator

Evaluates context rules specified by programsEvaluates context rules specified by programs IN IN context rules control incoming datacontext rules control incoming data

– Used for meta-services to accept/refuse requestsUsed for meta-services to accept/refuse requests

– Used for clients to accept/refuse responsesUsed for clients to accept/refuse responses If response refused, update of client context sent to If response refused, update of client context sent to

migratory servicemigratory service

OUT OUT context rules control outgoing datacontext rules control outgoing data– Used for migratory services to decide whether to send a

response or not If not, service migration is triggered

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

2626

Context Rules SpecificationContext Rules Specification

Condition/action statementsCondition/action statements Conditions are full binary trees of Boolean Conditions are full binary trees of Boolean

expressionsexpressions– Example:Example: {OR {OR, , <batteryLevel, EQUAL, low><batteryLevel, EQUAL, low>, ,

<responseLocation, OUT_REGION, <responseLocation, OUT_REGION, userRegion>}userRegion>}

ActionsActions– Migrate serviceMigrate service

– Send client updateSend client update

– Accept/refuse requestAccept/refuse request

– Accept/refuse responseAccept/refuse response

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

2727

Communication ManagerCommunication Manager

Discovers meta-servicesDiscovers meta-services

Routes messages between end-pointsRoutes messages between end-points

Carries out service migrationCarries out service migration

Uses naming conventions defined by SM platformUses naming conventions defined by SM platform

Uses two basic SM routing algorithms:Uses two basic SM routing algorithms:– Geographical routing (similar to GPSR)Geographical routing (similar to GPSR)

– Region-bound content-based routing (similar to AODV)Region-bound content-based routing (similar to AODV)

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

2828

Reliability ManagerReliability Manager

Fault-tolerance to one failureFault-tolerance to one failure

Inactive version of the service Inactive version of the service

created after first migrationcreated after first migration

– Its state is periodically updated Its state is periodically updated

In case of failure of the active In case of failure of the active

version, the inactive version version, the inactive version

takes overtakes over

ResponseResponseResponseResponse

UpdateUpdate

UpdateUpdate

UpdateUpdate

ResponseResponseResponseResponseResponseResponseResponseResponse

ActiveActiveServiceService

InactiveInactiveServiceService

ClientClient

TimeoutTimeout

RequestRequest

ResponseResponseDeleteDelete

ResponseResponse

ResponseResponse

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

2929

Migratory Services FrameworkMigratory Services Framework

Context Manager

Validator Communication

Manager

Smart Messages Platform

Operating System/ Wireless Communication / Sensors

MonitoredCxt

Client Application/Service

Reliability Manager

InCxtRules

OutCxtRules

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

3030

TJam: Migratory Service ExampleTJam: Migratory Service Example

Predicts traffic jams in real-timePredicts traffic jams in real-time– The request specifies region of interestThe request specifies region of interest

– Service migrates to ensure it stays in this region Service migrates to ensure it stays in this region

– Uses history (service execution state) to improve predictionUses 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 carsNumber of one-hop neighboring cars

– Speed of one-hop neighboring carsSpeed of one-hop neighboring cars

num numnumber number

num num

speed speedspeed speed

speed speed

tjam number speed

jamtjam tjam

total

avg -minP = maxP ×

max -minavg -max

P = maxP ×min -max

P' = ×P +(1- )×P

NP = P' ×

N

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

3131

TJam Pseudo-CodeTJam Pseudo-Code

monitoredCtxmonitoredCtx = {location, speed} = {location, speed}inCtxRule inCtxRule = {<responseLocation, OUT_REGION, region>, = {<responseLocation, OUT_REGION, region>,

rejectResponse && sendUpdate}rejectResponse && sendUpdate}serviceParameters = {region, frequency}serviceParameters = {region, frequency}request = {clientName, serviceParameters}request = {clientName, serviceParameters}sendsend(TJam, request);(TJam, request);while (NOT_DONE)while (NOT_DONE)

response = response = receivereceive(msName)(msName)

monitoredCtxmonitoredCtx = {location, speed, region} = {location, speed, region}outCtxRule outCtxRule = {<location, OUT_REGION, region>, = {<location, OUT_REGION, region>,

migrateService}migrateService}while (NOT_DONE)while (NOT_DONE)

response = computeResponse();response = computeResponse();sendsend(clientName, response)(clientName, response)

ClientClient

MigratoryMigratoryServiceService

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

3232

OutlineOutline

MotivationMotivation

Context-Aware Migratory ServicesContext-Aware Migratory Services

Migratory Services FrameworkMigratory Services Framework

Implementation & EvaluationImplementation & Evaluation

ConclusionsConclusions

Other Current/Future WorkOther Current/Future Work

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

3333

ImplementationImplementation

Framework is a Java package on top of SM platformFramework is a Java package on top of SM platform– Implemented TJam prototype over this frameworkImplemented TJam prototype over this framework

– Works for one-request/multiple-replies service modelWorks for one-request/multiple-replies service model

SM platformSM platform– Modified version of Sun’s Java K Virtual MachineModified version of Sun’s Java K Virtual Machine

– Architectural components inside virtual machine, and API Architectural components inside virtual machine, and API implemented as native methodsimplemented as native methods

– Tested on WiFi-equipped HP iPAQs running LinuxTested on WiFi-equipped HP iPAQs running Linux

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

3434

Implementation – Current StatusImplementation – Current Status

Framework on top of portable SM platformFramework on top of portable SM platform

Portable SM platformPortable SM platform– Works over unmodified Java VMWorks over unmodified Java VM

– Architectural components & API implemented on top of Java VMArchitectural components & API implemented on top of Java VM

– Migration state captured using bytecode instrumentationMigration state captured using bytecode instrumentation

– Tested on Smart Phones running Symbian OS & Java CVMTested on Smart Phones running Symbian OS & Java CVM

Nokia Nokia CommunicatorCommunicator 9500 with WiFi9500 with WiFi

Ericsson P900 Ericsson P900 with Bluetoothwith Bluetooth

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

3535

EvaluationEvaluation

Experimental results for TJam over a small scale Experimental results for TJam over a small scale

networknetwork– Demonstrate feasibilityDemonstrate feasibility

Simulation results for TJam over large scale networkSimulation results for TJam over large scale network– Comparison with a base-line centralized approach to Comparison with a base-line centralized approach to

demonstrate scalability and efficiencydemonstrate scalability and efficiency SM experimental resultsSM experimental results

– Give idea about SM performanceGive idea about SM performance

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

3636

SM Micro-Benchmark ResultsSM Micro-Benchmark Results

0

1

2

3

4

5

6

7

2 4 8 16Size (KBytes)

Tm

e (m

s)

Java object arrayJava int array

Cost of data serializationCost of data serialization

0

5

10

15

20

25

30

1224 2236 4294 8383Code Size (Bytes)

Tim

e (m

s)

Code Uncached

Code Cached

Cost of single hop migrationCost of single hop migration

Used 2 WiFi-equipped HP iPAQs running LinuxUsed 2 WiFi-equipped HP iPAQs running Linux

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

3737

SM Simple Routing Algorithm SM Simple Routing Algorithm ResultsResults

Completion TimeCompletion Time

Routing algorithmRouting algorithmCode not cached (ms)Code not cached (ms)Code cached (ms)Code cached (ms)

GeographicGeographic

On-demandOn-demand

415.6415.6 126.6126.6

506.6506.6 314.7314.7

user nodeuser nodenode of interestnode of interestintermediate nodeintermediate node

WiFi-based ad hoc network of 8 HP iPAQs running LinuxWiFi-based ad hoc network of 8 HP iPAQs running Linux

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

3838

TJam Constantly Executes in the TJam Constantly Executes in the User-Specified RegionUser-Specified Region

0

400

800

1200

1600

2000

2400

2800

3200

3600

0 50 100 150 200 250 300 350 400

time (sec)

Loca

tion

(m)

user location

service location/correct answer

service location/wrong answer

updates

user range

Ad hoc network of 11 HP iPAQs with WiFi cards & Ad hoc network of 11 HP iPAQs with WiFi cards &

mobility tracesmobility traces

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

3939

TJam SimulationsTJam Simulations

Comparison ofComparison of

– TJam-SmartTJam-Smart: migratory service: migratory service

– TJam-BaseTJam-Base: baseline centralized approach: baseline centralized approach

ns-2 simulator with the CMU-wireless extensions and ns-2 simulator with the CMU-wireless extensions and

Micro-VTG, our microscopic traffic generator toolMicro-VTG, our microscopic traffic generator tool

802.11b, 11Mb, transmission range 250m802.11b, 11Mb, transmission range 250m

Highway of length 25km with 3 lanesHighway of length 25km with 3 lanes

800 vehicles, 50 service nodes800 vehicles, 50 service nodes

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

4040

Response Time vs. Number of ClientsResponse Time vs. Number of Clients

0

0,01

0,02

0,03

0,04

0,05

0,06

0,07

50 100 150 200 250 300

Clients number

Co

rre

ct r

esp

on

se

ge

ne

ratio

n ti

me

(se

c)

0

0,5

1

1,5

2

2,5

3

3,5

Inte

r-re

spo

nse

tim

e (

sec)

Correct response generation time (Smart) Correct response generation time (Base)

Inter-response time (Smart) Inter-response time (Base)

Vehicles average speed: 30m/s with an average gap Vehicles average speed: 30m/s with an average gap of 150mof 150m

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

4141

Response Time vs. Average SpeedResponse Time vs. Average Speed

0

0,01

0,02

0,03

0,04

0,05

0,06

10 20 30

Vehicles speed (meter/sec)

Co

rre

ct r

esp

on

se

ge

ne

ratio

n ti

me

(se

c)

0

0,5

1

1,5

2

2,5

3

Inte

r-re

spo

nse

tim

e (

sec)

Correct response generation time (Smart) Correct response generation time (Base)

Inter-response time (Smart) Inter-response time (Base)

Number of clients: 150Number of clients: 150

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

4242

ConclusionsConclusions

Migratory Services enable context-aware distributed Migratory Services enable context-aware distributed

services in ad hoc networksservices in ad hoc networks

Easy to develop and deploy new services in the Easy to develop and deploy new services in the

networknetwork

Quick adaptation to highly volatile networksQuick adaptation to highly volatile networks

Experimental and simulation results demonstrate the Experimental and simulation results demonstrate the

feasibility, scalability, and efficiencyfeasibility, scalability, and efficiency

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

4343

OutlineOutline

MotivationMotivation

Context-Aware Migratory ServicesContext-Aware Migratory Services

Migratory Services FrameworkMigratory Services Framework

Implementation & EvaluationImplementation & Evaluation

ConclusionsConclusions

Other Current/Future WorkOther Current/Future Work

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

4444

TrafficView: Real-time view of TrafficView: Real-time view of

the traffic ahead of your car the traffic ahead of your car

far beyond what you can seefar beyond what you can see

Design vehicular network architecture and build prototype Design vehicular network architecture and build prototype

for distributed vehicular computingfor distributed vehicular computing Sponsored by NSF, collaboration with Rutgers University Sponsored by NSF, collaboration with Rutgers University

INVENT: INter-VEhicular Network INVENT: INter-VEhicular Network TechnologiesTechnologies

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

4545

SmartCampus: Ubiquitous Social SmartCampus: Ubiquitous Social Computing Middleware & Computing Middleware &

ApplicationsApplications Build a location-aware mobile community test-bed of Build a location-aware mobile community test-bed of

100s of nodes carried by NJIT students everywhere100s of nodes carried by NJIT students everywhere Sponsored by NSF, joint work with IS & ECE Sponsored by NSF, joint work with IS & ECE

departments at NJITdepartments at NJIT

CampusMesh application leverages CampusMesh application leverages users’ geo-temporal data for:users’ geo-temporal data for:– Social matching recommendationsSocial matching recommendations– Location aware alerts and remindersLocation aware alerts and reminders– Real time group coordinationReal time group coordination

KJam Smart KJam Smart PhonePhone

System ArchitectureSystem Architecture

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

4646

What’s Next for Ubiquitous What’s Next for Ubiquitous Computing?Computing?

A significant amount of system research is required to A significant amount of system research is required to

make it realitymake it reality

– Crossroad between networking, operating systems, embedded Crossroad between networking, operating systems, embedded

systems, computer vision, etc.systems, computer vision, etc.

– Build prototypes and test them in real-life settingsBuild prototypes and test them in real-life settings

– Define metrics and benchmarksDefine metrics and benchmarks

Inter-disciplinary research is the key to successInter-disciplinary research is the key to success

– Applications will span non-traditional computing domains (e.g., Applications will span non-traditional computing domains (e.g.,

transportation, healthcare, homeland security)transportation, healthcare, homeland security)

– Collaborations with civil engineering, cognitive sciences, Collaborations with civil engineering, cognitive sciences,

biology, nursing, etc.biology, nursing, etc.

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

4747

AcknowledgmentsAcknowledgments

The Migratory Services project is joint work with:The Migratory Services project is joint work with:

– Oriana Riva (University of Helsinki)Oriana Riva (University of Helsinki)

– Tamer Nadeem (Siemens Research)Tamer Nadeem (Siemens Research)

– Liviu Iftode (Rutgers University)Liviu Iftode (Rutgers University) This work is sponsored in part by the NSF grants This work is sponsored in part by the NSF grants

CNS-0520033, CNS-0454081CNS-0520033, CNS-0454081,, and IIS-0534520 and IIS-0534520

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

4848

Thank you!Thank you!

http://www.cs.njit.edu/~borcea/http://www.cs.njit.edu/~borcea/