WO2019130476A1 - デバイス制御システム及び方法 - Google Patents

デバイス制御システム及び方法 Download PDF

Info

Publication number
WO2019130476A1
WO2019130476A1 PCT/JP2017/046937 JP2017046937W WO2019130476A1 WO 2019130476 A1 WO2019130476 A1 WO 2019130476A1 JP 2017046937 W JP2017046937 W JP 2017046937W WO 2019130476 A1 WO2019130476 A1 WO 2019130476A1
Authority
WO
WIPO (PCT)
Prior art keywords
database
request
server
event data
gateway service
Prior art date
Application number
PCT/JP2017/046937
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 JP2019561470A priority Critical patent/JP7109754B2/ja
Priority to PCT/JP2017/046937 priority patent/WO2019130476A1/ja
Publication of WO2019130476A1 publication Critical patent/WO2019130476A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Definitions

  • the present technology relates to control of a device using a database.
  • IoT Internet of Things
  • ORiN Open Resource interface for the Network
  • the access means provided by the integrated device interface needs to correspond to the programming environment and execution environment to be used. Also, if the integrated device interface does not correspond to the usage environment or for devices that do not support the integrated device interface, access needs to be individually accessed using the device's own access method, but the access method is used depending on the programming environment Availability may be limited.
  • An environment is desired in which devices can be accessed from application software regardless of the programming environment and execution environment corresponding to the access means provided by the integrated device interface.
  • the present technology is, for example, a system that controls a device, and a client that transmits control for the device to the server as a request for the database, and an instruction capable of interpreting the request for the database received from the client according to the type of the device.
  • a device control system including a server that converts to
  • FIG. 1 illustrates a device control system according to an embodiment of the present technology. It is a sequence diagram which shows the request processing operation of the device control system by the example of this art. It is a sequence diagram which shows the event processing operation of the device control system by the example of this art.
  • FIG. 1 shows a device control system 100 according to an embodiment of the present technology.
  • the device control system 100 includes a client 110 including a processor and a memory, and a server 120 including the processor and a memory, which may be directly or via a network such as the Internet, a local area network (LAN), or a wide area network (WAN). It is connected communicably.
  • a network such as the Internet, a local area network (LAN), or a wide area network (WAN). It is connected communicably.
  • “memory” refers to semiconductor storage devices such as random access memory (RAM) and read only memory (ROM) as well as auxiliary storage devices such as hard disk drive (HDD) and solid state drive (SSD). Including.
  • the device control system 100 further includes a robot 130, a device controller 140, a sensor 150, and an integrated interface non-compliant device 160, which are communicably connected to the server 120 via a network or directly.
  • the robot 130, the device controller 140, the sensor 150, and the integrated interface non-compliant device 160 may be collectively referred to as an IoT device.
  • the client 110 stores application software 112 and database middleware 114 in memory, which can be run on a processor.
  • the application software 112 is a program having a function of issuing a request to an IoT device or processing an event from the IoT device.
  • a production management system such as Hybrid Denno (trademark), GRANDIT (trademark), etc.
  • General application software that can connect to databases such as ERP (Enterprise Resource Planning) system, other business system software, MS Excel, MS Access, BI (Business Intelligence) tools, ETL (Extract / Transform / Load) tools, etc. , And may be developed using package software.
  • the application software 112 may be connected to the database using database connection means such as ODBC (Open Database Connectivity), JDBC (JavaTM Database Connectivity), OLE DB (Object Linking and Embedding DataBase).
  • ODBC Open Database Connectivity
  • JDBC JavaTM Database Connectivity
  • OLE DB Object Linking and Embe
  • the database middleware 114 converts the request from the application software 112 into a request for the database 122 and / or the IoT gateway service 124, and also responds from the database 122 and / or the IoT gateway service 124 to the application software 112. It has a function to convert.
  • the database middleware 114 may be, for example, general-purpose database management software such as Oracle (trademark), SQL Server, MySQL, DB2, and the like.
  • the server 120 stores a database 122, an IoT gateway service 124, an integrated device interface connection add-in 126, a connection by device add-in 128, and an integrated device interface 129 in a memory, which can be executed on a processor.
  • the database 122 stores the request from the application software 112 and / or the response and event data from the IoT gateway service 124 in the memory together with the database middleware 114.
  • the database middleware 114 and the database 122 may be collectively referred to as a database server.
  • the IoT gateway service 124 is software for connecting the database 122 and the IoT device, and, together with the integrated device interface connection add-in 126 and / or the connection by device connection add-in 128, converts the request from the database server into instructions according to the IoT device Converts response and event data from IoT devices into a format that can be read by a database.
  • the integrated device interface connection add-in 126 converts the request from the IoT gateway service 124 into an instruction corresponding to the integrated device interface 129 such as ORiN, and the IoT device such as the robot 130, the device controller 140, and the sensor 150 through the integrated device interface 129.
  • Send to The device connection add-in 128 converts the instruction from the IoT gateway service 124 into an instruction corresponding to the integrated device interface non-compliant device 160 and sends it.
  • the device-specific connection add-in 128 is prepared and executed according to the type of device.
  • FIG. 2 illustrates a request processing operation 200 of a device control system according to an embodiment of the present technology.
  • the request processing target IoT device is an integrated interface compatible device.
  • Execution of application software 210 is started (212), and when a request for acquiring a specific value on the IoT device side compatible with the integrated interface or executing a specific program on the IoT device side is executed, ODBC (Open Database Connectivity) Etc. to connect to the database server 220, and call the extended SQL function for the IoT gateway service (214).
  • ODBC Open Database Connectivity
  • the extended function DLL Dynamic Link Library
  • the IoT gateway service 230 When execution of the extended SQL function for the IoT gateway service starts in the database server 220 (222), the extended function DLL (Dynamic Link Library) connects with the IoT gateway service 230 and the specific value on the IoT device side compatible with the integrated interface Call a service process of the IoT gateway service 230 to acquire or execute a specific program on the IoT device side (224), and wait for processing result (223).
  • DLL Dynamic Link Library
  • the processing result 245 is returned to the function prepared in the integrated device interface 240, and the processing 252 in the integrated interface compatible device 250 ends.
  • the processing result 245 When receiving the processing result 245 from the integrated interface enabled device 250 at the integrated device interface 240, the processing result 245 is converted into a form that can be interpreted into the IoT gateway service 230. The converted processing result 235 is returned to the service process in the IoT gateway service 230, and the execution of the function 242 prepared in the integrated device interface 240 ends.
  • the IoT gateway service 230 when receiving the processing result 235 from the integrated device interface 240, the connection with the integrated device interface 240 is disconnected (233).
  • the service process converts the received processing result 235 into a form that can be interpreted by the database server 220.
  • the converted processing result 225 is returned to the service process in the database server 220, and the execution of the service process 232 in the IoT gateway service 230 ends.
  • the database server 220 When the database server 220 receives the processing result 225 from the IoT gateway service 230, it disconnects from the IoT gateway service 230 (223), and the processing result 225 is converted into a form interpretable to application software 210. The converted processing result 215 is returned to the application software 210, and the execution of the extended SQL function for the IoT gateway service ends (222).
  • the application software 210 receives the processing result of the request, and the execution ends.
  • the extended function DLL is connected to the IoT gateway service 230 to acquire a specific value on the IoT device side compatible with the integrated interface or an IoT device Calls the service process of the IoT gateway service 230 for executing a specific program on the side (228), and waits for the processing result (227).
  • execution of the service process is started in the IoT gateway service 230 in response to a call from the extended SQL function for the IoT gateway service (236), it connects with the integrated interface non-compliant device 260 and executes the prepared instruction for each device Then, the requested processing is performed in the integrated interface non-compliant device 260, that is, a specific value on the IoT device side is obtained or a specific program on the IoT device side is executed (262).
  • the processing result 239 is returned to the IoT gateway service 230, and the processing 262 in the integrated interface non-compliant device 260 ends.
  • the IoT gateway service 230 when receiving the processing result 239 from the integrated interface non-compliant device 260, the connection with the integrated interface non-compliant device 260 is disconnected (237).
  • the service process converts the received processing result 239 into a form that can be interpreted by the database server 220.
  • the converted processing result 229 is returned to the service process in the database server 220, and the execution of the service process 236 in the IoT gateway service 230 ends.
  • the database server 220 When the database server 220 receives the processing result 229 from the IoT gateway service 230, the connection with the IoT gateway service 230 is disconnected (227), and the processing result 229 is converted into a form interpretable to application software 210. The converted processing result 219 is returned to the application software 210, and the execution of the extended SQL function for the IoT gateway service ends (226).
  • FIG. 3 illustrates an event processing operation 300 of a device control system according to an embodiment of the present technology.
  • the IoT device subject to event processing is an integrated interface compatible device.
  • the IoT gateway service 330 When execution of the service process starts in the IoT gateway service 330 (332), it connects with the integrated device interface 340, acquires a specific value on the IoT device side compatible with the integrated interface, or causes a specific program on the IoT device side to execute Calls the function (ORiN2SDK library in the case of ORiN) prepared in the integrated device interface (334) and waits for the processing result (333).
  • the processing result 335 is returned to the service process in the IoT gateway service 330, and the execution of the function 342 prepared in the integrated device interface 340 ends.
  • the connection with the integrated device interface 340 is disconnected (333).
  • the integrated interface compatible device 350 has already been activated when called (352), and notifies the integrated device interface 340 of the contents when an event cause such as a change in the state of the device occurs (347).
  • the integrated device interface 340 When notified of the occurrence of an event cause, the integrated device interface 340 converts the content thereof into a form interpretable to the IoT gateway service 330, and sends it to the IoT gateway service 330 as an event notification 348 including the content of the event and the occurrence time. (348).
  • the IoT gateway service 330 When receiving the event notification 348, the IoT gateway service 330 starts the execution of the event processing function 336, stores the event data in the memory 380 (337), and terminates the execution of the event processing function (336).
  • the execution of the application software 310 is started (312) and the event data acquisition program of the IoT device compatible with the integrated interface is executed (312), it is connected to the database server 320 by ODBC etc. to acquire event data.
  • the extended SQL function for the IoT gateway service 330 is called (314).
  • IoT gateway service 330 when the already activated service process is called, execution of the event data call function from the memory 380 starts (338) and requests retrieval of event data stored in the memory 380 (339) ).
  • event data When the event data is retrieved from the memory 380 and sent to the IoT gateway service 330 (331), the execution of the event data call function ends (338). If event data is not stored in the memory 380, the result of being empty (null) is sent to the IoT gateway service 330 (331).
  • the IoT gateway service 330 When the IoT gateway service 330 receives event data retrieved from the memory 380, the event data is converted into a form that can be interpreted by the database server 320. The converted event data (including the empty case) is returned to the service process in the database server 320 (325).
  • the database server 320 When the database server 320 receives event data from the IoT gateway service 330, it disconnects from the IoT gateway service 330 (323), and the event data is converted into a form interpretable to application software 310. The converted event data (including the empty case) is returned to the application software 310 (315), and the execution of the extended SQL function for the IoT gateway service 330 ends (322).
  • the application software 310 receives the processing result of the request, and the execution ends (312).
  • execution of the service process starts in the IoT gateway service 330 (372), it connects with the integrated interface non-compliant device 360 (373), executes an instruction prepared for each device (374), and executes the integrated interface non-compliant device 360
  • the requested processing is performed, ie, monitoring of the integrated interface non-compliant device 360 is started (373).
  • Execution of the monitoring program is started in the integrated interface non-compliant device 360 (362), and when an event cause such as a device state change occurs, the content is notified to the IoT gateway service 330 (364).
  • the IoT gateway service 330 When receiving the event notification 364, the IoT gateway service 330 starts execution of the event processing function 375, stores and accumulates event data in the memory 390 (376), and terminates execution of the event processing function (375).
  • IoT gateway service 330 when the already activated service process is called, execution of the event data call function from the memory 390 starts (377), and requests retrieval of event data stored in the memory 390 (378) ).
  • event data is fetched from the memory 390 and sent to the IoT gateway service 330 (379), the execution of the event data call function ends (377). If event data is not stored in the memory 390, the result of being empty (null) is sent to the IoT gateway service 330 (379).
  • the IoT gateway service 330 When the IoT gateway service 330 receives the event data stored in the memory 390, the event data is converted into a form that can be interpreted by the database server 320. The converted event data (including the empty case) is returned to the service process in the database server 320 (329).
  • the database server 320 When the database server 320 receives event data from the IoT gateway service 330, it disconnects from the IoT gateway service 330 (327), and the event data is converted into a form interpretable to application software 310. The converted event data (including the empty case) is returned to the application software 310 (319), and the extended SQL function for the IoT gateway service 330 ends (326).
  • the application software 310 receives the processing result of the request, and the execution ends (316).
  • the event data acquisition program of the application software 310 is executed 316, the extended SQL function call 318 and activation 326 for the IoT gateway service 330, the connection 327 with the IoT gateway service 330, the service process call 328 for the IoT gateway service 330, memory Retrieval of event data accumulated in 390 (377, 378, 379), response 329 to the service process of the event data after conversion, response 319 to the event data acquisition program are repeated.
  • the present technology enables devices to be accessed from a wide range of application software regardless of the programming environment / execution environment corresponding to the access means provided by, for example, the integrated device interface.
  • Device Control System 110 Client 120 Server 130 Robot 140 Device Controller 150 Sensor 160 Integrated Interface Non-compliant Device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

