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: 10700997
    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: June 20, 2019
    Date of Patent: June 30, 2020
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Xinhua Hong
  • Patent number: 10686663
    Abstract: For a logical switching element implemented across several managed switching elements, some embodiments provide a method that receives a packet for processing through a logical processing pipeline of the logical switching element. The method processes the packet through a first set of stages of the logical processing pipeline of the logical switching element. The method modifies a set of context tag values to indicate a logical output port of the logical switching element for the packet. The method forwards the packet to a managed switching element of the several managed switching elements based on the logical output port in the set of context tag values stored in the packet.
    Type: Grant
    Filed: July 12, 2018
    Date of Patent: June 16, 2020
    Assignee: NICIRA, INC.
    Inventors: Martin Casado, Teemu Koponen, Pankaj Thakkar
  • Patent number: 10680948
    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: July 21, 2018
    Date of Patent: June 9, 2020
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Teemu Koponen, Martin Casado
  • Patent number: 10680961
    Abstract: Some embodiments provide a method that uses headerspace analysis. The method receives several flow entries for distribution to a set of forwarding elements that implement a logical network. The method models each of the flow entries as a function that operates on a representation of a packet header. The method uses the modeled functions to identify a set of paths from a packet source to a packet destination. For each particular path of the identified paths, the method uses inverses of the modeled functions to determine a set of packet headers. Packets sent from the packet source with any packet header in the set of packet headers follow the particular path through the flow entries.
    Type: Grant
    Filed: March 4, 2019
    Date of Patent: June 9, 2020
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Amre Shakimov, Teemu Koponen
  • Patent number: 10666530
    Abstract: Some embodiments provide a forwarding element that detects and handles elephant flows. In detecting, the forwarding element of some embodiments monitors statistics or measurements relating to a data flow. In handling, the forwarding element marks each packet associated with a detected elephant flow in some manner to differentiate it from a packet associated with a mouse flow. Alternatively, the forwarding element of break elephant flows into a number mouse flow by facilitating in sending packets associated with the detected elephant flow along different paths.
    Type: Grant
    Filed: January 2, 2019
    Date of Patent: May 26, 2020
    Assignee: NICIRA, INC
    Inventors: Teemu Koponen, Justin Pettit, Martin Casado, Bruce Davie, W. Andrew Lambeth
  • Patent number: 10659373
    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: Grant
    Filed: May 12, 2018
    Date of Patent: May 19, 2020
    Assignee: NICIRA, INC
    Inventors: Teemu Koponen, Andy Zhou, Benjamin L. Pfaff, Justin Pettit
  • Patent number: 10659355
    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: September 30, 2018
    Date of Patent: May 19, 2020
    Assignee: NICIRA, INC
    Inventors: Jesse E. Gross, IV, Teemu Koponen, W. Andrew Lambeth
  • Patent number: 10592302
    Abstract: Some embodiments of the invention provide a system for defining, distributing and enforcing policies for authorizing API (Application Programming Interface) calls to applications executing on one or more sets of associated machines (e.g., virtual machines, containers, computers, etc.) in one or more datacenters. This system has a set of one or more servers that acts as a logically centralized resource for defining and storing policies and parameters for evaluating these policies. The server set in some embodiments also enforces these API-authorizing policies. Conjunctively, or alternatively, the server set in some embodiments distributes the defined policies and parameters to policy-enforcing local agents that execute near the applications that process the API calls. From an associated application, a local agent receives API-authorization requests to determine whether API calls received by the application are authorized.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: March 17, 2020
    Assignee: STYRA, INC.
    Inventors: Timothy L. Hinrichs, Teemu Koponen, Andrew Curtis, Torin Sandall, Octavian Florescu
  • Publication number: 20200081732
    Abstract: A controller of a network control system for configuring several middlebox instances is described. The middlebox instances implement a middlebox in a distributed manner in several hosts. The controller configures a first middlebox instance to obtain status of a set of servers and disseminate the obtained status to a second middlebox instance. The controller configures the second middlebox instance to use the status to select a server from the set of servers.
    Type: Application
    Filed: November 11, 2019
    Publication date: March 12, 2020
    Inventors: Ronghua Zhang, Teemu Koponen, Pankaj Thakkar, Martin Casado
  • Publication number: 20200067847
    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: November 2, 2019
    Publication date: February 27, 2020
    Inventors: Pankaj Thakkar, Teemu Koponen
  • Publication number: 20200014558
    Abstract: A network controller for managing several managed switching elements that forward data in a network that includes the managed switching elements. The network controller is further for creating a logical switching element to be implemented in a set of managed switching elements. The network controller includes a set of modules for receiving input data specifying a logical switching element and for creating, based on the received input data, a set of logical switch constructs for the logical switching element by performing a set of database join operations. At least one of the logical switch constructs is for facilitating non-forwarding behavior of the logical switching element.
    Type: Application
    Filed: June 9, 2019
    Publication date: January 9, 2020
    Inventors: Teemu Koponen, Pankaj Thakkar, Bryan J. Fulton
  • Publication number: 20200014598
    Abstract: A network control system for managing a plurality of switching elements that implement a plurality of logical datapath sets. The network control system includes first and second controllers for generating requests for modifications to first and second logical datapath sets. The first controller is further for determining whether to make modifications to the first logical datapath set. The second controller is further for determining whether to make modifications to the second logical datapath set. Each controller is further for receiving logical control plane data that specifies logical datapath sets and for converting the logical control plane data to physical control plane data for propagating to the switching elements.
    Type: Application
    Filed: June 9, 2019
    Publication date: January 9, 2020
    Inventors: W. Andrew Lambeth, Teemu Koponen, Martin Casado
  • Patent number: 10514941
    Abstract: A controller of a network control system for configuring several middlebox instances is described. The middlebox instances implement a middlebox in a distributed manner in several hosts. The controller configures a first middlebox instance to obtain status of a set of servers and disseminate the obtained status to a second middlebox instance. The controller configures the second middlebox instance to use the status to select a server from the set of servers.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: December 24, 2019
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Teemu Koponen, Pankaj Thakkar, Martin Casado
  • Patent number: 10505856
    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: Grant
    Filed: February 28, 2018
    Date of Patent: December 10, 2019
    Assignee: NICIRA, INC.
    Inventors: Pankaj Thakkar, Teemu Koponen
  • Publication number: 20190306085
    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: Application
    Filed: June 20, 2019
    Publication date: October 3, 2019
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Xinhua Hong
  • Publication number: 20190258507
    Abstract: Some embodiments provide a method for configuring a logical middlebox in a hosting system that includes a set of nodes. The logical middlebox is part of a logical network that includes a set of logical forwarding elements that connect a set of end machines. The method receives a set of configuration data for the logical middlebox. The method uses a stored set of tables describing physical locations of the end machines to identify a set of nodes at which to implement the logical middlebox. The method provides the logical middlebox configuration for distribution to the identified nodes.
    Type: Application
    Filed: May 3, 2019
    Publication date: August 22, 2019
    Inventors: Ronghua Zhang, Teemu Koponen, Pankaj Thakkar, Amar Padmanabhan, Martin Casado
  • Publication number: 20190207870
    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. In some embodiments, the datapath daemon dispatches packets to other processes or processing threads outside of the daemon. In some embodiments, the datapath daemon dispatches packets to a kernel network stack in order to support packet traffic monitoring.
    Type: Application
    Filed: March 2, 2019
    Publication date: July 4, 2019
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Michael Hu, Xinhua Hong
  • Patent number: 10341257
    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: July 2, 2019
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Xinhua Hong
  • Publication number: 20190199623
    Abstract: Some embodiments provide a method that uses headerspace analysis. The method receives several flow entries for distribution to a set of forwarding elements that implement a logical network. The method models each of the flow entries as a function that operates on a representation of a packet header. The method uses the modeled functions to identify a set of paths from a packet source to a packet destination. For each particular path of the identified paths, the method uses inverses of the modeled functions to determine a set of packet headers. Packets sent from the packet source with any packet header in the set of packet headers follow the particular path through the flow entries.
    Type: Application
    Filed: March 4, 2019
    Publication date: June 27, 2019
    Inventors: Ronghua Zhang, Amre Shakimov, Teemu Koponen
  • Patent number: 10326660
    Abstract: A network control system for managing a plurality of switching elements that implement a plurality of logical datapath sets. The network control system includes first and second controllers for generating requests for modifications to first and second logical datapath sets. The first controller is further for determining whether to make modifications to the first logical datapath set. The second controller is further for determining whether to make modifications to the second logical datapath set. Each controller is further for receiving logical control plane data that specifies logical datapath sets and for converting the logical control plane data to physical control plane data for propagating to the switching elements.
    Type: Grant
    Filed: June 3, 2016
    Date of Patent: June 18, 2019
    Assignee: NICIRA, INC.
    Inventors: Teemu Koponen, Pankaj Thakkar, Martin Casado, W. Andrew Lambeth