Virtualization method and device

KR103002990B1Active Publication Date: 2026-08-11ZTE CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
KR1020227017125
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-10-21
Filing Date
2020-09-11
Publication Date
2026-08-11
Estimated Expiration
2040-09-11

Smart Images

  • Figure 112022053629384-PCT00003_ABST
    Figure 112022053629384-PCT00003_ABST
Patent Text Reader

Abstract

The present disclosure provides a virtualization method and apparatus. A virtualization method applied to a main control single board comprises the steps of: allocating resources of a line card single board to a slice of a virtualization system of the main control single board—the slice including a management slice and / or a general slice—; and implementing cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through communication between the management slice of the main control single board and the management slice of the line card single board.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to the field of optical communication technology, and in particular to a virtualization method and apparatus. Background Technology

[0002] An Optical Line Terminal (OLT) is a core component of a fiber-optic-based optical access network; it corresponds to switches or routers in conventional communication networks and simultaneously serves as a multi-service provider platform. OLTs are typically deployed at a Central Office to provide fiber-optic interfaces for user-oriented passive optical communication networks. Their primary functions include, on the one hand, aggregating signals bearing various services at the Central Office and transmitting them to the access network according to a specific signal format for delivery to terminal users, and on the other hand, transmitting signals from terminal users to various service networks based on the service type.

[0003] Currently, OLT devices generally have to support services for tens of thousands of users, and the requirements of these different users vary. In related technology, by deploying a new OLT device to establish multiple virtual OLT systems on the device, each virtual OLT system can be separated independently to satisfy the different requirements of various services.

[0004] However, existing OLT devices in the carrier's inventory generally have multiple slots, and some peripheral slot line cards may not be able to support the deployment of multi-virtual OLT systems due to limited software and hardware resources. Therefore, the virtualization management method for multi-virtual OLT systems cannot improve the utilization rate of devices provided by the carrier where resources are limited. The problem to be solved

[0005] The present specification provides a virtualization method and apparatus capable of improving resource utilization by implementing virtualization management of a resource-limited device. means of solving the problem

[0006] According to a first aspect of the present invention, an embodiment of the present invention provides a virtualization method applied to a main control single board, comprising the steps of: allocating resources of a line card single board to a slice of a virtualization system of a main control single board, wherein the slice includes a management slice and / or a general slice; and implementing cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through communication between the management slice of the main control single board and the management slice of the line card single board.

[0007] According to a second aspect of the present invention, an embodiment of the present invention provides a virtualization method applied to a line card single board, comprising the steps of: configuring a virtualization multi-slice system or a virtualization single-slice system on the line card single board according to the resource amount of the line card single board, wherein the virtualization multi-slice system includes a management slice and a general slice, and the virtualization single-slice system includes a management slice; and implementing cross-board communication between the virtualization system of the line card single board and the virtualization system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board.

[0008] According to a third aspect of the present invention, an embodiment of the present invention provides a virtualization device comprising a memory, a processor, and a virtualization program stored in the memory and executable on the processor, wherein when the virtualization program is executed by the processor, the steps of the virtualization method are implemented.

[0009] According to a fourth aspect of the present invention, an embodiment of the present invention provides a computer-readable storage medium storing a virtualization program, wherein the steps of the virtualization method are implemented when the virtualization program is executed by a processor. Effects of the invention

[0010] The virtualization method and apparatus provided by an embodiment of the present invention, compared with the related art, comprises: a main control single board allocating the resources of a line card single board to a slice including a management slice and / or a general slice of the virtualization system of the main control single board; a line card single board configuring a virtualization multi-slice system including a management slice and a general slice or a virtualization single-slice system including a management slice on the line card single board according to the amount of resources of the line card single board; and implementing cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through communication between the management slice of the main control single board and the management slice of the line card single board. The technical solution of an embodiment of the present invention can implement virtualization management of a resource-limited device and improve resource utilization. Brief explanation of the drawing

[0011] FIG. 1 is a flowchart of a virtualization method (applied to a main control single board) according to Embodiment 1 of the present invention. FIG. 2 is a flowchart of a virtualization method (applied to a line card single board) according to Embodiment 2 of the present invention. FIG. 3 is a schematic diagram of a virtualization device (applied to a main control single board) according to Embodiment 3 of the present invention. FIG. 4 is a schematic diagram of a virtualization device (applied to a line card single board) according to Embodiment 4 of the present invention. FIG. 5 is a schematic diagram in Example 1 showing a main control single board supporting the switching between a virtualization single-slice system and a virtualization multi-slice system. FIG. 6 is a schematic diagram in Example 2 showing a line card with sufficient resources supporting board-level resource allocation. FIG. 7 is a schematic diagram in Example 3 showing a line card with limited resources supporting board-level resource allocation. FIG. 8 is a schematic diagram in Example 4 showing a line card with sufficient resources supporting port-exclusive resource allocation. FIG. 9 is a schematic diagram in Example 5 showing a line card with limited resources supporting port-exclusive resource allocation. FIG. Figure 10 is a schematic diagram showing how a resource-sufficient line card in Example 6 supports resource allocation for a port share. Figure 11 is a schematic diagram showing how a resource-limited line card in Example 7 supports resource allocation for a port share. Figure 12 is a schematic diagram showing the start timing of a managed slice and a general slice in Example 8. Figure 13 is a schematic diagram showing cross-board communication between a resource-sufficient line card and a main control single board in Example 9. Figure 14 is a schematic diagram showing cross-board communication between a resource-limited line card and a main control single board in Example 10. Figure 15 is a schematic diagram showing line card status management in Example 11. Specific details for implementing the invention

[0012] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings in order to clarify the object, technical solution, and advantages of the present invention. It should be noted that, unless contradictory, embodiments of the present invention and features thereof may be combined with one another.

[0013] The steps illustrated in the flowchart of the drawing may be executed on a computer system, such as a computer-executable instruction set. Additionally, while the flowchart illustrates a logical sequence, in some cases, the steps illustrated or described may be performed in a different order than that described herein.

[0014] Example 1

[0015] As illustrated in FIG. 1, an embodiment of the present invention is,

[0016] Step S110 of allocating resources of a line card single board to a slice including a management slice and / or a general slice of the virtualization system of a main control single board;

[0017] A step S120 for implementing cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through communication between the management slice of the main control single board and the management slice of the line card single board.

[0018] Provides a virtualization method applied to a single main control board.

[0019] In one embodiment, the step of implementing cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through communication between the management slice of the main control single board and the management slice of the line card single board is as follows:

[0020] After the resources of the line card single board are allocated to the general slice of the main control single board, the method includes the step of using the management slice of the main control single board as a communication proxy of the virtualization system of the main control single board to perform data transfer between the general slice of the main control single board and the virtualization system of the line card single board.

[0021] In one embodiment, the step of allocating the resources of the line card single board to a slice of the virtualization system of the main control single board comprises: allocating the resources of the line card single board to a management slice or a general slice of the main control single board with board-level granularity; or allocating the resources of the line card single board to a management slice or a general slice of the main control single board with port-level granularity and a port exclusive mode; or allocating the resources of the line card single board to a management slice and a general slice of the main control single board with port-level granularity and a port sharing mode.

[0022] In one embodiment, the step of performing data transfer between a general slice of a main control single board and a virtualization system of a line card single board by using a management slice of the main control single board as a communication proxy of the virtualization system of the main control single board includes, when the management slice of the main control single board receives data from the virtualization system of the line card single board, if the data includes identification information of the general slice of the line card single board, the step of transferring the data to a general slice of the main control single board corresponding to the general slice of the line card single board, wherein the line card single board is configured as a virtualization multi-slice system; the virtualization multi-slice system includes a management slice and a general slice; and the general slice of the line card single board and the general slice of the main control single board have a one-to-one correspondence relationship.

[0023] In one embodiment, the step of performing data transfer between a general slice of a main control single board and a virtualization system of a line card single board by using a management slice of the main control single board as a communication proxy of the virtualization system of the main control single board comprises: a step of querying the resource allocation granularity of the line card single board when the management slice of the main control single board receives data from the virtualization system of the line card single board, and when the data includes identification information of the management slice of the line card single board; and

[0024] If the resource allocation granularity of the line card single board is board-level granularity, the method includes the step of determining a general slice of the main control single board to which the line card single board belongs and transmitting the data to the general slice of the main control single board; and if the resource allocation granularity of the line card single board is port-level granularity, the method includes the step of determining a general slice of the main control single board to which the line card port belongs and transmitting the data to the general slice of the main control single board.

