WO2021095406A1 - IoT接続システム、コンピュータプログラムおよび情報処理方法 - Google Patents

IoT接続システム、コンピュータプログラムおよび情報処理方法 Download PDF

Info

Publication number
WO2021095406A1
WO2021095406A1 PCT/JP2020/038140 JP2020038140W WO2021095406A1 WO 2021095406 A1 WO2021095406 A1 WO 2021095406A1 JP 2020038140 W JP2020038140 W JP 2020038140W WO 2021095406 A1 WO2021095406 A1 WO 2021095406A1
Authority
WO
WIPO (PCT)
Prior art keywords
iot
hub
router
driver
iot hub
Prior art date
Application number
PCT/JP2020/038140
Other languages
English (en)
French (fr)
Inventor
淳 松村
Original Assignee
IoT-EX株式会社
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 IoT-EX株式会社 filed Critical IoT-EX株式会社
Priority to EP20887956.9A priority Critical patent/EP4060477A4/en
Priority to US17/775,584 priority patent/US20220394032A1/en
Publication of WO2021095406A1 publication Critical patent/WO2021095406A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2858Access network architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Definitions

  • This disclosure relates to IoT connection systems, computer programs and information processing methods.
  • IoT Internet of Things
  • IoT devices Since each of these IoT devices is generally connected to a dedicated private cloud, IoT devices with different specifications manufactured by different manufacturers cannot usually be connected to the same private cloud. ..
  • Non-Patent Document 1 Non-Patent Document 2, etc.
  • the purpose of this disclosure is to provide attractive services by freely interconnecting the IoT of living in a siled state for each private cloud via the Internet.
  • the IoT connection system in the present disclosure is an IoT connection system including an IoT hub realized on the cloud and an IoT router that is locally connected to the IoT hub.
  • the IoT hub can be connected to a first device.
  • the IoT router has at least one of a first driver for connecting a private cloud and the IoT hub, or a second driver for connecting a second device and the IoT hub. It has a third driver for connecting the three devices and the IoT router, the IoT router is an information processing terminal capable of communicating with a predetermined base station, and the third device is under a specific situation.
  • the feature is that it is connected to the IoT hub by the tethering function provided in the IoT router.
  • connection between the third device and the predetermined wireless / wired LAN can be cut off.
  • the IoT router can be remotely controlled by the administrator device.
  • At least one of the first driver, the second driver, and the third driver can realize a virtual device function that virtually reproduces the first device, the second device, or the third device.
  • the IoT hub can realize a directory function for linking the first device, the second device and the third device, and the IoT services available through the IoT hub with each other.
  • the directory function can identify the first device, the second device or the third device or the IoT service, and direct the first device, the second device or the third device or the IoT service. ..
  • the IoT hub can also have a Web API for using the IoT application.
  • Information obtained from the first device, second device or third device may not be stored in the IoT hub.
  • a computer program executed in an IoT connection system including an IoT hub realized on the cloud and an IoT router that is locally connected to the IoT hub.
  • the IoT hub is a private device to which the first device can be connected.
  • the IoT router has at least one of a first driver for connecting the cloud and the IoT hub, or a second driver for connecting the second device and the IoT hub, and the IoT router has a third.
  • the third device is under a specific situation in the IoT router, which is an information processing terminal capable of communicating with a predetermined base station and having a third driver for connecting the device and the IoT router. It is characterized by realizing a judgment function for determining the IoT hub and a connection function for connecting the third device to the IoT hub by the tethering function when the judgment function determines that the third device is under a specific situation. And.
  • the information processing method in the present disclosure is an information processing method executed in an IoT hub realized on the cloud and an IoT connection system including an IoT router that is locally connected to the IoT hub. It has at least one of the first driver for connecting the private cloud to which the first device can be connected and the IoT hub, or the second driver for connecting the second device and the IoT hub. Then, the IoT router has a third driver for connecting the third device and the IoT router, and the third device is attached to the IoT router which is an information processing terminal capable of communicating with a predetermined base station.
  • a determination step that determines whether or not the device is under a specific situation, and a tethering function that connects the third device to the IoT hub when the determination step determines that the third device is under a specific situation. It is characterized by executing a connection step.
  • IoT devices not only directly connected IoT devices but also IoT devices connected to a conventional private cloud can be easily interconnected.
  • an IoT connection system a computer program, and an information processing method capable of continuing the service even when the IoT device cannot be connected to the network due to a power failure or the like.
  • the IoT connection system 100 of the present invention shall include an IoT hub 200 and an IoT router 300.
  • the IoT hub 200 shall be realized on the cloud. Specifically, the IoT hub 200 is a managed service hosted in the cloud and functions as a repeater for two-way communication between an IoT application (hereinafter referred to as "IoT application”) and an IoT device.
  • IoT application an IoT application
  • IoT device an IoT device
  • the IoT router 300 is located locally and is connected to the IoT hub 200 by a WAN (Wide Area Network).
  • WAN Wide Area Network
  • the IoT router 300 realizes that an IoT device that is not connected to the Internet, such as a home network, connects to the IoT hub 200.
  • the IoT hub 200 has at least one of the first driver 210 and the second driver 220.
  • the first driver 210 and the second driver 220 absorb the differences in specifications of each IoT device manufacturer.
  • the first driver 210 is for connecting the private cloud 400 to which the first device 410 can be connected and the IoT hub 200.
  • the first device 410 and the private cloud 400 are connected by a LAN (Local Area Network), and the private cloud 400 and the first driver 210 are connected by a WAN.
  • LAN Local Area Network
  • the private cloud 400 is provided by the operator of the first device 410.
  • FIG. 1 shows a case where the number of private clouds 400 is one, the number is not limited to one, and a plurality of private clouds 400 can be connected to the IoT hub 200. Further, the IoT hub 200 may have a plurality of first drivers 210.
  • FIG. 2 shows the details of the two private clouds 400A and 400B provided by different businesses A and B.
  • the private cloud 400A is connected to the application A (hereinafter referred to as “application A”) provided by the business operator A, and provides the service by the application A to the first device 410. Is what you do.
  • the private cloud 400B is connected to the application B provided by the business operator B (hereinafter referred to as "application B"), and provides the service by the application B to the first device 410.
  • application B the business operator B
  • FIGS. 1 and 2 show an example in which only one first device 410 is connected to the private cloud 400, as shown in FIG. 3, a plurality of first devices 410 are connected to one private cloud 400.
  • the device 410 may be connected.
  • the first device 410 can be a device for which the business operator provides a private cloud. Examples include, but are not limited to, an electronic lock having a remote lock function, an AI speaker, a nursing bed capable of remote operation, and the like.
  • the second driver 220 is for directly connecting the second device 510 and the IoT hub 200.
  • the second device 510 and the second driver 220 are connected by a LAN.
  • FIG. 1 shows an example in which only one second device 510 is connected to the second driver 220, a plurality of second devices 510 are connected to one second driver 220. You may. Also, the IoT hub 200 may have a plurality of second drivers 220.
  • the second device 510 can be a device for which the business operator does not provide a private cloud.
  • a fan, an air conditioner, a window, a curtain, a lighting, and the like can be used, but the present invention is not particularly limited thereto.
  • the IoT router 300 has a third driver 310. Further, the IoT router 300 may have a plurality of third drivers 310.
  • the third driver 310 is for connecting the third device 610 and the IoT router 300.
  • the third device 610 and the third driver 310 are connected by LAN, and the IoT router 300 and the IoT hub 200 are connected by WAN.
  • the third device 610 can be an IoT device that is not connected to the Internet, such as a home network. Further, the third device 610 can be a device that should not be directly connected to the IoT hub 200 from the viewpoint of security, privacy and safety. As an example, a gas stove, a face recognition device, a data logger for collecting sensor information, and the like can be used, but the present invention is not particularly limited to this. However, from the viewpoint of risk reduction in the event of a disaster, which will be described later, any device may be connected to the IoT router 300 as a third device 610.
  • the IoT connection system 100 of the present invention is a hybrid type in which not all devices are directly connected to the IoT hub 200 on the cloud, but some devices are connected to the IoT router 300 locally. It is an IoT connection system.
  • a fire extinguishing signal is sent to a gas stove to unlock the front door. It can be easily realized.
  • the IoT router 300 is preferably an information processing terminal capable of communicating with a predetermined base station.
  • An information processing terminal capable of communicating with a predetermined base station is, for example, an information processing terminal used by inserting a SIM card such as a smartphone or tablet terminal. Since the communication capacity between the IoT router 300 and the IoT hub 200 is as low as 100 Mbytes or less per month, it is sufficient to insert a low-priced SIM card having a small communication capacity into the IoT router 300.
  • the information processing terminal 300 includes a processor 301, a memory 302, a storage 303, an input / output interface (input / output I / F) 304, and a communication interface (communication I / F) 305.
  • the components are connected to each other via bus B.
  • the information processing terminal 300 can realize the functions and methods described in the present embodiment by the cooperation of the processor 301, the memory 302, the storage 303, the input / output I / F 304, and the communication I / F 305. it can.
  • the processor 301 executes a function and / or a method realized by a code or an instruction included in a program stored in the storage 303.
  • the processor 301 includes, for example, a central processing unit (CPU), an MPU (MicroProcessingUnit), a GPU (GraphicsProcessingUnit), a microprocessor (microprocessor), a processor core (processorcore), a multiprocessor, and an ASIC (Application-). Specific Integrated Circuit), FPGA (Field Programmable Gate Array), etc. are included, and each implementation is performed by a logic circuit (hardware) or a dedicated circuit formed in an integrated circuit (IC (Integrated Circuit) chip, LSI (Large Scale Integration)), etc.
  • IC Integrated Circuit
  • LSI Large Scale Integration
  • each process disclosed in the form may be realized. Further, these circuits may be realized by one or a plurality of integrated circuits, and a plurality of processes shown in each embodiment may be realized by one integrated circuit. Further, the LSI may be referred to as a VLSI, a super LSI, an ultra LSI, or the like due to the difference in the degree of integration.
  • the memory 302 temporarily stores the program loaded from the storage 303 and provides a work area to the processor 301. Various data generated while the processor 301 is executing the program are also temporarily stored in the memory 302.
  • the memory 302 includes, for example, a RAM (RandomAccessMemory), a ROM (ReadOnlyMemory), and the like.
  • the storage 303 stores the program.
  • the storage 303 includes, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), a flash memory, and the like.
  • the communication I / F 305 is implemented as hardware such as a network adapter, communication software, and a combination thereof, and transmits and receives various data via the network 1600.
  • the communication may be executed by wire or wirelessly, and any communication protocol may be used as long as mutual communication can be executed.
  • the communication I / F 305 executes communication with other information processing devices via a network.
  • the communication I / F 305 transmits various data to another information processing device according to an instruction from the processor 301. Further, the communication I / F 305 receives various data transmitted from other information processing devices and transmits the various data to the processor 301.
  • the input / output I / F 304 includes an input device for inputting various operations to the information processing terminal 300 and an output device for outputting the processing result processed by the information processing terminal 300.
  • the input / output I / F 304 may be integrated with the input device and the output device, or may be separated into the input device and the output device.
  • the input device is realized by any one of all kinds of devices capable of receiving an input from a user and transmitting information related to the input to the processor 301, or a combination thereof.
  • the input device includes, for example, a hardware key such as a touch panel, a touch display, and a keyboard, a pointing device such as a mouse, a camera (operation input via an image), and a microphone (operation input by voice).
  • the output device outputs the processing result processed by the processor 301.
  • the output device includes, for example, a touch panel, a speaker, and the like.
  • the information processing terminal 300 shall include a battery. Such a battery can store electric power by charging.
  • the information processing terminal 300 can realize the functions in the present disclosure without connecting to a power source for about 3 days after being fully charged. In normal times (when not under the specific circumstances described later), the information processing terminal 300 is used by being connected to a power source.
  • the third device 610 is connected to the IoT hub 200 by the tethering function provided in the IoT router 300 under a specific situation.
  • the specific situation can be a situation where the connection between the third device 610 and the predetermined wireless / wired LAN is cut off, but is not limited to this.
  • the cause of falling into this specific situation is, but is not limited to, a power outage, and may be caused by a Wi-Fi (registered trademark) router failure, poor connection, or the like.
  • tethering function a known technique can be used, and methods such as Wi-Fi tethering, Bluetooth (registered trademark) tethering, and USB tethering can be used.
  • IoT devices not only directly connected IoT devices but also IoT devices connected to a conventional private cloud can be easily interconnected.
  • the third device 610 is connected to the IoT hub 200 by the tethering function provided in the IoT router 300 under a specific situation, so that the IoT device cannot be connected to the network in a disaster or the like. Even in the state, the service can be continuously used.
  • the IoT router 300 is capable of remote control (remote control) by an administrator device. According to such a configuration, it becomes possible to fully support each and every IoT router.
  • the remote control is realized by installing a dedicated application on both the administrator device and the IoT router 300. In consideration of the ease of supporting remote control, it is preferable to use an Android terminal as the information processing terminal as the IoT router 300.
  • the IoT router 300 is VDM (Various Device Management) by the administrator device.
  • VDM Various Device Management
  • MDM Mobile Device Management
  • IoT routers installed in a huge number of households can be instantly and centrally managed, and remotely monitored and updated.
  • VDM enables remote monitoring and control of device settings, application distribution, and updates. As a result, cost reduction and operational efficiency can be realized.
  • the IoT router 300 extends the IoT hub 200 locally (in the home, etc.) to ensure real-time performance, security, and privacy that can only be achieved locally. , It is possible to correspond to the reduction of communication volume.
  • the IoT router 300 as an information processing terminal, it is not necessary to use the customer's smartphone or the Internet line in the home, and the risk of unexpected troubles can be reduced.
  • the information that the user should describe in order to create the first driver 210, the second driver 220 and the third driver 310 is limited to the information related to the device definition and the command definition. May be done.
  • the creator can be a user related to the manufacture and development of an IoT device, or a user related to the provision of the IoT connection system of the present invention.
  • first driver 210 the second driver 220, and the third driver 310 need only be described with the same information, and the programming languages may be different.
  • the creator defines a list of devices used as a device definition.
  • devices used as a device definition.
  • these names and their IDs are used. Describe “weather”, “inhouse”, “outdoor”, “security”, “approve”, and “power”.
  • the creator defines the available commands as the command definition.
  • the available command of the "outdoor sensor” the observation command of the sensor value is described.
  • the observation command can be "observation”, “get”, “observe the outdoors”, and the like.
  • the first driver 210, the second driver 220, and the third driver 310 can be completed by the creator embedding the above information on the device appropriateness and the command definition in the program in a fill-in-the-blank format.
  • Other parts can be provided by the provider as SDK.
  • the SDK part shall include the part related to device operation processing in the received command, the part related to preprocessing of collected sensor data / operation result data, and the part related to data transmission processing to the IoT hub.
  • drivers for various forms of IoT devices can be easily completed, so that it is possible to realize an IoT connection system that can flexibly and easily connect IoT devices.
  • the IoT hub 200 can have a WebAPI 230 for using the IoT application 700.
  • the IoT application 700 can be connected as many as the number of services, and each can be connected using the WebAPI 230.
  • the IoT application 700 is created by describing the data acquisition logic from the IoT device (sensor) and / or the operation logic of the IoT device in the application.
  • the data acquisition logic is composed of a part that preprocesses the acquired sensor data and a part that transmits the IoT hub 200 to the API.
  • the necessary information is the connection destination URL provided by the operator of the IoT connection system 100, the API key provided by the operator, the device information, and the execution command.
  • the device operation logic consists of a part that preprocesses the device command that you want to operate and a part that sends the IoT hub 200 to the API.
  • the necessary information is the connection destination URL provided by the operator of the IoT connection system 100, the API key provided by the operator, the device information, and the execution command.
  • FIG. 6 is a diagram showing a flow in which an IoT service user (end user) receives an IoT service from an IoT service provider using an IoT device provided by the IoT device provider.
  • an IoT service user end user
  • receives an IoT service from an IoT service provider using an IoT device provided by the IoT device provider As shown in FIG. 6, when the event is first notified from the first device 410, the event is notified to the end user via the private cloud 400, the first driver 210, the WebAPI 230, and the IoT application 700.
  • the second device 510 is instructed to execute the action via the IoT application 700, the WebAPI 230, and the second driver 220.
  • IoT devices can be expressed by an event-driven program such as "If this happens, do it.” Then, after making this process into a component as a microservice and making it common and usable, it can be implemented as a function of FaaS (Function as a Service).
  • FaaS FaaS
  • the IoT hub 200 of the present invention can be connected to the Sekisho engine 800.
  • the Sekisho engine 800 is for checking the contents instructed by the IoT hub 200 to the device and preventing improper actions from being executed.
  • the room may get wet if it is hit by a guerrilla rainstorm immediately afterwards. This is to prevent such IoT-derived threats.
  • At least one of the first driver 210, the second driver 220, and the third driver 310 of the present invention can realize the virtual device function.
  • This virtual device function virtually reproduces the first device 410, the second device 510, or the third device 610.
  • FIG. 8 shows an example in which the second driver 220 of the present invention realizes the virtual device function.
  • the second driver 220 by providing the second driver 220 with a virtual device 900 capable of reproducing the transmission / reception of commands of the second device 510, even if the second device 510 is not connected, the second device 510 is provided. It is possible to develop an IoT application using the second device 510. In addition, if there is a malfunction, it is possible to easily isolate which of the second device 510 and the IoT hub 200 is out of order without going to the site.
  • the virtual device function may be realized in the IoT hub 200 instead of the driver. This is an effective means for fault isolation of the third device 610 connected to the locally existing IoT router 300.
  • the IoT hub 200 according to the IoT connection system 100 of the present invention can realize a directory function.
  • the directory function is for linking the first device 410, the second device 510 and the third device 610, and the IoT services available via the IoT hub 200.
  • the directory function realizes a function of specifying a thing or service from a certain thing (device) to a certain service, from a certain service to a certain thing, and from a certain thing to a certain thing, and instructing the thing or service. ..
  • the directory function identifies a first device 410, a second device 510 or a third device 610 or an IoT service, or a first device 410, a second device 510 or a third. You can instruct the device 610 or the IoT service.
  • the information acquired from the first device 410, the second device 510 or the third device 610 can be not stored in the IoT hub 200.
  • the IoT connection system 100 of the present invention is assumed to be operated by a telecommunications carrier.
  • Telecommunications carriers are obliged to comply with the confidentiality of communications and will not store information obtained from various devices for other uses.
  • the IoT connection system 100 of the present invention can be operated by a telecommunications carrier to interconnect each IoT device and IoT application from a neutral standpoint and promote IoT business.
  • the continuity of the IoT interconnection service affects the continuity of the IoT service of the user company, it is preferable that the user companies jointly share the interconnection infrastructure.
  • the IoT connection system 100 of the present invention only the device or IoT application permitted by the API key and the authentication scheme can be connected to the IoT hub 200. That is, the IoT connection system 100 of the present invention can construct a closed network dedicated to IoT communication on the Internet.
  • the communication path is also encrypted, and the IoT router is also managed using the MDM (Mobile Device Management) method, which makes it possible to deal with new attack methods and vulnerabilities in OSs and applications.
  • MDM Mobile Device Management
  • the provider of the IoT connection system 100 can propose an interconnection support service for IoT devices. Specifically, it can provide business matching and consulting services. In other words, in order to add value, it is possible to search for the necessary partner and introduce value creation patterns and best practices.
  • the computer program in the present disclosure is executed in the IoT hub 200 realized on the cloud and the IoT connection system 100 including the IoT router 300 that is locally connected to the IoT hub.
  • the IoT hub 200 connects the private cloud 400 to which the first device 410 can be connected and the first driver 210 for connecting the IoT hub 200, or the second device 510 and the IoT hub 200.
  • the IoT router 300 has a third driver 310 for connecting the third device 610 and the IoT router 300.
  • the computer program in the present disclosure realizes a determination function and a connection function in the IoT router 300, which is an information processing terminal capable of communicating with a predetermined base station.
  • the determination function determines whether or not the third device 610 is under a specific situation.
  • connection function connects the third device 610 to the IoT hub 200 by the tethering function when the determination function determines that the third device 610 is under a specific situation.
  • the above function can be realized by the determination circuit 1307 and the connection circuit 1308 shown in FIG. 10 (b). It is assumed that the determination circuit 1307 and the connection circuit 1308 are realized by the determination unit 307 and the connection unit 308 of the IoT router 300 shown in FIG. 10A described above, respectively.
  • IoT devices not only directly connected IoT devices but also IoT devices connected to a conventional private cloud can be easily interconnected.
  • the third device 610 is connected to the IoT hub 200 by the tethering function provided in the IoT router 300 under a specific situation, so that the IoT device cannot be connected to the network in a disaster or the like. Even in the state, the service can be continuously used.
  • the information processing method in the present disclosure is executed in the IoT hub 200 realized on the cloud and the IoT connection system 100 including the IoT router 300 that is locally connected to the IoT hub. ..
  • the IoT hub is a private cloud to which the first device can be connected and a first driver for connecting the IoT hub, or a second driver for connecting the second device and the IoT hub.
  • the IoT hub 200 connects the private cloud 400 to which the first device 410 can be connected and the first driver 210 for connecting the IoT hub 200, or the second device 510 and the IoT hub 200.
  • the IoT router 300 has a third driver 310 for connecting the third device 610 and the IoT router 300.
  • the information processing apparatus in the present disclosure causes the IoT router 300, which is an information processing terminal capable of communicating with a predetermined base station, to execute a determination step and a connection step.
  • the determination step S308 determines whether or not the third device 610 is under a specific situation. As shown in FIG. 10A, the determination step S308 can be realized by the determination unit 307 included in the IoT router 300.
  • connection step S309 when the determination step S308 determines that the third device 610 is under a specific situation, the tethering function connects the third device 610 to the IoT hub 200. As shown in FIG. 10A, such connection step S309 can be realized by the connection unit 308 included in the IoT router 300.
  • IoT devices not only directly connected IoT devices but also IoT devices connected to a conventional private cloud can be easily interconnected.
  • the third device 610 is connected to the IoT hub 200 by the tethering function provided in the IoT router 300 under a specific situation, so that the IoT device cannot be connected to the network in a disaster or the like. Even in the state, the service can be continuously used.
  • the method described in the embodiment includes, for example, a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), an optical disk (CD-ROM, DVD, MO, etc.), as a program that can be executed by a computer (computer). It can be stored in a recording medium such as a semiconductor memory (ROM, RAM, flash memory, etc.), or transmitted and distributed by a communication medium.
  • the program stored on the medium side also includes a setting program for configuring the software means (including not only the execution program but also the table and the data structure) to be executed by the computer in the computer.
  • a computer that realizes this device reads a program recorded on a recording medium, constructs software means by a setting program in some cases, and executes the above-described processing by controlling the operation by the software means.
  • the recording medium referred to in the present specification is not limited to distribution, and includes a storage medium such as a magnetic disk or a semiconductor memory provided in a device connected inside a computer or via a network.
  • the storage unit may function as, for example, a main storage device, an auxiliary storage device, or a cache memory.
  • IoT connection system 200 IoT hub 210 First driver 220 Second driver 230 WebAPI 300 IoT Router 310 Third Driver 400 Private Cloud 410 First Device 510 Second Device 610 Third Device 700 IoT App 800 Sekisho Engine 900 Virtual Device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 プライベートクラウドごとにサイロ化状態になっている暮らしのIoTを、インターネットを介して自由に相互接続して魅力的なサービスを提供する。 【解決手段】 本発明のIoT接続システムは、クラウド上で実現されるIoTハブ、および、ローカルにあり前記IoTハブと接続されるIoTルータを備えるIoT接続システムであって、前記IoTハブは、第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、第二のデバイスと当該IoTハブとを接続するための第二のドライバの少なくとも一方を有し、前記IoTルータは、第三のデバイスと当該IoTルータとを接続するための第三のドライバを有し、前記IoTルータは、所定の基地局と通信可能な情報処理端末であり、前記第三のデバイスは、特定の状況下において、前記IoTルータが備えるテザリング機能により前記IoTハブに接続されることを特徴とする。

