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.