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: 11068414Abstract: 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: GrantFiled: June 28, 2019Date of Patent: July 20, 2021Assignee: VMWARE, INC.Inventors: Thomas A. Phelan, Erik Cota-Robles
-
Patent number: 10922305Abstract: 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: GrantFiled: November 13, 2017Date of Patent: February 16, 2021Assignee: VMWARE, INC.Inventors: Erik Cota-Robles, Kanika Nema, Thorbjoern Donbaek Jensen
-
Publication number: 20190324922Abstract: 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: ApplicationFiled: June 28, 2019Publication date: October 24, 2019Inventors: Thomas A. Phelan, Erik Cota-Robles
-
Patent number: 10387331Abstract: 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: GrantFiled: June 5, 2012Date of Patent: August 20, 2019Assignee: VMWARE, INC.Inventors: Thomas A. Phelan, Erik Cota-Robles
-
Patent number: 10038596Abstract: 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: GrantFiled: September 23, 2014Date of Patent: July 31, 2018Assignee: VMWARE, INC.Inventors: Kanika Nema, Erik Cota-Robles
-
Publication number: 20180081930Abstract: 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: ApplicationFiled: November 13, 2017Publication date: March 22, 2018Inventors: Erik Cota-Robles, Kanika Nema, Thorbjoern Donbaek Jensen
-
Patent number: 9830349Abstract: 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: GrantFiled: October 31, 2014Date of Patent: November 28, 2017Assignee: VMware, Inc.Inventors: Erik Cota-Robles, Kanika Nema, Thorbjoern Donbaek Jensen
-
Patent number: 9830271Abstract: 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: GrantFiled: July 25, 2012Date of Patent: November 28, 2017Assignee: VMware, Inc.Inventors: Thomas A. Phelan, Erik Cota-Robles, David William Barry, Adam Back
-
Patent number: 9804990Abstract: 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: GrantFiled: August 27, 2014Date of Patent: October 31, 2017Assignee: VMware, Inc.Inventor: Erik Cota-Robles
-
Patent number: 9519581Abstract: 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: GrantFiled: September 16, 2013Date of Patent: December 13, 2016Assignee: VMware, Inc.Inventors: Andrew Banta, Erik Cota-Robles
-
Publication number: 20160125016Abstract: 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: ApplicationFiled: October 31, 2014Publication date: May 5, 2016Inventors: Erik Cota-Robles, Kanika Nema, Thorbjoern Donbaek Jensen
-
Patent number: 9317207Abstract: 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: GrantFiled: November 27, 2013Date of Patent: April 19, 2016Assignee: VMWARE, INC.Inventors: Wenjin Hu, Erik Cota-Robles
-
Patent number: 9298375Abstract: 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: GrantFiled: February 27, 2013Date of Patent: March 29, 2016Assignee: VMware, Inc.Inventors: Erik Cota-Robles, Thomas A. Phelan
-
Publication number: 20160087843Abstract: 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: ApplicationFiled: September 23, 2014Publication date: March 24, 2016Inventors: Kanika Nema, Erik Cota-Robles
-
Patent number: 9285999Abstract: 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: GrantFiled: November 27, 2013Date of Patent: March 15, 2016Assignee: VMware, Inc.Inventors: Wenjin Hu, Erik Cota-Robles
-
Publication number: 20160062940Abstract: 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: ApplicationFiled: August 27, 2014Publication date: March 3, 2016Inventor: Erik Cota-Robles
-
Patent number: 9183099Abstract: 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: GrantFiled: November 12, 2013Date of Patent: November 10, 2015Assignee: VMware, Inc.Inventors: Erik Cota-Robles, Keith Farkas, Anne Holler
-
Patent number: 9183103Abstract: 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: GrantFiled: May 31, 2013Date of Patent: November 10, 2015Assignee: VMware, Inc.Inventor: Erik Cota-Robles
-
Publication number: 20150081979Abstract: 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: ApplicationFiled: September 16, 2013Publication date: March 19, 2015Applicant: VMware, Inc.Inventors: Andrew Banta, Erik Cota-Robles
-
Patent number: 8914684Abstract: 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: GrantFiled: May 26, 2009Date of Patent: December 16, 2014Assignee: VMware, Inc.Inventors: Erik Cota-Robles, Igor Korsunsky