Multi-user-oriented customized network topology generation method and device

By generating a public network topology and aggregating performance metrics, the problems of data redundancy and wasted computing resources in multi-user network topology generation are solved, achieving efficient data loading and display.

CN122069191APending Publication Date: 2026-05-19CHINA MOBILE GRP GUANGDONG CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA MOBILE GRP GUANGDONG CO LTD
Filing Date
2026-01-29
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

In multi-user scenarios, existing network topology generation methods lead to a surge in data volume, huge memory consumption, slow data loading, and serious waste of computing resources, affecting user experience and operational efficiency.

Method used

By acquiring device and link information in real time, generating a public network topology based on custom topology rules, performing periodic aggregation calculations of performance indicators, and visually rendering and displaying them, the reuse of public resources and pre-aggregation of performance indicators are realized.

Benefits of technology

It significantly reduces data storage requirements and improves data loading efficiency, making it suitable for large-scale network operation and maintenance scenarios, thereby enhancing user experience and operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122069191A_ABST
    Figure CN122069191A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of infrastructures, and particularly provides a multi-user-oriented customized network topology generation method and device. The method comprises the following steps: acquiring device information of a plurality of devices and link information of a plurality of links in a network in real time, and self-defined topology rules of a plurality of users; the self-defined topology rule comprises a vertex screening condition and a line connection rule; screening a plurality of pieces of vertex equipment from the plurality of pieces of equipment based on a vertex screening condition, and determining a plurality of vertex links based on a connection rule to generate a self-defined network topology of each user; the method comprises the following steps: constructing a public network topology consisting of a plurality of public vertexes and a plurality of public links based on customized network topologies of a plurality of users, and establishing a mapping relationship between each public vertex and vertex equipment and a mapping relationship between each public link and a vertex link; based on the equipment information and the link information, performing periodic aggregation calculation of performance indexes on each public vertex and each public link to generate public aggregation index data; and in response to a topology display request of a target user in the plurality of users, calling the public vertex, the public link and the public aggregation index data corresponding to the custom network topology of the target user based on the mapping relationship, and performing visual rendering and display. According to the method and the device, multi-user customized network topology can be supported, the data storage amount is reduced, and the data loading efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of infrastructure technology, and in particular to a method and apparatus for generating custom network topologies for multiple users. Background Technology

[0002] Network topology is a core element of network operation and maintenance management. It visually represents the devices in the network and their interconnections. An accurate network topology view is crucial for network monitoring, fault location, performance optimization, and capacity planning.

[0003] In related technologies, network topology is usually customized according to business scenarios. However, in multi-user scenarios, user-defined topologies, due to their large network scale and increased number of topology graphs, lead to a surge in data volume. Due to defects in the implementation methods, this results in extremely high memory consumption and slow data loading. Summary of the Invention

[0004] This disclosure is made in view of the above-mentioned problems. This disclosure provides a method and apparatus for generating custom network topologies for multiple users.

[0005] According to one aspect of this disclosure, a method for generating a custom network topology for multiple users is provided, comprising: The system acquires in real time device information of multiple devices in the network, link information of multiple links connecting the multiple devices, and custom topology rules of multiple users; wherein, the custom topology rules include vertex filtering conditions for defining vertex filtering and connection rules for defining the connection relationship between vertices. Based on the vertex filtering conditions, multiple vertex devices are filtered from the multiple devices, and multiple vertex links between the multiple vertex devices are determined based on the connection rules to generate a custom network topology for each user. The vertex devices and vertex links in the user-defined network topologies of the multiple users that have the same vertex filtering conditions and connection rules are mapped to common vertices and common links. A common network topology composed of multiple common vertices and multiple common links is constructed, and a mapping relationship is established between each common vertex and the corresponding vertex device in the user-defined network topology of the multiple users, and between each common link and the corresponding vertex link in the user-defined network topology of the multiple users. Based on the device information and the link information, periodic aggregation calculations of performance indicators are performed on each common vertex and each common link to generate common aggregation indicator data; In response to the topology display request of the target user among the multiple users, the system calls the common vertices, common links and common aggregate index data corresponding to the target user's custom network topology based on the mapping relationship, and performs visualization rendering and display.

[0006] According to another aspect of this disclosure, an apparatus for generating custom network topologies for multiple users is provided, comprising: The acquisition module is used to acquire in real time device information of multiple devices in the network, link information of multiple links connecting the multiple devices, and custom topology rules of multiple users; wherein, the custom topology rules include vertex filtering conditions for defining vertex filtering and connection rules for defining the connection relationship between vertices. The topology configuration module is used to filter multiple vertex devices from the multiple devices based on the vertex filtering conditions, determine multiple vertex links between the multiple vertex devices based on the connection rules, and generate a custom network topology for each user. The processing module is used to map vertex devices and vertex links in the custom network topologies of the multiple users that have the same vertex filtering conditions and connection rules to common vertices and common links, construct a common network topology composed of multiple common vertices and multiple common links, and establish a mapping relationship between each common vertex and the corresponding vertex device in the custom network topology of the multiple users, and between each common link and the corresponding vertex link in the custom network topology of the multiple users; The processing module is also used to perform periodic aggregation calculations of performance indicators for each common vertex and each common link based on the device information and the link information, and generate common aggregation indicator data; The display module is used to respond to the topology display request of the target user among the multiple users, and to call the common vertices, common links and common aggregate index data corresponding to the custom network topology of the target user based on the mapping relationship, and to perform visualization rendering and display.

