7734820

Adaptive Caching for a Distributed File Sharing System

PublishedJune 8, 2010
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
15 claims

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

1

1. A system comprising: one or more processors; and memory storing program instructions; wherein the program instructions are executable by the one or more processors to: store a replica of a data object, wherein the replica includes a plurality of data portions; store respective history information for each respective data portion of the plurality of data portions of the replica, wherein the respective history information for each respective data portion of the replica indicates previous accesses to the respective data portion of the replica; receive a write request specifying particular data to write to a particular data portion of the replica of the data object; in response to the write request: analyze the respective history information for the particular data portion of the replica of the data object to determine whether the particular data portion was accessed more than a threshold number of times within a particular time period; select to either: 1) write the particular data specified by the write request to the particular data portion of the replica of the data object in order to update the particular data portion if the particular data portion was accessed more than the threshold number of times within the particular time period, or to 2) mark the particular data portion of the replica as stale without marking other data portions of the plurality of data portions of the replica as stale if the particular data portion was not accessed more than the threshold number of times within the particular time period.

2

2. The system of claim 1 , wherein the replica of the data object comprises a replica of a file.

3

3. The system of claim 1 , wherein the write request is a first write request; wherein the particular data portion is a first data portion of the plurality of data portions of the replica of the data object; wherein the particular time period is a first particular time period; wherein the program instructions are further executable by the one or more processors to: receive a second write request specifying data to write to a second data portion of the replica of the data object; in response to the second write request: analyze the respective history information for the second data portion of the replica of the data object to determine whether the second data portion was accessed more than the threshold number of times within a second particular time period; select to either: 1) write the data specified by the second write request to the second data portion of the replica of the data object in order to update the second data portion if the second data portion was accessed more than the threshold number of times within the second particular time period, or to 2) mark the second data portion of the replica as stale without marking other data portions of the plurality of data portions of the replica as stale if the second data portion was not accessed more than the threshold number of times within the second particular time period.

4

4. The system of claim 1 , wherein the program instructions are executable by the one or more processors to store the respective history information for each respective data portion of the plurality of data portions of the replica by storing a respective list of previous accesses to each respective data portion of the plurality of data portions of the replica; wherein the program instructions are executable by the one or more processors to analyze the respective history information for the particular data portion of the replica by analyzing the respective list of previous accesses to the particular data portion of the replica.

5

5. The system of claim 1 , wherein the program instructions are executable by the one or more processors to store the respective history information for each respective data portion of the plurality of data portions of the replica by storing respective numerical information for each respective data portion indicating previous accesses to the respective data portion; wherein the program instructions are executable by the one or more processors to analyze the respective history information for the particular data portion of the replica by analyzing the respective numerical information for the particular data portion.

6

6. A computer-readable storage medium storing program instructions executable to: store a replica of a data object, wherein the replica includes a plurality of data portions; store respective history information for each respective data portion of the plurality of data portions of the replica, wherein the respective history information for each respective data portion of the replica indicates previous accesses to the respective data portion of the replica; receive a write request specifying particular data to write to a particular data portion of the replica of the data object; in response to the write request: analyze the respective history information for the particular data portion of the replica of the data object to determine whether the particular data portion was accessed more than a threshold number of times within a particular time period; select to either: 1) write the particular data specified by the write request to the particular data portion of the replica of the data object in order to update the particular data portion if the particular data portion was accessed more than the threshold number of times within the particular time period, or to 2) mark the particular data portion of the replica as stale without marking other data portions of the plurality of data portions of the replica as stale if the particular data portion was not accessed more than the threshold number of times within the particular time period.

7

7. The computer-readable storage medium of claim 6 , wherein the replica of the data object comprises a replica of a file.

8

