Function-mapping method, function-mapping control device, control system using function-mapping control device, and function-mapping program

The function mapping method optimizes large-scale network environments by dividing and integrating mapping problems, reducing calculation time and improving efficiency.

WO2025243357A1PCT designated stage Publication Date: 2025-11-27NT T INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/018500
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-20
Publication Date
2025-11-27

AI Technical Summary

Technical Problem

Conventional function mapping methods in large-scale network environments experience exponential increases in calculation time due to the large problem scale, leading to inefficient search times.

Method used

A function mapping method and control device that divides and integrates mapping problems into smaller subproblems, optimizing the objective function through mathematical calculations to reduce the number of combinations and search time.

Benefits of technology

The method significantly reduces the number of combinations to be searched, thereby decreasing calculation time and enabling efficient function mapping in large-scale systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024018500_27112025_PF_FP_ABST
    Figure JP2024018500_27112025_PF_FP_ABST
Patent Text Reader

Abstract

A function-mapping method according to the present invention is for equipping a calculator determined by optimal solutions for mapping problems with a function to be connected via a path and comprises: a step for retaining information regarding a control system and service information which includes information regarding the function and information regarding the path; a step for determining an order in which mapping is performed; a step for extracting the service information and the information regarding the control system in the determined order; a step for determining, on the basis of the service information and the information regarding the control system, object functions of the mapping problems and executing calculations for optimizing the object functions; a step for determining, on the basis of the object functions optimized for each of the mapping problems and on the basis of the optimal solutions for all of the mapping problems, a calculator to be equipped with the function; and a step for equipping the determined calculator with the function. As a result, the present invention can provide a function-mapping method which makes it possible to reduce searching time.
Need to check novelty before this filing date? Find Prior Art

Description

Function mapping method, function mapping control device, control system using the function mapping control device, and function mapping program

[0001] The present invention relates to a function mapping method, a function mapping control device, a control system using the function mapping control device, and a function mapping program.

[0002] Network Function Virtualization (NFV), which virtualizes network service functions that were previously implemented using dedicated hardware on general-purpose servers, has been attracting attention. To provide users with the services they desire by flexibly combining virtualized network functions, a method for forwarding packets to appropriate network devices in the appropriate order is required. Service Function Chaining (SFC) is being considered as a packet forwarding method for implementing such technology (see Non-Patent Document 1).

[0003] A report focusing on the application of SFC to communication between computers demonstrated that a look-aside CPU-FPGA architecture can flexibly link multiple image processing functions, achieving low latency and enabling the provision of real-time video surveillance services (Non-Patent Document 2). While SFC is thus applied in a variety of fields other than network services, a common and important issue in the implementation of SFC is the function mapping algorithm. In particular, as IT, AI, and other services expand, and the number of services and computing resources increases, it is important to be able to map functions within a valid time frame, even in large-scale cases.

[0004] 20 shows a flowchart for implementing a mapping algorithm in a conventional VNF (see Non-Patent Document 3). The conventional VNF includes a step of acquiring input information (step S51), a step of constructing a mathematical programming model (step S52), a step of determining an objective function (step S53), and a step of performing mathematical optimization (step S54). This makes it possible to mathematically optimally solve a function mapping problem so that the objective function is optimized.

[0005] RFC 7665 - Service Function Chaining (SFC) Architecture (https: / / datatracker.ietf.org / doc / html / rfc7665). Y. Ukon et al., “Real-Time Image Processing Based on Service Function Chaining Using CPU-FPGA Architecture,” IEICE Transactions on Communications, vol.103, no.1, pp.11-19, 2020, (https: / / search.ieice.org / bin / summary.php?id=e103-b_1_11). S. Mehraghdam, M. Keller and H. Karl, "Specifying and placing chains of virtual network functions," 2014 IEEE 3rd International Conference on Cloud Networking (CloudNet), Luxembourg, Luxembourg, 201, pp.7-13, doi: 10.1109 / CloudNet.2014.6968961. (https: / / ieeexplore.ieee.org / document / 8281644) .

[0006] However, in the conventional method described above, mathematical optimization calculations are performed for all services at once, so when the problem scale (number of functions, number of paths, number of computers, etc.) is large, the amount of calculations increases exponentially with the problem scale, resulting in a significant increase in search time, which was a problem.

[0007] In order to solve the above-mentioned problems, a function mapping method according to the present invention is a function mapping method in a control system having a function mapping control device and a plurality of computers, in which the control device loads functions connected by paths onto computers determined by an optimal solution of a mapping problem regarding the loading of functions onto the computers, the method comprising the steps of: retaining service information including information on the functions and information on the paths and information on the control system; solving the mapping problem and determining an order of mapping; extracting the service information and information on the control system according to the order of mapping; determining an objective function for the mapping problem based on the service information and the information on the control system and performing a calculation to optimize the objective function; obtaining scores for all the mapping problems based on the optimized objective function for each mapping problem; determining the computer on which to load the function based on an optimal value of the score corresponding to the optimal solution;

