DCM: Dynamic Client-Server Code Migration
Proceedings of the 23rd International Conference on Web Engineering
The underlying Client-Server architecture of the Web inherently raises the question of the distribution of application logic between client and server. Currently, this distribution is static and fixed at design time, inhibiting dynamic and individual load distribution between clients and server at runtime. The benefits of dynamic migration allow balancing the needs of users, through increased responsiveness, and software providers, through better resource usage and cost-reductions. Recent additions to the Web environment like WebAssembly provide a technological basis to move units of code at runtime. However, making use of them to extend a web application with dynamic code migration capabilities is challenging for web engineers. To that end, we devise a novel distributed Client/Server software architecture for web applications that supports dynamic migration of code at runtime, addressing technical the challenges of dependency management, distribution of control and data flow, and the required communication and interfaces. Our novel software architecture aims at providing a point of reference to web engineers seeking to extend their web applications with dynamic code migration capabilities and to contribute to the current re-consideration of the Web environment in the light of the standardization and wide-spread support of WebAssembly in all major browsers. Our experiments with 3 scenarios show that implementing such architecture is not only feasible but also that the impact on performance is negligible.
Heil, Sebastian; Gaedke, Martin: DCM: Dynamic Client-Server Code Migration. Proceedings of the 23rd International Conference on Web Engineering, pp. 3-18, 2023.