JP2012078901A - Server device, page transmission program and page transmission method - Google Patents

Server device, page transmission program and page transmission method Download PDF

Info

Publication number
JP2012078901A
JP2012078901A JP2010221001A JP2010221001A JP2012078901A JP 2012078901 A JP2012078901 A JP 2012078901A JP 2010221001 A JP2010221001 A JP 2010221001A JP 2010221001 A JP2010221001 A JP 2010221001A JP 2012078901 A JP2012078901 A JP 2012078901A
Authority
JP
Japan
Prior art keywords
information
node
content
information processing
location information
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.)
Pending
Application number
JP2010221001A
Other languages
Japanese (ja)
Inventor
Minoru Ueda
実 上田
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 JP2010221001A priority Critical patent/JP2012078901A/en
Publication of JP2012078901A publication Critical patent/JP2012078901A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a server device which enables a terminal device to efficiently acquire contents distributed over an overlay network without being participated in the overlay network, a page transmission program and a page transmission method.SOLUTION: A server device determines location information to be described on a Web page on the basis of a retrieval result of contents requested from a first terminal device, the location information indicating locations of information processing apparatuses constituting an overlay network. Then, the server device transmits the Web page on which the determined location information is described to the first terminal device.

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の配信システムの技術分野に関する。   The present invention relates to a technical field of a Peer to Peer (P2P) type distribution system including a plurality of node devices that can communicate with each other via a network.

近年、ピアツーピア型の配信システムが知られている。ピアツーピア型の配信システムでは、複数のノード装置により構成されるオーバーレイネットワークで複数のノード装置に複数のコンテンツデータが分散保存されている。そして、オーバーレイネットワークに参加している各ノード装置は、オーバーレイネットワークで他のノード装置からコンテンツデータを取得することが可能になっている。以下、コンテンツデータを「コンテンツ」という。   In recent years, a peer-to-peer distribution system has been known. In a peer-to-peer distribution system, a plurality of content data are distributed and stored in a plurality of node devices in an overlay network composed of a plurality of node devices. Each node device participating in the overlay network can acquire content data from other node devices in the overlay network. Hereinafter, the content data is referred to as “content”.

近年、このようなピアツーピア型の配信システムを利用して、Webサーバから配信可能なコンテンツを、オーバーレイネットワークで配信するシステムが提案されている。このシステムでは、Webブラウザを備える端末装置がノード装置としてオーバーレイネットワークに参加する。また、Webサーバから端末装置へ提供されるWebページには、コンテンツに割り当てられた固有のコンテンツIDが記述されている。そして、例えば特許文献1に開示されるように、端末装置は、Webページに記述されたコンテンツIDを用いて、オーバーレイネットワークからコンテンツの所在を検索し、取得できるようになっている。   In recent years, a system has been proposed that uses such a peer-to-peer distribution system to distribute content that can be distributed from a Web server through an overlay network. In this system, a terminal device including a Web browser participates in the overlay network as a node device. In addition, a unique content ID assigned to the content is described in the web page provided from the web server to the terminal device. For example, as disclosed in Patent Literature 1, the terminal device can search and acquire the location of the content from the overlay network using the content ID described in the Web page.

特開2007−34630号公報JP 2007-34630 A

ところで、上述したシステムにおいて、端末装置がオーバーレイネットワークで配信されるコンテンツを取得するためには、オーバーレイネットワークに参加する必要がある。そのため、端末装置には所定のピアツーピアのアプリケーションプログラムをインストールする必要があった。   By the way, in the system described above, in order for the terminal device to acquire content distributed on the overlay network, it is necessary to participate in the overlay network. Therefore, it is necessary to install a predetermined peer-to-peer application program in the terminal device.

しかしながら、端末装置を使用するユーザの中には、ピアツーピアのアプリケーションプログラムを端末装置にインストールしてオーバーレイネットワークに参加することを望まないユーザも存在する。   However, some users who use the terminal device do not want to install a peer-to-peer application program on the terminal device and participate in the overlay network.

本発明は、以上の点等に鑑みてなされたものであり、端末装置がオーバーレイネットワークに参加することなく、オーバーレイネットワークで配信されるコンテンツを効率良く取得することを可能としたサーバ装置、ページ送信プログラム、及びページ送信方法を提供することを課題とする。   The present invention has been made in view of the above points and the like, and a server device and a page transmission capable of efficiently acquiring content distributed on the overlay network without the terminal device participating in the overlay network. It is an object to provide a program and a page transmission method.

上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置によりオーバーレイネットワークが構成され、1以上の前記情報処理装置にコンテンツが保存された配信システムにおいて前記情報処理装置と通信可能なサーバ装置であって、所定のコンテンツのリクエストを、前記オーバーレイネットワークに参加していない第1の端末装置から受信する受信手段と、前記受信手段により受信された前記リクエストに対応する前記コンテンツを保存する前記情報処理装置の所在を前記オーバーレイネットワークで検索する検索手段と、前記検索手段による検索結果に基づいて、Webページに記述する所在情報であって、前記情報処理装置の所在を示す前記所在情報を決定する決定手段と、前記決定手段により決定された前記所在情報が記述されるWebページを生成する生成手段と、前記生成手段により生成されたWebページを、前記第1の端末装置へ送信する送信手段と、を備えることを特徴とする。   In order to solve the above-described problem, the invention according to claim 1 is configured such that an overlay network is configured by a plurality of information processing apparatuses that can communicate with each other via a network, and content is stored in one or more of the information processing apparatuses. A server device capable of communicating with the information processing device in a distribution system, wherein a receiving unit receives a request for a predetermined content from a first terminal device that does not participate in the overlay network, and is received by the receiving unit. Search means for searching for the location of the information processing apparatus storing the content corresponding to the request in the overlay network, and location information described on a Web page based on a search result by the search means, Determining means for determining the location information indicating the location of the information processing device; A generating unit that generates a Web page in which the location information determined by the determination unit is described; and a transmitting unit that transmits the Web page generated by the generating unit to the first terminal device. It is characterized by.

請求項2に記載の発明は、請求項1に記載のサーバ装置において、前記検索手段により複数の前記所在情報が検索された場合には、前記複数の前記所在情報の中から、前記第1の端末装置へ紹介する条件を満たす前記所在情報を、前記Webページに記述する所在情報として決定することを特徴とする。   According to a second aspect of the present invention, in the server device according to the first aspect, when a plurality of the location information is searched by the search means, the first information is selected from the plurality of the location information. The location information satisfying a condition to be introduced to the terminal device is determined as location information described in the Web page.

請求項3に記載の発明は、請求項2に記載のサーバ装置において、前記サーバ装置は、前記第1の端末装置が設置される地域を示す第1地域情報を取得する第1取得手段と、前記情報処理装置が設置される地域を示す第2地域情報を取得する第2取得手段と、を備え、前記決定手段は、前記第1取得手段により取得された第1地域情報と前記第2取得手段により取得された第2地域情報に基づいて、前記第1の端末装置が設置される地域からの距離が近い地域に設置される前記情報処理装置の前記所在情報を、前記第1の端末装置へ紹介する条件を満たす前記所在情報として優先的に決定することを特徴とする。   The invention according to claim 3 is the server device according to claim 2, wherein the server device acquires first area information indicating an area where the first terminal device is installed; Second acquisition means for acquiring second area information indicating an area where the information processing apparatus is installed, and the determination means includes the first area information acquired by the first acquisition means and the second acquisition Based on the second area information acquired by the means, the location information of the information processing apparatus installed in an area close to the area where the first terminal apparatus is installed is used as the first terminal apparatus. It is characterized in that it is preferentially determined as the location information that satisfies the conditions to be introduced.

請求項4に記載の発明は、請求項2又は3に記載のサーバ装置において、前記サーバ装置は、前記第1の端末装置が前記ネットワークに接続するために利用されるISP(Internet Service Provider)を示す第1ISP情報を取得する第3取得手段と、前記情報処理装置が前記ネットワークに接続するために利用されるISPを示す第2ISP情報を取得する第4取得手段と、を備え、前記決定手段は、前記第3取得手段により取得された第1ISP情報と前記第4取得手段により取得された前記第2ISP情報に基づいて、前記第1の端末装置と同じ前記ISPを利用する前記情報処理装置の前記所在情報を、前記第1の端末装置へ紹介する条件を満たす前記所在情報として優先的に決定することを特徴とする。   According to a fourth aspect of the present invention, in the server device according to the second or third aspect, the server device includes an ISP (Internet Service Provider) used for the first terminal device to connect to the network. A third acquisition unit that acquires first ISP information to be displayed; and a fourth acquisition unit that acquires second ISP information indicating an ISP used for the information processing apparatus to connect to the network. The information processing apparatus using the same ISP as the first terminal apparatus based on the first ISP information acquired by the third acquisition means and the second ISP information acquired by the fourth acquisition means. The location information is preferentially determined as the location information that satisfies a condition to be introduced to the first terminal device.

請求項5に記載の発明は、請求項2から請求項4のいずれか一項に記載のサーバ装置において、前記情報処理装置には、前記第1の端末装置とは異なる第2の端末装置が通信手段を介して接続されており、前記情報処理装置は、前記第2の端末装置に送信するコンテンツを前記オーバーレイネットワークを介して他の情報処理装置から取得する動作、または前記コンテンツを前記第2の端末装置へ送信する動作を制御する制御手段を備え、前記サーバ装置は、前記情報処理装置の前記制御手段により制御される動作が実行中であるか否かを示す動作情報を取得する第5取得手段を備え、前記決定手段は、前記第5取得手段により取得された動作情報に基づいて、前記動作が実行中でない前記情報処理装置の前記所在情報を、前記第1の端末装置へ紹介する条件を満たす前記所在情報として優先的に決定することを特徴とする。   According to a fifth aspect of the present invention, in the server device according to any one of the second to fourth aspects, the information processing device includes a second terminal device different from the first terminal device. The information processing device is connected via communication means, and the information processing device acquires content to be transmitted to the second terminal device from another information processing device via the overlay network, or the content is sent to the second information processing device. Control means for controlling the operation to be transmitted to the terminal device, wherein the server device obtains operation information indicating whether or not the operation controlled by the control means of the information processing device is being executed. An obtaining unit, and the determining unit obtains the location information of the information processing apparatus in which the operation is not being executed based on the operation information obtained by the fifth obtaining unit. Characterized in that it preferentially determined as satisfying the location information presented to.

請求項6に記載の発明は、請求項2から請求項5のいずれか一項に記載のサーバ装置において、前記サーバ装置は、前記情報処理装置が他の情報処理装置へアクセスした日付または時刻を示すアクセス情報を取得する第6取得手段を備え、前記決定手段は、前記第6取得手段により取得されたアクセス情報に基づいて、前記日付または時刻が古い前記情報処理装置の前記所在情報を、前記第1の端末装置へ紹介する条件を満たす前記所在情報として優先的に決定することを特徴とする。   According to a sixth aspect of the present invention, in the server device according to any one of the second to fifth aspects, the server device sets a date or time when the information processing device accesses another information processing device. 6th acquisition means which acquires the access information which shows, The said determination means, based on the access information acquired by the 6th acquisition means, the location information of the information processing apparatus with the old date or time, The location information satisfying the condition to be introduced to the first terminal device is preferentially determined as the location information.

請求項7に記載の発明は、請求項1から請求項6のいずれか一項に記載のサーバ装置において、前記オーバーレイネットワークに参加している前記情報処理装置の所在を示す前記所在情報を管理する管理装置から、前記所在情報を取得する第7取得手段と、前記検索手段により検索された前記所在情報の数が所定数以下であるか否かを判定する第1判定手段と、を備え、前記第1判定手段により、前記検索手段により検索された前記所在情報の数が所定数以下であると判定された場合には、前記決定手段は、前記第7取得手段により取得された前記所在情報の中から、前記リクエストに対応する前記コンテンツを保存していない情報処理装置の前記所在情報を、前記Webページに記述する所在情報として決定することを特徴とする。   The invention according to claim 7 manages the location information indicating the location of the information processing device participating in the overlay network in the server device according to any one of claims 1 to 6. Seventh acquisition means for acquiring the location information from a management device, and first determination means for determining whether or not the number of the location information searched by the search means is equal to or less than a predetermined number, When the first determination unit determines that the number of the location information searched by the search unit is equal to or less than a predetermined number, the determination unit determines the location information acquired by the seventh acquisition unit. The location information of an information processing apparatus that does not store the content corresponding to the request is determined as location information described in the Web page.

請求項8に記載の発明は、請求項1から請求項6のいずれか一項に記載のサーバ装置において、前記オーバーレイネットワークに参加している前記情報処理装置の所在を示す前記所在情報を管理する管理装置から、前記所在情報を取得する第7取得手段と、前記検索手段により検索された前記所在情報に対応する前記情報処理装置が、他の情報処理装置へ、コンテンツを提供した日付または時刻、または前記他の情報処理装置へ前記所在情報を提供した日付または時刻を示す提供情報を取得する第8取得手段と、を備え、前記第8取得手段により取得された提供情報に示される日付または時刻が所定期間内に含まれる前記情報処理装置の数が所定数以上であるか否かを判定する第2判定手段と、前記第2判定手段により、前記第8取得手段により取得された提供情報に示される日付または時刻が所定期間内に含まれる前記情報処理装置の数が所定数以上であると判定された場合には、前記決定手段は、前記第7取得手段により取得された所定数の前記所在情報の中から、前記リクエストに対応する前記コンテンツを保存していない情報処理装置の前記所在情報を、前記Webページに記述する所在情報として決定することを特徴とする。   According to an eighth aspect of the present invention, in the server device according to any one of the first to sixth aspects, the location information indicating a location of the information processing device participating in the overlay network is managed. A date or time at which the information processing device corresponding to the location information searched by the search means provides the content to another information processing device; Or an eighth acquisition unit that acquires provision information indicating the date or time when the location information was provided to the other information processing apparatus, and the date or time indicated in the provision information acquired by the eighth acquisition unit The second determination means for determining whether or not the number of the information processing devices included in a predetermined period is equal to or greater than a predetermined number, and the second determination means to the eighth acquisition means. If it is determined that the number of the information processing devices whose date or time indicated in the provided information acquired within a predetermined period is greater than or equal to the predetermined number, the determining means The location information of an information processing apparatus that does not store the content corresponding to the request is determined as location information to be described on the Web page, from among the predetermined number of acquired location information. .

請求項9に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置によりオーバーレイネットワークが構成され、1以上の前記情報処理装置にコンテンツが保存された配信システムにおいて前記情報処理装置と通信可能なサーバ装置に含まれるコンピュータに、所定のコンテンツのリクエストを、前記オーバーレイネットワークに参加していない第1の端末装置から受信するステップと、前記受信された前記リクエストに対応する前記コンテンツを保存する前記情報処理装置の所在を前記オーバーレイネットワークで検索するステップと、前記検索の結果に基づいて、Webページに記述する所在情報であって、前記情報処理装置の所在を示す前記所在情報を決定するステップと、前記決定された前記所在情報が記述されるWebページを生成するステップと、前記生成されたWebページを、前記第1の端末装置へ送信するステップと、を実行させるためのページ送信プログラムである。   The invention according to claim 9 is a distribution system in which an overlay network is configured by a plurality of information processing devices that can communicate with each other via a network, and content is stored in one or more of the information processing devices. Receiving a request for a predetermined content from a first terminal device not participating in the overlay network in a computer included in a communicable server device; and storing the content corresponding to the received request Searching the location of the information processing apparatus on the overlay network, and determining the location information indicating the location of the information processing apparatus, which is location information described in a Web page, based on the search result Step and the determined location information are described. Generating a Web page, the Web page that the generated, a page transmission program for executing the steps of: transmitting to the first terminal device.

請求項10に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置によりオーバーレイネットワークが構成され、1以上の前記情報処理装置にコンテンツが保存された配信システムにおけるWebページ送信方法であって、サーバ装置が、所定のコンテンツのリクエストを、前記オーバーレイネットワークに参加していない第1の端末装置から受信するステップと、前記サーバ装置が、前記受信された前記リクエストに対応する前記コンテンツを保存する前記情報処理装置の所在を前記オーバーレイネットワークで検索するステップと、前記サーバ装置が、前記検索の結果に基づいて、Webページに記述する所在情報であって、前記情報処理装置の所在を示す前記所在情報を決定するステップと、前記サーバ装置が、前記決定された前記所在情報が記述されるWebページを生成するステップと、前記サーバ装置が、前記生成されたWebページを、前記第1の端末装置へ送信するステップと、を含むことを特徴とする。   The invention according to claim 10 is a Web page transmission method in a distribution system in which an overlay network is configured by a plurality of information processing devices capable of communicating with each other via a network, and content is stored in one or more of the information processing devices. A server device receiving a request for a predetermined content from a first terminal device not participating in the overlay network, and the server device receiving the content corresponding to the received request. Searching the location of the information processing apparatus to be stored in the overlay network, and the server apparatus is location information described on a Web page based on the search result, and indicates the location of the information processing apparatus Determining the location information; and the server device, Generating a Web page in which the determined location information is described, and the server device transmitting the generated Web page to the first terminal device. To do.

請求項1、9、又は10に記載の発明によれば、サーバ装置は、第1の端末装置からリクエストされたコンテンツの検索結果に基づいて、Webページに記述する所在情報であってオーバーレイネットワークを構成する情報処理装置の所在を示す前記所在情報を決定する。そして、サーバ装置は、決定した所在情報が記述されるWebページを第1の端末装置へ送信する。そのため、第1の端末装置は、オーバーレイネットワークに参加することなく、サーバ装置から送信されたWebページに記述された所在情報を用いて、オーバーレイネットワークで配信されるコンテンツを効率良く取得することができる。 請求項2に記載の発明によれば、検索手段により複数の情報処理装置に対応する所在情報が検索された場合であっても、それらの所在情報の中から、第1の端末装置へ紹介する条件を満たす所在情報をWebページを介して端末装置に提供することができる。   According to the invention described in claim 1, 9 or 10, the server device is the location information described in the Web page based on the search result of the content requested from the first terminal device, and the overlay network The location information indicating the location of the information processing apparatus to be configured is determined. Then, the server device transmits a Web page in which the determined location information is described to the first terminal device. Therefore, the first terminal device can efficiently acquire the content distributed on the overlay network by using the location information described in the Web page transmitted from the server device without participating in the overlay network. . According to the second aspect of the present invention, even when location information corresponding to a plurality of information processing devices is searched by the search means, the location information is introduced to the first terminal device. Location information that satisfies the conditions can be provided to the terminal device via the Web page.

請求項3に記載の発明によれば、コンテンツのリクエストをした第1の端末装置が設置される地域からの距離が近い地域に設置される情報処理装置の所在情報を優先的にWebページを介して第1の端末装置に提供することができる。そのため、第1の端末装置は、紹介された情報処理装置から迅速にコンテンツを取得することが可能となる。   According to the third aspect of the present invention, the location information of the information processing apparatus installed in the area close to the area where the first terminal apparatus that requested the content is installed is preferentially transmitted via the Web page. Can be provided to the first terminal device. Therefore, the first terminal device can quickly acquire content from the introduced information processing device.

