IP Library Granted Patent US 8,943,269
Granted Patent B2
US 8,943,269 · App. 13/446,010 · Granted Jan 27, 2015

Apparatus and method for meeting performance metrics for users in file systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,943,269
App. No.
13/446,010
Granted
Jan 27, 2015
Kind
B2
Abstract

A data block storage management capability is presented. A file system includes a plurality of data blocks which are managed using a first storage service and a second storage service, where the first storage service has a lower storage cost and a higher input-output cost than the second storage service. The data blocks stored using the second storage service have associated therewith respective expected storage durations indicative of respective lengths of time for which the data blocks are to be stored using the second storage service (which may be the same or different across the ones of the data blocks stored using the second storage service). The expected storage durations of the data blocks are modified based on a comparison of an expected hit rate of the second storage service and a current hit rate of the second storage service or current hit rates of the data blocks.

Claims (45)

1. An apparatus, comprising:

a processor and a memory communicatively connected to the processor, wherein the processor is configured to manage a plurality of data blocks of a file system using a first storage service and a second storage service, wherein the first storage service has a lower storage cost and a higher input-output cost than the second storage service, wherein ones of the data blocks stored using the second storage service have associated therewith an expected storage duration indicative of a length of time for which the ones of the data blocks are to be stored using the second storage service, wherein the processor is configured to:

determine an expected hit rate of the second storage service, wherein the expected hit rate of the second storage service is based on at least one performance metric associated with the file system;

monitor a current hit rate of the second storage service; and

modify the expected storage duration of the ones of the data blocks stored using the second storage service based on a comparison of the expected hit rate of the second storage service and the current hit rate of the second storage service.

2. The apparatus of claim 1 , wherein the at least one performance metric comprises a value indicative of a fraction of total input-output requests to the file system that are to be answered from the second storage service.

3. The apparatus of claim 1 , wherein the at least one performance metric comprises at least one Service Level Agreement (SLA).

4. The apparatus of claim 1 , wherein, to monitor the current hit rate of the second storage service, the processor is configured to:

update the current hit rate of the second storage service after each input-output request for the second storage service.

5. The apparatus of claim 1 , wherein the processor is configured to:

compare the expected hit rate of the second storage service and the current hit rate of the second storage service periodically.

6. The apparatus of claim 1 , wherein, to modify the expected storage duration of the ones of the data blocks stored using the second storage service, the processor is configured to:

increase the expected storage duration when the expected hit rate of the second storage service exceeds the current hit rate of the second storage service; and

decrease the expected storage duration when the expected hit rate of the second storage service is less than the current hit rate of the second storage service.

7. The apparatus of claim 1 , wherein the processor is configured to:

in response to a determination that the expected storage duration satisfies a threshold, load at least one data block from the first storage service into the second storage service.

8. The apparatus of claim 1 , wherein the first storage service comprises disk storage and the second storage service comprises cache storage.

9. The apparatus of claim 1 , wherein the first storage service and the second storage service are associated with a common cloud service provider or the first storage service is associated with a first cloud service provider and the second storage service is associated with a second cloud service provider.

10. A method, comprising:

using at least one processor for managing a plurality of data blocks of a file system using a first storage service and a second storage service, wherein the first storage service has a lower storage cost and a higher input-output cost than the second storage service, wherein ones of the data blocks stored using the second storage service have associated therewith an expected storage duration indicative of a length of time for which the ones of the data blocks are to be stored using the second storage service, wherein managing the data blocks of the file system comprises:

determining an expected hit rate of the second storage service, wherein the expected hit rate of the second storage service is based on at least one performance metric associated with the file system;

monitoring a current hit rate of the second storage service; and

modifying the expected storage duration of the ones of the data blocks stored using the second storage service based on a comparison of the expected hit rate of the second storage service and the current hit rate of the second storage service.

11. An apparatus, comprising:

a processor and a memory communicatively connected to the processor, wherein the processor is configured to manage a plurality of data blocks of a file system using a first storage service and a second storage service, wherein the first storage service has a lower storage cost and a higher input-output cost than the second storage service, wherein ones of the data blocks stored using the second storage service have associated therewith respective expected storage durations indicative of respective lengths of time for which the ones of the data blocks stored using the second storage service are to be stored using the second storage service, wherein the processor is configured to:

determine an expected hit rate of the second storage service, wherein the expected hit rate of the second storage service is based on at least one performance metric associated with the file system;

monitor a current hit rate of one of the data blocks stored using the second storage service; and

modify the expected storage duration of the one of the data blocks based on a comparison of the expected hit rate of the second storage service and the current hit rate of the one of the data blocks.

12. The apparatus of claim 11 , wherein the at least one performance metric comprises a value indicative of a fraction of total input-output requests to the file system that are to be answered from the second storage service.

13. The apparatus of claim 11 , wherein the at least one performance metric comprises at least one Service Level Agreement (SLA).

14. The apparatus of claim 11 , wherein, to monitor the current hit rate of the one of the data blocks, the processor is configured to:

update the current hit rate of the one of the data blocks after each input-output request for the one of the data blocks.

15. The apparatus of claim 11 , wherein the processor is configured to compare the expected hit rate of the second storage service and the current hit rate of the one of the data blocks periodically.

16. The apparatus of claim 11 , wherein, to modify the expected storage duration of the one of the data blocks, the processor is configured to:

increase the expected storage duration of the one of the data blocks when the expected hit rate of the second storage service exceeds the current hit rate of the one of the data blocks; and

decrease the expected storage duration of the one of the data blocks when the expected hit rate of the second storage service is less than the current hit rate of the one of the data blocks.

17. The apparatus of claim 11 , wherein the processor is configured to:

for each of the ones of the data blocks stored using the second storage service, determine whether to evict the data block from the second storage service based on the expected storage duration of the data block.

18. The apparatus of claim 11 , wherein the first storage service comprises disk storage and the second storage service comprises cache storage.

19. The apparatus of claim 11 , wherein the first storage service and the second storage service are associated with a common cloud service provider or the first storage service is associated with a first cloud service provider and the second storage service is associated with a second cloud service provider.

20. A method, comprising:

using at least one processor for managing a plurality of data blocks of a file system using a first storage service and a second storage service, wherein the data blocks of the file system are stored using a first storage service and a second storage service, wherein the first storage service has a lower storage cost and a higher input-output cost than the second storage service, wherein ones of the data blocks stored using the second storage service have associated therewith respective expected storage durations indicative of respective lengths of time for which the ones of the data blocks are to be stored using the second storage service, wherein managing the data blocks of the file system comprises:

determining an expected hit rate of the second storage service, wherein the expected hit rate of the second storage service is based on at least one performance metric associated with the file system;

monitoring a current hit rate of one of the data blocks; and

modifying the expected storage duration of the one of the data blocks based on a comparison of the expected hit rate of the second storage service and the current hit rate of the one of the data blocks.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0016 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2013
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 030434/0104 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2012
From: PUTTASWAMY NAGA, KRISHNA P.; KODIALAM, MURALI
To: ALCATEL-LUCENT USA INC.
Reel/Frame 028040/0402 →