Edge terminal, system, and data processing method
Patent Information
- Application Number
- JP2025527454
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Priority Date
- 2023-06-21
- Filing Date
- 2024-02-27
- Publication Date
- 2024-12-26
AI Technical Summary
Edge terminals equipped with machine-learned models face resource constraints during software updates, leading to potential service disruptions as they may run out of computational resources, especially when continuously monitoring targets like cameras, causing data processing to be temporarily halted.
The system employs a second edge terminal to perform alternative processing of acquired data, allowing the first edge terminal to request and receive processed data from the second terminal, thereby alleviating resource shortages during updates and ensuring continuous data processing.
This approach enables seamless software updates in edge terminals without interrupting data processing, ensuring continuous operation and reducing the load on cloud-side systems by distributing data processing tasks effectively between edge terminals.
Abstract
Description
Edge terminal, system and data processing method
[0001] The present disclosure relates to an edge terminal, a system, and a data processing method.
[0002] In recent years, edge devices equipped with machine-learned models such as AI (Artificial Intelligence) models have been widely used in various services. For example, in an edge device equipped with a sensor, a camera, or the like, acquired data is processed by an AI model within the edge device rather than by a server. This allows the server to acquire the processed data from the edge device. However, an edge device that processes data using a machine-learned model has very limited computing resources. For this reason, if software updates overlap with data processing, the edge device may run out of space to deploy the software. In this case, the edge device must temporarily stop operating. As a result, for example, when an edge device is used to continuously monitor a monitoring target 24 hours a day, it may not be possible to provide an appropriate service.
[0003] For example, Patent Document 1 discloses a software update control device that builds an operating environment after a software update in a cloud-side system and moves the operating environment before the software update in the edge-side system to the cloud-side system.
[0004] International Publication No. 2017 / 179537
[0005] However, because the device of Patent Document 1 builds an operating environment for an edge-side system in a cloud-side system, there is a risk that the amount of data processed in the cloud-side system will increase. For example, if the number of edge-side systems for which software is updated increases, the amount of data processed in the cloud-side system will also increase. In addition, the amount of data transferred between the cloud-side system and the edge-side system may also increase. There is also a risk of data congestion in the cloud-side system.
[0006] The present disclosure aims to provide an edge terminal, a system, and a data processing method that allow easy software updates.
[0007] The edge terminal of the present disclosure is an edge terminal that constitutes the first edge terminal in a system that includes a first edge terminal that includes a machine-learned model and processes acquired data, a second edge terminal that can cooperate with the first edge terminal via a network, and a server that can cooperate with the first edge terminal and the second edge terminal via a network, and is equipped with a receiving unit that receives update information for specific software, and a processing request unit that, upon receiving the update information, requests the second edge terminal to perform alternative processing of the acquired data using the machine-learned model in the second edge terminal.
[0008] The system of the present disclosure comprises the first edge terminal, the second edge terminal, and the server described above, and the second edge terminal has an alternative processing unit that performs alternative processing of the acquired data based on the request received from the first edge terminal, and a transfer unit that transfers the alternatively processed processed data to the server.
[0009] The data processing method disclosed herein is a data processing method in a system including a first edge terminal that processes acquired data, the first edge terminal including a machine-learned model, a second edge terminal that can connect with the first edge terminal via a network, and a server that can connect with the first edge terminal and the second edge terminal via a network, in which the first edge terminal processes the acquired data, the data processing method including receiving update information for specific software, and upon receiving the update information, requesting the second edge terminal to perform alternative processing of the acquired data using the machine-learned model in the second edge terminal.
[0010] According to the present disclosure, software can be easily updated.
[0011] FIG. 1 is a diagram illustrating an overview of the first embodiment. FIG. 2 is a block diagram illustrating the functional configuration of a first edge terminal in the first embodiment. FIG. 3 is a block diagram illustrating the functional configuration of a second edge terminal in the first embodiment. FIG. 4 is a block diagram illustrating the hardware configuration of the first edge terminal in the first embodiment. FIG. 5 is a block diagram illustrating the software configuration of the first edge terminal in the first embodiment. FIG. 6 is a flowchart illustrating a method for processing acquired data by the first edge terminal in the first embodiment. FIG. 7 is a diagram illustrating a flow of processing acquired data by the first edge terminal in the first embodiment. FIG. 8 is a diagram illustrating a flow of alternative processing requested by the first edge terminal to the second edge terminal in the first embodiment. FIG. 9 is a flowchart illustrating a method for processing acquired data by the second edge terminal in the first embodiment. FIG. 10 is a diagram illustrating a flow of alternative processing requested by the first edge terminal to the second edge terminal in a modified example of the first embodiment. FIG. 11 is a diagram illustrating a collaboration module activated in the same layer as the engine unit in the second embodiment. FIG. 12 is a diagram illustrating a collaboration module activated in the same layer as the operating system in the third embodiment. FIG. 13 is a block diagram illustrating the software configurations of the first edge terminal and the second edge terminal in the fourth embodiment.
[0012] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
[0013] (Embodiment 1) An overview of the present disclosure will be described. For example, as shown in FIG. 1 , consider a case where edge terminal 1 and edge terminal 2 are placed at a monitoring target M and acquire data from the monitoring target M. Here, edge terminals 1 and 2 may be configured, for example, with cameras. That is, edge terminals 1 and 2 capture images of monitoring target M and acquire the captured image data. Then, upon acquiring the data, edge terminals 1 and 2 process the acquired data using a pre-installed machine learning model and transmit the processed data to server 3. At this time, when update information is transmitted from server 3, edge terminal 1 may temporarily experience a shortage of computing resources.
[0014] Therefore, in the present disclosure, when the edge terminal 1 receives update information, it requests the edge terminal 2 to perform alternative processing of the acquired data. Upon receiving the request for alternative processing, the edge terminal 2 performs alternative processing of the acquired data based on the request. Then, the edge terminal 2 transmits the substituted acquired data to the server 3.
[0015] Next, a detailed description will be given of the configuration of the edge terminal 1. As shown in Fig. 2, the edge terminal 1 has an acquisition unit 4, a data processing unit 5, a receiving unit 6, and a processing request unit 7. The edge terminal 1 is connected to the edge terminal 2 and the server 3 via a network so as to be able to cooperate with each other.
[0016] The acquisition unit 4 acquires data and may be composed of sensors such as a camera, a thermometer, a barometer, an accelerometer, a pressure gauge, or a gas detector. For example, the acquisition unit 4 may acquire photographic data of a monitoring target M on which the edge terminal 1 is installed. Furthermore, the edge terminal 1 may be provided with a plurality of acquisition units 4.
[0017] The data processing unit 5 processes the acquired data acquired by the acquisition unit 4. Here, the data processing unit 5 may include a machine-learned model trained for a specific task (e.g., object detection, anomaly detection, danger detection, etc.). For example, the machine-learned model may output processed data that determines the risk of the worker's behavior in response to input of acquired data that captures an image of a worker working at the monitoring target M. The data processing unit 5 may then transmit the processed data to the server 3. Note that examples of the acquired data include captured images, temperature, air pressure, acceleration, pressure, and type of gas.
[0018] The receiving unit 6 receives update information for specific software installed in the edge terminal 1 from the server 3. The receiving unit 6 may be configured, for example, by a communication device that communicates with the edge terminal 2 and the server 3 via a network.
[0019] When the processing request unit 7 receives the update information, it requests the edge terminal 2 to perform alternative processing of the acquired data using the machine-learned model in the edge terminal 2. Here, it is assumed that the edge terminal 2 has a machine-learned model that has the same data processing function as the edge terminal 1. For example, in response to receiving the update information, the processing request unit 7 may temporarily stop processing the acquired data using the machine-learned model. Then, the processing request unit 7 may request the edge terminal 2 to process the acquired data while it is being updated.
[0020] Here, the request for alternative processing includes processing information for the acquired data, and may include, for example, the processing procedure for the acquired data, resource information required for processing the acquired data, and the like.
[0021] Next, the configuration of the edge terminal 2 will be described in detail. As shown in Fig. 3, the edge terminal 2 has an acquisition unit 8, a data processing unit 9, an alternative processing unit 10, and a transfer unit 11. The edge terminal 2 is connected to the edge terminal 1 and the server 3 via a network so that they can cooperate with each other. Note that the acquisition unit 8 and the data processing unit 9 have the same configuration as the acquisition unit 4 and the data processing unit 5 of the edge terminal 1, and therefore their description will be omitted.
[0022] The alternative processing unit 10 performs alternative processing on the acquired data acquired by the edge terminal 1, based on the request for alternative processing received from the edge terminal 1. For example, based on the request for alternative processing, the alternative processing unit 10 may input the acquired data to a machine-learned model having data processing functions equivalent to those of the machine-learned model of the edge terminal 1, and acquire the processing results as processed data.
[0023] The transfer unit 11 transfers the processing data that has been subjected to the alternative processing to the server 3. At this time, the transfer unit 11 may transfer the processing data directly to the server 3. Alternatively, the transfer unit 11 may transfer the processing data to the server 3 via the edge terminal 1.
[0024] The edge terminal 1 may further include the alternative processing unit 10 and transfer unit 11 of the edge terminal 2. Similarly, the edge terminal 2 may further include the receiving unit 6 and processing request unit 7 of the edge terminal 1. In other words, the edge terminal 1 and the edge terminal 2 may have the same configuration.
[0025] The server 3 manages the edge terminals 1 and 2. For example, the server 3 may aggregate and manage processing data transmitted from the edge terminals 1 and 2. The server 3 may also monitor the status of the edge terminals 1 and 2. The server 3 may also provide monitoring results to a user who uses the edge terminal 1 (for example, an administrator of the monitoring target M) based on the processing data. In this way, the server 3 may be configured from a cloud such as an IoT (Internet of Things) platform.
[0026] Next, a detailed description will be given of the hardware configuration of the edge terminal 1. For example, as shown in Fig. 4, the edge terminal 1 may include a storage device 12, a processor 13, an acquisition unit 4, and a network interface 15, which are interconnected via a bus B.
[0027] The programs or instructions for realizing the various functions and processes of the edge terminal 1 may be downloaded from any external device via a network, etc. Also, the programs or instructions for realizing the various functions and processes of the edge terminal 1 may be provided from a removable storage medium such as a CD-ROM (Compact Disk-Read Only Memory) or flash memory.
[0028] The storage device 12 may be implemented by one or more non-transitory storage media, such as random access memory, flash memory, or a storage device (e.g., a hard disk drive), and may store installed programs or instructions, as well as files or data used in the execution of the programs or instructions.
[0029] The processor 13 may be realized by one or more central processing units (CPUs), which may be configured with one or more processor cores, graphics processing units (GPUs), processing circuitry, etc. The processor 13 executes various functions and processes of the edge terminal 1 in accordance with data such as programs, instructions, programs, or parameters (e.g., parameters required to execute instructions) stored in the storage device 12.
[0030] The acquisition unit 4 may be configured with sensors such as a camera, a thermometer, a barometer, an accelerometer, a pressure gauge, or a gas detector. For example, the acquisition unit 4 may be provided with a camera and another sensor (e.g., a thermometer).
[0031] The network interface 15 is an interface for communicating with an external device via a wired or wireless network.
[0032] The above-described hardware configuration is merely an example, and the edge terminal 1 according to the present disclosure may be realized by any other appropriate hardware configuration. Furthermore, the edge terminal 2 has the same hardware configuration as the edge terminal 1, and therefore a description thereof will be omitted.
[0033] Next, a detailed description will be given of the software configuration of the edge terminal 1. For example, as shown in Fig. 5, the edge terminal 1 may have a physical layer 16, an operating system (OS) 17, an engine unit 18, and containers 19 to 21. The physical layer 16, the operating system (OS) 17, the engine unit 18, and the containers 19 to 21 have a hierarchical structure stacked in order, and constitute layers 14a to 14d.
[0034] The physical layer 16 performs data transmission and reception, and may perform, for example, modulation, demodulation, encoding, decoding, analog-to-digital (AD) conversion, or digital-to-analog (DA) conversion.
[0035] The operating system 17 is a host OS that runs the engine unit 18, and is deployed on the physical layer 16. For example, the operating system 17 may manage drivers that allow the engine unit 18 to operate the edge terminal 1 in a general-purpose manner.
[0036] The engine unit 18 runs the containers 19 to 21 on a common operating system 17. For example, the engine unit 18 may form a virtual network and establish communication between the containers 19 to 21 via the virtual network. At this time, the engine unit 18 may manage the exchange of data between the containers 19 to 21. Note that the containers are not limited to being made up of three containers 19 to 21, as long as they include the machine-learned model 24. In other words, the engine unit 18 is not limited to being one that runs three containers 19 to 21.
[0037] The container 19 is configured by packaging a user application 22 and a library / middleware 23a. The user application 22 preprocesses data to be input into the machine-learned model of the container 20. The user application 22 may also process data based on settings customized by a user (e.g., an administrator of the monitoring target M) who uses the edge terminal 1. The library / middleware 23a is used to run the user application 22 and may include some of the functions of the operating system 17. For example, the library / middleware 23a may include a basic command set or a file system of the operating system 17.
[0038] The container 20 is configured by packaging a machine-learned model 24 and a library / middleware 23b. The machine-learned model 24 is a model trained for a specific task (e.g., object detection, anomaly detection, risk detection, etc.) and processes acquired data acquired by the acquisition unit 4. The machine-learned model 24 may be configured, for example, as an AI (Artificial Intelligence) model. For example, the machine-learned model 24 may determine the input acquired data using AI logic and output the determination result. The library / middleware 23b is used to operate the machine-learned model 24 and may include some of the functions of the operating system 17, similar to the library / middleware 23a.
[0039] The container 21 is configured by packaging an agent application 25 and a library / middleware 23c. The agent application 25 may include a module that controls communication between the edge terminal 1 and the server 3. The library / middleware 23c is used to run the agent application 25, and may include some of the functions of the operating system 17, similar to the library / middleware 23a.
[0040] Next, the processing of acquired data by the edge terminal 1 will be described with reference to the flowchart shown in FIG.
[0041] First, the acquisition unit 4 of the edge terminal 1 shown in Fig. 2 acquires data (S1). For example, the edge terminal 1 is configured with a camera installed at a monitored object M such as a factory. In this case, the edge terminal 1 may be equipped with other sensors such as a thermometer. The acquisition unit 4 may, for example, capture images of a worker working at the monitored object M and sequentially acquire the image data. Alternatively, the acquisition unit 4 may measure the temperature of the environment in which the worker works at the monitored object M and sequentially acquire the temperature data. The acquisition unit 4 outputs this first acquired data to the data processing unit 5.
[0042] When the data processing unit 5 receives the first obtained data from the obtaining unit 4, it determines whether or not update information has been received from the server 3 (S2). If it determines that update information has not been received, the data processing unit 5 processes the first obtained data based on a predetermined processing method (S3).
[0043] For example, as shown in FIG. 7 , the first acquired data acquired by the acquisition unit 4 may be input to the user application 22 of the container 19 via the physical layer 16, the operating system 17, and the engine unit 18. The user application 22 preprocesses the input first acquired data so that it can be processed by the machine-learned model 24. The preprocessed first acquired data is then input to the machine-learned model 24. When the preprocessed first acquired data is input, the machine-learned model 24 outputs a processing result corresponding to the first acquired data. For example, when image data capturing a worker performing work is input, the machine-learned model 24 may output a determination result indicating the risk of the worker's work. Furthermore, when temperature data of the environment in which the worker works is input, the machine-learned model 24 may output a determination result indicating the risk of the worker working at that temperature.
[0044] Once the first acquired data has been processed in this manner, the agent application 25 of the container 21 sequentially transmits the first processed data to the server 3 via the engine unit 18, the operating system 17, and the physical layer 16 (S4). As a result, the first processed data is transmitted from the network interface 15 to the server 3. At this time, the agent application 25 may transmit processing information indicating that the first processed data has been processed by the edge terminal 1 to the server 3 together with the first processed data. For example, the agent application 25 may add the processing information (e.g., version information and identification information of the edge terminal 1 or the processing module) to the first processed data as metadata.
[0045] On the other hand, if it is determined in step S2 that update information has been received, the processing request unit 7 requests another edge terminal 2 to perform alternative processing of the first acquired data (S5). For example, when the server 3 updates a specific application installed in the edge terminal 1, it transmits the update information to the edge terminal 1. Examples of update information include information for adding functions to the specific application, information for correcting a defect in the specific application, and information for improving the security of the specific application. Thus, when the receiving unit 6 of the edge terminal 1 receives the update information for the specific application, the data processing unit 5 determines that the update information has been received. In this case, the edge terminal 1 updates the specific application while processing the first acquired data, which may result in a shortage of memory space. Therefore, when the data processing unit 5 determines that the update information has been received, it outputs the first acquired data and the update information to the processing request unit 7.
[0046] The data processing unit 5 may calculate resources to be used in the update based on the update information. For example, the data processing unit 5 may calculate storage capacity, work memory capacity, whether or not a reboot is necessary, etc. Then, when the data processing unit 5 determines that there is insufficient area to expand the update information, it may output the first acquisition data and the update information to the processing request unit 7. Furthermore, the edge terminal 1 may acquire resource information to be used in the update from the server 3 together with the update information. In this way, the data processing unit 5 can determine whether there is insufficient area to expand the update information without calculating the resources to be used in the update.
[0047] Here, the update information is assumed to update a specific application included in the containers 19 to 21. For example, the update information may be information that updates the machine-learned model 24 of the container 20 in the container environment.
[0048] Then, when the processing request unit 7 receives the first acquired data and the update information, it requests the edge terminal 2 to perform alternative processing of the first acquired data using the machine-learned model 24 in the edge terminal 2. This ensures that resources to be used for the update are available, allowing the data processing unit 5 to easily update the machine-learned model 24.
[0049] At this time, the processing request unit 7 may launch the collaboration module in a layer corresponding to the specific software to be updated, based on the update information. That is, the processing request unit 7 may launch the collaboration module in the same layer as the specific software or in a lower layer. For example, as shown in FIG. 8 , the processing request unit 7 may launch a container 27 including the collaboration module 26 in the same layer 14d as the machine-learned model 24 to be updated. At this time, the processing request unit 7 launches the collaboration module 26 so as to process the first acquired data before the machine-learned model 24. For example, the processing request unit 7 may launch the collaboration module 26 so as to process the first acquired data after the user application 22.
[0050] As a result, the first acquired data preprocessed by the user application 22 is input to the collaboration module 26. Here, the collaboration module 26 collaborates with another edge terminal 2 having processing functions equivalent to those of the edge terminal 1, and transmits the first acquired data on layer 14d to the edge terminal 2. For example, the collaboration module 26 may include a network function for collaborating with the edge terminal 2, or unique information and operating functions of the edge terminal 1, such as identification information of the edge terminal 1. For example, the collaboration module 26 may include a routing application that transfers the first acquired data to the edge terminal 2. In this way, the collaboration module 26 can operate with relatively small resources, such as for transmitting the first acquired data, and therefore can reliably update the machine-learned model 24.
[0051] Specifically, when the cooperation module 26 is activated in layer 14d, it searches for other edge terminals 2 that have processing functions equivalent to those of the edge terminal 1. For example, address information of other edge terminals 2 may be registered in advance in the cooperation module 26. The cooperation module 26 may search for the edge terminal 2 based on the address information that has been registered in advance.
[0052] When the collaboration module 26 identifies the edge terminal 2, it rearranges the order of processing of the first acquired data (e.g., the order of pipeline processing). For example, the collaboration module 26 may rearrange the order of processing of the first acquired data so that the processing after the machine-learned model 24 (processing after the user application 22) is performed by the edge terminal 2. Then, the collaboration module 26 requests the edge terminal 2 to perform alternative processing after the machine-learned model 24.
[0053] Next, the processing of acquired data by the edge terminal 2 will be described with reference to the flowchart shown in FIG.
[0054] 3 acquires data (S21), similarly to the acquisition unit 4 of the edge terminal 1. The edge terminal 2 may be provided in the same monitoring target M as the edge terminal 1. The acquisition unit 8 outputs the acquired second acquired data to the data processing unit 9.
[0055] Here, the data processing unit 9 determines whether a request for alternative processing of the first acquired data has been received from another edge terminal 1 (S22). If the data processing unit 9 determines that a request for alternative processing has not been received, it processes the second acquired data based on a predetermined processing method (S23). For example, similar to the edge terminal 1 shown in FIG. 7 , the data processing unit 9 may process the second acquired data sequentially acquired by the acquisition unit 8 using the machine-learned model 24. Note that the processing procedure for the second acquired data is the same as that of the edge terminal 1, and therefore description thereof will be omitted. After the second acquired data has been processed, the edge terminal 2 transmits the second processed data to the server 3 (S24).
[0056] On the other hand, if it is determined in step S22 that a request for alternative processing has been received, the data processing unit 9 processes the second acquired data, while the alternative processing unit 10 performs alternative processing of the first acquired data (S25). For example, when the alternative processing unit 10 receives a request for alternative processing from the edge terminal 1, it may determine whether alternative processing is possible based on the request. The alternative processing unit 10 may determine whether alternative processing is possible based on, for example, the resources used in the alternative processing. If the alternative processing unit 10 determines that alternative processing is not possible, it sends a response to the edge terminal 1 indicating that it cannot take on the alternative processing. If the cooperation module 26 of the edge terminal 1 receives a response indicating that it cannot take on the alternative processing, it may again search for another edge terminal having processing capabilities equivalent to that of the edge terminal 1.
[0057] Furthermore, if the alternative processing unit 10 determines that alternative processing is possible, it establishes a mode for undertaking alternative processing based on the processing procedure of the first acquired data and transmits a response indicating that alternative processing can be undertaken to the edge terminal 1. If the collaboration module 26 of the edge terminal 1 receives the response indicating that it can undertake the processing, it sequentially transmits the first acquired data on the activated layer 14d to the edge terminal 2. At this time, the collaboration module 26 is activated to process the first acquired data before the machine-learned model 24. Therefore, after being preprocessed in the user application 22, the first acquired data is transmitted to the edge terminal 2 without being processed by the machine-learned model 24.
[0058] In this way, the collaboration module 26 is activated on the layer 14d of the machine-learned model 24 to be updated, and transmits the first acquired data on the activated layer 14d to the edge terminal 2. This allows the processing request unit 7 of the edge terminal 1 to transmit the first acquired data to the edge terminal 2 before it is processed in the layer 14d to be updated.
[0059] Here, the data processing unit 5 of the edge terminal 1 may start updating the machine-learned model 24 based on the update information after starting to transmit the first obtained data to the edge terminal 2. By transmitting this first obtained data, resources to be used for the update are secured, allowing the data processing unit 5 to more easily update the machine-learned model 24.
[0060] Meanwhile, the edge terminal 2 receives the first acquired data transmitted from the edge terminal 1. Then, the alternative processing unit 10 inputs the first acquired data to the machine-learned model 24 of the container 20 via the physical layer 16, the operating system 17, and the engine unit 18, based on the processing procedure included in the request for alternative processing. That is, the alternative processing unit 10 inputs the first acquired data to the machine-learned model 24 without going through the user application 22 of the edge terminal 2. As a result, the machine-learned model 24 outputs the same processing result as the machine-learned model 24 of the edge terminal 1, and sequentially performs alternative processing on the first acquired data.
[0061] In this way, when updating the container environment of the edge terminal 1, the processing request unit 7 of the edge terminal 1 transmits the first acquired data to be processed in the container environment of the edge terminal 2, instead of the container environment of the edge terminal 1. This allows the edge terminal 2 to appropriately substitute the first acquired data with the machine-learned model 24, for example, based on the processing procedure included in the request for substitute processing.
[0062] The processing request unit 7 may temporarily increase the amount of data processing when receiving a request for alternative processing from the edge terminal 1. For example, the processing request unit 7 may increase the processing speed of the CPU by clock-up processing.
[0063] When the machine-learned model 24 performs alternative processing on the first acquired data, it outputs the first processed data to the agent application 25 of the container 21. Furthermore, when the machine-learned model 24 processes the second acquired data acquired by the acquisition unit 8 of the edge terminal 2, it outputs the second processed data to the agent application 25.
[0064] Next, the agent application 25 transmits the first processing data to the server 3 via the engine unit 18, the operating system 17, and the physical layer 16 based on the processing procedure included in the request for alternative processing (S26). At this time, the agent application 25 may transmit processing information indicating that the first acquired data acquired by the edge terminal 1 has been alternatively processed by the edge terminal 2, together with the first processing data to the server 3. For example, the agent application 25 may add the processing information (e.g., version information, identification information, etc. of the edge terminal 1 or the processing module) to the first processing data as metadata.
[0065] Furthermore, the agent application 25 transmits second processed data, which is obtained by processing the second acquired data using the machine-learned model 24, to the server 3 via the engine unit 18, the operating system 17, and the physical layer 16. At this time, the agent application 25 may transmit processing information indicating that the acquired data acquired by the edge terminal 2 has been processed by the edge terminal 2, together with the second processed data to the server 3.
[0066] Upon receiving the first processed data and the second processed data, the server 3 stores the data in a storage unit. The server 3 may then provide monitoring results to the administrator of the monitoring target M based on the first processed data and the second processed data. For example, if the server 3 determines that the worker's work is dangerous based on the first processed data or the second processed data, the server 3 may transmit the determination result to the administrator's terminal. In this case, even if the software of the edge terminal 1 is updated, the server 3 can continuously acquire the first processed data through alternative processing by the edge terminal 2. Therefore, the server 3 can provide monitoring results to the administrator without interrupting monitoring of the monitoring target M.
[0067] Furthermore, an update to the edge terminal 1 may affect the substitution processing of the edge terminal 2. For example, an update that changes the judgment accuracy of the machine-learned model 24 or increases the number of judgment types may affect the substitution processing of the edge terminal 2. In this case, the server 3 may determine whether the processed data was processed before or after the update. Therefore, the server 3 can reliably determine the processing timing of the second processed data based on the processing information indicating that substitution processing was performed by the edge terminal 2.
[0068] Meanwhile, when the update of the machine-learned model 24 is completed, the data processing unit 5 of the edge terminal 1 stops sending the first acquired data and sends a request to end the substitution process to the edge terminal 2. This causes the substitution processing unit 10 of the edge terminal 2 to stop the substitution process of the first acquired data. In addition, the data processing unit 5 of the edge terminal 1 inputs the first acquired data acquired by the acquisition unit 4 to the machine-learned model 24 of the edge terminal 1. This switches the edge terminal 1 to the normal processing mode.
[0069] In the present embodiment, the processing request unit 7 requests the edge terminal 2 to transmit the first processing data that has been alternatively processed by the edge terminal 2 to the server 3. However, the present invention is not limited to this, as long as the edge terminal 2 can perform the alternative processing. For example, the processing request unit 7 may request the edge terminal 2 to transmit the first processing data that has been alternatively processed by the edge terminal 2 to the edge terminal 1. For example, as shown in FIG. 10 , the processing request unit 7 may request the edge terminal 2 to transmit the first processing data that has been processed by the machine-learned model 24 to be updated to the edge terminal 1. As a result, the alternative processing unit 10 of the edge terminal 2 performs alternative processing of the first acquired data by the machine-learned model 24, and then transmits the first processing data to the edge terminal 1 via the engine unit 18, the operating system 17, and the physical layer 16. When the data processing unit 5 of the edge terminal 1 receives the first processing data, it inputs the first processing data to the agent application 25 of the container 21 via the engine unit 18, the operating system 17, and the physical layer 16. The agent application 25 may then transmit the first processing data to the server 3 via the engine unit 18, the operating system 17, and the physical layer 16.
[0070] According to this embodiment, the receiving unit 6 receives update information for a specific application. Then, the processing request unit 7 requests the edge terminal 2 to perform alternative processing of the first obtained data using the machine-learned model 24 in the edge terminal 2. This ensures that resources to be used for the update are available, making it easy to update the specific application.
[0071] (Embodiment 2) Hereinafter, embodiment 2 of the present disclosure will be described. Here, differences from embodiment 1 above will be mainly described, and common reference numerals will be used for common features with embodiment 1 above, and detailed description thereof will be omitted.
[0072] In the first embodiment described above, the processing request unit 7 of the edge terminal 1 invokes the linking module 26 in layer 14d of the machine-learned model 24. However, the present invention is not limited to this and may invoke the linking module 26 in any layer corresponding to the specific software to be updated. In the second embodiment, when the processing request unit 7 receives update information for updating the engine unit 18, the processing request unit 7 invokes the linking module 26 in the same layer 14c as the engine unit 18. As a result, the processing request unit 7 transmits the first acquired data to the edge terminal 2 before inputting the data to the engine unit 18.
[0073] First, as in the first embodiment, when it is determined that the edge terminal 1 has received update information (S2), the processing request unit 7 starts the linking module 26 in a layer corresponding to the specific application to be updated. Here, it is assumed that the server 3 has transmitted update information for updating the engine unit 18 to the edge terminal 1. That is, the operation of the engine unit 18 and the containers 19 to 21 is stopped by the update. When the processing request unit 7 receives update information for updating the engine unit 18 that runs the container environment, it may start the linking module 26 in the same layer 14c as the engine unit 18, as shown in FIG. 11 . At this time, the processing request unit 7 starts the linking module 26 so that it processes the first acquired data before the engine unit 18. That is, the linking module 26 functions in place of the engine unit 18. As a result, the first acquired data acquired by the acquisition unit 4 is input to the linking module 26 via the physical layer 16 and the operating system 17.
[0074] When the cooperation module 26 receives the first acquired data, it establishes cooperation with the edge terminal 2 and requests the edge terminal 2 to perform substitution processing on the containers 19 to 21. When the data processing unit 9 of the edge terminal 2 determines that it has received the substitution processing request (S22), the substitution processing unit 10 accepts the substitution processing of the first acquired data. As a result, the processing request unit 7 of the edge terminal 1 transmits the first acquired data to the edge terminal 2 via the cooperation module 26 before inputting the data to the engine unit 18. In this way, the processing request unit 7 can appropriately transmit the first acquired data to the edge terminal 2 in accordance with updates to the engine unit 18. When the substitution processing unit 10 of the edge terminal 2 receives the first acquired data, it performs substitution processing on the first acquired data (S25).
[0075] At this time, the alternative processing unit 10 inputs the first acquired data to the user application 22 of the container 19 via the physical layer 16, the operating system 17, and the engine unit 18, based on the processing procedure included in the alternative processing request. The user application 22 preprocesses the input first acquired data. The machine-learned model 24 then performs alternative processing on the preprocessed first acquired data. After the alternative processing of the first acquired data has been completed, the agent application 25 transmits the first processed data to the server 3 via the engine unit 18, the operating system 17, and the physical layer 16 (S26).
[0076] According to this embodiment, when the processing request unit 7 receives update information for updating the engine unit 18 that runs the container environment including the machine-learned model 24, the processing request unit 7 transmits the first acquired data to the edge terminal 2 before inputting the data to the engine unit 18. This allows the processing request unit 7 to appropriately transmit the first acquired data to the edge terminal 2 in accordance with the update of the engine unit 18.
[0077] (Embodiment 3) Hereinafter, embodiment 3 of the present disclosure will be described. Here, differences from the above-described embodiments 1 and 2 will be mainly described, and common reference numerals will be used for common features with the above-described embodiments 1 and 2, and detailed description thereof will be omitted.
[0078] In the third embodiment, when the processing request unit 7 receives update information for updating the operating system 17, the processing request unit 7 starts up the link module 26 in the same layer 14b as the operating system 17. As a result, the processing request unit 7 transmits the first obtained data to the edge terminal 2 before inputting the first obtained data to the operating system 17.
[0079] First, as in the first embodiment, when it is determined that the edge terminal 1 has received update information (S2), the processing request unit 7 starts the linking module 26 in a layer corresponding to the specific application to be updated. Here, it is assumed that the server 3 has transmitted update information for updating the operating system 17 to the edge terminal 1. As a result, the operation of the operating system 17, the engine unit 18, and the containers 19 to 21 is stopped due to the update. When the processing request unit 7 receives update information for updating the operating system 17, it may start the linking module 26 in the same layer 14a as the operating system 17, as shown in FIG. 12 . At this time, the processing request unit 7 starts the linking module 26 so that it processes the first acquired data before the operating system 17. As a result, the first acquired data acquired by the acquisition unit 4 is input to the linking module 26 via the physical layer 16. Note that the linking module 26 may have unique information and operating functions of the edge terminal 1, such as a driver for the acquisition unit 4 (e.g., a sensor) in the operating system 17, a network function for linking with the edge terminal 2, and identification information of the edge terminal 1.
[0080] When the first acquisition data is input, the cooperation module 26 establishes cooperation with the edge terminal 2 and requests the edge terminal 2 to perform substitution processing of the containers 19 to 21. Then, when the data processing unit 9 of the edge terminal 2 determines that the substitution processing request has been received (S22), the substitution processing unit 10 accepts the substitution processing of the first acquisition data. As a result, the processing request unit 7 of the edge terminal 1 transmits the first acquisition data to the edge terminal 2 via the cooperation module 26 before inputting the data to the operating system 17. In this way, the processing request unit 7 can appropriately transmit the first acquisition data to the edge terminal 2 in accordance with updates to the operating system 17. When the substitution processing unit 10 of the edge terminal 2 receives the first acquisition data, it performs substitution processing on the first acquisition data (S25). Then, the substitution processing unit 10 transmits the substituted first processing data to the server 3 (S26).
[0081] According to this embodiment, when the processing request unit 7 receives update information for updating the operating system 17, it transmits the first acquired data to the edge terminal 2 before inputting the data into the operating system 17. This allows the processing request unit 7 to appropriately transmit the first acquired data to the edge terminal 2 in accordance with the update of the operating system 17.
[0082] (Embodiment 4) Hereinafter, embodiment 4 of the present disclosure will be described. Here, the differences from the above-mentioned embodiments 1 to 3 will be mainly described, and common reference numerals will be used for common features with the above-mentioned embodiments 1 to 3, and detailed description thereof will be omitted.
[0083] In the above-described first to third embodiments, the machine-learned model 24 of the edge terminals 1 and 2 processes the acquired data in a container environment. However, the present invention is not limited to this as long as the acquired data can be processed. In a fourth embodiment, for example, the machine-learned model 24 of the edge terminals 1 and 2 may process the acquired data in a virtual environment. The processing request unit 7 of the edge terminal 1 may then receive update information for updating the virtual environment including the machine-learned model 24. In this case, the processing request unit 7 may transmit the first acquired data to the edge terminal 2 so that the first acquired data is processed in the virtual environment including the machine-learned model 24 of the edge terminal 2, instead of the virtual environment of the edge terminal 1.
[0084] 13, the edge terminals 1 and 2 may be provided with virtualization software 28 instead of the engine unit 18 in the first to third embodiments. Also, the edge terminals 1 and 2 may be provided with operating systems 29a to 29c instead of the containers 19 to 21.
[0085] The virtualization software 28 virtually realizes a physical server on which the operating systems 29 a to 29 c run, and constructs an operating environment for the operating systems 29 a to 29 c. For example, the virtualization software 28 may start up each of the operating systems 29 a to 29 c under the control of the operating system 17.
[0086] The operating systems 29a to 29c function as guest OSs relative to the host OS operating system 17. For example, the operating systems 29a to 29c may manage the operating environments of the user application 22, the machine-learned model 24, and the agent application 25, respectively.
[0087] For example, when the processing request unit 7 receives update information for updating a virtual environment including the machine-learned model 24, it activates the collaboration module 26 in the same layer 14d as the virtual environment. Here, it is assumed that the server 3 has transmitted update information for updating the machine-learned model 24 to the edge terminal 1. When the processing request unit 7 receives update information for updating the machine-learned model 24, it activates the collaboration module 26 so as to process the first acquired data before the machine-learned model 24. As a result, the first acquired data is preprocessed in the user application 22 and then transmitted to the edge terminal 2 without being processed by the machine-learned model 24. In other words, the processing request unit 7 transmits the first acquired data to be processed in the virtual environment including the machine-learned model 24 of the edge terminal 2, instead of the virtual environment of the edge terminal 1. Therefore, the edge terminal 2 can appropriately substitute the first acquired data with the machine-learned model 24, for example, based on a processing procedure included in the request for substitute processing.
[0088] According to this embodiment, the receiving unit 6 receives update information for updating the virtual environment including the machine-learned model 24. In this case, the processing requesting unit 7 transmits the first acquired data to the edge terminal 2 so that the first acquired data is processed in the virtual environment including the machine-learned model 24 of the edge terminal 2, instead of the virtual environment of the edge terminal 1. This allows the processing requesting unit 7 to appropriately substitute the first acquired data with the machine-learned model 24, for example, based on the processing procedure included in the request for substitute processing.
[0089] Although specific examples of the present disclosure have been described in detail above, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and alterations of the specific examples exemplified above.
[0090] This application is based on a Japanese patent application (Patent Application No. 2023-101718) filed on June 21, 2023, the contents of which are incorporated herein by reference.
[0091] The edge terminal according to the present disclosure can be used as a terminal that processes acquired data using a machine-learned model.
[0092] 1, 2 Edge terminal 3 Server 4, 8 Acquisition unit 5, 9 Data processing unit 6 Reception unit 7 Processing request unit 10 Alternative processing unit 11 Transfer unit 12 Storage device 13 Processor 14a to 14d Layer 15 Network interface 16 Physical layer 17 Operating system 18 Engine unit 19, 20, 21, 27 Container 22 User application 23a to 23c Library / middleware 24 Machine-learned model 25 Agent application 26 Collaboration module 28 Virtualization software 29a to 29c Operating system
Claims
1. An edge terminal constituting the first edge terminal in a system including a first edge terminal including a machine-learned model and processing acquired data, a second edge terminal capable of linking with the first edge terminal via a network, and a server capable of linking with the first edge terminal and the second edge terminal via a network, the edge terminal comprising: a receiving unit that receives update information for specific software; and a processing request unit that, upon receiving the update information, requests the second edge terminal to perform alternative processing of the acquired data using the machine-learned model in the second edge terminal.
2. The edge terminal of claim 1, wherein the processing request unit launches a linkage module on a specific layer corresponding to the specific software to be updated based on the update information, and the linkage module transmits the acquired data on the specific layer to the second edge terminal.
3. The edge terminal of claim 2, wherein when the processing request unit receives update information for updating a container environment or virtual environment including the machine-learned model, the processing request unit transmits the acquired data to the second edge terminal so that the acquired data is processed in a container environment or virtual environment including the machine-learned model of the second edge terminal instead of the container environment or virtual environment of the first edge terminal.
4. The edge terminal of claim 2, wherein when the processing request unit receives update information for updating an engine unit that operates a container environment or a virtual environment including the machine-learned model, the processing request unit transmits the acquired data to the second edge terminal before inputting the acquired data to the engine unit.
5. The edge terminal according to claim 2, wherein when the processing request unit receives the update information for updating an operating system, the processing request unit transmits the acquired data to the second edge terminal before inputting the acquired data into the operating system.
6. A system comprising the first edge terminal, the second edge terminal, and the server described in claim 1, wherein the second edge terminal has an alternative processing unit that performs alternative processing on the acquired data based on the request received from the first edge terminal, and a transfer unit that transfers the alternatively processed processed data to the server.
7. The system according to claim 6, wherein the transfer unit transmits processing information indicating that the processing has been performed alternatively at the second edge terminal to the server together with the processing data.
8. The system according to claim 6, wherein the alternative processing unit temporarily increases an amount of data processing when the request is received from the first edge terminal.
9. A data processing method executed by a computer in a system including a first edge terminal that includes a machine-learned model and processes acquired data, a second edge terminal that can cooperate with the first edge terminal via a network, and a server that can cooperate with the first edge terminal and the second edge terminal via a network, in which the first edge terminal processes the acquired data, the method including: receiving update information for specific software; and, upon receiving the update information, requesting the second edge terminal to perform alternative processing of the acquired data using the machine-learned model in the second edge terminal.