請求項4に記載の発明によれば、コンテンツのリクエストをした第1の端末装置と同じISPを利用する情報処理装置の所在情報を優先的にWebページを介して第1の端末装置に提供することができる。そのため、第1の端末装置は、紹介された情報処理装置から迅速にコンテンツを取得することが可能となる。また、異なるISP間を跨ることによる利用料金を低減することができる。   According to the fourth aspect of the present invention, location information of an information processing device that uses the same ISP as the first terminal device that has requested the content is preferentially provided to the first terminal device via the Web page. be able to. Therefore, the first terminal device can quickly acquire content from the introduced information processing device. Moreover, the usage fee by straddling between different ISPs can be reduced.

請求項5に記載の発明によれば、第2の端末装置へコンテンツを提供するための動作が実行中でない情報処理装置の所在情報を優先的にWebページを介して第1の端末装置に提供することができる。そのため、情報処理装置による上記動作の実行が妨げられることを回避することができる。   According to the fifth aspect of the present invention, location information of an information processing device that is not executing an operation for providing content to the second terminal device is preferentially provided to the first terminal device via the Web page. can do. Therefore, it is possible to avoid the execution of the above operation by the information processing apparatus being hindered.

請求項6に記載の発明によれば、他の情報処理装置へコンテンツを提供した日付が古い情報処理装置の所在情報を優先的にWebページを介して第1の端末装置に提供することができる。そのため、特定の情報処理装置にアクセスが集中することを回避することができる。   According to the sixth aspect of the present invention, location information of an information processing device with an old date when content is provided to another information processing device can be preferentially provided to the first terminal device via the Web page. . Therefore, it is possible to avoid the concentration of access to a specific information processing apparatus.

請求項7に記載の発明によれば、第1の端末装置からリクエストされたコンテンツをオーバーレイネットワークで保存する情報処理装置が少ない場合に、このコンテンツをオーバーレイネットワークで保存する情報処理装置の数を増やすことができる。   According to the seventh aspect of the present invention, when there are few information processing devices that store the content requested by the first terminal device on the overlay network, the number of information processing devices that store the content on the overlay network is increased. be able to.

請求項8に記載の発明によれば、第1の端末装置からリクエストされたコンテンツをオーバーレイネットワークで保存する情報処理装置が少ない場合に、このコンテンツをオーバーレイネットワークで保存する情報処理装置の数を増やすことができる。   According to the eighth aspect of the present invention, when there are few information processing devices that store the content requested by the first terminal device on the overlay network, the number of information processing devices that store the content on the overlay network is increased. be able to.

本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。It is a figure showing an example of outline composition of a contents distribution system concerning this embodiment. (A)は、WebサーバWSの概要構成例を示すブロック図である。(B)は、管理サーバMSの概要構成例を示すブロック図である。(C)は、ルータRmの概要構成例を示すブロック図である。(A) is a block diagram showing a schematic configuration example of a Web server WS. (B) is a block diagram showing a schematic configuration example of the management server MS. (C) is a block diagram illustrating a schematic configuration example of the router Rm. コンテンツのリクエストを行ったユーザ端末UTへコンテンツが提供されるまでの各装置の処理等を示すシーケンス図である。It is a sequence diagram which shows the process etc. of each apparatus until a content is provided to the user terminal UT which made the request for content. (A)は、IPアドレスの決定処理の一例を示すフローチャートである。(B)は、地域情報及びISP情報を用いた処理の一例を示すフローチャートである。(A) is a flowchart showing an example of IP address determination processing. (B) is a flowchart showing an example of processing using regional information and ISP information. (A)〜(C)は、コンテンツXの検索処理による検索結果の一例を示す図である。(D)は、検索結果に示されるコンテンツ保持ノード以外の複数のノードNnの登録情報の一例を示す図である。(E)は、上記ステップS3で取得されたWebページを構成するHTMLの記述例を示す図である。(A)-(C) is a figure which shows an example of the search result by the search process of the content X. FIG. (D) is a figure which shows an example of the registration information of several nodes Nn other than the content holding node shown by a search result. (E) is a diagram showing a description example of HTML constituting the Web page acquired in step S3.

以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに本発明を適用した場合の実施形態である。   Hereinafter, embodiments 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は、本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。図1に示すように、本実施形態に係るコンテンツ配信システムSは、WebサーバWS、管理サーバMS、ユーザ端末UT、及びルータRm(m=1,2,3・・・j)等により構成されている。WebサーバWS、管理サーバMS、ユーザ端末UT、及びルータRmはネットワークNWに接続されている。ネットワークNWは、インターネット等からなる。WebサーバWSは、コンテンツ配信サイトを構成するためのサーバである。また、WebサーバWSは、本発明におけるサーバ装置の一例である。また、管理サーバMSは、後述するオーバーレイネットワークONに参加しているノード装置Nnの情報を管理するサーバである。また、管理サーバMSは、本発明における管理装置の一例である。ユーザ端末UTは、本発明における第1の端末装置の一例である。また、ユーザ端末UTは、例えば、ユーザにより使用されるパーソナルコンピュータ又は携帯機器である。また、ユーザ端末UTには、Webブラウザプログラムがインストールされている。なお、ルータRm及びユーザ端末UT等は、ISP(Internet Service Provider)のサーバ(図示せず)により割り当てられたIPアドレスを用いてネットワークNWに接続可能になっている。
[ 1. Content distribution system configuration and operation overview ]
First, with reference to FIG. 1, the structure and operation | movement outline | summary of the content delivery system which concerns on this embodiment are demonstrated. FIG. 1 is a diagram illustrating a schematic configuration example of a content distribution system according to the present embodiment. As shown in FIG. 1, the content distribution system S according to the present embodiment is configured by a Web server WS, a management server MS, a user terminal UT, a router Rm (m = 1, 2, 3... J), and the like. ing. Web server WS, management server MS, user terminal UT, and router Rm are connected to network NW. The network NW is composed of the Internet or the like. The web server WS is a server for configuring a content distribution site. The Web server WS is an example of a server device in the present invention. The management server MS is a server that manages information on node devices Nn participating in an overlay network ON described later. The management server MS is an example of a management device in the present invention. The user terminal UT is an example of a first terminal device in the present invention. The user terminal UT is, for example, a personal computer or a portable device used by the user. A web browser program is installed in the user terminal UT. Note that the router Rm, the user terminal UT, and the like can be connected to the network NW using an IP address assigned by an ISP (Internet Service Provider) server (not shown).

また、図1に示すように、コンテンツ配信システムSには、複数の拠点Pm毎に拠点ネットワークNLmが構築されている。この拠点の例としては、例えばカラオケ店舗、学校、会社、住宅、その他の施設等が挙げられる。拠点ネットワークNLmは、例えば、LAN(Local Area Network)等のプライベートネットワークである。また、各拠点ネットワークNLmには、ルータRmと複数の拠点端末Tm−l(l=1,2,3)とが接続されている。ルータRmは、ネットワークNWと拠点ネットワークNLmとの間でIP(Internet Protocol)パケットを中継する中継機器である。また、ルータRmは、拠点端末Tm−lにコンテンツを配信するエッジサーバとしての機能を担う。拠点端末Tm−lは、本発明における第2の端末装置の一例である。拠点端末Tm−lは、ルータRmから配信されたコンテンツを再生することができる。なお、各拠点Pmにおける視聴端末Tm−lは、同じ拠点ネットワークNLmに接続されているルータRmだけと通信を行うことに限定されるものではない。例えば、拠点P1における視聴端末T1−1は、同じ拠点ネットワークNL1に接続されているルータR1だけでなく、他の拠点P2等におけるルータR2やWebサーバWS等とも通信を行うことができる。   In addition, as shown in FIG. 1, in the content distribution system S, a base network NLm is constructed for each of a plurality of bases Pm. Examples of the base include a karaoke store, a school, a company, a house, and other facilities. The base network NLm is a private network such as a LAN (Local Area Network). Also, a router Rm and a plurality of base terminals Tm-l (l = 1, 2, 3) are connected to each base network NLm. The router Rm is a relay device that relays IP (Internet Protocol) packets between the network NW and the base network NLm. The router Rm also functions as an edge server that distributes content to the base terminal Tm-l. The base terminal Tm-l is an example of a second terminal device in the present invention. The base terminal Tm-l can reproduce the content distributed from the router Rm. Note that the viewing terminal Tm-l at each site Pm is not limited to communicating with only the router Rm connected to the same site network NLm. For example, the viewing terminal T1-1 at the site P1 can communicate not only with the router R1 connected to the same site network NL1, but also with the router R2, the web server WS, and the like at other sites P2.

また、図1に示すように、コンテンツ配信システムSには、ネットワークNWを介して互いに通信可能な複数のノード装置Nn(n=1,2,3・・・k)の参加によりオーバーレイネットワークONが構成されている。ノード装置は、本発明における情報処理装置の一例である。なお、ノード装置を、以下、「ノード」という。オーバーレイネットワークONは、仮想的なリンクを構成する論理的なネットワークである。オーバーレイネットワークONは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。なお、分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。ここで、オーバーレイネットワークONに参加するとは、DHTを用いたルーティングテーブルに基づいてオーバーレイネットワークONを介して他のノードNnとの間で各種メッセージを送受信できる状態に稼動することをいう。なお、DHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。   As shown in FIG. 1, in the content distribution system S, the overlay network ON is activated by the participation of a plurality of node devices Nn (n = 1, 2, 3,... K) that can communicate with each other via the network NW. It is configured. The node device is an example of an information processing device in the present invention. The node device is hereinafter referred to as “node”. The overlay network ON is a logical network that forms a virtual link. The overlay network ON is realized by a specific algorithm, for example, an algorithm using a distributed hash table. The distributed hash table is hereinafter referred to as “DHT (Distributed Hash Table)”. Here, participating in the overlay network ON means operating in a state where various messages can be transmitted / received to / from other nodes Nn via the overlay network ON based on a routing table using DHT. Note that a routing table using DHT is known in Japanese Patent Application Laid-Open No. 2006-197400 and the like, and thus detailed description thereof is omitted.

そして、本実施形態においては、ルータRm及びWebサーバWSがノードNnとしてオーバーレイネットワークONに参加する。そのため、ルータRm及びWebサーバWSには、ノードNnとして制御処理を実行させるピアツーピアのプログラムがインストールされる。ここで、ピアツーピアのアプリケーションプログラムを以下、「P2Pプログラム」という。また、ルータRmは、常駐ノードとしてオーバーレイネットワークONに定常的に参加する。ここで、「定常的に参加」とは、例えば、常駐ノードが故障時又はメンテナンス時以外の時には、オーバーレイネットワークONから離脱せず参加していることを意味する。なお、各拠点PmのルータRm以外にも、例えば、各家庭で常時ネットワークNWに接続される機器に、ノードNnとして制御処理を実行させるP2Pプログラムがインストールされても良い。また、ユーザ端末UTにP2Pプログラムをインストールすれば、ユーザ端末UTはノードNnとしてオーバーレイネットワークONに参加することが可能となる。この場合、ユーザ端末UTは、オーバーレイネットワークONに必ずしも定常的に参加するとは限らない一般ノードとなる。例えば、ユーザ端末UTは、ユーザがユーザ端末UTを使用する時等の所定時間だけオーバーレイネットワークONに参加する。   In this embodiment, the router Rm and the Web server WS participate in the overlay network ON as the node Nn. Therefore, a peer-to-peer program for executing control processing as the node Nn is installed in the router Rm and the Web server WS. Here, the peer-to-peer application program is hereinafter referred to as “P2P program”. Further, the router Rm regularly participates in the overlay network ON as a resident node. Here, “steady participation” means that, for example, when the resident node is not at the time of failure or maintenance, it participates without leaving the overlay network ON. In addition to the router Rm at each site Pm, for example, a P2P program for executing control processing as the node Nn may be installed in a device that is always connected to the network NW at each home. If the P2P program is installed in the user terminal UT, the user terminal UT can participate in the overlay network ON as the node Nn. In this case, the user terminal UT is a general node that does not always participate regularly in the overlay network ON. For example, the user terminal UT participates in the overlay network ON for a predetermined time such as when the user uses the user terminal UT.

また、オーバーレイネットワークONに参加している各ノードNnにはノードIDが付与されている。このノードIDは、ノードNnを、オーバーレイネットワークONに参加しているノードNnの中から識別する固有の識別情報である。また、オーバーレイネットワークONに参加している複数のノードNnには、内容の異なる様々なコンテンツが分散保存されている。また、ノードNnに保存されているコンテンツには、コンテンツIDが付与されている。コンテンツIDは、コンテンツを、オーバーレイネットワークONでノードNnに保存される複数のコンテンツの中から識別する固有の識別情報である。なお、ノードID及びコンテンツIDは、例えば、オーバーレイネットワークONで共通のハッシュ関数により生成される。   A node ID is assigned to each node Nn participating in the overlay network ON. This node ID is unique identification information for identifying the node Nn from among the nodes Nn participating in the overlay network ON. In addition, various contents with different contents are distributed and stored in the plurality of nodes Nn participating in the overlay network ON. A content ID is assigned to the content stored in the node Nn. The content ID is unique identification information for identifying the content from among a plurality of contents stored in the node Nn when the overlay network is ON. Note that the node ID and the content ID are generated by, for example, a hash function common to the overlay network ON.

ここで、コンテンツを保存しているノードNnを、以下、「コンテンツ保持ノード」という。また、コンテンツの所在は、インデックス情報として、このコンテンツの所在を管理しているノードNnに記憶される。コンテンツの所在を管理しているノードNnを、以下、「ルートノード」という。インデックス情報には、コンテンツを保存しているコンテンツ保持ノードのノード情報と、コンテンツのコンテンツIDとの組が含まれる。ノード情報には、例えば、コンテンツ保持ノードのIPアドレス、ポート番号、及びノードIDが含まれる。ここで、コンテンツ保持ノードのIPアドレスは、コンテンツ保持ノードの所在を示す所在情報の一例である。なお、ルートノードは、例えば、コンテンツIDと最も近いノードIDが割り当てられたノードNnであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。   Here, the node Nn that stores the content is hereinafter referred to as a “content holding node”. The location of the content is stored as index information in the node Nn that manages the location of the content. The node Nn that manages the location of the content is hereinafter referred to as a “root node”. The index information includes a set of the node information of the content holding node storing the content and the content ID of the content. The node information includes, for example, the IP address, port number, and node ID of the content holding node. Here, the IP address of the content holding node is an example of location information indicating the location of the content holding node. Note that the root node is determined to be, for example, the node Nn to which the node ID closest to the content ID is assigned. The node ID closest to the content ID is, for example, the node ID with the highest number of upper digits that match.

そして、あるノードNnが、オーバーレイネットワークONを介してコンテンツ保持ノードから所定のコンテンツを取得する場合がある。この場合、このノードNnは、所定のコンテンツを保存するコンテンツ保持ノードの所在をオーバーレイネットワークONで検索する処理を行う。この処理を、以下、「コンテンツの検索処理」という。ここで、所定のコンテンツとは、例えば、ノードNnにより取得対象として選択されたコンテンツである。また、コンテンツの検索処理を行うノードNnを、以下、「ユーザノード」という。また、コンテンツの検索処理は、コンテンツのコンテンツIDに基づいて行われる。具体的には、ユーザノードは、コンテンツの検索処理において、コンテンツ所在問合せメッセージを生成する。コンテンツ所在問合せメッセージは、コンテンツの所在をルートノードに問い合わせるためのメッセージである。また、コンテンツ所在問合せメッセージには、このメッセージを送信するユーザノードのIPアドレス及びポート番号、並びにコンテンツのコンテンツIDが含まれる。そして、ユーザノードは、生成したコンテンツ所在問合せメッセージを、DHTルーティングによりルートノード宛に送信する。なお、DHTルーティングは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。コンテンツ所在問合せメッセージを受信したルートノードは、コンテンツ所在問合せメッセージに含まれるコンテンツIDに対応するインデックス情報を取得する。そして、ルートノードは、取得したインデックス情報を、ユーザノードへ返信する。このように返信されたインデックス情報には、コンテンツを保存している1以上のコンテンツ保持ノードのIPアドレス等が含まれている。こうして、ユーザノードは、ルートノードからのインデックス情報を受信する。このインデックス情報により、ユーザノードは、取得対象のコンテンツを発見することができる。そして、ユーザノードは、受信したインデックス情報に含まれるコンテンツ保持ノードのIPアドレス等に基づいてコンテンツ保持ノードにアクセスする。そして、ユーザノードは、コンテンツ保持ノードにコンテンツを要求しこのコンテンツをコンテンツ保持ノードから取得する。   A certain node Nn may acquire predetermined content from the content holding node via the overlay network ON. In this case, the node Nn performs a process of searching for the location of the content holding node that stores predetermined content in the overlay network ON. This processing is hereinafter referred to as “content search processing”. Here, the predetermined content is, for example, content selected as an acquisition target by the node Nn. The node Nn that performs content search processing is hereinafter referred to as a “user node”. The content search process is performed based on the content ID of the content. Specifically, the user node generates a content location inquiry message in the content search process. The content location inquiry message is a message for inquiring the location of the content to the root node. The content location inquiry message includes the IP address and port number of the user node that transmits this message, and the content ID of the content. Then, the user node transmits the generated content location inquiry message to the root node by DHT routing. The DHT routing is known in, for example, Japanese Patent Application Laid-Open No. 2007-053662, and detailed description thereof is omitted. The root node that has received the content location inquiry message acquires index information corresponding to the content ID included in the content location inquiry message. Then, the root node returns the acquired index information to the user node. The index information returned in this way includes the IP address of one or more content holding nodes that store the content. Thus, the user node receives the index information from the root node. With this index information, the user node can find the content to be acquired. Then, the user node accesses the content holding node based on the IP address of the content holding node included in the received index information. Then, the user node requests content from the content holding node and acquires this content from the content holding node.

ところで、上述したように、ユーザ端末UTにP2Pプログラムをインストールすれば、ユーザ端末UTはノードNnとしてオーバーレイネットワークONに参加することが可能となる。この場合、ユーザ端末UTは、例えば特開2007−034630号公報に開示されるように、所定のWebサイトから提供されたWebページに記述されたコンテンツIDを用いてコンテンツを取得することができる。しかし、ユーザ端末UTを使用するユーザの中には、P2Pプログラムをユーザ端末UTにインストールしてオーバーレイネットワークONに参加することを望まないユーザも存在する。この理由としては、例えばP2Pプログラムをインストールする手間や、P2Pプログラム自体の挙動が見えないなどの不安等からインストールに抵抗があること等が挙げられる。そのため、ユーザ端末UTがオーバーレイネットワークONに参加することなく、オーバーレイネットワークONで配信されるコンテンツを取得する方法について以下に説明する。   By the way, as described above, if the P2P program is installed in the user terminal UT, the user terminal UT can participate in the overlay network ON as the node Nn. In this case, as disclosed in, for example, Japanese Patent Application Laid-Open No. 2007-034630, the user terminal UT can acquire content using a content ID described in a Web page provided from a predetermined Web site. However, some users who use the user terminal UT do not want to install the P2P program in the user terminal UT and participate in the overlay network ON. This is because, for example, there is resistance to installation due to the trouble of installing the P2P program, anxiety that the behavior of the P2P program itself cannot be seen, and the like. Therefore, a method for acquiring content distributed in the overlay network ON without the user terminal UT participating in the overlay network ON will be described below.

