Hot-Deploying Application Code Segments to Reduce Synchronization Delay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hot deployment methods for Internet applications are inefficient due to the large size of application modules or files, leading to delays in synchronization between clients and servers, which hinders prompt updates and user experience.

Innovation Solution

Implementing a system that synchronizes smaller data resources, such as code segments or webpage elements, allowing for finer granularity updates, enabling immediate page updates based on updated data resources without requiring full application restarts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If application modules or files are used as the smallest resource unit for updates, then the update scope is manageable, but the synchronization delay increases and real-time updates cannot be achieved

Engineering Contradiction:
Improvesynchronization delayVSAvoidresource unit size
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent segments the application into the smallest executable units called code segments. Instead of updating entire application modules or files, the system identifies and updates only the specific code segments that have changed. This segmentation enables fine-grained synchronization, reducing the amount of data that needs to be transmitted and applied, thereby minimizing synchronization delay while maintaining manageable update scopes.

Inventive Principle:
Principle #1Segmentation

2Productivity

If larger application modules are updated, then fewer resources need to be synchronized, but the synchronization time increases significantly

Engineering Contradiction:
Improveupdate efficiencyVSAvoidsynchronization time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides application modules into smaller code segments and updates only the specific segments that have changed rather than entire modules. This segmentation approach reduces the volume of data to be synchronized while maintaining update efficiency, as only the necessary minimal changes are transmitted and applied to the running application.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by updating only the specific code segments that have been modified, rather than performing full module or file updates. The system identifies changed code segments through hashing mechanisms and transmits only these partial updates, reducing synchronization time while ensuring that all necessary updates are applied without unnecessary overhead.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If code segments are used as the smallest resource unit, then synchronization speed improves, but the complexity of managing code segment life cycles increases

Engineering Contradiction:
Improvesynchronization speedVSAvoidresource management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the application into code segments with unique identifiers and hashing mechanisms. Each code segment is independently identifiable and manageable, allowing the system to track and update only specific segments. This segmentation provides a structured approach to managing fine-grained resources, reducing the apparent complexity through systematic organization of identifiers, hashes, and version tracking for each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms through hashing algorithms that generate unique identifiers for code segments. The system continuously monitors and compares hashes of local and server-side code segments, providing feedback on which segments have changed. This automated feedback loop simplifies the management of code segment life cycles by enabling automatic detection, notification, and updating of changed segments without manual intervention.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If traditional hot deployment methods are used, then application updates can be performed, but the granularity is too coarse for real-time synchronization

Engineering Contradiction:
Improveupdate granularityVSAvoidsynchronization delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent further segments application modules into code segments, which are the smallest executable units. This finer segmentation enables the system to update individual code segments rather than entire modules, achieving the fine granularity required for real-time synchronization. The segmentation allows precise control over what is updated, enabling rapid synchronization of only the specific changed elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by updating only the specific code segments that have changed, rather than performing full module updates. This approach achieves the necessary update granularity for real-time synchronization while minimizing the amount of data transmitted and processed, thereby reducing synchronization delay and enabling near-real-time updates.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11055085B2Method, apparatus, and system for hot-deploying application
Publication Date: 2021.07.06 BANMA ZHIXING NETWORK HONGKONG CO LTD
  • US11055085B2 patent drawing
  • US11055085B2 patent drawing
  • US11055085B2 patent drawing

AI summary

Embodiments of the present application disclose a method, device, and system for application hot deployment. The method includes determining, by one or more processors associated with a terminal, that a data resource is updated, and in response to determining that the data resource is updated, obtaining, by the one or more processors, an updated data resource, and updating a page displayed by a browser on the terminal, wherein the data resource is used in connection with the page being rendered, and the updating being based at least in part on the updated data resource.