PB block distribution method, device and equipment for reducing OSU service delay

By adjusting the PB block allocation method for OSU services and replanning the number of PB blocks according to the service type, the latency problem of low-bandwidth OSU services during OPUk multiplexing was solved, achieving the effect of reducing latency and jitter on existing hardware.

CN121728048APending Publication Date: 2026-03-24RAISECOM TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-30
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

In existing technologies, low-bandwidth OSU services introduce more uncertain latency and latency jitter when multiplexed to OPUk, especially during OSU access and transfer services, where end-to-end latency increases slightly.

Method used

By determining the OSU base rate multiple C value of the target OSU service based on the service chain list, and adjusting the coefficient according to the service type, the number of PB blocks when the OSU service is reused to OPUk is replanned. Using the method of adjusting the coefficient not less than 1, PB blocks are allocated first to reduce latency.

Benefits of technology

Based on existing hardware, the latency of small-bandwidth OSU services (less than D PB blocks) is reduced at low cost, and existing products can be upgraded via software to support this, thus reducing latency and latency jitter.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121728048A_ABST
    Figure CN121728048A_ABST
Patent Text Reader

Abstract

The invention discloses a PB block distribution method, device and equipment for reducing time delay of an OSU service, and the method comprises the steps: determining a target OSU service of a current to-be-distributed PB block based on a service chain table when the time delay-reduced PB block distribution is triggered; determining an OSU reference rate multiple C value of the target OSU service, comparing the C value with a set threshold value D, and determining whether the target OSU service is a large-bandwidth service or a small-bandwidth service; if the target OSU service is a small-bandwidth service, according to the service type of the target OSU service, an adjustment coefficient of the C value is determined in a corresponding mode, and the adjustment coefficient is not less than 1; determining the number of distributed PB blocks when the target OSU service is multiplexed to the OPUk by using the C value and an adjustment coefficient; and according to the number of the PB blocks, multiplexing the target OSU service to the OPUk. Therefore, the problem that time delay is introduced when an existing small-bandwidth OSU service is multiplexed to the OPUk is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer vision technology, and in particular to a PB block allocation method, apparatus, and device for reducing OSU service latency. Background Technology

[0002] For PKT (Packet) services, the bit rate of the OSU (PKT) (Optical Service Unit-Packet) has no fixed value, ranging from 1 to C times the OSU base rate. C is the multiple of the OSU base rate. The transmission period is the time it takes for the OPUk (Optical Channel Payload Unit-k) to continuously transmit P payload blocks. A PKT service is mapped to C PB (Payload Blocks), and then multiplexed into the OPUk, enabling customer services to be transmitted via the OSU on the line side in the OTUk (Optical Channel Transport Unit).

[0003] There are two mapping multiplexing mechanisms for the continuous payload blocks of multiple OSUs mapped to OPUk. On devices using mapping multiplexing mechanism two, especially for low-bandwidth OSU services, due to their relatively fixed PB block allocation method, more uncertain latency will be introduced during OSU access services and OSU transfer services, resulting in a slightly larger end-to-end latency, accompanied by increased latency jitter. Summary of the Invention

[0004] The purpose of this application is to provide a PB block allocation method, apparatus, and device for reducing OSU service latency, in order to solve the problem of latency introduced by existing low-bandwidth OSU services when multiplexed to OPUk.

[0005] In a first aspect, embodiments of this application provide a PB block allocation method for reducing OSU service latency, the method comprising: When triggering the allocation of PB blocks to reduce latency, the target OSU service to be allocated the current PB block is determined based on the service chain list; Determine the OSU base rate multiple C value of the target OSU service, and compare the C value with a set threshold D to determine whether the target OSU service is a high-bandwidth service or a low-bandwidth service; If the target OSU service is a low-bandwidth service, the adjustment coefficient of the C value is determined according to the service type of the target OSU service in a corresponding manner, and the adjustment coefficient is not less than 1; Using the C value and adjustment coefficient, determine the number of PB blocks allocated when multiplexing the target OSU service to OPUk; Based on the number of PB blocks, the target OSU service is multiplexed onto OPUk.

[0006] In some possible embodiments, determining the adjustment coefficient of the C value according to the service type of the target OSU service in a corresponding manner includes: When the target OSU service is determined to be an OSU switching service, the adjustment coefficient kt of the C value is determined to be 1 or 2 based on the number of PB blocks P in OPUk, the total number of PB blocks of all high-bandwidth services under the OPUk port, and the total number of PB blocks of all low-bandwidth services.

[0007] In some possible embodiments, determining the adjustment coefficient of the C value according to the service type of the target OSU service in a corresponding manner includes: Calculate kttemp = floor((P - PBMDTotal) / PBSDTotal); If kttemp is greater than or equal to 2, the value of kt is determined to be 2; otherwise, the value of kt is determined to be 1. Where floor means round down, and PBMDTotal is the total number of PB blocks for all OSU transfer services and OSU access services with a C value greater than or equal to D under the OPUk port; PBSDTotal is the total number of PB blocks for all OSU transfer services and OSU access services with a C value less than D under the OPUk port.

[0008] In some possible embodiments, determining the adjustment coefficient of the C value according to the service type of the target OSU service in a corresponding manner includes: When the target OSU service is determined to be an OSU access service, the adjustment coefficient of C value is determined as kai based on the number of remaining PB blocks on the OPUk port and the total number of PB blocks corresponding to different service types of small bandwidth services without allocated PB blocks.

[0009] In some possible embodiments, determining the adjustment coefficient of the C value according to the service type of the target OSU service in a corresponding manner includes: Calculate kai = floor( (PBLeft - kt) PBSDTLeft) / PBSDALeft) Wherein, PBLeft is the number of remaining PB blocks on the OPUk port, PBSDTLeft is the total number of PB blocks for OSU transfer services with C values ​​less than D under the OPUk port, and PBSDALeft is the total number of PB blocks for OSU access services with C values ​​less than D under the OPUk port.

[0010] In some possible embodiments, determining the target OSU service for the currently allocated PB block based on the service chain list includes: Determine the C value corresponding to each of the multiple OSU services to be allocated PB in the service chain list; The multiple OSU services are prioritized according to the C value, where the larger the C value, the higher the priority of the corresponding OSU service. Determine the target OSU services for the current PB blocks to be allocated, in descending order of priority. When the C values ​​of OSU services of different service types are the same, the priority of OSU access services is greater than that of OSU transfer services.

[0011] In some possible embodiments, the method further includes: If the target OSU service is a high-bandwidth service, the number of PB blocks allocated when multiplexing the target OSU service to OPUk is determined according to the C value.

