Shared resource allocation device and shared resource allocation method
The shared resource allocation device optimizes the verification process by prioritizing verification groups and utilizing non-verified devices, addressing inefficiencies in conventional network verification methods to reduce overall execution time.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-11
- Publication Date
- 2026-03-19
AI Technical Summary
Conventional network verification techniques fail to optimally arrange the order of verification when using devices that are not being verified, leading to inefficiencies in overall execution time when verifying multiple devices simultaneously.
A shared resource allocation device that determines the execution order of verifications using shared resources, prioritizing verification groups and maximizing the use of non-verified devices to optimize the verification process.
The device reduces the overall execution time of verification by effectively utilizing non-verified devices across multiple verification groups, thereby enhancing efficiency and reducing the number of subproblems.
Smart Images

Figure JP2024032590_19032026_PF_FP_ABST
Abstract
Description
Shared Resource Allocation Device and Shared Resource Allocation Method
[0001] The present invention relates to a shared resource allocation device and a shared resource allocation method, and particularly to a shared resource allocation device and a shared resource allocation method in network verification.
[0002] In recent years, a mechanism has been established that allows the settings of network devices to be changed from a program such as Python (registered trademark), and the automation of processing using network devices has attracted attention. An example of this is verification automation that automatically executes verification items for network devices.
[0003] The verification automation system 201 shown in FIG. 10 verifies a plurality of network (NW) devices 221 to 226 accommodated as nodes of a communication network The network devices 221 to 226 are composed of, for example, routers and switches, and the links connecting the network devices are composed of optical fiber cables. In FIG. 10, the number of network devices and links is arbitrary.
[0004] In the verification of network devices, there are verifications that can be carried out on one network device and verifications that use multiple network devices.
[0005] As an example of verification carried out on one network device, as shown by the dashed line 241 in FIG. 10, a verification can be cited in which the SNMP (Simple Network Management Protocol) is correctly transmitted when the network device 226 is restarted by the network device 226 and the traffic generation device 230. The traffic generation device 230 is a simulator.
[0006] As an example of verification using multiple network devices, as shown by the dashed line 242 in FIG. 10, a verification can be cited in which the correct route is learned by the Border Gateway Protocol (BGP) by the network devices 221, 222, 223, and the traffic generation device The traffic generation device 230 is a simulator
[0007] Furthermore, the applicant has previously proposed a method for reducing computational complexity by sequentially selecting verifications to be executed as each verification is completed (see Non-Patent Document 1). In this method, to consider the time axis, the timing of the completion of other accepted verifications is extracted to determine the next verification to be accepted. This method also determines the waiting time by applying unexecuted verifications to each topology of the network that changes over time. This prior art treats all network devices as a single entity in network verification, and when verifying multiple devices simultaneously, it is possible to shorten the verification time for each network device.
[0008] Aoki et al., "Proposal of a Method for Improving Capacity Efficiency in Network Verification Automation," IEICE General Conference, B-6-22, February 26, 2024.
[0009] In network verification, there may be nodes that require the use of Devices Under Test (DUT) devices and nodes that are permitted to use non-DUT devices. However, conventional techniques did not allow for the selection of which non-DUT devices could be used when verifying multiple devices simultaneously. Therefore, conventional techniques could not always optimally arrange the order of verification, and the overall execution time of verification could not be shortened, indicating room for improvement.
[0010] Therefore, in view of the above circumstances, the present invention aims to reduce the overall execution time of verification while using devices that are not being verified, when verifying multiple devices simultaneously.
[0011] The shared resource allocation device according to the present invention is a shared resource allocation device that arranges the execution order of verifications using shared resources in a verification automation system that processes multiple verification groups in parallel, wherein each verification group is a plurality of different verifications processed sequentially for each type of device to be verified, and comprises: a priority extraction unit that extracts the verification group with the highest priority based on the priority assigned to the verification group; a verification extraction unit that extracts verifications using the device to be verified and non-verified devices which are shared resources of each verification group, along with the number of non-verified devices; and an execution order determination unit that determines the execution order of verifications by selecting verifications for the verification group with the highest priority so as to maximize the number of non-verified devices used.
[0012] According to the present invention, when performing verification on multiple devices simultaneously, the overall execution time of the verification can be reduced while using the device not being verified.
[0013] This is a schematic diagram of a shared resource placement device according to an embodiment of the present invention. This is a schematic diagram showing an example of the verification execution sequence. This is a schematic diagram showing the processing of the sequence determination unit. This is a flowchart showing the processing flow of the shared resource placement device. This is a schematic diagram showing an example of a verification group. This is a schematic diagram showing an example of the execution sequence of shared resources. This is a schematic diagram showing an example of the execution sequence of shared resources according to an embodiment. This is a schematic diagram showing an example of the execution sequence of shared resources according to a comparative example. This is a hardware configuration diagram showing an example of a computer that realizes the functions of the shared resource placement device according to an embodiment. This is a diagram showing an example of a conventional verification automation system.
[0014] The shared resource allocation device according to this embodiment will be described in detail below with reference to the drawings. [Verification Automation System] A verification automation system including a shared resource allocation device according to an embodiment of the present invention will be described with reference to Figure 1. The verification automation system 1 comprises a plurality of devices to be verified 20, a plurality of devices not to be verified 20N, a traffic generation device 30, and a shared resource allocation device 100. The verification automation system 1 processes a plurality of verification groups in parallel. Each verification group consists of a plurality of different verifications that are processed sequentially for each type of device to be verified 20. The devices not to be verified 20N are shared resources for each verification group. The devices to be verified 20 are, for example, composed of special switches, and the devices not to be verified 20N are composed of general-purpose switches. The traffic generation device 30 is a simulator that causes the devices to be verified 20 and the devices not to be verified 20N to perform verification according to the verification execution order obtained from the shared resource allocation device 100. Here, the devices to be verified 20 are labeled "DUT" in the figure, and the devices not to be verified 20N are labeled "non-DUT" in the figure. The number of each device is arbitrary.
[0015] [Overview of the Shared Resource Placement Device] The shared resource placement device 100 arranges the execution order of verifications using shared resources in the verification automation system 1. As shown in Figure 1, the shared resource placement device 100 includes a priority assignment unit 110, a priority extraction unit 120, a cooperation processing unit 130, a verification extraction unit 140, a second verification extraction unit 150, a non-shared resource placement unit 160, and a sequence determination unit 170.
[0016] The priority assignment unit 110 assigns a priority to the verification groups. The priority extraction unit 120 extracts the verification group with the highest priority based on the priority assigned to the verification groups. The coordination processing unit 130 coordinates the processing between the verification groups. The verification extraction unit 140 extracts verifications that use the device to be verified 20 and the device not to be verified 20N, along with the number of devices not to be verified 20N. The second verification extraction unit 150 extracts verifications that do not use the device not to be verified 20N. The non-shared resource placement unit 160 determines the execution order of verifications that do not use the device not to be verified 20N. The sequence determination unit 170 determines the execution order of verifications by selecting verifications for the verification group with the highest priority so that the number of devices not to be verified 20N used is maximized.
[0017] [Details of each part of the shared resource allocation device] The shared resource allocation device 100 stores, for example, information and shared information for each verification group. Alternatively, information and shared information for each verification group are input to the shared resource allocation device 100 each time. Here, the information for each verification group includes information such as the type of verification, verification items, and time for each verification group. The types of verification are broadly divided into verifications that use only the device to be verified 20 and verifications that also use the non-verified device 20N. The verification items include the verification identifier and the content of the verification. The time indicates the estimated time required to execute the verification.
[0018] The shared information includes identification information and the number of non-verified devices 20N. If the number of non-verified devices 20N is, for example, 6, then the number of non-verified devices 20N that can be used simultaneously across verification groups is 6. In this case, the information for each verification group that includes verifications using non-verified devices 20N will include information such as verifications using 2 non-verified devices 20N, verifications using 3 non-verified devices 20N, and so on.
[0019] The priority assignment unit 110 accepts, for example, user input and assigns a priority to each verification group. The priority assignment unit 110 may be located outside the shared resource allocation device 100. It is desirable that each verification group be assigned a different priority, but the remaining verification groups, excluding the verification group with the highest priority, may be assigned the same priority.
[0020] Here, priority will be explained with reference to Figure 2. Figure 2 schematically shows two verification groups, one using a hardware AAA switch and the other using a hardware BBB switch, as the device under verification 20. Hardware BBB is different from hardware AAA. The vertical axis in Figure 2 shows the execution time of the verification, with the origin being T0 (T0 < Ta < Tb < Tc < Td).
[0021] The verification group for hardware AAA consists of, for example, verifications 311 to 319, which are executed in sequence. Of these, verifications 311, 313, 315, 317, and 319 are verifications that do not use the non-verified device 20N (non-DUT), while verifications 312, 314, 316, and 318 are verifications that use the non-verified device 20N.
[0022] The verification group for the hardware BBB consists, for example, of verifications 321 to 329, which are executed in sequence. Of these, verifications 321, 323, 325, 327, and 329 are verifications that do not use the non-verification target device 20N, while verifications 322, 324, 326, and 328 are verifications that use the non-verification target device 20N. Note that the verifications separated in the diagram may be a single verification or may contain multiple verifications internally.
[0023] High priority in a verification group may refer to the perspective of shortening the completion time of the verification group (first perspective). In this case, a high priority can be assigned to the verification group for hardware AAA in order to shorten the completion time Tc of the verification group for hardware BBB to Td of the verification group for hardware BBB. Alternatively, high priority in a verification group may refer to the perspective of prioritizing the execution of verification using the non-verified device 20N (second perspective). In this case, a high priority can be assigned to the verification group for hardware BBB. In the following explanation, high priority in a verification group will be described as, for example, prioritizing the execution of verification using the non-verified device 20N and shortening the completion time of the verification group.
[0024] Returning to Figure 1, let's continue the explanation of the shared resource allocation device 100. The priority extraction unit 120 notifies the verification extraction unit 140 and the sequence determination unit 170 of the information of the verification group with the highest priority. In this embodiment, the priority extraction unit 120 also notifies the second verification extraction unit 150 and the non-shared resource allocation unit 160 of the information of the verification group with the highest priority.
[0025] The linkage processing unit 130 coordinates the processing between verification groups that perform verification simultaneously. For example, the linkage processing unit 130 performs a coordinated process that simultaneously performs verification using the non-verification target device 20N in the verification group with the highest priority and verification in other verification groups. Alternatively, the priority extraction unit 120 or the order determination unit 170 can perform the functions of the linkage processing unit 130.
[0026] The verification extraction unit 140 extracts verifications that use the non-verified device 20N for each verification group. The verification extraction unit 140 notifies the sequence determination unit 170 of the items of verification that use the non-verified device 20N, along with the number of non-verified devices 20N used.
[0027] The second verification extraction unit 150 extracts verifications for each verification group that do not use the non-verified device 20N. The second verification extraction unit 150 notifies the non-shared resource placement unit 160 of the verification items that do not use the non-verified device 20N.
[0028] The non-shared resource placement unit 160 determines the order of verification by selecting, for each verification group, verifications that do not use the non-verification target device 20N, which were extracted by the second verification extraction unit 150, using conventional methods. The non-shared resource placement unit 160 can use, for example, the verification placement method described in Non-Patent Document 1. Note that the second verification extraction unit 150 and the non-shared resource placement unit 160 may be provided outside the shared resource placement device 100.
[0029] The sequence determination unit 170 is preferable to select, in each verification group, verifications that use a large number of non-verified devices 20N from among the unexecuted verifications. For example, suppose in a verification group related to hardware AAA, there are two unexecuted verifications, one that uses two non-verified devices 20N and the other that uses six non-verified devices 20N. In that case, the sequence determination unit 170 will select the verification that uses six non-verified devices 20N first.
[0030] As shown in Figure 3, it is desirable for the sequence determination unit 170 to select multiple unexecuted verifications that use the non-verified device 20N in each verification group. In the example shown in Figure 3, a high priority is given to the verification group related to hardware AAA. The verification group related to hardware AAA consists of verifications 411 to 413 which are executed in order. Of these, verifications 411 and 413 are verifications that do not use the non-verified device 20N (non-DUT), and verification 412 is a verification that uses the non-verified device 20N. The verification group related to hardware BBB consists of verifications 421 to 423 which are executed in order. Of these, verifications 421 and 423 are verifications that do not use the non-verified device 20N, and verification 422 is a verification that uses the non-verified device 20N.
[0031] Here, let's assume that the verification group shown in Figure 2 exists when the sequence determination unit 170 is not used. In the verification group shown in Figure 2, when considering the optimization of the verification execution order, verifications 311, 313, 315, 317, and 319, which do not use the non-verification target device 20N, become subproblems. Generally, when finding the solution to a target problem by dividing it into multiple subproblems and solving each subproblem, if there are many subproblems, the number of combination patterns becomes enormous, and optimizing all combinations takes a long time to calculate. In the case of the verification group shown in Figure 2, verifications 321, 323, 325, 327, and 329 also become subproblems. In other words, the verification group shown in Figure 2 has a total of 10 subproblems.
[0032] In contrast, as shown in Figure 3, the sequence determination unit 170 can, for example, in the verification group for hardware AAA, select multiple verifications using the non-verification target device 20N together, thereby enabling the verification execution order to be verification 411, verification 412, and verification 413. Similarly, in the verification group for hardware BBB, the sequence determination unit 170 can, by selecting multiple verifications using the non-verification target device 20N together, enable the verification execution order to be verification 421, verification 422, and verification 423. In other words, as shown in Figure 3, the sequence determination unit 170 can reduce the number of subproblems to a total of four: verifications 411, 413, 421, and 423. Thus, with the shared resource allocation device 100, the number of subproblems is reduced in optimizing the execution order of the verifications, allowing for a more optimal arrangement of the verification execution order.
[0033] Note that the processing of verification 422 starts later than the processing of verification 412. This is because the verification group for hardware AAA has a higher priority than the verification group for hardware BBB.
[0034] Furthermore, if the non-shared resource allocation unit 160 selects verifications that do not use the non-verification target device 20N using the method described in Non-Patent Document 1, the number of combination patterns among the multiple verifications selected together increases, enabling efficient accommodation and shortening the execution time of verifications that do not use the non-verification target device 20N.
[0035] As shown in Figure 3, the completion time Ta for the verification group related to hardware AAA when the sequence determination unit 170 is used is shorter than the completion time Tc for the verification group related to hardware AAA when the sequence determination unit 170 is not used. Similarly, the completion time Tb for the verification group related to hardware BBB when the sequence determination unit 170 is used is shorter than the completion time Td for the verification group related to hardware BBB when the sequence determination unit 170 is not used.
[0036] [Operation of the Shared Resource Allocation Device] Next, the operation of the shared resource allocation device 100 will be explained with reference to Figure 4 (and Figures 1 and 3 as appropriate). For example, the priority assignment unit 110 of the shared resource allocation device 100 assigns a priority to each verification group (step S100). Then, the priority extraction unit 120 extracts the priority of each verification group (step S200). Then, the cooperation processing unit 130 performs cooperation processing between the verification groups (step S300).
[0037] Then, in the process of step S300, the verification extraction unit 140 extracts verifications that use the non-verification target device 20N from the verification group with the highest priority (the verification group related to hardware AAA) (step S311). Furthermore, the sequence determination unit 170 arranges the verifications that use the non-verification target device 20N (step S312). Note that arranging the verifications means determining the order in which the verifications will be performed and preparing the non-verification target device 20N, etc., so that they can perform the verifications. Then, the verification extraction unit 140 extracts verifications that use the non-verification target device 20N from the verification group with low priority (the verification group related to hardware BBB) (step S321). Furthermore, the sequence determination unit 170 arranges the verifications that use the non-verification target device 20N (step S322).
[0038] Furthermore, in the process of step S300, the second verification extraction unit 150 extracts verifications that do not use the non-verified device 20N from the verification group with the highest priority (verification group related to hardware AAA) (step S313). Then, the non-shared resource placement unit 160 places verifications that do not use the non-verified device 20N (step S314). Then, the second verification extraction unit 150 extracts verifications that do not use the non-verified device 20N from the verification group with low priority (verification group related to hardware BBB) (step S323). Then, the non-shared resource placement unit 160 places verifications that do not use the non-verified device 20N (step S324).
[0039] Note that in Figure 4, the processes in the 300s are schematic representations of coordinated processing between verification groups, and do not necessarily represent the processes in chronological order. Therefore, for example, in order to execute verification 411 in Figure 3, it is acceptable to execute processes similar to those in steps S313 and S314 in Figure 4 before processes S311 and S312.
[0040] [Specific Examples of the Three Verification Groups] Next, specific examples of the three verification groups will be explained with reference to Figure 5. Here, we assume a case where a new version of the OS (Operating System) is released, and we verify whether a given OS can support three types of hardware: AAAA, BBBB, and CCCC. The device 20A to be verified for hardware AAAA is labeled "AAAA" in the figure. The device 20B to be verified for hardware BBBB is labeled "BBBB" in the figure. The device 20C to be verified for hardware CCCC is labeled "CCCC" in the figure. The device 20N not to be verified is labeled "Non-DUT" in the figure.
[0041] The verification group for hardware AAAA includes, for example, verification A-1, verification A-2, ..., etc. The verification group for hardware BBBB includes, for example, verification B-1, verification B-2, ..., etc. The verification group for hardware CCCC includes, for example, verification C-1, verification C-2, ..., etc.
[0042] Verifications A-1, B-1, and C-1 involve verifying the connectivity of a VxLAN (Virtual eXtensible Local Area Network). For example, Verification A-1 is performed using six devices 20A under verification, two devices 20N not under verification, and a traffic generation device 30. Verification B-1 is performed by replacing the devices 20A under verification in Verification A-1 with devices 20B under verification. Verification C-1 is performed by replacing the devices 20A under verification in Verification A-1 with devices 20C under verification.
[0043] The contents of Verifications A-2, B-2, and C-2 are to check the syslog when the cable is cut. For example, when executing Verification A-2, two verification target devices 20A are used. Verification B-2 is executed by replacing the verification target device 20A in Verification A-2 with the verification target device 20B. Verification C-2 is executed by replacing the verification target device 20A in Verification A-2 with the verification target device 20C.
[0044] [Other Specific Examples of Three Verification Groups] Next, other specific examples of the three verification groups will be described with reference to FIG. 6. The number of non-verification target devices 20N that can be used simultaneously is six. For the verification group related to Hardware AAAA, "high" is set as the priority. For the verification group related to Hardware BBBB, "medium" is set as the priority. For the verification group related to Hardware CCCC, "low" is set as the priority. The content of the verification included in each verification group is different from that shown in FIG. 5.
[0045] The verification group related to Hardware AAAA includes Verifications A-8 and A-10 that use the non-verification target device 20N and verifications that do not use the non-verification target device 20N. Verification A-8 is a verification that uses four non-verification target devices 20N. Verification A-10 is a verification that uses six non-verification target devices 20N.
[0046] The verification group related to Hardware BBBB includes Verifications B-9, B-10, and B-12 that use the non-verification target device 20N and verifications that do not use the non-verification target device 20N. Verification B-9 is a verification that uses two non-verification target devices 20N. Verification B-10 is a verification that uses six non-verification target devices 20N. Verification B-12 is a verification that uses three non-verification target devices 20N.
[0047] The verification group related to Hardware CCCC includes Verifications C-10, C-11, and C-12 that use the non-verification target device 20N and verifications that do not use the non-verification target device 20N. Verification C-10 is a verification that uses six non-verification target devices 20N. Verification C-11 is a verification that uses two non-verification target devices 20N. Verification C-12 is a verification that uses three non-verification target devices 20N.
[0048] In the case of the above conditions, the shared resource allocation device 100 first selects verifications so that the number of non-verification target devices 20N to be used is maximized in the verification group with "high" priority (the verification group related to hardware AAA). That is, the shared resource allocation device 100 arranges verification A-10 in the verification group related to hardware AAA. As a result, even if the verification group with "medium" priority uses the remaining non-verification target devices 20N, the number of subproblems will not increase. Then, this verification A-10 is executed (step S511 in FIG. 6). Next, the shared resource allocation device 100 arranges verification A-8 in the verification group related to hardware AAA. As a result, verification A-8 is executed (step S512). Thereafter, in the verification group related to hardware AAA, a verification that does not use the non-verification target device 20N is executed (step S513).
[0049] In parallel with the processing of step S511, in the verification group with "medium" priority (the verification group related to hardware BBB), a verification that does not use the non-verification target device 20N is executed (step S521). Similarly, in parallel with the processing of step S511, in the verification group with "low" priority (the verification group related to hardware CCC), a verification that does not use the non-verification target device 20N is executed (step S531).
[0050] When the processing of step S512 is executed, two non-verification target devices 20N are unused. Therefore, in parallel, in the verification group with "medium" priority (the verification group related to hardware BBB), among verifications B -9, B -10, and B -12, the executable verification B -9 is executed (step S522). Subsequently, the shared resource allocation device 100 preferentially selects, in the verification group with "medium" priority, a verification with a large number of non-verification target devices 20N used among the remaining verifications. As a result, verification B -10 is executed (step S523), and then verification B -12 is executed (step S524). Then, a verification that does not use the non-verification target device 20N is executed (step S525).
[0051] When the process in step S524 is executed, three of the non-verified devices 20N were unused. Therefore, in parallel, the verification group with "low" priority (the verification group related to hardware CCC) executes the feasible verification (for example, verification C-11) (step S532). Subsequently, the shared resource allocation device 100 prioritizes selecting the verifications with the most non-verified devices 20N in use from the remaining verification groups with "low" priority. As a result, verification C-10 is executed (step S533), followed by verification C-12 (step S534). Then, verifications that do not use the non-verified devices 20N are executed (step S535).
[0052] [Processing Example for High-Priority Verification Groups] Next, an example of processing for high-priority verification groups by the shared resource allocation device 100 will be described with reference to Figures 7 and 8 (and Figure 6 as appropriate). Figure 7 is a schematic diagram showing an example of the implementation sequence of shared resources according to the embodiment, and Figure 8 is a schematic diagram showing an example of the implementation sequence of shared resources according to the comparative example. Steps S611 to S613 shown in Figure 7 are the same as steps S511 to S513 shown in Figure 6. Steps S621 to S622 shown in Figure 7 are the same as steps S521 to S521 shown in Figure 6. Steps S523 to S524 shown in Figure 6 have been omitted, and step S525 has been replaced with step S623.
[0053] In the embodiment shown in Figure 7, as shown in steps S611 to S612, the configurations are arranged starting with those using a large number of non-verification target devices 20N. On the other hand, the comparative example is arranged starting with those using a small number of non-verification target devices 20N. Specifically, as shown in Figure 8, the comparative example places verification A-8 in the verification group related to hardware AAA. As a result, verification A-8 is executed (step S711). In parallel with this process, the comparative example performs verification without using non-verification target devices 20N in the verification group with a "medium" priority (verification group related to hardware BBB) (step S721). However, when the process in step S711 is executed, two non-verification target devices 20N were unused. Therefore, in parallel, the executable verification B-9 is executed in the verification group related to hardware BBB (step S722). Finally, verification without using non-verification target devices 20N is performed (step S723).
[0054] In the comparative example, in the verification group for hardware AAA, when verification A-8 is completed, there are four remaining non-verified devices 20N. As a result, it is impossible for the comparative example to set up verification A-10 when verification A-8 is completed. Therefore, in the comparative example, a verification that does not use the non-verified devices 20N must be set up following step S711, resulting in a partial problem. Then, the verification that does not use the non-verified devices 20N is performed (step S712). After that, verification A-10 is performed (step S713), and finally, the verification that does not use the non-verified devices 20N is performed (step S714).
[0055] In contrast, the embodiment has the effect of preventing an increase in subproblems in the high-priority verification group (the verification group related to AAAA) by accommodating those with a large number of non-verification target devices 20N first.
[0056] [Hardware Configuration] The shared resource allocation device 100 according to the above embodiment is implemented by a computer 900 having a configuration such as that shown in Figure 9. Figure 9 is a hardware configuration diagram showing an example of a computer 900 that implements the functions of the shared resource allocation device 100 according to this embodiment. The computer 900 has a CPU (Central Processing Unit) 901, ROM (Read Only Memory) 902, RAM (Random Access Memory) 903, HDD (Hard Disk Drive) 904, input / output I / F (Interface) 905, communication I / F 906, and media I / F 907.
[0057] The CPU 901 operates based on programs stored in the ROM 902 or HDD 904. The ROM 902 stores boot programs executed by the CPU 901 when the computer 900 starts up, as well as programs related to the computer 900's hardware.
[0058] The CPU 901 controls input devices 910, such as a mouse or keyboard, and output devices 911, such as a display or printer, via the input / output interface 905. The CPU 901 acquires data from the input devices 910 and outputs the generated data to the output devices 911 via the input / output interface 905. In addition to the CPU 901, a GPU (Graphics Processing Unit) or the like may also be used as a processor.
[0059] The HDD 904 stores programs executed by the CPU 901 and data used by those programs. The communication I / F 906 receives data from other devices via the communication network 920 and outputs it to the CPU 901, and also transmits data generated by the CPU 901 to other devices via the communication network (NW) 920.
[0060] The media interface 907 reads a program or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads the program related to the desired processing from the recording medium 912 onto the RAM 903 via the media interface 907 and executes the loaded program. The recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase Change Rewritable Disk), a magneto-optical recording medium such as an MO (Magneto Optical Disk), a magnetic recording medium, or a semiconductor memory.
[0061] For example, when computer 900 functions as a shared resource allocation device 100, the CPU 901 realizes the function of the shared resource allocation device 100 by executing a program (shared resource allocation program) loaded onto RAM 903. The HDD 904 stores the data from RAM 903. The CPU 901 reads and executes a program related to the desired processing from the recording medium 912. In addition, the CPU 901 can also read programs related to the desired processing from other devices via the communication network 920.
[0062] [Effects] As described above, the shared resource allocation device 100 is a shared resource allocation device 100 that arranges the execution order of verifications using shared resources in a verification automation system 1 that processes multiple verification groups in parallel, wherein each verification group is a plurality of different verifications that are processed sequentially for each type of device to be verified 20, and is characterized by comprising: a priority extraction unit 120 that extracts the verification group with the highest priority based on the priority assigned to the verification group; a verification extraction unit 140 that extracts verifications using the device to be verified 20 and the non-verification target device 20N which are shared resources of each verification group, along with the number of non-verification target devices 20N; and an execution order determination unit 170 that determines the execution order of verifications by selecting verifications for the verification group with the highest priority so as to maximize the number of non-verification target devices 20N used.
[0063] By doing so, the shared resource allocation device 100 allocates the verification to the highest priority verification group so that the maximum number of non-verified devices 20N are used. This allows for the selection of any non-verified device 20N to be used when verifying multiple devices simultaneously. In other words, the shared resource allocation device 100 makes it possible to share non-verified devices 20N among verification groups performing verifications simultaneously. Therefore, the shared resource allocation device 100 can share non-verified devices 20N among the verification groups, optimize the allocation of verifications, and shorten the overall execution time of the verifications.
[0064] In the shared resource allocation device 100, the sequence determination unit 170 is characterized by selecting multiple unexecuted verifications that use the non-verification target device 20N in each verification group.
[0065] By doing so, the shared resource allocation device 100 selects all verifications that use the non-verified device 20N together, thus eliminating the need to separate the allocation of verifications that do not use the non-verified device 20N into subproblems. This reduces the number of subproblems and the number of optimal allocation combinations, enabling efficient allocation and shortening the overall execution time of the verifications.
[0066] In the shared resource allocation device 100, the sequence determination unit 170 is characterized by prioritizing the selection of unexecuted verifications in each verification group that are used by a large number of non-verification target devices 20N.
[0067] By doing so, the shared resource allocation device 100 accommodates devices 20N that are not subject to verification in large numbers, thereby preventing an increase in subproblems in high-priority verification groups.
[0068] It should be noted that the present invention is not limited to the embodiments described above, and many modifications are possible within the technical concept of the present invention by those with ordinary skill in the art. For example, although the device under verification 20 and the device not under verification 20N were described as being composed of switches, they may be other network devices such as routers.
[0069] Furthermore, the traffic generation device 30 shown in Figure 1 can be configured to include a shared resource allocation device 100 inside. Also, the traffic generation device 30 is not mandatory; the shared resource allocation device 100 can be directly connected to the device under verification 20 or the device not under verification 20N. Additionally, the verification automation system 1 may include a network controller for controlling the device under verification 20 or the device not under verification 20N. In that case, the shared resource allocation device 100 can also be configured to include the network controller as a device under verification.
[0070] 1. Verification Automation System 20, 20A, 20B, 20C Verification Target Device 20N Non-Verification Target Device 30 Traffic Generation Device 100 Shared Resource Placement Device 110 Priority Assignment Unit 120 Priority Extraction Unit 130 Coordination Processing Unit 140 Verification Extraction Unit 150 Second Verification Extraction Unit 160 Non-Shared Resource Placement Unit 170 Sequence Determination Unit
Claims
1. A shared resource allocation device for arranging the execution order of verifications using shared resources in a verification automation system that processes multiple verification groups in parallel, wherein each verification group is a plurality of different verifications processed sequentially for each type of device to be verified; the device comprises: a priority extraction unit that extracts the verification group with the highest priority based on the priority assigned to the verification group; a verification extraction unit that extracts verifications using the device to be verified and non-verified devices which are shared resources of each verification group, along with the number of non-verified devices; and an execution order determination unit that determines the execution order of verifications by selecting verifications for the verification group with the highest priority such that the number of non-verified devices used is maximized.
2. The shared resource allocation device according to claim 1, characterized in that the sequence determination unit selects a group of unexecuted verifications in each verification group that use non-verification target devices.
3. The shared resource allocation device according to claim 2, characterized in that the sequence determination unit, in each verification group, prioritizes selecting verifications that have a large number of non-verification target devices in use from among the unexecuted verifications.
4. A method for arranging shared resources in a shared resource arrangement device for arranging the execution order of verifications using shared resources in a verification automation system that processes multiple verification groups in parallel, wherein each verification group is a plurality of different verifications that are processed sequentially for each type of device to be verified, and the method is characterized by comprising: a step of extracting the verification group with the highest priority based on the priority assigned to the verification group; a step of extracting verifications that use the device to be verified and non-verified devices which are shared resources of each verification group, along with the number of non-verified devices; and a step of determining the execution order of verifications by selecting verifications for the verification group with the highest priority such that the number of non-verified devices used is maximized.
Citation Information
Patent Citations
Fronthaul remote access and monitoring systems and methods to test fiber optic infrastructure and RF spectrum
US20190386753A1