この方法の一つの例として、DNS(Domain Name System)を利用する方法が考えられる。この方法では、所定のWebサイトからユーザ端末UTに提供されるWebページには、オーバーレイネットワークONで配信されるコンテンツのURL(Uniform Resource Locator)が記述される。また、DNSサーバ(図示せず)には、コンテンツのURLに含まれるドメイン名と、このコンテンツを保存しているコンテンツ保持ノードのIPアドレスとを対応付けた対応情報が登録される。この対応情報は、所定時間毎に更新される。そして、ユーザ端末UTのWebブラウザは、WebサイトからWebページを受信すると、Webページに記述されたURLに含まれるドメイン名に対応するIPアドレスをDNSサーバへ問い合わせる。その結果、ユーザ端末UTのWebブラウザは、オーバーレイネットワークONでコンテンツを保存するコンテンツ保持ノードのIPアドレスを取得する。つまり、ドメイン名からIPアドレスに変換される。そして、ユーザ端末UTのWebブラウザは、取得したIPアドレスに対応するコンテンツ保持ノードへアクセスしてコンテンツを取得することができる。しかし、DNSを利用する方法では、多くのユーザ端末UTから短時間に一斉にDNSサーバに問い合わせがあることが想定される。この場合、DNSサーバから紹介されたコンテンツ保持ノードへ複数のユーザ端末UTからアクセスが集中し、レスポンスが遅延するなどの問題がある。   As an example of this method, a method using DNS (Domain Name System) can be considered. In this method, a URL (Uniform Resource Locator) of content distributed by overlay network ON is described in a Web page provided from a predetermined Web site to the user terminal UT. Also, in the DNS server (not shown), correspondence information in which the domain name included in the content URL is associated with the IP address of the content holding node that stores the content is registered. This correspondence information is updated every predetermined time. Then, when the Web browser of the user terminal UT receives the Web page from the Web site, it inquires of the DNS server about the IP address corresponding to the domain name included in the URL described in the Web page. As a result, the Web browser of the user terminal UT acquires the IP address of the content holding node that stores the content when the overlay network is ON. That is, the domain name is converted into an IP address. Then, the Web browser of the user terminal UT can access the content holding node corresponding to the acquired IP address and acquire the content. However, in the method using DNS, it is assumed that there are inquiries from many user terminals UT to the DNS server all at once in a short time. In this case, there is a problem that access is concentrated from a plurality of user terminals UT to the content holding node introduced from the DNS server, and responses are delayed.

そこで、以下に説明する方法では、DNSサーバからIPアドレスを得ることなくWebサーバWSからユーザ端末UTへ、ユーザ端末UTがコンテンツの取得先となるノードNnを紹介するように構成した。この方法では、WebサーバWSからユーザ端末UTに提供されるWebページには、ノードNnのIPアドレスが記述される。そのため、WebサーバWSは、ユーザ端末UTから所定のコンテンツのリクエストを受信すると、このリクエストに対応するコンテンツの検索処理を行う。そして、WebサーバWSは、コンテンツの検索処理による検索結果に基づいてWebページに記述するノードNnのIPアドレスを決定するようになっている。   Therefore, the method described below is configured such that the user terminal UT introduces the node Nn from which the user terminal UT obtains content from the Web server WS to the user terminal UT without obtaining an IP address from the DNS server. In this method, the IP address of the node Nn is described in the Web page provided from the Web server WS to the user terminal UT. Therefore, when the Web server WS receives a request for predetermined content from the user terminal UT, the Web server WS performs content search processing corresponding to the request. Then, the Web server WS determines the IP address of the node Nn described in the Web page based on the search result by the content search process.

2.WebサーバWSの構成及び機能
次に、図2(A)を参照して、WebサーバWSの構成及び機能について説明する。図2(A)は、WebサーバWSの概要構成例を示すブロック図である。WebサーバWSは、図2(A)に示すように、制御部11、記憶部12、及び通信部13等を備えて構成される。制御部11、記憶部12、及び通信部13はバス14を介して相互に接続されている。WebサーバWSは、アプリケーションサーバ、及びデータベースサーバ等の複数のサーバから構成されてもよい。
[ 2. Configuration and function of Web server WS ]
Next, the configuration and functions of the Web server WS will be described with reference to FIG. FIG. 2A is a block diagram illustrating a schematic configuration example of the Web server WS. As shown in FIG. 2A, the Web server WS includes a control unit 11, a storage unit 12, a communication unit 13, and the like. The control unit 11, the storage unit 12, and the communication unit 13 are connected to each other via a bus 14. The Web server WS may be composed of a plurality of servers such as an application server and a database server.

記憶部12は、例えばハードディスクドライブ等から構成される。記憶部12には、オペレーティングシステム、HTTP(HyperText Transfer Protocol)サーバプログラム、及びP2Pプログラム等が記憶されている。HTTPサーバプログラム及びP2Pプログラムは、本発明のページ送信プログラムの一例である。なお、HTTPサーバプログラム及びP2Pプログラム等は、例えば、ネットワークNWに接続された所定のサーバからダウンロードされるようにしてもよい。或いは、HTTPサーバプログラム及びP2Pプログラム等は、例えば、記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。   The storage unit 12 is composed of, for example, a hard disk drive. The storage unit 12 stores an operating system, an HTTP (HyperText Transfer Protocol) server program, a P2P program, and the like. The HTTP server program and the P2P program are examples of the page transmission program of the present invention. The HTTP server program, the P2P program, and the like may be downloaded from a predetermined server connected to the network NW, for example. Alternatively, for example, the HTTP server program and the P2P program may be recorded on a recording medium and read via a drive of the recording medium.

また、記憶部12には、Webページが記憶されている。Webページは、HTML(Hyper Text Markup Language)やXML(Extensible Markup Language)等により記述された構造化文書ファイルからなる。更に、記憶部12には、オーバーレイネットワークONで使用されるDHTを用いたルーティングテーブル等が記憶される。なお、DHTを用いたルーティングテーブルは、オーバーレイネットワークONへの参加により生成される。通信部13は、ネットワークNWを通じて管理サーバMS、ユーザ端末UT、又はルータRm等との間の通信制御を行う。   The storage unit 12 stores a web page. The Web page is composed of a structured document file described in HTML (Hyper Text Markup Language), XML (Extensible Markup Language), or the like. Further, the storage unit 12 stores a routing table using DHT used in overlay network ON. Note that the routing table using DHT is generated by participating in the overlay network ON. The communication unit 13 performs communication control with the management server MS, the user terminal UT, the router Rm, and the like through the network NW.

制御部11は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部11は、本発明における受信手段、検索手段、決定手段、生成手段、送信手段、第1及び第2判定手段、及び第1〜8取得手段の一例である。また、制御部11は時計機能及びタイマ機能を備える。そして、制御部11は、CPUが記憶部12等に記憶されたHTTPサーバプログラムの実行によりHTTPサーバ部11aとして動作する。このHTTPサーバ部11aにより、WebサーバWSは、HTTPサーバとして機能する。また、制御部11は、CPUが記憶部12等に記憶されたP2Pプログラムの実行により、ノード処理部11bとして動作する。このノード処理部11bにより、WebサーバWSは、ノードNnとしても機能する。なお、HTTPサーバ部11aとノード処理部11bの処理は、1つのCPUがマルチタスク又はマルチコアにより実行される。或いは、HTTPサーバ部11aとノード処理部11bの処理は、2つのCPUで夫々のCPUにより実行されるように構成してもよい。   The control unit 11 includes a CPU having a calculation function, a working RAM, a ROM, and the like. The control unit 11 is an example of a reception unit, a search unit, a determination unit, a generation unit, a transmission unit, first and second determination units, and first to eighth acquisition units in the present invention. The control unit 11 has a clock function and a timer function. The control unit 11 operates as the HTTP server unit 11a by the execution of the HTTP server program stored in the storage unit 12 or the like by the CPU. By this HTTP server unit 11a, the Web server WS functions as an HTTP server. In addition, the control unit 11 operates as the node processing unit 11b when the CPU executes the P2P program stored in the storage unit 12 or the like. With this node processing unit 11b, the Web server WS also functions as the node Nn. The processing of the HTTP server unit 11a and the node processing unit 11b is executed by a single CPU by multitasking or multicore. Or you may comprise so that the process of the HTTP server part 11a and the node process part 11b may be performed by each CPU with two CPUs.

3.管理サーバMSの構成及び機能
次に、図2(B)を参照して、管理サーバMSの構成及び機能について説明する。図2(B)は、管理サーバMSの概要構成例を示すブロック図である。管理サーバMSは、図2(B)に示すように、制御部21、記憶部22、及び通信部23等を備えて構成される。制御部21、記憶部22、及び通信部23はバス24を介して相互に接続されている。管理サーバMSは、アプリケーションサーバ、及びデータベースサーバ等の複数のサーバから構成されてもよい。
[ 3. Configuration and function of management server MS ]
Next, the configuration and function of the management server MS will be described with reference to FIG. FIG. 2B is a block diagram illustrating a schematic configuration example of the management server MS. As shown in FIG. 2B, the management server MS includes a control unit 21, a storage unit 22, a communication unit 23, and the like. The control unit 21, the storage unit 22, and the communication unit 23 are connected to each other via a bus 24. The management server MS may be composed of a plurality of servers such as an application server and a database server.

記憶部22は、例えばハードディスクドライブ等から構成される。記憶部22には、オペレーティングシステム、及びサーバプログラム等が記憶されている。また、記憶部22には、管理データベースが構築されている。管理データベースには、ノード情報、地域情報、ISP情報、動作情報、及びコンテンツ保持数情報等がノードNn毎に登録されている。管理データベースに登録された情報を、以下、「登録情報」という。この管理データベースに登録情報が登録されるノードNnは、例えば常駐ノードである。ただし、常駐ノード以外のノードNnの登録情報が管理データベースに登録されても構わない。   The storage unit 22 is composed of, for example, a hard disk drive. The storage unit 22 stores an operating system, a server program, and the like. In addition, a management database is constructed in the storage unit 22. In the management database, node information, area information, ISP information, operation information, content holding number information, and the like are registered for each node Nn. The information registered in the management database is hereinafter referred to as “registration information”. The node Nn whose registration information is registered in this management database is, for example, a resident node. However, registration information of the node Nn other than the resident node may be registered in the management database.

ここで、地域情報は、ノードNnが設置される地域を示す。地域は、言い換えれば、現実世界の位置を示す。また、地域情報は、例えば、大陸名、国名、都道府県名、市町村名、又はシステム運営者側が任意に決めたエリア名又は地点名等で表される。また、地域情報は、例えば、ノードNnの経度緯度、住所、又は郵便番号に基づき、ノードNn又は管理サーバMSにより決定される。なお、経度緯度、住所、又は郵便番号は、ノードNnの設置時等のタイミングで例えばユーザによりノードNnに入力され記憶される。或いは、地域情報は、例えば、ノードNn又は管理サーバMSがDNSを利用することにより、ノードNnに割り当てられたIPアドレスに基づき決定される。この場合、地域情報は、DNSによりIPアドレスから変換されたドメイン名に含まれる英数字から決定することができる。また、例えば、ドメイン名に含まれる英数字に地域を示す情報が含まれていない場合など、ノードNnに割り当てられたIPアドレスから地域情報を決定できない場合がある。この場合、地域情報は、ノードNnに近いルータに割り当てられているIPアドレスから決定されるように構成してもよい。ノードNnに近いルータとは、例えば、ノードNnから他のノードNnにパケットを送信したときに最初に中継されるルータである。ノードNnに近いルータのIPアドレスは、ノードNnが公知のtracerouteを実行することで取得できる。また、地域情報は、例えばノードN1から他のノードNnへアクセスしたときのノードNnからの応答速度に基づいて決定されるように構成してもよい。この場合、応答速度が所定速度以上である他のノードNnの地域情報がノードN1の地域情報となる。   Here, the area information indicates an area where the node Nn is installed. In other words, the region indicates the position of the real world. The regional information is represented by, for example, a continent name, a country name, a prefecture name, a municipality name, or an area name or a point name arbitrarily determined by the system operator. The regional information is determined by the node Nn or the management server MS based on, for example, the longitude / latitude, address, or postal code of the node Nn. Note that the longitude / latitude, address, or postal code is input and stored in the node Nn, for example, by the user at the time of installation of the node Nn. Alternatively, the regional information is determined based on the IP address assigned to the node Nn, for example, when the node Nn or the management server MS uses DNS. In this case, the area information can be determined from alphanumeric characters included in the domain name converted from the IP address by DNS. In addition, for example, when the information indicating the region is not included in the alphanumeric characters included in the domain name, the region information may not be determined from the IP address assigned to the node Nn. In this case, the area information may be determined from an IP address assigned to a router close to the node Nn. The router close to the node Nn is, for example, a router that is relayed first when a packet is transmitted from the node Nn to another node Nn. The IP address of the router close to the node Nn can be acquired by the node Nn executing a known traceroute. Further, the area information may be determined based on a response speed from the node Nn when the node N1 accesses another node Nn, for example. In this case, the regional information of the other node Nn whose response speed is equal to or higher than the predetermined speed becomes the regional information of the node N1.

また、ISP情報は、ノードNnがネットワークNWに接続するために利用されるISPを示す。ISP情報は、地域情報と同様、例えば、ノードNn又は管理サーバMSがDNSを利用することにより、ノードNnに割り当てられたIPアドレスに基づき決定される。或いは、ISP情報は、ノードNnの設置時等のタイミングで例えばユーザによりノードNnに入力され記憶される。   The ISP information indicates the ISP used for the node Nn to connect to the network NW. The ISP information is determined based on the IP address assigned to the node Nn, for example, by using the DNS by the node Nn or the management server MS, similarly to the area information. Alternatively, the ISP information is input and stored in the node Nn, for example, by the user at the timing when the node Nn is installed.

また、ノードNnのノード情報、地域情報、及びISP情報は、例えばノードNnがオーバーレイネットワークONへ参加した時にノードNnから送信され管理データベースに登録される。或いは、ノードNnがシステム運営者により設置されるノードNnである場合がある。この場合、ノードNnのノード情報、地域情報、及びISP情報は、例えばシステム運営者の端末から管理データベースに登録される。   The node information, the regional information, and the ISP information of the node Nn are transmitted from the node Nn and registered in the management database when the node Nn participates in the overlay network ON, for example. Alternatively, the node Nn may be a node Nn installed by the system operator. In this case, the node information, the area information, and the ISP information of the node Nn are registered in the management database from the system operator's terminal, for example.

また、動作情報は、ノードNnがルータRmである場合において、このルータRmと同じ拠点ネットワークNLmに接続されている拠点端末Tm−lへコンテンツを提供するための動作が実行中であるか否かを示す。拠点端末Tm−lへコンテンツを提供するための動作を、以下、「拠点動作」という。拠点動作には、ノードNnが拠点端末Tm−lに送信するコンテンツをオーバーレイネットワークONを介してコンテンツ保持ノードから取得する動作が含まれる。この拠点動作には、上述したコンテンツの検索処理を含めてもよい。また、拠点動作には、ノードNnが拠点ネットワークNLmを介してコンテンツを拠点端末Tm−lへ送信する動作が含まれる。動作情報には、ノードNnの負荷情報や帯域情報等の情報が含まれる。負荷情報は、ノードNnのCPU負荷率やメモリ負荷率(%)等を示す。また、帯域情報は、ノードNnがユーザ端末UT等からのコンテンツの要求に応じてコンテンツを送信するために割り当て可能な帯域(bps)を示す。割り当て可能な帯域は、言い換えれば、ノードNnの通信部に接続されている通信回線の有効帯域である。この有効帯域は、ノードNnが速度測定用のサーバ(図示せず)又は所定のノードNnへアクセスしてデータ通信速度を計測することにより算出することができる。また、有効帯域は、通信している通信相手とのセッション数をカウントすることにより算出してもよい。また、コンテンツ保持数情報は、ノードNnが保存しているコンテンツの数を示す。また、ノードNnの動作情報、及びコンテンツ保持数情報は、例えばノードNnがオーバーレイネットワークONへ参加した時、及び、その後所定時間間隔で、ノードNnから送信され管理データベースに登録される。所定時間間隔でノードNnから送信される動作情報、及びコンテンツ保持数情報により、管理データベースに既に登録されている登録情報が更新される。ここで、所定時間間隔とは、例えば数秒間隔である。   The operation information indicates whether or not an operation for providing content to the base terminal Tm-l connected to the same base network NLm as the router Rm is being executed when the node Nn is the router Rm. Indicates. The operation for providing content to the base terminal Tm-l is hereinafter referred to as “base operation”. The base operation includes an operation of acquiring content transmitted from the node Nn to the base terminal Tm-l from the content holding node via the overlay network ON. This base operation may include the above-described content search processing. Further, the base operation includes an operation in which the node Nn transmits content to the base terminal Tm-l via the base network NLm. The operation information includes information such as load information and bandwidth information of the node Nn. The load information indicates a CPU load factor, a memory load factor (%), and the like of the node Nn. The band information indicates a band (bps) that can be allocated for the node Nn to transmit content in response to a content request from the user terminal UT or the like. In other words, the assignable bandwidth is an effective bandwidth of a communication line connected to the communication unit of the node Nn. The effective bandwidth can be calculated by the node Nn accessing a speed measurement server (not shown) or a predetermined node Nn and measuring the data communication speed. Further, the effective bandwidth may be calculated by counting the number of sessions with the communication partner with which communication is performed. The content holding number information indicates the number of contents stored in the node Nn. Further, the operation information and the content holding number information of the node Nn are transmitted from the node Nn and registered in the management database, for example, when the node Nn participates in the overlay network ON and thereafter at a predetermined time interval. The registration information already registered in the management database is updated with the operation information and content holding number information transmitted from the node Nn at predetermined time intervals. Here, the predetermined time interval is, for example, an interval of several seconds.

なお、ノードNnがオーバーレイネットワークONから脱退した場合、脱退を示す情報がノードNnから管理サーバMSに送信される。その結果、脱退したノードNnのノード情報等は管理データベースから削除される。或いは、脱退したノードNnのノード情報等に対応付けられて脱退を示す情報が管理データベースに登録されるように構成してもよい。   When the node Nn withdraws from the overlay network ON, information indicating withdrawal is transmitted from the node Nn to the management server MS. As a result, the node information and the like of the withdrawn node Nn are deleted from the management database. Alternatively, information indicating withdrawal may be registered in the management database in association with the node information of the node Nn that has withdrawn.

通信部23は、ネットワークNWを通じてWebサーバWS、ユーザ端末UT、又はルータRm等との間の通信制御を行う。   The communication unit 23 performs communication control with the Web server WS, the user terminal UT, the router Rm, or the like through the network NW.

制御部21は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。また、制御部21は、時計機能及びタイマ機能を備える。そして、制御部21は、CPUが記憶部22等に記憶されたサーバプログラムの実行により、ノードNnから動作情報、負荷情報、帯域情報、及びコンテンツ保持数情報等を収集する処理を行う。また、制御部21は、収集した情報を管理データベースへ登録する処理を行う。さらに、制御部21は、管理データベースに登録された登録情報をWebサーバWSへ送信する処理を行う。なお、管理データベースに登録された登録情報は、例えば、定期的、又はWebサーバWSから要求があった時にWebサーバWSへ送信される。   The control unit 21 includes a CPU having a calculation function, a working RAM, a ROM, and the like. The control unit 21 has a clock function and a timer function. Then, the control unit 21 performs a process of collecting operation information, load information, bandwidth information, content holding number information, and the like from the node Nn by executing a server program stored in the storage unit 22 or the like by the CPU. In addition, the control unit 21 performs processing for registering the collected information in the management database. Furthermore, the control unit 21 performs a process of transmitting registration information registered in the management database to the Web server WS. Note that the registration information registered in the management database is transmitted to the Web server WS, for example, periodically or when a request is received from the Web server WS.

