(57)【特許請求の範囲】
【請求項１】
コンテンツデータを識別するコンテンツ識別情報に対応付けて、隣接する中継装置のうち、前記コンテンツデータをバッファメモリに格納している中継装置に接続される中継装置の宛先が登録された経路制御表を記憶する経路制御表記憶部と、
前記コンテンツデータを受信した場合に、該コンテンツデータをバッファメモリに格納する格納部と、
前記コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータが前記バッファメモリに記憶されている場合には、該バッファメモリからコンテンツデータを読み出して、該コンテンツデータを要求元の端末に送信するデータ送信部と、
前記コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータが前記バッファメモリに記憶されていない場合には、前記経路制御表記憶部が記憶する経路制御表を参照し、前記コンテンツデータのコンテンツ識別情報に対応付けられた、隣接する中継装置へコンテンツデータを要求する要求部と、
前記格納部によってコンテンツデータが格納された場合には、該コンテンツデータの送信元の中継装置および該コンテンツデータの送信先の中継装置以外の隣接する他の中継装置に対して、該格納されたコンテンツデータに対応付けて、コンテンツデータの要求先の中継装置の情報として自装置の宛先を経路制御表に登録する旨の登録要求を送信する登録送信部と、
他の中継装置から前記登録要求を受信した場合には、該受信した登録要求に応じて、前記コンテンツ識別情報に対応付けて、前記登録要求を送信した中継装置の宛先または該登録要求を転送した中継装置の宛先を前記経路制御表に登録する登録部と、
他の中継装置から前記登録要求を受信した場合には、該受信した登録要求を該登録要求の送信元の中継装置以外の隣接する他の中継装置に転送する登録転送部と
を有することを特徴とする中継装置。
【請求項２】
前記登録送信部は、前記格納部に格納されたコンテンツデータの種別に応じて、前記登録要求を送信するか否かを判定し、該登録要求を送信すると判定した場合には、該登録要求を隣接する他の中継装置に送信することを特徴とする請求項１に記載の中継装置。
【請求項３】
前記バッファメモリに記憶されたコンテンツデータが削除された場合には、隣接する他の中継装置に対して、該削除されたコンテンツデータのコンテンツ識別情報と対応付けて記憶されたコンテンツデータの要求先に関する情報を前記経路制御表から削除する旨の削除要求を送信する削除送信部と、
他の中継装置から前記削除要求を受信した場合には、該受信した削除要求に応じて、前記コンテンツ識別情報と対応付けて記憶されたコンテンツデータの要求先に関する情報を前記経路制御表から削除する削除部と、
他の中継装置から前記削除要求を受信した場合には、該受信した削除要求を隣接する他の中継装置に転送する削除転送部と
をさらに有することを特徴とする請求項１または２に記載の中継装置。
【請求項４】
前記登録送信部は、前記登録要求が転送される範囲を指定する情報を該登録要求に設定して、該登録要求を隣接する他の中継装置に送信し、
前記削除送信部は、前記削除要求が転送される範囲を指定する情報を該削除要求に設定して、該削除要求を隣接する他の中継装置に送信することを特徴とする請求項３に記載の中継装置。
【請求項５】
前記登録送信部は、前記経路制御表に登録する期間の情報を該登録要求に設定して、該登録要求を隣接する他の中継装置に送信し、
前記削除部は、前記登録要求に設定された前記経路制御表が登録される期間を経過した場合には、前記コンテンツ識別情報と対応付けて記憶されたコンテンツデータの要求先に関する情報を前記経路制御表から削除することを特徴とする請求項３に記載の中継装置。
【請求項６】
前記登録送信部は、コンテンツが参照された回数の情報を該登録要求に設定して、該登録要求を隣接する他の中継装置に送信し、
前記削除部は、前記登録要求に設定されたコンテンツが参照された回数の情報に応じて、該コンテンツに係る情報が経路制御表に登録される期間を決定し、該登録される期間を経過した場合には、前記コンテンツ識別情報と対応付けて記憶されたコンテンツデータの要求先に関する情報を前記経路制御表から削除することを特徴とする請求項３に記載の中継装置。
【請求項７】
前記削除部は、前記要求部によってコンテンツデータの要求が行われた際に、該要求されたコンテンツデータの要求に対する応答が無かった回数に応じて、前記コンテンツ識別情報と対応付けて記憶されたコンテンツデータの要求先に関する情報を前記経路制御表から削除することを特徴とする請求項３に記載の中継装置。
【請求項８】
前記削除部は、前記要求部によってコンテンツデータの要求が行われた際に、該要求されたコンテンツデータの要求に対する応答が無かった回数と前記要求されたコンテンツデータの要求に対する応答を受信した回数との比率に応じて、前記コンテンツ識別情報と対応付けて記憶されたコンテンツデータの要求先に関する情報を前記経路制御表から削除することを特徴とする請求項３に記載の中継装置。
【請求項９】
中継装置で実行される中継方法であって、
コンテンツデータを受信した場合に、該コンテンツデータをバッファメモリに格納する格納工程と、
前記コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータが前記バッファメモリに記憶されている場合には、該バッファメモリからコンテンツデータを読み出して、該コンテンツデータを要求元の端末に送信するデータ送信工程と、
前記コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータが前記バッファメモリに記憶されていない場合には、前記コンテンツデータを識別するコンテンツ識別情報に対応付けて、隣接する中継装置のうち、前記コンテンツデータをバッファメモリに格納している中継装置に接続される中継装置の宛先が登録された経路制御表を参照し、前記コンテンツデータのコンテンツ識別情報に対応付けられた、隣接する中継装置へコンテンツデータを要求する要求工程と、
前記格納工程によってコンテンツデータが格納された場合には、該コンテンツデータの送信元の中継装置および該コンテンツデータの送信先の中継装置以外の隣接する他の中継装置に対して、該格納されたコンテンツデータに対応付けて、コンテンツデータの要求先の中継装置の情報として自装置の宛先を経路制御表に登録する旨の登録要求を送信する登録送信工程と、
他の中継装置から前記登録要求を受信した場合には、該受信した登録要求に応じて、前記コンテンツ識別情報に対応付けて、前記登録要求を送信した中継装置の宛先または該登録要求を転送した中継装置の宛先を前記経路制御表に登録する登録工程と、
他の中継装置から前記登録要求を受信した場合には、該受信した登録要求を該登録要求の送信元の中継装置以外の隣接する他の中継装置に転送する登録転送工程と
を含んだことを特徴とする中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置および中継方法に関する。
【背景技術】
【０００２】
近年、データを送受信するホストを主体としたネットワークではなく、送受信されるデータを主体としたネットワーク（コンテンツ指向ネットワーク）が注目されている（例えば、非特許文献１参照）。コンテンツ指向ネットワークは、データに割り当てられた固有の識別子に基づくデータ通信が行われることで、データの再利用をネットワークレベルで実現する。
【０００３】
データの識別子によってデータの通信が行われるため、同一のデータであればどこに存在しても同じものとして扱われる。そのため、コンテンツ指向ネットワークでは、ＣＤＮ（Content  Delivery  Network）のようなデータの分散配置が可能となるとともに、ネットワーク上を転送するトラヒック量を抑えることができる。
【０００４】
また、コンテンツ指向ネットワークアーキテクチャの一つとして、ＣＣＮ（Content-Centric  Networking）が知られている（非特許文献２参照）。ＣＣＮでは、要求−応答型の通信モデルを採用しており、ネットワーク上のＣＣＮルータは、中継したコンテンツをキャッシュすることで、データの再利用を行う。具体的には、ＣＣＮルータは「コンテンツストア」と呼ばれるバッファメモリを有しており、中継した応答パケットはバッファメモリ内にキャッシュされる。ＣＣＮルータは、同一コンテンツの要求を受信した時には、キャッシュされた応答パケットを返送することによって、ネットワーク上のトラヒック量を削減する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Jaeyoung  Choi“A  Survey  on  Content-Oriented  Networking  for  Efficient  Content  Delivery”,  in  Communications  Magazine,  IEEE,vol.49,pp.121-127,Mar.2011.
【非特許文献２】Van Jacobson“Networking  Named  Content”,  in  Proceedings  of  the  fifth  International  Conference  on  emerging  Networking  Experiments  and  Technologies  (CoNEXT  '09),pp.1-12,Dec.2009.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記したＣＣＮでは、通信トラフィック量が増大し、コンテンツ要求元のクライアントへコンテンツが届く時間である応答時間が遅くなる場合があるという課題があった。すなわち、コンテンツを要求するクライアントとそのコンテンツを持つ情報源であるサーバの経路上にあるルータが、要求するコンテンツをキャッシュしている場合にのみコンテンツが再利用される。このため、例えば、これまで他の利用者が自身の必要とするコンテンツを既に要求しており、そのコンテンツのキャッシュが自身に近いルータでキャッシュされていたとしても、そのルータが自身とコンテンツを持つ情報源であるサーバの経路上になければ、わざわざサーバまでコンテンツを取りに行くことになる。このような場合には、通信トラフィック量が増大し、応答時間が遅くなる。
【０００７】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、通信トラフィック量を軽減するとともに、応答時間を早くすることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本願に開示する中継装置は、コンテンツデータを識別するコンテンツ識別情報に対応付けて、コンテンツデータの要求先の中継装置に関する情報を登録する経路制御表を記憶する経路制御表記憶部と、前記コンテンツデータを受信した場合に、該コンテンツデータをバッファメモリに格納する格納部と、前記コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータが前記バッファメモリに記憶されている場合には、該バッファメモリからコンテンツデータを読み出して、該コンテンツデータを要求元の端末に送信するデータ送信部と、前記コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータが前記バッファメモリに記憶されていない場合には、前記経路制御表記憶部が記憶する経路制御表を参照し、コンテンツデータの要求先である他の中継装置へコンテンツデータを要求する要求部と、前記格納部によってコンテンツデータが格納された場合には、隣接する他の中継装置に対して、該格納されたコンテンツデータに対応付けて、コンテンツデータの要求先の中継装置の情報として自装置に関する情報を経路制御表に登録する旨の登録要求を送信する登録送信部と、他の中継装置から前記登録要求を受信した場合には、該受信した登録要求に応じて、前記コンテンツ識別情報に対応付けて、前記コンテンツデータの要求先の中継装置に関する情報を前記経路制御表に登録する登録部と、他の中継装置から前記登録要求を受信した場合には、該受信した登録要求を隣接する他の中継装置に転送する登録転送部とを有することを特徴とする。
【０００９】
上述した課題を解決し、目的を達成するため、本願に開示する中継方法は、前記コンテンツデータを受信した場合に、該コンテンツデータをバッファメモリに格納する格納工程と、前記コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータが前記バッファメモリに記憶されている場合には、該バッファメモリからコンテンツデータを読み出して、該コンテンツデータを要求元の端末に送信するデータ送信工程と、前記コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータが前記バッファメモリに記憶されていない場合には、前記コンテンツデータを識別するコンテンツ識別情報に対応付けてコンテンツデータの要求先の中継装置に関する情報を登録する経路制御表を参照し、コンテンツデータの要求先である他の中継装置へコンテンツデータを要求する要求工程と、前記格納工程によってコンテンツデータが格納された場合には、隣接する他の中継装置に対して、該格納されたコンテンツデータに対応付けて、コンテンツデータの要求先の中継装置の情報として自装置に関する情報を経路制御表に登録する旨の登録要求を送信する登録送信工程と、他の中継装置から前記登録要求を受信した場合には、該受信した登録要求に応じて、前記コンテンツ識別情報に対応付けて、前記コンテンツデータの要求先の中継装置に関する情報を前記経路制御表に登録する登録工程と、他の中継装置から前記登録要求を受信した場合には、該受信した登録要求を隣接する他の中継装置に転送する登録転送工程とを含んだことを特徴とする。
【発明の効果】
【００１０】
本願に開示する中継装置および中継方法は、通信トラフィック量を軽減するとともに、応答時間を早くすることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るＣＣＮネットワークシステムを説明するための図である。
【図２】図２は、実施例１に係るルータの構成を示すブロック図である。
【図３】図３は、経路制御表の一例を示す図である。
【図４】図４は、実施例１に係るＣＣＮネットワークシステムのＦＩＢエントリの例を示す図である。
【図５】図５は、実施例１に係るＣＣＮネットワークシステムにおいて登録処理後のＦＩＢエントリの例を示す図である。
【図６】図６は、実施例１に係るＣＣＮネットワークシステムにおいて削除処理後のＦＩＢエントリの例を示す図である。
【図７】図７は、実施例１に係るルータによる登録処理の流れを示すシーケンス図である。
【図８】図８は、実施例１に係るルータによる削除処理の流れを示すシーケンス図である。
【図９】図９は、実施例２に係るルータによる削除処理の流れを示すシーケンス図である。
【図１０】図１０は、実施例３に係るルータによる削除処理の流れを示すフローチャートである。
【図１１】図１１は、実施例３に係るルータによる削除処理の流れを示すシーケンス図である。
【図１２】図１２は、中継プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明に係る中継装置および中継方法の実施例を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１３】
以下の実施例では、実施例１に係るＣＣＮネットワークシステムの構成、ルータの構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。
【００１４】
［ＣＣＮネットワークシステムの構成］
最初に、図１を用いて、ＣＣＮ（Content-Centric  Networking）ネットワークシステム１００の構成を説明する。図１は、実施例１に係るＣＣＮネットワークシステムを説明するための図である。図１に示すように、このＣＣＮネットワークシステム１００には、複数のルータ１０Ａ〜１０Ｅと、サーバ２０と、複数のクライアント３０Ａ、３０Ｂとが含まれ、ＣＣＮリンクを介して接続されている。
【００１５】
具体的には、ルータ１０Ａは、サーバ２０、ルータ１０Ｂおよびルータ１０ＥとＣＣＮリンクを介して接続され、ルータ１０Ｂは、ルータ１０Ａおよびルータ１０ＣとＣＣＮリンクを介して接続され、ルータ１０Ｃは、クライアント３０Ａ、ルータ１０Ｂおよびルータ１０ＤとＣＣＮリンクを介して接続され、ルータ１０Ｄは、クライアント３０Ｂ、ルータ１０Ｃおよびルータ１０ＥとＣＣＮリンクを介して接続され、ルータ１０Ｅは、クライアント３０Ｂ、ルータ１０Ｃおよびルータ１０ＥとＣＣＮリンクを介して接続されており、接続された端末同士が直接通信できる状態にある。なお、以下では、ルータ１０Ａ〜１０Ｅについて、特に区別することなく説明する場合には、「ルータ１０」と記載して説明する。また、クライアント３０Ａ、３０Ｂについても同様に、特に区別することなく説明する場合には、「クライアント３０」と記載して説明する。
【００１６】
ルータ１０は、コンテンツストアと呼ばれるバッファメモリ１３ａを有しており、中継した応答パケットをバッファメモリ１３ａ内にキャッシュする。また、ルータ１０は、コンテンツの要求を受信された際に、要求されたコンテンツデータがバッファメモリ１３ａに存在する場合には、バッファメモリ１３ａからコンテンツデータを応答パケットとして返送する。なお、ルータ１０の構成については、後に図２を用いて詳述する。
【００１７】
サーバ２０は、コンテンツデータを記憶しており、コンテンツを要求するＩｎｔｅｒｅｓｔパケットをルータ１０から受信すると、Ｉｎｔｅｒｅｓｔパケットに相当するデータパケットを返信する。例えば、図１の例を用いて説明すると、サーバ２０は、コンテンツを要求するＩｎｔｅｒｅｓｔパケットをルータ１０Ａから受信すると、受信したＩｎｔｅｒｅｓｔパケットに相当するデータパケットをルータ１０Ａに送信する。
【００１８】
クライアント３０は、コンテンツを要求する場合には、接続されたルータ１０に対してＩｎｔｅｒｅｓｔパケットを送信し、その後、ルータ１０からコンテンツを受信する。例えば、図１の例を用いて説明すると、クライアント３０Ｂは、コンテンツを要求する場合には、接続されたルータ１０Ｄに対してＩｎｔｅｒｅｓｔパケットを送信し、その後、ルータ１０Ｄからコンテンツを受信する。
【００１９】
［ルータの構成］
次に、図２を用いて、図１に示したルータ１０の構成を説明する。図２は、実施例１に係るルータ１０の構成を示すブロック図である。図２に示すように、このルータ１０は、通信制御部１１、制御部１２、記憶部１３を有し、図示しないＣＣＮリンクを介して、サーバ２０、クライアント３０または他のルータと接続される。以下にこれらの各部の処理を説明する。
【００２０】
通信制御部１１は、接続されるサーバ２０、クライアント３０または他のルータとの間でやり取りする各種情報に関する通信を制御する。例えば、通信制御部１１は、サーバ２０に対してＩｎｔｅｒｅｓｔパケットを送信し、また、送信したＩｎｔｅｒｅｓｔパケットに相当するデータパケットを受信する。また、通信制御部１１は、クライアント３０または他のルータからＩｎｔｅｒｅｓｔパケットを受信し、また、クライアント３０または他のルータに対して送信したＩｎｔｅｒｅｓｔパケットに相当するデータパケットを送信する。
【００２１】
記憶部１３は、制御部１２による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、バッファメモリ１３ａおよび経路制御表記憶部１３ｂを有する。
【００２２】
バッファメモリ１３ａは、コンテンツデータを記憶する。具体的には、バッファメモリ１３ａは、ルータ１０がサーバ２０または他のルータからコンテンツデータを受信した際に、該コンテンツデータが格納される。
【００２３】
経路制御表記憶部１３ｂは、コンテンツデータを識別するコンテンツ識別情報に対応付けて、コンテンツデータの要求先の中継装置に関する情報を登録する経路制御表を記憶する。例えば、経路制御表記憶部１３ｂは、図３に例示するように、コンテンツデータを識別する「ｐｒｅｆｉｘ」に対応付けて、コンテンツデータの要求先のルータまたはサーバ２０の宛先を示す「宛先」を記憶する。
【００２４】
制御部１２は、各種の処理手順などを規定したプログラムおよび所要データによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、格納部１２ａ、データ送信部１２ｂ、要求部１２ｃ、登録送信部１２ｄ、登録部１２ｅ、登録転送部１２ｆ、キャッシュ削除部１２ｇ、解除パケット送信部１２ｈ、削除部１２ｉ、および削除転送部１２ｊを有する。
【００２５】
格納部１２ａは、コンテンツデータを受信した場合に、該コンテンツデータをバッファメモリ１３ａに格納する。例えば、格納部１２ａは、サーバ２０または他のルータからコンテンツデータを受信した際に、該コンテンツデータをバッファメモリ１３ａにキャッシュする。
【００２６】
データ送信部１２ｂは、コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータがバッファメモリ１３ａに記憶されている場合には、該バッファメモリ１３ａからコンテンツデータを読み出して、該コンテンツデータを要求元の他のルータまたはクライアント３０に送信する。
【００２７】
ここで、図４の例を用いて、データ送信部１２ｂの処理を具体的に説明する。図４では、図１に示したＣＣＮネットワークシステムにおいて、各ルータ１０Ａ〜１０Ｅがそれぞれ記憶する経路制御表（図４では、ＦＩＢ（Forwarding  Information  Base）と記載）が例示されている。例えば、ルータ１０Ｄがクライアント３０Ｂからコンテンツ「/Osaka-u.ac.jp/info.txt」の要求を受け付けた場合に、ルータ１０Ｄは、コンテンツ「/Osaka-u.ac.jp/info.txt」がバッファメモリ１３ａに記憶されている場合には、該バッファメモリ１３ａからコンテンツデータを読み出して、クライアント３０Ｂに送信する。
【００２８】
要求部１２ｃは、コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータがバッファメモリ１３ａに記憶されていない場合には、経路制御表記憶部１３ｂが記憶する経路制御表を参照し、コンテンツデータの要求先である他のルータへコンテンツデータを要求する。具体的には、要求部１２ｃは、コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータがバッファメモリ１３ａに記憶されていない場合には、経路制御表記憶部１３ｂが記憶する経路制御表において、要求を受け付けたコンテンツデータのコンテンツ識別情報に対応付けられた、コンテンツデータの要求先である他のルータへコンテンツデータを要求する。
【００２９】
例えば、上記した図４の例を用いて説明すると、ルータ１０Ｄがクライアント３０Ｂからコンテンツ「/Osaka-u.ac.jp/info.txt」の要求を受け付けた場合に、ルータ１０Ｄは、コンテンツ「/Osaka-u.ac.jp/info.txt」がバッファメモリ１３ａに記憶されていない場合には、経路制御表を参照して、「/Osaka-u.ac.jp/info.txt」に対応付けられた宛先であるルータ１０Ｅへコンテンツ「/Osaka-u.ac.jp/info.txt」を要求する。なお、その後は、ルータ１０Ｅ、ルータ１０Ａ、サーバ２０と、それぞれの経路制御表に沿ってコンテンツデータが要求され、サーバ２０がルータ１０Ａにコンテンツデータを送信し、ルータ１０Ａ、ルータ１０Ｅ、ルータ１０Ｄと転送され、最終的にクライアント３０Ｂにコンテンツデータが到達する。
【００３０】
登録送信部１２ｄは、格納部１２ａによってコンテンツデータがバッファメモリ１３ａに格納された場合には、隣接する他のルータに対して、該格納されたコンテンツデータに対応付けて、コンテンツデータの要求先のルータの情報として自装置に関する情報を経路制御表に登録する旨の登録要求（ＦＩＢ登録パケット）を送信する。
【００３１】
また、登録送信部１２ｄは、ＦＩＢ登録パケットを送信する際に、キャッシュしたコンテンツデータの種別に応じて、登録要求を送信するか否かを判定し、登録要求を送信すると判定した場合には、該登録要求を隣接する他のルータに送信する処理を行う。例えば、他の利用者から要求が来ないような特定のコンテンツ、すなわちアクセスコントロールされたコンテンツなどの特定のコンテンツかどうか判定し、特定のコンテンツに対応するＦＩＢ登録パケットを送信しないことで、他の利用者から要求が来ないような特定のコンテンツにはルーティングを行わない。
【００３２】
例えば、上記した図４の例を用いて説明すると、ルータ１０Ｄがコンテンツ「/Osaka-u.ac.jp/info.txt」をバッファメモリ１３ａに格納した場合に、ルータ１０Ｄは、コンテンツデータを転送したクライアント３０Ｂ、コンテンツデータを受信したルータ１０Ｅ以外の接続された端末、すなわち、ルータ１０Ｃに対してＦＩＢ登録パケットを送信する。
【００３３】
登録部１２ｅは、他のルータから登録要求を受信した場合には、該受信した登録要求に応じて、ｐｒｅｆｉｘに対応付けて、コンテンツデータの要求先のルータまたはサーバ２０の宛先を経路制御表に登録する。例えば、上記した図４の例を用いて説明すると、ルータ１０Ｃがルータ１０ＤからＦＩＢ登録パケットを受信すると、ルータ１０Ｃは、ＦＩＢ登録パケットに含まれるコンテンツ名と送信元のルータをＦＩＢエントリとして経路制御表に登録する。
【００３４】
登録転送部１２ｆは、他のルータから登録要求を受信した場合には、該受信した登録要求を隣接する他のルータに転送する。例えば、上記した図４の例を用いて説明すると、ルータ１０Ｃは、ルータ１０Ｄから登録要求を受信した場合には、ＦＩＢ登録パケットを受信したルータ１０Ｄ以外の接続されたルータ、すなわちルータ１０Ｂに対してＦＩＢ登録パケットを転送する。この結果、図５に例示するように、ルータ１０Ｂおよびルータ１０Ｃの経路制御表が変更される。例えば、図５の例では、ルータ１０Ｃの経路制御表に、ｐｒｅｆｉｘ「/Osaka-u.ac.jp/info.txt」と宛先「１０Ｂ、１０Ｄ」とが対応付いたＦＩＢエントリが追加されている。
【００３５】
その後、図５の例において、クライアント３０Ｂが要求したコンテンツと同じコンテンツ「/Osaka-u.ac.jp/info.txt」をクライアント３０Ａがルータ１０Ｃに対して要求した場合には、ルータ１０Ｃが経路制御表においてｐｒｅｆｉｘ「/Osaka-u.ac.jp/info.txt」に対応付けられた宛先ルータのうち、１つないし複数のルータ、すなわち、ルータ「１０Ｂ」、ルータ「１０Ｄ」のいずれかのルータ、または、ルータ「１０Ｂ」およびルータ「１０Ｄ」の両方に対して、コンテンツデータを要求するためのＩｎｔｅｒｅｓｔパケットを送信する。ここで、宛先ルータを１つにすれば、トラフィック量を削減することができ、宛先を複数にすれば応答時間を短縮することができる。
【００３６】
上記の説明から、ルータ１０ＣからＩｎｔｅｒｅｓｔパケットを受信したルータ１０Ｄは、コンテンツ「/Osaka-u.ac.jp/info.txt」をバッファメモリ１３ａに記憶しているので、ルータ１０Ｃに送信する。そして、ルータ１０Ｃは、コンテンツ「/Osaka-u.ac.jp/info.txt」をクライアント３０Ａに送信する。このため、サーバ２０からコンテンツデータを取得した場合には８ホップかかっていたが、本実施例では、４ホップでコンテンツを取得することが可能となる。このように、実施例１に係るルータ１０は、コンテンツが要求する利用者から近いルータ１０にキャッシュされている場合には、そのコンテンツに対して利用者の要求パケットをルーティングできるようにし、応答時間を早くすることが可能となる。また、宛先ルータを１つにすることで、通信トラフィック量を軽減することが可能となる。
【００３７】
キャッシュ削除部１２ｇは、バッファメモリ１３ａに記憶されたコンテンツデータを削除する。例えば、キャッシュ削除部１２ｇは、バッファメモリ１３ａの容量が不足した場合等の所定の条件が発生した場合に、バッファメモリ１３ａに記憶されたコンテンツデータを削除する。
【００３８】
解除パケット送信部１２ｈは、バッファメモリ１３ａに記憶されたコンテンツデータが削除された場合には、隣接する他のルータに対して、該削除されたコンテンツデータのｐｒｅｆｉｘと対応付けて記憶されたコンテンツデータの要求先である宛先を経路制御表から削除する旨の削除要求としてＦＩＢ解除パケットを送信する。
【００３９】
例えば、図５の例を用いて説明すると、ルータ１０Ｄは、バッファメモリ１３ａに記憶されたコンテンツデータを削除した場合には、隣接するルータ１０Ｅおよびルータ１０ＣにＦＩＢ解除パケットを送信する。
【００４０】
削除部１２ｉは、他のルータから削除要求を受信した場合には、該受信した削除要求に応じて、ｐｒｅｆｉｘと対応付けて記憶されたコンテンツデータの要求先である宛先を経路制御表から削除する。例えば、図５の例を用いて説明すると、ＦＩＢ解除パケットを受信したルータ１０Ｅおよびルータ１０Ｃは、ＦＩＢ解除パケットに含まれるコンテンツ名に相当するＦＩＢエントリにおいて、ＦＩＢ解除パケットの送信元のルータ１０Ｄを削除する。
【００４１】
また、削除部１２ｉは、登録要求に設定されたコンテンツが参照された回数の情報に応じて、コンテンツ識別子と対応付けて記憶されたコンテンツデータの要求先に関する情報を前記経路制御表から削除するようにしてもよい。例えば、ＦＩＢ登録パケットにコンテンツがどれだけの回数参照されたかを表すパラメータを埋め込み、ルータ１０がＦＩＢ登録パケットを受信したときに、当該コンテンツに人気があるか否かに応じて、コンテンツに係る情報が経路制御表に登録される期間を決定し、登録される期間を経過した場合には、コンテンツのＦＩＢエントリを削除する。
【００４２】
削除転送部１２ｊは、他のルータから削除要求を受信した場合には、自身が当該コンテンツを所持していない場合に限り、該受信した削除要求を隣接する他のルータに転送する。例えば、図５の例を用いて説明すると、ＦＩＢ解除パケットを受信したルータ１０Ｃは、自身が当該コンテンツを所持していない場合に限り、ルータ１０Ｂに対してＦＩＢ解除パケットを転送する。
【００４３】
上記した図５の例において削除処理を行った結果、図６に例示するように、ルータ１０Ｂおよびルータ１０Ｃの経路制御表が変更される。例えば、図５と図６とを比較すると、ルータ１０Ｃの経路制御表において、ｐｒｅｆｉｘ「/Osaka-u.ac.jp/info.txt」に対応付けられた宛先「１０Ｄ」が削除されている。また、同様に、ルータ１０Ｂの経路制御表において、ｐｒｅｆｉｘ「/Osaka-u.ac.jp/info.txt」に対応付けられた宛先「１０Ｃ」が削除されている。
【００４４】
このように、実施例１に係るルータ１０では、コンテンツが要求する利用者から近いルータ１０にキャッシュされている場合には、そのコンテンツに対して利用者の要求パケットをルーティングできるようにし、通信トラフィック量を軽減するとともに、応答時間を早くすることが可能となる。また、実施例１に係るルータ１０では、コンテンツのキャッシュが削除された場合には、ルーティング経路を適切に削除することが可能である。
【００４５】
［ルータによる処理］
次に、図７、図８を用いて、実施例１に係るルータ１０による処理を説明する。図７は、実施例１に係るルータによる登録処理の流れを示すシーケンス図である。図８は、実施例１に係るルータによる削除処理の流れを示すシーケンス図である。なお、以下で説明する処理は、上記で説明した図４〜図６に示したＣＣＮネットワークシステム１００の例を用いて説明する。
【００４６】
図７に示すように、サーバ２０は、ルータ１０Ａに対してコンテンツデータを含むＤａｔａパケットを送信する（ステップＳ１）。そして、ルータ１０Ａは、Ｄａｔａパケットのコンテンツデータをバッファメモリ１３ａにキャッシュし（ステップＳ２）、Ｄａｔａパケットをルータ１０Ｅに送信する（ステップＳ３）。
【００４７】
そして、続いて、ルータ１０Ａは、ＦＩＢ登録パケットを送信するか判定する（ステップＳ４）。具体的には、ルータ１０Ａは、キャッシュしたコンテンツデータの種別に応じて、ＦＩＢ登録パケットを送信するか否かを判定する。この結果、ルータ１０Ａは、ＦＩＢ登録パケットを送信しないと判定した場合には、そのまま処理を終了する。例えば、他の利用者から要求が来ないような特定のコンテンツ、すなわちアクセスコントロールされたコンテンツなどの特定のコンテンツかどうか判定し、特定のコンテンツであればＦＩＢ登録パケットを送信しないことで、他の利用者から要求が来ないような特定のコンテンツにはルーティングを行わない。
【００４８】
また、ルータ１０Ａは、該登録要求を送信すると判定した場合には、ＦＩＢ登録パケットをルータ１０Ｂに送信する（ステップＳ５）。そして、ルータ１０Ｂは、ＦＩＢ登録パケットのパラメータにおいて、ＦＩＢに登録する時間が０であるか判定する（ステップＳ６）。この結果、ルータ１０Ｂは、ＦＩＢに登録する時間が０である場合には、コンテンツの保存時間が切れているものとして、ＦＩＢ登録せずに、処理を終了する。
【００４９】
また、ルータ１０Ｂは、ＦＩＢに登録する時間が０でない場合には、ＦＩＢ登録パケットに応じてＦＩＢエントリを経路制御表に登録する（ステップＳ７）。そして、ルータ１０Ｂは、ＦＩＢ登録パケットに設定された転送される範囲を指定する情報（例えば、ＦＩＢパケットの生存時間）を参照して、ＦＩＢ登録パケットを転送するか否かを判定する（ステップＳ８）。ここで、ＦＩＢ登録パケットに設定された転送される範囲を指定する情報（例えば、ＦＩＢパケットの生存時間）は、コンテンツの賞味期限などに応じて決められ、許可された範囲のルータのみにルーティングを許可する。
【００５０】
この結果、ルータ１０Ｂは、ＦＩＢ登録パケットを転送しないと判定した場合には、そのまま処理を終了する。また、ルータ１０Ｂは、ＦＩＢ登録パケットを転送すると判定した場合には、ＦＩＢ登録パケットをルータ１０Ｃに送信する（ステップＳ９）。なお、ＦＩＢ登録パケットを受信したルータ１０Ｃは、上記のステップＳ６〜９の処理を行う。
【００５１】
次に、図８を用いて、ルータによる削除処理の流れを説明する。図８に示すように、ルータ１０Ｄは、バッファメモリ１３ａに記憶されたコンテンツデータのキャッシュが取り除かれると（ステップＳ１０）、ＦＩＢエントリの削除を要求するＦＩＢ解除パケットをルータ１０Ｃに送信する（ステップＳ１１）。
【００５２】
そして、ルータ１０Ｃは、ＦＩＢ解除パケットを受信すると、ＦＩＢから該当するコンテンツのＦＩＢエントリを削除する（ステップＳ１２）。例えば、ルータ１０Ｃのコンテンツ「/osaka-u.ac.jp/info.txt」のＦＩＢエントリのルータ１０Ｄへの宛先は、ルータ１０Ｄが送信したＦＩＢ解除パケットによって削除される。
【００５３】
そして、ルータ１０Ｃは、ＦＩＢ解除パケットを転送するか否かを判定する（ステップＳ１３）。例えば、ルータ１０Ｃは、ＦＩＢ解除パケットに設定された転送される範囲を指定する情報（例えば、ＦＩＢ解除パケットの生存時間）を参照して、ＦＩＢ解除パケットを転送するか否かを判定する。この結果、ルータ１０Ｃは、ＦＩＢ解除パケットを転送しないと判定した場合には、そのまま処理を終了する。また、ルータ１０Ｃは、ＦＩＢ解除パケットを転送すると判定した場合には、ＦＩＢ解除パケットをルータ１０Ｂに転送する（ステップＳ１４）。そして、ルータ１０Ｂは、ＦＩＢ解除パケットを受信すると、ＦＩＢから該当するコンテンツのＦＩＢエントリを削除する（ステップＳ１５）。
【００５４】
[実施例１の効果]
上述してきたように、ルータ１０は、コンテンツデータを識別するコンテンツ識別情報に対応付けて、コンテンツデータの要求先のルータに関する情報を登録する経路制御表を記憶する経路制御表記憶部１３ｂを有する。そして、ルータ１０は、コンテンツデータを受信した場合に、該コンテンツデータをバッファメモリ１３ａに格納する。また、ルータ１０は、コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータが前記バッファメモリに記憶されている場合には、該バッファメモリからコンテンツデータを読み出して、該コンテンツデータを要求元の端末に送信する。また、ルータ１０は、コンテンツデータの要求を受け付けた際に、該要求を受け付けたコンテンツデータがバッファメモリ１３ａに記憶されていない場合には、経路制御表記憶部１３ｂが記憶する経路制御表を参照し、コンテンツデータの要求先である他のルータへコンテンツデータを要求する。また、コンテンツデータが格納された場合には、隣接する他のルータに対して、該格納されたコンテンツデータに対応付けて、コンテンツデータの要求先のルータの情報として自装置に関する情報を経路制御表に登録する旨の登録要求を送信する。また、ルータ１０は、他のルータから前記登録要求を受信した場合には、該受信した登録要求に応じて、コンテンツ識別情報に対応付けて、コンテンツデータの要求先のルータに関する情報を前記経路制御表に登録する。ルータ１０は、他のルータから前記登録要求を受信した場合には、該受信した登録要求を隣接する他のルータに転送する。このため、コンテンツが要求する利用者から近いルータ１０にキャッシュされている場合には、そのコンテンツに対して利用者の要求パケットをルーティングできる結果、通信トラフィック量を軽減するとともに、応答時間を早くすることが可能となる。また、サーバ２０がネットワークから切断した場合や、要求パケットがサーバ２０に届かない状況でもコンテンツを取得することが可能である。
【００５５】
また、実施例１によれば、ルータ１０は、格納されたコンテンツデータの種別に応じて、登録要求を送信するか否かを判定し、該登録要求を送信すると判定した場合には、該登録要求を隣接する他の中継装置に送信する。このため、アクセスコントロールされたコンテンツや、ライブストリーミングのコンテンツといった、他のユーザから中長期に渡って要求パケットが来ないであろうコンテンツに対するＦＩＢ登録パケットを送信しないことで、ＦＩＢ登録パケットの送信にかかるトラヒック量を削減することが可能である。
【００５６】
また、実施例１によれば、ルータ１０は、コンテンツデータが削除された場合には、隣接する他のルータに対して、該削除されたコンテンツデータのコンテンツ識別情報と対応付けて記憶されたコンテンツデータの要求先に関する情報を経路制御表から削除する旨の削除要求を送信する。また、ルータ１０は、他のルータから削除要求を受信した場合には、該受信した削除要求に応じて、コンテンツ識別情報と対応付けて記憶されたコンテンツデータの要求先に関する情報を経路制御表から削除する。また、ルータ１０は、他のルータから削除要求を受信した場合には、該受信した削除要求を隣接する他のルータに転送する。このため、コンテンツのキャッシュが削除された場合には、ルーティング経路を適切に削除することが可能である。
【００５７】
また、実施例１によれば、ルータ１０は、登録要求が転送される範囲を指定する情報を該登録要求に設定して、該登録要求を隣接する他のルータに送信する。また、ルータ１０は、削除要求が転送される範囲を指定する情報を該削除要求に設定して、該削除要求を隣接する他のルータに送信する。このため、許可された範囲のみにキャッシュされたコンテンツへのルーティングを許可することで、ＦＩＢ登録パケットにかかるトラフィック量を削除する。
【実施例２】
【００５８】
ところで、上記の実施例１では、ＦＩＢ解除パケットを受信した場合に経路制御表のエントリを削除する場合を説明したが、これに限定されるものではなく、ＦＩＢ登録パケットに設定された経路制御表が登録される期間を経過した際に、経路制御表のエントリを削除するようにしてもよい。
【００５９】
そこで、以下の実施例２では、ＦＩＢ登録パケットに設定された経路制御表が登録される期間を経過した際に、経路制御表のエントリを削除する場合として、図９を用いて、実施例２におけるルータの処理について説明する。図９は、実施例２に係るルータによる削除処理の流れを示すシーケンス図である。
【００６０】
図９に示すように、ルータ１０は、サーバ２０からＤａｔａパケットを受信すると（ステップＳ２１）、Ｄａｔａパケットのコンテンツデータをバッファメモリ１３ａにキャッシュした後、経路制御表に登録する期間のパラメータをＦＩＢ登録パケットに設定して、ＦＩＢ登録パケットをルータ１０Ｂに送信する（ステップＳ２２）。例えば、経路制御表に登録する期間のパラメータとして、コンテンツがどれだけの時間保存されているかを表す期間のパラメータと、該期間のパラメータと現在時刻を足すことで計算される削除予定時刻のパラメータとを設定する。ここで、経路制御表に登録する期間は、キャッシュが取り除かれると予想される期間、すなわち、コンテンツの賞味期限などを参照して決められる期間である。
【００６１】
そして、ルータ１０Ｂは、ＦＩＢ登録パケットに設定されたパラメータにおいて、経路制御表に登録する期間の時間が０であるか判定する（ステップＳ２３）。例えば、ルータ１０Ｂは、コンテンツがどれだけ時間保存されているかを表す期間のパラメータと現在時刻とを足して、削除予定時刻を越えていれば、経路制御表に登録する期間の時間が０であると判定する。
【００６２】
この結果、ルータ１０Ｂは、ＦＩＢ登録パケットに設定されたパラメータにおいて、経路制御表に登録する期間の時間が０である場合には、そのまま処理を終了する。また、ルータ１０Ｂは、ＦＩＢに登録する時間が０でない場合には、ＦＩＢ登録パケットに応じてＦＩＢエントリを経路制御表に登録する（ステップＳ２４）。そして、ルータ１０Ｂは、ＦＩＢ登録パケットをルータ１０Ｃに転送する（ステップＳ２５）。
【００６３】
その後、ルータ１０Ｂは、定期的に、コンテンツがどれだけの時間保存されているかを表す期間のパラメータと現在時刻とを足して、削除予定時刻を越えているか判定し、削除予定時刻を越えていれば、ＦＩＢ解除パケットを受信すると、ＦＩＢから該当するコンテンツのＦＩＢエントリを削除する（ステップＳ２６）。
【００６４】
このように、実施例２に係るルータは、経路制御表に登録する期間の情報を該登録要求に設定して、該登録要求を隣接する他のルータに送信する。また、ルータは、登録要求に設定された経路制御表が登録される期間を経過した場合には、コンテンツ識別子と対応付けて記憶されたコンテンツデータの要求先に関する情報を経路制御表から削除する。このため、キャッシュが取り除かれると予想される時刻に削除できる結果、コンテンツのないノードへルーティングしてしまう回数を削減することが可能である。
【実施例３】
【００６５】
ところで、上記の実施例１では、ＦＩＢ解除パケットを受信した場合に経路制御表のエントリを削除する場合を説明したが、これに限定されるものではなく、コンテンツデータの要求が行われた際に、該要求されたコンテンツデータの要求に対する応答が無かった回数に応じて、経路制御表のエントリを削除するようにしてもよい。
【００６６】
そこで、以下の実施例３では、コンテンツデータの要求が行われた際に、該要求されたコンテンツデータの要求に対する応答が無かった回数に応じて、経路制御表のエントリを削除する場合として、図１０および図１１を用いて、実施例３におけるルータの処理について説明する。図１０は、実施例３に係るルータによる削除処理の流れを示すフローチャートである。図１１は、実施例３に係るルータによる削除処理の流れを示すシーケンス図である。
【００６７】
図１０に示すように、ルータ１０は、要求パケットを隣接するルータに送信し（ステップＳ３１）、要求がタイムアウトしたか否かを判定する（ステップＳ３２）。この結果、ルータ１０は、要求がタイムアウトせずに、要求パケットに対する返信があった場合には、要求パケットを送信する際に参照したＦＩＢエントリの要求成功回数を１増やし（ステップＳ３３）、ステップＳ３１に戻る。
【００６８】
また、ルータ１０は、要求パケットに対する返信がなく、要求がタイムアウトした場合には、要求パケットを送信する際に参照したＦＩＢエントリの要求失敗回数を１増やす（ステップＳ３４）。その後、ルータ１０は、一定時間が経過すると、要求失敗回数が一定値以上であるか判定する（ステップＳ３５）。この結果、ルータ１０は、要求失敗回数が一定値以上である場合には、要求パケットを送信する際に参照したＦＩＢエントリを削除する（ステップＳ３７）。
【００６９】
また、ルータ１０は、要求失敗回数が一定値以上でない場合には、要求失敗回数と要求成功回数の比が一定値以上であるか判定する（ステップＳ３６）。この結果、ルータ１０は、要求失敗回数と要求成功回数の比が一定値以上である場合には、要求パケットを送信する際に参照したＦＩＢエントリを削除する（ステップＳ３７）。
【００７０】
次に、上記の処理について、図１１のシーケンス図を用いて、ルータ１０Ｂおよびルータ１０Ｃの例を挙げて説明する。図１１に示すように、ルータ１０Ｂは、要求パケットを隣接するルータ１０Ｃに送信する（ステップＳ４１）。ルータ１０Ｃは、要求パケットを受信して、応答パケットを送信する（ステップＳ４２）。ルータ１０Ｂは、要求パケットを受信すると、要求パケットを送信する際に参照したＦＩＢエントリの要求成功回数を１増やす（ステップＳ４３）。また、図示しないが、ルータ１０は、要求パケットに対する返信がなく、要求がタイムアウトした場合には、要求パケットを送信する際に参照したＦＩＢエントリの要求失敗回数を１増やす。その後、ルータ１０Ｂは、要求パケットを隣接するルータ１０Ｃに送信し（ステップＳ４４）、応答パケットを受信（または、応答パケットの受信失敗）を繰り返し、一定時間が経過したところで、要求失敗回数が一定値以上であるか判定する（ステップＳ４５）。
【００７１】
この結果、ルータ１０Ｂは、要求失敗回数が一定値以上である場合には、要求パケットを送信する際に参照したＦＩＢエントリを削除する（ステップＳ４７）。また、ルータ１０Ｂは、要求失敗回数が一定値以上でない場合には、要求失敗回数と要求成功回数の比が一定値以上であるか判定する（ステップＳ４６）。この結果、ルータ１０Ｂは、要求失敗回数と要求成功回数の比が一定値以上である場合には、要求パケットを送信する際に参照したＦＩＢエントリを削除する（ステップＳ４７）。
【００７２】
なお、上記の説明では、要求失敗回数が一定値以上であるか、及び、要求失敗回数と要求成功回数の比が一定値以上であるかを判定し、要求失敗回数が一定値以上である場合、または、要求失敗回数と要求成功回数の比が一定値以上である場合には、要求パケットを送信する際に参照したＦＩＢエントリを削除する例を説明したが、この例に限定されるものではない。例えば、要求失敗回数が一定値以上であるか判定する判定処理、若しくは、要求失敗回数と要求成功回数の比が一定値以上であるか判定する判定処理のどちらか一方の判定処理のみを行い、要求失敗回数が一定値以上である場合、または、要求失敗回数と要求成功回数の比が一定値以上である場合には、要求パケットを送信する際に参照したＦＩＢエントリを削除するようにしてもよい。
【００７３】
このように実施例３によれば、要求されたコンテンツデータの要求に対する応答が無かった回数に応じて、コンテンツ識別情報と対応付けて記憶されたコンテンツデータの要求先に関する情報を経路制御表から削除する。このため、一定回数以上タイムアウトした要求のルーティング先には、コンテンツのキャッシュがないと判断し、それに対応するＦＩＢエントリを削除、つまり、ルーティング経路を削除することができる。この結果、コンテンツがキャッシュされていないと予想されるノードへルーティングしてしまう回数を削減することが可能となる。
【００７４】
また、実施例３によれば、要求されたコンテンツデータの要求に対する応答が無かった回数と要求されたコンテンツデータの要求に対する応答を受信した回数との比率に応じて、コンテンツ識別情報と対応付けて記憶されたコンテンツデータの要求先に関する情報を経路制御表から削除する。このため、タイムアウトした場合の比としなかった場合の比が一定の値以上になったルーティング先には、コンテンツのキャッシュがないと判断し、それに対応するＦＩＢエントリを削除、つまり、ルーティング経路を削除することができる。この結果、コンテンツがキャッシュされていないと予想されるノードへルーティングしてしまう回数を削減することが可能となる。
【００７５】
［システム構成］
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７７】
［プログラム］
また、上記実施例において説明したルータ１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施例１に係るルータ１０が実行する処理をコンピュータが実行可能な言語で記述した中継プログラムを作成することもできる。この場合、コンピュータが中継プログラムを実行することにより、上記実施例と同様の効果を得ることができる。さらに、かかる中継プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録され中継プログラムをコンピュータに読み込ませて実行することにより上記実施例１と同様の処理を実現してもよい。以下に、図２に示したルータ１０と同様の機能を実現する中継プログラムを実行するコンピュータの一例を説明する。
【００７８】
図１２は、中継プログラムを実行するコンピュータ１０００を示す図である。図１２に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００７９】
メモリ１０１０は、図１２に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図１２に例示するように、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、図１２に例示するように、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース１０５０は、図１２に例示するように、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、図１２に例示するように、例えばディスプレイ１０６１に接続される。
【００８０】
ここで、図１２に例示するように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の中継プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０３１に記憶される。
【００８１】
また、上記実施例で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、格納手順、データ送信手順、要求手順、登録送信手順、登録手順、登録転送手順を実行する。
【００８２】
なお、中継プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、中継プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８３】
１０  ルータ
１１  通信制御部
１２  制御部
１２ａ  格納部
１２ｂ  データ送信部
１２ｃ  要求部
１２ｄ  登録送信部
１２ｅ  登録部
１２ｆ  登録転送部
１２ｇ  キャッシュ削除部
１２ｈ  解除パケット送信部
１２ｉ  削除部
１２ｊ  削除転送部
１３  記憶部
１３ａ  バッファメモリ
１３ｂ  経路制御表記憶部
【図１】
0005741956.tif 000002
【図２】
0005741956.tif 000003
【図３】
0005741956.tif 000004
【図４】
0005741956.tif 000005
【図５】
0005741956.tif 000006
【図６】
0005741956.tif 000007
【図７】
0005741956.tif 000008
【図８】
0005741956.tif 000009
【図９】
0005741956.tif 000010
【図１０】
0005741956.tif 000011
【図１１】
0005741956.tif 000012
【図１２】
0005741956.tif 000013