Server configuration automatic setting device and server configuration automatic setting method

The automatic server configuration device optimizes virtual machine resources by evaluating user feedback to balance performance and costs, addressing the challenge of resource misallocation in cloud-based server configurations.

WO2025243415A1PCT designated stage Publication Date: 2025-11-27MITSUBISHI ELECTRIC CORP
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing server configuration methods for virtual machines on cloud platforms struggle to balance maintenance costs with end-user experience, often leading to suboptimal performance and increased costs due to resource misallocation based on user requests.

Method used

An automatic server configuration setting device that evaluates and adjusts server configurations based on user feedback, using an evaluation server configuration creation unit, user feedback acquisition, server configuration evaluation, and determination units to identify the most optimal configuration for each virtual server, considering factors like CPU, memory, and network adapters.

Benefits of technology

This approach ensures that server configurations reflect actual user usage patterns, preventing suboptimal performance and cost inefficiencies by dynamically adjusting resources to maintain high user experience while minimizing maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024018786_27112025_PF_FP_ABST
    Figure JP2024018786_27112025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention appropriately sets a server configuration. This server configuration automatic setting device comprises: an evaluation server configuration creation unit that creates each evaluation server configuration; a user feedback acquisition unit that acquires feedback information by causing a user to execute virtual servers respectively having the evaluation server configurations; a server configuration evaluation unit that calculates evaluation values of the respective virtual servers on the basis of the feedback information and information on maintenance costs of the respective virtual servers; and a server configuration determination unit that determines an evaluation server configuration of the virtual server having the highest evaluation value as an adopted server configuration.
Need to check novelty before this filing date? Find Prior Art

Description

Automatic server configuration setting device and automatic server configuration setting method

[0001] The technology disclosed in this specification relates to a technology for setting a server configuration.

[0002] In recent years, there has been an increasing number of cases where application servers for IoT or web services are virtually constructed on the cloud.

[0003] The advantage of virtual machines built virtually on the cloud as described above is that they can dynamically increase or decrease resources compared to physical machines. The maintenance costs of virtual machines are greatly affected by the resources they contain.

[0004] While allocating fewer resources to a virtual machine can reduce maintenance costs, reducing resources can also result in slower application performance, longer execution and load times, and a poor end-user experience (in other words, an unhappy end user).

[0005] Therefore, virtual machine resources must be configured to balance maintenance costs with end-user experience.

[0006] For example, Patent Document 1 discloses a technique for increasing or decreasing resources based on an end user's request when determining resources for a virtual machine.

[0007] JP 2011-210134 A

[0008] In a system in which the server configuration, including resources, is determined based on end-user requests, when multiple end-users use the same virtual machine, the server configuration may be changed (resources increased or decreased) depending on requests from some end-users, potentially determining the performance of the virtual server, including the virtual machines.

[0009] Furthermore, if the end user and the virtual machine administrator (payer) are different people, there is no financial burden on the end user for changing the server configuration (increasing resources), which could result in excessive resource increases, for example.

[0010] The technology disclosed in this specification has been made in consideration of the problems described above, and is a technology for appropriately setting a server configuration.

[0011] A server configuration automatic setting device, which is a first aspect of the technology disclosed in the present specification, includes an evaluation server configuration creation unit for creating evaluation server configurations, which are different server configurations for each of a plurality of virtual servers; a user feedback acquisition unit for causing a user to run each of the virtual servers having the different evaluation server configurations and output feedback information and acquire the feedback information; a server configuration evaluation unit for calculating an evaluation value for each of the virtual servers based on the feedback information and information related to the maintenance costs of each of the virtual servers; and a server configuration determination unit for determining the evaluation server configuration of the virtual server with the highest evaluation value as an applicable server configuration.

[0012] According to at least a first aspect of the technology disclosed in the present specification, by evaluating the server configuration based on feedback information obtained when a user actually runs an application, it is possible to set the server configuration appropriately to reflect the actual usage of all users, compared to setting the server configuration based on user requests.

[0013] Furthermore, objects, features, aspects, and advantages associated with the technology disclosed herein will become more apparent from the detailed description and accompanying drawings set forth below.

[0014] FIG. 1 is a diagram conceptually illustrating an example of the configuration of a server configuration automatic setting device according to an embodiment. FIG. 1 is a diagram illustrating an example of the configuration of a user-used server determination unit and a server configuration setting unit according to an embodiment. FIG. 2 is a flowchart illustrating an example of the operation of the user-used server determination unit. FIG. 3 is a flowchart illustrating an example of the operation of the server configuration setting unit. FIG. 4 is a diagram listing configurable items of a predefined virtual machine and configurable values. FIG. 5 is a diagram illustrating an example of a virtual machine setting method. FIG. 6 is a diagram illustrating an example of the configuration of a user-used server determination unit, a server configuration setting unit, and a server configuration test unit according to an embodiment. FIG. 7 is a flowchart illustrating an example of the operation of the server configuration setting unit and the server configuration test unit. FIG. 8 is a diagram illustrating an example of a test scenario. FIG. 9 is a diagram illustrating an example of server requirements. FIG. 10 is a diagram illustrating an example of the configuration of a user-used server determination unit, a server configuration setting unit, a server configuration test unit, and a server rollback unit according to an embodiment. FIG. 11 is a flowchart illustrating an example of the operation of the server rollback unit. FIG. 12 is a diagram conceptually illustrating an example of the configuration of a server configuration automatic setting system according to an embodiment. FIG. 13 is a diagram illustrating an example of a classification method by a user classification unit. FIG. 14 is a diagram illustrating an example of the configuration of a user-used server determination unit and a server configuration setting unit according to an embodiment. FIG. 15 is a diagram illustrating an example of the configuration of a user-used server determination unit and a server configuration setting unit according to an embodiment. FIG. 16 is a diagram illustrating an example of a report. FIG. 1 is a diagram illustrating a schematic example of a hardware configuration when an automatic server configuration setting device, examples of which are shown in Figures 1, 2, 7, 11, 13, 15, and 16, is actually operated. FIG. 1 is a diagram illustrating a schematic example of a hardware configuration when an automatic server configuration setting device, examples of which are shown in Figures 1, 2, 7, 11, 13, 15, and 16, is actually operated.

