Communication method, device and system

By allocating fault instances to the routing calculator through the centralized controller to calculate the recovery path, the problem of quickly restoring service transmission after an OTN pipeline failure is solved, the recovery efficiency is improved, and the computing burden and power consumption of the centralized controller are reduced.

CN115884010BActive Publication Date: 2025-09-05HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111144455.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-28
Publication Date
2025-09-05
Estimated Expiration
2041-09-28

AI Technical Summary

Technical Problem

When a fault occurs in the OTN pipeline, existing technologies are unable to quickly restore service transmission, resulting in network interruption.

Method used

The centralized controller receives the computing power information of the routing calculators and distributes the fault instances to multiple routing calculators to calculate the recovery path, thereby reducing the computing workload and power consumption of the centralized controller and improving the recovery efficiency.

Benefits of technology

This enables rapid recovery of OTN pipelines after a fault occurs, reduces the computational burden and power consumption of the centralized controller, and improves the computational efficiency of the recovery path.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115884010B_ABST
    Figure CN115884010B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a communication method, apparatus, and system. A routing calculator sends computing capacity information to a centralized controller. The centralized controller assigns a fault instance to the routing calculator based on the computing capacity information. The routing calculator calculates a recovery path for an OTN pipeline corresponding to the assigned fault instance. After a fault occurs, a routing executor can quickly restore the OTN pipeline based on the pre-calculated recovery path, thereby improving the recovery efficiency of the OTN pipeline.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of optical communication technology, and in particular to a communication method, device, and system. Background Art

[0002] An optical transport network (OTN) is a transport network that implements the transmission, multiplexing, routing, and monitoring of service signals within the optical domain, while ensuring performance and survivability. An OTN pipeline consists of at least a head node and a tail node, representing a fiber wavelength path from the head node to the tail node. In optical networks, services are transmitted through the OTN pipeline. Failures in nodes, fibers, or other components within the OTN pipeline can disrupt the OTN pipeline, preventing normal service transmission. Therefore, in the event of an OTN pipeline failure, it is crucial to quickly restore the OTN pipeline to ensure normal service transmission. Summary of the Invention

[0003] The embodiments of the present application disclose a communication method, apparatus, and system for improving the recovery efficiency of an OTN pipe.

[0004] A first aspect discloses a communication method, which can be applied to a centralized controller or a module (e.g., a chip) in the centralized controller. The following description uses the application of the centralized controller as an example. The communication method may include:

[0005] receiving computing capacity information from a plurality of routing calculators, the plurality of routing calculators being routing calculators managed by a centralized controller;

[0006] Fault instances are assigned to the multiple routing calculators based on their computing capacity information. One fault instance includes computing tasks for restoration paths of N OTN pipes. Computing tasks belonging to the same fault instance are assigned to the same routing calculator. The N OTN pipes are all OTN pipes passing through the same faulty link, where N is an integer greater than or equal to 1.

[0007] Send corresponding fault instances to multiple routing calculators.

[0008] In an embodiment of the present application, after receiving computing capacity information from a managed routing calculator, the centralized controller can assign a fault instance to the routing calculator based on the routing calculator's computing capacity information. This allows the routing calculator to calculate a recovery path for the OTN pipeline corresponding to the assigned fault instance. This allows the routing executor to quickly restore the OTN pipeline based on the pre-calculated recovery path after a fault occurs, eliminating the need for post-fault calculations. This improves OTN pipeline recovery efficiency. Furthermore, because fault instances are assigned to different routing calculators based on their respective computing capacity information, the calculation speed of each routing calculator can be guaranteed. Furthermore, because fault instances are assigned to multiple routing calculators for calculation, rather than by the centralized controller, the computational workload and power consumption of the centralized controller can be reduced. Furthermore, because the recovery path for the OTN pipeline corresponding to the fault instance is calculated by multiple routing calculators, the computational workload of each routing calculator can be reduced, thereby improving the computational efficiency of the recovery path.

[0009] As a possible implementation, the computing capability information may include one or more of memory information, central processing unit (CPU) information, main frequency, number of CPU cores, and load.

[0010] As a possible implementation, the centralized controller may allocate fault instances to the multiple routing computers according to the computing capacity information of the multiple routing computers, including:

[0011] Selecting, from the plurality of routing calculators, routing calculators whose memory information corresponds to a memory greater than or equal to a first threshold, and / or whose CPU information corresponds to a CPU less than or equal to a second threshold, and / or whose load is less than or equal to a third threshold, to obtain M routing calculators, where M is an integer greater than or equal to 1;

[0012] Assigning fault instances to the M routing calculators based on one or more of memory information, CPU information, main frequency, number of CPU cores, and load of the M routing calculators;

[0013] The centralized controller sends corresponding fault instances to multiple routing computers, including:

[0014] Send the corresponding fault instance to M routing calculators.

[0015] In an embodiment of the present application, a routing calculator that meets the conditions can be selected from the managed routing calculators based on the computing power information of the routing calculator, and then the fault instance can be assigned to the routing calculator that meets the conditions, thereby avoiding assigning the fault instance to a routing calculator with low computing power, thereby improving the calculation rate of the recovery path.

[0016] As a possible implementation, the fault instance carries topology resource information, which may include information about nodes, optical fibers, and wavelengths used by computing tasks corresponding to the fault instance.

[0017] In an embodiment of the present application, the centralized controller can allocate topology resource information to the fault instance so that the routing calculator can calculate the recovery path within the topology range corresponding to the topology resource information, which can narrow the calculation range of the routing calculator and thus improve the calculation rate of the routing calculator.

[0018] As a possible implementation manner, the communication method may further include:

[0019] A first request is sent to a first routing calculator, where the first request is used to request computing capability information of the first routing calculator, where the first routing calculator is any one of the plurality of routing calculators.

[0020] In an embodiment of the present application, when the centralized controller needs the computing capacity information of the routing calculator, it can request the computing capacity information from the routing calculator so that the routing calculator can report the computing capacity information according to the request of the centralized controller. This can avoid the situation where the computing capacity information used by the centralized controller is not the current computing capacity information of the routing calculator, and can ensure the validity of the computing capacity information.

[0021] As a possible implementation manner, the communication method may further include:

[0022] receiving K restoration paths from a second routing calculator, where the second routing calculator is any one of the M routing calculators, and the K restoration paths are restoration paths of the K OTN pipes corresponding to the fault instance sent to the second routing calculator;

[0023] Store K recovery paths.

[0024] In an embodiment of the present application, after the centralized controller assigns the fault instance to the routing calculator, the centralized controller can store the recovery path returned by the routing calculator, back up the recovery path, and in the event of a failure of a routing calculator, transfer the stored data calculated by the routing calculator to other routing calculators, thereby avoiding data loss.

[0025] As a possible implementation, the restoration path may include node information, optical fiber information, information about a port corresponding to the node, and information about a wavelength corresponding to the optical fiber.

[0026] As a possible implementation manner, the communication method may further include:

[0027] receiving first indication information from the second routing calculator, where the first indication information is used to indicate that a first restoration path is successfully established, and the first restoration path is one of the K restoration paths;

[0028] Resource information corresponding to the first restoration path is sent to routing calculators other than the first routing calculator among the plurality of routing calculators, where the resource information may include information occupied by the first restoration path.

[0029] In an embodiment of the present application, after the centralized controller receives information from the routing calculator that the recovery path has been successfully established, it can send information such as the nodes, wavelengths, ports, etc. occupied by the recovery path to other routing calculators so that the routing calculators do not use the occupied information when calculating the recovery path next time, thereby avoiding the problem of the calculated recovery path being invalid due to resource conflicts.

[0030] As a possible implementation manner, the communication method may further include:

[0031] receiving a second request from the second routing executor, where the second request is used to request a recovery path of the first OTN pipe, where the first OTN pipe is an OTN pipe corresponding to the first recovery path;

[0032] The first restoration path is sent to the second routing executor.

[0033] In an embodiment of the present application, after a fault occurs, a surviving node (i.e., a routing executor) in the OTN pipe corresponding to the fault can obtain a recovery path corresponding to the OTN pipe from a centralized controller without pre-storing the recovery path in the routing executor, thereby saving storage resources of the routing executor.

[0034] As a possible implementation manner, the communication method may further include:

[0035] receiving a third request from the second routing executor, where the third request is used to request a routing calculator corresponding to a restoration path of a first OTN pipe, where the first OTN pipe is an OTN pipe corresponding to the first restoration path;

[0036] The information of the second routing calculator is sent to the second routing executor.

[0037] In an embodiment of the present application, after a fault occurs, a surviving node (i.e., a routing executor) in the OTN pipe corresponding to the fault can obtain a routing calculator corresponding to a recovery path corresponding to the OTN pipe from a centralized controller, so as to obtain the recovery path from the routing calculator. This eliminates the need to pre-store the recovery path in the routing executor, thereby saving storage resources of the routing executor.

[0038] A second aspect discloses a communication method, which can be applied to a routing calculator or a module (e.g., a chip) in a routing calculator. The following description will be given using the routing calculator as an example. The communication method may include:

[0039] Receive a fault instance from a centralized controller. Each fault instance includes a calculation task for a restoration path of N OTN pipes, where the N OTN pipes are all OTN pipes passing through the same faulty link, and N is an integer greater than or equal to 1.

[0040] Restoration paths are calculated for the OTN pipes corresponding to the fault instances, respectively, to obtain K restoration paths, where K is an integer greater than or equal to 1.

[0041] In this embodiment of the present application, after receiving a fault instance from a centralized controller, the routing calculator can calculate a recovery path for the OTN pipe corresponding to the fault instance. This allows the routing executor to quickly restore the OTN pipe based on the pre-calculated recovery path after a fault occurs, eliminating the need for post-fault calculations. This improves OTN pipe recovery efficiency. Furthermore, because the centralized controller distributes the fault instance to multiple routing calculators for calculation, rather than performing the calculation itself, the centralized controller's computational workload and power consumption can be reduced.

[0042] As a possible implementation manner, the communication method may further include:

[0043] A second recovery path is sent to the first routing executor, where the second recovery path is any one of the K recovery paths, and the first routing executor is one or more nodes in the OTN pipe corresponding to the second recovery path.

[0044] In an embodiment of the present application, after the routing calculator calculates a recovery path for the OTN pipe corresponding to the fault instance, the calculated recovery path can be sent to the routing executor corresponding to the OTN pipe. This allows the routing executor to quickly restore the OTN pipe according to the pre-sent recovery path after a fault occurs, eliminating the need for calculation after the fault occurs. This improves the recovery efficiency of the OTN pipe.

[0045] As a possible implementation, the restoration path may include node information, optical fiber information, information about a port corresponding to the node, and information about a wavelength corresponding to the optical fiber.

[0046] As a possible implementation, the fault instance carries topology resource information, where the topology resource information includes information about nodes, optical fibers, and wavelengths used by computing tasks corresponding to the fault instance. The communication method may further include:

[0047] Determine the topology scope based on topology resource information;

[0048] The routing calculator calculates the restoration paths for the OTN pipes corresponding to the fault instances. The K restoration paths obtained may include:

[0049] The restoration paths are calculated based on the OTN pipes corresponding to the fault instance in the topology range, and K restoration paths are obtained.

[0050] In an embodiment of the present application, the centralized controller can allocate topology resource information for the fault instance, and the routing calculator can calculate the recovery path within the topology range corresponding to the topology resource information, which can narrow the calculation range of the routing calculator and thus improve the calculation rate of the routing calculator.

[0051] As a possible implementation manner, the communication method may further include:

[0052] Send computing capability information to the centralized controller. The computing capability information may include one or more of memory information, CPU information, main frequency, number of CPU cores, and load.

[0053] In an embodiment of the present application, the routing calculator may report computing capacity information to the centralized controller so that the centralized controller may allocate fault instances to the routing calculator according to the computing capacity information of the routing calculator, thereby ensuring the computing rate of the routing calculator.

[0054] As a possible implementation manner, the communication method may further include:

[0055] A first request from a centralized controller is received, where the first request is used to request the computing capability information.

[0056] In an embodiment of the present application, the routing calculator can report computing capacity information according to the request of the centralized controller, which can avoid the situation where the computing capacity information used by the centralized controller is not the current computing capacity information of the routing calculator, and can ensure the validity of the computing capacity information.

[0057] As a possible implementation manner, the communication method may further include:

[0058] Send K restoration paths to the centralized controller.

[0059] In an embodiment of the present application, after the routing calculator calculates the recovery path, it can return the calculated recovery path to the centralized controller so that the centralized controller can back up the recovery path. In the event of a failure of a routing calculator, the stored data calculated by the routing calculator can be transferred to other routing calculators, thereby avoiding data loss.

[0060] As a possible implementation manner, the communication method may further include:

[0061] receiving second indication information from the second routing executor, where the second indication information is used to indicate that a first recovery path is successfully established, where the first recovery path is one of the K recovery paths, and the second routing executor is a node in the OTN pipe corresponding to the first recovery path;

[0062] First indication information is sent to the centralized controller, where the first indication information is used to indicate that the first recovery path is successfully established.

[0063] In an embodiment of the present application, after receiving information from the routing executor indicating that a recovery path has been successfully established, the routing calculator may report the information to the centralized controller so that the centralized controller can distribute the wavelength occupied by the recovery path to other routing calculators. The routing calculators may not use the occupied wavelength when calculating the recovery path next time, thereby avoiding the problem of the calculated recovery path being invalid due to resource conflicts. A node in the OTN pipeline corresponding to the first recovery path may be understood as a node in the OTN pipeline corresponding to the first recovery path that has not experienced a fault.

[0064] As a possible implementation manner, the communication method may further include:

[0065] receiving a fourth request from the second routing executor, where the fourth request is used to request a recovery path of the first OTN pipe, where the first OTN pipe is an OTN pipe corresponding to the first recovery path;

[0066] The first restoration path is sent to the second routing executor.

[0067] In an embodiment of the present application, after a fault occurs, a surviving node (i.e., a routing executor) in the OTN pipe corresponding to the fault can obtain a recovery path corresponding to the OTN pipe from a routing calculator, without pre-storing the recovery path in the routing executor, thereby saving storage resources of the routing executor.

[0068] A third aspect discloses a communication device, which may be a centralized controller or a module (e.g., a chip) in the centralized controller. The communication device may include:

[0069] a receiving unit, configured to receive computing capacity information from a plurality of routing calculators, wherein the plurality of routing calculators are routing calculators managed by a centralized controller;

[0070] an allocating unit, configured to allocate fault instances to the plurality of routing calculators based on computing capacity information of the plurality of routing calculators, wherein one fault instance includes computing tasks for restoration paths of N OTN pipes, and computing tasks belonging to the same fault instance are allocated to the same routing calculator, wherein the N OTN pipes are all OTN pipes passing through the same faulty link, and N is an integer greater than or equal to 1;

[0071] The sending unit is used to send corresponding fault instances to multiple routing calculators.

[0072] As a possible implementation, the computing capability information may include one or more of memory information, CPU information, main frequency, number of CPU cores, and load.

[0073] As a possible implementation, the allocation unit is specifically configured to:

[0074] Selecting, from the plurality of routing calculators, routing calculators whose memory information corresponds to a memory greater than or equal to a first threshold, and / or whose CPU information corresponds to a CPU less than or equal to a second threshold, and / or whose load is less than or equal to a third threshold, to obtain M routing calculators, where M is an integer greater than or equal to 1;

[0075] Assigning fault instances to the M routing calculators based on one or more of memory information, CPU information, main frequency, number of CPU cores, and load of the M routing calculators;

[0076] The sending unit is specifically configured to send the corresponding fault instance to the M routing calculators.

[0077] As a possible implementation, the fault instance carries topology resource information, which may include information about nodes, optical fibers, and wavelengths used by computing tasks corresponding to the fault instance.

[0078] As a possible implementation manner, the sending unit is further configured to send a first request to a first routing calculator, where the first request is used to request computing capability information of the first routing calculator, and the first routing calculator is any one of the multiple routing calculators.

[0079] As a possible implementation manner, the receiving unit is further configured to receive K restoration paths from a second routing calculator, where the second routing calculator is any routing calculator among the M routing calculators, and the K restoration paths are restoration paths of the K OTN pipes corresponding to the fault instance sent to the second routing calculator;

[0080] The communication device may further include:

[0081] A storage unit is used to store K recovery paths.

[0082] As a possible implementation, the restoration path may include node information, optical fiber information, information about a port corresponding to the node, and information about a wavelength corresponding to the optical fiber.

[0083] As a possible implementation manner, the receiving unit is further configured to receive first indication information from the second routing calculator, where the first indication information is used to indicate that the first restoration path is successfully established, and the first restoration path is one of the K restoration paths;

[0084] The sending unit is further configured to send resource information corresponding to the first restoration path to routing calculators other than the second routing calculator among the multiple routing calculators, where the resource information may include information occupied by the first restoration path.

[0085] As a possible implementation manner, the receiving unit is further configured to receive a second request from the second routing executor, where the second request is used to request a recovery path of the first OTN pipe, where the first OTN pipe is an OTN pipe corresponding to the first recovery path;

[0086] The sending unit is further configured to send the first restoration path to the second routing executor.

[0087] As a possible implementation manner, the receiving unit is further configured to receive a third request from the second routing executor, where the third request is used to request a routing calculator corresponding to a recovery path of the first OTN pipe, where the first OTN pipe is an OTN pipe corresponding to the first recovery path;

[0088] The sending unit is further configured to send information of the second routing calculator to the second routing executor.

[0089] A fourth aspect discloses a communication device, which may be a routing calculator or a module (e.g., a chip) in a routing calculator. The communication device may include:

[0090] A receiving unit is configured to receive a fault instance from a centralized controller. One fault instance includes a calculation task for a restoration path of N OTN pipes, where the N OTN pipes are all OTN pipes passing through the same faulty link, and N is an integer greater than or equal to 1.

