Abstract
The Remote Procedure Call (RPC) is a powerful technique for constructing distributed, client-server based applications. In traditional RPC systems, when a remote procedure call fails to return result to the client because of communication failure, client stub usually reinvokes the remote method for expected output if the method is idempotent. This results in repeated marshalling of same data multiple times which is a burden over network if the data is huge. For the first time, we prevent this repeated marshalling by introducing a behavioral pattern that we refer to as usually synchronous, but conditionally asynchronous RPC (CA-RPC). CA-RPC establishes handshaking between client stub and server stub to understand whether connection was failed after demarshalling of data at server stub. If so, the client stub runs a pulling thread to retrieve the result without remarshalling the same data. Besides that, our strategy enhances the performance by a synchrony switch at runtime under some condition. Our results show that CA-RPC has better performance than traditional RPC for cases where data marshalling has significant overhead over low rate data connections.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Birrell, A.D., Nelson, B.J.: Implementing remote procedure calls. ACM Transactions on Computer Systems (TOCS) 2(1), 39–59 (1984)
Ivaki, N., Araujo, F., Barbosa, R.: A middleware for exactly-once semantics in request-response interactions. In: 2012 IEEE 18th Pacific Rim International Symposium on Dependable Computing (PRDC), pp. 31–40. IEEE (2012)
Ananda, A.L., Tay, B., Koh, E.K.: A survey of asynchronous remote procedure calls. ACM SIGOPS Operating Systems Review 26(2), 92–109 (1992)
Budau, V., Bernard, G.: Auto-adaptation to communication environment through dynamic change of communication model. In: ICDCS Workshops, pp. 153–158. IEEE Computer Society (2003)
Deris, M.M., Mamat, A., Surip, M., Khalid, S.: Data replication model for remote procedure call transactions. WSEAS Transactions on Information Science and Applications 2(11), 2009–2015 (2005)
Rossant, C., Fontaine, B., Goodman, D.F.: Playdoh: a lightweight python library for distributed computing and optimisation. Journal of Computational Science (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zohora, F.T., Uddin, M.Y.S., Moosa, J.M. (2014). Not So Synchronous RPC: RPC with Silent Synchrony Switch for Avoiding Repeated Marshalling of Data. In: Chatterjee, M., Cao, Jn., Kothapalli, K., Rajsbaum, S. (eds) Distributed Computing and Networking. ICDCN 2014. Lecture Notes in Computer Science, vol 8314. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45249-9_40
Download citation
DOI: https://doi.org/10.1007/978-3-642-45249-9_40
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-45248-2
Online ISBN: 978-3-642-45249-9
eBook Packages: Computer ScienceComputer Science (R0)