Control apparatus and control method

The migration control device analyzes and controls the timing of application migration to maintain remote control quality by calculating and executing the transfer of IoT device applications to a second server, addressing packet loss issues in conventional methods.

WO2026047991A1PCT designated stage Publication Date: 2026-03-05NT T INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/031244
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Conventional application migration techniques in cloud and edge computing environments result in packet loss and decreased quality of remote control when IoT devices are remotely controlled, as the timing of migration completion cannot be controlled.

Method used

A migration control device that analyzes the operating state of an application on a first server, calculates the required time for transferring the operating state to a second server, and controls the timing of the migration to ensure seamless transition.

Benefits of technology

Suppresses degradation in remote control quality by ensuring timely and efficient migration of applications controlling IoT devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024031244_05032026_PF_FP_ABST
    Figure JP2024031244_05032026_PF_FP_ABST
Patent Text Reader

Abstract

One embodiment of the present invention is a control apparatus for migration in which an application for device control, which runs on a first server, is transferred to a second server corresponding to the application. The control apparatus comprises: a first control unit that controls a first migration in which the same application as the application running on the first server is started in advance on the second server; an analysis unit that analyzes the running state of the application running on the first server; a required time calculation unit that calculates, on the basis of the analysis result of the running state, a required time for a second migration in which the running state of the application running on the first server is carried over to the application which has been already started on the second server; a timing control unit that controls an execution timing of the second migration on the basis of the calculation result of the required time; and a second control unit that executes the second migration at the timing controlled by the timing control unit.
Need to check novelty before this filing date? Find Prior Art

Description

Control device and control method

[0001] The present invention relates to a control device and a control method for controlling application migration.

[0002] Conventionally, when running applications on a server using cloud computing, edge computing, or the like, it is necessary to migrate the functions of the target server to another server when the target server experiences a high load or when system maintenance is performed. When migrating an application running on a target server to another server, it is necessary to migrate not only the application itself but also the state maintained by the running application. Regarding such migration, for example, technologies for live migration of containers and virtual machines (VMs) running on FPGAs have been proposed (see, for example, Non-Patent Documents 1 and 2).

[0003] Puliafito, C., Vallati, C., Mingozzi, E., Merlino, G., Longo, F., & Puliafito, A. (2019). Container migration in the fog: A performance evaluation. Sensors, 19(7), 1488. Huang, Che, et al. "Proposal of OSS-based FPGA container automatic migration system between servers." IEICE Communications Express 11.11 (2022): 703-708.

[0004] However, in conventional technology, when an IoT (Internet of Things) device is remotely controlled by an application, if application migration occurs, it is not possible to control the timing at which the migration is completed, which can result in packet loss in the control signals sent to the IoT device and a decrease in the quality of the remote control.

[0005] In view of the above circumstances, an object of the present invention is to provide a technique that can suppress degradation in the quality of remote control when migrating an application that remotely controls a device.

[0006] One aspect of the present invention is a migration control device that moves an application for device control running on a first server to a second server corresponding to the application, the control device comprising: a first control unit that controls a first migration in which an application identical to the application running on the first server is started in advance on the second server; an analysis unit that analyzes the operating state of the application running on the first server; a required time calculation unit that calculates, based on the analysis result of the operating state by the analysis unit, the required time for a second migration in which the operating state of the application running on the first server is passed on to the application already started on the second server; a timing control unit that controls the timing of execution of the second migration based on the calculation result of the required time by the required time calculation unit; and a second control unit that executes the second migration at a timing controlled by the timing control unit.

[0007] One aspect of the present invention is a method for controlling a migration in which a control device controls a device control application running on a first server to a second server corresponding to the application, the method comprising: a first control step in which the control device controls a first migration in which an application identical to the application running on the first server is started in advance on a second server; an analysis step in which the control device analyzes the operating state of the application running on the first server; a required time calculation step in which the control device calculates, based on the analysis result of the operating state by the analysis step, the required time for a second migration in which the operating state of the application running on the first server is passed on to the application already started on the second server; a timing control step in which the control device controls the timing of execution of the second migration based on the calculation result of the required time by the required time calculation step; and a second control step in which the second migration is executed at a timing controlled by the timing control step.

[0008] According to the present invention, it is possible to suppress deterioration in the quality of remote control when migrating an application that remotely controls a device.

