Patents by Inventor Boon S. Ang

Boon S. Ang 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: 11928502
    Abstract: Some embodiments provide a method for scheduling networking threads associated with a data compute node (DCN) executing at a host computer. When a virtual networking device is instantiated for the DCN, the method assigns the virtual networking device to a particular non-uniform memory access (NUMA) node of multiple NUMA nodes associated with the DCN. Based on the assignment of the virtual networking device to the particular NUMA node, the method assigns networking threads associated with the DCN to the same particular NUMA node and provides information to the DCN regarding the particular NUMA node in order for the DCN to assign a thread associated with an application executing on the DCN to the same particular NUMA node.
    Type: Grant
    Filed: April 29, 2021
    Date of Patent: March 12, 2024
    Assignee: VMware LLC
    Inventors: Rishi Mehta, Boon S. Ang, Petr Vandrovec, Xunjia Lu
  • Patent number: 11863376
    Abstract: Some embodiments provide a method for a first smart NIC of multiple smart NICs of a host computer. Each of the smart NICs is for performing virtual networking operations for a set of data compute machines executing on the host computer. The method determines that the first smart NIC is elected to communicate with a network management and control system that configures the virtual networking operations. The method receives a set of configuration data for the virtual networking operations from the network management and control system. The method provides the received set of configuration data to the other smart NICs of the host computer.
    Type: Grant
    Filed: December 22, 2021
    Date of Patent: January 2, 2024
    Assignee: VMWARE, INC.
    Inventors: Boon S. Ang, Wenyi Jiang, Guolin Yang, Jin Heo
  • Publication number: 20230396563
    Abstract: Some embodiments of the invention provide a method for configuring a physical network card or physical network controller (pNIC) to provide flow processing offload (FPO) for a host computer connected to the pNIC. The host computers host a set of compute nodes in a virtual network. The set of compute nodes are each associated with a set of interfaces that are each assigned a locally-unique virtual port identifier (VPID) by a flow processing and action generator. The pNIC includes a set of interfaces that are assigned physical port identifiers (PPIDs) by the pNIC. The method includes providing the pNIC with a set of mappings between VPIDs and PPIDs. The method also includes sending updates to the mappings as compute nodes migrate, connect to different interfaces of the pNIC, are assigned different VPIDs, etc.
    Type: Application
    Filed: August 20, 2023
    Publication date: December 7, 2023
    Inventors: Boon S. Ang, Wenyi Jiang, Guolin Yang, Jin Heo, Srividya Murali
  • Publication number: 20230370429
    Abstract: Some embodiments of the invention provide a method of upgrading a firewall module executing on a host computer to process traffic sent to and from machines executing on the host computer. While a first version of the firewall module executes on the host computer to process the traffic to and from the machines, the method loads a second version of the firewall module alongside the first version of the firewall module. For each of multiple ports associated with machines executing on the host computer for which the firewall module processes traffic sent to and from the port, the method saves a runtime state of the first version that relates to the port, transfers association of a firewall filter associated with the port from the first version to the second version, and restores the saved runtime state for the port to the second version.
    Type: Application
    Filed: July 28, 2023
    Publication date: November 16, 2023
    Inventors: Vignesh Raghuraman, Guolin Yang, Boon S. Ang, Prerit Rodney, Rajeev Nair, Ashwin Mahesh Shroff
  • Patent number: 11792134
    Abstract: Some embodiments of the invention provide a method for configuring a physical network card or physical network controller (pNIC) to provide flow processing offload (FPO) for a host computer connected to the pNIC. The host computers host a set of compute nodes in a virtual network. The set of compute nodes are each associated with a set of interfaces that are each assigned a locally-unique virtual port identifier (VPID) by a flow processing and action generator. The pNIC includes a set of interfaces that are assigned physical port identifiers (PPIDs) by the pNIC. The method includes providing the pNIC with a set of mappings between VPIDs and PPIDs. The method also includes sending updates to the mappings as compute nodes migrate, connect to different interfaces of the pNIC, are assigned different VPIDs, etc.
    Type: Grant
    Filed: December 8, 2020
    Date of Patent: October 17, 2023
    Assignee: VMWARE, INC.
    Inventors: Boon S. Ang, Wenyi Jiang, Guolin Yang, Jin Heo, Srividya Murali
  • Patent number: 11740887
    Abstract: Some embodiments of the invention provide a method of upgrading software defined networking (SDN) modules executing on a host computer. While a first version of the SDN modules is executing on the host computer to perform traffic processing, the method loads a second version of the SDN modules alongside the first version of the SDN modules such that the first and second versions of the SDN modules are executing on the host computer at the same time. The method saves runtime states from the first version of the SDN modules, and transfers responsibility for performing traffic processing from the first version of the SDN modules to the second version of the SDN modules. The method then restores the saved runtime states to the second version of the SDN modules.
    Type: Grant
    Filed: April 6, 2021
    Date of Patent: August 29, 2023
    Assignee: VMWARE, INC.
    Inventors: Vignesh Raghuraman, Guolin Yang, Boon S. Ang, Prerit Rodney, Rajeev Nair, Ashwin Mahesh Shroff
  • Patent number: 11743234
    Abstract: Some embodiments of the invention provide a method of upgrading a firewall module executing on a host computer to process traffic sent to and from machines executing on the host computer. While a first version of the firewall module executes on the host computer to process the traffic to and from the machines, the method loads a second version of the firewall module alongside the first version of the firewall module. For each of multiple ports associated with machines executing on the host computer for which the firewall module processes traffic sent to and from the port, the method saves a runtime state of the first version that relates to the port, transfers association of a firewall filter associated with the port from the first version to the second version, and restores the saved runtime state for the port to the second version.
    Type: Grant
    Filed: April 6, 2021
    Date of Patent: August 29, 2023
    Assignee: VMWARE, INC.
    Inventors: Vignesh Raghuraman, Guolin Yang, Boon S. Ang, Prerit Rodney, Rajeev Nair, Ashwin Mahesh Shroff
  • Publication number: 20230195488
    Abstract: Some embodiments provide a method for a first smart NIC of multiple smart NICs of a host computer. Each of the smart NICs executes a smart NIC operating system that performs virtual networking operations for a set of data compute machines executing on the host computer. The method receives a data message sent by one of the data compute machines executing on the host computer. The method performs virtual networking operations on the data message to determine that the data message is to be transmitted from a port of a second smart NIC of the multiple smart NICs. The method passes the data message to the second smart NIC via a private communication channel connecting the plurality of smart NICs.
    Type: Application
    Filed: December 22, 2021
    Publication date: June 22, 2023
    Inventors: Boon S. Ang, Wenyi Jiang, Guolin Yang, Jin Heo
  • Publication number: 20230198833
    Abstract: Some embodiments provide a method for a first smart NIC of multiple smart NICs of a host computer. Each of the smart NICs is for performing virtual networking operations for a set of data compute machines executing on the host computer. The method determines that the first smart NIC is elected to communicate with a network management and control system that configures the virtual networking operations. The method receives a set of configuration data for the virtual networking operations from the network management and control system. The method provides the received set of configuration data to the other smart NICs of the host computer.
    Type: Application
    Filed: December 22, 2021
    Publication date: June 22, 2023
    Inventors: Boon S. Ang, Wenyi Jiang, Guolin Yang, Jin Heo
  • Publication number: 20230195675
    Abstract: Some embodiments provide a method for synchronizing state between multiple smart NICs of a host computer that perform operations using dynamic state information. At a first smart NIC of the plurality of smart NICs, the method stores a set of dynamic state information. The method synchronizes the set of dynamic state information across a communication channel that connects the smart NICs so that each of the smart NICs also stores the set of dynamic state information.
    Type: Application
    Filed: December 22, 2021
    Publication date: June 22, 2023
    Inventors: Boon S. Ang, Wenyi Jiang, Guolin Yang, Jin Heo
  • Patent number: 11606310
    Abstract: Some embodiments of the invention provide a method for providing flow processing offload (FPO) for a host computer at a physical network interface card (pNIC) connected to the host computer. A set of compute nodes executing on the host computer are each associated with a set of interfaces that are each assigned a locally-unique virtual port identifier (VPID) by a flow processing and action generator. The pNIC includes a set of interfaces that are assigned physical port identifiers (PPIDs) by the pNIC. The method includes receiving a data message at an interface of the pNIC and matching the data message to a stored flow entry that specifies a destination using a VPID. The method also includes identifying, using the VPID, a PPID as a destination of the received data message by performing a lookup in a mapping table storing a set of VPIDs and a corresponding set of PPIDs and forwarding the data message to an interface of the pNIC associated with the identified PPID.
    Type: Grant
    Filed: December 8, 2020
    Date of Patent: March 14, 2023
    Assignee: VMWARE, INC.
    Inventors: Boon S. Ang, Wenyi Jiang, Guolin Yang, Jin Heo, Srividya Murali
  • Publication number: 20230018548
    Abstract: Some embodiments provide a method of forwarding data messages to a machine that executes on a host computer and has an associated virtual network interface controller (VNIC) also executing on the host computer. The method retrieves data messages from a queue associated with the VNIC and stores these data messages in a first set of buffer data stores associated with the VNIC. When the first buffer set reaches a threshold congestion level, the method stores data messages subsequently retrieved from the VNIC queue in a second set of buffer data stores associated with the VNIC. In some embodiments, a set of one or more processes executing on the machine retrieves the data messages stored in the buffer sets for processing by these processes or other processes.
    Type: Application
    Filed: July 7, 2022
    Publication date: January 19, 2023
    Inventors: Peng Li, Ronak Doshi, Guolin Yang, Boon S. Ang
  • Publication number: 20220350647
    Abstract: Some embodiments provide a method for scheduling networking threads associated with a data compute node (DCN) executing at a host computer. When a virtual networking device is instantiated for the DCN, the method assigns the virtual networking device to a particular non-uniform memory access (NUMA) node of multiple NUMA nodes associated with the DCN. Based on the assignment of the virtual networking device to the particular NUMA node, the method assigns networking threads associated with the DCN to the same particular NUMA node and provides information to the DCN regarding the particular NUMA node in order for the DCN to assign a thread associated with an application executing on the DCN to the same particular NUMA node.
    Type: Application
    Filed: April 29, 2021
    Publication date: November 3, 2022
    Inventors: Rishi Mehta, Boon S. Ang, Petr Vandrovec, Xunjia Lu
  • Publication number: 20220321536
    Abstract: Some embodiments of the invention provide a method of upgrading a firewall module executing on a host computer to process traffic sent to and from machines executing on the host computer. While a first version of the firewall module executes on the host computer to process the traffic to and from the machines, the method loads a second version of the firewall module alongside the first version of the firewall module. For each of multiple ports associated with machines executing on the host computer for which the firewall module processes traffic sent to and from the port, the method saves a runtime state of the first version that relates to the port, transfers association of a firewall filter associated with the port from the first version to the second version, and restores the saved runtime state for the port to the second version.
    Type: Application
    Filed: April 6, 2021
    Publication date: October 6, 2022
    Inventors: Vignesh Raghuraman, Guolin Yang, Boon S. Ang, Prerit Rodney, Rajeev Nair, Ashwin Mahesh Shroff
  • Publication number: 20220317990
    Abstract: Some embodiments of the invention provide a method of upgrading software defined networking (SDN) modules executing on a host computer. While a first version of the SDN modules is executing on the host computer to perform traffic processing, the method loads a second version of the SDN modules alongside the first version of the SDN modules such that the first and second versions of the SDN modules are executing on the host computer at the same time. The method saves runtime states from the first version of the SDN modules, and transfers responsibility for performing traffic processing from the first version of the SDN modules to the second version of the SDN modules. The method then restores the saved runtime states to the second version of the SDN modules.
    Type: Application
    Filed: April 6, 2021
    Publication date: October 6, 2022
    Inventors: Vignesh Raghuraman, Guolin Yang, Boon S. Ang, Prerit Rodney, Rajeev Nair, Ashwin Mahesh Shroff
  • Publication number: 20220103478
    Abstract: Some embodiments of the invention provide a method for providing flow processing offload (FPO) for a host computer at a physical network interface card (pNIC) connected to the host computer. A set of compute nodes executing on the host computer are each associated with a set of interfaces that are each assigned a locally-unique virtual port identifier (VPID) by a flow processing and action generator. The pNIC includes a set of interfaces that are assigned physical port identifiers (PPIDs) by the pNIC. The method includes receiving a data message at an interface of the pNIC and matching the data message to a stored flow entry that specifies a destination using a VPID. The method also includes identifying, using the VPID, a PPID as a destination of the received data message by performing a lookup in a mapping table storing a set of VPIDs and a corresponding set of PPIDs and forwarding the data message to an interface of the pNIC associated with the identified PPID.
    Type: Application
    Filed: December 8, 2020
    Publication date: March 31, 2022
    Inventors: Boon S. Ang, Wenyi Jiang, Guolin Yang, Jin Heo, Srividya Murali
  • Publication number: 20220103487
    Abstract: Some embodiments of the invention provide a method for configuring a physical network card or physical network controller (pNIC) to provide flow processing offload (FPO) for a host computer connected to the pNIC. The host computers host a set of compute nodes in a virtual network. The set of compute nodes are each associated with a set of interfaces that are each assigned a locally-unique virtual port identifier (VPID) by a flow processing and action generator. The pNIC includes a set of interfaces that are assigned physical port identifiers (PPIDs) by the pNIC. The method includes providing the pNIC with a set of mappings between VPIDs and PPIDs. The method also includes sending updates to the mappings as compute nodes migrate, connect to different interfaces of the pNIC, are assigned different VPIDs, etc.
    Type: Application
    Filed: December 8, 2020
    Publication date: March 31, 2022
    Inventors: Boon S. Ang, Wenyi Jiang, Guolin Yang, Jin Heo, Srividya Murali
  • Publication number: 20220103488
    Abstract: Some embodiments of the invention provide a method for configuring multiple hardware offload units of a host computer to perform operations on packets associated with machines (e.g., virtual machines or containers) executing on the host computer and to pass the packets between each other efficiently. For instance, in some embodiments, the method configures a program executing on the host computer to identify a first hardware offload unit that has to perform a first operation on a packet associated with a particular machine and to provide the packet to the first hardware offload unit. The packet in some embodiments is a packet that the particular machine has sent to a destination machine on the network, or is a packet received from a source machine through a network and destined to the particular machine.
    Type: Application
    Filed: November 6, 2020
    Publication date: March 31, 2022
    Inventors: Yong Wang, Boon S. Ang, Guolin Yang, Wenyi Jiang
  • Patent number: 6370622
    Abstract: Curious caching improves upon cache snooping by allowing a snooping cache to insert data from snooped bus operations that is not currently in the cache and independent of any prior accesses to the associated memory location. In addition, curious caching allows software to specify which data producing bus operations, e.g., reads and writes, result in data being inserted into the cache. This is implemented by specifying “memory regions of curiosity” and insertion and replacement policy actions for those regions. In column caching, the replacement of data can be restricted to particular regions of the cache. By also making the replacement address-dependent, column caching allows different regions of memory to be mapped to different regions of the cache. In a set-associative cache, a replacement policy specifies the particular column(s) of the set-associative cache in which a page of data can be stored.
    Type: Grant
    Filed: November 19, 1999
    Date of Patent: April 9, 2002
    Assignee: Massachusetts Institute of Technology
    Inventors: Derek Chiou, Boon S. Ang