WO2012160978A1 - システムおよびシステムの制御方法 - Google Patents

システムおよびシステムの制御方法 Download PDF

Info

Publication number
WO2012160978A1
WO2012160978A1 PCT/JP2012/061933 JP2012061933W WO2012160978A1 WO 2012160978 A1 WO2012160978 A1 WO 2012160978A1 JP 2012061933 W JP2012061933 W JP 2012061933W WO 2012160978 A1 WO2012160978 A1 WO 2012160978A1
Authority
WO
WIPO (PCT)
Prior art keywords
control unit
functional block
function
operation level
evaluation function
Prior art date
Application number
PCT/JP2012/061933
Other languages
English (en)
French (fr)
Inventor
小川 雅嗣
田中 淳裕
雄馬 松田
雅文 矢野
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to BR112013029929-0A priority Critical patent/BR112013029929B1/pt
Priority to AU2012260091A priority patent/AU2012260091B2/en
Priority to JP2013516284A priority patent/JP6388326B2/ja
Priority to EP12790235.1A priority patent/EP2717218A4/en
Priority to US14/118,718 priority patent/US9626635B2/en
Publication of WO2012160978A1 publication Critical patent/WO2012160978A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Definitions

  • the present invention relates to a system having a plurality of functional blocks and capable of operating by integrating these functional blocks in an autonomous distributed manner.
  • centralized control is very effective if the environment can be predicted and the scale can be viewed from the whole.
  • Centralized control is control in which the entire picture of the system is always accurately grasped, the situation is judged and actions are determined. In short, it is a method of defining the code with if the else.
  • the centralized system has become unable to handle a large-scale system, and an autonomous distributed system has been actively studied.
  • Autonomous distributed control is control in which elements such as resources operate using only the relationship between elements, and does not necessarily require accurate overall information. As the system becomes larger, it becomes more difficult to know the entire information accurately, so autonomous distributed control is desired.
  • the comfort felt by the system is defined as Activity
  • the human side can specify the operation of the system from the top down by separating it from the entire potential. What this means is that Activity should be set so that the operation expected from the system can be realized. For example, if it is desired to move the system to a certain position, a function having a maximum value at a desired position may be given as Activity. When the position is far from the desired position, the first term on the right side of Equation (1) has a small value, so that each element of the system is driven by the random noise in the second term on the right side. If you compare each element of the system to a particle, it is like a Brownian motion.
  • a system that is far from the desired location may accidentally approach the desired location while making random movements such as Brownian motion.
  • the first term on the right side of Equation (1) takes a large value due to the action of the Activity function.
  • the operation of the system shifts from the second term on the right side to the first term on the right side.
  • the system naturally falls to the potential position where the Activity is maximized. That is, it reaches a desired position.
  • What is important here is that when the fluctuation equation is used, only the activity is determined top-down and no special command or control is performed for each element of the system.
  • An output proportional to the value on the right side of Equation (1) may be given to each element of the system.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide a system that can perform a cooperative operation as a whole using only functions related to each element without using probability theory.
  • a first aspect of the present invention includes a plurality of functional blocks having mutual relations, and the plurality of functional blocks each include a storage unit having an evaluation function corresponding thereto, Based on the constraint condition satisfaction control unit that controls the operation level of each functional block based on the constraint conditions that should be satisfied by the whole of the plurality of functional blocks, and information on the evaluation function of other functional blocks related to the functional block, The profit maximization control unit that controls the operation level, and the activation state and stop of the function block using the control results of the constraint condition satisfaction control unit and the profit maximization control unit according to the operation level of the function block And a start / stop problem solution control unit for controlling the state.
  • a second aspect of the present invention is a system control method using the system described in the first aspect.
  • FIG. 1 is a schematic diagram of a system studied in the present invention.
  • FIG. 2 is a schematic diagram of the architecture of the present invention.
  • FIG. 3 is a schematic diagram of an evaluation function used in the present invention.
  • FIG. 4A is a control image diagram of the present invention when the start / stop problem solving unit is not operated.
  • FIG. 4B is a control image diagram of the present invention when the start / stop problem solving unit is not operated.
  • FIG. 4C is a control image diagram of the present invention when the start / stop problem solving unit is not operated.
  • FIG. 5A is a control image diagram of the present invention when the start / stop problem solving unit is operated.
  • FIG. 5B is a control image diagram of the present invention when the start / stop problem solving unit is operated.
  • FIG. 5A is a control image diagram of the present invention when the start / stop problem solving unit is operated.
  • FIG. 5B is a control image diagram of the present invention when the start / stop problem solving unit is operated
  • FIG. 5C is a control image diagram of the present invention when the start / stop problem solving unit is operated.
  • FIG. 6 is a diagram showing an example of the evaluation function used in the present invention.
  • FIG. 7A is a diagram showing experimental results in an example of the present invention.
  • FIG. 7B is a diagram showing experimental results in one example of the present invention.
  • FIG. 8A is a diagram showing experimental results in one embodiment of the present invention.
  • FIG. 8B is a diagram showing experimental results in one example of the present invention.
  • FIG. 9A is a diagram showing experimental results in one example of the present invention.
  • FIG. 9B is a diagram showing experimental results in one example of the present invention.
  • FIG. 10 is a diagram showing an example of the evaluation function used in the present invention.
  • FIG. 11A is a diagram showing experimental results in one example of the present invention.
  • FIG. 11B is a diagram showing experimental results in one example of the present invention.
  • FIG. 12 is a system schematic diagram studied in the present invention.
  • FIG. 13A is a diagram showing experimental results in one example of the present invention.
  • FIG. 13B is a diagram showing experimental results in one example of the present invention.
  • FIG. 14 is a system schematic diagram studied in the present invention.
  • FIG. 15A is a diagram showing experimental results in one example of the present invention.
  • FIG. 15B is a diagram showing experimental results in one example of the present invention.
  • FIG. 16 is a system schematic diagram studied in the present invention.
  • FIG. 17 is a diagram showing an example of an evaluation function used in the present invention.
  • FIG. 18A is a diagram showing experimental results in one example of the present invention.
  • FIG. 18B is a diagram showing experimental results in one example of the present invention.
  • FIG. 19 is a system schematic diagram studied in the present invention.
  • FIG. 20A is a diagram showing experimental results in an example of the present invention.
  • FIG. 20B is a diagram showing experimental results in one example of the present invention.
  • FIG. 21A is a system schematic diagram studied in the present invention.
  • FIG. 21B is a system schematic diagram studied in the present invention.
  • FIG. 22 is a diagram showing experimental results in one embodiment of the present invention.
  • FIG. 23A is a system schematic diagram examined in the present invention.
  • FIG. 23B is a system schematic diagram studied in the present invention.
  • FIG. 24A is a diagram showing experimental results in an example of the present invention.
  • FIG. 24B is a diagram showing experimental results in one example of the present invention.
  • FIG. 25A is a diagram showing experimental results in one example of the present invention.
  • the problem to be solved has a structure in which two problems are mixed.
  • One is a start / stop problem, and the other is an optimization problem.
  • the start / stop problem is a problem of determining or managing which resource is used and which resource is not used when there is a resource group (functional block group).
  • the optimization problem is a problem of how to allocate the work given to the entire system, given a resource, to optimize based on a certain index.
  • these problems have often been tried to solve individually with a probabilistic approach, but with a simple probability theory, in an environment that changes freely, depending on the situation, It is difficult to respond immediately in real time. This time, we have devised an architecture that integrates these two problems and can respond to the situation in a robust and real-time manner.
  • FIG. 2 shows a schematic diagram of the functional block architecture created by the inventor and a system in which the functional blocks are bundled.
  • the functional blocks of the present application mainly include a start / stop problem solving control unit and an optimization problem solving control unit, and the system is configured by mutually related functional blocks (other functional blocks). is doing.
  • the means for solving each part will be described in detail.
  • the solution of the optimization problem is explained. To solve the optimization problem, two requirements must be considered. One is balancing supply and demand, and the other is maximizing overall profit. It can be said that optimization is achieved only when both are satisfied.
  • supply and demand balancing control is also control that satisfies the constraint condition, it may be referred to as constraint condition satisfaction control. That is, in the architecture shown in FIG. 2, the optimization problem solving control unit has a profit maximization control unit and a constraint condition satisfaction control unit.
  • Supply / demand balancing is often a constraint that the total amount of missions or tasks required for the entire system must be satisfied. There is no point in maximizing efficiency and profits without satisfying this.
  • the demand is the sum of the operation levels ⁇ i (i is a function block number), and is expressed by the following equation (4).
  • each functional block is determined by the constraint condition satisfaction control unit using an equation that satisfies the following relationship (5).
  • ⁇ k is the operation level of another functional block having a relationship with the functional block of the operation level ⁇ i . More specifically, this equation is expressed by the following equation (6).
  • K 1 is a coefficient corresponding to the gain of the operational level changes.
  • ⁇ nom, i is a normalization coefficient of function block i (an amount corresponding to the scale of the function block) and is not always necessary. However, if the elements are heterogeneous, it is better to multiply the coefficient normalized as a whole. Since it is often good, it is introduced in equation (6).
  • the constraint condition satisfaction control unit controls the operation level of the functional block according to the equation (6)
  • the entire system operates to satisfy the constraint condition Dem.
  • the next thing to solve is maximizing overall profit. This may be read as maximizing the overall efficiency.
  • an evaluation function related to each element (functional block) as shown in FIG. 3 is introduced (in FIG. 2, the evaluation function is stored in the storage unit of the functional block).
  • the horizontal axis is a parameter for controlling each functional block, and corresponds to the processing request amount ⁇ in this example.
  • the vertical axis is an index related to some efficiency, and a specific example will be described in detail in an embodiment described later.
  • the evaluation function is a convex function.
  • convex function is also a point of the present invention. This is because in many systems it is possible to express some efficiency, system stability, etc. by a convex function as shown in FIG.
  • the upward convex function as shown in FIG. 3 is sometimes called a concave function
  • the downward convex function is sometimes called a convex function. Is also expressed as a convex function.
  • the problem of optimizing the entire function by linking elements whose evaluation function is a convex function (a state in which the sum of the evaluation function values of each element is maximized) is known as a “convex programming problem”. It is mathematically shown that optimization is achieved in the situation where the differential values of the evaluation function are equal at the operation levels. I applied this principle this time.
  • f i is an evaluation function of the functional block i (i-th functional block)
  • f k is an evaluation function of another functional block k related to the functional block i. More specifically, it is represented by the following formula (8).
  • K 2 is a coefficient corresponding to the gain of the operational level changes.
  • Equation (9) actually includes the function of starting and stopping elements.
  • the second term on the right-hand side has an effect that the elements suppress each other via the slope of the evaluation function. And, as a phenomenon that actually occurs, the one with a large evaluation function slope (one with a large improvement in efficiency) suppresses one with a small evaluation function slope (one with a small improvement in efficiency), and stops in some cases .
  • the second term on the right side of Equation (9) includes a function for solving the stop problem of the start / stop problem.
  • it is the first term on the right side that can activate a stopped or stopped element.
  • the first term on the right side becomes positive when there is not enough demand, and moves each element in the direction to operate more. This means that the elements that are stopped as a result are moved in the starting direction. Therefore, the first term on the right side of Equation (9) includes a function for solving the start problem of the start / stop problem.
  • simply operating the equation (9) does not solve the optimization problem after solving the start / stop problem. This is because, in the stage (9), the function (9) only includes a function to start and a function to stop.
  • FIGS. 4A to 4C show functional block operation examples when the start / stop problem solving control unit simply solves equation (9).
  • three functional blocks connected in series corresponding to a server here
  • FIG. 4A shows the evaluation function shown in FIG. 4A
  • FIG. 4B shows the time change of the load of each element
  • FIG. 4C shows the time change of the differential value of the evaluation function of each element.
  • FIG. 4B shows that “Node 3” (functional block 3) having low efficiency is automatically stopped.
  • the activation / stop problem solving control unit manages the activation / deactivation state of the functional block for the optimization problem solving control unit controlled by the equation (9), and controls the equation (9). I decided to have a function to adjust.
  • the start / stop problem solution control unit has the following functions.
  • the first function is a function block that has stopped (a function block that has reached its minimum load sharing) or a function block that has reached an upper limit load when calculating the second term on the right side of equation (9).
  • This is a function that is treated as not existing.
  • the second function uses only the first term on the right side, assuming that the second term on the right side of Equation (9) does not exist when calculating the load of the function block that has stopped or reached the upper limit load. (Ie, a function that does not use the profit maximization control unit). The point is that the first term on the right side and the second term on the right side of Equation (9) are handled independently depending on the state of the functional block.
  • the numerator of the second term on the right side of the equation (9) relating to the stopped function block or the function block that has reached the upper limit load is set to zero.
  • the second term on the right side is some value. May have.
  • an attempt is made to calculate the load of a stopped functional block or a functional block that has reached the upper limit it is treated as having no second term on the right side. That is, the second term on the right side is treated as 0.
  • FIG. 5A to FIG. 5C show control examples of load distribution of three “Nodes” (functional blocks) when the demand changes from 0.4 to 0.8 (at time 2).
  • the notation in the figure is the same as in FIGS. 4A to 4C.
  • demand is 0.4
  • “Node3” is stopped, and when demand becomes 0.8, “Node3” is started again. It has been realized.
  • the big point is that the evaluation function for each functional block is set, but the evaluation function for the entire functional block is not set. It is a great advantage that it is not necessary to set the entire evaluation function. This is because various evaluation functions for individual functional blocks can be set, but the overall evaluation function is not as obvious as the system becomes more complex. In addition, there is a possibility that the system this time can operate only with information on the state of each element and the state of the element related to itself.
  • the information used for supply-demand balancing can be considered as overall information. However, in the case of a power system that can detect the disruption of supply-demand balance by fluctuations in AC frequency, supply-demand balancing is also completely autonomously distributed. Can be implemented.
  • Example 1 The present invention was implemented for the resource load distribution of the data center shown in FIG.
  • the operation level (n is the function block number) corresponds to the task amount assigned to each resource.
  • the constraints that the administrator is particular about include response, throughput, and energy.
  • Response and throughput are inseparable even if cut off, but each definition is as follows.
  • the response R is the processing time itself, and the throughput S is the work amount processed per unit time. Therefore, the following formula (10) is simply established for the required work amount ⁇ .
  • the effective response Re is considered to be the reciprocal of Tm, the following equation (12) holds when the relationship (10) is also used.
  • the effective response Re is also closely related to the throughput. It can be seen from equation (12) that if it is desired to increase the effective response, the throughput should be reduced, and if it is desired to increase the throughput, the effective response should be decreased. In other words, each other is in a trade-off, and at either limit value, the other is in an invalid state (becomes 0), and the administrator needs to balance the two with an appropriate arrangement. So how should an administrator achieve load balancing in the data center using the present invention?
  • FIG. 6 shows a schematic diagram of the evaluation function. Since the current study subject is load balancing, the horizontal axis is the work load. As described above, since the evaluation function is a convex function, a quadratic function convex upward is used this time. ⁇ max is the limit of the resource, and ⁇ peak represents the peak position of the evaluation function.
  • the normalized evaluation function can be determined as a quadratic function passing through (0, 0) and ( ⁇ peak, 1). Since each element (resource) has a performance difference, an individual evaluation function is obtained by multiplying the normalized evaluation function by a coefficient ⁇ i proportional to the performance difference. ⁇ peak is a position where the throughput S becomes 1 and the effective response Re becomes 0. As described above, if the response is emphasized, the amount of work distributed to each element (resource) may be reduced, and if the throughput is emphasized, it may be increased.
  • the system operates while solving the start / stop problem and the optimization problem using the method of the present invention, and aims at the position of ⁇ peak of each element as much as possible. Therefore, if the position of ⁇ peak is set to be small, the work is distributed so that the load of each element is relatively small, and as a whole, the response-oriented operation is performed. Also, if the position of ⁇ peak is set to be large, the work is distributed with a relatively large load on each element, and as a whole, the operation is focused on throughput.
  • the vertical axis of the evaluation function does not have any actual efficiency. Rather, it is the position that the administrator wants to operate, and the setting of the evaluation function is not governed by any physical quantity or law.
  • a person who wants to operate the system can arbitrarily set the vertical and horizontal axes. In a sense, when a human gives an instruction to the system as an evaluation function, the system then operates autonomously in cooperation.
  • the evaluation function is a quadratic function passing through (0,0) and ( ⁇ peak, 1) multiplied by the coefficient ⁇ i , but any convex function may be used, and various evaluation functions may be set. In extreme cases, a handwritten evaluation function may be set.
  • Each server incorporates the functional block of the present invention shown in FIG. 2, and each server solves the start / stop problem while observing the evaluation function set in itself and the status of other servers connected to itself. And solve the optimization problem. All of the servers this time are connected, making it possible to monitor the difference between the overall demand (demand) required for supply and demand balancing and the current workload of the entire system. If it is difficult to connect all the servers, the difference between supply and demand may be monitored, and a part that can be transmitted to each server may be set as an input. Coefficients K 1 and K 2 for determining load distribution were set as appropriate. The total number of servers was 1000.
  • FIG. 7A and 7B show the first experimental results.
  • the horizontal axis of the graph represents time, the vertical axis represents the effective response and throughput of the entire system in FIG. 7A, and the number of servers (resources) activated in FIG. 7B.
  • ⁇ peak is set to a small value, and the operation is performed with emphasis on response.
  • ⁇ peak is set to a larger value at the time indicated as emphasizing throughput in the figure.
  • the running server is also adjusted as appropriate, and it has been confirmed that the present invention is effective.
  • FIG. 8A and 8B show the second experimental result.
  • the horizontal axis of the graph represents time, the vertical axis represents the effective response and throughput of the entire system in FIG. 8A, and the number of servers (resources) activated in FIG. 8B.
  • 10% of the servers were artificially stopped (the portion described as “Failure occurrence” indicated by an arrow in the figure).
  • the throughput and response capability are temporarily lowered, but autonomously recover. Since the server capacity is not uniform and is in a heterogeneous state, the number of servers used after autonomous recovery has changed before and after the server was artificially stopped. This means that the startup / stop problem is solved autonomously.
  • 9A and 9B show the results of the third experiment.
  • the horizontal axis of the graph represents time, the vertical axis represents the effective response and throughput of the entire system in FIG. 9A, and the number of servers (resources) activated in FIG. 9B.
  • 100 servers were artificially added (the part indicated as “add server” indicated by an arrow in the figure).
  • the server including the additional server is autonomously started and stopped and settled down. This indicates that the system is scalable, and means that no program change or process change is required for resource increase / decrease.
  • Example 2 The present invention was implemented in the same manner as in Example 1 for the resource load distribution in the data center shown in FIG.
  • the first embodiment is an embodiment of the present invention in the case where the response and the throughput are the constraint conditions, but here, an embodiment of the present invention in the case where the energy is the constraint condition will be described.
  • the meaning that energy is a constraint means that we want to operate the system with as much power saving as possible. This is also basically a problem in setting the evaluation function.
  • the energy efficiency of the operating object depends on the power consumption H def at idling, the power consumption W ( ⁇ ) at work, and the additional power consumption at work (such as an air cooling fan) H.
  • H def at idling the power consumption
  • W ( ⁇ ) at work the additional power consumption at work
  • H the additional power consumption at work
  • equation (13) may be used as an evaluation function for ⁇ max or less.
  • the amount of work above ⁇ max cannot be defined, so this time it was artificially drawn.
  • FIG. 10 shows an image of the evaluation function used, but an evaluation function for a work amount larger than ⁇ max may be set by the operator according to his / her preference.
  • the evaluation function can be freely created by the operator.
  • it is a quantitative energy efficiency function below ⁇ max, but above ⁇ max is a qualitative function such as operator comfort.
  • Example 3 a method for switching the control with emphasis on the response or throughput described in the first embodiment and the control with emphasis on energy efficiency described in the second embodiment in a situation-dependent manner will be described. Basically, an experiment was performed with the same data center configuration as in Example 1. However, one difference is that an evaluation function switching unit for issuing an instruction to switch the evaluation function depending on the situation is installed. A system schematic diagram of this embodiment is shown in FIG. The evaluation function switching unit transmits, to each resource, an instruction to switch the evaluation function followed by each server (resource) to one used in the first embodiment or the one used in the second embodiment.
  • Each resource that receives the command sets an evaluation function according to the command, and performs control to solve the start / stop problem and the optimization problem.
  • the evaluation function switching unit receives an administrator's request, selects an appropriate evaluation function, may send a command to each resource, or sets a discriminator for judging the situation from some external input, and the discriminator The evaluation function may be automatically selected using. This time, the two types of switching between the evaluation function used in Example 1 and the evaluation function used in Example 2 were performed. However, this switching does not need to be limited to two types. A number of evaluation functions can be switched. In this example, one evaluation function switching unit is provided as a whole, but a method of installing it in each functional block (resource) is also conceivable.
  • FIGS. 13A and 13B The results of experiments using the system described above are shown in FIGS. 13A and 13B.
  • the conditions are the same as in the first and second embodiments except that there is an evaluation function switching unit.
  • the horizontal axis of the graph is time, and the vertical axis is the effective response and energy efficiency of the entire system in FIG. 13A, and the number of servers (resources) activated in FIG. 13B.
  • it was operated with emphasis on response, and in the middle (indicated by the arrow in the figure), it was switched to emphasis on energy efficiency.
  • the response is a high value and the energy efficiency is not so high. However, if the energy efficiency is emphasized, the response becomes worse, but the energy efficiency becomes higher.
  • Example 4 In this embodiment, an example of resource load distribution in the case where there are a plurality of data centers and they are connected by a network will be described. Each data center has the same configuration as that of the first embodiment, but is a model in which a plurality of data centers are connected by a network as shown in FIG.
  • the network delay is not negligible because the resources are not closed in the data center. Therefore, when considering response and throughput, the load distribution of functional blocks (resources) is performed in consideration of the distance (delay) from the data center that makes the processing request (the data center that mainly performs the instructed processing). It must be. In this embodiment, response-oriented control is performed. That is, the evaluation function used in Example 1 was used for all resources. It is how to consider the distance (delay) from the data center that makes the processing request, but when the transmission delay amount Dly from the data center that makes the processing request is used, In addition to the performance coefficient ⁇ i of the element (resource) in each data center, the normalized evaluation function is multiplied.
  • FIG. 15A and FIG. 15B show the results of experiments in the case where there are a plurality of data centers as described above.
  • the horizontal axis of the graph is time, and the vertical axis is the effective response of the entire system in FIG. 15A, and the number of servers (resources) activated in FIG. 15B.
  • This time it was an experiment in the case where there are many resources with extremely high processing capacity near the data center that makes processing requests. Therefore, even if there is a delay due to the network, it is assumed that it is better to use the resources of the outside data center.
  • processing is performed at a single data center (meaning that processing is performed only at the data center that requests processing), and then the data center and network , Response, and the number of running servers.
  • the number of running servers is the number of running resources in all data centers connected by the network. From FIG. 15A and FIG. 15B, when data centers are connected with each other through a network, a resource with extremely high processing capability is obtained, the resource is activated and stopped autonomously, and the response capability is maintained while maintaining the response capability. It can be seen that the number of resources to be activated is autonomously reduced by using high resources. It was confirmed that the present invention is effective even in elements (resources) connected by a network having a delay.
  • FIG. 5 A schematic diagram of the system used in this example is shown in FIG. This is an image in which the resource of the first embodiment is changed to a storage.
  • Each storage contains the functional block of the present invention shown in FIG. In this case as well, what to do with the evaluation function is an important point, but the evaluation function shown in FIG. 17 may be used.
  • ⁇ S on the horizontal axis is the storage amount (recording amount).
  • FIG. 18A and FIG. 18B show the results of an experiment regarding the above-described storage load balancing example.
  • the horizontal axis of the graph is time, and the vertical axis is the amount of data recorded in the storage.
  • one of the high-speed storage and one of the high-archive storage are taken out and monitored.
  • the evaluation function is changed from one that emphasizes high speed to one that emphasizes archiving.
  • the storage capacity of the highly archiving storage has increased, and the recording amount of the high speed storage has decreased.
  • the present invention can be similarly used in various fields as long as some functional blocks (resources) exist in association with each other (connected by a network). This is confirmed in this embodiment.
  • Example 6 In the embodiments described so far, the load distribution control in the information field has been discussed. However, the application of the present invention is not limited to the information field. For example, it can be used for controlling infrastructure energy, water, etc. without problems. In this embodiment, an example will be described in which appropriate power is obtained when a plurality of solar energy is connected, or the present invention is used. A schematic diagram of this example is shown in FIG. Circles are solar energy sources. Consumers consume energy, but consumers may be a source of solar energy, and such consumers are marked with a circle. The solar energy generation source incorporates the functional block of the present invention shown in FIG. 2, and each solar energy generation source has an evaluation function set in itself and other solar energy generation connected to itself.
  • FIG. 20A and FIG. 20B show the results of experiments regarding the above-described example of power load distribution.
  • the horizontal axis of the graph is time, and the vertical axis is the amount of power of the entire system in FIG. 20A, and the solar energy source (number of resources) operating in FIG. 20B.
  • solar energy source number of resources
  • FIG. 20B When “failure occurrence” indicated by an arrow in the figure is described, some solar energy sources were intentionally cut off. When several solar energy sources are cut off, the amount of power decreases for a moment, but immediately returns to an appropriate amount of power autonomously. In the future, it is considered that renewable energy will continue to enter the existing power grid. Renewable energy is an energy source that is very sensitive to the situation, so it is a daily occurrence and unpredictable whether or not to supply power. In such a situation, the system needs to be able to autonomously self-recover as implemented by the present invention.
  • Example 7 In the embodiments so far, the administrator has previously set or supplied the evaluation function. In other words, it was a somewhat fixed evaluation function. In addition, there were some that were not guaranteed to be quantitatively perfectly compatible with actual efficiency.
  • a method for gradually bringing the evaluation function close to the actual one will be described. Since energy efficiency is a measurable amount, a method for gradually changing the evaluation function related to energy efficiency in accordance with actual conditions will be described. Since this is an example relating to energy efficiency, the same basic configuration as in Example 2 was used.
  • the evaluation function set for each resource is gradually made quantitatively accurate. Basically, the difference between the initially set evaluation function value and the current measured value is multiplied by a coefficient and fed back. As a result, the evaluation function gradually becomes quantitatively correct.
  • an evaluation function correction control unit that executes this feedback process is provided in each functional block (resource), and the processes indicated by S0 to S4 in FIG. 21B are executed.
  • FIG. 22 shows how the energy efficiency changes in the system described above. The conditions are the same as in Example 2 except that the evaluation function correction unit is attached to each resource. Although the horizontal axis of the graph is time and the vertical axis is energy efficiency, it can be seen that the energy efficiency improves with time.
  • the startup / stop problem and the optimization problem can be solved without problems even in various situations. Even in the case where a critical path exists due to the circumstances of the system and it breaks down, by using such a method, the start / stop problem and the optimization problem can be solved without problems.
  • the present invention can contribute to the overall control of a system having a plurality of functional blocks and integrating and operating these functional blocks in an autonomous distributed adaptive manner, and has great industrial applicability.
  • the control of making the system robust against disturbance and adapting the system in real time depending on the situation can be realized easily and scalable.
  • the present invention has been described using examples such as data center load balancing, storage load balancing, and control of solar power generation. It is not limited to the information field and the infrastructure field, and can be used in various fields in the same way as long as some functional blocks (resources) exist in association with each other (connected by a network).
  • the program of the system of the present invention is expanded in the RAM, and each unit is operated as various means by operating hardware such as a control unit (CPU) based on the program.
  • the program may be recorded on a storage medium and distributed.
  • the program recorded on the recording medium is read into a memory via a wired, wireless, or recording medium itself, and operates a control unit or the like. Examples of the recording medium include an optical disk, a magnetic disk, a semiconductor memory device, and a hard disk.
  • this application claims the profit on the basis of the priority from the Japan patent application 2011-114266 for which it applied on May 23, 2011, The indication is here as a whole Incorporated as a reference.

