特許第6183536号(P6183536)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許6183536Disruption/Delay/Disconnect Tolerant Networkで利用されるノード装置及び通信方法
<>
  • 特許6183536-Disruption/Delay/Disconnect  Tolerant  Networkで利用されるノード装置及び通信方法 図000002
  • 特許6183536-Disruption/Delay/Disconnect  Tolerant  Networkで利用されるノード装置及び通信方法 図000003
  • 特許6183536-Disruption/Delay/Disconnect  Tolerant  Networkで利用されるノード装置及び通信方法 図000004
  • 特許6183536-Disruption/Delay/Disconnect  Tolerant  Networkで利用されるノード装置及び通信方法 図000005
  • 特許6183536-Disruption/Delay/Disconnect  Tolerant  Networkで利用されるノード装置及び通信方法 図000006
  • 特許6183536-Disruption/Delay/Disconnect  Tolerant  Networkで利用されるノード装置及び通信方法 図000007
  • 特許6183536-Disruption/Delay/Disconnect  Tolerant  Networkで利用されるノード装置及び通信方法 図000008
  • 特許6183536-Disruption/Delay/Disconnect  Tolerant  Networkで利用されるノード装置及び通信方法 図000009
  • 特許6183536-Disruption/Delay/Disconnect  Tolerant  Networkで利用されるノード装置及び通信方法 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6183536
(24)【登録日】2017年8月4日
(45)【発行日】2017年8月23日
(54)【発明の名称】Disruption/Delay/Disconnect Tolerant Networkで利用されるノード装置及び通信方法
(51)【国際特許分類】
   H04W 28/12 20090101AFI20170814BHJP
   H04W 88/04 20090101ALI20170814BHJP
   H04W 84/18 20090101ALI20170814BHJP
【FI】
   H04W28/12
   H04W88/04
   H04W84/18
