Method and system for file data management in virtual environment
US-9348819-B1 · May 24, 2016 · US
US10691438B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10691438-B1 |
| Application number | US-201715409345-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jan 18, 2017 |
| Priority date | Jan 18, 2017 |
| Publication date | Jun 23, 2020 |
| Grant date | Jun 23, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.