Patent application number | Description | Published |
20080215848 | Method and System For Caching Address Translations From Multiple Address Spaces In Virtual Machines - A method of virtualizing memory through shadow page tables that cache translations from multiple guest address spaces in a virtual machine includes a software version of a hardware tagged translation look-aside buffer. Edits to guest page tables are detected by intercepting the creation of guest-writable mappings to guest page tables with translations cached in shadow page tables. The affected cached translations are marked as stale and purged upon an address space switch or an indiscriminate flush of translations by the guest. Thereby, non-stale translations remain cached but stale translations are discarded. The method includes tracking the guest-writable mappings to guest page tables, deferring discovery of such mappings to a guest page table for the first time until a purge of all cached translations when the number of untracked guest page tables exceeds a threshold, and sharing shadow page tables between shadow address spaces and between virtual processors. | 09-04-2008 |
20100229114 | User Interface for Interaction with Virtual Machine - Systems, methods, and computer program products are described that provide a user interface to a user of a first operating system to enable the user to interact with a second operating system executing in a virtual machine. If the first and second operating systems are in communication in accordance with an operating system remote terminal (OSRT) protocol, such as Remote Desktop Protocol, a first user interface is provided as the user interface. If the first and second operating systems are not in communication in accordance with the OSRT protocol, a second user interface is provided as the user interface. | 09-09-2010 |
20100293540 | RECIPE-BASED APPLICATION CONVERSION - An installation package associated with an application is obtained. Installation of the application in a first type of system is analyzed based at least in part on the installation package. A first set of changes made to the first type of system resulting from installation of the application in the first type of system is identified. Based on the first set of changes, a second set of changes made to a second type of system resulting from installation of the application in the second type of system is identified, and a recipe identifying the second set of changes is generated. A new installation package associated with the application can also be generated. This new installation package is configured for installation of the application on the second type of system, and is based at least in part on both the recipe and the installation package | 11-18-2010 |
20100318968 | CATALOG-BASED SOFTWARE COMPONENT MANAGEMENT - Multiple software component identifiers are maintained in a catalog of an operating system running on a device. Each of these software component identifiers corresponds to one of multiple software components installed on the device. The catalog is accessed in response to a request regarding one of the multiple software components, and the request is responded to based at least in part on information included in the catalog. Additionally, two or more versions of a software component that are installed on the computing device can be identified. Which one of the two or more versions of the software component is an active version of the software component to be run is determined. In response to requests for information regarding the software component, information regarding the active version of the software component is returned. | 12-16-2010 |
20100319050 | Controlling Access to Software Component State - A request is received from a software component of a software product to access a value of a public setting of the software component. A check is made as to whether the request conforms to an appropriate format for the public setting. If the request conforms to the appropriate format, then the requested access is performed. However, if the request does not conform to the appropriate format, then the requested access is denied. Multiple values for the public setting can be received and maintained concurrently. | 12-16-2010 |
20100325085 | Managed System Extensibility - One or more extension registrations are received for each of multiple software components installed on a computing device. The one or more extension registrations identify the software components as providers of functionality. A record of the one or more extension registrations for each of the multiple software components is maintained. Requests are received, from other software components installed on the computing device, that identify particular functionality. In response to such requests, the information regarding one or more of the multiple software components that provide the particular functionality is returned to the other software components. | 12-23-2010 |
20110047548 | Systems and Methods for a Disaster Recovery System Utilizing Virtual Machines Running on at Least Two Host Computers in Physically Different Locations - The present invention is directed to systems and methods for providing disaster recovery services using virtual machines. The invention provides an inexpensive and minimally intrusive way to provide disaster recovery services including recovery of the state of computer processors and devices. The system includes a production host and a backup host that communicate via a communications link. The state of the processor and devices on the production host are periodically stored onto backup host and can be restored in the event of an emergency. Additionally, the invention includes two business methods for utilizing the system and methods for providing disaster recovery services. | 02-24-2011 |
20110066782 | PARTITION BUS - A method and system are provided for integrating partitions in a virtual machine environment. Specifically, a partition bus is provided, where the partition bus operatively connects partitions in such a way that it functions as a data transport mechanism allowing for data transfer and device sharing between partitions. The partition bus relies on virtualizing software in order to establish itself and to establish channels of communication between partitions and to inject interrupts to partitions where it is appropriate to do so. Furthermore, the partition bus employs such mechanisms ring buffers, transfer pages, and memory map changes to transfer information (requests and data). Furthermore, it uses policy agents to decide when information should be transferred or when devices should be shared among partitions. Lastly, it employs various mechanisms to ensure smooth integration between partitions, which includes remote services that have proxy devices and device versioning functionalities. | 03-17-2011 |
20130205291 | Recipe-Based Application Conversion - An installation package associated with an application is obtained. Installation of the application in a first type of system is analyzed based at least in part on the installation package. A first set of changes made to the first type of system resulting from installation of the application in the first type of system is identified. Based on the first set of changes, a second set of changes made to a second type of system resulting from installation of the application in the second type of system is identified, and a recipe identifying the second set of changes is generated. A new installation package associated with the application can also be generated. This new installation package is configured for installation of the application on the second type of system, and is based at least in part on both the recipe and the installation package | 08-08-2013 |
20130305239 | Catalog-Based Software Component Management - Multiple software component identifiers are maintained in a catalog of an operating system running on a device. Each of these software component identifiers corresponds to one of multiple software components installed on the device. The catalog is accessed in response to a request regarding one of the multiple software components, and the request is responded to based at least in part on information included in the catalog. Additionally, two or more versions of a software component that are installed on the computing device can be identified. Which one of the two or more versions of the software component is an active version of the software component to be run is determined. In response to requests for information regarding the software component, information regarding the active version of the software component is returned. | 11-14-2013 |
20140019954 | CONTROLLING ACCESS TO SOFTWARE COMPONENT STATE - A request is received from a software component of a software product to access a value of a public setting of the software component. A check is made as to whether the request conforms to an appropriate format for the public setting. If the request conforms to the appropriate format, then the requested access is performed. However, if the request does not conform to the appropriate format, then the requested access is denied. Multiple values for the public setting can be received and maintained concurrently. | 01-16-2014 |
20140075141 | CONCURRENT VIRTUAL MACHINE SNAPSHOTS AND RESTORE - Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data. | 03-13-2014 |
20140115588 | SYSTEMS AND METHODS FOR EXPOSING PROCESSOR TOPOLOGY FOR VIRTUAL MACHINES - The present invention is directed to making a guest operating system aware of the topology of the subset of host resources currently assigned to it. At virtual machine boot time a Static Resource Affinity Table (SRAT) will be used by the virtualizer to group guest physical memory and guest virtual processors into virtual nodes. Thereafter, in one embodiment, the host physical memory behind a virtual node can be changed by the virtualizer as necessary, and the virtualizer will provide physical processors appropriate for the virtual processors in that node. | 04-24-2014 |