[0012] In some possible embodiments, the target OSU service is multiplexed to OPUk according to the number of PB blocks, including: Based on the number of PB blocks, the distribution position of each allocated PB block in the remaining PB blocks in OPUk is calculated according to the sigma-delta algorithm. The PB blocks at the determined distribution locations are allocated to the target OSU services.

[0013] In some possible embodiments, the step of multiplexing the target OSU service to OPUk according to the number of PB blocks includes: Based on the number of PB blocks, the distribution position of each allocated PB block in the remaining PB blocks in OPUk is calculated according to the sigma-delta algorithm. The PB blocks at the determined distribution locations are allocated to the target OSU services.

[0014] In some possible embodiments, the method further includes at least one of the following steps: In response to the OSU service creation command, depending on whether the created OSU service is a high-bandwidth service or a low-bandwidth service, the parameters related to the adjustment coefficient are determined and updated. After the update is completed, the OSU service is added to the service list and the allocation of PB blocks to reduce latency is triggered. In response to the OSU service deletion command, depending on whether the deleted OSU service is a high-bandwidth service or a low-bandwidth service, the corresponding parameters related to the adjustment coefficient are determined and updated. After the update is completed, the OSU service is deleted from the service chain list and the allocation of PB blocks to reduce latency is triggered. In response to the OSU service bandwidth adjustment instruction, depending on whether the OSU service whose bandwidth is being adjusted is a high-bandwidth service or a low-bandwidth service, the parameters related to the adjustment coefficient are determined and updated. The OSU service is then removed from the service list, and the parameters related to the adjustment coefficient are updated according to the target bandwidth. After the update is completed, the OSU service is added to the service list and the allocation of PB blocks for latency reduction is triggered.

[0015] Secondly, embodiments of this application provide a PB block allocation device for reducing OSU service latency, the device comprising: The OSU service determination module is used to determine the target OSU service to be allocated the current PB block based on the service chain when triggering the allocation of PB blocks to reduce latency. The service bandwidth determination module is used to determine the OSU base rate multiple C value of the target OSU service, and compare the C value with a set threshold D to determine whether the target OSU service is a high bandwidth service or a low bandwidth service. The coefficient adjustment module is used to determine the adjustment coefficient of the C value according to the service type of the target OSU service and in a corresponding manner if the target OSU service is a low-bandwidth service, wherein the adjustment coefficient is not less than 1; The PB block number determination module is used to determine the number of PB blocks allocated when the target OSU service is multiplexed to OPUk using the C value and adjustment coefficient; The service reuse module is used to reuse the target OSU service to OPUk according to the number of PB blocks.

[0016] Thirdly, another embodiment of this application provides a PB block allocation device for reducing OSU service latency, including at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute any of the PB block allocation methods for reducing OSU service latency provided in the embodiments of this application.

[0017] Fourthly, another embodiment of this application also provides a computer storage medium storing a computer program for causing a computer to execute any of the PB block allocation methods for reducing OSU service latency provided in the embodiments of this application.

[0018] The PB block allocation method, apparatus, and device for reducing OSU service latency provided in this application embodiment can reduce the latency of small-bandwidth OSU services (less than D PB blocks) on the basis of existing hardware, without changing the hardware resources, with low cost and software upgrade support for existing products.

[0019] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings. Attached Figure Description

[0020] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments of this application will be briefly introduced below. Obviously, the drawings introduced below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 This is a schematic diagram illustrating two PB block allocation opportunities within one cycle in the relevant technology of this application; Figure 2 A schematic diagram illustrating an application scenario of the PB block allocation method for reducing OSU service latency provided in this application embodiment; Figure 3 A flowchart of a PB block allocation method for reducing OSU service latency provided in an embodiment of this application; Figure 4 A detailed flowchart of the PB block allocation method for reducing OSU service latency provided in the embodiments of this application; Figure 5 This is a schematic diagram illustrating the allocation results of three services as an example of an embodiment of this application; Figure 6 This is a schematic diagram illustrating the result of PB block allocation according to the second mapping reuse mechanism, as exemplified in an embodiment of this application. Figure 7 A flowchart illustrating the specific process of calling the PB block allocation method to reduce OSU service latency when creating OSU services, as provided in Embodiment 1 of this application; Figure 8 A flowchart illustrating the specific process of calling the PB block allocation method to reduce OSU service latency when deleting OSU services, as provided in Embodiment 2 of this application; Figure 9 A flowchart illustrating the specific process of calling the PB block allocation method to reduce OSU service latency when adjusting bandwidth, as provided in Embodiment 3 of this application; Figure 10 A structural diagram of a PB block allocation device for reducing OSU service latency provided in an embodiment of this application; Figure 11 This is a structural diagram of a PB block allocation device for reducing OSU service latency provided in an embodiment of this application. Detailed Implementation

[0022] To further illustrate the technical solutions provided in the embodiments of this application, a detailed description is provided below in conjunction with the accompanying drawings and specific implementation methods. Although the embodiments of this application provide method operation steps as shown in the following embodiments or drawings, more or fewer operation steps may be included in the method based on conventional or non-inventive effort. For steps that do not logically have a necessary causal relationship, the execution order of these steps is not limited to the execution order provided in the embodiments of this application. In actual processing or when the control device executes the method, it may be executed sequentially or in parallel according to the method shown in the embodiments or drawings.

[0023] OTN (Optical Transport Network) boasts advantages such as high bandwidth, hard-line connectivity, multi-service carrying capacity, and carrier-grade OAM (Operations, Administration, and Maintenance) mechanisms. It is a widely adopted transport technology in the industry, deployed on a large scale in backbone networks and metropolitan area networks, providing high-quality connectivity for customer services with speeds above 1Gbps. OTN equipment based on OSU (Optical Service Unit) is an optimization and extension of traditional OTN equipment. By introducing OSU technology, it can provide high-quality connectivity for customer services with speeds below 1Gbps. The recommended baseline rate for OSU is 2.6 Mbit / s.

[0024] For PKT (Packet Transport) services, the transmission cycle is the time it takes for an OPUk to continuously transmit P payload blocks. The value of P is determined by the OPU payload rate and the OSU base rate. Different OPUks have different values ​​of P. There are two mapping multiplexing mechanisms for multiplexed payload blocks from multiple OSUs to the OPU. In each transmission cycle, there are P payload blocks, which can be sequentially numbered as #1…#P, corresponding to the payload block position indicator i, where i cycles from 1 to P. The number of payload blocks allocated to each OSU in each transmission cycle is denoted as C.

[0025] According to the technical requirements of the Optical Service Unit (OSU), there are two mapping multiplexing mechanisms for mapping and multiplexing consecutive payload blocks from multiple OSUs to the OPU. The equipment manufacturers choose between these two mechanisms based on product requirements and hardware resources. This application's embodiments mainly focus on equipment employing mapping multiplexing mechanism two, analyzing its method for reducing OSU service latency.

