Patents by Inventor Lenin Singaravelu

Lenin Singaravelu 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: 9843540
    Abstract: Some embodiments provide a queue management system that efficiently and dynamically manages multiple queues that process traffic to and from multiple virtual machines (VMs) executing on a host. This system manages the queues by (1) breaking up the queues into different priority pools with the higher priority pools reserved for particular types of traffic or VM (e.g., traffic for VMs that need low latency), (2) dynamically adjusting the number of queues in each pool (i.e., dynamically adjusting the size of the pools), (3) dynamically reassigning a VM to a new queue based on one or more optimization criteria (e.g., criteria relating to the underutilization or overutilization of the queue).
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: December 12, 2017
    Assignee: VMware, Inc.
    Inventors: Shilpi Agarwal, Lenin Singaravelu, Ayyappan Veeraiyan, Chien-Chia Chen
  • Publication number: 20170331723
    Abstract: In order to facilitate efficient and scalable lookup of current hop limits of transmitted packets, a communications device embeds hop limit values along with other connection parameters in a connection data structure. To transmit a packet for a particular connection, the communications device retrieves the data structure for the particular connection and applies the hop limit value embedded in the data structure to the packet for transmission. To keep track of the hop limits being embedded in different data structures of different connections, the communications device use a binary search in which each node of the search tree correspond to a different connection. The communications device maintains one such search tree per communications interface.
    Type: Application
    Filed: May 29, 2017
    Publication date: November 16, 2017
    Inventors: Amitabha Banerjee, Lenin Singaravelu
  • Publication number: 20170310571
    Abstract: A method of optimizing network processing in a system comprising a physical host and a set of physical network interface controllers (PNICs) is provided. The physical host includes a forwarding element. The method includes determining that a set of conditions is satisfied to bypass the forwarding element for exchanging packets between a particular data compute node (DCN) and a particular PNIC. The set of conditions includes the particular DCN being the only DCN connected to the forwarding element and the particular PNIC being the only PNIC connected to the forwarding element. The method exchanges packets between the particular DCN and the particular PNIC bypassing the forwarding element. The method determines that at least one condition in said set of conditions is not satisfied. The method utilizes the forwarding element to exchange packets between the particular DCN and the particular PNIC.
    Type: Application
    Filed: June 30, 2017
    Publication date: October 26, 2017
    Inventors: Lenin Singaravelu, Jin Heo, Jui-Ting Weng, Ayyappan Veeraiyan, Yong Wang
  • Publication number: 20170308394
    Abstract: A host computer has a plurality of containers including a first container executing therein, where the host also includes a physical network interface controller (NIC). A packet handling interrupt is detected upon receipt of a first data packet associated with the first container. If the first virtual machine is latency sensitive, then the packet handling interrupt is processed. If the first virtual machine is not latency sensitive, then the first data packet is queued and and processing of the packet handling interrupt is delayed.
    Type: Application
    Filed: July 10, 2017
    Publication date: October 26, 2017
    Inventors: Haoqiang ZHENG, Lenin SINGARAVELU, Shilpi AGARWAL, Daniel Michael HECHT, Garrett SMITH
  • Publication number: 20170249186
    Abstract: A host computer has one or more physical central processing units (CPUs) that support the execution of a plurality of containers, where the containers each include one or more processes. Each process of a container is assigned to execute exclusively on a corresponding physical CPU when the corresponding container is determined to be latency sensitive. The assignment of a process to execute exclusively on a corresponding physical CPU includes the migration of tasks from the corresponding physical CPU to one or more other physical CPUs of the host system, and the directing of task and interrupt processing to the one or more other physical CPUs. Tasks of of the process corresponding to the container are then executed on the corresponding physical CPU.
    Type: Application
    Filed: May 11, 2017
    Publication date: August 31, 2017
    Inventors: Haoqiang ZHENG, Lenin SINGARAVELU, Shilpi AGARWAL, Daniel Michael HECHT, Garrett SMITH
  • Patent number: 9703589
    Abstract: A host computer has a plurality of containers including a first container executing therein, where the host also includes a physical network interface controller (NIC). A packet handling interrupt is detected upon receipt of a first data packet associated with the first container If the first virtual machine is latency sensitive, then the packet handling interrupt is processed. If the first virtual machine is not latency sensitive, then the first data packet is queued and processing of the packet handling interrupt is delayed.
    Type: Grant
    Filed: August 25, 2014
    Date of Patent: July 11, 2017
    Assignee: VMware, Inc.
    Inventors: Haoqiang Zheng, Lenin Singaravelu, Shilpi Agarwal, Daniel Michael Hecht, Garrett Smith
  • Patent number: 9699060
    Abstract: A method of high packet rate network processing in a system that includes a physical host and a set of physical network interface controllers (PNICs). The physical host is hosting a set of data compute nodes (DCNs). Each DCN includes a virtual network interface controller (VNIC) for communicating with one or more PNICs to exchange packets. The method determines that a rate of packets received from a particular DCN at the VNIC of the particular DCN exceeds a predetermined threshold. The method performs polling to determine the availability of packets received at the VNIC from the particular DCN while the rate of packets received from the DCN at the VNIC is exceeding the threshold. The method utilizes interrupts to determine the availability of packets received at the VNIC from the particular DCN while the rate of packets received from the DCN at the VNIC does not exceed the threshold.
    Type: Grant
    Filed: December 17, 2014
    Date of Patent: July 4, 2017
    Assignee: VMware, Inc.
    Inventors: Lenin Singaravelu, Jin Heo, Jui-Ting Weng, Ayyappan Veeraiyan, Yong Wang
  • Patent number: 9667528
    Abstract: In order to facilitate efficient and scalable lookup of current hop limits of transmitted packets, a communications device embeds hop limit values along with other connection parameters in a connection data structure. To transmit a packet for a particular connection, the communications device retrieves the data structure for the particular connection and applies the hop limit value embedded in the data structure to the packet for transmission. To keep track of the hop limits being embedded in different data structures of different connections, the communications device use a binary search in which each node of the search tree correspond to a different connection. The communications device maintains one such search tree per communications interface.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: May 30, 2017
    Assignee: VMware, Inc.
    Inventors: Amitabha Banerjee, Lenin Singaravelu
  • Patent number: 9652280
    Abstract: A host computer has one or more physical central processing units (CPUs) that support the execution of a plurality of containers, where the containers each include one or more processes. Each process of a container is assigned to execute exclusively on a corresponding physical CPU when the corresponding container is determined to be latency sensitive. The assignment of a process to execute exclusively on a corresponding physical CPU includes the migration of tasks from the corresponding physical CPU to one or more other physical CPUs of the host system, and the directing of task and interrupt processing to the one or more other physical CPUs. Tasks of the process corresponding to the container are then executed on the corresponding physical CPU.
    Type: Grant
    Filed: February 15, 2016
    Date of Patent: May 16, 2017
    Assignee: VMware, Inc.
    Inventors: Haoqiang Zheng, Lenin Singaravelu, Shilpi Agarwal, Daniel Michael Hecht, Garrett Smith
  • Patent number: 9571426
    Abstract: Some embodiments provide a queue management system that efficiently and dynamically manages multiple queues that process traffic to and from multiple virtual machines (VMs) executing on a host. This system manages the queues by (1) breaking up the queues into different priority pools with the higher priority pools reserved for particular types of traffic or VM (e.g., traffic for VMs that need low latency), (2) dynamically adjusting the number of queues in each pool (i.e., dynamically adjusting the size of the pools), (3) dynamically reassigning a VM to a new queue based on one or more optimization criteria (e.g., criteria relating to the underutilization or overutilization of the queue).
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: February 14, 2017
    Assignee: VMware, Inc.
    Inventors: Shilpi Agarwal, Lenin Singaravelu, Ayyappan Veeraiyan, Chien-Chia Chen
  • Patent number: 9552216
    Abstract: A host computer has a plurality of virtual machines executing therein under the control of a hypervisor, where the host also includes a physical network interface controller (NIC). An interrupt controller detects an interrupt generated by the physical NIC, where the interrupt corresponds to a virtual machine. If the virtual machine has exclusive affinity to one or more physical central processing units (CPUs), then the interrupt is forwarded to the virtual machine. If the virtual machine does not have exclusive affinity, then a process in the hypervisor is invoked to forward the interrupt to the virtual machine.
    Type: Grant
    Filed: August 25, 2014
    Date of Patent: January 24, 2017
    Assignee: VMware, Inc.
    Inventors: Haoqiang Zheng, Lenin Singaravelu, Shilpi Agarwal, Daniel Michael Hecht, Garrett Smith
  • Publication number: 20170005931
    Abstract: Techniques disclosed herein provide an approach for using receive side scaling (RSS) offloads from a physical network interface controller (PNIC) to improve the performance of a virtual network interface controller (VNIC). In one embodiment, the PNIC is configured to write hash values it computes for RSS purposes to packets themselves. The VNIC then reads the hash values from the packets and places the packets into VNIC RSS queues, which are processed by respective CPUs, based on the hash values. CPU overhead is thereby reduced, as RSS processing by the VNIC no longer requires computing hash values. In another embodiment in which the number of PNIC RSS queues and VNIC RSS queues are identical, the VNIC may map packets from PNIC RSS queues to VNIC RSS queues using the PNIC RSS queue ID numbers, which also does not require the computing RSS hash values.
    Type: Application
    Filed: June 30, 2015
    Publication date: January 5, 2017
    Inventors: Rishi MEHTA, Lenin SINGARAVELU
  • Publication number: 20160253192
    Abstract: A tuning engine for a virtualized computing system is described that periodically collect performance metrics from the virtualized computing system, and detects whether a change in system state has occurred based on the collected metrics. The tuning engine may determine whether the virtualized computing system is densely virtualized, and accordingly modify operations and configuration settings of various components in charge of handling networking for the virtualized computing system.
    Type: Application
    Filed: June 23, 2015
    Publication date: September 1, 2016
    Inventors: Lenin SINGARAVELU, Chien-Chia CHEN
  • Publication number: 20160224370
    Abstract: A host computer has a virtualization software that supports execution of a plurality of virtual machines, where the virtualization software includes a virtual machine monitor for each of the virtual machines, and where each virtual machine monitor emulates a virtual central processing unit (CPU) for a corresponding virtual machine. A virtual machine monitor halts execution of a virtual CPU of a virtual machine by receiving a first halt instruction from a corresponding virtual machine and determining whether the virtual machine is latency sensitive. If the virtual machine is latency sensitive, then a second halt instruction is issued from the virtual machine monitor to halt a physical CPU on which the virtual CPU executes. If the virtual machine is not latency sensitive, then a system call to a kernel executing on the host computer is executed to indicate to the kernel that the virtual CPU is in an idle state.
    Type: Application
    Filed: April 12, 2016
    Publication date: August 4, 2016
    Inventors: Haoqiang ZHENG, Lenin SINGARAVELU, Shilpi AGARWAL, Daniel Michael HECHT, Garrett SMITH
  • Publication number: 20160182382
    Abstract: A method of optimizing network processing in a system comprising a physical host and a set of physical network interface controllers (PNICs) is provided. The physical host includes a forwarding element. The method includes determining that a set of conditions is satisfied to bypass the forwarding element for exchanging packets between a particular data compute node (DCN) and a particular PNIC. The set of conditions includes the particular DCN being the only DCN connected to the forwarding element and the particular PNIC being the only PNIC connected to the forwarding element. The method exchanges packets between the particular DCN and the particular PNIC bypassing the forwarding element. The method determines that at least one condition in said set of conditions is not satisfied. The method utilizes the forwarding element to exchange packets between the particular DCN and the particular PNIC.
    Type: Application
    Filed: December 17, 2014
    Publication date: June 23, 2016
    Inventors: Lenin Singaravelu, Jin Heo, Jui-Ting Weng, Ayyappan Veeraiyan, Yong Wang
  • Publication number: 20160182342
    Abstract: A method of high packet rate network processing in a system that includes a physical host and a set of physical network interface controllers (PNICs). The physical host is hosting a set of data compute nodes (DCNs). Each DCN includes a virtual network interface controller (VNIC) for communicating with one or more PNICs to exchange packets. The method determines that a rate of packets received from a particular DCN at the VNIC of the particular DCN exceeds a predetermined threshold. The method performs polling to determine the availability of packets received at the VNIC from the particular DCN while the rate of packets received from the DCN at the VNIC is exceeding the threshold. The method utilizes interrupts to determine the availability of packets received at the VNIC from the particular DCN while the rate of packets received from the DCN at the VNIC does not exceed the threshold.
    Type: Application
    Filed: December 17, 2014
    Publication date: June 23, 2016
    Inventors: Lenin Singaravelu, Jin Heo, Jui-Ting Weng, Ayyappan Veeraiyan, Yong Wang
  • Publication number: 20160162336
    Abstract: A host computer has one or more physical central processing units (CPUs) that support the execution of a plurality of containers, where the containers each include one or more processes. Each process of a container is assigned to execute exclusively on a corresponding physical CPU when the corresponding container is determined to be latency sensitive. The assignment of a process to execute exclusively on a corresponding physical CPU includes the migration of tasks from the corresponding physical CPU to one or more other physical CPUs of the host system, and the directing of task and interrupt processing to the one or more other physical CPUs. Tasks of the process corresponding to the container are then executed on the corresponding physical CPU.
    Type: Application
    Filed: February 15, 2016
    Publication date: June 9, 2016
    Inventors: Haoqiang ZHENG, Lenin SINGARAVELU, Shilpi AGARWAL, Daniel Michael HECHT, Garrett SMITH
  • Patent number: 9317318
    Abstract: A host computer has a virtualization software that supports execution of a plurality of virtual machines, where the virtualization software includes a virtual machine monitor for each of the virtual machines, and where each virtual machine monitor emulates a virtual central processing unit (CPU) for a corresponding virtual machine. A virtual machine monitor halts execution of a virtual CPU of a virtual machine by receiving a first halt instruction from a corresponding virtual machine and determining whether the virtual machine is latency sensitive. If the virtual machine is latency sensitive, then a second halt instruction is issued from the virtual machine monitor to halt a physical CPU on which the virtual CPU executes. If the virtual machine is not latency sensitive, then a system call to a kernel executing on the host computer is executed to indicate to the kernel that the virtual CPU is in an idle state.
    Type: Grant
    Filed: August 25, 2014
    Date of Patent: April 19, 2016
    Assignee: VMware, Inc.
    Inventors: Haoqiang Zheng, Lenin Singaravelu, Shilpi Agarwal, Daniel Michael Hecht, Garrett Smith
  • Patent number: 9262198
    Abstract: A host computer has one or more physical central processing units (CPUs) that support the execution of a plurality of containers, where the containers each include one or more processes. Each process of a container is assigned to execute exclusively on a corresponding physical CPU when the corresponding container is determined to be latency sensitive. The assignment of a process to execute exclusively on a corresponding physical CPU includes the migration of tasks from the corresponding physical CPU to one or more other physical CPUs of the host system, and the directing of task and interrupt processing to the one or more other physical CPUs. Tasks of the process corresponding to the container are then executed on the corresponding physical CPU.
    Type: Grant
    Filed: August 25, 2014
    Date of Patent: February 16, 2016
    Assignee: VMware, Inc.
    Inventors: Haoqiang Zheng, Lenin Singaravelu, Shilpi Agarwal, Daniel Michael Hecht, Garrett Smith
  • Publication number: 20150281049
    Abstract: In order to facilitate efficient and scalable lookup of current hop limits of transmitted packets, a communications device embeds hop limit values along with other connection parameters in a connection data structure. To transmit a packet for a particular connection, the communications device retrieves the data structure for the particular connection and applies the hop limit value embedded in the data structure to the packet for transmission. To keep track of the hop limits being embedded in different data structures of different connections, the communications device use a binary search in which each node of the search tree correspond to a different connection. The communications device maintains one such search tree per communications interface.
    Type: Application
    Filed: March 31, 2014
    Publication date: October 1, 2015
    Applicant: VMware, Inc.
    Inventors: Amitabha Banerjee, Lenin Singaravelu