Patents by Inventor Lan Vu

Lan Vu 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
  • 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: 20170097837
    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: Application
    Filed: December 15, 2016
    Publication date: April 6, 2017
    Applicant: VMware, Inc.
    Inventors: Lan Vu, Hari Sivaraman, Rishi Bidarkar
  • Patent number: 9529628
    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: March 21, 2014
    Date of Patent: December 27, 2016
    Assignee: VMware, Inc.
    Inventors: Lan Vu, Hari Sivaraman, Rishi Bidarkar
  • Publication number: 20150268978
    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: Application
    Filed: March 21, 2014
    Publication date: September 24, 2015
    Applicant: Vmware, Inc.
    Inventors: Lan Vu, Hari Sivaraman, Rishi Bidarkar
  • Publication number: 20070233874
    Abstract: System and method adapted to multi-cast over the Internet using multiple tiers of servers. Preferably, the content server transmits content to servers in the next lower tier, which may include one or more client servers, using multi-cast, but may use uni-cast. Preferably, each server in all intermediate tiers transmits content to the servers in the next lower tier, which may include one or more client servers, using multi-cast, but may use uni-cast. Each client server transmits to its clients using multi-cast. The quality of a live cast received by each client server may be improved using the more efficient UDP/IP for downloading the bulk of the content and compensating for the occasional lost segments of data using the more reliable TCP/IP.
    Type: Application
    Filed: May 31, 2007
    Publication date: October 4, 2007
    Inventor: Lan Vu
  • Publication number: 20060230446
    Abstract: System and method for operating, via the Internet, a distributed network in which an SSL VPN is employed to establish and manage an IPSec VPN. During network creation, an SSL VPN is first established between a master server and each node. Using a common routing table and a common SSL key table maintained by the master server, each node may selectively establish an IPSec VPN with other nodes. Once established, each node maintains a respective segment of a distributed IPSec key table. Periodically, each client and each server, other than the master server, cooperates with the master server to refresh the master and local copies of the common routing and common SSL key tables, and the local segment of the distributed IPSec key table.
    Type: Application
    Filed: April 6, 2005
    Publication date: October 12, 2006
    Inventor: Lan Vu