[0008] Furthermore, the function mapping control device of the present invention is a function mapping control device that, in a control system having a plurality of computers, loads functions connected by paths onto a computer determined by an optimal solution of a mapping problem regarding the loading of functions onto the computers, and comprises: a data retention control functional unit that retains service information including information on the functions and information on the paths and information on the control system; a mapping order determination functional unit that solves the mapping problem and determines the order of mapping; a data extraction functional unit that extracts the service information and information on the control system according to the order; a mapping functional unit that uses the service information and the information on the control system to determine an objective function for the mapping problem and executes a mathematical optimization calculation according to the objective function; a data integration functional unit that determines the computer on which to load the function based on the optimal solution; and a mapping implementation functional unit that loads the function onto the determined computer.

[0009] Furthermore, a function mapping program according to the present invention causes a function mapping control device to execute processing including the steps of: storing service information including information on the functions and information on the paths and information on the control system, for a function mapping control device that loads functions connected by paths on computers determined by an optimal solution of a mapping problem related to the loading of functions onto the computers; solving the mapping problem and determining an order of mapping; extracting the service information and information on the control system according to the order of mapping; determining an objective function for the mapping problem based on the service information and the information on the control system, and performing calculations to optimize the objective function; calculating scores for all the mapping problems based on the optimized objective function for each mapping problem; determining the computers on which to load the functions based on the optimal values ​​of the scores; and loading the functions onto the determined computers, thereby causing the function mapping control device to function.

[0010] According to the present invention, it is possible to provide a function mapping method, a function mapping control device, a control system using the function mapping control device, and a function mapping program that can reduce search time.

[0011] FIG. 1 is a block diagram showing the configuration of a control system using a function mapping control device according to a first embodiment of the present invention. FIG. 2 is a block diagram showing the configuration of the function mapping control device according to the first embodiment of the present invention. FIG. 3 is a block diagram showing the configuration of a mapping function unit of the function mapping control device according to the first embodiment of the present invention. FIG. 4 is a block diagram showing the configuration of a problem division and integration function unit of the function mapping control device according to the first embodiment of the present invention. FIG. 5A is a flowchart showing the function mapping method according to the first embodiment of the present invention. FIG. 5B is a flowchart showing the function mapping method according to the first embodiment of the present invention. FIG. 6A is a diagram showing the function mapping method according to the first embodiment of the present invention. FIG. 6B is a diagram showing the function mapping method according to the first embodiment of the present invention. FIG. 7 is a diagram showing the effect of the function mapping method according to the first embodiment of the present invention. FIG. 8 is a diagram showing the effect of the function mapping method according to the first embodiment of the present invention. FIG. 9 is a block diagram showing an example of the configuration of a control system using a function mapping control device according to a second embodiment of the present invention. FIG. 10 is a flowchart showing the function mapping method according to the second embodiment of the present invention. FIG. 11A is a flowchart showing the function mapping method according to the second embodiment of the present invention. Fig. 11B is a diagram for explaining a function mapping method according to a second embodiment of the present invention. Fig. 12A is a diagram for explaining a function mapping method according to a second embodiment of the present invention. Fig. 12B is a diagram for explaining a function mapping method according to a second embodiment of the present invention. Fig. 13 is a block diagram showing an example of the configuration of a control system using a function mapping control device according to a third embodiment of the present invention. Fig. 14A is a flowchart for explaining a function mapping method according to the third embodiment of the present invention.Fig. 14B is a diagram illustrating a function mapping method according to a third embodiment of the present invention. Fig. 15 is a flowchart illustrating an example of a function mapping method according to an embodiment of the present invention. Fig. 16 is a block diagram showing an example of the configuration of a control system using a function mapping control device according to a fourth embodiment of the present invention. Fig. 17 is a block diagram showing the configuration of a problem division and integration function unit of a function mapping control device according to the fourth embodiment of the present invention. Fig. 18 is a flowchart illustrating a function mapping method according to the fourth embodiment of the present invention. Fig. 19 is a diagram showing an example of the configuration of a computer according to an embodiment of the present invention. Fig. 20 is a flowchart illustrating a conventional function mapping method.

[0012] First Embodiment A function mapping method, a function mapping control device, and a control system using the function mapping control device according to a first embodiment of the present invention will be described with reference to FIGS. 1 to 8. FIG.

[0013] 1 shows the configuration of a control system (hereinafter also referred to as "control system") 1 using a function mapping control device (hereinafter also referred to as "control device") 10 according to this embodiment. In the control system 1, function mapping is performed.