データベースを利用してIoTデバイスにアクセスすることを可能にし、統合デバイスインターフェースが提供するアクセス手段に対応するプログラミング環境・実行環境にかかわらずアプリケーションソフトウェアからデバイスにアクセスできる環境を提供する。 本技術は、例えば、デバイスを制御するシステムであって、デバイスに対する制御をデータベースに対するリクエストとしてサーバに送信するクライアントと、クライアントから受信したデータベースに対するリクエストをデバイスの種類に応じてデバイスが解釈可能な命令に変換するサーバを含む、デバイス制御システムを含む。

Description

デバイス制御システム及び方法
 本技術は、データベースを利用したデバイスの制御に関する。
 生産管理システムにおいては、IoT(Internet of Things)を活用して工場の多様な在庫や複雑な工程を「見える化」をすることが求められている。
 生産管理のアプリケーションソフトウェアとロボットやセンサ等のデバイスを接続してデータや命令のやり取りをするためには、プログラミング言語により専用のソフトウェアを開発する必要がある。アプリケーションソフトウェアから、異メーカ・新旧のロボット、PLC、NC工作機械などの制御装置の情報を共通的な方法でアクセスするための統合デバイスインターフェースとして、標準仕様であるORiN(Open Resource interface for the Network)が提供されている。
