WO2015106794A1 - Methods and systems for data routing - Google Patents

Methods and systems for data routing Download PDF

Info

Publication number
WO2015106794A1
WO2015106794A1 PCT/EP2014/050564 EP2014050564W WO2015106794A1 WO 2015106794 A1 WO2015106794 A1 WO 2015106794A1 EP 2014050564 W EP2014050564 W EP 2014050564W WO 2015106794 A1 WO2015106794 A1 WO 2015106794A1
Authority
WO
WIPO (PCT)
Prior art keywords
routing
data
route
dataset
network
Prior art date
Application number
PCT/EP2014/050564
Other languages
French (fr)
Inventor
Hayim Porat
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to PCT/EP2014/050564 priority Critical patent/WO2015106794A1/en
Priority to CN201480073208.4A priority patent/CN105917621B/en
Publication of WO2015106794A1 publication Critical patent/WO2015106794A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/308Route determination based on user's profile, e.g. premium users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Definitions

  • the present application relates to systems and methods for data routing and to systems and methods for selecting routes for data through a communication network.
  • a single route computation entity computes routes for all entities in the network.
  • the single routing computation entity has a global network view and may have more computing power to compute routes that are more optimized as compared to standard distributed routing protocols such as OSPF (Open Shortest path first) and RIP (Routing Information
  • a method of selecting a route for a flow of data through a data communication network comprising: receiving a request for a route within a data communication network for transmission of a flow of data packets, the data communication network comprising a plurality of nodes interconnected by links, the route including at least one link between two network nodes; identifying a routing policy for selection of the route; accessing a multi-tier routing dataset storing a plurality of different routing parameters per link; selecting the route by selecting each potential link in the route based on a subset of the plurality of different routing parameters from each potential link, the subset defined by the routing policy; and generating a signal indicative of the selected route so that the flow is routed within the data communication network through the selected route.
  • the routing policy is a best-effort policy for routing the data flows, or a service agreement policy for routing the data flows adhering to the resources determined by the service agreement.
  • the routing parameters denote different cost criteria
  • the routing policy defines the subset of routing parameters for calculation of a combined cost for the link.
  • each of the different routing parameters denotes an association with a different Class of Service
  • the routing policy defines the Class of Service
  • each of the different routing parameters denote different cost criteria
  • the routing policy defines different subsets of the routing parameters for different Classes of Service.
  • the method further comprises dynamically updating the multi-tier routing dataset according to a continuously held data analysis, the dataset being asynchronously updated from usage of the dataset by the accessing for route selection.
  • the requests for the routes are received and processed at a rate different than that of the rate of updating the multi-tier routing dataset.
  • the subset comprises a weighted combination of the routing parameters.
  • the subset comprises a single type of routing parameter selected from the plurality of routing parameters.
  • selecting the route comprises calculating the least cost route through the links according to the plurality of routing parameters associated with the links.
  • a system for generating a routing dataset for routing data flows through a data communication network comprises: a network interface for electrical communication with a data communication network for transmission of flows of data packets, the data communication network comprising a plurality of nodes interconnected by links; a hardware processor in electrical communication with the network interface; and a non-transitory memory in electrical communication with the hardware processor, the memory having stored thereon: a multi-tier routing dataset storing a plurality of different routing parameters per link between two network nodes; and program modules for instruction execution by the hardware processor, comprising: an analysis module for collecting data from the data communication network and updating the routing dataset with the collected data; and a route selection module for accessing the multi-tier routing dataset and selecting routes for data flows through the network that include at least one link based on a subset of different routing parameters per each potential link; wherein updating the dataset and accessing the dataset are performed asynchronously with respect to each another.
  • the analysis module calculates values for the routing parameters from the collected data.
  • the route selection module and the analysis module operate asynchronously from each other.
  • system further comprises a network database for storing the collected data, the network database in electrical communication with the analysis module, the network database stored on a storage medium designed for big-data analytics.
  • the data communication network is an autonomous system that presents a commonly defined routing policy to external networks, the data communication network being controlled by a network management system that issues requests for routes.
  • a computer program having a program code for performing the method according to any of the implementation forms of the first aspect or the first aspect as such, when the computer program runs on a computer is provided.
  • data routes within a data communication network are selected according to a multi-tier routing dataset storing multiple different routing parameters per link (e.g., a connection between two network nodes).
  • the route includes one or more links, based on a subset of different routing parameters from each potential link.
  • the dataset is updated asynchronously with respect to access of the dataset for selecting the route.
  • Implementation forms of the method and/or system of the present invention can involve performing or completing selected tasks manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of implementation forms of the method and/or system of the present invention, several selected tasks could be implemented by hardware, by software or by firmware or by a combination thereof using an operating system.
  • a data processor such as a computing platform for executing a plurality of instructions.
  • the data processor includes a volatile memory for storing instructions and/or data and/or a non-volatile storage, for example, a magnetic hard-disk and/or removable media, for storing instructions and/or data.
  • a network connection is provided as well.
  • a display and/or a user input device such as a keyboard or mouse are optionally provided as well.
  • FIG. 1 is a schematic of a data communication network and associated routing table, useful in practicing some embodiments of the present invention
  • FIG. 2 is a block diagram of a system for selecting a route within a data communication network, in accordance with some embodiments of the present invention
  • FIG. 3 is a flowchart of a method for selecting a data route, in accordance with some embodiments of the present invention.
  • FIG. 4 is a flowchart of a method for updating a multi-tier routing dataset, in accordance with some embodiments of the present invention.
  • FIG. 5 is an exemplary design of the system of FIG. 1, in accordance with some embodiments of the present invention.
  • FIG. 6 is an exemplary table representation of the multi-tier routing dataset, in accordance with some embodiments of the present invention.
  • FIGs. 7A-7D are schematics of a network and associated multi-tier routing dataset of the operation of the system of FIG. 2 and/or the methods of FIG. 3 and/or FIG. 4.
  • the present invention relates to systems and/or methods for data routing and, more particularly, but not exclusively, to systems and/or methods for selecting routes for data through a communication network.
  • An aspect of some embodiments of the present invention relates to systems and/or methods for selecting a route for one or more data flows through a data communication network according to a multi-tier routing dataset.
  • the dataset stores multiple different routing parameters per link (e.g., a connection between two network nodes).
  • the selected route includes a subset of the different routing parameters from each potential edge.
  • Relatively improved routes may be selected by use of the multiple routing parameters that add additional data and/or constraints into the route selection process, for example, taking into account the load of the links in addition to the nominal bandwidth.
  • the route selection, using the multi-tier routing dataset having multiple parameters associated with each link may be improved relative to route selection using routing tables with a single value associated with each link inter alia as illustrated by FIG. 1 described below.
  • a routing policy defines the subset of the different routing parameters. Using the same multi-tier routing dataset, different routing paths may be selected for data flows having different routing policies.
  • the route is selected on-the-fly at the time of the request based on currently available resources.
  • the routing policy is a service agreement and/or other Class of Service (CoS) policy to provide a predefined level of service, for example, a service level agreement (SLA) between clients and the service provider, a policy internal to the service provider, or other agreements or policies.
  • CoS Class of Service
  • the routing policy is a best-effort policy for routing data.
  • the routing parameters denote different cost criteria.
  • the routing policy defines a combined cost per potential link according to a subset of routing parameters which are set thereto. This allows selecting links based on different costs or a function that combines different costs (e.g. mean, average, sum, a weighted function and/or the like).
  • the route may be selected according to the total cost of all links in the route, for example, using a least cost algorithm that calculates the route with the lowest total link cost.
  • the routing parameters of each link denote different Classes of Service (CoS).
  • the routing policy defines the Class of Service.
  • the route may be selected using the CoS of each potential link in the path, for example, by selecting a single parameter from the multiple parameters of each link.
  • the received request may be classified into the Class of Service according to one or more classification rules, for example, according to the profile of the user, according to the data type, according to a SLA agreement, or other rules.
  • the routing parameters denote different cost criterion
  • the routing policy defines different subsets of the costs for different CoS.
  • the route may be selected by calculating a summary cost per potential link from the subset of the routing parameters associated with the CoS, and selecting the path with the lowest total cost for the links of the route.
  • Cost functions include:
  • Number of hops i.e., number of vertices on the route between source and destination.
  • Accumulated delay i.e., sum of all delays occurring at all of the vertices.
  • Some examples of a routing policy include:
  • the multi-tier routing dataset is updated asynchronously from the route selection process.
  • different processes and/or entities perform the updating and the selection.
  • generation of the dataset is independent of usage and/or access of the dataset.
  • selection of the route does not trigger an update of the multi-tier routing dataset.
  • the multi-tier routing dataset is updated, for example, according to a user defined rate (e.g., polling network elements), upon receiving updates sent by one or more network elements (e.g., routers), and/or other triggers that are independent of the route selection process.
  • the data collected for updating the routing table is big-data.
  • big-data means a data set that is too large for capturing and/or processing within an acceptable range of time, for example, updating the multi-tier routing dataset in response to the routing requests.
  • the multi-tier routing dataset is dynamically updated using big-data analytical methods, for example, MapReduce methodology.
  • the update is continuously held, for example, using the big-data analysis.
  • FIGs. 2-6 of the drawings For purposes of better understanding some embodiments of the present invention, as illustrated in FIGs. 2-6 of the drawings, reference is first made to the process of route selection using a routing table 102 for a network 104 as illustrated in FIG. 1.
  • Table 102 is constructed based on the OSPF protocol for representing network 104, according to the links between nodes A, B, C and D.
  • the Cost column of table 102 is a single value denoting the compound metric of selected measured and/or other parameters related to the link between two nodes of network 104, in the From and To columns of the corresponding row.
  • the metrics include: the actual monetary cost of the link, the bandwidth of the link (the higher the bandwidth the lower the cost), latency on the link, and/or other parameters.
  • the total cost for different routes between two nodes in the network may be calculated. For example, to get from node A to node D, two non-circular routes are possible using different link combinations: A- C ⁇ D having a cost of 5 (3+2), or
  • FIG. 2 illustrates a system 200 for selection of routes through a data communication network 202, in accordance with some embodiments of the present invention.
  • FIG. 3 is a method of automatically selecting routes through the communication network, in accordance with some embodiments of the present invention.
  • system 200 is a route selection unit programmed to carry out the steps of the method.
  • System 200 and/or the method select routes through network 202 using a multi-tier routing dataset 204 having multiple parameters associated with each link.
  • the method may provide a flexible model for selecting routes according to Quality of Service (QoS) and/or SLA.
  • QoS Quality of Service
  • the method may enable better utilization of network resources while adhering to the SLA and/or QoS.
  • the method may select better routes (e.g., improved optimization of routes) than would be selected by other methods.
  • the method selects non-circular routes.
  • system 200 receives a request for routing data through network 202.
  • the request is for routing one or more packets of data.
  • the request is for a flow for data, such as a flow of data packets.
  • processor 208 is in electrical communication with a non-transitory memory 210 storing a route selection module 212 for selecting routes through network 202.
  • route selection module 212 for selecting routes through network 202.
  • multi-tier routing dataset 204 is stored on memory 210.
  • Module 212, dataset 204, and/or other modules and/or databases stored on memory 210 contain instructions for execution by processor 208.
  • the request may originate from a requesting entity 206, for example, a server within system 200 (e.g., to route data between two nodes and/or terminals within the network) and/or a server external to system 200 (e.g., to route data entering network 202 across and/or out of network 202, for example, the terminals being located outside of network 202).
  • network 202 is centrally managed by a network management system.
  • the network management system may act as requesting entity 206.
  • network 202 is an autonomous system that presents a commonly defined routing policy to external networks, for example, the internet.
  • Network 202 may be owned by a single entity (for example, an internet service provider, a telecommunication company, or other organizations), or by multiple entities that may connect different networks together to form the single autonomous system.
  • network 202 is a packet switching network.
  • the routing policy for selection of the route for the data flow through network 202 is identified.
  • the routing policy is identified, for example, according to: the client (e.g., profile), the originating internet protocol (IP) address, the destination IP, type of service in the header of the frame, or other methods.
  • IP internet protocol
  • the routing policy is, for example, a SLA between the client and the service provider, a policy internal to the service provider itself, a policy based on the profile of the client, or other policies.
  • there are different levels of the routing policy for example, for different clients.
  • the routing policy is identified by classifying the route request into one of several classes, optionally by using one or more predefined rules.
  • multi-tier routing dataset 204 is accessed.
  • dataset 204 is accessed by route selection module 212.
  • different subsets of the routing parameters within dataset 204 are accessed, as defined by the identified routing policy.
  • Dataset 204 contains links between nodes in network 202.
  • Each link is associated with multiple routing parameters, for example, costs related to the link. Examples of routing parameters include: actual monetary cost of the link, bandwidth of the link, latency of the link, link utilization (e.g., real time), user defined parameters, or other parameters.
  • each parameter represents a different cost criterion.
  • the multi- constraint routing parameters allow for multi-constraint routing.
  • a subset of routing parameters is defined by the identified routing policies. For example, different classes of service (CoS) define different subsets of routing parameters for use in selecting the route.
  • the routing parameters may represent cost per CoS, for example, in systems where flows are classified according to a predetermined class of service.
  • FIG. 6 is an exemplary representation of multi-tier routing dataset 204 as a table 600 of network 202, in accordance with the embodiments of the present invention.
  • Table 600 has links represented by unidirectional edges of a directed graph of network 202.
  • Table 600 contains unidirectional links between network nodes, represented by the From (node) and To (node) columns.
  • Table 600 contains multiple routing parameters represented by the Costl, Cost2, Cost3, CostN columns.
  • multi-tier routing dataset 204 is represented by other suitable data structures, for example, records, trees, graphs, objects, linked lists, vectors, hash tables, and/or other suitable structures.
  • Dataset 204 is accessed to retrieve routing parameters defined by the identified routing policy.
  • a subset of the routing parameters is defined by the indentified routing policy.
  • one identified routing policy may define the subset of Costl and Cost2.
  • Another identified routing policy may define the subset of Cost2 and Cost3.
  • Yet another identified routing policy may define the subset of Cost3, and yet another identified routing policy may define the subset of Costl, Cost2, and Cost3.
  • a route through network 202 is selected, for example, by route selection module 212.
  • the route includes at least one link based on a subset of different routing parameters from each potential link.
  • the subset is defined by the identified routing policy.
  • the least cost route is calculated using the subset of routing parameters for each potential link.
  • the routing parameters represent pre-calculated variables.
  • the routing parameters represent costs, with lower costs being preferred over higher costs.
  • Suitable algorithms for least cost route calculations include, for example, Dijkstra's algorithm. Simple route calculation methods may be employed. The simple methods may be sophisticated. The least cost route may be calculated, for example, for systems having a CoS policy.
  • the routing parameters represent raw values for calculating one or more metrics, for example, using a function.
  • the function may be defined by the identified routing policy.
  • the metric calculations may be performed on-the-fly, as defined by the identified routing policy.
  • different routing policies may have different equations for calculating metrics using different subsets of routing parameters are variables.
  • Module 212 may perform the calculations for each incoming request.
  • the calculated metrics may be stored within dataset 204, in association with the link being considered as part of the route, for example, a temporary column may be created for table 600 of FIG. 6.
  • the route is selected according to CoS groups. Parameters associated with the CoS groups that were accessed are used to select the route. Alternatively or additionally, the route is selected on a per data flow basis. For example, similar data fiows (e.g., same client with the same SLA) may be assigned to different routes, for example, due to changing network conditions reflected in the associated routing parameters. In another example, different data flows (e.g., different clients with different SLAs) may be assigned to the same route, for example, due to the current network conditions reflected in the associated routing parameters.
  • similar data fiows e.g., same client with the same SLA
  • different data flows e.g., different clients with different SLAs
  • one or more metrics are calculated from the routing parameters to select the route, for example, in systems without pre-determined CoS.
  • data associated with different routing policies are routed through different paths within network 202 (i.e., different link combinations).
  • one data flow may have an identified routing policy that defines the data flow as high priority.
  • the route selection may take into account routing parameters defines by high priority routing, such as available bandwidth and/or latency.
  • Another data flow may have an identified routing policy defines low priority.
  • the route selection may take into account routing parameters defined by the low priority routing, such as unused links, in order to spread the data flow over the unused links.
  • the selected route is provided, for example, as a signal, as one or more data packets, and/or using other information transfer methods.
  • the selected route is provided to requesting entity 206.
  • the data packets are routed within network 202 according to the provided selected route.
  • FIG. 4 is a method of automatically updating the network dataset, in accordance with some embodiments of the present invention.
  • the method of FIG. 4 may be performed by system 200 of FIG. 2. Reference is made to system 200 of FIG. 2.
  • an analysis module 214 updates multi-tier routing dataset 204.
  • Module 214 may be stored on memory 210.
  • the method of selection of routes using multi-tier routing dataset 204 of FIG. 3 is decoupled from the method of updating multi-tier routing dataset 204 of FIG. 4.
  • requests for routes do not trigger a corresponding update of dataset 204.
  • dataset updates do not trigger responses to pending route requests.
  • Reading (e.g., access for route selection) from and writing to (e.g., updates) dataset 204 may be performed asynchronously.
  • the route selection method of FIG. 3 is performed using the currently available routing parameter data in multi-tier routing dataset 204 at the time of the request.
  • the rate of updating multi-tier routing dataset 204 is independent of the rate of path selection and/or calculation.
  • the updating method of FIG. 4 is performed in an asynchronous manner relative to the route selection method of FIG. 3.
  • updates may occur at a preset rate (e.g., user defined), and/or at preset intervals (e.g., automatically set by software).
  • the route selection may occur according to external factors, such as demand for network resources. Updates may be performed continuously. Route selection may be performed periodically and/or in bursts, on an as-required basis. Updates may be performed at dynamic rates, for example, changing according to network conditions and/or available resources.
  • the decoupling of the reading (FIG. 3) and writing (FIG. 4) functions may enable fast route calculations and/or resource optimization.
  • the method may utilize big-data analytics.
  • big-data analytics may improve optimization of route selection and/or calculation, as additional information available for route selection may improve selection of better routes.
  • data is collected from network 202.
  • KPI key performance indicators
  • metrics metrics
  • data values are collected.
  • Data may be collected, for example, per link, per device, and/or per interface.
  • Collected data may be indicative of static factors, for example, nominal bandwidth of the link, and/or other static factors. Collected data may be indicative of dynamics factors, for example, link utilization, error rate, latency, and/or other dynamic variables.
  • Data may be collected from network 202, for example, by analysis module 214, by a network database 216, by the network management system, and/or other modules and/or systems.
  • Data may be collected, for example, by polling network elements (e.g., router, hub, switch, gateway) and/or management systems for specific parameters. For example, using protocols such as the Simple Network Management Protocol (SNMP). Alternatively or additionally, network elements and/or management systems may be programmed to periodically send updated parameters, for example, to analysis module 214.
  • network elements e.g., router, hub, switch, gateway
  • SNMP Simple Network Management Protocol
  • network elements and/or management systems may be programmed to periodically send updated parameters, for example, to analysis module 214.
  • data collected from network 202 is stored in network database 216.
  • database 216 is stored on a memory suitable for big-data analytics, for example, direct- attached storage such as solid state drives using high capacity serial advanced technology attachment.
  • Database 216 may be stored on memory 210, or on one or more other storage devices in electrical communication with processor 208.
  • analysis module 214 accesses network database 216.
  • module 214 accesses updated values in database 216.
  • module 214 accesses data in database 216 according to a predefined pattern, for example, tracing one or more paths through a topological representation of network 202. Other suitable methods of access may be used.
  • analysis module 214 calculates one or more values for the routing parameters of multi-tier routing dataset 204, using the data accessed from database 216.
  • raw data measurements from network database 216 may be converted into costs and/or other metrics, for example, using predefined equations and/or rules.
  • a single metric is calculated per collected data, for example, average link utilization.
  • a cost function is calculated using the collected data, for example, an 80% weight is assigned to the link utilization and a 20% weight is assigned to the latency.
  • the raw data from database 216 may be used as the routing parameters.
  • calculations are performed as defined by the identified routing policy.
  • data from database 216 may be calculated according to the different routing policies. Routing parameters corresponding to different SLAs offered for that link may be calculated for each link. In another example, for an on-the-fly routing policy, some pre-calculation of routing parameters may be performed to enable later calculations during processing of routing requests (e.g., block 308 of FIG. 3).
  • multi-tier routing dataset 204 is updated according to the data collected and stored within network database 216. As described herein, multi-tier routing dataset 204 is updated asynchronously from the received routing requests (e.g., as described with reference to FIG. 3).
  • routing parameters of multi-tier routing dataset 204 are updated according to the calculations performed by analysis module 214.
  • selected values from network database 216 corresponding to the routing parameters are copied into multi-tier routing dataset 204.
  • multi-tier routing dataset 204 is updated after every performed calculation (block 406).
  • multi-tier routing dataset 204 is updated after a set of several calculations, for example, all routing parameters corresponding to a link.
  • dataset 204 is dynamically updated according to continuously held data analysis, for example, big-data analysis.
  • routing parameters of multi-tier routing dataset 204 that have changed are updated, for example, link utilization. Routing parameters that remain constant may not be updated (e.g., link bandwidth), unless they have changed, for example, new infrastructure to increase the bandwidth on the link, or the link being down. Alternatively or
  • multi-tier routing dataset 204 is completely replaced.
  • the process is repeated.
  • repeating the process maintains multi-tier routing dataset 204 in an updated state, for example, according to best-efforts and/or resource availability.
  • requests for routes are received and/or processed at a rate different (e.g., faster) than the rate of updating the multi-tier routing dataset, for example, about 10 times faster, or about 100 times faster, or about 1000 times faster, or about 10000 times faster, or other smaller, intermediate or larger rates.
  • the multi-tier routing dataset is updated using big-data analysis at a suitable rate that does not overload the capacity of the system.
  • metrics and/or data values from network 202 are periodically collected.
  • Data may be collected at a predefined rate (e.g., manually defined by the user), and/or at a dynamic rate (e.g., according to available network resources, processor usage, or other factors).
  • system 200 has an interface 218 for electrical communication between processor 208 and requesting entity 206 and/or the network management system.
  • system 200 has an interface 220 for electrical communication between processor 208 and network 202.
  • system 200 is sold as a box.
  • Interface 218 is connected to the network management system.
  • Interface 220 is connected to the communication network.
  • system 200 is sold as software, for example, loaded and run as part of the network management system.
  • system 200 is in electrical communication with one or more input elements 222 for a user to enter input into processor 208, for example, a touchscreen, a keyboard, a mouse, voice recognition, and/or other elements.
  • input elements 222 for a user to enter input into processor 208, for example, a touchscreen, a keyboard, a mouse, voice recognition, and/or other elements.
  • the user may enter, for example, the routing policies.
  • system 200 is in electrical communication with one or more output elements 224 for a user to view data from processor 208, for example, a screen, a mobile device (e.g., Smartphone), a printer, a laptop, a remote computer, or other devices.
  • Output element 224 may be used, for example, to view multi-tier routing dataset 204, to upgrade software, to view configurations, and/or to debug the system.
  • FIG. 5 is an exemplary design of the system of FIG. 1, in accordance with some embodiments of the present invention.
  • a routing system 500 for selection of routes is in electrical communication with a data communication network 502 under central management by a network control 504. Routing system 500 receives requests for path calculations issued by control 504. System 500 selects the path, and provides the selected path back to control 504.
  • System 500 contains a multi-tier routing table 506, having multiple cost columns.
  • Each cost column represents a different criterion for cost.
  • each column may represent cost per CoS (e.g., in systems where flows are classified to a predetermined class of service).
  • a metric is calculated from the cost column values, at the time of path calculation, on a per flow basis (e.g., in systems without pre-determined CoS).
  • a path computation engine 508 accesses table 506 to obtain data for route selection.
  • Access may be performed according to CoS groups and/or by a per-flow policy.
  • a big-data analysis engine 510 and/or a big-data database 512 collect data from network 502. Based on the collected data (stored within database 512), engine 510 calculates values for the cost columns of table 506, for example, single metrics per parameter and/or a cost function.
  • a path request is sent by control 504 to engine 508.
  • Engine 508 accesses table 506. The access may be performed in one of two modes. In a first class of service mode, the path request is classified into one of several classes according to predefined rules. The cost column corresponding to the class is used to select the least cost route. In a second per-flow SLA mode, the columns represent raw metrics. Engine 508 creates a cost function on-the-fly by creating a temporary cost column that combines together several metric columns according to a predefined cost function. Engine 508 calculates the least cost route, and returns the path to control 504.
  • Table 506 is updated asynchronously from the path selection process described in the previous paragraph. Key performance indicators and/or other metrics are gathered periodically from network 502 and stored in database 512. Big-data engine 510 queries database 512, and calculates values for the cost and/or metric columns (depending on the model of CoS and/or on-the-fly model) of table 506. Big-data engine 510 updates routing table 506.
  • FIGs. 7A-7D are schematics of a network and associated multi-tier routing datasets serving as examples of the operation of the system of FIG. 2 and/or the methods of FIGs. 3 and/or 4, useful in practicing some embodiments of the present invention.
  • FIG. 7 A is a schematic of a network having interconnected nodes A, B, C, and D. Multiple non-circular routes exist between non-adjacent nodes. For example, to get from B to C, three different routes are available: B- A ⁇ C; B- C; and B- D- C.
  • FIG. 7B is an OSPF routing table constructed for the network of FIG. 7A.
  • Each link is assigned a cost of 1. (Note that links are uni-directional and may have different costs for opposite direction.).
  • the routing table is an exemplary standard routing table created by standard routing protocols. Note that there is only a single Cost column associated with each link.
  • the standard OSPF protocol would select the shortest path between nodes B and C, which in this case is B- C. Selecting the same route for all data will lead to a bottleneck on the B- C link. It may be desirable to utilize the B- C link for high priority traffic that requires minimization of hop count.
  • System 200 of FIG. 2 and/or the method of FIG. 3 may be used to allocate high priority traffic to the B- C link, for example, by assigning costs to the links according to the CoS.
  • FIG. 7C is a routing table having two cost columns, Costl and Cost2, in accordance with some embodiments of the present invention.
  • the routing policy is to allocate incoming data into one of two CoS classes, CoSl associated with higher priority data, and CoS2 associated with lower priority data.
  • CoSl is associated with Costl.
  • a cost of 1 is assigned to all links.
  • the least cost path from B to C for CoSl data packets using the Costl column is the B- C link.
  • CoS2 is associated with Cost2.
  • a cost of 100 is assigned to the B- C link, and a cost of 1 is assigned to the remaining links.
  • System 200 of FIG. 2 and/or the method of FIG. 4 may be used to dynamically update the routing table. For example, updated according to measurements such as link utilization.
  • FIG. 7D is an updated version of the routing table of FIG. 7C, in accordance with some embodiments of the present invention.
  • a load on link D- C has been measured.
  • the routing table has been updated to reflect the load on the link.
  • the values in Costl and Cost2 corresponding to link D- C have been changed to 5 (from 1).
  • compositions, methods or structure may include additional ingredients, steps and/or parts, but only if the additional ingredients, steps and/or parts do not materially alter the basic and novel characteristics of the claimed composition, method or structure.
  • a compound or “at least one compound” may include a plurality of compounds, including mixtures thereof.
  • range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the present invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.

Abstract

There is provided a method and system of selecting a route for a flow of data through a data communication network comprising: receiving a request for a route within a data communication network for transmission of a flow of data packets, the data communication network comprising a plurality of nodes interconnected by links, the route including at least one link between two network nodes; identifying a routing policy for selection of the route; accessing a multi-tier routing dataset storing a plurality of different routing parameters per link; selecting the route by selecting each potential link in the route based on a subset of the plurality of different routing parameters from each potential link, the subset defined by the routing policy; and generating a signal indicative of the selected route so that the flow is routed within the data communication network through the selected route.

Description

METHODS AND SYSTEMS FOR DATA ROUTING
TECHNICAL FIELD
The present application relates to systems and methods for data routing and to systems and methods for selecting routes for data through a communication network.
BACKGROUND
In centralized packet networks such as SDN (Software Defined Networking) based, PCE (Path Computation Entity, also referred to as RFC 4655) based, BPT (Provider Backbone Transport, also referred to as IEEE 802.1Qay) based, and the like, a single route computation entity computes routes for all entities in the network. The single routing computation entity has a global network view and may have more computing power to compute routes that are more optimized as compared to standard distributed routing protocols such as OSPF (Open Shortest path first) and RIP (Routing Information
Protocol).
SUMMARY
It is an object of the invention to provide systems and/or methods that select data routes within a data communication network based on a plurality of different routing parameters.
It is another object of the invention to provide systems and/or methods for generating a routing dataset for routing data flows through a data communication network.
The foregoing and other objects are achieved by the features of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the figures. According to a first aspect, a method of selecting a route for a flow of data through a data communication network, the method being carried out by a route selection unit programmed to carry out the steps of the method, which comprise: receiving a request for a route within a data communication network for transmission of a flow of data packets, the data communication network comprising a plurality of nodes interconnected by links, the route including at least one link between two network nodes; identifying a routing policy for selection of the route; accessing a multi-tier routing dataset storing a plurality of different routing parameters per link; selecting the route by selecting each potential link in the route based on a subset of the plurality of different routing parameters from each potential link, the subset defined by the routing policy; and generating a signal indicative of the selected route so that the flow is routed within the data communication network through the selected route.
In a first possible implementation of the method according to the first aspect, the routing policy is a best-effort policy for routing the data flows, or a service agreement policy for routing the data flows adhering to the resources determined by the service agreement.
In a second possible implementation form of the method according to the first aspect as such or according to the first implementation form of the first aspect, the routing parameters denote different cost criteria, the routing policy defines the subset of routing parameters for calculation of a combined cost for the link.
In a third possible implementation form of the method according to the first aspect as such or according to any of the preceding implementation forms of the first aspect, each of the different routing parameters denotes an association with a different Class of Service, and the routing policy defines the Class of Service.
In a fourth possible implementation form of the method according to the first aspect as such or according to any of the preceding implementation forms of the first aspect, each of the different routing parameters denote different cost criteria, the routing policy defines different subsets of the routing parameters for different Classes of Service.
In a fifth possible implementation form of the method according to the first aspect as such or according to any of the preceding implementation forms of the first aspect, the method further comprises dynamically updating the multi-tier routing dataset according to a continuously held data analysis, the dataset being asynchronously updated from usage of the dataset by the accessing for route selection.
In a sixth possible implementation form of the method according to the fifth
implementation form of the first aspect, the requests for the routes are received and processed at a rate different than that of the rate of updating the multi-tier routing dataset.
In a seventh possible implementation form of the method according to the first aspect as such or according to any of the preceding implementation forms of the first aspect, the subset comprises a weighted combination of the routing parameters.
In an eighth possible implementation form of the method according to the first aspect as such or according to any of the preceding implementation forms of the first aspect, the subset comprises a single type of routing parameter selected from the plurality of routing parameters.
In a ninth possible implementation form of the method according to the first aspect as such or according to any of the preceding implementation forms of the first aspect, selecting the route comprises calculating the least cost route through the links according to the plurality of routing parameters associated with the links.
According to a second aspect, a system for generating a routing dataset for routing data flows through a data communication network comprises: a network interface for electrical communication with a data communication network for transmission of flows of data packets, the data communication network comprising a plurality of nodes interconnected by links; a hardware processor in electrical communication with the network interface; and a non-transitory memory in electrical communication with the hardware processor, the memory having stored thereon: a multi-tier routing dataset storing a plurality of different routing parameters per link between two network nodes; and program modules for instruction execution by the hardware processor, comprising: an analysis module for collecting data from the data communication network and updating the routing dataset with the collected data; and a route selection module for accessing the multi-tier routing dataset and selecting routes for data flows through the network that include at least one link based on a subset of different routing parameters per each potential link; wherein updating the dataset and accessing the dataset are performed asynchronously with respect to each another.
In a first possible implementation of the system according to the second aspect, the analysis module calculates values for the routing parameters from the collected data.
In a second possible implementation form of the system according to the second aspect as such or according to the first implementation form of the second aspect, the route selection module and the analysis module operate asynchronously from each other.
In a third possible implementation form of the system according to the second aspect as such or according to any of the preceding implementation forms of the second aspect, the system further comprises a network database for storing the collected data, the network database in electrical communication with the analysis module, the network database stored on a storage medium designed for big-data analytics.
In a fourth possible implementation form of the system according to the second aspect as such or according to any of the preceding implementation forms of the second aspect, the data communication network is an autonomous system that presents a commonly defined routing policy to external networks, the data communication network being controlled by a network management system that issues requests for routes.
According to another aspect a computer program having a program code for performing the method according to any of the implementation forms of the first aspect or the first aspect as such, when the computer program runs on a computer is provided.
According to a further aspect, data routes within a data communication network are selected according to a multi-tier routing dataset storing multiple different routing parameters per link (e.g., a connection between two network nodes). The route includes one or more links, based on a subset of different routing parameters from each potential link. Optionally, the dataset is updated asynchronously with respect to access of the dataset for selecting the route.
Unless otherwise defined, all technical and/or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention pertains. Although methods and materials similar or equivalent to those described herein can be used in the practice or testing implementation forms of the present invention, exemplary methods and/or materials are described below. In case of conflict, the patent specification, including definitions, will control. In addition, the materials, methods, and examples are illustrative only and are not intended to be necessarily limiting.
Implementation forms of the method and/or system of the present invention can involve performing or completing selected tasks manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of implementation forms of the method and/or system of the present invention, several selected tasks could be implemented by hardware, by software or by firmware or by a combination thereof using an operating system.
For example, hardware for performing selected tasks according to implementation forms of the present invention could be implemented as a chip or a circuit. As software, selected tasks according to implementation forms of the present invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In an exemplary implementation form of the present invention, one or more tasks according to exemplary implementation forms of method and/or system as described herein are performed by a data processor, such as a computing platform for executing a plurality of instructions. Optionally, the data processor includes a volatile memory for storing instructions and/or data and/or a non-volatile storage, for example, a magnetic hard-disk and/or removable media, for storing instructions and/or data.
Optionally, a network connection is provided as well. A display and/or a user input device such as a keyboard or mouse are optionally provided as well.
BRIEF DESCRIPTION OF THE DRAWINGS
Some embodiments of the present invention are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of embodiments of the present invention. In this regard, the description taken with the drawings makes apparent to those skilled in the art how embodiments of the present invention may be practiced. FIG. 1 is a schematic of a data communication network and associated routing table, useful in practicing some embodiments of the present invention;
FIG. 2 is a block diagram of a system for selecting a route within a data communication network, in accordance with some embodiments of the present invention;
FIG. 3 is a flowchart of a method for selecting a data route, in accordance with some embodiments of the present invention;
FIG. 4 is a flowchart of a method for updating a multi-tier routing dataset, in accordance with some embodiments of the present invention;
FIG. 5 is an exemplary design of the system of FIG. 1, in accordance with some embodiments of the present invention;
FIG. 6 is an exemplary table representation of the multi-tier routing dataset, in accordance with some embodiments of the present invention; and
FIGs. 7A-7D are schematics of a network and associated multi-tier routing dataset of the operation of the system of FIG. 2 and/or the methods of FIG. 3 and/or FIG. 4.
DESCRIPTION OF SPECIFIC EMBODIMENTS
The present invention relates to systems and/or methods for data routing and, more particularly, but not exclusively, to systems and/or methods for selecting routes for data through a communication network.
An aspect of some embodiments of the present invention relates to systems and/or methods for selecting a route for one or more data flows through a data communication network according to a multi-tier routing dataset. The dataset stores multiple different routing parameters per link (e.g., a connection between two network nodes). The selected route includes a subset of the different routing parameters from each potential edge.
Relatively improved routes (e.g. lower cost, shorter time, and optimized routes) may be selected by use of the multiple routing parameters that add additional data and/or constraints into the route selection process, for example, taking into account the load of the links in addition to the nominal bandwidth. The route selection, using the multi-tier routing dataset having multiple parameters associated with each link, may be improved relative to route selection using routing tables with a single value associated with each link inter alia as illustrated by FIG. 1 described below.
Optionally, a routing policy defines the subset of the different routing parameters. Using the same multi-tier routing dataset, different routing paths may be selected for data flows having different routing policies.
Optionally, the route is selected on-the-fly at the time of the request based on currently available resources. Alternatively, or additionally, the routing policy is a service agreement and/or other Class of Service (CoS) policy to provide a predefined level of service, for example, a service level agreement (SLA) between clients and the service provider, a policy internal to the service provider, or other agreements or policies.
Alternatively or additionally, the routing policy is a best-effort policy for routing data.
Optionally, the routing parameters denote different cost criteria. Optionally, the routing policy defines a combined cost per potential link according to a subset of routing parameters which are set thereto. This allows selecting links based on different costs or a function that combines different costs (e.g. mean, average, sum, a weighted function and/or the like). The route may be selected according to the total cost of all links in the route, for example, using a least cost algorithm that calculates the route with the lowest total link cost.
Alternatively or additionally, the routing parameters of each link denote different Classes of Service (CoS). Optionally, the routing policy defines the Class of Service. The route may be selected using the CoS of each potential link in the path, for example, by selecting a single parameter from the multiple parameters of each link. The received request may be classified into the Class of Service according to one or more classification rules, for example, according to the profile of the user, according to the data type, according to a SLA agreement, or other rules.
Alternatively or additionally, the routing parameters denote different cost criterion, and the routing policy defines different subsets of the costs for different CoS. The route may be selected by calculating a summary cost per potential link from the subset of the routing parameters associated with the CoS, and selecting the path with the lowest total cost for the links of the route.
Some examples of Cost functions include:
Number of hops (i.e., number of vertices on the route between source and destination).
Accumulated delay (i.e., sum of all delays occurring at all of the vertices).
Inverse ratio of link BW (or available BW), cost is denotes as being higher as the residual BW on the link is lower.
Actual monetary cost of the link.
Some examples of a routing policy include:
The lowest total monetary cost but no more than 5 hops.
Usage of the least utilized links, with residual BW of at least 200Mbps and a cost of less than EUR 50 per month.
A linear combination of 50% of the cost of residual BW of the link + 50% of the number of hops * a Normalizing coefficient.
Optionally, the multi-tier routing dataset is updated asynchronously from the route selection process. Optionally, different processes and/or entities perform the updating and the selection. Optionally, generation of the dataset is independent of usage and/or access of the dataset. Optionally, selection of the route does not trigger an update of the multi-tier routing dataset. Optionally, the multi-tier routing dataset is updated, for example, according to a user defined rate (e.g., polling network elements), upon receiving updates sent by one or more network elements (e.g., routers), and/or other triggers that are independent of the route selection process.
Optionally, the data collected for updating the routing table is big-data. As used herein, the term big-data means a data set that is too large for capturing and/or processing within an acceptable range of time, for example, updating the multi-tier routing dataset in response to the routing requests. Optionally, the multi-tier routing dataset is dynamically updated using big-data analytical methods, for example, MapReduce methodology. Optionally, the update is continuously held, for example, using the big-data analysis.
For purposes of better understanding some embodiments of the present invention, as illustrated in FIGs. 2-6 of the drawings, reference is first made to the process of route selection using a routing table 102 for a network 104 as illustrated in FIG. 1. Table 102 is constructed based on the OSPF protocol for representing network 104, according to the links between nodes A, B, C and D.
The Cost column of table 102 is a single value denoting the compound metric of selected measured and/or other parameters related to the link between two nodes of network 104, in the From and To columns of the corresponding row. Examples of the metrics include: the actual monetary cost of the link, the bandwidth of the link (the higher the bandwidth the lower the cost), latency on the link, and/or other parameters.
Using table 104, the total cost for different routes between two nodes in the network may be calculated. For example, to get from node A to node D, two non-circular routes are possible using different link combinations: A- C~ D having a cost of 5 (3+2), or
A- B- C~ D having a total cost of 13 (5+6+2). The route with the lowest cost may then be selected as the preferred path for routing data.
As the size of the network increases, the amount of data required for processing to populate and/or update the table also grows. For very large networks, the processing may be unable to keep up with each data routing request. For example, flow requests for SDN based large domains may reach a level of millions of requests per second. Table update rates may be unable to match the high flow request rates. As described herein, inventors discovered that increasing the number of routing parameters (e.g., columns) of the multi- tier routing dataset to two or more per link, and/or performing multi-tier routing dataset updates in an asynchronous manner with respect to the received route requests, may provide for efficient route selection in large centrally managed networks.
Before explaining at least one embodiment of the present invention in detail, it is to be understood that the present invention is not necessarily limited in its application to the details of construction and the arrangement of the components and/or methods set forth in the following description and/or illustrated in the drawings and/or the Examples. The present invention is capable of other embodiments or of being practiced or carried out in various ways.
Referring now to the drawings, FIG. 2 illustrates a system 200 for selection of routes through a data communication network 202, in accordance with some embodiments of the present invention. Reference is also made to FIG. 3, which is a method of automatically selecting routes through the communication network, in accordance with some
embodiments of the present invention. The method of FIG. 3 may be performed by system 200 of FIG. 2. Optionally, system 200 is a route selection unit programmed to carry out the steps of the method. System 200 and/or the method select routes through network 202 using a multi-tier routing dataset 204 having multiple parameters associated with each link.
The method may provide a flexible model for selecting routes according to Quality of Service (QoS) and/or SLA. The method may enable better utilization of network resources while adhering to the SLA and/or QoS. For example, the method may select better routes (e.g., improved optimization of routes) than would be selected by other methods.
Optionally, the method selects non-circular routes.
At 302, system 200 receives a request for routing data through network 202. Optionally, the request is for routing one or more packets of data. Optionally, the request is for a flow for data, such as a flow of data packets.
The request may be received by a processor 208. Optionally, processor 208 is in electrical communication with a non-transitory memory 210 storing a route selection module 212 for selecting routes through network 202. Optionally, multi-tier routing dataset 204 is stored on memory 210. Module 212, dataset 204, and/or other modules and/or databases stored on memory 210 contain instructions for execution by processor 208.
The request may originate from a requesting entity 206, for example, a server within system 200 (e.g., to route data between two nodes and/or terminals within the network) and/or a server external to system 200 (e.g., to route data entering network 202 across and/or out of network 202, for example, the terminals being located outside of network 202). Optionally, network 202 is centrally managed by a network management system. The network management system may act as requesting entity 206. Optionally, network 202 is an autonomous system that presents a commonly defined routing policy to external networks, for example, the internet. Network 202 may be owned by a single entity (for example, an internet service provider, a telecommunication company, or other organizations), or by multiple entities that may connect different networks together to form the single autonomous system.
Optionally, network 202 is a packet switching network.
Optionally, at 304, the routing policy for selection of the route for the data flow through network 202 is identified. The routing policy is identified, for example, according to: the client (e.g., profile), the originating internet protocol (IP) address, the destination IP, type of service in the header of the frame, or other methods. Alternatively, there is no routing policy, or no routing policy has been identified, in which case the policy may be identified as delivery by a best-effort.
The routing policy is, for example, a SLA between the client and the service provider, a policy internal to the service provider itself, a policy based on the profile of the client, or other policies. Optionally, there are different levels of the routing policy, for example, for different clients.
Optionally, the routing policy is identified by classifying the route request into one of several classes, optionally by using one or more predefined rules. At 306, multi-tier routing dataset 204 is accessed. Optionally, dataset 204 is accessed by route selection module 212. Optionally, different subsets of the routing parameters within dataset 204 are accessed, as defined by the identified routing policy.
Dataset 204 contains links between nodes in network 202. Each link is associated with multiple routing parameters, for example, costs related to the link. Examples of routing parameters include: actual monetary cost of the link, bandwidth of the link, latency of the link, link utilization (e.g., real time), user defined parameters, or other parameters.
Optionally, each parameter represents a different cost criterion. Optionally, the multi- constraint routing parameters allow for multi-constraint routing. Optionally, a subset of routing parameters is defined by the identified routing policies. For example, different classes of service (CoS) define different subsets of routing parameters for use in selecting the route. For example, the routing parameters may represent cost per CoS, for example, in systems where flows are classified according to a predetermined class of service.
Attention is now drawn to FIG. 6, which is an exemplary representation of multi-tier routing dataset 204 as a table 600 of network 202, in accordance with the embodiments of the present invention. Table 600 has links represented by unidirectional edges of a directed graph of network 202. Table 600 contains unidirectional links between network nodes, represented by the From (node) and To (node) columns. Table 600 contains multiple routing parameters represented by the Costl, Cost2, Cost3, CostN columns.
Alternatively or additionally, multi-tier routing dataset 204 is represented by other suitable data structures, for example, records, trees, graphs, objects, linked lists, vectors, hash tables, and/or other suitable structures.
Dataset 204 is accessed to retrieve routing parameters defined by the identified routing policy. Optionally, a subset of the routing parameters is defined by the indentified routing policy. For example, referring to table 600, one identified routing policy may define the subset of Costl and Cost2. Another identified routing policy may define the subset of Cost2 and Cost3. Yet another identified routing policy may define the subset of Cost3, and yet another identified routing policy may define the subset of Costl, Cost2, and Cost3.
Referring now back to FIGs. 2 and 3, at 308, a route through network 202 is selected, for example, by route selection module 212. The route includes at least one link based on a subset of different routing parameters from each potential link. Optionally, the subset is defined by the identified routing policy.
Optionally, the least cost route is calculated using the subset of routing parameters for each potential link. Optionally, the routing parameters represent pre-calculated variables. For example, the routing parameters represent costs, with lower costs being preferred over higher costs. Suitable algorithms for least cost route calculations include, for example, Dijkstra's algorithm. Simple route calculation methods may be employed. The simple methods may be sophisticated. The least cost route may be calculated, for example, for systems having a CoS policy.
Alternatively or additionally, the routing parameters represent raw values for calculating one or more metrics, for example, using a function. The function may be defined by the identified routing policy. The metric calculations may be performed on-the-fly, as defined by the identified routing policy. Optionally, different routing policies may have different equations for calculating metrics using different subsets of routing parameters are variables. Module 212 may perform the calculations for each incoming request. The calculated metrics may be stored within dataset 204, in association with the link being considered as part of the route, for example, a temporary column may be created for table 600 of FIG. 6.
Optionally, the route is selected according to CoS groups. Parameters associated with the CoS groups that were accessed are used to select the route. Alternatively or additionally, the route is selected on a per data flow basis. For example, similar data fiows (e.g., same client with the same SLA) may be assigned to different routes, for example, due to changing network conditions reflected in the associated routing parameters. In another example, different data flows (e.g., different clients with different SLAs) may be assigned to the same route, for example, due to the current network conditions reflected in the associated routing parameters.
Optionally, one or more metrics are calculated from the routing parameters to select the route, for example, in systems without pre-determined CoS.
Optionally, using the same dataset 204, data associated with different routing policies (e.g., clients with different SLAs) are routed through different paths within network 202 (i.e., different link combinations). For example, one data flow may have an identified routing policy that defines the data flow as high priority. The route selection may take into account routing parameters defines by high priority routing, such as available bandwidth and/or latency. Another data flow may have an identified routing policy defines low priority. The route selection may take into account routing parameters defined by the low priority routing, such as unused links, in order to spread the data flow over the unused links. At 310, the selected route is provided, for example, as a signal, as one or more data packets, and/or using other information transfer methods. Optionally, the selected route is provided to requesting entity 206.
Optionally, at 312, the data packets are routed within network 202 according to the provided selected route.
Reference is now made to FIG. 4, which is a method of automatically updating the network dataset, in accordance with some embodiments of the present invention. The method of FIG. 4 may be performed by system 200 of FIG. 2. Reference is made to system 200 of FIG. 2.
Optionally, an analysis module 214 updates multi-tier routing dataset 204. Module 214 may be stored on memory 210.
Optionally, the method of selection of routes using multi-tier routing dataset 204 of FIG. 3 is decoupled from the method of updating multi-tier routing dataset 204 of FIG. 4.
Optionally, requests for routes do not trigger a corresponding update of dataset 204.
Alternatively or additionally, dataset updates do not trigger responses to pending route requests. Reading (e.g., access for route selection) from and writing to (e.g., updates) dataset 204 may be performed asynchronously.
Optionally, the route selection method of FIG. 3 is performed using the currently available routing parameter data in multi-tier routing dataset 204 at the time of the request.
Optionally, the rate of updating multi-tier routing dataset 204 is independent of the rate of path selection and/or calculation. Optionally, the updating method of FIG. 4 is performed in an asynchronous manner relative to the route selection method of FIG. 3. For example, updates may occur at a preset rate (e.g., user defined), and/or at preset intervals (e.g., automatically set by software). The route selection may occur according to external factors, such as demand for network resources. Updates may be performed continuously. Route selection may be performed periodically and/or in bursts, on an as-required basis. Updates may be performed at dynamic rates, for example, changing according to network conditions and/or available resources. Optionally, the decoupling of the reading (FIG. 3) and writing (FIG. 4) functions may enable fast route calculations and/or resource optimization.
Optionally, the method may utilize big-data analytics. The use of big-data analytics may improve optimization of route selection and/or calculation, as additional information available for route selection may improve selection of better routes.
At 402, data is collected from network 202. For example, key performance indicators (KPI), metrics, and/or other data values are collected. Data may be collected, for example, per link, per device, and/or per interface. Some examples of collected data include:
bandwidth, latency, error rate, availability, packet loss rates, jitter, CPU usage, memory usage, and/or other link parameters. Collected data may be indicative of static factors, for example, nominal bandwidth of the link, and/or other static factors. Collected data may be indicative of dynamics factors, for example, link utilization, error rate, latency, and/or other dynamic variables.
Data may be collected from network 202, for example, by analysis module 214, by a network database 216, by the network management system, and/or other modules and/or systems.
Data may be collected, for example, by polling network elements (e.g., router, hub, switch, gateway) and/or management systems for specific parameters. For example, using protocols such as the Simple Network Management Protocol (SNMP). Alternatively or additionally, network elements and/or management systems may be programmed to periodically send updated parameters, for example, to analysis module 214.
Optionally, data collected from network 202 is stored in network database 216. Optionally, database 216 is stored on a memory suitable for big-data analytics, for example, direct- attached storage such as solid state drives using high capacity serial advanced technology attachment. Database 216 may be stored on memory 210, or on one or more other storage devices in electrical communication with processor 208.
At 404, analysis module 214 accesses network database 216. Optionally, module 214 accesses updated values in database 216. Alternatively or additionally, module 214 accesses data in database 216 according to a predefined pattern, for example, tracing one or more paths through a topological representation of network 202. Other suitable methods of access may be used.
Optionally, at 406, analysis module 214 calculates one or more values for the routing parameters of multi-tier routing dataset 204, using the data accessed from database 216. For example, raw data measurements from network database 216 may be converted into costs and/or other metrics, for example, using predefined equations and/or rules. For example, a single metric is calculated per collected data, for example, average link utilization. In another example, a cost function is calculated using the collected data, for example, an 80% weight is assigned to the link utilization and a 20% weight is assigned to the latency.
Alternatively or additionally, no calculations are performed. The raw data from database 216 may be used as the routing parameters.
Optionally, calculations are performed as defined by the identified routing policy. For example, for the CoS and/or SLA routing policy, data from database 216 may be calculated according to the different routing policies. Routing parameters corresponding to different SLAs offered for that link may be calculated for each link. In another example, for an on-the-fly routing policy, some pre-calculation of routing parameters may be performed to enable later calculations during processing of routing requests (e.g., block 308 of FIG. 3).
At 408, multi-tier routing dataset 204 is updated according to the data collected and stored within network database 216. As described herein, multi-tier routing dataset 204 is updated asynchronously from the received routing requests (e.g., as described with reference to FIG. 3).
Optionally, the routing parameters of multi-tier routing dataset 204 are updated according to the calculations performed by analysis module 214. Alternatively or additionally, selected values from network database 216 corresponding to the routing parameters are copied into multi-tier routing dataset 204.
Optionally, multi-tier routing dataset 204 is updated after every performed calculation (block 406). Alternatively or additionally, multi-tier routing dataset 204 is updated after a set of several calculations, for example, all routing parameters corresponding to a link. Optionally, dataset 204 is dynamically updated according to continuously held data analysis, for example, big-data analysis.
Optionally, routing parameters of multi-tier routing dataset 204 that have changed are updated, for example, link utilization. Routing parameters that remain constant may not be updated (e.g., link bandwidth), unless they have changed, for example, new infrastructure to increase the bandwidth on the link, or the link being down. Alternatively or
additionally, multi-tier routing dataset 204 is completely replaced.
Optionally, at 410, the process is repeated. Optionally, repeating the process maintains multi-tier routing dataset 204 in an updated state, for example, according to best-efforts and/or resource availability.
Optionally, requests for routes are received and/or processed at a rate different (e.g., faster) than the rate of updating the multi-tier routing dataset, for example, about 10 times faster, or about 100 times faster, or about 1000 times faster, or about 10000 times faster, or other smaller, intermediate or larger rates. Optionally, the multi-tier routing dataset is updated using big-data analysis at a suitable rate that does not overload the capacity of the system.
Optionally, metrics and/or data values from network 202 are periodically collected. Data may be collected at a predefined rate (e.g., manually defined by the user), and/or at a dynamic rate (e.g., according to available network resources, processor usage, or other factors).
Referring back to FIG. 2, optionally, system 200 has an interface 218 for electrical communication between processor 208 and requesting entity 206 and/or the network management system.
Optionally, system 200 has an interface 220 for electrical communication between processor 208 and network 202.
Optionally, system 200 is sold as a box. Interface 218 is connected to the network management system. Interface 220 is connected to the communication network.
Alternatively or additionally, at least some parts of system 200 are sold as software, for example, loaded and run as part of the network management system. Optionally, system 200 is in electrical communication with one or more input elements 222 for a user to enter input into processor 208, for example, a touchscreen, a keyboard, a mouse, voice recognition, and/or other elements. The user may enter, for example, the routing policies.
Optionally, system 200 is in electrical communication with one or more output elements 224 for a user to view data from processor 208, for example, a screen, a mobile device (e.g., Smartphone), a printer, a laptop, a remote computer, or other devices. Output element 224 may be used, for example, to view multi-tier routing dataset 204, to upgrade software, to view configurations, and/or to debug the system.
Reference is now made to FIG. 5, which is an exemplary design of the system of FIG. 1, in accordance with some embodiments of the present invention.
A routing system 500 for selection of routes is in electrical communication with a data communication network 502 under central management by a network control 504. Routing system 500 receives requests for path calculations issued by control 504. System 500 selects the path, and provides the selected path back to control 504.
System 500 contains a multi-tier routing table 506, having multiple cost columns. Each cost column represents a different criterion for cost. For example, each column may represent cost per CoS (e.g., in systems where flows are classified to a predetermined class of service). In another example, a metric is calculated from the cost column values, at the time of path calculation, on a per flow basis (e.g., in systems without pre-determined CoS).
A path computation engine 508 accesses table 506 to obtain data for route selection.
Access may be performed according to CoS groups and/or by a per-flow policy.
A big-data analysis engine 510 and/or a big-data database 512 collect data from network 502. Based on the collected data (stored within database 512), engine 510 calculates values for the cost columns of table 506, for example, single metrics per parameter and/or a cost function.
In operation, a path request is sent by control 504 to engine 508. Engine 508 accesses table 506. The access may be performed in one of two modes. In a first class of service mode, the path request is classified into one of several classes according to predefined rules. The cost column corresponding to the class is used to select the least cost route. In a second per-flow SLA mode, the columns represent raw metrics. Engine 508 creates a cost function on-the-fly by creating a temporary cost column that combines together several metric columns according to a predefined cost function. Engine 508 calculates the least cost route, and returns the path to control 504.
Table 506 is updated asynchronously from the path selection process described in the previous paragraph. Key performance indicators and/or other metrics are gathered periodically from network 502 and stored in database 512. Big-data engine 510 queries database 512, and calculates values for the cost and/or metric columns (depending on the model of CoS and/or on-the-fly model) of table 506. Big-data engine 510 updates routing table 506.
FIGs. 7A-7D are schematics of a network and associated multi-tier routing datasets serving as examples of the operation of the system of FIG. 2 and/or the methods of FIGs. 3 and/or 4, useful in practicing some embodiments of the present invention.
FIG. 7 A is a schematic of a network having interconnected nodes A, B, C, and D. Multiple non-circular routes exist between non-adjacent nodes. For example, to get from B to C, three different routes are available: B- A~ C; B- C; and B- D- C.
FIG. 7B is an OSPF routing table constructed for the network of FIG. 7A. Each link is assigned a cost of 1. (Note that links are uni-directional and may have different costs for opposite direction.). The routing table is an exemplary standard routing table created by standard routing protocols. Note that there is only a single Cost column associated with each link. The standard OSPF protocol would select the shortest path between nodes B and C, which in this case is B- C. Selecting the same route for all data will lead to a bottleneck on the B- C link. It may be desirable to utilize the B- C link for high priority traffic that requires minimization of hop count.
System 200 of FIG. 2 and/or the method of FIG. 3 may be used to allocate high priority traffic to the B- C link, for example, by assigning costs to the links according to the CoS.
FIG. 7C is a routing table having two cost columns, Costl and Cost2, in accordance with some embodiments of the present invention. In this example, the routing policy is to allocate incoming data into one of two CoS classes, CoSl associated with higher priority data, and CoS2 associated with lower priority data.
CoSl is associated with Costl. A cost of 1 is assigned to all links. The least cost path from B to C for CoSl data packets using the Costl column is the B- C link.
CoS2 is associated with Cost2. A cost of 100 is assigned to the B- C link, and a cost of 1 is assigned to the remaining links. The B- C link will not be selected for CoS2 data being routed from node B to node C. Instead, one of the other routes with lower costs will be selected. Either B^A^C (total cost of 1+1=2) or B^D^C (total cost of 1+1=2).
System 200 of FIG. 2 and/or the method of FIG. 4 may be used to dynamically update the routing table. For example, updated according to measurements such as link utilization.
FIG. 7D is an updated version of the routing table of FIG. 7C, in accordance with some embodiments of the present invention. A load on link D- C has been measured. The routing table has been updated to reflect the load on the link. The values in Costl and Cost2 corresponding to link D- C have been changed to 5 (from 1).
Data with associated routing policy CoSl requiring routing from node B to C will still use the B- C link, having an unchanged cost of 1.
However, data with associated routing policy CoS2 will now use the B- A~ C route (total cost of 1+1=2) as opposed to the higher cost route of B- D- C (total cost of 1+5=6). Selection of the route with lower link utilization may lead to improved usage of network resources.
It is expected that during the life of a patent maturing from this application many relevant networks will be developed and the scope of the term network is intended to include all such new technologies a priori.
As used herein the term "about" refers to + 10 %.
The terms "comprises", "comprising", "includes", "including", "having" and their conjugates mean "including but not limited to".
The term "consisting of means "including and limited to". The term "consisting essentially of means that the composition, method or structure may include additional ingredients, steps and/or parts, but only if the additional ingredients, steps and/or parts do not materially alter the basic and novel characteristics of the claimed composition, method or structure.
As used herein, the singular form "a", "an" and "the" include plural references unless the context clearly dictates otherwise. For example, the term "a compound" or "at least one compound" may include a plurality of compounds, including mixtures thereof.
Throughout this application, various embodiments of this present invention may be presented in a range format. It should be understood that the description in range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the present invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.
Whenever a numerical range is indicated herein, it is meant to include any cited numeral (fractional or integral) within the indicated range. The phrases "ranging/ranges between" a first indicate number and a second indicate number and "ranging/ranges from" a first indicate number "to" a second indicate number are used herein interchangeably and are meant to include the first and second indicated numbers and all the fractional and integral numerals therebetween.
It is appreciated that certain features of the present invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the present invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination or as suitable in any other described embodiment of the present invention. Certain features described in the context of various embodiments are not to be considered essential features of those embodiments, unless the embodiment is inoperative without those elements. Various embodiments and aspects of the present invention as delineated hereinabove and as claimed in the claims section below find experimental support in the following examples.
Although the present invention has been described in conjunction with specific
embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims.
All publications, patents and patent applications mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual publication, patent or patent application was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention. To the extent that section headings are used, they should not be construed as necessarily limiting.

Claims

1. A method of selecting a route for a flow of data through a data communication network comprising: receiving a request for a route (302) within a data communication network (202) for transmission of a flow of data packets, the data communication network (202) comprising a plurality of nodes interconnected by links, the route including at least one link between two network nodes; identifying a routing policy (304) for selection of the route; accessing a multi-tier routing dataset (306) storing a plurality of different routing parameters per link; selecting the route (308) by selecting each potential link in the route based on a subset of the plurality of different routing parameters from each potential link, the subset defined by the routing policy; and generating a signal indicative of the selected route (310) so that the flow is routed within the data communication network through the selected route (312).
2. The method of claim 1, wherein the routing policy (304) is a best-effort policy for routing the data flows, or a service agreement policy for routing the data flows adhering to the resources determined by the service agreement.
3. The method according to claim 1 or claim 2, wherein the routing parameters denote different cost criteria, the routing policy defines the subset of routing parameters for calculation of a combined cost for the link.
4. The method according to any of claims 1-3, wherein each of the different routing parameters denotes an association with a different Class of Service, and the routing policy defines the Class of Service.
5. The method according to any of claims 1-4, wherein each of the different routing parameters denote different cost criteria, the routing policy defines different subsets of the routing parameters for different Classes of Service.
6. The method according to any of claims 1-5, further comprising dynamically updating the multi-tier routing dataset (408) according to a continuously held data analysis, the dataset being asynchronously updated from usage of the dataset by the accessing for route selection.
7. The method according to claim 6, wherein the requests for the routes are received and processed at a rate different than that of the rate of updating the multi-tier routing dataset.
8. The method according to any of claims 1-7, wherein the subset comprises a weighted combination of the routing parameters.
9. The method according to any of claims 1-8, wherein the subset comprises a single type of routing parameter selected from the plurality of routing parameters.
10. The method according to any of claims 1-9, wherein selecting the route (308) comprises calculating the least cost route through the links according to the plurality of routing parameters associated with the links.
11. A system (200) for generating a routing dataset for routing data flows through a data communication network (202), the system comprising: a network interface (220) for electrical communication with a data communication network (202) for transmission of flows of data packets, the data communication network comprising a plurality of nodes interconnected by links; a hardware processor (208) in electrical communication with the network interface (220); and a non-transitory memory (210) in electrical communication with the hardware processor (208), the memory having stored thereon: a multi-tier routing dataset (204) storing a plurality of different routing parameters per link between two network nodes; and program modules for instruction execution by the hardware processor, comprising: an analysis module (214) for collecting data from the data communication network (202) and updating the routing dataset (204) with the collected data; and a route selection module (212) for accessing the multi-tier routing dataset (204) and selecting routes for data flows through the network (202) that include at least one link based on a subset of different routing parameters per each potential link; wherein updating the dataset and accessing the dataset are performed asynchronously with respect to each another.
12. The system (200) according to claim 11, wherein the analysis module (214) calculates values for the routing parameters from the collected data.
13. The system (200) according to claim 11 or claim 12, wherein the route selection module (212) and the analysis module (214) operate asynchronously from each other.
14. The system (200) according to any of claims 11-13, further comprising a network database (216) for storing the collected data, the network database (216) in electrical communication with the analysis module (214), the network database (216) stored on a storage medium designed for big-data analytics.
15. Computer program having a program code for performing the method according to one of claim 1 to 10, when the computer program runs on a computer.
PCT/EP2014/050564 2014-01-14 2014-01-14 Methods and systems for data routing WO2015106794A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/EP2014/050564 WO2015106794A1 (en) 2014-01-14 2014-01-14 Methods and systems for data routing
CN201480073208.4A CN105917621B (en) 2014-01-14 2014-01-14 Method and system for data routing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2014/050564 WO2015106794A1 (en) 2014-01-14 2014-01-14 Methods and systems for data routing

Publications (1)

Publication Number Publication Date
WO2015106794A1 true WO2015106794A1 (en) 2015-07-23

Family

ID=49956205

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/050564 WO2015106794A1 (en) 2014-01-14 2014-01-14 Methods and systems for data routing

Country Status (2)

Country Link
CN (1) CN105917621B (en)
WO (1) WO2015106794A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092780A1 (en) * 2015-11-30 2017-06-08 Telecom Italia S.P.A. Dynamic configuration of routing paths in a data network
JP2017168880A (en) * 2016-03-14 2017-09-21 日本電気株式会社 Cost setting device, method and program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888731B (en) * 2019-12-09 2023-07-07 北京博睿宏远数据科技股份有限公司 Method, device, equipment and storage medium for acquiring route data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1328095A2 (en) * 2002-01-10 2003-07-16 NTT DoCoMo, Inc. Packet switching system, packet switching method, routing apparatus, structure of packet, and packet generating method
US20080101227A1 (en) * 2006-10-30 2008-05-01 Nec Corporation QoS ROUTING METHOD AND QoS ROUTING APPARATUS

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294270B2 (en) * 2010-01-05 2016-03-22 Cisco Technology, Inc. Detection of stale encryption policy by group members
CN102291746A (en) * 2011-09-20 2011-12-21 海南大学 Mobile management system and management method based on IPv6 heterogeneous convergence network
CN102711285B (en) * 2012-04-28 2014-10-22 西南科技大学 Method for learning table-driven cross-layer routing in wireless ad hoc network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1328095A2 (en) * 2002-01-10 2003-07-16 NTT DoCoMo, Inc. Packet switching system, packet switching method, routing apparatus, structure of packet, and packet generating method
US20080101227A1 (en) * 2006-10-30 2008-05-01 Nec Corporation QoS ROUTING METHOD AND QoS ROUTING APPARATUS

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CRAWLEY ARGON NETWORKS R NAIR ARROWPOINT B RAJAGOPALAN NEC USA H SANDICK BAY NETWORKS E: "A Framework for QoS-based Routing in the Internet; rfc2386.txt", 19980801, 1 August 1998 (1998-08-01), XP015008170, ISSN: 0000-0003 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092780A1 (en) * 2015-11-30 2017-06-08 Telecom Italia S.P.A. Dynamic configuration of routing paths in a data network
US10833974B2 (en) 2015-11-30 2020-11-10 Telecom Italia S.P.A. Dynamic configuration of routing paths in a data network
JP2017168880A (en) * 2016-03-14 2017-09-21 日本電気株式会社 Cost setting device, method and program

Also Published As

Publication number Publication date
CN105917621A (en) 2016-08-31
CN105917621B (en) 2020-01-17

Similar Documents

Publication Publication Date Title
US11316755B2 (en) Service enhancement discovery for connectivity traits and virtual network functions in network services
Sallam et al. Shortest path and maximum flow problems under service function chaining constraints
Cohen et al. On the effect of forwarding table size on SDN network utilization
US9391905B2 (en) Method and system of bandwidth-aware service placement for service chaining based on bandwidth consumption in a software-defined networking (SDN) system
US8537669B2 (en) Priority queue level optimization for a network flow
Bera et al. FlowStat: Adaptive flow-rule placement for per-flow statistics in SDN
US8670310B2 (en) Dynamic balancing priority queue assignments for quality-of-service network flows
CN107005781B (en) System and method for generating virtual network topology for M2M communications
Xu et al. Link-state routing with hop-by-hop forwarding can achieve optimal traffic engineering
US9100305B2 (en) Efficient admission control for low power and lossy networks
Szymanski Max-flow min-cost routing in a future-Internet with improved QoS guarantees
US20130031240A1 (en) Capacity Evaluation of Computer Network Capabilities
Trestian et al. OFLoad: An OpenFlow-based dynamic load balancing strategy for datacenter networks
EP3318026B1 (en) Model management in a dynamic qos environment
Gvozdiev et al. On low-latency-capable topologies, and their impact on the design of intra-domain routing
EP3251310A1 (en) Method,apparatus and machine readable medium for traffic engineering in communications network having quality of service flows and best effort flows
WO2015106795A1 (en) Methods and systems for selecting resources for data routing
Poularakis et al. Learning the optimal synchronization rates in distributed SDN control architectures
JP5888687B1 (en) Distribution server or distribution route design device, distribution server or distribution route design method and program
Tomovic et al. Toward a scalable, robust, and QoS-aware virtual-link provisioning in SDN-based ISP networks
Ye et al. Large-scale network parameter configuration using an on-line simulation framework
CN105917621B (en) Method and system for data routing
Vallet et al. Online OSPF weights optimization in IP networks
Bera et al. Network slicing in 5g edge networks with controlled slice redistributions
Saha et al. SAFAR: Simulated annealing-based flow allocation rules for industrial networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14700402

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14700402

Country of ref document: EP

Kind code of ref document: A1