[0009] 1 is a diagram illustrating an example of a system configuration of a communication system according to an embodiment; FIG. 2 is a diagram illustrating an example of a configuration of a migration control device according to an embodiment; FIG. 3 is a diagram illustrating an example of the contents of a communication status table; FIG. 4 is a diagram illustrating an example of the contents of a network status table; FIG. 5 is a diagram illustrating an example of the contents of a migration definition table; FIG. 6 is a diagram illustrating an example of the contents of a required time table; FIG. 7 is a diagram illustrating an example of the flow of migration processing in a communication system according to an embodiment; and FIG. 8 is a diagram illustrating an example of the execution timing of a second migration determined by a second migration timing control unit.

[0010] An embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a diagram showing an example of a system configuration of a communication system 1 according to the embodiment. The communication system 1 includes a plurality of application servers 100 and a migration control device 200. The plurality of application servers 100 and the migration control device 200 can communicate with each other via a network NW. The network NW may be a network using wireless communication or a network using wired communication. The network NW may be configured using, for example, the Internet or a local area network (LAN). The network NW may also be configured by combining a plurality of networks.

[0011] The application server 100 is a server device that provides a remote control function for a device to any client terminal (not shown). In this embodiment, the device to be remotely controlled is assumed to be classified as an IoT device. However, the device to be remotely controlled is not limited to a specific device as long as it has communication capabilities and operates in response to external control signals. FIG. 1 illustrates an IoT device DV as an example of a remotely controlled device. The application server 100 can provide a remote control function for an IoT device by running a specific application AP. Hereinafter, an application AP that provides a remote control function for an IoT device is referred to as a "control application." The application server 100 can migrate a control application running on its own server to another server in cooperation with the migration control device 200. The migration referred to here is a so-called "live migration," which involves moving the memory contents (operating state) of the target control application from the source application server 100 to the destination application server 100 while keeping the target control application in an execution state.

[0012] The migration control device 200 is a device that manages or controls the migration of a control application running on the application server 100. More specifically, the migration control device 200 monitors the operating status of a plurality of application servers 100 that are being monitored, and when the migration control device 200 detects the occurrence of an event (hereinafter referred to as a "trigger event") that requires the migration of a control application on one of the application servers 100, the migration control device 200 executes the migration of the control application running on the target application server 100 (hereinafter referred to as a "target application"). The type of event that is determined as the trigger event may be arbitrarily designed taking into consideration the effect that the occurrence of the event has on the operation of the control application. For example, the trigger event may be a high load on the CPU of the application server 100, a failure in the network NW or a failure in the application server 100 that causes the application server 100 to be unable to communicate, or the occurrence of another hardware failure in the application server 100.

[0013] For example, Fig. 1 illustrates application servers 100A to 100D as multiple application servers 100 to be monitored. The example in Fig. 1 illustrates a case in which migration control device 200 migrates a control application AP running on application server 100B, where a trigger event has occurred, to application server 100C along with its operating state ST. After the control application AP and its operating state ST are migrated from application server 100B to application server 100C, the communication destination of IoT device DV is switched from application server 100B to application server 100C, and the IoT device DV can subsequently access application server 100C and continue to be remotely controlled by the control application AP.

[0014] FIG. 2 illustrates an exemplary configuration of a migration control device 200 according to an embodiment. The migration control device 200 includes, for example, a communication unit 210, a storage unit 220, and a control unit 230. The control unit 230 includes a processor, such as a central processing unit (CPU), and a memory. When the processor executes a program, the control unit 230 functions as a communication status monitoring unit 231, a network status monitoring unit 232, a server monitoring unit 233, a first migration control unit 234, an application status analysis unit 235, a migration time calculation unit 236, a network switching time calculation unit 237, a second migration timing control unit 238, a second migration control unit 239, and a network switching control unit 240. Note that some or all of the functions of the control unit 230 may be implemented using hardware such as an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA). The above program may be recorded on a computer-readable recording medium. Examples of computer-readable recording media include portable media such as flexible disks, magneto-optical disks, ROMs, CD-ROMs, and semiconductor storage devices (e.g., SSDs: Solid State Drives), as well as storage devices such as hard disks and semiconductor storage devices built into computer systems. The above programs may be transmitted via telecommunications lines.