[0007] In another aspect of exemplary embodiments of this disclosure, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory, the processor executing the computer program to implement the methods described in exemplary embodiments of this disclosure.

[0008] In another aspect of exemplary embodiments of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the methods described in exemplary embodiments of the present disclosure.

[0009] In another aspect of the exemplary embodiments of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the methods described in the exemplary embodiments of this disclosure.

[0010] As will be described in detail below, the method for generating a custom network topology for multiple users according to embodiments of this disclosure acquires in real time device information of multiple devices in the network, link information of multiple links connecting multiple devices, and custom topology rules of multiple users. The custom topology rules include vertex filtering conditions for defining vertex selection and connection rules for defining the connection relationships between vertices. Multiple vertex devices are selected from the multiple devices based on the vertex filtering conditions, and multiple vertex links between the multiple vertex devices are determined based on the connection rules, generating a custom network topology for each user. Vertex devices and vertex links in the custom network topologies of multiple users with consistent vertex filtering conditions and connection rules are mapped to common vertices and common links, constructing a network topology composed of multiple common vertices and multiple common links. The system establishes a public network topology and maps each public vertex to the corresponding vertex devices in the custom network topologies of multiple users, as well as each public link to the corresponding vertex links in the custom network topologies of multiple users. Based on device and link information, it periodically aggregates and calculates performance metrics for each public vertex and link, generating public aggregated metric data. In response to a topology display request from a target user among multiple users, it calls the public vertices, public links, and public aggregated metric data corresponding to the target user's custom network topology based on the mapping relationship, and performs visualization rendering and display. While supporting multi-user custom network topologies, it reduces data storage volume and significantly improves data loading efficiency through public resource reuse and performance metric pre-aggregation, making it suitable for large-scale network operation and maintenance scenarios.

[0011] It should be understood that both the foregoing general description and the following detailed description are exemplary and intended to provide further illustration of the claimed technology. Attached Figure Description

[0012] The above and other objects, features, and advantages of this disclosure will become more apparent from the more detailed description of the embodiments thereof in conjunction with the accompanying drawings. The drawings are provided to further illustrate the embodiments of this disclosure and form part of the specification. They are used together with the embodiments of this disclosure to explain the disclosure and do not constitute a limitation thereof. In the drawings, the same reference numerals generally represent the same components or steps.

[0013] Figure 1 A flowchart illustrating a method for generating a custom network topology for multiple users, provided in an exemplary embodiment of this disclosure, is shown. Figure 2A schematic diagram of the structure of a multi-user custom network topology generation apparatus provided in an exemplary embodiment of this disclosure is shown. Figure 3 A schematic diagram of the structure of an electronic device provided in an exemplary embodiment of this disclosure is shown; Figure 4 A schematic diagram of the structure of a computer system provided in an exemplary embodiment of this disclosure is shown. Detailed Implementation

[0014] To make the objectives, technical solutions, and advantages of this disclosure more apparent, exemplary embodiments according to this disclosure will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this disclosure, and not all embodiments of this disclosure. It should be understood that this disclosure is not limited to the exemplary embodiments described herein.

[0015] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.

[0016] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc., used in this disclosure are only used to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.

[0017] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0018] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0019] In network operations and maintenance management, Network Management Systems (NMS) or dedicated network topology discovery tools are widely used to automate the generation and updating of network topology maps. These tools typically combine the functionalities of protocols such as Interior Gateway Protocol (IGP), Border Gateway Protocol (BGP), and Simple Network Management Protocol (SNMP) to scan the network, discover devices and network connections, and generate visual network topology maps. Through these topology maps, network administrators can intuitively understand the network structure, troubleshoot problems, and optimize the network.

[0020] In related technologies, the vertices and lines of the network topology are generated according to specific rules of the business scenario, and the network topology is mostly implemented through hard coding. However, with the continuous expansion of network scale and the increasing complexity of operation and maintenance scenarios, especially with the need to support multiple users (such as different operation and maintenance teams, business departments, or tenants) to customize network views, the related technical solutions have exposed the following significant shortcomings: Rigid customization and high maintenance costs: Most current mainstream network topology generation methods are hard-coded for specific business scenarios. The rules for generating topology vertices (devices or device groups) and connections (link aggregations) are fixed in the program code. Whenever a topology view needs to be created for a new user or a new perspective, a lot of customization development is required. This approach is not only inflexible, but also the development and maintenance costs of the system rise sharply as the number of customized views increases.

[0021] Data redundancy and inefficient storage: In multi-user scenarios, different users may define logically similar topology views based on the same network infrastructure (e.g., multiple departments need to view the "Beijing-Shanghai core backbone link"). Related technologies typically store all underlying devices, link data, and performance metrics separately for each user's view, leading to significant data redundancy and a severe waste of storage resources.

[0022] Wasted computing resources and real-time bottlenecks: When a user requests to load their custom topology, the system needs to filter, correlate, and calculate aggregate metrics (such as total bandwidth and average latency) from massive amounts of underlying device and link data in real time according to view rules. This process involves a large amount of real-time computing and data processing. As the network scale increases and the complexity of the view increases, the computing load becomes extremely heavy, resulting in slow topology data loading and high view rendering latency, which seriously affects user experience and operational efficiency.

[0023] Excessive memory consumption: When rendering large network topologies, the system consumes a great deal of memory because all underlying objects and their detailed data involved in the view need to be loaded into memory. This limits the size of the network that can be displayed at one time and has become the main bottleneck of system performance.

