WO2022158068A1 - 通信システム、通信制御プログラム、および通信制御方法 - Google Patents

通信システム、通信制御プログラム、および通信制御方法 Download PDF

Info

Publication number
WO2022158068A1
WO2022158068A1 PCT/JP2021/039413 JP2021039413W WO2022158068A1 WO 2022158068 A1 WO2022158068 A1 WO 2022158068A1 JP 2021039413 W JP2021039413 W JP 2021039413W WO 2022158068 A1 WO2022158068 A1 WO 2022158068A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal device
data
server
transmission
communication system
Prior art date
Application number
PCT/JP2021/039413
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 US18/272,447 priority Critical patent/US20240080835A1/en
Priority to JP2022576981A priority patent/JP7332063B2/ja
Publication of WO2022158068A1 publication Critical patent/WO2022158068A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/52Allocation or scheduling criteria for wireless resources based on load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/1263Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data

Definitions

  • the present invention relates to a communication system, a communication control program, and a communication control method.
  • 5G 5th generation mobile communication system
  • private 5G also called local 5G
  • 5G private 5G
  • SoCs System-on-a-Chips
  • FPGAs Field-Programmable Gate Arrays
  • GPU Graphics Processing Unit
  • DSP Demand-Side Platform
  • one communication line is shared between upstream and downstream. For this reason, when downloading update data, there is no choice but to send it at a timing when the downlink communication situation is relatively free, or to divide it into low-capacity units and send it over a long period of time.
  • Patent Document 1 data is uploaded from a terminal device equipped with an in-vehicle sensor to a server through a communication line.
  • a terminal device equipped with an in-vehicle sensor to a server through a communication line.
  • either the information of the in-vehicle sensor or the information of the analysis result in the terminal device is transmitted according to the change in the line speed of the communication line.
  • the line speed drops when uploading data, the real-time nature of the information will not be lost.
  • Patent Document 2 an operating environment after software update is constructed in a second information processing system, and an operating environment before software update in the first information processing system is moved to the second information processing system.
  • a second information processing system is caused to execute updated software, and processing target information of the second information processing system is changed from information obtained by executing the pre-update software to post-update software. Change the information obtained by running the software.
  • software update processing executed by an information processing device having limited information processing resources such as a server in an IoT (Internet of Things) system can be performed without stopping the information processing device. It is said to be feasible.
  • Patent Document 1 does not take any countermeasures against the delay when data is transmitted from the server to the edge device.
  • the technique of Patent Document 2 does not take any countermeasures against communication line delays.
  • the terminal device when the terminal device is equipped with versatile hardware such as FPGA and GPU/DSP, and the function is changed by rebuilding them, the data for rebuilding can be sent quickly and accurately and restarted. need to let However, with the conventional technology, if there is a delay in the communication line during download, it is necessary to reduce the frequency of rebuilding due to updates, making it difficult to update or rebuild for each connected terminal device.
  • an object of the present invention is to provide a communication system, a communication control program, and a communication control method that enable real-time reconstruction of a terminal device by reflecting data from a server in the terminal device in real time. is.
  • a terminal device having a sensing device; a network system including, at least in part, wireless communication;
  • a communication system comprising a server that performs data transmission with the terminal device via wireless communication by the network system,
  • the communication system has a control unit that dynamically controls a transmission ratio between the uplink and the downlink, with a direction from the terminal device to the server being an uplink and a direction from the server to the terminal device being a downlink. death,
  • the communication system wherein the control unit adjusts the transmission ratio according to the status of data transmission or the type of data transmission.
  • control unit adjusts the transmission ratio so that the uplink transmission amount increases.
  • control unit adjusts the transmission ratio so that the downlink transmission amount increases.
  • the communication system according to (1) or (2) above.
  • control unit adjusts the transmission ratio in response to a request from the terminal device.
  • the server notifies the terminal device whether or not data transmission can be interrupted;
  • the terminal device has a storage for storing data, The communication system according to any one of (5) to (7) above, wherein the terminal device stores data from the sensing device in the storage when data transmission interruption is not permitted.
  • control unit If the control unit does not receive a request for changing the transmission ratio from the terminal device within a predetermined period of time after adjusting the downlink transmission amount to increase, the control unit increases the uplink transmission amount.
  • the server If the server does not receive a data transmission request from the terminal device within a predetermined time period after the control unit has adjusted the transmission ratio so that the downlink transmission amount increases, the server The communication system according to (9) above, wherein a request is made to the control unit to increase the amount of uplink transmission.
  • control unit adjusts the transmission ratio so that the downlink transmission amount increases when transmitting the control program and/or the logical data.
  • a terminal device having a sensing device; a network system having wireless communication at least in part;
  • a communication control program for controlling a communication system having a server that performs data transmission with the terminal device via wireless communication by the network system,
  • the communication system has a computer that dynamically controls a transmission ratio between uplink and downlink, with a direction from the terminal device to the server being an uplink and a direction from the server to the terminal device being a downlink.
  • a communication control program for causing the computer to execute the step (a) of adjusting the transmission ratio according to the status of data transmission or the type of data transmission.
  • step (a) when the amount of data from the terminal device to the server is larger than the amount of data from the server to the terminal device, the transmission ratio is set so that the uplink transmission amount increases.
  • step (a) when the amount of data from the server to the terminal device is larger than the amount of data from the terminal device to the server, the transmission ratio is set so that the downlink transmission amount increases.
  • (23) a terminal device having a sensing device; a network system having wireless communication at least in part;
  • the transmission ratio of uplink to downlink is adjusted according to the data transmission situation or the type of data transmission.
  • the priority of the line can be adjusted according to the necessity of uplink and downlink in data transmission, the delay in data transmission can be reduced, and the data from the server can be reflected in the terminal device in real time. This makes it possible to reconfigure the terminal device in real time.
  • FIG. 1 is a diagram showing a schematic configuration of a communication system according to one embodiment of the present invention
  • FIG. 1 is a block diagram for explaining functions of a communication system according to an embodiment
  • FIG. It is a block diagram which shows an example of the hardware constitutions of a terminal device.
  • 1 is a block diagram showing an outline of hardware that constitutes a network system
  • FIG. 3 is a block diagram showing an outline of hardware that constitutes the server
  • FIG. 4 is a flow chart showing a processing procedure according to the first embodiment
  • 9 is a flow chart showing a processing procedure in Embodiment 2
  • 11 is a flow chart showing a processing procedure in Embodiment 3.
  • FIG. 14 is a flow chart showing a processing procedure in Embodiment 4.
  • FIG. 1 is a diagram showing a schematic configuration of a communication system according to one embodiment of the present invention
  • FIG. 1 is a block diagram for explaining functions of a communication system according to an embodiment
  • FIG. It is a block diagram which shows an example
  • FIG. 1 is a diagram showing a schematic configuration of a communication system 1 according to one embodiment of the present invention.
  • FIG. 2 is a block diagram for explaining functions of the communication system 1 according to one embodiment.
  • the communication system 1 includes terminal devices 100 (100a, 100b, 100c, . . . ), a network system 200, and a server 300.
  • the communication system 1 is, for example, a private 5G communication system.
  • the terminal device 100 includes a sensing device (simply referred to as a sensor 109 hereinafter) and transmits information detected by the sensor 109 to the server 300 .
  • the terminal device 100 also performs machine learning and determination based on information detected by the sensor 109 .
  • Such a terminal device 100 is also called an edge device, an edge terminal, etc., and is an electronic device that can also be used for IoT.
  • the terminal device 100 is, for example, a mobile terminal device 100a such as a smart phone or a tablet computer, a fixed terminal device 100b such as a personal computer, or a monitoring camera device 100c having a wireless device attached to a camera.
  • a mobile terminal device 100a such as a smart phone or a tablet computer
  • a fixed terminal device 100b such as a personal computer
  • a monitoring camera device 100c having a wireless device attached to a camera.
  • Each of these terminal devices 100a, 100b, and 100c is a device in which a sensor 109 and a computer having a wireless communication function are integrated or locally connected.
  • these terminal devices 100a, 100b, and 100c are described as the terminal device 100 unless otherwise distinguished.
  • the terminal device 100 has a wireless communication unit 101, a line transmission ratio change request unit 102, a data reception processing unit 103, an analysis learning internal setting change unit 104, and a control program/logical data unit 105, as shown in FIG.
  • the terminal device 100 is connected (or integrated) with a storage 106 and a sensor 109 .
  • the wireless communication unit 101 performs communication with the network system 200 by 5G.
  • the line transmission ratio change request unit 102 requests the network system 200 to change the line transmission ratio.
  • a line for communication from the terminal device 100 to the server 300 is called an up line, and a line for communication from the server 300 to the terminal device 100 is called a down line.
  • the transmission ratio is the ratio of the amount of transmission on the downlink to the amount of transmission on the uplink.
  • the line transmission ratio change request unit 102 requests the network system 200 to change the transmission ratio.
  • the data reception processing unit 103 processes data transmitted/received to/from the server 300 .
  • the data transmitted from the terminal device 100 is, for example, data collected by the sensor 109, data generated by the analysis learning internal setting changing unit 104, and the like.
  • the data reception processing unit 103 once receives these data from each unit, performs necessary processing, and outputs the data to the wireless communication unit 101 .
  • the required processing includes, for example, data labeling, integration, compression, and other data processing.
  • the wireless communication unit 101 transmits these data to the network system 200.
  • these data are transmitted to the server 300 according to the destination.
  • data received from server 300 is, for example, a control program and/or logic data for controlling terminal device 100 .
  • These data transmitted from the server 300 are received by the wireless communication unit 101 of the terminal device 100 via the network system 200 .
  • the received data is temporarily output from wireless communication section 101 to data reception processing section 103 .
  • the data reception processing unit 103 performs necessary processing on the received data and outputs the processed data to each unit.
  • the required processing includes, for example, integration, decompression and decompression of compressed data, sorting by label, and reprocessing and restoration of other processed data.
  • the analysis learning internal setting changing unit 104 analyzes and/or learns data input from the sensor 109 .
  • the analysis by the analysis learning internal setting change unit 104 analyzes the image data in time series by image processing, determines changes in the image, and identifies a person or an object.
  • the learning by the analysis learning internal setting changing unit 104 is, for example, machine learning using image data.
  • Machine learning includes deep learning. Specifically, for example, in the analysis by the analysis learning internal setting change unit 104, based on the previous learning result or the control program and/or logic data transmitted from the server 300, from the image data detected by the sensor 109, the person and instant identification of objects, counting of people and objects, and so on.
  • the analysis by the analysis learning internal setting changing unit 104 specifies the temperature of a person or an object, and determines a person or an object whose temperature is higher than a certain level. Further, in the learning by the analysis learning internal setting change unit 104, machine learning is performed using image data from the sensor 109 as input and, for example, a person as teaching data, thereby obtaining a learning result used for identifying the person. Note that the analysis learning internal setting changing unit 104 may perform either analysis or learning, or both, depending on the performance of the terminal device 100 .
  • the analysis learning internal setting changing unit 104 changes and optimizes the settings inside the terminal device 100 based on the results of the analysis and/or learning.
  • the control program/logical data unit 105 stores a control program and/or logical data for operating the terminal device 100 based on the results analyzed and/or learned by the analysis learning internal setting changing unit 104. Also, the control program/logical data unit 105 stores a control program and/or logical data for operating the terminal device 100 downloaded from the server 300 . Although the details will be described later, in the case of FPGA as a hardware configuration, the control program/logical data section 105 is configured as a memory area within the same chip as the CPU function. If the hardware configuration is such that the CPU and the memory are separate, the control program/logical data unit 105 is composed of a semiconductor memory such as a RAM connected to the CPU. In either case, the control program/logical data unit 105 stores the control program and/or logical data in an immediately executable state.
  • the storage 106 stores the results analyzed and/or learned by the analysis learning internal setting changing unit 104 . Also, the storage 106 stores data from the sensor 109 . The storage 106 also stores control programs and/or logical data for operating the terminal device 100 . The control programs and/or logical data stored in the storage 106 are not to be executed immediately, but are stored to be read out to the control program/logical data section 105 when there is an instruction to change the function.
  • the capacity of the storage 106 is determined according to the cost of the terminal device 100, and the contents to be stored are appropriately changed according to the capacity. do it.
  • storage 106 may store only data from sensor 109 .
  • the terminal device 100 downloads the control program and/or the logical data from the server 300 and uses them.
  • the storage 106 does not necessarily have to be provided.
  • the terminal device 100 downloads the control program and/or the logical data from the server 300 and uses them. By not including the storage 106, the cost of the terminal device 100 can be further reduced.
  • the sensor 109 is, for example, an image sensor.
  • An image sensor is, for example, a camera that primarily detects visible light. Further, the sensor 109 is an infrared camera, a thermo camera (temperature detection camera), or the like.
  • Other sensors 109 include, for example, an acoustic sensor that detects sound like a microphone, an altitude sensor that detects altitude (elevation), an air pressure sensor, an underwater depth sensor (water pressure sensor), a vibration sensor, an orientation sensor, an angle sensor, Various sensors can be used such as temperature sensors, voltage sensors, current sensors, and power sensors.
  • the data detected by these sensors 109 are transmitted to the server 300 as required. Data detected by the sensor 109 is also stored in the storage 106 as necessary.
  • the terminal device 100 may include, for example, a network interface conforming to standards such as Ethernet (registered trademark) and IEEE1394, a wireless communication interface such as Bluetooth (registered trademark) and IEEE802.11. good.
  • a network interface conforming to standards such as Ethernet (registered trademark) and IEEE1394, a wireless communication interface such as Bluetooth (registered trademark) and IEEE802.11. good.
  • FIG. 3 is a block diagram showing an example of the hardware configuration of the terminal device 100. As shown in FIG.
  • the terminal device 100 is a computer.
  • the terminal device 100 has an SoC FPGA 110, a storage 106, a 5G communication interface 150, and an operation display section 160, as shown in FIG.
  • the SoC FPGA 110 is a semiconductor element (including a semiconductor element in which multiple chips are joined together) in which an FPGA capable of rewriting the processing contents to be executed is formed on one chip as a system.
  • the SoC FPGA 110 is also called Programmable SoC.
  • the SoC FPGA 110 has functions such as a CPU (Central Processing Unit) as an arithmetic element, a ROM (Read Only Memory) and a RAM (Random Access Memory) as memory elements (or has a plurality of these functions). multiple chips integrated).
  • the SoC FPGA 110 may be equipped with an accelerator such as a GPU/DSP.
  • SoC FPGA 110 stores control programs and/or logic data necessary for operation (including rewriting of gate circuits in FPGA), and by executing them, the functions of each unit of terminal device 100 described above are realized. be done. Therefore, SoC FPGA 110 functions as line transmission ratio change request section 102 , data reception processing section 103 , analysis learning internal setting change section 104 , and control program/logical data section 105 .
  • the storage 106 is a storage medium such as eMMC (embedded MultiMediaCard), SSD (Solid State Drive), and HDD (Hard Disk Drive). Also, the storage 106 may be a portable storage medium such as a memory card.
  • eMMC embedded MultiMediaCard
  • SSD Solid State Drive
  • HDD Hard Disk Drive
  • the storage 106 may be a portable storage medium such as a memory card.
  • the 5G communication interface 150 is the wireless communication unit 101 for communicating with the network system 200 by 5G, and is configured by a communication module chip. Note that the 5G communication interface 150 may also be integrated as the SoC FPGA 110 .
  • the operation display unit 160 is, for example, a touch panel display, which displays various information and accepts various inputs from the user. Also, depending on the terminal device 100, an input device such as a keyboard or a mouse and a monitor may be connected.
  • terminal device 100 is not limited to the SoC FPGA 110, and may be an FPGA other than the SoC, or may have a configuration in which the CPU, RAM, and ROM are independent and connected via a bus. .
  • the network system 200 has a 5G wireless communication function and controls communication between the terminal device 100 and the server 300 .
  • the network system 200 has a wireless communication control unit 201, a line transmission ratio control unit 202, and a processing relay determination unit 203, as shown in FIG.
  • the network system 200 performs communication with the terminal device 100 and the server 300 by 5G. Therefore, the network system 200 is a 5G radio base station and core network equipment.
  • the wireless communication control unit 201 controls communication with other electronic devices.
  • the wireless communication control unit 201 controls 5G communication between the terminal device 100 and the server 300 in this embodiment.
  • the line transmission ratio control unit 202 (control unit) dynamically adjusts the transmission ratio of the uplink and downlink.
  • the transmission ratio is adjusted, for example, according to the situation and type of data transmitted and received between the terminal device 100 and the server 300 .
  • the line transmission ratio control unit 202 determines the status of data to be transmitted and received based on the difference in the amount of data transmitted and received between the terminal device 100 and the server 300, and performs transmission according to the determined data status. Adjust the ratio. Specifically, for example, the line transmission ratio control unit 202 monitors the communication volume of the wireless communication control unit 201, acquires and compares the transmission volume of each of the uplink and the downlink, and thereby determines the terminal device 100 and the server 300. determine the status of data sent and received between For example, in a situation where the amount of downlink data is large, line transmission ratio control section 202 adjusts so that the amount of downlink transmission increases. Conversely, when the amount of uplink data is large, line transmission ratio control section 202 adjusts the uplink transmission amount to increase.
  • the line transmission ratio control unit 202 adjusts the transmission ratio according to the type of data transmitted and received between the terminal device 100 and the server 300, for example.
  • the types of data to be sent and received are, for example, data related to the function change of terminal device 100 by server 300, data detected by sensor 109 of terminal device 100, data of analysis and/or learning result by terminal device 100, and the like.
  • the data related to the function change of the terminal device 100 is data downloaded from the server 300 to the terminal device 100 and transmitted using the downlink.
  • the data detected by the sensor 109 of the terminal device 100 and the data of the analysis and/or learning results by the terminal device 100 are data uploaded from the terminal device 100 to the server 300 and transmitted using the uplink. be.
  • the data type determination is performed by the terminal device 100 in the first embodiment.
  • the terminal device 100 transmits a transmission ratio change request to the line transmission ratio control unit 202 according to the determined data type.
  • the line transmission ratio control section 202 adjusts the transmission ratio according to the request received from the terminal device 100 .
  • the line transmission ratio control section 202 adjusts the uplink transmission amount to increase.
  • the line transmission ratio control section 202 adjusts the downlink transmission amount to increase.
  • the line transmission ratio control unit 202 may adjust the transmission ratio in response to a request not only from the terminal device 100 but also from the server 300 .
  • the line transmission ratio control unit 202 gives priority to a predetermined line when neither the terminal device 100 nor the server 300 requests to change the transmission ratio.
  • a line with priority when there is no request is, for example, an uplink.
  • the adjustment of the uplink pair and downlink transmission ratios can be implemented, for example, by methods such as those described in the following references.
  • Reference 2 discloses a technique for flexibly setting a DL (download)/UL (upload) switching cycle as Semi-static TDD, and a technique for switching DL/UL for each symbol as Dynamic TDD.
  • the adjustment of the uplink pair and downlink transmission ratios may be implemented by other methods.
  • the processing relay determination unit 203 When the processing relay determination unit 203 detects the occurrence of communication failure, it stops communication and restores the original settings.
  • FIG. 4 is a block diagram outlining the hardware that constitutes the network system 200. As shown in FIG. 4
  • the network system 200 is a computer.
  • the network system 200 has a CPU 210, a ROM 220, a RAM 230, a storage 240, a 5G communication interface 250, and an operation display section 260, as shown in FIG.
  • Each component is communicatively connected to each other via a bus 270 .
  • the CPU 210 executes the functions of each part of the network system 200 described above by executing programs recorded in the ROM 220 and the storage 240 .
  • the ROM 220 stores various programs and various data.
  • the RAM 230 temporarily stores programs and data as a work area.
  • the storage 240 stores various programs including the operating system and various data.
  • the storage 240 is a storage medium such as eMMC (embedded MultiMediaCard), SSD (Solid State Drive), and HDD (Hard Disk Drive).
  • eMMC embedded MultiMediaCard
  • SSD Solid State Drive
  • HDD Hard Disk Drive
  • the 5G communication interface 250 performs 5G communication with the terminal device 100 and the server 300 as the wireless communication control unit 201 .
  • the operation display unit 260 is, for example, a touch panel display, which displays various information and accepts various inputs from the user. Further, as the operation display unit 260, an input device such as a keyboard or a mouse and a monitor may be connected.
  • the line transmission ratio control unit 202 does not have to be provided in the network system 200 .
  • the line transmission ratio control unit 202 may be realized by a computer installed at a remote location.
  • a computer serving as the line transmission ratio control unit 202 may be connected to the network system 200 having the wireless communication control unit 201 and the processing relay determination unit 203 to perform processing for dynamically controlling the transmission ratio.
  • Server 300 analyzes and/or learns data transmitted from terminal device 100 .
  • Server 300 also stores control programs and/or logical data for changing the functions of terminal device 100 .
  • the server 300 generates control programs and/or logic data for changing the functions of the terminal device 100 .
  • the server 300 also changes the settings (functions) of the terminal device 100 .
  • the server 300 has a wireless communication unit 301, a terminal data analysis learning unit 302, a control program/logical data generation unit 303, and a generation completion notification unit 304, as shown in FIG.
  • the server 300 may be called an edge server.
  • the server 300 is also called a cloud server because it stores data collected by the terminal device 100 from the sensor 109, control programs and/or logic data used by the terminal device 100, etc. on the network.
  • the wireless communication unit 301 executes communication with the network system 200 by 5G.
  • the terminal data analysis learning unit 302 analyzes the data received from the terminal device 100 and learns.
  • Terminal data analysis learning section 302 analyzes the status of terminal device 100 based on the data received from terminal device 100 . Also, the terminal data analysis learning unit 302 performs machine learning using data received from the terminal device 100 .
  • the server 300 has higher performance and functions than the terminal device 100 . Therefore, the terminal device 100 can perform difficult machine learning.
  • the results of analysis and machine learning are output to the control program/logic data generation unit 303 .
  • the control program/logical data generation unit 303 generates the optimal control program and/or logical data for the terminal device 100 from the results of analysis and machine learning.
  • the control program and/or logic data are programs and/or data for operating the terminal device 100. For example, when the terminal device 100 is performing machine learning from data detected by the sensor 109 provided in itself, it is a program and / or data necessary when another learning is required. . What control program and/or logic data to generate may be determined by the control program/logic data generator 303, for example, based on the results of machine learning.
  • control program for the hardware of the terminal device 100 is a program that is mainly executed by the CPU of the terminal device 100 or the CPU function circuit in the FPGA.
  • logic data is mainly data for rewriting circuit data of FPGA.
  • control program and/or logic data are, for example, programs and/or data that serve as criteria for determining the data of the sensor 109 by the terminal device 100 .
  • the control program/logical data generation unit 303 when a person or an object is determined by the terminal device 100, the control program/logical data generation unit 303 generates a program and/or data necessary for the terminal device 100 to determine the person or the object.
  • the control program/logical data generation unit 303 outputs the control program and/or logic data generation completion to the generation completion notification unit 304 .
  • the control program and/or logical data may be stored in the storage 340 of the server 300 in advance.
  • a control program and/or logical data may be stored in accordance with an assumption in advance in which case the function of the terminal device 100 will be changed.
  • the generation completion notification unit 304 receives the generation completion output from the control program/logical data generation unit 303 and notifies the terminal device 100 that preparations for transmission of the control program and/or logic data have been completed. Further, in the case of transmitting the stored control program and/or logic data, the generation completion notification unit 304 outputs to the wireless communication unit 301 that the transmission preparation is completed when the preparation for transmitting these data is completed. do. The wireless communication unit 301 notifies the terminal device 100 of transmission preparation completion via the network system 200 .
  • the terminal device 100 requests the network system 200 to give priority to the downlink upon receiving the data transmission preparation completion notification from the server 300 .
  • the network system 200 is adjusted so that the amount of downlink transmission increases.
  • server 300 transmits the control program and/or logical data to terminal device 100 from wireless communication unit 301 through network system 200 .
  • control programs and/or logical data can be transmitted from the server 300 to the terminal device 100 efficiently and in real time.
  • FIG. 5 is a block diagram outlining the hardware that makes up the server 300. As shown in FIG. 5
  • the server 300 is a computer.
  • the server 300 has a CPU 310, a ROM 320, a RAM 330, a storage 340, a 5G communication interface 350, and an operation display section 360, as shown in FIG.
  • Each component is communicatively connected to each other via a bus 370 .
  • the CPU 310 executes the functions of each section of the server 300 described above by executing programs recorded in the ROM 320 and storage 340 .
  • the ROM 320 stores various programs and various data.
  • the RAM 330 temporarily stores programs and data as a work area.
  • the storage 340 stores various programs including the operating system and various data.
  • Storage 340 stores control programs and/or logical data.
  • the storage 340 is mainly a large-capacity storage medium such as an HDD.
  • a semiconductor storage medium such as eMMC or SSD may be used together with the HDD or instead of the HDD.
  • the 5G communication interface 350 performs 5G communication with the network system 200 as the wireless communication unit 301 .
  • the operation display unit 360 is, for example, a touch panel display, which displays various information and accepts various inputs from the user. Further, as the operation display unit 360, an input device such as a keyboard or a mouse and a monitor may be connected.
  • FIG. 6 is a flow chart showing the processing procedure in the first embodiment.
  • the terminal device 100 has an image sensor.
  • the terminal device 100 itself also executes predetermined machine learning.
  • the server 300 stores control programs and/or logical data for changing the functions of the terminal device 100 in the storage 340 of the server 300 .
  • the server 300 analyzes the data from the terminal device and changes the functions of the terminal device 100 according to the result.
  • a control program is, for example, a program for controlling a deep learning network.
  • the logical data is, for example, circuit data for FPGA using a model file of a deep learning network trained in advance.
  • the processing procedure of network system 200 corresponds to processing executed according to a communication control program.
  • the terminal device 100 transmits (uploads) the image data detected by the image sensor and the analysis result data of the image to the server 300 via the network system 200 (S101).
  • the transmission ratio has already been adjusted so as to prioritize the uplink (S201).
  • the server 300 receives data from the terminal device 100 (S301).
  • the analysis and/or learning in the terminal device 100 is, for example, machine learning using image data acquired by an image sensor as input, and includes, for example, inference by deep learning.
  • the terminal device 100 executes a skeleton detection machine learning algorithm.
  • the terminal device 100 acquires the coordinate data of each joint point of the object recognized as a human being.
  • the terminal device 100 recognizes the height of the person to be photographed.
  • the terminal device 100 analyzes the posture and height of each person from the obtained coordinate data, and transmits the analysis results to the server 300 .
  • the terminal device 100 After transmitting the data, the terminal device 100 continues machine learning from the images acquired by the image sensor for a certain period of time. For example, if the average height of people being photographed is short, the terminal device 100 learns that the current learning target is a child. In this case, the terminal device 100 recognizes that it wants to acquire child data, and if a person with a height of 160 cm or more, for example, is detected, it is assumed that the person is not an object of analysis. Set the threshold for excluding people from analysis targets. Also, if the terminal device 100 already has a height threshold, the terminal device 100 changes the threshold.
  • server 300 which has received data from terminal device 100, further analyzes and/or learns the received data in chronological order (S302), and generates a control program and/or logic data for changing the function of terminal device 100. prepare to send the When the server 300 completes preparations for transmission of the control program and/or logical data, the server 300 notifies the terminal device 100 of completion of transmission preparations (S303).
  • the server 300 analyzes the posture by skeleton detection in the received data in chronological order and learns it as an action of getting lost. Then, the server 300 further analyzes the data from the terminal device 100 based on the learning result, and executes human action determination.
  • the server 300 determines an algorithm to be executed next by the terminal device 100 based on the action determination result.
  • the terminal device 100 is caused to execute a machine learning algorithm for human attribute detection.
  • the server 300 stores control programs and/or logic data to be executed by the terminal device 100 in accordance with presumed behavior determination. Therefore, here, the control program and/or logic data for causing the terminal device 100 to execute the machine learning algorithm for human attribute detection is stored in the server 300 .
  • the data to be notified to the terminal device 100 is the data size of the control program and/or logical data scheduled to be transmitted to the terminal device 100, and whether or not data transmission can be interrupted. Whether data transmission can be interrupted indicates whether data transmission from the server 300 can be interrupted.
  • the terminal device 100 Upon receiving the notification from the server 300, the terminal device 100 transmits a request to the network system 200 to give priority to the downlink transmission ratio (S102). At this time, the terminal device 100 determines the type of data transmitted from the server 300 based on the notification from the server 300 . In the terminal device 100, it is determined for which type of data a downlink priority is requested. In the first embodiment, when the type of data is data related to the function change of the terminal device 10, downlink priority is requested. The control program and/or logic data are data relating to functional changes of the terminal device 100 . Therefore, the terminal device 10 requests downlink priority.
  • the terminal device 100 may determine whether or not to execute the downlink priority request based on the data size included in the notification received from the server 300 before executing the downlink priority request. For example, the terminal device 100 compares the data size included in the notification from the server 300 with a predetermined threshold (threshold of data size), and determines that the data size included in the notification is the data size. is less than the threshold, the downlink priority request may not be executed.
  • the data size threshold is, for example, a data size that is a time interval during which data to be uploaded from the terminal device 100 is allowed to be missing while the data is being downloaded from the server 300 . Since the time interval at which data loss is allowed varies depending on the data communication status, such a data size threshold value may be determined based on past performance or the like.
  • the uplink to downlink transmission ratio may be requested by the terminal device 100 .
  • the transmission ratio is determined, for example, according to what is to be processed next by the terminal device 100 .
  • the transmission ratio for downlink priority may be determined in advance in network system 200 .
  • the terminal device 100 changes its own operation to processing for receiving data (data reception preparation) (S103).
  • data reception preparation the analysis and/or learning processing that the terminal device 100 has been performing and the transmission (upload) of data to the server 300 are temporarily suspended.
  • the control program/logic data can be received from the server 300 .
  • a program for executing data reception preparation processing is stored in terminal device 100 in advance, for example.
  • the terminal device 100 executes a data reception preparation program triggered by the reception of the data transmission preparation completion notification from the server 300 .
  • the terminal device 100 activates its own storage 106 and accumulates data from the sensor 109 . This is to prevent data detected by the sensor 109 from disappearing during a long time required to download data from the server 300 to the terminal device 100 . For example, if it takes 30 seconds to transfer data from the server 300 to the terminal device 100, the data detected by the sensor 109 will disappear for 30 seconds. Therefore, the terminal device 100 activates the storage 106 and stores the data detected by the sensor 109 in the storage 106 for the 30 seconds. It should be noted that whether or not to store in the storage 106 is determined based on the data size and the information regarding whether or not data transmission can be interrupted notified from the server 300 .
  • the terminal device 100 predicts the time required for data transfer from the notified data size, and the predicted data transfer time is set to a threshold value (transfer time). threshold) or more, the data detected by the sensor 109 is stored in the storage 106 . It is preferable that the transfer time threshold is, for example, a time interval in which data detected by the sensor 109 is allowed to be missing. Since the data transfer time varies depending on the data communication status, the transfer time threshold value may be determined based on past records.
  • the terminal device 100 executes a request for suspending data transmission from the server 300 as necessary. For example, the terminal device 100 suspends data transmission when the free space of the storage 106 is small and the data detected by the sensor 109 cannot be stored. Although not shown, a request to suspend data transmission is executed after step S304.
  • the network system 200 that has received the downlink priority request adjusts the transmission ratio to downlink priority according to the request (S202). After completing the adjustment, the network system 200 notifies the terminal device 100 of the completion of the downlink priority adjustment (S203).
  • the terminal device 100 which has received notification of the completion of the transmission ratio adjustment from the network system 200, requests the server 300 to transmit data (S104).
  • the server 300 After receiving the data transmission request, the server 300 transmits (downloads) the control program and/or the logical data to the terminal device 100 (S304).
  • the terminal device 100 uses the received control program and/or logic data to change its own functions (S105). Terminal device 100 restarts itself as necessary in order to operate the received control program and/or logic data.
  • the terminal device 100 operates the changed machine learning algorithm.
  • the modified machine learning algorithm is here the machine learning algorithm of human attribute detection, as described above.
  • the machine learning algorithm for human attribute detection is, for example, learning for lost child determination.
  • the terminal device 100 to which the control program and/or logic data have been downloaded switches to the machine learning algorithm for human attribute detection.
  • the terminal device 100 detects the child from the image data acquired by the image sensor and learns the behavior of the child.
  • the terminal device 100 recognizes the color of the child's top and bottom clothes and the color of the glasses. , gender, hat, presence of bag, etc.
  • the terminal device 100 transmits information to the lost child center, such as the location where the child was detected, height, gender, color of upper and lower clothes, glasses, a hat, and the presence or absence of a bag.
  • the Lost Child Center will announce the lost child.
  • the terminal device 100 requests the network system 200 to prioritize the uplink (S106).
  • the network system 200 that has received the request for uplink priority adjusts to uplink priority (S204).
  • uplink priority S204
  • data can be sent from the terminal device 100 to the server 300 stably and at high speed.
  • the first embodiment described above has the following effects.
  • the functions of the terminal device 100 are changed by replacing the control program and/or the logical data.
  • downlink priority is given according to a request from the terminal device 100 .
  • various functions can be satisfied by minimizing the hardware resources of the terminal device 100 and reconfiguring the terminal device 100 frequently.
  • Embodiment 2 differs from Embodiment 1 in the control mode.
  • the first embodiment described above is an example in which control programs and/or logical data are stored in advance in the storage 340 of the server 300 .
  • the server 300 learns the data transmitted from the terminal device 100 to generate a new control program and/or logical data, and transmits it to the terminal device 100 for reflection.
  • the configuration of the communication system 1 of Embodiment 2 is the same as that of Embodiment 1, so a description thereof will be omitted.
  • FIG. 7 is a flow chart showing the processing procedure in the second embodiment.
  • the terminal device 100 has an image sensor.
  • the terminal device 100 itself also executes predetermined machine learning.
  • Server 300 generates control programs and/or logical data for changing the functions of terminal device 100 .
  • the server 300 changes the functions of the terminal device 100 according to the learning result.
  • the same step numbers are assigned to the same processes as in the first embodiment, and the description thereof is omitted.
  • the terminal device 100 transmits the image data obtained by the image sensor and the data of the analysis result of the image to the server 300 via the network system 200 (S101).
  • the transmission ratio has already been adjusted so as to prioritize the uplink (S201).
  • the server 300 receives data from the terminal device 100 (S301).
  • the analysis and/or learning in the terminal device 100 is, for example, machine learning using images acquired by an image sensor as input, such as inference by deep learning.
  • a result with a low reliability score may appear.
  • Such results are presented to the user to receive feedback on correct answers.
  • the terminal device 100 stores the fed-back correct answer together with the image acquired by the image sensor in the storage 106 as learning data.
  • machine learning is performed to determine a person. For example, in machine learning for judging people, erroneous judgments are likely to occur because people wearing suits or wearing work clothes have similar features.
  • the terminal device 100 can improve the accuracy of the learning data by presenting the result to the user and accepting the input of the correct answer when the reliability of the score is low according to the degree of learning. Note that the terminal device 100 may give an erroneous result to the user even if the reliability score is high, so the terminal device 100 may receive input of learning data from the user.
  • the terminal device 100 transmits the results of such machine learning to the server 300 as learning data.
  • the timing of transmitting the learning data may be, for example, when the amount of image data detected by the sensor 109 is stored at a threshold value or more. At this time, the terminal device 100 may transmit the image data together with the learning data.
  • server 300 After receiving the learning data, the server 300 newly executes machine learning based on the received learning data (S312). Subsequently, server 300 generates a control program and/or logical data for changing the functions of terminal device 100 based on the new learning result (S313).
  • the machine learning algorithm used in the machine learning performed on the terminal device 100 is confirmed. Confirmation of the machine learning algorithm is performed by, for example, storing the control program and/or logic data previously transmitted to the terminal device 100 in the storage 340 and confirming it.
  • the server 300 can identify the machine learning algorithm that is the basis of the received learning data. Determine your network, etc.
  • the determined algorithm may be the same as or different from the algorithm used in terminal device 100 . Specifically, for example, if the deep learning network used in the terminal device 100 is an old version, a new version of the deep learning network is determined from the deep learning networks of the same system.
  • the server 300 analyzes and/or learns the image data from the terminal device 100 using the determined machine learning algorithm.
  • the server 300 After the learning is completed, the server 300 generates control programs and/or logical data based on the learning results. Specifically, for example, the server 300 generates a control program for controlling the deep learning network used. At that time, the generated program may be changed according to parameters such as input resolution and input channel. Also, as logic data, FPGA circuit data is generated using a learned deep learning network description file and a deep learning model file.
  • Subsequent processing procedures are the same as those in the first embodiment, including control program and/or logical data transmission notification from server 300 (S303), downlink priority request (S102), data reception preparation (S103), downlink priority adjustment. (S202), adjustment completion notification (S203), data transmission request (S104), control program and/or logical data transmission (S304), terminal device 100 function change (S105), uplink priority request (S106), uplink Processing such as priority adjustment (S204) is executed.
  • the second embodiment described above has the following effects in addition to the effects of the first embodiment.
  • the server 300 performs learning based on the data of the terminal device 100, and based on the learning result of the server 300, the control program and/or logical data of the terminal device 100 are generated.
  • AI Artificial Intelligence
  • the server 300 which is more sophisticated than the terminal device 100, can perform more advanced machine learning or machine learning involving a large amount of data, which cannot be achieved by the terminal device 100 alone.
  • the hardware resources of the terminal device 100 can be minimized, and the functions of the terminal device 100 can be changed based on advanced learning.
  • Embodiment 3 is a control form when a problem occurs in the terminal device 100 . Since the configuration of the communication system 1 according to the third embodiment is the same as that of the first embodiment, the explanation is omitted.
  • the third embodiment is a case where the terminal device 100 does not output a data transmission request (S104) to the server 300 after receiving the notification of completion of downlink priority adjustment (S203) from the network system.
  • FIG. 8 is a flow chart showing the processing procedure in the third embodiment.
  • a processing procedure when a problem occurs in the terminal device 100 will be described. Therefore, since the basic processing procedure is the same as that of Embodiment 1 or 2, description thereof will be omitted.
  • FIG. 8 shows the processing procedure after the step in which the terminal device 100 transmits a downlink priority request (S102) in the processing procedure of the first embodiment.
  • S102 downlink priority request
  • the server 300 determines whether or not a data transmission request has been received from the terminal device 100 within a predetermined time after receiving this notification (S321).
  • the predetermined time is preferably the time until a request from the terminal device 100 to the server 300 reaches the server 300 as an actual result. Specifically, for example, it is about 0.1 sec to 30 sec.
  • step S321 if a data transmission request is received from the terminal device 100 within a predetermined time (S321: YES), the server 300 transmits the control program and/or logical data (S304). After that, the server 300 returns to S301 to continue the process if there is no instruction to end the process (S305: NO), and ends the process if there is an instruction to end the process (S305: YES).
  • the server 300 requests the network system 200 to prioritize the uplink (S322).
  • the network system 200 that has received the request for uplink priority adjusts the transmission ratio to give uplink priority (S204). At this time, the network system 200 adjusts to, for example, a predetermined standard transmission ratio with uplink priority.
  • the server 300 outputs to the terminal device 100 used by the user (other than the terminal device in which the problem occurred) that the problem has occurred in the terminal device 100 (S323). After that, the server 300 returns to S301 to continue the process if there is no instruction to end the process (S305: NO), and ends the process if there is an instruction to end the process (S305: YES).
  • the third embodiment described above has the following effects in addition to the effects of the first and second embodiments.
  • the terminal device 100 If the terminal device 100 is normal, the terminal device 100 requests the server 300 to transmit data (S104) after receiving the notification of completion of downlink priority (S203), as in the first or second embodiment described above. On the other hand, if the terminal device 100 does not output a data transmission request (S104) to the server 300, it is assumed that the terminal device 100 has some problem.
  • a malfunction of the terminal device 100 is detected by determining whether the server 300 has received a data transmission request within a predetermined time. Then, if the server 300 does not receive a request for data transmission from the terminal device 100 within a predetermined period of time, the server 300 assumes that the terminal device 100 has a problem and requests upstream priority. As a result, in the third embodiment, for example, data can be efficiently transmitted from the terminal device 100 to the server 300 after the malfunctioning terminal device 100 recovers. Further, in the third embodiment, the server 300 outputs the failure occurrence to the terminal devices 100 other than the terminal device 100 in which the failure has occurred.
  • the user of the terminal device 100 and the server 300 can know the occurrence of the malfunction of the terminal device 100 through the terminal device 100 other than the terminal device 100 in which the malfunction has occurred. Also, the occurrence of a malfunction of the terminal device 100 may be displayed on the operation display unit 360 of the server 300 .
  • the server 300 is caused to determine whether a problem has occurred in the terminal device 100 .
  • the network system 200 (control unit) may be allowed to determine whether a problem has occurred in the terminal device 100 .
  • network system 200 monitors whether or not data is transmitted to terminal device 100 that has requested downlink priority. Then, if there is no data transmission from the server 300 to the terminal device 100 within a predetermined period of time, the network system 200 adjusts so as to restore priority to the uplink.
  • Embodiment 4 is a control form regarding the timing of changing the function of the terminal device 100 . Since the configuration of the communication system 1 in the fourth embodiment is the same as that in the first embodiment, the description is omitted.
  • the fourth embodiment is an example of changing the function of the terminal device 100 when there is no change in the content of the data transmitted from the terminal device 100.
  • the sensor 109 of the terminal device 100 is an image sensor such as a surveillance camera, and if there is no moving person or object and image data of the same content continues to be transmitted, the server 300 detects that the person or object is Change the functionality of the terminal device 100 to stop sending data until detected.
  • FIG. 9 is a flow chart showing the processing procedure in the fourth embodiment.
  • a processing procedure for changing the function of the terminal device 100 by the server 300 is shown. This processing procedure is executed, for example, before step S303 of the first embodiment.
  • Other processing procedures are the same as those of the first embodiment, so description thereof is omitted.
  • the server 300 determines whether or not there is any change in the content of the data received from the terminal device 100 (S331). The results of the analysis and/or learning (S302) are used to determine the content of the data. In the data analysis and/or learning process (S302), as already described, data analysis and/or learning is performed in time series. In the case of image data, the server 300 determines that there is no change when there is no change in the image (or there is no change in the number of pixels equal to or greater than a predetermined number) within a predetermined period of time.
  • the predetermined time period for determining that there is no change to be long for example, in a facility where many people come and go or in a time zone when many people come and go. This eliminates the need to frequently change the functions of the terminal device 100 . Conversely, it is preferable to set a short time period for a facility where there are few people going in and out or in a time period when there are few people coming and going. This can reduce unnecessary data transmission.
  • server 300 prepares a control program and/or logical data for changing the function of terminal device 100 (S332).
  • the control program and/or logic data prepared here causes the terminal device 100 to determine a change in the image, to stop data transmission (upload), and to transmit data (upload) when there is a change in the image. ) is restarted.
  • the control program and/or logic data may also cause the terminal device 100 to accumulate data detected by the sensor 109 in the storage 106 while the terminal device 100 stops uploading data.
  • step S331 If it is determined that there is a change in step S331 (S331: NO), the server 300 proceeds to step S303 and continues subsequent processing, as in the first embodiment.
  • the fourth embodiment described above has the following effects in addition to the effects of the first to third embodiments.
  • data transmission from the terminal device 100 is stopped when the data content does not change, and data transmission from the terminal device 100 is restarted when the data content changes. .
  • the amount of data sent to the communication line can be reduced, and the load on the communication line can be reduced.
  • the terminal device 100 or the server 300 transmits a downlink priority request, and during this time, the control program and/or logical data are separately transmitted from the server 300 to the terminal device 100. You can also send. This makes it possible to effectively utilize the time while the upload is stopped.
  • the terminal device 100 or the server 300 can also be used as past performance data by recording the time during which the upload is stopped. By utilizing the past performance data, for example, it is possible to confirm that there is a period of time in which the image does not change, such as meal time or bath time, in the residential facility.
  • the server 300 determines to stop uploading and changes the function of the terminal device 100, but the present invention is not limited to this. For example, by storing a control program and/or logic data for judging an image change in the terminal device 100 in advance, the terminal device 100 itself judges whether or not there is an image change, thereby stopping and resuming the upload. You may let
  • uploading may be stopped periodically based on past performance data or other data. For example, as described above, it is possible to stop uploading during a time period in which it is determined from past performance data that there is no person, and resume uploading when a person is detected. Stopping an upload may also be performed by leveraging other data. As other data, for example, at stations, etc., information on the arrival and departure timetables of public transportation is used. In this case, uploading may be stopped when people leave the station, and restarted when people are detected.
  • the communication control program according to the present invention can also be realized by a dedicated hardware circuit.
  • this communication control program can be provided by computer-readable recording media such as USB (Universal Serial Bus) memory and DVD (Digital Versatile Disc)-ROM (Read Only Memory), or can be provided on the Internet, etc., regardless of the recording medium. It is also possible to provide online through the network of When provided online, this communication control program is recorded on a recording medium (storage) such as a magnetic disk in a computer connected to a network.
  • a recording medium storage
  • 1 a communication system; 100 terminal device, 100a mobile terminal device, 100c surveillance camera device, 101 wireless communication unit, 102 line transmission ratio change request unit; 103 data reception processing unit, 104 analysis learning internal setting change unit, 105 control program/logical data section, 106 storage, 109 sensors, 110 SoC FPGAs, 150 5G communication interface, 160 operation display unit, 200 network system 201 wireless communication control unit, 202 line transmission ratio control unit (control unit), 203 processing relay determination unit, 300 server, 301 wireless communication unit, 302 terminal data analysis learning unit, 303 control program/logical data generator, 304 generation completion notification unit;

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Selective Calling Equipment (AREA)