[0014] In function mapping, a computer that will execute a function calculation is searched for and determined by solving a mapping problem, and a path (route) is determined on the determined computer to allocate (implement) the function. Hereinafter, a mapping problem is a problem for determining a computer on which a function should be installed, such as a problem of which function should be allocated to which computer and how they should be connected.

[0015] Specific examples include optimizing the placement of computers (including the number of computers, etc.), connection information, function information (such as the number of functions), and service information including path information (such as the number of paths, etc.).

[0016] The mapping information includes service information including computer arrangement (including the number of computers, etc.), connection information, function information (such as the number of functions), and path information (such as the number of paths).

[0017] The optimal solution to the mapping problem is the optimized mapping information.

[0018] In this embodiment, the loading of service information into a computer will be described as an example of the mapping problem.

[0019] The control system 1 includes a data transfer function unit 2, an arithmetic function unit 3, and a control function unit (corresponding to the "control device" of the present invention) 10. The arithmetic function unit 3 includes a computer 4 and the data transfer function unit 2. Functions (e.g., F.A., F.B., etc.) are implemented in the computer 4 by function mapping.

[0020] The data transfer function unit 2 transfers data between functions. The data transfer function unit 2 transfers data to a specified function in accordance with a protocol such as TCP / IP or SFC. The data transfer function unit 2 is an Ethernet switch, a PCIe switch, or the like.

[0021] The arithmetic function unit 3 is a collection of multiple computers 4, each of which has a function (F.A., F.B., etc.) that processes received data. The computers 4 are FPGAs, ASICs, XPUs, etc. The functions provided by the computers 4 are functions within the computers such as FPGAs, ASICs, and XPUs, and include, for example, functions such as decoding and resizing input image data in AI inference. The arithmetic function unit 3 may be composed of multiple computers 4, or may be composed of a single computer 4.

[0022] The control function unit 10 implements functions and controls the data transfer function unit 10. The control function unit 10 performs function mapping.

[0023] As shown in Figure 2, the control function unit 10 comprises, in order, an input unit 11, an input information acquisition unit 12, a problem division and integration function unit 13, a mapping implementation function unit 15, and an output unit 16, and also comprises a mapping function unit 14 connected to the problem division and integration function unit 13.

[0024] The input information acquisition unit 12 acquires and stores information necessary for function mapping.

[0025] The mapping function unit 14 performs mapping calculations and obtains mapping information.

[0026] The mapping implementation function unit 15 allocates the functions to the computers 4 based on the mapping information acquired by the mapping function unit 14, and transmits routing information to the data transfer function unit.

[0027] The control function unit 10 may be a CPU including a storage device, or may be implemented in a dedicated device such as an FPGA.

[0028] As shown in FIG. 3 , the mapping function unit 14 is a function unit that implements a flowchart of the conventional technology, and includes an input unit 141, a mathematical programming modeling function unit 142 that converts input information into a mathematical programming model, an objective function determination function unit 143 that determines an objective function desired by a user / service, a mathematical optimization function unit 144 that executes mathematical optimization, and an output unit 145.

[0029] 4, the problem division and integration function unit 13 includes a first input unit 131_1, a data retention control function unit 132, a mapping order determination function unit 133, a data extraction function unit 134, a data integration function unit 135, a storage unit 136, and a first output unit 137_1. It also includes a second input unit 131_2 and a second output unit 137_2 that are connected to the mapping function unit 14. In FIG. 4, solid arrows indicate the direction of data movement (data plane), and dotted lines indicate the direction of control movement (control plane).

[0030] The data storage control function unit 132 separates service information such as function information to be mapped and path information, system configuration information, etc. for each service and stores them in the storage unit 136 .

[0031] The mapping order determination function unit 133 determines the order in which the combinations (services) of functions and paths are mapped.

[0032] The data extraction function unit 134 extracts data from the storage unit 136 in the order determined by the mapping order determination function unit 133 .

[0033] The data integration function unit 135 stores the mathematically optimized information in the storage unit 136 and determines whether to perform the calculation again or to end the process.

[0034] <Function Mapping Method> The function mapping method according to this embodiment will be described with reference to Figures 5A and 5B. Figure 5A shows a flowchart for explaining an overview of the function mapping method according to this embodiment. Figure 5B shows a detailed flowchart.

[0035] The function mapping method comprises step S10 of performing problem division, step S20 of performing mathematical optimization calculation, step S30 of performing problem integration, and step S40 of installing functions in a computer.

[0036] Step S10 is executed by the problem dividing and integrating function unit 13. It is composed of step S11 of storing information on the services to be installed and information on the control system, step S12 of determining the order of mapping for each service (mapping problem), and step S13 of extracting the service information and information on the control system according to the order of mapping.

