Middleware Priority-Driven Boxcarring for Cloud App Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web applications serving millions of users face challenges in delivering fast performance due to high transaction volumes and network latency, particularly in component-driven cloud applications, which affects user experience and the need for dynamic optimization of transaction speed between client and application servers.

Innovation Solution

A middleware application on the user device measures network communication latency and adjusts inter-boxcar intervals to dispatch batches of action requests, prioritizing components and regions to optimize network performance and user experience by batching action requests into 'boxcars' based on priority labels and network conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If action requests are sent individually without batching, then response time for individual requests is faster, but network overhead and connection usage increase significantly

Engineering Contradiction:
Improveresponse timeVSAvoidnetwork overhead
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The patent merges multiple individual action requests into a single batched boxcar request. The boxcar mechanism consolidates multiple component action requests into one network transaction, reducing network overhead and connection usage while maintaining acceptable response times through efficient server-side processing and prioritization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary actions by pre-batching multiple action requests into boxcars before transmission. The system prepares and groups requests in advance based on component priorities and dependencies, so that when transmitted together, they optimize network efficiency without significantly delaying individual response times.

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If boxcarring is used to batch action requests, then network performance improves, but perceived page load time may increase due to batching delays

Engineering Contradiction:
Improvenetwork performanceVSAvoidperceived page load time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent applies local quality by implementing priority-based differentiation within boxcarring. Critical components and regions are assigned higher priorities and processed with shorter inter-boxcar intervals, while less critical components use longer intervals. This ensures that important content loads quickly despite batching, maintaining good perceived performance while optimizing overall network efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic inter-boxcar intervals that adjust based on component priority, network conditions, and component dependencies. The system dynamically modifies batching parameters in real-time, using shorter intervals for high-priority components and longer intervals for low-priority ones, thereby optimizing both network performance and perceived load time adaptively.

Inventive Principle:
Principle #15Dynamics

3Speed

If inter-boxcar intervals are shortened to improve responsiveness, then perceived performance improves, but network connection overhead increases

Engineering Contradiction:
ImproveresponsivenessVSAvoidconnection overhead
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent changes the parameter of inter-boxcar intervals dynamically based on component priority and network conditions. By adjusting this temporal parameter, the system achieves responsiveness for critical components while minimizing connection overhead through longer intervals for non-critical components, effectively resolving the contradiction between speed and energy loss.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If all components are loaded simultaneously, then complete page functionality is achieved, but network resource consumption and load time increase

Engineering Contradiction:
Improvepage functionalityVSAvoidload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the page loading process into priority-based groups using boxcarring. Components are divided into different priority levels (critical, important, optional), and each segment is loaded in appropriate batches. This ensures that critical functionality is loaded first and quickly, while less critical components follow, reducing overall load time while maintaining complete functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary classification and prioritization of components before loading. Action requests are pre-grouped into boxcars based on component dependencies and priorities, so that the most essential page functionality is prepared and transmitted first, ensuring rapid availability of core features while non-critical features load subsequently.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10250716B2Priority-driven boxcarring of action requests from component-driven cloud applications
Publication Date: 2019.04.02 SALESFORCE INC
  • US10250716B2 patent drawing
  • US10250716B2 patent drawing
  • US10250716B2 patent drawing

AI summary

Improved perceived load time for browser and mobile application pages is achieved by adjusting boxcarring of action requests from coupled data consuming applications on the user device, using the priority level of regions and components in component-driven cloud applications. Priority labels differentiate among display regions rendered by the data consuming application and the priority labels further differentiate among components within respective display regions. The middleware application batches the action requests into batches based at least in part on the priority labels, into boxcars segregated by priority label according to a predetermined segregation schedule, and dispatches the boxcars of batched action requests to the server. Performance is also dynamically speeded up, by adjusting inter-boxcar intervals used to dispatch batches of action requests from the user device to a production server, based on the dynamically measured network communication latency between the user device and the server.