[0091] The calculation unit is used to calculate the restoration paths for the OTN pipes corresponding to the fault instances respectively to obtain K restoration paths. The wavelengths in the K restoration paths are all different, and K is an integer greater than or equal to 1.

[0092] As a possible implementation manner, the communication device may further include:

[0093] The first sending unit is configured to send a second recovery path to the first routing executor, where the second recovery path is any one of the K recovery paths, and the first routing executor is one or more nodes in the OTN pipe corresponding to the second recovery path.

[0094] As a possible implementation, the restoration path may include node information, optical fiber information, information about a port corresponding to the node, and information about a wavelength corresponding to the optical fiber.

[0095] As a possible implementation, the fault instance carries topology resource information, which may include information about nodes, optical fibers, and wavelengths used by computing tasks corresponding to the fault instance. The communication device may further include:

[0096] A determination unit, configured to determine a topology range based on topology resource information;

[0097] The calculation unit is specifically configured to calculate the restoration paths respectively according to the OTN pipes corresponding to the fault instance in the topology range, and obtain K restoration paths.

[0098] As a possible implementation manner, the communication device may further include:

[0099] The second sending unit is used to send computing capability information to the centralized controller, where the computing capability information includes one or more of memory information, CPU information, main frequency, number of CPU cores, and load.

[0100] As a possible implementation manner, the receiving unit is further configured to receive a first request from the centralized controller, where the first request is used to request the computing capability information.

[0101] As a possible implementation manner, the communication device may further include:

[0102] The third sending unit is configured to send K restoration paths to the centralized controller.

[0103] As a possible implementation manner, the receiving unit is further configured to receive second indication information from a second routing executor, where the second indication information is used to indicate that the first recovery path is successfully established, the first recovery path is one of the K recovery paths, and the second routing executor is a node in the OTN pipeline corresponding to the first recovery path;

[0104] The communication device may further include:

[0105] The fourth sending unit is configured to send first indication information to the centralized controller, where the first indication information is used to indicate that the first recovery path is successfully established.

[0106] As a possible implementation manner, the receiving unit is further configured to receive a fourth request from the second routing executor, where the fourth request is used to request a recovery path of the first OTN pipe, where the first OTN pipe is an OTN pipe corresponding to the first recovery path;

[0107] The communication device may further include:

[0108] The fifth sending unit is configured to send the first restoration path to the second routing executor.

[0109] A fifth aspect discloses a communication device. The communication device may include a processor configured to enable the communication device to implement the communication method disclosed in the first aspect or any embodiment of the first aspect. Optionally, the communication device may further include a memory and / or a transceiver, the transceiver being configured to receive information from other communication devices outside the communication device and output information to other communication devices outside the communication device. When the processor executes a computer program stored in the memory, the processor executes the communication method disclosed in the first aspect or any embodiment of the first aspect.

[0110] A sixth aspect discloses a communication device. The communication device may include a processor configured to enable the communication device to implement the communication method disclosed in the second aspect or any embodiment of the second aspect. Optionally, the communication device may further include a memory and / or a transceiver, the transceiver being configured to receive information from other communication devices outside the communication device and output information to other communication devices outside the communication device. When the processor executes a computer program stored in the memory, the processor executes the communication method disclosed in the second aspect or any embodiment of the second aspect.

[0111] A seventh aspect discloses a communication system, which includes the communication device of the fifth aspect and the communication device of the sixth aspect.

[0112] An eighth aspect discloses a computer-readable storage medium having a computer program or computer instructions stored thereon. When the computer program or computer instructions are executed, the communication method disclosed in the above aspects is implemented.

[0113] The ninth aspect discloses a chip, comprising a processor for executing a program stored in a memory. When the program is executed, the chip executes the above method.

[0114] As a possible implementation, the memory is located outside the chip.

[0115] A tenth aspect discloses a computer program product, which includes a computer program code. When the computer program code is executed, the above-mentioned communication method is executed. BRIEF DESCRIPTION OF THE DRAWINGS

[0116] Figure 1 This is a schematic diagram of a network architecture disclosed in an embodiment of the present application;

[0117] Figure 2 This is a flow chart of a communication method disclosed in an embodiment of the present application;

[0118] Figure 3 is a schematic diagram of an OTN network disclosed in an embodiment of the present application;

[0119] Figure 4 is a schematic diagram of another OTN network disclosed in an embodiment of the present application;

[0120] Figure 5 This is a schematic structural diagram of a communication device disclosed in an embodiment of the present application;

[0121] Figure 6 is a structural diagram of another communication device disclosed in an embodiment of the present application;

[0122] Figure 7 This is a structural diagram of another communication device disclosed in an embodiment of the present application;

[0123] Figure 8 This is a structural diagram of another communication device disclosed in an embodiment of the present application. DETAILED DESCRIPTION

[0124] The present application discloses a communication method, device, and system for improving the recovery efficiency of OTN pipes, which are described in detail below.

[0125] In order to better understand the embodiments of the present application, some terms used in the embodiments of the present application are first introduced below.

[0126] A network element (NE) is a network unit consisting of hardware and the software running on it. Typically, a NE has at least one main control board (SCC), which manages and monitors the entire NE. The software runs on the SCC.

[0127] An OTN pipeline, also known as a pipe, is a fiber optic wavelength path that includes at least a head node and a tail node. This fiber optic wavelength path runs from the head node to the tail node. If this fiber optic wavelength path includes three or more nodes, it may also include intermediate nodes. Signal traffic such as Ethernet and video can be converted into optical signals using standard protocols, and then carried in the OTN pipeline for transmission.

[0128] The first node is the starting node of the OTN pipeline. For example, the first node of the OTN pipeline of AC is A.

[0129] The tail node is the terminating node of the OTN pipe. For example, the tail node of AC's OTN pipe is C.

[0130] A network failure is a break in an optical fiber or a failure in a node (ie, a network element) that causes the optical signal connection carried on it to be interrupted.

[0131] The control plane, also known as the control system, is an integral part of the OTN and consists of a group of communication entities. It is responsible for completing call control and connection control functions and restoring connections in the event of a network failure.

[0132] Dynamic rerouting is a service recovery method. When an OTN pipeline is interrupted, the head node calculates the best path to restore the pipeline and then establishes a new pipeline through signaling. The new pipeline carries the service traffic.

[0133] OTN software is software code used to implement various OTN functions. It is deployed on devices to enable them to have OTN capabilities.

[0134] A fiber break is a disruption in an optical fiber. This can cause the pipeline that passes through the fiber to malfunction, disrupting the service signals carried on it.

[0135] Each optical fiber has N wavelengths, with 80, 96, and 120 wavelengths being common. Each wavelength can only be used by one pipeline path at a time.

[0136] A path consists of multiple optical fibers connected together at the end.

[0137] The centralized controller has complete control plane capabilities.

[0138] The routing calculator has routing calculation capabilities.

[0139] The routing executor, also known as the control system execution module, is used to execute pre-stored routes and lacks path calculation capabilities. It is typically located at the head node of the OTN pipeline.

[0140] In order to better understand the embodiments of the present application, the relevant technologies of the embodiments of the present application are described below.

[0141] The transmitter in an OTN network can convert various received service flows (e.g., video services, Ethernet services) into optical channel data units (ODUK) signals. The ODUK signals can then be converted into one or more optical signals using standard protocols. These signals can then be combined using a multiplexer and coupled into the same optical fiber for transmission. After receiving these signals, the receiver in the OTN network can separate the optical signals of various wavelengths using a demultiplexer. The optical receiver can then convert the optical signals into ODUK signals, which can then be used to restore the original signal.

[0142] An OTN network can include multiple network elements (NEs) and multiple optical fibers. Each NE can have multiple input and output ports, and each optical fiber can have multiple wavelengths. The process of multiplexing optical signals of different wavelengths onto a single fiber for transmission is called wavelength division multiplexing (WDM). Therefore, each fiber in a WDM network has multiple wavelengths, such as 80 wavelengths, 96 wavelengths, and 120 wavelengths. Each wavelength on each fiber can only be occupied by one path at a time.

[0143] Among them, the first connected path composed of optical fiber links that carry optical signals of the same service is an OTN pipeline path, and the pipeline composed of paths is called an OTN pipeline.

[0144] WDM OTN features automatic topology discovery and route calculation, providing robust resilience against network failures. Users deploying OTN typically employ dynamic rerouting to flexibly mitigate network failures.

[0145] When an OTN network fails, dynamic rerouting can be used to quickly restore the interrupted OTN pipeline. The OTN control plane (also known as the control system) is the main body for implementing dynamic rerouting.

[0146] Dynamic rerouting is a core feature of OTN, a method that balances protection capabilities and resource utilization. It enables path recovery after multiple fiber breaks. Therefore, when fiber or network element (node) failures occur within the OTN pipeline, it is crucial to rapidly restore the OTN pipeline through dynamic rerouting to ensure normal service transmission.

