Patents by Inventor Erik Cota-Robles

Erik Cota-Robles 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: 20150149729
    Abstract: Exemplary methods, apparatuses, and systems determine that a cache is to be migrated from a first storage device to a second storage device. The cache includes cache entries organized in a first list of cache entries and a second list of cache entries. Only a portion of all cache entries from the first and second lists is selected for migration to the second storage device. The selected cache entries and metadata for cache entries from the first or second list that were not selected are migrated from the first storage device to the second storage device.
    Type: Application
    Filed: November 27, 2013
    Publication date: May 28, 2015
    Applicant: VMware, Inc.
    Inventors: Wenjin HU, Erik COTA-ROBLES
  • Publication number: 20150135003
    Abstract: Exemplary methods, apparatuses, and systems include a first host system configuring storage of the first host to serve as a primary cache for a virtual machine running on the first host. A second host system configures storage of the second host to serve as a secondary cache and boots a placeholder virtual machine. The first host transmits, in response to write operations from the virtual machine directed to the primary cache, copies of the write operations to the second host to create mirrored copies on the secondary cache. The first host acknowledges each write operation from the virtual machine when the write operation is committed to both the primary cache and the secondary cache. When the virtual machine is restarted on the second host in response to a failure or migration event, the secondary cache is promoted to serve as a new primary cache for the virtual machine.
    Type: Application
    Filed: November 12, 2013
    Publication date: May 14, 2015
    Applicant: VMware, Inc.
    Inventors: Erik COTA-ROBLES, Keith FARKAS, Anne HOLLER
  • Publication number: 20150081979
    Abstract: Techniques for enabling integration between a storage system and a host system that performs write-back caching are provided. In one embodiment, the host system can transmit to the storage system a command indicating that the host system intends to cache, in a write-back cache, writes directed to a range of logical block addresses (LBAs). The host system can further receive from the storage system a response indicating whether the command is accepted or rejected. If the command is accepted, the host system can initiate the caching of writes in the write-back cache.
    Type: Application
    Filed: September 16, 2013
    Publication date: March 19, 2015
    Applicant: VMware, Inc.
    Inventors: Andrew Banta, Erik Cota-Robles
  • Patent number: 8914684
    Abstract: A software module capable of simultaneously supporting multiple services provides log message throttling for each service with a separate “per service” log message buffer. When the software module is a device driver, for example, each device controlled by the device driver is allocated a message buffer to store descriptive log messages. Upon generation of a warning log message, descriptive log messages in the message buffer are flushed to a log file for review by an administrator. Furthermore, log message throttling may be implemented by only flushing the message buffer upon certain occurrences of warning log messages, such as in accordance with an exponential back-off algorithm.
    Type: Grant
    Filed: May 26, 2009
    Date of Patent: December 16, 2014
    Assignee: VMware, Inc.
    Inventors: Erik Cota-Robles, Igor Korsunsky
  • Publication number: 20140359229
    Abstract: Techniques for replicating a write-back cache are provided. In one embodiment, a first computer system can receive a write request from a virtual machine (VM) that includes data to be written to a shared storage device. The first computer system can further save the data in a local cache device and transmit, via a network interface controller (NIC), a data packet including the data to a second computer system. Upon determining that the data packet has been transmitted via the NIC, the first computer system can communicate an acknowledgment to the VM indicating that the write request has been successfully processed.
    Type: Application
    Filed: May 31, 2013
    Publication date: December 4, 2014
    Inventor: Erik Cota-Robles
  • Publication number: 20140244938
    Abstract: Techniques are disclosed for reducing perceived read latency. Upon receiving a read request with a scatter-gather array from a guest operating system running on a virtual machine (VM), an early read return virtualization (ERRV) component of a virtual machine monitor fills the scatter-gather array with data from a cache and data retrieved via input-output requests (IOs) to media. The ERRV component is configured to return the read request before all IOs have completed based on a predefined policy. Prior to returning the read, the ERRV component may unmap unfilled pages of the scatter-gather array until data for the unmapped pages becomes available when IOs to the external media complete. Later accesses to unmapped pages will generate page faults, which are handled by stunning the VMs from which the access requests originated until, e.g., all elements of the SG array are filled and all pages of the SG array are mapped.
    Type: Application
    Filed: February 27, 2013
    Publication date: August 28, 2014
    Applicant: VMWARE, INC.
    Inventors: Erik COTA-ROBLES, Thomas A. PHELAN
  • Publication number: 20140032850
    Abstract: Embodiments present a virtual disk image to applications such as virtual machines (VMs) executing on a computing device. The virtual disk image corresponds to one or more subparts of binary large objects (blobs) of data stored by a cloud service, and is implemented in a log structured format. Grains of the virtual disk image are cached by the computing device. The computing device caches only a subset of the grains and performs write operations without blocking the applications to reduce storage latency perceived by the applications. Some embodiments enable the applications that lack enterprise class storage to benefit from enterprise class cloud storage services.
    Type: Application
    Filed: July 25, 2012
    Publication date: January 30, 2014
    Applicant: VMWARE, INC.
    Inventors: Thomas A. Phelan, Erik Cota-Robles, David William Barry, Adam Back
  • Publication number: 20130326150
    Abstract: A cache is maintained with write order numbers that indicate orders of writes into the cache, so that periodic partial flushes of the cache can be executed while maintaining write order consistency. A method of storing data into the cache includes receiving a request to write data into the cache, identifying lines in the cache for storing the data, writing the data into the lines of the cache, storing a write order number, and associating the write order number with the lines of the cache. A method of flushing a cache having cache lines associated with write order numbers includes the steps of identifying lines in the cache that are associated with either a selected write order number or a write order number that is less than the selected write order number, and flushing data stored in the identified lines to a persistent storage.
    Type: Application
    Filed: June 5, 2012
    Publication date: December 5, 2013
    Applicant: VMware, Inc.
    Inventors: Thomas A. PHELAN, Erik COTA-ROBLES
  • Patent number: 8296472
    Abstract: System and methods for safely sharing universal serial bus (USB) devices are provided. A request is received to switch from a state in which user mode drivers are not enabled to a state in which user mode drivers are enabled. For each kernel mode USB driver in the system, an I/O control (IOCTL) is called in each kernel mode USB driver. The IOCTL requests that the kernel mode USB driver yield devices on which it has a claim. Also, for each kernel mode USB driver in the system, it is determined if the kernel mode USB driver will yield one or more devices on which it has a claim. For each kernel mode USB driver that will yield and for each device claimed by the kernel mode USB driver for which the kernel mode USB driver respects a request to unclaim the device, a process is executed as if there had been a hot unplug event on the device.
    Type: Grant
    Filed: April 12, 2012
    Date of Patent: October 23, 2012
    Assignee: VMware, Inc.
    Inventors: Erik Cota-Robles, Igor Korsunsky
  • Publication number: 20120198097
    Abstract: System and methods for safely sharing universal serial bus (USB) devices are provided. A request is received to switch from a state in which user mode drivers are not enabled to a state in which user mode drivers are enabled. For each kernel mode USB driver in the system, an I/O control (IOCTL) is called in each kernel mode USB driver. The IOCTL requests that the kernel mode USB driver yield devices on which it has a claim. Also, for each kernel mode USB driver in the system, it is determined if the kernel mode USB driver will yield one or more devices on which it has a claim. For each kernel mode USB driver that will yield and for each device claimed by the kernel mode USB driver for which the kernel mode USB driver respects a request to unclaim the device, a process is executed as if there had been a hot unplug event on the device.
    Type: Application
    Filed: April 12, 2012
    Publication date: August 2, 2012
    Applicant: VMWARE, INC.
    Inventors: Erik Cota-Robles, Igor Korsunsky
  • Patent number: 8166211
    Abstract: Described herein are systems and methods for preventing a user mode USB driver from performing IOCTL operations other than read-safe IOCTLs on a USB device that has been claimed by a kernel mode driver or is in use by another user mode USB driver. In one method, it is determined whether a kernel mode USB driver will claim a device or whether the device will be available to be claimed by user mode USB drivers. In the event the device is claimed by a kernel mode USB driver, user mode USB drivers will be prevented from claiming the device. In the event the device is available for use by user mode USB drivers, but has been opened for write by one user mode USB driver, all other user mode USB drivers will be prevented from claiming the device. All IOCTL operations other than read-safe IOCTLs will be prevented from being performed by a user mode USB driver unless that USB driver has claimed the device.
    Type: Grant
    Filed: June 7, 2010
    Date of Patent: April 24, 2012
    Assignee: VMware, Inc.
    Inventors: Erik Cota-Robles, Igor Korsunsky
  • Patent number: 8166349
    Abstract: One embodiment is a method of transferring data from a computer system to a Universal Serial Bus (USB) device after a computer system crash where interrupts are masked, the method comprising: (a) detecting the computer system crash; (b) transferring at least a portion of the data to a USB driver for the USB device; (c) the USB driver transferring the portion of the data to a USB controller driver for a USB controller for the USB device; (d) the USB controller driver causing the USB controller to transfer the portion of the data to the USB device; (e) polling the USB controller to determine whether the data transfer was completed; and (f) if the data transfer was completed, providing a notification to the computer system.
    Type: Grant
    Filed: December 18, 2008
    Date of Patent: April 24, 2012
    Assignee: VMware, Inc.
    Inventors: Erik Cota-Robles, Praveen Vegulla, Kinshuk Govil, Olivier Cremel
  • Publication number: 20110302330
    Abstract: Described herein are systems and methods for preventing a user mode USB driver from performing IOCTL operations other than read-safe IOCTLs on a USB device that has been claimed by a kernel mode driver or is in use by another user mode USB driver. In one method, it is determined whether a kernel mode USB driver will claim a device or whether the device will be available to be claimed by user mode USB drivers. In the event the device is claimed by a kernel mode USB driver, user mode USB drivers will be prevented from claiming the device. In the event the device is available for use by user mode USB drivers, but has been opened for write by one user mode USB driver, all other user mode USB drivers will be prevented from claiming the device. All IOCTL operations other than read-safe IOCTLs will be prevented from being performed by a user mode USB driver unless that USB driver has claimed the device.
    Type: Application
    Filed: June 7, 2010
    Publication date: December 8, 2011
    Applicant: VMWARE, INC.
    Inventors: Erik COTA-ROBLES, Igor KORSUNSKY
  • Patent number: 7861245
    Abstract: In one embodiment, a method includes transitioning control to a virtual machine (VM) upon receiving a request from a virtual machine monitor (VMM), determining that the request to transition control is associated with a request to be informed of an open event window, performing an event window check to determine whether an even window of the VM is open, and transitioning control to the VMM if the event window check indicates that the event window of the VM is open.
    Type: Grant
    Filed: June 29, 2009
    Date of Patent: December 28, 2010
    Assignee: Intel Corporation
    Inventors: Steven M. Bennett, Andrew V. Anderson, Erik Cota-Robles, Stalinselvaraj Jeyasingh, Alain Kagi, Gilbert Neiger, Richard Uhlig
  • Publication number: 20100306599
    Abstract: A software module capable of simultaneously supporting multiple services provides log message throttling for each service with a separate “per service” log message buffer. When the software module is a device driver, for example, each device controlled by the device driver is allocated a message buffer to store descriptive log messages. Upon generation of a warning log message, descriptive log messages in the message buffer are flushed to a log file for review by an administrator. Furthermore, log message throttling may be implemented by only flushing the message buffer upon certain occurrences of warning log messages, such as in accordance with an exponential back-off algorithm.
    Type: Application
    Filed: May 26, 2009
    Publication date: December 2, 2010
    Applicant: VMware, Inc.
    Inventors: Erik COTA-ROBLES, Igor KORSUNSKY
  • Patent number: 7840962
    Abstract: In one embodiment, a method includes transitioning control to a virtual machine (VM) from a virtual machine monitor (VMM), determining that a VMM timer indicator is set to an enabling value, and identifying a VMM timer value configured by the VMM. The method further includes periodically comparing a current value of a timing source with the VMM timer value, generating an internal event if the current value of the timing source has reached the VMM timer value, and transitioning control to the VMM in response to the internal event without incurring an event handling procedure in any one of the VMM and the VM.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: November 23, 2010
    Assignee: Intel Corporation
    Inventors: Gilbert Neiger, Steven M. Bennett, Erik Cota-Robles, Sebastian Schoenberg, Clifford D. Hall, Dion Rodgers, Lawrence O. Smith, Andrew V. Anderson, Richard A. Uhlig, Michael Kozuch, Andy Glew
  • Patent number: 7818808
    Abstract: In one embodiment, a processor mode is provided for guest software. The processor mode enables the guest software to operate at a privilege level intended by the guest software. When the guest software attempts to perform an operation restricted by the processor mode, the processor mode is exited to transfer control over the operation to a virtual-machine monitor, which runs outside this processor mode.
    Type: Grant
    Filed: December 27, 2000
    Date of Patent: October 19, 2010
    Assignee: Intel Corporation
    Inventors: Gilbert Neiger, Stephen Chou, Erik Cota-Robles, Stalinselvaraj Jeyasingh, Alain Kagi, Michael Kozuch, Richard Uhlig
  • Patent number: 7757231
    Abstract: In some embodiments, the invention involves a system to deprivilege components of a virtual machine monitor and enable deprivileged service virtual machines (SVMs) to handle selected trapped events. An embodiment of the invention is a hybrid VMM operating on a platform with hardware virtualization support. The hybrid VMM utilizes features from both hypervisor-based and host-based VMM architectures. In at least one embodiment, the functionality of a traditional VMM is partitioned into a small platform-dependent part called a micro-hypervisor (MH) and one or more platform-independent parts called service virtual machines (SVMs). The micro-hypervisor operates at a higher virtual machine (VM) privilege level than any SVM, while the SVM and other VMs may still have access to any instruction set architecture (ISA) privilege level. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 10, 2004
    Date of Patent: July 13, 2010
    Assignee: Intel Corporation
    Inventors: Andrew V. Anderson, Steven M. Bennett, Erik Cota-Robles, Alain Kägi, Gilbert Neiger, Rajesh S. Madukkarumukumana, Sebastian Schoenberg, Richard Uhlig, Michael A. Rothman, Vincent J. Zimmer, Stalinselvaraj Jeyasingh
  • Publication number: 20100161863
    Abstract: One embodiment is a method of transferring data from a computer system to a Universal Serial Bus (USB) device after a computer system crash where interrupts are masked, the method comprising: (a) detecting the computer system crash; (b) transferring at least a portion of the data to a USB driver for the USB device; (c) the USB driver transferring the portion of the data to a USB controller driver for a USB controller for the USB device; (d) the USB controller driver causing the USB controller to transfer the portion of the data to the USB device; (e) polling the USB controller to determine whether the data transfer was completed; and (f) if the data transfer was completed, providing a notification to the computer system.
    Type: Application
    Filed: December 18, 2008
    Publication date: June 24, 2010
    Applicant: VMWARE, INC.
    Inventors: Erik COTA-ROBLES, Praveen VEGULLA, Kinshuk GOVIL, Olivier CREMEL
  • Patent number: 7620949
    Abstract: In one embodiment, a method includes transitioning control to a virtual machine (VM) upon receiving a request from a virtual machine monitor (VMM), determining that the request to transition control is associated with a request to be informed of an open event window, performing an event window check to determine whether an even window of the VM is open, and transitioning control to the VMM if the event window check indicates that the event window of the VM is open.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: November 17, 2009
    Assignee: Intel Corporation
    Inventors: Steven M. Bennett, Andrew V. Anderson, Erik Cota-Robles, Stalinselvaraj Jeyasingh, Alain Kagi, Gilbert Neiger, Richard Uhlig