Master Thesis Presentation Implementation and Performance Analysis  of a UDP Binding for SOAP Fahad Aijaz [email_address] ...
Presentation Agenda <ul><li>Motivation (“Why?“) </li></ul><ul><li>Proposed Solution (“What?“) </li></ul><ul><li>Simple Obj...
1: Motivation REASON:   Since HTTP and TCP are not designed for a mobile environment <ul><li>The congestion control, conne...
2: Proposed Solution    UDP Binding for SOAP should be developed which avoids  the problems of TCP. <ul><li>Since UDP is ...
3: Simple Object Access Protocol (SOAP) <ul><li>The framework has been designed to be independent of any particular </li><...
4: Web Services Based Middleware Architecture Middleware Glue (IT World) Computing (Telco World) Communication WS-Discover...
5: Mapping to OSI Reference Model Transport Support for  Mobile and Desktop Clients Algorithm Recommendation by SOAP-over-...
6: SOAP Message Exchange Patterns (MEP) and Service Access Points (SAP) UDP SOAP UDP-SAP Reliable Binding Unreliable Bindi...
6.1: Unreliable UDP (One-Way Message Exchange Pattern) SOAP receiver SOAP sender UDP-DATA request UDP-DATA indication SOAP...
6.2: Unreliable UDP (Request-Respose Message Exchange Pattern) SOAP receiver (server) SOAP sender (client) UDP-DATA reques...
6.3: Reliable UDP  (One-Way Message Exchange Pattern) Roles are swapped for request-response MEP 1 k N j i X 1 2 2 i j k N...
7: Selective Repeat ARQ (Explicit Request)    Selective Repeat attempts to retransmit only those packets that are    actu...
8: Mobile Web Service Server Architecture Server UI decoupled from the business logic. Common for both listeners.
9: Performance Analysis (Measurements) 9.1: RTT: Reliable UDP Vs HTTP Including HTTP/TCP Processing Overhead Major Selecti...
9.2: RTT: Unreliable UDP Vs Reliable UDP Extra time for NACK processing, additional headers ... No re-transmission in this...
9.3: Processing: Reliable UDP Vs HTTP <ul><li>Request Handling </li></ul><ul><li>Duplicate Detection </li></ul><ul><li>XML...
10: Analytical Model of Selective Repeat ARQ over UDP P lost  :   Probability for loss of datagram    n D  :  Number of da...
10.1: Comparison With HTTP Model Used Model Used Without Loss Probability With Loss Probability Model Used Model Used HTTP...
11: Theses    Web Service invocation over reliable UDP can be used as a substitute    to the default SOAP/HTTP binding in...
12: Summary & Outlook <ul><li>Flow control shall be realized to avoid receiver overloading and network congestion. </li></...
13: End of Presentation <ul><li>Thank you for your attention ! </li></ul><ul><li>Questions? </li></ul><ul><li>Fahad Aijaz ...
Selective Repeat ARQ State Machine
Upcoming SlideShare
Loading in …5
×

Implementation and Performance Analysis of a UDP Binding for SOAP