[0037] Step S11 is executed by the data retention control function unit 132. In step S11, service information including function information and path information for each service is retained (saved) in the storage unit 136. In step S11, information necessary for mapping, such as information on the control system 1 (system configuration information), is also retained in the storage unit 136. For example, input information such as the system configuration information shown in FIG. 6A and the service information shown in FIG. 6B is retained in the storage unit 136.

[0038] Step S12 is executed by the mapping order determination function unit 133. In step S12, the mapping problem is solved and the mapping order is randomly determined. From the second time onwards, an order different from the previously selected order is determined.

[0039] Step S13 is executed by the data extraction function unit 134. In step S13, the service information held in step S11 is extracted one by one in the order determined in step S12. In step S12, system configuration information and the like required for mapping are also extracted. The system configuration information and the like are used in step S20, which executes mathematical optimization as described below. Note that from the second processing onwards, the input information is updated to include mapping information for services previously extracted.

[0040] Furthermore, for a mapping problem that has been solved under the same conditions in the past, step S20 is skipped (omitted) (step S14). In this case, the mapping problem is solved in step S30 by using the past information again.

[0041] Step S20 is executed by the mapping function unit 14. Step S20 sequentially executes step S21 of constructing a mathematical programming model, step S22 of determining an objective function, and step S23 of performing mathematical optimization in accordance with the objective function.

[0042] In step S20, an objective function is determined for one service (mapping problem) determined in step S10, and a mathematical optimization calculation is performed using service information, system configuration information, etc., to solve the function mapping problem so as to optimize (minimize or maximize) the objective function, thereby performing a mapping calculation. As a result of the mapping calculation, the optimized objective function, the value of the objective function (hereinafter referred to as the "score"), mapping information, and other simulation results (network bandwidth used, latency, etc.) are output. For the mathematical optimization calculation, software such as CPLEX or Gurobii may be used. Alternatively, the calculation may be performed using a unique heuristic method.

[0043] Step S30 is executed by the data integration function unit 135 of the problem division and integration function unit 13. In step S30, mapping information is stored as a result of the mapping calculation performed for each service (mapping problem) in step S20. The mapping information for all services (mapping problems) obtained from this result is stored, and scores are obtained and stored for all services (mapping problems). Based on the optimal value of this score, a computer on which to install the function is determined.

[0044] Step S31 is executed by the data integration function unit 135. In step S31, the results of the mapping calculation for each service in step S20 (mapping information, score, etc.) are stored in the storage unit 136. Next, it is determined whether mapping has been performed for all services (step S32). If mapping has not been performed for all services, the process returns to step S13, and the processing loop is repeated until mapping has been performed for all services.

[0045] After mapping is completed for all services, it is determined whether the obtained objective function updates (improves) the past objective function (step S33). More specifically, it is determined whether the scores obtained for all services (mapping problems) update (improve) the past scores.

[0046] If the objective function updates (improves) the past objective function, the objective functions, mapping information, scores, etc. of all services are stored (step S34). Step S34 is executed by the data integration function unit 135.

[0047] If the above objective function does not update the past objective function, the mapping information and the score are not retained, and the following step S35 is performed.

[0048] If the result (solution) of the mapping calculation converges, for example, if the objective function is not updated a predetermined number of times, if the update width (the amount of change in the updated value) falls below a reference value, or if the objective function falls below a reference value, the search is terminated (step S35). As a result, optimal mapping information is determined based on the optimal value of the score. Based on the optimal mapping information, a computer to install the function is determined.

[0049] Finally, step S40 is executed by the mapping implementation function unit 15. Function mapping is performed based on the determined mapping information. For example, it is determined which service should be installed on which computer, and functions for each service are installed on the computer according to this determination.

[0050] If the search is not to be terminated, the previously executed mapping order is deleted, the mapping order is changed, and the input values ​​of the mathematical optimization model (service information, system configuration information, etc.) are reset to their initial values, and then the process is executed again from step S12 (step S36).

[0051] <Effects> The effects of the function mapping method, control device, and control system according to this embodiment will be described below.

[0052] The number of combinations of function mappings executed in this embodiment is expressed by equation (1).

[0053]

[0054] Here, the loop count is the number of times mapping is performed for all services.

[0055] As shown in Figure 7, as an example, let us consider a case where four services are function-mapped to a control system 1 consisting of four arithmetic function units 3. There are two types of data transfer function units 2. The number of functions for the four services 1 to 4 is 25, 20, 25, and 20, respectively, and the number of paths is 40, 50, 40, and 50. Each arithmetic function unit 3 is equipped with 14 computers 4.

[0056] When function mapping is performed using the conventional method, a total of 110 functions and 180 paths (PCIe or Ethernet) are mapped to a total of 56 computers at once, resulting in a total of 180 x 2 x (56 110 ) = approx. 7 x 10 194 There are combinations of