[0147] In order to better understand the communication method, device and system disclosed in the embodiments of this application, the network architecture used in the embodiments of this application is described below. Figure 1 , Figure 1 This is a network architecture diagram disclosed in the embodiment of this application. Figure 1As shown, the network architecture may include a centralized controller, multiple routing calculators (one is shown schematically in the figure), and multiple routing executors (one is shown schematically in the figure). The centralized controller is configured to assign fault instances to routing calculators based on their computing capabilities. The routing calculators are configured to calculate recovery paths for the OTN pipes corresponding to the fault instances. When a fault occurs, the routing executors are configured to restore the OTN pipes based on the recovery paths calculated by the routing calculators.

[0148] The centralized controller has higher computing power and storage capacity than the routing calculator and routing executor, and the routing calculator has higher computing power and storage capacity than the routing executor. The centralized controller, routing calculator, and routing executor can be a main control board, server, personal computer (PC), etc. The centralized controller, routing calculator, and routing executor can be the same, but their computing power and storage capacity can differ. The centralized controller, routing calculator, and routing executor can also be different.

[0149] It should be noted that Figure 1 The network architecture shown is not limited to including only the routing calculator and routing executor shown in the figure, but may also include other routing calculators and routing executors not shown in the figure, which will not be listed one by one in this application.

[0150] Based on the above network architecture, please refer to Figure 2 , Figure 2 This is a flow chart of a communication method disclosed in an embodiment of the present application. Figure 2 As shown, the communication method may include the following steps.

[0151] 201. Multiple routing computers send computing capacity information to a centralized controller.

[0152] Accordingly, the routing calculator receives computing capacity information from the plurality of routing calculators.

[0153] Multiple routing calculators are managed by a centralized controller. Each of the multiple routing calculators managed by the centralized controller can send its respective computing capacity information to the centralized controller. Specifically, each of the multiple routing calculators can report its respective computing capacity information to the centralized controller. A routing calculator can proactively report its computing capacity information to the centralized controller. For example, a routing calculator can proactively report its computing capacity information to the centralized controller when it first connects to the centralized controller. For another example, a routing calculator can periodically report its computing capacity information to the centralized controller.

[0154] The routing calculator can also passively report its computing capacity information to the centralized controller. The centralized controller can send a request to the routing calculator for computing capacity information upon startup or when no faults occur. After receiving the request from the centralized controller, the routing calculator can send its computing capacity information to the centralized controller based on the request. In one scenario, the centralized controller can send the request to multiple routing calculators via broadcast or multicast. In this case, the centralized controller only needs to send a single request. Multiple routing calculators can receive the request sent by the centralized controller and report computing capacity information to the centralized controller based on the request. In another scenario, the centralized controller can send a request to each of the multiple routing calculators. For example, the centralized controller can send a first request to a first routing calculator, requesting the computing capacity information of the first routing calculator. The first routing calculator receives the first request from the centralized controller and can then send its computing capacity information to the centralized controller based on the first request. The first routing calculator is any of the multiple routing calculators described above.

[0155] The computing capacity information of a routing calculator may include one or more of the routing calculator's memory information, CPU information, main frequency, number of CPU cores, and load. When the routing calculator is fixed, the main frequency and number of CPU cores are fixed, while the routing calculator's memory information, CPU information, and load will change with the routing calculator's usage. Memory information can be free memory (i.e., the remaining memory size, i.e., the currently available memory size); total memory (i.e., the total memory size); free memory and total memory; or the ratio of free memory to total memory. CPU information can be free CPU (i.e., the remaining CPU size, i.e., the currently available CPU size); total CPU (i.e., the total CPU size); free CPU and total CPU; or CPU occupancy. CPU occupancy is the ratio of used CPU to total CPU. CPU occupancy can be the current CPU occupancy, the average CPU occupancy over a period of time, or the maximum or minimum CPU occupancy over a period of time. The main frequency is the clock frequency of the routing calculator's CPU. A higher main frequency indicates greater processing power.

[0156] 202. The centralized controller allocates fault instances to the plurality of routing computers according to the computing capacity information of the plurality of routing computers.

[0157] The centralized controller can first determine all fault instances that need to be handled. A fault instance can include the task of calculating the restoration paths for N OTN pipes, where N OTN pipes are all OTN pipes passing through the same faulty link, and N is an integer greater than or equal to 1. In other words, a fault instance includes the task of calculating the restoration paths for all OTN pipes passing through the same faulty link. Therefore, the centralized controller can first determine all OTN pipes in the current network, then determine all possible faulty links included in all OTN pipes. For each of these possible faulty links, determine all OTN pipes passing through that link. Finally, the task of calculating the restoration paths for all OTN pipes including each faulty link is considered a fault instance, thereby obtaining all fault instances. A faulty link can be a fiber, a node, or a combination of a fiber and a node.

[0158] For an example, see Figure 3 , Figure 3 This is a schematic diagram of an OTN network disclosed in an embodiment of the present application. Figure 3 As shown, there are two OTN pipes in the current OTN network, namely AFC and FC. If the faulty link is an optical fiber, these two OTN pipes include the optical fiber between NE A and NE F, and the optical fiber between NE F and NE C. The OTN pipe passing through the optical fiber between NE A and NE F is AFC, and the OTN pipes passing through the optical fiber between NE F and NE C are AFC and FC. The fault instance corresponding to the optical fiber between NE A and NE F involves calculating the recovery path for the AFC pipe, while the fault instance corresponding to the optical fiber between NE F and NE C involves calculating the recovery paths for both the AFC and FC pipes.

[0159] If the faulty link is a node, all faulty links included in these two OTN pipes are network elements A, F, and C. The OTN pipe passing through network element A is AFC, the OTN pipe passing through network element F is AFC and FC, and the OTN pipe passing through network element C is AFC and FC. If the OTN pipe passing through network element A is AFC, the OTN pipe passing through network element F is FC, and the OTN pipe passing through network element C is AFC and FC, since the faulty nodes in these OTN pipes are the head or tail nodes of the OTN pipes, their paths cannot be successfully restored. Therefore, only the calculation task of determining the recovery path for the fault instance corresponding to network element F, including the AFC pipe, is required.

[0160] When the faulty link is a fiber + node, all faulty links included in these two OTN pipes are the fiber between network element A and network element F, the fiber between network element F and network element C, network element A, network element F, and network element C. The fault instance corresponding to the fiber between network element A and network element F includes the calculation task of the recovery path of the AFC pipe, the fault instance corresponding to the fiber between network element F and network element C includes the calculation task of the recovery paths of the AFC and FC pipes, and the fault instance corresponding to network element F includes the calculation task of the recovery path of the AFC pipe.

[0161] After receiving computing capacity information from multiple routing calculators, the centralized controller can assign fault instances to the multiple routing calculators based on their computing capacity information. Specifically, it can assign all possible fault instances identified above to the multiple routing calculators based on their computing capacity information. Computational tasks belonging to the same fault instance are assigned to the same routing calculator, which can be understood as requiring all computational tasks for a fault instance to be assigned to the same routing calculator. It should be understood that computational tasks for different fault instances can be assigned to the same routing calculator or to different routing calculators.

[0162] In one scenario, the centralized controller does not need to assign a fault instance to each of the multiple routing calculators; it only needs to assign a fault instance to the routing calculators that meet the criteria. In this case, the centralized controller can first select M routing calculators that meet the criteria from the multiple routing calculators, and then assign fault instances to each of the M routing calculators. Specifically, all fault instances determined above are assigned to the M routing calculators based on their computing capacity information. M is an integer greater than or equal to 1.

[0163] The centralized controller can select, from multiple routing calculators, routing calculators whose memory information corresponds to a memory size greater than or equal to a first threshold, thereby obtaining M routing calculators. The first threshold can be determined based on the memory size. For example, if the memory size is 2GB, the first threshold can be 100MB. It should be understood that the above example of the first threshold is merely illustrative and does not limit the value of the first threshold. The memory information here corresponds to free memory.

[0164] The centralized controller may also select, from multiple routing calculators, routing calculators whose CPU information corresponds to a CPU less than or equal to a second threshold, to obtain M routing calculators. The second threshold may be determined based on the CPU. For example, when the CPU information corresponds to the CPU occupancy rate, the second threshold may be 70%, 80%, 90%, etc. It should be understood that when the CPU information is an idle CPU or a total CPU, the centralized controller may also select, from multiple routing calculators, routing calculators whose CPU information corresponds to a CPU greater than or equal to the second threshold, to obtain M routing calculators. It should be understood that the above example of the second threshold is merely an illustrative description and does not limit the value of the second threshold.

[0165] The routing calculator may further select, from the plurality of routing calculators, a routing calculator having a load less than or equal to a third threshold, to obtain M routing calculators. For example, the third threshold may be 75%, 85%, 95%, etc. It should be understood that the above examples of the third threshold are merely illustrative and do not limit the value of the third threshold.