[0024] In summary, the relevant technologies suffer from key problems when dealing with the generation and display of multi-user, customizable, and large-scale network topologies, including insufficient flexibility, high data and computational redundancy, huge consumption of system resources (storage, computing, and memory), and poor response performance.

[0025] Therefore, in order to solve the above problems, this disclosure provides a method for generating custom network topologies for multiple users, which can significantly reduce system resource overhead and improve the efficiency of generating and displaying large-scale network topologies while meeting users' flexible customization needs.

[0026] The method for generating a custom network topology for multiple users provided in this disclosure can be executed by a terminal or by a chip applied to the terminal.

[0027] For example, the aforementioned terminal may include one or more of the following: mobile phone, tablet computer, wearable device, in-vehicle device, laptop computer, ultra-mobile personal computer (UMPC), netbook, handheld computer (PDA), and wearable device based on augmented reality (AR) and / or virtual reality (VR) technology. The exemplary embodiments disclosed herein do not impose specific limitations on these.

[0028] Figure 1 A flowchart illustrating a method for generating a custom network topology for multiple users, provided in an exemplary embodiment of this disclosure, is shown. Figure 1 As shown, the method for generating a custom network topology for multiple users includes: S101, real-time acquisition of device information of multiple devices in the network, link information of multiple links connecting multiple devices, and custom topology rules of multiple users; wherein, the custom topology rules include vertex filtering conditions for defining vertex filtering and connection rules for defining the connection relationship between vertices; S102: Based on vertex filtering conditions, multiple vertex devices are filtered from multiple devices; based on connection rules, multiple vertex links between multiple vertex devices are determined; and a custom network topology for each user is generated. S103, map vertex devices and vertex links in the custom network topologies of multiple users that have the same vertex filtering conditions and connection rules to common vertices and common links, construct a common network topology composed of multiple common vertices and multiple common links, and establish the mapping relationship between each common vertex and the corresponding vertex device in the custom network topology of multiple users, as well as between each common link and the corresponding vertex link in the custom network topology of multiple users. S104, based on device information and link information, periodically aggregate and calculate the performance indicators of each common vertex and each common link to generate common aggregate indicator data; S105 responds to the topology display request of the target user among multiple users, and calls the common vertices, common links and common aggregation index data corresponding to the target user's custom network topology based on the mapping relationship, and performs visualization rendering and display.

[0029] Specifically, embodiments of this disclosure can collect resource information and topology information in the network in real time. The resource information may include device information of multiple devices and link information of multiple links connecting multiple devices. The topology information may include custom topology rules of multiple users, which can be used to generate custom network topologies corresponding to each user.

[0030] The aforementioned device information can include the basic attributes and performance metrics of each device in the network. Basic attributes include, but are not limited to, device server address, device name, device model, device manufacturer, device location, and device system version. Performance metrics include, but are not limited to, at least one of CPU utilization, memory utilization, and board temperature. Multiple devices in the network can be discovered using the IGP protocol.

[0031] The aforementioned links (also called circuits) reflect the connection relationships between various devices. The link information (also called circuit information) can include basic link information and link performance metrics. Basic link information refers to the physical or logical connection information between devices in the network, including circuit name, devices at both ends (e.g., device at circuit A (starting end) and device at circuit B (ending end)) and ports (e.g., port at circuit A and port at circuit B). Link performance metrics can include, but are not limited to, at least one of port flow rate, bandwidth utilization, and latency. Links between multiple devices can be discovered using the IGP protocol.

[0032] The aforementioned multiple users can refer to all users in the network or a selected subset of users, depending on the actual application scenario. This disclosure does not impose specific limitations on this. The aforementioned custom topology rules can be topology generation conditions set by each user according to business needs, including vertex filtering conditions and connection rules, used to define the display hierarchy and content of the topology; wherein, vertex filtering conditions can define how to filter multiple vertex devices from multiple devices, and connection rules can define how to connect multiple vertex devices (such as link aggregation rules connecting two vertex devices).

[0033] This disclosure embodiment can select devices that meet the vertex filtering criteria from a full range of devices in the network, based on vertex filtering conditions, to serve as multiple vertex devices (also called vertices) in the user's custom network topology; then, based on connection rules, determine the connection relationships between the multiple vertex devices to form multiple vertex links, thereby generating a custom network topology unique to each user. This custom network topology can be a network structure diagram reflecting the user's business perspective. Here, the custom network topologies of multiple users in the network can be obtained through the Border Gateway Protocol-Link State (BGP-LS protocol).

[0034] In this custom network topology, a vertex device represents a logical node, such as a single device or multiple devices in a city or region. The connections between vertex devices are called vertex links. A logical link between two vertex devices may correspond to one or more actual circuits, depending on the specific scenario. This disclosure does not impose any specific limitations on this.

[0035] This disclosure embodiment can identify devices contained in vertices and circuits contained in connections in resource data based on user-defined topology rules. An example is given below, assuming the network has multiple devices as shown in Table 1 and multiple circuits as shown in Table 2. Table 1 shows a list of multiple devices provided in this disclosure embodiment, and Table 2 shows a list of multiple circuits between the multiple devices provided in this disclosure embodiment.

[0036] Table 1 List of multiple devices

[0037] Table 2 List of multiple circuits between multiple devices

[0038] Combining Tables 1 and 2, it can be seen that for UP1 vertex (node ​​= Beijing, device attribute = backbone network device), based on the custom topology rules and the current device data, it can be calculated that it contains two devices: BJBJ-BB-DEV1 and BJBJ-BB-DEV2.

