Federating interconnection switching element network to two or more levels
First Claim
1. A network control system for interconnecting a plurality of separate networks arranged in a plurality of domains at at least two different levels, wherein a first domain at a first level contains at least two domains at a second level, the system comprising:
- a plurality of interconnection switching elements, each interconnection switching element in the plurality for connecting one of the separate networks to a common interconnecting network; and
a first set of network controllers for managing a first set of the interconnection switching elements at a first set of the separate networks that form a first domain at the second level by defining a first logical datapath set, the first logical datapath set having logical ports to which networks within the first set of separate networks couple and to which at least a second logical datapath set couples, the first logical datapath set for implementation by the first set of interconnection switching elements in order for machines at the first set of separate networks to communicate with each other, wherein at least one of the network controllers in the first set of network controllers is for managing a plurality of the interconnection switching elements of the first set of interconnection switching elements;
a second set of network controllers for managing a second set of the interconnection switching elements at a second set of the separate networks that form a second domain at the second level by defining the second logical datapath set, the second logical datapath set having logical ports to which networks within the second set of separate networks couple and to which at least the first logical datapath set couples, the second logical datapath set for implementation by the second set of interconnection switching elements in order for machines at the second set of separate networks to communicate with each other, wherein at least one of the network controllers in the second set of network controllers is for managing a plurality of the interconnection switching elements of the second set of interconnection switching elements; and
a third set of network controllers for managing the first and second sets of network controllers by defining a third logical datapath set having logical ports to which the networks in the first and second sets of separate networks couple, the third logical datapath set for implementation by the first and second sets of interconnection switching elements in order for machines at the first set of separate networks to communicate with machines at the second set of separate networks, wherein the first and second sets of separate networks belong to the first domain at the first level, which contains the first and second domains at the second level,wherein each network controller in the first, second, and third sets of network controllers is for execution by at least one processing unit of a server.
1 Assignment
0 Petitions
Accused Products
Abstract
A network control system for interconnecting several separate networks. The system includes i) several interconnection switching elements, each of which is for connecting one of the separate networks to a common interconnecting network, ii) a first set of network controllers for managing a first set of the interconnection switching elements at a first set of separate networks in order for machines at different networks within the first set to communicate with each other, iii) a second set of network controllers for managing a second set of interconnection switching elements at a second set of separate networks in order for machines at different networks within the second set to communicate with each other, and iv) a third set of network controllers for managing the first and second sets of network controllers in order for machines at networks in the first set to communicate with machines at networks in the second set.
265 Citations
20 Claims
-
1. A network control system for interconnecting a plurality of separate networks arranged in a plurality of domains at at least two different levels, wherein a first domain at a first level contains at least two domains at a second level, the system comprising:
-
a plurality of interconnection switching elements, each interconnection switching element in the plurality for connecting one of the separate networks to a common interconnecting network; and a first set of network controllers for managing a first set of the interconnection switching elements at a first set of the separate networks that form a first domain at the second level by defining a first logical datapath set, the first logical datapath set having logical ports to which networks within the first set of separate networks couple and to which at least a second logical datapath set couples, the first logical datapath set for implementation by the first set of interconnection switching elements in order for machines at the first set of separate networks to communicate with each other, wherein at least one of the network controllers in the first set of network controllers is for managing a plurality of the interconnection switching elements of the first set of interconnection switching elements; a second set of network controllers for managing a second set of the interconnection switching elements at a second set of the separate networks that form a second domain at the second level by defining the second logical datapath set, the second logical datapath set having logical ports to which networks within the second set of separate networks couple and to which at least the first logical datapath set couples, the second logical datapath set for implementation by the second set of interconnection switching elements in order for machines at the second set of separate networks to communicate with each other, wherein at least one of the network controllers in the second set of network controllers is for managing a plurality of the interconnection switching elements of the second set of interconnection switching elements; and a third set of network controllers for managing the first and second sets of network controllers by defining a third logical datapath set having logical ports to which the networks in the first and second sets of separate networks couple, the third logical datapath set for implementation by the first and second sets of interconnection switching elements in order for machines at the first set of separate networks to communicate with machines at the second set of separate networks, wherein the first and second sets of separate networks belong to the first domain at the first level, which contains the first and second domains at the second level, wherein each network controller in the first, second, and third sets of network controllers is for execution by at least one processing unit of a server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for forwarding a packet at an interconnection switching element in a managed network of interconnection switching elements, each interconnection switching element located at one of a plurality of segmented networks, the segmented networks arranged in a plurality of domains at a plurality of different levels, wherein a plurality of the domains at a first level contains more than one domain at a next lower level, wherein the interconnection switching elements located in a particular domain at a particular level implement a logical datapath set that couples to network segments located within the particular domain as well as to other domains of the particular level within the domain at a next highest level that contains the particular domain, the method comprising:
-
at a first managed interconnection switching element located at a first network in a first domain of the lowest level, receiving a packet from a machine on a first network segment in the first network, the packet having an address identifying a destination machine located on a second network segment in a second, different network, the second network located in a second domain of the lowest level, the second domain different than the first domain; removing a context tag that identifies the network segment within the first network; based on a mapping of the destination address of the packet to a particular destination network, encapsulating the packet with a first context identifier that identifies a first logical egress port of a first logical datapath set at a highest level that couples to all of the networks in all of the lowest-level domains, the first logical datapath set implemented by the interconnection switching elements at all of the lowest-level domains; based on a mapping of the first logical port to subsequent logical ports of logical datapath sets at each of the next lowest levels, encapsulating the packet with an additional logical context identifier for each level, each of the additional logical context identifiers identifying a logical egress port of a logical datapath set at a lower level mapped from a port of a logical datapath set at the next higher level, wherein each of the logical datapath sets has a particular level and defines mappings between (i) logical ports of a logical datapath set at the next level higher and its logical ports and (ii) logical ports of one or more logical datapath sets at the next level lower and its logical ports; and transmitting the packet with a plurality of encapsulations out of a port of the interconnection switching element based on a lowest-level context identifier. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification