(57)【要約】      （修正有）【課題】アプリケーションからのデータの送信後であっても、アプリケーションから送信されるデータの用途に応じて、データの中継通信を制御することができる技術を提供する。【解決手段】サーバ装置２０のＤＴＮ２処理部２０３は、中継通信装置であって、第一装置からのデータを第二装置に中継する際に、前記第二装置との通信リンクを確立できない場合、前記第一装置から前記第二装置へ中継されるべきデータを格納するバッファと、前記第二装置との通信リンクが確立された場合、途絶耐性プロトコルに従って、前記データを前記第二装置に宛てて転送する前に、前記データの用途に応じた制御ルールに従って、前記データに対する転送処理を制御する転送制御部と、を備える。【選択図】図１
2019110489.tif 000002
【特許請求の範囲】
【請求項１】
中継通信装置であって、
第一装置からのデータを第二装置に中継する際に、前記第二装置との通信リンクを確立できない場合、前記第一装置から前記第二装置へ中継されるべきデータを格納するバッファと、
前記第二装置との通信リンクが確立された場合、途絶耐性プロトコルに従って、前記データを前記第二装置に宛てて転送する前に、前記データの用途に応じた制御ルールに従って、前記データに対する転送処理を制御する転送制御部と、
を備えることを特徴とする中継通信装置。
【請求項２】
請求項１の中継通信装置であって、
前記制御ルールは、条件と、前記条件が満たされる場合に実行されるべきアクションとを含み、
前記転送制御部は、
前記第一装置からの前記データの用途を示すアプリケーション識別情報を取得し、
前記アプリケーション識別情報に基づいて、前記データに対する制御方式と、一以上の前記制御ルールとを取得し、
前記制御方式に基づき、前記制御ルールに適用される値を計測し、
前記一以上の前記制御ルールのうち、前記計測結果が前記条件を満たす前記制御ルールを選択し、
前記選択された前記制御ルールに含まれる前記アクションを実行する、
ことを特徴とする中継通信装置。
【請求項３】
請求項２の中継装置であって、
前記制御方式は、前記データに固有の値を、前記転送制御部に計測させるものであり、
前記アクションは、前記計測結果に応じて、前記転送制御部に前記データの転送先を制御させるものである、
ことを特徴とする中継通信装置。
【請求項４】
請求項３の中継装置であって、
前記データに固有の値は、前記データが作成されてからの経過時間であり、
前記アクションは、前記計測結果が第一閾値以上である場合、前記転送制御部に前記データの転送先を変更させるものである、  
ことを特徴とする中継通信装置。
【請求項５】
請求項４の中継装置であって、
前記アクションは、前記計測結果が前記第一閾値よりも大きい第二閾値以上である場合、前記転送制御部に前記データを廃棄させるものである、  
ことを特徴とする中継通信装置。
【請求項６】
中継通信方法であって、
第一装置からのデータを第二装置に中継する際に、前記第二装置との通信リンクを確立できない場合、前記第一装置から前記第二装置へ中継されるべきデータをバッファに格納するステップと、
前記第二装置との通信リンクが確立された場合、途絶耐性プロトコルに従って、前記データを前記第二装置に宛てて転送する前に、前記データの用途に応じた制御ルールに従って、前記データに対する転送処理を制御するステップと、
を備えることを特徴とする中継通信方法。
【請求項７】
中継通信プログラムであって、
第一装置からのデータを第二装置に中継する際に、前記第二装置との通信リンクを確立できない場合、前記第一装置から前記第二装置へ中継されるべき前記データをバッファに格納するステップと、
前記第二装置との通信リンクが確立された場合、途絶耐性プロトコルに従って、前記データを前記第二装置に宛てて転送する前に、前記データの用途に応じた制御ルールに従って、前記データに対する転送処理を制御するステップと、
をコンピュータに実行させることを特徴とする中継通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継通信装置、中継通信方法、及び中継通信プログラムに関する。
【背景技術】
【０００２】
近年、複数の無線通信手段が普及した結果、スマートフォンなどの端末装置は、例えば、Ｗｉ−Ｆｉなどの無線ＬＡＮ（Local Area Network）アクセスポイントと通信キャリアの広域無線接続を切り替えながら通信を行うスタイルが広まっている。このような環境において、通信状態は、端末の接続数や周囲の電波状況などに影響されるため、通信品質が場所や時間によりばらついて、通信が断続的となり得る。
【０００３】
例えば、端末装置が移動中、リンク対象の無線通信手段を切り替えながらインターネット上のサーバと通信を行う場合、通信のデータ量が多く、無線通信手段のリンク可能範囲内の滞在時間が短いと、通信が途中で切断されるため、他の無線通信手段との再リンク後に通信のやり直しが必要となるかもしれない。端末装置が静止している場合であっても、他の無線通信手段との電波干渉などの影響により、通信が断続的となり得る。有線網においても、端末の接続数や有線網の状況などに応じて、通信が断続的となり得る。
【０００４】
これに対し、端末のアプリケーションに、通信の遅延や途絶に対する耐性を持たせることが検討されている。例えば、通信が断続的となる環境でも円滑な通信を可能にする技術として、途絶耐性ネットワーク（DTN：Delay, Disruption Tolerant Networking）が知られている。この技術は、ＩＥＴＦ（The Internet Engineering Task Force）により標準化が進められ、例えばＲＦＣ（Request For Comments）５０５０には、ＤＴＮに適用するバンドルプロトコル（途絶耐性プロトコルとも称され得る）が規定されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２０５８９０号公報
【特許文献２】国際公開２００９／０７８４２７号
【特許文献３】特開２０００−２７８３１３号公報
【非特許文献】
【０００６】
【非特許文献１】RFC4838, Delay-Tolerant Networking Architecture, (April 2007), https://tools.ietf.org/html/rfc4838
【非特許文献２】RFC5050, Bundle Protocol Specification, (November 2007), https://tools.ietf.org/html/rfc5050
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＤＴＮやバンドルプロトコルは、本来、宇宙空間や海中などの特殊な環境下の通信のように、リアルタイム性（即時性とも称され得る）がなく、遅延を前提とした通信に適用することを想定しているため、一般的なアプリケーションには直接的に用いることが難しい。一般的なアプリケーションの通信にＤＴＮやバンドルプロトコルを実装するためには、ＤＴＮやバンドルプロトコルに基づき通信を行うプロキシ機能（ＤＴＮプロキシとも称され得る）の使用が考えられる。
【０００８】
ＤＴＮプロキシは、通信の切断中、アプリケーションが通信相手に送信しようとしたデータをバンドル化したうえでバッファに格納しておき、通信の復旧後に送信する。アプリケーションは、通信相手との通信においてＤＴＮプロキシが介在することで、ＤＴＮによる中継通信の恩恵を享受することができる。
【０００９】
ＤＴＮプロキシは、通信が復旧したことを検知した場合、バッファに滞留しているデータの送信を開始する。その際、通信切断中の期間は不定であるため、各データのバッファ滞留時間は大きく異なり得る。
【００１０】
データの用途によっては、バッファ滞留中にデータの鮮度がすでに陳腐化してしまい、バッファ滞留時間の比較的長いデータが適切でないこともある。例えば、監視カメラの映像データから異常を検知するような即時性の高いサービスの場合、比較的古い映像データには関心が無いかもしれない。
【００１１】
しかし、ＤＴＮプロキシのバッファに滞留しているデータは、アプリケーションにとって既に送信済みのデータであるため、アプリケーションから制御することができない、という問題がある。
【００１２】
また、アプリケーションから送信されるデータの用途が必ずしも一つとは限らない。しかも、ある用途にとっては関心のないデータであっても、他の用途では関心があるかもしれない。例えば、監視カメラの映像データの場合、映像データから異常を検知するような即時性が必要とされるサービスへの用途以外にも、映像データから人の流れなどを解析して業務の分析・改善を提案するような即時性が必ずしも必要ではないサービスへの用途もあり得る。
【００１３】
そのため、ＤＴＮプロキシにおいて、バッファに滞留しているデータのうち、比較的新しいデータのみを転送し、他を廃棄するということは適切でない場合がある。
【００１４】
そこで、本開示の一側面では、アプリケーションからのデータの送信後であっても、アプリケーションから送信されるデータの用途に応じて、データの中継通信を制御することができる技術を提供することが目的とされる。
【課題を解決するための手段】
【００１５】
本願の開示する中継通信装置は、一つの態様において、第一装置からのデータを第二装置に中継する際に、前記第二装置との通信リンクを確立できない場合、前記第一装置から前記第二装置へ中継されるべきデータを格納するバッファと、前記第二装置との通信リンクが確立された場合、途絶耐性プロトコルに従って、前記データを前記第二装置に宛てて転送する前に、前記データの用途に応じた制御ルールに従って、前記データに対する転送処理を制御する転送制御部と、を備える。
【発明の効果】
【００１６】
本開示の一側面によれば、アプリケーションからのデータの送信後であっても、アプリケーションから送信されるデータの用途に応じて、データの中継通信を制御することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施例１に係るシステム構成の一例におけるノード間の信号の流れの一例を示す図である。
【図２】図２は、アドレス変換情報Ｔ１０２１の一例を示す図である。
【図３】図３は、宛先情報Ｔ１０３１の一例を示す図である。
【図４】図４は、アプリケーション情報Ｔ１０４１の一例を示す図である。
【図５】図５は、制御ルール情報Ｔ１０４２の一例を示す図である。
【図６】図６は、制御方式と制御ルール群との一例を示す図である。
【図７】図７は、ＤＴＮ経路情報Ｔ１０４３の一例を示す図である。
【図８】図８は、ＤＴＮ設定情報Ｔ２０３の一例を示す図である。
【図９】図９は、ノード設定情報Ｔ２０２の一例を示す図である。
【図１０】図１０は、実施例１に係るＤＴＮノードにおける送信処理の流れの一例を示す図である。
【図１１】図１１は、実施例２に係る端末装置１０の構成例を示す図である。
【図１２】図１２は、接続リストＴ１０３２の一例を示す図である。
【図１３】図１３は、システム１における端末装置１０とサーバ装置２０とのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下に、本願の開示する中継通信に関する制御技術の実施例について、図面を参照しながら詳細に説明する。なお、以下に示す実施例は開示の技術を限定するものではない。また、以下に示す各実施例は、適宜組み合わせて実施してもよいことはいうまでもない。ここで、非特許文献１ないし非特許文献２の全ての内容は、参照することによりここに援用される。
【００１９】
＜実施例１＞  実施例１に係るシステムでは、アプリケーション間（ノード間とも称され得る）の通信を中継するＤＴＮ（DTN：Delay, Disruption Tolerant Networking）プロキシにおいて、上位レイヤであるアプリケーションから送信されるデータの用途に応じた制御ルールが設定される。これにより、ＤＴＮプロキシは、アプリケーションから送信されるデータの用途に応じて、中継通信を制御することができる。
【００２０】
図１は、実施例１に係るシステム構成の一例におけるノード間の信号の流れの一例を示す図である。図１に示されるシステム１は、端末装置１０とサーバ装置２０とを有する。端末装置１０とサーバ装置２０とは、ネットワークを介して通信可能に構成される。ただし、端末装置１０とサーバ装置２０とは、常に通信可能な状態を維持できるとは限らない。
【００２１】
端末装置１０は、ノード１（１０１）（第一ノードとも称され得る）と、変換１処理部１０２（第一変換処理部とも称され得る）と、代理１処理部１０３（第一代理処理部とも称され得る）と、ＤＴＮ１処理部１０４（第一ＤＴＮ処理部とも称され得る）と、バッファ１０５と、アドレス変換情報Ｔ１０２１と、宛先情報Ｔ１０３１と、アプリケーション情報Ｔ１０４１と、制御ルール情報Ｔ１０４２と、ＤＴＮ経路情報Ｔ１０４３と、を有する。ノード１（１０１）は、端末装置１０で動作するアプリケーション（クライアントアプリケーション、クライアントとも称され得る）の一例であり、第一装置としての側面を有する。
【００２２】
サーバ装置２０は、ノード２（２０１）（第二ノードとも称され得る）と、代理２処理部２０２（第二代理処理部とも称され得る）と、ＤＴＮ２処理部２０３（第二ＤＴＮ処理部とも称され得る）と、ノード設定情報Ｔ２０２と、ＤＴＮ設定情報Ｔ２０３と、を有する。ノード２（２０１）は、サーバ装置２０で動作するアプリケーション（サーバアプリケーション、サーバとも称され得る）の一例であり、第二装置としての側面を有する。
【００２３】
端末装置１０のＤＴＮ１処理部１０４は、ＤＴＮ（DTN：Delay, Disruption Tolerant Networking）プロトコル（途絶耐性プロトコルとも称され得る）に従って、端末装置１０のノード１（１０１）からの信号を、サーバ装置２０のノード２（２０１）に中継するように構成される。別言すると、ＤＴＮ１処理部１０４は、端末装置１０におけるノード１（１０１）とサーバ装置２０におけるノード２（２０１）との通信を中継する中継通信装置における転送制御部の一例としての側面を有する。なお、中継通信装置は、ＤＴＮ１処理部１０４と、代理１処理部１０３とを含んでもよい。図１において、ＤＴＮ１処理部１０４及び代理１処理部１０３は、端末装置１０の内部で実装されるように図示されているが、本開示は必ずしもこれに限定されるものではなく、端末装置１０とは別の筐体（中継通信装置とも称され得る）に、ＤＴＮ１処理部１０４及び代理１処理部１０３を実装してもよい。別言すると、図１の例示は、端末装置１０の内部に、中継通信装置が実装されているという側面を有する。
【００２４】
サーバ装置２０のＤＴＮ２処理部２０３は、ＤＴＮプロトコルに従って、端末装置１０とサーバ装置２０との通信を中継する中継通信装置の一例であって、端末装置１０のＤＴＮ１処理部１０４から中継される信号を受信し、サーバ装置２０のノード２（２０１）に代理２処理部２０２を介して転送するように構成される。
【００２５】
図１に示されるシステム構成において、ノード１（１０１）からノード２（２０１）へのデータの流れについて説明する。まず、端末装置１０は、ノード１（１０１）からノード２（２０１）にデータを送信する場合、ノード２のアドレスＮ２Ａｄｄｒを指定して、データを含む信号Ｓ１を、ノード１（１０１）から送信する。
【００２６】
端末装置１０のノード１（１０１）から送信された信号Ｓ１は、ネットワークを経由して、ノード２（２０１）のアドレスＮ２Ａｄｄｒで示されるサーバ装置２０に受信されてもよい。これにより、ノード１（１０１）から送信された信号Ｓ１に含まれるデータが、ネットワークを経由して、サーバ装置２０で動作するノード２（２０１）に受信される。この場合、図１に例示される変換１処理部１０２、代理１処理部１０３、ＤＴＮ１処理部１０４、ＤＴＮ２処理部２０３、代理２処理部２０２における処理は省略されてもよい。なお、ノード２（２０１）のアドレスＮ２Ａｄｄｒは、例えば、ＩＰ（Internet Protocol）アドレス、あるいはＩＰアドレスとポート番号との組合せを含み得る。
【００２７】
端末装置１０は、ノード１（１０１）から送信された信号Ｓ１を、変換１処理部１０２により、代理１処理部１０３に転送（信号Ｓ２で示される）してもよい。変換１処理部１０２において、端末装置１０は、アドレス変換情報Ｔ１０２１に基づいて、信号Ｓ１に示されるアドレスＮ２Ａｄｄｒを、代理１処理部１０３を示すアドレスＰ１Ａｄｄｒに変換してもよい。
【００２８】
図２は、アドレス変換情報Ｔ１０２１の一例を示す図である。図２に示されるアドレス変換情報Ｔ１０２１は、宛先ノードアドレスＴ１０２１−１と、代理アドレスＴ１０２１−２とを含む。宛先ノードアドレスＴ１０２１−１は、変換前のアドレスであって、中継通信の対象となる通信の宛先ノードのアドレスを示す。代理アドレスＴ１０２１−２は、変換後のアドレスであって、代理１処理部１０３のアドレスを示す。図２の例では、宛先ノードアドレスＴ１０２１−１「Ｎ２Ａｄｄｒ」と代理アドレスＴ１０２１−２「Ｐ１Ａｄｄｒ」とが対応付けられており、宛先ノードアドレスＴ１０２１−１「Ｎ４Ａｄｄｒ」と代理アドレスＴ１０２１−２「Ｐ２Ａｄｄｒ」とが対応付けられている。なお、宛先ノードアドレスＴ１０２１−１「Ｎ２Ａｄｄｒ」は、宛先ノードとしてサーバ装置２０のノード２（２０１）のアドレスの一例である。また、代理アドレスＴ１０２１−２「Ｐ１Ａｄｄｒ」は、ノード１（１０１）からのデータを変換１処理部１０２（アドレス変換部１０２とも称され得る）により受信するように構成される代理１処理部１０３のアドレスの一例である。なお、宛先ノードアドレスＴ１０２１−１「Ｎ４Ａｄｄｒ」は、図１に図示されていないサーバ装置のノードを示すアドレスの一例であり、代理アドレスＴ１０２１−２「Ｐ２Ａｄｄｒ」は、端末装置１０におけるノードであってノード１（１０１）以外の他のノードからのデータを受信するように構成される代理１処理部１０３のアドレスの一例である。例えば、「Ｐ１Ａｄｄｒ」と「Ｐ２Ａｄｄｒ」とはポート番号により区別されてもよい。このように、代理アドレスＴ１０２１−２は、宛先ノードアドレスＴ１０２１−１と一対一の関係にある。別言すると、代理アドレスＴ１０２１−２は、宛先ノードアドレスＴ１０２１−１に対応付けられている。なお、各項目の設定例は、説明の便宜上、簡略化した値が用いられており、実際に用いられる値と同じであるとは、必ずしも限らないことに留意されたい。
【００２９】
変換１処理部１０２は、例えば、ノード１（１０１）がアドレスＮ２Ａｄｄｒを指定して開設（生成）するソケットの接続先を、アドレス変換情報Ｔ１０２１に従って、アドレスＰ１Ａｄｄｒで示される代理１処理部１０３に変更してもよい。別言すると、ノード１（１０１）から送信された信号Ｓ１は、変換１処理部１０２により、アドレスＰ１Ａｄｄｒで示される代理１処理部１０３に転送される信号Ｓ２に変換される。
【００３０】
信号Ｓ２を受信すると、代理１処理部１０３は、宛先情報Ｔ１０３１に示される宛先ＥＩＤ（Directed EID（Endpoint IDentification））２と信号Ｓ２に含まれるデータとを含む信号Ｓ３を、ＤＴＮ１処理部１０４へ転送する。代理１処理部１０３は、ノード１（１０１）から送信されたデータを含む信号Ｓ２を受信するために、宛先情報Ｔ１０３１（初期設定とも称され得る）に従って、アドレスＰ１Ａｄｄｒを指定したソケット（サーバソケットと称されてもよい）を事前に生成してもよい。なお、図２のアドレス変換情報Ｔ１０２１に示されるように、代理１処理部１０３のアドレスＰ１Ａｄｄｒと、ノード２（２０１）のアドレスＮ２Ａｄｄｒとは一対一の関係にある。別言すると、アドレスＰ１Ａｄｄｒのソケットは、ノード２（２０１）に対応付けられている。
【００３１】
図３は、宛先情報Ｔ１０３１の一例を示す図である。図３に示される宛先情報Ｔ１０３１は、代理アドレスＴ１０３１−１と、宛先ＥＩＤ（Ｔ１０３１−２）とを含む。代理アドレスＴ１０３１−１は、代理１処理部１０３のアドレスを示す。宛先ＥＩＤ（Ｔ１０３１−２）は、宛先ノードに対応するＤＴＮ処理部のアドレスを示す。図３の例では、代理アドレスＴ１０３１−１「Ｐ１Ａｄｄｒ」と宛先ＥＩＤ（Ｔ１０３１−２）「ＤｉｒｅｃｔｅｄＥＩＤ２」とが対応付けられており、代理アドレスＴ１０３１−１「Ｐ２Ａｄｄｒ」と宛先ＥＩＤ（Ｔ１０３１−２）「ＤｉｒｅｃｔｅｄＥＩＤ４」とが対応付けられている。図３の例において、代理アドレスＴ１０３１−１「Ｐ１Ａｄｄｒ」は、宛先ＥＩＤ（Ｔ１０３１−２）「ＤｉｒｅｃｔｅｄＥＩＤ２」と一対一の関係にある。なお、各項目の設定例は、説明の便宜上、簡略化した値が用いられており、実際に用いられる値と同じであるとは、必ずしも限らないことに留意されたい。
【００３２】
宛先ＥＩＤ（Directed Endpoint IDentification）は、ＤＴＮ（Delay, Disruption Tolerant Networking）プロトコルにおけるノードの識別情報として作用する情報である。図１の例において、ＤＴＮプロトコルにおけるノード（ＤＴＮノードとも称され得る）は、ＤＴＮ１処理部１０４と、ＤＴＮ２処理部２０３であってもよい。なお、図１の例における信号Ｓ３が示す宛先ＥＩＤ２（ＤｉｒｅｃｔｅｄＥＩＤ２）は、サーバ装置２０で動作するＤＴＮ２処理部２０３を示す識別情報である。図３の例では、宛先ＥＩＤ（Ｔ１０３１−２）「ＤｉｒｅｃｔｅｄＥＩＤ２」の一例として「dtn://serverA/AppID1」が例示されており、宛先ＥＩＤ（Ｔ１０３１−２）「ＤｉｒｅｃｔｅｄＥＩＤ４」の一例として「dtn://serverB/AppID2」が例示されている。
【００３３】
信号Ｓ３に示される宛先ＥＩＤ（宛先ＥＩＤ２とも称され得る）は、例えば、「dtn://<宛先のノード名>/<アプリケーションＩＤ>」という情報構造を有する。宛先ＥＩＤのうち「dtn://」の部分は、ＤＴＮプロトコルが用いられることを示すプロトコル表示の一例である。宛先ＥＩＤのうち「＜宛先のノード名＞」の部分は、ノード１（１０１）から送信されるデータの実質的な送信先となるサーバ装置２０で動作するＤＴＮノードを示す識別情報を示し、宛先ＥＩＤ２の場合、サーバ装置２０で動作するＤＴＮ２処理部２０３を示す識別情報である。宛先ＥＩＤのうち「＜アプリケーションＩＤ＞」の部分は、ノード１（１０１）から送信されるデータの用途（アプリケーションとも称され得る）に応じた識別情報（アプリケーション識別情報、アプリケーションＩＤ、ＡｐｐＩＤとも称され得る）を示す。なお、上述の宛先ＥＩＤの情報構造は、一例を示すものであり、本開示はこれに限定されるものではない。例えば、「＜宛先のノード名＞」と「＜アプリケーションＩＤ＞」との間に、他の情報要素が挿入されてもよい。
【００３４】
信号Ｓ３を受信すると、ＤＴＮ１処理部１０４（転送制御部とも称され得る）は、信号Ｓ３に含まれる宛先ＥＩＤ２に基づいてアプリケーションＩＤ（信号Ｓ３のアプリケーションＩＤ、信号Ｓ３のＡｐｐＩＤとも称され得る）を取得し、信号Ｓ３のアプリケーションＩＤに対応する制御ルールにより定義される処理を実行する。これにより、ノード１（１０１）（アプリケーションとも称され得る）から送信されるデータの用途に応じて、中継通信を制御することができる。
【００３５】
例えば、ＤＴＮ１処理部１０４において、端末装置１０は、信号Ｓ３のアプリケーションＩＤに対応する制御ＩＤ（信号Ｓ３の制御ＩＤとも称され得る）をアプリケーション情報Ｔ１０４１から取得してもよい。
【００３６】
図４は、アプリケーション情報Ｔ１０４１の一例を示す図である。図４に示されるアプリケーション情報Ｔ１０４１は、アプリケーションＩＤ（Ｔ１０４１−１）と、制御ＩＤ（Ｔ１０４１−２）と、を含む。アプリケーションＩＤ（Ｔ１０４１−１）は、ノード１（１０１）から送信されるデータの用途を示す識別情報である。制御ＩＤ（Ｔ１０４１−２）は、ノード１（１０１）から送信されるデータの用途に対応する制御ルールを示す識別情報である。図４の例では、アプリケーションＩＤ（Ｔ１０４１−１）「ＡｐｐＩＤ１」と制御ＩＤ（Ｔ１０４１−２）「ＣｏｎｔｒｏｌＩＤ１」とが対応付けられており、アプリケーションＩＤ（Ｔ１０４１−１）「ＡｐｐＩＤ２」と制御ＩＤ（Ｔ１０４１−２）「ＣｏｎｔｒｏｌＩＤ２」とが対応付けられている。
【００３７】
ＤＴＮ１処理部１０４において、端末装置１０は、信号Ｓ３の制御ＩＤに対応する制御ルール（信号Ｓ３の制御ルールとも称され得る）を、制御ルール情報Ｔ１０４２から取得してもよい。
【００３８】
図５は、制御ルール情報Ｔ１０４２の一例を示す図である。図５に示される制御ルール情報Ｔ１０４２は、制御ＩＤ（Ｔ１０４２−１）と、制御方式Ｔ１０４２−２と、制御ルール群Ｔ１０４２−３と、を含む。制御ＩＤ（Ｔ１０４２−１）は、制御ルール情報Ｔ１０４２を一意に示す識別情報である。制御方式Ｔ１０４２−２は、予め用意された複数の制御方法のうち何れの制御方法が用いられるかを示す情報である。別言すると、制御方式Ｔ１０４２−２は、制御ルール群Ｔ１０４２−３に規定される各種条件の判定に適用される値として、計測すべき値を指定するという側面を有する。制御ルール群Ｔ１０４２−３は、制御方式Ｔ１０４２−２で示される制御方法において満たすか否かが判定される条件と、当該条件を満たす場合に実行すべきアクションと、の組合せを含む。
【００３９】
図５の例では、制御ＩＤ（Ｔ１０４２−１）「ＣｏｎｔｒｏｌＩＤ１」と制御方式Ｔ１０４２−２「方式１」とを有する制御ルール情報Ｔ１０４２において、制御ルール群Ｔ１０４２−３として、条件とアクションの３つの組合せが設定されている。すなわち、図５の例では、制御方式Ｔ１０４２−２「方式１」で示される制御方法において条件１−１が満たされる場合、アクション１−１が実行される。条件１−２が満たされる場合、アクション１−２が実行される。条件１−３が満たされる場合、アクション１−３が実行される。
【００４０】
図５のもう一つの例では、制御ＩＤ（Ｔ１０４２−１）「ＣｏｎｔｒｏｌＩＤ２」と制御方式Ｔ１０４２−２「方式２」とを有する制御ルール情報Ｔ１０４２において、制御ルール群Ｔ１０４２−３として、条件とアクションの２つの組合せが設定されている。すなわち、図５のもう一つの例では、制御方式Ｔ１０４２−２「方式２」で示される制御方法において条件２−１が満たされる場合、アクション２−１が実行される。条件２−２が満たされる場合、アクション２−２が実行される。
【００４１】
制御方式Ｔ１０４２−２としては、例えば、ノード１（１０１）からのデータがＤＴＮ１処理部１０４に転送されてきた時点からの経過時間に応じて、制御ルール群Ｔ１０４２−３から該当するアクションを選択して実行する、という制御方法があり得る。この場合、制御ルール群Ｔ１０４２−３に設定される各組合せにおける条件は、経過時間が所定値以上か、経過時間が所定値以下か、経過時間が所定値と等しいか、経過時間が所定値を超えるか、経過時間が所定値未満か、等があり得る。あるいは、制御方式Ｔ１０４２−２の一例として、ノード１（１０１）からのデータのサイズに応じて、制御ルール群Ｔ１０４２−３から該当するアクションを選択して実行する、という制御方法であってもよい。この場合、制御ルール群Ｔ１０４２−３に設定される各組合せにおける条件は、データサイズが所定値以上か、データサイズが所定値以下か、データサイズが所定値と等しいか、データサイズが所定値を超えるか、データサイズが所定値未満か、等があり得る。
【００４２】
図６は、制御方式と制御ルール群との一例を示す図である。図６の例では、制御方式Ｔ１０４２−２に対して、条件Ｔ１０４２−３−１とアクションＴ１０４２−３−２との一以上の組合せを含む制御ルール群Ｔ１０４２−３が設定されている。
【００４３】
図６では、例えば、経過時間Ｔに基づく制御を示す「方式１（経過時間Ｔ）」の制御方式Ｔ１０４２−２に対して、条件Ｔ１０４２−３−１「Ｔ＜１分」とアクションＴ１０４２−３−２「宛先ＥＩＤ２に転送」との組合せによる制御ルールが対応付けられている。これは、制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」に基づいて経過時間Ｔが計測され、当該計測結果（経過時間Ｔ）が１分未満の場合、ノード１（１０１）からのデータを宛先ＥＩＤ２に転送する、という制御が実行されることを示す。ここで、経過時間Ｔは、ノード１（１０１）からのデータがＤＴＮ１処理部１０４に転送されてきた時点からの経過時間であってもよいし、ノード１（１０１）においてデータを含む信号Ｓ１が生成された時点からの経過時間（データ作成からの経過時間と称されてもよい）であってもよい。
【００４４】
図６では、例えば、制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」に対して、条件Ｔ１０４２−３−１「１分≦Ｔ＜１０分」とアクションＴ１０４２−３−２「宛先ＥＩＤ３に転送」との組合せによる制御ルールが対応付けられている。これは、制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」に基づいて経過時間Ｔが計測され、当該計測結果（経過時間Ｔ）が１分以上かつ１０分未満の場合、ノード１（１０１）からのデータを宛先ＥＩＤ３に転送する、という制御が実行されることを示す。別言すると、上述の制御ルールは、制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」に基づき計測された経過時間Ｔが、第一閾値（１分）以上であるという条件を満たす場合に、ノード１（１０１）からのデータの転送先を宛先ＥＩＤ３に変更する、という側面を有する。
【００４５】
図６では、例えば、制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」に対して、条件Ｔ１０４２−３−１「１０分≦Ｔ」とアクションＴ１０４２−３−２「廃棄」との組合せによる制御ルールが対応付けられている。これは、制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」に基づいて経過時間Ｔが計測され、当該計測結果（経過時間Ｔ）が１０分以上の場合、ノード１（１０１）からのデータを廃棄する、という制御が実行されることを示す。別言すると、上述の制御ルールは、制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」に基づき計測された経過時間Ｔが、第一閾値よりも大きい第二閾値（１０分）以上であるという条件を満たす場合、ノード１（１０１）からのデータを廃棄する、という側面を有する。
【００４６】
図６では、例えば、データサイズＳに基づく制御を示す「方式２（データサイズＳ）」の制御方式Ｔ１０４２−２に対して、条件Ｔ１０４２−３−１「Ｓ＜１００Ｋｂｙｔｅ」とアクションＴ１０４２−３−２「通常転送」との組合せによる制御ルールが対応付けられている。これは、制御方式Ｔ１０４２−２「方式２（データサイズＳ）」に基づいてノード１（１０１）からのデータのデータサイズＳが計測され、当該計測結果（ノード１（１０１）からのデータのデータサイズＳ）が１００Ｋｂｙｔｅ未満の場合、ノード１（１０１）からのデータを指定された宛先に通常転送する、という制御が実行されることを示す。
【００４７】
図６では、例えば、制御方式Ｔ１０４２−２「方式２（データサイズＳ）」に対して、条件Ｔ１０４２−３−１「１００Ｋｂｙｔｅ≦Ｓ＜１Ｍｂｙｔｅ」とアクションＴ１０４２−３−２「１００Ｋｂｙｔｅ毎に分割して優先的に転送」との組合せによる制御ルールが対応付けられている。これは、制御方式Ｔ１０４２−２「方式２（データサイズＳ）」に基づいてノード１（１０１）からのデータのデータサイズＳが計測され、当該計測結果（ノード１（１０１）からのデータのデータサイズＳ）が１００Ｋｂｙｔｅ以上かつ１Ｍｂｙｔｅ未満の場合、ノード１（１０１）からのデータを１００Ｋｂｙｔｅ毎に分割して指定された宛先に優先的に転送する、という制御が実行されることを示す。
【００４８】
図６では、例えば、制御方式Ｔ１０４２−２「方式２（データサイズＳ）」に対して、条件Ｔ１０４２−３−１「１Ｍｂｙｔｅ≦Ｓ」とアクションＴ１０４２−３−２「Ｗｉ−Ｆｉインタフェースを介して転送」との組合せによる制御ルールが対応付けられている。これは、制御方式Ｔ１０４２−２「方式２（データサイズＳ）」に基づいてノード１（１０１）からのデータのデータサイズＳが計測され、当該計測結果（ノード１（１０１）からのデータのデータサイズＳ）が１Ｍｂｙｔｅ以上の場合、ノード１（１０１）からのデータをＷｉ−Ｆｉインタフェースが有効であるときにＷｉ−Ｆｉインタフェースを介して転送する、という制御が実行されることを示す。
【００４９】
図６では、例えば、ネットワーク速度Ｒに基づく制御を示す「方式３（ネットワーク速度Ｒ）」の制御方式Ｔ１０４２−２に対して、条件Ｔ１０４２−３−１「Ｒ＜１Ｍｂｐｓ」とアクションＴ１０４２−３−２「転送保留」との組合せによる制御ルールが対応付けられている。これは、制御方式Ｔ１０４２−２「方式３（ネットワーク速度Ｒ）」に基づいてノード１（１０１）からのデータの転送に用いられるネットワークの伝送速度Ｒ（ネットワーク速度Ｒとも称され得る）が計測され、当該計測結果（ネットワーク速度Ｒ）が１Ｍｂｐｓ未満の場合、ノード１（１０１）からのデータの転送を保留する、という制御が実行されることを示す。
【００５０】
図６では、例えば、制御方式Ｔ１０４２−２「方式３（ネットワーク速度Ｒ）」に対して、条件Ｔ１０４２−３−１「１Ｍｂｐｓ≦Ｒ」とアクションＴ１０４２−３−２「転送実行」との組合せによる制御ルールが対応付けられている。これは、制御方式Ｔ１０４２−２「方式３（ネットワーク速度Ｒ）」に基づいてノード１（１０１）からのデータの転送に用いられるネットワークの伝送速度Ｒ（ネットワーク速度Ｒとも称され得る）が計測され、当該計測結果（ネットワーク速度Ｒ）が１Ｍｂｐｓ以上の場合、ノード１（１０１）からのデータを指定された宛先に転送する、という制御が実行されることを示す。
【００５１】
つぎに、ＤＴＮ１処理部１０４は、ＤＴＮ経路情報Ｔ１０４３に従って、宛先ＥＩＤに対応する宛先アドレスを取得する。ここで、宛先ＥＩＤは、信号Ｓ３に示される宛先ＥＩＤであってもよいし、データの用途に応じた制御により指定された宛先ＥＩＤであってもよい。
【００５２】
図７は、ＤＴＮ経路情報Ｔ１０４３の一例を示す図である。図７に示されるＤＴＮ経路情報Ｔ１０４３は、宛先ＥＩＤ（Ｔ１０４３−１）と、宛先アドレスＴ１０４３−２とを含む。宛先ＥＩＤ（Ｔ１０４３−１）は、宛先ノードに対応するＤＴＮ処理部のアドレス（ＤＴＮアドレスとも称される）を示す。宛先アドレスＴ１０４３−２は、宛先ノードに対応するＤＴＮ処理部（転送先ＤＴＮノードとも称され得る）が動作する装置のネットワーク上のアドレスを示し、例えば、ＩＰアドレスとポート番号とを含み得る。図７の例では、ノード２（２０１）に対応するＤＴＮ２処理部２０３の宛先ＥＩＤ（Ｔ１０４３−１）「ＤｉｒｅｃｔｅｄＥＩＤ２」と、宛先アドレスＴ１０４３−２「ＤＴＮ２Ａｄｄｒ」とが対応付けられている。図７の例では、ノード３に対応するＤＴＮ処理部（図１において図示省略）の宛先ＥＩＤ（Ｔ１０４３−１）「ＤｉｒｅｃｔｅｄＥＩＤ３」と、宛先アドレスＴ１０４３−２「ＤＴＮ３Ａｄｄｒ」とが対応付けられている。図７の例では、ノード４に対応するＤＴＮ処理部（図１において図示省略）の宛先ＥＩＤ（Ｔ１０４３−１）「ＤｉｒｅｃｔｅｄＥＩＤ４」と、宛先アドレスＴ１０４３−２「ＤＴＮ４Ａｄｄｒ」とが対応付けられている。なお、各項目の設定例は、説明の便宜上、簡略化した値が用いられており、実際に用いられる値と同じであるとは、必ずしも限らないことに留意されたい。
【００５３】
ＤＴＮ１処理部１０４は、宛先アドレスの通信相手とのネットワークを介した通信が可能か否かを判定し、通信が可能な状態である場合、ノード１（１０１）からのデータを含む信号Ｓ４を、ＤＴＮプロトコルに従って、宛先アドレスで特定される通信相手に対して送信してもよい。これにより、ＤＴＮ処理部１０４は、ノード１（１０１）からのデータに対してデータの用途に応じた制御を実行した後に、宛先ＥＩＤに対応する宛先アドレスの通信相手に対して、ＤＴＮプロトコルに従って、ノード１（１０１）からのデータを含む信号Ｓ４を送信することができる。ここで、信号Ｓ４は、信号Ｓ３に示される宛先ＥＩＤを含んでもよいし、データの用途に応じた制御により指定された宛先ＥＩＤを含んでもよいことに留意されたい。別言すると、宛先情報Ｔ１０３１に示される宛先ＥＩＤに対応する宛先アドレスの通信相手に対して、信号Ｓ４を送信する場合には、信号Ｓ４は、宛先情報Ｔ１０３１に示される宛先ＥＩＤを含んでよい。あるいは、データの用途に応じた制御により指定された宛先ＥＩＤに対応する宛先アドレスの通信相手に対して、信号Ｓ４を送信する場合には、信号Ｓ４は、データの用途に応じた制御により指定された宛先ＥＩＤを含んでよい。
【００５４】
一方、ＤＴＮ１処理部１０４は、宛先アドレスの通信相手とのネットワークを介した通信が可能な状態でない場合、信号Ｓ３をバッファ１０５に格納してもよい。その後、宛先アドレスの通信相手とのネットワークを介した通信が可能な状態になったことを検知した場合、バッファ１０５に格納された信号Ｓ３に含まれるデータ（ノード１（１０１）からのデータとも称され得る）に対して、データの用途に応じた制御を再度実行してもよい。そして、データの用途に応じた制御を再度実行した後に、宛先ＥＩＤに対応する宛先アドレスの通信相手に対して、信号Ｓ４を送信してもよい。ここで、宛先ＥＩＤは、宛先情報Ｔ１０３１に示される宛先ＥＩＤ（Ｔ１０３１−２）であってもよいし、データの用途に応じた制御を再度実行することで指定される宛先ＥＩＤであってもよい。例えば、図６における、制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」の制御ルール群Ｔ１０４２−３によれば、通信不可能な状態が継続する時間長に応じて宛先ＥＩＤが変更され得る。
【００５５】
図１において、サーバ装置２０のＤＴＮ２処理部２０３は、ＤＴＮ１処理部１０４からの信号Ｓ４を受信し、信号Ｓ４に示される宛先ＥＩＤが、ＤＴＮ設定情報Ｔ２０３に示される自ノードのＤＴＮアドレスと一致するか否かを判定してもよい。信号Ｓ４に示される宛先ＥＩＤが自ノード（ＤＴＮノード、ＤＴＮ２ノードと称されてもよい）のＤＴＮアドレスと一致する場合、ＤＴＮ２処理部２０３は、ＤＴＮ設定情報Ｔ２０３に示される出力ポインタで特定される記憶領域に、信号Ｓ４に関する情報（信号Ｓ５とも称される）を格納する。なお、信号Ｓ５は、ノード１（１０１）からのデータを含む。
【００５６】
図８は、ＤＴＮ設定情報Ｔ２０３の一例を示す図である。図８に示されるＤＴＮ設定情報Ｔ２０３は、自ノードＥＩＤ（Ｔ２０３−１）と、出力ポインタＴ２０３−２とを含む。自ノードＥＩＤ（Ｔ２０３−１）は、サーバ装置２０のＤＴＮ２処理部２０３を識別するＤＴＮアドレスを示す。出力ポインタＴ２０３−２は、自ノードＥＩＤ（Ｔ２０３−１）と同じ宛先ＥＩＤを示す信号Ｓ４に関する情報（信号Ｓ５）を格納する記憶領域上の位置を示す。図８の例では、自ノードＥＩＤ（Ｔ２０３−１）「ＤｉｒｅｃｔｅｄＥＩＤ２」に対して、出力ポインタＴ２０３−２「ＯｐＰｏｉｎｔｅｒ２」が設定されている。
【００５７】
サーバ装置２０の代理２処理部２０２は、ノード設定情報Ｔ２０２に示される出力ポインタに従って、所定の記憶領域に信号Ｓ５が格納されているか否かを監視する。そして、出力ポインタに示される記憶領域に信号Ｓ５が格納されたことを検知した場合、ノード設定情報Ｔ２０２に従って、当該出力ポインタに対応するノード２アドレスに宛てて、信号Ｓ５に関する情報（信号Ｓ６とも称される）を転送する。なお、信号Ｓ６は、ノード１（１０１）からのデータを含む。
【００５８】
図９は、ノード設定情報Ｔ２０２の一例を示す図である。図９に示されるノード設定情報Ｔ２０２は、出力ポインタＴ２０２−１と、ノード２アドレスＴ２０２−２とを含む。出力ポインタＴ２０２−１は、ノード１（１０１）からのデータを含む信号Ｓ５が格納されている記憶領域上の位置を示す情報である。ノード２アドレスＴ２０２−２は、サーバ装置２０のノード２（２０１）のアドレスを示し、例えば、ＩＰアドレスとポート番号とを含み得る。図９の例では、出力ポインタＴ２０２−１「ＯｐＰｏｉｎｔｅｒ２」に対して、ノード２アドレスＴ２０２−２「Ｎ２Ａｄｄｒ」が設定されている。
【００５９】
以上、図１に例示されるノード間の信号の流れにより、端末装置１０のノード１（１０１）から送信されたデータが、ＤＴＮプロトコルに従った中継通信（転送処理とも称され得る）により、サーバ装置２０のノード２（２０１）へと中継される。その際、ノード１（１０１）から送信されたデータ（転送データとも称され得る）の用途に応じた制御ルールに従って、転送データに対する転送処理を制御することができる。
【００６０】
つぎに、端末装置１０とサーバ装置２０との通信を中継するＤＴＮノードにおける、データの用途に応じた制御ルールの実行に係る処理の流れについて説明する。
【００６１】
図１０は、実施例１に係るＤＴＮノードにおける送信処理の流れの一例を示す図である。図１０に示す処理の流れは、例えば、ＤＴＮ１処理部１０４が代理１処理部１０３から信号Ｓ３を受信したことに応じて実行を開始してもよい。以下では、図１０に示されるＤＴＮノードにおける送信処理の実行主体がＤＴＮ１処理部１０４である場合について説明する。
【００６２】
ＤＴＮ１処理部１０４は、信号Ｓ３に示される宛先ＥＩＤからアプリケーションＩＤを取得する（Ｓ１０４−１）。信号Ｓ３に示される宛先ＥＩＤは、例えば、「dtn://<宛先のノード名>/<アプリケーションＩＤ>」という情報構造を有する。例えば、宛先ＥＩＤが「dtn://serverA/AppID1」という文字列で示される場合、アプリケーションＩＤは「AppID1」である。なお、上述の例において、宛先のノード名は「serverA」である。
【００６３】
ＤＴＮ１処理部１０４は、アプリケーションＩＤに対応する制御方式及び制御ルール群（制御方式Ｔ１０４２−２及び制御ルール群Ｔ１０４２−３と称されてもよい）を、アプリケーション情報Ｔ１０４１及び制御ルール情報Ｔ１０４２に従って取得する（Ｓ１０４−２）。Ｓ１０４−２において、ＤＴＮ１処理部１０４は、アプリケーション情報Ｔ１０４１に従って、アプリケーションＩＤ（信号Ｓ３に示される宛先ＥＩＤから取得したアプリケーションＩＤ）に対応する制御ＩＤ（Ｔ１０４１−２）を取得してもよい。そして、Ｓ１０４−２において、ＤＴＮ１処理部１０４は、制御ルール情報Ｔ１０４２に従って、制御ＩＤ（Ｔ１０４１−２、Ｔ１０４２−１）に対応する制御方式Ｔ１０４２−２及び制御ルール群Ｔ１０４２−３を取得してもよい。
【００６４】
ＤＴＮ１処理部１０４は、Ｓ１０４−２で取得した制御ルール群のうち、条件を満たすアクションを選択する（Ｓ１０４−３）。Ｓ１０４−３において、ＤＴＮ１処理部１０４は、制御ルール群に示される各条件について、Ｓ１０４−２で取得した制御方式に従った判定を行ってもよい。例えば、図６における制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」によれば、ノード１（１０１）からのデータに係る経過時間Ｔに従って、何れの条件が満たされるかが判定されてよい。ここで、ノード１（１０１）からのデータに係る経過時間Ｔは、ノード１（１０１）からのデータがＤＴＮ１処理部１０４に転送されてきた時点からの経過時間であってもよいし、ノード１（１０１）においてデータを含む信号Ｓ１が生成された時点からの経過時間（データ作成からの経過時間と称されてもよい）であってもよい。
【００６５】
ＤＴＮ１処理部１０４は、Ｓ１０４−３で選択したアクションを実行する（Ｓ１０４−４）。例えば、Ｓ１０４−３において、図６における制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」に対する条件Ｔ１０４２−３−１「１分≦Ｔ＜１０分」を満たすと判定され、当該条件Ｔ１０４２−３−１「１分≦Ｔ＜１０分」に対応するアクションＴ１０４２−３−２「宛先ＥＩＤ３に転送」が選択された場合、Ｓ１０４−４において当該アクションＴ１０４２−３−２「宛先ＥＩＤ３に転送」を実行した結果、信号Ｓ３に含まれるデータの宛先は「宛先ＥＩＤ３」に指定される。例えば、Ｓ１０４−３において、図６における制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」に対する条件Ｔ１０４２−３−１「Ｔ＜１分」を満たすと判定され、当該条件Ｔ１０４２−３−１「Ｔ＜１分」に対応するアクションＴ１０４２−３−２「宛先ＥＩＤ２に転送」が選択された場合、Ｓ１０４−４において当該アクションＴ１０４２−３−２「宛先ＥＩＤ２に転送」を実行した結果、信号Ｓ３に含まれるデータの宛先は「宛先ＥＩＤ２」に指定される。また、例えば、Ｓ１０４−３において、図６における制御方式Ｔ１０４２−２「方式１（経過時間Ｔ）」に対する条件Ｔ１０４２−３−１「１０分≦Ｔ」を満たすと判定され、当該条件Ｔ１０４２−３−１「１０分≦Ｔ」に対応するアクションＴ１０４２−３−２「廃棄」が選択された場合、Ｓ１０４−４において当該アクションＴ１０４２−３−２「廃棄」を実行した結果、信号Ｓ３に含まれるデータは転送されずに廃棄されてもよい。
【００６６】
ＤＴＮ１処理部１０４は、Ｓ１０４−４でアクションを実行した後、信号Ｓ３に含まれるデータから、宛先ＥＩＤに示される転送先のＤＴＮノード（転送先ＤＴＮノードとも称され得る）に送信する信号Ｓ４を生成する（Ｓ１０４−５）。ＤＴＮプロトコルにおいて、信号Ｓ４は、バンドルと称されてもよい。
【００６７】
ＤＴＮ１処理部１０４は、ＤＴＮ経路情報Ｔ１０４３に従って、信号Ｓ４の宛先ＥＩＤから宛先アドレスを取得するなどの、ＤＴＮ経路制御を実行する（Ｓ１０４−６）。宛先アドレスは、例えば、転送先ＤＴＮノードが動作する装置のネットワーク上のアドレスを示し、ＩＰアドレスとポート番号を含み得る。
【００６８】
ＤＴＮ１処理部１０４は、ＤＴＮ経路制御（Ｓ１０４−６）で取得した宛先アドレスに従って、宛先のＤＴＮノード（転送先ＤＴＮノードとも称され得る）への通信が可能かを判定する（Ｓ１０４−７）。例えば、Ｐｉｎｇなどの到達確認用信号を宛先アドレスにより指定されるＤＴＮノードへ送信し、その到達確認用信号に対する応答が所定時間以内に受信できた場合、ＤＴＮ１処理部１０４は、転送先ＤＴＮノードと通信可能であると判定してもよい。
【００６９】
Ｓ１０４−７において、宛先のＤＴＮノードとの通信が可能であると判定した場合（Ｓ１０４−７でＹＥＳ）、ＤＴＮ１処理部１０４は、宛先アドレスで示される転送先の装置へ、信号Ｓ４を転送する（Ｓ１０４−８）。
【００７０】
一方、Ｓ１０４−７において、宛先のＤＴＮノードとの通信が可能でないと判定した場合（Ｓ１０４−７でＮＯ）、ＤＴＮ１処理部１０４は、信号Ｓ３をバッファ１０５に格納し（Ｓ１０４−９）、所定時間待機した後に、バッファ１０５に格納した信号Ｓ３について、Ｓ１０４−１以降の処理を実行してもよい。
【００７１】
以上が、実施例１に係るＤＴＮノードにおける送信処理の流れの一例である。
【００７２】
以上に開示される実施例１の一側面によれば、ＤＴＮ１処理部１０４において、ノード１（１０１）からのデータの用途に応じた制御ルールが実行されるため、ノード１（１０１）からデータが送信された後の時点においても、当該データに対して、データの用途に応じた適切な制御を実行することができる。この様な作用は、ＤＴＮプロトコルによる中継通信の伝送効率を改善し、ひいては、転送先のノード（例えばノード２（２０１））における演算コストの浪費を抑制し、ハードウェア資源をより効率的に利用する上で有用である。
【００７３】
＜実施例２＞  実施例２では、本開示に係る端末装置１０のより詳細な構成が説明される。
【００７４】
図１１は、実施例２に係る端末装置１０の構成例を示す図である。図１１に示される端末装置１０は、ノード１（１０１）（第一ノードとも称され得る）と、アドレス変換部１０２（変換１処理部１０２、第一変換処理部とも称され得る）と、代理１処理部１０３（第一代理処理部とも称され得る）と、ＤＴＮ１処理部１０４（第一ＤＴＮ処理部とも称され得る）と、バッファ１０５と、アドレス変換情報Ｔ１０２１と、宛先情報Ｔ１０３１と、接続リストＴ１０３２と、アプリケーション情報Ｔ１０４１と、制御ルール情報Ｔ１０４２と、ＤＴＮ経路情報Ｔ１０４３と、を含む。
【００７５】
図１１に示されるノード１（１０１）は、アプリケーション１０１１と、ＴＣＰ処理部１０１２とを含む。アプリケーション１０１１は、端末装置１０で動作するアプリケーション（クライアントアプリケーション、クライアントとも称され得る）の一例であり、ＴＣＰ処理部１０１２を介してサーバ装置２０のノード２（２０１）と通信することにより、ノード２（２０１）と連携して所定の機能を提供するように構成される。
【００７６】
ＴＣＰ処理部１０１２は、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）のプロトコルスタックに従って、通信を行うように構成され、例えば、ＯＳ（Operating System）のドライバなどにより提供されるＴＣＰ／ＩＰ通信機能などにより実現されてもよい。
【００７７】
アドレス変換部１０２は、アプリケーション１０１１からＴＣＰ処理部１０１２を介して送信されるパケットデータ（パケットとも称され得る）の宛先アドレスを、アドレス変換情報Ｔ１０２１に従って、代理１処理部１０３のアドレスに変換するように構成される。例えば、アドレス変換部１０２は、サーバ装置２０のノード２（２０１）を宛先とするパケットの宛先アドレス（宛先ＩＰアドレス及びポート番号）を、後述する代理１処理部１０３の送受信制御部１０３２に設定されたＴＣＰソケット（代理ソケット、ソケットとも称され得る）のアドレス（代理アドレス、代理ＩＰアドレス及びポート番号とも称され得る）に変換する。これにより、代理１処理部１０３は、アプリケーション１０１１から通信先のノード２（２０１）に送信されるパケットデータを受信（取得）することができる。なお、アドレス変換部１０２は、例えば、ＯＳとしてWindows（登録商標）が使用される場合、ＷＦＰ（Windows Filtering Platform）により実現されてもよいし、ＯＳとしてLinux（登録商標）が使用される場合、「iptables」により実現されてもよい。
【００７８】
図１１に示される代理１処理部１０３は、コネクション監視部１０３１と、送受信制御部１０３２と、プロキシ制御部１０３３と、応答制御部１０３４とを含む。
【００７９】
コネクション監視部１０３１は、アプリケーション１０１１の通信先であるノード２（２０１）とのコネクションの状態を監視し、コネクションの状態に応じてアドレス変換部１０２の動作を制御するように構成される。例えば、コネクション監視部１０３１は、アプリケーション１０１１の通信先との接続確認を所定周期で実行し、通信先からの応答パケットを受信できない場合に、コネクションが切断されていると判断してもよい。コネクション監視部１０３１は、通信先とのコネクションが切断されている状態であると判断すると、ノード１（１０１）とノード２（２０１）との通信の通信方式を、ＴＣＰ／ＩＰによる通信（第一通信方式とも称され得る）から、ＤＴＮのバンドルプロトコルによる通信（第二通信方式とも称され得る）に切り替える。例えば、コネクション監視部１０３１は、アドレス変換情報Ｔ１０２１において、宛先ノードアドレスＴ１０２１−１が変換対象として有効か否かを設定することで、アドレス変換部１０２に通信方式を指示してもよい。この場合、変換対象として有効であることは、第二通信方式で通信すべきことを意味し、変換対象として無効であることは、第一通信方式で通信すべきことを意味してもよい。
【００８０】
送受信制御部１０３２は、宛先情報Ｔ１０３１の代理アドレスＴ１０３１−１に従って、ノード１（１０１）からのデータを受信するためのソケットを生成するように構成される。宛先情報Ｔ１０３１の代理アドレスＴ１０３１−１は、アドレス変換情報Ｔ１０２１の代理アドレスＴ１０２１−２に対応する。
【００８１】
また、送受信制御部１０３２は、ノード１（１０１）からソケット経由で受信したパケット（データとも称され得る）を、ユーザやオペレータが設定したポリシー（アルゴリズムや処理方針）に従い指定サイズで分割してプロキシ制御部１０３３に出力する。分割のサイズは、例えば、ソケットのオープンからクローズまでに受信したデータサイズ、パケットの受信サイズ、または所定値とする。
【００８２】
プロキシ制御部１０３３は、送受信制御部１０３２で受信したパケットのデータを、プロキシメッセージのペイロードに収容して、バンドルＡＰＩによりＤＴＮ１処理部１０４に出力するように構成される。これにより、プロキシ制御部１０３３からＤＴＮ１処理部１０４に対してバンドルの送信が要求される。
【００８３】
プロキシ制御部１０３３は、プロキシメッセージを、宛先に応じたコネクション番号により管理する。プロキシ制御部１０３３は、送受信制御部１０３２によりソケットがオープンされるたびに新規のコネクション番号を接続リストＴ１０３２に登録してもよい。
【００８４】
図１２は、接続リストＴ１０３２の一例を示す図である。図１２に示される接続リストＴ１０３２は、コネクション番号Ｔ１０３２−１、ソケットチャネルＩＤ（Ｔ１０３２−２）、宛先ＥＩＤ（Ｔ１０３２−３）を含む。ソケットチャネルＩＤ（Ｔ１０３２−２）は、送受信制御部１０３２のソケットの識別子を示し、コネクション番号Ｔ１０３２−１と宛先ＥＩＤ（Ｔ１０３２−３）とに対応付けられる。これにより、サーバ装置２０のノード２（２０１）に信号を送信したことに応じてノード２（２０１）から信号を受信した場合、プロキシ制御部１０３３は、例えば、ノード２（２０１）からの受信信号に含まれるコネクション番号Ｔ１０３２−１に対応するソケットチャネルＩＤ（Ｔ１０３２−２）を、接続リストＴ１０３２から取得することができる。ノード２（２０１）からの受信信号に含まれるコネクション番号Ｔ１０３２−１に対応するソケットチャネルＩＤ（Ｔ１０３２−２）を取得することで、プロキシ制御部１０３３は、当該ソケットチャネルＩＤ（Ｔ１０３２−２）に対応するソケットを経由して、ノード２（２０１）からの信号をノード１（１０１）へ転送することができる。
【００８５】
プロキシ制御部１０３３は、パケットの受信元のソケットのソケットチャネルＩＤに応じたコネクション番号をプロキシメッセージに付与してＤＴＮ１処理部１０４に出力する。その際、プロキシ制御部１０３３は、宛先情報Ｔ１０３１に従って、ノード１（１０１）からのデータを受信したソケットに対応する宛先ＥＩＤを取得し、当該宛先ＥＩＤをプロキシメッセージに付与する。別言すると、プロキシ制御部１０３３は、該当する宛先ＥＩＤへのバンドルの送信を、ＤＴＮ１処理部１０４に要求する。接続リストＴ１０３２の宛先ＥＩＤ（Ｔ１０３２−３）には、ノード２（２０１）に対応するＤＴＮ２処理部２０３（転送先ＤＴＮノードとも称され得る）のＥＩＤが登録される。プロキシ制御部１０３３は、宛先情報Ｔ１０３１の宛先ＥＩＤ（Ｔ１０３１−２）に従って、転送先ＤＴＮノードの宛先ＥＩＤを取得することができる。
【００８６】
プロキシ制御部１０３３は、ＤＴＮ１処理部１０４からプロキシメッセージを受信するように構成されてもよい。プロキシ制御部１０３３は、受信したプロキシメッセージのコネクション番号が接続リストＴ１０３２に未登録である場合、送受信制御部１０３２に新規のソケットのオープンを指示し、そのソケットによる通信を開始してもよい。その場合、プロキシ制御部１０３３は、宛先情報Ｔ１０３１に従って、ＤＴＮ１処理部１０４から受信したプロキシメッセージに示される宛先ＥＩＤに対応する代理アドレスＴ１０３１−１を取得し、当該代理アドレスＴ１０３１−１を用いて新規のソケットのオープンを指示してもよい。
【００８７】
また、プロキシ制御部１０３３は、受信したプロキシメッセージにデータが収容されていない場合、接続リストＴ１０３２に従って、そのプロトコルメッセージに示されるコネクション番号に対応するソケットチャネルＩＤを取得し、当該ソケットチャネルＩＤのソケットの削除を送受信制御部１０３２に指示してもよい。
【００８８】
応答制御部１０３４は、アプリケーション１０１１からの通信が応答を要する場合、その応答を生成してアプリケーション１０１１に出力する。このため、コネクションの切断により通信先との通信が途絶した場合でも、アプリケーション１０１１は、通信の途絶を知ることなく動作を継続することができる。別言すると、アプリケーション１０１１は、コネクションの再接続後に通信のやり直しをしなくてもよい。さらに別言すると、アプリケーション１０１１は、通信相手との接続が切断されたことが、応答制御部１０３４により隠される。これにより、アプリケーション１０１１は、通信切断中か否かを意識することなく、本来の処理に専念することができる。
【００８９】
例えば、プロキシ制御部１０３３がアプリケーション１０１１の通信を中継するようにＤＴＮ１処理部１０４に指示する場合、応答制御部１０３４は、その通信に対する応答をアプリケーション１０１１に出力してもよい。アプリケーション１０１１からノード２（２０１）に対してファイルを分割転送する場合、応答制御部１０３４は、ノード２（２０１）に代理して、応答をアプリケーション１０１１に出力することで、次のファイルデータの送信をアプリケーション１０１１に促すことができる。
【００９０】
図１１に示されるＤＴＮ１処理部１０４は、アプリ固有制御部１０４１と、ＤＴＮ経路制御部１０４２と、状態通知部１０４３とを含み、ノード１（１０１）からノード２（２０１）への通信を、その通信先（ノード２（２０１））とのコネクションの状態に応じて、ＴＣＰ／ＩＰに基づく通信（第一の通信方式とも称され得る）からＤＴＮのバンドルプロトコルに基づく通信（第二の通信方式とも称され得る）に切り替えて行うように構成される。
【００９１】
アプリ固有制御部１０４１（転送制御部とも称され得る）は、プロキシ制御部１０３３からの要求に示される宛先ＥＩＤから、ノード１（１０１）からのデータの用途を示すアプリケーションＩＤを取得し、アプリケーション情報Ｔ１０４１及び制御ルール情報Ｔ１０４２に従って、当該アプリケーションＩＤに対応する制御ルールを実行するように構成される。これにより、アプリケーション１０１１から送信されたデータに対して、ＤＴＮ１処理部１０４において、データの用途に応じた制御を実行することができる。
【００９２】
ＤＴＮ経路制御部１０４２は、ＤＴＮ経路情報Ｔ１０４３に従って、アプリケーション１０１１からのデータに基づいて生成されたバンドルデータを、転送先ＤＴＮノードに転送するように構成される。ＤＴＮ経路制御部１０４２は、例えば、ＲＦＣ５０５０の規定に従い、バンドルプロトコルに基づく通信を行ってもよい。その際、ＤＴＮ経路制御部１０４２は、アプリケーション１０１１からのデータを、バンドルと呼ばれるデータメッセージのペイロード部分に収容して送信する。なお、バンドル内の各フィールドの仕様についてはＲＦＣ５０５０に規定されている。
【００９３】
ＤＴＮ経路制御部１０４２は、バンドルを送信するとき、ＤＴＮ経路情報Ｔ１０４３を参照して、バンドルプロトコルにおける宛先を示すＥＩＤ（Endpoint ID）に対応するＴＣＰ／ＩＰ上の宛先ＩＰアドレス及びＴＣＰポート番号（ポート番号とも称され得る）を取得する。ＤＴＮ経路制御部１０４２は、転送先ＤＴＮノードとのコネクションが切断されているとき、バッファ１０５（バンドルバッファとも称され得る）にバンドルを格納しておき、コネクションが再接続されたとき、バッファ１０５からバンドルを読み出して送信してもよい。
【００９４】
状態通知部１０４３は、通信の状態及び結果に関する通信情報を、例えば画面へのポップアップ表示やログによりユーザに通知するように構成される。例えば、状態通知部１０４３は、端末装置１０の表示部（液晶ディスプレイなど）に通信情報を出力してもよいし、あるいは、通信情報をログファイルに書き込んでもよい。通知情報には、例えば、アプリ固有制御部１０４１によるノード１（１０１）からのデータの用途に応じた制御ルールの実行結果が示されてもよい。
【００９５】
以上が、実施例２に係る端末装置１０の構成に関する説明である。サーバ装置２０は、実施例２に係る端末装置１０と同様の構成を備えていてもよいし、一部を省略した構成を備えていてもよい。例えば、サーバ装置２０は、アプリ固有制御部１０４１に相当する構成を省略してもよい。
【００９６】
＜変形例１＞
上述の実施例１及び２では、端末装置１０が、ノード１（１０１）と、変換１処理部１０２と、代理１処理部１０３と、ＤＴＮ１処理部１０４とを有する構成について説明したが、本開示はこれに限定されるわけではない。例えば、ノード１（１０１）と、変換１処理部１０２と、代理１処理部１０３と、ＤＴＮ１処理部１０４のうち、一部の構成を、端末装置１０とは別の装置に実装してもよい。
【００９７】
＜変形例２＞
上述の実施例１及び２では、サーバ装置２０が、ノード２（２０１）と、代理２処理部２０２と、ＤＴＮ２処理部２０３と、を有する構成について説明したが、本開示はこれに限定されるわけではない。例えば、ノード２（２０１）と、代理２処理部２０２と、ＤＴＮ２処理部２０３のうち、一部の構成を、サーバ装置２０とは別の装置に実装してもよい。
【００９８】
＜ハードウェア構成例＞  最後に、以上に開示する各実施例に用いられる装置のハードウェア構成について、簡単に説明する。図１３は、システム１における端末装置１０とサーバ装置２０とのハードウェア構成の一例を示す図である。図１３には、端末装置１０との無線通信を可能とするように構成されたアクセスポイント３０と、有線又は無線によるネットワーク４０とが図示されている。図１３に示される端末装置１０とサーバ装置２０とは、例えば、アクセスポイント３０及びネットワーク４０を介して通信することができるように構成される。
【００９９】
図１３に示される端末装置１０は、処理回路Ｈ１０１（第一処理回路とも称され得る）と、メモリＨ１０２（第一メモリとも称され得る）と、無線通信回路Ｈ１０３（第一通信回路とも称され得る）と、を有する。なお、図１３に示す端末装置末１０は、アンテナなどの一部の構成について、図示を省略されている。また、端末装置１０は、液晶ディスプレイなどの表示装置や、タッチパネルなどの入力装置や、リチウムイオン二次電池（lithium-ion rechargeable battery）などのバッテリなどの種々の構成を備えてもよい。
【０１００】
処理回路Ｈ１０１（プロセッサ回路、演算回路とも称され得る）は、例えば、メモリＨ１０２に格納されたプログラム（中継通信プログラムと称されてもよい）を読みだして実行することで、実施例１又は２に係る端末装置１０における処理を実現する演算装置（計算機と称されてもよい）であってもよい。別言すると、処理回路Ｈ１０１は、実施例１又は２に係る端末装置１０の各種処理部（例えば、ノード１（１０１）、アドレス変換部１０２、代理１処理部１０３、ＤＴＮ１処理部１０４）の実行主体としての側面を有する。さらに別言すると、処理回路Ｈ１０１は、所定のプログラム（例えば、中継通信プログラムなど）を実行することで、ノード１（１０１）、アドレス変換部１０２、代理１処理部１０３、ＤＴＮ１処理部１０４による機能を実現するハードウェア回路に変換される。処理回路Ｈ１０１として、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）やＦＰＧＡ（Field Programmable Gate Array）などが挙げられる。なお、処理回路Ｈ１０１は、二以上のコアを含むマルチコアプロセッサであっても良い。
【０１０１】
メモリＨ１０２は、処理回路Ｈ１０１で実行される各種処理に係るデータやプログラム（中継通信プログラムと称されてもよい）を記憶保持するように構成される回路である。メモリＨ１０２は、不揮発性記憶装置と揮発性記憶装置の両方あるいは一方を少なくとも含んで構成される。例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＳＳＤ（Solid State Drive）、ＨＤＤ（Hard Disk Drive）などが挙げられる。図１３において、メモリＨ１０２は、主記憶装置及び補助記憶装置などの各種記憶装置を総称したものである。本開示に係る中継通信プログラムは、予めメモリＨ１０２に格納されていてもよいし、ネットワークを介して接続されたプログラム配信装置（図示せず）からダウンロードされてメモリＨ１０２に格納されてもよい。
【０１０２】
無線通信回路Ｈ１０３は、ネットワーク４０に接続されたアクセスポイント３０と無線接続することにより、ネットワーク４０上のサーバ装置２０と通信可能に構成される。例えば、Ｗｉ−Ｆｉなどの無線ＬＡＮ（Local Area Network）の規格に準拠した通信モジュールであってもよいし、ＬＴＥ（Long Term Evolution）などの３ＧＰＰ規格に準拠した通信モジュールであってもよい。
【０１０３】
図１３に示されるサーバ装置２０は、処理回路Ｈ２０１（第二処理回路とも称され得る）、メモリＨ２０２（第二メモリとも称され得る）、有線通信回路Ｈ２０３（第二通信回路とも称され得る）、を有する。なお、図１３におけるサーバ装置２０は、アンテナなどの一部の構成について図示が省略されている。
【０１０４】
処理回路Ｈ２０１（プロセッサ回路、演算回路とも称され得る）は、例えば、メモリＨ２０２に格納されたプログラム（中継通信プログラムと称されてもよい）を読みだして実行することで、実施例１又は２に係るサーバ装置２０における処理を実現する演算装置（計算機と称されてもよい）であってもよい。別言すると、処理回路Ｈ２０１は、実施例１又は２に係るサーバ装置２０の各種処理部（例えば、ノード２（２０１）、代理２処理部２０２、ＤＴＮ２処理部２０３）の実行主体としての側面を有する。さらに別言すると、処理回路Ｈ２０１は、所定のプログラム（例えば、中継通信プログラムなど）を実行することで、ノード２（２０１）、代理２処理部２０２、ＤＴＮ２処理部２０３による機能を実現するハードウェア回路に変換される。処理回路Ｈ２０１として、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）やＦＰＧＡ（Field Programmable Gate Array）などが挙げられる。なお、処理回路Ｈ２０１は、二以上のコアを含むマルチコアプロセッサであっても良い。
【０１０５】
メモリＨ２０２は、処理回路Ｈ２０１で実行される各種処理に係るデータやプログラム（中継通信プログラムと称されてもよい）を記憶保持するように構成される回路である。メモリＨ２０２は、不揮発性記憶装置と揮発性記憶装置の両方あるいは一方を少なくとも含んで構成される。例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＳＳＤ（Solid State Drive）、ＨＤＤ（Hard Disk Drive）などが挙げられる。図１３において、メモリＨ２０２は、主記憶装置及び補助記憶装置などの各種記憶装置を総称したものである。本開示に係る中継通信プログラムは、予めメモリＨ２０２に格納されていてもよいし、ネットワークを介して接続されたプログラム配信装置（図示せず）からダウンロードされてメモリＨ２０２に格納されてもよい。
【０１０６】
有線通信回路Ｈ２０３は、アクセスポイント３０を介してネットワーク４０に接続された端末装置１０と通信可能に構成される通信モジュールである。
【０１０７】
以上の詳細な説明により、実施形態の特徴点及び利点は明らかになるであろう。これは、特許請求の範囲がその精神及び権利範囲を逸脱しない範囲で前述のような実施形態の特徴点及び利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良及び変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物及び均等物に拠ることも可能である。例えば、本明細書に開示の各工程は、必ずしも処理の流れの一例として説明された順序に沿って時系列に処理する必要はなく、特許請求の範囲に記載された本発明の要旨の範囲内において、工程の順序を入れ替えてもよく、あるいは複数の工程を並列的に実行してもよい。なお、以上の詳細な説明で明らかにされるシステム１に生じ得る事情は、システム１を一側面から検討した場合に見出し得るものであり、他の側面から検討した場合には、他の事情が見出され得ることに留意されたい。別言すると、本発明の特徴点及び利点は、以上の詳細な説明に明記された事情を奏する用途に限定されるものではない。
【０１０８】
最後に、本開示の実施形態の構成は、本発明の技術的思想を具体化するための一例を示したものであり、本発明をこの実施形態の構成に限定することを意図するものではなく、特許請求の範囲に含まれるその他の実施形態にも等しく適用し得るものである。例えば、本開示における用語は、今後の技術動向の変化などによって、名称が変更され得ることに留意されたい。また、本開示における用語に対して列挙される一以上の別称は、相互に同義であり得ることに留意されたい。
【符号の説明】
【０１０９】
１  システム
１０  端末装置
１０１  ノード１
１０１１  アプリケーション
１０１２  ＴＣＰ処理部
１０２  変換１処理部（アドレス変換部）
１０３  代理１処理部
１０３１  コネクション監視部
１０３２  送受信制御部
１０３３  プロキシ制御部
１０３４  応答制御部
１０４  ＤＴＮ１処理部
１０４１  アプリ固有制御部
１０４２  ＤＴＮ経路制御部
１０４３  状態通知部
１０５  バッファ（バンドルバッファ）
２０  サーバ装置
２０１  ノード２
２０２  代理２処理部
２０３  ＤＴＮ２処理部
【図１】
2019110489.tif 000003
【図２】
2019110489.tif 000004
【図３】
2019110489.tif 000005
【図４】
2019110489.tif 000006
【図５】
2019110489.tif 000007
【図６】
2019110489.tif 000008
【図７】
2019110489.tif 000009
【図８】
2019110489.tif 000010
【図９】
2019110489.tif 000011
【図１０】
2019110489.tif 000012
【図１１】
2019110489.tif 000013
【図１２】
2019110489.tif 000014
【図１３】
2019110489.tif 000015