(57)【要約】ノード装置（１Ａ）は、隣接ノード（１Ｂ）との交信において第２のACKリストを受信し、第１のACKリスト及び第１のサマリベクタを第２のACKリストに基づいて更新する。第１のサマリベクタは、ノード装置（１Ａ）のメッセージバッファに保存されたメッセージを示し、隣接ノード（１Ｂ）との交信においてメッセージの送信に先立って隣接ノード（１Ｂ）に送信される。第１のACKリストは、ノード装置（１Ａ）によって認識されているACKメッセージを示す。第２のACKリストは、隣接ノード（１Ｂ）によって認識されているACKメッセージを示す。各ACKメッセージは、DTN（１００）を経由して最終的な宛先ノードに到達済みのメッセージを示す。これにより、例えば、最終的な宛先ノードに到達したメッセージと同じ内容を持つ複製がＤｉｓｒｕｐｔｉｏｎ  Ｔｏｌｅｒａｎｔ  Ｎｅｔｗｏｒｋ（ＤＴＮ）内に拡散されることを抑制する。
2015133055.tif 000002
【特許請求の範囲】
【請求項１】
Disruption/Delay/Disconnect Tolerant Network（DTN）で利用されるノード装置であって、
前記DTNにおいて隣接ノードと通信する通信手段と、
前記DTNにおいて転送される複数のメッセージを保存することが可能な第１のメッセージバッファと、
を備え、
前記通信手段は、第１のサマリベクタ及び第１のACKリストを管理するよう構成されるとともに、前記隣接ノードとの交信において、前記隣接ノードが管理している第２のACKリストを受信し、前記第２のACKリストに基づいて前記第１のACKリスト及び前記第１のサマリベクタを更新するよう構成され、
前記第１のサマリベクタは、前記第１のメッセージバッファに保存された１又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信され、
前記第１のACKリストは、前記ノード装置によって認識されている１又は複数のACKメッセージを示し、
前記第２のACKリストは、前記隣接ノードによって認識されている１又は複数のACKメッセージを示し、
前記１又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す、
ノード装置。
【請求項２】
前記通信手段は、前記隣接ノードとの前記交信において、前記隣接ノードが管理している第２のサマリベクタと共に前記第２のACKリストを受信し、
前記第２のサマリベクタは、前記隣接ノードが有する第２のメッセージバッファに保存された１又は複数の保存メッセージを示し、
前記第１のACKリスト及び前記第１のサマリベクタの更新は、前記第２のサマリベクタを受信した後に行われる、
請求項１に記載のノード装置。
【請求項３】
前記通信手段は、前記第２のサマリベクタに示された前記１又は複数の保存メッセージのうち、前記第１のACKリスト及び第１のサマリベクタのいずれにも示されていないメッセージを送信するよう前記隣接ノードに要求する、請求項２に記載のノード装置。
【請求項４】
前記通信手段は、前記隣接ノードとの前記交信において、前記第２のACKリストを受信し且つ前記第１のサマリベクタを更新した後に、更新された前記第１のサマリベクタを前記隣接ノードに送信する、請求項１に記載のノード装置。
【請求項５】
前記第１のACKリストは、前記第１のサマリベクタにピギーバックされている、請求項１〜３のいずれか１項に記載のノード装置。
【請求項６】
前記第１のサマリベクタと前記第１のACKリストは、前記ノード装置において第１の共通のリストとして管理される、請求項１〜３のいずれか１項に記載のノード装置。
【請求項７】
前記第１の共通のリストの各エントリは、前記第１のメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別するための情報を含む、請求項６に記載のノード装置。
【請求項８】
前記情報は、ACKフラグを含む、請求項７に記載のノード装置。
【請求項９】
前記情報は、メッセージのデータサイズを示すデータサイズ情報を含み、
前記データサイズ情報が有効値であることは、前記第１のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示す、
請求項７に記載のノード装置。
【請求項１０】
前記隣接ノードが管理している第２のサマリベクタ及び前記第２のACKリストは第２の共通のリストとして定義されており、
前記第２の共通のリストの各エントリは、メッセージのデータサイズを示すデータサイズ情報を含み、
前記第２の共通のリストにおいて前記データサイズ情報が有効値であることは、前記隣接ノードが有する第２のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
前記第２の共通のリストにおいて前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示し、
前記通信手段は、前記隣接ノードから受信した前記第２の共通のリストにおいてデータサイズがゼロ又は無効値と示されているメッセージを、前記第１のメッセージバッファから削除する、
請求項９に記載のノード装置。
【請求項１１】
前記通信手段は、前記ノード装置が最終的な宛先に指定された第１のメッセージを前記DTNを経由して受信したことに応答して、前記第１のメッセージに対応するACKメッセージを前記第１のACKリストに追加する、請求項１〜１０のいずれか１項に記載のノード装置。
【請求項１２】
前記通信手段は、前記隣接ノードとの前記交信において、前記第１のACKリストを前記隣接ノードに送信する、請求項１〜１１のいずれか１項に記載のノード装置。
【請求項１３】
前記第１のACKリストの更新は、前記第１のACKリストと前記隣接ノードから受信された前記第２のACKリストを合併することによって行われる、請求項１〜１２のいずれか１項に記載のノード装置。
【請求項１４】
前記第１のサマリベクタの更新は、前記第２のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第１のサマリベクタから除外することにより行われる、請求項１〜１３のいずれか１項に記載のノード装置。
【請求項１５】
前記通信手段は、前記第２のACKリストに基づいて、前記第１のメッセージバッファを更新する、請求項１〜１４のいずれか１項に記載のノード装置。
【請求項１６】
前記第１のメッセージバッファの更新は、前記第２のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第１のメッセージバッファから削除することにより行われる、請求項１５に記載のノード装置。
【請求項１７】
前記１又は複数のACKメッセージの各々は、前記宛先ノードによって生成される、請求項１〜１６のいずれか１項に記載のノード装置。
【請求項１８】
Disruption/Delay/Disconnect Tolerant Network（DTN）で利用されるノード装置の通信方法であって、
隣接ノードとの交信において、前記隣接ノードが管理している第２のACKリストを受信すること、及び
前記第２のACKリストに基づいて、前記ノード装置において管理されている第１のACKリスト及び第１のサマリベクタを更新すること、
を備え、
前記第１のサマリベクタは、前記ノード装置が有する第１のメッセージバッファに保存された１又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信され、
前記第１のACKリストは、前記ノード装置によって認識されている１又は複数のACKメッセージを示し、
前記第２のACKリストは、前記隣接ノードによって認識されている１又は複数のACKメッセージを示し、
前記１又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す、
通信方法。
【請求項１９】
前記第２のACKリストを受信することは、前記隣接ノードとの前記交信において、前記隣接ノードが管理している第２のサマリベクタと共に前記第２のACKリストを受信することを含み、
前記第２のサマリベクタは、前記隣接ノードが有する第２のメッセージバッファに保存された１又は複数の保存メッセージを示し、
前記第１のACKリスト及び前記第１のサマリベクタの更新は、前記第２のサマリベクタを受信した後に行われる、
請求項１８に記載の通信方法。
【請求項２０】
前記第２のサマリベクタに示された前記１又は複数の保存メッセージのうち、前記第１のACKリスト及び第１のサマリベクタのいずれにも示されていないメッセージを送信するよう前記隣接ノードに要求することをさらに備える、請求項１９に記載の通信方法。
【請求項２１】
前記隣接ノードとの前記交信において、前記第２のACKリストを受信し且つ前記第１のサマリベクタを更新した後に、更新された前記第１のサマリベクタを前記隣接ノードに送信することをさらに備える、請求項１８に記載の通信方法。
【請求項２２】
前記第１のACKリストは、前記第１のサマリベクタにピギーバックされている、請求項１８〜２０のいずれか１項に記載の通信方法。
【請求項２３】
前記第１のサマリベクタと前記第１のACKリストは、前記ノード装置において第１の共通のリストとして管理される、請求項１８〜２０のいずれか１項に記載の通信方法。
【請求項２４】
前記第１の共通のリストは、各エントリが前記第１のメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別するための情報を含む、請求項２３に記載の通信方法。
【請求項２５】
前記情報は、ACKフラグを含む、請求項２４に記載の通信方法。
【請求項２６】
前記情報は、メッセージのデータサイズを示すデータサイズ情報を含み、
前記データサイズ情報が有効値であることは、前記第１のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示す、
請求項２４に記載の通信方法。
【請求項２７】
前記隣接ノードが管理している第２のサマリベクタ及び前記第２のACKリストは第２の共通のリストとして定義されており、
前記第２の共通のリストの各エントリは、メッセージのデータサイズを示すデータサイズ情報を含み、
前記第２の共通のリストにおいて前記データサイズ情報が有効値であることは、前記隣接ノードが有する第２のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
前記第２の共通のリストにおいて前記データサイズがゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示し、
前記隣接ノードから受信した前記第２の共通のリストにおいてデータサイズがゼロ又は無効値と示されているメッセージを、前記第１のメッセージバッファから削除することをさらに備える、
請求項２６に記載の通信方法。
【請求項２８】
前記ノード装置が最終的な宛先に指定された第１のメッセージを前記DTNを経由して受信したことに応答して、前記第１のメッセージに対応するACKメッセージを前記第１のACKリストに追加することをさらに備える、請求項１８〜２７のいずれか１項に記載の通信方法。
【請求項２９】
前記隣接ノードとの前記交信において、前記第１のACKリストを前記隣接ノードに送信することをさらに備える、請求項１８〜２８のいずれか１項に記載の通信方法。
【請求項３０】
前記第１のACKリストの更新は、前記第１のACKリストと前記隣接ノードから受信された前記第２のACKリストを合併することによって行われる、請求項１８〜２９のいずれか１項に記載の通信方法。
【請求項３１】
前記第１のサマリベクタの更新は、前記第２のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第１のサマリベクタから除外することにより行われる、請求項１８〜３０のいずれか１項に記載の通信方法。
【請求項３２】
前記第２のACKリストに基づいて、前記第１のメッセージバッファを更新することをさらに備える、請求項１８〜３１のいずれか１項に記載の通信方法。
【請求項３３】
前記第１のメッセージバッファの更新は、前記第２のACKリストに示された前記到達済みメッセージと同じ識別子を持つメッセージを前記第１のメッセージバッファから削除することにより行われる、請求項３２に記載の通信方法。
【請求項３４】
前記１又は複数のACKメッセージの各々は、前記宛先ノードによって生成される、請求項１８〜３３のいずれか１項に記載の通信方法。
【請求項３５】
請求項１８〜３４のいずれか１項に記載の通信方法をコンピュータに行わせるためのプログラムを格納した非一時的なコンピュータ可読媒体。
【請求項３６】
Disruption/Delay/Disconnect Tolerant Network（DTN）で利用されるノード装置であって、
前記DTNにおいて隣接ノードと通信する通信手段と、
前記DTNにおいて転送される複数のメッセージを保存することが可能な第１のメッセージバッファと、
を備え、
前記通信手段は、第１のサマリベクタを管理するよう構成されるとともに、前記隣接ノードとの交信において、前記隣接ノードが管理している第２のサマリベクタを受信し、前記第２のサマリベクタに基づいて前記第１のサマリベクタ及び前記第１のメッセージバッファを更新するよう構成され、
前記第１のサマリベクタは、前記第１のメッセージバッファに保存された１又は複数の保存メッセージを示し、
前記第２のサマリベクタは、前記隣接ノードが有する第２のメッセージバッファに保存された１又は複数の保存メッセージを示し、
前記第１及び前記第２のサマリベクタの各エントリは、メッセージのデータサイズを示すデータサイズ情報を含み、
前記データサイズ情報が有効値であることは、前記第１又は前記第２のメッセージバッファに保存されたメッセージに対応するエントリであることを示し、
前記データサイズ情報がゼロ又は無効値であることは、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージに対応するエントリであることを示し、
前記通信手段は、前記第２のサマリベクタにおいてデータサイズがゼロ又は無効値と示されている到達済みメッセージに関して、前記第１のメッセージバッファに保持されているメッセージデータを削除するとともに、前記第１のサマリベクタのエントリ内のデータサイズ情報をゼロ又は無効値によって上書きする、
ノード装置。
【請求項３７】
前記通信手段は、前記第１のサマリベクタのエントリ内のデータサイズ情報をゼロ又は無効値によって上書きすることに応じて、当該エントリの有効期限を更新又はリセットする、請求項３６に記載のノード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、Disruption/Delay/Disconnect Tolerant Networkで使用される通信ノード及びその通信方法に関する。
【背景技術】
【０００２】
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と他のネットワークの間でメッセージを中継するルータ又はゲートウェイとして動作する。【０００３】
DTNは、DTNノードの移動および障害物による無線信号の遮蔽などによって、一時的な又は断続的な通信途絶が発生することを前提としている。言い換えると、DTNは、少なくともある時点において、送信元ノードと宛先ノードの間に安定した通信パスが存在しないことを前提としている。一時的な又は断続的な通信途絶に対処するために、各DTNノードはストア・アンド・フォワード動作を行う。したがって、DTNは、ストア・アンド・フォワード型の無線マルチホップ・ネットワークと呼ぶこともできる。また、DTNを構成する複数のDTNノードの一部又は全部は、移動性を有するモバイル端末であってもよい。この意味で、DTNは、ストア・アンド・フォワード型の無線アドホック・ネットワークと呼ぶこともできる。DTNは、例えば、災害時の非常用通信、並びに高度交通システム（Intelligent Transport Systems（ITS））における車々間通信および路車間通信への適用が想定されている。【０００４】
上述したように、DTNノードは、ストア・アンド・フォワード動作を行う。つまり、DTNノードは、あるDTNノードから受信した宛先ノード宛てのメッセージをメモリ（以下、メッセージバッファと呼ぶ）に一時的に蓄積する。そして、他のDTNノードとの通信が可能になったときに、DTNノードは、メッセージのフォワード先及びフォワードするメッセージをルーティングプロトコルに従って決定し、メッセージバッファに蓄積されているメッセージを他のDTNノードにフォワードする。【０００５】
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ノードが過去の交信（コンタクト）の履歴を記憶し、この履歴をメッセージのフォワード先の決定に利用する。【０００６】
Epidemic routingは原始的なフラッディング・メカニズムの改良である。具体的には、Epidemic routingをサポートする各DTNノードは、「サマリベクタ」と呼ばれる情報を管理する。サマリベクタは、各DTNノードのメッセージバッファに保存されているメッセージの識別子を示す。各DTNノードは、隣接DTNノードとの交信において、互いのサマリベクタを交換し、自身が保有していないメッセージを特定し、特定したメッセージを隣接DTNノードから取得する。【０００７】
Spray and Waitは、Epidemic routingの改良である。各DTNノードは、Epidemic routingと同様に、隣接ノードとの交信において、互いのサマリベクタを交換し、自身が保有していないメッセージを隣接ノードから取得する。Spray and Waitでは、送信元ノードにおけるメッセージの生成時に、DTN全体でのメッセージの複製回数が規定される。Spray段階ででは、規定の複製回数に到達するまでメッセージの複製が生成され、メッセージを保有するDTNノードは遭遇したDTNノードにメッセージの複製を渡していく。規定の複製回数に到達すると（Wait段階）、メッセージを保持するDTNノードは、そのメッセージの複製を他のDTNノードに渡すこと無く保持し続け、最終的な宛先ノードに遭遇した場合にだけ当該メッセージを最終的な宛先ノードに渡す。【０００８】
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に送信する。【０００９】
特許文献１は、DTNノード間でのメッセージ配信の改良について開示している。特許文献２は、DTNにおけるルーティングの改良について開示している。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】国際公開第２０１１／０７１０４５号
【特許文献２】国際公開第２０１３／０７６９１２号
【発明の概要】
【発明が解決しようとする課題】
【００１１】
以上に述べたEpidemic routing、Spray and Wait、及びPROPHETと同様に、DTNのための多くのルーティングプロトコルは、多数のメッセージの複製を生成して、多数のメッセージの複製をDTN内に拡散することを特徴としている。したがって、１つのメッセージの複製が最終的な宛先ノードに到達した後も、同じ内容を持つその他の多くのメッセージの複製がさらにDTN内に拡散されてしまう。そうすると、最終的な宛先ノードに到達したメッセージの複製が各DTNノードのメッセージバッファに残ってしまう。DTNでのメッセージ配達率を高めるためには、宛先ノードに到達したメッセージと同じ内容を持つ複製は、DTN内で拡散されずに削除されることが好ましい。特許文献１及び２は、この問題に対処するための技術を開示していない。【００１２】
したがって、本件発明の目的の１つは、最終的な宛先ノードに到達したメッセージと同じ内容を持つ複製がDTN内に拡散されることを抑制することが可能なノード装置、通信方法、及びプログラムを提供することである。
【課題を解決するための手段】
【００１３】
第１の態様では、Disruption/Delay/Disconnect Tolerant Network（DTN）で利用されるノード装置は、通信部及び第１のメッセージバッファを含む。前記通信部は、前記DTNにおいて隣接DTNノードと通信するよう構成されている。前記メッセージバッファは、前記DTNにおいて転送される複数のメッセージを保存するよう構成されている。さらに、前記通信部は、第１のサマリベクタ及び第１のAcknowledgement（ACK）リストを管理するよう構成されるとともに、前記隣接ノードとの交信において、前記隣接ノードが管理している第２のACKリストを受信し、前記第２のACKリストに基づいて前記第１のACKリスト及び前記第１のサマリベクタを更新するよう構成されている。前記第１のサマリベクタは、前記第１のメッセージバッファに保存された１又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信される。前記第１のACKリストは、前記ノード装置によって認識されている１又は複数のACKメッセージを示す。前記第２のACKリストは、前記隣接ノードによって認識されている１又は複数のACKメッセージを示す。前記１又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す。【００１４】
第２の態様では、Disruption/Delay/Disconnect Tolerant Network（DTN）で利用されるノード装置の通信方法は、（ａ）隣接ノードとの交信において、前記隣接ノードが管理している第２のACKリストを受信すること、及び（ｂ）前記第２のACKリストに基づいて、前記ノード装置において管理されている第１のACKリスト及び第１のサマリベクタを更新すること、を含む。前記第１のサマリベクタは、前記第１のメッセージバッファに保存された１又は複数の保存メッセージを示し、前記隣接ノードとの前記交信において前記保存メッセージの送信に先立って前記隣接ノードに送信される。前記第１のACKリストは、前記ノード装置によって認識されている１又は複数のACKメッセージを示す。前記第２のACKリストは、前記隣接ノードによって認識されている１又は複数のACKメッセージを示す。前記１又は複数のACKメッセージの各々は、前記DTNを経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す。【００１５】
第３の態様では、プログラムは、上述した第２の態様に係る通信方法をコンピュータに行わせるための命令群を含む。
【発明の効果】
【００１６】
上述の態様によれば、最終的な宛先ノードに到達したメッセージと同じ内容を持つ複製がDTN内に拡散されることを抑制することが可能なノード装置、通信方法、及びプログラムを提供できる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態に係るDTNの構成例を示す図である。
【図２】第１の実施形態に係るDTNノードの構成例を示すブロック図である。
【図３】サマリベクタの構成例を示す図である。
【図４】ACKリストの構成例を示す図である。
【図５】第１の実施形態に係るDTNノードの通信手順の一例を示すシーケンス図である。
【図６】第２の実施形態に係るDTNノードの通信手順の一例を示すシーケンス図である。
【図７】第３の実施形態に係るDTNノードの通信手順の一例を示すシーケンス図である。
【図８】第４の実施形態に係るACKを含むサマリベクタの構成例を示す図である。
【図９】第４の実施形態に係るACKを含むサマリベクタの構成例を示す図である。
【発明を実施するための形態】
【００１８】
以下では、具体的な実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００１９】
＜第１の実施形態＞
図１は、本実施形態に係るDisruption/Delay/Disconnect Tolerant Network（DTN）１００の構成例を示している。DTN１００は、複数のDTNノード１を含む。複数のDTNノード１は、自律的にメッセージ（データバンドル、又はデータパケット）を中継し合うことで、送信元ノードと宛先ノードの間でのメッセージ配信を実現する。
【００２０】
各DTNノード１は、移動性を有するモバイル端末（例えば、携帯電話、スマートフォン、タブレットコンピュータ、Personal Computer（PC）等）であってもよい。また、各DTNノード１は、自動車、航空機、鉄道車両、及び船舶などの輸送機器に搭載される通信端末であってもよい。しかしながら、複数のDTNノード１の一部は、無線LANアクセスポイントのように固定された無線端末であってもよい。
【００２１】
各DTNノード１は、ストア・アンド・フォワード動作を行う。すなわち、各DTNノード１は、DTN１００において転送されるメッセージを蓄積するためのメッセージバッファを有する。DTNノード１は、他のDTNノードから受信したメッセージをメッセージバッファに一時的に蓄積する。そして、さらに別のDTNノードとの通信が可能になったときに、DTNノード１は、メッセージのフォワード先及びフォワードするメッセージをルーティングプロトコルに従って決定し、メッセージバッファに蓄積されているメッセージを送信する。
【００２２】
本実施形態で使用されるルーティングプロトコルは、「サマリベクタ」を使用するプロトコルであればよく、例えば、Epidemic routing、 Spray and Wait、若しくはPROPHET又はこれらの改良であってもよい。サマリベクタは、各DTNノードによって管理され、各DTNノード１のメッセージバッファに保存されているメッセージの識別子を示す。サマリベクタは、隣接DTNノードとの交信において、各DTNノード１のメッセージバッファに保存されているメッセージの送信に先立って送信される。すなわち、各DTNノード１は、隣接DTNノードとの交信において、互いのサマリベクタを交換し、自身が保有していないメッセージを特定し、特定したメッセージを隣接DTNノードから取得する。
【００２３】
図２は、サマリベクタの構成例を示している。図２に示されたサマリベクタ２０は、ノードID２００及びＮ個のメッセージID２０１を含む。ノードID２００は、サマリベクタ２０を管理するDTNノード１の識別子、例えばInternet Protocol（IP）アドレス、を示す。Ｎ個のメッセージID２０１の各々は、サマリベクタ２０を管理するDTNノード１のメッセージバッファに保存されたメッセージの識別子を示す。各メッセージID２０１は、例えば、送信元ノードのアドレス、宛先ノードのアドレス、及びメッセージのシーケンス番号の組合せによって特定されてもよい。また、データサイズを小さくするために、各メッセージID２０１は、送信元ノードのアドレス、宛先ノードのアドレス、及びメッセージのシーケンス番号から計算されたハッシュ値であってもよい。
【００２４】
さらに本実施形態では、各DTNノード１は、サマリベクタに加えて、Acknowledgement（ACK）リストを管理する。ACKリストは、各DTNノード１によって認識されている１又は複数のACKメッセージを示す。ACKメッセージは、DTN１００を経由して最終的な宛先ノードに既に到達した到達済みメッセージを示す。
【００２５】
ACKメッセージは、原則として、最終的な宛先ノードによって生成される。DTNノード１は、自身が最終的な宛先に指定されたメッセージをDTN１００を経由して受信したことに応答して、当該メッセージに対応するACKメッセージを生成し、これを自身のACKリストに追加してもよい。
【００２６】
しかしながら、DTN１００上で転送されるメッセージの宛先は、他のネットワーク（例えば、インターネット、公衆セルラネットワーク、又は無線Local Area Network(LAN)）に属するノードであるかもしれない。また、地理的に離間した複数のDTN間でメッセージを中継するDTNサーバが用いられるかもしれない。これらの場合には、いずれかのDTNノード１は、DTN１００と他のネットワーク、又は、DTN１００とDTNサーバの間でメッセージを中継するルータ又はゲートウェイとして動作する。したがって、これらの場合には、ルータ又はゲートウェイとして動作するDTNノード１は、他のネットワーク又はDTNサーバに送信するメッセージが自身に到達した場合に、当該メッセージに対するACKメッセージを生成してもよい。言い換えると、ルータ又はゲートウェイとして動作するDTNノード１は、「最終的な宛先ノード」とみなすことができる。
【００２７】
図３は、ACKリストの構成例を示している。図３に示されたACKリスト３０は、ノードID３００及びＭ個のメッセージID３０１を含む。ノードID３００は、ACKリスト３０を管理するDTNノード１の識別子、例えばInternet Protocol（IP）アドレス、を示す。Ｍ個のメッセージID３０１の各々は、ACKリスト３０を管理するDTNノード１が把握しているACKメッセージの識別子に相当する。各メッセージID３０１は、サマリベクタ２０におけるメッセージID２０１と同様に定義されればよい。
【００２８】
さらに、ACKリスト３０は、各ACKメッセージの有効期限を定めるための情報、例えば、Time-To-Live（TTL）値又はTimes-To-Send（TTS）値、をACKメッセージ毎に有してもよい。Time-To-Live（TTL）値は、ACKメッセージがDTNノード１間でフォワードされる際のフォワード回数の上限値（いわゆるホップ数）を定める。TTS値は、各DTNノード１が他のDTNノード１にACKメッセージをフォワードする回数の上限値（つまり、各DTNノード１でのACKメッセージの複製回数）を定める。また、ACKメッセージの有効期限を定めるための情報は、ACKメッセージの生成時刻を示す情報（タイムスタンプ）と、秒単位又は分単位での有効期間（寿命）を示す情報の組み合わせであってもよい。ACKメッセージの有効期間（寿命）が全てのACKメッセージに共通である場合、ACKリスト３０は、ACKメッセージの有効期限を定めるためにACKメッセージの生成時刻を示す情報（タイムスタンプ）のみを含んでもよい。これらのACKメッセージの有効期限を定めるための情報は、DTNノード１のメッセージバッファに保存されたメッセージの有効期限（例えば、サマリベクタ２０に保持されるメッセージに関するTTL値、TTS値、メッセージの生成時刻、又はメッセージの生成時刻及びその寿命の組み合わせ）とは独立に定義される。
【００２９】
各DTNノード１は、隣接DTNノードとの交信において、互いのサマリベクタだけでなくACKリストも交換する。そして、各DTNノード１は、隣接DTNノードから受信したACKリストに基づいて、自身が保持していたACKリストを更新する。具体的には、各DTNノード１は、自身が保持していたACKリストと隣接DTNノードから受信したACKリストを合併すればよい。集合論に従って言い換えると、各DTNノード１は、自身が保持していたACKリストと隣接DTNノードから受信したACKリストの和集合を求めればよい。
【００３０】
さらに、各DTNノード１は、隣接DTNノードから受信したACKリストに基づいて、自身が保持していたサマリベクタを更新する。具体的には、各DTNノード１は、隣接DTNノードから受信したACKリストに示された到達済みメッセージと同じ識別子を持つメッセージを自身のサマリベクタから除外すればよい。これにより、各DTNノード１は、最終的な宛先ノードに到達済みのメッセージを隣接ノードにフォワードしなくなる。なぜなら、最終的な宛先ノードに到達済みのメッセージがサマリベクタから除外されることで、最終的な宛先ノードに到達済みのメッセージが隣接DTNノードに提示されないためである。したがって、最終的な宛先ノードに到達済みのメッセージの複製がDTN１００内に拡散されることを防ぐことができる。
【００３１】
さらに、各DTNノード１は、隣接DTNノードから受信したACKリストに基づいて、自身のメッセージバッファを更新してもよい。具体的には、各DTNノード１は、隣接DTNノードから受信したACKリストに示された到達済みメッセージと同じ識別子を持つメッセージを、自身のメッセージバッファから削除すればよい。ここで、メッセージの削除は、DTNノード１のメッセージバッファに保存されていたメッセージデータをデータサイズがゼロの空データによって上書き（更新）することによって行われてもよい。これにより、各DTNノード１は、メッセージバッファの利用効率を高めることができ、DTN１００のメッセージ配達率の向上に寄与できる。なぜなら、もはやフォワードされる必要のないメッセージをメッセージバッファから削除し、別のフォワードされるべきメッセージのためにメッセージバッファを利用できるためである。
【００３２】
続いて以下では、DTNノード１の構成例及びその動作についてさらに詳細に説明する。図４は、DTNノード１の構成例を示している。無線通信部１１は、DTN１００において他のDTNノード１と無線通信を行う。すなわち、無線通信部１１は、DTN１００において利用される無線通信技術の物理層に対応したトランシーバを有し、DTN１００において利用される無線通信技術のデータリンク層、ネットワーク層及びトランスポート層のプロトコルスイートをサポートする。さらに、無線通信部１１は、バンドル層プロトコルをサポートする。バンドル層プロトコルは、アプリケーション層とトランスポート層の間に位置し、DTNに必要なストア・アンド・フォワード方式の通信を提供する。バンドル層のProtocol Data Unit（PDU）は、メッセージ又はデータバンドルと呼ばれることがある。
【００３３】
無線通信部１１は、バンドル層プロトコルに基づいて、上述したサマリベクタ及びACKリストを管理する。無線通信部１１は、さらに、バンドル層プロトコルに基づいて、隣接DTNノードとの交信において、サマリベクタ及びACKリストを交換し、メッセージを送受信する。
【００３４】
データバッファ１２は、DTN１００において転送される複数のメッセージを保存することができる。データバッファ１２は、Dynamic Random Access Memory（DRAM）及びStatic Random Access Memory（SRAM）等の揮発性メモリでもよく、若しくはハードディスクドライブ及びフラッシュメモリ等の不揮発性メモリでもよく、又はこれらの組合せでもよい。
【００３５】
図５のシーケンス図は、本実施形態におけるDTNノード１の通信手順の一例を示している。図５の例は、２つのDTNノード１（１Ａ及び１Ｂ）が接近し、交信を開始するケースを示している。ステップＳ１０１及びＳ１０２では、DTNノード１Ａ及び１Ｂは、ACKリストを交換する。すなわち、DTNノード１Ａは、自身のACKリストＡをDTNノード１Ｂに送信する（ステップＳ１０１）。DTNノード１Ｂは、自身のACKリストＢをDTNノード１Ａに送信する（ステップＳ１０２）。ステップＳ１０３では、DTNノード１Ａは、DTNノード１Ｂから受信したACKリストＢに基づいて、自身のACKリストＡ及びサマリベクタＡを更新する。ステップＳ１０４では、DTNノード１Ｂが、ACKリストＡに基づいて、自身のACKリストＢ及びサマリベクタＢを更新する。ACKリスト及びサマリベクタの更新手順は、既に述べた通りである。なお、DTNノード１Ａ及び１Ｂの各々は、さらに、メッセージバッファの更新を行ってもよい。
【００３６】
ステップＳ１０５及びＳ１０６では、DTNノード１Ａ及び１Ｂは、通信相手のACKリストに基づいて更新済みのサマリベクタを交換する。すなわち、DTNノード１Ａは、通信相手のACKリストＢに基づいて更新されたサマリベクタＡをDTNノード１Ｂに送信する（ステップＳ１０５）。DTNノード１Ｂは、通信相手のACKリストＡに基づいて更新されたサマリベクタＢをDTNノード１Ａに送信する（ステップＳ１０６）。
【００３７】
ステップＳ１０７では、DTNノード１Ａは、通信相手のサマリベクタＢと自身のサマリベクタＡを比較し、サマリベクタＡに含まれていないメッセージの送信をDTNノード１Ｂに要求する。ステップＳ１０８では、DTNノード１Ｂは、通信相手のサマリベクタＡと自身のサマリベクタＢを比較し、サマリベクタＢに含まれていないメッセージの送信をDTNノード１Ａに要求する。ステップＳ１０９では、DTNノード１Ａ及び１Ｂは、通信相手から要求されたメッセージを送信し合う。DTNノード１Ａ及び１Ｂの各々は、通信相手から受信したメッセージを自身のメッセージバッファに保存する。
【００３８】
ステプＳ１１０及びＳ１１１では、ステップＳ１０９の結果に従って、DTNノード１Ａ及び１Ｂは、サマリベクタＡ及びＢをそれぞれ更新する。
【００３９】
図５の手順によれば、ステップＳ１０５及びＳ１０６において、隣接DTNノードのACKリストに基づいて更新されたサマリベクタが交換される。従って、サマリベクタのサイズを小さくすることができ、隣接DTNノードにとって必要のないメッセージに関する情報が、隣接DTNノードに提示されないという利点がある。なぜなら、隣接DTNノードが把握しているACKメッセージに対応するメッセージの情報は、交換されるサマリベクタから除外されているためである。
【００４０】
DTNノード１の通信手順の他の例は、後述する第２及び第３の実施形態において説明される。
【００４１】
＜第２の実施形態＞
本実施形態では、DTNノード１の通信手順の具体例の１つを説明する。本実施形態では、DTN１００の構成例は図１と同様であり、DTNノード１の構成例は図４と同様である。
【００４２】
図６のシーケンス図は、本実施形態におけるDTNノード１の通信手順の一例を示している。図６の手順を図５の手順と比較すると、図６の手順は、隣接DTNノードのACKリストに基づいて更新される前のサマリベクタが隣接DTNノードに送信され、メッセージの交換が行われる点が図５の手順と異なる。
【００４３】
ステップＳ２０１及びＳ２０２では、DTNノード１Ａ及び１Ｂは、ACKリスト及びサマリベクタを交換する。すなわち、DTNノード１Ａは、自身のACKリストＡ及びサマリベクタＡをDTNノード１Ｂに送信する（ステップＳ２０１）。DTNノード１Ｂは、自身のACKリストＢ及びサマリベクタＢをDTNノード１Ａに送信する（ステップＳ２０２）。
【００４４】
ステップＳ２０３では、DTNノード１Ａは、DTNノード１ＢのサマリベクタＢに示されたメッセージのうち、自身のサマリベクタＡ及び自身のACKリストＡのいずれにも示されていないメッセージを送信するようDTNノード１Ｂに要求する。同様に、ステップＳ２０４では、DTNノード１Ｂは、DTNノード１ＡのサマリベクタＡに示されたメッセージのうち、自身のサマリベクタＢ及び自身のACKリストＢのいずれにも示されていないメッセージを送信するようDTNノード１Ａに要求する。
【００４５】
ステップＳ２０５では、DTNノード１Ａ及び１Ｂは、通信相手から要求されたメッセージを送信し合う。DTNノード１Ａ及び１Ｂの各々は、通信相手から受信したメッセージを自身のメッセージバッファに保存する。
【００４６】
ステップＳ２０６では、DTNノード１Ａは、ステップＳ２０１で受信したACKリストＢに従ってACKリストＡを更新する。DTNノード１Ａは、ACKリストＡとACKリストＢの和集合を求めればよい。さらに、DTNノード１Ａは、ステップＳ２０１で受信したACKリストＢ、及びステップＳ２０５でのメッセージ交換の結果に従って、サマリベクタＡを更新する。DTNノード１Ａは、ACKリストＢに示されたメッセージの識別子をサマリベクタＡから削除し、ステップＳ２０５で受信したメッセージの識別子をサマリベクタＡに追加すればよい。
【００４７】
ステップＳ２０７では、ステップＳ２０６と同様に、DTNノード１Ｂは、ステップＳ２０２で受信したACKリストＡに従ってACKリストＢを更新する。さらに、DTNノード１Ｂは、ステップＳ２０２で受信したACKリストＡ、及びステップＳ２０５でのメッセージ交換の結果に従って、サマリベクタＢを更新する。
【００４８】
なお、ステップＳ２０６及びＳ２０７において、DTNノード１Ａ及び１Ｂの各々は、さらに、メッセージバッファの更新を行ってもよい。
【００４９】
隣接するDTNノード１間で通信が可能な時間は限られているかもしれない。したがって、メッセージ交換を完了するまでに要する時間を短くできることが望ましい。メッセージ交換の失敗を減らすことができるためである。図６の手順によれば、隣接DTNノードのACKリストに基づいてサマリベクタを更新する処理の完了を待つこと無く、メッセージの交換（ステップＳ２０３〜Ｓ２０５）を行うことができる。したがって、図６の手順は、図５の手順に比べて、メッセージ交換を完了するまでに要する時間を短くすることが期待できる。
【００５０】
＜第３の実施形態＞
第１及び第２の実施形態で説明されたDTNノード１の通信手順は一例に過ぎず様々な変形が可能である。例えば、隣接するDTNノード１間でのACKリストの交換は、サマリベクタの交換及びメッセージの送受信とは別個の手順で行われてもよい。また、ACKリストに関する通信手順は、ACKリストの交換（つまり、双方向の送信）ではなく、片方向の送信のみを含んでもよい。
【００５１】
図７は、隣接DTNノード１ＢからのACKリストＢの片方向の受信と、これに基づく自身のサマリベクタＡ及びACKリストＡの更新を示す簡潔なシーケンスである。ステップＳ３０１では、DTNノード１Ａは、DTNノード１ＢからACKリストＢを受信する。ステップＳ３０２では、DTNノード１Ａは、DTNノード１Ｂから受信したACKリストＢに基づいて、自身のACKリストＡ及びサマリベクタＡを更新する。
【００５２】
具体的には、DTNノード１Ａは、隣接DTNノード１Ｂから受信したACKリストＢに示された到達済みメッセージと同じ識別子を持つメッセージを自身のサマリベクタＡから除外すればよい。これにより、DTNノード１Ａは、最終的な宛先ノードに到達済みのメッセージを隣接ノードにフォワードしなくなる。なぜなら、最終的な宛先ノードに到達済みのメッセージがサマリベクタＡから除外されることで、DTNノード１Ａは、最終的な宛先ノードに到達済みのメッセージを隣接DTNノードに提示しないためである。したがって、最終的な宛先ノードに到達済みのメッセージの複製がDTN１００内に拡散されることを防ぐことができる。
【００５３】
＜第４の実施形態＞
本実施形態では、サマリベクタ及びACKリストのデータ構造の変形例について説明する。具体的には、本実施形態は、ACKリストをサマリベクタに統合する例を示す。つまり、本実施形態では、ACKリストは、サマリベクタにピギーバックされている。言い換えると、本実施形態では、サマリベクタ及びACKリストは、DTNノードにおいて共通のリストとして管理される。具体的には、本実施形態では、サマリベクタの各エントリは、メッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別するための情報を含む。この情報は、例えば、ACKメッセージであるか否かを示すACKフラグでもよい。また、この情報は、サマリベクタのエントリが有効なデータで対応付けられているか否かを示してもよい。この場合、サマリベクタのエントリが無効なデータ（例えば、データサイズがゼロの空データ）に対応付けられている場合、そのエントリはACKメッセージを意味してもよい。
【００５４】
図８は、本実施形態に係るACKを含むサマリベクタの１つの構成例を示している。図８に示されたサマリベクタ４０は、ノードIDフィールド２００、Ｌ個のメッセージIDフィールド４０１、及びＬ個のACKフラグフィールド４０２を含む。Ｌ個のACKフラグフィールド４０２は、Ｌ個のメッセージIDフィールド４０１と対応している。各ACKフラグフィールド４０２は、対応するメッセージIDフィールド４０１の値がメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別する。例えば、ACKフラグフィールド４０２の値が「０」であるとき、対応するメッセージIDフィールド４０１の値が、メッセージバッファに格納されたメッセージのIDであることを意味する。この場合、ACKフラグ４０２の値が「１」であるとき、対応するメッセージIDフィールド４０１の値が、ACKメッセージのメッセージID、つまり最終的な宛先ノードに到達済みのメッセージIDであることを意味する。
【００５５】
図９は、本実施形態に係るACKを含むサマリベクタの他の構成例を示している。図９に示されたサマリベクタ４１は、ノードIDフィールド２００、Ｌ個のメッセージIDフィールド４０１、及びＬ個のデータサイズ・フィールド４０３を含む。Ｌ個のデータサイズ・フィールド４０３は、Ｌ個のメッセージIDフィールド４０１と対応している。各データサイズ・フィールド４０３は、対応するメッセージIDフィールド４０１の値がメッセージバッファに保存されたメッセージに関するものであるか、あるいはACKメッセージに関するものであるかを区別する。具体的には、データサイズ・フィールド４０３の値が有効値（ゼロより大きい有効なデータサイズ）であることは、メッセージバッファに保存されたメッセージに対応するエントリであることを示す。一方、データサイズ・フィールド４０３の値がゼロ又は無効値であることは、ACKメッセージに対応するエントリであることを示す。
【００５６】
ACKリストをサマリベクタに統合することによって、言い換えると、サマリベクタに付加された（piggybacked）ACKメッセージを用いることによって、隣接するDTNノード１間の交信手順では、ACKリストを交換する手順が不要となり、サマリベクタを交換するだけでよい。言い換えると、DTNノード１は、サマリベクタを用いたEpidemic routing等に基づくメッセージ拡散の仕組みを利用してACKメッセージ（つまり、メッセージが最終的な宛先に到達したことを示す通知）を拡散することができ、ACKメッセージを拡散するための追加の仕組み（ACKリストを交換する手順）を必要としない。したがって、隣接するDTNノード１間の交信手順を簡略化できる。
【００５７】
具体的には、DTNノード１は、以下のように動作すればよい。DTNノード１は、隣接のDTNノードから受け取ったサマリベクタ及び自身のサマリベクタが同じメッセージIDのエントリを含むが、自身のサマリベクタに示されたデータサイズが有効値であるのに対して隣接のDTNノードのサマリベクタに示されたデータサイズがゼロ又は無効値である場合、データバッファ１２に保存されていたメッセージデータを削除する。さらに、DTNノード１は、自身のサマリベクタにおける当該データのデータサイズ・フィールド４０３をゼロ又は無効値によって上書き（更新）する。このようなメッセージの更新動作によって、ACKメッセージの拡散と、到達済みメッセージのデータバッファ１２からの削除を行うことができる。
【００５８】
また、メッセージの更新（空データによる更新）の仕組みを利用することで、DTNノード１は、そのメッセージの有効期限、例えばタイムスタンプに基づく寿命、Time-To-Live（TTL）値、又はTimes-To-Send（TTS）値、を更新又はリセットすることができる利点もある。したがって、データサイズがゼロ又は無効値であることを示すサマリベクタのエントリ（つまり、ACKメッセージに相当するエントリ）が、DTN１００内に十分に拡散される前に有効期限の満了によって消去されてしまうことを防止できる。よって、ACKメッセージがDTN１００内に十分に拡散され、最終的な宛先ノードに既に到達した到達済みメッセージがDTN１００内から削除されることを促進できる。
【００５９】
図９に示したように、サマリベクタ内のデータサイズ情報をACKであるか否かを示す用途に兼用することは、サマリベクタにデータサイズ情報が含まれている場合に特に有効である。サマリベクタに含まれるデータサイズ情報は、メッセージの識別子の一部として、又はメッセージの更新の有無を示す用途として利用できる。さらに、図９の例では、データサイズ情報がACKであるか否かを示す用途にも利用されるため、図８のACKフラグフィールド等の新たなサマリベクタ構造を導入しなくてもよい利点がある。
【００６０】
＜その他の実施形態＞
上述した複数の実施形態で説明されたDTNノード１による通信手順は、コンピュータシステムにプログラムを実行させることによって実現されてもよい。具体的には、本明細書においてシーケンス図等を用いて説明したアルゴリズムをコンピュータシステムに行わせるための命令群を含む一つ又は複数のプログラムを作成し、当該プログラムをコンピュータシステムに供給すればよい。
【００６１】
このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（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）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６２】
さらに、上述した実施形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
【００６３】
この出願は、２０１４年３月４日に出願された日本出願特願２０１４−０４１４７４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００６４】
１  Disruption/Delay/Disconnect Tolerant Network（DTN）ノード
１１  無線通信部
１２  データバッファ
２０  サマリベクタ
３０  ACKリスト
４０  ACKを含むサマリベクタ
１００  Disruption/Delay/Disconnect Tolerant Network（DTN）
【図１】
2015133055.tif 000003
【図２】
2015133055.tif 000004
【図３】
2015133055.tif 000005
【図４】
2015133055.tif 000006
【図５】
2015133055.tif 000007
【図６】
2015133055.tif 000008
【図７】
2015133055.tif 000009
【図８】
2015133055.tif 000010
【図９】
2015133055.tif 000011
【手続補正書】
【提出日】平成28年6月10日(2016.6.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３５
【補正方法】変更
【補正の内容】
【請求項３５】
請求項１８〜３４のいずれか１項に記載の通信方法をコンピュータに行わせるためのプログラム。
【国際調査報告】
2015133055.tif 000012
2015133055.tif 000013