A Topology-Aware Distributed Virtual Machine Deployment and Scheduling Method and System for Test Ranges

By employing a topology-aware distributed virtual machine deployment method, cross-range link utilization is optimized, solving the resource utilization and deployment quality issues of virtual machine deployment in multi-range environments, and achieving efficient virtual machine scheduling and resource management.

CN120639640BActive Publication Date: 2025-12-02SAINING WANGAN
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511100540.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-07
Publication Date
2025-12-02
Estimated Expiration
2045-08-07

AI Technical Summary

Technical Problem

During multi-range joint verification, traditional virtual machine deployment scheduling strategies fail to effectively utilize cross-range physical link resources, leading to link exhaustion or unnecessary link occupation, affecting other communication needs. Furthermore, existing methods fail to achieve efficient resource utilization and deployment quality in multi-range environments.

Method used

A topology-aware distributed test range virtual machine deployment method is adopted. By using a depth-first exploration function and combining link and image transmission costs, the deployment of virtual machines in multiple test ranges is optimized to ensure that cross-test range link constraints are met. The method also takes into account resource requirements and image locations to find the globally optimal or near-optimal deployment scheme.

Benefits of technology

It improves the resource utilization efficiency of cross-range communication links, ensures the feasibility of deployment schemes, enhances resource utilization efficiency and deployment quality, avoids the problem of insufficient links, and realizes efficient virtual machine deployment in multi-range environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120639640B_ABST
    Figure CN120639640B_ABST
Patent Text Reader

Abstract

This invention discloses a topology-aware distributed virtual machine deployment and scheduling method and system for test ranges. First, based on user-input network topology information, a target topology instance structure is constructed. Then, all virtual machine nodes in the target topology instance are arranged in descending order according to connectivity and / or required hardware resource constraints. Next, starting from the virtual machine node index, an exploration function is recursively called to explore feasible deployment schemes for the topology structure using a depth-first approach. The exploration function aims to minimize link and transmission costs, accurately tracking and verifying the number of occupied cross-test range links at each step, ensuring that any virtual machine placement decision will not lead to link capacity exceeding limits between test range pairs. This guarantees the link feasibility of the generated scheme during the scheduling phase. This invention solves the problem of virtual machine deployment and scheduling in complex network topologies in multi-test range environments, improving resource utilization efficiency and deployment quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a topology-aware distributed test range virtual machine deployment and scheduling method and system, belonging to the field of network security technology. Background Technology

[0002] Cyber ​​ranges utilize virtualization technology to simulate real-world cyberspace attack and defense environments, serving as platforms for various tests, including combat capability research and weapon system verification. As the scale of cybersecurity testing expands, higher demands are placed on the simulation capabilities of these ranges. Traditional single-range models have bottlenecks in performance and simulation scale, necessitating joint simulation across multiple ranges to support more complex network tests. When expanding to a multi-range joint verification approach, typical networking methods include... Figure 1 As shown.

[0003] Figure 1 The topology includes two target ranges, A and B. The markers on nodes in the topology represent the target range to which the node's mirror image belongs. When instantiating a target range, it's necessary to consider which target range each node belongs to. Different instantiation methods will incur different communication and network transmission costs.

[0004] For the network of City A - Product Department in the diagram, if the "User 3" node is instantiated in test range A, the image needs to be copied from test range B to test range A, which will introduce latency costs for image transmission. However, subsequent communication between this node and the "Access Switch 2" node does not require an additional communication link because they belong to the same sub-test range A. If the "User 3" node is instantiated in test range B, the instantiation does not require additional image transmission, but because the "User 3" node and "Access Switch 2" are in different sub-test ranges, subsequent communication requires an additional communication link (test ranges A and B may be geographically or even on the public network, so an additional link is needed).