[0025] In one embodiment, the step of performing data transfer between a general slice of a main control single board and a virtualization system of a line card single board by using a management slice of the main control single board as a communication proxy of the virtualization system of the main control single board comprises: a step in which the general slice of the main control single board transmits data to be transmitted to the line card single board to the management slice of the main control single board; and, if the line card single board is a virtualization multi-slice system, the management slice of the main control single board transmits the data to be transmitted to the management slice of the line card single board; and, if the line card single board is a virtualization single-slice system, the management slice of the main control single board modifies the slice attribute of the data to be transmitted to the management slice of the line card single board and transmits the data to the management slice of the line card single board. Herein, if the line card single board is a virtualization multi-slice system, the management slice of the line card single board receives data transmitted by the management slice of the main control single board, and if the data actually belongs to the management slice of the line card single board, the management slice of the line card single board processes the data; If the above data actually belongs to a general slice of a line card single board, the management slice of the line card single board transmits the data to the general slice of the line card for processing; and if the line card single board is a virtualized single slice system, the management slice of the line card single board receives and processes the data transmitted by the management slice of the main control single board.

[0026] In one embodiment, the management slice of the main control single board first loads and validates the configuration data, and then the general slice of the main control single board loads the configuration file owned by this slice.

[0027] In one embodiment, the management slice of the main control single board maintains the status information of the line card single board, and synchronizes the status information of the line card single board with the general slice of the main control single board to which the resource of the line card single board belongs.

[0028] Here, “slice” is a collective term for independent logical network elements of a virtualization system, the corresponding English description is virtual-network-device, and when translated into Chinese, it is “ “and is equivalently represented by the alphabetic abbreviation “VND” in this specification, the management slice is described as VND0, and the general slice is described as VNDx, where x=1, 2, 3…. The management slice is a slice with administrator privileges. The general slice is a slice with general privileges that is initiated and managed as needed by the management slice. Generally, the management slice bears software applications necessary for the normal operation of a physical network device. The general slice bears some extension applications (extension applications are primarily applications related to logical services).

[0029] In one embodiment, the slices of the virtualization system are single-process or multi-process; if the existing software architecture on the main control single board is a single-process architecture, then after supporting the virtualization multi-slice system, each slice is also a single-process architecture. Here, the single process among the existing software architectures is used as the managed slice VND0 of the virtualization multi-slice system, and other general slices (it should be noted that unmanaged slices are subsequently equivalently represented as VNDx, and VNDx does not include VND0) exist in the same mirror form as the managed slice process. If the existing software architecture on the main control single board is a multi-process architecture, the multi-process among the existing software architectures forms one managed slice VND0, and other general slices exist in the same mirror form as the managed slice multi-process.

[0030] A single system-level command switch is added to the existing software architecture to switch between a virtualization single-slice system and a virtualization multi-slice system, wherein the command switch supports dynamic configuration including, but not limited to, Command-Line Interfaces (CLI) and network management commands. If the current system is a virtualization single-slice system, the system automatically switches to a virtualization multi-slice system after the switch is performed; if the current system is a virtualization multi-slice system, the system automatically switches to a virtualization single-slice system after the switch is performed.

[0031] In one embodiment, the management slice is intended to perform at least one of the following management tasks for a general slice of a virtualization system: building a general slice, deleting a general slice, enabling a general slice, disabling a general slice, allocating resources to a general slice, reclaiming resources allocated to a general slice, arranging a general slice CPU, setting a general slice mode, querying general slice information, and switching a general slice interface.

[0032] Here, general slice mode includes mixed mode (default configuration), single-board mode, exclusive port mode, and shared port mode. Here, mixed mode implies support for single-board mode, exclusive port mode, and shared port mode, i.e., unlimited resource allocation; multi-slice instance modifications can be performed for software modules that are not sensitive to slice information, and these software modules separate data, management messages, and protocol messages between different slices and are consistent by default regardless of whether they are management slice VND0 and general slice VNDx. These software modules are, for example, Operation Administration and Maintenance (OAM), protocol stacks, broadband services, and Passive Optical Network (PON) services.

[0033] Software modules that cannot perform multi-slice instance modifications are configured as a single process or belong directly to a management slice. The data of the said software module is configured as global data, and different slices are distinguished by adding a slice ID during data transmission.

[0034] The managed slice VND0 system includes the full set of implementations, but the general slice VNDx is reduced based on this (e.g., global system functions such as version control, single board addition and deletion, etc., must be reduced). It provides a task or process registration mechanism to distinguish slices, allowing the service to select whether a task or process should start under a slice and to determine which slice the service is currently running in, thereby making the separation process convenient. It intensively controls management modules such as the OM (Operation Manager) module and the slice management module; these modules are primarily completed in the managed slice VND0, and depending on the resource allocation situation within the slice, the data required for the slice must be synchronized to the corresponding slice through a cross-process communication mechanism between slices to satisfy the slice function requirements.

[0035] The managed slice VND0 and the general slice VNDx each have independent file systems. The file systems of the slices can be established when the system starts, and slice directories are named according to specific naming conventions. Each slice's file system includes, but is not limited to, configuration files, ONU (Optical Network Unit) files, etc. Here, while the file systems between general slice VNDx cannot operate with each other, the managed slice VND0 can operate and manage the file systems of all slices.

[0036] Although each slice possesses an independent configuration file, the loading of its own configuration file during the startup process is not entirely simultaneous. This is fundamentally because the managed slice VND0 and the generic slice VNDx are not identical; the system's global dataset exists only in the managed slice VND0, while the generic slice VNDx exists only in the dataset owned by that slice, and the configuration data of the generic slice VNDx still practically depends on the global configuration data of the managed slice VND0. Therefore, given these constraints on slice startup and loading timing, the managed slice VND0 prioritizes loading and validating its configuration data (effectively coinciding with the startup of the virtualized single-slice system), after which the generic slice VNDx loads the configuration file owned by its respective slice. There is no timing dependency between each generic slice VNDx. Each slice has its own file directory, and during the configuration file loading process, it must read the configuration file information located in the file system directory to which the slice belongs.

[0037] The granularity of line card resource allocation for different capabilities may vary, and for line cards that cannot support the construction of multi-slice instances due to resource limitations, this type of line card is allowed to be installed in a virtualized single-slice system. In this case, this type of line card still supports allocation to the general slice VNDx of the main control single board at board-level and port-level granularity. Simultaneously, regarding the configuration of attributes of the line card's different granularity resources, adaptive control is unified on the main control single board during message interaction. This allows the management of line card resource allocation and retrieval to be completed by adding only individual messages between the main control single board virtualized multi-slice system and the line card virtualized single-slice system. At the same time, information display, such as the line card board status and related alarms, can be controlled within the general slice and management slice to which the line card belongs, while other general slices are not displayed.

[0038] In the case of a line card that cannot construct a multi-slice instance, if this type of line card is assigned to a general slice VNDx of the main control single board via a port-level method, the current single-slice instance of the line card is physically and logically equivalent to the management slice VND0. After the ports of the line card are logically assigned to the general slice VNDx, information interactions between these ports and the main control single board must all be transmitted to the corresponding general slice VNDx. When the main control single board receives a report regarding these port information, it first queries the port's slice attributes and then transmits the information to the corresponding general slice VNDx to which the resource belongs via the management slice VND0. When information from the main control general slice VNDx is transmitted, adaptive processing must be added to the main control single board, and after transmitting the information from the general slice VNDx to the management slice VND0, information interactions between the main control management slice and the management slice equivalent to the line card are implemented. The line card does not need to detect the existence of the main control multi-slice entity.

[0039] In the case of a line card that cannot construct a multi-slice instance, if this type of line card is assigned to the general slice VNDx of the main control single board in a single-board level manner, the line card single-slice entity is physically equivalent to the management slice VND0, but logically, the line card already belongs to the general slice VNDx. In this case, each module of the line card software does not, in principle, need to detect the existence of the main control multi-slice entity. To meet the compatibility requirements for the interaction of each module (line card global and systemic message interactions must still interact with the main control management slice VND0, but service modules on the line card must interact with the slice VNDx belonging to the main control), an interface is provided to obtain the current slice information where the line card is located. This interface is provided to obtain either physical slice information or logical slice information. Modules sensitive to the main control multi-slice entity must perform message interactions using the interface to obtain physical slice information, while modules not sensitive to the main control multi-slice entity must perform message interactions using the interface to obtain logical slice information.

[0040] If line card resources belong to a VNDx general slice, the communication method of the existing virtualization single-slice system between the main control single board and the line card must be simply adapted and recognized to transmit to the designated slice. Additionally, since cross-process communication between the general slice and the management slice is added, for interactions between slices, existing function interface call relationships must be modified into inter-process calls between slice processes as necessary.

