Abstract:
A portable media storage device may include layers permitting applications to be used at a connected computing device, those systems optionally including drivers for operating a public context layered computing environment or a driver installation program. Also disclosed are computer systems for using other systems for creating those portable storage devices.
Abstract:
The disclosure is directed to systems and methods for patching computer programs. In one example, a patch is virtually installed to a computing device having a base file system and configuration, a computer program, and a patch layering subsystem. The virtual installation may include storing content of the patch to a patch layer, and generating and storing mapping data defining at least one relationship between the content in the patch layer and content in the base file system and configuration. The virtually installed patch may be enabled, including applying the mapping data to the patch layering subsystem such that the patch layering subsystem is configured for selectively redirecting access requests from the base file system and configuration to the patch layer. In certain embodiments, the enabled patch may be disabled by reversing the application of the mapping data to the patch layering subsystem.
Abstract:
A file system includes first, second, third, and fourth directories where the first and second directories are sub-directories of the third directory, the third directory is a sub-directory of the fourth directory, the first directory stores only files identified by a first file extension, the second directory stores only files identified by a second file extension, and the first and second file extensions are distinct. A method involves receiving first and second requests to open first and second files, respectively, that are contained in the file system. The first and second requests include first and second file system paths, respectively. The first file system path is modified by adding identities of the first, third, and fourth directories to the first file system path. The second file system path is modified by adding identities of the second, third, and fourth directories to the second file system path.
Abstract:
The disclosure is directed to dynamic insertion and removal of virtual software sub-layers. In one example, a virtual layer associated with a software application is virtually installed and activated in a computing device. A virtual sub-layer associated with a component of the software application is dynamically inserted in the virtual layer. The virtual layer remains active during the dynamic insertion of the virtual sub-layer. In certain embodiments, a process is executed from the virtual layer, a determination is made as to whether the process launched before or after the insertion of the virtual sub-layer, and the inserted virtual sub-layer is selectively made visible or invisible to the process based on the determination.
Abstract:
The disclosure is directed to dynamic insertion and removal of virtual software sub-layers. In one example, a virtual layer associated with a software application is virtually installed and activated in a computing device. A virtual sub-layer associated with a component of the software application is dynamically inserted in the virtual layer. The virtual layer remains active during the dynamic insertion of the virtual sub-layer. In certain embodiments, a process is executed from the virtual layer, a determination is made as to whether the process launched before or after the insertion of the virtual sub-layer, and the inserted virtual sub-layer is selectively made visible or invisible to the process based on the determination.
Abstract:
The disclosure is directed to systems, apparatus, and methods for layered execution. In one example, a layered execution environment is provided where one or more layers are overlaid over a base operating environment in a manner that they appear to be installed on the local system. The first layer may include a resource associated with one or more resources on a second layer. The resource on the first layer may be monitored to determine when access to the resource is requested. In response to access to the resource of the first layer, the second layer, which comprises the associated resources, may be activated. By activating the second layer only in response to a request to access a resource on the first layer, associated resources may be selectively activated resulting in more efficient execution.
Abstract:
A computer-implemented method for transparently restoring data using streaming may comprise identifying an attempt to access backed-up data that is not present on a computing device, transmitting a request to a server to restore the backed-up data, receiving the backed-up data from the server via streaming, and restoring the backed-up data to the computing device. A corresponding method for streaming backed-up data to a target computing device is also disclosed. In addition, corresponding systems and computer-readable media are also disclosed.
Abstract:
A computer-implemented method of imaging a computer system may include taking an image of the computer system that includes those files needed to boot an operating system but excludes at least some of those files that are not needed to boot the operating system. The image may be loaded on a target computer system, which may or may not be the same as the imaged computer system, to enable the target computer system to boot the operating system. Those files that are not needed to boot the operating system may be streamed to the target computer system on an as-needed basis or in the background. Corresponding systems and computer-readable media are also disclosed.
Abstract:
The inventions relate generally to protection of computing systems by isolating intrusive attacks into layers, those layers containing at least file objects and being accessible to applications, those layers further maintaining potentially intrusive file objects separately from regular file system objects such that the regular objects are protected and undisturbed. Also disclosed herein are computing systems which use layers and/or isolation layers, and various systems and methods for using those systems. Detailed information on various example embodiments of the inventions are provided in the Detailed Description below, and the inventions are defined by the appended claims.
Abstract:
A computer-implemented method for defragmenting virtual machine prefetch data. The method may include obtaining prefetch information associated with prefetch data of a virtual machine. The method may also include defragmenting, based on the prefetch information, the prefetch data on physical storage. The prefetch information may include a starting location and length of the prefetch data on a virtual disk. The prefetch information may include a geometry specification of the virtual disk. Defragmenting on physical storage may include placing the prefetch data contiguously on physical storage, placing the prefetch data in a fast-access segment of physical storage, and/or ordering the prefetch data according to the order in which it is accessed at system or application startup.