A Comparison of Data Exchange Mechanisms for Real-Time Communication

A Comparison of Data Exchange Mechanisms for Real-Time Communication

Mohit Chawla (Department of Computer Science and Engineering, Indian Institute of Technology (Indian School of Mines), Dhanbad, Jharkhand, India), Siba Mishra (Department of Computer Science and Engineering, Indian Institute of Technology (Indian School of Mines), Dhanbad, Jharkhand, India), Kriti Singh (Department of Computer Science and Engineering, Indian Institute of Technology (Indian School of Mines), Dhanbad, Jharkhand, India) and Chiranjeev Kumar (Department of Computer Science and Engineering, Indian Institute of Technology (Indian School of Mines), Dhanbad, Jharkhand, India)
Copyright: © 2017 |Pages: 16
DOI: 10.4018/IJRSDA.2017100105
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

While web applications continue to employ traditional client-server model, most of the current applications demand real time bi-directional communication. In such setups, data exchanges between both the parties (client and server) are very frequent. Thus, performance of the network is subject to various factors decided by the choice of data exchange mechanism. This shows that the choice of data exchange mechanism is vital to performance of a web-application employing it. This paper compares various data exchange mechanisms with respect to factors affecting real time web applications. While the absolute values of benchmarking may vary with the systems, the relative difference between them can be used as a reference for selecting a mechanism for an application. Hence, this paper can be used as a reference to choose appropriate data exchange mechanism for the concerned application.
Article Preview

Introduction

One of the early purposes of the Web was to link documents using hyperlinks and facilitate document transfer (Park, Hwang, Yun & Moon, 2014). This purpose was handled by HyperText Transfer Protocol (HTTP). However, with the other developments in the technology, the web has evolved towards a more real time environment.

With the advent of HyperText Markup Language 5 (HTML5), the Server Sent Events (SSE) emerged along with improvement in performance. Due to this reason, HTML5 gained a lot of momentum and is considered as the next-generation standard (Park et al., 2014). To suffice the need of high level interaction in modern web applications, various technologies have emerged. Some of the most popular technologies are WebSocket, and Asynchronous JavaScript and XML (AJAX). These technologies emerged with an intent to impart responsiveness to the web pages by exchanging necessary amount of relevant data in a user transparent manner and then making appropriate changes to the components of user interface without reloading the page. In this way, the need of reloading the entire web page per user-action was eliminated. This facilitates the improved quality of communication.

Particularly, the real-time web applications add immense improvement in the overall performance and also strengthen user experience. This is because the HTML5 WebSocket technology enables applications to receive information in a time efficient manner via the push (server or client initiated) in real time. Thus, it leads to a possibility of reducing the waiting time for the superfluous network traffic. Similarly, while AJAX adheres to the standard request-response model, it facilitates the client to pull data from the server using HTTP requests without reloading the page. Each of these mechanisms has its own benefits and pitfalls while simulating in a real time environment and thus are relevant for different use-cases. In spite of the vast difference in architecture and models, both technologies have emerged quite rapidly. Furthermore, AJAX does not support bidirectional communication natively, as in case of WebSocket; it simulates the behavior using the concept of long polling.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 5: 4 Issues (2018): 1 Released, 3 Forthcoming
Volume 4: 4 Issues (2017)
Volume 3: 4 Issues (2016)
Volume 2: 2 Issues (2015)
Volume 1: 2 Issues (2014)
View Complete Journal Contents Listing