Server Session Microcache for Reliable Multi-Client Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a multi-client, multi-server environment, client requests can lead to uncertainty regarding processing status due to unreliable communications, resulting in potential duplicate processing or missed transactions, as clients are unsure if requests were received, processed, or if responses were successfully transmitted.

Innovation Solution

Implementing a server-specific session microcache that stores responses to client requests, allowing servers to resend cached responses instead of reprocessing requests and enabling clients to maintain a response list for tracking received responses, ensuring idempotent operations by using session IDs and correlation IDs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the client sends a request to the server, then the server processes the request, but the client cannot determine whether the request was received, processed, or if the response was successfully transmitted

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidrequest status information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent implements a feedback mechanism where the server sends acknowledgment responses to the client, and the client tracks these responses using correlation IDs. The client maintains a list of sent requests and their corresponding responses, allowing it to determine the status of each request. This feedback loop resolves the information loss problem by ensuring the client receives confirmation of request receipt and processing status.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces a correlation ID as an intermediary element that links requests and responses. This correlation ID acts as a mediator between the client and server, allowing the client to track the status of requests without requiring direct inspection of server internal states. The correlation ID enables reliable tracking across potentially unreliable network communications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the client sends a request again when no response is received, then the client ensures transaction completion, but the server may process the request twice causing duplicate charges

Engineering Contradiction:
Improvetransaction completionVSAvoidduplicate processing
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent implements preliminary action by having the server record received requests in a cache structure before processing them. When a request is received, the server stores it with a unique correlation ID and acknowledgment status. This preliminary recording allows the server to recognize duplicate requests and prevent duplicate processing, while still allowing the client to retry if necessary.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The server sends feedback responses to the client confirming request receipt and processing status. The client uses this feedback information to determine whether to retry a request. This feedback mechanism prevents duplicate processing by informing the client when a request has been successfully received and processed, eliminating the need for blind retries that could cause duplication.

Inventive Principle:
Principle #23Feedback

3Object-generated harmful factors

If the client does not re-send the request when no response is received, then the client avoids duplicate processing, but the server may never receive the request resulting in lost transactions

Engineering Contradiction:
Improveduplicate processing preventionVSAvoidtransaction completion
Core Design Contradiction:
Object-generated harmful factorsVSReliability

Solution Approach 1:

The server sends feedback responses to confirm request receipt and processing status. The client uses this feedback to make intelligent decisions about whether to retry. If the client receives confirmation that the request was processed, it knows not to retry. If no confirmation is received within a reasonable time, the client can retry. This feedback mechanism ensures both duplicate prevention and transaction completion.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The client maintains its own record of sent requests and received responses, autonomously determining when to retry based on its tracking. The client self-manages the retry logic by comparing its sent request list against received responses, eliminating the need for server intervention in the decision-making process while ensuring reliable transaction completion.

Inventive Principle:
Principle #25Self-service

4Productivity

If the server stores responses in a session microcache, then the server can resend cached responses instead of reprocessing, but the system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidserver structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the server's request handling into distinct phases: request receipt, processing, response generation, and caching. The session microcache is segmented by session ID, creating isolated storage spaces for different client sessions. This segmentation allows efficient caching and resending of responses without interfering with other sessions, improving productivity while managing complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The server creates a copy of the response and stores it in the session microcache instead of reprocessing the original request. This copying approach allows the server to resend the same response to the client without performing the expensive processing operation again. The copy is stored with the correlation ID, enabling quick retrieval and resending while avoiding duplicate processing work.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9866654B2Managing communications in a multi-client; multi-server environment
Publication Date: 2018.01.09 TOSHIBA GLOBAL COMMERCE SOLUTIONS HLDG
  • US9866654B2 patent drawing
  • US9866654B2 patent drawing
  • US9866654B2 patent drawing

AI summary

According to one aspect of the present disclosure, a method is implemented by a server in a server cluster. A request received from a client includes a session identifier (ID) identifying a session between the client and the server, and a correlation ID that is linked to the request. If the correlation ID is not included in an individual server-specific session microcache for the session, the request is processed to determine a response, the response is added to the session microcache, and the response and an indication of the correlation ID are sent to the client. If the correlation ID and a response to the request are stored in the session microcache, the response and an indication of the correlation ID are re-sent to the client. The session ID and session microcache are transferred to another of the plurality of servers in the server cluster to continue the session.