Patents by Inventor Thomas A. Phelan

Thomas A. Phelan 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: 20160335128
    Abstract: Systems, methods, and software described herein facilitate the allocation of large scale processing jobs to host computing systems. In one example, a method of allocating job processes to a plurality of host computing systems in a large scale processing environment includes identifying a job process for the large scale processing environment, and obtaining accommodation data for a plurality of host computing systems in the large scale processing environment. The method further provides identifying a host computing system in the plurality of host computing systems for the job process based on the accommodation data, and initiating a virtual node on the host computing system for the job process.
    Type: Application
    Filed: May 11, 2015
    Publication date: November 17, 2016
    Inventors: Thomas A. Phelan, Michael J. Moretti, Joel Baxter, Gunaseelan Lakshminarayanan, Kumar Sreekanti
  • Patent number: 9454487
    Abstract: Techniques for using a host-side cache to accelerate virtual machine (VM) I/O are provided. In one embodiment, the hypervisor of a host system can intercept an I/O request from a VM running on the host system, where the I/O request is directed to a virtual disk residing on a shared storage device. The hypervisor can then process the I/O request by accessing a host-side cache that resides one or more cache devices distinct from the shared storage device, where the accessing of the host-side cache is transparent to the VM.
    Type: Grant
    Filed: June 20, 2013
    Date of Patent: September 27, 2016
    Assignee: VMware, Inc.
    Inventors: Thomas A. Phelan, Mayank Rawat, Deng Liu, Kiran Madnani, Sambasiva Bandarupalli
  • Publication number: 20160266932
    Abstract: Systems, methods, and software described herein facilitate the allocation of large scale processing jobs to host computing systems. In one example, a method of operating an administration node to allocate processes to a plurality of host computing systems includes identifying a job process for a large scale processing environment (LSPE), and identifying a data repository associated with the job process. The method further includes obtaining data retrieval performance information related to the data repository and the host systems in the LSPE. The method also provides identifying a host system in the host systems for the job process based on the data retrieval performance information, and initiating a virtual node for the job process on the identified host system.
    Type: Application
    Filed: March 10, 2015
    Publication date: September 15, 2016
    Inventors: Thomas A. Phelan, Michael J. Moretti, Joel Baxter, Gunaseelan Lakshminarayanan, Kumar Sreekanti
  • Publication number: 20160246503
    Abstract: Techniques for using a cache to accelerate virtual machine (VM) I/O are provided. In one embodiment, a host system can intercept an I/O request from a VM running on the host system, where the I/O request is directed to a virtual disk residing on a shared storage device. The host system can then process the I/O request by accessing a cache that resides on one or more cache devices directly attached to the host system, where the accessing of the cache is transparent to the VM.
    Type: Application
    Filed: May 3, 2016
    Publication date: August 25, 2016
    Inventors: Thomas A. Phelan, Mayank Rawat, Deng Liu, Kiran Madnani, Sambasiva Bandarupalli
  • Publication number: 20160179682
    Abstract: Systems, methods, and software described herein allocate cache memory to job processes executing on a processing node. In one example, a method of allocating cache memory to a plurality of job process includes identifying the plurality of job processes executing on a processing node, and identifying a data object to be accessed by the plurality of job processes. The method further provides allocating a portion of the cache memory to each job process in the plurality of job processes and, for each job process in the plurality of job processes, identifying a segment of data from the data object, wherein the segment of data comprises a requested portion of data and a predicted portion of data. The method also includes providing the segments of data to the allocated portions of the cache memory.
    Type: Application
    Filed: December 18, 2014
    Publication date: June 23, 2016
    Inventors: Michael J. Moretti, Joel Baxter, Thomas Phelan
  • 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: 20160041771
    Abstract: Techniques for surfacing host-side flash storage capacity to a plurality of VMs running on a host system are provided. In one embodiment, the host system creates, for each VM in the plurality of VMs, a flash storage space allocation in a flash storage device that is locally attached to the host system. The host system then causes the flash storage space allocation to be readable and writable by the VM as a virtual flash memory device.
    Type: Application
    Filed: October 21, 2015
    Publication date: February 11, 2016
    Inventors: Thomas A. Phelan, Mayank Rawat, Kiran Madnani, Wei Zhang, Deng Liu, Sambasiva Bandarupalli
  • Patent number: 9239682
    Abstract: An I/O hint framework is provided. In one embodiment, a computer system can receive an I/O command originating from a virtual machine (VM), where the I/O command identifies a data block of a virtual disk. The computer system can further extract hint metadata from the I/O command, where the hint metadata includes one or more characteristics of the data block that are relevant for determining how to cache the data block in a flash storage-based cache. The computer system can then make the hint metadata available to a caching module configured to manage the flash storage-based cache.
    Type: Grant
    Filed: February 27, 2013
    Date of Patent: January 19, 2016
    Assignee: VMware, Inc.
    Inventors: Deng Liu, Thomas A. Phelan, Li Zhou, Ramkumar Vadivelu, Sandeep Uttamchandani
  • Publication number: 20150347450
    Abstract: Systems, methods, and software described herein to provide data to large-scale processing framework (LSPF) nodes in LSPF clusters. In one example, a method to provide data includes receiving an access request from a LSPF node to access data in accordance with a version of a distributed file system. The method further includes, responsive to the access request, accessing the data for the LSPF node in accordance with a different version of the distributed file system, and presenting the data to the LSPF node in accordance with the version of the distributed file system used by the LSPF node.
    Type: Application
    Filed: May 28, 2014
    Publication date: December 3, 2015
    Applicant: Bluedata Software, Inc.
    Inventors: Thomas A. Phelan, Gunaseelan Lakshminarayanan, Michael Moretti, Joel Baxter, Lakshman Chinnakotla
  • Patent number: 9195585
    Abstract: Techniques for surfacing host-side flash storage capacity to a plurality of VMs running on a host system are provided. In one embodiment, the host system creates, for each VM in the plurality of VMs, a flash storage space allocation in a flash storage device that is locally attached to the host system. The host system then causes the flash storage space allocation to be readable and writable by the VM as a virtual flash memory device.
    Type: Grant
    Filed: January 23, 2013
    Date of Patent: November 24, 2015
    Assignee: VMware, Inc.
    Inventors: Thomas A. Phelan, Mayank Rawat, Kiran Madnani, Wei Zhang, Deng Liu, Sambasiva Bandarupalli
  • Publication number: 20150220348
    Abstract: Systems, methods, and software described herein facilitate the implementation of discrete machines in a distributed data processing environment. In one example, one or more new computing devices may attempt to join the environment by transferring a Preboot Execution Environment (PXE) request to an administration system. The administration system is configured to receive the request and, in response to the request, identify boot preferences corresponding to the PXE request. The administration system is further configured to transfer boot information to the one or more computing devices based on the boot preferences.
    Type: Application
    Filed: September 23, 2014
    Publication date: August 6, 2015
    Inventors: Thomas A. Phelan, Michael J. Moretti, Gunaseelan Lakshminarayanan
  • Publication number: 20150220442
    Abstract: Systems, methods, and software described herein facilitate a cache service that allocates shared memory in a data processing cluster based on quality of service. In one example, a method for operating a cache service includes identifying one or more jobs to be processed in a cluster environment. The method further provides determining a quality of service for the one or more jobs and allocating shared memory for the one or more jobs based on the quality of service.
    Type: Application
    Filed: September 11, 2014
    Publication date: August 6, 2015
    Inventors: Thomas A. Phelan, Michael J. Moretti, Gunaseelan Lakshminarayanan, Ramaswami Kishore
  • Patent number: 9075731
    Abstract: Techniques for achieving crash consistency when performing write-behind caching using a flash storage-based cache are provided. In one embodiment, a computer system receives from a virtual machine a write request that includes data to be written to a virtual disk and caches the data in a flash storage-based cache. The computer system further logs a transaction entry for the write request in the flash storage-based cache, where the transaction entry includes information usable for flushing the data from the flash storage-based cache to a storage device storing the virtual disk. The computer system then communicates an acknowledgment to the VM indicating that the write request has been successfully processed.
    Type: Grant
    Filed: January 23, 2013
    Date of Patent: July 7, 2015
    Assignee: VMware, Inc.
    Inventors: Deng Liu, Thomas A. Phelan, Ramkumar Vadivelu, Wei Zhang, Sandeep Uttamchandani, Li Zhou
  • Publication number: 20150178133
    Abstract: Systems, methods, and software described herein facilitate servicing of data requests based on quality of service assigned to processing jobs. In one example, a method of prioritizing data requests in a computing system based on quality of service includes identifying a plurality of data requests from a plurality of processing jobs. The method further includes prioritizing the plurality of data requests based on a quality of service assessed to each of the plurality of processing jobs, and assigning cache memory in the computing system to each of the plurality of data requests based on the prioritization.
    Type: Application
    Filed: December 16, 2014
    Publication date: June 25, 2015
    Inventors: Thomas A. Phelan, Michael J. Moretti, Joel Baxter, Gunaseelan Lakshminarayanan
  • Publication number: 20150127682
    Abstract: Systems, methods, and software described herein facilitate interfacing between processing nodes and a plurality of data repositories. In one example, a method of interfacing between a processing node and a plurality of data repositories includes identifying, for the processing node, a data access request using a first data access format, wherein the data access request includes a data connector identifier. The method further includes translating the access request to a second data access format based on the data connector identifier, and identifying a data repository in the plurality of data repositories to service the data access request based on the data connector identifier. The method also provides accessing data for the data access request in the data repository via the second data access format.
    Type: Application
    Filed: November 4, 2014
    Publication date: May 7, 2015
    Inventors: Thomas A. Phelan, Michael J. Moretti, Joel Baxter, Gunaseelan Lakshminarayanan, Kumar Sreekanti
  • Publication number: 20150067680
    Abstract: Described herein are systems, methods, and software for translating data requests in a data processing cluster. In one example, a method of operating a cache service to interface between a virtual machine cluster and job data associated with a job executed by the virtual machine cluster includes identifying a request initiated by the virtual machine cluster to access at least a portion of the job data in accordance with a first distributed object access protocol. The method further includes in response to the request, accessing at least the portion of the job data in accordance with a second distributed object access protocol, and presenting at least the portion of the job data to the virtual machine cluster in accordance with the first distributed object access protocol.
    Type: Application
    Filed: August 29, 2014
    Publication date: March 5, 2015
    Inventors: Thomas A. Phelan, Joel Baxter
  • Publication number: 20150033226
    Abstract: Embodiments disclosed herein provide systems, methods, and computer readable media for managing data consumption rate in a virtual data processing environment. In a particular embodiment, a method provides, in a cache node of a host system, identifying read completions for one or more virtual machines instantiated in the host system, with the one or more virtual machines processing one or more processing jobs. The method further provides allocating the read completions to individual processing jobs of the one or more processing jobs and accumulating the read completions on a per-job basis, with the cache node determining a data consumption rate for each processing job of the one or more processing jobs.
    Type: Application
    Filed: July 25, 2014
    Publication date: January 29, 2015
    Inventors: Thomas A. Phelan, Joel Baxter
  • Publication number: 20150020070
    Abstract: Systems, methods, and software described herein facilitate accelerated input and output operations with respect to virtualized environments. In an implementation, upon being notified of a guest read process initiated by a guest element running in a virtual machine to read data into a location in guest memory associated with the guest element, a computing system identifies a location in host memory associated with the location in the guest memory and initiates a host read process to read the data into the location in the host memory that corresponds to the location in the guest memory.
    Type: Application
    Filed: July 14, 2014
    Publication date: January 15, 2015
    Inventors: Thomas A. Phelan, Michael Moretti, Dragan Stancevic
  • Publication number: 20150020071
    Abstract: Systems, methods, and software described herein facilitate accelerated input and output operations with respect to virtualized environments. In an implementation, a computing system passes a process identifier to a kernel driver for a host environment, wherein the process identifier identifies a guest process spawned in a virtual machine and wherein the kernel driver uses the process identifier to determine an allocation of host memory corresponding to guest memory for the guest process and returns the allocation of host memory. Additionally, the computing system performs a mapping of the allocation of host memory to an allocation of guest memory for the guest element.
    Type: Application
    Filed: July 14, 2014
    Publication date: January 15, 2015
    Inventors: Thomas A. Phelan, Michael Moretti, Dragan Stancevic
  • Publication number: 20140325141
    Abstract: A computer system that employs a solid-state memory device as a physical storage resource includes a hypervisor that is capable of supporting TRIM commands issued by virtual machines running in the computer system. When a virtual machine issues a TRIM command to its corresponding virtual storage device to invalidate data stored therein, the TRIM command is received at an interface layer in the hypervisor that translates the TRIM command to a SCSI command known as UMMAP. A SCSI virtualization layer converts the UNMAP command to a file system command to delete portions of the virtual storage device that is maintained as a file in the hypervisor's file system. Upon receiving the delete commands, the hypervisor's file system driver generates a TRIM command to invalidate the data stored in the solid-state memory device at locations corresponding to the portions of the file that are to be deleted.
    Type: Application
    Filed: April 30, 2013
    Publication date: October 30, 2014
    Applicant: WMware Inc.
    Inventors: Deng LIU, Thomas A. PHELAN