Abstract

 本発明の課題は、確率論を用いず、また、各要素にまつわる関数だけを使用して、全体を協調動作可能なシステムを提供することにある。本発明のシステムは、相互に関係性を持つ複数の機能ブロックを有し、複数の機能ブロックは、それぞれに対応した評価関数を有する記憶部と、機能ブロック自身に関係を持つ他の機能ブロックの評価関数に関する情報によって、お互いの動作レベルを調整する利潤最大化制御部と、利潤最大化制御による動作レベルの抑制を、機能ブロックの起動状態、停止状態により調整する起動停止問題解決制御部と、各機能ブロックの動作レベルを複数機能ブロック全体で満たすべき拘束条件に基づき調整する拘束条件充足制御部と、を有する。

Description

システムおよびシステムの制御方法
 本発明は、複数の機能ブロックを有し、それらの機能ブロックを自律分散適応的に統合して動作可能なシステムに関する。
 現在、システムの大規模化、あるいはシステム化されていなかったものが突如大規模システム化するという現象が様々な領域で進展している。前者の代表的なものとしては、クラウドと呼ばれる技術に関係したデータセンター、ネットワークなどのIT分野であり、これらは年々規模が大きくなっている。また、後者としては、電力、エネルギー網、都市といったインフラ領域であり、スマートグリット、スマートシティといった大規模システムの案件として突如制御対象になりつつある。したがって、大規模システムをいかに制御していくかは今後非常に重要な課題になることが予想される。
 IT分野におけるシステムで実施される制御としては、計算リソース、ネットワークの負荷分散、ストレージの配置分散などの制御が挙げられる。例えば、計算リソースの負荷分散制御がどのように行われているかを、複数サーバから構成されるデータセンター(DC)をターゲットとした負荷分散方式を例として説明する。
 従来の制御の基本的な発想は、「システムの内部状態をバランスさせる」という素朴なものに帰結される。このような発想の場合、一様なシステム(同一サーバが複数)の場合には、制御方針は明らかであるが、異機種混合型システムになると、どんな指標に基づいてバランスさせるべきなのかが明らかではない。例えば、同一性能のサーバの場合には、各サーバのCPU使用率をバランスさせれば良いということが知られている一方で、性能が異なるサーバの場合には、性能に応じたCPU使用率のバランス方法が自明ではない。従来よく使われる指針である待ち行列理論で得られる結果は、確率論に基づく指針であり、どのような手段を用いて確率的な定常状態にシステムを導くか自体は、何も教えてくれない。これは何を意味するかというと、レスポンスやスループットのような満たすべき要件を最終的には満たすことができるかもしれないが、途中のプロセスや最終的に使用されているリソースの状況に関しては何の保証、制約もないことを意味している。それは即ち、エネルギー的には非常に非効率な状態になっていてもとりあえず、性能を満たすという制御になっているということである。このような制御では、システムが大規模になればなるほど、このような非効率は大きくなっていき、大きな問題となることが予想される。
 また、昨今、スマートグリッドに代表されるインフラ領域の制御も注目を集めている。これは、エネルギーコンシャスな社会になってきたため、エネルギーの無駄を省く制御をきめ細かく実施したいという思いの他に、太陽エネルギーに代表される再生可能エネルギーが従来の電力網に接続されるという状況が発生してきたため、再生可能エネルギーを含めた全体システムとして電力網を制御しなければ、電力供給がむしろ不安定になってしまうためである。したがって、このような新たな制御対象に対する効率的な制御も重要な課題となってくる。
 システムの制御の手法を大きく分けると、中央集権型で制御していくか、自律分散型で制御していくかの2つに大別される。システムがそれほど大きくないときは中央集権型の方が管理しやすく、これまでは多くのシステムが中央集権型で制御されてきた。また、システムへの外乱が予想できる場合や、システムを構成する要素が想定できる場合も中央集権型の制御が適している。つまり、予想できる環境、全体を俯瞰できる規模であるならば、中央集権型の制御は非常に有効である。中央集権型の制御とは、システムの全体像を常に正確に把握し、それにより状況を判断し、アクションを決める制御である。平たく言えば、if then elseでコードを規定していく方法である。
 しかしながら、昨今、システムの大規模化により、その中央集権型のシステムでは、大規模なシステムを扱いきれなくなっており、自律分散型のシステムの検討が盛んになっている。自律分散型の制御とは、リソースなどの要素が、要素間の関係だけを用いて動作する制御であり、正確な全体情報を必ずしも必要としない。システムが大規模になればなるほど、全体情報を正確に知ることは難しくなるので、自律分散型の制御が望まれてくる。また、スマートグリッドに代表される電力網などは、再生可能エネルギーがどのタイミングでシステムに入力されるか予測し難いため、中央集権型の制御ではリソース変化にリアルタイムで適応できない可能性がある。当然、ITシステムも故障などの突発的な事故を考えれば、そのようなときを想定して中央集権型の制御をかけるより、自律的に事故を修復するようにリアルタイム動作する自律制御の方が望まれるわけである。これらの要求から、自律分散型の制御の検討が盛んになっている。
 自律分散システムと称する検討は非常に多いが、各要素が自律的、分散的に存在するだけで、全体として協調していないシステムが提案されていることが非常に多い。これは、本来の自律分散システムではない。各要素を自律的、分散的にするのは簡単だが、全体として協調する、あるいは全体最適を目指して動作するシステムでなければ意味がないからであり、自律分散的に全体最適を目指して動作するシステムこそ自律分散システムと呼ぶべきである。そのような本来の自律分散システムとはどういうものだろうか。
 実は、そのようなシステムは身近に存在し、生物、脳が実施しているシステムがまさに本当の自律分散システムである。したがって、昨今、生物、脳に学ぶ自律分散システムの研究が盛んである。
 その中でも、非常に興味深い検討として、「ゆらぎ方程式」を使った技術がある(「ゆらぎで技術革新」 大阪大学ゆらぎプロジェクト 2008)。これは以下の式(1)、(2)に示すゆらぎ方程式をベースに各要素を制御していく技術である。
