9900384

Distributed Caching in a Communication Network

PublishedFebruary 20, 2018
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
16 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of caching data in a communication network, the method comprising: partitioning, at an originating server of the communication network, a data resource into multiple data partitions; assigning, at the originating server, a unique address to each of the data partitions; generating, by the originating server, a hashed partition address for each data partition based on the unique address for each data partition; distributing, from the originating server, each of the data partitions to at least one of a plurality of proxy servers based on the hashed partition address corresponding to each data partition, wherein the plurality of proxy servers and a local device are configured as a multilevel hierarchical cache of partitions for an application running on the local device, the multilevel hierarchical cache of partitions comprising at least a first level cache and a second level cache running on the local device, wherein each of the proxy servers is configured to: receive a read request for one of the data partitions stored at least one of the proxy servers, wherein the read request is received from the second level proxy based on the second level proxy determining the second level proxy does not contain the requested data partition in response to receiving a previous read request from the first level proxy when the first level proxy does not contain the requested data partition; and transmit the one of the data partitions to a source of the read request in response to the read request.

2

2. The method of claim 1 , wherein the unique address for the one of the data partitions is based on an identifier of the data resource and known offset of the one of the data partitions within the data resource.

3

3. The method of claim 1 , wherein the range of the hashed partition addresses assigned to each of the plurality of proxy servers is based on a number of the plurality of proxy servers.

4

4. The method of claim 3 , further comprising: modifying, after the range of the hashed partition addresses are assigned to each of the plurality of proxy servers, the number of the plurality of proxy servers; and assigning a second range of the hashed partition addresses to each of the plurality of proxy servers based on the modified number of the plurality of proxy servers.

5

5. The method of claim 1 , wherein: the previous read request originates from a random-access cache located in the local device; and the previous read request is generated by the random-access cache in response to the random-access cache receiving an initial request for the one of the data partitions when the random-access cache does not include the one of the data partitions.

6

6. The method of claim 5 , wherein: the initial read request originates from the application executing on the local device.

7

7. The method of claim 6 , wherein: the second level proxy and the application are executed in separate processes in the local device.

8

8. The method of claim 6 , wherein: at least one of the second level proxy and the random-access cache operate according to a least-recently-used caching policy.

9

9. The method of claim 1 , wherein: the data resource comprises a hypertext transfer protocol file.

10

10. The method of claim 1 , wherein each of the proxy servers is assigned a range of possible hash partition addresses.

11

11. A non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processor of a machine, cause the machine to perform operations comprising: partitioning, at an originating server of a communication network, a data resource into multiple data partitions; assigning, at the originating server, a unique address to each of the data partitions; generating, by the originating server, a hashed partition address for each data partition based on the unique address for each data partition; distributing, from the originating server, each of the data partitions to at least one of a plurality of proxy servers based on the hashed partition address for each data partition, wherein each of the proxy servers is assigned a range of possible hash partition addresses, wherein the plurality of proxy servers and a local device are configured as a multilevel hierarchical cache of partitions for an application running on the local device, the multilevel hierarchical cache of partitions comprising at least a first level cache and a second level cache running on the local device, wherein each of the proxy servers is configured to: receive a read request for one of the data partitions stored at the proxy server, wherein the read request is received from a local proxy executing on a device and the read request was generated in response to the local proxy receiving a previous read request for the one of the data partitions and determining the local proxy does not include the one of the data partitions; and transmit the one of the data partitions to a source of the read request in response to the read request.

12

12. A system comprising: an originating server; a plurality of proxy servers communicatively coupled to the originating server; at least one processor; and memory comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising: partitioning, at the originating server, a data resource into multiple data partitions; assigning, at the originating server, a unique address to each of the data partitions; generating, by the originating server, a hashed partition address for each data partition based on the unique address for each data partition; distributing, from the originating server, each of the data partitions to at least one of the plurality of proxy servers based on the hashed partition address corresponding to each data partition, wherein each of the proxy servers is assigned a range of possible hash partition addresses; receiving, at one of the proxy servers, a read request for one of the data partitions stored at the one of the proxy servers, wherein the read request is received from a local proxy and the read request was generated in response to the local proxy receiving a previous read request for the one of the data partitions and determining the local proxy does not include the one of the data partitions, wherein the previous read request was received from a random-access cache and the previous read request was generated in response to the random-access cache receiving an initial read request and determining the random-access cache does not include the one of the data partitions; and transmitting, from the one of the proxy servers, the one of the data partitions to a source of the read request in response to the read request.

13

13. The system of claim 12 , wherein the unique address of the one of the data partitions is based on an identifier of the data resource and a known offset of the one of the data partitions within the data resource.

14

14. The system of claim 13 , wherein the range of the hashed partition addresses assigned to each of the plurality of proxy servers is based on a number of the plurality of proxy servers.

15

15. The system of claim 14 , wherein the operations further comprise: modifying, after the range of the hashed partition addresses are assigned to each of the plurality of proxy servers, the number of the plurality proxy servers; and assigning a second range of the hashed partition addresses to each of the plurality of proxy servers based on the modified number of the plurality of proxy servers.

16

16. The system of claim 12 , wherein: the initial request originates from an application executing on the local device.

Patent Metadata

Filing Date

Unknown

Publication Date

February 20, 2018

Inventors

Franz Xaver Bayerl

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “DISTRIBUTED CACHING IN A COMMUNICATION NETWORK” (9900384). https://patentable.app/patents/9900384

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.