[0005] During joint validation across test ranges, the following issues arise: When deployed within a single test range, communication between virtual machines typically relies on a high-bandwidth, low-latency internal network, with relatively abundant link resources. However, when the topology expands to multiple test ranges, the physical links between test ranges are often valuable resources with limited bandwidth and a fixed number. Some simple multi-test range scheduling strategies may only consider computational resources or underestimate the cost of cross-test range communication, leading to scheduling schemes becoming infeasible due to link exhaustion during actual deployment, or unnecessarily consuming a large number of cross-test range links, affecting the feasibility of other potential cross-test range communication needs. Summary of the Invention

[0006] Purpose of the invention: In view of the problems existing in the prior art, the purpose of this invention is to provide a topology-aware distributed test range virtual machine deployment and scheduling method and system, to solve the problem of virtual machine deployment and scheduling in complex network topologies in multi-test range environments, and to improve resource utilization efficiency and deployment quality.

[0007] Technical solution: To achieve the above-mentioned objectives, the present invention adopts the following technical solution:

[0008] In a first aspect, the present invention provides a topology-aware distributed test range virtual machine deployment and scheduling method, comprising the following steps:

[0009] Step 1: Construct the target topology instance structure based on the network topology information input by the user;

[0010] Step 2: Sort all virtual machine nodes in the target topology instance in descending order according to connectivity and / or required hardware resource constraints;

[0011] Step 3: Initialize the optimal deployment scheme to empty, and the minimum cost to infinity;

[0012] Step 4: Starting with the virtual machine node index number, recursively call the exploration function, passing in the index number, the currently explored deployment schemes, and the used interconnection links; the exploration function explores feasible deployment schemes for the topology in a depth-first manner, and the execution steps include:

[0013] Calculate the link and transmission costs of the currently explored deployment schemes. If the cost is greater than the minimum cost, exit the current exploration function.

[0014] When the passed-in index number equals the total number of virtual machine nodes, determine the globally optimal deployment scheme based on the principle of minimum cost, and exit the current exploration function;

[0015] Traverse all available sub-targets, check whether the remaining resources meet the needs of the current virtual machine node. For sub-targets that meet the needs, traverse the neighbors of the current virtual machine node. If the neighbors have been deployed and the targets are different, update the link count between the two targets, check whether the cross-target link meets the constraints. If the link also meets the constraints, update the deployment target of the current virtual machine node and deduct resources. After incrementing the index number, recursively call the exploration function to enter the exploration of the next virtual machine node.

[0016] Step 5: After the exploration is complete, output the optimal deployment plan if one exists.

[0017] Preferably, step 1 constructs the target topology instance structure, including the set of all virtual machine nodes in the topology, the set of all connections in the topology, the target range to which the original image of each virtual machine node belongs, the file size of the original image, and the hardware constraints required to instantiate the virtual machine.

[0018] Preferably, the link and transmission cost is a weighted sum of the usage cost of the interconnection link in the explored deployment scheme and the cost of image transmission to the remote test range for startup; wherein the usage cost of the interconnection link is obtained by accumulating the link count between all test range pairs; the cost of image transmission to the remote test range for startup is obtained by accumulating the image transmission time of different virtual machine nodes of the deployment test range and the image storage test range.

[0019] Preferably, the check of whether the cross-target link meets the constraints only checks the neighbors that have a topological connection with the current virtual machine node and have been deployed. For each cross-target neighbor, it verifies whether the link count of the corresponding target pair is less than a preset maximum value.

[0020] As a preferred embodiment, the steps for cross-range link constraint checking include:

[0021] Based on the set of all connections in the topology, traverse the neighbors of the current virtual machine node;

[0022] If a neighbor is already in the currently explored deployment scheme, obtain the target field mapped to the neighbor. If it is different from the target field mapped to the current virtual machine node, generate sorted target field pairs. If the link count of the corresponding target field pair exceeds the preset maximum value, the constraint is violated.

[0023] Once all neighbors have passed the check, the link constraint is considered satisfied.

[0024] Preferably, the traversal of all available sub-targets is carried out in the order of priority of the sub-target where the image corresponding to the current virtual machine node is located, or priority of the sub-target with the most abundant resources.

