Patents by Inventor Jeffrey W. Sheldon
Jeffrey W. Sheldon 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: 20230229471Abstract: Techniques for implementing application-assisted VM provisioning operations, and in particular application-assisted live migration, are provided. In one set of embodiments, a hypervisor of a source host system can notify a guest application that the VM within which the guest application runs will be imminently live migrated from the source host system to a destination host system, prior to actually carrying out the live migration. In response, the guest application can execute one or more remedial actions that mitigate or avoid issues which may arise with respect to its runtime operation when the VM is stunned and switched over to the destination host system.Type: ApplicationFiled: January 14, 2022Publication date: July 20, 2023Inventors: Arunachalam Ramanathan, Bhavana Raj Kanthur Murnad, Jeffrey W Sheldon, Pavan Narasimhaprasad, Li Zheng, Oleg Zaydman, Anupama Chandwani, Derek William Beard
-
Publication number: 20230229609Abstract: Techniques for implementing IOMMU-based DMA tracking for enabling live migration of VMs that use passthrough physical devices are provided. In one set of embodiments, these techniques leverage an IOMMU feature known as dirty bit tracking which is available in most, if not all, modern IOMMU implementations. The use of this feature allows for the tracking of passthrough DMA in a manner that is device/vendor/driver agnostic, resulting in a solution that is universally applicable to all passthrough physical devices.Type: ApplicationFiled: January 18, 2022Publication date: July 20, 2023Inventors: Alexander Dean Gotsis, Jiajun Cao, Radu Rugina, James Eugene Chow, Srihari Venkatesan, Jeffrey W. Sheldon, Kalaiselvi Sengottuvel
-
Patent number: 11507477Abstract: System and method for providing fault tolerance in virtualized computer systems use a first guest and a second guest running on virtualization software to produce outputs, which are produced when a workload is executed on the first and second guests. An output of the second guest is compared with an output of the first guest to determine if there is an output match. If there is no output match, the first guest is paused and a resynchronization of the second guest is executed to restore a checkpointed state of the first guest on the second guest. After the resynchronization of the second guest, the paused first guest is caused to resume operation.Type: GrantFiled: February 25, 2020Date of Patent: November 22, 2022Assignee: VMware, Inc.Inventors: Ganesh Venkitachalam, Rohit Jain, Boris Weissman, Daniel J. Scales, Vyacheslav Vladimirovich Malyugin, Jeffrey W. Sheldon, Min Xu
-
Patent number: 11379385Abstract: Mechanisms to protect the integrity of memory of a virtual machine are provided. The mechanisms involve utilizing certain capabilities of the hypervisor underlying the virtual machine to monitor writes to memory pages of the virtual machine. A guest integrity driver communicates with the hypervisor to request such functionality. Additional protections are provided for protecting the guest integrity driver and associated data, as well as for preventing use of these mechanisms by malicious software. These additional protections include an elevated execution mode, termed “integrity mode,” which can only be entered from a specified entry point, as well as protections on the memory pages that store the guest integrity driver and associated data.Type: GrantFiled: February 28, 2017Date of Patent: July 5, 2022Assignee: VMware, Inc.Inventors: Alok Nemchand Kataria, Wei Xu, Radu Rugina, Jeffrey W. Sheldon, James S. Mattson, Rakesh Agarwal, David Dunn
-
Publication number: 20220066806Abstract: A virtual machine (VM) is migrated from a source host to a destination host in a virtualized computing system, the VM having a plurality of virtual central processing units (CPUs). The method includes copying, by VM migration software executing in the source host and the destination host, memory of the VM from the source host to the destination host by installing, at the source host, write traces spanning all of the memory and then copying the memory from the source host to the destination host over a plurality of iterations; and performing switch-over, by the VM migration software, to quiesce the VM in the source host and resume the VM in the destination host. The VM migration software installs write traces using less than all of the virtual CPUs, and using trace granularity larger than a smallest page granularity.Type: ApplicationFiled: August 25, 2020Publication date: March 3, 2022Inventors: Arunachalam RAMANATHAN, Yanlei ZHAO, Anurekh SAXENA, Yury BASKAKOV, Jeffrey W. SHELDON, Gabriel TARASUK-LEVIN, David A. DUNN, Sreekanth SETTY
-
Patent number: 10970101Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for changing virtual machine user interfaces. One of the methods includes receiving a first request from a first client device to initiate a first remote session, detecting, for the first remote session, a first display property of the first client device in response to receiving the first request, configuring, for the first remote session, a virtual display device for the virtual machine to be a display device having the first display property, receiving a second request from a second client device to initiate a second remote session, detecting, for the second remote session, a second display property of the second client device in response to receiving the second request, and configuring, for the second remote session, the virtual display device for the virtual machine to be a display device having the second display property.Type: GrantFiled: June 3, 2016Date of Patent: April 6, 2021Assignee: VMware, Inc.Inventors: Salim AbiEzzi, Jeffrey W. Sheldon
-
Publication number: 20200192771Abstract: System and method for providing fault tolerance in virtualized computer systems use a first guest and a second guest running on virtualization software to produce outputs, which are produced when a workload is executed on the first and second guests. An output of the second guest is compared with an output of the first guest to determine if there is an output match. If there is no output match, the first guest is paused and a resynchronization of the second guest is executed to restore a checkpointed state of the first guest on the second guest. After the resynchronization of the second guest, the paused first guest is caused to resume operation.Type: ApplicationFiled: February 25, 2020Publication date: June 18, 2020Inventors: Ganesh Venkitachalam, Rohit Jain, Boris Weissman, Daniel J. Scales, Vyacheslav Vladimirovich Malyugin, Jeffrey W. Sheldon, Min Xu
-
Patent number: 10678909Abstract: Techniques for securely supporting a global view of system memory in a physical/virtual computer system comprising a plurality of physical/virtual CPUs are provided. In one set of embodiments, the physical/virtual computer system can receive an interrupt indicating that a first physical/virtual CPU should enter a privileged CPU operating mode. The physical/virtual computer system can further determine that none of the plurality of physical/virtual CPUs are currently in the privileged CPU operating mode. In response to this determination, the physical/virtual computer system can modify the global view of system memory to include a special memory region comprising program code to be executed while in the privileged CPU operating mode; communicate, to the other physical/virtual CPUs, a signal to enter a stop state in which execution is halted but interrupts are accepted for entering the privileged CPU operating mode; and cause the first physical/virtual CPU to enter the privileged CPU operating mode.Type: GrantFiled: November 21, 2017Date of Patent: June 9, 2020Assignee: VMWARE, INC.Inventors: Alok Nemchand Kataria, Doug Covelli, Jeffrey W. Sheldon, Frederick Joseph Jacobs, David Dunn
-
Patent number: 10592267Abstract: Mechanisms to protect the integrity of a data structure that is traversed to locate protected memory pages are provided. Leaf nodes of the data structure store mappings that indicate which memory pages are protected. Both the pages indicated by the mappings and the pages that store the data structure are monitored by a tracing service that sends a notification to the hypervisor when a write to a traced page occurs. When system software receives such a notification, the system software traverses the data structure to determine whether any of the memory pages of the data structure is the traced page that was written to. If so, the alert action for that page is performed. If not, the system software determines whether any of the mappings in the leaf nodes include such a page and, if so, the alert action for that page is performed.Type: GrantFiled: January 10, 2017Date of Patent: March 17, 2020Assignee: VMware, Inc.Inventors: David Dunn, Alok Nemchand Kataria, Wei Xu, Jeffrey W. Sheldon
-
Patent number: 10579485Abstract: In a computer system running at least a first virtual machine (VM) and a second VM on virtualization software, a computer implemented method for the second VM to provide quasi-lockstep fault tolerance for the first VM includes executing a workload on the first VM and the second VM that involves producing at least one externally visible output and comparing an externally visible output of the second VM with an externally visible output of the first VM to determine if there is an output match. In response to a determination that the externally visible output of the second VM does not match the externally visible output of the first VM, a resynchronization of the second VM is executed. The externally visible output of the first VM is kept from being output externally until completion of the resynchronization.Type: GrantFiled: October 3, 2016Date of Patent: March 3, 2020Assignee: VMWARE, INC.Inventors: Ganesh Venkitachalam, Rohit Jain, Boris Weissman, Daniel J. Scales, Vyacheslav Vladimirovich Malyugin, Jeffrey W. Sheldon, Min Xu
-
Patent number: 10430223Abstract: Mechanisms to protect the integrity of memory of a virtual machine are provided. The mechanisms involve utilizing certain capabilities of the hypervisor underlying the virtual machine to monitor writes to memory pages of the virtual machine. A guest integrity driver communicates with the hypervisor to request such functionality. Additional protections are provided for protecting the guest integrity driver and associated data, as well as for preventing use of these mechanisms by malicious software. These additional protections include an elevated execution mode, termed “integrity mode,” as well as protections on the memory pages that store the guest integrity driver. To prevent spurious alerts associated with the GI driver accessing its own data, the hypervisor maintains two page tables. In one copy, pages storing data for the GI driver are not protected and in the other, those pages are protected. The hypervisor switches the page tables when entering and exiting integrity mode.Type: GrantFiled: September 6, 2016Date of Patent: October 1, 2019Assignee: VMware, Inc.Inventors: Wei Xu, Alok Nemchand Kataria, Jeffrey W. Sheldon
-
Patent number: 10191761Abstract: Autonomous selection between multiple virtualization techniques implemented in a virtualization layer of a virtualized computer system. The virtual machine monitor implements multiple virtualization support processors that each provide for the comprehensive handling of potential virtualization exceptions. A virtual machine monitor resident virtualization selection control is operable to select between use of first and second virtualization support processors dependent on identifying a predetermined pattern of temporally local privilege dependent instructions within a portion of an instruction stream as encountered in the execution of a guest operating system.Type: GrantFiled: December 5, 2016Date of Patent: January 29, 2019Assignee: VMware, Inc.Inventors: Keith M. Adams, Jeffrey W. Sheldon, Vyacheslav V. Malyugin
-
Patent number: 10120738Abstract: Guest memory data structures are read by one or more read operations which are set up to handle page faults and general protection faults generated during the read in various ways. If such a fault occurs while performing the one or more read operations, the fault is handled and the one or more read operation is terminated. The fault is handled by either dropping the fault and reporting an error instead of the fault, by dropping the fault and invoking an error handler that is set up prior to performing the read operations, or by forwarding the fault to a fault handler that is setup prior to performing the read operations. If no fault occurs, the read operations complete successfully. Thus, under normal circumstances, no fault is incurred in a read operation on guest memory data structures.Type: GrantFiled: June 24, 2016Date of Patent: November 6, 2018Assignee: VMware, Inc.Inventors: Radu Rugina, Jeffrey W. Sheldon, James S. Mattson, Jr., David Dunn
-
Publication number: 20180307829Abstract: Techniques for securely supporting a global view of system memory in a physical/virtual computer system comprising a plurality of physical/virtual CPUs are provided. In one set of embodiments, the physical/virtual computer system can receive an interrupt indicating that a first physical/virtual CPU should enter a privileged CPU operating mode. The physical/virtual computer system can further determine that none of the plurality of physical/virtual CPUs are currently in the privileged CPU operating mode. In response to this determination, the physical/virtual computer system can modify the global view of system memory to include a special memory region comprising program code to be executed while in the privileged CPU operating mode; communicate, to the other physical/virtual CPUs, a signal to enter a stop state in which execution is halted but interrupts are accepted for entering the privileged CPU operating mode; and cause the first physical/virtual CPU to enter the privileged CPU operating mode.Type: ApplicationFiled: November 21, 2017Publication date: October 25, 2018Inventors: ALOK NEMCHAND KATARIA, DOUG COVELLI, JEFFREY W. SHELDON, FREDERICK JOSEPH JACOBS, DAVID DUNN
-
Publication number: 20170371733Abstract: Guest memory data structures are read by one or more read operations which are set up to handle page faults and general protection faults generated during the read in various ways. If such a fault occurs while performing the one or more read operations, the fault is handled and the one or more read operation is terminated. The fault is handled by either dropping the fault and reporting an error instead of the fault, by dropping the fault and invoking an error handler that is set up prior to performing the read operations, or by forwarding the fault to a fault handler that is setup prior to performing the read operations. If no fault occurs, the read operations complete successfully. Thus, under normal circumstances, no fault is incurred in a read operation on guest memory data structures.Type: ApplicationFiled: June 24, 2016Publication date: December 28, 2017Inventors: Radu RUGINA, Jeffrey W. SHELDON, James S. MATTSON, JR., David DUNN
-
Publication number: 20170351537Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for changing virtual machine user interfaces. One of the methods includes receiving a first request from a first client device to initiate a first remote session, detecting, for the first remote session, a first display property of the first client device in response to receiving the first request, configuring, for the first remote session, a virtual display device for the virtual machine to be a display device having the first display property, receiving a second request from a second client device to initiate a second remote session, detecting, for the second remote session, a second display property of the second client device in response to receiving the second request, and configuring, for the second remote session, the virtual display device for the virtual machine to be a display device having the second display property.Type: ApplicationFiled: June 3, 2016Publication date: December 7, 2017Applicant: VMware, Inc.Inventors: Salim AbiEzzi, Jeffrey W. Sheldon
-
Publication number: 20170337000Abstract: Mechanisms to protect the integrity of a data structure that is traversed to locate protected memory pages are provided. Leaf nodes of the data structure store mappings that indicate which memory pages are protected. Both the pages indicated by the mappings and the pages that store the data structure are monitored by a tracing service that sends a notification to the hypervisor when a write to a traced page occurs. When system software receives such a notification, the system software traverses the data structure to determine whether any of the memory pages of the data structure is the traced page that was written to. If so, the alert action for that page is performed. If not, the system software determines whether any of the mappings in the leaf nodes include such a page and, if so, the alert action for that page is performed.Type: ApplicationFiled: January 10, 2017Publication date: November 23, 2017Inventors: DAVID DUNN, ALOK NEMCHAND KATARIA, WEI XU, JEFFREY W. SHELDON
-
Publication number: 20170337011Abstract: Mechanisms to protect the integrity of memory of a virtual machine are provided. The mechanisms involve utilizing certain capabilities of the hypervisor underlying the virtual machine to monitor writes to memory pages of the virtual machine. A guest integrity driver communicates with the hypervisor to request such functionality. Additional protections are provided for protecting the guest integrity driver and associated data, as well as for preventing use of these mechanisms by malicious software. These additional protections include an elevated execution mode, termed “integrity mode,” as well as protections on the memory pages that store the guest integrity driver. To prevent spurious alerts associated with the GI driver accessing its own data, the hypervisor maintains two page tables. In one copy, pages storing data for the GI driver are not protected and in the other, those pages are protected. The hypervisor switches the page tables when entering and exiting integrity mode.Type: ApplicationFiled: September 6, 2016Publication date: November 23, 2017Inventors: WEI XU, Alok Nemchand Kataria, Jeffrey W. Sheldon
-
Patent number: 9811366Abstract: Techniques for dynamically using system (i.e., VM guest) memory as video memory for virtual graphics processing units (VGPUs) are provided. In one embodiment, a guest graphics driver running within a virtual machine (VM) of a host system can receive, from a guest application of the VM, a request to create a graphics resource. The guest graphics driver can then dynamically allocate, in response to the request, a memory object for the graphics resource in a guest memory space of the VM.Type: GrantFiled: September 12, 2014Date of Patent: November 7, 2017Assignee: VMware, Inc.Inventors: Mark Sheldon, Jeffrey W. Sheldon, Michael Banack
-
Publication number: 20170300430Abstract: Mechanisms to protect the integrity of memory of a virtual machine are provided. The mechanisms involve utilizing certain capabilities of the hypervisor underlying the virtual machine to monitor writes to memory pages of the virtual machine. A guest integrity driver communicates with the hypervisor to request such functionality. Additional protections are provided for protecting the guest integrity driver and associated data, as well as for preventing use of these mechanisms by malicious software. These additional protections include an elevated execution mode, termed “integrity mode,” which can only be entered from a specified entry point, as well as protections on the memory pages that store the guest integrity driver and associated data.Type: ApplicationFiled: February 28, 2017Publication date: October 19, 2017Inventors: ALOK NEMCHAND KATARIA, WEI XU, RADU RUGINA, JEFFREY W. SHELDON, JAMES S. MATTSON, RAKESH AGARWAL, DAVID DUNN