Dipanjan Chakraborty Anupam Joshi CSEE University of Maryland Baltimore County Anamika: Distributed Service Discovery and Composition Architecture for Pervasive Environments
Service Composition “Service” –Hardware or software entity residing on any device or platform Has distinct functional description Can be utilized by other services/clients “Discovery” –Act of finding out “what” is present on peer devices “Service Composition” –Integration and execution of multiple services in the planned order to satisfy a request
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 for a printer!! Are you a Toaster ??
MANET
Ad hoc Environment Network formed by multiple heterogeneous nodes in the reachable vicinity of one another Some nodes are mobile, some are not Environment around a device changes dynamically Services exist on those devices
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 Integration Layer Application Layer Broker Arbitration and Delegation Service Execution Layer 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
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: System Components
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
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
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
GSD Results
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
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