Shared HTTP Client Session Pool for Process Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing systems face substantial costs and latency due to the need for multiple HTTP client sessions to be initiated for each application process communicating with remote servers, especially when using secure protocols like HTTPS, and managing these sessions across multiple application processes is inefficient, leading to overhead and potential failures.

Innovation Solution

Implementing a shared pool of pre-established HTTP client sessions managed by the operating system, allowing any application process to use these sessions directly without an additional HTTP client process, thereby eliminating the need for inter-process communication and reducing the overhead of session initiation and management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple HTTP client sessions are initiated for each application process, then each process can communicate independently with remote servers, but system cost and latency increase substantially

Engineering Contradiction:
Improveindependent communication capabilityVSAvoidsession initiation latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Multiple application processes share a common pool of HTTP client sessions managed by the operating system, merging previously separate session resources into a shared pool that multiple processes can access simultaneously, thereby reducing redundant session initiations and lowering latency

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

HTTP client sessions are pre-established and maintained in a shared pool before being needed by application processes, allowing processes to immediately use existing sessions rather than initiating new ones, thus eliminating session initiation latency

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If separate HTTP client processes are used for each application process, then session management is simplified, but system overhead and complexity increase

Engineering Contradiction:
Improvesession management simplicityVSAvoidsystem overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The operating system's process management mechanisms are extended to universally manage HTTP client sessions for multiple application processes, allowing the same OS infrastructure to handle both process control and session management, thereby eliminating the need for separate HTTP client processes and reducing system overhead

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

Solution Approach 2:

Application processes directly access and use HTTP client sessions from the shared pool without requiring an intermediate HTTP client process, allowing processes to self-manage their own session usage through direct OS interface, thus eliminating unnecessary process layers and reducing complexity

Inventive Principle:
Principle #25Self-service

3Productivity

If HTTP client sessions are shared across multiple application processes, then resource utilization improves and overhead is reduced, but session management complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsession management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The operating system acts as an intermediary between application processes and HTTP client sessions, providing a centralized management layer that handles session allocation, tracking, and coordination, thereby enabling efficient sharing across multiple processes while keeping management logic centralized and manageable

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10771564B2Sharing system managed HTTP client sessions across processes
Publication Date: 2020.09.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10771564B2 patent drawing
  • US10771564B2 patent drawing
  • US10771564B2 patent drawing

AI summary

Technical solutions are described for sharing HTTP client sessions among multiple processes being executed by a client computing device. An example method includes creating a set of HTTP client sessions for a remote server. The method further includes, in response to receiving an HTTP request from an application process, the HTTP request is for communicating with the remote server, assigning an HTTP client session from the set of HTTP client sessions to the application process, and sending the HTTP request from the application process to the remote server via the HTTP client session that is assigned. The method further includes, in response to receiving a reply from the remote server, deselecting the HTTP client session from the application process, and sending the reply from the remote server to the application process.