Signaling scheduling method and device of Clos architecture network, electronic equipment and storage medium
By dynamically adjusting the data transmission volume based on path connectivity in a Clos architecture network, the problems of data transmission congestion and bandwidth waste caused by path failures are solved, achieving efficient network utilization.
Patent Information
- Application Number
- CN202411433066.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-16
- Filing Date
- 2024-10-14
- Publication Date
- 2025-11-18
AI Technical Summary
In Clos architecture networks, path failures lead to data transmission congestion and bandwidth waste, and existing technologies struggle to effectively utilize the network's internal bandwidth.
By receiving request signaling from the IM, and based on the number of path connections between the IM and OM and the actual amount of data requested by the signaling, the amount of data allowed to be sent by the IM is determined, and the data transmission is dynamically adjusted to avoid data congestion.
It effectively avoids data congestion and improves network bandwidth utilization, especially maintaining efficient network operation in path failure scenarios.
Smart Images

Figure CN120980020A_ABST
Abstract
Description
[0001] This application claims priority to the Chinese patent application No. 202410606419.5, filed on May 16, 2024, entitled "Signaling scheduling method and device for Clos architecture network, electronic device and storage medium", the whole content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the field of communication technology, in particular to a signaling scheduling method and device for Clos architecture network, electronic device and storage medium. BACKGROUND
[0003] Clos architecture is a parallel forwarding structure composed of multiple switching elements, which can provide high scalability and flexibility. Currently, mainstream routers, switches, distributed decoupling devices, and switch device networking usually adopt Clos architecture.
[0004] As a hierarchical network structure design, Clos architecture includes three main components: input module (IM), central module (CM), and output module (OM). In Clos architecture, multi-path load balancing based on direct packet exchange, packet framing (including physical frame and virtual frame), or cutting cell (small data packet) is usually adopted. Data to be sent from IM to OM needs to be sent by IM to OM first, and after obtaining the signaling permission of OM, the data can be sent to CM, and then CM forwards the data to OM. SUMMARY
[0005] The present application provides a signaling scheduling method and device for Clos architecture network, electronic device and storage medium.
[0006] In a first aspect, a signaling scheduling method for Clos architecture network is provided, which is applied to a first OM in the Clos architecture network, and the method comprises:
[0007] receiving a request signaling sent by a first IM in the Clos architecture network, the request signaling indicating an actual signaling request data volume, the actual signaling request data volume representing a data volume requested to be sent by the first IM to the first OM;
[0008] determining a data volume allowed to be sent by the first IM according to a number of path connections between the first IM and the first OM and the actual signaling request data volume;
[0009] sending a response signaling to the first IM.
[0010] In this embodiment, when the first OM receives the request signaling from the first IM, it determines the amount of data that the first IM is allowed to send based on the number of path connections between the first IM and the first OM and the actual amount of data requested by the signaling. Thus, when the number of path connections between the first IM and the first OM changes in the Clos architecture network, the corresponding amount of data that the first IM is allowed to send may also change. In this way, the control over whether the first OM allows the first IM to send data is based on the actual connectivity in the Clos architecture network, effectively avoiding data congestion. This can be applied to scenarios in the Clos architecture network where faults cause some paths to be disconnected.
[0011] In one possible implementation, determining the amount of data allowed to be sent by the first IM based on the number of path connections between the first IM and the first OM and the actual signaling request data volume includes:
[0012] The amount of data to be deducted is determined based on the current number of path connections between the first IM and the first OM and the actual signaling request data volume.
[0013] Based on the bandwidth of the first OM under fault-free conditions and the amount of data to be deducted, the amount of data that the first IM is allowed to send is determined.
[0014] In this embodiment of the application, for the same actual signaling request data volume, the amount of data to be deducted can be determined based on the number of current path connections between the first IM and the first OM. Thus, the amount of data to be deducted will vary depending on the connection status between the first IM and the first OM. Based on the amount of data to be deducted, the amount of data that the first OM allows the first IM to send can be accurately calculated under the current connection status between the first IM and the first OM. The amount of data that the first IM is allowed to send can be adapted to different connection statuses between the first IM and the first OM.
[0015] In one implementation, the Clos architecture network includes at least one CM; determining the amount of data to be deducted based on the current number of path connections between the first IM and the first OM and the actual signaling request data volume includes:
[0016] Obtain the number of first path connections between the first IM and each CM, and the number of second path connections between the first OM and each CM;
[0017] The smaller of the first path connectivity count and the second path connectivity count for each CM is taken as the third path connectivity count for the corresponding CM.
[0018] The number of third path connections of each CM is summed to obtain the target path connection number, which is the current path connection number between the first IM and the first OM.
[0019] The amount of data to be deducted is determined based on the number of connected target paths and the actual amount of signaling request data.
[0020] In this embodiment, by utilizing the symmetry of CMs, the smallest number of connected paths between each CM and the first IM and the first OM is taken as the number of connected paths of the corresponding CM. In this way, the current number of connected paths between the first IM and the first OM can be accurately calculated while ensuring the symmetry of CMs. Thus, the current number of connected paths between the first IM and the first OM can be determined, and the amount of data to be deducted when the current path is connected can be determined.
[0021] In one possible implementation, determining the amount of data to be deducted based on the number of connected target paths and the actual signaling request data volume includes:
[0022] Based on the target path connectivity number and the maximum path connectivity number, a deduction coefficient is determined, wherein the maximum path connectivity number is the number of path connections between the first IM and the first OM under fault-free conditions;
[0023] The amount of data to be deducted is determined based on the actual signaling request data volume and the deduction coefficient.
[0024] In this application embodiment, a method for calculating the amount of data to be deducted is proposed. The deduction coefficient varies depending on the number of connected target paths. By using the number of connected target paths, the method for calculating the amount of data to be deducted under the current connection between the first IM and the first OM can be accurately determined.
[0025] In one possible implementation, the bandwidth of the first OM under fault-free conditions includes the bandwidth of the ingress port group of the first OM, and the amount of data to be deducted includes a second amount of data to be deducted corresponding to the bandwidth of the outgress port of the first OM and a first amount of data to be deducted corresponding to the bandwidth of the ingress port group of the first OM.
[0026] The step of determining the amount of data to be deducted based on the number of connected target paths and the actual signaling request data volume includes:
[0027] Based on the target path connectivity number and the maximum path connectivity number, a deduction coefficient is determined, wherein the maximum path connectivity number is the number of path connections between the first IM and the first OM under fault-free conditions;
[0028] Based on the actual signaling request data volume, the private header data volume, and the deduction coefficient, the first data volume to be deducted is determined;
[0029] Based on the actual signaling request data volume, the second amount of data to be deducted is determined.
[0030] In this application embodiment, it is proposed that, for scenarios with private headers, when calculating the amount of data to be deducted, it is necessary to calculate the amount of data to be deducted for the private headers, so as to accurately calculate the amount of data to be deducted in scenarios with private headers. In one possible implementation, the bandwidth of the first OM under fault-free conditions includes the bandwidth of the ingress port group of the first OM; the step of determining the amount of data allowed to be sent by the first IM based on the bandwidth of the first OM under fault-free conditions and the amount of data to be deducted includes:
[0031] The maximum total amount of input data of the first OM in a unit time is determined based on the bandwidth of the ingress port group of the first OM, and the first allowed data amount of the ingress port group of the first OM is determined based on the maximum total amount of input data of the first OM in a unit time and the amount of data to be deducted.
[0032] The maximum amount of data that the first OM can send per unit time is determined based on the bandwidth of the output port of the first OM, and the second allowable data amount of the output port of the first OM is determined based on the maximum amount of data that the first OM can send per unit time and the amount of data to be deducted.
[0033] The amount of data that the first IM can send is determined based on the values of the first allowed data amount and the second allowed data amount.
[0034] In this embodiment of the application, when calculating the amount of data that the first IM is allowed to send, the first allowed data amount of the ingress port group and the second allowed data amount of the egress port of the first OM are calculated to determine whether the bandwidth of the ingress port group and the egress port of the first OM meets the data amount to be deducted. The accuracy of the data amount that the first IM is allowed to send is higher. Therefore, it is possible to determine whether the first OM allows the first IM to send data based on the data amount that the first IM is allowed to send data.
[0035] Secondly, a signaling scheduling method for Clos architecture networks is proposed, applied to the first IM in a Clos architecture network. The method includes:
[0036] Send a request signaling to the first OM in the Clos architecture network. The request signaling indicates the actual signaling request data amount, and the actual signaling request data amount represents the amount of data that the first IM requests to send to the first OM.
[0037] Receive response signaling from the first OM, the response signaling being sent by the first OM after determining the amount of data that the first IM is allowed to send, the amount of data that the first IM is allowed to send being determined by the first OM based on the number of path connections between the first IM and the first OM and the actual amount of data requested by the signaling;
[0038] The amount of data that the first IM can send is determined based on the number of path connections between the first IM and the first OM and the actual signaling request data volume.
[0039] Data is sent to the first OM based on the amount of data that the first IM can send.
[0040] In one implementation, determining the amount of data that the first IM can send based on the number of path connections between the first IM and the first OM and the actual signaling request data volume includes:
[0041] The amount of data to be deducted is determined based on the current number of path connections between the first IM and the first OM and the actual signaling request data volume.
[0042] Based on the bandwidth of the first IM under fault-free conditions and the amount of data to be deducted, the amount of data that the first IM can send is determined.
[0043] In one implementation, the Clos architecture network includes at least one CM; determining the amount of data to be deducted based on the current number of path connections between the first IM and the first OM and the actual signaling request data volume includes:
[0044] Obtain the number of first path connections between the first IM and each CM, and the number of second path connections between the first OM and each CM;
[0045] The number of paths connected that is less than the number of paths connected in the first and second paths corresponding to each CM is taken as the number of paths connected in the third path of the corresponding CM.
[0046] The number of third path connections of each CM is summed to obtain the target path connection number, which is the current path connection number between the first IM and the first OM.
[0047] The amount of data to be deducted is determined based on the number of connected target paths and the actual signaling request data volume. In one possible implementation, determining the amount of data to be deducted based on the number of connected target paths and the actual signaling request data volume includes:
[0048] Based on the target path connectivity number and the maximum path connectivity number, a deduction coefficient is determined, wherein the maximum path connectivity number is the number of path connections between the first IM and the first OM under fault-free conditions;
[0049] The amount of data to be deducted is obtained based on the actual signaling request data volume and the deduction coefficient, or the amount of data to be deducted is obtained based on the actual signaling request data volume, the private header data volume, and the deduction coefficient.
[0050] In one possible implementation, the bandwidth of the first IM under fault-free conditions includes the bandwidth of the outgoing port group of the first IM; obtaining the amount of data that the first IM can send based on the bandwidth of the first IM under fault-free conditions and the amount of data to be deducted includes:
[0051] The maximum amount of data that the first IM can send per unit time is determined based on the bandwidth of the output port group of the first IM.
[0052] Based on the maximum total amount of data to be sent and the amount of data to be deducted, the amount of data that the first IM can send from the output port group of the first IM is obtained.
[0053] In this application embodiment, a method for calculating the amount of data that a first IM can send is proposed. To determine whether the first IM can send data, it is only necessary to determine whether the bandwidth of the outgoing port group of the first IM can meet the data amount to be deducted, thereby determining the amount of data that the first IM can send. Based on the amount of data that the first IM can send, it can be determined whether the first IM can meet the data sending requirements.
[0054] In one possible implementation, the Clos architecture network includes at least one CM; the step of sending data to the first OM according to the amount of data that the first IM can send includes:
[0055] If the amount of data that the first IM can send indicates that the first IM is allowed to send data, then obtain the number of first path connections between the IM and each CM and the number of second path connections between the first IM and each CM;
[0056] The smaller of the first path connectivity count and the second path connectivity count for each CM is taken as the third path connectivity count for the corresponding CM.
[0057] The data allocation ratio among the third paths of each CM is determined based on the number of connected third paths of each CM.
[0058] Based on the data allocation ratio, the data is sent to the first OM via the corresponding CM.
[0059] In this application embodiment, a method for sending data to the first IM is proposed. Data is sent to the first IM, and based on the actual number of connections between each CM and the first IM and the first OM, i.e., the number of connections via the third path, data is sent to different CMs proportionally to achieve load-balanced transmission. Thirdly, a signaling scheduling device for a Clos architecture network is proposed, applied to the first OM in the Clos architecture network. The device includes:
[0060] The request signaling receiving module is used to receive request signaling sent by the first IM in the Clos architecture network. The request signaling indicates the actual signaling request data volume, and the actual signaling request data volume represents the amount of data that the first IM requests to send to the first OM.
[0061] The OM data volume acquisition module is used to determine the amount of data that the first IM is allowed to send based on the number of path connections between the first IM and the first OM and the actual signaling request data volume.
[0062] The response signaling sending module is used to send response signaling to the first IM.
[0063] Fourthly, a signaling scheduling device for a Clos architecture network is proposed, applied to the first IM in the Clos architecture network. The device includes:
[0064] The request signaling sending module is used to send request signaling to the first OM in the Clos architecture network. The request signaling indicates the actual signaling request data volume, and the actual signaling request data volume represents the amount of data that the first IM requests to send to the first OM.
[0065] The response signaling receiving module is used to receive the response signaling of the first OM. The response signaling is sent by the first OM after determining the amount of data that the first IM is allowed to send. The amount of data that the first IM is allowed to send is determined by the first OM based on the number of path connections between the first IM and the first OM and the actual amount of signaling requested data.
[0066] The IM data volume acquisition module is used to determine the amount of data that the first IM can send based on the number of path connections between the first IM and the first OM and the actual signaling request data volume.
[0067] The data sending module is used to send data to the first OM according to the amount of data that the first IM can send.
[0068] Fifthly, an electronic device is provided, comprising: a processor, and a memory communicatively connected to the processor;
[0069] The memory stores computer programs;
[0070] The processor executes the computer program stored in the memory to implement the signaling scheduling method steps of the Clos architecture network described above in the first and second aspects.
[0071] In a sixth aspect, a computer-readable storage medium is proposed, wherein a computer program is stored in the computer-readable storage medium, and the computer program, when executed by a processor, is used to implement the signaling scheduling method steps of the Clos architecture network described in the first and second aspects above.
[0072] Seventhly, a computer program product is proposed, comprising a computer program that, when executed, causes the computer to perform the signaling scheduling method steps of the Clos architecture network described in the first and second aspects. Attached Figure Description
[0073] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0074] Figure 1a This is a schematic diagram illustrating symmetric fault isolation in Clos architecture networks in traditional technologies.
[0075] Figure 1b A schematic diagram illustrating a failure in the Clos architecture network provided in this application embodiment;
[0076] Figure 1c Another schematic diagram illustrating a failure in the Clos architecture network provided in this application embodiment;
[0077] Figure 2 This is a flowchart illustrating the signaling scheduling method for the Clos architecture network provided in the embodiments of this application.
[0078] Figure 3 Another flowchart illustrating the signaling scheduling method for a Clos architecture network provided in this application embodiment;
[0079] Figure 4a A schematic diagram of the signaling scheduling device for a Clos architecture network provided in an embodiment of this application;
[0080] Figure 4b Another schematic diagram of the signaling scheduling device for the Clos architecture network provided in the embodiments of this application;
[0081] Figure 5 This is a schematic diagram of the structure of an electronic device shown in this application.
[0082] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0083] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0084] In a Clos architecture network, IM and OM can be logically separate components, but physically they can be the same entity. The uplink and downlink correspond to two directions of a physical link duplex.
[0085] like Figure 1a As shown, in the Clos architecture network, if path 1 between IM-1 and CM-1 fails, then the corresponding path needs to be... Figure 1a Paths 2, 3, and 4 should also be isolated to maintain the symmetry of the entire network link path. In this way, in terms of bandwidth between IM and CM, and bandwidth between OM and CM, IM only needs to control the amount of data sent based on its local path that can send data, and similarly, OM only needs to control the amount of data sent based on its local path that can receive data, making the logic control relatively simple.
[0086] Figure 1a The middle arrow indicates the data flow direction; data is transmitted from IM to CM, and then from CM to OM.
[0087] However, the above-mentioned symmetric fault isolation scheme has the following problems:
[0088] For the IM to CM link and the CM to OM link, they are physically logically expanded as full-duplex links. In this case, when a failure occurs in one direction of a full-duplex link, the direction that is not experiencing a failure needs to be isolated, resulting in bandwidth waste.
[0089] When a full-duplex link is isolated, the corresponding links on other IM / OMs are also isolated, resulting in bandwidth waste. This is especially true when the bandwidth between IM / OM and CM is close to the external IO bandwidth of IM / OM, which means the internal network acceleration is relatively low, thus increasing the impact on the available bandwidth of the entire network.
[0090] Therefore, how to effectively utilize the network's internal bandwidth is a key issue that needs to be addressed in Clos architecture networks.
[0091] This application proposes a signaling scheduling method, apparatus, electronic device, and storage medium for Clos architecture networks, which can be used for signaling scheduling in Clos architecture networks and can achieve reliable and efficient signaling scheduling when a fault occurs in a Clos architecture network.
[0092] Figure 2 This is a flowchart illustrating the signaling scheduling method for a Clos architecture network provided in the embodiments of this application. This signaling scheduling method for a Clos architecture network is applied to a Clos architecture network, such as the first OM in the Clos architecture network. The signaling scheduling method for the Clos architecture network may include:
[0093] S201. Receive request signaling sent by the first IM in the Clos architecture network. The request signaling indicates the actual amount of signaling request data.
[0094] In this embodiment, the first OM is any OM on the OM side of the Clos architecture network, and the first OM receives the request signaling sent by the first IM.
[0095] The first IM is any IM on the IM side in the Clos architecture network, and the first IM sends a request signaling to the first OM.
[0096] Understandably, the first IM needs to send data to the first OM. Before sending the data, the first IM sends a request signaling to the first OM to confirm whether the first OM supports the first IM sending data to the first OM. After the first OM confirms that it supports the first IM sending data, it will send a response signaling to the first IM, and then the first IM sends the data to the first OM.
[0097] The first IM sends a request signaling message to the first OM. This request signaling message will pass through the CM of the Clos architecture network and then reach the first OM.
[0098] The request signaling indicates the actual signaling request data amount, which represents the amount of data that the first IM requests to send to the first OM. That is, the actual signaling request data amount is the amount of data that the first IM sends to the first OM after receiving the response signaling.
[0099] In one embodiment, the data that the first IM needs to send to the first OM is referred to as the data to be sent, and the actual signaling request data volume is the data volume of the data to be sent.
[0100] In some embodiments, the request signaling further indicates a data segment of data to be sent to the first OM. When there are multiple request signalings, the data segment indicated by each request signaling can be used to allow the first IM to send data in response to a certain request signaling. After the first IM that issued the request signaling supports sending data, it sends the data segment corresponding to the request signaling.
[0101] In some embodiments, the first IM receives terminal data, which may include, but is not limited to, data from the business terminal, data from the client terminal, data from the server terminal, etc., without specific limitations here.
[0102] The first IM receives data from the terminal side, which instructs the first IM to send data to the first OM. The first IM then sends a request signaling to the first OM.
[0103] S202. Determine the amount of data that the first IM is allowed to send based on the number of path connections between the first IM and the first OM and the actual amount of signaling request data.
[0104] After receiving the request signaling, the first OM determines the amount of data that the first IM is allowed to send based on the number of path connections between the first IM and the first OM and the actual amount of signaling request data.
[0105] It is understandable that the number of path connections between the first IM and the first OM can include both cases where there are no path failures between the first IM and the first OM and cases where there are path failures between the first IM and the first OM.
[0106] The number of path connections between the first IM and the first OM may differ, and the amount of data that the first IM is allowed to send may also differ. Therefore, the amount of data that the first OM is allowed to send to the first IM is controlled based on the actual connectivity in the Clos architecture network.
[0107] In one embodiment, the amount of data that the first IM can send can be determined by the bandwidth of the first OM under fault-free conditions and the amount of data required for the first OM to support receiving the data sent by the first IM under the current actual connectivity conditions.
[0108] In one embodiment, the amount of data required for the first OM to receive data sent by the first IM is considered as the amount of data that the first OM needs to deduct from the amount of data sent by the first IM to receive data sent by the first IM.
[0109] In some embodiments, the number of path connections between the first IM and the first OM is different, and the amount of data to be deducted is also different.
[0110] In some embodiments, the amount of data to be deducted is determined based on the current number of path connections between the first IM and the first OM and the actual amount of signaling request data. The amount of data that the first IM is allowed to send is determined based on the bandwidth of the first OM under fault-free conditions and the amount of data to be deducted.
[0111] It is understandable that the current number of path connections between the first IM and the first OM is related to whether there is a fault in the path between the first IM and the first OM. If there is no fault in the path between the first IM and the first OM, then the current number of path connections between the first IM and the first OM is the same as the number of path connections between the first IM and the first OM under fault-free conditions.
[0112] If a path failure occurs between the first IM and the first OM, the current number of path connections between the first IM and the first OM is less than the number of path connections between the first IM and the first OM when there is no failure.
[0113] Understandably, the amount of data that the first IM is allowed to send is a noun, and in some embodiments, it does not actually indicate that the first IM can only send data of the numerical value corresponding to the amount of data that the first IM is allowed to send.
[0114] The amount of data that the first IM is allowed to send is used to indicate whether the first OM can support the first IM sending data to the first OM.
[0115] S203, Send a response signal to the first IM.
[0116] In some embodiments, if the amount of data that the first IM is allowed to send is a non-negative number, it means that the first OM allows (supports) the first IM to send data to the first OM, and in this case, a response signaling can be sent to the first IM.
[0117] In other embodiments, if the amount of data that the first IM is allowed to send is negative, it means that the current bandwidth of the first OM is insufficient to support receiving the data sent by the first IM. In this case, no response signaling is sent, and the system waits for the next unit of time to calculate the amount of data that the first IM is allowed to send in the next unit of time. This continues until the amount of data that the first IM is allowed to send in a certain unit of time is non-negative, at which point a response signaling is sent to the first IM.
[0118] Understandably, the amount of data that the first IM is allowed to send is calculated per unit time. The amount of data that the first IM is allowed to send per unit time is determined based on the number of path connections between the first IM and the first OM and the actual amount of signaling request data within a certain unit time. If the amount of data that the first IM is allowed to send per unit time is negative, then the amount of data that the first IM is allowed to send per unit time is calculated in the next unit time.
[0119] In this embodiment, the response signaling can instruct the first OM to allow the first IM to send data.
[0120] In some embodiments, after receiving the response signaling, the first IM triggers a step of determining the amount of data that the first IM can send based on the number of path connections between the first IM and the first OM and the actual amount of signaling request data.
[0121] If the amount of data that the first IM can send indicates that the first IM is allowed to send data to the first OM, then the data is sent to the first OM, and the data sent to the first OM also reaches the first OM through the CM.
[0122] The signaling scheduling method for the Clos architecture network disclosed in this embodiment determines the amount of data that the first IM is allowed to send based on the number of path connections between the first IM and the first OM and the actual amount of signaling request data after the first OM receives the request signaling from the first IM. Thus, when the number of path connections between the first IM and the first OM in the Clos architecture network changes, the corresponding amount of data that the first IM is allowed to send may also change. This controls whether the first OM allows the first IM to send data based on the actual connectivity in the Clos architecture network, effectively avoiding data congestion. It can be applied to scenarios in the Clos architecture network where faults cause some paths to be disconnected.
[0123] In some embodiments, step S202 may include:
[0124] Step S2010: Determine the amount of data to be deducted based on the current number of path connections between the first IM and the first OM and the actual amount of signaling request data.
[0125] In this embodiment, the amount of data to be deducted is the amount of data required by the first OM to receive the first IM when the first IM and the first OM are currently connected.
[0126] Understandably, the amount of data to be deducted varies depending on the connectivity between the first IM and the first OM. For example, if there is a fault between the first IM and the first OM, the current number of path connections between the first IM and the first OM will be lower than the maximum number of path connections between the first IM and the first OM. For the same actual signaling request data volume, the amount of data to be deducted will increase compared to the case where there is no fault between the first IM and the first OM, in order to meet the signaling scheduling requirements.
[0127] In one embodiment, the existence of a fault between the first IM and the first OM can include three cases: a fault path between the first IM and the CM, a fault path between the first OM and the CM, and a fault path between both the first IM and the CM.
[0128] In some embodiments, the path between the first OM and the first IM includes the path between the first OM and the CM side and the path between the CM side and the first IM.
[0129] Therefore, the current number of paths connected between the first IM and the first OM is generally the number of paths between the first OM and the first IM under fault-free conditions minus the number of lost links. The number of lost links refers to the reduction in the number of connectable paths from the sender (first IM) to the receiver (first OM) due to faulty links.
[0130] In some embodiments, both the IM and the OM generate and maintain a reachability list locally based on network link interoperability detection. This reachability list is used to characterize the path connectivity from the local IM / OM to each CM on the CM side, and from each CM on the CM side to the peer OM / IM. For example, the reachability list stored locally by the first IM may include the number of path connections from the local first IM to each CM, and the number of path connections from each CM to the first OM. It may also include the number of path connections from each CM to other OMs.
[0131] The number of paths currently connected between the first IM and the first OM can be obtained from this reachability list.
[0132] In some embodiments, the number of first path connections between the first IM and each CM and the number of second path connections between the first OM and each CM are obtained; the path connection with the smaller number between the first path connection and the second path connection for each CM is taken as the third path connection for the corresponding CM; the third path connection for each CM is summed to obtain the target path connection number, which is the current path connection number between the first IM and the first OM; and the amount of data to be deducted is determined based on the target path connection number and the actual signaling request data volume.
[0133] In this embodiment, the number of first path connections between the first IM and each CM, and the number of second path connections between the first OM and each CM can be obtained from the reachability list currently maintained locally by the first OM or the reachability list currently maintained locally by the first IM, thereby obtaining the number of first path connections and the number of second path connections for each CM.
[0134] For Clos architecture networks, symmetry needs to be maintained. Therefore, for a CM, the number of paths connected to the first IM and the first OM should be the same. In this case, for the same CM, according to the principle of taking the minimum value, the smaller of the number of the first path connections and the number of the second path connections is determined as the number of the third path connections for each CM.
[0135] Understandably, for the same CM, if neither the path connecting the first IM of the CM nor the path connecting the first OM of the CM is faulty, then the number of first path connections and the number of second path connections of the CM should be the same. If the path connecting the first IM of the CM and / or the path connecting the first OM of the CM is faulty, then the smaller of the number of first path connections and the number of second path connections is determined as the number of third path connections for each CM.
[0136] The number of third-path connections for each CM is summed to obtain the target number of path connections, which is the current number of path connections between the first IM and the first OM.
[0137] The maximum number of path connections is the sum of the number of path connections from the first IM or the first OM to each CM when there is no fault in the path between the first IM and the first OM.
[0138] Assumption Figure 1b In the Clos architecture, with N OMs, M CMs, and N IMs, the maximum number of connections from each IM to each CM is 4, and the maximum number of connections from each CM to each IM is 4. If... Figure 1b If there are no faulty links between IM and CM, and between CM and OM, then the maximum number of path connections = the maximum number of connections * the number of CMs = 4 * M.
[0139] Figure 1b The middle arrow indicates the data flow direction; data is transmitted from the IM to the CM, and then from the CM to the OM. In some embodiments, the number of lost links is obtained by subtracting the target path connectivity from the maximum path connectivity between the first IM and the first OM.
[0140] In this embodiment of the application, when there is no fault in the path between the first IM and the first OM, the number of path connections from the first IM to each CM is the same as the number of path connections from the first OM to each corresponding CM.
[0141] The following example illustrates how to determine the number of lost links:
[0142] In one embodiment, for Figure 1b In the Clos architecture, with N OMs, M CMs, and N IMs, the reachability list of IM-1, the maximum number of paths connected between an IM and each CM is 'a', and the maximum number of paths connected between each CM and each OM is also 'a'. Figure 1bThere are no faulty links between IM and CM, and between CM and OM. As shown in Table 1, which is the reachability list of IM-1, it includes the number of connected paths from IM-1 to each CM (including CM-1 to CM-M), and the number of connected paths from each CM to each OM (including OM-1 to OM-N). Therefore, the maximum number of connected paths between IM-1 and OM-1 is a + a + ... + a = M * a. The specific calculation process is as follows: the value in the IM-1 column (sender) and the value in the OM-1 column (receiver) corresponding to the same CM are compared, and the smaller value is taken and then added together.
[0143] IM-1 OM-1 OM-2 OM-3 … OM-N CM-1 a a a a a CM-2 a a a a a … … … … … … … CM-M a a a a a
[0144] Table 1
[0145] In one embodiment, such as Figure 1b As shown, when a faulty link occurs between IM-1 and CM-1, the reachability list in IM-1 will be updated, as shown in Table 2. The updated reachability list of IM-1 shows the number of path connections from IM-1 to CM-1 updated to a-1. When calculating the number of target path connections between IM-1 and OM-1, the number of path connections from IM-1 to each CM and the number of path connections from each CM to OM-1 are obtained from the reachability list of IM-1. To ensure symmetry, even if CM-1... There are no faulty links between CM-1 and OM-1, meaning the number of path connections between CM-1 and OM-1 is 'a'. Since the number of path connections from IM-1 to CM-1 is 'a-1', we take the minimum of 'a-1' between IM-1 and CM-1 and between CM-1 and OM-1 as the third path connection count for CM-1. Therefore, when there is one faulty link between CM-1 and IM-1, the target path connection count between IM-1 and OM-1 is: a-1 + a + ... + a = M * a-1. Thus, the final number of lost links between IM-1 and OM-1 is 1.
[0146] IM-1 OM-1 OM-2 OM-3 … OM-N CM-1 a-1 a a a a CM-2 a a a a a … … … … … … … CM-M a a a a a
[0147] Table 2
[0148] Faults between the first OM and the first IM can include three scenarios: a fault in the link between IM and CM (i.e., the link between the first IM and the CM side), and / or a fault in the link between CM and OM (i.e., the link between the CM side and the first OM).
[0149] Furthermore, when only the link between IM and CM fails between the first OM and the first IM, the number of lost links is equal to the number of links that fail between IM and CM; when only the link between CM and OM fails between the first OM and the first IM, the number of lost links is equal to the number of links that fail between CM and OM.
[0150] Otherwise, the number of lost links is obtained by subtracting the number of target path connections from the maximum number of path connections between the first IM and the first OM, using the method described above.
[0151] In some embodiments, a deduction coefficient is determined based on the target path connectivity number and the maximum path connectivity number, where the maximum path connectivity number is the number of path connections between the first IM and the first OM under fault-free conditions; and the amount of data to be deducted is determined based on the actual signaling request data volume and the deduction coefficient.
[0152] The deduction coefficient can be obtained through a preset relationship between the number of connected paths in the target path and the number of connected paths in the maximum path. Generally speaking, the closer the number of connected paths in the target path is to the number of connected paths in the maximum path, the closer the deduction coefficient is to 1. Thus, the deduction coefficient can be determined through the preset relationship between the number of connected paths in the target path and the number of connected paths in the maximum path.
[0153] In one embodiment, the deduction factor = maximum path connectivity / (maximum path connectivity - number of lost links) = maximum path connectivity / target path connectivity.
[0154] In some embodiments, the actual signaling request data volume is multiplied by a deduction factor to obtain the data volume to be deducted.
[0155] In another embodiment, for packet switching, since the packet length is variable, a private header needs to be added during the IM to OM process under certain conditions. After adding a private header of a fixed length, the bandwidth expansion within the network is uneven. When the acceleration within the network is relatively low, such as close to or even lower than 1, if scheduling is performed according to the original packet length, it is easy to have low bandwidth utilization within the network (reserving enough redundancy for small byte packets) or abnormal packet loss (reserving less redundancy for large packets).
[0156] In this embodiment, for the scenario of adding a private header, the amount of data to be deducted is determined based on the actual signaling request data volume, the private header data volume, and the deduction coefficient. That is, the sum of the actual signaling request data volume and the private header data volume is multiplied by the deduction coefficient to obtain the amount of data to be deducted.
[0157] In one embodiment, the bandwidth of the first OM under fault-free conditions includes the bandwidth of the ingress port group of the first OM, and the amount of data to be deducted includes a second amount of data to be deducted corresponding to the bandwidth of the outgress port of the first OM and a first amount of data to be deducted corresponding to the bandwidth of the ingress port group of the first OM.
[0158] In scenarios where a private header is added, when the first OM receives data sent by the first IM, the data received by the first OM's ingress port group includes the private header. However, when the first OM's egress port sends the data sent by the first IM, the sent data does not include the private header. Furthermore, the data sent by the first OM's egress port is unrelated to faults in the Clos architecture network. Therefore, regardless of whether a fault occurs in the Clos architecture network, the first OM's egress port only needs to deduct the actual signaling request data volume. Based on the actual signaling request data volume, the second data volume to be deducted corresponding to the bandwidth of the first OM's egress port is determined. Based on the actual signaling request data volume, the private header data volume, and the deduction coefficient, the first data volume to be deducted corresponding to the bandwidth of the first OM's ingress port group is determined.
[0159] Understandably, when determining whether the first OM supports the first IM in sending data, it should be determined whether the bandwidth of the ingress port group of the first OM supports receiving the data sent by the first IM, and whether the bandwidth of the egress port supports forwarding the data sent by the first IM.
[0160] The second amount of data to be deducted is essentially the amount of data requested for signaling.
[0161] Understandably, the output port of the first OM is determined. When the first IM sends a request signaling, the request signaling indicates the output port of the first OM. The output port of the first OM is the path port of the Clos architecture network from which the data sent by the first IM to the first OM (the aforementioned data to be sent) needs to flow out of the Clos architecture network through a certain path of the first OM.
[0162] Step S2011: Based on the bandwidth of the first OM under fault-free conditions and the amount of data to be deducted, determine the amount of data that the first IM is allowed to send.
[0163] In some embodiments, the amount of data to be deducted is the amount of data required by the first OM to receive the first IM when the first IM and the first OM are connected. Based on the bandwidth of the first OM under fault-free conditions and the amount of data to be deducted, the amount of data that the first IM is allowed to send is determined. Thus, by using the amount of data that the first IM is allowed to send, it is determined whether the first OM can support the first IM to send data.
[0164] In some embodiments, when determining whether the first OM supports sending data to the first IM, it should be determined whether the bandwidth of the ingress port group of the first OM supports receiving the data sent by the first IM, and whether the bandwidth of the egress port supports forwarding the data sent by the first IM.
[0165] The bandwidth of the first OM under fault-free conditions may include the bandwidth of the input port group of the first OM. The maximum amount of input data of the first OM per unit time is determined based on the bandwidth of the input port group of the first OM, and the maximum amount of data sent by the first OM per unit time is determined based on the bandwidth of the output port of the first OM.
[0166] In one embodiment, under fault-free conditions, the maximum total amount of input data and the maximum total amount of transmitted data of the first OM per unit time are determined; the smaller of the maximum total amount of input data and the maximum total amount of transmitted data is taken as the maximum total amount of data that can be received. This maximum total amount of data that can be received is regarded as the receiving capability of the first OM per unit time under fault-free conditions. It can be understood that if the data obtained after subtracting the amount of data to be deducted from the receiving capability of the first OM per unit time under fault-free conditions is a non-negative number, it can be regarded as the first OM supporting the reception of data sent by the first IM and being able to send response signaling to the first IM.
[0167] In some embodiments, if the data obtained after subtracting the amount of data to be deducted from the receiving capacity of the first OM per unit time under fault-free conditions is a non-zero and non-negative number, it indicates that the current bandwidth of the first OM is sufficient to receive the data sent by the first IM, and there is bandwidth margin; if the data obtained after subtracting the amount of data to be deducted from the receiving capacity of the first OM per unit time under fault-free conditions is zero, it indicates that the current bandwidth of the first OM is just sufficient to receive the data sent by the first IM, and there is no bandwidth margin.
[0168] In other embodiments, the maximum total amount of input data of the first OM per unit time is determined based on the bandwidth of the ingress port group of the first OM, and a first allowed data amount of the ingress port group of the first OM is determined based on the maximum total amount of input data of the first OM per unit time and the amount of data to be deducted; the maximum total amount of data sent by the first OM per unit time is determined based on the bandwidth of the egress port of the first OM, and a second allowed data amount of the egress port of the first OM is determined based on the maximum total amount of data sent by the first OM per unit time and the amount of data to be deducted; the amount of data that the first IM is allowed to send is determined based on the values of the first allowed data amount and the second allowed data amount.
[0169] In this embodiment, the reception reduction of the first OM is performed based on the bandwidth of the ingress port group of the first OM and the amount of data to be reduced. The maximum total amount of input data of the first OM in a unit time is determined according to the bandwidth of the ingress port group of the first OM, and the first allowed data amount of the ingress port group of the first OM is determined according to the maximum total amount of input data of the first OM in a unit time and the amount of data to be reduced.
[0170] In one embodiment, the first allowed data amount of the first OM is obtained by subtracting the amount of data to be deducted from the maximum total amount of input data of the first OM per unit time.
[0171] Based on the bandwidth of the output port of the first OM and the amount of data to be deducted, the transmission reduction of the first OM is performed. The maximum total amount of data that the first OM can transmit per unit time is determined according to the bandwidth of the output port of the first OM. Based on the maximum total amount of data that the first OM can transmit per unit time and the amount of data to be deducted, the second allowed data amount of the output port of the first OM is determined.
[0172] The amount of data deducted from the output port of the first OM is the actual amount of signaling request data.
[0173] In one embodiment, the maximum total amount of data sent by the first OM per unit time is reduced by the amount of data to be deducted to obtain the second allowed data amount of the output port of the first OM.
[0174] Understandably, in scenarios with private headers, the first allowed data amount is the sum of the maximum total input data of the first OM per unit time and the first amount of data to be deducted. That is, the first allowed data amount is the sum of the maximum total input data of the first OM per unit time minus the first amount of data to be deducted.
[0175] In some embodiments, if the first allowed data amount is non-negative, it indicates that the bandwidth of the ingress port group of the first OM can receive data sent by the first IM. If the second allowed data amount is non-negative, it indicates that the bandwidth of the egress port of the first OM can receive data sent by the first IM. That is, it indicates that the bandwidth of the egress port of the first OM can transmit the data received by the first OM from the first IM. It can be understood that when the first allowed data amount and the second allowed data amount are both non-negative, the allowed data amount to be sent by the first IM is non-negative, and at this time, the first OM sends a response signaling to the first IM. In other embodiments, the smaller of the first allowed data amount and the second allowed data amount is taken as the allowed data amount to be sent by the first IM. If the allowed data amount to be sent by the first IM is non-negative, it indicates that the bandwidth of the egress port and the ingress port group of the first OM can receive data sent by the first IM.
[0176] The smaller of the first allowed data amount and the second allowed data amount is taken as the data amount that the first IM is allowed to send. If the data amount that the first IM is allowed to send is non-negative at this time, it means that both the first allowed data amount and the second allowed data amount are non-negative. This can be regarded as the bandwidth of the output port of the first OM being able to receive the data sent by the first IM and the bandwidth of the input port group of the first OM being able to receive the data sent by the first IM. The first OM sends a response signaling to the first IM.
[0177] In some embodiments, after receiving the request signaling, the output port of the first OM first determines the second allowed data amount. When the second allowed data amount is non-negative, it then determines the first allowed data amount. If the first allowed data amount is non-negative, it sends a response signaling to the first IM.
[0178] In other embodiments, the first OM receives multiple request signaling messages, which may be sent by the first IM or by other IMs. Based on the arrival time of each request signaling message, the following steps are performed on each request signaling message: Figure 2 In the process shown, if the amount of data that the first IM is allowed to send corresponding to the current processing request signaling is a non-negative number, a response signaling is sent to the IM that issued the current processing request signaling, indicating that the IM that issued the current processing request signaling can send the data segment corresponding to the request signaling. After the IM that issued the current processing request signaling confirms that it can send the corresponding data segment, it sends the data segment to the first OM.
[0179] In other embodiments, if the amount of data that the first IM is allowed to send corresponding to the currently processed request signaling is a non-negative number, such as the second allowed data amount being negative, or the second allowed data amount being non-negative and the first allowed data amount being negative, then it indicates that the data segment corresponding to the currently processed request signaling cannot be sent to the first IM, and no corresponding response signaling is fed back, and the next request signaling is processed.
[0180] The signaling scheduling method for the Clos architecture network proposed in this embodiment determines the amount of data that IM and OM need to deduct during the IM-OM transmission process through signaling control. This enables stable and effective control of data transmission between IM and OM, thereby achieving convergence of transmitted and received data volume and efficient bandwidth utilization. The amount of data to be deducted is related to the presence of faulty links in the Clos architecture network. Thus, when a fault occurs in the Clos architecture network, IM and OM can effectively achieve convergence of transmitted and received data volume, reducing the scope of the fault's impact. At the same time, it avoids the use of backpressure technology, making it easier to decouple IM / OM devices from CM devices, reducing the complexity of CM devices and the requirements for CM devices.
[0181] Figure 3This is another flowchart illustrating the signaling scheduling method for a Clos architecture network provided in this application embodiment. This signaling scheduling method for a Clos architecture network is applied to a Clos architecture network, such as a first IM in the Clos architecture network. The signaling scheduling method for the Clos architecture network may include:
[0182] S301. Send a request signaling message to the first OM in the Clos architecture network. The request signaling message indicates the actual amount of signaling request data.
[0183] The actual signaling request data volume represents the amount of data that the first IM requests to be sent to the first OM.
[0184] Understandably, the request signaling also instructs the first IM to send the data segment corresponding to the data requested by the first OM, so that after the first OM confirms that the data is allowed to be sent, it can determine the received data segment, and the first IM can confirm the data segment corresponding to the data that the first OM allowed to be sent.
[0185] S302, Receive the response signaling from the first OM.
[0186] The response signaling is sent by the first OM after determining the amount of data that the first IM is allowed to send. The amount of data that the first IM is allowed to send is determined by the first OM based on the number of path connections between the first IM and the first OM and the actual amount of data requested by the signaling.
[0187] Understandably, when the amount of data allowed for the first IM to send is non-negative, the first OM sends a response signaling to the first IM. This response signaling reaches the first IM through the CM. The method for determining the amount of data allowed for the first IM to send can be found in [reference needed]. Figure 2 Related embodiments will not be described in detail here.
[0188] The response signaling indicates that the first IM can send the data containing the data segment indicated by the request signaling.
[0189] S303. Determine the amount of data that the first IM can send based on the number of path connections between the first IM and the first OM and the actual amount of signaling request data.
[0190] When the first IM receives the response signaling, it determines that the first OM can receive the data sent by the first IM. At this time, the first IM determines whether it can send data and determines the amount of data that the first IM can send, thereby determining whether the bandwidth of the first IM itself can send the data corresponding to the actual data size requested by the signaling.
[0191] The number of path connections between the first IM and the first OM may differ, and the amount of data that the first IM can send may also differ. Therefore, the amount of data that the first IM can send is controlled based on the actual connectivity in the Clos architecture network.
[0192] In one embodiment, the amount of data that the first IM can send can be determined by the bandwidth of the first IM under fault-free conditions and the amount of data required for the first IM to send data under the current actual connectivity conditions.
[0193] Understandably, the amount of data required for the first IM to send data is considered as the amount of data to be deducted from the amount of data sent by the first IM.
[0194] In some embodiments, the amount of data to be deducted is determined based on the current number of path connections between the first IM and the first OM and the actual amount of signaling request data; the amount of data that the first IM can send is determined based on the bandwidth of the first IM under fault-free conditions and the amount of data to be deducted.
[0195] S304. Send data to the first OM according to the amount of data that the first IM can send.
[0196] In this embodiment, if the amount of data that the first IM can send indicates that the first IM supports sending data, then data can be sent to the first OM. If the amount of data that the first IM can send indicates that the first IM does not support sending data, then data will not be sent to the first OM for the time being.
[0197] Understandably, the amount of data that the first IM can send is similar to the amount of data allowed to be sent by the first IM, which is the result calculated per unit time. If the amount of data allowed to be sent by the first IM in a certain unit time is negative, it means that the current bandwidth of the first IM is insufficient to support the first IM to send data. At this time, no data is sent, and the first IM waits for the next unit time to calculate the amount of data that the first IM can send in the next unit time, until the amount of data that the first IM can send calculated in a certain unit time is non-negative, and then the first IM sends data.
[0198] The signaling scheduling method for the Clos architecture network disclosed in this embodiment determines the amount of data that the first IM can send based on the number of path connections between the first IM and the first OM and the actual amount of signaling request data after the first IM receives the response signaling from the first OM. Thus, when the number of path connections between the first IM and the first OM in the Clos architecture network changes, the corresponding amount of data that the first IM can send may also change. This allows for control of the data transmission of the first IM based on the actual connectivity in the Clos architecture network, effectively avoiding data congestion. This method can be applied to scenarios in the Clos architecture network where faults cause some paths to be disconnected.
[0199] In some embodiments, step S303 may include:
[0200] S3031. Determine the amount of data to be deducted based on the current number of path connections between the first IM and the first OM and the actual amount of signaling request data.
[0201] In this embodiment, the amount of data to be deducted is the amount of data required for the first IM to send data when the first IM and the first OM are currently connected.
[0202] Understandably, for the first IM and the first OM, in the Clos architecture network, if the number of current path connections of the first IM and the first OM is the same, then the amount of data to be deducted is the same. It can also be regarded that in the process of the first IM sending data to the first OM, the amount of data to be deducted by the first IM and the first OM is the same.
[0203] Therefore, the method for determining the amount of data to be deducted in step S3031 can refer to step S2010, and will not be repeated here.
[0204] In some embodiments, the Clos architecture network includes at least one CM; obtaining the first path connectivity count between the first IM and each CM and the second path connectivity count between the first OM and each CM; taking the path connectivity count that is less than the first path connectivity count and the second path connectivity count corresponding to each CM as the third path connectivity count of the corresponding CM; summing the third path connectivity counts of each CM to obtain the target path connectivity count, which is the current path connectivity count between the first IM and the first OM; determining the amount of data to be deducted based on the target path connectivity count and the actual signaling request data volume.
[0205] In this embodiment, the path between the first OM and the first IM includes the path between the first OM and the CM side and the path between the CM side and the first IM. The number of lost links refers to the reduction in the number of connectable paths from the sender (first IM) to the receiver (first OM) due to faulty links.
[0206] The first IM also generates and maintains a reachability list locally based on network link interoperability detection. Based on this locally maintained reachability list, the first IM obtains the number of first path connections between itself and each CM, and the number of second path connections between itself and each CM. For the same CM, following the principle of taking the minimum value, the smaller of the first and second path connections is determined as the number of third path connections for each CM. The third path connections are then summed to obtain the current target path connection count between the first IM and the first OM.
[0207] In this embodiment, the number of lost links is obtained by subtracting the number of target path connections from the maximum number of path connections between the first IM and the first OM.
[0208] In this embodiment of the application, when there is no fault in the path between the first IM and the first OM, the number of path connections from the first IM to each CM is the same as the number of path connections from the first OM to each corresponding CM.
[0209] The following example illustrates how to determine the number of lost links:
[0210] For example, suppose Figure 1b and Figure 1c In the Clos architecture, with N OMs, M CMs, and N IMs, the reachability list of IM-1 has a maximum path connectivity of 'a' between each IM and each CM, and a maximum path connectivity of 'a' between each CM and each OM. If... Figure 1b and Figure 1c There are no faulty links between IM and CM, and between CM and OM, as shown in Table 1 above. The maximum number of connected paths between IM-1 and OM-1 is a + a + ... + a = M * a. The specific calculation process is as follows: the value in the IM-1 column (sender) and the value in the OM-1 column (receiver) corresponding to the same CM are compared and the smaller value is taken, and then they are added together.
[0211] Figure 1c The middle arrow indicates the data flow direction; data is transmitted from IM to CM, and then from CM to OM.
[0212] Referring to Table 3, which shows the reachability list of IM-1 in a Clos architecture in one embodiment, the Clos architecture includes N OMs, M CMs, and N IMs. When there is one failed link between IM-1 and CM-1, one failed link between IM-1 and CM-2, and one failed link between CM-1 and OM-1, the number of connected target paths between IM-1 and OM-1 is: a-1 + a-1 + ... + a = M * a-2. Therefore, the final number of lost links between IM-1 and OM-1 is 2.
[0213] IM-1 OM-1 OM-2 OM-3 … OM-N CM-1 a-1 a-1 a a a CM-2 a-1 a a a a … … … … … … … CM-M a a a a a
[0214] Table 3
[0215] Understandably, when only the link between IM and CM fails between the first OM and the first IM, the number of lost links is the number of links that fail between IM and CM; when only the link between CM and OM fails between the first OM and the first IM, the number of lost links is the number of links that fail between CM and OM; otherwise, the number of lost links is obtained by subtracting the number of target path connections from the maximum number of path connections between the first IM and the first OM, as described above.
[0216] In some embodiments, a deduction coefficient is determined based on the target path connectivity number and the maximum path connectivity number, where the maximum path connectivity number is the number of path connectivity numbers between the first IM and the first OM under fault-free conditions; the amount of data to be deducted is obtained based on the actual signaling request data volume and the deduction coefficient, or the amount of data to be deducted is obtained based on the actual signaling request data volume, the private header data volume, and the deduction coefficient.
[0217] The deduction factor can be obtained through a preset relationship between the number of target path connections and the number of maximum path connections. In one embodiment, the deduction factor = the number of maximum path connections / (the number of maximum path connections - the number of lost links) = the number of maximum path connections / the number of target path connections.
[0218] In some embodiments, the actual signaling request data volume is multiplied by a deduction factor to obtain the data volume to be deducted.
[0219] In other embodiments, for scenarios with private headers, the sum of the actual signaling request data volume and the private header data volume is multiplied by a deduction factor to obtain the data volume to be deducted.
[0220] Understandably, the first IM is different from the first OM. The first OM needs to calculate the second allowed data volume of the output port and the first allowed data volume of the input port group, while the first IM does not involve data reception. Therefore, only the data volume that the first IM can send is calculated.
[0221] Therefore, in the case of a private header scenario, the amount of data to be deducted required to calculate the amount of data that the first IM can send is obtained based on the actual signaling request data amount, the private header data amount, and the deduction coefficient. If there is no private header scenario, the amount of data to be deducted required to calculate the amount of data that the first IM can send is obtained based on the actual signaling request data amount and the deduction coefficient. Unlike the first OM, in the case of a private header, the outgoing port and the incoming port are not distinguished to determine different amounts of data to be deducted.
[0222] In some embodiments, in the signaling scheduling method of the Clos architecture network, the first calculation is performed to determine whether the first OM egress meets the deduction requirement, i.e., whether the bandwidth of the first OM egress allows the forwarding of the actual signaling request data volume, i.e., whether the second allowed data volume is non-negative. If it is non-negative, the calculation is then performed to determine whether the first OM ingress port group meets the deduction requirement, i.e., whether the first allowed data volume is non-negative. If it is non-negative, the calculation is then performed to determine whether the first IM egress port group meets the deduction requirement, i.e., whether the first IM can send data volume is non-negative. If it is non-negative, data is sent to the first OM. During this execution process, if any of the second allowed data volume, the first allowed data volume, or the first IM can send data volume is negative, the execution is terminated.
[0223] S3032. Based on the bandwidth of the first IM under fault-free conditions and the amount of data to be deducted, determine the amount of data that the first IM can send.
[0224] In some embodiments, the amount of data to be deducted is the amount of data required for the first IM to send data when the first IM and the first OM are connected. Based on the bandwidth of the first IM under fault-free conditions and the amount of data to be deducted, the amount of data that the first IM can send is determined, and thus, based on the amount of data that the first IM can send, it is determined whether the first IM can send data.
[0225] In some embodiments, when determining whether the first IM can send data, it should be determined whether the bandwidth of the port group of the first IM supports sending data for the first IM.
[0226] The bandwidth of the first IM under fault-free conditions may include the bandwidth of the output port group of the first IM, and the maximum amount of data that the first IM can send per unit time is determined based on the bandwidth of the output port group of the first IM.
[0227] In one embodiment, the maximum amount of data that the first IM can send per unit time is determined under fault-free conditions; the maximum amount of data that the first IM can send per unit time is taken as the maximum amount of data that can be received. This maximum amount of data that can be received is regarded as the receiving capacity of the first IM per unit time under fault-free conditions. It can be understood that if the data obtained after subtracting the amount of data to be deducted from the receiving capacity of the first IM per unit time under fault-free conditions is a non-negative number, it can be regarded as the first IM supporting the sending of data, and data can be sent to the first IM.
[0228] In other embodiments, the bandwidth of the first IM under fault-free conditions includes the bandwidth of the output port group of the first IM; the maximum total amount of data that the first IM can send per unit time is determined based on the bandwidth of the output port group of the first IM, and the amount of data that the first IM can send is obtained based on the maximum total amount of data sent and the amount of data to be deducted.
[0229] In this embodiment, the transmission of the first IM is reduced based on the bandwidth of the output port group of the first IM and the amount of data to be reduced; based on the result of the reduction, the amount of data that the first IM can transmit is determined, and the amount of data to be reduced is subtracted from the maximum total output data to obtain the amount of data that the first IM can transmit.
[0230] In some embodiments, based on the maximum bandwidth of the output port group of the first IM, the maximum total amount of data output by the first IM per unit time under fault-free conditions is determined. The amount of data to be deducted is subtracted from the maximum total amount of output data to obtain the first transmittable data amount. When the first transmittable data amount is non-negative, it means that the bandwidth of the output port group of the first IM can support data transmission, and the first transmittable data amount can be determined as the transmittable data amount of the first IM. At this time, the transmittable data amount of the first IM is considered to be non-negative. Only when the first transmittable data amount is non-negative is the first transmittable data amount used as the transmittable data amount of the first IM. Otherwise, the first transmittable data amount for the next time unit is calculated until the first transmittable data amount is non-negative. The first transmittable data amount is then used as the transmittable data amount of the first IM. In this scenario, data is sent to the first OM when the transmittable data amount of the first IM is obtained.
[0231] In other embodiments, the amount of data to be deducted is subtracted from the maximum total output data to obtain the amount of data that the first IM can send. The amount of data that the first IM can send can be negative or non-negative. If the amount of data that the first IM can send is non-negative, it means that the bandwidth of the output port group of the first IM can support data transmission. At this time, data can be sent to the first OM. If the amount of data that the first IM can send is negative, it means that the bandwidth of the output port group of the first IM does not support data transmission at the current time. Then the amount of data that the first IM can send in the next time unit is calculated until the bandwidth of the output port group of the first IM can support data transmission.
[0232] In some embodiments, if the amount of data that the first IM can send is non-zero and non-negative, it means that the bandwidth of the output port group of the first IM can support the sending of data, and the bandwidth of the output port group of the first IM has a bandwidth margin; if the amount of data that the first IM can send is zero, it means that the bandwidth of the output port group of the first IM is just enough to support the sending of data, and the bandwidth of the output port group of the first IM has no bandwidth margin.
[0233] In other embodiments, when the amount of data that the first IM can send is a non-negative number, if the amount of data that the first IM can send indicates that the first IM is allowed to send data, then the number of first path connections between the IM and each CM and the number of second path connections between the first OM and each CM are obtained; the path connection number with the smaller number between the first path connection number and the second path connection number corresponding to each CM is taken as the third path connection number of the corresponding CM; the data allocation ratio between the third paths of each CM is determined according to the third path connection number of each CM; and the data is sent to the first OM through the corresponding CM based on the data allocation ratio.
[0234] In this embodiment, the first IM obtains the number of first path connections between the first IM and each CM, and the number of second path connections between each CM and the first OM, based on the locally maintained reachability list. For the same CM, the smaller of the number of first path connections and the number of second path connections is determined as the number of third path connections for each CM according to the minimum value principle. The ratio of the number of third path connections is determined as the data allocation ratio.
[0235] For example, when data is sent from the first IM to the first OM, the number of third path connections for CM-1, CM-2 and CM-3 are 3, 4 and 4 respectively; then the data allocation ratio of the first IM among CM-1, CM-2 and CM-3 is 3:4:4.
[0236] The first IM sends data of different amounts to the corresponding CM according to the data allocation ratio. However, for each CM, the IM load balances the data traffic sent to that CM across all connected paths within that CM.
[0237] The signaling scheduling method for the Clos architecture network proposed in this embodiment determines the amount of data that IM and OM need to deduct during the IM-OM transmission process through signaling control. This enables stable and effective control of data transmission between IM and OM, thereby achieving convergence of transmitted and received data volume and efficient bandwidth utilization. The amount of data to be deducted is related to the presence of faulty links in the Clos architecture network. Thus, when a fault occurs in the Clos architecture network, IM and OM can effectively achieve convergence of transmitted and received data volume, reducing the scope of the fault's impact. At the same time, it avoids the use of backpressure technology, making it easier to decouple IM / OM devices from CM devices, reducing the complexity of CM devices and the requirements for CM devices.
[0238] The following specific embodiments are combined with Figure 1b and Figure 1c The signaling scheduling method for the Clos architecture network provided in the embodiments of this application will be described in detail.
[0239] In one embodiment, when the IM-CM link fails: all paths are forwarded in a load-balanced manner at the packet granularity, with the aim of controlling the amount of data sent and received so that all links are not congested in a steady state.
[0240] refer to Figure 1b ,like Figure 1b As shown, one link in the IM-1 to CM-1 link failed. Through interoperability testing between forwarding nodes (IM, CM or OM), all forwarding nodes in the network recorded the problematic path and updated their local reachability lists for future use.
[0241] When IM-1 sends a request signaling to any OM, IM-1 requests a transmission permission based on the actual amount of data to be sent. After receiving the request signaling, the OM deducts the amount of data that IM-1 is allowed to send based on the fault conditions between IM-1 and OM. Specifically, assuming the actual data requested by IM-1 is X, and this data is sent to OM-1, OM-1 needs to deduct the data amount based on the fault conditions between IM-1 and OM-1. Specifically, the deduction is performed according to X * deduction coefficient = X * 4 * M / (4 * M - 1), and the deduction is performed in the deduction source to obtain the final amount of data that IM-1 is allowed to send. If the amount of data that IM-1 is allowed to send is non-negative, a response signaling is sent to OM-1. Here, the deduction source represents the receiving capacity of OM-1 per unit time under fault-free conditions. It can be the total amount of data that OM-1 can receive per unit time under fault-free conditions, or the bandwidth of the OM-1 under fault-free conditions.
[0242] After receiving the corresponding signaling response, IM-1 needs to control the total amount of data it sends. When applying for local exit signaling, assuming that the actual amount of signaling request data that IM-1 requests to send is X, and this local data is sent to OM-1, IM-1 will also deduct the amount according to X*4*M / (4*M-1). The deduction source is the total amount of data that IM-1 can send per unit time under fault-free conditions, which can be the bandwidth of IM-1 under fault-free conditions.
[0243] Suppose that IM-2 requests to send a data amount Y, which is sent to OM-1. Although there is no fault between IM-2 and OM-1, the amount of data that OM-1 can receive (corresponding to the amount of data that IM-1 is allowed to send) has been reduced. Therefore, OM-1 needs to determine the reduction coefficient based on the number of lost paths between IM-2 and OM-1, and reduce it according to Y*reduction coefficient = Y*4*M / (4*M-0) = Y, in the reduction source to obtain the final amount of data that IM-2 can send. Here, the reduction source represents the receiving capacity of OM-1 per unit time under fault-free conditions, which can be the total amount of data that OM-1 can receive per unit time under fault-free conditions, or the bandwidth of the OM-1 under fault-free conditions.
[0244] After receiving the corresponding signaling response, IM-2 needs to control the total amount of data it sends. When applying for local exit signaling, assuming that IM-2 requests to send a local data amount Y, and this local data is sent to OM-1, IM-2 deducts according to Y*4*M / (4*M-0)=Y. The deduction source is the total amount of data that IM-2 can send per unit time under fault-free conditions, which can be the bandwidth of IM-2 under fault-free conditions.
[0245] After IM ensures that the data sent does not exceed the forwarding bandwidth of its network side, IM-1 distributes the data sent to OM-1 to different CMs in a ratio of 3:4:...:4, and IM-2 distributes the data to OM-1 to different CMs in a ratio of 4:4:...:4, and load balance is achieved for all reachable paths from each CM to each OM.
[0246] See Figure 1c In one embodiment, when the CM-OM link ( Figure 1c The indicator indicates that a link between CM-1 and OM-1 has failed.
[0247] When any IM sends a request signaling to OM-1, the IM sends a permission request (request signaling) based on the actual data volume requested. After receiving the request signaling, OM-1 deducts the amount of data that IM-1 is allowed to send based on the fault conditions of IM and OM-1. Specifically, assuming that the amount of data requested by IM-1 is X, and this data is sent to OM-1, OM-1 needs to deduct the amount of data based on the fault conditions between IM-1 and OM-1. Specifically, the deduction is performed according to X * deduction coefficient = X * 4 * M / (4 * M - 1), and the deduction is performed in the deduction source to obtain the final amount of data that IM-1 is allowed to send. Here, the deduction source represents the receiving capacity of OM-1 per unit time under fault-free conditions, which can be the total amount of data that OM-1 can receive per unit time under fault-free conditions, or the bandwidth of OM-1 under fault-free conditions.
[0248] After receiving the corresponding signaling response, IM-1 needs to control the total amount of data it sends to the network and needs to apply for local exit signaling. Assuming that IM-1 requests to send X amount of local data, which is sent to OM-1, IM-1 will also deduct the amount according to X*4*M / (4*M-1). The deduction source is the total amount of data that IM-1 can send per unit time under fault-free conditions, which can be the bandwidth of IM-1 under fault-free conditions.
[0249] Assume that the amount of data Y sent by IM-1 to OM-2 is reduced. Although there is no fault between IM-1 and OM-2, the amount of data that IM-1 can send (corresponding to the amount of data allowed to be sent by IM-1) has been reduced. Therefore, the amount of data that OM-2 can receive is reduced by Y*4*M / (4*M)=Y. The source of the reduction is the total amount of data that OM-2 can receive per unit time under fault-free conditions, which can be the bandwidth of OM-2 under fault-free conditions.
[0250] After receiving the corresponding signaling response, IM-1 needs to control the total amount of data it sends to the network and needs to apply for local exit signaling. Assuming that the amount of local data that IM-1 requests to send is Y, and this local data is sent to OM-2, IM-1 deducts according to Y*4*M / (4*M)=Y. The deduction source is the total amount of data that IM-1 can send per unit time under fault-free conditions, which can be the bandwidth of IM-1 under fault-free conditions.
[0251] After ensuring that the data sent by the IM, the data received by the OM, and the forwarding of the data sent by the IM do not exceed the forwarding bandwidth of their respective networks, IM-1 sends the data to OM-1 to different CMs in a ratio of 3:4:...:4, and IM-1 sends the data to OM-2 to different CMs in a ratio of 4:4:...:4. Furthermore, IM achieves load balancing based on all reachable paths of a given CM (load balancing is achieved for all reachable paths from each CM to each OM).
[0252] For scenarios with private headers, the signaling scheduling method for Clos architecture networks can be:
[0253] Step 1: The terminal data is sent to the IM. The IM sends a signaling request to the OM according to the original message length. The original message length is the actual signaling request data volume of the terminal data.
[0254] Step 2: The OM requests an exit permission for the output port (egress port) in the corresponding OM scheduler according to the original message length, determines the amount of data allowed for the output port (i.e., the second allowed data amount), and if it is a non-negative number, whether to allow the output port to exit permission, proceed to step 3. If not allowed, the scheduler enters the next cycle and executes step 1 in a loop.
[0255] The process for determining the allowable data volume for the output port group can refer to the process for determining the first allowable data volume.
[0256] Step 3: The OM requests an IM-OM transmission permission within the OM scheduler based on the original message length plus the private header (a fixed-length message header defined by the private protocol). This original message length plus the private header length is the actual signaling request data amount plus the private header data amount. The amount of data allowed for IM to send is determined, i.e., the first allowed data amount. If the first allowed data amount is non-negative, it is considered that IM is allowed to send, and a response signaling is returned to IM to execute step 4. Otherwise, it is considered that the scheduler is not allowed to enter the next cycle to execute step 1 or step 3.
[0257] The specific process for determining the amount of data allowed to be sent by IM is the same as the process for determining the first allowed data amount in the above embodiment. The special feature is that the amount of data to be deducted is calculated based on the original message length plus the private header length.
[0258] Step 4: Upon receiving the response signaling, the IM requests an IM-OM transmission permission from the corresponding IM scheduler based on the original message length plus the private header length. The amount of data that the IM can send is determined, i.e., the amount of data that the first IM can send. If the amount of data that the first IM can send is non-negative, it is considered that data transmission is allowed; otherwise, it is considered that scheduling is not allowed to enter the next cycle to execute step 1 or step 3.
[0259] The specific process for determining the amount of data that an IM can send refers to the calculation process of the amount of data that the first IM can send in the above embodiment. The special feature is that the amount of data to be deducted is calculated based on the original message length plus the private header length.
[0260] This application provides a signaling scheduling device for a Clos architecture network, the structure of which is as follows: Figure 4a As shown, the first OM applied in a Clos architecture network includes:
[0261] The request signaling receiving module is used to receive request signaling sent by the first IM in the Clos architecture network. The request signaling indicates the actual signaling request data volume, and the actual signaling request data volume represents the amount of data that the first IM requests to send to the first OM.
[0262] The OM data volume acquisition module is used to determine the amount of data that the first IM is allowed to send based on the number of path connections between the first IM and the first OM and the actual signaling request data volume.
[0263] The response signaling sending module is used to send response signaling to the first IM.
[0264] In one possible implementation, the OM data acquisition module includes:
[0265] The first deduction data acquisition unit is used to determine the amount of data to be deducted based on the current number of path connections between the first IM and the first OM and the actual amount of signaling request data.
[0266] The IM data volume acquisition unit is used to determine the amount of data that the first IM can send based on the bandwidth of the first OM under fault-free conditions and the amount of data to be deducted.
[0267] In one possible implementation, the Clos architecture network includes at least one CM; the first deduction data acquisition unit includes:
[0268] The first path connectivity count acquisition module is used to obtain the first path connectivity count between the first IM and each CM and the second path connectivity count between the first OM and each CM;
[0269] The second path connectivity acquisition module is used to take the path connectivity number smaller than the first path connectivity number and the second path connectivity number corresponding to each CM as the third path connectivity number of the corresponding CM.
[0270] The first target number acquisition section is used to sum the number of third path connections of each CM to obtain the target path connection number, which is the current path connection number between the first IM and the first OM.
[0271] The first deduction data acquisition module is used to determine the amount of data to be deducted based on the number of connected target paths and the actual amount of signaling request data.
[0272] In one possible implementation, the first deduction data acquisition module includes:
[0273] The first deduction coefficient acquisition sub-module is used to determine the deduction coefficient based on the target path connectivity number and the maximum path connectivity number. The maximum path connectivity number is the number of path connections between the first IM and the first OM under fault-free conditions.
[0274] The first deduction data acquisition sub-module is used to determine the amount of data to be deducted based on the actual signaling request data volume and the deduction coefficient.
[0275] In one possible implementation, the bandwidth of the first OM under fault-free conditions includes the bandwidth of the ingress port group of the first OM, and the data amount to be deducted includes a second data amount to be deducted corresponding to the bandwidth of the outgress port of the first OM and a first data amount to be deducted corresponding to the bandwidth of the ingress port group of the first OM; the first deducted data acquisition module includes:
[0276] The second deduction coefficient acquisition sub-module is used to determine the deduction coefficient based on the target path connectivity number and the maximum path connectivity number. The maximum path connectivity number is the number of path connections between the first IM and the first OM under fault-free conditions.
[0277] The first data volume to be deducted sub-module is used to determine the first data volume to be deducted based on the actual signaling request data volume, private header data volume, and deduction coefficient;
[0278] The second data quantum module to be deducted is used to determine the amount of data to be deducted based on the actual amount of signaling request data.
[0279] In one possible implementation, the bandwidth of the first OM under fault-free conditions includes the bandwidth of the ingress port group of the first OM; the OM data acquisition unit includes:
[0280] The first allowed data volume acquisition module is used to determine the maximum total amount of input data of the first OM in a unit time based on the bandwidth of the ingress port group of the first OM, and to determine the first allowed data volume of the ingress port group of the first OM based on the maximum total amount of input data of the first OM in a unit time and the amount of data to be deducted.
[0281] The second allowed data volume acquisition module is used to determine the maximum total amount of data that the first OM can send per unit time based on the bandwidth of the output port of the first OM, and to determine the second allowed data volume of the output port of the first OM based on the maximum total amount of data that the first OM can send per unit time and the amount of data to be deducted.
[0282] The OM data volume acquisition module is used to determine the amount of data that the first IM can send based on the values of the first allowed data volume and the second allowed data volume.
[0283] This application provides a signaling scheduling device for a Clos architecture network, the structure of which is as follows: Figure 4b As shown, the first IM applied in a Clos architecture network includes:
[0284] The request signaling sending module is used to send request signaling to the first OM in the Clos architecture network. The request signaling indicates the actual signaling request data volume, and the actual signaling request data volume represents the amount of data that the first IM requests to send to the first OM.
[0285] The response signaling receiving module is used to receive the response signaling of the first OM. The response signaling is sent by the first OM after determining the amount of data that the first IM is allowed to send. The amount of data that the first IM is allowed to send is determined by the first OM based on the number of path connections between the first IM and the first OM and the actual amount of data requested by the signaling.
[0286] The IM data volume acquisition module is used to determine the amount of data that the first IM can send based on the number of path connections between the first IM and the first OM and the actual signaling request data volume.
[0287] The data sending module is used to send data to the first OM according to the amount of data that the first IM can send.
[0288] In one possible implementation, the IM data acquisition module includes:
[0289] The second deduction data acquisition unit is used to determine the amount of data to be deducted based on the current number of path connections between the first IM and the first OM and the actual amount of signaling request data.
[0290] The IM data volume acquisition unit is used to determine the amount of data that the first IM can send based on the bandwidth of the first IM under fault-free conditions and the amount of data to be deducted.
[0291] In one possible implementation, the Clos architecture network includes at least one CM; the second deduction data acquisition unit includes:
[0292] The third path connectivity acquisition module is used to obtain the first path connectivity between the first IM and each CM and the second path connectivity between the first OM and each CM;
[0293] The fourth path connectivity acquisition module is used to obtain the path connectivity count of each CM by taking the path connectivity count between the first path connectivity count and the second path connectivity count.
[0294] The second target number acquisition section is used to sum the number of third path connections of each CM to obtain the target path connection number, which is the current path connection number between the first IM and the first OM.
[0295] The second deduction data acquisition module is used to determine the amount of data to be deducted based on the number of connected target paths and the actual amount of signaling request data.
[0296] In one possible implementation, the second deduction data acquisition module includes:
[0297] The second deduction coefficient acquisition sub-module is used to determine the deduction coefficient based on the target path connectivity number and the maximum path connectivity number. The maximum path connectivity number is the number of path connections between the first IM and the first OM under fault-free conditions.
[0298] The data volume to be deducted module is used to obtain the data volume to be deducted based on the actual signaling request data volume and the deduction coefficient, or based on the actual signaling request data volume, the private header data volume, and the deduction coefficient.
[0299] In one possible implementation, the bandwidth of the first IM under fault-free conditions includes the bandwidth of the output port group of the first IM; the IM data acquisition unit includes:
[0300] The total data volume determination section is used to determine the maximum total data volume that the first IM can send per unit time based on the bandwidth of the first IM's outgoing port group.
[0301] The IM data volume acquisition module is used to obtain the first IM's sendable data volume based on the maximum total data volume to be sent and the data volume to be deducted.
[0302] In one possible implementation, the Clos architecture network includes at least one CM; the data transmission module includes:
[0303] The first path connectivity acquisition unit is used to acquire the first path connectivity between the IM and each CM and the second path connectivity between the first OM and each CM if the amount of data that the first IM can send indicates that the first IM is allowed to send data.
[0304] The third path connectivity acquisition unit is used to take the path connectivity smaller of the first path connectivity and the second path connectivity for each CM as the third path connectivity for the corresponding CM.
[0305] The proportional allocation unit is used to determine the data allocation ratio between the third paths of each CM based on the number of connected third paths of each CM.
[0306] The data transmission unit is used to send data to the first OM through the corresponding CM based on the data allocation ratio.
[0307] The implementation principle and process of the signaling scheduling device for the Clos architecture network provided in this embodiment are similar to those of the signaling scheduling method embodiment for the Clos architecture network described above, and will not be repeated here.
[0308] The signaling scheduling method, apparatus, electronic device, and storage medium for Clos architecture networks provided in this invention adjust the transmittable data volume of the IM and the receivetable data volume of the OM based on the fault conditions between the sender (IM) and receiver (OM). By adjusting the transmittable and receivetable data volumes, data congestion is effectively avoided. Especially when a large-scale switching network fails, the IM and OM can effectively achieve convergence of transmit and receive data volumes, reducing the scope of the fault impact, and without the need for backpressure processes, reducing the complexity of network convergence in fault scenarios. Furthermore, this application embodiment can also implement a signaling reduction mechanism for the original message length and private header length, which can stably and effectively control the traffic forwarding between the IM and OM, making full use of bandwidth while avoiding packet loss, and is particularly suitable for packet switching scenarios with low network-side speedup ratios.
[0309] This application also provides an electronic device; please refer to [link to relevant documentation]. Figure 5 As shown, it includes a processor 510, a communication interface 520, a memory 530, and a communication bus 540, wherein the processor 510, the communication interface 520, and the memory 530 communicate with each other through the communication bus 540.
[0310] Memory 530 is used to store computer programs;
[0311] When the processor 510 executes the computer program stored in the memory 530, it implements the signaling scheduling method of any of the Clos architecture networks in the above embodiments.
[0312] Communication interface 520 is used for communication between the above-mentioned electronic device and other devices.
[0313] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0314] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0315] Accordingly, embodiments of this application also provide a computer-readable storage medium storing a computer program that, when executed by a processor, is used to implement a signaling scheduling method for any of the Clos architecture networks described above.
[0316] This application also provides a computer program product, which includes a computer program that, when executed, causes the computer to perform a signaling scheduling method for any of the Clos architecture networks described in the above embodiments.
[0317] Those skilled in the art will understand that the accompanying drawings are merely schematic diagrams of one embodiment, and the modules or processes shown in the drawings are not necessarily essential for implementing the present invention.
[0318] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that the present invention can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods of various embodiments or some parts of the embodiments of the present invention.
[0319] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for apparatus or system embodiments, since they are basically similar to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments. The apparatus and system embodiments described above are merely illustrative. Units described as separate components may or may not be physically separate. Components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0320] Furthermore, in some of the processes described in the above embodiments and accompanying drawings, multiple operations appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear in this document, or they may be executed in parallel. The operation numbers, such as S201, S202, S203, etc., are merely used to distinguish different operations, and the numbers themselves do not represent any execution order. Additionally, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should be noted that the descriptions such as "first" and "second" in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.
[0321] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0322] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0323] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0324] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0325] Although alternative embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make further changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the alternative embodiments as well as all changes and modifications falling within the scope of the invention.
[0326] Obviously, those skilled in the art can make various modifications and variations to the embodiments of the present invention without departing from the spirit and scope of the embodiments of the present invention. Therefore, if these modifications and variations to the embodiments of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention also intends to include these modifications and variations.
Claims
1. A signaling scheduling method for a Clos architecture network, characterized in that, The method, applied to the first OM in a Clos architecture network, includes: Receive request signaling sent by the first IM in the Clos architecture network, the request signaling indicating the actual signaling request data amount, the actual signaling request data amount representing the amount of data requested by the first IM to be sent to the first OM; The amount of data that the first IM is allowed to send is determined based on the number of path connections between the first IM and the first OM and the actual signaling request data volume. Send a response signal to the first IM.
2. The method according to claim 1, characterized in that, The step of determining the amount of data that the first IM is allowed to send based on the number of path connections between the first IM and the first OM and the actual signaling request data volume includes: The amount of data to be deducted is determined based on the current number of path connections between the first IM and the first OM and the actual signaling request data volume. Based on the bandwidth of the first OM under fault-free conditions and the amount of data to be deducted, the amount of data that the first IM is allowed to send is determined.
3. The method according to claim 2, characterized in that, The Clos architecture network includes at least one CM; determining the amount of data to be deducted based on the current number of path connections between the first IM and the first OM and the actual signaling request data volume includes: Obtain the number of first path connections between the first IM and each CM, and the number of second path connections between the first OM and each CM; The smaller of the first path connectivity count and the second path connectivity count for each CM is taken as the third path connectivity count for the corresponding CM. The number of third path connections of each CM is summed to obtain the target path connection number, which is the current path connection number between the first IM and the first OM. The amount of data to be deducted is determined based on the number of connected target paths and the actual amount of signaling request data.
4. The method according to claim 3, characterized in that, The step of determining the amount of data to be deducted based on the number of connected target paths and the actual signaling request data volume includes: Based on the target path connectivity number and the maximum path connectivity number, a deduction coefficient is determined, wherein the maximum path connectivity number is the number of path connections between the first IM and the first OM under fault-free conditions; The amount of data to be deducted is determined based on the actual signaling request data volume and the deduction coefficient.
5. The method according to claim 3, characterized in that, The bandwidth of the first OM under fault-free conditions includes the bandwidth of the ingress port group of the first OM, and the amount of data to be deducted includes the first amount of data to be deducted corresponding to the bandwidth of the ingress port group of the first OM and the second amount of data to be deducted corresponding to the bandwidth of the egress port of the first OM. The step of determining the amount of data to be deducted based on the number of connected target paths and the actual signaling request data volume includes: Based on the target path connectivity number and the maximum path connectivity number, a deduction coefficient is determined, wherein the maximum path connectivity number is the number of path connections between the first IM and the first OM under fault-free conditions; Based on the actual signaling request data volume, the private header data volume, and the deduction coefficient, the first data volume to be deducted is determined; Based on the actual signaling request data volume, the second amount of data to be deducted is determined.
6. The method according to claim 2, characterized in that, The bandwidth of the first OM under fault-free conditions includes the bandwidth of the ingress port group of the first OM; determining the amount of data allowed to be sent by the first IM based on the bandwidth of the first OM under fault-free conditions and the amount of data to be deducted includes: The maximum total amount of input data of the first OM in a unit time is determined based on the bandwidth of the ingress port group of the first OM, and the first allowed data amount of the ingress port group of the first OM is determined based on the maximum total amount of input data of the first OM in a unit time and the amount of data to be deducted. The maximum amount of data that the first OM can send per unit time is determined based on the bandwidth of the output port of the first OM, and the second allowable data amount of the output port of the first OM is determined based on the maximum amount of data that the first OM can send per unit time and the amount of data to be deducted. The amount of data that the first IM can send is determined based on the values of the first allowed data amount and the second allowed data amount.
7. A signaling scheduling method for a Clos architecture network, characterized in that, The method for applying the first IM in a Clos architecture network includes: Send a request signaling to the first OM in the Clos architecture network. The request signaling indicates the actual signaling request data amount, and the actual signaling request data amount represents the amount of data that the first IM requests to send to the first OM. Receive response signaling from the first OM, the response signaling being sent by the first OM after determining the amount of data that the first IM is allowed to send, the amount of data that the first IM is allowed to send being determined by the first OM based on the number of path connections between the first IM and the first OM and the actual amount of data requested by the signaling; The amount of data that the first IM can send is determined based on the number of path connections between the first IM and the first OM and the actual signaling request data volume. Data is sent to the first OM based on the amount of data that the first IM can send.
8. The method according to claim 7, characterized in that, The step of determining the amount of data that the first IM can send based on the number of path connections between the first IM and the first OM and the actual signaling request data volume includes: The amount of data to be deducted is determined based on the current number of path connections between the first IM and the first OM and the actual signaling request data volume. Based on the bandwidth of the first IM under fault-free conditions and the amount of data to be deducted, the amount of data that the first IM can send is determined.
9. The method according to claim 8, characterized in that, The Clos architecture network includes at least one CM; determining the amount of data to be deducted based on the current number of path connections between the first IM and the first OM and the actual signaling request data volume includes: Obtain the number of first path connections between the first IM and each CM, and the number of second path connections between the first OM and each CM; The number of paths connected that is less than the number of paths connected in the first and second paths corresponding to each CM is taken as the number of paths connected in the third path of the corresponding CM. The number of third path connections of each CM is summed to obtain the target path connection number, which is the current path connection number between the first IM and the first OM. The amount of data to be deducted is determined based on the number of connected target paths and the actual amount of signaling request data.
10. The method according to claim 9, characterized in that, The step of determining the amount of data to be deducted based on the number of connected target paths and the actual signaling request data volume includes: Based on the target path connectivity number and the maximum path connectivity number, a deduction coefficient is determined, wherein the maximum path connectivity number is the number of path connections between the first IM and the first OM under fault-free conditions; The amount of data to be deducted is obtained based on the actual signaling request data volume and the deduction coefficient, or the amount of data to be deducted is obtained based on the actual signaling request data volume, the private header data volume, and the deduction coefficient.
11. The method according to claim 8, characterized in that, The bandwidth of the first IM under fault-free conditions includes the bandwidth of the outgoing port group of the first IM; the step of obtaining the amount of data that the first IM can send based on the bandwidth of the first IM under fault-free conditions and the amount of data to be deducted includes: The maximum amount of data that the first IM can send per unit time is determined based on the bandwidth of the output port group of the first IM. Based on the maximum total amount of data to be sent and the amount of data to be deducted, the amount of data that the first IM can send from the output port group of the first IM is obtained.
12. The method according to claim 7, characterized in that, The Clos architecture network includes at least one CM; sending data to the first OM according to the amount of data that the first IM can send includes: If the amount of data that the first IM can send indicates that the first IM is allowed to send data, then obtain the number of first path connections between the IM and each CM and the number of second path connections between the first IM and each CM; The smaller of the first path connectivity count and the second path connectivity count for each CM is taken as the third path connectivity count for the corresponding CM. The data allocation ratio among the third paths of each CM is determined based on the number of connected third paths of each CM. Based on the data allocation ratio, the data is sent to the first OM via the corresponding CM.
13. A signaling scheduling device for a Clos architecture network, characterized in that, The device for use as the first OM in a Clos architecture network includes: The request signaling receiving module is used to receive request signaling sent by the first IM in the Clos architecture network. The request signaling indicates the actual signaling request data volume, and the actual signaling request data volume represents the amount of data that the first IM requests to send to the first OM. The OM data volume acquisition module is used to determine the amount of data that the first IM is allowed to send based on the number of path connections between the first IM and the first OM and the actual signaling request data volume. The response signaling sending module is used to send response signaling to the first IM.
14. A signaling scheduling device for a Clos architecture network, characterized in that, A first IM applied in a Clos architecture network, the device comprising: The request signaling sending module is used to send request signaling to the first OM in the Clos architecture network. The request signaling indicates the actual signaling request data volume, and the actual signaling request data volume represents the amount of data that the first IM requests to send to the first OM. The response signaling receiving module is used to receive the response signaling of the first OM. The response signaling is sent by the first OM after determining the amount of data that the first IM is allowed to send. The amount of data that the first IM is allowed to send is determined by the first OM based on the number of path connections between the first IM and the first OM and the actual amount of signaling requested data. The IM data volume acquisition module is used to determine the amount of data that the first IM can send based on the number of path connections between the first IM and the first OM and the actual signaling request data volume. The data sending module is used to send data to the first OM according to the amount of data that the first IM can send.
15. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer programs; The processor executes the computer program stored in the memory to implement the method steps as described in any one of claims 1-12.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which, when executed by a processor, is used to implement the method steps as described in any one of claims 1-12.
Citation Information
Patent Citations
Network access node virtual fabrics configured dynamically over an underlay network
CN111201757A
Data communication method and device
CN111434079A
Resilient network communication using selective multipath packet flow spraying
US20190104057A1
Fabric control protocol with congestion control for data center networks
US20210297351A1