(57)【要約】Ｄｅｌａｙ−Ｔｏｌｅｒａｎｔ  ｎｅｔｗｏｒｋ（ＤＴＮ）ノード（１２）は、メモリ（３２）に結合され、ＤＴＮ（１）のためのデータ転送処理を実行するよう構成されたプロセッサ（２２）を含む。プロセッサ（２２）は、同じ宛先ノード（１４）に転送されるべき複数のバンドル（#1〜#N）をＤＴＮ（１）上で受信する（２０１）。複数のバンドル（＃３〜＃Ｎ）の各々はコンテンツのデータを分割して得られる複数のデータセグメントのいずれかを含む。プロセッサ（２２）は、ＤＴＮ（１）の通信状態に応じて、複数のバンドル（＃３〜＃Ｎ）のうち一部のバンドル（＃５〜＃Ｎ）を他のノードに転送せずに削除するか、一部のバンドル（＃５〜＃Ｎ）のペイロードのデータサイズを圧縮する（２０３）。これにより、例えば、ＤＴＮ内の局所的な通信状態に応じてＤＴＮ内で配送されるデータ量を調整できる。
2016013139.tif 000002
【特許請求の範囲】
【請求項１】
Delay-Tolerant network（DTN）で使用されるDTNノードであって、
メモリと、
前記メモリに結合され、Delay-Tolerant network（DTN）のためのデータ転送処理を実行するよう構成されたプロセッサと、
を備え、
前記データ転送処理は、
同じ宛先ノードに転送されるべき複数のバンドルを前記DTN上で受信すること、前記複数のバンドルの各々はコンテンツのデータを分割して得られる複数のデータセグメントのいずれかを含む、
前記DTNの通信状態に応じて、前記複数のバンドルのうち一部のバンドルを他のノードに転送せずに削除するか、前記一部のバンドルのペイロードのデータサイズを圧縮すること、及び
削除された前記一部のバンドルを除く残りのバンドルを、又は圧縮されたペイロードを有する前記一部のバンドルを含む前記複数のバンドルを、前記宛先ノードに送るために前記DTNに送信すること、
を備える、
DTNノード。
【請求項２】
前記圧縮することは、前記ペイロードに格納されたデータセグメントをダミーデータに置換することを含む、請求項１に記載のDTNノード。
【請求項３】
前記圧縮することは、前記ペイロードに格納されたデータセグメントを削除することを含む、請求項１に記載のDTNノード。
【請求項４】
前記データ転送処理は、前記宛先ノードに送信されるべき構成情報バンドルを受信することをさらに備え、
前記構成情報バンドルは、前記複数のバンドルの各々の属性を示す構成情報を格納しており、
前記削除すること又は前記圧縮することは、前記構成情報に基づいて前記複数のバンドルから前記一部のバンドルを選択することを含む、
請求項１〜３のいずれか１項に記載のDTNノード。
【請求項５】
前記属性は、前記DTN内の中間ノードにおける各バンドルに対する削除又は圧縮が許可されるか否かを示す、請求項４に記載のDTNノード。
【請求項６】
前記コンテンツは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツであって、Hypertext Markup Language（HTML）データと、前記HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データとを含み、
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記HTMLデータと前記資源データのいずれに該当するかを示す、
請求項４又は５に記載のDTNノード。
【請求項７】
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記資源データに含まれる画像データに該当するか否かを示す、請求項６に記載のDTNノード。
【請求項８】
前記データ転送処理は、前記一部のバンドルに対して削除又は圧縮が行われたことを示すよう前記構成情報を更新し、更新された前記構成情報を含む構成情報バンドルを前記DTNに送信することをさらに備える、請求項４〜７のいずれか１項に記載のDTNノード。
【請求項９】
前記複数のバンドルの各々は、各バンドルの属性を示す情報を含み、
前記削除すること又は前記圧縮することは、前記情報に基づいて前記複数のバンドルから前記一部のバンドルを選択することを含む、
請求項１〜３のいずれか１項に記載のDTNノード。
【請求項１０】
前記属性は、前記DTN内の中間ノードにおける各バンドルに対する削除又は圧縮が許可されるか否かを示す、請求項９に記載のDTNノード。
【請求項１１】
前記コンテンツは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツであって、Hypertext Markup Language（HTML）データと、前記HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データとを含み、
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記HTMLデータと前記資源データのいずれに該当するかを示す、
請求項９又は１０に記載のDTNノード。
【請求項１２】
前記削除すること又は前記圧縮することは、前記DTNの前記通信状態が第１のレベルを下回る場合に、前記一部のバンドルの削除又は前記一部のバンドルのペイロードの圧縮を行うことを含む、請求項１〜１１のいずれか１項に記載のDTNノード。
【請求項１３】
前記DTNの前記通信状態は、前記DTNの局所的な通信品質、及び前記複数のバンドルの前記宛先ノードへの配送の成功見込みのうち少なくとも１つを含む、請求項１〜１２のいずれか１項に記載のDTNノード。
【請求項１４】
前記データ転送処理は、
前記複数のデータセグメントの少なくとも１つをペイロードに含む第１のバンドルが前記DTN内のいずれかのノードにおいて削除されたこと、又は前記第１のバンドルの前記ペイロードが前記DTN内のいずれかのノードにおいて圧縮されたことを検出すること、及び
前記削除又は圧縮された少なくとも１つのデータセグメントに対応するデータが前記DTNノードにキャッシュされている場合に、前記キャッシュされたデータを用いて前記第１のバンドルを復元すること、及び
前記復元された第１のバンドルを前記宛先ノードに送るために前記DTNに送信すること、
をさらに備える、
請求項１〜１３のいずれか１項に記載のDTNノード。
【請求項１５】
前記復元することは、前記DTNの前記通信状態が第２のレベルを上回る場合に、前記第１のバンドルを復元することを含む、請求項１４に記載のDTNノード。
【請求項１６】
Delay-Tolerant network（DTN）内のDTNノードによって行われるデータ転送方法であって、
同じ宛先ノードに転送されるべき複数のバンドルをDelay-Tolerant network（DTN）上で受信すること、前記複数のバンドルの各々はコンテンツのデータを分割して得られる複数のデータセグメントのいずれかを含む、
前記DTNの通信状態に応じて、前記複数のバンドルのうち一部のバンドルを他のノードに転送せずに削除するか、前記一部のバンドルのペイロードのデータサイズを圧縮すること、及び
削除された前記一部のバンドルを除く残りのバンドルを、又は圧縮されたペイロードを有する前記一部のバンドルを含む前記複数のバンドルを、前記宛先ノードに送るために前記DTNに送信すること、
を備える、データ転送方法。
【請求項１７】
前記圧縮することは、前記ペイロードに格納されたデータセグメントをダミーデータに置換することを含む、請求項１６に記載のデータ転送方法。
【請求項１８】
前記圧縮することは、前記ペイロードに格納されたデータセグメントを削除することを含む、請求項１６に記載のデータ転送方法。
【請求項１９】
前記宛先ノードに送信されるべき構成情報バンドルを受信することをさらに備え、
前記構成情報バンドルは、前記複数のバンドルの各々の属性を示す構成情報を格納しており、
前記削除すること又は前記圧縮することは、前記構成情報に基づいて前記複数のバンドルから前記一部のバンドルを選択することを含む、
請求項１６〜１８のいずれか１項に記載のデータ転送方法。
【請求項２０】
前記属性は、前記DTN内の中間ノードにおける各バンドルに対する削除又は圧縮が許可されるか否かを示す、請求項１９に記載のデータ転送方法。
【請求項２１】
前記コンテンツは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツであって、Hypertext Markup Language（HTML）データと、前記HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データとを含み、
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記HTMLデータと前記資源データのいずれに該当するかを示す、
請求項１９又は２０に記載のデータ転送方法。
【請求項２２】
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記資源データに含まれる画像データに該当するか否かを示す、請求項２１に記載のデータ転送方法。
【請求項２３】
前記一部のバンドルに対して削除又は圧縮が行われたことを示すよう前記構成情報を更新し、更新された前記構成情報を含む構成情報バンドルを前記DTNに送信することをさらに備える、請求項１９〜２２のいずれか１項に記載のデータ転送方法。
【請求項２４】
前記複数のバンドルの各々は、各バンドルの属性を示す情報を含み、
前記削除すること又は前記圧縮することは、前記情報に基づいて前記複数のバンドルから前記一部のバンドルを選択することを含む、
請求項１６〜１８のいずれか１項に記載のデータ転送方法。
【請求項２５】
前記複数のデータセグメントの少なくとも１つをペイロードに含む第１のバンドルが前記DTN内のいずれかのノードにおいて削除されたこと、又は前記第１のバンドルの前記ペイロードが前記DTN内のいずれかのノードにおいて圧縮されたことを検出すること、及び
前記削除又は圧縮された少なくとも１つのデータセグメントに対応するデータが前記DTNノードにキャッシュされている場合に、前記キャッシュされたデータを用いて前記第１のバンドルを復元すること、及び
前記復元された第１のバンドルを前記宛先ノードに送るために前記DTNに送信すること、
をさらに備える、
請求項１６〜２４のいずれか１項に記載のデータ転送方法。
【請求項２６】
請求項１６〜２５のいずれか１項に記載の方法をコンピュータに行わせるためのプログラムを格納した非一時的なコンピュータ可読媒体。
【請求項２７】
Delay-Tolerant network（DTN）で使用されるDTNノードであって、
メモリと、
前記メモリに結合され、Delay-Tolerant network（DTN）のためのデータ送信処理を実行するよう構成されたプロセッサと、
を備え、
前記データ送信処理は、
前記DTN内の宛先ノードに送られるべきコンテンツのデータを複数のデータセグメントに分割すること、
前記複数のデータセグメントのいずれかを格納したペイロードを各々有する複数のバンドルを生成すること、
前記複数のバンドルの各々の属性を示す構成情報を格納した構成情報バンドルを生成すること、及び
前記コンテンツを前記宛先ノードに送るために、前記複数のバンドル及び前記構成情報バンドルを前記Delay-Tolerant network（DTN）に送信すること、
を備える、
DTNノード。
【請求項２８】
前記属性は、前記DTN内の中間ノードにおいて各バンドルの前記ペイロードのデータサイズを圧縮することが許可されるか否かを示す、請求項２７に記載のDTNノード。
【請求項２９】
前記圧縮は、前記ペイロードに格納されたデータセグメントをダミーデータに置換することにより行われる、請求項２８に記載のDTNノード。
【請求項３０】
前記圧縮は、前記ペイロードに格納されたデータセグメントを削除することにより行われる、請求項２８に記載のDTNノード。
【請求項３１】
前記属性は、前記DTN内の中間ノードにおいて各バンドルを他のノードに転送せずに削除することが許可されるか否かを示す、請求項２７〜３０のいずれか１項に記載のDTNノード。
【請求項３２】
前記コンテンツは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツであって、Hypertext Markup Language（HTML）データと、前記HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データとを含み、
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記HTMLデータと前記資源データのいずれに該当するかを示す、
請求項２７〜３１のいずれか１項に記載のDTNノード。
【請求項３３】
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記資源データに含まれる画像データに該当するか否かを示す、請求項３２に記載のDTNノード。
【請求項３４】
Delay-Tolerant network（DTN）内のDTNノードによって行われるデータ送信方法であって、
Delay-Tolerant network（DTN）内の宛先ノードに送られるべきコンテンツのデータを複数のデータセグメントに分割すること、
前記複数のデータセグメントのいずれかを格納したペイロードを各々有する複数のバンドルを生成すること、
前記複数のバンドルの各々の属性を示す構成情報を格納した構成情報バンドルを生成すること、及び
前記コンテンツを前記宛先ノードに送るために、前記複数のバンドル及び前記構成情報バンドルを前記DTNに送信すること、
を備える、データ送信方法。
【請求項３５】
前記属性は、前記DTN内の中間ノードにおいて各バンドルの前記ペイロードのデータサイズを圧縮することが許可されるか否かを示す、請求項３４に記載のデータ送信方法。
【請求項３６】
前記属性は、前記DTN内の中間ノードにおいて各バンドルを他のノードに転送せずに削除することが許可されるか否かを示す、請求項３４又は３５に記載のデータ送信方法。
【請求項３７】
前記コンテンツは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツであって、Hypertext Markup Language（HTML）データと、前記HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データとを含み、
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記HTMLデータと前記資源データのいずれに該当するかを示す、
請求項３４〜３６のいずれか１項に記載のデータ送信方法。
【請求項３８】
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記資源データに含まれる画像データに該当するか否かを示す、請求項３７に記載のデータ送信方法。
【請求項３９】
請求項３４〜３８のいずれか１項に記載の方法をコンピュータに行わせるためのプログラムを格納した非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書の開示は、Delay/Disruption/Disconnect Tolerant Network（DTN）に関し、特にDTN内でのデータ配送に関する。
【背景技術】
【０００２】
Delay Tolerant Networkは、複数の通信ノードを含む無線マルチホップ・ネットワークである。Delay Tolerant Networkは、Disruption Tolerant Networkと呼ぶこともでき、Disconnect Tolerant Networkと呼ぶこともできる。本明細書では、Delay/Disruption/Disconnect Tolerant Network を総称してDTNと表記する。DTNは、一時的な又は断続的な通信途絶が発生することを前提としている。言い換えると、DTNは、少なくともある時点において、送信元ノードと宛先ノードの間に安定した通信パスが存在しないことを前提としている。一時的な又は断続的な通信途絶に対処するために、DTN内の各ノード（以下、DTNノードと呼ぶ）はストア・アンド・フォワード動作を行う。DTNは、複数のDTNノードが自律的にデータのバンドル（bundles）を中継し合うことで、送信元ノードと宛先ノードの間でのデータ配送を実現する。【０００３】
バンドルは、バンドルプロトコルのprotocol data unit（PDU）である。バンドルプロトコル（バンドル層）は、Open Systems Interconnection（OSI）参照モデルにおいてアプリケーション層とトランスポート層の間に位置し、DTNに必要なストア・アンド・フォワード方式の通信を提供する。バンドル（bundles）の送信元ノード及び宛先ノードの一方又は両方は、DTNに属するノード（DTNノード）であってもよいし、他のネットワーク（例えば、インターネット）に属するノードであってもよい。送信元ノード及び宛先ノードの一方又は両方が他のネットワークに属するノードである場合、いずれかのDTNノードは、DTNと他のネットワークの間でコンテンツを中継するゲートウェイ又はプロキシとして動作する。【０００４】
特許文献１は、DTNとInternet Protocol（IP）ネットワークの境界に配置されるプロキシノードを開示している。特許文献１に開示されたプロキシノードは、例えばHypertext Transfer Protocol（HTTP）トランザクション（webトランザクション）に関するIPパケット（IP packets）をHTTPサーバから受信し、これらのIPパケットをペイロードに収容したバンドル（bundles）を生成し、これらのバンドルをDTN内の宛先ノードに送るためにDTNに送信する。【０００５】
特許文献２は、キャッシュ機能を持つDTNノードを開示している。特許文献２に開示されたDTNノードは、DTN内で配送されるバンドルのペイロードに含まれているデータ（コンテンツ）をキャッシュする。そして当該DTNノードは、キャッシュされているコンテンツのリストを他のDTNノードと交換し、これによりDTN内の複数のDTNノードにキャッシュされているコンテンツを把握する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２０１３／０１１１０５３号明細書
【特許文献２】特開２００８−２０５８９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
DTNは、一時的な又は断続的な通信途絶を前提としている。したがって、DTNの通信状態は、ネットワーク全体で一様ではなく、局所的に異なることが多い。また、DTNの通信状態は、時間的な変動も大きい。なお、DTNの通信状態は、例えば、通信品質（例えば、Received Signal Strength Indicator（RSSI））、Signal to Noise ratio（SNR）、Bit Error Rate（BER）、スループット）である。また、DTNの通信状態は、バンドルの配送確率（Delivery Predictability）であってもよい。バンドルの配送確率は、Probabilistic Routing Protocol using History of Encounters and Transitivity（PROPHET）等のDTNのためのルーティングプロトコルにおいて使用されるメトリックである。Delivery Predictability，P(A,B)は、DTNノードAがDTNノードBにバンドルを配送できる確率を示す。【０００８】
DTNの通信状態（例えば、通信品質又は配送確率）が局所的に低下している場合、大量のデータ（又は多数のバンドル）を宛先ノードに配送することを失敗することは困難であるかもしれない。また、配送できたとしても、配送完了までに多くの時間を必要とするかもしれない。この問題に対処する一案として、例えば、プロキシ又はゲートウェイは、DTNに送信するコンテンツのサイズを削減すること（例えば、画像データ又は動画データの圧縮、一部のデータの削除）が考えられる。無線ネットワークのためのデータ圧縮に関しては、インターネットからセルラ通信ネットワークへのゲートウェイにおいて、画像データを圧縮することなどが行われている。【０００９】
しかしながら、このセルラ通信ネットワークの例は、無線ネットワーク内の通信品質の局所的なばらつきが小さいか、ゲートウェイにおいて無線ネットワークの品質を適切に逐次的に把握できることを前提としている。これに対して、既に述べたように、DTNでは、通信状態がネットワーク内で局所的に且つ時間的に大きく異なる。さらに述べると、DTNは、送信元ノードと宛先ノードの間に安定したend-to-endの通信パスが存在しないことを前提としているため、DTN内の局所的な通信状態（例えば、通信品質又は配送確率）をプロキシ又はゲートウェイにおいてタイムリーに的確に把握することは困難である。このため、DTNのプロキシ又はゲートウェイにおいて適切なデータ圧縮率を判断することは容易ではない。したがって、例えば、DTNのプロキシ又はゲートウェイは、想定される最低の通信品質を想定して、大きなデータ圧縮率を適用せざるを得ないかもしれない。【００１０】
したがって、本明細書に開示される実施形態が達成しようとする目的の１つは、DTN内の局所的な通信状態に応じてDTN内で配送されるデータ量を調整できるようにするために改良されたDTNノード、方法、及びプログラムを提供することである。その他の目的又は課題と新規な特徴は、本明細書の記述又は添付図面から明らかにされる。
【課題を解決するための手段】
【００１１】
一実施形態では、DTNノードは、メモリと、前記メモリに結合され、DTNのためのデータ転送処理を実行するよう構成されたプロセッサを含む。前記データ転送処理は、
（ａ）同じ宛先ノードに転送されるべき複数のバンドルを前記DTN上で受信すること、前記複数のバンドルの各々はコンテンツのデータを分割して得られる複数のデータセグメントのいずれかを含む、
（ｂ）前記DTNの通信状態に応じて、前記複数のバンドルのうち一部のバンドルを他のノードに転送せずに削除するか、前記一部のバンドルのペイロードのデータサイズを圧縮すること、及び
（ｃ）削除された前記一部のバンドルを除く残りのバンドルを、又は圧縮されたペイロードを有する前記一部のバンドルを含む前記複数のバンドルを、前記宛先ノードに送るために前記DTNに送信すること、
を含む。【００１２】
一実施形態では、DTNノードによるデータ転送方法は、
（ａ）同じ宛先ノードに転送されるべき複数のバンドルをDTN上で受信すること、前記複数のバンドルの各々はコンテンツのデータを分割して得られる複数のデータセグメントのいずれかを含む、
（ｂ）前記DTNの通信状態に応じて、前記複数のバンドルのうち一部のバンドルを他のノードに転送せずに削除するか、前記一部のバンドルのペイロードのデータサイズを圧縮すること、及び
（ｃ）削除された前記一部のバンドルを除く残りのバンドルを、又は圧縮されたペイロードを有する前記一部のバンドルを含む前記複数のバンドルを、前記宛先ノードに送るために前記DTNに送信すること、
を含む。【００１３】
一実施形態では、プログラムは、上述したデータ転送方法をコンピュータに行わせるための命令群を含む。【００１４】
一実施形態では、DTNノードは、メモリと、前記メモリに結合され、DTNのためのデータ送信処理を実行するよう構成されたプロセッサを含む。前記データ送信処理は、
（ａ）前記DTN内の宛先ノードに送られるべきコンテンツのデータを複数のデータセグメントに分割すること、
（ｂ）前記複数のデータセグメントのいずれかを格納したペイロードを各々有する複数のバンドルを生成すること、
（ｃ）前記複数のバンドルの各々の属性を示す構成情報を格納した構成情報バンドルを生成すること、及び
（ｄ）前記コンテンツを前記宛先ノードに送るために、前記複数のバンドル及び前記構成情報バンドルを前記Delay-Tolerant network（DTN）に送信すること、
を含む。【００１５】
一実施形態では、DTNノードによるデータ送信方法は、
（ａ）DTN内の宛先ノードに送られるべきコンテンツのデータを複数のデータセグメントに分割すること、
（ｂ）前記複数のデータセグメントのいずれかを格納したペイロードを各々有する複数のバンドルを生成すること、
（ｃ）前記複数のバンドルの各々の属性を示す構成情報を格納した構成情報バンドルを生成すること、及び
（ｄ）前記コンテンツを前記宛先ノードに送るために、前記複数のバンドル及び前記構成情報バンドルを前記Delay-Tolerant network（DTN）に送信すること、
を含む。【００１６】
一実施形態では、プログラムは、上述したデータ送信方法をコンピュータに行わせるための命令群を含む。
【発明の効果】
【００１７】
上述の実施形態によれば、DTN内の局所的な通信状態に応じてDTN内で配送されるデータ量を調整できるようにするために改良されたDTNノード、方法、及びプログラムを提供できる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施形態に係るDTNの構成の一例を示すブロック図である。
【図２】第１の実施形態に係るDTNのプロトコルスタックの一例を示す図である。
【図３】第１の実施形態に係るDTNノード（プロキシノード）によるバンドル生成手順の一例を示すフローチャートである。
【図４】第１の実施形態に係るDTNノード（中間ノード）によるバンドル削除又はペイロード圧縮の手順の一例を示すフローチャートである。
【図５】第１の実施形態に係るDTNノード（中間ノード）によるバンドル復元手順の一例を示すフローチャートである。
【図６】第１の実施形態に係るDTNノード（プロキシノード）によるバンドル生成手順の一例を示す図である。
【図７】第１の実施形態に係るDTNノード（中間ノード）によるバンドル削除又はペイロード圧縮の手順の一例を示す図である。
【図８】第１の実施形態に係るDTNノード（中間ノード）によるバンドル復元手順の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下では、具体的な実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００２０】
＜第１の実施形態＞
図１は、本実施形態に係るDelay/Disruption/Disconnect Tolerant Network（DTN）１の構成例の一例を示すブロック図である。図１に示されたDTN１は、４つのDTNノード１１〜１４を含む。なお、図１に示されたDTN１に含まれるDTNノード数は一例である。DTN１は、３以下のDTNノードのみを含んでもよいし、５以上のDTNノードを含んでもよい。
【００２１】
DTNノード１１〜１４は、自律的にバンドル（bundles）を中継し合うことで、送信元ノードと宛先ノードの間でのメッセージ配信を実現する。DTNノード１１〜１２は、プロセッサ２１〜２４、及びメモリ３１〜３４をそれぞれ有する。メモリ３１〜３４は、DTN１において配送されるバンドルを一時的に保持するために利用され、バンドルのストア・アンド・フォワード動作に寄与する。メモリ３１〜３４は、プロセッサ２１〜２４により実行されるソフトウェアを格納するために利用されてもよい。メモリ３１〜３４の各々は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。揮発性メモリは、例えば、static random access memory（SRAM）若しくはdynamic RAM（DRAM）又はこれらの組み合わせである。不揮発性メモリは、例えば、マスクread only memory（MROM）、programmable ROM（PROM）、フラッシュメモリ、若しくはハードディスクドライブ、又はこれらの組合せである。
【００２２】
プロセッサ２１〜２４は、メモリ３１〜３４にそれぞれ結合されている。プロセッサ２１〜２４は、様々なソフトウェア（コンピュータプログラム）を実行することにより、バンドル（bundles）の転送を担うバンドルルータとして動作する。すなわち、プロセッサ２１〜２４は、バンドルの生成、バンドルのルーティング及びフォワーディング、バンドルバッファとしてのメモリ３１〜３４の管理（バンドルの格納、バンドルの削除）等を行う。プロセッサ２１〜２４の各々は、１又は複数のプロセッサを含んでもよい。プロセッサ２１〜２４の各々は、例えば、Digital Signal Processor（DSP）、マイクロプロセッサ、Micro-Processing Unit（MPU）、若しくはCentral Processing Unit（CPU）、又はこれらの組み合わせであってもよい。
【００２３】
ここでは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツが、IPネットワーク５内のwebサーバからDTNノード１４にDTN１を経由して送信されるケースを想定する。図１に示されているように、DTNノード１１は、DTN１とIPネットワーク５の境界に位置する。DTNノード１１は、DTN１とIPネットワーク５の間でデータを転送するゲートウェイとして動作する。DTNノード１１は、さらに、DTNノード１４の代理でwebサーバ５１との間でwebトランザクション（HTTPトランザクション）を実行するプロキシ（webプロキシ）として動作する。
【００２４】
図１に示されたDTNノード１１〜１４は、DTNノード１４によるwebコンテンツの取得のために以下のように動作する。まず、DTNノード１４は、webコンテンツを要求するためのメッセージを格納したペイロードを有するバンドル（要求バンドル）を送信する。当該要求バンドルの宛先は、DTNノード１４である。DTNノード１４は、webコンテンツを要求するために、HTTPを利用してもよいし、他のプロコトル、例えばDTNのための特別なコンテンツ要求プロトコルを利用してもよい。DTNノード１４から送信された要求バンドルは、DTNノード１２及び１３を経由してDTNノード１１に到達する。すなわち、DTNノード１２及び１３は、要求バンドルの配送に寄与する中間ノードとして動作する。
【００２５】
プロキシとしてのDTNノード１１は、DTNノード１４からの要求バンドルの受信に応答して、webサーバ５１との間でHTTPトランザクション（transactions）を行う。当該HTTPトランザクションは、一般的に、複数のHTTPリクエストの送信と、複数のHTTPレスポンスの受信を含む。すなわち、プロキシとしてのDTNノード１１は、最初にHypertext Markup Language（HTML）データを要求するためのHTTPリクエストを送信し、HTMLデータを包含したHTTPレスポンスを受信する。次に、DTNノード１１は、受信したHTMLデータを解析し、HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データ（例えば、画像、音声、動画）を取得するために追加の１又は複数のHTTPリクエストを送信する。追加の１又は複数のHTTPリクエストの宛先は、webサーバ５１とは異なる他のサーバであってもよい。さらに、DTNノード１１は、追加の１又は複数のHTTPリクエストに対して返送された１又は複数のHTTPレスポンスを受信し、これにより資源データ（例えば、画像、音声、動画）を取得する。
【００２６】
さらに、DTNノード１１は、webコンテンツ、つまりHTMLデータ及び資源データ（例えば、画像、音声、動画）、をDTNノード１４に送信するために、複数のバンドル（応答バンドル）を生成する。複数の応答バンドルのペイロードは、webコンテンツを分割して得られるデータセグメントを格納している。複数の応答バンドルは、DTNノード１１から送信され、中間ノード（つまり、DTNノード１２及び１３）を経由してDTNノード１４に到達する。DTNノード１４は、受信した応答バンドルからwebコンテンツ（HTMLデータ及び資源データ）を取り出して利用する。
【００２７】
なお、よく知られているように、一般的なwebプロキシは、過去のwebアクセスの際に取得したwebコンテンツをキャッシュし、次回以降のwebアクセスの際にはキャッシュされたwebコンテンツを返信することができる。したがって、プロキシとしてのDTNノード１１も、過去のwebアクセスの際に取得したwebコンテンツをメモリ３１にキャッシュしておき、DTNノード１４からの要求に応答して、キャッシュされたwebコンテンツをDTNノード１４に送信してもよい。
【００２８】
図２は、DTN１のプロトコルスタックの一例を示す図である。バンドルプロトコル・エージェント・ソフトウェア６１〜６４は、DTNノード１１〜１４のプロセッサ２１〜２４において実行され、バンドルプロトコルに基づくストア・アンド・フォワード方式の通信をプロセッサ２１〜２４に行わせる。バンドルプロトコルは、ストア・アンド・フォワード方式の通信に必要な、バンドル（PDU）のフォーマットを規定する。さらに、バンドルプロトコルは、バンドルのルーティングアルゴリズム、及びバンドルバッファの管理等を規定指定もよい。DTNのためのバンドル・ルーティングアルゴリズムとしては、Epidemic routing、Spray and Wait、PROPHET等が知られている。これらのルーティングアルゴリズムでは、各DTNノードは、サマリベクタと呼ばれる情報を管理する。サマリベクタは、各DTNノードのバンドルバッファに保存されているバンドルの識別子を示す。各DTNノードは、隣接DTNノードとの交信において、互いのサマリベクタを交換し、自身が保有していないバンドルを特定し、特定したバンドルを隣接DTNノードから取得する。
【００２９】
HTTPプロキシ・ソフトウェア７１は、DTNノード１１のプロセッサ２１において実行され、HTTPプロキシ処理をプロセッサ２１に行わせる。HTTPプロキシ処理は、HTTPクライアント・ソフトウェア７４との通信、HTTPサーバ・ソフトウェア７５との通信、及びwebコンテンツのキャッシュを含む。
【００３０】
HTTPクライアント・ソフトウェア７４は、DTNノード１４のプロセッサ２４において実行され、HTTPに基づくwebアクセス（webコンテンツの取得）をプロセッサ２４に行わせる。なお、既に述べたように、DTNノード１４によるwebコンテンツの取得は、HTTPとは異なるプロトコル（例えば、DTNのための特別なコンテンツ要求プロトコル）を利用して行われてもよい。
【００３１】
続いて以下では、DTNノード１１におけるバンドル生成動作と、中間ノード（つまり、DTNノード１２及び１３）におけるバンドルの中継動作の具体例について説明する。図３は、DTNノード１１によって行われるバンドル生成手順の一例を示すフローチャートである。図３の手順は、プロセッサ２１がバンドルプロトコル・エージェント・ソフトウェア６１を実行することにより、プロセッサ２１によって行われる。
【００３２】
ステップＳ１１では、DTNノード１１（つまり、プロセッサ２１）は、DTN内の宛先ノード（例えば、DTNノード１４）に送られるべきコンテンツ（例えば、webコンテンツ）のデータを複数のデータセグメントに分割する。複数のデータセグメントは、同じ異なるデータサイズであってもよい。ステップＳ１２では、DTNノード１１は、これら複数のデータユニットのいずれかを格納したペイロードを各々有する複数のバンドルを生成する。
【００３３】
ステップＳ１３では、DTNノード１１は、ステップＳ１２で生成される複数のバンドルの各々の属性を示す構成情報を格納した構成情報バンドルを生成する。当該構成情報、又はこれに格納された各バンドルの属性は、後述する中間ノード（つまり、DTNノード１２及び１３）におけるバンドルの削除又はペイロードの圧縮の対象とされるべきバンドルを選択するために利用される。一例において、各バンドルの属性は、DTN１内の中間ノードにおける各バンドルに対するバンドル削除又はペイロード圧縮が許可されるか否かを示してもよい。一例において、各バンドルの属性は、ペイロードに格納されたデータセグメント（つまり、コンテンツの断片）の種別を示してもよい。具体的には、各バンドルの属性は、ペイロードに格納されたデータセグメントがHTMLデータと資源データ（例えば、画像、音声、動画）のいずれに該当するかを示してもよい。各バンドルの属性は、さらに、ペイロードに格納されたデータセグメントが複数の資源データ種別（例えば、画像、音声、動画）のいずれに該当するかを示してもよい。
【００３４】
構成情報は、さらに、１つのコンテンツ（例えば、HTMLデータ及び資源データから構成されるwebコンテンツ）に関する複数のデータセグメントを運ぶ複数のバンドルを特定するための情報を含んでもよい。具体的には、構成情報は、複数のバンドルの各々の識別子（バンドルID）を指定してもよい。
【００３５】
構成情報は、さらに、DTN１内の中間ノード（つまり、DTNノード１２及び１３）においてバンドルの削除又はペイロードの圧縮がされたことに応じて、当該中間ノードにおいて書き換えられてもよい。バンドル又はそのペイロードが改造は、バンドルの削除、ペイロードの削除、及びペイロードデータの書き換えのうち少なくとも１つを含む。具体的には、中間ノードは、削除又はペイロード圧縮の対象とされたバンドルのバンドルIDを構成情報に記録してもよい。これにより、他のDTNノードは、DTN１内のいずれかのノードにおいて削除又はペイロード圧縮の対象とされたバンドルを特定することができる。
【００３６】
図３に戻り説明を続ける。ステップＳ１４では、DTNノード１１は、コンテンツのデータセグメントを運ぶ複数のバンドル、及び構成情報バンドルを、DTNノード１４に送るためにDTN１に送信する。
【００３７】
図４は、中間ノード（DTNノード１２及び１３）におけるバンドル削除又はペイロード圧縮の手順の一例を示すフローチャートである。図４の手順は、プロセッサ２２又は２３がバンドルプロトコル・エージェント・ソフトウェア６２又は６３を実行することにより、プロセッサ２２又は２３によって行われる。
【００３８】
ステップＳ２１では、DTNノード１２（１３）は、同じ宛先ノード（DTNノード１４）に転送されるべき複数のバンドルをDTN１上で受信する。これら複数のバンドルは、図３を用いて説明されたコンテンツのデータセグメントを運ぶ複数のバンドル、及び構成情報バンドルを含む。
【００３９】
ステップＳ２２では、DTNノード１２（１３）は、DTN１の通信状態に応じて、複数のバンドルのうち一部のバンドルを他のノードに転送せずに削除するか、一部のバンドルのペイロードのデータサイズを圧縮する。一例において、ペイロードのデータサイズの圧縮は、ペイロードに格納されたデータセグメントをダミーデータに置換することにより行われてもよい。ダミーデータのデータサイズは、十分に小さいサイズ（例えば、ゼロ）であればよい。他の例において、ペイロードのデータサイズの圧縮は、ペイロードに格納されたデータセグメントを削除することにより行われてもよい。さらに他の例において、ペイロードのデータサイズの圧縮は、ペイロードに格納されたデータセグメントが画像、音声、動画などの圧縮可能なデータである場合に、データセグメントに対する圧縮処理を行ってもよい。
【００４０】
ステップＳ２２において、DTN１の通信状態は、DTN１の局所的な通信品質、及び複数のバンドルの宛先ノード（DTNノード１４）への配送の成功見込み（配送確率（Delivery Predictability））のうち少なくとも１つを含んでもよい。また、DTN１の通信状態は、DTN１の局所的な通信品質又は配送確率の履歴、言い換えると過去の通信品質又は配送確率を含んでもよい。一般的に、通信品質又は配送確率の計測値は、過去の通信結果の履歴を観測することで得られるものであるためである。さらに、DTN１の通信品質が周期的に（例えば特定の時間又は曜日に）劣化する場合に対処するために、DTN１の通信状態は、通信品質の周期的な変化を検出できる程度に長いDTN１の通信品質の履歴を含んでもよい。
【００４１】
DTN１の局所的な通信品質は、例えば、中間ノード（DTNノード１２又は１３）におけるRSSI、SNR、BER、又はスループットを用いて評価されてもよい。すなわち、中間ノードとしてのDTNノード１２又は１３は、自身が把握している現在又は過去のDTN１の局所的な通信品質若しくは配送確率（Delivery Predictability）が低いために、複数のバンドル全てを適切に宛先ノードに配送することが困難と判断した場合に、複数のバンドルの一部を削除または圧縮するとよい。DTNノード１２又は１３は、例えば、自身が把握している現在又は過去のDTN１の局所的な通信品質又は配送確率（Delivery Predictability）が所定の閾値レベルを下回る場合に、複数のバンドルの一部を削除または圧縮してもよい。
【００４２】
ステップＳ２２において、中間ノード（DTNノード１２又は１３）は、構成情報バンドルにより格納された構成情報が示すバンドルの属性に基づいて、削除又は圧縮の対象とされるべきバンドルを決定してもよい。一例において、中間ノード（DTNノード１２又は１３）は、バンドル削除又はペイロード圧縮がバンドル属性において許可されているバンドルを削除又は圧縮の対象としてもよい。他の例において、中間ノード（DTNノード１２又は１３）は、構成情報バンドル及びHTMLデータを格納しているバンドルを除く他のバンドル、つまり画像および動画等の資源データを格納しているバンドル、を削除又は圧縮の対象としてもよい。言い換えると、中間ノード（DTNノード１２又は１３）は、構成情報バンドルによって示される各バンドルの属性に基づいて、各バンドルのペイロードに格納されたデータの重要性を判断してもよい。そして、中間ノード（DTNノード１２又は１３）は、相対的に重要性の高いデータ（例えば、構成情報及びHTMLデータ）を運ぶバンドルを削除又は圧縮の対象から除外し、相対的に重要性の低いデータ（例えば、画像及び動画等の資源データ）を運ぶバンドルを削除又は圧縮の対象とすればよい。
【００４３】
ステップＳ２２では、中間ノード（DTNノード１２又は１３）は、削除又はペイロード圧縮の対象とされたバンドルのバンドルIDを構成情報に記録してもよい。これにより、他のDTNノードは、DTN１内のいずれかのノードにおいて削除又はペイロード圧縮の対象とされたバンドルを特定することができる。
【００４４】
ステップＳ２３では、DTNノード１２（１３）は、削除された一部のバンドルを除く残りのバンドルを、又は圧縮されたペイロードを有する一部のバンドルを含む複数のバンドルを、宛先ノード（DTNノード１４）に送るためにDTN１に送信する。
【００４５】
図５は、中間ノード（DTNノード１２及び１３）におけるバンドル復元手順の一例を示すフローチャートである。図５の手順は、プロセッサ２２又は２３がバンドルプロトコル・エージェント・ソフトウェア６２又は６３を実行することにより、プロセッサ２２又は２３によって行われる。
【００４６】
ステップＳ３１では、DTNノード１３（１２）は、同じ宛先ノード（DTNノード１４）に転送されるべき複数のバンドルをDTN１上で受信する。これら複数のバンドルは、図３を用いて説明されたコンテンツのデータセグメントを運ぶ複数のバンドル、及び構成情報バンドルを含む。なお、データセグメントを運ぶ複数のバンドルの一部は、図４を用いて説明された手順に従って他の中間ノードにおいて削除又は圧縮が施されているかもしれないことに留意するべきである。
【００４７】
ステップＳ３２では、DTNノード１３（１２）は、コンテンツ配送に関するバンドルがDTN１内のいずれかのノードにおいて削除されたこと、又は当該バンドルのペイロードがDTN１内のいずれかのノードにおいて圧縮されたことを検出する。当該検出は、例えば、構成情報バンドルに記録されている削除又は圧縮の対象とされたバンドルのバンドルIDを参照することによって行われてもよい。
【００４８】
ステップＳ３３では、DTNノード１３（１２）は、削除又は圧縮された少なくとも１つのデータセグメントに対応するデータが自身のメモリ３３（３２）にキャッシュされている場合に、削除又は圧縮される前の元のバンドルをキャッシュされたデータを用いて復元する。
【００４９】
ステップＳ３３では、DTNノード１３（１２）は、バンドルの復元を行うか否かをDTN１の通信状態に基づいて判定してもよい。すなわち、DTNノード１３（１２）は、自身が把握している局所的な通信品質又は配送確率（Delivery Predictability）が高いために、復元後のバンドルを含む複数のバンドルを適切に宛先ノードに配送出来る確率が高いと判断した場合に、削除又は圧縮される前の元のバンドルをキャッシュされたデータを用いて復元するとよい。DTNノード１３（１２）は、例えば、自身が把握しているDTN１の局所的な通信品質又は配送確率（Delivery Predictability）が所定の閾値レベルを上回る場合に、バンドルの復元を行ってもよい。
【００５０】
ステップＳ３４では、DTNノード１３（１２）は、復元されたバンドルを含む複数のバンドルを、宛先ノード（DTNノード１４）に送るためにDTN１に送信する。
【００５１】
続いて以下では、図３〜図５を用いて説明されたDTNノードの動作の具体例を図６〜図８を参照しながら説明する。図６は、DTNノード１１によって行われるバンドル生成動作の具体例を示している。図６の例では、webコンテンツ１０１は、HTMLデータ、画像A及びB、並びに動画Cから構成される。DTNノード１１は、webコンテンツ１０１を複数のデータセグメントに分割し、複数のバンドル１０３を生成する（１０２）。複数のバンドル１０３は、（Ｎ−２）個のバンドル＃３〜＃Ｎを含む。次に、DTNノード１１は、webコンテンツ１０１を運ぶ複数のバンドル１０３の構成情報１０５を作成する（１０４）。構成情報１０５は、複数のバンドル１０３の各々の属性を示す。構成情報１０５は、複数のバンドル１０３を特定するための情報を含んでもよい。具体的には、構成情報１０５は、複数のバンドル１０３の各々の識別子（バンドルID）を指定してもよい。さらに、DTNノード１１は、構成情報１０５を運ぶ構成情報バンドルを生成する（１０５）。図６の例では、構成情報１０５は、２つのセグメントに分割されて、バンドル＃１及び＃２のペイロードに格納される。そして、DTNノード１１は、構成情報１０５を運ぶ構成情報バンドル＃１及び＃２とwebコンテンツ１０１を運ぶバンドル＃３〜＃Ｎを含むＮ個のバンドルを、DTNノード１４に送るためにDTN１に送信する（１０７）。
【００５２】
図７は、DTNノード１２によって行われるバンドル削除又はペイロード圧縮の具体例を示している。図７の例では、DTNノード１２は、Ｎ個のバンドル＃１〜＃１０をDTNノード１１から受信する（２０１）。次に、DTNノード１２は、構成情報バンドル＃１及び＃２から構成情報２０２を取り出す。DTNノード１２は、構成情報２０２を参照して、資源データ（つまり、画像A及びB並びに動画C）を運ぶバンドル＃５〜＃Ｎの削除、又はこれらのペイロードの圧縮を実行する（２０３）。そして、DTNノード１２は、削除された一部のバンドル＃５〜＃Ｎを除く残りのバンドル＃１〜＃４を、又は圧縮されたペイロードを有する一部のバンドル＃５〜＃Ｎを含むバンドル＃１〜＃Ｎを、DTNノード１４に送るためにDTN１に送信する（２０４）。
【００５３】
図８は、DTNノード１３によって行われるバンドル復元手順の具体例を示している。図８の例では、DTNノード１３は、削除された一部のバンドル＃５〜＃Ｎを除く残りのバンドル＃１〜＃４を、又は圧縮されたペイロードを有する一部のバンドル＃５〜＃Ｎを含むバンドル＃１〜＃ＮをDTNノード１２から受信する（３０１）。次に、DTNノード１３は、構成情報バンドル＃１及び＃２から構成情報３０２を取り出す。構成情報３０２は、バンドル＃５〜＃ＮがDTNノード１２によって削除又は圧縮されたことを記録している。図８の例では、DTNノード１３は、webコンテンツ１０１の断片に相当する画像Aをメモリ３３内にキャッシュしている。したがって、DTNノード１３は、キャッシュされている画像Aを用いて、バンドル＃５及び＃６を復元する（３０３）。そして、DTNノード１３は、削除された一部のバンドル＃７〜＃Ｎを除く残りのバンドル＃１〜＃６を、又は圧縮されたペイロードを有する一部のバンドル＃７〜＃Ｎを含むバンドル＃１〜＃Ｎを、DTNノード１４に送るためにDTN１に送信する（３０４）。
【００５４】
以上の説明から理解されるように、本実施形態では、宛先ノード（例えば、DTNノード１４）へのDTNバンドルの配送に関与する中間ノード（例えば、DTNノード１２又は１３）は、コンテンツ（例えば、webコンテンツ）のデータを分割して得られる複数のデータセグメントを運ぶ複数のバンドルを受信する。そして、当該中間ノードは、DTN１の通信状態に応じて、これら複数のバンドルのうち一部のバンドルを他のノードに転送せずに削除するか、これら一部のバンドルのペイロードのデータサイズを圧縮するよう構成されている。これにより、中間ノード（例えば、DTNノード１２又は１３）は、自身が把握しているDTN１内の局所的な通信状態に基づいて、DTN１内に送信するデータ量を削減できる。したがって、本実施形態は、DTN１内の局所的な通信状態に応じてDTN１内で配送されるデータ量を調整することができる。
【００５５】
一例において、本実施形態にて説明されたように、DTNノード１１は、複数のDTNバンドルの属性を示す構成情報を格納した構成情報バンドルを生成して送信してもよい。さらに、構成情報バンドルは、中間ノードにおいて削除又は圧縮の対象とされたバンドルの識別子を記録してもよい。これにより、DTN１内の中間ノード（例えば、DTNノード１２又は１３）及び宛先ノード（例えば、DTNノード１４）は、削除又は圧縮の対象としてもよいバンドルを容易に把握することができる。さらに、DTN１内の中間ノード（例えば、DTNノード１２又は１３）及び宛先ノード（例えば、DTNノード１４）は、他のDTNノードによって削除又は圧縮されたバンドルを容易に把握することができる。特に、削除されたバンドルを容易に把握することができる。
【００５６】
一例において、本実施形態にて説明されたように、DTN１内の中間ノード（例えば、DTNノード１２又は１３）は、自身にてキャッシュされているデータを用いて、他のDTNノードによって削除又は圧縮されたバンドルを復元してもよい。この復元は、DTN１の局所的な通信状態が良好であることを条件として行われるとよい。これにより、DTN１内のある区間の通信品質が局所的に悪いために失われた又は劣化したコンテンツを事後的に復元することができる。
【００５７】
＜その他の実施形態＞
第１の実施形態では、DTNバンドルの属性を示す構成情報を運ぶ構成情報バンドルを生成する例について説明した。しかしながら、DTNノード１１は、構成情報バンドルを生成しなくてもよい。例えば、DTNノード１１は、コンテンツの断片（データセグメント）をペイロードに格納している複数のバンドルの各々の属性を各バンドルのヘッダに記録してもよい。
【００５８】
第１の実施形態で説明されたバンドルの復元は、行われなくてもよい。例えば、各DTNノードがコンテンツのキャッシュを行わないアーキテクチャを採用したDTNでは、バンドルの復元は行われなくてもよい。
【００５９】
第１の実施形態では、DTNノード１１がwebプロキシとして動作し、webコンテンツを運ぶための複数のバンドルを生成する例を示した。しかしながら、第１の実施形態で説明された技術思想の適用先は、webアクセスの例に限定されないことはもちろんである。DTNノード１１は、プロキシでなくてもよい。第１の実施形態で説明された技術思想は、DTN内の送信元ノードから宛先ノードにコンテンツを送信する場合に広く適用できる。
【００６０】
第１の実施形態で説明されたバンドル生成手順、バンドル削除又は圧縮手順、及びバンドル復元手順は、コンピュータシステムにプログラムを実行させることによって実現されてもよい。具体的には、本明細書においてシーケンス図等を用いて説明したアルゴリズムをコンピュータシステムに行わせるための命令群を含む一つ又は複数のプログラムを作成し、当該プログラムをコンピュータシステムに供給すればよい。例えば、既に述べたように、これらの手順をコンピュータに行わせるための命令群を含むバンドルプロトコル・エージェント・ソフトウェア６１〜６３が作成されてもよい。
【００６１】
これらのプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、Compact Disc Read Only Memory（CD-ROM）、CD-R、CD-R/W、半導体メモリ（例えば、マスクROM、Programmable ROM（PROM）、Erasable PROM（EPROM）、フラッシュROM、Random Access Memory（RAM））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６２】
さらに、上述した実施形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
【００６３】
この出願は、２０１４年７月２４日に出願された日本出願特願２０１４−１５０４０７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００６４】
１  DTN
５  IPネットワーク
１１〜１４  DTNノード
２１〜２４  プロセッサ
３１〜３４  メモリ
６１〜６４  バンドルプロトコル・エージェント・ソフトウェア
７１  HTTPプロキシ・ソフトウェア
７４  HTTPクライアント・ソフトウェア
７５  HTTPサーバ・ソフトウェア
【図１】
2016013139.tif 000003
【図２】
2016013139.tif 000004
【図３】
2016013139.tif 000005
【図４】
2016013139.tif 000006
【図５】
2016013139.tif 000007
【図６】
2016013139.tif 000008
【図７】
2016013139.tif 000009
【図８】
2016013139.tif 000010
【手続補正書】
【提出日】平成28年12月19日(2016.12.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Delay-Tolerant network（DTN）で使用されるDTNノードであって、
メモリと、
前記メモリに結合され、Delay-Tolerant network（DTN）のためのデータ転送処理を実行するよう構成されたプロセッサと、
を備え、
前記データ転送処理は、
同じ宛先ノードに転送されるべき複数のバンドルを前記DTN上で受信すること、前記複数のバンドルの各々はコンテンツのデータを分割して得られる複数のデータセグメントのいずれかを含む、
前記DTNの通信状態に応じて、前記複数のバンドルのうち一部のバンドルを他のノードに転送せずに削除するか、前記一部のバンドルのペイロードのデータサイズを圧縮すること、及び
削除された前記一部のバンドルを除く残りのバンドルを、又は圧縮されたペイロードを有する前記一部のバンドルを含む前記複数のバンドルを、前記宛先ノードに送るために前記DTNに送信すること、
を備える、
DTNノード。
【請求項２】
前記圧縮することは、前記ペイロードに格納されたデータセグメントをダミーデータに置換することを含む、請求項１に記載のDTNノード。
【請求項３】
前記圧縮することは、前記ペイロードに格納されたデータセグメントを削除することを含む、請求項１に記載のDTNノード。
【請求項４】
前記データ転送処理は、前記宛先ノードに送信されるべき構成情報バンドルを受信することをさらに備え、
前記構成情報バンドルは、前記複数のバンドルの各々の属性を示す構成情報を格納しており、
前記削除すること又は前記圧縮することは、前記構成情報に基づいて前記複数のバンドルから前記一部のバンドルを選択することを含む、
請求項１〜３のいずれか１項に記載のDTNノード。
【請求項５】
前記属性は、前記DTN内の中間ノードにおける各バンドルに対する削除又は圧縮が許可されるか否かを示す、請求項４に記載のDTNノード。
【請求項６】
前記コンテンツは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツであって、Hypertext Markup Language（HTML）データと、前記HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データとを含み、
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記HTMLデータと前記資源データのいずれに該当するかを示す、
請求項４又は５に記載のDTNノード。
【請求項７】
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記資源データに含まれる画像データに該当するか否かを示す、請求項６に記載のDTNノード。
【請求項８】
前記データ転送処理は、前記一部のバンドルに対して削除又は圧縮が行われたことを示すよう前記構成情報を更新し、更新された前記構成情報を含む構成情報バンドルを前記DTNに送信することをさらに備える、請求項４〜７のいずれか１項に記載のDTNノード。
【請求項９】
前記複数のバンドルの各々は、各バンドルの属性を示す情報を含み、
前記削除すること又は前記圧縮することは、前記情報に基づいて前記複数のバンドルから前記一部のバンドルを選択することを含む、
請求項１〜３のいずれか１項に記載のDTNノード。
【請求項１０】
前記属性は、前記DTN内の中間ノードにおける各バンドルに対する削除又は圧縮が許可されるか否かを示す、請求項９に記載のDTNノード。
【請求項１１】
前記コンテンツは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツであって、Hypertext Markup Language（HTML）データと、前記HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データとを含み、
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記HTMLデータと前記資源データのいずれに該当するかを示す、
請求項９又は１０に記載のDTNノード。
【請求項１２】
前記削除すること又は前記圧縮することは、前記DTNの前記通信状態が第１のレベルを下回る場合に、前記一部のバンドルの削除又は前記一部のバンドルのペイロードの圧縮を行うことを含む、請求項１〜１１のいずれか１項に記載のDTNノード。
【請求項１３】
前記DTNの前記通信状態は、前記DTNの局所的な通信品質、及び前記複数のバンドルの前記宛先ノードへの配送の成功見込みのうち少なくとも１つを含む、請求項１〜１２のいずれか１項に記載のDTNノード。
【請求項１４】
前記データ転送処理は、
前記複数のデータセグメントの少なくとも１つをペイロードに含む第１のバンドルが前記DTN内のいずれかのノードにおいて削除されたこと、又は前記第１のバンドルの前記ペイロードが前記DTN内のいずれかのノードにおいて圧縮されたことを検出すること、及び
前記削除又は圧縮された少なくとも１つのデータセグメントに対応するデータが前記DTNノードにキャッシュされている場合に、前記キャッシュされたデータを用いて前記第１のバンドルを復元すること、及び
前記復元された第１のバンドルを前記宛先ノードに送るために前記DTNに送信すること、
をさらに備える、
請求項１〜１３のいずれか１項に記載のDTNノード。
【請求項１５】
前記復元することは、前記DTNの前記通信状態が第２のレベルを上回る場合に、前記第１のバンドルを復元することを含む、請求項１４に記載のDTNノード。
【請求項１６】
Delay-Tolerant network（DTN）内のDTNノードによって行われるデータ転送方法であって、
同じ宛先ノードに転送されるべき複数のバンドルをDelay-Tolerant network（DTN）上で受信すること、前記複数のバンドルの各々はコンテンツのデータを分割して得られる複数のデータセグメントのいずれかを含む、
前記DTNの通信状態に応じて、前記複数のバンドルのうち一部のバンドルを他のノードに転送せずに削除するか、前記一部のバンドルのペイロードのデータサイズを圧縮すること、及び
削除された前記一部のバンドルを除く残りのバンドルを、又は圧縮されたペイロードを有する前記一部のバンドルを含む前記複数のバンドルを、前記宛先ノードに送るために前記DTNに送信すること、
を備える、データ転送方法。
【請求項１７】
前記圧縮することは、前記ペイロードに格納されたデータセグメントをダミーデータに置換することを含む、請求項１６に記載のデータ転送方法。
【請求項１８】
前記圧縮することは、前記ペイロードに格納されたデータセグメントを削除することを含む、請求項１６に記載のデータ転送方法。
【請求項１９】
前記宛先ノードに送信されるべき構成情報バンドルを受信することをさらに備え、
前記構成情報バンドルは、前記複数のバンドルの各々の属性を示す構成情報を格納しており、
前記削除すること又は前記圧縮することは、前記構成情報に基づいて前記複数のバンドルから前記一部のバンドルを選択することを含む、
請求項１６〜１８のいずれか１項に記載のデータ転送方法。
【請求項２０】
前記属性は、前記DTN内の中間ノードにおける各バンドルに対する削除又は圧縮が許可されるか否かを示す、請求項１９に記載のデータ転送方法。
【請求項２１】
前記コンテンツは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツであって、Hypertext Markup Language（HTML）データと、前記HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データとを含み、
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記HTMLデータと前記資源データのいずれに該当するかを示す、
請求項１９又は２０に記載のデータ転送方法。
【請求項２２】
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記資源データに含まれる画像データに該当するか否かを示す、請求項２１に記載のデータ転送方法。
【請求項２３】
前記一部のバンドルに対して削除又は圧縮が行われたことを示すよう前記構成情報を更新し、更新された前記構成情報を含む構成情報バンドルを前記DTNに送信することをさらに備える、請求項１９〜２２のいずれか１項に記載のデータ転送方法。
【請求項２４】
前記複数のバンドルの各々は、各バンドルの属性を示す情報を含み、
前記削除すること又は前記圧縮することは、前記情報に基づいて前記複数のバンドルから前記一部のバンドルを選択することを含む、
請求項１６〜１８のいずれか１項に記載のデータ転送方法。
【請求項２５】
前記複数のデータセグメントの少なくとも１つをペイロードに含む第１のバンドルが前記DTN内のいずれかのノードにおいて削除されたこと、又は前記第１のバンドルの前記ペイロードが前記DTN内のいずれかのノードにおいて圧縮されたことを検出すること、及び
前記削除又は圧縮された少なくとも１つのデータセグメントに対応するデータが前記DTNノードにキャッシュされている場合に、前記キャッシュされたデータを用いて前記第１のバンドルを復元すること、及び
前記復元された第１のバンドルを前記宛先ノードに送るために前記DTNに送信すること、
をさらに備える、
請求項１６〜２４のいずれか１項に記載のデータ転送方法。
【請求項２６】
請求項１６〜２５のいずれか１項に記載の方法をコンピュータに行わせるためのプログラム。
【請求項２７】
Delay-Tolerant network（DTN）で使用されるDTNノードであって、
メモリと、
前記メモリに結合され、Delay-Tolerant network（DTN）のためのデータ送信処理を実行するよう構成されたプロセッサと、
を備え、
前記データ送信処理は、
前記DTN内の宛先ノードに送られるべきコンテンツのデータを複数のデータセグメントに分割すること、
前記複数のデータセグメントのいずれかを格納したペイロードを各々有する複数のバンドルを生成すること、
前記複数のバンドルの各々の属性を示す構成情報を格納した構成情報バンドルを生成すること、及び
前記コンテンツを前記宛先ノードに送るために、前記複数のバンドル及び前記構成情報バンドルを前記Delay-Tolerant network（DTN）に送信すること、
を備える、
DTNノード。
【請求項２８】
前記属性は、前記DTN内の中間ノードにおいて各バンドルの前記ペイロードのデータサイズを圧縮することが許可されるか否かを示す、請求項２７に記載のDTNノード。
【請求項２９】
前記圧縮は、前記ペイロードに格納されたデータセグメントをダミーデータに置換することにより行われる、請求項２８に記載のDTNノード。
【請求項３０】
前記圧縮は、前記ペイロードに格納されたデータセグメントを削除することにより行われる、請求項２８に記載のDTNノード。
【請求項３１】
前記属性は、前記DTN内の中間ノードにおいて各バンドルを他のノードに転送せずに削除することが許可されるか否かを示す、請求項２７〜３０のいずれか１項に記載のDTNノード。
【請求項３２】
前記コンテンツは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツであって、Hypertext Markup Language（HTML）データと、前記HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データとを含み、
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記HTMLデータと前記資源データのいずれに該当するかを示す、
請求項２７〜３１のいずれか１項に記載のDTNノード。
【請求項３３】
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記資源データに含まれる画像データに該当するか否かを示す、請求項３２に記載のDTNノード。
【請求項３４】
Delay-Tolerant network（DTN）内のDTNノードによって行われるデータ送信方法であって、
Delay-Tolerant network（DTN）内の宛先ノードに送られるべきコンテンツのデータを複数のデータセグメントに分割すること、
前記複数のデータセグメントのいずれかを格納したペイロードを各々有する複数のバンドルを生成すること、
前記複数のバンドルの各々の属性を示す構成情報を格納した構成情報バンドルを生成すること、及び
前記コンテンツを前記宛先ノードに送るために、前記複数のバンドル及び前記構成情報バンドルを前記DTNに送信すること、
を備える、データ送信方法。
【請求項３５】
前記属性は、前記DTN内の中間ノードにおいて各バンドルの前記ペイロードのデータサイズを圧縮することが許可されるか否かを示す、請求項３４に記載のデータ送信方法。
【請求項３６】
前記属性は、前記DTN内の中間ノードにおいて各バンドルを他のノードに転送せずに削除することが許可されるか否かを示す、請求項３４又は３５に記載のデータ送信方法。
【請求項３７】
前記コンテンツは、Hypertext Transfer Protocol（HTTP）に基づくwebトランザクションに関するコンテンツであって、Hypertext Markup Language（HTML）データと、前記HTMLデータ内に記述されたUniform Resource Identifier（URI）によって指定される資源データとを含み、
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記HTMLデータと前記資源データのいずれに該当するかを示す、
請求項３４〜３６のいずれか１項に記載のデータ送信方法。
【請求項３８】
前記属性は、前記複数のバンドルの各々の前記ペイロードに含まれる各データセグメントが、前記資源データに含まれる画像データに該当するか否かを示す、請求項３７に記載のデータ送信方法。
【請求項３９】
請求項３４〜３８のいずれか１項に記載の方法をコンピュータに行わせるためのプログラム。
【国際調査報告】
2016013139.tif 000011
2016013139.tif 000012
2016013139.tif 000013
2016013139.tif 000014