Path adjustment method and apparatus, communication device, storage medium, and program product

By introducing time scheduling information into the SR policy, candidate paths, and segment lists, the service forwarding path is dynamically adjusted, which solves the problem that the source routing mechanism cannot adapt to time-varying service scenarios and improves service transmission efficiency and network resource utilization.

WO2026081877A1PCT designated stage Publication Date: 2026-04-23CHINA MOBILE COMM LTD RES INST +1
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
CHINA MOBILE COMM LTD RES INST
Filing Date
2025-09-30
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

The existing source routing mechanism fails to take into account the dynamic changes in business traffic and network status over time, resulting in the network end-to-end transmission path being unsuitable for time-varying business scenarios, which may lead to performance degradation such as packet loss, latency, or bandwidth not meeting business requirements.

Method used

Time-based scheduling information is introduced into the SR policy, candidate paths, and segment lists. The head node dynamically adjusts the SR policy, candidate paths, and segment lists used for service forwarding based on the time-based scheduling information, thereby realizing a time-varying source routing mechanism. Service packets are encapsulated through SRH and forwarded in the network.

Benefits of technology

It improves service transmission efficiency, increases network resource utilization, prevents potential performance degradation, and maximizes the efficient and rational use of network bandwidth and other resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025125828_23042026_PF_FP_ABST
    Figure CN2025125828_23042026_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses a path adjustment method and apparatus, a communication device, a storage medium, and a program product; The method comprises: a head node acquiring one or more SR policies, the SR policies comprising one or more candidate paths, the candidate paths comprising one or more weighted segment lists, and the SR policies and / or the candidate paths and / or the segment lists and / or the weights including time scheduling information; and the head node adjusting, according to the time scheduling information, the SR policies and / or the candidate paths and / or the segment lists used for service forwarding, or adjusting the weights of some or all of the segment lists among the plurality of segment lists.
Need to check novelty before this filing date? Find Prior Art

Description

A path adjustment method and apparatus, communication equipment, storage medium, and program product.

[0001] Cross-references to related applications

[0002] This application is based on and claims priority to Chinese Patent Application No. 202411441234.X, filed on October 15, 2024, the entire contents of which are hereby incorporated herein by reference. Technical Field

[0003] This application relates to the field of data communication technology, and in particular to a path adjustment method and apparatus, communication equipment, storage medium, and program product. Background Technology

[0004] Segment Routing Internet Protocol Version 6 (SRV6) is a protocol designed to forward services over a network based on the concept of source routing.

[0005] In some scenarios, service traffic changes dynamically over time; in others, network conditions (such as network topology, network resources, and network load) also change dynamically over time. However, current source routing mechanisms do not take into account these dynamically changing factors, making end-to-end transmission paths unsuitable for time-varying service scenarios. Summary of the Invention

[0006] To address the aforementioned technical problems, this application provides a path adjustment method and apparatus, communication equipment, computer-readable storage medium, and computer program product.

[0007] The path adjustment method provided in this application includes:

[0008] The head node obtains one or more segment routing (SR) policies, the SR policies including one or more candidate paths, the candidate paths including one or more segment lists; wherein, the SR policies and / or the candidate paths and / or the segment lists carry time scheduling information;

[0009] The head node adjusts the SR strategy and / or candidate path and / or segment list used for service forwarding based on the time scheduling information.

[0010] The path adjustment method provided in this application includes:

[0011] The head node obtains the SR strategy, which includes one or more candidate paths, and the candidate paths include multiple weighted segment lists; wherein the weights carry time scheduling information.

[0012] The head node adjusts the weights of some or all of the segment lists in the multiple segment lists based on the time scheduling information.

[0013] The path adjustment device provided in this application is applied to a head node, and the device includes:

[0014] The acquisition unit is configured to acquire one or more SR strategies, wherein the SR strategy includes one or more candidate paths, and the candidate path includes one or more segment lists; wherein the SR strategy and / or the candidate path and / or the segment list carries time scheduling information;

[0015] The adjustment unit is configured to adjust the SR policy and / or candidate path and / or segment list used for service forwarding based on the time scheduling information.

[0016] The path adjustment device provided in this application is applied to a head node, and the device includes:

[0017] The acquisition unit is configured to acquire an SR strategy, wherein the SR strategy includes one or more candidate paths, and the candidate paths include multiple weighted segment lists; wherein the weights carry time scheduling information.

[0018] The adjustment unit is configured to adjust the weights of some or all of the segment lists in multiple segment lists based on the time scheduling information.

[0019] The communication device provided in this application includes a processor and a memory, the memory being used to store computer programs, and the processor being used to call and run the computer programs stored in the memory to execute any of the path adjustment methods described above.

[0020] The computer-readable storage medium provided in this application is used to store a computer program that causes a computer to execute any of the path adjustment methods described above.

[0021] The computer program product provided in this application includes computer program instructions that cause a computer to execute any of the path adjustment methods described above.

[0022] In the technical solution of this application, time scheduling information is introduced into the SR policy and / or candidate path and / or segment list. The head node dynamically adjusts the SR policy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information. In this way, a time-varying source routing mechanism is realized, which improves service transmission efficiency and network resource utilization for time-varying service scenarios. Attached Figure Description

[0023] Figure 1 is a schematic diagram of the SRv6 message format;

[0024] Figure 2 is a schematic diagram of the SID format;

[0025] Figure 3 is a schematic diagram of the SRv6 TE Policy;

[0026] Figure 4 is a flowchart illustrating the path adjustment method provided in an embodiment of this application.

[0027] Figure 5 is a schematic diagram of the format of the sub-TLV provided in the embodiment of this application;

[0028] Figure 6 is a schematic flowchart of the path adjustment method provided in the embodiment of this application;

[0029] Figure 7 is a schematic diagram of the format of the sub-TLV provided in the embodiment of this application;

[0030] Figure 8 is a schematic diagram of the absolute time representation of start time / end time provided in the embodiments of this application;

[0031] Figure 9 is a schematic diagram of the structural composition of the path adjustment device provided in an embodiment of this application;

[0032] Figure 10 is a schematic diagram of the structural composition of the path adjustment device provided in the embodiment of this application;

[0033] Figure 11 is a schematic structural diagram of a communication device provided in an embodiment of this application;

[0034] Figure 12 is a schematic structural diagram of a chip according to an embodiment of this application. Detailed Implementation

[0035] It should be noted that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship. It should also be understood that "indication" mentioned in this article can be direct indication, indirect indication, or an indication of a related relationship. For example, A indicating B can mean that A directly indicatives B, for example, B can be obtained through A; it can also mean that A indirectly indicatives B, for example, A indicatives C, B can be obtained through C; or it can mean that there is a related relationship between A and B.

[0036] To facilitate understanding of the technical solutions of the embodiments of this application, the relevant technologies of the embodiments of this application will be described below.

[0037] SRv6 enables IPv6-based segment routing by inserting a Segment Routing Header (SRH) into Internet Protocol Version 6 (IPv6) messages.

[0038] Figure 1 illustrates the format of an SRv6 message. As shown in Figure 1, an SRv6 message includes an IPv6 header, an SRH, and an IPv6 payload. The SRH includes a segment list, which consists of a set of segment identifiers (SIDs). The segment list can also be understood as a list of SIDs. In Figure 1, segment list [0], segment list [1], ..., segment list [n] each represent a SID. Optionally, the SRH also includes a Type Length Value (TLV) field, the length of which is variable. The SID list in the SRH represents path information used to guide message forwarding. In the SRH, the SID list is arranged in order of proximity along the message forwarding path. That is, segment list [0] represents the SID of the last node on the path, segment list [1] represents the SID of the second-to-last node on the path, and so on, with segment list [n] representing the SID of the first node on the path.

[0039] The SID in SRH uses a 128-bit IPv6 address format and can be called an SRv6 SID. Figure 2 illustrates the SID format. As shown in Figure 2, the SID consists of a Locator, a Function, and Arguments, where Arguments are optional.

[0040] A Locator is an identifier assigned to a node for routing and forwarding service packets. The length of a Locator is variable to accommodate networks of different sizes.

[0041] Functions are used to identify the forwarding behavior that a node should perform; different forwarding behaviors are expressed by different Functions.

[0042] Argument is an optional field used to carry parameters required when a node performs forwarding behavior.

[0043] An SRv6 service path (or simply service path) includes the following nodes: a head node, one or more intermediate nodes (i.e., forwarding nodes), and a tail node. When the head node receives a service packet (i.e., an IPv6 packet) from the user, it inserts an SRH (Segment Redirect) into the packet according to the SR policy, forming an SRv6 packet, and then sends the SRv6 packet to the next-hop node. Each intermediate node, upon receiving an SRv6 packet, updates the destination address in the IPv6 header and the segment left (SL) in the SRH to complete hop-by-hop forwarding of the packet.

[0044] The SR policy (i.e., SRv6 TE Policy) utilizes the source routing mechanism of segment routing, guiding service packets to be forwarded along a specified path on the network by encapsulating an ordered list of SIDs (i.e., path information) in the head node. Figure 3 illustrates the format of the SRv6 TE Policy. As shown in Figure 3, an SRv6 TE Policy can contain multiple candidate paths with priorities, such as: candidate path (1) with priority (1), candidate path (2) with priority (2), ..., candidate path (n) with priority (n). The valid candidate path with the highest priority can be used as the main path of the SRv6 TE Policy. Each candidate path can contain multiple weighted segment lists. Taking candidate path (1) as an example, candidate path (1) contains: segment list (11) with weight (11), segment list (12) with weight (12), ..., segment list (1m) with weight (1m). Different candidate paths can contain different numbers of segment lists, and multiple segment lists of the same candidate path can form load sharing. Each segment list is an explicit SID list (i.e., SID stack). For example, segment list (11) contains: SID11, SID12, ..., SID1i.

[0045] In some scenarios, traffic flow changes dynamically over time. For example, traffic is higher during the night and lower during the day. In other scenarios, network conditions (such as network topology, network resources, and network load) also change dynamically over time. For instance, in integrated space-ground networks, satellites are located in different positions at different times, causing the network topology, network resources, and load to be time-varying.

[0046] However, current source routing mechanisms do not take into account these dynamic factors that change over time, making end-to-end transmission paths unsuitable for time-varying service scenarios. Therefore, there is an urgent need to establish a source routing mechanism that can change dynamically over time (i.e., a time-varying source routing mechanism) in order to proactively plan for and prevent potential service performance degradation (such as packet loss, latency, or bandwidth not meeting service requirements).

[0047] Therefore, the following technical solutions are proposed according to embodiments of this application. To facilitate understanding of the technical solutions of the embodiments of this application, the technical solutions of this application are described in detail below through specific embodiments. The above-mentioned related technologies are optional solutions and can be arbitrarily combined with the technical solutions of the embodiments of this application, all of which fall within the protection scope of the embodiments of this application. The embodiments of this application include at least some of the following contents.

[0048] It should be noted that the nodes used for service forwarding on the service path can be routers or switches.

[0049] Figure 4 is a flowchart illustrating the path adjustment method provided in this embodiment of the application. As shown in Figure 4, the path adjustment method includes the following steps:

[0050] Step 401: The head node obtains one or more SR policies, the SR policies include one or more candidate paths, and the candidate paths include one or more segment lists; wherein, the SR policies and / or candidate paths and / or segment lists carry time scheduling information.

[0051] Step 402: The head node adjusts the SR policy and / or candidate path and / or segment list used for service forwarding based on the time scheduling information.

[0052] In this embodiment of the application, the SR policy can also be described as SR policy routing.

[0053] In this embodiment, the head node refers to the head node on the SRv6 service path (hereinafter referred to as the path). The head node is responsible for encapsulating the SRH in the service packet and forwarding the service packet with the encapsulated SRH to the next hop node. In this way, each intermediate node on the path can forward the service packet according to the SRH in the service packet until the service packet is forwarded to the tail node on the path.

[0054] In this application embodiment, the head node can obtain one or more SR policies. In some implementations, the head node obtains one or more SR policies from the network controller. In other implementations, the head node is configured to generate one or more SR policies.

[0055] In this embodiment, the scheduling time information is carried in the SR policy. The head node parses the scheduling time information in the SR policy and saves it locally. Here, the scheduling time information is used to indicate the effective time for service forwarding. In some implementations, the effective time for service forwarding can be calculated based on the predicted time of service flow requirements and topology constraints. For service packets that need to be forwarded, the head node dynamically / in real-time adjusts the SR policy and / or candidate path and / or segment list used for service forwarding according to the scheduling time information.

[0056] In this embodiment, the SR strategy includes one or more candidate paths. For multiple SR strategies, the number of candidate paths included in different SR strategies can be different. Furthermore, a candidate path includes one or more segment lists. For multiple candidate paths, the number of segment lists included in different candidate paths can be different, and load balancing can be achieved between multiple segment lists of the same candidate path based on weights. Furthermore, a segment list includes a set of SIDs (i.e., a SID list). For multiple segment lists, the number of SIDs included in different segment lists can be different.

