1 / 17

INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn

INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn. Daniele Sacchetti Daniele.Sacchetti@inria.fr. Outline. Context INMIDIO Solution Objective Service discovery and interaction interoperability Supported protocols: overview INMIDIO Web page Conclusion.

lore
Download Presentation

INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. 1. Which services are present ? 2. May I interact with it ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 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)

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

  6. SLP : 239.255.255.23 : 427 UPnP : 239.255.255.250 : 1900 SDP3: Group-Multicast-3 : Port Z Monitor Component 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

  7. SLP 2 Events Instantiator Parser Parser 1 Parser Parser Parser Parser 3 Monitor Component 5 6 4 UPnP unit UPnP SLP unit Composer Composer SLP 9 8 7 UPnP SDP Interoperability

  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. 2 3 1 5 9 8 7 6 4 SDP Detection SDP Interoperability Service Interaction Interoperability (SII) Mobile B SLP Requests SDI UPnP Application UPnP Mobile A RMI Interaction SII Interoperability SII

  10. INMIDIO: SD+ SI + PROXY INMIDIO 2 1 SDP1 SDP2 3 MONITOR 5 7 6 4 8 Client SDP1+SIP1 Service SDP2+SIP2 PROXY 11 9 10 SIP1 SIP2 12 14 13 Network messages Semantic Events Unit • Discovery: steps 1-5,7 • Proxy Generation: steps 6,8 • Interaction: steps 9-14

  11. 2 1 UPnP SLP 3 MONITOR 5 7 6 4 8 Client UPNP Service SLP + RMI UPnPProxy 11 9 10 SOAP RMI 12 14 13 Network messages Semantic Events Example of INMIDIO Configuration

  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. 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. 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. 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. 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. INMIDIO Web site • 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

More Related