Distributed caching system
US-9166862-B1 · Oct 20, 2015 · US
US11979474B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11979474-B2 |
| Application number | US-202016818109-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 13, 2020 |
| Priority date | Oct 13, 2015 |
| Publication date | May 7, 2024 |
| Grant date | May 7, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The described technology is directed towards returning expanded data, beyond the data that was specifically requested, to a client, in order to reduce or eliminate likely subsequent requests for more data. Client requests for data items are processed by expansion rule logic to find an expansion rule set (e.g., file) corresponding to the identified data item. The rule set is used to expand requests for certain data items into expanded requests that return more data items than those requested. Client devices receive, cache and (often) use the cached expanded data items, which thereby reduces the overall number of requests to the data service. Expansion rules may be based upon observations (e.g., machine learned and/or manual) of request patterns, so as to reasonably predict which data item or items clients will likely next need, and return those as expanded data items in anticipation of their need.
Opening claim text (preview).
What is claimed is: 1. A system comprising: a processor; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, the operations comprising: receiving a request from a client device for an identified data item; and in response to the request: obtaining the identified data item; accessing expansion rule data based on the identified data item, wherein the expansion rule data defines a maximum depth level within a hierarchy of depth levels, the hierarchy comprising a primary depth level, wherein the expansion rule defines whether any number of one or more additional depth levels, up to the maximum depth level, and beyond the primary depth level are to be executed, and wherein each individual successive depth level beyond the primary depth level comprises at least one data item based on at least one data item comprised by an immediately prior depth level; determining from the expansion rule data that the identified data item is associated with expanded data items; obtaining a subset of the expanded data items, based on the expansion rule data, comprising a defined quantity of the expanded data items, wherein the defined quantity is customized based on an amount of memory in the client device that sent the request, and wherein the defined quantity satisfies the primary expansion level; and communicating with the client device to return the identified data item and the subset of the expanded data items for building a client graph on the client device, the building comprising populating a cache with first data corresponding to the identified data item and second data corresponding to the subset of the expanded data items. 2. The system of claim 1 , wherein the request is associated with device type information, and wherein the operations further comprise formatting the first data based on the device type information and formatting the second data based on the device type information prior to populating the cache with the first data and the second data. 3. The system of claim 1 , wherein the request is associated with software version information, and wherein the operations further comprise formatting the first data based on the software version information and formatting the second data based on the software version information prior to populating the cache with the first data and the second data. 4. The system of claim 1 , wherein the request is associated with device type information and software version information, and wherein the operations further comprise formatting the first data based on the device type information and the software version information prior to populating the cache with the first data, and formatting the second data based on the device type information and the software version information prior to populating the cache with the second data. 5. The system of claim 1 , wherein the expanded data items comprise a first expanded data item, and wherein the operations further comprise obtaining a second expanded data item based on the first expanded data item, and populating the cache with third data corresponding to the second expanded data item, and wherein the obtaining the second expanded data item based on the first expanded data item comprises satisfying a secondary depth level, hierarchally in succession to the primary depth level, that is defined as allowable by the expansion rule data. 6. The system of claim 1 , wherein the determining from the expansion rule data that the identified data item is associated with the expanded data items comprises processing an identifier of the identified data item into a regular expression, and matching the regular expression against an array of regular expressions to locate the expansion rule data. 7. The system of claim 1 , wherein the populating the cache with the second data corresponding to the subset of the expanded data items comprises populating the cache with the second data in a partially hydrated state. 8. The system of claim 1 , wherein the populating the cache with the second data corresponding to the subset of the expanded data items comprises populating the cache with the second data in a dehydrated state. 9. The system of claim 1 , wherein the identified data item corresponds to a user interface element representing selectable video content. 10. The system of claim 1 , wherein the identified data item corresponds to a first user interface element representing a menu of selectable video content, and wherein the expanded data items corresponds to second user interface elements representing selectable video content associated with the menu. 11. The system of claim 1 , wherein the operations further comprise generating a set of file system folder paths, by a lookup composer of the system, wherein the paths are ordered based upon specificity of expansion rule data comprised by the file system folders, and wherein accessing expansion rule data comprises walking the set of file system folder paths. 12. A method, comprising: receiving, by a system comprising a processor, a request for an identified data item corresponding to first provider data, the request associated with client-specific information of a client device that sent the request; and in response to the request for the identified data item, determining an expansion rule to be employed relative to the identified data item, wherein the expansion rule defines whether any number of one or more additional depth levels, up to the maximum depth level, and beyond a primary depth level, are to be executed; obtaining first data corresponding to the identified data item from a cache; determining, based on the client-specific information, that the identified data item is part of an expanded data item set; obtaining second data comprising second provider data and corresponding to a subset of the expanded data item set, wherein the subset comprises a defined quantity of expanded data items of the expanded data item set, based on the expansion rule, wherein the defined quantity is customized based on an amount of memory in the client device, wherein the expansion rule defines a maximum depth level, within a hierarchy of depth levels, for expansion beyond the identified data item, wherein each depth level comprises at least one data item based on at least one data item of an immediately prior depth level, and wherein the subset satisfies a primary depth level of the expansion rule; and returning the first data and the second data for the client device to build a client graph based on the first data and the second data. 13. The method of claim 12 , wherein the client-specific information comprises device type information, and wherein the determining, based on the client-specific information, that the identified data item is part of the expanded data item set comprises accessing expansion rule data based on an identifier of the identified data item and the device type information. 14. The method of claim 12 , wherein the client-specific information comprises software version information, and wherein the determining, based on the client- specific information, that the identified data item is part of the expanded data item set comprises accessing expansion rule data based on an identifier of the identified data item and the software version information. 15. The method of claim 12 , wherein the client-specific information comprises device type information and software version information, and wherein the determining, based on the client-specific information, that the identified data item is part of the expanded da
Drawing of charts or graphs · CPC title
Storing data temporarily at an intermediate stage, e.g. caching · CPC title
Indexing; Web crawling techniques · CPC title
Processor architectures; Processor configuration, e.g. pipelining · CPC title
Memory management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.