しかし、ソフトウェア開発においては、統合デバイスインターフェースが提供するアクセス手段が、使用するプログラミング環境・実行環境に対応している必要がある。
また、統合デバイスインターフェースが利用環境に対応していない場合や統合デバイスインターフェースに非対応のデバイスについては、デバイス独自のアクセス手段を用いて個々にアクセスする必要があるところ、アクセス手段はプログラミング環境によって利用可否が制限される場合がある。
特開2012-69106号公報
 統合デバイスインターフェースが提供するアクセス手段に対応するプログラミング環境・実行環境にかかわらずアプリケーションソフトウェアからデバイスにアクセスできる環境が望まれる。
 また、デバイスが統合デバイスインターフェースに対応しているか否かにかかわらず共通してアクセスできる環境が望まれる。
 さらに、デバイス毎に異なるアクセス手段を有するのにかかわらず共通してアクセスできる環境が望まれる。
 さらに、アプリケーションソフトウェアの開発環境を統合化することが望まれる。
 さらに、より汎用的なソフトウェアをアプリケーションソフトウェアの開発に利用できることが望まれる。
 さらに、アプリケーションソフトウェアの開発をより容易にすることが望まれる。
 さらに、IoT機器から得られた情報をデータベースに適時にかつ容易にデータベースに格納することが望まれる。
 本技術は、例えば、デバイスを制御するシステムであって、デバイスに対する制御をデータベースに対するリクエストとしてサーバに送信するクライアントと、クライアントから受信したデータベースに対するリクエストをデバイスの種類に応じてデバイスが解釈可能な命令に変換するサーバを含む、デバイス制御システムを含む。
