GB2554156A - A method of predicting a property of a path in a telecommunications network - Google Patents

A method of predicting a property of a path in a telecommunications network Download PDF

Info

Publication number
GB2554156A
GB2554156A GB1711200.4A GB201711200A GB2554156A GB 2554156 A GB2554156 A GB 2554156A GB 201711200 A GB201711200 A GB 201711200A GB 2554156 A GB2554156 A GB 2554156A
Authority
GB
United Kingdom
Prior art keywords
path
proposed
router
network
property
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
Application number
GB1711200.4A
Other versions
GB2554156B (en
GB201711200D0 (en
Inventor
Le Mai
Morgan Stuart
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of GB201711200D0 publication Critical patent/GB201711200D0/en
Publication of GB2554156A publication Critical patent/GB2554156A/en
Application granted granted Critical
Publication of GB2554156B publication Critical patent/GB2554156B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method to estimate a characteristic of a path between two devices in a communication network. Data packets transmitted from a source router 10A to a destination router 10H cause log data to be produced at the intermediate routers traversed, 10C-G, as well as at the endpoints. A network management system (NMS) 100 receives the log data and is able to correlate it to identify the sequence of nodes along the path of the each packet. The NMS 100 uses the stored path information from a plurality of paths to predict the property of a proposed path through a particular node order. A similarity value is calculated between the prospective path and the historical paths such that a property is predicted. The path attribute may be whether a packet can be successfully transmitted. A substitution matrix or a k-nearest neighbour technique may be used to predict the similarity value for the proposed path.

Description

(56) Documents Cited:
US 20090122697 A1
SUN et al. Estimation of overlay link quality from previously observed link qualities, 2013, IEEE. See abstract and especially sections III & IV.
(58) Field of Search:
INT CL H04L, H04W
Other: EPODOC, WPI, XPESP, XPI3E, XPIEE, XPAIP, XPLNCS, XP3GPP, INSPEC.
(71) Applicant(s):
British Telecommunications public limited company 81 Newgate Street, London, EC1A 7AJ,
United Kingdom (72) Inventor(s):
Mai Le
Stuart Morgan (74) Agent and/or Address for Service:
BT Group Legal Intellectual Property Department Ground Floor, Faraday Building, 1 Knightrider Street, London, EC4V 5BT, United Kingdom (54) Title of the Invention: A method of predicting a property of a path in a telecommunications network
Abstract Title: Predicting a property of a path through a node sequence in a network based on the similarity to a node sequence identified in historical logged data (57) A method to estimate a characteristic of a path between two devices in a communication network. Data packets transmitted from a source router 10A to a destination router 10H cause log data to be produced at the intermediate routers traversed, 10C-G, as well as at the endpoints. A network management system (NMS) 100 receives the log data and is able to correlate it to identify the sequence of nodes along the path of the each packet. The NMS 100 uses the stored path information from a plurality of paths to predict the property of a proposed path through a particular node order. A similarity value is calculated between the prospective path and the historical paths such that a property is predicted. The path attribute may be whether a packet can be successfully transmitted. A substitution matrix or a k-nearest neighbour technique may be used to predict the similarity value for the proposed path.
s'
-100
Figure GB2554156A_D0001
10J
1/4
Figure GB2554156A_D0002
Figure 1
2/4
Figure GB2554156A_D0003
Figure 2
3/4
Figure GB2554156A_D0004
Figure 3
4/4
Figure GB2554156A_D0005
(S1) (S2) (S3) (S4) (S5)
Figure 4
A METHOD OF PREDICTING A PROPERTY OF A PATH IN A
TELECOMMUNICATIONS NETWORK
Field of the Invention
The present invention relates to a method of predicting a property of a path (such as a path of routers) in a telecommunications network, and apparatus for performing said method.
Background to the Invention
A telecommunications network typically comprises a plurality of routers connected by a plurality of communications links. These networks are generally configured to transfer data packets between a source router and destination router, often via one or more intermediate routers, using a routing protocol.
A failure of one of these routers may result in a significant drop in Quality of Service (QoS) for the network users. For example, if one or more other routers in the network route data packets via the failed router, these packets will be dropped and will need to be re-transmitted via another path. When this occurs, Network Operators must act fast to fix the router fault to minimise the negative impact for customers. This may involve temporarily re-routing data packets to avoid the failed router whilst the fault is fixed, but this also has a negative impact due to the increased loading on the other routers.
It is desirable to alleviate the above problems. In particular, it is desirable to pre-empt router failures rather than reacting to them.
Summary of the Invention
According to a first aspect of the invention, there is provided a method of predicting a property of a path in a network, the method comprising the steps of: receiving historical data of a plurality of traversed paths through a network, wherein the historical data for each traversed path through the network includes a property of said traversed path, and an identified sequence of network nodes in said traversed path; predicting a property of a proposed path in the network, the proposed path having a proposed sequence of network nodes, by: calculating a value of similarity between the proposed path’s proposed sequence of network nodes and the identified sequence of network nodes in each of the plurality of traversed paths; and predicting the property for the proposed path based on the calculated values of similarity.
Embodiments of the present invention provide a technique for predicting a property of a proposed path through the network based on the properties of similar paths. This prediction is based on a similarity between sequences of routers used in the proposed path and previously traversed paths, rather than some property relating to the transmission (e.g. latency). The Network Operator may therefore predict a property of the proposed path in advance of using it, and may therefore pre-empt a problem (e.g. router failure) rather than reacting to it.
The step of predicting the property for the proposed path may include ranking each of the plurality of traversed paths based on their respective calculated value of similarity with the proposed path; and predicting the property for the proposed path based on the properties of a predetermined number of the highest ranked of the plurality of traversed paths. This may include assigning a most common property of the predetermined number of the highest ranked of the plurality of traversed paths. Embodiments of the invention may therefore implement a k-Nearest-Neighbour technique in order to predict a property of the proposed path based on a limited number of its most similar paths in the historical data.
The property may be whether the traversed path successfully transmitted a data packet or failed to transmit a data packet.
The method may further comprise the steps of analysing the historical data to identify at least one pair of alternative paths, wherein a first alternative path includes a first common network node followed by a first intermediate network node followed by a second common network node and the second alternative path includes the first common network node followed by a second intermediate network node followed by the second common network node; determining a first count of instances in which the first alternative path is used due to failure of the second intermediate network node and a second count of instances in which the second alternative path is used due to failure of the first intermediate network node; and constructing a substitution matrix using the first and second counts, wherein the step of calculating the value of similarity between the proposed path’s proposed sequence of network nodes and the identified sequence of network nodes in each of the plurality of traversed paths uses the substitution matrix.
Embodiments of the invention may therefore calculate a value of similarity which is dependent on the frequencies of two routers acting as alternatives to each other (e.g. if a preceding router redirects network traffic to the other router in particular circumstances). This improved value of similarity may then be used in the prediction of the property of the proposed path.
The first alternative path may include the first common network node followed by the first intermediate network node, a third intermediate network node and the second common network node, the second count may be of instances in which the second alternative path is used is due to failure of either the first or third intermediate network node, and the substitution matrix may be constructed by considering the first and third intermediate network nodes as a virtual intermediate node. In this manner, the value of similarity of the proposed path may be dependent on the frequencies of two alternative paths acting as alternatives to each other, even when that alternative path uses a different number of routers.
The proposed sequence of network nodes may include the second intermediate node, and the method may further comprise the steps of: comparing the proposed sequence of network nodes of the proposed path with the first alternative path, creating a variant of the proposed path by substituting the second intermediate node of the proposed sequence of network nodes with the first and third intermediate nodes; calculating a value of similarity between the variant of the proposed path’s proposed sequence of network nodes and the identified sequence of network nodes in each of the plurality of traversed paths; and predicting the property for the proposed path based on the calculated values of similarity for both the proposed path and the variant of the proposed path.
According to a second aspect of the invention, there is provided a computer program product comprising instruction which, when the program is executed by a computer, cause the computer to carry out the steps of the method of the first aspect of the present invention.
According to a third aspect of the invention, there is provided a device for a telecommunications network, the device comprising memory for storing historical data of a plurality of traversed paths through a network, wherein the historical data for each traversed path through the network includes a property of said traversed path, and an identified sequence of network nodes in said traversed path; and a processor adapted to: predict a property for a proposed path in the network, the proposed path having a proposed sequence of network nodes, by: calculating a value of similarity between the proposed path’s proposed sequence of network nodes and the identified sequence of network nodes in each of the plurality of traversed paths; and predicting the property for the proposed path based on the calculated values of similarity. The device may be a Network Management System and may be a node in a network.
Brief Description of the Figures
In order that the present invention may be better understood, embodiments thereof will now be described, by way of example only, with reference to the accompanying drawings in which:
Figure 1 is a schematic diagram of a network of an embodiment of the present invention; Figure 2 is a schematic diagram of a router of the network of Figure 1;
Figure 3 is a schematic diagram of a Network Management System of the network of Figure 1; and
Figure 4 is a flow diagram illustrating a method of an embodiment of the present invention.
Detailed Description of Embodiments
A first embodiment of a network 1 of the present invention will now be described with reference to Figure 1. The network 1 is a packet-switched telecommunications network including a plurality of routers 10A to 10J and a Network Management System (NMS) 100. The routers 10 are connected via links (illustrated by lines connecting the routers 10 in Figure 1), such as an optical fibre data connection, which permit bi-directional communication of data packets. This communication may be direct (e.g. from router 10A to router 10B over a single link), but is more commonly between routers that are not directly connected (in which case the data packet is transmitted between the source and destination router via one or more intermediate routers). The network 1 therefore implements a packet-switching protocol in order to encapsulate data at a source node into a transmittable data packet, transmit the data packet across the network to a destination node via the intermediate node(s), and decode the received data packet to process the data therein. The skilled person will understand that there are many forms of protocols and methods which permit such data exchange, and it will be clear upon review of the following description that the present invention is applicable to many forms of such packet switched networking.
The skilled person will also understand that one or more of the routers 10 may be associated with its own respective network (such as a Local Area Network), in which case Figure 1 would represent an internetwork. Upon reviewing of the following description, the skilled person will understand that the present invention applies to both scenarios.
A router 10 is illustrated in more detail in Figure 2. The router includes a transceiver 11, a processor 13 and memory 15, all connected via bus 17. These modules are configured to carry out the functions of a packet switched network according to well-known methods in the art. In order to carry out the method of an embodiment of the present invention (detailed below), memory 15 includes a routing table which stores one or more routes for each of one or more destination routers. If the router (e.g. 10A) is tasked with sending one or more data packets for a particular data session to an identified destination router (e.g. 10H), then the router may use an identifier for the destination router to look up a route. In most routing protocols, the routing table simply stores the next router (e.g. 10E) in the route, rather than the full sequence of routers in the route from the next router to the destination router. Furthermore, the router may use the identifier for the destination router to look up an alternative route (i.e. alternative next router, such as router 10C). The router 10 then transmits the data packet to the next router.
In this embodiment, the header portion of the data packet includes the following information:
• a source router identifier;
• a destination router identifier;
• a transmitting router identifier (i.e. of the router transmitting the data packet);
• a data session identifier (i.e. of the data session the data packet relates to);
• a data packet identifier (i.e. identifying the data packet within that data session); and • a transmission attempt identifier (i.e. being a count of the number of transmission attempts of that data packet of that data session).
In this embodiment, the protocol implemented by router 10 in the method of the embodiment of the present invention uses a form of acknowledgement to determine whether a data packet was successfully transmitted or not. Different routing protocols implement different forms of acknowledgement (e.g. positive or negative acknowledgement), but for the purposes of this embodiment each router 10 is configured to transmit either a positive acknowledgment message (ACK) or a negative acknowledgement message (NACK) to the router that it received the data packet from (the “preceding router”). In this embodiment, the ACK or NACK messages include the following information:
• whether it is an ACK or NACK message;
• the data session identifier;
• the data packet identifier;
• the transmission attempt identifier.
The skilled person will understand that a router 10 receiving a data packet may determine whether a data packet is successfully received or not by processing a confirmation portion of the data packet (e.g. the Cyclic Redundancy Check portion) and confirming that the data is correct. If correct, the router 10 sends an ACK message to the preceding router. If incorrect, the router sends a NACK message to the preceding router. Furthermore, the preceding router is able to determine that the data packet was not successfully received if a timeout occurs before receipt of an ACK message.
The router 10 is configured to log, in memory 15, the transmission of each data packet and whether that data packet was successfully transmitted (if it receives a corresponding ACK message) or not (if it receives a NACK message or a timeout occurs). The router 10 is also configured to send this log data to the NMS 100 (this may be either in realtime as soon as the router 10 records whether the data packet was successfully received or not, or may be periodic).
If the router 10 decodes the packet and determines that it is the destination router (as it matches the destination router identifier in the data packet’s header), then it issues two acknowledgment messages. The first is the ACK message as noted above, which is sent to the preceding router to acknowledge that the message was successfully received. The second ACK message (hereinafter, “master acknowledgement” message to differentiate it from the acknowledgment message described in the previous paragraphs) is sent to the source router to acknowledge that the data packet of that data session has been successfully received or not. Depending on the particular protocol being used, this may be sent via the same route in reverse, or an alternative route. The source router may therefore record that the data packet successfully reached its destination on receipt of the master acknowledgment message. If the source router does not receive a master acknowledgment message by a timeout (or it receives a negative version of the master acknowledgement), then it records that the data packet was not successfully received.
The NMS 100 is illustrated in Figure 3. Similar to the routers 10, the NMS includes a transceiver 101, a processor 103 and memory 105, all connected via bus 107. The NMS is generally configured to implement network management functions, such as monitoring performance and quality of service of all routers 10 in the network 1. For the purposes of the embodiment of the method of the present invention, the NMS 100 is configured to receive the log data from each router 10 (identifying the transmission of each data packet and whether that packet was successfully received or not). The NMS 100 is then able to correlate all this data in order to identify the path of each data packet of each data session (i.e. the path being a sequence of identified routers through the network), up to either the point the data packet was received by the destination router or the point the data packet was not successfully received by an intermediate router.
An example of router 10A sending a data packet to router 10H will now be described to illustrate the log data recorded by each router and the NMS. The router 10A compiles a data packet including a data header, a data payload and a confirmation portion. The data header includes a source router identifier (10A), a destination router identifier (1 OH), a transmitting router identifier (10A), a data session identifier (ds1) and a data packet identifier (dpi). The router 10A then looks up which router it should transmit to using the destination router identifier and the routing table in memory 15. In this example, the next router is router 10C. The router 10A therefore transmits this data packet to 10C, and records the following log data in memory 15:
Data Data Transmission Transmission Next Next- Source Transmission
Session ID Packet ID Attempt Time Router ID Router Success? Router? Success?
ds1 dpi 1 tl 10C Yes
The following is noted regarding the log data:
• the data session ID and the data packet ID uniquely identify the data packet being transmitted, and the transmission count identifies how many transmission instances of that data packet have occurred (i.e. a value greater than one indicates a retransmission);
• the transmission time is recorded such that the router may determine whether a timeout has occurred (either for receipt of the ACK message from the next router or, if the router is the source router, the master acknowledgment from the destination router);
• The identity of the router the data packet is being sent to;
• The “Next-router success?” data column will identify whether the next router successfully receives the data packet or not;
• The “Source router” data column identifies whether the router is the source router for that data packet; and • The “Transmission success?” data column will identify, for a source router, whether the data packet reaches the destination router. For any router which is not a source router of a transmission, the data column includes an ‘N/A’ value.
Subsequently, the router 10C receives the data packet ds1/dp1/1 (i.e. data session ds1, data packet dpi, transmission attempt 1). The router 10C decodes the confirmation portion and determines that the data packet was successfully received. The router 10C therefore compiles an ACK message which identifies the message as an ACK message and includes the data session, data packet and transmission attempt identifiers (ds1/dp1/1) and sends this to the preceding router 10A. The router 10C also decodes the header portion of the data packet dpi to determine the destination router 10H, identifies the next router (in this example, 10F) using its lookup routing table in memory 15, and transmits the data packet dpi to router 10F. The router 10C then records the relevant log data in memory 15.
The routers 10A and 10C may therefore update their log data thus:
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 tl 10C Yes Yes
Log Data for Router 10A
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 Ϊ2 10F No N/A
Log Data for Router 10C
Subsequently, router 10F receives the data packet ds1/dp1/1 and decodes the 5 confirmation portion and determines that the data packet was successfully received. In a similar fashion to the processing described above for router 10C, router 10F transmits an ACK message to the preceding router 10C and sends the data packet to the next router identified in its lookup routing table (10H). The routers 10C and 10F may update their log data thus:
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 Ϊ2 10F Yes No N/A
Log Data for Router 10C
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 Ϊ3 10H No N/A
Log Data for Router 10F
Subsequently, the router 10H receives the data packet ds1/dp1/1 and decodes the confirmation portion and determines that the data packet was successfully received. The router 10H therefore compiles an ACK message and sends this to the preceding router
10F. The router 10H also decodes the header portion of the data packet dpi and determines that it is the destination router. Accordingly, the router 10H also compiles a master acknowledgement message and sends this to the source router. Routers 10A, 10F and 10H may then all update their log data.
The log data for all routers involved in this transmission of the data packet is thus:
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 tl 10C Yes Yes Yes
Log Data in Router 10A
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 Ϊ2 10F Yes No N/A
Log Data in Router 10C
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 Ϊ3 10H Yes No N/A
Log Data in Router 10F
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 N/A N/A N/A No N/A
Log Data in Router 10H
As noted above, the log data of all routers is transmitted to the NMS 100. The NMS 100 may process all this log data in order to identify the sequence of routers from source router to destination router and whether or not that transmission was a success. In the above example (which was a successful transmission), the NMS 100 is able to determine that:
• the log data relates to the same transmission attempt of the same data packet of the same data session due to the common identifiers (ds1/dp1/1) in the log data of all routers;
• the source router was router 10A due to the explicit source router data value from router 10A’s log data;
• the destination router was router 10H as the transmission was a success (as noted in router 10A’s log data) and there was no onward transmission from router 10H (as identified in router 10H’s log data); and • the sequence of routers was 10A -> 10C -> 10F -> 10H by concatenating the “next router” data values from the source router’s log data to the destination router’s log data.
The NMS 100 therefore records this data, in memory 105:
Data Session ID Data Packet ID Transmission Attempt Source Router 1st Int. Router 2nd Int. Router 3rd Int. Router Destination Router Success?
ds1 dpi 1 10A 10C 10F N/A 10H Success
Log Data in NMS
Following this successful transmission of the first data packet of the first data session, the second data packet is transmitted. This data packet is not successfully transmitted to the destination router, and the following description describes how this information is recorded in the log data of each router 10 and the NMS 100.
The first router 10A compiles the second data packet of the first data session, including a header portion having corresponding identifiers (ds1/dp2/1), a data payload and a confirmation portion. The first router 10A looks up the next router to transmit the data packet to using its routing table in memory 15 (router 10C). The router 10A sends the data packet and updates its log data in memory 15:
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 tl 10C Yes Yes Yes
ds1 dp2 1 t4 10C Yes
Log Data in Router 10A
Subsequently, router 10C receives data packet dp2 and processes the confirmation 15 portion. The router 10C determines that there is an error in the data packet dp2 and therefore the data packet was not successfully received. Accordingly, router 10C compiles a NACK message and sends this to router 10A. Routers 10A and 10C then update their log data:
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 tl 10C Yes Yes Yes
ds1 dp2 1 t4 10C No Yes
Log Data in Router 10A
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 Ϊ2 10F Yes No N/A
ds1 dp2 1 N/A N/A N/A No N/A
Log Data in Router 10C
As the data packet dp2 is not sent onward from router 10C to its destination (as it is corrupt), router 10A never receives a master acknowledgement message and eventually it reaches a timeout in order to mark the “transmission success” data column as a failure. Accordingly, the log data for routers 10A and 10C following the first transmission attempt of the second data packet of the first data session are:
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 tl 10C Yes Yes Yes
ds1 dp2 1 t4 10C No Yes No
Log Data in Router 10A
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 Ϊ2 10F Yes No N/A
ds1 dp2 1 N/A N/A N/A No N/A
Log Data in Router 10C
This data may then be uploaded to the NMS 100 for processing. The NMS 100 may determine from the data of the first transmission attempt of the second data packet of the first data session that:
· the source router was router 10A due to the explicit source router data value from router 10A’s log data, • the data packet was lost before it reached its destination router as the “transmission success” value is negative; and • the data packet was not successfully transmitted from source router 10A to intermediate router 10C (based on the values for “Next Router ID” and “NextRouter Success?” in router 10A’s log data).
The NMS may then update its log data:
Data Session ID Data Packet ID Transmission Attempt Source Router 1st Int. Router 2nd Int. Router 3rd Int. Router Destination Router Success?
ds1 dpi 1 10A 10C 10F N/A 10H Success
ds1 dp2 1 10A 10C N/A N/A N/A Failure
Log data in NMS
As noted above, router 10A determines that the first transmission attempt of the second data packet of the first data session was a failure upon a timeout. A second transmission attempt is then performed, and router 10A looks up an alternative path (and thus alternative next router) to use for the second data packet destined for router 10H. In this example, the next router for the second data packet is router 10E.
Router 10A therefore sends the second data packet to router 10E, and records the following log data:
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 tl 10C Yes Yes Yes
ds1 dp2 1 t4 10C No Yes No
ds1 dp2 2 Ϊ5 10E Yes
Log Data in Router 10A
Subsequently, router 10E receives the second transmission attempt of the second data packet of the first data session and processes the confirmation portion. Router 10E determines that the transmission was a success. Accordingly, router 10E compiles an ACK message and sends it to router 10A, decodes the header portion of the data packet to determine the destination router, determines the next router for the data packet using its lookup routing table (router 10F), sends the data packet to router 10F, and updates its log data.
In the same manner, router 10F decodes the confirmation portion of the second data packet, determines that the transmission was a success, compiles an ACK message and sends it to router 10E, decodes the header portion of the data packet to determine the destination router, determines the next router for the data packet using its lookup routing table (router 10H), sends the data packet to router 10H, and updates its log data.
Lastly, router 10H decodes the confirmation portion of the second data packet, determines that the transmission was a success, compiles an ACK message and sends it to router 10F. Router 10H also decodes the header portion of the second data packet and determines that it is the destination router, and therefore sends a master confirmation to the source router 10A.
Following this chain of events, the log data in each router is as follows:
Data Data Transmission Transmission Next Next- Source Transmission
Session ID Packet ID Attempt Time Router ID Router Success? Router? Success?
ds1 dpi 1 tl 10C Yes Yes Yes
ds1 dp2 1 t4 10C No Yes No
ds1 dp2 2 Ϊ5 10E Yes Yes Yes
Log Data in Router 10A
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 Ϊ2 10F Yes No N/A
ds1 dp2 1 N/A N/A N/A No N/A
Log Data in Router 10C
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dp2 2 Ϊ6 10F Yes No N/A
Log Data in Router 10E
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 Ϊ2 10F Yes No N/A
ds1 dp2 2 t? 10H Yes No N/A
Log Data in Router 10F
Data Session ID Data Packet ID Transmission Attempt Transmission Time Next Router ID Next- Router Success? Source Router? Transmission Success?
ds1 dpi 1 N/A N/A N/A No N/A
ds1 dp2 2 N/A N/A N/A No N/A
Log Data in Router 10H
This data is then uploaded to NMS 100. NMS 100 may then process this data to determine (in addition to the determinations discussed above):
• that the second transmission attempt of the second data packet of the first data session was successful; and • the sequence of routers for the transmission was 10A -> 10E -> 10F -> 10H (this is again by concatenating the “next router” data values from the source router’s log data to the destination router’s log data).
The NMS may then update its log data thus,
Data Data Transmission Source 1st Int. 2nd Int. 3rd Int. Destination Success?
Session Packet Attempt Router Router Router Router Router
ID ID
ds1 dpi 1 10A 10C 10F N/A 10H Success
ds1 dp2 1 10A 10C N/A N/A N/A Failure
ds1 dp2 2 10A 10E 10F N/A 10H Success
This data is logged and processed by the routers 10 and NMS 100 during transmission of data packets of several data sessions in network 1. The skilled person will understand that, for most networks, this would involve the collection of a large amount of log data as data packet transmissions are so numerous in modern data networks. The result is that the NMS 100 collects log data indicating the sequence of routers used in a plurality of data transmissions and whether those transmissions were successful or not, which is the source of data used in the embodiment of the method of the present invention in order to predict a property of a proposed path through the network 1, which will now be described with reference to Figure 4.
In this embodiment of the method of the present invention, NMS 100 determines a value of similarity between a proposed path in the network and those in the log data using a sequence alignment technique. Sequence alignment is typically a bioinformatics technique to compare amino acid or DNA sequences, but is used in this embodiment to compare the sequences of routers used between source and destination routers.
A first step, step S1, of an embodiment of this invention is to construct a substitution matrix from the log data. A basic substitution matrix (which may be used in the present
invention) takes the following form:
/ AB C D E F G H I 7„\
4 10 0 0 0 0 0 0 0
SOI 0 0 0 0 0 0 0 0
coo 1 0 0 0 0 0 0 0
D 0 0 0 1 0 0 0 0 0 0
E 0 0 0 0 1 0 0 0 0 0
F 0 0 0 0 0 1 0 0 0 0
GOO 0 0 0 0 1 0 0 0
H 0 0 0 0 0 0 0 1 0 0
I 0 0 0 0 0 0 0 0 1 0
\J 0 0 0 0 0 0 0 0 0 l/
In this basic matrix, the value of each matrix element, s, is:
if event (ί) Ψ event (J) 1 else (1)
Thus, the basic substitution matrix is an identity matrix in which matching routers have value 1 and non-matching routers have value 0.
Although the basic substitution matrix above may be used, in this embodiment a complex substitution matrix is used in which the elements off the main diagonal (i.e. for nonmatching routers) can be non-zero. In the field of bioinformatics, these non-zero values are calculated based on the likelihood and frequency of mutation between two amino acids. In the present invention, these non-zero values for a matrix element represent the likelihood and frequency of two routers being used interchangeably in the log data, and are calculated using equation (2) below:
s(ij') = log
PjXMij
PiXPj (2)
In equation 2, s is the value for the matrix element, p, and pj are the frequencies of routers i and j in the log data and M:J is the count of times router j is used as an alternative router to router /'.
In this context of this embodiment, the term “alternative router” means that the router immediately preceding and the router immediately succeeding are the same. For example, the sequence 10A -> 10C -> 10F -> 10H may be used for the first transmission attempt of the first data packet, and the sequence 10A -> 10E -> 10F -> 10H may be used for the second transmission attempt of the second data packet. The routers immediately preceding and succeeding routers 10C and 10E in these two sequences are the same. Accordingly, 10C and 10E are “alternative routers”, and a non-zero value for the matrix elements sc,e and se,c may be calculated from the log data. It is also noted that the length of the path (i.e. the number of routers in the path) and the source and destination routers of the path do not need to be identical for two routers to be “alternative routers”.
The skilled person will understand that not all router pairs act as an alternatives (e.g. due to a lack of a physical link) and matrix elements representing these pairs will remain zero, whereas any router pair that may act as an alternative will have a value greater than zero but less than or equal to 1.
The complex substitution matrix may then be constructed as:
/ A B c D E F G H I J
A 1 sa,b sa,c sa,d sa,e sa,f sa,g sa,h sa,i sa,j
B sb,a 1 sb,c sb,d sb,e sb,f Sb,g sb,h sb,i sb,j
C sc,a sc,b 1 sc,d sc,e sc,f Sc,g sc,h sc,i sc,j
V sj, a sj,b sj,i 1 /
Either the basic or complex substitution matrix may be used in the remaining steps of this embodiment of the method of the present invention. The benefits of using the complex substitution matrix will become apparent to the skilled person upon review of these remaining steps.
In step S2 of this embodiment, the NMS 100 then constructs a “score matrix” between the proposed path and each path in its log data. The matrix elements, Ζιί7·, are constructed based on the following equations:
hi0 = —δ x i (3) = —δ x j (4) htj = max{hi_lj - + s(xt,y- 5} (5)
Where • / represents a router of the proposed path and takes a value in the range {1,..., len^}, in which lem which represents the length of the proposed path (i.e. the number of “hops”), • j represents a router of the traversed path from the log data and takes a value in the range {1,..., len2}, in which len2 represents the length of the traversed path (i.e. the number of “hops”), • hi0 and hoj are calculated using equations (3) and (4) above and are initial values needed for the recursive formula in order to compute values for the elements hy of the score matrix, • δ is a predetermined gap penalty value used to lower the score matrix element value when the two sequences have a gap in their alignment (e.g. a first and last subset of the routers match, but a middle subset of routers do not). The gap penalty value (also known as an insertion/deletion penalty value in bioinformatics) may be set by the Network Operator by calibration (e.g. using a test set of data), such that hi0, hoj, hi_1j - δ and - δ are not under or overly penalised in the determination of hij·, • Xi and y7 are the routers at positions /' and j from the proposed path and the traversed path of the log data being evaluated respectively, and • s(.xi,yj) is the value from the substitution matrix corresponding to events and VjBefore continuing with the remaining steps of the embodiment of the invention, an example of the NMS constructing substitution and score matrices will be detailed in the event the NMS is evaluating proposed path 10A -> 10E -> 10F -> 10H.
First, a complex substitution matrix is constructed, in which sc,e is calculated - using the log data and equation (2) - to be 0.5:
A B A 1 0
SOI COO
C D E F
0 0 0
0 0 0
0 0.5 0
G Η I 0 0 0 0 0 0 0 0 0
I 0 0 ··· 1 0 \; ο ο οι/
Next, the proposed path is evaluated against each path in the historical data by constructing a score matrix. The first traversed path in this historical data is 10A -> 10C -> 10F -> 10H. The score matrix for this evaluation is:
A
C
F \h
A E F H \
ll,l /ll,2 /ll,3 /11,4
l2,l ^•2,2 ^2,3 /l2,4
l3,l /l3,2 /l3,3 /l3,4
l4,l ^4,2 ^4,3 /I44/
The matrix elements, hjj, are computed using equations (3), (4) and (5) above, using a penalty parameter 5 = 2:
/in = max{h01 — δ, h00 + s(A,A),h10 — 5} = max{—2 — 2,0 + 1, —2 — 2} = 1 /ii2 = max{hQ2 — δ, hQ1 + 5(4,^),/111 <5} = max{—4 — 2, —2 + 0,1 — 2} = -1 /i2i = max{/in — δ, h1Q + s(C, 4),/i20 — 5} = max{l — 2,-2 + 0, —4 — 2} = -1 h22 = max{/ii2 — 5,/in + s(C,E\ h21 — 5} = max(—l — 2,1 + 0.5, —1 — 2} = 1.5
...etc...
Once all matrix elements, hi:j, are calculated, the score matrix is:
/ A E F H \
41-1-3 -5
C -1 1.5 -0.5 -2.5 + -3 -0.5 2.5 0.5 ) \H -5 -2.5 0.5 3.5 /
The next step of this technique is to create a trace-back matrix. The trace back plots a path through the matrix from the bottom-right matrix element to the top-left matrix element. The trace-back matrix takes the same form as the score matrix (that is, the rows and columns of the matrix match the identities of the router sequences being evaluated), and the matrix elements are calculated as:
{diag if h(i,j) = h(i — l,j -1)+ s(i,j) up if h(i,f) = h(i - l,y) - δ (6) left if h(i,f) = h(i,j — 1) — δ
Using the values of the score matrix and substitution matrix in the present example, the trace-back matrix is:
A
C
F \h
A E F
diag left left
up diag left
up up diag
up up up
Figure GB2554156A_D0006
Starting from the bottom-right matrix element q(4,4), the optimal path through the traceback matrix is q(4,4) -> q(3,3) -> q(2,2) -> q(1,1).
In the next step of this technique (step S3), the NMS 100 calculates a value of similarity between the proposed path and the traversed path as the sum of values from the score matrix corresponding to the optimal path through the trace-back matrix. Using the traceback matrix and score matrix above, this value is 3.5 + 2.5+1.5+1 = 8.5.
The NMS 100 therefore computes a value for the similarity between proposed path 10A -> 10E-> 10F -> 10H and traversed path 10A -> 10C -> 10F -> 10H as 8.5. The NMS 100 performs this evaluation for each traversed path in the historical data, resulting in a value of similarity between the proposed path and each traversed path.
Returning to the embodiment of the method of the present invention, in step S4, the NMS 100 ranks each of the traversed paths in order of their value of similarity with the proposed paths, e.g.:
Ranking Traversed Path Similarity Value Property
1 10A -> 101 -> 10F-> 10H 10 Failure
2 10A -> 10C -> 10F-> 10H 8.5 Success
3 10A -> 10J -> 10F-> 10H 6 Failure
Table of Ranked Traversed Paths and their Corresponding Property
In step S5, the NMS 100 then uses a k-Nearest-Neighbour technique in order to predict a value for the proposed path. The NMS 100 therefore takes a predetermined number, k, of the highest-ranked traversed paths from step S4, and evaluates the most common value of the property for those k paths. In this example, the NMS 100 takes the 3 highestranked paths, and the most common value for these 3 paths is “Failure”. Accordingly, the NMS 100 predicts that the proposed path is likely to fail.
The NMS 100 (or any other node in network 1) may then use this predicted property in order to improve the network 1 (e.g. the Quality of Service). For example:
• The NMS 100 may use alternative paths to the proposed path for the transmission of data packets to the destination router;
• The Network Operator may highlight the proposed path for further investigation.
In the above example, the NMS 100 used an alignment technique in order to evaluate a value of similarity between a proposed path and a traversed path in the historical data for the network 1. However, it is not essential for the NMS 100 to use this particular alignment technique (which is known in bioinformatics as “global alignment”) and other methods of computing a value of similarity between the sequences of routers in network paths may be used. In the following alternative embodiment, the NMS 100 constructs the same substitution matrix as used in the above example, but then uses the following local alignment technique in order to compute a value of similarity.
In local alignment, a score matrix is constructed in which the matrix elements, Ζιί7·, are calculated using the following formulae:
hio = = ^oo = θ (6) hij = maxlhi^j - + s(%i,y7)A,7·-! - S, 0} (7)
The difference between this technique and global alignment (used in the previous example) is that the initial values are set to zero as it is not important where the common sequence starts.
The NMS 100 may therefore calculate the similarity between proposed path 10A -> 10E -> 10F -> 10H and traversed path 10A -> 10C -> 10F -> 10H as:
/ A E F H \
A /ll,l /ll,2 /ll,3 /11,4
C 2 1 /+,2 /+,3 /12,4
F /l3,l /l3,2 /+,3 /13,4
\H /l4,l /l4,2 /l4,3 /144/
/ill = ιίιπυ{/+ 1 — δ, h0 0 + 5(A ,,4),/1 1,0 - <5,0}
= max {0- 2,0 + 1,0- -2,0}
= 1 /i12 = max{h02 — S,hQ1 + 5(^,^),/11,1 <5,0} = max{0 — 2,0 + 0,0 — 2,0} = 0 /i21 = — S,h1Q + 5(F,,4),/i2<0 — δ, 0} = max{l — 2,0 + 0,0 — 2,0} = 0 h22 = max{/iL2 — + s(C, E), h — δ, Ο} = max{0 — 2,1 + 0.5,0 — 2,0} = 1.5
...etc...
Once all matrix elements have been calculated, the score matrix is:
/ A E F H \
A 1 0 0 0
C 0 1.5 0 0
F 0 0 2.5 0.5 \H 0 0 0.5 3.5/
In local alignment, the value of similarity between the two sequences is the value of the bottom-right matrix element, which in this example is 3.5. The NMS 100 may then use this technique to determine the value of similarity between the proposed path and all other traversed paths in the log data, rank the traversed paths in order of their value of similarity, and predict a property of the proposed path based on the ranked traversed paths and their respective values, as described in the previous embodiment.
A second embodiment of a method of the present invention will now be described. This embodiment is based on the same network 1 (as shown in Figure 1), and the same reference numerals will therefore be used.
In this embodiment, the log data in the NMS 100 is compiled in the same manner as the first embodiment above. An example of this log data is shown below:
Data Session ID Data Packet ID Transmission Attempt Source Router 1st Int. Router 2nd Int. Router 3rd Int. Router Destination Router Success?
ds1 dpi 1 10A 10C 10F N/A 10H Success
ds1 dp2 1 10A 10C N/A N/A N/A Failure
ds1 dp2 2 10A 10E 10F N/A 10H Success
ds1 dp3 1 10A 10C N/A N/A N/A Failure
ds1 dp3 2 10A 10B 10E 10F 10H Success
In the previous embodiment, the routes 10A -> 10C -> 10F -> 10H and 10A -> 10E -> 10F -> 10H were identified as having alternative routers, 10C and 10E, as the routers immediately preceding and immediately succeeding were the same. In this second embodiment, routes in which one or more routers act as alternative routers for another router are also considered. In the example log data above, route 10A -> 10B -> 10E -> 10F -> 10H (for data packet ds1, dpi, 2) is also identified as having alternative routers with route 10A -> 10C -> 10F -> 10H, wherein the combination of routers 10B + 10E are considered as an alternative router to router 10C. Such a combination shall hereinafter be known as “combination alternative routers”.
The NMS 100 complies a modified log data table in which the combination alternative routers are replaced with a single ID. In this case, combination alternative routers 10B + 10E are given ID B1. The modified log data table in this example is,
Data Session ID Data Packet ID Transmission Attempt Source Router 1st Int. Router 2nd Int. Router 3rd Int. Router Destination Router Success?
ds1 dpi 1 10A 10C 10F N/A 10H Success
ds1 dp2 1 10A 10C N/A N/A N/A Failure
ds1 dp2 2 10A 10E 10F N/A 10H Success
ds1 dp3 1 10A 10C N/A N/A N/A Failure
ds1 dp3 2 10A 10B1 10F 10H Success
A substitution matrix may now be created in which the single alternative routers and combination alternative routers are identified and evaluated. Accordingly, a complex substitution matrix may be compiled in which the values of each matrix element represent the likelihood of an alternative router (or combination alternative routers) are used instead of another router in the log data, and are again calculated based on equation (2),
PjXMij
PiXPj (2) in which s is the value for the matrix element, p, and pj are the frequencies of routers /' and j in the log data and My is the count of times router j is used as an alternative router to router /. In this embodiment, the routers may be either a single router or one of the identified combination alternative routers. Thus, the combination B1 (i.e.1 OB + 10E) may be counted in the log data to determine p, and pyand the number of times it is used as an alternative to router 10C may be used to calculate Mc,bi.
The complex substitution matrix may then be constructed as,
/ A B BI c D E F G H I J
A 1 sa,b sa,bl sa,c sa,d sa,e sa,f sa,g sa,h sa,i sa,j
B sb,a 1 sb,bl sb,c sb,d sb,e sb,f Sb,g sb,h sb,i sb,j
BI sbl,a sbi,b 1 sbl,c sbl,d sbl,e sbi,f sbi,g sbl,h sbl,i sbi,j
C sc,a sc,b sc,bl 1 sc,d sc,e sc,f Sc,g sc,h sc,i sc,j
\ J sj,a sj,b sj,i t- /
The NMS 100 then creates a score matrix between a proposed path through the network and each traversed path in the log data. As the combination alternative routers have been combined into a single ID, a score matrix may be created in which a proposed path is evaluated against a path including combination alternative routers. The values for the matrix elements, h,j, are then evaluated based on equations (3), (4) and (5) above, as performed in the first embodiment. Before continuing with the remaining steps of this embodiment, an example of the steps described so far will now be detailed. This example will use proposed path 10A -> 10l -> 10F -> 10H.
First, a complex substitution matrix is created using the log data and equation (2).
SI 0 C 0
SI
0.4
0.45 0
E
F
0.5 0
G
0.3
0 . I 0 0 \; oo 1 °/ 0 1/
The proposed path is then evaluated against each traversed path in the historical data to produce the matrix element values. This proceeds in the same manner as for the first embodiment. However, in this second embodiment, it is possible to evaluate the value of the matrix element for combination alternative routers B1, thus:
A ^1,1 I ^1,2 F ^1,3 H\ /h,4
SI ^2,1 ^2,2 ^2,3 ^2,4
F ^3,1 ^3,2 ^3,3 ^3,4
\H ^4,1 ^4,2 ^4,3 /I44/
The matrix elements, hjj, are computed using equations (3), (4) and (5) above, using a 20 penalty parameter 5 = 2:
/in = rn.ax{hQ1 — δ, /i00 + s(A,A), h1Q — 5,0} = max{0 — 2,0 + 1,0 — 2,0} = 1 h12 = max{h02 — δ, hQ1 + s (A, ± — δ, 0} = max{0 — 2,0 + 0,0 — 2,0} = 0 h21 = max^hi -L — δ, h10 + s(Bl,A), h2;0 — δ, 0} = max{l — 2,0 + 0,0 — 2,0} = 0
... etc ...
The score matrix and trace-back matrix can therefore be created, and a value of similarity may therefore be determined, for the proposed path against all traversed paths in the log data (including those with a single alternative router and those with combination alternative routers). As described above in the first embodiment, the NMS 100 then ranks each of the traversed paths in order of their value of similarity with the traversed path, and then uses a k-Nearest-Neighbour technique in order to predict a value of the property for the proposed path. The NMS 100 may then use this predicted property in order to improve the network 1 (e.g. the Quality of Service).
Thus, the second embodiment describes a method in which a value of similarity between a proposed path and historical data of traversed paths may be evaluated even when the multiple routers act as an alternative for a failed router. This creates a more substantial dataset from which the NMS 100 may rank the traversed paths and predict a value of the property of the proposed path.
In a further enhancement to the second embodiment, it is possible to predict a property of a proposed path through a network based on that path’s similarity with traversed paths in the network and, additionally, one or more variants of the proposed path and their similarities with traversed paths in the network. This will now be explained.
In a first step, the NMS 100 creates a mapping table which identifies original routers and their combination alternative routers within the log data table. The first entry in this mapping table would therefore identify the original router as router 10C and the alternative router as 10E, and the second entry in this mapping table would identify router 10C as the original router and combination alternative routers as routers 10B + 10E. For the purposes of this example, we shall assume that the log data includes further data (than identified in the example above) to create the following mapping table:
ID Original Router Alternative Router(s)
1 10C 10E
2 10C 10B, 10E
3 101 10K, 10L
Routers 10K and 10L are not shown in Figure 1, but in this example represent an alternative path for packets instead of router 101.
Based on this mapping table, the NMS 100 is able to create a variant of the proposed path through the network. The proposed path through the network is, again, 10A -> 101 -> 10F -> 10H. The NMS 100 may therefore review the mapping table to determine that 10K + 10L are combination alternative routers that can be used instead of router 101, such that 10A -> 10K -> 10L -> 10F -> 10H is a variant of the proposed path. The NMS 100 may also determine whether the variant of the proposed path is a viable path (e.g. by checking that communication paths exist between 10A and 10K and between 10L and 10F) before continuing with the following process.
Following the method detailed above in the second embodiment, the NMS 100 is able to create a substitution matrix, score matrix and trace-back matrix for not only the proposed path, but also the variant of the proposed path. The NMS 100 may then produce a first ranking table, in which the traversed paths (and their variants) are ranked according to their value of similarity with the proposed path, and a second ranking table, in which the traversed paths (and their variants) are ranked according to their value of similarity with the variant of the proposed path. The NMS 100 may then provisionally predict a property of the proposed path based on the most common property amongst the top-k traversed paths of the first ranking table, and provisionally predict a property of the variant of the proposed path based on the most common property amongst the top-k traversed paths of the second ranking table. Lastly, the NMS 100 may then predict the property of the proposed path based on the provisionally predicted property of the proposed path and the provisionally predicted property of the variant of the proposed path. This prediction may be weighted such that the influence of the variants is less than that of the actual proposed path.
The skilled person will also understand that it is non-essential that these particular alignment techniques be used in the method of the present invention. That is, any technique which calculates a value of similarity between two sequences of routers is suitable, and these values may then be used to predict the property for the proposed sequence. However, the above techniques are advantageous as the value of similarity between two sequences is dependent on the number of times two routers are used in the alternative in the historical data (i.e. when using the complex substitution matrix). This is therefore a more accurate determination of the two sequences similarity (as it is based on real data of when a data packet is redirected to one router instead of the other) and therefore gives more accurate predictions of the property for the proposed path. The skilled person will also understand that it is possible to use the local alignment technique in the second embodiments and its enhancement.
The skilled person will understand that this method of the present invention may be used to predict other properties of the proposed path than the particular example used herein. For example, if the log data contained data on the sequences of traversed paths and another property of the path, such as whether the round-trip time was above or below a threshold value, then the method of the present invention may be used to predict whether the round-trip time over the proposed path would take more or less time than this threshold value based on the values for similar paths in the historical data.
Furthermore, the skilled person will also understand that it is non-essential for the property being predicted take a Boolean format in the historical data. For example, if the property of the proposed path being predicted is the latency, and the historical data contained data on sequences of traversed paths and their corresponding latency, then the method of the present invention may be used to predict the latency of the proposed path based on the latency values for similar paths in the historical data (e.g. using an average, or another mathematical function, of the latency values for the similar paths).
The skilled person will also understand that it is not essential that the historical log data is collected in the manner described above. The log data includes the sequence of routers traversed by a data packet during a transmission between its source and destination, and also includes a property of that path. This data may be obtained by a variety of techniques using live data or probe packets, for example using the ‘traceroute’ function of many network elements.
Furthermore, the skilled person will understand that it is not essential that the method be performed on an NMS. The method may be performed on any node that has collected the relevant log data, and may be a part of one the routers of the network or a distinct network node.
In the examples above, the term “router” is used to describe a network node which routes data packets from a source to a destination. The skilled person will understand that the present invention applies to any such node whether it is across a single network (in which case the term “switch” would be more appropriate to describe the network node) or across an internetwork (in which case “router” would be more appropriate to describe the network node).
In the second embodiment, the historical data is analysed to determine instances in which two routers are used as an alternative to a single router. These two routers are considered “combination alternative routers”, the substitution matrix may be constructed with an identifier for the combination alternative routers, and the variant of the proposed path may also use the combination alternative routers. However, the skilled person will understand that the number of routers in the sequences of the first and second alternative paths are not limited to 1 and 2 respectively. That is, the ratio may be 2:2, or N:M (where at least one of N and M are greater than or equal to 2).
The skilled person will understand that any combination of elements is within the scope of the invention, as claimed.

Claims (16)

1. A method of predicting a property of a path in a network, the method comprising the steps of:
receiving historical data of a plurality of traversed paths through a network, wherein the historical data for each traversed path through the network includes a property of said traversed path, and an identified sequence of network nodes in said traversed path; predicting a property for a proposed path in the network, the proposed path having a proposed sequence of network nodes, by:
calculating a value of similarity between the proposed path’s proposed sequence of network nodes and the identified sequence of network nodes in each of the plurality of traversed paths; and predicting the property for the proposed path based on the calculated values of similarity.
2. A method as claimed in Claim 1, wherein the step of predicting the property for the proposed path includes:
ranking each of the plurality of traversed paths based on their respective calculated value of similarity with the proposed path; and predicting the property for the proposed path based on the properties of a predetermined number of the highest ranked of the plurality of traversed paths.
3. A method as claimed in Claim 2, wherein the step of predicting the property for the proposed path includes assigning a most common property of the predetermined number of the highest ranked of the plurality of traversed paths.
4. A method as claimed in any one of the preceding claims, wherein the property is whether the traversed path successfully transmitted a data packet or failed to transmit a data packet.
5. A method as claimed in Claim 4, further comprising the steps of: analysing the historical data to identify at least one pair of alternative paths, wherein a first alternative path includes a first common network node followed by a first intermediate network node followed by a second common network node and the second alternative path includes the first common network node followed by a second intermediate network node followed by the second common network node;
determining a first count of instances in which the first alternative path is used due to failure of the second intermediate network node and a second count of instances in which the second alternative path is used due to failure of the first intermediate network node; and constructing a substitution matrix using the first and second counts, wherein the step of calculating the value of similarity between the proposed path’s proposed sequence of network nodes and the identified sequence of network nodes in each of the plurality of traversed paths uses the substitution matrix.
6. A method as claimed in Claim 5, wherein the first alternative path includes the first common network node followed by the first intermediate network node, a third intermediate network node and the second common network node, the second count is of instances in which the second alternative path is used is due to failure of either the first or third intermediate network node, and the substitution matrix is constructed by considering the first and third intermediate network nodes as a virtual intermediate node.
7. A method as claimed in Claim 6, wherein the proposed sequence of network nodes includes the second intermediate node, the method further comprising the steps of:
comparing the proposed sequence of network nodes of the proposed path with the first alternative path, creating a variant of the proposed path by substituting the second intermediate node of the proposed sequence of network nodes with the first and third intermediate nodes;
calculating a value of similarity between the variant of the proposed path’s proposed sequence of network nodes and the identified sequence of network nodes in each of the plurality of traversed paths; and predicting the property for the proposed path based on the calculated values of similarity for both the proposed path and the variant of the proposed path.
8. A computer program product comprising instruction which, when the program is executed by a computer, causes the computer to carry out the steps of the method of any one of the preceding claims.
9. A device for a telecommunications network, the device comprising
Memory for storing historical data of a plurality of traversed paths through a network, wherein the historical data for each traversed path through the network includes a property of said traversed path, and an identified sequence of network nodes in said traversed path; and a processor adapted to:
predict a property for a proposed path in the network, the proposed path having a proposed sequence of network nodes, by:
calculating a value of similarity between the proposed path’s proposed sequence of network nodes and the identified sequence of network nodes in each of the plurality of traversed paths; and predicting the property for the proposed path based on the calculated values of similarity.
10. A device as claimed in Claim 9, wherein the processor predicts the property for the proposed path in the network by:
ranking each of the plurality of traversed paths based on their respective calculated value of similarity with the proposed path; and predicting the property for the proposed path based on the properties of a predetermined number of the highest ranked of the plurality of traversed paths.
11. A device as claimed in either Claim 9 or Claim 10, wherein the processor predicts the property for the proposed path in the network by assigning a most common property of the predetermined number of the highest ranked of the plurality of traversed paths.
12. A device as claimed in any one of Claims 9 to 11, wherein the property is whether the traversed path successfully transmitted a data packet or failed to transmit a data packet.
13. A device as claimed in any one of Claims 9 to 12, wherein the processor is further adapted to:
analyse the historical data to identify at least one pair of alternative paths, wherein a first alternative path includes a first common network node followed by a first intermediate network node followed by a second common network node and the second alternative path includes the first common network node followed by a second intermediate network node followed by the second common network node;
determine a first count of instances in which the first alternative path is used due to failure of the second intermediate network node and a second count of instances in which the second alternative path is used due to failure of the first intermediate network node; and construct a substitution matrix using the first and second counts, wherein the processor is adapted to calculate the value of similarity between the proposed path’s proposed sequence of network nodes and the identified sequence of network nodes in each of the plurality of traversed paths by using the substitution matrix.
14. A device as claimed in Claim 13, wherein the first alternative path includes the first common network node followed by the first intermediate network node, a third intermediate network node and the second common network node, the second count of instances in which the second alternative path is used is due to failure of either the first or third intermediate network node, and the substitution matrix is constructed by considering the first and third intermediate network nodes as a virtual intermediate node.
15. A device as claimed in any one of Claims 9 to 14, wherein the proposed sequence of network nodes includes the second intermediate node, and the processor is further adapted to:
compare the proposed sequence of network nodes of the proposed path with the first alternative path, create a variant of the proposed path by substituting the second intermediate node of the proposed sequence of network nodes with the first and third intermediate nodes;
calculate a value of similarity between the variant of the proposed path’s proposed sequence of network nodes and the identified sequence of network nodes in each of the plurality of traversed paths; and predict the property for the proposed path based on the calculated values of 5 similarity for both the proposed path and the variant of the proposed path.
16. A device as claimed in any one of Claims 9 to 15, being a Network Management System.
Intellectual
Property
Office
Application No: Claims searched:
GB1711200.4 1-16
GB201711200A 2016-08-16 2017-07-12 A method of predicting a property of a path in a telecommunications network Active GB2554156B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB1614006.3A GB201614006D0 (en) 2016-08-16 2016-08-16 A method of predicting a property of a path in a telecommunications network
GBGB1701775.7A GB201701775D0 (en) 2016-08-16 2017-02-03 A method of predicting a property of a path in a telecommunications network

Publications (3)

Publication Number Publication Date
GB201711200D0 GB201711200D0 (en) 2017-08-23
GB2554156A true GB2554156A (en) 2018-03-28
GB2554156B GB2554156B (en) 2019-12-25

Family

ID=56985752

Family Applications (4)

Application Number Title Priority Date Filing Date
GBGB1614006.3A Ceased GB201614006D0 (en) 2016-08-16 2016-08-16 A method of predicting a property of a path in a telecommunications network
GBGB1701775.7A Ceased GB201701775D0 (en) 2016-08-16 2017-02-03 A method of predicting a property of a path in a telecommunications network
GBGB1701785.6A Ceased GB201701785D0 (en) 2016-08-16 2017-02-03 A method of processing a sequence in a computing system
GB201711200A Active GB2554156B (en) 2016-08-16 2017-07-12 A method of predicting a property of a path in a telecommunications network

Family Applications Before (3)

Application Number Title Priority Date Filing Date
GBGB1614006.3A Ceased GB201614006D0 (en) 2016-08-16 2016-08-16 A method of predicting a property of a path in a telecommunications network
GBGB1701775.7A Ceased GB201701775D0 (en) 2016-08-16 2017-02-03 A method of predicting a property of a path in a telecommunications network
GBGB1701785.6A Ceased GB201701785D0 (en) 2016-08-16 2017-02-03 A method of processing a sequence in a computing system

Country Status (1)

Country Link
GB (4) GB201614006D0 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090122697A1 (en) * 2007-11-08 2009-05-14 University Of Washington Information plane for determining performance metrics of paths between arbitrary end-hosts on the internet

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090122697A1 (en) * 2007-11-08 2009-05-14 University Of Washington Information plane for determining performance metrics of paths between arbitrary end-hosts on the internet

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUN et al. "Estimation of overlay link quality from previously observed link qualities", 2013, IEEE. See abstract and especially sections III & IV. *

Also Published As

Publication number Publication date
GB201701775D0 (en) 2017-03-22
GB2554156B (en) 2019-12-25
GB201701785D0 (en) 2017-03-22
GB201614006D0 (en) 2016-09-28
GB201711200D0 (en) 2017-08-23

Similar Documents

Publication Publication Date Title
US11558274B2 (en) Bit-forwarding ingress router, bit-forwarding router, and operation, administration and maintenance test method
US11750483B2 (en) In-line performance monitoring
US7174387B1 (en) Methods and apparatus for requesting link state information
JP5120784B2 (en) Method for estimating quality degradation points on a network in a communication network system
US8116200B2 (en) Source routing approach for network performance and availability measurement of specific paths
US7382731B1 (en) Method and apparatus for updating probabilistic network routing information
US8170022B2 (en) Method and apparatus for actively discovering internet protocol equal cost multiple paths and associate metrics
US9197518B2 (en) Quality-deteriorated part analyzing system, quality-deteriorated part analyzing device, quality-deteriorated part analyzing method, and quality-deteriorated part analyzing program
US7697452B2 (en) Method and management apparatus for classifying congestion paths based on packet delay
EP2661028B1 (en) Duplicate Packet Suppression
US10623278B2 (en) Reactive mechanism for in-situ operation, administration, and maintenance traffic
US20100054140A1 (en) Fault detection in a transport network
CN105743687B (en) Method and device for judging node fault
US8018953B1 (en) Adaptive, deterministic ant routing approach for updating network routing information
US10153981B2 (en) Determining a maximal size of packets
US8169932B2 (en) QoS degradation point estimation method, QoS degradation point estimation device, and program
CN107659436B (en) Method and device for preventing service interruption
CN113507434A (en) Data security transmission method, node and system in communication network
CN108055285A (en) A kind of intrusion prevention method and apparatus based on OSPF Routing Protocols
Rohmah et al. The performance comparison of forwarding mechanism between IPv4 and Named Data Networking (NDN). Case study: A node compromised by the prefix hijack
GB2554156A (en) A method of predicting a property of a path in a telecommunications network
EP4231589A1 (en) Method and system for network topology obfuscation
Sae Lor et al. Handling transient link failures using alternate next hop counters
CN115442288B (en) SRv6 network data packet inspection method and device
US8873376B2 (en) Method of obtaining information representative of an availability, a device for obtaining information, and a corresponding computer program