Patents by Inventor Rajeev Nair

Rajeev Nair 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: 11003482
    Abstract: Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node.
    Type: Grant
    Filed: June 18, 2019
    Date of Patent: May 11, 2021
    Assignee: VMWARE, INC.
    Inventors: Pierluigi Rolando, Camille Lecuyer, Saahil Gokhale, Rajeev Nair, Yuxiao Zhang, Kantesh Mundaragi, Rahul Mishra, Jayant Jain, Raju Koganty
  • Publication number: 20210083894
    Abstract: Embodiments described herein involve appliance migration. Embodiments include connecting, by a second appliance that is configured to perform a service, to a first uplink and a first downlink of a first appliance that is configured to perform the service. Embodiments include connecting, by the second appliance, to a first endpoint and a second endpoint to which the first appliance is connected. Embodiments include determining, by the second appliance, existing flows processed by the first appliance. Embodiments include processing, by the second appliance, a plurality of packets received via the first endpoint by: forwarding, by the second appliance, first packets of the plurality of packets that correspond to the existing flows to the first appliance; and performing, by the second appliance, the service for second packets of the plurality of packets that do not correspond to the existing flows.
    Type: Application
    Filed: September 13, 2019
    Publication date: March 18, 2021
    Inventors: Sami BOUTROS, Mani KANCHERLA, Jayant JAIN, Ankur DUBEY, Rajeev NAIR
  • Patent number: 10944585
    Abstract: Embodiments described herein involve appliance migration. Embodiments include connecting, by a second appliance that is configured to perform a service, to a first uplink and a first downlink of a first appliance that is configured to perform the service. Embodiments include connecting, by the second appliance, to a first endpoint and a second endpoint to which the first appliance is connected. Embodiments include determining, by the second appliance, existing flows processed by the first appliance. Embodiments include processing, by the second appliance, a plurality of packets received via the first endpoint by: forwarding, by the second appliance, first packets of the plurality of packets that correspond to the existing flows to the first appliance; and performing, by the second appliance, the service for second packets of the plurality of packets that do not correspond to the existing flows.
    Type: Grant
    Filed: September 13, 2019
    Date of Patent: March 9, 2021
    Assignee: VMware, Inc.
    Inventors: Sami Boutros, Mani Kancherla, Jayant Jain, Ankur Dubey, Rajeev Nair
  • Patent number: 10929171
    Abstract: Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node.
    Type: Grant
    Filed: June 18, 2019
    Date of Patent: February 23, 2021
    Assignee: VMWARE, INC.
    Inventors: Saahil Gokhale, Camille Lecuyer, Rajeev Nair, Kantesh Mundaragi, Rahul Mishra, Pierluigi Rolando, Jayant Jain, Raju Koganty
  • Publication number: 20200336571
    Abstract: A method of selecting an egress interface for a source process running on an electronic device is provided. The device implements a TCP/IP stack utilized by a plurality of applications for sending network packets. The method receives a packet from a particular application in the plurality of applications to send to a network destination over a socket tagged with an identifier of the particular application. The method compares the socket tag with a set of network egress interface tags. Each network egress interface tag is associated with a network egress interface in a plurality of network egress interfaces. Each network egress interface tag includes the identifier of an application that utilizes the network egress interface. The method selects a network egress interface with a tag that matches the socket tag. The method sends the packet to the network destination through the selected network egress interface.
    Type: Application
    Filed: July 2, 2020
    Publication date: October 22, 2020
    Inventors: Madhusudhan Ravi, Wilson Wang, Rajeev Nair
  • Publication number: 20200304418
    Abstract: Some embodiments provide a method for managing multiple queues of a network interface card (NIC) of a host computer that executes a data compute node (DCN). The method defines first, second, and third subsets of the queues. The first subset of queues is associated with a first feature for processing data messages received by the NIC, the second subset of queues is associated with a second feature, and the third subset is associated with both features. The method receives a request from the DCN to process data messages addressed to the DCN using both the first and second features. The method configures the NIC to direct data messages received for the DCN to a queue that is selected from the third subset of queues.
    Type: Application
    Filed: June 6, 2020
    Publication date: September 24, 2020
    Inventors: Aditya G. Holla, Rishi Mehta, Boon Ang, Rajeev Nair, Wenyi Jiang
  • Publication number: 20200274826
    Abstract: Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node.
    Type: Application
    Filed: June 18, 2019
    Publication date: August 27, 2020
    Inventors: Rahul Mishra, Camille Lecuyer, Saahil Gokhale, Rajeev Nair, Anuprem Chalvadi, Yang Ping, Kantesh Mundaragi, Pierluigi Rolando, Jayant Jain, Raju Koganty
  • Publication number: 20200274810
    Abstract: Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node.
    Type: Application
    Filed: June 18, 2019
    Publication date: August 27, 2020
    Inventors: Saahil Gokhale, Camille Lecuyer, Rajeev Nair, Kantesh Mundaragi, Rahul Mishra, Pierluigi Rolando, Jayant Jain, Raju Koganty
  • Publication number: 20200274778
    Abstract: Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node.
    Type: Application
    Filed: June 18, 2019
    Publication date: August 27, 2020
    Inventors: Camille Lecuyer, Saahil Gokhale, Rajeev Nair, Kantesh Mundaragi, Rahul Mishra, Pierluigi Rolando, Jayant Jain, Raju Koganty
  • Publication number: 20200274809
    Abstract: Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node.
    Type: Application
    Filed: June 18, 2019
    Publication date: August 27, 2020
    Inventors: Pierluigi Rolando, Camille Lecuyer, Saahil Gokhale, Rajeev Nair, Kantesh Mundaragi, Rahul Mishra, Jayant Jain, Raju Koganty
  • Publication number: 20200272493
    Abstract: Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node.
    Type: Application
    Filed: June 18, 2019
    Publication date: August 27, 2020
    Inventors: Camille Lecuyer, Saahil Gokhale, Rajeev Nair, Anuprem Chalvadi, Yang Ping, Kantesh Mundaragi, Rahul Mishra, Pierluigi Rolando, Jayant Jain, Raju Koganty
  • Publication number: 20200274779
    Abstract: Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node.
    Type: Application
    Filed: June 18, 2019
    Publication date: August 27, 2020
    Inventors: Pierluigi Rolando, Camille Lecuyer, Saahil Gokhale, Rajeev Nair, Yuxiao Zhang, Kantesh Mundaragi, Rahul Mishra, Jayant Jain, Raju Koganty
  • Publication number: 20200272498
    Abstract: Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node.
    Type: Application
    Filed: June 18, 2019
    Publication date: August 27, 2020
    Inventors: Rahul Mishra, Camille Lecuyer, Saahil Gokhale, Rajeev Nair, Kantesh Mundaragi, Pierluigi Rolando, Jayant Jain, Raju Koganty
  • Publication number: 20200274820
    Abstract: An approach for a dynamic provisioning of multiple RSS engines is provided. In an embodiment, a method comprises monitoring a CPU usage of hardware queues implemented in a plurality of RSS pools, and determining whether a CPU usage of any hardware queue, implemented in a particular RSS pool of the plurality of RSS pools, has increased above a threshold value. In response to determining that a CPU usage of a particular hardware queue, implemented in the particular RSS pool, has increased above the threshold value, it is determined whether the particular RSS pool includes an unused hardware queue (a queue with light CPU usage). If such an unused hardware queue is presented, then an indirection table that is associated with the particular RSS pool is modified to remap one or more data flows from the particular hardware queue to the unused hardware queue.
    Type: Application
    Filed: May 6, 2020
    Publication date: August 27, 2020
    Inventors: Aditya G. Holla, Rajeev Nair, Shilpi Agarwal, Subbarao Narahari, Zongyun Lai, Wenyi Jiang, Srikar Tati
  • Publication number: 20200272494
    Abstract: Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node.
    Type: Application
    Filed: June 18, 2019
    Publication date: August 27, 2020
    Inventors: Saahil Gokhale, Camille Lecuyer, Rajeev Nair, Kantesh Mundaragi, Rahul Mishra, Pierluigi Rolando, Jayant Jain, Raju Koganty
  • Patent number: 10735341
    Abstract: An approach for a dynamic provisioning of multiple RSS engines is provided. In an embodiment, a method comprises monitoring a CPU usage of hardware queues implemented in a plurality of RSS pools, and determining whether a CPU usage of any hardware queue, implemented in a particular RSS pool of the plurality of RSS pools, has increased above a threshold value. In response to determining that a CPU usage of a particular hardware queue, implemented in the particular RSS pool, has increased above the threshold value, it is determined whether the particular RSS pool includes an unused hardware queue (a queue with light CPU usage). If such an unused hardware queue is presented, then an indirection table that is associated with the particular RSS pool is modified to remap one or more data flows from the particular hardware queue to the unused hardware queue.
    Type: Grant
    Filed: April 26, 2018
    Date of Patent: August 4, 2020
    Assignee: NICIRA, INC.
    Inventors: Aditya G. Holla, Rajeev Nair, Shilpi Agarwal, Subbarao Narahari, Zongyun Lai, Wenyi Jiang, Srikar Tati
  • Patent number: 10721338
    Abstract: A method of selecting an egress interface for a source process running on an electronic device is provided. The device implements a TCP/IP stack utilized by a plurality of applications for sending network packets. The method receives a packet from a particular application in the plurality of applications to send to a network destination over a socket tagged with an identifier of the particular application. The method compares the socket tag with a set of network egress interface tags. Each network egress interface tag is associated with a network egress interface in a plurality of network egress interfaces. Each network egress interface tag includes the identifier of an application that utilizes the network egress interface. The method selects a network egress interface with a tag that matches the socket tag. The method sends the packet to the network destination through the selected network egress interface.
    Type: Grant
    Filed: July 30, 2018
    Date of Patent: July 21, 2020
    Assignee: NICIRA, INC.
    Inventors: Madhusudhan Ravi, Wilson Wang, Rajeev Nair
  • Patent number: 10686716
    Abstract: Some embodiments provide a method for managing multiple queues of a network interface card (NIC) of a host computer that executes a data compute node (DCN). The method defines first, second, and third subsets of the queues. The first subset of queues is associated with a first feature for processing data messages received by the NIC, the second subset of queues is associated with a second feature, and the third subset is associated with both features. The method receives a request from the DCN to process data messages addressed to the DCN using both the first and second features. The method configures the NIC to direct data messages received for the DCN to a queue that is selected from the third subset of queues.
    Type: Grant
    Filed: July 23, 2018
    Date of Patent: June 16, 2020
    Assignee: VMWARE, INC.
    Inventors: Aditya G. Holla, Rishi Mehta, Boon Ang, Rajeev Nair, Wenyi Jiang
  • Publication number: 20200036636
    Abstract: Some embodiments provide a method for selecting a transmit queue of a network interface card (NIC) of a host computer for an outbound data message. The NIC includes multiple transmit queues and multiple receive queues. Each of the transmit queues is individually associated with a different receive queue, and the MC performs a load balancing operation to distribute inbound data messages among multiple receive queues. The method extracts a set of header values from a header of the outbound data message. The method uses the extracted set of header values to identify a receive queue which the NIC would select for a corresponding inbound data message upon which the NIC performed the load balancing operation. The method selects a transmit queue associated with the identified receive queue to process the outbound data message.
    Type: Application
    Filed: July 25, 2018
    Publication date: January 30, 2020
    Inventors: Aditya G. Holla, Wenyi Jiang, Rajeev Nair, Srikar Tati, Boon Ang, Kairav Padarthy
  • Publication number: 20200028792
    Abstract: Some embodiments provide a method for managing multiple queues of a network interface card (NIC) of a host computer that executes a data compute node (DCN). The method defines first, second, and third subsets of the queues. The first subset of queues is associated with a first feature for processing data messages received by the NIC, the second subset of queues is associated with a second feature, and the third subset is associated with both features. The method receives a request from the DCN to process data messages addressed to the DCN using both the first and second features. The method configures the NIC to direct data messages received for the DCN to a queue that is selected from the third subset of queues.
    Type: Application
    Filed: July 23, 2018
    Publication date: January 23, 2020
    Inventors: Aditya G. Holla, Rishi Mehta, Boon Ang, Rajeev Nair, Wenyi Jiang