Figure JPOXMLDOC01-appb-I000006
 ここで、Activityとはバイアスの一種でそのシステムが快適と感じる位置xで大きな値をとる関数である。また、ηはランダムなノイズ、Uはそのシステムを駆動するポテンシャルを意味する。
 ゆらぎ方程式と似た方程式に、以下の式(3)に示すランジェバン方程式というのがあるが、これらは一見似ているが、工学的見地から決定的な違いがある。
Figure JPOXMLDOC01-appb-I000007
 ゆらぎ方程式とランジェバン方程式を比べると、Activityにしか違いがない。ある意味、ゆらぎ方程式は、ポテンシャルをUとActivityに分けて表現したに過ぎない印象を与えるが、これが決定的な差を生むのである。
 従来、何かを制御しようとして、ランジェバン方程式を使おうとすれば、ポテンシャルUを正確に求めなくてはならなかった。非線形な複雑な問題に対して、ポテンシャルを求める問題は非常に難しく、解析的に解ける例は少ない。昨今流行の機械学習、強化学習なども実は、物理的にみると、あるシステムのポテンシャルを求めているのと同じであるが、ニューラルネットワークなどを用い、ブラックボックス的にポテンシャルを求めている。従来の技術で非線形な複雑な問題のポテンシャルを求めようとすると、ブラックボックス的に求めざるをえないのが現状である。
 いずれにせよ、ポテンシャルを求めるということは、モデルを設定することと同じなので、より複雑な動作を行おうとすると、ポテンシャル関数が非常に複雑になり、ひとつのポテンシャル関数では事象を表現しきれない問題が発生する。これを解決したのが、ゆらぎ方程式である。
 ゆらぎ方程式では、システムが感じる快適さをActivityとして、ポテンシャル全体から切り離すことで、システムの動作をトップダウンで人間側が指定することができるようになる。どういうことかと言えば、システムに期待する動作を実現できるように、Activityを設定してやれば良い。例えば、ある位置にシステムを動かしたいとすると、所望の位置で値が最大となる関数をActivityとして与えてやれば良い。所望の位置から遠い場合、式(1)の右辺第1項は小さな値となるので、右辺第2項のランダムノイズによって、システムの各要素が駆動される。システムの各要素を粒子と例えるなら、ブラウン運動のような状態である。所望の位置から遠い位置にあるシステムは、ブラウン運動のようなランダムな動きを行いながら、偶発的に所望の位置に近づくことがある。その際、式(1)の右辺第1項がActivity関数の作用により、大きな値をとる。すると、システムの動作を支配するのが、右辺第2項から右辺第1項に移る。右辺第1項がシステムを制御し始めると、後は自然とActivity最大となるポテンシャル位置にシステムは落ち込むのである。つまり、所望の位置に到達する。
 ここで大切なのは、ゆらぎ方程式を用いる場合は、トップダウンにActivityを決定しているだけで、システムの各要素に対して特別な指令、制御をしないことである。システムの各要素には、式(1)の右辺の値に比例した出力を与えておけば良い。要素が複数あっても、同じように式(1)の右辺に比例した出力を与えておけば良いだけである。その際、各駆動部でのランダムノイズは独立にしておく。一方、Activityはすべての各要素で同じものを用いる。すると、各要素は個々の式(1)に従って単純に動作しているだけだが、全体を統括するActivityの作用で、いつしかActivity最大の位置に動くように全体で協調動作するようになる。
 このように、ゆらぎ方程式を使うと、複数の要素を持つシステムでも、自律分散協調的に動作させることができる。例えば、特許文献1に示すように、この技術を使って、ネットワークの経路の自律分散制御が検討されており、自律的に障害を回避するなど、有効な結果が得られている(特許文献1)。