Abstract

【課題】端末装置において、サーバーからのデータをリアルタイムで反映させて、端末装置の再構築を可能とする通信システムを提供する。 【解決手段】センシングデバイスを有する端末装置100と、無線通信を有するネットワークシステム200と、ネットワークシステム200により無線通信を介して端末装置100とデータの送受信を行うサーバー300と、を有する通信システム1であって、通信システム1は、端末装置100からサーバー300への方向を上り回線、サーバー300から端末装置100への方向を下り回線として、上り回線と下り回線の伝送比を動的に制御する制御部202を有し、制御部202は、データ伝送の状況またはデータ伝送の種類に応じて伝送比を調整する、通信システム1。

Description

通信システム、通信制御プログラム、および通信制御方法
 本発明は、通信システム、通信制御プログラム、および通信制御方法に関する。
 第5世代移動通信システム(5G)においては、通信キャリアによる利用に加えて、自営で運用するプライベート5G(ローカル5Gとも称される)も着目されつつある。特にプライベート5Gの環境においては、回線の上り下りの自由な切り替え、端末装置の同時接続数、低遅延特性といった5G本来の仕様を高次元で享受することができる。
 その一方で、5Gにおいては、接続される多様な端末装置からのデータ量も多くなり、クラウドやエッジサーバーと呼ばれる装置に処理を集中させると、5Gといえども、回線がひっ迫してしまう。このような回線の混雑を回避するためには、端末装置側で高度な処理を受け持たせることが考えられる。しかしながら、端末装置の側に高度な処理を行わせるためには、端末装置の規模がハード/ソフト両面で増大し、電力やコストなどの面で運用が難しくなってしまう。
 近年の電子機器(以下、単に装置ともいう)においては、機能を再構築できるFPGA(field-programmable gate array)を内蔵したSoC(System-on-a-chip)や、プログラムの変更で多種多様な用途に機能を変更可能なGPU(Graphics Processing Unit)/DSP(Demand-Side Platform)を搭載したものが増えている。これらの装置は、ハードウェアとして様々な処理を実行させるために、用途別に機能を構築することで専用のハードウェアとほぼ同様な性能を満足させることができる。また、これらの装置は、電力消費も専用ハードウェアに比較すれば少なく、さらに、用途に応じて機能を変えることができるため、作りきりの専用ハードウェアと比較してコストも抑えられる。
 これら装置の機能の変更、再構築においては、たとえば、情報収集のための簡易的な装置の場合、稼働頻度が少ないときにサービスマンが手作業で対応する。また、自動化が進んでいる場合においては、アップデートする時間を定めて、装置内部のストレージにアップデート用のデータをダウンロードし、アップデートに失敗しても比較的障害の少ない時間帯に再起動する形で実施することが多い。
 また、一つの通信回線は、上りと下りで共有されている。このため、アップデート用のデータをダウンロードする場合は、比較的、下りの通信状況に余裕のあるタイミングで送信するか、低容量単位に分割し、時間をかけて送信するしかなかった。
 従来、たとえば、特許文献1では、車載センサーを備えた端末装置から、通信回線を通じて、サーバーへデータをアップロードする。このアップロードのとき、特許文献1では、通信回線の回線速度の変化に応じて、車載センサーの情報か、端末装置での解析結果の情報かのいずれかを送信することとしている。これにより、特許文献1によれば、データのアップロードの際に、回線速度が低下した場合でも、情報のリアルタイム性が損なわれないものとされている。
 また、たとえば、特許文献2では、ソフトウェア更新後の動作環境を第2の情報処理システムの中に構築し、第1の情報処理システムにおけるソフトウェア更新前の動作環境を第2の情報処理システムに移動させる。そして、特許文献2では、第2の情報処理システムに更新後のソフトウェアを実行させ、第2の情報処理システムの処理対象情報を、更新前のソフトウェアを実行して得られた情報から更新後のソフトウェアを実行して得られた情報に変更する。これにより、特許文献2では、IoT(Internet of Things)システムにおけるサーバーなどの限られた情報処理資源しか備えない情報処理装置によって実行されるソフトウェアの更新処理を、情報処理装置を停止させることなく、確実に実行できるとされている。
