以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係るデバイスプロビジョニング環境10を示す。本実施形態において、デバイスプロビジョニング環境10は、ネットワークデバイス100に対して出荷前の設定をするプロビジョニングシステム120と、ネットワークデバイス100に対して設置時の設定をするプロビジョニングシステム140とを備え、クラウドコンピュータまたはフォグコンピュータ等(以下「クラウドコンピュータ等」と示す。)である基盤システム160にネットワークデバイス100を簡単かつセキュアに接続可能とする。
デバイスプロビジョニング環境10は、ネットワークデバイス100に対して出荷前の設定・準備をするためのプロビジョニングシステム120、ネットワーク125、端末130、およびプリンタ135と、ユーザへと届けられたネットワークデバイス100に対して設置時の設定をするためのプロビジョニングシステム140および端末150と、1または複数のネットワークデバイス100の監視・制御等を行うクラウドコンピューティングシステムまたはフォグコンピューティングシステム(以下「クラウドコンピューティングシステム等」と示す。)を構築するための基盤システム160および端末165とを備える。
ネットワークデバイス100は、インターネット、ワイドエリアネットワーク、ローカルエリアネットワーク及び携帯回線網等のいずれかのネットワーク145に接続可能なフィールド機器若しくはセンサ等、または、このような機器とネットワーク145との間に設けられるゲートウェイ若しくはハブ等である。ネットワークデバイス100は、ネットワーク145に接続可能なインターフェイスモジュールと、当該インターフェイスモジュールに交換可能に接続されるアプリケーションモジュールとを含んで構成されてもよい。アプリケーションモジュールは、例えばセンサモジュール、アクチュエータモジュール、入出力を行う中継モジュールなどでよい。ネットワークデバイス100は、プロビジョニングシステム120により提供される、納入対象ネットワークデバイス100に固有のデバイス識別情報を含むコードを印刷したコードラベル102と、デバイス識別情報を記憶するための識別情報記憶領域104と、プロビジョニングシステム120により提供される、納入先でネットワーク145に接続された納入対象ネットワークデバイス100を認証するためのデバイス認証情報を記憶するための認証情報記憶領域106と、納入対象ネットワークデバイス100が基盤システム160に接続するための暗号鍵を記憶するための暗号鍵記憶領域108とを備える。
プロビジョニングシステム120は、納入先でネットワーク125に接続される納入対象ネットワークデバイス100の納入前に、納入対象ネットワークデバイス100を予め設定しておくことにより、納入対象ネットワークデバイス100を簡単かつセキュアに基盤システム160に接続可能とするプロビジョニングサービスを提供するためのコンピュータシステムである。プロビジョニングシステム120は、このプロビジョニングサービスを提供するサービス業者によって運用される。プロビジョニングシステム120は、クラウドコンピューティングシステム等であってよく、1または複数のサーバコンピュータ等によって実現されてよい。本実施形態において、このサービス業者は、ネットワークデバイス100の製造者または販売者等のプロバイダ(またはベンダ)とは別である。これに代えて、このサービス業者は、ネットワークデバイス100のプロバイダと同一であってもよい。また、このサービス業者は、基盤システム160によるサービスを提供するサービス業者と同一であってもよく、異なっていてもよい。なお、本実施形態に係る基盤システム160は、複数のプロバイダが各々製造・販売するネットワークデバイス100についてプロビジョニングサービスを提供するべく、各々のプロバイダに対して固有のアカウントを設ける。
プロビジョニングシステム120は、納入先でネットワーク145に接続される納入対象のネットワークデバイス100のプロバイダの端末130からの要求に応じて、納入対象ネットワークデバイス100の納入前に、基盤システム160が納入対象ネットワークデバイス100を識別可能な固有のデバイス識別情報、納入先でネットワークに接続された納入対象ネットワークデバイス100を認証するためのデバイス認証情報、およびその他の必要な情報を納入対象ネットワークデバイス100に設定するサービスを提供する。
ネットワーク125は、プロビジョニングシステム120および端末130の間を有線または無線により接続する。ネットワーク125は、インターネット、ワイドエリアネットワーク、またはローカルエリアネットワーク等であってよく、携帯回線網を含んでもよい。
端末130は、納入対象ネットワークデバイス100のプロバイダが使用する端末であり、納入対象ネットワークデバイス100の設定装置として機能する。端末130は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。端末130は、プロビジョニングシステム120が提供するプロビジョニングサービスを利用するために用いられ、プロビジョニングシステム120により提供されるデバイス識別情報およびデバイス認証情報を納入対象ネットワークデバイス100の識別情報記憶領域104および認証情報記憶領域106に設定する。
プリンタ135は、有線または無線により端末130に接続され、端末130からの指示に応じてデバイス識別情報を含むコードを例えばシール等に印刷する。本実施形態において、印刷されたコードを含むコードラベル102は、納入対象ネットワークデバイス100に貼付される。
プロビジョニングシステム140は、ネットワークデバイス100を簡単かつセキュアに基盤システム160に接続するプロビジョニングサービスを提供するサービス業者が有するコンピュータシステムである。プロビジョニングシステム140は、クラウドコンピューティングシステム等であってよく、1または複数のサーバコンピュータ等によって実現されてよい。本実施形態において、プロビジョニングシステム120によるサービスを提供するサービス業者(出荷プロビジョニングサービスのサービス業者)と、プロビジョニングシステム140によるサービスを提供するサービス業者(設置プロビジョニングサービスのサービス業者)とは、同一であり、ネットワークデバイス100のプロバイダとは異なる。これに代えて、これらのサービス業者とネットワークデバイス100のプロバイダとは同一であってよく、出荷プロビジョニングサービスのサービス業者と設置プロビジョニングサービスのサービス業者とが異なってもよい。なお、本実施形態に係るプロビジョニングシステム140は、各々ネットワークデバイス100を購入して使用する複数のテナント(企業、企業内の部署、その他のグループ)のそれぞれに対して、固有のアカウントを設ける。
プロビジョニングシステム140は、納入対象ネットワークデバイス100を納入先で設定する設定者のアクティベーション要求を端末150から受けて、納入先でネットワーク145に接続された納入対象ネットワークデバイス100を、デバイス認証情報を用いて認証する。そして、プロビジョニングシステム140は、正しく認証できたことを条件として、基盤システム160が提供するサービスにネットワークデバイス100を登録し、基盤システム160に接続するための暗号鍵を納入対象ネットワークデバイス100に提供する。プロビジョニングシステム140が提供した暗号鍵は、ネットワークデバイス100内の暗号鍵記憶領域108に格納される。
ネットワーク145は、ネットワークデバイス100、プロビジョニングシステム140、端末150、基盤システム160、および端末165の間を無線または有線により接続する。ネットワーク145は、インターネット、ワイドエリアネットワーク、またはローカルエリアネットワーク等であってよく、携帯回線網を含んでもよい。本図においてネットワーク125およびネットワーク145は、別のネットワークとしているが、これに代えて、ネットワーク125およびネットワーク145は同一のネットワークであってよい。
端末150は、納入対象ネットワークデバイス100の納入先で納入対象ネットワークデバイス100を設定する設定者が使用する端末である。この設定者は、一例としてネットワークデバイス100を使用するテナントまたは設置業者等の構成員である。本実施形態において端末150は一例としてスマートフォン、タブレット型コンピュータ、またはPC等である。端末150は、プロビジョニングシステム140が提供するプロビジョニングサービスを利用するために用いられ、納入対象ネットワークデバイス100のコードラベル102からデバイス識別情報等を取得して、納入対象ネットワークデバイス100のアクティベーションをプロビジョニングシステム140に要求する。
基盤システム160(ファンデーションシステム160)は、納入対象ネットワークデバイス100を含む複数のネットワークデバイス100を接続したネットワークシステムを管理する。本実施形態では一例として、基盤システム160は、ネットワークシステムの構築サービスを提供するサービス提供システムとして機能するコンピューティングシステムである。基盤システム160は、クラウドコンピューティングシステム等であってよく、1または複数のサーバコンピュータ等によって実現されてよい。基盤システム160を用いて構築されるネットワークシステムは、例えばIoTまたはIIoTシステム等のデバイスネットワークである。基盤システム160は、ネットワークシステムにおいて複数のネットワークデバイス100を制御するクラウドコンピュータ等として機能する。基盤システム160は、センサ等を搭載した1または複数のネットワークデバイス100からセンスデータを取得して、端末165を介してユーザまたは監視者等に情報を提示するインターフェイスを提供し、これに加えて、または、これに代えて、センスデータに応じて制御演算を行って、アクチュエータ等を搭載したネットワークデバイス100を制御する等の情報処理を行う。なお、本実施形態に係る基盤システム160は、各々ネットワークデバイス100を購入して使用する複数のテナント(のそれぞれ)に対して、固有のアカウントを設ける。
端末165は、複数のネットワークデバイス100を接続したネットワークシステムのユーザが使用する端末である。端末165は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。端末165は、ネットワーク145を介して基盤システム160に接続され、基盤システム160が提供するネットワークシステム構築サービスを利用するために用いられる。
以上に示したデバイスプロビジョニング環境10によれば、プロビジョニングシステム120が提供するプロビジョニングサービスを利用して、出荷前に納入対象ネットワークデバイス100を基盤システム160に接続するためのデバイス識別情報等の設定を行い、プロビジョニングシステム140が提供するプロビジョニングサービスを利用して、設定者が端末150によって簡単に納入対象ネットワークデバイス100を設定できるようにする。これにより、デバイスプロビジョニング環境10は、ネットワークデバイス100のプラグ・アンド・プレイまたはこれに近い利便性を提供することができる。また、出荷前にプロビジョニングシステム120がデバイス認証情報をネットワークデバイス100に格納し、納入後にプロビジョニングシステム140がデバイス認証情報を用いてネットワークデバイス100を認証することにより、納入対象ネットワークデバイス100とは異なるネットワークデバイスが不正に基盤システム160に接続されてネットワークシステムのセキュリティが脅かされるのを防止することができる。
図2は、本実施形態に係るネットワークデバイス100の一例であるセンサ装置200を示す。センサ装置200は、コードラベル102と、設定記憶部210と、センサ220と、センスデータ取得部230と、センスデータ記憶部240と、アクセス制御部250と、ネットワークインターフェイス260とを備える。コードラベル102は、ネットワークデバイス100の本体または付属品上に貼付された、デバイス識別情報等をコーディングしたコードを示すラベルであり、センサ装置200のデバイス識別情報を端末150が取得可能に提供するデバイス識別情報提供部として機能する。このコードは、バーコードまたは2次元コード(QRコード(登録商標))等であってよく、文字列等の端末150によって画像から読み取り可能な任意のコードであってもよい。これに代えて、センサ装置200は、端末150が近距離無線通信等により取得可能な形態、すなわち例えば非接触ICカード等の形態でデバイス識別情報等を保持してもよい。
設定記憶部210は、センサ装置200内の設定情報を記憶する。センサ装置200は、識別情報記憶領域104と、パスコード記憶領域212と、宛先情報記憶領域214と、認証情報記憶領域106と、暗号鍵記憶領域108と、宛先情報記憶領域216とを有する。識別情報記憶領域104は、プロビジョニングシステム120によって決定されるセンサ装置200のデバイス識別情報をセンサ装置200の納入前に格納するための領域であり、デバイス識別情報記憶部として機能する。
パスコード記憶領域212は、端末150がプロビジョニングシステム140に対してセンサ装置200のアクティベーション処理を要求するときに用いるパスコードをセンサ装置200の納入前に格納するための領域であり、パスコード記憶部として機能する。なお、本実施形態に係るセンサ装置200等のネットワークデバイス100は、デバイス識別情報に加えてパスコードを用いてアクティベーションされるが、これに代えて、センサ装置200等は、パスコード記憶領域212を有さずパスコードを用いずにアクティベーションされるようにしてもよい。宛先情報記憶領域214は、プロビジョニングシステム140の宛先情報、すなわち例えばプロビジョニングシステム140のURL等をセンサ装置200の納入前に格納するための領域であり、プロビジョニングシステム140用の宛先情報記憶部として機能する。
認証情報記憶領域106は、プロビジョニングシステム140によりセンサ装置200を認証させるために用いるデバイス認証情報をセンサ装置200の納入前に格納するための領域であり、デバイス認証情報記憶部として機能する。暗号鍵記憶領域108は、センサ装置200を基盤システム160に接続するための暗号鍵を格納するための領域であり、暗号鍵記憶部として機能する。宛先情報記憶領域216は、基盤システム160の宛先情報を格納するための領域であり、基盤システム160用の宛先情報記憶部として機能する。設定記憶部210の記憶領域のうち、少なくとも認証情報記憶領域106および暗号鍵記憶領域108は、不正読出ができないセキュアな記憶領域であってよい。
センサ220は、例えば温度センサ、湿度センサ、流速センサ、圧力センサ、電圧センサ、電流センサ等の物理量を測定するセンサである。センサ装置200は、2以上のセンサ220を備えてもよい。
センスデータ取得部230は、センサ220からの信号をセンスデータに変換する。例えば、センスデータ取得部230は、センサ220から入力されるアナログ信号をデジタル信号に変換してセンスデータを得る。センスデータ記憶部240は、センスデータを記憶する。センスデータ記憶部240に記憶されるセンスデータには、当該センスデータの測定された時刻が含まれてよく、この場合、センサ装置200には計時を行う計時部(図示せず)が具備されてよい。アクセス制御部250は、ネットワークインターフェイス260からの要求に応じて設定記憶部210およびセンスデータ記憶部240内のデータをアクセスし、ネットワークインターフェイス260へと提供する。また、アクセス制御部250は、ネットワークインターフェイス260からの要求に応じて、設定記憶部210に各種の設定データを書き込む。
ネットワークインターフェイス260は、ネットワーク125およびネットワーク145等のネットワークに接続され、ネットワークを介して受信する要求等に応じて設定記憶部210またはセンスデータ記憶部240をアクセスすることをアクセス制御部250に指示する。ネットワークインターフェイス260は、イーサネット(登録商標)等の通信回線、3G回線、4G回線、若しくはLTE回線等の携帯回線、またはLoRa等のIoT向け通信回線等に接続可能であってよい。
ネットワークインターフェイス260は、設定格納処理部262と、デバイス認証処理部264と、暗号鍵受信部266と、サービス接続処理部268とを有する。設定格納処理部262は、センサ装置200の納入前にセンサ装置200が端末130に接続された状態において、端末130からデバイス識別情報、パスコード、プロビジョニングシステム140の宛先情報、およびデバイス認証情報等の出荷前にセンサ装置200に設定すべき情報を受信して識別情報記憶領域104、パスコード記憶領域212、宛先情報記憶領域214、および認証情報記憶領域106等に格納する。デバイス認証処理部264は、センサ装置200がネットワーク145に接続されたことに応じて、認証情報記憶領域106に記憶されたデバイス認証情報を用いて、センサ装置200をプロビジョニングシステム140により認証させる。暗号鍵受信部266は、センサ装置200を認証したプロビジョニングシステム140から、基盤システム160が提供するネットワークシステム構築サービスにアクセスするための暗号鍵を受信して、暗号鍵記憶領域108に格納する。サービス接続処理部268は、暗号鍵記憶領域108に格納された暗号鍵を用いて、ネットワークシステム構築サービスを提供する基盤システム160に接続する。
以上に示したセンサ装置200によれば、センサ装置200の出荷前にプロビジョニングシステム120から提供されるデバイス認証情報をセンサ装置200内の認証情報記憶領域106に格納し、格納したデバイス認証情報を用いてセンサ装置200の設置時にセンサ装置200を基盤システム160に認証させることができる。したがって、センサ装置200は、ユーザが発注してプロバイダにより設定された正規品である場合に限ってプロビジョニングシステム140および基盤システム160に接続可能となり、センサ装置200に付されたデバイス識別情報を盗んで別のネットワークデバイスに設定する等した不正品はプロビジョニングシステム140および基盤システム160に接続できなくなる。
図3は、本実施形態に係るネットワークデバイス100の一例であるセンサゲートウェイ装置300を示す。センサゲートウェイ装置300は、コードラベル102と、設定記憶部210と、有線センサ接続部320と、無線センサ接続部330と、センスデータ記憶部340と、アクセス制御部250と、ネットワークインターフェイス260とを備える。本図に示した各部材のうち、図2と同じ符号を付した部材は図2と同様の機能・構成をとるので、以下相違点を除き説明を省略する。
有線センサ接続部320は、ローカルエリアネットワーク、およびUSB等を用いる有線接続により1または複数のセンサ装置に接続され、センサ装置との間で通信を行う。無線センサ接続部330は、LoRa、携帯回線、無線LAN、またはBluetooth(登録商標)等の無線接続によりセンサ装置等と接続され、1または複数のセンサ装置との間で通信を行う。
センスデータ記憶部340は、有線センサ接続部320および無線センサ接続部330に接続される1または複数のセンサからのセンスデータを記憶する。アクセス制御部250は、ネットワークインターフェイス260からの要求に応じて設定記憶部210およびセンスデータ記憶部340内のデータをアクセスし、ネットワークインターフェイス260へと提供する。また、アクセス制御部250は、ネットワークインターフェイス260からの要求に応じて、設定記憶部210に各種の設定データを書き込む。
なお、ネットワークデバイス100は、アクチュエータ等の制御対象を有するフィールド機器を接続可能であってもよい。このようなネットワークデバイス100は、ネットワークインターフェイス260が制御対象を制御するための制御データを受信し、アクセス制御部250が制御データをメモリ等の制御データ記憶部に格納し、有線センサ接続部320または無線センサ接続部330が制御データをフィールド機器へと送信する構成をとりうる。
図4は、本実施形態に係るプロビジョニングシステム120および端末130の構成を示す。プロビジョニングシステム120は、設定者ログイン処理部410と、識別情報決定部415と、デバイスDB420と、認証情報生成部425と、コード生成部430と、識別情報送信部435と、認証情報送信部440と、デバイス登録送信部445とを備える。
設定者ログイン処理部410は、納入対象ネットワークデバイス100の納入前に、納入対象ネットワークデバイス100を設定する設定者のログインを端末130から受け付ける。この設定者は、納入対象ネットワークデバイス100のプロバイダの社員等の納入対象ネットワークデバイス100を設定する者であってよく、設定者ログイン処理部410は、そのプロバイダのアカウントに対するログインを端末130から受け付ける。
識別情報決定部415は、納入対象ネットワークデバイス100の納入前に、設定者の指示に応じて端末130が取得した、納入対象ネットワークデバイス100に関するデバイス情報を受信して、デバイス識別情報を決定する。識別情報決定部415は、納入対象ネットワークデバイス100のデバイス情報にデバイス識別情報を追加してデバイスDB420に書き込むことにより、納入対象ネットワークデバイス100をデバイスDB420に登録する。ここで識別情報決定部415は、納入対象ネットワークデバイス100に設定するパスコードを乱数等により決定し、デバイス情報に追加してデバイスDB420に書き込む。
デバイスDB420は、プロビジョニングサービスの対象となる複数のネットワークデバイス100に関するデバイス情報を記憶する。デバイスDB420が記憶するデバイス情報は、デバイス識別情報および認証情報生成部425により設定されるデバイス認証情報を含む。デバイス情報は、プロバイダ識別情報、シリアル番号、機種名等の機種識別情報、およびテナント識別情報等の端末130から受信するデバイス情報に含まれる各情報を任意で含んでもよく、納入対象ネットワークデバイス100に設定されるべきパスコード、プロビジョニングシステム140の宛先情報、および基盤システム160の宛先情報を含んでもよい。また、デバイス情報は、プロビジョニングシステム140に対する納入対象ネットワークデバイス100のPKI(Public−Key Infrastructure)認証、および納入対象ネットワークデバイス100と他の機器との間の暗号化通信に用いる納入対象ネットワークデバイス100の公開鍵等を含んでもよい。
認証情報生成部425は、納入対象ネットワークデバイス100のデバイス情報がデバイスDB420に登録されたことに応じて、納入先で納入対象ネットワークデバイス100を認証するためのデバイス認証情報を生成する。認証情報生成部425は、生成したデバイス認証情報をデバイスDB420に書き込んで、納入対象ネットワークデバイス100のデバイス情報に追加する。
コード生成部430は、デバイス識別情報をコーディングした、納入対象ネットワークデバイス100の本体または付属品上に貼付、印刷、および刻印の少なくとも1つで設けられるべきコードを生成する。本実施形態において、コード生成部430は、デバイス識別情報に加えて、パスコードおよびプロビジョニングシステム140の宛先情報を更にコーディングしたコードを生成する。
識別情報送信部435は、デバイス識別情報を納入対象端末130へと送信して、納入先で納入対象ネットワークデバイス100の本体または付属品からデバイス識別情報を取得可能に設定させる。本実施形態においては、識別情報送信部435は、コード生成部430が生成したコードを端末130へと送信して端末130によりプリンタ135へと印刷させて、設定者により納入対象ネットワークデバイス100の本体または付属品に貼付させる。なお、コードは納入対象ネットワークデバイス100の本体または付属品に対し、貼付、印刷、および刻印の少なくとも一つで設けられればよく、一例として、一部が印刷により設けられ、残りの部分が刻印により設けられてもよい。また、識別情報送信部435は、納入対象ネットワークデバイス100のデバイス識別情報、パスコード、およびプロビジョニングシステム140の宛先情報を端末130へと送信し、納入対象ネットワークデバイス100内の識別情報記憶領域104、パスコード記憶領域212、および宛先情報記憶領域214へと書き込ませる。
認証情報送信部440は、デバイス認証情報を端末130へと送信して、納入対象ネットワークデバイス100の認証情報記憶領域106に記憶させる。また、認証情報送信部440は、基盤システム160の宛先情報を端末130へと送信して、納入対象ネットワークデバイス100の宛先情報記憶領域216に記憶させる。
デバイス登録送信部445は、デバイスDB420に登録されたデバイス情報をプロビジョニングシステム140へと送信する。
端末130は、ログイン処理部450と、デバイス情報取得部455と、デバイス情報送信部460と、識別情報受信部465と、識別情報設定部470と、認証情報受信部475と、認証情報設定部480とを備える。これらの機能は、端末130がプロビジョニングシステム120のプロビジョニングサービスに関するWebページの処理を行うことによって実現されてよい。
ログイン処理部450は、端末130を操作する設定者の指示に応じて、プロビジョニングシステム120へのログイン処理を行う。デバイス情報取得部455は、設定者のログイン中に、納入対象ネットワークデバイス100のデバイス情報を取得する。デバイス情報送信部460は、取得されたデバイス情報をプロビジョニングシステム120内の識別情報決定部415へと送信する。
識別情報受信部465は、プロビジョニングシステム120の識別情報送信部435からデバイス識別情報を受信する。本実施形態に係る識別情報受信部465は、プロビジョニングシステム120内のコード生成部430が生成したコードと、デバイス識別情報、パスコード、およびプロビジョニングシステム140の識別情報とを受信する。
識別情報設定部470は、納入先で納入対象ネットワークデバイス100の本体または付属品からデバイス識別情報を取得可能となるように、納入対象ネットワークデバイス100にデバイス識別情報を設定する。本実施形態において、識別情報設定部470は、識別情報受信部465が受信したコードを、プリンタ135によりラベル上に印刷させ、設定者によりコードラベル102を納入対象ネットワークデバイス100の本体に貼付させる。また、識別情報設定部470は、デバイス識別情報、パスコード、およびプロビジョニングシステム140の識別情報をプロビジョニングシステム120から受信して、納入対象ネットワークデバイス100内の識別情報記憶領域104、パスコード記憶領域212、および宛先情報記憶領域214に書き込む。
認証情報受信部475は、プロビジョニングシステム120からデバイス認証情報を受信する。認証情報設定部480は、受信したデバイス認証情報を、納入対象ネットワークデバイス100の認証情報記憶領域106に記憶させる。
図5は、本実施形態に係るプロビジョニングシステム120および端末130の処理フローを示す。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は、納入対象ネットワークデバイス100のデバイス情報を入力するための画面を端末130へと送信して、デバイス情報の入力を要求する。これを受けて、端末130内のデバイス情報取得部455は、S535において、デバイス情報を入力するための画面に対する入力を受け付けて、納入対象ネットワークデバイス100のデバイス情報を取得する。デバイス情報取得部455は、納入対象ネットワークデバイス100との間で通信を行って納入対象ネットワークデバイス100からデバイス情報を取得してもよい。デバイス情報送信部460は、取得されたデバイス情報をプロビジョニングシステム120へと送信する。
S540において、プロビジョニングシステム120内の識別情報決定部415は、デバイス情報を受信して、デバイス識別情報を決定する。また、識別情報決定部415は、納入対象ネットワークデバイス100のパスコードを更に決定してもよい。識別情報決定部415は、決定したデバイス識別情報等をデバイス情報送信部460から受信したデバイス情報に追加して、デバイスDB420に登録する。ネットワーク上でユニークに納入対象ネットワークデバイス100を識別可能とするために、識別情報決定部415は、納入対象ネットワークデバイス100のプロバイダに固有のプロバイダ識別情報および納入対象ネットワークデバイス100のシリアル番号等のデバイス情報に含まれる情報、および必要に応じてその他の納入対象ネットワークデバイス100を特定するのに十分な情報を組み合わせる等により、デバイス識別情報を決定してよい。
S545において、プロビジョニングシステム120内の認証情報生成部425は、納入対象ネットワークデバイス100のデバイス認証情報を生成して、デバイスDB420内のデバイス情報に追加する。一例として、認証情報生成部425は、デバイス認証情報として、納入対象ネットワークデバイス100のデバイス情報の少なくとも一部に対してプロビジョニングシステム120が電子署名をしたデジタル証明書を生成してもよい。一例として、認証情報生成部425は、納入対象ネットワークデバイス100をPKI認証によりプロビジョニングシステム140に認証させるためのデジタル証明書を生成してよい。S550において、コード生成部430は、デバイス識別情報、パスコード、およびプロビジョニングシステム140の宛先情報を含む情報をコーディングしたコードを生成する。
S555において、プロビジョニングシステム120内の識別情報送信部435は、デバイス識別情報を端末130へと送信する。ここで、識別情報送信部435は、S550において生成されたコードと、納入対象ネットワークデバイス100のデバイス識別情報、パスコード、およびプロビジョニングシステム140の宛先情報とを、端末130へ送信する。
S560において、端末130内の識別情報受信部465は、S555において送信されたデバイス識別情報等を受信する。識別情報設定部470は、S550において生成されたコードをプリンタ135を用いて印刷し、設定者によりネットワークデバイス100の本体等に貼付させる。また、識別情報設定部470は、納入対象ネットワークデバイス100のデバイス識別情報、パスコード、およびプロビジョニングシステム140の宛先情報を、納入対象ネットワークデバイス100に設定する。
S570において、プロビジョニングシステム120内の認証情報送信部440は、納入対象ネットワークデバイス100のデバイス認証情報を送信する。ここで、認証情報送信部440は、デバイス認証情報を含むファイルを端末130へと送信してもよい。S580において、認証情報受信部475はデバイス認証情報を受信し、認証情報設定部480はデバイス認証情報を納入対象ネットワークデバイス100に設定する。S585において、デバイス登録送信部445は、デバイスDB420に登録されたネットワークデバイス100のデバイス情報をプロビジョニングシステム140へと送信する。
以上に示したプロビジョニングシステム120および端末130によれば、端末130からプロビジョニングサービスへのログインおよびインタラクティブな作業を通じて、納入先で納入対象ネットワークデバイス100の本体または付属品から取得可能なデバイス識別情報と、納入先でネットワークに接続された納入対象ネットワークデバイス100を認証するためのデバイス認証情報とを設定することができる。これにより、納入対象ネットワークデバイス100は、納入後の設定処理において、簡単かつセキュアにプロビジョニングシステム140に接続することができる。
以上においては、プロビジョニングシステム120および端末130は、ログインおよびその後のインタラクティブな処理を通じて納入対象ネットワークデバイス100を設定する。これに代えて、端末130は、インタラクティブな処理無しに自動的にプロバイダ情報およびデバイス情報をプロビジョニングシステム120へと送信し、プロビジョニングシステム120から受信されるコードを印刷し、プロビジョニングシステム120から受信される納入対象ネットワークデバイス100のデバイス識別情報、パスコード、およびプロビジョニングシステム140の宛先情報を納入対象ネットワークデバイス100へと書き込んでもよい。
図6は、本実施形態に係るプロビジョニングシステム140および端末150の構成を示す。プロビジョニングシステム140は、デバイス登録受信部610と、デバイスDB615と、デバイス認証部620と、テナントログイン処理部625と、識別情報受信部630と、アクティベーション処理部635と、デバイス登録要求部640と、暗号鍵取得部645と、基盤宛先取得部650と、暗号鍵送信部655と、基盤宛先送信部660とを備える。
デバイス登録受信部610は、プロビジョニングシステム120内のデバイス登録送信部445によって送信されたデバイス情報を受信して、デバイスDB615に登録する。デバイスDB615は、プロビジョニングサービスの対象となる複数のネットワークデバイス100に関するデバイス情報を記憶する。デバイスDB615が記憶するデバイス情報は、デバイスDB420が記憶するデバイス情報に加え、納入対象ネットワークデバイス100が基盤システム160に接続するための暗号鍵、および納入対象ネットワークデバイス100が接続すべき基盤システム160の宛先情報を含んでよい。ネットワークデバイス100がセンサ装置200である場合には、デバイスDB615に記憶されるデバイス情報は、センサ装置200が出力するセンスデータを識別するためのセンスデータ識別情報をさらに含んでよい。センスデータ識別情報は、センサ装置200の設置位置および測定物理量に固有の識別情報でよく、例えば測定物理量と、その識別番号との組み合わせで示されてよい。一例としてセンスデータが第1の処理工程を行う設備内の2番目のベルトコンベアの温度に関するものである場合には、センスデータ識別情報は「Temp1」のように示されてよい。これに代えて、センスデータ識別情報は、設置位置および測定物理量との組み合わせで階層的に示されてもよく、一例として「製造工程(1)−ベルトコンベア(2)−温度」のように示されてもよい。
デバイス認証部620は、納入先でネットワーク125に接続された納入対象ネットワークデバイス100を、納入対象ネットワークデバイス100に記憶されたデバイス認証情報を用いて認証する。デバイス認証部620は、納入対象ネットワークデバイス100が正しく認証されたことに応じて、納入対象ネットワークデバイス100が認証済みであることを示す認証済情報をデバイスDB615内のデバイス情報に追加する。
テナントログイン処理部625は、納入対象ネットワークデバイス100の納入先で、納入先のテナントのユーザである設置者によって使用される端末150から、テナントのログインを受け付ける。識別情報受信部630は、納入先で使用される端末150が納入対象ネットワークデバイス100の本体または付属品から取得したデバイス識別情報およびパスコードを受信する。アクティベーション処理部635は、納入対象ネットワークデバイス100のデバイス識別情報が受信されたことに応じて、受信されたデバイス識別情報が割り当てられた納入対象ネットワークデバイス100をアクティベーションする処理を行う。
デバイス登録要求部640は、アクティベーション処理中である納入対象ネットワークデバイス100のデバイス情報を基盤システム160へと送信し、基盤システム160が提供するネットワークシステム構築サービスに納入対象ネットワークデバイス100を登録することを基盤システム160に要求する。暗号鍵取得部645は、ネットワークシステム構築サービスに接続するために納入対象ネットワークデバイス100が使用すべき暗号鍵を基盤システム160から取得して、デバイスDB615内における納入対象ネットワークデバイス100のデバイス情報に追加する。基盤宛先取得部650は、納入対象ネットワークデバイス100が基盤システム160に接続するために用いる基盤システム160の宛先情報を基盤システム160から取得して、デバイスDB615内における納入対象ネットワークデバイス100のデバイス情報に追加する。
暗号鍵送信部655は、納入対象ネットワークデバイス100が正しく認証されたことに応じて、暗号鍵取得部645が取得した暗号鍵を、納入対象ネットワークデバイス100に対して送信し、暗号鍵記憶領域108へと記憶させる。基盤宛先送信部660は、納入対象ネットワークデバイス100が正しく認証されたことに応じて、基盤宛先取得部650が取得した宛先情報を、納入対象ネットワークデバイス100に対して送信し、宛先情報記憶領域216へと記憶させる。
端末150は、ログイン処理部670と、識別情報取得部675と、識別情報送信部680と、アクティベーション結果通知部685とを備える。ログイン処理部670は、納入対象ネットワークデバイス100の納入後に納入対象ネットワークデバイス100を設置する設置者の指示に応じて、プロビジョニングシステム140へのログイン処理を行う。
識別情報取得部675は、テナントの設置者のログイン中に、納入対象ネットワークデバイス100の本体または付属品から、納入対象ネットワークデバイス100のデバイス識別情報を取得する。本実施形態において、識別情報取得部675は、設置者の操作を受けて、納入対象ネットワークデバイス100の本体に貼付されたコードラベル102を撮像し、撮像画像に含まれるコードを認識してコーディングされたデバイス識別情報、パスコード、およびプロビジョニングシステム140の宛先情報を復元する。
識別情報送信部680は、識別情報取得部675が取得したデバイス識別情報およびパスコードを、識別情報取得部675が取得した宛先情報によって指定されるプロビジョニングシステム140へと送信して、納入対象ネットワークデバイス100のアクティベーションを要求する。アクティベーション結果通知部685は、納入対象ネットワークデバイス100のアクティベーション結果をプロビジョニングシステム140から受信して、端末150を使用する設置者に通知する。
なお、本実施形態においては、プロビジョニングシステム120およびプロビジョニングシステム140が異なるコンピュータシステムである場合を例として示したが、プロビジョニングシステム120およびプロビジョニングシステム140は同一のコンピュータシステムで実現され、出荷プロビジョニングサービスおよび設置プロビジョニングサービスが同一のサービス業者によって提供されてもよい。このような構成においては、基本的には、図4のプロビジョニングシステム120および図6のプロビジョニングシステム140の各構成要素がプロビジョニングシステムに含まれてよい。この場合、プロビジョニングシステム120内のデバイスDB420とプロビジョニングシステム140内のデバイスDB615とが共通化されてよく、デバイス登録送信部445およびデバイス登録受信部610は設けられなくてもよい。
図7は、本実施形態に係る端末150、ネットワークデバイス100、プロビジョニングシステム140、および基盤システム160の処理フローを示す。S705において、プロビジョニングシステム140内のデバイス登録受信部610は、プロビジョニングシステム120内のデバイス登録送信部445からデバイス情報を受信して、デバイスDB615に登録する。
S715において、プロビジョニングシステム140のテナントログイン処理部625は、テナントのユーザである設置者の指示に応じて、プロビジョニングシステム140へのアクセスを発行する。S720において、端末150内のログイン処理部670は、端末150からのアクセスに応じてログイン画面を端末150へと送信し、ログインを要求する。
S725において、端末150は、設置者からログインIDおよびパスワードの入力を受けて、ログインIDおよびパスワードをプロビジョニングシステム140へと送信する。S730において、基盤システム160内のテナントログイン処理部625は、ログインIDおよびパスワードに基づくユーザ認証を行い、正しく認証されたことに応じてそのログインIDに対応するテナントのアカウントへのログインを行わせる。以後、S735からS775までの処理は、テナントの設置者のログイン中に行われる。
S735において、端末150内の識別情報取得部675は、納入対象ネットワークデバイス100のデバイス識別情報を取得する。本実施形態において、識別情報取得部675は、コードラベル102を撮像し、撮像画像に含まれるコードを認識してコーディングされたデバイス識別情報、パスコード、およびプロビジョニングシステム140の宛先情報を復元する。端末150内の識別情報送信部680は、識別情報取得部675が取得したデバイス識別情報およびパスコードを、識別情報取得部675が取得した宛先情報によって指定されるプロビジョニングシステム140へと送信して、納入対象ネットワークデバイス100のアクティベーションを要求する。なお、納入対象ネットワークデバイス100がセンサ装置200である場合には、識別情報取得部675はセンサ装置200の設置者の操作に基づいてセンサ装置200の設置位置および測定物理量を取得してセンスデータ識別情報を生成してよく、識別情報送信部680は当該センスデータ識別情報もプロビジョニングシステム140に送信してよい。
S740において、プロビジョニングシステム140内の識別情報受信部630は、端末150から送信されたデバイス識別情報等を含むアクティベーション要求を受信する。プロビジョニングシステム140内のアクティベーション処理部635は、受信されたデバイス識別情報が割り当てられた納入対象ネットワークデバイス100をテナントのネットワークデバイス100としてアクティベーションする処理を行う。本実施形態に係るアクティベーション処理部635は、当該デバイス識別情報に対応するデバイスDB615内のデバイス情報に、納入対象ネットワークデバイス100がアクティベーション処理中であることを示すステータス情報を追加して、プロビジョニングシステム140内でアクティベーション処理が進むようにする。納入対象ネットワークデバイス100がセンサ装置200である場合には、アクティベーション処理部635は、当該センサ装置200が出力するセンスデータを識別するためのセンスデータ識別情報を、デバイスDB615内のデバイス情報に追加してよい。アクティベーション処理部635は、端末150から受信したデバイス識別情報およびパスコードがデバイスDB615内のデバイス情報に含まれるデバイス識別情報およびパスコードと一致したことを条件として、納入対象ネットワークデバイス100のアクティベーションを開始してよい。デバイス登録要求部640は、アクティベーション処理中で基盤システム160から暗号鍵および基盤システム160の宛先情報を未取得である納入対象ネットワークデバイス100のデバイス情報をデバイスDB615から取得する。デバイス登録要求部640は、取得したデバイス情報等を基盤システム160へと送信し、基盤システム160が提供するネットワークシステム構築サービスに納入対象ネットワークデバイス100を登録することを基盤システム160に要求する。
S742において、プロビジョニングシステム140から納入対象ネットワークデバイス100のデバイス登録要求を受けた基盤システム160は、納入対象ネットワークデバイス100のデバイス情報を登録する。一例として、納入対象ネットワークデバイス100がセンサ装置200である場合には、基盤システム160は、当該センサ装置200について取得したセンスデータ識別情報と、当該センサ装置200のデバイス識別情報とを対応付けて記憶する。また、基盤システム160は、センサ装置200により出力されるセンスデータの格納領域に対応付けてセンスデータ識別情報を記憶する。基盤システム160はデバイス情報が正常に登録されたことをプロビジョニングシステム140に通知してよい。
S744において、プロビジョニングシステム140内のアクティベーション処理部635は、S740(または、S740およびS742)の処理が正常終了したことに応じて、納入対象ネットワークデバイス100が正しくアクティベーションできたことを示すアクティベーション結果を端末150へと通知する。S790において、端末150内のアクティベーション結果通知部685は、納入対象ネットワークデバイス100のアクティベーション結果をプロビジョニングシステム140から受信して、端末150を使用する設置者に通知する。
S747において、納入対象ネットワークデバイス100は、ネットワーク145に接続されてパワーオンされ、初期化処理を行う。S748において、納入対象ネットワークデバイス100は、プロビジョニングシステム140に対して、納入対象ネットワークデバイス100のデバイス認証を要求する。具体的には、納入対象ネットワークデバイス100内のネットワークインターフェイス260は、アクセス制御部250を介して設定記憶部210をアクセスして、宛先情報記憶領域214に記憶されたプロビジョニングシステム140の宛先情報、識別情報記憶領域104に記憶されたデバイス識別情報、パスコード記憶領域212に記憶されたパスコード、および認証情報記憶領域106に記憶されたデバイス認証情報を読み出す。ネットワークインターフェイス260は、読み出したデバイス識別情報、パスコード、およびデバイス認証情報を含むデバイス認証要求を、宛先情報記憶領域214から読み出された宛先情報で指定されるプロビジョニングシステム140へと送信する。
S750において、プロビジョニングシステム140内のデバイス認証部620は、納入対象ネットワークデバイス100からのデバイス認証要求を受信して、納入対象ネットワークデバイス100に記憶されたデバイス認証情報を用いて認証する。本実施形態に係るプロビジョニングシステム140は、デバイス認証情報を用いたPKI認証によって納入対象ネットワークデバイス100がプロビジョニングシステム120によって正しく出荷処理がされた正規品であるか否かをチェックする。納入対象ネットワークデバイス100が正しく認証されたことに応じて、デバイス認証部620は、認証済情報を、デバイスDB615内における納入対象ネットワークデバイス100のデバイス情報に追加する。プロビジョニングシステム140は、認証済み情報がデバイスDB615に追加されたデバイス情報を基盤システム160に通知してよい。
S754において、基盤システム160は、基盤システム160にデバイス情報が登録され、かつ、プロビジョニングシステム140により認証された納入対象ネットワークデバイス100に対し、基盤システム160が提供するネットワークシステム構築サービスに当該納入対象ネットワークデバイス100を接続するための暗号鍵を発行する。S757において、基盤システム160は、納入対象ネットワークデバイス100が基盤システム160に接続するために用いる基盤システム160の宛先情報を発行する。なお、基盤システム160の構成および具体的な動作は、図8〜9を用いて後述する。
S755において、プロビジョニングシステム140内の暗号鍵取得部645は、基盤システム160により発行された暗号鍵を取得して、デバイスDB615内のデバイス情報に追加する。S760において、プロビジョニングシステム140内の基盤宛先取得部650は、基盤システム160の宛先情報を基盤システム160から取得して、デバイスDB615内のデバイス情報に追加する。
S765において、プロビジョニングシステム140内の暗号鍵送信部655は、暗号鍵取得部645が取得した暗号鍵を、納入対象ネットワークデバイス100に対して送信する。暗号鍵送信部655は、暗号鍵が納入対象ネットワークデバイス100以外の機器によって不正に取得されないように、納入対象ネットワークデバイス100の公開鍵によって暗号鍵を暗号化してから送信してよい。S770において、納入対象ネットワークデバイス100の暗号鍵受信部266は、プロビジョニングシステム140から送信された暗号鍵を受信し、アクセス制御部250によって設定記憶部210内の暗号鍵記憶領域108へと登録する。
S775において、プロビジョニングシステム140内の基盤宛先送信部660は、基盤宛先取得部650が取得した宛先情報を、納入対象ネットワークデバイス100に対して送信する。S780において、納入対象ネットワークデバイス100のサービス接続処理部268は、プロビジョニングシステム140から送信された宛先情報を受信し、アクセス制御部250によって設定記憶部210内の宛先情報記憶領域216へと登録する。
以上に示したプロビジョニングシステム140および端末150によれば、納入前に納入対象ネットワークデバイス100に格納されたデバイス認証情報を用いて納入対象ネットワークデバイス100を認証し、出荷プロビジョニングサービスによって設定されたネットワークデバイス100に対してセキュアに設置プロビジョニングサービスを提供することができる。また、プロビジョニングシステム140および端末150によれば、端末150が納入対象ネットワークデバイス100の本体または付属品からデバイス識別情報等を取得してプロビジョニングシステム140へと提供することにより、簡単に納入対象ネットワークデバイス100のアクティベーションを進めることができる。
なお、上記の動作は他の処理順で行われてもよい。例えば、S715〜S746によるネットワークデバイス100のアクティベーションの後に、S757〜S750によるネットワークデバイス100の認証を行うことで暗号鍵が発行されることとして説明したが、S757〜S750によるネットワークデバイス100の認証の後に、S715〜S746によるネットワークデバイス100のアクティベーションを行うことで暗号鍵が発行されることとしてもよい。
図8は、本実施形態に係る基盤システム160の構成を示す。基盤システム160は、デバイスネットワーク管理部800と、デバイス管理DB820と、デバイスルータ830と、1または複数のデータ変換器840と、データ記憶部850と、ユーザログイン処理部860と、アプリケーション処理部870と、交換処理部880と、ゲートウェイ設定部890とを備える。
デバイスネットワーク管理部800は、ネットワーク145を介してプロビジョニングシステム140および1または複数のネットワークデバイス100(一例としてセンサ装置200およびセンサゲートウェイ装置300)に接続され、1または複数のネットワークデバイス100を管理する。デバイスネットワーク管理部800は、基盤システム160からのデバイス登録要求を受けて、納入対象ネットワークデバイス100のデバイス情報をデバイス管理DB820に格納する。デバイスネットワーク管理部800は、暗号鍵発行部805と、基盤宛先発行部810とを有する。暗号鍵発行部805は、デバイス登録要求に応じて、新たに登録する納入対象ネットワークデバイス100が基盤システム160のネットワークシステム構築サービスに接続するための暗号鍵を発行し、プロビジョニングシステム140へと送信する。基盤宛先発行部810は、デバイス登録要求に応じて、新たに登録する納入対象ネットワークデバイス100が基盤システム160に接続するために用いる基盤システム160の宛先情報を発行し、プロビジョニングシステム140へと送信する。また、デバイスネットワーク管理部800は、登録が完了している1または複数のネットワークデバイス100のそれぞれからセンスデータ等のネットワークシステムで使用するデータを受信し、デバイスルータ830へと供給する。
デバイス管理DB820は、各ネットワークデバイス100のデバイス情報を記憶するデータベースであり、デバイス情報記憶部(デバイス情報記憶領域)として機能する。デバイス管理DB820は、複数のセンサ装置200のそれぞれに対応付けて、各センサ装置200が出力するセンスデータを識別するためのセンスデータ識別情報を記憶する。デバイス管理DB820は、各センサ装置200について、当該センサ装置200のデバイス識別情報と、当該センサ装置200の状態を示す状態情報とをさらに記憶してもよい。一例として、センサ装置200の状態情報は、センサ装置200がアクティブおよび非アクティブのいずれであるかを示してよい。デバイス管理DB820は、デバイスネットワーク管理部800に接続され、プロビジョニングシステム140からデバイス登録要求を受けたネットワークデバイス100それぞれについて、デバイス情報を記憶してよい。
デバイスルータ830は、基盤宛先発行部810に接続され、1または複数のネットワークデバイス100のそれぞれから受信されたデータを、テナントのネットワークシステムで使用するデータ形式に変換すべく、1または複数のデータ変換器840のうち目的とするデータ変換を行うデータ変換器840へとルーティングする。1または複数のデータ変換器840のそれぞれは、デバイスルータ830に接続され、デバイスルータ830から受け取ったデータを目的とするデータ形式に変換して出力する。一例として、データ変換器840は、同じ物理量のセンスデータ間で単位や桁数を揃えて各センスデータを正規化してよい。
データ記憶部850は、データ記憶領域の一例であり、複数のセンサ装置200のそれぞれから受信されるセンスデータを、デバイス管理DB820内で各センサ装置200に対応付けられたセンスデータ識別情報に対応付けて記憶する。本実施形態では一例として、データ記憶部850は、1または複数のデータ変換器840に接続され、1または複数のデータ変換器840が出力する変換後のデータを格納する。
ユーザログイン処理部860は、ネットワーク145を介してテナントのユーザ等が使用する端末165に接続され、テナントのユーザ等からのログインを受け付ける。アプリケーション処理部870は、端末165およびデバイス管理DB820に接続され、ログインしたユーザ等が属するテナントの1または複数のネットワークデバイス100からのデータを処理するアプリケーションの開発環境を提供する。また、アプリケーション処理部870は、開発されたアプリケーションを実行して、実行結果を端末165を介してテナントのユーザ等に提供する。
交換処理部880は、センサ装置200が交換された場合に、交換前後のセンサ装置200に関する設定処理を行う。例えば、交換処理部880は、複数のセンサ装置200のうち一のセンサ装置(第1センサ装置とも称する)200が他のセンサ装置(第2センサ装置とも称する)200に交換されることに応じ、デバイス管理DB820内で第1センサ装置200に対応付けられたセンスデータ識別情報(第1センスデータ識別情報とも称する)を第2センサ装置200に対応付けるセンスデータ識別情報とする。一例として、交換処理部880は、交換元の第1センサ装置200の第1デバイス識別情報に対応付けられた第1センスデータ識別情報を、交換先の第2センサ装置200の第2デバイス識別情報に対応付けてデバイス管理DB820に格納する。
交換処理部880は、デバイス識別情報取得部881、状態取得部882およびデバイス特定部883を有する。
デバイス識別情報取得部881は、第1センサ装置200および第2センサ装置200のデバイス識別情報の組を取得する。デバイス識別情報取得部881は、第1デバイス識別情報および第2デバイス識別情報をそれぞれプロビジョニングシステム140、端末150および端末165の何れから取得してもよい。一例として、デバイス識別情報取得部881は、端末150が第1センサ装置200および第2センサ装置200それぞれのコードラベル102を撮像して取得した第1デバイス識別情報および第2デバイス識別情報を、端末150から受信してよい。
状態取得部882は、デバイス識別情報取得部881により取得された複数のデバイス識別情報のそれぞれに対応するセンサ装置200の状態情報(一例としてアクティブおよび非アクティブのいずれであるかを示す情報)をデバイス管理DB820から取得する。デバイス特定部883は、デバイス識別情報取得部881によって交換元および交換先の区別なく複数のデバイス識別情報が取得された場合に、交換元のセンサ装置200のデバイス識別情報と、交換先のセンサ装置200のデバイス識別情報とを特定する。例えば、デバイス特定部883は、デバイス識別情報取得部881により取得された複数のデバイス識別情報のうち、アクティブなセンサ装置200に対応付けられたデバイス識別情報を交換元の第1センサ装置200の第1デバイス識別情報として特定し、アクティブでないセンサ装置200に対応付けられたデバイス識別情報を交換先の第2センサ装置200の第2デバイス識別情報として特定する。
ゲートウェイ設定部890は、複数のセンサ装置200のうち少なくとも1つのセンサ装置200と基盤システム160との間の通信を中継するセンサゲートウェイ装置300に対する設定を行う。例えば、センサゲートウェイ設定部890は、第1センサ装置200が第2センサ装置200に交換された場合に、いずれかのセンサゲートウェイ装置300に対し第2センサ装置200からのセンスデータを基盤システム160に転送することを許可する設定を行う。一例として、ゲートウェイ設定部890は、転送の許可を設定するセンサゲートウェイ装置300の有線センサ接続部320または無線センサ接続部330に対し、交換先の第2センサ装置200への接続設定を行ってよい。ゲートウェイ設定部890は、第1センサ装置200と基盤システム160との間を中継していたセンサゲートウェイ装置300に対して、第2センサ装置200と基盤システム160との間を中継するよう設定を行ってもよいし、他のセンサゲートウェイ装置300に対して設定を行ってもよい。
以上の基盤システム160によれば、センスデータを識別する複数のセンスデータ識別情報のうち第1センスデータ識別情報に対応付けられた第1センサ装置200が第2センサ装置200に交換されることに応じて、第1センスデータ識別情報が第2センサ装置200に対応付けられる。従って、第1センサ装置200により出力されていたセンスデータを識別するための第1センスデータ識別情報を、第2センサ装置200により出力されるセンスデータを識別するためのセンサデータ識別情報として自動的に引き継ぎ、センスデータの連続性を確保することができる。よって、センスデータの連続性を確保するべく基盤システム160に対して手動で設定を行う場合と比較して、センサ装置200の交換を容易化することができる。
また、交換先の第2センサ装置200からのセンスデータを基盤システム160に転送することがセンサゲートウェイ装置300に対して許可されるので、交換先の第2センサ装置200と基盤システム160との間をセンサゲートウェイ装置300で中継する必要がある場合に、第2センサ装置200からのセンスデータを確実に基盤システム160に供給してデータの連続性を確保することができる。また、センサゲートウェイ装置300に対して手動で設定する手間を省くことができる。
また、デバイス識別情報取得部881によって複数のデバイス識別情報が取得された場合に、各デバイス識別情報に対応するセンサ装置200の状態が取得され、アクティブなセンサ装置200に対応付けられたデバイス識別情報が交換元の第1デバイス識別情報として特定され、アクティブでないセンサ装置200に対応付けられたデバイス識別情報交換先の第2デバイス識別情報として特定される。従って、第1センスデータ識別情報を対応付けるデバイス識別情報を、確実に第1センサ装置200のデバイス識別情報から第2センサ装置200のデバイス識別情報に変更することができる。
図9は、本実施形態に係るデータ記憶部850を示す。データ記憶部850は、センスデータの系列ごとに、当該系列を識別するための系列識別情報と、当該系列に含まれる1または複数のセンスデータと、センスデータを識別するためのセンスデータ識別情報とを対応付けて記憶する。
ここで、本実施形態では一例として、センスデータの系列とは、一のセンサ装置200により経時的に測定されたセンスデータの集まりであり、系列識別情報とは、系列を識別するための情報である。そのため、センサ装置200が交換された場合には、交換前のセンサ装置200からのセンスデータと、交換後のセンサ装置からのセンスデータとに対し、別々の系列識別情報が対応付けられる。これに対し、センスデータ識別情報は、センサ装置200の設置位置および測定物理量に固有の識別情報である。そのため、センサ装置200が交換された場合には、交換前のセンサ装置200からのセンスデータと、交換後のセンサ装置200からのセンスデータとに対し同一のセンスデータ識別情報が対応づけられる。一例として、図9では、1行目および2行目の系列のセンスデータが、交換前後の別個のセンサ装置200により測定されているため、異なる系列識別情報「001」,「002」に対応付けられ、かつ、同一のセンスデータ識別情報「Temp1」に対応付けられている。なお、本実施形態では一例としてセンスデータは一定周期での測定期間ごとの測定結果を含むデータであるが、測定期間全体での測定結果を含むデータでもよい。
以上のデータ記憶部850によれば、交換前のセンサ装置200からのセンスデータと、交換後のセンサ装置200からのセンスデータとに異なる系列識別情報が対応付けられて記憶されるので、別々のセンサ装置200からのセンスデータであることを容易に把握することができる。
図10は、本実施形態に係るデバイス管理DB820を示す。デバイス管理DB820は、センスデータの系列識別情報と、センスデータ識別情報と、センスデータのメタデータとを対応付けて記憶する。メタデータは、センサ装置200のデバイス識別情報と、センサ装置200の状態情報とを含む。これにより、デバイス管理DB820では、基盤システム160に登録された各センサ装置200に対応付けてセンスデータ識別情報が記憶される。なお、図10では、1行目および2行目の系列に対応するセンスデータが、交換前後のセンサ装置200により測定されているため、別々のデバイス識別情報「S01」,「S02」が同一のセンスデータ識別情報「Temp1」に対応付けられている。また、交換前のセンサ装置200の状態情報は、当該センサ装置200が非アクティブであることを示し、交換後のセンサ装置200の状態情報は、当該センサ装置200がアクティブであることを示している。
図11は、本実施形態に係る基盤システム160の処理フローを示す。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に対してデータの読出要求を予め指定された周期で送信して、各ネットワークデバイス100からデータを収集してよい。これに代えて、各ネットワークデバイス100は、予め定められた周期で宛先情報記憶領域216に登録された基盤システム160の宛先へとデータを送信し、デバイスネットワーク管理部800は、各ネットワークデバイス100から送信されたデータを受信してもよい。ここで、各ネットワークデバイス100は、各ネットワークデバイス100が有する秘密鍵でデータを暗号化して基盤システム160へと送信し、デバイスネットワーク管理部800は、各ネットワークデバイス100からのデータを各ネットワークデバイス100の公開鍵で復号化して取得してよい。これにより、各ネットワークデバイス100が送信するセンスデータが傍受されるのを防ぐことができる。
S940において、デバイスルータ830は、各ネットワークデバイス100から受信したデータを、各ネットワークデバイス100に割り当てられたデータ変換器840へとルーティングする。S950において、ネットワークデバイス100からのデータを受け取ったデータ変換器840は、そのデータ変換器840に対応するデータ変換を行う。このようなデータ変換は、例えば、温度センサから取得された温度データ値を摂氏温度を表すデータ形式に変換することであってもよいし、センサから取得されたセンスデータの平滑化、積分および微分等の何れかを行うこと等のような、ネットワークデバイス100からのデータをアプリケーション処理部870が実行するアプリケーションで要求される任意のデータ形式に変換するものであってよい。
S960において、データ変換器840によって変換されたデータをデータ記憶部850に記憶する。データ記憶部850は、変換されたデータを、センスデータの系列ごとにセンスデータ識別情報に対応付けて記憶してよい。S970において、アプリケーション処理部870は、実行中のアプリケーションに実装されたアルゴリズム等にしたがって、データ記憶部850に記憶されたデータを用いたアプリケーション処理を行う。
S980において、アプリケーション処理部870は、アプリケーションの処理結果を表示する表示画面を端末165へと出力し、端末165により処理結果を端末165のユーザへと表示させる。アプリケーションの内容によっては、アプリケーション処理部870は、時間の経過に応じて変化していく各ネットワークデバイス100からのデータに応じて、継続的に端末165への表示画面を更新していく。
以上に示した基盤システム160によれば、プロビジョニングシステム120およびプロビジョニングシステム140によるプロビジョニングサービスを用いてセキュアに設置された納入対象ネットワークデバイス100に対してネットワークシステム構築サービスに接続するための暗号鍵を配布する。これにより、基盤システム160は、不正なネットワークデバイス100がネットワークシステム構築サービスに接続するのを防ぐことができ、セキュアなアプリケーション開発・実行環境を提供することができる。
図12は、第1センサ装置200が第2センサ装置200に交換された場合の端末150、プロビジョニングシステム140および基盤システム160の処理フローを示す。この処理フローは、テナントのユーザによって第1センサ装置200が第2センサ装置200に交換された場合に実行される。一例として、この処理フローは、交換元の第1センサ装置200がネットワーク145から切り離され、交換先の第2センサ装置200がネットワーク145に接続されてパワーオンした後に実行されてよい。
S735'において端末150内の識別情報取得部675は、交換前後の第1センサ装置200および第2センサ装置200のそれぞれの本体または付属品からデバイス識別情報を取得する。例えば、識別情報取得部675は、第1センサ装置200および第2センサ装置200のコードラベル102を撮像し、撮像画像に含まれるコードを認識してコーディングされたデバイス識別情報、パスコード、およびプロビジョニングシステム140の宛先情報を復元する。
識別情報取得部675は、第1センサ装置200および第2センサ装置200のデバイス識別情報等を交換元および交換先として区別せずに取得してもよいし、区別して取得してもよい。また、識別情報取得部675は、第1センサ装置200のコードラベル102、および第2センサ装置200のコードラベル102を同時に撮像してもよいし、いずれか一方を先に、他方を後に撮像してもよい。一例として、識別情報取得部675は、複数のコードラベル102をまとめて撮像して第1センサ装置200および第2センサ装置200のデバイス識別情報をいっぺんに取得してよい。これに代えて、端末150の表示画面には、交換元の第1センサ装置200のコードラベル102の撮像を促すメッセージ、および、交換先の第2センサ装置200のコードラベル102の撮像を促すメッセージが順に表示されてよく、識別情報取得部675は、前者のメッセージの表示中に撮像されたコードラベル102から取得されるデバイス識別情報を交換元の第1センサ装置200のデバイス識別情報とし、後者のメッセージの表示中に撮像されたコードラベル102から取得されるデバイス識別情報を交換先の第2センサ装置200のデバイス識別情報としてよい。識別情報取得部675は、第1センサ装置200のコードラベル102からはデバイス識別情報のみを取得し、パスコードなどを取得しなくてもよい。識別情報取得部675は、端末150に対する入力操作によって第1センサ装置200のデバイス識別情報を取得してもよい。一例として、端末150とプロビジョニングシステム140または基盤システム160とが通信を行うことにより、端末150の表示画面にはデバイス管理DB820に登録済みのアクティブなセンサ装置200のリストが表示されてよく、識別情報取得部675は、交換元の第1センサ装置200としてユーザに選択されたセンサ装置200のデバイス識別情報をデバイスDB615またはデバイス管理DB820から取得してよい。これにより、交換元の第1センサ装置200のコードラベル102が破損して、撮像によりデバイス識別情報が取得できない場合であっても、ユーザによる入力操作によって第1センサ装置200のデバイス識別情報を取得することができる。
端末150内の識別情報送信部680は、識別情報取得部675が取得したデバイス識別情報等を、識別情報取得部675が取得した宛先情報によって指定されるプロビジョニングシステム140へと送信する。識別情報取得部675が第1センサ装置200および第2センサ装置200を交換元および交換先として区別してデバイス識別情報などを取得した場合には、識別情報送信部680は、これらを区別してプロビジョニングシステム140に送信してよい。なお、S735'の処理では、上述のS735の処理とは異なり、識別情報取得部675がセンスデータ識別情報を生成して識別情報送信部680が当該センスデータ識別情報をプロビジョニングシステム140に送信する処理を行わなくてよい。端末150は、S735'の処理が完了したら上述のS746(図7参照)に処理を移行してよい。
S740'において、プロビジョニングシステム140内の識別情報受信部630は、端末150からデバイス識別情報等を受信する。プロビジョニングシステム140内のアクティベーション処理部635は、受信されたデバイス識別情報に対応する第1センサ装置200,第2センサ装置200のディアクティベーション,アクティベーションを基盤システム160に要求する。一例として、アクティベーション処理部635は、第1センサ装置200および第2センサ装置200の一方をディアクティベーションの対象、他方をアクティベーションの対象として区別してディアクティベーションおよびアクティベーションを行うよう基盤システム160に要求してよい。これに代えて、アクティベーション処理部635は、識別情報受信部630が受信したデバイス識別情報のうち、既にデバイスDB615に記憶されている一方のデバイス識別情報を交換元の第1センサ装置200のデバイス識別情報として特定するよう要求し、第1センサ装置200をディアクティベートするよう要求してよい。また、アクティベーション処理部635は、他方のデバイス識別情報を交換先の第2センサ装置200のデバイス識別情報として特定するよう要求し、上述のS740と同様にして第2センサ装置200をアクティベートするよう要求してよい。プロビジョニングシステム140は、S740'の処理が完了したら上述のS744(図7参照)に処理を移行してよい。
S742'においてプロビジョニングシステム140から要求を受けた基盤システム160は、第1センサ装置200,第2センサ装置200のディアクティベーション,アクティベーションを行う。例えば、基盤システム160のデバイス識別情報取得部881は、第1センサ装置200および第2センサ装置200から端末150が取得したデバイス識別情報等の組を受信する。基盤システム160の状態取得部882は、2つのデバイス識別情報のそれぞれに対応するセンサ装置200の状態情報(一例としてアクティブおよび非アクティブのいずれであるかを示す情報)をデバイス管理DB820から取得する。基盤システム160のデバイス特定部883は、デバイス識別情報取得部881により取得された2つのデバイス識別情報のうち、アクティブなセンサ装置200に対応付けられたデバイス識別情報を交換元の第1センサ装置200の第1デバイス識別情報として特定し、アクティブでない(一例として状態情報が登録されていない)センサ装置200に対応付けられたデバイス識別情報を交換先の第2センサ装置200の第2デバイス識別情報として特定する。そして、基盤システム160の交換処理部880は、デバイス管理DB820において第1デバイス識別情報に対応づけられた交換元の第1センサ装置200の状態情報を非アクティブにし、第1センサ装置200をディアクティベートする。交換処理部880は、デバイス管理DB820において第1デバイス識別情報に対応する交換元の第1センサ装置200のレコードを削除することで第1センサ装置200をディアクティベートしてもよい。また、交換処理部880は、第2センサ装置200の第2デバイス識別情報等と、第1センサ装置200に対応付けられていたセンスデータ識別情報とを対応付けてデバイス管理DB820に格納する。また、交換処理部880は、デバイス管理DB820において第2デバイス識別情報に対応づけられた交換先の第2センサ装置200の状態情報をアクティブにする。また、交換処理部880は、第2センサ装置200により出力されるセンスデータの格納領域に対応付けて第1センスデータ識別情報を記憶する。
基盤システム160は第2センサ装置200のデバイス情報が正常に登録されたことをプロビジョニングシステム140に通知して、上述のS754(図7参照)に処理を移行してよい。なお、プロビジョニングシステム140が第1センサ装置200および第2センサ装置200を区別してディアクティベーションおよびアクティベーションを要求した場合には、交換処理部880は、第1センサ装置200をディアクティベーションの対象、第2センサ装置200をアクティベーションの対象としてよい。この場合、交換処理部880には状態取得部882およびデバイス特定部883が具備されなくてもよい。
以上の動作によれば、端末150によって第1センサ装置200,第2センサ装置200から取得された第1デバイス識別情報,第2デバイス識別情報の組が基盤システム160に取得されるので、交換前後のセンサ装置200のセンサ装置識別情報を確実に取得することができる。また、撮像して取得された第1デバイス識別情報および第2デバイス識別情報が端末150から受信されるので、第1デバイス識別情報および第2デバイス識別情報の組を容易に取得することができる。
なお、上記の実施形態では、端末150がセンスデータ識別情報を生成することとして説明したが、プロビジョニングシステム140が生成してもよいし、基盤システム160が生成してもよい。
また、基盤システム160のデバイス識別情報取得部881は、端末150の識別情報取得部675によってコードラベル102の撮像画像から認識されたデバイス識別情報等を取得することとして説明したが、コードラベル102の撮像画像を取得してデバイス識別情報等を認識してもよい。
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(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)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図13は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ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に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。