4.ルータRmの構成及び機能
次に、図2(C)を参照して、ルータRmの構成及び機能について説明する。図2(C)は、ルータRmの概要構成例を示すブロック図である。ルータRmは、図2(C)に示すように、制御部31、バッファメモリ32、記憶部33、通信部34a、及び通信部34b等を備えて構成される。制御部31、バッファメモリ32、記憶部33、通信部34a、及び通信部34bはバス35を介して相互に接続されている。
[ 4. Configuration and function of router Rm ]
Next, the configuration and function of the router Rm will be described with reference to FIG. FIG. 2C is a block diagram illustrating a schematic configuration example of the router Rm. As illustrated in FIG. 2C, the router Rm includes a control unit 31, a buffer memory 32, a storage unit 33, a communication unit 34a, a communication unit 34b, and the like. The control unit 31, the buffer memory 32, the storage unit 33, the communication unit 34a, and the communication unit 34b are connected to each other via a bus 35.

バッファメモリ32は、通信部34aを介して受信されたコンテンツを一時的に蓄積する。   The buffer memory 32 temporarily accumulates content received via the communication unit 34a.

記憶部33は、例えばハードディスクドライブ等から構成される。記憶部33には、オペレーティングシステム、IPパケット中継処理プログラム、HTTPサーバプログラム、及びP2Pプログラム等が記憶されている。また、記憶部33には、オーバーレイネットワークONで使用されるDHTを用いたルーティングテーブル等が記憶される。なお、DHTを用いたルーティングテーブルは、オーバーレイネットワークONへの参加により生成される。また、記憶部33に設けられたコンテンツ保存領域には、コンテンツが記憶される。また、コンテンツが複数のファイルから構成される場合がある。この場合、例えば、各ファイルが一つのコンテンツとしてオーバーレイネットワークONに参加している複数のノードNnに分散保存される。そのため、一つのノードNnの記憶部33には、コンテンツを構成する複数のファイルの中の一つのファイルが記憶される場合もある。例えば、コンテンツが、第1の動画ファイル、第2の動画ファイル、及び制御ファイルから構成されるとする。この場合、第1の動画ファイルは、例えばノードN1の記憶部33に保存される。また、第2の動画ファイルは、例えばノードN2の記憶部33に保存される。また、制御ファイルは、例えばノードN3の記憶部33に保存される。なお、このようにコンテンツとして分散保存された各ファイルには、夫々固有のコンテンツIDが付与されている。   The storage unit 33 is composed of, for example, a hard disk drive. The storage unit 33 stores an operating system, an IP packet relay processing program, an HTTP server program, a P2P program, and the like. In addition, the storage unit 33 stores a routing table using DHT used for overlay network ON. Note that the routing table using DHT is generated by participating in the overlay network ON. In addition, the content is stored in the content storage area provided in the storage unit 33. In some cases, the content is composed of a plurality of files. In this case, for example, each file is distributed and stored in a plurality of nodes Nn participating in the overlay network ON as one content. For this reason, the storage unit 33 of one node Nn may store one file among a plurality of files constituting the content. For example, it is assumed that the content includes a first moving image file, a second moving image file, and a control file. In this case, the first moving image file is stored in the storage unit 33 of the node N1, for example. Further, the second moving image file is stored in the storage unit 33 of the node N2, for example. Further, the control file is stored in the storage unit 33 of the node N3, for example. A unique content ID is assigned to each file distributed and stored as content.

通信部34aは、ネットワークNWを通じて他のルータRm、WebサーバWS、管理サーバMS、又はユーザ端末UT等との間の通信制御を行う。通信部34bは、拠点ネットワークNLmを通じて視聴端末Tm−lとの間の通信制御を行う。   The communication unit 34a performs communication control with another router Rm, the Web server WS, the management server MS, the user terminal UT, or the like through the network NW. The communication unit 34b performs communication control with the viewing terminal Tm-l through the base network NLm.

制御部31は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部31は、上述した拠点動作を制御する制御手段の一例である。また、制御部31は、CPUが記憶部33等に記憶されたIPパケット中継処理プログラムの実行により、IPパケット中継処理部31aとして動作する。IPパケット中継処理部31aは、OSI(Open Systems Interconnection)参照モデルの第3層であるネットワーク層において、他のルータ又はホストからのIPパケットを中継する処理を行う。なお、IPパケット中継処理部31aの機能は、公知のルータ又はL3スイッチングハブ等と同様であるので、詳しい説明を省略する。また、制御部31は、CPUが記憶部33等に記憶されたHTTPサーバプログラムの実行によりHTTPサーバ部31bとして動作する。このHTTPサーバ部31bにより、ルータRmは、HTTPサーバとして機能する。また、制御部31は、CPUが記憶部33等に記憶されたP2Pプログラムの実行により、ノード処理部31cとして動作する。このノード処理部31cにより、ルータRmは、ノードNnとしても機能する。なお、IPパケット中継処理部31a、HTTPサーバ部31b、及びノード処理部31cの処理は、1つのCPUがマルチタスク又はマルチコアにより実行される。或いは、IPパケット中継処理部31a、HTTPサーバ部31b、及びノード処理部31cの処理は、2以上のCPUで夫々のCPUにより実行されるように構成してもよい。
5.コンテンツ配信システムSの動作
次に、図3を参照して、本実施形態に係るコンテンツ配信システムSの動作について説明する。図3は、コンテンツのリクエストを行ったユーザ端末UTへコンテンツが提供されるまでの各装置の処理等を示すシーケンス図である。なお、以下に説明する動作において、WebサーバWSではHTTPサーバプログラム及びP2Pプログラムが起動されているものとする。また、WebサーバWSのP2Pプログラムの起動により、WebサーバWSはノードNnとしてオーバーレイネットワークONに参加する。また、ルータRmではHTTPサーバプログラム及びP2Pプログラムが起動されているものとする。また、WebサーバWSのP2Pプログラムの起動により、ルータRmはノードNnとしてオーバーレイネットワークONに参加する。
The control unit 31 includes a CPU having a calculation function, a working RAM, a ROM, and the like. The control unit 31 is an example of a control unit that controls the above-described base operation. Further, the control unit 31 operates as the IP packet relay processing unit 31a by the execution of the IP packet relay processing program stored in the storage unit 33 or the like by the CPU. The IP packet relay processing unit 31a performs processing for relaying IP packets from other routers or hosts in the network layer, which is the third layer of the OSI (Open Systems Interconnection) reference model. Since the function of the IP packet relay processing unit 31a is the same as that of a known router or L3 switching hub, detailed description thereof is omitted. Further, the control unit 31 operates as the HTTP server unit 31b by the execution of the HTTP server program stored in the storage unit 33 or the like by the CPU. With this HTTP server unit 31b, the router Rm functions as an HTTP server. Further, the control unit 31 operates as the node processing unit 31c by the execution of the P2P program stored in the storage unit 33 or the like by the CPU. By this node processing unit 31c, the router Rm also functions as a node Nn. The processing of the IP packet relay processing unit 31a, the HTTP server unit 31b, and the node processing unit 31c is executed by a single CPU by multitasking or multicore. Alternatively, the processes of the IP packet relay processing unit 31a, the HTTP server unit 31b, and the node processing unit 31c may be configured to be executed by two or more CPUs.
[ 5. Operation of Content Distribution System S ]
Next, the operation of the content distribution system S according to the present embodiment will be described with reference to FIG. FIG. 3 is a sequence diagram illustrating processing of each device until content is provided to the user terminal UT that has requested the content. In the operation described below, it is assumed that the HTTP server program and the P2P program are activated on the Web server WS. Further, when the P2P program of the Web server WS is activated, the Web server WS participates in the overlay network ON as the node Nn. Further, it is assumed that the HTTP server program and the P2P program are activated in the router Rm. Further, when the P2P program of the Web server WS is activated, the router Rm participates in the overlay network ON as the node Nn.

図3において、ユーザ端末UTのWebブラウザは、WebサーバWSにHTTPプロトコルを利用してアクセスする。そして、ユーザ端末UTのWebブラウザは、例えばユーザにより指定されたコンテンツXのリクエストをWebサーバWSへ送信する(ステップS1)。このリクエストは、例えばコンテンツ視聴用のWebページの要求を示すHTTPリクエストである。   In FIG. 3, the Web browser of the user terminal UT accesses the Web server WS using the HTTP protocol. Then, the web browser of the user terminal UT transmits, for example, a request for the content X designated by the user to the web server WS (step S1). This request is, for example, an HTTP request indicating a request for a web page for viewing content.

一方、WebサーバWSのHTTPサーバ部11aは、ユーザ端末UTからのリクエストを受信すると、このリクエストに対応するコンテンツXのURLが記述されたWebページを記憶部12から取得する(ステップS2)。次いで、HTTPサーバ部11aは、取得したWebページに含まれるコンテンツXのURLを抽出する(ステップS3)。次いで、HTTPサーバ部11aは、コンテンツXの取得先をノード処理部11bに問い合わせる(ステップS4)。具体的には、HTTPサーバ部11aは、ノード処理部11bがアクセス可能なRAMの所定の記憶領域に、問い合わせコマンドを記憶する。この問い合わせコマンドには、ステップS4で抽出されたURLが付加されている。   On the other hand, when receiving the request from the user terminal UT, the HTTP server unit 11a of the Web server WS acquires a Web page in which the URL of the content X corresponding to the request is described from the storage unit 12 (Step S2). Next, the HTTP server unit 11a extracts the URL of the content X included in the acquired web page (step S3). Next, the HTTP server unit 11a inquires of the node processing unit 11b about the acquisition destination of the content X (step S4). Specifically, the HTTP server unit 11a stores an inquiry command in a predetermined storage area of a RAM accessible by the node processing unit 11b. The URL extracted in step S4 is added to this inquiry command.

次いで、WebサーバWSのノード処理部11bは、HTTPサーバ部11aからの問い合わせを受けると、コンテンツXの検索処理を行う(ステップS5)。このコンテンツXの検索処理は、受信されたリクエストに対応するコンテンツXの検索処理である。このコンテンツXの検索処理において、ノード処理部11bは、問い合わせコマンドに付加されたURLに対応するコンテンツIDを取得する。コンテンツIDは、例えばオーバーレイネットワークONで配信されるコンテンツXのURLとコンテンツIDとを対応付けた対応付けテーブルから取得できる。この場合、対応付けテーブルは記憶部12に予め記憶される。或いは、コンテンツIDは、オーバーレイネットワークONで共通のハッシュ関数でコンテンツXのURLをハッシュ化することにより取得されてもよい。そして、ノード処理部11bは、取得したコンテンツIDを含むコンテンツ所在問合せメッセージを、DHTルーティングによりルートノード宛に送信する。その結果、ノード処理部11bは、上述したように、コンテンツXのルートノードからインデックス情報を検索結果として取得する。つまり、ノード処理部11bは、コンテンツXの検索処理により、リクエストに対応するコンテンツXを保存するコンテンツ保持ノードをオーバーレイネットワークONから発見する。   Next, upon receiving an inquiry from the HTTP server unit 11a, the node processing unit 11b of the Web server WS performs a content X search process (step S5). This content X search process is a search process of content X corresponding to the received request. In the content X search process, the node processing unit 11b acquires a content ID corresponding to the URL added to the inquiry command. The content ID can be acquired from, for example, an association table in which the URL of the content X distributed by overlay network ON and the content ID are associated with each other. In this case, the association table is stored in the storage unit 12 in advance. Alternatively, the content ID may be acquired by hashing the URL of the content X with a hash function common to the overlay network ON. Then, the node processing unit 11b transmits a content location inquiry message including the acquired content ID to the root node by DHT routing. As a result, the node processing unit 11b acquires index information as a search result from the root node of the content X as described above. That is, the node processing unit 11b finds the content holding node that stores the content X corresponding to the request from the overlay network ON by the content X search processing.

また、本実施形態では、インデックス情報には、検索されたコンテンツ保持ノードのノード情報に対応する最終提供日付情報が含まれている。最終提供日付情報は、本発明における提供情報とアクセス情報の一例である。この最終提供日付情報は、コンテンツ保持ノードがユーザ端末UTへコンテンツXを提供した直近の日付を示す。ここで、コンテンツXの提供は、(1)コンテンツ保持ノードがユーザ端末UTへコンテンツXをアップロードすること、及び、(2)ユーザ端末UTが、コンテンツ保持ノードからコンテンツXをダウンロードすること、を含む。或いは、この最終提供日付情報は、コンテンツXのコンテンツ保持ノードのノード情報を含むインデックス情報がルートノードからユーザ端末UTへ提供された直近の日付を示すものであってもよい。或いは、この最終提供日付情報は、コンテンツ保持ノードがユーザ端末UTからアクセスされた直近の日付を示すものであってもよい。なお、本実施形態において、最終提供日付には年月日及び時刻が含まれるが、時刻のみであってもよい。そして、例えば、コンテンツ保持ノードがユーザ端末UTへコンテンツXをアップロードした場合、アップロードメッセージがそのコンテンツXのルートノード宛に送信される。アップロードメッセージとは、ユーザ端末UTへコンテンツXをアップロードしたことを示すメッセージである。このアップロードメッセージには、コンテンツ保持ノードのノード情報、及びコンテンツXがアップロードされた日付を示す日付情報が含まれる。これにより、アップロードメッセージを受信したルートノードは、このメッセージに含まれる日付情報を、このメッセージの送信元であるコンテンツ保持ノードのノード情報に対応付けて最終提供日付情報として記憶する。また、既に同じコンテンツ保持ノードの最終提供日付情報が記憶されている場合がある。この場合、アップロードメッセージに含まれる日付情報により最終提供日付情報が更新される。なお、日付情報に示される日付は、ルートノードがアップロードメッセージを受信した日付であってもよい。   In the present embodiment, the index information includes the last provided date information corresponding to the node information of the searched content holding node. The final provision date information is an example of provision information and access information in the present invention. This final provision date information indicates the latest date when the content holding node provided the content X to the user terminal UT. Here, provision of the content X includes (1) the content holding node uploads the content X to the user terminal UT, and (2) the user terminal UT downloads the content X from the content holding node. . Alternatively, the final provision date information may indicate the latest date when the index information including the node information of the content holding node of the content X is provided from the root node to the user terminal UT. Alternatively, the last provided date information may indicate the latest date when the content holding node is accessed from the user terminal UT. In the present embodiment, the date and time are included in the final provision date, but only the time may be used. For example, when the content holding node uploads the content X to the user terminal UT, an upload message is transmitted to the root node of the content X. The upload message is a message indicating that the content X has been uploaded to the user terminal UT. This upload message includes node information of the content holding node and date information indicating the date when the content X was uploaded. As a result, the root node that has received the upload message stores the date information included in this message as the last provided date information in association with the node information of the content holding node that is the transmission source of this message. In addition, the last provision date information of the same content holding node may already be stored. In this case, the last provided date information is updated with the date information included in the upload message. The date indicated in the date information may be a date when the root node receives the upload message.

また、最終提供日付情報は、ルートノードに記憶されるのではなく、WebサーバWSに記憶されるように構成してもよい。例えば、WebサーバWSは、後述するステップS10で、ユーザ端末UTに紹介するコンテンツ保持ノードのIPアドレスが記述されたWebページをユーザ端末UTへ送信する。このとき、WebサーバWSは、Webページを送信した日付を示す日付情報を最終提供日付情報として、ユーザ端末UTからのリクエストに対応するコンテンツXのコンテンツID、及びユーザ端末UTに紹介するコンテンツ保持ノードのノード情報の組に対応付けて記憶する。これにより、WebサーバWSのノード処理部11bは、コンテンツXの検索処理により検索されたコンテンツ保持ノードのノード情報に対応する最終提供日付情報を取得することができる。この場合、最終提供日付情報は、ユーザ端末UTに紹介するコンテンツ保持ノードがユーザ端末UTへコンテンツXをアップロードすると看做した日付のうち直近の日付を示す。   The last provision date information may be stored in the Web server WS instead of being stored in the root node. For example, the Web server WS transmits a Web page in which the IP address of the content holding node introduced to the user terminal UT is described to the user terminal UT in Step S10 described later. At this time, the Web server WS uses the date information indicating the date when the Web page is transmitted as the final provision date information, and the content ID of the content X corresponding to the request from the user terminal UT and the content holding node introduced to the user terminal UT The node information is stored in association with each other. Thereby, the node processing unit 11b of the Web server WS can acquire the last provided date information corresponding to the node information of the content holding node searched by the content X search processing. In this case, the last provided date information indicates the latest date among the dates that the content holding node introduced to the user terminal UT considers to upload the content X to the user terminal UT.

次いで、ノード処理部11bは、コンテンツXの検索処理による検索結果に基づいて、Webページに記述するノードNnのIPアドレスを決定する決定処理を行う(ステップS6)。図4(A)は、IPアドレスの決定処理の一例を示すフローチャートである。図5は、コンテンツXの検索処理による検索結果の一例を示す図である。また、図5では、発見されたコンテンツ保持ノードの数が互いに異なる3つの検索結果が(A)〜(C)に示されている。また、図5(A)〜(C)に示す各検索結果には、発見されたコンテンツ保持ノードのノード情報と最終提供日付情報が、最終提供日付情報に示される日付の新しい順に並べられている。このような検索結果は、ノード処理部11bにより、RAMの所定の記憶領域に記憶される。なお、検索結果に示されるコンテンツ保持ノードの中には、未だユーザ端末UTへコンテンツXをアップロードしてないコンテンツ保持ノードが含まれる場合がある。このようなコンテンツ保持ノードのノード情報には、最終提供日付情報が対応付けられていない。   Next, the node processing unit 11b performs determination processing for determining the IP address of the node Nn to be described in the Web page based on the search result by the content X search processing (step S6). FIG. 4A is a flowchart illustrating an example of IP address determination processing. FIG. 5 is a diagram illustrating an example of a search result obtained by the content X search process. Also, in FIG. 5, three search results with different numbers of found content holding nodes are shown in (A) to (C). Also, in each search result shown in FIGS. 5A to 5C, the node information and the last provided date information of the found content holding nodes are arranged in the order of the date indicated in the last provided date information. . Such a search result is stored in a predetermined storage area of the RAM by the node processing unit 11b. Note that the content holding nodes indicated in the search result may include content holding nodes that have not yet uploaded the content X to the user terminal UT. The node information of such a content holding node is not associated with the last provision date information.

