Patents by Inventor Teemu Koponen

Teemu Koponen 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: 10181993
    Abstract: Some embodiments provide a method for a first network controller that manages a set of logical forwarding elements implemented in several managed forwarding elements. The method receives a request to trace a specified packet having a particular source on a logical forwarding element. The method generates the packet according to the packet specification. The generated packet includes an indicator that the packet is for a trace operation. The method sends the packet to a second network controller that manages a managed forwarding element associated with the particular source. The method receives a first set of messages regarding operations performed on the packet from a set of network controllers that receives a second set of messages regarding operations performed on the packet from a set of managed forwarding elements that process the packet.
    Type: Grant
    Filed: December 11, 2017
    Date of Patent: January 15, 2019
    Assignee: NICIRA, INC.
    Inventors: Igor Ganichev, Pankaj Thakkar, Teemu Koponen, Mo Dong
  • Publication number: 20190013999
    Abstract: Some embodiments provide a method for a first network controller located at a first physical domain that manages a logical network spanning several physical domains including the first domain. The method stores a set of context identifiers for assignment to logical entities. The context identifiers are for use in packets sent between managed forwarding elements in order to store logical network information in the packets. While connected to a master controller for the logical network at a second physical domain of the several physical domains, the method forwards state input requiring assignment of context identifiers to the master controller. While connectivity is lost with the master controller, the method assigns context identifiers from the stored set of context identifiers to logical entities.
    Type: Application
    Filed: August 23, 2018
    Publication date: January 10, 2019
    Inventors: Teemu Koponen, Bruce Davie, Jeremy Stribling
  • Patent number: 10158538
    Abstract: Some embodiments provide a system that detects whether a flow is an elephant flow; and if so, the system treats it differently than a mouse flow. The system of some embodiment detect elephants based on one or more of the following: statistics associated with a flow, packet segment size, and invoked system calls. Also, some embodiments use one or more various methods to handle elephant flows. Examples of such methods include marking each packet belonging to an elephant with a particular marking, breaking the elephants into mice, reporting the elephant to a network controller, and selectively choosing a route for each packet belonging to the elephant.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: December 18, 2018
    Assignee: NICIRA, INC.
    Inventors: Justin Pettit, Martin Casado, Teemu Koponen, Bruce Davie, W. Andrew Lambeth
  • Patent number: 10153987
    Abstract: A novel design of a gateway that handles traffic in and out of a network by using a datapath daemon is provided. The datapath daemon is a run-to-completion process that performs various data-plane packet-processing operations at the edge of the network. The datapath daemon dispatches packets to other processes or processing threads outside of the daemon. At least one of these other processes is a data plane process that returns a resulting packet to the datapath daemon.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: December 11, 2018
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Michael Hu, Xinhua Hong
  • Patent number: 10135676
    Abstract: A particular network controller receives a first set of inputs from the first controller and a second set of inputs from the second controller. The particular controller then starts to compute a set of outputs using the first set of inputs. After a failure of the first controller, the particular controller receives a third set of inputs from the second controller. The third set of inputs and the first or second set of inputs makes up a group of inputs for being processed together and separately from another group of inputs. The particular controller then receives an indicator from the second controller, which indicates that all inputs of the group of inputs have arrived at the particular controller. After receiving the indicator and after computing the set of outputs completely, the particular controller sends the set of outputs to a fourth controller or to a managed forwarding element.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: November 20, 2018
    Assignee: NICIRA, INC.
    Inventors: Teemu Koponen, W. Andrew Lambeth, Pankaj Thakkar
  • Publication number: 20180331954
    Abstract: Some embodiments provide a method of processing an incoming packet for a managed forwarding element that executes in a host to forward packets in a network. The method performs a lookup into a forwarding table to identify a flow entry matched by the incoming packet. The flow entry specifies a high-level action to perform on the incoming packet. The method provides packet data to a module executing separately from the managed forwarding element in the host. The module performs a set of processes in order to identify a set of low-level actions for the managed forwarding element to perform on the incoming packet without additional lookups into the forwarding table. The method receives data from the separate module specifying the set of low-level actions. The method performs the set of low-level actions on the incoming packet in order to further process the packet.
    Type: Application
    Filed: July 21, 2018
    Publication date: November 15, 2018
    Inventors: Ronghua Zhang, Teemu Koponen, Martin Casado
  • Patent number: 10110431
    Abstract: Some embodiments provide a method for a network controller. The method receives configuration data, for a logical router managed by the network controller, that specifies at least one logical port for the logical router. The method automatically generates connected routes for the logical router based on network address ranges specified for the logical ports of the logical router. The method receives a manually input static route for the logical router. The method generates data tuples, for distribution to several managed network elements, based on the connected and static routes for the logical router in order for the several managed network elements to implement the logical router.
    Type: Grant
    Filed: August 1, 2016
    Date of Patent: October 23, 2018
    Assignee: NICIRA, INC.
    Inventors: Igor Ganichev, Ronghua Zhang, Teemu Koponen, Gleb Dubovik, Pankaj Thakkar
  • Patent number: 10110514
    Abstract: A novel design of a gateway that handles traffic in and out of a network by using a datapath pipeline is provided. The datapath pipeline includes multiple stages for performing various data-plane packet-processing operations at the edge of the network. The processing stages include centralized routing stages and distributed routing stages. The processing stages can include service-providing stages such as NAT and firewall. The gateway caches the result previous packet operations and reapplies the result to subsequent packets that meet certain criteria. For packets that do not have applicable or valid result from previous packet processing operations, the gateway datapath daemon executes the pipelined packet processing stages and records a set of data from each stage of the pipeline and synthesizes those data into a cache entry for subsequent packets.
    Type: Grant
    Filed: November 2, 2015
    Date of Patent: October 23, 2018
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Xinhua Hong
  • Patent number: 10103983
    Abstract: Some embodiments of the invention provide a novel method of tunneling data packets. The method establishes a tunnel between a first forwarding element and a second forwarding element. For each data packet directed to the second forwarding element from the first forwarding element, the method encapsulates the data packet with a header that includes a tunnel option. The method then sends the data packet from the first forwarding element to the second forwarding element through the established tunnel. In some embodiments, the data packet is encapsulated using a protocol that is adapted to change with different control plane implementations and the implementations' varying needs for metadata.
    Type: Grant
    Filed: May 2, 2016
    Date of Patent: October 16, 2018
    Assignee: NICIRA, INC.
    Inventors: Jesse E. Gross, IV, Teemu Koponen, W. Andrew Lambeth
  • Patent number: 10103939
    Abstract: For a network control system that receives, from a user, logical datapath sets that logically express desired forwarding behaviors that are to be implemented by a set of managed switching elements, a controller for managing several managed switching elements that forward data in a network that includes the managed switching elements is described. The controller includes a set of modules for detecting a change in one or more managed switching elements and for updating logical datapath set based on the detected change. The logical datapath set is for subsequent translation into a set of physical forwarding behaviors of the managed switching elements.
    Type: Grant
    Filed: October 7, 2011
    Date of Patent: October 16, 2018
    Assignee: NICIRA, INC.
    Inventors: Teemu Koponen, Pankaj Thakkar, W. Andrew Lambeth
  • Patent number: 10091028
    Abstract: Some embodiments provide a novel network control system for managing a set of switching elements in a network. The network control system includes a first set of network controllers for managing a first set of switching elements that enable communication between a first set of machines. The network control system includes a second set of network controllers for managing a second set of switching elements that enable communication between a second set of machines. The second set of switching elements is separate from the first set of switching elements and the second set of machines is separate from the first set of machines. The network control system includes a third set of network controllers for managing the first and second sets of network controllers in order to enable communication between machines in the first set of machines and machines in the second set of machines.
    Type: Grant
    Filed: August 17, 2012
    Date of Patent: October 2, 2018
    Assignee: NICIRA, INC.
    Inventors: Teemu Koponen, Martin Casado, Pankaj Thakkar, Ronghua Zhang, Daniel J. Wendlandt
  • Patent number: 10089127
    Abstract: Some embodiments provide a non-transitory machine readable medium of a first middlebox element of several middlebox elements to implement a middlebox instance in a distributed manner in several hosts. The non-transitory machine readable medium stores a set of instructions for receiving (1) configuration data for configuring the middlebox instance to implement a middlebox in a logical network and (2) a particular identifier associated with the middlebox in the logical network. The non-transitory machine readable medium stores a set of instructions for generating (1) a set of rules to process packets for the middlebox in the logical network and (2) an internal identifier associated with the set of rules. The non-transitory machine readable medium stores a set of instructions for associating the particular identifier with the internal identifier for later processing of packets having the particular identifier.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: October 2, 2018
    Assignee: NICIRA, INC.
    Inventors: Amar Padmanabhan, Teemu Koponen, Ronghua Zhang, Pankaj Thakkar, Bruce Davie, Martin Casado
  • Patent number: 10084726
    Abstract: A novel design of a gateway that handles traffic in and out of a network by using a datapath pipeline is provided. The datapath pipeline includes multiple stages for performing various data-plane packet-processing operations at the edge of the network. The processing stages include centralized routing stages and distributed routing stages. The processing stages can include service-providing stages such as NAT and firewall. The gateway caches the result previous packet operations and reapplies the result to subsequent packets that meet certain criteria. For packets that do not have applicable or valid result from previous packet processing operations, the gateway datapath daemon executes the pipelined packet processing stages and records a set of data from each stage of the pipeline and synthesizes those data into a cache entry for subsequent packets.
    Type: Grant
    Filed: November 2, 2015
    Date of Patent: September 25, 2018
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Xinhua Hong
  • Publication number: 20180262436
    Abstract: A non-transitory machine readable medium storing a program that configures managed forwarding elements to establish tunnels between the managed forwarding elements is described. From a particular managed forwarding element, the program receives information regarding coupling of a network element to the first managed forwarding element. Upon receiving the information, the program generates a set of universal flow entries for configuring another managed forwarding element to establish a tunnel to the particular managed forwarding element.
    Type: Application
    Filed: February 28, 2018
    Publication date: September 13, 2018
    Inventors: Pankaj Thakkar, Teemu Koponen
  • Publication number: 20180262434
    Abstract: Some embodiments provide a method for processing a packet received by a managed forwarding element. The method performs a series of packet classification operations based on header values of the received packet. The packet classifications operations determine a next destination of the received packet. When the series of packet classification operations specifies to send the packet to a network service that performs payload transformations on the packet, the method (1) assigns a service operation identifier to the packet that identifies the service operations for the network service to perform on the packet, (2) sends the packet to the network service with the service operation identifier, and (3) stores a cache entry for processing subsequent packets without the series of packet classification operations. The cache entry includes the assigned service operation identifier. The network service uses the assigned service operation identifier to process packets without performing its own classification operations.
    Type: Application
    Filed: May 12, 2018
    Publication date: September 13, 2018
    Inventors: Teemu Koponen, Ethan J. Jackson
  • Patent number: 10069676
    Abstract: Some embodiments provide a method for a first network controller located at a first physical domain that manages a logical network spanning several physical domains including the first domain. The method stores a set of context identifiers for assignment to logical entities. The context identifiers are for use in packets sent between managed forwarding elements in order to store logical network information in the packets. While connected to a master controller for the logical network at a second physical domain of the several physical domains, the method forwards state input requiring assignment of context identifiers to the master controller. While connectivity is lost with the master controller, the method assigns context identifiers from the stored set of context identifiers to logical entities.
    Type: Grant
    Filed: May 1, 2017
    Date of Patent: September 4, 2018
    Assignee: NICIRA, INC.
    Inventors: Teemu Koponen, Bruce Davie, Jeremy Stribling
  • Patent number: 10057191
    Abstract: A novel design of a gateway that handles traffic in and out of a network by using a datapath pipeline is provided. The datapath pipeline includes multiple stages for performing various data-plane packet-processing operations at the edge of the network. The processing stages include centralized routing stages and distributed routing stages. The processing stages can include service-providing stages such as NAT and firewall. The gateway caches the result previous packet operations and reapplies the result to subsequent packets that meet certain criteria. For packets that do not have applicable or valid result from previous packet processing operations, the gateway datapath daemon executes the pipelined packet processing stages and records a set of data from each stage of the pipeline and synthesizes those data into a cache entry for subsequent packets.
    Type: Grant
    Filed: November 2, 2015
    Date of Patent: August 21, 2018
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Xinhua Hong, Ganesan Chandrashekhar
  • Patent number: 10050905
    Abstract: A novel design of a gateway that handles traffic in and out of a network by using a datapath daemon is provided. The datapath daemon is a run-to-completion process that performs various data-plane packet-processing operations at the edge of the network. The datapath daemon dispatches packets to other processes or processing threads outside of the daemon. The method inserts TLR identifiers as VLAN tags into the dispatched packets from the datapath daemon so that the network stack can deliver them to the correct TLR-specific namespace.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: August 14, 2018
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Jia Yu, Xinhua Hong
  • Patent number: 10038597
    Abstract: Some embodiments provide a system that includes a set of network controllers for receiving definitions of first and second logical switching elements. The system includes several managed switching elements. The set of network controllers configure the several managed switching elements to implement the defined first and second logical switching elements. The system includes several network hosts that are each (1) communicatively coupled to one of the several managed switching elements and (2) associated with one of the first and second logical switching elements. Network data communicated between network hosts associated with the first logical switching element are isolated from network data communicated between network hosts associated with the second logical switching element.
    Type: Grant
    Filed: March 21, 2016
    Date of Patent: July 31, 2018
    Assignee: NICIRA, INC.
    Inventors: Martin Casado, Keith E. Amidon, Teemu Koponen, W. Andrew Lambeth
  • Patent number: 10033640
    Abstract: Some embodiments provide a method of processing an incoming packet for a managed forwarding element that executes in a host to forward packets in a network. The method performs a lookup into a forwarding table to identify a flow entry matched by the incoming packet. The flow entry specifies a high-level action to perform on the incoming packet. The method provides packet data to a module executing separately from the managed forwarding element in the host. The module performs a set of processes in order to identify a set of low-level actions for the managed forwarding element to perform on the incoming packet without additional lookups into the forwarding table. The method receives data from the separate module specifying the set of low-level actions. The method performs the set of low-level actions on the incoming packet in order to further process the packet.
    Type: Grant
    Filed: February 1, 2017
    Date of Patent: July 24, 2018
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Teemu Koponen, Martin Casado