Architecture for proactively providing bundled content items to client devices
Abstract
Features are disclosed for generating bundles of content items and proactively providing the bundles to client devices. The bundles may be provided to client devices in response to requests for the content page that references the content items in the bundle, or in response to a request for a content page hosted by the same domain as the content items in the bundle. A browser module executing on the client device can extract the referenced content items in the bundle and cache them in a local content cache at the client device prior to the client device receiving and processing a requested content page. As a result, the browser module may have access to cached versions of referenced content items when processing the requested content page even if the referenced content items were not present when the requested content page was requested.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implement method comprising:
by a device having one or more processors, transmitting, to a server system configured to act as an intermediary between the device and content servers, a request for a content page, the request indicating a previously received version of a bundle of content items associated with the content page; receiving, over a network connection, the requested content page; receiving, from the server system via a same established network connection, a particular version of the bundle of content items referenced by the requested content page, the particular version of the bundle comprising one or more updated versions of the content items in the bundle as compared with the version of the bundle indicated in the request; and processing one or more of the content items to be rendered.
2 . The method of claim 1 , wherein processing the content items to be rendered comprises:
accessing, via a browser module associated with a browser executing on the device, a cache of the device accessible to the browser; and pre-populating, by the browser module, the cache with the content items.
3 . The method of claim 2 , wherein the browser module comprises one of an application, a browser extension, or a browser add-in.
4 . The method of claim 2 , wherein the cache is pre-populated prior to requests by the browser for the content items, and wherein the method further comprises:
obtaining, by the browser and from the cache, the content items; and rendering, by the browser, at least a portion of the content page using at least a portion of the obtained content items.
5 . The method of claim 1 , wherein processing the content items to be rendered comprises extracting the one or more content items from the bundle, and wherein the method further comprises rendering at least a portion of the content page using at least a portion of the obtained content items in the bundle.
6 . The method of claim 1 , further comprising:
maintaining version information regarding bundles received from the server system.
7 . The method of claim 1 , further comprising:
receiving the bundle of content items without transmitting a request for the bundle, and without transmitting a request for any content item in the bundle.
8 . The method of claim 1 , wherein the request for the content page includes metadata indicating one or more content servers historically requested by the device, and wherein the method further comprises:
receiving current versions of content items usable, at least in part, for rendering the content pages associated with the indicated content servers; and storing the content items in a cache accessible by the device.
9 . A system comprising one or more processors and computer storage media storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:
establishing, via a browser executed by the system, a browser session associated with a user; transmitting, to a server system configured to act as an intermediary between the system and content servers, stored identifying information, the stored identifying information being transmitted via a browser module associated with the browser; receiving, by the browser module, a custom bundle generated by the server system, the custom bundle comprising content items associated with content pages selected, by the server system, for the user; and storing, by the browser module, the content items in a cache of the system, such that the browser can obtain content items from the cache for utilization in rendering content pages without providing requests to content servers for the content items.
10 . The system of claim 9 , wherein establishing the browser session comprises one or more of receiving, via the browser, user input indicating a request for a content page or receiving information indicating opening of the browser.
11 . The system of claim 10 , wherein in response to receiving the request for the content page the operations further comprise:
transmitting, to the server system, the request for the content page; receiving the custom bundle, wherein the custom bundle comprises one or more content items referenced by the content page; and storing the one or more content items in the cache.
12 . The system of claim 9 , wherein the identifying information comprises one or more cookies associated with the user.
13 . The system of claim 12 , wherein the custom bundle is provided in response to a request for a content page associated with a content server, the content server storing information associated with the user, wherein the custom bundle comprises content images presented upon the user logging into the content server, and wherein the server system identifies the user to the content server using the one or more cookies.
14 . The system of claim 9 , wherein the custom bundle comprises content items associated with content pages historically requested by the user.
15 . The system of claim 9 , wherein the operations further comprise:
transmitting, to the server system, a request for a content page; in response to receiving the content page, accessing the cache and obtaining, from the cache, one or more content items referenced in the content page; and rendering the content page using, at least in part, the obtained content items.
16 . Non-transitory computer storage media storing instructions that when executed by a system having one or more processors, cause the system to perform operations comprising:
transmitting, to a server system configured to act as an intermediary between the system and content servers, a request for a content page, the request indicating a previously received version of a bundle of content items associated with the content page; receiving, over a network connection, the requested content page; receiving, from the server system via a same established network connection, a particular version of the bundle of content items referenced by the requested content page, the particular version of the bundle comprising one or more updated versions of the content items in the bundle as compared with the version of the bundle indicated in the request; and processing one or more of the content items to be rendered.
17 . The computer storage media of claim 16 , wherein processing the content items to be rendered comprises:
accessing, via a browser module associated with a browser executing on the device, a cache of the device; and pre-populating, by the browser module, the cache with the content items.
18 . The computer storage media of claim 17 , wherein the browser module comprises one of an application, a browser extension, or a browser add-in.
19 . The computer storage media of claim 17 , wherein the cache is pre-populated prior to requests, by the browser, for the content items, and wherein the method further comprises:
obtaining, by the browser and from the cache, the content items; and rendering, by the browser, at least a portion of the content page using at least a portion of the obtained content items.
20 . The computer storage media of claim 16 , wherein the operations further comprise:
receiving the bundle of content items without transmitting a request for the bundle, and without transmitting a request for any content item in the bundle.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.