Web UI Framework Local Caching for Update Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Organizations face challenges with software installation and maintenance on in-house computer systems, including time-consuming processes, compatibility issues, and the need for frequent updates, which can lead to outdated software and compatibility problems across different systems.

Innovation Solution

The development of an improved web user interface framework for building web applications that utilizes on-demand services, enabling efficient management of web applications through local caching of component definitions and server-side actions, minimizing bandwidth usage, and providing mechanisms for seamless updates and caching of responses to enhance user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If software is installed on in-house computer systems, then the organization can use the software locally, but the installation and maintenance process becomes time-consuming and resource-intensive

Engineering Contradiction:
Improvesoftware installation and maintenanceVSAvoidinstallation and maintenance time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements local caching of component definitions and application metadata on client devices, creating local copies of software artifacts. This allows the application to run from cached local copies without requiring repeated server communications, significantly reducing installation and update time while maintaining ease of operation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary actions by pre-fetching and caching component definitions, application metadata, and other software artifacts on client devices before they are needed. This advance preparation eliminates the need for time-consuming on-demand downloads during installation or updates.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If software is installed on multiple computer systems, then the organization can access the software across different devices, but compatibility issues and version control become problematic

Engineering Contradiction:
Improvesoftware accessibility across devicesVSAvoidsoftware compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent distributes cached copies of component definitions and application metadata across multiple client devices. Each device maintains its own local cache, ensuring consistent access to the same software version regardless of which device is used, thereby improving both accessibility and compatibility.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system creates a universal application layer that runs consistently across different devices and operating systems. By caching standardized component definitions and using a cross-platform runtime environment, the application maintains the same behavior and compatibility across diverse device types.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If software is frequently updated to address security and functionality, then the software remains current and secure, but the update process becomes resource-intensive and may cause disruptions

Engineering Contradiction:
Improvesoftware currency and securityVSAvoidupdate time and disruption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-fetching updated component definitions and application metadata during off-peak times or in the background. Updates are staged in the local cache before being activated, allowing seamless transitions without disrupting user workflows or requiring scheduled downtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements periodic background checks for updated component definitions and application metadata. Instead of forcing immediate updates, the system periodically synchronizes with the server in the background, automatically applying updates during non-critical periods and minimizing user disruption while maintaining software currency.

Inventive Principle:
Principle #19Periodic action

4Reliability

If component definitions and application metadata are frequently transmitted to client devices, then the clients have up-to-date information, but bandwidth usage increases

Engineering Contradiction:
Improvedata currencyVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system implements local quality by maintaining cached copies of component definitions and application metadata on each client device. Instead of transmitting the entire data set repeatedly, the system sends only incremental updates or delta changes to the local cache, significantly reducing bandwidth consumption while maintaining data currency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system creates local copies of component definitions and application metadata in the client cache. These cached copies are updated incrementally through differential synchronization, where only changed portions are transmitted. This approach maintains data currency while minimizing the energy and bandwidth required for updates.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10942726B2Providing an improved web user interface framework for building web applications
Publication Date: 2021.03.09 SALESFORCE INC
  • US10942726B2 patent drawing
  • US10942726B2 patent drawing
  • US10942726B2 patent drawing

AI summary

Disclosed are methods, systems, and computer program products for updating a web application displayed on a client machine. In some implementations, a server maintains a database of application identifiers identifying instances of one or more web applications. The server receives, from a first client machine, a communication identifying a first web application and a first application identifier, the instance of the first web application being associated with one or more components. The server determines that the first application identifier is not included in the database of application identifiers, and generates an updated application identifier for the instance of the first web application based on component version identifiers of the one or more components. The server stores the updated application identifier and transmits a notification to the first client machine indicating that the instance of the first web application is out-of-date.