[0057] Here, the content of the SR strategy can refer to the format shown in Figure 3 above. Unlike Figure 3, the SR strategy in this application has time scheduling information at one or more of the following levels: 1) SR strategy; 2) candidate path; 3) segment list.

[0058] Specifically, the SR policy carries first-time scheduling information, and / or, the candidate path carries second-time scheduling information, and / or, the segment list carries third-time scheduling information. Based on this, the head node adjusts the SR policy and / or candidate path and / or segment list used for service forwarding according to the time scheduling information, which can be implemented in one or more of the following ways:

[0059] Method 1: The head node adjusts the SR policy used for service forwarding to the first SR policy based on the first time scheduling information; wherein, the time indicated by the first time scheduling information in the first SR policy is the effective time for service forwarding.

[0060] For example, multiple SR policies form an SR policy group. Taking an SR policy group containing two SR policies as an example, SR policy 1 carries time scheduling information T1, and SR policy 2 carries time scheduling information T2. ​​Then, in time period T1, the head node uses SR policy 1 to determine the service forwarding path. In time period t2, the head node adjusts SR policy 1 to SR policy 2 and uses SR policy 2 to determine the service forwarding path.

[0061] Method 2: The head node adjusts the candidate path used for service forwarding to the first candidate path based on the second time scheduling information; wherein, the time indicated by the second time scheduling information of the first candidate path is the effective time for service forwarding.

[0062] For example, an SR policy may contain multiple candidate paths. Taking an SR policy containing two candidate paths as an example, candidate path 1 carries time scheduling information T1, and candidate path 2 carries time scheduling information T2. ​​Then, during time period T1, the head node uses candidate path 1 to determine the path for service forwarding. During time period t2, the head node adjusts candidate path 1 to candidate path 2 and uses candidate path 2 to determine the path for service forwarding.

[0063] Method 3: The head node adjusts the segment list used for service forwarding to the first segment list or the first group of segment lists based on the third time scheduling information; wherein, the time indicated by the third time scheduling information in each segment list of the first segment list or the first group of segment lists is the effective time for service forwarding.

[0064] For example, the SR strategy includes candidate path 1, which includes segment list 1 (with weight w1), segment list 2 (with weight w2), segment list 3 (with weight w3), and segment list 4 (with weight w4). Segment list 1 carries time scheduling information T1, segment list 2 carries time scheduling information T1, segment list 3 carries time scheduling information T2, and segment list 4 carries time scheduling information T2. ​​Then, in time period T1, the head node uses segment list 1 and segment list 2 to determine the service forwarding path. In time period T2, the head node uses segment list 3 and segment list 4 to determine the service forwarding path.

[0065] Method 1 allows for time-varying SR strategy adjustments. Method 2 allows for time-varying candidate path adjustments. Method 3 allows for time-varying segment list adjustments. It should be noted that, regarding segment list adjustments, based on time scheduling information, one segment list can be restructured into another, or multiple segment lists can be restructured into yet another set of multiple segment lists. In the case of multiple segment lists, load balancing can be achieved among the multiple segment lists based on their weights.

[0066] In this embodiment of the application, the time scheduling information includes one or more of the following fields:

[0067] The first field indicates the start time.

[0068] The second field indicates the end time.

[0069] The third field indicates the time level, which can be the SR strategy level, the candidate path level, or the segment list level.

[0070] The fourth field is used to indicate the time period;

[0071] The fifth field is used to indicate the time type of the start and / or end times.

[0072] In some implementations, SR policies are advertised via BGP routes. BGP route advertisement refers to the process by which a BGP publisher (such as a network controller) sends routing information (such as SR policies) to other BGP peers (such as head nodes) via update messages. In this process, the update message publishes the SR policy through Network Layer Reachability Information (NLRI).

[0073] For example, Table 1 below shows the content of the SR policy in BGP route advertisement, where the SR policy contains first time scheduling information (i.e., P-Time Information), the candidate path contains second time scheduling information (i.e., C-Time Information), and the segment list contains third time scheduling information (i.e., S-Time Information).

[0074] Table 1: SR Strategies with Time Scheduling Information

[0075] In some implementations, time scheduling information can be implemented using sub-TLVs. For example, Figure 5 illustrates the format of a sub-TLV, where Type represents the type of the sub-TLV, Length represents the length of the sub-TLV, Flags represents the flags of the sub-TLV, and Index represents the index of the sub-TLV. The Time Policy Level (the third field) indicates the time level, which is divided into three levels: SR policy level, candidate path level, and segment list level. The Period (the fourth field) indicates the time period; this field is optional, and if it is not set, it represents no period. The Start Time (the first field) indicates the start time. The End Time (the second field) indicates the end time. This sub-TLV can be used to determine a time period from the Start Time to the End Time.

[0076] In some implementations, if the head node fails to obtain time scheduling information, service forwarding is performed according to the default SR policy and / or the default candidate path and / or the default segment list. There are several reasons why the head node might fail to obtain time scheduling information. For example, if the link between the network controller and the head node fails, the head node cannot obtain time scheduling information from the network controller. Another example is when the head node malfunctions, it cannot configure time scheduling information. The default SR policy and / or the default candidate path and / or the default segment list are fixed, or time-invariant. The path determined by the default SR policy and / or the default candidate path and / or the default segment list is also fixed, or time-invariant.

[0077] In this embodiment of the application, it is assumed that the path corresponding to the SR policy and / or candidate path and / or segment list used for service forwarding before adjustment is the first path; the path corresponding to the SR policy and / or candidate path and / or segment list used for service forwarding after adjustment is the second path; the head node forwards services through the first path in the first cycle and through the second path in the second cycle.

[0078] It can be understood that the time indicated by the time scheduling information in the SR policy and / or candidate path and / or segment list corresponding to the first path is the first cycle; the time indicated by the time scheduling information in the SR policy and / or candidate path and / or segment list corresponding to the second path is the second cycle.

[0079] At the boundary between two cycles, a path switch (i.e., switching from the first path to the second path) is required. Due to the different latency of the first and second paths, packet out-of-order issues may occur during the switch, meaning that the service packets received by the tail node on the first path and the service packets received on the second path may be out of order. In this embodiment, the packet out-of-order problem can be solved by one or more of the following solutions.

