(57)【要約】【課題】通信トラフィックの渋滞を招くことなく新しいデータをデータ要求元の装置へ送信することができるゲートウェイ装置を提供する。【解決手段】  データ保有ノードから保有データを取得してキャッシュデータとして記憶し、データ要求元ノードからのデータ要求があった時点において当該キャッシュデータが新しいデータであると判別した場合に当該キャッシュデータを応答データとして当該データ要求元ノードへ送信する。【選択図】図１
2010136272.tif 000002
【特許請求の範囲】
【請求項１】
1つの通信網に属するデータ保有ノードが保有する保有データをデータ要求に応じて前記1つの通信網とは別の通信網に属し且つ前記データ要求を発したデータ要求ノードへ応答データとして中継するゲートウェイ装置であって、
前記保有データを前記データ保有ノードから取得してキャッシュデータとして記憶するデータ記憶部と、
前記データ要求を受信した時点における前記キャッシュデータが新しいデータであると判別した場合に前記データを前記応答データとするキャッシュデータ判別部と、を含むことを特徴とするゲートウェイ装置。
【請求項２】
前記キャッシュデータ判別部は、前記データ要求の受付周期と、前記データ記憶部による前記キャッシュデータを記憶した時刻である記憶時刻と、現在時刻と、に基づいて前記キャッシュデータが新しいデータであるか否かを判別することを特徴とする請求項１に記載のゲートウェイ装置。
【請求項３】
前記キャッシュデータ判別部は、前記記憶時刻が前記現在時刻から前記受付周期の１周期分遡った時刻までの間に存在する場合に前記キャッシュデータが新しいデータであると判別することを特徴とする請求項２に記載のゲートウェイ装置。
【請求項４】
前記データ記憶部は、前記データ要求ノードのうちの１つからの前記データ要求を最後に受け付けた時刻である最終受付時刻と、当該データ要求の受付周期と、に基づいて前記保有データの取得タイミングを決定することを特徴とする請求項１〜３のいずれか１項に記載のゲートウェイ装置。
【請求項５】
前記データ記憶部は、前記最終受付時刻から前記受付周期の１周期分経過した時刻を次回要求受付予測時刻とし、前記次回要求受付予測時刻を前記取得タイミングとすることを特徴とする請求項４に記載のゲートウェイ装置。
【請求項６】
前記データ記憶部は、前記キャッシュデータを記憶した時刻である記憶時刻と、前記データ要求の受付周期と、に基づいて前記保有データの取得タイミングを決定することを特徴とする請求項１〜４のいずれか１項に記載のゲートウェイ装置。
【請求項７】
前記データ記憶部は、前記記憶時刻から前記受付周期の１周期分経過した時刻を前記取得タイミングとすることを特徴とする請求項６に記載のゲートウェイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、1つの通信網に属するノードが保有するデータをデータ要求に応じて当該1つの通信網とは別の通信網に属するノードへ中継するゲートウェイ装置に関する。
【背景技術】
【０００２】
近年、遠隔地からインターネットなどの通信網を介して様々な機器の管理や操作などを行うセンサネットワークやホームネットワークが開発されている。例えば非特許文献１のようなホームネットワークの構築のための業界団体の標準化仕様が策定されている。通常、これらのネットワークは複数のシステムからなる。センサネットワークの場合、センサとその動作を制御する制御機器からなるセンサシステム及び当該センサによって得られたデータを取得して解析するデータ解析機器を含む解析システムなどからなる。これらのシステムは、通信網を介して相互にデータを交換可能であり、ゲートウェイ装置がそのデータの中継を担う。
【０００３】
例えばセンサネットワークにおいて、ある通信網に属するデータ解析機器が他の通信網に属するセンサの測定データを取得する場合にはゲートウェイ装置を経由して取得するが、必ずしも１つのデータ解析機器が１つのセンサにアクセスするとは限らない。例えば、複数のデータ解析機器が１つのセンサにアクセスする場合、あるいは、１つのデータ解析機器が複数のセンサにアクセスする場合がある。前者の場合、データ解析機器の各々へ同一のデータが送信されることとなるので、通信トラフィック上、非効率的である。また、データ解析機器の各々が周期的に測定データを取得する場合にも、同一のデータが送信され得るので非効率的である。後者の場合、１つのデータ解析機器が複数のセンサにマルチキャスト信号により１度にアクセスすると、ゲートウェイ装置が当該複数のセンサの全てにアクセスするので通信トラフィックが増大し、データ取得に長時間を要することになる。
【０００４】
このような問題を解決するためには、例えばゲートウェイ装置にデータをキャッシュ（蓄積、保持又は記憶）する方法が考えられる。データ解析機器からのデータ送信要求に応じたゲートウェイ装置が、当該蓄積されたデータをそのデータ解析機器へ送信するようにすれば、ゲートウェイ装置からのセンサへアクセスする必要がなくなり、その分だけ通信トラフィックを低減できる。例えば特許文献１にはデータベースにデータをキャッシュするセンサネットシステムが開示されている。
【非特許文献１】ＥＣＨＯＮＥＴ  第９部  ＥＣＨＯＮＥＴゲートウェイ仕様  Ｖｅｒ３．２１  ＥＣＨＯＮＥＴ  ｃｏｎｓｏｒｔｉｕｍ  （２００５年１０月１３日）  http://www.echonet.gr.jp/8_kikaku/spec/pdf_v321/SpecVer321_09.pdf
【特許文献１】特開２００７−２４３４７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えばセンサが対象を頻繁に測定する場合には、測定データの更新が短期間で行われるので、ゲートウェイ装置がある時点でセンサから測定データを取得し保持しても、その測定データは既に古いデータとなっている。それゆえ、ゲートウェイ装置が蓄積しているデータをデータ送信要求に応じてデータ解析機器に送信した場合、古いデータを送ってしまうことになる。例えばセンサが火災検知など緊急を要する用途のためのものであれば、新しい測定データをデータ解析機器へ送信する必要がある。
【０００６】
本発明は上記した如き問題点に鑑みてなされたものであって、通信トラフィックの渋滞を招くことなく新しいデータをデータ要求元の装置へ送信することができるゲートウェイ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によるゲートウェイ装置は、1つの通信網に属するデータ保有ノードが保有する保有データをデータ要求に応じて前記1つの通信網とは別の通信網に属し且つ前記データ要求を発したデータ要求ノードへ応答データとして中継するゲートウェイ装置であって、前記保有データを前記データ保有ノードから取得してキャッシュデータとして記憶するデータ記憶部と、前記データ要求を受信した時点における前記キャッシュデータが新しいデータであると判別した場合に前記キャッシュデータを前記応答データとするキャッシュデータ判別部と、を含むことを特徴とする。
【発明の効果】
【０００８】
本発明によるゲートウェイ装置によれば、通信トラフィックの渋滞を招くことなく新しいデータをデータ要求元の装置へ送信することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
【００１０】
図１は本実施例によるゲートウェイ装置１を通信網及びノードと共に表すブロック図である。図1に示されるネットワークシステム１０は、例えば火災や地震等による異常をセンサにより検知して管理者等に通知するセンサネットワークシステム、家庭内のテレビや録画機器などを自動管理して家人にそれらの状態を連絡するホームネットワークシステム、あるいは屋外の気温や天候等を監視して得られた情報を監視者へ提供する環境監視ネットワークシステムなどを構成するものである。以下、ネットワークシステム１０は、センサネットワークシステムを構成するものとして説明する。
【００１１】
ネットワークシステム１０は、ゲートウェイ装置１と、通信網２−１及び２−２と、ノード３−１〜３−Ｎ（Ｎは整数）と、ノード４−１〜４−Ｍ（Ｍは整数）と、を含む。ノード３−１〜３−Ｎは通信網２−１に接続されており、ノード４−１〜４−Ｍは通信網２−２にそれぞれ接続されている。ゲートウェイ装置１は、通信網２−１と通信網２−２との間でデータを中継する。通信網２−１及び２−２は例えばインターネットなどである。
【００１２】
図２は、ノード４−１の構成例を示すブロック図である。ノード４−１は、センサ４１と、データ生成記憶部４２と、データ送信部４３と、を含む。ノード４−１は、例えば屋内に設置され、火災等による異常を検知するための装置などである。
【００１３】
センサ４１は、例えば温度、音、光などの物理エネルギーを感知するセンサである。データ生成記憶部４２は、センサ４１による感知により得られた情報をデータ化して記憶する。以下、当該記憶されているデータを保有データと称する。データ送信部４３は、ゲートウェイ装置１からのデータ要求に応じて、データ生成記憶部４２に記憶されている保有データを、通信網２−２を介してゲートウェイ装置１へ提供する。通信網２−２がインターネットの場合、データ送信部４３は、保有データをパケット形式で通信網２−２へ送出する。以下、このパケットをセンサパケットと称する。ノード４−２〜４−Ｍの各々も同様の構成である。
【００１４】
図３は、ノード３−１の構成例を示すブロック図である。ノード３−１は、データ要求発信部３１と、データ取得部３２と、データ処理部３３と、を含む。ノード３−１は、例えば管理会社に設置され、ノード４−１〜４−Ｍのうちの少なくとも１つから取得した保有データに基づいて火災等の異常が発生していないかを監視するための装置である。
【００１５】
データ要求発信部３１は、ノード４−１〜４−Ｍのうちの少なくとも１つが保有している保有データの送信を要求するためのデータ要求を、通信網２−１を介してゲートウェイ装置１へ発信する。通信網２−１がインターネットの場合、データ要求発信部３１は、当該データ要求をパケット形式で通信網２−１へ送出する。以下、このパケットを要求パケットと称する。データ取得部３２は、データ要求に応じたゲートウェイ装置１からの応答データを、通信網２−１を介して取得する。この応答データは、データ要求にてデータ取得対象のノードとして示すノード（ノード４−１〜４−Ｍのうちの少なくとも１つ）が保有していた保有データを含むデータである。データ処理部３３は、データ取得部３２によって取得された応答データに対して解析処理などを施して、例えば火災等の異常発生の有無を表す有用な情報を管理者等に提供する。ノード３−２〜３−Ｎの各々も同様の構成である。
【００１６】
ノード３−１〜３−Ｎの各々は、ノード４−１〜４−Ｍの少なくとも１つへデータ要求を発するデータ要求ノードである。また、ノード４−１〜４−Ｍの各々は、保有データを保有するデータ保有ノードである。以下、データ保有ノードのうちデータ要求によるデータ取得対象となっているノードを特にデータ取得対象ノードと称する。
【００１７】
図４は、ゲートウェイ装置１の構成例を示すブロック図である。ゲートウェイ装置１は、要求パケット受信部１１と、要求パケット形式変換部１２と、要求パケット送信部１３と、センサパケット受信部１４と、センサ／応答パケット変換部１５と、応答パケット生成部１６と、応答パケット送信部１７と、アクセス情報記憶部１８と、データ記憶部１９と、キャッシュデータ判別部２０と、を含む。  要求パケット受信部１１は、通信網２−１を介してノード３−１〜３−Ｎのうちのいずれかからの要求パケットを受信する。
【００１８】
要求パケット形式変換部１２は、キャッシュデータ判別部２０からの要求パケット中継指示に応じて、要求パケット受信部１１により受信された要求パケットのパケット形式を通信網２−２に適したパケット形式に変換する。
【００１９】
要求パケット送信部１３は、要求パケット形式変換部１２により形式変換された要求パケットを、通信網２−２を介して要求対象のノード（ノード４−１〜４−Ｍのうちの少なくとも１つ）へ送信する。要求パケット送信部１３は、要求パケットが示す要求対象ノードに応じて、ノード４−１〜４−Ｍのうちの１つへのみ要求パケットを送信する場合と、いわゆるマルチキャストによりノード４−１〜４−Ｍのうちの複数へ要求パケットを送信する場合とがある。
【００２０】
センサパケット受信部１４は、通信網２−２を介してノード４−１〜４−Ｎのうちのいずれかからのセンサパケットを受信する。
【００２１】
センサ／応答パケット変換部１５は、センサパケット受信部１４により受信されたセンサパケットのパケット形式を通信網２−１に適したパケット形式に変換して、これを応答データとして生成する。
【００２２】
応答パケット生成部１６は、キャッシュデータ判別部２０からの応答パケット生成指示に応じて、応答パケットを生成する。
【００２３】
応答パケット送信部１７は、キャッシュデータ判別部２０からの応答パケット送信指示に応じて、センサ／応答パケット変換部１５により生成された応答パケット又は応答パケット生成部１６により生成された応答パケットのいずれかを通信網２−１を介してデータ要求元のノード（ノード３−１〜３−Ｎのうちの少なくとも１つ）へ送信する。応答パケット送信部１７は、応答パケットが示す要求元ノードに応じて、ノード３−１〜３−Ｎのうちの１つへのみ応答パケットを送信する場合と、いわゆるマルチキャストによりノード３−１〜３−Ｎのうちの複数へ応答パケットを送信する場合とがある。
【００２４】
アクセス情報記憶部１８は、ノード３−１〜３−Ｎからのアクセスに関する情報を記憶する。図５は、アクセス情報記憶部１８が記憶するアクセス情報テーブルを表す図である。
【００２５】
「要求元ノード」は、ノード３−１〜３−Ｎの各々に個別に割り当てられた識別子である。当該識別子は例えばＩＰアドレスなどであるが、ここでは説明の便宜上、ノード３−１、ノード３−２、・・・、ノード３−Ｎで表す。「データ取得対象ノード」は、要求元ノードがデータ要求の対象としたノードを表す識別子である。当該識別子は例えばＩＰアドレスなどであるが、ここでは説明の便宜上、ノード４−１、ノード４−２、・・・、ノード４−Ｎで表す。
【００２６】
「最終アクセス時刻」は、ノード３−１〜３−Ｎ毎に最後にアクセスがあった時刻すなわち要求パケット受信部１１が最後に要求パケットを受信した時刻（以下、当該時刻を最終受付時刻とも称する）である。「平均アクセス間隔」は、ノード３−１〜３−Ｎ毎のアクセス間隔の平均時間すなわち要求パケット受信部１１によるノード３−１〜３−Ｎ毎の要求パケットの受信間隔の平均時間である。ノード３−１〜３−Ｎの各々が個別の周期的タイミングで要求パケットを送信する場合、平均アクセス間隔は、当該周期的タイミングの１周期分を表す時間となる。つまり、平均アクセス間隔は、データ要求ノードによるアクセス周期の１周期分を表す。
【００２７】
図５に示されるアクセス情報テーブルにおいては、例えばノード３−１はノード４−１をデータ取得対象ノードとしており、最後にアクセスがあった時刻は０８時４５分２５秒であり、その平均アクセス間隔は１０秒である。なお、アクセス情報記憶部１８は、アクセス情報テーブルに記憶すべきこれらの情報をキャッシュデータ判別部２０から受け取る。
【００２８】
データ記憶部１９は、センサパケット受信部１４により受信されたセンサパケットに含まれるデータをキャッシュデータとして記憶する例えばＲＡＭなどのメモリと、そのキャッシュデータの更新タイミングを決定する例えばマイクロプロセッサなどの演算回路とからなる。このとき、データ記憶部１９は、当該キャッシュデータの取得対象のノード（ノード４−１〜４−Ｍのうちいずれか。以下、データ取得対象ノードと称する）及び当該キャッシュデータを記憶した時刻である記憶時刻（以下、キャッシュ時刻又は単に記憶時刻と称する）も併せて記憶する。
【００２９】
図６は、データ記憶部１９が記憶するキャッシュ情報テーブルを表す図である。ここでは、データ取得対象ノードとキャッシュ時刻とが対応付けられて記憶されている。「データ取得対象ノード」は、ノード４−１〜４−Ｍの各々に個別に割り当てられた識別子であり、ノード４−１、ノード４−２、・・・、ノード４−Ｎで表す。例えば、データ取得対象ノード４−１からのセンサパケットに含まれるデータをキャッシュデータとして記憶した場合、その記憶時刻０８時４５分２５秒をキャッシュ時刻として記憶する。同一のデータ取得対象ノードからセンサパケットを複数回、受信した場合には、最後に受信した時刻をキャッシュ時刻として記憶する。
【００３０】
上記のとおり、データ記憶部１９は、ノード４−１〜４−Ｍの少なくとも１によって生成された保有データをキャッシュデータとして記憶する。データ記憶部１９は、ノード４−１〜４−Ｍのうちのいずれの保有データを記憶しても良いが、通信トラフィック混雑の低減の観点からは、アクセス頻度の高いノードの保有データを記憶するのが好ましい。例えば、データ記憶部１９は、アクセス情報テーブルの「平均アクセス間隔」欄の最小値に対応するノード（ノード４−１〜４−Ｍのいずれか）の保有データを記憶する。
【００３１】
データ記憶部１９は、以下のタイミングによりキャッシュデータを更新する。更新タイミングは以下の３つのバリエーションがある。図７は、キャッシュデータの更新タイミングを表すタイムチャートである。以下、図７を参照しつつ、キャッシュデータの更新タイミングについて説明する。
【００３２】
１つ目のバリエーションは、データ記憶部１９は、アクセス情報テーブルの最終アクセス時刻ｔ２（最終受付時刻）と、平均アクセス間隔（受付周期）と、に基づいて更新タイミングを決定するものである。詳細には、データ記憶部１９は、最終アクセス時刻ｔ２から平均アクセス間隔分だけ経過した時刻を次回要求受付予測時刻ｔ５とし、この次回要求受付予測時刻ｔ５までに保有データを取得し、キャッシュデータとして記憶する。より詳細には、データ記憶部１９は、次回要求受付予測時刻ｔ５よりも所定時間αだけ遡った時刻（以下、最終アクセス基準更新時刻ｔ３と称する）を保有データ取得開始のタイミングとする。つまり、データ記憶部１９は、最終アクセス基準更新時刻ｔ３に、要求パケット送信部１３をして要求パケットを取得対象ノードへ送信せしめる。所定時間αは、例えば取得対象ノード（ノード４−１〜４−Ｍのいずれか）から保有データを取得するのに要する取得時間である。所定時間αを取得時間とする場合には、過去の取得履歴に基づいて設定すれば良い。つまり、過去の取得時間の平均値などを所定時間αとすれば良い。
【００３３】
２つ目のバリエーションは、キャッシュ情報テーブルのキャッシュ時刻ｔ１（記憶時刻）と、アクセス情報テーブルの平均アクセス間隔（受付周期）と、に基づいて更新タイミングを決定するものである。詳細には、データ記憶部１９は、キャッシュ時刻ｔ３から平均アクセス間隔分だけ経過した時刻（以下、キャッシュ時刻基準更新時刻ｔ４と称する）を保有データ取得開始のタイミングとする。つまり、データ記憶部１９は、キャッシュ時刻基準更新時刻ｔ４に、要求パケット送信部１３をして要求パケットを取得対象ノードへ送信せしめる。
【００３４】
３つ目のバリエーションは、最終アクセス基準更新時刻ｔ３とキャッシュ時刻基準更新時刻ｔ４のうちのいずれか早い時刻を保有データ取得開始のタイミングとするものである。つまり、データ記憶部１９は、最終アクセス基準更新時刻ｔ３とキャッシュ時刻基準更新時刻ｔ４の両方を算出及び比較していずれか早い方の時刻に、要求パケット送信部１３をして要求パケットを取得対象ノードへ送信せしめる。
【００３５】
データ記憶部１９は、各キャッシュデータについて、キャッシュ時刻から所定時間経過しても更新を行わなかった場合に、対応するキャッシュデータを削除する。当該所定時間としては、アクセス情報テーブルの「平均アクセス間隔」のうち最も短い時間などである。また、データ要求ノードからのアクセスが周期的でない場合もあり得るので、予め任意の所定時間を設定するようにしても良い。
【００３６】
再び図４を参照する。キャッシュデータ判別部２０は、主に２つの処理を行う。その１つは、要求パケット受信部１１により受信された要求パケットに含まれる情報及び当該要求パケットの受信時刻に関する情報をアクセス情報記憶部１８に記憶せしめる処理であり、もう１つは、データ記憶部１９に記憶されているキャッシュデータが新しいものであるか否かを判別する処理である。
【００３７】
キャッシュデータ判別部２０は、要求パケット受信部１１により受信された要求パケットに含まれる要求元ノード識別子、データ取得対象ノード識別子をアクセス情報記憶部１８に記憶せしめる。これらの識別子は例えばＩＰアドレスなどであり、通常、パケットのヘッダに含まれているものである。また、キャッシュデータ判別部２０は、要求パケット受信部１１による要求パケットの受信時刻を最終アクセス時刻としてアクセス情報記憶部１８に記憶せしめる。更に、キャッシュデータ判別部２０は、要求パケット受信部１１による要求パケットの受信間隔を平均アクセス間隔としてアクセス情報記憶部１８に記憶せしめる。最終アクセス時刻及び平均アクセス間隔は、ノード識別子毎に対応付けられて図５に示されるアクセス情報テーブルに記憶される。
【００３８】
キャッシュデータ判別部２０は、データ記憶部１９に記憶されているキャッシュデータが新しいものであるか否かを判別する。詳細には、キャッシュデータ判別部２０は、キャッシュ情報テーブルのキャッシュ時刻と、アクセス情報テーブルの平均アクセス間隔と、現在時刻と、に基づいて判別する。より詳細には、キャッシュデータ判別部２０は、キャッシュ時刻（記憶時刻）が、現在時刻から平均アクセス間隔分だけ遡った時刻までの間に存在する場合にキャッシュデータが新しいデータであると判別する。つまり、データ記憶部１９に記憶されているキャッシュデータが、現時点から遡ってデータ要求ノードによるアクセス周期の１周期分以内に記憶されたものであれば、当該キャッシュデータを新しいデータであると判別する。
【００３９】
図８は、データ応答処理におけるゲートウェイ装置１の動作を表すフローチャートである。以下、図８を参照しつつ、データ応答処理におけるゲートウェイ装置１の動作について説明する。
【００４０】
先ず、要求パケット受信部１１が、通信網２−１を介して要求パケットを受信する（ステップＳ１０１）。要求パケットは、ノード３−１〜３−Ｎのいずれかから発せられたパケットである。
【００４１】
次に、キャッシュデータ判別部２０が、データ取得対象ノードを判別する（ステップＳ１０２）。具体的には、キャッシュデータ判別部２０は、要求パケットに含まれる送信先アドレスを取得し、当該送信先アドレスに対応するノードをデータ要求対象ノードとする。データ要求対象ノードは、ノード４−１〜４−Ｍのいずれかである。マルチキャストにより複数の送信先アドレスが指定されている場合には、各アドレスに対応するノードをデータ要求対象ノードとする。
【００４２】
続いて、キャッシュデータ判別部２０は、データ要求ノードの判別を判別する（ステップＳ１０３）。具体的には、キャッシュデータ判別部２０は、要求パケットに含まれる送信元アドレスを取得し、当該送信元アドレスに対応するノードをデータ要求ノードとする。データ要求ノードは、ノード３−１〜３−Ｎのいずれかである。
【００４３】
続いて、キャッシュデータ判別部２０は、アクセス情報記憶部１８に記憶されているアクセス情報テーブルを更新する（ステップＳ１０４）。キャッシュデータ判別部２０は、ステップＳ１０３にて判別したデータ要求ノードがアクセス情報テーブルに未登録の場合は、当該データ要求ノードを新規に登録する。一方、ステップＳ１０３にて判別したデータ要求ノードがアクセス情報テーブルに既に登録されている場合には、キャッシュデータ判別部２０は、当該データ要求ノードに対応付けられている情報を更新する。
【００４４】
具体的には、キャッシュデータ判別部２０は、ステップＳ１０２にて判別したデータ取得対象ノード、ステップＳ１０１にて要求パケット受信部１１が要求パケットを取得した時刻（最終アクセス時刻）、最終アクセス時刻に基づいて算出した平均アクセス間隔を更新する。例えば、時刻０８時４５分２５秒にノード３−１からノード４−１の保有データを取得すべき要求パケットを受信した場合には、図５の「データ要求ノード」ノード３−１の行に示される如く、データ取得対象ノードをノード４−１、最終アクセス時刻を０８時４５分２５秒、平均アクセス間隔を１０秒として更新する。なお、アクセス情報記憶部１８は、データ要求ノード毎に過去の複数のアクセス時刻を記憶しており、キャッシュデータ判別部２０は、当該複数のアクセス時刻及び最終アクセス時刻に基づいて複数のアクセス間隔を算出し、当該複数のアクセス間隔の平均値を平均アクセス間隔とする。
【００４５】
キャッシュデータ判別部２０は、最終アクセス時刻から一定時間以上経過してもアクセスのないノードの情報についてはアクセス情報テーブルから消去するようにしても良い。全てのノードが要求パケットを周期的に送信するわけではないので、一定時間以上アクセスのない場合には単発的なアクセスであると判別して、記憶容量の確保のため不要な情報を消去するものである。
【００４６】
次に、キャッシュデータ判別部２０は、データ取得対象ノードに対応するキャッシュデータがデータ記憶部１９に記憶されているか否かを判別する（ステップＳ１０５）。例えば、データ取得対象ノードがノード４−１である場合、キャッシュデータ判別部２０は、ノード４−１から取得した保有データがキャッシュデータとしてデータ記憶部１９に記憶されているか否かを判別する。このとき、ノード４−１に対応するキャッシュデータが記憶されている場合には、キャッシュデータ判別部２０は、キャッシュデータを利用可能であると判別してステップＳ１０６の処理へ進む。一方、ノード４−１に対応するキャッシュデータが記憶されていない場合には、キャッシュデータ判別部２０は、キャッシュデータを利用できないと判別してステップＳ１０９の処理へ進む。
【００４７】
キャッシュデータ判別部２０は、キャッシュデータを利用可能と判別した場合、以下の判別を行う。すなわち、キャッシュデータ判別部２０は、現在アクセスのあったデータ要求ノードに対応するデータ取得対象ノードの数が、他のデータ要求ノードに対応するデータ取得対象ノードの数と比較して最小であるか否かを判別する（ステップＳ１０６）。例えば、現在アクセスのあったデータ要求ノードがノード３−１の場合、対応するデータ取得対象ノードの数はノード４−１の１つであり、他のデータ要求ノードに対応するデータ取得対象ノードの数と比較して最小であるのでステップＳ１０７へ進む。また、現在アクセスのあったデータ要求ノードがノード３−３の場合、対応するデータ取得対象ノードの数はノード４−１及び４−２の２つであり、他のデータ要求ノードに対応するデータ取得対象ノードの数と比較して最小ではないので、キャッシュデータを利用した応答パケット生成処理（ステップＳ１０８）へ進む。
【００４８】
データ取得対象ノードの数が多い場合にゲートウェイ装置１から各々のノードへ要求パケットを送信すると、通信網２−２の通信トラフィック量が増加する。これに対して、データ取得対象ノードの数が多い場合にキャッシュデータを利用すれば、通信網２−２における通信トラフィック量の増加を防ぐことができる。また、データ取得対象ノードの数が多い場合、通信トラフィックの混雑等の理由から、データ要求ノードが保有データを取得するのに長時間を要するが、予め取得してあるキャッシュデータをゲートウェイ装置１からデータ要求ノードへ送信することで応答時間を短縮することができる。
【００４９】
キャッシュデータ判別部２０は、ステップＳ１０６においてデータ取得対象ノードの数が最小であると判別した場合、データ記憶部１９に記憶されているキャッシュデータが新しいデータであるか否かを判別する（ステップＳ１０７）。具体的には、キャッシュデータ判別部２０は、データ取得対象ノードに対応するキャッシュデータのキャッシュ時刻（記憶時刻）が、現在時刻から平均アクセス間隔分だけ遡った時刻までの間に存在する場合にキャッシュデータが新しいデータであると判別する。換言すれば、キャッシュ時刻に平均アクセス間隔を加えた時刻が現在時刻よりも後であれば、新しいデータであると判別する。
【００５０】
つまり、キャッシュデータ判別部２０は、データ記憶部１９に記憶されているキャッシュデータが、現時点から遡ってデータ要求ノードによるアクセス周期の１周期分以内に記憶されたものであれば、当該キャッシュデータを新しいデータであると判別する。例えば、データ取得対象ノード４−１に対応するキャッシュデータのキャッシュ時刻が０８時４５分２５秒であり、データ要求ノード３−１からの要求パケットの受信時刻つまり現在時刻が０８時４５分３５秒である場合、キャッシュ時刻０８時４５分２５秒に平均アクセス時間隔１０秒を加えて得られた時刻０８時４５分３５秒が、現在時刻が０８時４５分３５秒と同一であるのでステップＳ１０７へ進む。また、例えば、データ取得対象ノード４−１に対応するキャッシュデータのキャッシュ時刻が０８時４５分２５秒であり、データ要求ノード３−２からの要求パケットの受信時刻つまり現在時刻が０８時４５分２８秒である場合、キャッシュ時刻０８時４５分２５秒に平均アクセス時間隔２０秒を加えて得られた時刻０８時４５分４５秒が、現在時刻が０８時４５分２８秒より後であるのでステップＳ１０８へ進む。
【００５１】
キャッシュデータ判別部２０は、ステップＳ１０６においてデータ取得対象ノードの数が最小であると判別した場合、又は、ステップＳ１０７においてキャッシュデータが新しいデータであると判別した場合、応答パケット生成部１６へ応答パケット生成指示を発する。応答パケット生成部１６は、応答パケット生成指示に応じてデータ記憶部１９に記憶されているキャッシュデータを含む応答パケットを生成する（ステップＳ１０８）。
【００５２】
応答パケット生成部１６は、応答パケットの送信先をデータ要求ノードのアドレスとして応答パケット送信部１７へ与える。応答パケット送信部１７は、応答パケットを、通信網２−１を介してデータ要求ノードへ送信する（ステップＳ１１１）。
【００５３】
キャッシュデータ判別部２０は、ステップＳ１０６においてキャッシュデータを利用できないと判別した場合、データ取得対象ノードから保有データを取得する処理を開始する（ステップＳ１０９）。具体的には、要求パケット形式変換部１２が、要求パケット受信部１１により受信された要求パケットの形式を通信網２−２で伝送可能な形式に変換する。続いて、要求パケット送信部１３が、当該変換された要求パケットを、通信網２−２を介してデータ取得対象ノードへ送信する。例えばデータ取得対象ノードがノード４−１である場合、当該要求パケットに応じたノード４−１が、保有データを含むセンサパケットを、通信網２−２を介してゲートウェイ装置１へ送信する。
【００５４】
センサパケット受信部１４は、データ取得対象ノードからのセンサパケットを受信し（ステップＳ１０９）、センサ／応答パケット変換部１５へ与える。センサ／応答パケット変換部１５は、センサパケットのパケット形式を通信網２−１で伝送可能な形式に変換し、これを応答パケットとして応答パケット送信部１７へ与える（ステップＳ１１０）。応答パケット送信部１７は、通信網２−１を介して応答パケットをデータ要求ノードへ送信する（ステップＳ１１１）。
【００５５】
以上で、ゲートウェイ装置１は、データ要求ノードからデータ要求があった場合のデータ応答処理を終了する。ゲートウェイ装置１は、データ要求ノードからのデータ要求がある毎に上記したデータ応答処理を実行する。なお、キャッシュデータ判別部２０は、キャッシュデータを利用可能であるか否かの判別後（ステップＳ１０５の処理の後）、データ取得対象ノードの数の判定処理（ステップＳ１０６の処理）を経ずに、キャッシュデータが新しいデータであるか否かの判定処理（ステップＳ１０７の処理）に進むようにしても良い。
【００５６】
このように、ゲートウェイ装置１は、データ要求ノードからのデータ要求が示すデータ取得対象ノードのデータを予めキャッシュデータとして記憶している場合に、そのキャッシュデータが新しいデータであればこれをデータ要求ノードへ送信する。一方、キャッシュデータが古いデータであれば、ゲートウェイ装置１は新たにデータ取得対象ノードからデータを取得してこれをデータ要求ノードへ送信する。
【００５７】
図９は、データ応答処理におけるノード３−１〜３−３、ゲートウェイ装置１、ノード４−１及び４−２の動作を表すシーケンス図である。ノード３−１は、ノード４−１の保有データを取得するためのデータ要求を１０秒周期で発する。ノード３−２は、ノード４−１の保有データを取得するためのデータ要求を２０秒周期で発する。ノード３−３は、ノード４−１及び４−２の保有データを取得するためのデータ要求を１０秒周期で発する。このとき、ノード３−３は、いわゆるマルチキャストによりゲートウェイ装置１へ１つのパケットでデータ要求を発する。
【００５８】
ゲートウェイ装置１は、ノード３−１からのデータ要求を受け付けた時点で（ステップＳ２０１）、当該データ要求が示すデータ取得対象ノード４−１のデータをキャッシュデータとして記憶していなければ、ノード４−１に対してデータ要求を発し（ステップＳ２０２）、ノード４−１のセンスデータを取得する（ステップＳ２０３）。続いてゲートウェイ装置１は、当該取得したセンスデータを応答データとしてノード３−１に送信する（ステップＳ２０４）。
【００５９】
一方、ゲートウェイ装置１は、ノード３−１からのデータ要求を受け付けた時点で（ステップＳ２０１）、当該データ要求が示すデータ取得対象ノード４−１のデータをキャッシュデータとして記憶していれば、ステップＳ２０２及びステップＳ２０３を経ずに当該キャッシュデータを応答データとしてノード３−１に送信する（ステップＳ２０４）。
【００６０】
ゲートウェイ装置１は、ノード３−２からのデータ要求を受け付けた時点においては（ステップＳ２０５）、データ取得対象ノード４−１のセンスデータをキャッシュデータとして記憶しているので、当該キャッシュデータを応答データとしてノード３−２に送信する（ステップＳ２０６）。
【００６１】
ゲートウェイ装置１は、ノード３−３からのデータ要求を受け付けた時点においては（ステップＳ２０７）、データ取得対象ノード４−１のセンスデータをキャッシュデータとして記憶しているものの、同じくデータ取得対象ノードであるノード４−２のセンスデータはキャッシュデータとして記憶していないので、ノード４−２に対してデータ要求を発し（ステップＳ２０８）、ノード４−２のセンスデータを取得する（ステップＳ２０９）。続いてゲートウェイ装置１は、当該取得したノード４−２のセンスデータ及びノード４−１のキャッシュデータを応答データとしてノード３−３に送信する（ステップＳ２１０）。
【００６２】
ゲートウェイ装置１は、１０秒周期でノード３−１から発せられるデータ要求に応じて（ステップＳ２１１）、上記したのと同様の処理にて応答データをノード３−１に送信する（ステップＳ２１２）。また、ゲートウェイ装置１は、１０秒周期でノード３−３から発せられるデータ要求に応じて（ステップＳ２１３）、上記したのと同様の処理にて応答データをノード３−１に送信する（ステップＳ２１４）。
【００６３】
一方、ゲートウェイ装置１は、ステップＳ２１１におけるノード３−１からの最終アクセス時刻から平均アクセス時間−αの時間経過後にノード４−１のキャッシュデータの更新を開始する。つまり、ノード４−１へデータ要求を発し（ステップＳ２１５）、ノード４−１からのセンスデータを受信しこれをキャッシュデータとして記憶する（ステップＳ２１６）。なお、上記の更新タイミングは最終アクセス基準更新時刻を更新開始タイミングとした場合の例であるが、図７に示したようにキャッシュ時刻基準更新時刻を更新開始タイミングとしても良い。
【００６４】
続いてゲートウェイ装置１は、ノード３−１からデータ要求があった場合（ステップＳ２１７）及びノード３−２からデータ要求があった場合（ステップＳ２１８）共に、当該更新後のキャッシュデータを応答データとしてノード３−１及び３−２へそれぞれ発する。ゲートウェイ装置１は、以降も同様に、上記したデータ応答の処理とキャッシュ更新の処理を反復する。
【００６５】
上記したように本実施例によるゲートウェイ装置は、データ取得対象ノードが保持しているデータを予め取得し、これをキャッシュデータとして記憶する。ゲートウェイ装置は、データ要求ノードからのデータ要求に応じて当該データ要求が示すデータ取得対象ノードのキャッシュデータを記憶しているか否かを判別し、更に当該キャッシュデータが新しいデータであると判別した場合にこれをデータ要求ノードへ送信する。一方、ゲートウェイ装置は、当該キャッシュデータが新しいデータではないと判別した場合には、データ要求ノードから新たにデータを取得しこれを応答データとしてデータ要求ノードへ送信する。
【００６６】
このような処理を行うので、本実施例によるゲートウェイ装置によれば、通信トラフィックの混雑を減らし且つ新しいデータをデータ要求ノードへ送信することができる。また、アクセスがあった後にデータ取得対象ノードからデータを取得してからデータ要求ノードへ保有データを送信するのではなく、予め取得してあるキャッシュデータをゲートウェイ装置からデータ要求ノードへ送信するので応答時間を短縮することもできる。
【００６７】
上記した実施例は、キャッシュデータを利用可能な場合には、そのキャッシュデータを応答データとしてデータ要求ノードへ送信する例であるが、キャッシュデータを利用可能な場合であっても強制的にデータ取得対象ノードからデータを取得するようにしても良い。このような処理は例えばデータ要求信号に強制取得フラグを設けることにより実現できる。この場合、データ要求ノードは強制取得フラグをオン又はオフに設定する強制取得フラグ設定機能を有し、データの強制取得を望むデータ要求ノードが、強制取得フラグをオンにしてデータ要求信号を送信する。ゲートウェイ装置は強制取得フラグがオンであるかオフであるかを判別する強制取得フラグ判別手段を有し、強制取得フラグがオンであると判別した場合、キャッシュデータの有無にかかわらず、データ取得対象ノードへデータ要求を発してデータを取得する。このようにすれば、例えば処理対象のデータの種類やデータ取得の緊急度などの条件に応じてノード毎にデータ取得方法を設定でき、柔軟なデータ中継を実現できる。
【００６８】
また、上記した実施例は、記憶されているキャッシュデータが、現在時刻から遡ってアクセス周期の１周期分以内に記憶されたものであれば、新しいデータであると判別する例であるが、必要に応じて例えば２周期分以内など、遡る周期数を変更しても良い。
【００６９】
また、上記した実施例はセンサデータの中継の例であるが、中継対象のデータは、例えばホームネットワークシステムにおけるテレビや録画機器等の状態を表す家電機器データや、環境監視ネットワークシステムにおける気温や雨量等の気象データなどでも良く、データの種類に制限はない。
【図面の簡単な説明】
【００７０】
【図１】本実施例によるゲートウェイ装置を通信網及びノードと共に表すブロック図である。
【図２】データ保有ノードの構成例を示すブロック図である。
【図３】データ要求ノードの構成例を示すブロック図である。
【図４】ゲートウェイ装置の構成例を示すブロック図である。
【図５】アクセス情報テーブルを表す図である。
【図６】キャッシュ情報テーブルを表す図である。
【図７】キャッシュデータの更新タイミングを表すタイムチャートである。
【図８】データ応答処理におけるゲートウェイ装置の動作を表すフローチャートである。
【図９】データ応答処理におけるノード及びゲートウェイ装置の動作を表すシーケンス図である。
【符号の説明】
【００７１】
１  ゲートウェイ装置
２−１、２−２  通信網
３−１〜３−Ｎ  ノード
４−１〜４−Ｍ  ノード
１０  ネットワークシステム
１１  要求パケット受信部
１２  要求パケット形式変換部
１３  要求パケット送信部
１４  センサパケット受信部
１５  センサ／応答パケット変換部
１６  応答パケット生成部
１７  応答パケット送信部
１８  アクセス情報記憶部
１９  データ記憶部
２０  キャッシュデータ判別部
３１  データ要求発信部
３２  データ取得部
３３  データ処理部
４１  センサ
４２  データ生成記憶部
４３  データ送信部
【図１】
2010136272.tif 000003
【図２】
2010136272.tif 000004
【図３】
2010136272.tif 000005
【図４】
2010136272.tif 000006
【図５】
2010136272.tif 000007
【図６】
2010136272.tif 000008
【図７】
2010136272.tif 000009
【図８】
2010136272.tif 000010
【図９】
2010136272.tif 000011