Back to results
US 10,666,719 B2Granted
Using read weight affinities to optimize the reading of block cache data
AssigneeGitHub, Inc.
InventorsPatrick Reynolds, Russell Belfer
Life of this patent
Estimating the term…
Abstract
A system for directing reads includes an input interface and a processor. The input interface is to receive a request to read from a plurality of servers. The processor is to determine a set of weights for a set of healthy servers of the plurality of servers and determine a server to receive the request based at least in part on the set of weights.
Claims20
A system for directing reads, comprising:
- at least one processor;
- and
- one or more storage device having stored computer-executable instructions that are executable by the at least one processor to cause the system to perform a method that includes:
- receiving, from a requesting system via a computer network, a request to read data, the data being stored at a plurality of servers in the computer network, each server also including an assigned weight;
- determining a set of healthy servers from the plurality of servers;
- for any server in the plurality of servers excluded from the set of healthy servers, modifying the assigned weight for each server in the set of healthy servers based on the assigned weight of that server being excluded from the set of healthy servers;
- determining a server of the set of healthy servers to receive the request based at least in part on the assigned weights of the set of healthy servers;
- and
- directing the request to a selected server in the set of healthy servers based on the assigned weights of the set of healthy servers, wherein the requesting system is configured to read the data from the selected server, the selected server having a repository data cache and a repository index, the repository data cache being a faster access point for accessing the data than from disk storage on the server.
6 more elements
A method for providing a request for data to a selected server that is deterministically selected from a plurality of servers to receive the request, the method being implemented by a computing system and comprising:
- receiving, from a requesting system via a computer network, a request to read data, the data being stored at each of the plurality of servers in the computer network, each server also including an assigned weight;
- determining a set of healthy servers from the plurality of servers;
- for any server in the plurality of servers excluded from the set of healthy servers, modifying the assigned weight for each server in the set of healthy servers based on the assigned weight of that server being excluded from the set of healthy servers;
- determining a server of the set of healthy servers to receive the request based at least in part on the assigned weights of the set of healthy servers;
- and
- directing the request to a selected server in the set of healthy servers based on the assigned weights of the set of healthy servers, wherein the requesting system is configured to read the data from the selected server, the selected server having a repository data cache and a repository index, the repository data cache being a faster access point for accessing the data than from disk storage on the server.
3 more elements
Dependencies are inferred from the claim text.