Data processing device, method and program
By categorizing and prioritizing processing loads, the system optimizes VM allocation for web conferences, addressing the inefficiencies in existing calculation-heavy methods, thereby enhancing resource management efficiency.
Patent Information
- Application Number
- JP2024536636
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-07-27
- Publication Date
- 2025-11-12
- Estimated Expiration
- 2042-07-27
AI Technical Summary
The existing method of allocating web conferences to virtual machines (VMs) based on performance prediction models becomes impractical due to the rapid increase in calculation time as the number of conferences grows, making it unsuitable for efficient resource management.
A system that classifies processing loads into prioritized categories using a model storage device and classification information, determining optimal VM allocation by assessing predicted quality and adjusting settings to meet user experience requirements, reducing the need for extensive calculations.
This approach significantly reduces the computational burden and time required for allocating processing loads to instances by categorizing and prioritizing web conferences, ensuring efficient resource utilization.
Smart Images

Figure 0007768393000001 
Figure 0007768393000002 
Figure 0007768393000003
Abstract
Description
[Technical Field]
[0001] An embodiment of the present invention comprises: Data Processing The present invention relates to an apparatus, a method, and a program. [Background technology]
[0002] In order to satisfy the user experience quality requirements of a service, optimal control technology for server computer resources is being considered. fart When applying this technology, in order to satisfy the user experience quality requirements for web conferences, the web conference server must add or remove cloud instances housed in a virtual space according to the web conference reservation information, and appropriately allocate the web conference as a processing load to each instance, for example, a VM (Virtual Machine), thereby allocating the web conference in a manner known as web conference allocation. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-72327 Summary of the Invention [Problem to be solved by the invention]
[0004] On the other hand, when determining the instance to which a Web conference should be allocated, as described above, it is necessary to calculate all combinations of Web conferences based on existing and new Web conference reservations, input these combinations into a performance prediction model, and determine whether the user experience quality requirements are met. However, as the number of Web conferences increases, the number of Web conference combinations increases rapidly, and the calculation time required for the above determination increases, making this method unsuitable for practical use.
[0005] This invention has been made in light of the above circumstances, and its purpose is to reduce the calculations involved in allocating processing loads to instances. Data Processing The present invention aims to provide an apparatus, a method and a program. [Means for solving the problem]
[0006] According to one aspect of the present invention Data Processing The device is Instance The processing load placed on In the instance resource Settings and the processing load is Instance a model storage device storing a model showing the relationship between the predicted values of quality when the before Note Instance The workload requested for placement on a single workload or multiple workloads of similar magnitude is , for each of the prioritized categories. a classification information storage device that stores classification information indicating that the processing load is classified into one of the plurality of categories according to the priority order; and a processing load storage device that extracts processing loads classified into one of the plurality of categories according to the priority order, and extracts the processing loads according to the priority order according to the plurality of categories. Instance a determination unit for determining whether a predicted value of the quality when the image is assumed to be placed in a predetermined location satisfies a requirement for appropriate quality; Note When the determining unit determines that the requirements are met, Be The processing load used in the determination Be Ta Instance to be arranged in The processing load on the instance of Distribution a control unit that controls a change of the setting, and the determination unit determines whether the predicted value is Note When it is determined that the requirements are not met 、 Used in the above judgment Be The processing load classified into a category with a lower priority than the priority assigned to the category to which the processing load is classified. Extract Or used for the above judgment Be The processing load is classified Categories and classified in the same category other Extract the processing load, The extractedThe processing load is Instance The predicted value of the quality when it is assumed that The aforementioned We will reassess whether the requirements are met.
[0007] According to one aspect of the present invention Data Processing The method is: Instance The processing load placed on In the instance resource Settings and the processing load is Instance a model storage device storing a model showing the relationship between the predicted values of quality when the before Note Instance The workload requested for placement on a single workload or multiple workloads of similar magnitude is , for each of the prioritized categories. a classification information storage device in which classification information indicating classification is stored; Data Processing A method performed by an apparatus, comprising: Data Processing A determination unit of the device extracts a processing load classified into one of the plurality of categories according to the priority order, and the processing load is determined to be one of the Instance determining whether the predicted value of the quality when the device is assumed to be placed in the Data Processing The control unit of the device Note When the determining unit determines that the requirements are met, Be The processing load used in the determination Be Ta Instance to be arranged in The processing load on the instance of Distribution The determination unit controls a change in the setting, and the determination unit determines whether the predicted value is Note When it is determined that the requirements are not met, before Used for the above judgment Be The processing load classified into a category with a lower priority than the priority assigned to the category to which the processing load is classified. Extract Or used for the above judgment Be The processing load is classified Categories and classified in the same category other Extract the processing load, The extracted The processing load is Instance The predicted value of the quality when it is assumed that The aforementioned We will reassess whether the requirements are met. [Effects of the Invention]
[0008] According to the present invention, it is possible to reduce the amount of calculation required to allocate processing loads to instances. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing an application example of a resource determination system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a diagram showing an example of input and output data of a Web conference quality model. [Figure 3A] FIG. 3A is a flowchart showing an example of a processing procedure for allocating a Web conference by a resource determination device according to an embodiment of the present invention. [Figure 3B] FIG. 3B is a flowchart showing an example of a processing procedure for allocating a Web conference by the resource determination device according to an embodiment of the present invention. [Figure 4] FIG. 4 is a diagram showing an example of a Web conference classified into categories. [Figure 5] FIG. 5 is a diagram showing a specific example of horizontal scale according to the quality of a Web conference. [Figure 6] FIG. 6 is a diagram showing a specific example of horizontal scaling according to the quality of a Web conference. [Figure 7] FIG. 7 is a diagram showing, in a table format, an example of the number of combinations of Web conferences used in calculations related to the placement of Web conferences. [Figure 8] FIG. 8 is a block diagram showing an example of the hardware configuration of a resource determination device according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0010] An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing an application example of a resource determination system according to an embodiment of the present invention. As shown in FIG. 1, the resource determination system according to an embodiment of the present invention includes a Web conference scheduling device 100, which is a resource determination device, and a cloud resource controller 200.
[0011] The Web conference scheduling device 100 includes a Web conference scheduler 10, a Web conference reservation storage unit 20, and a Web conference arrangement unit 30. The Web conference scheduler 10 also includes a controller (determination unit, control unit) 11, an instance (VM) state monitoring unit 12, and a Web conference quality model DB (database) 13.
[0012] A database (not shown) of the Web conference reservation storage unit 20 stores Web conference information indicating the contents of Web conferences that have been reserved and are not yet finished. The reserved Web conferences that have not yet ended include Web conferences that have been allocated to a VM and are currently running, and Web conferences that have not yet started and have been requested to be allocated to a VM.
[0013] Information related to a currently ongoing Web conference includes, for example, (1) identification information (ID (IDentifier)) assigned to each Web conference information, and (2) the processing load related to the Web conference placed on the VM (hereinafter referred to as the Web conference load), such as the number of participants in the reserved Web conference and information about the time period during which the Web conference is scheduled to take place.
[0014] The information related to the Web conference requested to be placed in the VM, i.e., reservation information, includes, for example, (1) identification information (ID) assigned to each reservation information, and (2) the processing load related to the Web conference to be placed in the VM. loadFor example, the information includes the number of participants scheduled for the reserved Web conference and the time period during which the Web conference is scheduled to be held. Information related to a completed Web conference is deleted from the Web conference reservation storage unit 20.
[0015] A user who wishes to reserve a new Web conference can send a request for reservation of a Web conference to the Web conference scheduler 10 using an interface (not shown) that can be connected to the Web conference scheduler 10 .
[0016] When the Web conference scheduler 10 receives this reservation request, it saves the reservation information related to this request in the Web conference reservation saving unit 20 ((1-1) in FIG. 1), and then acquires reservation information indicating the reservation details of the Web conference that has been reserved and is not yet finished, including the saved reservation information ((1-2) in FIG. 1). This reservation information includes the processing load related to the Web conference that is allocated to the VM. load For example, information about the number of participants in the web conference and the scheduled time of the conference is displayed.
[0017] When the controller 11 of the Web conference scheduler 10 acquires the reservation information, it inquires of the instance status monitor 12 about the status of each VM, which is an instance used for the Web conference, such as the resource setting status of the VM where the Web conference is placed, such as the number of cores and memory capacity of the CPU (Central Processing Unit), and acquires information indicating the inquired status. Here, it is assumed that each VM is a virtual machine operated on the cloud.
[0018] The controller 11 inputs the information acquired from the instance state monitor 12 into the Web conference quality model in the Web conference quality model DB 13. The Web conference quality model inputs (1) the resource configuration status of the VM on which the Web conference is placed, and (2) information indicating the processing load related to the Web conference currently placed in the VM and the Web conference assumed to be placed in the VM, and can output a predicted value of the user's quality of experience related to the Web conference placed in the VM, and the input / output relationship can be learned in advance.
[0019] When the predicted value of the user experience quality output from the Web conference quality model does not satisfy the specified conditions for the user experience quality, the controller 11 recommends to the system administrator, as necessary, adjustment of the resources of the VM on which the Web conference is placed so that the user experience quality satisfies the above conditions ((2) in Figure 1).
[0020] In addition, the controller 11 instructs the Web conference placement unit 30 to place the Web conference in the VM where the Web conference is to be placed so that the user quality of experience satisfies the above conditions ((4-1) in FIG. 1).
[0021] The system administrator issues instructions relating to resource adjustment by operating the cloud resource controller 200 ((3-1) in FIG. 1). According to this instruction, the cloud resource controller 200 can start a new VM (see symbol a in FIG. 1) in which the Web conference is placed, or change the resources of this VM ((3-2) in FIG. 1). The Web conference arrangement unit 30 arranges the Web conference in the VM according to the above instruction, so that the Web conference can be started ((4-2) in FIG. 1).
[0022] Next, we explain the construction of the web conference quality model and its learning process. The controller 11 of the Web conference scheduler 10 acquires from the instance status monitoring unit 12 (1) the Web conference load, which is the processing load related to the Web conference placed in the VM and the Web conference assumed to be placed in the VM, and (2) the cloud resource setting, which is the resource setting status in the VM where the Web conference is placed, and inputs the acquired results as explanatory variables into the Web conference quality model.
[0023] The processing load related to the above-mentioned Web conferences is, for example, the number of Web conferences, the number of participants in the Web conferences, the number of publishers and subscribers participating in the Web conferences, and so on. The resource setting status is, for example, the number of CPUs and memory capacity provided in a VM that is an instance.
[0024] Based on the results of the above inputs, the web conference quality model can output an index representing the quality of the web conference, i.e., the user's perceived quality, as the objective variable, i.e., a predicted value of the quality of the web conference. The parameters of this model can be trained using a regression analysis method, such as neural-network regression, linear regression, or random forest regression, so that the relationship between the input and output becomes appropriate, i.e., so that the predicted value of the web conference quality approaches the correct information.
[0025] For example, indicators representing the quality of a web conference include predicted values for CPU usage in the VM, which is the instance on which the web conference is deployed, as well as predicted values for jitter, throughput, and MOS (Mean Opinion Score).
[0026] Next, we will explain how to calculate indicators related to web conference quality using the web conference quality model trained as described above. Figure 2 shows an example of input and output data of the web conference quality model. This shows that the user's quality of experience is calculated in response to a new web conference reservation. In the example shown in Figure 2, the Web conference load indicated by the information input to the Web conference model includes (1) the Web conference load related to the currently ongoing Web conference (also referred to as the currently held Web conference), and (2) the Web conference load related to a 10-minute future Web conference reservation, which is a reservation for a Web conference that starts 10 minutes from the current time, based on a new Web conference request (see symbol a in Figure 2). The 10 minutes from the current time to the scheduled start time of this 10-minute future Web conference reservation can be customized according to the actual operating status of the instance.
[0027] The above-mentioned web conference load for a currently ongoing web conference may include an identification (ID) that uniquely identifies the web conference, the number of participants in the web conference, and the time period from the start time to the end time of the web conference.
[0028] The above-mentioned web conference load for a web conference reservation for 10 minutes in the future may include identification information that uniquely identifies the web conference, the number of people scheduled to attend the web conference, and the time period from the scheduled start time to the scheduled end time of the web conference. The cloud resource settings input to the Web conference model may include the number of CPUs installed in one VM, which is an instance. The currently ongoing Web conference is placed on the one VM.
[0029] The indicators related to the quality of the Web conference output from the above-mentioned Web conference model may include identification information that uniquely identifies the Web conference in question, a predicted value of the CPU usage of the above-mentioned one VM due to the currently ongoing Web conference, a predicted value of the CPU usage of the above-mentioned one VM due to the Web conference to be held in response to a new conference request, and the time period from the start to the end of each Web conference.
[0030] In the example shown in FIG. 2, when "Web conference p" with the identification information "p" is placed on the one VM, the predicted value of the CPU usage rate of the VM is 50%. In the example shown in Figure 2, if a new "Web Conference a" with the identification information "a" is deployed to the VM, the predicted CPU usage rate of the VM is 10%.
[0031] This "Web conference a" is a newly requested Web conference to be held in a time period that partially overlaps with the time period of "Web conference p."
[0032] If the CPU usage threshold for the VM is set to 80%, and it is assumed that "Web Conference A" is newly placed on the VM in addition to "Web Conference P," the total predicted CPU usage will be 60%, which does not exceed the threshold of 80%. Therefore, "Web Conference A" can be placed on the VM where "Web Conference P" is currently placed.
[0033] On the other hand, if the predicted CPU usage of the VM when "Web Conference A" is newly deployed exceeds, for example, 30%, the sum of the above predicted values will exceed the threshold, so it is necessary to adjust the type of Web conference to be deployed to the VM or adjust the resources related to the VM to which it is deployed.
[0034] In this embodiment, classification information is predefined to classify each of multiple new Web conferences requested to be placed in a VM into one of multiple virtual bins (categories (sometimes called groups)) with individual priorities assigned, and when placing (distributing) multiple new Web conferences to VMs, multiple Web conferences with similar sizes based on the processing load, such as the number of participants in the Web conference or the probability that the camera or audio input / output functions will be enabled, are classified into the same bin, and classification information indicating this classification is pre-stored in the Web conference reservation storage unit 20. It is desirable that each of the plurality of bins be assigned a higher priority the greater the processing load of the Web conference to be classified into.
[0035] In this embodiment, the resource determination system extracts one representative Web conference from one bin selected in descending order of priority assigned to the bin, inputs the combination of the currently ongoing Web conference, i.e., the existing Web conference, and the Web conference extracted from the bin into a Web conference model, and determines whether the output result from this Web conference model, which is an index related to the quality of the Web conference, satisfies the requirements for user experience quality, for example, the requirements for the CPU usage rate of the VM where the Web conference related to the above combination is placed.
[0036] If the above requirements are met, the resource determination system selects the extracted new Web conference related to this determination as the Web conference to be newly placed in the VM, extracts other Web conferences classified into the same bin, and makes the above determination. If the above requirements are not met, the resource determination system will not consider other Web conferences in the same bin as the target for extraction, but will instead select a Web conference from the bin with the next highest priority, i.e., a lower priority than the most recent bin from which the Web conference was extracted. The above determination is then repeated until the determination of the Web conferences in the last bin with the lowest priority is completed.
[0037] The above method can significantly reduce the number of Web conference combinations to be input into the Web conference model, thereby reducing the computation time and resources required to allocate new Web conference models to VMs.
[0038] 3A and 3B are flowcharts showing an example of a processing procedure for allocating a Web conference by a resource determination device according to an embodiment of the present invention. First, the controller 11 of the Web conference scheduler 10 collects (1) information about existing Web conferences, i.e., Web conferences currently in progress, and (2) information about Web conferences within a predicted period by reading them from the Web conference reservation storage unit 20 (S11, S12). The predicted period is, for example, a period that includes the overlapping period between the scheduled time of the existing Web conference and the scheduled time of the requested Web conference.
[0039] Next, the controller 11 reads information that complements the workload that occurs when each Web conference is placed in a VM from the Web conference reservation storage unit 20, and collects this information (S13). This complementary information is, for example, the number of video sessions when the target Web conference is placed in a VM.
[0040] Next, the controller 11 classifies the requested Web conferences into bins (categories) based on the results of collection in S12 and S13 (sometimes referred to as "putting them into bins"). If multiple Web conferences are classified into a single bin, the Web conferences in the bin are sorted in descending order of the processing load associated with the Web conference (S14). Steps S11 to S14 are initial processes prior to the allocation of Web conferences to VMs.
[0041] FIG. 4 is a diagram showing an example of a Web conference classified into categories. Figure 4 shows four bins: bin a, bin b, bin c, and bin d. Each bin has its own processing load conditions for the Web conference it is placed in, i.e., the number of users and the probability that input / output functions such as video will be enabled, known as the "On" probability. For example, the processing load conditions for the Web conference placed in bin a shown in Figure 4 are the number of participants, i.e., the number of users, being greater than 20 and less than 50, and the probability that the video input / output function will be enabled being greater than 50% and less than 100%. Web conferences can be classified into bin a based on these conditions.
[0042] In the example shown in FIG. 4, the Web conferences requested to be placed on a VM are Conference A, Conference B, Conference C, Conference D, Conference E, Conference F, and Conference G. Here, the processing load when each Web conference is placed on a VM decreases in the order of Conference A, Conference B, Conference C, Conference D, Conference E, Conference F, and Conference G. Furthermore, the processing load when each Web conference is placed on a VM is similar between Conference A, Conference B, and Conference C, and is also similar between Conference E, Conference F, and Conference G.
[0043] Bin a contains conferences A, B, and C, which have similar processing loads when placed on a VM, and they are sorted in the order conference A, B, and C. Bin b contains conference D, which has a significantly lower processing load than conferences A, B, and C when placed on a VM, and bin c contains conferences E, F, and G, which have similar processing loads when placed on a VM, and they are sorted in the order conference E, F, and G. Web conferences are not classified in bin d. The processing load when conference E is placed on a VM, the processing load when conference F is placed on a VM, and the processing load when conference G is placed on a VM are clearly lower than the processing load when conference D is placed on a VM.
[0044] The priority order for allocating requested Web conferences to these bins a through d is set according to the processing load associated with the classified Web conference, for example, the processing load conditions for the Web conferences to be placed in the bins as described above. That is, a relatively high priority order is set for bins with a relatively high processing load associated with the classified Web conference, and a relatively low priority order is set for bins with a relatively low processing load associated with the classified Web conference.
[0045] Here, bin a is assigned the highest priority, followed by bin b, bin c, and bin d, each assigned a lower priority, i.e., bin d is assigned the lowest priority.
[0046] Next, based on the maximum and minimum resource utilization rates of the instances, the controller 11 selects any one VM from the multiple VMs that are currently running instances as a candidate for placement of the requested Web conference, i.e., as the current placement instance (sometimes referred to as the current instance), and also selects the bin with the highest priority among the above bins as the bin to be currently processed (sometimes referred to as the current bin) (S15).
[0047] When multiple Web conferences are classified into the current bin selected in S15, the controller 11 extracts information related to a representative Web conference among these Web conferences before allocation (described later) from the Web conference reservation storage unit 20. When one Web conference is classified into the current bin selected in S15, the controller 11 extracts information related to this Web conference from the Web conference reservation storage unit 20 (S16). The representative Web conference may be, for example, the Web conference with the highest processing load among the Web conferences classified in the same bin, or the Web conference with a processing load closest to the average processing load of the Web conferences classified in the same bin.
[0048] The controller 11 inputs a combination of (1) information about the Web conference to be placed in the selected VM that is the current instance (sometimes referred to as the current VM) and (2) information about the Web conference extracted in S16 into the Web conference quality model to obtain a predicted value of the user's quality of experience for the Web conference to be placed in the current VM (S17). The Web conferences to be placed in the selected VM that is the current instance include the existing Web conferences collected in S11 and the assigned Web conferences described later.
[0049] The controller 11 determines whether the predicted value obtained in S17 is equal to or smaller than a threshold, that is, whether the predicted value satisfies a predetermined condition for the user's quality of experience (S18). If the predicted value obtained in S17 is equal to or less than the threshold, i.e., if the predetermined condition for user quality of experience is met (Yes in S18), the controller 11 assigns the most recent Web conference extracted in S16 together with the existing Web conferences to a provisional combination of Web conferences to be placed in the VM that is the current instance (S19). After S19, if there are Web conferences remaining in the current bin selected in S15 that have not yet been assigned to an instance (Yes in S19a), the remaining Web conferences in the current bin that have not yet been assigned are processed from S16.
[0050] On the other hand, if the predicted value obtained in S17 exceeds the threshold, i.e., does not satisfy the specified conditions for user quality of experience (No in S18), the controller 11 returns the most recent web conference extracted in S16 to the original bin (S20).
[0051] Furthermore, after S19 above, if there are no Web conferences remaining in the current bin selected in S15 that have not yet been assigned to an instance (No in S19a), or if after S20 there is a bin (sometimes referred to as the next bin) that has a priority one level lower than the priority assigned to the current bin selected in S15, and a Web conference that has not yet been assigned to an instance is classified in this bin with a priority one level lower (No in S21), the controller 11 selects this bin with a priority one level lower as the new current bin (S21a), and processing from S16 is performed on the Web conferences classified in this bin.
[0052] On the other hand, if there is no bin, i.e., a next bin, with a lower priority than that assigned to the current bin selected in S15, or if there is a next bin but no Web conference is classified in this next bin (Yes in S21), the controller 11 determines whether any other Web conferences before allocation other than the most recent Web conference extracted in S16 are classified in the current bin selected in S15 (S21b).
[0053] If the Web conference before allocation is classified in the current bin (Yes in S21b), information related to the Web conference that will have the smallest processing load when allocated to the current VM is extracted from the Web conference reservation storage unit 20. The controller 11 inputs a combination of this Web conference, the allocated Web conference, and the existing Web conference into the Web conference quality model, thereby obtaining a predicted value for the user quality of experience related to the Web conference to be allocated to the current VM (S22).
[0054] The controller 11 determines whether the predicted value obtained in S22 is equal to or smaller than a threshold value, that is, whether a predetermined condition for the user's quality of experience is satisfied (S23). If the predicted value obtained in S22 is equal to or less than the threshold, that is, if the predetermined condition of the user experience quality is satisfied (Yes in S23), the controller 11 allocates the most recent Web conference extracted in S16 together with the existing Web conferences to a provisional combination of Web conferences allocated to the VM of the current instance (S24). After S24, the process returns to S21b.
[0055] On the other hand, when the predicted value obtained in S22 exceeds the threshold value (No in S23), or when no other Web conferences other than the most recent Web conference extracted in S16 are classified into the current bin selected in S15 before allocation (No in S21b), the controller 11 determines the provisional combination of Web conferences to be placed in the current instance VM, i.e., the combination of the existing Web conference obtained in S11 and the Web conference allocated to the current instance VM in S19 or S24, as the optimal combination of Web conferences to be placed in the current instance VM, and places this combination in the current instance (S25).
[0056] Next, if there is no other Web conference before the extraction in the current bin selected in S15 (No in S26), the series of processes ends. On the other hand, after S25, if there is another Web conference before the extraction in the current bin selected in S15 (Yes in S26), the controller 11 selects one VM that is an instance other than the instance selected in S15 as a new candidate for placement of the requested Web conference.
[0057] If there are no other instances, it is decided to add an instance (S27), and the process from S15 is then carried out for this newly selected or added instance.
[0058] Next, a specific example of allocation of a Web conference according to this embodiment will be described. In this example, the currently running instance is "Instance A," the existing Web conferences already placed on this instance A are existing conferences X and Y, and the Web conferences requested to be placed on instance A are conferences A, B, C, D, E, F, and G shown in Figure 4. Furthermore, it is assumed that these conferences are classified into one of bins a to d as shown in Figure 4.
[0059] 1. First, as an initial process, the processes corresponding to the above S11 to S14 are performed. 2. Next, the controller 11 selects the instance A as the allocation destination for the conferences A, B, C, D, E, and F. 3. Next, the controller 11 extracts the conference A from the bin a with the highest priority and assigns it to the existing "conference X". and "Meeting Y" The user experience quality is predicted for the combination of conferences (X, Y, A) combined with the above, and if the prediction result is below a threshold, conference A is included in the combination of conferences to be placed in instance A.
[0060] 4. Next, the controller 11 extracts conference B from bin a, predicts the user experience quality for the combination of conferences (X, Y, A, B), and because the prediction result exceeds the threshold, returns conference B to bin a and changes the conference extraction destination to bin b.
[0061] 5. The controller 11 extracts conference D from bin b, predicts the user experience quality for the combination of conferences (X, Y, A, D), and because the prediction result exceeds the threshold, returns conference D to bin b and changes the conference extraction destination to bin c. 6. The controller 11 extracts conference E from bin c, predicts the user's quality of experience for the combination of conferences (X, Y, A, E), and returns conference E to bin c because the prediction result exceeds the threshold.
[0062] 7. Because bin c is the bin into which the final conference overall is classified, controller 11 extracts conference G, which is classified into bin c and has the smallest load, and predicts the user experience quality for the combination of conferences (X, Y, A, G). Since the prediction result exceeds the threshold, controller 11 returns conference G to bin c, determines the conferences (X, Y, A) in "3." above as the optimal combination of conferences to be placed in instance A, and places conference A in instance A.
[0063] Here, since there are conferences remaining in some bins that have not yet been assigned to an instance, the controller 11 selects an instance other than instance A as the allocation destination.
[0064] If there are currently no other instances, the controller 11 decides to add another instance, for example, instance B, and performs calculations for allocating the meetings that have not yet been allocated to this instance. This calculation is performed based on the allocation of all the requested meetings to the instance B. but Repeat until it is decided.
[0065] Next, an example of adding the above instance will be described. 5 and 6 are diagrams showing specific examples of horizontal scales according to the quality of a Web conference. First, in the example shown in Figure 5, the current predicted CPU usage for an existing web conference called "Meeting X," which has been running on a VM called "Instance A" since 8:55, is 75%, and the upper limit for CPU usage on this VM is 80%.
[0066] In the example shown in Figure 5, a request is made to place a new web conference "Meeting A" starting at 9:00 a.m., and the predicted increase in CPU usage when "Meeting A" is newly placed on "Instance A" is 35%.
[0067] In this case, assuming that "Meeting A" is newly placed on "Instance A," the overall CPU usage will be 110%, exceeding the upper limit of 80%, so horizontal scaling of "Instance A," in this case an increase in the number of CPU cores, is required, and a scale-out is required.
[0068] In the example shown in FIG. 6, it is assumed that a new "instance B" is added by the above scale-out. In this configuration, the above "Meeting A" is newly placed on a VM corresponding to the new "Instance B" rather than the existing "Instance A," and the predicted CPU usage when this "Meeting A" is newly placed on "Instance B" is assumed to be 35% as mentioned above.
[0069] In this case, assuming that "Meeting A" is newly placed, the overall CPU usage of "Instance A" will remain at the above 75% and will not exceed the upper limit of 80%, so "Meeting A" will be newly placed on "Instance B" and this "Meeting A" will be able to be held together with the existing web conference "Meeting X" placed on "Instance A".
[0070] Then, as a result of the above scale-out, a new "Instance B" is created, and assuming that a new "Conference A" is placed on this instance, the CPU usage of "Instance A" and "Instance B" will have room for more than the upper limit, so further new web conferences can be placed on each instance.
[0071] Next, the calculation of the number of combinations of Web conferences used in the calculation of the user quality of experience will be described. When the number of Web conferences is n, the number of combinations of Web conferences used in the conventional calculation of user experience quality is 2 n is.
[0072] On the other hand, if the number of web conferences is n, the number of bins is m, and the number of web conferences in each bin is n1, n2…, n m When , the number of combinations of Web conferences used in the calculation of the user quality of experience in this embodiment is expressed by the following formula (1). <(n1+1)*(n2+1) …*(n m +1)<((n / m)+1) m ...Formula (1) (However, n1+n2…+n m =n)
[0073] FIG. 7 is a diagram showing, in a table format, an example of the number of combinations of Web conferences used in calculations related to the placement of Web conferences. Figure 7 shows the results of a comparison between the number of Web conference combinations used in the conventional calculation of user quality of experience and the number of Web conference combinations used in the calculation of user quality of experience in this embodiment when the number of bins is 10 and the number of Web conferences is 20, 50, or 100.
[0074] As shown in Figure 7, when calculating user quality of experience in this embodiment, the number of combinations used in the calculation can be significantly reduced compared to when calculating user quality of experience for all combinations of web conferences as in the conventional method. Thus, one embodiment of the present invention can reduce the calculations involved in allocating processing load to instances.
[0075] FIG. 8 is a block diagram showing an example of a hardware configuration of a resource determination device according to an embodiment of the present invention. 8, the Web conference scheduling device 100 according to the embodiment is configured, for example, by a server computer or a personal computer, and has a hardware processor 111A such as a CPU. A program memory 111B, a data memory 112, an input / output interface 113, and a communication interface 114 are connected to this hardware processor 111A via a bus 115. The same applies to the cloud resource controller 200.
[0076] The communication interface 114 includes, for example, one or more wireless communication interface units, and enables transmission and reception of information to and from a communication network NW. As the wireless interface, for example, an interface that adopts a low-power wireless data communication standard such as a wireless LAN (Local Area Network) is used.
[0077] The input / output interface 113 is connected to an input device 500 and an output device 600 that are attached to the Web conference scheduling device 100 and used by users, etc. The input / output interface 113 takes in operation data input by a user or the like via an input device 500 such as a keyboard, touch panel, touchpad, or mouse, and outputs and displays output data to an output device 600 including a display device using liquid crystal or organic EL (Electro Luminescence). The input device 500 and the output device 600 may be devices built into the Web conference scheduling device 100, or may be input devices and output devices of other information terminals that can communicate with the Web conference scheduling device 100 via the network NW.
[0078] The program memory 111B is a non-transitory tangible storage medium that is a combination of a non-volatile memory that can be written to and read from at any time, such as a hard disk drive (HDD) or a solid state drive (SSD), and a non-volatile memory such as a read only memory (ROM), and stores programs necessary to execute various control processes, etc., according to one embodiment.
[0079] The data memory 112 is a tangible storage medium that is a combination of, for example, the above-mentioned nonvolatile memory and a volatile memory such as RAM (Random Access Memory), and is used to store various data acquired and created during various processing steps.
[0080] A Web conference scheduling device 100 according to one embodiment of the present invention can be configured as a data processing device having a Web conference scheduler 10, a Web conference reservation storage unit 20, and a Web conference arrangement unit 30 shown in FIG. 1 as software processing function units.
[0081] Each information storage unit used as a working memory by each unit of the Web conference scheduling device 100 can be configured using the data memory 112 shown in Fig. 8. However, these configured storage areas are not essential components within the Web conference scheduling device 100, and may be areas provided in an external storage medium such as a USB (Universal Serial Bus) memory, or in a storage device such as a database server located in the cloud.
[0082] The processing function units in the Web conference scheduler 10, Web conference reservation storage unit 20, and Web conference arrangement unit 30 can all be realized by having the hardware processor 111A read and execute programs stored in the program memory 111B. Note that some or all of these processing function units may be realized in various other forms, including integrated circuits such as an application specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).
[0083] The methods described in each embodiment may be stored as a program (software means) that can be executed by a computer on a recording medium such as a magnetic disk (e.g., a floppy disk, a hard disk, etc.), an optical disk (e.g., a CD-ROM, a DVD, an MO, etc.), or a semiconductor memory (e.g., a ROM, a RAM, a flash memory, etc.), or may be transmitted and distributed via a communication medium. The program stored on the medium also includes a configuration program that configures the software means (including not only execution programs but also tables and data structures) that the computer executes. The computer that realizes this device reads the program stored on the recording medium and, in some cases, configures the software means using the configuration program, and executes the above-described processing by having the operation controlled by this software means. The term "recording medium" as used herein is not limited to a storage medium for distribution, but also includes a storage medium such as a magnetic disk or semiconductor memory installed inside the computer or in a device connected via a network.
[0084] The present invention is not limited to the above-described embodiments, and various modifications can be made in the implementation stage without departing from the spirit of the invention. Furthermore, the embodiments may be implemented in appropriate combinations, in which case the combined effects can be obtained. Furthermore, the above-described embodiments include various inventions, and various inventions can be extracted by combining selected elements from the disclosed elements. For example, if the problem can be solved and the desired effect can be obtained even if some elements are deleted from all elements shown in the embodiments, the configuration from which these elements are deleted can be extracted as an invention. [Explanation of symbols]
[0085] 100...Web conference scheduling device 200: Cloud resource controller 10. Web conference scheduler 11...Controller 12...Instance status monitoring unit 13…Web conference quality model DB 20…Web conference reservation storage section 30…Web Conference Deployment Department
Claims
1. A model storage device that stores a model indicating the relationship between a processing load to be placed on an instance, a resource setting in the instance, and a predicted value of quality when the processing load is placed on the instance; a classification information storage device that stores classification information indicating that a processing load requested to be allocated to the instance, where the processing load or multiple processing loads having similar load magnitudes are classified into each of multiple categories to which priority is assigned; and a determination unit that extracts processing loads classified into any of the plurality of categories according to the priority order, and determines whether the predicted value of quality when the processing loads are assumed to be allocated to the instances in the model satisfies an appropriate quality requirement; a control unit that controls, when the determination unit determines that the predicted value satisfies the requirement, a change in allocation of the processing load to the instance such that the processing load used for this determination is allocated to the instance used for the determination; Equipped with The determination unit When it is determined that the predicted value does not satisfy the requirement, extracting a processing load classified into a category assigned a lower priority than the priority assigned to the category into which the processing load used for the determination is classified, or extracting another processing load classified into the same category as the category into which the processing load used for the determination is classified, and determining again whether or not the predicted value of quality satisfies the requirement when it is assumed that the extracted processing load is placed on the instance in the model. Data processing device.
2. The determination unit When it is determined that the predicted value does not satisfy the requirement, and there is no category assigned a lower priority than the priority assigned to the category into which the processing load used in this determination is classified, or when a processing load that has not yet been used in the determination is not classified into the category assigned a lower priority, another processing load that is classified into the same category as the category into which the processing load used in the determination is classified and has the smallest load magnitude is extracted, and it is determined again whether or not the predicted value of the quality when this processing load is assumed to be placed on the instance in the model satisfies the requirement.
2. The data processing device according to claim 1.
3. The determination unit selecting one instance from the at least one instance as a candidate instance to be used in the determination and to which the processing load is to be allocated; When it is determined that the predicted value of quality when the other processing load having the smallest load magnitude is assumed to be allocated to the selected instance in the model does not satisfy the requirement, and when there remains a processing load that has not yet been allocated to the instance among the processing loads classified into any of the plurality of categories, another instance from the at least one instance is selected as a candidate instance to be used in the determination and to which the processing load is to be allocated, and one of the remaining processing loads is extracted in accordance with the priority order, and it is determined again whether the predicted value of quality when the processing load is assumed to be allocated to the newly selected instance in the model satisfies the requirement.
3. The data processing device according to claim 2.
4. A method performed by a data processing device having a model storage device in which a model indicating the relationship between a processing load to be placed on an instance, a resource configuration in the instance, and a predicted value of quality when the processing load is placed on the instance is stored, and a classification information storage device in which classification information indicating that a processing load requested to be placed on the instance, and a plurality of processing loads having similar load magnitudes, are classified into each of a plurality of prioritized categories, comprising: extracting processing loads classified into any of the plurality of categories according to the priority order by a determination unit of the data processing device, and determining whether or not the predicted value of quality when the processing loads are assumed to be allocated to the instances in the model satisfies an appropriate quality requirement; a control unit of the data processing device controls, when the determination unit determines that the predicted value satisfies the requirement, a change in allocation of the processing load to the instance such that the processing load used in this determination is allocated to the instance used in the determination; The determination unit When it is determined that the predicted value does not satisfy the requirement, extracting a processing load classified into a category assigned a lower priority than the priority assigned to the category into which the processing load used for the determination is classified, or extracting another processing load classified into the same category as the category into which the processing load used for the determination is classified, and determining again whether or not the predicted value of quality satisfies the requirement when it is assumed that the extracted processing load is placed on the instance in the model. Data processing methods.
5. The determination unit When it is determined that the predicted value does not satisfy the requirement, and there is no category assigned a lower priority than the priority assigned to the category into which the processing load used in this determination is classified, or when a processing load that has not yet been used in the determination is not classified into the category assigned a lower priority, another processing load that is classified into the same category as the category into which the processing load used in the determination is classified and has the smallest load magnitude is extracted, and it is determined again whether or not the predicted value of the quality when this processing load is assumed to be placed on the instance in the model satisfies the requirement.
5. The data processing method according to claim 4.
6. The determination unit selecting one instance from the at least one instance as a candidate instance to be used in the determination and to which the processing load is to be allocated; When it is determined that the predicted value of quality when the other processing load having the smallest load magnitude is assumed to be allocated to the selected instance in the model does not satisfy the requirement, and when there remains a processing load that has not yet been allocated to the instance among the processing loads classified into any of the plurality of categories, another instance from the at least one instance is selected as a candidate instance to be used in the determination and to which the processing load is to be allocated, and one of the remaining processing loads is extracted in accordance with the priority order, and it is determined again whether the predicted value of quality when the processing load is assumed to be allocated to the newly selected instance in the model satisfies the requirement.
6. The data processing method according to claim 5.
7. A data processing program that causes a processor to function as each unit of the data processing device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Resource determination device, method, and program
JP2020072327A
Prediction-based provisioning planning for cloud environments
US20140089509A1
Performance Interference Model for Managing Consolidated Workloads in QoS-Aware Clouds
US20150229582A1
Multi-priority service instance allocation within cloud computing platforms
US20200236160A1