Transactional Application Deployment via Context Copying
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In clustered or distributed application server environments, existing data replication methods fail to maintain configuration consistency across the entire domain, leading to potential failures during application deployment and redeployment, especially when the administration server is unavailable.
Innovation Solution
A transactional distribution mechanism that deploys changes to a copy of the application context, allowing for error detection before applying them to the actual context, using a multiple-phase commit process between the administration server and managed servers to ensure consistency and prevent failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data replication is used to distribute configuration from Admin server to managed servers, then server startup speed is improved and independent server operation is enabled, but configuration consistency across the domain deteriorates
Solution Approach 1:
The patent applies preliminary action by creating a copy of the application context before making any changes. This pre-prepared copy serves as a sandbox environment where modifications can be tested and validated before being applied to the actual running system, thus preventing consistency issues while maintaining fast startup times through local caching.
Solution Approach 2:
The patent introduces an intermediary mechanism - a copy of the application context - that mediates between the Admin server's configuration changes and the managed servers' running applications. This intermediary layer allows changes to be prepared, validated, and approved before being transmitted to managed servers, ensuring configuration consistency is maintained.
2Productivity
If changes are deployed directly to the running application context, then deployment speed is improved, but the risk of domain failures increases
Solution Approach 1:
The system performs preliminary actions by preparing changes on a copy of the application context before deploying them to the running system. This includes validating the changes, checking for errors, and ensuring compatibility with the current domain configuration, thereby maintaining fast deployment while reducing failure risks.
Solution Approach 2:
The patent implements beforehand cushioning by creating a protective layer - a copy of the application context - that absorbs and isolates potential errors before they can affect the running domain. If validation fails or errors are detected, the changes are discarded without impacting the stable running system, thus cushioning against potential failures.
3Difficulty of detecting and measuring
If changes are made on a copy of the application context, then error detection capability is improved, but deployment complexity increases
Solution Approach 1:
The patent uses copying to create a duplicate of the application context that can be freely modified and validated without affecting the running system. This copy serves as a test environment where errors can be detected and corrected before deployment, improving error detection while the automated validation process keeps complexity manageable.
Solution Approach 2:
The system implements self-service through automated validation and verification mechanisms that perform error detection, consistency checking, and deployment readiness assessment without requiring manual intervention. This automation reduces the perceived complexity despite the additional validation steps.
Data Source
AI summary
A transactional distribution infrastructure enables multiple participants to work together to deploy changes to an executing context. Embodiments can prepare new changes to executing applications based on a copy of the running context or domain rather than the actual running domain. Performing the changes on a copy of the running domain rather than on the actual running domain allows the changes to be examined, therefore providing an opportunity to detect errors and prevent the changes from causing failures on the domain.


