Presentation is loading. Please wait.

Presentation is loading. Please wait.

INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn Daniele Sacchetti

Similar presentations


Presentation on theme: "INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn Daniele Sacchetti"— Presentation transcript:

1 INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn Daniele Sacchetti Daniele.Sacchetti@inria.fr

2 2 Outline Context INMIDIO Solution –Objective –Service discovery and interaction interoperability –Supported protocols: overview INMIDIO Web page Conclusion

3 3 The Networked Home Integrating and composing the functionalities of the heterogeneous networked (software & hardware) resources

4 4 Middleware heterogeneity Two base middleware functions for networked home –Service discovery protocols (SDP) (ex: UPnP, SLP, WS-Discovery) –Service interaction protocols (SIP) for communication between services (ex: SOAP, RMI) 1. Which services are present ? 2. May I interact with it ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ?

5 5 INMIDIO Solution to service discovery and interaction interoperability Application services developed using existing legacy middleware Middleware-layer interoperability is transparent to applications Legacy SDP Dynamic SDP interoperability SLP UPnP Legacy SIP Dynamic SI interoperability SOAP RMI Applications

6 6 SDPs All SDPs use: –Reserved multicast address & a UDP port assigned by IANA The SDI monitor component: –Listens on all the ports provided by the table Null cost in terms of bandwidth consumption as the monitor passively listens on SDP ports Monitor Component SLP :239.255.255.23 : 427 UPnP : 239.255.255.250 : 1900 SDP3: Group-Multicast-3 : Port Z

7 7 SDP Interoperability Monitor Component Parser Composer UPnP unit Parser Composer SLP UPnP SLP UPnP SLP unit Events Instantiator 1 2 3 4 56 879

8 8 Unit Communication between unit’s components based on semantic events Coordination state machine specifies the process coordination associated with the SDP unit Parser transforms the raw data flow into a series of semantic events Composer transforms the series of semantic events into a raw data flow Socket component decouples the parser and composer from the transport protocol

9 9 Service Interaction Interoperability (SII) SLP Requests Mobile A SDP Detection SDP Interoperability UPnP 2 3 1 4 5 6 Mobile B SII Interoperability 7 89 RMI Interaction SDI UPnP Application SII

10 10 INMIDIO: SD+ SI + PROXY 3 Network messagesSemantic Events Service SDP2+SIP2 Client SDP1+SIP1 SDP2 SDP1 SIP1SIP2 PROXY M O NI T O R 2 1 4 5 67 8 9 10 11 12 13 14 Discovery: steps 1-5,7 Proxy Generation: steps 6,8 Interaction: steps 9-14 INMIDIO Unit

11 11 Example of INMIDIO Configuration 3 Network messagesSemantic Events Service SLP + RMI Client UPNP SLP UPnP SOAP RMI UPnPProxy M O NI TO R 2 1 4 5 67 8 9 10 11 12 13 14

12 12 Service Location Protocol (SLP) Specifications: RFC2608 –239.255.255.253:427 –Supported messages : Service Request Service Reply Service Registration … … … INMIDIO: RMI+SLP for clients and services development INMIDIO components for SLP Unit –SLPparser, SLPcomposer, UDPSocket, UDPMulticastSocket INMIDIO supported API: –Service Request –Service Reply only one URL entry in the SrvRply message

13 13 Universal Plug and Play (UPnP) Specifications (http://www.upnp.org/download/UPnPDA10_20000613.htm) –Discovery: SSDP - 239.255.255.250:1900 –Description: XML Devices + Services –Control: SOAP –Eventing –Presentation INMIDIO components for UPnP Unit –SSDPparser, SSDPcomposer, UDPSocket, UDPMulticastSocket. –DeviceDescriptionParser, ServiceDescriptionParsers, DeviceDescriptionComposer, ServiceDescriptionComposer, HTTPSocket INMIDIO Supported API –Discovery is supported. Advertisement NOTIFY: ssdp:byebye and ssdp:alive not supported Discovery ssdp:discover (M-SEARCH) and Response: supported –Description is supported The XML specification language for description of devices and service is completely supported: 1 service for device. UPnP description specification does not support arrays and complex types the middleware supports only a limited set of simple data types: string, integer and boolean. –Control is partially supported: Requests and responses are supported by the SOAP unit UPnPError fault and Query for variable: not supported. –Eventing, Presentation: not supported

14 14 Web Services Dynamic Discovery (WS-Discovery) Specifications: (http://schemas.xmlsoap.org/ws/2005/04/discovery/) –239.255.255.250:3702 –Based on XML –Supported messages: Hello, Bye, Probe, ProbeMatch, Resolve, ResolveMatch –Interaction: SOAP/HTTP –Service description: WSDL INMIDIO components for WSDiscovery Unit –WSDparser, WSDcomposer,UDPSocket, UDPMulticastSocket –WSDLParser, WSDLComposer, HTTPsocket INMIDIO supported API: –Hello: recognized by WSDparser, events not generated –Bye: recognized by WSDparser, events not generated –Probe:Supported. –ProbeMatch: Supported. –Resolve: recognized by WSDparser, events not generated –ResolveMatch: recognized by WSDparser, events not generated

15 15 Remote Method Invocation (RMI) Specifications: –Java Remote Method Protocol (JRMP) Out stream: Call, Ping, Dgcack In stream: ReturnData, HttpReturn, PingAck –Java Object Serialization: ObjectIdentifier, Operation, Hash, Arguments INMIDIO components for RMI Unit –JRMPparser, JRMPcomposer, Objectparser, Objectcomposer INMIDIO supported API: –JRMP protocol: only supported is Call, ReturnData –Object serialization protocol: JDK1.1 and Java 2 serialization protocol supported Return value: not supported.  RMIHolders classes –(one Holder class is defined for each basic type String, Integer) Argument types –supported: int, Boolean and string. –Complex types and arrays: not supported Exceptions in return value are not supported.

16 16 Simple Object Access Protocol (SOAP) Specifications: http://www.w3.org/2000/xp/Group/ –Based on XML –one-way messages and request/response interactions –Binding: HTTP,…. INMIDIO components for SOAP Unit –SOAPparser, SOAPcomposer, HTTPSocket INMIDIO supported API: –SOAP RPC requests and response: supported. Only HTTP binding supported. Only the HTTP Header POST command is supported. Argument types supported: int, boolean and string. Complex types and arrays are not supported. SOAP Fault specification is not supported

17 17 INMIDIO Web site http://www-rocq.inria.fr/arles/download/inmidio/index.html –INMIDIO Middleware Software Developer Guide Code description: Monitor, Units, Parsers, Composers, Sockets, Events, Messages Details for each protocol supported: –Supported API –State machine diagram Extend the middleware with new components –INMIDIO Middleware User Guide Tutorial with examples of clients and services –INMIDIO source code –Samples code


Download ppt "INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn Daniele Sacchetti"

Similar presentations


Ads by Google