Fault-tolerant java virtual machine

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000, C714S001000, C714S002000, C714S047300, C707S793000

Reexamination Certificate

active

06421739

ABSTRACT:

TECHNICAL FIELD
The invention relates generally to Java virtual machines and, more particularly, to a Java virtual machine with built-in support for fault-tolerant operation.
BACKGROUND OF THE INVENTION
Large-scale, complex computer systems are brought into use through integration of software programs with a hardware platform. It is important that such systems be reliable and, because many such systems are “servers,” they are expected to run continuously for long periods of time without failure or interruption. As a result, various techniques, such as the use of special-purpose redundant hardware, are employed to ensure continuous service. Such techniques provide what is often collectively referred to as “fault tolerance” because they enable such systems to mask, i.e., recover, from a fault, such as the failure of a hardware component.
Fault-tolerance may also be obtained through software technology that utilizes commodity hardware that is less expensive. Frequently, such techniques utilize “checkpoints” wherein system status from one instance of an application is copied to a backup instance, such that the backup instance can take over processing using the copied system status as a starting point.
A telecommunication network is an example of a complex system that must be reliable. Telecommunication networks facilitate communications between a large number of public and private communications systems by providing numerous functions such as switching, accounting, time management, and the like. A telecommunications network provides such functions through network switches, or nodes, interconnected by links, or channels, of transmission media such as wire, fiber-optic cable, or radio waves. Some of the nodes are connected to one or more users.
Modern telecommunication networks require complex, automated switching and, to that end, software programs are written to provide reliable, dependable performance and efficient use of resources, as well as service features and functions, such as Call Waiting, Caller ID, and the like. Such systems may be configured in a number of different ways depending on what types of transmission media are used, what types of users are served, and what mix of features are purchased. As a result of such complexities and the large number of different configurations, it is difficult to operate such systems reliably and dependably. Software programs that operate such systems must, thus, be extremely reliable and achieve very a high fault-tolerance.
A programming language adapted for implementing software for such systems is “Java” which was introduced by Sun Microsystems, Inc., of Palo Alto, Calif. Java has been described as an object-oriented, distributed, interpreted, robust, secure, portable, architecture-neutral, multithreaded, and dynamic computer language.
To obtain fault-tolerance for software systems using Java, application software may be written such that all fault-tolerance capabilities, include the derivation of checkpoints, is built into the application program by its developer. However, experience has shown that this may not be an optimal solution. In many cases, changes to application programs are made without correctly changing the portions of the programs which effect the checkpointing, such that the checkpoints are not accurate and the system state copied to the backup is corrupt. In addition, mechanisms developed in application software may also be intrusive to the software source code (since additional code is added in ways that obfuscate understanding of the working of the system under normal conditions), or introduce additional inefficiencies into the software program.
Accordingly, a continuing search has been directed to the development of methods for mechanisms within the JVM which allow the JVM to support checkpointing in ways that are less intrusive, more efficient, and more likely to compute accurate checkpoint data.
SUMMARY OF THE INVENTION
According to the present invention, a method is disclosed for reliably and efficiently supporting fault-tolerance mechanisms within a Java virtual machine (JVM) by modifying the JVM itself. Such modifications to a first JVM permit the first JVM to use internal information maintained by the first JVM to checkpoint objects that are created, modified, and/or deleted during the process of responding to an event of a transaction. The checkpointed objects are sent to and stored in a second JVM such that the second JVM may take over the responsibilities of the first JVM should the first JVM fail. The application-level programmer is thus relieved of the burden of incorporating checkpointing into the source code and/or object code of an application program.


REFERENCES:
patent: 5511197 (1996-04-01), Hill et al.
patent: 5577251 (1996-11-01), Hamilton et al.
patent: 5684955 (1997-11-01), Meyer et al.
patent: 5701502 (1997-12-01), Baker et al.
patent: 5737607 (1998-04-01), Hamilton et al.
patent: 5758186 (1998-05-01), Hamilton et al.
patent: 5787251 (1998-07-01), Hamilton et al.
patent: 5809507 (1998-09-01), Cavandish, III
patent: 5850449 (1998-12-01), McMains
patent: 5860004 (1999-01-01), Fowlow
patent: 5961582 (1999-10-01), Gaines
patent: 5999988 (1999-12-01), Pelegri-Llopart et al.
patent: 6003065 (1999-12-01), Yan et al.
patent: 6016505 (2000-01-01), Badovinartz et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Fault-tolerant java virtual machine does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Fault-tolerant java virtual machine, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Fault-tolerant java virtual machine will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2891130

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.