A NETWORK ELEMENT AND A METHOD FOR CONTROLLING THE SAME
20190207872 ยท 2019-07-04
Inventors
Cpc classification
H04L47/283
ELECTRICITY
H04L47/36
ELECTRICITY
H04L47/27
ELECTRICITY
International classification
Abstract
A network element (101), for example a router, comprises a processing system (103) for running a protocol in accordance of which the network element is communicating with another network element. The protocol comprises monitoring whether the protocol receives, within a protocol message -specific time-window, a protocol message transmitted by the other network element. The time-window may represent for example a timeout period. The processing system measures waiting times of messages received at the network element, where each measured waiting time is at least a part of time a corresponding received message waits for a service provided by the processing system. The processing system determines the length of the time-window based on the measured waiting times. Therefore, the waiting time of the received protocol message can be compensated for and thereby wrong determinations about the reachability of the other network element can be avoided or at least reduced.
Claims
1. A network element for a data transfer network, the network element comprising: a data transfer interface for receiving data from the data transfer network and for transmitting data to the data transfer network, and a processing system for running at least one protocol in accordance of which the network element is communicating with at least one other network element, the protocol comprising monitoring whether functionality related to the protocol and run by the processing system receives, within a protocol message-specific time-window, a protocol message transmitted by the other network element, wherein the processing system is configured to: measure waiting times of messages received from the data transfer network, each measured waiting time being at least a part of time a corresponding one of the received messages is waiting for a service provided by the processing system, and determine, at least partly based on the measured waiting times, a length of the protocol message-specific time-window so as to compensate for the waiting time of the received protocol message when monitoring the reception of the protocol message.
2. A network element according to claim 1, wherein the processing system is configured to apply a pre-determined mathematical rule on the measured waiting times so as to determine the length of the protocol message-specific time-window.
3. A network element according to claim 2, wherein the processing system is configured to compute a low-pass filtered value of the measured waiting times and set the length of the protocol message-specific time-window at least partly based on the low pass filtered value of the measured waiting times.
4. A network element according to claim 3, wherein the processing system is configured to compute the low-pass filtered value with one of the following: a finite impulse response digital filter, an infinite impulse response digital filter.
5. A network element according to claim 2, wherein the processing system is configured to: select a maximum from among the waiting times measured for a pre-determined number of most recently received ones of the messages, and set the length of the protocol message-specific time-window at least partly based on the selected maximum.
6. A network element according to claim 2, wherein the processing system is configured to: select a maximum from among the waiting times measured for ones of the messages received during a moving measurement time-window, and set the length of the protocol message-specific time-window at least partly based on the selected maximum.
7. A network element according to claim 1, wherein the processing system is configured to: control the data transfer interface to transmit a query message to the other network element, wait for the protocol message representing a response to the query message, and update status data indicative of reachability of the other network element in response to a situation in which time elapsed after transmitting the query message and without receiving the protocol message exceeds the length of the protocol message-specific time-window.
8. A network element according to claim 1, wherein the processing system is configured to update status data indicative of reachability of the other network element in response to a situation in which time elapsed without receiving the protocol message and after receiving a previous protocol message exceeds the length of the protocol message-specific time-window.
9. A network element according to claim 1, wherein the network element is at least one of the following: an Internet Protocol IP router, a MultiProtocol Label Switching MPLS switch, a packet optical switch, an Ethernet switch, an Asynchronous Transfer Mode ATM switch, a software-defined networking SDN controlled network element.
10. A method for controlling a network element of a data transfer network, the network element running at least one protocol in accordance of which the network element is communicating with at least one other network element of the data transfer network and the protocol comprising monitoring whether functionality related to the protocol and run by a processing system of the network element receives, within a protocol message-specific time-window, a protocol message transmitted by the other network element, the method comprising: measuring waiting times of messages received at the network element from the data transfer network, each measured waiting time being at least a part of time a corresponding one of the received messages is waiting for a service provided by the processing system, and determining, at least partly based on the measured waiting times, a length of the protocol message-specific time-window so as to compensate for the waiting time of the received protocol message when monitoring the reception of the protocol message.
11. A method according to claim 10, wherein the method comprises applying a pre-determined mathematical rule on the measured waiting times so as to determine the length of the protocol message-specific time-window.
12. A method according to claim 11, wherein the method comprises computing a low-pass filtered value of the measured waiting times and setting the length of the protocol message-specific time-window at least partly based on the low-pass filtered value of the measured waiting times.
13. A method according to claim 12, wherein the low pass filtered value is computed with one of the following: a finite impulse response digital filter, an infinite impulse response digital filter.
14. A method according to claim 11, wherein the method comprises: selecting a maximum from among the waiting times measured for a pre-determined number of most recently received ones of the messages, and setting the length of the protocol message-specific time-window at least partly based on the selected maximum.
15. A method according to claim 11, wherein the method comprises: selecting a maximum from among the waiting times measured for ones of the messages received during a moving measurement time-window, and setting the length of the protocol message-specific time-window at least partly based on the selected maximum.
16. A method according to claims 10, wherein the method comprises: controlling the network element to transmit a query message to the other network element, waiting for the protocol message representing a response to the query message, and updating status data indicative of reachability of the other network element in response to a situation in which time elapsed after transmitting the query message and without receiving the protocol message exceeds the length of the protocol message-specific time-window.
17. A method according to claim 10, wherein the method comprises updating status data indicative of reachability of the other network element in response to a situation in which time elapsed without receiving the protocol message and after receiving a previous protocol message exceeds the length of the protocol message-specific time-window.
18. A method according to claim 10, wherein the network element is at least one of the following: an Internet Protocol IP router, a MultiProtocol Label Switching MPLS switch, a packet optical switch, an Ethernet switch, an Asynchronous Transfer Mode ATM switch, a software-defined networking SDN controlled network element.
19. A non-transitory computer readable medium encoded with a computer program for controlling a network element of a data transfer network, the network element being configured to run at least one protocol in accordance of which the network element is communicating with at least one other network element of the data transfer network and the protocol comprising monitoring whether functionality related to the protocol and run by a processing system of the network element receives, within a protocol message-specific time-window, a protocol message transmitted by the other network element, the computer program comprising computer executable instructions for controlling a programmable processor of the processing system to: measure waiting times of messages received at the network element from the data transfer network, each measured waiting time being at least a part of time a corresponding one of the received messages is waiting for a service provided by the processing system, and determine, at least partly based on the measured waiting times, a length of the protocol message-specific time-window so as to compensate for the waiting time of the received protocol message when monitoring the reception of the protocol message.
20. (canceled)
21. A network element according to claim 2, wherein the processing system is configured to: control the data transfer interface to transmit a query message to the other network element, wait for the protocol message representing a response to the query message, and update status data indicative of reachability of the other network element in response to a situation in which time elapsed after transmitting the query message and without receiving the protocol message exceeds the length of the protocol message-specific time-window.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0028] Exemplifying and non-limiting embodiments of the invention and their advantages are explained in greater detail below with reference to the accompanying drawings, in which:
[0029]
[0030]
DESCRIPTION OF EXEMPLIFYING AND NON-LIMITING EMBODIMENTS
[0031] The specific examples provided in the description below should not be construed as limiting the scope and/or the applicability of the accompanied claims. Lists and groups of examples provided in the description below are not exhaustive unless otherwise explicitly stated.
[0032]
[0033] The processing system 103 is configured to run at least one protocol in accordance of which the network element 101 is communicating with one or more other network elements of the data transfer network 106. In
[0034] In this exemplifying case, the network element 107 can be deemed to be unreachable for example if the status data is changed by a pre-determined amount within a pre-determined time period.
[0035] Depending on the protocol under consideration, there are different ways to monitors the protocol messages. In an exemplifying case, the processing system 103 is configured to control the data transfer interface 102 to transmit a query message to the network element 107 and wait for a protocol message that represents a response to the query message. The processing system 103 is configured to update the status data indicative of the reachability of the network element 107 in response to a situation in which time elapsed after transmitting the query message and without receiving the protocol message exceeds the length of the protocol message-specific time-window. In another exemplifying case, the network element 107 is configured to periodically send protocol messages to the network element 101 so as to indicate that the network element 107 is active and the data transfer connection from the network element 107 to the network element 101 is working. In this exemplifying case, the processing system 103 can be configured to update the status data indicative of the reachability of the network element 107 in response to a situation in which time elapsed after receiving the most recent protocol message exceeds the length of the protocol message-specific time-window. The protocol under consideration can be for example the Intermediate System to Intermediate System IS-IS protocol or the Open Shortest Path First OSPF protocol. In conjunction with the OSPF, each protocol message can be an OSPF Hellolnterval and each protocol message-specific time-window can be an OSPF RouterDeadInterval.
[0036] The processing system 103 is configured to measure waiting times of messages received from the data transfer network 106. Each measured waiting time is at least a part of time the corresponding received message is waiting for a service provided by the processing system 103. Depending on the implementation of the network element, the waiting times of the received messages can be measured in different ways. In an exemplifying case, the measurement of each waiting time begins when a message under consideration is received at the data transfer interface 102 and ends when functionality related to the protocol and run by the processing system 103 begins to process the message. In another exemplifying case, the measurement of each waiting time begins when a message under consideration is placed in a given queue maintained by the queuing system 104 and ends when the message is removed from the queue for further actions. In this exemplifying case, the measured waiting time is only a part of the total time the message under consideration is waiting for a service. If needed, the total time can be estimated with the aid of the measured waiting time and a suitable mathematical rule. The estimate of the total time can be for example: the measured waiting time+.sub.1the measured waiting time+.sub.2, where .sub.1 is a factor for modelling a time component caused by portions of the queueing system 104 which behave substantially in the same way as the above-mentioned queue and thereby the above-mentioned time component is substantially proportional to the measured waiting time, and .sub.2 models a time component caused by portions of the queueing system 104 which have a substantially constant processing delay. In an exemplifying case, the messages whose waiting times are measured comprise protocol messages only. Thus, the messages whose waiting times are measured do not comprise other received messages such as messages carrying payload data. In this exemplifying case, the network element comprises a preliminary classifier 108 for separating the received protocol messages from the other received messages. In another exemplifying case, the messages whose waiting times are measured comprise not only the protocol messages but also the other received messages. This exemplifying approach is applicable in network elements where it is not possible to distinguish the protocol messages from the other received messages prior to the messages are processed, e.g. inspected, by the processing system 103.
[0037] The processing system 103 is configured to determine the lengths of protocol message-specific time-windows of the kind mentioned above at least partly based on the measured waiting times. As the length of each protocol message-specific time-window is determined at least partly based on the measured waiting times, the waiting time of each received protocol message can be compensated for and thereby wrong determinations about the reachability of the network element 107 can be avoided or at least reduced. The processing system 103 can be configured to apply a pre-determined mathematical rule on the measured waiting times so as to determine the lengths of the protocol message-specific time-windows.
[0038] In a network element according to an exemplifying and non-limiting embodiment of the invention, the processing system 103 is configured to compute a low-pass filtered value of the measured waiting times and to set the lengths of the protocol message-specific time-windows at least partly based on the low-pass filtered value of the measured waiting times. The lengths of the protocol message-specific time-windows can be for example: the low-pass filtered value of the measured waiting times+A.sub.1the low-pass filtered value of the measured waiting times+A.sub.2, where A.sub.1 and A.sub.2 are parameters given as input data to the processing system 103. The parameter A.sub.2 can be for example the original value of the lengths of the protocol message-specific time-windows, e.g. an original timeout period, which has been set when configuring the network element 101 to support the protocol under consideration. The low-pass filtered value can be computed with e.g. a finite impulse response FIR digital filter or an infinite impulse response IIR digital filter. A FIR low-pass filter can be e.g. a filter which computes an arithmetic average of two or more most recently measured waiting times. An IIR low-pass filter can be for example a 1.sup.st order filter having a pole at zero frequency.
[0039] In a network element according to an exemplifying and non-limiting embodiment of the invention, the processing system 103 is configured to select the maximum from among a pre-determined number of most recently measured waiting times and to set the lengths of the protocol message-specific time-windows at least partly based on the selected maximum. The lengths of the protocol message-specific time-windows can be for example: the selected maximum+B.sub.1selected maximum+B.sub.2, where B.sub.1 and B.sub.2 are parameters given as input data to the processing system 103.
[0040] In a network element according to an exemplifying and non-limiting embodiment of the invention, the processing system 103 is configured to select the maximum from among waiting times measured during a moving measurement time-window and to set the lengths of the protocol message-specific time-windows at least partly based on the selected maximum. The lengths of the protocol message-specific time-windows can be for example: the selected maximum+C.sub.1selected maximum+C.sub.2, where C.sub.1 and C.sub.2 are parameters given as input data to the processing system 103.
[0041] Each processor of the processing system 103, such as the network processors 110 and 111 and the CPU 112, can be implemented with one or more processor circuits each of which can be a programmable processor circuit provided with appropriate software, a dedicated hardware processor such as for example an application specific integrated circuit ASIC, or a configurable hardware processor such as for example a field programmable gate array FPGA. The memory 113 can be implemented with one or more memory circuits each of which can be a random access memory RAM or a content access memory CAM. The queuing system 104 can be implemented with one or more memory circuits for storing data and a control system for scheduling the operation of the queues. The control system can be implemented with processors of the processing system 103.
[0042]
[0043] The method comprises the following actions: [0044] action 201: measuring waiting times of messages received at the network element from the data transfer network, each measured waiting time being at least a part of time a corresponding one of the received messages is waiting for a service provided by the processing system of the network element, and [0045] action 202: determining, at least partly based on the measured waiting times, the length of the protocol message-specific time-window so as to compensate for the waiting time of the received protocol message when monitoring the reception of the protocol message.
[0046] A method according to an exemplifying and non-limiting embodiment of the invention comprises applying a pre-determined mathematical rule on the measured waiting times so as to determine the length of the protocol message-specific time-window.
[0047] A method according to an exemplifying and non-limiting embodiment of the invention comprises computing a low-pass filtered value of the measured waiting times and setting the length of the protocol message-specific time-window at least partly based on the low-pass filtered value of the measured waiting times. The low pass filtered value can be computed for example with a finite impulse response FIR digital filter or with an infinite impulse response IIR digital filter.
[0048] A method according to an exemplifying and non-limiting embodiment of the invention comprises: [0049] selecting the maximum from among the waiting times measured for a pre-determined number of the most recently received ones of the messages, and [0050] setting the length of the protocol message-specific time-window at least partly based on the selected maximum.
[0051] A method according to an exemplifying and non-limiting embodiment of the invention comprises: [0052] selecting the maximum from among the waiting times measured for ones of the messages received during a moving measurement time-window, and [0053] setting the length of the protocol message-specific time-window at least partly based on the selected maximum.
[0054] A method according to an exemplifying and non-limiting embodiment of the invention comprises: [0055] controlling the network element to transmit a query message to the other network element, [0056] waiting for the protocol message representing a response to the query message, and [0057] updating status data indicative of reachability of the other network element in response to a situation in which time elapsed after transmitting the query message and without receiving the protocol message exceeds the length of the protocol message-specific time-window.
[0058] A method according to an exemplifying and non-limiting embodiment of the invention comprises updating status data indicative of reachability of the other network element in response to a situation in which time elapsed without receiving the protocol message and after receiving a previous protocol message exceeds the length of the protocol message-specific time-window.
[0059] In a method according to an exemplifying and non-limiting embodiment of the invention, the network element is at least one of the following: an Internet Protocol
[0060] IP router, a MultiProtocol Label Switching MPLS switch, a packet optical switch, an Ethernet switch, an Asynchronous Transfer Mode ATM switch, a software-defined networking SDN controlled network element.
[0061] A computer program according to an exemplifying and non-limiting embodiment of the invention comprises computer executable instructions for controlling a programmable processing system to carry out actions related to a method according to any of the above-described exemplifying embodiments of the invention.
[0062] A computer program according to an exemplifying and non-limiting embodiment of the invention comprises software modules for controlling a network element of a data transfer network. The network element is configured to run at least one protocol in accordance of which the network element is communicating with at least one other network element of the data transfer network, and the protocol comprises monitoring whether functionality related to the protocol and run by a processing system of the network element receives, within a protocol message-specific time-window, a protocol message transmitted by the other network element. The software modules comprise computer executable instructions for controlling a programmable processor of the network element to: [0063] measure waiting times of messages received at the network element from the data transfer network, each measured waiting time being at least a part of time a corresponding one of the received messages is waiting for a service provided by the processing system of the network element, and [0064] determine, at least partly based on the measured waiting times, the length of the protocol message-specific time-window so as to compensate for the waiting time of the received protocol message when monitoring the reception of the protocol message.
[0065] The above-mentioned software modules can be e.g. subroutines or functions implemented with a suitable programming language and with a compiler suitable for the programming language and for the programmable processor under consideration. It is worth noting that also a source code corresponding to a suitable programming language represents the computer executable software modules because the source code contains information needed for controlling the programmable processor to carry out the above-presented actions and compiling changes only the format of the information. Furthermore, it is also possible that the programmable processor is provided with an interpreter so that a source code implemented with a suitable programming language does not need to be compiled prior to running.
[0066] A computer program product according to an exemplifying and non-limiting embodiment of the invention comprises a computer readable medium, e.g. a compact disc CD, encoded with a computer program according to an exemplifying embodiment of invention.
[0067] A signal according to an exemplifying and non-limiting embodiment of the invention is encoded to carry information defining a computer program according to an exemplifying embodiment of invention.
[0068] The specific examples provided in the description given above should not be construed as limiting the scope and/or the applicability of the appended claims. Lists and groups of examples provided in the description given above are not exhaustive unless otherwise explicitly stated.