a multi-protocol framework for ad-hoc service discovery carlos flores, gordon blair, paul grace...
Post on 18-Dec-2015
214 views
TRANSCRIPT
A Multi-protocol Framework for Ad-hoc Service Discovery
Carlos Flores, Gordon Blair, Paul Grace {c.florescortes, gordon, gracep}@comp.lancs.ac.uk
28th November 2006
MPAC 2006
Agenda
1. Motivation
2. Research Goal
3. Ad-hoc Service Discovery Protocols Architecture
4. Ad-hoc Service Discovery Framework
5. Future Work
6. Conclusions
Highly Heterogeneous Mobile Environments
WEATHER
TRAFFIC
TOURISM
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.
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.
Research Goal
Development of a configurable and dynamically reconfigurable multi-personality discovery middleware for operation in both nomadic and MANET style operation.
Common Interaction PatternAd-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
Ad-Hoc SDPs Architecture
AgentsUser 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.
ArchitectureDirectory-based (Centralized)Directory-less (Distributed)
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-Hoc SDPs ArchitectureDirectory-based Architecture Interaction Pattern
UASA
UASA
DA
UA
UASA
UA
UA
UASA
UASA
UASA
DA
UASA
SA
1.- DAs advertise its presence (multicast)2.- SAs register their services (unicast)3.- DAs manage service advertisement4.- UAs request a service (unicast)5.- DAs match requested service description6.- DAs send service reply (unicast)
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-Hoc SDPs ArchitectureDirectory-less Architecture, Interaction Pattern
UASA
UASA
DA
UA
UASA
UA
UA
UASA
UASA
UASA
DA
UASA
SA
1.- SAs advertise their services (multicast)2.- DAs store service advertisements3.- UAs perform local service request4.- UAs send service requests (multicast)5.- DAs match requested service description6.- DAs send service reply (unicast)
DA
DA
DA
DA
DA
DA
DA
S1S2…
CACHE
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
x
Ad-Hoc SDPs ArchitectureAgents Tasks
Advertise its presence
Manages service advertisements
Service description matching
Multicast
Unicast
DA
Advertise its services
Multicast
Unicast
SA
Send service requests
Local
Multicast
Unicast
xxx
x
x
x
x
xxx
xx
x
xx
x
xx
TASK Directory-based Directory-less
Generates service replies x x
Listen service replies x x
UA
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkComponent Framework Architecture
Policy
Network
Reply
Cache
Advertiser
Request
Policy Cache Advertiser
Manages policies. Manages cache entries. Add. Replace. Update. Remove.
Stores local service descriptions in cache.
Generates service advertisements.
Manages protocol control messages.
Stores service advertisements and protocol messages in cache.
(Confiurability)
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkComponent Framework Architecture
Policy
Network
Reply
Cache
Advertiser
Request
Request Reply Network
Generates service requests.
Processes incoming requests (matching).
Forwards service requests.
Sends service replies Notifies applications of
received replies
IP Unicast routing. IP Multicast routing. Bordercast routing Ad-hoc routing
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkService Agent Configuration
Advertise its services
Multicast
Unicast
SA
x
x
xx
TASK Directory-based Directory-less
Policy
Network
Cache
Advertiser
(Re-configurability)
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkUser Agent Configuration
Send service requests
Local
Multicast
Unicast
x
xxx
x
xx
Listen service replies x x
UA
TASK Directory-based Directory-less
Policy
Network
Reply
Cache
Request
(Re-configurability)
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Service Discovery FrameworkDirectory Agent Configuration
Policy
Network
Reply
Cache
Advertiser
Request
x
Advertise its presence
Manages service advertisements
Service description matching
Multicast
Unicast
DA
xxx
x
xx
x
TASK Directory-based Directory-less
Generates service replies x x
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkMulti-protocol Support
UASA
UASA
DA
UA
UASA
UA
UA
UASA
UASA
UASA
DA
UASA
SA
UAUA
UAUA
UAUA
UAUA
UAUA
UAUA
UAUA
UAUA
UAUA
UAUA
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-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 Aachen University, Germany
UNDERLYING COMPONENT TECHNOLOGY OpenCOM
It is a lightweight, reflective component model Maintains a system graph of components currently in use in order to support introspection of a platform’s structure.
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkImplementation
Policy
Network
Reply
Cache
Advertiser
Request
Advertisement
Request
Reply
Cache
Policy
Network
Once
Once
Individual
Individual
Individual
Once
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)
Advertisement
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkImplementation
Policy
Network
Reply
Cache
Advertiser
Request
Advertisement
Request
Reply
Cache
Policy
Network
Once
Once
Individual
Individual
Individual
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
Ad-hoc Service Discovery FrameworkImplementation
Policy
Network
Reply
Cache
Advertiser
Request
Advertisement
Request
Reply
Cache
Policy
Network
Once
Once
Individual
Individual
Individual
Once
•Execution of additional process•Hit-rate statistics of successful service requests•Use of a reverse-route table to forward replies
Reply
Sends service replies Notifies applications of
received replies
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkEvaluation - Configurability
Policy
Network
SLPB-Reply
Cache
SLPB-Advertiser
SLP-BRequest
ALLIA-ReplySSD-Reply
GSD-Reply
ALLIA-RequestSSD-Request
GSD-Request
ALLIA-AdvertiserSSD-Advertiser
GSD-Advertiser
Simplified configuration Same component types Same connection bindings Same configuration
algorithm
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkEvaluation - Configurability
FRAMEWORK CONFIGURATION
<Configuration> <Framework>ServiceDiscovery</Framework> <Components> <Component> <ComponentName>Advertiser</ComponentName>
<Connections> <Connection> <Name>Advertiser_Network</Name> <Sink>Network</Sink> <Interface>Network.INetwork</Interface> </Connection> <Connection> <Name>Advertiser_Cache</Name> <Sink>Cache</Sink> <Interface>Cache.ICAche</Interface> </Connection> </Connections> </Component> ….
Policy
Network
ReplyCache
Advertiser
Request
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkEvaluation - Configurability
AGENT CONFIGURATION
<Configuration> <Framework>ServiceAgent</Framework> <Components> <Component> <ComponentName>Advertiser</ComponentName>
<Connections> <Connection> <Name>Advertiser_Network</Name> <Sink>Network</Sink> <Interface>Network.INetwork</Interface> </Connection> <Connection> <Name>Advertiser_Cache</Name> <Sink>Cache</Sink> <Interface>Cache.ICAche</Interface> </Connection> </Connections> </Component> ….
Policy
Network
Cache
Advertiser
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkEvaluation - Configurability
PROTOCOL CONFIGURATION
<Configuration> <Name>GSD</Name> <Components> <Component> <ComponentName>Advertiser</ComponentName> <ComponentType>GSD.Advertiser</ComponentType> </Component>
<Component> <ComponentName>Request</ComponentName> <ComponentType>GSD.Request</ComponentType> </Component>
<Component> <ComponentName>Cache</ComponentName> <ComponentType>Commons.Cache</ComponentType> </Component> ….
Policy
Network
Cache
GSDRequest
GSDReply
GSDAdvertiser
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkEvaluation – Re-configurability
UA SADA
SLP-BSSDGSDALLIA
Protocol
X
X X
X
XUA SA
DA
SLP-BSSDGSDALLIA
Protocol
X
X X
X
Configuration A
Configuration B
UA FrameworkDescription
SA FrameworkDescription
SLP-B Protocol Description
SSD Protocol Description
GSD Protocol Description
GSD Protocol Description
Configurator.load(UA, SLP-B)Configurator.unload(SA, GSD)Configurator.load(UA, ALLIA)
Simple re-configuration algorithms
Well known configuration pattern
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkEvaluation – Component re-use
Policy
Network
SLPB-Reply
Cache
SLPB-Advertiser
SLP-BRequest
ALLIA-ReplySSD-Reply
GSD-Reply
ALLIA-RequestSSD-Request
GSD-Request
ALLIA-AdvertiserSSD-Advertiser
GSD-Advertiser
Simplifies development effort and time
Reduces resource usage
Enhances configurability
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Ad-hoc Service Discovery FrameworkEvaluation – Framework overhead
ALLIA SSD GSD SLP-B
66.96
SIZE(KB)Framework
SIZE(KB)Side by side
Size of framework personalities
70.46
64.26
89.26
129.16
172.56
209.76
137.42
201.68
290.94
X
X
X
X
X
X
X
X
X
X
X
X
X
Framework Side by side
Research Goal Ad-hoc SDPs Architecture Ad-hoc SD Framework Future work Conclusions
Future work Fine-grained architecture
Service description heterogeneity Interaction heterogeneity (Set of message types) Directory maintenance
Matching algorithm A
Lookup
Policy
Network
Reply
Cache
Advertisement
Request
Parser A
Parser B
Matching algorithm B
Matching algorithm C
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
Conclusions 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