特開2005−285016号公報
 上記したように、「ゆらぎ方程式」という有望な技術が検討されているが、2つの点で改善が必要と考えられる。ひとつは、確率的な制御になっているところである。即ち、式(1)ではランダムノイズを各要素の動力源として用いているため、必ずしも決定論的な動作を行わない。つまり、動作がそのときの確率によってしまい、場合によっては、冗長な制御となる。本来は、全体最適な状態を目指して、決定論的に動作して欲しいところである。
 また、もう一点は、Activityの設定に関してである。上記したように、この関数はトップダウンで人間が設定できるのだが、実は、全体最適の関数自体を人間が描けない場合も多いのである。人間が設定あるいは確認できるのは、各要素にまつわる関数だけであり、要素が協調した場合の状態を示す関数を描けない場合が実際はかなり多い。
 本発明は上記課題に鑑みてなされたものであり、その目的は、確率論を用いず、また、各要素にまつわる関数だけを使用して、全体を協調動作可能なシステムを提供することにある。
 前述した目的を達成するために、本発明の第1の態様は、相互に関係を持つ複数の機能ブロックを有し、複数の前記機能ブロックは、それぞれに対応した評価関数を有する記憶部と、各機能ブロックの動作レベルを複数の前記機能ブロック全体で満たすべき拘束条件に基づき制御する拘束条件充足制御部と、前記機能ブロックに関係を持つ他の機能ブロックの前記評価関数に関する情報によって、互いの動作レベルを制御する利潤最大化制御部と、前記機能ブロックの動作レベルに応じて、前記拘束条件充足制御部および前記利潤最大化制御部の制御結果を用いて、前記機能ブロックの起動状態、停止状態を制御する起動停止問題解決制御部と、を有することを特徴とするシステムである。
 本発明の第2の態様は、第1の態様に記載のシステムを用いたシステムの制御方法である。
 本発明によれば、確率論を用いず、また、各要素にまつわる関数だけを使用して、全体を協調動作可能なシステムを提供することができる。
 図1は本願発明で検討したシステム概略図である。
 図2は本願発明のアーキテクチャ概略図である。
 図3は本願発明で用いる評価関数の概略図である。
 図4Aは起動停止問題解決部を動作させないときの本願発明の制御イメージ図である。
 図4Bは起動停止問題解決部を動作させないときの本願発明の制御イメージ図である。
 図4Cは起動停止問題解決部を動作させないときの本願発明の制御イメージ図である。
 図5Aは起動停止問題解決部を動作させたときの本願発明の制御イメージ図である。
 図5Bは起動停止問題解決部を動作させたときの本願発明の制御イメージ図である。
 図5Cは起動停止問題解決部を動作させたときの本願発明の制御イメージ図である。
 図6は本願発明で用いる評価関数の一例を示す図である。
 図7Aは本願発明の一実施例における実験結果を示す図である。
 図7Bは本願発明の一実施例における実験結果を示す図である。
 図8Aは本願発明の一実施例における実験結果を示す図である。
 図8Bは本願発明の一実施例における実験結果を示す図である。
 図9Aは本願発明の一実施例における実験結果を示す図である。
 図9Bは本願発明の一実施例における実験結果を示す図である。
 図10は本願発明で用いる評価関数の一例を示す図である。
 図11Aは本願発明の一実施例における実験結果を示す図である。
 図11Bは本願発明の一実施例における実験結果を示す図である。
 図12は本願発明で検討したシステム概略図である。
 図13Aは本願発明の一実施例における実験結果を示す図である。
 図13Bは本願発明の一実施例における実験結果を示す図である。
 図14は本願発明で検討したシステム概略図である。
 図15Aは本願発明の一実施例における実験結果を示す図である。
 図15Bは本願発明の一実施例における実験結果を示す図である。
 図16は本願発明で検討したシステム概略図である。
 図17は本願発明で用いる評価関数の一例を示す図である。
 図18Aは本願発明の一実施例における実験結果を示す図である。
 図18Bは本願発明の一実施例における実験結果を示す図である。
 図19は本願発明で検討したシステム概略図である。
 図20Aは本願発明の一実施例における実験結果を示す図である。
 図20Bは本願発明の一実施例における実験結果を示す図である。
 図21Aは本願発明で検討したシステム概略図である。
 図21Bは本願発明で検討したシステム概略図である。
 図22は本願発明の一実施例における実験結果を示す図である。
 図23Aは本願発明で検討したシステム概略図である。
 図23Bは本願発明で検討したシステム概略図である。
 図24Aは本願発明の一実施例における実験結果を示す図である。
 図24Bは本願発明の一実施例における実験結果を示す図である。
 図25Aは本願発明の一実施例における実験結果を示す図である。
 図25Bは本願発明の一実施例における実験結果を示す図である。
 以下、図面に基づいて本発明に好適な実施形態を詳細に説明する。
 まず、本発明の動作、構成をデータセンターのリソース負荷分散の例を使用して説明する。従来の技術では十分に解くことができない例として、性能の異なるサーバが混在する異機種混合型データセンターにおける負荷分散を取り上げることにする。性能の異なるサーバが複数(N個)存在し、ネットワークで結合されたデータセンターにおいて、レスポンス要求値を満たしながら、処理要求をサーバに適宜分散させる。このときデータセンター全体の消費電力もできるだけ下げる。このような問題を考えていくことにする。この問題の概略図を図1に示す。
 本発明者はこの問題を検討した結果、以下の結論に達した。
 解くべき問題は、2つの問題が混在している構造になっている。ひとつは、起動停止問題であり、もうひとつは最適化問題である。
 起動停止問題とは、リソース群(機能ブロック群)があった場合、どのリソースを使い、どのリソースを使わないかを決定する、または管理する問題である。また、最適化問題は、リソースが与えられたとして、系全体に与えられた仕事をどのように割り振れば、ある指標の元に最適化できるかという問題である。これらの問題は従来、個々に、確率論的なアプローチで解くことを試みられていることが多いが、単純な確率論では、変幻自在に変わっていく環境の中で、状況に応じてロバスト、リアルタイムに即応することが難しい。今回は、これら2つの問題を一体のものとし、状況に応じてロバスト、リアルタイムに即応できるアーキテクチャを考案した。その際、それぞれの問題を、確率論ではなく、決定論的または関係論的な方法で解く方法を考案した。本発明者が創出した機能ブロックのアーキテクチャおよびこれを束ねたシステムの概略図を図2に示す。
 図2に示したように、本願の機能ブロックは主に、起動停止問題解決制御部と、最適化問題解決制御部を有し、互いに関連する機能ブロック(他の機能ブロック)とでシステムを構成している。
 次に、それぞれの部位の解決手段について詳説する。
 まず、最適化問題の解法を説明する。
 最適化問題を解くには、ふたつの要件を考えなければならない。ひとつは、需給平衡化であり、もうひとつは全体利潤最大化である。この両者が満たされて始めて最適化が達成されたと言うことができる。需給平衡化制御は拘束条件を充足させる制御でもあるので、拘束条件充足制御と呼んでも良い。
 即ち、図2に示すアーキテクチャにおいては、最適化問題解決制御部は、利潤最大化制御部と、拘束条件充足制御部を有することになる。
 需給平衡化とは、システム全体に要求されるミッションあるいはタスクの総量を満たさなければならないという拘束条件である場合が多い。これが満たされないまま、効率や利潤が最大化されても意味がない。今回の場合、需要とは、動作レベルλ(iは機能ブロックの番号)の総和となり、以下の式(4)で表される。
Figure JPOXMLDOC01-appb-I000008
 需給平衡化を達成しようとした場合、各機能ブロック(リソース)の動作レベルは、拘束条件充足制御部が、以下の関係(5)を満たす方程式を用いて決定する。
Figure JPOXMLDOC01-appb-I000009
 なお(5)においてλは、動作レベルλの機能ブロックと関係を持つ他の機能ブロックの動作レベルである。
 この方程式は、より具体的には、以下の式(6)で表される。