[0057] In this embodiment, as shown in Fig. 8, four services 1 to 4 are divided and mapped for each service. By repeatedly performing this mapping while changing the order (black arrows in the figure), it is possible to perform mapping with a value close to the exact solution. The number of mapping combinations in this embodiment is expressed by equation (2).

[0058]

[0059] When equation (2) reaches its maximum value, it is expressed by equation (3).

[0060]

[0061] According to this embodiment, the number of combinations to be searched can be significantly reduced compared to the prior art, and function mapping can be performed, thereby reducing the search time (calculation time).

[0062] According to this embodiment, the number of loops can be reduced by the number of parallelized mapping function units 14, and the calculation time can be reduced by a factor of (1 / parallel number).

[0063] This makes it possible to map multiple services with a short calculation time (search time).

[0064] Second Embodiment A function mapping method, a control device, and a control system according to a second embodiment of the present invention will be described. The control device and the control system are the same as those in the first embodiment.

[0065] <Function Mapping Method> The function mapping method according to this embodiment will be described with reference to FIGS. 9 to 12B.

[0066] The function mapping method according to this embodiment can be applied when one of multiple services (mapping problems) has a large number of functions. In the configuration shown in Fig. 9, Service 1 and Service 2 have 225 and 20 functions, and 360 and 50 paths, respectively. Each processing function unit 3 has 14 computers 4.

[0067] 10 is a flowchart illustrating a function mapping method according to this embodiment. The function mapping method includes step S15 of reconfiguring a service. The other steps are the same as those in the first embodiment.

[0068] 11A shows details of step S15 for reconfiguring the service. Step S15 is executed by the data retention control function unit 132.

[0069] First, it is determined whether the same service is to be divided (step S151).

[0070] If it is determined that the same service should be divided, the service is divided into a specified number of functions (step S152). In step S152, the functions of the service are divided into a specified number of functions according to the scale of the problem.

[0071] Next, the paths between the functions divided in step S152 are divided (step S153). In step S153, the paths between the functions are also divided according to the divided services.

[0072] For example, if the specified number of functions is 50 or less as shown in Figure 11B, the 225 functions in Service 1 are divided into a total of five services: four services 1-1 to 1-4 each with 50 functions, and one service 1-5 with 25 functions.

[0073] Next, as in the first embodiment, in step S11, each divided service is stored in the storage unit 136, and each step is subsequently executed. Here, the mapping order is determined in step S12, and the divided services are subjected to mapping calculations consecutively in the order in which they were divided.

[0074] Regarding path division, two cases are assumed as shown in Figures 12A and 12B. In the figures, solid arrows indicate paths in service 1-1, and dotted arrows indicate paths in service 1-2.

[0075] In the first case, as shown in Figure 12A, the path is divided between service 1-1 and service 1-2, and the paths do not interfere with each other between the services. In this case, dividing the function necessarily divides the path.

[0076] In the second case, as shown in Figure 12B, paths are connected between functions of service 1-1 and service 1-2, causing interference between the services. In this case, the information for service 1-1 includes paths used only for functions in service 1-1 that perform mapping first. On the other hand, the information for service 1-2 includes paths used only for functions in service 1-2, as well as paths involved in functions in service 1-1 and service 1-2, in other words, paths involved in the service that performed mapping first.

[0077] According to this embodiment, by dividing a service (mapping problem) and storing it as information on different services (mapping problems), it is possible to reduce the amount of calculation even in a system that includes services (mapping problems) with a large number of functions.

[0078] Third Embodiment A function mapping method, a control device, and a control system according to a third embodiment of the present invention will be described. The control device and the control system are the same as those in the first embodiment.

[0079] <Function Mapping Method> The function mapping method according to this embodiment will be described with reference to FIGS. 13 to 14B.

[0080] The function mapping method according to this embodiment can be applied to cases involving services with a small number of functions (mapping problem). In the system configuration shown in Fig. 13, the number of functions for services 1 to 4 is 3, 4, 9, and 20, respectively, and the number of paths is 2, 4, 6, and 50, respectively.

[0081] In the function mapping method, the overall flowchart is the same as that of the second embodiment. However, the configuration of step S15 for reconfiguring the service differs from that of step S15 in the second embodiment. Fig. 14A shows the details of step S15 for reconfiguring the service in this embodiment.

[0082] Step S15 is executed by the data retention control function unit 132.

[0083] First, it is determined whether to integrate services with a small number of functions to create a service group (step S154).

[0084] If it is determined that the services should be integrated, they are integrated to the specified number of functions (step S155). In step S155, if the number of functions in one service is small and the number of functions calculated at one time does not meet the specified number of functions, the services are integrated to exceed the specified number of functions.