[0015] The communication unit 210 is a communication device. The communication unit 210 may be configured as, for example, a network interface. The communication unit 210 communicates data with other devices via the network NW in accordance with the control of the control unit 230. The communication unit 210 may be a device that performs wireless communication or a device that performs wired communication. The communication unit 210 may have separate communication devices for communicating with the migration control device 200 and for communicating with the IoT device DV. In this embodiment, the IoT device DV can also be connected to the network NW via a wired or wireless connection and communicates with the application server 100 via the network NW.

[0016] The storage unit 220 is configured using a storage device such as a magnetic hard disk drive or a semiconductor storage device. The storage unit 220 stores data used by the control unit 230. The storage unit 220 is used as an area for storing, for example, a communication status table 221, a network status table 222, a migration definition table 223, and a required time table 224, which will be described later.

[0017] The control unit 230 monitors the status of the application server 100 and performs a process of migrating a target application (hereinafter referred to as a "migration process"). More specifically, the migration process of the target application includes a process related to a first migration that is performed before the occurrence of a trigger event is detected, and a process related to a second migration that is performed after the occurrence of a trigger event is detected. The control unit 230 realizes the migration process using a communication status monitoring unit 231, a network status monitoring unit 232, a server monitoring unit 233, a first migration control unit 234, an application status analysis unit 235, a migration time calculation unit 236, a network switching time calculation unit 237, a second migration timing control unit 238, a second migration control unit 239, and a network switching control unit 240.

[0018] The communication status monitoring unit 231 monitors and records in real time the communication status between the IoT device to be controlled and the application server 100. The communication status here refers to information such as the control cycle of the IoT device and the time when the most recent control signal was transmitted. For example, the communication status monitoring unit 231 records information about the communication status obtained by monitoring in the communication status table 221.

[0019] FIG. 3 is a diagram showing an example of the contents of the communication status table 221. The communication status table 221 is a table that stores, for example, a control application, an IoT device remotely controlled by the control application, a control period for the remote control, and the most recent transmission completion time of a control signal for the remote control, in association with each other. The example of FIG. 3 shows that "control application A" controls "IoT device #1" and "IoT device #2" with a control period of 100 ms. The example of FIG. 3 also shows the most recent transmission completion time of the control signal in hours, minutes, and seconds, but information such as the year, month, or day may also be added. The communication status table 221 is updated with the latest information as control signal transmission is completed.

[0020] Returning to Fig. 2, the network status monitoring unit 232 monitors and records the network status between the application servers 100 in real time. The network status here refers to information such as the communication bandwidth and delay in the network NW between the application servers 100. For example, the network status monitoring unit 232 records information about the network status obtained by monitoring in the network status table 222.

[0021] FIG. 4 is a diagram illustrating an example of the contents of the network status table 222. The network status table 222 is a table that associates, for example, a source application server 100 (source server), a destination application server 100 (destination server) to which the application server 100 is to be migrated, and the network status between the source server and the destination server. The example of FIG. 4 indicates that when "Server 01" is the source server, the destination server is "Server 02," and when "Server 03" is the source server, the destination server is "Server 04." The example of FIG. 4 also indicates that the network status between "Server 01" and "Server 02" and the network status between "Server 03" and "Server 04" are both: bandwidth: 100 MB / s, latency: 1 ms. The network status table 221 is updated with the latest information as needed according to the network status monitoring period.

[0022] Returning to FIG. 2 , the server monitoring unit 233 monitors the operating status of the multiple application servers 100 that are the monitoring targets. More specifically, the server monitoring unit 233 periodically communicates with the multiple application servers 100 that are the monitoring targets to acquire status information indicating the status of each application server 100 from each application server 100, and determines whether a trigger event has occurred in each application server 100 based on the acquired status information. When the server monitoring unit 233 detects that a trigger event has occurred in any of the application servers 100, it notifies the first migration control unit 234 of the detected application server 100 (hereinafter referred to as the "target server").