[0041] Board card management is one of the core modules of system control. Its primary functions include managing and controlling each type of hardware resource within the system, monitoring changes in the status of hardware resources in real time, and providing trusted hardware resource status to higher-level services to offer reliable data that enables users to understand the system's operational status. Simply put, board card management involves maintaining the state of a single board controlled by the system. The state of a single board is maintained based on its actual operating conditions, allowing users to make a preliminary judgment on the service status based on the board's position; for example, if a single board belongs to INSERVICE, it can be preliminaryly determined that the service status is normal.

[0042] As shown in Table 1 below, the single board state may be as follows, depending on the needs.

[0043]

[0044] After the system supports multiple slices, single-board resources are no longer statically bound to the managed slice VND0; instead, they must dynamically support allocation to the general slice VNDx. Consequently, the general slice VNDx system must maintain the single-board status belonging to the said slice, and a single-board slice-level status must be added to the existing single-board status management structure. The HWONLINE / OFFLINE status of the single-board slice-level status is still determined by the board scan in the managed slice VND0, which indicates whether the board is present or not. In addition to setting the board-level single-board status to HWONLINE / OFFLINE, the managed slice VND0 must also set the slice-level status within the general slice VNDx to which the single-board belongs to HWONLINE / OFFLINE, depending on the resource slice attributes of the single-board. Furthermore, maintaining heartbeat activation between the line card and the main control can also affect the single-board status. The CONFIGING status of the single board slice level is transitioned upon being triggered by the line CARDUP (single board online) message of the main control general slice VNDx; simultaneously, the service within the general slice VNDx performs service configuration processing after receiving the system CARDUP message, and after the service configuration validation is completed, it notifies the system board card management module within the general slice VNDx, and the single board is updated from the single board slice level state within the general slice VNDx to the INSERVICE state.In this way, when a single board resource belongs to a general slice VNDx, when a change in the physical state of the single board is involved, the slice-level state of the single board is synchronized with the board-level state of the single board in the management slice; when a change in the activation state of the single board service is involved, the slice-level state of the single board depends on the actual activation status of the service of the slice to which it belongs, the processing process is completely consistent with the management slice VND0, and the processing process is completely reused.

[0045] After the virtualized multi-slice system is supported, alarm management requires appropriate adaptive processing. Since each slice has its own alarm management module and pool, alarm functions are separated for each. Line cards with limited resources must send alarms to the slice to which the corresponding main control belongs, and they must not send to the wrong slice.

[0046] By default, all system resources belong to the managed slice VND0, and after the general slice VNDx is established, resources can be allocated to the general slice VNDx. In the case of single-board, port-exclusive slice allocation, resources are allocated from the managed slice VND0 to a general slice VNDx, and the managed slice VND0 no longer possesses the said resources. In the case of port-shared slice allocation, the managed slice VND0 and the general slice VNDx simultaneously possess the said ports. When resources are reclaimed from the general slice VNDx, they are returned directly from the general slice VNDx to the managed slice VND0 in a single-board, port-exclusive manner, the resources are added to the managed slice VND0, and the resources are removed from the general slice VNDx. In the case of port-shared reclamation, it is sufficient to simply remove the resources from the general slice VNDx and not add them to the managed slice VND0; the allocation of the resources simply needs to be changed from the shared method to the exclusive method.

[0047] In the case of multiple slices, on the one hand, when the system adds a single board, in addition to adding the single board information to the default management slice VND0, records of all physical ports of said single board must also be added to the default management slice VND0; thus, the single board and port resources in management slice VND0 serve as the basis for subsequent management of the allocatable resources in general slice VNDx. On the other hand, when deleting a single board, an action must be added to delete the records of all physical ports of said single board along with the single board records in management slice VND0. When querying a single board belonging to each other general slice VNDx, the data must be filtered according to the ID of the VND of the general slice itself to display only the resources belonging to that slice. In the case of a plug-and-play single board, processing should be performed according to the board addition process after the actual board type is detected.

[0048] Specific rules for system resource allocation may include the following four types.

[0049] The first method involves allocation based on the service board; in this case, the slice exclusively allocates the acquired service board, and all objects on the service board, such as ports and ONTs (Optical Network Terminals), belong to the corresponding general slice VNDx system. It should be noted that the general slice VNDx can reset the divided single board, query the single board status, and report single board alerts. Since the management slice VND0 holds maximum administrative authority, it can still delete and reset the single board, query the single board status, and report single board alerts.

[0050] The second method involves allocation based on a physical port exclusivity method, in which case the slice exclusively possesses the acquired port. Different ports can be divided into different slices; in this scenario, physical ports on the same single board are allowed to belong to different slices, meaning they are bound one by one according to port granularity. Operations such as related configuration management and port status lookup can be performed on the port within the slice to which the port belongs.

[0051] The third method involves allocation based on a physical port sharing method, where a single physical port is simultaneously assigned to multiple slices, each having one of the aforementioned physical ports. For example, since a PON port is simultaneously assigned to multiple slices, the Optical Network Unit (ONU) ultimately acquired by each slice is different, which enables different users to belong to different virtual slice systems from a single PON port.

[0052] The fourth method involves allocation based on the service sub-interfaces of physical ports. It assigns service virtual sub-interfaces configured in the ONU built by the management slice VND0 to multiple virtual OLT slice systems. This enables different service flows within the same ONT to belong to different virtual slice systems and manages them as service flow-based virtual systems, providing customers with more flexible choices.

[0053] Through the binding of physical objects with different granularities and virtual slice systems, and according to the partitioning method, each virtual OLT slice acquires the allocated system resources to form a single independent and complete virtual OLT system; that is, it can possess the functionality of a single complete OLT device, which is equivalent to a single OLT device acquiring multiple usable OLT devices that satisfy various service requirements through the rational partitioning of resources.

[0054] After multi-slice support is enabled, the administrative permissions of the general slice VNDx and the administrative slice VND0 are not equal; therefore, while the administrative slice VND0 possesses all mentioned administrative permissions, the administrative permissions of the general slice VNDx must be controlled. To manage user-side resources in the general slice VNDx, the specifically supported slice configuration modes include several as follows.

[0055] The first is a single-board level slice mode. Once the general slice VNDx is set to this slice mode, resource allocation for the slice is limited to single-board level resource allocation, and it does not allow the allocation of resources to the slice with other levels, such as ports.

[0056] The second is an exclusive port-level slice mode, whereby after a general slice VNDx is set to this slice mode, resource allocation for the slice is limited entirely to resource allocation for exclusive port granularity, and resources of granularity such as single board or other port types are not allowed to be allocated to the slice. The slice allocation of an exclusive port means that after the port is allocated to the general slice VNDx by the management slice VND0, the port resource belongs entirely to the general slice VNDx and no longer belongs to the management slice VND0.

[0057] The third is a shared port level slice mode, whereby after a general slice VNDx is set to the slice mode, resource allocation for the slice is limited to resource allocation of the shared port granularity, and resources of the granularity, such as single board or other type ports, are not allowed to be allocated to the slice. The slice allocation of the shared port means that after the port is allocated to the general slice VNDx by the management slice VND0, the port resource belongs not only to the general slice VNDx but also to the management slice VND0. In this shared port allocation, the management slice VND0 does not need to detect changes in the attributes of the port, and if necessary, only needs to detect changes in the configuration mode of the port (the port changes from exclusive attribute VND0 to shared attribute VND0). Furthermore, various statistics related to the port do not change in the management slice VND0.

[0058] The fourth is a mixed slice mode, which is the default slice mode for general slice VNDx and managed slice VND0, and in this slice mode, there are no restrictions on resources being allocated to the slice.

[0059] The above description regarding slice control basically applies entirely to general slice VNDx, and after being built in general slice VNDx, the default slice mode must be a mixed slice mode, and by adding a slice mode switching command, the slice mode of the general slice VNDx can be switched if certain conditions are satisfied.

[0060] Because resource allocation involves different granularities and methods, there are two approaches to implementing resource configuration constraints for the sake of operational or implementation convenience principles. The first approach involves directly restricting resource allocation when selecting it in the command interface, filtering out unsupported resource granularities when executing the resource allocation command, and displaying only those granularities that support configuration. The second approach uses a compromise when the resource allocation command is sent, particularly in cases where it is not possible to accurately filter allocated resource granularities in certain scenes; this method increments resource validation controls in bulk before the command is actually executed, returns a failure response for resource allocations that do not satisfy or comply with constraints, and provides a helpful error prompt to alert the user.

