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

  • Patent number: 11068414
    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: Grant
    Filed: June 28, 2019
    Date of Patent: July 20, 2021
    Assignee: VMWARE, INC.
    Inventors: Thomas A. Phelan, Erik Cota-Robles
  • Patent number: 10922305
    Abstract: A task list can list tasks to be performed on a target host machine. Certain tasks in the task list can be revised to produce a revised task list. Tasks directed to storage devices can be revised depending on whether or not the storage devices are shared by both the target host machine and a reference host machine.
    Type: Grant
    Filed: November 13, 2017
    Date of Patent: February 16, 2021
    Assignee: VMWARE, INC.
    Inventors: Erik Cota-Robles, Kanika Nema, Thorbjoern Donbaek Jensen
  • Publication number: 20190324922
    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 28, 2019
    Publication date: October 24, 2019
    Inventors: Thomas A. Phelan, Erik Cota-Robles
  • Patent number: 10387331
    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: Grant
    Filed: June 5, 2012
    Date of Patent: August 20, 2019
    Assignee: VMWARE, INC.
    Inventors: Thomas A. Phelan, Erik Cota-Robles
  • Patent number: 10038596
    Abstract: Reference profiles for managing configurations of host machines in a cluster may include a subprofile that specifies a boot LUN in a SAN storage architecture. Processing of a reference profile includes properly resolving the boot LUN specified in the reference profile and the actual boot LUN used in a target host machine.
    Type: Grant
    Filed: September 23, 2014
    Date of Patent: July 31, 2018
    Assignee: VMWARE, INC.
    Inventors: Kanika Nema, Erik Cota-Robles
  • Publication number: 20180173633
    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: November 27, 2017
    Publication date: June 21, 2018
    Inventors: Thomas A. PHELAN, Erik COTA-ROBLES, David William BARRY, Adam BACK
  • Publication number: 20180081930
    Abstract: A task list can list tasks to be performed on a target host machine. Certain tasks in the task list can be revised to produce a revised task list. Tasks directed to storage devices can be revised depending on whether or not the storage devices are shared by both the target host machine and a reference host machine.
    Type: Application
    Filed: November 13, 2017
    Publication date: March 22, 2018
    Inventors: Erik Cota-Robles, Kanika Nema, Thorbjoern Donbaek Jensen
  • Patent number: 9830271
    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: Grant
    Filed: July 25, 2012
    Date of Patent: November 28, 2017
    Assignee: VMware, Inc.
    Inventors: Thomas A. Phelan, Erik Cota-Robles, David William Barry, Adam Back
  • Patent number: 9830349
    Abstract: A per device state is introduced that indicates whether a storage device is shared clusterwide or not. The state may be populated by default based on detected device locality. Devices detected as local and those shared by only a subset of host machines in a cluster of machines may have the state set to “FALSE.” Devices which are shared by all the machines in a cluster may have the state set to “TRUE.” Locality of storage devices in a cluster may be modified using such state information. Operations upon other storage device state may be modified depending upon device sharing state.
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: November 28, 2017
    Assignee: VMware, Inc.
    Inventors: Erik Cota-Robles, Kanika Nema, Thorbjoern Donbaek Jensen
  • Patent number: 9804990
    Abstract: Examples of the disclosure safely share universal service bus (USB) devices with peripheral component interconnect (PCI) passthrough, and share devices in the USB hierarchy. An in-use counter is maintained for the USB bus and/or for USB hubs. The in-use counter is checked and adjusted when a VM or entity claims and/or unclaims a device. For example, when a PCI passthrough of a USB host controller device is requested, the global in-use counter is checked to determine whether to grant the request. When a VM or entity requests to claim a USB hub, the in-use counter is checked to determine whether to grant the request. The in-use counter indicates whether any USB device attached has been claimed and/or whether the USB host controller device has been claimed by a PCI passthrough operation.
    Type: Grant
    Filed: August 27, 2014
    Date of Patent: October 31, 2017
    Assignee: VMware, Inc.
    Inventor: Erik Cota-Robles
  • Patent number: 9519581
    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: Grant
    Filed: September 16, 2013
    Date of Patent: December 13, 2016
    Assignee: VMware, Inc.
    Inventors: Andrew Banta, Erik Cota-Robles
  • Publication number: 20160125016
    Abstract: A per device state is introduced that indicates whether a storage device is shared clusterwide or not. The state may be populated by default based on detected device locality. Devices detected as local and those shared by only a subset of host machines in a cluster of machines may have the state set to “FALSE.” Devices which are shared by all the machines in a cluster may have the state set to “TRUE.” Locality of storage devices in a cluster may be modified using such state information. Operations upon other storage device state may be modified depending upon device sharing state.
    Type: Application
    Filed: October 31, 2014
    Publication date: May 5, 2016
    Inventors: Erik Cota-Robles, Kanika Nema, Thorbjoern Donbaek Jensen
  • Patent number: 9317207
    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: Grant
    Filed: November 27, 2013
    Date of Patent: April 19, 2016
    Assignee: VMWARE, INC.
    Inventors: Wenjin Hu, Erik Cota-Robles
  • Patent number: 9298375
    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: Grant
    Filed: February 27, 2013
    Date of Patent: March 29, 2016
    Assignee: VMware, Inc.
    Inventors: Erik Cota-Robles, Thomas A. Phelan
  • Publication number: 20160087843
    Abstract: Reference profiles for managing configurations of host machines in a cluster may include a subprofile that specifies a boot LUN in a SAN storage architecture. Processing of a reference profile includes properly resolving the boot LUN specified in the reference profile and the actual boot LUN used in a target host machine.
    Type: Application
    Filed: September 23, 2014
    Publication date: March 24, 2016
    Inventors: Kanika Nema, Erik Cota-Robles
  • Patent number: 9285999
    Abstract: Exemplary methods, apparatuses, and systems determine that a cache is to be migrated from a first storage device to a second storage device. Each cache entry within the cache includes a first indicator to indicate whether or not the cache entry has long-term utility. Only a portion of all cache entries are selected to be migrated and the portion is selected from cache entries with the first indicator set to indicate long-term utility. The selected cache entries and metadata for cache entries that were not selected are migrated from the first storage device to the second storage device.
    Type: Grant
    Filed: November 27, 2013
    Date of Patent: March 15, 2016
    Assignee: VMware, Inc.
    Inventors: Wenjin Hu, Erik Cota-Robles
  • Publication number: 20160062940
    Abstract: Examples of the disclosure safely share universal service bus (USB) devices with peripheral component interconnect (PCI) passthrough, and share devices in the USB hierarchy. An in-use counter is maintained for the USB bus and/or for USB hubs. The in-use counter is checked and adjusted when a VM or entity claims and/or unclaims a device. For example, when a PCI passthrough of a USB host controller device is requested, the global in-use counter is checked to determine whether to grant the request. When a VM or entity requests to claim a USB hub, the in-use counter is checked to determine whether to grant the request. The in-use counter indicates whether any USB device attached has been claimed and/or whether the USB host controller device has been claimed by a PCI passthrough operation.
    Type: Application
    Filed: August 27, 2014
    Publication date: March 3, 2016
    Inventor: Erik Cota-Robles
  • Patent number: 9183103
    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: Grant
    Filed: May 31, 2013
    Date of Patent: November 10, 2015
    Assignee: VMware, Inc.
    Inventor: Erik Cota-Robles
  • Patent number: 9183099
    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: Grant
    Filed: November 12, 2013
    Date of Patent: November 10, 2015
    Assignee: VMware, Inc.
    Inventors: Erik Cota-Robles, Keith Farkas, Anne Holler
  • Publication number: 20150149730
    Abstract: Exemplary methods, apparatuses, and systems determine that a cache is to be migrated from a first storage device to a second storage device. Each cache entry within the cache includes a first indicator to indicate whether or not the cache entry has long-term utility. Only a portion of all cache entries are selected to be migrated and the portion is selected from cache entries with the first indicator set to indicate long-term utility. The selected cache entries and metadata for cache entries 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