In some known network topologies, nodes may be arranged in a bus topology where a common backbone connects all of the nodes. In other known network topologies, nodes may be arranged in a ring topology where each node in a chain has two neighbors and the last node connects back to the first node. In still other known network topologies, nodes may be arranged in a star topology where each of the child nodes connect directly back to one parent node. In still other known network topologies, nodes may be arranged in a tree topology where a root node spawns one or more levels of nodes and each child node on a lower level connects directly to their parent at a higher level of the tree. In still other known network topologies, nodes may be arranged in a mesh topology where one or more of the nodes connect to one or more of the other nodes providing a plurality of paths through the network.
Disclosed embodiments provide a method and communication system including a smooth growth non-overlapping ring network that reduces costs (e.g., the number of network links and the complexity associated with establishing such links) while providing resiliency to failure and meeting quality of service requirements (e.g., network delay attributed to traversing the network architecture).
According to an illustrative embodiment, a communication system includes a plurality of nodes. The nodes are communicatively connected to form a plurality of non-overlapping rings. At least one of the rings has an order of a plurality of node positions that corresponds to a smooth growth non-overlapping ring network configuration.
According to an illustrative embodiment, a method of establishing a smooth growth non-overlapping ring network comprises selecting at least one initial network configuration comprising a plurality of nodes. The nodes are in an order corresponding to direct communicative connections between nodes that are immediately adjacent each other in the order. At least one criterion is selected and the smooth growth non-overlapping ring network has to satisfy that criterion. A respective plurality of additional nodes in respective node position orders are added to the initial network configuration. A maximum number of nodes in the respective pluralities of additional nodes that can satisfy the at least one criterion when they are added to the initial network configuration is determined. The smooth growth non-overlapping ring network is established based on the initial network configuration and the plurality of additional nodes that has a greatest determined maximum number of nodes.
Various embodiments are illustrated in the accompanying drawings, in which:
To facilitate understanding, identical reference numerals have been used among the drawings to designate elements having substantially the same or similar structure or substantially the same or similar function.
The description and drawings illustrate the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its scope. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Additionally, the term, “or,” as used herein, refers to a non-exclusive or, unless otherwise indicated (e.g., “or else” or “or in the alternative”). Also, the various embodiments described herein are not necessarily mutually exclusive, as some embodiments can be combined with one or more other embodiments to form new embodiments.
Various embodiments provide a method and apparatus of providing a non-overlapping ring-mesh network topology which reduces costs (e.g., the number of network links) while providing resiliency to failure and meeting QoS requirements (e.g., network delay attributed to traversing the network architecture). In particular, a set of target nodes belonging to a cluster are connected through N rings. Each node is member of all N rings and no link between nodes in a ring is duplicated in another ring. Advantageously, the non-overlapping ring-mesh topology requires a decreased number of connectors at each node and total network connections in order to provide the resiliency to failure, high connectivity and comparable hop count of the shortest path between two nodes of other known network topologies such as mesh and cluster topologies.
Though description and drawings illustrate embodiments of the non-overlapping ring-mesh topology in a switch cluster in a data center, it will be appreciated that the non-overlapping ring-mesh topology may be used to provide connectivity between nodes in any suitable network.
TOR switches 110 switch data between resources in an associated rack and an appropriate EOR switch. For example, TOR switch 110-1-1 switches data from resources in rack 105 to network 1006 via an appropriate EOR switch (e.g., EOR switch 140-1).
Resources 120 may be any suitable devices or nodes, such as processors (e.g., compute nodes that are configured to perform at least one computing operation), memory, storage, switches, routers or network elements. It should be appreciated that while five resources are illustrated in each rack (e.g., rack 105), each rack may include fewer or more resources and each rack may contain different types or numbers of resources. In some embodiments, an application may be supported by multiple component instances such as virtual machines (VMs) or virtualized storage. These component instances may include varied resources connected within the data center network architecture 100A.
As illustrated, each resource 120 is labeled using a row-column-resource number nomenclature. For example, resource 120-2-3-4 would be the fourth resource in the rack residing in the second row and third column.
EOR switches 140 switch data between an associated TOR switch and an appropriate aggregation switch. For example, EOR switch 140-1 switches data from TOR switches 110-1-1-210-1-x to network 100B via an appropriate aggregation switch (e.g., aggregation switch 150-1 or 150-2).
Aggregation switches 150 switch data between an associated EOR switch and an appropriate router. For example, TOR switch 110-1-1 switches data from resources in rack 105 to network 100B via an appropriate EOR switch (e.g., EOR switch 140-1) and an appropriate aggregation switch (e.g., aggregation switch 150-1 or 150-2).
Routers 160 switch data between network 1006 and data center 100A via an appropriate aggregation switch. For example, router 160-1 may switch data from network 1006 to data center 100A via aggregation switch 150-1.
The network 1006 includes any number of access and edge nodes and network devices and any number and configuration of links (not shown for purposes of clarity). Moreover, it should be appreciated that network 100B may include any combination and any number of wireless, or wire line networks including: LTE, GSM, CDMA, Local Area Network(s) (LAN),
Wireless Local Area Network(s) (WLAN), Wide Area Network (WAN), Metropolitan Area Network (MAN), or the like.
In some embodiments, TOR switches 120 or EOR switches 140 are Ethernet switches.
In some embodiments, TOR switches 120 or EOR switches 140 may be arranged to be redundant. For example, rack 105 may be serviced by two or more TOR switches 110.
In some embodiments, aggregation switches 150 are layer 2 Ethernet switches.
It should be appreciated that switch cluster 260 may be arranged in any suitable configuration and that switch cluster 260 is just one example architecture being used for discussion purposes. In some embodiments, switch cluster 260 may include the TOR switches 110 from
In some embodiments, the flexible data center network architecture 200A may contain more switch cluster 260s. In some of these embodiments, TOR switches or EOR switches may be arranged in a plurality of switch clusters. In some of these embodiments, one or more of the plurality of switch clusters may be designed to support a particular quality of service (QoS) criteria. For example, virtual machines or virtualized storage may be placed in appropriate clusters upon creation depending on their QoS requirements or the location of their peers.
In some embodiments, the switch clusters may be deployed in addition to a conventional network topology such as a tree network topology. Advantageously, a switch cluster arrangement may off-load traffic from the north-south links of the tree network.
A ring that is one of a plurality of “non-overlapping rings” does not have any link between nodes that is duplicated in another ring. In the illustrated example, all three of the non-overlapping rings have the same nodes. Each of the illustrated nodes has a direct link with each of two other nodes in each ring. The two nodes with which a first one of the nodes is directly linked in one of the rings are different than the two nodes directly linked with that first one of the nodes in each of the other rings.
Seventeen nodes are illustrated for discussion purposes but data center 200B may include fewer or more nodes. It should be appreciated that nodes may include connections to components other than target nodes making up the switch cluster. For example, nodes may connect to: (i) resources (e.g., resources 120 of
Links support communicating over one or more communication channels such as: wireless communications (e.g., LTE, GSM, CDMA, Bluetooth); femtocell communications (e.g., WiFi); packet network communications (e.g., IP); broadband communications (e.g., DOCSIS and DSL); storage communications (e.g., Fibre Channel, iSCSI) and the like. It should be appreciated that though depicted as a single connection, links may be any number or combinations of communication channels.
As illustrated, data center 200B is a three-hop network including 17 nodes arranged in three “non-overlapping rings”. A first one of the rings, Ring1, is illustrated using curved lines to represent respective communicative connections or links between adjacent ones of the nodes 1-17. A second one of the rings, Ring2, is illustrated using solid straight lines to represent the links between nodes. A third one of the rings, Ring3, is illustrated using broken straight lines to represent the links between the nodes. As can be appreciated from the illustration all of the rings include the same nodes 1-17 and none of the direct links between respective nodes in one of the rings are in either of the other rings.
The non-overlapping rings illustrated in
Ring 1={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}
Ring 2={1, 14, 3, 8, 2, 9, 7, 16, 4, 17, 12, 6, 11, 5, 13, 10, 15}
Ring 3={1, 7, 2, 4, 9, 16, 11, 13, 6, 14, 10, 5, 17, 3, 12, 15, 8}
The notation {n1, n2, n3, n4, . . . , nk} denotes a ring where neighboring nodes (e.g., those that are immediately adjacent to each other in the presented order) are connected without another of the nodes between them (e.g., directly linked to each other) and the node nk is connected back to the n1.
Connecting the nodes in a non-overlapping ring arrangement provides route diversity, resiliency and high connectivity. For example, the non-overlapping rings allow for using fewer connectors at a node and fewer network links than a conventional super cluster arrangement while still providing protection against a single failure (e.g., node or link) and providing comparable throughput (e.g., a comparable hop count).
An “N-hop” network of this description provides N-hop connectivity (or less) between substantially any combination of nodes in the node cluster where “substantially” means greater than ninety nine percent (99%). In other words, constructions of an N-hop node cluster may include possible node cluster constructions where communication between two selected nodes requires more than N hops. For example, considering 1000 potential a 3-hop, 64 node network configurations constructed using 4 non-overlapping rings may have a percentage of node combinations requiring 4 hops of the total potential node combinations in the range from 0.00%-0.15%. In a second example, 1000 potential ring constructions for a 3-hop, 80 node network constructed using 4 non-overlapping rings may have a percentage of node combinations requiring 4 hops of the total potential node combinations in the range from 0.00%-0.47%.
In some embodiments, the nodes include a routing protocol such as IS-IS (ISO 10589) to determine the topology of the network and use the shortest path between two nodes in forwarding data (e.g., packets).
As can be appreciated by considering the links that are schematically shown in
According to one example, an SG-NOR network is constructed by assuming that the initial or baseline NOR network will satisfy a given criteria, referred to as criteria C. A NOR network is established with an appropriate number of rings and nodes using a ring construction algorithm like that described above. If that network satisfies the criteria C, a new or additional node is added to the network using the ring growth algorithm and the resulting network is tested to see whether it satisfies the criteria C. This is schematically shown in
Additional or new nodes are repeatedly added until the resulting network no longer satisfies the criteria C. In
n is the number of nodes of the current network, which is initially set to N (i.e., the initial network configuration);
M1 is the total number of growth sequences that will be executed, which is set to one at the beginning of the flowchart 1000;
j is the parameter used as an index indicating the number of the current growth sequence;
S(j) is the size of the terminating network of the growth sequence j; and
Conf (j) is the network configuration of the last stage of the growth sequence j that satisfies the criteria C.
The process summarized in
At 1130, a determination is made whether the new NOR network satisfies the criteria C. If the new NOR network satisfies the criteria C, then the value of i is incremented at 1170 and another new or additional node is inserted at 1120.
Once a node is added such that the network no longer satisfies the criteria C, the size of the resulting network is established at 1140 and the configuration of the previous stage of the network (i.e., the network configuration prior to adding the node that resulted in no longer being able to satisfy the criteria C) is stored as Conf (j) at 1150. The previous configuration of the network can easily be obtained from the current network by removing the node i+1 that was most recently inserted into the network. At 1160, the growth sequence number j is incremented and the next growth sequence proceeds.
Eventually the desired number of growth sequences will have been completed and the determination made at 1110 indicates that j is greater than M1. At this point, the process summarized in
The example of
M2 is the number of start networks or initial network configurations that will be used;
k is the index of a current initial network configuration;
S1(k) is the maximum size of the terminating network for the initial network with the index k; and
Conf1(k) is the network configuration of the SG-NOR network having the maximum number of nodes beginning with the initial network k.
The example of
Assuming that all of the initial networks have not yet been considered, the process continues at 1220 where an initial network will be created based on a set of parameters, such as the number of nodes and the number of rings so that the initial NOR network N may be realized for this iteration. At 1230, a determination is made whether the initial network configuration satisfies the criteria C. Assuming that it does, the process shown in
At 1250, the two outputs S(j*) and Conf (j*) are used for establishing the values S1(k) and Conf1(k), respectively.
At 1260, the index k for the initial network configuration is incremented and the new value of k is evaluated at 1210. Once the desired number of initial networks have been utilized with the process summarized in
For discussion purposes, consider a network diameter of 3 hops as one design criterion. Beginning with an initial network having 11 nodes and two non-overlapping rings, the algorithm summarized in
Consider another example in which the initial network is designed to have 22 nodes and three rings. Assuming the process summarized in
According to one example, the configuration of the 3-ring 49-node SG-NOR network rings at its last stage is as follows:
R1: {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49}
R2: {1 20 8 42 26 49 24 33 13 41 29 3 7 16 48 32 2 43 37 35 9 45 47 18 38 46 6 30 44 34 27 12 40 14 4 19 31 36 11 5 23 28 21 10 39 22 17 25 15}
R3: {1 5 33 44 19 34 23 16 9 47 30 24 21 27 8 29 40 42 31 12 48 20 18 26 2 7 25 45 13 32 35 4 39 15 41 649 11 46 22 43 38 28 37 3 17 10 36 14}
According to another embodiment, a 2-ring 25 node SG-NOR network is as follows at its last stage:
R1: {1 2 3 4 5 22 23 24 25}
R2: {1 8 22 17 25 6 23 14 16 3 24 9 18 11 5 2 20 5 7 12 4 19 21 13 10}
For situations in which a larger NOR network is desired, it is possible to use the techniques described above to establish a SG-NOR network with each ring including up to 86 nodes with four rings in the network so that the diameter of the network is 3 hops for all stages of the SG-NOR network.
One of the features of a SG-NOR network is that a user can determine a network configuration with an initial network being the first stage of the SG-NOR network. The user has a clear indication of how such a network would grow if additional nodes are eventually added. Further, the user may more readily determine when additional rings may be needed. Another feature of an SG-NOR network designed according to an embodiment of this invention is that is provides the foundation for a cabling architecture for NOR networks that is far less prone to technician error, is far easier to troubleshoot and is more economical to implement and service compared to a NOR network that does not include an SG-NOR configuration.
An array of connectors 1310 are situated relative to the nodes for establishing links between the nodes such that they are communicatively connected to each other. One example embodiment includes an optical patch panel comprising a plurality of optical cross-connectors for facilitating cabling the SG-NOR network. Optical cabling is used as one example type of conductor for establishing the connections among the nodes along with the connectors 1310. In the example of
The SG-NOR configuration of the ring 1300 includes an order of node positions as follows: {1, 8, 22, 17, 25, 6, 23, 14, 16, 3, 24, 9, 18, 11, 5, 2, 20, 15, 7, 12, 4, 19, 21, 13, 10}. When all of the node positions includes a node, that may be referred to as the full configuration of the SG-NOR. Assuming that the ring 1300 is one of two rings for an SG-NOR network with a 3 hop maximum criteria, the other ring may be realized by using a node position order from node 1-node 25 in numerical order.
The configuration in
In the example of
There are more node positions or connectors 1310 available in
The arrangement in
Those skilled in the art will appreciate that the arrangement schematically shown in
If a third ring were required, another SG-NOR network configuration having a different order of node positions could be implemented on another portion of the same optical patch panel or a separate optical patch panel.
As jumper cables may degrade transmission quality, consecutive jumper cables may be replaced by a single long jumper cable. Those skilled in the art who have the benefit of this description will be able to determine an appropriate jumper cable configuration to meet their particular needs.
One feature of the example of
Although depicted and described herein with respect to embodiments in which, for example, programs and logic are stored within the data storage and the memory is communicatively connected to the processor, it should be appreciated that such information may be stored in any other suitable manner (e.g., using any suitable number of memories, storages or databases); using any suitable arrangement of memories, storages or databases communicatively connected to any suitable arrangement of devices; storing information in any suitable combination of memory(s), storage(s) or internal or external database(s); or using any suitable number of accessible external memories, storages or databases. As such, the term data storage referred to herein is meant to encompass all suitable combinations of memory(s), storage(s), and database(s).
The description and drawings merely illustrate the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.
The functions of the various elements shown in the FIGs., including any functional blocks labeled as “processors”, may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional or custom, may also be included. Similarly, any switches shown in the FIGS. are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
It should be appreciated that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. Similarly, it should be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
Number | Date | Country | |
---|---|---|---|
Parent | 13528889 | Jun 2012 | US |
Child | 13833590 | US |