[0061] Here, specific constraint rules for resource allocation may include at least one of the following.

[0062] In slice single-board mode, only single-board allocation is supported, and resource allocation of other granularities is not supported.

[0063] In slice exclusive port mode, only the allocation of exclusive ports is supported, and resource allocation using other methods is not supported.

[0064] In sliced ​​shared port mode, only the allocation of ports using the shared method is supported, and resource allocation using other methods is not supported (for port allocation, there must be a clear attribute indicating the method of distinguishing configurations).

[0065] When switching slice modes, the slice in blend mode can be switched to any other slice mode.

[0066] When switching slice modes, if no resources are allocated to the slice in single-board mode, it may switch to any other slice mode, and if resources exist, it may switch only to mixed mode.

[0067] When switching slice modes, if no resources are allocated to the slice in exclusive port mode, it may switch to any other slice mode, and if resources exist, it may switch only to mixed mode.

[0068] When switching slice modes, if no resources are allocated to the slice in shared port mode, it may switch to any other slice mode, and if resources exist, it may switch only to mixed mode.

[0069] Since the memory resources of a single board are limited and the start of each slice process instance consumes a certain amount of system memory, the number of supported slice builds is also limited. Furthermore, if the number of slices started is excessive, it exceeds the single board memory capacity, which can trigger an Out Of Memory (OOM) error, and insufficient memory results in a system reset. Therefore, the slice capacity must be determined during the slice build process, and if the maximum number supported by the system is reached, the continued building of new slices is not permitted. The specific determination criteria include, but are not limited to, memory resources. The limiting timing is applied when the main control single board is built and does not depend on whether the slice entity process has actually started, because if the configuration of the number of slices is successful, it must be guaranteed that they will start successfully.

[0070] After an existing software system implements virtualization multi-slices, the management of resource templates must be centralized in the management slice VND0, and the creation, deletion, modification, and querying of resource templates are all managed and controlled by the management slice VND0, regardless of whether they are the management slice VND0 or general slice VNDx, and other general slice VNDx can control corresponding service configurations only according to capacity indicators configured by the management slice VND0.

[0071] Example 2

[0072] As illustrated in FIG. 2, an embodiment of the present invention is,

[0073] Step S210 of configuring a virtualization multi-slice system including a management slice and a general slice or a virtualization single-slice system including a management slice on the line card single board according to the amount of resources of the line card single board; and

[0074] A virtualization method applied to a line card single board is provided, comprising the step S220 of implementing cross-board communication between the virtualization system of the line card single board and the virtualization system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board.

[0075] In one embodiment, the step of configuring a virtualized multi-slice system or a virtualized single-slice system on the line card single board according to the resource amount of the line card single board includes: configuring a virtualized multi-slice system on the line card single board when the resource amount of the line card single board indicates that the resource is sufficient; and configuring a virtualized single-slice system on the line card single board when the resource amount of the line card single board indicates that the resource is limited. In one embodiment, the resources of the line card single board are allocated to a management slice or a general slice of the main control single board in a board-level granularity; or are allocated to a management slice or a general slice of the main control single board in a port-level granularity and port exclusivity manner; or are allocated to a management slice and a general slice of the main control single board in a port-level granularity and port sharing manner.

[0076] In one embodiment, after the resources of the line card single board are allocated to the general slice of the main control single board, when the line card single board is configured as a virtualized single slice system, data is transmitted to the management slice of the main control single board through the management slice of the line card single board.

[0077] In one embodiment, after the resources of the line card single board are allocated to the general slice of the main control single board, when the line card single board is configured as a virtualized multi-slice system, data is transmitted to the management slice of the main control single board through the management slice of the line card single board, including identification information of the general slice of the line card single board; and the general slice of the line card single board and the general slice of the main control single board have a one-to-one correspondence relationship.

[0078] In one embodiment, the step of implementing cross-board communication between the virtualization system of the line card single board and the virtualization system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board comprises: when the line card single board is a virtualization multi-slice system, the management slice of the line card single board receives data transmitted by the management slice of the main control single board, and if the data actually belongs to the management slice of the line card single board, the management slice of the line card single board processes the data; and when the data actually belongs to the general slice of the line card single board, the management slice of the line card single board transmits the data to the general slice of the line card for processing; and when the line card single board is a virtualization single-slice system, the management slice of the line card single board receives and processes data transmitted by the management slice of the main control single board.

[0079] Example 3

[0080] As illustrated in FIG. 3, an embodiment of the present invention provides a virtualization device applied to a main control single board, comprising: a resource allocation module (301) that allocates resources of a line card single board to a slice of a virtualization system of a main control single board—the slice includes a management slice and / or a general slice—; and a communication module (302) that implements cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through communication between the management slice of the main control single board and the management slice of the line card single board.

[0081] In one embodiment, the resource allocation module,

[0082] Resources of a line card single board are allocated to slices of the main control single board's virtualization system using a method of allocating the line card single board's resources to the management slice or general slice of the main control single board with board-level granularity; or allocating the line card single board's resources to the management slice or general slice of the main control single board with port-level granularity and port exclusivity; or allocating the line card single board's resources to the management slice and general slice of the main control single board with port-level granularity and port sharing.

[0083] In one embodiment, the communication module is,

[0084] After the resources of the line card single board are allocated to the general slice of the main control single board, cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board is implemented through communication between the management slice of the main control single board and the management slice of the line card single board, by using the management slice of the main control single board as a communication proxy of the virtualization system of the main control single board to perform data transfer between the general slice of the main control single board and the virtualization system of the line card single board.

[0085] In one embodiment, the communication module is,

[0086] When the management slice of the main control single board receives data from the virtualization system of the line card single board, and if the data includes identification information of the general slice of the line card single board, the data is transmitted to the general slice of the main control single board corresponding to the general slice of the line card single board; the management slice of the main control single board is used as a communication proxy of the virtualization system of the main control single board to perform data transmission between the general slice of the main control single board and the virtualization system of the line card single board;

[0087] The above-mentioned line card single board is configured as a virtualized multi-slice system; the virtualized multi-slice system includes a management slice and a general slice; and the general slice of the line card single board and the general slice of the main control single board have a one-to-one correspondence.

[0088] In one embodiment, the communication module is,

[0089] When the management slice of the above main control single board receives data from the virtualization system of the line card single board, if the data includes identification information of the management slice of the line card single board, query the resource allocation granularity of the line card single board;

[0090] When the resource allocation granularity of the line card single board is board-level granularity, the general slice of the main control single board to which the line card single board belongs is determined, and the data is transmitted to the general slice of the main control single board; and when the resource allocation granularity of the line card single board is port-level granularity, the general slice of the main control single board to which the line card port belongs is determined, and the data is transmitted to the general slice of the main control single board, thereby using the management slice of the main control single board as a communication proxy of the virtualization system of the main control single board to perform data transmission between the general slice of the main control single board and the virtualization system of the line card single board.

[0091] In one embodiment, the communication module is,

[0092] The general slice of the main control single board transmits the transmission target data, which is transmitted to the line card single board, to the management slice of the main control single board;

[0093] When the above-mentioned line card single board is a virtualized multi-slice system, the management slice of the above-mentioned main control single board transmits the transmission target data to the management slice of the above-mentioned line card single board; and when the above-mentioned line card single board is a virtualized single-slice system, the management slice of the above-mentioned main control single board modifies the slice attribute of the transmission target data to the management slice of the above-mentioned line card single board and transmits the transmission target data to the management slice of the above-mentioned line card single board, thereby using the management slice of the above-mentioned main control single board as a communication proxy of the virtualization system of the above-mentioned main control single board to perform data transfer between the general slice of the main control single board and the virtualization system of the line card single board.

[0094] In one embodiment, the virtualization device further includes a state management module (303);

[0095] The above state management module ensures that the management slice of the main control single board maintains the state information of the line card single board and synchronizes it with the general slice of the main control single board to which the resources of the line card single board belong.

[0096] Example 4

[0097] As illustrated in FIG. 4, an embodiment of the present invention is,

[0098] A system configuration module (401) that configures a virtualization multi-slice system including a management slice and a general slice on the line card single board or a virtualization single-slice system including a management slice according to the amount of resources of the line card single board; and

[0099] A virtualization device applied to a line card single board is provided, comprising a communication module (402) that implements cross-board communication between the virtualization system of the line card single board and the virtualization system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board.

[0100] In one embodiment, the system configuration module configures a virtualized multi-slice system or a virtualized single-slice system on the line card single board according to the resource amount of the line card single board, such that when the resource amount of the line card single board indicates that the resource is sufficient, the system configuration module configures the virtualized multi-slice system on the line card single board; and when the resource amount of the line card single board indicates that the resource is limited, the system configuration module configures the virtualized single-slice system on the line card single board.

