(57)【要約】【課題】中継装置にデータの転送規則を設定し、適切なタイミングで中継装置のデータ転送規則を再設定する。【解決手段】  リソース１０３−１０６が接続された中継装置１０２に、リソース１０３−１０６の値に変化があったときに通知する要求を送信する送信手段と、リソース１０３−１０６からの応答から、リソースのデータの有効期限を取得する取得手段と、リソースのデータの有効期限に基づいて、転送規則の有効期限を設定し、中継装置１０２に転送規則を設定する設定手段と、転送規則の失効を検知する検知手段と、転送規則の失効を検知した場合に、前記要求を中継装置１０２に再送信する再送信手段と、再送信した要求に対するリソース１０３−１０６からの応答から、リソースのデータの有効期限を再取得する再取得手段と、再取得したリソースのデータの有効期限に基づいて、転送規則の有効期限を設定し、中継装置１０２に転送規則を再設定する再設定手段と、を備えた。【選択図】  図５
2019080209.tif 000002
【特許請求の範囲】
【請求項１】
管理装置であって、
リソースが接続された中継装置に、前記リソースの値に所定の変化があったときに前記管理装置に通知する要求を送信する送信手段と、
前記要求に対する応答としての前記リソースからの通知から、前記リソースのデータの有効期限を取得する取得手段と、
前記リソースのデータの有効期限に基づいて、データの転送条件と前記転送条件を満たす場合に実行する転送処理の対からなる転送規則の有効期限を設定し、前記中継装置に前記転送規則を設定する設定手段と、
前記転送規則の失効を検知する検知手段と、
前記検知手段が前記転送規則の失効を検知した場合に、前記要求を前記中継装置に再送信する再送信手段と、
前記再送信した要求に対する応答としての前記リソースからの通知から、前記リソースのデータの有効期限を再取得する再取得手段と、
前記再取得したリソースのデータの有効期限に基づいて、前記転送規則の有効期限を設定し、前記中継装置に前記転送規則を再設定する再設定手段と、を有することを特徴とする管理装置。
【請求項２】
前記検知手段は、前記中継装置から前記転送規則を削除したことの通知を受信することによって前記転送規則の失効を検知することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記管理装置はタイマーを有し、
前記検知手段は、前記タイマーが前記転送規則の有効期限の経過を検出することによって前記転送規則の失効を検知することを特徴とする請求項１に記載の管理装置。
【請求項４】
前記設定手段と前記再設定手段の少なくとも一方は、前記転送規則の有効期限に、前記リソースのデータの有効期限を設定することを特徴とする請求項１から３のいずれか一項に記載の管理装置。
【請求項５】
前記設定手段と前記再設定手段の少なくとも一方は、前記リソースからの通知に前記リソースのデータの有効期限が含まれていなかった場合に、前記転送規則の有効期限を所定の時間に設定することを特徴とする請求項１から３のいずれか一項に記載の管理装置。
【請求項６】
管理装置であって、
リソースが接続された中継装置に、前記リソースの値に所定の変化があったときに前記管理装置に通知する要求を送信する送信手段と、
前記要求に対する応答としての前記リソースからの通知から、前記リソースのデータの有効期限を取得する取得手段と、
前記リソースのデータの有効期限に基づいて、データの転送条件と前記転送条件を満たす場合に実行する転送処理の対からなる転送規則が所定時間参照されなかった場合に失効するアイドルタイムアウト時間を設定し、前記中継装置に前記転送規則を設定する設定手段と、
前記転送規則の失効を検知する検知手段と、
前記検知手段が前記転送規則の失効を検知した場合に、前記要求を前記中継装置に再送信する再送信手段と、
前記再送信した要求に対する応答としての前記リソースからの通知から、前記リソースのデータの有効期限を再取得する再取得手段と、
前記再取得したリソースのデータの有効期限に基づいて、前記アイドルタイムアウト時間を設定し、前記中継装置に前記転送規則を再設定する再設定手段と、を有することを特徴とする管理装置。
【請求項７】
前記検知手段は、前記中継装置から前記転送規則を削除したことの通知を受信することによって前記転送規則の失効を検知する、ことを特徴とする請求項６に記載の管理装置。
【請求項８】
前記設定手段は、前記アイドルタイムアウト時間を前記リソースのデータの有効期限より短い時間に設定することを特徴とする請求項６または７に記載の管理装置。
【請求項９】
管理装置であって、
リソースが接続された中継装置に、前記リソースの値に所定の変化があったときに前記管理装置に通知する要求を送信する送信手段と、
前記リソースから受信したデータが所定の転送条件を満たす場合に、該データを情報処理装置と前記管理装置に転送する第一の転送規則を生成し、前記中継装置に設定する第一の設定手段と、
前記第一の転送規則設定後に前記リソースからデータを受信したときに、前記リソースのデータから、前記リソースのデータの有効期限を取得する取得手段と、
前記第一の転送規則を、前記転送条件を満たすリソースからのデータを前記情報処理装置にのみ転送する第二の転送規則に変更し、前記取得手段が取得した前記リソースのデータの有効期限に基づいて、前記第二の転送規則の有効期限を設定し、前記中継装置に前記第二の転送規則を設定する第二の設定手段と、
前記第二の転送規則の有効期限の経過を検知する検知手段と、
前記検知手段が前記第二の転送規則の有効期限の経過を検知した場合に、前記第二の転送規則を、前記第一の転送規則に変更し、前記中継装置に再設定する再設定手段と、を有することを特徴とする管理装置。
【請求項１０】
管理装置であって、
リソースが接続された中継装置に、前記リソースの値に所定の変化があったときに前記管理装置に通知する要求を送信する送信手段と、
前記リソースから受信したデータが所定の転送条件を満たす場合に、該データを情報処理装置と前記管理装置に転送する第一の転送規則と、前記第一の転送規則の設定後に前記リソースから前記転送条件を満たすデータを受信したときに、前記中継装置において前記リソースからのデータを前記情報処理装置にのみ転送する第二の転送規則に、前記第一の転送規則を書き換える設定を、前記中継装置に設定する第一の設定手段と、
前記第一の転送規則設定後に前記リソースからデータを受信したときに、前記リソースのデータから、前記リソースのデータの有効期限を取得する取得手段と、
前記取得手段が取得した前記リソースのデータ有効期限に基づいて、前記第二の転送規則の有効期限を設定する第二の設定手段と、
前記第二の転送規則の有効期限の経過を検知する検知手段と、
前記検知手段が前記第二の転送規則の有効期限の経過を検知した場合に、前記第一の転送規則と該第一の転送規則を前記第二の転送規則に書き換える設定を前記中継装置に再設定する再設定手段と、を有することを特徴とする管理装置。
【請求項１１】
前記管理装置は、ＣｏＡＰ通信プロトコルに準拠したクライアント装置であることを特徴とする請求項１から１０のいずれか一項に記載の管理装置。
【請求項１２】
前記要求は、ＣｏＡＰ通信プロトコルにおけるＯｂｓｅｒｖｅ要求であることを特徴とする請求項１から１１のいずれか一項に記載の管理装置。
【請求項１３】
前記通信装置のデータの有効期限は、ＣｏＡＰ通信プロトコルにおけるＭａｘ−ａｇｅであることを特徴とする請求項１から１２のいずれか一項に記載の管理装置。
【請求項１４】
前記再設定手段は、前記転送規則が失効した場合に、前記転送規則を適用する優先度に基づいて、前記中継装置に前記転送規則を再設定することを特徴とする請求項１から１３のいずれか一項に記載の管理装置。
【請求項１５】
データ転送装置の管理方法であって、
リソースの値に所定の変化があったときに通知する要求を送信する送信工程と、
前記要求に対する応答としての前記リソースからの通知から、前記リソースのデータの有効期限を取得する取得工程と、
前記リソースのデータの有効期限に基づいて、データの転送条件と前記転送条件を満たす場合に実行する転送処理の対からなる転送規則の有効期限を設定し、前記転送規則を設定する設定工程と、
前記転送規則の失効を検知する検知工程と、
前記転送規則の失効を検知した場合に、前記要求を再送信する再送信工程と、
前記再送信した要求に対する応答としての前記リソースからの通知から、前記リソースのデータの有効期限を再取得する再取得工程と、
前記再取得したリソースのデータの有効期限に基づいて、前記転送規則の有効期限を設定し、前記転送規則を再設定する再設定工程と、を有することを特徴とするデータ転送装置の管理方法。
【請求項１６】
データ転送装置の管理方法であって、
リソースの値に所定の変化があったときに通知する要求を送信する送信工程と、
前記要求に対する応答としての前記リソースからの通知から、前記リソースのデータの有効期限を取得する取得工程と、
前記リソースのデータの有効期限に基づいて、データの転送条件と前記転送条件を満たす場合に実行する転送処理の対からなる転送規則が所定時間参照されなかった場合に失効するアイドルタイムアウト時間を設定し、前記転送規則を設定する設定工程と、
前記転送規則の失効を検知する検知工程と、
前記転送規則の失効を検知した場合に、前記要求を再送信する再送信工程と、
前記再送信した要求に対する応答としての前記リソースからの通知から、前記リソースのデータの有効期限を再取得する再取得工程と、
前記再取得したリソースのデータの有効期限に基づいて、前記アイドルタイムアウト時間を設定し、前記転送規則を再設定する再設定工程と、を有することを特徴とするデータ転送装置の管理方法。
【請求項１７】
データ転送装置の管理方法であって、
リソースの値に所定の変化があったときに通知する要求を送信する送信工程と、
前記リソースから受信したデータが所定の転送条件を満たす場合に、該データを第一の装置と第二の装置に転送する第一の転送規則を設定する第一の設定工程と、
前記第一の転送規則設定後に前記リソースからデータを受信したときに、前記リソースのデータから、前記リソースのデータの有効期限を取得する取得工程と、
前記第一の転送規則を、前記転送条件を満たすリソースからのデータを前記第一の装置にのみ転送する第二の転送規則に変更し、前記リソースのデータの有効期限に基づいて、前記第二の転送規則の有効期限を設定し、前記第二の転送規則を設定する第二の設定工程と、
前記第二の転送規則の有効期限の経過を検知する検知工程と、
前記第二の転送規則の有効期限の経過を検知した場合に、前記第二の転送規則を、前記第一の転送規則に変更して再設定する再設定工程と、を有することを特徴とするデータ転送装置の管理方法。
【請求項１８】
データ転送装置の管理方法であって、
リソースの値に所定の変化があったときに通知する要求を送信する送信工程と、
前記リソースから受信したデータが所定の転送条件を満たす場合に、該データを第一の装置と第二の装置に転送する第一の転送規則と、前記第一の転送規則の設定後に前記リソースから前記転送条件を満たすデータを受信したときに、前記データ転送装置において前記リソースからのデータを前記第一の装置にのみ転送する第二の転送規則に、前記第一の転送規則を書き換える設定を、設定する第一の設定工程と、
前記第一の転送規則設定後に前記リソースからデータを受信したときに、前記リソースのデータから、前記リソースのデータの有効期限を取得する取得工程と、
前記リソースのデータ有効期限に基づいて、前記第二の転送規則の有効期限を設定する第二の設定工程と、
前記第二の転送規則の有効期限の経過を検知する検知工程と、
前記第二の転送規則の有効期限の経過を検知した場合に、前記第一の転送規則と該第一の転送規則を前記第二の転送規則に書き換える設定を再設定する再設定工程と、を有することを特徴とするデータ転送装置の管理方法。
【請求項１９】
コンピュータを請求項１から１４の何れか一項に記載の管理装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを転送する装置を管理する管理装置に関する。
【背景技術】
【０００２】
ネットワークに参加している装置間の通信の標準化を目的としたＯＣＦ（Ｏｐｅｎ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｆｏｕｎｄａｔｉｏｎ）という団体がある。ＯＣＦにより標準化された仕様に準拠した技術（以降、ＯＣＦ技術）を利用することにより、装置間でリソースとして表現されたデータの取得や操作を行うことが可能になる。リソースとは、物理的に存在するセンサーや機器を含むモノ（温度センサー、ライトなど）と、モノの振る舞い（ライトの点灯・消灯など）を含む概念である。
【０００３】
なお、リソースを管理する管理装置がリソースと通信するために、ＣｏＡＰ（Ｃｏｎｓｔｒａｉｎｅｄ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）プロトコル（ＲＦＣ７２５２）が用いることができる。ＣｏＡＰではリソースに対して監視要求（Ｏｂｓｅｒｖｅ）を行うことで、リソースの発するセンサーデータの値に変化があったときに、通知（Ｎｏｔｉｆｙ）を受け取ることができる（特許文献１）。また、通知にはセンサーデータのＭａｘ−ａｇｅが含まれる。Ｍａｘ−ａｇｅとは、データの鮮度を保証する時間、即ち、通知されたデータが最新のものとして使用できる有効期限をいう。
【０００４】
また、リソースからの通知を特定のデータ処理サーバに転送して、データ処理サーバにおいてリソースの解析を行う場合、転送制御を行うための技術としてＯｐｅｎＦｌｏｗ（登録商標）を利用することができる。ＯｐｅｎＦｌｏｗでは、データの転送装置（ＯｐｅｎＦｌｏｗスイッチ）と、それを制御する制御装置（ＯｐｅｎＦｌｏｗコントローラ）を分離して設けることにより、データの転送制御を一元的に管理することが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１６−５３５３５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
管理装置がセンサー装置のリソースに対して監視要求（Ｏｂｓｅｒｖｅ）を行い、リソースからの通知（Ｎｏｔｉｆｙ）パケットを転送装置がデータ処理サーバに転送する場合を考える。
【０００７】
この場合、転送装置がリソースからの通知（Ｎｏｔｉｆｙ）パケットをすべて、データ処理サーバへ転送すると、管理装置は通知（Ｎｏｔｉｆｙ）パケットを受け取らないこととなる。このため、管理装置は通知（Ｎｏｔｉｆｙ）パケットに含まれるデータのＭａｘ−ａｇｅを知ることができない。従って、センサーリソースがリセットされて監視（Ｏｂｓｅｒｖｅｄ）状態を失った場合であっても、管理装置は再度監視要求（Ｏｂｓｅｒｖｅ）を行うタイミングを失ってしまう。
【０００８】
そこで、本発明が解決しようとする課題は、管理装置により中継装置にデータの転送規則を設定し、適切なタイミングで必要に応じて中継装置のデータ転送規則を再設定することができる技術を提供する。
【課題を解決するための手段】
【０００９】
本発明の管理装置は、
ネットワークに接続された通信装置からのデータを情報処理装置に中継する中継装置を管理する管理装置であって、
前記中継装置に、データの転送条件と前記転送条件を満たす場合に実行される転送処理の対から成る転送規則を設定する設定手段を有し、
前記設定手段は、所定の時間が経過すると無効になるように前記中継装置に前記転送規則を設定し、前記転送規則が無効になったことを検知し、必要に応じて前記転送規則を前記中継装置に再設定することを特徴とするものである。
【発明の効果】
【００１０】
本発明によれば、管理装置がデータの転送規則を有効な時間とともに中継装置に設定し、データの転送規則の有効な時間の経過を検知することができ、これによって適切なタイミングで必要に応じて中継装置にデータの転送規則を再設定することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による情報処理システムのシステム構成図。
【図２】本発明の一実施形態による機器管理サーバのハードウェアブロック図。
【図３】本発明の一実施形態によるセンサー装置のハードウェアブロック図。
【図４】本発明の一実施形態によるＩｏＴ−ＧＷのハードウェアブロック図。
【図５】本発明の第１実施形態による転送制御のシーケンス図。
【図６】本発明の第１実施形態による転送制御開始時の処理のフローチャート。
【図７】本発明の第１実施形態の転送制御開始時の処理の変形例のフローチャート。
【図８】本発明の第１実施形態によるフローエントリが削除された際の転送制御処理のフローチャート。
【図９】本発明の第２実施形態による転送制御のシーケンス図。
【発明を実施するための形態】
【００１２】
本発明の実施形態について、図面を参照して以下に説明する。なお、本発明において通信装置はセンサー装置に限られないが、理解容易のため通信装置はセンサー装置、中継装置はＩｏＴ−ＧＷ、管理装置は機器管理サーバ、データの処理を行う情報処理装置はセンサーデータ処理サーバを用いて説明する。また、以下の実施形態で説明する特徴の組み合わせの全てが本発明に必須のものとは限らない。
【００１３】
［第１実施形態］
図１は、本実施形態の情報処理システム１００の構成を示す。図１の情報処理システム１００は、センサー装置１０３、１０４、１０５及び１０６を有するＷＳＮ１０８、ＬＡＮ１０７、機器管理サーバ１０１、ＩｏＴ−ＧＷ１０２、センサーデータ処理サーバ１０９を含む。さらにはＷＡＮ１１０を介してＬＡＮ１０７に接続するセンサーデータ処理サーバ１１１を含むように構成されている。なお、本実施形態において、センサー装置１０３、１０４、１０５、及び１０６をまとめて呼称する場合は、センサー装置１０３−１０６と記載する。
【００１４】
ＩｏＴ−ＧＷ１０２は、ＷＳＮ１０８とＬＡＮ１０７の両方に接続する。ＩｏＴ−ＧＷ１０２とＬＡＮ１０７との接続は、例えばＥｔｈｅｒｎｅｔ（登録商標）などの有線接続であってもよいし、Ｗｉ−Ｆｉ（登録商標）などの無線接続であってもよい。そして、ＩｏＴ−ＧＷ１０２は、ＬＡＮ１０７を介して機器管理サーバ１０１及びセンサーデータ処理サーバ１０９と接続してＩＰｖ６通信を実行する。また、ＬＡＮ１０７とＷＡＮ１１０を介してセンサーデータ処理サーバ１１１と接続してＩＰｖ６通信を実行する。さらにＩｏＴ−ＧＷ１０２はＯｐｅｎＦｌｏｗ（登録商標）における、データの転送装置（ＯｐｅｎＦｌｏｗスイッチ）の機能を有する。
【００１５】
センサーデータ処理サーバ１１１は一般にクラウドと呼ばれる仮想化プラットフォーム上にあるサーバであってもよい。なお本実施形態において、ＩｏＴ−ＧＷ１０２は、ゲートウェイとしての機能だけでなく、ネットワークカメラや、プリンタとしての機能を有していても良く、またＩｏＴ−ＧＷ１０２がセンサーを有するような構成を用いても良い。さらに、その他の処理を行うアプリケーションが実行可能なＰＣやスマートフォン、ルータなどであっても良いものとする。またＩＰｖ６通信のほかＩＰｖ４による通信を行ってもよい。なお、本実施形態ではＩｏＴ−ＧＷ１０２がＯｐｅｎＦｌｏｗスイッチの機能を有する構成としたが、別途ＬＡＮ１０７に接続する機器がＯｐｅｎＦｌｏｗスイッチの機能を有してもよい。
【００１６】
機器管理サーバ１０１は、情報処理システムを構成する各機器やセンサー装置について、システムへの接続および設定や状態の管理を行うサーバである。また機器管理サーバ１０１はＩｏＴ−ＧＷ１０２の転送処理ルールを制御する制御装置（ＯｐｅｎＦｌｏｗコントローラ）の機能を有する。機器管理サーバ１０１からフローエントリと呼ばれる転送規則をＩｏＴ−ＧＷ１０２に送信する。フローエントリを受信したＩｏＴ−ＧＷ１０２はそれをフローテーブルに格納し、これを参照することでデータの転送処理を行う。フローエントリには、受信したデータを転送するか否かを判断するための条件（マッチングルール）と、受信データがマッチングルールに適合した場合に実施される処理群（アクションリスト）が含まれている。またフロー情報自体の有効期限（転送規則の有効期限）や、フロー情報（マッチングルールとアクションリスト）が一定時間参照されなかった場合に失効するアイドルタイムアウト時間、フローエントリが何回参照されたかを示すカウンタが含まれている。また、フローエントリを適用する優先順位を示す優先度等の情報が含まれている。
【００１７】
センサーデータ処理サーバ１０９とセンサーデータ処理サーバ１１１は、データ処理を行う情報処理装置であって、情報処理システム内のセンサー装置が送信するセンサーデータの収集、蓄積、解析等を実行する。
【００１８】
一方、ＩｏＴ−ＧＷ１０２とセンサー装置１０３−１０６は、無線ＰＡＮ通信でメッシュネットワークであるＷＳＮ１０８を構築する。ＷＳＮ１０８はメッシュ型のネットワークトポロジーに限定されるものではなく、ＩｏＴ−ＧＷ１０２を中心としたスター型のようなネットワークであってもよい。なお、ＩｏＴ−ＧＷ１０２とセンサー装置１０３−１０６以外の他の装置がＷＳＮ１０８に接続していてもよい。無線ＰＡＮの通信規格は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｚｉｇｂｅｅ（登録商標）、及びＷｉ−ＳＵＮ（登録商標）が挙げられる。ＷＳＮ１０８の通信では、これらの中のいずれかの無線ＰＡＮ規格のプロトコルを使用するが、その上位のネットワーク層のプロトコルには６ＬｏＷＰＡＮを使用するものとしている。
【００１９】
センサー装置１０３―１０６のそれぞれは、６ＬｏＷＰＡＮパケットを含む無線ＰＡＮフレームを送信する。ＩｏＴ−ＧＷ１０２は、ＷＳＮ１０８とＬＡＮ１０７間でパケットの転送を実行する。ＷＳＮ１０８からＬＡＮ１０７へパケットを転送する場合は６ＬｏＷＰＡＮプロトコルのパケットをＩＰｖ６パケットに変換する。逆にＬＡＮ１０７からＷＳＮ１０８へ転送する場合は、ＩＰｖ６パケットを６ＬｏＷＰＡＮパケットに変換する。
【００２０】
情報処理システム１００では、機器管理サーバ１０１が、センサー装置１０３−１０６やＩｏＴ−ＧＷ１０２などの機器、およびそれらの持つセンサーなどをＯＣＦ技術におけるリソースとして管理する。即ち、機器管理サーバ１０１はＯＣＦ技術を用いたデバイス探索を実施することで、センサー装置１０３−１０６やＩｏＴ−ＧＷ１０２を探索する。さらに、機器管理サーバ１０１は、探索したデバイスの持つリソースに対して監視要求（Ｏｂｓｅｒｖｅ）を行い、当該リソースに対して登録、取得、更新、削除、監視の要求パケットを送信することで、センサー装置１０３−１０６やＩｏＴ−ＧＷ１０２の持つリソース情報を取得したり、振る舞いを制御したりすることができる。
【００２１】
次に、機器管理サーバ１０１のハードウェア構成について、図２を参照して説明する。図２の１０１は、図１の機器管理サーバ１０１を表す。機器管理サーバ１０１の内部は、主に、システムバス２０１にＣＰＵ２０２、ＲＡＭ２０３、ＲＯＭ２０４、ＬＡＮ制御部２０７、転送制御管理部２０５、機器リソース管理部２０６が接続するハードウェア構成となっている。システムバス２０１は、接続するＣＰＵ２０２等の各ブロック間でデータを伝達する。
【００２２】
ＣＰＵ２０２で実行するプログラムにはＯＳやアプリケーション、ＴＣＰ／ＩＰプロトコルスタックが含まれる。ＲＡＭ２０３は、機器管理サーバ１０１の主記憶部であって、主に、ＣＰＵ２０２、転送制御管理部２０５、および機器リソース管理部２０６の処理実行時にデータの一時記憶領域として使用される。ＲＯＭ２０４は、ＣＰＵ２０２が実行するソフトウェアプログラムが格納される不揮発性の記憶部である。ＲＯＭ２０４に格納されるプログラムは、ＲＡＭ２０３に転送され、ＣＰＵ２０２によって読み出されて実行される。ＬＡＮ制御部２０７は、ＬＡＮ１０７に接続する通信インターフェースであり、有線ＬＡＮもしくは無線ＬＡＮの通信制御を実行する。例えば、機器管理サーバ１０１が有線ＬＡＮで接続する形態とする場合、ＬＡＮ制御部２０７には伝送メディアのＰＨＹ及びＭＡＣ（伝送メディア制御）ハードウェア回路が含まれる。接続する有線ＬＡＮがＥｔｈｅｒｎｅｔ(登録商標)である場合、ＬＡＮ制御部２０７はＥｔｈｅｒｎｅｔ（登録商標）のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）に相当する。あるいは、機器管理サーバ１０１が無線ＬＡＮで接続する形態とする場合、ＬＡＮ制御部２０７は、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ等の無線ＬＡＮ制御を実行するコントローラ、ＲＦ回路、アンテナが含まれる。
【００２３】
転送制御管理部２０５は、ＯｐｅｎＦｌｏｗスイッチに送信するフローエントリを生成、管理を行う機能部である。またＬＡＮ制御部２０７を介して、ＯｐｅｎＦｌｏｗスイッチとの間でＯｐｅｎＦｌｏｗプロトコルを用いたデータの送受信を行う。なお、本実施形態では転送制御管理部２０５を別回路による構成としたが、ＣＰＵ２０２が実行するプログラムであってもよい。本発明にいう「設定手段」は、ＯｐｅｎＦｌｏｗスイッチにフローエントリを設定及び管理を行う手段であり、形態を問わず、管理転送制御管理部２０５またはＣＰＵ２０２または管理転送制御管理部２０５とＣＰＵ２０２が協働するもの、あるいは別回路でもよい。
【００２４】
機器リソース管理部２０６はＯＣＦ技術のクライアントとして動作するための機能ブロックである。リソースに対する、データ取得（ＲＥＴＲＩＥＶＥ）や、情報の登録（ＣＲＥＡＴＥ）、更新（ＵＰＤＡＴＥ）、削除（ＤＥＬＥＴＥ）などの処理を行うことで、システム内のセンサーデバイスからセンサーデータの取得を行ったり、装置の振る舞いを制御したりする。また、リソースに対してＣｏＡＰ（Ｃｏｎｓｔｒａｉｎｅｄ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いて、監視要求（Ｏｂｓｅｒｖｅ）を行うことで、リソースの発するセンサーデータ値に変化があったときに、通知（Ｎｏｔｉｆｙ）を受け取る。
【００２５】
次に、センサー装置１０３のハードウェア構成の一例について、図３を参照して説明する。図３は、本実施形態のセンサー装置１０３のハードウェア構成を示すブロック図である。図３の１０３が図１のセンサー装置１０３を表す。センサー装置１０３はマイクロプロセッサ、ＲＡＭ、ＲＯＭ、シリアル通信バスインタフェースなどのハードウェアを１つにまとめた集積回路であるＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）３０１と、ＰＡＮ制御部３０２と、センサー部３０３で構成される。ＰＡＮ制御部３０２とセンサー部３０３は、ＵＡＲＴ、Ｉ２Ｃ、ＳＰＩなどのいずれかのシリアル通信バスでＭＣＵ３０１と接続する。
【００２６】
ＭＣＵ３０１は、各々の機能部の制御、無線ＰＡＮプロトコル処理、センサーデータの取得や送信などの処理を実行する。これらの処理は、ＭＣＵ３０１内部に記録されるソフトウェアプログラムとして実装される。
【００２７】
ＰＡＮ制御部３０２は、ＷＳＮ１０８に接続する無線ＰＡＮ規格の通信インターフェースである。図２のＬＡＮ制御部２０７と同等の機能を有する。また、センサー部３０３は、ジャイロ、加速度、方位、距離、振動、温度、湿度、照度、ＵＶ、気圧、ガス、放射能、におい、ドアや窓の開閉、侵入検知など、何らかの値の測定やイベント検知を行うことができるセンサー素子とＡ／Ｄ変換器を含む集積回路である。ＭＣＵ３０１が実行するプログラムは、センサー部３０３からデータを取得してセンサーデータを作成する。そしてセンサーデータをＰＡＮ制御部３０２に出力することでＷＳＮ１０８に送信する。
【００２８】
また、本実施形態においてセンサー装置１０３はＯＣＦ技術のサーバとして動作するためのソフトウェアプログラムを有している。リソースに対する他の装置からの登録、取得、更新、削除の操作要求を受け付けることができる。
【００２９】
なお本実施形態では、センサー装置１０３−１０６は同様のハードウェア構成を持つことを想定するが、センサー部３０３に有するセンサーの種別についてはそれぞれ異なっていても良い。また、センサー部３０３に含まれるセンサーは１つとは限らず、複数の種別のセンサーを有していても良いものとする。
【００３０】
次に、ＩｏＴ−ＧＷ１０２のハードウェア構成について、図４を参照して説明する。図４の１０２は、図１のＩｏＴ−ＧＷ１０２を表す。ＩｏＴ−ＧＷ１０２の内部は、主に、システムバス４０１にＣＰＵ４０２、ＲＡＭ４０３、ＲＯＭ４０４、ＰＡＮ制御部４０８、ＬＡＮ制御部４０７、転送制御部４０５、転送処理部４０６が接続するハードウェア構成となっている。システムバス４０１は、接続するＣＰＵ４０２等の各ブロック間でデータを伝達する。
【００３１】
ＣＰＵ４０２で実行するプログラムにはＯＳやアプリケーション、ＴＣＰ／ＩＰプロトコルスタック、無線ＰＡＮプロトコルスタックが含まれる。ＲＡＭ４０３は、ＩｏＴ−ＧＷ１０２の主記憶部であって、主に、ＣＰＵ４０２、転送制御部４０５、および転送処理部４０６の処理実行時にデータの一時記憶領域として使用される。ＲＯＭ４０４は、ＣＰＵ４０２が実行するソフトウェアプログラムが格納される不揮発性の記憶部である。ＲＯＭ４０４に格納されるプログラムは、ＲＡＭ４０３に転送され、ＣＰＵ４０２によって読み出されて実行される。ＰＡＮ制御部４０８は、ＷＳＮ１０８に接続する無線ＰＡＮ規格の通信インターフェースである。無線ＰＡＮ規格に対応した物理層、ＭＡＣ層の通信制御を実行し、ＷＳＮ１０８との無線接続およびパケットの送受信の機能を提供する。例えばＺｉｇＢｅｅ（登録商標）の場合、ＩＥＥＥ８０２．１５．４に対応した物理リンク制御を実行する。なお、本実施形態では、ＩｏＴ−ＧＷ１０２がメッシュネットワーク構成のＷＳＮ１０８に接続するものとしているが、Ｂｌｕｅｔｏｏｔｈ（登録商標）の場合にはＩｏＴ−ＧＷ１０２とセンサー装置がピアツーピア接続で通信するものとしてもよい。
【００３２】
ＬＡＮ制御部４０７は、ＬＡＮ１０７に接続する通信インターフェースであり、有線ＬＡＮもしくは無線ＬＡＮの通信制御を実行する。ＩｏＴ−ＧＷ１０２が有線ＬＡＮで接続する形態とする場合、ＬＡＮ制御部４０７には伝送メディアのＰＨＹ及びＭＡＣ（伝送メディア制御）ハードウェア回路が含まれる。例えば、接続する有線ＬＡＮがＥｔｈｅｒｎｅｔ(登録商標)である場合、ＬＡＮ制御部４０７はＥｔｈｅｒｎｅｔ（登録商標）のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）に相当する。あるいは、ＩｏＴ−ＧＷ１０２が無線ＬＡＮで接続する形態とする場合、ＬＡＮ制御部４０７は、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ等の無線ＬＡＮ制御を実行するコントローラ、ＲＦ回路、アンテナが含まれる。
【００３３】
転送制御部４０５は、ＰＡＮ制御部４０８がＷＳＮ１０８から受信する無線ＰＡＮフレームを転送処理部４０６の処理対象とするかどうかを判定する。この判定は、無線ＰＡＮフレームが６ＬｏＷＰＡＮパケットを含むか否かを判定することも含まれる。この判定の結果、６ＬｏＷＰＡＮパケットを持つフレームは、無線ＰＡＮ規格のフレーム形式から、転送処理部４０６で処理可能なＥｔｈｅｒｎｅｔフレーム形式に変換する。さらに該フレームのペイロードデータは、６ＬｏＷＰＡＮからＩＰｖ６へパケット形式を変換する。これらの変換処理の後、該フレームを転送処理部４０６に入力する。
【００３４】
転送処理部４０６は、フレーム転送処理を行う機能部である。転送対象フレームには、ＰＡＮ制御部４０８が受信して転送制御部４０５を介して入力されるフレームや、ＣＰＵ４０２が実行するＴＣＰ／ＩＰプロトコルスタックが送信するフレームが含まれる。転送処理部４０６では、入力されたフレームを解析し、該フレームの転送条件をチェックし、該フレームの転送に係る処理を実行する。転送処理部４０６は、ＬＡＮ１０７側に転送するフレームについては、そのヘッダ情報（例えばＥｔｈｅｒｎｅｔヘッダ及びＩＰｖ６ヘッダの各フィールド）を設定する。代表的には、該転送フレームのＩＰｖ６ヘッダ情報の宛先フィールドを設定する。
【００３５】
次に図５を用いて、機器管理サーバ１０１が行うセンサー装置１０３のＯＣＦ準拠のリソース管理処理及び、ＯｐｅｎＦｌｏｗを用いた転送制御についての処理シーケンスを説明する。
【００３６】
まず機器管理サーバ１０１は処理５０１において、監視対象とするセンサー装置１０３を決定する。そして処理５０２において監視要求パケットを送信する。これによりリソースに対してＣｏＡＰ（Ｃｏｎｓｔｒａｉｎｅｄ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いて、監視要求（Ｏｂｓｅｒｖｅ）を行う。
【００３７】
次にＩｏＴ−ＧＷ１０２は処理５０３において、機器管理サーバ１０１から受信した監視要求パケットをセンサー装置１０３が受信可能なセンサーネットワークのフレームに変換を行い、処理５０４においてセンサー装置１０３へ転送を行う。
【００３８】
次にセンサー装置１０３は受信した監視要求を基にセンサー装置１０３が持つリソースを機器管理サーバ１０１の監視状態（Ｏｂｓｅｒｖｅｄ）に移行する。
【００３９】
そして、監視要求を受信したことを通知するため、処理５０５において通知パケットを返信する。なおこの返信パケットにはリソースの鮮度、すなわちリソースのデータの有効期限であるＭａｘ−ａｇｅを含むパケットを送信する。ＩｏＴ−ＧＷ１０２は処理５０６において受信したセンサー装置１０３からのパケットをＬＡＮネットワークに転送可能な形式に変換した後に、転送制御を行うフローテーブルを検索する。検索の結果、該当するフローエントリがフローテーブルに存在していないことを検知して、ＯｐｅｎＦｌｏｗプロトコルのＰａｃｋｅｔ＿Ｉｎメッセージを用いて、処理５０７において転送先のルールを機器管理サーバ１０１へ問い合わせを行う。
【００４０】
次に処理５０８において機器管理サーバ１０１は受信したＰａｃｋｅｔ＿Ｉｎメッセージに含まれるセンサー装置１０３からの通知パケットからＭａｘ−ａｇｅを取得する。
【００４１】
そしてＭａｘ−ａｇｅを用いて、センサー装置１０３からのパケットをセンサーデータ処理サーバ１１１へ転送するルールとなるフローエントリを生成する。
【００４２】
ここで、処理５０８における機器管理サーバ１０１の処理フローについて図６および図７を用いて説明する。
【００４３】
ステップＳ６０１において、監視要求（Ｏｂｓｅｒｖｅ）パケットをセンサー装置１０３に送信する。ステップＳ６０２において、ステップＳ６０１で送信した監視要求パケットに対する通知（Ｎｏｔｉｆｙ）パケットの受信を待機する。なお、図示していないが、パケットのロストなど応答がない場合はＣｏＡＰプロトコルを用いて再送制御を行う。また応答パケットを受信しない場合は、センサー装置１０３を監視対象から除外する等を行ってもよい。通知パケットを受信するとステップＳ６０３へ進む。なお、受信した通知パケットはＯｐｅｎＦｌｏｗプロトコルに準拠したＰａｃｋｅｔ＿Ｉｎメッセージに含まれた情報であることを想定するが、ＯｐｅｎＦｌｏｗスイッチの動作によってはセンサー装置１０３が送信したパケットがそのまま転送されてもよい。
【００４４】
ステップＳ６０４において、受信した通知パケットにＭａｘ−ａｇｅが含まれているかを確認する。Ｍａｘ−ａｇｅはＣｏＡＰで規定されているＭａｘ−ａｇｅオプションが付加されたパケット内の情報である。通知パケットにＭａｘ−ａｇｅが含まれている場合はステップＳ６０４へ進む。含まれていない場合はステップＳ６０５へ進む。
【００４５】
ステップＳ６０４において、ステップＳ６０６の転送ルール設定処理で利用する有効時間情報に、通知パケットから取得したＭａｘ−ａｇｅを設定する。なお、有効時間情報にはＭａｘ−ａｇｅをそのまま設定しても良いが、Ｍａｘ−ａｇｅを基に任意の処理を行って設定しても良く、Ｍａｘ−ａｇｅより短い時間に設定しても良い。Ｍａｘ−ａｇｅより短い時間に設定した場合、後述するようにＭａｘ−ａｇｅより短い時間間隔でセンサー装置の状態を確認することができる。
【００４６】
ステップＳ６０５においては、パケットにＭａｘ−ａｇｅが含まれていないため、あらかじめ定められた所定の値を有効時間情報に設定する。あらかじめ定められた値は管理サーバに設定可能なパラメータであってもよいし、デフォルトで保持する値であってもよい。またその他外部からの制御によって設定可能な値であってもよい。
【００４７】
ステップＳ６０６の転送ルール設定処理について図７を用いて説明する。
【００４８】
ステップＳ７０１において、機器管理サーバ１０１の監視ポリシーを確認する。監視ポリシーとは積極的にセンサー装置が監視状態にあるか否かの確認を行うためのポリシーである。監視ポリシーは、アイドルタイムアウトで設定制御を行うか、フローエントリの有効期限で設定制御を行うか、またどの程度の頻度でセンサー装置１０３の監視状態を確認するかを決めることができる。なお、本監視ポリシーはシステム全体として１つの設定であってもよいし、監視対象のセンサー装置毎ないし、リソース毎に指定可能なものであってもよい。また監視ポリシーは機器管理サーバ１０１に外部ないし、所定の処理によって設定可能な値であってもよいし、あらかじめ起動時等に決められた値であってもよい。なお、本監視ポリシーにより、機器管理サーバ１０１はセンサー装置１０３が監視状態であるかどうか、頻繁に確認を行うか、頻繁に行わないかを制御することが可能となる。頻繁に行う場合は、センサー装置ないしリソースが再起動した等により、監視状態を失ったことを検知する時間を短くすることが可能となるが、一方で機器管理サーバ１０１へ転送されるパケット量が増える。逆に頻繁に行わない場合は監視状態を失ったことを検知するまでにより時間を有するが、機器管理サーバ１０１へ転送されるパケットの量は抑制される。
【００４９】
ステップＳ７０２において、ステップＳ７０１で確認した監視ポリシーに基づいて、アイドルタイムアウトの設定制御を行うか否かの判断を行う。アイドルタイムアウトで設定制御を行う場合はステップＳ７０４へ進み、フローエントリの有効期限で設定制御を行う場合はステップＳ７０３へ進む。
【００５０】
ステップＳ７０３において、フローエントリを生成する際の有効期限に、決定した有効時間情報を設定してステップＳ７０５へ進む。フローエントリの有効期限で設定制御を行う場合は、アイドルタイムアウト値については無効であってもよいし、フローエントリの有効期限よりも長い時間であってもよい。
【００５１】
ステップＳ７０４において、フローエントリを生成する際のアイドルタイムアウト値に、決定した有効時間情報を設定する。アイドルタイムアウトで設定制御を行う場合は、フローエントリの有効期限はアイドルタイムアウトの時間よりも長い時間に指定してもよいし、無効としてもよい。なお、アイドルタイムアウトは、Ｍａｘ−ａｇｅより短い時間を設定することができる。
【００５２】
ステップＳ７０５において、フローエントリの転送ルールに、センサー装置１０３からのパケットを転送先装置へ転送されるようにＩＰアドレス等の変換をしてから転送するルールに指定する。
【００５３】
ステップＳ７０６において生成したフローエントリをＩｏＴ−ＧＷ１０２へ送信する。
【００５４】
以上の処理フローによってＭａｘ−ａｇｅ等に基づいて指定した有効時間情報を用いてフローエントリを生成してＩｏＴ−ＧＷ１０２に設定する。
【００５５】
本実施形態ではフローエントリの有効期限、またはアイドルタイムアウト値を用いてフローエントリが失効することにより、センサー装置からのパケットを機器管理サーバに転送するように制御するが、別の方法であってもよい。たとえばＯｐｅｎＦｌｏｗプロトコルのバージョンアップによって新規に導入されるフローエントリの管理方法を用いてもよい。また、その他フローエントリの制御によって所定のタイミングにおいて、センサー装置からデータ処理サーバへ転送しているパケットを機器管理サーバに転送されるような仕組みであればよい。
【００５６】
次に処理５０９において、機器管理サーバ１０１は生成したフローエントリをＯｐｅｎＦｌｏｗプロトコルのＦｌｏｗ＿ｍｏｄメッセージを用いてＩｏＴ−ＧＷ１０２へ送信し、ＯｐｅｎＦｌｏｗスイッチに転送ルールとして設定を行う。その後、処理５１０において、Ｐａｃｋｅｔ＿ｉｎメッセージで受信したセンサー装置１０３からの通知パケットを、Ｐａｃｋｅｔ＿ｏｕｔメッセージを用いてＩｏＴ−ＧＷ１０２に送り返す。処理５１１においてＩｏＴ−ＧＷ１０２は機器管理サーバ１０１から受信したＯｐｅｎＦｌｏｗプロトコルのＦｌｏｗ＿ｍｏｄメッセージに示されたフローエントリをフローテーブルに設定する。そしてＰａｃｋｅｔ＿ｏｕｔメッセージで受信したセンサー装置１０３からの通知パケットに転送ルールを適用する。この転送ルールによって、センサー装置１０３からの通知パケットの宛先ＩＰアドレスは機器管理サーバ１０１宛てからセンサーデータ処理サーバ１１１宛てへと変換される。そして処理５１２において、センサーデータ処理サーバ１１１へと通知パケットは転送が行われる。センサーデータ処理サーバ１１１へと転送された通知パケットは処理５１３において、センサーデータ処理サーバ１１１でセンサーデータ処理が行われる。このセンサーデータ処理サーバ１１１の処理によって、センサー装置１０３から送信されたセンサーデータが、様々なサービスへと利用される。
【００５７】
処理５１４において、センサー装置１０３がセンサー値の変化を検知する。監視状態であるため、処理５１５において監視要求を行ったＩｏＴ−ＧＷ１０２に、センサーデータを含めた通知パケットを送信する。ＩｏＴ−ＧＷ１０２はセンサー装置１０３からの通知パケットを受信すると、ＬＡＮネットワークに転送可能なフレーム形式に変換する。その後、フローテーブルを参照しセンサー装置１０３から機器管理サーバ１０１へ中継するパケットの、転送ルール確認する。処理５１６においてフローテーブルに登録された転送ルールに従って、宛先ＩＰアドレスの変換等の処理をパケットに施し、処理５１７において通知パケットを転送する。処理５１８においてＩｏＴ−ＧＷ１０２によって転送されたセンサー装置１０３からの通知パケットはセンサーデータ処理サーバ１１１でセンサーデータ処理が行われる。このようにして、機器管理サーバ１０１の制御によって、リソースの発するセンサーデータ値に変化があったときに、センサーデータ処理サーバ１１１は通知（Ｎｏｔｉｆｙ）を受け取ることができるようになる。
【００５８】
ＩｏＴ−ＧＷ１０２はアイドルタイムアウトの時間内にフローエントリを使用してデータ転送を行った場合は、アイドルタイムアウトを更新するが、データ転送を行わずにアイドルタイムアウトの時間が経過すると、処理５１９において、フローエントリが最後に適用してから指定した時間経過したことを検知する。これによりこのフローエントリはアイドルタイムアウト時間参照されなかったことにより失効となる（フローエントリの有効期限によって転送制御する場合はフローエントリの有効期限の経過によって失効となる）。フローエントリが失効したため、処理５２０においてＯｐｅｎＦｌｏｗスイッチであるＩｏＴ−ＧＷ１０２は転送ルールが削除されたことをＯｐｅｎＦｌｏｗコントローラである機器管理サーバ１０１へ通知を行う。機器管理サーバ１０１は処理５２１において、転送ルールが削除されたことを検知して、再度転送ルールを設定するための処理を行う。次に処理５２２において監視要求をセンサー装置１０３へ送信する。処理５２３においてＩｏＴ−ＧＷ１０２は機器管理サーバ１０１から受信した監視要求パケットをセンサー装置１０３が受信可能なセンサーネットワークのフレームに変換を行い、処理５２４においてセンサー装置１０３へ転送を行う。次にセンサー装置１０３は受信した監視要求に対する通知として、処理５２５において通知パケットを返信する。なおこの返信パケットにはリソースの鮮度を示す時間情報であるＭａｘ−ａｇｅを含むパケットを送信する。ＩｏＴ−ＧＷ１０２は処理５２６において受信したセンサー装置１０３からのパケットをＬＡＮに転送可能なフレーム形式に変換する。その後、変換したフレームに適用するフローエントリがフローテーブルに存在しないため、処理５２７において転送ルールの問い合わせを行う。
【００５９】
次に処理５２８において機器管理サーバ１０１は受信した問い合わせメッセージに含まれるセンサー装置１０３からの通知パケットから取得可能な場合、Ｍａｘ−ａｇｅを取得する。
【００６０】
そして取得した値を用いて、センサー装置１０３からのパケットをセンサーデータ処理サーバ１１１へ転送するルールとなるフローエントリを生成する。次に処理５２９において、機器管理サーバ１０１は生成したフローエントリをＩｏＴ−ＧＷ１０２へ送信し、ＯｐｅｎＦｌｏｗスイッチに転送ルールとして設定を行う。Ｍａｘ−ａｇｅが含まれていない場合の処理については後述する方法で値を設定する。
【００６１】
ここで、これら一連の処理５２１からのシーケンスにおける機器管理サーバ１０１の処理フローについて図８を用いて説明する。
【００６２】
ステップＳ８０１において設定したフローエントリの削除通知を受信したかを確認する。フローエントリの削除通知は、機器管理サーバ１０１で生成したフローエントリの有効期限ないし、アイドルタイムアウト時間を経過したことを検知して、ＩｏＴ−ＧＷ１０２から機器管理サーバ１０１へ送信されるＯｐｅｎＦｌｗｏプロトコルに準拠したパケットである。受信していない場合は受信するまで待ち受ける。受信している場合はステップＳ８０２へ進む。
【００６３】
ステップＳ８０２において、設定したフローエントリが失効して削除されたことにより、センサー装置１０３から機器管理サーバ１０１へ通知パケットがすぐに届いているかを確認する。通知パケットを受信している場合はステップＳ８０５へ、通知パケットを受信していない場合はステップＳ８０３へ進む。ステップＳ８０３において、図６のステップＳ６０１で示した監視要求パケットと同じパケットを再度センサー装置１０３へ送信する。ステップＳ８０４において送信した監視要求パケットの応答としての通知パケットを受信するまで待機する。なお、図６同様、再送制御や応答がない場合の制御は図示しないが、別途同様の処理を行うものとする。
【００６４】
ステップＳ８０５において、通知パケットにＭａｘ−ａｇｅが含まれているかを確認する。含まれている場合はステップＳ８０６へ進み、含まれていない場合はステップＳ８０７へ進む。
【００６５】
ステップＳ８０６において、有効時間情報をＭａｘ−ａｇｅの値に決定する。なお、有効時間情報をＭａｘ−ａｇｅに基づいて定めた所定の値に決定してもよい。
【００６６】
ステップＳ８０７において、有効時間情報を所定の値に設定する。すなわち、あらかじめ定められた所定の値、例えば機器管理サーバ１０１が設定可能なパラメータ、あるいはデフォルトで保持する値、あるいは外部からの制御によって設定可能な値に設定する。
【００６７】
ステップＳ８０５、ステップＳ８０６、ステップＳ８０７に示した処理は図６におけるステップＳ６０３、ステップＳ６０４、ステップＳ６０５と同様の処理である。
【００６８】
次にステップＳ８０８において転送ルール設定処理を行い、処理を終了する。
【００６９】
なお、フローエントリの失効と同じタイミングにおいて通知パケットが機器管理サーバ１０１へ届いた場合（Ｓ８０２のＹｅｓの場合）は、センサー装置１０３は監視状態を失っていないと判断し、機器管理サーバ１０１からセンサー装置１０３へ再度監視要求を送信しない。これにより、ネットワークトラフィックを増加するのを防止することができる。
【００７０】
その後、処理５３０において、転送ルールの問い合わせの際に受信したセンサー装置１０３からの通知パケットを、ＩｏＴ−ＧＷ１０２に送り返す。処理５３１においてＩｏＴ−ＧＷ１０２は機器管理サーバ１０１から受信したフローエントリをフローテーブルに設定する。そして機器管理サーバ１０１から送り返されたセンサー装置１０３からの通知パケットに転送ルールを適用する。この転送ルールによって、センサー装置１０３からの通知パケットの宛先ＩＰアドレスは機器管理サーバ１０１宛てからセンサーデータ処理サーバ１１１宛てへと変換される。そして処理５３２において、センサーデータ処理サーバ１１１へと通知パケットは転送が行われる。センサーデータ処理サーバ１１１へと転送された通知パケットは処理５３３において、センサーデータ処理サーバ１１１でセンサーデータ処理が行われる。
【００７１】
以上の処理により機器管理サーバ１０１の制御により、センサー装置１０３の監視要求を行い監視状態の維持をするとともに、センサー装置１０３からのデータをセンサーデータ処理サーバ１１１へ転送することが可能となる。このようにして管理サーバは監視要求を行ったセンサーデバイスから送信される通知パケットをデータ処理サーバないし管理サーバへ中継装置が転送を行うように転送設定する際に、センサーデバイスからの通知パケットに含まれる時間情報をもとに、転送制御を行う。
【００７２】
機器管理サーバ１０１がリソース監視要求とＯｐｅｎＦｌｏｗによる転送制御を行うことで、センサー装置１０３から送信されるセンサーデータ等の情報をセンサーデータ処理サーバ１１１に転送制御を行う。これにより、機器管理サーバ１０１による制御によってセンサーから送信されるデータの処理をクラウド等での処理を実現する。また、機器管理サーバ１０１がセンサーデバイスからの鮮度の経過を受け取ることが可能となるため、適切なタイミングで監視要求の再要求を行うことが可能となる。
【００７３】
また所定のタイミングにおいて転送ルールが失効するように制御することで、機器管理サーバ１０１へ転送されるようになり、また転送ルールが有効な場合は、データ処理サーバにのみ転送することでトラフィックを減らすことが可能となり効率的な処理が可能となる。
【００７４】
なお、本実施形態では上記、構成、フローとしたがセンサー装置のリソースを機器管理サーバが管理し、所定のタイミングにおいてパケットが機器管理サーバに転送されることで適切に鮮度を監視できればよい。また、センサー装置からのデータはセンサーデータ処理サーバに転送されて、所定のタイミング以外では機器管理サーバに転送されないようにＯｐｅｎＦｌｏｗを用いて制御できる構成であればよい。
【００７５】
また、本実施形態では、フローエントリの有効期限の経過によってＩｏＴ−ＧＷ１０２が転送ルールの削除と通知を行うケースについて説明したが、機器管理サーバ１０１がタイマーを有するようにし、タイマーによってフローエントリの有効期限の経過を検知すると、機器管理サーバ１０１からＩｏＴ−ＧＷ１０２へ、センサー装置からのデータを機器管理サーバ１０１に転送する転送ルールに書き換えるように指示をしてもよい。
【００７６】
また、本実施形態ではＯＣＦに準拠した構成で説明したが、ＣｏＡＰを用いた機器の状態監視を行う構成であればよく、ＯＣＦの技術に準拠した構成である必要はない。またＣｏＡＰに限らず、このようなプロトコルを用いて監視される装置からのパケットが、管理サーバの制御によって、データを処理するサーバに転送して処理されつつ、管理サーバによって転送制御を行うことで、無駄なトラフィックを抑える構成であればよい。
【００７７】
また、本実施形態ではフローエントリ内のパラメータであるアイドルタイムアウトないし、フローエントリの有効期限を用いて転送ルールが失効するようにして制御を行った。しかし別途機器管理サーバのタイマー処理によって、Ｍａｘ−ａｇｅ等から取得した時間が経過した場合に、転送ルールを変更ないし、削除することでセンサー装置からのパケットをセンサーデータ処理サーバへ転送されないように制御する方法でもよい。またフローエントリ内の優先度を用いて異なる転送ルールを設定することで機器管理サーバによる管理処理を実現してもよい。
【００７８】
また本実施形態では、機器管理サーバ１０１とＩｏＴ−ＧＷ１０２は別の機器で構成したが、同一の機器内の機能として構成してもよい。つまりこの場合ＯｐｅｎＦｌｏｗコントローラとＯｐｅｎＦｌｏｗスイッチの機能を同一機器内に有する構成となる。またＯｐｅｎＦｌｏｗプロトコルによる機器管理サーバとＩｏＴ−ＧＷとの通信は、ＯｐｅｎＦｌｏｗプロトコルの別の種別のパケットで同様の処理を実現可能であれば、必ずしも同じ種別のパケットである必要はない。
【００７９】
［第２実施形態］
第１実施形態では、機器管理サーバが監視要求を行ったセンサー装置から通知パケットを受信することによって、フローエントリを生成してセンサーデータ処理サーバでデータを転送しつつ、所定の時間が経過するとフローエントリが無効になる方法を示した。この方法によれば、監視要求を再度送信するタイミングを機器管理サーバが検知することができ、監視状態を継続しつつ、ネットワークトラフィックを減らすことができる。
【００８０】
次に本発明の第２実施形態について、図面を参照して説明する。なお、以下の実施形態で説明する特徴の組み合わせの全てが本発明に必須のものとは限らない。また図１、図２、図３、図４は共通図である。
【００８１】
図９を用いて、機器管理サーバ１０１が行うセンサー装置１０３のＯＣＦ準拠のリソース管理処理及び、ＯｐｅｎＦｌｏｗを用いた転送制御についての処理シーケンスを説明する。
【００８２】
まず機器管理サーバ１０１は処理９０１において、監視対象とするセンサー装置１０３を決定し、ＩｏＴ−ＧＷ１０２に対して転送設定を行うフローエントリを生成する。フローエントリはセンサー装置１０３から機器管理サーバ１０１へのパケットを複製し、複製したパケットの宛先をセンサーデータ処理サーバ１１１へ送信するように変換して転送し、もう一方をそのまま機器管理サーバ１０１へ転送するルールである。なお、複製した方を機器管理サーバ１０１に送り、受信したパケットの方をセンサーデータ処理サーバ１１１に送るようにしても無論よい。処理９０１で生成したフローエントリを処理９０２においてＩｏＴ−ＧＷ１０２へ送信する。これはＯｐｅｎＦｌｏｗプロトコルに準拠したパケットで行う。
【００８３】
次に処理９０３において機器管理サーバ１０１は監視対象とするセンサー装置１０３に監視要求パケットを送信する。これによりリソースに対してＣｏＡＰ（Ｃｏｎｓｔｒａｉｎｅｄ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いて、監視要求（Ｏｂｓｅｒｖｅ）を行う。
【００８４】
次にＩｏＴ−ＧＷ１０２は処理９０４において、機器管理サーバ１０１から受信した監視要求パケットをセンサー装置１０３が受信可能なセンサーネットワークのフレームに変換を行い、処理９０５においてセンサー装置１０３へ転送を行う。センサー装置１０３は受信した監視要求を基にセンサー装置１０３が持つリソースを機器管理サーバ１０１の監視状態（Ｏｂｓｅｒｖｅｄ）に移行する。そして、監視要求を受信したことを通知するため、処理９０６において通知パケットを返信する。なおこの返信パケットにはリソースの鮮度を示す時間情報であるＭａｘ−ａｇｅを含むパケットを送信する。ＩｏＴ−ＧＷ１０２は処理９０７において受信したセンサー装置１０３からのパケットをＬＡＮネットワークに転送可能な形式に変換した後にフローテーブルに登録されたフローエントリを適用する。
【００８５】
登録されたフローエントリに従い、通知パケットの複製を行い処理９０８において機器管理サーバ１０１へそのまま転送する。また処理９１０において複製した通知パケットの宛先をセンサーデータ処理サーバ１１１となるようにＩＰアドレス等の変換を行い、センサーデータ処理サーバ１１１へ転送する。
【００８６】
処理９０９において機器管理サーバ１０１は受信したセンサー装置１０３からの通知パケットからＭａｘ−ａｇｅが含まれている場合はその値を取得する。取得したＭａｘ−ａｇｅ時間のタイマーを起動する。なお、通知パケットにＭａｘ−ａｇｅが含まれていない場合は、前述したような別途定めた所定の値を用いてタイマーを起動する。センサー装置１０３から機器管理サーバ１０１へのパケットをセンサーデータ処理サーバ１１１へ転送するフローエントリを生成する。処理９１２において生成したフローエントリをＩｏＴ−ＧＷ１０２へ送信し転送ルールを変更する。これにより、センサー装置１０３から機器管理サーバ１０１へのパケットを複製してセンサーデータ処理サーバ１１１および機器管理サーバ１０１へ転送していたルールを廃止し、センサー装置１０３からのパケットをセンサーデータ処理サーバ１１１のみに転送するルールに書き換えて適用する。
【００８７】
処理９１１においてセンサーデータ処理サーバ１１１へと転送された通知パケットは、センサーデータ処理サーバ１１１でセンサーデータ処理が行われる。このセンサーデータ処理サーバ１１１の処理によって、センサー装置１０３から送信されたセンサーデータが、様々なサービスへと利用される。
【００８８】
処理９１３において、センサー装置１０３がセンサー値の変化を検知すると、監視状態であるため、処理９１４においてＩｏＴ−ＧＷ１０２にセンサーデータを含めた通知パケットを送信する。ＩｏＴ−ＧＷ１０２はセンサー装置１０３からの通知パケットを受信すると、ＬＡＮネットワークに転送可能な形式のフレームに変換を行う。処理９１５においてフローテーブルに登録された転送ルールに従って、宛先ＩＰアドレスの変換等の処理をパケットに施し、処理９１６において通知パケットをセンサーデータ処理サーバ１１１に転送する。処理９１７においてＩｏＴ−ＧＷ１０２によって転送されたセンサー装置１０３からの通知パケットはセンサーデータ処理サーバ１１１でセンサーデータ処理が行われる。このようにして、機器管理サーバ１０１の制御によって、リソースの発するセンサーデータ値に変化があったときに、センサーデータ処理サーバ１１１は通知（Ｎｏｔｉｆｙ）を受け取ることができるようになる。
【００８９】
タイマー時間が経過すると処理９１８において、機器管理サーバ１０１はフローテーブルに登録されたフローエントリの転送ルールを変更するためフローエントリを生成する。フローエントリはセンサー装置１０３から機器管理サーバ１０１へのパケットを複製し、複製したパケットの宛先をセンサーデータ処理サーバ１１１へ送信するように変換して転送し、もう一方をそのまま機器管理サーバ１０１へ転送するルールである。処理９１８で生成したフローエントリを処理９１９においてＩｏＴ−ＧＷ１０２へ送信する。
【００９０】
そして処理９２０において、監視要求をセンサー装置１０３へ送信する。なお、処理９２０において転送ルールを送信後すぐにセンサー装置１０３からの通知パケットを機器管理サーバ１０１が受信した場合、処理９２０における監視要求は送信しなくてもよい。
【００９１】
処理９２１においてＩｏＴ−ＧＷ１０２は、機器管理サーバ１０１から受信した監視要求パケットをセンサー装置１０３が受信可能なセンサーネットワークのフレームに変換を行い、処理９２２においてセンサー装置１０３へ転送を行う。
【００９２】
センサー装置１０３は受信した監視要求を基にセンサー装置１０３が持つリソースを機器管理サーバ１０１の監視状態（Ｏｂｓｅｒｖｅｄ）に移行する。すでに監視状態である場合は監視状態を継続する。そして、監視要求を受信したことを通知するため、処理９２３において通知パケットを返信する。なおこの返信パケットにはリソースの鮮度を示す時間情報であるＭａｘ−ａｇｅを含むパケットを送信する。ＩｏＴ−ＧＷ１０２は処理９２４において受信したセンサー装置１０３からのパケットをＬＡＮに転送可能なフレームに変換し、その後フローテーブルに登録されたフローエントリを適用する。
【００９３】
登録されたフローエントリに従い、通知パケットの複製を行い処理９２５において機器管理サーバ１０１へそのまま転送する。また処理９２４において複製した通知パケットの宛先をセンサーデータ処理サーバ１１１となるようにＩＰアドレス等の変換を行い、処理９２７においてセンサーデータ処理サーバ１１１へ転送する。
【００９４】
処理９２６において機器管理サーバ１０１は受信したセンサー装置１０３からの通知パケットからＭａｘ−ａｇｅが含まれる場合、その値を取得する。取得したＭａｘ−ａｇｅ時間のタイマーを起動する。Ｍａｘ−ａｇｅが含まれていない場合は前述した処理と同様の処理を行う。機器管理サーバ１０１は処理９２６において、センサー装置１０３から機器管理サーバ１０１へのパケットをセンサーデータ処理サーバ１１１のみに転送するフローエントリを生成する。処理９２９において生成したフローエントリをＩｏＴ−ＧＷ１０２へ送信し転送ルールを変更する。これにより、センサー装置１０３から機器管理サーバ１０１へのパケットに適用するルールを変更する。ルールの内容は受信パケットを複製してセンサーデータ処理サーバ１１１および機器管理サーバ１０１へ転送していたルールから、センサー装置１０３からのパケットをセンサーデータ処理サーバ１１１のみに転送するルールとなる。
【００９５】
センサーデータ処理サーバ１１１へと転送された通知パケットは、処理９２８においてセンサーデータ処理サーバ１１１でセンサーデータ処理が行われる。このセンサーデータ処理サーバ１１１の処理によって、センサー装置１０３から送信されたセンサーデータが、様々なサービスへと利用される。
【００９６】
以上、本実施形態によればＯｐｅｎＦｌｏｗコントローラである機器管理サーバ１０１の制御によって、センサー装置１０３のリソースの監視を行い、ＯｐｅｎＦｌｏｗスイッチであるＩｏＴ−ＧＷ１０２の転送ルールの制御を行う。また、監視状態の維持を行う際はセンサーデータ処理サーバ１１１だけでなく、機器管理サーバ１０１へもセンサー装置１０３からのパケットが転送されるようにフローエントリの制御を行う。これにより、常時機器管理サーバ１０１へセンサー装置１０３からのパケットが転送されるのを防ぎつつ、センサーデータ処理サーバ１１１へセンサーデータを転送して処理を行うことが可能となる。また機器管理サーバ１０１による制御によってセンサーから送信されるデータの処理をクラウド等で処理することを実現する。さらには、機器管理サーバ１０１がセンサーデバイスからの鮮度の経過を受け取ることが可能となるため、適切なタイミングで監視要求の再要求を行うことが可能となる。
【００９７】
また所定のタイミングのみ機器管理サーバ１０１へも転送されるように転送ルールを制御することで、データ処理サーバにデータを転送しつつ、機器管理サーバ１０１が処理するトラフィックを減らすことが可能となり効率的な処理が可能となる。
【００９８】
なお、本実施形態では、Ｍａｘ−ａｇｅが経過する前に、機器管理サーバ１０１がＩｏＴ−ＧＷ１０２に対して転送ルールの変更設定を行い（９１９）、センサー装置１０３からのデータを機器管理サーバ１０１とセンサーデータ処理サーバ１１１の双方に転送するようにしたが、機器管理サーバ１０１がＩｏＴ−ＧＷ１０２に対して転送ルールの変更設定を行わないようにすることができる。すなわち、機器管理サーバ１０１が最初にＩｏＴ−ＧＷ１０２に転送ルールを設定するときは、センサー装置１０３からのデータを機器管理サーバ１０１とセンサーデータ処理サーバ１１１の双方に転送する最初の転送ルールを設定する。その状態で、センサー装置１０３からデータを受信すると、機器管理サーバ１０１は当該データからＭａｘ−ａｇｅを取得し、ＩｏＴ−ＧＷ１０２は最初の転送規則を書き換え、それ以降に受信したデータをセンサーデータ処理サーバ１１１のみに転送するようにする。Ｍａｘ−ａｇｅが経過する前に、機器管理サーバ１０１がＩｏＴ−ＧＷ１０２に対して、センサー装置１０３からのデータを機器管理サーバ１０１とセンサーデータ処理サーバ１１１の双方に転送する最初の転送ルールに再び書き換えるようにする。
【００９９】
この方法によれば、Ｍａｘ−ａｇｅ経過時に、機器管理サーバ１０１がＩｏＴ−ＧＷ１０２に対して転送ルールを再設定する通信を省略することができ、通信の負荷を減らすことができる。
【０１００】
なお、本実施形態では機器管理サーバ１０１がセンサー装置１０３から通知パケットを受信すると、ＩｏＴ−ＧＷ１０２に設定していたフローエントリの転送ルールを変更した。そして、タイマーを起動することで再度通知パケットが機器管理サーバ１０１へ転送されるようにして、センサー装置の監視状態が維持されつつ、センサーデータをセンサーデータ処理サーバ１１１へ転送するような処理を示した。本実施形態ではこの手法で転送制御を実施したが、フローエントリの優先度を用いて、設定済みのフローエントリを変更する方法ではなく、新規のフローエントリを追加して優先度の制御によって状況に応じて適用される転送ルールが切り替えられる手法であってもよい。またその際は優先度の高いフローエントリに有効期限ないし、アイドルタイムアウトを設定することで時間の経過によってルールが失効するように制御してもよい。そうすることで機器管理サーバにおけるタイマー制御が不要となり、ＯｐｅｎＦｌｏｗスイッチが持つ機能でフローエントリの制御が可能となる。
【符号の説明】
【０１０１】
１００  情報処理システム
１０１  機器管理サーバ
１０２  ＩｏＴ−ＧＷ
１０３−１０６  センサー装置
１０７  ＬＡＮ
１０８  ＷＳＮ
１０９  センサーデータ処理サーバ
１１０  ＷＡＮ
１１１  センサーデータ処理サーバ
２０１  システムバス
２０２  ＣＰＵ
２０３  ＲＡＭ
２０４  ＲＯＭ
２０５  転送制御管理部
２０６  機器リソース管理部
２０７  ＬＡＮ制御部
３０１  ＭＣＵ
３０２  ＰＡＮ制御部
３０３  センサー部
４０１  システムバス
４０２  ＣＰＵ
４０３  ＲＡＭ
４０４  ＲＯＭ
４０５  転送制御部
４０６  転送処理部
４０７  ＬＡＮ制御部
４０８  ＰＡＮ制御部
【図１】
2019080209.tif 000003
【図２】
2019080209.tif 000004
【図３】
2019080209.tif 000005
【図４】
2019080209.tif 000006
【図５】
2019080209.tif 000007
【図６】
2019080209.tif 000008
【図７】
2019080209.tif 000009
【図８】
2019080209.tif 000010
【図９】
2019080209.tif 000011