[0080] Option 1: If the latency of the first path is less than the latency of the second path, the head node advances the start time of the second cycle relative to the base time by a first duration; the first duration is determined based on the latency of the first and second paths. If the latency of the first path is greater than the latency of the second path, the head node delays the start time of the second cycle relative to the base time by a second duration; the second duration is determined based on the latency of the first and second paths. In some implementations, the first duration is t2-t1, and the second duration is t1-t2, where t1 represents the latency of the first path, and t2 represents the latency of the second path.

[0081] For example, assuming the delay of the first path is t1 and the delay of the second path is t2; when t1 is less than t2, the start time of the second cycle can be advanced by a maximum of (t2-t1) time relative to the specified time (i.e., the base time); when t1 is greater than t2, the start time of the second cycle can be delayed by a maximum of (t1-t2) time relative to the specified time (i.e., the base time). In this way, it can be guaranteed that the tail node will start receiving the service messages of the second cycle after receiving the service messages of the first cycle.

[0082] It should be noted that if the first path is load-balanced through multiple segment lists, with each segment list corresponding to one path, then the latency of the first path can be defined as the longest latency among the multiple paths corresponding to the multiple segment lists. The latency of the second path is similar.

[0083] Option 2: The head node marks the last or a group of service packets forwarded in the first cycle with an end marker. The end marker is used by the head node's next-hop node to identify the last or a group of service packets in the first cycle. After receiving the announcement message sent by the next-hop node, the head node determines to start forwarding service packets in the second cycle. The announcement message is used to announce the end of the first cycle.

[0084] For example, before the end of each cycle, the head node marks the last packet or group of packets (in a multi-path scenario) forwarded in the current cycle with an "End" flag. This "End" flag can be carried, but is not limited to, through fields such as the SRH[0] parameter (Arg), Destination Options Header (DOH), and SRH TLV in the packet. When the next-hop node connected to the head node receives this packet, it identifies the packet as the end packet of the current cycle by parsing the "End" flag. It then sends a reverse notification to the head node that the current cycle has ended and that the next cycle can begin sending packets. Upon receiving this notification, the head node begins path switching and sends packets for the next cycle. Here, the reverse notification packet can be implemented by adding a Network Control Message Protocol (ICMP) or User Datagram Protocol (UDP) packet type.

[0085] Option 3: The head node marks the service packets forwarded in the first time period of the first cycle with a first color mark, and marks the service packets forwarded in the second time period of the second cycle with a second color mark; the first time period and the second time period are adjacent in time; the first color mark and the second color mark are used by the tail node to identify service packets in the same cycle.

[0086] For example, during a time period before the end of each cycle and the beginning of the next cycle (i.e., the time period consisting of the first and second time periods, which is configurable and has a length of, for example, a few seconds / milliseconds), different coloring tags are carried for the service packets of the current cycle and the next cycle. For example, the service packets of the current cycle carry coloring tag 1, and the service packets of the next cycle carry coloring tag 0. Alternatively, the service packets of the current cycle and the next cycle carry sequentially increasing numbers. When the tail node receives the service packets carrying coloring tags, it first caches them in the hardware cache. After receiving all the service packets carrying coloring tags in the current cycle, it sorts and organizes all the service packets in the current cycle before proceeding with the subsequent forwarding processing.

[0087] The technical solution of this application proposes a source routing path adjustment mechanism that can dynamically change over time and be adjusted as expected, in order to plan ahead and prevent potential performance degradation or bottlenecks, packet loss, latency or bandwidth failure to meet business requirements, while maximizing the efficient and rational use of network bandwidth and other resources.

[0088] Figure 6 is a second flowchart illustrating the path adjustment method provided in an embodiment of this application. As shown in Figure 6, the path adjustment method includes the following steps:

[0089] Step 601: The head node obtains the SR policy, which includes one or more candidate paths. The candidate paths include multiple weighted segment lists; where the weights carry time scheduling information.

[0090] Step 602: The head node adjusts the weights of some or all of the segment lists in multiple segment lists based on the time scheduling information.

[0091] In this embodiment of the application, the SR policy can also be described as SR policy routing.

[0092] In this embodiment, the head node refers to the head node on the SRv6 service path (hereinafter referred to as the path). The head node is responsible for encapsulating the SRH in the service packet and forwarding the service packet with the encapsulated SRH to the next hop node. In this way, each intermediate node on the path can forward the service packet according to the SRH in the service packet until the service packet is forwarded to the tail node on the path.

[0093] In this application embodiment, the head node can obtain one or more SR policies. In some implementations, the head node obtains one or more SR policies from the network controller. In other implementations, the head node is configured to generate one or more SR policies.

[0094] In this embodiment, the scheduling time information is carried in the SR policy. The head node parses the scheduling time information in the SR policy and saves it locally. Here, the scheduling time information is used to indicate the effective time for service forwarding. In some implementations, the effective time for service forwarding can be calculated based on the predicted time of service flow requirements and topology constraints. For service packets that need to be forwarded, the head node dynamically / in real-time adjusts the weights of some or all segments in multiple segment lists according to the scheduling time information.

[0095] In this embodiment, the SR strategy includes one or more candidate paths. For multiple SR strategies, the number of candidate paths included in different SR strategies can be different. Furthermore, a candidate path includes one or more segment lists. For multiple candidate paths, the number of segment lists included in different candidate paths can be different, and load balancing can be achieved between multiple segment lists of the same candidate path based on weights. Furthermore, a segment list includes a set of SIDs (i.e., a SID list). For multiple segment lists, the number of SIDs included in different segment lists can be different.

[0096] Here, the content of the SR strategy can refer to the format shown in Figure 3 above. The difference from Figure 3 is that the SR strategy in this application incorporates time scheduling information into the weights of the segment lists. Specifically, the weights of multiple segment lists for the same candidate path have unified time scheduling information; or, the weights of multiple segment lists for the same candidate path have independent time scheduling information.

[0097] Based on this, the head node can adjust the weights of some or all segments in multiple segment lists according to the time scheduling information, which can be implemented in the following ways:

[0098] Based on the time scheduling information, the head node adjusts the weights of some or all segments in multiple segment lists to the first weight; where the time scheduling information of the first weight indicates the effective time for service forwarding.

[0099] For example, the SR strategy includes candidate path 1, which includes segment list 1, segment list 2, and segment list 3. Segment list 1 has weights w11 (with time scheduling information T1) and w12 (with time scheduling information T2), segment list 2 has weights w21 (with time scheduling information T1) and w22 (with time scheduling information T2), and segment list 3 has weights w31 (with time scheduling information T1) and w32 (with time scheduling information T2). Then, in time period T1, the effective weights for segment lists 1, 2, and 3 are w11, w21, and w31, respectively, and load sharing occurs among them based on these weights. In time period T2, the effective weights for segment lists 1, 2, and 3 are w12, w22, and w32, and load sharing occurs among them based on these weights.