[0101] In one embodiment, after the resources of the line card single board are allocated to the general slice of the main control single board, when the line card single board is configured as a virtualized single-slice system, data is transmitted to the management slice of the main control single board through the management slice of the line card single board; when the line card single board is configured as a virtualized multi-slice system, data is transmitted to the management slice of the main control single board through the management slice of the line card single board, and the data includes identification information of the general slice of the line card single board; and the general slice of the line card single board and the general slice of the main control single board have a one-to-one correspondence relationship.

[0102] In one embodiment, the communication module implements cross-board communication between the virtualization system of the line card single board and the virtualization system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board, such that when the line card single board is a virtualization multi-slice system, the management slice of the line card single board receives data transmitted by the management slice of the main control single board, and if the data actually belongs to the management slice of the line card single board, the management slice of the line card single board processes the data; and if the data actually belongs to the general slice of the line card single board, the management slice of the line card single board transmits the data to the general slice of the line card for processing; and when the line card single board is a virtualization single-slice system, the management slice of the line card single board receives and processes data transmitted by the management slice of the main control single board.

[0103] Example 5

[0104] An embodiment of the present invention provides a virtualization device comprising a memory, a processor, and a virtualization program stored in the memory and executable on the processor, wherein when the virtualization program is executed by the processor, the steps of a virtualization method according to Embodiment 1 or Embodiment 2 are implemented.

[0105] Example 6

[0106] An embodiment of the present invention provides a computer-readable storage medium in which a virtualization program is stored, wherein when the virtualization program is executed by a processor, the steps of the virtualization method according to Embodiment 1 or Embodiment 2 are implemented.

[0107] The virtualization solution means of the present invention will be further explained below through Examples 1 to 11.

[0108] Example 1

[0109] As illustrated in FIG. 5, the main control single board supports switching between a virtualized single-slice system and a virtualized multi-slice system. It should be noted that a single logical slice can be a physical single process or a multi-process group. For the convenience of explanation below, it is assumed that all virtualized single-slice systems exist in a single-process mode by default.

[0110] Under the premise that the software architecture of the existing single-slice virtualization system remains unchanged, to support a multi-slice virtualization system, there is no need to modify the version build and a single process is still established. The image file of the said single process is used not only as an executable program for the managed slice VND0 but also simultaneously as an executable program for the general slice VNDx (x=1, 2, 3…). The implementation method involves controlling the distinction through startup parameters, such as different slice IDs, during process establishment. To ensure compatibility with the single-slice virtualization system, in the case of the multi-slice virtualization system, when a managed slice starts, the default managed slice ID is equal to 0, and when a general slice VNDx starts, a slice ID specified by the specific user is used as a control parameter for starting the slice. When initiating the initialization execution, the slices are distinguished by their slice IDs, so the established multiple slices exist as logically distinct slice forms. In the case of the single-slice virtualization system, this is equivalent to starting a single slice instance, while in the case of the multi-slice virtualization system, it is equivalent to starting multiple slice instances.

[0111] A system command is added to implement the transition between a virtualization single-slice system and a virtualization multi-slice system. This system command may be a dynamic configuration command. By default, the system does not support a virtualization multi-slice system. After the user manually configures and executes the system command, the configuration is saved and restarted, after which the system transitions to support a virtualization multi-slice system. At this point, to transition to a virtualization single-slice system, the system command must be dynamically terminated, the configuration is saved and restarted, and then the system transitions to a virtualization single-slice system. The management slice VND0 process of a virtualization multi-slice system and the single process of a virtualization single-slice system can be compatible in terms of configuration files.

[0112] Slice instances in a virtualized single-slice system and slice instances in an OLT multi-slice system can be the same image file, and common code is built as a common version. However, there are still differences in processing between the actual modules of the management slice and the general slice. To address this issue, the attributes of software modules within the OLT system can be clearly configured. For example, software modules that are not sensitive to slice information, such as OAM (Operation Administration and Maintenance), protocol stacks, broadband services, and PON (Passive Optical Network) services, can be modified (for instance, the initialization of these modules does not require slice differentiation). Each software module can belong to multiple slices, and these software modules separate data, management messages, and protocol messages between different slices, and are essentially consistent regardless of whether they belong to the management slice VND0 or the general slice VNDx. Software modules that cannot perform multi-slice instance modification can be initialized by belonging directly to the management slice VND0, in which case the data of such modules can be globalized only once. In addition, by adding slice VND ID information, the data interaction between service modules in other general slices and global modules in management slices can be distinguished.

[0113] In a virtualized multi-slice system, each slice has an independent file system, and the file systems of the slices can be constructed when the system starts. Command slice directories (e.g., Management Slice:\flash\VND0\, General Slice 1:\flash\VND1\, General Slice 2:\flash\VND2\) are named according to a specific naming convention, and the file systems of each slice include, but are not limited to, configuration files, ONU files, etc. Here, the file systems between General Slice VNDx cannot operate with each other, and General Slice VNDx can only manage its own file system, whereas Management Slice VND0 can operate and manage the file systems of all slices.

[0114] Example 2

[0115] As illustrated in FIG. 6, if line card resources are sufficient, the line card can support a virtualized multi-slice system. After line card resources are allocated to a slice, the line card can start a corresponding slice instance, and the slice process entity built by the line card includes only some service modules that are not sensitive to the slice, while the global module is still built in the line card's managed slice VND0. At this time, the line card is completely separated from the services of different general slices and can be recognized as a duplicate of a single logical slice instance in terms of service implementation. At the same time, when a service module among the line card's slice process entities accesses a global module, it must access it through data interaction between processes.

[0116] Example 3

[0117] As illustrated in FIG. 7, when line card resources are limited, the line card can only support a virtualized single-slice system. The line card with limited resources cannot support the initiation of a multi-slice entity process on a single board due to resource constraints such as memory and hardware, but the single board can perform some adaptive processing to support slice allocation.

[0118] When a resource-constrained line card is assigned to a general slice in a single-board level manner, all logical service processing of the said single board must be processed within the corresponding general slice area, and in terms of service, the said line card is recognized as belonging to the general slice and no longer belonging to the management slice, but the physical entity process of the said line card is still executed under the identity of the management slice VND0.

[0119] In principle, each service module of the above-mentioned line card software does not need to detect the existence of multiple slice entities and only needs to be able to interact with objects within the same slice area; however, from a physical perspective, since the service module acquires hardware resources and performs cross-board communication, and is physically still completed through line card global and systemic hardware and communication modules, etc., in order to ensure compatibility of message interaction adaptation between the main control virtualization multi-slice system and the line card virtualization single-slice system (line card global and systemic message interaction still needs to interact with the main control management slice VND0, but the service module in the line card needs to interact with the slice VNDx belonging to the main control), an interface is provided to acquire physical slice information used in line card global and systemic module applications. This module is slice-sensitive, physically recognizes its own interaction object, and must acquire physical slice information. In the above scenario, the acquired physical slice information is the management slice VND0. An interface is provided to acquire logical slice information used in service module applications such as PON, wherein such modules are not sensitive to slices and do not need to be interested in the slice in which they are located; in the above scenario, the logical slice information acquired by the service module is a general slice VNDx, and after processing, the entire board is assigned to the general slice, and although the line card implements processing within the slice area in terms of logical processing, the line card global module physically still interacts with the main control management slice VND0.

[0120] Since the cross-board interaction of the service module of the above-mentioned line card must interact with a module within the logical slice area, the cross-board interaction of the above-mentioned line card global control information must still interact with the management slice VND0 of the main control single board. Accordingly, when a message is transmitted from the line card, it must include a designated target slice ID, and when the main control single board receives the line card message, no separate processing is required; instead, the message is directly transmitted to the main control management slice VND0 based on the slice information included in the message, and is delivered and processed within the corresponding slice. When a main control message is transmitted, since the modules in the main control management slice VND0 and the general slice VNDx interact only within the slice area when transmitting cross-board messages, when a line card receives the main control message, the line card itself is a single entity process; therefore, in principle, all messages received by all line cards from different slices are directly transmitted to the corresponding module of the current entity process for processing. After such processing, the unified physical entity of the line card basically implements the completion of different logical adaptation processing.

[0121] Example 4