[0015] Hereinafter, embodiments will be described with reference to the accompanying drawings. In the following embodiments, detailed features are shown for the purpose of explaining the technology, but these are merely examples and are not necessarily essential features for enabling the embodiments to be implemented.

[0016] The drawings are schematic, and for the sake of convenience, components may be omitted or simplified as appropriate. The relative sizes and positions of components shown in different drawings are not necessarily accurately depicted and may be changed as appropriate. Hatching may also be used in drawings such as plan views that are not cross-sectional views to facilitate understanding of the embodiments.

[0017] In the following description, the same components are denoted by the same reference numerals, and their names and functions are also the same. Therefore, detailed descriptions of them may be omitted to avoid duplication.

[0018] Furthermore, in the description given in this specification, when a certain component is described as "comprising," "including," or "having," unless otherwise specified, this is not an exclusive expression that excludes the presence of other components.

[0019] Furthermore, in the description of this specification, even if ordinal numbers such as "first" or "second" are used, these terms are used for convenience to make it easier to understand the contents of the embodiments, and the contents of the embodiments are not limited to the order that may result from these ordinal numbers.

[0020] First Embodiment An automatic server configuration setting device and an automatic server configuration setting method according to this embodiment will be described below.

[0021] <Configuration of the Automatic Server Configuration Setting Device> Figure 1 is a conceptual diagram illustrating an example of the configuration of an automatic server configuration setting device according to this embodiment. As shown in the example in Figure 1, the automatic server configuration setting device 1 includes a virtual server 201, a virtual server 202, ..., a virtual server 20n, a user-used server determination unit 300 that is provided to connect (communicate) with a plurality of user terminals (user terminal 101, user terminal 102, ..., user terminal 10n operated by users who use applications) and the plurality of virtual servers, and a server configuration setting unit 400 that is provided to connect (communicate) with the plurality of virtual servers.

[0022] Virtual server 201 is configured with virtual machines 211, 221, and 231. Virtual server 202 is configured with virtual machines 212, 222, and 232. Virtual server 20n is configured with virtual machines 21n, 22n, and 23n. Each virtual server has the same application functions but different configurations.

[0023] The user server determination unit 300 determines which virtual server an accessing user should use. The server configuration setting unit 400 finds the optimal server configuration based on the usage status (number of accesses, reload frequency, usage time, etc.) of the user who accessed the virtual server.

[0024] The server configuration refers to factors that determine server performance, such as memory resources, CPU performance, or the number of network adapters.

[0025] 2 is a diagram showing an example of the configuration of the user server determination unit and server configuration setting unit according to this embodiment. As shown in the example in FIG. 2, the user server determination unit 300 includes a user information acquisition unit 301, a server usage status acquisition unit 302, a server determination unit 303, and a server instruction unit 304. The user server determination unit 300 determines which virtual server the accessing user should use.

[0026] The server configuration setting unit 400 includes a server configuration acquisition unit 401 , an evaluation server configuration creation unit 402 , a user feedback acquisition unit 403 , a server configuration evaluation unit 404 , a server configuration determination unit 405 , and a server configuration instruction unit 406 .

[0027] The server configuration setting unit 400 is connected to server configuration information 100. The server configuration information 100 is a database that stores configuration information (e.g., the number of CPUs, memory, storage, or network adapters) for each of a plurality of virtual servers. The server configuration setting unit 400 finds the optimal virtual server configuration.

[0028] 3 is a flowchart showing an example of the operation of the user-used server determination unit 300. As shown in the example in Fig. 3, first, the user-used information acquisition unit 301 checks whether or not the automatic server configuration setting device 1 has been accessed by user terminal 101, user terminal 102, ..., user terminal 10n (step ST101 in Fig. 3).

[0029] Next, the server usage status acquisition unit 302 acquires the current load status (usage status) of virtual server 201, virtual server 202, ... virtual server 20n (step ST102 in FIG. 3). The acquired load status of the virtual server refers to information that can be used to determine the load of the virtual server, such as the number of users of the virtual server, the CPU usage rate of the virtual server, or the network load of the virtual server.

[0030] Next, the server-to-be-used determining unit 303 determines the virtual server with the least current load as the virtual server to be accessed by the user terminal (step ST103 in FIG. 3).

[0031] Finally, the server-to-be-used instruction unit 304 transmits information about the virtual server determined by the server-to-be-used determination unit 303 to the user terminal (step ST104 in FIG. 3). The user terminal uses the received virtual server as an application server.

[0032] Fig. 4 is a flowchart showing an example of the operation of the server configuration setting unit 400. As shown in the example in Fig. 4, first, the server configuration acquisition unit 401 acquires configuration information of the virtual server currently being used by the user (step ST201 in Fig. 4).

[0033] Next, the evaluation server configuration creating unit 402 determines the configuration of the evaluation server to be newly evaluated (step ST202 in FIG. 4).

[0034] An example of a method for configuring a virtual machine on an evaluation server is shown below. Fig. 5 is a diagram listing predefined configurable items for a virtual machine (a list of vCPU settings, a list of memory settings, a list of settings for the number of network adapters, and a list of storage type settings) and configurable values. In this embodiment, the items and values ​​shown in Fig. 5 are used to configure the virtual machine.