2,107 views
2,020 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,107
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Implementation and Performance Analysis of a UDP Binding for SOAP

  1. 1. Master Thesis Presentation Implementation and Performance Analysis of a UDP Binding for SOAP Fahad Aijaz [email_address] Supervised by: Prof. Dr. -Ing. B. Walke Dipl.-Ing. Guido Gehlen Chair of Communication Networks RWTH Aachen, Germany Wednesday, February 8, 2006
  2. 2. Presentation Agenda <ul><li>Motivation (“Why?“) </li></ul><ul><li>Proposed Solution (“What?“) </li></ul><ul><li>Simple Object Access Protocol (SOAP) & Middleware Architecture </li></ul><ul><li>Mapping to OSI Reference Model </li></ul><ul><li>Unreliable and Reliable UDP Binding </li></ul><ul><li>Mobile Web Service Server Architecture </li></ul><ul><li>Performance Analysis </li></ul><ul><li>Analytical Model </li></ul><ul><li>Theses </li></ul><ul><li>Summary & Outlook </li></ul><ul><li>End of Presentation </li></ul>
  3. 3. 1: Motivation REASON: Since HTTP and TCP are not designed for a mobile environment <ul><li>The congestion control, connection establishment (3-way handshake) </li></ul><ul><li>and slow-start phase of TCP effect high latencies in mobile </li></ul><ul><li>communication networks. </li></ul> In a mobile network, the latency of a SOAP RPC call is high. REASON: If SOAP is used by the application, the remote procedure calls (RPCs) will be transmitted in the majority of cases within the slow start phase of the TCP connection. <ul><li>UDP is a mandatory requirement for the multicast/broadcast communication for applications related to Web Service Discovery. </li></ul><ul><li>One example is UPnP home networking and mobile services. </li></ul><ul><li>To provide a supliment for default HTTP binding in mobile network but </li></ul><ul><li>with better performance. </li></ul><ul><li>The use of XML Web Services over standard Internet protocols and mobile communication systems is veryinefficient. </li></ul>Reliable Unreliable
  4. 4. 2: Proposed Solution  UDP Binding for SOAP should be developed which avoids the problems of TCP. <ul><li>Since UDP is an unreliable protocol an additional </li></ul><ul><li>reliability protocol shall be implemented in the UDP SOAP </li></ul><ul><li>Binding. </li></ul><ul><li>Session management has to be specified and developed using the </li></ul><ul><li>SOAP specification and Web Service Addressing. </li></ul><ul><li>HTTP Server shall be extended with the additional functionality of UDP Server. </li></ul><ul><li>UDP client and server binding shall be developed. </li></ul><ul><li>Enable the invocation of mobile SOAP services via UDP. </li></ul>
  5. 5. 3: Simple Object Access Protocol (SOAP) <ul><li>The framework has been designed to be independent of any particular </li></ul><ul><li>programming model and other implementation specific semantics. </li></ul><ul><li>SOAP is intended for exchanging structured information in a decentralized, distributed environment. </li></ul><ul><li>SOAP uses XML technologies to define an extensible messaging </li></ul><ul><li>framework, which provides a message construct that can be exchanged </li></ul><ul><li>over a variety of underlying protocols. </li></ul>Default: HTTP Our Focus: UDP
  6. 6. 4: Web Services Based Middleware Architecture Middleware Glue (IT World) Computing (Telco World) Communication WS-Discovery, WS-Addressing, WS-Security etc. Middleware to support developers Can be bound to either session or transport layer protocols (Transport Neutral)
  7. 7. 5: Mapping to OSI Reference Model Transport Support for Mobile and Desktop Clients Algorithm Recommendation by SOAP-over-UDP Specification Based on the unique MessageId in SOAP Messages and WS-Addressing Selective Repeat (Explicit Request) ARQ is realized by introducing additional header in UDP datagram. 3 (N) 4 (T) 5 (S) 6 (P) 7 (A) HTTP TCP IP UDP SOAP HTTP-Binding Unreliable UDP-Binding Reliable UDP-Binding SOAP Session Management SOAP Session Management ARQ
  8. 8. 6: SOAP Message Exchange Patterns (MEP) and Service Access Points (SAP) UDP SOAP UDP-SAP Reliable Binding Unreliable Binding WS-Sec. WS-Addr. SOAP Parser Rel. One-Way SAP Rel. Req-Resp SAP Unrel. One-Way SAP Unrel. Req-Resp SAP One-Way Req-Res SOAP MEPs  Core SOAP Parser providing 4 SAPs to upper layers, by using WS-Addressing properties
  9. 9. 6.1: Unreliable UDP (One-Way Message Exchange Pattern) SOAP receiver SOAP sender UDP-DATA request UDP-DATA indication SOAP-MESSAGE request SOAP-MESSAGE indication SOAP UDP UDP SOAP UDP datagram <ul><li>Possible Use Cases </li></ul><ul><li>Sending multicast “probe“ messages for discovery to a control point. </li></ul><ul><li>Service Announcement </li></ul>
  10. 10. 6.2: Unreliable UDP (Request-Respose Message Exchange Pattern) SOAP receiver (server) SOAP sender (client) UDP-DATA request UDP-DATA indication SOAP-MESSAGE request SOAP-MESSAGE indication SOAP UDP UDP SOAP UDP datagram SOAP-MESSAGE response UDP-DATA request UDP-DATA indication SOAP-MESSAGE confirm UDP datagram Message correlation <ul><li>Possible Use Cases </li></ul><ul><li>Event Transmission (e.g. State changes) </li></ul><ul><li>Context Information Exchange (eg. Status, mood, location) </li></ul><ul><li>Realtime Information Retrieval (e.g. Positioning data) </li></ul>
  11. 11. 6.3: Reliable UDP (One-Way Message Exchange Pattern) Roles are swapped for request-response MEP 1 k N j i X 1 2 2 i j k N j Segment Buffer <ul><li>Possible Use Cases </li></ul><ul><li>P2P Instant Messaging Services </li></ul><ul><li>Transportation Sector (e.g. Airlines, trains, buses) </li></ul><ul><li>Courier Services (e.g. Address changes) </li></ul><ul><li>As an alternative to HTTP </li></ul>Only one ACK/NACK is transmitted
  12. 12. 7: Selective Repeat ARQ (Explicit Request)  Selective Repeat attempts to retransmit only those packets that are actually lost. Required due to packet size constraint.  Explicit NACK is sent for only lost packets.  Packet assembly is done at the receiver when all packets are received and buffered in correct sequence.  Segmentation is done by the sender in adjustable sized chunks of bytes. Seq. No. Flag S, C, E UUID UDP Headers SOAP Data Current Time [msec], IP-Addr. In HEX , Object hash code , Random Number
  13. 13. 8: Mobile Web Service Server Architecture Server UI decoupled from the business logic. Common for both listeners.
  14. 14. 9: Performance Analysis (Measurements) 9.1: RTT: Reliable UDP Vs HTTP Including HTTP/TCP Processing Overhead Major Selective Repeat latencies are discarded, since not comparable to low-level TCP ARQ Java performance, memory and bytecode loading time overhead exists Mean RTT of the Reliable UDP ≈ 20-25% of RTT of the HTTP (On laptop)
  15. 15. 9.2: RTT: Unreliable UDP Vs Reliable UDP Extra time for NACK processing, additional headers ... No re-transmission in this case
  16. 16. 9.3: Processing: Reliable UDP Vs HTTP <ul><li>Request Handling </li></ul><ul><li>Duplicate Detection </li></ul><ul><li>XML Parsing </li></ul><ul><li>Response SOAP Headers </li></ul><ul><li>UUID Generation </li></ul>
  17. 17. 10: Analytical Model of Selective Repeat ARQ over UDP P lost : Probability for loss of datagram n D : Number of datagrams to be send T D : Transmission time of a datagram T timeout : Timeout T NACK : Transmission time for NACK n lost : Number of lost datagrams n x : Number of datagrams except last one excluding the last one CASE: No datagram loss CASE: Last datagram lost CASE: n lost datagrams lost Mean Transmission Latency of sending SOAP over reliable UDP using selective-repeat ARQ
  18. 18. 10.1: Comparison With HTTP Model Used Model Used Without Loss Probability With Loss Probability Model Used Model Used HTTP UDP Analytically the UDP performance ≈ 25% of the TCP Analytically the UDP performance ≈ 17% of the TCP
  19. 19. 11: Theses  Web Service invocation over reliable UDP can be used as a substitute to the default SOAP/HTTP binding in mobile communication environment for better performance.  The reliable UDP with selective-repeat ARQ (explicit request) as a reliability mechanism is approximately 20-25% faster than the HTTP on average.  Unreliable UDP binding enables the sending of multicast probe messages in ad-hoc environments to consume and announce Mobile Web Services hosted by and to its peers respectively.  The analytical model can be used to calculate the mean transmission latency of the SOAP messages over UDP in mobile communication environment.  The analytical model has been validated against the measurements.
  20. 20. 12: Summary & Outlook <ul><li>Flow control shall be realized to avoid receiver overloading and network congestion. </li></ul><ul><li>Analytical model can be extended further for handling the cases of multiple retransmissions. </li></ul><ul><li>SOAP message compression at the Server can be integrated for smaller message sizes. J2ME compression libraries can be used. </li></ul><ul><li>In general, message encryption using WS-Security specification can be integrated within the middleware architecture to ensure secure message transmission. This has already been realized at ComNets. </li></ul><ul><li>Realization of reliable and unreliable UDP SOAP-Binding that conforms to the SOAP-over- UDP specification and in addition, enhances the recommendation. </li></ul><ul><li>Designing and implementation of two reliability mechanisms for SOAP message transmission, the back-Off algorithm and selective-repeat ARQ. </li></ul><ul><li>Realization of the duplicate detection mechanism. </li></ul><ul><li> Implementation of the session management at the SOAP level, conforming the Web Service Addressing specification to support message correlation. </li></ul><ul><li> Designing of two versions of transport module for sending and receiving SOAP messages using reliable or unreliable transmission mechanisms. </li></ul><ul><li>Performance evaluation of the UDP SOAP-Binding in comparison to the default HTTP binding. </li></ul><ul><li>Analytical model to calculate mean transmission latency of sendinf SOAP messages over UDP. </li></ul>Outlook Summary
  21. 21. 13: End of Presentation <ul><li>Thank you for your attention ! </li></ul><ul><li>Questions? </li></ul><ul><li>Fahad Aijaz </li></ul><ul><li>[email_address] </li></ul>
  22. 22. Selective Repeat ARQ State Machine

×