本技術の実施例によるデバイス制御システムを示す図である。 本技術の実施例によるデバイス制御システムのリクエスト処理動作を示すシーケンス図である。 本技術の実施例によるデバイス制御システムのイベント処理動作を示すシーケンス図である。
 図1に本技術の実施例によるデバイス制御システム100を示す。
デバイス制御システム100は、プロセッサ及びメモリを含むクライアント110、プロセッサ及びメモリを含むサーバ120を含み、これらはインターネットやLAN(Local Area Network)、WAN(Wide Area Network)等のネットワークを介して又は直接、通信可能に接続されている。なお、本出願において「メモリ」とは、RAM(Random Access Memory)、ROM(Read Only Memory)等の半導体記憶装置の他、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)等の補助記憶装置も含む。
デバイス制御システム100は、さらにロボット130、デバイスコントローラ140、センサ150、統合インターフェース非対応デバイス160を含み、これらはネットワークを介して又は直接、サーバ120に通信可能に接続されている。本出願において、ロボット130、デバイスコントローラ140、センサ150、統合インターフェース非対応デバイス160をIoTデバイスと総称することがある。
クライアント110は、アプリケーションソフトウェア112及びデータベースミドルウェア114をメモリに格納し、これらはプロセッサ上で実行可能である。アプリケーションソフトウェア112は、IoTデバイスへのリクエストを発行したりIoTデバイスからのイベントを処理したりする機能を有するプログラムであり、例えば、Hybrid Denno(商標)等の生産管理システム、GRANDIT(商標)等のERP(Enterprise Resource Plannning)システム、その他の業務システムソフトウェア、MS Excel、MS Access、BI(Business Intelligence)ツール、ETL(Extract/Transform/Load)ツール等のデータベースへの接続が可能な一般的なアプリケーションソフトウェア、パッケージソフトウェアを用いて開発されたものであってよい。アプリケーションソフトウェア112は、ODBC(Open Database Connectivity)、JDBC(Java(商標) Database Connectivity)、OLE DB(Object Linking and Embedding DataBase)等のデータベース接続手段を用いてデータベースに接続され得る。
データベースミドルウェア114は、アプリケーションソフトウェア112からのリクエストをデータベース122及び/又はIoTゲートウェイサービス124へのリクエストに変換し、また、データベース122及び/又はIoTゲートウェイサービス124からのレスポンスをアプリケーションソフトウェア112へのレスポンスに変換する機能を有する。データベースミドルウェア114は、例えば、Oracle(商標)、SQL Server、MySQL、DB2等の汎用のデータベース管理ソフトウェアであってよい。
サーバ120は、データベース122、IoTゲートウェイサービス124、統合デバイスインターフェース接続アドイン126、デバイス別接続アドイン128、統合デバイスインターフェース129をメモリに格納し、これらはプロセッサ上で実行可能である。
データベース122はデータベースミドルウェア114とともに、アプリケーションソフトウェア112からのリクエスト及び/又はIoTゲートウェイサービス124からのレスポンスやイベントデータをメモリに格納する。なお、本明細書においてデータベースミドルウェア114及びデータベース122をデータベースサーバと総称することがある。
IoTゲートウェイサービス124はデータベース122とIoTデバイスを接続するソフトウェアであり、統合デバイスインターフェース接続アドイン126及び/又はデバイス別接続アドイン128とともに、データベースサーバからのリクエストをIoTデバイスに応じた命令に変換したり、IoTデバイスからのレスポンスやイベントデータをデータベースが読み取り可能な形式に変換したりする。
統合デバイスインターフェース接続アドイン126は、IoTゲートウェイサービス124からのリクエストを、ORiN等の統合デバイスインターフェース129に対応した命令に変換し、統合デバイスインターフェース129を通じてロボット130、デバイスコントローラ140、センサ150等のIoTデバイスに送る。デバイス別接続アドイン128は、IoTゲートウェイサービス124からの命令を、統合デバイスインターフェース非対応デバイス160に対応した命令に変換して送る。デバイス別接続アドイン128は、デバイスの種類に応じて用意され実行される。
図2に本技術の実施例によるデバイス制御システムのリクエスト処理動作200を示す。
まず、リクエスト処理対象のIoTデバイスが統合インターフェース対応デバイスの場合について説明する。
アプリケーションソフトウェア210の実行が開始され(212)、統合インターフェース対応のIoTデバイス側の特定の値を取得する又はIoTデバイス側の特定のプログラムを実行させるリクエストが実行されると、ODBC(Open Database Connectivity)等によりデータベースサーバ220に接続し、IoTゲートウェイサービス用拡張SQL関数を呼び出す(214)。
データベースサーバ220においてIoTゲートウェイサービス用拡張SQL関数の実行が開始すると(222)、拡張関数DLL(Dynamic Link Library)により、IoTゲートウェイサービス230と接続し、統合インターフェース対応のIoTデバイス側の特定の値を取得する又はIoTデバイス側の特定のプログラムを実行させるためのIoTゲートウェイサービス230のサービスプロセスを呼び出し(224)、処理結果を待つ(223)。
IoTゲートウェイサービス用拡張SQL関数からの呼び出しに応答してIoTゲートウェイサービス230においてサービスプロセスの実行が開始すると(232)、統合デバイスインターフェース240と接続し、統合インターフェース対応のIoTデバイス側の特定の値を取得する又はIoTデバイス側の特定のプログラムを実行させるための、統合デバイスインターフェースにおいて用意された関数(ORiNの場合はORiN2SDKライブラリ)を呼び出し(234)、処理結果を待つ(233)。
統合デバイスインターフェース240において用意された関数の実行が開始すると(242)、統合インターフェース対応のIoTデバイス側の特定の値を取得する又はIoTデバイス側の特定のプログラムを実行させるための、それぞれのデバイスについて用意された命令を実行し(244)、統合インターフェース対応デバイス250において要求された処理が行われ、即ちIoTデバイス側の特定の値が取得され又はIoTデバイス側の特定のプログラムが実行される(252)。
統合インターフェース対応デバイス250において要求された処理が終了すると、処理結果245が統合デバイスインターフェース240において用意された関数に返され、統合インターフェース対応デバイス250での処理252が終了する。
統合デバイスインターフェース240において、統合インターフェース対応デバイス250からの処理結果245を受け取ると、処理結果245はIoTゲートウェイサービス230に解釈可能な形式に変換される。変換後の処理結果235がIoTゲートウェイサービス230におけるサービスプロセスに返され、統合デバイスインターフェース240において用意された関数242の実行が終了する。
IoTゲートウェイサービス230において、統合デバイスインターフェース240からの処理結果235を受け取ると、統合デバイスインターフェース240との接続を解除する(233)。サービスプロセスは、受け取った処理結果235をデータベースサーバ220に解釈可能な形式に変換する。変換後の処理結果225がデータベースサーバ220におけるサービスプロセスに返され、IoTゲートウェイサービス230におけるサービスプロセス232の実行が終了する。
データベースサーバ220において、IoTゲートウェイサービス230からの処理結果225を受け取ると、IoTゲートウェイサービス230との接続を解除し(223)、処理結果225がアプリケーションソフトウェア210に解釈可能な形式に変換される。変換後の処理結果215がアプリケーションソフトウェア210に返され、IoTゲートウェイサービス用拡張SQL関数の実行が終了する(222)。
アプリケーションソフトウェア210は、リクエストの処理結果を受け取り、実行が終了する。
次に、リクエスト処理対象のIoTデバイスが統合インターフェース非対応デバイスの場合について説明する。
アプリケーションソフトウェア210の実行が開始され(216)、統合インターフェース非対応のIoTデバイス側の特定の値を取得する又はIoTデバイス側の特定のプログラムを実行させるリクエストが実行されると、ODBC(Open Database Connectivity)等によりデータベースサーバ220に接続し、IoTゲートウェイサービス用拡張SQL関数を呼び出す(218)。
データベースサーバ220においてIoTゲートウェイサービス用拡張SQL関数の実行が開始すると(226)、拡張関数DLLにより、IoTゲートウェイサービス230と接続し、統合インターフェース対応のIoTデバイス側の特定の値を取得する又はIoTデバイス側の特定のプログラムを実行させるためのIoTゲートウェイサービス230のサービスプロセスを呼び出し(228)、処理結果を待つ(227)。
IoTゲートウェイサービス用拡張SQL関数からの呼び出しに応答してIoTゲートウェイサービス230においてサービスプロセスの実行が開始すると(236)、統合インターフェース非対応デバイス260と接続し、それぞれのデバイスについて用意された命令を実行し(238)、統合インターフェース非対応デバイス260において要求された処理が行われ、即ちIoTデバイス側の特定の値が取得され又はIoTデバイス側の特定のプログラムが実行される(262)。
統合インターフェース非対応デバイス260において要求された処理が終了すると、処理結果239がIoTゲートウェイサービス230に返され、統合インターフェース非対応デバイス260での処理262が終了する。
IoTゲートウェイサービス230において、統合インターフェース非対応デバイス260からの処理結果239を受け取ると、統合インターフェース非対応デバイス260との接続を解除する(237)。サービスプロセスは、受け取った処理結果239をデータベースサーバ220に解釈可能な形式に変換する。変換後の処理結果229がデータベースサーバ220におけるサービスプロセスに返され、IoTゲートウェイサービス230におけるサービスプロセス236の実行が終了する。
データベースサーバ220において、IoTゲートウェイサービス230からの処理結果229を受け取ると、IoTゲートウェイサービス230との接続を解除し(227)、処理結果229がアプリケーションソフトウェア210に解釈可能な形式に変換される。変換後の処理結果219がアプリケーションソフトウェア210に返され、IoTゲートウェイサービス用拡張SQL関数の実行が終了する(226)。
図3に本技術の実施例によるデバイス制御システムのイベント処理動作300を示す。
まず、イベント処理対象のIoTデバイスが統合インターフェース対応デバイスの場合について説明する。
IoTゲートウェイサービス330においてサービスプロセスの実行が開始すると(332)、統合デバイスインターフェース340と接続し、統合インターフェース対応のIoTデバイス側の特定の値を取得する又はIoTデバイス側の特定のプログラムを実行させるための、統合デバイスインターフェースにおいて用意された関数(ORiNの場合はORiN2SDKライブラリ)を呼び出し(334)、処理結果を待つ(333)。
統合デバイスインターフェース340において用意された関数の実行が開始すると(342)、デバイスに対するイベント待機通知を行う(342)。
統合デバイスインターフェース340において、処理結果335がIoTゲートウェイサービス330におけるサービスプロセスに返され、統合デバイスインターフェース340において用意された関数342の実行が終了する。
IoTゲートウェイサービス330において、統合デバイスインターフェース340からの処理結果335を受け取ると、統合デバイスインターフェース340との接続を解除する(333)。
統合デバイスインターフェース340においてイベント待機通知(342)を受けて、統合インターフェース対応デバイス350の監視を開始し(344)、IoTデバイスそれぞれで用意された呼び出し手順で統合インターフェース対応デバイス350を呼び出す(346)。
統合インターフェース対応デバイス350は呼び出された時点で既に起動しており(352)、デバイスの状態変化等、イベント要因が発生するとその内容を統合デバイスインターフェース340に通知する(347)。
統合デバイスインターフェース340は、イベント要因の発生が通知されると、その内容をIoTゲートウェイサービス330に解釈可能な形式に変換し、イベントの内容及び発生時刻を含むイベント通知348としてIoTゲートウェイサービス330に送る(348)。
IoTゲートウェイサービス330は、イベント通知348を受け取ると、イベント処理関数336の実行を開始し、イベントデータをメモリ380に記憶・蓄積させて(337)、イベント処理関数の実行を終了させる(336)。
以後、統合インターフェース対応デバイス350においてイベント要因が発生する度に又は一定時間毎に、上述した統合デバイスインターフェース340への通知(347)、IoTゲートウェイサービス330へのイベント通知348、イベント処理関数336の実行開始、メモリ380への記憶・蓄積(337)、イベント処理関数の終了(336)が繰り返される。
一方、アプリケーションソフトウェア310の実行が開始され(312)、統合インターフェース対応のIoTデバイスのイベントデータ取得プログラムが実行されると(312)、ODBC等によりデータベースサーバ320に接続し、イベントデータ取得のためのIoTゲートウェイサービス330用拡張SQL関数を呼び出す(314)。
データベースサーバ320においてIoTゲートウェイサービス330用拡張SQL関数の実行が開始すると(322)、IoTゲートウェイサービス330と接続し、イベントデータ取得のためのIoTゲートウェイサービス330のサービスプロセスを呼び出し(324)、処理結果を待つ(323)。
IoTゲートウェイサービス330において、既に起動しているサービスプロセスが呼び出されると、メモリ380からのイベントデータ呼び出し関数の実行が開始し(338)、メモリ380に蓄積されたイベントデータの取り出しを要求する(339)。
メモリ380からイベントデータが取り出されIoTゲートウェイサービス330に送られると(331)、イベントデータ呼び出し関数の実行が終了する(338)。メモリ380にイベントデータが蓄積されていない場合は、空(null)である旨の結果がIoTゲートウェイサービス330に送られる(331)。
IoTゲートウェイサービス330において、メモリ380から取り出したイベントデータを受け取ると、イベントデータがデータベースサーバ320に解釈可能な形式に変換される。変換後のイベントデータ(空の場合を含む)がデータベースサーバ320におけるサービスプロセスに返される(325)。
データベースサーバ320において、IoTゲートウェイサービス330からのイベントデータを受け取ると、IoTゲートウェイサービス330との接続を解除し(323)、イベントデータがアプリケーションソフトウェア310に解釈可能な形式に変換される。変換後のイベントデータ(空の場合を含む)がアプリケーションソフトウェア310に返され(315)、IoTゲートウェイサービス330用拡張SQL関数の実行が終了する(322)。
アプリケーションソフトウェア310は、リクエストの処理結果を受け取り、実行が終了する(312)。
以後、アプリケーションソフトウェア310のイベントデータ取得プログラムの実行312、IoTゲートウェイサービス330用拡張SQL関数の呼び出し314及び起動322、IoTゲートウェイサービス330との接続323、IoTゲートウェイサービス330のサービスプロセスの呼び出し324、メモリ380に蓄積されたイベントデータの取り出し(338、339、331)、変換後のイベントデータのサービスプロセスへの応答325、イベントデータ取得プログラムへの応答315が繰り返される。
次に、イベント処理対象のIoTデバイスが統合インターフェース非対応デバイスの場合について説明する。
IoTゲートウェイサービス330においてサービスプロセスの実行が開始すると(372)、統合インターフェース非対応デバイス360と接続し(373)、それぞれのデバイスについて用意された命令を実行し(374)、統合インターフェース非対応デバイス360において要求された処理が行われ、即ち統合インターフェース非対応デバイス360の監視を開始する(373)。
統合インターフェース非対応デバイス360において監視プログラムの実行が開始し(362)、デバイスの状態変化等、イベント要因が発生するとその内容をIoTゲートウェイサービス330に通知する(364)。
IoTゲートウェイサービス330は、イベント通知364を受け取ると、イベント処理関数375の実行を開始し、イベントデータをメモリ390に記憶・蓄積させて(376)、イベント処理関数の実行を終了させる(375)。
以後、統合インターフェース非対応デバイス360においてイベント要因が発生する度に又は一定時間毎に、上述したIoTゲートウェイサービス330へのイベント通知364、イベント処理関数375の起動、メモリ390への記憶・蓄積(376)、イベント処理関数の終了(375)が繰り返される。
一方、アプリケーションソフトウェア310の実行が開始され(316)、統合インターフェース非対応のIoTデバイスのイベントデータ取得プログラムが実行されると(316)、ODBC等によりデータベースサーバ320に接続し、イベントデータ取得のためのIoTゲートウェイサービス330用拡張SQL関数を呼び出す(318)。
データベースサーバ320においてIoTゲートウェイサービス330用拡張SQL関数の実行が開始すると(326)、IoTゲートウェイサービス330と接続し、イベントデータ取得のためのIoTゲートウェイサービス330のサービスプロセスを呼び出し(328)、処理結果を待つ(327)。
IoTゲートウェイサービス330において、既に起動しているサービスプロセスが呼び出されると、メモリ390からのイベントデータ呼び出し関数の実行が開始し(377)、メモリ390に蓄積されたイベントデータの取り出しを要求する(378)。
メモリ390からイベントデータが取り出されIoTゲートウェイサービス330に送られると(379)、イベントデータ呼び出し関数の実行が終了する(377)。メモリ390にイベントデータが蓄積されていない場合は、空(null)である旨の結果がIoTゲートウェイサービス330に送られる(379)。
IoTゲートウェイサービス330において、メモリ390に蓄積されたイベントデータを受け取ると、イベントデータがデータベースサーバ320に解釈可能な形式に変換される。変換後のイベントデータ(空の場合を含む)がデータベースサーバ320におけるサービスプロセスに返される(329)。
データベースサーバ320において、IoTゲートウェイサービス330からのイベントデータを受け取ると、IoTゲートウェイサービス330との接続を解除し(327)、イベントデータがアプリケーションソフトウェア310に解釈可能な形式に変換される。変換後のイベントデータ(空の場合を含む)がアプリケーションソフトウェア310に返され(319)、IoTゲートウェイサービス330用拡張SQL関数が終了する(326)。
アプリケーションソフトウェア310は、リクエストの処理結果を受け取り、実行が終了する(316)。
以後、アプリケーションソフトウェア310のイベントデータ取得プログラムの実行316、IoTゲートウェイサービス330用拡張SQL関数の呼び出し318及び起動326、IoTゲートウェイサービス330との接続327、IoTゲートウェイサービス330のサービスプロセスの呼び出し328、メモリ390に蓄積されたイベントデータの取り出し(377、378、379)、変換後のイベントデータのサービスプロセスへの応答329、イベントデータ取得プログラムへの応答319が繰り返される。
 本技術は、例えば 統合デバイスインターフェースが提供するアクセス手段に対応するプログラミング環境・実行環境にかかわらず幅広いアプリケーションソフトウェアからデバイスにアクセスすることを可能にする。