[0026] On devices employing Mapping Multiplexing Mechanism 2, especially for low-bandwidth OSU services, the relatively fixed PB block allocation method introduces more uncertain latency during OSU access and OSU transfer services, resulting in a slightly increased end-to-end latency accompanied by increased latency jitter. For high-bandwidth OSU services, Mapping Multiplexing Mechanism 2 has a smaller impact on latency. This application primarily considers methods to reduce latency in OSU access and OSU transfer services. Examples of causes of latency include... Figure 1 As shown: The diagram has 20 columns, representing one transmission cycle, which is the concept of P in OSU. Each column represents one transmission opportunity, which is the concept of PB block in OSU. The blocks with gray shading represent transmission opportunities allocated to a specific service. If a service requires two opportunities in one transmission cycle, such as... Figure 1 As shown. When a transmission request for this service arrives, Figure 1 The maximum wait time is 270 milliseconds, the minimum wait time is approximately 0 milliseconds, and the average wait time is approximately 135 milliseconds; this is the latency introduced to the service, and one of the causes of latency. The smaller the OSU service bandwidth, the fewer transmission opportunities are needed, and the greater the introduced latency will be. The larger the OSU service bandwidth, the more transmission opportunities are needed, and the smaller the introduced latency will be.

[0027] In this application embodiment, the D value is used to distinguish between high-bandwidth and low-bandwidth OSU services. When C is greater than or equal to D, it is considered a high-bandwidth OSU service; when C is less than D, it is considered a low-bandwidth OSU service. For example, this application embodiment selects a D value of 120, but it does not limit the D value to other values. When the D value is 120, the corresponding OSU occupies 120 PB blocks, and the bandwidth is 300M.

[0028] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings.

[0029] The PB block allocation method for reducing OSU service latency provided in this application embodiment has the following application scenarios: Figure 2 As shown, in practical applications, there will be one or more box-type access points, which converge to different head nodes through ring network nodes. In practice, there can be multiple head nodes. Ring network nodes 1-4 also exist in multiple ways in practice. Figure 2 The four examples given are just one example.

[0030] The box-type access equipment at nodes 5-6 is mainly placed at the client side. After the user's client-side service access is encapsulated into an optical service unit (OSU), it is connected to the ring network nodes 1-4 through the line-side OTUk (Optical Channel Transport Unit-k) interface. Nodes 5-6 are for OSU access services.

[0031] Ring network nodes 1-4 can handle OSU switching services, OSU access services, or a combination of both within the same OPUk. Ring network nodes are connected via OTUk interfaces. OSU switching services can be either OSU access services from node 5, routed from node 3 -> node 2 -> node 1 -> node 7, and demapped to customer service at node 7; or OSU access services from node 5, routed from node 3 -> node 4 -> node 1 -> node 7, and demapped to customer service at node 7; or OSU access services from node 6, routed from node 4 -> node 1 -> node 7, and demapped to customer service at node 7. OSU access services can involve customer-side service access through this node, encapsulated into an OSU, and then transmitted to the peer service provider via the line-side OTUk.

[0032] Node 7 is the head node, which demaps the services accessed by Node 5 and Node 6 to OSUs and transforms them into customer services, ultimately enabling business interoperability between the headquarters and multiple branch structures. Node 7 is also an OSU access service.

[0033] This application provides a PB block allocation method to reduce OSU service latency. It is applied to any node in the above application scenario. The node is a device that adopts the mapping multiplexing mechanism two. The goal is to reduce the latency introduced when the above services are transmitted through the OSU. The overall solution is to re-plan the number of PB blocks actually allocated to the OSU when the OSU service is multiplexed to OPUk.

[0034] The following is an explanation of the variable identifiers used in this application embodiment when multiplexing OSU services of the node's OPUk port to OPUk: PBSDTTotal: refers to the total number of PB blocks for all OSU transfer services with a C value less than D under this OPUk port; PBSDATotal: refers to the total number of petabyte blocks (PB blocks) for all OSU access services under this OPUk port where the C value is less than D; PBMDTotal: refers to the total number of PB blocks for all OSU transfer services and OSU access services with a C value greater than or equal to D under this OPUk port; PBSDTotal: refers to the total number of petabytes (PB) of all OSU transfer services and OSU access services with a C value less than D under this OPUk port; P: refers to the OSU P cycle value of the OPUk port, that is, the total number of PB blocks in each cycle under this OPUk; PBSDTLeft: This refers to the total number of PB blocks for all OSU transfer services with C values ​​less than D under this OPUk port that have not been allocated PB blocks. This value is updated after allocating PB blocks for each OSU transfer service with a C value less than D. PBSDALeft: This refers to the total number of PB blocks for all OSU access services with a C value less than D under this OPUk port that have not been allocated PB blocks. This value is updated after allocating PB blocks for each OSU access service with a C value less than D. PBLeft: This refers to the number of PB blocks remaining under this OPUk port during the service allocation process. Each time PB blocks are allocated, the number of PB blocks allocated in this instance will be reduced.

[0035] Wherein, PBSDTotal = PBSDTTotal + PBSDATotal.

[0036] like Figure 3 As shown in the embodiments of this application, the PB block allocation method for reducing OSU service latency includes: Step 301: When triggering the allocation of PB blocks to reduce latency, the target OSU service to be allocated the current PB block is determined based on the service chain list. The aforementioned service chain includes all OSU services that are waiting to be allocated PB blocks under the current OPUk port of the node. Within one transmission cycle, PB blocks are allocated to the OSU services under the current OPUk port, and multiple OSU services are multiplexed into the OPUk, so that customer services can be transmitted in the OTUk on the line side through the OSU.

[0037] Step 302: Determine the OSU base rate multiple C value of the target OSU service, and compare the C value with a set threshold D to determine whether the target OSU service is a high-bandwidth service or a low-bandwidth service; The aforementioned threshold D is used to distinguish whether the OSU service is a high-bandwidth service or a low-bandwidth service. When the value of C is less than D, the OSU service is determined to be a low-bandwidth service, and when the value of C is greater than or equal to D, the OSU service is determined to be a high-bandwidth service.

[0038] Step 303: If the target OSU service is a low-bandwidth service, determine the adjustment coefficient of the C value according to the service type of the target OSU service in the corresponding manner, and the adjustment coefficient shall not be less than 1; In this application embodiment, for target OSU services of different service types, the adjustment coefficient of the C value is determined in a manner corresponding to the service type, so that the number of PB blocks obtained by multiplying the adjustment coefficient by the C value is not less than the number of PB blocks determined by related technologies (related technologies determine the C value as the number of allocated PB blocks), thereby enabling small bandwidth services to allocate more PB blocks, thereby reducing latency.