[0122] As illustrated in FIG. 8, when line card resources are sufficient, the line card can support a virtualized multi-slice system. When a line card with sufficient resources is allocated to a general slice in a port-level manner, the corresponding slice entity process can be started from the line card, and physically and logically, the processing module of the port belongs to the general slice VNDx, and the actual adaptation processing is to transmit information of the general slice VNDx to the management slice VND0 through the first adaptation layer (communication adaptation layer) and to transmit messages from the line card from the management slice VND0 to the general slice VNDx through the first adaptation layer (communication adaptation layer).

[0123] When the line card side receives a main control multi-slice message, it directly transmits it to the processing module of the corresponding port of the line card according to the slice information; when the main control side receives a line card message, it transmits it only according to the specified slice. That is, when the main control single board receives a message from the line card, regarding the message interaction with the line card port resource, if the information contained within the port itself is general slice information, it transmits it directly.

[0124] Example 5

[0125] As illustrated in FIG. 9, when line card resources are limited, the line card can only support a virtualized single-slice system. When a line card with limited resources is assigned to a general slice in a port-level manner, the slice information obtained by the global module and service module from the line card with limited resources, regardless of whether it is physical or logical, is still the management slice VND0.

[0126] When a resource-constrained line card is assigned to a general slice via a port-level method, the single board still physically and logically belongs to the management slice VND0, but the port resources assigned to the slice logically belong to the general slice. After some ports of the line card are logically assigned to the general slice VNDx, the interaction between these ports and the main control information must be transmitted to the general slice VNDx to which they belong. When the main control receives a report regarding this port information, it first queries the slice attributes of the ports according to the second adaptation layer (resource management adaptation layer), and then the management slice VND0 transmits the information to the corresponding general slice VNDx to which the resources belong via the first adaptation layer (communication adaptation layer). When the main control general slice VNDx information is transmitted, adaptation processing must be added to the main control. After transmitting the information of the general slice VNDx to the management slice VND0 via the first adaptation layer (communication adaptation layer), information interaction between the main control management slice and the line card's management slice is implemented, and the line card does not need to detect the existence of the main control multi-slice entity.

[0127] When the main control single board receives a message from a line card, regarding the message interaction of the line card port resource, if the port itself contains management slice information, adaptive delivery must be performed by additionally querying the resource attributes of the said port.

[0128] Example 6

[0129] Figure 10 shows that a line card with sufficient resources is allocated to a general slice using a port sharing method. Taking a PON line card as an example, the physical port of the PON line card supports shared allocation, and this line card supports a multi-slice entity process, and after this line card PON port completes the simultaneous partitioning of multiple slices, it is equivalent to supporting the implementation of an ONU-level slice. Since the ONU is placed on the device at the PON physical port, if the PON belongs to VND0, the ONU device placed under the PON port in VND0 belongs to VND0; and after the PON port is allowed to be shared by VNDx, the ONU device placed under the shared PON port in VNDx belongs to VNDx. Since multiple ONU devices can be placed under a single PON physical port, after such implementation, ONU-level slice placement is supported; that is, multiple ONU devices under a single PON physical port can be flexibly placed in different slices according to actual requirements, and the ONU device can belong entirely to this slice and is transparent to all other slices, including a management slice, which significantly improves the flexibility of application configuration.

[0130] The partitioning operation for the port sharing method practically involves adding the aforementioned port resource to the general slice VNDx or deleting it from there; however, for the managed slice VND0, no addition or deletion operations are required, and it is sufficient to simply change the allocation method of the port resource in the managed slice from the shared method to the exclusive method. Compared to the port exclusive partitioning, the actual operation involves deleting the port resource from the managed slice VND0 and then adding the port resource to the general slice VNDx. As can be seen from the comparison, the port allocation operation in the exclusive method involves the management slice and the general slice existing mutually exclusively, whereas the port allocation in the shared method involves the port existing in both the managed slice and the general slice; however, after port sharing allocation, for each allocated slice, the task is logically still used exclusively.

[0131] Example 7

[0132] Figure 11 illustrates a resource-limited line card being allocated to a general slice using a port sharing method. Taking a resource-limited uplink board port as an example, the uplink board port supports shared allocation to multiple slices, and since a single physical uplink port logically supports multiple IP network accesses, it significantly saves single-board uplink port resources and improves system integration. There are two main differences between a resource-limited line card physical port supporting shared allocation and a resource-sufficient line card physical port supporting shared allocation. One is that the resource-constrained line card is still a single entity process, and the other is that the interaction between the line card and the main control virtualization multi-slice system requires adaptation of the second adaptation layer (resource management adaptation layer) on the main control single board. Additionally, after the uplink port supports sharing, and after the device connected to the uplink port supports end-to-end virtualization, if flow interaction is transmitted through the uplink port, a single physical uplink port can be implemented and services can be provided for multiple logical OLT slice systems through means of installing different VLANs (Virtual Local Area Networks), etc.

[0133] The allocation of the port in the shared mode effectively involves adding or deleting the aforementioned port resource to the general slice VNDx; however, for the managed slice VND0, no addition or deletion operations are required, and it is sufficient to simply change the allocation method of the port resource in the managed slice from the shared mode to the exclusive mode. Compared to the port exclusive mode partitioning, the actual operation involves deleting the port resource from the managed slice VND0 and then adding it to the general slice VNDx. As can be seen from the comparison, the port allocation in the exclusive mode involves the management slice and the general slice existing mutually exclusively, whereas the port allocation in the shared mode involves the port existing in both the managed slice and the general slice; however, after port sharing allocation, the task in each allocated slice is logically still used exclusively.

[0134] Example 8

[0135] As illustrated in FIG. 12, in a virtualized multi-slice system, the start and loading timing of the management slice VND0 and the general slice VNDx on the main control single board have a sequential relationship. VND0 starts with priority over VNDx, and multiple VNDx slices can start simultaneously. VND0 triggers the start of VNDx when a configuration file is loaded, and the configuration file loading timing owned by VNDx is completed depending on the addition of resources allocated by the VNDx slice to the service module, and other processes are basically consistent and can be implemented by reusing code.

[0136] The AppMain module primarily represents the overall entry point of the slice entity process; the SysCtl module primarily represents the system control portion of the slice entity process and is mainly used for maintaining, validating, and controlling single-board global data; the DB module primarily represents the database module of the slice entity process and is mainly used for initializing the slice entity database and loading, validating, and controlling the configuration file of this slice; the PON module primarily represents the general-purpose service module of the OLT system and does not specifically refer to PON services, but primarily represents the validation timing of service module data.

[0137] When the main control single board starts, the management slice VND0 starts first (it should be noted that in this example, the management slice VND0 acts as a carrier for some common modules in addition to having slice functions), and in other implementations, the common modules for the single board can be managed by a single process or process entity (assuming it is an SC (System Control) entity), and the management slice VND0 may exist as a “general slice,” in which case when the system starts, the SC entity starts first, and then VND0 and VNDx start simultaneously, and the configuration loading timing of the SC entity follows the loading timing shown in Fig. 12 in principle. Furthermore, in this architecture, VND0 still differs from VNDx, because VND0 still exists as the management entity of slice VNDx, and after the initial loading of the management slice VND0 starts, the loading of the general slice VNDx is triggered, and whether the loading of the general slice VNDx is triggered depends entirely on the configuration command of the configuration module.

[0138] When the main control management slice VND0 starts, the basic slice instance start parameters do not include a slice ID parameter. If the slice ID parameter is missing when the system starts, the system defaults the current slice to VND0. After the management slice VND0 process is pulled up, a series of key modules on a single board are initialized. Once initialization is complete, a notification is sent to supply power to the key modules. Upon receiving the power supply notification, each key module performs its own initialization. After the initialization of the system control module (SysCtl module) is complete, the DB module is started and notified to load the configuration file of the current slice, thereby enabling the distribution of configuration commands. At this time, if slice commands are involved, the system control module receives the slice operation command and directly triggers the validation of the slice commands. Then, when the DB module completes loading, it notifies the system control module of the loading completion via a message. Next, if a power supply message regarding the start of the board card exists, the system control module notifies the PON service module to configure the board card, and after the service configuration is successfully validated, it responds to the system control module, at which time the system control module updates and maintains information such as the board card status of the power supply line card.