100  デバイス制御システム
110  クライアント
120  サーバ
130  ロボット
140  デバイスコントローラ
150  センサ
160  統合インターフェース非対応デバイス

 

Claims (9)

  1. デバイスを制御するシステムであって、
    デバイスに対する制御をデータベースに対するリクエストとしてサーバに送信するように構成されたクライアントと、
    前記クライアントから受信したデータベースに対するリクエストを前記デバイスの種類に応じて前記デバイスが解釈可能な命令に変換するように構成されたサーバを含む、
    デバイス制御システム。
  2.  前記サーバが前記デバイスに対して前記変換された命令を送信し、前記デバイスから前記命令の実行結果を受信するように構成された、
    請求項1のデバイス制御システム。
  3.  前記サーバが、前記デバイスから受信した実行結果を前記データベースが解釈可能な形式に変換するように構成された、
    請求項2のデバイス制御システム。
  4. さらに、前記クライアントがデバイスに対するイベントデータ取得要求をデータベースに対するリクエストとしてサーバに送信するように構成され、
    前記サーバが、前記デバイスで発生したイベントデータを蓄積するメモリを含み、
    前記サーバが前記クライアントから受信したイベントデータ取得要求に応答して前記蓄積されたイベントデータをクライアントに送信するように構成された、
    請求項3のデバイス制御システム。
  5. デバイスを制御する方法であって、
    デバイスに対する制御をデータベースに対するリクエストとして受信することと、
    前記受信したリクエストを前記デバイスの種類に応じて前記デバイスが解釈可能な命令に変換することとを含む、
    デバイス制御方法。
  6.  デバイスに対する制御をデータベースに対するリクエストとして受信することと、
     前記受信したリクエストを前記デバイスの種類に応じて前記デバイスが解釈可能な命令に変換することと、
     を実行させるためのプログラムを記録した、コンピュータ読取り可能な記録媒体。
  7.  デバイスに対する制御をデータベースに対するリクエストとして受信することと、
     前記受信したリクエストを前記デバイスの種類に応じて前記デバイスが解釈可能な命令に変換することと、
     をコンピュータに実行させるためのプログラム。
  8.  前記データベースに対するリクエストがSQLで記述され、
     前記変換することがデータベースにおける拡張関数として記述された、
    請求項7のプログラム。
  9.  前記拡張関数が、
    前記データベースに対するリクエストを統合インターフェース対応デバイスが解釈可能な命令に変換するアドインと、
    前記データベースに対するリクエストを統合インターフェース非対応デバイスが解釈可能な命令に変換するアドインとを含む、
    請求項8のプログラム。
