Patents by Inventor Hari Sivaraman

Hari Sivaraman 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: 20210295493
    Abstract: A system and method for assessing video quality of a video-based application inserts frame identifiers (IDs) into video content from the video-based application and recognizes the frame IDs from the video content using a text recognition neural network. Based on recognized frame IDs, a frame per second (FPS) metric of the video content is calculated. Based on the FPS metric of the video content, objective video quality of the video-based application is assessed.
    Type: Application
    Filed: March 18, 2020
    Publication date: September 23, 2021
    Inventors: Lan VU, Hari SIVARAMAN, Uday Pundalik KURKURE, Xuwen YU
  • Publication number: 20210295096
    Abstract: A system and method for assessing video quality of a video-based application trains a neural network using training data of video samples and assesses video of the video-based application using the neural network to generate the subjective video quality information of the video-based application. Data augmentation is performed on video data, which is labeled with at least one subjective quality level, to generate the training data of video samples.
    Type: Application
    Filed: March 18, 2020
    Publication date: September 23, 2021
    Inventors: Lan VU, Hari SIVARAMAN, Uday Pundalik KURKURE, Xuwen YU
  • Patent number: 11113782
    Abstract: Various examples are disclosed for dynamic kernel slicing for virtual graphics processing unit (vGPU) sharing in serverless computing systems. A computing device is configured to provide a serverless computing service, receive a request for execution of program code in the serverless computing service in which a plurality of virtual graphics processing units (vGPUs) are used in the execution of the program code, determine a slice size to partition a compute kernel of the program code into a plurality of sub-kernels for concurrent execution by the vGPUs, the slice size being determined for individual ones of the sub-kernels based on an optimization function that considers a load on a GPU, determine an execution schedule for executing the individual ones of the sub-kernels on the vGPUs in accordance with a scheduling policy, and execute the sub-kernels on the vGPUs as partitioned in accordance with the execution schedule.
    Type: Grant
    Filed: October 15, 2019
    Date of Patent: September 7, 2021
    Assignee: VMware, Inc.
    Inventors: Chandra Prakash, Anshuj Garg, Uday Pundalik Kurkure, Hari Sivaraman, Lan Vu, Sairam Veeraswamy
  • Publication number: 20210216375
    Abstract: Disclosed are aspects of workload selection and placement in systems that include graphics processing units (GPUs) that are virtual GPU (vGPU) enabled. In some aspects, workloads are assigned to virtual graphics processing unit (vGPU)-enabled graphics processing units (GPUs) based on a variety of vGPU placement models. A number of vGPU placement neural networks are trained to maximize a composite efficiency metric based on workload data and GPU data for the plurality of vGPU placement models. A combined neural network selector is generated using the vGPU placement neural networks, and utilized to assign a workload to a vGPU-enabled GPU.
    Type: Application
    Filed: January 14, 2020
    Publication date: July 15, 2021
    Inventors: Hari Sivaraman, Uday Pundalik Kurkure, Lan VU
  • Patent number: 11055568
    Abstract: The current document is directed to methods and systems that employ image-recognition and machine learning to directly measure application-program response time from changes in a user interface displayed by the application program in much the same way that application-program users perceive response times when manually issuing commands through the user interface. The currently disclosed methods and systems involve building recognition models, training the recognition models to recognize application-program states from changes in the user interface displayed by the application program, and using the recognition models to monitor the user interface displayed by an application program to detect and assign timestamps to application-program state changes, from which the elapsed time for various different operations is computed.
    Type: Grant
    Filed: July 26, 2019
    Date of Patent: July 6, 2021
    Assignee: VMware, Inc.
    Inventors: Lan Vu, Uday Kurkure, Hari Sivaraman, Aravind Kumar Rao Bappanadu, Mohit Mangal
  • Patent number: 11048561
    Abstract: Various examples are disclosed for avoiding power-on failures during virtualization of graphics processing units. A computing environment can be directed to, in response to a virtual machine being powered on, identify a profile for a virtual graphics processing unit (vGPU) designated for the virtual machine, the profile specifying an amount of memory required by the vGPU, identify that the virtual machine is unable to be assigned to any of a plurality of physical graphics processing units (GPUs) based on the amount of memory required by the vGPU, free fat least the amount of memory required by the vGPU by performing a migration of at least one existing virtual machine from a first one of the physical GPUs to a second one of the physical GPUs, and assign the virtual machine to an available one of the physical GPUs and a corresponding host.
    Type: Grant
    Filed: July 23, 2019
    Date of Patent: June 29, 2021
    Assignee: VMware, Inc.
    Inventors: Uday Pundalik Kurkure, Hari Sivaraman, Lan Vu
  • Publication number: 20210110506
    Abstract: Various examples are disclosed for dynamic kernel slicing for virtual graphics processing unit (vGPU) sharing in serverless computing systems. A computing device is configured to provide a serverless computing service, receive a request for execution of program code in the serverless computing service in which a plurality of virtual graphics processing units (vGPUs) are used in the execution of the program code, determine a slice size to partition a compute kernel of the program code into a plurality of sub-kernels for concurrent execution by the vGPUs, the slice size being determined for individual ones of the sub-kernels based on an optimization function that considers a load on a GPU, determine an execution schedule for executing the individual ones of the sub-kernels on the vGPUs in accordance with a scheduling policy, and execute the sub-kernels on the vGPUs as partitioned in accordance with the execution schedule.
    Type: Application
    Filed: October 15, 2019
    Publication date: April 15, 2021
    Inventors: Chandra Prakash, Anshuj Garg, Uday Pundalik Kurkure, Hari Sivaraman, Lan VU, Sairam Veeraswamy
  • Publication number: 20210026672
    Abstract: Various examples are disclosed for avoiding power-on failures during virtualization of graphics processing units. A computing environment can be directed to, in response to a virtual machine being powered on, identify a profile for a virtual graphics processing unit (vGPU) designated for the virtual machine, the profile specifying an amount of memory required by the vGPU, identify that the virtual machine is unable to be assigned to any of a plurality of physical graphics processing units (GPUs) based on the amount of memory required by the vGPU, free fat least the amount of memory required by the vGPU by performing a migration of at least one existing virtual machine from a first one of the physical GPUs to a second one of the physical GPUs, and assign the virtual machine to an available one of the physical GPUs and a corresponding host.
    Type: Application
    Filed: July 23, 2019
    Publication date: January 28, 2021
    Inventors: Uday Pundalik Kurkure, Hari Sivaraman, Lan Vu
  • Publication number: 20210011773
    Abstract: Disclosed are aspects of memory-aware placement in systems that include graphics processing units (GPUs) that are virtual GPU (vGPU) enabled. Virtual graphics processing unit (vGPU) data is identified for graphics processing units (GPUs). A configured GPU list and an unconfigured GPU list are generated using the GPU data. The configured GPU list specifies configured vGPU profiles for configured GPUs. The unconfigured GPU list specifies a total GPU memory for unconfigured GPUs. A vGPU request is assigned to a vGPU of a GPU. The GPU is a first fit, from the configured GPU list or the unconfigured GPU list that satisfies a GPU memory requirement of the vGPU request.
    Type: Application
    Filed: August 26, 2019
    Publication date: January 14, 2021
    Inventors: Anshuj GARG, Uday Pundalik KURKURE, Hari SIVARAMAN, Lan VU
  • Publication number: 20210011751
    Abstract: Disclosed are aspects of memory-aware placement in systems that include graphics processing units (GPUs) that are virtual GPU (vGPU) enabled. In some embodiments, a computing environment is monitored to identify graphics processing unit (GPU) data for a plurality of virtual GPU (vGPU) enabled GPUs of the computing environment, a plurality of vGPU requests are received. A respective vGPU request includes a GPU memory requirement. GPU configurations are determined in order to accommodate vGPU requests. The GPU configurations are determined based on an integer linear programming (ILP) vGPU request placement model. Configured vGPU profiles are applied for vGPU enabled GPUs, and vGPUs are created based on the configured vGPU profiles. The vGPU requests are assigned to the vGPUs.
    Type: Application
    Filed: August 26, 2019
    Publication date: January 14, 2021
    Inventors: ANSHUJ GARG, UDAY PUNDALIK KURKURE, HARI SIVARAMAN, LAN VU
  • Publication number: 20210012155
    Abstract: The current document is directed to methods and systems that employ image-recognition and machine learning to directly measure application-program response time from changes in a user interface displayed by the application program in much the same way that application-program users perceive response times when manually issuing commands through the user interface. The currently disclosed methods and systems involve building recognition models, training the recognition models to recognize application-program states from changes in the user interface displayed by the application program, and using the recognition models to monitor the user interface displayed by an application program to detect and assign timestamps to application-program state changes, from which the elapsed time for various different operations is computed.
    Type: Application
    Filed: July 26, 2019
    Publication date: January 14, 2021
    Inventors: LAN VU, UDAY KURKURE, HARI SIVARAMAN, ARAVIND KUMAR RAO BAPPANADU, MOHIT MANGAL
  • Publication number: 20200372360
    Abstract: Method and system for training a neural network. The neural network is split into first and second portions. A k-layer first portion is sent to a client training/inference engine and the second portion is retained by a server training/inference engine. At the splitting point, the kth layer is a one-way function in output computation has a number of nodes that are less than any other layer of the first portion. The client training/inference engine trains the first portion with input data in a set of training data. The server training/inference engine receives a batch of outputs from the client training and applies them to the second portion to train the entire neural network.
    Type: Application
    Filed: May 20, 2019
    Publication date: November 26, 2020
    Inventors: Lan VU, Dimitrios SKARLATOS, Aravind BAPPANADU, Hari SIVARAMAN, Uday KURKURE, Vijayaraghavan SOUNDARARAJAN
  • Patent number: 10796038
    Abstract: Methods, systems, and computer programs, for estimating think times. One of the methods includes receiving a request to perform a test of one or more computing resources. The test of the one or more computing resources is performed by simulating an interaction of one or more simulated users with the one or more computing resources. Requests are submitted from the simulated user for execution by the one or more computing resources. Respective response times of the one or more computing resources to each of the requests are measured. An estimated think time of the simulated user is computed, wherein the estimated think time is computed based on at least one preceding response time.
    Type: Grant
    Filed: December 29, 2017
    Date of Patent: October 6, 2020
    Assignee: VMware, Inc.
    Inventors: Uday Kurkure, Hari Sivaraman
  • Publication number: 20200280544
    Abstract: A method for symmetric authentication is provided. This method includes generating a first challenge message containing a first string; encrypting the first challenge message; transmitting the encrypted first challenge message to a second device; receiving a first answer message from the second device; decrypting the first answer message; and authenticating the second device based on determining the decrypted first answer message contains the first string. Upon successful authentication of the second device, the method further includes receiving an encrypted second challenge message from the second device; decrypting the encrypted second challenge message; generating a second answer message containing a second string; encrypting the second answer message; and transmitting the encrypted second answer message to the second device.
    Type: Application
    Filed: February 28, 2019
    Publication date: September 3, 2020
    Inventors: Hari SIVARAMAN, Uday KURKURE, Lan VU, Vijayaraghavan SOUNDARARAJAN
  • Publication number: 20190347137
    Abstract: Disclosed are aspects of task assignment for systems that include graphics processing units (GPUs) that are virtual GPU (vGPU) enabled. In some examples, an algorithm is determined based on predetermined virtual machine assignment algorithms. The algorithm optimizes for a predetermined cost function. A virtual machine is queued in an arrival queue for assignment. A graphics configuration of a system is determined. The graphics configuration specifies a number of graphics processing units (GPUs) in the system. The system includes a vGPU enabled GPU. The algorithm is selected based on a correlation between the algorithm and the graphics configuration of the system. The virtual machine is assigned to a run queue based on the selected algorithm.
    Type: Application
    Filed: April 24, 2019
    Publication date: November 14, 2019
    Inventors: HARI SIVARAMAN, UDAY PUNDALIK KURKURE, LAN VU, ANSHUJ GARG
  • Patent number: 10417026
    Abstract: Systems and techniques are described for modifying an executable file of an application and executing the application using the modified executable file. A described technique includes receiving, by a virtual machine, a request to perform an initial function of an application and an executable file for the application. The virtual machine modifies the executable file by redirecting the executable file to a custom runtime library that includes a custom function configured to initialize the application and to place the application in a paused state. A custom function call is added to the custom function in the executable file. The virtual machine initializes the application by executing the modified executable file, the executing causing the custom function to initialize the application and place the application in a paused state.
    Type: Grant
    Filed: December 15, 2016
    Date of Patent: September 17, 2019
    Assignee: VMware, Inc.
    Inventors: Lan Vu, Hari Sivaraman, Rishi Bidarkar
  • Publication number: 20190138344
    Abstract: Exemplary methods, apparatuses, and systems include a client virtual machine processing a system call for a device driver to instruct a physical device to perform a function and transmitting the system call to an appliance virtual machine to execute the system call. The client virtual machine determines, in response to the system call, that an established connection with the appliance virtual machine has switched from a first protocol to a second protocol, the first and second protocols including a high-performance transmission protocol and Transmission Control Protocol and Internet Protocol (TCP/IP). The client virtual machine transmits the system call to the appliance virtual machine according to the second protocol. For example, the established connection may switch to the second protocol in response to the client virtual machine migrating to the first host device from a second host device.
    Type: Application
    Filed: January 8, 2019
    Publication date: May 9, 2019
    Inventors: Lawrence SPRACKLEN, Hari SIVARAMAN, Vikram MAKHIJA, Rishi BIDARKAR
  • Patent number: 10255667
    Abstract: Techniques are described for improving the measurement of visual perception of graphical user interface (GUI) information remoted to client devices in virtual desktop environments, such as VDI and DAAS. An objective image quality measurement of remoted virtual desktop interfaces is computed, that is more accurate and more closely aligned with subjective user perception. The visual quality metric is computed using a linear fusion model that combines a peak signal to noise ratio (PSNR) score of the distorted image, a structural similarity (SSIM) score of the distorted image and a feature similarity (FSIM) score of the distorted image. Prior to using the model to compute the quantitative visual perception metric, the linear fusion model is trained by using a benchmark test database of reference images (e.g., virtual desktop interface images), distorted versions of those images and subjective human visual perception quality ratings associated with each distorted version.
    Type: Grant
    Filed: July 19, 2016
    Date of Patent: April 9, 2019
    Assignee: VMware, Inc.
    Inventors: Xingze He, Banit Agrawal, Rishi Bidarkar, Hari Sivaraman, Uday Kurkure
  • Patent number: 10180852
    Abstract: Exemplary methods, apparatuses, and systems include a client virtual machine processing a system call for a device driver to instruct a physical device to perform a function and transmitting the system call to an appliance virtual machine to execute the system call. The client virtual machine determines, in response to the system call, that an established connection with the appliance virtual machine has switched from a first protocol to a second protocol, the first and second protocols including a high-performance transmission protocol and Transmission Control Protocol and Internet Protocol (TCP/IP). The client virtual machine transmits the system call to the appliance virtual machine according to the second protocol. For example, the established connection may switch to the second protocol in response to the client virtual machine migrating to the first host device from a second host device.
    Type: Grant
    Filed: June 4, 2013
    Date of Patent: January 15, 2019
    Assignee: VMware, Inc.
    Inventors: Lawrence Spracklen, Hari Sivaraman, Vikram Makhija, Rishi Bidarkar
  • Patent number: 10007543
    Abstract: Exemplary methods, apparatuses, and systems receive a first instruction set from a first virtual machine (VM), the first instruction set including a request to perform an operation on an input. A first identifier is generated based upon the operation and the input. The first identifier is mapped to a stored copy of the input, the operation, and an output resulting from a processor performing the operation. In response to receiving a second instruction set from a second VM, a second identifier is generated based upon the input and operation received within the second instruction set. In response to determining that the second identifier matches the stored first identifier, it is further determined that the input and operation of the first instruction set matches the input and operation of the second instruction set. A copy of the stored output is returned to the second VM.
    Type: Grant
    Filed: June 19, 2014
    Date of Patent: June 26, 2018
    Assignee: VMWARE, INC.
    Inventors: Rishi Bidarkar, Hari Sivaraman, Banit Agrawal