JP2010186207A - Data receiving terminal and computer program - Google Patents
Data receiving terminal and computer program Download PDFInfo
- Publication number
- JP2010186207A JP2010186207A JP2009027986A JP2009027986A JP2010186207A JP 2010186207 A JP2010186207 A JP 2010186207A JP 2009027986 A JP2009027986 A JP 2009027986A JP 2009027986 A JP2009027986 A JP 2009027986A JP 2010186207 A JP2010186207 A JP 2010186207A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing unit
- port number
- terminal
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、データ送信端末から送信されるデータを受信することが可能であるデータ受信端末に関する。 The present invention relates to a data receiving terminal capable of receiving data transmitted from a data transmitting terminal.
一対の端末の間でデータ通信を行なうために、接続管理サーバが利用されることがある。例えば、下記の特許文献1には、SIP(Session Initiation Protocol)を利用したデータ通信システムが開示されている。SIPを利用したシステムでは、通常、SIPサーバと呼ばれる接続管理サーバが利用される。各端末は、データ通信を実行するためのサービス処理部(アプリケーション)を有する。各端末は、自身のID(例えばSIPURI)とアドレス情報(例えばIPアドレスと上記のサービスに割り当てられたポート番号)とを接続管理サーバに登録する。各端末は、接続管理サーバを介して、他の端末に接続することができる。 A connection management server may be used to perform data communication between a pair of terminals. For example, the following Patent Document 1 discloses a data communication system using SIP (Session Initiation Protocol). In a system using SIP, a connection management server called a SIP server is usually used. Each terminal has a service processing unit (application) for executing data communication. Each terminal registers its own ID (for example, SIP URI) and address information (for example, an IP address and a port number assigned to the service) in the connection management server. Each terminal can be connected to another terminal via the connection management server.
ところで、第三者が、接続管理サーバに登録されているアドレス情報を不正に取得し、そのアドレス情報に向けてデータ(例えば広告データ)を一方的に配信する可能性がある。この場合、接続管理サーバに登録されている端末のユーザが希望していないにもかかわらず、その端末にデータが配信されてしまう。 By the way, there is a possibility that a third party illegally acquires address information registered in the connection management server and unilaterally distributes data (for example, advertisement data) toward the address information. In this case, data is distributed to the terminal even though the user of the terminal registered in the connection management server does not desire.
本明細書では、ユーザが希望していないデータが配信されるのを抑制することができる技術を提供する。 The present specification provides a technique that can suppress distribution of data not desired by the user.
本明細書によって開示される技術は、データ送信端末に通信可能に接続されるデータ受信端末である。データ受信端末は、第1サービス処理部と第2サービス処理部とを備える。第1サービス処理部は、登録処理部と通知受信処理部とを備える。登録処理部は、データ受信端末に割り当てられた第1アドレスと、第1サービス処理部に割り当てられた第1ポート番号と、の組合せを第1サーバに登録する。通知受信処理部は、第1アドレスと第1ポート番号との組合せを第1サーバから取得したデータ送信端末が、第1アドレスと第1ポート番号との組合せを送信先として送信する特定通知を受信する。第1サービス処理部と第2サービス処理部との少なくとも一方は、特定通知が受信された場合に、第2サービス処理部に割り当てられた第2ポート番号を含む肯定的レスポンスを、データ送信端末に送信する肯定的レスポンス送信処理部を備える。なお、上記の「特定通知が受信された場合に」とは、他の条件(AND条件及び/又はOR条件)が付加されることを排除するものではない。例えば、肯定的レスポンス送信処理部は、特定通知が受信され、かつ、他の条件が成立した場合に、肯定的レスポンスをデータ送信端末に送信してもよい。第2サービス処理部は、肯定的レスポンスを受信したデータ送信端末が、第1アドレスと第2ポート番号との組合せを送信先として送信するデータを受信するデータ受信処理部を備える。 The technology disclosed in this specification is a data receiving terminal that is communicably connected to a data transmitting terminal. The data receiving terminal includes a first service processing unit and a second service processing unit. The first service processing unit includes a registration processing unit and a notification reception processing unit. The registration processing unit registers a combination of the first address assigned to the data receiving terminal and the first port number assigned to the first service processing unit in the first server. The notification reception processing unit receives a specific notification in which the data transmission terminal that has acquired the combination of the first address and the first port number from the first server transmits the combination of the first address and the first port number as the transmission destination. To do. At least one of the first service processing unit and the second service processing unit sends a positive response including the second port number assigned to the second service processing unit to the data transmission terminal when the specific notification is received. A positive response transmission processing unit for transmitting is provided. Note that “when a specific notification is received” does not exclude the addition of another condition (AND condition and / or OR condition). For example, the positive response transmission processing unit may transmit a positive response to the data transmission terminal when the specific notification is received and other conditions are satisfied. The second service processing unit includes a data reception processing unit that receives data transmitted from the data transmission terminal that has received the positive response using the combination of the first address and the second port number as the transmission destination.
上記のデータ受信端末は、データの配信を許容するための少なくとも2つのサービス処理部(第1サービス処理部と第2サービス処理部)を備える。各サービス処理部に異なるポート番号(第1ポート番号と第2ポート番号)が割り当てられている。第1サービス処理部に割り当てられている第1ポート番号は、第1サーバに登録される。仮に、第三者が第1サーバにアクセスして第1ポート番号を不正に取得しても、その第1ポート番号が割り当てられた第1サービス処理部は、データを受信する処理を実行しない。一方において、データを受信する処理を実行する第2サービス処理部に割り当てられている第2ポート番号は、第1サーバに登録されない。従って、第三者は、第1サーバにアクセスしても第2ポート番号を取得することができない。第三者が第2ポート番号に向けてデータを配信することを抑制することができる。このデータ受信端末を利用すると、ユーザが希望していないデータが配信されるのを抑制することができる。 The data receiving terminal includes at least two service processing units (a first service processing unit and a second service processing unit) for allowing data distribution. Different port numbers (first port number and second port number) are assigned to each service processing unit. The first port number assigned to the first service processing unit is registered in the first server. Even if a third party accesses the first server and obtains the first port number illegally, the first service processing unit to which the first port number is assigned does not execute processing for receiving data. On the other hand, the second port number assigned to the second service processing unit that executes the process of receiving data is not registered in the first server. Therefore, even if the third party accesses the first server, the second port number cannot be acquired. It is possible to suppress a third party from distributing data toward the second port number. By using this data receiving terminal, it is possible to suppress the distribution of data that the user does not want.
例えば、第2サービス処理部が肯定的レスポンス処理部を備える場合、肯定的レスポンスは、その送信元の情報として、第2サービス処理部に割り当てられている第2ポート番号を含むことになる。この場合、肯定的レスポンスの内容を解析すると、例えば、TCP/IP層のような下位階層のレベルにおいて第2ポート番号を取得することができる。これに対し、第1サービス処理部が肯定的レスポンス処理部を備える場合、肯定的レスポンスは、その送信元の情報として、第1サービス処理部に割り当てられている第1ポート番号を含むことになる。この肯定的レスポンスは、上位階層のレベルで解析されるデータ(例えばアプリケーションデータ)として、第2ポート番号を含むことになる。この肯定的レスポンスから第2ポート番号を取得するためには、上位階層のレベルでの解析が必要になる。従って、この肯定的レスポンスは、送信元の情報として第2ポート番号を含む肯定的レスポンスと比べると、第2ポート番号を特定しにくいものであると言える。従って、第三者が肯定的レスポンスを解析して第2ポート番号を不正に取得するという行為を抑制するためには、第1サービス処理部が肯定的レスポンス処理部を備える方が好ましい。なお、第1サービス処理部と第2サービス処理部のそれぞれが肯定的レスポンス処理部を有していてもよい。この場合、予め決められている条件に応じて、どちらの処理部が肯定的レスポンスを送信するのかが切り替えられてもよい。第1サービス処理部が肯定的レスポンスを送信することが可能である状況では、第1サービス処理部が肯定的レスポンスを送信することが好ましい。 For example, when the second service processing unit includes a positive response processing unit, the positive response includes the second port number assigned to the second service processing unit as the transmission source information. In this case, when the content of the positive response is analyzed, for example, the second port number can be acquired at a lower layer level such as the TCP / IP layer. On the other hand, when the first service processing unit includes a positive response processing unit, the positive response includes the first port number assigned to the first service processing unit as information of the transmission source. . This positive response includes the second port number as data (for example, application data) analyzed at the level of the upper hierarchy. In order to acquire the second port number from this positive response, analysis at a higher hierarchy level is required. Therefore, it can be said that this positive response is more difficult to specify the second port number than the positive response including the second port number as the information of the transmission source. Therefore, in order to suppress an act in which a third party analyzes a positive response and illegally acquires the second port number, it is preferable that the first service processing unit includes a positive response processing unit. Each of the first service processing unit and the second service processing unit may include an affirmative response processing unit. In this case, which processing unit transmits an affirmative response may be switched according to a predetermined condition. In situations where the first service processor can send a positive response, it is preferred that the first service processor send a positive response.
上記のデータ受信端末とデータ送信端末と第1サーバは、同一のルータの下流側(インターネットが上流側である)に存在していてもよい。即ち、これらのデバイスは、同一のプライベートネットワーク内に存在していてもよい。この場合、第1サーバには、データ受信端末に割り当てられたローカルアドレスとローカルポート番号との組合せ(プライベートネットワーク内のアドレス情報)が登録されてもよい。この構成によると、ユーザが希望していないデータがプライベートネットワーク内で配信されるのを抑制することができる。 The data receiving terminal, the data transmitting terminal, and the first server may exist on the downstream side of the same router (the Internet is the upstream side). That is, these devices may exist in the same private network. In this case, a combination of the local address and local port number assigned to the data receiving terminal (address information in the private network) may be registered in the first server. According to this configuration, it is possible to suppress data that is not desired by the user from being distributed within the private network.
一方において、上記のデータ受信端末は、データ送信端末にルータを介して通信可能に接続されてもよい。即ち、データ送信端末は、データ受信端末が存在しているプライベートネットワーク外に存在していてもよい。この場合、第1アドレスは、第1グローバルアドレスであってもよい。第1ポート番号は、第1グローバルポート番号であってもよい。第2ポート番号は、第2グローバルポート番号であってもよい。通知受信処理部は、上記の特定通知を、ルータを介して受信してもよい。データ受信処理部は、上記のデータを、ルータを介して受信してもよい。この構成によると、ユーザが希望していないデータがインターネットを経由して配信されるのを抑制することができる。 On the other hand, the data receiving terminal may be communicably connected to the data transmitting terminal via a router. That is, the data transmission terminal may exist outside the private network where the data reception terminal exists. In this case, the first address may be a first global address. The first port number may be a first global port number. The second port number may be a second global port number. The notification reception processing unit may receive the specific notification via a router. The data reception processing unit may receive the above data via a router. According to this configuration, it is possible to suppress distribution of data not desired by the user via the Internet.
第2サービス処理部は、特定パケットを第2サーバに送信することによって、第2サーバから第2グローバルポート番号を取得するグローバルポート番号取得処理部をさらに有していてもよい。この場合、肯定的レスポンス送信処理部は、特定通知が受信された場合に、グローバルポート番号取得処理部によって取得された第2グローバルポート番号を含む肯定的レスポンスを、データ送信端末に送信してもよい。この構成によると、データ受信端末は、第2サービス処理部に割り当てられている第2グローバルポート番号を取得することができる。 The second service processing unit may further include a global port number acquisition processing unit that acquires the second global port number from the second server by transmitting the specific packet to the second server. In this case, the positive response transmission processing unit may transmit a positive response including the second global port number acquired by the global port number acquisition processing unit to the data transmission terminal when the specific notification is received. Good. According to this configuration, the data receiving terminal can acquire the second global port number assigned to the second service processing unit.
肯定的レスポンス送信処理部は、特定通知が受信され、かつ、データ送信端末が上記のデータを送信することが許可される場合に、肯定的レスポンスを、データ送信端末に送信してもよい。なお、「データ送信端末がデータを送信することを許可される場合」の例としては、データ受信端末において所定の操作がユーザによって実行されること、データ受信端末において所定の情報(例えばデータ送信端末に関する情報)が記憶されていること等を挙げることができる。第1サービス処理部は、特定通知が受信され、かつ、データ送信端末がデータを送信することが許可されない場合に、第2ポート番号を含まない否定的レスポンスを、データ送信端末に送信する否定的レスポンス送信処理部をさらに有していてもよい。否定的レスポンスに第2ポート番号が含まれないために、第三者が否定的レスポンスを解析して第2ポート番号を不正に取得するという行為を抑制することができる。 The positive response transmission processing unit may transmit a positive response to the data transmission terminal when the specific notification is received and the data transmission terminal is permitted to transmit the data. As an example of “when the data transmission terminal is permitted to transmit data”, a predetermined operation is executed by the user at the data reception terminal, or predetermined information (for example, the data transmission terminal at the data reception terminal). Information) is stored. The first service processing unit transmits a negative response not including the second port number to the data transmission terminal when the specific notification is received and the data transmission terminal is not permitted to transmit data. You may further have a response transmission process part. Since the second port number is not included in the negative response, it is possible to suppress an action in which a third party analyzes the negative response and illegally acquires the second port number.
第三者が、上記の肯定的レスポンスを解析することによって第2ポート番号を不正に取得し、第2ポート番号に向けてデータを配信する可能性がある。このような不正に対処するために、第2サービス処理部が起動される毎に、第2サービス処理部に異なるポート番号が割り当てられてもよい。第2サービス処理部に割り当てられているポート番号が第2ポート番号から他のポート番号に変わるために、ユーザが希望していないデータを第2サービス処理部が受信することを抑制することができる。 There is a possibility that a third party illegally acquires the second port number by analyzing the positive response and distributes the data toward the second port number. In order to deal with such an injustice, a different port number may be assigned to the second service processing unit every time the second service processing unit is activated. Since the port number assigned to the second service processing unit changes from the second port number to another port number, it is possible to prevent the second service processing unit from receiving data that the user does not want. .
第1サービス処理部は、特定通知が受信された場合に、第2サービス処理部を起動させる起動処理部をさらに有していてもよい。また、第2サービス処理部は、データ受信処理部が上記のデータを受信することを完了した場合に、第2サービス処理部を終了する終了処理部をさらに有していてもよい。なお、終了処理部は、第1サービス処理部からの指示に従って第2サービス処理部を終了してもよい。一方において、終了処理部は、データ受信処理部が上記のデータを受信することを完了することを監視し、その結果として第2サービス処理部を終了してもよい。この構成によると、データ受信処理部が上記のデータの受信を完了すると、第2サービス処理部が終了する。上述したように、第2サービス処理部が次に起動される際には、第2サービス処理部に異なるポート番号が割り当てられる。このために、ユーザが希望していないデータを第2サービス処理部が受信することを効果的に抑制することができる。 The first service processing unit may further include an activation processing unit that activates the second service processing unit when the specific notification is received. The second service processing unit may further include a termination processing unit that terminates the second service processing unit when the data reception processing unit completes receiving the data. Note that the end processing unit may end the second service processing unit in accordance with an instruction from the first service processing unit. On the other hand, the termination processing unit may monitor the completion of reception of the data by the data reception processing unit, and may terminate the second service processing unit as a result. According to this configuration, when the data reception processing unit completes the reception of the data, the second service processing unit ends. As described above, when the second service processing unit is activated next time, a different port number is assigned to the second service processing unit. For this reason, it can suppress effectively that the 2nd service processing part receives the data which the user does not desire.
なお、上記のデータ受信端末は、別のデータ受信端末にデータを送信するための端末として機能してもよい。このように機能するために、上記のデータ受信端末は、組合せ取得手段と通知送信手段とデータ送信手段とをさらに備えていてもよい。組合せ取得手段は、第1サーバに登録されている上記の別のデータ受信端末に割り当てられた第2アドレスと第3ポート番号との組合せを取得してもよい。通知送信手段は、組合せ取得手段によって取得された第2アドレスと第3ポート番号との組合せを送信先として、特定通知を送信してもよい。データ送信手段は、通知送信手段によって送信された特定通知に応じて、第4ポート番号を含む肯定的レスポンスを受信した場合に、第2アドレスと第4ポート番号との組合せを送信先として、データを送信してもよい。 Note that the above data receiving terminal may function as a terminal for transmitting data to another data receiving terminal. In order to function in this way, the data reception terminal may further include a combination acquisition unit, a notification transmission unit, and a data transmission unit. The combination acquisition unit may acquire a combination of the second address and the third port number assigned to the other data receiving terminal registered in the first server. The notification transmission unit may transmit the specific notification using the combination of the second address and the third port number acquired by the combination acquisition unit as a transmission destination. When the data transmission unit receives a positive response including the fourth port number in response to the specific notification transmitted by the notification transmission unit, the data transmission unit uses the combination of the second address and the fourth port number as the transmission destination. May be sent.
上記のデータ送信端末と上記のデータ受信端末とを備えるデータ通信システムも新規で有用である。また、上記のデータ受信端末を実現するための方法やコンピュータプログラムも新規で有用である。 A data communication system including the data transmission terminal and the data reception terminal is also new and useful. Also, a method and a computer program for realizing the data receiving terminal are novel and useful.
ここでは、以下の実施例に記載の技術の一部を列挙しておく。
(形態1)本明細書によって開示される技術は、データ受信端末と通信可能に接続されるデータ送信端末の単体として表現することもできる。このデータ送信端末は、上記の組合せ取得手段と通知送信手段とデータ送信手段とを備えていてもよい。なお、このデータ送信端末を実現するための方法やコンピュータプログラムも新規で有用である。
Here, some of the techniques described in the following examples are listed.
(Mode 1) The technique disclosed in this specification can also be expressed as a single data transmission terminal that is communicably connected to a data reception terminal. The data transmission terminal may include the combination acquisition unit, the notification transmission unit, and the data transmission unit. A method and a computer program for realizing this data transmission terminal are also new and useful.
(形態2)上記の第1サービス処理部は、上記の特定通知が受信された場合に、選択操作を実行することをユーザに許容する許容部をさらに有していてもよい。上記の肯定的レスポンス送信部は、ユーザによって第1選択操作が実行された場合に、上記の肯定的レスポンスを送信してもよい。また、上記の否定的レスポンス送信部は、ユーザによって第2選択操作が実行された場合に、上記の否定的レスポンスを実行してもよい。 (Mode 2) The first service processing unit may further include a permission unit that allows the user to perform the selection operation when the specific notification is received. The positive response transmission unit may transmit the positive response when the first selection operation is executed by the user. In addition, the negative response transmission unit may execute the negative response when the second selection operation is performed by the user.
(形態3)上記のデータ受信端末は、自身にデータを送信することが許容される端末に関する情報を記憶する端末記憶部をさらに有していてもよい。上記の肯定的レスポンス送信部は、上記のデータ送信端末に関する情報が端末記憶部に記憶されている場合に、上記の肯定的レスポンスを送信してもよい。また、上記の否定的レスポンス送信部は、上記のデータ送信端末に関する情報が端末記憶部に記憶されていない場合に、上記の否定的レスポンスを送信してもよい。 (Mode 3) The data receiving terminal may further include a terminal storage unit that stores information related to a terminal that is allowed to transmit data to itself. The positive response transmission unit may transmit the positive response when information regarding the data transmission terminal is stored in the terminal storage unit. In addition, the negative response transmission unit may transmit the negative response when information regarding the data transmission terminal is not stored in the terminal storage unit.
(形態4)第1サービス処理部と第2サービス処理部のそれぞれが肯定的レスポンス送信部を有していてもよい。この場合、第1サービス処理部の肯定的レスポンス送信部は、上記の特定通知が受信され、かつ、上記のルータが第1種類のルータである場合に、上記の肯定的レスポンスを送信してもよい。また、第2サービス処理部の肯定的レスポンス処理部は、上記の特定通知が受信され、かつ、上記のルータが第2種類のルータである場合に、肯定的レスポンスを送信してもよい。 (Mode 4) Each of the first service processing unit and the second service processing unit may have a positive response transmission unit. In this case, the positive response transmission unit of the first service processing unit may transmit the positive response when the specific notification is received and the router is the first type router. Good. The affirmative response processing unit of the second service processing unit may transmit a positive response when the specific notification is received and the router is a second type router.
(形態5)上記のルータは、NAT(Network Address Translation)ルータであってもよい。上記のルータがポート番号も変換する場合、上記のルータのことをNAPTルータと呼ぶこともできる。 (Mode 5) The router may be a NAT (Network Address Translation) router. When the above router also converts the port number, the above router can also be called a NAPT router.
(システムの構成)
図面を参照して実施例を説明する。図1は、本実施例のデータ通信システム2の概略図を示す。データ通信システム2は、インターネット4とSTUNサーバ10と接続管理サーバ20と複数のプライベートネットワーク40,90等を有する。インターネット4には、STUNサーバ10と、接続管理サーバ20と、複数のプライベートネットワーク40,90とが接続されている。
(System configuration)
Embodiments will be described with reference to the drawings. FIG. 1 shows a schematic diagram of a data communication system 2 of the present embodiment. The data communication system 2 includes the Internet 4, the
(STUNサーバ10の構成)
STUNサーバ10は、プライベートネットワーク40,90から送信される所定のコマンドを受信する。STUNサーバ10は、上記の所定のコマンドを解析することによって、上記の所定のコマンドの送信元(例えば受信端末50)のグローバルIPアドレスとグローバルポート番号との組合せを取得する。STUNサーバ10は、上記の組合せを上記の所定のコマンドの送信元に送信する。これにより、上記の所定のコマンドの送信元は、自身に割り当てられているグローバルIPアドレスとグローバルポート番号との組合せを知ることができる。
(Configuration of STUN server 10)
The
(接続管理サーバ20の構成)
接続管理サーバ20は、端末情報記憶部22を有する。端末情報記憶部22は、複数の組合せデータ24,26を記憶する。各組合せデータ24,26は、端末ID30とグローバルIPアドレス32とグローバルポート番号34とが対応づけられたものである。後で詳しく説明するが、送信端末100からのデータの配信を希望する端末(例えば受信端末50)は、自身のIDとグローバルIPアドレスとグローバルポート番号とを接続管理サーバ20に登録する。送信端末100は、接続管理サーバ20にアクセスすることによって、データの配信を希望する端末の情報を知ることができる。なお、接続管理サーバ20は、例えば、SIPサーバであってもよい。この場合、端末情報記憶部22に記憶される端末ID30は、端末に割り当てられるSIPURIであってもよい。一方において、接続管理サーバ20は、SIP以外のプロトコルに従って処理を実行するものであってもよい。この場合、端末情報記憶部22に記憶される端末ID30は、例えば、端末のMACアドレス、ノード名等であってもよい。
(Configuration of connection management server 20)
The
(プライベートネットワーク40の構成)
プライベートネットワーク40は、ルータ42を介してインターネット4に接続されている。ルータ42は、インターネット4に接続されているとともに、LAN44に接続されている。プライベートネットワーク40は、LAN44に接続されている各デバイスによって構成されている。本実施例では、LAN44に受信端末50が接続されている。
(Configuration of private network 40)
The private network 40 is connected to the Internet 4 via a
ルータ42は、NATと呼ばれるアドレス変換処理を実行する。ルータ42は、ローカルIPアドレスとローカルポート番号との第1の組合せを送信元としてプライベートネットワーク40から送信されてくるデータを、インターネット4に送信する。この際に、ルータ42は、送信元である上記の第1の組合せを、グローバルIPアドレスとグローバルポート番号との第2の組合せに変換する。逆に、上記の第2の組合せを送信先としてインターネット4から送信されてくるデータが存在する場合、ルータ42は、送信先である上記の第2の組合せを上記の第1の組合せに変換する。
The
なお、本実施例では、ルータ42は、インターネット4から送信されてくるデータの送信先のアドレスとポート番号との組合せがプライベートネットワーク40内に存在する場合に、その送信先にデータを送信する。即ち、ルータ42は、Full Cone NATと呼ばれるものである。なお、Full Cone NATと異なる種類のルータとして、Restricted Cone NATと呼ばれるルータが知られている。このルータは、プライベートネットワーク40からインターネット4に送信されるコマンドの送信元のアドレスとポート番号との組合せを所定期間記憶し、その所定期間内に上記のコマンドのレスポンスのデータを受信し、かつ、そのレスポンスの送信先のアドレスとポート番号との組合せがプライベートネットワーク40内に存在する場合に、その送信先にデータを送信する。
In the present embodiment, the
(受信端末50の構成)
図2は、受信端末50の構成の一例を示す。受信端末50は、制御部52と操作部54と表示部56と印刷部58とインターフェース60と記憶部70等を有する。制御部52は、記憶部70に記憶されているプログラム(例えばアプリ72,74等)に従って処理を実行する。操作部54は、複数のキーを有する。表示部56は、様々な情報を表示する。印刷部58は、例えば、受信端末50によって受信されたデータを印刷媒体に印刷する。インターフェース60は、LAN44に接続されている。
(Configuration of receiving terminal 50)
FIG. 2 shows an exemplary configuration of the receiving
記憶部70は、様々な情報(プログラム、制御部52の処理の過程で生成されるデータ等)を記憶する。記憶部70は、配信通知サービスアプリ72とデータ受信サービスアプリ74とを記憶している。本実施例の受信端末50は、後述する送信端末100から送信されるデータを受信する。送信端末100からのデータの配信を受けるためには、受信端末50のユーザは、送信端末100に所定の情報を登録する必要がある。例えば、受信端末50のユーザは、受信端末50の端末ID76を送信端末100に登録する。さらに、受信端末50が送信端末100からのデータの配信を受けるためには、専用のアプリケーションが必要とされる。このアプリケーションが、配信通知サービスアプリ72とデータ受信サービスアプリ74である。受信端末50は、例えば、これらのアプリ72,74を送信端末100からダウンロードしてもよい。また、受信端末50は、例えば、これらのアプリ72,74をプログラム記憶媒体からインストールしてもよい。
The
図3は、上記のアプリ72,74のそれぞれがデータを通信する際に利用するIPアドレスとポート番号との組合せの一例を示す。本実施例では、受信端末50に割り当てられているローカルIPアドレスは、「192.168.0.100」である。このローカルIPアドレスは、ルータ42によってグローバルIPアドレスに変換される。本実施例では、ローカルIPアドレス「192.168.0.100」は、グローバルIPアドレス「1.1.1.1」に変換される。上記のアプリ72,74のそれぞれには異なるローカルポート番号が割り当てられている。例えば、配信通知サービスアプリ72には、ローカルポート番号「50000」が割り当てられている。また、データ受信サービスアプリ74には、ローカルポート番号「50001」が割り当てられている。これらのローカルポート番号は、ルータ42によってグローバルポート番号に変換される。本実施例では、ローカルポート番号「50000」がグローバルポート番号「30000」に変換され、ローカルポート番号「50001」がグローバルポート番号「30001」に変換される。
FIG. 3 shows an example of a combination of an IP address and a port number used when each of the
記憶部70は、受信端末50の端末ID(例えば受信端末50のSIPURI)76を記憶する。本実施例では、受信端末50の端末ID76は、「XXX」である。また、記憶部70は、ルータ42の種類に関するルータ種類データ78を記憶する。ルータ種類データ78がどのようにして記憶されるのかについては、後で詳しく説明する。記憶部70は、上記の情報72〜78以外の情報を記憶するための記憶領域80を有する。記憶領域80に記憶される情報については、必要に応じて後で説明する。
The
(プライベートネットワーク90の構成)
プライベートネットワーク90(図1参照)は、ルータ92を介してインターネット4に接続されている。ルータ92は、インターネット4に接続されているとともに、LAN94に接続されている。プライベートネットワーク90は、LAN94に接続されている各デバイスによって構成されている。本実施例では、LAN94に受信端末96と送信端末100が接続されている。ルータ92は、上記のルータ42と同様の機能を有する。受信端末96は、上記の受信端末50と同様の構成を有する。受信端末96が送信端末100から送信されるデータを受信する場合、受信端末96は、インターネット4を介さずに、データを受信する。一方において、受信端末50が送信端末100から送信されるデータを受信する場合、受信端末50は、インターネット4(即ちルータ42)を介して、データを受信する。
(Configuration of private network 90)
The private network 90 (see FIG. 1) is connected to the Internet 4 via a
(送信端末100の構成)
図4は、送信端末100の構成の一例を示す。送信端末100は、制御部102とインターフェース110と記憶部120等を有する。制御部102は、記憶部120に記憶されているプログラム(例えばアプリ122)に従って処理を実行する。インターフェース110は、LAN94に接続されている。
(Configuration of transmitting terminal 100)
FIG. 4 shows an exemplary configuration of the
記憶部120は、様々な情報(プログラム、制御部102の処理の過程で生成されるデータ等)を記憶する。記憶部120は、データ配信アプリ122とコンテンツデータ124と端末リスト126等を記憶している。データ配信アプリ122は、コンテンツデータ124を他の端末(例えば受信端末50)に配信するためのアプリケーションである。コンテンツデータ124は、他の端末に配信されるべきデータである。端末リスト126は、データの配信を希望している端末群のそれぞれのIDを含んでいる。例えば、端末リスト126は、受信端末50の端末ID「XXX」を含んでいる。記憶部70は、上記の情報122〜126以外の情報を記憶するための記憶領域128を有する。記憶領域128に記憶される情報については、必要に応じて後で説明する。
The
(各デバイスが実行する処理)
続いて、各デバイス10,20,50,100が実行する処理の内容について説明する。図5〜9は、各デバイス10,20,50,100が実行する処理のシーケンスを示す。図5に示されるように、受信端末50の制御部52は、受信端末50の電源がONされると、配信通知サービスアプリ72を起動する(S2)。なお、配信通知サービスアプリ72に割り当てられるローカルポート番号(図3の例では「50000」)は、固定されていてもよいし、アプリ72が起動される毎に決定されてもよい。図5〜9に示される破線L1は、配信通知サービスアプリ72が実行する処理(正確に言うとアプリ72に従って制御部52が実行する処理)を示す。また、図7〜9に示される破線L2は、データ受信サービスアプリ74が実行する処理(正確に言うとアプリ74に従って制御部52が実行する処理)を示す。
(Processing executed by each device)
Next, the contents of processing executed by each
受信端末50の記憶領域80は、接続管理サーバ20のアドレスを記憶している。配信通知サービスアプリ72は、接続管理サーバ20のアドレスを送信先として、Registerコマンド200を送信するコマンド送信処理を実行する(S4)。Registerコマンド200は、受信端末50の端末ID「XXX」を含んでいる。Registerコマンド200は、送信元のローカルアドレス−ポートを含んでいる。このローカルアドレス−ポートは、受信端末50のローカルIPアドレスである「192.168.0.100」と、配信通知サービスアプリ72に割り当てられているローカルポート番号「50000」との組合せである。
The
ルータ42は、Registerコマンド200を受信する。ルータ42は、Registerコマンド200の送信元のローカルアドレス−ポートを、グローバルアドレス−ポートに変換する。このグローバルアドレス−ポートは、グローバルIPアドレス「1.1.1.1」とグローバルポート番号「30000」との組合せである。ルータ42は、グローバルアドレス−ポート「1.1.1.1:30000」を含むRegisterコマンド202を接続管理サーバ20に送信する。
The
接続管理サーバ20は、Registerコマンド202を受信する。接続管理サーバ20は、Registerコマンド202に含まれる端末ID「XXX」とグローバルアドレス−ポート「1.1.1.1:30000」を端末情報記憶部22に登録する登録処理を実行する(S6)。接続管理サーバ20は、端末情報記憶部22の端末ID30の欄に登録されている端末からのRegisterコマンドを所定期間に亘って受信しない場合に、その端末に関する組合せデータ24,26を削除する。配信通知サービスアプリ72は、自身が起動している間はRegisterコマンド200を定期的に送信する。
The
送信端末100の記憶領域128は、接続管理サーバ20のアドレスを記憶している。送信端末100のデータ配信アプリ122は、接続管理サーバ20のアドレスを送信先として、第1コマンド210を送信する第1問い合わせ処理を実行する(S8)。第1コマンド210は、端末リスト126の端末ID(本実施例では「XXX」)を含んでいる。なお、送信端末100が第1問い合わせ処理(S8)を実行するタイミングは、特に限定されない。例えば、送信端末100は、新しいコンテンツデータ124を取得した場合に第1問い合わせ処理を実行してもよいし、ユーザからの指示に従って第1問い合わせ処理を実行してもよいし、定期的に第1問い合わせ処理を実行してもよい。
The
接続管理サーバ20は、第1コマンド210を受信する。接続管理サーバ20は、第1コマンド210に含まれる端末ID「XXX」に対応づけて端末情報記憶部22に記憶されているグローバルアドレス−ポート「1.1.1.1:30000」を特定する。接続管理サーバ20は、特定されたグローバルアドレス−ポートを含むレスポンス212を送信端末100に送信する応答処理を実行する(S10)。
The
送信端末100のデータ配信アプリ122は、レスポンス212を受信する。データ配信アプリ122は、レスポンス212を解析することによって、グローバルアドレス−ポート「1.1.1.1:30000」を取得する。次いで、図6に示されるように、データ配信アプリ122は、グローバルアドレス−ポート「1.1.1.1:30000」を送信先として、第2コマンド220を送信する第2問い合わせ処理を実行する(S20)。第2コマンド220は、問い合わせメッセージ222と、送信先のグローバルアドレス−ポート「1.1.1.1:30000」と、送信元のアドレス−ポート224とを含んでいる。問い合わせメッセージ222は、受信端末50で表示されるべきテキストメッセージである。送信元のアドレス−ポート224は、送信端末100に割り当てられているローカルアドレスと、データ配信アプリ122に割り当てられているローカルポート番号との組合せである。即ち、送信端末100から第2コマンド220が送信される時点では、第2コマンド220の送信元のアドレス−ポート224は、ローカルアドレス−ポートである。このローカルアドレス−ポートは、ルータ92によってグローバルアドレス−ポートに変換される。従って、ルータ92よりインターネット4側では、第2コマンド220の送信元のアドレス−ポート224は、グローバルアドレス−ポートである。
The
ルータ42は、第2コマンド220を受信する。ルータ42は、第2コマンド220の送信先のグローバルアドレス−ポート「1.1.1.1:30000」を、ローカルアドレス−ポート「192.168.0.100:50000」に変換する。ルータ42は、送信先のローカルアドレス−ポート「192.168.0.100:50000」を含む第2コマンド226を受信端末50に送信する。
The
受信端末50の配信通知サービスアプリ72は、第2コマンド226を受信する。配信通知サービスアプリ72は、第2コマンド226に含まれる問い合わせメッセージ222を表示部56に表示する表示処理を実行する(S22)。問い合わせメッセージ222は、データ配信を希望するのか否かを選択することをユーザに促すメッセージである。配信通知サービスアプリ72は、ユーザの操作が肯定的な操作であるのか否かを判断する(S24)。ユーザの操作が否定的な操作である場合、後述する図9のS76に進む。一方において、ユーザの操作が肯定的な操作である場合、配信通知サービスアプリ72は、記憶部70にルータ種類データ78が記憶されているのか否かを判断する(S26)。ここでYESの場合、後述する図7のS40に進む。
The distribution
受信端末50の記憶領域80は、STUNサーバ10のアドレスを記憶している。S26でNOの場合、配信通知サービスアプリ72は、STUNサーバ10のアドレスを送信先として、種類問い合わせコマンド228を送信する種類問い合わせ処理を実行する(S28)。STUNサーバ10は、種類問い合わせコマンド228を受信する。STUNサーバ10は、ルータ42の種類(Full Cone NAT又はRestricted Cone NAT)を示すルータ種類データ232を含むレスポンス230を送信する。配信通知サービスアプリ72は、レスポンス230を受信する。配信通知サービスアプリ72は、レスポンス230に含まれるルータ種類データ232を記憶部70に記憶させる記憶処理を実行する(S30)。これにより、記憶部70にルータ種類データ78(本実施例ではFull Cone NAT)が記憶される。S30を終えると、図7のS40に進む。
The
図7のS40では、配信通知サービスアプリ72は、データ受信サービスアプリ74を起動する処理を実行する(S40)。データ受信サービスアプリ74は、自身が起動したタイミングでローカルポート番号が割り当てられる。本実施例では、データ受信サービスアプリ74が起動する毎に、配信通知サービスアプリ72が、データ受信サービスアプリ74のローカルポート番号を決定する。配信通知サービスアプリ72は、データ受信サービスアプリ74の前回の起動時に割り当てられた前回ローカルポート番号を記憶しておく。配信通知サービスアプリ72は、データ受信サービスアプリ74を起動する際に、前回ローカルポート番号と異なるローカルポート番号を決定する。本実施例では、図3に例示されるローカルポート番号「50001」がデータ受信サービスアプリ74に割り当てられた場合を例にして以下の説明を続ける。
In S40 of FIG. 7, the delivery
なお、例えば、データ受信サービスアプリ74は、データ受信サービスアプリ74を起動する際に、ランダムにローカルポート番号を決定してもよい。この場合であっても、前回ローカルポート番号と異なるローカルポート番号に決定される可能性が高い。この例も、前回ローカルポート番号と異なるローカルポート番号を決定することに等しい。
For example, the data
配信通知サービスアプリ72は、記憶部70に記憶されているルータ種類データ78に基づいて、ルータ42がFull Cone NATであるのか否かを判断する(S42)。ここでYESの場合、後述する図8のS60に進む。一方において、S42でNOの場合、配信通知サービスアプリ72は、第1指示240をデータ受信サービスアプリ74に供給する第1指示処理を実行する(S44)。この結果、データ受信サービスアプリ74は、上記の図6の第2コマンド226に含まれる送信元のグローバルアドレス−ポート224(即ち送信端末100のデータ配信アプリ122)を送信先として、要求コマンド242を送信する要求処理を実行する(S46)。要求コマンド242は、送信元のローカルアドレス−ポートを含んでいる。このローカルアドレス−ポートは、受信端末50のローカルIPアドレスである「192.168.0.100」とデータ受信サービスアプリ74に割り当てられているローカルポート番号「50001」との組合せである。
The delivery
ルータ42は、要求コマンド242を受信する。ルータ42は、要求コマンド242の送信元のローカルアドレス−ポート「192.168.0.100:50001」を、グローバルアドレス−ポート「1.1.1.1:30001」に変換する。ルータ42は、送信元のグローバルアドレス−ポートを含む要求コマンド244を送信端末100に送信する。
The
送信端末100のデータ配信アプリ122は、要求コマンド244を受信する。データ配信アプリ122は、要求コマンド244を解析することによって、送信元のグローバルアドレス−ポート「1.1.1.1:30001」を取得する。データ配信アプリ122は、TCP/IP層のレベルでの解析を実行することによって、送信元のグローバルアドレス−ポート「1.1.1.1:30001」を取得することができる。データ配信アプリ122は、グローバルアドレス−ポート「1.1.1.1:30001」を送信先として、送信コマンド246を送信するデータ送信処理を実行する(S48)。送信コマンド246は、コンテンツデータ124と、送信先のグローバルアドレス−ポート「1.1.1.1:30001」とを含んでいる。
The
ルータ42は、送信コマンド246を受信する。ルータ42は、送信コマンド246の送信先のグローバルアドレス−ポート「1.1.1.1:30001」を、ローカルアドレス−ポート「192.168.0.100:50001」に変換する。ルータ42は、送信先のローカルアドレス−ポートを含む送信コマンド248を受信端末50に送信する。
The
受信端末50のデータ受信サービスアプリ74は、送信コマンド248を受信する。即ち、データ受信サービスアプリ74は、コンテンツデータ124を受信する処理を実行する。データ受信サービスアプリ74は、コンテンツデータ124の受信が完了すると、データ受信サービスアプリ74を終了する処理を実行する(S50)。
The data
上述したように、ルータ42がFull Cone NATである場合、上記のS42においてYESと判断され、図8のS60に進む。S60では、配信通知サービスアプリ72は、第2指示250をデータ受信サービスアプリ74に供給する第2指示処理を実行する。この結果、データ受信サービスアプリ74は、STUNサーバ10のアドレスを送信先として、問い合わせコマンド252を送信する問い合わせ処理を実行する(S62)。問い合わせコマンド252は、送信元のローカルアドレス−ポート「192.168.0.100:50001」を含んでいる。
As described above, if the
ルータ42は、問い合わせコマンド252を受信する。ルータ42は、問い合わせコマンド252の送信元のローカルアドレス−ポート「192.168.0.100:50001」を、グローバルアドレス−ポート「1.1.1.1:30001」に変換する。ルータ42は、送信元のグローバルアドレス−ポートを含む問い合わせコマンド254をSTUNサーバ10に送信する。
The
STUNサーバ10は、問い合わせコマンド254を受信する。STUNサーバ10は、問い合わせコマンド254を解析することによって、送信元のグローバルアドレス−ポート「1.1.1.1:30001」を特定する。STUNサーバ10は、特定されたグローバルアドレス−ポートを含むレスポンス256を送信する。
The
受信端末50のデータ受信サービスアプリ74は、レスポンス256を受信する。データ受信サービスアプリ74は、レスポンス256を解析することによって、グローバルアドレス−ポート「1.1.1.1:30001」を取得する。データ受信サービスアプリ74は、グローバルアドレス−ポート「1.1.1.1:30001」を含む通知258を配信通知サービスアプリ72に供給する通知処理を実行する(S64)。S64を終えると、図9のS70に進む。
The data
S70では、配信通知サービスアプリ72は、上記の図6の第2コマンド226に含まれる送信元のグローバルアドレス−ポート224(即ち送信端末100のデータ配信アプリ122)を送信先として、要求コマンド260を送信する要求処理を実行する。要求コマンド260は、送信元のローカルアドレス−ポート「192.168.0.100:50000」と、通知258に含まれるグローバルアドレス−ポート「1.1.1.1:30001」とを含んでいる。
In S70, the distribution
ルータ42は、要求コマンド260を受信する。ルータ42は、要求コマンド260の送信元のローカルアドレス−ポート「192.168.0.100:50000」を、グローバルアドレス−ポート「1.1.1.1:30000」に変換する。ルータ42は、送信元のグローバルアドレス−ポートを含む要求コマンド262を送信端末100に送信する。
The
送信端末100のデータ配信アプリ122は、要求コマンド262を受信する。データ配信アプリ122は、要求コマンド262を解析することによって、グローバルアドレス−ポート「1.1.1.1:30001」を取得する。データ配信アプリ122は、アプリケーション層のレベルでの解析を実行することによって、要求コマンド262に含まれるグローバルアドレス−ポート「1.1.1.1:30001」を取得することができる。データ配信アプリ122は、グローバルアドレス−ポート「1.1.1.1:30001」を送信先として、送信コマンド264を送信するデータ送信処理を実行する(S72)。送信コマンド264は、コンテンツデータ124と、送信先のグローバルアドレス−ポート「1.1.1.1:30001」とを含んでいる。
The
ルータ42は、送信コマンド264を受信する。ルータ42は、送信コマンド264の送信先のグローバルアドレス−ポート「1.1.1.1:30001」を、ローカルアドレス−ポート「192.168.0.100:50001」に変換する。ルータ42は、送信先のローカルアドレス−ポートを含む送信コマンド266を受信端末50に送信する。
The
受信端末50のデータ受信サービスアプリ74は、送信コマンド266を受信する。データ受信サービスアプリ74は、コンテンツデータ124の受信が完了すると、データ受信サービスアプリ74を終了する処理を実行する(S74)。
The data
なお、図6のS24でNOと判断された場合、配信通知サービスアプリ72は、上記の図6の第2コマンド226に含まれる送信元のグローバルアドレス−ポート224(即ち送信端末100のデータ配信アプリ122)を送信先として、非要求コマンド268を送信する非要求処理を実行する(S78)。非要求コマンド268は、要求コマンド260と異なり、グローバルアドレス−ポート「1.1.1.1:30001」を含まない。送信端末100は、非要求コマンド268を受信すると、受信端末50にコンテンツデータ124を配信するための処理を終了する。
If NO is determined in S24 of FIG. 6, the distribution
本実施例のデータ通信システム2について詳しく説明した。受信端末50は、コンテンツデータ124の配信を許容するための2つのアプリ72,74を有する。各アプリ72,74に異なるグローバルポート番号(30000と30001)が割り当てられている。配信通知サービスアプリ72に割り当てられているグローバルポート番号「30000」は接続管理サーバ20に登録される。仮に、第三者が接続管理サーバ20にアクセスしてグローバルIPアドレス「1.1.1.1」とポート番号「30000」を不正に取得しても、そのポート番号「30000」が割り当てられている配信通知サービスアプリ72は、コンテンツデータ124を受信する処理を実行しない。一方において、コンテンツデータ124を受信する処理を実行するデータ受信サービスアプリ74に割り当てられているポート番号「30001」は、接続管理サーバ20に登録されない。従って、第三者は、接続管理サーバ20にアクセスしてもポート番号「30001」を取得することができない。第三者がポート番号「30001」に向けてデータを配信することを抑制することができる。本実施例の受信端末50を利用すると、ユーザが希望していないコンテンツデータ124が配信されるのを抑制することができる。
The data communication system 2 of the present embodiment has been described in detail. The receiving
また、本実施例では、ルータ42がFull Cone NATである場合、配信通知サービスアプリ72が、要求コマンド260を送信する(図9のS70参照)。即ち、要求コマンド260の送信元は、配信通知サービスアプリ72である。従って、仮に、第三者が要求コマンド260に対して下位階層(例えばTCP/IP層)のレベルでの解析を実行しても、配信通知サービスアプリ72のグローバルアドレス−ポート番号「1.1.1.1:30000」しか取得することができない。要求コマンド260に含まれるデータ受信サービスアプリ74のグローバルアドレス−ポート番号「1.1.1.1:30001」を取得するためには、上位階層のレベル(例えばアプリケーション層)での解析が必要である。データ受信サービスアプリ74のグローバルアドレス−ポート番号が漏洩しにくい構成であると言える。なお、本実施例では、非要求コマンド268には、データ受信サービスアプリ74のグローバルアドレス−ポート番号が含まれない。この点においても、データ受信サービスアプリ74のグローバルアドレス−ポート番号が漏洩しにくくなっている。
In the present embodiment, when the
第三者が、要求コマンド262(図9参照)からデータ受信サービスアプリ74のグローバルアドレス−ポート番号を不正に取得し、そのグローバルアドレス−ポート番号に向けてデータ(以下では不正送信データと呼ぶ)を送信する可能性がある。本実施例では、データ受信サービスアプリ74が起動される毎に、データ受信サービスアプリ74に異なるローカルポート番号が割り当てられる。この結果、データ受信サービスアプリ74が起動される毎に、ルータ42によってデータ受信サービスアプリ74に割り当てられるグローバルポート番号も変わることになる。データ受信サービスアプリ74のグローバルポート番号が変わるために、データ受信サービスアプリ74が不正送信データを受信することを抑制することができる。
A third party illegally acquires the global address-port number of the data
(実施例の第1変形例)
受信端末50は、送信端末100と同様の機能を有していてもよい。即ち、受信端末50は、データ配信アプリ122を有していてもよい。この場合、受信端末96に関する情報が接続管理サーバ20に登録されており、受信端末50は、受信端末96にコンテンツデータを送信してもよい。受信端末50は、データ配信アプリ122に従って、図5のS8の第1問い合わせ処理、図6のS20の第2問い合わせ処理、図7のS48又は図9のS72のデータ送信処理等を実行してもよい。
(First modification of the embodiment)
The receiving
(実施例の第2変形例)
上記の実施例では、受信端末50の配信通知サービスアプリ72は、図6の第2コマンド220,226に含まれる問い合わせメッセージ222を表示し、ユーザの選択操作に従ってS24の判断処理を実行する。しかしながら、受信端末50の記憶領域80は、ユーザがデータの配信を希望する端末(例えば送信端末100)の端末IDを記憶しておいてもよい。第2コマンド220,226は、送信端末100の端末IDを含んでいてもよい。配信通知サービスアプリ72は、第2コマンド220,226に含まれる端末IDが記憶領域80に記憶されている場合にS24でYESと判断し、そうでない場合にS24でNOと判断してもよい。
(Second modification of the embodiment)
In the above embodiment, the delivery
(実施例の第3変形例)
上記の実施例では、図9のS70の要求処理では、グローバルIPアドレス「1.1.1.1」とポート番号「30001」との組合せを含む要求コマンド260が送信される。しかしながら、要求コマンド260は、上記の組合せの代わりに、ポート番号「30001」のみを含んでいてもよい(即ちグローバルIPアドレス「1.1.1.1」を含まなくてもよい)。この場合であっても、送信端末100は、要求コマンド262に含まれる送信元の情報に基づいて、グローバルIPアドレス「1.1.1.1」を特定することができる。
(Third modification of the embodiment)
In the above embodiment, in the request process of S70 of FIG. 9, a request command 260 including a combination of the global IP address “1.1.1.1” and the port number “30001” is transmitted. However, the request command 260 may include only the port number “30001” instead of the above combination (that is, the global IP address “1.1.1.1” may not be included). Even in this case, the
(実施例の第4変形例)
STUNサーバ10と接続管理サーバ20は、一体に構成されていてもよい。また、実施例に記載された他の2以上のデバイス(例えばSTUNサーバ10とルータ42)が一体に構成されてもよい。
(Fourth modification of the embodiment)
The
以上の説明から分かるように、本実施例の受信端末50、送信端末100、接続管理サーバ20、STUNサーバ10、ルータ42が、それぞれ、本発明のデータ受信端末、データ送信端末、第1サーバ、第2サーバ、ルータに対応する。また、受信端末50の配信通知サービスアプリ72、データ受信サービスアプリ74を実行する制御部52が、それぞれ、データ受信端末の第1サービス処理部、第2サービス処理部に対応する。さらに、受信端末50のグローバルIPアドレス「1.1.1.1」が第1アドレスに対応し、配信通知サービスアプリ72のグローバルポート番号「30000」と、データ受信サービスアプリ74のグローバルポート番号「30001」とが、それぞれ、第1ポート番号と第2ポート番号とに対応する。
As can be seen from the above description, the receiving
コマンド送信処理(図5のS4)が、本発明の登録処理部によって実行される処理に対応し、図6に示す第2コマンド226を受信する処理が、本発明の通知受信処理部によって実行される処理に対応する。また、図7に示す要求コマンド242を送信する要求処理(S46)と、図9に示す要求コマンド260を送信する要求処理(S70)とが、肯定的レスポンス処理部によって実行される肯定的レスポンスの送信処理に対応する。そして、図7に示すコンテンツデータ124を含む送信コマンド248を受信する処理と、図9に示すコンテンツデータ124を含む送信コマンド266を受信する処理とが、データ受信処理部によって実行される処理に対応する。
The command transmission process (S4 in FIG. 5) corresponds to the process executed by the registration processing unit of the present invention, and the process of receiving the second command 226 shown in FIG. 6 is executed by the notification reception processing unit of the present invention. Corresponding to the process. Further, the request processing (S46) for transmitting the request command 242 shown in FIG. 7 and the request processing (S70) for transmitting the request command 260 shown in FIG. Corresponds to the transmission process. The processing for receiving the transmission command 248 including the
なお、図8に示す問い合わせコマンド252を送信して、レスポンス256を受信する処理(図8)が、本発明のグローバルポート番号取得処理部によって実行される処理に対応する。また、図9に示す非要求コマンド268を送信する非要求処理(S76)が、否定的レスポンス送信処理部によって実行される否定的レスポンスの送信処理に対応する。さらに、起動処理(図7のS40)が、起動処理部によって実行される処理に対応し、終了処理(図7のS50、図9のS74)が、終了処理部によって実行される処理に対応する。 Note that the processing (FIG. 8) for transmitting the inquiry command 252 and receiving the response 256 shown in FIG. 8 corresponds to the processing executed by the global port number acquisition processing unit of the present invention. Further, the non-request process (S76) for transmitting the non-request command 268 shown in FIG. 9 corresponds to the negative response transmission process executed by the negative response transmission processing unit. Further, the start process (S40 in FIG. 7) corresponds to the process executed by the start processing unit, and the end process (S50 in FIG. 7, S74 in FIG. 9) corresponds to the process executed by the end processing unit. .
本発明の別のデータ受信端末は、上記の第1変形例において記載された受信端末96に対応する。本発明の組合せ取得手段、通知送信手段、及び、データ送信手段は、受信端末50がデータ配信アプリ122を有することによって実現される。組合せ取得手段の処理は、第1問い合わせ処理(図5のS8)に対応する。第2アドレスは、受信端末96に割り当てられているグローバルIPアドレス(例えば「1.1.1.2」)に対応する。第3ポート番号は、受信端末96の配信通知サービスアプリに割り当てられているグローバルポート番号(例えば「40000」)に対応する。通知送信手段は、第2問い合わせ処理(図6のS20)に対応する。データ送信手段は、データ送信処理(図7のS48、図9のS72)に対応する。第4ポート番号は、受信端末96のデータ受信サービスアプリに割り当てられているグローバルポート番号(例えば「40001」)に対応する。
Another data receiving terminal of the present invention corresponds to the receiving
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。 Specific examples of the present invention have been described in detail above, but these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above.
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。 The technical elements described in this specification or the drawings exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technology illustrated in the present specification or the drawings achieves a plurality of objects at the same time, and has technical utility by achieving one of the objects.
2:データ通信システム、4:インターネット、10:STUNサーバ、20:接続管理サーバ、22:端末情報記憶部、40:プライベートネットワーク、42:ルータ、50 受信端末、72:配信通知サービスアプリ、74:データ受信サービスアプリ、90:プライベートネットワーク、92:ルータ、96:受信端末、100:送信端末、122:データ配信アプリ、124:コンテンツデータ 2: data communication system, 4: internet, 10: STUN server, 20: connection management server, 22: terminal information storage unit, 40: private network, 42: router, 50 receiving terminal, 72: delivery notification service application, 74: Data reception service application, 90: private network, 92: router, 96: reception terminal, 100: transmission terminal, 122: data distribution application, 124: content data
Claims (8)
第1サービス処理部と、
第2サービス処理部と、
を備え、
前記第1サービス処理部は、
前記データ受信端末に割り当てられた第1アドレスと、前記第1サービス処理部に割り当てられた第1ポート番号と、の組合せを第1サーバに登録する登録処理部と、
前記第1アドレスと前記第1ポート番号との組合せを前記第1サーバから取得した前記データ送信端末が、前記第1アドレスと前記第1ポート番号との組合せを送信先として送信した特定通知を受信する通知受信処理部と、
を備え、
前記第1サービス処理部と前記第2サービス処理部との少なくとも一方は、
前記特定通知が受信された場合に、前記第2サービス処理部に割り当てられた第2ポート番号を含む肯定的レスポンスを、前記データ送信端末に送信する肯定的レスポンス送信処理部を備え、
前記第2サービス処理部は、
前記肯定的レスポンスを受信した前記データ送信端末が、前記第1アドレスと前記第2ポート番号との組合せを送信先として送信したデータを受信するデータ受信処理部を備える
ことを特徴とするデータ受信端末。 A data receiving terminal communicably connected to the data transmitting terminal,
A first service processing unit;
A second service processing unit;
With
The first service processing unit
A registration processing unit for registering a combination of a first address assigned to the data receiving terminal and a first port number assigned to the first service processing unit in a first server;
The data transmission terminal that acquired the combination of the first address and the first port number from the first server receives a specific notification transmitted by using the combination of the first address and the first port number as a transmission destination. A notification reception processing unit,
With
At least one of the first service processing unit and the second service processing unit is:
A positive response transmission processing unit for transmitting a positive response including a second port number assigned to the second service processing unit to the data transmission terminal when the specific notification is received;
The second service processing unit
The data transmission terminal that receives the positive response includes a data reception processing unit that receives data transmitted with a combination of the first address and the second port number as a transmission destination. .
ことを特徴とする請求項1に記載のデータ受信端末。 The data reception terminal according to claim 1, wherein the first service processing unit includes the positive response transmission processing unit.
前記第1アドレスは、第1グローバルアドレスであり、
前記第1ポート番号は、第1グローバルポート番号であり、
前記第2ポート番号は、第2グローバルポート番号であり、
前記通知受信処理部は、前記特定通知を、前記ルータを介して受信し、
前記データ受信処理部は、前記データを、前記ルータを介して受信する
ことを特徴とする請求項1又は2に記載のデータ受信端末。 Connected to the data transmission terminal via a router,
The first address is a first global address;
The first port number is a first global port number;
The second port number is a second global port number;
The notification reception processing unit receives the specific notification via the router,
The data reception terminal according to claim 1, wherein the data reception processing unit receives the data via the router.
前記肯定的レスポンス送信処理部は、前記特定通知が受信された場合に、前記グローバルポート番号取得処理部によって取得された前記第2グローバルポート番号を含む前記肯定的レスポンスを、前記データ送信端末に送信する
ことを特徴とする請求項3に記載のデータ受信端末。 The second service processing unit further includes a global port number acquisition processing unit that acquires the second global port number from the second server by transmitting a specific packet to the second server,
The positive response transmission processing unit transmits the positive response including the second global port number acquired by the global port number acquisition processing unit to the data transmission terminal when the specific notification is received. The data receiving terminal according to claim 3, wherein:
前記第1サービス処理部は、前記特定通知が受信され、かつ、前記データ送信端末が前記データを送信することが許可されない場合に、前記第2ポート番号を含まない否定的レスポンスを、前記データ送信端末に送信する否定的レスポンス送信処理部をさらに備える
ことを特徴とする請求項1から4のいずれかに記載のデータ受信端末。 The positive response transmission processing unit transmits the positive response to the data transmission terminal when the specific notification is received and the data transmission terminal is permitted to transmit the data,
The first service processing unit sends a negative response not including the second port number to the data transmission when the specific notification is received and the data transmission terminal is not permitted to transmit the data. The data receiving terminal according to any one of claims 1 to 4, further comprising a negative response transmission processing unit that transmits to the terminal.
ことを特徴とする請求項1から5のいずれかに記載のデータ受信端末。 6. The data receiving terminal according to claim 1, wherein each time the second service processing unit is activated, a different port number is assigned to the second service processing unit.
前記第2サービス処理部は、前記データ受信処理部が前記データを受信することを完了した場合に、前記第2サービス処理部を終了する終了処理部をさらに備える
ことを特徴とする請求項1から6のいずれかに記載のデータ受信端末。 The first service processing unit further includes an activation processing unit that activates the second service processing unit when the specific notification is received,
The second service processing unit further includes a termination processing unit that terminates the second service processing unit when the data reception processing unit completes receiving the data. The data receiving terminal according to any one of 6.
第1サービス処理と、
第2サービス処理と、
をコンピュータに実行させ、
前記第1サービス処理は、
前記データ受信端末に割り当てられた第1アドレスと、前記第1サービス処理に割り当てられた第1ポート番号と、の組合せを第1サーバに登録する登録処理と、
前記第1アドレスと前記第1ポート番号との組合せを前記第1サーバから取得した前記データ送信端末が、前記第1アドレスと前記第1ポート番号との組合せを送信先として送信した特定通知を受信する通知受信処理と、を含み、
前記第1サービス処理と前記第2サービス処理との少なくとも一方は、
前記特定通知が受信された場合に、前記第2サービス処理に割り当てられた第2ポート番号を含む肯定的レスポンスを、前記データ送信端末に送信する肯定的レスポンス送信処理を含み、
前記第2サービス処理は、
前記肯定的レスポンスを受信した前記データ送信端末が、前記第1アドレスと前記第2ポート番号との組合せを送信先として送信するデータを受信するデータ受信処理を含む
ことを特徴とするコンピュータプログラム。 A computer program for a data receiving terminal communicably connected to a data transmitting terminal,
A first service process;
A second service process;
To the computer,
The first service process includes:
A registration process for registering a combination of a first address assigned to the data receiving terminal and a first port number assigned to the first service process in a first server;
The data transmission terminal that acquired the combination of the first address and the first port number from the first server receives a specific notification transmitted by using the combination of the first address and the first port number as a transmission destination. Notification receiving processing to include,
At least one of the first service process and the second service process is:
A positive response transmission process for transmitting a positive response including a second port number assigned to the second service process to the data transmission terminal when the specific notification is received;
The second service process includes
A computer program comprising: a data reception process in which the data transmission terminal that has received the positive response receives data to be transmitted with a combination of the first address and the second port number as a transmission destination.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009027986A JP5018800B2 (en) | 2009-02-10 | 2009-02-10 | Data receiving terminal and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009027986A JP5018800B2 (en) | 2009-02-10 | 2009-02-10 | Data receiving terminal and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010186207A true JP2010186207A (en) | 2010-08-26 |
JP5018800B2 JP5018800B2 (en) | 2012-09-05 |
Family
ID=42766851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009027986A Active JP5018800B2 (en) | 2009-02-10 | 2009-02-10 | Data receiving terminal and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5018800B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012209810A (en) * | 2011-03-30 | 2012-10-25 | Mitsubishi Electric Corp | Monitoring system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004072291A (en) * | 2002-08-05 | 2004-03-04 | Sony Corp | Address translation device |
JP2004304318A (en) * | 2003-03-28 | 2004-10-28 | Sony Corp | Network system and communication method, information processing apparatus and method, and program |
JP2005151142A (en) * | 2003-11-14 | 2005-06-09 | Sony Corp | Information communication system and method, information processing apparatus, method, program and recording medium |
JP2007200209A (en) * | 2006-01-30 | 2007-08-09 | Oki Electric Ind Co Ltd | Communication system, server, communication method and computer program |
JP2008257708A (en) * | 2007-03-12 | 2008-10-23 | Ricoh Co Ltd | Information processor, information processing method, and information processing program |
-
2009
- 2009-02-10 JP JP2009027986A patent/JP5018800B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004072291A (en) * | 2002-08-05 | 2004-03-04 | Sony Corp | Address translation device |
JP2004304318A (en) * | 2003-03-28 | 2004-10-28 | Sony Corp | Network system and communication method, information processing apparatus and method, and program |
JP2005151142A (en) * | 2003-11-14 | 2005-06-09 | Sony Corp | Information communication system and method, information processing apparatus, method, program and recording medium |
JP2007200209A (en) * | 2006-01-30 | 2007-08-09 | Oki Electric Ind Co Ltd | Communication system, server, communication method and computer program |
JP2008257708A (en) * | 2007-03-12 | 2008-10-23 | Ricoh Co Ltd | Information processor, information processing method, and information processing program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012209810A (en) * | 2011-03-30 | 2012-10-25 | Mitsubishi Electric Corp | Monitoring system |
Also Published As
Publication number | Publication date |
---|---|
JP5018800B2 (en) | 2012-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170094697A1 (en) | Methods and systems for enabling communications between devices | |
CA2655806C (en) | Technique for providing access to a media resource attached to a network-registered device | |
JP5408120B2 (en) | COMMUNICATION DEVICE, COMMUNICATION DEVICE PROGRAM, AND COMMUNICATION DEVICE CONTROL METHOD | |
JP2010033469A (en) | Data distributing system | |
JP4726190B2 (en) | Network camera, DDNS server, and video distribution system | |
JP5693065B2 (en) | Communication terminal, communication terminal control method and program | |
WO2006038391A1 (en) | Network apparatus and network system | |
JP2007219637A (en) | Load balancing system and program therefor | |
JP5465621B2 (en) | Stream data distribution system and method | |
JP5018800B2 (en) | Data receiving terminal and computer program | |
WO2009113947A1 (en) | Using a hash value as a pointer to an application class in a communications device | |
EP2469801B1 (en) | Communication device | |
JP2011513814A5 (en) | ||
JP5775034B2 (en) | Communication destination solving apparatus, gateway apparatus, communication destination solving method, and program | |
US8335849B2 (en) | Communication system, terminal apparatus, recording medium which records program of terminal apparatus and content information acquiring method | |
JP2012203660A (en) | Information provision server | |
JP2011114805A (en) | Communication apparatus and method, and program | |
JP2009278178A (en) | Device and method for distributing security parameter | |
JP2009064289A (en) | Data transmission system, address management device, data transmitter, address book acquisition method, and program | |
JP2014130588A (en) | Management of range of network service | |
JP2008206081A (en) | Data relaying apparatus and data relaying method used for multi-homing communication system | |
JP5325606B2 (en) | COMMUNICATION STATUS OUTPUT DEVICE AND PROGRAM | |
JP5870585B2 (en) | Communication apparatus and communication system | |
JP2008236201A (en) | Sip trunk gateway device | |
JP2004072453A (en) | Network management system and network management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111018 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111219 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120515 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120528 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5018800 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150622 Year of fee payment: 3 |