Abstract
Edge computing proposes access to largely unused computational resources without the added cost of the latency between the user and the Cloud. To take advantage of it we designed and implemented an abstraction layer compatible with standard JavaScript that builds a distributed shared memory on top of any existing web browser, like the ones present in smartphones or tablets, and a cloud server, enabling developers to use existing application code and enhance it by enabling collaboration between those devices. The synchronization mechanism supports mixed consistency, preferring eventual consistency but providing a stronger serializability when required, allowing the developers to tune it to their specific needs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Shi, W., Cao, J., Zhang, Q., Li, Y., Xu, L.: Edge computing: vision and challenges. IEEE Internet Things J. 3(5), 637–646 (2016)
Soneoka, T., Ibaraki, T.: Logically instantaneous message passing in asynchronous distributed systems. IEEE Trans. Comput. 43(5), 513–527 (1994)
Protic, J., Tomasevic, M., Milutinovic, V.: Distributed shared memory: concepts and systems. IEEE Parallel Distrib. Technol.: Syst. Appl. 4(2), 63–71 (1996)
Nitzberg, B., Lo, V.: Distributed shared memory: a survey of issues and algorithms. IEEE Comput. 24(8), 52–60 (1991)
Vasava, H.D., Rathod, J.M.: A survey of software based Distributed Shared Memory (DSM) implementation methodologies for multiprocessor environments. Int. J. Innov. Res. Sci. Eng. Technol. 2(7), 3055–3060 (2013)
Standard ECMA-262, ECMAScript Language Specification. http://www.ecma-international.org/publications/standards/Ecma-262.htm. Accessed 11 Nov 2019
Saito, Y., Shapiro, M.: Replication: Optimistic Approaches. HP Labs Technical Reports (2002)
Haas, A., et al.: Bringing the web up to speed with WebAssembly. In: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, vol. 52, no. 6, pp. 185–200 (2017)
Bailis, P., Ghodsi, A.: Eventual consistency today: limitations, extensions, and beyond. Queue 11(3), 20 (2013)
Shapiro, M., Preguiça, N., Baquero, C., Zawirski, M.: A Comprehensive Study of Convergent and Commutative (2011)
Almeida, P.S., Shoker, A., Baquero, C.: Efficient state-based CRDTs by delta-mutation. In: Bouajjani, A., Fauconnier, H. (eds.) NETYS 2015. LNCS, vol. 9466, pp. 62–76. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-26850-7_5
Baquero, C., Almeida, P.S., Shoker, A.: Making operation-based CRDTs operation-based. In: Magoutis, K., Pietzuch, P. (eds.) DAIS 2014. LNCS, vol. 8460, pp. 126–140. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-43352-2_11
Kleppmann, M., Beresford, A.R.: A conflict-free replicated JSON datatype. IEEE Trans. Parallel Distrib. Syst. 28(10), 2733–2746 (2017)
Roh, H.-G., Jeon, M., Kim, J.-S., Lee, J.: Replicated abstract data types: building blocks for collaborative applications. J. Parallel Distrib. Comput. 71(3), 354–368 (2011)
Patinge, O., Karkhanis, V., Barapatre, A.: Inadequacies of CAP theorem. Int. J. Comput. Appl. 151(10), 18–20 (2016)
Fielding, R., Reschke, J.: Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests, RFC 7232, June, 2014
S5: A Semantics for Today’s JavaScript, 11 November 2011. http://blog.brownplt.org/2011/11/11/s5-javascript-semantics.html. Accessed 5 Feb 2020
Loring, M.C., Marron, M., Leijen, D.: Semantics of asynchronous JavaScript. SIGPLAN Not. 52(11), 51–62 (2017)
Zakas, N.C.: Understanding ECMAScript 6: The Definitive Guide for JavaScript Developers (2016). https://amazon.com/understanding-ecmascript-definitive-javascript-developers/dp/1593277571. Accessed 5 Nov 2019
Guha, A., Saftoiu, C., Krishnamurthi, S.: The Essence of JavaScript, pp. 126–150. arXiv: Programming Languages (2010)
Teragni, M.: Hive project’s Github Repository. https://github.com/HiveProject/hiveproject.github.io/tree/master/Firebase. Accessed 25 Mar 2020
Bhardwaj, N.D.: Comparative study of CouchDB and MongoDB – NoSQL document oriented databases. Int. J. Comput. Appl. 136(3), 24–26 (2016)
MariaDB 10.0.0 Release Notes. https://mariadb.com/kb/en/mariadb/mariadb-1000-release-notes/. Accessed 25 Mar 2020
IBM: Cloudant – Overview. https://www.ibm.com/cloud/cloudant. Accessed 25 Mar 2020
Google: Firebase. https://firebase.google.com/. Accessed 25 Mar 2020
Soewito, B., Christian, Gunawan, F.E., Diana, Kusuma, I.G.P.: Websocket to support real time smart home applications. Proc. Comput. Sci. 157, 560–566 (2019)
Bonetta, D., Salucci, L., Marr, S., Binder, W.: GEMs: shared-memory parallel programming for Node.js. In: ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (2019)
Ryza, S., Wall, T.: MRJS: A JavaScript MapReduce Framework for Web Browsers (2010)
Constela, J.: “joseconstela/acio-js,” 5 November 2019. https://github.com/joseconstela/acio-js
Lavoie, E., Hendren, L., Desprez, F., Miguel, C.: Pando: Personal Volunteer Computing in Browsers. arXiv (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Teragni, M., Moran, R., Zabala, G. (2020). An Edge Focused Distributed Shared Memory. In: Rucci, E., Naiouf, M., Chichizola, F., De Giusti, L. (eds) Cloud Computing, Big Data & Emerging Topics. JCC-BD&ET 2020. Communications in Computer and Information Science, vol 1291. Springer, Cham. https://doi.org/10.1007/978-3-030-61218-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-61218-4_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-61217-7
Online ISBN: 978-3-030-61218-4
eBook Packages: Computer ScienceComputer Science (R0)