Predictive, multi-layer caching architectures
First Claim
1. At least one computer-readable storage medium storing computer-executable instructions that, when executed by one or more processors of a prediction server, cause the one or more processors to perform acts comprising:
- receiving an image request from a proxy server communicatively coupled to the prediction server and to a client computing device, the image request identifying a particular image of a collection of images that represent a map or a three-dimensional (3D) model of a scene, and that a user of the client computing device has navigated to in a map or a three-dimensional (3D) model;
identifying, at the prediction server from the image request, a first set of images of the collection of images for storing on a cache of the client computing device, and a second set of images of the collection of images for storing on a cache of the proxy server, wherein the first set of images comprises images of the collection that are immediately adjacent to the particular image, and the second set of images comprises images of the collection that are immediately adjacent to the images of the first set of images; and
sending the first set of images and the second sets of images from the prediction server to the proxy server, wherein the proxy server caches the second set of images and further sends the first set of images to the client computing device.
3 Assignments
0 Petitions
Accused Products
Abstract
Predictive, multi-layer caching architectures may be used to predict which elements a user is most likely to navigate to within a collection of elements associated with a predefined layout and, in response, to increase the accessibility of these elements to a client device of the user. For instance, the techniques may utilize a predictive, multi-layer caching architecture for storing these predicted elements to decrease the latency to render these images if the user navigates within the collection of elements in the predicted manner. The collection of elements may comprise images (e.g., a 3D model, a map, etc.), video files, audio files, text files, or any other type of file that is consumable on a client device.
-
Citations
15 Claims
-
1. At least one computer-readable storage medium storing computer-executable instructions that, when executed by one or more processors of a prediction server, cause the one or more processors to perform acts comprising:
-
receiving an image request from a proxy server communicatively coupled to the prediction server and to a client computing device, the image request identifying a particular image of a collection of images that represent a map or a three-dimensional (3D) model of a scene, and that a user of the client computing device has navigated to in a map or a three-dimensional (3D) model; identifying, at the prediction server from the image request, a first set of images of the collection of images for storing on a cache of the client computing device, and a second set of images of the collection of images for storing on a cache of the proxy server, wherein the first set of images comprises images of the collection that are immediately adjacent to the particular image, and the second set of images comprises images of the collection that are immediately adjacent to the images of the first set of images; and sending the first set of images and the second sets of images from the prediction server to the proxy server, wherein the proxy server caches the second set of images and further sends the first set of images to the client computing device. - View Dependent Claims (2, 3, 4, 13, 14, 15)
-
-
5. A method, comprising:
-
receiving an image request from a proxy server communicatively coupled to a prediction server and to a client computing device, the image request identifying a particular image of a collection of images, that represent a map or a three-dimensional (3D) model of a scene, and that a user of the client computing device has navigated to in the map or 3D model; identifying, at the prediction server from the image request, a first set of images of the collection of images for storing on a cache of the client computing device, and a second set of images of the collection of images for storing on a cache of the proxy server, wherein the first set of images comprises images of the collection that are immediately adjacent to the particular image and the second set of images comprises images of the collection that are immediately adjacent to the images of the first set of images; retrieving the first set of images and the second set of images from a storage server to the prediction server; and sending the first set of images and the second set of images from the prediction server to the proxy server, wherein the proxy server caches the second set of images and further sends the first set of images to the client computing device. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method, comprising:
-
receiving an image request from a proxy server communicatively coupled to a prediction server and to a client computing device, the image request identifying a particular image of a collection of images, that represent a map or a three-dimensional (3D) model of a scene, and that a user of the client computing device has navigated to in a map or a three-dimensional (3D) model; identifying, at the prediction server from the image request, a first set of images of the collection of images for storing on a cache of the client computing device, and a second set of images of the collection of images for storing on a cache of the proxy server, the first set of images comprises images of the collection that are immediately adjacent to the particular image, and the second set of images comprises images of the collection that are immediately adjacent to the images of the first set of images; and sending the first set of images and the second set of images from the prediction server to the proxy server, the proxy server to stores the second set of images and further sends the first set of images to the client computing device. - View Dependent Claims (11, 12)
-
Specification