Long-Running Client-Server Process Handling via Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In network environments, long-running client-server processes can lead to resource constraints on both client and server sides, causing inefficiencies and disabling user interfaces while waiting for responses, as HTTP is a request-reply protocol that requires clients to wait for server responses before releasing connections.

Innovation Solution

A method is implemented where a processor on a server device receives requests from a client, initiates processes on a second server, and communicates status updates back to the client using HTTP and REST interactions, allowing for the management of process initiation, status queries, and cancellation, including specific status codes and timing instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a client waits for a server response in a request-reply protocol, then the client can obtain the processing result, but hardware resources on both client and server sides become constrained

Engineering Contradiction:
Improveresponse completionVSAvoidresource availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the HTTP interaction into separate phases: an initial request phase that quickly establishes connection and returns acceptance, followed by an independent status checking phase where the client queries process status without blocking the connection. This allows the client to release the connection after receiving acceptance while still being able to check status later, thereby freeing hardware resources while ensuring response completion.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The server performs preliminary action by processing the request in the background after quickly accepting it, rather than waiting for the client to receive the complete response. The server initiates long-running processes asynchronously and returns acceptance immediately, allowing resource-intensive operations to proceed without constraining client or server hardware resources during the waiting period.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a client waits for a server response, then the client can obtain processing results, but the user interface may be effectively disabled

Engineering Contradiction:
Improveresponse completionVSAvoiduser interface interactivity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent divides the interaction into separate segments: the initial request/acceptance phase and the status checking phase. This segmentation allows the user interface to remain interactive during the status waiting period, as the client can query status asynchronously without blocking the UI thread. The user can continue to interact with the interface while periodically checking process status through separate HTTP requests.

Inventive Principle:
Principle #1Segmentation

3Productivity

If web servers limit the number of open connections based on available CPU threads, then server resources are protected, but the ability to support long-running processes is reduced

Engineering Contradiction:
Improveconnection support capacityVSAvoidprocess execution time
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The server performs preliminary acceptance of the connection and request without committing long-term resources. By returning a quick acceptance response and allowing the client to release the connection, the server can handle many more concurrent connections than traditional models. The long-running processes are executed in the background without requiring persistent connection slots, thereby increasing connection support capacity while maintaining support for extended process execution times.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11012537B2Method for handling long-running client-server processes
Publication Date: 2021.05.18 JPMORGAN CHASE BANK NA
  • US11012537B2 patent drawing
  • US11012537B2 patent drawing
  • US11012537B2 patent drawing

AI summary

Systems and methods for performing a process are provided. The methods include receiving, from a client, a request for an initiation of the process; transmitting, to a server, a request for executing the process; transmitting, to the client in response to the request, a first message that indicates that the process has been initiated; receiving, from the client, a request for a status of the process; transmitting, to the server, a query that relates to the status of an execution of the process; receiving a response to the query; and transmitting, to the client, a second message that indicates the status of the process.