Client Server Request Handling with Dynamic Idempotency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client/server systems lack dynamic determination of operation idempotency, which is crucial for handling communication failures and timeouts, as they often require static definitions that do not account for varying client capabilities and requirements.

Innovation Solution

A method and apparatus that intercept client requests, add a client type identifier, and obtain behavior characteristics from responses, allowing clients to determine if multiple invocations of operations yield the same result, enabling dynamic behavior adjustment based on client type and handling timeouts or communication failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If static definition of idempotency is used, then client can know operation behavior in advance, but system cannot adapt to different client types and requirements

Engineering Contradiction:
Improveadaptability to different client typesVSAvoidloss of behavior characteristic information
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent implements dynamic determination of idempotency behavior by having the server evaluate operation characteristics at runtime based on client type, replacing static pre-defined classifications. The server process dynamically adds behavior characteristics to responses based on the specific client making the request, allowing the same operation to have different idempotency properties for different client types.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different behavior characteristics to different client types for the same operation. Instead of a uniform static definition, each client type can receive tailored behavior information appropriate to its capabilities and requirements, allowing localized adaptation of idempotency semantics across different client segments.

Inventive Principle:
Principle #3Local quality

2Reliability

If client re-issues failed requests, then service availability improves, but permanent updates may be duplicated

Engineering Contradiction:
Improveservice availabilityVSAvoidduplicate permanent updates
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent implements feedback by having the server evaluate and return behavior characteristics (idempotency information) with each response. The client uses this feedback to determine whether safe retry is possible after a failure, preventing duplicate permanent updates while maintaining service availability through intelligent retry logic.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary determination of operation behavior characteristics before the client attempts the operation. By knowing in advance whether an operation is idempotent for a given client type, the client can make informed decisions about retry strategies, avoiding harmful duplicate updates before they occur.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If operation behavior is determined at runtime, then system adapts to client capabilities, but additional processing overhead is introduced

Engineering Contradiction:
Improveruntime behavior determinationVSAvoidprocessing overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having the server automatically evaluate and attach behavior characteristics to responses based on client type and operation properties. This eliminates the need for manual static configuration while keeping the automation lightweight through rule-based evaluation rather than complex runtime computation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8364747B2Client/server request handling
Publication Date: 2013.01.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8364747B2 patent drawing
  • US8364747B2 patent drawing
  • US8364747B2 patent drawing

AI summary

The present invention provides a method, apparatus and computer program product which enables a target service to provide operations which behave, on a per operation basis, in a way appropriate to the type of client that requested the operation to be performed. As a result the target service can provide operations which behave differently for different clients. Further the client can obtain details of the behavior characteristics of the operations, according to its type, at runtime and act appropriately in the event of the request being timed out or resulting in a communication failure. For example, the client middleware can take action to re-issue a timed out request if the behavior characteristic for that operation indicates that multiple invocations of the operation will yield the same result.