Distributing requests for data among servers based on indicators of intent to access the data

US11290565B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11290565-B2
Application numberUS-202016991733-A
CountryUS
Kind codeB2
Filing dateAug 12, 2020
Priority dateMay 15, 2017
Publication dateMar 29, 2022
Grant dateMar 29, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 1. A system comprising: a processing device; and a memory device including instructions for a kernel, the instructions being executable by the processing device for causing the processing device to: receive a message from a software application, the message indicating an intention of the software application to access data at a future point in time, wherein the message includes an fadvise command indicating the data and a data-access pattern; and in response to receiving the message and prior to receiving a request for the data from the software application: detect the fadvise command in the message; generate a plurality of electronic communications based on detecting the fadvise command in the message; transmit the plurality of electronic communications to a plurality of servers, the plurality of electronic communications indicating the data that the software application intends to access at the future point in time; receive a response to an electronic communication of the plurality of electronic communications from a server of the plurality of servers; and based on the response, select the server from among the plurality of servers as a destination from which to obtain the data when responding to a future request for the data from the software application. 2. The system of claim 1 , wherein the response from the server is ambiguous as to whether the server is capable of handling the future request for the data. 3. The system of claim 1 , wherein the memory device further includes instructions for the kernel that are executable by the processing device for causing the processing device to, subsequent to selecting the server: store an identifier of the server in a database; receive the request for the data from the software application; retrieve the data from the server based on the identifier in the database; and provide the data back to the software application. 4. The system of claim 1 , wherein the plurality of electronic communications include the fadvise command. 5. The system of claim 1 , wherein the plurality of electronic communications include a command that is of a different type from the fadvise command, and wherein the memory device further includes instructions for the kernel that are executable by the processing device for causing the processing device to determine the command based on the fadvise command by using a database or an algorithm. 6. The system claim 1 , wherein: the plurality of electronic communications are configured to indicate to the plurality of servers that the software application expects to access the data in a random order; and the kernel is configured to: receive responses to the plurality of electronic communications from only a subset of servers in the plurality of servers, the subset of servers including the server and being capable of handling the future request for the data in the random order; and select the server randomly from among the subset of servers based on receiving the responses from the subset of servers. 7. A method comprising: receiving, by a kernel executing on a computing device, a message from a software application, the message indicating an intention of the software application to access data at a future point in time, wherein the message includes an fadvise command indicating the data and a data-access pattern; and in response to receiving the message and prior to receiving a request for the data from the software application: detecting, by the kernel, the fadvise command in the message; generating, by the kernel, a plurality of electronic communications based on detecting the fadvise command in the message; transmitting, by the kernel, the plurality of electronic communications to a plurality of servers, the plurality of electronic communications indicating the data that the software application intends to access at the future point in time; receiving, by the kernel, a response to an electronic communication among the plurality of electronic communications from a server among the plurality of servers; and based on the response, selecting, by the kernel, the server from among the plurality of servers as a destination from which to obtain the data when responding to a future request for the data from the software application. 8. The method of claim 7 , wherein the response from the server is ambiguous as to whether the server is capable of handling the future request for the data. 9. The method of claim 7 , further comprising, subsequent to selecting the server: storing, by the kernel, an identifier of the server in a database; receiving, by the kernel, the request for the data from the software application; retrieving, by the kernel, the data from the server based on the identifier in the database; and providing, by the kernel, the data back to the software application. 10. The method of claim 7 , wherein the plurality of electronic communications include the fadvise command. 11. The method of claim 7 , wherein the plurality of electronic communications include a command that is different from the fadvise command, and further comprising: determining, by the kernel, the command based on the fadvise command by using a database or an algorithm. 12. The method of claim 7 , wherein: the electronic communication indicates to the server that the software application expects to access the data in a sequential order; the response from the server indicates that the server is capable of handling the future request for the data in the sequential order; and the kernel selects the server from among the plurality of servers based on the response indicating that the server is capable of handling the future request for the data in the sequential order. 13. The method of claim 7 , wherein the plurality of electronic communications indicate to the plurality of servers that the software application expects to access the data in a random order, and further comprising: receiving, by the kernel, responses to the plurality of electronic communications from only a subset of servers in the plurality of servers, the subset of servers including the server and being capable of handling the future request for the data in the random order; and selecting, by the kernel, the server randomly from among the subset of servers based on receiving the responses from the subset of servers. 14. A non-transitory computer-readable medium comprising program code for a kernel, the kernel being executable by a processing device for causing the processing device to: receive a message from a software application, the message indicating an intention of the software application to access data at a future point in time, wherein the message includes an fadvise command indicating the data and a data-access pattern; and in response to receiving the message and prior to receiving a request for the data from the software application: detect the fadvise command in the message; generate a plurality of electronic communications based on detecting the fadvise command in the message; transmit the plurality of electronic communications to a plurality of servers, the plurality of electronic communications indicating the data that the software application intends to access at the future point in time; receive a response to an electronic communication among the plurality of electronic communications from a server among the plurality of servers; and based on the response, select the server from among the plurality of servers as a destination from which to obtain the data when responding to a future request for the data from the software application.

Assignees

Inventors

Classifications

  • Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70) · CPC title

  • Persistence of sessions during load balancing · CPC title

  • Protocols · CPC title

  • involving the movement of software or configuration parameters  (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title

  • Management of client data (terminal profiles in network data switching protocols H04L67/303) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11290565B2 cover?
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…
Who is the assignee on this patent?
Red Hat Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1027. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 29 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).