Patents by Inventor Jianjun SHEN

Jianjun SHEN 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: 11182352
    Abstract: In an embodiment, a computer-implemented method for dynamically exchanging runtime state data between datacenters using a controller bridge is disclosed. In an embodiment, the method comprises: requesting, and receiving, one or more first runtime state data from one or more logical sharding central control planes (“CCPs”) controlling one or more logical sharding hosts; requesting, and receiving, one or more second runtime state data from one or more physical sharding CCPs controlling one or more physical sharding hosts; aggregating, to aggregated runtime state data, the one or more first runtime state data and the one or more second runtime state data; determining updated runtime state data based on the aggregated runtime state data, the one or more first runtime state data, and the one or more second runtime state data; and transmitting the updated runtime state data to the logical sharding CCPs and physical sharding CCPs.
    Type: Grant
    Filed: August 5, 2019
    Date of Patent: November 23, 2021
    Assignee: VMware, Inc.
    Inventors: Da Wan, Jianjun Shen, Feng Pan, Pankaj Thakkar, Donghai Han
  • Publication number: 20210314239
    Abstract: Some embodiments of the invention provide a method for deploying network elements for a set of machines in a set of one or more datacenters. The datacenter set is part of one availability zone in some embodiments. The method receives intent-based API (Application Programming Interface) requests, and parses these API requests to identify a set of network elements to connect and/or perform services for the set of machines. In some embodiments, the API is a hierarchical document that can specify multiple different compute and/or network elements at different levels of compute and/or network element hierarchy. The method performs automated processes to define a virtual private cloud (VPC) to connect the set of machines to a logical network that segregates the set of machines from other machines in the datacenter set. In some embodiments, the set of machines include virtual machines and containers, the VPC is defined with a supervisor cluster namespace, and the API requests are provided as YAML files.
    Type: Application
    Filed: June 10, 2020
    Publication date: October 7, 2021
    Inventors: Jianjun Shen, Kai Su, Danting Liu, Yang Liu
  • Publication number: 20210314190
    Abstract: Some embodiments of the invention provide a method for deploying network elements for a set of machines in a set of one or more datacenters. The datacenter set is part of one availability zone in some embodiments. The method receives intent-based API (Application Programming Interface) requests, and parses these API requests to identify a set of network elements to connect and/or perform services for the set of machines. In some embodiments, the API is a hierarchical document that can specify multiple different compute and/or network elements at different levels of compute and/or network element hierarchy. The method performs automated processes to define a virtual private cloud (VPC) to connect the set of machines to a logical network that segregates the set of machines from other machines in the datacenter set. In some embodiments, the set of machines include virtual machines and containers, the VPC is defined with a supervisor cluster namespace, and the API requests are provided as YAML files.
    Type: Application
    Filed: June 10, 2020
    Publication date: October 7, 2021
    Inventors: Danting Liu, Jianjun Shen, Kai Su, Qian Sun, Wenfeng Liu, Donghai Han
  • Publication number: 20210314388
    Abstract: Some embodiments of the invention provide a method for deploying network elements for a set of machines in a set of one or more datacenters. The datacenter set is part of one availability zone in some embodiments. The method receives intent-based API (Application Programming Interface) requests, and parses these API requests to identify a set of network elements to connect and/or perform services for the set of machines. In some embodiments, the API is a hierarchical document that can specify multiple different compute and/or network elements at different levels of compute and/or network element hierarchy. The method performs automated processes to define a virtual private cloud (VPC) to connect the set of machines to a logical network that segregates the set of machines from other machines in the datacenter set. In some embodiments, the set of machines include virtual machines and containers, the VPC is defined with a supervisor cluster namespace, and the API requests are provided as YAML files.
    Type: Application
    Filed: June 10, 2020
    Publication date: October 7, 2021
    Inventors: Zhengsheng Zhou, Jianjun Shen, Abhishek Raut, Yang Liu
  • Publication number: 20210314361
    Abstract: Some embodiments of the invention provide a method for deploying network elements for a set of machines in a set of one or more datacenters. The datacenter set is part of one availability zone in some embodiments. The method receives intent-based API (Application Programming Interface) requests, and parses these API requests to identify a set of network elements to connect and/or perform services for the set of machines. In some embodiments, the API is a hierarchical document that can specify multiple different compute and/or network elements at different levels of compute and/or network element hierarchy. The method performs automated processes to define a virtual private cloud (VPC) to connect the set of machines to a logical network that segregates the set of machines from other machines in the datacenter set. In some embodiments, the set of machines include virtual machines and containers, the VPC is defined with a supervisor cluster namespace, and the API requests are provided as YAML, files.
    Type: Application
    Filed: June 10, 2020
    Publication date: October 7, 2021
    Inventors: Zhengsheng Zhou, Abhishek Raut, Jianjun Shen, Donghai Han
  • Publication number: 20210314300
    Abstract: Some embodiments of the invention provide a method for deploying network elements for a set of machines in a set of one or more datacenters. The datacenter set is part of one availability zone in some embodiments. The method receives intent-based API (Application Programming Interface) requests, and parses these API requests to identify a set of network elements to connect and/or perform services for the set of machines. In some embodiments, the API is a hierarchical document that can specify multiple different compute and/or network elements at different levels of compute and/or network element hierarchy. The method performs automated processes to define a virtual private cloud (VPC) to connect the set of machines to a logical network that segregates the set of machines from other machines in the datacenter set. In some embodiments, the set of machines include virtual machines and containers, the VPC is defined with a supervisor cluster namespace, and the API requests are provided as YAML, files.
    Type: Application
    Filed: June 10, 2020
    Publication date: October 7, 2021
    Inventors: Jianjun Shen, Danting Liu, Yang Liu
  • Publication number: 20210314240
    Abstract: Some embodiments of the invention provide a method for deploying network elements for a set of machines in a set of one or more datacenters. The datacenter set is part of one availability zone in some embodiments. The method receives intent-based API (Application Programming Interface) requests, and parses these API requests to identify a set of network elements to connect and/or perform services for the set of machines. In some embodiments, the API is a hierarchical document that can specify multiple different compute and/or network elements at different levels of compute and/or network element hierarchy. The method performs automated processes to define a virtual private cloud (VPC) to connect the set of machines to a logical network that segregates the set of machines from other machines in the datacenter set. In some embodiments, the set of machines include virtual machines and containers, the VPC is defined with a supervisor cluster namespace, and the API requests are provided as YAML files.
    Type: Application
    Filed: June 10, 2020
    Publication date: October 7, 2021
    Inventors: Danting Liu, Jianjun Shen, Abhishek Raut, Wenfeng Liu, Donghai Han
  • Publication number: 20210281508
    Abstract: For a managed network including multiple host machines implementing multiple logical networks, some embodiments provide a method that reduces the memory and traffic load required to implement the multiple logical networks. The method generates configuration data for each of multiple host machines including (i) data to configure a host machine to implement a set of logical forwarding elements that belong to a set of routing domains and (ii) identifiers for each routing domain in the set of routing domains. The method then receives data regarding tunnels endpoints operating on each of the host machines and an association with the routing identifiers sent to the host machines. The method then generates a routing domain tunnel endpoint list for each routing domain based on the data received from each of the host machines including a list of the tunnel endpoints associated with the routing domain which the host machines can use to facilitate packet processing.
    Type: Application
    Filed: May 10, 2021
    Publication date: September 9, 2021
    Inventors: Caixia Jiang, Jianjun Shen, Pankaj Thakkar, Anupam Chanda, Ronghua Zhang, Ganesan Chandrashekhar, Vicky Liu, Da Wan, Frank Pan, Hua Wang, Donghai Han
  • Patent number: 11113085
    Abstract: A method of defining a virtual network across a plurality of physical hosts is provided. At least two hosts utilize network virtualization software provided by two different vendors. Each host hosts a set of data compute nodes (DCNs) for one or more tenants. The method, at an agent at a host, receives a command from a network controller, the command includes (i) an identification a resource on a tenant logical network and (ii) an action to perform on the identified resource. The method, at the agent, determines the network virtualization software utilized by the host. The method, at the agent, translates the received action into a set of configuration commands compatible with the network virtualization software utilized by the host. The method sends the configuration commands to a network configuration interface on the host to perform the action on the identified resource.
    Type: Grant
    Filed: January 25, 2016
    Date of Patent: September 7, 2021
    Assignee: NICIRA, INC.
    Inventors: Bolt Zhang, Jianjun Shen, Jianwei Ma, Donghai Han, Ram D. Singh, Frank Pan
  • Patent number: 11108846
    Abstract: A method of determining the span of logical entities in a network is provided. The method generates a directed graph. Each node of the graph corresponds to a logical network entity. Each edge of the graph has one or two directions. A direction from a first node to a second node identifies the first node as the source of span for the second node. The method determines the span of each node based on the direction of the edges of the directed graph. The method groups each set of nodes that are accessible by all other nodes in the set in a strongly connected group (SCC) sub-graph. The method generates a group node in a directed acyclic graph (DAG) to correspond to each SCC sub-graph in the directed graph. The method assigns the span of each SCC to the corresponding group node of the DAG.
    Type: Grant
    Filed: July 4, 2019
    Date of Patent: August 31, 2021
    Assignee: NICIRA, INC.
    Inventors: Da Wan, Jianjun Shen, Maxim Novikov, Donghai Han, Hua Wang
  • Patent number: 11082298
    Abstract: A method of allocating network bandwidth in a network that includes several tenant virtual machines (VMs). The method calculates a first bandwidth reservation for a flow between a source VM and a destination VM that are hosted on two different host machines. The source VM sends packets to a first set of VMs that includes the destination VM. The destination VM receives packets from a second set of VMs that includes the source VM. The method receives a second bandwidth reservation for the flow calculated at the destination. The method sets the bandwidth reservation for the flow as a minimum of the first and second bandwidth reservations.
    Type: Grant
    Filed: March 13, 2019
    Date of Patent: August 3, 2021
    Assignee: NICIRA, INC.
    Inventors: Hua Wang, Jianjun Shen, Donghai Han, Caixia Jiang
  • Publication number: 20210218652
    Abstract: Example methods and systems for container-based connectivity check in a software-defined networking (SDN) environment are disclosed. One example method may comprise detecting, a request for a connectivity check between a first container-based resource and a second container-based resource; identifying a first logical network element and a second logical network element; and injecting a connectivity check packet at the first logical network element for forwarding towards the second logical network element. The example method also may comprise: obtaining report information associated with one or more intermediate logical network elements located along a path that is traversed by the connectivity check packet; and determining a connectivity status associated with the first container-based resource and the second container-based resource based on the report information.
    Type: Application
    Filed: January 15, 2020
    Publication date: July 15, 2021
    Applicant: VMware, Inc.
    Inventors: Abhishek RAUT, Kai SU, Jianjun SHEN, Salvatore ORLANDO, Tong LIU, Shih-Hao LI
  • Patent number: 11044211
    Abstract: Example methods are provided for first host to perform multicast packet handling in a software-defined networking (SDN) environment. The method may comprise: in response to the first host detecting, from a first virtualized computing instance, a request to join a multicast group address, obtaining control information from a network management entity. The control information may include one or more destination addresses associated with one or more second hosts that have joined the multicast group address on behalf of multiple second virtualized computing instances. The method may also comprise: in response to the first host detecting an egress multicast packet that includes an inner header addressed to the multicast group address, generating one or more encapsulated multicast packets based on the control information and sending the one or more encapsulated multicast packets in a unicast manner or multicast manner, or a combination of both.
    Type: Grant
    Filed: December 13, 2019
    Date of Patent: June 22, 2021
    Assignee: NICIRA, INC.
    Inventors: Wenfeng Liu, Hua Wang, Jingchun Jiang, Donghai Han, Jianjun Shen
  • Patent number: 11005753
    Abstract: For a managed network including multiple host machines implementing multiple logical networks, some embodiments provide a method that reduces the memory and traffic load required to implement the multiple logical networks. The method generates configuration data for each of multiple host machines including (i) data to configure a host machine to implement a set of logical forwarding elements that belong to a set of routing domains and (ii) identifiers for each routing domain in the set of routing domains. The method then receives data regarding tunnels endpoints operating on each of the host machines and an association with the routing identifiers sent to the host machines. The method then generates a routing domain tunnel endpoint list for each routing domain based on the data received from each of the host machines including a list of the tunnel endpoints associated with the routing domain which the host machines can use to facilitate packet processing.
    Type: Grant
    Filed: February 14, 2019
    Date of Patent: May 11, 2021
    Assignee: NICIRA, INC.
    Inventors: Caixia Jiang, Jianjun Shen, Pankaj Thakkar, Anupam Chanda, Ronghua Zhang, Ganesan Chandrashekhar, Vicky Liu, Da Wan, Frank Pan, Hua Wang, Donghai Han
  • Patent number: 10999196
    Abstract: Systems and methods of communicating between a plurality of hosts comprising one or more first hosts controlled by a first control plane and one or more second hosts controlled by a second control plane are disclosed herein. Each of the one or more first hosts runs at least one tunneling endpoint of one or more first tunneling endpoints, and each of the one or more second hosts runs at least one tunneling endpoint of one or more second tunneling endpoint. The method includes storing, at each of the one or more first hosts, a global list identifying at least the one or more second tunneling endpoints. The method further includes receiving a packet at one of the one or more first tunneling endpoints. The method further includes replicating, encapsulating, and transmitting the packet to each of the one or more second tunneling endpoints based on the global list.
    Type: Grant
    Filed: April 15, 2019
    Date of Patent: May 4, 2021
    Assignee: VMware, Inc.
    Inventors: Da Wan, Mukesh Hira, Feng Gu, Jianjun Shen, Pankaj Thakkar, Donghai Han, Wen Feng Liu, Tao Ma
  • Patent number: 10944691
    Abstract: Example methods and systems for container-based network policy configuration in a software-defined networking (SDN) environment are disclosed. One example method may comprise: in response to detecting a first request to assign a container-based resource with a first label via a container orchestration system, assigning a logical network element associated with the container-based resource with a second label. The example method may also comprise: in response to detecting a second request to configure a container-based network policy associated with the container-based resource via the container orchestration system, identifying the logical network element by mapping the first label to the second label; and configuring the container-based network policy to be applicable to network traffic that is forwarded via the logical network element.
    Type: Grant
    Filed: January 15, 2020
    Date of Patent: March 9, 2021
    Assignee: VMWARE, INC.
    Inventors: Abhishek Raut, Kai Su, Jianjun Shen, Salvatore Orlando, Tong Liu, Shih-Hao Li
  • Publication number: 20210011781
    Abstract: In an embodiment, a computer-implemented method for dynamically exchanging runtime state data between datacenters with a gateway using a controller bridge is disclosed. In an embodiment, the method comprises: receiving one or more first runtime state data from one or more logical sharding central control planes (“CCPs”) controlling one or more logical sharding hosts; receiving one or more second runtime state data from a gateway that is controlled by a CCP that also controls one or more physical sharding hosts; aggregating to aggregated runtime state data, the one or more first runtime state data received from the one or more logical sharding CCPs and the one or more second runtime state data received from the gateway; determining updated runtime state data based on the aggregated runtime state data, the one or more first runtime state data, and the one or more second runtime state data; and transmitting the updated runtime state data to at least one of the one or more logical sharding CCPs and the gateway.
    Type: Application
    Filed: August 5, 2019
    Publication date: January 14, 2021
    Applicant: VMware, Inc.
    Inventors: Da Wan, Jianjun Shen, Feng Pan, Pankaj Thakkar, Donghai Han
  • Publication number: 20210011780
    Abstract: In an embodiment, a computer-implemented method for dynamically exchanging runtime state data between datacenters using a controller bridge is disclosed. In an embodiment, the method comprises: requesting, and receiving, one or more first runtime state data from one or more logical sharding central control planes (“CCPs”) controlling one or more logical sharding hosts; requesting, and receiving, one or more second runtime state data from one or more physical sharding CCPs controlling one or more physical sharding hosts; aggregating, to aggregated runtime state data, the one or more first runtime state data and the one or more second runtime state data; determining updated runtime state data based on the aggregated runtime state data, the one or more first runtime state data, and the one or more second runtime state data; and transmitting the updated runtime state data to the logical sharding CCPs and physical sharding CCPs.
    Type: Application
    Filed: August 5, 2019
    Publication date: January 14, 2021
    Applicant: VMware, Inc.
    Inventors: Da Wan, Jianjun Shen, Feng Pan, Pankaj Thakkar, Donghai Han
  • Patent number: 10887222
    Abstract: Some embodiments provide a method for assigning different service path identifiers to each of a set of different service paths along each of which a same set of service operations are performed on a set of packets. The method retrieves an available service path identifier from an identifier storage that stores service path identifiers for multiple service paths. The method generates a set of proposed service path identifiers based on the retrieved available service path identifier and the number of service paths in the set of service paths. The method performs a write operation on the identifier storage based on the set of proposed service path identifiers, and based on a determination that the write operation was successful, assigns the set of proposed service path identifiers to the set of service paths. Based on the set of service path identifiers, the method forwards the set of packets along the set of service paths.
    Type: Grant
    Filed: April 11, 2019
    Date of Patent: January 5, 2021
    Assignee: VMWARE, INC.
    Inventors: Ziyou Wang, Li Sun, Anuprem Chalvadi, Yanjun Lin, Yang Ping, Mary Firenze, Pierluigi Rolando, Yong Feng, Raju Koganty, Jianjun Shen, Medhavi Dhawan
  • Patent number: 10880216
    Abstract: Certain embodiments described herein are generally directed to configuring a generic channel for exchanging information between a hypervisor and a virtual machine run by the hypervisor that resides on a host machine. In some embodiments, the generic channel represents a network or communication path enabled by a logical switch that connects a HyperBus running on the hypervisor and a node agent running on the virtual machine. In some embodiments, network traffic handled by the generic channel is isolated from incoming and outgoing network traffic between the virtual machine and one or more other virtual machines or hosts.
    Type: Grant
    Filed: October 21, 2019
    Date of Patent: December 29, 2020
    Assignee: Nicira, Inc.
    Inventors: Caixia Jiang, Jianjun Shen, Aditi Ghag, Danting Liu, Hongshun Chang, Donghai Han, Vladimir Cherepanov