Access frequency-based file management in virtualized computing environments using sparse files

US10691438B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10691438-B1
Application numberUS-201715409345-A
CountryUS
Kind codeB1
Filing dateJan 18, 2017
Priority dateJan 18, 2017
Publication dateJun 23, 2020
Grant dateJun 23, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The subject matter of this specification can be implemented in, among other things, a method that includes receiving, from within a guest operating system hosted by a host operating system at a computer system, requests to access sparse files within a guest file system of the guest operating system. The sparse files each correspond to an external data file outside the guest file system. Each of the requests to access the sparse files within the guest file system is directed to the corresponding external data file outside the guest file system. The method includes identifying a frequency with which each of the sparse files is accessed. The method includes moving an external data file from a first type of storage device to a second type of storage device based on the frequency with which the external data file is accessed relative to others of the external data files.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The method of claim 1 , wherein the second file is empty. 3. The method of claim 1 , wherein the first storage device is of a first type of a plurality of storage device types, the second storage device is of a second type of the plurality of storage device types, and the plurality of storage device types comprises a local storage device within the computer system, an external storage device connected to the computer system, a network shared storage device in communication with the computer system over a network, and a cloud storage system in communication with the computer system. 4. The method of claim 1 , wherein the second storage device has a higher speed of access than the first storage device, and wherein moving the first data file is in response to determining that the access frequency is higher than a threshold frequency. 5. The method of claim 1 , wherein the second storage device has a lower speed of access than the first storage device, and wherein moving the first data file is in response to determining that the access frequency is lower than a threshold frequency. 6. The method of claim 1 , further comprising measuring a speed of access of the first storage device and a speed of access of the second storage device, and wherein moving the first data file is further based on the speed of access of the first storage device being lower than the speed of access of the second storage device. 7. The method of claim 6 , further comprising: measuring, at a later time, the speed of access of the first storage device and the speed of access of the second storage device; and returning the first data file from the second storage device to the first storage device based on, as measured at the later time, the speed of access of the first storage device being higher than the speed of access of the second storage device. 8. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a computer system, cause the computer system to: execute 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; receive, 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: store 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; and store 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 store 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; receive, from within the guest operating system a plurality of requests to access the second data file; responsive to each of the plurality of requests, access the first data file using the metadata for the second data file; store a record of the requests to access the second data file; identify, based on the stored record, an access frequency of the requests to access the second data file; and move, 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. 9. The computer-readable medium of claim 8 , wherein the second file is empty. 10. The computer-readable medium of claim 8 , wherein the first storage device is of a first type of a plurality of storage device types, the second storage device is of a second type of the plurality of storage device types, and the plurality of storage device types comprises a local storage device within the computer system, an external storage device connected to the computer system, a network shared storage device in communication with the computer system over a network, and a cloud storage system in communication with the computer system. 11. The computer-readable medium of claim 8 , wherein the second storage device has a higher speed of access than the first storage device, and wherein to move the first data file the instructions are further to cause the computing system to determine that the access frequency is higher than a threshold frequency. 12. The computer-readable medium of claim 8 , wherein the second storage device has a lower speed of access than the first storage device, and wherein to move the first data file the instructions are further to cause the computing system to determine that the access frequency is lower than a threshold frequency. 13. The computer-readable medium of claim 8 , wherein the instructions are further to cause the computer system to measure a speed of access of the first storage device and a speed of access of the second storage device, and wherein moving the first data file is further based on the speed of access of the first storage device being lower than the speed of access of the second storage device. 14. The computer-readable medium of claim 13 , wherein the instructions are further to cause the computer system to: measure, at a later time, the speed of access of the first storage device and the speed

Assignees

Inventors

Classifications

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • G06F8/63Primary

    Image based installation; Cloning; Build to order · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • specially adapted for file transfer, e.g. file transfer protocol [FTP] · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10691438B1 cover?
The subject matter of this specification can be implemented in, among other things, a method that includes receiving, from within a guest operating system hosted by a host operating system at a computer system, requests to access sparse files within a guest file system of the guest operating system. The sparse files each correspond to an external data file outside the guest file system. Each of…
Who is the assignee on this patent?
Parallels Int Gmbh
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 23 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).