[0035] 6 is a diagram showing an example of a virtual machine configuration method. As shown in the example in FIG. 6, first, the evaluation server configuration creation unit 402 acquires the settings of the virtual machine currently used by the user (current server configuration, in other words, reference server configuration). Then, the evaluation server configuration creation unit 402 creates and proposes evaluation virtual machine configuration proposals (evaluation server configuration 1, evaluation server configuration 2, evaluation server configuration 3) by partially modifying the settings of the virtual machine currently used by the user (reference server configuration).

[0036] 6, the current server configuration has a vCPU setting of No. 2 and a setting value of 8, a memory setting of No. 3 and a setting value of 16 GB, the number of network adapters setting of No. 1 and a setting value of 1, and the storage type setting of No. 1 and a setting value of HDD. Evaluation server configuration 1 has a vCPU setting of No. 2 and a setting value of 8, a memory setting of No. 2 and a setting value of 8 GB (changed), the number of network adapters setting of No. 1 and a setting value of 1, and the storage type setting of No. 1 and a setting value of HDD. Evaluation server configuration 2 has a vCPU setting of No. 3 and a setting value of 16 (changed), a memory setting of No. 3 and a setting value of 16 GB, the number of network adapters setting of No. 1 and a setting value of 1, and the storage type setting of No. 1 and a setting value of HDD. Evaluation server configuration 3 has a vCPU setting of No. 2 and a setting value of 8, a memory setting of No. 2 and a setting value of 8 GB (changed), the number of network adapters setting of No. 1 and a setting value of 1, and the storage type setting of No. 1 and a setting value of HDD. The memory is set to No. 2 and has a setting value of 8, the memory is set to No. 3 and has a setting value of 16 GB, the number of network adapters is set to No. 1 and has a setting value of 1, and the storage type is set to No. 2 and has a setting value of SSD (changes made).

[0037] The item to be changed and the value to be changed can be determined by randomly selecting it from the list shown in FIG.

[0038] If the virtual server is configured with multiple virtual machines, the above operation is performed for all virtual machines that the virtual server has and for which you wish to perform the settings.

[0039] As described above, the current virtual server configuration (reference server configuration) is used as a base, and some of the configuration is changed to set it as the server configuration of the new virtual machine (evaluation server configuration). The above setting work is performed for all of the virtual servers (virtual server 201, virtual server 202, ... virtual server 20n).

[0040] Next, the server configuration instruction unit 406 issues an instruction to construct each virtual server with the determined configuration (step ST203 in FIG. 4).

[0041] Next, the user terminal executes the application using each virtual server as the application server via the user-used server determination unit 300. The feedback information output at this time is acquired by the user feedback acquisition unit 403 (step ST204 in FIG. 4).

[0042] Feedback information can include frequency of reloads, time spent using the application, and bounce rate (the percentage of users who access the application but do not take any other action).

[0043] Next, the server configuration evaluation unit 404 calculates an evaluation value of the virtual server based on the feedback information acquired by the user feedback acquisition unit 403 and information on the cost of maintaining and managing each virtual server (server maintenance costs) (step ST205 in FIG. 4). The evaluation value of the virtual server is calculated, for example, as follows:

[0044] Evaluation value = k1 × reload frequency + k2 × application usage time + k3 × bounce rate + k4 × server maintenance cost Note that k1, k2, k3, and k4 are constants.

[0045] Next, the server configuration determination unit 405 compares the evaluation values ​​of each virtual server and determines the virtual server with the highest evaluation value as the application server (step ST206 in FIG. 4). After that, the server configuration instruction unit 406 instructs each virtual server to change to the server configuration (applied server configuration) of the virtual server (application server) with the highest evaluation value (step ST207 in FIG. 4).

[0046] The flow shown in FIG. 4 is executed periodically, and the server configuration is sequentially changed to that of the virtual server with the highest evaluation value.

[0047] Second Embodiment An automatic server configuration setting device and an automatic server configuration setting method according to this embodiment will be described. In the following description, components similar to those described in the above embodiments will be denoted by the same reference numerals, and detailed descriptions thereof will be omitted as appropriate.

[0048] <Configuration of the server configuration automatic setting device> Fig. 7 is a diagram showing an example of the configuration of the user-used server determination unit, server configuration setting unit, and server configuration test unit according to this embodiment. As shown in the example in Fig. 7, the user-used server determination unit 300 includes a user information acquisition unit 301, a server usage status acquisition unit 302, a server-used determination unit 303, and a server-used instruction unit 304.

[0049] The server configuration setting unit 400 includes a server configuration acquisition unit 401 , an evaluation server configuration creation unit 402 , a user feedback acquisition unit 403 , a server configuration evaluation unit 404 , a server configuration determination unit 405 , and a server configuration instruction unit 406 .

[0050] Server configuration testing unit 500 includes a test server construction unit 501, a server test execution unit 502, and a server test result evaluation unit 503. After performing a load test on the server configuration created by evaluation server configuration creation unit 402, server configuration testing unit 500 outputs the results to evaluation server configuration creation unit 402 or server configuration instruction unit 406 depending on the test results.

[0051] The test server construction unit 501 acquires the server configuration created by the evaluation server configuration creation unit 402. The server test execution unit 502 performs a load test based on the test server configuration created by the test server construction unit 501 and a test scenario 504. The server test result evaluation unit 503 outputs the results to the evaluation server configuration creation unit 402 or the server configuration instruction unit 406 based on the output (test results) of the server test execution unit 502 and server requirements 505.

[0052] Fig. 8 is a flowchart showing an example of the operation of the server configuration setting unit 400 and the server configuration test unit 500. As shown in the example in Fig. 8, first, the server configuration acquisition unit 401 acquires configuration information of the virtual server currently being used by the user (step ST201 in Fig. 8).

[0053] Next, the evaluation server configuration creating unit 402 determines the configuration of the application server (evaluation server) to be newly evaluated (step ST202 in FIG. 8).