[0166] The centralized controller can also select routing calculators whose memory information corresponds to a memory greater than or equal to a first threshold, and whose CPU information corresponds to a CPU less than or equal to a second threshold from multiple routing calculators, and can obtain M routing calculators. The centralized controller can also select routing calculators whose memory information corresponds to a memory greater than or equal to a first threshold, and whose load is less than or equal to a third threshold from multiple routing calculators, and can obtain M routing calculators. The centralized controller can also select routing calculators whose CPU information corresponds to a CPU less than or equal to a second threshold, and whose load is less than or equal to a third threshold from multiple routing calculators, and can obtain M routing calculators. The centralized controller can also select routing calculators whose memory information corresponds to a memory greater than or equal to the first threshold, whose CPU information corresponds to a CPU less than or equal to the second threshold, and whose load is less than or equal to the third threshold from multiple routing calculators, and can obtain M routing calculators.

[0167] It should be understood that when the memory information is different, the value of the first threshold may be different. The centralized controller may select the memory corresponding to the memory information to be greater than or equal to the first threshold, or the memory corresponding to the memory information to be less than or equal to the first threshold. The specific determination may be based on the memory corresponding to the memory information. Similarly, when the CPU information is different, the value of the second threshold may be different. The centralized controller may select the CPU corresponding to the CPU information to be greater than or equal to the second threshold, or the CPU corresponding to the CPU information to be less than or equal to the second threshold. The specific determination may be based on the CPU corresponding to the CPU information.

[0168] The centralized controller can then assign fault instances (i.e., all fault instances determined above) to the M routing calculators based on one or more of their memory information, CPU information, main frequency, number of CPU cores, and load. For example, if the computing capacity information only includes memory information, and the memory information is free memory, more fault instances can be assigned to routing calculators with more free memory, or fault instances with a larger computational load can be assigned to routing calculators with more free memory. For another example, if the computing capacity information only includes CPU information, and the CPU information is CPU occupancy, more fault instances can be assigned to routing calculators with lower CPU occupancy, or fault instances with a larger computational load can be assigned to routing calculators with lower CPU occupancy. For another example, if the computing capacity information only includes main frequency, more fault instances can be assigned to routing calculators with higher main frequency, or fault instances with a larger computational load can be assigned to routing calculators with higher main frequency. For another example, if the computing capacity information only includes the number of CPU cores, more fault instances can be assigned to routing calculators with higher CPU cores, or fault instances with a larger computational load can be assigned to routing calculators with higher CPU cores. For another example, when the computing capacity information only includes load, more fault instances may be assigned to routing calculators with light loads, or fault instances with heavy computational loads may be assigned to routing calculators with light loads.

[0169] If computing capacity information includes two or more of the following: memory information, CPU information, main frequency, number of CPU cores, and load, the weighted sum of these information can be calculated first. Routing calculators with larger sums of weights can then be assigned more fault instances, or fault instances with larger computational loads can be assigned to routing calculators with larger sums of weights. The higher the main frequency, the greater the corresponding weight. The lower the load, the greater the corresponding weight. The larger the number of CPU cores, the greater the corresponding weight. The larger the free memory, the greater the corresponding weight. The lower the CPU utilization or the larger the number of free CPU cores, the greater the CPU weight. For example, if computing capacity information includes main frequency and load, and the weight for main frequency is 0.2 and the weight for load is 0.3, then the total weight is 0.5.

[0170] In another embodiment, the centralized controller may distribute all possible fault instances determined above to the multiple routing calculators based on their computing capacity information. That is, a fault instance is distributed to each of the multiple routing calculators. The distribution method may refer to the method for distributing fault instances to M routing calculators described above.

[0171] In addition, the routing calculator can also determine the topology range for each fault instance, that is, determine the nodes (i.e., network elements), optical fibers, wavelengths, ports, etc. that can be used by the computing tasks corresponding to each fault instance. It should be understood that the topology ranges corresponding to different OTN pipes in a fault instance can be the same or different. For example, Figure 3 As shown, the OTN pipes passing through the optical fiber between network element F and network element C are AFC and FC. The topology range corresponding to the fault instance corresponding to the optical fiber between network element F and network element C can be network element E, the optical fiber between network element A and network element E, the optical fiber between network element E and network element C, and wavelength 2.

[0172] The topology scope corresponding to a fault instance can be determined based on the start and end nodes of all OTN pipes corresponding to the fault instance. For example, the topology scope corresponding to the fault instance can be determined based on the start and end nodes of all OTN pipes corresponding to the fault instance, and the topology within a certain range of these start and end nodes can be determined as the topology scope corresponding to the fault instance.

[0173] It should be understood that if the number of fault instances is greater than or equal to the number of routing calculators to which the fault instances are to be assigned, each routing calculator in the routing calculators to which the fault instances are to be assigned is assigned a fault instance. If the number of fault instances is less than the number of routing calculators to which the fault instances are to be assigned, only some of the routing calculators in the routing calculators to which the fault instances are to be assigned are assigned a fault instance. The routing calculators to which the fault instances are to be assigned can be the plurality of routing calculators described above, or can be the M routing calculators described above.

[0174] 203. The centralized controller sends corresponding fault instances to multiple routing computers.

[0175] Accordingly, the routing calculator receives the fault instance from the centralized controller.

[0176] After allocating fault instances to the multiple routing calculators according to their computing capacity information, the centralized controller may send corresponding fault instances to the multiple routing calculators, that is, may send the fault instances allocated to the multiple routing calculators to the corresponding routing calculators respectively.

[0177] When fault instances are assigned to M routing calculators based on one or more of their CPU information, main frequency, number of CPU cores, load, and memory information, the centralized controller can send corresponding fault instances to the M routing calculators, that is, the fault instances assigned to the M routing calculators can be sent to the corresponding routing calculators respectively.

[0178] A fault instance may include fault information, pipeline information, and path information. In the case where the faulty link is an optical fiber, the fault information may be information about the faulty optical fiber. For example, the information about the faulty optical fiber may be an identity document (ID) of the faulty optical fiber, or other information that can uniquely identify the faulty optical fiber. In the case where the faulty link is a node, the fault information may be information about the node. For example, the information about the node may be the name, number, ID, or other information that can uniquely identify the node, such as the name of the network element. Pipeline information may include the ID of the pipeline, information about the first node, and information about the last node. Path information may include node information and port information. Node information may include information about each node in the path. Port information may include information about the egress port of the first node, information about the egress port and ingress port of the intermediate node, and information about the ingress port of the last node.

[0179] In addition, the fault instance may carry or include topology resource information. The topology resource information is the resource information of the topology range determined by the centralized controller in step 202, and may include information such as nodes, optical fibers, wavelengths, and ports used by the computing task corresponding to the fault instance.

[0180] 204. The routing calculator calculates restoration paths for the OTN pipes corresponding to the fault instance to obtain K restoration paths.

[0181] After receiving a fault instance from the centralized controller, the routing calculator can calculate a recovery path for each OTN pipe corresponding to the received fault instance, obtaining K recovery paths. The fault instance received by the routing calculator may include one fault instance or multiple fault instances. If the received fault instance includes one fault instance, all OTN pipes corresponding to the fault instance can be determined, and then a recovery path can be calculated for each of these OTN pipes based on the fault information, resulting in K recovery paths. If the received fault instance includes multiple fault instances, all OTN pipes corresponding to each fault instance can be determined, and then a recovery path can be calculated for each of all OTN pipes corresponding to each fault instance based on the fault information corresponding to each fault instance, resulting in K recovery paths. K is an integer greater than or equal to 1. It should be understood that the calculation of recovery paths corresponding to different fault instances can be performed in parallel or serially.

[0182] When the routing calculator calculates the restoration path, the calculation may be performed based on one or more of the following: fewer hops, balanced load, shorter distance, and better optical parameters.

[0183] It should be understood that when the received fault instance includes multiple fault instances, it is possible that two fault instances correspond to the same OTN pipe. Since they correspond to different fault links, they can be regarded as two OTN pipes and two recovery paths are calculated respectively.

[0184] It should be understood that the routing calculator in step 204 is any one of the plurality of routing calculators or the M routing calculators. For example, the routing calculator may be the second routing calculator.

[0185] The routing calculator can first determine a topology scope and then calculate restoration paths for the OTN pipes corresponding to the received fault instance based on the topology scope to obtain K restoration paths. If the received fault instance includes or carries topology resource information, the topology scope can be determined based on the topology resource information. If the received fault instance does not include or carry topology resource information, the topology scope can be determined to be the entire network.

[0186] In one scenario, after the routing calculator calculates K restoration paths for the OTN pipe corresponding to the fault instance, it can send a second restoration path to the first routing executor. Accordingly, the first routing executor receives the second restoration path from the routing calculator. The second restoration path is any one of the K restoration paths, and the first routing executor is one or more nodes in the OTN pipe corresponding to the second restoration path. That is, the K restoration paths can be sent to the corresponding routing calculators. The one or more nodes in the OTN pipe corresponding to the second restoration path can be the head node, the tail node, both the head node and the tail node, or one or more other nodes in the OTN pipe corresponding to the second restoration path. The second restoration path can include fault information, pipe information, and a restoration path. The restoration path can include path information for the restoration path, including node information, fiber information, port information corresponding to the node, and wavelength information corresponding to the fiber. If the node is the head node, the port corresponding to the node is the node's egress port. If the node is the tail node, the port corresponding to the node is the node's ingress port. In addition, the recovery path may also include the sequence number of the node on the recovery path so that the direction of the recovery path can be determined.