[0039] The aforementioned service types include OSU access services and OSU transfer services. As mentioned earlier, a node may only have OSU access services, or only OSU transfer services, or it may include both OSU access services and OSU transfer services.

[0040] Step 304: Using the C value and adjustment coefficient, determine the number of PB blocks allocated when the target OSU service is multiplexed to OPUk; In this embodiment, the C value is multiplied by an adjustment coefficient to obtain the number of allocated PB blocks. Since the adjustment coefficient is not less than 1, the number of PB blocks obtained remains the same or increases compared to the prior art.

[0041] Step 305: Multiplex the target OSU service to OPUk according to the number of PB blocks.

[0042] The PB block allocation method for reducing OSU service latency provided in this application embodiment can reduce the latency of small-bandwidth OSU services (less than D PB blocks) by utilizing idle PB blocks and combining them with the PB block allocation method on the basis of existing hardware, without changing the hardware resources. This achieves low cost and can be supported by software upgrades of existing products.

[0043] In some possible embodiments, if the C value is greater than or equal to D, the target OSU service is determined to be a high-bandwidth service. The number of PB blocks allocated when multiplexing the target OSU service to OPUk is determined according to the C value, and the target OSU service is multiplexed to OPUk according to the determined number of PB blocks. That is, compared with related technologies, for high-bandwidth OSU services, the number of PB blocks occupied when the OSU is multiplexed to OPUk remains unchanged.

[0044] In some possible embodiments, the adjustment factor of the C value is determined according to the service type of the target OSU service in a corresponding manner, including: when the target OSU service is determined to be an OSU transfer service, the adjustment factor kt of the C value is determined to be 1 or 2 based on the number of PB blocks P in OPUk, the total number of PB blocks of all high-bandwidth services under the OPUk port, and the total number of PB blocks of all low-bandwidth services.

[0045] In this embodiment of the application, for OSU switching services with fewer than D PB blocks, when the OSU service is multiplexed to OPUk, kt is allocated to it. There are C PB blocks. Here, kt takes a value of 1 or 2. The goal is to halve or maintain the latency of OSU transfer services, primarily considering halving or not reducing latency for transfer services. This way, the addition or removal of services at transfer nodes will have a relatively smaller impact on the latency of existing transfer services. At the same time, halving or maintaining the latency of OSU transfer services makes it easier to determine the impact of each node on the latency of OSU transfer services.

[0046] In some possible embodiments, the adjustment factor for the C value is determined according to the service type of the target OSU service in a corresponding manner, including: Calculate kttemp = floor((P - PBMDTotal) / PBSDTotal); If kttemp is greater than or equal to 2, the value of kt is determined to be 2; otherwise, the value of kt is determined to be 1. Where floor means round down, PBMDTotal is the total number of PB blocks for all OSU transfer services and OSU access services with a C value greater than or equal to D under the OPUk port, that is, PBMDTotal is the total number of PB blocks for all high-bandwidth services under the OPUk port. PBSDTotal is the total number of PB blocks for all OSU transfer services and OSU access services with a C value less than D under the OPUk port. In other words, PBSDTotal is the total number of PB blocks for all low-bandwidth services under the OPUk port.

[0047] In some possible embodiments, the adjustment coefficient of the C value is determined according to the service type of the target OSU service in a corresponding manner, including: when the target OSU service is determined to be an OSU access service, the adjustment coefficient of the C value is determined to be kai based on the number of remaining PB blocks on the OPUk port and the total number of PB blocks corresponding to small bandwidth services of different service types without allocated PB blocks.

[0048] In this embodiment of the application, for OSU access services with fewer than D PB blocks, when the OSU service is multiplexed to OPUk, a kai is allocated to it. There are C PB blocks. The kai value is calculated based on the remaining PB blocks and the total number of PB blocks for small-bandwidth services with remaining unallocated traffic, rounded down to obtain the maximum kai value. The goal is to allocate idle PB blocks to small-bandwidth access services to the maximum extent possible, thereby reducing OSU access service latency.

[0049] In some possible embodiments, the adjustment factor for the C value is determined according to the service type of the target OSU service in a corresponding manner, including: Calculate kai = floor( (PBLeft - kt) PBSDTLeft) / PBSDALeft) Wherein, PBLeft is the number of remaining PB blocks on the OPUk port, PBSDTLeft is the total number of PB blocks for all OSU transfer services with C values ​​less than D under the OPUk port that have not been allocated PB blocks, and PBSDALeft is the total number of PB blocks for all OSU access services with C values ​​less than D under the OPUk port that have not been allocated PB blocks. PBSDTLeft and PBSDALeft are the total number of PB blocks corresponding to small-bandwidth services of different service types with unallocated PB blocks, respectively.

[0050] The methods for distinguishing between OSU access services and OSU transfer services can be as follows: automatic identification based on service type during service configuration, or identification through the overhead channel in the case of inter-board services, or automatic configuration during service configuration. Specific methods can be employed as described in relevant technologies, which will not be detailed here. However, the distinction between OSU access services and OSU transfer services is completed during service creation.

[0051] In some possible embodiments, determining the target OSU service for the current PB block to be allocated based on the service chain list includes: determining the C value corresponding to each of the multiple OSU services to be allocated in the service chain list; prioritizing the multiple OSU services according to the C value, wherein the larger the C value, the higher the priority of the corresponding OSU service; determining the target OSU service for the current PB block to be allocated in descending order of priority; wherein when the C values ​​of OSU services of different service types are the same, the priority of the OSU access service is greater than the priority of the OSU transfer service.

[0052] This application embodiment utilizes a service linked list to arrange multiple OSU services under OPUk in descending order of their C values. When OSU access services and OSU transfer services have the same C value, the OSU access service is placed before the OSU transfer service in the service linked list. The purpose of this is that the kai value of the OSU access service must be greater than or equal to the kt value. Therefore, for services with the same C value, the OSU access service occupies more PB blocks than the OSU transfer service, prioritizing the allocation of services with more PB blocks.

[0053] When the PB block allocation method for reducing OSU service latency provided in the embodiments of this application is applied to the aforementioned nodes, each node has the opportunity to reduce OSU service latency. Even if some nodes support it while others do not, such as in applications involving interoperation of equipment from different manufacturers, there is still a chance to reduce OSU service latency.

[0054] In some possible embodiments, the step of multiplexing the target OSU service to OPUk according to the number of PB blocks includes: calculating the distribution position of each allocated PB block in the remaining PB blocks in OPUk according to the sigma-delta algorithm based on the number of PB blocks; and allocating the PB blocks at the determined distribution positions to the target OSU service.

