Transparent High Availability for Distributed Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current enterprise computer systems lack mechanisms for providing high availability and automatic fault detection and recovery for distributed applications across multiple computers, requiring custom coding, hardware, and proprietary solutions, which are expensive and not transparent to clients.
Innovation Solution
A system-level high-availability service that automatically detects and recovers distributed applications by injecting registration code into sub-programs, coordinating backup nodes, and maintaining transparent migration, ensuring fault tolerance without custom coding or specialized hardware, and protecting against node, network, and process faults.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If customized applications run on custom hardware to achieve high availability, then reliability is improved, but device complexity and cost increase
Solution Approach 1:
The patent creates virtual copies of computing instances that can be rapidly deployed as backups. These virtual copies maintain the same software environment and configuration as the original instance, enabling automatic failover without requiring custom hardware. The virtualization layer allows multiple virtual instances to share physical hardware resources, reducing complexity while maintaining high availability.
Solution Approach 2:
The patent introduces a virtualization layer as an intermediary between the physical hardware and the application software. This virtualization layer abstracts the underlying hardware complexity and provides a standardized interface for deploying and managing computing instances. The virtual machine monitor (VMM) manages resource allocation and enables rapid instance creation and migration, eliminating the need for custom hardware while maintaining reliability.
2Reliability
If distributed applications run across multiple servers, then reliability is improved, but ease of operation deteriorates due to lack of protection mechanisms
Solution Approach 1:
The patent implements a health monitoring system that continuously checks the status of distributed application instances across multiple servers. When a failure is detected, the system automatically triggers failover procedures to redirect traffic to healthy instances. This feedback mechanism simplifies operation by automatically detecting and responding to failures without requiring manual intervention, while maintaining reliability through distributed deployment.
Solution Approach 2:
The patent enables distributed applications to automatically manage their own failover and recovery processes. The system includes self-healing capabilities where instances can automatically detect their own failures and trigger recovery procedures. The load balancer and virtualization layer work together to automatically redistribute traffic, eliminating the need for manual fault detection and recovery operations.
3Reliability
If automatic fault detection and recovery is implemented for distributed applications, then reliability is improved, but system complexity increases
Solution Approach 1:
The patent creates a universal virtualization platform that provides multiple functions including fault detection, automatic failover, load balancing, and instance management through a single integrated system. The virtual machine monitor and virtualization layer serve multiple purposes simultaneously, reducing overall system complexity while enabling automatic fault recovery. The same virtualization infrastructure that enables distributed deployment also provides the management plane for automatic failover.
4Ease of operation
If transparent high availability is provided without custom coding, then ease of operation is improved, but reliability may deteriorate without specialized mechanisms
Solution Approach 1:
The patent creates exact virtual copies of application instances that can be rapidly deployed as backups. These copies include all necessary software environments, configurations, and state information, enabling transparent failover without requiring custom application coding. The virtualization layer handles the complexity of maintaining these copies, providing both transparency and reliability simultaneously.
Solution Approach 2:
The patent pre-configures backup instances and maintains them in a ready state through the virtualization platform. When failures occur, these pre-prepared instances can immediately take over without requiring custom failover logic in the application code. The system maintains a pool of standby virtual instances that can be rapidly activated, providing transparent high availability while maintaining reliability through pre-established protection mechanisms.
Data Source
AI summary
Method, system, apparatus and/or computer program for achieving transparent integration of high-availability services for distributed application programs. Loss-less migration of sub-programs from their respective primary nodes to backup nodes is performed transparently to a client which is connected to the primary node. Migration is performed by high-availability services which are configured for injecting registration codes, registering distributed applications, detecting execution failures, executing from backup nodes in response to failure, and other services. High-availability application services can be utilized by distributed applications having any desired number of sub-programs without the need of modifying or recompiling the application program and without the need of a custom loader. In one example embodiment, a transport driver is responsible for receiving messages, halting and flushing of messages, and for issuing messages directing sub-programs to continue after checkpointing.


