Kernel Intent Indicators for Server Data Request Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The round-robin scheme for distributing data requests among servers can lead to unnecessary latency as it does not consider the capabilities or memory types of servers, resulting in requests being directed to servers with slower memory even when faster memory is available elsewhere.

Innovation Solution

Using indicators of intent to access data from software applications to determine which server has the data stored in faster memory and directing subsequent requests to those servers, or prepping the data in faster memory if the server is forewarned of an upcoming request.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If a round-robin scheme is used to distribute data requests among servers, then the load is evenly distributed across all servers, but requests may be directed to servers with slower memory access causing increased latency

Engineering Contradiction:
Improvedata access latencyVSAvoidrequest distribution complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by having software applications provide intent indicators to the kernel before actual data requests are made. The kernel uses these indicators to pre-determine which server will handle future requests, allowing servers to prepare data in advance in their memory. This preliminary action reduces actual data access latency by avoiding last-minute server selection and data retrieval delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The kernel autonomously monitors intent indicators from software applications and automatically selects appropriate servers based on current server memory states and data locations. This self-service mechanism eliminates the need for complex external load balancing algorithms while optimizing data access paths, reducing latency without proportionally increasing system complexity.

Inventive Principle:
Principle #25Self-service

2Loss of time

If requests are distributed without considering server memory capabilities, then the distribution scheme is simple to implement, but servers with slower memory handle requests resulting in higher latency

Engineering Contradiction:
Improvedata retrieval timeVSAvoidrequest distribution management
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The system implements feedback by having software applications provide intent indicators to the kernel about future data access needs. The kernel monitors these indicators and uses them to make informed decisions about request routing. This feedback loop enables the system to adapt to actual data access patterns and server memory states, optimizing data retrieval time while maintaining relatively simple operation through automatic kernel management.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The kernel dynamically changes request distribution parameters based on intent indicators and server memory states. Instead of using fixed round-robin indexing, the system adjusts which server handles which request based on real-time conditions such as which server has data in faster memory. This parameter adaptation reduces data retrieval time while the kernel automates the complexity of tracking and responding to these changing parameters.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11290565B2Distributing requests for data among servers based on indicators of intent to access the data
Publication Date: 2022.03.29 RED HAT INC
  • US11290565B2 patent drawing
  • US11290565B2 patent drawing
  • US11290565B2 patent drawing

AI summary

Requests for data can be distributed among servers based on indicators of intent to access the data. For example, a kernel of a client device can receive a message from a software application. The message can indicate that the software application intends to access data at a future point in time. The kernel can transmit an electronic communication associated with the message to multiple servers. The kernel can receive a response to the electronic communication from a server of the multiple servers. Based on the response and prior to receiving a future request for the data from the software application, the kernel can select the server from among the multiple servers as a destination for the future request for the data.