PCT/JP2017/046937 2017-12-27 2017-12-27 デバイス制御システム及び方法 WO2019130476A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019561470A JP7109754B2 (ja) 2017-12-27 2017-12-27 デバイス制御システム及び方法
PCT/JP2017/046937 WO2019130476A1 (ja) 2017-12-27 2017-12-27 デバイス制御システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/046937 WO2019130476A1 (ja) 2017-12-27 2017-12-27 デバイス制御システム及び方法

Publications (1)

Publication Number Publication Date
WO2019130476A1 true WO2019130476A1 (ja) 2019-07-04

Family

ID=67063700

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/046937 WO2019130476A1 (ja) 2017-12-27 2017-12-27 デバイス制御システム及び方法

Country Status (2)

Country Link
JP (1) JP7109754B2 (ja)
WO (1) WO2019130476A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113556389A (zh) * 2021-07-14 2021-10-26 山东新一代信息产业技术研究院有限公司 一种rpc式的云边端通信方法、系统及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076618A (ja) * 2001-08-30 2003-03-14 Fujitsu Ltd 装置状態管理方法及びそのシステム
JP2005269597A (ja) * 2004-02-18 2005-09-29 Mitsubishi Electric Corp 製造システム、ゲートウェイ装置、ゲートウェイプログラムおよび被制御装置の制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076618A (ja) * 2001-08-30 2003-03-14 Fujitsu Ltd 装置状態管理方法及びそのシステム
JP2005269597A (ja) * 2004-02-18 2005-09-29 Mitsubishi Electric Corp 製造システム、ゲートウェイ装置、ゲートウェイプログラムおよび被制御装置の制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113556389A (zh) * 2021-07-14 2021-10-26 山东新一代信息产业技术研究院有限公司 一种rpc式的云边端通信方法、系统及存储介质
CN113556389B (zh) * 2021-07-14 2024-02-09 山东新一代信息产业技术研究院有限公司 一种rpc式的云边端通信方法、系统及存储介质

