File management in virtualized computing environments using sparse files

US10691638B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10691638-B1
Application numberUS-201715409317-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, a request to create a data file in a guest file system of the guest operating system. The method further includes in response to the receipt of the request to create the data file, creating an external data file in a first storage device for a file system outside the guest file system, creating a sparse file in the guest file system, and storing metadata that directs requests to access the sparse file from within the guest operating system to the external data file in the first storage device.

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 the guest operating system, a request to access the second data file; receiving the metadata for the second data file; and in response to receiving the request to access the second data file, providing access to the first data file in the first storage device based on the metadata for the second data file. 2. The method of claim 1 , wherein storing the first data file in the first storage device for a file system outside the guest file system comprises: storing the first data file in the guest file system; receiving an indication that the first data file is to be stored outside the guest file system; and moving the first data file to the first storage device. 3. The method of claim 1 , wherein the request to access the second data file comprises a request to read the second data file, and wherein providing access to the first data file comprises providing data from the first data file in the first storage device. 4. The method of claim 1 , wherein the request to access the second data file comprises a request to write to the second data file, and wherein providing access to the first data file comprises writing data to the first data file in the first storage device. 5. The method of claim 1 , further comprising: receiving a request to move the first data file from the first storage device to a second storage device; in response to receiving the request to move the first data file: moving the first data file from the first storage device to the second storage device; and updating the metadata for the second data file to direct requests to access the second data file from within the guest operating system to the first data file in the second storage device. 6. The method of claim 1 , further comprising: receiving, from within the guest operating system, a request to access the second data file; failing to provide access to the first data file in the first storage device; in response to failing to provide access to the first data file, requesting a location of the first data file; receiving the location of the first data file in a second storage device; and in response to receiving the location of the first data file, updating the metadata for the second data file to direct requests to access the second data file from within the guest operating system to the first data file in the second storage device. 7. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processing device, cause the processing device 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; 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 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 the guest operating system, a request to access the second data file; receive the metadata for the second data file; and in response to receiving the request to access the second data file, provide access to the first data file in the first storage device based on the metadata for the second data file. 8. The computer-readable medium of claim 7 , wherein the request to access the second data file comprises a request to read the second data file, and wherein, to provide access to the first data file, the instructions are further to cause the processing device to provide data from the first data file in the first storage device. 9. The computer-readable medium of claim 7 , wherein the request to access the second data file comprises a request to write to the second data file, and wherein, to provide access to the first data file, the instructions are further to cause the processing device to write data to the first data file in the first storage device. 10. The computer-readable medium of claim 7 , wherein the instructions are further to cause the processing device to: receive a request to move the first data file from the first storage device to a second storage device; in response to receiving the request to move the first data file: move the first data file from the first storage device to the second storage device; and update the metadata for the second data file to direct requests to access the second data file from within the guest operating system to the first data file in the second storage device. 11. The computer-readable medium of claim 7 , wherein the instructions are further to cause the processing device to: receive, from within the guest operating system, a request to access the second data file; fail to provide access to the first data file in the first storage device; in response to failing to provide access to the first data file, request a location of the first data file; receive the location of the first data file in a second storage device; and in response to receiving the location of the first data file, update the metadata for the second data file to direct requests to access the second data file from within the guest operating system to the first data file in the second storage device. 12. A system comprising: a memory that stores instructions; and a processing device to execute the instructions to: execute a hypervisor to manage one or more virtual machines that each include a guest operating system, wherein the guest operating system comprise

Assignees

Inventors

Classifications

  • Virtual file systems · CPC title

  • File or folder operations, e.g. details of user interfaces specifically adapted to file systems · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131) · 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 US10691638B1 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, a request to create a data file in a guest file system of the guest operating system. The method further includes in response to the receipt of the request to create the data file, creating an external data file in a first storage device for…
Who is the assignee on this patent?
Parallels Int Gmbh
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
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).