[0100] In this embodiment of the application, the time scheduling information includes one or more of the following fields:

[0101] The first and fifth fields are used to indicate the start time;

[0102] The second field indicates the end time.

[0103] The fourth field is used to indicate the time period;

[0104] The fifth field is used to indicate the time type of the start and / or end times.

[0105] In some implementations, SR policies are advertised via BGP routes. BGP route advertisement refers to the process by which a BGP publisher (such as a network controller) sends routing information (such as SR policies) to other BGP peers (such as head nodes) via update messages. In this case, the update message publishes the SR policy via NLRI.

[0106] For example, Table 2 below shows the content of the SR policy of BGP route advertisement, where the weight of the segment list carries time scheduling information (i.e., W-Time Information).

[0107] Table 2: SR Strategies with Time Scheduling Information

[0108] In some implementations, time scheduling information can be implemented using sub-TLVs. For example, Figure 7 illustrates the format of a sub-TLV, where Type represents the type of the sub-TLV, Length represents the length of the sub-TLV, Flags represents the flags of the sub-TLV, and weight represents the weight. Each weight corresponds to a set of TimeRangeType, Start, and End fields. TimeRangeType (i.e., the fifth field) indicates the time type. Start (i.e., the first field) indicates the start time. End (i.e., the second field) indicates the end time. This sub-TLV can be used to determine a time period from Start to End.

[0109] In some implementations, if the head node fails to obtain time scheduling information, service forwarding is performed according to the default weights of multiple segment lists. There are several reasons why the head node might fail to obtain time scheduling information. For example, if the link between the network controller and the head node fails, the head node cannot obtain time scheduling information from the network controller. Another example is when the head node itself malfunctions, preventing it from configuring time scheduling information. The default weights are fixed, or time-invariant, and the load balancing among the multiple segment lists according to these default weights is also fixed, or time-invariant.

[0110] In this embodiment of the application, it is assumed that the path corresponding to the multiple segment lists used for service forwarding before the weight adjustment is the first path; the path corresponding to the multiple segment lists used for service forwarding after the weight adjustment is the second path; the head node forwards services through the first path in the first cycle and through the second path in the second cycle.

[0111] It can be understood that the time indicated by the time scheduling information of the weights of the multiple segment lists corresponding to the first path is the first period; the time indicated by the time scheduling information of the weights of the multiple segment lists corresponding to the second path is the second period.

[0112] At the boundary between two cycles, a path switch (i.e., switching from the first path to the second path) is required. Due to the different latency of the first and second paths, packet out-of-order issues may occur during the switch, meaning that the service packets received by the tail node on the first path and the service packets received on the second path may be out of order. In this embodiment, the packet out-of-order problem can be solved by one or more of the following solutions.

[0113] Option 1: If the latency of the first path is less than the latency of the second path, the head node advances the start time of the second cycle relative to the base time by a first duration; the first duration is determined based on the latency of the first and second paths. If the latency of the first path is greater than the latency of the second path, the head node delays the start time of the second cycle relative to the base time by a second duration; the second duration is determined based on the latency of the first and second paths. In some implementations, the first duration is t2-t1, and the second duration is t1-t2, where t1 represents the latency of the first path, and t2 represents the latency of the second path.

[0114] For example, assuming the delay of the first path is t1 and the delay of the second path is t2; when t1 is less than t2, the start time of the second cycle can be advanced by a maximum of (t2-t1) time relative to the specified time (i.e., the base time); when t1 is greater than t2, the start time of the second cycle can be delayed by a maximum of (t1-t2) time relative to the specified time (i.e., the base time). In this way, it can be guaranteed that the tail node will start receiving the service messages of the second cycle after receiving the service messages of the first cycle.

[0115] It should be noted that the first path uses multiple segment lists for load balancing, with each segment list corresponding to a path. Therefore, the latency of the first path can be defined as the longest latency among the multiple paths corresponding to the multiple segment lists. The latency of the second path is similar.

[0116] Option 2: The head node marks the last or a group of service packets forwarded in the first cycle with an end marker. The end marker is used by the head node's next-hop node to identify the last or a group of service packets in the first cycle. After receiving the announcement message sent by the next-hop node, the head node determines to start forwarding service packets in the second cycle. The announcement message is used to announce the end of the first cycle.

[0117] For example, before the end of each cycle, the head node marks the last packet or group of packets (in a multi-path scenario) forwarded in the current cycle with an "End" flag. This "End" flag can be carried, but is not limited to, through fields such as the SRH[0] parameter (Arg), DOH, and SRH TLV in the packet. When the next-hop node connected to the head node receives this packet, it identifies it as the end packet of the current cycle by parsing the "End" flag. It then sends a reverse notification to the head node that the current cycle has ended and that it can begin sending packets for the next cycle. Upon receiving this notification, the head node begins path switching and sends packets for the next cycle. Here, the reverse notification packet can be implemented by adding an ICMP or UDP packet type.

[0118] Option 3: The head node marks the service packets forwarded in the first time period of the first cycle with a first color mark, and marks the service packets forwarded in the second time period of the second cycle with a second color mark; the first time period and the second time period are adjacent in time; the first color mark and the second color mark are used by the tail node to identify service packets in the same cycle.

[0119] For example, during a time period before the end of each cycle and the beginning of the next cycle (i.e., the time period consisting of the first and second time periods, which is configurable and has a length of, for example, a few seconds / milliseconds), different coloring tags are carried for the service packets of the current cycle and the next cycle. For example, the service packets of the current cycle carry coloring tag 1, and the service packets of the next cycle carry coloring tag 0. Alternatively, the service packets of the current cycle and the next cycle carry sequentially increasing numbers. When the tail node receives the service packets carrying coloring tags, it first caches them in the hardware cache. After receiving all the service packets carrying coloring tags in the current cycle, it sorts and organizes all the service packets in the current cycle before proceeding with the subsequent forwarding processing.

[0120] The technical solution of this application proposes a source routing path adjustment mechanism that can dynamically change over time and be adjusted as expected, in order to plan ahead and prevent potential performance degradation or bottlenecks, packet loss, latency or bandwidth failure to meet business requirements, while maximizing the efficient and rational use of network bandwidth and other resources.

[0121] It should be noted that the solutions related to Figures 4 and 6 above can be implemented independently or in combination.

[0122] It should be noted that the start time / end time time type in the time scheduling information in Figures 4 and 6 above can be implemented in the following ways:

[0123] 1) The time type is Type I. Type I time is expressed in years, months, days, hours and minutes; Type I time can be understood as absolute time.

[0124] 2) The time type is the second type. The second type of time is expressed in months, days, hours and minutes; the second type of time can be understood as time with a year as the cycle.

[0125] 3) The time type is the third type. The second type of time is expressed in days, hours and minutes; the third type of time can be understood as time with a monthly cycle.

[0126] 4) The time type is the fourth type, which is expressed in hours and minutes; the fourth type of time can be understood as time with a cycle of days.

[0127] For example, the start / end time is of type one, which uses absolute time to represent the start / end time. Figure 8 illustrates the absolute time representation of the start / end time, where the start time is represented by the start year (StartYear), start month (StartMonth), and start day (StartDay); and the end time is represented by the end year (EndYear), end month (EndMonth), and end day (EndDay). The representation of hours and minutes is omitted here.

[0128] Figure 9 is a schematic diagram of the structure of the path adjustment device provided in an embodiment of this application, applied to the head node. As shown in Figure 9, the path adjustment device includes:

[0129] The acquisition unit 901 is configured to acquire one or more SR strategies, wherein the SR strategy includes one or more candidate paths, and the candidate path includes one or more segment lists; wherein the SR strategy and / or the candidate path and / or the segment list carries time scheduling information;

[0130] Adjustment unit 902 is configured to adjust the SR policy and / or candidate path and / or segment list used for service forwarding based on the time scheduling information.

[0131] In some implementations, the SR strategy carries first time scheduling information, and / or the candidate path carries second time scheduling information, and / or the segment list carries third time scheduling information.

[0132] In some embodiments, the adjustment unit 902 is configured to adjust the SR policy used for service forwarding to a first SR policy according to the first time scheduling information; wherein the time indicated by the first time scheduling information in the first SR policy is the effective time for service forwarding; and / or, adjust the candidate path used for service forwarding to a first candidate path according to the second time scheduling information; wherein the time indicated by the second time scheduling information in the first candidate path is the effective time for service forwarding; and / or, adjust the segment list used for service forwarding to a first segment list or a first group of segment lists according to the third time scheduling information; wherein the time indicated by the third time scheduling information in each segment list in the first segment list or the first group of segment lists is the effective time for service forwarding.

[0133] In some implementations, the time scheduling information includes one or more of the following fields:

[0134] The first field is used to indicate the start time;

[0135] The second field is used to indicate the end time;

[0136] The third field is used to indicate the time level, which is the SR strategy level, the candidate path level, or the segment list level.

[0137] The fourth field, which is used to indicate the time period;

[0138] The fifth field is used to indicate the time type of the start time and / or end time.

[0139] In some implementations, the time type is a first type, where the time is represented by year, month, day, hour, and minute; or, the time type is a second type, where the time is represented by month, day, hour, and minute; or, the time type is a third type, where the time is represented by day, hour, and minute; or, the time type is a fourth type, where the time is represented by hour and minute.

[0140] In some embodiments, the apparatus further includes a forwarding unit 903, configured to forward services according to a default SR policy and / or a default candidate path and / or a default segment list if the time scheduling information is not successfully obtained.

[0141] In some implementations, the path corresponding to the SR policy and / or candidate path and / or segment list used for service forwarding before adjustment is the first path; the path corresponding to the SR policy and / or candidate path and / or segment list used for service forwarding after adjustment is the second path.

[0142] The forwarding unit 903 is configured to forward services through the first path in a first cycle and through the second path in a second cycle.

[0143] In some implementations, the forwarding unit 903 is configured to, if the delay of the first path is less than the delay of the second path, advance the start time of the second period relative to the base time by a first duration; the first duration is determined based on the delay of the first path and the delay of the second path; if the delay of the first path is greater than the delay of the second path, delay the start time of the second period relative to the base time by a second duration; the second duration is determined based on the delay of the first path and the delay of the second path.

[0144] In some implementations, the forwarding unit 903 is configured to mark the last or a group of service packets forwarded in the first period with an end marker, the end marker being used by the next-hop node of the head node to identify the last or a group of service packets in the first period; after receiving a notification message sent by the next-hop node, it determines to start forwarding service packets in the second period, the notification message being used to notify the end of the first period.

[0145] In some embodiments, the forwarding unit 903 is configured to mark service packets forwarded in a first time period of the first period with a first coloring mark, and to mark service packets forwarded in a second time period of the second period with a second coloring mark; the first time period and the second time period are adjacent in time; the first coloring mark and the second coloring mark are used by the tail node to identify service packets in the same period.

[0146] Those skilled in the art should understand that the functions of each unit in the path adjustment device shown in Figure 9 can be understood with reference to the relevant description of the aforementioned method. The functions of each unit in the path adjustment device shown in Figure 9 can be implemented by a program running on a processor, or by specific logic circuits.

[0147] Figure 10 is a schematic diagram of the structure of the path adjustment device provided in this application embodiment, applied to the head node. As shown in Figure 10, the path adjustment device includes:

[0148] The acquisition unit 1001 is configured to acquire an SR strategy, wherein the SR strategy includes one or more candidate paths, and the candidate paths include multiple weighted segment lists; wherein the weights carry time scheduling information.

[0149] The adjustment unit 1002 is configured to adjust the weights of some or all of the segment lists in multiple segment lists according to the time scheduling information.

[0150] In some implementations, the weights of multiple segment lists of the same candidate path carry uniform time scheduling information; or, the weights of multiple segment lists of the same candidate path carry independent time scheduling information.

[0151] In some implementations, the adjustment unit 1002 is configured to adjust the weights of some or all of the segment lists in the multiple segment lists to a first weight according to the time scheduling information; wherein the time indicated by the time scheduling information of the first weight is the effective time for service forwarding.

[0152] In some implementations, the time scheduling information includes one or more of the following fields:

[0153] The first field, the fifth field is used to indicate the start time;

[0154] The second field is used to indicate the end time;

[0155] The fourth field, which is used to indicate the time period;

[0156] The fifth field is used to indicate the time type of the start time and / or end time.

[0157] In some implementations, the time type is a first type, where the time is represented by year, month, day, hour, and minute; or, the time type is a second type, where the time is represented by month, day, hour, and minute; or, the time type is a third type, where the time is represented by day, hour, and minute; or, the time type is a fourth type, where the time is represented by hour and minute.

[0158] In some embodiments, the apparatus further includes a forwarding unit 1003, configured to forward services according to the default weights of the multiple segment lists if the time scheduling information is not successfully obtained.