[0054] Next, the test server construction unit 501 constructs a test virtual server (test server) using the server configuration created by the evaluation server configuration creation unit 402 (step ST301 in FIG. 8).

[0055] Next, the server test execution unit 502 performs a load test on the test server constructed by the test server construction unit 501 based on the predefined test scenario 504 (step ST302 in FIG. 8 ), and outputs the test results.

[0056] 9 is a diagram showing an example of test scenario 504. As shown in the example of FIG. 9, test scenario 504 describes that the following steps will be tested at the time intervals described in "Time until next process": No. 1 "Display login screen," No. 2 "Enter incorrect user ID and password," No. 3 "Enter correct user ID and password," and finally No. 4 "Change registered address information." FIG. 9 also describes the number of times tests using test scenario 504 will be performed simultaneously.

[0057] Next, the server test result evaluation unit 503 determines whether the test server satisfies the predefined server requirements based on the test results from the server test execution unit 502 (step ST303 in FIG. 8).

[0058] FIG. 10 is a diagram showing an example of server requirements 505. In FIG. 10, "CPU usage rate" is entered as a check item, and the corresponding requirement to be met is entered as "30% or less." Similarly, "response time" is entered as a check item, and the corresponding requirement to be met is entered as "within 1 second on average." Similarly, "throughput rate" is entered as a check item, and the corresponding requirement to be met is entered as "20 Pv / s or more." Similarly, "error rate" is entered as a check item, and the corresponding requirement to be met is entered as "0.2% or less."

[0059] If the test server satisfies all server requirements, the server test result evaluation unit 503 outputs the server configuration of the test server as an applicable server configuration to the server configuration instruction unit 406. The server configuration instruction unit 406 then changes the virtual server used by the user to the server configuration of the test server verified by the server configuration test unit 500 (applied server configuration).

[0060] On the other hand, if the test server does not satisfy any of the server requirements, the server test result evaluation unit 503 causes the evaluation server configuration creation unit 402 to again determine the configuration of the application server (evaluation server) to be evaluated.

[0061] According to this embodiment, it is possible to prevent problems caused by server load when a user uses the evaluation server.

[0062] Third Embodiment An automatic server configuration setting device and an automatic server configuration setting method according to this embodiment will be described. In the following description, components similar to those described in the above embodiments will be denoted by the same reference numerals, and detailed descriptions thereof will be omitted as appropriate.

[0063] <Configuration of the server configuration automatic setting device> Fig. 11 is a diagram showing an example of the configuration of a user-used server determination unit, a server configuration setting unit, a server configuration test unit, and a server rollback unit according to this embodiment. As shown in the example in Fig. 11, the user-used server determination unit 300 includes a user information acquisition unit 301, a server usage status acquisition unit 302, a server-used determination unit 303, and a server-used instruction unit 304.

[0064] The server configuration setting unit 400 includes a server configuration acquisition unit 401 , an evaluation server configuration creation unit 402 , a user feedback acquisition unit 403 , a server configuration evaluation unit 404 , a server configuration determination unit 405 , and a server configuration instruction unit 406 .

[0065] The server configuration test unit 500 includes a test server construction unit 501 , a server test execution unit 502 , and a server test result evaluation unit 503 .

[0066] The server rollback unit 600 includes a user feedback acquisition unit 601, a rollback implementation possibility determination unit 602, a rollback implementation unit 603, and a server load confirmation unit 604. If the user feedback significantly deteriorates during user trials of the evaluation server, the server rollback unit 600 returns the configuration of the evaluation server to the server configuration during actual operation and updates the server requirements based on the load information.

[0067] Fig. 12 is a flowchart showing an example of the operation of the server rollback unit 600. As shown in the example in Fig. 12, first, the user feedback acquisition unit 601 acquires feedback information (e.g., number of accesses, reload frequency, bounce rate, etc.) when a user who uses a virtual server, which is the server configuration of the evaluation server, uses an application (step ST401 in Fig. 12).

[0068] Next, the rollback implementation determination unit 602 determines whether or not to implement a rollback based on the feedback information (step ST402 in FIG. 12). The determination criterion is to compare the feedback information of the same user when using a server other than the evaluation server, and determine that a rollback should be implemented if any of the data has deteriorated (deteriorated) by more than a predetermined threshold (5% in this embodiment).

[0069] If the rollback implementation determination unit 602 determines that rollback is necessary, the rollback implementation unit 603 performs rollback by returning the configuration of the virtual server to the configuration during actual operation (reference server configuration) (step ST403 in FIG. 12).

[0070] On the other hand, if the rollback execution possibility determining unit 602 determines that rollback is not necessary, the process returns to step ST401.

[0071] Next, the server load confirmation unit 604 acquires load information (CPU utilization rate, response time, throughput rate, error rate, etc.) of the evaluation server used by the user (step ST404 in FIG. 12 ). At this time, the server load confirmation unit 604 creates an environment in advance for checking the load of the evaluation server. Then, the server load confirmation unit 604 updates the server requirements 505 based on the load information (step ST405 in FIG. 12 ). Note that the update of the server requirements 505 may be performed independently of rollback (in other words, if the determination in step ST402 is YES, steps ST404 and ST405 may be performed without going through step ST403).

[0072] Fourth Embodiment An automatic server configuration setting device and an automatic server configuration setting method according to this embodiment will be described. In the following description, components similar to those described in the above embodiments will be denoted by the same reference numerals, and detailed descriptions thereof will be omitted as appropriate.