[0139] When the main control management slice VND0 starts and loads the configuration, the general slice VNDx starts. At this time, the general slice VNDx process is pulled up, and the process image of the general slice VNDx is identical to that of the management slice VND0. The difference is that at startup, the slice includes different corresponding slice ID parameters. After the slice VNDx starts, the current slice environment context is the specified slice. There is a difference between the initialization of the general slice VNDx and the management slice, and neither global nor system data initialization is mentioned (global and system data exist only in the management slice initialization).After Slice VNDx starts and completes initialization, it notifies the key modules to supply power; upon receiving the power supply notification, each key module performs its own initialization; after the PON service module completes initialization, it must notify the system control module; after the system control module receives that the service initialization is complete, the system control module of VNDx transmits a Slice VNDx start message to the system control module of management slice VND0; the VND0 system control module updates key information such as the status of VNDx and PID (Process ID), and then recognizes whether resource allocation exists in the said VNDx slice; if resource allocation exists, the VND0 system control module transmits the resources allocated by the VNDx slice to the system control module of the VNDx slice, the system control module of VNDx obtains the resource data allocated by this slice, and first notifies the PON service module of VNDx to enable it; after the PON service module enables it, it responds to the VNDx system control module, and the VNDx system control module responds Only after receiving the data is the VNDx DB module started and triggered to load the configuration file of the VNDx slice. After the VNDx DB module completes loading and notifies the VNDx system control module, if power is supplied to a single board belonging to the slice, the VNDx system control module notifies the PON service module to supply power to the board card. The service then performs the VNDx slice data configuration for the line card. Once the configuration is complete, the service module notifies the VNDx system control module to update the status. Since there is message interaction between the VNDx system control module and the management slice VND0 system control module, it is convenient for synchronizing the consistency of board card resource data between different slices.

[0140] Since the configuration of a slice VNDx is entirely based on the physical resources allocated by this slice, it must be ensured that the service module first completes the validation of the physical resources allocated by this slice before loading the VNDx slice configuration file; otherwise, if the physical resources do not yet exist for the slice service module, attempting to perform the service configuration directly will result in failure.

[0141] Example 9

[0142] FIG. 13 shows that a resource-sufficient line card supports a virtualized multi-slice system, and cross-board communication is performed between the line card and the main control single board. FIG. 14 shows that a resource-limited line card supports only a virtualized single-slice system, and cross-board communication is performed between the line card and the main control single board.

[0143] Comparing Fig. 13 and Fig. 14, the main difference is still the line card. After a resource-limited line card is allocated to slice VNDx, the line card is still a single entity process. However, at this time, the communication area of ​​the module that is not sensitive to slice in the line card system is switched to VNDx, and the module sensitive to slice still interacts with the main control VND0.

[0144] The main adaptation layer of the main control single board involved in communication primarily comprises two parts. One part is the first adaptation layer (communication adaptation layer), which is primarily used for the main control single board to recognize the message target slice after receiving a cross-board communication message and to accurately deliver the message to the target slice. The other part is the second adaptation layer (resource management adaptation layer), which is primarily used in scenarios involving non-single board level allocation slices (e.g., port level allocation slices). For example, after a port resource of a source-restricted single board is allocated to a slice, and the physical and logical slice IDs of the line card where the resource is restricted are still VND0, the main control single board must additionally determine the slice attributes of the port and accurately deliver the message to the target slice after the service flow regarding the port is transmitted to the main control single board.

[0145] Common modules, such as the main control single-board communication and BSP (Board Support Package), are integrated into the management slice VND0 regardless of whether the line card is a single-entity process or a multi-slice entity process. Cross-board communication related to the line card always interacts with the main control management slice VND0, and in the case of a line card multi-slice entity process, cross-board communication messages received by the line card are always processed by the line card's management slice VND0. The communication modules of the main control and line card VND0 processes must recognize the target slice ID for the received messages and collectively forward the messages to the corresponding slice entity processes. This processing ensures compatibility between virtualized single-slice systems and virtualized multi-slice systems on the one hand, requires only increased inter-slice communication transmission and reception via existing communication protocols on the other, enables rapid implementation of modifications to the existing architecture, reduces development difficulty, and accelerates development progress.

[0146] In the case of multi-slice entity processing on a single board, cross-process communication exists between the managed slice VND0 and the general slice VNDx, while cross-process communication between general slice VNDx is not supported. Furthermore, cross-board communication must, in principle, be restricted to the slice communication area; in the case of cross-board communication specifically designated to be sent to a designated slice, only communication interaction between the general slice VNDx and the managed slice VND0 is supported in principle.

[0147] When multiple slice instances exist on a single board, there are actual data read and write requirements between the service module in the general slice VNDx and the global data control module of the single-board management slice VND0. In this case, the method by which the module of the slice VNDx acquires single-board global data must be adjusted, and the existing function interface call relationship is modified into calls between slice processes; the specific method is not limited to synchronous or asynchronous message interactions.

[0148] After the OLT supports a virtualized multi-slice system, the related communication methods mainly concern communication requirements between slices within a board, communication requirements between slices on board, and the selection of communication protocols between boards. Regarding cross-board communication protocols, theoretically, both methods can be supported and implemented, such as inheriting existing communication protocols and transmitting and receiving collectively by the management slice VND0, or implementing independent protocol stacks for each cross-board slice. Specifically, the choice of which strategy to select can be based on a comprehensive consideration of factors such as the progress of the project and the hardware environment.

[0149] Example 10

[0150] Figure 15 is a schematic diagram of line card state management. As illustrated in Figure 15, several states and transition operations of the line card are primarily described. Line card state maintenance monitors changes in the state of hardware resources in real time, provides the state of hardware resources trusted by upper-layer services, and provides a basis for users to understand the operating status of the system.

[0151] After system control is initialized and before receiving board scan information, each slot enters the UNKNOWN state by default, meaning the hardware status is not yet known; at this time, message interaction events and inter-board communication events are not processed. After the board scan event of a single board is processed, the single board status is set to OFFLINE (no board inserted in the slot) or HWONLINE (a board inserted in the slot). If the online card status is HWONLINE, when the main control single board receives a line card configuration request, if the target slot line card is not configured at that time, the configuration request is ignored; if it is configured, the main control single board checks whether the line card configuration request matches the configuration stored in the main control. If it does not match, the line card status is set to TYPEMISMATCH; if it matches, the configuration is transmitted to the line card, and the single board enters the CONFIGING state. Upon entering the CONFIGING state, the service must be notified that the board is online. After receiving a message that the service configuration is complete, the status is set to INSERVICE (the backup main control status is set to STANDBY).

[0152] After the line card has started up to a certain stage, maintaining heartbeat activation between the line card and the main control can also affect the single board state. The main effect is when the line card state is CONFIGING, INSERVICE (STANDBY), or TYPEMISMATCH. If the heartbeat activation handshake between the main control and the line card fails, the main control acknowledges that communication with the line card is abnormal (communication blocked), and the main control must switch the line card state to HWONLINE.

[0153] In addition, the current system also supports online power cutoff operations for a designated single board via a command method. After a power cutoff command is executed on a line card, the state of the single board is set to the single board power saving POWERSAVE state, at which point the single board is in a reset state.

[0154] After the virtualization multi-slice system is supported, single-board resources are no longer statically bound to the managed slice VND0, and since it is possible to dynamically support the allocation of single-board resources to the general slice VNDx, the single-board state belonging to the said slice can be maintained even in the general slice VNDx system, and a single-board slice-level state must be added to the existing single-board state management structure.

[0155] The HWONLINE / OFFLINE status of the single board slice level is still determined by the board scan in the management slice VND0, and the board scan is either in place or not. In addition to setting the board-level single board status to HWONLINE / OFFLINE, the management slice VND0 must also set the slice-level status of the general slice VNDx to which the single board belongs to HWONLINE / OFFLINE according to the resource slice attributes of the single board. The CONFIGING status of the single board slice level is triggered and transitioned by the line card Cardup ​​(power supply) message of the main control general slice VNDx. Simultaneously, the service in the general slice VNDx performs service configuration processing after receiving the system Cardup ​​message. Once the service configuration validation is complete, it notifies the system board card management module in the general slice VNDx, and the single board is updated from the single board slice-level status in the general slice VNDx to the INSERVICE status.

[0156] When a resource-restricted line card is assigned to Slice VNDx, since only the VND0 slice entity process exists for the line card and the VNDx slice entity process does not exist, the board card status of the resource-restricted line card cannot be implemented through the existing method in the management method within VNDx. When performing the operation to assign the resources of the resource-restricted line card to Slice VNDx from the management slice VND0, the operation to update the status of the line card in the VNDx slice must be performed simultaneously. Based on the physical status of the line card in VND0, a mock report is made to the VNDx slice system control module of the main control single board. The default board card status of the resource-restricted line card in the VNDx slice remains in the UNKNOWN state. When allocating resources, if the physical status corresponding to the current line card is OFFLINE, ONLINE, or TYPEMISMATCH, the board card in the VNDx slice corresponding to the line card is directly set to the corresponding state. If the physical status of the current line card is CONFIGING or INSERVECE, the board card in the VNDx slice corresponding to the line card is first set to ONLINE After setting the state collectively, the VND0 system control module simulates the Cardup ​​power supply message of the line card to the VNDX system control module, and then the VNDX system control module informs the VNDX service to enable the operation of the line card; subsequently, the result of the VNDX service module's enablement directly affects the board card state of the line card in the VNDX slice, and the subsequent state change corresponds to the board card state change in VND0.