[0039] For UP2 vertex (node ​​= Shanghai, device attribute = backbone network device), based on the custom topology rules and the current device data, it can be calculated that it contains two devices: SHSH-BB-DEV3 and SHSH-BB-DEV4.

[0040] For UP3 vertex (node ​​= Guangzhou, device attribute = backbone network device), based on the custom topology rules and the current device data, it can be calculated that it contains one device: GDGZ-BB-DEV5.

[0041] Based on the devices contained in vertex UP1, the devices contained in vertex UP2, and the circuits between these devices, it is known that the connection UP1-UP2 contains two circuits: BJBJ-BB-DEV1 (GE1 / 0 / 1) to SHSH-BB-DEV3 (GE1 / 0 / 1) and BJBJ-BB-DEV2 (GE1 / 0 / 1) to SHSH-BB-DEV4 (GE1 / 0 / 1).

[0042] Based on the devices contained in vertex UP2, the devices contained in vertex UP3, and the circuits between these devices, it is known that the connection UP2-UP3 contains two circuits: SHSH-BB-DEV3 (GE1 / 0 / 2) to GDGZ-BB-DEV5 (GE1 / 0 / 2) and SHSH-BB-DEV4 (GE1 / 0 / 2) to GDGZ-BB-DEV5 (GE1 / 0 / 3).

[0043] For custom network topologies defined by multiple users, vertex devices and links with identical vertex filtering conditions and connection rules are mapped to common vertices and common links. In other words, for vertex devices and links with completely identical vertex filtering conditions and connection rules, these vertex devices are merged and extracted into common vertices, and these vertex links are merged and extracted into common links, forming a common, deduplicated public network topology. Simultaneously, the mapping relationships between each common vertex in the public network topology and its corresponding vertex devices in the multiple users' custom network topologies, as well as the mapping relationships between each common link in the public network topology and its corresponding vertex links in the multiple users' custom network topologies, are recorded. At this point, the public network topology serves as a shared resource, facilitating subsequent unified management and data reuse. By extracting shared resources, the configuration and performance data of duplicate custom topology rules defined by multiple users can be reduced, thereby lowering the overall system data storage volume.

[0044] The aforementioned device and link information can be collected in real time. Therefore, this embodiment can perform periodic aggregation calculations of performance indicators for each common vertex and each common link based on the device and link information, generating common aggregation indicator data. The relevant content of the performance indicators is described above and will not be repeated here. The aggregation calculation method includes, but is not limited to, at least one of summation, averaging, and maximum value. The aggregation calculation period can be set according to actual business needs, and this embodiment does not specifically limit it. In the method of this embodiment, the aggregation calculation period can be 5 minutes. That is, this embodiment can perform periodic aggregation calculations of performance indicators for each common vertex and each common link every 5 minutes based on the device and link information.

[0045] The target user can be any one of multiple users. When a target user requests to view the custom network topology corresponding to the custom topology rules set by that user, a topology display request can be generated. In response to this topology display request, based on the previously established mapping relationship, the common vertices, common links, and their common aggregation index data corresponding to the user's custom network topology in the public network topology are quickly found, and then graphically rendered and displayed to the user through the front-end interface.

[0046] Based on this, the method for generating custom network topologies for multiple users provided in this disclosure not only supports multi-user custom network topologies, but also reduces data storage volume and significantly improves data loading efficiency by reusing common resources and pre-aggregating performance indicators, making it suitable for large-scale network operation and maintenance scenarios.

[0047] According to the technical solution of the exemplary embodiments of this disclosure, device information of multiple devices in the network and link information of multiple links connecting multiple devices, as well as custom topology rules of multiple users, are acquired in real time. The custom topology rules include vertex filtering conditions for defining vertex selection and connection rules for defining the connection relationships between vertices. Multiple vertex devices are selected from the multiple devices based on the vertex filtering conditions, and multiple vertex links between the multiple vertex devices are determined based on the connection rules, generating a custom network topology for each user. Vertex devices and vertex links in the custom network topologies of multiple users with consistent vertex filtering conditions and connection rules are mapped to common vertices and common links, constructing a common network topology composed of multiple common vertices and multiple common links, and establishing... This system establishes mapping relationships between each common vertex and the corresponding vertex devices in the custom network topologies of multiple users, as well as between each common link and the corresponding vertex links in the custom network topologies of multiple users. Based on device and link information, it performs periodic aggregation calculations of performance metrics for each common vertex and each common link, generating common aggregation metric data. In response to a topology display request from a target user among multiple users, it calls the common vertices, common links, and common aggregation metric data corresponding to the target user's custom network topology based on the mapping relationship, and performs visualization rendering and display. While supporting multi-user custom network topologies, it reduces data storage volume and significantly improves data loading efficiency through common resource reuse and performance metric pre-aggregation, making it suitable for large-scale network operation and maintenance scenarios.

[0048] In some embodiments, vertex filtering criteria include, but are not limited to, at least one of device location, device attributes, and device model.

[0049] Specifically, the device's location corresponds to a geographical or logical region, such as "Beijing" or "Guangzhou"; the device's attributes correspond to its functional role in the network, such as "backbone network device" or "access network device," which is key to achieving aggregation by network layer or service role; and the device model can be used to filter devices with specific hardware capabilities or from specific manufacturers.

