System and method for performing context aware operating file system virtualization
AssigneeUnity Technologies ApS
InventorJoseph Franklin Scheinberg
Life of this patent
Estimating the term…
Abstract
A method of accessing content in a virtualized file system is disclosed. A virtualization API is called to enumerate a list of files within a target directory. The calling of the virtualization API includes bypassing a calling of an operating system API included on a device. The enumeration includes reading from a local data structure on the device. A content data item within a file of the enumerated list of files is determined to be required for an application to perform an operation. A content identifier is determined for the content data item. The content identifier is stored in the local data structure for subsequent access to the content data item.
Claims16
A system comprising:
- one or more computer processors;
- one or more computer memories;
- a set of instructions incorporated into the one or more computer memories, the set of instructions causing the one or more computer processors to perform operations, the operations comprising:
- based on a number of files in a list of files within a target directory on a client device, calling a virtualization application programming interface (API) to enumerate the list of files within the target directory on the client device, the enumerating of the list of files including bypassing an operating system virtual file system module on the client device, the calling of the virtualization API including creating a data structure in a memory that includes the list of files, the bypassing of the operating system virtual file system module comprising avoiding an enumeration of the list of files by the operating system virtual file system module, the memory including one or more of a local cache memory on the client device or a remote cache memory on a hash server;
- determining that, to perform an operation, an application on the client device requires data within a file of the enumerated list of files and determining a content identifier for the data;
- and
- when a hash for the file is found in the data structure, using the hash substantially immediately and, when the hash for the file is not found in the data structure, reading the file via the operating system virtual file system module, converting the file from an initial data format to a target data format, calculating the hash for the file, and storing the hash and the content identifier in the data structure in the memory for speeding up subsequent access to the data, wherein the hash identifies the converted file.
A non-transitory computer-readable storage medium storing a set of instructions that, when executed by one or more computer processors, causes the one or more computer processors to perform operations, the operations comprising:
- based on a number of files in a list of files within a target directory on a client device, calling a virtualization application programming interface (API) to enumerate the list of files within the target directory on the client device, the enumerating of the list of files including bypassing an operating system virtual file system module on the client device, the calling of the virtualization API including creating a data structure in a memory that includes the list of files, the bypassing of the operating system virtual file system module comprising avoiding an enumeration of the list of files by the operating system virtual file system module, the memory including one or more of a local cache memory on the client device or a remote cache memory on a hash server;
- determining that, to perform an operation, an application on the client device requires data within a file of the enumerated list of files and determining a content identifier for the data;
- and
- when a hash for the file is found in the data structure, using the hash substantially immediately and, when the hash for the file is not found in the data structure, reading the file via the operating system virtual file system module, converting the file from an initial data format to a target data format, calculating the hash for the file, and storing the hash and the content identifier in the data structure in the memory for speeding up subsequent access to the data, wherein the hash identifies the converted file.
A method comprising:
- based on a number of files in a list of files within a target directory on a client device, calling a virtualization application programming interface (API) to enumerate the list of files within the target directory on the client device, the enumerating of the list of files including bypassing an operating system virtual file system module on the client device, the calling of the virtualization API including creating a data structure in a memory that includes the list of files, the bypassing of the operating system virtual file system module comprising avoiding an enumeration of the list of files by the operating system virtual file system module, the memory including one or more of a local cache memory on the client device or a remote cache memory on a hash server;
- determining that, to perform an operation, an application on the client device requires data within a file of the enumerated list of files and determining a content identifier for the data;
- and
- when a hash for the file is found in the data structure, using the hash substantially immediately and, when the hash for the file is not found in the data structure, reading the file via the operating system virtual file system module, converting the file from an initial data format to a target data format, calculating the hash for the file, and storing the hash and the content identifier in the data structure in the memory for speeding up subsequent access to the data, wherein the hash identifies the converted file.
Dependencies are inferred from the claim text.