Description

IoT接続システム、コンピュータプログラムおよび情報処理方法
 本開示は、IoT接続システム、コンピュータプログラムおよび情報処理方法に関する。
 近年、インターネットに接続して様々なサービスを受けることが可能なデバイスが増加し始めている。このようなデバイスは、IoT(Internet of Things)デバイスと呼ばれる。
 このようなIoTデバイスは、それぞれが専用のプライベートクラウドに接続されるのが一般的であるため、通常、異なるメーカにより製造された、仕様の異なるIoTデバイスは同じプライベートクラウドには接続することができない。
 近年では、クラウドへの接続のためのAPI(Application Programing Interface)を公開したり、SDK(Software Development kit)等を提供したりすることで、様々なメーカのIoTデバイスを接続させることが可能なIoTハブと呼ばれるIoTクラウドサービスも提供されている(非特許文献1、非特許文献2等)。
"Azure IoT Hub"、Microsoft社、[令和1年6月2日検索]、インターネット<https://azure.microsoft.com/ja-jp/services/iot-hub/> "AWS IoT"、Amazon Web Services社、[令和1年6月2日検索]、インターネット<https://aws.amazon.com/jp/iot/>
 上記のようなIoTクラウドサービスは存在するものの、各サービス間での連携は限られており、IoTデバイスの事業者はサービス毎に異なる専用の接続用プログラムを開発し、デバイスに組み込む必要があった。
 そのため、本開示の目的は、プライベートクラウドごとにサイロ化状態になっている暮らしのIoTを、インターネットを介して自由に相互接続して魅力的なサービスを提供することを目的とする。
 本開示におけるIoT接続システムは、クラウド上で実現されるIoTハブ、および、ローカルにありIoTハブと接続されるIoTルータを備えるIoT接続システムであって、IoTハブは、第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、第二のデバイスと当該IoTハブとを接続するための第二のドライバの少なくとも一方を有し、IoTルータは、第三のデバイスと当該IoTルータとを接続するための第三のドライバを有し、IoTルータは、所定の基地局と通信可能な情報処理端末であり、第三のデバイスは、特定の状況下において、IoTルータが備えるテザリング機能によりIoTハブに接続されることを特徴とする。
 特定の状況下は、第三のデバイスと所定の無線/有線LANとの接続が途絶えた状況とすることができる。
 IoTルータは、管理者装置により遠隔操作が可能とすることができる。
 第一のドライバ、第二のドライバおよび第三のドライバの少なくとも一つは、第一のデバイス、第二のデバイスまたは第三のデバイスを仮想的に再現する仮想デバイス機能を実現することができる。
 IoTハブは、第一のデバイス、第二のデバイスおよび第三のデバイスならびにIoTハブを介して利用可能なIoTサービスを相互に連携させるためのディレクトリ機能を実現することができる。
 ディレクトリ機能は、第一のデバイス、第二のデバイスまたは第三のデバイスあるいはIoTサービスを特定し、かつ、第一のデバイス、第二のデバイスまたは第三のデバイスあるいはIoTサービスに指示することができる。
 IoTハブは、さらに、IoTアプリケーションを利用するためのWebAPIを有することができる。
 第一のデバイス、第二のデバイスまたは第三のデバイスから取得される情報は、IoTハブでは保存されないものとすることができる。
 本開示におけるコンピュータプログラムは。クラウド上で実現されるIoTハブ、および、ローカルにありIoTハブと接続されるIoTルータを備えるIoT接続システムにおいて実行されるコンピュータプログラムであって、IoTハブは、第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、第二のデバイスと当該IoTハブとを接続するための第二のドライバの少なくとも一方を有し、IoTルータは、第三のデバイスと当該IoTルータとを接続するための第三のドライバを有し、所定の基地局と通信可能な情報処理端末であるIoTルータに、第三のデバイスが特定の状況下にあるか否かを判定する判定機能と、判定機能により第三のデバイスが特定の状況下にあると判定された場合に、テザリング機能により第三のデバイスをIoTハブに接続する接続機能とを実現させることを特徴とする。
 本開示における情報処理方法は、クラウド上で実現されるIoTハブ、および、ローカルにありIoTハブと接続されるIoTルータを備えるIoT接続システムにおいて実行される情報処理方法であって、IoTハブは、第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、第二のデバイスと当該IoTハブとを接続するための第二のドライバの少なくとも一方を有し、IoTルータは、第三のデバイスと当該IoTルータとを接続するための第三のドライバを有し、所定の基地局と通信可能な情報処理端末であるIoTルータに、第三のデバイスが特定の状況下にあるか否かを判定する判定ステップと、判定ステップにより第三のデバイスが特定の状況下にあると判定された場合に、テザリング機能により第三のデバイスをIoTハブに接続する接続ステップとを実行させることを特徴とする。
 本開示によれば、プライベートクラウドごとにサイロ化状態になっている暮らしのIoTを、インターネットを介して自由に相互接続して魅力的なサービスを提供することができる。
 具体的には、本開示によれば、直接接続されたIoTデバイス同士のみならず、従来のプライベートクラウドに接続されたIoTデバイス同士も、容易に相互接続させることが可能となる。
 また、本開示によれば、停電等においてIoTデバイスがネットワークに接続できない状態であっても、サービスの継続が可能なIoT接続システム、コンピュータプログラムおよび情報処理方法を提供することができる。
