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: 20210295493Abstract: 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: ApplicationFiled: March 18, 2020Publication date: September 23, 2021Inventors: Lan VU, Hari SIVARAMAN, Uday Pundalik KURKURE, Xuwen YU
-
Publication number: 20210295096Abstract: 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: ApplicationFiled: March 18, 2020Publication date: September 23, 2021Inventors: Lan VU, Hari SIVARAMAN, Uday Pundalik KURKURE, Xuwen YU
-
Patent number: 11113782Abstract: 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: GrantFiled: October 15, 2019Date of Patent: September 7, 2021Assignee: VMware, Inc.Inventors: Chandra Prakash, Anshuj Garg, Uday Pundalik Kurkure, Hari Sivaraman, Lan Vu, Sairam Veeraswamy
-
Publication number: 20210216375Abstract: 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: ApplicationFiled: January 14, 2020Publication date: July 15, 2021Inventors: Hari Sivaraman, Uday Pundalik Kurkure, Lan VU
-
Patent number: 11055568Abstract: 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: GrantFiled: July 26, 2019Date of Patent: July 6, 2021Assignee: VMware, Inc.Inventors: Lan Vu, Uday Kurkure, Hari Sivaraman, Aravind Kumar Rao Bappanadu, Mohit Mangal
-
Patent number: 11048561Abstract: 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: GrantFiled: July 23, 2019Date of Patent: June 29, 2021Assignee: VMware, Inc.Inventors: Uday Pundalik Kurkure, Hari Sivaraman, Lan Vu
-
Publication number: 20210110506Abstract: 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: ApplicationFiled: October 15, 2019Publication date: April 15, 2021Inventors: Chandra Prakash, Anshuj Garg, Uday Pundalik Kurkure, Hari Sivaraman, Lan VU, Sairam Veeraswamy
-
Publication number: 20210026672Abstract: 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: ApplicationFiled: July 23, 2019Publication date: January 28, 2021Inventors: Uday Pundalik Kurkure, Hari Sivaraman, Lan Vu
-
Publication number: 20210011773Abstract: 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: ApplicationFiled: August 26, 2019Publication date: January 14, 2021Inventors: Anshuj GARG, Uday Pundalik KURKURE, Hari SIVARAMAN, Lan VU
-
Publication number: 20210011751Abstract: 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: ApplicationFiled: August 26, 2019Publication date: January 14, 2021Inventors: ANSHUJ GARG, UDAY PUNDALIK KURKURE, HARI SIVARAMAN, LAN VU
-
Publication number: 20210012155Abstract: 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: ApplicationFiled: July 26, 2019Publication date: January 14, 2021Inventors: LAN VU, UDAY KURKURE, HARI SIVARAMAN, ARAVIND KUMAR RAO BAPPANADU, MOHIT MANGAL
-
Publication number: 20200372360Abstract: 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: ApplicationFiled: May 20, 2019Publication date: November 26, 2020Inventors: Lan VU, Dimitrios SKARLATOS, Aravind BAPPANADU, Hari SIVARAMAN, Uday KURKURE, Vijayaraghavan SOUNDARARAJAN
-
Publication number: 20200280544Abstract: 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: ApplicationFiled: February 28, 2019Publication date: September 3, 2020Inventors: Hari SIVARAMAN, Uday KURKURE, Lan VU, Vijayaraghavan SOUNDARARAJAN
-
Publication number: 20190347137Abstract: 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: ApplicationFiled: April 24, 2019Publication date: November 14, 2019Inventors: HARI SIVARAMAN, UDAY PUNDALIK KURKURE, LAN VU, ANSHUJ GARG
-
Patent number: 10417026Abstract: 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: GrantFiled: December 15, 2016Date of Patent: September 17, 2019Assignee: VMware, Inc.Inventors: Lan Vu, Hari Sivaraman, Rishi Bidarkar
-
Publication number: 20170097837Abstract: 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: ApplicationFiled: December 15, 2016Publication date: April 6, 2017Applicant: VMware, Inc.Inventors: Lan Vu, Hari Sivaraman, Rishi Bidarkar
-
Patent number: 9529628Abstract: 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: GrantFiled: March 21, 2014Date of Patent: December 27, 2016Assignee: VMware, Inc.Inventors: Lan Vu, Hari Sivaraman, Rishi Bidarkar
-
Publication number: 20150268978Abstract: 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: ApplicationFiled: March 21, 2014Publication date: September 24, 2015Applicant: Vmware, Inc.Inventors: Lan Vu, Hari Sivaraman, Rishi Bidarkar
-
Publication number: 20070233874Abstract: 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: ApplicationFiled: May 31, 2007Publication date: October 4, 2007Inventor: Lan Vu
-
Publication number: 20060230446Abstract: 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: ApplicationFiled: April 6, 2005Publication date: October 12, 2006Inventor: Lan Vu