[0025] Preferably, determining the globally optimal deployment scheme based on the principle of minimum cost means replacing the globally optimal deployment scheme with the currently explored deployment scheme when the link and transmission cost of the currently explored deployment scheme is less than that of the globally optimal deployment scheme.

[0026] Secondly, the present invention provides a topology-aware distributed test range virtual machine deployment and scheduling system, comprising:

[0027] The information extraction module is used to construct the target topology instance structure based on the network topology information input by the user.

[0028] The preprocessing module is used to sort all virtual machine nodes in the target topology instance in descending order according to connectivity and / or required hardware resource constraints; and to initialize the optimal deployment scheme as empty and the minimum cost as infinite.

[0029] The solution exploration module is used to recursively call the exploration function, starting from the virtual machine node index number, passing in the index number, the currently explored deployment schemes, and the used interconnection links; the exploration function explores feasible deployment schemes for the topology structure based on a depth-first approach, and the execution steps include:

[0030] Calculate the link and transmission costs of the currently explored deployment schemes. If the cost is greater than the minimum cost, exit the current exploration function.

[0031] When the passed-in index number equals the total number of virtual machine nodes, determine the globally optimal deployment scheme based on the principle of minimum cost, and exit the current exploration function;

[0032] Traverse all available sub-targets, check whether the remaining resources meet the needs of the current virtual machine node. For sub-targets that meet the needs, traverse the neighbors of the current virtual machine node. If the neighbors have been deployed and the targets are different, update the link count between the two targets, check whether the cross-target link meets the constraints. If the link also meets the constraints, update the deployment target of the current virtual machine node and deduct resources. After incrementing the index number, recursively call the exploration function to enter the exploration of the next virtual machine node.

[0033] The output module is used to output the optimal deployment solution if one exists after the exploration is completed.

[0034] Thirdly, the present invention provides a computer system including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the steps of the aforementioned topology-aware distributed range virtual machine deployment and scheduling method.

[0035] Fourthly, the present invention provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the aforementioned topology-aware distributed test range virtual machine deployment and scheduling method.

[0036] Beneficial Effects: Compared with existing technologies, this invention has the following advantages: 1. This invention incorporates the maximum number of available cross-range physical communication links as a core hard constraint into virtual machine scheduling decisions. By accurately tracking and verifying the number of occupied cross-range links at each step of the scheme exploration, it ensures that no virtual machine placement decision will lead to the link capacity exceeding the limit between range pairs. This guarantees the link feasibility of the generated scheme during the scheduling phase, avoiding the link shortage problem that may occur during deployment in traditional methods. 2. This invention systematically explores the potential placement combinations of all virtual machines within a single topology instance, comprehensively considering minimizing cross-range link usage and mirror transmission costs. Under the premise of satisfying all resource and link constraints, it can find and determine the globally optimal or near-optimal virtual machine placement scheme, improving resource utilization efficiency and deployment quality. 3. This invention sorts virtual machines by connectivity / resource requirements before exploration, which can trigger link / resource constraint conflict detection in advance, effectively improving the algorithm exploration efficiency. 4. This invention integrates multiple constraints such as virtual machine resource requirements, image location, and cross-target link capacity, performs refined modeling and verification, and solves the problem through a unified solution exploration framework, effectively solving the problem of virtual machine deployment and scheduling in complex network topologies in multi-target environments. Attached Figure Description

[0037] Figure 1 Example diagram for multi-range deployment.

[0038] Figure 2 This is a schematic diagram of the method flow according to an embodiment of the present invention. Detailed Implementation

[0039] The technical solution of the present invention will now be clearly and completely described in conjunction with the accompanying drawings and specific embodiments.

[0040] like Figure 2 As shown in the figure, the present invention discloses a topology-aware distributed test range virtual machine deployment and scheduling method, which mainly includes the following steps:

[0041] Step 1: Construct the target topology instance structure based on the network topology information input by the user.

[0042] Step 2: Sort all virtual machine nodes in the target topology instance in descending order according to connectivity and / or required hardware resource constraints.

