Network integrated dynamic resource routing
First Claim
Patent Images
1. A method comprising:
- receiving, by a computing device and from a particular network device, a particular quantity of resources,the particular quantity of resources, received from the particular network device, being greater than a threshold quantity of resources,resources, of the particular quantity of resources received from the particular network device, including video data, audio data, image data, or text;
storing, by the computing device and in a data structure, information identifying the particular network device based on the particular quantity of resources being greater than the threshold quantity of resources;
receiving, by the computing device and from a client device, a request for a resource;
determining, by the computing device, that the client device is requesting the resource from the particular network device based on information provided in the request and the data structure;
terminating, by the computing device, a connection for the request at the computing device based on;
the information identifying the particular network device that is stored in the data structure based on the particular quantity of resources being greater than the threshold quantity of resources, andthe client device requesting the resource from the particular network device;
selecting, by the computing device, a target device for the resource based on terminating the connection at the computing device,the target device being selected based on one or more conditions of a network associated with the computing device,the one or more conditions including one or more of a bandwidth of the network or a load on the network;
providing, by the computing device, the request to the selected target device;
receiving, by the computing device, the resource from the selected target device; and
providing, by the computing device, the resource to the client device.
1 Assignment
0 Petitions
Accused Products
Abstract
A device receives, from a client device, a request for a resource, and determines, based on information provided in the request, whether to terminate a connection for the request at the device. The device forwards the request to a network when the connection is not terminated at the device, and selects a target device for the resource when the connection is terminated at the device. The device also provides the request to the selected target device, receives the resource from the selected target device, and provides the resource to the client device.
57 Citations
23 Claims
-
1. A method comprising:
-
receiving, by a computing device and from a particular network device, a particular quantity of resources, the particular quantity of resources, received from the particular network device, being greater than a threshold quantity of resources, resources, of the particular quantity of resources received from the particular network device, including video data, audio data, image data, or text; storing, by the computing device and in a data structure, information identifying the particular network device based on the particular quantity of resources being greater than the threshold quantity of resources; receiving, by the computing device and from a client device, a request for a resource; determining, by the computing device, that the client device is requesting the resource from the particular network device based on information provided in the request and the data structure; terminating, by the computing device, a connection for the request at the computing device based on; the information identifying the particular network device that is stored in the data structure based on the particular quantity of resources being greater than the threshold quantity of resources, and the client device requesting the resource from the particular network device; selecting, by the computing device, a target device for the resource based on terminating the connection at the computing device, the target device being selected based on one or more conditions of a network associated with the computing device, the one or more conditions including one or more of a bandwidth of the network or a load on the network; providing, by the computing device, the request to the selected target device; receiving, by the computing device, the resource from the selected target device; and providing, by the computing device, the resource to the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A network device, comprising:
-
a memory to store a local cache of resources; and a processor to; receive, from a device, a quantity of resources, the quantity of resources, received from the device, being greater than a threshold quantity of resources, resources, of the quantity of resources received from the device, including video data, audio data, image data, or text; store, in a data structure, information identifying the device based on the quantity of resources being greater than the threshold quantity of resources; receive, from a client device, a request for a resource; determine, based on information included in the request and the data structure, that the client device is requesting the resource from the device; terminate a connection for the request at the network device based on; the information identifying the device that is stored in the data structure based on the quantity of resources being greater than the threshold quantity of resources, and the client device requesting the resource from the device; determine, based on the connection for the request being terminated, whether the resource is stored in the local cache; select the local cache as a target device for the resource when the resource is stored in the local cache; select the target device, from a plurality of devices storing resources, when the resource is not stored in the local cache, the target device being selected based on one or more conditions of a network associated with the network device, the one or more conditions including one or more of a bandwidth of the network or a load on the network; provide, when the resource is not stored in the local cache, the request to the selected target device; receive, based on providing the request to the selected target device, the resource from the selected target device; and provide, based on receiving the resource from the selected target device, the resource to the client device. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. One or more non-transitory computer-readable media storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors, cause the one or more processors to; receive, from a device, a quantity of resources, resources, of the quantity of resources received from the device, including video data, audio data, image data, or text, the quantity of resources, received from the device, being greater than a threshold quantity of resources; store, in a data structure, information identifying the device based on the quantity of resources being greater than the threshold quantity of resources; receive, from a client device, a request for a resource; determine that the client device is requesting the resource from the device based on information, provided in the request, matching a portion of information stored in the data structure; terminate a connection for the request based on; the information identifying the device that is stored in the data structure based on the quantity of resources being greater than the threshold quantity of resources, and the client device requesting the resource from the device; select a target device for the resource based on terminating the connection, the target device being selected based on one or more conditions of a network associated with the client device; provide the request to the selected target device; receive the resource from the selected target device; and provide the resource to the client device. - View Dependent Claims (18, 19, 20, 21, 22, 23)
Specification