[0159] In some implementations, the path corresponding to the multiple segment lists used for service forwarding before weight adjustment is the first path; the path corresponding to the multiple segment lists used for service forwarding after weight adjustment is the second path.

[0160] The forwarding unit 1003 is configured to forward services through the first path in the first cycle and through the second path in the second cycle.

[0161] In some implementations, the forwarding unit 1003 is configured to, if the delay of the first path is less than the delay of the second path, advance the start time of the second period relative to the base time by a first duration; the first duration is determined based on the delay of the first path and the delay of the second path; if the delay of the first path is greater than the delay of the second path, delay the start time of the second period relative to the base time by a second duration; the second duration is determined based on the delay of the first path and the delay of the second path.

[0162] In some implementations, the forwarding unit 1003 is configured to mark the last or a group of service packets forwarded in the first period with an end marker, the end marker being used by the next-hop node of the head node to identify the last or a group of service packets in the first period; after receiving a notification message sent by the next-hop node, it determines to start forwarding service packets in the second period, the notification message being used to notify the end of the first period.

[0163] In some embodiments, the forwarding unit 1003 is configured to mark the service packets forwarded in the first time period of the first period with a first coloring mark, and to mark the service packets forwarded in the second time period of the second period with a second coloring mark; the first time period and the second time period are adjacent in time; the first coloring mark and the second coloring mark are used by the tail node to identify service packets in the same period.

[0164] Those skilled in the art should understand that the functions of each unit in the path adjustment device shown in Figure 10 can be understood with reference to the relevant description of the aforementioned method. The functions of each unit in the path adjustment device shown in Figure 10 can be implemented by a program running on a processor, or by specific logic circuits.

[0165] Figure 11 is a schematic structural diagram of a communication device 1100 provided in an embodiment of this application. The communication device 1100 shown in Figure 11 includes a processor 1110, which can call and run computer programs from memory to implement the methods in the embodiments of this application.

[0166] Optionally, as shown in FIG11, the communication device 1100 may further include a memory 1120. The processor 1110 may retrieve and run computer programs from the memory 1120 to implement the methods described in the embodiments of this application.

[0167] The memory 1120 can be a separate device independent of the processor 1110, or it can be integrated into the processor 1110.

[0168] Optionally, as shown in FIG11, the communication device 1100 may further include a transceiver 1130, and the processor 1110 may control the transceiver 1130 to communicate with other devices. Specifically, it may send information or data to other devices or receive information or data sent by other devices.

[0169] The transceiver 1130 may include a transmitter and a receiver. The transceiver 1130 may further include an antenna, and the number of antennas may be one or more.

[0170] The communication device 1100 may specifically be the head node in the embodiments of this application, and the communication device 1100 may implement the corresponding processes implemented by the head node in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.

[0171] Figure 12 is a schematic structural diagram of a chip according to an embodiment of this application. The chip 1200 shown in Figure 12 includes a processor 1210, which can call and run computer programs from memory to implement the methods in the embodiments of this application.

[0172] Optionally, as shown in FIG12, chip 1200 may further include memory 1220. Processor 1210 may retrieve and run computer programs from memory 1220 to implement the methods in the embodiments of this application.

[0173] The memory 1220 can be a separate device independent of the processor 1210, or it can be integrated into the processor 1210.

[0174] Optionally, the chip 1200 may also include an input interface 1230. The processor 1210 can control the input interface 1230 to communicate with other devices or chips; specifically, it can acquire information or data sent by other devices or chips.

[0175] Optionally, the chip 1200 may also include an output interface 1240. The processor 1210 can control the output interface 1240 to communicate with other devices or chips, specifically, to output information or data to other devices or chips.

[0176] This chip can be applied to the head node in the embodiments of this application, and the chip can implement the corresponding processes implemented by the head node in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.

[0177] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0178] It should be understood that the processor in the embodiments of this application may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method embodiments can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor described above can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0179] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0180] It should be understood that the above-described memory is exemplary and not a limiting description. For example, the memory in the embodiments of this application may also be static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DR RAM), etc. That is to say, the memory in the embodiments of this application is intended to include, but is not limited to, these and any other suitable types of memory.

[0181] This application also provides a computer-readable storage medium for storing a computer program. This computer-readable storage medium can be applied to the head node in the embodiments of this application, and the computer program causes a computer to execute the corresponding processes implemented by the head node in the various methods of the embodiments of this application; for the sake of brevity, further details are omitted here.

[0182] This application also provides a computer program product, including computer program instructions. This computer program product can be applied to the head node in the embodiments of this application, and the computer program instructions cause the computer to execute the corresponding processes implemented by the head node in the various methods of the embodiments of this application. For the sake of brevity, further details are omitted here.

[0183] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0184] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0185] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0186] The units described as separate components may or may not be physically separate. 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 units can be selected to achieve the purpose of this embodiment according to actual needs.

[0187] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0188] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0189] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A path adjustment method, the method comprising: The head node obtains one or more segment routing (SR) policies, the SR policies including one or more candidate paths, the candidate paths including one or more segment lists; wherein, the SR policies and / or the candidate paths and / or the segment lists carry time scheduling information; The head node adjusts the SR strategy and / or candidate path and / or segment list used for service forwarding based on the time scheduling information.

2. The method of claim 1, wherein, The SR strategy carries first time scheduling information, and / or the candidate path carries second time scheduling information, and / or the segment list carries third time scheduling information.

3. The method of claim 2, wherein, The head node adjusts the SR strategy and / or candidate path and / or segment list used for service forwarding based on the time scheduling information, including: The head node adjusts the SR policy used for service forwarding to a first SR policy based on the first time scheduling information; wherein the time indicated by the first time scheduling information in the first SR policy is the effective time for service forwarding; and / or, The head node adjusts the candidate path used for service forwarding to the first candidate path according to the second time scheduling information; wherein, the time indicated by the second time scheduling information on the first candidate path is the effective time for service forwarding; and / or, The head node adjusts the segment list used for service forwarding to a first segment list or a first group of segment lists based on the third time scheduling information; wherein, the time indicated by the third time scheduling information in each segment list of the first segment list or the first group of segment lists is the effective time for service forwarding.

4. The method of any one of claims 1 to 3, wherein, The time scheduling information includes one or more of the following fields: The first field is used to indicate the start time; The second field is used to indicate the end time; The third field is used to indicate the time level, which is the SR strategy level, the candidate path level, or the segment list level. The fourth field, which is used to indicate the time period; The fifth field is used to indicate the time type of the start time and / or end time.