[0043] Step 3: Initialize the optimal deployment scheme to be empty, and the minimum cost to be infinite.

[0044] Step 4: Starting with the virtual machine node index number, recursively call the exploration function, passing in the index number, the currently explored deployment schemes, and the used interconnection links; the exploration function explores feasible deployment schemes for the topology in a depth-first manner, and the execution steps include:

[0045] Calculate the link and transmission costs of the currently explored deployment schemes. If the cost is greater than the minimum cost, exit the current exploration function.

[0046] When the passed-in index number equals the total number of virtual machine nodes, determine the globally optimal deployment scheme based on the principle of minimum cost, and exit the current exploration function;

[0047] Traverse all available sub-targets, check if the remaining resources meet the needs of the current virtual machine node. For sub-targets that meet the needs, traverse the neighbors of the current virtual machine node. If the neighbors have been deployed and the targets are different, update the link count between the two targets, check if the cross-target link meets the constraints, and if the link also meets the constraints, update the deployment target of the current virtual machine node and deduct resources. After incrementing the index number, recursively call the exploration function to enter the exploration of the next virtual machine node.

[0048] Step 5: After the exploration is complete, output the optimal deployment plan if one exists.

[0049] Specifically, in this embodiment, the target topology instance structure constructed in step 1 includes a set of all virtual machine nodes in the topology, a set of all connections in the topology, the target range to which the original image corresponding to each virtual machine node belongs, the file size of the original image, and the hardware constraints required to instantiate the virtual machine.

[0050] For example, the network topology can be decomposed into the target_topology_instance structure as follows, whose main elements are as follows:

[0051] A) V: The set of all virtual machine nodes in the topology, denoted as V={vm1,vm2,...,vm...} n} represents n virtual machine nodes; here, virtual machine nodes include terminals, network devices, and other types of nodes that can be generated by the virtualization platform based on virtual machine images.

[0052] B) E: The set of all connections in the topology, denoted as E={(u,v),(x,y)...}, where u, v, x, y, etc. represent a virtual machine node.

[0053] C) image_location[vm i ]: vm i The target range to which the corresponding original image belongs.

[0054] D) image_size[vm i ]: vm i The file size corresponds to the original image.