[0050] The device's location and attributes can be extracted from its name according to the operator's device naming conventions. For example, if the device name is GDGZ-BB-XXXX, the GDGZ-BB prefix indicates that it is a backbone network device located in Guangzhou, Guangdong Province. The extracted information is primarily used to easily identify the specific device corresponding to a topology vertex.

[0051] Users can display network topology based on device location (province, city) or device attribute (single device level) according to business needs. When displaying a user's custom network topology by device location (province, city), devices from provinces and cities need to be aggregated. Vertex definitions use rules, similar to a backbone network topology diagram. Vertex devices (i.e., vertices, nodes) are backbone network devices located in provincial capital cities. Therefore, UP1 (node ​​= Beijing, device attribute = backbone network device) and UP2 (node ​​= Shanghai, device attribute = backbone network device) can represent two vertices. Connections are vertex links (also called circuits) between backbone devices in different cities. Multiple circuits need to be aggregated, and the connection between vertex UP1 and vertex UP2 is represented by UP1-UP2 (PA=UP1, PB=UP2). Based on this, this embodiment of the disclosure can customize the user's custom network topology through flexible custom topology rules.

[0052] In some embodiments, mapping vertex devices and vertex links in custom network topologies of multiple users, where vertex filtering conditions and connection rules are consistent, to common vertices and common links, and constructing a common network topology including multiple common vertices and multiple common links, may include: Identify at least two vertex devices with the same vertex filtering conditions in the custom network topology of multiple users, and map the at least two vertex devices to the same common vertex to obtain multiple common vertices; Identify at least two vertex links in a user's custom network topology whose connection relationship is defined by the same connection rule, and map the at least two vertex links to the same common link to obtain multiple common links; A public network topology is constructed based on multiple common vertices and multiple common links.

[0053] Specifically, User A defined UP1 vertex (node ​​= Beijing, device attribute = backbone network device) and UP2 vertex device (node ​​= Shanghai, device attribute = backbone network device), with vertex link UP1-UP2 (PA = UP1, PB = UP2); User B similarly defined UP3 vertex device (node ​​= Beijing, device attribute = backbone network device) and UP4 vertex device (node ​​= Shanghai, device attribute = backbone network device), with vertex link UP3-UP4 (PA = UP3, PB = UP4).

[0054] At this point, in the custom network topology of User A and User B, there are two common vertices: SP1 (node ​​= Beijing, device attribute = backbone network device) and SP2 (node ​​= Shanghai, device attribute = backbone network device); and one common link: SP1-SP2 (PA = SP1, PB = SP2).

[0055] Meanwhile, the mapping relationships between vertex devices in the user's custom network topology and common vertices in the public network topology, and between vertex links in the user's custom network topology and common links in the public network topology are recorded as follows: UP1→SP1, UP2→SP2, UP3→SP1 and UP4→SP2, UP1-UP2→SP1-SP2 and UP3-UP4→SP1-SP2.

[0056] In some embodiments, the common aggregated metric data includes vertex aggregated metric data of multiple common vertices and link aggregated metric data of multiple common links; Based on device and link information, periodic aggregation calculations of performance metrics are performed on each common vertex and each common link to generate common aggregated metric data, which may include: Identify at least two vertex devices that map each common vertex, and periodically aggregate the device information of the at least two vertex devices to obtain vertex aggregation index data for each common vertex. Identify at least two vertex links mapped to each common link, and periodically aggregate the link information of the at least two vertex links to obtain the link aggregation index data of each common link.

[0057] Specifically, based on the mapping relationship between vertex devices in the user's custom network topology and common vertices in the public network topology: UP1→SP1 and UP3→SP1, the two vertex devices mapped to the common vertex SP1 are determined to be UP1 and UP3. At this time, the device information of UP1 and UP3 can be periodically aggregated and calculated to obtain the vertex aggregation index data of the common vertex SP1.

[0058] Based on the mapping relationship between vertex links in the user-defined network topology and public links in the public network topology: UP1-UP2→SP1-SP2 and UP3-UP4→SP1-SP2, the two vertex links mapped to the public link SP1-SP2 are determined: UP1-UP2 and UP3-UP4. At this point, the link information of the two vertex links UP1-UP2 and UP3-UP4 can be periodically aggregated and calculated to obtain the link aggregation index data for each public link.

[0059] Assume the common link SP1-SP2 is Beijing-Shanghai, which contains two vertex links UP1-UP2 and UP3-UP4. Vertex link UP1-UP2 is BJBJ-BB-DEV1(GE1 / 0 / 1) to SHSH-BB-DEV3(GE1 / 0 / 1), and vertex link UP3-UP4 is BJBJ-BB-DEV2(GE1 / 0 / 1) to SHSH-BB-DEV4(GE1 / 0 / 1). The link information to be calculated includes flow rate and bandwidth utilization. In this case, the flow rate of the common link SP1-SP2 is equal to the sum of the flow rates of vertex links UP1-UP2 and UP3-UP4, and the bandwidth utilization of the common link SP1-SP2 is equal to the sum of the flow rates of vertex links UP1-UP2 and UP3-UP4 divided by the sum of their bandwidths.

[0060] In some embodiments, the method may further include: Public network topology, mapping relationships, and public aggregation metrics data are stored in a shared cache.

[0061] Specifically, in this embodiment of the disclosure, after storing the public network topology in a shared cache, when any user requests to load their custom network topology, there is no need to repeatedly perform rule matching and device filtering. The pre-built public network topology can be directly read from the shared cache, which greatly reduces the response time for topology generation.