[0073] <Configuration of the Automatic Server Configuration Setting Device> Figure 13 is a conceptual diagram illustrating an example of the configuration of an automatic server configuration setting system related to this embodiment. As shown in the example in Figure 13, the automatic server configuration setting system 10 includes a plurality of automatic server configuration setting devices 1, a user classification unit 800 connected to (communicating with) the plurality of automatic server configuration setting devices 1, and a user information acquisition unit 700. Each automatic server configuration setting device 1 includes a virtual server 201, a virtual server 202...virtual server 20n, a user-used server determination unit 300 connected to (communicating with) the plurality of virtual servers, and a server configuration setting unit 400 connected to (communicating with) the plurality of virtual servers.

[0074] The user information acquisition unit 700 is provided in connection (communication) with the user terminal 101, user terminal 102, ... user terminal 10n operated by the user who uses the application. The user information acquisition unit 700 is also provided in connection (communication) with the user information database 900. The user information database 900 stores information on the user's usage trends and the environment of the user terminal, such as the user's application usage method, usage time, or internet speed in the user's environment.

[0075] The user classification unit 800 acquires information about the usage trends of users and the environment of the user terminals stored in the user information database 900 via the user information acquisition unit 700, and classifies users.

[0076] Fig. 14 is a diagram showing an example of a classification method by the user classification unit 800. As shown in the example in Fig. 14, each user is plotted on two axes, the internet environment and the application usage time, and users with similar tendencies can be classified into user groups (group A, group B, group C) using a clustering method such as the k-menas method.

[0077] For each user group (group A, group B, group C), the server configuration shown in the first embodiment, for example, is set. Specifically, the user feedback acquisition unit 403 causes users in the user group to run each virtual server having the evaluation server configuration, outputting feedback information, and acquires feedback information for each user group. This makes it possible to set up a virtual server that captures the characteristics of each user.

[0078] Fifth Embodiment An automatic server configuration setting device and an automatic server configuration setting method according to this embodiment will be described. In the following description, components similar to those described in the above embodiments will be denoted by the same reference numerals, and detailed descriptions thereof will be omitted as appropriate.

[0079] <Configuration of the server configuration automatic setting device> Fig. 15 is a diagram showing an example of the configuration of the user-used server determination unit and the server configuration setting unit according to this embodiment. As shown in the example in Fig. 15, the user-used server determination unit 300 includes a user information acquisition unit 301, a server usage status acquisition unit 302, a server-used determination unit 303, and a server-used instruction unit 304.

[0080] The server configuration setting unit 400A includes a server configuration acquisition unit 401, an evaluation server configuration creation unit 402, a user feedback acquisition unit 403, a server configuration evaluation unit 404, a server configuration determination unit 405, a server configuration instruction unit 406, an environment information acquisition unit 407, and an environment classification unit 408.

[0081] The environmental information acquisition unit 407 acquires external information (environmental information) such as time, day of the week, weather, temperature, etc. The environmental classification unit 408 groups the environmental information into environmental groups.

[0082] In this embodiment, the configuration of the virtual server is changed based on environmental information. For example, on rainy days, users spend more time using the server, so a high-performance server configuration is used. On sunny days, on the other hand, a server configuration with relatively low performance is used.

[0083] The environment classification unit 408 finds the optimal server configuration settings shown in the first embodiment for each of the grouped environment groups, thereby making it possible to apply the server configuration set according to the environment information to the user's actual operating environment.

[0084] Sixth Embodiment An automatic server configuration setting device and an automatic server configuration setting method according to this embodiment will be described. In the following description, components similar to those described in the above embodiments will be denoted by the same reference numerals, and detailed descriptions thereof will be omitted as appropriate.

[0085] <Configuration of the server configuration automatic setting device> Fig. 16 is a diagram showing an example of the configuration of the user-used server determination unit and the server configuration setting unit according to this embodiment. As shown in the example in Fig. 15, the user-used server determination unit 300 includes a user information acquisition unit 301, a server usage status acquisition unit 302, a server-used determination unit 303, and a server-used instruction unit 304.

[0086] The server configuration setting unit 400B includes a server configuration acquisition unit 401 , an evaluation server configuration creation unit 402 , a user feedback acquisition unit 403 , a server configuration evaluation unit 404 , a server configuration determination unit 405 , and a report creation unit 409 .

[0087] The report creation unit 409 outputs a report of the proposed optimal server configuration (applied server configuration) determined by the server configuration determination unit 405 and the effects of changing to the server configuration. The report may also include the reasons for evaluating the applied server configuration.

[0088] Fig. 17 is a diagram showing an example of a report. As shown in the example of Fig. 17, the report describes a prediction of the effect (change in evaluation value and change in cost) when a change is made to the determined server configuration (applied server configuration). The example of Fig. 17 shows the vCPU, memory, number of network adapters, server cost, and user evaluation value for the changed server configuration (recommended configuration plan).

[0089] <Hardware configuration of the automatic server configuration setting device> Figures 18 and 19 are diagrams that schematically illustrate the hardware configuration when the automatic server configuration setting device, examples of which are shown in Figures 1, 2, 7, 11, 13, 15, and 16, is actually operated.

[0090] Note that the hardware configurations illustrated in Figures 18 and 19 may not match the numbers and other details of the configurations illustrated in Figures 1, 2, 7, 11, 13, 15, and 16, but this is because the configurations illustrated in Figures 1, 2, 7, 11, 13, 15, and 16 represent conceptual units.

[0091] Therefore, at least the following cases can be envisaged: a configuration illustrated in Figures 1, 2, 7, 11, 13, 15, and 16 is made up of multiple hardware configurations illustrated in Figures 18 and 19; a configuration illustrated in Figures 1, 2, 7, 11, 13, 15, and 16 corresponds to a part of the hardware configuration illustrated in Figures 18 and 19; and further, a case can be envisaged in which multiple configurations illustrated in Figures 1, 2, 7, 11, 13, 15, and 16 are provided in one hardware configuration illustrated in Figures 18 and 19.