[0055] E) requirements[vm i Hardware constraints required to instantiate a virtual machine, such as an 8-core CPU and 64GB of memory.

[0056] In this embodiment, ranges is used to represent the set of available sub-ranges, in the form ranges={range1,range2,...,range...} k} represents k available sub-ranges. `range_available_res` represents the list of remaining resources for each sub-range, where `range_available_res[range ... ... i [Represents the target range] i The remaining resources (remaining resources can be values ​​across multiple dimensions such as CPU, memory, and disk). In actual operation, if any one of the resource dimensions fails to meet the deployment requirements, the target range is considered undeployable. Use `max_link[range]` i [range] j ] indicates the target range i and the range j The maximum number of interconnection links between them.

[0057] Based on the elements defined above, the detailed steps of the topology-aware distributed test range virtual machine deployment and scheduling method described in this embodiment are as follows:

[0058] Step S1: Split the network topology input by the user according to the target_topology_instance data structure.

[0059] Step S2: Sort all nodes V in target_topology_instance in descending order according to one or two of the following indicators: virtual machine node connectivity and required hardware resource constraints.

[0060] Step S3: Initialize the current optimal solution (optimal_placement) to empty, the cost score (min_optimal_score) corresponding to the optimal solution to infinity, and the flag (find_solution) indicating whether a feasible solution has been found to false.

[0061] Step S4: Starting with vm_idx=1, recursively call the exploration function to explore feasible deployment methods for the current topology. See steps S41 to S46 for the execution of the exploration function.

[0062] When the exploration function is called, the currently explored virtual machine deployment scheme is denoted as current_placement, which records the mapping relationship between the VM and the range; the interconnection used by the current scheme is denoted as current_used_links, which records the interconnection links used by the two ranges, in the same form as max_link.

[0063] In step S41, the virtual machine node in target_topology_instance.V[vm_idx] is denoted as vm. x Each node is explored in the manner described in steps S42 to S46.

[0064] Step S42: Based on the currently explored deployment schemes `current_placement` and `current_used_links`, calculate the deployment cost `current_cost`. The calculation formula is as follows: `current_cost = w1 * transfer_cost + w2 * link_cost`. Where w1 and w2 are weights, `link_cost` represents the cost of using interconnecting links in the current scheme, and the calculation method includes, but is not limited to, incrementing this value by 1 for each link used; `transfer_cost` represents the cost of transferring the image to a remote test range for startup. The calculation method is as follows:

[0065] Iterate through each deployed virtual machine node in `current_placement`. If its target deployment range is inconsistent with the range to which the image belongs, a transmission cost will be incurred, meaning `current_placement[vm]` will not equal `image_location[vm]`. The calculation method for each image transmission cost includes, but is not limited to, image size / communication bandwidth between the two ranges.

[0066] Step S43: If the current deployment cost current_cost is greater than min_optimal_score, it means that the deployment scheme under the current branch is not the optimal solution, and exit the current exploration function.

[0067] Otherwise, a decision is made based on `vm_idx`: If `vm_idx` equals `len(target_topology_instance.V)`, a choice is made between the current deployment scheme and the optimal deployment scheme. If `current_cost` is less than `min_optimal_score`, the current deployment scheme replaces the optimal deployment scheme. That is, `min_optimal_score` equals `current_cost`, `optimal_placement` equals `current_placement`, and `find_solution` is true. If `vm_idx` is less than `len(target_topology_instance.V)`, proceed to step S44.

[0068] Step S44: Explore the VM x The feasibility of deployment to all available sub-ranges can be tested one by one according to preset priorities (e.g., the current VM). x The corresponding target range is prioritized (the target range with the most abundant resources is prioritized), and the target range currently being tried is denoted as range_x.

[0069] Step S45: Check if the remaining resources of the current sub-target range_x meet the requirements of vm. x The deployment requirements and resource satisfaction check methods are as follows:

[0070] Based on range_available_res[range_x], determine whether the remaining resources of the target sub-range meet requirements[vm]. x The requirement is defined as not being met if any dimension fails to meet the requirement.

[0071] If the inspection result is that the requirements are not met, skip the current sub-range and continue to the next sub-range; otherwise, proceed to step S46.

[0072] Step S46: Find the current VM in target_topology_instance.E x For any neighbor node vm i In other words, if current_placement[vm i If the value is not equal to range_x, then an interconnection link needs to be added.

[0073] After adding the check for interconnectivity links, it is necessary to check whether the links meet the deployment requirements. The check method is as follows:

[0074] In target_topology_instance.V, obtain all neighboring nodes S of the currently deployed node vm_x. In current_placement, obtain the deployment target range P={range} corresponding to these nodes S. x ,range y The interconnection link constraint check passes if the following constraints are met:

[0075] ∀range∈P,current_used_links[range_x][range]≤max_link[range_x][range]

[0076] If the link constraints are met, vm_idx is incremented by 1. At the same time, based on the check results, a corresponding record is added to current_used_links and range_available_res is deducted accordingly. The new vm_idx, current_used_links, and range_available_res are used as parameters to recursively call the exploration function; otherwise, jump to step S44 to continue the feasibility exploration of the next sub-range.

[0077] Step S5: After traversing all branches of the topology, a judgment is made based on find_solution. If find_solution is false, it means that there is no available deployment solution for the current topology; otherwise, the result corresponding to optimal_placement is the optimal deployment solution.

[0078] Based on the same inventive concept, this invention discloses a topology-aware distributed test range virtual machine deployment and scheduling system, comprising: an information extraction module, used to construct a target topology instance structure based on network topology information input by the user; a preprocessing module, used to sort all virtual machine nodes in the target topology instance in descending order according to connectivity and / or required hardware resource constraints; and initialize the optimal deployment scheme as empty and the minimum cost as infinite; a scheme exploration module, used to recursively call an exploration function starting from the virtual machine node index number, passing in the index number, the currently explored deployment scheme, and the used interconnection links; and an output module, used to output if an optimal deployment scheme exists after the exploration is completed.

[0079] The exploration function explores feasible deployment schemes for the topology using a depth-first approach, and the execution steps include:

[0080] Calculate the link and transmission costs of the currently explored deployment schemes. If the cost is greater than the minimum cost, exit the current exploration function.

[0081] When the passed-in index number equals the total number of virtual machine nodes, determine the globally optimal deployment scheme based on the principle of minimum cost, and exit the current exploration function;

[0082] Traverse all available sub-targets, check if the remaining resources meet the needs of the current virtual machine node. For sub-targets that meet the needs, traverse the neighbors of the current virtual machine node. If the neighbors have been deployed and the targets are different, update the link count between the two targets, check if the cross-target link meets the constraints, and if the link also meets the constraints, update the deployment target of the current virtual machine node and deduct resources. After incrementing the index number, recursively call the exploration function to enter the exploration of the next virtual machine node.

[0083] An embodiment of the present invention discloses a computer system, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the steps of the aforementioned topology-aware distributed test range virtual machine deployment and scheduling method.

[0084] This invention discloses a computer program product, including a computer program that, when executed by a processor, implements the steps of a topology-aware distributed test range virtual machine deployment and scheduling method.

[0085] The program code used to implement the method of the present invention can be written in any combination of one or more programming languages. This program code can be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the program code causes the steps of the method of the present invention to be performed. The program code can be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a standalone software package, or entirely on a remote machine or server. All aspects not detailed in this invention are well-known to those skilled in the art.

Claims

1. A topology-aware distributed test range virtual machine deployment and scheduling method, characterized in that, Includes the following steps: Step 1: Construct the target topology instance structure based on the network topology information input by the user; Step 2: Sort all virtual machine nodes in the target topology instance in descending order according to connectivity and / or required hardware resource constraints; Step 3: Initialize the optimal deployment scheme to empty, and the minimum cost to infinity; Step 4: Starting with the virtual machine node index number, recursively call the exploration function, passing in the index number, the currently explored deployment scheme, and the used interconnection links; The exploration function explores feasible deployment schemes for the topology using a depth-first approach, and the execution steps include: Calculate the link and transmission costs of the currently explored deployment schemes. If the cost is greater than the minimum cost, exit the current exploration function. The link and transmission costs are the weighted sum of the usage costs of the interconnection links in the explored deployment schemes and the cost of image transmission to the remote test site for startup. The usage cost of the interconnection links is obtained by accumulating the link counts between all test site pairs. The cost of image transmission to the remote test site for startup is obtained by accumulating the image transmission time of different virtual machine nodes in the deployment test site and the image storage test site. When the passed-in index number equals the total number of virtual machine nodes, determine the globally optimal deployment scheme based on the principle of minimum cost, and exit the current exploration function; Traverse all available sub-targets and check if the remaining resources meet the needs of the current virtual machine node. For sub-targets that meet the needs, traverse the neighbors of the current virtual machine node. If the neighbors have been deployed and the targets are different, update the link count between the two targets and check if the cross-target links meet the constraints. If the links also meet the constraints, update the deployment target of the current virtual machine node and deduct resources. Increment the index number and recursively call the exploration function to enter the exploration of the next virtual machine node. The check if the cross-target links meet the constraints only checks the neighbors that have a topological connection with the current virtual machine node and have been deployed. For each cross-target neighbor, verify whether the link count of the corresponding target pair is less than the preset maximum value. The steps for cross-target range link constraint checking include: traversing the neighbors of the current virtual machine node based on the set of all connections in the topology; if a neighbor is already in the currently explored deployment scheme, obtaining the target range mapped to the neighbor; if it is different from the target range mapped to the current virtual machine node, generating sorted target range pairs; if the link count of the corresponding target range pair exceeds the preset maximum value, the constraint is violated; after all neighbors have passed the check, the link constraint is considered satisfied. Step 5: After the exploration is complete, output the optimal deployment plan if one exists.

2. The method for deploying and scheduling virtual machines in a topology-aware distributed test range according to claim 1, characterized in that, Step 1 involves constructing the target topology instance structure, including the set of all virtual machine nodes in the topology, the set of all connections in the topology, the target range to which the original image of each virtual machine node belongs, the file size of the original image, and the hardware constraints required to instantiate the virtual machine.

3. The method for deploying and scheduling virtual machines in a topology-aware distributed test range according to claim 1, characterized in that, The process involves traversing all available sub-targets, prioritizing either the sub-target where the image corresponding to the current virtual machine node is located, or the sub-target with the most abundant resources.

4. The method for deploying and scheduling virtual machines in a topology-aware distributed test range according to claim 1, characterized in that, The method of determining the globally optimal deployment scheme based on the principle of minimum cost is to replace the globally optimal deployment scheme with the currently explored deployment scheme when the link and transmission cost of the currently explored deployment scheme is less than that of the globally optimal deployment scheme.

5. A topology-aware distributed test range virtual machine deployment and scheduling system, characterized in that, include: The information extraction module is used to construct the target topology instance structure based on the network topology information input by the user. The preprocessing module is used to sort all virtual machine nodes in the target topology instance in descending order according to connectivity and / or required hardware resource constraints; and to initialize the optimal deployment scheme as empty and the minimum cost as infinite. The solution exploration module is used to recursively call the exploration function starting from the virtual machine node index number, passing in the index number, the currently explored deployment solutions, and the used interconnection links; The exploration function explores feasible deployment schemes for the topology using a depth-first approach, and the execution steps include: Calculate the link and transmission costs of the currently explored deployment schemes. If the cost is greater than the minimum cost, exit the current exploration function. The link and transmission costs are the weighted sum of the usage costs of the interconnection links in the explored deployment schemes and the cost of image transmission to the remote test site for startup. The usage cost of the interconnection links is obtained by accumulating the link counts between all test site pairs. The cost of image transmission to the remote test site for startup is obtained by accumulating the image transmission time of different virtual machine nodes in the deployment test site and the image storage test site. When the passed-in index number equals the total number of virtual machine nodes, determine the globally optimal deployment scheme based on the principle of minimum cost, and exit the current exploration function; Traverse all available sub-targets and check if the remaining resources meet the needs of the current virtual machine node. For sub-targets that meet the needs, traverse the neighbors of the current virtual machine node. If the neighbors have been deployed and the targets are different, update the link count between the two targets and check if the cross-target links meet the constraints. If the links also meet the constraints, update the deployment target of the current virtual machine node and deduct resources. Increment the index number and recursively call the exploration function to enter the exploration of the next virtual machine node. The check if the cross-target links meet the constraints only checks the neighbors that have a topological connection with the current virtual machine node and have been deployed. For each cross-target neighbor, verify whether the link count of the corresponding target pair is less than the preset maximum value. The steps for cross-target range link constraint checking include: traversing the neighbors of the current virtual machine node based on the set of all connections in the topology; if a neighbor is already in the currently explored deployment scheme, obtaining the target range mapped to the neighbor; if it is different from the target range mapped to the current virtual machine node, generating sorted target range pairs; if the link count of the corresponding target range pair exceeds the preset maximum value, the constraint is violated; after all neighbors have passed the check, the link constraint is considered satisfied. The output module is used to output the optimal deployment solution if one exists after the exploration is completed.

6. A computer system comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the computer program is executed by the processor, it implements the steps of the topology-aware distributed range virtual machine deployment and scheduling method according to any one of claims 1-4.

7. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the topology-aware distributed range virtual machine deployment and scheduling method according to any one of claims 1-4.

Citation Information

Patent Citations

  • Network simulation topology construction method and system applied to cyber range

    CN109802852A

  • Multi-objective optimized virtual machine deployment algorithm for network range

    CN110362380A