以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係るデバイスプロビジョニング環境10を示す。本実施形態において、デバイスプロビジョニング環境10は、複数のネットワークデバイス100のインターフェイスモジュール1000それぞれに対して出荷前の設定をするプロビジョニングシステム120と、複数のインターフェイスモジュール1000それぞれに対して設置時の設定をするプロビジョニングシステム140とを備え、クラウドコンピュータまたはフォグコンピュータ等(以下「クラウドコンピュータ等」と示す。)である基盤システム160にインターフェイスモジュール1000を簡単かつセキュアに接続可能とする。
デバイスプロビジョニング環境10は、インターフェイスモジュール1000に対して出荷前の設定・準備をするためのプロビジョニングシステム120、ネットワーク125、端末130、およびプリンタ135と、インターフェイスモジュール1000に関するデバイス情報を記憶するデバイスDB138と、ユーザへと届けられたインターフェイスモジュール1000に対して設置時の設定をするためのプロビジョニングシステム140および端末150と、設置後のインターフェイスモジュール1000を含む各ネットワークデバイス100の監視・制御等を行うクラウドコンピューティングシステムまたはフォグコンピューティングシステム(以下「クラウドコンピューティングシステム等」と示す。)を構築するための基盤システム160および端末165とを備える。
ネットワークデバイス100は、インターネット、ワイドエリアネットワーク、ローカルエリアネットワーク、及び/又は携帯回線網等のネットワーク145に接続される水位計、温度計、気圧計、リモートスイッチなどのデバイスであり、アプリケーションモジュール1001と、インターフェイスモジュール1000とを有する。
アプリケーションモジュール1001およびインターフェイスモジュール1000は、アプリケーションモジュール1001が有する通信コネクタ10011と、インターフェイスモジュール1000が有する通信コネクタ10001とによって着脱可能に接続される。アプリケーションモジュール1001およびインターフェイスモジュール1000は、一体的に接続されてネットワークデバイス100として出荷されてもよいし、別々に出荷されてもよい。アプリケーションモジュール1001およびインターフェイスモジュール1000は同じ製造者により製造されてもよいし、別の製造者により製造されてもよい。一例として、アプリケーションモジュール1001はインターフェイスモジュール1000を購入したユーザによって製造されてよい。
アプリケーションモジュール1001は、センサ、アクチュエータ、入力ポート、出力ポート、入出力ポート、およびユーザインタフェースの少なくとも1つを有する。
インターフェイスモジュール1000は、自身に接続されたアプリケーションモジュール1001をネットワークに接続させる。インターフェイスモジュール1000は複数種類のアプリケーションモジュール1001のそれぞれと択一的に接続可能でよい。この場合には通信コネクタ10001と、各種類のアプリケーションモジュール1001の通信コネクタ10011とは共通の通信プロトコルで通信してよい。通信プロトコルはシリアル通信のプロトコルでよく、一例としてUART(Universal Asynchronous Receiver Transmitter)を用いてATコマンドなどを通信してよい。インターフェイスモジュール1000は、ネットワークに接続されるネットワークインターフェイス101と、プロビジョニングシステム120により提供される、納入対象インターフェイスモジュール1000に固有のデバイス識別情報を含むコードを印刷したコードラベル102と、デバイス識別情報が格納される識別情報記憶領域104と、プロビジョニングシステム120により提供される、納入先でネットワーク145に接続されたインターフェイスモジュール1000を、基盤システム160によるサービス提供を受ける複数のテナントのうち、予め設定された特定テナント用として認証させるための認証情報が格納される認証情報記憶領域106と、納入対象インターフェイスモジュール1000が基盤システム160に接続するための接続用鍵が格納される接続用鍵記憶領域108とを備える。ここで、テナントは、サービスの利用契約を行った企業、企業内の部署、その他のユーザ組織に対して設定されるアカウントグループである。本実施形態において各テナントに対応するユーザ組織は、基盤システム160のサービスを利用するべくインターフェイスモジュール1000またはネットワークデバイス100を購入して使用する。なお、アカウントとは、テナントに含まれるユーザであってよい。
プロビジョニングシステム120は、納入先でネットワーク145に接続される納入対象インターフェイスモジュール1000の納入前に、ネットワーク125を介して納入対象インターフェイスモジュール1000を予め設定しておくことにより、納入対象インターフェイスモジュール1000を簡単かつセキュアに基盤システム160に接続可能とするプロビジョニングサービスを提供するためのコンピュータシステムである。プロビジョニングシステム120は、このプロビジョニングサービスを提供するサービス業者によって運用される。プロビジョニングシステム120は、クラウドコンピューティングシステム等であってよく、1または複数のサーバコンピュータ等によって実現されるサーバコンピューティングシステムであってよい。本実施形態において、このサービス業者は、ネットワークデバイス100の製造者または販売者等のプロバイダとは別である。これに代えて、このサービス業者は、ネットワークデバイス100のプロバイダと同一であってもよい。また、このサービス業者は、基盤システム160によるサービスを提供するサービス業者と同一であってもよく、異なっていてもよい。なお、本実施形態に係る基盤システム160は、複数のプロバイダが各々製造・販売するネットワークデバイス100についてプロビジョニングサービスを提供するべく、各々のプロバイダに対して固有のプロバイダ識別情報を設ける。
プロビジョニングシステム120は、納入先でネットワーク145に接続される納入対象のネットワークデバイス100のプロバイダの端末130からの要求に応じて、納入対象インターフェイスモジュール1000の納入前に、基盤システム160が納入対象インターフェイスモジュール1000を識別可能な固有のデバイス識別情報、納入先でネットワークに接続された納入対象インターフェイスモジュール1000を認証するためのデバイス認証情報、およびその他の必要な情報を納入対象インターフェイスモジュール1000に設定するサービスを提供する。
ネットワーク125は、プロビジョニングシステム120および端末130の間を有線または無線により接続する。ネットワーク125は、インターネット、ワイドエリアネットワーク、またはローカルエリアネットワーク等であってよく、携帯回線網を含んでもよい。
端末130は、納入対象インターフェイスモジュール1000のプロバイダが使用する端末であり、納入対象インターフェイスモジュール1000の設定装置として機能する。端末130は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。端末130は、プロビジョニングシステム120が提供するプロビジョニングサービスを利用するために用いられ、プロビジョニングシステム120により提供されるデバイス識別情報およびデバイス認証情報を納入対象インターフェイスモジュール1000の識別情報記憶領域104および認証情報記憶領域106に設定する。
プリンタ135は、有線または無線により端末130に接続され、端末130からの指示に応じてデバイス識別情報を含むコードを例えばシール等に印刷する。本実施形態において、印刷されたコードを含むコードラベル102は、納入対象インターフェイスモジュール1000に貼付される。
デバイスDB138は、プロビジョニングサービスの対象となる複数のインターフェイスモジュール1000に関するデバイス情報を記憶する。デバイスDB138が記憶するデバイス情報は、デバイス識別情報および認証情報生成部425により設定されるデバイス認証情報を含む。デバイス情報は、プロバイダ識別情報、シリアル番号、および、機種名等の機種識別情報等の端末130から受信するデバイス情報に含まれる各情報を任意で含んでもよい。また、デバイス情報は、プロビジョニングシステム140に対する納入対象インターフェイスモジュール1000のPKI(Public Key Infrastructure)認証、および納入対象インターフェイスモジュール1000と他の機器との間の暗号化通信に用いる納入対象インターフェイスモジュール1000の公開鍵等を含んでもよい。デバイスDB138はプロビジョニングシステム120およびプロビジョニングシステム140と通信可能であってよい。
プロビジョニングシステム140は、インターフェイスモジュール1000を簡単かつセキュアに基盤システム160に接続するプロビジョニングサービスを提供するサービス業者が有するコンピュータシステムである。プロビジョニングシステム140は、クラウドコンピューティングシステム等であってよく、1または複数のサーバコンピュータ等によって実現されるサーバコンピューティングシステムであってよい。本実施形態において、プロビジョニングシステム120によるサービスを提供するサービス業者(出荷プロビジョニングサービスのサービス業者)と、プロビジョニングシステム140によるサービスを提供するサービス業者(設置プロビジョニングサービスのサービス業者)とは、同一であり、インターフェイスモジュール1000のプロバイダとは異なる。これに代えて、これらのサービス業者とインターフェイスモジュール1000のプロバイダとは同一であってよく、出荷プロビジョニングサービスのサービス業者と設置プロビジョニングサービスのサービス業者とが異なってもよい。なお、本実施形態に係るプロビジョニングシステム140は、各々基盤システム160のサービスを購入して使用するテナントのそれぞれに対して、固有のテナント識別情報を設ける。
プロビジョニングシステム140は、納入対象インターフェイスモジュール1000を納入先で設定する設定者のアクティベーション要求を端末150から受けて、納入先でネットワーク145に接続された納入対象インターフェイスモジュール1000を、デバイス認証情報を用いて特定テナント用として認証する。そして、プロビジョニングシステム140は、正しく認証できたことを条件として、基盤システム160による提供サービスのうち特定テナントが利用する少なくとも1つのサービスにインターフェイスモジュール1000を登録し、基盤システム160に接続するための接続用鍵を納入対象インターフェイスモジュール1000に提供する。プロビジョニングシステム140が提供した接続用鍵は、ネットワークデバイス100内の接続用鍵記憶領域108に格納される。
ネットワーク145は、ネットワークデバイス100のインターフェイスモジュール1000、プロビジョニングシステム140、端末150、基盤システム160、および端末165の間を無線または有線により接続する。ネットワーク145は、インターネット、ワイドエリアネットワーク、またはローカルエリアネットワーク等であってよく、携帯回線網を含んでもよい。本図においてネットワーク125およびネットワーク145は、別のネットワークとしているが、これに代えて、ネットワーク125およびネットワーク145は同一のネットワークであってよい。
端末150は、納入対象インターフェイスモジュール1000の納入先で納入対象インターフェイスモジュール1000を設定する設定者が使用する端末である。この設定者は、一例としてネットワークデバイス100を使用するユーザ組織(テナント)に属するユーザまたは設置業者等の構成員である。本実施形態において端末150は一例としてスマートフォン、タブレット型コンピュータ、またはPC等である。端末150は、プロビジョニングシステム140が提供するプロビジョニングサービスを利用するために用いられ、納入対象インターフェイスモジュール1000のコードラベル102からデバイス識別情報等を取得して、納入対象インターフェイスモジュール1000のアクティベーションをプロビジョニングシステム140に要求する。
基盤システム160は、納入対象インターフェイスモジュール1000を含む複数のネットワークデバイス100を接続したネットワークシステムの構築サービス(ネットワークシステム構築サービス)を提供するサービス提供システムとして機能するコンピューティングシステムである。基盤システム160は、クラウドコンピューティングシステム等であってよく、1または複数のサーバコンピュータ等によって実現されるサーバコンピューティングシステムであってよい。基盤システム160を用いて構築されるネットワークシステムは、例えばIoTまたはIIoTシステム等のデバイスネットワークである。基盤システム160は、ネットワークシステムにおいて複数のネットワークデバイス100を制御するクラウドコンピュータ等として機能する。基盤システム160は、センサ等を搭載した1または複数のネットワークデバイス100からセンスデータを取得して、端末165を介してユーザまたは監視者等に情報を提示するインターフェイスを提供し、及び/又は、センスデータに応じて制御演算を行って、アクチュエータ等を搭載したネットワークデバイス100を制御する等の情報処理を行う。また、基盤システム160は、端末165を介してユーザ等がネットワークデバイス100からのデータやネットワークデバイス100に送信するデータの処理を行うアプリケーションを作成するアプリケーション環境を提供する。基盤システム160には、複数のテナントに共通に使用されるリソースが設けられ、仮想的にテナント毎に独立したサービスが提供されてよく、各テナントは互いのデータを許可なく利用することができなくてよい。
端末165は、複数のネットワークデバイス100を接続したネットワークシステムのユーザが使用する端末である。端末165は、端末130は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。端末165は、ネットワーク145を介して基盤システム160に接続され、基盤システム160が提供するネットワークシステム構築サービスを利用するために用いられる。
以上に示したデバイスプロビジョニング環境10によれば、アプリケーションモジュール1001に着脱可能に接続されるインターフェイスモジュール1000には、当該インターフェイスモジュール1000を特定テナント用として認証させるためのデバイス認証情報が格納される。従って、プロビジョニングシステム140によってインターフェイスモジュール1000が特定テナント用として認証されると、当該インターフェイスモジュール1000に接続されるアプリケーションモジュール1001も同じ特定テナント用として認証される。よって、ユーザはインターフェイスモジュール1000に対して任意のアプリケーションモジュール1001を装着することで、当該アプリケーションモジュール1001を特定テナント用として認証させ、基盤システム160によるサービス提供システムを完成させて当該特定テナントが契約したサービスの提供を受けることができる。また、任意のアプリケーションモジュール1001を使用することができるので、アプリケーションモジュール1001の開発が容易化される。また、インターフェイスモジュール1000に対して任意のアプリケーションモジュール1001を装着することで当該アプリケーションモジュール1001が特定テナント用として自動的に認証されるので、アプリケーションモジュール1001の交換が容易化される。また、基盤システム160によるサービス業者の側にとっては、インターフェイスモジュール1000およびアプリケーションモジュール1001の間を責任分界点として設定し、サービス提供システムの構築に当たりアプリケーションモジュール1001のプロバイダと折衝を行う必要がないので、サービス提供システムを容易に構築することができる。
また、プロビジョニングシステム120が提供するプロビジョニングサービスを利用して、出荷前に納入対象インターフェイスモジュール1000を基盤システム160に接続するためのデバイス識別情報等の設定を行い、プロビジョニングシステム140が提供するプロビジョニングサービスを利用して、設定者が端末150によって簡単に納入対象インターフェイスモジュール1000を設定できるようにする。これにより、デバイスプロビジョニング環境10は、インターフェイスモジュール1000、ひいてはネットワークデバイス100のプラグ・アンド・プレイまたはこれに近い利便性を提供することができる。また、出荷前にプロビジョニングシステム120がデバイス認証情報をインターフェイスモジュール1000に格納し、納入後にプロビジョニングシステム140がデバイス認証情報を用いてインターフェイスモジュール1000を認証することにより、納入対象インターフェイスモジュール1000とは異なるインターフェイスモジュール1000やネットワークデバイスが不正に基盤システム160に接続されてネットワークシステムのセキュリティが脅かされるのを防止することができる。
図2は、本実施形態に係るネットワークデバイス100の一例を示す。ネットワークデバイス100は、通信コネクタ10011および通信コネクタ10001によって着脱可能に接続されるアプリケーションモジュール1001およびインターフェイスモジュール1000を有する。
アプリケーションモジュール1001は、本実施形態では一例としてセンサモジュールであり、センサ220を備える。センサ220は、例えば温度センサ、湿度センサ、流速センサ、圧力センサ、電圧センサ、電流センサ等の物理量を測定するセンサである。アプリケーションモジュール1001は、2以上のセンサ220を備えてもよい。
これに代えて、アプリケーションモジュールは、他の機能を有するモジュールであってもよい。例えば、アプリケーションモジュール1001は、ファンやモータ等のアクチュエータを有するアクチュエータモジュールでもよい。また、アプリケーションモジュール1001は、リモートコントローラ、ランプ、および表示装置等の少なくとも1つを有するユーザインタフェイスモジュールでもよい。また、アプリケーションモジュール1001は、他の機器に接続される入力ポート、出力ポート、および入出力ポート(一例としてUSBポート)の少なくとも1つを有する中継モジュールでもよい。接続される他の機器は、設備内の状況や対象物を撮影するカメラやビデオ等の撮像機器、機器などに貼付されたバーコードまたは2次元コード(一例としてQRコード(登録商標))の読み取り機器、設備内の異音等を収集したり警報音等を発したりするマイクやスピーカ等の音響機器、および、各機器の位置情報を出力する位置検出機器などの少なくとも1つでよい。
なお、アプリケーションモジュール1001は、当該アプリケーションモジュール1001のデバイス情報を含む記憶部、時計機能を有する時計部、入出力を行うためのユーザインタフェース部、および、各機能部に電力供給を行う電源部の少なくとも1つをさらに備えてもよい。アプリケーションモジュール1001のデバイス情報は、一例としてプロバイダ識別情報、シリアル番号、機種名、機能コードなどであってよい。
インターフェイスモジュール1000は、コードラベル102と、設定記憶部110と、通信部230と、データ記憶部240と、アクセス制御部250と、ネットワークインターフェイス101とを備える。インターフェイスモジュール1000は、ネットワーク145に無線接続するアンテナ部(一例としてチップアンテナまたはパターンアンテナ)、時計機能を有する時計部、測位を行うGPS部、入出力を行うためのユーザインタフェース部、および、各機能部に電力供給を行う電源部の少なくとも1つをさらに備えてもよい。
コードラベル102は、インターフェイスモジュール1000の本体または付属品に貼付された、デバイス識別情報等をコーディングしたコードを示すラベルであり、インターフェイスモジュール1000のデバイス識別情報を端末150により取得可能に提供するデバイス識別情報提供部として機能する。このコードは、バーコードまたは2次元コード等であってよく、文字列等の端末150によって画像から読み取り可能な任意のコードであってもよい。これに代えて、インターフェイスモジュール1000は、端末150が近距離無線通信等により取得可能な形態、すなわち例えば非接触ICカード等の形態でデバイス識別情報等を保持してもよい。
設定記憶部110は、インターフェイスモジュール1000内の設定情報を記憶する。設定記憶部110は、識別情報記憶領域104と、プロビジョニングシステム宛先情報記憶領域114と、認証情報記憶領域106と、接続用鍵記憶領域108と、基盤システム宛先情報記憶領域116とを有する。識別情報記憶領域104は、プロビジョニングシステム120によって決定されるインターフェイスモジュール1000のデバイス識別情報がインターフェイスモジュール1000の納入前に格納される領域であり、デバイス識別情報記憶部として機能する。
プロビジョニングシステム宛先情報記憶領域114は、プロビジョニングシステム140の宛先情報、すなわち例えばプロビジョニングシステム140のURL等がインターフェイスモジュール1000の納入前に格納される領域であり、プロビジョニングシステム140用の宛先情報記憶部として機能する。
認証情報記憶領域106は、ネットワーク145に接続されたインターフェイスモジュール1000を基盤システム160の特定テナントの専用デバイスとして認証させるためのデバイス認証情報が格納される領域であり、認証情報記憶部として機能する。接続用鍵記憶領域108は、インターフェイスモジュール1000を基盤システム160に接続するための接続用鍵が格納される領域であり、接続用鍵記憶部として機能する。接続用鍵は、インターフェイスモジュール1000によりアプリケーションモジュール1001を上述の特定テナント用に使用させるための通信に用いられるものであり、インターフェイスモジュール1000毎に異なってもよい。基盤システム宛先情報記憶領域116は、基盤システム160の宛先情報格納される領域であり、基盤システム160用の宛先情報記憶部として機能する。設定記憶部110の記憶領域のうち、少なくとも認証情報記憶領域106および接続用鍵記憶領域108は、不正読出ができないセキュアな記憶領域であってよい。
通信部230は、アプリケーションモジュール1001と通信可能に接続されて、アプリケーションモジュール1001の機能に応じた通信を行う。例えば、通信部230は、センサモジュールであるアプリケーションモジュール1001に接続された場合に、そのセンサ220から信号を受信してセンスデータに変換する。一例として、通信部230は、センサ220から入力されるアナログ信号をデジタル信号に変換してセンスデータを得る。また、通信部230は、アクチュエータモジュールであるアプリケーションモジュール1001に接続された場合に、アクチュエータを駆動させる制御信号を送信する。制御信号はネットワークインターフェイス101を介して基盤システム160等から供給されてよい。また、通信部230は、中継モジュールであるアプリケーションモジュール1001に接続された場合に、アプリケーションモジュール1001に対する送受信の少なくとも一方を行う。データ記憶部240は、通信部230が受信したデータ、または、通信部230が送信するデータを記憶する。例えば、データ記憶部240は、センサ220から受信したセンスデータをバッファリングしてよい。
アクセス制御部250は、ネットワークインターフェイス101からの要求に応じて設定記憶部110およびデータ記憶部240内のデータをアクセスし、ネットワークインターフェイス101へと提供する。また、アクセス制御部250は、ネットワークインターフェイス101からの要求に応じて、設定記憶部110またはデータ記憶部240に各種のデータを書き込む、または設定記憶部110またはデータ記憶部240からデータを読み込む。
ネットワークインターフェイス101は、ネットワーク125およびネットワーク145等のネットワークに接続され、ネットワークを介して受信する要求等に応じて設定記憶部110またはデータ記憶部240をアクセスすることをアクセス制御部250に指示する。ネットワークインターフェイス101は、ネットワーク125およびネットワーク145等とアナログ通信およびデジタル通信の何れで接続してもよい。ネットワークインターフェイス101は、イーサネット(登録商標)等の通信回線、3G回線、4G回線、若しくはLTE回線等の携帯回線、またはLoRa等のIoT向け通信回線等に接続可能であってよい。
ネットワークインターフェイス101は、設定格納処理部162と、認証処理部164と、接続用鍵受信部166と、サービス接続処理部168とを有する。設定格納処理部162は、ネットワークデバイス100(またはインターフェイスモジュール1000)がその納入前に端末130に接続された状態において、端末130からデバイス識別情報、プロビジョニングシステム140の宛先情報、およびデバイス認証情報等の出荷前にインターフェイスモジュール1000に設定すべき情報を受信して識別情報記憶領域104、プロビジョニングシステム宛先情報記憶領域114、および認証情報記憶領域106等に格納する。認証処理部164は、インターフェイスモジュール1000がプロビジョニングシステム140に認証されていない状態でネットワーク145に接続されたことに応じて、インターフェイスモジュール1000の認証要求をプロビジョニングシステム140へと送信して、インターフェイスモジュール1000をプロビジョニングシステム140に認証させる。例えば、認証処理部164は、認証情報記憶領域106に記憶されたデバイス認証情報を用いてインターフェイスモジュール1000をプロビジョニングシステム140により認証させる。接続用鍵受信部166は、インターフェイスモジュール1000がプロビジョニングシステム140により認証されたことに応じてプロビジョニングシステム140から、基盤システム160にアクセスするための接続用鍵を受信して、接続用鍵記憶領域108に格納する。サービス接続処理部168は、接続用鍵記憶領域108に格納された接続用鍵を用いて、ネットワークシステム構築サービスを提供する基盤システム160に接続する。
以上に示したネットワークデバイス100によれば、ネットワークデバイス100(またはインターフェイスモジュール1000)の出荷前にプロビジョニングシステム120から提供されるデバイス認証情報をインターフェイスモジュール1000内の認証情報記憶領域106に格納し、格納したデバイス認証情報を用いてネットワークデバイス100(またはインターフェイスモジュール1000)の設置時にインターフェイスモジュール1000を基盤システム160に認証させることができる。したがって、インターフェイスモジュール1000、ひいてはネットワークデバイス100は、ユーザが発注してプロバイダにより設定された正規品である場合に限ってプロビジョニングシステム140および基盤システム160に接続可能となり、インターフェイスモジュール1000に付されたデバイス識別情報を盗んで別のインターフェイスモジュールやネットワークデバイスに設定する等した不正品はプロビジョニングシステム140および基盤システム160に接続できなくなる。
また、インターフェイスモジュール1000の識別情報が当該インターフェイスモジュール1000の本体または付属品から端末150により取得可能に提供されるので、端末150によるインターフェイスモジュール1000のアクティベーションを容易化することができる。
また、インターフェイスモジュール1000はそれぞれ固有のデバイス識別情報および接続用鍵を有するので、インターフェイスモジュール1000を交換する場合に交換後の新たなインターフェイスモジュール1000にアクティベーション(後述の図5、図7参照)を実行することにより、基盤システム160との通信の再開、ひいては基盤システム160による提供サービスの利用再開を容易に行うことができる。
図3は、本実施形態に係るネットワークデバイス100を示す分解斜視図である。ネットワークデバイス100のインターフェイスモジュール1000は、内部に各機能部を収容するケース10000を有し、アプリケーションモジュール1001は、内部に各機能部を収容するケース10010と、台座10015および取付用タップ10017とを有する。但し、台座10015および取付用タップ10017は必ずしもアプリケーションモジュール1001に具備されなくてもよい。
ケース10000,10010は、着脱可能に接続されて有線通信を可能とする通信コネクタ10001,10011を有する。また、ケース10000,10010は、着脱可能に接続されてインターフェイスモジュール1000およびアプリケーションモジュール1001の間で電力供給を可能とする電源コネクタ10002,10012を有する。電源コネクタ10002,10012を介した電力供給はインターフェイスモジュール1000およびアプリケーションモジュール1001の間で何れの方向に行われてもよい。なお、本実施形態では一例として通信コネクタ10001および電源コネクタ10002を同一のコネクタとし、通信コネクタ10011および電源コネクタ10012を同一のコネクタとしてそれぞれ図示しているが、これらを別々のコネクタとしてもよい。また、ケース10000,10010の少なくとも一方は、外部から電力供給を受けるための給電コネクタを更に有してもよい。
ケース10000,10010は互いに嵌合することでインターフェイスモジュール1000およびアプリケーションモジュール1001を接続する。本実施形態では一例として、ケース10010における端部(図中、上側の端部)の開口部10014にケース10000における端部(図中、下側の端部)の突起部10004が嵌合する。開口部10014の内周面,突起部10004の外周面にはそれぞれネジ山,ネジ溝が設けられてよい。これに加えて/代えて、開口部10014,突起部10004にはパッキンが設けられてもよい。ここで、本実施形態では一例として、インターフェイスモジュール1000およびアプリケーションモジュール1001を接続するとは、両者を電気的に接続することである。例えば、通信コネクタ10001,10011および電源コネクタ10002,10012はそれぞれケース10000,10010の接続面に設けられてよく、ケース10010,10000が互いに嵌合されることに応じて通信コネクタ10001,10011同士、電源コネクタ10002,10012同士がそれぞれ電気的に接続されてよい。これに加えて/代えて、インターフェイスモジュール1000およびアプリケーションモジュール1001を接続するとは、両者を物理的に接続することでもよい。この場合には、一例として、インターフェイスモジュール1000,アプリケーションモジュール1001のプロバイダやユーザは、コネクタ同士を電気的に接続してから、ケース10010,10000を互いに嵌合させることでアプリケーションモジュール1001およびインターフェイスモジュール1000を物理的に接続してよい。
ケース10000,10010は、互いとの接続面の外周の形状が同一でよい。例えば、図3ではケース10000,10010はそれぞれ円筒形であり、接続面の外周形状がそれぞれ円形となっている。なお、外周の形状が同一であるとは、外周の形状が実質的に同一であること、例えば外周の少なくとも一部において形状が異なることを含んでもよい。
ここで、図3のインターフェイスモジュール1000は、ケース10000の外面にコードラベル102を有する。コードラベル102はケース10000,10010同士を嵌合させた状態で外部から読み取り可能なように、ケース10000におけるケース10010との接続面とは異なる面に設けられてよい。また、アプリケーションモジュール1001は、インターフェイスモジュール1000を介さずにアプリケーションモジュール1001と直接的に通信を行うための入出力コネクタ10013をケース10010に有する。入出力コネクタ10013は一例としてUSBポートでよい。
台座10015は、アプリケーションモジュール1001のケース10010におけるケース10000とは反対側の面(図中、下側の面)に固定される。台座10015は、取付用タップ10017をケース10010に固定するための部材であり、一例として中央部にネジ穴部10016を有する。なお、台座10015はケース10010と一体的に設けられてもよい。
取付用タップ10017は中央部に柱状のネジ部10018を有しており、台座10015のネジ穴部10016にネジ部10018を螺合させることでケース10010に固定される。取付用タップ10017は、ケース10010、ひいてはネットワークデバイス100をその設置先に取り付けるための部材であり、台座10015とは反対側の面(図中、下側の面)に取付面10020を有する。取付面10020には、ケース10010を設置先に取り付けるためのマグネット10019が設けられる。これに代えて、取付面10020には、ケース10010を設置先に取り付けるためのネジを挿通させるネジ穴部が設けられてもよいし、両面テープが貼り付けられてもよい。
以上のネットワークデバイス100によれば、アプリケーションモジュール1001およびインターフェイスモジュール1000のケース同士を嵌合させることで両者が接続されるので、接続を容易化することができる。
また、ケース10000,10010の接続面の外周の形状が同一であるので、一方のケースの接続面が他方のケースの接続面よりも張り出すことがない。よって、一方のケースの接続面が引っ掛かることによってアプリケーションモジュール1001およびインターフェイスモジュール1000の間の通信に悪影響が生じるのを防止することができる。
また、アプリケーションモジュール1001におけるインターフェイスモジュール1000とは反対側の面に取付面10020が設けられるので、インターフェイスモジュール1000による通信に悪影響が生じないよう、ネットワークデバイス100を設置先に容易に取り付けることができる。
また、インターフェイスモジュール1000およびアプリケーションモジュール1001の間で電力供給が可能であるので、インターフェイスモジュール1000およびアプリケーションモジュール1001の一方を他方から給電されるようにして、小型化することができる。
また、マグネット10019が設けられた取付用タップ10017が台座10015を介してケース10000に固定されるので、取付用タップ10017がケース10000に直接固定される場合と比較して、マグネット10019の磁力によるネットワークデバイス100への影響を軽減することができる。
図4は、本実施形態に係るプロビジョニングシステム120および端末130の構成を示す。プロビジョニングシステム120は、設定者ログイン処理部410と、識別情報決定部415と、認証情報生成部425と、識別情報送信部435と、認証情報送信部440とを備える。
設定者ログイン処理部410は、納入対象インターフェイスモジュール1000の納入前に、納入対象インターフェイスモジュール1000を設定する設定者のログインを端末130から受け付ける。この設定者は、納入対象インターフェイスモジュール1000のプロバイダの社員等の納入対象インターフェイスモジュール1000を設定する者であってよく、設定者ログイン処理部410は、そのプロバイダに属するユーザのアカウントに対するログインを端末130から受け付ける。
識別情報決定部415は、納入対象インターフェイスモジュール1000の納入前に、設定者の指示に応じて端末130が取得した、納入対象インターフェイスモジュール1000に関するデバイス情報を受信して、デバイス識別情報を決定する。識別情報決定部415は、納入対象インターフェイスモジュール1000のデバイス情報にデバイス識別情報を追加してデバイスDB138に書き込むことにより、納入対象インターフェイスモジュール1000をデバイスDB138に登録する。
認証情報生成部425は、納入対象インターフェイスモジュール1000のデバイス情報がデバイスDB138に登録されたことに応じて、納入先で納入対象インターフェイスモジュール1000を認証するためのデバイス認証情報を生成する。認証情報生成部425は、生成したデバイス認証情報をデバイスDB138に書き込んで、納入対象インターフェイスモジュール1000のデバイス情報に追加する。
識別情報送信部435は、デバイスDB138から読み出したデバイス識別情報を納入対象端末130へと送信して、納入先で納入対象インターフェイスモジュール1000の本体または付属品からデバイス識別情報を取得可能に設定させる。識別情報送信部435は、読み出したデバイス識別情報をコーディングしてから納入対象端末130に送信してもよいし、コーディングを行わずに送信してもよい。本実施形態においては、デバイス識別情報はコーディングされた状態で端末130からプリンタ135に供給されて印刷され、設定者により納入対象インターフェイスモジュール1000の本体または付属品に貼付される。また、識別情報送信部435は、納入対象インターフェイスモジュール1000のデバイス識別情報、およびプロビジョニングシステム140の宛先情報を端末130へと送信し、納入対象インターフェイスモジュール1000内の識別情報記憶領域104、およびプロビジョニングシステム宛先情報記憶領域114へと書き込ませる。
認証情報送信部440は、デバイス認証情報を端末130へと送信して、納入対象インターフェイスモジュール1000の認証情報記憶領域106に記憶させる。また、認証情報送信部440は、基盤システム160の宛先情報を端末130へと送信して、納入対象インターフェイスモジュール1000の基盤システム宛先情報記憶領域116に記憶させる。
端末130は、ログイン処理部450と、デバイス情報取得部455と、デバイス情報送信部460と、識別情報受信部465と、識別情報設定部470と、認証情報受信部475と、認証情報設定部480とを備える。これらの機能は、端末130がプロビジョニングシステム120のプロビジョニングサービスに関するWebページの処理を行うことによって実現されてよい。
ログイン処理部450は、端末130を操作する設定者の指示に応じて、プロビジョニングシステム120へのログイン処理を行う。デバイス情報取得部455は、設定者のログイン中に、納入対象インターフェイスモジュール1000のデバイス情報を取得する。デバイス情報送信部460は、取得されたデバイス情報をプロビジョニングシステム120内の識別情報決定部415へと送信する。
識別情報受信部465は、プロビジョニングシステム120の識別情報送信部435からデバイス識別情報およびプロビジョニングシステム140の宛先情報を受信する。本実施形態に係る識別情報受信部465は、デバイス識別情報、およびプロビジョニングシステム140の宛先情報を受信する。
識別情報設定部470は、納入先で納入対象インターフェイスモジュール1000の本体または付属品からデバイス識別情報を取得可能となるように、納入対象インターフェイスモジュール1000にデバイス識別情報を設定する。本実施形態において、識別情報設定部470は、デバイス識別情報のコードを、プリンタ135によりラベル上に印刷させ、設定者によりコードラベル102を納入対象インターフェイスモジュール1000の本体に貼付させる。なお、プリンタ135は、コードラベル102を貼付可能に印刷する代わりに納入対象インターフェイスモジュール1000の本体にレーザーマーキング等で直接刻印してもよいし、インクジェット等で直接印字してもよい。識別情報受信部465が受信したデバイス識別情報がコーディングされていない場合には、識別情報設定部470がコーディングを行ってよい。また、識別情報設定部470は、デバイス識別情報、およびプロビジョニングシステム140の識別情報をプロビジョニングシステム120から受信して、納入対象インターフェイスモジュール1000内の識別情報記憶領域104、およびプロビジョニングシステム宛先情報記憶領域114に書き込む。
認証情報受信部475は、プロビジョニングシステム120からデバイス認証情報を受信する。認証情報設定部480は、受信したデバイス認証情報を、納入対象インターフェイスモジュール1000の認証情報記憶領域106に記憶させる。
図5は、本実施形態に係るプロビジョニングシステム120および端末130の処理フローを示す。なお、この動作中にインターフェイスモジュール1000はアプリケーションモジュール1001と接続されていてもよいし、接続されていなくてもよい。S510(ステップS510)において、端末130内のログイン処理部450は、設定者の指示に応じて、プロビジョニングシステム120へのアクセスを発行する。S515において、プロビジョニングシステム120内の設定者ログイン処理部410は、プロビジョニングシステム120からのアクセスに応じてログイン画面を端末130へと送信し、ログインを要求する。
S520において、端末130内のログイン処理部450は、設定者からログインIDおよびパスワードの入力を受けて、ログインIDおよびパスワードをプロビジョニングシステム120へと送信する。S525において、プロビジョニングシステム120内の設定者ログイン処理部410は、ログインIDおよびパスワードに基づくユーザ認証を行い、正しく認証されたことに応じてそのログインIDに対応するアカウントへのログインを行わせる。以後、S530からS580までの処理は、設定者のログイン中に行われる。
S530において、プロビジョニングシステム120は、納入対象インターフェイスモジュール1000のデバイス情報を入力するための画面を端末130へと送信して、デバイス情報の入力を要求する。これを受けて、端末130内のデバイス情報取得部455は、S535において、デバイス情報を入力するための画面に対する入力を受け付けて、納入対象インターフェイスモジュール1000のデバイス情報を取得する。デバイス情報取得部455は、納入対象インターフェイスモジュール1000との間で通信を行って納入対象インターフェイスモジュール1000からデバイス情報を取得してもよい。デバイス情報送信部460は、取得されたデバイス情報をプロビジョニングシステム120へと送信する。
S540において、プロビジョニングシステム120内の識別情報決定部415は、デバイス情報を受信して、デバイス識別情報を決定する。識別情報決定部415は、決定したデバイス識別情報等をデバイス情報送信部460から受信したデバイス情報に追加して、デバイスDB138に登録する。ネットワーク上でユニークに納入対象インターフェイスモジュール1000を識別可能とするために、識別情報決定部415は、納入対象インターフェイスモジュール1000のプロバイダに固有のプロバイダ識別情報および納入対象インターフェイスモジュール1000のシリアル番号等のデバイス情報に含まれる情報、および必要に応じてその他の納入対象インターフェイスモジュール1000を特定するのに十分な情報を組み合わせる等により、デバイス識別情報を決定してよい。
S545において、プロビジョニングシステム120内の認証情報生成部425は、納入対象インターフェイスモジュール1000のデバイス認証情報を生成して、デバイスDB138内のデバイス情報に追加する。一例として、認証情報生成部425は、デバイス認証情報として、納入対象インターフェイスモジュール1000のデバイス情報の少なくとも一部に対してプロビジョニングシステム120が電子署名をしたデジタル証明書を生成してもよい。一例として、認証情報生成部425は、納入対象インターフェイスモジュール1000をPKI認証によりプロビジョニングシステム140に認証させるためのデジタル証明書を生成してよい。
S555において、プロビジョニングシステム120内の識別情報送信部435は、デバイス識別情報を端末130へと送信する。ここで、識別情報送信部435は、納入対象インターフェイスモジュール1000のデバイス識別情報、およびプロビジョニングシステム140の宛先情報を、端末130へ送信する。
S560において、端末130内の識別情報受信部465は、S555において送信されたデバイス識別情報等を受信する。識別情報設定部470は、デバイス識別情報のコードをプリンタ135を用いて印刷し、設定者によりインターフェイスモジュール1000の本体等に貼付させる。また、識別情報設定部470は、納入対象インターフェイスモジュール1000のデバイス識別情報、およびプロビジョニングシステム140の宛先情報を、納入対象インターフェイスモジュール1000に設定する。
S570において、プロビジョニングシステム120内の認証情報送信部440は、納入対象インターフェイスモジュール1000のデバイス認証情報を送信する。ここで、認証情報送信部440は、デバイス認証情報を含むファイルを端末130へと送信してもよい。S580において、認証情報受信部475はデバイス認証情報を受信し、認証情報設定部480はデバイス認証情報を納入対象インターフェイスモジュール1000に設定する。
以上に示したプロビジョニングシステム120および端末130の動作によれば、端末130からプロビジョニングサービスへのログインおよびインタラクティブな作業を通じて、納入先で納入対象インターフェイスモジュール1000の本体または付属品から取得可能なデバイス識別情報と、納入先でネットワークに接続された納入対象インターフェイスモジュール1000を認証するためのデバイス認証情報とを設定することができる。これにより、納入対象インターフェイスモジュール1000は、納入後の設定処理において、簡単かつセキュアにプロビジョニングシステム140に接続することができる。
以上においては、プロビジョニングシステム120および端末130は、ログインおよびその後のインタラクティブな処理を通じて納入対象インターフェイスモジュール1000を設定する。これに代えて、端末130は、インタラクティブな処理無しに自動的にプロバイダ情報およびデバイス情報をプロビジョニングシステム120へと送信し、プロビジョニングシステム120から受信されるコードを印刷し、プロビジョニングシステム120から受信される納入対象インターフェイスモジュール1000のデバイス識別情報、およびプロビジョニングシステム140の宛先情報を納入対象インターフェイスモジュール1000へと書き込んでもよい。
図6は、本実施形態に係るプロビジョニングシステム140および端末150の構成を示す。プロビジョニングシステム140は、デバイス認証部620と、テナントログイン処理部625と、アカウント情報記憶部626と、テナント識別情報特定部627と、識別情報受信部630と、アクティベーション処理部635と、デバイス登録要求部640と、接続用鍵取得部645と、基盤宛先取得部650と、接続用鍵送信部655と、基盤宛先送信部660とを備える。
デバイス認証部620は、納入先でネットワーク125に接続された納入対象インターフェイスモジュール1000を、納入対象インターフェイスモジュール1000に記憶されたデバイス認証情報を用いて認証する。デバイス認証部620は、納入対象インターフェイスモジュール1000が正しく認証されたことに応じて、納入対象インターフェイスモジュール1000が認証済みであることを示す認証済情報をデバイス登録要求部640に送信する。
テナントログイン処理部625は、納入対象インターフェイスモジュール1000の納入先で、納入先のユーザ組織に属するユーザである設置者によって使用される端末150から、当該ユーザ組織に対応するテナントのログインを受け付ける。アカウント情報記憶部626は、基盤システム160によるサービスを使用するテナント毎に、テナントの識別情報と、テナントに属する各アカウントの情報(本実施形態では一例としてログインIDおよびパスワード)とを記憶する。テナント識別情報特定部627は、ログインされたテナントの識別情報を特定する。識別情報受信部630は、納入先で使用される端末150が納入対象インターフェイスモジュール1000の本体または付属品から取得したデバイス識別情報を受信する。アクティベーション処理部635は、納入対象インターフェイスモジュール1000のデバイス識別情報が受信されたことに応じて、受信されたデバイス識別情報が割り当てられた納入対象インターフェイスモジュール1000をアクティベーション(プロビジョニング)する処理を行う。
デバイス登録要求部640は、アクティベーション処理中である納入対象インターフェイスモジュール1000のデバイス情報を基盤システム160へと送信し、基盤システム160が提供するネットワークシステム構築サービスに納入対象インターフェイスモジュール1000を登録することを基盤システム160に要求する。接続用鍵取得部645は、ネットワークシステム構築サービスに接続するために納入対象インターフェイスモジュール1000が使用すべき接続用鍵を基盤システム160から取得して、接続用鍵送信部655に送信する。基盤宛先取得部650は、納入対象インターフェイスモジュール1000が基盤システム160に接続するために用いる基盤システム160の宛先情報を基盤システム160から取得して、基盤宛先送信部660に送信する。
接続用鍵送信部655は、納入対象インターフェイスモジュール1000が正しく認証されたことに応じて、接続用鍵取得部645が取得した接続用鍵を、納入対象インターフェイスモジュール1000に対して送信し、接続用鍵記憶領域108へと記憶させる。基盤宛先送信部660は、納入対象インターフェイスモジュール1000が正しく認証されたことに応じて、基盤宛先取得部650が取得した宛先情報を、納入対象インターフェイスモジュール1000に対して送信し、基盤システム宛先情報記憶領域116へと記憶させる。
端末150は、ログイン処理部670と、識別情報取得部675と、識別情報送信部680と、アクティベーション結果通知部685とを備える。ログイン処理部670は、納入対象インターフェイスモジュール1000の納入後に納入対象インターフェイスモジュール1000を設置する設置者の指示に応じて、プロビジョニングシステム140へのログイン処理を行う。
識別情報取得部675は、テナントのユーザ組織に属する設置者のログイン中に、納入対象インターフェイスモジュール1000の本体または付属品から、納入対象インターフェイスモジュール1000のデバイス識別情報を取得する。本実施形態において、識別情報取得部675は、設置者の操作を受けて、納入対象インターフェイスモジュール1000の本体に貼付されたコードラベル102を撮像し、撮像画像に含まれるコードを認識してコーディングされたデバイス識別情報を復元する。
識別情報送信部680は、識別情報取得部675が取得したデバイス識別情報を、プロビジョニングシステム140へと送信して、納入対象インターフェイスモジュール1000のアクティベーションを要求する。なお、プロビジョニングシステム140の宛先情報は予め識別情報送信部680に登録されていてよい。アクティベーション結果通知部685は、納入対象インターフェイスモジュール1000のアクティベーション結果をプロビジョニングシステム140から受信して、端末150を使用する設置者に通知する。
なお、本実施形態においては、プロビジョニングシステム120およびプロビジョニングシステム140が異なるコンピュータシステムである場合を例として示したが、プロビジョニングシステム120およびプロビジョニングシステム140は同一のコンピュータシステムで実現され、出荷プロビジョニングサービスおよび設置プロビジョニングサービスが同一のサービス業者によって提供されてもよい。このような構成においては、基本的には、図4のプロビジョニングシステム120および図6のプロビジョニングシステム140の各構成要素がプロビジョニングシステムに含まれてよい。
図7は、本実施形態に係る端末150、インターフェイスモジュール1000、プロビジョニングシステム140、および基盤システム160の処理フローを示す。
S715において、端末150内のログイン処理部670は、テナントのユーザ組織に属するユーザである設置者の指示に応じて、プロビジョニングシステム140へのアクセスを発行する。S720において、プロビジョニングシステム140のテナントログイン処理部625は、端末150からのアクセスに応じてログイン画面を端末150へと送信し、ログインを要求する。
S725において、端末150は、テナントのユーザ組織に属する設置者からログインIDおよびパスワードの入力を受けて、ログインIDおよびパスワードをプロビジョニングシステム140へと送信する。S730において、プロビジョニングシステム140内のテナントログイン処理部625は、ログインIDおよびパスワードに基づくユーザ認証を行い、正しく認証されたことに応じてアカウント情報記憶部626を参照し、そのログインIDに対応するアカウントの属するテナントの識別情報を特定し、当該テナントのログインを行わせる。以後、S735からS775までの処理はログイン中に行われる。
S735において、端末150内の識別情報取得部675は、納入対象インターフェイスモジュール1000のデバイス識別情報を取得する。本実施形態において、識別情報取得部675は、コードラベル102を撮像し、撮像画像に含まれるコードを認識してコーディングされたデバイス識別情報を復元する。端末150内の識別情報送信部680は、識別情報取得部675が取得したデバイス識別情報を、プロビジョニングシステム140へと送信して、納入対象インターフェイスモジュール1000のアクティベーションを要求する。納入対象インターフェイスモジュール1000のアクティベーションは、納入対象インターフェイスモジュール1000をS725でログインされた特定テナント用としてアクティベーションさせることであってよい。
S740において、プロビジョニングシステム140内の識別情報受信部630は、端末150から送信されたデバイス識別情報等を含むアクティベーション要求を受信する。プロビジョニングシステム140内のアクティベーション処理部635は、受信されたデバイス識別情報が割り当てられた納入対象インターフェイスモジュール1000をテナントのインターフェイスモジュール1000としてアクティベーションする処理を行う。本実施形態に係るアクティベーション処理部635は、当該デバイス識別情報に対応するデバイスDB138内のデバイス情報に、納入対象インターフェイスモジュール1000がアクティベーション処理中であることを示すステータス情報を追加して、プロビジョニングシステム140内でアクティベーション処理が進むようにする。アクティベーション処理部635は、端末150から受信したデバイス識別情報がデバイスDB138内のデバイス情報に含まれるデバイス識別情報と一致したことを条件として、納入対象インターフェイスモジュール1000のアクティベーションを開始してよい。デバイス登録要求部640は、アクティベーション処理中で基盤システム160から接続用鍵および基盤システム160の宛先情報を未取得である納入対象インターフェイスモジュール1000のデバイス情報をデバイスDB138から取得する。デバイス登録要求部640は、取得したデバイス情報を基盤システム160へと送信し、基盤システム160が提供するネットワークシステム構築サービスに納入対象インターフェイスモジュール1000を登録することを基盤システム160に要求する。また、デバイス登録要求部640は、ログインされているテナントのテナント識別情報を基盤システム160に送信する。
S742において、プロビジョニングシステム140から納入対象インターフェイスモジュール1000のデバイス登録要求を受けた基盤システム160は、納入対象インターフェイスモジュール1000のデバイス情報をテナント識別情報と対応付けて登録する。基盤システム160はデバイス情報が正常に登録されたことをプロビジョニングシステム140に通知してよい。
S744において、プロビジョニングシステム140内のアクティベーション処理部635は、S740(または、S740およびS742)の処理が正常終了したことに応じて、納入対象インターフェイスモジュール1000が正しくアクティベーションできたことを示すアクティベーション結果を端末150へと通知する。S746において、端末150内のアクティベーション結果通知部685は、納入対象インターフェイスモジュール1000のアクティベーション結果をプロビジョニングシステム140から受信して、端末150を使用する設置者に通知する。
S747において、納入対象インターフェイスモジュール1000は、ネットワーク145に接続されてパワーオンされ、初期化処理を行う。S747の処理は、インターフェイスモジュール1000にアプリケーションモジュール1001が接続された状態で行われてよい。この場合、インターフェイスモジュール1000のネットワークインターフェイス101がアプリケーションモジュール1001のデバイス情報を取得してよい。以後、S748〜S780までの処理はインターフェイスモジュール1000にアプリケーションモジュールが接続された状態で行われてよい。
S748において、納入対象インターフェイスモジュール1000は、プロビジョニングシステム140に対して、納入対象インターフェイスモジュール1000のデバイス認証を要求する。具体的には、納入対象インターフェイスモジュール1000内のネットワークインターフェイス101は、アクセス制御部250を介して設定記憶部110をアクセスして、プロビジョニングシステム宛先情報記憶領域114に記憶されたプロビジョニングシステム140の宛先情報、識別情報記憶領域104に記憶されたデバイス識別情報、および認証情報記憶領域106に記憶されたデバイス認証情報を参照し、デバイス識別情報およびデバイス認証情報を含むデバイス認証要求を、プロビジョニングシステム宛先情報記憶領域114から読み出された宛先情報で指定されるプロビジョニングシステム140へと送信する。これにより、インターフェイスモジュール1000がプロビジョニングシステム140に認証されていない状態でネットワークに接続されると、認証要求がプロビジョニングシステム140へと送信される。なお、S748においてネットワークインターフェイス101は、ステップS747で取得したアプリケーションモジュール1001のデバイス情報をプロビジョニングシステム140に供給してよい。
S750において、プロビジョニングシステム140内のデバイス認証部620は、納入対象インターフェイスモジュール1000からのデバイス認証要求を受信して、納入対象インターフェイスモジュール1000に記憶されたデバイス認証情報を用いて認証する。本実施形態に係るプロビジョニングシステム140は、デバイス認証情報を用いたPKI認証によって納入対象インターフェイスモジュール1000がプロビジョニングシステム120によって正しく出荷処理がされた正規品であるか否かをチェックする。納入対象インターフェイスモジュール1000が正しく認証されたことに応じて、デバイス認証部620は、認証済情報をデバイス登録要求部640に送信する。デバイス登録要求部640は、認証された納入対象インターフェイスモジュール1000のデバイス情報を認証情報と共に基盤システム160に通知してよい。また、プロビジョニングシステム140は、S748で受信したアプリケーションモジュール1001のデバイス情報を基盤システム160に供給し、S742で登録された納入対象インターフェイスモジュール1000のデバイス情報に対応付けて登録させてよい。
S754において、基盤システム160は、基盤システム160にデバイス情報が登録され、かつ、プロビジョニングシステム140により認証された納入対象インターフェイスモジュール1000に対し、基盤システム160が提供するネットワークシステム構築サービスに当該納入対象インターフェイスモジュール1000を接続するための接続用鍵を発行する。これにより、インターフェイスモジュール1000がプロビジョニングシステム140により認証されたことに応じて接続用鍵が発行される。S757において、基盤システム160は、納入対象インターフェイスモジュール1000が基盤システム160に接続するために用いる基盤システム160の宛先情報を発行する。なお、基盤システム160の構成および具体的な動作は、図8〜9を用いて後述する。
S755において、プロビジョニングシステム140内の接続用鍵取得部645は、基盤システム160により発行された接続用鍵を取得して、接続用鍵送信部655に送信する。S760において、プロビジョニングシステム140内の基盤宛先取得部650は、基盤システム160の宛先情報を基盤システム160から取得して、基盤宛先送信部660に送信する。
S765において、プロビジョニングシステム140内の接続用鍵送信部655は、接続用鍵取得部645が取得した接続用鍵を、納入対象インターフェイスモジュール1000に対して送信する。接続用鍵は、基盤システム160の複数のテナントのうちS725でログインされた特定のテナントの接続用であってよい。接続用鍵送信部655は、接続用鍵が納入対象インターフェイスモジュール1000以外の機器によって不正に取得されないように、納入対象インターフェイスモジュール1000の公開鍵によって接続用鍵を暗号化してから送信してよい。S770において、納入対象インターフェイスモジュール1000の接続用鍵受信部166は、プロビジョニングシステム140から送信された接続用鍵を受信し、アクセス制御部250によって設定記憶部110内の接続用鍵記憶領域108へと登録する。
S775において、プロビジョニングシステム140内の基盤宛先送信部660は、基盤宛先取得部650が取得した宛先情報を、納入対象インターフェイスモジュール1000に対して送信する。また、基盤宛先送信部660は、インターフェイスモジュール1000をS725で基盤システム160の複数のテナントのうちS725でログインされた特定のテナント用として認証させるための認証情報をインターフェイスモジュール1000に対して送信する。S780において、納入対象インターフェイスモジュール1000のサービス接続処理部168は、プロビジョニングシステム140から送信された宛先情報を受信し、アクセス制御部250によって設定記憶部110内の基盤システム宛先情報記憶領域116へと登録する。また、サービス接続処理部168は、インターフェイスモジュール1000を特定テナント用として認証させるための認証情報を認証情報記憶領域106に登録する。これにより、基盤システム160がインターフェイスモジュール1000を特定テナント用として認証することが可能となる。また、当該テナントがインターフェイスモジュール1000を用い、基盤システム160の提供サービスのうち当該テナントが契約する少なくとも1つのサービスを利用することが可能となる。なお、インターフェイスモジュール1000を特定テナント用として認証させるための認証情報の送信および登録は、S765およびS770において接続用鍵送信部655および接続用鍵受信部166により実行されてもよい。
以上に示したインターフェイスモジュール1000の動作によれば、インターフェイスモジュール1000がプロビジョニングシステム140に認証されていない状態でネットワークに接続されると認証要求がプロビジョニングシステム140へと送信されるので、インターフェイスモジュール1000を認証させるための操作を簡略化することができる。
また、インターフェイスモジュール1000がプロビジョニングシステム140により認証されたことに応じて、アプリケーションモジュール1001をプロビジョニングシステム140の特定テナント用に使用させるための通信に用いる接続用鍵が受信されて格納されるので、アプリケーションモジュール1001を使用するための通信を容易に確立することができる。
また、以上に示したプロビジョニングシステム140および端末150の動作によれば、納入前に納入対象インターフェイスモジュール1000に格納されたデバイス認証情報を用いて納入対象インターフェイスモジュール1000を認証し、出荷プロビジョニングサービスによって設定されたインターフェイスモジュール1000に対してセキュアに設置プロビジョニングサービスを提供することができる。
なお、上記の動作は他の処理順で行われてもよい。例えば、S715〜S746によるインターフェイスモジュール1000のアクティベーションの後に、S757〜S750によるインターフェイスモジュール1000の認証を行うことで接続用鍵が発行されることとして説明したが、S757〜S750によるインターフェイスモジュール1000の認証の後に、S715〜S746によるインターフェイスモジュール1000のアクティベーションを行うことで接続用鍵が発行されることとしてもよい。
また、上記の動作では納入対象インターフェイスモジュール1000がプロビジョニングシステム140に対して認証を要求する場合にアプリケーションモジュール1001のデバイス情報が読み出されて基盤システム160に供給されることとして説明したが、他のタイミングで供給されることとしてもよい。例えば、認証されたインターフェイスモジュール1000がパワーオンされるたびにネットワークインターフェイス101がアプリケーションモジュール1001のデバイス情報を取得して過去のデバイス情報と比較し、デバイス情報が変わっている場合に当該デバイス情報を基盤システム160に供給してもよい。
図8は、本実施形態に係る基盤システム160の構成を示す。基盤システム160は、デバイスネットワーク管理部800と、デバイス管理DB820と、デバイスルータ830と、1または複数のデータ変換器840と、データ記憶部850と、ユーザログイン処理部860と、アプリケーション処理部870とを備える。
デバイスネットワーク管理部800は、ネットワーク145を介してプロビジョニングシステム140および1または複数のネットワークデバイス100に接続され、1または複数のネットワークデバイス100を管理する。デバイスネットワーク管理部800は、基盤システム160からのデバイス登録要求を受けて、納入対象インターフェイスモジュール1000のデバイス情報を、当該納入対象インターフェイスモジュール1000を設置するユーザ組織に対応するテナントの識別情報と対応付けてデバイス管理DB820に格納する。これにより、インターフェイスモジュール1000に対して任意のアプリケーションモジュール1001が装着された場合に当該アプリケーションモジュール1001を特定テナント用として認識することが可能となるため、アプリケーションモジュール1001の交換が容易化される。デバイスネットワーク管理部800は、接続用鍵発行部805と、基盤宛先発行部810と、デバイスデータ受信部815とを有する。接続用鍵発行部805は、デバイス登録要求に応じて、新たに登録する納入対象インターフェイスモジュール1000が基盤システム160のネットワークシステム構築サービスに接続するための接続用鍵を発行し、プロビジョニングシステム140へと送信する。基盤宛先発行部810は、デバイス登録要求に応じて、新たに登録する納入対象インターフェイスモジュール1000が基盤システム160に接続するために用いる基盤システム160の宛先情報を発行し、プロビジョニングシステム140へと送信する。デバイスデータ受信部815は、登録が完了している1または複数のネットワークデバイス100におけるインターフェイスモジュール1000のそれぞれからセンスデータ等のネットワークシステムで使用するデータを受信し、デバイスルータ830へと供給する。
デバイス管理DB820は、デバイスネットワーク管理部800に接続され、プロビジョニングシステム140からデバイス登録要求を受けた各インターフェイスモジュール1000のデバイス情報と、当該インターフェイスモジュール1000に接続されているアプリケーションモジュール1001のデバイス情報とを対応付けて記憶する。デバイスルータ830は、基盤宛先発行部810に接続され、1または複数のネットワークデバイス100のインターフェイスモジュール1000それぞれから受信されたデータを、テナントのネットワークシステムで使用するデータ形式に変換すべく、1または複数のデータ変換器840のうち目的とするデータ変換を行うデータ変換器840へとルーティングする。1または複数のデータ変換器840のそれぞれは、デバイスルータ830に接続され、デバイスルータ830から受け取ったデータを目的とするデータ形式に変換して出力する。データ記憶部850は、1または複数のデータ変換器840に接続され、1または複数のデータ変換器840が出力する変換後のデータを格納する。本実施形態では一例として、デバイス管理DB820は、デバイスDB138とは別個のデータベースとして基盤システム160内に設けられるが、デバイスDB138と同一のデータベースとして基盤システム160の外部に設けられてもよい。
ユーザログイン処理部860は、ネットワーク145を介してテナントのユーザ組織に属するユーザ等が使用する端末165に接続され、テナントのアカウント等のログインを受け付ける。アプリケーション処理部870は、端末165およびデバイス管理DB820に接続され、ログインしたユーザ等が属するユーザ組織の1または複数のネットワークデバイス100からのデータを処理するアプリケーションの開発環境を提供する。また、アプリケーション処理部870は、開発されたアプリケーションを実行して、実行結果を端末165を介してユーザ組織のユーザ等に提供する。
図9は、本実施形態に係る基盤システム160の処理フローを示す。なお、この動作前にインターフェイスモジュール1000はアプリケーションモジュール1001と接続されてネットワークデバイス100を構成している。S900において、ユーザログイン処理部860は、テナントのユーザ組織に属するユーザ等が使用する端末165からのログインを受け付ける。ユーザログイン処理部860は、端末165から受け取ったログインIDおよびパスワードに基づくユーザ認証を行い、正しく認証されたことに応じてそのログインIDに対応するアカウント(本実施形態では一例としてテナントに属するアカウント)へのログインを行わせる。
S910において、アプリケーション処理部870は、基盤システム160を介してアプリケーションの開発環境を提供し、ユーザ組織のユーザがネットワークシステム用のアプリケーションを開発するのを支援する。例えば、アプリケーション処理部870は、アプリケーションで使用する各ネットワークデバイス100の選択、各ネットワークデバイス100からのデータを変換するために用いるデータ変換器840の選択、各ネットワークデバイス100からのデータに対する処理・制御演算を行うロジックの作成・記述、アプリケーションの処理結果を端末165に表示するためのウィジェット等の作成・選択、端末165の表示レイアウトの作成、および各種のテンプレートの選択等を行うことができる開発環境を提供する。
S920において、アプリケーション処理部870は、端末165を介してユーザからアプリケーションの実行指示を入力する。S930において、デバイスネットワーク管理部800は、複数のネットワークデバイス100のそれぞれからデータを取得する。例えば、デバイスネットワーク管理部800は、各ネットワークデバイス100のインターフェイスモジュール1000に対してデータの読出要求を予め指定された周期で送信して、各ネットワークデバイス100からデータを収集してよい。これに代えて、各ネットワークデバイス100は、予め定められた周期で基盤システム宛先情報記憶領域116に登録された基盤システム160の宛先へとデータを送信し、デバイスネットワーク管理部800は、各ネットワークデバイス100のインターフェイスモジュール1000から送信されたデータを受信してもよい。ここで、各ネットワークデバイス100のインターフェイスモジュール1000は、各インターフェイスモジュール1000が有する秘密鍵でデータを暗号化して基盤システム160へと送信し、デバイスネットワーク管理部800は、各インターフェイスモジュール1000からのデータを各インターフェイスモジュール1000の公開鍵で復号化して取得してよい。これにより、各インターフェイスモジュール1000が送信するセンスデータが傍受されるのを防ぐことができる。
S940において、デバイスルータ830は、各ネットワークデバイス100から受信したデータを、各ネットワークデバイス100に割り当てられたデータ変換器840へとルーティングする。S950において、ネットワークデバイス100からのデータを受け取ったデータ変換器840は、そのデータ変換器840に対応するデータ変換を行う。このようなデータ変換は、例えば、温度センサから取得された温度データ値を摂氏温度を表すデータ形式に変換すること、および、センサから取得されたセンスデータを平滑化/積分/微分等すること等のような、ネットワークデバイス100からのデータをアプリケーション処理部870が実行するアプリケーションで要求される任意のデータ形式に変換するものであってよい。データ変換器840は、変換されたデータがテナント識別情報ごとに格納されるようデータ格納先を割り振ってよい。例えば、ネットワークデバイス100からのデータには、当該データの送信元を示すべくデバイス識別情報が付加されてよく、データ変換器840は、デバイス識別情報に対応するテナント識別情報をデバイス管理DB820から抽出し、テナント毎に別々のデータ格納先を指定して、変換されたデータをデータ記憶部850に出力する。データ変換器840は、変換されたデータと共にデバイス識別情報を出力してもよい。
S960において、データ変換器840によって変換されたデータをデータ記憶部850に記憶する。データ記憶部850は、ネットワークデバイス100毎に、変換されたデータを時系列データとして記憶してもよい。デバイス識別情報がデータ変換器840から出力された場合には、データ記憶部850は、当該識別情報をデータに対応付けて記憶してもよい。S970において、アプリケーション処理部870は、実行中のアプリケーションに実装されたアルゴリズム等にしたがって、データ記憶部850に記憶されたデータを用いたアプリケーション処理を行う。アプリケーション処理部870は、特定のネットワークデバイス100のデータを用いる場合には、そのデバイス識別情報に対応するデータを読み出す。例えば、アプリケーション処理部870は、指定されたネットワークデバイス100のデバイス識別情報に対応するテナント識別情報をデバイス管理DB820から抽出し、当該テナント識別情報のテナントに対応付けられたデータ格納先からデータを読み出してよい。
S980において、アプリケーション処理部870は、アプリケーションの処理結果を表示する表示画面を端末165へと出力し、端末165により処理結果を端末165のユーザへと表示させる。アプリケーションの内容によっては、アプリケーション処理部870は、時間の経過に応じて変化していく各ネットワークデバイス100からのデータに応じて、継続的に端末165への表示画面を更新していく。
以上に示した基盤システム160の動作によれば、プロビジョニングシステム120およびプロビジョニングシステム140によるプロビジョニングサービスを用いてセキュアに設置された納入対象インターフェイスモジュール1000に対してネットワークシステム構築サービスに接続するための接続用鍵を配布する。これにより、基盤システム160は、不正なネットワークデバイス100がネットワークシステム構築サービスに接続するのを防ぐことができ、セキュアなアプリケーション開発・実行環境を提供することができる。
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図10は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インターフェイス2222、ハードディスクドライブ2224、DVD−ROMドライブ2226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ2240を介して入/出力コントローラ2220に接続されている。
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。
通信インターフェイス2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD−ROMドライブ2226は、プログラムまたはデータをDVD−ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、および/またはコンピュータ2200のハードウェアに依存するプログラムを格納する。入/出力チップ2240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ2220に接続してよい。
プログラムが、DVD−ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス2222に対し、通信処理を命令してよい。通信インターフェイス2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD−ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
また、CPU2212は、ハードディスクドライブ2224、DVD−ROMドライブ2226(DVD−ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。