本開示の実施形態に係るIoT接続システムの構成の一例を示したシステム構成図である。 本開示の実施形態に係るIoT接続システムの複数のプライベートクラウドの一例を示したイメージ図である。 本開示の実施形態に係るIoT接続システムのプライベートクラウドに接続される複数の第一のデバイスの一例を示したイメージ図である。 本開示の実施形態に係るIoT接続システムで提供されるサービスの流れの一例を示したイメージ図である 本開示の実施形態にかかるIoTルータのハードウェア構成を示すハードウェア構成図である。 本開示の実施形態に係るIoT接続システムで提供されるサービスの流れの一例を示したイメージ図である 本開示の実施形態に係るIoT接続システムで提供されるサービスの流れの他の例を示したイメージ図である 本開示の実施形態に係るIoT接続システムで提供される仮想ドライバ機能の流れの一例を示したイメージ図である 本開示の実施形態に係るIoT接続システムで提供される仮想ドライバ機能の流れの他の例を示したイメージ図である 本開示の実施形態に係るIoTルータの構成および回路構成を示す構成図である 本開示の実施形態に係る情報処理方法のフローの一例を示したフロー図である
 初めに、本発明のIoT接続システムの実施形態について、図面を参照しながら説明する。
 図1に示すように、本発明のIoT接続システム100は、IoTハブ200およびIoTルータ300を備えるものとする。
 IoTハブ200は、クラウド上で実現されるものとする。具体的には、IoTハブ200は、クラウド内でホストされているマネージドサービスであり、IoTアプリケーション(以下「IoTアプリ」という。)とIoTデバイスとの間の双方向通信に対する中継器として機能する。
 IoTルータ300は、ローカルにあり、IoTハブ200とWAN(Wide Area Network)により接続されるものとする。
 具体的には、IoTルータ300は、宅内ネットワークなどインターネットに接続されていないIoTデバイスがIoTハブ200に接続することを実現するものである。
 そして、IoTハブ200は、第一のドライバ210または第二のドライバ220の少なくとも一方を有する。
 第一のドライバ210および第二のドライバ220は、各IoTデバイスのメーカごとの仕様の違いを吸収するものである。
 第一のドライバ210は、第一のデバイス410が接続可能なプライベートクラウド400と当該IoTハブ200とを接続するためのものである。
 一例として、第一のデバイス410とプライベートクラウド400とはLAN(Local Area Network)による接続とし、プライベートクラウド400と第一のドライバ210とはWANによる接続とするのが好ましい。
 プライベートクラウド400は、第一のデバイス410の事業者により提供されるものである。図1ではプライベートクラウド400が一つである場合が示されているが、この数は一つに限られるものではなく、複数のプライベートクラウド400がIoTハブ200に接続されることができる。また、IoTハブ200は、複数の第一のドライバ210を有してもよい。
 図2は、異なる事業者A,Bにより提供される2つのプライベートクラウド400A,400Bの詳細を示したものである。図2に示されるように、プライベートクラウド400Aは、事業者Aが提供するアプリケーションA(以下、「アプリA」とする。)と接続され、第一のデバイス410に対してアプリAによるサービスを提供するものである。
 同様に、プライベートクラウド400Bは、事業者Bが提供するアプリケーションB(以下、「アプリB」とする。)と接続され、第一のデバイス410に対してアプリBによるサービスを提供するものである。
 なお、図1、2ではプライベートクラウド400に第一のデバイス410が一つだけ接続されている例が示されているが、図3に示すように、一つのプライベートクラウド400に複数の第一のデバイス410が接続されてもよい。
 第一のデバイス410は、事業者がプライベートクラウドを提供しているデバイスとすることができる。一例として、リモートロック機能を有する電子錠、AIスピーカ、リモート操作が可能な介護ベッドなどが挙げられるが、特にこれらに限定されるものではない。
 第二のドライバ220は、第二のデバイス510とIoTハブ200とを直接接続するためのものである。
 一例として、第二のデバイス510と第二のドライバ220とはLANによる接続とするのが好ましい。
 なお、図1では第二のドライバ220に第二のデバイス510が一つだけ接続されている例が示されているが、一つの第二のドライバ220に複数の第二のデバイス510が接続されてもよい。また、IoTハブ200は複数の第二のドライバ220を有してもよい。
 第二のデバイス510は、事業者がプライベートクラウドを提供していないデバイスとすることができる。一例として、扇風機、エアコン、窓、カーテン、照明などとすることができるが、特にこれらに限定されるものではない。
 そして、IoTルータ300は、第三のドライバ310を有する。また、IoTルータ300は、複数の第三のドライバ310を有してもよい。
 第三のドライバ310は、第三のデバイス610と当該IoTルータ300とを接続するためのものである。
 一例として、第三のデバイス610と第三のドライバ310とはLANによる接続とし、IoTルータ300とIoTハブ200とはWANによる接続とするのが好ましい。
 第三のデバイス610は、上述したとおり、宅内ネットワークなどインターネットに接続されていないIoTデバイスとすることができる。また、第三のデバイス610は、セキュリティ、プライバシーおよびセーフティ上の観点で、直接IoTハブ200と接続すべきでないデバイスとすることができる。一例として、ガスコンロ、顔認証デバイス、センサ情報収集用データロガーなどとすることができるが、特にこれに限定されるものではない。ただし、後述する災害時のリスク低減の観点から、どのようなデバイスであっても第三のデバイス610としてIoTルータ300へ接続させるようにしてもよい。
 このように、本発明のIoT接続システム100は、すべてのデバイスをクラウド上のIoTハブ200に直接的に接続させるものではなく、一部のデバイスをローカル上のIoTルータ300に接続させるハイブリッドタイプのIoT接続システムである。
 以上によれば、直接接続されたIoTデバイス同士のみならず、従来のプライベートクラウドに接続されたIoTデバイス同士も、容易に相互接続させることが可能となる。
 これにより、決まったメーカのIoTデバイス同士しか繋がっていなかった従来とは異なり、様々なメーカのIoTデバイスを容易に相互接続させることができる。また、様々なメーカのIoTデバイスを相互接続させることにより、従来にはなかったユニークなサービスを創造することができるようになる。
 例えば、本発明のIoT接続システム100によれば、図4に示すように、外部のサーバからの緊急地震速報を受信したら、ガスコンロに消火信号を送り、玄関ドアのカギを解錠するといったサービスを実現することも容易に可能である。
 そして、IoTルータ300は、所定の基地局と通信可能な情報処理端末とするのが好ましい。
 所定の基地局と通信可能な情報処理端末は、一例として、スマートフォンやタブレット端末などのSIMカードを挿入して用いる情報処理端末である。IoTルータ300とIoTハブ200との間の通信容量はひと月に100Mバイト以下の低容量であることから、IoTルータ300には通信容量が少ない低額なSIMカードを挿入すれば足りる。
 ここで、図5を用いて、上記情報処理端末300(IoTルータ300)のハードウェア構成について説明する。情報処理端末300は、プロセッサ301と、メモリ302と、ストレージ303と、入出力インターフェース(入出力I/F)304と、通信インターフェース(通信I/F)305とを含む。各構成要素は、バスBを介して相互に接続される。
 情報処理端末300は、プロセッサ301と、メモリ302と、ストレージ303と、入出力I/F304と、通信I/F305との協働により、本実施形態に記載される機能、方法を実現することができる。
 プロセッサ301は、ストレージ303に記憶されるプログラムに含まれるコード又は命令によって実現する機能、及び/又は、方法を実行する。プロセッサ301は、例えば、中央処理装置(CPU)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を含み、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各実施形態に開示される各処理を実現してもよい。また、これらの回路は、1又は複数の集積回路により実現されてよく、各実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。
 メモリ302は、ストレージ303からロードしたプログラムを一時的に記憶し、プロセッサ301に対して作業領域を提供する。メモリ302には、プロセッサ301がプログラムを実行している間に生成される各種データも一時的に格納される。メモリ302は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)等を含む。
 ストレージ303は、プログラムを記憶する。ストレージ303は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等を含む。
 通信I/F305は、ネットワークアダプタ等のハードウェアや通信用ソフトウェア、及びこれらの組み合わせとして実装され、ネットワーク1600を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F305は、ネットワークを介して、他の情報処理装置との通信を実行する。通信I/F305は、各種データをプロセッサ301からの指示に従って、他の情報処理装置に送信する。また、通信I/F305は、他の情報処理装置から送信された各種データを受信し、プロセッサ301に伝達する。
 入出力I/F304は、情報処理端末300に対する各種操作を入力する入力装置、及び、情報処理端末300で処理された処理結果を出力する出力装置を含む。入出力I/F304は、入力装置と出力装置が一体化していてもよいし、入力装置と出力装置とに分離していてもよい。
 入力装置は、ユーザからの入力を受け付けて、当該入力に係る情報をプロセッサ301に伝達できる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。入力装置は、例えば、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(画像を介した操作入力)、マイク(音声による操作入力)を含む。
 出力装置は、プロセッサ301で処理された処理結果を出力する。出力装置は、例えば、タッチパネル、スピーカ等を含む。
 また、情報処理端末300は、バッテリを含むものとする。かかるバッテリは、充電することにより電力を蓄えることができるものである。情報処理端末300は、満充電から3日程度は、電源に接続せずに本開示における機能を実現することができる。平常時(後述する特定の状況下に無い場合)には、情報処理端末300は、電源に接続して使用されるものとする。
 そして、第三のデバイス610は、特定の状況下において、IoTルータ300が備えるテザリング機能によりIoTハブ200に接続されるものとする。
 特定の状況は、第三のデバイス610と所定の無線/有線LANとの接続が途絶えた状況などとすることができるが、これに限られるものではない。
 この特定の状況に陥る原因としては、停電が挙げられるが、これに限られるものではなく、Wi-Fi(登録商標)ルータの故障や接続不良等などが原因である場合もある。
 また、テザリング機能としては公知の技術を用いることができ、Wi-Fiテザリング、Bluetooth(登録商標)テザリング、USBテザリングなどの手法を用いることができる。
 以上の構成によれば、プライベートクラウドごとにサイロ化状態になっている暮らしのIoTを、インターネットを介して自由に相互接続して魅力的なサービスを提供することができる。
 具体的には、本開示によれば、直接接続されたIoTデバイス同士のみならず、従来のプライベートクラウドに接続されたIoTデバイス同士も、容易に相互接続させることが可能となる。
 また、以上の構成によれば、第三のデバイス610が、特定の状況下において、IoTルータ300が備えるテザリング機能によりIoTハブ200に接続されることで、災害等においてIoTデバイスがネットワークに接続できない状態であっても、サービスを継続して利用することができるようになる。
 また、IoTルータ300は、管理者装置によりRemote Control(遠隔操作)が可能なものとするのが好ましい。かかる構成によれば、IoTルータの一つ一つをフルサポートすることができるようになる。
 なお、上記遠隔操作は、管理者装置およびIoTルータ300の双方に専用のアプリケーションをインストールしておくことで実現される。なお、遠隔操作のサポートのし易さを考慮して、IoTルータ300としての情報処理端末は、Android端末を用いるのが好ましい。
 また、IoTルータ300は、管理者装置によりVDM(Various Device Management:多様なデバイス管理)されるものとするのが好ましい。かかるVDMは、既知のMDM(Mobile Device Management)の手法を用いて実現されることができる。かかる構成によれば、膨大数の世帯に設置されるIoTルータを即時に一元管理し、遠隔監視・更新することができるようになる。また、VDMにより、デバイスの設定やアプリの配布、更新を遠隔監視制御することができるようになる。これにより、コスト削減と業務効率化を実現することができる。
 また、IoTハブ200へは認証されたアプリやデバイスしか接続できないが、IoTルータ300は、IoTハブ200をローカル(宅内等)に延長し、ローカルでなければ実現できないリアルタイム性、セキュリティやプライバシーの確保、通信量の削減などに対応させることができる。
 また、IoTルータ300を情報処理端末とすることで、顧客のスマートフォンや家庭内のインターネット回線線を使用する必要がなくなり、想定外のトラブルが発生するリスクを低減させることができる。
 また、本発明のIoT接続システム100は、第一のドライバ210、第二のドライバ220および第三のドライバ310を作成するのにユーザが記述すべき情報は、デバイス定義およびコマンド定義に関する情報に限られてもよい。
 ここで、第一のドライバ210、第二のドライバ220および第三のドライバ310を作成する方法について説明を行う。なお、作成者は、IoTデバイスの製造開発に関するユーザ、あるいは、本発明のIoT接続システムの提供に関するユーザとすることができる。
 なお、第一のドライバ210および第二のドライバ220と、第三のドライバ310とは、同内容の情報が記述されればよく、プログラミング言語が異なるものであってもよい。
 初めに、作成者は、デバイス定義として、利用機器一覧を定義する。一例として、利用機器として「気象センサ」、「屋内センサ」、「屋外センサ」、「不審者センサ」、「承認センサ」、「電力センサ」を定義する場合には、これらの名称およびそのIDとなる「weather」、「inhouse」、「outdoor」、「security」、「approve」、「power」を記述する。
 続いて、作成者は、コマンド定義として、利用可能コマンドを定義する。一例として、「屋外センサ」の利用可能コマンドを定義する場合には、センサ値の観測コマンドを記述する。観測コマンドは、一例として、「観測」,「ゲット」,「屋外を観測します」などとすることができる。
 以上のデバイス適宜およびコマンド定義に関する情報を、作成者が穴埋め形式でプログラムに埋めていくことにより、第一のドライバ210、第二のドライバ220、第三のドライバ310を完成させることができる。その他の部分については、SDKとして提供者から提供されることができる。
 SDK部分は、受信したコマンドでのデバイス操作処理に関する部分、収集したセンサデータ/操作結果データの前処理に関する部分、IoTハブへのデータ送信処理に関する部分を含むものとする。
 以上の構成によれば、様々な形態のIoTデバイスに対するドライバを簡易に完成させることができるため、IoTデバイスを柔軟にかつ容易に接続可能なIoT接続システムを実現することが可能となる。
 通常、デバイスの開発に係るエンジニアは、Web開発のエンジニアとは取得している技術の分野が異なり、デバイスをIoTハブに繋ぐことができる技術レベルを有していない者も多い。
 そのため、本開示のように、どのドライバ用プログラムに対しても共通の穴埋め形式の簡易な手法で作成が可能であることは、非常に有益である。これにより、IoTデバイスのIoTハブへの接続に係る開発コストや開発期間を従来よりも抑えることができる。
 また、開発コストの低減により、扇風機とエアコンのように掛けられるコストの許容値に差がある場合であっても、平等にIoTハブへの接続を実現することができる。
 続いて、本開示におけるIoT接続システム100に係るIoTハブ200とIoTアプリとの接続について説明する。
 図1に示されているように、IoTハブ200は、IoTアプリ700を利用するためのWebAPI230を有することができる。なお、図1に示すように、IoTアプリ700はサービスの数だけ接続されることができ、それぞれがWebAPI230を使用して接続されることができる。
 IoTアプリ700は、アプリ内にIoTデバイス(センサ)からのデータ取得ロジックおよび/またはIoTデバイスの操作ロジックを記述することで作成される。
 データ取得ロジックは、取得したセンサデータの前処理を行う部分と、IoTハブ200のAPIへの送信を行う部分とで構成される。必要な情報は、IoT接続システム100の運営者から提供される接続先URL、運営者から提供されるAPIキー、デバイス情報および実行コマンドである。
 デバイスの操作ロジックは、操作したいデバイスコマンドの前処理を行う部分と、IoTハブ200のAPIへの送信を行う部分とで構成される。必要な情報は、IoT接続システム100の運営者から提供される接続先URL、運営者から提供されるAPIキー、デバイス情報および実行コマンドである。
 図6は、IoTサービス利用者(エンドユーザ)が、IoTデバイス事業者により提供されたIoTデバイスを用いて、IoTサービス提供事業者からIoTサービスの提供を受けるフローを示した図である。図6に示すように、初めに第一のデバイス410からイベントの通知があると、プライベートクラウド400、第一のドライバ210、WebAPI230、IoTアプリ700を介してエンドユーザにイベントが通知される。
 続いて、エンドユーザがアクションを決定すると、IoTアプリ700、WebAPI230、第二のドライバ220を介して第二のデバイス510にアクションの実行が指示される。
 IoTデバイスの連携は、「~がこうなったら〇〇する」といったイベント駆動型のプログラムで表現することができる。そして、この処理をマイクロサービスとして部品化し、共通化して使えるようにしたうえで、FaaS(Function as a Service)の関数として実装することができる。
 また、図7に示すように、本発明のIoTハブ200は、関所エンジン800と接続されることができる。この関所エンジン800は、IoTハブ200がデバイスに指示する内容をチェックし、不適切なアクションが実行されることを防ぐためのものである。
 例えば、“外気が爽やかなら、エアコンを止めて窓を開ける”、といったIoTサービスを提供する場合、直後にゲリラ豪雨に見舞われると室内が濡れてしまうおそれがあるが、上記関所エンジン800は、このようなIoT由来の脅威を未然に防ぐためのものである。
 また、本発明の第一のドライバ210、第二のドライバ220および第三のドライバ310の少なくとも一つは、仮想デバイス機能を実現することができる。
 この仮想デバイス機能は、第一のデバイス410、第二のデバイス510または第三のデバイス610を仮想的に再現するものである。
 図8は、本発明の第二のドライバ220が仮想デバイス機能を実現する例を示したものである。図8に示すように、第二のドライバ220に、第二のデバイス510のコマンドの送受信を再現可能な仮想デバイス900を設けることにより、仮に第二のデバイス510が接続されていなくても、第二のデバイス510を用いるIoTアプリの開発が可能となる。また、動作不良があった場合、現地に赴かずとも第二のデバイス510とIoTハブ200のどちらが故障しているのか故障切り分けを容易に行うことができる。
 また、本発明では、図9に示すように、ドライバではなくIoTハブ200に仮想デバイス機能を実現させてもよい。これは、ローカルに存在するIoTルータ300に接続される第三のデバイス610の故障切り分けに有効な手段である。
 また、本発明のIoT接続システム100に係るIoTハブ200は、ディレクトリ機能を実現することができる。
 ディレクトリ機能は、第一のデバイス410、第二のデバイス510および第三のデバイス610、ならびに、IoTハブ200を介して利用可能なIoTサービスを連携させるためのものである。
 すなわち、ディレクトリ機能は、あるモノ(デバイス)からあるサービスへ、あるサービスからあるモノへ、あるモノからあるモノへ、モノまたはサービスを特定し、モノまたはサービスへ指示する機能を実現するものである。
 具体的には、ディレクトリ機能は、第一のデバイス410、第二のデバイス510または第三のデバイス610あるいはIoTサービスを特定する、あるいは、第一のデバイス410、第二のデバイス510または第三のデバイス610あるいはIoTサービスに指示することができる。
 また、本発明のIoT接続システム100において、第一のデバイス410、第二のデバイス510または第三のデバイス610から取得される情報は、IoTハブ200では保存されないものとすることができる。
 本発明のIoT接続システム100は、電気通信事業者により運営されることを想定している。電気通信事業者は、通信の秘密を遵守する義務が課せられるため、各種デバイスから取得される情報を、他の利活用を目的として保存することはしない。
 これら情報は有益な情報であるため、各社のプライベートクラウドではかかる情報を独占的に取得すべく、IoTデバイスの囲い込みを行うのが通常である。
 一方で、本発明のIoT接続システム100は、運営を電気通信事業者が行うことにより、各IoTデバイスおよびIoTアプリを中立の立場で相互接続させ、IoTビジネスを促進させることができる。
 また、IoT相互接続サービスの継続性は利用する企業のIoTサービスの継続性に影響するため、利用企業が共同で相互接続インフラを共有するのが好ましい。
 また、本発明のIoT接続システム100において、IoTハブ200に接続できるのはAPIキーと認証スキームにより許可されたデバイスやIoTアプリのみとすることができる。すなわち、本発明のIoT接続システム100は、インターネット上にIoT通信専用の閉域網を構築することができる。また、通信経路も暗号化され、MDM(Mobile Device Management)の手法を用いてIoTルータも管理するため、新たな攻撃方法やOSやアプリの脆弱性対応も可能とする。
 また、IoT化されていないデバイスをIoTハブ200に接続するには、BaaS(Backend as a service)やSDKを活用することで、短期間での開発を行うことができる。
 また、IoT接続システム100の提供者は、IoTデバイスの相互接続支援サービスを提案することができる。具体的には、ビジネスマッチング、コンサルティングサービスを提供することができる。すなわち、付加価値を追加するために、必要な相手を探し、価値創出パターンとベストプラクティスを紹介するなどを行うことができる。
 また、他社のデバイスやアプリと組み合わせることで魅力的なサービスを創出し、付加価値を訴求することでビジネスを拡大することができる。
 続いて、本開示におけるコンピュータプログラムの実施形態について説明する。
 本開示におけるコンピュータプログラムは、図1に示したように、クラウド上で実現されるIoTハブ200、および、ローカルにありIoTハブと接続されるIoTルータ300を備えるIoT接続システム100において実行される。
 IoTハブ200は、第一のデバイス410が接続可能なプライベートクラウド400と当該IoTハブ200とを接続するための第一のドライバ210、または、第二のデバイス510と当該IoTハブ200とを接続するための第二のドライバ220の少なくとも一方を有し、IoTルータ300は、第三のデバイス610と当該IoTルータ300とを接続するための第三のドライバ310を有する。
 そして、本開示におけるコンピュータプログラムは、所定の基地局と通信可能な情報処理端末であるIoTルータ300に、判定機能と、接続機能とを実現させる。
 判定機能は、第三のデバイス610が特定の状況下にあるか否かを判定する。
 接続機能は、判定機能により第三のデバイス610が特定の状況下にあると判定された場合に、テザリング機能により第三のデバイス610をIoTハブ200に接続する。
 上記機能は、図10(b)に示す判定回路1307および接続回路1308により実現されることができる。判定回路1307および接続回路1308は、それぞれ上述した図10(a)に示すIoTルータ300の判定部307および接続部308により実現されるものとする。
 以上の構成によれば、プライベートクラウドごとにサイロ化状態になっている暮らしのIoTを、インターネットを介して自由に相互接続して魅力的なサービスを提供することができる。
 具体的には、本開示によれば、直接接続されたIoTデバイス同士のみならず、従来のプライベートクラウドに接続されたIoTデバイス同士も、容易に相互接続させることが可能となる。
 また、以上の構成によれば、第三のデバイス610が、特定の状況下において、IoTルータ300が備えるテザリング機能によりIoTハブ200に接続されることで、災害等においてIoTデバイスがネットワークに接続できない状態であっても、サービスを継続して利用することができるようになる。
 最後に、本開示における情報処理方法の実施形態について説明する。
 本開示における情報処理方法は、図1に示したように、クラウド上で実現されるIoTハブ200、および、ローカルにありIoTハブと接続されるIoTルータ300を備えるIoT接続システム100において実行される。
 IoTハブは、第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、第二のデバイスと当該IoTハブとを接続するための第二のドライバの少なくとも一方を有し、
 IoTハブ200は、第一のデバイス410が接続可能なプライベートクラウド400と当該IoTハブ200とを接続するための第一のドライバ210、または、第二のデバイス510と当該IoTハブ200とを接続するための第二のドライバ220の少なくとも一方を有し、IoTルータ300は、第三のデバイス610と当該IoTルータ300とを接続するための第三のドライバ310を有する。
 そして、本開示における情報処理装置は、図11に示すように、所定の基地局と通信可能な情報処理端末であるIoTルータ300に、判定ステップと、接続ステップとを実行させる。
 判定ステップS308は、第三のデバイス610が特定の状況下にあるか否かを判定する。かかる判定ステップS308は、図10(a)に示すように、IoTルータ300が備える判定部307により実現されることができる。
 接続ステップS309は、判定ステップS308により第三のデバイス610が特定の状況下にあると判定された場合に、テザリング機能により第三のデバイス610をIoTハブ200に接続する。かかる接続ステップS309は、図10(a)に示すように、IoTルータ300が備える接続部308により実現されることができる。
 以上の構成によれば、プライベートクラウドごとにサイロ化状態になっている暮らしのIoTを、インターネットを介して自由に相互接続して魅力的なサービスを提供することができる。
 具体的には、本開示によれば、直接接続されたIoTデバイス同士のみならず、従来のプライベートクラウドに接続されたIoTデバイス同士も、容易に相互接続させることが可能となる。
 また、以上の構成によれば、第三のデバイス610が、特定の状況下において、IoTルータ300が備えるテザリング機能によりIoTハブ200に接続されることで、災害等においてIoTデバイスがネットワークに接続できない状態であっても、サービスを継続して利用することができるようになる。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
 また、実施形態に記載した手法は、計算機(コンピュータ)に実行させることができるプログラムとして、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段(実行プログラムのみならずテーブルやデータ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。記憶部は、例えば主記憶装置、補助記憶装置、又はキャッシュメモリとして機能してもよい。
 100  IoT接続システム
 200  IoTハブ
 210  第一のドライバ
 220  第二のドライバ
 230  WebAPI
 300  IoTルータ
 310  第三のドライバ
 400  プライベートクラウド
 410  第一のデバイス
 510  第二のデバイス
 610  第三のデバイス
 700  IoTアプリ
 800  関所エンジン
 900  仮想デバイス

Claims (10)

  1.  クラウド上で実現されるIoTハブ、および、ローカルにあり前記IoTハブと接続されるIoTルータを備えるIoT接続システムであって、
     前記IoTハブは、第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、第二のデバイスと当該IoTハブとを接続するための第二のドライバの少なくとも一方を有し、
     前記IoTルータは、第三のデバイスと当該IoTルータとを接続するための第三のドライバを有し、
     前記IoTルータは、特定の状況下であっても携帯電話用の通信網に接続可能なモバイルデバイスであり、
     前記第三のデバイスは、前記IoTルータのテザリング機能により、前記特定の状況下においても前記IoTハブとの情報の送受信を継続するIoT接続システム。
  2.  前記第三のデバイスは、安全性確保、または、個人情報保護の観点からインターネットに接続すべきでないデバイスであり、前記IoTハブに認証されたデバイスであるIoTルータが前記第三のデバイスとの情報の送受信を中継することを特徴とする請求項1に記載のIoT接続システム。
  3.  前記IoTハブには複数のIoTルータが接続され、
     前記複数のIoTルータは、管理者装置によりデバイス設定、アプリの配布・更新が遠隔で一元管理されることを特徴とする請求項1または2に記載のIoT接続システム。
  4.  前記第一のドライバ、前記第二のドライバおよび前記第三のドライバの少なくとも一つは、
     前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスを仮想的に再現する仮想デバイス機能を実現することを特徴とする請求項1から3のいずれか一項に記載のIoT接続システム。
  5.  前記IoTハブは、
     前記第一のデバイス、前記第二のデバイスおよび前記第三のデバイスならびに前記IoTハブを介して利用可能なIoTサービスを相互に連携させるためのディレクトリ機能を実現することを特徴とする請求項1から4のいずれか一項に記載のIoT接続システム。
  6.  前記ディレクトリ機能は、
     前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスあるいは前記IoTサービスを特定し、かつ、前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスあるいは前記IoTサービスに指示することを特徴とする請求項5に記載のIoT接続システム。
  7.  前記IoTハブは、さらに、
     IoTアプリケーションを利用するためのWebAPIを有することを特徴とする請求項1から6のいずれか一項に記載のIoT接続システム。
  8.  前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスから取得される情報は、前記IoTハブでは保存されないことを特徴とする請求項1から7のいずれか一項に記載のIoT接続システム。
  9.  クラウド上で実現されるIoTハブ、および、ローカルにあり前記IoTハブと接続されるIoTルータを備えるIoT接続システムにおいて実行されるコンピュータプログラムであって、
     前記IoTハブは、第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、第二のデバイスと当該IoTハブとを接続するための第二のドライバの少なくとも一方を有し、
     前記IoTルータは、第三のデバイスと当該IoTルータとを接続するための第三のドライバを有し、
     携帯電話用の通信網に接続可能なモバイルデバイスである前記IoTルータに、
     特定の状況下であるか否かを判定する判定機能と、
     前記判定機能により前記特定の状況下にあると判定された場合に、前記第三のデバイスに前記携帯電話用の通信網を介して前記IoTハブとの情報の送受信を継続させるテザリング機能と
    を実現させるコンピュータプログラム。
  10.  クラウド上で実現されるIoTハブ、および、ローカルにあり前記IoTハブと接続されるIoTルータを備えるIoT接続システムにおいて実行される情報処理方法であって、
     前記IoTハブは、第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、第二のデバイスと当該IoTハブとを接続するための第二のドライバの少なくとも一方を有し、
     前記IoTルータは、第三のデバイスと当該IoTルータとを接続するための第三のドライバを有し、
     携帯電話用の通信網に接続可能なモバイルデバイスである前記IoTルータに、
     特定の状況下であるか否かを判定する判定ステップと、
     前記判定ステップにおいて前記特定の状況下にあると判定された場合に、前記第三のデバイスに前記携帯電話用の通信網を介して前記IoTハブとの情報の送受信を継続させるテザリングステップと
    を実行させる情報処理方法。
PCT/JP2020/038140 2019-11-13 2020-10-08 IoT接続システム、コンピュータプログラムおよび情報処理方法 WO2021095406A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20887956.9A EP4060477A4 (en) 2019-11-13 2020-10-08 IOT CONNECTION SYSTEM, COMPUTER PROGRAM AND INFORMATION PROCESSING METHOD
US17/775,584 US20220394032A1 (en) 2019-11-13 2020-10-08 Iot connection system, computer program, and information processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019205140A JP6771244B1 (ja) 2019-11-13 2019-11-13 IoT接続システム、コンピュータプログラムおよび情報処理方法
JP2019-205140 2019-11-13

Publications (1)

Publication Number Publication Date
WO2021095406A1 true WO2021095406A1 (ja) 2021-05-20

Family

ID=72829195

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/038140 WO2021095406A1 (ja) 2019-11-13 2020-10-08 IoT接続システム、コンピュータプログラムおよび情報処理方法

Country Status (5)

Country Link
US (1) US20220394032A1 (ja)
EP (1) EP4060477A4 (ja)
JP (1) JP6771244B1 (ja)
TW (1) TWI758914B (ja)
WO (1) WO2021095406A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11997498B2 (en) 2023-08-24 2024-05-28 David E. Newman Cybersecure low-complexity IoT sub-networks for 5G/6G

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066808A1 (ja) * 2004-01-06 2005-07-21 Matsushita Electric Industrial Co., Ltd. 機器連携サービスシステム及びそのシステムを構成する電子機器
JP2011081814A (ja) * 2003-12-18 2011-04-21 Tivo Inc デジタルレコーダーを使用してパーソナルメディアを共有する方法および装置
JP2017097546A (ja) * 2015-11-20 2017-06-01 Necプラットフォームズ株式会社 中継装置、通信端末、ポートマッピング設定方法、電源投入方法、及びプログラム
JP2018204475A (ja) * 2017-05-31 2018-12-27 トヨタ自動車株式会社 リモート始動システム、端末、車両、リモート始動方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11190578B2 (en) * 2008-08-11 2021-11-30 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US9935930B2 (en) * 2011-09-09 2018-04-03 Kingston Digital, Inc. Private and secure communication architecture without utilizing a public cloud based routing server
US9774497B2 (en) * 2015-01-06 2017-09-26 Afero, Inc. System and method for implementing internet of things (IOT) remote control applications
US20160323283A1 (en) * 2015-04-30 2016-11-03 Samsung Electronics Co., Ltd. Semiconductor device for controlling access right to resource based on pairing technique and method thereof
US11290324B2 (en) * 2016-12-30 2022-03-29 Intel Corporation Blockchains for securing IoT devices
US10819794B2 (en) * 2017-09-26 2020-10-27 Verizon Patent And Licensing Inc. Distribution hub for internet-of-things data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081814A (ja) * 2003-12-18 2011-04-21 Tivo Inc デジタルレコーダーを使用してパーソナルメディアを共有する方法および装置
WO2005066808A1 (ja) * 2004-01-06 2005-07-21 Matsushita Electric Industrial Co., Ltd. 機器連携サービスシステム及びそのシステムを構成する電子機器
JP2017097546A (ja) * 2015-11-20 2017-06-01 Necプラットフォームズ株式会社 中継装置、通信端末、ポートマッピング設定方法、電源投入方法、及びプログラム
JP2018204475A (ja) * 2017-05-31 2018-12-27 トヨタ自動車株式会社 リモート始動システム、端末、車両、リモート始動方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Azure loT Hub", 2 June 2019, AMAZON WEB SERVICES
ANONYMOUS: "Social Implementation of ''IoT-HUB'', an Infrastructure for Creating Diverse Services: Building a Gigantic Value Creation Space", INSTITUTE OF INDUSTRIAL SCIENCE. THE UNIVERSITY OF TOKYO, 6 June 2019 (2019-06-06), pages 1 - 8, XP055823695, Retrieved from the Internet <URL:https://www.iis.u-tokyo.ac.jp/ja/news/3110> *
See also references of EP4060477A4

Also Published As

Publication number Publication date
US20220394032A1 (en) 2022-12-08
JP2021077242A (ja) 2021-05-20
EP4060477A4 (en) 2023-11-22
EP4060477A1 (en) 2022-09-21
JP6771244B1 (ja) 2020-10-21
TW202133592A (zh) 2021-09-01
TWI758914B (zh) 2022-03-21

Similar Documents

Publication Publication Date Title
JP2016045964A (ja) Iotデバイスコンフィギュレーションのための方法及び記憶媒体
EP4138378A1 (en) Information processing system, information processing method, and computer program
JP6911411B2 (ja) 通信装置、通信システム、通信制御方法、及びプログラム
WO2020262328A1 (ja) IoT接続システム、情報処理方法およびコンピュータプログラム
WO2021095406A1 (ja) IoT接続システム、コンピュータプログラムおよび情報処理方法
WO2021161877A1 (ja) IoT接続システム、情報処理方法およびコンピュータプログラム
US11936537B2 (en) Support method, support system, and computer program
JP7350663B2 (ja) IoT接続システム、情報処理方法およびコンピュータプログラム
WO2022102184A1 (ja) 情報処理システム、情報処理方法およびコンピュータプログラム
WO2019144213A1 (en) Facilitating invocation of a service hosted at a proximate electronic device from a mobile software application
KR102615501B1 (ko) 하이퍼로봇 구현을 위한 로봇통합관리장치 및 그 장치의 구동방법
Kalin Simulating IoT Frameworks and Devices in the Smart Home
CN115460116A (zh) 能够识别网络设备的电子设备、方法、介质及程序

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: 20887956

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020887956

Country of ref document: EP

Effective date: 20220613