Dipanjan Chakraborty
Anupam Joshi
CSEEUniversity of
Maryland Baltimore County
Anamika:
Distributed Service Discovery and Composition Architecture for Pervasive
Environments
Printing to the Nearest Printer
Wireless Sync between PDAs
Composition of Multiple Services
Wireless Office
Discover and Compose Information from robots on the fly
Service
• “Service”– Hardware or software entity residing on any device or
platform• Has distinct functional description
• Can be utilized by other services/clients
Service
I am Wireless LAN enabled!!Blender!!
I have GPS service!!
Do you have MP3 songs?
Service Discovery
I am looking fora printer!!
Are you a Toaster ??
MANET
MANET
MANET
MANET
MANET
MANET
MANETMANET
MANETMANET
MANETMANET
MANETMANET
MANETMANET
MANETMANET
MANETMANET
MANETMANET
Issues of Discovery and Composition in Ad hoc Environments
• Service Discovery needs to be distributed– Network-wide reachability– Efficient utilization of underlying network bandwidth
• Composition needs to be done in a de-centralized manner
• Fault tolerance and graceful recovery
• Solution should efficiently utilize node/service topology
General Architecture
Network Layer (DSDV/AODV/CSGR, GSR)
Service IntegrationLayer
Application Layer
Broker Arbitration and Delegation
Service ExecutionLayer
Fault Recovery Module
Service Discovery Layer (GSD)
Planner
Group-Based Service Discovery (GSD)
• GSD= Group-based Service Discovery
• Peer-to-peer caching of service advertisements– No global advertisements– No global request broadcast
• Describe services semantically in DARPA Agent Markup Language (DAML)– Enhance service matching mechanism based on
semantic description
GSD Protocol Summary• Class/subClass hierarchy of DAML used to classify
services to different groups based on functionality• Intelligently forward requests to appropriate nodes
– Prevent request flooding• Efficient in terms of bandwidth usage and discovering a
service in a MANET
Request Routing in GSD
S1 (G1)
S4,G1,G2,G3
N4: S1 (G1)
N1: S4
N5: S2 (G2)
N3: S3 (G3)
N2
Source
Advertisement
Service Request
N6: S6 (G2)
Combining Routing with Discovery
• Service Invocation requires data streaming– Usually underlying ad hoc routing protocol (AODV,
DSR, TORA etc) used
• Disadvantages of using standard routing protocols– Repeats a few steps performed during discovery– Node-address centric packet delivery– Routing Layer is not service-aware
Advantages of Integrating Routing with Discovery
• Reduced network load– Steps performed during routing is combined with
discovery
• Usage of available routes (formed during discovery) to stream service data
• Service-based route redirection
• Resilience to node failure
Features of Integrated Discovery and Routing Protocol (GSR)
• Uses path traversed by a service request and a service advertisement to form a data path– Data path used to stream service data
• Service-based route redirection in case of service/node failure
• End-to-end state-based session maintenance – Handles node and link failure– Session-based packet buffering and retransmission
upon session reconnection
Service Composition Techniques
• “Request Processor” uses DAML-S to model Composition Knowledge
• Dynamic Broker Selection Technique– No assumption about the platform of the broker/central
entity– Broker Arbitration and Delegation
• Source of the request starts a process which decides the broker platform
– Parameters based on current processor usage, memory capability, longevity, services available in its vicinity etc
Dynamic Broker Selection Technique (contd.)– Broker discovers *all* the required services– Fault tolerance
• Source-monitored fault-tolerance– Assumption: Source remains ‘alive’ all the time
• Periodic ‘checkpoints’ being sent to the source
• Source issues a new composition request in case of failure
Service Composition Techniques• Distributed Brokering Technique
– Broker Arbitration and Delegation• Requester is responsible to determine the ‘first’ broker
– Parameters to select a broker are similar to the ‘dynamic Broker selection’ mechanism
» More emphasis on services that are needed ‘immediately’
– ‘first’ broker not responsible for the whole composition
• Composes only ‘as much’ as it can• ‘radius’ of composition is small
– ‘first’ broker selects another broker when it has completed the ‘partial’ composition
Distributed Brokering Technique (contd.)– Fault Recovery
• Similar to the one used in ‘dynamic entity selection’ mechanism
– Each broker keeps the client informed about the partial state of composition and execution
– Client issues a new composition request with the subset that is remaining
Practical Implementation
• proof-of-concept level implementation using Bluetooth – IBM Bluedrekar driver – Ericsson Development Kits
• Laptops (Dell, IBM T series) used for hosting services
Anamika: Network Manager
• Communication between Bluetooth peers done over RFCOMM
• Connect-transmit-disconnect mode of operation
• Segmentation and reassembly of Anamika messages
Anamika: Service Discovery
• Peer-to-peer service discovery (Group-based Service Discovery)
• Dynamic caching of discovered services in peers
• Semantic description based service matching (using DAML-S and DReggie Ontology)
• Service Discovery also provides invocation information
Group-based Service Discovery Results
• Simulation carried in Glomosim simulator
• 25 to 100 nodes
• Movement pattern=random way-point– A(b,c) => pause for A seconds and then move to the
next location with speed varying from b to c m/s
• Radio Range of each node=31 meters
Group-based Service Discovery Results
• Simulation carried in Glomosim simulator
• 25 to 100 nodes
• Movement pattern=random way-point
• Radio Range of each node=31 meters
Increase in Nodes Receiving Advertisements with Increase in Adv. Diameter
0
10
20
30
40
50
60
1 2 3 4 5 6 7 8
Advertisement Diameter
Av
era
ge
Nu
mb
er
of
No
de
s R
ec
eiv
ing
Ad
ve
rtis
em
en
ts
Nodes=25,Radio Range=40m
Nodes=100, Radio Range=40m
Nodes=900, Radio Range=40m
Explanation
• In static topology– Number of nodes receiving advertisements increase
quadratically with adv. Radius
• In mobile topology increase in number of nodes receiving advertisements is approximately linear– Significantly affects the scalability– Important result for mobile application architecture
development
Message Statistics comparing GSD with Broadcast
Static Topology
0
10
20
30
40
50
60
1 2 3 4
Advertisement Diameter
Avg
. Nu
mb
er o
f M
essa
ges Avg. Number of Broadcasts per Node (GSD)
Avg. Number of Selective Forwards per Node(GSD)Avg. Number of Requests processed per Node(GSD)Avg. Number of Broadcasts per Node (SBS)
Avg. Number of Requests processed per Node(SBS)
Mobility=30(1,4)
0
10
20
30
40
50
60
70
80
1 2 3 4
Advertisement Diameter
Avg
. N
um
ber
of
Mes
sag
es
Avg. Number of Selective Forwards per Node (SBS)
Avg. Number of Requests processed per Node(GSD)Avg. Number of Broadcasts per Node (SBS)
Avg. Number of Requests processed per Node(SBS)
Message Statistics comparing GSD with Broadcast
Message Statistics comparing GSD with Broadcast
Mobility=3(1,4)
0
10
20
30
40
50
60
70
80
1 2 3 4
Advertisement Diameter
Av
g. N
um
be
r o
f M
es
sa
ge
s
Avg. Selective Forwardings per Node in GSD
Avg. Requests processed per Node in GSD
Avg. Number of Broadcasts per Node in SBS
Avg. Requests processed per Node in SBS
Explanation
• Average number of messages exchanged is lower in GSD
• Mobility affects the number of messages but GSD in general performs better
• Broadcasts are very much reduced in GSD leading to the improvement in the total traffic
More GSD Results
Effect of Advertisement Diameter on Request Diameter
0
1
2
3
4
5
6
7
1 2 3 4 5 6
Advertisement Diameter
Avg
. R
equ
est
Dia
met
er
Avg. Request Diameter
GSD Results
Group-based Selective Forwarding vs. Broadcasting w.r.t No. of Requests (Static Topology)
0
10
20
30
40
50
60
1 2 3 4
Number of Advertisement Hops
Av
g. S
erv
ice
Re
qu
es
ts P
roc
es
se
d b
y a
No
de
Broadcasting Requests to all Neighbors
Selective Service group-based Forwarding
GSD Results
Group-based Selective Forwarding vs. Broadcasting w.r.t No. of Requests (Mobility=30(1,4))
0
10
20
30
40
50
60
70
80
1 2 3 4
Advertisement Diameter
Avg
. N
o.
of
Req
ues
ts P
roce
ssed
/N
od
e
AbsoluteForwarding ofRequestsGroup-basedSelectiveForwarding
GSD ResultsGroup-based Selective Forwarding vs. Broadcasting w.r.t No. of Requests (Mobility=3(1,4))
0
10
20
30
40
50
60
70
80
1 2 3 4
Advertisement Diameter
Av
g. N
o. o
f B
roa
dc
as
ts p
er
No
de
Complete Broadcasting
Group-based Selective Forwarding
Group-based Service Routing (GSR) Results
• Comparison with AODV – GSD used for service discovery– AODV used for data transmission (refered to as
GSD+AODV)– Benefits of end-to-end session studied
• Simulation on Glomosim
Avg. Packet Delivery Ratio
Avg. Packet Delay
Observations
• Packet Delivery Rate is very high for session-based service routing
• GSR (without session) performs better than AODV in general
• Packet Delay is more in GSR-S (GSR with session) – Due to buffering and retransmission
Avg. Packet Hop Count
Avg. Response Time for Discovery Requests
Avg. Response Hops Comparison
Composition Results
Effect of Response Time on Number of Services needed for a Composite Process
0
5
10
15
20
25
30
35
40
45
1 2 3 4 5
Number of Services
Ave
rag
e R
esp
on
se T
ime
(Sec
on
ds)
Average Response Time to Discover allservices
Observations
• AODV has more packet hop count than GSR/GSR-S
• Response Time for Request is low in GSR-S when compared to GSD+AODV– Mainly because GSR-S does not have the overhead of
route discovery
• In Composition, execution time increases with increasing number of services– However, the increase is very slow
Future Work
• Simulation of the whole composition architecture
• Implementation of a pro-active service discovery and composition architecture
• Mathematical modeling of the discovery and composition process