Discovery protocol WS Discovery - universAAL/middleware GitHub Wiki

Table of Contents

Protocol Introduction

  • Define the role of the protocol
WS-Discovery specification http://docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-spec-os.pdf defines a protocol for service localization. With the term service we refer to the notion on web-service http://www.w3.org/TR/ws-arch/, instead to a generic definition of service available through the network. This specification describes a complete mechanism to let a client service be able to look for existing services and to invoke them, in particular the specification defines two different operation modes: ad-hoc mode vs managed mode. With the first mode all the necessary messages are sent in multicast while with the managed mode all the necessary messages are propagated in unicast between service and a proxy server. The adoption of the managed mode enables large networks (networks made of an high number of web-services) to offer an efficient service discovery system. The proxy acts as central server able to keep trace of all available services and to provide required information to clients looking for specific services. Moreover with the managed mode all the communications are unicast based, by reducing the traffic into the whole network. Live switching between ad-hoc and managed mode is also implemented, in this way clients are able to operate in two different approaches as soon as a new proxy server announces into the network, or vice-versa as soon as a proxy server disappears. It is important to notice that this specification only defines service discovery issues. Crucial issues like security or addressing are discussed into other WS specifications.



  • Define significant scenarios where the protocol is actually involved
The WS-Discovery addresses to scenarios where it is needed to organize and orchestrate large number of services in a dynamic way. It is important to consider that the notion of service requires a large amount of computation resources, indeed a set of technologies are needed to provide such a definition.
  • Provide and overview of protocol architecture
TBD



  • quick protocol stack snippet by providing a concise description of every layer
TBD
  • Define existing device constraints for protocol adoption: general purpose device vs specific one. This section aims at quickly mark those protocols designed for unrealistic AAL Node
TBD

Discovering and peering

As introduced into the first section, WS-Discovery architecture defines two different modes, next two sections provide a concise description for both of the modes. In order to clarify the actors evolved into the mode descriptions few definitions have to be provided:

  1. Target service: an endpoint providing services available to clients
  2. Client: endpoint that search for Target Services
  3. Discovery Proxy: endpoint providing support for service announce and service discovery

Ad-hoc Mode

In ad-hoc mode all the communications are sent in multicast while response message are sent through unicast. Figure 1 reports the collaboration diagram:

  1. Target Service announces with multicast message as soon as service joins the network
  2. Client listens for multicast announce message, letting the client be aware of new registered services. The client send a multicast Probe message in order to localize the Target Service
  3. Target Service checks if the Probe message matches the service specification. In this case Target Service replies to the Probe with a Probe Match (PM) message
  4. Client is free to send a multicast Resolve message in order to retrieve network transport information related to Target Service
  5. Target Service replies to the Resolve message by sending a unicast Resolve Match (RM)
  6. Target Service sends a multicast Bye message in order to leave the network

Managed Mode

In Managed mode all the messages are sent in unicast to the Discovery Proxy. Figure 2 reports the collaboration diagram:

  1. Target Service announces with a unicast message to the Discovery Proxy as soon as service joins the network
  2. Client sends a request unicast Probe message to the Discovery Proxy in order to locate the service
  3. Discovery Proxy replies on behalf of the Target Service by sending a Probe Match message towards the client if such a service has been previously announced
  4. Client sends a Resolve message in order to retrieve network transport information related to Target Service
  5. Discovery Proxy responds with a unicast message by sending a unicast Resolve Match (RM)
  6. Target Service sends a multicast Bye message in order to leave the network
  • Define how the selected protocol answers to node discover challenge
  • Try to provide the ad-hoc definition of “node-addressing” for the specific protocol. (Maybe there exist different definitions of “addressing” for the reviewed protocols)
  • Provide examples and simple scenarios where discovering is involved
  • Define well-know limitations and possible draw-backs in protocol adoption

Protocol adoption

  1. WS-Discovery java implementation http://code.google.com/p/java-ws-discovery/
⚠️ **GitHub.com Fallback** ⚠️