Figure JPOXMLDOC01-appb-I000010
 ここで、Kは動作レベル変更のゲインに相当する係数である。またλnom,iは機能ブロックiの規格化係数(機能ブロックの規模に相当する量)で、必ずしも必要でないが、要素がヘテロな場合、全体で規格化した係数を乗算しておいた方が良い場合が多いので、式(6)に導入している。式(6)に従い、拘束条件充足制御部が機能ブロックの動作レベルを制御すると、システム全体として、拘束条件であるDemを満たすように動作する。
 次に解くべきは、全体利潤最大化である。これは全体効率最大化と読み替えても構わない。全体利潤最大化を解くに当たっては、図3のような各要素(機能ブロック)と関係する評価関数を導入する(図2では評価関数は機能ブロックの記憶部に記憶されている)。この場合、横軸は各機能ブロックを制御するパラメータであり、今回の例では処理要求の量λなどに相当する。縦軸は、何らかの効率に関わる指標であり、具体例は後述する実施例で詳説する。
 図3から明らかなように、評価関数は凸関数である。凸関数を使用するのも本願発明のポイントである。なぜなら、多くのシステムでは何らかの効率やシステムの安定性などを図3に示すような凸関数で表すことが可能だからである。なお、図3のような上に凸な関数を凹関数と呼び、下に凸な関数を凸関数と呼ぶこともあるが、ここでは、関数の性質上で区別する表現を採用し、凹関数も凸関数と表現することにする。
 評価関数が凸関数である要素を連携させて、全体で最適化(各要素の評価関数の値の総和が最大となる状態)する問題は、「凸計画問題」として知られており、各要素の動作レベルにおける評価関数の微分値が等しい状況で最適化が達成されることが数学的に明らかにされている。今回はこの原理を応用した。今回、評価関数として凸関数を使った理由がここにある。
 この原理を勘案し、全体利潤最大化を達成する方程式は、以下の関係(7)を満たす。
Figure JPOXMLDOC01-appb-I000011
 なお式(7)においてfは、機能ブロックi(i番目の機能ブロック)の評価関数、fは、機能ブロックiと関係を持つ他の機能ブロックkの評価関数である。
 より具体的には、以下の式(8)で表される。
Figure JPOXMLDOC01-appb-I000012
 ここで、Kは動作レベル変更のゲインに相当する係数である。利潤最大化制御部が式(8)を満たすように各機能ブロックの制御を行うことで、各機能ブロックは、動作レベルにおける評価関数の微分値が等しくなるように動作する。
 最終的に最適化問題を解くには、上記の需給平衡化と全体利潤最大化を同時に解くことが必要なので、最適化問題解決制御部は、式(6)と式(8)を統合した以下の式(9)で各機能ブロックの動作レベルを制御する。
Figure JPOXMLDOC01-appb-I000013
 次に、起動停止問題の解法を説明する。
 式(9)は要素を起動、停止する機能を実は内包している。右辺第2項は要素と要素が評価関数の傾きを経由して、抑制しあう効果を持っている。そして、実際に起こる現象としては、評価関数の傾きが大きなもの(効率の改善が大きいもの)が、評価関数の傾きの小さいもの(効率の改善が小さいもの)を抑制し、場合によっては停止させる。したがって、式(9)の右辺第2項が起動停止問題の停止問題を解く機能を内包していると言える。一方、停止している、あるいは停止させられた要素を起動させることができるのが、右辺第1項である。右辺第1項は需要が足りなければ正になり、各要素をより動作させる方向に動かす。これは結果的に停止している要素も起動する方向に動かすことを意味している。したがって、式(9)の右辺第1項が起動停止問題の起動問題を解く機能を内包している。
 しかしながら、式(9)を単純に運用しただけでは、起動停止問題を解いた上で、最適化問題を解くことにはならない。(9)の段階では、式(9)が起動する機能と、停止する機能を内包しているに過ぎないからである。例えば、図4A~図4Cに、起動停止問題解決制御部が単純に式(9)を解いた場合の機能ブロックの動作例を示す。3つの直列結合した機能ブロック(ここではサーバに相当)が、図4Aに示した評価関数を有するときに、トータルで0.4の負荷を実現するには、各要素がどれだけの負荷(パワ)を担当しなくてはならないかを式(9)を用いて起動停止問題解決制御部が制御したものである。なお、負荷が0以下の場合は、0をとるようにリミッタをかけた。図4Bが各要素の負荷の時刻変化であり、図4Cは各要素の評価関数の微分値の時刻変化である。図4(b)より、自動的に効率の悪い「Node3」(機能ブロック3)が停止していることがわかる。これより、一見、式(9)で起動停止問題が解けているかのように見えるが、図4Cをみると、「Node1」と「Node2」の微分値が一致していないことがわかる。「Node3」は停止したので、「Node3」と微分値が一致する必要はないが、起動している「Node1」と「Node2」の微分値が一致しないということは、システムが最適化されていないことを意味する。つまり、起動停止はできたが、最適化はされていないのである。これは、式(9)を単純に運用しただけでは、停止した機能ブロックが、起動している機能ブロックを抑制してしまうためである。
 また、例えば、需要が急に増えたとして、図4で停止された「Node3」が起動するかというと、式(9)の右辺第2項による抑制次第では、右辺第1項の起動する機能が働いたとしても、起動できない可能性がある。例えば、式(9)の第1項の増分が第2項の抑制分より少なければ、「Node3」は停止したままになってしまう。
 このように、起動停止問題解決制御部が式(9)を単純に解くだけでは、起動停止問題と最適化問題を両立して解くことはできない。
 そこで、本発明では、起動停止問題解決制御部に、式(9)で制御される最適化問題解決制御部に対して、機能ブロックの起動、停止状態を管理し、式(9)の制御を調整する機能を持たせることにした。具体的には、起動停止問題解決制御部には以下の機能を持たせた。
 まず、第1の機能は、停止した機能ブロック(自身の負荷分担の最小値に達した機能ブロック)または上限の負荷に到達した機能ブロックは、式(9)の右辺第2項を計算するときには存在しないものとして扱う機能である。また、第2の機能は、停止した機能ブロックまたは上限の負荷に到達した機能ブロックの負荷を計算する場合、式(9)の右辺第2項そのものが存在しないとして、右辺第1項だけを用いて計算する機能(即ち利潤最大化制御部を用いない機能)である。式(9)の右辺第1項、右辺第2項を機能ブロックの状態によって、独立に扱うところがポイントである。そこに起動停止問題解決制御部の存在意義がある。これによって、事実上動作レベルを変更できない停止した機能ブロックまたは上限の負荷に到達した機能ブロックを利潤最大化制御部の制御から切り離しつつ、起動停止問題(事実上停止した機能ブロックと同じである上限に達した機能ブロックを含む)を解き、必要とあれば、拘束条件充足制御部により、事実上停止した機能ブロックを動作する状態(起動状態)に持ち込むことができる。
 上述した2つの機能を、より具体的に説明する。
 停止した機能ブロックまたは上限の負荷に到達した機能ブロックは、式(9)の右辺第2項を計算するときには存在しない機能ブロックとして扱うというのは、例えば、起動している機能ブロックの負荷を計算しようとした場合、停止した機能ブロックまたは上限の負荷に到達した機能ブロックに関する式(9)の右辺第2項の分子を0にするということである。当然、起動している機能ブロック同士に関しては右辺第2項の分子は存在するので、起動している機能ブロックが負荷を計算しようとしている機能ブロックに繋がっている場合、右辺第2項は何らかの値を持つ可能性がある。一方、停止した機能ブロック、または上限に達した機能ブロックの負荷を計算しようとした場合、右辺第2項はないものとして扱う。つまり、右辺第2項を0として扱う。これにより、停止した機能ブロック、または上限に達した機能ブロックは、式(9)の右辺第1項のみが影響するようになり、需給に問題があれば、それらの機能ブロックを再度起動させることが可能となる。
 以上のように、本願発明で提案するような起動停止問題解決制御部と、最適化問題解決制御部により、両問題を一体として解決する制御が完成する。図5A~図5Cに、需要が0.4から0.8に変わる場合(時刻2において)の3つの「Node」(機能ブロック)の負荷分散の制御例を示す。図の表記は図4A~図4Cと同じであるが、需要が0.4のときは、「Node3」を停止し、需要が0.8になったときは「Node3」を改めて起動する制御が実現されている。また、評価関数の傾きはどちらの需要でも最終的に同じ値に収束しており、最適化問題も解決されていることがわかる。
 需給平衡化の説明のところで、システム全体に要求されるミッションあるいはタスクの総量を満たさなければならないという拘束条件である場合が多いと書いたが、そうでない場合も想定されないわけではない。そのような場合は、その拘束条件を満たすように上述した需給平衡化の項を変形して、制御すれば良い。そのような場合も、起動停止問題解決制御部により、機能ブロックの状況を管理するのは重要で、そうしないと、起動も停止も良好に行われない。
 ここで、大きなポイントは、各機能ブロックの評価関数は設定しているが、機能ブロック全体としての評価関数は設定していないことである。全体の評価関数を設定しなくて良いのは非常に大きなメリットである。個々の機能ブロックの評価関数はいろいろ設定できるが、全体の評価関数となると、システムが複雑になればなるほど判然としないからである。また、今回のシステムは、各要素が自身の状態と自身と関係のある要素の状態の情報のみで動作できる可能性がある。需給平衡化で使う情報は、全体の情報とも考えられるが、電力システムのように、需給バランスの崩れを交流周波数の変動で知ることができるものの場合は、需給平衡化も完全に自律分散的に実施できる。つまり、需給平衡化にまつわる情報を自身から得ることができれば、全体としての情報を必要としない真の自律分散システムになれるのである。
 このシステムは、基本的に自律分散的に独立に動くので、どこかが故障したりしても、故障した要素からの信号が途絶えた分だけ、他の要素が自律的にリカバーするという動作を行う。また、突然要素を増やしたり、減らしたりしても、徐々に自律的に適正な動作に向かうことができる。つまり、外乱に対して、非常にロバストであり、また、要素の増減を自由にできるスケーラビリティを有している。
 従来のシステムは、故障に対して無力であったり、様々なエラー用のシーケンスを用意したりしなければならなかった。また、勝手に要素(リソース)を増やしたり減らしたりすればシステム全体の安定性が保たれるか保証はなく、そのたびにプログラム、処理を見直さなければならなかった。今回のシステムはこれらの問題を自律分散適応的な制御ですべて解決することができるのである。
