(57)【要約】【課題】セキュリティを確保しつつ、クラウドコンピューティング環境において用いられるアプリケーションプログラムの効率的な開発及び導入を実現することが可能なアプリケーション開発環境提供システム等を提供する。【解決手段】アプリケーション開発環境提供システム１は、ネットワークを介してアプリケーションプログラムの開発環境を提供するものであり、開発環境を利用するテナントの指示によって、アプリケーションプログラムで利用されるデバイスノード１１を識別する第１情報が特定された場合に、特定された第１情報と、第１情報の特定を行ったテナントに関する第２情報との関連付けを行い、デバイスノード１１の使用を制限或いは許可する管理処理を行う。【選択図】図１
2018055571.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供システムにおいて、
前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノードを識別する第１情報が特定された場合に、特定された前記第１情報と、前記第１情報の特定を行ったテナントに関する第２情報との関連付けを行い、前記デバイスノードの使用を制限或いは許可する管理処理を行う管理部を備えるアプリケーション開発環境提供システム。
【請求項２】
前記管理部は、前記第１情報が特定された場合に、ネットワークに接続された前記デバイスノードの前記第１情報が蓄積される蓄積部を検索し、特定された前記第１情報が検索されたときに、前記第１情報と前記第２情報との関連付けを行う、請求項１記載のアプリケーション開発環境提供システム。
【請求項３】
前記管理部は、前記第１情報に対応する認証情報がある場合には、前記蓄積部に蓄積された認証情報と、前記テナントによって前記第１情報とともに指示される認証情報とを用いて認証処理を行う、請求項２記載のアプリケーション開発環境提供システム。
【請求項４】
前記管理処理は、前記第１情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てる第１処理と、
前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定する第２処理と、
前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可する第３処理と、
の少なくとも１つを含む、請求項１から請求項３の何れか一項に記載のアプリケーション開発環境提供システム。
【請求項５】
前記管理処理が行われた前記デバイスノードを、アプリケーション開発画面に開発パーツとして表示する、請求項１から請求項４の何れか一項に記載のアプリケーション開発環境提供システム。
【請求項６】
前記アプリケーション開発画面は、前記管理処理が行われた前記デバイスノードが表示される開発パーツ一覧表示領域と、
前記アプリケーションプログラムの構造を視覚的に表示するとともに、前記アプリケーションプログラムの作成及び編集が可能なアプリケーション設計領域と、
を有する請求項５記載のアプリケーション開発環境提供システム。
【請求項７】
ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供方法であって、
前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノードを識別する第１情報が特定される第１ステップと、
特定された前記第１情報と、前記第１情報の特定を行ったテナントに関する第２情報との関連付けを行う第２ステップと、
前記デバイスノードの使用を制限或いは許可する管理処理を行う第３ステップと、
を含むアプリケーション開発環境提供方法。
【請求項８】
ネットワークに接続された前記デバイスノードの前記第１情報が蓄積される蓄積部から、前記第１ステップで特定された前記第１情報を検索する第４ステップを有し、
前記第２ステップは、前記第１ステップで特定された前記第１情報が前記第４ステップで検索されたときに行われる、
請求項７記載のアプリケーション開発環境提供方法。
【請求項９】
前記第３ステップは、前記第１情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てるステップと、
前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定するステップと、
前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可するステップと、
の少なくとも１つを含む、請求項７又は請求項８記載のアプリケーション開発環境提供方法。
【請求項１０】
コンピュータを、ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供システムとして機能させるアプリケーション開発環境提供プログラムであって、
前記コンピュータを、
前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノードを識別する第１情報が特定された場合に、特定された前記第１情報と、前記第１情報の特定を行ったテナントに関する第２情報との関連付けを行い、前記デバイスノードの使用を制限或いは許可する管理処理を行う管理手段として機能させるアプリケーション開発環境提供プログラム。
【請求項１１】
ネットワークを介して提供されるアプリケーションプログラムの開発環境に通信接続される端末装置において、
前記開発環境を利用するテナントの指示によって特定された前記アプリケーションプログラムで利用されるデバイスノードを識別する第１情報と、該第１情報の特定を行ったテナントに関する第２情報との関連付けが行われて、前記デバイスノードの使用を制限或いは許可する管理処理が行われた前記デバイスノードを表示する表示部を備える端末装置。
【請求項１２】
前記管理処理は、前記第１情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てる第１処理と、
前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定する第２処理と、
前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可する第３処理と、
の少なくとも１つを含む、請求項１１記載の端末装置。
【請求項１３】
前記管理処理が行われた前記デバイスノードを、アプリケーション開発画面に開発パーツとして表示する、請求項１１又は請求項１２記載の端末装置。
【請求項１４】
前記アプリケーション開発画面は、前記管理処理が行われた前記デバイスノードが表示される開発パーツ一覧表示領域と、
前記アプリケーションプログラムの構造を視覚的に表示するとともに、前記アプリケーションプログラムの作成及び編集が可能なアプリケーション設計領域と、
を有する請求項１３記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、アプリケーション開発環境提供プログラム、及び端末装置に関する。
【背景技術】
【０００２】
従来から、プラントや工場等においては、フィールド機器と呼ばれる現場機器（測定器、操作器）と、これらを制御する制御装置とが通信手段を介して接続された分散制御システム（ＤＣＳ：Distributed Control System）が構築されており、高度な自動操業が実現されている。このような高度な自動操業が実現されるプラントでは、分散制御システム以外に、製造実行システム（ＭＥＳ：Manufacturing Execution System）、プラント情報管理システム（ＰＩＭＳ：Plant Information Management System）、基幹業務システム（ＥＲＰ：Enterprise Resource Planning）等の種々のシステム（エンジニアリングシステム）が構築されることが多い。
【０００３】
従来、これらのエンジニアリングシステムは、例えばＰＬＣ（Programmable Logic Controller）、ＦＡ（Factory Automation）コンピュータ、汎用デスクトップコンピュータ、サーバ装置等のプラントに設置された装置を用いて実現されるのが殆どであった。近年においては、通信技術の進展によって、これらエンジニアリングシステムの一部が、ネットワークを介したクラウドコンピューティングによって実現されている。
【０００４】
ここで、クラウドコンピューティングは、例えば、以下のＵＲＬ（Uniform Resource Locator）で特定される文書に記載されている定義（米国国立標準技術研究所によって推奨される定義）に合致するものであっても良い。
http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
https://www.ipa.go.jp/files/000025366.pdf
【０００５】
以下の特許文献１には、工業自動化及び生産システム用のクラウドコンピューティングが開示されている。また、以下の特許文献２には、クラウドコンピューティング環境において用いられるアプリケーションプログラムを開発するための開発環境を、クラウドコンピューティングによって提供する技術の一例が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１２−５２３０３８号公報
【特許文献２】特許第５７９２８９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上述した特許文献２等に開示された開発環境を提供するシステムは、様々な企業（テナント）に利用される。例えば、プラントで実現されるエンジニアリングシステムの開発が行われる場合には、顧客（例えば、発注者）、エンジニアリング会社（例えば、受注者）、及びサードベンダ（第三者）によって利用される。
【０００８】
このような様々なテナントによって利用されるシステムにおいては、セキュリティの観点から、例えばプラント等で用いられるデバイスの存在を他のテナントに知られてなはならない。場合によっては、同一のテナントであっても、他の部署（サイト）、或いは他の社員（ユーザ）からのアクセスを制限したい場合がある。加えて、従来デバイスの収容（設定）は、従来、全て手作業で行われていたため、極めて非効率であり、コストを要する結果となっていた。デバイスの収容作業を効率的に行うことができれば、エンジニアリング（装置等の設置・設定作業等）に要する時間を短縮することができるとともに、コスト削減を図ることができると考えられる。
【０００９】
本発明は上記事情に鑑みてなされたものであり、セキュリティを確保しつつ、クラウドコンピューティング環境において用いられるアプリケーションプログラムの効率的な開発及び導入を実現することが可能なアプリケーション開発環境提供システム、アプリケーション開発環境提供方法、アプリケーション開発環境提供プログラム、及び端末装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のアプリケーション開発環境提供システムは、ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供システム（１）において、前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノード（１１）を識別する第１情報が特定された場合に、特定された前記第１情報と、前記第１情報の特定を行ったテナントに関する第２情報との関連付けを行い、前記デバイスノードの使用を制限或いは許可する管理処理を行う管理部（５５）を備える。
また、本発明のアプリケーション開発環境提供システムは、前記管理部が、前記第１情報が特定された場合に、ネットワークに接続された前記デバイスノードの前記第１情報が蓄積される蓄積部（３２、４２）を検索し、特定された前記第１情報が検索されたときに、前記第１情報と前記第２情報との関連付けを行う。
また、本発明のアプリケーション開発環境提供システムは、前記管理部が、前記第１情報に対応する認証情報がある場合には、前記蓄積部に蓄積された認証情報と、前記テナントによって前記第１情報とともに指示される認証情報とを用いて認証処理を行う。
また、本発明のアプリケーション開発環境提供システムは、前記管理処理が、前記第１情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てる第１処理と、前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定する第２処理と、前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可する第３処理と、の少なくとも１つを含む。
また、本発明のアプリケーション開発環境提供システムは、前記管理処理が行われた前記デバイスノードを、アプリケーション開発画面に開発パーツとして表示する。
また、本発明のアプリケーション開発環境提供システムは、前記アプリケーション開発画面が、前記管理処理が行われた前記デバイスノードが表示される開発パーツ一覧表示領域（Ｅ１）と、前記アプリケーションプログラムの構造を視覚的に表示するとともに、前記アプリケーションプログラムの作成及び編集が可能なアプリケーション設計領域（Ｅ２）と、を有する。
本発明のアプリケーション開発環境提供方法は、ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供方法であって、前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノード（１１）を識別する第１情報が特定される第１ステップ（Ｓ１０５、Ｓ１０６）と、特定された前記第１情報と、前記第１情報の特定を行ったテナントに関する第２情報との関連付けを行う第２ステップ（Ｓ１０９）と、前記デバイスノードの使用を制限或いは許可する管理処理を行う第３ステップ（Ｓ１１２〜Ｓ１１４）と、を含む。
また、本発明のアプリケーション開発環境提供方法は、ネットワークに接続された前記デバイスノードの前記第１情報が蓄積される蓄積部（３２、４２）から、前記第１ステップで特定された前記第１情報を検索する第４ステップ（Ｓ１０７）を有し、前記第２ステップは、前記第１ステップで特定された前記第１情報が前記第４ステップで検索されたときに行われる。
また、本発明のアプリケーション開発環境提供方法は、前記第３ステップが、前記第１情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てるステップと、前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定するステップと、前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可するステップと、の少なくとも１つを含む。
本発明のアプリケーション開発環境提供プログラムは、コンピュータを、ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供システム（１）として機能させるアプリケーション開発環境提供プログラムであって、前記コンピュータを、前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノード（１１）を識別する第１情報が特定された場合に、特定された前記第１情報と、前記第１情報の特定を行ったテナントに関する第２情報との関連付けを行い、前記デバイスノードの使用を制限或いは許可する管理処理を行う管理手段（５５）として機能させる。
本発明の端末装置は、ネットワークを介して提供されるアプリケーションプログラムの開発環境に通信接続される端末装置（１６）において、前記開発環境を利用するテナントの指示によって特定された前記アプリケーションプログラムで利用されるデバイスノードを識別する第１情報と、該第１情報の特定を行ったテナントに関する第２情報との関連付けが行われて、前記デバイスノードの使用を制限或いは許可する管理処理が行われた前記デバイスノードを表示する表示部を備える。
また、本発明の端末装置は、前記管理処理が、前記第１情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てる第１処理と、前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定する第２処理と、前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可する第３処理と、の少なくとも１つを含む。
また、本発明の端末装置は、前記管理処理が行われた前記デバイスノードを、アプリケーション開発画面に開発パーツとして表示する。
また、本発明の端末装置は、前記アプリケーション開発画面が、前記管理処理が行われた前記デバイスノードが表示される開発パーツ一覧表示領域（Ｅ１）と、前記アプリケーションプログラムの構造を視覚的に表示するとともに、前記アプリケーションプログラムの作成及び編集が可能なアプリケーション設計領域（Ｅ２）と、を有する。
【発明の効果】
【００１１】
本発明によれば、アプリケーション開発環境提供システムを利用するテナントの指示によって、アプリケーションプログラムで利用されるデバイスノードの個体識別情報が特定された場合に、特定された個体識別情報と、その個体識別情報の特定を行ったテナントとの関連付けを行い、デバイスノードの使用を制限或いは許可する管理処理を行うようにしている。このため、セキュリティを確保しつつ、クラウドコンピューティング環境において用いられるアプリケーションプログラムの効率的な開発及び導入を実現することが可能であるという効果がある。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態によるアプリケーション開発環境提供システムのシステム概要を示す概略図である。
【図２】スパイナルノードを介したデバイスノードとインテリジェンスノードとの間の接続形態の一例を示す図である。
【図３】シングスクラウドを介したデバイスノードとインテリジェンスノードとの間の接続形態の一例を示す図である。
【図４】図２に示す接続形態における個体識別情報の授受に係る構成を示すブロック図である。
【図５】図３に示す接続形態における個体識別情報の授受に係る構成を示すブロック図である。
【図６】本発明の一実施形態によるアプリケーション開発環境提供システムに実装されるCo-innovationスペースの機能構成図である。
【図７】デバイスノードの収容時における状態遷移を示す状態遷移図である。
【図８】デバイスノードの収容時の処理を示すフローチャートである。
【図９】デバイスノードに貼着されるシールの一例を示す図である。
【図１０】デバイスノードの収容作業手順の第１例を説明するための図である。
【図１１】デバイスノードの収容作業手順の第１例を示すシーケンス図である。
【図１２】デバイスノードの収容作業手順の第２例を説明するための図である。
【図１３】本発明の一実施形態におけるアプリケーション開発画面の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の一実施形態によるアプリケーション開発環境提供システム、アプリケーション開発環境提供方法、アプリケーション開発環境提供プログラム、及び端末装置について詳細に説明する。尚、本実施形態で提供される開発環境は、通信ネットワークに接続されるセンサー、デバイス、及びシステム等から送信されるデータを入力値として演算処理等を行う、ＩｏＴ（Internet Of Things：モノのインターネット）又はＩＩｏＴ（Industrial Internet Of Things：産業用ＩｏＴ）の基本ソフトウェア、アプリケーション、及びソリューション等（以下、これらを総称する場合には、「アプリケーション」という）のプログラムを開発するためのものである。
【００１４】
〈アプリケーション開発環境提供システム〉
図１は、本発明の一実施形態によるアプリケーション開発環境提供システムのシステム概要を示す概略図である。図１に示す通り、アプリケーション開発環境提供システム１は、クラウドコンピューティング環境において、デバイスノード１１、スパイナルノード１２、インテリジェンスノード１３、及びソーシャリゼーションノード１４の４階層の階層構造を基本構成とするシステムである。このアプリケーション開発環境提供システム１には、図示の通り、インテリジェンスノード１３にシングスクラウド１５及び端末装置１６が接続される。
【００１５】
デバイスノード１１は、各種センサー、各種デバイス、及び各種システムによって構成される。各種センサーとは、例えば、温湿度センサー、圧力センサー、及び流量センサー等である。また、各種デバイスとは、例えば、制御装置であるＰＬＣ（プログラマブルロジックコントローラ）、車両内のＣＡＮ−ＢＵＳ（Controller Area Network - BUS：バス型の制御ネットワーク）に接続されたＯＢＤ（On-Board Diagnostics：自己故障診断）デバイス、ＫＰＩ（Key Performance Indicator：重要業績評価指標）モニター、特定のセンサーの現在値を表示する表示器、ランプ、ブザー、バルブ、及びロボットアーム等である。また、各種システムとは、例えば、ＤＣＳ、ドローン管制システム、侵入検知システム、入室バッジリーダーが接続されたセキュリティシステム、及び照明やドアロックやエレベーターやスプリンクラーなどが接続されたビルディング・オートメーション・システム等である。
【００１６】
図１に例示するアプリケーション開発環境提供システム１においては、デバイスノード１１の階層には、センサーによって構成されるデバイスノード１１ａ、アクチュエータによって構成されるデバイスノード１１ｂ、センサーによって構成されるデバイスノード１１ｃ、及びセンサーによって構成されるデバイスノード１１ｄが含まれる。以下では、これらのデバイスノード１１ａ〜１１ｄを区別することなく総称する場合には、単に「デバイスノード１１」という。
【００１７】
尚、本実施形態に係るアプリケーション開発環境提供システム１のデバイスノード１１は、説明を簡略化するため、センサーによって構成される３つのデバイスノード１１ａ，１１ｃ，１１ｄと、アクチュエータによって構成される１つのデバイスノード１１ｂとによって構成されるものとしたが、これに限られない。デバイスノード１１は、センサー、デバイス、或いはシステムによって構成される１つ以上のデバイスノードによって任意に構成可能である。
【００１８】
デバイスノード１１を構成するセンサー、デバイス、及びシステム等には、データを送信するもの、データを受信して表示するもの、及びデータ受信してアクションを起こすもの等がある。また、これらセンサー、デバイス、及びシステム等は、例えば、プラグ・アンド・プレイに対応した装置である。また、これらセンサー、デバイス、及びシステム等は、例えば、複数のアプリケーションと同時に通信を行う機能を有する装置である。
【００１９】
デバイスノード１１には、大きく分けて、スパイナルノード１２を構成する装置に通信接続するもの、インテリジェンスノード１３を構成する装置に通信接続するもの、及びシングスクラウド１５を構成する装置に通信接続するものがある。スパイナルノード１２を構成する装置に通信接続するデバイスノード１１は、例えば、リアルタイム性を必要とする装置、データの遅延（データ通信の遅れ）や揺らぎ（データ通信速度のばらつき）等が許されないアプリケーションに使用される装置、及び大量のデータを生成するためインテリジェンスノード１３に直接接続すると通信帯域を逼迫させてしまう恐れがある装置等である。
【００２０】
インテリジェンスノード１３を構成する装置に通信接続するデバイスノード１１は、スパイナルノード１２を構成する装置に通信接続するデバイスノード１１とは異なり、例えば、遅延や揺らぎ等に影響されないような用途で使用される装置である。シングスクラウド１５を構成する装置に通信接続するデバイスノード１１は、例えば携帯電話網や衛星回線等の無線通信網を経由させなければ収容することが難しい遠隔地に設置される装置及び移動される装置等である。
【００２１】
図１に示す例において、デバイスノード１１ａ及びデバイスノード１１ｂは、例えばローカルエリアネットワーク（ＬＡＮ）を介してスパイナルノード１２を構成する装置に接続されている。また、デバイスノード１１ｃは、例えばインターネットを介してインテリジェンスノード１３を構成する装置に接続されている。また、デバイスノード１１ｄは、例えばセルラー網を介してシングスクラウド１５を構成する装置に接続されている。
【００２２】
スパイナルノード１２は、サーバ装置によって構成され、ゲートウェイとして機能する。スパイナルノード１２を構成するサーバ装置（以下、単に「スパイナルノード１２」ともいう）は、クラウドコンピューティング環境において、少なくとも１つのデバイスノード１１を収容する（即ち、論理的に接続、管理、又はデータの入出力を行う）サーバ装置である。
【００２３】
スパイナルノード１２は、一般的には、例えば、ゲートウェイサーバ、フォグコンピュータ、又はエッジコンピュータ等と呼ばれる装置である。スパイナルノード１２は、クラウドコンピューティング環境におけるサーバ装置（本実施形態においては、インテリジェンスノード１３及びソーシャリゼーションノード１４）と、デバイスノード１１を構成するセンサー、デバイス、及びシステムとの間に設置される。
【００２４】
スパイナルノード１２は、例えば、インテリジェンスノード１３が通信することができない通信プロトコルによって通信を行うようなデバイスノード１１からデータを受信し、受信したデータをインテリジェンスノード１３が通信可能な通信プロトコルによってインテリジェンスノード１３へデータ送信することにより、データの転送を行う。例えば、スパイナルノード１２は、インターネットプロトコルによる通信を行うことができないアナログセンサー等から送信された信号を、インターネットプロトコル以外の通信プロトコルによって受信し、受信した信号をデジタル変換して正規化した後、インターネットプロトコルによる通信によってインテリジェンスノード１３を構成するサーバ装置（以下、単に「インテリジェンスノード１３」ともいう）へデータ送信することにより、データ転送を行う。
【００２５】
また、スパイナルノード１２は、例えば、デバイスノード１１から送信されたデータを受信し、受信したデータに対して、演算、解釈、及び判定等の処理を行い、処理結果をインテリジェンスノード１３へ送信する。
【００２６】
スパイナルノード１２は、例えば、デバイスノード１１からデータを取得し、当該データに対して前処理を行った後、タイムスタンプ（発生時刻を表す記号）を付加してタイムシリーズデータとし、当該データを処理するロジックやアルゴリズム等をインテリジェンスノード１３から取得して、当該ロジックや当該アルゴリズム等に基づいて当該タイムシリーズデータに対する処理（加工や判断等の処理）を実行する。また、スパイナルノード１２は、例えば、必要に応じて又はインテリジェンスノード１３からの指示に基づいて、インテリジェンスノード１３に当該タイムシリーズデータを送信する。また、スパイナルノード１２は、当該タイムシリーズデータと当該ロジックや当該アルゴリズム等に基づいて生成されたアクションを示す制御信号を、適切なデバイスノード１１に対して送信する。
【００２７】
また、スパイナルノード１２は、当該タイムシリーズデータをスパイナルノード１２に設けられたタイムシリーズデータベース（図示せず）に一時保存し、同時にスパイナルノード１２は、当該タイムシリーズデータをインテリジェンスノード１３の要求に応じて、インテリジェンスノード１３に対して当該タイムシリーズデータを送信する。更に前記タイムシリーズデータベースに一時保存した古いデータから順に非同期的に、ヒストリアン（図示せず）に対してセキュリティを確保された通信経路を経由して送信する。尚、ヒストリアンはインテリジェンスノード１３に直接接続することもでき、その場合、インテリジェンスノード１３は、ローカル環境にヒストリアンが存在するかのようにヒストリアンを参照・利用することができる。
【００２８】
また、スパイナルノード１２には、スパイナルノード１２に接続された初期状態のデバイスノードを識別するための情報を蓄積するデバイスプール領域３２（図４参照）が設けられている。このデバイスプール領域３２は、スパイナルノード１２に接続されているデバイスノードのうち、新規に利用可能なデバイスノードを識別するための情報が格納される領域である。デバイスプール領域３２に蓄積される具体的な情報は、予めデバイスノードに一意に割り当てられた個体識別情報、或いは、個体識別情報及び認証用の固有パスコード（認証情報）である。このような情報は、例えばデバイスノードがスパイナルノード１２に接続されたときに、プラグ・アンド・プレイによってデバイスノードから自動的にスパイナルノード１２に送信されてデバイスプール領域３２に蓄積される。
【００２９】
尚、スパイナルノード１２が単一のハードウェアによって構成されるような場合には、スパイナルノード１２において故障や異常な動作が発生した場合に備えて、スパイナルノード１２に通信接続するデバイスノード１１は、２つ以上のスパイナルノード１２に対して並行してデータを送信するようにしてもよい。デバイスノード１１がインターネットプロトコルによって通信する装置である場合には、デバイスノード１１が、マルチキャストやブロードキャストなどの技術を利用してデータ及び制御信号等を通信ネットワークへ送出し、複数のスパイナルノード１２が当該データ及び当該制御信号等を並行して受信するような構成により冗長化を行ってもよい。
【００３０】
インテリジェンスノード１３、ソーシャリゼーションノード１４、及びシングスクラウド１５は、クラウドコンピューティング環境を提供するサーバ装置及びネットワーク機器等を含んで構成される。ここで、クラウドコンピューティング環境とは、インターネット等のネットワークに接続されたサーバにより各種のサービスを提供する環境である。インテリジェンスノード１３、ソーシャリゼーションノード１４、及びシングスクラウド１５は、別々の装置によって物理的に分けられているような構成であってもよいし、単一の装置の中で論理的に分けてられているような構成であってもよい。
【００３１】
インテリジェンスノード１３を構成する装置は、企業内のアプリケーションを共同開発する複数の部門やグループ等の組織（以下、「サイト」ともいう）の間、及び複数の従業員（以下、「アカウント」又は「ユーザ」ともいう）の間において、アプリケーション開発環境やアプリケーション実行環境を共同利用できるようにするための機能を提供する。ソーシャリゼーションノード１４を構成する装置（以下、単に「ソーシャリゼーションノード１４」ともいう）は、アプリケーションを共同開発する複数の企業（以下、「テナント」ともいう）間、アプリケーションを提供する企業とアプリケーションを利用する企業顧客との間、及び企業と個人との間において、アプリケーション開発環境やアプリケーション実行環境を共同利用できるようにするための機能を提供する。
【００３２】
アプリケーション開発環境とは、クラウドコンピューティング環境において、通信ネットワークに接続されるセンサー、デバイス、及びシステム等から送信されるデータを入力値として演算処理等を行う、ＩｏＴ又はＩＩｏＴの基本ソフトウェア、アプリケーション、及びソリューション等のプログラム開発をするための開発環境である。また、アプリケーション実行環境とは、クラウドコンピューティング環境において、通信ネットワークに接続されるセンサー、デバイス、及びシステム等から送信されるデータを入力値として演算処理等を行う、ＩｏＴ又はＩＩｏＴの基本ソフトウェア、アプリケーション、及びソリューション等のプログラムを実行するための環境である。
【００３３】
以下、インテリジェンスノード１３及びソーシャリゼーションノード１４によって構成される、企業間、企業と個人、及び企業内のユーザ間において共同で利用可能な、本発明におけるアプリケーション開発環境及びアプリケーション実行環境等を総称して、Co-innovationスペース（共創空間）という。Co-innovationスペースは、クラウドコンピューティング環境における仮想の空間であり、企業（テナント）単位、又は組織（サイト）単位等で区切られた、互いに安全に隔離されたアプリケーション共創のための空間である。
【００３４】
Co-innovationスペースのアーキテクチャを用いることにより、例えば、ビッグデータを用いたコンサルテーション、各種制御、アセット・マネジメント、リモートセンシング、リモートモニタリング、ＫＡＩＺＥＮ（改善）活動支援等を行うためのアプリケーションの開発、及びＭＥＳやＤＣＳ等のシステムの開発を行うことができる。尚、Co-innovationスペースは、クラウドコンピューティング環境において実装される代わりに、ローカル環境のデータセンターのサーバ装置において実装するような構成にすることも可能である。
【００３５】
尚、上述のCo-innovationスペースのアーキテクチャは、インテリジェンスノード１３及びソーシャリゼーションノード１４を構成する１又は複数の装置により提供されるものでもよい。また、このCo-innovationスペースのアーキテクチャにおける記憶領域は、インテリジェンスノード１３及びソーシャリゼーションノード１４を構成する１又は複数の装置の記憶部、或いは、複数の装置が有する記憶部の記憶領域のうちの一部を複数組み合わせて構成されるものでもよい。
【００３６】
インテリジェンスノード１３及びソーシャリゼーションノード１４は、上述した通り、サーバ装置において動作し、Co-innovationスペースがインテリジェンスノード１３及びソーシャリゼーションノード１４に実装される。インテリジェンスノード１３は、Co-innovationスペースの主要な機能を有する。一方、ソーシャリゼーションノード１４は、Co-innovationスペースが有する機能の中で、企業間、又は企業と個人との間でアプリケーションプログラムの共有や売買、及びコミュニケーション等が行われる場合に必要となる機能を有する。
【００３７】
インテリジェンスノード１３は、インテリジェンスノード１３と通信接続する、スパイナルノード１２の管理、デバイスノード１１の管理を行う。また、ユーザは、ヒューマンマシンインターフェイス（ＨＭＩ）を通じてインテリジェンスノード１３にアクセスし、Co-innovationスペースを利用する。このヒューマンマシンインターフェイスとしては、例えば図１に示す端末装置１６が挙げられる。
【００３８】
また、インテリジェンスノード１３には、インテリジェンスノード１３に接続された初期状態のデバイスノードを識別するための情報（前述した個体識別情報、或いは、個体識別情報及び固有パスコード）を蓄積するデバイスプール領域（蓄積部）（図示省略）が設けられている。このデバイスプール領域は、インテリジェンスノード１３に接続されているデバイスノードのうち、新規に利用可能なデバイスノードを識別するための情報が格納される領域である。このような情報は、例えばデバイスノードがインテリジェンスノード１３に接続されたときに、プラグ・アンド・プレイによってデバイスノードから自動的にインテリジェンスノード１３に送信されてデバイスプール領域に蓄積される。
【００３９】
また、インテリジェンスノード１３は、様々な外部のシステムと連携するための多様な外部インターフェイスを有しており、外部のＩｏＴ及びＩＩｏＴクラウドコンピューティング環境、外部の課金システム、及び外部のデータベースシステム等との連携することができる。このように、インテリジェンスノード１３が外部の様々なシステムと幅広く連携することができることによって、インテリジェンスノード１３は、様々なＩｏＴクラウドコンピューティング環境において、外部の様々なシステムと幅広く連携したCo-innovationスペース及びCo-innovationスペース上のアプリケーションを構築することができる。
【００４０】
また、インテリジェンスノード１３が様々な外部のシステムと連携するための多様な外部インターフェイスを有していることによって、インテリジェンスノード１３は、ＩｏＴ及びＩＩｏＴクラウドコンピューティング環境が提供するインターフェイス群を活用することができるため、顧客企業における業務プロセスのサプライチェーン全体、及びライフサイクル全体を対象としたソリューションを開発することができる。
【００４１】
シングスクラウド１５は、デバイスノードをクラウド（具体的には、インテリジェンスノード１３）に接続するためのプラットフォームのサービスを提供する。このシングスクラウド１５には、シングスクラウド１５に接続された初期状態のデバイスノードを識別するための情報（前述した個体識別情報、或いは、個体識別情報及び固有パスコード）を蓄積するデバイスプール領域４２（図５参照）が設けられている。このデバイスプール領域４２は、シングスクラウド１５に接続されているデバイスノードのうち、新規に利用可能なデバイスノードを識別するための情報が格納される領域である。このような情報は、例えばデバイスノードがシングスクラウド１５に接続されたときに、プラグ・アンド・プレイによってデバイスノードから自動的にシングスクラウド１５に送信されてデバイスプール領域４２に蓄積される。
【００４２】
尚、上述のデバイスノードをクラウド（インテリジェンスノード１３）に接続するためのプラットフォームのサービスは、シングスクラウド１５を構成する１又は複数の装置により提供されるものでもよい。また、このデバイスプール領域４２は、シングスクラウド１５を構成する１又は複数の装置の記憶部、或いは、複数の装置が有する記憶部の記憶領域のうちの一部を複数組み合わせて構成されるものでもよい。
【００４３】
端末装置１６は、ネットワークを介して提供されるアプリケーションプログラムの開発環境（アプリケーション開発環境提供システム１によって提供される開発環境）に通信接続される装置である。この端末装置１６は、例えばキーボード等の入力装置、液晶表示装置等の表示装置（表示部）、ＣＰＵ（中央処理装置）やＲＡＭ等を備える装置本体を備えるパーソナルコンピュータによって実現される。尚、パーソナルコンピュータの型は、例えば、デスクトップ型、ノート型、タブレット型等の何れであっても良い。
【００４４】
〈デバイスノードとインテリジェンスノードとの間の接続形態〉
図２は、スパイナルノードを介したデバイスノードとインテリジェンスノードとの間の接続形態の一例を示す図である。図２に示す通り、デバイスノード１１ａとスパイナルノード１２とは、ローカルエリアネットワークＮ１１を介して接続され、スパイナルノード１２とインテリジェンスノード１３とは、ローカルエリアネットワーク、専用線、又はインターネットＶＰＮ（Virtual Private Network）等の通信網Ｎ１２を介して接続される。尚、スパイナルノード１２は、監視・管理ツールＭ１により管理される。
【００４５】
図３は、シングスクラウドを介したデバイスノードとインテリジェンスノードとの間の接続形態の一例を示す図である。図３に示す通り、デバイスノード１１ｄとシングスクラウド１５とは、例えばセルラー網Ｎ２１及び専用線Ｎ２２を介して接続され、シングスクラウド１５とインテリジェンスノード１３とは、専用線又はインターネットＶＰＮ等の通信網Ｎ２３を介して接続される。尚、シングスクラウド１５は、監視・管理センターＭ２により管理される。
【００４６】
図２に示すデバイスノード１１ａ、及び図３に示すデバイスノード１１ｄはそれぞれ、個体識別情報（或いは、個体識別情報及び固有パスコード）を内部に保持している。そして、例えば図２示すデバイスノード１１ａの設置が完了すると、プラグ・アンド・プレイによってデバイスノード１１ａの個体識別情報等がローカルエリアネットワークＮ１１を介してスパイナルノード１２に送信される。また、例えば図３に示すデバイスノード１１ｄの設置が完了すると、プラグ・アンド・プレイによってデバイスノード１１ｄの個体識別情報等がセルラー網Ｎ２１及び専用線Ｎ２２を介してシングスクラウド１５に送信される。
【００４７】
図４は、図２に示す接続形態における個体識別情報の授受に係る構成を示すブロック図である。図４に示す通り、デバイスノード１１ａは、個体識別情報保存部２１、アクティベーション操作部２２、及び個体識別情報送信部２３を備える。個体識別情報保存部２１は、上述の個体識別情報（或いは、個体識別情報及び固有パスコード）を保存する。アクティベーション操作部２２は、プラグ・アンド・プレイによるアクティベーション操作で、個体識別情報送信部２３に対し、個体識別情報（或いは、個体識別情報及び固有パスコード）の送信を指示する。個体識別情報送信部２３は、アクティベーション操作部２２の指示に基づいて、個体識別情報保存部２１から個体識別情報（或いは、個体識別情報及び固有パスコード）を読み出して外部（例えば、ローカルエリアネットワークＮ１１）に送信する。
【００４８】
スパイナルノード１２は、個体識別情報受信部３１及びデバイスプール領域３２（蓄積部）を備える。個体識別情報受信部３１は、デバイスノード１１ａからローカルエリアネットワークＮ１１を介して送信されてきた個体識別情報（或いは、個体識別情報及び固有パスコード）を受信する。デバイスプール領域３２は、個体識別情報受信部３１で受信された個体識別情報（或いは、個体識別情報及び固有パスコード）をデバイスリストに保存する。
【００４９】
図５は、図３に示す接続形態における個体識別情報の授受に係る構成を示すブロック図である。図５に示す通り、デバイスノード１１ｄは、図４に示すデバイスノード１１ａと同様に、個体識別情報保存部２１、アクティベーション操作部２２、及び個体識別情報送信部２３を備える。このようなデバイスノード１１ｄでは、アクティベーション操作部２２の指示に基づいて、個体識別情報送信部２３により、個体識別情報保存部２１から個体識別情報（或いは、個体識別情報及び固有パスコード）が読み出されて外部（例えば、セルラー網Ｎ２１）に送信される。
【００５０】
シングスクラウド１５は、個体識別情報受信部４１及びデバイスプール領域４２（蓄積部）を備える。個体識別情報受信部４１は、デバイスノード１１ｄからセルラー網Ｎ２１及び専用線Ｎ２２を順に介して送信されてきた個体識別情報（或いは、個体識別情報及び固有パスコード）を受信する。デバイスプール領域４２は、個体識別情報受信部４１で受信された個体識別情報（或いは、個体識別情報及び固有パスコード）をデバイスリストに保存する。
【００５１】
〈Co-innovationスペースの機能構成〉
図６は、本発明の一実施形態によるアプリケーション開発環境提供システムに実装されるCo-innovationスペースの機能構成図である。尚、Co-innovationスペースの機能は、インテリジェンスノード１３及びソーシャリゼーションノード１４の何れか一方のみで実現されても良く、インテリジェンスノード１３及びソーシャリゼーションノード１４の双方で実現されても良い。本実施形態では、説明を簡単にするために、Co-innovationスペースの機能が、インテリジェンスノード１３で実現されるものとする。
【００５２】
図６に示す通り、インテリジェンスノード１３で実現されるCo-innovationスペースは、アプリケーションボード５１、コミュニケーションツール５２、ライブラリ５３、ストレージ５４、デバイス管理部５５（管理部、管理手段）、テナント管理部５６、サイト・アカウント管理部５７、アプリケーションストア５８、課金部５９、及びデータベース部６０を備える。
【００５３】
アプリケーションボード５１（プログラム開発部）は、マルチテナント、マルチサイト、及びマルチアカウントのアプリケーション開発環境及びアプリケーション実行環境をユーザへ提供する。アプリケーションボード５１は、コンパイラや、ユーザに対して視覚的にアプリケーションプログラムを表示させることができる表示部等の機能を有する。表示部は、Co-innovationスペースを示す画像を表示し、当該Co-innovationスペースにおいて、レイアウト情報、結線情報、パラメータ情報、及び選択領域情報等に基づいて、視覚的にアプリケーションプログラムを表示する。
【００５４】
レイアウト情報とは、開発対象であるアプリケーションプログラムの処理の形態を示す情報である。例えば、レイアウト情報には、開発対象であるアプリケーションプログラムが、多入力２出力の処理を行うアプリケーションであること、或いは多入力多出力の処理を行うアプリケーションであること、或いは１入力多出力の処理を行うアプリケーションであること等を示す情報が含まれる。
【００５５】
結線情報とは、開発対象であるアプリケーションプログラムにおける、入力データ項目と、処理内容であるロジックと、処理結果である出力データ項目とをそれぞれ導線で結ぶことによってデータ項目やロジック間の関係性を視覚的に示す図を生成する際に定義される、当該導線に関する情報である。パラメータ情報とは、開発対象であるアプリケーションにおいて設定される各種パラメータの設定値を示す情報である。
【００５６】
選択領域情報とは、開発対象であるアプリケーションプログラムの一連の処理の中で、ユーザによる操作等によって選択（指定）された一部の処理の部分を示す情報である。例えば、アプリケーションボード５１によって視覚的に表示されたアプリケーションプログラムに対して、ユーザは当該アプリケーションプログラムの一部の領域を、マウス等を操作して囲むことにより、囲まれた領域を示す選択領域情報が生成される。
【００５７】
コミュニケーションツール５２は、ユーザ間で利用されるチャット機能、ビデオコミュニケーション機能、音声通話機能、画面共有機能、及び掲示板やソーシャルネットワークサービス（ＳＮＳ）等のコミュニティ機能等を提供する。例えば、チャット機能は、テキストデータ（例えば、ソースコード等）、画像データ、及びプログラムの実行ファイル等だけでなく、開発対象であるアプリケーションプログラムの一部又は全部を、パラメータ値等の設定情報も含めてユーザ間で送受信して共有することができる。
【００５８】
ライブラリ５３は、アプリケーションボード５１においてアプリケーションプログラムを開発又は実行する際に用いられる、汎用的な、処理ロジック、テンプレート、分析ツール、及びヒストリアン（履歴情報や実績情報が格納されたデータベース）等を提供する。例えば、ライブラリ５３は、類似波形検索ツール、回帰分析ツール、重回帰分析ツール、ＭＴ法分析ツール、誤差分散分析ツール、データドリブンモデリングツール、ディープラーニングツール、及び相関分析ツール等の様々な分析ツールを記憶している。
【００５９】
ストレージ５４は、各種情報（例えば、開発したアプリケーションプログラムや分析結果データ等）を、一般公開される情報と、テナント共用の情報と、サイト共用の情報と、アカウント個人用の情報とに区別して、それぞれ一般公開用の記憶領域、テナント共用の記憶領域、サイト共用の記憶領域、又はアカウント個人用の記憶領域に記憶する。尚、各ユーザが、各種情報をどの記憶領域に保存可能であるかについては、予めテナントの管理者によってユーザごとに設定された権限に基づいて制御されるようにしてもよい。尚、ストレージ５４は、記憶媒体、例えば、ハードディスクドライブ（ＨＤＤ）、フラッシュメモリ、イーイーピーロム（ＥＥＰＲＯＭ）、ＲＡＭ（読み書き可能なメモリ）、ＲＯＭ（読み出し専用メモリ）、又はそれらの任意の組み合わせによって構成される。
【００６０】
デバイス管理部５５は、インテリジェンスノード１３が収容するデバイスノード１１を構成するセンサー、デバイス、及びシステム等の情報を管理する。例えば、デバイス管理部５５は、デバイスノード１１の収容のために用いられる、デバイスノード１１に付与された識別情報と、アカウント、サイト、及びテナントの識別情報とを関連付けた情報等を管理する。
【００６１】
尚、スパイナルノード１２が収容するデバイスノード１１を構成するセンサー、デバイス、及びシステム等の情報については、インテリジェンスノード１３のデバイス管理部５５がスパイナルノード１２を介し当該情報を取得して管理するようにしてもよいし、又は、スパイナルノード１２が当該情報管理して、インテリジェンスノード１３のデバイス管理部５５が当該情報をスパイナルノード１２から取得するようにしてもよい。
【００６２】
テナント管理部５６は、テナント（企業）に関する各種情報を管理する。例えば、テナント管理部５６は、テナントの基礎情報、課金情報、操作権限、及び承認権限等の情報に対して、設定、変更、削除等を行う。また、例えば、テナント管理部５６は、Co-innovationスペースの利用、及び有料又は無料の、アプリケーション、ツール、テンプレート、及びデータ等の利用に伴う契約に関する契約情報をテナントごとに管理する。
【００６３】
サイト・アカウント管理部５７は、サイト（組織）及びアカウント（ユーザ）に関する各種情報を管理する。例えば、サイト・アカウント管理部５７は、サイト及びアカウントの基礎情報、課金情報、操作権限、及び承認権限等の情報に対して、設定、変更、削除等を行う。
【００６４】
アプリケーションストア５８は、ユーザが、アプリケーションプログラムの一部又は全部、ロジック、テンプレート、及びデータ等（以下、単にアプリケーション等と言う）の売買を行うための機能である。尚、アプリケーションストア５８によって販売されるアプリケーション等は、月額課金、年額課金、利用度に応じた課金、又はワンタイムの課金等の、任意の課金方法で課金できるようにしてもよい。また、アプリケーションストア５８によって販売されているアプリケーション等のうち特定のアプリケーション等については、ユーザが使用開始した日から一定期間（例えば、一か月間）は無料のお試し期間として、課金が発生しないようにしてもよい。
【００６５】
課金部５９は、アプリケーションストア５８によって販売されているアプリケーション等を購入したユーザに対する課金処理を行う。尚、Co-innovationスペースの利用に対して課金処理を行うようにしてもよい。尚、課金先は、テナント、サイト、又はアカウントごとに予め登録することができるようにしてもよい。また、購入されたアプリケーション等が、ユーザによってアプリケーションストア５８に登録されたアプリケーション等である場合には、当該アプリケーション等を購入したユーザに対して課金を行って徴収した金額の一部を、アプリケーション等を登録したユーザへ還元する（支払う）ことができるようにしてもよい。
【００６６】
データベース部６０は、アプリケーションの動作に必要な生産管理情報、プラント運転管理情報、品質情報等のデータをデータベースとして保持し、アプリケーションの要求に応じて必要なデータを提供する。尚、このデータベースは、ＳＱＬなどの一般的なデータベースでもよいし、非ＳＱＬの特定用途のデータベースでもよい。データベーステナント、サイト、またはアカウントごとに設定することができ、データの内容に応じて、管理者が個別にアクセス権限を設定することができるようにしてもよい。また、これらのデータベースは、Co-innovationスペースの外側にある外部のデータベースを参照するように構成してもよい。
【００６７】
〈デバイスノードの収容〉
次に、デバイスノードのシステムへの収容について説明する。ここで、デバイスノードのシステムへの収容とは、システムにデバイスノードを論理的に接続し、管理し、入出力することを意味する。図４，図５を用いて説明した通り、デバイスノード１１は、個体識別情報（或いは、個体識別情報及び固有パスコード）を内部の個体識別情報保存部２１に保持している。そして、デバイスノード１１は、プラグ・アンド・プレイによって、スパイナルノード１２やシングスクラウド１５に対して個体識別情報等を送信する。デバイスノード１１からの個体識別情報等がスパイナルノード１２やシングスクラウド１５で受信されると、デバイスプール領域３２やデバイスプール領域４２に蓄積される。
【００６８】
このとき、セキュリティの観点から個々のデバイスノードの存在を他テナントから知られてはならない場合がある。また、他ユーザ、他サイトからのアクセスを制限したい場合がある。更に、デバイスの収容を容易にすることは、設置作業の効率化の観点とコスト削減の観点で極めて重要である。これを実現するために、本実施形態では、図７に示す通り、アクティベーテド（ACTIVATED）状態ＳＴ１、レジスタード（REGISTERD）状態ＳＴ２、アロケーテド（ALLOCATED）状態ＳＴ３、アサインド（ASSIGNED）状態ＳＴ４、及びアプロックド（APPLOCKED）状態ＳＴ５の５つの状態を定義している。
【００６９】
図７は、デバイスノードの収容時における状態遷移を示す状態遷移図である。まず、デバイスノード１１は、工場出荷時において初期状態になっている。初期状態からアクティベーション（Activation）という操作をすることにより、アクティベーテド状態ＳＴ１に遷移する。アクティベーテド状態ＳＴ１は、アクティベーションが完了したデバイスノード１１が、スパイナルノード１２又はシングスクラウド１５で認識された状態である。
【００７０】
尚、このとき、スパイナルノード１２又はシングスクラウド１５を構成する１又は複数の装置が、これらの装置から成る図示しない記憶部又は記憶領域に記憶されているデバイスノードの各状態を管理するための状態管理ファイルを用いて、アクティベーションが完了したデバイスノード１１の状態（状態情報）をアクティベート状態ＳＴ１に登録又は変更することにより、デバイスノードの状態遷移を管理するものであっても良い。
【００７１】
通常、デバイスノード１１をネットワークに接続し、電源を投入するといった操作によって、プラグ・アンド・プレイにより、アクティベーションは完了する。尚、デバイスノード１１のネットワークへの接続は、セルラー網／無線網で収容するならば、電波の届く範囲内にデバイスノード１１を置くことにより実現される。また、ファイバーやツイストペアで収容する場合、デバイスノード１１のネットワークへの接続は、配線を接続する等により実現される。
【００７２】
アクティベーテド状態ＳＴ１では、アクティベーションが完了したデバイスノード１１の個体識別情報等が、スパイナルノード１２のデバイスプール領域３２又はシングスクラウド１５のデバイスプール領域４２に蓄積されているだけであって、いかなるテナントからもその存在を認識できない。これにより、デバイスノード１１が意図されない乗っ取り、アタック、スキミングされることはない。
【００７３】
尚、このような状態であったとしても、デバイスプール領域３２，４２に蓄積された個体識別情報等が、第三者に何らかの方法で知られてしまうと、レジストレーション（Registration）という操作（デバイスノード１１とテナントの割り付けを行う操作）によって、デバイスノード１１が乗っ取られたり、アタックされたり、スキミングされる危険性がある。固有パスコードは、このような危険性を少なくするために個体識別情報に付加される。
【００７４】
次に、レジストレーションという操作を行うことにより、レジスタード状態ＳＴ２に遷移する。レジスタード状態ＳＴ２は、デバイスノード１１が特定のテナントに割り付けられた状態である。インテリジェンスノード１３の中で、デバイスノード１１の収納を行うテナントから、スパイナルノード１２又はシングスクラウド１５に個体識別情報を通知することにより、デバイスプール領域３２，４２に保持されているデバイスノード１１の個体識別情報（第１情報）とテナント（第２情報）との関連付けが行われる。尚、この関連付けは、図６に示すデバイス管理部５５で行われる。関連付けが行われた個体識別情報がテナントのデバイス登録領域にコピーされ、デバイスプール領域３２，４２からは削除される。
【００７５】
尚、このとき、インテリジェンスノード１３により構成されるCo-innovationスペースのデバイス管理部５５が、図示しない記憶部又は記憶領域に記憶されているデバイスノードの各状態を管理するための状態管理ファイルを用いて、登録が完了したデバイスノード１１の状態（状態情報）をアクティベート状態ＳＴ１からレジスタード状態ＳＴ２に変更することで、状態遷移を管理するものであっても良い。
【００７６】
前述した通り、テナント毎の空間は互いに安全に隔離されているため、この状態では、第三者テナントからは収納したデバイスノード１１は認識できず、また、このデバイスノード１１を第三者テナントに割り付けることもできない状態となる。尚、デバイスプール領域３２，４２に、個体識別情報及び固有パスコードが蓄積されている場合には、インテリジェンスノード１３からデバイスの個体識別情報及び固有パスコードを同時に通知しなければ、テナントとデバイスプール領域３２，４２に保持されている個体識別情報との関連付けは行われない。
【００７７】
次に、アロケーション（Allocation）という操作（レジスタード状態ＳＴ２にあるデバイスノード１１を当該テナントの管理者がサイトやアカウントに割り当てる操作）を行うことにより、アロケーテド状態ＳＴ３に遷移する。アロケーテド状態ＳＴ３は、デバイスノード１１が特定のテナントやアカウントに割り当てられた状態である。このアロケーテド状態ＳＴ３では、各ユーザがインテリジェンスノード１３の各自のアカウントのCo-innovationスペースにログインすると、各自のアカウントのCo-innovationスペース上でデバイスノード１１を認識し、デバイスノード１１をアプリケーション開発画面（図１３参照）で利用可能な状態となる。
【００７８】
尚、このとき、インテリジェンスノード１３により構成されるCo-innovationスペースのデバイス管理部５５が、図示しない記憶部又は記憶領域に記憶されているデバイスノードの各状態を管理するための状態管理ファイルを用いて、登録が完了したデバイスノード１１の状態（状態情報）をレジスタード状態ＳＴ２からアロケーテド状態ＳＴ３に変更することで、状態遷移を管理するものであっても良い。
【００７９】
次に、アサインメント（Assignment）という操作（テナントの管理者が、管理者権限でテナントにログインし、各テナント配下のサイトやアカウントに権限を設定する操作）を行うことにより、アサインド状態ＳＴ４となる。アサインド状態ＳＴ４は、サイトやアカウント毎のアクセス権が設定された状態である。ここで、デバイスノード１１は、初期状態では、テナント配下のどのサイトのどのアカウントからも認識され、利用可能な状態となっている。テナントの管理者が管理者権限でログインすることにより、サイト、アカウント、或いは別途設定するグループ毎に、Ｒ／Ｏ（リードオンリー：読み込みのみ）、Ｒ／Ｗ（リードライト：読み書き可能）、Ｘ（エグゼキューション）等の権限設定をすることができる。
【００８０】
尚、このとき、インテリジェンスノード１３により構成されるCo-innovationスペースのデバイス管理部５５が、図示しない記憶部又は記憶領域に記憶されているデバイスノードの各状態を管理するための状態管理ファイルを用いて、登録が完了したデバイスノード１１の状態（状態情報）をアロケーテド状態ＳＴ３からアサインド状態ＳＴ４に変更することで、状態遷移を管理するものであっても良い。
【００８１】
次に、ロック（Lock）という操作（デバイスノード１１の設定変更、停止、再起動等の権限を特定のアプリケーションに限定する操作）を行うことにより、アプロックド状態ＳＴ５に遷移する。アプロックド状態ＳＴ５は、デバイスノード１１の利用が特定のアプリケーションのみに制限或いは許可された状態である。この状態は、デバイスノード１１の設定変更、停止、再起動等を制限或いは許可し、デバイスノード１１を安定的に利用できるようにするために設けられる。
【００８２】
ロックという操作は、どのアカウントでも実行することができ、テナントの管理者はそれを強制的に変更できる。アプロックド状態ＳＴ５になっているデバイスであっても、読み込みについては、Ｒ／Ｏ（リードオンリー）の権限さえあれば参照可能である。アプロックド状態ＳＴ５となっているデバイスについて、他のアプリケーションのプログラムから利用するために設定変更をしようとすると、エラーが返され、ロックという操作を行っているユーザＩＤとアプリケーションＩＤが提示される。
【００８３】
尚、このとき、インテリジェンスノード１３により構成されるCo-innovationスペースのデバイス管理部５５が、図示しない記憶部又は記憶領域に記憶されているデバイスノードの各状態を管理するための状態管理ファイルを用いて、登録が完了したデバイスノード１１の状態（状態情報）をアサインド状態ＳＴ４からアプロックド状態ＳＴ５に変更することで、状態遷移を管理するものであっても良い。
【００８４】
図８は、デバイスノードの収容時の処理を示すフローチャートである。尚、図８に示すフローチャートは、収容されたデバイスノード１１がレジスタード状態ＳＴ２に遷移するまでの処理を示している。尚、ここでは、理解を容易にするために、スパイナルノード１２に接続されたデバイスノード１１が収容される場合を例に挙げて説明するが、シングスクラウド１５に接続されたデバイスノード１１が収容される場合にも同様の処理が行われる。
【００８５】
まず、インテリジェンスノード１３からスパイナルノード１２に対し、収容しようとしているデバイスノードの個体識別情報が送信される（ステップＳ１）。この処理は、例えばユーザが端末装置１６を操作して収容しようとしているデバイスノードの個体識別情報を入力することにより行われる。インテリジェンスノード１３から送信されてきた個体識別情報は、スパイナルノード１２で受信される（ステップＳ２）。すると、スパイナルノード１２では、受信した個体識別情報と、デバイスプール領域３２のデバイス固有情報リストとを比較し、個体識別情報が一致するものがあるか否かを判定する処理が行われる（ステップＳ３）。
【００８６】
個体識別情報が一致するものがないと判定された場合（ステップＳ３の判定結果が「ＮＯ」の場合）には、スパイナルノード１２からインテリジェンスノード１３に対してリジェクトが送信される（ステップＳ４）。スパイナルノード１２から送信されてきたリジェクトは、インテリジェンスノード１３で受信される（ステップＳ５）。すると、インテリジェンスノード１３では、デバイスノード１１の登録失敗となる（ステップＳ６）。
【００８７】
これに対し、個体識別情報が一致するものがあると判定された場合（ステップＳ３の判定結果が「ＹＥＳ」の場合）には、その個体識別情報に対応する固有パスコードがあるか否かを判定する処理がスパイナルノード１２で行われる（ステップＳ７）。固有パスコードが無いと判定された場合（ステップＳ７の判定結果が「ＮＯ」の場合）には、デバイスノード１１の情報をテナントのデバイス登録領域にコピーする処理（ステップＳ８）、及びデバイスプール領域３２のデバイスの情報を削除する処理（ステップＳ９）が、スパイナルノード１２で順に行われる。
【００８８】
そして、スパイナルノード１２からインテリジェンスノード１３に対し、登録完了が送信される（ステップＳ１０）。スパイナルノード１２から送信されてきた登録完了は、インテリジェンスノード１３で受信される（ステップＳ１１）。すると、インテリジェンスノード１３では、デバイスノード１１の登録完了となる（ステップＳ１２）。これにより、登録が完了したデバイスノード１１は、レジスタード状態ＳＴ２になる。
【００８９】
他方、ステップＳ７において、固有パスコードがあると判定された場合（ステップＳ７の判断結果が「ＹＥＳ」の場合）には、スパイナルノード１２からインテリジェンスノード１３に対し、パスコード要求が送信される（ステップＳ１３）。スパイナルノード１２から送信されてきたパスコード要求は、インテリジェンスノード１３で受信される（ステップＳ１４）。すると、インテリジェンスノード１３では、固有パスコードを準備し（ステップＳ１５）、スパイナルノード１２に送信する処理が行われる（ステップＳ１６）。
【００９０】
インテリジェンスノード１３から送信された固有パスコードは、スパイナルノード１２で受信される（ステップＳ１７）。すると、スパイナルノード１２では、受信した固有パスコードと、デバイスプール領域３２に蓄積されている固有パスコードと比較し、固有パスコードが一致するか否かを判定する処理が行われる（ステップＳ１８）。
【００９１】
固有パスコードが一致していないと判定された場合（ステップＳ１８の判断結果が「ＮＯ」の場合）には、スパイナルノード１２からインテリジェンスノード１３に対してリジェクトが送信される（ステップＳ１９）。スパイナルノード１２から送信されてきたリジェクトは、インテリジェンスノード１３で受信される（ステップＳ２０）。すると、インテリジェンスノード１３では、デバイスノード１１の登録失敗となる（ステップＳ２１）。他方、固有パスコードが一致していると判定された場合（ステップＳ１８の判断結果が「ＹＥＳ」の場合）には、前述したステップＳ８〜１２の処理がスパイナルノード１２及びインテリジェンスノード１３で行われ、デバイスノード１１の登録完了となる。これにより、登録が完了したデバイスノード１１は、レジスタード状態ＳＴ２になる。
【００９２】
〈デバイスノードの収容作業手順〉
次に、デバイスノード１１を収容するための具体的な作業手順について説明する。図７を用いて説明した通り、本実施形態では、デバイスノード１１を収容する場合には、アクティベーテド状態ＳＴ１、レジスタード状態ＳＴ２、アロケーテド状態ＳＴ３、アサインド状態ＳＴ４、及びアプロックド状態ＳＴ５の５つの状態に設定していく必要がある。初期状態からアクティベーテド状態ＳＴ１までは、プラグ・アンド・プレイにより行うことができる。
【００９３】
しかしながら、レジスタード状態ＳＴ２からアプロックド状態ＳＴ５までの遷移は、テナントの管理者の操作が必要になる。例えば、テナントの管理者は、デバイスノード１１の個体識別情報の入力や固有パスコードの入力作業を行う必要がある。このため、テナントの管理者の作業負担が大きい。そこで、本実施形態では、デバイス収容の作業を簡単化するために、図９に示す通り、個体識別情報や固有パスコードとともに二次元コードＣＤが印字されたシールＳＬをデバイスノード１１に貼付するようにしている。
【００９４】
図９は、デバイスノードに貼着されるシールの一例を示す図である。図９（ａ）に示すシールＳＬは、デバイスノードの個体識別情報を示す文字列ＳＴと、その個体識別情報が含まれる二次元コードＣＤとが印字されたものである。文字列ＳＴには、デバイスノードの個体識別情報である旨を示す「Device Identification」、及びデバイスノードの個体識別情報「3201 XF5J P3A2 S052」が含まれる。二次元コードＣＤには、デバイスノード１１の個体識別情報がＸＭＬ（Extensible Markup Language）形式で記述された情報が含まれる。尚、ここでは、デバイスノードの個体識別情報を示す文字列ＳＴと、その個体識別情報が含まれる二次元コードＣＤとが印字されたシールＳＬがデバイスノードに貼着されているとしているが、文字列ＳＴ及び二次元コードＣＤは、直接デバイスノードに印字或いは刻印されていても良い。
【００９５】
図９（ｂ）に示すシールＳＭは、デバイスノードの個体識別情報及び固有パスコードを示す文字列ＳＵと、それら個体識別情報及び固有パスコードが含まれる二次元コードＣＥとが印字されたものである。文字列ＳＵには、デバイスノードの個体識別情報である旨を示す「Device Identification」、デバイスノードの個体識別情報「3201 XF5J P3A2 S052」、固有パスコードである旨を示す「PASS CODE」、及び固有パスコード「X_5PxG32LZZQ」が含まれる。二次元コードＣＥには、デバイスノード１１の個体識別情報及び固有パスコードがＸＭＬ形式で記述された情報が含まれる。
【００９６】
尚、図９（ｂ）に示すシールＳＭのように、文字列ＳＵに固有パスコードが含まれる場合には、固有パスコードが他人に知られる危険性がある。このため、通常シールＳＬとシールＳＭは併用され、シールＳＭは、容易に剥がすことができるようになっている。図９（ａ）に例示するシールＳＬに印字される二次元コードＣＤ及び図９（ｂ）に例示するシールＳＭに印字される二次元コードＣＥは、ＱＲコード（登録商標）等のマトリックス型の二次元コードであっても、スタック型の二次元コードであっても良い。また、必ずしも二次元コードである必要はなく一次元コード等の他のコードであっても良い。従って、設置時に二次元コードが読み取られ、デバイスノードの設定が完了したのちには、第三者がデバイスをネットワーク上で特定し利用するような状況を防ぐセキュリティの観点から、シールＳＭはデバイスノードから剥がされ、別途保管及び管理されるべきものである。
【００９７】
《収容作業手順の第１例》
図１０は、デバイスノードの収容作業手順の第１例を説明するための図であり、図１１は、同作業手順の第１例を示すシーケンス図である。図１０に示す通り、インテリジェンスノード１３で実現されるCo-innovationスペースには、テナント毎のテナント領域Ｒ１〜Ｒ３が設けられている。これらテナント領域Ｒ１〜Ｒ３は、図６に示すテナント管理部５６で管理される情報を用いて作成される。尚、ここでは、説明を簡単にするために、３つのテナント領域Ｒ１〜Ｒ３のみを図示しているが、テナント領域は、Co-innovationスペースを利用するテナントの数に応じた分だけ設けられる。以下では、理解を容易にするために、テナント領域Ｒ１が設けられているテナント（以下、「テナントＡ」という）に着目して説明を進める。
【００９８】
図１０に示す通り、テナント領域Ｒ１の内部には、テナントＡに属するサイト（組織）毎のサイト領域Ｒ１１が設けられている。尚、図１０では、図示を簡略化するために、テナントＡに属するある１つのサイト（以下、「サイトＢ」という）のサイト領域Ｒ１１のみ図示している。また、サイト領域Ｒ１１の内部には、サイトＢに属するアカウント（ユーザ）毎のアカウント領域Ｒ１２が設けられている。尚、図１０では、図示を簡略化するために、サイトＢに属するある１つのアカウント（以下、「アカウントＣ」という）のアカウント領域Ｒ１２のみ図示している。これらサイト領域Ｒ１１及びアカウント領域Ｒ１２は、図６に示すサイト・アカウント管理部５７で管理される情報を用いて作成される。
【００９９】
また、テナント領域Ｒ１の内部には、テナントＡに属するサイトやアカウントで共用することができるデバイスノードが登録されるデバイス登録領域Ｒ１３が設けられている。このデバイス登録領域Ｒ１３は、図６に示すデバイス管理部５５で管理される情報を用いて作成される。図１０に示す例では、テナント領域Ｒ１の内部に設けられたデバイス登録領域Ｒ１３に登録されているデバイスノードは、テナントＡ、サイトＢ、及びアカウントＣで共用することができる。尚、テナントＡに属するサイトやアカウントでは、デバイス登録領域Ｒ１３に登録されたデバイスノード以外に、データ、ロジック、アプリケーション等を共用することが可能である。
【０１００】
図１１に示す通り、テナントＡの管理者は、まずデバイスノード１１を設置し、デバイスノード１１の電源をオンする（ステップＳ１０１）。デバイスノード１１の電源オンにより、プラグ・アンド・プレイにより、デバイスノード１１は、スパイナルノード１２、インテリジェンスノード１３、又はシングスクラウド１５に接続される。ここでは、デバイスノード１１がスパイナルノード１２に接続されるものとする。デバイスノード１１がスパイナルノード１２に接続されると、デバイスノード１１の個体識別情報（或いは、個体識別情報及び固有パスコード）がデバイスノード１１からスパイナルノード１２に送信され（ステップＳ１０２）、スパイナルノード１２のデバイスプール領域３２に蓄積される。これにより、デバイスノード１１の状態は初期状態からアクティベーテド状態ＳＴ１に遷移する。
【０１０１】
次に、テナントＡの管理者は、端末装置１６を操作してインテリジェンスノード１３にアクセスし、Co-innovationスペースにログインする（ステップＳ１０４）。これにより、テナントＡの管理者は、インテリジェンスノード１３で実現されるCo-innovationスペースに設けられたテナント領域Ｒ１の利用が可能になる。続いて、テナントＡの管理者は、Co-innovationスペースにおいて予め用意されているデバイス登録メニューを選択する。
【０１０２】
そして、テナントＡの管理者は、端末装置１６に接続されたカメラ１７により、デバイスノード１１に貼着されているシールＳＭの二次元コードＣＥを撮影する（ステップＳ１０５：第１ステップ）。カメラ１７で二次元コードＣＥが撮影されると、この二次元コードＣＥから、デバイスノード１１の個体識別情報（或いは、個体識別情報及び固有パスコード）が読み取られる。読み取られた個体識別情報（或いは、個体識別情報及び固有パスコード）は、端末装置１６からインテリジェンスノード１３に送信される（ステップＳ１０６：：第１ステップ）。
【０１０３】
尚、上述の端末装置１６に接続されたカメラ１７は、例えばカメラ機能が搭載されたスマートフォン等の携帯型端末装置であっても良い。このような携帯型端末装置を用いる場合には、例えばネットワークもＰＣ（パーソナルコンピュータ）も無い屋外でデバイスノード１１の設置が行われるようなときにも、無線の電話回線を介してインテリジェンスノード１３に接続可能であるため、効率的に作業を行うことができる。
【０１０４】
次いで、スパイナルノード１２のデバイスプール領域３２にアクセスして、端末装置１６から送信されてきた個体識別情報と同じ個体識別情報を検索する処理が、インテリジェンスノード１３で行われる（ステップＳ１０７：第４ステップ）。尚、個体識別情報に対応する固有パスコードがある場合には、デバイスプール領域３２に蓄積された固有パスコードと、端末装置１６から送信されてきた固有パスコードとを比較して認証する処理が行われる（ステップＳ１０８：認証処理）。
【０１０５】
端末装置１６から送信されてきた個体識別情報と同じ個体識別情報が検索された場合には、テナントＡとデバイスノード１１とを関連付ける処理がインテリジェンスノード１３で行われる（ステップＳ１０９：第２ステップ）。尚、この処理は、図６のデバイス管理部５５で行われる。その後、デバイスプール領域３２に蓄積されたデバイスノード１１の情報がインテリジェンスノード１３に転送され（ステップＳ１１０）、テナントＡのデバイス登録領域Ｒ１３に登録する処理が行われる（ステップＳ１１１）。これにより、デバイスノード１１の状態は、アクティベーテド状態ＳＴ１からレジスタード状態ＳＴ２に遷移する。尚、インテリジェンスノード１３に転送されたデバイスノード１１の情報は、デバイスプール領域３２から削除される。
【０１０６】
デバイスノード１１がテナントＡのデバイスノードとして登録されると、テナントＡの管理者は、端末装置１６を操作して、テナントＡの配下のサイトＢやアカウントＣに対し、デバイスノード１１を割り当てる（ステップＳ１１２：第３ステップ）。これにより、インテリジェンスノード１３では、特定のサイト及びアカウント（例えば、サイトＢやアカウントＣ）にデバイスノードを割り当てる処理（第１処理）が行われる。この処理が終了すると、デバイスノード１１の状態は、レジスタード状態ＳＴ２からアロケーテド状態ＳＴ３に遷移する。
【０１０７】
また、管理者権限でログインしたテナントＡの管理者は、端末装置１６を操作して、テナントＡの配下のサイトＢやアカウントＣに対し、Ｒ／Ｏ（リードオンリー）、Ｒ／Ｗ（リードライト）、Ｘ（エグゼキューション）等の権限設定を行う（ステップＳ１１３：第３ステップ）。これにより、インテリジェンスノード１３では、サイト及びアカウント毎に、デバイスノード１１に対するアクセス権を設定する処理（第２処理）が行われる。この処理が終了すると、デバイスノード１１の状態は、アロケーテド状態ＳＴ３から、アサインド状態ＳＴ４に遷移する。
【０１０８】
また、テナントＡの任意のサイト、アカウント、或いはテナントＡの管理者が、端末装置１６を操作して、デバイスノード１１の設定変更、停止、再起動等の権限を特定のアプリケーションに限定する操作（ロック）を行う（ステップＳ１１４：第３ステップ）。これにより、インテリジェンスノード１３では、デバイスノード１１の利用を特定のアプリケーションプログラムのみに制限或いは許可する処理（第３処理）が行われる。この処理が終了すると、デバイスノード１１の状態は、アサインド状態ＳＴ４から、アプロックド状態ＳＴ５に遷移する。
【０１０９】
《収容作業手順の第２例》
図１２は、デバイスノードの収容作業手順の第２例を説明するための図である。本例では、携帯端末１８のアプリケーションを利用することで、アクティベーテド状態ＳＴ１からアサインド状態ＳＴ４までの処理を容易に行えるようにしたものである。即ち、携帯端末１８のアプリケーションによって、図１１に示すステップＳ１０４〜ステップＳ１１２の処理が行われるようにしたものである。
【０１１０】
尚、本例では、携帯端末１８のアプリケーションを利用する場合を例に挙げて説明するが、これに限定されるものではない。例えば、携帯端末１８からブラウザを介してCo-innovationスペース上のデバイス登録画面（アプリ）にアクセスし、そのデバイス登録画面（アプリ）を利用することで、図１１に示すステップＳ１０４〜ステップＳ１１２の処理が行われるようにしても良い。
【０１１１】
デバイスノード１１の設置が完了した後に、テナントＡの管理者が、携帯端末１８のアプリケーションを起動して、端末装置１６に表示された二次元コードＣＤ１を携帯端末１８で読み取ることで、アカウントＩＤ、パスワードが携帯端末１８に入力される。携帯端末１８に入力されたアカウントＩＤ、パスワードは、携帯端末１８のアプリケーションによって自動的にインテリジェンスノード１３に送信され、これによりテナントＡの管理者は、Co-innovationスペースにログインする（ステップＳ１０４）。
【０１１２】
ここで、端末装置１６に表示される二次元コードＣＤ１には、テナントＡの管理者がCo-innovationスペースにログインするために必要なアカウントＩＤ及びパスワードが含まれる。この二次元コードＣＤ１は、テナントＡの管理者が、端末装置１６でCo-innovationスペースにログインしている状態で、例えば「契約情報」メニューを選択した際に、自身の所属するテナントの契約情報とともに表示されるものである。
【０１１３】
このように本例では、携帯端末１８のアプリケーションで二次元コードＣＤ１を読み取る操作を行うだけで、Co-innovationスペースにログインすることが可能である。このため、Co-innovationスペースにログインする際に、アカウントＩＤ、パスワードの入力が不要になり、極めて容易にログオンすることができる。尚、上記の二次元コードＣＤ１を印刷し、印刷された二次元コードＣＤ１を端末装置１６で読み取るようにしても良い。
【０１１４】
尚、本例では、携帯端末１８のアプリケーションによって端末装置１６に表示される二次元コードＣＤ１を読み取ることで、アカウントＩＤ、パスワードを携帯端末１８に入力し、Co-innovationスペースにログインする例について説明したが、これに限定されるものではない。例えば、携帯端末１８の画面上で、アカウントＩＤ及びパスワードを携帯端末１８のキーボードを使って入力してCo-innovationスペースにログインするようにしても良い。
【０１１５】
Co-innovationスペースへのログインが完了した後に、テナントＡの管理者が、携帯端末１８を用いてデバイスノード１１に貼着されているシールＳＭの二次元コードＣＥを撮影すると（ステップＳ１０５）、二次元コードＣＥから、デバイスノード１１の個体識別情報（或いは、個体識別情報及び固有パスコード）が読み取られる。すると、携帯端末１８のアプリケーションにより、ステップＳ１０６〜ステップＳ１１２の処理が自動的に行われ、アロケーテド状態ＳＴ３までの処理が完了する。尚、ステップＳ１１２の処理では、デバイスノード１１を割り当てるサイトやアカウントを設定する必要があるが、この設定情報は予め携帯端末１８のアプリケーションに設定しておく。
【０１１６】
尚、各サイトやアカウントの権限を携帯端末１８のアプリケーションの入力画面で選択可能とし、携帯端末１８で、管理者権限でインテリジェンスノード１３のCo-innovationスペースにログインした場合には、携帯端末１８のアプリケーションによりステップＳ１１３の処理まで行うことができ、アサインド状態ＳＴ４まで処理が完了する。これにより、作業の更なる簡略化を図ることができる。
【０１１７】
〈アプリケーション開発画面〉
図１３は、本発明の一実施形態におけるアプリケーション開発画面の一例を示す図である。上述したデバイスノードの収容後（或いは、デバイスノードの収容を行いながら）、各ユーザ（アカウント）は、図１３に示すアプリケーション開発画面にて、ネットワークを介してアプリケーションプログラムを開発していくことができる。このアプリケーション開発画面では、テナント、サイト毎に設定された複数のユーザ（アカウント）が、予め管理者によって設定された実行権限により、データ、ロジック、アプリケーション、状態を共有しながらアプリケーションプログラムの作成、管理、監視、実行を行うことが可能である。尚、このアプリケーション開発画面は、例えば端末装置の表示装置（表示部）に表示される。
【０１１８】
図１３に示すアプリケーション開発画面は、開発パーツ一覧表示領域Ｅ１と、アプリケーション設計領域Ｅ２とに大別される。開発パーツ一覧表示領域Ｅ１は、アプリケーションプログラムの開発に用いられる開発パーツの一覧が表示される領域である。この開発パーツ一覧表示領域Ｅ１には、例えば分析エレメント、入出力データ項目（例えば、センサー出力）、汎用の各種ロジック（演算子、関数）等が開発パーツとして一覧表示される。
【０１１９】
アプリケーション設計領域Ｅ２は、開発対象であるアプリケーションプログラムの構造を視覚的に表示する領域である。このアプリケーション設計領域Ｅ２では、開発対象であるアプリケーションプログラムの作成及び編集が可能である。ユーザは、例えば、開発パーツ一覧表示領域Ｅ１に表示された開発パーツ、例えば、分析エレメント、入出力データのデータ項目、処理内容であるロジック等の一覧の中から、必要な開発パーツを選択し、アプリケーション設計領域Ｅ２へマウス操作等によりドラッグ・アンド・ドロップすることにより、選択した開発パーツを示す画像をアプリケーション設計領域に表示させることができる。そして、アプリケーション設計領域Ｅ２に表示された開発パーツを線や矢印で接続することで、アプリケーションプログラムを作成することができる。
【０１２０】
デバイスノード１１を収容する際に、デバイスノード１１がアロケーテド状態ＳＴ３に遷移すると、そのデバイスノード１１が割り当てられたテナント、サイト、アカウントのアプリケーション開発画面における開発パーツ一覧表示領域Ｅ１には、収容したデバイスノード１１が開発パーツとして現れる。そして、各テナント、サイト、アカウントで、収容したデバイスノード１１を共有して、プログラムの作成や編集を行うことができる。
【０１２１】
尚、収容されたデバイスノード１１がアサインド状態ＳＴ４に遷移すると、サイトやアカウント毎にアクセス権が設定された状態になる。このため、図１３に示すアプリケーション開発画面で開発を行っているユーザは、デバイスノード１１の使用が、設定された権限の範囲内での使用のみに制限される。また、収容されたデバイスノード１１がアプロックド状態ＳＴ５に遷移すると、デバイスノード１１の利用が特定のアプリケーションのみに制限された状態になる。このため、図１３に示すアプリケーション開発画面で開発を行っているユーザは、利用が許可されたアプリケーションを開発する場合のみ、デバイスノード１１の利用が可能となる。
【０１２２】
以上説明した通り、本実施形態では、アプリケーション開発環境提供システム１を利用するテナントの管理者の指示によって、アプリケーションプログラムで利用されるデバイスノード１１の個体識別情報が特定された場合に、特定された個体識別情報と、その個体識別情報の特定を行ったテナントとの関連付けを行い、デバイスノード１１の使用を制限或いは許可する管理処理を行うようにしている。このため、高いセキュリティで、デバイスノード１１をシステムに収容することができる。
【０１２３】
具体的に、アプリケーション開発環境提供システム１は、様々な企業（テナント）に利用されうる。例えば、プラントで実現されるエンジニアリングシステムの開発が行われる場合には、顧客（例えば、発注者）、エンジニアリング会社（例えば、受注者）、及びサードベンダ（第三者）によって利用されうる。このような、様々なテナントによって利用されるシステムにおいては、セキュリティの観点から、プラントで用いられるデバイスノード１１の存在を他のテナントに知られてなはならない場合がある。また、同一のテナントであっても、他の部署（サイト）、或いは他の社員（ユーザ）からのアクセスを制限したい場合がある。
【０１２４】
上述した実施形態においては、デバイスノード１１の使用を制限或いは許可する管理処理が行われることで、デバイスノード１１の使用が、特定のテナントに属する特定のサイト及びアカウントに制限され、サイト及びアカウント毎にデバイスノード１１に対するアクセス権が設定され、デバイスノード１１の利用が特定のアプリケーションプログラムのみに制限される。これにより、例えば、プラントで用いられるデバイスノード１１の存在が他のテナントに知られるといった事態が生ずることはなく、また、同一のテナントにおける、他の部署（サイト）、或いは他の社員（ユーザ）からのアクセスを制限することも可能である。このように、本実施形態では、高いセキュリティで、デバイスノード１１をシステムに収容することができる。
【０１２５】
また、テナントで扱うデバイスノード１１は、同一に管理されるため、アプリケーションから見ると、インテリジェンスノード１３に直接接続されているセンサー、デバイス、及びシステム、スパイナルノード１２を介して接続されているセンサー、デバイス、及びシステム、並びにシングスクラウド１５を介して接続されているセンサー、デバイス、及びシステムを等しく認識することができる。これにより、各サイトや各アカウントでは、デバイスを同様に取り扱って、プログラムを開発、編集していくことができる。
【０１２６】
また、上述した実施形態では、個体識別情報や固有パスコードの情報が含まれる二次元コードＣＤ，ＣＥが印字されたシールＳＬ，ＳＭをデバイスノード１１に貼付していたため、デバイスノード１１の個体識別情報やパスコードを効率的に入力できる。また、携帯端末１８を用いて二次元コードＣＤ１を読み取ってCo-innovationスペースへのログインを行い、デバイスノード１１の収納作業を携帯端末１８のアプリケーションにより実現していたため、デバイスノード１１の収容を効率的に行うことができる。
【０１２７】
尚、上述した実施形態では、スパイナルノード１２に接続するデバイスノード１１は、初期状態でスパイナルノード１２に接続させて、個体識別情報や固有パスコードをスパイナルノード１２のデバイスプール領域３２に蓄積している。また、インテリジェンスノード１３に接続するデバイスノード１１は、初期状態でインテリジェンスノード１３に接続させて、個体識別情報や固有パスコードをインテリジェンスノード１３の不図示のデバイスプール領域に蓄積している。また、シングスクラウド１５に接続するデバイスノード１１は、初期状態でシングスクラウド１５に接続させて、個体識別情報や固有パスコードをシングスクラウド１５のデバイスプール領域４２に蓄積させている。
【０１２８】
このように、上述した実施形態では、デバイスノード１１が接続される場所（ネットワーク）やデバイスノード１１の情報（個体識別情報や固有パスコード）が蓄積されるデバイスプール領域を分けるようにしているが、デバイスプール領域を共通化しても良い。例えば、セルラー網を使えばどの場所からもクラウドにアクセスすることができるから、全てのデバイスノード１１を初期状態でシングスクラウド１５に接続させ、デバイスノード１１の情報を全てシングスクラウド１５のデバイスプール領域４２に蓄積させるようにしても良い。
【０１２９】
以上、本発明の一実施形態について詳細に説明したが、本発明は、上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上述した実施形態におけるアプリケーション開発環境提供システム１の一部又は全部をコンピュータで実現するようにしてもよい。アプリケーション開発環境提供システム１の一部又は全部がコンピュータで実現される場合には、アプリケーション開発環境提供システム１の一部又は全部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
【０１３０】
尚、ここでいう「コンピュータシステム」とは、アプリケーション開発環境提供システム１に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１３１】
また、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、更に前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであってもよい。
【０１３２】
また、上述した実施形態におけるアプリケーション開発環境提供システム１を、ＬＳＩ（Large Scale Integration）等の集積回路として実現してもよい。アプリケーション開発環境提供システム１の各機能ブロックは個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【０１３３】
１      アプリケーション開発環境提供システム
１１    デバイスノード
１６    端末装置
３２    デバイスプール領域
４２    デバイスプール領域
５５    デバイス管理部
Ｅ１    開発パーツ一覧表示領域
Ｅ２    アプリケーション設計領域
【図１】
2018055571.tif 000003
【図２】
2018055571.tif 000004
【図３】
2018055571.tif 000005
【図４】
2018055571.tif 000006
【図５】
2018055571.tif 000007
【図６】
2018055571.tif 000008
【図７】
2018055571.tif 000009
【図８】
2018055571.tif 000010
【図９】
2018055571.tif 000011
【図１０】
2018055571.tif 000012
【図１１】
2018055571.tif 000013
【図１２】
2018055571.tif 000014
【図１３】
2018055571.tif 000015