Control device, management device, system, control method, management method, control program, and management program
The proposed control device and management system for IoT edge servers improve load balancing by allowing the original edge server to perform actuation tasks when it can do so faster than other servers, thereby reducing delays and optimizing task completion times.
Patent Information
- Application Number
- JP2021025992
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-02-22
- Publication Date
- 2025-04-30
- Estimated Expiration
- 2041-02-22
AI Technical Summary
Existing IoT edge server systems do not effectively balance loads between edge servers, leading to potential delays in actuation commands due to high loads on other servers, even if the original edge server could complete the task faster.
A control device and management system that determine whether to perform control tasks based on load values and variance values of edge servers, allowing the original edge server to perform actuation if it can do so faster than other servers.
This approach enables more appropriate load distribution between edge servers, potentially reducing actuation times by allowing the original edge server to handle tasks when it is best positioned to do so.
Smart Images

Figure 0007669715000005 
Figure 0007669715000006 
Figure 0007669715000007
Abstract
Description
[Technical field]
[0001] The present invention relates to a control device, a management device, a system, a control method, a management method, a control program, and a management program. [Background technology]
[0002] An Internet of Things (IoT) service server transmits an actuation command to an edge server that controls a controlled device in order to control (actuate) the controlled device. Then, the edge server executes the actuation of the controlled device according to the received actuation command.
[0003] An edge server may have another edge server execute an actuation, for example, when the edge server is under a high load and is unable to execute the actuation immediately.
[0004] Note that even edge servers used in the same system may have different loads from each other. For example, the loads of the edge servers may differ when some edge servers are also responsible for actuation of controlled devices in other systems, or when controlled devices that are frequently used are disproportionately connected to a specific edge server. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] International Publication No. 2020 / 129432 Summary of the Invention [Problem to be solved by the invention]
[0006] However, the actuation may be completed more quickly if the original edge server that initially received the actuation command executes the actuation, rather than having another edge server execute the actuation. For example, if the load on another edge server is constantly high, or if the load on the original edge server was temporarily high but quickly went down, the actuation may be completed more quickly if the original edge server executes the actuation.
[0007] The method described in Patent Document 1 does not take this point into consideration, so as described above, there is a possibility that the actuation will be completed more quickly if the original edge server executes the actuation rather than having another edge server execute the actuation.
[0008] An object of the present invention is to provide a control device, a management device, a system, a control method, a management method, a control program, and a management program that enable more appropriate load balancing among edge servers. [Means for solving the problem]
[0009] In one aspect of the present invention, a control device includes a receiving unit that receives a control command instructing control of a controlled device, a decision unit that decides whether to perform the control instructed by the control command based on a load value indicating the load of the control device itself and a variance value indicating the variance of the load value in a specified calculation period, a control unit that performs the control of the controlled device in accordance with the control command if it is decided to perform the control, and a request unit that requests another control device to execute the control if it is decided not to perform the control.
[0010] In another aspect of the present invention, the management device determines whether or not to perform the control instructed by a control command that instructs control of the controlled device, and if it is decided not to perform the control, it includes a receiving unit that receives from each of the control devices that request other control devices to perform the control, a load value indicating the load of the control device and a variance value indicating the variance of the load value in a specified calculation period, and a transmitting unit that assigns a request destination to the control device when the control device requests the execution of the control based on the load value and the variance value, and transmits request destination information indicating information of the request destination for the control device to the control device.
[0011] In another aspect of the present invention, a control method receives a control command instructing control of a controlled device, and determines whether or not to perform the control instructed by the control command based on a load value indicating the load of the control device itself and a variance value indicating the variance of the load values over a specified calculation period, and if it is decided to perform the control, performs the control of the controlled device in accordance with the control command, and if it is decided not to perform the control, requests another control device to execute the control.
[0012] In another aspect of the present invention, the management method determines whether or not to perform the control instructed by a control command that instructs control of a controlled device, and if it is determined that the control will not be performed, receives from each of the control devices that request other control devices to perform the control a load value indicating the load of the control device and a variance value indicating the variance of the load values over a predetermined calculation period, assigns a request destination to the control device when the control device requests the execution of the control based on the load value and the variance value, and transmits request destination information indicating information of the request destination for the control device to the control device.
[0013] In another aspect of the present invention, the control program causes a computer to realize a receiving function for receiving a control command instructing control of a controlled device, a decision function for deciding whether or not to perform the control instructed by the control command based on a load value indicating the load of the control device itself and a variance value indicating the variance of the load value in a specified calculation period, a control function for performing the control of the controlled device in accordance with the control command if it is decided to perform the control, and a request function for requesting another control device to execute the control if it is decided not to perform the control.
[0014] In another aspect of the present invention, the management program causes a computer to determine whether or not to perform the control instructed by a control command that instructs the control of a controlled device, and if it is determined that the control will not be performed, to realize a receiving function of receiving, from each of the control devices that request other control devices to perform the control, a load value indicating the load of the control device and a variance value indicating the variance of the load values in a predetermined calculation period, and a transmitting function of assigning a request destination to the control device when the control device requests the execution of the control based on the load value and the variance value, and transmitting request destination information indicating information of the request destination for the control device to the control device. Effect of the Invention
[0015] According to the present invention, it is possible to more appropriately distribute the load among edge servers. [Brief description of the drawings]
[0016] [Figure 1] FIG. 2 is a diagram illustrating a configuration example of a control device according to the first embodiment of the present invention. [Diagram 2] FIG. 4 is a diagram illustrating an example of the operation of the control device according to the first embodiment of the present invention. [Diagram 3] FIG. 11 is a diagram illustrating an example of the configuration of a control system according to a second embodiment of the present invention. [Figure 4] FIG. 11 is a diagram showing an example of installation of a measurement device according to the second embodiment of the present invention. [Diagram 5]FIG. 11 illustrates an example of a configuration of a management device according to a second embodiment of the present invention. [Figure 6] 13A and 13B are diagrams illustrating an example of executable points and required points calculated by a management device according to a second embodiment of the present invention. [Figure 7] FIG. 11 is a diagram illustrating an example of a method for determining a request destination in a management device according to a second embodiment of the present invention. [Figure 8] FIG. 11 is a diagram illustrating an example of request destination information generated by a management device according to the second embodiment of the present invention. [Figure 9] FIG. 11 is a diagram illustrating an example of the configuration of a control device according to a second embodiment of the present invention. [Figure 10] FIG. 11 is a diagram illustrating an example of the operation of a management device according to the second embodiment of the present invention. [Figure 11] FIG. 11 is a diagram illustrating an example of the operation of a management device according to the second embodiment of the present invention. [Figure 12] FIG. 11 is a diagram illustrating an example of the operation of a management device according to the second embodiment of the present invention. [Figure 13] FIG. 11 is a diagram illustrating an example of the operation of a management device according to the second embodiment of the present invention. [Figure 14] FIG. 11 is a diagram illustrating an example of the operation of the control device according to the second embodiment of the present invention. [Figure 15] FIG. 11 is a diagram illustrating an example of the operation of the control device according to the second embodiment of the present invention. [Figure 16] FIG. 11 is a diagram illustrating an example of the operation of the control device according to the second embodiment of the present invention. [Figure 17] FIG. 11 is a diagram illustrating an example of the operation of the control device according to the second embodiment of the present invention. [Figure 18] FIG. 11 is a diagram illustrating an example of the operation of the control device according to the second embodiment of the present invention. [Figure 19] FIG. 11 is a diagram illustrating an example of the operation of the control device according to the second embodiment of the present invention. [Figure 20] FIG. 2 is a diagram illustrating an example of a hardware configuration according to each embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] [First embodiment] A first embodiment of the present invention will be described.
[0018] 1 shows an example of the configuration of a control device 10 according to this embodiment. The control device 10 according to this embodiment includes a receiving unit 11, a determining unit 12, a control unit 13, and a request unit 14.
[0019] The receiving unit 11 receives a control command instructing control of the controlled device. The deciding unit 12 decides whether or not to perform the control instructed by the control command based on a load value indicating the load of its own control device 10 and a variance value indicating the variance of the load value in a predetermined calculation period. If the control unit 13 decides to perform the control, it controls the controlled device in accordance with the control command. If the request unit 14 decides not to perform the control, it requests the other control device to execute the control.
[0020] By configuring the control device 10 in this manner, the control device 10 determines whether or not to perform control instructed by a control command based on a load value indicating the load of the control device 10 and a variance value of the load value. If the control device 10 determines to perform control, it controls the controlled device in accordance with the control command, and if it determines not to perform control, it requests another control device to perform control. In this way, the control device 10 determines whether or not to perform control based on not only the level of load but also the variance value of the load value. This makes it possible to more appropriately distribute the load between edge servers.
[0021] Next, an example of the operation of the control device 10 of this embodiment is shown in FIG.
[0022] The receiving unit 11 receives a control command instructing control of the controlled device (step S101). The deciding unit 12 decides whether or not to perform the control instructed by the control command based on a load value indicating the load of the control device and a variance value indicating the variance of the load value in a predetermined calculation period (step S102). If the control unit 13 decides to perform the control (YES in step S103), it controls the controlled device in accordance with the control command (step S104). If the requesting unit 14 decides not to perform the control (NO in step S103), it requests other control devices to perform the control (step S105).
[0023] By operating in this manner, the control device 10 determines whether or not to perform control instructed by a control command based on a load value indicating the load of the control device 10 and a variance value of the load value. If the control device 10 determines to perform control, it controls the controlled device in accordance with the control command, and if it determines not to perform control, it requests another control device to perform control. In this way, the control device 10 determines whether or not to perform control based on not only the level of load but also the variance value of the load value. This makes it possible to more appropriately distribute the load between edge servers.
[0024] As described above, in the first embodiment of the present invention, the control device 10 determines whether or not to perform control instructed by a control command based on a load value indicating the load of the control device 10 and a variance value of the load value. If the control device 10 determines to perform control, it controls the controlled device in accordance with the control command, and if it determines not to perform control, it requests another control device to execute the control. This makes it possible to more appropriately distribute the load between edge servers.
[0025] [Second embodiment] Next, the control device 20 according to the second embodiment of the present invention will be specifically described.
[0026] First, a configuration example of the control system of this embodiment is shown in Fig. 3. The control system of this embodiment includes a management device 40, a control device 20-i (1 <= i <= Ni: Ni is an integer equal to or greater than 1), and a controlled device 70-j (1 <= j <= Nj: Nj is an integer equal to or greater than 1).
[0027] The controlled device 70-j is a device to be controlled by the control device 20-i. The controlled device 70-j is, for example, an air conditioner installed in a conference room. The controlled device 70-j is connected to each of the control devices 20-i.
[0028] The management device 40 is a device that transmits a control command to instruct the control device 70-j to control the controlled device 70-j to the control device 20-i. The management device 40 receives, for example, a measurement value measured by the measurement device 80-k (1≦k≦Nk: Nk is an integer equal to or greater than 1) from the measurement device 80-k, and transmits a control command according to the received measurement value. The management device 40 is mutually connected to each of the control devices 20-i. The management device 40 is also connected to the measurement device 80-k.
[0029] The measuring device 80-k is, for example, a temperature measuring device outside the building, or a temperature measuring device or a CO2 (carbon dioxide) measuring device installed in the conference room. The measuring device 80-k transmits measured values to the management device 40 at predetermined time intervals. The measured values are, for example, the room temperature in the conference room, the CO2 concentration in the conference room, and the outside air temperature outside the building.
[0030] An example of the installation of measuring devices is shown in Fig. 4. In the example shown in Fig. 4, an air conditioner 82A is installed in a conference room 81A. The air conditioner 82A includes a controlled device 70A that adjusts the room temperature of the conference room 81A, and a measuring device 80A-1 (temperature measuring device) that measures the room temperature of the conference room 81A. A measuring device 80A-2 (CO2 measuring device) that measures carbon dioxide is also installed in the conference room 81A.
[0031] The control device 20-i controls the controlled device 70-j in response to a control command from the management device 40. The control device 20-i is connected to the management device 40. The control device 20-i is also connected to other control devices. The controlled device to be controlled is previously associated with the control device 20-i. The control device 20-i usually receives a control command for the controlled device associated with the control device 20-i, and controls the controlled device associated with the control device 20-i. When the control device 20-i is requested to execute control for a controlled device other than the controlled device associated with the control device 20-i, the control device controls the controlled device to be controlled in response to the request.
[0032] Next, a configuration example of the management device 40 of this embodiment will be described with reference to Fig. 5. The management device 40 includes a receiving unit 41 and a transmitting unit 42.
[0033] The receiver 41 receives measurement values from the measurement devices 80-k. The receiver 41 also receives from the control devices 20-i at predetermined time intervals a load value indicating the load of the control device 20-i measured by the control device 20-i and a variance value indicating the variance of the load value in a predetermined calculation period.
[0034] In this embodiment, the receiver 41 receives room temperature data indicating the room temperature of the conference room from a temperature measuring device installed in each conference room. The receiver 41 also receives CO2 data indicating the CO2 concentration in the conference room from a CO2 measuring device installed in each conference room. The receiver 41 also receives outside air temperature data indicating the outside air temperature from a temperature measuring device installed outdoors.
[0035] The transmitting unit 42 determines the control for the controlled device 70-j based on the measurement value received from the measurement device 80-k. Then, the transmitting unit 42 transmits a control command instructing the control of the controlled device 70-j to the control device 20-i associated with the controlled device 70-j.
[0036] The transmitting unit 42 also generates a priority list indicating the priority of each of the controlled devices 70-j, and transmits the generated priority list to each of the control devices 20-i. The transmitting unit 42 determines the priority of control for each of the controlled devices 70-j according to a predetermined criterion. The priority list is used in the control device 20-i as a criterion for determining which control to execute first when there are multiple controls to be executed by the control device 20-i. The transmitting unit 42 also updates the priority list at a predetermined timing, for example, at predetermined time intervals or when there is a change in the measured value, and transmits the updated priority list to each of the control devices 20-i. Note that the criterion for determining the priority and the method for determining the priority are arbitrary. Also, the priority may be two levels, "high" and "low", or may have more levels.
[0037] The transmitting unit 42 may determine the priority of each of the controlled devices 70-j based on, for example, the measured values measured by the measuring device 80-k. For example, the priority of the controlled devices 70-j may be determined based on the area of the conference room, the difference between the outside temperature and the room temperature, the CO2 concentration, and the like. For example, it is considered that it takes time for a conference room whose area is equal to or larger than a predetermined area, or a conference room whose difference between the outside temperature and the room temperature is equal to or larger than a predetermined value, to reach an appropriate temperature. Therefore, it is considered to increase the priority of control for the air conditioner (controlled device 70-j) installed in such a conference room. In addition, it is assumed that a conference room whose CO2 concentration is equal to or larger than a predetermined value is in use (has people in it), and therefore it is assumed that it is required that the temperature of the conference room reach an appropriate temperature more quickly. Therefore, it is considered to increase the priority of control for the air conditioner (controlled device 70-j) installed in a conference room whose area is equal to or larger than a predetermined area, a conference room whose difference between the outside temperature and the room temperature is equal to or larger than a predetermined value, or a conference room whose CO2 concentration is equal to or larger than a predetermined value.
[0038] The transmission unit 42 also determines request destination information for each of the control devices 20-i based on the load value and variance value of the control device 20-i. The request destination information is information indicating a control device to which the control device 20-i is requested when the control device 20-i requests execution of control. The transmission unit 42 then transmits the request destination information to the control device 20-i.
[0039] In this embodiment, the transmitting unit 42 does not determine the request destination for a control device that has been determined as the request destination of any of the control devices; in other words, a control device that has been determined as the request destination of any of the control devices does not become the request source that requests control from other control devices.
[0040] An example of a method for determining the request destination information will be described below. Note that the method for determining the request destination information is arbitrary and is not limited to the method described below.
[0041] For example, the transmission unit 42 calculates, for each of the control devices 20-i, an executable point indicating the degree to which the control device is suitable as a request destination for execution of control, based on the load value and the variance value. The transmission unit 42 also calculates, for each of the control devices 20-i, a request point indicating the degree to which the control device should request other control devices for execution, based on the load value and the variance value. Then, the transmission unit 42 assigns the control device with the large executable point as the request destination to the control device 20-i with the large request point.
[0042] The transmission unit 42 calculates the executable point P1i of the control device 20-i, for example, by using the formula (1). The load value of the control device 20-i is Li, the evaluation value of the hardware performance is Hi, and the variance value is Di. The evaluation value of the hardware performance is stored in advance in a storage means inside or outside the management device 40. TIFF0007669715000001.tif6150
[0043] In formula (1), the executable point of the control device 20-i increases as the load value decreases, the hardware performance improves, and the variance value decreases. In other words, the control device 20-i with a large executable point has good hardware performance and a steady low load. Therefore, the control device 20-i with a large executable point is highly likely to be able to handle the control instructed by other control devices in addition to the control instructed by itself.
[0044] Moreover, the transmission unit 42 calculates the required point P2i of the control device 20-i, for example, by using the formula (2). TIFF0007669715000002.tif6150
[0045] In formula (2), the demand point of the control device 20-i increases as the load value increases, the hardware performance decreases, and the variance value decreases. In other words, the control device 20-i with a large demand point has poor hardware performance and a steady load. Therefore, the control device 20-i with a large demand point is highly likely to be unable to immediately execute at least a part of the control instructed to itself.
[0046] Then, the transmitting unit 42 assigns, for example, a control device with a large executable point to the control device 20-i with a large requested point as a request destination.
[0047] The transmission unit 42 may determine the request destination according to, for example, the ratio of the request points of the control device 20-i to the total request points or the ratio of executable points to the total executable points.
[0048] For example, the transmission unit 42 calculates the executable ratio R1i of the control device 20-i by the following equation (3): In addition, the transmission unit 42 calculates the required ratio R2i of the control device 20-i by the following equation (4). TIFF0007669715000003.tif10150 TIFF0007669715000004.tif10150
[0049] The transmitter 42 then assigns a control device with a large executable ratio as a request destination to a control device 20-i with a large request ratio. At this time, for example, the transmitter 42 assigns the control devices 20-i as request destinations in the order of the control device 20-i with the largest request ratio R2i. The transmitter 42 also assigns the control devices 20-i as request destinations in the order of the control devices with the largest executable ratios. The transmitter 42 also assigns the control devices as request destinations according to the request ratio of the control device 20-i and the executable ratios of the other control devices. The transmitter 42 does not assign a control device as a request destination to a control device that has been assigned as a request destination of any control device.
[0050] A specific example of a method for determining a request destination will be described with reference to Fig. 6 to Fig. 8. Fig. 6 shows an example of executable points, executable ratio, requested points, and requested ratio when there are four control devices. Fig. 7 shows a method for allocating request destinations when the executable ratio and requested points are as shown in Fig. 6. Fig. 8 shows an example of requested destination information when a request destination is determined by the method shown in Fig. 7.
[0051] First, the transmitter 42 assigns the control device 20-2 with the highest executable ratio as a request destination to the control device 20-3 with the highest requested ratio. In addition, since the requested ratio of the control device 20-2 is smaller than the requested ratio of the control device 20-3, the transmitter 42 also assigns the control device 20-4 with the second highest executable ratio as a request destination of the control device 20-3.
[0052] Next, the transmitting unit 42 assigns the request destination to the control device 20-1, which has the second highest request ratio. The value obtained by subtracting the request ratio of the control device 20-3 from the sum of the executable ratios of the control devices 20-2 and 20-4, which are the request destinations of the control device 20-3, is greater than the request ratio of the control device 20-1. Therefore, the transmitting unit 42 assigns the control device 20-4 as the request destination to the control device 20-1.
[0053] Since the control devices 20-2 and 20-4 are assigned as request destinations of any of the control devices, the transmitting unit 42 does not assign the request destinations to the control devices 20-2 and 20-4.
[0054] In this way, the transmitting unit 42 generates the request destination information as shown in Fig. 8. Then, the transmitting unit 42 transmits the request destination information of the control device 20-i to the control device 20-i. Note that, for a control device to which no request destination has been assigned, the request destination information may include information indicating that there is no request destination. Also, for a control device assigned as a request destination of another control device, the request destination information may include information indicating that the control device is set as a request destination.
[0055] The transmitting unit 42 updates the request destination information at a predetermined timing, such as at predetermined time intervals or when the receiving unit 41 receives the load value and the variance value from the control device 20-i.
[0056] Next, a configuration example of the control device 20-i of this embodiment will be described with reference to Fig. 9. The control device 20-i of this embodiment includes a receiving unit 21-i, a determining unit 22-i, a control unit 23-i, a request unit 24-i, and a calculating unit 25-i.
[0057] The receiving unit 21-i receives a control command for instructing control of a controlled device from the management device 40. In addition, the receiving unit 21-i receives a priority list from the management device 40. In addition, the receiving unit 21-i receives request destination information from the management device 40.
[0058] The decision unit 22-i decides whether or not to perform the control instructed by the control command, based on the load value indicating the load of the control device 20-i and the variance value of the load value.
[0059] First, when the load value of the control device 20-i is smaller than a predetermined value, the decision unit 22-i decides to perform the control instructed by the control command.
[0060] In addition, when the decision unit 22-i has not received, from the management device 40, request destination information indicating the request destination of the control device 20-i, i.e., when the control device 20-i has not been assigned a request destination control device, the decision unit 22-i decides to perform the control instructed by the control command.
[0061] Furthermore, the decision unit 22-i may further decide to perform the control instructed by the control command when the number of controlled devices 70-j associated with the control device 20-i is smaller than a predetermined value.
[0062] Also, when the load value of the control device 20-i is large and the variance value of the load value is small, it is assumed that the load of the control device 20-i is constantly high. Therefore, when the load value of the control device 20-i is larger than a predetermined value and the variance value is smaller than a predetermined value, the decision unit 22-i decides not to perform the control instructed by the control command. Also, when the load value of the control device 20-i is equal to or smaller than a predetermined value or the variance value is equal to or larger than a predetermined value, the decision unit 22-i decides to perform the control instructed by the control command.
[0063] The load value may be, for example, a value based on a control completion rate indicating the completion rate of control. The control completion rate is the ratio of the number of control commands received by the control device 20-i in a predetermined period of time that are completed between the reception of one control command and the reception of the next control command, among the control commands received by the control device 20-i in a predetermined period of time. The smaller the control completion rate, the higher the load. Therefore, the control device 20-i may use, as the load value, an index that decreases as the control completion rate increases, such as the inverse of the control completion rate or a value obtained by subtracting the control completion rate from 100%.
[0064] The calculation unit 25-i calculates the load value of the control device 20-i and a variance value indicating the variance of the load value in a predetermined calculation period at predetermined time intervals, and transmits the calculated load value and variance value to the management device 40. The load value is, for example, a value based on a control completion rate. The control device 20-i can detect the completion of control by receiving a control completion response from the controlled device 70-j that is the control target.
[0065] When the determination unit 22-i determines that control should be performed, the control unit 23-i controls the controlled device in response to the control command. At this time, the control unit 23-i controls the controlled device in an order according to the priority list received from the management device 40. For example, the control unit 23-i prioritizes control of a controlled device with a high priority over control of a controlled device with a low priority.
[0066] When the decision unit 22-i decides not to perform the control instructed by the control command, the request unit 24-i requests another control device to perform the control. When requesting another control device to perform the control, the request unit 24-i requests the request destination control device, which is indicated by the request destination information received from the management device 40, to perform the control.
[0067] When the request destination information for the control device 20-i includes information on two or more control devices as the request destinations, the request unit 24-i can determine which control device to request to execute control, using any method. For example, when the request destination information received from the management device 40 includes information indicating the ratio of requests to each request destination, the request unit 24-i may determine the request destination according to that ratio. Also, for example, when the request destination information received from the management device 40 includes information on the priority of each request destination, the request unit 24-i may first request control from a request destination with a high priority. Then, when the request unit 24-i receives a response to the effect that the request is rejected, it may request control from a request destination with a low priority.
[0068] In addition, the request unit 24-i can request the control device of the request destination to execute the control by any method. For example, the request unit 24-i may transmit a control command received from the management device 40 to the control device of the request destination, or may transmit newly generated information to the control device of the request destination.
[0069] The receiving unit 21-i receives a request to execute control from another control device. Then, the control unit 23-i executes the control requested to be executed by the other control device. When the determination unit 22-i is requested to execute a control by another control device, the determination unit 22-i may determine whether or not the control can be executed based on the load value or the load value variance value of the control device 20-i. When the determination unit 22-i determines that the control cannot be executed, the determination unit 22-i may transmit a response to the effect that the control cannot be executed to the control device that requested the control. When the control unit 23-i determines that the control can be executed, the control unit 23-i executes the control.
[0070] By configuring the control device 20-i in this way, the control device 20-i determines whether or not to perform control instructed by a control command based on a load value indicating the load of the control device 20-i and a variance value of the load value. Then, when the control device 20-i determines to perform control, it controls the controlled device in response to the control command, and when it determines not to perform control, it requests another control device to perform control. In this way, the control device 20-i determines whether or not to perform control in the control device 20-i based not only on the level of the load but also on the variance value of the load value. This makes it possible to more appropriately distribute the load between edge servers.
[0071] Next, an operation example of the management device 40 of this embodiment is shown in FIG. 10 to FIG.
[0072] The management device 40 receives the measurement value from the measurement device 80-k (step S201 in FIG. 10). The management device 40 determines the control for the controlled device 70-j based on the measurement value received from the measurement device 80-k. Then, the management device 40 transmits a control command instructing the control of the controlled device 70-j to the control device 20-i associated with the controlled device 70-j (step S202).
[0073] Moreover, the management device 40 receives the load value and the variance value of the load value of the control device 20-i from the control device 20-i (step S203 in FIG. 11).
[0074] Furthermore, the management device 40 generates a priority list indicating the control priority for each of the controlled devices 70-j at the timing of generating the priority list, such as at predetermined time intervals or when there is a change in the measured value. Furthermore, the management device 40 transmits the generated priority list to each of the control devices 20-i (steps S204 and S205 in FIG. 12).
[0075] Furthermore, the management device 40 determines a request destination for each of the control devices 20-i based on the load value and variance value of the control device 20-i at the timing of generating the request destination information, such as at predetermined time intervals or when the load value and variance value are received from the control device 20-i. Then, the management device 40 transmits the request destination information to the control device 20-i (steps S206 and S207 in FIG. 13).
[0076] Next, an operation example of the control device 20-i of this embodiment is shown in FIG. 14 to FIG.
[0077] The control device 20-i receives the priority list from the management device 40 (step S301 in FIG. 14). Also, the control device 20-i receives request destination information from the management device 40 (step S302 in FIG. 15).
[0078] Furthermore, the control device 20-i calculates the load value of the control device 20-i and a variance value indicating the variance of the load value in a predetermined calculation period at predetermined time intervals, and transmits the calculated load value and variance value to the management device 40 (step S303 in FIG. 16). The load value is, for example, a value based on the control completion rate.
[0079] The control device 20-i receives a control command instructing control of the controlled device from the management device 40 (step S304 in FIG. 17). Upon receiving the control command, the control device 20-i determines whether or not to perform the control instructed by the control command based on the load value and the load value variance value of the control device 20-i (step S305).
[0080] When the control device 20-i decides to perform the control instructed by the control command (YES in step S306), it controls the controlled device in accordance with the control command (step S307). At this time, the control device 20-i controls the controlled device in an order according to the priority list received from the management device 40. More specifically, when the management device 40 decides to perform the control instructed by the control command, it stores information on the control instructed by the control command in a queue. Then, the management device 40 executes the control for the control whose information is stored in the queue in an order according to the priority list.
[0081] Furthermore, when the control device 20-i determines not to perform the control instructed by the control command (NO in step S306), it requests the other control devices to perform the control (step S308). When requesting the execution of control from other control devices, the control device 20-i requests the execution of control from the request destination control device indicated by the request destination information received from the management device 40.
[0082] Furthermore, when the control device 20-i receives a request to execute a control from another control device (step S309 in FIG. 18), it executes the control requested to be executed by the other control device (step S310). Note that the control device 20-i may also execute the control requested to be executed by the other control device in the order based on the priority list.
[0083] Next, an example of the operation of the control device 20-i with respect to the decision as to whether or not to perform the control instructed by the control command is shown in Fig. 19. Fig. 19 shows a detailed example of the operation of step S305 in Fig. 17.
[0084] First, when the load value of the control device 20-i is smaller than a predetermined value (YES in step S401), the control device 20-i decides to perform the control instructed by the control command (step S402). Also, when the control device 20-i has not received request destination information indicating the request destination of the control device 20-i from the management device 40 (NO in step S403), the control device 20-i decides to perform the control instructed by the control command (step S402). Note that when the control device 20-i has not received request destination information indicating the request destination of the control device 20-i from the management device 40, a control device that is the request destination is not assigned to the control device 20-i.
[0085] Furthermore, when the load value of the control device 20-i is greater than a predetermined value (YES in step S404) and the variance value is less than a predetermined value (YES in step S405), the control device 20-i decides not to perform the control instructed by the control command (step S406). Furthermore, when the load value of the control device 20-i is equal to or less than a predetermined value (NO in step S404) or the variance value is equal to or greater than a predetermined value (NO in step S405), the control device 20-i decides to perform the control instructed by the control command (step S402).
[0086] By operating in this manner, the control device 20-i determines whether or not to perform control instructed by a control command based on a load value indicating the load of the control device 20-i and a variance value of the load value. If the control device 20-i determines to perform control, it controls the controlled device in accordance with the control command, and if it determines not to perform control, it requests another control device to perform control. In this way, the control device 20-i determines whether or not to perform control in the control device 20-i based not only on the level of the load but also on the variance value of the load value. This makes it possible to more appropriately distribute the load between edge servers.
[0087] As described above, in the second embodiment of the present invention, the control device 20-i determines whether or not to perform control instructed by a control command based on the load value indicating the load of the control device 20-i and the variance value of the load value. Then, when the control device 20-i determines to perform control, it controls the controlled device in response to the control command, and when it determines not to perform control, it requests another control device to perform control. In this way, the control device 20-i determines whether or not to perform control in the control device 20-i based not only on the level of the load but also on the variance value of the load value. This makes it possible to more appropriately distribute the load between edge servers.
[0088] [Hardware configuration example] An example of the configuration of hardware resources in which the control devices (10, 20-i) and management device 40 (hereinafter, control devices, etc.) in each of the above-mentioned embodiments of the present invention are realized using one information processing device (computer) will be described. The control devices, etc. may be realized physically or functionally using at least two or more information processing devices. The control devices, etc. may be realized as dedicated devices or general-purpose devices. Only some of the functions of the control devices, etc. may be realized using an information processing device.
[0089] 20 is a diagram illustrating an example of a hardware configuration of an information processing device capable of implementing the control device of each embodiment of the present invention. The information processing device 90 includes a communication interface 91, an input / output interface 92, a calculation device 93, a storage device 94, a non-volatile storage device 95, and a drive device 96.
[0090] 1 can be realized by a communication interface 91. Also, the determination unit 12 can be realized by a calculation device 93. Also, the control unit 13 and the request unit 14 can be realized by the communication interface 91 and the calculation device 93.
[0091] The communication interface 91 is a communication means for the control device or the like of each embodiment to communicate with an external device at least in a wired or wireless manner. When the control device or the like is realized using at least two information processing devices, the devices may be connected to each other via the communication interface 91 so as to be able to communicate with each other.
[0092] The input / output interface 92 is a man-machine interface including a keyboard as an example of an input device and a display as an output device.
[0093] The arithmetic device 93 is realized by, for example, an arithmetic processing device such as a CPU (Central Processing Unit) or a microprocessor, and a plurality of electric circuits. The arithmetic device 93 can read various programs stored in, for example, a non-volatile storage device 95 into the storage device 94 and execute processing according to the read programs.
[0094] The storage device 94 is a memory device such as a RAM (Random Access Memory) that can be referenced by the arithmetic device 93, and stores programs, various data, etc. The storage device 94 may be a volatile memory device.
[0095] The non-volatile storage device 95 is, for example, a non-volatile storage device such as a ROM (Read Only Memory) or a flash memory, and is capable of storing various programs, data, and the like.
[0096] The drive device 96 is, for example, a device that processes reading and writing of data recorded on a recording medium 97, which will be described later.
[0097] The recording medium 97 is any recording medium capable of recording data, such as an optical disk, a magneto-optical disk, or a semiconductor flash memory.
[0098] Each embodiment of the present invention may be realized, for example, by configuring a control device, etc. using an information processing device 90 illustrated in FIG. 20, and supplying a program capable of realizing the functions described in each of the above embodiments to this control device, etc.
[0099] In this case, the embodiment can be realized by having the arithmetic device 93 execute a program supplied to the control device, etc. Also, it is possible to configure some, but not all, of the functions of the control device, etc., in the information processing device 90.
[0100] Furthermore, the program may be recorded in a recording medium 97, and may be appropriately stored in the non-volatile storage device 95 at the shipping stage or operation stage of the control device, etc. In this case, the program may be supplied by installing the program in the control device, etc., using an appropriate tool at the manufacturing stage before shipping or at the operation stage, etc. The program may be supplied by a general procedure such as downloading the program from an external source via a communication line such as the Internet.
[0101] It should be noted that the above-described embodiments are preferred embodiments of the present invention, and various modifications can be made without departing from the spirit and scope of the present invention.
[0102] A part or all of the above-described embodiments can be described as, but is not limited to, the following supplementary notes.
[0103] (Appendix 1) A receiving unit that receives a control command for controlling a controlled device; a decision unit that decides whether or not to perform the control instructed by the control command based on a load value indicating a load of the control device itself and a variance value indicating a variance of the load value in a predetermined calculation period; a control unit that controls the controlled device in response to the control command when it is determined that the control is to be performed; a request unit that requests the other control device to execute the control when it is determined that the control is not to be executed; A control device comprising:
[0104] (Appendix 2) the load value is a value based on a control completion rate indicating a completion rate of the control, The control completion rate is a ratio of the number of control commands received during a predetermined period, the number of control commands for which the control is completed during the period from when the control command is received until when the next control command is received, among the control commands received during the predetermined period. 2. The control device according to claim 1 .
[0105] (Appendix 3) When a request is made to another control device to execute the control, the request destination is the request destination assigned to the control device itself, The determination unit determines to perform the control when there is no request destination assigned to the control device. 3. The control device according to claim 1 or 2,
[0106] (Appendix 4) The request destination is assigned based on the load value and the distribution value of the control device. 4. The control device according to claim 3.
[0107] (Appendix 5) The request destination is the control device having a large executable point that increases as the load value and the variance value decrease. 5. The control device according to claim 4,
[0108] (Appendix 6) The request destination is assigned to the control device having a large request point that increases as the load value is large and the variance value is small. 6. The control device according to claim 4 or 5,
[0109] (Appendix 7) The determination unit determines not to perform the control when the load value of the control device itself is greater than a predetermined value and the variance value is smaller than a predetermined value. 7. The control device according to claim 1,
[0110] (Appendix 8) The control unit executes the control in an order according to the priority of the controlled devices. 8. The control device according to claim 1,
[0111] (Appendix 9) The determination unit determines not to execute the control when a number of the controlled devices having high priority among the controlled devices previously associated with the control device is equal to or greater than a predetermined value. 9. The control device according to claim 8,
[0112] (Appendix 10) When the control unit is requested to execute the control by another control device, the control unit executes the requested control. 10. The control device according to any one of claims 1 to 9.
[0113] (Appendix 11) a receiving unit that determines whether or not to perform a control command instructing control of a controlled device, and receives, when it is determined that the control command is not to be performed, a load value indicating a load of the control device and a variance value indicating a variance of the load value in a predetermined calculation period from each of the control devices that request other control devices to perform the control; a transmitting unit that assigns a request destination to the control device when the control device requests the execution of the control based on the load value and the variance value, and transmits request destination information indicating information of the request destination to the control device; A management device comprising:
[0114] (Appendix 12) The transmission unit assigns, as the request destination, the control device having a small load value and a large executable point that increases as the variance value decreases. 12. The management device according to claim 11 .
[0115] (Appendix 13) The transmission unit assigns the request destination to the control device having a large request point that increases as the load value is large and the variance value is small. 13. The management device according to claim 11 or 12.
[0116] (Appendix 14) The receiving unit receives a measurement value related to the controlled device, The transmitting unit determines a priority of each of the controlled devices based on the measurement values, and transmits a priority list indicating information of the priority of each of the controlled devices to the control device. 14. The management device according to claim 11,
[0117] (Appendix 15) A control device according to any one of Supplementary Note 1 to Supplementary Note 10; The controlled device; A system comprising:
[0118] (Appendix 16) A management device according to any one of Supplementary Note 11 to Supplementary Note 14; The control device; The controlled device; A system comprising:
[0119] (Appendix 17) receiving a control command for controlling a controlled device; determining whether or not to perform the control instructed by the control command based on a load value indicating a load of the control device itself and a variance value indicating a variance of the load value in a predetermined calculation period; When it is determined that the control is to be performed, the control of the controlled device is performed in response to the control command; When it is determined that the control is not to be performed, a request is made to another of the control devices to perform the control. Control methods.
[0120] (Appendix 18) the load value is a value based on a control completion rate indicating a completion rate of the control, The control completion rate is a ratio of the number of control commands received during a predetermined period, the number of control commands for which the control is completed during the period from when the control command is received until when the next control command is received, among the control commands received during the predetermined period. 18. The control method according to claim 17,
[0121] (Appendix 19) When a request is made to another control device to execute the control, the request destination is the request destination assigned to the control device itself, The control method determines to perform the control when there is no request destination assigned to the control device. 19. The control method according to claim 17 or 18,
[0122] (Appendix 20) The request destination is assigned based on the load value and the distribution value of the control device. 20. The control method according to claim 19,
[0123] (Appendix 21) The request destination is the control device having a large executable point that increases as the load value and the variance value decrease. 21. The control method according to claim 20,
[0124] (Appendix 22) The request destination is assigned to the control device having a large request point that increases as the load value is large and the variance value is small. 22. The control method according to claim 20 or 21,
[0125] (Appendix 23) When the load value of the control device itself is greater than a predetermined value and the variance value is smaller than a predetermined value, it is determined that the control is not to be performed. 23. The control method according to claim 17,
[0126] (Appendix 24) The control is executed in an order according to the priority of the controlled device. 24. The control method according to claim 17,
[0127] (Appendix 25) When the number of the controlled devices having high priority among the controlled devices previously associated with the control device is equal to or greater than a predetermined value, it is determined that the control is not to be executed. 25. The control method according to claim 24,
[0128] (Appendix 26) When the execution of the control is requested by another control device, the requested control is executed. 26. The control method according to claim 17,
[0129] (Appendix 27) determining whether or not to perform a control command instructing control of a controlled device, and when it is determined that the control command is not to be performed, receiving a load value indicating a load of the control device and a variance value indicating a variance of the load value in a predetermined calculation period from each of the control devices which request other control devices to perform the control; A request destination when the control device requests the execution of the control is assigned to the control device based on the load value and the variance value, and request destination information indicating information of the request destination for the control device is transmitted to the control device. Management method.
[0130] (Appendix 28) The control device having a smaller load value and a larger executable point that increases as the variance value decreases is assigned as the request destination. 28. The management method according to claim 27.
[0131] (Appendix 29) The request destination is assigned to the control device having a large request point, which increases as the load value increases and the variance value decreases. 29. The management method according to claim 27 or 28.
[0132] (Appendix 30) receiving measurements related to the controlled device; determining a priority of each of the controlled devices based on the measured values, and transmitting a priority list indicating information of the priority of each of the controlled devices to the control device; 30. The management method according to any one of claims 27 to 29.
[0133] (Appendix 31) On the computer, A receiving function for receiving a control command for controlling a controlled device; a determination function for determining whether or not to perform the control instructed by the control command based on a load value indicating a load of the control device itself and a variance value indicating a variance of the load value in a predetermined calculation period; a control function that performs the control of the controlled device in response to the control command when it is determined that the control is to be performed; a request function for requesting the execution of the control from another of the control devices when it is determined not to execute the control; A control program that realizes this.
[0134] (Appendix 32) the load value is a value based on a control completion rate indicating a completion rate of the control, The control completion rate is a ratio of the number of control commands received during a predetermined period, the number of control commands for which the control is completed during the period from when the control command is received until when the next control command is received, among the control commands received during the predetermined period. 32. The control program according to claim 31 .
[0135] (Appendix 33) When a request is made to another control device to execute the control, the request destination is the request destination assigned to the control device itself, The decision function decides to perform the control when there is no request destination assigned to the control device. 33. The control program according to claim 31 or 32,
[0136] (Appendix 34) The request destination is assigned based on the load value and the distribution value of the control device. 34. The control program according to claim 33.
[0137] (Appendix 35) The request destination is the control device having a large executable point that increases as the load value and the variance value decrease. 35. The control program according to claim 34,
[0138] (Appendix 36) The request destination is assigned to the control device having a large request point that increases as the load value is large and the variance value is small. 36. The control program according to claim 34 or 35,
[0139] (Appendix 37) The decision function decides not to perform the control when the load value of the control device itself is greater than a predetermined value and the variance value is smaller than a predetermined value. 37. The control program according to any one of claims 31 to 36,
[0140] (Appendix 38) The control function executes the control in an order according to the priority of the controlled device. 38. The control program according to any one of claims 31 to 37.
[0141] (Appendix 39) The determination function determines not to execute the control when the number of the controlled devices having high priority among the controlled devices previously associated with the control device itself is equal to or greater than a predetermined value. 39. The control program according to claim 38,
[0142] (Appendix 40) The control function executes the requested control when the execution of the control is requested by another of the control devices. 40. The control program according to claim 39, wherein:
[0143] (Appendix 41) On the computer, a receiving function for determining whether or not to perform a control command for controlling a controlled device, and when it is determined that the control command is not to be performed, receiving a load value indicating a load of the control device and a variance value indicating a variance of the load value in a predetermined calculation period from each of the control devices which request other control devices to perform the control; a transmission function of allocating a request destination to the control device when the control device requests the execution of the control based on the load value and the variance value, and transmitting request destination information indicating information of the request destination to the control device; A management program that achieves this.
[0144] (Appendix 42) The transmission function assigns, as the request destination, the control device having a small load value and a large executable point that increases as the variance value decreases. 42. The management program of claim 41 .
[0145] (Appendix 43) The transmission function assigns the request destination to the control device having a large request point that increases as the load value and the variance value decrease. 43. The management program according to claim 41 or 42,
[0146] (Appendix 44) The receiving function receives a measurement value related to the controlled device; The transmission function determines a priority of each of the controlled devices based on the measurement values, and transmits a priority list indicating information of the priority of each of the controlled devices to the control device. 44. A management program according to any one of claims 41 to 43. [Explanation of symbols]
[0147] 10, 20-i Control device 11, 21-i Receiver 12, 22-i decision section 13, 23-i Control section 14, 24-i request part 25-i Calculation part 40 Management device 41 Receiving section 42 Transmitter 80-k measuring device 70-j Controlled device 90 Information processing equipment 91 Communication Interface 92 Input / Output Interface 93 Arithmetic unit 94 Storage device 95 Non-volatile storage devices 96 Drive device 97 Recording media
Claims
1. A receiving unit that receives a control command for controlling a controlled device; a decision unit that decides whether or not to perform the control instructed by the control command based on a load value indicating a load of the control device itself and a variance value indicating a variance of the load value in a predetermined calculation period; a control unit that controls the controlled device in response to the control command when it is determined that the control is to be performed; a request unit that requests the other control device to execute the control when it is determined that the control is not to be executed; A control device comprising:
2. the load value is a value based on a control completion rate indicating a completion rate of the control, The control completion rate is a ratio of the number of control commands received during a predetermined period, the number of control commands for which the control is completed during the period from when the control command is received until when the next control command is received, among the control commands received during the predetermined period. The control device according to claim 1 .
3. The determination unit determines not to perform the control when the load value of the control device itself is greater than a predetermined value and the variance value is smaller than a predetermined value.
3. The control device according to claim 1 or 2.
4. a receiving unit that determines whether or not to perform a control command for controlling a controlled device, and receives, when it is determined that the control command is not to be performed, a load value indicating a load of the control device and a variance value indicating a variance of the load value in a predetermined calculation period from a control device that requests another control device to perform the control; a transmitting unit that assigns a request destination to the control device when the control device requests the execution of the control based on the load value and the variance value, and transmits request destination information indicating information of the request destination to the control device; A management device comprising:
5. A control device according to any one of claims 1 to 3; The controlled device; A system comprising:
6. A management device according to claim 4; The control device; The controlled device; A system comprising:
7. A control device comprising: receiving a control command for controlling a controlled device; determining whether or not to perform the control instructed by the control command based on a load value indicating a load of the control device itself and a variance value indicating a variance of the load value in a predetermined calculation period; When it is determined that the control is to be performed, the control of the controlled device is performed in response to the control command; When it is determined that the control is not to be performed, a request is made to another of the control devices to perform the control. Control methods.
8. A management device, determining whether or not to perform a control command instructing control of a controlled device, and when it is determined that the control command is not to be performed, receiving from a control device which requests another control device to perform the control a load value indicating a load of the control device and a variance value indicating a variance of the load value in a predetermined calculation period; A request destination when the control device requests the execution of the control is assigned to the control device based on the load value and the variance value, and request destination information indicating information of the request destination for the control device is transmitted to the control device. Management method.
9. On the computer, A receiving function for receiving a control command for controlling a controlled device; a determination function for determining whether or not to perform the control instructed by the control command based on a load value indicating a load of the control device itself and a variance value indicating a variance of the load value in a predetermined calculation period; a control function that performs the control of the controlled device in response to the control command when it is determined that the control is to be performed; a request function for requesting the execution of the control from another of the control devices when it is determined not to execute the control; A control program for a control device that realizes the above.
10. On the computer, a receiving function for determining whether or not to perform a control command for controlling a controlled device, and receiving, when it is determined that the control command is not to be performed, a load value indicating a load of the control device and a variance value indicating a variance of the load value in a predetermined calculation period from a control device that requests another control device to perform the control; a transmission function of assigning a request destination to the control device when the control device requests the execution of the control based on the load value and the variance value, and transmitting request destination information indicating information of the request destination to the control device; A management program that achieves this.
Citation Information
Patent Citations
System-distributed processor and system-distributed processing system
JP2007323499A
Apparatus, method and program for distributing load
JP2010165193A
Load balancing processing system
JP2010224709A
Virtual machine management device, virtual machine management method, and program
JP2015022321A
Remote control system, remote control method, controller, and computer program
JP2016119514A