以下、本発明の実施例を、図面を参照しながら、さらに詳細に説明する。
(実施例1)
 図1に示したデータセンターのリソース負荷分散に対して、本願発明を実施した。この場合、動作レベル(nは機能ブロックの番号)は各リソースに割り当てられたタスク量に相当する。
 データセンターのリソース負荷分散を考えた場合、管理者がこだわる制約条件としては、レスポンス、スループット、エネルギーなどが挙げられる。まず、最初に、レスポンスとスループットが制約条件になっている場合の本願発明の実施例を示す。
 レスポンスとスループットは切っても切れない関係にあるが、それぞれの定義を記述すると以下のようになる。レスポンスRは、処理にかかる時間そのものであり、スループットSは、単位時間に処理される仕事量である。したがって、要求される仕事量λに対して、単純には以下の式(10)が成立する。
 S=λ・R  …(10)
 (S≦1)
 しかしながら、実際のリソースの実効的なレスポンスReはこのようにはならない。これは、待ち行列理論による確率的な待ち時間を検討しなければならないのである。実効的なレスポンスはリソース単体の処理能力だけではなく、どれぐらいの仕事が到達し、どのくらい未処理の仕事が溜まっているかに依存するからである。待ち行列理論はそれを確率的な計算で明らかにしたものである。
 待ち行列理論によれば、到達してから処理が終わるまでの時間Tmは以下の式(11)のように記述される。
 Tm=1/(μ−λ)  …(11)
 ここで、μは単位時間当たりの処理率を表し、レスポンスRの逆数でもある。実効的なレスポンスReは、Tmの逆数と考えられるので、(10)の関係も使うと、以下の式(12)が成り立つ。
 Re=μ−λ
   =1/R−S/R
   =(1−S)/R   …(12)
 このように、実効的なレスポンスReもスループットと緊密な関係がある。式(12)からわかるのは、実効的なレスポンスを上げたければ、スループットを下げればよいし、スループットを上げたければ、実効的なレスポンスを下げれば良い。つまり、お互いがトレードオフになっており、かつどちらかの極限値では、他方が無効状態(0になる)になるということであり、管理者は適当な按配で両者をバランスさせる必要がある。
 では、本願発明を用いて、管理者はどのようにデータセンターの負荷分散を実現すればよいのだろうか。上述したように、実効的なレスポンスとスループットはトレードオフの関係にあるので、レスポンス重視にしたければ、各要素(リソース)に分散される仕事量を低めにすればよいし、スループットを重視したければそれを多めにすれば良い。したがって、各要素に設定する関数を例えば以下のような手法で設定していけばよい。
 図6に評価関数の概略図を示す。今回の検討課題が負荷分散なので、横軸は仕事量とした。先にも述べたが、評価関数は凸関数が良いので、今回は上に凸な2次関数とした。λmaxはそのリソースの限界であり、λpeakは評価関数のピーク位置を表す。評価関数のピークを1として規格化しておくと、規格化評価関数は(0,0)、(λpeak,1)を通る2次関数として決定できる。各要素(リソース)には性能差があるので、その性能差に比例した係数αを規格化評価関数に掛けることで、個々の評価関数とする。λpeakはスループットSが1になり、実効的レスポンスReが0になる位置である。先にも述べたが、レスポンス重視にしたければ、各要素(リソース)に分散される仕事量を低めにすればよいし、スループットを重視したければそれを多めにすれば良い。したがって、レスポンス重視で仕事をシステムに実施してもらいたければ、λpeakの位置を小さめに設定すれば良く、スループット重視で仕事をして欲しければλpeakの位置を大きめすれば良い。システムは本願発明の方法を使って、起動停止問題、最適化問題を解きながら動作し、それぞれの要素のλpeakの位置をできるだけ目指す。したがって、λpeakの位置を小さめに設定していれば、それぞれの要素の負荷が比較的小さめに仕事が分散されることになり、全体としてはレスポンス重視の動作となる。また、λpeakの位置を大きめに設定していれば、それぞれの要素の負荷が比較的大きめに仕事が分散されることになり、全体としてはスループット重視の動作となる。無駄なリソースは適宜停止させるので、エネルギー的にも無駄のない制御となる。
 この場合、評価関数の縦軸は実際の何らかの効率にはなっていない。むしろ管理者が動作させたい位置であり、評価関数の設定は、何らかの物理量、法則に支配されることはない。システムを動作させたい人間が、縦軸、横軸を任意に設定することができるのである。ある意味、人間がシステムに評価関数として指示を渡すと、後はシステムが自律的に協調して動作するのである。
 今回、評価関数は(0,0)、(λpeak,1)を通る2次関数に係数αを掛けたものとしたが、凸関数であれば良いので、様々に設定して良い。極論すれば、手書きの評価関数を設定しても良い。
 上述した評価関数を用いて、図1に示すデータセンターの負荷分散の実験を行った。各サーバには、図2で示した本願発明の機能ブロックが内蔵されており、各サーバは自身に設定された評価関数と自身に接続された他のサーバの状況を見ながら、起動停止問題解決と最適化問題解決を行う。今回の各サーバはすべて接続されており、需給平衡化に必要な全体要求(需要)と現時点でのシステム全体の仕事量の差をモニタすることを可能とした。各サーバをすべて接続するのが大変な場合は、需給の差をモニタし、各サーバに伝えることができる部位を入力のところに設定しても良い。
 負荷分散を決定する係数K、Kなどを適宜設定した。また、サーバの総数は1000台とした。また、各サーバの性能は均一ではなく、性能が高いものほどαを大きく設定した。
 図7Aおよび図7Bに第1の実験結果を示す。グラフの横軸は時間、縦軸は、図7Aではシステム全体の実効的なレスポンス、スループット、図7Bでは起動しているサーバ(リソース)の数である。最初は、λpeakを小さめに設定し、レスポンス重視で動作させている。その後、図中のスループット重視と描かれた時刻にλpeakを大きめに設定しなおしている。すると、システムは自律的にレスポンス重視な方向に動作を変更していくことが確認された。起動しているサーバも適宜調整されており、本願発明が有効であることが確認できた。
 図8Aおよび図8Bに第2の実験結果を示す。グラフの横軸は時間、縦軸は、図8Aではシステム全体の実効的なレスポンス、スループット、図8Bでは起動しているサーバ(リソース)の数である。あるλpeakの設定で動作させている途中で、人為的に1割のサーバを止めた(図中矢印で示す「故障発生」と記載された部分)。すると、一時的にスループット、レスポンス能力が下がるが自律的に回復する様子がわかる。サーバの能力は均一ではなく、ヘテロな状態なので、自律的に回復した後に使用されているサーバの数は、人為的にサーバを止めた前後で変わっている。これは、まさしく自律的に起動停止問題を解いていることを意味している。故障に対するロバスト性に関しても、本願発明が有効であることが確認できた。
 図9Aおよび図9Bに第3の実験結果を示す。グラフの横軸は時間、縦軸は、図9Aではシステム全体の実効的なレスポンス、スループット、図9Bでは起動しているサーバ(リソース)の数である。あるλpeakの設定で動作させている途中で、人為的に100台のサーバを追加した(図中矢印で示す「サーバ追加」と記載された部分)。すると、スループット、レスポンス能力を変化させることなく、自律的に追加サーバを含めたサーバの起動停止を行い安定状態に落ち着く。これは、このシステムがスケーラブルであることを示しており、リソースの増減に対してプログラムの変更、処理の変更が全く必要ないことを意味している。これは、非常に有用な特性であり、本願発明が有効であることが確認できた。
(実施例2)
 図1に示したデータセンターのリソース負荷分散に対して、実施例1同様に本願発明を実施した。実施例1では、レスポンスとスループットが制約条件になっている場合の本願発明の実施例であったが、ここでは、エネルギーが制約条件になっている場合の本願発明の実施例を説明する。エネルギーが制約になっているという意味は、できるだけ省電力でシステムを運用したいという意味である。
 これも基本的には評価関数の設定の問題となる。
 ここでは、筋肉の効率の式を参考にすれば、動作するもののエネルギー効率は、アイドリング時の消費電力Hdef、仕事時消費電力W(λ)、仕事時追加消費電力(空冷ファンなど)Hによって、以下の式(13)で記述することができる。
Figure JPOXMLDOC01-appb-I000014
 一般的には、この効率はλmax以下のどこかでピークを迎える凸関数になるので、λmax以下は式(13)を評価関数として使用すれば良い。このエネルギー効率の式の場合、λmax以上の仕事量は定義できないので、今回は、人為的に描いた。図10に使用した評価関数のイメージを示すが、λmaxより大きな仕事量における評価関数は、運用者が好みで設定してしまっても良い。例えば、レスポンス重視なら、早く仕事量を減らしたいので、急な斜面にしておけば良いし、スループット重視であれば、仕事量をいきなり減らさなくてもいいので、傾きが緩やかな曲線を描いてやれば良い。このように、評価関数は運用者が自在に作っていけるのである。注意点としては、自在に作れる分、評価関数により適正にされていくものが、客観的定量性をもって適正化されているかを言及できなくなる場合がある。例えば、今回の場合、λmax以下では定量的なエネルギー効率の関数であるが、λmax以上は運用者の快適度のような定性的な関数となる。どうしても客観的定量性が必要なときは、客観的な指標を使う、または客観的な指標に変換できるものを考えていく必要がある。しかしながら、これまでのシステムの運用は管理者の経験や、好みで運用されている場合も多く、定性的な意味の評価関数で運用できるというのは、管理者の好みで運用できることでもあるので、むしろ有益な特性であると言える。
 上述した評価関数を用いて、実施例1と同様の構成でデータセンターの負荷分散の実験を行った。図11Aおよび図11Bに実験結果を示す。今回の例では、最初すべてのサーバ(1000台)を動作させておき、その後、エネルギー効率、動作するサーバの台数がどうなるかを見た。図11Aおよび図11Bからわかるように、最初はすべてのサーバが動作することにより、無駄なエネルギーを消費していたが、自律的に起動するサーバを選択、負荷を分散させることで、消費エネルギーを減らしていることが確認できる。つまり、本願発明が有効であることが確認できた。
(実施例3)
 本実施例では、実施例1で説明したレスポンスまたはスループットを重視した制御と、実施例2で説明したエネルギー効率を重視した制御を状況依存的に切り替える手法を説明する。基本的には実施例1と同様のデータセンターの構成で実験を行ったが、1点異なるのが、状況依存的に評価関数を切り替える命令を出す評価関数切り替え部を設置しているところである。本実施例のシステム概略図を図12に示す。この評価関数切り替え部は、各サーバ(リソース)が従う評価関数を、実施例1で用いたものと実施例2で用いたもののどちらかに切り替える命令を、各リソースに送信する。その命令を受けた各リソースは、命令にあった評価関数を設定し、起動停止問題、最適化問題を解く制御を実施する。評価関数切り替え部は、管理者の希望を受け取り、それに適した評価関数を選択、各リソースに命令を送信しても良いし、何らかの外部入力から状況を判断する判別器を設定し、その判別器を使って自動的に評価関数の選択を行っても良い。今回は、実施例1で用いた評価関数と実施例2で用いた評価関数の2種類の切り替えを行ったが、この切り替えは2種類にとどまる必要はなく、評価関数を設定すれば、所望の数の評価関数の切り替えを実施することができる。また、今回の例では、評価関数切り替え部を全体でひとつ置いたが、個々の機能ブロック(リソース)に設置するという方法も考えられる。
 上述したシステムを用いて、実験を行った結果を図13Aおよび図13Bに示す。評価関数切り替え部がある以外は実施例1、2と同様の条件である。グラフの横軸は時間、縦軸は、図13Aではシステム全体の実効的なレスポンス、エネルギー効率、図13Bでは起動しているサーバ(リソース)の数である。最初は、レスポンス重視で動作させ、途中で(図中矢印の部分)、エネルギー効率重視に切り替えた。すると、最初はレスポンスが高い値で、エネルギー効率はそれほど高くないが、エネルギー効率重視にすると、レスポンスは悪くなるが、エネルギー効率は高くなっていく。つまり、評価関数切り替え部を通じた評価関数の切り替えがうまく行っていることが確認できた。また、この実施例より、管理者は複数の要件(レスポンス重視、エネルギー重視など)があった場合でも、プログラムの変更、処理の変更なしで、適宜システムの動作目標の変更を指示するだけで、システムの動作を変更できることがわかる。つまり、本願発明は、複数の要件が合った場合にも、有効に動作させることができ、本願発明が有効であることが確認できた。
(実施例4)
 本実施例では、データセンターが複数あり、それらがネットワークで繋がっている場合のリソース負荷分散の例を説明する。個々のデータセンターは実施例1と同様の構成であるが、それらが図14に示したように、ネットワークで結合されて複数存在するというモデルである。上述の実施例との違いは、リソースがデータセンター内に閉じていないので、ネットワークによる遅延が無視できなくなることである。したがって、レスポンス、スループットを考えるとき、処理要求を行うデータセンター(命令された処理をメインで実施しているデータセンター)からの距離(遅延)も勘案して機能ブロック(リソース)の負荷分散をやらなければならないことである。
 今回の実施例では、レスポンス重視の制御を行う。つまり、実施例1で使用した評価関数をすべてのリソースに対して使用した。処理要求を行うデータセンターからの距離(遅延)をどのように勘案するかであるが、処理要求を行うデータセンターからの伝達遅延量Dlyとしたときに、