特開2019-176311号公報 国際公開第2017/179537号
 しかしながら、特許文献1の技術では、サーバーからエッジデバイスへのデータの送信時における遅延に関しては、何ら対策がなされていない。また、特許文献2の技術では、通信回線の遅延については何ら対策がなされていない。
 このため、従来の技術では、たとえば、サーバー側で学習したデータをエッジデバイス(端末装置)にリアルタイムに反映させることが難しい。
 また、端末装置にFPGAやGPU/DSPといった汎用性に富むハードウェアを備えて、それらを再構築することにより機能を変更する場合、迅速かつ正確に再構築用のデータを送信して、再起動させる必要がある。しかし、従来の技術では、ダウンロード時に通信回線の遅延があると、アップデートによる再構築の頻度を落とす必要があり、接続される端末装置個々でのアップデートや再構築が難しかった。
 そこで、本発明の目的は、端末装置において、サーバーからのデータをリアルタイムで反映させて、端末装置のリアルタイムでの再構築を可能とする通信システム、通信制御プログラム、および通信制御方法を提供することである。
 本発明の上記目的は、下記の手段によって達成される。
 (1)センシングデバイスを有する端末装置と、
 少なくとも一部に無線通信を含むネットワークシステムと、
 前記ネットワークシステムにより無線通信を介して前記端末装置とデータ伝送を行うサーバーと、を有する通信システムであって、
 前記通信システムは、前記端末装置から前記サーバーへの方向を上り回線、前記サーバーから前記端末装置への方向を下り回線として、上り回線と下り回線の伝送比を動的に制御する制御部を有し、
 前記制御部は、データ伝送の状況またはデータ伝送の種類に応じて前記伝送比を調整する、通信システム。
 (2)前記制御部は、前記端末装置から前記サーバーへのデータ量が前記サーバーから前記端末装置へのデータ量より多い場合は、前記上り回線の伝送量が多くなるように前記伝送比を調整する、上記(1)に記載の通信システム。
 (3)前記制御部は、前記サーバーから前記端末装置へのデータ量が前記端末装置から前記サーバーへのデータ量より多い場合は、前記下り回線の伝送量が多くなるように前記伝送比を調整する、上記(1)または(2)に記載の通信システム。
 (4)前記制御部は、前記端末装置からのリクエストに応じて、前記伝送比を調整する、上記(1)~(3)のいずれか一つに記載の通信システム。
 (5)前記端末装置は、前記サーバーからデータの送信準備完了の通知を受信することで、前記制御部へ下り回線の伝送量を多くするようにリクエストする、上記(4)に記載の通信システム。
 (6)前記サーバーは、前記端末装置へ送信するデータのデータサイズを、前記端末装置へ通知する、上記(5)に記載の通信システム。
 (7)前記端末装置は、前記データサイズに応じて、前記伝送比を調整するようにリクエストする、上記(6)に記載の通信システム。
 (8)前記サーバーは、データ送信中断の可否を前記端末装置へ通知し、
 前記端末装置は、データを記憶するストレージを有し、
 前記端末装置は、データ送信中断の可否が否である場合、前記センシングデバイスからのデータを前記ストレージに記憶する、上記(5)~(7)のいずれか一つに記載の通信システム。
 (9)前記端末装置は、前記サーバーから送信されたデータの受信完了後、前記制御部へ上り回線の伝送量を多くするようにリクエストする、上記(1)~(8)のいずれか一つに記載の通信システム。
 (10)前記制御部は、前記下り回線の伝送量が多くなるように調整した後、所定時間内に、前記端末装置から伝送比変更のリクエストがない場合に、前記上り回線の伝送量が多くなるように前記伝送比を調整する、上記(9)に記載の通信システム。
 (11)前記サーバーは、前記制御部によって前記下り回線の伝送量が多くなるように前記伝送比が調整された後、所定時間内に、前記端末装置からデータ送信のリクエストがない場合に、前記上り回線の伝送量が多くなるように前記制御部へリクエストする、上記(9)に記載の通信システム。
 (12)前記サーバーは、前記端末装置を動作させるための制御プログラムおよび/または論理データを生成し、前記端末装置へ前記制御プログラムまたは前記論理データを送信する、上記(1)~(11)のいずれか一つに記載の通信システム。
 (13)前記制御部は、前記制御プログラムおよび/または前記論理データの送信時に、前記下り回線の伝送量が多くなるように前記伝送比を調整する、上記(12)に記載の通信システム。
 (14)前記制御プログラムまたは前記論理データは、前記端末装置内で使用する機械学習のアルゴリズムを有する、上記(13)に記載の通信システム。
 (15)前記サーバーは、前記制御プログラムおよび/または前記論理データの送信準備が完了したことを前記端末装置に通知する、上記(12)~(14)のいずれか一つに記載の通信システム。
 (16)前記端末装置および/または前記サーバーは、前記センシングデバイスから得られたデータにより学習し、前記端末装置の機能を変更する、上記(1)~(15)のいずれか一つに記載の通信システム。
 (17)前記端末装置は、複数の前記センシングデバイスを有する、上記(1)~(16)のいずれか一つに記載の通信システム。
 (18)センシングデバイスを有する端末装置と、
 少なくとも一部に無線通信を有するネットワークシステムと、
 前記ネットワークシステムにより無線通信を介して前記端末装置とデータ伝送を行うサーバーとを有する通信システムを制御するための通信制御プログラムであって、
 前記通信システムは、前記端末装置から前記サーバーへの方向を上り回線、前記サーバーから前記端末装置への方向を下り回線として、上り回線と下り回線の伝送比を動的に制御するコンピューターを有し、
 データ伝送の状況またはデータ伝送の種類に応じて前記伝送比を調整する段階(a)を、前記コンピューターに実行させるための通信制御プログラム。
 (19)前記段階(a)は、前記端末装置から前記サーバーへのデータ量が前記サーバーから前記端末装置へのデータ量より多い場合は、前記上り回線の伝送量が多くなるように前記伝送比を調整する、上記(18)に記載の通信制御プログラム。
 (20)前記段階(a)は、前記サーバーから前記端末装置へのデータ量が前記端末装置から前記サーバーへのデータ量より多い場合は、前記下り回線の伝送量が多くなるように前記伝送比を調整する、上記(18)または(19)に記載の通信制御プログラム。
 (21)前記段階(a)は、前記端末装置からのリクエストに応じて、前記伝送比を調整する、上記(18)~(20)のいずれか一つに記載の通信制御プログラム。
 (22)前記段階(a)において前記下り回線の伝送量が多くなるように前記伝送比を調整した後、所定時間内に、前記端末装置から伝送比変更のリクエストがない場合、前記上り回線の伝送量が多くなるように前記伝送比を調整する段階(b)を有する、上記(21)に記載の通信制御プログラム。
 (23)センシングデバイスを有する端末装置と、
 少なくとも一部に無線通信を有するネットワークシステムと、
 前記ネットワークシステムにより無線通信を介して前記端末装置とデータ伝送を行うサーバーとを有する通信システムを制御するための通信制御方法であって、
 前記端末装置から前記サーバーへの方向を上り回線、前記サーバーから前記端末装置への方向を下り回線として、データ伝送の状況またはデータ伝送の種類に応じて、上り回線と下り回線の伝送比を動的に制御する、通信制御方法。
 本発明では、データ伝送の状況またはデータ伝送の種類に応じて上り回線対下り回線の伝送比を調整することとした。これにより、本発明では、データ伝送に際して、上り、下りの必要性に応じて回線の優先度を調整できるので、データ伝送の遅延が少なくなり、端末装置において、サーバーからのデータをリアルタイムで反映させて、端末装置のリアルタイムでの再構築が可能となる。