[0092] 18 shows a processing circuit 1102A that performs calculations and a storage device 1103 that can store information as a hardware configuration for realizing the functional units of the user-used server determination unit 300, the server configuration setting unit 400, the server configuration setting unit 400A, the server configuration setting unit 400B, the server configuration test unit 500, the server rollback unit 600, the user information acquisition unit 700, and the user classification unit 800 shown in FIGS. 1, 2, 7, 11, 13, 15, and 16. This configuration is the same in all of the above embodiments.

[0093] 19 shows a processing circuit 1102B that performs calculations as a hardware configuration for realizing the functional units of the user-used server determination unit 300, the server configuration setting unit 400, the server configuration setting unit 400A, the server configuration setting unit 400B, the server configuration test unit 500, the server rollback unit 600, the user information acquisition unit 700, and the user classification unit 800 shown in FIGS. 1, 2, 7, 11, 13, 15, and 16. This configuration is the same in all of the above embodiments.

[0094] The storage device 1103 may be, for example, a memory (recording medium) including a volatile or non-volatile semiconductor memory such as a hard disk drive (HDD), random access memory (RAM), read only memory (ROM), flash memory, erasable programmable read only memory (EPROM) and electrically erasable programmable read-only memory (EEPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, or a DVD, or any recording medium that will be used in the future.

[0095] The processing circuit 1102A may execute a program stored in the storage device 1103, an external CD-ROM, an external DVD-ROM, an external flash memory, etc. That is, it may be, for example, a central processing unit (CPU), a microprocessor, a microcomputer, or a digital signal processor (DSP).

[0096] When the processing circuit 1102A executes a program stored in the memory device 1103, an external CD-ROM, an external DVD-ROM, or an external flash memory, each functional unit of the user usage server determination unit 300, each functional unit of the server configuration setting unit 400, each functional unit of the server configuration setting unit 400A, each functional unit of the server configuration setting unit 400B, each functional unit of the server configuration test unit 500, each functional unit of the server rollback unit 600, each functional unit of the user information acquisition unit 700, and each functional unit of the user classification unit 800 are realized by software, firmware, or a combination of software and firmware in which the program stored in the memory device 1103 is executed by the processing circuit 1102A. In addition, the functions of each functional unit of the user-used server determination unit 300, each functional unit of the server configuration setting unit 400, each functional unit of the server configuration setting unit 400A, each functional unit of the server configuration setting unit 400B, each functional unit of the server configuration test unit 500, each functional unit of the server rollback unit 600, each functional unit of the user information acquisition unit 700, and each functional unit of the user classification unit 800 may be realized, for example, by multiple processing circuits working together.

[0097] The software and firmware may be written as a program and stored in the storage device 1103. In this case, the processing circuit 1102A realizes the above-described functions by reading and executing the program stored in the storage device 1103. In other words, the storage device 1103 may store a program that, when executed by the processing circuit 1102A, results in the above-described functions being realized.

[0098] The processing circuit 1102B may also be dedicated hardware, i.e., for example, a single circuit, multiple circuits, a programmed processor, a parallel programmed processor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination thereof.

[0099] If the processing circuit 1102B is dedicated hardware, the functional units of the user-used server determination unit 300, the server configuration setting unit 400, the server configuration setting unit 400A, the server configuration setting unit 400B, the server configuration test unit 500, the server rollback unit 600, the user information acquisition unit 700, and the user classification unit 800 are realized by the operation of the processing circuit 1102B. Note that the functions of the user-used server determination unit 300, the server configuration setting unit 400, the server configuration setting unit 400A, the server configuration setting unit 400B, the server configuration test unit 500, the server rollback unit 600, the user information acquisition unit 700, and the user classification unit 800 may be realized by separate circuits or by a single circuit.

[0100] In addition, the functions of each functional unit of the user usage server determination unit 300, each functional unit of the server configuration setting unit 400, each functional unit of the server configuration setting unit 400A, each functional unit of the server configuration setting unit 400B, each functional unit of the server configuration test unit 500, each functional unit of the server rollback unit 600, each functional unit of the user information acquisition unit 700, and each functional unit of the user classification unit 800 may be realized in part by processing circuit 1102A, which executes a program stored in memory device 1103, and in part by processing circuit 1102B, which is dedicated hardware.

[0101] <Regarding the Effects Produced by the Multiple Embodiments Described Above> Next, examples of the effects produced by the multiple embodiments described above will be described. Note that in the following description, the effects will be described based on the specific configurations exemplified in the multiple embodiments described above, but these may be replaced with other specific configurations exemplified in the present specification to the extent that similar effects are produced. In other words, for convenience, only one of the associated specific configurations may be described as a representative below, but the representatively described specific configuration may be replaced with another associated specific configuration.

[0102] Furthermore, the replacement may be made across multiple embodiments, i.e., configurations illustrated in different embodiments may be combined to produce the same effect.

[0103] According to the embodiment described above, the server configuration automatic setting device includes an evaluation server configuration creation unit 402, a user feedback acquisition unit 403, a server configuration evaluation unit 404, and a server configuration determination unit 405. The evaluation server configuration creation unit 402 creates evaluation server configurations, which are different server configurations for each of the multiple virtual servers 201 (or virtual servers 202...virtual servers 20n). The user feedback acquisition unit 403 causes users to run each virtual server having a different evaluation server configuration, output feedback information, and acquires the feedback information. The server configuration evaluation unit 404 calculates an evaluation value for each virtual server based on the feedback information and information related to the maintenance costs of each virtual server. The server configuration determination unit 405 determines the evaluation server configuration of the virtual server with the highest evaluation value as the applicable server configuration.

[0104] Furthermore, according to the embodiment described above, the automatic server configuration setting device includes a processing circuit 1102A that executes a program and a storage device 1103 that stores the program to be executed. The processing circuit 1102A executes the program to realize the following operations.

[0105] That is, evaluation server configurations, which are different server configurations, are created for each of the multiple virtual servers. Then, users are caused to run each of the virtual servers having the different evaluation server configurations, and feedback information is output and acquired. Then, an evaluation value for each virtual server is calculated based on the feedback information and information related to the maintenance costs of each virtual server. Then, the evaluation server configuration of the virtual server with the highest evaluation value is determined as the applied server configuration.

[0106] Furthermore, according to the embodiment described above, the automatic server configuration device includes a dedicated hardware processing circuit 1102B. The dedicated hardware processing circuit 1102B performs the following operations.

[0107] That is, the processing circuit 1102B, which is dedicated hardware, creates evaluation server configurations, which are different server configurations for each of the multiple virtual servers.The processing circuit 1102B then has the user run each of the virtual servers with the different evaluation server configurations, outputting feedback information and acquiring the feedback information.The processing circuit 1102B then calculates an evaluation value for each virtual server based on the feedback information and information related to the maintenance costs of each virtual server.The processing circuit 1102B then determines the evaluation server configuration of the virtual server with the highest evaluation value as the applicable server configuration.

[0108] With this configuration, by evaluating the server configuration based on feedback information obtained when users actually run applications, it is possible to set an appropriate server configuration that reflects the actual usage of all users, compared to setting the server configuration according to user requests.In addition, since it is possible to obtain information such as excessively high server performance, which is difficult to obtain when responding to user requests, it is possible to set the server configuration of the virtual server that is most cost-effective without impairing the user experience.

[0109] Furthermore, even if other configurations shown as examples in this specification are appropriately added to the above configuration, that is, even if other configurations in this specification that were not mentioned as the above configuration are appropriately added, the same effect can be achieved.

[0110] Furthermore, according to the embodiment described above, the automatic server configuration setting device includes a server configuration instruction unit 406 for instructing that the server configuration of each virtual server be changed to the applicable server configuration. With this configuration, the server configuration of the virtual server is automatically changed to the server configuration with the highest evaluation value (applied server configuration), thereby making it possible to set an optimal server configuration without placing a burden on the administrator.

[0111] Furthermore, according to the embodiment described above, the automatic server configuration setting device includes a report creation unit 409 for creating a report that describes a proposed server configuration or the reasons for evaluation. With this configuration, by creating a report of the proposed server configuration, the server administrator can use it as reference information when changing the server configuration of the virtual server.

[0112] Furthermore, according to the embodiment described above, the server configuration automatic setting device includes a server configuration testing unit 500 for performing a load test on each virtual server having the evaluation server configuration created by the evaluation server configuration creating unit 402. If each virtual server subjected to the load test does not satisfy the server requirements, the server configuration testing unit 500 instructs the evaluation server configuration creating unit 402 to recreate the server configuration. With this configuration, by performing a load test on the virtual server using the evaluation server before the user runs an application, it is possible to prevent the virtual server from not working when the user runs the application, thereby imposing a burden on the user.

[0113] Furthermore, according to the embodiment described above, the server configuration automatic configuration device includes a server load confirmation unit 604 that, when the feedback information falls below a predetermined threshold, acquires load information of the virtual server having the evaluation server configuration and updates the server requirements based on the load information. With this configuration, when the user's experience using the evaluation server deteriorates more than expected, updating the server requirements based on the load information at that time can contribute to preventing a recurrence of such an unexpectedly poor user experience.

[0114] Furthermore, according to the embodiment described above, the evaluation server configuration creation unit 402 creates an evaluation server configuration by changing the reference server configuration, which is the server configuration of the virtual server. The server configuration automatic setting device further includes a server rollback unit 600 that returns the evaluation server configuration of the virtual server to the reference server configuration when the feedback information falls below a predetermined threshold. With this configuration, if the user's experience using the evaluation server deteriorates more than expected, the server configuration can be rolled back to the reference server configuration, thereby quickly recovering from the deterioration in the user's experience.

[0115] Furthermore, according to the embodiment described above, the server configuration automatic configuration device includes a user classification unit 800 for classifying multiple users into multiple user groups. The user feedback acquisition unit 403 then causes users in the user group to run virtual servers having different evaluation server configurations, output feedback information, and acquires the feedback information. With this configuration, by setting an optimal virtual server (server configuration) for each user with similar characteristics, it is possible to set a virtual server (server configuration) that strikes a good balance between maintenance costs and server performance.

[0116] Furthermore, according to the embodiment described above, the automatic server configuration configuration device includes an environment classification unit 408 for classifying environments into multiple environment groups based on environmental information. The evaluation server configuration creation unit 402 then creates an evaluation server configuration for each of the multiple virtual servers for each environment group. This configuration allows for the optimal virtual server (server configuration) to be set for external environments such as weather, day of the week, or time of day, thereby achieving a good balance between maintenance costs and server performance.

[0117] According to the embodiment described above, in the server configuration automatic configuration method, evaluation server configurations that are different from one another are created for each of a plurality of virtual servers. Then, a user is caused to run each of the virtual servers having the different evaluation server configurations, and feedback information is output and acquired. Then, an evaluation value for each virtual server is calculated based on the feedback information and information related to the maintenance costs of each virtual server. Then, the evaluation server configuration of the virtual server with the highest evaluation value is determined as the applicable server configuration.

[0118] With this configuration, the server configuration can be evaluated based on feedback information obtained when users actually run applications, making it possible to set an appropriate server configuration that reflects the actual usage of all users, compared to when the server configuration is set based on user requests.

[0119] Unless otherwise specified, the order in which the processes are performed can be changed.

[0120] Furthermore, even if other configurations shown as examples in this specification are appropriately added to the above configuration, that is, even if other configurations in this specification that were not mentioned as the above configuration are appropriately added, the same effect can be achieved.

[0121] <Regarding Modifications of the Multiple Embodiments Described Above> In the multiple embodiments described above, the dimensions, shapes, relative positional relationships, and implementation conditions of each component may be described, but these are merely examples in all aspects and are not limiting.

[0122] Therefore, countless modifications and equivalents not shown as examples are contemplated within the scope of the technology disclosed in the present specification, including, for example, modifying, adding, or omitting at least one component, and further, extracting at least one component from at least one embodiment and combining it with a component from another embodiment.

[0123] Furthermore, unless a contradiction arises, when it is stated in the above-described embodiments that "one" component is provided, "one or more" of that component may be provided.

[0124] Furthermore, each component in the embodiments described above is a conceptual unit, and the scope of the technology disclosed in this specification includes cases where one component is made up of multiple structures, cases where one component corresponds to a part of a structure, and even cases where multiple components are provided in one structure.

[0125] Furthermore, each of the components in the embodiments described above includes structures having other structures or shapes as long as they perform the same function.

[0126] Furthermore, the descriptions in this specification are incorporated by reference for all purposes related to the present technology, and none of them are admitted to be prior art.

[0127] Furthermore, each component described in the above-described embodiments is envisioned as software or firmware, as well as corresponding hardware, and as software it is referred to as, for example, a "unit," and as hardware it is referred to as, for example, a "processing circuit."

[0128] 1 Server configuration automatic setting device, 10 Server configuration automatic setting system, 10n User terminal, 20n Virtual server, 21n Virtual machine, 22n Virtual machine, 23n Virtual machine, 100 Server configuration information, 101 User terminal, 102 User terminal, 201 Virtual server, 202 Virtual server, 211 Virtual machine, 212 Virtual machine, 221 Virtual machine, 222 Virtual machine, 231 Virtual machine, 232 Virtual machine, 300 User-used server determination unit, 301 User information acquisition unit, 302 Server usage status acquisition unit, 303 Server-used determination unit, 304 Server-used instruction unit, 400 Server configuration setting unit, 400A Server configuration setting unit, 400B Server configuration setting unit, 401 Server configuration acquisition unit, 402 Evaluation server configuration creation unit, 403 User feedback acquisition unit, 404 Server configuration evaluation unit, 405 Server configuration determination unit, 406 Server configuration instruction unit, 407 Environment information acquisition unit, 408 Environment classification unit, 409 Report creation unit, 500 Server configuration test unit, 501 Test server construction unit, 502 Server test execution unit, 503 Server test result evaluation unit, 504 Test scenario, 505 Server requirements, 600 Server rollback unit, 601 User feedback acquisition unit, 602 Rollback implementation possibility determination unit, 603 Rollback implementation unit, 604 Server load confirmation unit, 700 User information acquisition unit, 800 User classification unit, 900 User information database, 1102A Processing circuit, 1102B Processing circuit, 1103 Storage device.

Claims

1. An automatic server configuration setting device comprising: an evaluation server configuration creation unit for creating evaluation server configurations, which are mutually different server configurations, for each of a plurality of virtual servers; a user feedback acquisition unit for having a user run each of the virtual servers having the mutually different evaluation server configurations and output feedback information and acquiring the feedback information; a server configuration evaluation unit for calculating an evaluation value for each of the virtual servers based on the feedback information and information regarding maintenance costs for each of the virtual servers; and a server configuration determination unit for determining the evaluation server configuration of the virtual server with the highest evaluation value as an applicable server configuration.

2. The automatic server configuration setting device according to claim 1, further comprising a server configuration instruction unit for instructing that the server configuration of each of the virtual servers be changed to the applied server configuration.

3. The automatic server configuration setting device according to claim 1, further comprising a report creation unit for creating a report that describes the proposed configuration of the applied server configuration or the reasons for evaluation.

4. An automatic server configuration setting device according to any one of claims 1 to 3, further comprising a server configuration testing unit for performing a load test on each of the virtual servers having the evaluation server configuration created by the evaluation server configuration creation unit, wherein the server configuration testing unit instructs the evaluation server configuration creation unit to recreate the server configuration if each of the virtual servers for which the load test has been performed does not satisfy the server requirements.

5. An automatic server configuration setting device according to claim 4, further comprising a server load confirmation unit that, when the feedback information falls below a predetermined threshold, acquires load information of the virtual server having the evaluation server configuration and updates the server requirements based on the load information.

6. An automatic server configuration setting device according to any one of claims 1 to 5, wherein the evaluation server configuration creation unit creates the evaluation server configuration by changing a reference server configuration, which is the server configuration of the virtual server, and the automatic server configuration setting device further comprises a server rollback unit for returning the evaluation server configuration of the virtual server to the reference server configuration when the feedback information falls below a predetermined threshold.

7. An automatic server configuration setting device according to any one of claims 1 to 6, further comprising a user classification unit for classifying a plurality of users into a plurality of user groups, wherein the user feedback acquisition unit causes the users in the user group to run each of the virtual servers having the different evaluation server configurations, output the feedback information, and acquires the feedback information.

8. An automatic server configuration setting device according to any one of claims 1 to 7, further comprising an environment classification unit for classifying into a plurality of environment groups based on environmental information, wherein the evaluation server configuration creation unit creates the evaluation server configurations for the plurality of virtual servers for each of the environment groups.

9. A method for automatically setting a server configuration, comprising: creating evaluation server configurations that are different from each other for a plurality of virtual servers; having a user run each of the virtual servers having the different evaluation server configurations to output feedback information; acquiring the feedback information; calculating an evaluation value for each of the virtual servers based on the feedback information and information regarding the maintenance costs of each of the virtual servers; and determining the evaluation server configuration of the virtual server with the highest evaluation value as the applicable server configuration.

Citation Information

Patent Citations

  • Cloud product trial method, electronic device and computer program product

    CN114820120A

  • Generating configuration options for a computing system

    US20120123898A1