US20170317923A1 - Method for quick reconfiguration of routing in the event of a fault in a port of a switch - Google Patents
Method for quick reconfiguration of routing in the event of a fault in a port of a switch Download PDFInfo
- Publication number
- US20170317923A1 US20170317923A1 US15/524,475 US201515524475A US2017317923A1 US 20170317923 A1 US20170317923 A1 US 20170317923A1 US 201515524475 A US201515524475 A US 201515524475A US 2017317923 A1 US2017317923 A1 US 2017317923A1
- Authority
- US
- United States
- Prior art keywords
- port
- identifier
- routing
- updating
- switch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000015654 memory Effects 0.000 claims abstract description 30
- 230000003936 working memory Effects 0.000 claims abstract description 28
- 230000002085 persistent effect Effects 0.000 claims abstract description 16
- 238000003860 storage Methods 0.000 claims description 2
- 230000011664 signaling Effects 0.000 description 12
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 5
- 230000035484 reaction time Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000280 densification Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4435—Memory management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/74—Admission control; Resource allocation measures in reaction to resource unavailability
- H04L47/746—Reaction triggered by a failure
Definitions
- the invention relates to a method for quick reconfiguration of routing in the event of a fault in a port of a switch. More specifically, the invention relates to a method for quick reconfiguration of routing in the event of a fault in a port of a switch of a network of computing nodes.
- fault in a port in the present document is taken to mean the change of state of a port. Such a change of state takes place, for example, for a fault in the port, but also for a fault in a hardware or software element connected to the port, such as a cable or even a logical link.
- Network of computing nodes is taken to mean, within the scope of the present document, any network of machines, a machine being at least selected from: a computer, a server, a blade server, etc. Particularly targeted are clusters of servers, that is to say supercomputers or instead high performance computers. The field of high performance computing designated HPC is also targeted.
- the technical problem is based on a temporal problematic. It concerns a problem of optimisation which aims to minimise the reaction time from the detection of the fault to its circumvention. Beyond a reaction time defined by the applicative criteria, a parallel programme will fail. On the other hand, if a circumvention solution is found and deployed before the expiry of this reaction time, the fault will be invisible for the applications affected.
- the action lever acts on the routing, that is to say the computation and the use of the paths that a message must follow on a network in order to reach its destination.
- a recalculation operation has to be launched to take into account the fault and to circumvent it, in order on the one hand to leave the support teams time to intervene and on the other hand to minimise the disrupting impact of the failure.
- the present invention offers a solution to make it possible to drastically reduce recovery times following a fault, passing below the detection threshold of computing applications.
- the types of faults covered go from the loss of a link to the loss of a router.
- the efficiency of the correction depends on the high performance topology and the position of the fault.
- the invention implements a distribution as close as possible to the re-routing operation which enables a scaling up and makes it possible to obtain a solution that works not just with existing scales but also with future scales. For all that, this distribution, if it leads to the expected confrontation of the problematics inherent to the field, must also ideally take place as close as possible to the failure, that is to say within the router.
- This implementation as close as possible to the fault enables the reduction of the detection-action time to a minimum but only offers very limited resources, reducing the field of action of algorithms. It makes it possible however to provide a continuity of routing to the applications which avoids said applications defaulting.
- the invention is a method that can be run directly on the control boards associated with each switch of a network. These boards are on-board computers of modest size, which are notably responsible for communication with a management network, the management of errors as well as the routing tables.
- the method according to the invention is capable of recalculating a routing, by replacing the routes which used a faulty port by a new operational route.
- This local information is partial, but it is sufficient to put in place an operational re-routing, in most cases.
- one aspect of the invention relates to a method for quick reconfiguration of routing in the event of a fault in a port of a switch comprising a plurality of ports, a persistent memory for maintaining data corresponding to a routing table and a working memory for working on data corresponding to a routing table characterised in that it comprises the following steps
- the method/device according to the invention may have one or more additional characteristics among the following, considered individually or according to any technically possible combinations thereof:
- the invention also relates to a digital storage device comprising a file corresponding to instruction codes implementing the method according to a combination of the preceding characteristics.
- the invention also relates to a device implementing the method according to a combination of the preceding characteristics.
- FIG. 1 a view of a switch implementing a method according to the invention
- FIG. 2 an illustration of steps of the method according to the invention.
- FIG. 1 shows a device on which the invention may be implemented.
- FIG. 1 shows a switch 100 comprising:
- the microprocessor 110 of the switch 100 , the working memory 120 of the switch 100 , the persistent memory 130 of the switch 100 , the management port 140 of the switch 100 and the plurality 150 of working ports of the switch 100 are interconnected by at least one bus 160 .
- an action is ascribed to a device it is in fact carried out by a microprocessor of the device controlled by instruction codes saved in a memory of the device. If an action is ascribed to an application, it is in fact carried out by a microprocessor of the device in a memory of which the instruction codes corresponding to the application are saved.
- FIG. 1 shows that the persistent memory 130 comprises at least one routing table zone 130 . 1 comprising a plurality of routing recordings.
- a routing recording is composed of at least two fields
- a switch receives messages via a port and retransmits them via another port. This other port is determined by crossing at least one characteristic of a message with the recordings of the routing table.
- a message is at least characterised by a recipient information. This recipient information makes it possible to find a recording in the routing table. The recording found makes it possible to determine via which port the message must be retransmitted.
- FIG. 1 shows that the working memory 120 comprises several zones of which at least:
- FIG. 2 shows a preliminary step 1000 in which a failure takes place at the level of a port 150 . i of the plurality 150 of ports.
- a fault causes, in a known manner, the implementation, by the switch 100 of a signalling step 1010 .
- the present invention modifies this signalling step to add thereto connection instructions to steps specific to the invention.
- a failure, or fault may be due to the port itself, but also to a cable connected to the port, to another port connected to the port, to a link failure, that is to say a software problem making the port unusable . . . the list is not exhaustive
- the switch 100 produces and transmits a first signalling message via the management port 140 .
- the first signalling message is a message according to the Simple Network Management Protocol (SNMP), for example a TRAP or INFORM message.
- SNMP Simple Network Management Protocol
- the payload of this first message comprises at least one identifier of the switch and one identifier of the faulty port of the switch.
- the switch also updates 20 the status zone 120 . 2 of the working memory to write therein the “faulty” status in the recording corresponding to the faulty port.
- step 1010 the switch then passes to a step 1020 of updating the routing data in the working memory.
- This step is designated independent because it only uses local data, that is to say saved in memories of the switch and especially data produced by the switch.
- step 1020 of updating the routing data the switch searches for, in the routing table zone 120 . 1 of the working memory of the switch, the routing recordings comprising the identifier of the faulty port in their destination identifier field.
- the switch For each of the recordings found, the switch replaces the value of the faulty port identifier by a value of an operational port identifier. This updating thus takes place in the working memory of the switch. This updating will not be propagated in the persistent memory of the switch. This signifies that if the switch starts again, this updating will be lost. It is a temporary update, but quickly carried out.
- a routing table also exists in a memory of a specialised circuit.
- This specialised circuit dedicated to routing management, is used for performance reasons.
- This specialised circuit then comprises its own copy of the routing data.
- the routing data of the specialised circuit is also updated.
- the memory of such a specialised circuit is not persistent. Such an updating is thus temporary.
- the value of an operational port may be selected in several ways.
- a first mode for selecting a value is to choose the same value for all the updates. This selected value is then, for example:
- a second mode for selecting a value is to choose a value dependent on the updated recording.
- the updates are counted as they are carried out via a counter, a value is selected according to the first selection mode using the nth value, N being equal to the value of the counter.
- the port identifier value thus indeed changes for each new update.
- the search may be restricted to a sub-set of the available operational ports.
- a sub-set is predetermined, for example by parameterisation, and makes it possible to accelerate the selection or to ensure greater pertinence of the selected port.
- a notable difference between the first and second modes for selecting an updating value is that in the second mode the updating value is calculated for each update.
- the modes for selecting an updating value are not the only ones possible.
- the data of the port status zone 120 . 2 is sorted before scrolling it, a sorted list is thus obtained which can be scrolled according to at least one of the modes described.
- a sorting takes place for example according to the port identifier, another sorting takes place according to the port status, yet another sorting takes place according to a port load information.
- Such a load information is obtained by scrolling the routing table zone 120 . 1 and by making an aggregation on the port identifier, which makes it possible to obtain, for each port identifier, the number of occurrences in the zone 120 . 1 . This number of occurrences is the load of the port.
- each modification of the zone 120 . 1 of the routing table to recalculate is considered, at the moment of the modification, the load of the port concerned, which modifies the sorting for potential later modifications.
- only a sub-set of ports for the selection of the operational port identifier is considered.
- a pre-selection is thus carried out.
- this pre-selection makes it possible to exclude, for example, descending ports.
- the fact that a port is descending is a characteristic of the port which is saved, for example, such as a typical field in the port status zone 120 . 2 .
- the typical characteristic is entered by configuration when the switch 100 is put in place.
- a set of ports in which is selected an identifier is, for example:
- Step 1020 of updating the routing data in the working memory is followed by a step 1030 of transmitting a second signalling message via the management port 140 .
- the second signalling message is a message according to a SNMP protocol, for example a TRAP or INFORM message.
- the payload of this second message comprises at least one switch identifier and one description of the modifications made to the routing data in the working memory.
- the first signalling message and the second signalling message are sent to a management server, not represented.
- the management server uses the payloads to compute new routing information before transmitting this new routing information to the switch which has transmitted the signalling messages.
- the management server only has available one faulty port identifier.
- it knows in addition which modifications have been made by the quick correction carried out by the switch. It can thus take into account these modifications in its computation. Such a taking into account is:
- the management server sends a routing information updating message to the switch.
- a routing information updating message is a response to the signalling messages.
- the production of such a routing information updating message takes, with or without the invention, at least ten or so seconds, but this time generally exceeds a minute for very large topologies, that is to say topologies of more than 50,000 computing nodes.
- a step 1040 of receiving a message for updating a routing table the switch 100 receives the message produced by the server.
- a message is usual for a switch.
- the processing of such a message consists in using the data of the message to update the routing data in all the memories of the switch using these data. In our example, this includes the working memory and the persistent memory. After the processing of this updating message, if the switch starts again, the faulty switch will be correctly taken into account. The correction has been maintained.
- the invention remains valid for a switch using more memory.
- the microprocessor 110 of the switch 100 is a specialised circuit comprising a dedicated ultra-quick memory in which it saves the routing information.
- the invention makes it possible to update quickly the dedicated memory, but neither the working memory nor the persistent memory. It is also possible only to update the dedicated memory and the working memory.
- the principle of the invention is to update only the memories involved in routing operations, that is to say the memories used by the microprocessor to determine a route.
- modifications carried out by a rapid repair according to the invention are not stored in the persistent memory: they are temporary.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
- The invention relates to a method for quick reconfiguration of routing in the event of a fault in a port of a switch. More specifically, the invention relates to a method for quick reconfiguration of routing in the event of a fault in a port of a switch of a network of computing nodes.
- “Fault in a port” in the present document is taken to mean the change of state of a port. Such a change of state takes place, for example, for a fault in the port, but also for a fault in a hardware or software element connected to the port, such as a cable or even a logical link.
- Network of computing nodes is taken to mean, within the scope of the present document, any network of machines, a machine being at least selected from: a computer, a server, a blade server, etc. Particularly targeted are clusters of servers, that is to say supercomputers or instead high performance computers. The field of high performance computing designated HPC is also targeted.
- With the increasing size of supercomputers, the topologies of the corresponding networks are becoming more complex while becoming denser. Since the frequency of faults affecting the networks is dependent on the number of items of equipment, this frequency is increasing. At the same time, the items of computing equipment are being densified in such a way that the number of processor cores and the number of processors per computing node is increasing. That being the case, the impact of a fault, even conventional, or expected, such as a failure of an interconnection cable is capable of concerning a very large number of applications and inducing a failure in their execution. These occurrences, critical, are to be avoided and nevertheless they are destined to increase by the conjunction of the two factors described, namely the increase in the sizes of interconnection networks and the densification of computing means.
- The technical problem is based on a temporal problematic. It concerns a problem of optimisation which aims to minimise the reaction time from the detection of the fault to its circumvention. Beyond a reaction time defined by the applicative criteria, a parallel programme will fail. On the other hand, if a circumvention solution is found and deployed before the expiry of this reaction time, the fault will be invisible for the applications affected. The action lever acts on the routing, that is to say the computation and the use of the paths that a message must follow on a network in order to reach its destination. A recalculation operation has to be launched to take into account the fault and to circumvent it, in order on the one hand to leave the support teams time to intervene and on the other hand to minimise the disrupting impact of the failure.
- The increase in the size of network topologies and the number of items of equipment capable of transmitting messages is pushing existing routing algorithms to their ultimate limits. Their complexity makes their computing time soar and makes their reaction time pass beyond the attributable reaction time.
- Current supercomputers manage their routing, and thus re-routing operations, in a centralised manner: a single server is responsible for the recovery of the state of the topology as well as the consequent routing decisions. This is for example the case of “OpenSM”, the daemon used by Infiniband networks. This centralised approach does not scale up to the exaflop scale, or even to the scale of fifty or so petaflops. This was also the case with the MCP software component of Myrinet networks. None of these solutions:
-
- can be scaled up;
- offers the possibility of offering quick re-routing.
- It is in fact necessary to centralise the topology on a single point of the network, then to carry out an overall computation before redeploying the updated routing tables.
- The present invention offers a solution to make it possible to drastically reduce recovery times following a fault, passing below the detection threshold of computing applications. The types of faults covered go from the loss of a link to the loss of a router. The efficiency of the correction depends on the high performance topology and the position of the fault.
- The invention implements a distribution as close as possible to the re-routing operation which enables a scaling up and makes it possible to obtain a solution that works not just with existing scales but also with future scales. For all that, this distribution, if it leads to the expected confrontation of the problematics inherent to the field, must also ideally take place as close as possible to the failure, that is to say within the router. This implementation as close as possible to the fault enables the reduction of the detection-action time to a minimum but only offers very limited resources, reducing the field of action of algorithms. It makes it possible however to provide a continuity of routing to the applications which avoids said applications defaulting.
- The invention is a method that can be run directly on the control boards associated with each switch of a network. These boards are on-board computers of modest size, which are notably responsible for communication with a management network, the management of errors as well as the routing tables.
- Without any other information than that accessible locally, that is to say the availability of the ports, the method according to the invention is capable of recalculating a routing, by replacing the routes which used a faulty port by a new operational route. This local information is partial, but it is sufficient to put in place an operational re-routing, in most cases.
- In order to do so, one aspect of the invention relates to a method for quick reconfiguration of routing in the event of a fault in a port of a switch comprising a plurality of ports, a persistent memory for maintaining data corresponding to a routing table and a working memory for working on data corresponding to a routing table characterised in that it comprises the following steps
-
- Transmitting a first message to indicate a fault,
- Independently updating the routing data only in the working memory by replacing an identifier of the port with the fault with an identifier of an operational port, the identifier of the operational port being selected locally,
- Transmitting a second message to indicate that the table has been updated.
- Apart from the main characteristics that have been mentioned in the preceding paragraph, the method/device according to the invention may have one or more additional characteristics among the following, considered individually or according to any technically possible combinations thereof:
-
- It also comprises the following steps:
- Receiving a routing table updating message,
- Using data of the routing table updating message to update the working memory and the persistent memory, these updates being compliant with the data of the updating message.
- the operational port identifier used for the updating is selected from a set formed by identifiers of working ports of the plurality of ports.
- the operational port identifier used for the updating is selected randomly.
- the operational port identifier used for the updating is selected according to a counter corresponding to a number of updates carried out.
- the operational port identifier used for the updating is selected according to a predetermined ranking in a list of port identifiers,
- a list of ports used to select the operational port identifier is sorted.
- the sort criterion is the load of the ports.
- It also comprises the following steps:
- The invention also relates to a digital storage device comprising a file corresponding to instruction codes implementing the method according to a combination of the preceding characteristics.
- The invention also relates to a device implementing the method according to a combination of the preceding characteristics.
- Other characteristics and advantages of the invention will become clearer on reading the description that follows, with reference to the appended figures, which illustrate:
-
FIG. 1 , a view of a switch implementing a method according to the invention, -
FIG. 2 , an illustration of steps of the method according to the invention. - For greater clarity, identical or similar elements are marked by identical reference signs in all of the figures.
- The invention will be better understood on reading the description that follows and by examining the figures that accompany it. These are presented for indicative purposes and in no way limit the invention.
- In
FIG. 1 is illustrated a device on which the invention may be implemented.FIG. 1 shows aswitch 100 comprising: -
- a
microprocessor 110; - a working
memory 120, also called random access memory or RAM; - a
persistent memory 130, that is to say a memory capable of backing up data even in the absence of power supply, typically a flash memory is used, more rarely a SSD or conventional hard disc drive; - a
management port 140, in general it is an Ethernet port; - a
plurality 150 of working ports 150.i, in general they are InfiniBand ports.
- a
- The
microprocessor 110 of theswitch 100, the workingmemory 120 of theswitch 100, thepersistent memory 130 of theswitch 100, themanagement port 140 of theswitch 100 and theplurality 150 of working ports of theswitch 100 are interconnected by at least onebus 160. - When an action is ascribed to a device it is in fact carried out by a microprocessor of the device controlled by instruction codes saved in a memory of the device. If an action is ascribed to an application, it is in fact carried out by a microprocessor of the device in a memory of which the instruction codes corresponding to the application are saved.
-
FIG. 1 shows that thepersistent memory 130 comprises at least one routing table zone 130.1 comprising a plurality of routing recordings. A routing recording is composed of at least two fields -
- a destination identifier field,
- a port identifier field.
- A switch receives messages via a port and retransmits them via another port. This other port is determined by crossing at least one characteristic of a message with the recordings of the routing table. A message is at least characterised by a recipient information. This recipient information makes it possible to find a recording in the routing table. The recording found makes it possible to determine via which port the message must be retransmitted.
-
FIG. 1 shows that the workingmemory 120 comprises several zones of which at least: -
- a routing table zone 120.1, it is a copy of the routing table of the persistent memory, the accesses to this working memory are quick but this working memory is not capable of backing up data without power supply, the microprocessor thus loads the data from the persistent memory into the working memory, similarly when the processor wishes to save data in the persistent memory, it firstly writes it in the working memory;
- a port status zone 120.2 in which are saved the port status recordings, a port status recording comprising at least two fields:
- A first port identifier field,
- A second port status field, a status being chosen from among the list formed of at least: “operational”, “faulty”
- It may be noted here that a port may be faulty for various reasons:
-
- Defect at the level of the port,
- Defect at the level of a cable connected to the port,
- Absence of cable,
- The list is not exhaustive.
-
FIG. 2 shows apreliminary step 1000 in which a failure takes place at the level of a port 150.i of theplurality 150 of ports. Such a fault causes, in a known manner, the implementation, by theswitch 100 of asignalling step 1010. The present invention modifies this signalling step to add thereto connection instructions to steps specific to the invention. A failure, or fault, may be due to the port itself, but also to a cable connected to the port, to another port connected to the port, to a link failure, that is to say a software problem making the port unusable . . . the list is not exhaustive - In the
signalling step 1010 theswitch 100 produces and transmits a first signalling message via themanagement port 140. The first signalling message is a message according to the Simple Network Management Protocol (SNMP), for example a TRAP or INFORM message. The payload of this first message comprises at least one identifier of the switch and one identifier of the faulty port of the switch. In thesignalling step 1010 the switch also updates 20 the status zone 120.2 of the working memory to write therein the “faulty” status in the recording corresponding to the faulty port. - From
step 1010 the switch then passes to astep 1020 of updating the routing data in the working memory. This step is designated independent because it only uses local data, that is to say saved in memories of the switch and especially data produced by the switch. - In
step 1020 of updating the routing data, the switch searches for, in the routing table zone 120.1 of the working memory of the switch, the routing recordings comprising the identifier of the faulty port in their destination identifier field. - For each of the recordings found, the switch replaces the value of the faulty port identifier by a value of an operational port identifier. This updating thus takes place in the working memory of the switch. This updating will not be propagated in the persistent memory of the switch. This signifies that if the switch starts again, this updating will be lost. It is a temporary update, but quickly carried out.
- In certain switches, a routing table also exists in a memory of a specialised circuit. This specialised circuit, dedicated to routing management, is used for performance reasons. This specialised circuit then comprises its own copy of the routing data. For such a switch, in
step 1020, the routing data of the specialised circuit is also updated. The memory of such a specialised circuit is not persistent. Such an updating is thus temporary. - The value of an operational port may be selected in several ways. A first mode for selecting a value is to choose the same value for all the updates. This selected value is then, for example:
-
- The first operational port identifier value found in the port status zone 120.2 of the working memory of the switch. In this case, the switch sequentially scrolls the recordings of the port status zone 120.2 of the working memory of the switch and stops as soon as it finds one of which the status field is “operational”. The identifier value of the recording is then used for all the updates.
- The nth operational port identifier value found in the port status zone 120.2 of the working memory of the switch. In this case, the switch sequentially scrolls the recordings of the port status zone 120.2 of the working memory of the switch and stops as soon as it has counted N recording of which the status field is “operational”. The identifier value of the recording on which the counting has stopped is then used for all the updates. The value of N is predetermined or chosen randomly by a pseudo-random function implemented by the switch.
- A second mode for selecting a value is to choose a value dependent on the updated recording. In this mode, the updates are counted as they are carried out via a counter, a value is selected according to the first selection mode using the nth value, N being equal to the value of the counter. The port identifier value thus indeed changes for each new update.
- Whatever the mode for selecting an operational port, it may be noted that the search may be restricted to a sub-set of the available operational ports. Such a sub-set is predetermined, for example by parameterisation, and makes it possible to accelerate the selection or to ensure greater pertinence of the selected port.
- A notable difference between the first and second modes for selecting an updating value is that in the second mode the updating value is calculated for each update. The modes for selecting an updating value are not the only ones possible.
- In an alternative embodiment of the invention, the data of the port status zone 120.2 is sorted before scrolling it, a sorted list is thus obtained which can be scrolled according to at least one of the modes described. A sorting takes place for example according to the port identifier, another sorting takes place according to the port status, yet another sorting takes place according to a port load information. Such a load information is obtained by scrolling the routing table zone 120.1 and by making an aggregation on the port identifier, which makes it possible to obtain, for each port identifier, the number of occurrences in the zone 120.1. This number of occurrences is the load of the port. In an alternative embodiment of sorting by port load, each modification of the zone 120.1 of the routing table to recalculate is considered, at the moment of the modification, the load of the port concerned, which modifies the sorting for potential later modifications.
- Thus, if an alternative embodiment is considered sorted according to the predetermined load and rank equal to one, the port the least loaded is still selected.
- It is clear that in the operations described, faulty ports are ignored.
- In another alternative embodiment, which can be concurrent with the preceding embodiments, only a sub-set of ports for the selection of the operational port identifier is considered. A pre-selection is thus carried out. In particular, this pre-selection makes it possible to exclude, for example, descending ports. The fact that a port is descending is a characteristic of the port which is saved, for example, such as a typical field in the port status zone 120.2. Thus, for each port it is possible to manage additional characteristics. The typical characteristic is entered by configuration when the
switch 100 is put in place. - Thus, a set of ports in which is selected an identifier is, for example:
-
- the set of all the working ports,
- a sub-set of the set of all the working ports according to a predetermined criterion such as the type of port.
-
Step 1020 of updating the routing data in the working memory is followed by astep 1030 of transmitting a second signalling message via themanagement port 140. The second signalling message is a message according to a SNMP protocol, for example a TRAP or INFORM message. The payload of this second message comprises at least one switch identifier and one description of the modifications made to the routing data in the working memory. - The first signalling message and the second signalling message are sent to a management server, not represented. The management server uses the payloads to compute new routing information before transmitting this new routing information to the switch which has transmitted the signalling messages.
- Without the invention, the management server only has available one faulty port identifier. With the invention, it knows in addition which modifications have been made by the quick correction carried out by the switch. It can thus take into account these modifications in its computation. Such a taking into account is:
-
- A validation, that is to say the modification is good and thus there is no reason to transmit it again,
- A correction, that is to say the quick correction carried out, is not optimal and it is necessary to correct it.
- Once its computation has been carried out, the management server sends a routing information updating message to the switch. Such an updating message is a response to the signalling messages. The production of such a routing information updating message takes, with or without the invention, at least ten or so seconds, but this time generally exceeds a minute for very large topologies, that is to say topologies of more than 50,000 computing nodes.
- In a
step 1040 of receiving a message for updating a routing table theswitch 100 receives the message produced by the server. Such a message is usual for a switch. The processing of such a message consists in using the data of the message to update the routing data in all the memories of the switch using these data. In our example, this includes the working memory and the persistent memory. After the processing of this updating message, if the switch starts again, the faulty switch will be correctly taken into account. The correction has been maintained. - In the case of the implementation, a switch managing routing data via two memories has been described. The invention remains valid for a switch using more memory. For example it is possible that the
microprocessor 110 of theswitch 100 is a specialised circuit comprising a dedicated ultra-quick memory in which it saves the routing information. In this case, the invention makes it possible to update quickly the dedicated memory, but neither the working memory nor the persistent memory. It is also possible only to update the dedicated memory and the working memory. The principle of the invention is to update only the memories involved in routing operations, that is to say the memories used by the microprocessor to determine a route. - Thus with the invention, these partial repairs are not intended to be optimal. The modes presented will succeed in forwarding the traffic arriving from the descending ports but cannot act upstream in order to avoid that traffic that was descending via a fallen port continues to be routed. In all cases, a more complete updating is going to follow, calculated by a routing module of the management server.
- Also, the modifications carried out by a rapid repair according to the invention are not stored in the persistent memory: they are temporary.
- This quick repair nevertheless makes it possible to avert applicative defects at the level of the computing nodes connected to the switch.
Claims (10)
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1460695 | 2014-11-05 | ||
FR1460695A FR3028125A1 (en) | 2014-11-05 | 2014-11-05 | METHOD FOR RAPID RECONFIGURATION OF FAULT ROUTING OF A PORT OF A SWITCH |
FR1461142A FR3028126B1 (en) | 2014-11-05 | 2014-11-18 | METHOD FOR RAPID RECONFIGURATION OF FAULT ROUTING OF A PORT OF A SWITCH |
FR1461142 | 2014-11-18 | ||
PCT/EP2015/075709 WO2016071402A1 (en) | 2014-11-05 | 2015-11-04 | Method for quick reconfiguration of routing in the event of a fault in a port of a switch |
Publications (2)
Publication Number | Publication Date |
---|---|
US20170317923A1 true US20170317923A1 (en) | 2017-11-02 |
US10666553B2 US10666553B2 (en) | 2020-05-26 |
Family
ID=53039484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/524,475 Active US10666553B2 (en) | 2014-11-05 | 2015-11-04 | Method for quick reconfiguration of routing in the event of a fault in a port of a switch |
Country Status (6)
Country | Link |
---|---|
US (1) | US10666553B2 (en) |
EP (1) | EP3216170B1 (en) |
JP (1) | JP2017539147A (en) |
FR (2) | FR3028125A1 (en) |
IL (1) | IL252103A0 (en) |
WO (1) | WO2016071402A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11023402B2 (en) | 2019-07-02 | 2021-06-01 | National Instruments Corporation | Switch pruning in a switch fabric bus chassis |
CN112104576B (en) * | 2020-08-14 | 2022-02-22 | 中国科学院声学研究所 | Resident flow table storage and calibration method of SDN switch |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020075809A1 (en) * | 2000-12-20 | 2002-06-20 | Peter Phaal | Method to associate input and output interfaces with packets read from a mirror port |
US7120834B1 (en) * | 2002-03-29 | 2006-10-10 | Marvell International Ltd. | Fast port failover in a network switch |
US20060233175A1 (en) * | 2005-03-30 | 2006-10-19 | Yi Ge | Traffic balancing apparatus and method, and network forwarding apparatus and method using the same |
US20110202927A1 (en) * | 2003-12-30 | 2011-08-18 | Computer Associates Think, Inc. | Apparatus, Method and System for Aggregating Computing Resources |
US20120003934A1 (en) * | 2007-06-22 | 2012-01-05 | Apple Inc. | Communication between a host device and an accessory via an intermediate device |
US20120039341A1 (en) * | 1999-03-10 | 2012-02-16 | Aamer Latif | Method and apparatus for transferring data between ip network devices and scsi and fibre channel devices over an ip network |
US20120124238A1 (en) * | 2010-11-12 | 2012-05-17 | Alcatel-Lucent Bell N.V. | Prioritization of routing information updates |
US20140075122A1 (en) * | 2012-09-13 | 2014-03-13 | International Business Machines Corporation | Durable transactions with storage-class memory |
US20140130039A1 (en) * | 2012-11-02 | 2014-05-08 | Red Hat Israel, Ltd. | Snmp/wmi integration into a virtualization environment for handling guest-oriented events with virtualization-environment-related actions |
US20150358285A1 (en) * | 2012-03-21 | 2015-12-10 | Raytheon Bbn Technologies Corp. | Destination address control to limit unauthorized communications |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7016299B2 (en) * | 2001-07-27 | 2006-03-21 | International Business Machines Corporation | Network node failover using path rerouting by manager component or switch port remapping |
US7876672B2 (en) * | 2006-04-10 | 2011-01-25 | Polytechnic Institute Of New York University | Determining rerouting information for single-node failure recovery in an internet protocol network |
-
2014
- 2014-11-05 FR FR1460695A patent/FR3028125A1/en active Pending
- 2014-11-18 FR FR1461142A patent/FR3028126B1/en not_active Expired - Fee Related
-
2015
- 2015-11-04 EP EP15788442.0A patent/EP3216170B1/en active Active
- 2015-11-04 US US15/524,475 patent/US10666553B2/en active Active
- 2015-11-04 WO PCT/EP2015/075709 patent/WO2016071402A1/en active Application Filing
- 2015-11-04 JP JP2017524389A patent/JP2017539147A/en active Pending
-
2017
- 2017-05-04 IL IL252103A patent/IL252103A0/en unknown
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120039341A1 (en) * | 1999-03-10 | 2012-02-16 | Aamer Latif | Method and apparatus for transferring data between ip network devices and scsi and fibre channel devices over an ip network |
US20020075809A1 (en) * | 2000-12-20 | 2002-06-20 | Peter Phaal | Method to associate input and output interfaces with packets read from a mirror port |
US7120834B1 (en) * | 2002-03-29 | 2006-10-10 | Marvell International Ltd. | Fast port failover in a network switch |
US20110202927A1 (en) * | 2003-12-30 | 2011-08-18 | Computer Associates Think, Inc. | Apparatus, Method and System for Aggregating Computing Resources |
US20060233175A1 (en) * | 2005-03-30 | 2006-10-19 | Yi Ge | Traffic balancing apparatus and method, and network forwarding apparatus and method using the same |
US20120003934A1 (en) * | 2007-06-22 | 2012-01-05 | Apple Inc. | Communication between a host device and an accessory via an intermediate device |
US20120124238A1 (en) * | 2010-11-12 | 2012-05-17 | Alcatel-Lucent Bell N.V. | Prioritization of routing information updates |
US20150358285A1 (en) * | 2012-03-21 | 2015-12-10 | Raytheon Bbn Technologies Corp. | Destination address control to limit unauthorized communications |
US20140075122A1 (en) * | 2012-09-13 | 2014-03-13 | International Business Machines Corporation | Durable transactions with storage-class memory |
US20140130039A1 (en) * | 2012-11-02 | 2014-05-08 | Red Hat Israel, Ltd. | Snmp/wmi integration into a virtualization environment for handling guest-oriented events with virtualization-environment-related actions |
Also Published As
Publication number | Publication date |
---|---|
EP3216170A1 (en) | 2017-09-13 |
JP2017539147A (en) | 2017-12-28 |
FR3028126A1 (en) | 2016-05-06 |
FR3028125A1 (en) | 2016-05-06 |
EP3216170B1 (en) | 2020-07-22 |
FR3028126B1 (en) | 2016-11-11 |
US10666553B2 (en) | 2020-05-26 |
IL252103A0 (en) | 2017-07-31 |
WO2016071402A1 (en) | 2016-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8018844B2 (en) | Reliable message transfer over an unreliable network | |
US9253035B2 (en) | Reducing switch state size in flow-based networks | |
US9608900B2 (en) | Techniques for flooding optimization for link state protocols in a network topology | |
US8923113B2 (en) | Optimizations in multi-destination tree calculations for layer 2 link state protocols | |
JP6055009B2 (en) | Packet processing method, apparatus and system | |
US8369211B2 (en) | Network distribution prevention when virtual chassis system undergoes splits and merges | |
WO2010018755A1 (en) | Transport control server, network system, and transport control method | |
Chen et al. | When software defined networks meet fault tolerance: a survey | |
Walraed-Sullivan et al. | Aspen trees: Balancing data center fault tolerance, scalability and cost | |
US9590890B2 (en) | Transfer apparatus, server, and route changing method | |
WO2016153506A1 (en) | Fast failover recovery in software defined networks | |
JP2012253671A (en) | Communication apparatus and packet sorting method | |
CN106713132B (en) | Method and apparatus for updating forwarding table entry | |
CN105553844A (en) | Link state advertisements transmission methods and network devices | |
CN113114525A (en) | Routing detection method and network equipment | |
US10666553B2 (en) | Method for quick reconfiguration of routing in the event of a fault in a port of a switch | |
JP6781288B2 (en) | Multi-node device and its backup communication method | |
CN104348737A (en) | Multicast message transmission method and switches | |
CN112637053B (en) | Method and device for determining backup forwarding path of route | |
US10516625B2 (en) | Network entities on ring networks | |
US20150180779A1 (en) | System and method for power reduction in network equipment | |
CN108390780B (en) | Method and apparatus for processing information | |
Raza et al. | MPTCP based in-band controlling for the software defined networks | |
US20170012869A1 (en) | Forwarding table management in computer networks | |
Walraed-Sullivan et al. | Scalability vs. fault tolerance in aspen trees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BULL SAS, FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PEROTIN, MATHIEU;REEL/FRAME:044218/0756 Effective date: 20170906 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: LE COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES, FRANCE Free format text: PARTIAL TRANSFER AGREEMENT;ASSIGNOR:BULL SAS;REEL/FRAME:061871/0122 Effective date: 20220524 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |