Patents by Inventor Wenyi Jiang

Wenyi Jiang 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: 20220303231
    Abstract: In some embodiments, a method fragments a first packet into a plurality of fragments when a length of an encapsulated first packet is larger than a maximum transmission unit size. For each fragment in the plurality of fragments, fragmentation information is generated. The method encapsulates each fragment in the plurality of fragments with an outer header to form a plurality of encapsulated packets. The respective fragmentation information for each fragment is inserted in a portion of the outer header that is processed by endpoints of an overlay tunnel and not processed by a device along a path of the overlay tunnel. The plurality of encapsulated packets are sent via the overlay tunnel.
    Type: Application
    Filed: March 22, 2021
    Publication date: September 22, 2022
    Inventors: Jia YU, Yong WANG, Xinhua HONG, Wenyi JIANG, Guolin YANG, Dexiang WANG
  • Publication number: 20220231970
    Abstract: Example methods and systems for a programmable virtual network interface controller (VNIC) to perform packet processing are described. In one example, the programmable VNIC may modify a packet processing pipeline based on the instruction. The modification may include injecting a second packet processing stage among the multiple first packet processing stages of the packet processing pipeline. In response to detecting an ingress packet that requires processing by the programmable VNIC, the ingress packet may be steered towards the modified packet processing pipeline. The ingress packet may then be processed using the modified packet processing pipeline by performing the second packet processing stage (a) to bypass at least one of the multiple first processing stages, or (b) in addition to the multiple first processing stages.
    Type: Application
    Filed: January 15, 2021
    Publication date: July 21, 2022
    Applicant: VMware, Inc.
    Inventors: Yong WANG, Boon Seong ANG, Wenyi JIANG, Guolin YANG
  • Publication number: 20220191181
    Abstract: A first host receives a packet from a first compute node for a second compute node of a second host. The payload is larger than a maximum transmission unit size. The first packet is encapsulated with an outer header. The first host analyzes a length of at least a portion of the outer header in determining a size of an encrypted segment of the payload. Then, the first host forms a plurality of packets where each packet in the packets includes an encrypted segment of the payload, a respective encryption header, and a respective authentication value. The payload of the first packet is segmented to form a plurality of encrypted segments based on the size. The first host sends the packets to the second host and receives an indication that a packet was not received. A second packet including the encrypted segment is sent to the second compute node.
    Type: Application
    Filed: August 27, 2021
    Publication date: June 16, 2022
    Inventors: Wenyi JIANG, Daniel G. WING, Bin QIAN, Dexiang WANG
  • Patent number: 11356381
    Abstract: A method for managing several queues of a network interface card (NIC) of a computer. The method initially configures the NIC to direct data messages received for a data compute node (DCN) executing on the computer to a default first NIC queue. When the DCN requests data messages addressed to the particular DCN to be processed with a first feature for load balancing data messages across multiple queues and a second feature for aggregating multiple related data messages into a single data message, the method configures the NIC to direct subsequent data messages received for the DCN to a second queue in a first subset of queues associated with the first feature if a load on the default first queue exceeds a first threshold. Otherwise, if a load on the first subset of queues exceeds a second threshold, the method configures the NIC to direct subsequent data messages received for the particular DCN to a third queue in a second subset of queues associated with both the first and second features.
    Type: Grant
    Filed: June 6, 2020
    Date of Patent: June 7, 2022
    Assignee: VMWARE, INC.
    Inventors: Aditya G. Holla, Rishi Mehta, Boon Ang, Rajeev Nair, Wenyi Jiang
  • Patent number: 11340932
    Abstract: Example methods and systems for packet handling based on a multiprocessor architecture configuration are provided. One example method may comprise: in response to receiving a first ingress packet that requires processing by a first virtual central processing unit (VCPU) running on the first node, steering the first ingress packet towards a first receive (RX) queue and performing local memory access on the first node to access the first ingress packet from the first RX queue. The method may also comprise: in response to receiving a second ingress packet that requires processing by a second VCPU running on the second node, steering the second ingress packet towards a second RX queue and performing local memory access on the second node to access the second ingress packet from the second RX queue.
    Type: Grant
    Filed: January 23, 2020
    Date of Patent: May 24, 2022
    Assignee: VMWARE, INC.
    Inventors: Yong Wang, Boon Seong Ang, Guolin Yang, Wenyi Jiang
  • Publication number: 20220158942
    Abstract: In some embodiments, a method determines when a packet is fragmented into multiple fragmented packets in a flow between a first workload and a second workload. The method switches from generating an outer source port in the outer header using layer 4 information from the inner header to using layer 3 information from the inner header. A fragmented packet is encapsulated with the outer header that includes an outer source port value that is generated using the layer 3 information. The method initiates a process to determine when to switch back to using layer 4 information from the inner header to generate the outer source port. When it is determined to switch back to using layer 4 information, the method switches back to using layer 4 information from the inner header to generate the source port in the outer header of a packet from the first workload.
    Type: Application
    Filed: February 7, 2022
    Publication date: May 19, 2022
    Inventors: Subin Cyriac MATHEW, Dileep DEVIREDDY, Alexander TESSMER, Wenyi JIANG, Chidambareswaran RAMAN
  • 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
  • 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: 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
  • Patent number: 11277382
    Abstract: Example methods and computer systems are provided for filter-based packet handling at a virtual network adapter. The method may comprise: receiving an ingress packet destined for the virtualized computing instance that is supported by the host and connected to the virtual network adapter; and matching the ingress packet to one of multiple filters configured for the virtual network adapter. The multiple filters may include a first filter specifying one or more first packet characteristics and a second filter specifying one or more second packet characteristics. The method may also comprise: in response to matching the ingress packet to the first filter, assigning the ingress packet to a first packet queue; and in response to matching the ingress packet to the second filter, assigning the ingress packet to a second packet queue.
    Type: Grant
    Filed: July 22, 2019
    Date of Patent: March 15, 2022
    Assignee: VMWARE, INC.
    Inventors: Peng Li, Guolin Yang, Yong Wang, Wenyi Jiang, Boon Seong Ang
  • Patent number: 11245629
    Abstract: In some embodiments, a method determines when a packet is fragmented into multiple fragmented packets in a flow between a first workload and a second workload. The method switches from generating an outer source port in the outer header using layer 4 information from the inner header to using layer 3 information from the inner header. A fragmented packet is encapsulated with the outer header that includes an outer source port value that is generated using the layer 3 information. The method initiates a process to determine when to switch back to using layer 4 information from the inner header to generate the outer source port. When it is determined to switch back to using layer 4 information, the method switches back to using layer 4 information from the inner header to generate the source port in the outer header of a packet from the first workload.
    Type: Grant
    Filed: July 9, 2020
    Date of Patent: February 8, 2022
    Assignee: VMware, Inc.
    Inventors: Subin Cyriac Mathew, Dileep Devireddy, Alexander Tessmer, Wenyi Jiang, Chidambareswaran Raman
  • Publication number: 20220029934
    Abstract: Example methods and systems for logical network packet handling are described. In one example, a physical network interface controller (PNIC) may receive an ingress encapsulated packet associated with a packet flow via a physical network. The ingress encapsulated packet may include an outer header and an inner packet that is destined for a virtualized computing instance. The ingress encapsulated packet may be steered towards a processing pipeline for processing to generate a processed packet. The processing pipeline may include (a) retrieving a logical network policy associated with the packet flow from a datastore on the PNIC; and (b) performing decapsulation to remove the outer header and one or more actions on the inner packet according to the logical network policy. The processed packet may be forwarded towards the virtualized computing instance via a virtual function supported by the PNIC or a physical network connected to the PNIC.
    Type: Application
    Filed: July 21, 2020
    Publication date: January 27, 2022
    Applicant: VMware, Inc.
    Inventors: Wenyi JIANG, Boon Seong ANG, Guolin YANG, Ying GROSS
  • Publication number: 20220029858
    Abstract: Example methods and systems for logical network packet handling are described. In one example, a physical network interface controller (PNIC) may receive an egress packet associated with a packet flow via a first virtual function supported by the PNIC. The PNIC may steer the egress packet towards a processing pipeline by applying a filter associated with the first virtual function or content of the egress packet, or both. The egress packet may be processed using the processing pipeline to generate a processed packet by (a) retrieving a logical network policy associated with the packet flow from a datastore on the PNIC and (b) performing one or more actions according to the logical network policy. The processed packet may be forwarded towards the destination via a second virtual function supported by the PNIC or a physical network connected to the PNIC.
    Type: Application
    Filed: July 21, 2020
    Publication date: January 27, 2022
    Applicant: VMware, Inc.
    Inventors: Wenyi JIANG, Boon Seong ANG, Guolin YANG, Ying GROSS
  • Publication number: 20220014470
    Abstract: In some embodiments, a method determines when a packet is fragmented into multiple fragmented packets in a flow between a first workload and a second workload. The method switches from generating an outer source port in the outer header using layer 4 information from the inner header to using layer 3 information from the inner header. A fragmented packet is encapsulated with the outer header that includes an outer source port value that is generated using the layer 3 information. The method initiates a process to determine when to switch back to using layer 4 information from the inner header to generate the outer source port. When it is determined to switch back to using layer 4 information, the method switches back to using layer 4 information from the inner header to generate the source port in the outer header of a packet from the first workload.
    Type: Application
    Filed: July 9, 2020
    Publication date: January 13, 2022
    Inventors: Subin Cyriac MATHEW, Dileep DEVIREDDY, Alexander TESSMER, Wenyi JIANG, Chidambareswaran RAMAN
  • Patent number: 11196651
    Abstract: Some embodiments provide a method for monitoring the status of a network connection between first and second host computers. The method is performed in some embodiments by a tunnel monitor executing on the first host computer that also separately executes a machine, where the machine uses a tunnel to send and receive messages to and from the second host computer. The method establishes a liveness channel with the machine to iteratively determine whether the first machine is operational. The method further establishes a monitoring session with the second host computer to iteratively determine whether the tunnel is operational. When a determination is made through the liveness channel that the machine is no longer operational, the method terminates the monitoring session with the second host computer. When a determination is made that the tunnel is no longer operational, the method notifies the machine through the liveness channel.
    Type: Grant
    Filed: October 23, 2019
    Date of Patent: December 7, 2021
    Assignee: VMWARE, INC.
    Inventors: Yong Wang, Boon Ang, Guolin Yang, Wenyi Jiang
  • Patent number: 11108751
    Abstract: A first host receives a packet from a first compute node for a second compute node of a second host. The payload is larger than a maximum transmission unit size. The first packet is encapsulated with an outer header. The first host analyzes a length of at least a portion of the outer header in determining a size of an encrypted segment of the payload. Then, the first host forms a plurality of packets where each packet in the packets includes an encrypted segment of the payload, a respective encryption header, and a respective authentication value. The payload of the first packet is segmented to form a plurality of encrypted segments based on the size. The first host sends the packets to the second host and receives an indication that a packet was not received. A second packet including the encrypted segment is sent to the second compute node.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: August 31, 2021
    Assignee: NICIRA, INC.
    Inventors: Wenyi Jiang, Daniel G Wing, Bin Qian, Dexiang Wang
  • Publication number: 20210258257
    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 MC 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: May 5, 2021
    Publication date: August 19, 2021
    Inventors: Aditya G. Holla, Wenyi Jiang, Rajeev Nair, Srikar Tati, Boon Ang, Kairav Padarthy
  • Publication number: 20210232417
    Abstract: Example methods and systems for packet handling based on a multiprocessor architecture configuration are provided. One example method may comprise: in response to receiving a first ingress packet that requires processing by a first virtual central processing unit (VCPU) running on the first node, steering the first ingress packet towards a first receive (RX) queue and performing local memory access on the first node to access the first ingress packet from the first RX queue. The method may also comprise: in response to receiving a second ingress packet that requires processing by a second VCPU running on the second node, steering the second ingress packet towards a second RX queue and performing local memory access on the second node to access the second ingress packet from the second RX queue.
    Type: Application
    Filed: January 23, 2020
    Publication date: July 29, 2021
    Applicant: VMware, Inc.
    Inventors: Yong WANG, Boon Seong ANG, Guolin YANG, Wenyi JIANG
  • Patent number: 11025546
    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: Grant
    Filed: July 25, 2018
    Date of Patent: June 1, 2021
    Assignee: VMWARE, INC.
    Inventors: Aditya G. Holla, Wenyi Jiang, Rajeev Nair, Srikar Tati, Boon Ang, Kairav Padarthy
  • Publication number: 20210126848
    Abstract: Some embodiments provide a method for monitoring the status of a network connection between first and second host computers. The method is performed in some embodiments by a tunnel monitor executing on the first host computer that also separately executes a machine, where the machine uses a tunnel to send and receive messages to and from the second host computer. The method establishes a liveness channel with the machine to iteratively determine whether the first machine is operational. The method further establishes a monitoring session with the second host computer to iteratively determine whether the tunnel is operational. When a determination is made through the liveness channel that the machine is no longer operational, the method terminates the monitoring session with the second host computer. When a determination is made that the tunnel is no longer operational, the method notifies the machine through the liveness channel.
    Type: Application
    Filed: October 23, 2019
    Publication date: April 29, 2021
    Inventors: Yong Wang, Boon Ang, Guolin Yang, Wenyi Jiang