本発明の一実施形態に係る通信システムの概略構成を示す図である。 一実施形態に係る通信システムの機能を説明するためのブロック図である。 端末装置のハードウェア構成の一例を示すブロック図である。 ネットワークシステムを構成するハードウェアの概略を示すブロック図である。 サーバーを構成するハードウェアの概略を示すブロック図である。 実施形態1における処理手順を示すフローチャートである。 実施形態2における処理手順を示すフローチャートである。 実施形態3における処理手順を示すフローチャートである。 実施形態4における処理手順を示すフローチャートである。
 以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
 (実施形態1)
 (通信システム)
 図1は、本発明の一実施形態に係る通信システム1の概略構成を示す図である。図2は、一実施形態に係る通信システム1の機能を説明するためのブロック図である。
 図1および図2に示すように、一実施形態に係る通信システム1は、端末装置100(100a、100b、100c、…)、ネットワークシステム200、およびサーバー300を有する。通信システム1は、たとえば、プライベート5Gの通信システムである。
 (端末装置100)
 まず、端末装置100について説明する。端末装置100は、センシングデバイス(以下単にセンサー109という)を備え、センサー109が検知した情報をサーバー300へ送信する。また、端末装置100は、センサー109が検知した情報から自身においても機械学習や判定を実行する。
 このような端末装置100は、エッジデバイス、エッジ端末などとも称され、IoTにも使用され得る電子機器である。端末装置100は、たとえば、スマートフォンやタブレットコンピューターなどの携帯端末装置100a、パーソナルコンピューターなどの固定端末装置100b、カメラに無線装置を取り付けた監視カメラ装置100cなどである。これらの端末装置100a、100b、100cは、いずれもセンサー109、および無線通信機能を有するコンピューターが一体化またはローカル接続された装置である。本明細書においては、これらの端末装置100a、100b、100cは、特に区別しない場合、端末装置100と記載する。
 端末装置100は、図2に示すように、無線通信部101、回線伝送比変更リクエスト部102、データ受信処理部103、解析学習内部設定変更部104、および制御プログラム/論理データ部105を有する。端末装置100は、ストレージ106およびセンサー109が接続(または一体化)されている。
 無線通信部101は、ネットワークシステム200と、5Gによる通信を実行する。
 回線伝送比変更リクエスト部102は、ネットワークシステム200に対して回線伝送比の変更をリクエストする。端末装置100からサーバー300の方向への通信を行う際の回線を上り回線とし、サーバー300から端末装置100の方向への通信を行う際の回線を下り回線とする。伝送比は、上り回線の伝送量に対する下り回線の伝送量の比率である。回線伝送比変更リクエスト部102は、この伝送比の変更をネットワークシステム200に対してリクエストする。
 データ受信処理部103は、サーバー300との間で送受信するデータを処理する。端末装置100から送信するデータは、たとえば、センサー109が収集したデータ、解析学習内部設定変更部104が生成したデータなどである。データ受信処理部103は、これらのデータを各部から一旦受け取って、必要な処理を行い、無線通信部101に出力する。必要な処理とは、たとえば、データのラベル付け、統合、圧縮、その他データの加工などである。
 無線通信部101では、これらのデータをネットワークシステム200へ送信する。ネットワークシステム200では、これらのデータの宛先に応じてサーバー300へ送信する。一方、サーバー300から受信するデータは、たとえば、端末装置100を制御するための制御プログラムおよび/または論理データである。サーバー300から送信されたこれらデータは、ネットワークシステム200を介し、端末装置100の無線通信部101よって受信される。受信されたデータは、無線通信部101から一旦データ受信処理部103へ出力される。データ受信処理部103では、受け取ったデータに必要な処理を行って各部へ出力する。必要な処理とは、たとえば、統合、圧縮されているデータの展開や伸長、ラベルによる振り分け、その他加工されたデータの再加工や復元などである。
 解析学習内部設定変更部104は、センサー109から入力されたデータを解析および/または学習する。解析学習内部設定変更部104による解析は、たとえば、センサー109がイメージセンサーの場合、画像データを画像処理によって時系列に解析して、画像の変化を判定したり、人物や物体を特定したりする。解析学習内部設定変更部104による学習は、たとえば、画像データを用いた機械学習である。機械学習としては、深層学習(Deep Leaning)が挙げられる。具体的には、たとえば、解析学習内部設定変更部104による解析では、以前の学習結果、またはサーバー300から送信された制御プログラムおよび/または論理データに基づき、センサー109が検知した画像データから、人物や物体の即時の特定、人数や物体数のカウントなどが実行される。また、センサー109がサーモカメラの場合、解析学習内部設定変更部104による解析では、人物や物体の温度の特定、さらに温度が一定以上に高い人物や物体の判定などが実行される。また、解析学習内部設定変更部104による学習では、センサー109からの画像データを入力として、たとえば、人物を教示データとして機械学習させることで、人物の特定に用いる学習結果が得られる。なお、解析学習内部設定変更部104は、端末装置100の性能に応じて、解析と学習のいずれか一方だけが実行されてもよいし、両方が実行されてもよい。
 また、解析学習内部設定変更部104は、解析および/または学習の結果から端末装置100内部の設定を変更して、最適化する。
 制御プログラム/論理データ部105は、解析学習内部設定変更部104によって解析および/または学習された結果に基づき、端末装置100を動作させるための制御プログラムおよび/または論理データを記憶する。また、制御プログラム/論理データ部105は、サーバー300からダウンロードされた端末装置100を動作させるための制御プログラムおよび/または論理データを記憶する。詳細は後述するが、ハードウェア構成として、FPGAの場合、制御プログラム/論理データ部105は、CPU機能と同一チップ内のメモリー領域として構成される。また、ハードウェア構成として、CPUとメモリーが別の場合、制御プログラム/論理データ部105は、CPUに接続されたRAMなどの半導体メモリーによって構成される。いずれの場合も、制御プログラム/論理データ部105は、制御プログラムおよび/または論理データを、即時実行可能な状態で記憶する。
 ストレージ106は、解析学習内部設定変更部104によって解析および/または学習された結果を記憶する。また、ストレージ106は、センサー109からのデータを記憶する。また、ストレージ106は、端末装置100を動作させるための制御プログラムおよび/または論理データを記憶する。ストレージ106に記憶される制御プログラムおよび/または論理データは、即時実行されるものではなく、機能変更の指示があった場合に、制御プログラム/論理データ部105へ読み出されるものとして記憶される。
 なお、ストレージ106には、上記のような情報の全てを記憶させる必要はなく、端末装置100のコストに合わせて、ストレージ106の容量を決定し、その容量に合わせて、記憶する内容を適宜変更すればよい。たとえば、ストレージ106には、センサー109からのデータだけを記憶させてもよい。この場合、端末装置100は、制御プログラムおよび/または論理データを、サーバー300からダウンロードして使用する。
 また、ストレージ106は、必ずしも備えられなくてもよい。この場合、端末装置100は、制御プログラムおよび/または論理データを、サーバー300からダウンロードして使用する。ストレージ106を備えないことで、端末装置100の、さらなるコスト低減が図られる。
 センサー109は、たとえば、イメージセンサーである。イメージセンサーは、たとえば、主に可視光を検知するカメラである。また、センサー109は、赤外線カメラ、サーモカメラ(温度検知カメラ)などである。そのほかセンサー109としては、たとえば、マイクロフォンのように音を検知する音響センサー、高度(標高)を検知する高度センサー、気圧センサー、水中における深度センサー(水圧センサー)、振動センサー、方位センサー、角度センサー、温度センサー、電圧センサー、電流センサー、および電力センサーなど様々なセンサーが使用され得る。これらセンサー109が検知したデータは、必要に応じてサーバー300へ送信される。また、センサー109が検知したデータは、必要に応じてストレージ106にも記憶される。
 なお、端末装置100は、5Gによる通信の他に、たとえば、イーサネット(登録商標)、IEEE1394などの規格によるネットワークインターフェース、Bluetooth(登録商標)、IEEE802.11などの無線通信インターフェースなどを備えていてもよい。
 図3は、端末装置100のハードウェア構成の一例を示すブロック図である。
 端末装置100は、コンピューターである。端末装置100は、図3に示すように、SoCFPGA110、ストレージ106、5G通信インターフェース150、操作表示部160を有する。
 SoCFPGA110は、実行する処理内容を書き換え可能なFPGAがシステムとして一つのチップに形成された半導体素子(複数のチップを接合した半導体素子を含む)である。SoCFPGA110は、Programmable SoCと称されることもある。SoCFPGA110は、演算素子となるCPU(Central Processing Unit)、記憶素子となるROM(Read Only Memory)およびRAM(Random Access Memory)などの機能が1チップで形成されている(またはこれら複数の機能を有する複数のチップが統合されている)。また、SoCFPGA110には、GPU/DSPなどのアクセラレータが搭載されていてもよい。このようなSoCFPGA110は、動作に必要な制御プログラムおよび/または論理データを記憶(FPGAにおけるゲート回路の書き換えを含む)し、それらが実行されることで、上述した端末装置100の各部の機能が実現される。したがって、SoCFPGA110は、回線伝送比変更リクエスト部102、データ受信処理部103、解析学習内部設定変更部104、制御プログラム/論理データ部105として機能する。
 ストレージ106は、eMMC(embedded MultiMediaCard)やSSD(Solid State Drive)、HDD(Hard Disk Drive)などの記憶媒体である。また、ストレージ106は、メモリーカードなどの可搬式の記憶媒体であってもよい。
 5G通信インターフェース150は、5Gによってネットワークシステム200と通信するための無線通信部101であり、通信モジュールのチップによって構成されている。なお、5G通信インターフェース150も、SoCFPGA110として統合されていてもよい。
 操作表示部160は、たとえば、タッチパネル式のディスプレイであり、各種情報を表示するとともに、ユーザーからの各種入力を受け付ける。また、端末装置100によっては、キーボードやマウスなどの入力機器とモニターなどが接続されていてもよい。
 なお、端末装置100は、SoCFPGA110に限定されず、SoC以外のFPGAであってもよいし、また、CPU、RAM、およびROMなどが独立していて、バスによって接続された形態であってもよい。
 (ネットワークシステム200)
 次に、ネットワークシステム200について説明する。ネットワークシステム200は、5Gによる無線通信機能を有し、端末装置100とサーバー300との間の通信を制御する。
 ネットワークシステム200は、図2に示すように、無線通信制御部201、回線伝送比制御部202、および処理中継判定部203を有する。ネットワークシステム200は、端末装置100およびサーバー300と、5Gによる通信を実行する。このため、ネットワークシステム200は、5Gの無線基地局、およびコアネットワーク装置である。
 無線通信制御部201は、他の電子機器との間の通信を制御する。無線通信制御部201は、本実施形態では、端末装置100およびサーバー300との間の5Gによる通信を制御する。
 回線伝送比制御部202(制御部)は、上り回線と下り回線の伝送比を動的に調整する。伝送比は、たとえば、端末装置100とサーバー300の間で送受信されるデータの状況や種類に応じて調整される。
 回線伝送比制御部202は、たとえば、端末装置100とサーバー300との間で送受信されるデータ量の違いに基づいて送受信されるデータの状況を判断し、判断されたデータの状況に応じて伝送比を調整する。具体的には、たとえば、回線伝送比制御部202は、無線通信制御部201の通信量を監視して、上り、下りそれぞれの伝送量を取得して比較することによって、端末装置100とサーバー300の間で送受信されるデータの状況を判断する。たとえば、下りのデータ量が多い状況では、回線伝送比制御部202は、下り回線の伝送量が多くなるように調整する。逆に、上りのデータ量が多い状況では、回線伝送比制御部202は、上り回線の伝送量が多くなるように調整する。
 また、回線伝送比制御部202は、たとえば、端末装置100とサーバー300との間で送受信されるデータの種類に応じて伝送比を調整する。送受信されるデータの種類とは、たとえば、サーバー300による端末装置100の機能変更に関するデータ、端末装置100のセンサー109が検知したデータ、端末装置100による解析および/または学習結果のデータなどである。端末装置100の機能変更に関するデータは、サーバー300から端末装置100へダウンロードされるデータであり、下り回線を使用して送信される。一方、端末装置100のセンサー109が検知したデータ、および端末装置100による解析および/または学習結果のデータは、端末装置100からサーバー300へアップロードされるデータであり、上り回線を使用して送信される。
 データの種類の判定は、本実施形態1では、端末装置100によって行われる。端末装置100は、判定したデータの種類に応じて、伝送比変更のリクエストを回線伝送比制御部202に送信する。これにより、回線伝送比制御部202は、端末装置100から受信したリクエストに応じて、伝送比を調整する。たとえば、端末装置100から上り優先のリクエストを受信した場合、回線伝送比制御部202は、上り回線の伝送量が多くなるように調整する。逆に、端末装置100から下り優先のリクエストを受信した場合、回線伝送比制御部202は、下り回線の伝送量が多くなるように調整する。
 また、回線伝送比制御部202は、端末装置100からだけでなく、サーバー300からのリクエストに応じて伝送比を調整してもよい。
 また、回線伝送比制御部202は、端末装置100からも、サーバー300からも、伝送比変更のリクエストがない場合、あらかじめ定められた回線を優先する。リクエストがない場合に優先する回線は、たとえば、上り回線である。端末装置100の中には、主な機能としてセンサー109が検知したデータをサーバー300へ送信するものがある。このような端末装置100では、動作中のほとんどの時間、上り回線を使用する。このため、伝送比変更のリクエストがない場合には、上り優先とすることで、センサー109からのデータをサーバー300へ効率的に届けることができる。
 上り回線対と下り回線の伝送比の調整は、たとえば、以下の参考文献に記載されているような方法によって実施され得る。
 参考文献1「ローカル5Gコラム 第5回 最新の法令検討状況と、今だから見えてきた導入検討時の課題・解決ポイント」、CTCシステムマネジメント(URL=https://ctcs.secure-link.jp/special/local5g/p0087.htm)。参考文献1(特に、「4.TDD同期の検討はさらに複雑になる」参照)には、通信回線の通信時間を極めて短い一定時間ごとの「タイムスロット」に区切り、スロットにより、上り(U)と下り(D)とを配分する技術が開示されている。
 参考文献2「新世代モバイル通信システム委員会 技術検討作業班における検討状況」平成30年2月27日総務省 情報通信審議会 情報通信技術分科会 新世代モバイル通信システム委員会 技術検討作業班(第6回)の配布資料、27ページ(28枚目)参照(URL=https://www.soumu.go.jp/main_content/000536171.pdf)。参考文献2は、Semi-static TDDとしてDL(ダウンロード)/UL(アップロード)の切り替え周期を柔軟に設定する技術、Dynamic TDDとしてシンボルごとにDL/ULの切り替える技術が開示されている。
 上り回線対と下り回線の伝送比の調整は、他の方法によって実施されてもよい。
 処理中継判定部203は、通信の不具合発生を検知した場合に、通信を停止し、元の設定に戻す。
 図4は、ネットワークシステム200を構成するハードウェアの概略を示すブロック図である。
 ネットワークシステム200は、コンピューターである。ネットワークシステム200は、図4に示すように、CPU210、ROM220、RAM230、ストレージ240、5G通信インターフェース250、および操作表示部260を有する。各構成は、バス270を介して相互に通信可能に接続されている。
 CPU210は、ROM220やストレージ240に記録されているプログラムを実行することで、上述したネットワークシステム200の各部の機能を実行する。
 ROM220は、各種プログラムや各種データを記憶する。
 RAM230は、作業領域として一時的にプログラムやデータを記憶する。
 ストレージ240は、オペレーティングシステムを含む各種プログラムや、各種データを記憶する。ストレージ240は、eMMC(embedded MultiMediaCard)やSSD(Solid State Drive)、HDD(Hard Disk Drive)などの記憶媒体である。
 5G通信インターフェース250は、無線通信制御部201として、端末装置100およびサーバー300と、5Gによる通信を実行する。
 操作表示部260は、たとえば、タッチパネル式のディスプレイであり、各種情報を表示するとともに、ユーザーからの各種入力を受け付ける。また、操作表示部260としては、キーボードやマウスなどの入力機器とモニターなどが接続されていてもよい。
 なお、回線伝送比制御部202(制御部)は、ネットワークシステム200内に設けられなくてもよい。たとえば、回線伝送比制御部202(制御部)は、遠隔地に設置されたコンピューターによって実現されてもよい。たとえば、無線通信制御部201および処理中継判定部203を有するネットワークシステム200に、回線伝送比制御部202となるコンピューターを接続して、伝送比を動的に制御する処理が実行されてもよい。
 (サーバー300)
 次に、サーバー300について説明する。サーバー300は、端末装置100から送信されたデータを解析および/または学習する。また、サーバー300は、端末装置100の機能変更のための制御プログラムおよび/または論理データを記憶する。また、サーバー300は、端末装置100の機能変更のための制御プログラムおよび/または論理データを生成する。また、サーバー300は、端末装置100の設定(機能)を変更する。
 サーバー300は、図2に示すように、無線通信部301、端末データ解析学習部302、制御プログラム/論理データ生成部303、生成完了通知部304を有する。サーバー300は、端末装置100をエッジ端末と称する場合、それに対比して、エッジサーバーと称されることがある。また、サーバー300は、端末装置100がセンサー109から収集したデータ、端末装置100が使用する制御プログラムおよび/または論理データなどをネットワーク上で記憶するため、クラウドサーバーと称されることもある。
 無線通信部301は、ネットワークシステム200と、5Gによる通信を実行する。
 端末データ解析学習部302は、端末装置100から受信したデータを解析し、学習する。端末データ解析学習部302は、端末装置100から受信したデータによって、端末装置100の状況を解析する。また、端末データ解析学習部302は、端末装置100から受信したデータを使用して機械学習する。サーバー300は、端末装置100より高性能、高機能である。このため、端末装置100では、困難な機械学習をこなすことができる。解析や機械学習の結果は、制御プログラム/論理データ生成部303へ出力される。
 制御プログラム/論理データ生成部303は、解析や機械学習の結果から端末装置100に最適な制御プログラムおよび/または論理データを生成する。
 制御プログラムおよび/または論理データは、端末装置100を動作させるためのプログラムおよび/またはデータである。たとえば、端末装置100が、自身に備えられているセンサー109によって検知されたデータから機械学習を行っている場合に、さらに別の学習が必要となった場合に必要なプログラムおよび/またはデータである。どのような制御プログラムおよび/または論理データを生成するかは、たとえば、機械学習の結果に基づいて制御プログラム/論理データ生成部303によって判断されてもよい。
 なお、端末装置100のハードウェアに対しての制御プログラムは、主に端末装置100のCPUまたはFPGA内のCPU機能の回路によって実行されるプログラムである。一方、論理データは、主にFPGAの回路データを書き換えるためのデータである。
 また、制御プログラムおよび/または論理データは、たとえば、センサー109のデータを端末装置100によって判定させる場合に、その判定基準となるプログラムおよび/またはデータである。たとえば、人物や物体を端末装置100によって判定する場合、制御プログラム/論理データ生成部303は、端末装置100による人物や物体の判定に必要なプログラムおよび/またはデータを生成する。
 制御プログラム/論理データ生成部303は、制御プログラムおよび/または論理データの生成完了を生成完了通知部304へ出力する。
 なお、制御プログラムおよび/または論理データは、あらかじめサーバー300のストレージ340に記憶されてもよい。この場合、たとえば、あらかじめ端末装置100の機能をどのような場合に変更するか想定しておいて、想定に合わせた制御プログラムおよび/または論理データが記憶されてもよい。
 生成完了通知部304は、制御プログラム/論理データ生成部303の生成完了の出力を受けて、制御プログラムおよび/または論理データの送信準備が完了したことを端末装置100へ通知する。また、生成完了通知部304は、記憶されている制御プログラムおよび/または論理データを送信する場合は、これらのデータを送信する準備が整えば、送信準備が完了したことを無線通信部301へ出力する。無線通信部301は、ネットワークシステム200を介して送信準備完了を端末装置100へ通知する。
 端末装置100では、サーバー300からデータの送信準備完了の通知を受信した時点で、ネットワークシステム200に対し、下り優先をリクエストする。これにより、ネットワークシステム200では、下り回線の伝送量が多くなるように調整される。その後、サーバー300は、無線通信部301から、ネットワークシステム200を通じて端末装置100へ制御プログラムおよび/または論理データを送信する。なお、このような処理の流れの詳細は、後述する。これにより、本実施形態1では、サーバー300から端末装置100へ、効率よく、しかもリアルタイムで、制御プログラムおよび/または論理データを送信できる。
 図5は、サーバー300を構成するハードウェアの概略を示すブロック図である。
 サーバー300は、コンピューターである。サーバー300は、図5に示すように、CPU310、ROM320、RAM330、ストレージ340、5G通信インターフェース350および操作表示部360を有する。各構成は、バス370を介して相互に通信可能に接続されている。
 CPU310は、ROM320やストレージ340に記録されているプログラムを実行することで、上述したサーバー300の各部の機能を実行する。
 ROM320は、各種プログラムや各種データを記憶する。
 RAM330は、作業領域として一時的にプログラムやデータを記憶する。
 ストレージ340は、オペレーティングシステムを含む各種プログラムや、各種データを記憶する。ストレージ340は、制御プログラムおよび/または論理データを記憶する。
 ストレージ340は、サーバー300の場合、主に、HDDなどの大容量の記憶媒体が使用される。ストレージ340は、eMMCやSSDなどの半導体記憶媒体が、HDDとともに、またはHDDに代えて用いられてもよい。
 5G通信インターフェース350は、無線通信部301として、ネットワークシステム200と、5Gによる通信を実行する。
 操作表示部360は、たとえば、タッチパネル式のディスプレイであり、各種情報を表示するとともに、ユーザーからの各種入力を受け付ける。また、操作表示部360としては、キーボードやマウスなどの入力機器とモニターなどが接続されていてもよい。
 (処理手順)
 次に、通信システム1の処理手順を説明する。
 図6は、実施形態1における処理手順を示すフローチャートである。ここでは、以下の前提を元に処理手順を説明する。端末装置100はイメージセンサーを備える。端末装置100は、自身においても、所定の機械学習を実行する。サーバー300は、サーバー300のストレージ340に、端末装置100の機能を変更するための制御プログラムおよび/または論理データを記憶している。サーバー300は、端末装置からのデータを解析して、その結果に応じて端末装置100の機能を変更する。
 制御プログラムは、たとえば、ディープラーニングネットワークを制御するためのプログラムである。また、論理データは、たとえば、あらかじめ学習されたディープラーニングネットワークのモデルファイルを用いたFPGA用の回路データである。
 ここでは、端末装置100による処理手順、ネットワークシステム200の処理手順、およびサーバー300の処理手順は、互いに関連するため、一連の流れとして説明する。なお、ネットワークシステム200の処理手順は、通信制御プログラムに従って実行される処理に相当する。
 まず、端末装置100は、イメージセンサーで検知した画像データとともに、その画像の解析結果のデータを、ネットワークシステム200を介して、サーバー300へ送信(アップロード)する(S101)。このとき、ネットワークシステム200では、すでに、上り優先となるように伝送比が調整されている(S201)。そして、サーバー300は、端末装置100からのデータを受信する(S301)。
 端末装置100での解析および/または学習は、たとえば、イメージセンサーによって取得された画像データを入力として用いた機械学習であり、たとえば、ディープラーニングによる推論などを含む。たとえば、端末装置100では、骨格検知の機械学習アルゴリズムが実行される。これにより、端末装置100では、人間と認識された物体の各関節点の座標データを取得する。また、端末装置100では、撮影対象とされた人物の背の高さなどが認識される。また、端末装置100は、得られた座標データから、各人物の姿勢や身長などを解析し、その解析結果をサーバー300へ送信する。
 端末装置100は、データ送信後、引き続き、イメージセンサーによって取得された画像からの機械学習を一定時間継続する。たとえば、撮影対象としている人物達の平均身長が低い場合、端末装置100は、今回の学習対象は子供であるということを学習する。この場合、端末装置100は、子供のデータを取りたいと認識し、ある一定の身長以上、たとえば160cm以上の人物が検出された場合に、解析対象ではないと推定し、160cm以上の身長の対象人物を解析対象から除外するためのしきい値を設定する。また、端末装置100は、すでに身長のしきい値がある場合、そのしきい値を変更する。
 続いて、端末装置100からデータを受信したサーバー300は、受信したデータをさらに時系列に解析および/または学習し(S302)、端末装置100の機能を変更するための制御プログラムおよび/または論理データの送信を準備する。サーバー300は、制御プログラムおよび/または論理データの送信準備が完了したなら、送信準備完了を端末装置100へ通知する(S303)。
 サーバー300は、たとえば、受信したデータの中の骨格検知による姿勢を時系列に解析し、道に迷っているという行動として学習する。そして、サーバー300は、学習結果に基づき、さらに端末装置100からのデータを解析して、人の行動判定を実行する。
 サーバー300は、行動判定の結果に基づき、端末装置100に、次に実行させるアルゴリズムを決定する。本実施形態1では、次に、端末装置100に人物属性検知の機械学習アルゴリズムを実行させる。なお、本実施形態1において、サーバー300は、あらかじめ想定された行動判定に合わせて、端末装置100に実行させるための制御プログラムおよび/または論理データを記憶している。したがって、ここでは、人物属性検知の機械学習アルゴリズムを端末装置に100に実行させるための制御プログラムおよび/または論理データはサーバー300内に記憶されている。
 端末装置100へ通知するデータは、端末装置100へ送信する予定の制御プログラムおよび/または論理データのデータサイズと、データ送信中断の可否である。データ送信中断の可否とは、サーバー300からのデータ送信の中断が可能か否かを示している。
 サーバー300からの通知を受信した端末装置100は、ネットワークシステム200に伝送比を下り優先とするためのリクエストを送信する(S102)。このとき、端末装置100では、サーバー300からの通知によって、サーバー300から送信されるデータの種類を判断する。端末装置100では、どのようなデータの種類の場合に、下り優先をリクエストするか決められている。本実施形態1では、データの種類が端末装置10の機能変更に関するデータの場合に、下り優先をリクエストすることとしている。制御プログラムおよび/または論理データは、端末装置100の機能変更に関するデータである。したがって、端末装置10は、下り優先をリクエストする。
 また、このとき、端末装置100は、下り優先のリクエストを実行する前に、サーバー300から受信した通知に含まれるデータサイズから、下り優先のリクエストを実行するか否かを判断してもよい。端末装置100は、たとえば、サーバー300からの通知に含まれるデータサイズと、あらかじめ決められたしきい値(データサイズのしきい値)とを対比して、通知に含まれるデータサイズが、データサイズのしきい値未満の場合には、下り優先のリクエストを実行しないこととしてもよい。データサイズのしきい値は、たとえば、サーバー300からデータをダウンロードしている間に、端末装置100からアップロードするデータの欠落が許容される時間間隔となるようなデータサイズである。データの欠落が許容される時間間隔は、データの通信状況によっても異なるため、このようなデータサイズのしきい値は、過去の実績などから決定してもよい。
 上り回線対下り回線の伝送比は、端末装置100からリクエストされてもよい。伝送比は、たとえば、端末装置100で次に処理される内容に応じて決定する。たとえば、端末装置100は、上り:下り=4:6などの伝送比をリクエストする。また、たとえば、即座に、機能変更が必要な場合、すなわち、5秒以内に端末装置100での処理が切り替わって欲しいなどの要求がある場合、端末装置100は、上り:下り=1:9などの伝送比をリクエストしてもよい。なお、下り優先の場合の伝送比は、ネットワークシステム200において、あらかじめ決められていてもよい。たとえば、ネットワークシステム200では、下り優先の標準の伝送比を、上り:下り=4:6と決めておく。そして、端末装置100からのリクエストに伝送比が含まれない場合、ネットワークシステム200は、標準の伝送比を使用して下り優先に調整する。
 続いて、端末装置100は、自身の動作を、データを受信するための処理(データ受信準備)に変更する(S103)。データ受信準備では、端末装置100が行っていた解析および/または学習の処理、およびサーバー300へのデータの送信(アップロード)を一時的に中断する。そして、データ受信準備では、サーバー300から制御プログラム/論理データを受信できるようにする。データ受信準備の処理を実行するためのプログラムは、たとえば、あらかじめ端末装置100内に記憶されている。端末装置100は、サーバー300からデータ送信準備完了の通知の受信をトリガーとして、データ受信準備のプログラムを実行する。
 また、端末装置100は、サーバー300から通知されたデータ送信中断の可否に関する情報が否を示す場合、自身のストレージ106を起動し、センサー109からのデータを蓄積する。これは、サーバー300から端末装置100へのデータのダウンロードに要する時間が大きい場合に、その間にセンサー109の検知したデータが消失するのを防ぐためである。たとえば、サーバー300から端末装置100へのデータ転送に30secかかる場合、そのままでは、30secの間、センサー109の検知したデータは消失する。そこで、端末装置100は、ストレージ106を起動して、この30secの間、センサー109の検知したデータをストレージ106に記憶させる。なお、ストレージ106に記憶するか否かは、サーバー300から通知されたデータ送信中断の可否に関する情報と、データサイズによって判断される。たとえば、端末装置100は、データ送信中断の可否に関する情報が否を示す場合に、通知されたデータサイズからデータ転送に必要な時間を予測して、予測したデータ転送時間がしきい値(転送時間のしきい値)以上の場合に、ストレージ106に、センサー109の検知したデータを記憶させる。転送時間のしきい値は、たとえば、センサー109の検知したデータの欠落が許容される時間間隔とすることが好ましい。データ転送時間は、データの通信状況によっても異なるため、転送時間のしきい値は、過去の実績などから決定してもよい。
 一方、サーバー300から通知されたデータ送信中断の可否に関する情報が可を示す場合、端末装置100は、必要に応じて、サーバー300からのデータ送信を中断させるためのリクエストを実行する。たとえば、端末装置100は、ストレージ106の空き容量が少なく、センサー109が検知したデータを記憶できないような場合に、データ送信を中断させる。なお、図示しないが、データ送信を中断させるためのリクエストは、S304のステップの後に実行される。
 続いて、下り優先のリクエストを受信したネットワークシステム200は、リクエストに従い、伝送比を下り優先に調整する(S202)。調整完了後、ネットワークシステム200は、端末装置100に対して、下り優先の調整完了を通知する(S203)。
 続いて、ネットワークシステム200から、伝送比の調整完了の通知を受けた端末装置100は、サーバー300にデータ送信をリクエストする(S104)。
 続いて、データ送信のリクエストを受信したサーバー300は、制御プログラムおよび/または論理データを端末装置100に送信(ダウンロード)する(S304)。
 続いて、データ受信完了後、端末装置100は、受信した制御プログラムおよび/または論理データを使用して、自身の機能を変更する(S105)。端末装置100は、受信した制御プログラムおよび/または論理データを動作させるために、必要に応じて、自機を再起動する。
 これにより、たとえば、端末装置100は、変更された機械学習アルゴリズムが動作する。変更された機械学習アルゴリズムは、ここでは上述したように、人物属性検知の機械学習アルゴリズムである。人物属性検知の機械学習アルゴリズムは、具体的には、たとえば、迷子判定のための学習である。制御プログラムおよび/または論理データがダウンロードされた端末装置100は、人物属性検知の機械学習アルゴリズムに切り替わる。これにより端末装置100では、イメージセンサーが取得した画像データから、子供を検知するとともに、その行動を学習する。そして、端末装置100は、学習の結果、子供の動きから、子供が迷っているような動き、または子供が泣いているような動きをした場合に、その子供の上下の服の色や、メガネ、性別、帽子、かばんの有無など検知する。さらに、これらの検知結果から、端末装置100は、その子供を検知した場所、身長、性別、上下の服の色や、メガネ、帽子、かばんの有無といった情報を迷子センターに送信する。迷子センターからは、迷子のアナウンスが行われる。これにより、この例では、端末装置100が設けられている施設内などで、迷子が発生したことを、人々にいち早く知らせることができ、早期に、迷子の保護や保護者などとの引き合わせが可能となる。
 機能切替完了後、端末装置100は、ネットワークシステム200に上り優先をリクエストする(S106)。上り優先の伝送比は、下り優先の場合と同様に、端末装置100からリクエストされてもよい。たとえば、端末装置100は、上り:下り=6:4とリクエストする。また、たとえば、端末装置100の機能変更後、上りのデータ量が増えることが想定される場合、端末装置100は、上り:下り=9:1などの伝送比をリクエストしてもよい。なお、上り優先の場合の伝送比も、ネットワークシステム200において、あらかじめ決められていてもよい。たとえば、ネットワークシステム200では、上り優先の標準の伝送比を上り:下り=6:4と決めておく。そして、端末装置100からのリクエストに伝送比が含まれない場合、ネットワークシステム200は、標準の伝送比を使用して上り優先に調整する。
 続いて、上り優先のリクエストを受信したネットワークシステム200では、上り優先に調整する(S204)。これにより、通信システム1では、端末装置100からサーバー300へのデータを安定的に、かつ高速で送信できるようになる。
 その後、端末装置100は、処理終了の指示がなければ(S107:NO)、S101へ戻り、以降の処理を継続する。同様に、ネットワークシステム200は、処理終了の指示がなければ(S205:NO)、S201に戻り、以降の処理を継続する。同様に、サーバー300は、処理終了の指示がなければ(S305:NO)、S301へ戻り、以降の処理を継続する。一方、端末装置100、ネットワークシステム200、およびサーバー300は、いずれも、処理終了の指示があった場合(S107、S205、およびS305:YES)、処理を終了する(エンド)。
 以上説明した本実施形態1は、以下の効果を奏する。
 これまで、端末装置100に複数の機能をもたせるためには、高機能なハードウェアを用意して、あらかじめストレージ106などに様々な制御プログラムを記憶させ、それを切り替えて使用していた。本実施形態1では、上述のように、データ伝送に際して、上り、下りの必要性に応じて回線の優先度を調整することとしたので、データ伝送の遅延が少なくなる。したがって、本実施形態1では、サーバー300からのデータを端末装置100においてリアルタイムに反映させることができ、端末装置100のリアルタイムでの再構築が可能となる。
 特に、本実施形態1では、制御プログラムおよび/または論理データを入れ替えることで端末装置100の機能を変更するようにした。この機能変更の際には、端末装置100からのリクエストによって、下り優先となるようにした。これにより、本実施形態1では、端末装置100のハードリソースを最小限で構成し、頻繁に再構築することで、様々な機能を満足させることができるようになる。
 (実施形態2)
 実施形態2は、前述した実施形態1と制御形態が異なる。前述した実施形態1は、制御プログラムおよび/または論理データが、あらかじめサーバー300のストレージ340に記憶されている例であった。本実施形態2においては、サーバー300が、端末装置100から送信されたデータを学習することで、新たに制御プログラムおよび/または論理データを生成し、端末装置100に送信して反映させる。
 本実施形態2の通信システム1の構成は、実施形態1と同様であるので、説明を省略する。
 図7は、実施形態2における処理手順を示すフローチャートである。ここでは、以下の前提を元に実施形態2の処理手順を説明する。端末装置100はイメージセンサーを備える。端末装置100は、自身においても、所定の機械学習を実行する。サーバー300は、端末装置100の機能を変更するための制御プログラムおよび/または論理データを生成する。サーバー300は、学習結果に応じて端末装置100の機能を変更する。なお、図において、実施形態1と同様の処理については、同一のステップ番号を付し、説明を省略する。
 まず、端末装置100は、イメージセンサーによって取得された画像データとともに、その画像の解析結果のデータを、ネットワークシステム200を介して、サーバー300へ送信する(S101)。このとき、ネットワークシステム200では、すでに、上り優先となるように伝送比が調整されている(S201)。そして、サーバー300は、端末装置100からのデータを受信する(S301)。
 端末装置100での解析および/または学習は、たとえば、イメージセンサーによって取得された画像を入力として用いた機械学習、たとえば、ディープラーニングによる推論などである。その際、端末装置100では、イメージセンサーによって取得された画像を解析した結果、信頼度のスコアが低い結果が現れる場合がある。そのような結果は、ユーザーに提示され、正解のフィードバックを受ける。端末装置100は、フィードバックされた正解とともに、イメージセンサーによって取得された画像を合わせて学習データとしてストレージ106に記憶する。具体的には、たとえば、人物を判定するための機械学習が行われる。たとえば、人物を判定するための機械学習では、スーツを着ている人物同士や作業着を着ている人物同士などは互いに特徴が似ているため、誤判定が発生しやすい。そこで、端末装置100は、学習度合いに応じて、信頼度が低いスコアの場合に、その結果をユーザーに提示し、正解の入力を受け付けることによって、学習データの精度を向上させ得る。なお、端末装置100は、信頼度のスコアが高くても誤った結果をユーザーに伝えることが考えられるため、ユーザーから学習データの入力を受け付けるようにしてもよい。
 端末装置100は、このような機械学習の結果を学習データとしてサーバー300に送信する。学習データを送信するタイミングは、たとえば、センサー109によって検知された画像データのデータ量が、しきい値以上に記憶された場合としてもよい。このとき、端末装置100は、学習データとともに、画像データを送信してもよい。
 続いて、学習データを受信したサーバー300は、受信した学習データに基づき、新規に機械学習を実行する(S312)。続いて、サーバー300は、新たな学習結果に基づき、端末装置100の機能変更のための制御プログラムおよび/または論理データを生成する(S313)。
 サーバー300での新規の機械学習では、端末装置100で行われた機械学習において使用されていた機械学習アルゴリズムが確認される。機械学習アルゴリズムの確認は、たとえば、以前に、端末装置100へ送信した制御プログラムおよび/または論理データをストレージ340に記憶しておいて、それを確認することによって実行される。これにより、サーバー300は、受信した学習データの元になっている機械学習のアルゴリズムを特定できるので、それに基づいて、新規の機械学習のためのアルゴリズム、たとえば、新規の機械学習に使用するディープラーニングネットワークなどを決定する。決定されるアルゴリズムは、端末装置100で使用されているアルゴリズムと同じでもよいし、異なっていてもよい。具体的には、たとえば、端末装置100で使用されているディープラーニングネットワークが古いバージョンの場合、同系統のディープラーニングネットワークの中から新しいバージョンのディープラーニングネットワークを決定する。その後、サーバー300は、決定された機械学習のアルゴリズムを使用して、端末装置100からの画像データを解析および/または学習する。
 学習が完了すると、サーバー300は、学習結果に基づき、制御プログラムおよび/または論理データを生成する。具体的には、たとえば、サーバー300は、使用したディープラーニングネットワークを制御するための制御プログラムを生成する。その際に入力解像度や入力チャンネルなどパラメータによって生成されるプログラムが変更されるようにしてもよい。また、論理データとしては、学習されたディープラーニングネットワークの記述ファイルとディープラーニングのモデルファイルを用いて、FPGAの回路データが生成される。
 以降の処理手順は、実施形態1同様であり、サーバー300からの制御プログラムおよび/または論理データの送信通知(S303)、下り優先のリクエスト(S102)、データ受信準備(S103)、下り優先の調整(S202)、調整完了通知(S203)、データ送信リクエスト(S104)、制御プログラムおよび/または論理データの送信(S304)、端末装置100の機能変更(S105)、上り優先のリクエスト(S106)、上り優先の調整(S204)、などの処理が実行される。
 以上説明した本実施形態2は、実施形態1の効果に加えて、以下の効果を奏する。
 本実施形態2では、端末装置100のデータによって、サーバー300が学習を行い、サーバー300での学習結果に基づいて、端末装置100の制御プログラムおよび/または論理データを生成することとした。これにより本実施形態2では、より効率のよいデータ収集と、それを利用した機械学習によるポジティブフィードバックを繰り返すことで賢くなるAI(Artificial Intelligence)が実現できる。特に、本実施形態2では、端末装置100だけでは達成しえない、より高度な機械学習やデータ量の多い機械学習などを、端末装置100より高機能なサーバー300によって実行させることができる。これにより、本実施形態2では、端末装置100のハードウェアのリソースを最小限で構成しつつ、さらに高度な学習に基づく端末装置100の機能変更を実行することが可能となる。
 (実施形態3)
 実施形態3は、端末装置100に不具合が発生した場合の制御形態である。本実施形態3における通信システム1の構成は、実施形態1と同様であるので、説明を省略する。
 本実施形態3は、端末装置100において、ネットワークシステムから下り優先の調整完了の通知(S203)を受信した後、サーバー300に対してデータ送信のリクエスト(S104)が出力されない場合である。
 図8は、実施形態3における処理手順を示すフローチャートである。ここでは、端末装置100での不具合発生時の処理手順について説明する。したがって、基本的な処理手順は、実施形態1または2と同様であるので、それらの説明は省略する。図8においては、実施形態1の処理手順において、端末装置100から下り優先のリクエスト(S102)が送信されたステップ以降の処理手順を示す。
 本実施形態3では、ネットワークシステム200の処理手順として、伝送比調整完了を、サーバー300へも通知する。そして、サーバー300は、この通知を受けてから所定時間内に端末装置100からデータ送信のリクエストを受信したか否かを判断する(S321)。所定時間は、たとえば、これまでの実績として、端末装置100からサーバー300へのリクエストが到達するまでの時間とすることが好ましい。具体的には、たとえば、0.1sec~30sec程度である。
 S321のステップにおいて、所定時間内に端末装置100からデータ送信のリクエストを受信した場合(S321:YES)、サーバー300は、制御プログラムおよび/または論理データを送信する(S304)。その後、サーバー300は、処理終了の指示がなければ(S305:NO)、S301へ戻り処理を継続し、処理終了の指示があれば(S305:YES)、処理を終了する。
 一方、S321のステップにおいて、所定時間内に端末装置100からデータ送信のリクエストを受信しなかった場合(S321:NO)、サーバー300は、ネットワークシステム200へ、上り優先をリクエストする(S322)。
 続いて、上り優先のリクエストを受信したネットワークシステム200は、伝送比を上り優先に調整する(S204)。このときネットワークシステム200は、たとえば、あらかじめ決められている上り優先の標準の伝送比に調整する。
 続いて、サーバー300は、ユーザーの使用している端末装置100(不具合の発生した端末装置以外)などに向けて、端末装置100に不具合が発生したことを出力する(S323)。その後、サーバー300は、処理終了の指示がなければ(S305:NO)、S301へ戻り処理を継続し、処理終了の指示があれば(S305:YES)、処理を終了する。
 その他の処理手順は、実施形態1または2と同様である。
 以上説明した本実施形態3は、実施形態1および2の効果に加えて、以下の効果を奏する。
 端末装置100は、正常であれば、上述した実施形態1または2の通り、下り優先完了の通知(S203)を受信した後、サーバー300に対してデータ送信をリクエストする(S104)。これに対し、端末装置100からサーバー300に対してデータ送信のリクエスト(S104)が出力されない場合は、端末装置100に何らかの不具合が発生したことが予想される。
 本実施形態3では、サーバー300がデータ送信のリクエストを所定時間以内に受信したか否かを判断することで、端末装置100の不具合を検知する。そして、サーバー300は、端末装置100からのデータ送信のリクエストを所定時間内に受信しない場合に、端末装置100に不具合が発生したものとして、上り優先をリクエストすることとした。これにより、本実施形態3では、たとえば、不具合の発生した端末装置100が復帰したのち、効率よく端末装置100からデータをサーバー300へ送信することができるようになる。また、本実施形態3では、サーバー300が不具合の発生した端末装置100以外の端末装置100に不具合発生を出力することとした。このため、不具合の発生した端末装置100以外の端末装置100を介して、端末装置100、およびサーバー300の使用者などは、端末装置100の不具合の発生を知ることができる。また、端末装置100の不具合の発生は、サーバー300の操作表示部360に表示されてもよい。
 なお、本実施形態3では、端末装置100の不具合発生を、サーバー300に判断させた。しかし、端末装置100の不具合発生は、ネットワークシステム200(制御部)に判断させてもよい。この場合、たとえば、ネットワークシステム200は、下り優先をリクエストした端末装置100に対するデータの送信の有無を監視する。そして、ネットワークシステム200は、所定時間内に、サーバー300から端末装置100に対するデータの送信がない場合に、上り優先に戻すように調整する。
 (実施形態4)
 実施形態4は、端末装置100の機能変更のタイミングに関する制御形態である。本実施形態4における通信システム1の構成は、実施形態1と同様であるので、説明を省略する。
 本実施形態4は、端末装置100から送信されるデータの内容に変化がない場合に、端末装置100の機能を変更する例である。たとえば、端末装置100のセンサー109が監視カメラなどのメージセンサーの場合に、移動する人や物体が存在せずに同じ内容の画像データが送信され続けている場合、サーバー300は、人や物体が検知されるまで、データの送信を停止するように、端末装置100の機能を変更する。
 図9は、実施形態4における処理手順を示すフローチャートである。ここでは、サーバー300による端末装置100の機能変更の処理手順を示す。この処理手順は、たとえば、実施形態1のS303のステップの前に実行される。その他の処理手順は、実施形態1と同様であるので、説明は省略する。
 サーバー300は、実施形態1におけるデータ解析および/または学習(S302)の後、端末装置100から受信しているデータの内容に変化がないか否かを判断する(S331)。データの内容の判断には、解析および/または学習(S302)の結果が利用される。データ解析および/または学習の処理(S302)では、すでに説明したように、時系列でデータの解析および/または学習が行われる。画像データの場合、サーバー300は、所定時間内で画像に変化がない(または所定以上の画素数に変化がない)場合に、変化なしと判断する。変化なしと判断するための所定時間は、たとえば、人の出入りが多い施設や多くなる時間帯では、長く設定することが好ましい。これにより、頻繁に端末装置100を機能変更する必要がなくなる。逆に、人の出入りが少ない施設や少なくなる時間帯では、短く設定することが好ましい。これにより、不要なデータ送信を減らすことができる。
 S331のステップにおいて変化なしと判断された場合(S331:YES)、サーバー300は、端末装置100の機能変更のための制御プログラムおよび/または論理データを用意する(S332)。ここで用意される制御プログラムおよび/または論理データは、端末装置100に、画像の変化を判断させるとともに、データの送信(アップロード)を停止させ、画像に変化があった場合にデータの送信(アップロード)を再開させる。また、制御プログラムおよび/または論理データは、端末装置100がデータのアップロードを停止している間、端末装置100に、センサー109が検知したデータをストレージ106に蓄積させてもよい。
 S331のステップにおいて変化ありと判断された場合(S331:NO)、実施形態1同様に、サーバー300は、S303のステップへ進み、以降の処理を継続する。
 その他の処理手順は、実施形態1と同様である。
 以上説明した本実施形態4は、実施形態1~3の効果に加えて、以下の効果を奏する。
 本実施形態4は、データの内容が変化しない場合に、端末装置100からのデータの送信を停止し、データの内容が変化した場合に、端末装置100からのデータの送信を再開することとした。
 これにより、本実施形態4では、通信回線へ送出されるデータ量を少なくして、通信回線にかかる負荷を低減させることができる。
 また、アップロードを停止している間は、たとえば、端末装置100またはサーバー300から下り優先のリクエストを送信して、この間に、サーバー300から端末装置100へ、別途、制御プログラムおよび/または論理データを送信することもできる。これにより、アップロードを停止している間の時間を有効活用できる。
 また、端末装置100またはサーバー300は、アップロードを停止している間の時間を記録することで、過去の実績データとして活用することもできる。過去の実績データを活用することにより、たとえば、居住施設内において、食事時間や入浴時間など、画像が変化しなかった時間帯のあることを確認できる。
 なお、実施形態4では、サーバー300がアップロードの停止を判断し、端末装置100の機能を変更することとしたが、これに限定されない。たとえば、端末装置100にあらかじめ画像変化を判断する制御プログラムおよび/または論理データを記憶させておくことで、端末装置100自身によって画像変化の有無を判断させるようにして、アップロードの停止、再開を実行させてもよい。
 また、アップロードの停止は、過去の実績データやその他のデータから定期的に実行することとしてもよい。たとえば、上記したように、過去の実績データから人がいないと判断される時間帯では、アップロードを停止し、人を検知した時点でアップロードを再開させるようにしてもよい。また、アップロードの停止は、他のデータを活用することによって実行されてもよい。他のデータとしては、たとえば、駅などでは、公共交通機関の発着時刻表情報が用いられる。この場合、人が駅構内からいなくなる時間帯にアップロードを停止し、人を検知した時点でアップロードを再開させるようにしてもよい。
 以上、本発明の実施形態を説明したが、本発明は実施形態に限定されない。実施形態の説明の中で使用した条件や数値などはあくまでも説明のためのものであり、本発明がこれら条件や数値に限定されるものではない。
 本発明に係る通信制御プログラムは、専用のハードウェア回路によって実現することも可能である。また、この通信制御プログラムは、USB(Universal Serial Bus)メモリーやDVD(Digital Versatile Disc)-ROM(Read Only Memory)などのコンピューター読み取り可能な記録媒体によって提供したり、記録媒体によらず、インターネットなどのネットワークを介してオンラインで提供したりすることも可能である。オンラインで提供される場合、この通信制御プログラムは、ネットワークに接続されたコンピューター内の磁気ディスクなどの記録媒体(ストレージ)に記録される。
 また、本発明は、特許請求の範囲に記載された構成に基づき様々な改変が可能であり、それらについても本発明の範疇である。
 本出願は、2021年1月25日に出願された日本国特許出願番号2021-9446号に基づいており、その開示内容は、参照により全体として組み入れられている。
1 通信システム、
100 端末装置、
100a 携帯端末装置、
100c 監視カメラ装置、
101 無線通信部、
102 回線伝送比変更リクエスト部、
103 データ受信処理部、
104 解析学習内部設定変更部、
105 制御プログラム/論理データ部、
106 ストレージ、
109 センサー、
110 SoCFPGA、
150 5G通信インターフェース、
160 操作表示部、
200 ネットワークシステム
201 無線通信制御部、
202 回線伝送比制御部(制御部)、
203 処理中継判定部、
300 サーバー、
301 無線通信部、
302 端末データ解析学習部、
303 制御プログラム/論理データ生成部、
304 生成完了通知部。

Claims (23)

  1.  センシングデバイスを有する端末装置と、
     少なくとも一部に無線通信を含むネットワークシステムと、
     前記ネットワークシステムにより無線通信を介して前記端末装置とデータ伝送を行うサーバーと、を有する通信システムであって、
     前記通信システムは、前記端末装置から前記サーバーへの方向を上り回線、前記サーバーから前記端末装置への方向を下り回線として、上り回線と下り回線の伝送比を動的に制御する制御部を有し、
     前記制御部は、データ伝送の状況またはデータ伝送の種類に応じて前記伝送比を調整する、通信システム。
  2.  前記制御部は、前記端末装置から前記サーバーへのデータ量が前記サーバーから前記端末装置へのデータ量より多い場合は、前記上り回線の伝送量が多くなるように前記伝送比を調整する、請求項1に記載の通信システム。
  3.  前記制御部は、前記サーバーから前記端末装置へのデータ量が前記端末装置から前記サーバーへのデータ量より多い場合は、前記下り回線の伝送量が多くなるように前記伝送比を調整する、請求項1または2に記載の通信システム。
  4.  前記制御部は、前記端末装置からのリクエストに応じて、前記伝送比を調整する、請求項1~3のいずれか一つに記載の通信システム。
  5.  前記端末装置は、前記サーバーからデータの送信準備完了の通知を受信することで、前記制御部へ下り回線の伝送量を多くするようにリクエストする、請求項4に記載の通信システム。
  6.  前記サーバーは、前記端末装置へ送信するデータのデータサイズを、前記端末装置へ通知する、請求項5に記載の通信システム。
  7.  前記端末装置は、前記データサイズに応じて、前記伝送比を調整するようにリクエストする、請求項6に記載の通信システム。
  8.  前記サーバーは、データ送信中断の可否を前記端末装置へ通知し、
     前記端末装置は、データを記憶するストレージを有し、
     前記端末装置は、データ送信中断の可否が否である場合、前記センシングデバイスからのデータを前記ストレージに記憶する、請求項5~7のいずれか一つに記載の通信システム。
  9.  前記端末装置は、前記サーバーから送信されたデータの受信完了後、前記制御部へ上り回線の伝送量を多くするようにリクエストする、請求項1~8のいずれか一つに記載の通信システム。
  10.  前記制御部は、前記下り回線の伝送量が多くなるように調整した後、所定時間内に、前記端末装置から伝送比変更のリクエストがない場合に、前記上り回線の伝送量が多くなるように前記伝送比を調整する、請求項9に記載の通信システム。
  11.  前記サーバーは、前記制御部によって前記下り回線の伝送量が多くなるように前記伝送比が調整された後、所定時間内に、前記端末装置からデータ送信のリクエストがない場合に、前記上り回線の伝送量が多くなるように前記制御部へリクエストする、請求項9に記載の通信システム。
  12.  前記サーバーは、前記端末装置を動作させるための制御プログラムおよび/または論理データを生成し、前記端末装置へ前記制御プログラムまたは前記論理データを送信する、請求項1~11のいずれか一つに記載の通信システム。
  13.  前記制御部は、前記制御プログラムおよび/または前記論理データの送信時に、前記下り回線の伝送量が多くなるように前記伝送比を調整する、請求項12に記載の通信システム。
  14.  前記制御プログラムまたは前記論理データは、前記端末装置内で使用する機械学習のアルゴリズムを有する、請求項13に記載の通信システム。
  15.  前記サーバーは、前記制御プログラムおよび/または前記論理データの送信準備が完了したことを前記端末装置に通知する、請求項12~14のいずれか一つに記載の通信システム。
  16.  前記端末装置および/または前記サーバーは、前記センシングデバイスから得られたデータにより学習し、前記端末装置の機能を変更する、請求項1~15のいずれか一つに記載の通信システム。
  17.  前記端末装置は、複数の前記センシングデバイスを有する、請求項1~16のいずれか一つに記載の通信システム。
  18.  センシングデバイスを有する端末装置と、
     少なくとも一部に無線通信を有するネットワークシステムと、
     前記ネットワークシステムにより無線通信を介して前記端末装置とデータ伝送を行うサーバーとを有する通信システムを制御するための通信制御プログラムであって、
     前記通信システムは、前記端末装置から前記サーバーへの方向を上り回線、前記サーバーから前記端末装置への方向を下り回線として、上り回線と下り回線の伝送比を動的に制御するコンピューターを有し、
     データ伝送の状況またはデータ伝送の種類に応じて前記伝送比を調整する段階(a)を、前記コンピューターに実行させるための通信制御プログラム。
  19.  前記段階(a)は、前記端末装置から前記サーバーへのデータ量が前記サーバーから前記端末装置へのデータ量より多い場合は、前記上り回線の伝送量が多くなるように前記伝送比を調整する、請求項18に記載の通信制御プログラム。
  20.  前記段階(a)は、前記サーバーから前記端末装置へのデータ量が前記端末装置から前記サーバーへのデータ量より多い場合は、前記下り回線の伝送量が多くなるように前記伝送比を調整する、請求項18または19に記載の通信制御プログラム。
  21.  前記段階(a)は、前記端末装置からのリクエストに応じて、前記伝送比を調整する、請求項18~20のいずれか一つに記載の通信制御プログラム。
  22.  前記段階(a)において前記下り回線の伝送量が多くなるように前記伝送比を調整した後、所定時間内に、前記端末装置から伝送比変更のリクエストがない場合、前記上り回線の伝送量が多くなるように前記伝送比を調整する段階(b)を有する、請求項21に記載の通信制御プログラム。
  23.  センシングデバイスを有する端末装置と、
     少なくとも一部に無線通信を有するネットワークシステムと、
     前記ネットワークシステムにより無線通信を介して前記端末装置とデータ伝送を行うサーバーとを有する通信システムを制御するための通信制御方法であって、
     前記端末装置から前記サーバーへの方向を上り回線、前記サーバーから前記端末装置への方向を下り回線として、データ伝送の状況またはデータ伝送の種類に応じて、上り回線と下り回線の伝送比を動的に制御する、通信制御方法。
PCT/JP2021/039413 2021-01-25 2021-10-26 通信システム、通信制御プログラム、および通信制御方法 WO2022158068A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/272,447 US20240080835A1 (en) 2021-01-25 2021-10-26 Communication system, communication control program, and communication control method
JP2022576981A JP7332063B2 (ja) 2021-01-25 2021-10-26 通信システム、通信制御プログラム、通信制御方法、および制御部

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021009446 2021-01-25
JP2021-009446 2021-01-25

Publications (1)

Publication Number Publication Date
WO2022158068A1 true WO2022158068A1 (ja) 2022-07-28

Family

ID=82548711

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/039413 WO2022158068A1 (ja) 2021-01-25 2021-10-26 通信システム、通信制御プログラム、および通信制御方法

Country Status (3)

Country Link
US (1) US20240080835A1 (ja)
JP (1) JP7332063B2 (ja)
WO (1) WO2022158068A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006025016A (ja) * 2004-07-06 2006-01-26 Matsushita Electric Ind Co Ltd Adslモデム装置及び通信制御方法
JP2015502118A (ja) * 2012-03-30 2015-01-19 エヌイーシー(チャイナ)カンパニー, リミテッドNEC(China)Co.,Ltd. アップリング−ダウンリンク設定を動的に調整するための方法および装置
JP2018508130A (ja) * 2014-12-17 2018-03-22 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ワイヤレスネットワークにおける時分割復信通信のための方法およびシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959171B2 (en) * 2002-02-28 2005-10-25 Intel Corporation Data transmission rate control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006025016A (ja) * 2004-07-06 2006-01-26 Matsushita Electric Ind Co Ltd Adslモデム装置及び通信制御方法
JP2015502118A (ja) * 2012-03-30 2015-01-19 エヌイーシー(チャイナ)カンパニー, リミテッドNEC(China)Co.,Ltd. アップリング−ダウンリンク設定を動的に調整するための方法および装置
JP2018508130A (ja) * 2014-12-17 2018-03-22 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ワイヤレスネットワークにおける時分割復信通信のための方法およびシステム

Also Published As

Publication number Publication date
US20240080835A1 (en) 2024-03-07
JPWO2022158068A1 (ja) 2022-07-28
JP7332063B2 (ja) 2023-08-23

Similar Documents

Publication Publication Date Title
US20220256647A1 (en) Systems and Methods for Collaborative Edge Computing
US11564277B2 (en) Method and apparatus for supporting early data transmission in inactive state in wireless communication system
US20200322847A1 (en) Method and apparatus for enhancing handover procedure for supporting conditional handover in wireless communication system
US20210306887A1 (en) Mobile terminal for displaying whether qos is satisfied in wireless communication system
WO2019052266A1 (zh) 一种智能物联网管理系统、方法以及服务器
US20220053390A1 (en) Support of inter-gnb handover in higher layer multi-connectivity
US11503516B2 (en) Method and apparatus for providing beam related information for connection failure detection in wireless communication system
CN104049575A (zh) 在过程控制系统中收集并且向大数据机器递送数据
CN109313841B (zh) 用于在传感器网络中实现自适应聚类的方法和系统
US20190163530A1 (en) Computation apparatus, resource allocation method thereof, and communication system
CN108899082A (zh) 维修服务管理方法、系统、终端及计算机可读存储介质
US10574764B2 (en) Automated learning universal gateway
CN108446207B (zh) 计算机系统容灾能力评估方法、装置及系统
Ksentini et al. IoT/Cloud‐enabled smart services: a review on QoS requirements in fog environment and a proposed approach based on priority classification technique
Ahammad et al. Software-defined dew, roof, fog and cloud (SD-DRFC) framework for IoT ecosystem: the journey, novel framework architecture, simulation, and use cases
CN109165261A (zh) 数据同步方法、装置、服务器及计算机存储介质
CN106154906A (zh) 面向智能操作系统的故障报告方法及机器人操作系统
WO2022158068A1 (ja) 通信システム、通信制御プログラム、および通信制御方法
WO2020207252A1 (zh) 数据存储方法、装置、存储介质及电子设备
AU2023248156A1 (en) Arrival detection for battery-powered optical sensors
CN112132338A (zh) 机器人全自动配送的调度优化方法和装置
JP6558452B1 (ja) 品質チェック装置、品質チェック方法及びプログラム
Abdellaoui et al. Dynamic reconfiguration of lpwans pervasive system using multi-agent approach
Lu et al. IoT and smart infrastructure
CAO et al. An os for internet of everything: Early experience from a smart home prototype

Legal Events

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

Ref document number: 21921171

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022576981

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18272447

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21921171

Country of ref document: EP

Kind code of ref document: A1