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: 10990702
    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 servers that act as a logically centralized resource for defining and storing policies and parameters for evaluating these policies. The servers enforce these policies and distribute the 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. In response to such a request, the local agent uses one or more parameters associated with the API call to identify a policy stored in its local policy storage to evaluate whether the API call should be authorized.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: April 27, 2021
    Assignee: STYRA, INC.
    Inventors: Timothy L. Hinrichs, Teemu Koponen, Andrew Curtis, Torin Sandall, Octavian Florescu
  • Patent number: 10984133
    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.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: April 20, 2021
    Assignee: STYRA, INC.
    Inventors: Timothy L. Hinrichs, Teemu Koponen, Andrew Curtis, Torin Sandall, Octavian Florescu
  • Patent number: 10977067
    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: September 30, 2018
    Date of Patent: April 13, 2021
    Assignee: NICIRA, INC.
    Inventors: Amar Padmanabhan, Teemu Koponen, Ronghua Zhang, Pankaj Thakkar, Bruce Davie, Martin Casado
  • Patent number: 10949248
    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 11, 2019
    Date of Patent: March 16, 2021
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Teemu Koponen, Pankaj Thakkar, Martin Casado
  • Patent number: 10931481
    Abstract: A network system that includes a first set of network hosts in a first domain and a second set of network hosts in a second domain. Within each of the domains, the system includes several edge switching elements (SEs) that each couple to the network hosts and forward network data to and from the set of network hosts. Within the first domain, the system includes (i) an interior SE that couples to a particular edge SE in order to receive network data for forwarding from the edge SE when the edge SE does not recognize a destination location of the network data and (ii) an interconnection SE that couples to the interior SE, the edge SE, and the second domain through an external network. When the edge SE receives network data with a destination address in the second domain, it forwards the network data directly to the interconnection SE.
    Type: Grant
    Filed: January 15, 2019
    Date of Patent: February 23, 2021
    Assignee: NICIRA, INC.
    Inventors: Martin Casado, Teemu Koponen, Pankaj Thakkar
  • Patent number: 10931600
    Abstract: In general, the present invention relates to a virtual platform in which one or more distributed virtual switches can be created for use in virtual networking. According to some aspects, the distributed virtual switch according to the invention provides the ability for virtual and physical machines to more readily, securely, and efficiently communicate with each other even if they are not located on the same physical host and/or in the same subnet or VLAN. According other aspects, the distributed virtual switches of the invention can support integration with traditional IP networks and support sophisticated IP technologies including NAT functionality, stateful firewalling, and notifying the IP network of workload migration. According to further aspects, the virtual platform of the invention creates one or more distributed virtual switches which may be allocated to a tenant, application, or other entity requiring isolation and/or independent configuration state.
    Type: Grant
    Filed: February 23, 2017
    Date of Patent: February 23, 2021
    Assignee: NICIRA, INC.
    Inventors: Martin Casado, Paul Ingram, Keith E. Amidon, Peter J. Balland, III, Teemu Koponen, Benjamin L. Pfaff, Justin Pettit, Jesse E. Gross, IV, Daniel J. Wendlandt
  • Patent number: 10922124
    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: Grant
    Filed: May 3, 2019
    Date of Patent: February 16, 2021
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Teemu Koponen, Pankaj Thakkar, Amar Padmanabhan, Martin Casado
  • Patent number: 10884780
    Abstract: Some embodiments provide a system for implementing a logical network that includes a set of end machines, a first logical middlebox, and a second logical middlebox connected by a set of logical forwarding elements. The system includes a set of nodes. Each of several nodes includes (i) a virtual machine for implementing an end machine of the logical network, (ii) a managed switching element for implementing the set of logical forwarding elements of the logical network, and (iii) a middlebox element for implementing the first logical middlebox of the logical network. The system includes a physical middlebox appliance for implementing the second logical middlebox.
    Type: Grant
    Filed: January 2, 2019
    Date of Patent: January 5, 2021
    Assignee: NICIRA, INC.
    Inventors: Teemu Koponen, Ronghua Zhang, Pankaj Thakkar, Martin Casado
  • Publication number: 20200396130
    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: Application
    Filed: June 15, 2020
    Publication date: December 17, 2020
    Applicant: Nicira, Inc.
    Inventors: Martin Casado, Teemu Koponen, Pankaj Thakkar
  • Patent number: 10868710
    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: August 23, 2018
    Date of Patent: December 15, 2020
    Assignee: NICIRA, INC.
    Inventors: Teemu Koponen, Bruce Davie, Jeremy Stribling
  • Patent number: 10868761
    Abstract: For a network controller for managing hosts in a network, a method for configuring a host to resolve network addresses is described. The method configures an address resolution module in a host to resolve a network address. The method configures a managed forwarding element in the host to (1) avoid sending a request to resolve the network address to another host by using the address resolution module to resolve the network address and (2) forward packets using the resolved network address.
    Type: Grant
    Filed: July 12, 2018
    Date of Patent: December 15, 2020
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Teemu Koponen, Pankaj Thakkar
  • Patent number: 10834239
    Abstract: The network control system of some embodiments implements logical port classifications to implement different features of logical networks onto a physical network. The network control system of some embodiments modifies flow entries at forwarding elements of the physical network to implement the logical network. The network control system classifies logical source and destination ports into disjoint equivalence classes for logical network flows in a virtualized network, and encodes this information in the tunneled traffic carrying the logical flow. The network control system of some such embodiments provides logical port classifications to minimize the necessary flow entries at each forwarding element of the physical network.
    Type: Grant
    Filed: February 20, 2018
    Date of Patent: November 10, 2020
    Assignee: NICIRA, INC.
    Inventors: Anupam Chanda, Bryan J. Fulton, Teemu Koponen
  • Publication number: 20200351181
    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: Application
    Filed: May 15, 2020
    Publication date: November 5, 2020
    Inventors: Teemu Koponen, Justin Pettit, Martin Casado, Bruce Davie, W. Andrew Lambeth
  • Patent number: 10798048
    Abstract: A method of suppressing ARP packets in a logical network comprising a set of data compute nodes (DCNs). The DCNs are hosted on a set of physical hosts. Each DCN has a protocol address and is connected to a forwarding elements (FE) on the corresponding host. Each FE has a set of flows that specifies a set of conditions to match a set of fields of each received packet and a set of actions to take on a packet that matches the set of conditions. An FE on a physical host receives a packet sent by a first DCN on the physical host and determines that the received packet is an ARP request packet by matching a set of fields in the packet with a set of conditions of a particular flow. The ARP request packet identifies a protocol address of a second DCN on the logical network.
    Type: Grant
    Filed: December 3, 2015
    Date of Patent: October 6, 2020
    Assignee: NICIRA, INC.
    Inventors: Harold Vinson C. Lim, Mart Haitjema, Srinivas Neginhal, Pankaj Thakkar, Teemu Koponen, Anupam Chanda, Benjamin L. Pfaff
  • Patent number: 10798023
    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: Grant
    Filed: March 2, 2019
    Date of Patent: October 6, 2020
    Assignee: NICIRA, INC.
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Michael Hu, Xinhua Hong
  • Patent number: 10778557
    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: January 4, 2019
    Date of Patent: September 15, 2020
    Assignee: NICIRA, INC.
    Inventors: Igor Ganichev, Pankaj Thakkar, Teemu Koponen, Mo Dong
  • Publication number: 20200287843
    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: May 27, 2020
    Publication date: September 10, 2020
    Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Xinhua Hong
  • Publication number: 20200280516
    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: Application
    Filed: May 15, 2020
    Publication date: September 3, 2020
    Inventors: Jesse E. Gross, IV, Teemu Koponen, W. Andrew Lambeth
  • Publication number: 20200280520
    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 15, 2020
    Publication date: September 3, 2020
    Inventors: Teemu Koponen, Ethan J. Jackson
  • Patent number: 10719373
    Abstract: Some embodiments provide a method for distributing a set of parameters associated with policies for authorizing Application Programming Interface (API) calls to an application. For a previously stored hierarchical first document that comprises a first set of elements in a first hierarchical structure, the method receives a hierarchical update second document that comprises a second set of elements in a second hierarchical structure corresponding to the first hierarchical structure, wherein at least a subset of elements in the first and the second documents correspond to the set of parameters for evaluating API calls. The method receives a first set of hash values for elements of the first document that are not specified in the second document, and generates a second set of hash values for a set of elements specified in the second document. The method generates an overall hash for the second document by using the received first set of hash values and the generated second set of hash values.
    Type: Grant
    Filed: March 5, 2019
    Date of Patent: July 21, 2020
    Assignee: STYRA, INC.
    Inventors: Teemu Koponen, Timothy L. Hinrichs