Patents by Inventor Jacob Oshins

Jacob Oshins 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: 8321878
    Abstract: Various aspects are disclosed for building a device driver stack in a virtual machine partition that does not physically control the device represented by the stack. In an embodiment, a secondary interface and driver for an I/O device may be instantiated. Information from an I/O virtualization layer describing the devices that the associated driver may control may be requested. A multi-path redirection layer may provide a handle to an existing stack that includes a driver for the I/O device. This existing stack may then be used to communicate with the device and allow the creation of a new stack including an object representing the device and a new driver for the device. The multi-path redirection layer may then open a handle to the new stack and inform the device virtualization layer, which may then ask the existing device interface to relinquish control of the device to the newly created interface.
    Type: Grant
    Filed: October 9, 2008
    Date of Patent: November 27, 2012
    Assignee: Microsoft Corporation
    Inventor: Jacob Oshins
  • Publication number: 20120290766
    Abstract: Described techniques increase runtime performance of workloads executing on a hypervisor by executing virtualization-aware code in an otherwise non virtualization-aware guest operating system. In one implementation, the virtualization-aware code allows workloads direct access to physical hardware devices, while allowing the system memory allocated to the workloads to be overcommitted. In one implementation, a DMA filter driver is inserted into an I/O driver stack to ensure that the target virtual memory of a DMA transfer is resident before the transfer begins. The DMA filter driver may utilize a cache to track which pages of memory are resident. The cache may also indicate which pages of memory are in use by one or more transfers, enabling the hypervisor to avoid appropriating pages of memory during a transfer.
    Type: Application
    Filed: July 23, 2012
    Publication date: November 15, 2012
    Applicant: MICROSOFT CORPORATION
    Inventor: Jacob Oshins
  • Publication number: 20120278818
    Abstract: Various aspects are disclosed herein for replacing the hardware backing the memory locations associated with a virtual machine with a backing mechanism. The backing mechanism may have the memory locations appear to contain data convenient to the driver in the virtual machine, typically containing what the hardware would have returned if the hardware had been read from. The data image being returned from the memory locations may travel with the virtual machine even if the virtual machine moves to a different physical machine that does not contain hardware equivalent to the hardware that was recently removed from the virtual machine.
    Type: Application
    Filed: July 12, 2012
    Publication date: November 1, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Dustin L. Green, Jacob Oshins
  • Patent number: 8230155
    Abstract: Described techniques increase runtime performance of workloads executing on a hypervisor by executing virtualization-aware code in an otherwise non virtualization-aware guest operating system. In one implementation, the virtualization-aware code allows workloads direct access to physical hardware devices, while allowing the system memory allocated to the workloads to be overcommitted. In one implementation, a DMA filter driver is inserted into an I/O driver stack to ensure that the target virtual memory of a DMA transfer is resident before the transfer begins. The DMA filter driver may utilize a cache to track which pages of memory are resident. The cache may also indicate which pages of memory are in use by one or more transfers, enabling the hypervisor to avoid appropriating pages of memory during a transfer.
    Type: Grant
    Filed: June 26, 2008
    Date of Patent: July 24, 2012
    Assignee: Microsoft Corporation
    Inventor: Jacob Oshins
  • Patent number: 8225334
    Abstract: Various aspects are disclosed herein for replacing the hardware backing the memory locations associated with a virtual machine with a backing mechanism. The backing mechanism may have the memory locations appear to contain data convenient to the driver in the virtual machine, typically containing what the hardware would have returned if the hardware had been read from. The data image being returned from the memory locations may travel with the virtual machine even if the virtual machine moves to a different physical machine that does not contain hardware equivalent to the hardware that was recently removed from the virtual machine.
    Type: Grant
    Filed: January 18, 2011
    Date of Patent: July 17, 2012
    Assignee: Microsoft Corporation
    Inventors: Dustin L. Green, Jacob Oshins
  • Publication number: 20120144071
    Abstract: Various aspects are disclosed herein for bounding the behavior of a non-privileged virtual machine that interacts with a device by creating a description of the device which indicates to a privileged authority (1) which operations on the device may have system-wide effects and (2) which operations have effects local to the device. The privileged authority may then permit or deny these actions. The privileged authority may also translate these actions into other actions with benign consequences.
    Type: Application
    Filed: February 8, 2012
    Publication date: June 7, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Jacob Oshins, Brandon Allsop, Andrew John Thornton
  • Patent number: 8151032
    Abstract: Described techniques increase runtime performance of workloads executing on a hypervisor by executing virtualization-aware code in an otherwise non virtualization-aware guest operating system. In one implementation, the virtualization-aware code allows workloads direct access to physical hardware devices, while allowing the system memory allocated to the workloads to be overcommitted. In one implementation, a DMA filter driver is inserted into an I/O driver stack to ensure that the target guest physical memory of a DMA transfer is resident before the transfer begins. The DMA filter driver may utilize a cache to track which pages of memory are resident. The cache may also indicate which pages of memory are in use by one or more transfers, enabling the hypervisor to avoid appropriating pages of memory during a transfer.
    Type: Grant
    Filed: September 30, 2008
    Date of Patent: April 3, 2012
    Assignee: Microsoft Corporation
    Inventor: Jacob Oshins
  • Patent number: 8117346
    Abstract: Various aspects are disclosed herein for bounding the behavior of a non-privileged virtual machine that interacts with a device by creating a description of the device which indicates to a privileged authority (1) which operations on the device may have system-wide effects and (2) which operations have effects local to the device. The privileged authority may then permit or deny these actions. The privileged authority may also translate these actions into other actions with benign consequences.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: February 14, 2012
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Brandon Allsop, Andrew John Thornton
  • Patent number: 8112610
    Abstract: 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: Grant
    Filed: March 5, 2010
    Date of Patent: February 7, 2012
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Peter L. Johnston, Eric P. Traut, Nathan Lewis, Jeffrey Kinsey
  • Publication number: 20110296234
    Abstract: Disclosed are methods for exposing multiple interfaces of a communications fabric (Ethernet, FibreChannel, Serial-Attached-SCSI, Infiniband, etc.) of a virtual machine and automatically mapping those interfaces onto separate physical interfaces. Such an approach may preserve the simple management experience of a single connection point into the virtual machine while allowing the OS and application within the virtual machine to supply information necessary to efficiently use the multiply underlying physical links.
    Type: Application
    Filed: May 25, 2010
    Publication date: December 1, 2011
    Applicant: Microsoft Corporation
    Inventors: Jacob Oshins, Tejas Karandakar
  • Publication number: 20110246986
    Abstract: Techniques for creating crash data in a virtualized environment are disclosed. In an embodiment of the present disclosure the techniques can be used when a guest operating system within a virtual machine may not have a sufficient mechanism for generating crash data.
    Type: Application
    Filed: March 31, 2010
    Publication date: October 6, 2011
    Applicant: Microsoft Corporation
    Inventors: Andrew Nicholas, Rich Yampell, Jacob Oshins, Rene Antonio Vega
  • Publication number: 20110246171
    Abstract: Techniques for reducing virtual machine input/output emulation overhead and decreasing the attack surface of a virtual machine architecture are disclosed.
    Type: Application
    Filed: March 31, 2010
    Publication date: October 6, 2011
    Applicant: Microsoft Corporation
    Inventors: Lawrence R. Cleeton, Andrei Warkentin, Andrew Nicholas, Rene Antonio Vega, Jacob Oshins, John A. Starks
  • Publication number: 20110238969
    Abstract: Techniques for recovering virtual machine state and boot information used to boot an installed guest operating system on systems where the information has either been lost or is not present are described.
    Type: Application
    Filed: March 25, 2010
    Publication date: September 29, 2011
    Applicant: Microsoft Corporation
    Inventors: Andrei Warkentin, Jacob Oshins
  • Patent number: 8006120
    Abstract: The subject invention relates to systems and methods for automatic recovery from errors in a computing environment. A system is provided to facilitate failure recovery in the computing system. The system includes at least one driver component that enumerates at least one layer of a driver stack. A module associated with the driver component requests re-enumeration of the driver stack upon detection of an error in the computing system. When an error is detected by a driver or operating system component, a protocol can be established whereby a new copy of the driver's stack or system resources is re-enumerated in parallel to existing resources that may be in an unknown or error state. The new copy of the stack may allow the driver to become operational in lieu of the previous stack which can be reclaimed for other system uses over time.
    Type: Grant
    Filed: April 25, 2008
    Date of Patent: August 23, 2011
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Doron J. Holan
  • Patent number: 7984438
    Abstract: A computing device has a hardware device employed to provide a hardware service to the computing device and a plurality of virtual machines including a host virtual machine (VM-H) to which the hardware device is assigned, and a client virtual machine (VM-C) that can consume the hardware service by way of the VM-H. The VM-C includes an emulating stack and an enlightened stack. The emulating stack interfaces an application requesting the hardware service with a trap in a virtualization layer of the computing device which re-directs the request to the VM-H. The enlightened stack interfaces the application with the VM-H and bypasses the virtualization layer. The emulating stack includes a shunt driver that shunts to the enlightened stack each request from the application directed to the emulating stack.
    Type: Grant
    Filed: February 8, 2006
    Date of Patent: July 19, 2011
    Assignee: Microsoft Corporation
    Inventors: Benjamin A. Leis, Jacob Oshins, Parag Chakraborty
  • Publication number: 20110154318
    Abstract: A virtual machine storage service can be use a unique network identifier and a SR-IOV compliant device can be used to transport I/O between a virtual machine and the virtual machine storage service. The virtual machine storage service can be offloaded to a child partition or migrated to another physical machine along with the unique network identifier.
    Type: Application
    Filed: December 17, 2009
    Publication date: June 23, 2011
    Applicant: Microsoft Corporation
    Inventors: Jacob Oshins, Dustin L. Green
  • Publication number: 20110153715
    Abstract: Techniques for migrating lightweight services in a datacenter are described. In an example embodiment the services can be attached to virtual ports of embedded switches and assigned unique network identifiers. The services can be migrated from one physical host to another by migrating the unique identifiers and associating them with instantiated instances of at least equivalent services.
    Type: Application
    Filed: December 17, 2009
    Publication date: June 23, 2011
    Applicant: Microsoft Corporation
    Inventors: Jacob Oshins, Dustin L. Green
  • Publication number: 20110119671
    Abstract: Various aspects are disclosed herein for replacing the hardware backing the memory locations associated with a virtual machine with a backing mechanism. The backing mechanism may have the memory locations appear to contain data convenient to the driver in the virtual machine, typically containing what the hardware would have returned if the hardware had been read from. The data image being returned from the memory locations may travel with the virtual machine even if the virtual machine moves to a different physical machine that does not contain hardware equivalent to the hardware that was recently removed from the virtual machine.
    Type: Application
    Filed: January 18, 2011
    Publication date: May 19, 2011
    Applicant: Microsoft Corporation
    Inventors: Dustin L. Green, Jacob Oshins
  • Patent number: 7941800
    Abstract: A computing device has a virtual machine bus (VM bus) operable in a pipe mode where all incoming data written to the VM bus from a source is passed through to be read from the VM bus by a sink, and a plurality of instantiated virtual machines (VMs). Each VM hosts an instance of an operating system upon an application may be instantiated. Each VM includes a computing object for issuing a call to a component object of another VM, and a VM bus system object for receiving the call and communicating same to a VM bus system object of the another VM by way of the VM bus. The VM bus system object is also for receiving the call from the VM bus system object of the another VM by way of the VM bus and for communicating the received call to the computing object.
    Type: Grant
    Filed: February 23, 2006
    Date of Patent: May 10, 2011
    Assignee: Microsoft Corporation
    Inventors: Benjamin A. Leis, Jacob Oshins, Christopher Eck
  • Publication number: 20110066782
    Abstract: 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: Application
    Filed: March 5, 2010
    Publication date: March 17, 2011
    Applicant: Microsoft Corporation
    Inventors: Jacob Oshins, Peter L. Johnston, Eric P. Traut, Nathan Lewis, Jeffrey Kinsey