JP5907132B2 - Relay device, program, and communication system - Google Patents
Relay device, program, and communication system Download PDFInfo
- Publication number
- JP5907132B2 JP5907132B2 JP2013180239A JP2013180239A JP5907132B2 JP 5907132 B2 JP5907132 B2 JP 5907132B2 JP 2013180239 A JP2013180239 A JP 2013180239A JP 2013180239 A JP2013180239 A JP 2013180239A JP 5907132 B2 JP5907132 B2 JP 5907132B2
- Authority
- JP
- Japan
- Prior art keywords
- network
- content
- terminal device
- router
- commander
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Description
複数のノード装置により構成されるオーバーレイネットワークにノード装置として参加するルータ等の技術分野に関する。 The present invention relates to a technical field such as a router that participates in an overlay network composed of a plurality of node devices as node devices.
従来、カラオケコンテンツを再生する複数のコマンダを備えるカラオケシステムが知られている。例えば特許文献1に開示されたカラオケシステムは、各拠点に構築されたLAN(Local Area Network)に接続された複数のコマンダと、LAN及びWAN(Wide Area Network)に接続されたルータと、を備えている。このカラオケシステムでは、複数のコマンダの中から決定された代表コマンダがオーバーレイネットワークに参加可能になっている。オーバーレイネットワークに参加した代表コマンダは、他の拠点の代表コマンダへルータ及びWANを介してカラオケコンテンツを要求することでカラオケコンテンツを取得するように構成されている。
Conventionally, a karaoke system including a plurality of commanders for reproducing karaoke contents is known. For example, a karaoke system disclosed in
ところで、特許文献1では、ルータはカラオケコンテンツを保存しないため、ルータのメモリ容量を低減することができる。しかしながら、各拠点の代表コマンダは、他の代表コマンダからWANを介してカラオケコンテンツの要求を受け付けるためのポートを開いている。そのため、代表コマンダがWAN側から攻撃される恐れがあり、システムのセキュリティ上、好ましくない。
By the way, in
本発明は、以上の点に鑑みてなされたものであり、ルータのメモリ容量を低減し、且つシステムのセキュリティを向上させることが可能な中継装置、プログラム及び通信システムを提供する。 The present invention has been made in view of the above points, and provides a relay device, a program, and a communication system capable of reducing the memory capacity of a router and improving the security of the system.
上記課題を解決するために、請求項1に記載の発明は、第1のネットワークと第2のネットワークとの間でデータを中継する中継装置であって、少なくとも前記第1のネットワークに接続された複数のノード装置により構成されるオーバーレイネットワークに前記ノード装置として参加する中継装置において、前記中継装置が接続される前記第2のネットワークに接続されている端末装置が記憶するコンテンツの識別情報を、前記端末装置から前記第2のネットワークを介して取得する第1取得手段と、前記第1取得手段により取得された前記識別情報と、前記識別情報を送信した端末装置の所在を示す所在情報とを対応付けて記憶する第1記憶手段と、前記第1記憶手段に記憶された前記識別情報と、前記中継装置の所在を示す所在情報とを前記オーバーレイネットワークを介して前記コンテンツの所在を管理するノード装置へ送信する第1送信手段と、コンテンツの検索要求と、検索対象のコンテンツの識別情報とを、前記第2のネットワークに接続されている端末装置から前記第2のネットワークを介して受信する第1受信手段と、前記第1受信手段により受信された前記識別情報が前記第1記憶手段に記憶されているかを判定する判定手段と、前記識別情報が記憶されていないと判定された場合、前記検索要求と前記検索対象のコンテンツの識別情報とを前記オーバーレイネットワークを介して他の前記ノード装置へ送信する第2送信手段と、前記検索対象のコンテンツを提供可能な他の前記ノード装置の所在を示す所在情報を、前記第1のネットワークを介して他の前記ノード装置から受信する第2受信手段と、前記第2受信手段により受信された前記所在情報を、前記第2のネットワークを介して前記検索要求の送信元の端末装置へ送信する第3送信手段と、前記検索対象のコンテンツを提供可能な他の前記ノード装置宛ての前記コンテンツの送信要求であって前記端末装置から前記第2のネットワークを介して送信された前記送信要求を前記第2のネットワークと前記第1のネットワークとの間で中継する第1中継手段と、前記送信要求の送信元の端末装置宛ての前記コンテンツであって他の前記ノード装置から前記第1のネットワークを介して送信された前記コンテンツを前記第1のネットワークと前記第2のネットワークとの間で中継する第2中継手段と、を備え、前記第2中継手段は、セッション中に一時的に開かれた前記送信要求の送信元の端末装置のポートに対して前記コンテンツを中継することを特徴とする。
In order to solve the above problem, the invention according to
請求項2に記載の発明は、請求項1に記載の中継装置において、前記識別情報が前記第1記憶手段に記憶されていると判定された場合、前記検索対象のコンテンツを提供可能なノード装置の所在を示す所在情報として前記中継装置の所在を示す所在情報を、前記第2のネットワークを介して前記検索要求の送信元の端末装置へ送信する第4送信手段を更に備えることを特徴とする。 According to a second aspect of the present invention, in the relay device according to the first aspect, when it is determined that the identification information is stored in the first storage unit, the node device capable of providing the search target content And further comprising: fourth transmission means for transmitting the location information indicating the location of the relay device as location information indicating the location of the search request to the terminal device that is the transmission source of the search request via the second network. .
請求項3に記載の発明は、請求項1または2に記載の中継装置において、前記コンテンツの識別情報が送信された前記端末装置の前記所在情報を前記第1記憶手段から取得する第2取得手段と、前記第2取得手段により取得された前記所在情報に従って、前記端末装置の状態を確認するための確認要求を、前記第2のネットワークを介して前記端末装置へ送信する第5送信手段と、前記確認要求の送信から所定時間以内に前記確認要求に対する応答が前記端末装置から受信されない場合、前記端末装置の前記所在情報を前記第1記憶手段から削除する削除手段と、を備えることを特徴とする。 According to a third aspect of the present invention, in the relay device according to the first or second aspect, the second acquisition unit acquires the location information of the terminal device to which the content identification information has been transmitted from the first storage unit. And a fifth transmission means for transmitting a confirmation request for confirming the state of the terminal device to the terminal device via the second network according to the location information acquired by the second acquisition means; A deletion unit that deletes the location information of the terminal device from the first storage unit when a response to the confirmation request is not received from the terminal device within a predetermined time from the transmission of the confirmation request. To do.
請求項4に記載の発明は、第1のネットワークと第2のネットワークとの間でデータを中継する中継機能を備え、少なくとも前記第1のネットワークに接続された複数のノード装置により構成されるオーバーレイネットワークに前記ノード装置として参加するコンピュータに、前記コンピュータが接続される前記第2のネットワークに接続されている端末装置が記憶するコンテンツの識別情報を、前記端末装置から前記第2のネットワークを介して取得するステップと、前記取得された前記識別情報と、前記識別情報を送信した端末装置の所在を示す所在情報とを対応付けて記憶手段に記憶させるステップと、前記記憶手段に記憶された前記識別情報と、前記中継装置の所在を示す所在情報とを前記オーバーレイネットワークを介して前記コンテンツの所在を管理するノード装置へ送信するステップと、コンテンツの検索要求と、検索対象のコンテンツの識別情報とを、前記第2のネットワークに接続されている端末装置から前記第2のネットワークを介して受信するステップと、前記受信された前記識別情報が前記記憶手段に記憶されているかを判定するステップと、前記識別情報が記憶されていないと判定された場合、前記検索要求と前記検索対象のコンテンツの識別情報とを前記オーバーレイネットワークを介して他の前記ノード装置へ転送するステップと、前記検索対象のコンテンツを提供可能な他の前記ノード装置の所在を示す所在情報を、前記第1のネットワークを介して他の前記ノード装置から受信するステップと、前記受信された前記所在情報を、前記第2のネットワークを介して前記検索要求の送信元の端末装置へ送信するステップと、前記検索対象のコンテンツを提供可能な他の前記ノード装置宛ての前記コンテンツの送信要求であって前記端末装置から前記第2のネットワークを介して送信された前記送信要求を前記第2のネットワークと前記第1のネットワークとの間で中継する第1中継ステップと、前記送信要求の送信元の端末装置宛ての前記コンテンツであって他の前記ノード装置から前記第1のネットワークを介して送信された前記コンテンツを前記第1のネットワークと前記第2のネットワークとの間で中継する第2中継ステップと、を実行し、前記第2中継ステップでは、セッション中に一時的に開かれた前記送信要求の送信元の端末装置のポートに対して前記コンテンツを中継することを特徴とする。 According to a fourth aspect of the present invention, there is provided an overlay comprising a relay function for relaying data between a first network and a second network, and comprising at least a plurality of node devices connected to the first network Content identification information stored in a terminal device connected to the second network to which the computer is connected is transmitted from the terminal device via the second network to a computer that participates in the network as the node device. A step of acquiring, a step of associating and storing the acquired identification information and location information indicating the location of the terminal device that transmitted the identification information in a storage unit, and the identification stored in the storage unit Information and location information indicating the location of the relay device via the overlay network. The step of transmitting to the node device managing the location of the content, the search request for the content, and the identification information of the content to be searched are transmitted from the terminal device connected to the second network via the second network. Receiving the identification request, determining whether the received identification information is stored in the storage means, and determining that the identification information is not stored, the search request and the search target Transferring the content identification information to another node device via the overlay network, and location information indicating the location of the other node device capable of providing the search target content to the first network And receiving the location information received from the other node device via the second network. Steps and the search said a target transmission request of the content of the other said node device addressed that can provide content terminal from said device second to be transmitted to the transmission source terminal device of the search request via the workpiece A first relay step of relaying the transmission request transmitted via the second network between the second network and the first network, and the content addressed to the terminal device that is the transmission request source. Te running, and a second relay step of relaying between said the content transmitted over the first network and the first network second network from another said node device, wherein the the second relay step, Turkey to relay the contents to the port of the transmission source terminal device temporarily opened the transmission request during a session And features.
請求項5に記載の発明は、第1のネットワークと第2のネットワークとの間でデータを中継する中継装置であって、少なくとも前記第1のネットワークに接続された複数のノード装置により構成されるオーバーレイネットワークに前記ノード装置として参加する中継装置と、前記第2のネットワークに接続された端末装置と、を備える通信システムにおいて、前記中継装置は、前記中継装置が接続される前記第2のネットワークに接続されている端末装置が記憶するコンテンツの識別情報を、前記端末装置から前記第2のネットワークを介して取得する第1取得手段と、前記第1取得手段により取得された前記識別情報と、前記識別情報を送信した端末装置の所在を示す所在情報とを対応付けて記憶する第1記憶手段と、前記第1記憶手段に記憶された前記識別情報と、前記中継装置の所在を示す所在情報とを前記オーバーレイネットワークを介して前記コンテンツの所在を管理するノード装置へ送信する第1送信手段と、を備え、前記端末装置は、コンテンツの検索要求と、検索対象のコンテンツの識別情報とを、前記第2のネットワークを介して前記中継装置へ送信する第6送信手段を備え、前記中継装置は、前記端末装置から送信された前記コンテンツの検索要求と前記検索対象のコンテンツの識別情報とを前記第2のネットワークを介して受信する第1受信手段と、前記第1受信手段により受信された前記識別情報が前記第1記憶手段に記憶されているかを判定する判定手段と、前記識別情報が記憶されていないと判定された場合、前記検索要求と前記検索対象のコンテンツの識別情報とを前記オーバーレイネットワークを介して他の前記ノード装置へ送信する第2送信手段と、前記検索対象のコンテンツを提供可能な他の前記ノード装置の所在を示す所在情報を、前記第1のネットワークを介して他の前記ノード装置から受信する第2受信手段と、前記第2受信手段により受信された前記所在情報を、前記第2のネットワークを介して前記検索要求の送信元の端末装置へ送信する第3送信手段と、を備え、前記端末装置は、前記中継装置から送信された前記所在情報を前記第2のネットワークを介して受信する第3受信手段と、前記中継装置に接続するために一時的にポートを開き、セッションが完了するとポートを閉じるポート開閉手段と、前記検索対象のコンテンツを提供可能な他の前記ノード装置宛ての前記コンテンツの送信要求を送信する第9送信手段と、を備え、前記中継装置は、前記端末装置から前記第2のネットワークを介して送信された前記送信要求を前記第2のネットワークと前記第1のネットワークとの間で中継する第1中継手段と、前記送信要求の送信元の端末装置宛ての前記コンテンツであって他の前記ノード装置から前記第1のネットワークを介して送信された前記コンテンツを前記第1のネットワークと前記第2のネットワークとの間で中継する第2中継手段と、を備え、前記第2中継手段は、前記セッション中に一時的に開かれた前記送信要求の送信元の端末装置の前記ポートに対して前記コンテンツを中継し、前記ポート開閉手段は、前記セッションが完了すると前記ポートを閉じることを特徴とする。
The invention according to
請求項6に記載の発明は、請求項5に記載の通信システムにおいて、前記端末装置は、前記オーバーレイネットワークに参加する参加手段と、前記コンテンツの検索要求と前記検索対象のコンテンツの識別情報とを、前記オーバーレイネットワークに参加する前記ノード装置へ前記第2のネットワークを介して送信する第7送信手段と、前記検索対象のコンテンツを提供可能な前記ノード装置の所在を示す所在情報を、前記中継装置及び前記第2のネットワークを介して前記ノード装置から受信する第4受信手段と、前記第4受信手段により受信された前記所在情報に従って、前記検索対象のコンテンツの送信要求を、前記第2のネットワーク及び前記中継装置を介して前記検索対象の前記コンテンツを提供可能な前記ノード装置へ送信する第8送信手段と、前記送信要求されたコンテンツを、前記中継装置及び前記第2のネットワークを介して前記ノード装置から受信する第5受信手段と、前記第5受信手段により受信されたコンテンツを記憶する第2記憶手段と、前記第2記憶手段に記憶されたコンテンツの識別情報と、前記端末装置の所在を示す所在情報を前記コンテンツの所在を管理するノード装置に送信する機能をロックする制御手段と、を備えることを特徴とする。
According to a sixth aspect of the present invention, in the communication system according to the fifth aspect , the terminal device comprises: a joining unit that participates in the overlay network; a search request for the content; and identification information for the content to be searched. a seventh transmitting means for transmitting via said second network to the node devices participating in the overlay network, the location information indicating the location of the can provide the node device content of the search target, the relay device And a fourth receiving means for receiving from the node device via the second network, and a transmission request for the search target content in accordance with the location information received by the fourth receiving means. And transmitting the content to be searched to the node device that can provide the content via the
請求項1、4または5に記載の発明によれば、中継装置のメモリ容量を低減し、且つシステムのセキュリティを向上させることができる。
According to the invention described in
請求項2に記載の発明によれば、前記識別情報が前記第1記憶手段に記憶されていると判定された場合、前記検索対象のコンテンツを検索要求の送信元の端末装置へ迅速に送信することができる。 According to the second aspect of the present invention, when it is determined that the identification information is stored in the first storage unit, the search target content is quickly transmitted to the terminal device that is the source of the search request. be able to.
請求項3に記載の発明によれば、中継装置が接続される第2のネットワークに接続されている端末装置を正確に管理することができる。 According to invention of Claim 3 , the terminal device connected to the 2nd network to which a relay apparatus is connected can be managed correctly.
請求項6に記載の発明によれば、端末装置が第1のネットワーク側から攻撃を受けるリスクを抑制することができる。 According to the invention described in claim 6 , it is possible to suppress a risk that the terminal device is attacked from the first network side.
以下、本発明の一実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに対して、本発明を適用した場合の実施形態である。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to a content distribution system.
[1.コンテンツ配信システムの構成及び動作概要]
始めに、図1を参照して、本実施形態のコンテンツ配信システムの構成及び動作概要について説明する。図1は、本実施形態のコンテンツ配信システムSのネットワーク構成例を示す図である。コンテンツ配信システムSは、本発明の通信システムの一例である。本実施形態のコンテンツ配信システムSは、図1に示すように、複数のルータR1〜R5、複数のコマンダC1〜C11、及びセンターサーバSAを含んで構成される。なお、図1に示すルータR1〜R5の数、コマンダC1〜C11の数、及びセンターサーバSAの数は例示であり、これらの数に限定されるものではない。以下の説明では、説明の便宜上、ルータR1〜R5を、ルータRという場合がある。また、コマンダC1〜C11を、コマンダCという場合がある。ルータRは、本発明の中継装置の一例である。コマンダCは、本発明の端末装置の一例である。コマンダCは、例えば、カラオケコンテンツ等のコンテンツを再生する再生装置である。ルータR及びコマンダCは、拠点P1〜P6の何れかに設置される。例えば、ルータR1及びコマンダC1は、拠点1に設置される。また、例えば、ルータR2、コマンダC2及びC3は、拠点P2に設置される。以下の説明では、説明の便宜上、拠点P1〜P6を、拠点Pという場合がある。拠点Pの例として、カラオケ店舗がある。拠点Pは、学校、会社、住宅、又はその他の施設等であってもよい。
[ 1. Content distribution system configuration and operation overview ]
First, the configuration and operation outline of the content distribution system of the present embodiment will be described with reference to FIG. FIG. 1 is a diagram showing a network configuration example of the content distribution system S of the present embodiment. The content distribution system S is an example of a communication system according to the present invention. As shown in FIG. 1, the content distribution system S according to the present embodiment includes a plurality of routers R1 to R5, a plurality of commanders C1 to C11, and a center server SA. In addition, the number of routers R1 to R5, the number of commanders C1 to C11, and the number of center servers SA illustrated in FIG. 1 are examples, and are not limited to these numbers. In the following description, the routers R1 to R5 may be referred to as a router R for convenience of description. In addition, the commanders C1 to C11 may be referred to as commanders C. The router R is an example of the relay device of the present invention. Commander C is an example of the terminal device of the present invention. The commander C is a playback device that plays back content such as karaoke content. The router R and the commander C are installed at any of the bases P1 to P6. For example, the router R1 and the commander C1 are installed at the
拠点P1〜P5には、それぞれ、拠点ネットワークNL1〜NL5が構築される。なお、拠点P6のように、拠点ネットワークが構築されない場合もある。以下の説明では、説明の便宜上、拠点ネットワークNL1〜NL6を、拠点ネットワークNLという場合がある。拠点ネットワークNLは、本発明の第2のネットワークの一例である。拠点ネットワークNLは、例えば、LAN(Local Area Network)から構成される。拠点ネットワークNLには、ルータR及びコマンダCが接続される。例えば、拠点ネットワークNL1には、ルータR1及びコマンダC1に接続される。また、例えば、拠点ネットワークNL2には、ルータR2、コマンダC2及びC3が接続される。それぞれの拠点ネットワークNLは、ルータRを介して基幹ネットワークNWに接続される。基幹ネットワークNWは、本発明の第1のネットワークの一例である。基幹ネットワークNWは、例えば、インターネット等のWAN(Wide Area Network)から構成される。基幹ネットワークNWには、センターサーバSAが接続されている。センターサーバSAは、例えば、コンテンツ配信システムSにおいて利用可能な全てのコンテンツを保存する。 Base networks NL1 to NL5 are constructed at the bases P1 to P5, respectively. In some cases, the base network may not be constructed like the base P6. In the following description, for convenience of explanation, the base networks NL1 to NL6 may be referred to as the base network NL. The base network NL is an example of a second network of the present invention. The base network NL is composed of, for example, a LAN (Local Area Network). A router R and a commander C are connected to the base network NL. For example, the base network NL1 is connected to the router R1 and the commander C1. Further, for example, a router R2 and commanders C2 and C3 are connected to the base network NL2. Each base network NL is connected to the backbone network NW via the router R. The backbone network NW is an example of the first network of the present invention. The backbone network NW is composed of, for example, a WAN (Wide Area Network) such as the Internet. A center server SA is connected to the backbone network NW. For example, the center server SA stores all the contents that can be used in the content distribution system S.
ルータRは、拠点ネットワークNL及び基幹ネットワークNWに接続される。そして、ルータRは、拠点ネットワークNLと基幹ネットワークNWとの間でデータを中継する中継機能を備える。ルータRは、この中継機能により、基幹ネットワークNWにおける通信経路の選択、つまり、ルーティングを行う。また、ルータRは、例えば、コマンダリスト及びキャッシュリストを記憶部に記憶する。コマンダリストは、ルータRが接続される拠点ネットワークNLに接続されているコマンダCのうち、起動中のコマンダCのアドレス情報を登録するリストである。ここで、起動中とは、例えば、コマンダCが拠点ネットワークNLを介してルータRと通信可能状態にあることをいう。また、アドレス情報には、IPアドレスが含まれる。なお、アドレス情報には、IPアドレス及びポート番号が含まれてもよい。コマンダCのアドレス情報は、コマンダCの所在を示す所在情報の一例である。例えば、図1に示す拠点P2において、コマンダC2が起動中の場合、ルータR2のコマンダリストには、コマンダC2のアドレス情報が登録される。 The router R is connected to the base network NL and the backbone network NW. The router R has a relay function for relaying data between the base network NL and the backbone network NW. With this relay function, the router R selects a communication path in the backbone network NW, that is, performs routing. Further, the router R stores, for example, a commander list and a cache list in the storage unit. The commander list is a list for registering address information of the active commander C among the commanders C connected to the base network NL to which the router R is connected. Here, “being activated” means, for example, that the commander C is in a communicable state with the router R via the base network NL. The address information includes an IP address. The address information may include an IP address and a port number. The address information of the commander C is an example of location information indicating the location of the commander C. For example, when the commander C2 is active at the site P2 shown in FIG. 1, the address information of the commander C2 is registered in the commander list of the router R2.
一方、キャッシュリストは、ルータRが接続される拠点ネットワークNLに接続されているコマンダCのうち、起動中のコマンダCが記憶するコンテンツのコンテンツIDと、このコマンダCのアドレス情報とを対応付けて登録するリストである。言い換えれば、キャッシュリストには、コマンダリストに登録されているコマンダCが記憶部に記憶するコンテンツのコンテンツIDと、このコマンダCのアドレス情報とが対応付けられて登録される。ルータRは、コンテンツを記憶しないが、このルータRの配下にあるコマンダCが記憶するコンテンツのコンテンツIDを管理する。ここで、ルータRの配下にあるとは、ルータRと同じ拠点ネットワークNLに接続されていることを意味する。なお、コンテンツのコンテンツIDは、コンテンツ配信システムSにおいてコンテンツを他のコンテンツから識別する識別情報である。コンテンツIDは、例えば、コンテンツのコンテンツ名等を基に、例えばSHA1等の所定のハッシュ関数によりハッシュ値として生成される。 On the other hand, the cache list associates the content ID of the content stored by the active commander C among the commanders C connected to the base network NL to which the router R is connected with the address information of the commander C. It is a list to register. In other words, the content ID of the content stored in the storage unit by the commander C registered in the commander list and the address information of the commander C are registered in the cache list in association with each other. The router R does not store the content, but manages the content ID of the content stored by the commander C under the router R. Here, being under the router R means being connected to the same base network NL as the router R. The content ID of the content is identification information that identifies the content from other content in the content distribution system S. The content ID is generated as a hash value by a predetermined hash function such as SHA1, for example, based on the content name of the content.
また、コンテンツ配信システムSにおいて、少なくとも基幹ネットワークNWに接続された複数のノードN1〜N9によりオーバーレイネットワークONが構成される。オーバーレイネットワークONは、仮想的なリンクを構成する論理的なネットワークである。オーバーレイネットワークONは、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現されるピアツーピアネットワークである。このような分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。なお、図1に示すノードN1〜N9の数は例示であり、この数に限定されるものではない。以下の説明では、説明の便宜上、ノードN1〜N9を、ノードNという場合がある。ノードNは、本発明のノード装置の一例である。図1の例では、基幹ネットワークNWに接続された全てのルータRと、拠点ネットワークNLに接続された一部のコマンダCとがノードNとしてオーバーレイネットワークONに参加している。オーバーレイネットワークONに参加するとは、DHTを用いたルーティングテーブルに基づいて他のノードNとの間で各種メッセージを送受信できる状態に稼動することをいう。これにより、それぞれのノードNは、他のノードNとの間でオーバーレイネットワークONを介してメッセージを送受信することが可能となる。 In the content distribution system S, the overlay network ON is configured by a plurality of nodes N1 to N9 connected to at least the backbone network NW. The overlay network ON is a logical network that forms a virtual link. The overlay network ON is a peer-to-peer network realized by an algorithm using a distributed hash table, for example. Such a distributed hash table is hereinafter referred to as “DHT (Distributed Hash Table)”. The number of nodes N1 to N9 shown in FIG. 1 is an example, and the number is not limited to this number. In the following description, the nodes N1 to N9 may be referred to as a node N for convenience of description. The node N is an example of the node device of the present invention. In the example of FIG. 1, all routers R connected to the backbone network NW and some commanders C connected to the base network NL are participating in the overlay network ON as nodes N. Participating in the overlay network ON means operating in a state where various messages can be transmitted to and received from other nodes N based on a routing table using DHT. As a result, each node N can send and receive messages to and from other nodes N via the overlay network ON.
オーバーレイネットワークONにノードNとして参加するルータR及びコマンダCには、それぞれ、ノードIDが付与される。ノードIDは、オーバーレイネットワークONに参加しているノードNを他のノードNから識別する識別情報である。ノードIDは、例えば、ルータRまたはコマンダCのアドレス情報等を基に、所定のハッシュ関数によりハッシュ値として生成される。このハッシュ関数は、コンテンツIDの生成に用いられるハッシュ関数と同一である。また、オーバーレイネットワークONにノードNとして参加するルータR及びコマンダCは、それぞれ、DHTを用いたルーティングテーブル(以下、「DHTルーティングテーブル」という)を記憶する。DHTルーティングテーブルには、各種メッセージの送信先候補となるノードNのノードIDとアドレス情報の組が複数登録される。DHTルーティングテーブルの詳細については、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。 A node ID is assigned to each of the router R and the commander C that participates as a node N in the overlay network ON. The node ID is identification information for identifying the node N participating in the overlay network ON from other nodes N. The node ID is generated as a hash value by a predetermined hash function based on the address information of the router R or the commander C, for example. This hash function is the same as the hash function used for generating the content ID. Further, the router R and the commander C participating as the node N in the overlay network ON each store a routing table using DHT (hereinafter referred to as “DHT routing table”). In the DHT routing table, a plurality of pairs of node IDs and address information of node N, which are transmission destination candidates for various messages, are registered. Details of the DHT routing table are known in Japanese Patent Application Laid-Open No. 2006-197400 and the like, and thus detailed description thereof is omitted.
なお、コマンダCがノードNである場合、DHTルーティングテーブルには、コマンダCのアドレス情報の代わりにコマンダCが拠点ネットワークNLを介して接続されるルータRのアドレス情報が登録される。また、コマンダCは、オーバーレイネットワークONに参加しているか否かに関わらず、基幹ネットワークNW側からのアクセスされないようにポートを閉じている。 When the commander C is the node N, the address information of the router R to which the commander C is connected via the base network NL is registered in the DHT routing table instead of the address information of the commander C. Further, the commander C closes the port so as not to be accessed from the backbone network NW side regardless of whether or not it participates in the overlay network ON.
オーバーイネットワークONにノードNとして参加したルータRは、このルータRが提供可能なコンテンツの所在を管理するノードNへオーバーレイネットワークONを介してパブリッシュメッセージを送信する。パブリッシュメッセージをルートノードへ送信する処理を「パブリッシュ処理」という。ここで、コンテンツの所在を管理するノードNを「ルートノード」という。パブリッシュメッセージは、ルータRの配下にあるコマンダCが記憶するコンテンツを提供可能であることを他のノードNに公開するためのメッセージである。パブリッシュメッセージには、このパブリッシュメッセージを送信するルータRのアドレス情報と、このルータRが記憶するキャッシュリストに登録されたコンテンツIDと、が含まれる。ルートノードは、例えば、コンテンツIDと最も値の近いノードIDが付与されたノードNである。最も値の近いとは、例えば、IDの上位桁が最も多く一致することを意味する。そして、パブリッシュメッセージは、このパブリッシュメッセージに含まれるコンテンツIDをキーとしてDHTルーティングによりルートノードへ送信される。DHTルーティングは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。パブリッシュメッセージを受信したルートノードは、このパブリッシュメッセージに含まれる「ルータRのアドレス情報」と「コンテンツのコンテンツID」とを対応付けてインデックス情報として記憶する。そして、ルートノードは、他のノードNからのコンテンツの検索要求に応じて、このコンテンツのコンテンツIDに対応付けられたルータRのアドレス情報を提供することになる。 The router R that has participated in the over network ON as the node N transmits a publish message to the node N that manages the location of the content that can be provided by the router R through the overlay network ON. The process of sending a publish message to the root node is called “publish process”. Here, the node N that manages the location of the content is referred to as a “root node”. The publish message is a message for disclosing to other nodes N that the content stored by the commander C under the router R can be provided. The publish message includes the address information of the router R that transmits the publish message and the content ID registered in the cache list stored in the router R. The root node is, for example, a node N to which a node ID having a value closest to the content ID is assigned. The closest value means, for example, that the upper digits of the ID match most frequently. The publish message is transmitted to the root node by DHT routing using the content ID included in the publish message as a key. Since DHT routing is well known in, for example, Japanese Patent Application Laid-Open No. 2007-053662, detailed description thereof is omitted. The root node that has received the publish message stores “address information of router R” and “content ID of content” included in the publish message in association with each other and stored as index information. Then, in response to a content search request from another node N, the root node provides the address information of the router R associated with the content ID of this content.
例えば、拠点P3に設置されたコマンダC5が、例えばユーザにより指定されたコンテンツを記憶していない場合がある。この場合、オーバーレイネットワークONに参加していないコマンダC5は、このコンテンツの検索要求を示す検索要求メッセージを、拠点ネットワークNL3を介して同じ拠点P3内のルータR3へ送信する。この検索要求メッセージには、検索対象のコンテンツのコンテンツIDが含まれる。ノードN6であるルータR3は、コマンダC5から送信された検索要求メッセージを、拠点ネットワークNL3を介して受信する。そして、ルータR3は、受信された検索要求メッセージに含まれるコンテンツIDが記憶部に記憶されているかを判定する。つまり、受信された検索要求メッセージに含まれるコンテンツIDがキャッシュリストに登録されているか否かが判定される。 For example, the commander C5 installed at the site P3 may not store content specified by the user, for example. In this case, the commander C5 not participating in the overlay network ON transmits a search request message indicating a search request for this content to the router R3 in the same base P3 via the base network NL3. This search request message includes the content ID of the content to be searched. The router R3, which is the node N6, receives the search request message transmitted from the commander C5 via the base network NL3. Then, the router R3 determines whether the content ID included in the received search request message is stored in the storage unit. That is, it is determined whether or not the content ID included in the received search request message is registered in the cache list.
ルータR3は、検索要求メッセージに含まれるコンテンツIDが記憶されていないと判定した場合、検索対象のコンテンツの所在を管理するルートノードへオーバーレイネットワークONを介して送信する。つまり、検索要求メッセージは、この検索要求メッセージに含まれるコンテンツIDをキーとしてDHTルーティングによりルートノードへ送信される。そして、ルートノードは、受信した検索要求メッセージに応じて、検索結果メッセージを、基幹ネットワークNWを介してルータR3へ送信する。この検索結果メッセージには、検索要求メッセージに含まれるコンテンツIDに対応付けられた、例えばルータR5のアドレス情報が含まれる。検索結果メッセージに含まれるルータR5のアドレス情報は、検索対象のコンテンツを提供可能な他のノードNのアドレス情報である。ルータR3は、基幹ネットワークNWを介してルートノードから検索結果メッセージを受信する。そして、ルータR3は、受信した検索結果メッセージを、拠点ネットワークNL3を介して検索要求の送信元のコマンダC5へ送信する。 When the router R3 determines that the content ID included in the search request message is not stored, the router R3 transmits the content to the root node that manages the location of the search target content via the overlay network ON. That is, the search request message is transmitted to the root node by DHT routing using the content ID included in the search request message as a key. Then, in response to the received search request message, the root node transmits a search result message to the router R3 via the backbone network NW. This search result message includes, for example, the address information of the router R5 associated with the content ID included in the search request message. The address information of the router R5 included in the search result message is address information of another node N that can provide the search target content. The router R3 receives the search result message from the root node via the backbone network NW. Then, the router R3 transmits the received search result message to the commander C5 that is the transmission source of the search request via the base network NL3.
コマンダC5は、ルータR3から送信された検索結果メッセージを、拠点ネットワークNL3を介して受信する。そして、コマンダC5は、受信した検索結果メッセージに含まれるアドレス情報に対応するルータR5にアクセスする。つまり、コマンダC5は、例えばTCPクライアントとして、拠点ネットワークNL3、ルータR3及び基幹ネットワークNWを介してルータR5にTCP接続する。コマンダC5は、このTCP接続のセッションにおいて、コンテンツの送信要求を示す送信要求メッセージをルータR5へ送信する。この送信要求メッセージには、要求対象のコンテンツのコンテンツIDが含まれる。ルータR5は、コマンダC5から受信した送信要求メッセージに含まれるコンテンツIDに対応するコンテンツを例えばコマンダC10から取得する。そして、ルータR5は、コマンダC10から取得したコンテンツを送信要求元のコマンダC5へ送信する。なお、コマンダC5は、TCP接続用に一時的にランダムポートを開き、セッションが完了すればポートを閉じることになる。このセッションにおいて、ルータR3は、コマンダC5からルータR5宛てのコンテンツの送信要求メッセージを拠点ネットワークNL3と基幹ネットワークNWとの間で中継する。また、このセッションにおいて、ルータR3は、ルータR5からコマンダC5宛てのコンテンツを、基幹ネットワークNWと拠点ネットワークNL3との間で中継する。これにより、ルータRは中継機能によりデータを中継すればよいので、メモリ容量を低減することができる。 The commander C5 receives the search result message transmitted from the router R3 via the base network NL3. Then, the commander C5 accesses the router R5 corresponding to the address information included in the received search result message. That is, the commander C5 makes a TCP connection to the router R5 via the base network NL3, the router R3, and the backbone network NW, for example, as a TCP client. The commander C5 transmits a transmission request message indicating a content transmission request to the router R5 in the TCP connection session. This transmission request message includes the content ID of the requested content. The router R5 acquires content corresponding to the content ID included in the transmission request message received from the commander C5, for example, from the commander C10. Then, the router R5 transmits the content acquired from the commander C10 to the commander C5 that is the transmission request source. The commander C5 temporarily opens a random port for TCP connection, and closes the port when the session is completed. In this session, the router R3 relays a content transmission request message addressed to the router R5 from the commander C5 between the base network NL3 and the backbone network NW. In this session, the router R3 relays the content addressed from the router R5 to the commander C5 between the backbone network NW and the base network NL3. Thereby, since the router R should just relay data by a relay function, memory capacity can be reduced.
一方、ルータR3は、コマンダC5から受信された検索要求メッセージに含まれるコンテンツIDが記憶されていると判定する場合がある。例えば、コマンダC5と同じ拠点P3内のコマンダC6が検索対象のコンテンツを記憶している場合がある。この場合、ルータR3は、検索対象のコンテンツを提供可能なノードNのアドレス情報としてルータR3のアドレス情報を含む検索結果メッセージを、拠点ネットワークNL3を介して検索要求の送信元のコマンダC6へ送信する。コマンダC6は、ルータR3のアドレス情報を含む検索結果メッセージを受信すると、コンテンツの送信要求を示す送信要求メッセージをルータR3へ送信する。ルータR3は、コマンダC5から受信した送信要求メッセージに含まれるコンテンツIDに対応するコンテンツを例えばコマンダC6から取得する。そして、ルータR3は、コマンダC6から取得したコンテンツを送信要求元のコマンダC5へ送信する。これにより、検索対象のコンテンツをコマンダC5へ迅速に送信することができる。 On the other hand, the router R3 may determine that the content ID included in the search request message received from the commander C5 is stored. For example, the commander C6 in the same base P3 as the commander C5 may store the search target content. In this case, the router R3 transmits a search result message including the address information of the router R3 as the address information of the node N that can provide the search target content to the commander C6 that is the source of the search request via the base network NL3. . When receiving the search result message including the address information of the router R3, the commander C6 transmits a transmission request message indicating a content transmission request to the router R3. The router R3 acquires content corresponding to the content ID included in the transmission request message received from the commander C5, for example, from the commander C6. Then, the router R3 transmits the content acquired from the commander C6 to the commander C5 that is the transmission request source. As a result, the search target content can be quickly transmitted to the commander C5.
そして、コンテンツを受信したコマンダC5は、このコンテンツを記憶部に記憶する。コマンダC5は、コンテンツを記憶したとき、パブリッシュメッセージをルートノードへ送信する機能を備える。このパブリッシュメッセージは、記憶されたコンテンツのコンテンツIDと、コマンダC5のアドレス情報を含む。しかしながら、本実施形態では、コマンダC5は、パブリッシュメッセージをルートノードへ送信する機能をロックしている。そのため、基幹ネットワークNW側からコマンダC5には直接アクセスされない。 The commander C5 that has received the content stores the content in the storage unit. The commander C5 has a function of transmitting a publish message to the root node when content is stored. This publish message includes the content ID of the stored content and the address information of the commander C5. However, in this embodiment, the commander C5 locks the function of transmitting a publish message to the root node. Therefore, the commander C5 is not directly accessed from the backbone network NW side.
なお、オーバーレイネットワークONに参加しているコマンダCは、オーバーレイネットワークONを介して検索要求メッセージをルートノードへ送信することもできる。この場合、コマンダCは、検索要求メッセージに応じてルートノードから送信された検索結果メッセージをルータR及び拠点ネットワークNLを介して受信する。コマンダCは、受信された検索結果メッセージに含まれるアドレス情報に従って、拠点ネットワークNL等を介して、コンテンツを提供可能なルータRへアクセスする。そして、コマンダCは、コンテンツの送信要求を示す送信要求メッセージを、アクセスしたルータRへ送信する。これにより、コマンダCは、ルータRからコンテンツを受信して記憶部に記憶する。この場合も、パブリッシュメッセージをルートノードへ送信する機能がロックされているので、パブリッシュメッセージの送信が行われない。 Note that the commander C participating in the overlay network ON can also send a search request message to the root node via the overlay network ON. In this case, the commander C receives the search result message transmitted from the root node in response to the search request message via the router R and the base network NL. The commander C accesses the router R that can provide the content via the base network NL or the like according to the address information included in the received search result message. Then, the commander C transmits a transmission request message indicating a content transmission request to the accessed router R. Thereby, the commander C receives the content from the router R and stores it in the storage unit. Also in this case, since the function of transmitting the publish message to the root node is locked, the publish message is not transmitted.
[2.ルータRの構成及び機能]
次に、図2(A)を参照して、ルータRの構成及び機能について説明する。図2(A)は、ルータRの概要構成例を示す図である。ルータRは、図2(A)に示すように、制御部1、記憶部2、ネットワークインターフェース3a、及びネットワークインターフェース3b等を備えて構成される。制御部1、記憶部2、ネットワークインターフェース3a、及びネットワークインターフェース3bは、バス4を介して相互に接続されている。
[ 2. Configuration and function of router R ]
Next, the configuration and function of the router R will be described with reference to FIG. FIG. 2A is a diagram illustrating a schematic configuration example of the router R. As shown in FIG. 2A, the router R includes a
記憶部2は、本発明の第1記憶手段の一例である。記憶部2は、例えば不揮発性メモリ等から構成される。記憶部2には、オペレーティングシステム、ルータ処理プログラム、及びノード処理プログラムが記憶される。ルータ処理プログラムは、コンピュータとしての制御部1に、拠点ネットワークNLと基幹ネットワークNWとの間でデータ(IPパケット)を中継するルータRとしての処理を実行させるプログラムである。ノード処理プログラムは、制御部1に、オーバーレイネットワークONを構成するノードNとしての処理を実行させるP2Pプログラムである。ルータ処理プログラム及びノード処理プログラムは、例えば基幹ネットワークNWに接続された所定のサーバからダウンロードされる。或いは、ルータ処理プログラム、及びノード処理プログラムは、例えば、記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
The memory |
また、記憶部2には、上述したコマンダリスト及びキャッシュリストが記憶される。図2(B)は、キャッシュリストに登録された情報の一例を示す図である。図2(B)に示すキャッシュリストには、コンテンツのコンテンツID、コンテンツのサイズ、コンテンツの更新日時、及び所有コマンダ情報が対応付けられて登録されている。所有コマンダ情報には、コンテンツを記憶するコマンダCのアドレス情報が含まれる。コンテンツを記憶するコマンダCが複数ある場合、図2(B)に示すように、それぞれのコマンダCのアドレス情報が所有コマンダ情報に含まれることになる。なお、キャッシュリストにおいて、図2(B)に示すように、コンテンツのコンテンツID、コンテンツのサイズ、コンテンツの更新日時、及び所有コマンダ情報が対応付けられた一行(一レコード)を、このコンテンツのエントリという。一方、コマンダリストに登録された一アドレス情報を、コマンダのエントリという。また、オーバーレイネットワークONに参加したルータRの記憶部2には、上述したDHTルーティングテーブルが記憶される。また、オーバーレイネットワークONにおいてルートノードとして動作するルータRの記憶部2には、上述したインデックス情報が記憶される。
The
ネットワークインターフェース3aは、基幹ネットワークNWに接続される。ネットワークインターフェース3bは、拠点ネットワークNLに接続される。 The network interface 3a is connected to the backbone network NW. The network interface 3b is connected to the base network NL.
制御部1は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部1は、本発明の第1取得手段、第2取得手段、第1送信手段、第2送信手段、第3送信手段、第4送信手段、第5送信手段、判定手段、第1受信手段、第2受信手段、第1中継手段、第2中継手段、及び削除手段の一例である。また、制御部1は時計機能及びタイマ機能を備える。制御部1は、ルータ処理プログラムに従ってルータRとしての処理を実行する。また、制御部1は、ノード処理プログラムに従ってノードNとしての処理を実行する。
The
[3.コマンダCの構成及び機能等]
次に、図2(C)を参照して、コマンダCの構成及び機能について説明する。図2(C)は、コマンダCの概要構成例を示すブロック図である。コマンダCは、図2(C)に示すように、制御部11、記憶部12、デコーダ部13、映像処理部14、音声処理部15、ネットワークインターフェース16、及び入力部17等を備えて構成される。制御部11、記憶部12、デコーダ部13、映像処理部14、音声処理部15、ネットワークインターフェース16、及び入力部17は、バス18を介して相互に接続されている。
[ 3. Configuration and functions of commander C ]
Next, the configuration and function of the commander C will be described with reference to FIG. FIG. 2C is a block diagram illustrating a schematic configuration example of the commander C. As shown in FIG. 2C, the commander C includes a
記憶部12は、本発明の第2記憶手段の一例である。記憶部12は、例えばハードディスクドライブ(HDD)等から構成される。記憶部12には、オペレーティングシステム、コマンダ処理プログラム、及びノード処理プログラム等が記憶されている。コマンダ処理プログラムは、制御部11に、コマンダCとしての処理を実行させるプログラムである。コマンダCとしての処理には、例えば、コンテンツのダウンロード処理、コンテンツの再生処理などが含まれる。ノード処理プログラムは、制御部11に、オーバーレイネットワークONを構成するノードNとしての処理を実行させるP2Pプログラムである。コマンダ処理プログラム、及びノード処理プログラムは、例えば、基幹ネットワークNWに接続された所定のサーバからダウンロードされる。或いは、コマンダ処理プログラム、及びノード処理プログラムは、例えば、記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
The memory |
また、記憶部12には、コンテンツが記憶される。コンテンツは、例えば、映像データと音声データの少なくとも何れか一方により構成される。なお、コンテンツがカラオケコンテンツの場合がある。この場合、コンテンツは、映像データ、音声データ、及び字幕データにより構成される。また、記憶部12には、キャッシュリストが記憶される。このキャッシュリストには、記憶部12に記憶されているコンテンツのコンテンツID、コンテンツのサイズ、コンテンツの更新日時、及び記憶部12におけるコンテンツの所在を示すパスが対応付けられて登録される。また、記憶部12には、センターサーバSAのアドレス情報が記憶される。また、オーバーレイネットワークONに参加したコマンダCの記憶部12には、DHTルーティングテーブルが記憶される。
The
デコーダ部13は、制御部11による再生制御に従って、コンテンツに含まれる映像データ及び音声データ等のデータ伸張や復号化等のデコード処理を行う。映像処理部14は、デコーダ部13によりデコードされた映像データ等に対して所定の描画処理を施し映像信号としてディスプレイ(図示せず)へ出力する。これにより、ディスプレイには映像が表示される。音声処理部15は、デコーダ部13によりデコードされた音声データをアナログ音声信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅してスピーカ(図示せず)へ出力する。これにより、スピーカから音声が出力される。ネットワークインターフェース16は、拠点ネットワークNLに接続される。入力部17は、コマンダCのユーザからコンテンツの指定等の指示を入力する。
The
制御部11は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部11は、本発明の参加手段、第6送信手段、第7送信手段、第8送信手段、第3受信手段、第4受信手段、第5受信手段、及び制御手段の一例である。制御部11は、コマンダ処理プログラムに従ってコマンダCとしての処理を実行する。また、制御部11は、ノード処理プログラムに従ってノードNとしての処理を実行する。ただし、制御部11により実行されるノードNとしての処理の中で、パブリッシュメッセージをルートノードへ送信するパブリッシュ処理はロックされている。
The
[4.コンテンツ配信システムSの動作]
次に、本実施形態のコンテンツ配信システムSの動作について説明する。
[ 4. Operation of Content Distribution System S ]
Next, the operation of the content distribution system S of the present embodiment will be described.
(4−1.ルータRの起動時の処理)
先ず、図3を参照して、ルータRの起動時の処理について説明する。図3(A)は、ルータRの起動時の処理例を示すフローチャートである。図3(B)は、ルータRにおけるメイン処理例を示すフローチャートである。なお、以下の説明では、ルータR3を例にとるものとする。図3(A)に示す処理は、例えばルータR3の電源オンにより開始される。
(4-1. Processing at startup of router R)
First, with reference to FIG. 3, processing at the time of starting the router R will be described. FIG. 3A is a flowchart illustrating a processing example when the router R is activated. FIG. 3B is a flowchart illustrating an example of main processing in the router R. In the following description, the router R3 is taken as an example. The process shown in FIG. 3A is started, for example, when the router R3 is powered on.
図3(A)に示す処理が開始されると、ルータR3の制御部1は、タイマ機能によりパブリッシュタイマT1及び生死監視タイマT2のカウントをそれぞれ開始する。パブリッシュタイマT1は、上述したパブリッシュ処理の開始時間を設定するものである。生死監視タイマT2は、コマンダCの生死を確認する生死確認処理の開始時間を設定するものである。そして、ルータR3の制御部1は、コマンダ検索用のブロードキャストパケットまたはマルチキャストパケットを、拠点ネットワークNL3を介してコマンダCへ送信する(ステップS1)。なお、ルータR3の制御部1は、ブロードキャストパケットまたはマルチキャストパケットを送信した時に、応答待機タイマT3のカウントを開始する。応答待機タイマT3は、ブロードキャストパケットまたはマルチキャストパケットに対する応答のタイムアウト時間を設定するものである。ブロードキャストパケットまたはマルチキャストパケットを受信したコマンダCは、拠点ネットワークNL3を介してルータR3へ応答メッセージを送信することになる。この応答メッセージには、このメッセージを送信したコマンダCのアドレス情報が含まれる。
When the process shown in FIG. 3A is started, the
次いで、ルータR3の制御部1は、タイムアウトになったか否かを判定する(ステップS2)。応答待機タイマT3のカウント値が、設定されたタイムアウト時間になった場合、タイムアウトになったと判定される。タイムアウトになっていないと判定された場合(ステップS2:NO)、ステップS3へ進む。一方、タイムアウトになったと判定された場合(ステップS2:YES)、図3(B)に示すメイン処理へ進む。メイン処理の詳細は後述する。
Next, the
ステップS3では、ルータR3の制御部1は、コマンダCからの応答メッセージが受信されたか否かを判定する。コマンダCからの応答メッセージが受信されていないと判定された場合(ステップS3:NO)、ステップS2に戻る。一方、コマンダCからの応答メッセージが受信されたと判定された場合(ステップS3:YES)、ステップS4へ進む。
In step S3, the
ステップS4では、ルータR3の制御部1は、応答メッセージを送信したコマンダCのアドレス情報をコマンダリストに登録する。次いで、ルータR3の制御部1は、応答メッセージを送信したコマンダCから拠点ネットワークNL3を介してキャッシュリストを取得する(ステップS5)。次いで、ルータR3の制御部1は、コマンダCから取得したキャッシュリストに基づいて、ルータR3の記憶部2に記憶されているキャッシュリストを更新し(ステップS6)、ステップS2に戻る。つまり、ルータR3の記憶部2に記憶されているキャッシュリストに、応答メッセージを送信したコマンダCが記憶するコンテンツのコンテンツID、及びこのコマンダCのアドレス情報等が登録される。
In step S4, the
次に、図3(B)に示すメイン処理では、ルータR3の制御部1は、コマンダCからの参加要求メッセージが受信されたか否かを判定する。コマンダCからの参加要求メッセージが受信されたと判定された場合(ステップS101:YES)、ステップS102へ進む。ステップS102では、ルータR3の制御部1は、コマンダCの追加処理を実行する。コマンダCの追加処理の詳細は後述する。一方、コマンダCからの参加要求メッセージが受信されていないと判定された場合(ステップS101:NO)、ステップS103へ進む。
Next, in the main process shown in FIG. 3B, the
ステップS103では、ルータR3の制御部1は、コマンダCからの離脱要求メッセージが受信されたか否かを判定する。コマンダCからの離脱要求メッセージが受信されたと判定された場合(ステップS103:YES)、ステップS104へ進む。ステップS104では、ルータR3の制御部1は、コマンダCの削除処理を実行する。コマンダCの削除処理の詳細は後述する。一方、コマンダCからの離脱要求メッセージが受信されていないと判定された場合(ステップS103:NO)、ステップS105へ進む。
In step S103, the
ステップS105では、ルータR3の制御部1は、パブリッシュタイマT1がカウントアップしたか否かを判定する。つまり、パブリッシュタイマT1のカウント値が、設定された開始時間になったか否かが判定される。パブリッシュタイマT1がカウントアップしたと判定された場合(ステップS105:YES)、ステップS106へ進む。ステップS106では、ルータR3の制御部1は、パブリッシュ処理を実行する。パブリッシュ処理の詳細は後述する。一方、パブリッシュタイマT1がカウントアップしていないと判定された場合(ステップS105:NO)、ステップS107へ進む。
In step S105, the
ステップS107では、ルータR3の制御部1は、生死監視タイマT2がカウントアップしたか否かを判定する。つまり、生死監視タイマT2のカウント値が、設定された開始時間になったか否かが判定される。生死監視タイマT2がカウントアップしたと判定された場合(ステップS107:YES)、ステップS108へ進む。ステップS108では、ルータR3の制御部1は、コマンダCの生死確認処理を実行する。コマンダCの生死確認処理の詳細は後述する。一方、生死監視タイマT2がカウントアップしていないと判定された場合(ステップS107:NO)、ステップS109へ進む。
In step S107, the
ステップS109では、ルータR3の制御部1は、コマンダCからの検索要求メッセージが受信されたか否かを判定する。コマンダCからの検索要求メッセージが受信されたと判定された場合(ステップS109:YES)、ステップS110へ進む。ステップS110では、ルータR3の制御部1は、コンテンツの検索処理を実行する。コンテンツの検索処理の詳細は後述する。一方、コマンダCからの検索要求メッセージが受信されていないと判定された場合(ステップS109:NO)、ステップS111へ進む。
In step S109, the
ステップS111では、ルータR3の制御部1は、コマンダCからの送信要求メッセージが受信されたか否かを判定する。コマンダCからの送信要求メッセージが受信されたと判定された場合(ステップS111:YES)、ステップS112へ進む。ステップS112では、ルータR3の制御部1は、コンテンツのアップロード処理を実行する。コンテンツのアップロード処理の詳細は後述する。一方、コマンダCからの送信要求メッセージが受信されていないと判定された場合(ステップS111:NO)、ステップS113へ進む。
In step S111, the
ステップS113では、ルータR3の制御部1は、コマンダCから、ルータR以外の宛先へのIPパケットを受信したか否かを判定する。ルータR以外の宛先へのIPパケットを受信したと判定した場合(ステップS113:YES)、制御部1は、受信されたIPパケットを宛先へ転送する(ステップS114)。このIPパケットの転送は、通常のルータによりIPパケットの転送処理と同様である。一方、ルータR以外の宛先へのIPパケットを受信していないと判定した場合(ステップS113:NO)、ステップS115へ進む。
In step S113, the
ステップS115では、ルータR3の制御部1は、終了指示があったか否かを判定する。例えばユーザから終了指示があったと判定された場合(ステップS115:YES)、メイン処理が終了する。一方、終了指示がないと判定された場合(ステップS115:NO)、ステップS101に戻る。
In step S115, the
(4−2.コマンダCの追加処理)
次に、図4(A)を参照して、コマンダCの追加処理について説明する。図4(A)は、ルータRにおけるコマンダCの追加処理例を示すフローチャートである。図4(A)に示す処理は、上述したメイン処理において、コマンダCから拠点ネットワークNL3を介して参加要求メッセージが受信された場合(ステップS101:YES)に開始される。この参加要求メッセージは、コンテンツ配信システムSへの参加要求を示すメッセージである。例えば、図3(A)に示す処理において、例えばコマンダC5が起動していなかった場合、このコマンダC5から応答メッセージは受信されずタイムアウトになる。しかし、その後、コマンダC5が起動すると、コマンダC5は拠点ネットワークNL3を介してルータR3へ参加要求メッセージを送信することになる。この参加要求メッセージには、このメッセージを送信したコマンダC5のアドレス情報が含まれる。
(4-2. Additional processing for Commander C)
Next, commander C addition processing will be described with reference to FIG. FIG. 4A is a flowchart illustrating an example of processing for adding a commander C in the router R. The process shown in FIG. 4A is started when a participation request message is received from the commander C through the base network NL3 in the main process described above (step S101: YES). This participation request message is a message indicating a participation request to the content distribution system S. For example, in the process shown in FIG. 3A, when the commander C5 is not activated, for example, a response message is not received from the commander C5 and a time-out occurs. However, after that, when the commander C5 is activated, the commander C5 transmits a participation request message to the router R3 via the base network NL3. This participation request message includes the address information of the commander C5 that transmitted this message.
図4(A)に示す処理が開始されると、ルータR3の制御部1は、参加要求メッセージを送信したコマンダC5のアドレス情報がコマンダリストに登録されているか否かを判定する(ステップS11)。つまり、参加要求メッセージを送信したコマンダC5のエントリがコマンダリストにあるか否かが判定される。コマンダC5のアドレス情報がコマンダリストに登録されていると判定された場合(ステップS11:YES)、メイン処理に戻る。一方、コマンダC5のアドレス情報がコマンダリストに登録されていないと判定された場合(ステップS11:NO)、ステップS12へ進む。ステップS12では、ルータR3の制御部1は、参加要求メッセージを送信したコマンダC5のアドレス情報をコマンダリストに登録する。
When the process shown in FIG. 4A is started, the
次いで、ルータR3の制御部1は、参加要求メッセージを送信したコマンダC5から拠点ネットワークNL3を介してキャッシュリストを取得する(ステップS13)。次いで、ルータR3の制御部1は、コマンダC5から取得したキャッシュリストに基づいて、ルータR3の記憶部2に記憶されているキャッシュリストを更新し(ステップS14)、メイン処理に戻る。こうして、キャッシュリストには、コマンダC5のアドレス情報が追加される。
Next, the
(4−3.コマンダCの削除処理)
次に、図4(B)を参照して、コマンダCの削除処理について説明する。図4(B)は、ルータRにおけるコマンダCの削除処理例を示すフローチャートである。図4(B)に示す処理は、上述したメイン処理において、例えばコマンダC6から拠点ネットワークNL3を介して離脱要求メッセージが受信された場合(ステップS103:YES)に開始される。この離脱要求メッセージは、コンテンツ配信システムSからの離脱要求を示すメッセージである。この離脱要求メッセージには、このメッセージを送信したコマンダC6のアドレス情報が含まれる。
(4-3. Commander C Deletion Process)
Next, with reference to FIG. 4B, the deletion process of the commander C will be described. FIG. 4B is a flowchart illustrating an example of the deletion process of the commander C in the router R. The process shown in FIG. 4B is started when a leave request message is received from the commander C6 via the base network NL3 in the main process described above (step S103: YES). This leave request message is a message indicating a leave request from the content distribution system S. This leave request message includes the address information of the commander C6 that sent this message.
図4(B)に示す処理が開始されると、ルータR3の制御部1は、離脱要求メッセージを送信したコマンダC6のアドレス情報がコマンダリストに登録されているか否かを判定する(ステップS21)。つまり、離脱要求メッセージを送信したコマンダC6のエントリがコマンダリストにあるか否かが判定される。コマンダC6のアドレス情報がコマンダリストに登録されていないと判定された場合(ステップS21:NO)、メイン処理に戻る。一方、コマンダC6のアドレス情報がコマンダリストに登録されていると判定された場合(ステップS21:YES)、ステップS22へ進む。ステップS22では、ルータR3の制御部1は、離脱要求メッセージを送信したコマンダC6のアドレス情報をコマンダリストから削除する。
When the process shown in FIG. 4B is started, the
次いで、ルータR3の制御部1は、キャッシュリストからコンテンツのエントリを一つ特定する(ステップS23)。ここで特定されたエントリには、特定されたことを示す情報が付与される。次いで、ルータR3の制御部1は、ステップS23で特定したエントリにおける所有コマンダ情報に、離脱要求メッセージを送信したコマンダC6のアドレス情報が含まれるか否かを判定する(ステップS24)。ステップS23で特定されたエントリにおける所有コマンダ情報にコマンダC6のアドレス情報が含まれないと判定された場合(ステップS24:NO)、ステップS29へ進む。一方、ステップS23で特定されたエントリにおける所有コマンダ情報にコマンダC6のアドレス情報が含まれると判定された場合(ステップS24:YES)、ステップS25へ進む。
Next, the
ステップS25では、ルータR3の制御部1は、ステップS23で特定したエントリにおける所有コマンダ情報から、離脱要求メッセージを送信したコマンダC6のアドレス情報を削除する。次いで、ルータR3の制御部1は、ステップS23で特定したエントリにおける所有コマンダ情報が空であるか否かを判定する(ステップS26)。ここで、所有コマンダ情報が空であるとは、所有コマンダ情報に、アドレス情報が一つも含まれないことを意味する。ステップS23で特定されたエントリにおける所有コマンダ情報が空であると判定された場合(ステップS26:YES)、ステップS27へ進む。一方、ステップS23で特定されたエントリにおける所有コマンダ情報が空でないと判定された場合(ステップS26:NO)、ステップS29へ進む。
In step S25, the
ステップS27では、ルータR3の制御部1は、ステップS23で特定したエントリをキャッシュリストから削除する。次いで、ルータR3の制御部1は、削除通知メッセージを、オーバーレイネットワークONを介してルートノードへ送信する(ステップS28)。このルートノードは、ステップS23で削除されたエントリに含まれるコンテンツIDが示すコンテンツの所在を管理するノードNである。この削除通知メッセージには、ステップS23で削除したエントリに含まれるコンテンツID、及びルータR3のアドレス情報が含まれる。削除通知メッセージは、この削除通知メッセージに含まれるコンテンツIDをキーとしてDHTルーティングによりルートノードへ送信される。そして、削除通知メッセージを受信したルートノードは、このメッセージ含まれるコンテンツID及びルータR3のアドレス情報をインデックス情報から削除することになる。
In step S27, the
ステップS29では、ルータR3の制御部1は、キャッシュリストにおいてまだ特定していないエントリがあるか否かを判定する。まだ特定していないエントリがあると判定された場合(ステップS29:YES)、ステップS23に戻る。ステップS23に戻ると、ルータR3の制御部1は、キャッシュリストからまだ特定されていないエントリを一つ特定し、ステップS24以降の処理を行う。一方、特定していないエントリがないと判定された場合(ステップS29:NO)、メイン処理に戻る。
In step S29, the
なお、上記ステップS23〜ステップS29の処理は実行されないように構成してもよい。これにより、処理時間を短縮することができる。 In addition, you may comprise so that the process of said step S23-step S29 may not be performed. Thereby, processing time can be shortened.
(4−4.パブリッシュ処理)
次に、図5(A)を参照して、パブリッシュ処理について説明する。図5(A)は、ルータRにおけるパブリシュ処理例を示すフローチャートである。図5(A)に示す処理は、上述したメイン処理において、パブリッシュタイマT1がカウントアップした場合(ステップS105:YES)に開始される。図5(A)に示す処理が開始されると、ルータR3の制御部1は、キャッシュリストのパブリッシュポインタがNULLであるか否かを判定する(ステップS31)。パブリッシュポインタとは、パブリッシュ処理の対象となるコンテンツのエントリを指し示すポインタである。パブリッシュポインタがキャシュリストにおける何れかのエントリを指す場合、パブリッシュポインタがNULLでないと判定され(ステップS31:NO)、ステップS33へ進む。一方、パブリッシュポインタがNULLであると判定された場合(ステップS31:YES)、ステップS32へ進む。ステップS32では、ルータR3の制御部1は、キャッシュリストにおける先頭のエントリをパブリッシュポインタに設定し、ステップS33へ進む。
(4-4. Publish process)
Next, the publishing process will be described with reference to FIG. FIG. 5A is a flowchart illustrating an example of publish processing in the router R. The process shown in FIG. 5A is started when the publish timer T1 counts up in the main process described above (step S105: YES). When the process shown in FIG. 5A is started, the
ステップS33では、ルータR3の制御部1は、パブリッシュ処理が行われたコンテンツのエントリの数が所定件数に達したか否かを判定する。パブリッシュ処理が行われたコンテンツのエントリの数が所定件数に達していないと判定された場合(ステップS33:NO)、ステップS34へ進む。一方、パブリッシュ処理が行われたコンテンツのエントリの数が所定件数に達したと判定された場合(ステップS33:YES)、メイン処理に戻る。このように、1回のパブリッシュ処理で対象とするエントリ数を制限することで、ネットワークNWの負荷を低減することができる。
In step S33, the
ステップS34では、ルータR3の制御部1は、パブリッシュポインタが指しているエントリからコンテンツIDを取得する。次いで、ルータR3の制御部1は、パブリッシュメッセージを、オーバーレイネットワークONを介してルートノードへ送信する(ステップS35)。このルートノードは、ステップS34で取得されたコンテンツIDが示すコンテンツの所在を管理するノードNである。このパブリッシュメッセージには、ステップS34で取得したコンテンツID、及びルータR3のアドレス情報が含まれる。これにより、パブリッシュメッセージに含まれるルータR3のアドレス情報及びコンテンツIDを含むインデックス情報がルートノードに記憶される。次いで、ルータR3の制御部1は、パブリッシュポインタをキャッシュリストの次のエントリに変更し(ステップS36)、ステップS33に戻る。
In step S34, the
(4−5.コマンダCの生死確認処理)
次に、図5(B)を参照して、コマンダCの生死確認処理について説明する。図5(B)は、ルータRにおけるコマンダCの生死確認処理例を示すフローチャートである。図5(B)に示す処理は、上述したメイン処理において、生死監視タイマT2がカウントアップした場合(ステップS107:YES)に開始される。図5(B)に示す処理が開始されると、ルータR3の制御部1は、コマンダリストからコマンダのエントリを一つ特定する(ステップS41)。次いで、ルータR3の制御部1は、ステップS41で特定したエントリからコマンダCのアドレス情報を取得する(ステップS42)。
(4-5. Life confirmation process of Commander C)
Next, the life / death confirmation process of the commander C will be described with reference to FIG. FIG. 5B is a flowchart illustrating an example of a life / death confirmation process of the commander C in the router R. The process shown in FIG. 5B is started when the life / death monitoring timer T2 is counted up in the main process described above (step S107: YES). When the process shown in FIG. 5B is started, the
次いで、ルータR3の制御部1は、ステップS42で取得したアドレス情報に従って、ステータス要求パケットを、拠点ネットワークNL3を介してコマンダCへ送信する(ステップS43)。ステータス要求パケットは、コマンダCの状態を確認するための確認要求の一例である。なお、ルータR3の制御部1は、ステータス要求パケットを送信した時に、応答待機タイマT4のカウントを開始する。応答待機タイマT4は、ステータス要求パケットに対する応答のタイムアウト時間を設定するものである。このタイムアウト時間は所定時間の一例である。ステータス要求パケットを受信したコマンダCは、拠点ネットワークNL3を介してルータR3へ応答メッセージを送信することになる。この応答メッセージには、このメッセージを送信したコマンダCのアドレス情報が含まれる。
Next, the
次いで、ルータR3の制御部1は、コマンダCからの応答メッセージが受信されたか否かを判定する(ステップS44)。コマンダCからの応答メッセージが受信されていないと判定された場合(ステップS44:NO)、ステップS45へ進む。一方、コマンダCからの応答メッセージが受信されたと判定された場合(ステップS44:YES)、ステップS47へ進む。
Next, the
ステップS45では、ルータR3の制御部1は、タイムアウトになったか否かを判定する。応答待機タイマT4のカウント値が、設定されたタイムアウト時間になった場合、タイムアウトになったと判定される。タイムアウトになっていないと判定された場合(ステップS45:NO)、ステップS44に戻る。一方、タイムアウトになったと判定された場合(ステップS45:YES)、ステップS46へ進む。ステップS46では、ルータR3の制御部1は、図4(B)に示すコマンダCの削除処理を実行し、ステップS47へ進む。つまり、ルータR3の制御部1は、ステータス要求パケットの送信から、設定されたタイムアウト時間以内にステータス要求パケットに対する応答がコマンダCから受信されない場合、このコマンダCのアドレス情報をコマンダリストから削除する。これにより、ルータR3は、ルータR3の配下にあるコマンダCを正確に管理することができる。
In step S45, the
ステップS47では、ルータR3の制御部1は、コマンダリストにおいてまだ特定していないエントリがあるか否かを判定する。まだ特定していないエントリがあると判定された場合(ステップS47:YES)、ステップS41に戻る。ステップS41に戻ると、ルータR3の制御部1は、コマンダリストからまだ特定されていないエントリを一つ特定し、ステップS42以降の処理を行う。一方、特定していないエントリがないと判定された場合(ステップS47:NO)、メイン処理に戻る。
In step S47, the
(4−6.コンテンツの検索処理)
次に、図6(A)を参照して、コンテンツの検索処理について説明する。図6(A)は、ルータRにおけるコンテンツの検索処理例を示すフローチャートである。図6(A)に示す処理は、上述したメイン処理において、例えばコマンダC5から拠点ネットワークNL3を介してコンテンツTの検索要求メッセージが受信された場合(ステップS109:YES)に開始される。この検索要求メッセージには、検索対象のコンテンツTのコンテンツIDが含まれる。図6(A)に示す処理が開始されると、ルータR3の制御部1は、受信された検索要求メッセージに含まれるコンテンツIDがキャッシュリストに登録されているか否かを判定する(ステップS51)。つまり、検索要求メッセージに含まれるコンテンツIDを含むエントリがキャッシュリストにあるか否かが判定される。検索要求メッセージに含まれるコンテンツIDがキャッシュリストに登録されていると判定された場合(ステップS51:YES)、ステップS52へ進む。一方、検索要求メッセージに含まれるコンテンツIDがキャッシュリストに登録されていないと判定された場合(ステップS51:NO)、ステップS53へ進む。
(4-6. Content Search Process)
Next, content search processing will be described with reference to FIG. FIG. 6A is a flowchart illustrating an example of content search processing in the router R. The process shown in FIG. 6A is started when a search request message for content T is received from the commander C5 through the base network NL3 in the main process described above (step S109: YES). This search request message includes the content ID of the content T to be searched. When the process shown in FIG. 6A is started, the
ステップS52では、ルータR3の制御部1は、ルータR3のアドレス情報を含む検索結果メッセージを、拠点ネットワークNL3を介してコマンダC5へ送信し、メイン処理に戻る。つまり、ルータR3のアドレス情報が、検索対象のコンテンツTを提供可能なノードNのアドレス情報として、検索要求の送信元のコマンダC5へ提供される。
In step S52, the
ステップS53では、ルータR3の制御部1は、受信された検索要求メッセージを、オーバーレイネットワークONを介してルートノードへ送信する。このルートノードは、検索要求メッセージに含まれるコンテンツIDが示すコンテンツTの所在を管理するノードNである。そして、検索要求メッセージを受信したルートノードは、検索要求メッセージに含まれるコンテンツIDを含むインデックス情報を記憶部2から検索する。この検索によりインデックス情報が発見された場合、ルートノードは、発見されたインデックス情報を含む検索結果メッセージを、基幹ネットワークNWを介してルータR3へ返信する。このインデックス情報には、例えばルータR5のアドレス情報が含まれる。つまり、この場合、ルータR5のアドレス情報が、検索対象のコンテンツTを提供可能なノードNのアドレス情報として、検索要求の送信元のコマンダC5へ提供される。一方、上記検索によりインデックス情報が発見されない場合、ルートノードは、インデックス情報を発見できなかったことを示す検索結果メッセージを、基幹ネットワークNWを介してルータR3へ返信する。
In step S53, the
ステップS54では、ルータR3の制御部1は、ルートノードから送信された検索結果メッセージを受信する。そして、ルータR3の制御部1は、受信した検索結果メッセージを、拠点ネットワークNL3を介して検索要求の送信元のコマンダC5へ送信し(ステップS55)、メイン処理に戻る。
In step S54, the
(4−7.コンテンツのアップロード処理)
次に、図6(B)を参照して、コンテンツのアップロード処理について説明する。図6(B)は、ルータRにおけるコンテンツのアップロード処理例を示すフローチャートである。図6(B)に示す処理は、上述したメイン処理において、コマンダCからコンテンツTの送信要求メッセージが受信された場合(ステップS111:YES)に開始される。例えばコマンダC5は、ルータR3から受信した検索結果メッセージにアドレス情報が含まれるか否か判定する。検索結果メッセージに例えばルータR3のアドレス情報が含まれる場合がある。この場合、コマンダC5は、コンテンツTの送信要求メッセージを、拠点ネットワークNL3を介してルータR3へ送信する。或いは、検索結果メッセージに例えばルータR5のアドレス情報が含まれる場合がある。この場合、コマンダC5は、コンテンツTの送信要求メッセージを、拠点ネットワークNL3及びルータR3を介してルータR5へ送信する。つまり、この場合、コマンダC5からの送信要求メッセージは、ルータR3の中継機能により中継されることで基幹ネットワークNWを介してルータR5へ送信されることになる。或いは、検索結果メッセージがインデックス情報を発見できなかったことを示す場合がある。この場合、コマンダC5は、コンテンツTの送信要求メッセージを、拠点ネットワークNL3及びルータR3を介してセンターサーバSAへ送信する。これにより、送信要求されたコンテンツTは、センターサーバSAからコマンダC5にダウンロードされる。
(4-7. Content upload processing)
Next, content upload processing will be described with reference to FIG. FIG. 6B is a flowchart illustrating an example of content upload processing in the router R. The process shown in FIG. 6B is started when a transmission request message for the content T is received from the commander C in the main process described above (step S111: YES). For example, the commander C5 determines whether address information is included in the search result message received from the router R3. For example, the address information of the router R3 may be included in the search result message. In this case, the commander C5 transmits a transmission request message for the content T to the router R3 via the base network NL3. Alternatively, for example, the address information of the router R5 may be included in the search result message. In this case, the commander C5 transmits a transmission request message for the content T to the router R5 via the base network NL3 and the router R3. That is, in this case, the transmission request message from the commander C5 is transmitted to the router R5 via the backbone network NW by being relayed by the relay function of the router R3. Alternatively, the search result message may indicate that index information could not be found. In this case, the commander C5 transmits a content T transmission request message to the center server SA via the base network NL3 and the router R3. As a result, the requested content T is downloaded from the center server SA to the commander C5.
例えばルータR3またはルータR5の制御部1は、図6(B)に示す処理を開始すると、送信要求メッセージに含まれるコンテンツIDがキャッシュリストに登録されているか否かを判定する(ステップS61)。つまり、送信要求メッセージに含まれるコンテンツIDを含むエントリがキャッシュリストにあるか否かが判定される。送信要求メッセージに含まれるコンテンツIDがキャッシュリストに登録されていないと判定された場合(ステップS61:NO)、ステップS62へ進む。一方、送信要求メッセージに含まれるコンテンツIDがキャッシュリストに登録されていると判定された場合(ステップS61:YES)、ステップS64へ進む。
For example, when the processing shown in FIG. 6B is started, the
ステップS62では、ルータR3の制御部1は、コンテンツTを提供できないことを示すエラーメッセージを、拠点ネットワークNL3を介して送信要求元のコマンダC5へ送信する。或いは、ルータR5の制御部1は、上記エラーメッセージを、基幹ネットワークNW及びルータR3を介して送信要求元のコマンダC5へ送信する。次いで、ルータR3またはルータR5の制御部1は、削除通知メッセージを、オーバーレイネットワークONを介してルートノードへ送信し(ステップS63)、メイン処理に戻る。この削除通信メッセージを受信したルートノードは、このメッセージ含まれるコンテンツID及びルータR3またはルータR5のアドレス情報をインデックス情報から削除することになる。
In step S62, the
ステップS64では、ルータR3またはルータR5の制御部1は、送信要求されたコンテンツTを記憶するコマンダCのリストLを作成する。例えば制御部1は、送信要求メッセージに含まれるコンテンツIDに対応付けられたアドレス情報をキャッシュリストから取得する。そして、制御部1は、取得したアドレス情報を登録するリストLを作成する。なお、コマンダCのリストLに複数のアドレス情報が登録される場合がある。この場合、リストLにおけるアドレス情報の順番は例えばランダムに決定される。
In step S64, the
次いで、ルータR3またはルータR5の制御部1は、ステップS64で作成したリストLが空であるか否かを判定する(ステップS65)。ここで、リストLが空であるとは、リストLに、アドレス情報が一つも含まれないことを意味する。リストLが空であると判定された場合(ステップS65:YES)、ステップS62へ移行する。一方、リストLが空でないと判定された場合(ステップS65:NO)、ステップS66へ進む。
Next, the
ステップS66では、ルータR3またはルータR5の制御部1は、リストLに登録されたアドレス情報のうち順番が先頭のアドレス情報を取得し、且つ取得したアドレス情報をリストLから削除する。次いで、ルータR3またはルータR5の制御部1は、取得したアドレス情報に従ってコンテンツTの送信要求メッセージを、拠点ネットワークNLを介して同じ拠点P内のコマンダCへ送信する(ステップS67)。コンテンツTの送信要求メッセージを受信したコマンダCは、送信要求されたコンテンツTが記憶部12に記憶されているか否かを判定する。コンテンツTが記憶部12に記憶されている場合、コマンダCは、記憶部12からコンテンツTを取得してルータR3またはルータR5へ送信する。一方、コンテンツTが記憶部12に記憶されていない場合、コマンダCは、コンテンツTを提供できないことを示すエラーメッセージを、拠点ネットワークNLを介してルータR3またはルータR5へ送信する。
In step S66, the
次いで、ルータR3またはルータR5の制御部1は、コンテンツTの取得が成功したか否かを判定する(ステップS68)。コマンダCから拠点ネットワークNLを介してコマンダCからコンテンツTが受信された場合、制御部1は、コンテンツTの取得が成功したと判定し(ステップS68:YES)、ステップS69へ進む。一方、コマンダCからエラーメッセージが送信されコンテンツTが受信されない場合、制御部1は、コンテンツTの取得が成功しないと判定し(ステップS68:NO)、ステップS65に戻る。ステップS65に戻ると、上記と同様の処理が行われる。
Next, the
ステップS69では、ルータR3の制御部1は、ステップS68でコマンダCから取得したコンテンツTを、拠点ネットワークNL3を介して送信要求元のコマンダC5へ送信し、メイン処理に戻る。或いは、ルータR5の制御部1は、コマンダCから取得したコンテンツTを、基幹ネットワークNW及びルータR3を介して送信要求元のコマンダC5へ送信し、メイン処理に戻る。つまり、この場合、ルータR5からのコンテンツは、ルータR3の中継機能により中継されることでコマンダC5へ送信される。
In step S69, the
(4−8.コンテンツのアップロード処理の応用例)
次に、図7(A)〜(C)を参照して、コンテンツのアップロード処理の応用例について説明する。図7(A)は、コンテンツのアップロードを受けるコマンダCの処理例を示すフローチャートである。図7(B)は、ルータRにおける許可通知処理例を示すフローチャートである。図7(C)は、ルータRにおけるダウンロード完了処理例を示すフローチャートである。なお、アップロード処理の応用例では、図3に示すメイン処理に、コンテンツのダウンロードの開始許可要求メッセージの受信を判定する処理、及びダウンロード完了メッセージの受信を判定する処理が追加される。
(4-8. Application example of content upload processing)
Next, an application example of the content upload process will be described with reference to FIGS. FIG. 7A is a flowchart illustrating a processing example of the commander C that receives content upload. FIG. 7B is a flowchart illustrating an example of permission notification processing in the router R. FIG. 7C is a flowchart illustrating an example of a download completion process in the router R. In the application example of the upload process, a process for determining reception of a content download start permission request message and a process for determining reception of a download completion message are added to the main process shown in FIG.
先ず、図7(A)に示す処理は、例えばコマンダC5がルータR3から送信された検索結果メッセージが受信された場合に開始される。図7(A)に示す処理が開始されると、例えばコマンダC5の制御部11は、受信した検索結果メッセージにアドレス情報が含まれるか否か判定する(ステップS71)。検索結果メッセージにアドレス情報が含まれないと判定された場合(ステップS71:NO)、ステップS72へ進む。一方、検索結果メッセージにアドレス情報が含まれると判定された場合(ステップS71:YES)、ステップS76へ進む。
First, the process shown in FIG. 7A is started when, for example, the commander C5 receives a search result message transmitted from the router R3. When the process shown in FIG. 7A is started, for example, the
ステップS72では、コマンダC5の制御部11は、拠点ネットワークNL3を介して同じ拠点P3内のルータR3へコンテンツTのダウンロードの開始許可要求メッセージを送信する。ダウンロードの開始許可要求メッセージは、同じ拠点P3内のルータRに対してダウンロードの開始許可要求を示すメッセージである。この開始許可要求メッセージには、コンテンツTのコンテンツIDが含まれる。次いで、コマンダC5の制御部11は、ダウンロードの開始許可メッセージを受信したか否かを判定する(ステップS73)。ダウンロードの開始許可メッセージを受信したと判定された場合(ステップS73:YES)、ステップS74へ進む。この開始許可メッセージには、コンテンツTのコンテンツIDが含まれる。一方、ダウンロードの開始許可メッセージを受信していないと判定された場合(ステップS73:NO)、コマンダC5の制御部11は、例えばタイムアウトになるまでステップS73の処理を所定時間間隔で繰り返す。そして、タイムアウトになった場合、例えば図7(A)に示す処理が終了する。
In step S72, the
ステップS74では、コマンダC5の制御部11は、コンテンツTの送信要求メッセージをセンターサーバSAへ送信する。そして、コマンダC5の制御部11は、センターサーバSAから送信されたコンテンツTを受信する(ステップS75)。こうして、コンテンツTのダウンロードが完了すると、ステップS80へ進む。
In step S74, the
ステップS76では、コマンダC5の制御部11は、拠点ネットワークNL3を介して同じ拠点P3内のルータR3へコンテンツTのダウンロードの開始許可要求メッセージを送信する。次いで、コマンダC5の制御部11は、ダウンロードの開始許可メッセージを受信したか否かを判定する(ステップS77)。ダウンロードの開始許可メッセージを受信したと判定された場合(ステップS77:YES)、ステップS78へ進む。一方、ダウンロードの開始許可メッセージを受信していないと判定された場合(ステップS77:NO)、コマンダC5の制御部11は、例えばタイムアウトになるまでステップS77の処理を所定時間間隔で繰り返す。そして、タイムアウトになった場合、例えば図7(A)に示す処理が終了する。
In step S76, the
ステップS78では、コマンダC5の制御部11は、検索結果メッセージに含まれる例えばルータR5のアドレス情報に従って、コンテンツTの送信要求メッセージをルータR5へ送信する。そして、コマンダC5の制御部11は、ルータR5から送信されたコンテンツTを受信する(ステップS79)。このように、コマンダC5は、ルータR5の許可を得てからダウンロード処理を行う。そのため、ルータR3は、ネットワークNWにおけるダウンロード帯域の制御と、ダウンロード中のコンテンツを優先する制御を実現することができる。こうして、コンテンツTのダウンロードが完了すると、ステップS80へ進む。
In step S78, the
ステップS80では、コマンダC5の制御部11は、コンテンツTのダウンロード完了メッセージを、拠点ネットワークNL3を介して同じ拠点P3内のルータR3へ送信する。このダウンロード完了メッセージには、コンテンツTのコンテンツIDが含まれる。
In step S80, the
一方、図7(B)に示す処理は、上述したメイン処理において、例えばコマンダC5からダウンロードの開始許可要求メッセージが受信された場合に開始される。図7(B)に示す処理が開始されると、例えばルータR3の制御部11は、ダウンロード実行中のコマンダ数を参照する(ステップS81)。次いで、ルータR3の制御部11は、ダウンロード実行中のコマンダ数が所定数以下であるか否かを判定する(ステップS82)。ここで、所定数は、例えばネットワークNWの帯域に応じて決定される。これにより、コンテンツTのダウンロード速度を高めることができる。ダウンロード実行中のコマンダ数が所定数以下でないと判定された場合(ステップS82:NO)、ステップS81に戻る。一方、ダウンロード実行中のコマンダ数が所定数以下であると判定された場合(ステップS82:YES)、ステップS83へ進む。ステップS83では、ルータR3の制御部11は、ダウンロードの開始許可メッセージをコマンダC5へ送信する。このように構成することで、ルータR3は、ネットワークNWにおけるダウンロード帯域を一定量に制御することができる。また、ルータR3は、ダウンロード中のコンテンツを優先することができる。次いで、ルータR3の制御部11は、ダウンロード実行中のコマンダ数を更新し(ステップS84)、メイン処理に戻る。例えば、ダウンロード実行中のコマンダ数が1加算される。
On the other hand, the process shown in FIG. 7B is started when, for example, a download start permission request message is received from the commander C5 in the main process described above. When the process shown in FIG. 7B is started, for example, the
一方、図7(C)に示す処理は、上述したメイン処理において、例えばコマンダC5からダウンロード完了メッセージが受信された場合に開始される。図7(C)に示す処理が開始されると、例えばルータR3の制御部11は、ダウンロード実行中のコマンダ数を更新する(ステップS91)。例えば、ダウンロード実行中のコマンダ数が1減算される。次いで、ルータR3の制御部11は、キャッシュリストにコンテンツTのエントリがあるか否かを判定する(ステップS92)。キャッシュリストにコンテンツTのエントリがないと判定された場合(ステップS92:NO)、ステップS93に進む。一方、キャッシュリストにコンテンツTのエントリがあると判定された場合(ステップS92:YES)、ステップS94へ進む。ステップS93では、ルータR3の制御部11は、キャッシュリストにコンテンツTのエントリを追加し、ステップS94へ進む。ステップS94では、ルータR3の制御部11は、コンテンツTのエントリにおける所有コマンダ情報に、コマンダC5のアドレス情報を追加する。つまり、コンテンツTをダウンロードしたコマンダC5のアドレス情報がキャッシュリストに登録される。次いで、ルータR3の制御部11は、パブリッシュメッセージを、オーバーレイネットワークONを介してコンテンツTの所在を管理するルートノードへ送信し(ステップS95)、メイン処理に戻る。このパブリッシュメッセージには、コンテンツTのコンテンツID、及びルータR3のアドレス情報が含まれる。これにより、パブリッシュメッセージに含まれるコンテンツID、及びルータR3のアドレス情報を含むインデックス情報がルートノードに記憶される。
On the other hand, the process shown in FIG. 7C is started when, for example, a download completion message is received from the commander C5 in the main process described above. When the process shown in FIG. 7C is started, for example, the
以上説明したように、上記実施形態によれば、ネットワーク間でデータを中継する中継機能を有するルータRは、このルータRの配下にあるコマンダCが記憶するコンテンツを提供可能であることをオーバーレイネットワークON上でパブリッシュする。そして、ルータRは、コマンダCから検索要求されたコンテンツの所在をオーバーレイネットワークON上で検索し、その検索結果をコマンダCへ送信する。これにより、ルータRのメモリ容量を低減し、且つシステムのセキュリティを向上させることができる。つまり、ルータRがコンテンツのアップロードを行うためコマンダCは、基幹ネットワークNW側に常時ポート開放する必要がない。その結果、基幹ネットワークNW側から攻撃を受けるリスクを抑制することができる。また、コンテンツの保存先がコマンダCの記憶部12になるため、ルータRに大容量のHDD等の記憶装置を搭載する必要がなくなる。その結果、ルータRの部品コストを削減することができる。さらに、ルータRがコンテンツのアップロード数、ダウンロード数を集中管理することで安定した通信を実現することができる。
As described above, according to the above embodiment, the router R having a relay function for relaying data between networks can provide content stored by the commander C under the router R. Publish on ON. Then, the router R searches the overlay network ON for the location of the content requested to be searched by the commander C, and transmits the search result to the commander C. Thereby, the memory capacity of the router R can be reduced and the security of the system can be improved. That is, since the router R uploads the content, the commander C does not need to always open the port to the backbone network NW side. As a result, the risk of being attacked from the backbone network NW side can be suppressed. Further, since the storage destination of the content is the
なお、上記実施形態においては、オーバーレイネットワークONに、DHTを利用したピアツーピアネットワークを適用したが、これに限られるものではない。例えば、他のオーバーレイネットワークを用いたシステムが適用されてもよい。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。 In the above embodiment, the peer-to-peer network using DHT is applied to the overlay network ON, but the present invention is not limited to this. For example, a system using another overlay network may be applied. As a peer-to-peer system that does not use DHT, for example, there is a hybrid peer-to-peer system.
R ルータ
N ノード
NL 拠点ネットワーク
NW 基幹ネットワーク
ON オーバーレイネットワーク
S コンテンツ配信システム
R router N node NL base network NW backbone network ON overlay network S content distribution system
Claims (6)
前記中継装置が接続される前記第2のネットワークに接続されている端末装置が記憶するコンテンツの識別情報を、前記端末装置から前記第2のネットワークを介して取得する第1取得手段と、
前記第1取得手段により取得された前記識別情報と、前記識別情報を送信した端末装置の所在を示す所在情報とを対応付けて記憶する第1記憶手段と、
前記第1記憶手段に記憶された前記識別情報と、前記中継装置の所在を示す所在情報とを前記オーバーレイネットワークを介して前記コンテンツの所在を管理するノード装置へ送信する第1送信手段と、
コンテンツの検索要求と、検索対象のコンテンツの識別情報とを、前記第2のネットワークに接続されている端末装置から前記第2のネットワークを介して受信する第1受信手段と、
前記第1受信手段により受信された前記識別情報が前記第1記憶手段に記憶されているかを判定する判定手段と、
前記識別情報が記憶されていないと判定された場合、前記検索要求と前記検索対象のコンテンツの識別情報とを前記オーバーレイネットワークを介して他の前記ノード装置へ送信する第2送信手段と、
前記検索対象のコンテンツを提供可能な他の前記ノード装置の所在を示す所在情報を、前記第1のネットワークを介して他の前記ノード装置から受信する第2受信手段と、
前記第2受信手段により受信された前記所在情報を、前記第2のネットワークを介して前記検索要求の送信元の端末装置へ送信する第3送信手段と、
前記検索対象のコンテンツを提供可能な他の前記ノード装置宛ての前記コンテンツの送信要求であって前記端末装置から前記第2のネットワークを介して送信された前記送信要求を前記第2のネットワークと前記第1のネットワークとの間で中継する第1中継手段と、
前記送信要求の送信元の端末装置宛ての前記コンテンツであって他の前記ノード装置から前記第1のネットワークを介して送信された前記コンテンツを前記第1のネットワークと前記第2のネットワークとの間で中継する第2中継手段と、
を備え、
前記第2中継手段は、セッション中に一時的に開かれた前記送信要求の送信元の端末装置のポートに対して前記コンテンツを中継することを特徴とする中継装置。 A relay device that relays data between a first network and a second network, and participates in an overlay network including at least a plurality of node devices connected to the first network as the node device In the relay device,
First acquisition means for acquiring content identification information stored in a terminal device connected to the second network to which the relay device is connected, from the terminal device via the second network;
First storage means for storing the identification information acquired by the first acquisition means and location information indicating the location of the terminal device that transmitted the identification information in association with each other;
First transmission means for transmitting the identification information stored in the first storage means and location information indicating the location of the relay device to a node device that manages the location of the content via the overlay network;
First receiving means for receiving a content search request and identification information of content to be searched from a terminal device connected to the second network via the second network;
Determining means for determining whether the identification information received by the first receiving means is stored in the first storage means;
A second transmission unit configured to transmit the search request and the identification information of the content to be searched to the other node devices via the overlay network when it is determined that the identification information is not stored;
Second receiving means for receiving location information indicating the location of the other node device capable of providing the search target content from the other node device via the first network;
Third transmitting means for transmitting the location information received by the second receiving means to the terminal device that is the transmission source of the search request via the second network;
The transmission request of the content addressed to another node device that can provide the search target content, the transmission request transmitted from the terminal device via the second network, and the second network First relay means for relaying to and from the first network;
The content addressed to the terminal device that is the transmission source of the transmission request and transmitted from another node device via the first network between the first network and the second network A second relay means for relaying with,
Equipped with a,
It said second relay means, the relay device characterized that you relays the content to the port of the transmission source terminal device temporarily opened the transmission request during the session.
前記第2取得手段により取得された前記所在情報に従って、前記端末装置の状態を確認するための確認要求を、前記第2のネットワークを介して前記端末装置へ送信する第5送信手段と、
前記確認要求の送信から所定時間以内に前記確認要求に対する応答が前記端末装置から受信されない場合、前記端末装置の前記所在情報を前記第1記憶手段から削除する削除手段と、
を備えることを特徴とする請求項1または2に記載の中継装置。 Second acquisition means for acquiring from the first storage means the location information of the terminal device to which the content identification information has been transmitted;
Fifth transmission means for transmitting a confirmation request for confirming the state of the terminal device to the terminal device via the second network according to the location information acquired by the second acquisition means;
A deletion unit that deletes the location information of the terminal device from the first storage unit when a response to the confirmation request is not received from the terminal device within a predetermined time from the transmission of the confirmation request;
Relay apparatus according to claim 1 or 2, characterized in that it comprises a.
前記コンピュータが接続される前記第2のネットワークに接続されている端末装置が記憶するコンテンツの識別情報を、前記端末装置から前記第2のネットワークを介して取得するステップと、
前記取得された前記識別情報と、前記識別情報を送信した端末装置の所在を示す所在情報とを対応付けて記憶手段に記憶させるステップと、
前記記憶手段に記憶された前記識別情報と、前記中継装置の所在を示す所在情報とを前記オーバーレイネットワークを介して前記コンテンツの所在を管理するノード装置へ送信するステップと、
コンテンツの検索要求と、検索対象のコンテンツの識別情報とを、前記第2のネットワークに接続されている端末装置から前記第2のネットワークを介して受信するステップと、
前記受信された前記識別情報が前記記憶手段に記憶されているかを判定するステップと、
前記識別情報が記憶されていないと判定された場合、前記検索要求と前記検索対象のコンテンツの識別情報とを前記オーバーレイネットワークを介して他の前記ノード装置へ転送するステップと、
前記検索対象のコンテンツを提供可能な他の前記ノード装置の所在を示す所在情報を、前記第1のネットワークを介して他の前記ノード装置から受信するステップと、
前記受信された前記所在情報を、前記第2のネットワークを介して前記検索要求の送信元の端末装置へ送信するステップと、
前記検索対象のコンテンツを提供可能な他の前記ノード装置宛ての前記コンテンツの送信要求であって前記端末装置から前記第2のネットワークを介して送信された前記送信要求を前記第2のネットワークと前記第1のネットワークとの間で中継する第1中継ステップと、
前記送信要求の送信元の端末装置宛ての前記コンテンツであって他の前記ノード装置から前記第1のネットワークを介して送信された前記コンテンツを前記第1のネットワークと前記第2のネットワークとの間で中継する第2中継ステップと、
を実行し、
前記第2中継ステップでは、セッション中に一時的に開かれた前記送信要求の送信元の端末装置のポートに対して前記コンテンツを中継することを特徴とするプログラム。 A computer having a relay function for relaying data between a first network and a second network, and participating as an node in an overlay network composed of at least a plurality of node devices connected to the first network In addition,
Acquiring identification information of content stored in a terminal device connected to the second network to which the computer is connected from the terminal device via the second network;
Storing the acquired identification information in association with location information indicating the location of the terminal device that transmitted the identification information in a storage unit;
Transmitting the identification information stored in the storage means and the location information indicating the location of the relay device to a node device that manages the location of the content via the overlay network;
Receiving a content search request and identification information of content to be searched from a terminal device connected to the second network via the second network;
Determining whether the received identification information is stored in the storage means;
When it is determined that the identification information is not stored, the search request and the identification information of the content to be searched are transferred to the other node device via the overlay network;
Receiving location information indicating the location of another node device capable of providing the search target content from the other node device via the first network;
Transmitting the received location information to the terminal device that is the transmission source of the search request via the second network;
The transmission request of the content addressed to another node device that can provide the search target content, the transmission request transmitted from the terminal device via the second network, and the second network A first relay step for relaying to and from the first network;
The content addressed to the terminal device that is the transmission source of the transmission request and transmitted from another node device via the first network between the first network and the second network A second relay step relaying at
The execution,
In the second relay step, the program characterized that you relays the content to the port of the transmission source terminal device temporarily opened the transmission request during the session.
前記中継装置は、
前記中継装置が接続される前記第2のネットワークに接続されている端末装置が記憶するコンテンツの識別情報を、前記端末装置から前記第2のネットワークを介して取得する第1取得手段と、
前記第1取得手段により取得された前記識別情報と、前記識別情報を送信した端末装置の所在を示す所在情報とを対応付けて記憶する第1記憶手段と、
前記第1記憶手段に記憶された前記識別情報と、前記中継装置の所在を示す所在情報とを前記オーバーレイネットワークを介して前記コンテンツの所在を管理するノード装置へ送信する第1送信手段と、
を備え、
前記端末装置は、コンテンツの検索要求と、検索対象のコンテンツの識別情報とを、前記第2のネットワークを介して前記中継装置へ送信する第6送信手段を備え、
前記中継装置は、
前記端末装置から送信された前記コンテンツの検索要求と前記検索対象のコンテンツの識別情報とを前記第2のネットワークを介して受信する第1受信手段と、
前記第1受信手段により受信された前記識別情報が前記第1記憶手段に記憶されているかを判定する判定手段と、
前記識別情報が記憶されていないと判定された場合、前記検索要求と前記検索対象のコンテンツの識別情報とを前記オーバーレイネットワークを介して他の前記ノード装置へ送信する第2送信手段と、
前記検索対象のコンテンツを提供可能な他の前記ノード装置の所在を示す所在情報を、前記第1のネットワークを介して他の前記ノード装置から受信する第2受信手段と、
前記第2受信手段により受信された前記所在情報を、前記第2のネットワークを介して前記検索要求の送信元の端末装置へ送信する第3送信手段と、
を備え、
前記端末装置は、
前記中継装置から送信された前記所在情報を前記第2のネットワークを介して受信する第3受信手段と、
前記中継装置に接続するために一時的にポートを開き、セッションが完了するとポートを閉じるポート開閉手段と、
前記検索対象のコンテンツを提供可能な他の前記ノード装置宛ての前記コンテンツの送信要求を送信する第9送信手段と、
を備え、
前記中継装置は、
前記端末装置から前記第2のネットワークを介して送信された前記送信要求を前記第2のネットワークと前記第1のネットワークとの間で中継する第1中継手段と、
前記送信要求の送信元の端末装置宛ての前記コンテンツであって他の前記ノード装置から前記第1のネットワークを介して送信された前記コンテンツを前記第1のネットワークと前記第2のネットワークとの間で中継する第2中継手段と、
を備え、
前記第2中継手段は、前記セッション中に一時的に開かれた前記送信要求の送信元の端末装置の前記ポートに対して前記コンテンツを中継し、
前記ポート開閉手段は、前記セッションが完了すると前記ポートを閉じることを特徴とする通信システム。 A relay device that relays data between a first network and a second network, and participates in an overlay network including at least a plurality of node devices connected to the first network as the node device In a communication system comprising a relay device and a terminal device connected to the second network,
The relay device is
First acquisition means for acquiring content identification information stored in a terminal device connected to the second network to which the relay device is connected, from the terminal device via the second network;
First storage means for storing the identification information acquired by the first acquisition means and location information indicating the location of the terminal device that transmitted the identification information in association with each other;
First transmission means for transmitting the identification information stored in the first storage means and location information indicating the location of the relay device to a node device that manages the location of the content via the overlay network;
With
The terminal device includes sixth transmission means for transmitting a content search request and identification information of content to be searched to the relay device via the second network,
The relay device is
First receiving means for receiving, via the second network, a search request for the content transmitted from the terminal device and identification information of the content to be searched;
Determining means for determining whether the identification information received by the first receiving means is stored in the first storage means;
A second transmission unit configured to transmit the search request and the identification information of the content to be searched to the other node devices via the overlay network when it is determined that the identification information is not stored;
Second receiving means for receiving location information indicating the location of the other node device capable of providing the search target content from the other node device via the first network;
Third transmitting means for transmitting the location information received by the second receiving means to the terminal device that is the transmission source of the search request via the second network;
With
The terminal device
Third receiving means for receiving the location information transmitted from the relay device via the second network ;
A port opening and closing means for temporarily opening a port to connect to the relay device, and closing the port when the session is completed;
Ninth transmission means for transmitting a transmission request for the content addressed to another node device capable of providing the search target content;
Equipped with a,
The relay device is
First relay means for relaying the transmission request transmitted from the terminal device via the second network between the second network and the first network;
The content addressed to the terminal device that is the transmission source of the transmission request and transmitted from another node device via the first network between the first network and the second network A second relay means for relaying with,
Equipped with a,
The second relay means relays the content to the port of the terminal device of the transmission request that is temporarily opened during the session;
The port opening / closing means closes the port when the session is completed .
前記オーバーレイネットワークに参加する参加手段と、
前記コンテンツの検索要求と前記検索対象のコンテンツの識別情報とを、前記オーバーレイネットワークに参加する前記ノード装置へ前記第2のネットワークを介して送信する第7送信手段と、
前記検索対象のコンテンツを提供可能な前記ノード装置の所在を示す所在情報を、前記中継装置及び前記第2のネットワークを介して前記ノード装置から受信する第4受信手段と、
前記第4受信手段により受信された前記所在情報に従って、前記検索対象のコンテンツの送信要求を、前記第2のネットワーク及び前記中継装置を介して前記検索対象の前記コンテンツを提供可能な前記ノード装置へ送信する第8送信手段と、
前記送信要求されたコンテンツを、前記中継装置及び前記第2のネットワークを介して前記ノード装置から受信する第5受信手段と、
前記第5受信手段により受信されたコンテンツを記憶する第2記憶手段と、
前記第2記憶手段に記憶されたコンテンツの識別情報と、前記端末装置の所在を示す所在情報を前記コンテンツの所在を管理するノード装置に送信する機能をロックする制御手段と、
を備えることを特徴とする請求項5に記載の通信システム。 The terminal device
A joining means for joining the overlay network;
A seventh transmitting means for transmitting said identification information search request with the content of the search target content, through the second network to the node devices participating in the overlay network,
Fourth receiving means for receiving location information indicating the location of the node device capable of providing the search target content from the node device via the relay device and the second network;
In accordance with the location information received by the fourth receiving means, a transmission request for the search target content is sent to the node device capable of providing the search target content via the second network and the relay device. An eighth transmitting means for transmitting;
Fifth reception means for receiving the content requested to be transmitted from the node device via the relay device and the second network;
Second storage means for storing the content received by the fifth receiving means;
Control means for locking the function of transmitting the content identification information stored in the second storage means and the location information indicating the location of the terminal device to a node device that manages the location of the content;
The communication system according to claim 5 , further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013180239A JP5907132B2 (en) | 2013-08-30 | 2013-08-30 | Relay device, program, and communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013180239A JP5907132B2 (en) | 2013-08-30 | 2013-08-30 | Relay device, program, and communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015049642A JP2015049642A (en) | 2015-03-16 |
JP5907132B2 true JP5907132B2 (en) | 2016-04-20 |
Family
ID=52699626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013180239A Active JP5907132B2 (en) | 2013-08-30 | 2013-08-30 | Relay device, program, and communication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5907132B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2090074A1 (en) * | 2006-11-29 | 2009-08-19 | THOMSON Licensing | Contribution aware peer-to-peer live streaming service |
JP2009070172A (en) * | 2007-09-13 | 2009-04-02 | Brother Ind Ltd | Content distribution and storage system, provider server device registering method, node device, and node processing program |
JP5359728B2 (en) * | 2009-09-17 | 2013-12-04 | ブラザー工業株式会社 | Karaoke system, karaoke device, node device, karaoke program, node program, and karaoke data transmission method |
JP5218356B2 (en) * | 2009-09-24 | 2013-06-26 | ブラザー工業株式会社 | Information communication system, information communication method, support device, and information communication processing program |
JP5136581B2 (en) * | 2010-03-23 | 2013-02-06 | ブラザー工業株式会社 | Information communication system, information processing apparatus, information processing method, and information processing program |
-
2013
- 2013-08-30 JP JP2013180239A patent/JP5907132B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015049642A (en) | 2015-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8015269B2 (en) | Node device, shared information update processing program, shared information update method, and information sharing system | |
JP5556104B2 (en) | Information communication system, information communication method, and information communication program | |
WO2007083531A1 (en) | Content distribution system, node device, its information processing method, and recording medium containing the program | |
JP2006191489A (en) | Node device, network participation processing program, and network participation processing method or the like | |
CN110557439B (en) | Network content management method and block chain content network platform | |
JP2013542681A (en) | Content sharing method and apparatus using group change information in content-centric network environment | |
WO2007086250A1 (en) | Information distribution system, re-registration message transmission method, node device, and recording medium containing node processing program | |
JP5293533B2 (en) | Information communication system and information communication method | |
JP5136581B2 (en) | Information communication system, information processing apparatus, information processing method, and information processing program | |
JP5532649B2 (en) | Node device, node processing program, and content storage method | |
JP5272991B2 (en) | Information communication system, information communication method and program | |
EP2802108A9 (en) | Data-oriented communication system, node, and data transfer method | |
JP5394704B2 (en) | Information communication system and software update method | |
JP5212292B2 (en) | Information communication system, node device, node device confirmation method and program | |
JP5907132B2 (en) | Relay device, program, and communication system | |
US8312068B2 (en) | Node device, information communication system, method for managing content data, and computer readable medium | |
JP5494550B2 (en) | Management device, management system, management method, and management program | |
JP5359728B2 (en) | Karaoke system, karaoke device, node device, karaoke program, node program, and karaoke data transmission method | |
JP2009232272A (en) | Content distributive storage system, content playback method, node device, management apparatus, node-processing program, and management processing program | |
JP2009187101A (en) | Content distribution storage system, evaluation value addition method, server device, node device and node processing program | |
JP5157770B2 (en) | Node device, program, and storage instruction method | |
JP5434268B2 (en) | Distributed storage system, data file distributed storage method and program | |
JP2011008657A (en) | Content distribution system, node device, content distribution method, and node program | |
JP5338774B2 (en) | Distribution system, information processing apparatus, information processing program, and content input method | |
JP5494361B2 (en) | Distributed storage system, representative node device, notification method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160201 |
|
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: 20160223 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160307 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5907132 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |