WO2018100678A1 - コンピュータシステム、エッジデバイス制御方法及びプログラム - Google Patents

コンピュータシステム、エッジデバイス制御方法及びプログラム Download PDF

Info

Publication number
WO2018100678A1
WO2018100678A1 PCT/JP2016/085565 JP2016085565W WO2018100678A1 WO 2018100678 A1 WO2018100678 A1 WO 2018100678A1 JP 2016085565 W JP2016085565 W JP 2016085565W WO 2018100678 A1 WO2018100678 A1 WO 2018100678A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
edge device
computer
data
machine learning
Prior art date
Application number
PCT/JP2016/085565
Other languages
English (en)
French (fr)
Inventor
俊二 菅谷
Original Assignee
株式会社オプティム
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社オプティム filed Critical 株式会社オプティム
Priority to JP2017545429A priority Critical patent/JP6267838B1/ja
Priority to PCT/JP2016/085565 priority patent/WO2018100678A1/ja
Priority to US15/568,852 priority patent/US10460258B2/en
Publication of WO2018100678A1 publication Critical patent/WO2018100678A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Definitions

  • the present invention relates to a computer system, an edge device control method, and a program that perform machine learning using an edge device connected to a gateway.
  • edge AI Artificial Intelligence
  • an edge computer is arranged at a position close to an edge (various sensor devices) in a conventional public line network, and necessary processing for increasing the processing speed is performed by this edge computer.
  • a configuration is disclosed in which time-consuming processes such as image analysis and machine learning are processed by another computer connected to a public network (see Non-Patent Document 1).
  • Non-Patent Document 1 it is necessary to specify data to be learned by a system builder or user in machine learning.
  • the object of the present invention is to obtain data for a predetermined machine learning (for example, teacher data) from a combination of sensor devices in a network, perform possible learning from this sensor device without the user's intention, It is an object of the present invention to provide a computer system, an edge device control method, and a program for outputting a result.
  • a predetermined machine learning for example, teacher data
  • the present invention provides the following solutions.
  • the present invention is a computer system that performs machine learning using an edge device connected to a gateway, Detecting means for detecting an edge device connected to the gateway; Combination determining means for determining a combination of the detected edge devices; Program determining means for determining an edge device program and a machine learning program based on the determined combination; Execution means for causing the edge device to execute the program for the edge device and causing a predetermined computer to execute the program for machine learning; A computer system is provided.
  • a computer system that performs machine learning using an edge device connected to a gateway detects an edge device connected to the gateway, determines a combination of the detected edge devices, and determines Based on the combination, an edge device program and a machine learning program are determined, the edge device executes the edge device program, and a predetermined computer executes the machine learning program.
  • the present invention is a computer system category, but the same operation and effect according to the category are exhibited in other categories such as an edge device control method and a program.
  • a computer system that acquires data for predetermined machine learning from a combination of sensor devices in a network, performs learning possible from the sensor device without a user's intention, and outputs the result. It is possible to provide an edge device control method and program.
  • FIG. 1 is a diagram showing an outline of the edge device control system 1.
  • FIG. 2 is an overall configuration diagram of the edge device control system 1.
  • FIG. 3 is a functional block diagram of the proposed computer 10, the edge device 100, the gateway 200, and the computer 300.
  • FIG. 4 is a flowchart showing device detection processing executed by the proposed computer 10, the edge device 100, the gateway 200, and the computer 300.
  • FIG. 5 is a flowchart showing device detection processing executed by the proposed computer 10, the edge device 100, the gateway 200, and the computer 300.
  • FIG. 6 is a flowchart showing device detection processing executed by the proposed computer 10, the edge device 100, the gateway 200, and the computer 300.
  • FIG. 7 is a flowchart showing a first machine learning process executed by the edge device 100 and the computer 300.
  • FIG. 8 is a flowchart showing a second machine learning process executed by the proposal computer 10 and the edge device 100.
  • FIG. 9 is a diagram illustrating an example of the combination database.
  • FIG. 10 is a diagram illustrating an example of a program database.
  • FIG. 11 is a diagram illustrating an example of the selection screen 400.
  • FIG. 12 is a diagram illustrating an example of the setting completion notification screen 500.
  • FIG. 1 is a diagram for explaining an outline of an edge device control system 1 which is a preferred embodiment of the present invention.
  • the edge device control system 1 includes a proposed computer 10, an edge device (network camera 100 a, sensor device 100 b, portable terminal 100 c, computer device 100 d, drone 100 e) 100, a gateway 200, and a computer 300, and is connected to the gateway 200.
  • the computer system performs machine learning using the edge device 100.
  • the numbers of the proposed computer 10, the edge device 100, the gateway 200, and the computer 300 can be changed as appropriate. Further, the type of the edge device 100 can be changed as appropriate. Further, the proposed computer 10, the edge device 100, the gateway 200, and the computer 300 are not limited to real devices, and may be virtual devices. Each process described below may be realized by any one or a combination of the proposed computer 10, the edge device 100, the gateway 200, and the computer 300.
  • the proposed computer 10 is a computer device connected to the gateway 200 and the computer 300 so that data communication is possible.
  • the edge device 100 is a terminal device connected to the gateway 200 so that data communication is possible.
  • the edge device 100 includes, for example, a network camera 100a that captures images such as moving images and still images, a sensor device 100b that acquires spatial data such as sunlight, temperature, and wind power, and environmental data such as time data, a mobile phone, and a mobile phone.
  • a network camera 100a that captures images such as moving images and still images
  • a sensor device 100b that acquires spatial data such as sunlight, temperature, and wind power
  • environmental data such as time data
  • a mobile phone and a mobile phone.
  • mobile terminals 100c and personal computers 100d which are electrical products such as netbook terminals, slate terminals, electronic book terminals, and portable music players, and unmanned aircraft and unmanned mobile objects 100e and other articles.
  • the gateway 200 is a network device capable of data communication with the proposed computer 10, the edge device 100, and the computer 300.
  • the gateway 200 is, for example, a router or a computer device that can be connected to a LAN (Local Area Network) or a WAN (Wide Area Network).
  • LAN Local Area Network
  • WAN Wide Area Network
  • the computer 300 is a computer that can perform data communication with the proposed computer 10 and the gateway 200.
  • the gateway 200 detects the edge device 100 connected to itself (step S01).
  • the gateway 200 detects a network camera 100a, a sensor device 100b, a portable terminal 100c, a computer device 100d, and a drone 100e connected by a LAN.
  • the gateway 200 transmits data regarding the detected edge device 100 to the proposal computer 10 (step S02).
  • the proposed computer 10 receives data regarding the edge device 100.
  • the proposal computer 10 determines a combination of the edge devices 100 based on the received data (step S03). Based on this data, the proposal computer 10 determines the combination of the edge devices 100 connected to the gateway 200 based on the combination of the edge devices 100 stored in advance as the combination type.
  • the proposed computer 10 determines a program for the edge device 100 and a program for machine learning based on the determined combination (step S04).
  • the proposal computer 10 transmits device program data indicating a program for the edge device 100 to the gateway 200.
  • the gateway 200 transmits the device program data to the corresponding edge device 100.
  • Learning program data indicating a machine learning program is transmitted to the computer 300 (step S05).
  • the computer 300 receives the learning program data, and the edge device 100 receives the device program data.
  • the computer 300 stores learning program data (step S06).
  • the edge device 100 executes a program for the edge device 100 based on the device program data (step S07).
  • the edge device 100 executes image capturing, environment data acquisition, and the like based on the device program data.
  • the edge device 100 transmits device result data indicating a result of executing the program data for the edge device 100 to the gateway 200, and the gateway 200 transmits the device result data to the computer 300 (step S08).
  • the computer 300 receives device result data.
  • the computer 300 executes the learning program data based on the device result data, and executes the machine learning program (step S09).
  • the computer 300 transmits calculation result data indicating a result of executing the machine learning program to the gateway 200.
  • the gateway 200 transmits the calculation result data to an edge device that is a terminal device such as the portable terminal 100c or the personal computer 100d. 100 (step S10).
  • Edge device 100 receives calculation result data.
  • the edge device 100 displays the calculation result based on the calculation result data (step S11).
  • FIG. 2 is a diagram showing a system configuration of an edge device control system 1 which is an official embodiment of the present invention.
  • the edge device control system 1 includes a proposed computer 10, an edge device (network camera 100 a, sensor device 100 b, portable terminal 100 c, personal computer 100 d, drone 100 e) 100, gateway 200, computer 300, public line network (Internet network, first network 3, a fourth generation communication network, etc.) 5 and is a computer system that performs machine learning using the edge device 100 connected to the gateway 200.
  • edge device control system 1 the number and type of each device constituting the edge device control system 1 can be changed as appropriate. Further, the edge device control system 1 is not limited to a real device, and may be realized by virtual devices. Further, each process described below may be realized by any one or a combination of devices constituting the edge device control system 1.
  • the proposed computer 10 is the above-described computer device having the functions described below.
  • the edge device 100 is the above-described terminal device having the functions described later.
  • the gateway 200 is the above-described network device having the functions described later.
  • the computer 300 is the above-described computing device having the functions described later.
  • FIG. 3 is a functional block diagram of the proposed computer 10, the edge device 100, the gateway 200, and the computer 300.
  • the proposed computer 10 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), etc. as the control unit 11, and a device for enabling communication with other devices as the communication unit 12. For example, a device compatible with WiFi (Wireless Fidelity) compliant with IEEE 802.11 is provided.
  • the proposed computer 10 also includes a data storage unit such as a hard disk, a semiconductor memory, a recording medium, or a memory card as the storage unit 13.
  • the device data reception module 20 when the control unit 11 reads a predetermined program, the device data reception module 20, the combination determination module 21, the program determination module 22, the selection notification transmission module 23, the selection application cooperates with the communication unit 12.
  • the storage module 30 is realized in cooperation with the storage unit 13 by the control unit 11 reading a predetermined program.
  • the edge device 100 includes a CPU, RAM, ROM, and the like as the control unit 110, and a device for enabling communication with other devices as the communication unit 120.
  • the edge device 100 includes various devices for acquiring environment data, image data, and the like as the processing unit 140.
  • the control unit 110 when the control unit 110 reads a predetermined program, the selection notification reception module 150, the selection application data transmission module 151, the program data reception module 152, and the device result data transmission module cooperate with the communication unit 120. 153, the device result data receiving module 154 is realized.
  • the control unit 110 reads a predetermined program, thereby realizing a display module 160, a program setting module 161, a data acquisition module 162, and a calculation module 163 in cooperation with the processing unit 140.
  • the gateway 200 includes a CPU, RAM, ROM, and the like as the control unit 210, and a device for enabling communication with other devices as the communication unit 220.
  • the device detection module 250 and the device data transmission module 251 are realized in cooperation with the communication unit 220.
  • the computer 300 includes a CPU, RAM, ROM, and the like as the control unit 310, a device for enabling communication with other devices as the communication unit 320, and data as the storage unit 330. Storage unit.
  • the computer 300 includes various devices that execute various programs as the processing unit 340.
  • the control unit 310 when the control unit 310 reads a predetermined program, the program data reception module 350, the device result data reception module 351, and the calculation result data transmission module 352 are realized in cooperation with the communication unit 320.
  • the control unit 310 reads a predetermined program, thereby realizing the storage module 360 in cooperation with the storage unit 330. Further, in the computer 300, the control unit 310 reads a predetermined program, thereby realizing the calculation module 370 in cooperation with the processing unit 340.
  • FIGS. 4, 5, and 6 are flowcharts of device detection processing executed by the proposed computer 10, the edge device 100, the gateway 200, and the computer 300. The processing executed by the modules of each device described above will be described together with this processing.
  • the device detection module 250 detects the edge device 100 connected to itself (step S20). In step S20, the device detection module 250 detects the edge device 100 connected to the LAN. The device detection module 250 detects the network camera 100a, the sensor device 100b, the mobile terminal 100c, the computer device 100d, and the drone 100e as the edge device 100.
  • the device detection module 250 acquires device data of the detected edge device 100 (step S21). In step S21, the device detection module 250 acquires the unique identifier of the edge device 100 and the processing performance as device data.
  • the unique identifier of the edge device 100 is a device name, a manufacturing number, a device number, an IP address, a MAC address, or the like.
  • the processing performance refers to the number of instructions that can be processed per unit time, the speed at which various processes are executed, and the like.
  • the device detection module 250 may acquire device data from the detected edge device 100, and based on the device name, serial number, and device number acquired from the edge device 100, the manufacturer and distributor of the edge device 100 Necessary data may be acquired from a computer, a database, or the like.
  • the device data transmission module 251 transmits the acquired device data to the proposal computer 10 (step S22).
  • the device data receiving module 20 receives device data.
  • the combination determination module 21 determines the combination of the edge devices 100 based on the combination database stored in advance by the storage module 30 (step S23). In step S23, the combination determination module 21 determines the combination type of the edge device 100 included in the received device data by referring to the combination database.
  • FIG. 9 is a diagram illustrating an example of the combination database.
  • the storage module 30 stores the combination type and the plurality of edge devices 100 in association with each other.
  • the type name is the name of the combination type.
  • the device name is an identifier of the edge device 100.
  • the storage module 30 stores “type 1”, “type 2”, and the like as type names.
  • the storage module 30 has device names “TOT-SE01 (temperature sensor for tomatoes), CAM01 (camera), PH06 (smartphone)”, “BB-01 (sensor kit for vinyl house), WEBCAM25 (camera), GAL ( Tablet) "and the like.
  • the proposed computer 10 acquires and stores the combination database in advance from the edge device 100, other terminal devices, an external computer, or the like.
  • the number of edge devices 100 included in the device name may be one or more and can be changed as appropriate.
  • the type name is not limited to the name shown in FIG. 9 and can be changed as appropriate.
  • not all combination types are classified by one database, but one database may exist for each combination type. That is, the same number of databases as the number of combination types may exist.
  • the combination determination module 21 determines the combination type by specifying the type name corresponding to the edge device 100 included in the device data received this time, and determines the combination of the edge devices 100. For example, since the edge device 100 is a network camera 100a, a sensor device 100b, a portable terminal 100c, a computer device 100d, and a drone 100e, type 1 and type 2 are determined as combination types corresponding to the edge device 100. .
  • the program determination module 22 determines a program for the edge device 100 and a program for machine learning based on the determined combination (step S24). In step S24, the program determination module 22 determines a program for the edge device 100 and a program for machine learning by referring to the program database.
  • FIG. 10 is a diagram illustrating an example of a program database.
  • the storage module 30 stores the type name and the machine learning data set in association with each other.
  • the type name is the name of the combination type described above.
  • the machine learning data set includes a name of a target application, a name of a program for the edge device 100, and a name of a program for machine learning.
  • the storage module 30 stores “type 1”, “type 2”, and the like as type names.
  • the storage module 30 includes, as machine learning data sets, “tomato cultivation application, edge device program set F, computer machine learning program B”, “cucumber cultivation application, edge device program set V, computer machine learning program. D ”and the like are stored.
  • Each program name is associated with a program necessary for executing each process.
  • the proposed computer 10 acquires and stores the program database from the edge device 100, other terminal devices, an external computer, or the like in advance.
  • the type name is not limited to the name shown in FIG. 10 and can be changed as appropriate. Further, the name of the application, the name of the program for the edge device 100, and the name of the program for machine learning are not limited to the names shown in FIG. Further, instead of classifying all machine learning data sets by one database, one database may exist for each machine learning data set. That is, the same number of databases as the number of machine learning data sets may exist.
  • step S24 the program determination module 22 determines the machine learning data set by extracting the machine learning data set associated with the combination type determined this time, and sets the target application included in the machine learning data set. , The name of the program for the edge device 100, and the name of the program for machine learning are determined.
  • the program determination module 22 determines whether there are a plurality of determined combination types (step S25). In step S25, when the program determination module 22 determines that there are a plurality (YES in step S25), the selection notification transmission module 23 notifies the user such as the display unit or the input unit of the portable terminal 100c, the computer device 100d, or the like. A selection notification is transmitted to the edge device 100 that can execute or accept some input from the user (step S26). In step S ⁇ b> 26, the proposal computer 10 transmits a selection notification to the gateway 200, and the gateway 200 further transmits this selection notification to the edge device 100.
  • the selection notification receiving module 150 receives a selection notification.
  • the display module 160 displays a selection screen based on the received selection notification (step S27).
  • FIG. 11 is a diagram illustrating an example of the selection screen.
  • the display module 160 displays an explanatory note display area 410, an application selection area 420, and a transmission icon 430 as the selection screen 400.
  • the explanatory note display area 410 is an area for notifying that the screen is for selecting an application.
  • the display module 160 displays “A combination of devices connected to this local network can perform the following learning. Which one should be selected?”.
  • the application selection area 420 is an area for displaying all the combination types described above.
  • the display module 160 displays “1: application for tomato cultivation”, “2: application for cucumber cultivation”, and “3: application for chicken monitoring”.
  • the application selection area 420 accepts input from the user and accepts selection of one application.
  • the display module 160 displays a selection icon 440 for one application that has received the input.
  • the display module 160 displays a check mark as the selection icon 440.
  • the transmission icon 430 receives an input from the user, and the selected application data transmission module 151 transmits the selected application to the proposal computer 10 as selected application data by receiving the input.
  • the application selection area 420 may accept selections for a plurality of applications.
  • the display module 160 determines whether or not a selection input has been accepted (step S28). In step S ⁇ b> 28, the display module 160 receives an application selection input and determines whether an input of the transmission icon 430 is received. When the display module 160 determines that the selection input has not been received (NO in step S28), that is, when the application selection input has not been received or the application selection input has been received, the input of the transmission icon 430 has been received. If not, the process is repeated until an application selection input and a transmission icon 430 input are accepted.
  • step S28 YES
  • step S28 YES the selection application data transmission module 151
  • the selected application data indicating the application that has received the selection input is transmitted to the proposal computer 10 (step S29).
  • step S ⁇ b> 29 the edge device 100 transmits the selected application data to the gateway 200, and the gateway 200 transmits the selected application data to the proposal computer 10.
  • the selected application data receiving module 24 receives selected application data.
  • step S25 if it is determined in step S25 that the program determination module 22 does not exist in plural (NO in step S25) or the selected application data reception module 24 receives the selected application data, the program determination module 22 is determined.
  • a program for the edge device 100 included in the machine learning data set associated with one combination type associated with the selected combination data associated with the selected combination data or the selection application data that has received selection input by the edge device 100, and machine learning A program is extracted (step S30).
  • step S ⁇ b> 30 the program determination module 22 extracts program data associated with the name of the program for the edge device 100 and extracts program data associated with the name of the machine learning program.
  • the program data transmission module 25 transmits learning program data indicating a machine learning program to the computer 300 (step S31).
  • the program data receiving module 350 receives learning program data.
  • the storage module 360 stores the received learning program data (step S32).
  • the program data transmission module 25 transmits device program data indicating a program for the edge device 100 to the edge device 100 (step S33).
  • the proposal computer 10 transmits the device program data to the gateway 200, and the gateway 200 transmits the device program data to each of the edge devices 100 corresponding to the device program data.
  • the program data receiving module 152 receives device program data.
  • the program setting module 161 sets a program for the edge device 100 based on the received device program data (step S34).
  • step S34 a program is set for each edge device 100. That is, in this embodiment, each of the network camera 100a, the sensor device 100b, and the mobile terminal 100c sets a program corresponding to itself.
  • the display module 160 displays a setting completion notification indicating that the program has been set (step S35).
  • step S ⁇ b> 35 when a program is set in the edge device 100 that can execute some notification to the above-described user or accept some input from the user, the above-described setting completion notification is displayed on the edge device 100.
  • the proposal computer 10 causes the edge device 100 connected to the gateway 200 to display this setting completion notification.
  • FIG. 12 is a diagram illustrating an example of the setting completion notification.
  • the display module 160 displays a setting content notification area 510, a learning content notification area 520, and an end icon 530 as the setting completion notification screen 500.
  • the setting content notification area 510 is an area for notifying the contents related to the program that has been set this time.
  • the display module 160 displays “Setting of application for tomato cultivation is completed”.
  • the learning content notification area 520 is an area for notifying learning contents and contents related to program execution.
  • the display module 160 displays “The data is acquired and learned for one week, so the harvest time is predicted from November 30.”.
  • the end icon 530 ends the display of the setting completion notification screen by accepting an input from the user.
  • the above is the device detection process.
  • FIG. 7 is a diagram illustrating a flowchart of a first machine learning process executed by the edge device 100 and the computer 300. The processing executed by the modules of each device described above will be described together with this processing.
  • the data acquisition module 162 acquires various data (step S40).
  • step S40 the data acquisition module 162 acquires various data based on the program for the edge device 100. For example, in the case of the network camera 100a, the data acquisition module 162 acquires image data by capturing an image. In the case of the sensor device 100b, the data acquisition module 162 acquires environment data.
  • the device result data transmission module 153 transmits the acquired various data as device result data to the computer 300 (step S41).
  • step S ⁇ b> 41 the edge device 100 transmits device result data to the gateway 200, and the gateway 200 transmits device result data to the computer 300.
  • the device result data receiving module 351 receives device result data.
  • the calculation module 370 executes machine learning by executing the stored machine learning program based on the received device result data (step S42).
  • the calculation result data transmission module 352 transmits calculation result data, which is a result of executing machine learning, to the edge device 100 (step S43).
  • the calculation result data transmission module 352 transmits the calculation result data to the edge device 100 that can execute some notification to the above-described user and accept some input from the user.
  • the calculation result data is transmitted to the portable terminal 100c and the personal computer 100d.
  • the computer 300 transmits calculation result data to the gateway 200, and the gateway 200 transmits calculation result data to the edge device 100.
  • the display module 160 displays the calculation result based on the calculation result data (step S44).
  • the above is the first machine learning process.
  • FIG. 8 is a flowchart of the second machine learning process executed by the proposal computer 10 and the edge device 100. The processing executed by the modules of each device described above will be described together with this processing.
  • the data acquisition module 162 acquires various data (step S50).
  • the process of step S50 is the same as the process of step S40 described above.
  • the device result data transmission module 153 transmits the device result data to the proposal computer 10 (step S51).
  • the device result data receiving module 27 receives device result data.
  • the performance determination module 26 determines whether or not the processing performance of the edge device 100 connected to the gateway 200 is equal to or higher than a predetermined performance (step S52). In step S52, the performance determination module 26 determines the processing performance based on the device data described above.
  • the predetermined performance is a performance sufficient to perform machine learning. It should be noted that the processing performance may be determined in a plurality of stages, and processing described later may be executed for each stage. For example, in the edge device 100 having the first stage processing performance, the processing described later is executed, and in the edge device 100 having the second stage processing performance, a part of the processing described later is executed. In the edge device 100 having the processing performance of the stage, a part of the processing described later is further executed.
  • step S52 when the performance determination module 26 determines that the performance is not equal to or higher than the predetermined performance (NO in step S52), the device result data transmission module 28 transmits the device result data to the computer 300 (step S53).
  • the edge device control system 1 should just perform the 1st machine learning process mentioned above with respect to this device result data.
  • the device result data transmission module 28 receives the device result data and the teacher data corresponding to the device result data. Then, this is transmitted to the edge device 100 (step S54).
  • the device result data transmission module 28 may transmit teacher data acquired from the computer 300 or another computer, or may transmit teacher data stored in advance. The device result data transmission module 28 transmits the learning program data together with the teacher data.
  • the device result data receiving module 154 receives device result data and teacher data.
  • the device result data receiving module 154 may directly download the teacher data from a computer other than the proposed computer 10 or the like. By doing so, the edge device control system 1 controls the edge device 100 to download the teacher data corresponding to the device result data.
  • the calculation module 163 performs machine learning based on the device result data and the teacher data (step S55).
  • the calculation module 163 executes machine learning by executing a machine learning program based on the device result data, the teacher data, and the learning program data.
  • the display module 160 displays the calculation result based on the calculation result data that is the result of executing the machine learning (step S56).
  • the edge device 100 may transmit the calculation result data to the other edge device 100, and the other edge device 100 may display the calculation result based on the calculation result data.
  • the means and functions described above are realized by a computer (including a CPU, an information processing apparatus, and various terminals) reading and executing a predetermined program.
  • the program is provided, for example, in a form (SaaS: Software as a Service) provided from a computer via a network.
  • the program is provided in a form recorded on a computer-readable recording medium such as a flexible disk, CD (CD-ROM, etc.), DVD (DVD-ROM, DVD-RAM, etc.).
  • the computer reads the program from the recording medium, transfers it to the internal storage device or the external storage device, stores it, and executes it.
  • the program may be recorded in advance in a storage device (recording medium) such as a magnetic disk, an optical disk, or a magneto-optical disk, and provided from the storage device to a computer via a communication line.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

【課題】ネットワーク内のセンサ機器の組み合わせから、所定の機械学習のためのデータを取得し、ユーザが意図することなく、このセンサ機器から可能な学習を行い、結果を出力するコンピュータシステム、エッジデバイス制御方法及びプログラムを提供することを目的とする。 【解決手段】ゲートウェイ200に接続されたエッジデバイス100を使用して機械学習を行うコンピュータシステムは、前記ゲートウェイ200に接続されたエッジデバイス100を検出し、検出した前記エッジデバイス100の組み合わせを決定し、決定した前記組み合わせに基づいて、エッジデバイス100用のプログラムと機械学習用のプログラムとを決定し、前記エッジデバイス100に、前記エッジデバイス100用のプログラムを実行させ、所定のコンピュータに、前記機械学習用のプログラムを実行させる。

Description

コンピュータシステム、エッジデバイス制御方法及びプログラム
 本発明は、ゲートウェイに接続されたエッジデバイスを使用して機械学習を行うコンピュータシステム、エッジデバイス制御方法及びプログラムに関する。
 近年、エッジAI(Artificial Intelligence)コンピューティングと呼ばれる手法が知られている。このような手法において、ゲートウェイに接続されたエッジデバイスを使用することにより、機械学習を行う。
 このような機械学習を行うシステムとして、例えば、従来の公衆回線網内のエッジ(各種センサ機器)に近い位置に、エッジコンピュータを配置し、処理速度を速める必要な処理をこのエッジコンピュータで行い、画像解析や機械学習等の時間がかかる処理を、公衆回線網に接続された他のコンピュータにより処理する構成が開示されている(非特許文献1参照)。
http://www.meti.go.jp/committee/sankoushin/shojo/johokeizai/bunsan_senryaku_wg/pdf/001_04_00.pdf
 しかしながら、非特許文献1の構成では、機械学習において、システムの構築者やユーザが学習させるデータを指定する必要があった。
 本発明の目的は、ネットワーク内のセンサ機器の組み合わせから、所定の機械学習のためのデータ(例えば、教師データ)を取得し、ユーザが意図することなく、このセンサ機器から可能な学習を行い、結果を出力するコンピュータシステム、エッジデバイス制御方法及びプログラムを提供することを目的とする。
 本発明では、以下のような解決手段を提供する。
 本発明は、ゲートウェイに接続されたエッジデバイスを使用して機械学習を行うコンピュータシステムであって、
 前記ゲートウェイに接続されたエッジデバイスを検出する検出手段と、
 検出した前記エッジデバイスの組み合わせを決定する組み合わせ決定手段と、
 決定した前記組み合わせに基づいて、エッジデバイス用のプログラムと機械学習用のプログラムとを決定するプログラム決定手段と、
 前記エッジデバイスに、前記エッジデバイス用のプログラムを実行させ、所定のコンピュータに、前記機械学習用のプログラムを実行させる実行手段と、
 を備えることを特徴とするコンピュータシステムを提供する。
 本発明によれば、ゲートウェイに接続されたエッジデバイスを使用して機械学習を行うコンピュータシステムは、前記ゲートウェイに接続されたエッジデバイスを検出し、検出した前記エッジデバイスの組み合わせを決定し、決定した前記組み合わせに基づいて、エッジデバイス用のプログラムと機械学習用のプログラムとを決定し、前記エッジデバイスに、前記エッジデバイス用のプログラムを実行させ、所定のコンピュータに、前記機械学習用のプログラムを実行させる。
 本発明は、コンピュータシステムのカテゴリであるが、エッジデバイス制御方法及びプログラム等の他のカテゴリにおいても、そのカテゴリに応じた同様の作用・効果を発揮する。
 本発明によれば、ネットワーク内のセンサ機器の組み合わせから、所定の機械学習のためのデータを取得し、ユーザが意図することなく、このセンサ機器から可能な学習を行い、結果を出力するコンピュータシステム、エッジデバイス制御方法及びプログラムを提供することが可能となる。
図1は、エッジデバイス制御システム1の概要を示す図である。 図2は、エッジデバイス制御システム1の全体構成図である。 図3は、提案コンピュータ10、エッジデバイス100、ゲートウェイ200、計算機300の機能ブロック図である。 図4は、提案コンピュータ10、エッジデバイス100、ゲートウェイ200、計算機300が実行するデバイス検出処理を示すフローチャートである。 図5は、提案コンピュータ10、エッジデバイス100、ゲートウェイ200、計算機300が実行するデバイス検出処理を示すフローチャートである。 図6は、提案コンピュータ10、エッジデバイス100、ゲートウェイ200、計算機300が実行するデバイス検出処理を示すフローチャートである。 図7は、エッジデバイス100、計算機300が実行する第1の機械学習処理を示すフローチャートである。 図8は、提案コンピュータ10、エッジデバイス100が実行する第2の機械学習処理を示すフローチャートである。 図9は、組み合わせデータベースの一例を示す図である。 図10は、プログラムデータベースの一例を示す図である。 図11は、選択画面400の一例を示す図である。 図12は、設定完了通知画面500の一例を示す図である。
 以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
 [エッジデバイス制御システム1の概要]
 本発明の好適な実施形態の概要について、図1に基づいて説明する。図1は、本発明の好適な実施形態であるエッジデバイス制御システム1の概要を説明するための図である。エッジデバイス制御システム1は、提案コンピュータ10、エッジデバイス(ネットワークカメラ100a、センサ装置100b、携帯端末100c、コンピュータ装置100d、ドローン100e)100、ゲートウェイ200、計算機300から構成され、ゲートウェイ200に接続されたエッジデバイス100を使用して機械学習を行うコンピュータシステムである。
 なお、図1において、提案コンピュータ10、エッジデバイス100、ゲートウェイ200、計算機300の数は、適宜変更可能である。また、エッジデバイス100の種類は、適宜変更可能である。また、提案コンピュータ10、エッジデバイス100、ゲートウェイ200、計算機300は、実在する装置に限らず、仮想的な装置であってもよい。また、後述する各処理は、提案コンピュータ10、エッジデバイス100、ゲートウェイ200、計算機300のいずれか又は複数の組み合わせにより実現されてもよい。
 提案コンピュータ10は、ゲートウェイ200及び計算機300とデータ通信可能に接続されたコンピュータ装置である。
 エッジデバイス100は、ゲートウェイ200とデータ通信可能に接続された端末装置である。エッジデバイス100は、例えば、動画や静止画等の画像を撮像するネットワークカメラ100aや、日照、温度、風力等の空間データや時間データ等の環境データを取得するセンサ装置100bや、携帯電話、携帯情報端末、タブレット端末、パーソナルコンピュータに加え、ネットブック端末、スレート端末、電子書籍端末、携帯型音楽プレーヤ等の電化製品である携帯端末100c及びパーソナルコンピュータ100dや、無人航空機や無人移動体等のドローン100eや、その他の物品である。
 ゲートウェイ200は、提案コンピュータ10、エッジデバイス100、計算機300とデータ通信可能なネットワーク機器である。ゲートウェイ200は、例えば、LAN(Local Area Network)やWAN(Wide Area Network)に接続可能なルータやコンピュータ装置等である。
 計算機300は、提案コンピュータ10及びゲートウェイ200とデータ通信可能な計算装置である。
 はじめに、ゲートウェイ200は、自身に接続されたエッジデバイス100を検出する(ステップS01)。ゲートウェイ200は、LANにより接続されたネットワークカメラ100a、センサ装置100b、携帯端末100c、コンピュータ装置100d、ドローン100eを検出する。
 ゲートウェイ200は、検出したエッジデバイス100に関するデータを、提案コンピュータ10に送信する(ステップS02)。
 提案コンピュータ10は、エッジデバイス100に関するデータを受信する。提案コンピュータ10は、受信したこのデータに基づいて、エッジデバイス100の組み合わせを決定する(ステップS03)。提案コンピュータ10は、このデータに基づいて、予め組み合わせタイプとして記憶したエッジデバイス100の組み合わせに基づいて、ゲートウェイ200に接続されたエッジデバイス100の組み合わせを決定する。
 提案コンピュータ10は、この決定した組み合わせに基づいて、エッジデバイス100用のプログラムと、機械学習用のプログラムとを決定する(ステップS04)。
 提案コンピュータ10は、エッジデバイス100用のプログラムを示すデバイス用プログラムデータを、ゲートウェイ200に送信し、ゲートウェイ200が、このデバイス用プログラムデータを対応するエッジデバイス100に送信するとともに、提案コンピュータ10は、機械学習用のプログラムを示す学習用プログラムデータを、計算機300に送信する(ステップS05)。
 計算機300は、学習用プログラムデータを受信し、エッジデバイス100は、デバイス用プログラムデータを受信する。
 計算機300は、学習用プログラムデータを記憶する(ステップS06)。
 エッジデバイス100は、デバイス用プログラムデータに基づいて、エッジデバイス100用のプログラムを実行する(ステップS07)。エッジデバイス100は、デバイス用プログラムデータに基づいて、画像の撮像、環境データの取得等を実行する。
 エッジデバイス100は、エッジデバイス100用のプログラムデータを実行した結果を示すデバイス結果データを、ゲートウェイ200に送信し、ゲートウェイ200は、このデバイス結果データを、計算機300に送信する(ステップS08)。
 計算機300は、デバイス結果データを受信する。計算機300は、このデバイス結果データに基づいて、学習用プログラムデータを実行し、機械学習用のプログラムを実行する(ステップS09)。
 計算機300は、機械学習用のプログラムを実行した結果を示す計算結果データを、ゲートウェイ200に送信し、ゲートウェイ200は、この計算結果データを、携帯端末100cやパーソナルコンピュータ100dといった端末装置であるエッジデバイス100に送信する(ステップS10)。
 エッジデバイス100は、計算結果データを受信する。エッジデバイス100は、計算結果データに基づいて、計算結果を表示する(ステップS11)。
 以上が、エッジデバイス制御システム1の概要である。
 [エッジデバイス制御システム1のシステム構成]
 図2に基づいて、本発明の好適な実施形態であるエッジデバイス制御システム1のシステム構成について説明する。図2は、本発明の公的な実施形態であるエッジデバイス制御システム1のシステム構成を示す図である。エッジデバイス制御システム1は、提案コンピュータ10、エッジデバイス(ネットワークカメラ100a、センサ装置100b、携帯端末100c、パーソナルコンピュータ100d、ドローン100e)100、ゲートウェイ200、計算機300、公衆回線網(インターネット網や、第3、第4世代通信網等)5から構成され、ゲートウェイ200に接続されたエッジデバイス100を使用して機械学習を行うコンピュータシステムである。
 なお、エッジデバイス制御システム1を構成する各装置類の数及びその種類は、適宜変更可能である。また、エッジデバイス制御システム1は、実在する装置に限らず、仮想的な装置類により実現されてもよい。また、後述する各処理は、エッジデバイス制御システム1を構成する各装置類のいずれか又は複数の組み合わせにより実現されてもよい。
 提案コンピュータ10は、後述の機能を備えた上述したコンピュータ装置である。
 エッジデバイス100は、後述の機能を備えた上述した端末装置である。
 ゲートウェイ200は、後述の機能を備えた上述したネットワーク機器である。
 計算機300は、後述の機能を備えた上述した計算装置である。
 [各機能の説明]
 図3に基づいて、本発明の好適な実施形態であるエッジデバイス制御システム1の機能について説明する。図3は、提案コンピュータ10、エッジデバイス100、ゲートウェイ200、計算機300の機能ブロック図を示す図である。
 提案コンピュータ10は、制御部11として、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備え、通信部12として、他の機器と通信可能にするためのデバイス、例えば、IEEE802.11に準拠したWiFi(Wireless Fidelity)対応デバイス等を備える。また、提案コンピュータ10は、記憶部13として、ハードディスクや半導体メモリ、記録媒体、メモリカード等によるデータのストレージ部を備える。
 提案コンピュータ10において、制御部11が所定のプログラムを読み込むことにより、通信部12と協働して、機器データ受信モジュール20、組み合わせ決定モジュール21、プログラム決定モジュール22、選択通知送信モジュール23、選択アプリケーションデータ受信モジュール24、プログラムデータ送信モジュール25、性能判断モジュール26、デバイス結果データ受信モジュール27、デバイス結果データ送信モジュール28を実現する。また、提案コンピュータ10において、制御部11が所定のプログラムを読み込むことにより、記憶部13と協働して、記憶モジュール30を実現する。
 エッジデバイス100は、提案コンピュータ10と同様に、制御部110として、CPU、RAM、ROM等を備え、通信部120として、他の機器と通信可能にするためのデバイスを備える。また、エッジデバイス100は、処理部140として、環境データや画像データ等を取得するための各種デバイス等を備える。
 エッジデバイス100において、制御部110が所定のプログラムを読み込むことにより、通信部120と協働して、選択通知受信モジュール150、選択アプリケーションデータ送信モジュール151、プログラムデータ受信モジュール152、デバイス結果データ送信モジュール153、デバイス結果データ受信モジュール154を実現する。また、エッジデバイス100において、制御部110が所定のプログラムを読み込むことにより、処理部140と協働して、表示モジュール160、プログラム設定モジュール161、データ取得モジュール162、計算モジュール163を実現する。
 ゲートウェイ200は、提案コンピュータ10と同様に、制御部210として、CPU、RAM、ROM等を備え、通信部220として、他の機器と通信可能にするためのデバイスを備える。
 ゲートウェイ200において、制御部210が所定のプログラムを読み込むことにより、通信部220と協働して、デバイス検出モジュール250、機器データ送信モジュール251を実現する。
 計算機300は、提案コンピュータ10と同様に、制御部310として、CPU、RAM、ROM等を備え、通信部320として、他の機器と通信可能にするためのデバイスを備え、記憶部330として、データのストレージ部を備える。また、計算機300は、処理部340として、各種プログラムを実行する各種デバイス等を備える。
 計算機300において、制御部310が所定のプログラムを読み込むことにより、通信部320と協働して、プログラムデータ受信モジュール350、デバイス結果データ受信モジュール351、計算結果データ送信モジュール352を実現する。また、計算機300において、制御部310が所定のプログラムを読み込むことにより、記憶部330と協働して、記憶モジュール360を実現する。また、計算機300において、制御部310が所定のプログラムを読み込むことにより、処理部340と協働して、計算モジュール370を実現する。
 [デバイス検出処理]
 図4、図5及び図6に基づいて、エッジデバイス制御システム1が実行するデバイス検出処理について説明する。図4、図5及び図6は、提案コンピュータ10、エッジデバイス100、ゲートウェイ200、計算機300が実行するデバイス検出処理のフローチャートを示す図である。上述した各装置のモジュールが実行する処理について、本処理に併せて説明する。
 デバイス検出モジュール250は、自身に接続されたエッジデバイス100を検出する(ステップS20)。ステップS20において、デバイス検出モジュール250は、LAN接続されたエッジデバイス100を検出する。デバイス検出モジュール250は、エッジデバイス100として、ネットワークカメラ100a、センサ装置100b、携帯端末100c、コンピュータ装置100d、ドローン100eを検出する。
 デバイス検出モジュール250は、検出したエッジデバイス100の機器データを取得する(ステップS21)。ステップS21において、デバイス検出モジュール250は、エッジデバイス100の固有な識別子と、処理性能とを機器データとして取得する。エッジデバイス100の固有な識別子とは、機器名称、製造番号、機器番号、IPアドレス、MACアドレス等である。また、処理性能とは、単位時間当たりに処理できる命令数や様々な処理を実行する速度等である。デバイス検出モジュール250は、検出したエッジデバイス100から、機器データを取得してもよいし、エッジデバイス100から取得した機器名称や製造番号や機器番号に基づいて、このエッジデバイス100の製造元や販売元等のコンピュータやデータベース等から必要なデータを取得してもよい。
 機器データ送信モジュール251は、取得した機器データを、提案コンピュータ10に送信する(ステップS22)。
 機器データ受信モジュール20は、機器データを受信する。組み合わせ決定モジュール21は、予め記憶モジュール30が記憶する組み合わせデータベースに基づいて、エッジデバイス100の組み合わせを決定する(ステップS23)。ステップS23において、組み合わせ決定モジュール21は、組み合わせデータベースを参照することにより、受信した機器データに含まれるエッジデバイス100の組み合わせタイプを決定する。
 [組み合わせデータベース]
 図9に基づいて、記憶モジュール30が記憶する組み合わせデータベースについて説明する。図9は、組み合わせデータベースの一例を示す図である。記憶モジュール30は、組み合わせタイプと、複数のエッジデバイス100とを対応付けて記憶する。タイプ名とは、組み合わせタイプの名称である。また、デバイス名とは、エッジデバイス100の識別子である。記憶モジュール30は、タイプ名として、「タイプ1」、「タイプ2」等を記憶する。記憶モジュール30は、デバイス名として、「TOT-SE01(トマト用温度センサ)、CAM01(カメラ)、PH06(スマホ)」、「BB-01(ビニルハウス用センサキット)、WEBCAM25(カメラ)、GAL(タブレット)」等を記憶する。提案コンピュータ10は、予めエッジデバイス100やその他の端末装置や外部コンピュータ等からこの組み合わせデータベースを取得し、記憶する。
 なお、デバイス名に含まれるエッジデバイス100の数は、1又は複数であればよく、適宜変更可能である。また、タイプ名は、図9で示した名称に限らず、適宜変更可能である。また、一のデータベースにより、全ての組み合わせタイプを分類するのではなく、組み合わせタイプ毎に、一のデータベースが存在していてもよい。すなわち、組み合わせタイプの数と同数のデータベースが存在していてもよい。
 ステップS23において、組み合わせ決定モジュール21は、今回受信した機器データに含まれるエッジデバイス100に該当するタイプ名を特定することにより、組み合わせタイプを決定し、エッジデバイス100の組み合わせを決定する。例えば、エッジデバイス100は、ネットワークカメラ100a、センサ装置100b、携帯端末100c、コンピュータ装置100d、ドローン100eであることから、このエッジデバイス100に対応する組み合わせタイプとして、タイプ1とタイプ2とを決定する。
 プログラム決定モジュール22は、この決定した組み合わせに基づいて、エッジデバイス100用のプログラムと、機械学習用のプログラムとを決定する(ステップS24)。ステップS24において、プログラム決定モジュール22は、プログラムデータベースを参照することにより、エッジデバイス100用のプログラムと、機械学習用のプログラムとを決定する。
 [プログラムデータベース]
 図10に基づいて、記憶モジュール30が記憶するプログラムデータベースについて説明する。図10は、プログラムデータベースの一例を示す図である。記憶モジュール30は、タイプ名と、機械学習データセットとを対応付けて記憶する。タイプ名とは、上述した組み合わせタイプの名称である。機械学習データセットとは、対象とするアプリケーションの名称、エッジデバイス100用のプログラムの名称及び機械学習用のプログラムの名称である。記憶モジュール30は、タイプ名として、「タイプ1」、「タイプ2」等を記憶する。記憶モジュール30は、機械学習データセットとして、「トマト栽培用アプリケーション、エッジデバイス用プログラムセットF、コンピュータ用機械学習プログラムB」、「キュウリ栽培用アプリケーション、エッジデバイス用プログラムセットV、コンピュータ用機械学習プログラムD」等を記憶する。各プログラムの名称には、各処理を実行するために必要なプログラムが紐付けられている。提案コンピュータ10は、予めエッジデバイス100やその他の端末装置や外部コンピュータ等からこのプログラムデータベースを取得し、記憶する。
 なお、タイプ名は、図10で示した名称に限らず、適宜変更可能である。また、アプリケーションの名称、エッジデバイス100用のプログラムの名称、機械学習用のプログラムの名称は、図10で示した名称に限らず、適宜変更可能である。また、一のデータベースにより、全ての機械学習データセットを分類するのではなく、機械学習データセット毎に、一のデータベースが存在していてもよい。すなわち、機械学習データセットの数と同数のデータベースが存在していてもよい。
 ステップS24において、プログラム決定モジュール22は、今回決定した組み合わせタイプに対応付けられた機械学習データセットを抽出することにより、機械学習データセットを決定し、この機械学習データセットに含まれる対象とするアプリケーションの名称、エッジデバイス100用のプログラムの名称及び機械学習用のプログラムの名称を決定する。
 プログラム決定モジュール22は、決定した組み合わせタイプが複数存在するか否かを判断する(ステップS25)。ステップS25において、プログラム決定モジュール22は、複数存在すると判断した場合(ステップS25 YES)、選択通知送信モジュール23は、携帯端末100c、コンピュータ装置100d等の表示部や入力部等のユーザに何らかの通知を実行することやユーザから何らかの入力を受け付けることが可能なエッジデバイス100に、選択通知を送信する(ステップS26)。ステップS26において、提案コンピュータ10は、選択通知を、ゲートウェイ200に送信し、ゲートウェイ200は、この選択通知をさらにエッジデバイス100に送信する。
 選択通知受信モジュール150は、選択通知を受信する。表示モジュール160は、受信した選択通知に基づいて、選択画面を表示する(ステップS27)。
 図11に基づいて、表示モジュール160が表示する選択画面について説明する。図11は、選択画面の一例を示す図である。表示モジュール160は、選択画面400として、説明文表示領域410、アプリケーション選択領域420、送信アイコン430を表示する。説明文表示領域410は、アプリケーションを選択する画面であることを通知する領域である。表示モジュール160は、「このローカルネットワークにつながれているデバイスの組み合わせは、以下の学習を行うことができます。どれを選択しますか?」を表示する。アプリケーション選択領域420は、上述した組み合わせタイプをすべて表示する領域である。表示モジュール160は、「1:トマト栽培用アプリケーション」、「2:キュウリ栽培用アプリケーション」、「3:鶏監視用アプリケーション」を表示する。アプリケーション選択領域420は、ユーザからの入力を受け付け、一のアプリケーションの選択を受け付ける。表示モジュール160は、入力を受け付けた一のアプリケーションに対して、選択アイコン440を表示する。表示モジュール160は、選択アイコン440として、チェックマークを表示する。送信アイコン430は、ユーザからの入力を受け付け、入力を受け付けることにより、選択アプリケーションデータ送信モジュール151は、選択されたアプリケーションを、選択アプリケーションデータとして、提案コンピュータ10に送信する。
 なお、上述した各領域及びアイコンの表示内容、表示態様、表示位置、表示順序等は適宜変更可能である。また、アプリケーション選択領域420は、複数のアプリケーションに対する選択を受け付けてもよい。
 表示モジュール160は、選択入力を受け付けたか否かを判断する(ステップS28)。ステップS28において、表示モジュール160は、アプリケーションの選択入力を受け付け、送信アイコン430の入力を受け付けたか否かを判断する。表示モジュール160は、選択入力を受け付けていないと判断した場合(ステップS28 NO)、すなわち、アプリケーションの選択入力を受け付けていない場合や、アプリケーションの選択入力を受け付けたものの、送信アイコン430の入力を受け付けていない場合、アプリケーションの選択入力及び送信アイコン430の入力を受け付けるまで、本処理を繰り返す。
 一方、ステップS28において、表示モジュール160は、選択入力を受け付けた場合(ステップS28 YES)、すなわち、アプリケーションの選択入力を受け付けるとともに送信アイコン430の入力を受け付けた場合、選択アプリケーションデータ送信モジュール151は、選択入力を受け付けたアプリケーションを示す選択アプリケーションデータを、提案コンピュータ10に送信する(ステップS29)。ステップS29において、エッジデバイス100は、選択アプリケーションデータを、ゲートウェイ200に送信し、ゲートウェイ200は、この選択アプリケーションデータを、提案コンピュータ10に送信する。
 選択アプリケーションデータ受信モジュール24は、選択アプリケーションデータを受信する。
 一方、ステップS25において、プログラム決定モジュール22は、複数存在しないと判断した場合(ステップS25 NO)又は選択アプリケーションデータ受信モジュール24は、選択アプリケーションデータを受信した場合、プログラム決定モジュール22は、この決定された一の組み合わせタイプ又はエッジデバイス100による選択入力を受け付けた選択アプリケーションデータに対応付けられた一の組み合わせタイプに対応付けられた機械学習データセットに含まれるエッジデバイス100用のプログラムと、機械学習用プログラムとを抽出する(ステップS30)。ステップS30において、プログラム決定モジュール22は、エッジデバイス100用のプログラムの名称に紐付けられたプログラムデータを抽出するとともに、機械学習用プログラムの名称に紐付けられたプログラムデータを抽出する。
 プログラムデータ送信モジュール25は、機械学習用プログラムを示す学習用プログラムデータを、計算機300に送信する(ステップS31)。
 プログラムデータ受信モジュール350は、学習用プログラムデータを受信する。記憶モジュール360は、受信した学習用プログラムデータを記憶する(ステップS32)。
 プログラムデータ送信モジュール25は、エッジデバイス100用のプログラムを示すデバイス用プログラムデータを、エッジデバイス100に送信する(ステップS33)。ステップS33において、提案コンピュータ10は、デバイス用プログラムデータを、ゲートウェイ200に送信し、ゲートウェイ200は、デバイス用プログラムデータに対応するエッジデバイス100の各々に、デバイス用プログラムデータを送信する。
 プログラムデータ受信モジュール152は、デバイス用プログラムデータを受信する。プログラム設定モジュール161は、受信したデバイス用プログラムデータに基づいて、エッジデバイス100用のプログラムを設定する(ステップS34)。ステップS34において、エッジデバイス100毎に、プログラムが設定される。すなわち、本実施形態において、ネットワークカメラ100a、センサ装置100b、携帯端末100cのそれぞれが、自身に対応するプログラムを設定する。
 表示モジュール160は、プログラムが設定されたことを示す設定完了通知を表示する(ステップS35)。ステップS35において、上述したユーザに何らかの通知を実行することやユーザから何らかの入力を受け付けることが可能なエッジデバイス100にプログラムが設定された場合、このエッジデバイス100に上述した設定完了通知を表示する。また、このようなエッジデバイス100にプログラムが設定されなかった場合、提案コンピュータ10は、ゲートウェイ200に接続されたこのようなエッジデバイス100に、この設定完了通知を表示させる。
 図12に基づいて、表示モジュール160が表示する設定完了通知について説明する。図12は、設定完了通知の一例を示す図である。表示モジュール160は、設定完了通知画面500として、設定内容通知領域510、学習内容通知領域520、終了アイコン530を表示する。設定内容通知領域510は、今回設定が完了したプログラムに関する内容を通知する領域である。表示モジュール160は、「トマト栽培用アプリケーションの設定が完了しました。」と表示する。学習内容通知領域520は、学習内容及びプログラムの実行に関する内容を通知する領域である。表示モジュール160は、「1週間、データ取得と学習を行いますので、11月30日から収穫時期予測を行います。」と表示する。終了アイコン530は、ユーザからの入力を受け付けることにより、設定完了通知画面の表示を終了する。
 なお、設定完了通知画面500における各領域及びアイコンの表示内容、表示態様、表示位置、表示順序等は適宜変更可能である。
 以上が、デバイス検出処理である。
 [第1の機械学習処理]
 図7に基づいて、エッジデバイス制御システム1が実行する第1の機械学習処理について説明する。図7は、エッジデバイス100、計算機300が実行する第1の機械学習処理のフローチャートを示す図である。上述した各装置のモジュールが実行する処理について、本処理に併せて説明する。
 データ取得モジュール162は、各種データを取得する(ステップS40)。ステップS40において、データ取得モジュール162は、エッジデバイス100用のプログラムに基づいて、各種データを取得する。データ取得モジュール162は、例えば、ネットワークカメラ100aである場合、画像を撮像することにより、画像データを取得し、センサ装置100bである場合、環境データを取得する。
 デバイス結果データ送信モジュール153は、取得した各種データを、デバイス結果データとして、計算機300に送信する(ステップS41)。ステップS41において、エッジデバイス100は、ゲートウェイ200にデバイス結果データを送信し、ゲートウェイ200は、計算機300にデバイス結果データを送信する。
 デバイス結果データ受信モジュール351は、デバイス結果データを受信する。計算モジュール370は、受信したデバイス結果データに基づいて、記憶した機械学習用のプログラムを実行することにより、機械学習を実行する(ステップS42)。
 計算結果データ送信モジュール352は、機械学習を実行した結果である計算結果データを、エッジデバイス100に送信する(ステップS43)。ステップS43において、計算結果データ送信モジュール352は、上述したユーザに何らかの通知を実行することやユーザから何らかの入力を受け付けることが可能なエッジデバイス100に計算結果データを送信する。具体的には、携帯端末100cやパーソナルコンピュータ100dに計算結果データを送信する。計算機300は、ゲートウェイ200に計算結果データを送信し、ゲートウェイ200は、エッジデバイス100に計算結果データを送信する。
 表示モジュール160は、計算結果データに基づいて、計算結果を表示する(ステップS44)。
 以上が、第1の機械学習処理である。
 [第2の機械学習処理]
 図8に基づいて、エッジデバイス制御システム1が実行する第2の機械学習処理について説明する。図8は、提案コンピュータ10、エッジデバイス100が実行する第2の機械学習処理のフローチャートを示す図である。上述した各装置のモジュールが実行する処理について、本処理に併せて説明する。
 データ取得モジュール162は、各種データを取得する(ステップS50)。ステップS50の処理は、上述したステップS40の処理と同様である。
 デバイス結果データ送信モジュール153は、デバイス結果データを、提案コンピュータ10に送信する(ステップS51)。
 デバイス結果データ受信モジュール27は、デバイス結果データを受信する。性能判断モジュール26は、ゲートウェイ200に接続されたエッジデバイス100の処理性能が、所定の性能以上であるか否かを判断する(ステップS52)。ステップS52において、性能判断モジュール26は、上述した機器データに基づいて、処理性能を判断する。所定の性能とは、機械学習を行うに足る性能である。なお、処理性能を複数の段階に分けて判断し、段階毎に、後述する処理を実行してもよい。例えば、第1の段階の処理性能を有するエッジデバイス100では、後述の処理を実行させ、第2の段階の処理性能を有するエッジデバイス100では、後述の処理の一部を実行させ、第3の段階の処理性能を有するエッジデバイス100では、後述の処理の一部のさらにその一部を実行させるといった具合である。
 ステップS52において、性能判断モジュール26は、所定の性能以上ではないと判断した場合(ステップS52 NO)、デバイス結果データ送信モジュール28は、デバイス結果データを、計算機300に送信し(ステップS53)、本処理を終了する。エッジデバイス制御システム1は、上述した第1の機械学習処理をこのデバイス結果データに対して実行すればよい。
 一方、ステップS52において、性能判断モジュール26は、所定の性能以上であると判断した場合(ステップS52 YES)、デバイス結果データ送信モジュール28は、デバイス結果データ及びこのデバイス結果データに対応する教師データを、このエッジデバイス100に送信する(ステップS54)。ステップS54において、デバイス結果データ送信モジュール28は、計算機300や他のコンピュータ等から取得した教師データを送信してもよいし、予め記憶した教師データを送信してもよい。また、デバイス結果データ送信モジュール28は、学習用プログラムデータを、教師データとともに送信する。
 デバイス結果データ受信モジュール154は、デバイス結果データ及び教師データを受信する。なお、デバイス結果データ受信モジュール154は、教師データを、提案コンピュータ10以外の他のコンピュータ等から直接ダウンロードしてもよい。このようにすることにより、エッジデバイス制御システム1は、エッジデバイス100に、デバイス結果データに対応する教師データをダウンロードさせるように制御する。
 計算モジュール163は、デバイス結果データ及び教師データに基づいて、機械学習を実行する(ステップS55)。ステップS55において、計算モジュール163は、デバイス結果データ及び教師データと、学習用プログラムデータとに基づいて、機械学習用のプログラムを実行することにより、機械学習を実行する。
 表示モジュール160は、機械学習を実行した結果である計算結果データに基づいて、計算結果を表示する(ステップS56)。ステップS56において、エッジデバイス100は、他のエッジデバイス100に、計算結果データを送信し、この他のエッジデバイス100が計算結果データに基づいて、計算結果を表示してもよい。
 以上が、第2の機械学習処理である。
 上述した手段、機能は、コンピュータ(CPU、情報処理装置、各種端末を含む)が、所定のプログラムを読み込んで、実行することによって実現される。プログラムは、例えば、コンピュータからネットワーク経由で提供される(SaaS:ソフトウェア・アズ・ア・サービス)形態で提供される。また、プログラムは、例えば、フレキシブルディスク、CD(CD-ROMなど)、DVD(DVD-ROM、DVD-RAMなど)等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し記憶して実行する。また、そのプログラムを、例えば、磁気ディスク、光ディスク、光磁気ディスク等の記憶装置(記録媒体)に予め記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
 以上、本発明の実施形態について説明したが、本発明は上述したこれらの実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
 1 エッジデバイス制御システム、10 提案コンピュータ、100 エッジデバイス、200 ゲートウェイ、300 計算機

Claims (5)

  1.  ゲートウェイに接続されたエッジデバイスを使用して機械学習を行うコンピュータシステムであって、
     前記ゲートウェイに接続されたエッジデバイスを検出する検出手段と、
     検出した前記エッジデバイスの組み合わせを決定する組み合わせ決定手段と、
     決定した前記組み合わせに基づいて、エッジデバイス用のプログラムと機械学習用のプログラムとを決定するプログラム決定手段と、
     前記エッジデバイスに、前記エッジデバイス用のプログラムを実行させ、所定のコンピュータに、前記機械学習用のプログラムを実行させる実行手段と、
     を備えることを特徴とするコンピュータシステム。
  2.  検出した前記エッジデバイスの処理性能を取得する取得手段と、
     取得した前記処理性能に応じて、前記エッジデバイスに、データ及び当該データに対応する教師データを送信する送信手段と、
     前記エッジデバイスに、前記教師データを用いて前記データを機械学習させるように制御する制御手段と、
     を備えることを特徴とする請求項1に記載のコンピュータシステム。
  3.  前記エッジデバイスに、前記データに対応する教師データをダウンロードさせるように制御するダウンロード手段と、
     を備えることを特徴とする請求項2に記載のコンピュータシステム。
  4.  ゲートウェイに接続されたエッジデバイスを使用して機械学習を行うエッジデバイス制御方法であって、
     前記ゲートウェイに接続されたエッジデバイスを検出するステップと、
     検出した前記エッジデバイスの組み合わせを決定するステップと、
     決定した前記組み合わせに基づいて、エッジデバイス用のプログラムと機械学習用のプログラムとを決定するステップと、
     前記エッジデバイスに、前記エッジデバイス用のプログラムを実行させ、所定のコンピュータに、前記機械学習用のプログラムを実行させるステップと、
     を備えることを特徴とするエッジデバイス制御方法。
  5.  ゲートウェイに接続されたエッジデバイスを使用して機械学習を行うコンピュータシステムに、
     前記ゲートウェイに接続されたエッジデバイスを検出するステップ、
     検出した前記エッジデバイスの組み合わせを決定するステップ、
     決定した前記組み合わせに基づいて、エッジデバイス用のプログラムと機械学習用のプログラムとを決定するステップ、
     前記エッジデバイスに、前記エッジデバイス用のプログラムを実行させ、所定のコンピュータに、前記機械学習用のプログラムを実行させるステップ、
     を実行させるためのプログラム。
PCT/JP2016/085565 2016-11-30 2016-11-30 コンピュータシステム、エッジデバイス制御方法及びプログラム WO2018100678A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017545429A JP6267838B1 (ja) 2016-11-30 2016-11-30 コンピュータシステム、エッジデバイス制御方法及びプログラム
PCT/JP2016/085565 WO2018100678A1 (ja) 2016-11-30 2016-11-30 コンピュータシステム、エッジデバイス制御方法及びプログラム
US15/568,852 US10460258B2 (en) 2016-11-30 2016-11-30 Computer system, and method and program for controlling edge device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/085565 WO2018100678A1 (ja) 2016-11-30 2016-11-30 コンピュータシステム、エッジデバイス制御方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2018100678A1 true WO2018100678A1 (ja) 2018-06-07

Family

ID=61020798

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/085565 WO2018100678A1 (ja) 2016-11-30 2016-11-30 コンピュータシステム、エッジデバイス制御方法及びプログラム

Country Status (3)

Country Link
US (1) US10460258B2 (ja)
JP (1) JP6267838B1 (ja)
WO (1) WO2018100678A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023013131A1 (ja) 2021-08-04 2023-02-09 コニカミノルタ株式会社 情報処理システムおよび情報処理プログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10461421B1 (en) * 2019-05-07 2019-10-29 Bao Tran Cellular system
WO2021051081A1 (en) 2019-09-13 2021-03-18 Trackonomy Systems, Inc. Wireless autonomous agent platform
US11711722B2 (en) 2020-05-14 2023-07-25 Trackonomy Systems, Inc. Detecting airwave congestion and using variable handshaking granularities to reduce airwave congestion
WO2021258019A1 (en) 2020-06-18 2021-12-23 Trackonomy Systems, Inc. Transient wireless communications network
KR20220012054A (ko) 2020-07-22 2022-02-03 삼성전자주식회사 엣지 컴퓨팅 시스템 및 연결 기기 추천 방법
US20220044101A1 (en) * 2020-08-06 2022-02-10 Micron Technology, Inc. Collaborative sensor data processing by deep learning accelerators with integrated random access memory
US11720417B2 (en) 2020-08-06 2023-08-08 Micron Technology, Inc. Distributed inferencing using deep learning accelerators with integrated random access memory
EP4205436A4 (en) 2020-10-04 2024-03-13 Trackonomy Systems, Inc. METHOD FOR QUICKLY REPLACING A WIRELESS IOT PRODUCT AND SYSTEM THEREOF
CN113286008B (zh) * 2021-06-15 2021-10-01 广州市威士丹利智能科技有限公司 一种边缘计算智能网关业务处理方法及智能网关系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140194A (ja) * 2000-10-31 2002-05-17 Toshiba Corp 情報処理方法および情報処理装置およびエージェントシステム
JP2007241718A (ja) * 2006-03-09 2007-09-20 Kansai Electric Power Co Inc:The 情報提供システム及びサーバ装置
JP2014222480A (ja) * 2013-05-14 2014-11-27 株式会社東芝 サービス提供システム、サービス提供方法およびサービス提供管理装置
US20160299899A1 (en) * 2014-08-19 2016-10-13 Yandex Europe Ag Generating a user-specific ranking model on a user electronic device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL398136A1 (pl) * 2012-02-17 2013-08-19 Binartech Spólka Jawna Aksamit Sposób wykrywania kontekstu urzadzenia przenosnego i urzadzenie przenosne z modulem wykrywania kontekstu
US8700931B2 (en) * 2012-03-30 2014-04-15 Verizon Patent And Licensing Inc. Method and system for managing power of a mobile device
US10356649B2 (en) * 2014-09-26 2019-07-16 Intel Corporation Multisensory change detection for internet of things domain
US10958531B2 (en) * 2015-12-16 2021-03-23 International Business Machines Corporation On-demand remote predictive monitoring for industrial equipment analysis and cost forecast
WO2017196821A1 (en) * 2016-05-09 2017-11-16 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US10931758B2 (en) * 2016-11-17 2021-02-23 BrainofT Inc. Utilizing context information of environment component regions for event/activity prediction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140194A (ja) * 2000-10-31 2002-05-17 Toshiba Corp 情報処理方法および情報処理装置およびエージェントシステム
JP2007241718A (ja) * 2006-03-09 2007-09-20 Kansai Electric Power Co Inc:The 情報提供システム及びサーバ装置
JP2014222480A (ja) * 2013-05-14 2014-11-27 株式会社東芝 サービス提供システム、サービス提供方法およびサービス提供管理装置
US20160299899A1 (en) * 2014-08-19 2016-10-13 Yandex Europe Ag Generating a user-specific ranking model on a user electronic device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023013131A1 (ja) 2021-08-04 2023-02-09 コニカミノルタ株式会社 情報処理システムおよび情報処理プログラム

Also Published As

Publication number Publication date
JP6267838B1 (ja) 2018-01-24
US20180293513A1 (en) 2018-10-11
US10460258B2 (en) 2019-10-29
JPWO2018100678A1 (ja) 2018-11-29

Similar Documents

Publication Publication Date Title
JP6267838B1 (ja) コンピュータシステム、エッジデバイス制御方法及びプログラム
CN109740018B (zh) 用于生成视频标签模型的方法和装置
CN107688950B (zh) 家电售后咨询方法、电子设备和计算机可读存储介质
US9021020B1 (en) Application recognition based on media analysis
US10591999B2 (en) Hand gesture recognition method, device, system, and computer storage medium
JP7068745B2 (ja) 学習済モデル提案システム、学習済モデル提案方法、およびプログラム
US8958634B2 (en) Image processing device that displays retrieved image similar to target image
WO2020251523A1 (en) Modifying sensor data using generative adversarial models
JP6404529B1 (ja) コンピュータシステム、api提供方法及びプログラム
CN109388722A (zh) 一种用于添加或查找社交联系人的方法与设备
WO2018198318A1 (ja) コンピュータシステム、遠隔操作通知方法及びプログラム
JP6267840B1 (ja) コンピュータシステム、エッジデバイス制御方法及びプログラム
US20170195129A1 (en) Method and device to control secondary devices
WO2018033953A1 (ja) IoT機器ユーザーインターフェース表示システム、IoT機器ユーザーインターフェース表示方法及びプログラム
US10430145B2 (en) Remote terminal, method of remote instruction
WO2017208356A1 (ja) IoT制御システム、IoT制御方法及びプログラム
KR102521408B1 (ko) 인포그래픽을 제공하기 위한 전자 장치 및 그에 관한 방법
CN113835591A (zh) 弹窗处理方法及装置
CN110955799A (zh) 一种基于目标检测的人脸推荐影视方法
WO2019026166A1 (ja) 作業データ分類システム、作業データ分類方法、およびプログラム
JP2020119001A (ja) 情報処理装置、情報処理方法、及びプログラム
US9967410B2 (en) Mobile device, computer device and image control method thereof for editing image via undefined image processing function
JP2014191588A5 (ja)
US20230409389A1 (en) Ai operation processing method on input image and camera device using the same
JP6274742B2 (ja) 電子機器設定システム、電子機器設定方法、電子機器設定システム用プログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2017545429

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15568852

Country of ref document: US

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

Ref document number: 16922934

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16922934

Country of ref document: EP

Kind code of ref document: A1