JP2010186207A - Data receiving terminal and computer program - Google Patents

Data receiving terminal and computer program Download PDF

Info

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
Application number
JP2009027986A
Other languages
Japanese (ja)
Other versions
JP5018800B2 (en
Inventor
Chol Yoo
哲 柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009027986A priority Critical patent/JP5018800B2/en
Publication of JP2010186207A publication Critical patent/JP2010186207A/en
Application granted granted Critical
Publication of JP5018800B2 publication Critical patent/JP5018800B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To avoid distribution of data not desired by a user. <P>SOLUTION: A receiving terminal 50 includes a distribution notification service application and a data receiving service application. The distribution notification service application registers its own global address/port "1.1.1.1:30000" in a connection management server 20. The distribution notification service application receives a command that a transmitting terminal 100 having acquired the global address/port from the connection management server 20 sends to the global address/port. The distribution notification service application sends a request command including the global port number "30001" of the data receiving service application to the transmitting terminal 100. The data receiving service application receives content data that the transmitting terminal 100 having received the request command sends to the global address/port "1.1.1.1:30001". <P>COPYRIGHT: (C)2010,JPO&INPIT

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.

特開2008−99168号公報JP 2008-99168 A 特開2007−281685号公報Japanese Patent Laid-Open No. 2007-28185

ところで、第三者が、接続管理サーバに登録されているアドレス情報を不正に取得し、そのアドレス情報に向けてデータ(例えば広告データ)を一方的に配信する可能性がある。この場合、接続管理サーバに登録されている端末のユーザが希望していないにもかかわらず、その端末にデータが配信されてしまう。   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 shows an example of the configuration of a data communication system. 受信端末の構成の一例を示す。An example of a structure of a receiving terminal is shown. 配信通知サービスアプリとデータ受信サービスアプリのそれぞれに割り当てられているアドレスとポート番号との組合せの一例を示す。An example of a combination of an address and a port number assigned to each of the delivery notification service application and the data reception service application is shown. 送信端末の構成の一例を示す。An example of a structure of a transmission terminal is shown. 各デバイスが実行する処理のシーケンスを示す。The sequence of the process which each device performs is shown. 図5の続きのシーケンスを示す。FIG. 6 shows a continuation sequence of FIG. 図6の続きのシーケンスを示す。FIG. 7 shows a continuation sequence of FIG. 図7の続きのシーケンスを示す。FIG. 8 shows a continuation sequence of FIG. 図8の続きのシーケンスを示す。FIG. 9 shows a continuation sequence of FIG.

ここでは、以下の実施例に記載の技術の一部を列挙しておく。
(形態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 server 10, the connection management server 20, a plurality of private networks 40, 90, and the like. A STUN server 10, a connection management server 20, and a plurality of private networks 40 and 90 are connected to the Internet 4.

(STUNサーバ10の構成)
STUNサーバ10は、プライベートネットワーク40,90から送信される所定のコマンドを受信する。STUNサーバ10は、上記の所定のコマンドを解析することによって、上記の所定のコマンドの送信元(例えば受信端末50)のグローバルIPアドレスとグローバルポート番号との組合せを取得する。STUNサーバ10は、上記の組合せを上記の所定のコマンドの送信元に送信する。これにより、上記の所定のコマンドの送信元は、自身に割り当てられているグローバルIPアドレスとグローバルポート番号との組合せを知ることができる。
(Configuration of STUN server 10)
The STUN server 10 receives a predetermined command transmitted from the private networks 40 and 90. The STUN server 10 acquires the combination of the global IP address and the global port number of the transmission source (for example, the receiving terminal 50) of the predetermined command by analyzing the predetermined command. The STUN server 10 transmits the combination to the transmission source of the predetermined command. Thereby, the transmission source of the predetermined command can know the combination of the global IP address and the global port number assigned to itself.

(接続管理サーバ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 connection management server 20 includes a terminal information storage unit 22. The terminal information storage unit 22 stores a plurality of combination data 24 and 26. Each combination data 24, 26 is obtained by associating a terminal ID 30, a global IP address 32, and a global port number 34 with each other. As will be described in detail later, a terminal (for example, receiving terminal 50) desiring data distribution from the transmitting terminal 100 registers its own ID, global IP address, and global port number in the connection management server 20. The transmission terminal 100 can know information on a terminal that desires data distribution by accessing the connection management server 20. The connection management server 20 may be a SIP server, for example. In this case, the terminal ID 30 stored in the terminal information storage unit 22 may be a SIP URI assigned to the terminal. On the other hand, the connection management server 20 may execute processing according to a protocol other than SIP. In this case, the terminal ID 30 stored in the terminal information storage unit 22 may be, for example, a terminal MAC address, a node name, or the like.

(プライベートネットワーク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 router 42. The router 42 is connected to the Internet 4 and to the LAN 44. The private network 40 is composed of devices connected to the LAN 44. In this embodiment, the receiving terminal 50 is connected to the LAN 44.

ルータ42は、NATと呼ばれるアドレス変換処理を実行する。ルータ42は、ローカルIPアドレスとローカルポート番号との第1の組合せを送信元としてプライベートネットワーク40から送信されてくるデータを、インターネット4に送信する。この際に、ルータ42は、送信元である上記の第1の組合せを、グローバルIPアドレスとグローバルポート番号との第2の組合せに変換する。逆に、上記の第2の組合せを送信先としてインターネット4から送信されてくるデータが存在する場合、ルータ42は、送信先である上記の第2の組合せを上記の第1の組合せに変換する。   The router 42 executes an address conversion process called NAT. The router 42 transmits data transmitted from the private network 40 using the first combination of the local IP address and the local port number as a transmission source to the Internet 4. At this time, the router 42 converts the first combination as the transmission source into a second combination of the global IP address and the global port number. Conversely, when there is data transmitted from the Internet 4 with the second combination as a transmission destination, the router 42 converts the second combination as the transmission destination into the first combination. .

なお、本実施例では、ルータ42は、インターネット4から送信されてくるデータの送信先のアドレスとポート番号との組合せがプライベートネットワーク40内に存在する場合に、その送信先にデータを送信する。即ち、ルータ42は、Full Cone NATと呼ばれるものである。なお、Full Cone NATと異なる種類のルータとして、Restricted Cone NATと呼ばれるルータが知られている。このルータは、プライベートネットワーク40からインターネット4に送信されるコマンドの送信元のアドレスとポート番号との組合せを所定期間記憶し、その所定期間内に上記のコマンドのレスポンスのデータを受信し、かつ、そのレスポンスの送信先のアドレスとポート番号との組合せがプライベートネットワーク40内に存在する場合に、その送信先にデータを送信する。   In the present embodiment, the router 42 transmits data to the transmission destination when the combination of the address and port number of the transmission destination of data transmitted from the Internet 4 exists in the private network 40. That is, the router 42 is called Full Cone NAT. As a different type of router from Full Cone NAT, a router called Restricted Cone NAT is known. The router stores a combination of a source address and a port number of a command transmitted from the private network 40 to the Internet 4 for a predetermined period, receives response data of the command within the predetermined period, and When the combination of the address and port number of the response destination exists in the private network 40, data is transmitted to the destination.

(受信端末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 terminal 50. The receiving terminal 50 includes a control unit 52, an operation unit 54, a display unit 56, a printing unit 58, an interface 60, a storage unit 70, and the like. The control unit 52 executes processing according to a program (for example, applications 72 and 74) stored in the storage unit 70. The operation unit 54 has a plurality of keys. The display unit 56 displays various information. For example, the printing unit 58 prints data received by the receiving terminal 50 on a print medium. The interface 60 is connected to the LAN 44.

記憶部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 storage unit 70 stores various information (programs, data generated during the process of the control unit 52, etc.). The storage unit 70 stores a delivery notification service application 72 and a data reception service application 74. The receiving terminal 50 according to the present embodiment receives data transmitted from the transmitting terminal 100 described later. In order to receive distribution of data from the transmission terminal 100, the user of the reception terminal 50 needs to register predetermined information in the transmission terminal 100. For example, the user of the receiving terminal 50 registers the terminal ID 76 of the receiving terminal 50 in the transmitting terminal 100. Furthermore, in order for the receiving terminal 50 to receive data distribution from the transmitting terminal 100, a dedicated application is required. These applications are a distribution notification service application 72 and a data reception service application 74. For example, the receiving terminal 50 may download these applications 72 and 74 from the transmitting terminal 100. Moreover, the receiving terminal 50 may install these applications 72 and 74 from a program storage medium, for example.

図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 applications 72 and 74 communicates data. In this embodiment, the local IP address assigned to the receiving terminal 50 is “192.168.0.100”. This local IP address is converted into a global IP address by the router 42. In this embodiment, the local IP address “192.168.0.100” is converted to the global IP address “1.1.1.1”. A different local port number is assigned to each of the applications 72 and 74. For example, the local port number “50000” is assigned to the distribution notification service application 72. The local port number “50001” is assigned to the data reception service application 74. These local port numbers are converted into global port numbers by the router 42. In this embodiment, the local port number “50000” is converted into the global port number “30000”, and the local port number “50001” is converted into the global port number “30001”.

記憶部70は、受信端末50の端末ID(例えば受信端末50のSIPURI)76を記憶する。本実施例では、受信端末50の端末ID76は、「XXX」である。また、記憶部70は、ルータ42の種類に関するルータ種類データ78を記憶する。ルータ種類データ78がどのようにして記憶されるのかについては、後で詳しく説明する。記憶部70は、上記の情報72〜78以外の情報を記憶するための記憶領域80を有する。記憶領域80に記憶される情報については、必要に応じて後で説明する。   The storage unit 70 stores a terminal ID of the receiving terminal 50 (for example, SIP URI of the receiving terminal 50) 76. In the present embodiment, the terminal ID 76 of the receiving terminal 50 is “XXX”. The storage unit 70 also stores router type data 78 relating to the type of the router 42. How the router type data 78 is stored will be described in detail later. The storage unit 70 includes a storage area 80 for storing information other than the information 72 to 78 described above. Information stored in the storage area 80 will be described later if necessary.

(プライベートネットワーク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 router 92. The router 92 is connected to the Internet 4 and to the LAN 94. The private network 90 is composed of devices connected to the LAN 94. In this embodiment, a receiving terminal 96 and a transmitting terminal 100 are connected to the LAN 94. The router 92 has the same function as the router 42 described above. The receiving terminal 96 has the same configuration as the receiving terminal 50 described above. When the receiving terminal 96 receives data transmitted from the transmitting terminal 100, the receiving terminal 96 receives data without going through the Internet 4. On the other hand, when the receiving terminal 50 receives data transmitted from the transmitting terminal 100, the receiving terminal 50 receives the data via the Internet 4 (that is, the router 42).

(送信端末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 transmission terminal 100. The transmission terminal 100 includes a control unit 102, an interface 110, a storage unit 120, and the like. The control unit 102 executes processing according to a program (for example, the application 122) stored in the storage unit 120. The interface 110 is connected to the LAN 94.

記憶部120は、様々な情報(プログラム、制御部102の処理の過程で生成されるデータ等)を記憶する。記憶部120は、データ配信アプリ122とコンテンツデータ124と端末リスト126等を記憶している。データ配信アプリ122は、コンテンツデータ124を他の端末(例えば受信端末50)に配信するためのアプリケーションである。コンテンツデータ124は、他の端末に配信されるべきデータである。端末リスト126は、データの配信を希望している端末群のそれぞれのIDを含んでいる。例えば、端末リスト126は、受信端末50の端末ID「XXX」を含んでいる。記憶部70は、上記の情報122〜126以外の情報を記憶するための記憶領域128を有する。記憶領域128に記憶される情報については、必要に応じて後で説明する。   The storage unit 120 stores various information (programs, data generated during the process of the control unit 102, and the like). The storage unit 120 stores a data distribution application 122, content data 124, a terminal list 126, and the like. The data distribution application 122 is an application for distributing the content data 124 to another terminal (for example, the receiving terminal 50). The content data 124 is data to be distributed to other terminals. The terminal list 126 includes each ID of a terminal group that desires data distribution. For example, the terminal list 126 includes the terminal ID “XXX” of the receiving terminal 50. The storage unit 70 has a storage area 128 for storing information other than the information 122 to 126 described above. Information stored in the storage area 128 will be described later if necessary.

(各デバイスが実行する処理)
続いて、各デバイス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 device 10, 20, 50, 100 will be described. 5 to 9 show processing sequences executed by the devices 10, 20, 50, and 100. FIG. As shown in FIG. 5, the control unit 52 of the receiving terminal 50 activates the distribution notification service application 72 when the receiving terminal 50 is powered on (S2). Note that the local port number (“50000” in the example of FIG. 3) assigned to the distribution notification service application 72 may be fixed or determined every time the application 72 is activated. A broken line L <b> 1 shown in FIGS. 5 to 9 indicates processing executed by the distribution notification service application 72 (more precisely, processing executed by the control unit 52 according to the application 72). 7 to 9 indicate a process executed by the data reception service application 74 (more precisely, a process executed by the control unit 52 according to the application 74).

受信端末50の記憶領域80は、接続管理サーバ20のアドレスを記憶している。配信通知サービスアプリ72は、接続管理サーバ20のアドレスを送信先として、Registerコマンド200を送信するコマンド送信処理を実行する(S4)。Registerコマンド200は、受信端末50の端末ID「XXX」を含んでいる。Registerコマンド200は、送信元のローカルアドレス−ポートを含んでいる。このローカルアドレス−ポートは、受信端末50のローカルIPアドレスである「192.168.0.100」と、配信通知サービスアプリ72に割り当てられているローカルポート番号「50000」との組合せである。   The storage area 80 of the receiving terminal 50 stores the address of the connection management server 20. The distribution notification service application 72 executes command transmission processing for transmitting the Register command 200 using the address of the connection management server 20 as a transmission destination (S4). The Register command 200 includes the terminal ID “XXX” of the receiving terminal 50. The Register command 200 includes the local address-port of the transmission source. This local address-port is a combination of “192.168.0.100”, which is the local IP address of the receiving terminal 50, and the local port number “50000” assigned to the distribution notification service application 72.

ルータ42は、Registerコマンド200を受信する。ルータ42は、Registerコマンド200の送信元のローカルアドレス−ポートを、グローバルアドレス−ポートに変換する。このグローバルアドレス−ポートは、グローバルIPアドレス「1.1.1.1」とグローバルポート番号「30000」との組合せである。ルータ42は、グローバルアドレス−ポート「1.1.1.1:30000」を含むRegisterコマンド202を接続管理サーバ20に送信する。   The router 42 receives the Register command 200. The router 42 converts the source local address-port of the Register command 200 into a global address-port. This global address-port is a combination of a global IP address “1.1.1.1” and a global port number “30000”. The router 42 transmits a Register command 202 including the global address-port “1.1.1.1:30000” to the connection management server 20.

接続管理サーバ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 connection management server 20 receives the Register command 202. The connection management server 20 executes a registration process for registering the terminal ID “XXX” and the global address-port “1.1.1.1:30000” included in the Register command 202 in the terminal information storage unit 22 (S6). . When the connection management server 20 does not receive a Register command from a terminal registered in the terminal ID 30 column of the terminal information storage unit 22 for a predetermined period, the connection management server 20 deletes the combination data 24 and 26 related to the terminal. The distribution notification service application 72 periodically transmits the Register command 200 while it is running.

送信端末100の記憶領域128は、接続管理サーバ20のアドレスを記憶している。送信端末100のデータ配信アプリ122は、接続管理サーバ20のアドレスを送信先として、第1コマンド210を送信する第1問い合わせ処理を実行する(S8)。第1コマンド210は、端末リスト126の端末ID(本実施例では「XXX」)を含んでいる。なお、送信端末100が第1問い合わせ処理(S8)を実行するタイミングは、特に限定されない。例えば、送信端末100は、新しいコンテンツデータ124を取得した場合に第1問い合わせ処理を実行してもよいし、ユーザからの指示に従って第1問い合わせ処理を実行してもよいし、定期的に第1問い合わせ処理を実行してもよい。   The storage area 128 of the transmission terminal 100 stores the address of the connection management server 20. The data distribution application 122 of the transmission terminal 100 executes a first inquiry process for transmitting the first command 210 using the address of the connection management server 20 as a transmission destination (S8). The first command 210 includes the terminal IDs of the terminal list 126 (“XXX” in this embodiment). The timing at which the transmission terminal 100 executes the first inquiry process (S8) is not particularly limited. For example, the transmission terminal 100 may execute the first inquiry process when new content data 124 is acquired, may execute the first inquiry process in accordance with an instruction from the user, or may periodically execute the first inquiry process. Inquiry processing may be executed.

接続管理サーバ20は、第1コマンド210を受信する。接続管理サーバ20は、第1コマンド210に含まれる端末ID「XXX」に対応づけて端末情報記憶部22に記憶されているグローバルアドレス−ポート「1.1.1.1:30000」を特定する。接続管理サーバ20は、特定されたグローバルアドレス−ポートを含むレスポンス212を送信端末100に送信する応答処理を実行する(S10)。   The connection management server 20 receives the first command 210. The connection management server 20 specifies the global address-port “1.1.1.1:30000” stored in the terminal information storage unit 22 in association with the terminal ID “XXX” included in the first command 210. . The connection management server 20 executes response processing for transmitting the response 212 including the specified global address-port to the transmission terminal 100 (S10).

送信端末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 data distribution application 122 of the transmission terminal 100 receives the response 212. The data distribution application 122 acquires the global address-port “1.1.1.1:30000” by analyzing the response 212. Next, as shown in FIG. 6, the data distribution application 122 executes the second inquiry process for transmitting the second command 220 with the global address-port “1.1.1.1:30000” as the transmission destination. (S20). The second command 220 includes an inquiry message 222, a destination global address-port “1.1.1.1:30000”, and a source address-port 224. The inquiry message 222 is a text message to be displayed on the receiving terminal 50. The transmission source address-port 224 is a combination of a local address assigned to the transmission terminal 100 and a local port number assigned to the data distribution application 122. That is, when the second command 220 is transmitted from the transmission terminal 100, the transmission source address-port 224 of the second command 220 is a local address-port. This local address-port is converted to a global address-port by the router 92. Therefore, on the Internet 4 side from the router 92, the source address-port 224 of the second command 220 is a global address-port.

ルータ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 router 42 receives the second command 220. The router 42 converts the global address-port “1.1.1.1:30000” of the transmission destination of the second command 220 into a local address-port “192.168.0.100:50000”. The router 42 transmits the second command 226 including the destination local address-port “192.168.0.100:50000” to the receiving terminal 50.

受信端末50の配信通知サービスアプリ72は、第2コマンド226を受信する。配信通知サービスアプリ72は、第2コマンド226に含まれる問い合わせメッセージ222を表示部56に表示する表示処理を実行する(S22)。問い合わせメッセージ222は、データ配信を希望するのか否かを選択することをユーザに促すメッセージである。配信通知サービスアプリ72は、ユーザの操作が肯定的な操作であるのか否かを判断する(S24)。ユーザの操作が否定的な操作である場合、後述する図9のS76に進む。一方において、ユーザの操作が肯定的な操作である場合、配信通知サービスアプリ72は、記憶部70にルータ種類データ78が記憶されているのか否かを判断する(S26)。ここでYESの場合、後述する図7のS40に進む。   The distribution notification service application 72 of the receiving terminal 50 receives the second command 226. The delivery notification service application 72 executes display processing for displaying the inquiry message 222 included in the second command 226 on the display unit 56 (S22). The inquiry message 222 is a message that prompts the user to select whether or not data distribution is desired. The delivery notification service application 72 determines whether or not the user's operation is a positive operation (S24). If the user operation is a negative operation, the process proceeds to S76 in FIG. On the other hand, when the user's operation is an affirmative operation, the distribution notification service application 72 determines whether or not the router type data 78 is stored in the storage unit 70 (S26). In the case of YES here, the process proceeds to S40 in FIG.

受信端末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 storage area 80 of the receiving terminal 50 stores the address of the STUN server 10. In the case of NO in S26, the delivery notification service application 72 executes a type inquiry process for transmitting the type inquiry command 228 using the address of the STUN server 10 as a transmission destination (S28). The STUN server 10 receives the type inquiry command 228. The STUN server 10 transmits a response 230 including router type data 232 indicating the type of the router 42 (Full Cone NAT or Restricted Cone NAT). The delivery notification service application 72 receives the response 230. The delivery notification service application 72 executes a storage process of storing the router type data 232 included in the response 230 in the storage unit 70 (S30). As a result, router type data 78 (Full Cone NAT in this embodiment) is stored in the storage unit 70. When S30 ends, the process proceeds to S40 in FIG.

図7のS40では、配信通知サービスアプリ72は、データ受信サービスアプリ74を起動する処理を実行する(S40)。データ受信サービスアプリ74は、自身が起動したタイミングでローカルポート番号が割り当てられる。本実施例では、データ受信サービスアプリ74が起動する毎に、配信通知サービスアプリ72が、データ受信サービスアプリ74のローカルポート番号を決定する。配信通知サービスアプリ72は、データ受信サービスアプリ74の前回の起動時に割り当てられた前回ローカルポート番号を記憶しておく。配信通知サービスアプリ72は、データ受信サービスアプリ74を起動する際に、前回ローカルポート番号と異なるローカルポート番号を決定する。本実施例では、図3に例示されるローカルポート番号「50001」がデータ受信サービスアプリ74に割り当てられた場合を例にして以下の説明を続ける。   In S40 of FIG. 7, the delivery notification service application 72 executes a process of starting the data reception service application 74 (S40). The data reception service application 74 is assigned a local port number at the timing when the data reception service application 74 is activated. In this embodiment, every time the data reception service application 74 is activated, the distribution notification service application 72 determines the local port number of the data reception service application 74. The delivery notification service application 72 stores the previous local port number assigned when the data reception service application 74 was last activated. The distribution notification service application 72 determines a local port number different from the previous local port number when the data reception service application 74 is activated. In the present embodiment, the following description will be continued by taking as an example the case where the local port number “50001” illustrated in FIG. 3 is assigned to the data reception service application 74.

なお、例えば、データ受信サービスアプリ74は、データ受信サービスアプリ74を起動する際に、ランダムにローカルポート番号を決定してもよい。この場合であっても、前回ローカルポート番号と異なるローカルポート番号に決定される可能性が高い。この例も、前回ローカルポート番号と異なるローカルポート番号を決定することに等しい。   For example, the data reception service application 74 may determine the local port number at random when the data reception service application 74 is activated. Even in this case, it is highly likely that the local port number is different from the previous local port number. This example is also equivalent to determining a local port number different from the previous local port number.

配信通知サービスアプリ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 notification service application 72 determines whether or not the router 42 is a Full Cone NAT based on the router type data 78 stored in the storage unit 70 (S42). In the case of YES here, the process proceeds to S60 of FIG. On the other hand, in the case of NO in S42, the distribution notification service application 72 executes a first instruction process for supplying the first instruction 240 to the data reception service application 74 (S44). As a result, the data reception service application 74 sends the request command 242 to the transmission destination global address-port 224 (that is, the data distribution application 122 of the transmission terminal 100) included in the second command 226 of FIG. The request process to be transmitted is executed (S46). The request command 242 includes the source local address-port. This local address-port is a combination of “192.168.0.100”, which is the local IP address of the receiving terminal 50, and a local port number “50001” assigned to the data reception service application 74.

ルータ42は、要求コマンド242を受信する。ルータ42は、要求コマンド242の送信元のローカルアドレス−ポート「192.168.0.100:50001」を、グローバルアドレス−ポート「1.1.1.1:30001」に変換する。ルータ42は、送信元のグローバルアドレス−ポートを含む要求コマンド244を送信端末100に送信する。   The router 42 receives the request command 242. The router 42 converts the local address-port “192.168.0.100:50001” of the transmission source of the request command 242 to the global address-port “1.1.1.1:30001”. The router 42 transmits a request command 244 including the global address-port of the transmission source to the transmission terminal 100.

送信端末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 data distribution application 122 of the transmission terminal 100 receives the request command 244. The data distribution application 122 analyzes the request command 244 to obtain the transmission source global address-port “1.1.1.1: 30001”. The data distribution application 122 can acquire the global address-port “1.1.1.1: 30001” of the transmission source by executing the analysis at the TCP / IP layer level. The data distribution application 122 executes a data transmission process for transmitting the transmission command 246 with the global address-port “1.1.1.1: 30001” as the transmission destination (S48). The transmission command 246 includes content data 124 and a global address-port “1.1.1.1: 30001” of the transmission destination.

ルータ42は、送信コマンド246を受信する。ルータ42は、送信コマンド246の送信先のグローバルアドレス−ポート「1.1.1.1:30001」を、ローカルアドレス−ポート「192.168.0.100:50001」に変換する。ルータ42は、送信先のローカルアドレス−ポートを含む送信コマンド248を受信端末50に送信する。   The router 42 receives the transmission command 246. The router 42 converts the destination global address-port “1.1.1.1: 30001” of the transmission command 246 into a local address-port “192.168.0.100:50001”. The router 42 transmits a transmission command 248 including the transmission destination local address-port to the receiving terminal 50.

受信端末50のデータ受信サービスアプリ74は、送信コマンド248を受信する。即ち、データ受信サービスアプリ74は、コンテンツデータ124を受信する処理を実行する。データ受信サービスアプリ74は、コンテンツデータ124の受信が完了すると、データ受信サービスアプリ74を終了する処理を実行する(S50)。   The data reception service application 74 of the reception terminal 50 receives the transmission command 248. That is, the data reception service application 74 executes processing for receiving the content data 124. When the reception of the content data 124 is completed, the data reception service application 74 executes a process for terminating the data reception service application 74 (S50).

上述したように、ルータ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 router 42 is a Full Cone NAT, YES is determined in S42 described above, and the process proceeds to S60 in FIG. In S <b> 60, the delivery notification service application 72 executes a second instruction process for supplying the second instruction 250 to the data reception service application 74. As a result, the data reception service application 74 executes an inquiry process for transmitting the inquiry command 252 using the address of the STUN server 10 as a transmission destination (S62). The inquiry command 252 includes a source local address-port “192.168.0.100:50001”.

ルータ42は、問い合わせコマンド252を受信する。ルータ42は、問い合わせコマンド252の送信元のローカルアドレス−ポート「192.168.0.100:50001」を、グローバルアドレス−ポート「1.1.1.1:30001」に変換する。ルータ42は、送信元のグローバルアドレス−ポートを含む問い合わせコマンド254をSTUNサーバ10に送信する。   The router 42 receives the inquiry command 252. The router 42 converts the local address-port “192.168.0.100:50001” of the transmission source of the inquiry command 252 to the global address-port “1.1.1.1:30001”. The router 42 transmits an inquiry command 254 including the global address-port of the transmission source to the STUN server 10.

STUNサーバ10は、問い合わせコマンド254を受信する。STUNサーバ10は、問い合わせコマンド254を解析することによって、送信元のグローバルアドレス−ポート「1.1.1.1:30001」を特定する。STUNサーバ10は、特定されたグローバルアドレス−ポートを含むレスポンス256を送信する。   The STUN server 10 receives the inquiry command 254. The STUN server 10 identifies the source global address-port “1.1.1.1: 30001” by analyzing the inquiry command 254. The STUN server 10 transmits a response 256 including the specified global address-port.

受信端末50のデータ受信サービスアプリ74は、レスポンス256を受信する。データ受信サービスアプリ74は、レスポンス256を解析することによって、グローバルアドレス−ポート「1.1.1.1:30001」を取得する。データ受信サービスアプリ74は、グローバルアドレス−ポート「1.1.1.1:30001」を含む通知258を配信通知サービスアプリ72に供給する通知処理を実行する(S64)。S64を終えると、図9のS70に進む。   The data reception service application 74 of the receiving terminal 50 receives the response 256. The data reception service application 74 analyzes the response 256 to acquire the global address-port “1.1.1.1: 30001”. The data reception service application 74 executes notification processing for supplying the notification 258 including the global address-port “1.1.1.1: 30001” to the distribution notification service application 72 (S64). When S64 ends, the process proceeds to S70 of FIG.

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 notification service application 72 sends a request command 260 to the transmission destination global address-port 224 (that is, the data distribution application 122 of the transmission terminal 100) included in the second command 226 of FIG. Execute request processing to send. The request command 260 includes the source local address-port “192.168.0.100:50000” and the global address-port “1.1.1.1:30001” included in the notification 258. .

ルータ42は、要求コマンド260を受信する。ルータ42は、要求コマンド260の送信元のローカルアドレス−ポート「192.168.0.100:50000」を、グローバルアドレス−ポート「1.1.1.1:30000」に変換する。ルータ42は、送信元のグローバルアドレス−ポートを含む要求コマンド262を送信端末100に送信する。   The router 42 receives the request command 260. The router 42 converts the local address-port “192.168.0.100:50000” of the transmission source of the request command 260 into the global address-port “1.1.1.1:30000”. The router 42 transmits to the transmitting terminal 100 a request command 262 including the source global address-port.

送信端末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 data distribution application 122 of the transmission terminal 100 receives the request command 262. The data distribution application 122 acquires the global address-port “1.1.1.1: 30001” by analyzing the request command 262. The data distribution application 122 can acquire the global address-port “1.1.1.1: 30001” included in the request command 262 by executing analysis at the application layer level. The data distribution application 122 executes a data transmission process for transmitting the transmission command 264 using the global address-port “1.1.1.1: 30001” as a transmission destination (S72). The transmission command 264 includes content data 124 and a destination global address-port “1.1.1.1: 30001”.

ルータ42は、送信コマンド264を受信する。ルータ42は、送信コマンド264の送信先のグローバルアドレス−ポート「1.1.1.1:30001」を、ローカルアドレス−ポート「192.168.0.100:50001」に変換する。ルータ42は、送信先のローカルアドレス−ポートを含む送信コマンド266を受信端末50に送信する。   The router 42 receives the transmission command 264. The router 42 converts the destination global address-port “1.1.1.1: 30001” of the transmission command 264 into a local address-port “192.168.0.100:50001”. The router 42 transmits a transmission command 266 including the transmission destination local address-port to the reception terminal 50.

受信端末50のデータ受信サービスアプリ74は、送信コマンド266を受信する。データ受信サービスアプリ74は、コンテンツデータ124の受信が完了すると、データ受信サービスアプリ74を終了する処理を実行する(S74)。   The data reception service application 74 of the reception terminal 50 receives the transmission command 266. When the reception of the content data 124 is completed, the data reception service application 74 executes a process for terminating the data reception service application 74 (S74).

なお、図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 notification service application 72 sends the global address-port 224 of the transmission source included in the second command 226 of FIG. 6 (that is, the data distribution application of the transmission terminal 100). The non-request process for transmitting the non-request command 268 is executed with the address 122) as the transmission destination (S78). Unlike the request command 260, the non-request command 268 does not include the global address-port “1.1.1.1: 30001”. When receiving the non-request command 268, the transmission terminal 100 ends the process for distributing the content data 124 to the reception terminal 50.

本実施例のデータ通信システム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 terminal 50 has two applications 72 and 74 for allowing distribution of the content data 124. Different global port numbers (30000 and 30001) are assigned to the applications 72 and 74, respectively. The global port number “30000” assigned to the distribution notification service application 72 is registered in the connection management server 20. Even if a third party accesses the connection management server 20 and obtains the global IP address “1.1.1.1” and the port number “30000” illegally, the port number “30000” is assigned. The distribution notification service application 72 that is present does not execute the process of receiving the content data 124. On the other hand, the port number “30001” assigned to the data reception service application 74 that executes the process of receiving the content data 124 is not registered in the connection management server 20. Therefore, a third party cannot obtain the port number “30001” even when accessing the connection management server 20. It can be suppressed that a third party distributes data toward the port number “30001”. When the receiving terminal 50 of the present embodiment is used, it is possible to suppress distribution of content data 124 that the user does not want.

また、本実施例では、ルータ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 router 42 is a Full Cone NAT, the delivery notification service application 72 transmits a request command 260 (see S70 in FIG. 9). That is, the transmission source of the request command 260 is the distribution notification service application 72. Therefore, even if a third party analyzes the request command 260 at a lower layer (for example, TCP / IP layer) level, the global address-port number “1.1. Only 1.1: 30000 "can be acquired. In order to obtain the global address-port number “1.1.1.1: 30001” of the data reception service application 74 included in the request command 260, analysis at a higher layer level (for example, the application layer) is necessary. is there. It can be said that the global address-port number of the data reception service application 74 is difficult to leak. In this embodiment, the non-request command 268 does not include the global address-port number of the data reception service application 74. Also in this respect, the global address-port number of the data reception service application 74 is difficult to leak.

第三者が、要求コマンド262(図9参照)からデータ受信サービスアプリ74のグローバルアドレス−ポート番号を不正に取得し、そのグローバルアドレス−ポート番号に向けてデータ(以下では不正送信データと呼ぶ)を送信する可能性がある。本実施例では、データ受信サービスアプリ74が起動される毎に、データ受信サービスアプリ74に異なるローカルポート番号が割り当てられる。この結果、データ受信サービスアプリ74が起動される毎に、ルータ42によってデータ受信サービスアプリ74に割り当てられるグローバルポート番号も変わることになる。データ受信サービスアプリ74のグローバルポート番号が変わるために、データ受信サービスアプリ74が不正送信データを受信することを抑制することができる。   A third party illegally acquires the global address-port number of the data reception service application 74 from the request command 262 (see FIG. 9), and sends data (hereinafter referred to as illegal transmission data) toward the global address-port number. May be sent. In this embodiment, each time the data reception service application 74 is activated, a different local port number is assigned to the data reception service application 74. As a result, every time the data reception service application 74 is activated, the global port number assigned to the data reception service application 74 by the router 42 also changes. Since the global port number of the data reception service application 74 changes, the data reception service application 74 can be prevented from receiving unauthorized transmission 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 terminal 50 may have the same function as the transmitting terminal 100. That is, the receiving terminal 50 may have the data distribution application 122. In this case, information regarding the receiving terminal 96 may be registered in the connection management server 20, and the receiving terminal 50 may transmit content data to the receiving terminal 96. The receiving terminal 50 may execute the first inquiry process in S8 in FIG. 5, the second inquiry process in S20 in FIG. 6, the data transmission process in S48 in FIG. 7 or S72 in FIG. 9 in accordance with the data distribution application 122. Good.

(実施例の第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 notification service application 72 of the receiving terminal 50 displays the inquiry message 222 included in the second commands 220 and 226 in FIG. 6, and executes the determination process of S24 according to the user's selection operation. However, the storage area 80 of the receiving terminal 50 may store a terminal ID of a terminal (for example, the transmitting terminal 100) that the user desires to distribute data. The second commands 220 and 226 may include the terminal ID of the transmission terminal 100. The delivery notification service application 72 may determine YES in S24 when the terminal ID included in the second commands 220 and 226 is stored in the storage area 80, and may determine NO in S24 otherwise.

(実施例の第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 transmission terminal 100 can specify the global IP address “1.1.1.1” based on the transmission source information included in the request command 262.

(実施例の第4変形例)
STUNサーバ10と接続管理サーバ20は、一体に構成されていてもよい。また、実施例に記載された他の2以上のデバイス(例えばSTUNサーバ10とルータ42)が一体に構成されてもよい。
(Fourth modification of the embodiment)
The STUN server 10 and the connection management server 20 may be integrally configured. Further, two or more other devices (for example, the STUN server 10 and the router 42) described in the embodiments may be configured integrally.

以上の説明から分かるように、本実施例の受信端末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 terminal 50, the transmitting terminal 100, the connection management server 20, the STUN server 10, and the router 42 of the present embodiment are respectively a data receiving terminal, a data transmitting terminal, a first server, It corresponds to the second server and router. In addition, the control unit 52 that executes the delivery notification service application 72 and the data reception service application 74 of the receiving terminal 50 corresponds to the first service processing unit and the second service processing unit of the data receiving terminal, respectively. Further, the global IP address “1.1.1.1” of the receiving terminal 50 corresponds to the first address, the global port number “30000” of the delivery notification service application 72 and the global port number “30000” of the data reception service application 74. 30001 "corresponds to the first port number and the second port number, respectively.

コマンド送信処理(図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 content data 124 illustrated in FIG. 7 and the processing for receiving the transmission command 266 including the content data 124 illustrated in FIG. 9 correspond to the processing executed by the data reception processing unit. To do.

なお、図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 terminal 96 described in the first modified example. The combination acquisition unit, notification transmission unit, and data transmission unit of the present invention are realized by the reception terminal 50 having the data distribution application 122. The process of the combination acquisition unit corresponds to the first inquiry process (S8 in FIG. 5). The second address corresponds to a global IP address (for example, “1.1.1.2”) assigned to the receiving terminal 96. The third port number corresponds to a global port number (for example, “40000”) assigned to the distribution notification service application of the receiving terminal 96. The notification transmission unit corresponds to the second inquiry process (S20 in FIG. 6). The data transmission means corresponds to the data transmission process (S48 in FIG. 7 and S72 in FIG. 9). The fourth port number corresponds to a global port number (for example, “40001”) assigned to the data reception service application of the receiving terminal 96.

以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。   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サービス処理部が前記肯定的レスポンス送信処理部を備える
ことを特徴とする請求項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サービス処理部は、特定パケットを第2サーバに送信することによって、前記第2サーバから前記第2グローバルポート番号を取得するグローバルポート番号取得処理部をさらに備え、
前記肯定的レスポンス送信処理部は、前記特定通知が受信された場合に、前記グローバルポート番号取得処理部によって取得された前記第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.
前記第2サービス処理部が起動される毎に、前記第2サービス処理部に異なるポート番号が割り当てられる
ことを特徴とする請求項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.
前記第1サービス処理部は、前記特定通知が受信された場合に、前記第2サービス処理部を起動させる起動処理部をさらに備え、
前記第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.
JP2009027986A 2009-02-10 2009-02-10 Data receiving terminal and computer program Active JP5018800B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012209810A (en) * 2011-03-30 2012-10-25 Mitsubishi Electric Corp Monitoring system

Citations (5)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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