Patent application number | Description | Published |
20080307414 | CREATING A VIRTUAL MACHINE IMAGE WITH A SOFTWARE DEPLOYMENT SYSTEM - A novel method is disclosed for capturing an installed state of a conventional application and converting the captured state into a virtual application. The novel method starts with a bare machine in a known state, preferably soon after the OS was installed. Installation scripts are used to install one or more software applications along with required components and dependencies. Other artifacts can be added and configured such as files, trees, directories, entries, data, values, among others. These also may include updates to various system databases, such as the Windows registry in which certain metadata is stored. The installed applications are tested and verified to work as desired. Undesired artifacts can be deleted manually or removed by the OS. The state of the virtual machine with the installed applications is captured. The installed applications can be tested on the frozen virtual machine. If the user determines that the installed applications are working properly, a virtual machine image is prepared and then written out. The resulting output is a new populated virtual application container that encapsulates the applications installed and configured by the user. If the user determines that one or more installed applications do not work properly during testing, then the frozen virtual machine can be unfrozen and any deficiencies corrected. The virtual machine image is stored as a launch document and a set of shards. The virtual machine image represents the state of the virtual machine along with the installed applications at the time the preparation virtual machine was frozen. | 12-11-2008 |
20090070752 | METHOD AND SYSTEM FOR OPTIMIZATION OF AN APPLICATION - A method is provided for creating a virtual machine image. According to the method, at least one application is provided on a computer system. After the application is provided on the computer system, at least one optimization of the application is performed based on a runtime environment of the application to produce an optimized application, and the optimized application and at least a portion of the runtime environment are packaged in a virtual machine image. In one embodiment, the computer system is a virtual machine. Also provided is a system for creating a virtual machine image. | 03-12-2009 |
20090222461 | METHOD AND SYSTEM FOR SEPARATING FILE SYSTEM METADATA FROM OTHER METADATA IN VIRTUAL MACHINE IMAGE FORMAT - A method for performing software operations on virtual machine images, includes: receiving a virtual machine image that includes data; reclassifying the data into a plurality of parts; and performing a software operation on one of the parts, wherein the software operation is performed without running a virtual machine. | 09-03-2009 |
20090222462 | METHOD AND SYSTEM FOR SEPARATING CONTENT IDENTIFIERS FROM CONTENT RECONSTITUTION INFORMATION IN VIRTUAL MACHINE IMAGES - A method for performing software operations on virtual machine images, includes: receiving a virtual machine image that includes a mapping from a first file name to first file content; reformatting the virtual machine image by: creating a store that contains the first file content and that associates a content descriptor with the first file content, wherein the first file content can be reconstructed by using the content descriptor; and decoupling the mapping by creating an image manifest that maps the first file name to the content descriptor; and performing a software operation on the virtual machine image using the reformatted virtual machine image. | 09-03-2009 |
20090222468 | METHOD AND SYSTEM FOR USING SEMANTIC INFORMATION TO IMPROVE VIRTUAL MACHINE IMAGE MANAGEMENT - A method for performing software operations on virtual machine images, includes: receiving a first virtual machine image that includes a mapping from a first file name to first file content; reformatting the first virtual machine image by: creating a unique ID for the first file content; and decoupling the mapping of the first virtual machine image by creating an image manifest that maps the first file name to the unique ID, and creating a store that contains the first file content and that maps the unique ID to the first file content; and performing a software operation on the first virtual machine image using the reformatted first virtual machine image. | 09-03-2009 |
20090222474 | METHOD AND SYSTEM FOR USING OVERLAY MANIFESTS TO ENCODE DIFFERENCES BETWEEN VIRTUAL MACHINE IMAGES - A method for creating a virtual machine image, includes: storing a first image manifest for a first virtual machine image, the first image manifest including a mapping from file names of the first virtual machine image to content descriptors; storing a second image manifest for a second virtual machine image, the second image manifest including a mapping from file names of the second virtual machine image to content descriptors; creating a first overlay mapping by: placing a file name and its content descriptor both from the second image manifest in the first overlay mapping; and placing a file name and its content descriptor both from the first image manifest in the first overlay mapping if the file name and its content descriptor are not mapped in the second image manifest; and constructing a third virtual machine image having an image manifest whose mapping is the first overlay mapping. | 09-03-2009 |
20120078966 | File System With Content Identifiers - A method for operating a file system includes receiving a write instruction including a file descriptor associated with a file and a content identifier, a content offset, and a content length, associating a region within the file with the content identifier, saving the association of the region and the content identifier. | 03-29-2012 |
20120185499 | Scalable Package Management For Virtual-Machine Images - A method for managing a virtual machine image includes receiving a request to change a package configuration of a machine, processing an image action received in the request, wherein the processing the image action received includes, opening the image action with associated action inputs, comparing the opened image action inputs with inputs associated with action instances in a database, determining whether the compared opened image action inputs match the inputs associated with action instances, retrieving from the database, image difference data associated with the image action responsive to determining that the compared opened image action inputs match the inputs associated with action instances in the database, and applying the image difference data to an image to transform the image, determining whether each image action in the request has been processed and processing a second image action responsive to determining that each image action has not been processed. | 07-19-2012 |
20120192179 | Method and Apparatus for Distributing a Composite Software Stack as a Virtual Machine Image - Methods and apparatus are provided for distributing a composite software stack as a virtual appliance. A new virtual appliance is published by obtaining a parent virtual appliance; configuring the new virtual appliance; obtaining file level differences between the parent virtual appliance and the new virtual appliance; and publishing the new virtual appliance as a patch comprising the file level differences relative to the parent virtual appliance. The file level differences comprise one or more of additions, deletions and modifications to the parent virtual appliance. An update to a given virtual appliance can be published as a fix pack, wherein the fix pack comprises file level differences relative to the given virtual appliance. An end user obtains a desired virtual appliance is obtained (for example, from a library of virtual appliances) by selecting the desired virtual appliance; obtaining metadata for the desired virtual appliance comprising an identifier of a patch file and a parent virtual appliance; and applying the patch file to the parent virtual appliance to get a modified virtual appliance. | 07-26-2012 |
20130061226 | Method and Apparatus for Distributing a Composite Software Stack as a Virtual Machine Image - A composite software stack is distributed as a virtual appliance. A new virtual appliance is published by obtaining a parent virtual appliance; configuring the new virtual appliance; obtaining file level differences between the parent virtual appliance and the new virtual appliance; and publishing the new virtual appliance as a patch comprising the file level differences relative to the parent virtual appliance. The file level differences comprise additions, deletions and/or modifications to the parent virtual appliance. An update to a given virtual appliance can be published as a fix pack, wherein the fix pack comprises file level differences relative to the given virtual appliance. An end user obtains a desired virtual appliance by selecting the desired virtual appliance; obtaining metadata for the desired virtual appliance comprising an identifier of a patch file and a parent virtual appliance; and applying the patch file to the parent virtual appliance to get a modified virtual appliance. | 03-07-2013 |
20130111018 | PASSIVE MONITORING OF VIRTUAL SYSTEMS USING AGENT-LESS, OFFLINE INDEXING | 05-02-2013 |
20130111473 | PASSIVE MONITORING OF VIRTUAL SYSTEMS USING EXTENSIBLE INDEXING | 05-02-2013 |
20130339779 | SYSTEMATIC FAILURE REMEDIATION - Aspects of the present invention provide a tool for analyzing and remediating an update-related failure. In an embodiment, a failure state of a computer system that has been arrived at as a result of an update is captured. A semantic diff that includes the difference between the failure state and at least one of an original state or a completion state is then computed. This semantic diff is transformed into a feature vector format. Then the transformed semantic diff is analyzed to determine a remediation for the update. Failure and/or resolution signatures can be constructed using the semantic diff and contextual data, and these signatures can be used in comparison and analysis of failures and resolutions. | 12-19-2013 |
20130339787 | SYSTEMATIC FAILURE REMEDIATION - Aspects of the present invention provide a tool for analyzing and remediating an update-related failure. In an embodiment, a failure state of a computer system that has been arrived at as a result of an update is captured. A semantic diff that includes the difference between the failure state and at least one of an original state or a completion state is then computed. This semantic diff is transformed into a feature vector format. Then the transformed semantic diff is analyzed to determine a remediation for the update. Failure and/or resolution signatures can be constructed using the semantic diff and contextual data, and these signatures can be used in comparison and analysis of failures and resolutions. | 12-19-2013 |
20140372596 | PASSIVE MONITORING OF VIRTUAL SYSTEMS USING AGENT-LESS, NEAR-REAL-TIME INDEXING - Aspects of the present invention provide a solution for passively monitoring a computer system. In an embodiment, a read-only target is created based on the configuration of the virtual server disk used by the virtual server to access the storage associated therewith. This read-only target can be used to expose the virtual server disk for access by a monitoring crawler. Using the read-only target, a monitoring crawler can acquire a set of features regarding the virtual server from the virtual server disk. One or more of this set of features can be analyzed to perform passive monitoring of the virtual server. | 12-18-2014 |
20150052321 | MINIMALLY DISRUPTIVE VIRTUAL MACHINE SNAPSHOTS - Aspects of the present invention provide a solution for creating a snapshot of a virtual server. In an embodiment, a first write storage is created in response to a snapshot request. For each write from the virtual server to primary storage that is the first write of that particular data block since the snapshot request, the data that resided in the data block previous to the write is copied from the primary storage to the first write storage. | 02-19-2015 |
Patent application number | Description | Published |
20080301140 | Method, Apparatus and Computer Program Product for Optimizing File Accesses for an Application Executing in a Virtual Container - Disclosed is a method, apparatus and a computer program of a virtual execution environment. In one aspect thereof a data processor includes a disk-based storage system and a virtual machine monitor configured to execute a program in a virtual container. The virtual machine monitor is responsive, prior to execution of the application, to record a set of files accessed during a phase change in the disk-based storage system in a manner predetermined to minimize the time needed to retrieve the set of files. The virtual machine monitor is further responsive, at the occurrence of the phase change, or prior to the occurrence of a phase change if the files are prefetched, to retrieve the files from the disk-based storage system. In a further aspect thereof there is provided a server of the virtual execution environment that includes a unit, responsive to receiving notification from the at least one virtual machine monitor of an occurrence of contemporaneous file accesses not associated with a known phase change of a virtual container, for evaluating the occurrence as a candidate phase change and, responsive to the evaluation indicating a presence of a previously unknown phase change, for adding a list of the files accessed to a phase change template for use by the same or a different virtual machine monitor during another instance of execution of the application. | 12-04-2008 |
20080301205 | Method, Apparatus And Computer Program Product For Optimizing Access To The Content Of A Virtual Application Container On A Fixed, Read-Only Medium - Disclosed is a method, apparatus and a computer program of a virtual execution environment. In one aspect thereof a data processor includes a read-only storage medium and a virtual machine monitor configured to execute a program in a virtual container. Prior to execution of the application a set of application components accessed during a phase change are recorded in the read-only storage medium in a manner predetermined to minimize the time needed to retrieve the set of components. At the occurrence of the phase change, or prior to the occurrence of a phase change if the files are prefetched, the virtual machine monitor retrieves the components from the read-only storage medium. In a further aspect thereof there is provided a packager of an application to be executed in a virtualization environment by a virtual machine monitor. The packager is responsive to receiving notification from a virtual machine monitor of an occurrence of contemporaneous file accesses, not associated with a known phase change of a virtual container, to evaluate the occurrence as a candidate phase change, and responsive to the evaluation indicating a presence of a previously unknown phase change, for recording the files accessed on a new read-only storage medium in the order accessed for use by the same or a different virtual machine monitor during another instance of execution of the application. | 12-04-2008 |
20080301316 | Method, Apparatus And Computer Program Product For Discovering And Prioritizing Patterns Of Component Usage In A Virtual Application Container For Enhancing Prefetching - Disclosed is a method, computer program product and a server unit of a virtual execution environment having at least one client. The server unit includes a network interface for conducting bidirectional communications with the at least one client and a control unit configured to determine, for individual ones of positions in a virtualized execution of an application, those components that are required at each position; to establish a pseudo-distance between the positions in the virtualized execution of the application; and to identify components that are candidates for prefetching as those components required at one or more positions that are proximate to a current position. The pseudo-distance between positions is indicative of an urgency of prefetching candidate components for regulating an amount of resources devoted to the prefetching of components. | 12-04-2008 |
20080301676 | Method for Delivering, Testing, and Applying Software Patches or Other Changes to a Conventionally Installed Application in Virtual Application Containers - A method for updating an application on a host system includes steps or acts of: installing an application on the host system; installing a virtual machine monitor on the host system, installing a first virtual container on the host system, wherein the first virtual container comprises at least one update to the installed application; and instantiating the first virtual container under the virtual machine monitor in a mode wherein the host system can be accessed but not modified and wherein instantiating the first virtual container includes updating the installed application in the first virtual computer and running the updated application in the first virtual container. The method may also include a step of confirming that the updated application runs properly. Optionally, the virtual container may be devirtualized. A system for updating an application on a host system includes: at least one virtual machine monitor, at least one virtual container; at least one application; at least one update to the application contained within the at least one virtual container; and a processor configured for carrying out the above method steps. The system may also include an input multiplexer configured for mediating access to the at least one virtual container; and an output analyzer configured for confirming that the updated application performed as expected in at least one virtual container. | 12-04-2008 |