[0023] FIG. 5 is a diagram illustrating an example of the contents of the migration definition table 223. The migration definition table 223 may be configured as a table that defines, for example, a combination of a control application to be managed, an application server 100 (source server) that is the migration source for the control application, and an application server 100 (destination server) that is the migration destination for the control application. In the example of FIG. 3, record R1 indicates that the migration destination for "control application A" running on "server 01" is defined as "server 02." Record R2 indicates that the migration destination for "control application B" running on "server 03" is defined as "server 04." Note that multiple records may be defined for the same control application as long as the combinations of the source server and destination server are different. The contents of the migration definition table 223 are designed in advance by the administrator of the application server 100. The administrator can review the contents of the migration definition table 223 as appropriate depending on the addition or deletion of applications and application servers 100, the resource status of the application server 100, etc.

[0024] Returning to FIG. 2 , the first migration control unit 234 executes the first migration for the control application. As described above, the first migration is a process of pre-activating the main program of the control application in the destination application server 100. The main program may be transferred from the source server to the destination server each time, or may be stored in advance on both the source server and the destination server. As described above, the first migration is executed in advance before the occurrence of a trigger event is detected on the application server 100 on which the application runs. For example, the first migration control unit 234 may execute the first migration for an application running on each source application server 100 when it starts monitoring each application server 100. The first migration control unit 234 may also execute the first migration for an application in response to the application being activated on the source application server 100. The first migration control unit 234 can identify the destination application server 100 based on the contents of the migration definition table 223.

[0025] Furthermore, when the first migration control unit 234 is notified of a target server by the server monitoring unit 233, the first migration control unit 234 identifies the application server 100 to be the migration destination for the notified target server based on the contents of the migration definition table 223, and notifies the application server 100 identified as the migration destination to the application status analysis unit 235. Note that, here, a case will be described in which the first migration control unit 234 identifies the migration destination application server 100 when the target server is detected, but the migration destination application server 100 may be identified by the server monitoring unit 233 and notified to the application status analysis unit 235 directly by the server monitoring unit 233 without going through the first migration control unit 234.

[0026] The application status analysis unit 235 analyzes the operating status of the target application at the migration source. More specifically, by analyzing the operating status of the target application, the application status analysis unit 235 acquires information such as the status of the IoT device to be controlled, the communication status between the IoT device and the application server 100, the control period of the IoT device, and the time when the most recent control signal was transmitted. Furthermore, for example, part or all of the operating status of the control application can be identified by the contents of memory used by the process of the control application. Note that part of the operating status may be written from memory to an associated file on disk. In this case, the application status analysis unit 235 may recognize the operating status of the target application based on the contents of the memory and the contents of the associated file. The application status analysis unit 235 notifies the migration time calculation unit 236 of the results of analyzing the operating status of the target application.

[0027] The migration time calculation unit 236 calculates the time required to migrate the operation state of each IoT device controlled by the source application server 100 (migration time) based on the analysis result of the operation state of the target application notified by the application state analysis unit 235 and the contents of the network status table 222. The migration time calculation unit 236 records the calculated migration time in the required time table 224.

[0028] The network switching time calculation unit 237 calculates the time (switching time) required for network switching between the IoT device to be controlled and the application server 100 based on the contents of the required time table 224. Network switching is a process of switching the network connection between the IoT device to be controlled and the application server 100 from a source server to a destination server. Here, for example, assume that application server 100B and application server 100C, which have the same IP address, are located on physically different LANs, and a network switch that switches communication from the IoT device DV to one of the LANs is provided in the network NW. In this case, by changing the switching settings in the network switch, the connection destination can be switched from application server 100B to application server 100C without changing the address information of the connection destination in the IoT device DV. Note that this method is merely an example of a method for achieving network switching, and is not limited to this. Any method may be adopted for network switching depending on the configuration of the network NW, the configuration of the application server 100, the configuration of the IoT device DB, etc. For example, the migration control device 200 may instruct the IoT device DV to change the address information of the connection destination. Alternatively, for example, a floating IP address that can be moved between the application server 100B and the application server 100C may be set. Furthermore, the required time table 224 may acquire any information necessary for calculating the switching time, depending on the network switching method. The network switching time calculation unit 237 records the calculated switching time in the required time table 224 and notifies the second migration timing control unit 238.

[0029] 6 is a diagram illustrating an example of the contents of the required time table 224. The required time table 224 is a table that stores, in association with each other, the identification information of an application, the IoT device (control target device) controlled by the application, the source server of the application, the destination server of the application, data indicating the operating state of the application (operating state data), the data size of the operating state data, the control period of the IoT device by the application (control period), the completion time of transmission of the most recent control signal, the required time for the second migration of the application, and the network switching time of the IoT device. The network switching time is calculated by the network switching time calculation unit 237, and the required second migration time is calculated by the migration time calculation unit 236. The contents of the required time table 224 are updated to the latest information as appropriate according to the monitoring period of various information.

[0030] Returning to Figure 2, the second migration timing control unit 238 determines the timing to execute the second migration based on the contents of the required time table 224, and instructs the second migration control unit 239 to execute the second migration according to the determined migration timing, and also instructs the network switching control unit 240 to switch the network connection between the application server 100 and the IoT device.

[0031] The second migration control unit 239 executes the second migration of the target application running on the target server in response to an instruction from the second migration timing control unit 238. More specifically, the second migration control unit 239 transfers the operation state of the target application running on the source application server 100 to the target application already started on the destination application server 100 based on the analysis result of the operation state acquired by the application state analysis unit 233. For example, the second migration control unit 239 acquires operation state data for the target application stored in the required time table 224 and transfers it to the destination server. The destination application server 100 reflects the operation state of the target application running on the source application server 100 on the operation state of the target application already started on its own server based on the operation state data transferred from the second migration control unit 239.

[0032] The network switching control unit 240 switches the network connection between the application server 100 and the IoT device from the source server to the destination server in response to an instruction from the second migration timing control unit 238. The network switching may be achieved by switching the network address of the application server 100, or by causing the IoT device to switch the application server 100 to which it is connected.

[0033] When the second migration control unit 239 completes the second migration and the network switching control unit 240 completes the network switching between the application server 100 and the IoT device, the migration of the target application is completed.

[0034] FIG. 7 illustrates an example of the flow of migration processing in the communication system 1 according to the embodiment. In FIG. 7 , dashed lines indicate the timing of a trigger event. First, a first migration is performed for a control application to be managed before the trigger event occurs. More specifically, for example, the first migration control unit 234 instructs the application server 100 (source server) to perform the first migration (S101). The source server then transfers the control application's main program to the application server 100 (destination server) (S102). The destination server then executes the main program transferred from the source server to launch the control application (S103). Furthermore, before the trigger event occurs, the communication status monitoring unit 231 begins monitoring the communication status between the IoT device and the application server 100 on which the application controlling the IoT device runs (S104). Furthermore, before the trigger event occurs, the network status monitoring unit 232 starts monitoring the network status between the application server 100E that is the migration source and the application server 100F that is the migration destination (S105). Furthermore, before the trigger event occurs, the server monitoring unit 233 starts monitoring the status of the multiple application servers 100, including the application server 100E that is the migration source and the application server 100F that is the migration destination (S106).

[0035] Due to space limitations, only the source application server 100E and the destination application server 100F are shown here among the multiple application servers 100, but in reality, the server monitoring unit 233 monitors the status of all monitored application servers 100. During this monitoring, a trigger event occurs in the application server 100E (the target server and source server) among the multiple application servers 100 at the timing indicated by the dashed line, and the server monitoring unit 233 detects this (S107).

[0036] Next, the first migration control unit 234 identifies the target application and the application server 100F as its destination server (S108) based on the target server 100E detected in S107 and the migration definition table 223. For example, in the example of the migration definition table 223 in Fig. 5, if "Server 01" is detected as the target server, the first migration control unit 234 selects record R1 in which the value of the source server is "Server 01," and obtains the value of the control application ("Control Application A") and the value of the destination server ("Server 02") from record R1.

[0037] Next, the application state analysis unit 235 analyzes the operation state of the target application identified in S108 (S109). More specifically, the application state analysis unit 235 identifies parts of the operation state of the target application that have been updated from the initial operation state at the time of launching the target application (hereinafter referred to as the "initial state"). The method of state analysis is not limited to a specific method, but the following three methods are exemplified here.

[0038] (First Method) First, the application status analysis unit 235 identifies a memory area used by the process of the target application on the source server. Next, the application status analysis unit 235 acquires data stored in the memory area and the update time of the data. The application status analysis unit 235 then identifies data whose update time differs from the target application's launch time (i.e., the time the memory area was allocated in memory) (i.e., data that has been updated from its initial state), thereby identifying parts of the target application's operating state that have been updated from their initial state. Note that the data update time may be acquired using a user interface, such as an API or command provided by the operating system. Furthermore, for example, an application may be configured to save the data update time when saving data in the memory area of ​​its own process or updating data in the memory area.