[0187] In addition, the routing calculator can also send K recovery paths to the centralized controller. Accordingly, the centralized controller can receive and store the K recovery paths from the routing calculator. The K recovery paths can carry information about the routing calculator. Within a certain period of time after sending the corresponding fault instance to the routing calculator, the centralized controller can detect whether the calculation results returned by the routing calculator have been received. If the returned calculation results are detected, they are stored. If the returned calculation results are not received after a certain period of time, it indicates that the routing calculator has experienced an anomaly, and the fault instance sent to this routing calculator can be resent to other routing calculators for calculation. After detecting the calculation results returned by all routing calculators, all calculation results can be stored. The centralized controller can collect statistics on the returned recovery paths to determine whether there are any problems in the OTN pipeline that have caused calculation failures due to insufficient resources, etc. If so, it can output a warning message to prompt the user to increase resources, etc. The resources here can be wavelengths or other factors, which are not limited here.

[0188] After receiving the second restoration path from the routing calculator, the first routing executor may store the second restoration path.

[0189] If the fault corresponding to the corresponding fault information is subsequently detected in the OTN pipeline corresponding to the pipeline information of the first recovery path, the second routing executor may establish a first recovery path. The first recovery path is one of the K recovery paths, and the second routing executor is a node in the OTN pipeline corresponding to the first recovery path. This node is a node in the OTN pipeline corresponding to the first recovery path that has not experienced the fault and can be the head node, the tail node, or another node.

[0190] After the first recovery path is successfully established, the second routing executor may send a second indication message to the second routing calculator. The second indication message is used to indicate that the first recovery path has been successfully established. After receiving the second indication message, the second routing calculator may send a first indication message to the centralized controller, and the first indication message is used to indicate that the first recovery path has been successfully established. After receiving the first indication message from the second routing calculator, the centralized controller may update the status of the resources occupied by the first recovery path to occupied, and may send resource information corresponding to the first recovery path to routing calculators other than the second routing calculator among the multiple routing calculators. The resource information may include information about the occupation of the first recovery path, so that the routing calculator may not use the occupied resources when calculating the recovery path next time. The first routing executor and the second routing executor may be the same or different. The information about the occupation of the first recovery path may include information about the nodes occupied by the first recovery path, information about the ports on the nodes, information about the optical fibers, and information about the wavelengths on the optical fibers.

[0191] After the first recovery path is successfully established, the second routing executor may also send third indication information to the centralized controller, where the third indication information is used to indicate that the first recovery path is successfully established. The centralized controller receives the third indication information from the second routing executor, and then may update the status of the resources occupied by the first recovery path to occupied, and send the resource information corresponding to the first recovery path to the routing calculators other than the second routing calculator among multiple routing calculators. In the case where the first recovery path does not exist in the centralized controller, the third indication information may include the first recovery path. Other detailed descriptions may refer to the above descriptions.

[0192] Please refer to Figure 4 , Figure 4 is a schematic diagram of another OTN network disclosed in an embodiment of the present application. As Figure 4 shown, the network element A stores that when a fiber optic cable between the network element F and the network element C fails in the A-COTN pipeline, the network element F collects an FC interruption alarm, the network element F notifies each node of the fault information, and after the network element A receives the FC fault information, it can find the recovery path <FC fault, A-COTN pipeline, A-F-E-C> stored by itself. The network element A initiates the establishment of a rerouting path. Starting from the head node A, a new recovery path is established along A-F-E-C. The tail node of the A-COTN pipeline (i.e., the network element C) returns the information indicating the successful establishment of the path to the head node A. The head node A may send the information indicating the successful establishment to the routing calculator, and the routing calculator transmits the information indicating the successful establishment of the recovery path to the centralized controller. After the centralized controller receives the information indicating the successful establishment of the recovery path sent by the routing calculator, it may update the resource occupancy status of the network according to the newly occupied path, including information such as wavelengths, and may synchronously update the changed part of the new network resource status to all routing calculators. The routing calculator synchronously updates and stores the received information. In addition, the routing calculator may return the updated result information to the centralized controller.

[0193] In another case, after the routing calculator calculates K recovery paths for the OTN pipelines corresponding to the fault instances respectively, it may send the K recovery paths to the centralized controller. Correspondingly, the centralized controller may receive the K recovery paths from the routing calculator and store the K recovery paths. The K recovery paths may carry the information of the routing calculator. In addition, the routing calculator may also store the K recovery paths.

[0194] If a fault corresponding to the corresponding fault information is subsequently detected on the OTN pipe corresponding to the pipe information of the first recovery path, the second routing executor may send a second request to the centralized controller. The second request is for a recovery path for the first OTN pipe, where the first OTN pipe is the OTN pipe corresponding to the first recovery path. The second request may carry or include fault information and pipe information. Accordingly, the centralized controller may receive the second request from the second routing executor, determine a first recovery path based on the second request and the stored recovery path reported by the routing calculator, and send the first recovery path to the second routing executor. Upon receiving the first recovery path from the centralized controller, the second routing executor may establish the first recovery path.

[0195] After the first restoration path is successfully established, the second routing executor may send an indication message indicating the success of the first restoration path establishment to the centralized controller. For other detailed descriptions, please refer to the above description.

[0196] In another scenario, after the routing calculator calculates K restoration paths for each OTN pipe corresponding to the fault instance, the calculated restoration paths can be stored and sent to the centralized controller. Accordingly, the centralized controller can receive the K restoration paths from the routing calculator and store the K restoration paths. The K restoration paths can carry information from the routing calculator.

[0197] If the fault corresponding to the corresponding fault information is subsequently detected in the OTN pipe corresponding to the pipe information of the first restoration path, the second routing executor may send a third request to the centralized controller. The third request is used to request the routing calculator corresponding to the restoration path of the first OTN pipe, where the first OTN pipe is the OTN pipe corresponding to the first restoration path. The third request may carry or include fault information and pipe information. Accordingly, the centralized controller may receive the third request from the second routing executor and then determine the information of the second routing calculator based on the third request and the stored restoration path reported by the routing calculator, and may send the second routing calculator information to the second routing executor. After receiving the second routing calculator information from the centralized controller, the second routing executor may send a fourth request to the second routing calculator based on the second routing calculator information, requesting the restoration path of the first OTN pipe, where the first OTN pipe is the OTN pipe corresponding to the first restoration path. After receiving the fourth request, the second routing calculator may determine a first restoration path based on the fourth request and the K stored restoration paths, and may send the first restoration path to the second routing executor. After receiving the first restoration path from the second routing calculator, the second routing executor may establish the first restoration path.

[0198] After the first restoration path is successfully established, the second routing executor may send an indication message indicating the success of the first restoration path establishment to the centralized controller. For other detailed descriptions, please refer to the above description.

[0199] It should be understood that the functions performed by the centralized controller in the above communication method can also be performed by a module (e.g., a chip) in the centralized controller, the functions performed by the routing calculator in the above communication method can also be performed by a module (e.g., a chip) in the routing calculator, and the functions performed by the routing executor in the above communication method can also be performed by a module (e.g., a chip) in the routing executor.

[0200] Based on the above network architecture, please refer to Figure 5 , Figure 5 This is a schematic diagram of the structure of a communication device disclosed in an embodiment of the present application. Figure 5 As shown, the communication device may include:

[0201] The receiving unit 501 is configured to receive computing capacity information from a plurality of routing calculators, where the plurality of routing calculators are routing calculators managed by a centralized controller;

[0202] An allocating unit 502 is configured to allocate fault instances to the multiple routing calculators based on computing capacity information of the multiple routing calculators. A fault instance includes computing tasks for restoration paths of N OTN pipes. Computing tasks belonging to the same fault instance are allocated to the same routing calculator. The N OTN pipes are all OTN pipes passing through the same faulty link, where N is an integer greater than or equal to 1.

[0203] The sending unit 503 is configured to send corresponding fault instances to multiple routing calculators.

[0204] In one embodiment, the computing capability information may include one or more of memory information, CPU information, main frequency, number of CPU cores, and load.

[0205] In one embodiment, the allocating unit 502 is specifically configured to:

[0206] Selecting, from the plurality of routing calculators, routing calculators whose memory information corresponds to a memory greater than or equal to a first threshold, and / or whose CPU information corresponds to a CPU less than or equal to a second threshold, and / or whose load is less than or equal to a third threshold, to obtain M routing calculators, where M is an integer greater than or equal to 1;

[0207] Assigning fault instances to the M routing calculators based on one or more of memory information, CPU information, main frequency, number of CPU cores, and load of the M routing calculators;

[0208] The sending unit 503 is specifically configured to send the corresponding fault instance to the M routing calculators.

[0209] In one embodiment, the fault instance carries topology resource information, which may include information about nodes, optical fibers, and wavelengths used by computing tasks corresponding to the fault instance.

[0210] In one embodiment, the sending unit 503 is further configured to send a first request to a first routing calculator, where the first request is used to request computing capability information of the first routing calculator, and the first routing calculator is any one of the multiple routing calculators.

