JP2008205890A - ルーティング方法およびノード - Google Patents

ルーティング方法およびノード Download PDF

Info

Publication number
JP2008205890A
JP2008205890A JP2007040439A JP2007040439A JP2008205890A JP 2008205890 A JP2008205890 A JP 2008205890A JP 2007040439 A JP2007040439 A JP 2007040439A JP 2007040439 A JP2007040439 A JP 2007040439A JP 2008205890 A JP2008205890 A JP 2008205890A
Authority
JP
Japan
Prior art keywords
route
node
transfer
content
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007040439A
Other languages
English (en)
Other versions
JP4803066B2 (ja
Inventor
Norito Fujita
範人 藤田
Masahiro Jibiki
昌弘 地引
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007040439A priority Critical patent/JP4803066B2/ja
Publication of JP2008205890A publication Critical patent/JP2008205890A/ja
Application granted granted Critical
Publication of JP4803066B2 publication Critical patent/JP4803066B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】コンテンツをノード内のストレージにキャッシュとして蓄積してから転送するネットワークシステムにおいてコンテンツのキャッシュの利用可能性を高める。
【解決手段】各ノードA11〜A14は、コンテンツの転送時に、各宛先ノードへの経路が登録されたルーティングテーブルA113を参照して、転送経路の候補となる経路を決定し、1つ以上の候補経路のうち、コンテンツの少なくとも一部がキャッシュ断片として蓄積されている次ホップノードを含む候補経路を転送経路として優先的に選択する経路選択部A112と、コンテンツを転送経路上の次ホップノードに転送するDTN転送部A111とを有する。
【選択図】 図1

Description

本発明は、転送経路の途中のリンクの接続性が一時的に失われていてもエンド−エンド間の通信を可能にするDTN(Delay Tolerant Network)のように、コンテンツを一旦蓄積してから転送する種類のネットワークシステムに係り、特に蓄積したコンテンツをキャッシュとして再利用する場合のコンテンツの利用可能性を高めることができるルーティング方法およびノードに関するものである。
従来より、不安定で信頼性が低いネットワークで信頼性が高いデータ転送を実現するネットワーク制御方式として、DTN(Delay Tolerant Network)が知られている。DTNでは、転送するデータを中継ノードで一旦蓄積し、次のホップへの接続がない場合は中継ノードにデータを蓄積したまま転送を待機し、次のホップに接続された際にデータ転送を行うという方式をとることにより、エンド−エンド間の遅延は大きくなるものの、高いデータ配送確率を実現することができるという効果がある。
DTNでは、転送中継時にコンテンツ単位で蓄積・転送を行うと、コンテンツサイズが大きい場合に遅延が大きくなるため、コンテンツを単位サイズに断片化するフラグメントを行い、断片化されたデータ単位でパイプライン的に蓄積・転送を行うことが望ましいとされている。
DTNにおけるルーティング方法の例としては、非特許文献1に記載された方法がある。非特許文献1においては、DTNにおける様々なルーティング方法を評価している。
DTNにおいては、中継ノードでデータを蓄積しながら転送を行うため、中継ノードで蓄積したデータ(以下、コンテンツと呼ぶ)をキャッシュとして保存することにより、次回に他のノードが同一のコンテンツを要求した際に、該コンテンツを元々持っていたオリジンノードだけでなく、該コンテンツをキャッシュしているノードからもコンテンツを取得することができる。その結果、DTNでは、ネットワークが不安定な場合(例えばオリジンノードへの接続性が失われている場合)であっても、コンテンツの利用可能性を高めることができる。
S.Jain, K.Fall and R.Patra,「Routing in a Delay Tolerant Network」,In ACM Sigcomm 2004,Portland,OR,2004
しかしながら、DTNにおいては、中継ノードで蓄積したコンテンツをキャッシュとして保存する場合に、以下に挙げる問題点があった。
第1の問題点は、断片化されたデータ単位で蓄積・転送を行う場合に、コンテンツ転送途中で転送経路が切り替わると、コンテンツの一部だけしかキャッシュされない場合があるということである。
例えば、図14のノードA1〜A4がリンクD1〜D4で接続されているネットワークにおいて、コンテンツC1を経路B1に沿ってノードA1からノードA3まで転送するものとする。コンテンツC1には、「1」〜「9」のデータが連続的に含まれ、各データ単位で断片化されて転送される。このとき、転送途中で何らかの原因、例えばノードA1とノードA2との間のリンクD1が切断された等の原因により、転送経路が経路B1から経路B2へ切り替わったとする。この経路変更がデータ「1」〜「3」の転送が完了したところで発生したとすると、ノードA2にはデータ「1」〜「3」だけを含むキャッシュ断片C2が残り、ノードA4にはデータ「4」〜「9」だけを含むキャッシュ断片C3がキャッシュとして残る。
このような断片化したコンテンツのキャッシュは、そのままでは利用性に乏しいため、キャッシュとして残さずに廃棄してしまうか、あるいは断片化したキャッシュ同士を互いに補うように組み合わせて、完全なコンテンツとして再利用するという方法が考えられる。しかし、断片化したキャッシュを組み合わせる場合でも、断片化していない完全なキャッシュを残す場合と比べて、キャッシュの利用可能性は低くなる。以上のように、従来のDTNルーティング方法では、最終宛先であるノードA3への到達可能性を高めるように制御することができるが、一方でキャッシュの利用可能性が低くなってしまうという問題点があった。
第2の問題点は、従来のDTNルーティング方法を用いると、選択された転送経路上の中継ノードが、コンテンツをキャッシュとして保存するのに最適なノードになるとは限らないということである。
例えば、図15のノードA5〜A9がリンクD5〜D9で接続されているネットワークにおいて、ノードA5からノードA7まで、あるコンテンツを転送する際に、最短のホップ数となるのは、ノードA5→ノードA6→ノードA7という経路である。この場合、該コンテンツのキャッシュは、ノードA6に残ることになる。
しかしながら、このコンテンツの転送後、直ぐにノードA6がネットワークから離脱し、ノードA8やノードA9がネットワークに安定的に残留した場合、ノードA6に残されたコンテンツのキャッシュは全く利用されないことになる。この場合、コンテンツは、ノードA5→ノードA6→ノードA7の経路ではなく、ノードA5→ノードA8→ノードA9→ノードA7の経路で転送し、ノードA8やノードA9にコンテンツのキャッシュを残した方がネットワーク全体からみるとキャッシュの利用可能性の面では良かったことになる。このように、従来のDTNルーティング方法では、コンテンツをキャッシュとして保存するのに最適な経路を選択するとは限らないという問題点があった。
本発明の目的は、コンテンツをノード内のストレージにキャッシュとして蓄積してから転送するネットワークシステムにおいて、ノードに保存されるコンテンツのキャッシュの利用可能性を高めることができるルーティング方法およびノードを提供することにある。
本発明のルーティング方法において、各ノードは、コンテンツの転送時に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する候補経路決定手順と、1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されている次ホップノードを含む候補経路を転送経路として優先的に選択する転送経路選択手順と、前記コンテンツをノード内の転送部から前記転送経路上の次ホップノードに転送する転送手順とを実行することを特徴とする。
また、本発明のルーティング方法において、ソースノードは、コンテンツの転送時に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する候補経路決定手順と、1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されている中継ノードを含む候補経路を転送経路として優先的に選択する第1の転送経路選択手順と、前記コンテンツをソースノード内の転送部から前記転送経路上の次ホップノードに転送する第1の転送手順とを実行し、中継ノードは、前記ソースノードによって選択された経路を転送経路として選択する第2の転送経路選択手順と、受信したコンテンツを中継ノード内の転送部から前記転送経路上の次ホップノードに転送する第2の転送手順とを実行することを特徴とする。
また、本発明のルーティング方法において、各ノードは、コンテンツの転送開始時に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する第1の候補経路決定手順と、1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されているノードを含む候補経路を転送経路として優先的に選択する第1の転送経路選択手順と、前記コンテンツをノード内の転送部から前記転送経路上の次ホップノードに転送する転送手順と、前記コンテンツの転送途中で前記転送経路を変更する必要がある場合に、前記ルーティングテーブルを参照して候補経路を決定する第2の候補経路決定手順と、この第2の候補経路決定手順で決定された1つ以上の候補経路のうち、前記転送経路を変更する前の転送によって前記キャッシュ断片が蓄積されているノードを含む候補経路を転送経路として優先的に選択し、選択した転送経路へ前記コンテンツを転送するよう前記転送部に指示する第2の転送経路選択手順とを実行することを特徴とする。
また、本発明のノードは、コンテンツの転送時に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する候補経路決定手段と、1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されている次ホップノードを含む候補経路を転送経路として優先的に選択する経路選択手段と、前記コンテンツを前記転送経路上の次ホップノードに転送する転送手段とを有するものである。
また、本発明のノードは、ソースノードとして動作する場合に、コンテンツの転送時に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する候補経路決定手段と、ソースノードとして動作する場合は、1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されている中継ノードを含む候補経路を転送経路として優先的に選択し、中継ノードとして動作する場合は、前記ソースノードによって選択された経路を転送経路として選択する経路選択手段と、前記コンテンツを前記転送経路上の次ホップノードに転送する転送手段とを有するものである。
また、本発明のノードは、コンテンツの転送を開始する場合又は前記コンテンツの転送途中で前記転送経路を変更する必要がある場合に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する候補経路決定手段と、前記コンテンツの転送を開始する場合は、1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されているノードを含む候補経路を転送経路として優先的に選択し、前記転送経路を変更する必要がある場合は、前記転送経路を変更する前の転送によって前記キャッシュ断片が蓄積されているノードを含む候補経路を転送経路として優先的に選択する経路選択手段と、前記コンテンツを前記転送経路上の次ホップノードに転送する転送手段とを有するものである。
本発明によれば、キャッシュ断片の発生を抑制し、完全なキャッシュをより多く残すことでキャッシュの利用可能性を高めることができる。その理由は、コンテンツの転送経路を決定する際に、候補経路上のノードにおいて、該コンテンツのキャッシュ断片が存在するかどうかをチェックし、キャッシュ断片が存在する場合は、そのキャッシュ断片を補完して完全なキャッシュとなるような経路を優先的に選択するからである。また、もう1つの理由は、コンテンツの転送途中で転送経路を変更し代替経路へ切り替える際に、代替となる候補経路上の中継ノードにおいて、経路変更前に残されたキャッシュ断片があるかどうかをチェックし、もしキャッシュ断片があれば、そのキャッシュ断片を補完して完全なキャッシュとなるような経路を優先的に選択するからである。これにより、本発明では、転送経路の変化などの原因でコンテンツの一部が断片化されてキャッシュされた場合でも、キャッシュの利用可能性を高めることができる。
また、本発明では、経路上のノードがコンテンツをキャッシュとして保存した場合にキャッシュ効果が高くなる転送経路を選択することができる。その理由は、(1)候補経路上のノードにおけるコンテンツのキャッシュの有無、(2)候補経路上のノードのネットワーク離脱率、(3)候補経路上のノードに接続された隣接ノードの数、(4)候補経路上のノードからのコンテンツに対する要求頻度およびこのノードの隣接ノードからのコンテンツに対する要求頻度、(5)候補経路上のノードのリソース状態の5つのパラメータのうち、少なくとも1つのパラメータを考慮して転送経路を選択するからである。
[第1の実施の形態]
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。図1は本発明の第1の実施の形態に係るDTNの構成を示すブロック図である。
DTNは、ノードA11〜A14と、ノードA11とA12間を接続するリンクD12と、ノードA11とA14間を接続するリンクD14と、ノードA12とA13間を接続するリンクD23と、ノードA12とA14間を接続するリンクD24と、ノードA13とA14間を接続するリンクD34とから構成される。
ノードA11は、DTN転送部A111と、経路選択部A112と、ルーティングテーブルA113と、キャッシュテーブルA114と、キャッシュ情報交換部A115と、ストレージA116とから構成される。経路選択部A112は、転送経路の候補となる候補経路を決定する候補経路決定手段を含む。ノードA12〜A14については、ノードA11と同一の構成をとるため、説明は省略する。
各ノードA11〜A14のDTN転送部A111は、コンテンツの転送を行う機能を備えている。コンテンツの転送時、DTN転送部A111は、受信したデータを一旦ストレージA116へ蓄積し、このデータを経路選択部A112により解決された次ホップノードへ転送する。この際、DTN転送部A111は、コンテンツ全体を蓄積してから転送するのではなく、断片化されたブロック単位で蓄積・転送を行う。
例えば、DTN転送部A111は、64キロバイトのブロック単位でコンテンツの蓄積・転送を行うものとすると、576キロバイトのコンテンツを転送する際は、コンテンツを9つのブロックに分けて蓄積・転送を行う。このように、本実施の形態では、断片化されたブロック単位で蓄積・転送を行うことにより、転送途中でブロックの消失が発生して再送を行う場合でも、コンテンツ全体を再送する必要はなく、消失したブロックだけを再送すればいいようになり、ネットワークにかかる負荷を下げることができる。また、中継時にコンテンツ全体を蓄積してから次ホップノードへ転送する処理を行うと、エンド−エンド間の転送遅延がホップ数に比例して増大する。これに対して、本実施の形態のように小さいブロック単位で蓄積・転送する処理を繰り返すこと(すなわち、あるブロックを受信し蓄積したら即座に転送する動作をパイプライン的に繰り返すこと)により、エンド−エンド間の転送遅延を大幅に削減することが可能となる。
DTN転送部A111によってストレージA116へ蓄積されたコンテンツは、キャッシュとして再利用される。この際、ストレージA116に既に同一のコンテンツがキャッシュとして蓄積されている場合は、改めてキャッシュとして蓄積する必要はない。ただし、DTN転送部A111は、受信したコンテンツと同一のコンテンツの一部だけが断片化されてキャッシュとしてストレージA116に蓄積されている場合は、受信したコンテンツからキャッシュの欠落部分を取得して、この取得した部分をストレージA116に蓄積することにより、キャッシュの欠落部分を補完する。
なお、本発明におけるコンテンツの転送とは、中継ノードとして転送するだけではなく、ソースノードとしてコンテンツを送信する場合も含んでいる。ただし、ソースノードとしてコンテンツを送信する場合はストレージA116への蓄積処理は必要ない。
次に、経路選択部A112は、DTN転送部A111の要求に応じて、転送しようとするコンテンツに対応する転送先の隣接ノード、すなわち次ホップノードを選択し、選択した次ホップノードをDTN転送部A111に通知する。経路選択部A112は、ルーティングテーブルA113を参照することにより、コンテンツの宛先に対応する転送経路の候補となる候補経路を解決する。次に、経路選択部A112は、キャッシュテーブルA114を参照することにより、転送しようとするコンテンツの、各経路におけるキャッシュ状況を調べる。そして、経路選択部A112は、各経路のキャッシュ状況に基づいて、候補経路の中から最適な経路を選択する。
複数の候補経路の中から最適な経路を選択する方法としては、様々なアルゴリズムが考えられる。例えば、候補経路のうち、転送しようとするコンテンツのキャッシュ断片が経路上の中継ノードに存在する経路を優先的に選択するという方法が考えられる。また、複数の候補の経路上のノードにキャッシュ断片が存在する場合は、次ホップノードに存在するキャッシュ断片のサイズが大きい方の経路を選択するという方法も考えられる。このように、次ホップノードのキャッシュ断片のサイズが大きい方の経路を選択すれば、キャッシュ断片を補完できる可能性が高くなる。また、逆に次ホップノードに存在するキャッシュ断片のサイズが小さい方の経路を選択してもよい。キャッシュ断片のサイズが小さい方の経路を選択すれば、キャッシュ断片が補完される量が大きくなる。
なお、各中継ノードの経路選択部A112で次ホップノードの選択を行うホップバイホップ型のルーティングではなく、ソースノードの経路選択部A112でソースルート型のルーティングを行ってもよい。ソースルート型のルーティングを行う場合は、ソースノードの経路選択部A112で予め転送経路を指定し、その経路に沿って転送が行われる。この場合、転送経路情報は、データのヘッダ情報としてエンコードされており、中継ノードの経路選択部A112は、受信したデータのヘッダ情報を参照して次ホップノードを選択する。
ルーティングテーブルA113には、DTN転送部A111が受信したデータの次ホップノードを解決するための経路エントリが登録されている。ルーティングテーブルA113の各エントリは、AODV(Ad Hoc On Demand Distance Vector algorithm)やOLSR(Optimized Link State Routing protocol)などのMANET(Mobile Adhoc NETwork)ルーティングプロトコルにより設定されてもよいし、あるいはDTN用の独自のルーティングプロトコルにより設定されてもよい。
ルーティングテーブルA113の例を図2および図3に示す。まず、図2に示すルーティングテーブルA113は、ホップバイホップ型のルーティングが行われる場合のテーブルである。ホップバイホップ型のルーティングを行う場合、各ノードの経路選択部A112は、コンテンツの転送時に自ノードのルーティングテーブルA113を参照する。図2のルーティングテーブルA113には、各宛先への最短ホップとなる経路が次ホップノードの形で登録されている。例えば、ノードA12への経路は、次ホップノードがノードA12で、次ホップノードのIPアドレスが10.0.0.12と登録されている。また、ノードA13への経路としては、同一ホップ数の2つの候補経路が登録されている。一方の候補経路では、次ホップノードがノードA12で、そのIPアドレスが10.0.0.12であり、他の候補経路では、次ホップノードがノードA14で、そのIPアドレスが10.0.0.14である。
次に、図3に示すルーティングテーブルA113は、ソースルート型のルーティングが行われる場合のテーブルである。ソースルート型のルーティングを行う場合、コンテンツを送信するソースノードの経路選択部A112は、自ノードのルーティングテーブルA113を参照して経路を選択し、ソースノードのDTN転送部A111は、経路選択部A112からの通知に応じて、途中の中継ノードをヘッダ情報によって指定した形でコンテンツを送信する。図3のルーティングテーブルA113には、各宛先への候補経路が全て登録されている。例えば、ノードA12への経路としては、3つの候補経路が登録されている。1番目の候補経路では、次ホップノードがノードA12で、そのIPアドレスが10.0.0.12であり、2番目、3番目の候補経路では、次ホップノードがノードA14で、そのIPアドレスが10.0.0.14である。また、1番目の候補経路では、中継ノードが存在せず、2番目の候補経路では、中継ノードがノードA14であり、3番目の候補経路では、中継ノードがノードA14とノードA13であることが分かる。
キャッシュテーブルA114は、ネットワーク内の他のノードが持っているコンテンツキャッシュを登録したテーブルである。キャッシュテーブルA114内の各エントリは、キャッシュ情報交換部A115から登録される。キャッシュテーブルA114に登録されるキャッシュのエントリは、ネットワーク内の全てのノードのキャッシュに関するものでもよいし、一部のノードのキャッシュに関するものであってもよい。キャッシュテーブルA114の例を図4に示す。
図4に示すキャッシュテーブルA114には、ノードA12〜A14のそれぞれにキャッシュとして蓄積されているコンテンツの識別番号(ID)、コンテンツのサイズ、およびキャッシュ状態の詳細が登録されている。キャッシュテーブルA114によれば、例えばノードA12にはコンテンツ1とコンテンツ2がキャッシュとして蓄積されており、そのサイズはそれぞれ576キロバイト、1024キロバイトであることが分かる。このときのサイズは、コンテンツ本来のサイズであり、コンテンツが断片化されてその一部がキャッシュとして蓄積されている場合は、蓄積されている断片のサイズはキャッシュテーブルA114に登録されているサイズよりも小さくなる。
また、図4のキャッシュテーブルA114によれば、ノードA12に蓄積されているコンテンツ1のキャッシュ状態は0−575となっている。このキャッシュ状態は、0キロバイト目から575キロバイト目まで蓄積された状態、すなわち576キロバイトのコンテンツ1の全てが蓄積された状態であることを示している。また、ノードA12に蓄積されているコンテンツ2のキャッシュ状態は0−127となっている。このキャッシュ状態は、1024キロバイトのコンテンツ2のうち、最初の128キロバイト分しか蓄積されていないことを示している。
キャッシュ情報交換部A115は、ネットワークの他のノードおよび自ノードが持っているコンテンツのキャッシュのリストを他のノードと交換する。キャッシュ情報交換部A115は、交換したキャッシュのリストをキャッシュテーブルA114へ登録する。キャッシュ情報交換部A115がキャッシュリストを交換する方法としては、ノード間で定期的に交換されるHelloメッセージと一緒に互いのノードが持つキャッシュリストを交換する方法や、キャッシュリスト交換の専用のメッセージを定義し、キャッシュリストの変更をトリガとして他のノードとキャッシュリストの同期をとる方法などが考えられる。キャッシュ情報交換部A115は、他の全部のノードとキャッシュリストを交換してもよいし、一部のノードとだけ交換してもよい。一部のノードと交換する場合には、例えば隣接ノードとだけキャッシュリストを交換するなどの方法が考えられる。
ストレージA116は、オリジンコンテンツやキャッシュを蓄積する機能を有する。DTN転送部A111で受信したコンテンツは、ストレージA116へ蓄積される。ストレージA116の例としては、ハードディスク装置やフラッシュメモリなどが考えられる。
リンクD12,D14,D23,D34は、図1に示すようにノードA11〜A14の各々を接続している。本実施の形態では、各リンクは、有線リンクのような安定した接続性をもつリンクではなく、無線リンクのような不安定な接続性をもつリンクであるとし、途中で切断したり、接続しているノードが動的に変化したりするものとする。
次に、図5を参照して、本実施の形態において図1のノードA11がコンテンツを転送する動作を詳細に説明する。図5の例では、ホップバイホップ型のルーティングが行われるものとして説明する。
まず、ノードA11のDTN転送部A111は、中継ノードとしての転送時またはソースノードとしての送信時にコンテンツを送信する際(図5のステップS101)、経路選択部A112に経路を問い合わせる(ステップS102)。
この問い合わせに応じて、経路選択部A112は、ルーティングテーブルA113を参照し、転送しようとするコンテンツの宛先ノードに対応する候補経路を決定する(ステップS103)。ここでは、転送しようとするコンテンツの宛先をノードA13とし、ルーティングテーブルA113は図2と同一の状態にあるものとする。このため、経路選択部A112は、転送しようとするコンテンツに対する候補経路として、次ホップがノードA12の経路と、次ホップがノードA14の経路の2つを決定する。
次に、経路選択部A112は、キャッシュテーブルA114を参照し、ステップS103で決定した候補経路のそれぞれについて次ホップノードに蓄積されたキャッシュを調べ(ステップS104)、転送しようとするコンテンツのキャッシュが次ホップノードに存在するか否かを判定する(ステップS105)。ここでは、転送しようとするコンテンツのキャッシュ断片が次ホップノードに存在する場合に、より大きいサイズのキャッシュ断片を持つ次ホップノードへコンテンツを優先的に転送する、というアルゴリズムが採られているものとする。また、キャッシュテーブルA114は図4と同一の状態にあるものとし、転送しようとするコンテンツはコンテンツ2であるとする。
図4に示したキャッシュテーブルA114によれば、ノードA12とノードA14の両方共に、コンテンツ2のキャッシュの断片が存在する。ノードA12には、合計1024キロバイトのコンテンツ2のうち、0バイト目から127キロバイト目までの128キロバイトのキャッシュ断片が存在し、ノードA14には、128キロバイト目から511キロバイト目までの384キロバイトのキャッシュ断片が存在することが分かる。
経路選択部A112は、ノードA14の方がノードA12より大きなサイズのキャッシュ断片を蓄積しているので、ノードA14を次ホップノードとする経路を選択し、選択した経路をDTN転送部A111に通知する(ステップS106)。DTN転送部A111は、経路選択部A112から通知された次ホップノードA14にコンテンツを転送する。また、経路選択部A112は、ステップS105において転送しようとするコンテンツのキャッシュが候補経路上の次ホップノードに存在しないと判定した場合、候補経路の中からいずれか1つの経路をランダムに選択し、選択した経路をDTN転送部A111に通知する(ステップS107)。
以上で、ノードA11の動作が終了する。次ホップノードA14もノードA11と同様に動作し、受信したコンテンツをストレージA116に蓄積してからノードA13にコンテンツを転送する。前述のとおり、図5に示した動作は各ノードがコンテンツをホップバイホップ型のルーティングにより転送する動作である。次に、ソースルート型のルーティングによりコンテンツが転送される場合について図6を参照して説明する。
まず、ノードA11のDTN転送部A111は、ソースノードとしての送信時にコンテンツを送信する際(図6のステップS201)、経路選択部A112に経路を問い合わせる(ステップS202)。
この問い合わせに応じて、経路選択部A112は、ルーティングテーブルA113を参照し、転送しようとするコンテンツの宛先ノードに対応する候補経路を決定する(ステップS203)。ここでは、転送しようとするコンテンツの宛先をノードA12とし、ルーティングテーブルA113は図3と同一の状態にあるものとする。このため、経路選択部A112は、転送しようとするコンテンツに対する候補経路として、中継ノードなしに直接ノードA12へ至る経路と、ノードA14を経てノードA12へ至る経路と、ノードA14からノードA13を経てノードA12へ至る経路の3つを決定する。
次に、経路選択部A112は、キャッシュテーブルA114を参照し、ステップS203で決定した候補経路のそれぞれについて中継ノードに蓄積されたコンテンツのキャッシュを調べ(ステップS204)、転送しようとするコンテンツのキャッシュが中継ノードに存在するか否かを判定する(ステップS205)。ここでは、転送しようとするコンテンツのキャッシュ断片が中継ノードに存在する場合に、各中継ノードにおける当該コンテンツのキャッシュ断片の合計サイズが最も大きい候補経路へコンテンツを優先的に転送する、というアルゴリズムが採られているものとする。また、キャッシュテーブルA114は図4と同一の状態にあるものとし、転送しようとするコンテンツはコンテンツ3であるとする。
図4に示したキャッシュテーブルA114によれば、ノードA13とノードA14にコンテンツ3のキャッシュが存在する。ノードA13には、合計512キロバイトのコンテンツ3のうち、0キロバイト目から63キロバイト目までの64キロバイト、および384キロバイト目から511キロバイト目までの128キロバイトの合計192キロバイトのキャッシュ断片が存在することが分かる。また、ノードA14には、0キロバイト目から511キロバイト目までのコンテンツ3全体が蓄積されていることが分かる。
経路選択部A112は、全ての候補経路の中で、転送しようとするコンテンツのキャッシュ断片の合計サイズが最も大きい経路を検索すると、ノードA14とノードA13を経てノードA12へ至る経路でキャッシュ断片の合計サイズが最も大きくなるため、この経路を転送経路として選択しDTN転送部A111に通知する(ステップS206)。DTN転送部A111は、経路選択部A112から通知された転送経路の情報をコンテンツのヘッダ情報に設定して、コンテンツを転送経路上の次ホップノードA14に転送する。また、経路選択部A112は、ステップS205において転送しようとするコンテンツのキャッシュが候補経路上の次ホップノードに存在しないと判定した場合、候補経路の中からいずれか1つの経路をランダムに選択し、選択した経路をDTN転送部A111に通知する(ステップS207)。
以上で、ノードA11の動作が終了する。中継ノードであるノードA14とノードA13では、経路選択部A112は、受信したブロックのヘッダ情報を参照して次ホップノードを選択する。
図6に示した動作では、転送しようとするコンテンツのキャッシュ断片が中継ノードに存在する場合に、各中継ノードにおける当該コンテンツのキャッシュ断片の合計サイズが最も大きい候補経路へコンテンツを優先的に転送する場合について説明したが、転送しようとするコンテンツのキャッシュ断片を持つノードの数が最も多い候補経路へコンテンツを優先的に転送するというアルゴリズムを採用してもよい。
次に、本実施の形態の効果について説明する。本実施の形態では、コンテンツの転送経路を決定する際に、候補経路上のノードに該コンテンツのキャッシュ断片が存在するかどうかをチェックし、キャッシュ断片が存在する場合は、そのキャッシュ断片を補完して完全なキャッシュとなるような経路を優先的に選択する。そのため、従来はキャッシュとして利用できなかったキャッシュ断片を、完全なキャッシュとなるように補完することができ、キャッシュとして利用可能にすることができる。また、本実施の形態では、途中のノードにキャッシュ断片が既に存在する経路を優先的に選択することにより、転送されるコンテンツにとっても、途中で経路が変わった場合にキャッシュ断片が残る可能性が相対的に小さくなることが期待できる。すなわち、既に存在しているキャッシュ断片と、経路変更により残ったキャッシュ断片とを合わせて完全なキャッシュとして利用できる可能性が高くなる。
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。本実施の形態においても、DTN及びノードの構成は第1の実施の形態と同様であるので、図1の符号を用いて説明する。
第1の実施の形態では、経路選択部A112は、ルーティングテーブルA113を参照して、コンテンツの宛先までの経路を解決したが、必ずしもコンテンツの宛先までの経路を解決する必要はない。
DTNでは、ソースノードから宛先ノードまでのコンテンツの到達性がなくても、一旦途中のノードまで転送を行って途中のノードにコンテンツを蓄積しておき、蓄積した途中のノードから宛先ノードまでの到達性が生まれたタイミングでコンテンツの転送を再開するという処理が可能である。したがって、経路選択部A112が、宛先ノードまでの経路が存在しないと判断した場合や、宛先ノードへの経路が存在しても他のノードを宛先とする経路の方がいいと判断した場合は、宛先ノード以外の他のノードまでの経路を選択することもできる。これらの場合、経路選択部A112によって選択される経路は、ルーティングテーブルA113にコンテンツの宛先までの経路として登録された経路の中からではなく、コンテンツの宛先ノード以外のノードへの経路の中から選ばれる。
例えば、図1のノードA11において、コンテンツの宛先がノードA13であるときに、リンクD23およびリンクD34が切断し、ノードA13への経路が存在しなかったとする。この場合は、ノードA12とノードA14のいずれかまでコンテンツを転送しておき、リンクD23またはリンクD34の接続が復旧したときにコンテンツの転送を再開することが好ましいと考えられる。ノードA11の経路選択部A112は、ノードA12とノードA14のいずれにコンテンツを転送するかの判断において、キャッシュテーブルA114を参照し、ノードA12への転送経路とノードA14への転送経路を比較し、転送しようとするコンテンツのキャッシュ断片がより多く存在する転送経路を優先的に選択する。
[第3の実施の形態]
次に、本発明の第3の実施の形態について説明する。本実施の形態においても、DTN及びノードの構成は第1の実施の形態と同様であるので、図1の符号を用いて説明する。
DTNでは、転送途中でコンテンツを複製し、同一のコンテンツを途中で分岐させて転送することも可能である。そこで、キャッシュ断片を補うために転送途中でコンテンツを複製し、分岐した経路を用いてコンテンツを転送する方法が考えられる。例えば、図1のノードA11からノードA13までコンテンツを転送する際に、リンクD14とリンクD34が切断している場合、転送経路としてはノードA11からノードA12を経由してノードA13へ至る経路しか利用できない。このときに、転送しようとするコンテンツのキャッシュ断片がノードA14に存在している場合は、ノードA12を経由してノードA14にもコンテンツを転送し、ノードA14のキャッシュ断片を補完するようにしてもよい。
ノードA12の経路選択部A112は、ノードA11から受信したコンテンツを転送しようとする際に、キャッシュテーブルA114を参照し、転送しようとするコンテンツのキャッシュ断片がノードA14に存在し、このキャッシュ断片を補完するために、コンテンツをノードA13だけでなく、ノードA14にも転送することを決定した場合、DTN転送部A111に対してノードA11から受信したコンテンツをノードA13に転送するよう指示すると共に、受信したコンテンツを複製してノードA14にも転送するよう指示する。この指示に応じて、ノードA12のDTN転送部A111は、ノードA11から受信したコンテンツをノードA13に転送すると共に、このコンテンツを複製してノードA14に転送する。
このようなコンテンツの複製と転送に際しては、ノードA14に必ずしもコンテンツ全体を転送する必要はなく、キャッシュテーブルA114を参照してキャッシュ断片の不足したセグメントを特定し、この不足したセグメントだけをノードA14に転送するようにしてもよい。なお、セグメントとは、コンテンツを分割した1つ以上のブロックからなるデータ単位のことを言う。不足したセグメントの特定は、ソースノードであるノードA11の経路選択部A112で行ってもよいし、中継ノードであるノードA12の経路選択部A112で行ってもよい。このようにコンテンツを複製して複数の経路に転送することにより、本実施の形態では、キャッシュ断片を持つノードが必ずしもソースノードから宛先ノードへの転送経路上に存在しない場合でも、キャッシュ断片を補完することが可能となる。
[第4の実施の形態]
次に、本発明の第4の実施の形態について説明する。本実施の形態においても、DTN及びノードの構成は第1の実施の形態と同様であるので、図1の符号を用いて説明する。
DTNでは、コンテンツのセグメントごとに異なる経路を通って転送することも可能である。そこで、各候補経路上の中継ノードに、転送しようとするコンテンツのキャッシュ断片が存在し、候補経路ごとにキャッシュ断片を補完するために必要なセグメントが異なる場合に、候補経路ごとに不足したコンテンツのセグメントを最大限補えるように複数の経路を選択し、各経路へコンテンツのセグメントを振り分けるという転送方法をとることもできる。
例えば1つの例として、図1のノードA11においてホップバイホップ型のルーティングを行う場合に、転送しようとするコンテンツはコンテンツ2であり、コンテンツ2の宛先はノードA13であり、ルーティングテーブルA113とキャッシュテーブルA114はそれぞれ図2、図4と同一の状態にあるものとする。キャッシュテーブルA114を参照すると、ノードA12には、コンテンツ2の0キロバイト目から127キロバイト目までのキャッシュ断片が存在し、128キロバイト目から1023キロバイト目までのセグメントが不足していることが分かる。一方、ノードA14には、コンテンツ2の128キロバイト目から511キロバイト目までのキャッシュ断片が存在し、0キロバイト目から127キロバイト目までのセグメントと512キロバイト目から1023キロバイト目までのセグメントが不足していることが分かる。
そこで、ノードA11の経路選択部A112は、コンテンツ2の0キロバイト目から127キロバイト目までのセグメントを、次ホップがノードA14である経路へ転送することを決定すると共に、コンテンツ2の128キロバイト目から1023キロバイト目までのセグメントを、次ホップがノードA12である経路へ転送することを決定する。このような転送がノードA11のDTN転送部A111によって行われると、ノードA12では、コンテンツ2の不足したセグメントはなくなり、完全なキャッシュとなる。また、ノードA14では、コンテンツ2の不足したセグメントは512キロバイト目から1023キロバイト目までのセグメントだけに減少する。
また、2つ目の例として、図1のノードA11においてソースルート型のルーティングを行う場合に、転送しようとするコンテンツはコンテンツ2であり、コンテンツ2の宛先はノードA13であり、ルーティングテーブルA113とキャッシュテーブルA114はそれぞれ図3、図4と同一の状態にあるものとする。ノードA12,A14に存在するコンテンツ2のキャッシュ断片と、ノードA12,A14で不足しているコンテンツ2のセグメントは、上記のとおりである。
そこで、ノードA11の経路選択部A112は、コンテンツ2の0キロバイト目から127キロバイト目までのセグメントを、ノードA14を経てノードA13へ至る経路へ転送することを決定し、コンテンツ2の128キロバイト目から511キロバイト目までのセグメントを、ノードA12からノードA14を経てノードA13へ至る経路へ転送することを決定し、コンテンツ2の512キロバイト目から1023キロバイト目までのセグメントを、ノードA12を経てノードA13へ至る経路へ転送することを決定する。このような転送がノードA11のDTN転送部A111によって行われると、ノードA12,A14におけるキャッシュ断片の不足したセグメントが、1度の転送で全て補完されることになる。このように各経路へコンテンツのセグメントを振り分けて転送することにより、本実施の形態では、キャッシュ断片を持つノードが複数あり、それぞれのノードで異なるセグメントが不足している場合に、少ない数のコンテンツの転送で不足しているセグメントを補完することが可能となる。
[第5の実施の形態]
次に、本発明の第5の実施の形態について説明する。本実施の形態においても、DTN及びノードの構成は第1の実施の形態と同様であるので、図1の符号を用いて説明する。
第1の実施の形態では、複数の候補経路の中から最適な経路を選択する際に、候補経路上の次ホップノード又は中継ノードにおけるキャッシュ断片の有無や、キャッシュ断片のサイズに基づいて経路が選択されるものとして説明したが、その他、様々なパラメータに基づいて経路の選択を行うことができる。以下にその例を挙げる。
経路選択に用いる第1のパラメータは、候補経路上の次ホップノード(ホップバイホップ型のルーティングの場合)あるいは候補経路上の1つ以上の中継ノード(ソースルート型のルーティングの場合)におけるコンテンツのキャッシュの有無である。
第1の実施の形態では、キャッシュ断片をできるだけ補完するという方針で転送経路を選択したが、本実施の形態では、できるだけ新しいキャッシュを生成するという方針で転送経路を選択する。
例えば、ルーティングテーブルA113とキャッシュテーブルA114がそれぞれ図2、図4と同一の状態にあり、ノードA11がノードA13を宛先としてコンテンツ3を転送する場合を考える。この場合、ノードA14を次ホップノードとする経路を選択すると、ノードA14には既にコンテンツ3の全てがキャッシュとして蓄積されているので、ノードA14に新しいキャッシュが蓄積される可能性は無い。これに対して、ノードA12を次ホップノードとする経路を選択すると、ノードA12にはコンテンツ3のキャッシュが存在しないので、中継転送時にノードA12に新しいキャッシュが蓄積される可能性がある。
そこで、ノードA11の経路選択部A112は、コンテンツ3を転送しようとする際に、キャッシュテーブルA114を参照し、コンテンツ3のキャッシュ断片がノードA14にあってノードA12に無く、ノードA12の方が新しいキャッシュが生成される可能性が高いと判断すると、ノードA12を次ホップノードとする経路を優先的に選択する。この選択に応じてノードA11のDTN転送部A111がコンテンツ3をノードA12に転送すると、ノードA12に新しいキャッシュが蓄積される。
[第6の実施の形態]
次に、本発明の第6の実施の形態について説明する。図7は本発明の第6の実施の形態に係るDTNの構成を示すブロック図である。本実施の形態では、経路選択に用いる第2のパラメータを説明する。第2のパラメータは、候補経路上の次ホップノード(ホップバイホップ型のルーティングの場合)あるいは候補経路上の1つ以上の中継ノード(ソースルート型のルーティングの場合)のネットワーク離脱率である。ネットワーク上の各ノードは、電源が切れたり、電波が届かなくなって全ての隣接ノードとのリンクが切断されたりして、ネットワークから離脱することがある。ノードのネットワーク離脱率とは、ネットワークの稼働時間に対して当該ノードがネットワークから離脱している時間の割合である。
本実施の形態では、図7に示すようにノードA11には、第1の実施の形態の構成に加えて、ネットワーク内の各ノードにおけるネットワーク離脱率の情報を他のノードと交換するネットワーク離脱率交換部A117と、各ノードのネットワーク離脱率を記憶するネットワーク離脱率テーブルA118とが備えられている。ノードA12〜A14の構成は、ノードA11と同一である。
本実施の形態においてネットワーク離脱率を利用して経路を選択する方法としては、ネットワーク離脱率の低いノードを次ホップノード又は1つ以上の中継ノードとして含む転送経路を優先的に選ぶという方法が考えられる。すなわち、ホップバイホップ型のルーティングを行う場合、各ノードの経路選択部A112は、ネットワーク離脱率テーブルA118を参照し、複数の候補経路のうち次ホップノードのネットワーク離脱率が最も低い経路を選択する。また、ソースルート型のルーティングを行う場合、ソースノードの経路選択部A112は、ネットワーク離脱率テーブルA118を参照し、複数の候補経路のうち中継ノードのネットワーク離脱率の合計が最も低い経路を選択する。あるいは、ソースノードの経路選択部A112は、ネットワーク離脱率テーブルA118を参照して、中継ノードのネットワーク離脱率の最小値を候補経路ごとに求め、ネットワーク離脱率の最小値が最も低い経路を選択する。
このような経路の選択に応じてDTN転送部A111がコンテンツを転送することにより、本実施の形態では、転送途中で次ホップノードや中継ノードがネットワークから離脱してコンテンツ転送が失敗する可能性をできるだけ低くすることができ、また次ホップノードや中継ノードにキャッシュを蓄積できる可能性を高めることができる。
[第7の実施の形態]
次に、本発明の第7の実施の形態について説明する。図8は本発明の第7の実施の形態に係るDTNの構成を示すブロック図である。本実施の形態では、経路選択に用いる第3のパラメータを説明する。第3のパラメータは、候補経路上の次ホップノード(ホップバイホップ型のルーティングの場合)あるいは候補経路上の1つ以上の中継ノード(ソースルート型のルーティングの場合)に接続される隣接ノードの数(リンク数)である。
本実施の形態では、図8に示すようにノードA11には、第1の実施の形態の構成に加えて、ネットワーク内の各ノードにおける隣接ノード数の情報を他のノードと交換するトポロジ情報交換部A119と、各ノードの隣接ノード数を記憶するトポロジ情報記憶部A120とが備えられている。ノードA12〜A14の構成は、ノードA11と同一である。
本実施の形態において、隣接ノード数を利用して経路を選択する方法としては、隣接ノード数の多いノードを次ホップノード又は1つ以上の中継ノードとして含む転送経路を優先的に選ぶという方法が考えられる。すなわち、ホップバイホップ型のルーティングを行う場合、各ノードの経路選択部A112は、トポロジ情報記憶部A120を参照し、複数の候補経路のうち次ホップノードにおける隣接ノード数が最も多い経路を選択する。また、ソースルート型のルーティングを行う場合、ソースノードの経路選択部A112は、トポロジ情報記憶部A120を参照し、複数の候補経路のうち中継ノードにおける隣接ノード数の合計が最も多い経路を選択する。あるいは、ソースノードの経路選択部A112は、トポロジ情報記憶部A120を参照して、中継ノードにおける隣接ノード数の最大値を候補経路ごとに求め、隣接ノード数の最大値が最も大きい経路を選択する。
このような経路の選択に応じてDTN転送部A111がコンテンツを転送することにより、本実施の形態では、隣接ノード数が多いノードにキャッシュを蓄積させることができ、キャッシュの利用可能性をより高めることができる。
[第8の実施の形態]
次に、本発明の第8の実施の形態について説明する。図9は本発明の第8の実施の形態に係るDTNの構成を示すブロック図である。本実施の形態では、経路選択に用いる第4のパラメータを説明する。第4のパラメータは、候補経路上の次ホップノードとその隣接ノード(ホップバイホップ型のルーティングの場合)、あるいは候補経路上の1つ以上の中継ノードとその隣接ノード(ソースルート型のルーティングの場合)からのコンテンツに対する要求頻度である。ここで、要求頻度とは、あるコンテンツに対する単位時間当たりの要求数としてもよいし、その他何らかの方法で正規化された値でもよい。
本実施の形態では、図9に示すようにノードA11には、第1の実施の形態の構成に加えて、ネットワーク内の各ノードにおけるコンテンツごとの要求頻度の情報を他のノードと交換するリクエスト情報交換部A121と、各ノードのコンテンツごとの要求頻度を記憶するリクエスト情報記憶部A122とが備えられている。ノードA12〜A14の構成は、ノードA11と同一である。
本実施の形態において、コンテンツに対する要求頻度を利用して経路を選択する方法としては、次ホップノードとその隣接ノード、あるいは1つ以上の中継ノードとその隣接ノードからのコンテンツに対する要求頻度が多い経路を優先的に選択するという方法が考えられる。すなわち、ホップバイホップ型のルーティングを行う場合、各ノードの経路選択部A112は、リクエスト情報記憶部A122を参照し、転送しようとするコンテンツに対して次ホップノードとその隣接ノードからの要求頻度が最も多い候補経路を選択する。また、ソースルート型のルーティングを行う場合、ソースノードの経路選択部A112は、リクエスト情報記憶部A122を参照し、転送しようとするコンテンツに対して中継ノードとその隣接ノードからの要求頻度の合計が最も多い候補経路を選択する。あるいは、ソースノードの経路選択部A112は、リクエスト情報記憶部A122を参照して、中継ノードとその隣接ノードからの要求頻度の最大値を候補経路ごとに求め、要求頻度の最大値が最も大きい経路を選択する。
このような経路の選択に応じてDTN転送部A111がコンテンツを転送することにより、本実施の形態では、コンテンツのキャッシュ効果をより高めることができる。
[第9の実施の形態]
次に、本発明の第9の実施の形態について説明する。図10は本発明の第9の実施の形態に係るDTNの構成を示すブロック図である。本実施の形態では、経路選択に用いる第5のパラメータを説明する。第5のパラメータは、候補経路上の次ホップノード(ホップバイホップ型のルーティングの場合)あるいは候補経路上の1つ以上の中継ノード(ソースルート型のルーティングの場合)が持つリソース状態である。ここで、リソース状態の例としては、ノードの電池残量、記憶容量、CPU速度などが挙げられる。
本実施の形態では、図10に示すようにノードA11には、第1の実施の形態の構成に加えて、ネットワーク内の各ノードにおけるリソース状態の情報を他のノードと交換するリソース状態交換部A123と、各ノードのリソース状態を記憶するリソース状態記憶部A124とが備えられている。ノードA12〜A14の構成は、ノードA11と同一である。
本実施の形態において、リソース状態を利用して経路を選択する方法としては、リソースの多いノードを次ホップノード又は1つ以上の中継ノードとして含む転送経路を優先的に選ぶという方法が考えられる。すなわち、ホップバイホップ型のルーティングを行う場合、各ノードの経路選択部A112は、リソース状態記憶部A124を参照し、複数の候補経路のうち次ホップノードのリソースが最も多い経路を選択する。また、ソースルート型のルーティングを行う場合、ソースノードの経路選択部A112は、リソース状態記憶部A124を参照し、複数の候補経路のうち各中継ノードにおけるリソースの合計が最も多い経路を選択する。あるいは、ソースノードの経路選択部A112は、リソース状態記憶部A124を参照して、中継ノードにおけるリソースの最大値を候補経路ごとに求め、リソースの最大値が最も大きい経路を選択する。
このような経路の選択に応じてDTN転送部A111がコンテンツを転送することにより、本実施の形態では、リソースが多いノードにキャッシュを蓄積させることができ、キャッシュの利用可能性をより高めることができる。
なお、以上の説明では、第1〜第9の実施の形態を個別に説明しているが、第1〜第9の実施の形態を適宜組み合わせて、前記の第1〜第5のパラメータのうち1つ以上のパラメータに基づいて転送経路を選択するようにしてもよい。
[第10の実施の形態]
次に、本発明の第10の実施の形態について説明する。図11は本発明の第10の実施の形態に係るDTNの構成を示すブロック図である。
DTNは、ノードA21〜A24と、ノードA21とA22間を接続するリンクD12と、ノードA21とA24間を接続するリンクD14と、ノードA22とA23間を接続するリンクD23と、ノードA22とA24間を接続するリンクD24と、ノードA23とA24間を接続するリンクD34とから構成される。
ノードA21は、DTN転送部A211と、経路選択部A212と、ルーティングテーブルA213と、キャッシュ状態記憶部A214と、キャッシュ状態取得部A215と、ストレージA216とから構成される。経路選択部A212は、候補経路決定手段を含む。ノードA22〜A24については、ノードA21と同一の構成をとるため、説明は省略する。また、DTN転送部A211、ルーティングテーブルA213、ストレージA216は、それぞれ第1の実施の形態のDTN転送部A111、ルーティングテーブルA113、ストレージA116と同一の機能であるため、詳細な説明は省略する。
経路選択部A212は、DTN転送部A211の要求に応じて、転送しようとするコンテンツに対応する転送経路を選択し、選択した経路をDTN転送部A211に通知する。ここで、DTN転送部A211は、第1の実施の形態のDTN転送部A111と同様に、単位サイズのブロック単位でパイプライン型のコンテンツの蓄積・転送を行い、ブロック単位で経路選択部A212に経路の問い合わせを行うものとする。本実施の形態では、ソースルート型のルーティングが行われるものとして説明するが、ホップバイホップ型のルーティングを行うことも可能である。
経路選択部A212は、通常時はルーティングテーブルA213だけを参照して、候補経路の中からコンテンツを転送する経路を決定するが、コンテンツの転送途中で、リンクの切断やノードの離脱などの理由により経路を変更する必要がある場合は、ルーティングテーブルA213に加えて、キャッシュ状態記憶部A214を参照して転送経路を決定する。
例えば、図11のトポロジにおいて、ソースノードがノードA21、宛先ノードがノードA23であり、ノードA21→ノードA22→ノードA23の経路で転送している際に、リンクD12の切断が発生したとすると、同一経路では転送が継続できないため、経路を変更する必要がある。この場合、経路選択部A212は、ルーティングテーブルA213を参照して、宛先ノードA23への新たな候補経路を決定し、新しい経路を選択するが、その際に、キャッシュ状態記憶部A214を参照し、以前の転送経路上の中継ノードに残したキャッシュ断片をできるだけ補完できる経路を優先的に選択する。
キャッシュ状態記憶部A214は、コンテンツの転送過程において、転送経路上の中継ノードにコンテンツがどれだけキャッシュされているかを示すキャッシュ状態の情報を記憶する。キャッシュ状態記憶部A214には、転送中のコンテンツについてどの中継ノードにどのセグメントがキャッシュとして蓄積されたかを示す情報が、キャッシュ状態取得部A215によって書き込まれる。
図12は、ノードA21のキャッシュ状態記憶部A214に記憶されるキャッシュ状態の例を示す図である。キャッシュ状態記憶部A214には、転送中のコンテンツのID、コンテンツの全体サイズ、コンテンツをキャッシュとして蓄積している中継ノードのID、および中継ノードにおいてどのセグメントが蓄積されているかを示すキャッシュ状態の詳細が登録されている。キャッシュ状態記憶部A214によれば、例えばコンテンツ7の全体サイズは512キロバイトであり、ノードA22とノードA23にキャッシュが蓄積され、ノードA22には、0キロバイト目から255キロバイト目までの256キロバイトがキャッシュ断片として蓄積され、ノードA23には、128キロバイト目から255キロバイト目までの128キロバイトがキャッシュ断片として蓄積されていることが分かる。
キャッシュ状態取得部A215は、転送中のコンテンツについてどの中継ノードにどのセグメントがキャッシュとして蓄積されたかを示す情報を取得する。この情報の取得方法としては、コンテンツのブロックごとに受信して蓄積する度に各ノードから前段のノードへ通知されるAck(確認応答)メッセージを利用して、情報を取得する方法などが考えられる。
キャッシュ状態取得部A215は、転送中のコンテンツについてどの中継ノードにどのセグメントがキャッシュとして蓄積されたかを示す情報だけでなく、該コンテンツの転送前に残されたキャッシュ断片の情報も合わせてキャッシュ状態とし、キャッシュ状態記憶部A214へ書き込んでもよい。例えば、図12に示したキャッシュ状態記憶部A214において、コンテンツ5を例にとると、コンテンツ5の転送前に残されたキャッシュ断片が192キロバイト目から255キロバイト目までの64キロバイトで、転送中のコンテンツ5のキャッシュ断片が0キロバイト目から191キロバイト目までの192キロバイトである場合、キャッシュ状態取得部A215は、2つを合わせた0キロバイト目から255キロバイト目までの256キロバイトのキャッシュ断片が中継ノードに残っているものとして、キャッシュ状態記憶部A214へ書き込む。
次に、図13を参照して、本実施の形態において図11のノードA21がコンテンツを転送する動作を詳細に説明する。ここでは、ソースルーティング型のルーティングが行われるものとして説明する。
まず、ノードA21のDTN転送部A211は、中継ノードとしての転送時またはソースノードとしての送信時にコンテンツを送信する際(図13のステップS301)、経路選択部A212に経路を問い合わせる(ステップS302)。
この問い合わせに応じて、経路選択部A212は、ルーティングテーブルA213を参照し、転送しようとするコンテンツの宛先ノードに対応する候補経路を決定する(ステップS303)。ここでは、転送しようとするコンテンツの宛先をノードA23とし、ルーティングテーブルA213は図3に示したルーティングテーブルA113と同一の状態にあるものとする。このため、経路選択部A212は、転送しようとするコンテンツに対する候補経路として、ノードA22を経てノードA23へ至る経路と、ノードA24を経てノードA23へ至る経路と、ノードA22からノードA24を経てノードA23へ至る経路と、ノードA24からノードA22を経てノードA23へ至る経路の4つを決定する。
次に、経路選択部A212は、ステップS303で決定した候補経路の中から、転送に用いる経路を選択する(ステップS304)。本実施の形態では、ホップ数が最小の経路を優先的に選択するアルゴリズムが採られているものとする。ステップS303で決定した4つの候補経路のうち、ノードA22を経てノードA23へ至る経路と、ノードA24を経てノードA23へ至る経路とが共に2ホップでホップ数が最小となる。この場合、経路選択部A212は、この2つの経路のうちどちらか一方をランダムに選択する。ここでは、ノードA22を経てノードA23へ至る経路が選択されたとする。
次に、DTN転送部A211は、ステップS304で選択された経路上にコンテンツの転送を開始するが、コンテンツを単位サイズ(例えば64キロバイト)のブロックに分け、ブロック単位で転送を行う。このとき、DTN転送部A211は、第1の実施の形態のDTN転送部A111と同様に、経路選択部A212から通知された経路の情報をブロックのヘッダ情報に設定して、ブロックを経路上の次ホップノードA22に転送する。全ブロックの転送が終了すると(ステップS305においてYES)、コンテンツの転送が終了する。
一方、コンテンツの転送途中では(ステップS305においてNO)、ブロック単位の転送が完了する度に経路選択部A212において転送経路の解決が行われる。すなわち、経路選択部A212は、コンテンツの転送途中である場合、ブロックの転送が完了した時点で再度ルーティングテーブルA213を参照し(ステップS306)、ステップS304で選択した経路が引き続き利用可能か否かを確認する(ステップS307)。
経路選択部A212は、経路に変更がないと判断した場合、同じ経路を用いてコンテンツの続きのブロックを転送するようDTN転送部A211に指示し、ステップS305へ戻る。また、経路選択部A212は、リンクの切断やノードの離脱などの理由により経路を変更する必要があり、ステップS304で選択した経路を利用できないと判断した場合は、ステップS306で決定した新しい候補経路の中から転送経路を選択すべく、ステップS308へ進む。
ここでは、ステップS304で選択された、ノードA22を経てノードA23へ至る経路のうち、リンクD12が切断し利用不可になったものとする。リンクD12が切断すると、ルーティングテーブルA213が更新される。これにより、経路選択部A212は、ステップS303で決定した4つの候補経路のうち、ノードA22を経てノードA23へ至る経路と、ノードA22からノードA24を経てノードA23へ至る経路とを利用不可と判断し、新しい候補経路を、ノードA24を経てノードA23へ至る経路と、ノードA24からノードA22を経てノードA23へ至る経路の2つとする(ステップS306)。
そして、経路選択部A212は、キャッシュ情報記憶部A214を参照し、ステップS306で決定した新しい候補経路上に、転送途中のコンテンツの経路変更前に残されたキャッシュ断片があるか否かを調べる(ステップS308,S309)。ここでは、キャッシュ状態記憶部A214は図12と同一の状態にあるものとし、転送途中のコンテンツをコンテンツ5とする。図12に示したキャッシュ状態記憶部A214によれば、コンテンツ5は、ノードA22にキャッシュとして蓄積され、全体で576キロバイトのうち、0キロバイト目から127キロバイト目までの128キロバイトのキャッシュ断片が蓄積されていることが分かる。
候補経路のうち中継ノードのキャッシュ断片の合計サイズが最も大きい経路を選択するというアルゴリズムが採られているものとすると、経路選択部A212は、ステップS306で決定した新しい候補経路のうち、ノードA24からノードA22を経てノードA23へ至る経路を選択する(ステップS310)。DTN転送部A211は、ステップS310で選択された経路上の次ホップノードにブロックを転送する。また、経路選択部A212は、ステップS306で決定した候補経路上にキャッシュ断片が存在しないと判断した場合(ステップS309においてNO)、候補経路の中から新しい転送経路を他の基準で選択する(ステップS311)。他の基準の例としては、ランダムに経路を選択する、あるいはホップ数の小さい経路を優先的に選択する、などが挙げられる。
経路選択部A212は、ステップS310,S311の後はステップS305へ戻り、コンテンツの続きのブロックの転送を継続する。
以上で、ノードA21の動作が終了する。中継ノードであるノードA22やA24では、経路選択部A212は、受信したブロックのヘッダ情報を参照して次ホップノードを選択する。
次に、本実施の形態の効果について説明する。本実施の形態では、コンテンツの転送途中で転送経路を変更し代替経路へ切り替える際に、代替となる候補経路上の中継ノードにおいて、経路変更前に残されたキャッシュ断片があるかどうかをチェックし、もしキャッシュ断片があれば、そのキャッシュ断片を補完して完全なキャッシュとなるような経路を優先的に選択する。そのため、従来は転送経路の変更により、各経路上にバラバラに残ってしまうことがあったキャッシュ断片の発生を抑制し、完全なキャッシュをより多く残せる可能性を高めることができる。
なお、本実施の形態では、経路選択部A212は、ルーティングテーブルA213を参照して、コンテンツの宛先までの経路を解決したが、第2の実施の形態において述べたように、必ずしもコンテンツの宛先までの経路を解決する必要はない。経路選択部A212は、宛先までの経路が存在しないと判断した場合や、宛先への経路が存在しても他のノードを宛先とする経路の方がいいと判断した場合は、宛先ノード以外の他のノードまでの経路を選択することもできる。
例えば、図11のノードA21において、ノードA22を経て宛先ノードA23へ至る経路でコンテンツを転送しているときに、転送途中でリンクD23およびリンクD34が切断し、ノードA23への経路が消滅したとする。この場合は、ノードA22とノードA24のいずれかまでコンテンツを転送しておき、リンクD23またはリンクD34の接続が復旧したときにコンテンツの転送を再開することが好ましいと考えられる。ノードA21の経路選択部A212は、ノードA22とノードA24のいずれにコンテンツを転送するかの判断において、キャッシュ状態記憶部A214を参照し、ノードA22への転送経路とノードA24への転送経路を比較し、経路変更前により多くのキャッシュ断片が残された方の経路を優先的に選択する。
また、第3の実施の形態と同様に、本実施の形態においても、キャッシュ断片を補うために転送途中でコンテンツを複製し、分岐した経路を用いてコンテンツを転送する方法をとってもよい。例えば、図11のノードA21からノードA24を経て宛先ノードA23へ至る経路でコンテンツを転送しているときに、転送途中でリンクD14とリンクD34が切断したために、ノードA21からノードA22を経てノードA23へ至る経路に変更しなければならなくなったとする。このとき、ノードA24には、経路変更前の転送時に残されたコンテンツのキャッシュ断片が存在しているはずである。
ノードA22の経路選択部A212は、ノードA21から受信したコンテンツを転送しようとする際に、キャッシュ状態記憶部A214を参照した結果、転送しようとするコンテンツのキャッシュ断片がノードA24に存在することを確認した場合、DTN転送部A111に対してノードA21から受信したコンテンツをノードA23に転送するよう指示すると共に、受信したコンテンツを複製してノードA24にも転送するよう指示する。この指示に応じて、ノードA22のDTN転送部A211は、ノードA21から受信したコンテンツをノードA23に転送すると共に、このコンテンツを複製してノードA24に転送する。
このようなコンテンツの複製と転送に際しては、ノードA24に必ずしもコンテンツ全体を転送する必要はなく、キャッシュ状態記憶部A214を参照してキャッシュ断片の不足したセグメントを特定し、この不足したセグメントだけをノードA24に転送するようにしてもよい。この不足したセグメントの特定は、ソースノードであるノードA21の経路選択部A212で行ってもよいし、中継ノードであるノードA22の経路選択部A212で行ってもよい。このようにコンテンツを複製して複数の経路に転送することにより、本実施の形態では、キャッシュ断片を持つノードが必ずしもソースノードから宛先ノードへの転送経路上に存在しない場合でも、キャッシュ断片を補完することが可能となる。
また、第4の実施の形態と同様に、本実施の形態においても、各候補経路上の中継ノードに、転送しようとするコンテンツのキャッシュ断片が存在し、候補経路ごとにキャッシュ断片を補完するために必要なセグメントが異なる場合に、候補経路ごとに不足したコンテンツのセグメントを最大限補えるように複数の経路を選択し、各経路へコンテンツのセグメントを振り分けるという転送方法をとってもよい。
また、本実施の形態は、第5〜第9の実施の形態と組み合わせて実施可能である。本実施の形態は、コンテンツの転送途中で転送経路を変更し代替経路へ切り替える際に、代替となる候補経路上の中継ノードにおいて、経路変更前に残されたキャッシュ断片の存在の有無またはそのサイズに基づいて転送経路の選択を行うものである。この選択の際に、キャッシュ利用可能性に関係する前記の第1〜第5のパラメータのうち1つ以上のパラメータに基づいて転送経路を選択するようにしてもよい。
なお、第1〜第10の実施の形態におけるノードは、例えばCPU、記憶装置およびインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。このようなコンピュータを動作させるためのノードプログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカードなどの記録媒体に記録された状態で提供される。CPUは、読み込んだプログラムを記憶装置に書き込み、このプログラムに従って第1〜第10の実施の形態で説明した処理を実行する。
本発明は、DTNのようにコンテンツを一旦蓄積してから転送する種類のネットワークシステムに適用することができる。
本発明の第1の実施の形態に係るDTNの構成を示すブロック図である。 本発明の第1の実施の形態におけるルーティングテーブルの例を示す図である。 本発明の第1の実施の形態におけるルーティングテーブルの他の例を示す図である。 本発明の第1の実施の形態におけるキャッシュテーブルの例を示す図である。 本発明の第1の実施の形態においてノードがコンテンツを転送する動作例を示すフローチャートである。 本発明の第1の実施の形態においてノードがコンテンツを転送する他の動作例を示すフローチャートである。 本発明の第6の実施の形態に係るDTNの構成を示すブロック図である。 本発明の第7の実施の形態に係るDTNの構成を示すブロック図である。 本発明の第8の実施の形態に係るDTNの構成を示すブロック図である。 本発明の第9の実施の形態に係るDTNの構成を示すブロック図である。 本発明の第10の実施の形態に係るDTNの構成を示すブロック図である。 本発明の第10の実施の形態におけるキャッシュ状態記憶部の例を示す図である。 本発明の第10の実施の形態においてノードがコンテンツを転送する動作例を示すフローチャートである。 従来のDTMのルーティング方法における第1の問題点を説明するための図である。 従来のDTMのルーティング方法における第2の問題点を説明するための図である。
符号の説明
A11〜A14,A21〜A24…ノード、A111,A211…DTN転送部、A112,A212…経路選択部、A113,A213…ルーティングテーブル、A114…キャッシュテーブル、A214…キャッシュ状態記憶部、A115…キャッシュ情報交換部、A215…キャッシュ状態取得部、A116,A216…ストレージ、A117…ネットワーク離脱率交換部、A118…ネットワーク離脱率テーブル、A119…トポロジ情報交換部、A120…トポロジ情報記憶部、A121…リクエスト情報交換部、A122…リクエスト情報記憶部、A123…リソース状態交換部、A124…リソース状態記憶部、D12,D14,D23,D24,D34…リンク。

Claims (22)

  1. コンテンツをノード内のストレージにキャッシュとして蓄積してから転送するネットワークシステムにおけるルーティング方法であって、
    各ノードは、コンテンツの転送時に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する候補経路決定手順と、
    1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されている次ホップノードを含む候補経路を転送経路として優先的に選択する転送経路選択手順と、
    前記コンテンツをノード内の転送部から前記転送経路上の次ホップノードに転送する転送手順とを実行することを特徴とするルーティング方法。
  2. 請求項1に記載のルーティング方法において、
    前記転送経路選択手順は、複数の前記候補経路上の次ホップノードに前記キャッシュ断片が蓄積されている場合に、前記キャッシュ断片のサイズに基づいて転送経路を選択する手順を含むことを特徴とするルーティング方法。
  3. 請求項1又は2に記載のルーティング方法において、
    前記転送経路選択手順は、前記コンテンツの宛先ノード以外の他のノードへ転送した方が良いか否かを判断する手順と、前記他のノードへ転送した方が良いと判断した場合に、前記宛先ノードへの候補経路の中から転送経路を選択する代わりに、前記他のノードへの転送経路を選択する手順とを含むことを特徴とするルーティング方法。
  4. 請求項1乃至3のいずれか1項に記載のルーティング方法において、
    前記転送経路選択手順は、前記選択した転送経路に含まれない隣接ノードのキャッシュ断片を補完できると判断した場合に、前記転送部に対して前記選択した転送経路に前記コンテンツを転送するよう指示すると同時に、前記コンテンツを複製して前記隣接ノードに転送するよう指示する手順を含むことを特徴とするルーティング方法。
  5. 請求項1乃至4のいずれか1項に記載のルーティング方法において、
    前記転送経路選択手順は、前記候補経路が複数存在し、候補経路ごとに前記キャッシュ断片の補完に必要なセグメントが異なる場合に、複数の転送経路を選択し、選択した各転送経路へ前記コンテンツの異なるセグメントを振り分けて転送するよう前記転送部に指示する手順を含むことを特徴とするルーティング方法。
  6. 請求項1乃至5のいずれか1項に記載のルーティング方法において、
    前記転送経路選択手順は、(1)前記候補経路上の次ホップノードにおける前記コンテンツのキャッシュの有無、(2)前記候補経路上の次ホップノードが前記ネットワークシステムから離脱した時間の割合であるネットワーク離脱率、(3)前記候補経路上の次ホップノードに接続された隣接ノードの数、(4)前記候補経路上の次ホップノードからの前記コンテンツに対する要求頻度およびこの次ホップノードの隣接ノードからの前記コンテンツに対する要求頻度、(5)前記候補経路上の次ホップノードのリソース状態の5つのパラメータのうち、少なくとも1つのパラメータに基づいて、前記候補経路の中から前記転送経路を選択することを特徴とするルーティング方法。
  7. コンテンツをノード内のストレージにキャッシュとして蓄積してから転送するネットワークシステムにおけるルーティング方法であって、
    ソースノードは、コンテンツの転送時に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する候補経路決定手順と、
    1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されている中継ノードを含む候補経路を転送経路として優先的に選択する第1の転送経路選択手順と、
    前記コンテンツをソースノード内の転送部から前記転送経路上の次ホップノードに転送する第1の転送手順とを実行し、
    中継ノードは、前記ソースノードによって選択された経路を転送経路として選択する第2の転送経路選択手順と、
    受信したコンテンツを中継ノード内の転送部から前記転送経路上の次ホップノードに転送する第2の転送手順とを実行することを特徴とするルーティング方法。
  8. 請求項7に記載のルーティング方法において、
    前記第1の転送経路選択手順は、複数の前記候補経路上の中継ノードに前記キャッシュ断片が蓄積されている場合に、1つ以上の前記中継ノードに蓄積されている前記キャッシュ断片の合計サイズを候補経路ごとに求め、この合計サイズに基づいて前記候補経路の中から転送経路を選択する手順を含むことを特徴とするルーティング方法。
  9. 請求項7又は8に記載のルーティング方法において、
    前記第1の転送経路選択手順は、複数の前記候補経路上の中継ノードに前記キャッシュ断片が蓄積されている場合に、前記キャッシュ断片を蓄積している中継ノードの数を候補経路ごとに求め、この中継ノードの数に基づいて前記候補経路の中から転送経路を選択する手順を含むことを特徴とするルーティング方法。
  10. 請求項7乃至9のいずれか1項に記載のルーティング方法において、
    前記第1の転送経路選択手順は、前記コンテンツの宛先ノード以外の他のノードへ転送した方が良いか否かを判断する手順と、前記他のノードへ転送した方が良いと判断した場合に、前記宛先ノードへの候補経路の中から転送経路を選択する代わりに、前記他のノードへの転送経路を選択する手順とを含むことを特徴とするルーティング方法。
  11. 請求項7乃至10のいずれか1項に記載のルーティング方法において、
    前記第1の転送経路選択手順又は前記第2の転送経路選択手順は、前記転送経路に含まれない隣接ノードのキャッシュ断片を補完できると判断した場合に、自ノードの前記転送部に対して前記転送経路に前記コンテンツを転送するよう指示すると同時に、前記コンテンツを複製して前記隣接ノードに転送するよう指示する手順を含むことを特徴とするルーティング方法。
  12. 請求項7乃至11のいずれか1項に記載のルーティング方法において、
    前記第1の転送経路選択手順は、前記候補経路が複数存在し、候補経路ごとに前記キャッシュ断片の補完に必要なセグメントが異なる場合に、複数の転送経路を選択し、選択した各転送経路へ前記コンテンツの異なるセグメントを振り分けて転送するよう自ノードの前記転送部に指示する手順を含むことを特徴とするルーティング方法。
  13. 請求項7乃至12のいずれか1項に記載のルーティング方法において、
    前記第1の転送経路選択手順は、(1)前記候補経路上の中継ノードにおける前記コンテンツのキャッシュの有無、(2)前記候補経路上の中継ノードが前記ネットワークシステムから離脱した時間の割合であるネットワーク離脱率、(3)前記候補経路上の中継ノードに接続された隣接ノードの数、(4)前記候補経路上の中継ノードからの前記コンテンツに対する要求頻度およびこの中継ノードの隣接ノードからの前記コンテンツに対する要求頻度、(5)前記候補経路上の中継ノードのリソース状態の5つのパラメータのうち、少なくとも1つのパラメータに基づいて、前記候補経路の中から前記転送経路を選択することを特徴とするルーティング方法。
  14. コンテンツをノード内のストレージにキャッシュとして蓄積してから転送するネットワークシステムにおけるルーティング方法であって、
    各ノードは、コンテンツの転送開始時に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する第1の候補経路決定手順と、
    1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されているノードを含む候補経路を転送経路として優先的に選択する第1の転送経路選択手順と、
    前記コンテンツをノード内の転送部から前記転送経路上の次ホップノードに転送する転送手順と、
    前記コンテンツの転送途中で前記転送経路を変更する必要がある場合に、前記ルーティングテーブルを参照して候補経路を決定する第2の候補経路決定手順と、
    この第2の候補経路決定手順で決定された1つ以上の候補経路のうち、前記転送経路を変更する前の転送によって前記キャッシュ断片が蓄積されているノードを含む候補経路を転送経路として優先的に選択し、選択した転送経路へ前記コンテンツを転送するよう前記転送部に指示する第2の転送経路選択手順とを実行することを特徴とするルーティング方法。
  15. 請求項14に記載のルーティング方法において、
    前記第2の転送経路選択手順は、複数の前記候補経路上のノードに前記転送経路を変更する前の転送によって前記キャッシュ断片が蓄積されている場合に、1つ以上のノードに蓄積されている前記キャッシュ断片の合計サイズを候補経路ごとに求め、この合計サイズに基づいて前記候補経路の中から転送経路を選択する手順を含むことを特徴とするルーティング方法。
  16. 請求項14又は15に記載のルーティング方法において、
    前記第2の転送経路選択手順は、複数の前記候補経路上のノードに前記転送経路を変更する前の転送によって前記キャッシュ断片が蓄積されている場合に、前記キャッシュ断片を蓄積しているノードの数を候補経路ごとに求め、このノードの数に基づいて前記候補経路の中から転送経路を選択する手順を含むことを特徴とするルーティング方法。
  17. 請求項14乃至16のいずれか1項に記載のルーティング方法において、
    前記第2の転送経路選択手順は、前記コンテンツの宛先ノード以外の他のノードへ転送した方が良いか否かを判断する手順と、前記他のノードへ転送した方が良いと判断した場合に、前記宛先ノードへの候補経路の中から転送経路を選択する代わりに、前記他のノードへの転送経路を選択する手順とを含むことを特徴とするルーティング方法。
  18. 請求項14乃至17のいずれか1項に記載のルーティング方法において、
    前記第2の転送経路選択手順は、前記転送経路に含まれない隣接ノードのキャッシュ断片を補完できると判断した場合に、自ノードの前記転送部に対して前記転送経路に前記コンテンツを転送するよう指示すると同時に、前記コンテンツを複製して前記隣接ノードに転送するよう指示する手順を含むことを特徴とするルーティング方法。
  19. 請求項14乃至18のいずれか1項に記載のルーティング方法において、
    前記第2の転送経路選択手順は、(1)前記候補経路上のノードにおける前記コンテンツのキャッシュの有無、(2)前記候補経路上のノードが前記ネットワークシステムから離脱した時間の割合であるネットワーク離脱率、(3)前記候補経路上のノードに接続された隣接ノードの数、(4)前記候補経路上のノードからの前記コンテンツに対する要求頻度およびこのノードの隣接ノードからの前記コンテンツに対する要求頻度、(5)前記候補経路上のノードのリソース状態の5つのパラメータのうち、少なくとも1つのパラメータに基づいて、前記候補経路の中から前記転送経路を選択することを特徴とするルーティング方法。
  20. コンテンツをストレージにキャッシュとして蓄積してから転送するネットワークシステムにおけるノードであって、
    コンテンツの転送時に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する候補経路決定手段と、
    1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されている次ホップノードを含む候補経路を転送経路として優先的に選択する経路選択手段と、
    前記コンテンツを前記転送経路上の次ホップノードに転送する転送手段とを有することを特徴とするノード。
  21. コンテンツをストレージにキャッシュとして蓄積してから転送するネットワークシステムにおけるノードであって、
    ソースノードとして動作する場合に、コンテンツの転送時に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する候補経路決定手段と、
    ソースノードとして動作する場合は、1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されている中継ノードを含む候補経路を転送経路として優先的に選択し、中継ノードとして動作する場合は、前記ソースノードによって選択された経路を転送経路として選択する経路選択手段と、
    前記コンテンツを前記転送経路上の次ホップノードに転送する転送手段とを有することを特徴とするノード。
  22. コンテンツをストレージにキャッシュとして蓄積してから転送するネットワークシステムにおけるノードであって、
    コンテンツの転送を開始する場合又は前記コンテンツの転送途中で前記転送経路を変更する必要がある場合に、各宛先ノードへの経路が登録されたルーティングテーブルを参照して、転送経路の候補となる経路を決定する候補経路決定手段と、
    前記コンテンツの転送を開始する場合は、1つ以上の前記候補経路のうち、前記コンテンツの少なくとも一部がキャッシュ断片として蓄積されているノードを含む候補経路を転送経路として優先的に選択し、前記転送経路を変更する必要がある場合は、前記転送経路を変更する前の転送によって前記キャッシュ断片が蓄積されているノードを含む候補経路を転送経路として優先的に選択する経路選択手段と、
    前記コンテンツを前記転送経路上の次ホップノードに転送する転送手段とを有することを特徴とするノード。
JP2007040439A 2007-02-21 2007-02-21 ルーティング方法およびノード Active JP4803066B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007040439A JP4803066B2 (ja) 2007-02-21 2007-02-21 ルーティング方法およびノード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007040439A JP4803066B2 (ja) 2007-02-21 2007-02-21 ルーティング方法およびノード

Publications (2)

Publication Number Publication Date
JP2008205890A true JP2008205890A (ja) 2008-09-04
JP4803066B2 JP4803066B2 (ja) 2011-10-26

Family

ID=39782882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007040439A Active JP4803066B2 (ja) 2007-02-21 2007-02-21 ルーティング方法およびノード

Country Status (1)

Country Link
JP (1) JP4803066B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010098486A (ja) * 2008-10-15 2010-04-30 Kddi Corp 相互接続可能な複数の無線端末間の経路制御方法、無線端末及びプログラム
JP2011199677A (ja) * 2010-03-19 2011-10-06 Fujitsu Ltd データ転送装置、データ転送プログラムおよびデータ転送方法
JP2012119926A (ja) * 2010-11-30 2012-06-21 Fujitsu Ltd データ転送装置、データ転送方法およびデータ転送プログラム
KR101231857B1 (ko) 2011-02-24 2013-02-08 서울대학교산학협력단 소셜 커뮤니티 기반의 dtn 라우팅 방법
WO2014136740A1 (ja) * 2013-03-05 2014-09-12 日本電気株式会社 経路情報交換方法、通信ノード、通信システム、及び通信ノードのプログラム
US9451529B2 (en) 2011-11-21 2016-09-20 Nec Corporation Route information exchange method, communication terminal, and non-transitory computer-readable medium storing route information exchange program
KR20170033413A (ko) 2014-07-24 2017-03-24 닛본 덴끼 가부시끼가이샤 지연 내성 네트워크(dtn) 내에서의 데이터 배송을 위한 장치 및 방법
US11082281B2 (en) 2017-03-28 2021-08-03 Fujitsu Limited Relay communication method and relay communication device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11112541A (ja) * 1997-09-12 1999-04-23 Internatl Business Mach Corp <Ibm> メッセージ中継方法及びメッセージ処理方法、ルータ装置、ネットワークシステム、ルータ装置を制御するプログラムを格納した記憶媒体
JP2003216521A (ja) * 2002-01-28 2003-07-31 Nippon Telegr & Teleph Corp <Ntt> コンテンツの配置方法、この方法のプログラム、このプログラムを記録した記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11112541A (ja) * 1997-09-12 1999-04-23 Internatl Business Mach Corp <Ibm> メッセージ中継方法及びメッセージ処理方法、ルータ装置、ネットワークシステム、ルータ装置を制御するプログラムを格納した記憶媒体
JP2003216521A (ja) * 2002-01-28 2003-07-31 Nippon Telegr & Teleph Corp <Ntt> コンテンツの配置方法、この方法のプログラム、このプログラムを記録した記録媒体

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010098486A (ja) * 2008-10-15 2010-04-30 Kddi Corp 相互接続可能な複数の無線端末間の経路制御方法、無線端末及びプログラム
JP2011199677A (ja) * 2010-03-19 2011-10-06 Fujitsu Ltd データ転送装置、データ転送プログラムおよびデータ転送方法
JP2012119926A (ja) * 2010-11-30 2012-06-21 Fujitsu Ltd データ転送装置、データ転送方法およびデータ転送プログラム
KR101231857B1 (ko) 2011-02-24 2013-02-08 서울대학교산학협력단 소셜 커뮤니티 기반의 dtn 라우팅 방법
US9451529B2 (en) 2011-11-21 2016-09-20 Nec Corporation Route information exchange method, communication terminal, and non-transitory computer-readable medium storing route information exchange program
JPWO2014136740A1 (ja) * 2013-03-05 2017-02-09 日本電気株式会社 経路情報交換方法、通信ノード、通信システム、及び通信ノードのプログラム
WO2014136740A1 (ja) * 2013-03-05 2014-09-12 日本電気株式会社 経路情報交換方法、通信ノード、通信システム、及び通信ノードのプログラム
US9860158B2 (en) 2013-03-05 2018-01-02 Nec Corporation Path information exchange method, communication node, communication system, and communication node program
KR20170033413A (ko) 2014-07-24 2017-03-24 닛본 덴끼 가부시끼가이샤 지연 내성 네트워크(dtn) 내에서의 데이터 배송을 위한 장치 및 방법
EP3493587A1 (en) 2014-07-24 2019-06-05 NEC Corporation Apparatus and method for data delivery in delay-tolerant network (dtn)
US10375605B2 (en) 2014-07-24 2019-08-06 Nec Corporation Apparatus and method for data delivery in delay-tolerant network (DTN)
US10708820B2 (en) 2014-07-24 2020-07-07 Nec Corporation Apparatus and method for data delivery in delay-tolerant network (DTN)
US11082281B2 (en) 2017-03-28 2021-08-03 Fujitsu Limited Relay communication method and relay communication device

Also Published As

Publication number Publication date
JP4803066B2 (ja) 2011-10-26

Similar Documents

Publication Publication Date Title
JP4803066B2 (ja) ルーティング方法およびノード
US7656857B2 (en) Directed acyclic graph computation by orienting shortest path links and alternate path links obtained from shortest path computation
Nelson et al. GSTAR: generalized storage-aware routing for mobilityfirst in the future mobile internet
EP2421206B1 (en) Flooding-based routing protocol having database pruning and rate-controlled state refresh
JP5750973B2 (ja) 通信方法および通信装置
EP2198571B1 (en) Method and apparatus for network routing between a tactical network and a satellite network
US20050122955A1 (en) Method and system for route selection and method for route reconstruction
US20090073994A1 (en) Method and apparatus for distributing dynamic auto-summarization of internet protocol reachable addresses
JP5049834B2 (ja) データ受信装置、データ受信方法およびデータ処理プログラム
JP4369459B2 (ja) 複数のサービスノードへのディスジョイントなルートを発見する方法および装置
Wu An extended dynamic source routing scheme in ad hoc wireless networks
JP2005124195A (ja) 移動アドホックネットワークにおけるブロードキャストデータ処理方法
CN105940717B (zh) 容断/容迟/容中断网络中使用的节点设备和通信方法
US8532123B2 (en) Handoffs in a hierarchical mobility label-based network
JP2016082479A (ja) 通信装置、通信方法およびプログラム
CN102845033B (zh) 用于在分组转发装置中针对每个模块在因特网协议切换模式之间进行自动选择的方法、系统以及计算机可读介质
JP5958293B2 (ja) 通信方法、通信プログラム、および、ノード装置
JP2009177795A (ja) データを収集するために無線ネットワークを稼動させる方法および装置
CN106992930B (zh) 一种基于相遇频率的机会网络路由方法
JP2006048507A (ja) ファイル検索方法、端末、プログラム、および記録媒体
Miller et al. Scmesh: Solar-powered wireless smart camera mesh network
JP5287373B2 (ja) 通信装置及び通信処理方法
Wang et al. A distributed data caching framework for mobile ad hoc networks
JP2004159296A (ja) パケット通信システム、ノード、中継ノード、使用済みアドレスを削除可能な中継ノード、及びパケット通信方法
JP5228369B2 (ja) 通信システム、通信方法、及び通信プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110615

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110725

R150 Certificate of patent or registration of utility model

Ref document number: 4803066

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3