Patents by Inventor Ole Agesen
Ole Agesen 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).
-
Patent number: 10545744Abstract: A sequence of input language (IL) instructions of a guest system is converted, for example by binary translation, into a corresponding sequence of output language (OL) instructions of a host system, which executes the OL instructions. In order to determine the return address after any IL call to a subroutine at a target entry address P, the corresponding OL return address is stored in an array at a location determined by an index calculated as a function of P. After completion of execution of the OL translation of the IL subroutine, execution is transferred to the address stored in the array at the location where the OL return address was previously stored. A confirm instruction block is included in each OL call site to determine whether the transfer was to the correct or incorrect call site, and a back-up routine is included to handle the cases of incorrect call sites.Type: GrantFiled: November 7, 2017Date of Patent: January 28, 2020Assignee: VMware, Inc.Inventor: Ole Agesen
-
Publication number: 20180189041Abstract: A sequence of input language (IL) instructions of a guest system is converted, for example by binary translation, into a corresponding sequence of output language (OL) instructions of a host system, which executes the OL instructions. In order to determine the return address after any IL call to a subroutine at a target entry address P, the corresponding OL return address is stored in an array at a location determined by an index calculated as a function of P. After completion of execution of the OL translation of the IL subroutine, execution is transferred to the address stored in the array at the location where the OL return address was previously stored. A confirm instruction block is included in each OL call site to determine whether the transfer was to the correct or incorrect call site, and a back-up routine is included to handle the cases of incorrect call sites.Type: ApplicationFiled: November 7, 2017Publication date: July 5, 2018Inventor: Ole AGESEN
-
Patent number: 9965399Abstract: A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.Type: GrantFiled: April 10, 2017Date of Patent: May 8, 2018Assignee: VMware, Inc.Inventor: Ole Agesen
-
Patent number: 9836292Abstract: A sequence of input language (IL) instructions of a guest system is converted, for example by binary translation, into a corresponding sequence of output language (OL) instructions of a host system, which executes the OL instructions. In order to determine the return address after any IL call to a subroutine at a target entry address P, the corresponding OL return address is stored in an array at a location determined by an index calculated as a function of P. After completion of execution of the OL translation of the IL subroutine, execution is transferred to the address stored in the array at the location where the OL return address was previously stored. A confirm instruction block is included in each OL call site to determine whether the transfer was to the correct or incorrect call site, and a back-up routine is included to handle the cases of incorrect call sites.Type: GrantFiled: June 16, 2009Date of Patent: December 5, 2017Assignee: VMware, Inc.Inventor: Ole Agesen
-
Patent number: 9785506Abstract: A system and method for reducing the likelihood of concurrency errors by identifying vulnerable segments of computer code and stalling other virtual machine threads of execution. According to one embodiment of the present invention, the vulnerable segment is identified at runtime, for example in a dynamic translator. According to another embodiment of the present invention, the vulnerable segment is identified ahead of time, for example in a static translator. According to yet another embodiment of the present invention, the vulnerable segment is identified in the binary translator of a virtual machine monitor.Type: GrantFiled: October 9, 2013Date of Patent: October 10, 2017Assignee: VMware, Inc.Inventors: Ole Agesen, Michael Cohen, Jeffrey W. Sheldon
-
Publication number: 20170212843Abstract: A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.Type: ApplicationFiled: April 10, 2017Publication date: July 27, 2017Inventor: Ole AGESEN
-
Patent number: 9619399Abstract: A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.Type: GrantFiled: June 21, 2012Date of Patent: April 11, 2017Assignee: VMware, Inc.Inventor: Ole Agesen
-
Patent number: 9532103Abstract: Systems and techniques are described for multi-user support on set top boxes and game consoles. A described technique includes executing a hypervisor that monitors a plurality of virtual machines that execute a set top box operating system or a game console operating system, providing a selection menu to a first display device, receiving a first selection of a first virtual machine, executing the first virtual machine, providing a first stream of content for a first user interface of the first virtual machine to the first display device, providing the selection menu to a second display device, receiving a second selection of a second virtual machine, executing the second virtual machine, and providing a second stream of content for a second user interface of the second virtual machine to the second display device while providing the first stream to the first display device.Type: GrantFiled: December 16, 2013Date of Patent: December 27, 2016Assignee: VMware, Inc.Inventors: Salim AbiEzzi, Ole Agesen
-
Publication number: 20150172760Abstract: Systems and techniques are described for multi-user support on set top boxes and game consoles. A described technique includes executing a hypervisor that monitors a plurality of virtual machines that execute a set top box operating system or a game console operating system, providing a selection menu to a first display device, receiving a first selection of a first virtual machine, executing the first virtual machine, providing a first stream of content for a first user interface of the first virtual machine to the first display device, providing the selection menu to a second display device, receiving a second selection of a second virtual machine, executing the second virtual machine, and providing a second stream of content for a second user interface of the second virtual machine to the second display device while providing the first stream to the first display device.Type: ApplicationFiled: December 16, 2013Publication date: June 18, 2015Applicant: VMware, Inc.Inventors: Salim AbiEzzi, Ole Agesen
-
Patent number: 8898518Abstract: A checkpointing fault tolerance network architecture enables a backup computer system to be remotely located from a primary computer system. An intermediary computer system is situated between the primary computer system and the backup computer system to manage the transmission of checkpoint information to the backup VM in an efficient manner. The intermediary computer system is networked to the primary VM through a first connection and is networked to the backup VM through a second connection. The intermediary computer system identifies updated data corresponding to memory pages that have been least recently modified by the primary VM and transmits such updated data to the backup VM through the first connection. In such manner, the intermediary computer system holds back updated data corresponding to more recently modified memory pages, since such memory pages may be more likely to be updated again in the future.Type: GrantFiled: April 18, 2012Date of Patent: November 25, 2014Assignee: VMware, Inc.Inventors: Ole Agesen, Raviprasad Mummidi, Pratap Subrahmanyam
-
Patent number: 8875162Abstract: Completion interrupts corresponding to I/O requests issued by a virtual machine guest, which runs on a host platform, are virtualized in such a way that I/O completion interrupts to the requesting guest are delivered no faster than it can stably handle them, but, when possible, faster than the nominal speed of a virtual device to which a virtual machine addresses the I/O request. In general, completion events received from the host platform in response to guest I/O requests are examined with respect to time. If enough time has passed that the virtual device would normally have completed the I/O request, then the completion interrupt is delivered to the guest. If the nominal time has not elapsed, however, the invention enqueues and time-stamps the event and delivers it at the earliest of a) the normal maturity time, or b) at a safepoint.Type: GrantFiled: August 9, 2013Date of Patent: October 28, 2014Assignee: VMware, Inc.Inventors: Ole Agesen, Boris Weissman, Keith Adams, Jennifer-Ann M. Anderson, Maxime Austruy
-
Patent number: 8719513Abstract: In a virtualized system using memory page sharing, a method is provided for maintaining sharing when Guest code attempts to write to the shared memory. In one embodiment, virtualization logic uses a pattern matcher to recognize and intercept page zeroing code in the Guest OS. When the page zeroing code is about to run against a page that is already zeroed, i.e., contains all zeros, and is being shared, the memory writes in the page zeroing code have no effect. The virtualization logic skips over the writes, providing an appearance that the Guest OS page zeroing code has run to completion but without performing any of the writes that would have caused a loss of page sharing. The pattern matcher can be part of a binary translator that inspects code before it executes.Type: GrantFiled: February 15, 2013Date of Patent: May 6, 2014Assignee: VMware, Inc.Inventor: Ole Agesen
-
Patent number: 8719545Abstract: A system and related method of operation for migrating the memory of a virtual machine from one NUMA node to another. Once the VM is migrated to a new node, migration of memory pages is performed while giving priority to the most utilized pages, so that access to these pages becomes local as soon as possible. Various heuristics are described to enable different implementations for different situations or scenarios.Type: GrantFiled: November 6, 2012Date of Patent: May 6, 2014Assignee: VMware, Inc.Inventors: Vivek Pandey, Ole Agesen, Alexander Thomas Garthwaite, Carl A. Waldspurger, Rajesh Venkatasubramanian
-
Publication number: 20140108860Abstract: A system and method for reducing the likelihood of concurrency errors by identifying vulnerable segments of computer code and stalling other virtual machine threads of execution. According to one embodiment of the present invention, the vulnerable segment is identified at runtime, for example in a dynamic translator. According to another embodiment of the present invention, the vulnerable segment is identified ahead of time, for example in a static translator. According to yet another embodiment of the present invention, the vulnerable segment is identified in the binary translator of a virtual machine monitor.Type: ApplicationFiled: October 9, 2013Publication date: April 17, 2014Applicant: VMware, Inc.Inventors: Ole AGESEN, Michael COHEN, Jeffrey W. SHELDON
-
Publication number: 20130326518Abstract: Completion interrupts corresponding to I/O requests issued by a virtual machine guest, which runs on a host platform, are virtualized in such a way that I/O completion interrupts to the requesting guest are delivered no faster than it can stably handle them, but, when possible, faster than the nominal speed of a virtual device to which a virtual machine addresses the I/O request. In general, completion events received from the host platform in response to guest I/O requests are examined with respect to time. If enough time has passed that the virtual device would normally have completed the I/O request, then the completion interrupt is delivered to the guest. If the nominal time has not elapsed, however, the invention enqueues and time-stamps the event and delivers it at the earliest of a) the normal maturity time, or b) at a safepoint.Type: ApplicationFiled: August 9, 2013Publication date: December 5, 2013Applicant: VMware, Inc.Inventors: Ole AGESEN, Boris WEISSMAN, Keith ADAMS, Jennifer-Ann M. ANDERSON, Maxime AUSTRUY
-
Patent number: 8578380Abstract: A condition variable for controlling access to a critical section of computer code by a plurality of concurrently running execution threads comprises a data structure with a head list linking threads in an arrival order and a tail list linking threads in a reverse arrival order. Together, the head and tail lists together indicate which threads are currently blocked on the condition variable. A wait counter indicates how many threads are currently linked in the data structure and a signal counter indicates how many times the condition variable has been signaled for waiting threads that are currently linked in the data structure. The head and tail pointers, as well as the wait and signal counters, may be implemented as fields of a single, atomically updatable data word.Type: GrantFiled: August 27, 2004Date of Patent: November 5, 2013Assignee: VMware, Inc.Inventors: Keith M. Adams, Ole Agesen
-
Patent number: 8572606Abstract: A system and method for reducing the likelihood of concurrency errors by identifying vulnerable segments of computer code and stalling other virtual machine threads of execution. According to one embodiment of the present invention, the vulnerable segment is identified at runtime, for example in a dynamic translator. According to another embodiment of the present invention, the vulnerable segment is identified ahead of time, for example in a static translator. According to yet another embodiment of the present invention, the vulnerable segment is identified in the binary translator of a virtual machine monitor.Type: GrantFiled: March 1, 2006Date of Patent: October 29, 2013Assignee: VMware, Inc.Inventors: Ole Agesen, Michael Cohen, Jeffrey W. Sheldon
-
Patent number: 8533745Abstract: Completion interrupts corresponding to I/O requests issued by a virtual machine guest, which runs on a host platform, are virtualized in such a way that I/O completion interrupts to the requesting guest are delivered no faster than it can stably handle them, but, when possible, faster than the nominal speed of a virtual device to which a virtual machine addresses the I/O request. In general, completion events received from the host platform in response to guest I/O requests are examined with respect to time. If enough time has passed that the virtual device would normally have completed the I/O request, then the completion interrupt is delivered to the guest. If the nominal time has not elapsed, however, the invention enqueues and time-stamps the event and delivers it at the earliest of a) the normal maturity time, or b) at a safepoint.Type: GrantFiled: December 14, 2010Date of Patent: September 10, 2013Assignee: VMware, Inc.Inventors: Ole Agesen, Boris Weissman, Keith Adams, Jennifer-Ann M. Anderson, Maxime Austruy
-
Patent number: 8380939Abstract: In a virtualized system using memory page sharing, a method is provided for maintaining sharing when Guest code attempts to write to the shared memory. In one embodiment, virtualization logic uses a pattern matcher to recognize and intercept page zeroing code in the Guest OS. When the page zeroing code is about to run against a page that is already zeroed, i.e., contains all zeros, and is being shared, the memory writes in the page zeroing code have no effect. The virtualization logic skips over the writes, providing an appearance that the Guest OS page zeroing code has run to completion but without performing any of the writes that would have caused a loss of page sharing. The pattern matcher can be part of a binary translator that inspects code before it executes.Type: GrantFiled: August 19, 2011Date of Patent: February 19, 2013Assignee: VMware, Inc.Inventor: Ole Agesen
-
Patent number: 8352705Abstract: A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.Type: GrantFiled: January 15, 2008Date of Patent: January 8, 2013Assignee: VMware, Inc.Inventor: Ole Agesen