(57)【要約】      （修正有）【課題】フィールド上の機器の移動時に、それら機器からデータを集めたいＤＣ上の情報管理サーバ（サービスアプリ）との間の各ＧＷに対するデータの転送先の設定変更を、より迅速に行えるようにする技術を提供する。【解決手段】データを送信する機器を収容するＧＷ４０を入口ＧＷ４０−Ｉ、データの転送先のサーバを収容するＧＷ４０を出口ＧＷ４０−Ｏとして、入口ＧＷ４０−Ｉから出口ＧＷ４０−Ｏまでの転送経路を設定し、設定した転送経路のなかで出口ＧＷ４０−Ｏが同じ転送経路に同じラベル値を割り当てる。ラベル値を割り当てた転送経路は予めデータ転送が可能なように確保する。入口ＧＷ４０−Ｉまでのデータ転送及び出口ＧＷ４０−Ｏからサーバまでのデータ転送は、そのデータの内容を元に行わせることで、機器の移動や追加時においても、入口ＧＷ４０−Ｉの設定変更のみによりテータ転送先の設定が可能となる。【選択図】図４
2014183545.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器と、１台以上の情報処理装置との間にデータ転送を中継する中継装置が複数、配置されている場合に、
機器と前記情報処理装置の間の転送経路を、前記機器と第１の中継装置との間の第１の部分、前記第１の中継装置と前記転送経路上、前記第１の中継装置より前記情報処理装置側に位置する第２の中継装置との間の第２の部分、及び前記第２の中継装置と前記情報処理装置との間の第３の部分に少なくとも分割し、
前記第１の部分と前記第２の部分、及び前記第２の部分と前記第３の部分との組み合わせをそれぞれ制御して、各機器と前記情報処理装置間のデータ転送を実現させる、
ことを特徴とするデータ転送制御方法。
【請求項２】
前記転送経路として、前記機器から前記情報処理装置への前記データ転送のための転送経路を想定し、且つ１台以上の情報処理装置と接続された前記第３の中継装置が複数、存在する場合に、前記第２の部分は、前記第３の中継装置毎に管理する、
ことを特徴とする請求項１記載のデータ転送制御方法。
【請求項３】
転送されるデータを受信する受信部と、
前記受信部が受信したデータ中から第１のデータを抽出する第１の抽出部と、
前記受信部が受信したデータ中から前記第１のデータとは異なる第２のデータを抽出する第２の抽出部と、
前記受信部が受信したデータの転送先を、前記第１の抽出部が抽出した第１のデータを基に決定する第１の決定部と、
前記受信部が受信したデータの転送先を、前記第２の抽出部が抽出した第２のデータを基に決定する第２の決定部と、
前記第１の決定部、及び前記第２の決定部のうちの一方の決定を有効とさせる制御部と、
前記制御部により決定が有効とされた転送先に、前記受信部が受信したデータを送信する送信部と、
を有することを特徴とする中継装置。
【請求項４】
前記第２のデータが有効か否かを表す転送管理情報を格納した記憶部を有し、
前記記憶部に格納された転送管理情報が有効としていない第２のデータが付加されたデータを前記受信部が受信した場合、前記制御部は、前記第１の決定部の決定を有効とさせる、
ことを特徴とする請求項３記載の中継装置。
【請求項５】
機器と、情報処理装置との間の転送経路中に、転送されるデータ中の第１のデータを基に前記データを転送させる第１の部分を設定する経路設定部と、
前記経路設定部が設定した第１の部分別に、該第１の部分上に存在する中継装置のなかから、前記データ中の前記第１のデータを基に前記データを転送させる第１の中継装置を選択する第１の選択部と、
前記経路設定部が設定した第１の部分別に、該第１の部分上に存在する中継装置のなかから、前記データ中から抽出される、前記第１のデータとは異なる第２のデータを基に前記データの転送先を決定させる第２の中継装置を選択する第２の選択部と、
前記経路設定部が設定した第１の部分別に、該第１の部分上に存在する中継装置のなかから、前記データ中から前記第２のデータを抽出し、抽出した前記第２のデータに対応付けられた第１のデータを前記データに付加させる第３の中継装置を選択する第３の選択部と、
前記第１の中継装置に、前記第１のデータを基に前記データを転送させるための第１の設定を行う第１の設定部と、
前記第２の中継装置に、前記第２のデータを基に前記データの転送先を決定させるための第２の設定を行う第２の設定部と、
前記第３の中継装置に、前記第２のデータに対応付けられた第１のデータを前記データに付加させるための第３の設定を行う第３の設定部と、
を有することを特徴とするデータ転送制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、各機器とその各機器から送信されるデータを受信する情報処理装置との間のデータ転送を制御するための技術に関する。
【背景技術】
【０００２】
現在、ネットワークを介して機械と機械（含むサーバ）との間でデータを送受信し、自律的に高度な制御、或いは動作を行うＭ２Ｍ（Machine-To-Machine）の標準化が行われている。また、ビッグデータと呼ばれる巨大なデータ群は、ビジネス、或いは社会に有用な知見を得る、新たな仕組み、或いはシステムを実現する、等が期待されている。このようなことから、電力メータ、ガスメータ、電気機器（テレビジョン、エアーコンディショナー、等）、監視カメラ、工作機械、自動販売機、などのフィールド上に存在する様々な機器が計測、或いは取得したデータを、ネットワークを介して収集する必要性が増大している。
【０００３】
図１は、従来のデータ転送方法を説明する図である。図１に表す従来のデータ転送方法は、複数のビルディング１（１−０〜１−ｎ）をフィールドとし、そのフィールド上に存在する機器１５が計測、或いは取得したデータを収集する場合の例である。２つのデータセンター（ＤＣ）３（３−０、３−１）は、データの収集に用いられる。実際のデータ収集・保存は、データセンター３内に設置されたサーバ３１により行われる。
【０００４】
サーバ３１では、収集したデータの解析等の処理を行うためのサービスアプリケーション・プログラム（ＳＡ。以降「サービスアプリ」と略記）が実行される。図１に表記の「ＳＡ１」〜「ＳＡ３」はそれぞれ、異なる種類のサービスアプリを表している。互いに異なるサービスアプリを実行する３台のサーバ３１−０〜３１−２は、基本的に、それぞれ対象となるデータのみを収集する。
【０００５】
各ビルディング１には、自ビルディング１の内外でデータを中継するゲートウェア（ＧＷ）１１が配置され、各フロア１０にもＧＷ１６が設置されている。各ビルディング１と各ＤＣ３間には、ＷＡＮ（Wide Area Network）２が構築されている。そのＷＡＮ２には、担当する地区の異なるＧＷ２１が複数、配置されている。図１では、ＧＷ２１として、地区Ａを担当するＧＷ２１−０、地区Ｂを担当するＧＷ２１−１の２台のみを表している。
【０００６】
各ＤＣ３にも、外部との間でデータ中継を行うＧＷ３２が１台以上、設置されている。図１では、ＤＣ３−０には２台のＧＷ３２−０、３２−１を表し、ＤＣ３０１には１台のＧＷ３２−２を表している。
【０００７】
上記のようなシステム構成では、ビルディング１内に存在する機器１５から送信されたデータは、その機器１５が通信可能なＧＷ１６→ＧＷ１１→ＷＡＮ２の１台以上のＧＷ２１→ＤＣ３内のＧＷ３２、の転送経路でサーバ３１に転送される。図１では、機器１５から送信されたデータの転送先はサーバ３１−０である。図１に表記の「ＧＷ１」〜「ＧＷ４」に用いられている１〜４の数字は、ビルディング１−ｎ内に存在する機器１５からデータを送信した場合に、ＧＷ１６、ＧＷ１１−ｎ、ＧＷ２１−１、及びＧＷ３２−０のなかでデータが転送されていく順序を表している。
【０００８】
上記のようなデータ転送は、各ＧＷ１６、１１、２１、３２がそれぞれ転送テーブル１６Ａ、１１Ａ、２１Ａ、３２Ａを参照することで実現される。各転送テーブル１６Ａ、１１Ａ、２１Ａ、３２Ａは、エントリ（レコード）毎に、データの種類、データの転送先のアドレス（転送先アドレス）を格納したテーブルであり、各エントリの内容は、ＧＷコントローラ４によって設定される。転送先アドレスを有する転送先は、ＧＷ、或いはサーバ３１である。データの種類の例として表記の「電力」のデータとは、電気機器、或いは電源タップ等の機器によって計測された消費電力を表すデータである。
【０００９】
転送テーブル１６Ａ、１１Ａ、２１Ａ、３２Ａを参照してのデータ転送が可能なように、機器１５は、メッセージのボディに、送信対象とするデータの他に、そのデータの種類を表す識別情報を格納する(図５)。メッセージを受信したＧＷは、受信したメッセージのボディを参照して、データの種類を特定し、転送テーブルが指定する転送先にメッセージを転送する。その結果、各サーバ３１は、対象とする種類のデータを収集することができる。
【００１０】
機器１５は、フィールド内に固定されるものであるとは限らない。移動可能な機器１５は多い。例えば消費電力を計測できる電源タップは容易に移動させることができる。このこともあり、機器１５の移動は想定しなければならない。
【００１１】
機器１５の移動に伴い、データの転送経路が変化する場合がある。例えば図１に表すように、機器１５がビルディング１−０からビルディング１−ｎに移動した場合、機器１５から送信されたデータは、ビルディング１−ｎのフロア１０に設置されたＧＷ１６に受信されるようになる。その場合、ＧＷ１６の転送テーブル１６Ａに、機器１５に対応したエントリが存在していなければ、機器１５から送信されたデータをサーバ３１−０に転送できない。その転送は、機器１５に対応したエントリが、ＧＷ１１−ｎ、及びＧＷ２１−１がそれぞれ参照する転送テーブル１１Ａ、及び２１Ａに存在していなければ行うことはできない。
【００１２】
機器１５の位置、及びその機器１５が送信するデータの種類に応じて転送経路は決定される。各ＧＷの転送テーブルは、転送経路の決定結果に従って設定される。そのため、転送テーブルに必要なエントリが存在しないＧＷと通信する位置に機器１５を移動させた場合、そのＧＷ以外のＧＷの転送テーブルにもエントリを追加する設定変更を行わなければならないのが普通となっている。図１の例では、機器１５をビルディング１−０からビルディング１−ｎに移動させることに伴い、ビルディング１−ｎのＧＷ１６、ＧＷ１１−ｎ、ＧＷ２１−１の各転送テーブルの設定変更を行わなければならない。それにより、ＧＷ１６、ＧＷ１１−ｎ、及びＧＷ２１−１の各転送テーブルの設定変更にそれぞれ時間ｔ１〜ｔ３を要するのであれば、全ての転送テーブルの設定変更に要する時間はｔ１＋ｔ２＋ｔ３以上となる。転送テーブルの設定を変更すべきＧＷは、機器１５の移動先に応じて、特定しなければならない。このこともあり、機器１５が送信するデータを適切に転送できない場所への機器１５の移動には、迅速に対応するのが困難である。機器１５からより多くのデータを収集するには、ビル内の機器１５の移動時に、それら機器１５からデータを集めたいＤＣ上の情報管理サーバ（サービスアプリ）との間の各ＧＷに対するデータの転送先の設定変更を、より迅速に行えるようにすることも需要と思われる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０００−１３８７１１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
１側面では、本発明は、フィールド上の機器の移動時に、それら機器からデータを集めたいＤＣ上の情報管理サーバ（サービスアプリ）との間の各ＧＷに対するデータの転送先の設定変更を、より迅速に行えるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明を適用した１システムでは、複数の機器と、１台以上の情報処理装置との間にデータ転送を中継する中継装置が複数、配置されている場合に、機器と前記情報処理装置の間の転送経路を、前記機器と第１の中継装置との間の第１の部分、前記第１の中継装置と前記転送経路上、前記第１の中継装置より前記情報処理装置側に位置する第２の中継装置との間の第２の部分、及び前記第２の中継装置と前記情報処理装置との間の第３の部分に少なくとも分割し、前記第１の部分と前記第２の部分、及び前記第２の部分と前記第３の部分との組み合わせをそれぞれ制御して、各機器と前記情報処理装置間のデータ転送を実現させる。
【発明の効果】
【００１６】
本発明を適用した場合には、送信するデータを適切に転送できない場所への機器の配置に対し、より迅速に対応することができる。
【図面の簡単な説明】
【００１７】
【図１】従来のデータ転送方法を説明する図である。
【図２】本実施形態によるデータ転送制御装置、及び中継装置が採用されたデータ収集システムの全体構成例を説明する図である。
【図３】本実施形態によるデータ転送制御装置、及び中継装置が採用されたデータ収集システムの実際の構成例を説明する図である。
【図４】本実施形態におけるデータの転送経路の管理方法例を説明する図である。
【図５】ラベルパスを用いたデータ転送を実現させる仕組みを説明する図である。
【図６】ＧＷの機能構成例を表す図である。
【図７Ａ】ＧＷ４０−０００に保存される識別子抽出テーブルの内容例を説明する図である。
【図７Ｂ】ＧＷ４０−０００に保存されるデータ峻別テーブルの内容例を説明する図である。
【図７Ｃ】ＧＷ４０−０００に保存されるラベル転送テーブルの内容例を説明する図である。
【図７Ｄ】ＧＷ４０−０００に保存される出口振分テーブルの内容例を説明する図である。
【図８Ａ】ＧＷ４０−０２１に保存される識別子抽出テーブルの内容例を説明する図である。
【図８Ｂ】ＧＷ４０−０２１に保存されるデータ峻別テーブルの内容例を説明する図である。
【図８Ｃ】ＧＷ４０−０２１に保存されるラベル転送テーブルの内容例を説明する図である。
【図８Ｄ】ＧＷ４０−０２１に保存される出口振分テーブルの内容例を説明する図である。
【図９Ａ】ＧＷ４０−００２に保存される識別子抽出テーブルの内容例を説明する図である。
【図９Ｂ】ＧＷ４０−００２に保存されるデータ峻別テーブルの内容例を説明する図である。
【図９Ｃ】ＧＷ４０−００２に保存されるラベル転送テーブルの内容例を説明する図である。
【図９Ｄ】ＧＷ４０−００２に保存される出口振分テーブルの内容例を説明する図である。
【図１０Ａ】ＧＷ４０−０４０に保存される識別子抽出テーブルの内容例を説明する図である。
【図１０Ｂ】ＧＷ４０−０４０に保存されるデータ峻別テーブルの内容例を説明する図である。
【図１０Ｃ】ＧＷ４０−０４０に保存されるラベル転送テーブルの内容例を説明する図である。
【図１０Ｄ】ＧＷ４０−０４０に保存される出口振分テーブルの内容例を説明する図である。
【図１１】ＧＷコントローラの機能構成例を表す図である。
【図１２】ＧＷアドレス管理テーブルの構成例を説明する図である。
【図１３】ＧＷトポロジ管理テーブルの構成例を説明する図である。
【図１４】ＧＷ入口出口管理テーブルの構成例を説明する図である。
【図１５】ＧＷリンク状態管理テーブルの構成例を説明する図である。
【図１６】空きラベル値管理テーブルの構成例を説明する図である。
【図１７】データ転送経路管理テーブルの構成例を説明する図である。
【図１８】ラベルデータ転送経路管理テーブルの構成例を説明する図である。
【図１９】機器管理テーブルの構成例を説明する図である。
【図２０】サービスアプリ管理テーブルの構成例を説明する図である。
【図２１】機器収容ＧＷ管理テーブルの構成例を説明する図である。
【図２２】サービスアプリ収容ＧＷ管理テーブルの構成例を説明する図である。
【図２３】電源タップの移動に伴って行われる機器収容ＧＷ管理テーブルの更新を説明する図である。
【図２４】電源タップの移動に伴って行われるデータ峻別テーブルの更新を説明する図である。
【図２５】ＧＷが設置される場合に、そのＧＷの設置に係わる管理者に対応するためにＧＷコントローラ、及びＧＷがそれぞれ処理を行う流れを表すシーケンス図である。
【図２６】ＧＷコントローラがラベルパスを設定する場合に、そのＧＷコントローラ、及び各ＧＷが実行する処理の流れを表すシーケンス図である。
【図２７】ラベル付け処理のフローチャートである。
【図２８】データとラベルパスの関連付けを行う場合に、ＧＷコントローラ、及び各ＧＷが実行する処理の流れを表すシーケンス図である。
【図２９】データとラベルの関連付け処理のフローチャートである。
【図３０】データ転送処理のフローチャートである。
【図３１】ＧＷコントローラ、及びＧＷとして使用可能な情報処理装置の構成例を表す図である。
【図３２】他の実施形態で可能とするデータの転送経路の管理方法例を説明する図である。
【図３３Ａ】ＧＷ４０−０３０に保存される識別子抽出テーブルの内容例を説明する図である（他の実施形態）。
【図３３Ｂ】ＧＷ４０−０３０に保存されるデータ峻別テーブルの内容例を説明する図である（他の実施形態）。
【図３３Ｃ】ＧＷ４０−０３０に保存されるラベル転送テーブルの内容例を説明する図である（他の実施形態）。
【図３３Ｄ】ＧＷ４０−０３０に保存される出口振分テーブルの内容例を説明する図である（他の実施形態）。
【図３４Ａ】ＧＷ４０−０４０に保存される識別子抽出テーブルの内容例を説明する図である（他の実施形態）。
【図３４Ｂ】ＧＷ４０−０４０に保存されるデータ峻別テーブルの内容例を説明する図である（他の実施形態）。
【図３４Ｃ】ＧＷ４０−０４０に保存されるラベル転送テーブルの内容例を説明する図である（他の実施形態）。
【図３４Ｄ】ＧＷ４０−０４０に保存される出口振分テーブルの内容例を説明する図である（他の実施形態）。
【図３５】ＧＷ入口出口管理テーブルの構成例を説明する図である（他の実施形態）。
【図３６】ラベルデータ転送経路管理テーブルの構成例を説明する図である（他の実施形態）。
【図３７】ラベル付け処理のフローチャートである（他の実施形態）。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図２は、本実施形態によるデータ転送制御装置、及び中継装置が採用されたデータ収集システムの全体構成例を説明する図である。
【００１９】
図２に表す構成例は、フィールドに存在する各機器２１が送信するデータを、そのデータを解析するといった処理を行うサービスアプリが実行される何れかのサーバ（情報処理装置）２３が収集するためのものである。何れかの機器２１と何れかのサーバ２３間には、転送されるデータを中継する中継装置の集合体であるＧＷ群２２が配置されている。ＧＷ群２２は、各機器２１と各サーバ２３間の転送経路を提供する。ＧＷコントローラ２４は、本実施形態によるデータ転送制御装置である。このＧＷコントローラ２４は、ＧＷ群２２を制御し、各機器２１から何れかのサーバ２３への適切なデータ転送を実現させる。ＧＷ群２２を構成するＧＷは、本実施形態による中継装置である。
【００２０】
ＧＷコントローラ２４によるＧＷ群２２への制御は、機器管理端末装置２５、或いはサービスアプリ管理端末装置２６からの要求に応じて行われる。図２では、説明上、便宜的に機器管理端末装置２５、及びサービスアプリ管理端末装置２６を別の端末装置として表しているが、これらの端末装置２５及び２６は同じ端末装置であっても良い。
【００２１】
機器管理端末装置２５は、例えばフィールド上への機器２１の配置、或いは既にフィールド上に存在する機器２１の移動、等に対応するために用いられる端末装置である。ここでは、ＧＷ群２２を構成する各ＧＷの配置、等のための管理も、この機器管理端末装置２５を用いて行われると想定する。
【００２２】
機器２１から送信されたデータは、何れかのサーバ２３に転送される。実行するサービスアプリの種類によって、各サーバ２３が収集対象とするデータの種類、或いは収集対象とするデータを送信する機器２１の種類が異なる。サービスアプリ管理端末装置２６は、各サーバ２３が収集対象とするデータの管理に用いられる。
【００２３】
図３は、本実施形態によるデータ転送制御装置、及び中継装置が採用されたデータ収集システムの実際の構成例を説明する図である。図３では、機器２１が存在するフィールドとして３つのビルディング３１（３１−０〜３１−２）のみを表し、機器２１から送信されたデータの転送先としてＤＣ３３に配置された２台のサーバ２３（２３−０、２３−１）のみを表している。
【００２４】
各ビルディング３１には、そのビルディング３１外とのデータ中継用にＧＷ４０が配置され、フロア毎にＧＷ４０が設置されている。以降、混乱を避けるために、フロア毎に設置されたＧＷ４０は「フロアＧＷ」と表記し、ビルディング３１外とのデータ中継を行うＧＷ４０は「ビルＧＷ」と表記する。
【００２５】
各ビルディング３１には、機器２１として、電源タップ２１−０（２１−０−１〜２１−０−５）、及びスマートフォン（図３中「スマホ」と表記。以降この表記を用いる）２１−１（２１−１−１〜２１−１−６）が配置されている。各ビルディング３１の各フロアには、ビルディング３１−２のフロアＧＷ４０−０２１が配置されたフロアを除き、電源タップ２１−０、及びスマホ２１−１が複数、存在する。ビルディング３１−２のフロアＧＷ４０−０２１が配置されたフロアには、スマホ２１−１のみが存在する。
【００２６】
各電源タップ２１−０は、例えば接続されたコンセントから供給された電力量を計測し、計測した電力量を表すデータを送信する機器である。各スマホ２１−１は、例えば実行させるアプリケーション・プログラム（以降「アプリ」と表記）に応じたデータを送信する機器である。そのデータとは、例えば操作内容を表すデータである。データの送受信は、電源タップ２１−０、及びスマホ２１−１共に、例えば無線により行われる。
【００２７】
ＤＣ３３には、ＧＷ４０、２台のサーバ２３の他に、ＧＷコントローラ２４が配置されている。ＤＣ３３に配置されたＧＷ４０は以降「ＤＣＧＷ」と表記する。ここでは、電源タップ２１−０から送信されたデータの転送先はサーバ２３−０、スマホ２１−１から送信されたデータの転送先はサーバ２３−１と想定する。
【００２８】
各ビルディング３１とＤＣ３３間は、ＷＡＮ３２によって接続されている。図３では、ＷＡＮ３２を構成するＧＷ４０として、地区Ａ〜Ｃにそれぞれ設置された３台のＧＷ４０のみ表している。このＧＷ４０は以降「地区ＧＷ」と表記する。
【００２９】
図２に表すＧＷ群２２は、図３に表す全てのＧＷ４０の集合体である。機器管理端末装置２５、及びサービスアプリ管理端末装置２６は、図３には表していないが、例えば共にＤＣ３３内に配置される。
【００３０】
図４は、本実施形態におけるデータの転送経路の管理方法例を説明する図である。図４において、ＧＷ４０―Ｉは機器２１から送信されたデータを最初に受信するＧＷ（以降「入口ＧＷ」と表記）、ＧＷ４０−Ｏはサーバ２３の直前に位置するＧＷ（以降「出口ＧＷ」と表記）である。他のＧＷ４０は、何れかの入口ＧＷ４０−Ｉと出口ＧＷ４０−Ｏとの間に位置するＧＷである。図３に表す構成では、各フロアＧＷ４０は入口ＧＷ４０−Ｉであり、ＤＣＧＷ４０−０４０は出口ＧＷ４０−Ｏである。
【００３１】
本実施形態では、各入口ＧＷ４０−Ｉから出口ＧＷ−Ｏに至る転送経路を特定し、特定した転送経路をデータの種類、及び機器２１の種類、等とは無関係に管理する。特定した転送経路は、出口ＧＷ４０−Ｏ毎に集約し、転送経路の識別情報であるラベル値を割り当てる。図４中に表記の「ラベル１」は、ラベル値が１であることを表している。以降、ラベル値が割り当てられる転送経路は「ラベルパス」と表記する。
【００３２】
ラベルパスは、出口ＧＷ４０−Ｏを除く各ＧＷ４０でのデータ転送の制御に用いる。それにより、各入口ＧＷ４０−Ｉから出口ＧＷ４０−Ｏへのデータの転送経路を予め確保する。そのため、今まで対象としていないデータを送信する機器２１が新たに追加された場合、その機器２１からのデータを受信する入口ＧＷ４０−Ｉへの設定により対応することができる。これは、入口ＧＷ４０−Ｉにおいて、新たに追加された機器２１から送信されたデータの転送に用いるラベルパスを指定すれば良いからである。このようなことから、新たに追加された機器２１への対応は迅速に行うことができる。
【００３３】
図３に表す構成では、ビルディング３１−２のフロアＧＷ４０−０２１が配置されたフロアには電源タップ２１−０が存在しない。そのため、フロアＧＷ４０−０２１には、通常、電源タップ２１−０から送信されたデータを適切に転送するための設定は存在しない。しかし、新たに電源タップ２１−０が設置されたとしても、その電源タップ２１−０から送信されたデータの転送に用いるべきラベルパスを指定する設定をフロアＧＷ４０−０２１に行えば済む。
【００３４】
その設定により、電源タップ２１−０から送信されたデータは、フロアＧＷ４０−０２１を入口ＧＷ４０−Ｉとし、転送すべきサーバ２３の直前に位置するＧＷ４０を出口ＧＷ４０−Ｏとするラベルパスを介して転送させることができる。出口ＧＷ４０−Ｏは、転送されたデータの種類、或いはそのデータを送信した機器２１の種類に応じて、転送先とするサーバ２３を特定し、特定したサーバ２３にデータを送信する。このようなことから、入口ＧＷ４０−Ｉに対する設定により、新たに追加された機器２１に対応することができる。
【００３５】
図５は、ラベルパスを用いたデータ転送を実現させる仕組みを説明する図である。
機器２１は、データをパケットの形で送信する。そのパケットは、ヘッダとボディを含む構成である。送信対象とするデータは、ボディ内に格納される。ここでは、データは、そのデータの意味を認識可能なように、ＸＭＬ（Extensible Markup Language）を用いて記述されている。
【００３６】
図５中の５０は、１個以上のパケットを組み立てた結果、得られるＨＴＴＰ（Hyper Text Transfer Protocol）メッセージ（以降「メッセージ」と略記）である。混乱を避けるために、以降、機器２１とサーバ２３間で送受信するデータを、その全体を表す「メッセージ」と表記する。特に断らない限り、パケットは、機器２１とサーバ２３間で送受信しないデータを表す意味で用いる。
【００３７】
図５において、「ＥｖｅｎｔＴｙｐｅ」「ＴｅｒｍＩＤ」「ＰｏｗｅｒＶａｌｕｅ」は共にタグ名を表している。
「ＥｖｅｎｔＴｙｐｅ」は、データの種類を指定するタグである。そのタグの内容として表記の「電力」は、データの種類が電力であることを表している。「ＴｅｒｍＩＤ」は、機器２１の種類を指定するタグである。そのタグの内容として表記の「機器１」は、機器２１の種類が電源タップ２１−０であることを表している。「ＰｏｗｅｒＶａｌｕｅ」は、実際のデータを指定するタグである。そのタグの内容として表記の「１００ｋＷｈ」は、１時間当たりの消費電力が１００ｋＷであることを表している。機器２１がスマホ２１−１であった場合、「ＥｖｅｎｔＴｙｐｅ」の内容として「スマホ」が記述される。
【００３８】
入口ＧＷ４０−Ｉ、及び出口ＧＷ４０−Ｏは、ボディ５２に格納された「ＥｖｅｎｔＴｙｐｅ」及び「ＴｅｒｍＩＤ」の少なくとも一方の要素の内容を参照する。ここでは、以降、参照される要素は「ＥｖｅｎｔＴｙｐｅ」のみと想定する。
【００３９】
入口ＧＷ４０−Ｉは、「ＥｖｅｎｔＴｙｐｅ」の要素の内容から、メッセージ５０の転送に用いるべきラベルパスを特定し、特定したラベルパスを表す識別情報をヘッダ５１に格納する。それにより、ラベルパス上の出口ＧＷ４０−Ｏを除く他のＧＷ４０は、ヘッダ５１に格納された識別情報に従って、メッセージ５０の転送を行う。その結果、メッセージ５０は、識別情報が表すラベルパスの出口ＧＷ４０−Ｏまで転送される。識別情報は、図５では「Ｌａｂｅｌ；１」と表記している。
【００４０】
ラベルパス上の出口ＧＷ４０−Ｏを除く他のＧＷ４０は、ヘッダ５１に格納されたＵＲＬ（Uniform Resource Locator）を、識別情報が表すラベルパスに応じて書き換える。そのＵＲＬの書き換えにより、ラベルパスに沿ってメッセージ５０が転送される。図５では、ＵＲＬは「Ｈｏｓｔ：」に続く文字列、及び「ＰＯＳＴ」に続く文字列により表される。例えば「Ｈｏｓｔ：」に続く文字列である「ＧＷ０００．ｃｏｍ」は、送信先であるＧＷ４０−０００の名前を表している。以降、その名前は「送信先アドレス」と呼ぶことにする。「ＰＯＳＴ」に続く文字列である「／ｘｍｌ１」は、送信先であるＧＷ４０−０００におけるパス名を表している。
【００４１】
このパス名は、図５に表すように、出口ＧＷ４０−Ｏのみが書き換えを行うようになっている。本実施形態では、このパス名は、ボディ５２のなかで参照すべきタグを特定するための情報としても用いている。
【００４２】
出口ＧＷ４０−Ｏは、ヘッダ５１内の識別情報を削除し、そのヘッダ５１の送信先アドレスを、「ＥｖｅｎｔＴｙｐｅ」の要素の内容から特定したサーバ２３のアドレスに変更する。パス名は、削除されるか、或いは特定したサーバ２３に設定のパス名に変更される。ここでは、パス名は削除されると想定する。そのようなＵＲＬの変更により、出口ＧＷ４０−Ｏから送信されたメッセージ５０は、受信すべきサーバ２３によって受信される。図５中の「／ｘｘｘ」は、パス名が削除されたことを表している。
【００４３】
ＧＷコントローラ２４は、図５に表すようなメッセージ５０の転送が行われるように、各ＧＷ４０を制御する。ＧＷコントローラ２４の詳細を説明する前に、ＧＷ４０について詳細に説明する。
【００４４】
図４に表すようなラベルパスの管理、及び図５に表すようなデータ転送のための制御は、各サーバ２３から各機器２１へのデータ送信でも行われる。しかし、その内容は、各機器２１から各サーバ２３へのデータ送信を行う場合と基本的に同じである。このことから、ここでは便宜的に、各機器２１から送信されるデータ（メッセージ５０）のみを想定して説明を行うこととする。
【００４５】
図６は、ＧＷの機能構成例を表す図である。
各ＧＷ４０は、図６に表すように、ＧＷ制御部６１、データ受信部６２、データラベルマップ部６３、ラベル転送部６４、データ送信部６５、及びＧＷ間リンク遅延計測部６６を備えている。データ受信部６２は、識別子抽出テーブル６２ａを管理し、同様に、データラベルマップ部６３はデータ峻別テーブル６３ａ、ラベル転送部６４はラベル転送テーブル６４ａ、データ送信部６５は出口振分テーブル６５ａをそれぞれ管理する。
【００４６】
図７Ａ〜図７Ｄは、ＧＷ４０−０００が保存する各テーブル６２ａ〜６５ａの内容例を説明する図である。図８Ａ〜図８Ｄは、ＧＷ４０−０２１が保存する各テーブル６２ａ〜６５ａの内容例を説明する図である。図９Ａ〜図９Ｄは、ＧＷ４０−００２が保存する各テーブル６２ａ〜６５ａの内容例を説明する図である。図１０Ａ〜図１０Ｄは、ＧＷ４０−０４０が保存する各テーブル６２ａ〜６５ａの内容例を説明する図である。
【００４７】
ＧＷ４０は、入口ＧＷ４０−Ｉ、出口ＧＷ４０−Ｏ、及びそれら以外のＧＷ４０（以降「途中ＧＷ」と表記）に大別することができる。ＧＷ４０の動作は、入口ＧＷ４０−Ｉ、出口ＧＷ４０−Ｏ、及び途中ＧＷ４０の何れであるかによって異なる。各テーブル６２ａ〜６５ａに格納される内容も、入口ＧＷ４０−Ｉ、出口ＧＷ４０−Ｏ、及び途中ＧＷ４０の何れであるかによって異なる。このことから、図７Ａ〜図１０Ｄを参照しつつ、ＧＷ４０の機能構成について説明する。
【００４８】
データ受信部６２は、自ＧＷ４０宛に送信されたメッセージ５０を受信し、受信したメッセージ５０のボディ５２から抽出すべきタグの内容を抽出する。タグの内容の抽出は、識別子抽出テーブル６２ａを参照して行われる。
【００４９】
識別子抽出テーブル６２ａの各エントリには、例えば図７Ａに表すように、ＵＲＬパス情報、抽出対象の識別子情報、及び識別子の位置情報が格納される。ＵＲＬパス情報（図７Ａ中「／ｘｍｌ１」と表記）は、上記のように、送信元とするＧＷ４０におけるパス名を表す情報である。抽出対象の識別子情報は（図７Ａ中「ＥｖｅｎｔＴｙｐｅ」と表記）、内容を抽出する対象とするタグを表す情報である。識別子の位置情報（図７Ａ中「／ＥｖｅｎｔＴｙｐｅ」と表記）は、対象とするタグが存在する位置を表す情報であり、例えばＸｐａｔｈを採用することができる。データ受信部６２は、受信したメッセージ５０のヘッダ５１に格納されているパス名をキーに、この識別子抽出テーブル６２を参照することにより、指定されたタグの内容をボディ５２から抽出する。
【００５０】
タグの内容の抽出は、入口ＧＷ４０−Ｉ、及び出口ＧＷ４０−Ｏのみが行えば良い。そのため、入口ＧＷ４０−ＩであるフロアＧＷ４０−０２１、及び出口ＧＷ４０−ＯであるＤＣＧＷ４０−０４０では、図８Ａ及び図１０Ａに表すように、エントリに情報が格納された識別子抽出テーブル６２ａが設定される。しかし、途中ＧＷ４０であるビルＧＷ４０−００２では、図９Ａに表すように、エントリに情報が格納されていない識別子抽出テーブル６２が設定される。
【００５１】
データ受信部６２は、受信したメッセージ５０、及びボディ５２から抽出したタグの内容をデータラベルマップ部６３に出力する。データラベルマップ部６３が参照するデータ峻別テーブル６３ａの各エントリには、例えば図７Ｂに表すように、データ識別情報、及びラベルパスの番号が格納される。データ識別情報は、タグの内容を表す情報である。そのため、データラベルマップ部６３は、入力したタグの内容をキーに、データ峻別テーブル６３ａを参照することにより、メッセージ５０の転送に用いるべきラベルパスの番号を抽出し、抽出したラベルパス番号をメッセージ５０及びタグの内容と共にラベル転送部６４に出力する。
【００５２】
ラベルパス番号の抽出は、入口ＧＷ４０−Ｉのみが行えば良い。そのため、入口ＧＷ４０−ＩであるフロアＧＷ４０−０２１では、図８Ｂに表すように、エントリに情報が格納されたデータ峻別テーブル６３ａが設定される。しかし、フロアＧＷ４０−０２１が設置されたフロアには、スマホ２１−１が存在しないことから、情報が格納されているエントリは１つのみとなっている。入口ＧＷ４０−ＩではないビルＧＷ４０−００２、ＤＣＧＷ４０−０４０では、図９Ｂ及び図１０Ｂに表すように、エントリに情報が格納されていないデータ峻別テーブル６３ａが設定される。
【００５３】
ラベル転送部６４が管理するラベル転送テーブル６４ａは、メッセージ５０を次の転送先に転送するためのテーブルである。ラベル転送テーブル６４ａの各エントリには、図７Ｃに表すように、ラベルパス番号、転送先アドレス情報、並びに自ＧＷ４０が入口ＧＷ４０−Ｉ、出口ＧＷ４０−Ｏ、及び途中ＧＷ４０の何れであるかを表すＧＷ配置情報（図７Ｃでは「入口／途中／出口」と表記）が格納される。ラベル転送部６４は、入力したラベルパス番号をキーに、ラベル転送テーブル６４ａを参照することにより、メッセージ５０のヘッダ５１の書き換えを行う。
【００５４】
メッセージ５０のヘッダ５１の書き換えは、全てのＧＷ４０が行う。しかし、書き換え内容は、ＧＷ４０のＧＷ配置情報によって異なる。入口ＧＷ４０−Ｉでは、送信先アドレスを書き換えると共に、ラベルパスの識別情報の書き込みが行われる。途中ＧＷ４０では、送信先アドレスの書き換えのみが行われる。出口ＧＷ４０−Ｏでは、送信元アドレス、及びＵＲＬ（送信先アドレス、及びパス名）の書き換えと共に、ラベルパスの識別情報の削除が行われる。出口ＧＷ４０−Ｏのラベル転送部６４は、送信元アドレスの書き換え、及びラベルパスの識別情報の削除を行う。
【００５５】
図７Ｃに転送先アドレス情報として表記の「ＧＷ００２．ｃｏｍ／ｘｍｌ１」は、ビルＧＷ４０−００２が転送先であることを表している。ここでは、「ＧＷ００２」の００２と符号４０−００２のハイフン以降の数字列００２を一致させることにより、図面に「ＧＷ」とそれに続く数字列が表すＧＷ４０を明確にさせている。それにより、図８Ｃに転送先アドレス情報として表記の「ＧＷ０２２．ｃｏｍ／ｘｍｌ１」は、ビルＧＷ４０−０２２が転送先であることを表している。同様に、図９Ｃに転送先アドレス情報として表記の「ＧＷ０３０．ｃｏｍ／ｘｍｌ１」は、地区ＧＷ４０−０３０が転送先であることを表している。図１０Ｃに転送先アドレス情報として表記の「Ｎｕｌｌ」は、ラベルパスに沿った転送先が存在しない、つまり自ＧＷ４０が出口ＧＷ４０−Ｏであることを表している。
【００５６】
ラベル転送部６４は、ヘッダ５１の書き換えを行ったメッセージ５０、及びタグの内容をデータ送信部６５に出力する。データ送信部６５が参照する出口振分テーブル６５ａの各エントリには、図１０Ｄに表すように、データ識別情報、及び転送先アドレス情報が格納されている。エントリに情報が格納された出口振分テーブル６５ａが設定されているのは、出口ＧＷ４０−ＯであるＤＣＧＷ４０−０４０だけである。図７Ｄ、図８Ｄ及び図９Ｄに表すように、他のＧＷ４０に設定された出口振分テーブル６５ａには情報が格納されているエントリは存在しない。このことから、出口ＧＷ４０−ＯでないＧＷ４０のデータ送信部６５は、ラベル転送部６４から入力したメッセージ５０をそのまま送信する。出口ＧＷ４０−Ｏのデータ送信部６５は、入力したタグの内容をキーに出口振分テーブル６５ａを参照することにより、転送先アドレスを出口振分テーブル６５ａから抽出し、抽出した転送先アドレスを送信先アドレスとして書き込んだメッセージ５０を送信する。パス名は、送信先がＧＷ４０ではないことから、削除される（図５中「／ｘｘｘ」と表記）。それにより、電源タップ２１−０から送信されたメッセージ５０は、最終的にサーバ２３−０に受信される。スマホ２１−１から送信されたメッセージ５０は、最終的にサーバ２３−１に受信される。
【００５７】
ＧＷリンク遅延計測部６６は、データ送信部６５、及びデータ受信部６２を用いて、直接、通信が可能な他のＧＷ４０を対象に通信を行い、その他のＧＷ４０宛にパケットを送信してから応答を受信するまでの時間を計時する。計時した時間は、データ送信部６５を介して、ＧＷ４０毎にＧＷコントローラ２４に通知される。
【００５８】
ＧＷ制御部６１は、ＧＷ４０全体を制御する。ＧＷ制御部６１は、ＧＷ４０が適切に動作するように、データ受信部６２、データラベルマップ部６３、ラベル転送部６４、データ送信部６５、及びＧＷ間リンク遅延計測部６６を管理する。
【００５９】
図１１は、ＧＷコントローラの機能構成例を表す図である。図１１に表すように、ＧＷコントローラ２４は、ＧＷ制御・監視部１１０１、転送経路制御部１１０２、アプリ・データ情報管理部１１０３、及びデータラベルマップ管理部１１０４を備えている。
【００６０】
ＧＷ制御・監視部１１０１は、各ＧＷ４０と通信を行い、各種テーブル６２ａ〜６５ａの設定を含む指示を行うことにより、各ＧＷ４０を制御する。
【００６１】
転送経路制御部１１０２は、ラベルパスの設定を行う。そのために、ＧＷアドレス管理テーブル１１２１、ＧＷトポロジ管理テーブル１１２２、ＧＷ入り口出口管理テーブル１１２３、ＧＷリンク状態管理テーブル１１２４、データ転送経路管理テーブル１１２９、及びラベルデータ転送経路管理テーブル１１３０を管理する。これら各種テーブル１１２１〜１１２４、１１２９，及び１１３０は以下のようなテーブルである。これら各種テーブル１１２１〜１１２４、１１２９，及び１１３０について、図１２〜図１５、図１７及び図１８に表す説明図を参照して具体的に説明する。
【００６２】
図１２は、ＧＷアドレス管理テーブルの構成例を説明する図である。
このＧＷアドレス管理テーブル１１２１は、制御対象とするＧＷ４０を管理するためのテーブルである。このＧＷアドレス管理テーブル１１２１の各エントリには、図１２に表すように、ＧＷ４０の識別情報、及びそのＧＷ４０のアドレス（ＩＰ（Internet Protocol）アドレス）が格納される。ＧＷ４０の識別情報は以降「ＧＷＩＤ（IDentifier）」或いは「ＩＤ」と表記する。
【００６３】
図１３は、ＧＷトポロジ管理テーブルの構成例を説明する図である。図１３において、「受信ＧＷ」はメッセージ５０の受信を想定するＧＷ４０のＩＤ、「送信ＧＷ」はパケットの送信を想定するＧＷ４０のＩＤをそれぞれ表している。「ＧＷ０００」及び「ＧＷ００１」等の表記は、上記のように、フロアＧＷ４０−０００、及びフロアＧＷ４０−００１を表している。
【００６４】
このＧＷトポロジ管理テーブル１１２２は、ＧＷ４０間の接続関係を特定するために用いられる。図１３において、「１」を表記した欄は、パケットを直接、送受信可能なＧＷ４０間を表している。
【００６５】
図１４は、ＧＷ入口出口管理テーブルの構成例を説明する図である。
このＧＷ入口出口管理テーブル１１２３は、入口ＧＷ４０−Ｉ、及び出口ＧＷ４０−Ｏを特定するために用いられる。このＧＷ入口出口管理テーブル１１２３の各エントリには、図１４に表すように、ＧＷＩＤ、そのＧＷＩＤが割り当てられたＧＷ４０が入口ＧＷ４０−Ｉか否かを表す入口ＧＷ情報、及びそのＧＷＩＤが割り当てられたＧＷ４０が出口ＧＷ４０−Ｏか否かを表す出口ＧＷ情報、が格納される。入口ＧＷ情報として表記の「１」は、ＧＷＩＤが割り当てられたＧＷ４０が入口ＧＷ４０−Ｉであることを表している。同様に、出口ＧＷ情報として表記の「１」は、ＧＷＩＤが割り当てられたＧＷ４０が出口ＧＷ４０−Ｏであることを表している。
【００６６】
入口ＧＷ４０−Ｉ、及び出口ＧＷ４０−Ｏは、メッセージ５０の送信元によって異なる。ＤＣＧＷ４０−０４０は、機器２１から送信されたメッセージ５０を想定した場合は出口ＧＷ４０−Ｏである。しかし、サーバ２３から送信されたメッセージ５０を想定した場合、ＤＣＧＷ４０−０４０は出口ＧＷ４０−Ｏではない。このようなことから、ＧＷ入口出口管理テーブル１１２３は、メッセージ５０の想定する送信元毎に用意される。
【００６７】
図１５は、ＧＷリンク状態管理テーブルの構成例を説明する図である。
ＧＷトポロジ管理テーブル１１２２が通信可能とするＧＷ４０間の通信は、常に行えるとは限らない。これは、ＧＷ４０、或いはＧＷ４０と接続されたケーブル等に障害が発生する可能性があるためである。このことから、このＧＷリンク状態管理テーブル１１２４は、実際に通信が可能なＧＷ４０間、そのＧＷ４０間の通信に要する時間（遅延時間）を特定するために用いられる。
【００６８】
このＧＷリンク状態管理テーブル１１２４は、例えば送信側とするＧＷ４０毎に用意されるテーブルの集合体である。ＧＷ４０毎に用意されるテーブルの各エントリには、図１５に表すように、通信可能なＧＷ４０のＩＤ（図１５中「隣接ＧＷ」と表記）、遅延時間（ｍｓ）、及び通信可能なＧＷ４０のＩＰアドレス、が格納される。通信可能なＧＷ４０は以降「隣接ＧＷ」と表記する。
【００６９】
図１７は、データ転送経路管理テーブルの構成例を説明する図である。
このデータ転送経路管理テーブル１１２９は、各機器２１と各サーバ２３間に設定したラベルパスを管理するためのテーブルである。図１７に表すように、データ転送経路管理テーブル１１２９の各エントリには、出口ＧＷ４０−Ｏを表すＧＷＩＤ、入口ＧＷ４０−Ｉを表すＧＷＩＤ、及び入口ＧＷ４０−Ｉから出口ＧＷ４０−Ｏまでのラベルパスを構成するＧＷ４０の繋がりを表す経路情報が格納される。経路情報として表記の「ＧＷ０００」「ＧＷ００２」「ＧＷ００３０」「ＧＷ０４０」は、ＧＷ４０の繋がりを表すＧＷＩＤである。
【００７０】
図４に表すように、本実施形態では、出口ＧＷ４０−Ｏが同じラベルパスには同じラベル値を割り当てるようにしている。このことから、データ転送経路管理テーブル１１２９の各エントリには、１つの出口ＧＷ４０−０に対し、入口ＧＷ４０−ＩのＧＷＩＤ、及び経路情報の組が１つ以上、格納される。
【００７１】
図１８は、ラベルデータ転送経路管理テーブルの構成例を説明する図である。
このラベルデータ転送経路管理テーブル１１３０は、ラベルパスへのラベル値の割り当てを管理するためのテーブルである。そのため、図１８に表すように、ラベルデータ転送経路管理テーブル１１３０の各エントリは、データ転送経路管理テーブル１１２９のエントリに対し、ラベル値を更に格納可能な形となっている。
【００７２】
転送経路制御部１１０２は、外部からの指示に従い、ＧＷトポロジ管理テーブル１１２２、ＧＷ入口出口管理テーブル１１２３を作成する。ＧＷアドレス管理テーブル１１２１は、制御対象とするＧＷ４０との通信により作成、或いは更新する。ＧＷ間リンク状態管理テーブル１１２４は、ＧＷ制御・監視部１１０１を介して、指定したＧＷ４０との遅延時間の計測を各ＧＷ４０に行わせ、その計測結果を取得することで作成する。ＧＷアドレス管理テーブル１１２１は、ＧＷ４０の指定、及び各ＧＷ４０への指示に用いられる。転送経路制御部１１０２は、ＧＷアドレス管理テーブル１１２１、ＧＷトポロジ管理テーブル１１２２、ＧＷ入口出口管理テーブル１１２３、及びＧＷ間リンク状態管理テーブル１１２４が存在する状況下で、データ転送経路管理テーブル１１２９、及びラベルデータ転送経路管理テーブル１１３０の作成、或いは更新を行う。
【００７３】
データラベルマップ管理部１１０４は、割り当て可能なラベル値を管理する。そのために、データラベルマップ管理部１１０４は、空きラベル値管理テーブル１１３１を管理する。その空きラベル値管理テーブル１１３１には、割り当て可能なラベル値の数に応じたエントリが存在し、各エントリには、図１６に表すように、ラベル値、及び使用中情報が格納されている。使用中情報として表記の「０」は、対応するラベル値が使用されていないことを表している。対応するラベル委が使用されている場合、使用中情報として例えば「１」が格納される。
【００７４】
転送経路制御部１１０２は、データラベルマップ管理部１１０４に未使用のラベル値の割り当てを依頼し、ラベルパスにラベル値を割り当てさせる。それにより、ラベルパスには重複しないラベル値が割り当てられる。
【００７５】
アプリ・データ情報管理部１１０３は、機器２１から送信されるメッセージ５０の転送に係わる情報の管理を行う。その情報の管理のために、アプリ・データ情報管理部１１０３は、サービスアプリ管理テーブル１１２５、機器管理テーブル１１２６、サービスアプリ収容ＧＷ管理テーブル１１２７、及び機器収容ＧＷ管理テーブル１１２８を作成、或いは更新する。これら各種テーブル１１２５〜１１２８について、図１９〜図２２に表す説明図を参照して具体的に説明する。
【００７６】
図１９は、機器管理テーブルの構成例を説明する図である。
この機器管理テーブル１１２６は、機器２１の種類毎に、その機器２１から送信されるメッセージ５０の転送先を管理するためのテーブルである。この機器管理テーブル１１２６の各エントリには、図１９に表すように、機器２１の種類を表す識別情報（図１９中「機器ＩＤ」と表記。以降、この表記を用いる）、タグの内容、機器２１のアドレス情報、及び識別子の位置情報(例えばＸｐａｔｈ)、が格納される。タグの内容として表記の「電力」及び「スマホ」は、上記のように、「ＥｖｅｎｔＴｙｐｅ」タグの内容として記述される情報を表している。アドレスとして表記の「ＵＲＬ＿電源タップ１」「ＵＲＬ＿スマホ１」はそれぞれ、電源タップ２１−０のアドレス、スマホ２１−１のアドレスを表している。
【００７７】
図２０は、サービスアプリ管理テーブルの構成例を説明する図である。
このサービスアプリ管理テーブル１１２５は、サービスアプリを実行する各サーバ２３が受信対象とするデータを管理するためのテーブルである。このサービスアプリ管理テーブル１１２５の各エントリには、図２０に表すように、サーバ２３が実行するサービスアプリを表す識別情報（図２０中「サービスアプリＩＤ」と表記。以降この表記を用いる）、タグの内容、及びサーバ２０３のＩＰアドレス情報が格納される。
【００７８】
図２１は、機器収容ＧＷ管理テーブルの構成例を説明する図である。
この機器収容ＧＷ管理テーブル１１２８は、各機器２１が収容されているＧＷ４０、つまり各機器２１とメッセージ５０を直接、送受信するＧＷ４０を管理するためのテーブルである。この機器収容ＧＷ管理テーブル１１２８の各エントリには、図２１に表すように、機器ＩＤ、及びその機器ＩＤが割り当てられた機器２１を収容する収容ＧＷのＧＷＩＤが格納される。
【００７９】
図２２は、サービスアプリ収容ＧＷ管理テーブルの構成例を説明する図である。
このサービスアプリ収容ＧＷ管理テーブル１１２７は、サービスアプリを実行する各サーバ２３が収容されているＧＷ４０、つまり各サーバ２３と直接、メッセージ５０を送受信するＧＷ４０を管理するためのテーブルである。このサービスアプリ収容ＧＷ管理テーブル１１２７の各エントリには、図２２に表すように、サービスアプリＩＤ、及びそのサービスアプリＩＤが割り当てられたサービスアプリを実行するサーバ２３を収容する収容ＧＷ４０のＧＷＩＤが格納される。ここでは、収容ＧＷ４０は、出口ＧＷ４０−Ｏである。
【００８０】
アプリ・データ情報管理部１１０３は、外部からの指示に従い、サービスアプリ管理テーブル１１２５、機器管理テーブル１１２６、サービスアプリ収容ＧＷ管理テーブル１１２７、及び機器収容ＧＷ管理テーブル１１２８を作成、或いは更新する。
【００８１】
機器収容ＧＷ管理テーブル１１２８が作成される場合、各ＧＷ４０には各種テーブル６２ａ〜６５ａを保存させなければならない。その場合、例えばＧＷ制御・監視部１１０１は、制御対象とする各ＧＷ４０に、識別子抽出テーブル６２ａ、データ峻別テーブル６３ａ、ラベル転送テーブル６４ａ、及び出口振分テーブル６５ａを設定する。その設定は、転送経路制御部１１０２が管理するラベルデータ転送経路管理テーブル１１３０、及びアプリ・データ情報管理部１１０３が管理する各種テーブル１１２５〜１１２８を参照して行われる。
【００８２】
一方、機器収容ＧＷ管理テーブル１１２８が更新される場合、その更新内容に応じて、何れかのＧＷ４０の識別子抽出テーブル６２ａ、或いは／及び、データ峻別テーブル６３ａを更新させなければならない。電源タップ２１−０、及びスマホ２１−１共に、同じタグの内容を抽出することを想定する場合、何れかのＧＷ４０のデータ峻別テーブル６３ａを必要に応じて更新しなければならない。このことから、その場合、例えばＧＷ制御・監視部１１０１は、データ峻別テーブル６３ａの更新が必要なＧＷ４０を特定し、特定したＧＷ４０のデータ峻別テーブル６３を更新させる。その更新は、転送経路制御部１１０２が管理するラベルデータ転送経路管理テーブル１１３０、及びアプリ・データ情報管理部１１０３が管理する各種テーブル１１２５〜１１２８を参照して行われる。
【００８３】
例えば、フロアＧＷ４０−０００が設置されているフロアに配置された電源タップ２１−０−１をフロアＧＷ４０−０２１が設置されているフロアに移動させる場合、その移動に伴い、機器収容ＧＷ管理テーブル１１２８の内容は、図２３に表すように更新される。フロアＧＷ４０−０２１が設置されているフロアにはそれまで電源タップ２１−０が存在していないため、フロアＧＷ４０−０２１が管理するデータ峻別テーブル６３ａには電源タップ２１−０用のエントリは存在しない。そのため、ＧＷ制御・監視部１１０１は、図２４に表すように、フロアＧＷ４０−０２１が管理するデータ峻別テーブル６３ａの１エントリに対し、電源タップ２１−０用の情報を格納させる更新を行わせる。
【００８４】
フロアＧＷ４０−０２１からＤＣＧＷ４０−０４０までのメッセージ転送は、既に各ＧＷ４０−０２２、及び４０−０３２にそれぞれ設定したラベル転送テーブル６４ａにより行うことができる。１台のＧＷ４０のデータ峻別テーブル６３ａを更新させることにより，機器２１の移動等による新たな機器２１の追加に対応できることから、その対応は迅速に行うことができる。
【００８５】
図３１は、ＧＷコントローラ、及びＧＷとして使用可能な情報処理装置の構成例を表す図である。ここで、図３１を参照し、本実施形態によるデータ転送制御装置であるＧＷコントローラ２４、及び／或いは、本実施形態による中継装置であるＧＷ４０として使用可能な情報処理装置について具体的に説明する。
【００８６】
この情報処理装置は、図３１に表すように、ＣＰＵ（Central Processing Unit）３１１、ＦＷＨ（Firm-Ware Hub）３１２、メモリ（メモリモジュール）３１３、複数のＮＩＣ（Network Interface Card）３１４、ハードディスク装置（ＨＤ）３１５、コントローラ３１６、及びＢＭＣ（Baseboard Management Controller）３１７を備えている。この構成は１例であり、ＧＷコントローラ２４、或いはＧＷ４０として使用可能な情報処理装置の構成は、図３１に表すようなものに限定されない。
【００８７】
ＦＷＨ３１２は、ファームウェアを格納したメモリである。このファームウェアは、ＣＰＵ３１１によってメモリ３１３に読み出され実行される。ハードディスク装置３１５には、ＯＳ（Operating System）、及び各種アプリが格納されている。ＣＰＵ３１１は、ファームウェアの起動が完了した後、コントローラ３１６を介してハードディスク装置３１５からＯＳ等を読み出して実行することができる。ＮＩＣ３１４を介した通信は、ＯＳの起動によって可能となる。
【００８８】
ＢＭＣ３１７は、情報処理装置を管理するための専用の管理装置である。ＢＭＣ３１７は、ＣＰＵ３１１のオン／オフ、各構成要素に発生するエラーの監視、等を行う。
【００８９】
図６に表すＧＷ４０が管理する各種テーブル６２ａ〜６５ａは、ハードディスク装置３１５に保存され、それらのコピーはメモリ３１３に格納される。図６に表す機構構成を実現させるプログラムは、例えばハードディスク装置３１５に格納されている。それにより、データ受信部６２、及びデータ送信部６５は、例えばＣＰＵ３１１、ＦＷＨ３１２、メモリ３１３、１つ以上のＮＩＣ３１４、ハードディスク装置３１５、及びコントローラ３１６によって実現される。ＧＷ制御部６１、データラベルマップ部６３、ラベル転送部６４、及びＧＷ間リンク遅延計測部６６は、例えばＣＰＵ３１１、ＦＷＨ３１２、メモリ３１３、ハードディスク装置３１５、及びコントローラ３１６によって実現される。
【００９０】
図１１に表すＧＷコントローラ２４が管理する各種テーブル１１２１〜１１３１も、ハードディスク装置３１５に保存され、それらのコピーはメモリ３１３に格納される。図１１に表す機構構成を実現させるプログラムは、例えばハードディスク装置３１５に格納されている。それにより、転送経路制御部１１０２、アプリ／データ情報管理部１１０３、及びデータラベルマップ管理部１１０４は、例えばＣＰＵ３１１、ＦＷＨ３１２、メモリ３１３、ハードディスク装置３１５、及びコントローラ３１６によって実現される。ＧＷ制御・監視部１１０１は、各ＧＷ４０と通信を行うことから、例えばＣＰＵ３１１、ＦＷＨ３１２、メモリ３１３、１つ以上のＮＩＣ３１４、ハードディスク装置３１５、及びコントローラ３１６によって実現される。
【００９１】
以降は、図２５〜図３０に表すシーケンス図、或いはフローチャートを参照し、ＧＷコントローラ２４、及びＧＷ４０の動作について詳細に説明する。
図２５は、ＧＷが設置される場合に、そのＧＷの設置に係わる管理者に対応するためにＧＷコントローラ、及びＧＷがそれぞれ処理を行う流れを表すシーケンス図である。始めに図２５を参照し、ＧＷが設置される場合のＧＷコントローラ２４、及びＧＷ４０の動作について詳細に説明する。図２５中に表記の「管理者」は、実際には管理者が操作する端末装置である。
【００９２】
先ず、管理者は、必要なＧＷ４０を、確保した設置場所に設置し、配線作業等を行い、電源をオンさせる（Ｓ１）。その電源のオンにより、設置されたＧＷ４０のＧＷ制御部６１は、ＧＷコントローラ２４に対し、自ＧＷ４０に割り当てられたＧＷＩＤ、及びＩＰアドレス等を通知する（Ｓ２）。ＧＷコントローラ２４との通信が行えるように、設置されるＧＷ４０にはＧＷコントローラ２４のＩＰアドレス等の必要な情報が設定される。設置されたＧＷ４０は、その後、各種テーブル６２ａ〜６５ａの設定が行われるまで、待機することになる。
【００９３】
ＧＷ４０から送信されたＧＷＩＤ、及びＩＰアドレス等は、ＧＷコントローラ２４のＧＷ制御・監視部１１０１によって受信され、ＧＷ制御・監視部１１０１から転送経路制御部１１０２に出力される（Ｓ３）。転送経路制御部１１０２は、ＧＷ制御・監視部１１０１から入力したＧＷＩＤ、及びＩＰアドレスをＧＷアドレス管理テーブル１１２１に登録する（ＳＡ１）。
【００９４】
ＧＷ４０の設置により、トポロジは変化する。このことから、管理者は、使用する端末装置をＧＷコントローラ２４と接続させ、ＧＷトポロジ管理テーブル１１２２の更新用の情報を入力する（Ｓ４）。入力された情報は、ＧＷ制御・監視部１１０１によって受信され、ＧＷ制御・監視部１１０１を介して転送経路制御部１１０２に出力される。
【００９５】
転送経路制御部１１０２は、ＧＷ制御・監視部１１０１から入力した情報をＧＷトポロジ管理テーブル１１２２に登録する形で、そのＧＷトポロジ管理テーブル１１２２を更新する（ＳＡ２）。
【００９６】
新たに設置されたＧＷ４０が入口ＧＷ４０−Ｉ、或いは出口ＧＷ４０−Ｏであった場合、管理者は、ＧＷ入口出口管理テーブル１１２３を更新させなければならない。このため、その場合、管理者は、例えばＧＷ入口出口管理テーブル１１２３の更新用の情報を入力する（Ｓ５）。入力された情報は、ＧＷ制御・監視部１１０１によって受信され、ＧＷ制御・監視部１１０１を介して転送経路制御部１１０２に出力される。
【００９７】
転送経路制御部１１０２は、ＧＷ制御・監視部１１０１から入力した情報をＧＷ入口出口管理テーブル１１２３に登録する形で、そのＧＷ入口出口管理テーブル１１２３を更新する（ＳＡ３）。その更新により、管理者のＧＷ４０の設置に係わる作業が終了し、ＧＷコントローラ２４の管理者に対応するための処理も終了する。
【００９８】
図２６は、ＧＷコントローラがラベルパスを設定する場合に、そのＧＷコントローラ、及び各ＧＷが実行する処理の流れを表すシーケンス図である。次に図２６を参照し、ラベルパスの設定に係わるＧＷコントローラ２４、及び各ＧＷ４０の動作について詳細に説明する。
【００９９】
ＧＷ４０間の通信状態は、障害の発生、トラフィック量の変化、等によって変化する可能性がある。このことから、本実施形態では、例えば予め定めたタイミングで、ＧＷコントローラ２４が各ＧＷ４０に対し、隣接ＧＷ４０との通信に要する遅延時間の計測を指示するようにしている。その指示は、ＧＷ４０毎に、隣接ＧＷ４０のＩＰアドレスを通知することで行われる。このことから、転送経路制御部１１０２は、ＧＷ制御・監視部１１０１に対し、ＧＷ４０毎に隣接ＧＷ４０のＩＰアドレスの通知を依頼する（Ｓ１１）。その依頼により、ＧＷ制御・監視部１１０１は、各ＧＷ４０に、隣接ＧＷ４０のＩＰアドレスを通知する（Ｓ１２）。
【０１００】
通知されたＩＰアドレスは、データ受信部６２によって受信され、ＧＷ制御・監視部１１０１を介してＧＷ間リンク遅延計測部６６に入力される（Ｓ１３）。それにより、ＧＷ間リンク遅延計測部６６は、通知されたＩＰアドレスが割り当てられている各隣接ＧＷ４０との間のリンクの遅延時間の計測を行う（ＳＤ１１）。隣接ＧＷ４０のなかに複数のＩＰアドレスを持つものが存在する場合、ＧＷ間リンク遅延計測部６６は、ＩＰアドレス毎に、リンクの遅延時間を計測し、計測した遅延時間のなかで最小の遅延時間を計測結果とする。ＧＷ間リンク遅延計測部６６は、隣接ＧＷ４０毎の計測結果をＧＷ制御部６１に出力し、ＧＷコントローラ２４への送信を依頼する（Ｓ１４）。その依頼により、隣接ＧＷ４０毎の計測結果は、ＧＷ制御部６１からデータ送信部６５を介してＧＷコントローラ２４に送信される（Ｓ１５）。
【０１０１】
ＧＷ４０から送信された隣接ＧＷ４０毎の計測結果は、ＧＷコントローラ２４のＧＷ制御・監視部１１０１によって受信され、転送経路制御部１１０２に出力される（Ｓ１６）。転送経路制御部１１０２は、入力した隣接ＧＷ４０毎の計測結果を、ＧＷ間リンク状態管理テーブル１１２４に格納する（ＳＡ１１）。ＧＷ間リンク状態管理テーブル１１２４の更新が完了すると、転送経路制御部１１０２は、周知のデータ転送経路判断アルゴリズムにより、入口ＧＷ４０−Ｉ候補と出口ＧＷ４０−Ｏ候補間の最短経路を判断する（ＳＡ１２）。
【０１０２】
この最短経路は、入口ＧＷ４０−Ｉ候補毎に判断し特定する。特定結果は、データ転送経路管理テーブル１１２９に登録される。その特定が完了すると、次に転送経路制御部１１０２は、特定した最短経路をラベルパスとし、ラベルパスを出口ＧＷ４０−Ｏ候補毎にまとめてラベル値を割り当てるためのラベル付け処理を実行する（ＳＡ１３）。
【０１０３】
ここで、上記ラベル付け処理について、図２７を参照して詳細に説明する。
先ず、転送経路制御部１１０２は、ＧＷ入口出口管理テーブル１１２３を参照し、出口ＧＷ４０−Ｏ候補を一つ、抽出する（ＳＡ２１）。次に転送経路制御部１１０２は、抽出した出口ＧＷ４０−Ｏ候補を出口とするラベルパスがラベルデータ転送経路管理テーブル１１３０に未設定か否か判定する。抽出した出口ＧＷ４０−Ｏ候補を出口とするラベルパスがラベルデータ転送経路管理テーブル１１３０に登録されていない、或いは、そのラベルパスがラベルデータ転送経路管理テーブル１１３０に反映されていない場合、ＳＡ２２の判定はＹｅｓとなってＳＡ２３に移行する。そのラベルパスがラベルデータ転送経路管理テーブル１１３０に反映されている場合、ＳＡ２２の判定はＮｏとなってＳＡ２６に移行する。
【０１０４】
ＳＡ２３では、転送経路制御部１１０２は、空きラベル値管理テーブル１１３１を参照し、未使用のラベル値を特定する。次に転送経路制御部１１０２は、抽出した出口ＧＷ４０−Ｏ候補を出口とするラベルパスに、特定したラベル値を割り当て、空きラベル値管理テーブル１１３１中の割り当てたラベル値を使用中に更新する（ＳＡ２４）。その後、転送経路制御部１１０２は、ラベル値を割り当てたラベルパスをラベルデータ転送経路管理テーブル１１３０に登録する（ＳＡ２５）。
【０１０５】
そのようにしてラベルデータ転送経路管理テーブル１１３０を更新した転送経路制御部１１０２は、次に、ＧＷ入口出口管理テーブル１１２３が出口ＧＷ４０−ＯとするＧＷ４０のなかで他に処理対象としていないＧＷ４０がないか否か判定する（ＳＡ２６）。ＧＷ入口出口管理テーブル１１２３が出口ＧＷ４０−ＯとするＧＷ４０を全て処理対象とした場合、ＳＡ２６の判定はＹｅｓとなり、ここでラベル付け処理が終了する。ＧＷ入口出口管理テーブル１１２３が出口ＧＷ４０−ＯとするＧＷ４０のなかで処理対象としていないＧＷ４０が存在する場合、ＳＡ２６の判定はＮｏとなり、上記ＳＡ２１に戻る。それにより、別の出口ＧＷ４０−Ｏ候補が処理対象として抽出されることとなる。
【０１０６】
図２６の説明に戻る。
上記ラベル付け処理を実行した転送経路制御部１１０２は、次に、ラベルパスに沿って、各ＧＷ４０の次にメッセージ５０を転送すべきＧＷ４０のアドレスを求める（ＳＡ１４）。図２６に表記の「次ホップのＧＷアドレス」は、次に転送すべきＧＷ４０のアドレスを意味している。転送すべきＧＷ４０のアドレスは、ＧＷ間リンク状態管理テーブル１１２４を参照して特定される。
【０１０７】
転送すべきＧＷ４０のアドレスを特定した転送経路制御部１１０２は、ＧＷ制御・監視部１１０１に対し、何れかのラベルパス上に存在するＧＷ４０毎に、ラベル転送テーブル６４ａの各エントリに格納させるべき設定情報の送信を依頼する（ＳＡ１５、Ｓ１７）。送信を依頼する設定情報は、出口ＧＷ４０−Ｏでは、転送先アドレスは「Ｎｕｌｌ」となる。その依頼により、ＧＷ制御・監視部１１０１は、指定された各ＧＷ４０に設定情報を送信する（Ｓ１８）。
【０１０８】
ＧＷ制御・監視部１１０１からＧＷ４０別に送信された設定情報は、ＧＷ４０のデータ受信部６２によって受信され、ＧＷ制御部６１を介してラベル転送部６４に出力される（Ｓ１９）。それにより、ラベル転送部６４は、入力した設定情報をラベル転送テーブル６４ａに登録する。設定情報のラベル転送テーブル６４ａへの登録は、設定情報中のラベル値と同じラベル値が格納されているエントリが存在する場合、そのエントリに設定情報を上書きする形で行われる。
【０１０９】
各ＧＷ４０に等別転送テーブル６４ａを設定することにより、ラベルパスに沿ったメッセージ転送が可能になる。しかし、機器２１とサーバ２３間には、ラベルパスに沿ったメッセージ転送が行われない区間が存在する。機器２１から送信されるメッセージ５０では、機器２１から送信されたメッセージ５０の転送に用いるラベルパスの特定、ラベルパスの出口ＧＷ４０−Ｏに達したメッセージ５０を転送すべきサーバ２３の特定、を行わなければならない。
【０１１０】
図２８は、データとラベルパスの関連付けを行う場合に、ＧＷコントローラ、及び各ＧＷが実行する処理の流れを表すシーケンス図である。次に図２８を参照し、データとラベルパスの関連付けを行う場合のＧＷコントローラ２４、及び各ＧＷ４０の動作について詳細に説明する。ここでは、動作を説明するＧＷ４０として、入口ＧＷ４０−ＩであるフロアＧＷ４０−０００、及び出口ＧＷ４０−ＯであるＤＣＧＷ４０−０４０の２台のみを選択している。
【０１１１】
データとラベルパスの関連付けにより、入口ＧＷ４０−Ｉでは、図７Ａ、及び図７Ｂに表すように、識別子抽出テーブル６２ａ、及びデータ峻別テーブル６３ａがそれぞれ設定される。出口ＧＷ４０−Ｏでは、図１０Ａ、及び図１０Ｄに表すように、識別子抽出テーブル６２ａ、及び出口振分テーブル６５ａがそれぞれ設定される。
【０１１２】
サービスアプリ管理端末装置２６を操作するオペレータは、そのサービスアプリ管理端末装置２６をＧＷコントローラ２４と接続させ、サービスアプリに係わる各種情報を入力する。具体的には、その情報として、サービスアプリ毎に、そのサービスアプリＩＤ、そのサービスアプリを実行するサーバ２３のＵＲＬ、受信対象とするデータの種類を記述したタグの内容、そのデータを送信する機器２１のＩＤ、等を入力する（Ｓ３１）。また、オペレータは、サービスアプリＩＤと、そのサービスアプリＩＤが割り当てられたサービスアプリを実行するサーバ２３を収容する収容ＧＷ４０のＧＷＩＤの組を、サービスアプリ毎に入力する（Ｓ３２）。これら入力された情報は、ＧＷ制御・監視部１１０１を介してアプリ・データ情報管理部１１０３に出力される。
【０１１３】
一方、機器管理端末装置２５を操作するオペレータは、その機器管理端末装置２５をＧＷコントローラ２４と接続させ、機器２１に係わる各種情報を入力する。具体的には、その情報として、機器２１毎に、その機器ＩＤ、その機器２１のＵＲＬ、送信対象とするデータの種類を記述したタグの内容、そのタグの位置を表す位置情報(例えばＸｐａｔｈ)、等を入力する（Ｓ３３）。また、オペレータは、機器ＩＤと、その機器ＩＤが割り当てられた機器２１を収容する収容ＧＷ４０のＧＷＩＤの組を、機器ＩＤ毎に入力する（Ｓ３４）。これら入力された情報は、ＧＷ制御・監視部１１０１を介してアプリ・データ情報管理部１１０３に出力される。
【０１１４】
アプリ・データ情報管理部１１０３は、サービスアプリ管理端末装置２６、及び機器管理端末装置２５からそれぞれ入力された情報をデータラベルマップ管理部１１０４に通知し、データとラベルパスの関連付けを依頼する（Ｓ３５）。入力された情報の通知は、各種テーブル１１２５〜１１２８の形で行われる。
【０１１５】
その依頼により、データラベルマップ部１１０４は、データとラベルの関連付け処理を実行する（ＳＦ３１）。このデータとラベルの関連付け処理は、上記各種情報を関連付け、関連付けた情報とラベルパスの関係を特定して、特定した入口ＧＷ４０−Ｉ、及び出口ＧＷ４０−Ｏへの設定を行うための処理である。
【０１１６】
図２９は、データとラベルの関連付け処理のフローチャートである。ここで、図２９を参照し、このデータとラベルの関連付け処理について詳細に説明する。
先ず、データラベルマップ部１１０４は、アプリ・データ情報管理部１１０３から通知された各種テーブル１１２５〜１１２８を参照し、データの関連付けを行う（ＳＦ４１）。その関連付けにより、タグの内容、機器ＩＤ、識別子の位置情報、サービスアプリを実行するサーバ２３の収容ＧＷ４０のＧＷＩＤ、そのサービスアプリのＩＤ、その機器ＩＤを持つ機器２１の収容ＧＷ４０のＧＷＩＤ、等の組み合わせが特定される。１つの組み合わせされたデータのまとまりは、以降「関連付け情報」と表記する。
【０１１７】
次に、データラベルマップ部１１０４は、１つの関連付け情報関連付けを選択し、サービスアプリを実行するサーバ２３の収容ＧＷ４０のＧＷＩＤを、出口ＧＷ４０−ＯのＧＷＩＤとして抽出する（ＳＦ４２）。このとき、ＧＷＩＤが抽出された出口ＧＷ４０−Ｉは、識別子抽出テーブル６２ａ、及び出口振分テーブル６５ａの各エントリに格納すべき設定情報（ルール）の配布先とされる。
【０１１８】
データラベルマップ部１１０４は、次に、抽出したＧＷＩＤをキーとして、ラベルデータ転送経路管理テーブル１１３０を参照し、そのＧＷＩＤを出口ＧＷ４０−Ｏとするラベルパスのラベル値を決定する（ＳＦ４３）。データラベルマップ部１１０４は、決定したラベル値のラベルパスに存在する、機器２１の収容ＧＷ４０のＧＷＩＤを入口ＧＷ４０−ＩのＧＷＩＤとして特定する（ＳＦ４４）。
【０１１９】
入口ＧＷ４０−ＩのＧＷＩＤを特定したデータラベルマップ部１１０４は、次に、ＧＷＩＤを特定した入口ＧＷ４０−Ｉを、データとラベルを対応つける設定情報（ルール）の配布先ＧＷ４０として決定する（ＳＦ４５）。この設定情報は、識別子抽出テーブル６２ａ、及びデータ峻別テーブル６３ａの各エントリに格納すべき設定情報である。
【０１２０】
ＧＷＩＤを特定した入口ＧＷ４０−Ｉを設定情報の配布先として決定することにより、同じラベル値が割り当てられたラベルパスを対象にした処理が終了する。このことから、データラベルマップ部１１０４は、次に、他に出口ＧＷ４０−Ｏがないか否か判定する（ＳＦ４６）。関連付け情報のなかに、サービスアプリを実行するサーバ２３の収容ＧＷ４０のＧＷＩＤを出口ＧＷ４０−ＯのＧＷＩＤとして抽出していない関連付け情報が残っていた場合、ＳＦ４６の判定はＮｏとなって上記ＳＦ４２に戻る。サービスアプリを実行するサーバ２３の収容ＧＷ４０のＧＷＩＤを出口ＧＷ４０−ＯのＧＷＩＤとして抽出していない関連付け情報が残っていない場合、ＳＦ４６の判定はＹｅｓとなり、ここでデータとラベルの関連付け処理が終了する。
【０１２１】
図２８の説明に戻る。
上記データとラベルの関連付け処理では、出口ＧＷ４０−ＯのＧＷＩＤの特定により、その出口ＧＷ４０−Ｏに通知すべき識別子抽出テーブル６２ａ、及び出口振分テーブル６５ａの各エントリの設定情報（ルール）が決定される。入口ＧＷ４０−ＩのＧＷＩＤの特定により、その入口ＧＷ４０−Ｉに通知すべき識別子抽出テーブル６２ａ、及びデータ峻別テーブル６３ａの各エントリの設定情報（ルール）が決定される。それにより、データラベルマップ部１１０４は、ＧＷＩＤを特定した出口ＧＷ４０−Ｏへの決定した設定情報の通知をＧＷ制御・監視部１１０１に依頼する（Ｓ３６）。その依頼により、ＧＷ制御・通知部１１０１は、ＧＷＩＤが特定された出口ＧＷ４０−Ｏに、決定された設定情報を通知する（Ｓ３７）。
【０１２２】
出口ＧＷ４０−Ｏに通知された設定情報は、データ受信部６２によって受信され、ＧＷ制御部６１に出力される。それにより、ＧＷ制御部６１は、データ受信部６２に対し、設定情報の識別子抽出テーブル６２ａへの登録を指示する（Ｓ３８）。その指示により、データ受信部６２は、通知された設定情報を識別子抽出テーブル６２ａに登録する（ＳＧ３１）。同様に、ＧＷ制御部６１は、データ送信部６５に対し、設定情報の出口振分テーブル６５ａへの登録を指示する（Ｓ３９）。その指示により、データ送信部６５は、通知された設定情報を出口振分テーブル６５ａに登録する（ＳＨ３１）。
【０１２３】
データラベルマップ部１１０４は、同様に、ＧＷＩＤを特定した入口ＧＷ４０−Ｉへの決定した設定情報の通知をＧＷ制御・監視部１１０１に依頼する（Ｓ４０）。その依頼により、ＧＷ制御・通知部１１０１は、ＧＷＩＤが特定された入口ＧＷ４０−Ｉ（ここではフロアＧＷ４０−０００）に、決定された設定情報を通知する（Ｓ４１）。
【０１２４】
入口ＧＷ４０−Ｉに通知された設定情報は、データ受信部６２によって受信され、ＧＷ制御部６１に出力される。それにより、ＧＷ制御部６１は、データ受信部６２に対し、設定情報の識別子抽出テーブル６２ａへの登録を指示する（Ｓ４２）。その指示により、データ受信部６２は、通知された設定情報を識別子抽出テーブル６２ａに登録する（ＳＧ３２）。また、ＧＷ制御部６１は、データラベルマップ部６３に対し、設定情報のデータ峻別テーブル６３ａへの登録を指示する（Ｓ４３）。その指示により、データラベルマップ部６３は、通知された設定情報をデータ峻別テーブル６３ａに登録する（ＳＩ３１）。
【０１２５】
図３０は、ＧＷが実行するデータ転送処理のフローチャートである。このデータ転送処理は、データ受信部６２がメッセージ５０を受信した場合に行われる処理である。最後に、図３０を参照して、各ＧＷ４０がメッセージ５０の転送のために行う動作について詳細に説明する。ここでは、処理はＣＰＵ３１１が実行するとの想定で説明を行う。
【０１２６】
先ず、ＣＰＵ３１１は、メッセージ５０のヘッダ５１からＵＲＬを読み出し、読み出したＵＲＬ中のパス名をキーとして、識別子抽出テーブル６２ａの検索を行う（Ｓ５１）。次にＣＰＵ３１１は、識別子抽出テーブル６２ａの検索により、該当するエントリがヒットしたか否か判定する（Ｓ５２）。読み出したパス名を格納したエントリが識別子抽出テーブル６２ａに存在する場合、そのエントリがヒットすることから、Ｓ５２の判定はＹｅｓとなってＳ５４に移行する。読み出したパス名を格納したエントリが識別子抽出テーブル６２ａに存在しない場合、ヒットするエントリは無いことから、Ｓ５２の判定はＮｏとなり、受信したメッセージ５０の転送を行うことなく、データ転送処理を終了する（Ｓ５７）。
【０１２７】
図３０に表すＳＡ５３は、後述する他の実施形態で実行される処理である。このことから、ＳＡ５３は他の実施形態で説明する。
Ｓ５４では、ＣＰＵ３１１は、ヒットしたエントリに従い、メッセージ５０のボディ５２からタグの内容を抽出する。次にＣＰＵ３１１は、抽出したタグの内容をキーとして、データ峻別テーブル６３ａの検索を行う（Ｓ５５）。その検索を行った後、ＣＰＵ３１１は、データ峻別テーブル６３ａの検索により、該当するエントリがヒットしたか否か判定する（Ｓ５６）。抽出したタグの内容を格納したエントリがデータ峻別テーブル６３ａに存在する場合、そのエントリがヒットすることから、Ｓ５６の判定はＹｅｓとなってＳ５８に移行する。抽出したタグの内容を格納したエントリがデータ峻別テーブル６３ａに存在しない場合、ヒットするエントリは無いことから、Ｓ５６の判定はＮｏとなり、受信したメッセージ５０の転送を行うことなく、データ転送処理を終了する（Ｓ５７）。
【０１２８】
Ｓ５８では、ＣＰＵ３１１は、ヒットしたエントリに格納されているラベル値を読み出し、読み出したラベル値をキーとして、ラベル転送テーブル６４ａの検索を行う。その検索を行った後、ＣＰＵ３１１は、ラベル転送テーブル６４ａの検索により、該当するエントリがヒットしたか否か判定する（Ｓ５９）。抽出したラベル値を格納したエントリがラベル転送テーブル６４ａに存在する場合、そのエントリがヒットすることから、Ｓ５９の判定はＹｅｓとなってＳ６０に移行する。抽出したラベル値を格納したエントリがラベル転送テーブル６４ａに存在しない場合、ヒットするエントリは無いことから、Ｓ５９の判定はＮｏとなり、受信したメッセージ５０の転送を行うことなく、データ転送処理を終了する（Ｓ５７）。
【０１２９】
Ｓ６０では、ＣＰＵ３１１は、ヒットしたエントリに格納されたＧＷ配置情報を参照し、自ＧＷ４０が出口ＧＷ４０−Ｏか否か判定する。ＧＷ配置情報が出口ＧＷ４０−Ｏを表していない場合、Ｓ６０の判定はＮｏとなってＳ６６に移行する。ＧＷ配置情報が出口ＧＷ４０−Ｏを表している場合、Ｓ６０の判定はＹｅｓとなってＳ６１に移行する。
【０１３０】
Ｓ６１では、ＣＰＵ３１１は、ラベルパスに沿ったメッセージ転送ではなく、出口振分テーブル６５ａに従ったメッセージ転送を行うと決定する。それにより、ＣＰＵ３１１は、次に、抽出したタグの内容をキーとして、出口振分テーブル６５ａの検索を行う（Ｓ６２）。
【０１３１】
その検索を行った後、ＣＰＵ３１１は、出口振分テーブル６５ａの検索により、該当するエントリがヒットしたか否か判定する（Ｓ６３）。抽出したタグの内容を格納したエントリが出口振分テーブル６５ａに存在する場合、そのエントリがヒットすることから、Ｓ６３の判定はＹｅｓとなり、ヒットしたエントリに格納されている転送先アドレスをヘッダ５１の送信先アドレスとして上書きし、メッセージ５０を送信する（Ｓ６４）。その送信により、データ転送処理が終了する。抽出したタグの内容を格納したエントリが出口振分テーブル６５ａに存在しない場合、ヒットするエントリは無いことから、Ｓ６３の判定はＮｏとなり、受信したメッセージ５０の転送を行うことなく、データ転送処理を終了する（Ｓ６５）。
【０１３２】
上記Ｓ６０の判定がＮｏとなって移行するＳ６６では、ＣＰＵ３１１は、ヒットしたエントリに格納されたＧＷ配置情報を参照し、自ＧＷ４０が途中ＧＷ４０か否か判定する。ＧＷ配置情報が途中ＧＷ４０を表していない場合、Ｓ６６の判定はＮｏとなってＳ６８に移行する。ＧＷ配置情報が途中ＧＷ４０を表している場合、Ｓ６６の判定はＹｅｓとなってＳ６７に移行する。
【０１３３】
Ｓ６７では、ＣＰＵ３１１は、ヒットしたエントリに格納されている転送先アドレスをヘッダ５１の送信元アドレスとして上書きし、メッセージ５０を送信する。その送信により、データ転送処理が終了する。
【０１３４】
上記Ｓ６６でのＮｏの判定は、自ＧＷ４０が入口ＧＷ４０−Ｉであることを意味する。このことから、Ｓ６６の判定がＮｏとなって移行するＳ６８では、ＣＰＵ３１１は、データ峻別テーブル６３ａでヒットしたエントリのラベル値の識別情報、及びラベル転送テーブル６４ａでヒットしたエントリの転送先アドレスをヘッダ５１に書き込む。そのような操作をヘッダ５１に行ったメッセージ５０を送信した後、このデータ転送処理が終了する。
【０１３５】
以降は、他の実施形態について詳細に説明する。
上記実施形態では、出口ＧＷ４０−Ｏが比較的に少ないことを想定している。しかし、ＤＣ３３が多い場合、フィールドに存在する機器２１を収容する収容ＧＷ４０の数が多い場合、ラベルデータ転送経路管理テーブル１１３０に格納されるエントリの数、つまり使用するラベル値の数が多くなる。他の実施形態は、使用するラベル値の数を抑えられるようにしたものである。
【０１３６】
他の実施形態でも、ＧＷコントローラ２４、及び各ＧＷ４０の構成は基本的に上記実施形態と同じである。動作も大部分は同じである。このことから、上記実施形態で付した符号を用いつつ、上記実施形態から異なる部分にのみ着目する形で説明を行う。
【０１３７】
図３２は、他の実施形態で可能とするデータの転送経路の管理方法例を説明する図である。図３２において、ＧＷ４０−Ｔは、ラベルパスを途中で終端するＧＷ４０である。他の実施形態では、ラベルパスでのメッセージ転送を終端ＧＷ４０−Ｔで終端可能とすることにより、出口ＧＷ４０−Ｏが終端ＧＷ４０−Ｔより多くても、ラベル値の使用を抑制できるようにしている。図３に表す構成では、終端ＧＷ４０−Ｔとして、ＷＡＮ３２に配置された地区ＧＷ４０を選択するのが望ましい。
【０１３８】
図３３Ａ〜図３３Ｄは、他の実施形態におけるＧＷ４０−０３０が保存する各テーブル６２ａ〜６５ａの内容例を説明する図である。図３４Ａ〜図３４Ｄは、ＧＷ４０−０４０が保存する各テーブル６２ａ〜６５ａの内容例を説明する図である。
【０１３９】
図３３Ａに表すように、他の実施形態では、識別子抽出テーブル６２ａのエントリに、ラベル非使用フラグを格納するようにしている。このラベル非使用フラグは、ラベルパスを途中で終端させるか否かを指定するためのフラグである。ラベル非使用フラグの内容として表記の「１」は、ここでラベルパスを終端させ、メッセージ５０のボディ５１に格納されたデータに応じて転送先を決定することを要求する値である。それにより、地区ＧＷ４０−０３０には、図３３Ｃ及び図３３Ｄに表すようなラベル転送テーブル６４ａ、及び出口振分テーブル６５ａが設定される。その結果、地区ＧＷ４０−０３０は、出口ＧＷ４０−Ｏのように動作することとなる。「０」のラベル非使用フラグは、ラベルパスを途中で終端させないことを表している。
【０１４０】
一方、本来の出口ＧＷ４０−ＯであるＤＣＧＷ４０−０４０にも、図３４Ａに表すように、ラベル非使用フラグの内容として「１」が表記されている。そのため、ＤＣＧＷ４０−０４０は、図３４Ｄに表す出口振分テーブル６５ａを参照し、メッセージ５０の転送先を特定する。
【０１４１】
上記のようなラベル非使用フラグによりラベルパスの終端を制御することから、他の実施形態では、図３０に表すデータ転送処理でＳ５２の判定がＹｅｓとなった場合、次にＳ５３に移行する。そのＳ５３では、ＣＰＵ３１１は、ラベル非使用フラグの値が０か否か判定する。ラベル非使用フラグの値が０であった場合、Ｓ５３の判定はＹｅｓとなってＳ５４に移行する。それにより、ラベルパスを途中で終端させることなく、ラベルパスに沿ったメッセージ転送が実現される。
【０１４２】
一方、ラベル非使用フラグの値が１であった場合、Ｓ５３の判定はＮｏとなってＳ６２に移行する。それにより、出口振分テーブル６５ａに従って、メッセージ５０の転送先が決定されることとなる。
【０１４３】
図３５は、他の実施形態におけるＧＷ入口出口管理テーブルの構成例を説明する図である。他の実施形態では、図３５に表すように、ＧＷ入口出口管理テーブル１１２３の各エントリには、ＧＷＩＤ、入口ＧＷ情報、出口ＧＷ情報、に加えて、自ＧＷ４０が終端ＧＷ４０−Ｔとなるものか否かを表す終端ＧＷ情報が格納される。終端ＧＷ情報として表記の「１」は、ＧＷＩＤが割り当てられたＧＷ４０が終端ＧＷ４０−Ｔとしてなりうるものであることを表している。
【０１４４】
図３６は、他の実施形態におけるラベルデータ転送経路管理テーブルの構成例を説明する図である。他の実施形態におけるラベルデータ転送経路管理テーブル１１３０のエントリには、ラベルパスを途中で終端させる場合、図３６に表すように、出口ＧＷ４０−ＯのＧＷＩＤの代わりに、終端ＧＷ４０−ＴのＧＷＩＤが格納される。
【０１４５】
多くのラベルパスが通るＧＷ４０を終端ＧＷ４０とした場合、多くのラベルパスを１つにまとめることができる。そのため、ラベル値の使用量を抑え、データ峻別テーブル６３ａに設定情報を格納するエントリを抑えることができる。
【０１４６】
ラベル値の使用量を抑えることは、ＧＷ４０に保存させる各種テーブル６２ａ〜６５ａに用意すべきエントリ数をより低減させることを可能にする。そのため、各種テーブル６２ａ〜６５ａの保存に要するメモリ容量も低減でき、各種テーブル６２ａ〜６５ａの設定もより迅速に行えるようにすることができる。
【０１４７】
図３７は、他の実施形態におけるラベル付け処理のフローチャートである。次に図３７を参照して、他の実施形態におけるラベル付け処理について詳細に説明する。図３７では、ラベルパスを途中で終端させることを想定し、ラベル付け処理のフローチャートを表している。データ転送経路管理テーブル１１２９、及びラベルデータ転送経路管理テーブル１１３０は既に作成されていることを想定している。
【０１４８】
先ず、転送経路制御部１１０２は、ＧＷ入口出口管理テーブル１１２３を参照し、終端ＧＷ４０−Ｔ候補を一つ、抽出する（ＳＦ５１）。次に転送経路制御部１１０２は、抽出した終端ＧＷ４０−Ｏ候補のＧＷＩＤをキーとして、データ転送経路管理テーブル１１２９に格納された転送経路情報のソートを行う（ＳＦ５２）。
【０１４９】
次に、転送経路制御部１１０２は、ＧＷＩＤを抽出した候補を終端ＧＷ４０−Ｔとするエントリがラベルデータ転送経路管理テーブル１１３０に未設定か否か判定する（ＳＦ５３）。ＧＷＩＤを抽出した終端ＧＷ４０−Ｔ候補を終端とするラベルパスがラベルデータ転送経路管理テーブル１１３０に登録されていない、或いは、そのラベルパスがラベルデータ転送経路管理テーブル１１３０に反映されていない場合、ＳＦ５３の判定はＹｅｓとなってＳＦ５４に移行する。そのラベルパスがラベルデータ転送経路管理テーブル１１３０に反映されている場合、ＳＦ５３の判定はＮｏとなってＳＦ５７に移行する。
【０１５０】
ＳＦ５４では、転送経路制御部１１０２は、空きラベル値管理テーブル１１３１を参照し、未使用のラベル値を特定する。次に転送経路制御部１１０２は、抽出した終端ＧＷ４０−Ｔ候補を終端とするラベルパスに、特定したラベル値を割り当て、空きラベル値管理テーブル１１３１中の割り当てたラベル値を使用中に更新する（ＳＦ５５）。その後、転送経路制御部１１０２は、ラベル値を割り当てたラベルパスをラベルデータ転送経路管理テーブル１１３０に登録する（ＳＦ５６）。
【０１５１】
そのようにしてラベルデータ転送経路管理テーブル１１３０を更新した転送経路制御部１１０２は、次に、ＧＷ入口出口管理テーブル１１２３が終端ＧＷ４０−ＴとするＧＷ４０のなかで他に処理対象としていないＧＷ４０がないか否か判定する（ＳＦ５７）。ＧＷ入口出口管理テーブル１１２３が終端ＧＷ４０−ＴとするＧＷ４０を全て処理対象とした場合、ＳＦ５７の判定はＹｅｓとなり、ここでラベル付け処理が終了する。ＧＷ入口出口管理テーブル１１２３が終端ＧＷ４０−ＯとするＧＷ４０のなかで処理対象としていないＧＷ４０が存在する場合、ＳＦ５７の判定はＮｏとなり、上記ＳＦ５１に戻る。それにより、別の終端ＧＷ４０−Ｏ候補が処理対象として抽出されることとなる。
【０１５２】
なお、上記実施形態、及び他の実施形態でも、メッセージ５０の送信元によって、入口ＧＷ４０−Ｉ、出口ＧＷ４０−Ｏ、或いは終端ＧＷ４０−ＴとするＧＷ４０は異なる。トポロジによっては、メッセージ５０の送信元に係わらず、２台のＧＷ４０間の転送経路を共通のラベルパスとしても良い。
【０１５３】
また、上記実施形態、及び他の実施形態では、中継装置はＧＷ４０のみとしているが、上記のようなメッセージ転送を行えるのであれば、中継装置はＧＷ４０でなくとも良い。中継装置として、複種類の中継装置を採用しても良い。
【０１５４】
また、上記実施形態、及び他の実施形態では、ＧＷ４０は入口ＧＷ４０−Ｉ、出口ＧＷ４０−Ｏ、途中ＧＷ４０（終端ＧＷ４０−Ｔを含む）の何れかに明確に分類する形となっているが、実際は、そうであるとは限らない。ＧＷ４０は、入口ＧＷ４０−Ｉ、出口ＧＷ４０−Ｏ、及び途中ＧＷ４０のうちの２つ以上に該当していることもある。
【０１５５】
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
複数の機器と、１台以上の情報処理装置との間にデータ転送を中継する中継装置が複数、配置されている場合に、
機器と前記情報処理装置の間の転送経路を、前記機器と第１の中継装置との間の第１の部分、前記第１の中継装置と前記転送経路上、前記第１の中継装置より前記情報処理装置側に位置する第２の中継装置との間の第２の部分、及び前記第２の中継装置と前記情報処理装置との間の第３の部分に少なくとも分割し、
前記第１の部分と前記第２の部分、及び前記第２の部分と前記第３の部分との組み合わせをそれぞれ制御して、各機器と前記情報処理装置間のデータ転送を実現させる、
ことを特徴とするデータ転送制御方法。
（付記２）
前記転送経路として、前記機器から前記情報処理装置への前記データ転送のための転送経路を想定し、且つ１台以上の情報処理装置と接続された前記第３の中継装置が複数、存在する場合に、前記第２の部分は、前記第３の中継装置毎に管理する、
ことを特徴とする付記１記載のデータ転送制御方法。
（付記３）
転送されるデータを受信する受信部と、
前記受信部が受信したデータ中から第１のデータを抽出する第１の抽出部と、
前記受信部が受信したデータ中から前記第１のデータとは異なる第２のデータを抽出する第２の抽出部と、
前記受信部が受信したデータの転送先を、前記第１の抽出部が抽出した第１のデータを基に決定する第１の決定部と、
前記受信部が受信したデータの転送先を、前記第２の抽出部が抽出した第２のデータを基に決定する第２の決定部と、
前記第１の決定部、及び前記第２の決定部のうちの一方の決定を有効とさせる制御部と、
前記制御部により決定が有効とされた転送先に、前記受信部が受信したデータを送信する送信部と、
を有することを特徴とする中継装置。
（付記４）
前記第２のデータは、前記第１の抽出部が抽出した前記第１のデータを用いて特定され、前記送信部が送信するデータに付加されるデータである、
ことを特徴とする付記３記載の中継装置。
（付記５）
前記第２のデータが有効か否かを表す転送管理情報を格納した記憶部を有し、
前記記憶部に格納された転送管理情報が有効としていない第２のデータが付加されたデータを前記受信部が受信した場合、前記制御部は、前記第１の決定部の決定を有効とさせる、
ことを特徴とする付記３、または４記載の中継装置。
（付記６）
機器と、情報処理装置との間の転送経路中に、転送されるデータ中の第１のデータを基に前記データを転送させる第１の部分を設定する経路設定部と、
前記経路設定部が設定した第１の部分別に、該第１の部分上に存在する中継装置のなかから、前記データ中の前記第１のデータを基に前記データを転送させる第１の中継装置を選択する第１の選択部と、
前記経路設定部が設定した第１の部分別に、該第１の部分上に存在する中継装置のなかから、前記データ中から抽出される、前記第１のデータとは異なる第２のデータを基に前記データの転送先を決定させる第２の中継装置を選択する第２の選択部と、
前記経路設定部が設定した第１の部分別に、該第１の部分上に存在する中継装置のなかから、前記データ中から前記第２のデータを抽出し、抽出した前記第２のデータに対応付けられた第１のデータを前記データに付加させる第３の中継装置を選択する第３の選択部と、
前記第１の中継装置に、前記第１のデータを基に前記データを転送させるための第１の設定を行う第１の設定部と、
前記第２の中継装置に、前記第２のデータを基に前記データの転送先を決定させるための第２の設定を行う第２の設定部と、
前記第３の中継装置に、前記第２のデータに対応付けられた第１のデータを前記データに付加させるための第３の設定を行う第３の設定部と、
を有することを特徴とするデータ転送制御装置。
（付記７）
前記経路設定部が設定する第１の部分は、前記第１の部分の最後に位置する中継装置を基に、まとめて管理し、
前記第１の部分の管理結果は、前記第１〜第３の設定部による前記第１〜第３の設定に反映させる、
ことを特徴とする付記６記載のデータ転送制御装置。
【符号の説明】
【０１５６】
２１    機器
２１−０、２１−０−１〜２１−０−５    電源タップ
２１−１、２１−１−１〜２１−１−６    スマホ
２３、２３−０、２３−１    サーバ
２４    ＧＷコントローラ
４０、４０−Ｉ、４０−Ｏ、４０−Ｔ、４０−０００〜４０−０４０    ＧＷ
６１    ＧＷ制御部
６２    データ受信部
６３    データラベルマップ部
６４    ラベル転送部
６５    データ送信部
６６    ＧＷ間リンク遅延継続部
１１０１    ＧＷ制御・監視部
１１０２    転送経路制御部
１１０３    アプリ・データ情報管理部
１１０４    データラベルマップ管理部
【図１】
2014183545.tif 000003
【図２】
2014183545.tif 000004
【図３】
2014183545.tif 000005
【図４】
2014183545.tif 000006
【図５】
2014183545.tif 000007
【図６】
2014183545.tif 000008
【図７Ａ】
2014183545.tif 000009
【図７Ｂ】
2014183545.tif 000010
【図７Ｃ】
2014183545.tif 000011
【図７Ｄ】
2014183545.tif 000012
【図８Ａ】
2014183545.tif 000013
【図８Ｂ】
2014183545.tif 000014
【図８Ｃ】
2014183545.tif 000015
【図８Ｄ】
2014183545.tif 000016
【図９Ａ】
2014183545.tif 000017
【図９Ｂ】
2014183545.tif 000018
【図９Ｃ】
2014183545.tif 000019
【図９Ｄ】
2014183545.tif 000020
【図１０Ａ】
2014183545.tif 000021
【図１０Ｂ】
2014183545.tif 000022
【図１０Ｃ】
2014183545.tif 000023
【図１０Ｄ】
2014183545.tif 000024
【図１１】
2014183545.tif 000025
【図１２】
2014183545.tif 000026
【図１４】
2014183545.tif 000027
【図１５】
2014183545.tif 000028
【図１６】
2014183545.tif 000029
【図１７】
2014183545.tif 000030
【図１８】
2014183545.tif 000031
【図１９】
2014183545.tif 000032
【図２０】
2014183545.tif 000033
【図２１】
2014183545.tif 000034
【図２２】
2014183545.tif 000035
【図２３】
2014183545.tif 000036
【図２４】
2014183545.tif 000037
【図２５】
2014183545.tif 000038
【図２６】
2014183545.tif 000039
【図２７】
2014183545.tif 000040
【図２８】
2014183545.tif 000041
【図２９】
2014183545.tif 000042
【図３０】
2014183545.tif 000043
【図３１】
2014183545.tif 000044
【図３２】
2014183545.tif 000045
【図３３Ａ】
2014183545.tif 000046
【図３３Ｂ】
2014183545.tif 000047
【図３３Ｃ】
2014183545.tif 000048
【図３３Ｄ】
2014183545.tif 000049
【図３４Ａ】
2014183545.tif 000050
【図３４Ｂ】
2014183545.tif 000051
【図３４Ｃ】
2014183545.tif 000052
【図３４Ｄ】
2014183545.tif 000053
【図３６】
2014183545.tif 000054
【図３７】
2014183545.tif 000055
【図１３】
2014183545.tif 000056
【図３５】
2014183545.tif 000057
【手続補正書】
【提出日】平成26年1月23日(2014.1.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
転送経路制御部１１０２は、ラベルパスの設定を行う。そのために、ＧＷアドレス管理テーブル１１２１、ＧＷトポロジ管理テーブル１１２２、ＧＷ入口出口管理テーブル１１２３、ＧＷ間リンク状態管理テーブル１１２４、データ転送経路管理テーブル１１２９、及びラベルデータ転送経路管理テーブル１１３０を管理する。これら各種テーブル１１２１〜１１２４、１１２９，及び１１３０は以下のようなテーブルである。これら各種テーブル１１２１〜１１２４、１１２９，及び１１３０について、図１２〜図１５、図１７及び図１８に表す説明図を参照して具体的に説明する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
図１５は、ＧＷリンク状態管理テーブルの構成例を説明する図である。
ＧＷトポロジ管理テーブル１１２２が通信可能とするＧＷ４０間の通信は、常に行えるとは限らない。これは、ＧＷ４０、或いはＧＷ４０と接続されたケーブル等に障害が発生する可能性があるためである。このことから、このＧＷ間リンク状態管理テーブル１１２４は、実際に通信が可能なＧＷ４０間、そのＧＷ４０間の通信に要する時間（遅延時間）を特定するために用いられる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
このＧＷ間リンク状態管理テーブル１１２４は、例えば送信側とするＧＷ４０毎に用意されるテーブルの集合体である。ＧＷ４０毎に用意されるテーブルの各エントリには、図１５に表すように、通信可能なＧＷ４０のＩＤ（図１５中「隣接ＧＷ」と表記）、遅延時間（ｍｓ）、及び通信可能なＧＷ４０のＩＰアドレス、が格納される。通信可能なＧＷ４０は以降「隣接ＧＷ」と表記する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１１５
【補正方法】変更
【補正の内容】
【０１１５】
その依頼により、データラベルマップ管理部１１０４は、データとラベルの関連付け処理を実行する（ＳＦ３１）。このデータとラベルの関連付け処理は、上記各種情報を関連付け、関連付けた情報とラベルパスの関係を特定して、特定した入口ＧＷ４０−Ｉ、及び出口ＧＷ４０−Ｏへの設定を行うための処理である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１１６
【補正方法】変更
【補正の内容】
【０１１６】
図２９は、データとラベルの関連付け処理のフローチャートである。ここで、図２９を参照し、このデータとラベルの関連付け処理について詳細に説明する。
先ず、データラベルマップ管理部１１０４は、アプリ・データ情報管理部１１０３から通知された各種テーブル１１２５〜１１２８を参照し、データの関連付けを行う（ＳＦ４１）。その関連付けにより、タグの内容、機器ＩＤ、識別子の位置情報、サービスアプリを実行するサーバ２３の収容ＧＷ４０のＧＷＩＤ、そのサービスアプリのＩＤ、その機器ＩＤを持つ機器２１の収容ＧＷ４０のＧＷＩＤ、等の組み合わせが特定される。１つの組み合わせされたデータのまとまりは、以降「関連付け情報」と表記する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１１７
【補正方法】変更
【補正の内容】
【０１１７】
次に、データラベルマップ管理部１１０４は、１つの関連付け情報関連付けを選択し、サービスアプリを実行するサーバ２３の収容ＧＷ４０のＧＷＩＤを、出口ＧＷ４０−ＯのＧＷＩＤとして抽出する（ＳＦ４２）。このとき、ＧＷＩＤが抽出された出口ＧＷ４０−Ｉは、識別子抽出テーブル６２ａ、及び出口振分テーブル６５ａの各エントリに格納すべき設定情報（ルール）の配布先とされる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１１８
【補正方法】変更
【補正の内容】
【０１１８】
データラベルマップ管理部１１０４は、次に、抽出したＧＷＩＤをキーとして、ラベルデータ転送経路管理テーブル１１３０を参照し、そのＧＷＩＤを出口ＧＷ４０−Ｏとするラベルパスのラベル値を決定する（ＳＦ４３）。データラベルマップ管理部１１０４は、決定したラベル値のラベルパスに存在する、機器２１の収容ＧＷ４０のＧＷＩＤを入口ＧＷ４０−ＩのＧＷＩＤとして特定する（ＳＦ４４）。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
入口ＧＷ４０−ＩのＧＷＩＤを特定したデータラベルマップ管理部１１０４は、次に、ＧＷＩＤを特定した入口ＧＷ４０−Ｉを、データとラベルを対応つける設定情報（ルール）の配布先ＧＷ４０として決定する（ＳＦ４５）。この設定情報は、識別子抽出テーブル６２ａ、及びデータ峻別テーブル６３ａの各エントリに格納すべき設定情報である。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１２０
【補正方法】変更
【補正の内容】
【０１２０】
ＧＷＩＤを特定した入口ＧＷ４０−Ｉを設定情報の配布先として決定することにより、同じラベル値が割り当てられたラベルパスを対象にした処理が終了する。このことから、データラベルマップ管理部１１０４は、次に、他に出口ＧＷ４０−Ｏがないか否か判定する（ＳＦ４６）。関連付け情報のなかに、サービスアプリを実行するサーバ２３の収容ＧＷ４０のＧＷＩＤを出口ＧＷ４０−ＯのＧＷＩＤとして抽出していない関連付け情報が残っていた場合、ＳＦ４６の判定はＮｏとなって上記ＳＦ４２に戻る。サービスアプリを実行するサーバ２３の収容ＧＷ４０のＧＷＩＤを出口ＧＷ４０−ＯのＧＷＩＤとして抽出していない関連付け情報が残っていない場合、ＳＦ４６の判定はＹｅｓとなり、ここでデータとラベルの関連付け処理が終了する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１２１
【補正方法】変更
【補正の内容】
【０１２１】
図２８の説明に戻る。
上記データとラベルの関連付け処理では、出口ＧＷ４０−ＯのＧＷＩＤの特定により、その出口ＧＷ４０−Ｏに通知すべき識別子抽出テーブル６２ａ、及び出口振分テーブル６５ａの各エントリの設定情報（ルール）が決定される。入口ＧＷ４０−ＩのＧＷＩＤの特定により、その入口ＧＷ４０−Ｉに通知すべき識別子抽出テーブル６２ａ、及びデータ峻別テーブル６３ａの各エントリの設定情報（ルール）が決定される。それにより、データラベルマップ管理部１１０４は、ＧＷＩＤを特定した出口ＧＷ４０−Ｏへの決定した設定情報の通知をＧＷ制御・監視部１１０１に依頼する（Ｓ３６）。その依頼により、ＧＷ制御・監視部１１０１は、ＧＷＩＤが特定された出口ＧＷ４０−Ｏに、決定された設定情報を通知する（Ｓ３７）。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１２３
【補正方法】変更
【補正の内容】
【０１２３】
データラベルマップ管理部１１０４は、同様に、ＧＷＩＤを特定した入口ＧＷ４０−Ｉへの決定した設定情報の通知をＧＷ制御・監視部１１０１に依頼する（Ｓ４０）。その依頼により、ＧＷ制御・監視部１１０１は、ＧＷＩＤが特定された入口ＧＷ４０−Ｉ（ここではフロアＧＷ４０−０００）に、決定された設定情報を通知する（Ｓ４１）。
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図３０
【補正方法】変更
【補正の内容】
【図３０】
2014183545.tif 000058
【手続補正書】
【提出日】平成26年4月15日(2014.4.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の機器と、１台以上の情報処理装置との間にデータ転送を中継する複数の中継装置が配置されているシステムにおけるデータ転送制御方法であって、
第１の機器と第１の情報処理装置の間の転送経路を、前記第１の機器と前記第１の機器から送信されたデータを最初に受信する第１の中継装置との間の転送経路である第１の転送経路、前記第１の中継装置から前記第１の機器からのデータを前記第１の情報処理装置に転送する第２の中継装置までの間の転送経路である第２の転送経路、及び前記第２の中継装置と前記第１の情報処理装置との間の転送経路である第３の転送経路に少なくとも分割し、
前記第１の転送経路と前記第２の転送経路、及び前記第２の転送経路と前記第３の転送経路との組み合わせをそれぞれ制御して、各機器と前記情報処理装置間のデータ転送を実現させる、
ことを特徴とするデータ転送制御方法。
【請求項２】
前記転送経路として、前記機器から前記情報処理装置への前記データ転送のための転送経路を想定し、且つ１台以上の情報処理装置と接続された前記第３の中継装置が複数、存在する場合に、前記第２の転送経路は、前記第３の中継装置毎に管理する、
ことを特徴とする請求項１記載のデータ転送制御方法。
【請求項３】
転送されるデータを受信する受信部と、
前記受信部が受信したデータ中から第１のデータを抽出する第１の抽出部と、
前記受信部が受信したデータ中から前記第１のデータとは異なる第２のデータを抽出する第２の抽出部と、
前記受信部が受信したデータの転送先を、前記第１の抽出部が抽出した第１のデータを基に決定する第１の決定部と、
前記受信部が受信したデータの転送先を、前記第２の抽出部が抽出した第２のデータを基に決定する第２の決定部と、
前記第１の決定部、及び前記第２の決定部のうちの一方の決定を有効とさせる制御部と、
前記制御部により決定が有効とされた転送先に、前記受信部が受信したデータを送信する送信部と、
を有することを特徴とする中継装置。
【請求項４】
前記第２のデータが有効か否かを表す転送管理情報を格納した記憶部を有し、
前記記憶部に格納された転送管理情報が有効としていない第２のデータが付加されたデータを前記受信部が受信した場合、前記制御部は、前記第１の決定部の決定を有効とさせる、
ことを特徴とする請求項３記載の中継装置。
【請求項５】
機器と、情報処理装置との間の転送経路中に、転送されるデータ中の第１のデータを基に前記データを転送させる第１の転送経路を設定する経路設定部と、
前記経路設定部が設定した第１の転送経路別に、該第１の転送経路上に存在する中継装置のなかから、前記データ中の前記第１のデータを基に前記データを転送させる第１の中継装置を選択する第１の選択部と、
前記経路設定部が設定した第１の転送経路別に、該第１の転送経路上に存在する中継装置のなかから、前記データ中から抽出される、前記第１のデータとは異なる第２のデータを基に前記データの転送先を決定させる第２の中継装置を選択する第２の選択部と、
前記経路設定部が設定した第１の転送経路別に、該第１の転送経路上に存在する中継装置のなかから、前記データ中から前記第２のデータを抽出し、抽出した前記第２のデータに対応付けられた第１のデータを前記データに付加させる第３の中継装置を選択する第３の選択部と、
前記第１の中継装置に、前記第１のデータを基に前記データを転送させるための第１の設定を行う第１の設定部と、
前記第２の中継装置に、前記第２のデータを基に前記データの転送先を決定させるための第２の設定を行う第２の設定部と、
前記第３の中継装置に、前記第２のデータに対応付けられた第１のデータを前記データに付加させるための第３の設定を行う第３の設定部と、
を有することを特徴とするデータ転送制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明を適用した１システムでは、複数の機器と、１台以上の情報処理装置との間にデータ転送を中継する複数の中継装置が配置されているシステムにおけるデータ転送制御方法であって、第１の機器と第１の情報処理装置の間の転送経路を、前記第１の機器と前記第１の機器から送信されたデータを最初に受信する第１の中継装置との間の転送経路である第１の転送経路、前記第１の中継装置から前記第１の機器からのデータを前記第１の情報処理装置に転送する第２の中継装置までの間の転送経路である第２の転送経路、及び前記第２の中継装置と前記第１の情報処理装置との間の転送経路である第３の転送経路に少なくとも分割し、前記第１の転送経路と前記第２の転送経路、及び前記第２の転送経路と前記第３の転送経路との組み合わせをそれぞれ制御して、各機器と前記情報処理装置間のデータ転送を実現させる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１５５
【補正方法】変更
【補正の内容】
【０１５５】
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
複数の機器と、１台以上の情報処理装置との間にデータ転送を中継する複数の中継装置が配置されているシステムにおけるデータ転送制御方法であって、
第１の機器と第１の情報処理装置の間の転送経路を、前記第１の機器と前記第１の機器から送信されたデータを最初に受信する第１の中継装置との間の転送経路である第１の転送経路、前記第１の中継装置から前記第１の機器からのデータを前記第１の情報処理装置に転送する第２の中継装置までの間の転送経路である第２の転送経路、及び前記第２の中継装置と前記第１の情報処理装置との間の転送経路である第３の転送経路に少なくとも分割し、
前記第１の転送経路と前記第２の転送経路、及び前記第２の転送経路と前記第３の転送経路との組み合わせをそれぞれ制御して、各機器と前記情報処理装置間のデータ転送を実現させる、
ことを特徴とするデータ転送制御方法。
（付記２）
前記転送経路として、前記機器から前記情報処理装置への前記データ転送のための転送経路を想定し、且つ１台以上の情報処理装置と接続された前記第３の中継装置が複数、存在する場合に、前記第２の転送経路は、前記第３の中継装置毎に管理する、
ことを特徴とする付記１記載のデータ転送制御方法。
（付記３）
転送されるデータを受信する受信部と、
前記受信部が受信したデータ中から第１のデータを抽出する第１の抽出部と、
前記受信部が受信したデータ中から前記第１のデータとは異なる第２のデータを抽出する第２の抽出部と、
前記受信部が受信したデータの転送先を、前記第１の抽出部が抽出した第１のデータを基に決定する第１の決定部と、
前記受信部が受信したデータの転送先を、前記第２の抽出部が抽出した第２のデータを基に決定する第２の決定部と、
前記第１の決定部、及び前記第２の決定部のうちの一方の決定を有効とさせる制御部と、
前記制御部により決定が有効とされた転送先に、前記受信部が受信したデータを送信する送信部と、
を有することを特徴とする中継装置。
（付記４）
前記第２のデータは、前記第１の抽出部が抽出した前記第１のデータを用いて特定され、前記送信部が送信するデータに付加されるデータである、
ことを特徴とする付記３記載の中継装置。
（付記５）
前記第２のデータが有効か否かを表す転送管理情報を格納した記憶部を有し、
前記記憶部に格納された転送管理情報が有効としていない第２のデータが付加されたデータを前記受信部が受信した場合、前記制御部は、前記第１の決定部の決定を有効とさせる、
ことを特徴とする付記３、または４記載の中継装置。
（付記６）
機器と、情報処理装置との間の転送経路中に、転送されるデータ中の第１のデータを基に前記データを転送させる第１の転送経路を設定する経路設定部と、
前記経路設定部が設定した第１の転送経路別に、該第１の転送経路上に存在する中継装置のなかから、前記データ中の前記第１のデータを基に前記データを転送させる第１の中継装置を選択する第１の選択部と、
前記経路設定部が設定した第１の転送経路別に、該第１の転送経路上に存在する中継装置のなかから、前記データ中から抽出される、前記第１のデータとは異なる第２のデータを基に前記データの転送先を決定させる第２の中継装置を選択する第２の選択部と、
前記経路設定部が設定した第１の転送経路別に、該第１の転送経路上に存在する中継装置のなかから、前記データ中から前記第２のデータを抽出し、抽出した前記第２のデータに対応付けられた第１のデータを前記データに付加させる第３の中継装置を選択する第３の選択部と、
前記第１の中継装置に、前記第１のデータを基に前記データを転送させるための第１の設定を行う第１の設定部と、
前記第２の中継装置に、前記第２のデータを基に前記データの転送先を決定させるための第２の設定を行う第２の設定部と、
前記第３の中継装置に、前記第２のデータに対応付けられた第１のデータを前記データに付加させるための第３の設定を行う第３の設定部と、
を有することを特徴とするデータ転送制御装置。
（付記７）
前記経路設定部が設定する第１の転送経路は、前記第１の転送経路の最後に位置する中継装置を基に、まとめて管理し、
前記第１の転送経路の管理結果は、前記第１〜第３の設定部による前記第１〜第３の設定に反映させる、
ことを特徴とする付記６記載のデータ転送制御装置。