Flexe port management method and apparatus
By identifying and managing idle PHYs in FlexE network devices and utilizing time slot adjustment and migration technologies, the problem of high overall power consumption in FlexE network devices is solved, achieving higher telecom energy efficiency ratio and reduced power consumption.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-12-27
- Publication Date
- 2026-07-30
AI Technical Summary
FlexE network devices suffer from high overall power consumption due to idle PHYs or time slots.
By identifying idle PHYs based on their time slot status and performing energy-saving operations such as time slot adjustment, time slot migration, and time slot compression, unnecessary power consumption is reduced.
While ensuring normal data flow transmission, the telecommunications energy efficiency ratio of network equipment has been improved, and the overall power consumption has been reduced.
Smart Images

Figure CN2025146337_30072026_PF_FP_ABST
Abstract
Description
FlexE Port Management Method and Device
[0001] This application claims priority to Chinese patent application filed on January 26, 2025, with application number 202510126328.6 and entitled "FlexE Port Management Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communication technology, and in particular to a FlexE port management method and apparatus. Background Technology
[0003] Flexible Ethernet (FlexE) is a general-purpose technology that supports multiple media access control (MAC) layer rates. FlexE achieves hard isolation of transmission pipeline bandwidth by binding multiple physical link interfaces (PHYs) and dividing each PHY into multiple time slots (TSs) in the time domain with specified granularity. A data stream (also known as a service stream) can be allocated to one or more time slots, thus matching various service rates.
[0004] A FlexE group can contain one or more PHYs. Data on each PHY in a FlexE group is positioned within the PHY and aligned between different PHYs by periodically inserting FlexE overhead (OH) code blocks, so as to achieve time-slot transmission of service data streams.
[0005] One or more PHYs in a FlexE group typically have idle PHYs or time slots. These idle PHYs or time slots are also active during data transmission, leading to higher overall power consumption of the network device. Summary of the Invention
[0006] This application provides a FlexE port management method and apparatus to solve the problem of high overall power consumption of FlexE network devices.
[0007] In a first aspect, a FlexE port management method is provided, executed by a first network device, wherein a first FlexE group of the first network device is communicatively connected to a second FlexE group of a second network device, and the first FlexE group includes at least one physical port PHY. The method includes: determining at least one idle PHY among the at least one PHY based on the timeslot status of the at least one PHY; and performing power-saving operations on the at least one idle PHY.
[0008] Based on the aforementioned FlexE port management method, the first network device performs energy-saving operations on idle PHYs in at least one PHY of the first FlexE group. Compared to FlexE ports maintaining the working state of PHYs that do not require data transmission during data flow transmission, the FlexE port management method provided in this application can perform energy-saving operations on idle PHYs that are not essential for data flow transmission while ensuring that at least one non-idle PHY can transmit data. This improves the overall telecommunications energy efficiency ratio (TEER) of the first network device and reduces its overall power consumption.
[0009] As one possible implementation, at least one idle PHY includes: a PHY in which the number of time slots used before time slot adjustment is zero; and / or a PHY in which the number of time slots used after time slot adjustment is zero.
[0010] Based on the above implementation method, by adjusting the time slots to increase the number of idle PHYs in the first FlexE group, more PHYs can be powered up for energy-saving operations, thereby further improving the telecommunications energy efficiency ratio of the first network device and reducing the overall power consumption of the first network device.
[0011] As one possible implementation, at least one idle PHY includes a PHY whose number of used time slots is zero after time slot adjustment in at least one PHY. Determining an idle PHY in at least one PHY based on the time slot status of at least one PHY includes: performing time slot adjustment on at least one PHY; determining at least one idle PHY includes a PHY whose number of used time slots is zero after time slot adjustment in at least one PHY.
[0012] Optionally, the number of PHYs with zero used time slots in at least one PHY is increased after time slot adjustment.
[0013] Optionally, time slot adjustment is performed on at least one PHY, including: time slot compression and / or time slot migration on at least one PHY; time slot compression is used to reduce the number of time slots in which any PHY carries any data stream, and time slot migration is used to migrate any data stream from the time slot of the first PHY to the time slot of other PHYs, wherein at least one PHY includes the first PHY and other PHYs.
[0014] Based on the above implementation method, by adjusting the time slots of at least one PHY in the first FlexE group through time slot migration, all the used time slots of a PHY can be migrated to other PHYs to obtain idle PHYs, thus ensuring the flexibility of time slot adjustment.
[0015] As one possible implementation, time slot compression and / or time slot migration of at least one PHY includes: performing time slot compression and / or time slot migration of at least one PHY based on energy-saving capabilities jointly supported by the first network device and the second network device.
[0016] Based on the above implementation, the first network device performs time slot compression and / or time slot migration according to the energy-saving capabilities jointly supported by the first and second network devices, enabling the two network devices to perform coordinated operations on the PHY, thereby clearing the PHY bidirectionally at the same time, ensuring that energy-saving operations on idle PHY will not affect the normal data flow transmission of the two network devices.
[0017] As one possible implementation, the jointly supported energy-saving capabilities include time slot migration, performing time slot compression and / or time slot migration on at least one PHY, including: determining that the number of unused time slots of other PHYs is greater than or equal to the number of used time slots of the first PHY; and using time slot migration to migrate the data stream carried by the used time slots of the first PHY to the unused time slots of other PHYs.
[0018] Based on the above implementation method, by performing time slot migration on at least one PHY included in the first FlexE group, all used time slots of the PHY that can become idle PHYs are migrated, thereby increasing the number of idle PHYs that can perform subsequent energy-saving operations.
[0019] As one possible implementation, the jointly supported energy-saving capabilities include time slot migration and time slot compression. Time slot compression and / or time slot migration are performed on at least one PHY, including: determining that the number of unused time slots of other PHYs is less than the number of used time slots of the first PHY; using time slot compression to reduce the number of time slots allocated to a specified data stream in other PHYs; after time slot compression, the number of unused time slots of other PHYs is greater than or equal to the number of used time slots of the first PHY; and using time slot migration to migrate the data stream carried by the used time slots of the first PHY to the unused time slots of other PHYs.
[0020] Based on the above implementation method, more idle PHYs are obtained through time slot compression before time slot migration, so that more idle PHYs can be obtained during time slot migration, which further improves the overall power consumption of the first network device after energy-saving operation.
[0021] As one possible implementation, before employing time slot compression to reduce the number of time slots allocated to the specified data stream in other PHYs, the method further includes: determining that the specified data stream is a data stream whose current traffic is less than a shrinkage threshold among the data streams carried by other PHYs; each data stream carried by other PHYs corresponds to a shrinkage threshold, which is a fixed threshold or predicted based on the traffic of the corresponding data stream.
[0022] Based on the above implementation method, the first network device determines the number of data streams that can be reduced in number of allocated time slots without affecting the normal transmission of data streams, thereby improving the flexibility and accuracy of time slot compression.
[0023] As one possible implementation, at least one idle PHY includes at least one pre-split PHY and / or at least one post-split PHY, wherein any post-split PHY is obtained by splitting any PHY with a first bandwidth into at least two PHYs with a second bandwidth, wherein the first bandwidth is greater than the second bandwidth.
[0024] Based on the above implementation, at least one idle PHY can include a split PHY, which improves the flexibility of time slot migration and time slot compression and is conducive to obtaining more idle PHYs.
[0025] As one possible implementation, before determining at least one idle PHY among at least one PHY based on the time slot status of at least one PHY, the method further includes: splitting at least one PHY according to a splitting granularity jointly supported by the first network device and the second network device; wherein the first network device includes a first Flexible Ethernet Shim (FlexE SHIM) chip and a first optical module, the first FlexE SHIM chip and the first optical module are connected through at least one pair of deserializers (serdes), and the splitting granularity supported by the first network device is determined by the PHY rate configuration provided by the first FlexE SHIM chip, the number of at least one pair of deserializers, and the number of channels of the first optical module.
[0026] As one possible implementation, after performing energy-saving operations on at least one idle PHY, the method further includes: if the idle bandwidth of all activated PHYs in at least one PHY is less than the bandwidth required for the data stream to allocate time slots, activating one or more PHYs in at least one idle PHY; the time slots of the activated one or more PHYs are in an available state; if the current traffic of any data stream in at least one data stream carried by at least one PHY is greater than or equal to the expansion threshold, activating one or more PHYs in at least one idle PHY.
[0027] Based on the above implementation, after performing energy-saving operation on at least one idle PHY, if the first network device has a data flow transmission bandwidth requirement that exceeds the idle bandwidth of the activated PHYs in the first FlxeE group, one or more PHYs that have performed energy-saving operation are activated on demand, thereby ensuring the normal transmission of data flow.
[0028] As one possible implementation, performing power-saving operations on at least one idle PHY includes performing electrical layer and / or optical layer device shutdown operations on at least one idle PHY.
[0029] As one possible implementation, the method further includes: determining the energy-saving capability of the first network device; obtaining the energy-saving capability of the second network device; and determining the energy-saving capability jointly supported by the first network device and the second network device based on the energy-saving capability of the first network device and the energy-saving capability of the second network device.
[0030] Based on the above implementation method, the first network device negotiates the energy-saving capabilities jointly supported by the first network device and the second network device by acquiring energy-saving capabilities, thereby improving the coordination capability of the FlexE port management method.
[0031] Optionally, the first message conforms to the Optical Internetworking Forum Network Device (OIF-ND) protocol or the Link Layer Discovery Protocol (LLDP) vendor proprietary protocol. The first message includes a first LLDP data unit (DU), which is used to carry capability information of the second network device.
[0032] Optionally, the first message includes an operation administration and maintenance (OAM) code block, which carries capability information of the second network device.
[0033] Secondly, a FlexE port management device is provided. The FlexE port management device includes a processing module for: determining at least one idle PHY among at least one PHY based on the timeslot state of at least one PHY; and performing power-saving operations on the at least one idle PHY.
[0034] As one possible implementation, at least one idle PHY includes: a PHY in which the number of time slots used before time slot adjustment is zero; and / or a PHY in which the number of time slots used after time slot adjustment is zero.
[0035] As one possible implementation, at least one idle PHY includes at least one PHY whose number of used time slots is zero after time slot adjustment. The processing module is specifically configured to: perform time slot adjustment on at least one PHY; increase the number of PHYs whose number of used time slots is zero after time slot adjustment; and determine that at least one idle PHY includes at least one PHY whose number of used time slots is zero after time slot adjustment.
[0036] As one possible implementation, the processing module is specifically used to: perform time slot compression and / or time slot migration on at least one PHY; time slot compression is used to reduce the number of time slots in any PHY carrying any data stream, and time slot migration is used to migrate any data stream from the time slot of the first PHY to the time slot of other PHYs, wherein at least one PHY includes the first PHY and other PHYs.
[0037] As one possible implementation, the processing module is specifically used to: perform time slot compression and / or time slot migration on at least one PHY based on the energy-saving capabilities jointly supported by the first network device and the second network device.
[0038] Optionally, the jointly supported energy-saving capabilities include PHY lossless isolation, which is used to ensure that the flow between at least one PHY does not interfere with each other.
[0039] As one possible implementation, the jointly supported energy-saving capabilities include time slot migration. The processing module is specifically used to: determine that the number of unused time slots of other PHYs is greater than or equal to the number of used time slots of the first PHY; and use time slot migration to migrate the data stream carried by the used time slots of the first PHY to the unused time slots of other PHYs.
[0040] As one possible implementation, the jointly supported energy-saving capabilities include time slot migration and time slot compression. The processing module is specifically used to: determine that the number of unused time slots of other PHYs is less than the number of used time slots of the first PHY; use time slot compression to reduce the number of time slots allocated to a specified data stream in other PHYs; after time slot compression, the number of unused time slots of other PHYs is greater than or equal to the number of used time slots of the first PHY; and use time slot migration to migrate the data stream carried by the used time slots of the first PHY to the unused time slots of other PHYs.
[0041] As one possible implementation, the processing module is specifically used to: determine that the specified data stream is a data stream whose current traffic is less than the scaling-down threshold among the data streams carried by other PHYs; each data stream carried by other PHYs corresponds to a scaling-down threshold, which is a fixed threshold or is predicted based on the traffic of the corresponding data stream.
[0042] As one possible implementation, at least one idle PHY includes at least one pre-split PHY and / or at least one post-split PHY, wherein any post-split PHY is obtained by splitting any PHY with a first bandwidth into at least two PHYs with a second bandwidth, wherein the first bandwidth is greater than the second bandwidth.
[0043] As one possible implementation, the FlexE port management device further includes a negotiation module for splitting at least one PHY according to a splitting granularity jointly supported by the first network device and the second network device; wherein the first network device includes a first FlexE SHIM chip and a first optical module, the first FlexE SHIM chip and the first optical module are connected through at least one pair of deserializers, and the splitting granularity supported by the first network device is determined by the PHY rate configuration provided by the first FlexE SHIM chip, the number of at least one pair of deserializers and the number of channels of the first optical module.
[0044] As one possible implementation, the processing module is also configured to: activate one or more PHYs in at least one idle PHY if the idle bandwidth of all activated PHYs in at least one PHY is less than the bandwidth required for the data stream to allocate time slots; the time slots of the activated one or more PHYs are in an available state; and activate one or more PHYs in at least one idle PHY if the current traffic of any data stream carried by at least one PHY is greater than or equal to the expansion threshold.
[0045] As one possible implementation, the processing module is specifically used to: perform electrical layer and / or optical layer device shutdown operations on at least one idle PHY.
[0046] As one possible implementation, the negotiation module is also used to: determine the energy-saving capability of the first network device; obtain the energy-saving capability of the second network device; and determine the energy-saving capability jointly supported by the first network device and the second network device based on the energy-saving capability of the first network device and the energy-saving capability of the second network device.
[0047] As one possible implementation, the negotiation module is specifically used to: receive a first message; the first message carries capability information of the second network device, and the capability information of the second network device is used to indicate the energy-saving capability of the second network device.
[0048] As one possible implementation, the first message conforms to the OIF-ND protocol or the LLDP vendor's proprietary protocol, and the first message includes a first LLDP DU, which is used to carry capability information of the second network device.
[0049] As one possible implementation, the first message includes an OAM code block, which is used to carry capability information of the second network device.
[0050] As one possible implementation, the beneficial effects of the FlexE port management device provided in the second aspect above can be referred to the description in the FlexE port management method provided in the first aspect, and will not be repeated here.
[0051] Thirdly, a communication device is provided, the communication device including a processor and a memory, the processor being configured to execute instructions stored in the memory to cause the communication device to perform the FlexE port management method described in any possible implementation of the first aspect above.
[0052] Fourthly, a computer program (product) is provided, the computer program (product) comprising: computer program code, which, when executed by a computer or communication device, causes the computer or communication device to perform the FlexE port management method described in any possible implementation of the first aspect above.
[0053] Fifthly, a chip is provided, including a processor for calling and executing instructions stored in a memory, such that a communication device on which the chip is installed performs the FlexE port management method described in any possible implementation of the first aspect above.
[0054] In a sixth aspect, another chip is provided, comprising: an input interface, an output interface, a processor, and a memory, wherein the input interface, the output interface, the processor, and the memory are connected via an internal connection path, and the processor is used to execute code in the memory, wherein when the code is executed, the processor is used to execute the FlexE port management method described in any possible implementation of the first aspect above.
[0055] In a seventh aspect, a network system is provided, including at least one network device, wherein the at least one network device includes a communication device as provided in the third aspect above.
[0056] Eighthly, a computer-readable storage medium is provided, wherein at least one instruction is stored therein, the instruction being loaded and executed by a processor to implement the FlexE port management method as described in any possible implementation of the first aspect above. Attached Figure Description
[0057] Figure 1a is a schematic diagram of the FlexE architecture provided in an embodiment of this application;
[0058] Figure 1b is a schematic diagram of the architecture of a network system provided in an embodiment of this application;
[0059] Figure 2 is a flowchart illustrating a FlexE port management method provided in an embodiment of this application;
[0060] Figure 3 is a schematic diagram of the architecture of a network device provided in an embodiment of this application;
[0061] Figure 4 is a schematic flowchart of a FlexE port management method provided in an embodiment of this application;
[0062] Figure 5a is a schematic diagram of a time slot state after time slot compression provided in an embodiment of this application;
[0063] Figure 5b is a schematic diagram of an architecture for threshold distribution based on an analyzer provided in an embodiment of this application;
[0064] Figure 5c is a schematic diagram of threshold adjustment based on a network device provided in an embodiment of this application;
[0065] Figure 6 is a schematic diagram of a time slot state after time slot migration provided in an embodiment of this application;
[0066] Figure 7 is a schematic diagram of an energy-saving operation provided in an embodiment of this application;
[0067] Figure 8 is a schematic diagram of the architecture of a network device provided in an embodiment of this application;
[0068] Figure 9 is a schematic diagram of a splitting granularity provided in an embodiment of this application;
[0069] Figure 10 is a flowchart illustrating a FlexE port management method according to an embodiment of this application.
[0070] Figure 11 is a schematic diagram of the state of PHY distribution after PHY splitting according to an embodiment of this application;
[0071] Figure 12 is a schematic diagram of a time slot state after time slot compression provided in an embodiment of this application;
[0072] Figure 13 is a schematic diagram of a time slot state after time slot migration provided in an embodiment of this application;
[0073] Figure 14 is a schematic diagram of an energy-saving operation provided in an embodiment of this application;
[0074] Figure 15 is a schematic diagram of a time slot arrangement provided in an embodiment of this application;
[0075] Figure 16 is a schematic diagram of an energy-saving capability negotiation process provided in an embodiment of this application;
[0076] Figure 17 is a schematic diagram of a PHY splitting parameter provided in an embodiment of this application;
[0077] Figure 18a is a schematic flowchart of a docking parameter provided in an embodiment of this application;
[0078] Figure 18b is a schematic diagram of a mapping relationship provided in an embodiment of this application;
[0079] Figure 18c is a second schematic diagram of a mapping relationship provided in an embodiment of this application;
[0080] Figure 19 is a schematic diagram of a FlexE port management device provided in an embodiment of this application;
[0081] Figure 20 is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation
[0082] The technical solutions of this application will now be described with reference to the accompanying drawings. In this application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.
[0083] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0084] The FlxeE port management method provided in this application can be applied in communication or communication technology related fields. The following is a brief introduction to the technologies that may be involved in this application.
[0085] Network slicing is an on-demand networking method that separates multiple virtual network slices on a unified network infrastructure. Each network slice is logically isolated from the data sender to the receiver to accommodate various types of data transmission. If network slicing technology is applied to Layer 2 and 3 data forwarding, multiple dedicated, virtualized, and isolated logical networks can be built on top of a general Layer 2 and 3 network to meet the differentiated network capability requirements of different data packets in Layer 2 and 3 data forwarding.
[0086] FlexE achieves physical layer slicing and strict isolation through strict time-division multiplexing channelization technology. Specifically, FlexE technology is based on high-speed Ethernet interfaces and achieves flexible control of interface rates by decoupling Ethernet MAC rates and PHY rates to adapt to different network transmission requirements.
[0087] Time slot negotiation is a key feature of FlexE technology, primarily used to dynamically negotiate the allocation of bandwidth resources among multiple communicating parties. Its core objective is to allocate time slots through negotiation, enabling network nodes to efficiently share bandwidth resources, avoiding bandwidth conflicts, and ensuring the rational scheduling and distribution of network traffic. Specifically, the time slot number received by downstream devices automatically follows the time slot number sent by upstream devices, ensuring lossless data transmission during the opening of new data streams or time slot adjustments for existing data streams.
[0088] Next, please refer to Figure 1a, which is a schematic diagram of the FlexE architecture provided in the embodiment of this application. As shown in Figure 1a, network element (NE)-X includes network processor (NP)-X, and a FlexE group xx is created on NE-X. NE-Y includes NP-Y, and a FlexE group yy is created on NE-Y. NE-X and NE-Y are connected through the FlexE physical interface.
[0089] On NE-X, 100G FlexE 0 / X / 1 to 100G FlexE 0 / X / n are bound to FlexE group xx via FlexE binding commands. Correspondingly, on NE-Y, 100G FlexE 0 / Y / 1 to 100G FlexE 0 / Y / n are bound to FlexE group yy via FlexE binding commands. In terms of physical networking, the 100G FlexE 0 / X / 1 to 100G FlexE 0 / X / n ports on NE-X and NE-Y are connected one-to-one via fiber optic cables. Data streams corresponding to clients on NP-X (e.g., clientx1 to clientx5) are transmitted to FlexE group xx, and data streams corresponding to clients on NP-Y (e.g., clienty1 to clienty5) are transmitted to FlexE group yy.
[0090] According to the protocol, NE-X and NE-Y are configured with docking parameters such as group number, PHY number, and client identifier, as well as business data streams. NE-X and NE-Y achieve docking based on the above docking parameters and business data streams.
[0091] The overall power consumption of the communication system composed of NE-X and NE-Y is as follows: P total =P total-x +P total-y
[0092] Among them, P total P represents the total power consumption of the system. total-x For the power consumption of NE-X, P total-y For the power consumption of NE-Y, P base-x For the base power consumption of NE-X, P base-y This is the base power consumption of NE-Y. This indicates the port-level power consumption of NE-X. The power consumption of NE-Y is represented by Pphyx(i), where Pphyx(i) is the power consumption of the i-th PHY in NE-X, and Pphyy(i) is the power consumption of the i-th PHY in NE-Y. Port-level power consumption includes the power consumption of the deserializer within the corresponding port, the clock and data recovery (CDR) device, the media access control (MAC) layer device, and the interface optical device. Under normal conditions (no human intervention or network failure), this power consumption value is relatively stable and does not dynamically change with network load.
[0093] Dynamic energy consumption is an important energy consumption indicator for evaluating network equipment. For transmission equipment, the Telecommunications Energy Efficiency Ratio (TEER) is an indicator that measures the energy efficiency of a communication system. Based on the current FlexE technology implementation scheme, the overall energy consumption of a FlexE group is not necessarily related to the number of clients configured in the group or the real-time traffic carried by the clients. That is, the FlexE group always operates in maximum power consumption mode, resulting in a higher overall TEER and higher overall power consumption of the equipment.
[0094] This application provides a FlexE port management method, which improves the overall telecommunications energy efficiency ratio and reduces the overall power consumption of the first network device by performing energy-saving operations on idle PHYs in all PHYs included in the FlexE group of the network device, thereby ensuring that data is transmitted normally by non-idle PHYs in the FlexE group.
[0095] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0096] Based on the FlexE architecture shown in Figure 1a, this application provides a network system. Please refer to Figure 1b, which is a schematic diagram of the architecture of a network system provided in an embodiment of this application.
[0097] Network system 100 includes network device 110 and network device 120. The first FlexE group of network device 110 is communicatively connected to the second FlexE group of network device 120. The specific forms of the first FlexE group and the second FlexE group are shown in Figure 1a, which is not shown in Figure 1b. Figure 1b shows the physical port connection relationship between network device 110 and network device 120.
[0098] This application uses network device 110 as an example to describe the specific structure of network device 110 and network device 120. The specific structure of network device 120 is the same as that of network device 110 in principle, and will not be described again in this application.
[0099] Network device 110 includes device hardware and device software.
[0100] In terms of hardware, network device 110 can be a switch, router, gateway, or other type of network device, also known as a network element. Network device 110 includes an NP, a MAC device, a FlexE SHIM chip, and a PHY connected in sequence. The PHY of network device 110 is connected to the PHY of network device 120 via optical fiber.
[0101] In network device 110, the NP is primarily responsible for managing, scheduling, processing, and forwarding data traffic, ensuring the various flexibility and efficiency features of the FlexE architecture. For example, the NP's functions in FlexE include flexible network traffic scheduling, bandwidth allocation, time slot management, quality of service, fault recovery, and protocol adaptation.
[0102] The MAC device is responsible for ensuring the correct transmission of data between the physical layer and the data link layer. The MAC layer mainly handles data frame encapsulation, address resolution, error detection, and flow control. For example, the functions of the MAC device in FlexE include data frame encapsulation, time slot management, and flow control, ensuring that FlexE can flexibly and efficiently transmit data in high-bandwidth networks, and supporting multi-tenant isolation and virtualization requirements, thus guaranteeing network performance and reliability.
[0103] The FlexE SHIM chip is an intermediate layer in the FlexE protocol stack, responsible for providing adaptation and support between FlexE and the underlying physical interface. The role of the FlexE SHIM chip is to support the flexibility of FlexE, particularly in bandwidth allocation, management, and network layer transparency. For example, the functions of the FlexE SHIM chip in FlexE include bandwidth and time slot allocation management, data frame encapsulation and decapsulation, and compatibility between the FlexE protocol and the physical layer. Through these functions, the SHIM layer can provide network flexibility, improve bandwidth utilization, and support requirements such as on-demand bandwidth allocation, virtualization, and traffic isolation, thereby greatly enhancing the scalability and transparency of the FlexE network.
[0104] The PHY layer is primarily responsible for connecting data transmission over the network to the physical medium (such as optical fiber or cable), enabling the physical sending and receiving of data. In FlexE, the PHY layer is responsible for the actual physical layer transmission, including bandwidth provision, time slot allocation, data encapsulation and decapsulation, error detection and correction, etc. It supports flexible physical link management, can adapt to various transmission media, and provides high-speed, reliable bandwidth. Through these functions, the PHY layer enables FlexE to achieve flexible bandwidth allocation and efficient data transmission, meeting the needs of different applications.
[0105] In terms of software, network device 110 may include one or more functions such as data acquisition, artificial intelligence (AI) tidal load forecasting, energy-saving negotiation, energy-saving decision-making, and energy-saving execution. Any of the above functions can be implemented in network device 110 through software, and the aforementioned data acquisition, AI tidal load forecasting, energy-saving negotiation, energy-saving decision-making, and energy-saving execution can also be referred to as modules or software modules.
[0106] Data acquisition is used to collect business performance data in real time, such as the actual traffic of the data stream corresponding to each client on the physical port (e.g., PHY).
[0107] AI-powered tidal load forecasting is used to statistically analyze the data flow of different clients and predict scaling-up / scaling-down thresholds based on this data. AI tidal load forecasting can be deployed on network device 110, or on network controllers, analyzers, etc., connected to network device 110.
[0108] Energy-saving negotiation is used to negotiate the energy-saving capabilities and strategies of network devices, such as the first network device and the second network device. Specifically, the energy-saving capabilities of the local end are pushed to the other end, and the energy-saving capabilities of the other end are received as input for energy-saving decisions.
[0109] Energy-saving decision-making is used to determine energy-saving strategies based on the negotiation results of energy-saving negotiations, local hardware configuration, and user configuration, and to execute energy-saving operations corresponding to the energy-saving strategies based on the energy-saving strategies and actual business configuration.
[0110] Energy-saving execution is used to send port energy-saving operations to the hardware to trigger operations such as PHY lossless isolation, time slot migration, time slot rearrangement, laser channel shutdown, deserializer power-down, and PHY module power-down.
[0111] It should be understood that Figure 1b is a simplified schematic diagram for ease of understanding only, and the network system 100 may also include other network devices and / or other terminal devices, which are not shown in Figure 1b.
[0112] Next, referring to Figure 2, the FlexE port management method provided in this application embodiment will be described in detail. In this embodiment, the FlexE port management method is described using a first network device and a second network device as examples. For example, the first network device is network device 110 in network system 100, and the second network device is network device 120 in network system 100.
[0113] Please refer to Figure 2, which is a flowchart illustrating a FlexE port management method provided in an embodiment of this application. As shown in Figure 2, the FlexE port management method may include the following steps S201-S202.
[0114] S201. The first network device determines at least one idle PHY among at least one PHY based on the time slot status of at least one PHY.
[0115] The first network device acquires the time slot status of at least one PHY included in the first FlexE group. The time slot status of at least one PHY may include the following scenarios 1 to 2.
[0116] Scenario 1: In at least one PHY, all time slots of one or more PHYs are in an unused state.
[0117] In this configuration, all time slots of a PHY are in an unused state, and correspondingly, the number of time slots in a used state is zero. The unused state of a time slot can be represented as unused, unequip, etc., and the used state of a time slot can be represented as used, etc.
[0118] Scenario 2: There is no PHY in which all time slots are unused.
[0119] In this case, at least one PHY contains time slots that are in use, meaning that the number of time slots in use of any PHY in at least one PHY is greater than zero.
[0120] In the case of scenario 2 above, the at least one idle PHY determined by the first network device from at least one PHY may include a PHY whose number of used time slots is zero after time slot adjustment.
[0121] In response to scenario 1 above, the at least one idle PHY determined by the first network device from at least one PHY may include a PHY whose number of used time slots was zero before time slot adjustment, or a PHY whose number of used time slots was zero before time slot adjustment and a PHY whose number of used time slots was zero after time slot adjustment.
[0122] The number of PHYs whose time slots have been used to zero before time slot adjustment can be one or more, and the number of PHYs whose time slots have been used to zero after time slot adjustment can be one or more.
[0123] If at least one idle PHY includes a PHY with zero used time slots after time slot adjustment, the first network device first performs time slot adjustment on at least one PHY, and then determines that at least one idle PHY includes at least one PHY with zero used time slots after time slot adjustment. In this way, the number of PHYs with zero used time slots in at least one PHY of the first network device increases after time slot adjustment, increasing the number of idle PHYs in at least one PHY. This allows the FlexE port management method to perform energy-saving operations on a larger number of PHYs in subsequent steps, thereby improving energy efficiency and further improving the telecommunications energy efficiency ratio of the first network device.
[0124] As one possible implementation, time slot adjustment is used to rearrange the time slots of at least one PHY of the first network device to increase the number of idle PHYs. This application does not limit the method of time slot adjustment; for example, time slot adjustment may include time slot compression (or time slot lossless compression), time slot migration (or time slot lossless migration), etc.
[0125] Time slot compression is used to reduce the number of time slots carried by any PHY for any data stream in at least one PHY. Time slot migration is used to migrate any data stream from the time slots of a first PHY to the time slots of other PHYs, where the first PHY and other PHYs are different PHYs belonging to at least one PHY, and the other PHYs can be one or more PHYs other than the first PHY in at least one PHY. Optionally, the sum of the number of unused time slots of the other PHYs is greater than or equal to the number of used time slots in the first PHY.
[0126] The aforementioned first network device determines the specific method for time slot adjustment of at least one PHY based on the energy-saving capabilities supported by the first and second network devices. Here, energy-saving capability refers to hardware or software functions that enable the first and / or second network devices to perform energy-saving operations. For example, the energy-saving capabilities supported by the first network device may include the aforementioned time slot compression, time slot migration, and other functions, and may also include lossless PHY isolation. Lossless PHY isolation is a signal isolation technology implemented through physical layer devices (such as isolation transformers, optical fibers, digital isolators, etc.). Its purpose is to isolate different parts of the electrical system without sacrificing signal quality, thereby ensuring the reliability and security of the communication system. In this application, it is used to prevent interference between traffic flows of different PHYs.
[0127] For example, depending on the energy-saving capabilities jointly supported by the first network device and the second network device, the first network device may determine at least one idle PHY among at least one PHY in the following three exemplary ways.
[0128] Example 1
[0129] When the first FlexE group is configured based on static mode, the first FlexE group has no time slot negotiation or time slot migration capability. The first network device, based on the configuration of at least one PHY included in the first FlexE group for user time slots, will treat the PHY with zero used time slots before time slot adjustment as at least one idle PHY.
[0130] In this context, time slot negotiation refers to the seamless adjustment of the time slot allocation of downstream network devices connected via FlexE groups, ensuring time slot consistency between the upstream and downstream devices. In static configuration, the bandwidth allocation of a FlexE group is fixed during network deployment and does not change based on actual traffic demand. Network administrators pre-configure the bandwidth and port settings for each FlexE group, and these configurations do not dynamically adjust with traffic changes. Specifically, the bandwidth of a FlexE group is typically a fixed value (e.g., 10G, 25G, 100G, etc.), and the overall bandwidth of the FlexE group is preset.
[0131] Example 2
[0132] When the first FlexE group is configured in dynamic mode, it supports time slot migration and time slot negotiation between the network devices at both ends. The first network device performs time slot migration on the first PHY based on the actual time slot usage status within the first FlexE group, thereby migrating the data stream carried by the used time slots in the first PHY to unused time slots in other PHYs. The first network device designates at least one idle PHY as one with zero used time slots before time slot adjustment (including time slot migration) and one with zero used time slots after time slot adjustment (including time slot migration).
[0133] For example, the first PHY contains 3 used time slots, while the second PHY in the other PHYs contains 4 unused time slots. The first network device migrates the data stream carried in the used time slots of the first PHY to the 3 unused time slots of the second PHY.
[0134] For example, the first PHY contains 3 used time slots, while the second PHY has 1 unused time slot and the third PHY has 2 unused time slots. The first network device migrates the data stream carried in the used time slots of the first PHY to 1 unused time slot of the second PHY and 2 unused time slots of the third PHY.
[0135] In the dynamic mode configuration, the time slot of at least one PHY in the FlexE group can be dynamically adjusted by negotiation between upstream and downstream network devices. That is, the downstream network device will adjust the time slot according to the time slot arrangement of the upstream network device.
[0136] The first network device can perform the steps of Example 2 as follows:
[0137] The first network device uses time slot migration to migrate the data stream carried by the used time slots of the first PHY to the unused time slots of other PHYs.
[0138] If the number of unused time slots of other PHYs is greater than or equal to the number of used time slots of the first PHY, the first network device can migrate the data stream carried by the used time slots of the first PHY to the unused time slots of one or more other PHYs.
[0139] Here, "other PHYs" refers to one or more PHYs other than the first PHY in at least one PHY included in the first FlexE group. The number of unused time slots of "other PHYs" refers to the sum of the number of unused time slots of one or more PHYs other than the first PHY in at least one PHY.
[0140] As can be seen, Example 2 actively adjusts and migrates time slots dynamically based on Example 1, thereby obtaining more idle PHYs. This allows for energy-saving operations on more idle PHYs, further reducing the overall power consumption of the first network device and improving its telecommunications energy efficiency ratio.
[0141] Example 3
[0142] When the first FlexE group is configured in dynamic mode, assuming that the first FlexE group supports time slot migration, time slot negotiation between the two network devices, and time slot compression, the first network device performs time slot compression on the time slots occupied by data streams carried by other PHYs, so that the data streams carried by the used time slots of the first PHY can be migrated to the unused time slots of other PHYs. Then, the data streams carried by the used time slots of the first PHY are migrated to the unused time slots of other PHYs. The first network device will treat the PHY with zero used time slots before time slot adjustment (including time slot compression and time slot migration) and the PHY with zero used time slots after time slot adjustment (including time slot compression and time slot migration) as at least one idle PHY.
[0143] Time slot compression can be triggered by a reduction threshold. This reduction threshold is determined by real-time traffic statistics (e.g., bandwidth utilization) of any client within the FlexE group, and predictions based on historical data. Each client (or data stream) corresponds to one reduction threshold. This threshold can be derived from analyzing historical traffic statistics of the client. When a client's real-time traffic is less than or equal to this threshold, it indicates that the client's real-time traffic is less than the bandwidth of the currently allocated time slots carrying that client's traffic; that is, fewer time slots can be allocated to handle the client's real-time traffic. For example, the reduction threshold can be predicted based on AI-generated historical traffic statistics of the client.
[0144] The first network device can perform the steps of Example 3 as follows:
[0145] Step 1: The first network device uses time slot compression to reduce the number of time slots allocated to the specified data stream in other PHYs.
[0146] If the number of unused time slots in other PHYs is less than the number of used time slots in the first PHY, the first network device uses time slot compression to reduce the number of time slots allocated to the specified data stream in other PHYs, so that the number of unused time slots in other PHYs after time slot compression is greater than or equal to the number of used time slots in the first PHY.
[0147] Optionally, before performing time slot compression, the first network device determines the specified data stream as a data stream whose current traffic is less than a reduction threshold among data streams carried by other PHYs. Each data stream carried by another PHY corresponds to a reduction threshold, which can be a fixed threshold or a threshold predicted based on the traffic of the corresponding data stream using client traffic statistics.
[0148] Step 2: The first network device uses time slot migration to migrate the data stream carried by the used time slots of the first PHY to the unused time slots of other PHYs.
[0149] As can be seen, Example 3 increases the number of PHYs that can become idle after time slot migration, based on Example 2, thereby enabling energy-saving operations on more idle PHYs in subsequent steps and further improving the telecommunications energy efficiency ratio of the first network device.
[0150] For the specific implementation methods of Examples 1 to 3 above, please refer to the relevant steps of time slot compression and time slot migration in Figure 4 below, which will not be repeated here.
[0151] As one possible implementation, the at least one idle PHY identified by the first network device may include at least one pre-split PHY and / or at least one post-split PHY. The pre-split PHY refers to the physical PHY corresponding to the FlexE group, such as a PHY in the first FlexE group that has not undergone PHY splitting and has zero used time slots. The post-split PHY refers to a logical PHY in the FlexE group whose physical PHY has been split into smaller-granularity bandwidths, such as a PHY obtained after PHY splitting of the first FlexE group and has zero used time slots.
[0152] In Example 2 or Example 3 above, the objects of time slot migration and time slot compression performed by the first network device, such as the first PHY, other PHYs, etc., can also be the split PHYs. Thus, before executing step one of Example 1 or Example 2, the first network device splits at least one PHY of the first FlexE group according to the splitting granularity jointly supported by the first network device and the second network device to obtain the split PHYs.
[0153] In this context, "granularity" refers to how network devices, based on the FlexE bonding principle and their hardware configuration, break down a larger PHY into smaller sub-PHYs. Granularity indicates the bandwidth or rate corresponding to the PHY. For example, an N*100G PHY can be broken down into 2*N*50G PHYs (where N is a positive integer). Specifically, a 1*100G PHY can be broken down into 4*25G PHYs or 2*50G PHYs, with the former having a granularity of 25G and the latter a granularity of 50G.
[0154] It is evident that by splitting at least one PHY in the first FlexE group, the first network device reduces the granularity of the idle PHY targeted by the energy-saving operation. By reducing the energy-saving granularity, the scope of the energy-saving operation is further expanded, thereby further improving the telecommunications energy efficiency ratio of the first network device.
[0155] For details on how the first network device splits at least one PHY in the first FlexE group, please refer to the relevant steps of PHY splitting in Figure 10 below, which will not be repeated here.
[0156] As one possible implementation, to determine the idle PHY, the first network device may perform operations such as time slot compression and time slot migration on demand for the time slots of the first FlexE group. Furthermore, in subsequent power-saving operations, it may perform operations such as lossless PHY isolation and power-layer and / or optical layer device shutdown on the idle PHY. Therefore, the operations of the first network device on the idle PHY and / or time slots of the first FlexE group require coordinated processing by the network elements at both ends to ensure that the first and second network devices perform the same operations on the idle PHY and / or time slots of their respective FlexE groups, thereby guaranteeing that the first and second FlexE groups can communicate collaboratively after the power-saving operations.
[0157] To enable collaborative processing between the first and second network devices, they negotiate energy-saving strategies before performing operations such as time slot compression and time slot migration to determine the energy-saving capabilities that both devices jointly support. The specific steps of this energy-saving strategy negotiation can be as follows:
[0158] Step 1: Determine the energy-saving capabilities of the first network device.
[0159] Step 2: The first network device obtains the energy-saving capabilities of the second network device.
[0160] The energy-saving capability of the first network device refers to the functions it possesses to support energy-saving operations, such as the aforementioned time slot compression, time slot migration, PHY splitting granularity, client traffic statistics and prediction, and PHY lossless isolation. The energy-saving capability of the second network device is similar to that of the first network device and will not be elaborated upon here.
[0161] Step 3: The first network device determines the energy-saving capability that both the first network device and the second network device jointly support based on the energy-saving capabilities of the first network device and the second network device.
[0162] For details on how to negotiate the above energy-saving strategies, please refer to the corresponding steps shown in Figure 16 below. They will not be repeated here.
[0163] S202, The first network device performs a power-saving operation on at least one idle PHY.
[0164] The first network device performs lossless PHY isolation on each of at least one idle PHY, and performs energy-saving operations on each idle PHY after lossless PHY isolation.
[0165] As one possible implementation, energy-saving operation could be to shut down the electrical layer and / or parts of the electrical layer.
[0166] For the electrical layer (e.g., the FlexE SHIM chip), the first network device can achieve energy-saving operation by shutting down some devices in the electrical layer based on clock gating (CG) or power gating.
[0167] Clock gating reduces dynamic power consumption by stopping the operation of related modules or parts of the circuit by turning off the clock signal. Power gating reduces static power consumption by completely cutting off the power supply to the module.
[0168] For example, the first network device can perform a clock gating operation on the idle PHY in the FlexE SHIM chip to shut down the clock chip and related clock circuits and modules of the idle PHY.
[0169] For example, the first network device can perform a power gating operation on the idle PHY to shut down the PHY module of the idle PHY, i.e., power down the PHY module.
[0170] For the optical layer (e.g., optical modules), the first network device can shut down some devices based on multiple layers to achieve energy-saving operation.
[0171] Taking the first layer as an example, the first network device can disable the data plane function module of the idle PHY. This data plane function module may include a deserializer link between the optical module and the FlexE SHIM chip, CDR devices, etc.
[0172] Taking the second layer as an example, the first network device can disable the data plane function module and optical layer devices of the idle PHY. Among them, optical layer devices may include photoelectric conversion units, lasers, etc.
[0173] Taking the third layer as an example, the first network device can shut down the data plane function module, optical layer devices, and optical module power supply of the idle PHY. Specifically, shutting down the optical module power supply of the idle PHY refers to powering down the power module within the optical module corresponding to the idle PHY.
[0174] When the idle PHY is the PHY before splitting, the electrical layer and / or part of the electrical layer devices corresponding to the idle PHY may include one or more of the following: optical module, PHY module, deserializer link.
[0175] When the idle PHY is a split PHY, the electrical layer and / or some devices of the electrical layer corresponding to the idle PHY may include one or more of the following: optical devices (such as lasers) in the optical module corresponding to the channel of the idle PHY, and deserializer links.
[0176] As one possible implementation, before or after the first network device performs a power-saving operation on at least one idle PHY in the first FlexE group, the second network device also performs a power-saving operation on at least one idle PHY in the second FlexE group.
[0177] Optionally, the power-saving operation performed by the second network device on at least one idle PHY of the second FlexE group may be the same as or different from the power-saving operation performed by the first network device on at least one idle PHY of the first FlexE group.
[0178] For example, the first network device performs a clock threshold operation on the electrical layer of the idle PHY, and the second network device also performs a clock threshold operation on the electrical layer of the idle PHY.
[0179] For example, the first network device performs clock thresholding on the electrical layer of the idle PHY, and the second network device performs clock thresholding and power gating on the electrical layer of the idle PHY.
[0180] In a possible implementation of this embodiment, the first network device and the second network device can also perform different power-saving operations on the electrical and optical layers of the idle PHY. For example, the first network device may turn off some devices in the optical layer of the idle PHY, and the second network device may turn off some devices in the electrical layer of the idle PHY. The first network device and the second network device can also perform power-saving operations based on different layers of the optical layer, which will not be elaborated here.
[0181] Wherein, at least one idle PHY in the second FlexE group is a PHY that corresponds to at least one idle PHY in the first FlexE group among at least one PHY included in the second FlexE group, that is, at least one idle PHY in the first FlexE group is connected to at least one idle PHY in the second FlexE group.
[0182] As one possible implementation, after performing the aforementioned energy-saving operation, if the bandwidth of all PHYs in the first network device that did not perform the energy-saving operation cannot meet the bandwidth requirements of the data flow, the first network device will wake up at least one idle PHY in the first FlexE group, thereby allocating time slots on the woken PHY for data transmission to a portion of the data flow. The number of PHYs woken up in the at least one idle PHY in the first FlexE group can be one or more; for example, the first network device may determine on demand to wake up one or more PHYs according to the bandwidth requirements of the data flow.
[0183] Optionally, the first network device determines, through its client traffic statistics and prediction function, that any data stream in the data stream transmitted by the first FlexE group shows an increasing traffic trend, and expands the capacity of that data stream. If the bandwidth that an active time slot in at least one PHY in the first FlexE group can carry is less than the bandwidth that needs to be expanded, then one or more PHYs are woken up from at least one idle PHY to allocate time slots based on the bandwidth shortfall.
[0184] Optionally, if the first network device obtains the data stream corresponding to the new service added by the user, but the bandwidth required for the data stream corresponding to the new service is greater than the bandwidth that the active time slot in at least one PHY in the first FlexE group can carry, then one or more PHYs will be woken up from at least one idle PHY to allocate time slots according to the bandwidth shortage.
[0185] Based on the aforementioned FlexE port management method, the first network device improves its overall telecommunications energy efficiency ratio by performing energy-saving operations on at least one idle PHY in at least one PHY of the first FlexE group. Furthermore, during the process of determining at least one idle PHY, the first network device performs time slot adjustments such as time slot migration and / or time slot compression based on its time slot status to maximize the number of idle PHYs, thereby further reducing the overall power consumption of the first network device.
[0186] The FlexE port management method provided in this application has been introduced above with reference to Figure 2. Next, with reference to Figures 3-7, the FlexE port management method corresponding to the scenario without PHY splitting will be illustrated by example.
[0187] Please refer to Figure 3, which is a schematic diagram of the architecture of a network device provided in an embodiment of this application. As shown in Figure 3, NE301 and NE302 are connected via FlexE group communication. NP303 of NE301 is connected to FlexE SHIM304, and NP305 of NE302 is connected to FlexE SHIM306. PHY307 and PHY308 are bound to the 200G FlexE group created by NE301 via FlexE binding commands. Similarly, PHY309 and PHY310 are bound to the 200G FlexE group created by NE302 via FlexE binding commands. Among them, PHY307, PHY308, PHY309, and PHY310 are all 100G FlexE PHYs. In terms of physical networking, PHY307 and PHY308 are connected to PHY309 and PHY310 one by one via optical fibers. For example, PHY307, PHY308, PHY309, and PHY310 are connected to Gigabit Ethernet (100GE) optical modules via deserializers. The optical module corresponding to PHY307 is connected to the optical module corresponding to PHY309 via optical fiber, and the optical module corresponding to PHY309 is connected to the optical module corresponding to PHY310 via optical fiber. For instance, the optical module is a 100GE LR4 (100Gigabit Ethernet Long Range 4).
[0188] NE301 and NE302 configure the docking parameters (groupnum, phynum, clientId, etc.) according to the relevant FlexE protocol to complete the FlexE group docking and data flow docking, forming 100G FlexE PHY1 (or PHY1) and 100G FlexE PHY2 (or PHY2) between NE301 and NE302.
[0189] Five client (or user) data streams, namely Client1 to Client5 (as shown in Figure 3), are created on NE301 and NE302 respectively. The time slots occupied by the above five data streams are identified by the data stream sequence number in Figure 3.
[0190] As shown in Figure 3, the time slot numbers of the 100G PHY include 1 to 20. Client1 has a bandwidth of 25G and occupies time slots 1 to 5 of 100G FlexE PHY1; Client2 has a bandwidth of 25G and occupies time slots 6 to 10 of 100G FlexE PHY1; Client3 has a bandwidth of 25G and occupies time slots 11 to 15 of 100G FlexE PHY1; Client4 has a bandwidth of 15G and occupies time slots 1 to 3 of 100G FlexE PHY2; Client5 has a bandwidth of 15G and occupies time slots 6 to 8 of 100G FlexE PHY2.
[0191] Please refer to Figure 4, which is a flowchart illustrating a FlexE port management method according to an embodiment of this application. As shown in Figure 4, the FlexE port management method may include the following steps S401-S405. For example, the FlexE port management method is executed by NE301.
[0192] Based on the energy-saving capabilities of NE301 and NE302, S401 and NE301 determine the energy-saving capabilities jointly supported by NE301 and NE302.
[0193] NE301 determines the energy-saving capability of NE301, obtains the energy-saving capability of NE302, and then determines the energy-saving capability jointly supported by NE301 and NE302 based on the energy-saving capabilities of NE301 and NE302.
[0194] For details regarding the energy-saving capabilities of NE301 and NE302, please refer to the descriptions of energy-saving capabilities in Examples 1 to 3 of S201 shown in Figure 2, which will not be repeated here.
[0195] As one possible implementation method, please refer to the relevant steps shown in Figure 16 for how to obtain the energy-saving capability of NE302, which will not be repeated here.
[0196] S402 and NE301 employ time slot compression to reduce the number of time slots allocated to C1 in PHY2.
[0197] If the NE301 determines that the current traffic of C1 is less than the reduction threshold by predicting the client traffic statistics, it will use time slot compression to reduce the number of time slots allocated to C1 in PHY1, thereby freeing up more idle time slots. This is beneficial for subsequent time slot migration to obtain more idle PHYs, thereby further improving energy efficiency.
[0198] The specific method of time slot compression will be illustrated below with reference to Figure 5a.
[0199] Please refer to Figure 5a, which is a schematic diagram of the time slot state after time slot compression provided in an embodiment of this application. NE301 detects a tidal effect in the traffic characteristics of C1 through client traffic statistics prediction. Therefore, during the tidal low point of C1, the time slots occupied by C1 in PHY1 are losslessly compressed from 5*TS to 2*TS, that is, time slots 1 to 5 occupied by C1 in PHY1 are changed to time slots 1 to 2. In this way, the overall idle time slots of the FlexE group are increased by 3*TS.
[0200] As one possible implementation, if the energy-saving capabilities jointly supported by NE301 and NE302 only include time slot migration and do not include time slot compression and client traffic statistics prediction, then NE301 will not execute S402, but will directly execute S403 after executing S401.
[0201] As a possible implementation, if the energy-saving capabilities jointly supported by NE301 and NE302 include time slot migration, time slot compression, and client traffic statistics prediction, and the newly added idle time slots after NE301 performs time slot compression cannot increase the number of idle PHYs that can be obtained through time slot migration, then NE301 will not execute S402.
[0202] The following section explains how to implement time slot compression based on client traffic statistics and predictions.
[0203] For scenarios where packet messages are directly carried by packet clients, real-time (e.g., millisecond-level) collection of bidirectional port traffic is combined with artificial intelligence (AI) to predict traffic change trends. Based on the tidal effect of the client's corresponding data stream, the time slots occupied by the client are periodically reduced or expanded to perform the above-mentioned time slot migration and obtain an idle PHY.
[0204] In scenarios where packet messages are carried by fine granularity basic unit (fgBU) clients on Ethernet hard leased lines, it is not possible to directly perform real-time statistics on the traffic of the data stream corresponding to the fgBU client. The embodiments of this application perform cumulative statistics on the fg small granularity configuration bandwidth carried by the fgBU client.
[0205] The difference between the fgBU-based client traffic statistics and prediction function and the scenario where the group client directly carries packet messages is that the group client has an AI component to monitor changes in user traffic in real time and trigger time slot compression, while the fgBU client triggers time slot compression by the system through static configuration changes; the group client requires the system to wake up relevant resources in real time when user traffic surges, while the fgBU client is automatically woken up by the system on demand when user configuration changes occur.
[0206] In response to the aforementioned reduction threshold, there is a corresponding expansion threshold. The expansion threshold is used to trigger the first network device to perform a wake-up operation on the idle PHY that has already undergone energy-saving operation, so as to reallocate the time slots of the PHY obtained after wake-up to carry the data stream. The method of issuing the reduction threshold and the expansion threshold will be described in detail below.
[0207] Method 1: The user specifies a fixed expansion / reduction threshold, which is then distributed through the configured channel.
[0208] For example, if the current traffic of the data stream corresponding to a client is lower than 40% of the client's configured bandwidth (shrinkage threshold), time slot compression is performed; if it is higher than 45% of the client's configured bandwidth (expansion threshold), a wake-up operation is performed.
[0209] Method 2: The analyzer predicts and adjusts the expansion / reduction thresholds in real time, and sends the results to the network devices via the northbound interface. The analyzer can be a controller with network control functions.
[0210] Please refer to Figure 5b, which is a schematic diagram of an architecture for threshold distribution based on an analyzer provided in an embodiment of this application. The network device software uses data acquisition to report service performance data (such as current bandwidth) to the analyzer through the northbound interface. The analyzer uses AI tidal load prediction to determine the expansion / reduction threshold and distributes it to the device software through the northbound interface, so that the device software can perform energy-saving operations or wake-up operations on the network device hardware according to the expansion / reduction threshold.
[0211] Method 3: The network equipment predicts and adjusts the expansion / reduction thresholds in real time.
[0212] Please refer to Figure 5c, which is a schematic diagram of threshold adjustment based on a network device provided in an embodiment of this application. The network device software acquires service performance data (such as current bandwidth) through data collection, then uses AI tidal load prediction deployed locally on the network device to determine the expansion / shrinkage threshold, and then sends the expansion / shrinkage threshold to itself to trigger the hardware to perform power-saving operation or wake-up operation, and announces the expansion / shrinkage threshold to downstream network devices through an east-west protocol.
[0213] S403 and NE301 use time slot migration to migrate the data stream carried by the used time slots of PHY2 to the unused time slots of PHY1.
[0214] When time slot compression is not performed or has been performed, NE301 uses time slot migration to concentrate the currently used time slots on a single PHY (such as PHY1) without affecting the user's service experience. This clears as many PHYs as possible to obtain more idle PHYs, resulting in better overall energy savings in subsequent energy-saving operations targeting idle PHYs.
[0215] The specific methods of time slot migration are illustrated below with reference to Figure 6.
[0216] Please refer to Figure 6, which is a schematic diagram of the time slot state after time slot migration provided in an embodiment of this application. NE301 uses time slot migration to migrate the data stream carried by time slots 1 to 3 and time slots 6 to 8 of PHY2 to the time slots of PHY1.
[0217] Optionally, as shown in Figure 6, NE301 can use time slot migration to migrate the data stream carried by time slots 6 to 15 of PHY1 to time slots 3 to 12, and then migrate the data stream carried by time slots 1 to 3 and time slots 6 to 8 of PHY2 to time slots 13 to 18 of PHY1.
[0218] Optionally, as not shown in Figure 6, NE301 can use time slot migration to migrate the data streams carried by time slots 1 to 3 and time slots 6 to 8 of PHY2 to the idle time slots of PHY1, such as time slots 3 to 5 and time slots 16 to 20.
[0219] The prerequisite for NE301 to execute S403 is that both NE301 and NE302 support energy-saving capabilities including dynamic mode configuration (i.e., support for time slot negotiation). When NE301 and NE302 perform time slot migration and other time slot adjustments, since the configuration of time slots and time slot states is bidirectional, the aforementioned time slot adjustment of NE301 will be coordinated with NE302. NE302 will then adjust its own time slots in accordance with the time slots corresponding to those of NE301, which will be elaborated further here.
[0220] S404 and NE301 perform energy-saving operations on PHY308.
[0221] NE301 performs energy-saving operation on PHY308, and correspondingly, NE302 performs energy-saving operation on PHY310.
[0222] The specific methods of energy-saving operation are illustrated below with reference to Figure 7.
[0223] Please refer to Figure 7, which is a schematic diagram of an energy-saving operation provided in an embodiment of this application. All time slots on PHY308 are in an idle state. NE301 performs lossless PHY isolation on PHY308, shutting down the optical module, deserializer link, and internal PHY module of the corresponding port. Correspondingly, NE302 performs lossless PHY isolation on PHY310, shutting down the optical module, deserializer link, and internal PHY module of the corresponding port.
[0224] S405 and NE301 perform a wake-up operation on PHY308.
[0225] After executing S404, if PHY1 between NE301 and NE302 cannot meet the bandwidth requirements of the data stream, NE301 will perform a wake-up operation on PHY308, thereby allocating a time slot on PHY2 formed by the woken-up PHY308 and PHY308 to the data stream.
[0226] As one possible implementation, if NE301 determines that the bandwidth that all time slots of PHY1 can carry cannot meet the bandwidth requirements of the data stream, then it performs a wake-up operation on PHY308 and allocates the wake-up time slots of PHY2 to the data stream for data transmission.
[0227] Optionally, if the NE301 determines that any data stream in the data stream carried by PHY1 is showing an increasing traffic trend (such as the current traffic of the data stream being greater than the expansion threshold) through the client traffic statistics prediction function, and determines that the bandwidth requirements of the data stream cannot be met, it restores the number of time slots allocated to that data stream before time slot compression.
[0228] If the number of idle time slots currently available in PHY1 is less than the number of time slots required to restore the data stream before time slot compression, then PHY2 will be reawakened.
[0229] In a possible implementation of this embodiment, if the number of idle time slots currently available to PHY1 is greater than or equal to the number of time slots required to restore the data stream before time slot compression, then PHY2 will not be woken up.
[0230] Optionally, if the data flow corresponding to a new service added by the user exceeds the bandwidth that the idle time slot of PHY1 can carry, it is determined that the bandwidth requirement of the data flow cannot be met.
[0231] The wake-up operation performed by NE301 on PHY308 can be the inverse operation of the energy-saving operation in S404 above, which will not be elaborated here.
[0232] The above section, with reference to Figures 3-7, provides an exemplary illustration of the FlexE port management method for scenarios without PHY splitting. The following section, with reference to Figures 8-14, provides an exemplary illustration of the FlexE port management method for scenarios with PHY splitting.
[0233] Please refer to Figure 8, which is a schematic diagram of the architecture of a network device provided in an embodiment of this application. As shown in Figure 8, NE 801 and NE802 are connected via FlexE group communication. NP803 of NE801 is connected to FlexE SHIM804, and NP805 of NE802 is connected to FlexE SHIM806. PHY807 is bound to the 100G FlexE group created by NE801 via FlexE binding commands. Similarly, PHY808 is bound to the 100G FlexE group created by NE802 via FlexE binding commands. Both PHY807 and PHY808 are 100G FlexE PHYs. In terms of physical groups, PHY807 and PHY808 are connected one-to-one via optical fibers. For example, PHY807 is connected to L1-L4 (representing 4 lasers) of 100GE LR4 in NE801 via serdes1-serdes4 respectively. L1-L4 are connected to time division multiplex devices (TDMD) via w1-w4 respectively. The time division multiplexer of NE801 is connected to the time division multiplexer of NE802 via optical fiber. The connection method between PHY808 and the time division multiplexer in NE802 is shown in Figure 8, which will not be described in detail here.
[0234] NE801 and NE802 configure the docking parameters (groupnum, phynum, clientId, etc.) according to the relevant FlexE protocol to complete the FlexE group docking and data flow docking, forming a 100G FlexE PHY1 (or PHY1) between NE801 and NE802.
[0235] Five client (or user) data streams, namely Client1 to Client5 (as shown in Figure 8), are created on NE801 and NE802 respectively. The time slots occupied by the above five data streams are identified by the data stream sequence number in Figure 8.
[0236] As shown in Figure 8, the time slot numbers of PHY1 range from 1 to 20. Client1 has a bandwidth of 10G and occupies time slots 1 to 2 of PHY1; Client2 has a bandwidth of 5G and occupies time slot 7 of PHY1; Client3 has a bandwidth of 5G and occupies time slot 8 of PHY1; Client4 has a bandwidth of 5G and occupies time slot 14 of PHY1; Client5 has a bandwidth of 5G and occupies time slot 15 of PHY1.
[0237] In the network device architecture shown in Figure 8, the energy-saving capabilities required for PHY splitting in NE801 and NE802 are related to the hardware of NE801 and NE802.
[0238] PHY splitting requires NE1 and NE2 to have the following characteristics:
[0239] Feature 1: The FlexE SHIM chip can flexibly provide multiple PHY rate configuration specifications, such as 25G-FlexE, 50G-FlexE, 100G-FlexE, 200G-FlexE, 400G-FlexE, etc. These PHY rate configuration specifications are not limited; the rate can be any achievable value, such as 10G-FlexE, 51G-FlexE, 500G-FlexE, 1011G-FlexE, etc.
[0240] Feature 2: The FlexE SHIM chip and the front-end chip (such as the aforementioned 100GE LR4 optical module, or the CDR / GearBox chip between the FlexE SHIM chip and the optical module) are connected through multiple physical SERDEs. Flexible mapping is supported between SERDEs and FlexE PHY resources, and SERDEs can be turned on or off individually.
[0241] Feature 3: The optical devices of the optical module support channelization, and the optical devices corresponding to each channel can be turned on or off individually.
[0242] The following section, using the network device architecture shown in Figure 9, details how the two network elements determine the granularity of the splitting they jointly support.
[0243] Please refer to Figure 9, which is a schematic diagram of a granularity splitting method provided in an embodiment of this application. As shown in Figure 9, NE1 and NE2 are connected via FlexE group communication. The 100G FlexE group created in the FlexE SHIM of NE1 is connected to the 100G PHY. The 100G PHY is connected to the GearBox chip via serdes1 and serdes2. The GearBox chip is connected to the quad small form-factor pluggable Plus (QSFP) 28 optical module via serdes1-serdes4. The difference between the internal device connection methods of NE2 and NE1 is that the 100G PHY in NE2 is connected to the GearBox chip via serdes1-serdes4. The serdes1-serdes2 of the GearBox chip connecting to the 100G PHY and the serdes1-serdes4 of the GearBox chip connecting to the QSFP 28 are different deserializers. For other connection methods, please refer to Figure 9, which will not be described again here.
[0244] In terms of hardware design, NE1 uses a FlexE SHIM chip that supports flexible PHY rate configuration, and its QSFP28 optical module supports channelization and independent optical channel shutdown. Therefore, NE1 supports a 2*50G PHY splitting granularity. Similarly, NE2 also uses a FlexE SHIM chip that supports flexible PHY rate configuration, and its QSFP28 optical module supports channelization and independent optical channel shutdown. Therefore, NE2 supports either a 2*50G PHY splitting granularity or a 4*25G PHY splitting granularity. Thus, both NE1 and NE2 jointly support a splitting granularity of 2*50G PHY.
[0245] Please refer to Figure 10, which is a flowchart illustrating a FlexE port management method according to an embodiment of this application. As shown in Figure 10, the FlexE port management method may include the following steps S1001-S1006. For example, the FlexE port management method is executed by NE801.
[0246] S1001 and NE801 determine the energy-saving capability of NE801 and obtain the energy-saving capability of NE802. Then, based on the energy-saving capabilities of NE801 and NE802, NE801 determines the energy-saving capability jointly supported by NE801 and NE802.
[0247] The energy-saving capabilities jointly supported by NE801 and NE802 include the hardware functions described in Figure 8. The PHY splitting of NE801 and NE802 depends on the intersection of all FlexE PHY capabilities within the FlexE group. The granularity of FlexE PHY splitting depends on the device hardware, port optical modules, and chip capabilities. FlexE PHY granularity splitting can only be performed at the same level when both FlexE groups at the interface have the same capabilities.
[0248] Furthermore, for details regarding the energy-saving capabilities of NE801 and NE802, please refer to the descriptions of energy-saving capabilities in Examples 1 to 3 of S201 shown in Figure 2, which will not be repeated here.
[0249] S1002 and NE801 perform PHY splitting.
[0250] If there are a large number of single-PHY services on NE801 that are connected to NE802 through only one PHY, then a PHY splitting method is introduced. Based on the splitting granularity and FlexE binding principle jointly supported by NE801 and NE802, the PHY with the larger bandwidth granularity is split into PHYs with smaller bandwidth granularity. For example, 1*100G FlexE is split into 4*25G FlexE, or split into 2*50G FlexE. The former has an energy-saving granularity of 25G, and the latter has an energy-saving granularity of 50G.
[0251] The specific method of PHY splitting will be explained below with reference to Figure 11.
[0252] Figure 11 is a schematic diagram of the PHY distribution after PHY splitting according to an embodiment of this application. The 100G FlexE PHY1 shown in Figure 8 above is split into 25G FlexE PHY1-1, 25G FlexE PHY1-2, 25G FlexE PHY1-3, and 25G FlexE PHY1-4. C1 is carried by time slots 1 to 2 of 25G FlexE PHY1-1, C2 is carried by time slot 2 of 25G FlexE PHY1-2, C3 is carried by time slot 3 of 25G FlexE PHY1-2, C4 is carried by time slot 4 of 25G FlexE PHY1-3, and C5 is carried by time slot 5 of 25G FlexE PHY1-3.
[0253] Thus, the 100G PHY in NE801 and NE802 is split into 25G PHY1, 25G PHY2, 25G PHY3 and 25G PHY4 respectively.
[0254] S1003 and NE801 employ time slot compression to reduce the number of time slots allocated to C1 in 25G FlexE PHY1-1.
[0255] As shown in Figure 12, NE801 losslessly compresses the time slot occupied by C1 in 25G FlexE PHY1-1 from 2*TS to 1*TS, that is, the time slots 1 to 2 occupied by C1 in PHY1 are changed to time slot 1. In this way, the overall idle time slots of the FlexE group are increased by 1*TS.
[0256] For details on the above time slot compression, please refer to S402 shown in Figure 4, which will not be repeated here.
[0257] S1004 and NE801 employ time slot migration to migrate the data streams carried by the used time slots of 25G FlexE PHY1-2 and 25G FlexE PHY1-3 to the unused time slots of 25G FlexE PHY1-1.
[0258] As shown in Figure 13, NE801 uses time slot migration to migrate the data stream carried by time slots 2 to 3 of 25G FlexE PHY1-2 and time slots 4 to 5 of 25G FlexE PHY1-3 to the time slots of 25G FlexE PHY1-1.
[0259] For details regarding the above time slot migration, please refer to S403 shown in Figure 4, which will not be repeated here.
[0260] S1005 and NE801 perform energy-saving operations on the PHYs corresponding to 25G FlexE PHY1-2 to 25G FlexE PHY1-4.
[0261] NE801 performs energy-saving operations on NE801's 25G PHY2 to 25G PHY4, and correspondingly, NE802 performs energy-saving operations on NE802's 25G PHY2 to 25G PHY4.
[0262] If the time slot occupied by 25G FlexE PHY1-1 is 1*TS before time slot compression, and the newly added idle time slots after NE801 performs time slot compression cannot increase the number of idle PHYs that can be obtained through time slot migration, then NE801 will not perform time slot compression on 25G FlexE PHY1-1, and NE801 will not execute the above S1003.
[0263] The specific methods of energy-saving operation are illustrated below with reference to Figure 14.
[0264] Please refer to Figure 14, which is a schematic diagram of an energy-saving operation provided in an embodiment of this application. All time slots on 25G PHY2 to 25G PHY4 are in an idle state. NE801 performs lossless PHY isolation on NE801's 25G PHY2 to 25G PHY4, shutting down the corresponding optical devices for channelization, shutting down the deserializer link, and shutting down the internal PHY module. Correspondingly, NE802 performs lossless PHY isolation on NE802's 25G PHY2 to 25G PHY4, shutting down the corresponding optical devices for channelization, shutting down the deserializer link, and shutting down the internal PHY module.
[0265] S1006 and NE801 perform wake-up operations on 25G PHY2 to 25G PHY4.
[0266] For details on the wake-up operation performed by NE801 on 25G PHY2 to 25G PHY4, please refer to S405 shown in Figure 4, which will not be repeated here.
[0267] The FlexE port management method shown in Figures 4 and 10 above requires time slot rearrangement during the time slot adjustment phase (e.g., S403, S1004). When the time slot allocation method of the first network device (e.g., NE301, NE801, etc.) is a fixed time slot arrangement issued by the management device connected to the first network device based on the time slot allocation mode, the time slot dynamic migration triggered by the time slot adjustment will lead to inconsistency between the management domain and the forwarding plane data. Therefore, this application embodiment also provides a time slot arrangement algorithm. The core of this time slot arrangement algorithm is to avoid time slot holes, and the algorithm must be transparent to the user to ensure that the time slot arrangement results calculated by the two network devices connected through the FlexE port after time slot adjustment are consistent.
[0268] Correspondingly, the peer device of the first network device, such as the second network device, also rearranges the time slots based on the same time slot arrangement algorithm as the first network device to ensure that both ends work together to clear a PHY bidirectional time slot. Only when both bidirectional time slots of the PHY can be cleared is it considered an idle PHY that does not carry data streams.
[0269] The time slot allocation algorithm provided in this application rearranges time slots during time slot migration (e.g., S403 in Figure 4 and S1004 in Figure 10). The algorithm can determine which PHY's time slots to prioritize for traffic allocation based on the PHY identifier, which time slot within the PHY to prioritize for traffic allocation based on the time slot identifier, and which client's traffic to prioritize for traffic allocation based on the client identifier. Thus, when both network devices have the same configuration for PHY identifiers, time slot identifiers, and client identifiers, they can maintain consistency in the allocation of traffic to the PHY, time slots, and clients based on these identifiers, thereby ensuring the consistency of time slot allocation.
[0270] For example, in this embodiment of the application, the priorities determined by the two network devices based on the PHY identifier, timeslot identifier and client identifier are the same, and the specific relationship between the PHY identifier, timeslot identifier and client identifier and priority is not limited.
[0271] Example 1: PHYs with larger PHY identifiers have higher priority in time slot allocation; time slots with larger time slot identifiers have higher priority in carrying traffic during time slot allocation; and client traffic with larger client identifiers has higher priority in time slot allocation.
[0272] Example 2: PHYs with smaller PHY identifiers have higher priority in time slot allocation; time slots with smaller time slot identifiers have higher priority in carrying traffic during time slot allocation; and client traffic with smaller client identifiers has higher priority in time slot allocation.
[0273] Using Example 2 above as an example, the principle of the time slot arrangement algorithm can be described as follows:
[0274] (1) The smaller the PHY identifier, the higher the priority of PHY in time slot allocation.
[0275] The PHY identifier can be PHY-number (NO). When allocating time slots, the time slot carrying traffic of the PHY with the smaller PHY identifier is preferred.
[0276] (2) The smaller the time slot identifier, the higher the priority of the time slot in the time slot allocation of traffic.
[0277] The time slot identifier can be time slot-number (NO). When allocating time slots, priority is given to using time slots with smaller time slot identifiers to carry traffic.
[0278] (3) The smaller the client identifier, the higher the priority of the client's data stream in time slot allocation.
[0279] A client identifier can be a client identifier (ID). A client ID identifies a user's data flow for a specific service; the client ID for the same data flow can be the same across different network devices. During time slot allocation, time slots are preferentially allocated to data flows corresponding to clients with smaller client identifiers.
[0280] (4) When the number of PHY time slots to be allocated does not meet the client’s bandwidth requirements, the available time slots of the PHY are occupied first, and then the next PHY is used to make up for the time slots required by the client’s bandwidth.
[0281] During the time slot rearrangement process, both network devices at both ends simultaneously comply with the above (1)-(4).
[0282] For example, please refer to Figure 15, which is a schematic diagram of a time slot arrangement provided in an embodiment of this application. Time slots 1 to 3 of PHY1 are used to carry the data stream with client ID 2, and time slot 5 is used to carry the data stream with client ID 4; time slots 2 to 4 of PHY3 are used to carry the data stream with client ID 3; and time slots 3 to 5 of PHY4 are used to carry the data stream with client ID 5. After time slot migration and rearrangement according to the above time slot arrangement algorithm, time slots 1 to 3 of PHY1 are used to carry the data stream with client ID 2, and time slots 4 to 5 are used to carry the data stream with client ID 3; time slot 1 of PHY2 is used to carry the data stream with client ID 3; time slot 2 of PHY1 is used to carry the data stream with client ID 4; and time slots 3 to 5 of PHY1 are used to carry the data stream with client ID 5.
[0283] The priority ordering in the above time slot scheduling algorithm is merely an example. This application does not limit the specific priority ordering method. As long as the network devices at both ends connected through the FlexE port have consistent priority definitions, the coordinated consistency of the time slot rescheduling after time slot migration can be guaranteed. For example, in other embodiments, a larger PHY identifier has a higher priority, a larger time slot identifier has a higher priority, and a larger client identifier has a higher priority.
[0284] In the embodiments of this application, in addition to ensuring consistent time slot arrangement at both ends according to the aforementioned time slot arrangement algorithm, the first network device and the second network device can also determine the energy-saving capabilities that both ends jointly support based on their respective energy-saving capabilities. This allows them to identify energy-saving operations that can be performed by both ends, achieving coordinated consistency in energy-saving operations. The energy-saving capabilities that both ends jointly support can be determined through negotiation between the two ends or obtained based on a preset configuration (e.g., the first network device has a preset configuration of energy-saving capabilities supported by the second network device).
[0285] The following example illustrates the negotiation process for energy-saving capabilities between network devices, using the method by which the first network device determines the energy-saving capability of the second network device based on a message sent by the second network device.
[0286] Please refer to Figure 16, which is a schematic diagram of an energy-saving capability negotiation process provided in an embodiment of this application. The energy-saving capability negotiation process may include the following steps S1601-S1607.
[0287] S1601, The first network device determines the energy-saving capability of the first network device.
[0288] The energy-saving capabilities include PHY lossless isolation, time slot migration, time slot compression, client traffic statistics and prediction, and splitting granularity, which will not be elaborated here.
[0289] S1602, The first network device sends an energy-saving capability message to the second network device.
[0290] Among them, the energy-saving capability message is used to carry the capability information of the first network device, and the capability information sent by the first network device to the second network device is used to indicate the energy-saving capability of the first network device.
[0291] As one possible implementation, the power-saving capability message conforms to the OIF-ND protocol or the Link Layer Discovery Protocol (LLDP) vendor-specific protocol. The LLDPDU carries the capability information of the first network device.
[0292] For example, an LLDPDU includes an optional type-length-value (TLV), where the optional TLV includes a sub-TLV field and an information field, the information field being used to carry capability information of the first network device.
[0293] For example, the subtype field corresponds one-to-one with the different functions of the capability information, and the information field is used to carry an identifier indicating whether the first network device supports the function corresponding to the subtype field.
[0294] For example, the subtype field is used to indicate that the information field is used to carry capability information of the first network device, which is used to carry an identifier indicating whether the first network device supports one or more functions.
[0295] Optionally, the information field uses different bits to indicate whether the first network device supports one or more functions.
[0296] In other possible embodiments of this application, the capability information and expansion / reduction threshold in the above-mentioned energy-saving capability message can be carried not only by LLDPDU, but also by any type of message such as OAM code block.
[0297] S1603, The second network device retains the energy-saving capabilities of the first network device.
[0298] S1604, The second network device sends an energy-saving capability message to the first network device.
[0299] The energy-saving capability message carries the capability information of the second network device. The capability information sent by the second network device to the first network device indicates the energy-saving capability of the second network device. The energy-saving capability message sent by the second network device can be referred to as the first message.
[0300] The energy-saving capability message sent by the second network device is in the same principle as the energy-saving capability message sent by the first network device in S1602, and will not be described again here.
[0301] S1605, The first network device retains the energy-saving capability of the second network device.
[0302] S1606. The first network device determines the energy-saving capability jointly supported by the first network device and the second network device based on their respective energy-saving capabilities.
[0303] S1607. The first network device performs time slot compression and / or time slot migration on at least one PHY based on the commonly supported energy-saving capabilities.
[0304] As one possible implementation, the first network device determines an energy-saving strategy based on jointly supported energy-saving capabilities, and then sends the energy-saving strategy to the second network device to enable the energy-saving strategies at both ends to coordinate. The energy-saving strategy includes how to perform time slot compression and / or time slot migration, as well as subsequent energy-saving operations.
[0305] As one possible implementation, the first network device determines an energy-saving strategy based on the jointly supported energy-saving capabilities, receives the energy-saving strategy sent by the second network device, and if the energy-saving strategy determined by the first network device is consistent with the energy-saving strategy sent by the second network device, it notifies the second network device that the energy-saving strategies are consistent. This negotiation of jointly supported energy-saving capabilities can also be called energy-saving strategy negotiation.
[0306] As one possible implementation, a control device other than the first network device and the second network device determines the energy-saving capabilities that the first network device and the second network device jointly support, determines an energy-saving strategy based on the jointly supported energy-saving capabilities, and issues the energy-saving strategy to the first network device and the second network device.
[0307] As one possible implementation, a control device other than the first network device and the second network device determines the energy-saving capabilities that are jointly supported by the first network device and the second network device, and issues the jointly supported energy-saving capabilities to the first network device and the second network device, so that the first network device determines an energy-saving strategy based on the jointly supported energy-saving capabilities, and then sends the energy-saving strategy to the second network device.
[0308] Regarding the granularity of the aforementioned energy-saving capability negotiation, the granularity (or energy-saving granularity) can include 25G FlexE PHY, 50G FlexE PHY, 100G FlexE PHY, etc.
[0309] The applicable scenarios for 25G FlexE PHY include: N*25G baseband Ethernet physical layer (BASE-R) FlexE PHY Bonding (N>1) and N*50GBASE-R / 100GBASE-R FlexE PHY Bonding (N>=1).
[0310] Where N is the number of PHYs, and PHY Bonding refers to physical layer aggregation, which means aggregating multiple physical layer interfaces (such as 25GBASE-R interfaces) together to form a larger, logical bandwidth channel.
[0311] The applicable scenarios for 50G FlexE PHY include: N*50GBASE-R FlexE PHY Bonding (N>1), N*100GBASE-R / 200GBASE-R / 400GBASE-R FlexE PHY Bonding (N>=1).
[0312] The applicable scenarios for 100G FlexE PHY include: N*100GBASE-R FlexE PHY Bonding (N>1) and N*200GBASE-R / 400GBASE-R FlexE PHY Bonding (N>=1).
[0313] As one possible implementation, before creating a FlexE group on the FlexE ports of the first and second network devices, the same PHY identifier, such as PHY-NO, can be configured on both network devices to ensure that the two network devices can communicate with each other on the protocol side. The PHY identifier corresponding to a PHY is not allowed to conflict with other PHY configuration values within the FlexE group.
[0314] For example, the PHY-NO configuration range for a 25G FlexE PHY can be 1 to 62, the PHY-NO configuration range for a 50G FlexE PHY can be 1 to 126, the PHY-NO configuration range for a 100G FlexE PHY can be 1 to 254, the PHY-NO configuration range for a 200G FlexE PHY can be 1 to 126, and the PHY-NO configuration range for a 400G FlexE PHY can be 1 to 62.
[0315] Taking a 1*100G FlexE PHY split as an example, the docking parameter PHY-NO on PHY1 is... <phynum-1>Based on the user's original configuration data and the negotiated results regarding energy-saving capabilities, the 1*100G FlexE PHY needs to be split into 4*25G FlexE PHYs. Each 25G PHY needs to specify a PHY-NO parameter, and the configuration values at both ends must be consistent. Simultaneously, it must satisfy the uniqueness requirement within the FlexE group, i.e., avoid conflicts with the docking parameters generated by the 25G FlexE PHYs split from other 100G FlexE PHYs within the FlexE group. Please refer to Figure 17, which is a schematic diagram of a PHY splitting parameter provided in this application. PHY-NO is... <phynum-1>The PHY-NOs obtained after splitting the PHY are PHY1-1 to PYH1-4 are as follows: <phynum-1-1> 、 <phynum-1-2> 、 <phynum-1-3> 、 <phynum-1-4>.
[0316] The algorithm for determining the docking parameters such as PHY-NO at both ends of the first and second network devices mentioned above can include the following two methods: Method 1 and Method 2.
[0317] Method 1
[0318] The network devices at both ends independently generate their own valid connection parameters according to the uniqueness rule, and send the data generated by the local end to the other end through the data plane via the overhead field. The two devices make trade-offs (data size) based on their own data and the data received from the other end, based on the same arbitration principle, and finally reach a consensus on the selection of connection parameters.
[0319] Method 2
[0320] In non-energy-saving mode, the original PHY's docking parameters, such as PHY-NO, are planned by the user, and consistency between the two ends can be guaranteed.
[0321] As shown in Figure 17, the docking parameters are confirmed by using the wavelength λ of the channelized optical module (e.g., λ0~λ3) as an index reference.
[0322] Both network devices use the same algorithm to generate the λ0 sub-port connection parameters based on the configuration data of the main port PHY-NO. First, modulo operations are performed as needed to obtain the range that meets the standard requirements. Then, a uniqueness check is performed. If the requirements are not met, the same step interval is used to retry until a suitable value is found. λ1 to λ3 are calculated according to the same rules as λ0, and λ0 to λ3 are strictly sorted according to the channel wavelength to ensure that the parameters at both ends correspond correctly.
[0323] For the specific algorithm implementation of Method 2 described above, please refer to Figure 18a, which is a schematic flowchart of determining docking parameters provided by an embodiment of this application. This docking parameter determination process can be executed by either the first network device or the second network device.
[0324] S1801, Get the number of channels N.
[0325] S1802. Set the value of NUM to the primary port PHY-NO, and set k = 0.
[0326] S1803 and NUM are used to extract the modulus as needed to obtain the modulus result.
[0327] S1804. Check if the modulus result conflicts within the FlexE group. If so, proceed to S1806; otherwise, proceed to S1805.
[0328] S1805, Set PHY-NO-λk to the modulo result, and execute S1807.
[0329] S1806, Set the modulo result to the modulo result + 1, and execute S1803.
[0330] S1807, Let the modulo result = modulo result + 1, k = k + 1.
[0331] S1808. Determine if k is greater than or equal to N. If yes, end; otherwise, execute S1803.
[0332] The above describes the method for consistent assignment of PHY-NO and other interfacing parameters after PHY splitting in the first and second network devices. In addition, the timeslot number and effective range of the split PHY obtained by the first and second network devices will change according to the different energy-saving granularity of the splitting. This embodiment can provide a general mapping method to ensure the consistency of timeslot conversion at both ends. The two ends can remap the timeslots based on the same rules to ensure normal service interfacing.
[0333] The following examples illustrate how time slot remapping can be performed at different granularities of splitting.
[0334] (1) Mapping n*100G to n*2*50G
[0335] PHY numbering arrangement rule: The PHY-NO numbers are arranged according to the size of the numbers negotiated by the capabilities, which can ensure the consistency of mapping at both ends.
[0336] As shown in Figure 18b, the user-configured time slot position before mapping is: {i,j}, where i is the PHY-NO, ranging from 1 to n, and j is the time slot number, with a valid range of 1 to 20. The position after mapping is: {x,y}, where x = (i-1)*2 + (j-1) / 10 + 1, and y = (j-1)%10 + 1.
[0337] (2) Mapping n*100G->n*4*25G
[0338] PHY numbering arrangement rule: The PHY-NO numbers are arranged according to the size of the numbers negotiated by the capabilities, which can ensure the consistency of mapping at both ends.
[0339] As shown in Figure 18c, the user-configured time slot position before mapping is: {i,j}, where i is the PHY-NO, ranging from 1 to n, and j is the time slot number, with a valid range of 1 to 20. The position after mapping is: {x,y}, where x = (i-1)*4 + (j-1) / 5 + 1, and y = (j-1)%5 + 1.
[0340] (3) Mapping from n*200G to n*2*100G
[0341] Mapping is performed based on instances as the basic unit, with each of the two sets of instances mapped to one of the two split 100G FlexE PHYs.
[0342] instance#1→100G PHY 1.
[0343] instance#2 → 100G PHY 2.
[0344] (4) n*400G->n*4*100G mapping
[0345] The principle is the same as above, with each of the four instances mapped to one of the four split 100G FlexE PHYs.
[0346] instance#1→100G PHY 1.
[0347] instance#2 → 100G PHY 2.
[0348] instance#3 → 100G PHY 3.
[0349] instance#4→100G PHY 4.
[0350] The embodiments provided in this application are merely examples of the FlexE port management method provided in this application. This FlexE port management method can be applied to scenarios where any two devices are connected through a FlexE port.
[0351] For example, Scenario 1: A statically configured FlexE group consists of n*100G-FlexE PHYs, where n=1; both ends of the interface have the same PHY granularity and lossless isolation capability (25G PHY or 50G PHY). Scenario 2: A statically configured FlexE group consists of n*100G-FlexE PHYs, where n>1; both ends of the interface have the same PHY granularity and lossless isolation capability (25G PHY or 50GPHY). Scenario 3: A statically configured FlexE group consists of n*100G-FlexE PHYs, where n>1; both ends of the interface do not have the same PHY granularity and lossless isolation capability (25G PHY or 50G PHY). Scenario 4: A dynamically configured FlexE group consists of n*100G-FlexE PHYs, where n=1; both ends of the interface do not have the same PHY granularity and lossless isolation capability (25G PHY or 50GPHY). Scenario 5: A dynamically configured FlexE group, consisting of n*100G-FlexE PHYs, where n>1; both ends of the interface have the same PHY splitting granularity and lossless isolation capability (25G PHY or 50G PHY). Scenario 6: A dynamically configured FlexE group, consisting of n*100G-FlexE PHYs, where n>1; both ends of the interface do not have the same PHY splitting granularity and lossless isolation capability (25G PHY or 50GPHY). Other FlexE PHY networking scenarios with different bandwidth granularities are similar to scenarios one through six above, such as n*200G / n*400G / n*800GPHY networking scenarios, where n>=1.
[0352] This application embodiment also provides a FlexE port management device 1900, which is used to execute the above-described FlexE port management method. As shown in FIG19, the FlexE port management device 1900 includes a processing module 1910.
[0353] For example, the FlexE port management device 1900 can implement the functions of the first network device in FIG2.
[0354] The processing module 1910 is used to determine at least one idle PHY among at least one PHY based on the time slot status of at least one PHY.
[0355] Processing module 1910 is also used to perform energy-saving operations on at least one idle PHY.
[0356] As one possible implementation, at least one idle PHY includes: a PHY in which the number of time slots used before time slot adjustment is zero; and / or a PHY in which the number of time slots used after time slot adjustment is zero.
[0357] As one possible implementation, at least one idle PHY includes a PHY whose number of used time slots is zero after time slot adjustment. Processing module 1910 is specifically configured to: perform time slot adjustment on at least one PHY; determine that at least one idle PHY includes a PHY whose number of used time slots is zero after time slot adjustment.
[0358] Optionally, the number of PHYs with zero used time slots in at least one PHY is increased after time slot adjustment.
[0359] As one possible implementation, the processing module 1910 is specifically used to: perform time slot compression and / or time slot migration on at least one PHY; time slot compression is used to reduce the number of time slots in any PHY carrying any data stream, and time slot migration is used to migrate any data stream from the time slot of the first PHY to the time slot of other PHYs, wherein at least one PHY includes the first PHY and other PHYs.
[0360] As one possible implementation, the processing module 1910 is specifically used to: perform time slot compression and / or time slot migration on at least one PHY based on the energy-saving capabilities jointly supported by the first network device and the second network device.
[0361] As one possible implementation, the jointly supported energy-saving capabilities include time slot migration. The processing module 1910 is specifically used to: determine that the number of unused time slots of other PHYs is greater than or equal to the number of used time slots of the first PHY; and use time slot migration to migrate the data stream carried by the used time slots of the first PHY to the unused time slots of other PHYs.
[0362] As one possible implementation, the jointly supported energy-saving capabilities include time slot migration and time slot compression. The processing module 1910 is specifically used to: determine that the number of unused time slots of other PHYs is less than the number of used time slots of the first PHY; use time slot compression to reduce the number of time slots allocated to a specified data stream in other PHYs; after time slot compression, the number of unused time slots of other PHYs is greater than or equal to the number of used time slots of the first PHY; and use time slot migration to migrate the data stream carried by the used time slots of the first PHY to the unused time slots of the second PHY.
[0363] As one possible implementation, the processing module 1910 is specifically used to: determine that the specified data stream is a data stream whose current traffic is less than the shrinkage threshold among the data streams carried by other PHYs; each data stream carried by other PHYs corresponds to a shrinkage threshold, which is a fixed threshold or is predicted based on the traffic tide of the corresponding data stream.
[0364] As one possible implementation, at least one idle PHY includes at least one pre-split PHY and / or at least one post-split PHY, wherein any post-split PHY is obtained by splitting any PHY with a first bandwidth into at least two PHYs with a second bandwidth, wherein the first bandwidth is greater than the second bandwidth.
[0365] As one possible implementation, the FlexE port management device 1900 further includes a negotiation module 1920 for splitting at least one PHY according to a splitting granularity jointly supported by the first network device and the second network device; wherein the first network device includes a first FlexE SHIM chip and a first optical module, the first FlexE SHIM chip and the first optical module are connected through at least one pair of deserializers, and the splitting granularity supported by the first network device is determined by the PHY rate configuration provided by the first FlexE SHIM chip, the number of at least one pair of deserializers and the number of channels of the first optical module.
[0366] As one possible implementation, the processing module 1910 is further configured to: activate one or more of the at least one idle PHY if the idle bandwidth of all activated PHYs in at least one PHY is less than the bandwidth required for the data stream to allocate time slots; the time slots of the activated one or more PHYs are in an available state; and activate one or more of the at least one idle PHY if the current traffic of any data stream carried by at least one PHY is greater than or equal to the expansion threshold.
[0367] As one possible implementation, the processing module 1910 is specifically used to: perform an electrical layer and / or optical layer device shutdown operation on at least one idle PHY.
[0368] As one possible implementation, the negotiation module 1920 is also used to: determine the energy-saving capability of the first network device; obtain the energy-saving capability of the second network device; and determine the energy-saving capability jointly supported by the first network device and the second network device based on the energy-saving capability of the first network device and the energy-saving capability of the second network device.
[0369] As one possible implementation, the negotiation module 1920 is specifically used to: receive a first message; the first message is used to carry capability information of the second network device, and the capability information of the second network device is used to indicate the energy-saving capability of the second network device.
[0370] As one possible implementation, the first message conforms to the OIF-ND protocol or the LLDP vendor's proprietary protocol, and the first message includes a first LLDP DU, which is used to carry capability information of the second network device.
[0371] As one possible implementation, the first message includes an OAM code block, which is used to carry capability information of the second network device.
[0372] It should be understood that the device shown in Figure 19 is only illustrated by the division of the above-described functional modules. In practical applications, the functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. Furthermore, the device and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process is detailed in the method embodiments, which will not be repeated here.
[0373] Figure 20 is a schematic diagram of a communication device provided in this application. As shown in Figure 20, the communication device 2000 includes a processor 2010, a bus 2020, a memory 2030, a communication interface 2040, and a memory unit 2050 (also referred to as a main memory unit). The processor 2010, memory 2030, memory unit 2050, and communication interface 2040 are connected via the bus 2020.
[0374] It should be understood that in this embodiment, the processor 2010 may be a CPU, but it may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0375] The processor may also be a graphics processing unit (GPU), a neural network processing unit (NPU), a microprocessor, or one or more integrated circuits used to control the execution of the program in this application.
[0376] In a possible embodiment, communication device 2000 may refer to processor 2010.
[0377] The communication interface 2040 is used to enable communication between the communication device 2000 and external devices or components. In this embodiment, when the communication device 2000 is used to implement the functions of any network device, server, or controller in FIG1b, the communication interface 2040 is used as a physical port for sending and receiving data packets.
[0378] Bus 2020 may include a pathway for transferring information between the aforementioned components (such as processor 2010, memory unit 2050, and memory 2030). In addition to a data bus, bus 2020 may also include a power bus, control bus, and status signal bus. However, for clarity, all buses are labeled as bus 2020 in Figure 20. Bus 2020 may be a Peripheral Component Interconnect Express (PCIe) bus, or an Extended Industry Standard Architecture (EISA) bus, Unified Bus (Ubus or UB), Compute Express Link (CXL), Cache Coherent Interconnect for Accelerators (CCIX), etc. Bus 2020 can be divided into address bus, data bus, control bus, etc.
[0379] As an example, the communication device 2000 may include multiple processors. A processor may be a multi-core (multi-CPU) processor. Here, a processor may refer to one or more devices, circuits, and / or computing units used to process data (e.g., computer program instructions).
[0380] It is worth noting that Figure 20 only shows the example of a communication device 2000 including one processor 2010 and one memory 2030. Here, the processor 2010 and the memory 2030 are used to indicate a type of device or equipment. In specific embodiments, the number of each type of device or equipment can be determined according to business needs.
[0381] Memory cell 2050 can be volatile memory or non-volatile memory, or may include both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which serves as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0382] The memory 2030 can correspond to the storage medium used to store computer instructions and other information in the above method embodiments, such as a disk, like a mechanical hard disk or a solid-state hard disk.
[0383] The aforementioned communication device 2000 can be a general-purpose device or a special-purpose device. For example, the communication device 2000 can be an edge device (e.g., a box carrying a chip with processing capabilities). Alternatively, the communication device 2000 can also be a chip, network equipment, server, or other device with computing capabilities.
[0384] It should be understood that the communication device 2000 according to this embodiment can correspond to the FlexE port management device 1900 in this embodiment, and can correspond to the corresponding subject executing the method according to FIG2. The above and other operations and / or functions of each module in the FlexE port management device 1900 are respectively for implementing the corresponding process of the method in FIG2. For the sake of brevity, they will not be described in detail here.
[0385] This application also provides a network system, which includes a first network device and a second network device. A first FlexE group of the first network device is communicatively connected to a second FlexE group of the second network device. The first FlexE group includes at least one physical port PHY. The first network device is used to determine at least one idle PHY among the at least one PHY based on the time slot status of the at least one PHY, and to perform energy-saving operation on the at least one idle PHY.
[0386] The first network device and the second network device may be the aforementioned communication device 2000, or the first network device and the second network device may include the aforementioned communication device 2000.
[0387] As one possible implementation, the first network device and the second network device can work together to execute the method steps shown in the embodiment of FIG2.
[0388] The first network device can be used to implement the functions of the aforementioned FlexE port management device 1900.
[0389] This application also provides a computer program product containing instructions. This computer program product may be a software or program product containing instructions capable of running on a computing device or stored on any available medium. When the computer program product runs on at least one computing device, it causes the at least one computing device to execute the FlexE port management method described above.
[0390] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the aforementioned FlexE port management method.
[0391] This application also provides a chip, including a processor. The processor is used to retrieve and execute instructions stored in a memory, causing a communication device equipped with the chip to perform the aforementioned FlexE port management method.
[0392] As one possible implementation, the chip also includes an input interface, an output interface, and a memory. The input interface, the output interface, the processor, and the memory are connected via internal interconnection paths. The processor is used to execute code in the memory, and when the code is executed, the processor is used to execute the aforementioned FlexE port management method.
[0393] The method steps in this embodiment can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in an electronic device (such as a network device). Of course, the processor and storage medium can also exist as discrete components in an electronic device.
[0394] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video disc (DVD); or it can be a semiconductor medium, such as a solid-state drive (SSD). The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims. < / phynum-1-3> < / phynum-1-2> < / phynum-1-1>
Claims
1. A flexible Ethernet (FlexE) port management method, characterized in that, Performed by a first network device, wherein a first FlexE group of the first network device is communicatively connected to a second FlexE group of a second network device, the first FlexE group including at least one physical port PHY, the method includes: Based on the time slot status of the at least one PHY, determine at least one idle PHY among the at least one PHY; Perform energy-saving operation on the at least one idle PHY.
2. The method according to claim 1, characterized in that, The at least one idle PHY includes: The at least one PHY in which the number of time slots used before time slot adjustment is zero; and / or The PHY in which the number of time slots used after time slot adjustment is zero.
3. The method according to claim 2, characterized in that, The at least one idle PHY includes a PHY whose number of used time slots is zero after time slot adjustment in the at least one PHY. Determining the idle PHY among the at least one PHYs based on the time slot status of the at least one PHY includes: Time slot adjustment is performed on at least one PHY; The determination of the at least one idle PHY includes the PHY in which the number of time slots used after time slot adjustment is zero.
4. The method according to claim 3, characterized in that, The time slot adjustment of the at least one PHY includes: The at least one PHY is subjected to time slot compression and / or time slot migration; the time slot compression is used to reduce the number of time slots carried by any PHY for any data stream, and the time slot migration is used to migrate any data stream from the time slot of the first PHY to the time slot of other PHYs, wherein the at least one PHY includes the first PHY and the other PHYs.
5. The method according to claim 4, characterized in that, The time slot compression and / or time slot migration of the at least one PHY includes: Based on the energy-saving capabilities jointly supported by the first network device and the second network device, time slot compression and / or time slot migration are performed on the at least one PHY.
6. The method according to claim 5, characterized in that, The jointly supported energy-saving capabilities include time slot migration, and the time slot compression and / or time slot migration of the at least one PHY includes: The number of unused time slots of the other PHY is determined to be greater than or equal to the number of used time slots of the first PHY; The data stream carried by the used time slots of the first PHY is migrated to the unused time slots of the other PHYs using time slot migration.
7. The method according to claim 5, characterized in that, The jointly supported energy-saving capabilities include time slot migration and time slot compression, wherein the time slot compression and / or time slot migration of the at least one PHY includes: It is determined that the number of unused time slots of the other PHY is less than the number of used time slots of the first PHY; Time slot compression is used to reduce the number of time slots allocated to a specified data stream in the other PHYs; after time slot compression, the number of unused time slots in the other PHYs is greater than or equal to the number of used time slots in the first PHY; The data stream carried by the used time slots of the first PHY is migrated to the unused time slots of the other PHYs using time slot migration.
8. The method according to claim 7, characterized in that, Before employing time slot compression to reduce the number of time slots allocated to the specified data stream in the other PHYs, the method further includes: The specified data stream is determined to be a data stream whose current traffic is less than a scaling-down threshold among the data streams carried by the other PHYs; each data stream carried by the other PHYs corresponds to a scaling-down threshold, which is a fixed threshold or is predicted based on the traffic of the corresponding data stream.
9. The method according to any one of claims 1-8, characterized in that, The at least one idle PHY includes at least one pre-split PHY and / or at least one post-split PHY, wherein any post-split PHY is obtained by splitting any PHY with a first bandwidth into at least two PHYs with a second bandwidth, wherein the first bandwidth is greater than the second bandwidth.
10. The method according to claim 9, characterized in that, Before determining at least one idle PHY among the at least one PHY based on the time slot state of the at least one PHY, the method further includes: The at least one PHY is split according to the splitting granularity jointly supported by the first network device and the second network device; wherein, the first network device includes a first FlexE SHIM chip and a first optical module, the first FlexE SHIM chip and the first optical module are connected through at least one pair of deserializers, and the splitting granularity supported by the first network device is determined by the PHY rate configuration provided by the first FlexE SHIM chip, the number of the at least one pair of deserializers and the number of channels of the first optical module.
11. The method according to any one of claims 1-10, characterized in that, After performing a power-saving operation on the at least one idle PHY, the method further includes: If the idle bandwidth of all activated PHYs in the at least one PHY is less than the bandwidth required for the data stream to allocate time slots, one or more of the at least one idle PHYs are activated; the time slots of the activated one or more PHYs are then available; and / or If the current traffic of any data stream carried by the at least one PHY is greater than or equal to the expansion threshold, one or more PHYs among the at least one idle PHYs are activated.
12. The method according to any one of claims 1-10, characterized in that, The energy-saving operation performed on the at least one idle PHY includes: Perform an electrical layer and / or optical layer device shutdown operation on the at least one idle PHY.
13. The method according to any one of claims 5-8 and claim 10, characterized in that, The method further includes: Determine the energy-saving capability of the first network device; Obtain the energy-saving capabilities of the second network device; Based on the energy-saving capabilities of the first network device and the second network device, determine the energy-saving capabilities that the first network device and the second network device jointly support.
14. The method according to claim 13, characterized in that, The step of obtaining the energy-saving capability of the second network device includes: Receive a first message; the first message is used to carry the capability information of the second network device, and the capability information of the second network device is used to indicate the energy-saving capability of the second network device.
15. The method according to claim 14, characterized in that, The first message conforms to the Optical Internet Forum-Network Device (OIF-ND) protocol or the Link Layer Discovery Protocol (LLDP) vendor proprietary protocol. The first message includes a first LLDP Data Unit (DU), which carries the capability information of the second network device.
16. The method according to claim 14, characterized in that, The first message includes an Operation Management and Maintenance (OAM) code block, which carries capability information of the second network device.
17. A chip, characterized in that, The chip includes a processor for retrieving and executing instructions stored in a memory, causing the chip to perform the method as described in any one of claims 1-16.
18. A communication device, characterized in that, The communication device includes a processor and a memory; The processor is configured to execute instructions stored in the memory to cause the communication device to perform the method as described in any one of claims 1-16.
19. A FlexE port management device, characterized in that, The apparatus is used to perform the method as described in any one of claims 1-16.
20. A network system, characterized in that, The network system includes at least one network device, and the at least one network device includes the communication device as described in claim 18.
21. A computer program product containing instructions, characterized in that, When the instruction is executed by the communication device, the communication device performs the method as described in any one of claims 1-16.
22. A computer-readable storage medium, characterized in that, It includes computer program instructions, which, when executed by a communication device, perform the method as described in any one of claims 1-16.