[0062] In this embodiment of the disclosure, after storing the mapping relationship in a shared cache, when responding to a user's topology display request, the common vertices and common links corresponding to the user's custom network topology can be quickly determined through querying, thereby achieving fast routing from the user's view to public resources and avoiding repeated rule parsing and traversal of the device library.

[0063] In this embodiment of the disclosure, after storing the public aggregated indicator data in a shared cache, users can directly read the pre-calculated aggregated results when viewing a custom network topology, without having to traverse all the underlying device indicators in real time for calculation, which greatly improves the performance of topology display and user experience.

[0064] In some embodiments, the method may further include: In response to a target user's modification of a custom topology rule, retrieve the modified custom topology rule; Based on the modified custom topology rules, a modified custom network topology for the target user is generated; wherein, the modified custom network topology includes multiple modified vertex devices and multiple modified vertex links; If any modified vertex device does not belong to multiple common vertices and / or any modified vertex link does not belong to multiple common links, then create new common vertices for the modified vertex device mapping and / or new common links for the modified vertex link mapping, and update the mapping relationship based on the new common vertices and / or new common links.

[0065] Specifically, the definitions of common vertices and common links cannot be modified. If a target user can modify their existing custom topology rules, such as modifying vertex filtering conditions and / or connection rules, then in response to the target user's modification operation on the custom topology rules, the modified custom topology rules can be obtained. Here, the modified custom topology rules may include the modified vertex filtering conditions and / or the modified connection rules, and the modification operation may include, but is not limited to, at least one of the following: add operation, delete operation, and modify operation.

[0066] Then, based on the modified custom topology rules, the topology generation logic is re-executed. This involves using the modified vertex filtering conditions to select multiple modified vertex devices from the entire network that match the modified conditions; and using the modified connection rules to determine the connection relationships between these modified vertex devices, forming multiple modified vertex links. Based on these modified vertex devices and links, a modified custom network topology is generated—the complete topology view after the user rules are updated.

[0067] It is understood that the embodiments of this disclosure can match each modified vertex device with multiple common vertices in the already generated public network topology. If a new common vertex appears, a new common link will necessarily appear. Conversely, if a new common link appears, a new common vertex may not appear. Based on this, there are three timings for updating the mapping relationship in the embodiments of this disclosure: first, when a new common vertex appears (including new common links caused by the new common vertex); second, when a new common link appears; and third, when both a new common vertex and a new common link appear.

[0068] Regarding the timing of updating the first type of mapping relationship, if any modified vertex device does not belong to multiple common vertices, it indicates that a new common vertex has appeared, and no existing common vertex matches its rule. In this case, it is necessary to create a new common vertex mapped to the modified vertex device, and update the mapping relationship between the new common vertex and the modified vertex device based on this new common vertex. Simultaneously, the vertex links possessed by the modified vertex device are regenerated; that is, the modified vertex links do not belong to multiple common links. A new common link mapped to the modified vertex link is created, and the mapping relationship between the new common link and the modified vertex link is updated based on this new common link.

[0069] If user A modifies a custom vertex UP1, and there is no existing common vertex that matches its rules, then a new common vertex needs to be generated to correspond to the user's vertex UP1. Similarly, a new common link needs to be generated to correspond to the vertex link UP1-UP2.

[0070] For the timing of updating the second type of mapping relationship, if any modified vertex link does not belong to multiple common links, a new common link is created for the modified vertex link mapping, and the mapping relationship between the new common link and the modified vertex link is updated based on the new common link.

[0071] The timing of updating the third type of mapping relationship can be combined with the timing of updating the first and second types of mapping relationships; the relevant details will not be elaborated here.

[0072] Based on this, the embodiments of this disclosure can support users to flexibly modify custom topology rules, realize the automatic adaptability and scalability of public network topology, i.e., public resources; public resources are only created when new public vertices and public links are actually added, maximizing resource reuse and avoiding redundancy; at the same time, the mapping relationship is updated in real time to ensure that the user's topology view corresponds accurately with public data, ensuring data consistency, and achieving incremental update efficiency, processing only the changed parts without rebuilding the entire public network topology.

[0073] The foregoing mainly describes the solutions provided by the embodiments of this disclosure. It is understood that, in order to achieve the above functions, the electronic device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this disclosure can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.

[0074] This disclosure embodiment can divide the electronic device into functional units according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this disclosure embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.

[0075] By dividing each functional module according to its corresponding function, an exemplary embodiment of this disclosure provides a device for generating a custom network topology for multiple users. This device can be a terminal or a chip applied to the terminal. Figure 2 A schematic diagram of the structure of a multi-user custom network topology generation apparatus provided in an exemplary embodiment of this disclosure is shown. Figure 2 As shown, the device 200 includes: The acquisition module 201 is used to acquire in real time device information of multiple devices in the network, link information of multiple links connecting the multiple devices, and custom topology rules of multiple users; wherein, the custom topology rules include vertex filtering conditions for defining vertex filtering and connection rules for defining the connection relationship between vertices. Topology configuration module 202 is used to filter multiple vertex devices from the multiple devices based on the vertex filtering conditions, determine multiple vertex links between the multiple vertex devices based on the connection rules, and generate a custom network topology for each user. Processing module 203 is used to map vertex devices and vertex links in the custom network topologies of the multiple users that have the same vertex filtering conditions and connection rules to common vertices and common links, construct a common network topology composed of multiple common vertices and multiple common links, and establish a mapping relationship between each common vertex and the corresponding vertex device in the custom network topology of the multiple users, and between each common link and the corresponding vertex link in the custom network topology of the multiple users; The processing module 203 is further configured to perform periodic aggregation calculations of performance indicators for each common vertex and each common link based on the device information and the link information, and generate common aggregation indicator data; The display module 204 is used to respond to the topology display request of the target user among the multiple users, and to call the common vertices, common links and common aggregate index data corresponding to the custom network topology of the target user based on the mapping relationship, and to perform visualization rendering and display.