図4(A)に示すIPアドレスの決定処理では、適正キャッシュ数、適正キャッシュ保持時間、及び適正キャッシュ紹介時間というパラメータが用いられる。ここで、適正キャッシュ数とは、オーバーレイネットワークONで、1つのコンテンツに対して保持すべきコンテンツ保持ノードの数をいう。また、適正キャッシュ保持時間とは、オーバーレイネットワークONで、1つのコンテンツを保存したコンテンツ保持ノードがそのコンテンツを最低限保持すべき時間をいう。つまり、適正キャッシュ保持時間は、コンテンツのリクエストの数がピークを超えた後、このコンテンツを保存するコンテンツ保持ノードの数を急激に減らさないために最低限保持すべき時間である。また、適正キャッシュ紹介時間とは、オーバーレイネットワークONで、1つのコンテンツを保存するコンテンツ保持ノードが紹介されてから、そのコンテンツを保存するコンテンツ保持ノードが次に紹介されるまでに最低限経過すべき時間をいう。なお、適正キャッシュ数、適正キャッシュ保持時間、及び適正キャッシュ紹介時間の各パラメータは、P2Pプログラム用の設定ファイルに格納され記憶部12に記憶される。そして、P2Pプログラムの起動時に、ノード処理部11bにより、設定ファイルから各パラメータがRAMの所定の記憶領域に読み込まれて設定される。   In the IP address determination process shown in FIG. 4A, parameters such as an appropriate number of caches, an appropriate cache holding time, and an appropriate cache introduction time are used. Here, the appropriate number of caches refers to the number of content holding nodes to be held for one content when the overlay network is ON. In addition, the appropriate cache holding time refers to a time during which the content holding node storing one content should hold the content at a minimum when the overlay network is ON. That is, the appropriate cache holding time is a time that should be held at a minimum after the number of content requests exceeds the peak so as not to rapidly reduce the number of content holding nodes that store the content. In addition, the appropriate cache introduction time should be a minimum from the introduction of a content holding node that stores one content to the next introduction of the content holding node that stores the content in the overlay network ON. Say time. Each parameter of the appropriate number of caches, the appropriate cache holding time, and the appropriate cache introduction time is stored in the storage unit 12 and stored in the setting file for the P2P program. When the P2P program is activated, each parameter is read from the setting file into a predetermined storage area of the RAM and set by the node processing unit 11b.

図4(A)に示すIPアドレスの決定処理において、ノード処理部11bは、インデックス情報に示される検索結果数と上記適正キャッシュ数とを比較し、適正キャッシュ数より検索結果数が少ないか否かを判定する(ステップS61)。この判定は、所在情報の数が所定数以下であるか否かの判定の一例である。ここで、検索結果数は、インデックス情報に示されるコンテンツ保持ノードの数である。そして、ノード処理部11bは、適正キャッシュ数より検索結果数が少なくないと判定した場合には(ステップS61:NO)、ステップS62に進む。図5(B),(C)に示す検索結果例では、適正キャッシュ数より検索結果数が多いので、ステップS62に進む。一方、ノード処理部11bは、適正キャッシュ数より検索結果数が少ないと判定した場合には(ステップS61:YES)、ステップS64に進む。図5(A)に示す検索結果例では、適正キャッシュ数より検索結果数が少ないので、ステップS64に進む。適正キャッシュ数より検索結果数が少ない場合、コンテンツXが不足しているのでコンテンツ保持ノードの数を増やす必要がある。そのため、後述するステップS65で、ユーザ端末UTへ紹介するノードNnのIPアドレスとして、コンテンツXを保存していないノードNnのIPアドレスが決定される。   In the IP address determination process shown in FIG. 4A, the node processing unit 11b compares the number of search results indicated in the index information with the appropriate cache number, and determines whether the number of search results is less than the appropriate cache number. Is determined (step S61). This determination is an example of whether or not the number of location information is equal to or less than a predetermined number. Here, the number of search results is the number of content holding nodes indicated in the index information. If the node processing unit 11b determines that the number of search results is not smaller than the appropriate cache number (step S61: NO), the process proceeds to step S62. In the search result examples shown in FIGS. 5B and 5C, the number of search results is larger than the appropriate number of caches, so the process proceeds to step S62. On the other hand, if the node processing unit 11b determines that the number of search results is less than the appropriate number of caches (step S61: YES), the node processing unit 11b proceeds to step S64. In the search result example shown in FIG. 5A, since the number of search results is smaller than the appropriate cache number, the process proceeds to step S64. When the number of search results is smaller than the appropriate cache number, the content X is insufficient, so the number of content holding nodes needs to be increased. Therefore, in step S65 described later, the IP address of the node Nn not storing the content X is determined as the IP address of the node Nn introduced to the user terminal UT.

ステップS62では、ノード処理部11bは、検索結果中に示される最終提供日付のうちで最も古い最終提供日付から、時計機能により取得された現在日付までの経過時間を算出する。図5に示す例では、日付は年月日及び時刻も含むが、時刻のみであってもよい。この場合、検索結果中に示される最終提供時刻のうちで最も古い最終提供時刻から、時計機能により取得された現在時刻までの経過時間が算出される。次いで、ノード処理部11bは、ステップS62で算出された経過時間と上記適正キャッシュ紹介時間とを比較し、適正キャッシュ紹介時間より経過時間が短いか否かを判定する(ステップS63)。そして、ノード処理部11bは、適正キャッシュ紹介時間より経過時間が短いと判定した場合には(ステップS63:YES)、ステップS64に進む。図5(B)に示す検索結果例では、適正キャッシュ紹介時間より経過時間が短いので、ステップS64に進む。適正キャッシュ紹介時間より経過時間が短い場合、コンテンツXのリクエストが短時間に急増していると考えられる。この場合、コンテンツXが不足しているのでコンテンツ保持ノードの数を増やす必要がある。そのため、後述するステップS65で、ユーザ端末UTへ紹介するノードNnのIPアドレスとして、コンテンツXを保存していないノードNnのIPアドレスが決定される。   In step S62, the node processing unit 11b calculates the elapsed time from the oldest last provided date among the last provided dates shown in the search result to the current date acquired by the clock function. In the example shown in FIG. 5, the date includes the date and time, but may be only the time. In this case, the elapsed time from the oldest last provided time among the last provided times indicated in the search result to the current time acquired by the clock function is calculated. Next, the node processing unit 11b compares the elapsed time calculated in step S62 with the appropriate cache introduction time, and determines whether or not the elapsed time is shorter than the appropriate cache introduction time (step S63). When the node processing unit 11b determines that the elapsed time is shorter than the appropriate cache introduction time (step S63: YES), the node processing unit 11b proceeds to step S64. In the search result example shown in FIG. 5B, since the elapsed time is shorter than the appropriate cache introduction time, the process proceeds to step S64. When the elapsed time is shorter than the appropriate cache introduction time, it is considered that the requests for the content X are rapidly increasing in a short time. In this case, since the content X is insufficient, it is necessary to increase the number of content holding nodes. Therefore, in step S65 described later, the IP address of the node Nn not storing the content X is determined as the IP address of the node Nn introduced to the user terminal UT.

なお、上記ステップS63で、ノード処理部11bは、所定期間内に最終提供日付または時刻が含まれているコンテンツ保持ノードの数が所定数以上であるか否かを判定するように構成してもよい。ここで、所定期間は、例えば、現在日時から適正キャッシュ紹介時間遡った期間である。また、所定数は、例えば、適正キャッシュ数である。そして、ノード処理部11bは、所定期間内に最終提供日付または時刻が含まれているコンテンツ保持ノードの数が所定数以上であると判定した場合には、ステップS64に進む。この場合、コンテンツXのリクエストが短時間に急増していると考えられるためである。一方、ノード処理部11bは、所定期間内に最終提供日付または時刻が含まれているコンテンツ保持ノードの数が所定数以上でないと判定した場合には、ステップS66に進む。   In step S63, the node processing unit 11b may be configured to determine whether or not the number of content holding nodes whose final provision date or time is included within a predetermined period is greater than or equal to a predetermined number. Good. Here, the predetermined period is, for example, a period retroactive to the appropriate cache introduction time from the current date and time. The predetermined number is, for example, the appropriate number of caches. If the node processing unit 11b determines that the number of content holding nodes whose final provision date or time is included within a predetermined period is greater than or equal to the predetermined number, the process proceeds to step S64. This is because requests for content X are considered to increase rapidly in a short time. On the other hand, if the node processing unit 11b determines that the number of content holding nodes whose final provision date or time is included within a predetermined period is not equal to or greater than the predetermined number, the process proceeds to step S66.

一方、ノード処理部11bは、適正キャッシュ紹介時間より経過時間が短くないと判定した場合には(ステップS63:NO)、ステップS66に進む。図5(B)に示す検索結果例では、適正キャッシュ紹介時間より経過時間が長いので、ステップS66に進む。なお、検索結果に示されるコンテンツ保持ノードの中には、最終提供日付情報が対応付けられていないコンテンツ保持ノードが含まれている場合がある。この場合、上記ステップS63の処理が行われずに処理はステップS66に進む。   On the other hand, when the node processing unit 11b determines that the elapsed time is not shorter than the appropriate cache introduction time (step S63: NO), the process proceeds to step S66. In the example of the search result shown in FIG. 5B, since the elapsed time is longer than the appropriate cache introduction time, the process proceeds to step S66. Note that the content holding node indicated in the search result may include a content holding node that is not associated with the final provision date information. In this case, the process of step S63 is not performed, and the process proceeds to step S66.

ステップS64では、ノード処理部11bは、管理サーバMSから管理データベースに登録された登録情報を取得しRAMの所定の記憶領域に記憶する。   In step S64, the node processing unit 11b acquires registration information registered in the management database from the management server MS and stores it in a predetermined storage area of the RAM.

次いで、ノード処理部11bは、管理サーバMSから取得された登録情報の中から、リクエストに対応するコンテンツXを保存していないノードNnの登録情報を抽出する。例えば、コンテンツXの検索処理による検索結果に示されるコンテンツ保持ノード以外の複数のノードNnの登録情報が抽出される。図5(D)は、検索結果に示されるコンテンツ保持ノード以外の複数のノードNnの登録情報の一例を示す図である。そして、ノード処理部11bは、抽出した各ノードNnの登録情報に含まれるIPアドレスのうち、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを、Webページに記述するIPアドレスとして1つ決定する(ステップS65)。ここで、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを決定する方法の例としては、以下の(a)〜(g)の方法が挙げられる。   Next, the node processing unit 11b extracts registration information of the node Nn that does not store the content X corresponding to the request from the registration information acquired from the management server MS. For example, registration information of a plurality of nodes Nn other than the content holding node indicated in the search result of the content X search process is extracted. FIG. 5D is a diagram illustrating an example of registration information of a plurality of nodes Nn other than the content holding node indicated in the search result. Then, the node processing unit 11b selects one IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT as an IP address described in the Web page, among the IP addresses included in the extracted registration information of each node Nn. Determine (step S65). Here, examples of the method for determining the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT include the following methods (a) to (g).

(a)地域情報を用いた決定
地域情報を用いた決定方法の場合、ノード処理部11bは、ユーザ端末UTが設置される地域を示す地域情報を取得する。ユーザ端末UTの地域情報を、以下、「第1地域情報」という。また、ノード処理部11bは、ノードNnが設置される地域を示す地域情報を取得する。ノードNnの地域情報を、以下、「第2地域情報」という。この場合、第2地域情報は、管理サーバMSから取得された登録情報の中から抽出された登録情報であって、コンテンツXを保存していない各ノードNnの登録情報の中から取得される。この登録情報の中でコンテンツXを保存していないノードNnのノードIDは、コンテンツXの検索処理による検索結果中に示されていない。一方、第1地域情報は、例えば、ユーザ端末UTに割り当てられたIPアドレスに基づき決定される。このIPアドレスは、ユーザ端末UTから受信されたリクエスト中に含まれる。また、ユーザ端末UTに割り当てられたIPアドレスから第1地域情報を決定できない場合がある。この場合、第1地域情報は、ユーザ端末UTに近いルータに割り当てられているIPアドレスから決定されるように構成してもよい。ユーザ端末UTに近いルータとは、例えば、ユーザ端末UTからWebサーバWS等にパケットを送信したときに最初に中継されるルータである。ユーザ端末UTに近いルータのIPアドレスは、ユーザ端末UTが公知のtracerouteを実行することで取得できる。また、ノード処理部11bがユーザ端末UTから経度緯度、住所、又は郵便番号の情報を取得できる場合がある。この場合、第1地域情報は、経度緯度、住所、又は郵便番号に基づき決定されてもよい。第1地域情報は、例えばユーザ端末UTからノードNnへアクセスしたときのノードNnからの応答速度に基づいて決定されるように構成してもよい。この場合、応答速度が所定速度以上であるノードNnの第2地域情報がユーザ端末UTの第1地域情報となる。
(A) Determination Using Area Information In the case of a determination method using area information, the node processing unit 11b acquires area information indicating an area where the user terminal UT is installed. The area information of the user terminal UT is hereinafter referred to as “first area information”. In addition, the node processing unit 11b acquires area information indicating an area where the node Nn is installed. The area information of the node Nn is hereinafter referred to as “second area information”. In this case, the second area information is registration information extracted from the registration information acquired from the management server MS, and is acquired from the registration information of each node Nn that does not store the content X. The node ID of the node Nn that does not store the content X in the registration information is not shown in the search result by the content X search process. On the other hand, the first area information is determined based on, for example, an IP address assigned to the user terminal UT. This IP address is included in the request received from the user terminal UT. Further, the first area information may not be determined from the IP address assigned to the user terminal UT. In this case, the first area information may be determined from an IP address assigned to a router close to the user terminal UT. The router close to the user terminal UT is, for example, a router that is relayed first when a packet is transmitted from the user terminal UT to the Web server WS or the like. The IP address of the router close to the user terminal UT can be acquired by the user terminal UT executing a known traceroute. In some cases, the node processing unit 11b can acquire information on longitude / latitude, address, or postal code from the user terminal UT. In this case, the first area information may be determined based on longitude / latitude, address, or zip code. For example, the first area information may be determined based on a response speed from the node Nn when the user terminal UT accesses the node Nn. In this case, the second area information of the node Nn whose response speed is equal to or higher than the predetermined speed becomes the first area information of the user terminal UT.

そして、ノード処理部11bは、取得された第1地域情報と第2地域情報に基づいて、コンテンツXを保存していない各ノードNnのIPアドレスの中から、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを決定する。具体的には、ノード処理部11bは、ユーザ端末UTが設置される地域と、コンテンツXを保存していない各ノードNnが設置される地域とを比較する。そして、ノード処理部11bは、ユーザ端末UTと同じ地域に設置されるノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。つまり、ユーザ端末UTと同じ地域に設置されるノードNnのIPアドレスが、その他のノードNnのIPアドレスよりも優先的に決定される。言い換えれば、ユーザ端末UTが設置される地点からの距離が最も近い地点に設置されるノードNnのIPアドレスが、ユーザ端末UTへ紹介する条件を満たすIPアドレスとして優先的に決定される。その結果、ユーザ端末UTからの距離が近いノードNnのIPアドレスを、ユーザ端末UTへ紹介することができる。そのため、ユーザ端末UTとノードNnとの間でデータの送受信に要する時間を短縮することができる。したがって、ユーザ端末UTは、紹介されたノードNnから迅速にコンテンツXを取得することが可能となる。なお、ユーザ端末UTと同じ地域に設置されるノードNnがない場合も想定される。この場合、ノード処理部11bは、ユーザ端末UTが設置される地域と最も近い地域に設置されるノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定してもよい。   Then, the node processing unit 11b satisfies the condition to be introduced to the user terminal UT from the IP address of each node Nn that does not store the content X, based on the acquired first region information and second region information. The IP address of the node Nn is determined. Specifically, the node processing unit 11b compares the area where the user terminal UT is installed with the area where each node Nn not storing the content X is installed. Then, the node processing unit 11b determines the IP address of the node Nn installed in the same area as the user terminal UT as the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT. That is, the IP address of the node Nn installed in the same area as the user terminal UT is determined with priority over the IP addresses of the other nodes Nn. In other words, the IP address of the node Nn installed at the point closest to the point where the user terminal UT is installed is preferentially determined as the IP address that satisfies the condition to be introduced to the user terminal UT. As a result, the IP address of the node Nn that is close to the user terminal UT can be introduced to the user terminal UT. Therefore, the time required for data transmission / reception between the user terminal UT and the node Nn can be shortened. Therefore, the user terminal UT can quickly acquire the content X from the introduced node Nn. It is assumed that there is no node Nn installed in the same area as the user terminal UT. In this case, the node processing unit 11b determines the IP address of the node Nn installed in the area closest to the area where the user terminal UT is installed as the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT. Also good.

(b)ISP情報を用いた決定
ISP情報を用いた決定方法の場合、ノード処理部11bは、ユーザ端末UTがネットワークNWに接続するために利用されるISPを示すISP情報を取得する。ユーザ端末UTのISP情報を、以下、「第1ISP情報」という。また、ノード処理部11bは、ノードNnがネットワークNWに接続するために利用されるISPを示すISP情報を取得する。ノードNnのISP情報を、以下、「第2ISP情報」という。この場合、第2ISP情報は、管理サーバMSから取得された登録情報の中から抽出された登録情報であって、コンテンツXを保存していない各ノードNnの登録情報の中から取得される。一方、第1ISP情報は、例えば、第1地域情報と同様、ユーザ端末UTに割り当てられたIPアドレスに基づき決定される。
(B) Determination Using ISP Information In the case of a determination method using ISP information, the node processing unit 11b acquires ISP information indicating an ISP used for the user terminal UT to connect to the network NW. The ISP information of the user terminal UT is hereinafter referred to as “first ISP information”. In addition, the node processing unit 11b acquires ISP information indicating an ISP used for the node Nn to connect to the network NW. The ISP information of the node Nn is hereinafter referred to as “second ISP information”. In this case, the second ISP information is registration information extracted from the registration information acquired from the management server MS, and is acquired from the registration information of each node Nn that does not store the content X. On the other hand, the first ISP information is determined based on the IP address assigned to the user terminal UT, for example, similarly to the first area information.

そして、ノード処理部11bは、取得された第1ISP情報と第2ISP情報に基づいて、コンテンツXを保存していない各ノードNnのIPアドレスの中から、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを決定する。具体的には、ノード処理部11bは、ユーザ端末UTがネットワークNWに接続するために利用されるISPと、コンテンツXを保存していない各ノードNnがネットワークNWに接続するために利用されるISPとを比較する。そして、ノード処理部11bは、ユーザ端末UTと同じISPを利用するノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。つまり、ユーザ端末UTと同じISPを利用するノードNnのIPアドレスが、その他のノードNnのIPアドレスよりも優先的に決定される。その結果、ユーザ端末UTと同じISPを利用するノードNnのIPアドレスを、ユーザ端末UTへ紹介することができる。そのため、ユーザ端末UTとノードNnとの間のデータ通信において、また、異なるISP間を跨ることによる利用の発生を抑えることができる。また、ユーザ端末UTは、紹介されたノードNnから迅速にコンテンツXを取得することが可能となる。なお、ユーザ端末UTと同じISPを利用するノードNnがない場合も想定される。この場合、ノード処理部11bは、ユーザ端末UTが利用するISPのサービスエリアと重複又は近いサービスエリアのISPを利用するノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定してもよい。   Then, the node processing unit 11b, based on the acquired first ISP information and second ISP information, from among the IP addresses of the nodes Nn that do not store the content X, the node Nn that satisfies the condition to be introduced to the user terminal UT Determine the IP address. Specifically, the node processing unit 11b includes an ISP used for connecting the user terminal UT to the network NW and an ISP used for connecting each node Nn not storing the content X to the network NW. And compare. Then, the node processing unit 11b determines the IP address of the node Nn that uses the same ISP as the user terminal UT as the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT. That is, the IP address of the node Nn that uses the same ISP as the user terminal UT is preferentially determined over the IP addresses of the other nodes Nn. As a result, the IP address of the node Nn that uses the same ISP as the user terminal UT can be introduced to the user terminal UT. Therefore, in data communication between the user terminal UT and the node Nn, occurrence of usage due to straddling between different ISPs can be suppressed. Further, the user terminal UT can quickly acquire the content X from the introduced node Nn. It is assumed that there is no node Nn that uses the same ISP as the user terminal UT. In this case, the node processing unit 11b uses the IP address of the node Nn that satisfies the condition for introducing the IP address of the node Nn that uses the ISP in the service area overlapping or close to the service area of the ISP used by the user terminal UT. It may be determined as an address.