[0085] Next, the paths between the functions are integrated (step S156). In step S156, the paths of the functions are integrated according to the integrated services.

[0086] 14B, if the specified number of functions is 15 or more, Service 1 (number of functions: 3), Service 2 (number of functions: 4), and Service 3 (number of functions: 9) are integrated to form Service Group A, which has 16 functions. Also, Service 4, which has 20 functions, is formed into Service Group B.

[0087] Next, in step S11, the integrated services 1, 2, and 3 are stored in the storage unit 136 as service group A, and service 4 is stored in the storage unit 136 as service group B, as in the first embodiment, and each step is subsequently executed.

[0088] In step S13 of extracting data, a group of services is extracted instead of one service.

[0089] According to this embodiment, by integrating services (mapping problems) and holding them as a service (mapping problem) group, the amount of calculation can be made more efficient even in a system including services (mapping problems) with a small number of functions.

[0090] This embodiment may be combined with the second embodiment and applied as shown in FIG.

[0091] Fourth Embodiment A function mapping method, a control device, and a control system according to a fourth embodiment of the present invention will be described with reference to FIGS.

[0092] 16 , a control system 1_2 according to this embodiment includes an arithmetic function unit group 5 including a plurality of arithmetic function units 3, and a single data transfer function unit 2 connected to the arithmetic function unit group 5. The arithmetic function unit group 5 may be configured from a single arithmetic function unit 3. The control system 1_2 may include a plurality of data transfer function units.

[0093] The processing function group 5 is a group of processing function units 3 such as a data center or a collection of racks.

[0094] 17 , the problem division and integration function unit 13 in the control device according to this embodiment includes a first input unit 131_1, a data retention control function unit 132, a mapping order determination function unit 133, a data extraction function unit 134, a data integration function unit 135, a storage unit 136, and a first output unit 137_1. It also includes a second input unit 131_2 and a second output unit 137_2 connected to the mapping function unit 14, and includes a mapping range determination function unit 138 between the data extraction function unit 134 and the second output unit 137_2. The configuration other than the mapping range determination function unit 138 is the same as that of the first embodiment.

[0095] The mapping range determination function unit 138 determines the function mapping range.

[0096] <Function Mapping Method> The function mapping method according to this embodiment will be described with reference to Fig. 18. Fig. 18 shows a flowchart for explaining the function mapping method.

[0097] The function mapping method according to this embodiment includes step S16 of determining a mapping range after step S13 of extracting service information and the like in step S10 in the first embodiment. Step S16 is executed by the mapping range determination function unit 138.

[0098] Furthermore, after the mathematical optimization step S23, a step S37 for determining whether an optimal solution exists is provided. Step S37 is executed by the data integration function unit 135.

[0099] Other configurations are the same as those of the first embodiment. This embodiment may be applied to the second and third embodiments.

[0100] In step S16, it is determined in advance which processing function group 5 the service should be allocated to. In step S16, the service is allocated to the processing function group 5 whose total capacity is greater than the total capacity of the functions of the service. Note that if the total capacity of the functions of the service and the total capacity of the processing function group 5 are almost equal, it may not be possible to allocate all of the functions, so the service may be allocated within a range that satisfies 80 to 90 percent of the total capacity of the processing function group 5.

[0101] If it is determined in step S37 that an optimal solution does not exist, the process returns to step S16 and the process is executed again. At this time, services are allocated within a range that satisfies the range in which the total capacity of the processing function group 5 is equal to or less than the past ratio. The method for allocating services may be random, or services may be allocated so as to avoid using the processing function group 5 as much as possible, as in the bin packing problem.

[0102] In the processing loop that is executed again when it is determined in step S32 that mapping has not been performed for all services, in the second and subsequent processing, the input information is updated to include mapping information for past services.

[0103] As in the first embodiment, the search is terminated when the objective function is not updated a certain number of times, when the update step falls below a reference value, or when the objective function falls below a reference value.

[0104] According to this embodiment, even when the system configuration expands and the problem scale becomes extremely large, the amount of calculation and search time can be significantly reduced by selecting the function mapping range and shrinking the subproblem, thereby making it possible to map multiple services (mapping problems) in a short calculation time.

[0105] 19 shows an example of the configuration of a computer in a function mapping control device 10 according to an embodiment of the present invention. The control device 10 can be realized by a computer including a CPU (Central Processing Unit) 100, a storage device (storage section) 101, and an interface device 102, and a program that controls these hardware resources. Here, the CPU 100 executes the function mapping method according to the embodiment of the present invention in accordance with a function mapping program stored in the storage device 101. In this way, the function mapping program causes the control device 10 to function.