[0039] (Second Method) In the second method, it is assumed that the target application is configured to store the part to be updated from the initial state in a specific memory area. In this case, the application state analysis unit 235 can identify the part of the operating state of the target application that has been updated from the initial state by referring to the specific memory area.

[0040] (Third Method) The application status analysis unit 235 identifies memory areas used by processes of a target application on the source server and the destination server. Next, the application status analysis unit 235 acquires data stored in each of the identified memory areas on each of the source server and the destination server, and the update time of the data. The application status analysis unit 235 can then identify data whose update time on the source server and the update time on the destination server are different as data that has been updated since the initial state.

[0041] Furthermore, the application state analysis unit 235 acquires information on the communication state of the IoT device to be controlled from the communication state table 221 (S110), and supplies this information to the migration time calculation unit 236 together with the analysis result of the operation state.

[0042] Next, the migration time calculation unit 236 calculates the time required for the second migration of the target application based on the information supplied from the application status analysis unit 235 in S110 (S111). The migration time calculation unit 236 records the calculated migration time together with the information supplied from the application status analysis unit 235 in the required time table 224.

[0043] Next, the network switching time calculation unit 237 calculates the time required to switch the network connection between the IoT device and the application server 100 from the application server 100E of the migration source to the application server 100F of the migration destination, based on the contents of the network status table 222 (S112). The network switching time calculation unit 237 stores the calculation result of the network switching time in the required time table 224.

[0044] Next, the second migration timing control unit 238 determines the timing to perform the second migration (S113) based on the contents of the required time table 224. When the timing determined in S113 arrives, the second migration timing control unit 238 notifies the second migration control unit 239 and the network switching control unit 240 of this fact (S114).

[0045] Next, in response to the notification of S114, the second migration control unit 239 executes a second migration of the target application, thereby transferring the operation state of the target application on the source application server 100E to the target application already started on the destination application server 100F. More specifically, the second migration control unit 239 transmits operation state data of the target application to the destination application server 100F (S115), and the destination application server 100F updates the operation state of the target application already started on its own server based on the operation state data received in S115 (S116), thereby transferring the operation state.

[0046] As described above, since the operating status data of the target application is obtained from the source application server 100E, the second migration control unit 239 may instruct the source application server 100E to send the operating status data from the source application server 100E to the destination application server 100F instead of sending the operating status data itself.

[0047] Meanwhile, the network switching control unit 240 executes network switching between the IoT device and the application server 100 in response to the notification of S114. More specifically, the network switching control unit 240 instructs the IoT device to switch its connection destination from the source application server 100E to the destination application server 100F (S117), and the IoT device switches its connection destination to the destination application server 100F in response to this instruction (S118). The processing up to S118 completes the second migration of the target application and the network switching, and the series of migration processes ends. This allows the IoT device to continue control communication with the destination application server 100F.

[0048] FIG. 8 is a diagram illustrating an example of the execution timing of the second migration determined by the second migration timing control unit 238. The first case in the upper part of FIG. 8 is a case in which the second migration is completed within one control period for all applications running on the target server. More specifically, the first case is an example in which the migration control device 200 determines the execution timing of the second migration and network switching from time t11 to time t12 when the migration control device 200 detects the target server due to the occurrence of a trigger event. In this case, the migration control device 200 calculates the required time for the second migration and network switching and determines that the second migration and network switching for all IoT devices to be controlled will be completed within the most recent control period T1, and sets the execution timing (times t11 to t12) for the second migration and network switching within the control period T1.

[0049] 8 shows a second case in which the second migration and the network connection switching are not completed within one control period for all control applications running on the target server. In this case, the migration control device 200 calculates the time required for the second migration and the network switching and determines that the second migration and the network switching for all IoT devices to be controlled will not be completed within the most recent control period T1. In addition to the control period T1, the migration control device 200 sets execution timings for the second migration and the network switching (times t21 to t22 and t23 to t24) within the next control period T2.

[0050] In the second case, the operation state is analyzed and the required time is calculated for each of the control periods T1 and T2. This allows the migration control device 200 to flexibly and accurately determine the timing of the second migration and network switching in accordance with changes in the communication status between the application server 100 and the IoT device and changes in the network status between the application servers 100.

[0051] As described above, according to the communication system 1 of the embodiment, it is possible to accommodate both cases where migration for all target IoT devices is completed within one control period and cases where migration is not completed within one control period, and to perform processes such as receiving data (sensor data, etc.) transmitted from IoT devices and transmitting control information to IoT devices without being hindered by migration.

[0052] Furthermore, according to the communication system 1 of the embodiment, the control application at the migration destination is started up before the trigger event is detected, thereby shortening the time required for the migration process by the time required for that.

[0053] According to the communication system 1 of the embodiment configured in this manner, it is possible to suppress degradation in the quality of remote control when migrating an application that remotely controls a device.

[0054] Although an embodiment of the present invention has been described above in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and includes designs within the scope of the gist of the present invention.

[0055] The present invention is applicable to a technique for migrating an application that remotely controls a device.

[0056] 1...communication system, 100, 100A to 100D...application server, 200...migration control device, 210...communication unit, 220...storage unit, 221...communication status table, 221...network status table, 222...network status table, 223...migration definition table, 224...required time table, 230...control unit, 231...communication status monitoring unit, 232...network status monitoring unit, 233...server monitoring unit, 234...first migration control unit, 235...application status analysis unit, 236...migration time calculation unit, 237...network switching time calculation unit, 238...second migration timing control unit, 239...second migration control unit, 240...network switching control unit

Claims

1. A migration control device that migrates an application for controlling equipment that runs on a first server to a second server that corresponds to the application, comprising: a first control unit that controls a first migration that starts up in advance on a second server an application that is the same as the application running on the first server; an analysis unit that analyzes the operating state of the application running on the first server; a required time calculation unit that calculates the required time for a second migration that takes over the operating state of the application running on the first server to the application already started on the second server based on the analysis result of the operating state by the analysis unit; a timing control unit that controls the timing of execution of the second migration based on the calculation result of the required time by the required time calculation unit; and a second control unit that executes the second migration at a timing controlled by the timing control unit.

2. The control device described in claim 1, further comprising a network switching control unit that controls network switching to switch the communication connection of the device with the first server to the second server, and the timing control unit controls the timing of the network switching based on the communication status between the device controlled by the application and the first server.

3. The control device according to claim 1, wherein the analysis unit collects information on the operating state of the application from the first server at the timing when the first server completes transmission of a control signal to a device to be controlled.

4. The control device described in claim 1, wherein the timing control unit calculates the required time for the second migration based on the data size required to transfer the operating state of the application from the first server to the second server and the network conditions between the first server and the second server, and determines the timing to perform the second migration based on the control period of the device by the application and the required time so as not to overlap with the timing at which the device and the application communicate during the control period.

5. The control device described in claim 4, wherein, when the timing control unit determines that the second migration of all applications running on the first server will not be completed within a first control period, the timing control unit determines the timing of performing the second migration that was not performed within the first control period in a second control period following the first control period.

6. The control device according to claim 1, further comprising a server monitoring unit that monitors a plurality of servers including the first server and the second server, wherein the server monitoring unit detects a server among the plurality of servers that satisfies predetermined migration conditions as the first server.

7. The control device described in claim 6, wherein the server monitoring unit identifies a second server for an application running on the target server based on the target server detected as the first server and definition information that defines a destination server for the application running on the multiple servers.

8. A method for a control device to control migration in which an application for controlling a device, running on a first server, is migrated to a second server corresponding to the application, the method comprising: a first control step in which the control device controls a first migration in which an application identical to the application running on the first server is started in advance on a second server; an analysis step in which the control device analyzes the operating state of the application running on the first server; a required time calculation step in which the control device calculates, based on the analysis result of the operating state by the analysis step, the required time for a second migration in which the operating state of the application running on the first server is taken over by the application already started on the second server; a timing control step in which the control device controls the timing of execution of the second migration based on the calculation result of the required time by the required time calculation step; and a second control step in which the second migration is executed at a timing controlled by the timing control step.

Citation Information

Patent Citations

  • Scheduling program, scheduling method, and scheduling device

    JP2020071779A

  • Method and system for application migration in a cloud

    US20100287263A1