(57)【要約】【課題】  ユーザが希望していないデータが配信されるのを抑制すること。【解決手段】  受信端末５０は、配信通知サービスアプリとデータ受信サービスアプリとを有する。配信通知サービスアプリは、自身のグローバルアドレス−ポート「１．１．１．１：３００００」を接続管理サーバ２０に登録する。配信通知サービスアプリは、接続管理サーバ２０から上記のグローバルアドレス−ポートを取得した送信端末１００が、上記のグローバルアドレス−ポートに向けて送信するコマンドを受信する。配信通知サービスアプリは、データ受信サービスアプリのグローバルポート番号「３０００１」を含む要求コマンドを送信端末１００に送信する。データ受信サービスアプリは、要求コマンドを受信した送信端末１００が、グローバルアドレス−ポート「１．１．１．１：３０００１」に向けて送信するコンテンツデータを受信する。【選択図】  図１
2010186207.tif 000002
【特許請求の範囲】
【請求項１】
データ送信端末に通信可能に接続されるデータ受信端末であって、
第１サービス処理部と、
第２サービス処理部と、
を備え、
前記第１サービス処理部は、
前記データ受信端末に割り当てられた第１アドレスと、前記第１サービス処理部に割り当てられた第１ポート番号と、の組合せを第１サーバに登録する登録処理部と、
前記第１アドレスと前記第１ポート番号との組合せを前記第１サーバから取得した前記データ送信端末が、前記第１アドレスと前記第１ポート番号との組合せを送信先として送信した特定通知を受信する通知受信処理部と、
を備え、
前記第１サービス処理部と前記第２サービス処理部との少なくとも一方は、
前記特定通知が受信された場合に、前記第２サービス処理部に割り当てられた第２ポート番号を含む肯定的レスポンスを、前記データ送信端末に送信する肯定的レスポンス送信処理部を備え、
前記第２サービス処理部は、
前記肯定的レスポンスを受信した前記データ送信端末が、前記第１アドレスと前記第２ポート番号との組合せを送信先として送信したデータを受信するデータ受信処理部を備える
ことを特徴とするデータ受信端末。
【請求項２】
前記第１サービス処理部が前記肯定的レスポンス送信処理部を備える
ことを特徴とする請求項１に記載のデータ受信端末。
【請求項３】
前記データ送信端末にルータを介して接続されており、
前記第１アドレスは、第１グローバルアドレスであり、
前記第１ポート番号は、第１グローバルポート番号であり、
前記第２ポート番号は、第２グローバルポート番号であり、
前記通知受信処理部は、前記特定通知を、前記ルータを介して受信し、
前記データ受信処理部は、前記データを、前記ルータを介して受信する
ことを特徴とする請求項１又は２に記載のデータ受信端末。
【請求項４】
前記第２サービス処理部は、特定パケットを第２サーバに送信することによって、前記第２サーバから前記第２グローバルポート番号を取得するグローバルポート番号取得処理部をさらに備え、
前記肯定的レスポンス送信処理部は、前記特定通知が受信された場合に、前記グローバルポート番号取得処理部によって取得された前記第２グローバルポート番号を含む前記肯定的レスポンスを、前記データ送信端末に送信する
ことを特徴とする請求項３に記載のデータ受信端末。
【請求項５】
前記肯定的レスポンス送信処理部は、前記特定通知が受信され、かつ、前記データ送信端末が前記データを送信することが許可される場合に、前記肯定的レスポンスを、前記データ送信端末に送信し、
前記第１サービス処理部は、前記特定通知が受信され、かつ、前記データ送信端末が前記データを送信することが許可されない場合に、前記第２ポート番号を含まない否定的レスポンスを、前記データ送信端末に送信する否定的レスポンス送信処理部をさらに備える
ことを特徴とする請求項１から４のいずれかに記載のデータ受信端末。
【請求項６】
前記第２サービス処理部が起動される毎に、前記第２サービス処理部に異なるポート番号が割り当てられる
ことを特徴とする請求項１から５のいずれかに記載のデータ受信端末。
【請求項７】
前記第１サービス処理部は、前記特定通知が受信された場合に、前記第２サービス処理部を起動させる起動処理部をさらに備え、
前記第２サービス処理部は、前記データ受信処理部が前記データを受信することを完了した場合に、前記第２サービス処理部を終了する終了処理部をさらに備える
ことを特徴とする請求項１から６のいずれかに記載のデータ受信端末。
【請求項８】
データ送信端末に通信可能に接続されるデータ受信端末のためのコンピュータプログラムであって、
第１サービス処理と、
第２サービス処理と、
をコンピュータに実行させ、
前記第１サービス処理は、
前記データ受信端末に割り当てられた第１アドレスと、前記第１サービス処理に割り当てられた第１ポート番号と、の組合せを第１サーバに登録する登録処理と、
前記第１アドレスと前記第１ポート番号との組合せを前記第１サーバから取得した前記データ送信端末が、前記第１アドレスと前記第１ポート番号との組合せを送信先として送信した特定通知を受信する通知受信処理と、を含み、
前記第１サービス処理と前記第２サービス処理との少なくとも一方は、
前記特定通知が受信された場合に、前記第２サービス処理に割り当てられた第２ポート番号を含む肯定的レスポンスを、前記データ送信端末に送信する肯定的レスポンス送信処理を含み、
前記第２サービス処理は、
前記肯定的レスポンスを受信した前記データ送信端末が、前記第１アドレスと前記第２ポート番号との組合せを送信先として送信するデータを受信するデータ受信処理を含む
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信端末から送信されるデータを受信することが可能であるデータ受信端末に関する。
【背景技術】
【０００２】
一対の端末の間でデータ通信を行なうために、接続管理サーバが利用されることがある。例えば、下記の特許文献１には、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を利用したデータ通信システムが開示されている。ＳＩＰを利用したシステムでは、通常、ＳＩＰサーバと呼ばれる接続管理サーバが利用される。各端末は、データ通信を実行するためのサービス処理部（アプリケーション）を有する。各端末は、自身のＩＤ（例えばＳＩＰＵＲＩ）とアドレス情報（例えばＩＰアドレスと上記のサービスに割り当てられたポート番号）とを接続管理サーバに登録する。各端末は、接続管理サーバを介して、他の端末に接続することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−９９１６８号公報
【特許文献２】特開２００７−２８１６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、第三者が、接続管理サーバに登録されているアドレス情報を不正に取得し、そのアドレス情報に向けてデータ（例えば広告データ）を一方的に配信する可能性がある。この場合、接続管理サーバに登録されている端末のユーザが希望していないにもかかわらず、その端末にデータが配信されてしまう。
【０００５】
本明細書では、ユーザが希望していないデータが配信されるのを抑制することができる技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される技術は、データ送信端末に通信可能に接続されるデータ受信端末である。データ受信端末は、第１サービス処理部と第２サービス処理部とを備える。第１サービス処理部は、登録処理部と通知受信処理部とを備える。登録処理部は、データ受信端末に割り当てられた第１アドレスと、第１サービス処理部に割り当てられた第１ポート番号と、の組合せを第１サーバに登録する。通知受信処理部は、第１アドレスと第１ポート番号との組合せを第１サーバから取得したデータ送信端末が、第１アドレスと第１ポート番号との組合せを送信先として送信する特定通知を受信する。第１サービス処理部と第２サービス処理部との少なくとも一方は、特定通知が受信された場合に、第２サービス処理部に割り当てられた第２ポート番号を含む肯定的レスポンスを、データ送信端末に送信する肯定的レスポンス送信処理部を備える。なお、上記の「特定通知が受信された場合に」とは、他の条件（ＡＮＤ条件及び／又はＯＲ条件）が付加されることを排除するものではない。例えば、肯定的レスポンス送信処理部は、特定通知が受信され、かつ、他の条件が成立した場合に、肯定的レスポンスをデータ送信端末に送信してもよい。第２サービス処理部は、肯定的レスポンスを受信したデータ送信端末が、第１アドレスと第２ポート番号との組合せを送信先として送信するデータを受信するデータ受信処理部を備える。
【０００７】
上記のデータ受信端末は、データの配信を許容するための少なくとも２つのサービス処理部（第１サービス処理部と第２サービス処理部）を備える。各サービス処理部に異なるポート番号（第１ポート番号と第２ポート番号）が割り当てられている。第１サービス処理部に割り当てられている第１ポート番号は、第１サーバに登録される。仮に、第三者が第１サーバにアクセスして第１ポート番号を不正に取得しても、その第１ポート番号が割り当てられた第１サービス処理部は、データを受信する処理を実行しない。一方において、データを受信する処理を実行する第２サービス処理部に割り当てられている第２ポート番号は、第１サーバに登録されない。従って、第三者は、第１サーバにアクセスしても第２ポート番号を取得することができない。第三者が第２ポート番号に向けてデータを配信することを抑制することができる。このデータ受信端末を利用すると、ユーザが希望していないデータが配信されるのを抑制することができる。
【０００８】
例えば、第２サービス処理部が肯定的レスポンス処理部を備える場合、肯定的レスポンスは、その送信元の情報として、第２サービス処理部に割り当てられている第２ポート番号を含むことになる。この場合、肯定的レスポンスの内容を解析すると、例えば、ＴＣＰ／ＩＰ層のような下位階層のレベルにおいて第２ポート番号を取得することができる。これに対し、第１サービス処理部が肯定的レスポンス処理部を備える場合、肯定的レスポンスは、その送信元の情報として、第１サービス処理部に割り当てられている第１ポート番号を含むことになる。この肯定的レスポンスは、上位階層のレベルで解析されるデータ（例えばアプリケーションデータ）として、第２ポート番号を含むことになる。この肯定的レスポンスから第２ポート番号を取得するためには、上位階層のレベルでの解析が必要になる。従って、この肯定的レスポンスは、送信元の情報として第２ポート番号を含む肯定的レスポンスと比べると、第２ポート番号を特定しにくいものであると言える。従って、第三者が肯定的レスポンスを解析して第２ポート番号を不正に取得するという行為を抑制するためには、第１サービス処理部が肯定的レスポンス処理部を備える方が好ましい。なお、第１サービス処理部と第２サービス処理部のそれぞれが肯定的レスポンス処理部を有していてもよい。この場合、予め決められている条件に応じて、どちらの処理部が肯定的レスポンスを送信するのかが切り替えられてもよい。第１サービス処理部が肯定的レスポンスを送信することが可能である状況では、第１サービス処理部が肯定的レスポンスを送信することが好ましい。
【０００９】
上記のデータ受信端末とデータ送信端末と第１サーバは、同一のルータの下流側（インターネットが上流側である）に存在していてもよい。即ち、これらのデバイスは、同一のプライベートネットワーク内に存在していてもよい。この場合、第１サーバには、データ受信端末に割り当てられたローカルアドレスとローカルポート番号との組合せ（プライベートネットワーク内のアドレス情報）が登録されてもよい。この構成によると、ユーザが希望していないデータがプライベートネットワーク内で配信されるのを抑制することができる。
【００１０】
一方において、上記のデータ受信端末は、データ送信端末にルータを介して通信可能に接続されてもよい。即ち、データ送信端末は、データ受信端末が存在しているプライベートネットワーク外に存在していてもよい。この場合、第１アドレスは、第１グローバルアドレスであってもよい。第１ポート番号は、第１グローバルポート番号であってもよい。第２ポート番号は、第２グローバルポート番号であってもよい。通知受信処理部は、上記の特定通知を、ルータを介して受信してもよい。データ受信処理部は、上記のデータを、ルータを介して受信してもよい。この構成によると、ユーザが希望していないデータがインターネットを経由して配信されるのを抑制することができる。
【００１１】
第２サービス処理部は、特定パケットを第２サーバに送信することによって、第２サーバから第２グローバルポート番号を取得するグローバルポート番号取得処理部をさらに有していてもよい。この場合、肯定的レスポンス送信処理部は、特定通知が受信された場合に、グローバルポート番号取得処理部によって取得された第２グローバルポート番号を含む肯定的レスポンスを、データ送信端末に送信してもよい。この構成によると、データ受信端末は、第２サービス処理部に割り当てられている第２グローバルポート番号を取得することができる。
【００１２】
肯定的レスポンス送信処理部は、特定通知が受信され、かつ、データ送信端末が上記のデータを送信することが許可される場合に、肯定的レスポンスを、データ送信端末に送信してもよい。なお、「データ送信端末がデータを送信することを許可される場合」の例としては、データ受信端末において所定の操作がユーザによって実行されること、データ受信端末において所定の情報（例えばデータ送信端末に関する情報）が記憶されていること等を挙げることができる。第１サービス処理部は、特定通知が受信され、かつ、データ送信端末がデータを送信することが許可されない場合に、第２ポート番号を含まない否定的レスポンスを、データ送信端末に送信する否定的レスポンス送信処理部をさらに有していてもよい。否定的レスポンスに第２ポート番号が含まれないために、第三者が否定的レスポンスを解析して第２ポート番号を不正に取得するという行為を抑制することができる。
【００１３】
第三者が、上記の肯定的レスポンスを解析することによって第２ポート番号を不正に取得し、第２ポート番号に向けてデータを配信する可能性がある。このような不正に対処するために、第２サービス処理部が起動される毎に、第２サービス処理部に異なるポート番号が割り当てられてもよい。第２サービス処理部に割り当てられているポート番号が第２ポート番号から他のポート番号に変わるために、ユーザが希望していないデータを第２サービス処理部が受信することを抑制することができる。
【００１４】
第１サービス処理部は、特定通知が受信された場合に、第２サービス処理部を起動させる起動処理部をさらに有していてもよい。また、第２サービス処理部は、データ受信処理部が上記のデータを受信することを完了した場合に、第２サービス処理部を終了する終了処理部をさらに有していてもよい。なお、終了処理部は、第１サービス処理部からの指示に従って第２サービス処理部を終了してもよい。一方において、終了処理部は、データ受信処理部が上記のデータを受信することを完了することを監視し、その結果として第２サービス処理部を終了してもよい。この構成によると、データ受信処理部が上記のデータの受信を完了すると、第２サービス処理部が終了する。上述したように、第２サービス処理部が次に起動される際には、第２サービス処理部に異なるポート番号が割り当てられる。このために、ユーザが希望していないデータを第２サービス処理部が受信することを効果的に抑制することができる。
【００１５】
なお、上記のデータ受信端末は、別のデータ受信端末にデータを送信するための端末として機能してもよい。このように機能するために、上記のデータ受信端末は、組合せ取得手段と通知送信手段とデータ送信手段とをさらに備えていてもよい。組合せ取得手段は、第１サーバに登録されている上記の別のデータ受信端末に割り当てられた第２アドレスと第３ポート番号との組合せを取得してもよい。通知送信手段は、組合せ取得手段によって取得された第２アドレスと第３ポート番号との組合せを送信先として、特定通知を送信してもよい。データ送信手段は、通知送信手段によって送信された特定通知に応じて、第４ポート番号を含む肯定的レスポンスを受信した場合に、第２アドレスと第４ポート番号との組合せを送信先として、データを送信してもよい。
【００１６】
上記のデータ送信端末と上記のデータ受信端末とを備えるデータ通信システムも新規で有用である。また、上記のデータ受信端末を実現するための方法やコンピュータプログラムも新規で有用である。
【図面の簡単な説明】
【００１７】
【図１】データ通信システムの構成の一例を示す。
【図２】受信端末の構成の一例を示す。
【図３】配信通知サービスアプリとデータ受信サービスアプリのそれぞれに割り当てられているアドレスとポート番号との組合せの一例を示す。
【図４】送信端末の構成の一例を示す。
【図５】各デバイスが実行する処理のシーケンスを示す。
【図６】図５の続きのシーケンスを示す。
【図７】図６の続きのシーケンスを示す。
【図８】図７の続きのシーケンスを示す。
【図９】図８の続きのシーケンスを示す。
【発明を実施するための形態】
【００１８】
ここでは、以下の実施例に記載の技術の一部を列挙しておく。
（形態１）本明細書によって開示される技術は、データ受信端末と通信可能に接続されるデータ送信端末の単体として表現することもできる。このデータ送信端末は、上記の組合せ取得手段と通知送信手段とデータ送信手段とを備えていてもよい。なお、このデータ送信端末を実現するための方法やコンピュータプログラムも新規で有用である。
【００１９】
（形態２）上記の第１サービス処理部は、上記の特定通知が受信された場合に、選択操作を実行することをユーザに許容する許容部をさらに有していてもよい。上記の肯定的レスポンス送信部は、ユーザによって第１選択操作が実行された場合に、上記の肯定的レスポンスを送信してもよい。また、上記の否定的レスポンス送信部は、ユーザによって第２選択操作が実行された場合に、上記の否定的レスポンスを実行してもよい。
【００２０】
（形態３）上記のデータ受信端末は、自身にデータを送信することが許容される端末に関する情報を記憶する端末記憶部をさらに有していてもよい。上記の肯定的レスポンス送信部は、上記のデータ送信端末に関する情報が端末記憶部に記憶されている場合に、上記の肯定的レスポンスを送信してもよい。また、上記の否定的レスポンス送信部は、上記のデータ送信端末に関する情報が端末記憶部に記憶されていない場合に、上記の否定的レスポンスを送信してもよい。
【００２１】
（形態４）第１サービス処理部と第２サービス処理部のそれぞれが肯定的レスポンス送信部を有していてもよい。この場合、第１サービス処理部の肯定的レスポンス送信部は、上記の特定通知が受信され、かつ、上記のルータが第１種類のルータである場合に、上記の肯定的レスポンスを送信してもよい。また、第２サービス処理部の肯定的レスポンス処理部は、上記の特定通知が受信され、かつ、上記のルータが第２種類のルータである場合に、肯定的レスポンスを送信してもよい。
【００２２】
（形態５）上記のルータは、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）ルータであってもよい。上記のルータがポート番号も変換する場合、上記のルータのことをＮＡＰＴルータと呼ぶこともできる。
【実施例】
【００２３】
（システムの構成）
図面を参照して実施例を説明する。図１は、本実施例のデータ通信システム２の概略図を示す。データ通信システム２は、インターネット４とＳＴＵＮサーバ１０と接続管理サーバ２０と複数のプライベートネットワーク４０，９０等を有する。インターネット４には、ＳＴＵＮサーバ１０と、接続管理サーバ２０と、複数のプライベートネットワーク４０，９０とが接続されている。
【００２４】
（ＳＴＵＮサーバ１０の構成）
ＳＴＵＮサーバ１０は、プライベートネットワーク４０，９０から送信される所定のコマンドを受信する。ＳＴＵＮサーバ１０は、上記の所定のコマンドを解析することによって、上記の所定のコマンドの送信元（例えば受信端末５０）のグローバルＩＰアドレスとグローバルポート番号との組合せを取得する。ＳＴＵＮサーバ１０は、上記の組合せを上記の所定のコマンドの送信元に送信する。これにより、上記の所定のコマンドの送信元は、自身に割り当てられているグローバルＩＰアドレスとグローバルポート番号との組合せを知ることができる。
【００２５】
（接続管理サーバ２０の構成）
接続管理サーバ２０は、端末情報記憶部２２を有する。端末情報記憶部２２は、複数の組合せデータ２４，２６を記憶する。各組合せデータ２４，２６は、端末ＩＤ３０とグローバルＩＰアドレス３２とグローバルポート番号３４とが対応づけられたものである。後で詳しく説明するが、送信端末１００からのデータの配信を希望する端末（例えば受信端末５０）は、自身のＩＤとグローバルＩＰアドレスとグローバルポート番号とを接続管理サーバ２０に登録する。送信端末１００は、接続管理サーバ２０にアクセスすることによって、データの配信を希望する端末の情報を知ることができる。なお、接続管理サーバ２０は、例えば、ＳＩＰサーバであってもよい。この場合、端末情報記憶部２２に記憶される端末ＩＤ３０は、端末に割り当てられるＳＩＰＵＲＩであってもよい。一方において、接続管理サーバ２０は、ＳＩＰ以外のプロトコルに従って処理を実行するものであってもよい。この場合、端末情報記憶部２２に記憶される端末ＩＤ３０は、例えば、端末のＭＡＣアドレス、ノード名等であってもよい。
【００２６】
（プライベートネットワーク４０の構成）
プライベートネットワーク４０は、ルータ４２を介してインターネット４に接続されている。ルータ４２は、インターネット４に接続されているとともに、ＬＡＮ４４に接続されている。プライベートネットワーク４０は、ＬＡＮ４４に接続されている各デバイスによって構成されている。本実施例では、ＬＡＮ４４に受信端末５０が接続されている。
【００２７】
ルータ４２は、ＮＡＴと呼ばれるアドレス変換処理を実行する。ルータ４２は、ローカルＩＰアドレスとローカルポート番号との第１の組合せを送信元としてプライベートネットワーク４０から送信されてくるデータを、インターネット４に送信する。この際に、ルータ４２は、送信元である上記の第１の組合せを、グローバルＩＰアドレスとグローバルポート番号との第２の組合せに変換する。逆に、上記の第２の組合せを送信先としてインターネット４から送信されてくるデータが存在する場合、ルータ４２は、送信先である上記の第２の組合せを上記の第１の組合せに変換する。
【００２８】
なお、本実施例では、ルータ４２は、インターネット４から送信されてくるデータの送信先のアドレスとポート番号との組合せがプライベートネットワーク４０内に存在する場合に、その送信先にデータを送信する。即ち、ルータ４２は、Ｆｕｌｌ  Ｃｏｎｅ  ＮＡＴと呼ばれるものである。なお、Ｆｕｌｌ  Ｃｏｎｅ  ＮＡＴと異なる種類のルータとして、Ｒｅｓｔｒｉｃｔｅｄ  Ｃｏｎｅ  ＮＡＴと呼ばれるルータが知られている。このルータは、プライベートネットワーク４０からインターネット４に送信されるコマンドの送信元のアドレスとポート番号との組合せを所定期間記憶し、その所定期間内に上記のコマンドのレスポンスのデータを受信し、かつ、そのレスポンスの送信先のアドレスとポート番号との組合せがプライベートネットワーク４０内に存在する場合に、その送信先にデータを送信する。
【００２９】
（受信端末５０の構成）
図２は、受信端末５０の構成の一例を示す。受信端末５０は、制御部５２と操作部５４と表示部５６と印刷部５８とインターフェース６０と記憶部７０等を有する。制御部５２は、記憶部７０に記憶されているプログラム（例えばアプリ７２，７４等）に従って処理を実行する。操作部５４は、複数のキーを有する。表示部５６は、様々な情報を表示する。印刷部５８は、例えば、受信端末５０によって受信されたデータを印刷媒体に印刷する。インターフェース６０は、ＬＡＮ４４に接続されている。
【００３０】
記憶部７０は、様々な情報（プログラム、制御部５２の処理の過程で生成されるデータ等）を記憶する。記憶部７０は、配信通知サービスアプリ７２とデータ受信サービスアプリ７４とを記憶している。本実施例の受信端末５０は、後述する送信端末１００から送信されるデータを受信する。送信端末１００からのデータの配信を受けるためには、受信端末５０のユーザは、送信端末１００に所定の情報を登録する必要がある。例えば、受信端末５０のユーザは、受信端末５０の端末ＩＤ７６を送信端末１００に登録する。さらに、受信端末５０が送信端末１００からのデータの配信を受けるためには、専用のアプリケーションが必要とされる。このアプリケーションが、配信通知サービスアプリ７２とデータ受信サービスアプリ７４である。受信端末５０は、例えば、これらのアプリ７２，７４を送信端末１００からダウンロードしてもよい。また、受信端末５０は、例えば、これらのアプリ７２，７４をプログラム記憶媒体からインストールしてもよい。
【００３１】
図３は、上記のアプリ７２，７４のそれぞれがデータを通信する際に利用するＩＰアドレスとポート番号との組合せの一例を示す。本実施例では、受信端末５０に割り当てられているローカルＩＰアドレスは、「１９２．１６８．０．１００」である。このローカルＩＰアドレスは、ルータ４２によってグローバルＩＰアドレスに変換される。本実施例では、ローカルＩＰアドレス「１９２．１６８．０．１００」は、グローバルＩＰアドレス「１．１．１．１」に変換される。上記のアプリ７２，７４のそれぞれには異なるローカルポート番号が割り当てられている。例えば、配信通知サービスアプリ７２には、ローカルポート番号「５００００」が割り当てられている。また、データ受信サービスアプリ７４には、ローカルポート番号「５０００１」が割り当てられている。これらのローカルポート番号は、ルータ４２によってグローバルポート番号に変換される。本実施例では、ローカルポート番号「５００００」がグローバルポート番号「３００００」に変換され、ローカルポート番号「５０００１」がグローバルポート番号「３０００１」に変換される。
【００３２】
記憶部７０は、受信端末５０の端末ＩＤ（例えば受信端末５０のＳＩＰＵＲＩ）７６を記憶する。本実施例では、受信端末５０の端末ＩＤ７６は、「ＸＸＸ」である。また、記憶部７０は、ルータ４２の種類に関するルータ種類データ７８を記憶する。ルータ種類データ７８がどのようにして記憶されるのかについては、後で詳しく説明する。記憶部７０は、上記の情報７２〜７８以外の情報を記憶するための記憶領域８０を有する。記憶領域８０に記憶される情報については、必要に応じて後で説明する。
【００３３】
（プライベートネットワーク９０の構成）
プライベートネットワーク９０（図１参照）は、ルータ９２を介してインターネット４に接続されている。ルータ９２は、インターネット４に接続されているとともに、ＬＡＮ９４に接続されている。プライベートネットワーク９０は、ＬＡＮ９４に接続されている各デバイスによって構成されている。本実施例では、ＬＡＮ９４に受信端末９６と送信端末１００が接続されている。ルータ９２は、上記のルータ４２と同様の機能を有する。受信端末９６は、上記の受信端末５０と同様の構成を有する。受信端末９６が送信端末１００から送信されるデータを受信する場合、受信端末９６は、インターネット４を介さずに、データを受信する。一方において、受信端末５０が送信端末１００から送信されるデータを受信する場合、受信端末５０は、インターネット４（即ちルータ４２）を介して、データを受信する。
【００３４】
（送信端末１００の構成）
図４は、送信端末１００の構成の一例を示す。送信端末１００は、制御部１０２とインターフェース１１０と記憶部１２０等を有する。制御部１０２は、記憶部１２０に記憶されているプログラム（例えばアプリ１２２）に従って処理を実行する。インターフェース１１０は、ＬＡＮ９４に接続されている。
【００３５】
記憶部１２０は、様々な情報（プログラム、制御部１０２の処理の過程で生成されるデータ等）を記憶する。記憶部１２０は、データ配信アプリ１２２とコンテンツデータ１２４と端末リスト１２６等を記憶している。データ配信アプリ１２２は、コンテンツデータ１２４を他の端末（例えば受信端末５０）に配信するためのアプリケーションである。コンテンツデータ１２４は、他の端末に配信されるべきデータである。端末リスト１２６は、データの配信を希望している端末群のそれぞれのＩＤを含んでいる。例えば、端末リスト１２６は、受信端末５０の端末ＩＤ「ＸＸＸ」を含んでいる。記憶部７０は、上記の情報１２２〜１２６以外の情報を記憶するための記憶領域１２８を有する。記憶領域１２８に記憶される情報については、必要に応じて後で説明する。
【００３６】
（各デバイスが実行する処理）
続いて、各デバイス１０，２０，５０，１００が実行する処理の内容について説明する。図５〜９は、各デバイス１０，２０，５０，１００が実行する処理のシーケンスを示す。図５に示されるように、受信端末５０の制御部５２は、受信端末５０の電源がＯＮされると、配信通知サービスアプリ７２を起動する（Ｓ２）。なお、配信通知サービスアプリ７２に割り当てられるローカルポート番号（図３の例では「５００００」）は、固定されていてもよいし、アプリ７２が起動される毎に決定されてもよい。図５〜９に示される破線Ｌ１は、配信通知サービスアプリ７２が実行する処理（正確に言うとアプリ７２に従って制御部５２が実行する処理）を示す。また、図７〜９に示される破線Ｌ２は、データ受信サービスアプリ７４が実行する処理（正確に言うとアプリ７４に従って制御部５２が実行する処理）を示す。
【００３７】
受信端末５０の記憶領域８０は、接続管理サーバ２０のアドレスを記憶している。配信通知サービスアプリ７２は、接続管理サーバ２０のアドレスを送信先として、Ｒｅｇｉｓｔｅｒコマンド２００を送信するコマンド送信処理を実行する（Ｓ４）。Ｒｅｇｉｓｔｅｒコマンド２００は、受信端末５０の端末ＩＤ「ＸＸＸ」を含んでいる。Ｒｅｇｉｓｔｅｒコマンド２００は、送信元のローカルアドレス−ポートを含んでいる。このローカルアドレス−ポートは、受信端末５０のローカルＩＰアドレスである「１９２．１６８．０．１００」と、配信通知サービスアプリ７２に割り当てられているローカルポート番号「５００００」との組合せである。
【００３８】
ルータ４２は、Ｒｅｇｉｓｔｅｒコマンド２００を受信する。ルータ４２は、Ｒｅｇｉｓｔｅｒコマンド２００の送信元のローカルアドレス−ポートを、グローバルアドレス−ポートに変換する。このグローバルアドレス−ポートは、グローバルＩＰアドレス「１．１．１．１」とグローバルポート番号「３００００」との組合せである。ルータ４２は、グローバルアドレス−ポート「１．１．１．１：３００００」を含むＲｅｇｉｓｔｅｒコマンド２０２を接続管理サーバ２０に送信する。
【００３９】
接続管理サーバ２０は、Ｒｅｇｉｓｔｅｒコマンド２０２を受信する。接続管理サーバ２０は、Ｒｅｇｉｓｔｅｒコマンド２０２に含まれる端末ＩＤ「ＸＸＸ」とグローバルアドレス−ポート「１．１．１．１：３００００」を端末情報記憶部２２に登録する登録処理を実行する（Ｓ６）。接続管理サーバ２０は、端末情報記憶部２２の端末ＩＤ３０の欄に登録されている端末からのＲｅｇｉｓｔｅｒコマンドを所定期間に亘って受信しない場合に、その端末に関する組合せデータ２４，２６を削除する。配信通知サービスアプリ７２は、自身が起動している間はＲｅｇｉｓｔｅｒコマンド２００を定期的に送信する。
【００４０】
送信端末１００の記憶領域１２８は、接続管理サーバ２０のアドレスを記憶している。送信端末１００のデータ配信アプリ１２２は、接続管理サーバ２０のアドレスを送信先として、第１コマンド２１０を送信する第１問い合わせ処理を実行する（Ｓ８）。第１コマンド２１０は、端末リスト１２６の端末ＩＤ（本実施例では「ＸＸＸ」）を含んでいる。なお、送信端末１００が第１問い合わせ処理（Ｓ８）を実行するタイミングは、特に限定されない。例えば、送信端末１００は、新しいコンテンツデータ１２４を取得した場合に第１問い合わせ処理を実行してもよいし、ユーザからの指示に従って第１問い合わせ処理を実行してもよいし、定期的に第１問い合わせ処理を実行してもよい。
【００４１】
接続管理サーバ２０は、第１コマンド２１０を受信する。接続管理サーバ２０は、第１コマンド２１０に含まれる端末ＩＤ「ＸＸＸ」に対応づけて端末情報記憶部２２に記憶されているグローバルアドレス−ポート「１．１．１．１：３００００」を特定する。接続管理サーバ２０は、特定されたグローバルアドレス−ポートを含むレスポンス２１２を送信端末１００に送信する応答処理を実行する（Ｓ１０）。
【００４２】
送信端末１００のデータ配信アプリ１２２は、レスポンス２１２を受信する。データ配信アプリ１２２は、レスポンス２１２を解析することによって、グローバルアドレス−ポート「１．１．１．１：３００００」を取得する。次いで、図６に示されるように、データ配信アプリ１２２は、グローバルアドレス−ポート「１．１．１．１：３００００」を送信先として、第２コマンド２２０を送信する第２問い合わせ処理を実行する（Ｓ２０）。第２コマンド２２０は、問い合わせメッセージ２２２と、送信先のグローバルアドレス−ポート「１．１．１．１：３００００」と、送信元のアドレス−ポート２２４とを含んでいる。問い合わせメッセージ２２２は、受信端末５０で表示されるべきテキストメッセージである。送信元のアドレス−ポート２２４は、送信端末１００に割り当てられているローカルアドレスと、データ配信アプリ１２２に割り当てられているローカルポート番号との組合せである。即ち、送信端末１００から第２コマンド２２０が送信される時点では、第２コマンド２２０の送信元のアドレス−ポート２２４は、ローカルアドレス−ポートである。このローカルアドレス−ポートは、ルータ９２によってグローバルアドレス−ポートに変換される。従って、ルータ９２よりインターネット４側では、第２コマンド２２０の送信元のアドレス−ポート２２４は、グローバルアドレス−ポートである。
【００４３】
ルータ４２は、第２コマンド２２０を受信する。ルータ４２は、第２コマンド２２０の送信先のグローバルアドレス−ポート「１．１．１．１：３００００」を、ローカルアドレス−ポート「１９２．１６８．０．１００：５００００」に変換する。ルータ４２は、送信先のローカルアドレス−ポート「１９２．１６８．０．１００：５００００」を含む第２コマンド２２６を受信端末５０に送信する。
【００４４】
受信端末５０の配信通知サービスアプリ７２は、第２コマンド２２６を受信する。配信通知サービスアプリ７２は、第２コマンド２２６に含まれる問い合わせメッセージ２２２を表示部５６に表示する表示処理を実行する（Ｓ２２）。問い合わせメッセージ２２２は、データ配信を希望するのか否かを選択することをユーザに促すメッセージである。配信通知サービスアプリ７２は、ユーザの操作が肯定的な操作であるのか否かを判断する（Ｓ２４）。ユーザの操作が否定的な操作である場合、後述する図９のＳ７６に進む。一方において、ユーザの操作が肯定的な操作である場合、配信通知サービスアプリ７２は、記憶部７０にルータ種類データ７８が記憶されているのか否かを判断する（Ｓ２６）。ここでＹＥＳの場合、後述する図７のＳ４０に進む。
【００４５】
受信端末５０の記憶領域８０は、ＳＴＵＮサーバ１０のアドレスを記憶している。Ｓ２６でＮＯの場合、配信通知サービスアプリ７２は、ＳＴＵＮサーバ１０のアドレスを送信先として、種類問い合わせコマンド２２８を送信する種類問い合わせ処理を実行する（Ｓ２８）。ＳＴＵＮサーバ１０は、種類問い合わせコマンド２２８を受信する。ＳＴＵＮサーバ１０は、ルータ４２の種類（Ｆｕｌｌ  Ｃｏｎｅ  ＮＡＴ又はＲｅｓｔｒｉｃｔｅｄ  Ｃｏｎｅ  ＮＡＴ）を示すルータ種類データ２３２を含むレスポンス２３０を送信する。配信通知サービスアプリ７２は、レスポンス２３０を受信する。配信通知サービスアプリ７２は、レスポンス２３０に含まれるルータ種類データ２３２を記憶部７０に記憶させる記憶処理を実行する（Ｓ３０）。これにより、記憶部７０にルータ種類データ７８（本実施例ではＦｕｌｌ  Ｃｏｎｅ  ＮＡＴ）が記憶される。Ｓ３０を終えると、図７のＳ４０に進む。
【００４６】
図７のＳ４０では、配信通知サービスアプリ７２は、データ受信サービスアプリ７４を起動する処理を実行する（Ｓ４０）。データ受信サービスアプリ７４は、自身が起動したタイミングでローカルポート番号が割り当てられる。本実施例では、データ受信サービスアプリ７４が起動する毎に、配信通知サービスアプリ７２が、データ受信サービスアプリ７４のローカルポート番号を決定する。配信通知サービスアプリ７２は、データ受信サービスアプリ７４の前回の起動時に割り当てられた前回ローカルポート番号を記憶しておく。配信通知サービスアプリ７２は、データ受信サービスアプリ７４を起動する際に、前回ローカルポート番号と異なるローカルポート番号を決定する。本実施例では、図３に例示されるローカルポート番号「５０００１」がデータ受信サービスアプリ７４に割り当てられた場合を例にして以下の説明を続ける。
【００４７】
なお、例えば、データ受信サービスアプリ７４は、データ受信サービスアプリ７４を起動する際に、ランダムにローカルポート番号を決定してもよい。この場合であっても、前回ローカルポート番号と異なるローカルポート番号に決定される可能性が高い。この例も、前回ローカルポート番号と異なるローカルポート番号を決定することに等しい。
【００４８】
配信通知サービスアプリ７２は、記憶部７０に記憶されているルータ種類データ７８に基づいて、ルータ４２がＦｕｌｌ  Ｃｏｎｅ  ＮＡＴであるのか否かを判断する（Ｓ４２）。ここでＹＥＳの場合、後述する図８のＳ６０に進む。一方において、Ｓ４２でＮＯの場合、配信通知サービスアプリ７２は、第１指示２４０をデータ受信サービスアプリ７４に供給する第１指示処理を実行する（Ｓ４４）。この結果、データ受信サービスアプリ７４は、上記の図６の第２コマンド２２６に含まれる送信元のグローバルアドレス−ポート２２４（即ち送信端末１００のデータ配信アプリ１２２）を送信先として、要求コマンド２４２を送信する要求処理を実行する（Ｓ４６）。要求コマンド２４２は、送信元のローカルアドレス−ポートを含んでいる。このローカルアドレス−ポートは、受信端末５０のローカルＩＰアドレスである「１９２．１６８．０．１００」とデータ受信サービスアプリ７４に割り当てられているローカルポート番号「５０００１」との組合せである。
【００４９】
ルータ４２は、要求コマンド２４２を受信する。ルータ４２は、要求コマンド２４２の送信元のローカルアドレス−ポート「１９２．１６８．０．１００：５０００１」を、グローバルアドレス−ポート「１．１．１．１：３０００１」に変換する。ルータ４２は、送信元のグローバルアドレス−ポートを含む要求コマンド２４４を送信端末１００に送信する。
【００５０】
送信端末１００のデータ配信アプリ１２２は、要求コマンド２４４を受信する。データ配信アプリ１２２は、要求コマンド２４４を解析することによって、送信元のグローバルアドレス−ポート「１．１．１．１：３０００１」を取得する。データ配信アプリ１２２は、ＴＣＰ／ＩＰ層のレベルでの解析を実行することによって、送信元のグローバルアドレス−ポート「１．１．１．１：３０００１」を取得することができる。データ配信アプリ１２２は、グローバルアドレス−ポート「１．１．１．１：３０００１」を送信先として、送信コマンド２４６を送信するデータ送信処理を実行する（Ｓ４８）。送信コマンド２４６は、コンテンツデータ１２４と、送信先のグローバルアドレス−ポート「１．１．１．１：３０００１」とを含んでいる。
【００５１】
ルータ４２は、送信コマンド２４６を受信する。ルータ４２は、送信コマンド２４６の送信先のグローバルアドレス−ポート「１．１．１．１：３０００１」を、ローカルアドレス−ポート「１９２．１６８．０．１００：５０００１」に変換する。ルータ４２は、送信先のローカルアドレス−ポートを含む送信コマンド２４８を受信端末５０に送信する。
【００５２】
受信端末５０のデータ受信サービスアプリ７４は、送信コマンド２４８を受信する。即ち、データ受信サービスアプリ７４は、コンテンツデータ１２４を受信する処理を実行する。データ受信サービスアプリ７４は、コンテンツデータ１２４の受信が完了すると、データ受信サービスアプリ７４を終了する処理を実行する（Ｓ５０）。
【００５３】
上述したように、ルータ４２がＦｕｌｌ  Ｃｏｎｅ  ＮＡＴである場合、上記のＳ４２においてＹＥＳと判断され、図８のＳ６０に進む。Ｓ６０では、配信通知サービスアプリ７２は、第２指示２５０をデータ受信サービスアプリ７４に供給する第２指示処理を実行する。この結果、データ受信サービスアプリ７４は、ＳＴＵＮサーバ１０のアドレスを送信先として、問い合わせコマンド２５２を送信する問い合わせ処理を実行する（Ｓ６２）。問い合わせコマンド２５２は、送信元のローカルアドレス−ポート「１９２．１６８．０．１００：５０００１」を含んでいる。
【００５４】
ルータ４２は、問い合わせコマンド２５２を受信する。ルータ４２は、問い合わせコマンド２５２の送信元のローカルアドレス−ポート「１９２．１６８．０．１００：５０００１」を、グローバルアドレス−ポート「１．１．１．１：３０００１」に変換する。ルータ４２は、送信元のグローバルアドレス−ポートを含む問い合わせコマンド２５４をＳＴＵＮサーバ１０に送信する。
【００５５】
ＳＴＵＮサーバ１０は、問い合わせコマンド２５４を受信する。ＳＴＵＮサーバ１０は、問い合わせコマンド２５４を解析することによって、送信元のグローバルアドレス−ポート「１．１．１．１：３０００１」を特定する。ＳＴＵＮサーバ１０は、特定されたグローバルアドレス−ポートを含むレスポンス２５６を送信する。
【００５６】
受信端末５０のデータ受信サービスアプリ７４は、レスポンス２５６を受信する。データ受信サービスアプリ７４は、レスポンス２５６を解析することによって、グローバルアドレス−ポート「１．１．１．１：３０００１」を取得する。データ受信サービスアプリ７４は、グローバルアドレス−ポート「１．１．１．１：３０００１」を含む通知２５８を配信通知サービスアプリ７２に供給する通知処理を実行する（Ｓ６４）。Ｓ６４を終えると、図９のＳ７０に進む。
【００５７】
Ｓ７０では、配信通知サービスアプリ７２は、上記の図６の第２コマンド２２６に含まれる送信元のグローバルアドレス−ポート２２４（即ち送信端末１００のデータ配信アプリ１２２）を送信先として、要求コマンド２６０を送信する要求処理を実行する。要求コマンド２６０は、送信元のローカルアドレス−ポート「１９２．１６８．０．１００：５００００」と、通知２５８に含まれるグローバルアドレス−ポート「１．１．１．１：３０００１」とを含んでいる。
【００５８】
ルータ４２は、要求コマンド２６０を受信する。ルータ４２は、要求コマンド２６０の送信元のローカルアドレス−ポート「１９２．１６８．０．１００：５００００」を、グローバルアドレス−ポート「１．１．１．１：３００００」に変換する。ルータ４２は、送信元のグローバルアドレス−ポートを含む要求コマンド２６２を送信端末１００に送信する。
【００５９】
送信端末１００のデータ配信アプリ１２２は、要求コマンド２６２を受信する。データ配信アプリ１２２は、要求コマンド２６２を解析することによって、グローバルアドレス−ポート「１．１．１．１：３０００１」を取得する。データ配信アプリ１２２は、アプリケーション層のレベルでの解析を実行することによって、要求コマンド２６２に含まれるグローバルアドレス−ポート「１．１．１．１：３０００１」を取得することができる。データ配信アプリ１２２は、グローバルアドレス−ポート「１．１．１．１：３０００１」を送信先として、送信コマンド２６４を送信するデータ送信処理を実行する（Ｓ７２）。送信コマンド２６４は、コンテンツデータ１２４と、送信先のグローバルアドレス−ポート「１．１．１．１：３０００１」とを含んでいる。
【００６０】
ルータ４２は、送信コマンド２６４を受信する。ルータ４２は、送信コマンド２６４の送信先のグローバルアドレス−ポート「１．１．１．１：３０００１」を、ローカルアドレス−ポート「１９２．１６８．０．１００：５０００１」に変換する。ルータ４２は、送信先のローカルアドレス−ポートを含む送信コマンド２６６を受信端末５０に送信する。
【００６１】
受信端末５０のデータ受信サービスアプリ７４は、送信コマンド２６６を受信する。データ受信サービスアプリ７４は、コンテンツデータ１２４の受信が完了すると、データ受信サービスアプリ７４を終了する処理を実行する（Ｓ７４）。
【００６２】
なお、図６のＳ２４でＮＯと判断された場合、配信通知サービスアプリ７２は、上記の図６の第２コマンド２２６に含まれる送信元のグローバルアドレス−ポート２２４（即ち送信端末１００のデータ配信アプリ１２２）を送信先として、非要求コマンド２６８を送信する非要求処理を実行する（Ｓ７８）。非要求コマンド２６８は、要求コマンド２６０と異なり、グローバルアドレス−ポート「１．１．１．１：３０００１」を含まない。送信端末１００は、非要求コマンド２６８を受信すると、受信端末５０にコンテンツデータ１２４を配信するための処理を終了する。
【００６３】
本実施例のデータ通信システム２について詳しく説明した。受信端末５０は、コンテンツデータ１２４の配信を許容するための２つのアプリ７２，７４を有する。各アプリ７２，７４に異なるグローバルポート番号（３００００と３０００１）が割り当てられている。配信通知サービスアプリ７２に割り当てられているグローバルポート番号「３００００」は接続管理サーバ２０に登録される。仮に、第三者が接続管理サーバ２０にアクセスしてグローバルＩＰアドレス「１．１．１．１」とポート番号「３００００」を不正に取得しても、そのポート番号「３００００」が割り当てられている配信通知サービスアプリ７２は、コンテンツデータ１２４を受信する処理を実行しない。一方において、コンテンツデータ１２４を受信する処理を実行するデータ受信サービスアプリ７４に割り当てられているポート番号「３０００１」は、接続管理サーバ２０に登録されない。従って、第三者は、接続管理サーバ２０にアクセスしてもポート番号「３０００１」を取得することができない。第三者がポート番号「３０００１」に向けてデータを配信することを抑制することができる。本実施例の受信端末５０を利用すると、ユーザが希望していないコンテンツデータ１２４が配信されるのを抑制することができる。
【００６４】
また、本実施例では、ルータ４２がＦｕｌｌ  Ｃｏｎｅ  ＮＡＴである場合、配信通知サービスアプリ７２が、要求コマンド２６０を送信する（図９のＳ７０参照）。即ち、要求コマンド２６０の送信元は、配信通知サービスアプリ７２である。従って、仮に、第三者が要求コマンド２６０に対して下位階層（例えばＴＣＰ／ＩＰ層）のレベルでの解析を実行しても、配信通知サービスアプリ７２のグローバルアドレス−ポート番号「１．１．１．１：３００００」しか取得することができない。要求コマンド２６０に含まれるデータ受信サービスアプリ７４のグローバルアドレス−ポート番号「１．１．１．１：３０００１」を取得するためには、上位階層のレベル（例えばアプリケーション層）での解析が必要である。データ受信サービスアプリ７４のグローバルアドレス−ポート番号が漏洩しにくい構成であると言える。なお、本実施例では、非要求コマンド２６８には、データ受信サービスアプリ７４のグローバルアドレス−ポート番号が含まれない。この点においても、データ受信サービスアプリ７４のグローバルアドレス−ポート番号が漏洩しにくくなっている。
【００６５】
第三者が、要求コマンド２６２（図９参照）からデータ受信サービスアプリ７４のグローバルアドレス−ポート番号を不正に取得し、そのグローバルアドレス−ポート番号に向けてデータ（以下では不正送信データと呼ぶ）を送信する可能性がある。本実施例では、データ受信サービスアプリ７４が起動される毎に、データ受信サービスアプリ７４に異なるローカルポート番号が割り当てられる。この結果、データ受信サービスアプリ７４が起動される毎に、ルータ４２によってデータ受信サービスアプリ７４に割り当てられるグローバルポート番号も変わることになる。データ受信サービスアプリ７４のグローバルポート番号が変わるために、データ受信サービスアプリ７４が不正送信データを受信することを抑制することができる。
【００６６】
（実施例の第１変形例）
受信端末５０は、送信端末１００と同様の機能を有していてもよい。即ち、受信端末５０は、データ配信アプリ１２２を有していてもよい。この場合、受信端末９６に関する情報が接続管理サーバ２０に登録されており、受信端末５０は、受信端末９６にコンテンツデータを送信してもよい。受信端末５０は、データ配信アプリ１２２に従って、図５のＳ８の第１問い合わせ処理、図６のＳ２０の第２問い合わせ処理、図７のＳ４８又は図９のＳ７２のデータ送信処理等を実行してもよい。
【００６７】
（実施例の第２変形例）
上記の実施例では、受信端末５０の配信通知サービスアプリ７２は、図６の第２コマンド２２０，２２６に含まれる問い合わせメッセージ２２２を表示し、ユーザの選択操作に従ってＳ２４の判断処理を実行する。しかしながら、受信端末５０の記憶領域８０は、ユーザがデータの配信を希望する端末（例えば送信端末１００）の端末ＩＤを記憶しておいてもよい。第２コマンド２２０，２２６は、送信端末１００の端末ＩＤを含んでいてもよい。配信通知サービスアプリ７２は、第２コマンド２２０，２２６に含まれる端末ＩＤが記憶領域８０に記憶されている場合にＳ２４でＹＥＳと判断し、そうでない場合にＳ２４でＮＯと判断してもよい。
【００６８】
（実施例の第３変形例）
上記の実施例では、図９のＳ７０の要求処理では、グローバルＩＰアドレス「１．１．１．１」とポート番号「３０００１」との組合せを含む要求コマンド２６０が送信される。しかしながら、要求コマンド２６０は、上記の組合せの代わりに、ポート番号「３０００１」のみを含んでいてもよい（即ちグローバルＩＰアドレス「１．１．１．１」を含まなくてもよい）。この場合であっても、送信端末１００は、要求コマンド２６２に含まれる送信元の情報に基づいて、グローバルＩＰアドレス「１．１．１．１」を特定することができる。
【００６９】
（実施例の第４変形例）
ＳＴＵＮサーバ１０と接続管理サーバ２０は、一体に構成されていてもよい。また、実施例に記載された他の２以上のデバイス（例えばＳＴＵＮサーバ１０とルータ４２）が一体に構成されてもよい。
【００７０】
以上の説明から分かるように、本実施例の受信端末５０、送信端末１００、接続管理サーバ２０、ＳＴＵＮサーバ１０、ルータ４２が、それぞれ、本発明のデータ受信端末、データ送信端末、第１サーバ、第２サーバ、ルータに対応する。また、受信端末５０の配信通知サービスアプリ７２、データ受信サービスアプリ７４を実行する制御部５２が、それぞれ、データ受信端末の第１サービス処理部、第２サービス処理部に対応する。さらに、受信端末５０のグローバルＩＰアドレス「１．１．１．１」が第１アドレスに対応し、配信通知サービスアプリ７２のグローバルポート番号「３００００」と、データ受信サービスアプリ７４のグローバルポート番号「３０００１」とが、それぞれ、第１ポート番号と第２ポート番号とに対応する。
【００７１】
コマンド送信処理（図５のＳ４）が、本発明の登録処理部によって実行される処理に対応し、図６に示す第２コマンド２２６を受信する処理が、本発明の通知受信処理部によって実行される処理に対応する。また、図７に示す要求コマンド２４２を送信する要求処理（Ｓ４６）と、図９に示す要求コマンド２６０を送信する要求処理（Ｓ７０）とが、肯定的レスポンス処理部によって実行される肯定的レスポンスの送信処理に対応する。そして、図７に示すコンテンツデータ１２４を含む送信コマンド２４８を受信する処理と、図９に示すコンテンツデータ１２４を含む送信コマンド２６６を受信する処理とが、データ受信処理部によって実行される処理に対応する。
【００７２】
なお、図８に示す問い合わせコマンド２５２を送信して、レスポンス２５６を受信する処理（図８）が、本発明のグローバルポート番号取得処理部によって実行される処理に対応する。また、図９に示す非要求コマンド２６８を送信する非要求処理（Ｓ７６）が、否定的レスポンス送信処理部によって実行される否定的レスポンスの送信処理に対応する。さらに、起動処理（図７のＳ４０）が、起動処理部によって実行される処理に対応し、終了処理（図７のＳ５０、図９のＳ７４）が、終了処理部によって実行される処理に対応する。
【００７３】
本発明の別のデータ受信端末は、上記の第１変形例において記載された受信端末９６に対応する。本発明の組合せ取得手段、通知送信手段、及び、データ送信手段は、受信端末５０がデータ配信アプリ１２２を有することによって実現される。組合せ取得手段の処理は、第１問い合わせ処理（図５のＳ８）に対応する。第２アドレスは、受信端末９６に割り当てられているグローバルＩＰアドレス（例えば「１．１．１．２」）に対応する。第３ポート番号は、受信端末９６の配信通知サービスアプリに割り当てられているグローバルポート番号（例えば「４００００」）に対応する。通知送信手段は、第２問い合わせ処理（図６のＳ２０）に対応する。データ送信手段は、データ送信処理（図７のＳ４８、図９のＳ７２）に対応する。第４ポート番号は、受信端末９６のデータ受信サービスアプリに割り当てられているグローバルポート番号（例えば「４０００１」）に対応する。
【００７４】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００７５】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００７６】
２：データ通信システム、４：インターネット、１０：ＳＴＵＮサーバ、２０：接続管理サーバ、２２：端末情報記憶部、４０：プライベートネットワーク、４２：ルータ、５０ 受信端末、７２：配信通知サービスアプリ、７４：データ受信サービスアプリ、９０：プライベートネットワーク、９２：ルータ、９６：受信端末、１００：送信端末、１２２：データ配信アプリ、１２４：コンテンツデータ
【図１】
2010186207.tif 000003
【図２】
2010186207.tif 000004
【図３】
2010186207.tif 000005
【図４】
2010186207.tif 000006
【図５】
2010186207.tif 000007
【図６】
2010186207.tif 000008
【図７】
2010186207.tif 000009
【図８】
2010186207.tif 000010
【図９】
2010186207.tif 000011