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).

  • Publication number: 20160216988
    Abstract: A storage entity (e.g., a virtual hard drive) that exposes its technical capabilities including a consistency capability status via an application program interface to a software module (e.g., a virtual machine). The storage entity queries the storage entity through an application program interface to determine technical capabilities of the storage entity. The storage entity responds with a consistency capability status providing a level of consistency that the storage entity is able to provide data stored thereon. The software module may then use this consistency capability status to determine whether to store which data on the storage entity.
    Type: Application
    Filed: January 28, 2015
    Publication date: July 28, 2016
    Inventors: Jacob Oshins, James Patrick Lang
  • Patent number: 9389895
    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: Grant
    Filed: December 17, 2009
    Date of Patent: July 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jacob Oshins, Dustin L. Green
  • Publication number: 20160103613
    Abstract: A computing device manages access to a block-based storage device. The computing device has an operating system with a storage stack. The storage stack may have a file system, a device driver driving the block-based storage device, and a storage component intermediating between the device driver and the file system. The file system may receive a request to tag a file that is managed by the file system and is stored on the storage device. In response the file system requests the storage component to tag blocks corresponding to the file. The device driver forwards or translates the request from the storage component to the storage device. In turn, the storage device stores indicia of the blocks. Data stored in the identified blocks may receive differentiated treatment, by the storage device and/or the operating system, such as a particular choice of backing store, preferential handling, or others.
    Type: Application
    Filed: October 13, 2014
    Publication date: April 14, 2016
    Inventors: Jacob Oshins, John Starks
  • Patent number: 9235435
    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: July 23, 2012
    Date of Patent: January 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Jacob Oshins
  • Publication number: 20140380305
    Abstract: In one embodiment, a virtual storage system 200 may represent a file data set differently based on the activity being performed. The virtual storage system 200 may execute a runtime activity on a runtime format file 214 representing a file data set 212 on a virtual execution layer 220. The virtual storage system 200 may execute an interchange activity on an interchange format file 230 representing the file data set 232.
    Type: Application
    Filed: June 25, 2013
    Publication date: December 25, 2014
    Inventors: Jacob Oshins, John A. Starks
  • Publication number: 20140337846
    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 21, 2014
    Publication date: November 13, 2014
    Inventors: Dustin L. Green, Jacob Oshins
  • Publication number: 20140325202
    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: July 7, 2014
    Publication date: October 30, 2014
    Inventors: Andrei Warkentin, Jacob Oshins
  • Publication number: 20140317621
    Abstract: A computing device has first and second virtual machines (VMs) and a resource assigned to the first VM. Each access request for the resource is forwarded thereto until the first VM is to be saved or migrated. Thereafter, each access request is forwarded to a holding queue. When the resource has acted upon all access requests forwarded thereto, the resource is reassigned to the second VM, and each access request at the holding queue is forwarded to the second VM and then the resource. Thus, all access requests for the resource are acted upon by the resource even after the resource is removed from the first VM and assigned to the second VM, and the save or migrate of the first VM can thereafter be completed.
    Type: Application
    Filed: June 30, 2014
    Publication date: October 23, 2014
    Inventor: Jacob Oshins
  • Patent number: 8789069
    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: July 12, 2012
    Date of Patent: July 22, 2014
    Assignee: Microsoft Corporation
    Inventors: Dustin L. Green, Jacob Oshins
  • Publication number: 20140196040
    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 10, 2014
    Publication date: July 10, 2014
    Applicant: Microsoft Corporation
    Inventors: Andrew Nicholas, Rich Yampell, Jacob Oshins, Rene Antonio Vega
  • Patent number: 8775781
    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: Grant
    Filed: March 25, 2010
    Date of Patent: July 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Andrei Warkentin, Jacob Oshins
  • Patent number: 8769530
    Abstract: A computing device has first and second virtual machines (VMs) and a resource assigned to the first VM. Each access request for the resource is forwarded thereto until the first VM is to be saved or migrated. Thereafter, each access request is forwarded to a holding queue. When the resource has acted upon all access requests forwarded thereto, the resource is reassigned to the second VM, and each access request at the holding queue is forwarded to the second VM and then the resource. Thus, all access requests for the resource are acted upon by the resource even after the resource is removed from the first VM and assigned to the second VM, and the save or migrate of the first VM can thereafter be completed.
    Type: Grant
    Filed: August 26, 2010
    Date of Patent: July 1, 2014
    Assignee: Microsoft Corporation
    Inventor: Jacob Oshins
  • Patent number: 8700816
    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: February 8, 2012
    Date of Patent: April 15, 2014
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Brandon Allsop, Andrew John Thornton
  • Patent number: 8700811
    Abstract: Disclosed are methods for exposing multiple interfaces of a communications fabric (Ethernet, FiberChannel, 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: Grant
    Filed: May 25, 2010
    Date of Patent: April 15, 2014
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Tejas Karandakar
  • Patent number: 8671405
    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: Grant
    Filed: March 31, 2010
    Date of Patent: March 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Andrew Nicholas, Rich Yampell, Jacob Oshins, Rene Antonio Vega
  • Patent number: 8612633
    Abstract: Techniques for reducing virtual machine input/output emulation overhead and decreasing the attack surface of a virtual machine architecture are disclosed.
    Type: Grant
    Filed: March 31, 2010
    Date of Patent: December 17, 2013
    Assignee: Microsoft Corporation
    Inventors: Lawrence R. Cleeton, Andrei Warkentin, Andrew Nicholas, Rene Antonio Vega, Jacob Oshins, John A. Starks
  • Patent number: 8607253
    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: November 7, 2012
    Date of Patent: December 10, 2013
    Assignee: Microsoft Corporation
    Inventor: Jacob Oshins
  • Patent number: 8578385
    Abstract: A method of managing resources in a host computer includes generating a virtual service provider in two different computer partitions and linking them in a serial manner. The virtual service providers are associated with a computer resource. Virtual service clients in different partitions may use the virtual service provider software to access the related computer resources. The virtual service providers provide a transparent interface to the associated hardware. Virtual service clients can use the combination of series computer resource functions or can access the a lesser number of the series connected virtual service providers. Fault tolerance can be built into the scheme using multiple virtual service providers located in different partitions accessible to virtual service clients using a failover control technique.
    Type: Grant
    Filed: April 21, 2005
    Date of Patent: November 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Jeffrey Brian Kinsey, Pankaj Garg, Eric P. Traut, Jacob Oshins
  • Patent number: 8413171
    Abstract: The present invention provides a unified layer for Plug and Play (PnP) components and power management components while relieving device drivers from system-level complexities associated with implementing PnP and/or power management functionality. The layer operates at a level between low-level device drivers and more complex operating system tasks. The subject invention simplifies designing device drivers having proper power management support by creating an infrastructure that allows a device driver to operate within a driver framework or model and without having to process Plug-and-Play or Power Management I/O Request Packets (IRPs) directly.
    Type: Grant
    Filed: December 20, 2007
    Date of Patent: April 2, 2013
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Doron Holan
  • Publication number: 20120324183
    Abstract: Techniques involving replication of storage are described. A representative technique includes apparatuses and methods for receiving replicated virtual storage of a replicated virtual machine, including at least a replicated base virtual disk that substantially corresponds to a primary base virtual disk to be replicated. Copies of differencing disks or other forms of virtual storage updates are received at a recovery site, each of the differencing disks being associated with the primary base virtual disk as descendents thereof. The received copies of the differencing disks are arranged relative to the replicated base virtual disk corresponding to the manner in which the differencing disks were arranged relative to the primary base virtual disk, thereby maintaining the data view of the replicated virtual machine in synchronization with the virtual machine at the primary site.
    Type: Application
    Filed: June 20, 2011
    Publication date: December 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Phani Chiruvolu, Gaurav Sinha, Devdeep Singh, Jacob Oshins, Christopher L. Eck