[0055] like Figure 4 The overall flowchart of the PB block allocation method for reducing OSU service latency provided in the embodiments of this application mainly includes: Step 401, set PBLeft = P; PBSDTLeft = PBSDTTotal; PBSDALeft = PBSDATotal; For low-bandwidth OSU services, calculate the kt value of the OSU access service. For the specific calculation method, please refer to the above embodiment description. Step 402: Based on the business linked list, obtain the target OSU business with the largest C value among the remaining unallocated PB blocks of the OSU business in the linked list; Step 403: Determine whether the C value of the target OSU service is greater than or equal to the D value. If yes, proceed to step 404; otherwise, proceed to step 405. Step 404: If the value is greater than or equal to the D value, allocate a PB block to it according to the C value of the target OSU service, and update PBLeft=PBLeft-C; Step 405: If the value is less than D, determine whether the target OSU service is an access service. If it is, proceed to step 406; otherwise, proceed to step 407. Step 406: If it is an OSU access service, calculate the kai value of the target OSU service and sort it by kai. C allocates a PB block to it and updates PBLeft = PBLeft - kai. C, PBSDALeft = PBSDALeft - C; Step 407, if it is an OSU transfer service, follow the steps by kt. C allocates a PB block to it and updates PBLeft = PBLeft - kt. C, PBSDTLeft = PBSDTLeft - C; Step 408: Based on the business chain, determine whether there are any remaining unallocated PB blocks for OSU services. If yes, return to step 402; otherwise, end.

[0056] Since the P value differs for different OPUk, and the P value is smallest (476) for OPU0, this application uses P = 20 and D = 10 as an example to illustrate the PB block allocation method. Assume that one OPUk contains three OSU services: OSU #1 is an access service, occupying 2 PB blocks C1; OSU #2 is a transfer service, occupying 2 PB blocks C2; and OSU #3 is an access service, occupying 4 PB blocks C3. In the initial state: PBLeft = P = 20; PBSDTLeft = C2 = 2; PBSDAleft = C1 + C3 = 2 + 4 = 6; PBMDTotal = 0; PBSDTotal = PBSDTLeft + PBSDAleft = 2 + 6 = 8; kttemp = floor((20 - 0) / 8) = 2, therefore kt = 2; After sorting the three business lines by their C values ​​from largest to smallest, the order is OSU #3, OSU #1, and OSU #2. First allocation of PB block for access service OSU #3: kai= floor(( PBLeft - kt PBSDTLeft) / PBSDDALeft) = floor( (20 - 2 2) / 6) = 2 Therefore, the number of PB blocks allocated to OSU #3 is 2. C3 = 8.

[0057] According to the sigma-delta algorithm, the position of the 8 petabytes occupied by OSU #3 in the service frame should satisfy the following: (j×8) mod PBLeft < 8, j=1,…,20; When j=3,5,8,10,13,15,18,20, the condition is met, and OSU #3 is carried in the PB of the eight positions 3,5,8,10,13,15,18,20 in the service frame; Then, after updating the following parameter values, perform the second PB block allocation: PBLeft = 20 - 8 = 12; PBSDALeft = 2.

[0058] The second time, a PB block is allocated for access service OSU #1; kai= floor((PBLeft - kt PBSDTLeft) / PBSDDALeft) = floor( (12 - 2 2) / 2) = 4; Therefore, the number of PB blocks allocated to OSU #1 is 4. C1 = 8; According to the sigma-delta algorithm, the position of the 8 petabytes occupied by OSU #1 in the service frame should satisfy the following: (j×8) mod PBLeft < 8, j=1,…,12; When j=2,3,5,6,8,9,11,12, the condition is met, and OSU #1 is carried in the PB of the eight positions 2,3,5,6,8,9,11,12 in the service frame; Then, after updating the following parameter values, perform the third PB block allocation: PBLeft = 12 - 8 = 4; PBSDALeft = 0.

[0059] The third allocation of PB blocks is made for OSU #2 of the transfer service: The number of PB blocks allocated to OSU #2 is kt C2 = 2 2 = 4; According to the sigma-delta algorithm, the position of the 4 PB occupied by OSU #2 in the service frame should satisfy the following: (j×4) mod PBLeft < 4, j=1,…,4; When j=1,2,3,4, the condition is met, so OSU #2 is carried in the PB at positions 1,2,3,4 in the service frame; Then update the following parameter values: PBLeft = 4 - 4 = 0; PBSDTLeft = 0.

[0060] At this point, the PB block allocation is complete. OSU #1 was allocated 4 times its C value; OSU #2 was allocated 2 times its C value; and OSU #3 was allocated 2 times its C value. The specific allocation results are as follows: Figure 5 As shown.

[0061] It should be noted that the method of reducing service latency by utilizing idle PB blocks to transmit valid data in this embodiment does not affect the mapped OSU bandwidth. That is, after service mapping, OSU PB blocks are still generated at the original rate, and there is no impact due to the allocation of more PB blocks when the OSU is multiplexed to OPUk. For example, although OSU #3 is allocated 8 PB blocks in the P cycle, only 4 are actually used when transmitting services, and the other 4 are still in an idle state. Similarly, when OSU management frames are generated, such as customer fault frames, maintenance status frames, etc., the rate of OSU management frame data is still generated at different rates according to the original C value.

[0062] Taking the above example as an example, according to the second mapping reuse mechanism, the allocation result is as follows: Figure 6 As shown: For OSU #1, OSU #2, and OSU #3 services, the PB blocks allocated using a PB block allocation method to reduce OSU service latency are more compact, resulting in lower latency values ​​and less latency jitter. Therefore, the method described in this application embodiment can reduce the latency of services requiring fewer than D PB blocks on existing hardware without changing hardware resources, achieving low cost and allowing for software upgrades to support existing products.

[0063] In practical applications, with Figure 2 Taking the OSU service application scenario shown as an example, this includes triggering the allocation of PB blocks to reduce latency when creating, deleting, and adjusting the OSU lossless bandwidth. Specifically: In response to the OSU service creation command, depending on whether the created OSU service is a high-bandwidth service or a low-bandwidth service, the parameters related to the adjustment coefficient are determined and updated. After the update is completed, the OSU service is added to the service list and the allocation of PB blocks to reduce latency is triggered. In response to the OSU service deletion command, depending on whether the deleted OSU service is a high-bandwidth service or a low-bandwidth service, the corresponding parameters related to the adjustment coefficient are determined and updated. After the update is completed, the OSU service is deleted from the service chain list and the allocation of PB blocks to reduce latency is triggered. In response to the OSU service bandwidth adjustment instruction, depending on whether the OSU service whose bandwidth is being adjusted is a high-bandwidth service or a low-bandwidth service, the parameters related to the adjustment coefficient are determined and updated. The OSU service is then removed from the service list, and the parameters related to the adjustment coefficient are updated according to the target bandwidth. After the update is completed, the OSU service is added to the service list and the allocation of PB blocks for latency reduction is triggered.

