Patents by Inventor Jeremy Stribling

Jeremy Stribling 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: 9172663
    Abstract: A network control system that includes several controllers for managing several switching elements. Each controller includes a network information base (NIB) storage that stores data regarding the switching elements and a secondary storage for facilitating replication of at least a portion of data across the NIB storages of the different controllers. In some embodiments, the primary purpose for one or more of the secondary storage structures is to back up the data in the NIB. In these or other embodiments, one or more of the secondary storage structures serve a purpose other than backing up the data in the NIB. In some embodiments, the NIB is stored in system memory while the system operates for fast access of the NIB records. In some embodiments, one or more of the secondary storage structures are stored on disks which can be slower to access.
    Type: Grant
    Filed: August 25, 2011
    Date of Patent: October 27, 2015
    Assignee: NICIRA, INC.
    Inventors: Martin Casado, Teemu Koponen, Jeremy Stribling
  • Patent number: 9137107
    Abstract: Some embodiments provide a network control system for generating physical control plane data for managing first and second managed forwarding elements that implement forwarding operations associated with a first logical datapath set. The system includes a first controller instance for converting logical control plane data for the first logical datapath set to universal physical control plane (UPCP) data. The system includes a second controller instance for converting UPCP data to customized physical control plane (CPCP) data for the first managed forwarding element but not the second managed forwarding element. Each controller instance includes a network information base (NIB) storage for storing data and exchanging data with the other controller instance.
    Type: Grant
    Filed: October 25, 2012
    Date of Patent: September 15, 2015
    Assignee: NICIRA, INC.
    Inventors: Teemu Koponen, Pankaj Thakkar, Natasha Gude, W. Andrew Lambeth, Amar Padmanabhan, Alan Shieh, Jeremy Stribling, Alexander Yip, Ronghua Zhang, Martin Casado
  • Patent number: 9106587
    Abstract: A network control system for managing several switching elements. The network control system includes first and second controllers for generating data for managing first and second sets of switching elements. The first controller is further for serving as a master controller of the first set of switching elements. The second controller is further for serving as a master controller of the second set of switching elements. The master controller for a particular set of switching elements is the only controller that is allowed to propagate data to the particular set of switching elements data for managing the particular set of switching elements.
    Type: Grant
    Filed: August 25, 2011
    Date of Patent: August 11, 2015
    Assignee: NICIRA, INC.
    Inventors: Teemu Koponen, Martin Casado, Jeremy Stribling, Natasha Gude, W. Andrew Lambeth
  • Patent number: 9008087
    Abstract: A control system that includes several controllers for managing several switching elements. A first controller receives a request to modify a data tuple stored in a network information base (NIB) storage of the first controller that stores data for managing a set of switching elements. The first controller determines whether the received request to modify should be processed by the first controller. When the received request should be modified by the first controller, the first controller modifies the set of data in the NIB storage. The first controller updates a request list that is propagated between the controllers to disseminate requests to modify different data tuples that are stored in the NIB storages of the different controllers.
    Type: Grant
    Filed: August 26, 2011
    Date of Patent: April 14, 2015
    Assignee: Nicira, Inc.
    Inventors: W. Andrew Lambeth, Jeremy Stribling, Teemu Koponen
  • Publication number: 20150082322
    Abstract: Techniques for facilitating data upgrades in a distributed system are provided. In one embodiment, a first instance of a distributed application executing on a first node of a distributed system can receive a message from a second instance of the distributed application executing on a second node of the distributed system. The first instance of the distributed application can then determine, via logic included in application code generated by an interface definition language (IDL) compiler, whether the message can be natively understood. If the message cannot be natively understood, the first instance of the distributed application can invoke a translation service for translating the message.
    Type: Application
    Filed: September 16, 2013
    Publication date: March 19, 2015
    Applicant: Nicira, Inc.
    Inventor: Jeremy Stribling
  • Patent number: 8966040
    Abstract: Some embodiments provide a program for managing several switching elements. The program receives, at a network information base (NIB) data structure that stores data for managing the several switching elements, a request to notify a first application that uses the NIB when a set of data stored in the NIB is changed. The program changes, in response to an instruction from a second application, the set of data in the NIB. The program sends a notification to the first application of the change to the set of data in the NIB.
    Type: Grant
    Filed: July 6, 2011
    Date of Patent: February 24, 2015
    Assignee: Nicira, Inc.
    Inventors: Teemu Koponen, Martin Casado, Jeremy Stribling, Natasha Gude
  • Publication number: 20150049632
    Abstract: A method for upgrading a set of controller nodes in a controller cluster that manages a plurality of forwarding elements in a way that minimizes dataplane outages. The method of some embodiments upgrades the control applications of a subset of the controller nodes before upgrading a decisive controller node. Once the decisive controller node is upgraded, the method switches the controller cluster to use a new version of the control applications.
    Type: Application
    Filed: October 31, 2013
    Publication date: February 19, 2015
    Applicant: Nicira, Inc.
    Inventors: Amar Padmanabhan, Jeremy Stribling, W. Andrew Lambeth, Natasha Gude
  • Publication number: 20150009835
    Abstract: Some embodiments provide a network controller for managing a logical network that spans several physical domains. The network controller is located at a particular one of the several physical domains. The network controller includes a first storage for storing network state information that is local to the particular physical domain. The network controller includes a second storage for storing a first type of global network state information for the logical network. The network controller includes a third storage for storing a second type of global network state information for the logical network. The network controller includes an interface for communicating with other network controllers located at the other physical domains in the several physical domains spanned by the logical network. The interface is for sharing the first and second types of global network state information.
    Type: Application
    Filed: June 30, 2014
    Publication date: January 8, 2015
    Inventors: Teemu Koponen, Bruce Davie, Jeremy Stribling
  • Publication number: 20150009796
    Abstract: Some embodiments provide a method for a first network controller located at a first domain that manages a logical network spanning several physical domains including the first domain. Upon reconnection to a second network controller located at a second physical domain of the several physical domains after a period of disconnect, the method receives a first set of updates indicating modifications to logical network state from the second network controller. The method reconciles any conflicts between (i) the logical network state stored at the first controller, (ii) the first set of updates received from the second network controller, and (iii) updates received from other network controllers located at different physical domains of the several physical domains. The method transmits a second set of updates to the second controller indicating modifications to the logical network state based on the reconciliation of conflicts.
    Type: Application
    Filed: June 30, 2014
    Publication date: January 8, 2015
    Inventors: Teemu Koponen, Bruce Davie, Jeremy Stribling
  • Publication number: 20150009797
    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 detects that connectivity is lost between the first network controller and a second network controller located in a second one of the physical domains. The method identifies a set of forwarding elements managed by the first network controller that implement the logical network. The method instructs the set of forwarding elements to drop packets for the logical network received from forwarding elements in the second physical domain.
    Type: Application
    Filed: June 30, 2014
    Publication date: January 8, 2015
    Inventors: Teemu Koponen, Bruce Davie, Jeremy Stribling
  • Publication number: 20150010012
    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: June 30, 2014
    Publication date: January 8, 2015
    Inventors: Teemu Koponen, Bruce Davie, Jeremy Stribling
  • Patent number: 8880468
    Abstract: Some embodiments provide a system for managing several switching elements. The system includes a network information base (NIB) data structure for serving as a primary storage structure for storing data for managing the several switching elements. The system includes a secondary storage structure for storing a copy of a set of data stored in the primary storage structure for managing the several the switching elements.
    Type: Grant
    Filed: July 6, 2011
    Date of Patent: November 4, 2014
    Assignee: Nicira, Inc.
    Inventors: Teemu Koponen, Martin Casado, Jeremy Stribling, Natasha Gude
  • Patent number: 8830823
    Abstract: Some embodiments provide a program that monitors several network controllers in a network. Each network controller manages a logical data path set that is implemented across several managed switching elements. The program detects that a first network controller in the several network controllers has failed. The program selects a second network controller in the several network controllers to manage the logical data path set managed by the first network controller.
    Type: Grant
    Filed: July 6, 2011
    Date of Patent: September 9, 2014
    Assignee: Nicira, Inc.
    Inventors: Teemu Koponen, Martin Casado, Natasha Gude, Jeremy Stribling
  • Patent number: 8775594
    Abstract: A network control system that includes several controllers for managing several switching elements and a distributed hash table (DHT) formed across the controllers for storing data regarding the switching elements that is accessible by the controllers. Each hash table serves as a DHT instance. In some embodiments, the DHT instances of all controller instances collectively store one set of records that is indexed based on hashed indices for quick access. These records are distributed across the different controller instances to minimize the size of the records within each instance and to allow for the size of the DHT to be increased by adding other DHT instances. According to this scheme, each DHT record is not stored in each controller instance. In fact, in some embodiments, each DHT record is stored in at most one controller instance.
    Type: Grant
    Filed: August 25, 2011
    Date of Patent: July 8, 2014
    Assignee: Nicira, Inc.
    Inventors: Teemu Koponen, Martin Casado, Jeremy Stribling, Natasha Gude
  • Patent number: 8743889
    Abstract: Some embodiments provide a program for managing several switching elements. The program receives, at a network information base (NIB) data structure that stores data for managing the several switching elements, a request to modify data stored in at least one particular switching element. The program modifies at least a first set of data tuples stored in the NIB for managing the particular switching element. The program sends a request to the particular switching element to modify at least a second set of data tuples for managing the particular switching element's operation.
    Type: Grant
    Filed: July 6, 2011
    Date of Patent: June 3, 2014
    Assignee: Nicira, Inc.
    Inventors: Teemu Koponen, Martin Casado, Jeremy Stribling, Natasha Gude
  • Patent number: 8717895
    Abstract: Some embodiments provide a virtualizer for managing a plurality of managed switching elements that forward data through a network. The virtualizer comprises a first set of tables for storing input logical forwarding plane data and a second set of tables for storing output physical control plane data. It also includes a table mapping engine for mapping the input logical forwarding plane data in the first set of tables to output physical control plane data in the second set of tables by performing a set of database join operations on the input logical forwarding plane data in the first set of tables. In some embodiments, the physical control plane data is subsequently translated into physical forwarding behaviors that direct the forwarding of data by the managed switching elements.
    Type: Grant
    Filed: July 6, 2011
    Date of Patent: May 6, 2014
    Assignee: Nicira, Inc.
    Inventors: Teemu Koponen, Pankaj Thakkar, Martin Casado, W. Andrew Lambeth, Alexander Yip, Jeremy Stribling
  • Publication number: 20130058356
    Abstract: Some embodiments provide a program for managing several switching elements. The program receives, at a network information base (NIB) data structure that stores data for managing the several switching elements, a request to modify data stored in at least one particular switching element. The program modifies at least a first set of data tuples stored in the NIB for managing the particular switching element. The program sends a request to the particular switching element to modify at least a second set of data tuples for managing the particular switching element's operation.
    Type: Application
    Filed: July 6, 2011
    Publication date: March 7, 2013
    Inventors: Teemu Koponen, Martin Casado, Jeremy Stribling, Natasha Gude
  • Publication number: 20130058215
    Abstract: Some embodiments provide a virtualizer for managing a plurality of managed switching elements that forward data through a network. The virtualizer comprises a first set of tables for storing input logical forwarding plane data and a second set of tables for storing output physical control plane data. It also includes a table mapping engine for mapping the input logical forwarding plane data in the first set of tables to output physical control plane data in the second set of tables by performing a set of database join operations on the input logical forwarding plane data in the first set of tables. In some embodiments, the physical control plane data is subsequently translated into physical forwarding behaviors that direct the forwarding of data by the managed switching elements.
    Type: Application
    Filed: July 6, 2011
    Publication date: March 7, 2013
    Inventors: Teemu Koponen, Pankaj Thakkar, Martin Casado, W. Andrew Lambeth, Alexander Yip, Jeremy Stribling
  • Publication number: 20130058348
    Abstract: A network control system for managing several switching elements. The network control system includes first and second controllers for generating data for managing first and second sets of switching elements. The first controller is further for serving as a master controller of the first set of switching elements. The second controller is further for serving as a master controller of the second set of switching elements. The master controller for a particular set of switching elements is the only controller that is allowed to propagate data to the particular set of switching elements data for managing the particular set of switching elements.
    Type: Application
    Filed: August 25, 2011
    Publication date: March 7, 2013
    Inventors: Teemu Koponen, Martin Casado, Jeremy Stribling, Natasha Gude, W. Andrew Lambeth
  • Publication number: 20130060929
    Abstract: Some embodiments provide a program that monitors several network controllers in a network. Each network controller manages a logical data path set that is implemented across several managed switching elements. The program detects that a first network controller in the several network controllers has failed. The program selects a second network controller in the several network controllers to manage the logical data path set managed by the first network controller.
    Type: Application
    Filed: July 6, 2011
    Publication date: March 7, 2013
    Inventors: Teemu Koponen, Martin Casado, Natasha Gude, Jeremy Stribling