(c)地域情報及びISP情報を用いた決定
地域情報及びISP情報を用いた決定方法の場合、上記(a)及び(b)の方法と同様に、ノード処理部11bは、第1地域情報、第2地域情報、第1ISP情報、及び第2ISP情報を取得する。そして、ノード処理部11bは、地域情報及びISP情報を用いた処理を行う。図4(B)は、地域情報及びISP情報を用いた処理の一例を示すフローチャートである。
(C) Determination using regional information and ISP information In the case of the determination method using regional information and ISP information, as in the methods (a) and (b) above, the node processing unit 11b includes first regional information, 2nd area information, 1st ISP information, and 2nd ISP information are acquired. Then, the node processing unit 11b performs processing using the area information and ISP information. FIG. 4B is a flowchart illustrating an example of processing using area information and ISP information.

図4(B)に示す処理において、ノード処理部11bは、ユーザ端末UTと同じISPを利用するノードNnを、コンテンツXを保存していない各ノードNnの中から検索する(ステップS651)。そして、ノード処理部11bは、ユーザ端末UTと同じISPを利用するノードNnを発見できない場合には(ステップS651:発見無)、ステップS652に進む。一方、ノード処理部11bは、ユーザ端末UTと同じISPを利用するノードNnを発見できた場合には(ステップS651:発見有)、ステップS653に進む。   In the process shown in FIG. 4B, the node processing unit 11b searches for a node Nn that uses the same ISP as the user terminal UT from among the nodes Nn that do not store the content X (step S651). If the node processing unit 11b cannot find a node Nn that uses the same ISP as the user terminal UT (step S651: no discovery), the node processing unit 11b proceeds to step S652. On the other hand, when the node processing unit 11b has found a node Nn that uses the same ISP as the user terminal UT (step S651: found), the node processing unit 11b proceeds to step S653.

ステップS652では、ノード処理部11bは、ユーザ端末UTと同じ地域に設置されるノードNnを、コンテンツXを保存していない各ノードNnの中から検索する。そして、ノード処理部11bは、ユーザ端末UTと同じ地域に設置されるノードNnを発見できない場合には(ステップS652:発見無)、ステップS654に進む。一方、ノード処理部11bは、ユーザ端末UTと同じ地域に設置されるノードNnを発見できた場合には(ステップS652:発見有)、ステップS655に進む。   In step S652, the node processing unit 11b searches for the node Nn installed in the same area as the user terminal UT from the nodes Nn that do not store the content X. If the node processing unit 11b cannot find the node Nn installed in the same area as the user terminal UT (step S652: no discovery), the node processing unit 11b proceeds to step S654. On the other hand, when the node processing unit 11b has found a node Nn installed in the same area as the user terminal UT (step S652: found), the process proceeds to step S655.

ステップS654では、ノード処理部11bは、ユーザ端末UTが設置される地域と最も近い地域に設置されるノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。   In step S654, the node processing unit 11b determines the IP address of the node Nn installed in the area closest to the area where the user terminal UT is installed as the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT. .

ステップS655では、ノード処理部11bは、ユーザ端末UTと同じ地域に設置されるノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。   In step S655, the node processing unit 11b determines the IP address of the node Nn installed in the same area as the user terminal UT as the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT.

ステップS653では、ノード処理部11bは、ユーザ端末UTと同じ地域に設置されるノードNnを、上記ステップS651で発見されたノードNnの中から検索する。そして、ノード処理部11bは、ユーザ端末UTと同じ地域に設置されるノードNnを発見できない場合には(ステップS653:発見無)、ステップS656に進む。一方、ノード処理部11bは、ユーザ端末UTと同じ地域に設置されるノードNnを発見できた場合には(ステップS653:発見有)、ステップS657に進む。   In step S653, the node processing unit 11b searches for the node Nn installed in the same area as the user terminal UT from the nodes Nn found in step S651. If the node processing unit 11b cannot find the node Nn installed in the same area as the user terminal UT (step S653: no discovery), the node processing unit 11b proceeds to step S656. On the other hand, when the node processing unit 11b has found a node Nn installed in the same area as the user terminal UT (step S653: found), the node processing unit 11b proceeds to step S657.

ステップS656では、ノード処理部11bは、ユーザ端末UTと同じISPのノードNnで、且つユーザ端末UTが設置される地域と最も近い地域に設置されるノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。   In step S656, the node processing unit 11b introduces the IP address of the node Nn of the same ISP as the user terminal UT and located in the area closest to the area where the user terminal UT is installed to the user terminal UT. Is determined as the IP address of the node Nn that satisfies the condition to be satisfied.

ステップS657では、ノード処理部11bは、ユーザ端末UTと同じISPのノードNnで、且つユーザ端末UTと同じ地域に設置されるノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。これにより、ユーザ端末UTとノードNnとの間でデータの送受信に要する時間を短縮し、且つ、異なるISPを跨ることによる料金の発生を抑えることができる。   In step S657, the node processing unit 11b satisfies the condition for introducing the IP address of the node Nn of the same ISP as the user terminal UT and the node Nn installed in the same area as the user terminal UT to the user terminal UT. As the IP address. Thereby, the time required for data transmission / reception between the user terminal UT and the node Nn can be shortened, and the generation of charges due to straddling different ISPs can be suppressed.

(d)動作情報を用いた決定
動作情報を用いた決定方法の場合、ノード処理部11bは、管理サーバMSから取得された登録情報の中からコンテンツXを保存していない各ノードNnの登録情報を抽出する。そして、ノード処理部11bは、抽出した登録情報の中から動作情報を取得する。そして、ノード処理部11bは、取得された動作情報に基づいて、拠点動作が実行中でないノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。ここで、拠点動作が実行中であるか否かは、例えば、動作情報に含まれる負荷情報に示される負荷率に基づき決定される。例えば、負荷率が所定値以下であるノードNnが、拠点動作を実行中でないノードNnとして決定される。なお、負荷率は、状況によりある程度の精度で丸めてもよい。例えば、負荷率が50%未満は0%として扱うなどが挙げられる。また、拠点動作が実行中であるか否かは、例えば、動作情報に含まれる帯域情報に示される割り当て可能な帯域が所定値以上であるノードNnが、拠点動作を実行中でないノードNnとして決定される。なお、拠点動作が実行中であるか否かは、負荷情報及び帯域情報以外の情報により判定されるように構成してもよい。
以上のように、拠点動作が実行中でないノードNnのIPアドレスが、その他のノードNnのIPアドレスよりも優先的に決定される。その結果、拠点動作を現在行っていないノードNnのIPアドレスを、ユーザ端末UTへ紹介することができる。そのため、各拠点Pmにおいて例えばカラオケデータ等のコンテンツをルータRmから拠点端末Tm−lへ提供するための拠点動作の実行が妨げられることを回避することができる。そして、ユーザ端末UTは紹介されたノードNnからコンテンツXを迅速に取得するこができる。
(D) Determination Using Operation Information In the determination method using operation information, the node processing unit 11b registers the registration information of each node Nn that does not store the content X from the registration information acquired from the management server MS. To extract. Then, the node processing unit 11b acquires operation information from the extracted registration information. Then, based on the acquired operation information, the node processing unit 11b determines the IP address of the node Nn that is not executing the base operation as the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT. Here, whether or not the base operation is being executed is determined based on, for example, the load factor indicated in the load information included in the operation information. For example, the node Nn whose load factor is equal to or less than a predetermined value is determined as the node Nn that is not executing the base operation. The load factor may be rounded with a certain degree of accuracy depending on the situation. For example, a load factor of less than 50% is treated as 0%. Further, whether or not the base operation is being executed is determined, for example, as a node Nn in which the base operation is not being executed by a node Nn whose bandwidth that can be allocated indicated in the band information included in the operation information is a predetermined value or more. Is done. Note that whether or not the base operation is being performed may be determined based on information other than the load information and the band information.
As described above, the IP address of the node Nn where the base operation is not being executed is determined with priority over the IP addresses of the other nodes Nn. As a result, the IP address of the node Nn that is not currently performing the base operation can be introduced to the user terminal UT. Therefore, it is possible to avoid that the execution of the base operation for providing content such as karaoke data from the router Rm to the base terminal Tm-l at each base Pm is prevented. Then, the user terminal UT can quickly acquire the content X from the introduced node Nn.

(e)コンテンツ保持数情報を用いた決定
コンテンツ保持数情報を用いた決定方法の場合、ノード処理部11bは、管理サーバMSから取得された登録情報の中からコンテンツXを保存していない各ノードNnの登録情報を抽出する。そして、ノード処理部11bは、抽出した各ノードNnの登録情報の中からコンテンツ保持数情報を取得する。そして、ノード処理部11bは、取得されたコンテンツ保持数情報に示されるコンテンツの保存数が所定値以下であるノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。つまり、コンテンツの保存数が所定値以下であるノードNnのIPアドレスが、その他のノードNnのIPアドレスよりも優先的に決定される。その結果、コンテンツの保存数が相対的に少ないノードNnのIPアドレスを、ユーザ端末UTへ紹介することができる。コンテンツの保存数が少ないノードNnは、他のユーザ端末UT等からコンテンツを要求される可能性が低くなる。そのため、ユーザ端末UTは紹介されたノードNnからコンテンツを迅速に取得するこができる。
(E) Determination Using Content Retention Number Information In the case of the determination method using content retention number information, the node processing unit 11b does not store the content X from the registration information acquired from the management server MS. Nn registration information is extracted. Then, the node processing unit 11b acquires content holding number information from the extracted registration information of each node Nn. Then, the node processing unit 11b uses, as the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT, the IP address of the node Nn in which the number of stored contents indicated in the acquired content holding number information is a predetermined value or less. decide. That is, the IP address of the node Nn in which the number of stored contents is equal to or less than a predetermined value is determined with priority over the IP addresses of other nodes Nn. As a result, the IP address of the node Nn with a relatively small number of stored contents can be introduced to the user terminal UT. The node Nn with a small number of stored contents is less likely to be requested for contents from other user terminals UT or the like. Therefore, the user terminal UT can quickly acquire content from the introduced node Nn.

なお、ノード処理部11bは、動作情報またはコンテンツ保持数情報と共に、地域情報とISP情報の少なくとも何れか一方の情報を用いてユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを決定するように構成してもよい。この場合、ノード処理部11bは、コンテンツXを保存していないノードNnの中から、動作情報に基づいて拠点動作が実行中でないノードNnを特定する。或いは、ノード処理部11bは、コンテンツXを保存していないノードNnの中から、コンテンツ保持数情報に示されるコンテンツの保存数が所定値以下であるノードNnを特定する。そして、ノード処理部11bは、特定したノードNnの中から、(a)〜(c)の何れかの方法により、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを決定する。   The node processing unit 11b determines the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT by using at least one of the area information and the ISP information together with the operation information or the content holding number information. You may comprise. In this case, the node processing unit 11b specifies a node Nn in which the base operation is not being executed based on the operation information from among the nodes Nn that do not store the content X. Alternatively, the node processing unit 11b identifies a node Nn in which the content storage number indicated in the content retention number information is equal to or less than a predetermined value from among the nodes Nn that do not store the content X. Then, the node processing unit 11b determines the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT from any of the identified nodes Nn by any one of the methods (a) to (c).

また、上記(a)〜(c)の何れかの方法により、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスが複数決定される場合がある。この場合、ノード処理部11bは、上記(a)〜(c)の何れかの方法により決定されたノードNnのIPアドレスの中から、動作情報に基づいて拠点動作が実行中でないノードNnのIPアドレスを決定するように構成してもよい。ここで、動作情報に基づいて拠点動作が実行中でないノードNnの例としては、負荷率が最も低いノードNn、または割り当て可能な帯域が最も広いノードNnが挙げられる。或いは、上記(a)〜(c)の何れかの方法により決定されたノードNnのIPアドレスの中から、コンテンツ保持数情報に示されるコンテンツの保存数が所定値以下であるノードNnのIPアドレスを決定するように構成してもよい。ここで、コンテンツの保存数が所定値以下であるノードNnの例としては、コンテンツの保存数が最も少ないノードNnが挙げられる。   In addition, a plurality of IP addresses of the node Nn that satisfy the condition to be introduced to the user terminal UT may be determined by any one of the methods (a) to (c). In this case, the node processing unit 11b uses the IP address of the node Nn whose base operation is not being executed based on the operation information from among the IP addresses of the node Nn determined by any one of the methods (a) to (c). The address may be determined. Here, examples of the node Nn in which the base operation is not being executed based on the operation information include the node Nn with the lowest load factor or the node Nn with the widest bandwidth that can be allocated. Alternatively, among the IP addresses of the node Nn determined by any one of the above methods (a) to (c), the IP address of the node Nn whose stored content number indicated in the content holding number information is equal to or less than a predetermined value May be determined. Here, as an example of the node Nn in which the number of stored contents is equal to or less than a predetermined value, the node Nn having the smallest number of stored contents can be cited.

また、ノード処理部11bは、動作情報とコンテンツ保持数情報を用いてユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを決定するように構成してもよい。この場合、ノード処理部11bは、コンテンツXを保存していないノードNnの中から、動作情報に基づいて拠点動作が実行中でないノードNnを特定する。続いて、ノード処理部11bは、特定したノードNnの中から、コンテンツ保持数情報に示されるコンテンツの保存数が所定値以下であるノードNnをさらに特定する。そして、ノード処理部11bは、さらに特定したノードNnの中から、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを決定する。この決定においても、上記(a)〜(c)の何れかの方法により、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを決定するように構成してもよい。   The node processing unit 11b may be configured to determine the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT using the operation information and the content holding number information. In this case, the node processing unit 11b specifies a node Nn in which the base operation is not being executed based on the operation information from among the nodes Nn that do not store the content X. Subsequently, the node processing unit 11b further specifies a node Nn whose stored number of contents indicated in the content holding number information is equal to or less than a predetermined value from the specified nodes Nn. Then, the node processing unit 11b determines the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT from among the further specified nodes Nn. Also in this determination, the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT may be determined by any one of the methods (a) to (c).

(f)その他の情報を用いた決定
上記(a)〜(e)の何れかの方法において用いられる情報の他にも、例えばコンテンツのファイルサイズ、ユーザ端末UTのユーザのランク、ノードNnからアップロードしたデータ量、又はノードNnが利用している回線数等を用いるように構成しても良い。
(F) Determination using other information In addition to the information used in any of the methods (a) to (e) above, for example, the file size of the content, the rank of the user of the user terminal UT, and upload from the node Nn The data amount or the number of lines used by the node Nn may be used.

例えば、ユーザ端末UTからリクエストされたコンテンツのファイルサイズが所定サイズ以上と大きいサイズの場合がある。この場合、ノード処理部11bは、コンテンツXを保存していない各ノードNnの中でコンテンツ保存領域の保存容量が所定容量以上であるノードNnのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。この場合、各ノードNnのコンテンツ保存領域の保存容量を示す情報は、例えばノードNnがオーバーレイネットワークONへ参加した時にノードNnから管理サーバMSに送信され管理データベースに登録される。   For example, the file size of the content requested from the user terminal UT may be as large as a predetermined size or larger. In this case, the node processing unit 11b satisfies the condition for introducing the IP address of the node Nn in which the storage capacity of the content storage area is greater than or equal to a predetermined capacity among the nodes Nn not storing the content X to the user terminal UT. It is determined as the IP address of the node Nn. In this case, information indicating the storage capacity of the content storage area of each node Nn is transmitted from the node Nn to the management server MS and registered in the management database when the node Nn participates in the overlay network ON, for example.

また、例えばユーザのランク毎にサービスレベルを変えたい場合がある。この場合、ノード処理部11bは、コンテンツXを保存していない各ノードNnの中で、安定したノードNnのIPアドレスを、ランクが高いユーザのユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。ここで、安定したノードNnとしては、常駐ノードであり、且つ、負荷情報に示される負荷率負荷率が所定値以下であるノードNn又は割り当て可能な帯域が所定値以上であるノードNn等が挙げられる。ユーザのランクは、例えば料金支払有無やその額、或いは商品の購入履歴等により決定される。例えばユーザが無料会員の場合はユーザのランクが低い。一方、ユーザが有料会員の場合はユーザのランクが高い。   Further, for example, there are cases where it is desired to change the service level for each rank of the user. In this case, the node processing unit 11b, among each node Nn that does not store the content X, the IP of the node Nn that satisfies the condition for introducing the IP address of the stable node Nn to the user terminal UT of the user with a higher rank. Determine as an address. Here, examples of the stable node Nn include a node Nn that is a resident node and has a load factor load factor indicated by the load information equal to or less than a predetermined value, or a node Nn whose allocated bandwidth is equal to or greater than a predetermined value. It is done. The rank of the user is determined by, for example, the presence / absence of fee payment, the amount thereof, or the purchase history of the product. For example, when the user is a free member, the rank of the user is low. On the other hand, when the user is a paid member, the user rank is high.

また、ISPによっては、ノードNnからのコンテンツのアップロード制限がある場合がある。この場合、ノード処理部11bは、コンテンツXを保存していない各ノードNnの中で、実際にアップロードしたデータ量が、利用されるISPの予め設定されたアップロード制限量より小さいノードNnを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。ここで、実際にアップロードしたデータ量を示す情報は、例えばノードNnがオーバーレイネットワークONへ参加した時、及び、その後所定時間間隔で、ノードNnから送信され管理データベースに登録される。   Further, depending on the ISP, there may be a restriction on uploading of content from the node Nn. In this case, the node processing unit 11b determines that the node Nn in which the actually uploaded data amount is smaller than the preset upload limit amount of the ISP to be used, among the nodes Nn that do not store the content X, It is determined as the IP address of the node Nn that satisfies the condition to be introduced to the terminal UT. Here, information indicating the amount of data actually uploaded is transmitted from the node Nn and registered in the management database, for example, when the node Nn participates in the overlay network ON and thereafter at a predetermined time interval.

また、ノードNnが同時に利用できる回線数に上限がある場合がある。この場合、ノード処理部11bは、コンテンツXを保存していない各ノードNnの中で、同時に利用している回線数が所定数以下であるノードNnを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。ここで、ノードNnが利用している回線数を示す情報は、例えばノードNnがオーバーレイネットワークONへ参加した時、及び、その後所定時間間隔で、ノードNnから送信され管理データベースに登録される。   In addition, there may be an upper limit on the number of lines that can be used simultaneously by the node Nn. In this case, the node processing unit 11b satisfies the condition for introducing the node Nn whose number of lines being used simultaneously is a predetermined number or less among the nodes Nn that do not store the content X to the user terminal UT. It is determined as the IP address of Nn. Here, information indicating the number of lines used by the node Nn is transmitted from the node Nn and registered in the management database, for example, when the node Nn participates in the overlay network ON and thereafter at a predetermined time interval.

なお、上記(a)〜(e)の何れかの方法で、ユーザ端末UTへ紹介する条件を満たすノードNnを1つに絞れない場合がある。この場合、ランダムまたはその他の情報を用いて1つのノードNnのIPアドレスが決定されるように構成してもよい。その他の情報の例としては、上述した、コンテンツのファイルサイズ、ユーザ端末UTのユーザのランク、ノードNnからアップロードしたデータ量、ノードNnが利用している回線数等が挙げられる。   Note that there is a case where the number of nodes Nn that satisfy the condition to be introduced to the user terminal UT cannot be reduced to one by any one of the methods (a) to (e). In this case, the IP address of one node Nn may be determined using random or other information. Examples of other information include the content file size, the user rank of the user terminal UT, the amount of data uploaded from the node Nn, the number of lines used by the node Nn, and the like.