[0064] For example, with Figure 2Taking the application scenario as an example, when creating a business that travels from node 6 through node 4 and node 1 to node 7, it is necessary to perform the OSU business creation operation on node 6, node 4, node 1 and node 7 respectively.

[0065] When creating a service that travels from node 5 through nodes 3 and 2 to node 7, the OSU service creation operation needs to be performed on nodes 5, 3, 2 and 7 respectively.

[0066] When deleting the service from node 5 that passes through node 3 and node 2 to reach node 7, the OSU service deletion operation needs to be performed on node 5, node 3, node 2 and node 7 respectively.

[0067] When business needs require adjusting the bandwidth of the service route from node 6 to node 7 via nodes 4 and 1, a lossless bandwidth adjustment for that OSU service will be initiated on both nodes 6 and 7. During the adjustment process, nodes 6, 4, 1, and 7 will adjust the bandwidth of their respective OSU services according to the lossless bandwidth adjustment procedure.

[0068] Although user service connections are complex and diverse, this is merely an example. However, for each node in the service connection, the ultimate goals are unified as creating OSU services, deleting OSU services, and adjusting OSU lossless bandwidth. Therefore, by linking these three operations with a PB block allocation method to reduce OSU service latency, this latency reduction method can be applied to each node. The method of linking these three operations with a PB block allocation method to reduce OSU service latency involves updating the data of PBSDTTotal, PBSDATotal, PBMDTotal, PBSDTotal, P-value, and service list under the corresponding OSU's OPUk within the above operations, and finally invoking a PB block allocation method to reduce OSU service latency.

[0069] It should be noted that each OPUk carrying an OSU contains its own PBSDTTotal, PBSDATotal, PBMDTotal, PBSDTotal, P-value, and business chain list.

[0070] Although creating, deleting, and adjusting OSU service bandwidth all involve invoking a PB block allocation method to reduce OSU service latency and reallocate PB blocks, the service itself is not interrupted, not even momentarily, except for the impact on latency. This feature is a standard requirement, and the specific implementation method is beyond the scope of the embodiments described in this application. The embodiments are given below.

[0071] Example 1

[0072] This embodiment describes a PB block allocation method for reducing OSU service latency when creating an OSU service.

[0073] When creating a service, the user specifies the service layer OPUk for the OSU, as well as the OSU's bandwidth or C value, and whether the OSU is for a transit service or an access service. There is a one-to-one correspondence between OSU bandwidth and C value; for example, when the OSU bandwidth is 100M, the C value is 40; when the OSU bandwidth is 10M, the C value is 4. The P value corresponding to OPUk is fixed; for example, the P value of OPU0 is 476; the P value of OPU1 is 956; and so on.

[0074] The process for creating an OSU service is as follows: Figure 7 As shown, it specifically includes: Step 701: When adding OSU services to ODUk, determine the current PBMDTotal, PBSDTotal, PBSDATotal and PBSDTTotal, and update the P value according to the P period value of ODUk. When adding OSU services to ODUk for the first time, set PBMDTotal=0, PBSDTotal=0, PBSDATotal=0, and PBSDTTotal=0. Step 702: Determine whether the C value of the created OSU service is greater than or equal to D. If yes, proceed to step 703; otherwise, proceed to step 704. Step 703, PBMDTotal = PBMDTotal + C; Step 704: Determine whether the OSU service is an access service. If yes, proceed to step 705; otherwise, proceed to step 706. Step 705, PBSDTotal= PBSDTotal+C; PBSDATotal= PBSDATotal+C; Step 706, PBSDTotal=PBSDTotal+C, PBSDTotal=PBSDTotal+C; Step 707: Add the OSU service to the service list in descending order of C value; Step 708: Invoke the PB block allocation method described above for reducing OSU service latency, and then end the process.

[0075] Taking the creation of a low-bandwidth OSU service from node 6 through node 4 and node 1 to node 7 as an example: Node 6 creates an OSU access service with many idle PB blocks. After implementing a PB block allocation method to reduce OSU service latency, the latency introduced by Node 6 will be reduced by a factor of two.

[0076] Node 4 creates an OSU transfer service. Between Node 4 and Node 6, and between Node 4 and Node 1, Node 4 reuses the OSU to the service layer ODUk. This means that for this service, Node 4 executes the OSU service creation process twice, thus providing two opportunities to reduce latency. The presence of numerous idle PB blocks on either side can reduce the latency introduced by Node 4. Node 4 can potentially reduce its introduced latency to a quarter of the normal level.

[0077] Node 1 is theoretically the same as Node 4, and can reduce the latency it introduces to a quarter of the normal level.

[0078] Node 7 is theoretically the same as Node 6, but Node 7 is the head node, so it may have more OSU access service entries and fewer idle PB blocks. Therefore, its latency reduction effect will be relatively worse than that of Node 6.

[0079] Example 2

[0080] In this embodiment, when deleting OSU services, a PB block allocation method to reduce OSU service latency is invoked.

[0081] When deleting an OSU service, the user specifies the OSU service to be deleted. The application module can then obtain the corresponding service layer OPUk, C value, and service type based on this OSU service. Using this data, the initial relevant parameters are determined, and the process of deleting the OSU service is executed, as follows: Figure 8 As shown, the main steps include: Step 801: Determine whether the C value of the deleted OSU service is greater than or equal to the D value. If yes, proceed to step 802; otherwise, proceed to step 803. Step 802, PBMDTotal = PBMDTotal - C; Step 803: Determine whether the deleted OSU service is an access service. If yes, proceed to step 804; otherwise, proceed to step 805. Step 804, PBSDTotal= PBSDTotal-C, PBSDATotal= PBSDATotal-C; Step 805, PBSDTotal= PBSDTotal-C, PBSDTTotal= PBSDTTotal-C; Step 806: Remove the OSU service from the service chain list; Step 807: Invoke the PB block allocation method described above for reducing OSU service latency, and then end the process.

[0082] When deleting a service, a PB block allocation method to reduce OSU service latency is re-executed. The goal is to reallocate PB blocks, reserving the PB blocks occupied by the deleted service (i.e., the new free PB blocks) for existing services, thereby further reducing the latency of existing services. Simultaneously, system consistency is ensured. Taking the deletion of a service from node 5 via nodes 3 and 2 to node 7 as an example: The service deleted from node 5 is an OSU access service. After deletion, node 5 will have no service access.

[0083] The service deleted by node 3 is an OSU transfer service. When this service is deleted, the OSU to service layer ODUk reuse between node 3 and node 2 will be reduced. After implementing a PB block allocation method to reduce OSU service latency, the number of occupied PB blocks will decrease and the number of free PB blocks will increase. This may reduce the latency of the service from node 3 to node 4.

