International Journal of Advanced Technology and Engineering Exploration, Vol 5(43) ISSN (Print): 2394-5443 ISSN (Online): 2394-7454 http://dx.doi.org/10.19101/IJATEE.2018.543011 99 Automating live update for J2EE applications over distributed environment Jalaj Pachouly * and Varsha Dange Department of Computer Engineering, Dhole Patil College of Engineering Pune, India ©2018 ACCENTS 1.Introduction Coming up with a viable solution which can help organizations and mission critical applications to upgrade their deployed software’s running in a distributed environment across geographical location, without manual intervention, using centralized control while keeping the sanity of the running system, without losing the integrity and data. As the prior work for live updating the deployed software is quite limited to apply security patches or hot deploying the partial functionality. In general upgrade includes the service restart with manual intervention is not suitable for many mission critical application like Medical and Military usage. A. Objectives The main objective of Live updating deployed software’s is to keep downtime zero and make the process fully automatic, with smooth software upgrade in distributed environment, while preventing any data loss or bad user experience. *Author for correspondence To achieve this requirement, it becomes quite obvious goal to ensure that on trigger of upgrade, event should reach to Remote server in time bounded manner; hence the primary internal goal is to attain the dynamic class loading and initialization of the new or upgraded service in an efficient manner. While doing live update of an application it is important to ensure correctness of the following aspects with a great quality like: Data integrity Smooth migration No data loss Fully Automated Centralized controlled Easy to trigger upgrade No customer interruption No service restart B. Data integrity Considering many threads running parallel on server, it is the desired that the live update is not impacting any running process and live data in erroneous way. Research Article Abstract In the current world, there are very frequent changes in the industry needs due to pressing customer requirement, technology upgrade or fixing security issue in the currently deployed software, hence there is a great need of upgrading or updating the currently running applications. At the same time considering the usage of computers for almost in every domain, there is a lot of usage of horizontal scaling of software application where we are running multiple parallel servers deployed in various geographic locations across the globe using various cloud providers. It is desired to have automation for live update process. There is a great need to automate the process of upgrading the software version automatically, without manual intervention, without stopping the running servers, without losing the sanity of the application, smooth migration of coming request to newer version, no abrupt terminating the running process. In this paper it is recommended to use dynamic class loading with automated live update server, it will serve as a generic solution for live updating the multi-threaded servers. Using dynamic class loading, live update is not limited to just patching the server program with new content, instead we can update the business functionality. Dynamic class loading ensures that current running program did not get interfere while upgrade is taking place and after upgrade new version of the program takes over, and works smoothly for all new requests of computation. Hot deployment provides the smooth migration of software from old version to other, but still it is not fully automatic, across the location. The central live update server, which can perform upgrade on remote servers at multiple geographical location where the applications are deployed have been proposed. Keywords Terms-live update, DSU, Checkpoint-restart, Quiescence detection, Record-replay, Garbage collection, Threads.