1st International ICST Conference on Mobile Wireless Middleware, Operating Systems and Applications

Research Article

Recoverable Class Loaders for a Fast Restart of Java Applications

Download513 downloads
  • @INPROCEEDINGS{10.4108/ICST.MOBILWARE2008.2831,
        author={Vladimir Nikolov and R\'{y}diger Kapitza},
        title={Recoverable Class Loaders for a Fast Restart of Java Applications},
        proceedings={1st International ICST Conference on Mobile Wireless Middleware, Operating Systems and Applications},
        publisher={ICST},
        proceedings_a={MOBILWARE},
        year={2010},
        month={5},
        keywords={},
        doi={10.4108/ICST.MOBILWARE2008.2831}
    }
    
  • Vladimir Nikolov
    Rüdiger Kapitza
    Year: 2010
    Recoverable Class Loaders for a Fast Restart of Java Applications
    MOBILWARE
    ICST
    DOI: 10.4108/ICST.MOBILWARE2008.2831
Vladimir Nikolov1,*, Rüdiger Kapitza2,*
  • 1: Institute of Distributed Systems, University of Ulm, Germany.
  • 2: Dept. of Comp. Sciences Informatik 4 University of Erlangen-Nürnberg Germany.
*Contact email: vladimir.nikolov@uni-ulm.de, rrkapitz@cs.fau.de

Abstract

This paper proposes recoverable class loaders to enable a fast start-up and recovery of Java applications. In contrast to traditional snapshot approaches that create full system images, our approach creates partial snapshots that contain a static part of the execution state of a Java application. It is the state of the class loaders and their associated class objects, which are recovered and used for restart. This is especially useful in the context of mobile devices and mobile services. In the frst case it allows to shutdown applications for power-management reasons as their restart takes less time, so power management does not disturb users. In the second case services can be much faster rebooted to cure software faults such as memory leaks. Thus, users will notice a substantially reduced downtime. We implemented recoverable class loaders inside the JamVM and the OSGi middleware Oscar. For both cases of use | Java application restart and service recovery | we provide experimental evaluations that show a substantially reduced start-up time from up to 74%.