[0211] In one embodiment, the receiving unit 501 is further configured to receive K restoration paths from a second routing calculator, where the second routing calculator is any one of the M routing calculators, and the K restoration paths are restoration paths of the K OTN pipes corresponding to the fault instance sent to the second routing calculator;

[0212] The communication device may further include:

[0213] The storage unit 504 is configured to store K recovery paths.

[0214] In one embodiment, the restoration path may include node information, optical fiber information, information about a port corresponding to the node, and information about a wavelength corresponding to the optical fiber.

[0215] In one embodiment, the receiving unit 501 is further configured to receive first indication information from the second routing calculator, where the first indication information is configured to indicate that the first restoration path is successfully established, and the first restoration path is one of the K restoration paths;

[0216] The sending unit 503 is further configured to send resource information corresponding to the first restoration path to routing calculators other than the second routing calculator among the multiple routing calculators. The resource information may include information occupied by the first restoration path.

[0217] In one embodiment, the receiving unit 501 is further configured to receive a second request from the second routing executor, where the second request is used to request a recovery path of the first OTN pipe, where the first OTN pipe is an OTN pipe corresponding to the first recovery path;

[0218] The sending unit 503 is further configured to send the first restoration path to the second routing executor.

[0219] In one embodiment, the receiving unit 501 is further configured to receive a third request from the second routing executor, where the third request is used to request a routing calculator corresponding to a restoration path of the first OTN pipe, where the first OTN pipe is an OTN pipe corresponding to the first restoration path.

[0220] The sending unit 503 is further configured to send information of the second routing calculator to the second routing executor.

[0221] For a more detailed description of the receiving unit 501, the distributing unit 502, the sending unit 503 and the storage unit 504, please refer to the above Figure 2 The relevant description of the centralized controller in the method embodiment shown is directly obtained and will not be repeated here.

[0222] It should be understood that the receiving unit and the sending unit may be collectively referred to as a transceiver unit.

[0223] Based on the above network architecture, please refer to Figure 6 , Figure 6 This is a schematic diagram of the structure of another communication device disclosed in the embodiment of this application. Figure 6 As shown, the communication device may include a receiving unit 601 and a calculating unit 602. In addition, the communication device may also include a sending unit 603 and a determining unit 604.

[0224] The receiving unit 601 is configured to receive a fault instance from the centralized controller. A fault instance includes a calculation task for a restoration path of N OTN pipes, where the N OTN pipes are all OTN pipes passing through the same faulty link, and N is an integer greater than or equal to 1.

[0225] The calculation unit 602 is configured to calculate restoration paths for the OTN pipes corresponding to the fault instances, respectively, to obtain K restoration paths, where K is an integer greater than or equal to 1.

[0226] In one embodiment, the sending unit 603 is configured to send a second recovery path to the first routing executor, where the second recovery path is any one of the K recovery paths, and the first routing executor is one or more nodes in the OTN pipe corresponding to the second recovery path.

[0227] In one embodiment, the restoration path may include node information, optical fiber information, information about a port corresponding to the node, and information about a wavelength corresponding to the optical fiber.

[0228] In one embodiment, the fault instance carries topology resource information, which may include information about nodes, optical fibers, and wavelengths used by computing tasks corresponding to the fault instance. The communication device may further include:

[0229] A determining unit 604 is configured to determine a topology range based on the topology resource information;

[0230] The calculation unit 602 is specifically configured to calculate restoration paths according to the OTN pipes corresponding to the fault instance in the topology range, and obtain K restoration paths.

[0231] In one embodiment, the sending unit 603 is further configured to send computing capability information to the centralized controller, where the computing capability information includes one or more of memory information, CPU information, main frequency, number of CPU cores, and load.

[0232] In one embodiment, the receiving unit 601 is further configured to receive a first request from a centralized controller, where the first request is configured to request the computing capability information.

[0233] In one embodiment, the sending unit 603 is further configured to send K restoration paths to the centralized controller.

[0234] In one embodiment, the receiving unit 601 is further configured to receive second indication information from a second routing executor, where the second indication information is configured to indicate that the first recovery path is successfully established, the first recovery path is one of the K recovery paths, and the second routing executor is a node corresponding to the first recovery path.

[0235] The sending unit 603 is further configured to send first indication information to the centralized controller, where the first indication information is used to indicate that the first restoration path is successfully established.

[0236] In one embodiment, the receiving unit 601 is further configured to receive a fourth request from the second routing executor, where the fourth request is used to request a recovery path of the first OTN pipe, where the first OTN pipe is an OTN pipe corresponding to the first recovery path;

[0237] The sending unit 603 is further configured to send the first restoration path to the second routing executor.

[0238] For a more detailed description of the receiving unit 601, the calculating unit 602, the sending unit 603 and the determining unit 604, please refer to the above Figure 2 The description of the routing calculator in the illustrated method embodiment is directly available and will not be repeated here.

[0239] It should be understood that the receiving unit and the sending unit may be collectively referred to as a transceiver unit.

[0240] Based on the above network architecture, please refer to Figure 7 , Figure 7 This is a structural diagram of another communication device disclosed in the embodiment of this application. Figure 7 As shown, the communication device may include a processor 701, a memory 702, a transceiver 703 and a bus 704. The memory 702 may exist independently and may be connected to the processor 701 via the bus 704. The memory 702 may also be integrated with the processor 701. The bus 704 is used to realize the connection between these components. In one case, as Figure 7As shown, the transceiver 703 may include a transmitter 7031, a receiver 7032, and an antenna 7033. In another embodiment, the transceiver 703 may include a transmitter (i.e., an output interface) and a receiver (i.e., an input interface). The transmitter may include a transmitter and an antenna, and the receiver may include a receiver and an antenna.

[0241] The communication device may be a centralized controller or a module in the centralized controller. When the computer program instructions stored in the memory 702 are executed, the processor 701 is used to control the receiving unit 501 and the sending unit 503 to perform the operations performed in the above embodiment. The processor 701 is also used to perform the operations performed by the distribution unit 502 and the storage unit 504 in the above embodiment. The transceiver 703 is used to perform the operations performed by the receiving unit 501 and the sending unit 503 in the above embodiment. The above communication device may also be used to perform the above Figure 2 The various methods executed by the centralized controller in the method embodiment are not described in detail.

[0242] The communication device may be a routing calculator or a module in a routing calculator. When the computer program instructions stored in the memory 702 are executed, the processor 701 is used to control the receiving unit 601 and the sending unit 603 to perform the operations performed in the above embodiment. The processor 701 is also used to perform the operations performed by the calculating unit 602 and the determining unit 604 in the above embodiment. The transceiver 703 is used to perform the operations performed by the receiving unit 601 and the sending unit 603 in the above embodiment. The above communication device may also be used to perform the above Figure 2 The various methods executed by the routing calculator in the method embodiment will not be described in detail.

[0243] Based on the above network architecture, please refer to Figure 8 , Figure 8 This is a structural diagram of another communication device disclosed in the embodiment of this application. Figure 8 As shown, the communication device may include an input interface 801, a logic circuit 802 and an output interface 803. The input interface 801 and the output interface 803 are connected through the logic circuit 802. The input interface 801 is used to receive information from other communication devices, and the output interface 803 is used to output, schedule or send information to other communication devices. The logic circuit 802 is used to perform operations other than the operations of the input interface 801 and the output interface 803, such as implementing the functions implemented by the processor 701 in the above embodiment. The communication device can be a terminal device (or a module in a terminal device) or a network device (or a module in a network device). A more detailed description of the input interface 801, the logic circuit 802 and the output interface 803 can be directly obtained by referring to the relevant description of the centralized controller or the routing calculator in the above method embodiment, and will not be repeated here.

[0244] An embodiment of the present application further discloses a computer-readable storage medium having instructions stored thereon, which, when executed, execute the method in the above method embodiment.

[0245] The embodiments of the present application further disclose a computer program product comprising computer instructions, which, when executed, performs the method in the above method embodiments.

[0246] The present application also discloses a communication system, which may include a centralized controller, a routing calculator, and a routing executor. For a detailed description, please refer to Figure 2 The communication method shown.

[0247] The specific implementation methods described above further illustrate the purpose, technical solutions and beneficial effects of this application. It should be understood that the above description is only the specific implementation methods of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solutions of this application should be included in the scope of protection of this application.

Claims

1. A communication method, characterized in that: include: receiving computing capacity information from a plurality of routing calculators, the plurality of routing calculators being routing calculators managed by a centralized controller; Allocating fault instances to the multiple routing calculators based on computing capacity information of the multiple routing calculators, where one fault instance includes computing tasks for restoration paths of N optical transport network (OTN) pipes, and computing tasks belonging to the same fault instance are allocated to the same routing calculator, where the N OTN pipes are all OTN pipes passing through the same faulty link, and N is an integer greater than or equal to 1; Sending corresponding fault instances to the multiple routing calculators, the fault instances carrying topology resource information, the topology resource information including information about nodes, optical fibers, and wavelengths used by computing tasks corresponding to the fault instances.

