The document proposes a design pattern for building reliable HTTP-based applications that can handle network failures. It introduces a stream-based approach that allows HTTP communication to resume where it was interrupted upon failure. This is more efficient than retransmitting whole messages. The design pattern was implemented between an HTTP client and server using a handshake procedure and control channel per client. Experiments showed the pattern was functional, compatible with legacy software, and imposed low coding and runtime costs.
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
A Design Pattern for Reliable HTTP-Based Applications
1. A DESIGN PATTERN FOR
RELIABLE HTTP BASED
APPLICATIONS
PRESENT BY,
RAJKUMAR.M
16376001
M.TECH(CSE) Ist Year
1
2. ABSTRACT
• HTTP is currently using communication protocol for many web applications.
• HTTP-based applications are quite exposed to network failures.
• Several approaches try to achieve reliable communication by using logging and re-
transmission of whole HTTP messages, which is not adapted to large messages.
• In this paper author proposed a Stream-based mechanism for reliable HTTP
communication that is more efficient as, upon failure, they transparently resume
data transmission from where it stopped.
• The design pattern providing a standard way for developers for building more
reliable applications and also handling connection failures.
2
3. EXISTING SYSTEM
• The Session-Based Fault-Tolerant (SBFT) design pattern to
overcome TCP connection crashes in direct client-server
communication.
• Although this pattern provides a foundation for
implementing reliable communication in TCP-based
applications, there are still no practical and efficient design
solutions that can tackle the specific challenges of the web.
3
4. PROPOSED SYSTEM
• The author proposed a stream-based solution for reliable HTTP
communication in the web environment.
• Solution features two key characteristics in comparison to
SBFT:
• i) a handshake procedure and
• ii) a control channel per client
4
6. Tools,Data-set and Result analysis
• The experiments focus on three key aspects: correctness,
performance, and complexity of the solution.
• The design pattern implemented in java and used it in an HTTP
client and in the Apache Tomcat 7.0.13 HTTP connector
included in JBoss AS 7.1.1 .
• Results show that the mechanism is functional, compatible with
legacy applications, and that the coding and run time costs of
this design pattern are quite low.
6
7. Conclusion
• In this paper author presented a stream-based solution for
HTTP peers that can transparently overcome connection
failures.
• The proposed design pattern works with legacy clients, servers,
and proxies.
7