[0076] In some embodiments, the vertex filtering criteria include, but are not limited to, at least one of device location, device attributes, and device model.

[0077] In some embodiments, the processing module 203 is further configured to identify at least two vertex devices with the same vertex filtering conditions in the custom network topology of the multiple users, and map the at least two vertex devices to the same common vertex to obtain multiple common vertices; Identify at least two vertex links in the custom network topology of the multiple users whose connection relationship is defined by the same connection rule, and map the at least two vertex links to the same common link to obtain multiple common links; A public network topology is constructed based on multiple common vertices and multiple common links.

[0078] In some embodiments, the common aggregated metric data includes vertex aggregated metric data of multiple common vertices and link aggregated metric data of multiple common links; The processing module 203 is further configured to determine at least two vertex devices mapped to each of the common vertices, and periodically aggregate and calculate the device information of the at least two vertex devices to obtain vertex aggregation index data for each of the common vertices; At least two vertex links are determined for each of the common links, and the link information of the at least two vertex links is periodically aggregated and calculated to obtain the link aggregation index data of each of the common links.

[0079] In some embodiments, the processing module 203 is further configured to store the public network topology, the mapping relationship, and the public aggregation index data in a shared cache.

[0080] In some embodiments, the processing module 203 is further configured to obtain the modified custom topology rule in response to the target user's modification operation on the custom topology rule; Based on the modified custom topology rules, a modified custom network topology for the target user is generated; wherein, the modified custom network topology includes multiple modified vertex devices and multiple modified vertex links; If any of the modified vertex devices does not belong to the multiple common vertices and / or any of the modified vertex links does not belong to the multiple common links, then a new common vertex for the modified vertex device mapping and / or a new common link for the modified vertex link mapping are created, and the mapping relationship is updated based on the new common vertex and / or the new common link.

[0081] This disclosure also provides an electronic device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the methods disclosed in this disclosure.

[0082] Figure 3 A schematic diagram of the structure of an electronic device provided in an exemplary embodiment of this disclosure is shown. For example... Figure 3As shown, the electronic device 300 includes at least one processor 301 and a memory 302 coupled to the processor 301, which can perform the corresponding steps in the methods disclosed in the embodiments of this disclosure.

[0083] The processor 301 described above can also be called a Central Processing Unit (CPU), which can be an integrated circuit chip with signal processing capabilities. Each step in the method disclosed in this embodiment can be implemented by the integrated logic circuitry in the processor 301 or by software instructions. The processor 301 can be a general-purpose processor, a digital signal processor (DSP), an ASIC, a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this embodiment can be directly implemented by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software modules can be located in the memory 302, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The processor 301 reads information from the memory 302 and, in conjunction with its hardware, completes the steps of the method described above.

[0084] Furthermore, various operations / processes according to this disclosure, implemented via software and / or firmware, can be transmitted from a storage medium or network to a computer system with a dedicated hardware architecture, for example, Figure 4 The computer system 400 shown is equipped with the programs that constitute the software. When various programs are installed, the computer system is able to perform various functions, including functions such as those described above. Figure 4 A schematic diagram of the structure of a computer system provided in an exemplary embodiment of this disclosure is shown.

[0085] Computer system 400 is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0086] like Figure 4 As shown, the computer system 400 includes a computing unit 401, which can perform various appropriate actions and processes based on a computer program stored in a read-only memory (ROM) 402 or a computer program loaded from a storage unit 408 into a random access memory (RAM) 403. The RAM 403 may also store various programs and data required for the operation of the computer system 400. The computing unit 401, ROM 402, and RAM 403 are interconnected via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

[0087] Multiple components in the computer system 400 are connected to the I / O interface 405, including: an input unit 406, an output unit 407, a storage unit 408, and a communication unit 409. The input unit 406 can be any type of device capable of inputting information into the computer system 400. The input unit 406 can receive input numerical or character information and generate key signal inputs related to user settings and / or function control of the electronic device. The output unit 407 can be any type of device capable of presenting information and may include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. The storage unit 408 may include, but is not limited to, a hard disk and an optical disk. The communication unit 409 allows the computer system 400 to exchange information / data with other devices via a network such as the Internet, and may include, but is not limited to, a modem, network card, infrared communication device, wireless communication transceiver, and / or chipset, such as Bluetooth™ device, WiFi device, WiMax device, cellular communication device, and / or the like.

[0088] The computing unit 401 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 401 performs the various methods and processes described above. For example, in some embodiments, the methods disclosed in this disclosure can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 408. In some embodiments, part or all of the computer program can be loaded and / or installed on an electronic device via ROM 402 and / or communication unit 409. In some embodiments, the computing unit 401 can be configured to perform the methods disclosed in this disclosure by any other suitable means (e.g., by means of firmware).

[0089] This disclosure also provides a computer-readable storage medium, wherein when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is able to perform the methods disclosed in this disclosure.

