Patents by Inventor Eric P. Traut
Eric P. Traut has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20100229114Abstract: 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.Type: ApplicationFiled: March 9, 2009Publication date: September 9, 2010Applicant: Microsoft CorporationInventors: Prasad Thiruveedu, Rahul S. Newaskar, Eric P. Traut, Hari Krishna Pammi, Yogesh K. Sharma
-
Patent number: 7689800Abstract: 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.Type: GrantFiled: May 12, 2005Date of Patent: March 30, 2010Assignee: Microsoft CorporationInventors: Jacob Oshins, Peter L. Johnston, Eric P. Traut, Nathan Lewis, Jeffrey Kinsey
-
Patent number: 7685635Abstract: Various embodiments of the present invention are directed to a multi-level virtualizer that is designed to remove much of the intercept-related functionality from the base-level virtualizer (that exists outside of each partition) and, instead, incorporate much of this functionality directly into each partition. For several of the embodiments, certain intercept handling functions are performed by an “external monitor” that runs within a partition and responds to specific intercept events, and the base-level virtualizer installs these external monitors within each partition and thereafter manages the external monitors for both single-partition and cross-partition intercept events. This distributed approach to intercept handling allows for a much less complex virtualizer and moves the intercept functionality up into each partition where each external monitor uses the resources of the corresponding guest operating system in that partition to resolve the intercept event.Type: GrantFiled: March 11, 2005Date of Patent: March 23, 2010Assignee: Microsoft CorporationInventors: Rene Antonio Vega, Eric P. Traut, Joy Ganguly
-
Patent number: 7657888Abstract: A method is provided for increasing the efficiency of virtual machine processing. A parent virtual machine is provided on a host computer. The parent virtual machine is temporarily or permanently suspended. A child virtual machine is created at a new location by forking the parent virtual machine. The child virtual machine may not initially include all the stored data that is associated with the parent virtual machine.Type: GrantFiled: December 21, 2007Date of Patent: February 2, 2010Assignee: Microsoft CorporationInventors: Eric P. Traut, Rene A. Vega
-
Patent number: 7650482Abstract: Enhanced shadow page table algorithms are presented for enhancing typical page table algorithms. In a virtual machine environment, where an operating system may be running within a partition, the operating system maintains it's own guest page tables. These page tables are not the real page tables that map to the real physical memory. Instead, the memory is mapped by shadow page tables maintained by a virtualing program, such as a hypervisor, that virtualizes the partition containing the operating system. Enhanced shadow page table algorithms provide efficient ways to harmonize the shadow page tables and the guest page tables. Specifically, by using tagged translation lookaside buffers, batched shadow page table population, lazy flags, and cross-processor shoot downs, the algorithms make sure that changes in the guest pages tables are reflected in the shadow page tables.Type: GrantFiled: September 4, 2007Date of Patent: January 19, 2010Assignee: Microsoft CorporationInventors: Eric P. Traut, Matthew D. Hendel, Rene Antonio Vega
-
Patent number: 7580826Abstract: The present invention discloses dynamically adding virtual devices to a virtual computing environment. The system described in the invention includes a virtualized computing system with a manifest, which further includes device lists and an external device directory, which provides users of the virtualized computing system with a directory for adding software plug-ins that contain specifications needed to add virtual devices to the virtual computing environment. Certain embodiments are specifically directed to providing a method of adding and configuring virtual devices. Certain embodiments are specifically directed to providing a method of operating a virtualized computing system wherein the host operating system and the virtual devices progress through a series of states, such as: initializing, powering up, loading a stored state, operating in normal state, saving state for future restoration, powering down, and tearing down and turning off.Type: GrantFiled: June 30, 2004Date of Patent: August 25, 2009Assignee: Microsoft CorporationInventors: Rene Antonio Vega, Eric P. Traut
-
Patent number: 7533207Abstract: Various operations are disclosed for improving the operational efficiency of interrupt handling in a virtualized environment. A virtualized interrupt controller may obviate the need for an explicit end-of-interrupt command by providing an automatic EOI capability even when a physical interrupt controller offers no such mechanism. The use of a message pending bit for inter-partition communications facilitates avoiding an EOI command of inter-processor interrupts used in inter-partition communications whenever no further messages are cued for a particular message slot. A virtualized interrupt controller facilitates the selective EOI of an interrupt even when it is not the highest priority in-service interrupt irrespective of whether a physical interrupt controller provides such functionality.Type: GrantFiled: December 6, 2006Date of Patent: May 12, 2009Assignee: Microsoft CorporationInventors: Eric P. Traut, Rene Antonio Vega, Shuvabrata Ganguly
-
Patent number: 7506265Abstract: A system and method for displaying thumbnail images of the video output of one or more software applications in a window or similar graphical interface to allow the user of a computer system to conveniently and quickly monitor the overall status and progress of several software applications that are running simultaneously. The thumbnail images are generated from the VRAM associated with the software application and are preferably displayed with information corresponding to the associated software application. The thumbnail images may be static or generated at regular intervals according to user preference and the status of the software application.Type: GrantFiled: July 17, 2000Date of Patent: March 17, 2009Assignee: Microsoft CorporationInventors: Eric P. Traut, Benjamin Martz
-
Patent number: 7475183Abstract: Provided are optimizations to the memory virtualization model employed in a virtual machine environment. An opportunistic hypervisor page mapping process is used in order to utilize large memory pages in a virtual machine environment. Using these optimizations, physical memory is being virtualized for the virtual machine in a manner that allows the operating system (OS) running within the virtual machine to take real and full advantage of large physical memory pages.Type: GrantFiled: December 12, 2005Date of Patent: January 6, 2009Assignee: Microsoft CorporationInventors: Eric P. Traut, Idan Avraham, Matthew D. Hendel
-
Patent number: 7434003Abstract: An operating system is described that is capable of ascertaining whether it is executing in a virtual machine environment and is further capable of modifying its behavior to operate more efficiently and provide optimal behavior in a virtual machine environment. An operating system is enlightened so that it is aware of VMMs or hypervisors, taking on behavior that is optimal to that environment. The VMM or hypervisor informs the operating system of the optimal behavior, and vice versa.Type: GrantFiled: November 15, 2005Date of Patent: October 7, 2008Assignee: Microsoft CorporationInventors: Adrian J. Oney, Bryan Mark Willman, Eric P. Traut, Forrest Curtis Foltz, John Te-Jui Sheu, Matthew D. Hendel, Rene Antonio Vega
-
Publication number: 20080215848Abstract: 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.Type: ApplicationFiled: April 7, 2008Publication date: September 4, 2008Inventors: John Te-Jui Sheu, David S. Bailey, Eric P. Traut, Rene Antonio Vega
-
Publication number: 20080141277Abstract: Various operations are disclosed for improving the operational efficiency of interrupt handling in a virtualized environment. A virtualized interrupt controller may obviate the need for an explicit end-of-interrupt command by providing an automatic EOI capability even when a physical interrupt controller offers no such mechanism. The use of a message pending bit for inter-partition communications facilitates avoiding an EOI command of inter-processor interrupts used in inter-partition communications whenever no further messages are cued for a particular message slot. A virtualized interrupt controller facilitates the selective EOI of an interrupt even when it is not the highest priority in-service interrupt irrespective of whether a physical interrupt controller provides such functionality.Type: ApplicationFiled: December 6, 2006Publication date: June 12, 2008Applicant: Microsoft CorporationInventors: Eric P. Traut, Shuvabrata Ganguly, Rene Antonio Vega
-
Patent number: 7383405Abstract: The present invention is a system and method that performs disk migration in a virtual machine environment. The present invention quickly and easily migrates a virtual machine from one host to another thus improving flexibility and efficiency in a virtual machine environment for “load balancing” systems, performing hardware or software upgrades, handling disaster recovery, and so on. Certain of the embodiments are specifically directed to providing a mechanism for migrating the disk state along with the device and memory states, where the disk data resides in a remotely located storage device that is common to multiple host computer systems in a virtual machine environment. The virtual machine migration process, which includes disk data migration, occurs without the user's awareness and, therefore, without the user's experiencing any noticeable interruption.Type: GrantFiled: June 30, 2004Date of Patent: June 3, 2008Assignee: Microsoft CorporationInventors: Rene Antonio Vega, Eric P. Traut, Mike Neil
-
Patent number: 7363463Abstract: 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.Type: GrantFiled: May 13, 2005Date of Patent: April 22, 2008Assignee: Microsoft CorporationInventors: John Te-Jui Sheu, David S. Bailey, Eric P. Traut, Rene Antonio Vega
-
Publication number: 20080022032Abstract: 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.Type: ApplicationFiled: July 13, 2006Publication date: January 24, 2008Applicant: Microsoft CorporationInventors: Andrew Ernest Nicholas, Aaron S. Giles, Eric P. Traut, Idan Avraham, Xiongjian Fu, Osama M. Salem
-
Patent number: 7313793Abstract: A method is provided for increasing the efficiency of virtual machine processing. A parent virtual machine is provided on a host computer. The parent virtual machine is temporarily or permanently suspended. A child virtual machine is created at a new location by forking the parent virtual machine. The child virtual machine may not initially include all the stored data that is associated with the parent virtual machine.Type: GrantFiled: July 11, 2002Date of Patent: December 25, 2007Assignee: Microsoft CorporationInventors: Eric P. Traut, Rene A. Vega
-
Patent number: 7313512Abstract: In an emulated computing environment, a method is provided for licensing software of one or more guest computer systems. A license key server is provided in the host computer system for monitoring the initiation of unlicensed software, including operating system software, in the guest computer system. A determination is made by the license key server as to whether additional a license is available for each unlicensed software application. If a license is available, a license is granted and the count of available licenses is decremented. If a license is not available, a license is not granted and the unlicensed software application in the guest computer system is disabled.Type: GrantFiled: October 18, 2002Date of Patent: December 25, 2007Assignee: Microsoft CorporationInventors: Eric P. Traut, René A. Vega
-
Patent number: 7299337Abstract: Enhanced shadow page table algorithms are presented for enhancing typical page table algorithms. In a virtual machine environment, where an operating system may be running within a partition, the operating system maintains it's own guest page tables. These page tables are not the real page tables that map to the real physical memory. Instead, the memory is mapped by shadow page tables maintained by a virtualing program, such as a hypervisor, that virtualizes the partition containing the operating system. Enhanced shadow page table algorithms provide efficient ways to harmonize the shadow page tables and the guest page tables. Specifically, by using tagged translation lookaside buffers, batched shadow page table population, lazy flags, and cross-processor shoot downs, the algorithms make sure that changes in the guest pages tables are reflected in the shadow page tables.Type: GrantFiled: May 12, 2005Date of Patent: November 20, 2007Inventors: Eric P. Traut, Matthew D. Hendel, Rene Antonio Vega
-
Patent number: 7275028Abstract: In an emulated computing environment, a method is provided for logically decoupling the host operating system from the processor of the computer system with respect to certain processor settings of the processor. A hypervisor of the emulation program replaces some of the processor settings of the processor with processor settings associated with software routines or data structures provided by the guest operating system. The replaced processor settings are written to memory. During this period, when the processor calls a software routine or accesses a data structure associated with the replaced processor setting, the processor will call or access a software routine or access a data structure associated with the guest operating system, bypassing the host operating system and communicating directly with the guest operating system. When the host operating system is to be recoupled to the processor, the processor settings that have been saved to memory are rewritten to the appropriate registers of the processor.Type: GrantFiled: July 16, 2001Date of Patent: September 25, 2007Assignee: Microsoft CorporationInventor: Eric P. Traut
-
Patent number: 7260702Abstract: The present invention provides a virtualized computing systems and methods for transitioning in real time between LONG SUPER-MODE and LEGACY SUPER-MODE in the x86-64 architecture. In doing so, a virtual machine, which relies on the traditional 32-bit modes, i.e., REAL MODE and PROTECTED MODE (V86 SUB-MODE, RING-0 SUB-MODE, and RING-3 SUB-MODE), is able to run alongside other applications on x86-64 computer hardware (i.e., 64-bit). The method of performing a temporary processor mode context switch includes the steps of the virtual machine monitor's setting up a “virtual=real” page, placing the transition code for performing the processor mode context switch on this page, jumping to this page, disabling the memory management unit (MMU) of the x86-64 computer hardware, modifying the mode control register to set either the LONG SUPER-MODE bit or LEGACY SUPER-MODE bit, loading a new page table, and reactivating the MMU of the x86-64 computer hardware.Type: GrantFiled: June 30, 2004Date of Patent: August 21, 2007Assignee: Microsoft CorporationInventors: Rene Antonio Vega, Eric P. Traut