[0084] The service deleted by Node 2 is an OSU transfer service. When this service is deleted, the OSU to service layer ODUk reuse between Node 3 and Node 2, and between Node 2 and Node 1, will have reduced latency after implementing a PB block allocation method to reduce OSU service latency. This is because fewer PB blocks are occupied and more PB blocks are available, which may reduce the latency of services from Node 3 through Node 2 to Node 1, and services from Node 1 through Node 2 to Node 3.

[0085] Node 1 is theoretically the same as Node 3.

[0086] The service deleted at node 7 is an OSU access service. When this service is deleted, there are more free PB blocks. After implementing a PB block allocation method to reduce the latency of OSU services, the latency may also be reduced.

[0087] Example 3

[0088] This embodiment describes a PB block allocation method for reducing OSU service latency when adjusting OSU lossless bandwidth.

[0089] When OSU bandwidth needs to be increased or decreased based on business requirements, the application module can obtain the corresponding service layer OPUk, C value, and service type for that OSU, as well as the target Cn value for adjustment. Using the above data as input parameters, the process for modifying OSU service bandwidth during OSU lossless bandwidth adjustment is as follows: Figure 9 As shown, the main steps include: Step 901: Determine whether the C value of the OSU service whose bandwidth needs to be adjusted is greater than or equal to the D value. If yes, proceed to step 902; otherwise, proceed to step 903. Step 902, PBMDTotal = PBMDTotal - C, then proceed to step 906; Step 903: Determine whether the OSU service is an access service. If yes, proceed to step 904; otherwise, proceed to step 905. Step 904, PBSDTotal = PBSDTotal - C, PBSDATotal = PBSDATotal - C, proceed to step 906; Step 905, PBSDTotal = PBSDTotal - C, PBSDTTotal = PBSDTTotal - C, proceed to step 906; Step 906: Remove the OSU service from the service chain list; Step 907: Determine whether the Cn value after the bandwidth adjustment of the OSU service is greater than or equal to the D value. If yes, proceed to step 908; otherwise, proceed to step 909. Step 908, PBMDTotal = PBMDTotal + Cn, then proceed to step 912; Step 909: Determine whether the OSU service is an access service. If yes, proceed to step 910; otherwise, proceed to step 911. Step 910, PBSDTotal = PBSDTotal + Cn, PBSDATotal = PBSDATotal + Cn, then proceed to step 912; Step 911, PBSDTotal = PBSDTotal + Cn, PBSDTTotal = PBSDTTotal + Cn, then proceed to step 912; Step 912: Add the OSU service to the service list in descending order of C value; Step 913: Invoke the PB block allocation method described above for reducing OSU service latency, and then end the process.

[0090] It should be noted that this procedure only illustrates the PB block allocation method under OSU lossless bandwidth adjustment. The specific timing of its activation remains unchanged from the original OSU lossless bandwidth adjustment. The specific OSU lossless bandwidth adjustment method can employ relevant technologies.

[0091] In this embodiment of the application, when adjusting bandwidth, after reordering the service list according to the C value, a PB block allocation method for reducing OSU service latency is executed. The goal is to make the adjusted service latency and PB block allocation the same as the service latency and PB block allocation when configuring the same entries and bandwidth services normally, so as to ensure system consistency and low latency.

[0092] Based on the same inventive concept, embodiments of this application provide a PB block allocation device for reducing OSU service latency, such as... Figure 10 As shown, the device includes: OSU service determination module 1001 is used to determine the target OSU service of the currently to be allocated PB block based on the service chain list when triggering the allocation of PB block to reduce latency. The service bandwidth determination module 1002 is used to determine the OSU base rate multiple C value of the target OSU service, and compare the C value with a set threshold D to determine whether the target OSU service is a high bandwidth service or a low bandwidth service. The coefficient adjustment module 1003 is used to determine the adjustment coefficient of the C value according to the service type of the target OSU service and in a corresponding manner if the target OSU service is a low-bandwidth service, wherein the adjustment coefficient is not less than 1; The PB block number determination module 1004 is used to determine the number of PB blocks allocated when the target OSU service is multiplexed to OPUk using the C value and adjustment coefficient; The service reuse module 1005 is used to reuse the target OSU service to OPUk according to the number of PB blocks.

[0093] After introducing the PB block allocation method and apparatus for reducing OSU service latency according to exemplary embodiments of this application, the PB block allocation device for reducing OSU service latency according to another exemplary embodiment of this application will be introduced next.

[0094] Those skilled in the art will understand that various aspects of this application can be implemented as a system, method, or program product. Therefore, various aspects of this application can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, collectively referred to herein as a "circuit," "module," or "system."

[0095] In some possible implementations, the PB block allocation device for reducing OSU service latency according to this application may include at least one processor and at least one memory. The memory stores program code that, when executed by the processor, causes the processor to perform the steps in the PB block allocation method for reducing OSU service latency according to various exemplary embodiments of this application described above.

[0096] The following reference Figure 11 This application describes a PB block allocation device 110 for reducing OSU service latency according to this embodiment. Figure 11 The PB block allocation device 110 shown for reducing OSU service latency is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0097] like Figure 11As shown, the PB block allocation device 110 for reducing OSU service latency is presented in the form of a general-purpose electronic device. The components of the PB block allocation device 110 for reducing OSU service latency may include, but are not limited to: at least one processor 111, at least one memory 112, and a bus 113 connecting different system components (including memory 112 and processor 111).

[0098] Bus 113 represents one or more of several bus structures, including a memory bus or memory controller, peripheral bus, processor, or local bus using any of the various bus structures.

[0099] The memory 112 may include a readable medium in the form of volatile memory, such as random access memory (RAM) 1121 and / or cache memory 1122, and may further include read-only memory (ROM) 1123.

[0100] The memory 112 may also include a program / utility 1125 having a set (at least one) of program modules 1124, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.

[0101] The PB block allocation device 110 for reducing OSU service latency can also communicate with one or more external devices 114 (e.g., keyboards, pointing devices, etc.), one or more devices that enable users to interact with the PB block allocation device 110, and / or any device that enables the PB block allocation device 110 to communicate with one or more other electronic devices (e.g., routers, modems, etc.). This communication can be performed via input / output (I / O) interface 115. Furthermore, the PB block allocation device 110 can also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via network adapter 116. As shown, network adapter 116 communicates with other modules of the PB block allocation device 110 for reducing OSU service latency via bus 113. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the PB block allocation device 110 for reducing OSU service latency, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0102] In some possible implementations, various aspects of the PB block allocation method for reducing OSU service latency provided in this application can also be implemented in the form of a program product, which includes program code. When the program product is run on a computer device, the program code is used to cause the computer device to perform the steps in the PB block allocation method for reducing OSU service latency according to the various exemplary embodiments of this application described above.