Also Published As

Publication number Publication date
JP7109754B2 (ja) 2022-08-01
JPWO2019130476A1 (ja) 2020-12-03

Similar Documents

Publication Publication Date Title
US9280568B2 (en) Zero downtime schema evolution
WO2016118979A4 (en) Systems, methods, and devices for an enterprise internet-of-things application development platform
WO2015196892A1 (zh) 工业自动化数据的采集方法及装置、系统
CN109656963B (zh) 元数据获取方法、装置、设备及计算机可读存储介质
US20120036252A1 (en) Osgi-based heterogeneous service integrating system and method
CN110908641B (zh) 基于可视化的流计算平台、方法、设备和存储介质
US20160164899A1 (en) Data-oriented information technology system
CN109145055B (zh) 一种基于Flink的数据同步方法和系统
US20170351723A1 (en) Managing data format of data received from devices in an internet of things network
US9684299B2 (en) Apparatus and method for managing machine tool information for heterogeneous numerical control devices
US9141251B2 (en) Techniques for guided access to an external distributed file system from a database management system
Oreščanin et al. Data lakehouse-a novel step in analytics architecture
US9723062B2 (en) System for dynamic service collaboration through identification and context of plurality of heterogeneous devices
WO2019130476A1 (ja) デバイス制御システム及び方法
US9467532B2 (en) Server, arithmatic processing method, and arithmatic processing system
CN113704337A (zh) 一种基于驱动动态加载的元数据采集方法与系统
CN112035563A (zh) 一种基于共享存储的实时数据库系统
CN114461503A (zh) 基于Kubernetes集群的日志收集方法、装置、电子设备及存储介质
CN107402941A (zh) 通用数据交换接口及其实现方法
US20190050784A1 (en) Systems and methods for dynamic metrics mapping
US20190141000A1 (en) Unified real-time and non-real-time data plane
CN104462605A (zh) 一种数据库持久层框架配置、修改方法及系统
JP2016126799A5 (ja)
EP3676701B1 (en) Schema syntax
CN101609448A (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: 17936385

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019561470

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17936385

Country of ref document: EP

Kind code of ref document: A1