# US 2013/0159252 A1 · Customizable File-Type Aware Cache Mechanism

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159252 A1
- Document ID: US20130159252A1
- Status: Published application
- Kind: A1
- Application number: 13/766,229
- Filed: 2013-02-13
- Published: 2013-06-20
- Earliest claimed: 2011-11-21
- Assignees: International Business Machines Corporation
- Inventors: Dirk Bolte; Herwig Elfering; Thomas Pohl; Martin Troester
- Web page: https://patentgrep.com/patent/US20130159252A1

## CPC

- G06F 16/172: Caching, prefetching or hoarding of files
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A caching mechanism is provided in a computer server system including at least one host coupled to at least one disk, one or more virtual machines, one or more images of the one or more virtual machines created in a file system of the disk, and a virtual machine manager for assigning hardware resources of the computer server system to the one or more virtual machines. The mechanism provides a masking cache layer between the one or more virtual machines and the virtual machine manager, the masking cache layer including at least one separate entry for every cacheable data block of the file system to be referenced, collects profiling information related to one or more of the cacheable data blocks (58) and stores the profiling information in the masking cache layer and configures the masking cache layer according to the profiling information, or provides a configuration for the masking cache layer.

## Claims

### Claim 1

A caching method comprising:
providing a masking cache layer between one ore more virtual machines and a virtual machine manager, the masking cache layer including at least one separate entry for each cacheable data block of a disk file system to be referenced;
providing a masking cache layer between one or more virtual machines and a virtual machine manager, the masking cache layer including at least one separate entry for each cacheable data block of a disk file system to be referenced;
collecting profiling information related to one or more of the cacheable data blocks;
storing the profiling information in the masking cache layer; and
configuring the masking cache layer according to the profiling information.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
providing at least one rule for configuring the masking cache layer according to the at least one rule and configuring the masking cache layer; and
deciding according to the at least one rule whether or not a given cacheable data block is to he kept in the masking cache layer.

### Claim 3 (depends on 1)

The method of claim 1, wherein the masking cache layer is implemented as a memory file system configured to represent a file system or a subdirectory of the disk the system.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
generating the configuration by deriving the at least one rule out of profiling information comprising at least one of the following:
providing information about access patterns of the one or more cacheable data blocks of the disk file system to be referenced;
providing a counter for profiling data block access rates;
deriving information about content of the one or more cacheable data blocks for profiling data block access rates;
deriving information about a file type of a file to be referenced in the disk file system; or
using path information available for the one or more cacheable data blocks according to a file type to which the one or more cacheable data blocks belong.

### Claim 5 (depends on 4)

The method of claim 4, further comprising;
responsive to a read operation related to the one or more cacheable data blocks, determining whether the one or more cacheable data blocks are already stored in the masking cache layer, passing the read operation to the disk file system responsive to the one or more cacheable data blocks not being stored in the masking cache layer, and keeping the one or more cacheable data blocks in the masking cache layer responsive to the one or more cacheable data blocks already being stored in the masking cache; and
responsive to a write operation related to the one or more cacheable data blocks passing the write operation to the disk file system responsive to determining a specification that requires storing the one or more cacheable data blocks changed by the write operation does not exist.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
providing an algorithm derived from the data block access profiling information.

### Claim 7 (depends on 1)

The method of claim 1, wherein each cacheable data block represents at least one of a file system image, a database, or a picture.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
providing a communality map between at least two or more image files to be used for deciding whether a given cacheable data block is to be kept in the masking cache layer.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
providing the communality map as a static association table to be derived prior to virtual machine execution.

### Claim 10 (depends on 8)

The method according to claim 8, further comprising;
providing the communality map to be derived as a dynamic association table during virtual machine execution for a dynamic loading of a new file at runtime.

### Claim at position 11

11-13. (canceled)