次に、ステップS66では、ノード処理部11bは、現在日時から適正キャッシュ保持時間遡った期間内に最終提供日付が含まれているコンテンツ保持ノードの数が適正キャッシュ数以上であるか否かを判定する。つまり、適正キャッシュ保持時間内にアクセスされた検索結果数が適正キャッシュ数以上であるか否かが判定される。そして、ノード処理部11bは、適正キャッシュ数以上であると判定した場合には(ステップS66:YES)、ステップS67に進む。図5(C)に示す検索結果例では、適正キャッシュ数以上であるので、ステップS67に進む。一方、ノード処理部11bは、適正キャッシュ数以上でないと判定した場合には(ステップS66:NO)、ステップS68に進む。   Next, in step S66, the node processing unit 11b determines whether or not the number of content holding nodes whose final provision date is included in a period that is back from the current date and time is the appropriate cache number or more. To do. That is, it is determined whether or not the number of search results accessed within the appropriate cache retention time is equal to or greater than the appropriate cache number. If the node processing unit 11b determines that the number is more than the appropriate cache number (step S66: YES), the process proceeds to step S67. In the example of the search result shown in FIG. 5C, the number of caches is equal to or more than appropriate, and the process proceeds to step S67. On the other hand, if the node processing unit 11b determines that the number of caches is not equal to or greater than the appropriate cache number (step S66: NO), the process proceeds to step S68.

ステップS67では、ノード処理部11bは、現在日時から適正キャッシュ保持時間遡った期間内に最終提供日付が含まれているコンテンツ保持ノードの中で、最終提供日付が最も古いコンテンツ保持ノードのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。図5(C)に示す検索結果例では、No.12のノードN16のIPアドレスが決定されることになる。その結果、複数のユーザ端末UTからのコンテンツ保持ノードへのアクセスを分散させ、特定のコンテンツ保持ノードにユーザ端末UTからのアクセスが集中することを回避することができる。   In step S67, the node processing unit 11b selects the IP address of the content holding node with the oldest last provided date among the content holding nodes that include the last provided date within the period that is the appropriate cache holding time from the current date and time. The IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT is determined. In the search result example shown in FIG. The IP addresses of the 12 node N16 are determined. As a result, access to the content holding nodes from a plurality of user terminals UT can be distributed, and access from the user terminals UT can be avoided from being concentrated on specific content holding nodes.

一方、ステップS68では、ノード処理部11bは、例えば、検索結果に示されるコンテンツ保持ノードのノード情報を、最終提供日付で降順にソートする。つまり、日付が新しい順に並べ替えられる。そして、ノード処理部11bは、降順にソートされた上位から適正キャッシュ数番目のコンテンツ保持ノードのIPアドレスを、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスとして決定する。   On the other hand, in step S68, the node processing unit 11b sorts, for example, the node information of the content holding nodes indicated in the search result in descending order by the last provided date. In other words, the dates are sorted in the order of newest. Then, the node processing unit 11b determines the IP address of the content holding node having the appropriate number of caches from the top sorted in descending order as the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT.

なお、ステップS67,ステップS68において、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを決定する前に、上記(a)〜(f)の何れかの方法を行うように構成してもよい。この場合、ノード処理部11bは、管理サーバMSから登録情報を取得する。そして、ノード処理部11bは、管理サーバMSから取得された登録情報から、コンテンツXを保存している各ノードNnの登録情報を抽出する。例えば、コンテンツXの検索処理による検索結果に示されるコンテンツ保持ノードの登録情報が抽出される。つまり、この場合、抽出される対象がステップS65の場合とは異なる。そして、ノード処理部11bは、上記抽出した各コンテンツ保持ノードの中から、上記(a)〜(f)の何れかの方法を用いて複数のコンテンツ保持ノードを特定する。こうして特定された複数のコンテンツ保持ノードに対して、上記ステップS67又はステップS68の処理が行われる。その結果、ユーザ端末UTへ紹介する条件を満たすコンテンツ保持ノードのIPアドレスが決定される。   In step S67 and step S68, the method of any one of the above (a) to (f) may be performed before determining the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT. Good. In this case, the node processing unit 11b acquires registration information from the management server MS. Then, the node processing unit 11b extracts the registration information of each node Nn that stores the content X from the registration information acquired from the management server MS. For example, the registration information of the content holding node indicated in the search result by the content X search process is extracted. That is, in this case, the object to be extracted is different from that in step S65. Then, the node processing unit 11b specifies a plurality of content holding nodes from among the extracted content holding nodes using any one of the methods (a) to (f). The process of step S67 or step S68 is performed on the plurality of content holding nodes thus identified. As a result, the IP address of the content holding node that satisfies the condition to be introduced to the user terminal UT is determined.

そして、ノード処理部11bは、上記ステップS6で決定されたノードNnのIPアドレスをHTTPサーバ部11aへ応答する(ステップS7)。具体的には、ノード処理部11bは、HTTPサーバ部11aがアクセス可能なRAMの所定の記憶領域に、決定されたノードNnのIPアドレスを記憶する。   Then, the node processing unit 11b responds to the HTTP server unit 11a with the IP address of the node Nn determined in step S6 (step S7). Specifically, the node processing unit 11b stores the determined IP address of the node Nn in a predetermined storage area of a RAM accessible by the HTTP server unit 11a.

次に、HTTPサーバ部11aは、ノード処理部11bから応答されたIPアドレスを取得すると、上記ステップS3で抽出されたURLが未だあるか否かを判定する(ステップS8)。例えば、コンテンツXが複数のファイルから構成される場合、コンテンツXを構成する各ファイルのURLがWebページから抽出されている。そして、HTTPサーバ部11aは、上記ステップS3で抽出されたURLが未だあると判定した場合には(ステップS8:YES)、ステップS4に戻り、上記と同様の処理を行う。一方、HTTPサーバ部11aは、上記ステップS3で抽出されたURLがないと判定した場合には(ステップS8:NO)、ステップS9に進む。   Next, when acquiring the IP address returned from the node processing unit 11b, the HTTP server unit 11a determines whether or not the URL extracted in step S3 is still present (step S8). For example, when the content X is composed of a plurality of files, the URL of each file constituting the content X is extracted from the Web page. When the HTTP server unit 11a determines that the URL extracted in step S3 is still present (step S8: YES), the HTTP server unit 11a returns to step S4 and performs the same processing as described above. On the other hand, if the HTTP server unit 11a determines that there is no URL extracted in step S3 (step S8: NO), the process proceeds to step S9.

ステップS9では、HTTPサーバ部11aは、上記ステップS2で取得されたWebページに記述されたコンテンツXのURLに含まれるドメイン名を、ノード処理部11bから取得されたIPアドレスに置換することでWebページを生成する。図5(E)は、上記ステップS2で取得されたWebページを構成するHTMLの記述例を示す図である。図5(E)に示す例では、ステップS11の処理により、コンテンツXのURL“http://imagesv.jp/image01.jpg”の中の、ドメイン名“imagesv.jp”が、ノード処理部11bから取得されたIPアドレス“192.168.90.・・・”に置換されている。こうして、IPアドレスが記述されたWebページが生成される。ここで、“image01.jpg”は、コンテンツXのファイル名を示す。なお、コンテンツXが複数のファイルから構成される場合、各ファイルに対応するURLに含まれるドメイン名が、夫々に対応するIPアドレスに置換される。   In step S9, the HTTP server unit 11a replaces the domain name included in the URL of the content X described in the Web page acquired in step S2 with the IP address acquired from the node processing unit 11b. Generate a page. FIG. 5E is a diagram showing a description example of HTML constituting the Web page acquired in step S2. In the example shown in FIG. 5E, the domain name “imagesv.jp” in the URL “http://imagesv.jp/image01.jpg” of the content X is changed to the node processing unit 11b by the processing in step S11. The IP address “192.168.90... In this way, a Web page describing the IP address is generated. Here, “image01.jpg” indicates the file name of the content X. When the content X is composed of a plurality of files, the domain name included in the URL corresponding to each file is replaced with the corresponding IP address.

次いで、WebサーバWSのHTTPサーバ部11aは、上記ステップS9で生成されたWebページをレスポンスとしてユーザ端末UTへ送信する(ステップS10)。   Next, the HTTP server unit 11a of the Web server WS transmits the Web page generated in Step S9 as a response to the user terminal UT (Step S10).

次いで、ユーザ端末UTのWebブラウザは、WebサーバWSからのWebページを受信する。そして、ユーザ端末UTのWebブラウザは、Webページに記述されたIPアドレスにしたがって、ノードNnのHTTPサーバ部31bにHTTPプロトコルを利用してアクセスする。そして、ユーザ端末UTのWebブラウザは、コンテンツXのリクエストをノードNnのHTTPサーバ部31bへ送信する(ステップS11)。このリクエストには、ドメイン名がIPアドレスに置換されたURLが含まれる。このURLは、図5(E)の例では、“http:// 192.168.90.・・・/image01.jpg”である。   Next, the web browser of the user terminal UT receives a web page from the web server WS. Then, the web browser of the user terminal UT accesses the HTTP server unit 31b of the node Nn using the HTTP protocol according to the IP address described in the web page. Then, the Web browser of the user terminal UT transmits a request for the content X to the HTTP server unit 31b of the node Nn (Step S11). This request includes a URL in which the domain name is replaced with the IP address. This URL is “http: //192.168.90... /Image01.jpg” in the example of FIG.

次いで、ノードNnのHTTPサーバ部31bは、ユーザ端末UTのWebブラウザからのリクエストを受信すると、ノードNnのノード処理部31cに対して、このリクエストに対応するコンテンツXを要求する(ステップS12)。   Next, when receiving the request from the Web browser of the user terminal UT, the HTTP server unit 31b of the node Nn requests the content X corresponding to this request from the node processing unit 31c of the node Nn (step S12).

次いで、ノード処理部31cは、HTTPサーバ部31bは、要求されたコンテンツXが記憶部31のコンテンツ保存領域に保存されているか否かを判定する(ステップS13)。そして、ノード処理部31cは、コンテンツXがコンテンツ保存領域に保存されていないと判定した場合には(ステップS13:NO)、ステップS14に進む。一方、ノード処理部31cは、コンテンツXがコンテンツ保存領域に保存されていると判定した場合には(ステップS13:YES)、ステップS16に進む。   Next, the node processing unit 31c determines whether or not the requested content X is stored in the content storage area of the storage unit 31 (step S13). When the node processing unit 31c determines that the content X is not stored in the content storage area (step S13: NO), the process proceeds to step S14. On the other hand, when the node processing unit 31c determines that the content X is stored in the content storage area (step S13: YES), the process proceeds to step S16.

ステップS14では、ノード処理部31cは、コンテンツXの検索処理を行う。その結果、ノード処理部31cは、コンテンツXのルートノードからインデックス情報を取得する。このコンテンツXの検索処理は、上記ステップS5と同様であるので説明を省略する。なお、コンテンツXの検索処理で用いられるコンテンツIDは、例えばノード処理部31cがWebサーバWSに問い合わせることにより取得される。または、コンテンツIDは、コンテンツID自体をURLのハッシュ値にしておくことにより、検索処理の前にURLのハッシュを計算することにより取得される。或いは、WebブラウザからノードNnのHTTPサーバ部31bへ送信されるリクエスト中に含まれてもよい。   In step S14, the node processing unit 31c performs a content X search process. As a result, the node processing unit 31c acquires index information from the root node of the content X. Since the content X search process is the same as that in step S5, a description thereof will be omitted. The content ID used in the content X search process is acquired, for example, when the node processing unit 31c inquires of the Web server WS. Alternatively, the content ID is acquired by calculating the hash of the URL before the search process by setting the content ID itself as the hash value of the URL. Alternatively, it may be included in a request transmitted from the Web browser to the HTTP server unit 31b of the node Nn.

次いで、ノード処理部31cは、上記ステップS14で取得したインデックス情報に含まれるコンテンツ保持ノードのIPアドレスにしたがって、コンテンツ保持ノードにアクセスする。そして、ノード処理部31cは、コンテンツ保持ノードからコンテンツXを取得し(ステップS15)、ステップS16に進む。なお、コンテンツ保持ノードから取得されたコンテンツXは、記憶部31に設けられたコンテンツ保存領域に記憶される。こうしてコンテンツXを保存したノード処理部31cは、パブリッシュ処理を行う。このパブリッシュ処理は、コンテンツを保存していることを他のノードNnに公開するための処理である。このパブリッシュ処理において、ノード処理部31cは、パブリッシュメッセージを生成する。パブリッシュメッセージには、コンテンツXのコンテンツID、及びコンテンツを保存したノードNnのノード情報が含まれる。そして、ノード処理部31cは、生成したパブリッシュメッセージを、DHTルーティングにより、コンテンツのルートノード宛に送信する。パブリッシュメッセージを受信したルートノードは、コンテンツXのコンテンツIDとノードNnのIPアドレス等との組を、インデックス情報として記憶する。これにより、オーバーレイネットワークONにおいて、コンテンツXを保存するコンテンツ保持ノードが1つ増えることになる。   Next, the node processing unit 31c accesses the content holding node according to the IP address of the content holding node included in the index information acquired in step S14. Then, the node processing unit 31c acquires the content X from the content holding node (step S15), and proceeds to step S16. The content X acquired from the content holding node is stored in a content storage area provided in the storage unit 31. The node processing unit 31c that stores the content X in this way performs a publishing process. This publishing process is a process for disclosing that the content is stored to other nodes Nn. In this publishing process, the node processing unit 31c generates a publish message. The publish message includes the content ID of the content X and the node information of the node Nn that stores the content. The node processing unit 31c transmits the generated publish message to the root node of the content by DHT routing. The root node that has received the publish message stores a set of the content ID of the content X and the IP address of the node Nn as index information. Thereby, in the overlay network ON, the content holding node for storing the content X is increased by one.

ステップS16では、ノード処理部31cは、要求されたコンテンツXをHTTPサーバ部31bに転送する。具体的には、ノード処理部31cは、HTTPサーバ部31bがアクセス可能なRAMの所定の記憶領域に、コンテンツXを記憶する。   In step S16, the node processing unit 31c transfers the requested content X to the HTTP server unit 31b. Specifically, the node processing unit 31c stores the content X in a predetermined storage area of a RAM accessible by the HTTP server unit 31b.

次いで、HTTPサーバ部31bは、コンテンツXをレスポンスとしてユーザ端末UTへ送信する(ステップS17)。   Next, the HTTP server unit 31b transmits the content X as a response to the user terminal UT (step S17).

次いで、ユーザ端末UTのWebブラウザは、ノードNnのHTTPサーバ部31bノード処理部31cからのコンテンツXを受信する。そして、ユーザ端末UTのWebブラウザは、受信されたコンテンツXを表示又は音声出力する処理を行う(ステップS18)。   Next, the Web browser of the user terminal UT receives the content X from the HTTP server unit 31b node processing unit 31c of the node Nn. Then, the web browser of the user terminal UT performs a process of displaying or outputting the received content X (step S18).

以上説明したように、上記実施形態によれば、WebサーバWSは、ユーザ端末UTからリクエストされたコンテンツの検索結果に基づいて、ユーザ端末UTへ紹介する条件を満たすノードNnのIPアドレスを決定する。そして、WebサーバWSは、決定したIPアドレスが記述されるWebページをユーザ端末UTへ送信する。そのため、ユーザ端末UTは、P2Pプログラムをインストールすることなく、WebサーバWSから送信されたWebページに記述されたIPアドレスを用いて、オーバーレイネットワークONで配信されるコンテンツを効率良く取得することができる。   As described above, according to the embodiment, the Web server WS determines the IP address of the node Nn that satisfies the condition to be introduced to the user terminal UT, based on the search result of the content requested from the user terminal UT. . Then, the Web server WS transmits a Web page in which the determined IP address is described to the user terminal UT. Therefore, the user terminal UT can efficiently acquire the content distributed by the overlay network ON using the IP address described in the Web page transmitted from the Web server WS without installing the P2P program. .

また、ユーザ端末UTからのリクエストがある毎にコンテンツの検索処理が行われ、その検索結果に基づいて、Webページに記述されるIPアドレスが決定される。そのため、特定のノードNnへのアクセス集中を低減することができる。   In addition, every time there is a request from the user terminal UT, a content search process is performed, and an IP address described in the Web page is determined based on the search result. Therefore, access concentration to a specific node Nn can be reduced.

また、あるコンテンツがオーバーレイネットワークONにおいて不足しているような場合がある。この場合、リクエストされたコンテンツを保存していないノードNnのIPアドレスが記述されるWebページをユーザ端末UTへ送信するように構成した。そのため、リクエストされたコンテンツを保存していないノードNnは、ユーザ端末UTへコンテンツを提供するために、オーバーレイネットワークONを介してコンテンツ保持ノードからこのコンテンツを取得する。その結果、このコンテンツを保存するコンテンツ保持ノードの数を増やすことができる。   Also, there is a case where some content is insufficient in the overlay network ON. In this case, the web page describing the IP address of the node Nn that does not store the requested content is transmitted to the user terminal UT. Therefore, the node Nn not storing the requested content acquires this content from the content holding node via the overlay network ON in order to provide the content to the user terminal UT. As a result, the number of content holding nodes that store the content can be increased.

ところで、従来のクライアント−サーバ方式において、Webサーバからユーザ端末へ送信されるWebページは、ベースとなるページに、画像や音、映像等のコンテンツが埋め込まれている。そして、Webサーバは、ベースなるページに埋め込まれた画像や音、映像等のコンテンツもユーザ端末へ送信する。ベースとなるページは、HTML等からなるテキストのページであるため、映像等のコンテンツよりもデータ量が大きい。本実施形態においては、WebサーバWSはベースなるページをユーザ端末UTに送信する。しかし、Webページ上で提供されるコンテンツは、WebサーバWSでなくノードNnがユーザ端末UTへ提供する。そのため、本実施形態では、WebサーバWSの負荷を低減することができる。   By the way, in a conventional client-server system, a Web page transmitted from a Web server to a user terminal has contents such as images, sounds, and videos embedded in a base page. Then, the Web server also transmits content such as images, sounds, and videos embedded in the base page to the user terminal. Since the base page is a text page made of HTML or the like, the amount of data is larger than that of content such as video. In the present embodiment, the Web server WS transmits a base page to the user terminal UT. However, the content provided on the Web page is provided to the user terminal UT by the node Nn, not the Web server WS. Therefore, in the present embodiment, it is possible to reduce the load on the Web server WS.

なお、上記実施形態においては、WebサーバWSが、HTTPサーバ部11aとノード処理部11bとを備えるように構成した。別の例として、WebサーバWSはノード処理部11bを備えずに、ノードNn等の装置にノード処理部11bを備えさせるように構成してもよい。この場合、WebサーバWSはオーバーレイネットワークONには参加しない。なお、この場合、WebサーバWSのHTTPサーバ部11aと、他の装置に備えられたノード処理部11bとの間の情報のやり取りは図3に示す処理と同様である。   In the above embodiment, the Web server WS is configured to include the HTTP server unit 11a and the node processing unit 11b. As another example, the Web server WS may be configured not to include the node processing unit 11b but to include the node processing unit 11b in a device such as the node Nn. In this case, the Web server WS does not participate in the overlay network ON. In this case, the exchange of information between the HTTP server unit 11a of the Web server WS and the node processing unit 11b provided in another apparatus is the same as the process shown in FIG.

