A management method, device and optical line terminal for DBA in FTTR scenario
By dividing the DBA cycle into multiple sub -cycles and managing the DBA in the FTTR scene, the problem of large -delay and shake in the existing technology has been solved, the hardware cost and power consumption is reduced, and the efficient bandwidth distribution is achieved.
Patent Information
- Application Number
- CN202411668000.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-20
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2044-11-20
AI Technical Summary
The prior art cannot effectively manage the DBA cycle in the FTTR scenario, resulting in large delay and jitter of upstream traffic, high hardware cost and large power consumption.
By dividing the DBA cycle average into multiple sub -cycles, each sub -distribution cycle is carried by all AloCID BWMAP data. The CPU unit only needs to interact twice to complete the DBA operation. Cycle of BWMAP data.
The delay and jitter of the uplink traffic are reduced, the consumption and logical unit resources of the bus are reduced, and the more efficient DBA operation is achieved.
Smart Images

Figure CN119155578B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to optical communication technology, and more particularly to a method, device and optical line terminal for managing DBA in a FTTR scenario. Background Art
[0002] Passive Optical Network (PON) is a point-to-multipoint (P2MP) fiber access technology, including Gigabit-capable Passive Optical Network (GPON) and 10-Gigabit-capable Symmetric Passive Optical Network (XG(S)PON), which is the mainstream technology of access network. The whole PON system consists of optical line terminal (OLT), optical network unit (ONU) and optical distribution network (ODN). The downstream uses broadcast to transmit data, and the upstream uses time division multiple access (TDMA) to achieve shared access of multiple ONUs. With the vigorous development of the digital age, people's demand for network bandwidth is increasing, and fixed networks have entered the era of the fifth generation fixed networks (F5G) with 10G PON+FTTR and Wi-Fi 6 as the core technologies.
[0003] FTTR (Fiber to the Room) extends optical fiber directly to every room in the user's home to provide high-bandwidth, low-latency network connections. It is the core technology of the new generation of home networking. The FTTR networking architecture mainly consists of a main device (Main FTTR Unit, MFU) and one or more slave devices (Slave FTTR Unit, SFU), as well as an indoor optical distribution network connecting the main device and the slave devices. The main device is the core of the FTTR network. It connects to the central office OLT device to provide fiber access to the home, and acts as a main OLT device to connect multiple slave devices through the indoor optical network. The slave device communicates with the user's home terminal device through Wi-Fi and Ethernet interfaces, and connects to the main device through the optical network to receive management and control from the main device. The main device integrates XG-PON ONU and GPON OLT functions, providing 10G service access capabilities upward and 1G service forwarding capabilities downward; the slave device is generally a GPON ONU device.
[0004] Since FTTR is mainly used in home scenarios, the comprehensive cost of FTTR solution deployment should not be too high, otherwise it will reduce the acceptance of home users for FTTR solutions. In the FTTR solution, GPON ONU, as a slave device, is already a mature device with low hardware cost; while the master device is a new device that integrates the functions of ONU and OLT, with high complexity and high hardware cost, and the OLT-related functions account for a large proportion of the cost. In addition, the master device is responsible for managing and controlling the slave devices, with complex functions, high power consumption during operation, and high power consumption, and the cost of normal use is also high.
[0005] In a PON network, an ONU includes one or more service transmission containers (Transmission CONT, T-CONT) and is identified by AllocID. OLT allocates upstream time slots to multiple TCONTs of different ONUs through the dynamic bandwidth allocation (Dynamic Bandwidth Allocation, DBA) mechanism, where the upstream time slot corresponds to the upstream bandwidth, and implements upstream access control of multiple ONUs to improve the upstream bandwidth utilization of the system.
[0006] In the related art, the uplink bandwidth of each AllocID of multiple ONUs on the PON port is dynamically allocated in a fixed DBA cycle, and each AllocID is only allocated bandwidth once in the entire DBA cycle, which cannot meet the usage requirements in FTTR application scenarios. Summary of the invention
[0007] Embodiments of the present application provide a method, device, and optical line terminal for managing DBA in an FTTR scenario.
[0008] A DBA management method in an FTTR scenario is applied to a media access control PON MAC chip in a light-free network, wherein the PON MAC chip includes a CPU unit and a logic unit; wherein the method includes:
[0009] The CPU unit obtains the uplink traffic statistics of each AllocID in the last dynamic bandwidth allocation DBA cycle from the logic unit, and determines the uplink bandwidth requirement of each AllocID in the current DBA cycle according to the uplink traffic statistics of each AllocID in the last DBA cycle;
[0010] The CPU unit determines the uplink service bandwidth of each AllocID in each sub-period in the current DBA cycle according to the bandwidth configuration data of each AllocID and the uplink bandwidth demand of each AllocID in the current DBA cycle; wherein the current DBA cycle is composed of a plurality of sub-periods of equal length, wherein the length of each sub-period is determined according to the latency and transmission quality of the uplink traffic of the AllocID, wherein the size of the sub-period is an integer multiple of the frame length of the transmission convergence layer GTC frame in the gigabit passive optical network;
[0011] The CPU unit uses at least part of the sub-period as the sub-allocation period, and determines the bandwidth mapping BWMap data of the first sub-allocation period and the BWMap data of the second sub-allocation period; wherein the BWMap data of the first sub-allocation period includes the uplink service bandwidth of all AllocIDs in the first sub-allocation period; the dynamic bandwidth allocation report DBRu bandwidth corresponding to the AllocID in the current DBA period determined according to the preset configuration information; the uplink physical layer operation management and maintenance PLOAM bandwidth corresponding to the default AllocID in the current DBA period; the uplink forward error correction FEC overhead bandwidth determined based on the uplink service bandwidth, DBRu bandwidth and uplink PLOAM bandwidth in the first sub-allocation period; wherein the BWMap data of the second sub-allocation period includes the uplink service bandwidth of all AllocIDs in the second sub-allocation period and the uplink FEC overhead bandwidth determined based on the uplink service bandwidth in the second sub-allocation period;
[0012] The CPU unit sends DBA data to the logic unit, wherein the DBA data includes the length of the silent window, the BWMap data of the first sub-allocation cycle, the BWMap data of the second sub-allocation cycle, and the total length of the current DBA cycle; when the DBA cycle does not include the silent window, the length of the silent window is 0;
[0013] After receiving the DBA data, the logic unit determines the number of remaining sub-allocation cycles in the current DBA according to the length of the silent window and the total length of the current DBA cycle, and uses the BWMap data of the second sub-allocation cycle as the BWMap data of each remaining sub-allocation cycle to obtain complete BWMap data in the current DBA cycle;
[0014] The logic unit sends the complete BWMap data in the current DBA cycle.
[0015] A management device for DBA in an FTTR scenario, applied to a PON MAC chip, wherein the PON MAC chip includes a CPU unit and a logic unit; wherein the device includes a first determination subunit, a second determination subunit, a third determination subunit and a first sending subunit deployed in the CPU unit, and an acquisition subunit and a second sending subunit deployed in the logic unit; wherein:
[0016] The first determination subunit is configured to obtain uplink traffic statistics of each AllocID in a previous DBA cycle from the logic unit, and determine the uplink bandwidth requirement of each AllocID in a current DBA cycle according to the uplink traffic statistics of each AllocID in the previous DBA cycle;
[0017] The second determination subunit is configured to determine the uplink service bandwidth of each AllocID in each sub-period in the current DBA cycle according to the bandwidth configuration data of each AllocID and the uplink bandwidth requirement of each AllocID in the current DBA cycle; wherein the current DBA cycle is composed of a plurality of sub-periods of equal length, wherein the length of each sub-period is determined according to the latency and transmission quality of the uplink traffic of the AllocID, wherein the size of the sub-period is an integer multiple of the frame length of the GTC frame;
[0018] The third determination subunit is configured to use at least part of the sub-periods as sub-allocation periods, and determine the BWMap data of the first sub-allocation period and the BWMap data of the second sub-allocation period; wherein the BWMap data of the first sub-allocation period includes the uplink service bandwidth of all AllocIDs in the first sub-allocation period; the DBRu bandwidth corresponding to the AllocID in the current DBA period determined according to the preset configuration information; the uplink PLOAM bandwidth corresponding to the default AllocID in the current DBA period; the uplink FEC overhead bandwidth determined based on the uplink service bandwidth, DBRu bandwidth and uplink PLOAM bandwidth in the first sub-allocation period; wherein the BWMap data of the second sub-allocation period includes the uplink service bandwidth of all AllocIDs in the second sub-allocation period and the uplink FEC overhead bandwidth determined based on the uplink service bandwidth in the second sub-allocation period;
[0019] The first sending subunit is configured to send DBA data to the logic unit; wherein the DBA data includes the length of the silent window, the BWMap data of the first sub-allocation period, the BWMap data of the second sub-allocation period, and the total length of the current DBA period; when the DBA period does not include the silent window, the length of the silent window is 0;
[0020] The acquisition subunit is configured to determine the number of remaining sub-allocation periods in the current DBA according to the length of the silent window and the total length of the current DBA period after receiving the DBA data, and use the BWMap data of the second sub-allocation period as the BWMap data of each remaining sub-allocation period to obtain the complete BWMap data in the current DBA period;
[0021] The second sending subunit is configured to send complete BWMap data in the current DBA cycle.
[0022] An optical line terminal is provided with a PON MAC chip, wherein the PON MAC chip manages DBA using the method described above; or the PON MAC chip is provided with the device described above.
[0023] In the embodiment of the present application, in a DBA cycle, each sub-allocation cycle carries the BWMap data of all AllocIDs, so that the uplink bandwidth time slot of each AllocID is shortened from one DBA cycle to one sub-allocation cycle, thereby reducing the latency and jitter of the uplink traffic; the CPU unit and the logic unit only need to interact twice, and there is no need to interact for each sub-allocation cycle, the number of interactions is significantly reduced, the energy consumption of the bus is reduced, and the occupation of the resources of the logic unit is reduced; the logic unit multiplexes the BWMap data of the second sub-allocation cycle according to the length of the silent window and the total length of the current DBA cycle as the BWMap data of the remaining sub-allocation cycles in the current DBA cycle, completes the bandwidth allocation of all AllocIDs in the current DBA cycle, and implements the DBA operation.
[0024] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by implementing the present application. Other advantages of the present application can be realized and obtained by the schemes described in the description and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The accompanying drawings are used to provide an understanding of the technical solution of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation on the technical solution of the present application.
[0026] Figure 1 It is a schematic diagram of the structure of the PON MAC chip;
[0027] Figure 2 A schematic diagram of the distribution of a sub-period of 250 us in a 1 ms DBA period excluding a silent window provided in an embodiment of the present application;
[0028] Figure 3A schematic diagram of the distribution of a sub-period of 125 us in a DBA period of 1 ms excluding a silent window provided in an embodiment of the present application;
[0029] Figure 4 A schematic diagram of the distribution of a 1 ms DBA period including a silent window with a sub-period of 125 us provided in an embodiment of the present application;
[0030] Figure 5 A flowchart of a method for managing a DBA in a FTTR scenario provided in an embodiment of the present application;
[0031] Figure 6 A schematic diagram of the structure of a DBA management device in an FTTR scenario provided in an embodiment of the present application. DETAILED DESCRIPTION
[0032] The present application describes a plurality of embodiments, but the description is exemplary rather than restrictive, and it is apparent to those skilled in the art that there may be more embodiments and implementations within the scope of the embodiments described in the present application. Although many possible feature combinations are shown in the drawings and discussed in the specific embodiments, many other combinations of the disclosed features are also possible. Unless specifically limited, any feature or element of any embodiment may be used in combination with any other feature or element in any other embodiment, or may replace any other feature or element in any other embodiment.
[0033] The present application includes and contemplates combinations of features and elements known to those of ordinary skill in the art. The embodiments, features and elements disclosed in the present application may also be combined with any conventional features or elements to form a unique invention scheme. Any features or elements of any embodiment may also be combined with features or elements from other invention schemes to form another unique invention scheme. Therefore, it should be understood that any feature shown and / or discussed in the present application may be implemented individually or in any appropriate combination. Therefore, except for the limitations made according to the attached claims and their equivalents, the embodiments are not subject to other restrictions. In addition, various modifications and changes may be made within the scope of protection of the attached claims.
[0034] In addition, when describing representative embodiments, the specification may have presented the method and / or process as a specific sequence of steps. However, to the extent that the method or process does not rely on the specific order of the steps described herein, the method or process should not be limited to the steps of the specific order described. As will be understood by those of ordinary skill in the art, other sequences of steps are also possible. Therefore, the specific sequence of the steps set forth in the specification should not be interpreted as a limitation to the claims. In addition, the claims for the method and / or process should not be limited to the steps of performing them in the order written, and those skilled in the art can easily understand that these sequences can be changed and still remain within the spirit and scope of the embodiments of the present application.
[0035] The functions and basic models of DBA for GPON and XG(S)PON are described in ITU-T G.984.3 and G.9807.1 respectively.
[0036] In OLT, the chip responsible for implementing the PON protocol stack functions defined in the ITU-T standard is generally called a PONMAC (Media Access Control) chip. PON MAC chips generally come in two forms: one is a dedicated integrated chip that encapsulates the CPU unit and logic unit that implement standard functions into a physical chip, providing a certain number of PON interfaces, uplink Ethernet interfaces, and management interfaces to the outside world; the other is a chipset consisting of an FPGA responsible for implementing logic functions and a CPU responsible for implementing software functions, and the interface form provided to the outside world is the same as that of a dedicated integrated chip. The functional structure of these two chip forms is basically the same, and both are composed of CPU units and logic units, such as Figure 1 As shown, the CPU unit is responsible for implementing the PON protocol stack management function and DBA calculation function of multiple PON ports on the entire PON MAC, the logic unit is responsible for implementing the hardware logic functions related to data flow forwarding between multiple PON ports and multiple uplink Ethernet ports, and the bus between the two is responsible for exchanging data between the CPU unit and the logic unit.
[0037] In the CPU unit, a single CPU core is generally responsible for the DBA calculation of all AllocIDs on one or more PON ports, and sends the bandwidth mapping (BWMap) data of AllocID in each downstream GTC (GPON Transmission Convergence) frame to the logical unit through the bus between the CPU unit and the logical unit. The logical unit then sends the data to each ONU through the PON port.
[0038] In the new application scenario of FTTR, OLT DBA needs to be improved to meet the usage requirements in the new scenario.
[0039] In the process of implementing this application, it was found that the relevant technology has the following problems:
[0040] The DBA cycle is a fixed value. If the fixed value is too large, the delay and jitter of the upstream traffic of AllocID will be large. For example: when the DBA cycle is 1 millisecond (ms), the upstream bandwidth of each AllocID of multiple ONUs on the PON port is dynamically allocated as a whole with 8 GTC frames (125us / frame), then the jitter range of the allocation position of the same AllocID in the DBA cycle is 1ms. On the contrary, if the fixed value is too small, it will require higher CPU processing performance, bus performance and more storage resources, and the hardware cost is higher. For example: when the DBA cycle is 125us, the CPU needs to complete the bandwidth calculation of all AllocIDs within 125us, which increases the amount of calculation in the DBA calculation process and requires the CPU to have higher calculation performance.
[0041] Only one bandwidth allocation is completed for all AllocIDs in the entire DBA cycle. The interval between the upstream bandwidth time slots of an AllocID is the length of one DBA cycle, which increases the latency and jitter of the upstream traffic.
[0042] The hardware cost of the DBA function is relatively high. For example, if the DBA cycle is reduced to 125us, the CPU needs to send all the BWMap data of AllocID to the logic unit through the bus every 125us. The amount of data transmitted on the bus increases significantly, which increases the energy consumption of the bus. In order to reduce the data transmission time, the bus is required to have high transmission performance, and the performance requirements of the bus are high. At the same time, due to the significant increase in the amount of data transmitted on the bus, more storage resources in the logic unit need to be consumed. To achieve the above functions, higher performance hardware is required.
[0043] Based on the above analysis, the present application embodiment proposes the following solutions, including:
[0044] In the embodiment of the present application, the total length of the DBA cycle is in units of GTC frames, where the frame length of each GTC is 125 microseconds (us); a DBA cycle of 0.5 ms corresponds to 4 GTC frames, a DBA cycle of 1 ms corresponds to 8 GTC frames, and so on.
[0045] Each DBA cycle can be evenly divided into multiple sub-cycles; when the DBA cycle does not include a silent window, all sub-cycles can be used as sub-allocation cycles for carrying BWMap data; when the DBA cycle includes a silent window, part of the sub-cycles are used as silent windows, and the other part of the sub-cycles are used as sub-allocation cycles.
[0046] Furthermore, the BWMap data carried in each sub-allocation cycle is the BWMap data of all AllocIDs.
[0047] Figure 2 The distribution diagram of the sub-period of 125 us in the 1ms DBA period excluding the silent window provided in the embodiment of the present application. Figure 2 As shown, a DBA period of 1 ms corresponds to 8 GTC frames, and each sub-period corresponds to 1 GTC frame, wherein each sub-period is a sub-allocation period and can carry BWMap data, which are numbered as sub-allocation period 1, sub-allocation period 2, sub-allocation period 3, sub-allocation period 4, sub-allocation period 5, sub-allocation period 6, sub-allocation period 7, and sub-allocation period 8.
[0048] Figure 3 The distribution diagram of the sub-period of 250 us in the 1ms DBA period excluding the silent window provided in the embodiment of the present application. Figure 3 As shown, a DBA period of 1 ms corresponds to 8 GTC frames, each sub-period corresponds to 2 GTC frames, each sub-period is a sub-allocation period, and can carry BWMap data, which are numbered as sub-allocation period 1, sub-allocation period 2, sub-allocation period 3, and sub-allocation period 4.
[0049] Figure 4 The distribution diagram of the sub-period of 125 us in the DBA period of 1 ms including the silent window provided in the embodiment of the present application is as follows. Figure 4 As shown, each sub-period corresponds to one GTC frame, the first sub-period and the second sub-period are used as silent windows, and the third to eighth sub-periods are used as sub-allocation periods, wherein the third to eighth sub-allocation periods can carry BWMap data, and are numbered as sub-allocation period 1, sub-allocation period 2, sub-allocation period 3, sub-allocation period 4, sub-allocation period 5, and sub-allocation period 6, respectively.
[0050] For the sub-allocation period, the number of GTC frames included in the sub-allocation period determines the interval time of the upstream bandwidth time slot of each AllocID, that is, the response time of the upstream bandwidth. The appropriate number of GTC frames in each sub-allocation period can be determined according to the requirements for upstream delay in the PON system. In order to minimize the upstream delay, each sub-allocation period can include only one GTC frame.
[0051] Taking each sub-allocation period including 1 GTC frame as an example, each sub-allocation period is 125us, then the number of sub-allocation periods of DBA periods of different lengths is different. Taking the DBA period not including the silent window as an example, a 0.5ms DBA period can be divided into 4 sub-allocation periods, a 1ms DBA period can be divided into 8 sub-allocation periods, and a 2ms DBA period can be divided into 16 sub-allocation periods.
[0052] Based on the structure of the DBA cycle provided by this application, the solution proposed by this application is as follows:
[0053] A method for managing DBA in an FTTR scenario is applied to a PON MAC chip, wherein the PON MAC chip includes a CPU unit and a logic unit; wherein the method includes:
[0054] The CPU unit determines the uplink service bandwidth of each AllocID in each sub-period in the current DBA period; wherein the current DBA period is composed of a plurality of sub-periods of equal length, wherein the length of each sub-period is an integer multiple of the frame length of the GTC frame;
[0055] The CPU unit uses at least part of the sub-periods as sub-allocation periods, and determines BWMap data of the first sub-allocation period and BWMap data of the second sub-allocation period; wherein compared with the bandwidth information in the BWMap data of the second sub-allocation period, the bandwidth information in the BWMap data of the first sub-allocation period also includes a dynamic bandwidth allocation report (DBRu) bandwidth and an uplink physical layer operation administration and maintenance (Physical Layer Operation Administration and Maintenance, PLOAM) PLOAM bandwidth;
[0056] The CPU unit sends DBA data to the logic unit, wherein the DBA data includes the length of the silent window, the BWMap data of the first sub-allocation cycle, the BWMap data of the second sub-allocation cycle, and the total length of the current DBA cycle; when the DBA cycle does not include the silent window, the length of the silent window is 0;
[0057] The logic unit determines the number of remaining sub-allocation cycles in the current DBA according to the length of the silent window and the total length of the current DBA cycle, and uses the BWMap data of the second sub-allocation cycle as the BWMap data of each remaining sub-allocation cycle to obtain complete BWMap data in the current DBA cycle;
[0058] The logic unit sends the complete BWMap data in the current DBA cycle.
[0059] In the above method, a DBA cycle is evenly divided into multiple sub-cycles, and at least part of the sub-cycles are used as sub-allocation cycles. The CPU unit only needs to determine the BWMap data of all AllocIDs in the first sub-allocation cycle and the second sub-allocation cycle, and does not need to determine the data of each sub-allocation cycle; the logic unit determines the number of remaining sub-allocation cycles in the current DBA according to the length of the silent window and the total length of the current DBA cycle, and uses the BWMap data of the second sub-allocation cycle as the BWMap data of each remaining sub-allocation cycle, thereby quickly determining the BWMap data of the remaining sub-allocation cycles in the current DBA cycle and completing the bandwidth allocation of all AllocIDs in the current DBA cycle.
[0060] In the above method, in each sub-allocation cycle, each AllocID can have its own uplink bandwidth time slot, thereby reducing the delay and jitter of the uplink traffic.
[0061] In the related art, other DBA methods with multiple GTC frames as a cycle only complete one bandwidth allocation for all AllocIDs within the entire DBA cycle. Therefore, the interval between the uplink bandwidth time slots of an AllocID in the related art is the length of one DBA cycle, which increases the delay and jitter of the uplink traffic.
[0062] The method provided in the present application still calculates bandwidth allocation based on multiple GTC frames as a period, but each sub-allocation period includes the uplink bandwidth time slot of each AllocID, and the uplink traffic of each AllocID is evenly distributed in each uplink GTC frame and sent to the OLT, so that the interval between the uplink bandwidth time slots of an AllocID is the length of a sub-allocation period, thereby reducing the delay and jitter of the uplink traffic.
[0063] Furthermore, the length of each sub-period is determined based on the latency and transmission quality of the upstream traffic of AllocID;
[0064] Among them, the shorter the length of the sub-cycle is, the smaller the delay of the upstream traffic of AllocID is, and the less the transmission jitter is; conversely, the longer the length of the sub-cycle is, the greater the delay of the upstream traffic of AllocID is, and the more the transmission jitter is.
[0065] In practical applications, the length of each sub-cycle can be set to 125 us (ie, the frame length of a GTC frame).
[0066] Furthermore, under the premise of ensuring that the length of the sub-allocation cycle remains unchanged, the CPU unit can dynamically change the length of the DBA cycle according to the number of AllocIDs.
[0067] Specifically, under the premise of ensuring that the length of each sub-cycle remains unchanged, if the number of AllocIDs in the time period corresponding to the current DBA cycle is greater than the number of AllocIDs in the time period corresponding to the preset reference DBA cycle, the value after the total length of the reference DBA cycle is increased is used as the total length of the current DBA cycle; if the number of AllocIDs in the time period corresponding to the current DBA cycle is less than the number of AllocIDs in the time period corresponding to the reference DBA cycle, the value after the total length of the previous DBA cycle is reduced is used as the total length of the current DBA cycle.
[0068] In the above method, by maintaining the length of the sub-allocation cycle, the latency and transmission quality of the upstream traffic of AllocID can be guaranteed not to change. Due to the different number of AllocIDs, there will be different requirements for the processing capacity of the CPU unit. Dynamically adjusting the length of the DBA cycle according to the change in the number of AllocIDs can effectively take into account the processing capacity of the CPU unit.
[0069] When the number of AllocIDs increases, the processing pressure of the CPU unit to perform DBA calculations increases accordingly. The number of sub-allocation cycles increases accordingly to control the increase of the current DBA cycle. For the CPU unit, regardless of whether the number of sub-allocation cycles increases, the CPU only needs to process the BWMap data of 2 sub-allocation cycles; however, the time the CPU unit waits to process the BWMap of the next DBA cycle increases, which can effectively relieve the processing pressure of the CPU unit.
[0070] When the number of AllocIDs decreases, the processing pressure of the CPU unit to perform DBA calculations decreases accordingly. The number of sub-allocation cycles decreases accordingly when the current DBA cycle is controlled to decrease. For the CPU unit, regardless of whether the number of sub-allocation cycles decreases, the CPU only needs to process the BWMap data of 2 sub-allocation cycles; however, the time the CPU unit waits to process the BWMap of the next DBA cycle is shortened, which can fully utilize the processing power of the CPU unit.
[0071] The method for obtaining the size relationship of the number of AllocIDs in different time periods includes:
[0072] Obtaining the processing duration of performing DBA calculations in any DBA cycle from the time period corresponding to the current DBA cycle to obtain a target processing duration; and obtaining the processing duration of performing DBA calculations in any DBA cycle from the time period corresponding to the reference DBA cycle to obtain a reference processing duration;
[0073] If the target processing duration is greater than the reference processing duration, determining that the number of AllocIDs in the time period corresponding to the current DBA cycle is greater than the number of AllocIDs in the time period corresponding to the reference DBA cycle;
[0074] If the target processing duration is less than the reference processing duration, it is determined that the number of AllocIDs in the time period corresponding to the current DBA cycle is less than the number of AllocIDs in the time period corresponding to the reference DBA cycle.
[0075] From the above method, it can be known that when the time required for the DBA calculation process in a sub-allocation cycle changes, the total length of the current DBA cycle can be dynamically adjusted according to the time taken by the calculation process.
[0076] For example, when the time required for the DBA calculation process within the sub-allocation cycle decreases, the total length of the DBA cycle can be reduced to a shorter cycle value, such as from 1ms to 0.5ms; when the time required for the DBA calculation process within the sub-allocation cycle increases, the DBA cycle length can be increased to a longer cycle value, such as from 1ms to 2ms.
[0077] It should be noted that the amount of BWMap data sent by the CPU unit to the logic unit is only determined by the number of AllocIDs involved in the calculation within the DBA cycle, and has nothing to do with the length of the entire DBA cycle, and will not increase with the increase of the DBA cycle.
[0078] The BWMap data of the first sub-allocation period includes:
[0079] Uplink service bandwidth of all AllocIDs in the first sub-allocation period;
[0080] The DBRu bandwidth corresponding to the AllocID in the current DBA cycle determined according to the preset configuration information;
[0081] The upstream PLOAM bandwidth corresponding to the default AllocID in the current DBA period;
[0082] The uplink forward error correction (FEC) overhead bandwidth is determined based on the uplink service bandwidth, DBRu bandwidth, and uplink PLOAM bandwidth in the first sub-allocation period.
[0083] Among them, the AllocID with DBRu bandwidth is determined according to the configuration information.
[0084] The BWMap data of the second sub-allocation period includes: the uplink service bandwidth of all AllocIDs in the second sub-allocation period and the uplink FEC overhead bandwidth determined based on the uplink service bandwidth in the second sub-allocation period.
[0085] By comparing the BWMap data of the first sub-allocation cycle with the BWMap data of the second sub-allocation cycle, it can be seen that in the first sub-allocation cycle, the CPU unit allocates the uplink service bandwidth of all AllocIDs, the DBRu bandwidth, the uplink PLOAM bandwidth of the default AllocID and the corresponding uplink FEC overhead bandwidth; in the second sub-allocation cycle, the uplink service bandwidth of all AllocIDs and the corresponding uplink FEC overhead bandwidth are allocated, and the DBRu bandwidth and the uplink PLOAM bandwidth are no longer allocated.
[0086] By adopting the above method, the process of determining the BWMap data in the current DBA cycle by the logic unit is simplified under the premise of ensuring that the data content complies with the provisions of the communication protocol.
[0087] Further, the uplink bandwidth data includes bandwidth configuration data and uplink bandwidth requirements;
[0088] The bandwidth configuration data of each AllocID comes from the user's service configuration parameters. According to ITU standards, the service configuration parameters of each AllocID include: Fixed Bandwidth, Guaranteed Bandwidth, Maximum Bandwidth, Priority, and Weight.
[0089] The upstream bandwidth requirement for each AllocID is determined by the CPU unit.
[0090] Specifically, the CPU unit obtains the uplink traffic statistics of each AllocID in the previous DBA cycle from the logic unit, and determines the uplink bandwidth requirement of each AllocID in the current DBA cycle according to the uplink traffic statistics of each AllocID in the previous DBA cycle.
[0091] Combined with the DBA data sent by the CPU unit above, we can know that in a DBA cycle, the data interaction process between the CPU unit and the logic unit is only 2 times:
[0092] a. Before starting DBA calculation: the logic unit reports the upstream traffic statistics of each AllocID in the previous DBA cycle to the CPU unit, and the CPU unit uses this data to calculate the upstream bandwidth requirements of the AllocID;
[0093] b. After completing the DBA calculation: the CPU unit completes the BWMap data in the first sub-allocation cycle and the second sub-allocation for each AllocID, and sends the data to the logical unit.
[0094] As can be seen from the above, during the entire DBA cycle, the CPU unit and the logic unit perform data interaction at the above two time points, which reduces the frequency of data interaction and the amount of data interacted.
[0095] For other DBA methods in the related art that use a GTC frame length (125us) as a period, two data interactions are required within each 125us. The amount of data transmitted on the bus is large and the transmission frequency is high, which increases the energy consumption of the bus.
[0096] Compared with other DBA methods in the related art, the method provided by the present application can set the DBA cycle to a larger value, such as setting values such as 0.5ms, 1ms, and 2ms, and only two data interactions are required in each DBA cycle, which reduces the frequency of data interactions. In addition, in a DBA cycle, from the amount of BWMap data sent, it can be seen that in the method provided by the present application, the CPU unit only needs to send BWMap data within two sub-allocation cycles to the logical unit, and does not need to send BWMap data of all sub-allocation cycles, which reduces the amount of interactive data, reduces the energy consumption of the bus, and reduces the occupation of logical unit resources.
[0097] Figure 5 The following is a flowchart of the DBA management method in the FTTR scenario. Figure 5 As shown, the method is applied to a PON MAC chip, wherein the PON MAC chip includes a CPU unit and a logic unit; wherein the method includes:
[0098] Step 501, the CPU unit obtains the uplink traffic statistics of each AllocID in the previous DBA cycle from the logic unit, and determines the uplink bandwidth requirement of each AllocID in the current DBA cycle according to the uplink traffic statistics of each AllocID in the previous DBA cycle;
[0099] Step 502: The CPU unit determines the uplink service bandwidth of each AllocID in each sub-period in the current DBA cycle according to the bandwidth configuration data of each AllocID and the uplink bandwidth requirement of each AllocID in the current DBA cycle.
[0100] The current DBA cycle is composed of multiple sub-cycles of equal length, wherein the length of each sub-cycle is determined according to the latency and transmission quality of the upstream traffic of AllocID, wherein the size of the sub-cycle is an integer multiple of the frame length of the GTC frame;
[0101] Step 503: The CPU unit uses at least part of the sub-periods as sub-allocation periods, and determines bandwidth mapping BWMap data of the first sub-allocation period and BWMap data of the second sub-allocation period;
[0102] The BWMap data of the first sub-allocation period includes the uplink service bandwidth of all AllocIDs in the first sub-allocation period; the DBRu bandwidth corresponding to the AllocID in the current DBA period determined according to the preset configuration information; the uplink PLOAM bandwidth corresponding to the default AllocID in the current DBA period; the uplink FEC overhead bandwidth determined based on the uplink service bandwidth, DBRu bandwidth and uplink PLOAM bandwidth in the first sub-allocation period; the BWMap data of the second sub-allocation period includes the uplink service bandwidth of all AllocIDs in the second sub-allocation period and the uplink FEC overhead bandwidth determined based on the uplink service bandwidth in the second sub-allocation period;
[0103] Step 504: The CPU unit sends DBA data to the logic unit, wherein the DBA data includes the length of the silent window, the BWMap data of the first sub-allocation period, the BWMap data of the second sub-allocation period, and the total length of the current DBA period; when the DBA period does not include the silent window, the length of the silent window is 0;
[0104] Step 505: After receiving the DBA data, the logic unit determines the number of remaining sub-allocation cycles in the current DBA according to the length of the silent window and the total length of the current DBA cycle, and uses the BWMap data of the second sub-allocation cycle as the BWMap data of each remaining sub-allocation cycle to obtain complete BWMap data in the current DBA cycle;
[0105] Step 506: The logic unit sends the complete BWMap data in the current DBA cycle.
[0106] According to the method provided by the embodiment of the present application, in one DBA cycle, each sub-allocation cycle carries the BWMap data of all AllocIDs, so that the uplink bandwidth time slot of each AllocID is shortened from one DBA cycle to one sub-allocation cycle, thereby reducing the latency and jitter of the uplink traffic; the CPU unit and the logic unit only need to interact twice, and there is no need to interact for each sub-allocation cycle, so the number of interactions is significantly reduced, which reduces the energy consumption of the bus and the occupation of the resources of the logic unit; the logic unit multiplexes the BWMap data of the second sub-allocation cycle according to the length of the silent window and the total length of the current DBA cycle as the BWMap data of the remaining sub-allocation cycles in the current DBA cycle, completes the bandwidth allocation of all AllocIDs in the current DBA cycle, and implements the DBA operation.
[0107] The following is an explanation of the embodiments of the present application:
[0108] In the embodiment of the present application, the DBA period is divided into a plurality of sub-periods on an average basis with the GTC frame as a unit, and each sub-period may include one or more uplink GTC frames;
[0109] When the current DBA cycle does not include a silent window, all sub-cycles are sub-allocation cycles;
[0110] When the current DBA cycle includes a silent window, the position of the silent window is before all sub-allocation cycles, and the length of the silent window is an integer multiple of the sub-cycles; wherein, when the CPU unit sends DBA data to the logical unit, the DBA data also includes data of the silent window of the current DBA cycle; and, before the logical unit sends complete BWMap data in the current DBA cycle, the logical unit sends data of the silent window of the current DBA cycle.
[0111] In an exemplary embodiment, in step 502, the method of acquiring the uplink service bandwidth of any AllocID in each sub-period includes:
[0112] Determine the value corresponding to the bandwidth configuration data in each sub-period to obtain a reference value; and determine the value corresponding to the uplink bandwidth demand in each sub-period to obtain a demand value;
[0113] If the demand value is greater than the reference value, the reference value is used as the uplink service bandwidth of the sub-period; otherwise, the demand value is used as the uplink service bandwidth of the sub-period.
[0114] The method for determining the uplink service bandwidth of a sub-period described here is only applicable to the simplified case in the example given; for multiple AllocIDs with different fixed bandwidth, guaranteed bandwidth, maximum bandwidth, weight and priority configurations, when the total bandwidth demand of these AllocIDs exceeds the total bandwidth of the uplink line, it is necessary to calculate according to the configuration data and bandwidth demand in accordance with the DBA principle in the ITU standard to obtain the uplink service bandwidth allocated to each AllocID.
[0115] Further, for each AllocID, the ratio of the uplink bandwidth requirement of the AllocID in the current DBA cycle to the number of sub-cycles in the current DBA cycle is calculated to obtain the requirement value.
[0116] Specifically, the upstream bandwidth requirement of each AllocID is calculated based on a complete DBA cycle. According to the requirements of standards such as ITU G.984.3 and G.9807.1, there are two methods for calculating the upstream bandwidth requirement of AllocID: the SR mode in which the ONU reports the status report and the TM mode in which the OLT monitors the upstream traffic. The OLT can select a mode according to the configuration to calculate the upstream bandwidth requirement of each AllocID.
[0117] Assume that there is an online ONU1, which includes two AllocIDs, namely, the default AllocID 1 and the service AllocID 1024. According to the DBRu information reported by the ONU, it is calculated that the upstream bandwidth requirement of the default AllocID 1 in the 1ms DBA cycle is 200 bytes, and the upstream bandwidth requirement of the service AllocID 1024 is 16384 bytes. Then, the upstream bandwidth requirements of these two AllocIDs are equally divided into each sub-allocation cycle. The length of each sub-allocation cycle is 1 GTC frame. The upstream bandwidth requirement of AllocID 1 in each sub-allocation cycle corresponds to a requirement value of (200 / 8)=25 bytes / 125us, and the upstream bandwidth requirement of the service AllocID 1024 in each sub-allocation cycle corresponds to a requirement value of (16384 / 8)=2048 bytes / 125us.
[0118] For bandwidth configuration data, assuming that the fixed bandwidth of the default AllocID 1 is 1Mbps, the maximum bandwidth of the service AllocID 1024 is 200Mbps and is a high-priority bandwidth, the fixed bandwidth of the default AllocID 1 corresponds to the benchmark value of each sub-allocation period: (1Mbps / 8) / (1000*8)=16 bytes / 125us; the maximum bandwidth of the service AllocID 1024 is configured at the benchmark value corresponding to each sub-allocation period: (200*1Mbps / 8) / (1000*8)=3200 bytes / 125us.
[0119] According to the dynamic bandwidth allocation principle specified in the ITU standard, the uplink service bandwidth in each sub-allocation period is calculated. For the default AllocID 1, since the demand value is greater than the reference value, the reference value is used as the uplink service bandwidth of the sub-period, that is, the uplink service bandwidth allocated by the default AllocID 1 is 16 bytes / 125us. For service AllocID 1024, the demand value is less than the reference value, and the demand value is used as the uplink service bandwidth of the sub-period, that is, the uplink service bandwidth value allocated by service AllocID 1024 is 2048 bytes / 125us.
[0120] The uplink service bandwidth of the same AllocID has the same value in the first sub-allocation period and the second sub-allocation period.
[0121] In step 503, the DBA cycle that does not include a silent window and the DBA cycle that includes a silent window are described separately:
[0122] Regarding DBAs not including the silent window:
[0123] In the first sub-allocation period of the DBA period, the uplink service bandwidth, DBRu bandwidth, PLOAM bandwidth and uplink FEC overhead bandwidth are allocated to the default AllocID 1 and service AllocID 1024 of the ONU.
[0124] In the first sub-allocation period in the 1 ms DBA period, 16 bytes of uplink service bandwidth and 13 bytes of PLOAM bandwidth are allocated to the default AllocID 1, and 2048 bytes of uplink service bandwidth, DBRu bandwidth and corresponding FEC overhead bandwidth are allocated to service AllocID 1024.
[0125] Take GPON as an example:
[0126] The default BWMap information for AllocID 1 is as follows:
[0127] {AllocID=1, Flags=0x600,StartTime=1000,StopTime=1028}
[0128] The default AllocID 1 enables upstream FEC and allows sending upstream PLOAM. The upstream bandwidth timeslot starts from the 1000th byte of the upstream GTC frame and ends at the 1028th byte, a total of 29 bytes.
[0129] The BWMap information of service AllocID 1024 is as follows:
[0130] {AllocID=1024, Flags=0x280,StartTime=1029,StopTime=3222}
[0131] Service AllocID 1024 enables uplink FEC, allowing the sending of 2 bytes of DBRu. The uplink bandwidth timeslot is after AllocID 1, starting from the 1029th byte of the uplink GTC frame and ending at the 3222nd byte, a total of 2194 bytes, including 144 bytes of uplink FEC overhead and 2 bytes of DBRu bandwidth.
[0132] Take XGSPON as an example:
[0133] The default BWMap information for AllocID 1 is as follows:
[0134] {AllocID=1,Flags=0x01,StartTime=100,GrantSize=1,FWI=0,BurstProfile=0x03}
[0135] AllocID 1 allows sending upstream PLOAM. The upstream bandwidth timeslot starts from the 1600th byte of the upstream GTC frame. The grant size is 16 bytes. The adopted BurstProfile ID=3 is used. Upstream FEC is enabled in this BurstProfile.
[0136] The BWMap information of service AllocID 1024 is as follows:
[0137] {AllocID=1024,Flags=0x02,StartTime=0xFFFF,GrantSize=128,FWI=0,BurstProfile=0x03}
[0138] Service AllocID 1024 allows sending DBRu. The uplink bandwidth time slot is after AllocID 1. The authorized size is 2048 bytes. The used BurstProfile ID=3 is used. Uplink FEC is enabled in this BurstProfile.
[0139] In the second sub-allocation period of the DBA period, only the upstream service bandwidth and FEC overhead bandwidth are allocated to the default AllocID 1 and service AllocID 1024 of the ONU, and no DBRu bandwidth and upstream PLOAM bandwidth are allocated.
[0140] In the second sub-allocation period in the 1 ms DBA period, only 16 bytes of uplink service bandwidth are allocated to the default AllocID 1, and 2048 bytes of uplink service bandwidth and corresponding FEC overhead bandwidth are allocated to service AllocID 1024.
[0141] Take GPON as an example:
[0142] The default BWMap information for AllocID 1 is as follows:
[0143] {AllocID=1, Flags=0x200,StartTime=1000,StopTime=1015}
[0144] By default, AllocID 1 enables upstream FEC. The upstream bandwidth timeslot starts from the 1000th byte of the upstream GTC frame and ends at the 1015th byte, a total of 16 bytes.
[0145] The BWMap information of service AllocID 1024 is as follows:
[0146] {AllocID=1024, Flags=0x200,StartTime=1016,StopTime=3207}
[0147] AllocID 1024 enables upstream FEC. The upstream bandwidth time slot is after AllocID 1, starting from the 1016th byte of the upstream GTC frame and ending at the 3207th byte, a total of 2192 bytes, including 144 bytes of upstream FEC overhead bandwidth.
[0148] Take XGSPON as an example:
[0149] The default BWMap information for AllocID 1 is as follows:
[0150] {AllocID=1,Flags=0x00,StartTime=100,GrantSize=1,FWI=0,BurstProfile=0x03}
[0151] The default AllocID 1 upstream bandwidth timeslot starts from the 1600th byte of the upstream GTC frame, the grant size is 16 bytes, the adopted BurstProfile ID=3, and the upstream FEC is enabled in this BurstProfile.
[0152] The BWMap information of service AllocID 1024 is as follows:
[0153] {AllocID=1024,Flags=0x00,StartTime=0xFFFF,GrantSize=128,FWI=0,BurstProfile=0x03}
[0154] Service AllocID 1024 allows sending DBRu. The uplink bandwidth time slot is after AllocID 1. The authorized size is 2048 bytes. The used BurstProfile ID=3 is used. Uplink FEC is enabled in this BurstProfile.
[0155] Regarding DBA cycles that include quiet windows:
[0156] The construction process of the uplink bandwidth mapping (BWMap) data of the silent window and AllocID is as follows:
[0157] A silent window is constructed at the start of the DBA period, and the length of the silent window is an integer multiple of the sub-allocation period. For both SN acquisition authorization and ONU ranging authorization, the boundary of the silent window is aligned to the boundary of the sub-allocation period, that is, the length of the silent window is an integer multiple of the sub-allocation period, and the specific value is determined by the maximum differential distance supported.
[0158] Among them, the calculation process of the length of the silent window is:
[0159]
[0160] in:
[0161] L represents the length of the silent window, in the number of sub-periods;
[0162] D represents the maximum differential distance in meters;
[0163] P represents the length of the sub-period in microseconds;
[0164] Indicates rounding up.
[0165] Taking the maximum differential distance of 20 km as an example, the silent windows corresponding to the SN acquisition authorization and the ONU ranging authorization are both 250 us, accounting for the length of 2 sub-allocation cycles. For the maximum differential distance of 5 km, the silent windows corresponding to the SN acquisition authorization and the ONU ranging authorization are both 125 us, accounting for the length of 1 sub-allocation cycle.
[0166] In the first sub-allocation cycle after the silent window, the uplink service bandwidth, DBRu bandwidth, PLOAM bandwidth and uplink FEC overhead bandwidth are allocated to the default AllocID 1 and service AllocID 1024 of the ONU. The allocation process is the same as the allocation process of the first sub-allocation cycle in the DBA cycle that does not include the silent window.
[0167] In the second sub-allocation cycle after the silent window, only the uplink service bandwidth and FEC overhead bandwidth are allocated to the default AllocID 1 and service AllocID 1024 of the ONU, and no DBRu bandwidth and uplink PLOAM bandwidth are allocated. The allocation process is the same as the allocation process of the second sub-allocation cycle in the DBA cycle that does not include the silent window.
[0168] In step 504, the CPU unit sends DBA data to the logic unit; wherein:
[0169] When the current DBA includes a silent window, the DBA data includes data of the silent window, the length of the silent window, BWMap data of the first sub-allocation period, BWMap data of the second sub-allocation period, and the total length of the current DBA period;
[0170] When the current DBA does not include a silent window, the DBA data includes the length of the silent window, the BWMap data of the first sub-allocation period, the BWMap data of the second sub-allocation period, and the total length of the current DBA period, wherein the length of the silent window is 0;
[0171] Regardless of the length of the DBA cycle, the BWMap data sent by the CPU unit only includes the BWMap data of the two sub-allocation cycles, and the remaining BWMap data of the other sub-allocation cycles all use the BWMap data of the second sub-allocation cycle. Therefore, the dynamic change of the DBA cycle will not affect the total amount of data sent by the CPU to the logical unit.
[0172] In step 505, the logic unit determines the number of remaining sub-allocation cycles in the current DBA according to the length of the quiet window and the total length of the current DBA cycle, including:
[0173] Calculate the ratio between the number of GTC frames corresponding to the total length of the current DBA cycle and the number of GTC frames corresponding to each sub-allocation cycle to obtain the number of sub-cycles; wherein the total length of the current DBA cycle sent by the CPU unit is counted by the number of GTC frames;
[0174] When the current DBA cycle does not include a silent window, determining the number of remaining sub-allocation cycles is the difference between the number of sub-cycles and the value 2;
[0175] When the current DBA cycle includes a silent window, the sum of the number of sub-cycles corresponding to the silent window and the value 2 is taken as the occupied number, and the number of remaining sub-allocation cycles is determined as the difference between the number of sub-cycles and the occupied number.
[0176] Take the case where the length of the DBA period is the length of T GTC frames and the length of each sub-allocation period is the length of N uplink frames as an example for explanation:
[0177] For a DBA cycle that does not include a silent window, the number of repeated distributions of the BWMap data of the second sub-allocation cycle is: (T / N)-1; that is, in the current DBA cycle, after sending the BWMap data of the first sub-allocation cycle, the logical unit continuously sends the BWMap data of the second sub-allocation cycle ((T / N)-1) ) times.
[0178] For a DBA cycle including a silent window, the length of the silent window is Q sub-cycles, and the number of repeated distributions of the BWMap data of the second sub-allocation cycle is: (T / N)-Q-1; that is, in the current DBA cycle, after sending the data of the silent window and the BWMap data of the first sub-allocation cycle, the logical unit sends the BWMap data of the second sub-allocation cycle ((T / N)-Q-1) times;
[0179] Wherein, T is an integer greater than or equal to 4, and N and Q are both positive integers.
[0180] Figure 6 This is a schematic diagram of the structure of the DBA management device in the FTTR scenario provided by the embodiment of the present application. Figure 6 As shown, it is applied to a PON MAC chip, wherein the PON MAC chip includes a CPU unit and a logic unit; wherein the device includes a first determining subunit 601, a second determining subunit 602, a third determining subunit 603 and a first sending subunit 604 deployed in the CPU unit, and an acquiring subunit 605 and a second sending subunit 606 deployed in the logic unit; wherein:
[0181] The first determining subunit 601 is configured to obtain uplink traffic statistics of each AllocID in the previous DBA cycle from the logical unit, and determine the uplink bandwidth requirement of each AllocID in the current DBA cycle according to the uplink traffic statistics of each AllocID in the previous DBA cycle;
[0182] The second determination subunit 602 is configured to determine the uplink service bandwidth of each AllocID in each sub-period in the current DBA cycle according to the bandwidth configuration data of each AllocID and the uplink bandwidth requirement of each AllocID in the current DBA cycle; wherein the current DBA cycle is composed of a plurality of sub-periods of equal length, wherein the length of each sub-period is determined according to the latency and transmission quality of the uplink traffic of the AllocID, wherein the size of the sub-period is an integer multiple of the frame length of the GTC frame;
[0183] The third determination subunit 603 is configured to use at least part of the sub-periods as sub-allocation periods, and determine the BWMap data of the first sub-allocation period and the BWMap data of the second sub-allocation period; wherein the BWMap data of the first sub-allocation period includes the uplink service bandwidth of all AllocIDs in the first sub-allocation period; the DBRu bandwidth corresponding to the AllocID in the current DBA period determined according to the preset configuration information; the uplink PLOAM bandwidth corresponding to the default AllocID in the current DBA period; the uplink FEC overhead bandwidth determined based on the uplink service bandwidth, DBRu bandwidth and uplink PLOAM bandwidth in the first sub-allocation period; wherein the BWMap data of the second sub-allocation period includes the uplink service bandwidth of all AllocIDs in the second sub-allocation period and the uplink FEC overhead bandwidth determined based on the uplink service bandwidth in the second sub-allocation period;
[0184] The first sending subunit 604 is configured to send DBA data to the logical unit, wherein the DBA data includes the length of the silent window, the BWMap data of the first sub-allocation period, the BWMap data of the second sub-allocation period, and the total length of the current DBA period; when the DBA period does not include the silent window, the length of the silent window is 0;
[0185] The acquisition subunit 605 is configured to determine the number of remaining sub-allocation periods in the current DBA according to the length of the silent window and the total length of the current DBA period after receiving the DBA data, and use the BWMap data of the second sub-allocation period as the BWMap data of each remaining sub-allocation period to obtain the complete BWMap data in the current DBA period;
[0186] The second sending subunit 606 is configured to send complete BWMap data in the current DBA cycle.
[0187] In the device provided by the embodiment of the present application, in a DBA cycle, each sub-allocation cycle carries the BWMap data of all AllocIDs, so that the uplink bandwidth time slot of each AllocID is shortened from one DBA cycle to one sub-allocation cycle, thereby reducing the delay and jitter of the uplink traffic; the CPU unit and the logic unit only need to interact twice, and there is no need to interact for each sub-allocation cycle, the number of interactions is significantly reduced, the energy consumption of the bus is reduced, and the occupation of the resources of the logic unit is reduced; the logic unit multiplexes the BWMap data of the second sub-allocation cycle according to the length of the silent window and the total length of the current DBA cycle as the BWMap data of the remaining sub-allocation cycles in the current DBA cycle, completes the bandwidth allocation of all AllocIDs in the current DBA cycle, and realizes the DBA operation.
[0188] In addition, the present application provides an OLT, provided with a PON MAC chip, wherein the PON MAC chip manages DBA using the method described above; or, the PON MAC chip is provided with the device described above.
[0189] In the OLT provided by the embodiment of the present application, in one DBA cycle, each sub-allocation cycle carries the BWMap data of all AllocIDs, so that the upstream bandwidth time slot of each AllocID is shortened from one DBA cycle to one sub-allocation cycle, thereby reducing the delay and jitter of the upstream traffic; the CPU unit and the logic unit in the PON MAC chip only need to interact twice, and there is no need to interact for each sub-allocation cycle, the number of interactions is significantly reduced, the energy consumption of the bus is reduced, and the occupation of the resources of the logic unit is reduced; the logic unit multiplexes the BWMap data of the second sub-allocation cycle according to the length of the silent window and the total length of the current DBA cycle as the BWMap data of the remaining sub-allocation cycles in the current DBA cycle, completes the bandwidth allocation of all AllocIDs in the current DBA cycle, and implements the DBA operation.
[0190] It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or transient medium). As is known to those skilled in the art, the term "computer storage medium" includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those skilled in the art that communication media typically include computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
Claims
1. A DBA management method in an FTTR scenario, applied to a media access control PON MAC chip in a light-free network, wherein the PON MAC chip includes a CPU unit and a logic unit; wherein the method includes: The CPU unit obtains the uplink traffic statistics of each AllocID in the last dynamic bandwidth allocation DBA cycle from the logic unit, and determines the uplink bandwidth requirement of each AllocID in the current DBA cycle according to the uplink traffic statistics of each AllocID in the last DBA cycle; The CPU unit determines the uplink service bandwidth of each AllocID in each sub-period in the current DBA cycle according to the bandwidth configuration data of each AllocID and the uplink bandwidth demand of each AllocID in the current DBA cycle; wherein the current DBA cycle is composed of a plurality of sub-periods of equal length, wherein the length of each sub-period is determined according to the latency and transmission quality of the uplink traffic of the AllocID, wherein the size of the sub-period is an integer multiple of the frame length of the transmission convergence layer GTC frame in the gigabit passive optical network; The CPU unit uses at least part of the sub-period as the sub-allocation period, and determines the bandwidth mapping BWMap data of the first sub-allocation period and the BWMap data of the second sub-allocation period; wherein the BWMap data of the first sub-allocation period includes the uplink service bandwidth of all AllocIDs in the first sub-allocation period; the dynamic bandwidth allocation report DBRu bandwidth corresponding to the AllocID in the current DBA period determined according to the preset configuration information; the uplink physical layer operation management and maintenance PLOAM bandwidth corresponding to the default AllocID in the current DBA period; the uplink forward error correction FEC overhead bandwidth determined based on the uplink service bandwidth, DBRu bandwidth and uplink PLOAM bandwidth in the first sub-allocation period; wherein the BWMap data of the second sub-allocation period includes the uplink service bandwidth of all AllocIDs in the second sub-allocation period and the uplink FEC overhead bandwidth determined based on the uplink service bandwidth in the second sub-allocation period; The CPU unit sends DBA data to the logic unit, wherein the DBA data includes the length of the silent window, the BWMap data of the first sub-allocation cycle, the BWMap data of the second sub-allocation cycle, and the total length of the current DBA cycle; when the DBA cycle does not include the silent window, the length of the silent window is 0; After receiving the DBA data, the logic unit determines the number of remaining sub-allocation cycles in the current DBA according to the length of the silent window and the total length of the current DBA cycle, and uses the BWMap data of the second sub-allocation cycle as the BWMap data of each remaining sub-allocation cycle to obtain complete BWMap data in the current DBA cycle; The logic unit sends the complete BWMap data in the current DBA cycle.
2. The method according to claim 1, characterized in that The total length of the current DBA cycle is determined by the following methods, including: On the premise of ensuring that the length of each sub-cycle remains unchanged, if the number of AllocIDs in the time period corresponding to the current DBA cycle is greater than the number of AllocIDs in the time period corresponding to the preset reference DBA cycle, the value after the total length of the reference DBA cycle is increased is used as the total length of the current DBA cycle; if the number of AllocIDs in the time period corresponding to the current DBA cycle is less than the number of AllocIDs in the time period corresponding to the reference DBA cycle, the value after the total length of the previous DBA cycle is reduced is used as the total length of the current DBA cycle.
3. The method according to claim 2, characterized in that The methods for obtaining the size relationship of the number of AllocIDs in different time periods include: Obtaining the processing duration of performing DBA calculations in any DBA cycle from the time period corresponding to the current DBA cycle to obtain a target processing duration; and obtaining the processing duration of performing DBA calculations in any DBA cycle from the time period corresponding to the reference DBA cycle to obtain a reference processing duration; If the target processing duration is greater than the reference processing duration, determining that the number of AllocIDs in the time period corresponding to the current DBA cycle is greater than the number of AllocIDs in the time period corresponding to the reference DBA cycle; If the target processing duration is less than the reference processing duration, it is determined that the number of AllocIDs in the time period corresponding to the current DBA cycle is less than the number of AllocIDs in the time period corresponding to the reference DBA cycle.
4. The method according to claim 1, characterized in that: When the current DBA cycle does not include a silent window, all sub-cycles are sub-allocation cycles; When the current DBA cycle includes a silent window, the position of the silent window is before all sub-allocation cycles, and the length of the silent window is an integer multiple of the sub-cycles; wherein, when the CPU unit sends DBA data to the logical unit, the DBA data also includes data of the silent window of the current DBA cycle; and, before the logical unit sends complete BWMap data in the current DBA cycle, the logical unit sends data of the silent window of the current DBA cycle.
5. The method according to claim 4, characterized in that The length of the silent window is calculated as follows: ; in: L represents the length of the silent window, in units of sub-periods; D represents the maximum differential distance in meters; P is the length of the sub-period in microseconds; Indicates rounding up.
6. The method according to claim 1, characterized in that: The total length of the current DBA cycle sent by the CPU unit is counted by the number of GTC frames; The logic unit determines the number of remaining sub-allocation cycles in the current DBA according to the length of the silent window and the total length of the current DBA cycle, including: Calculate the ratio between the number of GTC frames corresponding to the total length of the current DBA cycle and the number of GTC frames corresponding to each sub-allocation cycle to obtain the number of sub-cycles; When the current DBA cycle does not include a silent window, determining the number of remaining sub-allocation cycles is the difference between the number of sub-cycles and the value 2; When the current DBA cycle includes a silent window, the sum of the number of sub-cycles corresponding to the silent window and the value 2 is taken as the occupied number, and the number of remaining sub-allocation cycles is determined as the difference between the number of sub-cycles and the occupied number.
7. The method according to claim 1, characterized in that The way to obtain uplink service bandwidth for any AllocID in each sub-period includes: Determine the value corresponding to the bandwidth configuration data in each sub-period to obtain a reference value; and determine the value corresponding to the uplink bandwidth demand in each sub-period to obtain a demand value; If the demand value is greater than the reference value, the reference value is used as the uplink service bandwidth of the sub-period; otherwise, the demand value is used as the uplink service bandwidth of the sub-period.
8. The method according to claim 7, characterized in that The determining a value corresponding to the uplink bandwidth requirement in each sub-period to obtain the requirement value includes: The ratio of the uplink bandwidth requirement of AllocID in the current DBA cycle to the number of sub-cycles in the current DBA cycle is calculated to obtain the requirement value.
9. A management device for DBA in a FTTR scenario, applied to a PON MAC chip, wherein the PON MAC chip comprises a CPU unit and a logic unit; wherein the device comprises a first determining subunit, a second determining subunit, a third determining subunit and a first sending subunit deployed in the CPU unit, and an acquiring subunit and a second sending subunit deployed in the logic unit; wherein: The first determination subunit is configured to obtain uplink traffic statistics of each AllocID in a previous DBA cycle from the logic unit, and determine the uplink bandwidth requirement of each AllocID in a current DBA cycle according to the uplink traffic statistics of each AllocID in the previous DBA cycle; The second determination subunit is configured to determine the uplink service bandwidth of each AllocID in each sub-period in the current DBA cycle according to the bandwidth configuration data of each AllocID and the uplink bandwidth requirement of each AllocID in the current DBA cycle; wherein the current DBA cycle is composed of a plurality of sub-periods of equal length, wherein the length of each sub-period is determined according to the latency and transmission quality of the uplink traffic of the AllocID, wherein the size of the sub-period is an integer multiple of the frame length of the GTC frame; The third determination subunit is configured to use at least part of the sub-periods as sub-allocation periods, and determine the BWMap data of the first sub-allocation period and the BWMap data of the second sub-allocation period; wherein the BWMap data of the first sub-allocation period includes the uplink service bandwidth of all AllocIDs in the first sub-allocation period; the DBRu bandwidth corresponding to the AllocID in the current DBA period determined according to the preset configuration information; the uplink PLOAM bandwidth corresponding to the default AllocID in the current DBA period; the uplink FEC overhead bandwidth determined based on the uplink service bandwidth, DBRu bandwidth and uplink PLOAM bandwidth in the first sub-allocation period; wherein the BWMap data of the second sub-allocation period includes the uplink service bandwidth of all AllocIDs in the second sub-allocation period and the uplink FEC overhead bandwidth determined based on the uplink service bandwidth in the second sub-allocation period; The first sending subunit is configured to send DBA data to the logic unit; wherein the DBA data includes the length of the silent window, the BWMap data of the first sub-allocation period, the BWMap data of the second sub-allocation period, and the total length of the current DBA period; when the DBA period does not include the silent window, the length of the silent window is 0; The acquisition subunit is configured to determine the number of remaining sub-allocation periods in the current DBA according to the length of the silent window and the total length of the current DBA period after receiving the DBA data, and use the BWMap data of the second sub-allocation period as the BWMap data of each remaining sub-allocation period to obtain the complete BWMap data in the current DBA period; The second sending subunit is configured to send complete BWMap data in the current DBA cycle.
10. An optical line terminal, provided with a PON MAC chip, wherein the PON MAC chip manages DBA using the method according to any one of claims 1 to 8; or, the PON MAC chip is provided with the device according to claim 9.
Citation Information
Patent Citations
Downlink flow control information transferring method in kilomega passive optical network system
CN101141410A
Uplink bandwidth allocation and distribution method and device for gigabit passive optical network, and medium
CN115942163A