Figure JPOXMLDOC01-appb-I000015
なる係数を、各データセンター内の要素(リソース)の性能係数αに加えて、規格化評価関数に乗算した。これにより、各リソースが、近くのデータセンターでは比較的高い性能、遠くのデータセンターでは比較的低い性能として認知され、遅延のあるネットワーク越しでも好適なリソースの負荷分散が実施される。
 上述した複数のデータセンターがある場合において、実験を行った結果を図15Aおよび図15Bに示す。グラフの横軸は時間、縦軸は、図15Aではシステム全体の実効的なレスポンス、図15Bでは起動しているサーバ(リソース)の数である。今回は処理要求を行うデータセンターの近くに、処理能力が格段に高いリソースが多くあるケースでの実験とした。したがって、ネットワークによる遅延があったとしても、外のデータセンターのリソースを使用したほうが良いと想定されるケースである。図中の矢印の部分までは、単一のデータセンターで処理(を行っているのだが処理要求を行うデータセンターだけで処理を行っているという意味)、その後は、周りのデータセンターとネットワーク的に結合し、レスポンス、起動しているサーバ数を見たものである。起動しているサーバ数というのはネットワークで結合したすべてのデータセンターにおきる起動しているリソース数である。図15Aおよび図15Bから、ネットワークでデータセンター間を結合すると、格段に処理能力の高いリソースを求めて、自律的にリソースを起動停止し、レスポンス能力を維持したまま、ネットワーク越しの格段に処理能力の高いリソースを使用し、起動するリソースの数を自律的に減らしている様子がわかる。遅延のあるネットワークで結合された要素(リソース)においても、本願発明が有効であることが確認された。今後、クラウド間の連携が議論されてきた場合、本願発明を使用する意味は大きい。
(実施例5)
 これまでの実施例では、レスポンス、スループット、エネルギーといった処理に関するリソースの負荷分散について記述してきたが、本願発明の適用例はそれだけに止まらない。ここでは、ストレージの負荷分散に使用した実施例を説明する。
 この実施例で使用したシステムの概略図を図16に示す。実施例1のリソースがストレージに変更されたイメージである。各ストレージには、図2で示した本願発明の機能ブロックが内蔵されている。この場合も評価関数をどうするかが重要なポイントとなるが、図17に示す評価関数を使用すれば良い。この場合、横軸のλはストレージ量(記録量)である。縦軸は、規格化されているが、この規格化評価関数にストレージの性能に比例した係数αsを乗算する。この場合の性能とは記録スピード、アクセス性、アーカイブ性(保存性)などを勘案して決定すればよい。このケースでは、記録スピードを出したいとき、アーカイブ性を出したいときなどの状況に合わせて、各要素の係数αsだけ変更するという制御も考えられる。その変更により、システムは要求に適したストレージにデータを移していく。このように評価関数の設定は非常に自由であることが、本願発明の大きな利点のひとつとなっている。
 上述したストレージの負荷分散の例に関して、実験を行った結果を図18Aおよび図18Bに示す。グラフの横軸は時間、縦軸は、そのストレージに記録されているデータの量である。今回の例では、高速性のあるストレージのひとつと、アーカイブ性の高いストレージのひとつを取り出し、モニタした結果を示している。図中の矢印のところで、評価関数を高速性重視のものから、アーカイブ性を重視するものに変更している。図を見るとわかるとおり、矢印以降では、アーカイブ性の高いストレージの容量が増え、高速性の高いストレージの記録量が減っている。つまり、自律的に管理者の意図をシステムが実現しているのである。このほうに、本願発明は、何らかの機能ブロック(リソース)が関連して存在(ネットワークで結合)していれば様々な分野で同じように使用できる。この実施例ではそれが確認されたことになる。
(実施例6)
 これまでの実施例では、情報分野の負荷分散制御の話であったが、本願発明の適用は情報分野に限らない。例えば、インフラ系のエネルギー、水などの制御にも問題なく使用できる。この実施例では、複数の太陽光エネルギーを接続した場合に、適正な電力が得られるか、本願発明を用いて実施した例を説明する。
 本実施例の概略図を図19に示す。丸印が太陽光エネルギー源である。エネルギーを消費するのが需要家であるが、需要家は太陽光エネルギーの供給源になる場合もあり、そのような需要家のところには丸印が描いてある。太陽光エネルギー発生源には、図2で示した本願発明の機能ブロックが内蔵されており、各太陽光エネルギー発生源は自身に設定された評価関数と自身に接続された他の太陽光エネルギー発生源の状況を見ながら、起動停止問題解決と最適化問題解決を行う。今回、太陽光エネルギー発生源が自身の電力を調整する方法としては、パネルの角度を変える方法を採用した。今回の実施例は所謂スマートグリッドの雛形を用いた実験例である。実験の都合上、電力会社が供給する電力網を使用した実験はできなかったが、今回の実施例が有効であれば、電力会社の発電所と再生可能エネルギー(太陽エネルギー、風力エネルギーなど)のヘテロな(ハイブリッドな)電力網でも有効に働くのは間違いない。
 上述した電力の負荷分散の例に関して、実験を行った結果を図20Aおよび図20Bに示す。グラフの横軸は時間、縦軸は、図20Aでは、そのシステム全体としての電力量、図20Bでは動作している太陽光エネルギー源(リソース数)である。図中の矢印に示す「故障発生」と記載されたところで、故意に幾つかの太陽光エネルギー源を遮断した。幾つかの太陽光エネルギー源を遮断したときに、電力量は一瞬低下するが、すぐに自律的に適正な電力量に戻る。今後、再生可能エネルギーが、既存の電力網にどんどん乗り入れてくると考えられる。再生可能エネルギーは、状況に非常に左右されるエネルギー源なので、電力供給をしたり、しなかったりは日常茶飯事で、かつ予想できない。このような状況では、本願発明が実施したように、システムが自律的に自己復元できる必要がある。本願発明が非常に有効に活用されることが予想される。また、この実施例から、本願発明が情報分野のみならずインフラ分野の制御にも有効であることが実証された。
(実施例7)
 これまでの実施例は、評価関数を管理者が予め設定する、あるいは供給するという形をとっていた。つまり、やや固定化された評価関数であった。また、定量的に実際の効率などと完全に適合しているかどうか保証していないものもあった。ここでは、その評価関数を徐々に実際のものに定量的に近づけてしまう方法について説明する。エネルギー効率は実測できる量なので、エネルギー効率に関わる評価関数を徐々に実際に即して変更する方法について述べる。エネルギー効率に関する実施例なので、基本構成は実施例2と同じものを使用した。
 今回の場合、各リソースに設定された評価関数を徐々に定量的に正確なものにするというものである。基本的には最初に設定された評価関数の値と現時点での実測値の差に係数を掛けてフィードバックしていくという方法である。これにより、徐々に、評価関数が定量的に正しくなっていく。図21Aに示すように、各機能ブロック(リソース)にこのフィードバックプロセスを実行する評価関数修正制御部を設け、図21BでS0~S4と示す各プロセスを実行する。
 上述したシステムで、エネルギー効率がどう推移するかを見たのが図22である。評価関数修正部が各リソースに取り付けられている以外は、実施例2と同じ条件である。グラフの横軸は時間、縦軸はエネルギー効率であるが、時間とともにエネルギー効率が改善していることがわかる。評価関数のダイナミックな調整も可能であることがわかった。
(実施例8)
 これまでの実施例では、停止した要素(ノード)がネットワークを完全に遮断してしまうケースに関して説明しなかった。このようなケースはあまり多くなく、また全ノードを管理している部分があれば問題ないので、必ずしも考える必要はないが、この実施例ではそのようなケースについて考えてみる。簡単のため、図23Aに示す9個のノード(機能ブロック)が直線的に並んだ場合の負荷分散について考える。実施例としては図1の特殊なネットワーク形状とも考えられる。評価関数としては、図23Bに示すように、ノード番号を3で割り、余りが1のもの、2のもの、0のものは同じとした。トータルの需要を0.4として、単純に本願発明を適用すると図24Aおよび図24Bに示す結果となる。本来、ノード1、4、7が同じ負荷となり、その他のノードの負荷が0となるはずであるが、ノード1、4、7は同じ負荷となっていない(図示していないが、その他のノードの負荷は0になっていることは確認されている)。また、評価関数の微分値も同じとなっていない。つまり、うまく起動停止問題と最適化問題を解くことができていない。これは、ノード1、4、7を繋ぐ、間のノードが停止してしまったことで、式(9)の右辺第2項が働かなくなってしまったからである。
 このような場合は、停止したノードとはいえ、隣接ノードのうち起動しているノードの評価関数の微分値を周辺のノードに伝えるように制御をかけると問題がなくなる。つまり、自身が停止しても、周辺の起動しているノードの評価関数の微分値を周辺に伝達する機能を起動停止問題解決ブロックに組み込むのである。
 そのようにした場合の制御結果を図25Aおよび図25Bに示す。間のノードが停止しても、ノード1、4、7がしっかり相互作用し、起動停止問題、最適化問題を解いていることがわかる。このように、起動停止問題解決ブロックに自身と周辺ノードの状況を管理する機能をつけていくことで、様々な状況でも問題なく起動停止問題、最適化問題を解決することができる。
 システムの都合により、クリティカルなパスが存在してしまい、そこが故障してしまうというケースにおいてもこのような手法を使うことで問題なく起動停止問題、最適化問題を解決することができるのである。
 本発明は、複数の機能ブロックを有し、それらの機能ブロックを自律分散適応的に統合して動作させるシステムの制御全般に貢献できるものであり、産業上の利用可能性非常に大きい。システムを外乱に対してロバストにし、また状況依存的にリアルタイムにシステムを適応させていくという制御を簡単、かつスケーラブルに実現することができる。
 また、上記した実施形態および実施例では、データセンターの負荷分散、ストレージの負荷分散、太陽光発電源の制御などの例を用いて、本願発明を説明したが、上述したように、本願発明は、情報分野、インフラ分野に限定されず、何らかの機能ブロック(リソース)が関連して存在(ネットワークで結合)していれば様々な分野で同じように使用できる。
 なお、上記機能ブロックの各部は、ハードウェアとソフトウェアの組み合わせを用いて実現すればよい。ハードウェアとソフトウェアとを組み合わせた形態では、RAMに本発明のシステムのプログラムが展開され、プログラムに基づいて制御部(CPU)等のハードウェアを動作させることによって、各部を各種手段として動作させる。また、前記プログラムは、記憶媒体に記録されて頒布されても良い。当該記録媒体に記録されたプログラムは、有線、無線、又は記録媒体そのものを介して、メモリに読込まれ、制御部等を動作させる。なお、記録媒体を例示すれば、オプティカルディスクや磁気ディスク、半導体メモリ装置、ハードディスクなどが挙げられる。
 なお、本出願は、2011年5月23日に出願された、日本国特許出願第2011−114266号からの優先権を基礎として、その利益を主張するものであり、その開示はここに全体として参考文献として取り込む。