また、上記実施形態において、本発明における情報処理装置としてルータRmを例にとって説明したが、情報処理装置はネットワークNWに接続されているサーバ等であってもよい。また、情報処理装置は、基本的にネットワークNWに定常的に接続されているゲートウェイ等の機器であっても良い。   In the above embodiment, the router Rm is described as an example of the information processing apparatus in the present invention. However, the information processing apparatus may be a server connected to the network NW. Further, the information processing apparatus may basically be a device such as a gateway that is regularly connected to the network NW.

また、上記実施形態においては、オーバーレイネットワークONに、DHTを利用したピアツーピアネットワークを適用したが、これに限られるものではない。例えば、他のオーバーレイネットワークを用いたシステムが適用されてもよい。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。   In the above embodiment, the peer-to-peer network using DHT is applied to the overlay network ON. However, 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.

11,21,31 制御部
12,22,33 記憶部
13,23,34a,34b 通信部
32 バッファメモリ
WS Webサーバ
MS 管理サーバ
Rm ルータ
UT ユーザ端末
Nn ノード
NW ネットワーク
ON オーバーレイネットワーク
S コンテンツ配信システム
11, 21, 31 Control unit 12, 22, 33 Storage unit 13, 23, 34a, 34b Communication unit 32 Buffer memory WS Web server MS management server Rm Router UT User terminal Nn Node NW Network ON Overlay network S Content distribution system

Claims (10)

ネットワークを介して互いに通信可能な複数の情報処理装置によりオーバーレイネットワークが構成され、1以上の前記情報処理装置にコンテンツが保存された配信システムにおいて前記情報処理装置と通信可能なサーバ装置であって、
所定のコンテンツのリクエストを、前記オーバーレイネットワークに参加していない第1の端末装置から受信する受信手段と、
前記受信手段により受信された前記リクエストに対応する前記コンテンツを保存する前記情報処理装置の所在を前記オーバーレイネットワークで検索する検索手段と、
前記検索手段による検索結果に基づいて、Webページに記述する所在情報であって、前記情報処理装置の所在を示す前記所在情報を決定する決定手段と、
前記決定手段により決定された前記所在情報が記述されるWebページを生成する生成手段と、
前記生成手段により生成されたWebページを、前記第1の端末装置へ送信する送信手段と、
を備えることを特徴とするサーバ装置。
A server device capable of communicating with the information processing device in a distribution system in which an overlay network is configured by a plurality of information processing devices capable of communicating with each other via a network, and content is stored in one or more of the information processing devices,
Receiving means for receiving a request for predetermined content from a first terminal device not participating in the overlay network;
Search means for searching the overlay network for the location of the information processing apparatus that stores the content corresponding to the request received by the receiving means;
Determination means for determining the location information indicating the location of the information processing apparatus, which is location information described in a Web page, based on a search result by the search means;
Generating means for generating a web page in which the location information determined by the determining means is described;
Transmitting means for transmitting the web page generated by the generating means to the first terminal device;
A server device comprising:
前記決定手段は、前記検索手段により複数の前記所在情報が検索された場合には、前記複数の前記所在情報の中から、前記第1の端末装置へ紹介する条件を満たす前記所在情報を、前記Webページに記述する所在情報として決定することを特徴とする請求項1に記載のサーバ装置。   The determining means, when a plurality of the location information is searched by the search means, the location information satisfying a condition to be introduced to the first terminal device from the plurality of location information, The server device according to claim 1, wherein the server device is determined as location information described in a Web page. 前記サーバ装置は、
前記第1の端末装置が設置される地域を示す第1地域情報を取得する第1取得手段と、
前記情報処理装置が設置される地域を示す第2地域情報を取得する第2取得手段と、
を備え、
前記決定手段は、前記第1取得手段により取得された第1地域情報と前記第2取得手段により取得された第2地域情報に基づいて、前記第1の端末装置が設置される地域からの距離が近い地域に設置される前記情報処理装置の前記所在情報を、前記第1の端末装置へ紹介する条件を満たす前記所在情報として優先的に決定することを特徴とする請求項2に記載のサーバ装置。
The server device
First acquisition means for acquiring first area information indicating an area where the first terminal device is installed;
Second acquisition means for acquiring second area information indicating an area where the information processing apparatus is installed;
With
The determination means is a distance from the area where the first terminal device is installed based on the first area information acquired by the first acquisition means and the second area information acquired by the second acquisition means. 3. The server according to claim 2, wherein the location information of the information processing device installed in an area close to is preferentially determined as the location information that satisfies a condition to be introduced to the first terminal device. 4. apparatus.
前記サーバ装置は、
前記第1の端末装置が前記ネットワークに接続するために利用されるISP(Internet Service Provider)を示す第1ISP情報を取得する第3取得手段と、
前記情報処理装置が前記ネットワークに接続するために利用されるISPを示す第2ISP情報を取得する第4取得手段と、
を備え、
前記決定手段は、前記第3取得手段により取得された第1ISP情報と前記第4取得手段により取得された前記第2ISP情報に基づいて、前記第1の端末装置と同じ前記ISPを利用する前記情報処理装置の前記所在情報を、前記第1の端末装置へ紹介する条件を満たす前記所在情報として優先的に決定することを特徴とする請求項2又は3に記載のサーバ装置。
The server device
Third acquisition means for acquiring first ISP information indicating an ISP (Internet Service Provider) used for the first terminal device to connect to the network;
Fourth acquisition means for acquiring second ISP information indicating an ISP used for the information processing apparatus to connect to the network;
With
The determination unit uses the same ISP as the first terminal device based on the first ISP information acquired by the third acquisition unit and the second ISP information acquired by the fourth acquisition unit. 4. The server device according to claim 2, wherein the location information of the processing device is preferentially determined as the location information that satisfies a condition to be introduced to the first terminal device.
前記情報処理装置には、前記第1の端末装置とは異なる第2の端末装置が通信手段を介して接続されており、
前記情報処理装置は、前記第2の端末装置に送信するコンテンツを前記オーバーレイネットワークを介して他の情報処理装置から取得する動作、または前記コンテンツを前記第2の端末装置へ送信する動作を制御する制御手段を備え、
前記サーバ装置は、前記情報処理装置の前記制御手段により制御される動作が実行中であるか否かを示す動作情報を取得する第5取得手段を備え、
前記決定手段は、前記第5取得手段により取得された動作情報に基づいて、前記動作が実行中でない前記情報処理装置の前記所在情報を、前記第1の端末装置へ紹介する条件を満たす前記所在情報として優先的に決定することを特徴とする請求項2から請求項4のいずれか一項に記載のサーバ装置。
A second terminal device different from the first terminal device is connected to the information processing device via communication means,
The information processing device controls an operation of acquiring content to be transmitted to the second terminal device from another information processing device via the overlay network, or an operation of transmitting the content to the second terminal device. With control means,
The server device includes fifth acquisition means for acquiring operation information indicating whether an operation controlled by the control unit of the information processing apparatus is being executed,
The determination means is based on the operation information acquired by the fifth acquisition means, and the location information that satisfies the condition for introducing the location information of the information processing apparatus in which the operation is not being executed to the first terminal device. The server apparatus according to any one of claims 2 to 4, wherein the server apparatus is determined preferentially as information.
前記サーバ装置は、前記情報処理装置が他の情報処理装置へアクセスした日付または時刻を示すアクセス情報を取得する第6取得手段を備え、
前記決定手段は、前記第6取得手段により取得されたアクセス情報に基づいて、前記日付または時刻が古い前記情報処理装置の前記所在情報を、前記第1の端末装置へ紹介する条件を満たす前記所在情報として優先的に決定することを特徴とする請求項2から請求項5のいずれか一項に記載のサーバ装置。
The server device includes sixth acquisition means for acquiring access information indicating a date or time when the information processing device accesses another information processing device,
The determining means is based on the access information acquired by the sixth acquiring means, and the location information that satisfies the condition for introducing the location information of the information processing apparatus with the old date or time to the first terminal device. The server apparatus according to any one of claims 2 to 5, wherein the server apparatus determines the information preferentially.
前記オーバーレイネットワークに参加している前記情報処理装置の所在を示す前記所在情報を管理する管理装置から、前記所在情報を取得する第7取得手段と、
前記検索手段により検索された前記所在情報の数が所定数以下であるか否かを判定する第1判定手段と、を備え、
前記第1判定手段により、前記検索手段により検索された前記所在情報の数が所定数以下であると判定された場合には、前記決定手段は、前記第7取得手段により取得された前記所在情報の中から、前記リクエストに対応する前記コンテンツを保存していない情報処理装置の前記所在情報を、前記Webページに記述する所在情報として決定することを特徴とする請求項1から請求項6のいずれか一項に記載のサーバ装置。
Seventh acquisition means for acquiring the location information from a management device that manages the location information indicating the location of the information processing device participating in the overlay network;
First determination means for determining whether or not the number of the location information searched by the search means is equal to or less than a predetermined number,
When the first determination unit determines that the number of the location information searched by the search unit is equal to or less than a predetermined number, the determination unit acquires the location information acquired by the seventh acquisition unit. The location information of an information processing apparatus that does not store the content corresponding to the request is determined as location information described in the Web page. The server device according to claim 1.
前記オーバーレイネットワークに参加している前記情報処理装置の所在を示す前記所在情報を管理する管理装置から、前記所在情報を取得する第7取得手段と、
前記検索手段により検索された前記所在情報に対応する前記情報処理装置が、他の情報処理装置へ、コンテンツを提供した日付または時刻、または前記他の情報処理装置へ前記所在情報を提供した日付または時刻を示す提供情報を取得する第8取得手段と、
を備え、
前記第8取得手段により取得された提供情報に示される日付または時刻が所定期間内に含まれる前記情報処理装置の数が所定数以上であるか否かを判定する第2判定手段と、
前記第2判定手段により、前記第8取得手段により取得された提供情報に示される日付または時刻が所定期間内に含まれる前記情報処理装置の数が所定数以上であると判定された場合には、前記決定手段は、前記第7取得手段により取得された所定数の前記所在情報の中から、前記リクエストに対応する前記コンテンツを保存していない情報処理装置の前記所在情報を、前記Webページに記述する所在情報として決定することを特徴とする請求項1から請求項6のいずれか一項に記載のサーバ装置。
Seventh acquisition means for acquiring the location information from a management device that manages the location information indicating the location of the information processing device participating in the overlay network;
The date or time when the information processing device corresponding to the location information searched by the search means provided content to another information processing device, or the date or time when the location information was provided to the other information processing device. An eighth acquisition means for acquiring provided information indicating time;
With
Second determination means for determining whether or not the number of the information processing devices whose date or time indicated by the provision information acquired by the eighth acquisition means is included in a predetermined period is equal to or greater than a predetermined number;
When the second determination unit determines that the number of the information processing devices whose date or time indicated in the provision information acquired by the eighth acquisition unit is included in a predetermined period is equal to or greater than a predetermined number And the determination unit stores the location information of the information processing apparatus that does not store the content corresponding to the request among the predetermined number of the location information acquired by the seventh acquisition unit in the Web page. The server apparatus according to any one of claims 1 to 6, wherein the server apparatus is determined as location information to be described.
ネットワークを介して互いに通信可能な複数の情報処理装置によりオーバーレイネットワークが構成され、1以上の前記情報処理装置にコンテンツが保存された配信システムにおいて前記情報処理装置と通信可能なサーバ装置に含まれるコンピュータに、
所定のコンテンツのリクエストを、前記オーバーレイネットワークに参加していない第1の端末装置から受信するステップと、
前記受信された前記リクエストに対応する前記コンテンツを保存する前記情報処理装置の所在を前記オーバーレイネットワークで検索するステップと、
前記検索の結果に基づいて、Webページに記述する所在情報であって、前記情報処理装置の所在を示す前記所在情報を決定するステップと、
前記決定された前記所在情報が記述されるWebページを生成するステップと、
前記生成されたWebページを、前記第1の端末装置へ送信するステップと、
を実行させるためのページ送信プログラム。
A computer included in a server device capable of communicating with the information processing device in a distribution system in which an overlay network is configured by a plurality of information processing devices capable of communicating with each other via a network and content is stored in one or more of the information processing devices In addition,
Receiving a request for predetermined content from a first terminal device not participating in the overlay network;
Searching the overlay network for the location of the information processing apparatus that stores the content corresponding to the received request;
Determining location information to be described in a Web page based on the search result, the location information indicating the location of the information processing apparatus;
Generating a web page in which the determined location information is described;
Transmitting the generated web page to the first terminal device;
Page transmission program to execute.
ネットワークを介して互いに通信可能な複数の情報処理装置によりオーバーレイネットワークが構成され、1以上の前記情報処理装置にコンテンツが保存された配信システムにおけるWebページ送信方法であって、
サーバ装置が、所定のコンテンツのリクエストを、前記オーバーレイネットワークに参加していない第1の端末装置から受信するステップと、
前記サーバ装置が、前記受信された前記リクエストに対応する前記コンテンツを保存する前記情報処理装置の所在を前記オーバーレイネットワークで検索するステップと、
前記サーバ装置が、前記検索の結果に基づいて、Webページに記述する所在情報であって、前記情報処理装置の所在を示す前記所在情報を決定するステップと、
前記サーバ装置が、前記決定された前記所在情報が記述されるWebページを生成するステップと、
前記サーバ装置が、前記生成されたWebページを、前記第1の端末装置へ送信するステップと、
を含むことを特徴とするページ送信方法。
A web page transmission method in a distribution system in which an overlay network is configured by a plurality of information processing devices that can communicate with each other via a network, and content is stored in one or more of the information processing devices,
A server device receiving a request for predetermined content from a first terminal device not participating in the overlay network;
The server device searches the overlay network for the location of the information processing device that stores the content corresponding to the received request;
The server device, based on the result of the search, determining the location information to be described in a Web page and indicating the location of the information processing device;
The server device generating a Web page in which the determined location information is described;
The server device transmitting the generated web page to the first terminal device;
The page transmission method characterized by including.
JP2010221001A 2010-09-30 2010-09-30 Server device, page transmission program and page transmission method Pending JP2012078901A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010221001A JP2012078901A (en) 2010-09-30 2010-09-30 Server device, page transmission program and page transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010221001A JP2012078901A (en) 2010-09-30 2010-09-30 Server device, page transmission program and page transmission method

Publications (1)

Publication Number Publication Date
JP2012078901A true JP2012078901A (en) 2012-04-19

Family

ID=46239123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010221001A Pending JP2012078901A (en) 2010-09-30 2010-09-30 Server device, page transmission program and page transmission method

Country Status (1)

Country Link
JP (1) JP2012078901A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014040535A1 (en) * 2012-09-13 2014-03-20 Tencent Technology (Shenzhen) Company Limited Information management method and device
JP2015049634A (en) * 2013-08-30 2015-03-16 日本放送協会 Content distribution system, distribution support server, p2p terminal and content distribution method
US9350803B2 (en) 2012-09-13 2016-05-24 Tencent Technology (Shenzhen) Company Limited Information management method and device
JP2016521884A (en) * 2013-06-14 2016-07-25 ティー—データ・システムズ(エス)ピーティーイー・リミテッド System and method for uploading, displaying and selling news footprints

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348209A (en) * 2003-05-20 2004-12-09 Nippon Telegr & Teleph Corp <Ntt> Distribution management server, information distribution server, terminal equipment, contents distribution system, contents distribution management method, contents reception method, program, and storage medium
JP2006190205A (en) * 2005-01-07 2006-07-20 Fuji Xerox Co Ltd Network system, information processing method, information processing program, and information processor
JP2006277338A (en) * 2005-03-29 2006-10-12 Brother Ind Ltd Information processor and accumulation device, information processing method and accumulation method, information processing program and accumulation device program
WO2007117658A2 (en) * 2006-04-05 2007-10-18 At & T Intellectual Property I, L.P. Peer-to-peer video on demand techniques
JP2009129076A (en) * 2007-11-21 2009-06-11 Fujitsu Ltd Information processor, method for controlling information processor and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348209A (en) * 2003-05-20 2004-12-09 Nippon Telegr & Teleph Corp <Ntt> Distribution management server, information distribution server, terminal equipment, contents distribution system, contents distribution management method, contents reception method, program, and storage medium
JP2006190205A (en) * 2005-01-07 2006-07-20 Fuji Xerox Co Ltd Network system, information processing method, information processing program, and information processor
JP2006277338A (en) * 2005-03-29 2006-10-12 Brother Ind Ltd Information processor and accumulation device, information processing method and accumulation method, information processing program and accumulation device program
WO2007117658A2 (en) * 2006-04-05 2007-10-18 At & T Intellectual Property I, L.P. Peer-to-peer video on demand techniques
JP2009129076A (en) * 2007-11-21 2009-06-11 Fujitsu Ltd Information processor, method for controlling information processor and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014040535A1 (en) * 2012-09-13 2014-03-20 Tencent Technology (Shenzhen) Company Limited Information management method and device
US9350803B2 (en) 2012-09-13 2016-05-24 Tencent Technology (Shenzhen) Company Limited Information management method and device
JP2016521884A (en) * 2013-06-14 2016-07-25 ティー—データ・システムズ(エス)ピーティーイー・リミテッド System and method for uploading, displaying and selling news footprints
JP2015049634A (en) * 2013-08-30 2015-03-16 日本放送協会 Content distribution system, distribution support server, p2p terminal and content distribution method

Similar Documents

Publication Publication Date Title
US9141669B2 (en) Configuring an origin server content delivery using a pulled data list
US9384208B2 (en) Configuring a cached website file removal using a pulled data list
WO2014071786A1 (en) Method and system for file transmitting
JP2004171572A (en) Method, system and server for distributing load among servers, and program
JP2012078902A (en) Information processing apparatus, information processing method and information processing program
US20110099226A1 (en) Method of requesting for location information of resources on network, user node and server for the same
EP3066577B1 (en) Content node selection using network performance profiles
WO2010051459A1 (en) Accessing peer browser caches
CN101997759A (en) Service implementation method and service system
US20140149578A1 (en) Method For Testing Methods of Accelerating Content Delivery
US11281730B1 (en) Direct leg access for proxy web scraping
JP2012078901A (en) Server device, page transmission program and page transmission method
CN103825916B (en) A kind of resource downloading method and system
Li et al. SCOM: A scalable content centric network architecture with mobility support
Li et al. Challenges, designs, and performances of large-scale open-P2SP content distribution
CN101741886B (en) Access path generating method, system and device
CN114466344A (en) Edge cloud discovery and selection method suitable for wireless self-organizing network environment
CN103533048B (en) Popular seed file acquisition methods in a kind of BT networks
Costa et al. Studying the workload of a fully decentralized Web3 system: IPFS
EP4227829A1 (en) Web scraping through use of proxies, and applications thereof
CN115883657A (en) Cloud disk service accelerated scheduling method and system
US20230018983A1 (en) Traffic counting for proxy web scraping
Li et al. A smart routing scheme for named data networks
JP5338774B2 (en) Distribution system, information processing apparatus, information processing program, and content input method
Shen et al. Freeweb: P2p-assisted collaborative censorship-resistant web browsing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131119