[0090] The computer-readable storage medium in this disclosure can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. The aforementioned computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specifically, the aforementioned computer-readable storage medium may include electrical connections based on one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0091] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0092] This disclosure also provides a computer program product, including a computer program, wherein the computer program, when executed by a processor, implements the methods disclosed in the embodiments of this disclosure.

[0093] In embodiments of this disclosure, computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof. These programming languages ​​include, but are not limited to, object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)), or it can be connected to an external computer.

[0094] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0095] The modules, components, or units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the modules, components, or units do not necessarily constitute a limitation on the module, component, or unit itself.

[0096] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary hardware logic components that can be used include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.

[0097] The above description is merely an illustration of some embodiments of this disclosure and the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0098] While specific embodiments of this disclosure have been described in detail by way of example, those skilled in the art should understand that the examples are for illustrative purposes only and not intended to limit the scope of this disclosure. Those skilled in the art should understand that modifications can be made to the above embodiments without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.

Claims

1. A method for generating a custom network topology for multiple users, characterized in that, include: The system acquires in real time device information of multiple devices in the network, link information of multiple links connecting the multiple devices, and custom topology rules of multiple users; wherein, the custom topology rules include vertex filtering conditions for defining vertex filtering and connection rules for defining the connection relationship between vertices. Based on the vertex filtering conditions, multiple vertex devices are filtered from the multiple devices, and multiple vertex links between the multiple vertex devices are determined based on the connection rules to generate a custom network topology for each user. The vertex devices and vertex links in the user-defined network topologies of the multiple users that have the same vertex filtering conditions and connection rules are mapped to common vertices and common links. A common network topology composed of multiple common vertices and multiple common links is constructed, and a mapping relationship is established between each common vertex and the corresponding vertex device in the user-defined network topology of the multiple users, and between each common link and the corresponding vertex link in the user-defined network topology of the multiple users. Based on the device information and the link information, periodic aggregation calculations of performance indicators are performed on each common vertex and each common link to generate common aggregation indicator data; In response to the topology display request of the target user among the multiple users, the system calls the common vertices, common links and common aggregate index data corresponding to the target user's custom network topology based on the mapping relationship, and performs visualization rendering and display.

2. The method as described in claim 1, characterized in that, The vertex filtering criteria include, but are not limited to, at least one of the following: device location, device attributes, and device model.

3. The method as described in claim 1, characterized in that, The step of mapping vertex devices and vertex links in the custom network topologies of the multiple users, where the vertex filtering conditions and connection rules are consistent, to common vertices and common links, and constructing a public network topology including multiple common vertices and multiple common links, includes: Identify at least two vertex devices with the same vertex filtering conditions in the custom network topology of the multiple users, and map the at least two vertex devices to the same common vertex to obtain multiple common vertices; Identify at least two vertex links in the custom network topology of the multiple users whose connection relationship is defined by the same connection rule, and map the at least two vertex links to the same common link to obtain multiple common links; A public network topology is constructed based on multiple common vertices and multiple common links.

4. The method as described in claim 1, characterized in that, The common aggregated index data includes vertex aggregated index data of multiple common vertices and link aggregated index data of multiple common links; The step of periodically aggregating performance metrics for each common vertex and each common link based on the device information and the link information to generate common aggregated metric data includes: Determine at least two vertex devices that map each common vertex, and periodically aggregate and calculate the device information of the at least two vertex devices to obtain vertex aggregation index data for each common vertex; At least two vertex links are determined for each of the common links, and the link information of the at least two vertex links is periodically aggregated and calculated to obtain the link aggregation index data of each of the common links.

5. The method as described in claim 1, characterized in that, The method further includes: The public network topology, the mapping relationship, and the public aggregation index data are stored in a shared cache.

6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: In response to the target user's modification operation on the custom topology rule, obtain the modified custom topology rule; Based on the modified custom topology rules, a modified custom network topology for the target user is generated; wherein, the modified custom network topology includes multiple modified vertex devices and multiple modified vertex links; If any of the modified vertex devices does not belong to the multiple common vertices and / or any of the modified vertex links does not belong to the multiple common links, then a new common vertex for the modified vertex device mapping and / or a new common link for the modified vertex link mapping are created, and the mapping relationship is updated based on the new common vertex and / or the new common link.

7. A device for generating custom network topologies for multiple users, characterized in that, include: The acquisition module is used to acquire in real time device information of multiple devices in the network, link information of multiple links connecting the multiple devices, and custom topology rules of multiple users; wherein, the custom topology rules include vertex filtering conditions for defining vertex filtering and connection rules for defining the connection relationship between vertices. The topology configuration module is used to filter multiple vertex devices from the multiple devices based on the vertex filtering conditions, determine multiple vertex links between the multiple vertex devices based on the connection rules, and generate a custom network topology for each user. The processing module is used to map vertex devices and vertex links in the custom network topologies of the multiple users that have the same vertex filtering conditions and connection rules to common vertices and common links, construct a common network topology composed of multiple common vertices and multiple common links, and establish a mapping relationship between each common vertex and the corresponding vertex device in the custom network topology of the multiple users, and between each common link and the corresponding vertex link in the custom network topology of the multiple users; The processing module is also used to perform periodic aggregation calculations of performance indicators for each common vertex and each common link based on the device information and the link information, and generate common aggregation indicator data; The display module is used to respond to the topology display request of the target user among the multiple users, and to call the common vertices, common links and common aggregate index data corresponding to the custom network topology of the target user based on the mapping relationship, and to perform visualization rendering and display.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the method described in any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the steps of the method described in any one of claims 1 to 6.