US Patent No. 10,691,438

ACCESS FREQUENCY-BASED FILE MANAGEMENT IN VIRTUALIZED COMPUTING ENVIRONMENTS USING SPARSE FILES


Patent No. 10,691,438
Issue Date June 23, 2020
Title Access Frequency-based File Management In Virtualized Computing Environments Using Sparse Files
Inventorship Maxim Lyadvinsky, Moscow (RU)
Nikolay Dobrovolskiy, Moscow (RU)
Serguei M. Beloussov, Singapore (SG)
Assignee Parallels International GmbH, Schaffhausen (CH)

Claim of US Patent No. 10,691,438

1. A method comprising:executing, by a processing device of a computer system, a hypervisor to manage one or more virtual machines that each include a guest operating system, wherein the guest operating system comprises a guest file system and supports an access to the virtual machine from a client device;
receiving, by the processing device, from within the guest operating system, a request to store a first data file in the guest file system;
in response to receiving the request to store the first data file:
storing the first data file in a first storage device for a file system outside the guest file system, the first data file having a first file path in a folder structure of the file system outside the guest file system;
storing a second data file in the guest file system, wherein the second data file is a sparse file for the first data file, the second data file having a second file path in a folder structure of the guest file system, wherein the second file path shares a common portion with the first file path; and
storing metadata for the second data file, wherein the metadata directs requests to access the second data file from within the guest operating system to the first data file stored in the first storage device, the metadata comprising an identifier of the common portion for determining a location of the second data file;
receiving, from within the guest operating system, a plurality of requests to access the second data file;
responsive to each of the plurality of requests, accessing the first data file using the metadata for the second data file;
storing a record of the requests to access the second data file;
identifying, based on the stored record, an access frequency of the requests to access the second data file; and
moving, based on the access frequency, the first data file from the first storage device outside the guest file system to a second storage device outside the guest file system.