Stateful Server Request Management for Stateless Clients

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In client-server systems, managing persistent requests efficiently is challenging, especially when clients are stateless and servers are stateful, as it leads to resource management issues and potential denial-of-service attacks due to high volumes of requests.

Innovation Solution

Implementing a method where a stateful server processes persistent requests by maintaining a list of requests, removing older requests when the list reaches a maximum size, and using timers to manage and refresh requests, thereby reducing the burden on clients and protecting against resource exhaustion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a stateless client continuously sends persistent requests to a server, then the client can maintain updated information, but the server resource consumption increases and vulnerability to denial-of-service attacks increases

Engineering Contradiction:
Improveinformation freshnessVSAvoidrequest volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the state management functionality from the client and relocates it to the server. The server now maintains a stateful list of persistent requests with timing information, while the client becomes stateless. This extraction reduces client complexity and prevents resource exhaustion by centralizing request management on the server side, where resources are more abundant and can be better controlled.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the temporal parameters of request handling by introducing time-stamps and inter-request interval calculations. The server tracks when requests were sent and automatically manages persistent requests based on time-based criteria, transforming the continuous high-volume request pattern into a controlled, time-spaced request pattern that reduces server load while maintaining information freshness.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If the client remembers and continuously sends persistent requests, then the client maintains state control, but the client complexity increases

Engineering Contradiction:
Improveclient simplicityVSAvoidclient state management
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent inverts the traditional client-server state management model. Instead of the stateless client remembering and tracking persistent requests (client-side state management), the stateful server now maintains the list of persistent requests with timing information. This inversion simplifies the client to a basic request sender while the server handles the complexity of state management, request scheduling, and timing control.

Inventive Principle:
Principle #13The other way round (Inversion)

3Productivity

If the server processes every incoming persistent request, then all client requests are handled, but the server may slow down or shutdown due to high request volumes

Engineering Contradiction:
Improverequest processing throughputVSAvoidserver stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by having the server pre-establish a stateful list of persistent requests before they are fully processed. When a persistent request arrives, the server checks if it already exists in the pre-maintained list and suppresses duplicates. This preliminary filtering action prevents overwhelming the server with redundant requests while ensuring legitimate persistent requests are processed, thereby maintaining both throughput and server stability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8103781B1Mechanism for handling persistent requests from stateless clients
Publication Date: 2012.01.24 GOOGLE LLC
  • US8103781B1 patent drawing
  • US8103781B1 patent drawing
  • US8103781B1 patent drawing

AI summary

In general, one aspect of the subject matter described in this specification can be embodied in a method that includes receiving at a first device a first request for a physical address of a second device different from the first device, wherein the first request specifies a network address of the second device, and determining that a set of pending requests has a maximum number of requests, wherein the set of pending requests is ordered based on when the requests were received by the first device. The method can further include removing an oldest request from the pending requests and adding the first request to the pending requests, and processing a newest request in the pending requests by sending a message to the second device and receiving the physical address responsive to the message.