【請求項の数】37
【全頁数】18
(21)【出願番号】特願2016-506103(P2016-506103)
(86)(22)【出願日】2015年1月27日
(86)【国際出願番号】JP2015000349
(87)【国際公開番号】WO2015133055
(87)【国際公開日】20150911
【審査請求日】2016年6月10日
(31)【優先権主張番号】特願2014-41474(P2014-41474)
(32)【優先日】2014年3月4日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】工藤 正人
(72)【発明者】
【氏名】水本 尚志
【審査官】 相澤 祐介
(56)【参考文献】
【文献】 国際公開第2011/071045(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24− 7/26
H04W 4/00−99/00
(57)【特許請求の範囲】
【請求項1】
Disruption/Delay/Disconnect Tolerant Network(DTN)で利用されるノード装置であって、
前記DTNにおいて隣接ノードと通信する通信手段と、
前記DTNにおいて転送される複数のメッセージを保存することが可能な第1のメッセージバッファと、
を備え、
前記通信手段は、第1のサマリベクタ及び第1のACKリストを管理するよう構成されるとともに、前記隣接ノードとの交信において、前記隣接ノードが管理している第2のACKリストを受信し、前記第2のACKリストに基づいて前記第1のACKリスト及び前記第1のサマリベクタを更新するよう構成され、
前記第1のサマリベクタは、前記第1のメッセージバッファに保存された1又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信され、
前記第1のACKリストは、前記ノード装置によって認識されている1又は複数のACKメッセージを示し、
前記第2のACKリストは、前記隣接ノードによって認識されている1又は複数のACKメッセージを示し、
前記1又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す、
ノード装置。
【請求項2】
前記通信手段は、前記隣接ノードとの前記交信において、前記隣接ノードが管理している第2のサマリベクタと共に前記第2のACKリストを受信し、
前記第2のサマリベクタは、前記隣接ノードが有する第2のメッセージバッファに保存された1又は複数の保存メッセージを示し、
前記第1のACKリスト及び前記第1のサマリベクタの更新は、前記第2のサマリベクタを受信した後に行われる、
請求項1に記載のノード装置。
【請求項3】
前記通信手段は、前記第2のサマリベクタに示された前記1又は複数の保存メッセージのうち、前記第1のACKリスト及び第1のサマリベクタのいずれにも示されていないメッセージを送信するよう前記隣接ノードに要求する、請求項2に記載のノード装置。
【請求項4】
前記通信手段は、前記隣接ノードとの前記交信において、前記第2のACKリストを受信し且つ前記第1のサマリベクタを更新した後に、更新された前記第1のサマリベクタを前記隣接ノードに送信する、請求項1に記載のノード装置。
【請求項5】
前記第1のACKリストは、前記第1のサマリベクタにピギーバックされている、請求項1〜3のいずれか1項に記載のノード装置。
【請求項6】
前記第1のサマリベクタと前記第1のACKリストは、前記ノード装置において第1の共通のリストとして管理される、請求項1〜3のいずれか1項に記載のノード装置。
【請求項7】
前記第1の共通のリストの各エントリは、前記第1のメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別するための情報を含む、請求項6に記載のノード装置。
【請求項8】
前記情報は、ACKフラグを含む、請求項7に記載のノード装置。
【請求項9】
前記情報は、メッセージのデータサイズを示すデータサイズ情報を含み、
前記データサイズ情報が有効値であることは、前記第1のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示す、
請求項7に記載のノード装置。
【請求項10】
前記隣接ノードが管理している第2のサマリベクタ及び前記第2のACKリストは第2の共通のリストとして定義されており、
前記第2の共通のリストの各エントリは、メッセージのデータサイズを示すデータサイズ情報を含み、
前記第2の共通のリストにおいて前記データサイズ情報が有効値であることは、前記隣接ノードが有する第2のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
前記第2の共通のリストにおいて前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示し、
前記通信手段は、前記隣接ノードから受信した前記第2の共通のリストにおいてデータサイズがゼロ又は無効値と示されているメッセージを、前記第1のメッセージバッファから削除する、
請求項9に記載のノード装置。
【請求項11】
前記通信手段は、前記ノード装置が最終的な宛先に指定された第1のメッセージを前記DTNを経由して受信したことに応答して、前記第1のメッセージに対応するACKメッセージを前記第1のACKリストに追加する、請求項1〜10のいずれか1項に記載のノード装置。
【請求項12】
前記通信手段は、前記隣接ノードとの前記交信において、前記第1のACKリストを前記隣接ノードに送信する、請求項1〜11のいずれか1項に記載のノード装置。
【請求項13】
前記第1のACKリストの更新は、前記第1のACKリストと前記隣接ノードから受信された前記第2のACKリストを合併することによって行われる、請求項1〜12のいずれか1項に記載のノード装置。
【請求項14】
前記第1のサマリベクタの更新は、前記第2のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第1のサマリベクタから除外することにより行われる、請求項1〜13のいずれか1項に記載のノード装置。
【請求項15】
前記通信手段は、前記第2のACKリストに基づいて、前記第1のメッセージバッファを更新する、請求項1〜14のいずれか1項に記載のノード装置。
【請求項16】
前記第1のメッセージバッファの更新は、前記第2のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第1のメッセージバッファから削除することにより行われる、請求項15に記載のノード装置。
【請求項17】
前記1又は複数のACKメッセージの各々は、前記宛先ノードによって生成される、請求項1〜16のいずれか1項に記載のノード装置。
【請求項18】
Disruption/Delay/Disconnect Tolerant Network(DTN)で利用されるノード装置の通信方法であって、
隣接ノードとの交信において、前記隣接ノードが管理している第2のACKリストを受信すること、及び
前記第2のACKリストに基づいて、前記ノード装置において管理されている第1のACKリスト及び第1のサマリベクタを更新すること、
を備え、
前記第1のサマリベクタは、前記ノード装置が有する第1のメッセージバッファに保存された1又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信され、
前記第1のACKリストは、前記ノード装置によって認識されている1又は複数のACKメッセージを示し、
前記第2のACKリストは、前記隣接ノードによって認識されている1又は複数のACKメッセージを示し、
前記1又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す、
通信方法。
【請求項19】
前記第2のACKリストを受信することは、前記隣接ノードとの前記交信において、前記隣接ノードが管理している第2のサマリベクタと共に前記第2のACKリストを受信することを含み、
前記第2のサマリベクタは、前記隣接ノードが有する第2のメッセージバッファに保存された1又は複数の保存メッセージを示し、
前記第1のACKリスト及び前記第1のサマリベクタの更新は、前記第2のサマリベクタを受信した後に行われる、
請求項18に記載の通信方法。
【請求項20】
前記第2のサマリベクタに示された前記1又は複数の保存メッセージのうち、前記第1のACKリスト及び第1のサマリベクタのいずれにも示されていないメッセージを送信するよう前記隣接ノードに要求することをさらに備える、請求項19に記載の通信方法。
【請求項21】
前記隣接ノードとの前記交信において、前記第2のACKリストを受信し且つ前記第1のサマリベクタを更新した後に、更新された前記第1のサマリベクタを前記隣接ノードに送信することをさらに備える、請求項18に記載の通信方法。
【請求項22】
前記第1のACKリストは、前記第1のサマリベクタにピギーバックされている、請求項18〜20のいずれか1項に記載の通信方法。
【請求項23】
前記第1のサマリベクタと前記第1のACKリストは、前記ノード装置において第1の共通のリストとして管理される、請求項18〜20のいずれか1項に記載の通信方法。
【請求項24】
前記第1の共通のリストは、各エントリが前記第1のメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別するための情報を含む、請求項23に記載の通信方法。
【請求項25】
前記情報は、ACKフラグを含む、請求項24に記載の通信方法。
【請求項26】
前記情報は、メッセージのデータサイズを示すデータサイズ情報を含み、
前記データサイズ情報が有効値であることは、前記第1のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示す、
請求項24に記載の通信方法。
【請求項27】
前記隣接ノードが管理している第2のサマリベクタ及び前記第2のACKリストは第2の共通のリストとして定義されており、
前記第2の共通のリストの各エントリは、メッセージのデータサイズを示すデータサイズ情報を含み、
前記第2の共通のリストにおいて前記データサイズ情報が有効値であることは、前記隣接ノードが有する第2のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
前記第2の共通のリストにおいて前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示し、
前記隣接ノードから受信した前記第2の共通のリストにおいてデータサイズがゼロ又は無効値と示されているメッセージを、前記第1のメッセージバッファから削除することをさらに備える、
請求項26に記載の通信方法。
【請求項28】
前記ノード装置が最終的な宛先に指定された第1のメッセージを前記DTNを経由して受信したことに応答して、前記第1のメッセージに対応するACKメッセージを前記第1のACKリストに追加することをさらに備える、請求項18〜27のいずれか1項に記載の通信方法。
【請求項29】
前記隣接ノードとの前記交信において、前記第1のACKリストを前記隣接ノードに送信することをさらに備える、請求項18〜28のいずれか1項に記載の通信方法。
【請求項30】
前記第1のACKリストの更新は、前記第1のACKリストと前記隣接ノードから受信された前記第2のACKリストを合併することによって行われる、請求項18〜29のいずれか1項に記載の通信方法。
【請求項31】
前記第1のサマリベクタの更新は、前記第2のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第1のサマリベクタから除外することにより行われる、請求項18〜30のいずれか1項に記載の通信方法。
【請求項32】
前記第2のACKリストに基づいて、前記第1のメッセージバッファを更新することをさらに備える、請求項18〜31のいずれか1項に記載の通信方法。
【請求項33】
前記第1のメッセージバッファの更新は、前記第2のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第1のメッセージバッファから削除することにより行われる、請求項32に記載の通信方法。
【請求項34】
前記1又は複数のACKメッセージの各々は、前記宛先ノードによって生成される、請求項18〜33のいずれか1項に記載の通信方法。
【請求項35】
請求項18〜34のいずれか1項に記載の通信方法をコンピュータに行わせるためのプログラム

【請求項36】
Disruption/Delay/Disconnect Tolerant Network(DTN)で利用されるノード装置であって、
前記DTNにおいて隣接ノードと通信する通信手段と、
前記DTNにおいて転送される複数のメッセージを保存することが可能な第1のメッセージバッファと、
を備え、
前記通信手段は、第1のサマリベクタを管理するよう構成されるとともに、前記隣接ノードとの交信において、前記隣接ノードが管理している第2のサマリベクタを受信し、前記第2のサマリベクタに基づいて前記第1のサマリベクタ及び前記第1のメッセージバッファを更新するよう構成され、
前記第1のサマリベクタは、前記第1のメッセージバッファに保存された1又は複数の保存メッセージを示し、
前記第2のサマリベクタは、前記隣接ノードが有する第2のメッセージバッファに保存された1又は複数の保存メッセージを示し、
前記第1及び前記第2のサマリベクタの各エントリは、メッセージのデータサイズを示すデータサイズ情報を含み、
前記データサイズ情報が有効値であることは、前記第1又は前記第2のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
前記データサイズ情報がゼロ又は無効値であることは、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージに対応するエントリであることを示し、
前記通信手段は、前記第2のサマリベクタにおいてデータサイズがゼロ又は無効値と示されている到達済みメッセージに関して、前記第1のメッセージバッファに保持されているメッセージデータを削除するとともに、前記第1のサマリベクタのエントリ内のデータサイズ情報をゼロ又は無効値によって上書きする、
ノード装置。
【請求項37】
前記通信手段は、前記第1のサマリベクタのエントリ内のデータサイズ情報をゼロ又は無効値によって上書きすることに応じて、当該エントリの有効期限を更新又はリセットする、請求項36に記載のノード装置。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、Disruption/Delay/Disconnect Tolerant Networkで使用される通信ノード及びその通信方法に関する。
【背景技術】
【0002】
Disruption Tolerant Networkは、複数の通信ノードを含む無線マルチホップ・ネットワークである。Disruption Tolerant Networkは、Delay Tolerant Networkと呼ぶこともでき、Disconnect Tolerant Networkと呼ぶこともできる。本明細書では、Disruption/Delay/Disconnect Tolerant Network を総称してDTNと表記する。DTNは、複数の通信ノード(以下、DTNノードと呼ぶ)が自律的にメッセージ(データバンドル、又はデータパケット)を中継し合うことで、送信元ノードと宛先ノードの間でのメッセージ配信を実現する。送信元ノード及び宛先ノードの一方又は両方は、DTNに属するノード(DTNノード)であってもよいし、他のネットワーク(例えば、インターネット、公衆セルラネットワーク、又は無線Local Area Network(LAN))に属するノードであってもよい。送信元ノード及び宛先ノードの一方又は両方が他のネットワークに属するノードである場合、いずれかのDTNノードは、DTNと他のネットワークの間でメッセージを中継するルータ又はゲートウェイとして動作する。
【0003】
DTNは、DTNノードの移動および障害物による無線信号の遮蔽などによって、一時的な又は断続的な通信途絶が発生することを前提としている。言い換えると、DTNは、少なくともある時点において、送信元ノードと宛先ノードの間に安定した通信パスが存在しないことを前提としている。一時的な又は断続的な通信途絶に対処するために、各DTNノードはストア・アンド・フォワード動作を行う。したがって、DTNは、ストア・アンド・フォワード型の無線マルチホップ・ネットワークと呼ぶこともできる。また、DTNを構成する複数のDTNノードの一部又は全部は、移動性を有するモバイル端末であってもよい。この意味で、DTNは、ストア・アンド・フォワード型の無線アドホック・ネットワークと呼ぶこともできる。DTNは、例えば、災害時の非常用通信、並びに高度交通システム(Intelligent Transport Systems(ITS))における車々間通信および路車間通信への適用が想定されている。
【0004】
上述したように、DTNノードは、ストア・アンド・フォワード動作を行う。つまり、DTNノードは、あるDTNノードから受信した宛先ノード宛てのメッセージをメモリ(以下、メッセージバッファと呼ぶ)に一時的に蓄積する。そして、他のDTNノードとの通信が可能になったときに、DTNノードは、メッセージのフォワード先及びフォワードするメッセージをルーティングプロトコルに従って決定し、メッセージバッファに蓄積されているメッセージを他のDTNノードにフォワードする。
【0005】
DTNに適したルーティングプロトコルに関して様々な提案がなされている。DTNのための代表的なルーティングプロトコルとして、Epidemic routing、 Spray and Wait、及びPROPHETが知られている。PROPHETは、Probabilistic Routing Protocol using History of Encounters and Transitivityの略である。Epidemic routing及びSpray and Waitは、ネットワーク状態に関する情報を利用しない。これに対して、PROPHETは、各DTNノードが過去の交信(コンタクト)の履歴を記憶し、この履歴をメッセージのフォワード先の決定に利用する。
【0006】
Epidemic routingは原始的なフラッディング・メカニズムの改良である。具体的には、Epidemic routingをサポートする各DTNノードは、「サマリベクタ」と呼ばれる情報を管理する。サマリベクタは、各DTNノードのメッセージバッファに保存されているメッセージの識別子を示す。各DTNノードは、隣接DTNノードとの交信において、互いのサマリベクタを交換し、自身が保有していないメッセージを特定し、特定したメッセージを隣接DTNノードから取得する。
【0007】
Spray and Waitは、Epidemic routingの改良である。各DTNノードは、Epidemic routingと同様に、隣接ノードとの交信において、互いのサマリベクタを交換し、自身が保有していないメッセージを隣接ノードから取得する。Spray and Waitでは、送信元ノードにおけるメッセージの生成時に、DTN全体でのメッセージの複製回数が規定される。Spray段階ででは、規定の複製回数に到達するまでメッセージの複製が生成され、メッセージを保有するDTNノードは遭遇したDTNノードにメッセージの複製を渡していく。規定の複製回数に到達すると(Wait段階)、メッセージを保持するDTNノードは、そのメッセージの複製を他のDTNノードに渡すこと無く保持し続け、最終的な宛先ノードに遭遇した場合にだけ当該メッセージを最終的な宛先ノードに渡す。
【0008】
PROPHETでは、各DTNノードは、サマリベクタに加えて、Delivery Predictability、と呼ばれるメトリックを交換する。Delivery Predictability,P(A,B)は、DTNノードAがDTNノードBにメッセージを配送できる確率を示す。例えば、ノードAとノードBが交信する場合、宛先ノードDに関してノードBがノードAよりも大きなDelivery Predictabilityを保つ場合に限って(すなわち、P(B,D)がP(A,D)より大きい場合に限って)、ノードAは宛先ノードD宛てのメッセージをノードBに送信する。
【0009】
特許文献1は、DTNノード間でのメッセージ配信の改良について開示している。特許文献2は、DTNにおけるルーティングの改良について開示している。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】国際公開第2011/071045号
【特許文献2】国際公開第2013/076912号
【発明の概要】
【発明が解決しようとする課題】
【0011】
以上に述べたEpidemic routing、Spray and Wait、及びPROPHETと同様に、DTNのための多くのルーティングプロトコルは、多数のメッセージの複製を生成して、多数のメッセージの複製をDTN内に拡散することを特徴としている。したがって、1つのメッセージの複製が最終的な宛先ノードに到達した後も、同じ内容を持つその他の多くのメッセージの複製がさらにDTN内に拡散されてしまう。そうすると、最終的な宛先ノードに到達したメッセージの複製が各DTNノードのメッセージバッファに残ってしまう。DTNでのメッセージ配達率を高めるためには、宛先ノードに到達したメッセージと同じ内容を持つ複製は、DTN内で拡散されずに削除されることが好ましい。特許文献1及び2は、この問題に対処するための技術を開示していない。
【0012】
したがって、本件発明の目的の1つは、最終的な宛先ノードに到達したメッセージと同じ内容を持つ複製がDTN内に拡散されることを抑制することが可能なノード装置、通信方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0013】
第1の態様では、Disruption/Delay/Disconnect Tolerant Network(DTN)で利用されるノード装置は、通信部及び第1のメッセージバッファを含む。前記通信部は、前記DTNにおいて隣接DTNノードと通信するよう構成されている。前記メッセージバッファは、前記DTNにおいて転送される複数のメッセージを保存するよう構成されている。さらに、前記通信部は、第1のサマリベクタ及び第1のAcknowledgement(ACK)リストを管理するよう構成されるとともに、前記隣接ノードとの交信において、前記隣接ノードが管理している第2のACKリストを受信し、前記第2のACKリストに基づいて前記第1のACKリスト及び前記第1のサマリベクタを更新するよう構成されている。前記第1のサマリベクタは、前記第1のメッセージバッファに保存された1又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信される。前記第1のACKリストは、前記ノード装置によって認識されている1又は複数のACKメッセージを示す。前記第2のACKリストは、前記隣接ノードによって認識されている1又は複数のACKメッセージを示す。前記1又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す。
【0014】
第2の態様では、Disruption/Delay/Disconnect Tolerant Network(DTN)で利用されるノード装置の通信方法は、(a)隣接ノードとの交信において、前記隣接ノードが管理している第2のACKリストを受信すること、及び(b)前記第2のACKリストに基づいて、前記ノード装置において管理されている第1のACKリスト及び第1のサマリベクタを更新すること、を含む。前記第1のサマリベクタは、前記第1のメッセージバッファに保存された1又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信される。前記第1のACKリストは、前記ノード装置によって認識されている1又は複数のACKメッセージを示す。前記第2のACKリストは、前記隣接ノードによって認識されている1又は複数のACKメッセージを示す。前記1又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す。
【0015】
第3の態様では、プログラムは、上述した第2の態様に係る通信方法をコンピュータに行わせるための命令群を含む。
【発明の効果】
【0016】
上述の態様によれば、最終的な宛先ノードに到達したメッセージと同じ内容を持つ複製がDTN内に拡散されることを抑制することが可能なノード装置、通信方法、及びプログラムを提供できる。
【図面の簡単な説明】
【0017】
図1】第1の実施形態に係るDTNの構成例を示す図である。
図2】第1の実施形態に係るDTNノードの構成例を示すブロック図である。
図3】サマリベクタの構成例を示す図である。
図4】ACKリストの構成例を示す図である。
図5】第1の実施形態に係るDTNノードの通信手順の一例を示すシーケンス図である。
図6】第2の実施形態に係るDTNノードの通信手順の一例を示すシーケンス図である。
図7】第3の実施形態に係るDTNノードの通信手順の一例を示すシーケンス図である。
図8】第4の実施形態に係るACKを含むサマリベクタの構成例を示す図である。
図9】第4の実施形態に係るACKを含むサマリベクタの構成例を示す図である。
【発明を実施するための形態】
【0018】
以下では、具体的な実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【0019】
<第1の実施形態>
図1は、本実施形態に係るDisruption/Delay/Disconnect Tolerant Network(DTN)100の構成例を示している。DTN100は、複数のDTNノード1を含む。複数のDTNノード1は、自律的にメッセージ(データバンドル、又はデータパケット)を中継し合うことで、送信元ノードと宛先ノードの間でのメッセージ配信を実現する。
【0020】
各DTNノード1は、移動性を有するモバイル端末(例えば、携帯電話、スマートフォン、タブレットコンピュータ、Personal Computer(PC)等)であってもよい。また、各DTNノード1は、自動車、航空機、鉄道車両、及び船舶などの輸送機器に搭載される通信端末であってもよい。しかしながら、複数のDTNノード1の一部は、無線LANアクセスポイントのように固定された無線端末であってもよい。
【0021】
各DTNノード1は、ストア・アンド・フォワード動作を行う。すなわち、各DTNノード1は、DTN100において転送されるメッセージを蓄積するためのメッセージバッファを有する。DTNノード1は、他のDTNノードから受信したメッセージをメッセージバッファに一時的に蓄積する。そして、さらに別のDTNノードとの通信が可能になったときに、DTNノード1は、メッセージのフォワード先及びフォワードするメッセージをルーティングプロトコルに従って決定し、メッセージバッファに蓄積されているメッセージを送信する。
【0022】
本実施形態で使用されるルーティングプロトコルは、「サマリベクタ」を使用するプロトコルであればよく、例えば、Epidemic routing、 Spray and Wait、若しくはPROPHET又はこれらの改良であってもよい。サマリベクタは、各DTNノードによって管理され、各DTNノード1のメッセージバッファに保存されているメッセージの識別子を示す。サマリベクタは、隣接DTNノードとの交信において、各DTNノード1のメッセージバッファに保存されているメッセージの送信に先立って送信される。すなわち、各DTNノード1は、隣接DTNノードとの交信において、互いのサマリベクタを交換し、自身が保有していないメッセージを特定し、特定したメッセージを隣接DTNノードから取得する。
【0023】
図2は、サマリベクタの構成例を示している。図2に示されたサマリベクタ20は、ノードID200及びN個のメッセージID201を含む。ノードID200は、サマリベクタ20を管理するDTNノード1の識別子、例えばInternet Protocol(IP)アドレス、を示す。N個のメッセージID201の各々は、サマリベクタ20を管理するDTNノード1のメッセージバッファに保存されたメッセージの識別子を示す。各メッセージID201は、例えば、送信元ノードのアドレス、宛先ノードのアドレス、及びメッセージのシーケンス番号の組合せによって特定されてもよい。また、データサイズを小さくするために、各メッセージID201は、送信元ノードのアドレス、宛先ノードのアドレス、及びメッセージのシーケンス番号から計算されたハッシュ値であってもよい。
【0024】
さらに本実施形態では、各DTNノード1は、サマリベクタに加えて、Acknowledgement(ACK)リストを管理する。ACKリストは、各DTNノード1によって認識されている1又は複数のACKメッセージを示す。ACKメッセージは、DTN100を経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す。
【0025】
ACKメッセージは、原則として、最終的な宛先ノードによって生成される。DTNノード1は、自身が最終的な宛先に指定されたメッセージをDTN100を経由して受信したことに応答して、当該メッセージに対応するACKメッセージを生成し、これを自身のACKリストに追加してもよい。
【0026】
しかしながら、DTN100上で転送されるメッセージの宛先は、他のネットワーク(例えば、インターネット、公衆セルラネットワーク、又は無線Local Area Network(LAN))に属するノードであるかもしれない。また、地理的に離間した複数のDTN間でメッセージを中継するDTNサーバが用いられるかもしれない。これらの場合には、いずれかのDTNノード1は、DTN100と他のネットワーク、又は、DTN100とDTNサーバの間でメッセージを中継するルータ又はゲートウェイとして動作する。したがって、これらの場合には、ルータ又はゲートウェイとして動作するDTNノード1は、他のネットワーク又はDTNサーバに送信するメッセージが自身に到達した場合に、当該メッセージに対するACKメッセージを生成してもよい。言い換えると、ルータ又はゲートウェイとして動作するDTNノード1は、「最終的な宛先ノード」とみなすことができる。
【0027】
図3は、ACKリストの構成例を示している。図3に示されたACKリスト30は、ノードID300及びM個のメッセージID301を含む。ノードID300は、ACKリスト30を管理するDTNノード1の識別子、例えばInternet Protocol(IP)アドレス、を示す。M個のメッセージID301の各々は、ACKリスト30を管理するDTNノード1が把握しているACKメッセージの識別子に相当する。各メッセージID301は、サマリベクタ20におけるメッセージID201と同様に定義されればよい。
【0028】
さらに、ACKリスト30は、各ACKメッセージの有効期限を定めるための情報、例えば、Time-To-Live(TTL)値又はTimes-To-Send(TTS)値、をACKメッセージ毎に有してもよい。Time-To-Live(TTL)値は、ACKメッセージがDTNノード1間でフォワードされる際のフォワード回数の上限値(いわゆるホップ数)を定める。TTS値は、各DTNノード1が他のDTNノード1にACKメッセージをフォワードする回数の上限値(つまり、各DTNノード1でのACKメッセージの複製回数)を定める。また、ACKメッセージの有効期限を定めるための情報は、ACKメッセージの生成時刻を示す情報(タイムスタンプ)と、秒単位又は分単位での有効期間(寿命)を示す情報の組み合わせであってもよい。ACKメッセージの有効期間(寿命)が全てのACKメッセージに共通である場合、ACKリスト30は、ACKメッセージの有効期限を定めるためにACKメッセージの生成時刻を示す情報(タイムスタンプ)のみを含んでもよい。これらのACKメッセージの有効期限を定めるための情報は、DTNノード1のメッセージバッファに保存されたメッセージの有効期限(例えば、サマリベクタ20に保持されるメッセージに関するTTL値、TTS値、メッセージの生成時刻、又はメッセージの生成時刻及びその寿命の組み合わせ)とは独立に定義される。
【0029】
各DTNノード1は、隣接DTNノードとの交信において、互いのサマリベクタだけでなくACKリストも交換する。そして、各DTNノード1は、隣接DTNノードから受信したACKリストに基づいて、自身が保持していたACKリストを更新する。具体的には、各DTNノード1は、自身が保持していたACKリストと隣接DTNノードから受信したACKリストを合併すればよい。集合論に従って言い換えると、各DTNノード1は、自身が保持していたACKリストと隣接DTNノードから受信したACKリストの和集合を求めればよい。
【0030】
さらに、各DTNノード1は、隣接DTNノードから受信したACKリストに基づいて、自身が保持していたサマリベクタを更新する。具体的には、各DTNノード1は、隣接DTNノードから受信したACKリストに示された到達済みメッセージと同じ識別子を持つメッセージを自身のサマリベクタから除外すればよい。これにより、各DTNノード1は、最終的な宛先ノードに到達済みのメッセージを隣接ノードにフォワードしなくなる。なぜなら、最終的な宛先ノードに到達済みのメッセージがサマリベクタから除外されることで、最終的な宛先ノードに到達済みのメッセージが隣接DTNノードに提示されないためである。したがって、最終的な宛先ノードに到達済みのメッセージの複製がDTN100内に拡散されることを防ぐことができる。
【0031】
さらに、各DTNノード1は、隣接DTNノードから受信したACKリストに基づいて、自身のメッセージバッファを更新してもよい。具体的には、各DTNノード1は、隣接DTNノードから受信したACKリストに示された到達済みメッセージと同じ識別子を持つメッセージを、自身のメッセージバッファから削除すればよい。ここで、メッセージの削除は、DTNノード1のメッセージバッファに保存されていたメッセージデータをデータサイズがゼロの空データによって上書き(更新)することによって行われてもよい。これにより、各DTNノード1は、メッセージバッファの利用効率を高めることができ、DTN100のメッセージ配達率の向上に寄与できる。なぜなら、もはやフォワードされる必要のないメッセージをメッセージバッファから削除し、別のフォワードされるべきメッセージのためにメッセージバッファを利用できるためである。
【0032】
続いて以下では、DTNノード1の構成例及びその動作についてさらに詳細に説明する。図4は、DTNノード1の構成例を示している。無線通信部11は、DTN100において他のDTNノード1と無線通信を行う。すなわち、無線通信部11は、DTN100において利用される無線通信技術の物理層に対応したトランシーバを有し、DTN100において利用される無線通信技術のデータリンク層、ネットワーク層及びトランスポート層のプロトコルスイートをサポートする。さらに、無線通信部11は、バンドル層プロトコルをサポートする。バンドル層プロトコルは、アプリケーション層とトランスポート層の間に位置し、DTNに必要なストア・アンド・フォワード方式の通信を提供する。バンドル層のProtocol Data Unit(PDU)は、メッセージ又はデータバンドルと呼ばれることがある。
【0033】
無線通信部11は、バンドル層プロトコルに基づいて、上述したサマリベクタ及びACKリストを管理する。無線通信部11は、さらに、バンドル層プロトコルに基づいて、隣接DTNノードとの交信において、サマリベクタ及びACKリストを交換し、メッセージを送受信する。
【0034】
データバッファ12は、DTN100において転送される複数のメッセージを保存することができる。データバッファ12は、Dynamic Random Access Memory(DRAM)及びStatic Random Access Memory(SRAM)等の揮発性メモリでもよく、若しくはハードディスクドライブ及びフラッシュメモリ等の不揮発性メモリでもよく、又はこれらの組合せでもよい。
【0035】
図5のシーケンス図は、本実施形態におけるDTNノード1の通信手順の一例を示している。図5の例は、2つのDTNノード1(1A及び1B)が接近し、交信を開始するケースを示している。ステップS101及びS102では、DTNノード1A及び1Bは、ACKリストを交換する。すなわち、DTNノード1Aは、自身のACKリストAをDTNノード1Bに送信する(ステップS101)。DTNノード1Bは、自身のACKリストBをDTNノード1Aに送信する(ステップS102)。ステップS103では、DTNノード1Aは、DTNノード1Bから受信したACKリストBに基づいて、自身のACKリストA及びサマリベクタAを更新する。ステップS104では、DTNノード1Bが、ACKリストAに基づいて、自身のACKリストB及びサマリベクタBを更新する。ACKリスト及びサマリベクタの更新手順は、既に述べた通りである。なお、DTNノード1A及び1Bの各々は、さらに、メッセージバッファの更新を行ってもよい。
【0036】
ステップS105及びS106では、DTNノード1A及び1Bは、通信相手のACKリストに基づいて更新済みのサマリベクタを交換する。すなわち、DTNノード1Aは、通信相手のACKリストBに基づいて更新されたサマリベクタAをDTNノード1Bに送信する(ステップS105)。DTNノード1Bは、通信相手のACKリストAに基づいて更新されたサマリベクタBをDTNノード1Aに送信する(ステップS106)。
【0037】
ステップS107では、DTNノード1Aは、通信相手のサマリベクタBと自身のサマリベクタAを比較し、サマリベクタAに含まれていないメッセージの送信をDTNノード1Bに要求する。ステップS108では、DTNノード1Bは、通信相手のサマリベクタAと自身のサマリベクタBを比較し、サマリベクタBに含まれていないメッセージの送信をDTNノード1Aに要求する。ステップS109では、DTNノード1A及び1Bは、通信相手から要求されたメッセージを送信し合う。DTNノード1A及び1Bの各々は、通信相手から受信したメッセージを自身のメッセージバッファに保存する。
【0038】
ステプS110及びS111では、ステップS109の結果に従って、DTNノード1A及び1Bは、サマリベクタA及びBをそれぞれ更新する。
【0039】
図5の手順によれば、ステップS105及びS106において、隣接DTNノードのACKリストに基づいて更新されたサマリベクタが交換される。従って、サマリベクタのサイズを小さくすることができ、隣接DTNノードにとって必要のないメッセージに関する情報が、隣接DTNノードに提示されないという利点がある。なぜなら、隣接DTNノードが把握しているACKメッセージに対応するメッセージの情報は、交換されるサマリベクタから除外されているためである。
【0040】
DTNノード1の通信手順の他の例は、後述する第2及び第3の実施形態において説明される。
【0041】
<第2の実施形態>
本実施形態では、DTNノード1の通信手順の具体例の1つを説明する。本実施形態では、DTN100の構成例は図1と同様であり、DTNノード1の構成例は図4と同様である。
【0042】
図6のシーケンス図は、本実施形態におけるDTNノード1の通信手順の一例を示している。図6の手順を図5の手順と比較すると、図6の手順は、隣接DTNノードのACKリストに基づいて更新される前のサマリベクタが隣接DTNノードに送信され、メッセージの交換が行われる点が図5の手順と異なる。
【0043】
ステップS201及びS202では、DTNノード1A及び1Bは、ACKリスト及びサマリベクタを交換する。すなわち、DTNノード1Aは、自身のACKリストA及びサマリベクタAをDTNノード1Bに送信する(ステップS201)。DTNノード1Bは、自身のACKリストB及びサマリベクタBをDTNノード1Aに送信する(ステップS202)。
【0044】
ステップS203では、DTNノード1Aは、DTNノード1BのサマリベクタBに示されたメッセージのうち、自身のサマリベクタA及び自身のACKリストAのいずれにも示されていないメッセージを送信するようDTNノード1Bに要求する。同様に、ステップS204では、DTNノード1Bは、DTNノード1AのサマリベクタAに示されたメッセージのうち、自身のサマリベクタB及び自身のACKリストBのいずれにも示されていないメッセージを送信するようDTNノード1Aに要求する。
【0045】
ステップS205では、DTNノード1A及び1Bは、通信相手から要求されたメッセージを送信し合う。DTNノード1A及び1Bの各々は、通信相手から受信したメッセージを自身のメッセージバッファに保存する。
【0046】
ステップS206では、DTNノード1Aは、ステップS201で受信したACKリストBに従ってACKリストAを更新する。DTNノード1Aは、ACKリストAとACKリストBの和集合を求めればよい。さらに、DTNノード1Aは、ステップS201で受信したACKリストB、及びステップS205でのメッセージ交換の結果に従って、サマリベクタAを更新する。DTNノード1Aは、ACKリストBに示されたメッセージの識別子をサマリベクタAから削除し、ステップS205で受信したメッセージの識別子をサマリベクタAに追加すればよい。
【0047】
ステップS207では、ステップS206と同様に、DTNノード1Bは、ステップS202で受信したACKリストAに従ってACKリストBを更新する。さらに、DTNノード1Bは、ステップS202で受信したACKリストA、及びステップS205でのメッセージ交換の結果に従って、サマリベクタBを更新する。
【0048】
なお、ステップS206及びS207において、DTNノード1A及び1Bの各々は、さらに、メッセージバッファの更新を行ってもよい。
【0049】
隣接するDTNノード1間で通信が可能な時間は限られているかもしれない。したがって、メッセージ交換を完了するまでに要する時間を短くできることが望ましい。メッセージ交換の失敗を減らすことができるためである。図6の手順によれば、隣接DTNノードのACKリストに基づいてサマリベクタを更新する処理の完了を待つこと無く、メッセージの交換(ステップS203〜S205)を行うことができる。したがって、図6の手順は、図5の手順に比べて、メッセージ交換を完了するまでに要する時間を短くすることが期待できる。
【0050】
<第3の実施形態>
第1及び第2の実施形態で説明されたDTNノード1の通信手順は一例に過ぎず様々な変形が可能である。例えば、隣接するDTNノード1間でのACKリストの交換は、サマリベクタの交換及びメッセージの送受信とは別個の手順で行われてもよい。また、ACKリストに関する通信手順は、ACKリストの交換(つまり、双方向の送信)ではなく、片方向の送信のみを含んでもよい。
【0051】
図7は、隣接DTNノード1BからのACKリストBの片方向の受信と、これに基づく自身のサマリベクタA及びACKリストAの更新を示す簡潔なシーケンスである。ステップS301では、DTNノード1Aは、DTNノード1BからACKリストBを受信する。ステップS302では、DTNノード1Aは、DTNノード1Bから受信したACKリストBに基づいて、自身のACKリストA及びサマリベクタAを更新する。
【0052】
具体的には、DTNノード1Aは、隣接DTNノード1Bから受信したACKリストBに示された到達済みメッセージと同じ識別子を持つメッセージを自身のサマリベクタAから除外すればよい。これにより、DTNノード1Aは、最終的な宛先ノードに到達済みのメッセージを隣接ノードにフォワードしなくなる。なぜなら、最終的な宛先ノードに到達済みのメッセージがサマリベクタAから除外されることで、DTNノード1Aは、最終的な宛先ノードに到達済みのメッセージを隣接DTNノードに提示しないためである。したがって、最終的な宛先ノードに到達済みのメッセージの複製がDTN100内に拡散されることを防ぐことができる。
【0053】
<第4の実施形態>
本実施形態では、サマリベクタ及びACKリストのデータ構造の変形例について説明する。具体的には、本実施形態は、ACKリストをサマリベクタに統合する例を示す。つまり、本実施形態では、ACKリストは、サマリベクタにピギーバックされている。言い換えると、本実施形態では、サマリベクタ及びACKリストは、DTNノードにおいて共通のリストとして管理される。具体的には、本実施形態では、サマリベクタの各エントリは、メッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別するための情報を含む。この情報は、例えば、ACKメッセージであるか否かを示すACKフラグでもよい。また、この情報は、サマリベクタのエントリが有効なデータで対応付けられているか否かを示してもよい。この場合、サマリベクタのエントリが無効なデータ(例えば、データサイズがゼロの空データ)に対応付けられている場合、そのエントリはACKメッセージを意味してもよい。
【0054】
図8は、本実施形態に係るACKを含むサマリベクタの1つの構成例を示している。図8に示されたサマリベクタ40は、ノードIDフィールド200、L個のメッセージIDフィールド401、及びL個のACKフラグフィールド402を含む。L個のACKフラグフィールド402は、L個のメッセージIDフィールド401と対応している。各ACKフラグフィールド402は、対応するメッセージIDフィールド401の値がメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別する。例えば、ACKフラグフィールド402の値が「0」であるとき、対応するメッセージIDフィールド401の値が、メッセージバッファに格納されたメッセージのIDであることを意味する。この場合、ACKフラグ402の値が「1」であるとき、対応するメッセージIDフィールド401の値が、ACKメッセージのメッセージID、つまり最終的な宛先ノードに到達済みのメッセージIDであることを意味する。
【0055】
図9は、本実施形態に係るACKを含むサマリベクタの他の構成例を示している。図9に示されたサマリベクタ41は、ノードIDフィールド200、L個のメッセージIDフィールド401、及びL個のデータサイズ・フィールド403を含む。L個のデータサイズ・フィールド403は、L個のメッセージIDフィールド401と対応している。各データサイズ・フィールド403は、対応するメッセージIDフィールド401の値がメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別する。具体的には、データサイズ・フィールド403の値が有効値(ゼロより大きい有効なデータサイズ)であることは、メッセージバッファに保存されたメッセージに対応するエントリであることを示す。一方、データサイズ・フィールド403の値がゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示す。
【0056】
ACKリストをサマリベクタに統合することによって、言い換えると、サマリベクタに付加された(piggybacked)ACKメッセージを用いることによって、隣接するDTNノード1間の交信手順では、ACKリストを交換する手順が不要となり、サマリベクタを交換するだけでよい。言い換えると、DTNノード1は、サマリベクタを用いたEpidemic routing等に基づくメッセージ拡散の仕組みを利用してACKメッセージ(つまり、メッセージが最終的な宛先に到達したことを示す通知)を拡散することができ、ACKメッセージを拡散するための追加の仕組み(ACKリストを交換する手順)を必要としない。したがって、隣接するDTNノード1間の交信手順を簡略化できる。
【0057】
具体的には、DTNノード1は、以下のように動作すればよい。DTNノード1は、隣接のDTNノードから受け取ったサマリベクタ及び自身のサマリベクタが同じメッセージIDのエントリを含むが、自身のサマリベクタに示されたデータサイズが有効値であるのに対して隣接のDTNノードのサマリベクタに示されたデータサイズがゼロ又は無効値である場合、データバッファ12に保存されていたメッセージデータを削除する。さらに、DTNノード1は、自身のサマリベクタにおける当該データのデータサイズ・フィールド403をゼロ又は無効値によって上書き(更新)する。このようなメッセージの更新動作によって、ACKメッセージの拡散と、到達済みメッセージのデータバッファ12からの削除を行うことができる。
【0058】
また、メッセージの更新(空データによる更新)の仕組みを利用することで、DTNノード1は、そのメッセージの有効期限、例えばタイムスタンプに基づく寿命、Time-To-Live(TTL)値、又はTimes-To-Send(TTS)値、を更新又はリセットすることができる利点もある。したがって、データサイズがゼロ又は無効値であることを示すサマリベクタのエントリ(つまり、ACKメッセージに相当するエントリ)が、DTN100内に十分に拡散される前に有効期限の満了によって消去されてしまうことを防止できる。よって、ACKメッセージがDTN100内に十分に拡散され、最終的な宛先ノードに既に到達した到達済みメッセージがDTN100内から削除されることを促進できる。
【0059】
図9に示したように、サマリベクタ内のデータサイズ情報をACKであるか否かを示す用途に兼用することは、サマリベクタにデータサイズ情報が含まれている場合に特に有効である。サマリベクタに含まれるデータサイズ情報は、メッセージの識別子の一部として、又はメッセージの更新の有無を示す用途として利用できる。さらに、図9の例では、データサイズ情報がACKであるか否かを示す用途にも利用されるため、図8のACKフラグフィールド等の新たなサマリベクタ構造を導入しなくてもよい利点がある。
【0060】
<その他の実施形態>
上述した複数の実施形態で説明されたDTNノード1による通信手順は、コンピュータシステムにプログラムを実行させることによって実現されてもよい。具体的には、本明細書においてシーケンス図等を用いて説明したアルゴリズムをコンピュータシステムに行わせるための命令群を含む一つ又は複数のプログラムを作成し、当該プログラムをコンピュータシステムに供給すればよい。
【0061】
このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(e.g. フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(e.g. 光磁気ディスク)、Compact Disc Read Only Memory(CD-ROM)、CD-R、CD-R/W、半導体メモリ(e.g. マスクROM、Programmable ROM(PROM)、Erasable PROM(EPROM)、フラッシュROM、Random Access Memory(RAM))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0062】
さらに、上述した実施形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
【0063】
この出願は、2014年3月4日に出願された日本出願特願2014−041474を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0064】
1 Disruption/Delay/Disconnect Tolerant Network(DTN)ノード
11 無線通信部
12 データバッファ
20 サマリベクタ
30 ACKリスト
40 ACKを含むサマリベクタ
100 Disruption/Delay/Disconnect Tolerant Network(DTN)
図1
図2
図3
図4
図5
図6
図7
図8
図9