Claims (20)

  1.  相互に関係を持つ複数の機能ブロックを有し、
     複数の前記機能ブロックは、
     それぞれに対応した評価関数を有する記憶部と、
     各機能ブロックの動作レベルを複数の前記機能ブロック全体で満たすべき拘束条件に基づき制御する拘束条件充足制御部と、
     前記機能ブロックに関係を持つ他の機能ブロックの前記評価関数に関する情報によって、互いの動作レベルを制御する利潤最大化制御部と、
     前記機能ブロックの動作レベルに応じて、前記拘束条件充足制御部および前記利潤最大化制御部の制御結果を用いて、前記機能ブロックの起動状態、停止状態を制御する起動停止問題解決制御部と、
     を有することを特徴とするシステム。
  2.  前記評価関数が凸関数であることを特徴とする請求項1記載のシステム。
  3.  前記起動停止問題解決制御部は、
     動作レベルが下限または上限の機能ブロックがある場合に、前記利潤最大化制御部の制御結果を調整して前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項1または2に記載のシステム。
  4.  前記起動停止問題解決制御部は、
     前記機能ブロックに関係を持つ他の機能ブロックの動作レベルが上限または下限にある場合、前記利潤最大化制御部が、前記他の機能ブロックが存在しないものとして動作レベルを制御した結果を用いて前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項3記載のシステム。
  5.  前記起動停止問題解決制御部は、
     前記機能ブロックの動作レベルが上限または下限にある場合、前記利潤最大化制御部の制御結果を用いないで前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項3記載のシステム。
  6.  前記機能ブロックに関係を持つ他の機能ブロックからの情報は、前記他の機能ブロックの評価関数の傾きに比例した値に関する情報であり、かつ前記機能ブロックの動作を抑制する情報であることを特徴とする請求項1~5のいずれか1項に記載のシステム。
  7.  前記拘束条件充足制御部は、
     以下の式(1)を満たす関係が成立する方程式を用いて前記機能ブロックの動作レベルを決定することを特徴とする請求項1~6のいずれか1項に記載のシステム。
    Figure JPOXMLDOC01-appb-I000001
  8.  前記拘束条件充足制御部は、
     以下の式(2)を満たす関係が成立する方程式を用いて前記機能ブロックの動作レベルを決定することを特徴とする請求項7に記載のシステム。
    Figure JPOXMLDOC01-appb-I000002
  9.  前記利潤最大化制御部は、
    以下の式(3)を満たす関係が成立する方程式を用いて前記機能ブロックの動作レベルを決定することを特徴とする請求項1~8のいずれか1項に記載のシステム。
    Figure JPOXMLDOC01-appb-I000003
  10.  前記利潤最大化制御部は、
     以下の式(4)を満たす関係が成立する方程式を用いて前記機能ブロックの動作レベルを決定することを特徴とする請求項9に記載のシステム。
    Figure JPOXMLDOC01-appb-I000004
  11.  前記拘束条件充足制御部および前記起動停止問題解決制御部は、前記機能ブロック自身の動作レベルを決定するときに、以下の式(5)を満たす関係が成立する方程式を用いて動作レベルを決定することを特徴とする請求項1~10のいずれか1項に記載のシステム。
    Figure JPOXMLDOC01-appb-I000005
  12.  前記起動停止問題解決制御部は、
     前記式(5)を用いて前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項10に記載のシステム。
  13.  前記起動停止問題解決制御部は、
     前記機能ブロックに関係を持つ他の機能ブロックの動作レベルが上限または下限にある場合、前記他の機能ブロックにおいては、前記式(5)の右辺第2項を計算するときには存在しない機能ブロックとして扱うことを特徴とする請求項12記載のシステム。
  14.  前記起動停止問題解決制御部は、
     前記機能ブロックの動作レベルが上限または下限にある場合、前記式(5)の右辺第2項が存在しないものとして前記式(5)を計算することを特徴とすることを特徴とする請求項12記載のシステム。
  15.  前記起動停止問題解決制御部は、
     前記機能ブロックの動作レベルが上限または下限にある場合、隣接する機能ブロックの評価関数の情報を伝達することで、利潤最大化制御における起動している機能ブロックの利潤最大化制御を調整することを特徴とする請求項1~14のいずれか1項に記載のシステム。
  16.  請求項1~15のいずれか1項に記載のシステムを用いたシステムの制御方法。
  17.  相互に関係を持つ複数の他の機能ブロックに接続され、
     評価関数を有する記憶部と、
     動作レベルを前記機能ブロック全体で満たすべき拘束条件に基づき制御する拘束条件充足制御部と、
     前記他の機能ブロックの前記評価関数に関する情報によって、動作レベルを制御する利潤最大化制御部と、
     動作レベルに応じて、前記拘束条件充足制御部および前記利潤最大化制御部の制御結果を用いて、起動状態、停止状態を制御する起動停止問題解決制御部と、
     を有することを特徴とする機能ブロック。
  18.  前記評価関数が凸関数であることを特徴とする請求項17記載の機能ブロック。
  19.  前記起動停止問題解決制御部は、
     前記他の機能ブロックの動作レベルが上限または下限にある場合、前記利潤最大化制御部が、前記他の機能ブロックが存在しないものとして動作レベルを制御した結果を用いて前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項17または18に記載の機能ブロック。
  20.  前記起動停止問題解決制御部は、
     前記他の機能ブロックの動作レベルが上限または下限にある場合、前記利潤最大化制御部の制御結果を用いないで前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項17または18に記載の機能ブロック。
PCT/JP2012/061933 2011-05-23 2012-05-01 システムおよびシステムの制御方法 WO2012160978A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
BR112013029929-0A BR112013029929B1 (pt) 2011-05-23 2012-05-01 Centro de dados, método de controle de centro de dados, e servidor para uso em um centro de dados
AU2012260091A AU2012260091B2 (en) 2011-05-23 2012-05-01 System and system control method
JP2013516284A JP6388326B2 (ja) 2011-05-23 2012-05-01 システムおよびシステムの制御方法
EP12790235.1A EP2717218A4 (en) 2011-05-23 2012-05-01 SYSTEM AND METHOD FOR SYSTEM CONTROL
US14/118,718 US9626635B2 (en) 2011-05-23 2012-05-01 Distributed autonomous system and method for controlling distributed autonomous system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-114266 2011-05-23
JP2011114266 2011-05-23

Publications (1)

Publication Number Publication Date
WO2012160978A1 true WO2012160978A1 (ja) 2012-11-29

Family

ID=47217058

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/061933 WO2012160978A1 (ja) 2011-05-23 2012-05-01 システムおよびシステムの制御方法

Country Status (6)

Country Link
US (1) US9626635B2 (ja)
EP (1) EP2717218A4 (ja)
JP (1) JP6388326B2 (ja)
AU (1) AU2012260091B2 (ja)
BR (1) BR112013029929B1 (ja)
WO (1) WO2012160978A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014241689A (ja) * 2013-06-12 2014-12-25 日本電気株式会社 負荷分散システム、負荷分散装置、負荷分散方法およびプログラム
WO2014208299A1 (ja) * 2013-06-24 2014-12-31 日本電気株式会社 電力制御装置、方法、およびプログラム
JPWO2015015929A1 (ja) * 2013-07-30 2017-03-02 日本電気株式会社 表示装置、電力制御システム、表示方法、電力制御方法、表示プログラム、及び電力制御プログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112013029929B1 (pt) * 2011-05-23 2021-12-07 Nec Corporation Centro de dados, método de controle de centro de dados, e servidor para uso em um centro de dados
US10839302B2 (en) 2015-11-24 2020-11-17 The Research Foundation For The State University Of New York Approximate value iteration with complex returns by bounding
TWI823431B (zh) * 2022-06-20 2023-11-21 英業達股份有限公司 風扇控制方法及風扇控制裝置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002165365A (ja) * 2000-11-21 2002-06-07 Osaka Gas Co Ltd 電力系統制御方法
JP2005285016A (ja) 2004-03-30 2005-10-13 Japan Science & Technology Agency 複数の要素の少なくとも1つを制御するシステム、方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078904A (en) * 1998-03-16 2000-06-20 Saddle Peak Systems Risk direct asset allocation and risk resolved CAPM for optimally allocating investment assets in an investment portfolio
US8626353B2 (en) * 2011-01-14 2014-01-07 International Business Machines Corporation Integration of demand response and renewable resources for power generation management
BR112013029929B1 (pt) * 2011-05-23 2021-12-07 Nec Corporation Centro de dados, método de controle de centro de dados, e servidor para uso em um centro de dados
JP6403185B2 (ja) * 2011-08-30 2018-10-10 日本電気株式会社 システムの制御方法およびシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002165365A (ja) * 2000-11-21 2002-06-07 Osaka Gas Co Ltd 電力系統制御方法
JP2005285016A (ja) 2004-03-30 2005-10-13 Japan Science & Technology Agency 複数の要素の少なくとも1つを制御するシステム、方法およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Technological Innovation with Yuragi", OSAKA UNIVERSITY YURAGI PROJECT, 2008
See also references of EP2717218A4

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014241689A (ja) * 2013-06-12 2014-12-25 日本電気株式会社 負荷分散システム、負荷分散装置、負荷分散方法およびプログラム
WO2014208299A1 (ja) * 2013-06-24 2014-12-31 日本電気株式会社 電力制御装置、方法、およびプログラム
JPWO2014208299A1 (ja) * 2013-06-24 2017-02-23 日本電気株式会社 電力制御装置、方法、およびプログラム
US10095256B2 (en) 2013-06-24 2018-10-09 Nec Corporation Power control device, method, and program based on evaluation functions regarding upper limit amount of power
JPWO2015015929A1 (ja) * 2013-07-30 2017-03-02 日本電気株式会社 表示装置、電力制御システム、表示方法、電力制御方法、表示プログラム、及び電力制御プログラム

Also Published As

Publication number Publication date
US9626635B2 (en) 2017-04-18
EP2717218A1 (en) 2014-04-09
AU2012260091B2 (en) 2016-12-22
EP2717218A4 (en) 2014-11-05
BR112013029929B1 (pt) 2021-12-07
BR112013029929A2 (pt) 2017-01-24
JP6388326B2 (ja) 2018-09-12
JPWO2012160978A1 (ja) 2014-07-31
US20140094935A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
JP6388326B2 (ja) システムおよびシステムの制御方法
CN102780759B (zh) 基于调度目标空间的云计算资源调度方法
JP5529114B2 (ja) 計算環境内のエネルギ消費を管理するシステムおよび方法
US9939834B2 (en) Control of power consumption
Zhang et al. Dynamic energy-aware capacity provisioning for cloud computing environments
US8607236B2 (en) Information processing system
Cao et al. CPU load prediction for cloud environment based on a dynamic ensemble model
JP2011002929A (ja) 分散電力供給システムおよびその制御方法
JP6403185B2 (ja) システムの制御方法およびシステム
Zubair et al. Integration of cloud-fog based platform for load balancing using hybrid genetic algorithm using bin packing technique
JP2018190115A (ja) 電力管理装置及びプログラム
Gibson A supervisory controller for optimization of building central cooling systems
JP6296251B2 (ja) 電力制御装置、方法、およびプログラム
JP6052896B2 (ja) システムの制御方法及び制御装置
Iordache et al. A decentralized strategy for genetic scheduling in heterogeneous environments
JP2021083290A (ja) 電力制御方法、電力制御システム、及びプログラム
US9910412B2 (en) State control device, control method, and program
JP6150058B2 (ja) 電力制御装置、電力制御システム、制御可能な機器、方法、およびプログラム
Liu et al. Distributed two-level cloud-based multimedia task scheduling
Challa et al. An efficient approach for minimization of energy and makespan in cloud computing
Zhu et al. Performance-Power Tradeoff in Heterogeneous SaaS Clouds With Trustworthiness Guarantee
JP2020144930A (ja) 相異なるユニットへのエネルギー供給を制御する方法およびシステム
Rajaprabha et al. Resource Scheduling Algorithms used in Cloud: A Comparative Study
WO2018037583A1 (ja) 電力需要制御システム、電力需要制御方法、アグリゲータシステム、需要家電力管理システム、及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12790235

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013516284

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14118718

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2012260091

Country of ref document: AU

Date of ref document: 20120501

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013029929

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013029929

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20131121