Title: A Multiprotocol Framework for Adhoc Service Discovery
1A Multi-protocol Framework for Ad-hoc Service
Discovery
MPAC 2006
- Carlos Flores, Gordon Blair, Paul Grace
- c.florescortes, gordon, gracep_at_comp.lancs.ac.uk
- 28th November 2006
2Agenda
- Motivation
- Research Goal
- Ad-hoc Service Discovery Protocols Architecture
- Ad-hoc Service Discovery Framework
- Future Work
- Conclusions
3Highly Heterogeneous Mobile Environments
Taxi (GSD) Taxi (SSD) Weather (ALLIA) Traffic
(GSD) Tourism (SLP-B)
- Middleware platforms should have the following
requirements - Discover services irrespectively of the
discovery platform used. - Discover services in diverse mobile scenarios
and environmental conditions. - Provide efficient mechanisms to interact with
different SDPs simultaneously (i.e.
configurability, dynamic re-configurability) - Discover services featuring low performance
overhead in terms of resource usage of the
device, and network bandwidth consumption.
W E A T H E R
TRAFFIC
TOURISM
4Research Goal
- Development of a configurable and dynamically
reconfigurable multi-personality discovery
middleware for operation in both nomadic and
MANET style operation. - Common Interaction Pattern
- Ad-hoc Service Discovery Protocols.
- A component framework approach for the
development of a configurable and dynamically
reconfigurable multi-personality discovery
middleware.
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
5Ad-Hoc SDPs Architecture
- Agents
- User Agent
- Performs service discovery on behalf of the
clients. - Service Agent
- Represents and advertise services.
- Directory Agent
- Collects service advertisements and matches
incoming requests against collected service
descriptions. - Architecture
- Directory-based (Centralized)
- Directory-less (Distributed)
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
6Ad-Hoc SDPs ArchitectureDirectory-based
Architecture Interaction Pattern
1.- DAs advertise its presence (multicast)
2.- SAs register their services (unicast)
3.- DAs manage service advertisement
4.- UAs request a service (unicast)
5.- DAs match requested service description
6.- DAs send service reply (unicast)
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
7Ad-Hoc SDPs ArchitectureDirectory-less
Architecture, Interaction Pattern
1.- SAs advertise their services (multicast)
2.- DAs store service advertisements
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
8Ad-Hoc SDPs ArchitectureAgents Tasks
TASK
Directory-based
Directory-less
Advertise its presence
x
Manages service advertisements
x
x
Service description matching
x
x
DA
Generates service replies
x
x
x
Multicast
Unicast
x
x
x
x
Advertise its services
SA
Multicast
x
Unicast
x
Send service requests
x
x
Listen service replies
x
x
UA
Local
x
x
Multicast
x
x
Unicast
x
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
9Ad-hoc Service Discovery FrameworkComponent
Framework Architecture
(Confiurability)
Policy
Cache
Advertiser
- Stores local service descriptions in cache.
- Generates service advertisements.
- Manages protocol control messages.
- Stores service advertisements and protocol
messages in cache.
- Manages cache entries.
- Add.
- Replace.
- Update.
- Remove.
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
10Ad-hoc Service Discovery FrameworkComponent
Framework Architecture
Request
Reply
Network
- IP Unicast routing.
- IP Multicast routing.
- Bordercast routing
- Ad-hoc routing
- Sends service replies
- Notifies applications of received replies
- Generates service requests.
- Processes incoming requests (matching).
- Forwards service requests.
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
11Ad-hoc Service Discovery FrameworkService Agent
Configuration
(Re-configurability)
Advertiser
Policy
Network
Cache
TASK
Directory-based
Directory-less
Advertise its services
x
x
SA
Multicast
x
Unicast
x
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
12Ad-hoc Service Discovery FrameworkUser Agent
Configuration
(Re-configurability)
Policy
Network
Request
Cache
Reply
TASK
Directory-based
Directory-less
Send service requests
x
x
Listen service replies
x
x
UA
Local
x
x
x
x
Multicast
Unicast
x
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
13Service Discovery FrameworkDirectory Agent
Configuration
TASK
Directory-based
Directory-less
Advertise its presence
x
Manages service advertisements
x
x
Service description matching
x
x
DA
Generates service replies
x
x
x
Multicast
Unicast
x
x
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
14Ad-hoc Service Discovery FrameworkMulti-protocol
Support
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
15Ad-hoc Service Discovery FrameworkImplementation
- PROTOCOLS
- Group Service Discovery (GSD)
- A novel group-based service discovery protocol
for manets - Dipanjan Chakraborty, Anupam Joshi, Yelena Yesha,
Tim Finin - University of Maryland, Baltimore County
- Scalable Service Discovery (SSD)
- Scalable service discovery for MANET
- Francoise Sailhan, Valérie Issarny
- INRIA-Rocquencourt, France
- Alliance Based Service Discovery (ALLIA)
- Allia Alliance-based service discovery for
ad-hoc environments - Olga Ratsimor, Dipanjan Chakraborty, Anupam
Joshi, Timothy Finin - Univeristy of Maryland, Baltimore County
- SLP-Based Service Discovery (SLP-B)
- SLP-based service management for dynamic ad-hoc
networks - Stefan Penz
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
16Ad-hoc Service Discovery FrameworkImplementation
Policy
Once
Cache
Once
Advertisement
Individual
Request
Individual
Reply
Individual
Network
Once
Advertisement
- Stores local service descriptions in cache.
- Generates service advertisements.
- Manages protocol control messages.
- Stores service advertisements and protocol
messages in cache.
- Heterogeneous service description languages
- Heterogeneous messages types and structure
- Directory presence advertisements
- Directory election advertisements (SSD)
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
17Ad-hoc Service Discovery FrameworkImplementation
Policy
Once
Cache
Once
Advertisement
Individual
Request
Individual
Reply
Individual
Network
Once
Request
- Service description matching
- Heterogeneous service descriptions
- Matching algorithms
- GSD
- Services are matched based on service groups
- SSD
- Services are also matched against others
directories summaries
- Generates service requests.
- Processes incoming requests (matching).
- Forwards service requests.
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
18Ad-hoc Service Discovery FrameworkImplementation
Policy
Once
Cache
Once
Advertisement
Individual
Request
Individual
Reply
Individual
Network
Once
Reply
- Execution of additional process
- Hit-rate statistics of successful service
requests - Use of a reverse-route table to forward replies
- Sends service replies
- Notifies applications of received replies
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
19Ad-hoc Service Discovery FrameworkEvaluation -
Configurability
SLPB-Advertiser
ALLIA-Advertiser
SSD-Advertiser
GSD-Advertiser
Policy
SLP-BRequest
Network
ALLIA-Request
SSD-Request
Cache
GSD-Request
- Simplified configuration
- Same component types
- Same connection bindings
- Same configuration
- algorithm
SLPB-Reply
ALLIA-Reply
SSD-Reply
GSD-Reply
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
20Ad-hoc Service Discovery FrameworkEvaluation -
Configurability
- FRAMEWORK CONFIGURATION
- ltConfigurationgt
- ltFrameworkgtServiceDiscoverylt/Frameworkgt
- ltComponentsgt
- ltComponentgt
- ltComponentNamegtAdvertiserlt/ComponentNa
megt -
- ltConnectionsgt
- ltConnectiongt
- ltNamegtAdvertiser_Networklt/Name
gt - ltSinkgtNetworklt/Sinkgt
- ltInterfacegtNetwork.INetworklt/I
nterfacegt - lt/Connectiongt
-
- ltConnectiongt
- ltNamegtAdvertiser_Cachelt/Namegt
- ltSinkgtCachelt/Sinkgt
- ltInterfacegtCache.ICAchelt/Inter
facegt
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
21Ad-hoc Service Discovery FrameworkEvaluation -
Configurability
- AGENT CONFIGURATION
- ltConfigurationgt
- ltFrameworkgtServiceAgentlt/Frameworkgt
- ltComponentsgt
- ltComponentgt
- ltComponentNamegtAdvertiserlt/ComponentNa
megt -
- ltConnectionsgt
- ltConnectiongt
- ltNamegtAdvertiser_Networklt/Name
gt - ltSinkgtNetworklt/Sinkgt
- ltInterfacegtNetwork.INetworklt/I
nterfacegt - lt/Connectiongt
-
- ltConnectiongt
- ltNamegtAdvertiser_Cachelt/Namegt
- ltSinkgtCachelt/Sinkgt
- ltInterfacegtCache.ICAchelt/Inter
facegt
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
22Ad-hoc Service Discovery FrameworkEvaluation -
Configurability
- PROTOCOL CONFIGURATION
- ltConfigurationgt
- ltNamegtGSDlt/Namegt
- ltComponentsgt
-
- ltComponentgt
- ltComponentNamegtAdvertiserlt/ComponentNa
megt - ltComponentTypegtGSD.Advertiserlt/Compone
ntTypegt - lt/Componentgt
- ltComponentgt
- ltComponentNamegtRequestlt/ComponentNamegt
- ltComponentTypegtGSD.Requestlt/ComponentT
ypegt - lt/Componentgt
- ltComponentgt
- ltComponentNamegtCachelt/ComponentNamegt
- ltComponentTypegtCommons.Cachelt/Componen
tTypegt
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
23Ad-hoc Service Discovery FrameworkEvaluation
Re-configurability
Configuration A
SLP-B Protocol Description
DA
Protocol
UA Framework Description
SSD Protocol Description
SA
UA
SLP-B
X
GSD Protocol Description
SSD
X
X
SA Framework Description
GSD
X
ALLIA
GSD Protocol Description
Configuration B
DA
Protocol
UA
SA
X
SLP-B
X
Configurator.load(UA, SLP-B) Configurator.unload(S
A, GSD) Configurator.load(UA, ALLIA)
SSD
X
X
GSD
ALLIA
X
- Simple re-configuration algorithms
- Well known configuration pattern
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
24Ad-hoc Service Discovery FrameworkEvaluation
Component re-use
SLPB-Advertiser
ALLIA-Advertiser
SSD-Advertiser
GSD-Advertiser
Policy
SLP-BRequest
Network
ALLIA-Request
SSD-Request
Cache
GSD-Request
- Simplifies development effort and time
- Reduces resource usage
- Enhances configurability
SLPB-Reply
ALLIA-Reply
SSD-Reply
GSD-Reply
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
25Ad-hoc Service Discovery FrameworkEvaluation
Framework overhead
Framework
Side by side
ALLIA
SSD
GSD
SLP-B
SIZE(KB)
SIZE(KB)
66.96
X
70.46
X
64.26
X
89.26
X
129.16
137.42
X
X
172.56
201.68
X
X
X
209.76
290.94
X
X
X
X
Size of framework personalities
Framework
Side by side
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
26Future work
- Fine-grained architecture
- Service description heterogeneity
- Interaction heterogeneity (Set of message types)
- Directory maintenance
- SDP Interoperability
- Monitor component
- Consider service discovery protocols from
different network styles e.g. fixed, sensor,
overlay etc.
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
27Conclusions
- Ad-hoc Service Discovery Protocols
- SSD, GSD, ALLIA, SLP-B
- Common functionality.
- Ad-hoc Service Discovery Framework
- Evaluation with the implementation of 4 existing
ad-hoc service discovery protocols - Benefits
- Common component architecture
- Component re-use
- Minimize resource usage for multiple concurrent
protocols - Simplify development
- Code re-use
- Future work
- Fine-grained architecture
- Evaluate our framework with discovery protocols
from different network styles - Development of a middleware to provide service
discovery interoperability across different
network styles
Research Goal Ad-hoc SDPs Architecture
Ad-hoc SD Framework
Future work Conclusions
28?
Carlos Flores, Gordon Blair, Paul
Grace c.florescortes, gordon, gracep_at_comp.lancs.
ac.uk