5. The method according to claim 4, wherein, The time type is the first type, where time is expressed using year, month, day, hour, and minute; or, The time type is the second type, where time is expressed in months, days, hours, and minutes; or... The time type is the third type, while the second type of time is expressed in days, hours, and minutes; or... The time type is the fourth type, and the time in the fourth type is expressed in hours and minutes.

6. The method of any one of claims 1 to 3, wherein, The method further includes: If the head node fails to obtain the time scheduling information, the service is forwarded according to the default SR policy and / or the default candidate path and / or the default segment list.

7. The method of any one of claims 1 to 3, wherein, The path corresponding to the SR strategy and / or candidate path and / or segment list used for service forwarding was the first path before the adjustment; After the adjustment of the SR strategy and / or candidate path and / or segment list used for service forwarding, the corresponding path is the second path; The method further includes: The head node forwards services via the first path in the first cycle and via the second path in the second cycle.

8. The method of claim 7, wherein, The method further includes: If the delay of the first path is less than the delay of the second path, the head node advances the start time of the second period relative to the base time by a first duration; the first duration is determined based on the delay of the first path and the delay of the second path. If the delay of the first path is greater than the delay of the second path, the head node will postpone the start time of the second cycle by a second duration relative to the base time; the second duration is determined based on the delay of the first path and the delay of the second path.

9. The method of claim 7, wherein, The method further includes: The head node marks the last or a group of service packets forwarded in the first period with an end marker, which is used by the next-hop node of the head node to identify the last or a group of service packets in the first period. After receiving the notification message sent by the next-hop node, the head node determines to start forwarding the service messages in the second period. The notification message is used to announce the end of the first period.

10. The method of claim 7, wherein, The method further includes: The head node marks the service packets forwarded in the first time period of the first period with a first coloring mark, and marks the service packets forwarded in the second time period of the second period with a second coloring mark; the first time period and the second time period are adjacent in time; the first coloring mark and the second coloring mark are used by the tail node to identify service packets in the same period.

11. A path adjustment method, the method comprising: The head node obtains the SR strategy, which includes one or more candidate paths, and the candidate paths include multiple weighted segment lists; wherein the weights carry time scheduling information. The head node adjusts the weights of some or all of the segment lists in the multiple segment lists based on the time scheduling information.

12. The method according to claim 11, wherein, The weights of multiple segment lists for the same candidate path carry uniform time scheduling information; or, The weights of multiple segment lists for the same candidate path carry independent time scheduling information.

13. The method of claim 11, wherein, The head node adjusts the weights of some or all segments in multiple segment lists based on the time scheduling information, including: The head node adjusts the weights of some or all segments in the multiple segment lists to the first weight based on the time scheduling information; wherein the time indicated by the time scheduling information of the first weight is the effective time for service forwarding.

14. The method of any one of claims 11 to 13, wherein, The time scheduling information includes one or more of the following fields: The first field, the fifth field is used to indicate the start time; The second field is used to indicate the end time; The fourth field, which is used to indicate the time period; The fifth field is used to indicate the time type of the start time and / or end time.

15. The method according to claim 14, wherein, The time type is the first type, where time is expressed using year, month, day, hour, and minute; or, The time type is the second type, where time is expressed in months, days, hours, and minutes; or... The time type is the third type, while the second type of time is expressed in days, hours, and minutes; or... The time type is the fourth type, and the time in the fourth type is expressed in hours and minutes.

16. The method of any one of claims 11 to 13, wherein, The method further includes: If the head node fails to obtain the time scheduling information, the service is forwarded according to the default weights of the multiple segment lists.

17. The method of any one of claims 11 to 13, wherein, Before the weight adjustment, the path corresponding to the multiple segment lists used for business forwarding was the first path; After the weight adjustment, the path corresponding to the multiple segment lists used for business forwarding is the second path; The method further includes: The head node forwards services via the first path in the first cycle and via the second path in the second cycle.

18. The method of claim 17, wherein, The method further includes: If the delay of the first path is less than the delay of the second path, the head node advances the start time of the second period relative to the base time by a first duration; the first duration is determined based on the delay of the first path and the delay of the second path. If the delay of the first path is greater than the delay of the second path, the head node will postpone the start time of the second cycle by a second duration relative to the base time; the second duration is determined based on the delay of the first path and the delay of the second path.

19. The method of claim 17, wherein, The method further includes: The head node marks the last or a group of service packets forwarded in the first period with an end marker, which is used by the next-hop node of the head node to identify the last or a group of service packets in the first period. After receiving the notification message sent by the next-hop node, the head node determines to start forwarding the service messages in the second period. The notification message is used to announce the end of the first period.

20. The method of claim 17, wherein, The method further includes: The head node marks the service packets forwarded in the first time period of the first period with a first coloring mark, and marks the service packets forwarded in the second time period of the second period with a second coloring mark; the first time period and the second time period are adjacent in time; the first coloring mark and the second coloring mark are used by the tail node to identify service packets in the same period.

21. A path adjustment device applied to a head node, the device comprising: The acquisition unit is configured to acquire one or more SR strategies, wherein the SR strategy includes one or more candidate paths, and the candidate path includes one or more segment lists; wherein the SR strategy and / or the candidate path and / or the segment list carries time scheduling information; The adjustment unit is configured to adjust the SR policy and / or candidate path and / or segment list used for service forwarding based on the time scheduling information.

22. A path adjustment device applied to a head node, the device comprising: The acquisition unit is configured to acquire an SR strategy, wherein the SR strategy includes one or more candidate paths, and the candidate paths include multiple weighted segment lists; wherein the weights carry time scheduling information. The adjustment unit is configured to adjust the weights of some or all of the segment lists in multiple segment lists based on the time scheduling information.

23. A communication device comprising: A processor and a memory for storing a computer program, the processor for calling and running the computer program stored in the memory to perform the method as described in any one of claims 1 to 20.

24. A computer-readable storage medium for storing a computer program that causes a computer to perform the method as claimed in any one of claims 1 to 20.

25. A computer program product comprising computer program instructions that cause a computer to perform the method as claimed in any one of claims 1 to 20.

Citation Information

Patent Citations

  • Segment routing control method, segment routing node and controller

    CN111565148A

  • Segment routing service processing method, device, source node and storage medium

    CN112822106A

  • Segmented routing policy issuing method, apparatus and device, medium and program product

    CN114531393A

  • Segment routing strategy processing method and device

    CN117176631A

  • Path adjustment method and device, communication equipment, storage medium and program product

    CN119363641A