8. The computer-readable storage medium of claim 6 , wherein the write request is a first write request; wherein the particular data portion is a first data portion of the plurality of data portions of the replica of the data object; wherein the particular time period is a first particular time period; wherein the program instructions are further executable to: receive a second write request specifying data to write to a second data portion of the replica of the data object; in response to the second write request: analyze the respective history information for the second data portion of the replica of the data object to determine whether the second data portion was accessed more than the threshold number of times within a second particular time period; select to either: 1) write the data specified by the second write request to the second data portion of the replica of the data object in order to update the second data portion if the second data portion was accessed more than the threshold number of times within the second particular time period, or to 2) mark the second data portion of the replica as stale without marking other data portions of the plurality of data portions of the replica as stale if the second data portion was not accessed more than the threshold number of times within the second particular time period.

9

9. The computer-readable storage medium of claim 6 , wherein the program instructions are executable to store the respective history information for each respective data portion of the plurality of data portions of the replica by storing a respective list of previous accesses to each respective data portion of the plurality of data portions of the replica; wherein the program instructions are executable to analyze the respective history information for the particular data portion of the replica by analyzing the respective list of previous accesses to the particular data portion of the replica.

10

10. The computer-readable storage medium of claim 6 , wherein the program instructions are executable to store the respective history information for each respective data portion of the plurality of data portions of the replica by storing respective numerical information for each respective data portion indicating previous accesses to the respective data portion; wherein the program instructions are executable to analyze the respective history information for the particular data portion of the replica by analyzing the respective numerical information for the particular data portion.

11

11. A computer-implemented method comprising: storing a replica of a data object in a computer system, wherein the replica includes a plurality of data portions; storing respective history information in the computer system for each respective data portion of the plurality of data portions of the replica, wherein the respective history information for each respective data portion of the replica indicates previous accesses to the respective data portion of the replica; receiving a write request specifying particular data to write to a particular data portion of the replica of the data object; in response to the write request: analyzing the respective history information for the particular data portion of the replica of the data object to determine whether the particular data portion was accessed more than a threshold number of times within a particular time period; selecting to either: 1) write the particular data specified by the write request to the particular data portion of the replica of the data object in order to update the particular data portion if the particular data portion was accessed more than the threshold number of times within the particular time period, or to 2) mark the particular data portion of the replica as stale without marking other data portions of the plurality of data portions of the replica as stale if the particular data portion was not accessed more than the threshold number of times within the particular time period.

12

12. The method of claim 11 , wherein the replica of the data object comprises a replica of a file.

13

13. The method of claim 11 , wherein the write request is a first write request; wherein the particular data portion is a first data portion of the plurality of data portions of the replica of the data object; wherein the particular time period is a first particular time period; wherein the method further comprises: receiving a second write request specifying data to write to a second data portion of the replica of the data object; in response to the second write request: analyzing the respective history information for the second data portion of the replica of the data object to determine whether the second data portion was accessed more than the threshold number of times within a second particular time period; selecting to either: 1) write the data specified by the second write request to the second data portion of the replica of the data object in order to update the second data portion if the second data portion was accessed more than the threshold number of times within the second particular time period, or to 2) mark the second data portion of the replica as stale without marking other data portions of the plurality of data portions of the replica as stale if the second data portion was not accessed more than the threshold number of times within the second particular time period.

14

14. The method of claim 11 , wherein storing the respective history information for each respective data portion of the plurality of data portions of the replica comprises storing a respective list of previous accesses to each respective data portion of the plurality of data portions of the replica; wherein analyzing the respective history information for the particular data portion of the replica comprises analyzing the respective list of previous accesses to the particular data portion of the replica.

15

15. The method of claim 11 , wherein storing the respective history information for each respective data portion of the plurality of data portions of the replica comprises storing respective numerical information for each respective data portion indicating previous accesses to the respective data portion; wherein analyzing the respective history information for the particular data portion of the replica comprises analyzing the respective numerical information for the particular data portion.

Patent Metadata

Filing Date

Unknown

Publication Date

June 8, 2010

Inventors

Dilip Madhusudan Ranade
Radha Shelat
Navin Kabra

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. “ADAPTIVE CACHING FOR A DISTRIBUTED FILE SHARING SYSTEM” (7734820). https://patentable.app/patents/7734820

© 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.