2. The method according to claim 1, characterized in that The computing capability information includes one or more of memory information, central processing unit (CPU) information, main frequency, number of CPU cores, and load.

3. The method according to claim 2, characterized in that The allocating fault instances to the plurality of routing calculators respectively according to the computing capacity information of the plurality of routing calculators includes: Selecting, from the plurality of routing calculators, routing calculators having a memory greater than or equal to a first threshold, and / or a CPU less than or equal to a second threshold, and / or a load less than or equal to a third threshold, to obtain M routing calculators, where M is an integer greater than or equal to 1; Allocate a fault instance to the M routing calculators according to one or more of memory information, CPU information, main frequency, number of CPU cores, and load of the M routing calculators; The sending corresponding fault instances to the multiple routing calculators includes: Send the corresponding fault instance to the M routing calculators.

4. The method according to any one of claims 1 to 3, characterized in that The method further comprises: A first request is sent to a first routing calculator, where the first request is used to request computing capability information of the first routing calculator, where the first routing calculator is any one of the multiple routing calculators.

5. The method according to claim 3, characterized in that The method further comprises: receiving K restoration paths from a second routing calculator, where the second routing calculator is any one of the M routing calculators, and the K restoration paths are restoration paths of the K OTN pipes corresponding to the fault instance sent to the second routing calculator; The K recovery paths are stored.

6. The method according to claim 5, characterized in that The method further comprises: receiving first indication information from the second routing calculator, where the first indication information is used to indicate that a first restoration path is successfully established, where the first restoration path is one of the K restoration paths; Sending resource information corresponding to the first restoration path to routing calculators other than the second routing calculator among the multiple routing calculators, where the resource information includes information occupied by the first restoration path.

7. A communication method, characterized in that: include: Receive a fault instance from a centralized controller, where one fault instance includes a calculation task for a restoration path of N optical transport network (OTN) pipes, where the N OTN pipes are all OTN pipes passing through a same faulty link. The fault instance carries topology resource information, where the topology resource information includes information about nodes, optical fibers, and wavelengths used by the calculation task corresponding to the fault instance, and N is an integer greater than or equal to 1. Restoration paths are calculated for the OTN pipes corresponding to the fault instance respectively to obtain K restoration paths, where K is an integer greater than or equal to 1.

8. The method according to claim 7, characterized in that The method further comprises: A second restoration path is sent to the first routing executor, where the second restoration path is any restoration path among the K restoration paths, and the first routing executor is one or more nodes in the OTN pipe corresponding to the second restoration path.

9. The method according to claim 7 or 8, characterized in that The method further comprises: Determine a topology range according to the topology resource information; Calculating the restoration paths for the OTN pipes corresponding to the fault instance to obtain K restoration paths includes: Restoration paths are calculated for the OTN pipes corresponding to the fault instance according to the topology range to obtain K restoration paths.

10. The method according to claim 7 or 8, characterized in that The method further comprises: The computing capability information is sent to the centralized controller, where the computing capability information includes one or more of memory information, central processing unit (CPU) information, main frequency, number of CPU cores, and load.

11. The method according to claim 10, characterized in that The method further comprises: A first request is received from the centralized controller, where the first request is used to request the computing capability information.

12. The method according to claim 7 or 8, characterized in that The method further comprises: Send the K restoration paths to the centralized controller.

13. The method according to claim 7 or 8, characterized in that The method further comprises: receiving second indication information from a second routing executor, where the second indication information is used to indicate that a first recovery path is successfully established, where the first recovery path is one of the K recovery paths, and the second routing executor is a node in an OTN pipe corresponding to the first recovery path; Sending first indication information to the centralized controller, where the first indication information is used to indicate that the first recovery path is successfully established.

14. A communication device, characterized in that: include: a receiving unit, configured to receive computing capacity information from a plurality of routing calculators, wherein the plurality of routing calculators are routing calculators managed by a centralized controller; an allocating unit, configured to allocate fault instances to the multiple routing calculators based on computing capacity information of the multiple routing calculators, wherein one fault instance includes computing tasks for restoration paths of N optical transport network (OTN) pipes, and computing tasks belonging to the same fault instance are allocated to the same routing calculator, wherein the N OTN pipes are all OTN pipes passing through the same faulty link, and N is an integer greater than or equal to 1; The sending unit is configured to send corresponding fault instances to the multiple routing calculators, wherein the fault instances carry topology resource information, and the topology resource information includes information about nodes, optical fibers, and wavelengths used by computing tasks corresponding to the fault instances.

15. The device according to claim 14, characterized in that The computing capability information includes one or more of memory information, central processing unit (CPU) information, main frequency, number of CPU cores, and load.

16. The device according to claim 15, characterized in that The allocation unit is specifically used for: Selecting, from the multiple routing calculators, routing calculators whose memory corresponding to the memory information is greater than or equal to a first threshold, and / or whose CPU corresponding to the CPU information is less than or equal to a second threshold, and / or whose load is less than or equal to a third threshold, to obtain M routing calculators, where M is an integer greater than or equal to 1; Allocate a fault instance to the M routing calculators according to one or more of memory information, CPU information, main frequency, number of CPU cores, and load of the M routing calculators; The sending unit is specifically configured to send the corresponding fault instance to the M routing calculators.

17. The device according to any one of claims 14 to 16, characterized in that The sending unit is further configured to send a first request to a first routing calculator, where the first request is used to request computing capability information of the first routing calculator, and the first routing calculator is any one of the multiple routing calculators.

18. The device according to claim 16, characterized in that The receiving unit is further configured to receive K restoration paths from a second routing calculator, where the second routing calculator is any one of the M routing calculators, and the K restoration paths are restoration paths of the K OTN pipes corresponding to the fault instance sent to the second routing calculator; The device further comprises: A storage unit is configured to store the K recovery paths.

19. The device according to claim 18, characterized in that The receiving unit is further configured to receive first indication information from the second routing calculator, where the first indication information is used to indicate that a first restoration path is successfully established, where the first restoration path is one of the K restoration paths; The sending unit is further configured to send resource information corresponding to the first restoration path to routing calculators other than the second routing calculator among the multiple routing calculators, where the resource information includes information occupied by the first restoration path.

20. A communication device, characterized in that: include: A receiving unit is configured to receive a fault instance from a centralized controller, wherein one fault instance includes a calculation task for a restoration path of N optical transport network (OTN) pipes, where the N OTN pipes are all OTN pipes passing through a same faulty link. The fault instance carries topology resource information, which includes information about nodes, optical fibers, and wavelengths used by the calculation task corresponding to the fault instance. N is an integer greater than or equal to 1. The calculation unit is configured to calculate a restoration path for each OTN pipe corresponding to the fault instance to obtain K restoration paths, where K is an integer greater than or equal to 1.

21. The device according to claim 20, characterized in that The device further comprises: The first sending unit is configured to send a second recovery path to the first routing executor, where the second recovery path is any one of the K recovery paths, and the first routing executor is one or more nodes in the OTN pipe corresponding to the second recovery path.

22. The device according to claim 20 or 21, characterized in that The device further comprises: a determining unit, configured to determine a topology range according to the topology resource information; The calculation unit is specifically configured to calculate recovery paths for the OTN pipes corresponding to the fault instance according to the topology range, to obtain K recovery paths.

23. The device according to claim 20 or 21, characterized in that The device further comprises: The second sending unit is used to send computing capacity information to the centralized controller, where the computing capacity information includes one or more of memory information, central processing unit (CPU) information, main frequency, number of CPU cores, and load.

24. The device according to claim 23, characterized in that The receiving unit is further configured to receive a first request from the centralized controller, where the first request is configured to request the computing capability information.

25. The device according to claim 20 or 21, characterized in that The device further comprises: The third sending unit is configured to send the K restoration paths to the centralized controller.

26. The device according to claim 20 or 21, characterized in that The receiving unit is further configured to receive second indication information from a second routing executor, where the second indication information is used to indicate that a first recovery path is successfully established, the first recovery path is one of the K recovery paths, and the second routing executor is a node in an OTN pipe corresponding to the first recovery path; The device further comprises: The fourth sending unit is used to send first indication information to the centralized controller, where the first indication information is used to indicate that the first recovery path is successfully established.

27. A communication device, characterized in that: The method comprises a processor and a memory, wherein the processor and the memory are coupled, and the processor calls a computer program stored in the memory to implement the method according to any one of claims 1 to 6.

28. A communication device, characterized in that: The method comprises a processor and a memory, wherein the processor and the memory are coupled, and the processor calls a computer program stored in the memory to implement the method according to any one of claims 7 to 13.

29. A communication system, characterized in that: Comprises the device of claim 27 and the device of claim 28.

30. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program or computer instructions, and when the computer program or computer instructions are executed, the method according to any one of claims 1 to 13 is implemented.

31. A computer program product, characterized in that The computer program product comprises computer program code, and when the computer program code is executed, the method according to any one of claims 1 to 13 is implemented.

Citation Information

Patent Citations

  • Device and method for service recovery

    CN101286892A

  • Path computation elements, path computation client-terminal and load sharing method and system

    CN104301220A