[0106] In the function mapping control device 10 according to the embodiment of the present invention, the computer may be provided internally, or at least some of the computer's functions may be implemented using an external computer. The storage unit may also be an external storage medium, and the function mapping program may be read and executed from the storage medium. Storage media include various magnetic recording media, magneto-optical recording media, CD-ROMs, CD-Rs, and various types of memory. The function mapping program may also be supplied to the computer via a communication line such as the Internet.

[0107] Although the embodiment of the present invention has been described as being applied to SFC, the present invention is not limited to this. It can also be applied to cases where mathematical optimization is used to map functions to computers (servers, accelerators, etc.), and when the problem scale is large, it is possible to reduce the amount of calculation as much as possible and significantly improve search time.

[0108] According to the embodiment of the present invention, the amount of calculation and time required for function mapping can be reduced, which makes it possible to reduce processing time, power consumption, etc. in processing systems such as communication systems and control systems.

[0109] In the embodiments of the present invention, examples of the structure of each component in the configuration of the function mapping method, the control device, the control system, and the function mapping program are shown, but the present invention is not limited to these. Any structure may be used as long as it can demonstrate the functions and effects of the function mapping method, the control device, the control system, and the function mapping program.

[0110] It should be noted that the present invention is not limited to the above-described embodiments, and it is apparent that many modifications and combinations can be made by a person skilled in the art within the technical spirit of the present invention. For example, the third embodiment may be combined with the second embodiment, and the fourth embodiment may be combined with the second or third embodiment.

[0111] A part or all of the above-described embodiment or an example thereof can be described as, but is not limited to, the following supplementary notes.

[0112] (Supplementary Note 1) A function mapping method in a control system having a function mapping control device and a plurality of computers, in which the control device loads functions connected by paths onto the computers determined by an optimal solution of a mapping problem regarding the loading of functions onto the computers, the function mapping method comprising the steps of: retaining service information including information on the functions and information on the paths and information on the control system; solving the mapping problem and determining an order of mapping; extracting the service information and information on the control system according to the order of mapping; determining an objective function for the mapping problem based on the service information and the information on the control system and performing a calculation to optimize the objective function; obtaining scores for all the mapping problems based on the optimized objective function for each mapping problem; determining the computer on which to load the function based on an optimal value of the score corresponding to the optimal solution; and loading the function onto the determined computer.

[0113] (Supplementary Note 2) A function mapping control device in a control system having a plurality of computers, which loads functions connected by paths onto a computer determined by an optimal solution of a mapping problem regarding the loading of functions onto the computers, comprising: a data retention control functional unit which retains service information including information on the functions and information on the paths and information on the control system; a mapping order determination functional unit which solves the mapping problem and determines an order of mapping; a data extraction functional unit which extracts the service information and information on the control system according to the order; a mapping functional unit which uses the service information and the information on the control system to determine an objective function for the mapping problem and executes a mathematical optimization calculation according to the objective function; a data integration functional unit which determines the computer on which to load the function based on the optimal solution; and a mapping implementation functional unit which loads the function onto the determined computer.

[0114] (Supplementary Note 3) A control system comprising the function mapping control device according to Supplementary Note 2, an arithmetic function unit having a plurality of the computers, and a data transfer function unit connecting the function mapping control device and the arithmetic function unit.

[0115] (Supplementary Note 4) A function mapping program that, in a control system having a plurality of computers, causes a function mapping control device to load functions connected by paths onto a computer determined by an optimal solution of a mapping problem regarding the loading of functions onto the computer, by executing a process comprising the steps of: retaining service information including information on the function and information on the path, and information on the control system; solving the mapping problem and determining an order of mapping; extracting the service information and information on the control system according to the order of mapping; determining an objective function for the mapping problem based on the service information and the information on the control system, and performing a calculation to optimize the objective function; calculating scores for all the mapping problems based on the optimized objective function for each mapping problem; determining the computer on which to load the function based on the optimal value of the score; and loading the function onto the determined computer, thereby causing the function mapping control device to function.

[0116] (Supplementary Note 5) The function mapping method according to Supplementary Note 1, wherein the problem division and integration functional unit comprises a step of reconstructing the mapping problem.

[0117] (Supplementary Note 6) The function mapping method according to Supplementary Note 5, wherein the step of reconstructing the mapping problem comprises the steps of determining whether to divide the mapping problem, dividing the mapping problem according to a predetermined number of functions, and dividing the paths between the functions.

[0118] (Supplementary Note 7) The function mapping method described in Supplementary Note 5, wherein the step of reconstructing the mapping problem comprises a step of determining whether to merge multiple mapping problems, a step of merging the mapping problems according to a predetermined number of functions, and a step of merging the paths between the functions.

