Backend Server Caching for In-Flight Transaction Redundancy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional server availability techniques fail to protect in-flight transaction requests, leading to service unavailability when a server fails, especially during peak utilization, resulting in users needing to re-submit requests.

Innovation Solution

A method where clients send duplicate transaction requests through multiple application servers, and the backend server processes and caches responses, ensuring that if one server fails, the cached response can be sent to the client, maintaining service availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional server availability techniques (Active-Active or Active-Passive configuration) are used to provide redundancy of application/integration servers, then service availability is improved, but in-flight transaction requests are not protected and users still need to re-submit requests when a server fails

Engineering Contradiction:
Improveservice availabilityVSAvoidin-flight transaction requests
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs preliminary action by sending duplicate transaction requests in advance through different application servers before the actual transaction needs to be completed. This ensures that at least one request is already processed and waiting for response, protecting against server failures during peak utilization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of transaction requests by sending identical duplicate requests through multiple application servers simultaneously. This copying approach ensures that if one server fails, the duplicate request on another server can complete successfully without requiring user re-submission.

Inventive Principle:
Principle #26Copying

2Reliability

If duplicate transaction requests are sent through multiple application servers, then protection against server failure is improved, but system complexity increases

Engineering Contradiction:
Improvetransaction request protectionVSAvoidsystem configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The backend server performs multiple functions: it processes transaction requests, manages response caching, and handles duplicate request identification. This multi-functionality reduces the need for additional specialized components, thereby limiting the increase in system complexity while maintaining reliability improvements.

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

Solution Approach 2:

The backend server acts as an intermediary between application servers and clients, mediating the complex interactions of duplicate request handling and response caching. This centralizes complexity in a single component rather than distributing it across multiple servers, making the system easier to manage.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the backend server processes and caches responses for duplicate requests, then response delivery reliability is improved, but processing overhead increases

Engineering Contradiction:
Improveresponse deliveryVSAvoidbackend server processing
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The backend server applies different processing quality to different requests: full processing for first-time requests and simplified cached response delivery for duplicate requests. This local quality differentiation reduces overall processing overhead while maintaining high reliability for response delivery.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the state parameter of transaction responses by caching them after first processing. This parameter change from unprocessed to cached state allows subsequent duplicate requests to be handled with minimal processing, reducing energy consumption while maintaining reliability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10972537B2Protecting in-flight transaction requests
Publication Date: 2021.04.06 DOORDASH INC
  • US10972537B2 patent drawing
  • US10972537B2 patent drawing
  • US10972537B2 patent drawing

AI summary

The subject matter described herein relates to protecting in-flight transaction requests, where a client device is connected via at least two application servers to a backend server device that is capable of processing redundant transaction requests originated by the client device. A first instance of a transaction request identified by a transaction identifier is received at the backend server device. The first instance of the transaction request is processed and a transaction response is sent to the client device. The transaction response identified by the transaction identifier is saved in a cache. If a subsequent instance of the transaction request is received, the cached transaction response is sent to the client device.