[0103] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0104] The program product for reducing OSU service latency in the PB block allocation of the embodiments of this application can be a portable compact disc read-only memory (CD-ROM) and include program code, and can run on an electronic device. However, the program product of this application is not limited thereto. In this document, the readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0105] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. This propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0106] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0107] Program code for performing the operations of this application can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's electronic device, partially on the user's device, as a standalone software package, partially on the user's electronic device and partially on a remote electronic device, or entirely on a remote electronic device or server. In cases involving remote electronic devices, the remote electronic device can be connected to the user's electronic device via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external electronic device (e.g., via the Internet using an Internet service provider).

[0108] It should be noted that although several units or sub-units of the device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided and embodied by multiple units.

[0109] Furthermore, although the operations of the method of this application are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.

[0110] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0111] This application is described with reference to flowchart illustrations and block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block and / or segment of the flowchart illustrations and block diagrams, as well as combinations of blocks and segments in the flowchart illustrations and 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, generate instructions for implementing the flowchart. Figure 1 One or more processes and boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0112] 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, which are implemented in a process Figure 1 One or more processes and boxes Figure 1 The function specified in one or more boxes.

[0113] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and boxes Figure 1 The steps of the function specified in one or more boxes.

[0114] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.

[0115] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A method for allocating PB blocks to reduce OSU service latency, characterized in that, The method includes: When triggering the allocation of PB blocks to reduce latency, the target OSU service to be allocated the current PB block is determined based on the service chain list; Determine the OSU base rate multiple C value of the target OSU service, and compare the C value with a set threshold D to determine whether the target OSU service is a high-bandwidth service or a low-bandwidth service; If the target OSU service is a low-bandwidth service, the adjustment coefficient of the C value is determined according to the service type of the target OSU service in a corresponding manner, and the adjustment coefficient is not less than 1; Using the C value and adjustment coefficient, determine the number of PB blocks allocated when multiplexing the target OSU service to OPUk; Based on the number of PB blocks, the target OSU service is multiplexed onto OPUk.

2. The method according to claim 1, characterized in that, The step of determining the adjustment coefficient of the C value according to the service type of the target OSU service in a corresponding manner includes: When the target OSU service is determined to be an OSU switching service, the adjustment coefficient kt of the C value is determined to be 1 or 2 based on the number of PB blocks P in OPUk, the total number of PB blocks of all high-bandwidth services under the OPUk port, and the total number of PB blocks of all low-bandwidth services.

3. The method according to claim 2, characterized in that, The step of determining the adjustment coefficient of the C value according to the service type of the target OSU service in a corresponding manner includes: Calculate kttemp = floor((P - PBMDTotal) / PBSDTotal); If kttemp is greater than or equal to 2, the value of kt is determined to be 2; otherwise, the value of kt is determined to be 1. Where floor means round down, and PBMDTotal is the total number of PB blocks for all OSU transfer services and OSU access services with a C value greater than or equal to D under the OPUk port; PBSDTotal is the total number of PB blocks for all OSU transfer services and OSU access services with a C value less than D under the OPUk port.

4. The method according to claim 1, characterized in that, The step of determining the adjustment coefficient of the C value according to the service type of the target OSU service in a corresponding manner includes: When the target OSU service is determined to be an OSU access service, the adjustment coefficient of C value is determined as kai based on the number of remaining PB blocks on the OPUk port and the total number of PB blocks corresponding to different service types of small bandwidth services without allocated PB blocks.

5. The method according to claim 4, characterized in that, The step of determining the adjustment coefficient of the C value according to the service type of the target OSU service in a corresponding manner includes: Calculate kai = floor((PBLeft - kt PBSDTLeft) / PBSDALeft) Wherein, PBLeft is the number of remaining PB blocks on the OPUk port, PBSDTLeft is the total number of PB blocks for OSU transfer services with C values ​​less than D under the OPUk port, and PBSDALeft is the total number of PB blocks for OSU access services with C values ​​less than D under the OPUk port.

6. The method according to claim 1, characterized in that, The process of determining the target OSU service for the currently allocated PB block based on the business chain list includes: Determine the C value corresponding to each of the multiple OSU services to be allocated PB in the service chain list; The multiple OSU services are prioritized according to the C value, where the larger the C value, the higher the priority of the corresponding OSU service. Determine the target OSU services for the current PB blocks to be allocated, in descending order of priority. When the C values ​​of OSU services of different service types are the same, the priority of OSU access services is greater than that of OSU transfer services.

7. The method according to claim 1, characterized in that, Also includes: If the target OSU service is a high-bandwidth service, the number of PB blocks allocated when multiplexing the target OSU service to OPUk is determined according to the C value.

8. The method according to claim 1, characterized in that, It also includes at least one of the following steps: In response to the OSU service creation command, depending on whether the created OSU service is a high-bandwidth service or a low-bandwidth service, the parameters related to the adjustment coefficient are determined and updated. After the update is completed, the OSU service is added to the service list and the allocation of PB blocks to reduce latency is triggered. In response to the OSU service deletion command, depending on whether the deleted OSU service is a high-bandwidth service or a low-bandwidth service, the corresponding parameters related to the adjustment coefficient are determined and updated. After the update is completed, the OSU service is deleted from the service chain list and the allocation of PB blocks to reduce latency is triggered. In response to the OSU service bandwidth adjustment instruction, depending on whether the OSU service whose bandwidth is being adjusted is a high-bandwidth service or a low-bandwidth service, the parameters related to the adjustment coefficient are determined and updated. The OSU service is then removed from the service list, and the parameters related to the adjustment coefficient are updated according to the target bandwidth. After the update is completed, the OSU service is added to the service list and the allocation of PB blocks for latency reduction is triggered.

9. A PB block allocation device for reducing OSU service latency, characterized in that, The device includes: The OSU service determination module is used to determine the target OSU service to be allocated the current PB block based on the service chain when triggering the allocation of PB blocks to reduce latency. The service bandwidth determination module is used to determine the OSU base rate multiple C value of the target OSU service, and compare the C value with a set threshold D to determine whether the target OSU service is a high bandwidth service or a low bandwidth service. The coefficient adjustment module is used to determine the adjustment coefficient of the C value according to the service type of the target OSU service and in a corresponding manner if the target OSU service is a low-bandwidth service, wherein the adjustment coefficient is not less than 1; The PB block number determination module is used to determine the number of PB blocks allocated when the target OSU service is multiplexed to OPUk using the C value and adjustment coefficient; The service reuse module is used to reuse the target OSU service to OPUk according to the number of PB blocks.

10. A PB block allocation device for reducing OSU service latency, characterized in that, It includes at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the PB block allocation method for reducing OSU service latency as described in any one of claims 1-8.