Method and apparatus for cache replacement using a catalog
First Claim
1. A method, comprising:
- using an assigned value from a catalog to determine which slot to evict from a set in a cache, the assigned value is an integer;
evaluating a slot from the set in the cache using an intelligent content aware caching application running on a virtual machine (VM) hypervisor, the intelligent content aware caching application configured to read contents of the catalog to determine whether or not to evict the slot being evaluated;
determining when metadata for the slot being evaluated has an assigned value of three and foregoing eviction of the slot being evaluated when its metadata has the assigned value of three;
(a) evaluating all slots in the set having an assigned value of zero and evicting a slot having an oldest time stamp and having the assigned value of zero in its metadata;
(b) evaluating all slots in the set having an assigned value of two and evicting a slot having an oldest time stamp and having the assigned value of two in its metadata;
(c) evaluating all slots in the set having an assigned value of one and evicting a slot having an oldest time stamp and having the assigned value of one in its metadata; and
evaluating slots in a second set in the cache after at least one slot in the set that was found to have an assigned value of zero, two, or one in its metadata has been evicted, or when no slots in the set were found that have assigned values of zero, two, or one in their metadata.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems to intelligently cache content in a virtualization environment using virtualization software such as VMWare ESX or Citrix XenServer or Microsoft HyperV or Redhat KVM or their variants are disclosed. Storage IO operations (reads from and writes to disk) are analyzed (or characterized) for their overall value and pinned to cache if their value exceeds a certain defined threshold based on criteria specific to the New Technology File System (NTFS) file-system. Analysis/characterization of NTFS file systems for intelligent dynamic caching include analyzing storage block data associated with a Virtual Machine of interest in accordance with a pre-determined data model to determine the value of the block under analysis for long term or short term caching. Integer values assigned to different types of NTFS objects in a white list data structure called a catalog that can be used to analyze the storage block data.
-
Citations
12 Claims
-
1. A method, comprising:
-
using an assigned value from a catalog to determine which slot to evict from a set in a cache, the assigned value is an integer; evaluating a slot from the set in the cache using an intelligent content aware caching application running on a virtual machine (VM) hypervisor, the intelligent content aware caching application configured to read contents of the catalog to determine whether or not to evict the slot being evaluated; determining when metadata for the slot being evaluated has an assigned value of three and foregoing eviction of the slot being evaluated when its metadata has the assigned value of three; (a) evaluating all slots in the set having an assigned value of zero and evicting a slot having an oldest time stamp and having the assigned value of zero in its metadata; (b) evaluating all slots in the set having an assigned value of two and evicting a slot having an oldest time stamp and having the assigned value of two in its metadata; (c) evaluating all slots in the set having an assigned value of one and evicting a slot having an oldest time stamp and having the assigned value of one in its metadata; and evaluating slots in a second set in the cache after at least one slot in the set that was found to have an assigned value of zero, two, or one in its metadata has been evicted, or when no slots in the set were found that have assigned values of zero, two, or one in their metadata. - View Dependent Claims (2, 3, 4)
-
-
5. A non-transitory computer readable storage medium including instructions that, when executed on a computer system cause the computer system to perform a method comprising:
-
using an assigned value from a catalog to determine which slot to evict from a set in a cache, the assigned value is an integer; evaluating a slot from the set in the cache using an intelligent content aware caching application running on a virtual machine (VM) hypervisor, the intelligent content aware caching application configured to read contents of the catalog to determine whether or not to evict the slot being evaluated; determining when metadata for the slot being evaluated has an assigned value of three and foregoing eviction of the slot being evaluated when its metadata has the assigned value of three; (a) evaluating all slots in the set having an assigned value of zero and evicting a slot having an oldest time stamp and having the assigned value of zero in its metadata; (b) evaluating all slots in the set having an assigned value of two and evicting a slot having an oldest time stamp and having the assigned value of two in its metadata; (c) evaluating all slots in the set having an assigned value of one and evicting a slot having an oldest time stamp and having the assigned value of one in its metadata; and evaluating slots in a second set in the cache after at least one slot in the set that was found to have an assigned value of zero, two, or one in its metadata has been evicted, or when no slots in the set were found that have assigned values of zero, two, or one in their metadata. - View Dependent Claims (6, 7, 8)
-
-
9. A system, comprising:
-
a memory to store a catalog; and a processor coupled with the memory to execute an intelligent content aware caching application to use an assigned value from a catalog to determine which slot to evict from a set in a cache, the assigned value is an integer, evaluate a slot from the set in the cache using an intelligent content aware caching application running on a virtual machine (VM) hypervisor, the intelligent content aware caching application configured to read contents of the catalog to determine whether or not to evict the slot being evaluated, determine when metadata for the slot being evaluated has an assigned value of three and foregoing eviction of the slot being evaluated when its metadata has the assigned value of three (a) evaluate all slots in the set having an assigned value of zero and evicting a slot having an oldest time stamp and having the assigned value of zero in its metadata; (b) evaluate all slots in the set having an assigned value of two and evicting a slot having an oldest time stamp and having the assigned value of two in its metadata; (c) evaluate all slots in the set having an assigned value of one and evicting a slot having an oldest time stamp and having the assigned value of one in its metadata; and evaluate slots in a second set in the cache after at least one slot in the set that was found to have an assigned value of zero, two, or one in its metadata has been evicted, or when no slots in the set were found that have assigned values of zero, two, or one in their metadata. - View Dependent Claims (10, 11, 12)
-
Specification