[0119] (Supplementary Note 8) A function mapping method as described in any one of Supplementary Notes 1, 5 to 7, comprising: a step in which the problem division and integration function unit determines the scope of execution of the mapping after the step of extracting the service information and the information of the control system; and a step in which the problem division and integration function unit determines whether an optimal solution to the calculation exists after the step of performing a calculation to optimize the objective function.

[0120] (Supplementary Note 9) The function mapping control device according to Supplementary Note 2, wherein the data retention control function unit reconstructs the mapping problem.

[0121] (Supplementary Note 10) A function mapping control device as described in Supplementary Note 9, wherein, in reconstructing the mapping problem, it is determined whether to divide the mapping problem, the mapping problem is divided according to a predetermined number of functions, and the paths between the functions are divided.

[0122] (Supplementary Note 11) A function mapping control device as described in Supplementary Note 9, which, in reconstructing the mapping problem, determines whether to merge multiple mapping problems, merges the mapping problems according to a predetermined number of functions, and merges the paths between the functions.

[0123] (Appendix 12) A function mapping control device described in any of Appendices 2, 9 to 11, comprising a mapping range determination function unit that determines the range in which the mapping is performed, and the data integration function unit determines whether an optimal solution exists for the mathematical optimization calculation.

[0124] (Supplementary Note 13) A control system according to Supplementary Note 3, comprising a function mapping control device according to any one of Supplementary Notes 9 to 11.

[0125] (Supplementary Note 14) The function mapping program according to Supplementary Note 4, comprising a step of reconstructing the mapping problem.

[0126] (Supplementary Note 15) The function mapping program according to Supplementary Note 14, wherein the step of reconstructing the mapping problem comprises a step of determining whether to divide the mapping problem, a step of dividing the mapping problem according to a predetermined number of functions, and a step of dividing the paths between the functions.

[0127] (Appendix 16) The function mapping program according to Appendix 14, wherein the step of reconstructing the mapping problem comprises a step of determining whether to merge multiple mapping problems, a step of merging the mapping problems according to a predetermined number of functions, and a step of merging the paths between the functions.

[0128] (Appendix 17) A function mapping program described in any one of Appendices 4, 14 to 16, comprising, after the step of extracting the service information and the information of the control system, a step of determining the range in which the mapping is to be performed, and, after the step of performing a calculation to optimize the objective function, a step of determining whether an optimal solution for the calculation exists.

[0129] The present invention relates to function mapping and can be applied to communication technologies such as packet transfer, and to computers such as servers and accelerators.

[0130] 1 Control system 10 Function mapping control device

Claims

1. A function mapping method in a control system having a function mapping control device and a plurality of computers, in which the control device loads functions connected by paths onto the computers determined by an optimal solution of a mapping problem regarding the loading of functions onto the computers, the function mapping method comprising the steps of: retaining service information including information on the functions and information on the paths and information on the control system; solving the mapping problem and determining an order of mapping; extracting the service information and information on the control system according to the order of mapping; determining an objective function for the mapping problem based on the service information and the information on the control system, and performing calculations to optimize the objective function; obtaining scores for all the mapping problems based on the optimized objective function for each mapping problem; determining the computer on which to load the function based on the optimal value of the score corresponding to the optimal solution; and loading the function onto the determined computer.

2. A function mapping control device in a control system having multiple computers, which loads functions connected by paths onto a computer determined by an optimal solution to a mapping problem regarding the loading of functions onto the computers, comprising: a data retention control functional unit which retains service information including information on the functions and information on the paths and information on the control system; a mapping order determination functional unit which solves the mapping problem and determines the order of mapping; a data extraction functional unit which extracts the service information and information on the control system according to the order; a mapping functional unit which uses the service information and information on the control system to determine an objective function for the mapping problem and executes mathematical optimization calculations according to the objective function; a data integration functional unit which determines the computer on which to load the function based on the optimal solution; and a mapping implementation functional unit which loads the function onto the determined computer.

3. A control system comprising: a function mapping control device according to claim 2; an arithmetic function unit having a plurality of said computers; and a data transfer function unit connecting said function mapping control device and said arithmetic function unit.

4. A function mapping program that causes a function mapping control device in a control system having multiple computers to load functions connected by paths onto computers determined by an optimal solution to a mapping problem regarding the loading of functions onto the computers to execute processing comprising the steps of: retaining service information including information on the functions and information on the paths and information on the control system; solving the mapping problem and determining the order of mapping; extracting the service information and information on the control system according to the order of mapping; determining an objective function for the mapping problem based on the service information and information on the control system and performing calculations to optimize the objective function; calculating scores for all the mapping problems based on the optimized objective function for each mapping problem; determining the computer on which to load the function based on the optimal value of the score; and loading the function onto the determined computer.

Citation Information

Patent Citations

  • Resource allocation system, method, and program

    JP2020504552A

  • Control device, control method, and program

    WO2021084608A1