[0157] When a single board resource belongs to a general slice VNDx, when a change in the physical state of the single board is involved, the slice-level state of the single board is synchronized with the board-level state of the single board in the management slice; when a change in the activation state of the single board service is involved, the slice-level state of the single board depends entirely on the actual activation status of the service belonging to the slice; the processing process is entirely consistent with the management slice VND0; and the processing process is entirely reused.

[0158] Those skilled in the art will understand that all or some steps of the method disclosed above, or functional modules / units of a system or device, may be implemented in software, firmware, hardware, and appropriate combinations thereof. In hardware embodiments, the distinction between functional modules / units mentioned in the above description does not necessarily correspond to a distinction between physical components; for example, a single physical component may have multiple functions, or a single function or step may be performed by a combination of multiple physical components. Some or all physical components may be implemented as software executed by a processor such as a central processing unit, a digital signal processor, or a microprocessor, or may be implemented in hardware, or may be implemented in an integrated circuit such as an application-oriented integrated circuit. Such software may be distributed on a computer-readable medium, and the computer-readable medium may include a computer storage medium (or a non-transient medium). As known to those skilled in the art, the term "computer storage medium" includes volatile and non-volatile, removable and non-removable media implemented in any method or technique for storing information (e.g., computer-readable instructions, data structures, program modules or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital multi-purpose disc (DVD) or other optical disc storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or other media capable of storing desired information and also accessible by a computer.

[0159] It should be noted that the present invention may have various other embodiments, and those skilled in the art may make various corresponding changes and modifications according to the present invention without departing from the spirit and essence of the present invention, but all such corresponding changes and modifications must fall within the scope of protection of the claims appended to the present invention. Explanation of the symbols

[0160] 301: Resource allocation module 302: Communication module

Claims

Claim 1 A virtualization method applied to a main control single board, comprising the step of allocating resources of a line card single board to a slice of a virtualization system of the main control single board, wherein the slice includes a management slice and / or a general slice; and the step of implementing cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through communication between the management slice of the main control single board and the management slice of the line card single board; wherein the step of implementing cross-board communication between the virtualization system of the main control single board and the virtualization system of the line card single board through communication between the management slice of the main control single board and the management slice of the line card single board comprises the step of performing data transfer between the general slice of the main control single board and the virtualization system of the line card single board by using the management slice of the main control single board as a communication proxy of the virtualization system of the main control single board after the resources of the line card single board are allocated to the general slice of the main control single board. Claim 2 A virtualization method according to claim 1, wherein the step of allocating the resources of the line card single board to a slice of the virtualization system of the main control single board comprises: the step of allocating the resources of the line card single board to a management slice or a general slice of the main control single board in a board-level granularity; or the step of allocating the resources of the line card single board to a management slice or a general slice of the main control single board in a port-level granularity and port exclusive manner; or the step of allocating the resources of the line card single board to a management slice and a general slice of the main control single board in a port-level granularity and port sharing manner. Claim 3 delete Claim 4 In claim 1, the step of performing data transfer between a general slice of a main control single board and a virtualization system of a line card single board by using a management slice of the main control single board as a communication proxy of the virtualization system of the main control single board comprises the step of transferring the data to a general slice of the main control single board corresponding to the general slice of the line card single board when the management slice of the main control single board receives data from the virtualization system of the line card single board, and when the data includes identification information of the general slice of the line card single board; wherein the line card single board is configured as a virtualization multi-slice system; wherein the virtualization multi-slice system includes a management slice and a general slice; and wherein the general slice of the line card single board and the general slice of the main control single board have a one-to-one correspondence relationship. Claim 5 A virtualization method according to claim 1, wherein the step of performing data transfer between a general slice of a main control single board and a virtualization system of a line card single board by using a management slice of the main control single board as a communication proxy of the virtualization system of the main control single board comprises: a step of querying the resource allocation granularity of the line card single board when the management slice of the main control single board receives data from the virtualization system of the line card single board, and when the data includes identification information of the management slice of the line card single board; and a step of determining the general slice of the main control single board to which the line card single board belongs and transferring the data to the general slice of the main control single board when the resource allocation granularity of the line card single board is a board-level granularity; and a step of determining the general slice of the main control single board to which the line card single board belongs and transferring the data to the general slice of the main control single board when the resource allocation granularity of the line card single board is a port-level granularity. Claim 6 A virtualization method according to claim 1, wherein the step of performing data transfer between a general slice of a main control single board and a virtualization system of a line card single board by using a management slice of the main control single board as a communication proxy of the virtualization system of the main control single board comprises: a step in which the general slice of the main control single board transmits data to be transmitted to the line card single board to the management slice of the main control single board; and, if the line card single board is a virtualization multi-slice system, the management slice of the main control single board transmits the data to be transmitted to the management slice of the line card single board; and, if the line card single board is a virtualization single-slice system, the management slice of the main control single board modifies the slice attribute of the data to be transmitted to the management slice of the line card single board and transmits the data to be transmitted to the management slice of the line card single board. Claim 7 A virtualization method according to claim 1, further comprising the step of a management slice of the main control single board maintaining state information of the line card single board and synchronizing the state information of the line card single board with a general slice of the main control single board to which the resource of the line card single board belongs. Claim 8 A virtualization method applied to a line card single board, comprising the step of configuring a virtualization multi-slice system or a virtualization single-slice system on the line card single board according to the amount of resources of the line card single board - wherein the virtualization multi-slice system includes a management slice and a general slice, and the virtualization single-slice system includes a management slice -; and the step of implementing cross-board communication between the virtualization system of the line card single board and the virtualization system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board, and wherein, after the resources of the line card single board are allocated to the general slice of the main control single board, when the line card single board is configured as a virtualization single-slice system, the virtualization method transmits data to the management slice of the main control single board through the management slice of the line card single board. Claim 9 A virtualization method according to claim 8, wherein the step of configuring a virtualization multi-slice system or a virtualization single-slice system on the line card single board according to the resource amount of the line card single board comprises: the step of configuring a virtualization multi-slice system on the line card single board when the resource amount of the line card single board indicates that the resource is sufficient; and the step of configuring a virtualization single-slice system on the line card single board when the resource amount of the line card single board indicates that the resource is limited. Claim 10 delete Claim 11 In claim 8, after the resources of the line card single board are allocated to the general slice of the main control single board, when the line card single board is configured as a virtualized multi-slice system, data is transmitted to the management slice of the main control single board through the management slice of the line card single board, and includes identification information of the general slice of the line card single board; and the general slice of the line card single board and the general slice of the main control single board have a one-to-one correspondence relationship. Claim 12 A virtualization method according to claim 8, wherein resources of a line card single board are allocated to a management slice or a general slice of a main control single board in a board-level granularity; or resources of a line card single board are allocated to a management slice or a general slice of a main control single board in a port-level granularity and port exclusive manner; or resources of a line card single board are allocated to a management slice and a general slice of a main control single board in a port-level granularity and port sharing manner. Claim 13 In claim 8, the step of implementing cross-board communication between the virtualization system of the line card single board and the virtualization system of the main control single board through communication between the management slice of the line card single board and the management slice of the main control single board comprises: when the line card single board is a virtualization multi-slice system, the management slice of the line card single board receives data transmitted by the management slice of the main control single board, and if the data actually belongs to the management slice of the line card single board, the management slice of the line card single board processes the data; and when the data actually belongs to the general slice of the line card single board, the management slice of the line card single board transmits the data to the general slice of the line card for processing; and when the line card single board is a virtualization single-slice system, the management slice of the line card single board receives and processes data transmitted by the management slice of the main control single board. Claim 14 A virtualization device comprising a memory, a processor, and a virtualization program stored in said memory and executable on said processor, wherein when said virtualization program is executed by said processor, the virtualization device implements the steps of a virtualization method according to any one of said claims 1, 2, 4 through 9, and 11 through 13. Claim 15 A non-transient computer-readable storage medium in which a virtualization program is stored, wherein the non-transient computer-readable storage medium implements the steps of a virtualization method according to any one of claims 1, 2, 4 through 9, and 11 through 13 when said virtualization program is executed by a processor.

Citation Information

Patent Citations

  • Virtualization method for optical line terminal (OLT) device, and related device

    WO2018157299A1