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: 11929943Abstract: 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 by utilizing a user space network stack.Type: GrantFiled: August 16, 2021Date of Patent: March 12, 2024Assignee: Nicira, Inc.Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Jia Yu, Xinhua Hong
-
Publication number: 20240078097Abstract: Some embodiments of the invention provide a method for defining code-based policies. The method generates a policy-builder first view of a policy for display in a graphical user interface (GUI) by processing a syntax tree that is generated from a code second view of the policy. The method receives, through the policy-builder first view, a modification to a portion of the policy. To reflect the modification, the method updates a portion of the syntax tree that corresponds to the portion of the policy that is affected by the modification. Based on the updating of the syntax tree, the method updates the code second view by modifying a portion of the code second view that corresponds to the updated portion of the syntax tree.Type: ApplicationFiled: November 10, 2023Publication date: March 7, 2024Inventors: Mikol Graves, Peter J. Shepherd, Magnus Hei-Yu Ma, Timothy L. Hinrichs, Teemu Koponen
-
Publication number: 20240039791Abstract: 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: ApplicationFiled: August 28, 2023Publication date: February 1, 2024Inventors: Martin Casado, Teemu Koponen, Pankaj Thakkar
-
Patent number: 11876679Abstract: A control system including several controllers for managing several switching elements. A first controller registers a second controller for receiving a notification when a data tuple changes in a network information base (NIB) storage of the first controller that stores data for managing a set of switching elements. The first controller changes the data tuple in the NIB. The first controller sends the notification to the second controller of the change to the data tuple in the NIB. The first and second controllers operate on two different computing devices. Each controller receives logical control plane data for specifying logical datapath sets and converts the logical control plane data to physical control plane data for enabling the switching elements to implement the logical datapath sets.Type: GrantFiled: December 11, 2021Date of Patent: January 16, 2024Assignee: Nicira, Inc.Inventors: Teemu Koponen, Martin Casado, Jeremy Stribling, Natasha Gude
-
METHOD AND APPARATUS TO REDUCE THE WINDOW FOR POLICY VIOLATIONS WITH MINIMAL CONSISTENCY ASSUMPTIONS
Publication number: 20240004728Abstract: Some embodiments provide a method for authorizing application programming interface (API) calls on a host computer in a local cluster of computers. The method is performed in some embodiments by an API-authorizing agent executing on the host computer in the local computer cluster. From a remote cluster of computers, the method receives (1) a set of API-authorizing policies to evaluate in order to determine whether API calls to an application executing on the host computer are authorized, and (2) a set of parameters needed for evaluating the policies. With the remote cluster of computers, the method registers for notifications regarding updates to the set of parameters. The method then receives notifications, from the remote cluster, regarding an update to the set of parameters, and modifies the set of parameters based on the update.Type: ApplicationFiled: June 19, 2023Publication date: January 4, 2024Inventors: Timothy L. Hinrichs, Teemu Koponen, Torin Sandall -
Publication number: 20230421410Abstract: 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: ApplicationFiled: September 9, 2023Publication date: December 28, 2023Applicant: Nicira, Inc.Inventors: Teemu Koponen, Martin Casado, Pankaj Thakkar, Ronghua Zhang, Daniel J. Wendlandt
-
Patent number: 11853463Abstract: Some embodiments provide a method for enforcing policies for authorizing API (Application Programming Interface) calls to an application operating on a host machine. The method receives a request to authenticate a client attempting to gain access to the application, and authenticates the client based on a first set of parameters associated with the request. Using a second set of parameters associated with the request, the method evaluates a set of one or more policies associated with a set of one or more API calls to the application. Based on the evaluated policies, the method defines a third set of one or more authentication field parameters that control the API calls that the client is authorized to make to the application. The method sends an authentication reply message with the defined third set of authentication field parameters in order to control the API calls that the client is authorized to make.Type: GrantFiled: March 5, 2019Date of Patent: December 26, 2023Assignee: STYRA, INC.Inventors: Timothy L. Hinrichs, Teemu Koponen
-
Patent number: 11853733Abstract: Some embodiments of the invention provide a method for defining code-based policies. The method generates a policy-builder first view of a policy for display in a graphical user interface (GUI) by processing a syntax tree that is generated from a code second view of the policy. The method receives, through the policy-builder first view, a modification to a portion of the policy. To reflect the modification, the method updates a portion of the syntax tree that corresponds to the portion of the policy that is affected by the modification. Based on the updating of the syntax tree, the method updates the code second view by modifying a portion of the code second view that corresponds to the updated portion of the syntax tree.Type: GrantFiled: November 27, 2022Date of Patent: December 26, 2023Assignee: STYRA, INC.Inventors: Mikol Graves, Peter J. Shepherd, Magnus Hei-Yu Ma, Timothy L. Hinrichs, Teemu Koponen
-
Publication number: 20230412425Abstract: 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: ApplicationFiled: September 6, 2023Publication date: December 21, 2023Inventors: Teemu Koponen, Pankaj Thakkar, Bryan J. Fulton
-
Publication number: 20230362105Abstract: 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: ApplicationFiled: July 14, 2023Publication date: November 9, 2023Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Xinhua Hong
-
Publication number: 20230359479Abstract: 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: ApplicationFiled: July 7, 2023Publication date: November 9, 2023Inventors: Teemu Koponen, Ronghua Zhang, Pankaj Thakkar, Martin Casado
-
Publication number: 20230353485Abstract: Some embodiments provide a method that processes network data through a network. The method receives a packet destined for a network host associated with a logical datapath set implemented by a set of managed edge switching elements and a set of managed non-edge switching elements in the network. The method determines whether the packet is a known packet. When the packet is a known packet, the method forwards the packet to a managed switching element in the set of managed edge switching elements for forwarding to the network host. When the packet is not a known packet, the method forwards the packet to a managed switching element in the set of managed non-edge switching elements for further processing.Type: ApplicationFiled: May 1, 2023Publication date: November 2, 2023Inventors: Teemu Koponen, Keith E. Amidon, Paul S. Ingram, Martin Casado
-
Publication number: 20230353493Abstract: 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: ApplicationFiled: July 3, 2023Publication date: November 2, 2023Inventors: Ronghua Zhang, Teemu Koponen, Pankaj Thakkar, Jesse E. Gross, IV
-
Patent number: 11804987Abstract: 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: GrantFiled: February 12, 2021Date of Patent: October 31, 2023Assignee: NICIRA, INC.Inventors: Teemu Koponen, Martin Casado, Pankaj Thakkar, Ronghua Zhang, Daniel J. Wendlandt
-
Patent number: 11762712Abstract: 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: GrantFiled: May 9, 2022Date of Patent: September 19, 2023Assignee: STYRA, INC.Inventors: Teemu Koponen, Timothy L. Hinrichs
-
Publication number: 20230289321Abstract: 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: ApplicationFiled: May 13, 2023Publication date: September 14, 2023Inventors: Pankaj Thakkar, Teemu Koponen
-
Patent number: 11740923Abstract: 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: GrantFiled: June 27, 2022Date of Patent: August 29, 2023Assignee: NICIRA, INC.Inventors: Teemu Koponen, Ronghua Zhang, Pankaj Thakkar, Martin Casado
-
Patent number: 11741244Abstract: Some embodiments provide a method for evaluating a policy for authorizing an API (Application Programming Interface) call to an application. Based on a first set of parameters available before receiving the API call, the method evaluates only a portion of the policy to produce a partially evaluated policy. The method stores the partially evaluated policy in a cache. The method then receives an API call to authorize, and determines whether the API call should be authorized by fully evaluating the policy, using the partially evaluated policy retrieved from the cache first storage, and a second set of parameters associated with the API call. The method responds to the API call with a policy decision based on the fully evaluated authorization policy.Type: GrantFiled: August 2, 2021Date of Patent: August 29, 2023Assignee: STYRA, INC.Inventors: Torin Sandall, Timothy L. Hinrichs, Teemu Koponen
-
Patent number: 11743123Abstract: Some embodiments of the invention provide a a method of processing packets associated with a logical switching element implemented by multiple physical switching elements executing on multiple host computers on which multiple machines execute. At a first physical switching element of a first host computer, the method receives a packet from a first machine associated with the logical switching element. For the packet, the method identifies a logical ingress port of the logical switch that is associated with the packet. For the packet, the method also uses the logical ingress port to identify a logical egress port of the logical switch that is associated with the packet. For the packet, the method also uses the logical egress port to identify a physical egress port of the first host computer to use to send the packet along to a second machine associated with the logical egress port.Type: GrantFiled: June 15, 2020Date of Patent: August 29, 2023Assignee: NICIRA, INC.Inventors: Martin Casado, Teemu Koponen, Pankaj Thakkar
-
Patent number: 11706159Abstract: 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: GrantFiled: April 28, 2022Date of Patent: July 18, 2023Assignee: NICIRA, INC.Inventors: Ronghua Zhang, Yong Wang, Teemu Koponen, Xinhua Hong