turning ad hoc networks into distributed service providers cristian borcea department of computer...
Post on 15-Jan-2016
216 views
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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)
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
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);}
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
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)
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
4848
Thank you!Thank you!
http://www.cs.njit.edu/~borcea/http://www.cs.njit.edu/~borcea/