Inter-Process Communication (IPC) in Distributed Environments: An Investigation and Performance Analysis of Some Middleware Technologies

Full Text (PDF, 1041KB), PP.36-52

Views: 0 Downloads: 0

Author(s)

Hamed Dinari 1,*

1. Department of Computer Engineering (CE), Iran University of Science and Technology (IUST), Tehran Province, Tehran, Iran

* Corresponding author.

DOI: https://doi.org/10.5815/ijmecs.2020.02.05

Received: 29 Jan. 2020 / Revised: 23 Feb. 2020 / Accepted: 9 Mar. 2020 / Published: 8 Apr. 2020

Index Terms

Inter-Process Communication (IPC), Remote Procedure Call (RPC), Distributed Systems, Web Services, Remote Method Invocation (RMI)

Abstract

Nowadays with improvement in computer science, distributed systems have attracted remarkable attention and increasingly becoming an indispensable factor in our life. Massive-scale data processing, weather forecasting, industrial control systems, medical science, multi-tire architectures in enterprise applications, and aerospace to name but a few are the cases in point that distributed systems play a notable role. Inter-Process Communication or in a short form, IPC is specified as the heart of all distributed systems, therefore they are not formed without IPC. Numerous methods concerning IPC have been proposed so far that are utilized in diverse circumstances. According to the physical location of communication processes in applications, IPC could be established among either multiple processes on the same computer or several computers across a network. From the communication pattern’s perspective, these IPCs can be classified into two broad groups namely, shared memory and message passing. Although, it is not true to say when processes are performed on the same computer definitely employ shared memory to communicate if processes are executed on the different systems they inevitably communicate through message passing. By way of illustration, pipes use message passing patterns to make a connection between various processes but all of the processes are carried out on the same system. The aim of this research is to depict a categorization of the some IPC methods, give a brief description of them, and assess their performance in terms of transferring rate by sending multiple files in different sizes between client and server. As we expected, socket as the basic IPC, since it does not perform extra operations on the input data to be sent had a desirable performance compared to others. Although, to achieve some of the capabilities, like eliminating platform dependencies and asynchronous communication, it needs to add additional layers that make poor performance.

Cite This Paper

Hamed Dinari, " Inter-Process Communication (IPC) in Distributed Environments: An Investigation and Performance Analysis of Some Middleware Technologies", International Journal of Modern Education and Computer Science(IJMECS), Vol.12, No.2, pp. 36-52, 2020.DOI: 10.5815/ijmecs.2020.02.05

Reference

[1]Tanenbaum, Andrew S and V.Steen, Maarten, Distributed systems: principles and paradigms. Prentice-Hall, 2007.
[2]M. Fowler, Patterns of enterprise application architecture. Addison-Wesley Longman Publishing Co., Inc., 2002.
[3]Coulouris, George F and Dollimore, Jean and Kindberg, Tim, Distributed systems: concepts and design. pearson education, 2005.
[4]Peterson LL, Davie BS, Computer networks: a systems approach. Elsevier, 2007.
[5]Tanenbaum, Andrew S., and David Wetherall, Computer networks. Harlow, Essex: Pearson, 2014.
[6]D.Ruby, Ms. S.Krishnaveni and Ms., "Comparing and Evaluating the Performance of Inter Process Communication Models in Linux Environment," lnternational Journal of Trend in Research and Development (IJTRD), pp. 51-55, Sep. 2016.
[7]Gokhale, Aniruddha and Kumar, Bharat and Sahuguet, Arnaud, "Reinventing the wheel? CORBA vs. Web services," in Proceedings of international world wide Web conference, 2002.
[8]Gray, Neil AB, "Comparison of Web Services, Java-RMI, and CORBA service implementations," in The Fifth Australasian Workshop on Software and System Architectures, Australasian, 2004, p. 52.
[9]S.Ghodake, A. R. Buchade, "Survey on Interprocess Communication and Managment," International Journal of Innovative Research in Computer and Communication Engineering, vol. 5, no. 2, pp. 1511-1515, Feb. 2017.
[10]Patil, Abhishek and Korde, Rajesh and Sabharwal, Kapil, "Comparison of Middleware Technologies-CORBA, RMI & COM/DCOM," Citeseer.
[11]ZHANG, Xiurong, "The Analysis and Comparison of Inter-Process Communication Performance Between Computer Nodes," Management Science and Engineering, vol. 5, no. 3, 2011.
[12]Cook, William R and Barfield, Janel, "Web service versus distributed objects: A case study of performance and interface design," International Journal of Web Services Research (IJWSR), vol. 4, no. 3, pp. 49-64, 2007.
[13]Davis, Dan and Parashar, Manish P, "Latency performance of SOAP implementations," in Cluster Computing and the Grid, 2002. 2nd IEEE/ACM International Symposium on, 2002, pp. 407-407.
[14]Venkataraman, Aditya and Jagadeesha, Kishore Kumar, "Evaluation of inter-process communication mechanisms," Architecture, vol. 86, p. 64, 2015.
[15]Vogels, Werner, "Web services are not distributed objects," IEEE Internet computing, vol. 7, no. 6, pp. 59-66, 2003.
[16]Ahalt, Mark D Hanes Stanley C and Krishnamurthy, Ashok K, "A Comparison of Java RMI, CORBA, and Web Services Technologies for Distributed SIP Applications," HPEC, 2002.
[17]Juric, Matjaz B and Kezmah, Bostjan and Hericko, Marjan and Rozman, Ivan and Vezocnik, Ivan, "Java RMI, RMI tunneling and Web services comparison and performance analysis," ACM Sigplan Notices, vol. 39, no. 5, 2004.
[18]Lynch, Nancy and Shvartsman, Alex, "Communication and data sharing for dynamic distributed systems," in Future directions in distributed computing, 2003, pp. 62-67.
[19]Juric, Matjaz B and Rozman, Ivan and et al., "Comparison of performance of Web services, WS-Security, RMI, and RMI-SSL," Journal of Systems and Software, vol. 79, no. 5, pp. 689-700, 2006.
[20]Allman, Mark, "An evaluation of XML-RPC," SIGMETRICS Performance Evaluation Review, vol. 30, pp. 2-11, 2003.
[21]Carl-Fredrik Sørensen, "A Comparison of Distributed Object Technologies".
[22]Roy T Fielding, Richard N Taylor, "Architectural styles and the design of network-based software architectures," vol. 7, Jun. 2000.
[23]Kreger, By Heather, "Web Services Conceptual Architecture (WSCA 1.0)," 2001.
[24]Scott McLean, James Naftel, Kim Williams, Microsoft .NET Remoting. 2002.