JP2012078903A - Node device, program for node device and information processing method - Google Patents

Node device, program for node device and information processing method Download PDF

Info

Publication number
JP2012078903A
JP2012078903A JP2010221003A JP2010221003A JP2012078903A JP 2012078903 A JP2012078903 A JP 2012078903A JP 2010221003 A JP2010221003 A JP 2010221003A JP 2010221003 A JP2010221003 A JP 2010221003A JP 2012078903 A JP2012078903 A JP 2012078903A
Authority
JP
Japan
Prior art keywords
node device
node
content
communication line
network
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
JP2010221003A
Other languages
Japanese (ja)
Inventor
Masahiro Kamei
雅弘 亀井
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 JP2010221003A priority Critical patent/JP2012078903A/en
Publication of JP2012078903A publication Critical patent/JP2012078903A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a distribution system in which, when newly determining a storage destination of contents, the storage destination can be determined so as to promptly and smoothly distribute the contents.SOLUTION: In a plurality of routers Rm or the like of a distribution system S where contents are stored while being distributed to the routers Rm or the like by an overlay network comprised of the routers Rm or the like, a use state of a communication line for connecting a router Rm or the like to a network NW is acquired and it is determined whether or not that communication line is being used equal to or more than a first threshold value. When the communication line is being used equal to or more than the first threshold value, a router Rm or the like to newly store contents therein is determined from among the other routers Rm or the like. A session is set up with the determined router Rm or the like, and a use state of a communication line to which that router Rm or the like is being connected is acquired. On the basis of the acquired use state, a router Rm or the like for which a use state of a communication line is less than or equal to a second threshold value is determined as a new storage destination of the contents.

Description

本願は、ノード装置、ノード装置用プログラムおよび情報処理方法の技術分野に属する。なお以下の説明では、「ノード装置」を適宜「ノード」と称する。   The present application belongs to a technical field of a node device, a program for the node device, and an information processing method. In the following description, the “node device” is appropriately referred to as a “node”.

近年、ピアツーピア(Peer to Peer(P2P))型のネットワークを介して、映画や動画等のコンテンツを配信する技術が開発されている。以下の説明では、P2P型のネットワークを単に「P2Pネットワーク」と称する。P2Pネットワークでは、P2Pネットワーク内に存在するノードそれぞれにコンテンツが分散保存される。そして各ノードは、ノード間でコンテンツを共有しつつ、互いに送受信する。P2Pネットワークについては、たとえば下記特許文献1に詳細に開示されている。このようなP2Pネットワークによれば、配信対象のコンテンツのデータ量が増大した場合でも、従来のクライアント−サーバ方式に含まれるサーバ装置への負荷増大に起因する配信障害等を回避できる。なお以下の説明では、「サーバ装置」を適宜「サーバ」と称する。   2. Description of the Related Art In recent years, techniques for distributing content such as movies and moving images via a peer-to-peer (P2P) type network have been developed. In the following description, a P2P type network is simply referred to as a “P2P network”. In a P2P network, content is distributed and stored in each node existing in the P2P network. Each node transmits and receives each other while sharing content between the nodes. The P2P network is disclosed in detail, for example, in Patent Document 1 below. According to such a P2P network, even when the data amount of content to be distributed increases, it is possible to avoid a distribution failure caused by an increased load on the server device included in the conventional client-server system. In the following description, “server device” is appropriately referred to as “server”.

一方P2Pネットワークにおいて、特定のコンテンツを保存しているノードに配信要求が集中すると、そのノードからの配信が遅延する。このような遅延を解消するため、他のノード内にそのコンテンツの複製を保存させる。コンテンツは、その複製が保存されたノードからも配信される。このような複製の作成方法として、たとえば下記特許文献2に開示されている手法がある。特許文献2に開示されている手法の一例では、他のノードとの間における往復遅延時間を検出し、それに基づいて、複製を保存させる他のノードを検索する。   On the other hand, in a P2P network, when distribution requests concentrate on a node that stores specific content, distribution from that node is delayed. In order to eliminate such a delay, a copy of the content is stored in another node. Content is also distributed from the node where the copy is stored. As a method for creating such a replica, for example, there is a technique disclosed in Patent Document 2 below. In an example of the technique disclosed in Patent Document 2, a round trip delay time with another node is detected, and another node that stores a copy is searched based on the detected round trip delay time.

特開2006−197400公報JP 2006-197400 A 特開2005−227842公報JP 2005-227842 A

P2Pネットワーク内のノードにコンテンツの複製を保存させる場合、その複製を用いた配信を迅速且つスムーズに開始させる必要がある。しかしながら特許文献2に記載されたP2Pネットワークでは、複製の保存先を検索するに当たり、検索対象のノードの使用状態等は考慮されていない。このため、たとえばそのノードに接続されている回線が混雑している場合等においては、複製を保存させても迅速且つスムーズにその配信を開始させることができない。   When a copy of content is stored in a node in the P2P network, it is necessary to start distribution using the copy quickly and smoothly. However, in the P2P network described in Patent Document 2, when searching for the storage destination of the replica, the usage state of the search target node is not considered. For this reason, for example, when the line connected to the node is congested, the distribution cannot be started quickly and smoothly even if the copy is stored.

そこで、本発明は上記の問題点に鑑みて為されたもので、その目的の一例は、コンテンツの保存先を新たに決定する場合に、そのコンテンツの配信を迅速且つスムーズに行うように決定することが可能なノード装置ならびに情報通信方法およびノード装置において実行されるノード装置用プログラムを提供することにある。   Therefore, the present invention has been made in view of the above problems, and an example of the purpose is to determine that a content storage destination is quickly and smoothly distributed when a storage destination of the content is newly determined. The present invention provides a node device, an information communication method, and a node device program executed in the node device.

上記の課題を解決するために、請求項1に記載の発明は、ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムの前記ノード装置において、前記コンテンツを記憶する記憶部等の記憶手段と、前記ネットワークに接続するために、前記記憶手段を備える前記ノード装置が接続されている通信回線の使用状態を示す第1状態情報を取得する制御部等の第1取得手段と、前記第1取得手段により取得された前記第1状態情報に基づいて、所定の第1閾値以上に前記通信回線が使用されているかを判定する制御部等の判定手段と、前記通信回線が前記第1閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定する制御部等の第1決定手段と、前記第1決定手段により決定された前記ノード装置に接続する制御部等の接続手段と、前記接続手段により接続した前記ノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第2状態情報を取得する制御部等の第2取得手段と、前記第2取得手段により取得された前記第2状態情報に基づいて、前記接続手段により接続した前記ノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第2閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定する制御部等の第2決定手段と、を備える。   In order to solve the above-mentioned problem, the invention according to claim 1 is characterized in that content is distributed to the plurality of node devices by an overlay network including a plurality of node devices that can communicate with each other via a network. In the node device of the communication system to be stored, a storage unit such as a storage unit that stores the content, and a use state of a communication line to which the node device including the storage unit is connected to connect to the network The communication line is used above a predetermined first threshold based on a first acquisition unit such as a control unit that acquires first state information indicating the first state information and the first state information acquired by the first acquisition unit. A determination unit such as a control unit for determining whether the communication line is used above the first threshold, and the overlay network A first determination unit such as a control unit that determines a node device that is a candidate for a node device that stores the content from among the participating node devices, and a connection to the node device determined by the first determination unit A second controller such as a control unit that acquires second state information indicating a use state of the communication line to which the connected node device is connected from a connection unit such as a control unit and the node device connected by the connection unit; Based on the second state information acquired by the acquisition unit and the second acquisition unit, among the node devices connected by the connection unit, the use state of the communication line connected to the node device is: And a second determination unit such as a control unit that determines the node device having a predetermined second threshold value or less as a storage destination of the content.

上記の課題を解決するために、請求項7に記載の発明は、ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムにおいて実行される情報処理方法において、前記ネットワークに接続するために、前記ノード装置が接続されている通信回線の使用状態を示す第1状態情報を取得する第1取得ステップと、前記取得された第1状態情報に基づいて、所定の第1閾値以上に前記通信回線が使用されているかを判定する判定ステップと、前記通信回線が前記第1閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定する第1決定ステップと、前記決定されたノード装置に接続する接続ステップと、前記接続したノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第2状態情報を取得する第2取得ステップと、前記取得された第2状態情報に基づいて、前記接続したノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第2閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定する第2決定ステップと、を含む。   In order to solve the above problem, the invention according to claim 7 is characterized in that content is distributed to the plurality of node devices by an overlay network including a plurality of node devices that can communicate with each other via a network. In an information processing method executed in a stored communication system, a first acquisition step of acquiring first state information indicating a use state of a communication line to which the node device is connected in order to connect to the network; A determination step of determining whether the communication line is used above a predetermined first threshold based on the acquired first state information; and when the communication line is used above the first threshold, Among node devices participating in the overlay network, nodes that are candidates for node devices for storing the content A first determination step of determining a device; a connection step of connecting to the determined node device; and a second indicating a use state of the communication line to which the connected node device is connected from the connected node device A second acquisition step of acquiring state information; and, based on the acquired second state information, a use state of the communication line connected to the node device among the connected node devices is a predetermined first A second determination step of determining the node device having a threshold value of 2 or less as a storage destination of the content.

請求項1または請求項7に記載の発明によれば、他のノード装置から取得した第2状態情報に基づいて、それに接続されている通信回線の使用状態が第2閾値以下であるノード装置をコンテンツの記憶先と決定する。通信回線の使用状態が第2閾値以下であるノード装置にコンテンツを記憶させることで、記憶保存後のコンテンツを迅速且つスムーズに配信することができる。   According to the invention described in claim 1 or claim 7, based on the second state information acquired from another node device, the node device whose use state of the communication line connected thereto is equal to or less than the second threshold value Determine the content storage destination. By storing the content in the node device whose communication line usage state is equal to or less than the second threshold value, the stored content can be quickly and smoothly distributed.

請求項2に記載の発明において、前記第1決定手段は、前記オーバーレイネットワークに参加する前記複数のノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置をランダムに決定するように構成される。   The invention according to claim 2, wherein the first determination unit randomly determines a node device that is a candidate for a node device that stores the content from among the plurality of node devices that participate in the overlay network. Configured.

請求項2に記載の発明によれば、記憶すべきコンテンツが未記憶であるノード装置の中からランダムに記憶先の候補を決定する。よって、簡易な構成でランダムに記憶先の候補を検索しつつ、その決定のためのメッセージの数を減らすことができる。   According to the second aspect of the present invention, the storage destination candidates are determined at random from among the node devices in which the content to be stored is not stored. Therefore, the number of messages for the determination can be reduced while searching for storage destination candidates at random with a simple configuration.

請求項3に記載の発明において、前記通信システムにおいては、前記複数のノード装置間において、前記オーバーレイネットワークを介してメッセージが授受されることにより前記コンテンツの記憶および配信が行われ、前記記憶手段を備える前記ノード装置に接続されている前記通信回線が前記第1閾値以上に使用されているとき、前記コンテンツを記憶済みのノード装置を前記オーバーレイネットワークにおいて検索する制御部等の検索手段を更に備え、前記第1決定手段は、前記検索手段により検索された前記ノード装置以外のノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定するように構成される。   In the invention according to claim 3, in the communication system, the storage and distribution of the content is performed by sending and receiving a message between the plurality of node devices via the overlay network. When the communication line connected to the node device is used more than the first threshold, further comprising search means such as a control unit for searching the overlay network for the node device that has stored the content, The first determination unit is configured to determine a node device that is a candidate for a node device that stores the content from among node devices other than the node device searched by the search unit.

請求項3に記載の発明によれば、記憶すべきコンテンツが記憶済みであるノード装置を除外して記憶先のノード装置の候補となるノード装置を決定する。よって、記憶済みか否かに拘わらず記憶先の候補を検索する場合に比して、その検索および記憶等のためのメッセージの数を減らすことができる。   According to the third aspect of the present invention, a node device that is a candidate for a storage destination node device is determined by excluding a node device that has already stored content to be stored. Therefore, the number of messages for searching and storing can be reduced as compared with the case of searching for a storage destination candidate regardless of whether or not it has been stored.

請求項4に記載の発明において、前記記憶手段の空き容量を決定する制御部等の容量決定手段と、前記容量決定手段により決定された空き容量を示す空き容量情報を、前記空き容量情報を管理する前記オーバーレイネットワークのノード装置宛に送信する通信部等の送信手段と、他の前記ノード装置についての前記空き容量情報を、前記空き容量情報を管理するノード装置から取得する制御部等の第3取得手段と、を備え、前記第1決定手段は、前記第3取得手段により取得された前記空き容量情報に基づき、前記空き容量情報により示される前記空き容量が大きいノード装置から順に、前記コンテンツを記憶させるノード装置の候補となるノード装置として決定するように構成される。   5. The invention according to claim 4, wherein said free capacity information is managed by capacity determining means such as a control unit for determining the free capacity of said storage means, and free capacity information indicating the free capacity determined by said capacity determining means. A transmission unit such as a communication unit that transmits to the node device of the overlay network, and a third unit such as a control unit that acquires the free capacity information about the other node device from the node device that manages the free capacity information. Acquisition means, wherein the first determination means sequentially stores the contents based on the free capacity information acquired by the third acquisition means in order from the node device having the largest free capacity indicated by the free capacity information. The node device is configured to be determined as a node device to be stored.

請求項4に記載の発明によれば、記憶すべきコンテンツが未記憶であるノード装置について、その記憶手段の空き容量が大きいノード装置から順に記憶先の候補を決定する。よって、各ノード装置の記憶手段を有効に活用してコンテンツを記憶させることができる。   According to the fourth aspect of the present invention, the storage destination candidates are determined in order from the node device having the largest free space in the storage means for the node device in which the content to be stored is not stored. Therefore, contents can be stored by effectively using the storage means of each node device.

請求項5に記載の発明において、前記第2決定手段による前記コンテンツの記憶先の決定において、前記接続手段により接続した各前記ノード装置に接続されている前記通信回線の使用状態が前記第2閾値より高い場合、所定の閾値時間だけ待機した後、前記接続手段は、前記第1決定手段により決定された前記ノード装置に対して再接続し、前記第2取得手段は、前記接続手段により再接続された前記ノード装置から前記第2状態情報を再取得し、前記第2決定手段は、前記第2取得手段により再取得された前記第2状態情報に基づいて、前記コンテンツの記憶先であるノード装置を決定するように構成される。   6. The invention according to claim 5, wherein in the determination of the storage destination of the content by the second determination unit, the use state of the communication line connected to each of the node devices connected by the connection unit is the second threshold value. If higher, after waiting for a predetermined threshold time, the connection means reconnects to the node device determined by the first determination means, and the second acquisition means reconnects by the connection means The second state information is re-acquired from the node device thus obtained, and the second determination means is a node that is a storage destination of the content based on the second state information re-acquired by the second acquisition means Configured to determine a device;

請求項5に記載の発明によれば、接続した各ノード装置に接続されている通信回線の使用状態が第2閾値より高い場合に、閾値時間だけ待機した後に再接続処理および決定処理を行う。コンテンツの記憶先が検索できる可能性が高まり、更に直ちに再接続を行う場合に比して不要なメッセージの授受も防止できる。   According to the fifth aspect of the present invention, when the use state of the communication line connected to each connected node device is higher than the second threshold value, the reconnection process and the determination process are performed after waiting for the threshold time. The possibility that the storage destination of the content can be searched is increased, and unnecessary message exchange can be prevented as compared with the case where the reconnection is performed immediately.

上記の課題を解決するために、請求項6に記載の発明は、ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムの前記ノード装置であって、前記コンテンツを記憶する記憶部等の記憶手段を備えるノード装置に含まれるコンピュータに、前記ネットワークに接続するために、前記記憶手段を備える前記ノード装置が接続されている通信回線の使用状態を示す第1状態情報を取得するステップと、前記取得された第1状態情報に基づいて、所定の第1閾値以上に前記通信回線が使用されているかを判定するステップと、前記通信回線が前記第1閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定するステップと、前記決定されたノード装置に接続するステップと、前記接続したノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第2状態情報を取得するステップと、前記取得された第2状態情報に基づいて、前記接続したノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第2閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定するステップと、を実行させる。   In order to solve the above problem, the invention according to claim 6 is configured such that content is distributed to the plurality of node devices by an overlay network including a plurality of node devices that can communicate with each other via a network. The node device of the communication system to be stored, the node device including the storage means for connecting to the network to a computer included in the node device including storage means such as a storage unit for storing the content A step of acquiring first state information indicating a use state of a communication line to which a communication line is connected, and whether the communication line is used above a predetermined first threshold based on the acquired first state information. Determining and joining the overlay network when the communication line is used above the first threshold Determining a node device that is a candidate node device for storing the content from among the node devices, connecting to the determined node device, and connecting the connected node device to the connected node device A step of acquiring second state information indicating a use state of the communication line to which the device is connected, and the node device connected to the node device among the connected node devices based on the acquired second state information. And determining the node device whose usage state of the communication line is equal to or less than a predetermined second threshold as the storage destination of the content.

請求項6に記載の発明によれば、他のノード装置から取得した第2状態情報に基づいて、それに接続されている通信回線の使用状態が第2閾値以下であるノード装置をコンテンツの記憶先と決定するようにコンピュータを機能させる。通信回線の使用状態が第2閾値以下であるノード装置にコンテンツを記憶させることで、記憶保存後のコンテンツを迅速且つスムーズに配信することができる。   According to the sixth aspect of the present invention, based on the second state information acquired from another node device, the node device whose use state of the communication line connected to it is equal to or less than the second threshold is stored in the content storage destination. Let the computer function to determine. By storing the content in the node device whose communication line usage state is equal to or less than the second threshold value, the stored content can be quickly and smoothly distributed.

本発明によれば、通信回線の使用状態が第2閾値以下であるノード装置にコンテンツを記憶させることで、記憶保存後のコンテンツを迅速且つスムーズに配信することができる。   According to the present invention, by storing content in a node device whose communication line usage state is equal to or less than the second threshold, it is possible to quickly and smoothly distribute the stored content.

実施形態の配信システムの概要構成を示す図である。It is a figure showing the outline composition of the distribution system of an embodiment. 実施形態のルータ等の概要構成を示すブロック図である。(a)は実施形態のルータの概要構成を示すブロック図である。(b)は実施形態のユーザ端末およびルータ以外のノードの概要構成を示すブロック図である。It is a block diagram which shows schematic structure, such as a router of embodiment. FIG. 2A is a block diagram illustrating a schematic configuration of a router according to an embodiment. FIG. 2B is a block diagram illustrating a schematic configuration of nodes other than the user terminal and the router according to the embodiment. 実施形態のルータにおける処理を示すフローチャートである。(a)はルータにおける全体処理を示すフローチャートである。(b)はルータにおけるコンテンツ要求受付処理を示すフローチャートである。It is a flowchart which shows the process in the router of embodiment. (A) is a flowchart which shows the whole process in a router. (B) is a flowchart showing content request acceptance processing in the router. 実施形態のルータ等における処理を示すフローチャートである。(a)はルータにおける保存先検索処理を示すフローチャートである。(b)はノードにおける複製保存処理を示すフローチャートである。It is a flowchart which shows the process in the router etc. of embodiment. (A) is a flowchart which shows the storage destination search process in a router. (B) is a flowchart showing a copy storage process in a node. 変形形態のルータ等における処理を示すフローチャートである。(a)はノードにおける複製保存処理を示すフローチャートである。(b)はルータにおける保存先検索処理を示すフローチャートである。It is a flowchart which shows the process in the router etc. of a deformation | transformation form. (A) is a flowchart which shows the replication preservation | save process in a node. (B) is a flowchart showing storage destination search processing in the router.

次に、本発明を実施するための形態について、図面に基づいて説明する。以下に説明する実施形態および変形形態は、P2Pネットワーク外のユーザ端末に対してP2Pネットワーク内のノードから動画等のコンテンツを配信する配信システムに対して本発明を適用した場合の実施形態である。   Next, modes for carrying out the present invention will be described based on the drawings. Embodiments and modifications described below are embodiments when the present invention is applied to a distribution system that distributes content such as moving images from nodes in a P2P network to user terminals outside the P2P network.

(I)実施形態
始めに本発明の実施形態について、図1から図4を用いて説明する。なお、図1は実施形態の配信システムの概要構成を示す図であり、図2は実施形態のルータ等の概要構成を示すブロック図である。また図3および図4は実施形態のルータ等における処理を示すフローチャートである。
(I) Embodiment First, an embodiment of the present invention will be described with reference to FIGS. 1 is a diagram illustrating a schematic configuration of the distribution system according to the embodiment, and FIG. 2 is a block diagram illustrating a schematic configuration of a router and the like according to the embodiment. 3 and 4 are flowcharts showing processing in the router and the like of the embodiment.

(A)配信システムの概要構成
始めに図1を参照して、実施形態の配信システムの概要構成について説明する。なお図1は、実施形態に係る配信システムSの概要構成を示す図である。配信システムSは、DNS(Domain Name System)を適用したCDN(Contents Delivery Network system)である。図1に示すように配信システムSは、ネットワークNWに複数の拠点ネットワークNLm(mは自然数。以下同様)が接続されている。これらネットワークNWおよび各拠点ネットワークNLmは、現実世界の通信ネットワークである。
(A) General Configuration of Distribution System First, the general configuration of the distribution system according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating a schematic configuration of a distribution system S according to the embodiment. The delivery system S is a CDN (Contents Delivery Network system) to which DNS (Domain Name System) is applied. As shown in FIG. 1, in the distribution system S, a plurality of base networks NLm (m is a natural number; the same applies hereinafter) are connected to a network NW. These network NW and each base network NLm are real-world communication networks.

ネットワークNWは各拠点ネットワークNLmを相互接続するためのネットワークである。このネットワークNWは、たとえばWAN(Wide Area Network)等である。ネットワークNWは、たとえば、IX(Internet eXchange)、ISP(Internet Service Provider)、DSL(Digital Subscriber Line)回線事業者装置、FTTH(Fiber To The Home)回線事業者装置および通信回線等によって構築されている。なおネットワークNWは配信システムS専用のネットワークであってもよい。   The network NW is a network for interconnecting the base networks NLm. This network NW is, for example, a WAN (Wide Area Network). The network NW is constructed by, for example, IX (Internet eXchange), ISP (Internet Service Provider), DSL (Digital Subscriber Line) line provider equipment, FTTH (Fiber To The Home) line provider equipment, communication lines, and the like. . The network NW may be a network dedicated to the distribution system S.

各拠点ネットワークNLmは、それぞれ拠点Pmの敷地内に構築されたネットワークである。拠点Pmは、たとえば、企業、学校、病院、公共団体、カラオケボックスの運営母体等の組織が活動する拠点である。拠点ネットワークNLmは、たとえばLAN(Local Area Network)等により構築されている。各拠点ネットワークNLmには複数のユーザ端末Tm−n(nは自然数。以下同様)が接続されている。ユーザ端末Tm−nは、たとえばパーソナルコンピュータ等である。図1においては、一部の拠点ネットワークNLmの図示、およびその拠点ネットワークNLmに接続されているユーザ端末Tm−nの図示を省略している。   Each base network NLm is a network constructed in the site of the base Pm. The base Pm is a base where an organization such as a company, a school, a hospital, a public organization, or a management body of a karaoke box operates. The base network NLm is constructed by, for example, a LAN (Local Area Network) or the like. A plurality of user terminals Tm-n (n is a natural number; hereinafter the same) are connected to each base network NLm. The user terminal Tm-n is, for example, a personal computer. In FIG. 1, illustration of some base networks NLm and illustration of user terminals Tm-n connected to the base networks NLm are omitted.

ネットワークNWには、また、ウェブサーバSW、組織用DNSサーバSOおよびP2P用DNSサーバSPが接続されている。ウェブサーバSWは、たとえば上述した拠点Pmを有する組織が運営するウェブサイトの各種のコンテンツを、ユーザ端末Tm−nに配信するためのサーバである。図1においては、ウェブサーバSWは一台のみ示されているが、ウェブサーバSWは、たとえば組織ごとに設置されている。各ウェブサーバSWには、それぞれ個別にドメイン名が付与されている。   A web server SW, an organization DNS server SO, and a P2P DNS server SP are also connected to the network NW. The web server SW is a server for distributing, for example, various contents of a website operated by the organization having the base Pm described above to the user terminal Tm-n. In FIG. 1, only one web server SW is shown, but the web server SW is installed for each organization, for example. Each web server SW is individually assigned a domain name.

組織用DNSサーバSOは、ドメイン名を解決するDNSサーバである。組織用DNSサーバSOは、ユーザ端末Tm−nからのIP(Internet Protocol)アドレスの問い合わせを受け付ける。図1においては、組織用DNSサーバSOは一台のみ示されているが、組織用DNSサーバSOは、たとえば組織ごとに設置されてもよい。P2P用DNSサーバSPも、ドメイン名を解決するDNSサーバである。P2P用DNSサーバSPは、組織用DNSサーバSOからIPアドレスの問い合わせを受け付ける。またP2P用DNSサーバSPには、固有のドメイン名が割り当てられている。   The organization DNS server SO is a DNS server that resolves a domain name. The organization DNS server SO accepts an IP (Internet Protocol) address inquiry from the user terminal Tm-n. In FIG. 1, only one organization DNS server SO is shown, but the organization DNS server SO may be installed for each organization, for example. The DNS server SP for P2P is also a DNS server that resolves domain names. The P2P DNS server SP accepts an IP address inquiry from the organization DNS server SO. A unique domain name is assigned to the P2P DNS server SP.

各拠点ネットワークNLmには、それぞれルータRmが定常的に接続されている。このルータRmは、拠点ネットワークNLmと、ネットワークNWと、を相互接続する。ルータRmは、たとえばルータ機能を有するファイアーウォール、ブロードバンドルータ等である。なおルータRmは、本発明における「ノード装置」の一例に相当する。   A router Rm is steadily connected to each base network NLm. This router Rm interconnects the base network NLm and the network NW. The router Rm is, for example, a firewall having a router function, a broadband router, or the like. The router Rm corresponds to an example of a “node device” in the present invention.

(B)P2Pネットワークの概要構成
配信システムSにおいては、コンテンツを配信するためのP2PネットワークであるP2PネットワークPWが構築されている。P2PネットワークPWは、本発明における「通信システム」の一例に相当する。図1に示すようにP2PネットワークPWは、ネットワークNW上に構築された論理的なオーバーレイネットワークである。このP2PネットワークPWは、配信システムSを構成する複数のルータRmと、P2P用DNSサーバSPと、ルータRmおよびP2P用DNSサーバSP以外の他の装置Nr(rは自然数。以下同様)と、の参加により形成されるネットワークである。他の装置Nrは、具体的にはパーソナルコンピュータ、STB(Set Top Box)またはテレビジョン受信機等である。なお、P2PネットワークPWに参加するルータRm、P2P用DNSサーバSPおよび他の装置Nrを、以下「ノード」と称する。ここで、P2PネットワークPWへの「参加」とは、たとえば上記特許文献1に開示されているDHT(Distributed Hash Table)を用いたルーティングテーブルに基づいて他のノードとの間で各種メッセージを送受信できる状態になることをいう。このルーティングテーブルを、以下「DHTルーティングテーブル」という。
(B) P2P network outline configuration In the distribution system S, a P2P network PW, which is a P2P network for distributing content, is constructed. The P2P network PW corresponds to an example of a “communication system” in the present invention. As shown in FIG. 1, the P2P network PW is a logical overlay network constructed on the network NW. This P2P network PW includes a plurality of routers Rm constituting the distribution system S, a P2P DNS server SP, and other devices Nr (r is a natural number; the same applies hereinafter) other than the router Rm and the P2P DNS server SP. It is a network formed by participation. The other device Nr is specifically a personal computer, an STB (Set Top Box), a television receiver, or the like. The router Rm, the P2P DNS server SP, and other devices Nr that participate in the P2P network PW are hereinafter referred to as “nodes”. Here, “participation” in the P2P network PW means that various messages can be transmitted / received to / from other nodes based on a routing table using DHT (Distributed Hash Table) disclosed in Patent Document 1, for example. It means becoming a state. This routing table is hereinafter referred to as “DHT routing table”.

P2PネットワークPWは、特定のアルゴリズム、たとえばDHTを利用したアルゴリズムにより実現される。P2PネットワークPWに接続する各ノードには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。図1に示すP2PネットワークPWは、ノードIDのID空間をリング状のものとして示されている。図1のリング状のID空間において示されている各ノードの位置は、それぞれのノードIDに対応している。   The P2P network PW is realized by a specific algorithm, for example, an algorithm using DHT. Each node connected to the P2P network PW is assigned a node ID, which is unique identification information consisting of a predetermined number of digits. The P2P network PW shown in FIG. 1 shows the ID space of the node ID as a ring. The position of each node shown in the ring-shaped ID space in FIG. 1 corresponds to each node ID.

各ノードは、それぞれ、DHTルーティングテーブルを保持している。DHTルーティングテーブルは、P2PネットワークPW上における各種メッセージの転送先を規定している。具体的にDHTルーティングテーブルには、ID空間内で適度に離れたノードのノードID、IPアドレスおよびポート番号を含むノード情報が複数登録されている。なお、DHTルーティングテーブルを用いたDHTルーティングについては上記特許文献1等で公知であるので、詳しい説明を省略する。   Each node holds a DHT routing table. The DHT routing table defines various message transfer destinations on the P2P network PW. Specifically, in the DHT routing table, a plurality of pieces of node information including node IDs, IP addresses, and port numbers of nodes that are moderately separated in the ID space are registered. The DHT routing using the DHT routing table is well known in the above-mentioned Patent Document 1 and the like, and thus detailed description is omitted.

P2PネットワークPWにおいて、コンテンツを分散保存するノードを、以下「保持ノード」と称する。各コンテンツには、それぞれコンテンツごとに固有の識別情報であるコンテンツIDが割り当てられている。保持ノードに記憶されて保存されているコンテンツは、ユーザ端末Tm−nに配信されるコンテンツである。ユーザ端末Tm−nは、組織用DNSサーバSOを用いることにより、ウェブサーバSWからではなくP2PネットワークPWからコンテンツを取得する。   In the P2P network PW, a node that stores content in a distributed manner is hereinafter referred to as a “holding node”. Each content is assigned a content ID, which is identification information unique to each content. The content stored and saved in the holding node is content distributed to the user terminal Tm-n. The user terminal Tm-n acquires content from the P2P network PW instead of the web server SW by using the organization DNS server SO.

複数の保持ノードに分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理しているノードにより記憶される。コンテンツの所在を管理しているノードを、以下「ルートノード」と称する。インデックス情報は、保持ノードのノード情報と、それに保存されているコンテンツのコンテンツIDと、の組を含む。なお、ルートノードについては上記特許文献1等で公知であるので、詳しい説明を省略する。   The location of content distributed and stored in a plurality of holding nodes is stored as index information by the node managing the location of the content. A node that manages the location of content is hereinafter referred to as a “root node”. The index information includes a set of the node information of the holding node and the content ID of the content stored therein. Since the root node is known from the above-mentioned Patent Document 1 and the like, detailed description thereof is omitted.

そして、あるノードがあるコンテンツを取得しようとする場合、そのノードは検索メッセージを送信する。コンテンツを取得しようとするノードを、以下「ユーザノード」と称する。検索メッセージは、取得対象のコンテンツのコンテンツIDおよびユーザノードのIPアドレス等を含む。検索メッセージは、保持ノードを検索するためのメッセージである。ユーザノードは、ユーザノードが記憶するDHTルーティングテーブルに従って、他のノードに検索メッセージを送信する。これにより検索メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。   When a certain node tries to acquire content, the node transmits a search message. A node from which content is to be acquired is hereinafter referred to as a “user node”. The search message includes the content ID of the content to be acquired, the IP address of the user node, and the like. The search message is a message for searching for holding nodes. The user node transmits a search message to other nodes according to the DHT routing table stored in the user node. As a result, the search message finally arrives at the root node by DHT routing using the content ID as a key.

検索メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をユーザノードに送信する。ユーザノードは、受信したインデックス情報に含まれるIPアドレスおよびポート番号に基づいて、いずれかの保持ノードに、コンテンツIDを含むコンテンツ要求メッセージを送信する。保持ノードは、受信したコンテンツ要求メッセージに含まれるコンテンツIDに対応するコンテンツを、ユーザノードにアップロードする。こうしてユーザノードは、コンテンツをダウンロードすることができる。   The root node that has received the search message transmits index information corresponding to the content ID included therein to the user node. The user node transmits a content request message including the content ID to one of the holding nodes based on the IP address and port number included in the received index information. The holding node uploads content corresponding to the content ID included in the received content request message to the user node. Thus, the user node can download the content.

ユーザノードは、保持ノードからコンテンツを取得して保存したとき、パブリッシュメッセージを送信する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツIDおよびコンテンツを保存した保持ノードのノード情報を含む。パブリッシュメッセージは、検索メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。ルートノードは、受信したパブリッシュメッセージに含まれるノード情報およびコンテンツIDの組を含むインデックス情報をインデックスキャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツを保持する保持ノードとなる。   The user node transmits a publish message when content is acquired and stored from the holding node. The publish message is a message for informing the root node that the content has been saved. The publish message includes the content ID of the content and the node information of the holding node that stores the content. Similar to the search message, the publish message arrives at the root node by DHT routing using the content ID as a key. The root node stores index information including a set of node information and content ID included in the received publish message in the index cache area. Thus, the user node becomes a new holding node that holds the content.

(C)ユーザ端末へのコンテンツの配信
次に図1を用いて、配信システムSにおけるユーザ端末Tm−nへのコンテンツの配信について説明する。ユーザ端末Tm−nは、ユーザによる操作等に基づいて、ダウンロードしようとするコンテンツのURL(Uniform Resource Locator)を取得する。URLを取得したユーザ端末Tm−nはIPアドレスの問い合わせを行う。たとえば図1に示すように、拠点P1内のユーザ端末T1−1が、ウェブサーバSWのドメイン名をURLから取得したとする。ユーザ端末T1−1は、取得したドメイン名を含む名前解決リクエストを、組織用DNSサーバSOに送信する(図1(1)参照)。組織用DNSサーバSOは、ドメイン名とIPアドレスとが対応付けて登録されているデータベースを保持している。これにより組織用DNSサーバSOは、そのデータベースからP2P用DNSサーバSPのドメイン名を取得する。更に組織用DNSサーバSOは、そのデータベースから、P2P用DNSサーバSPのドメイン名に対応するIPアドレスを取得する。そして組織用DNSサーバSOは、取得したIPアドレスに基づいて、受信した名前解決リクエストをP2P用DNSサーバSPに転送する(図1(2)参照)。
(C) Content Distribution to User Terminal Next , content distribution to the user terminal Tm-n in the distribution system S will be described with reference to FIG. The user terminal Tm-n acquires a URL (Uniform Resource Locator) of the content to be downloaded based on an operation by the user. The user terminal Tm-n that acquired the URL makes an inquiry about the IP address. For example, as shown in FIG. 1, it is assumed that the user terminal T1-1 in the site P1 acquires the domain name of the web server SW from the URL. The user terminal T1-1 transmits a name resolution request including the acquired domain name to the organization DNS server SO (see FIG. 1 (1)). The organization DNS server SO holds a database in which domain names and IP addresses are registered in association with each other. Thereby, the organization DNS server SO acquires the domain name of the P2P DNS server SP from the database. Further, the organization DNS server SO acquires an IP address corresponding to the domain name of the P2P DNS server SP from the database. Then, the organization DNS server SO transfers the received name resolution request to the P2P DNS server SP based on the acquired IP address (see FIG. 1B).

P2P用DNSサーバSPは、ユーザ端末T1−1から送信された名前解決リクエストを受信すると、その名前解決リクエストに含まれるドメイン名に対応する保持ノードを、オーバーレイネットワークを用いて検索する(図1(3)参照)。これによりP2P用DNSサーバSPは、ルートノードとしてのルータRmからインデックス情報を取得する(図1(4)参照)。   When receiving the name resolution request transmitted from the user terminal T1-1, the P2P DNS server SP searches the holding node corresponding to the domain name included in the name resolution request using the overlay network (FIG. 1 ( 3)). Thereby, the DNS server SP for P2P acquires the index information from the router Rm as the root node (see FIG. 1 (4)).

P2P用DNSサーバSPは、インデックスキャッシュ領域に記憶されたインデックス情報に基づいて、いずれかの保持ノードを選択する。そしてP2P用DNSサーバSPは、選択した保持ノードのIPアドレスを組織用DNSサーバSOに返信する(図1(5)参照)。図1に例示する場合、組織用DNSサーバSOに返信されるIPアドレスは、ルータR2のIPアドレスであるとする。   The P2P DNS server SP selects one of the holding nodes based on the index information stored in the index cache area. Then, the DNS server SP for P2P returns the IP address of the selected holding node to the organization DNS server SO (see FIG. 1 (5)). In the case illustrated in FIG. 1, it is assumed that the IP address returned to the organization DNS server SO is the IP address of the router R2.

ルータR2のIPアドレスを受信した組織用DNSサーバSOは、このIPアドレスをユーザ端末T1−1に転送する(図1(6)参照)。そしてユーザ端末T1−1は、受信したIPアドレスに基づいて、コンテンツ要求メッセージをルータR2に送信する(図1(7)参照)。ルータR2は、受信したコンテンツ要求メッセージに対応するコンテンツをユーザ端末T1−1にアップロードする(図1(8)参照)。以上説明した一連の処理により、名前解決リクエストを送信したユーザ端末T1−1は、その名前解決リクエストに対応するコンテンツをP2PネットワークPWから取得できる。     The organization DNS server SO that has received the IP address of the router R2 transfers this IP address to the user terminal T1-1 (see FIG. 1 (6)). Then, the user terminal T1-1 transmits a content request message to the router R2 based on the received IP address (see FIG. 1 (7)). The router R2 uploads content corresponding to the received content request message to the user terminal T1-1 (see FIG. 1 (8)). Through the series of processes described above, the user terminal T1-1 that has transmitted the name resolution request can acquire the content corresponding to the name resolution request from the P2P network PW.

(D)ルータ等の構成および機能
次に、図2を用いて、実施形態のルータRm等の構成および機能について説明する。図2(a)はルータRmの概要構成を示すブロック図である。図2(b)はユーザ端末Tm−nおよび他の装置Nrの概要構成を示すブロック図である。
(D) Configuration and Function of Router and the like Next, the configuration and function of the router Rm and the like of the embodiment will be described with reference to FIG. FIG. 2A is a block diagram showing a schematic configuration of the router Rm. FIG. 2B is a block diagram showing a schematic configuration of the user terminal Tm-n and another device Nr.

(D−1)ルータの構成
図2(a)に示すように、実施形態のルータRmは、記憶部11、制御部12および通信部13を備えている。記憶部11、制御部12および通信部13は、バス14を介してデータの授受が可能に相互接続されている。この制御部12が、「第1取得手段」の一例、「判定手段」の一例、「第1決定手段」の一例、「接続手段」の一例、「第2取得手段」の一例、「第2決定手段」の一例、「検索手段」の一例、「容量検出手段」の一例および「第3取得手段」の一例に、それぞれ相当する。また記憶部11が「記憶手段」の一例に相当する。さらに通信部13が「送信手段」の一例に相当する。
(D-1) Configuration of Router As shown in FIG. 2A, the router Rm of the embodiment includes a storage unit 11, a control unit 12, and a communication unit 13. The storage unit 11, the control unit 12, and the communication unit 13 are interconnected via a bus 14 so that data can be exchanged. This control unit 12 is an example of “first acquisition means”, an example of “determination means”, an example of “first determination means”, an example of “connection means”, an example of “second acquisition means”, “second It corresponds to an example of “determination means”, an example of “search means”, an example of “capacity detection means”, and an example of “third acquisition means”, respectively. The storage unit 11 corresponds to an example of “storage means”. Further, the communication unit 13 corresponds to an example of “transmission means”.

この構成において制御部12は、演算機能を有するCPU(Central Processing Unit)、作業用RAM(Random Access Memory)、各種データおよびP2Pプログラムを記憶するROM(Read Only Memory)等から構成されている。記憶部11は、各種データおよび各種プログラム等を記憶して保存するためのHD(ハードディスク)等から構成されている。更に通信部13は、ネットワークNWおよび拠点ネットワークNLm等を通じて、他のルータRm、P2P用DNSサーバSP、他の装置Nrおよびユーザ端末Tm−n等との間の情報の通信制御を行う。   In this configuration, the control unit 12 includes a CPU (Central Processing Unit) having an arithmetic function, a working RAM (Random Access Memory), a ROM (Read Only Memory) storing various data and a P2P program, and the like. The storage unit 11 includes an HD (hard disk) or the like for storing and storing various data and various programs. Further, the communication unit 13 controls communication of information with the other router Rm, the P2P DNS server SP, the other device Nr, the user terminal Tm-n, and the like through the network NW and the base network NLm.

具体的に記憶部11には、P2P用ドメインサーバSPのIPアドレスおよびポート番号が記憶されている。また記憶部11には、DHTルーティングテーブル、インデックス情報および現在の接続端末数等が記憶されている。また記憶部11には、ダウンロードされたコンテンツが、コンテンツIDに対応付けて記憶されている。記憶部11には、コンテンツが記憶されるコンテンツキャッシュ領域が割り当てられている。更に記憶部11には、DHTルーティングテーブルに基づいて他のノードとの間で各種メッセージを送受信するためのP2Pプログラムが記憶されている。なおP2Pプログラムは、たとえば所定のサーバ等からダウンロードされるようにしてもよい。またP2Pプログラムは、たとえばDVD(Digital Versatile Disc)等の記録媒体に記録されて、記録媒体から図示しないドライブを介して読み込まれるようにしてもよい。制御部12は、CPUが記憶部11等に記憶されたP2Pプログラムを含むプログラムを読み出して実行することにより、実施形態のルータRmの各部を統括制御する。   Specifically, the storage unit 11 stores the IP address and port number of the P2P domain server SP. The storage unit 11 stores a DHT routing table, index information, the current number of connected terminals, and the like. The storage unit 11 stores the downloaded content in association with the content ID. A content cache area in which content is stored is allocated to the storage unit 11. Further, the storage unit 11 stores a P2P program for transmitting / receiving various messages to / from other nodes based on the DHT routing table. The P2P program may be downloaded from a predetermined server, for example. The P2P program may be recorded on a recording medium such as a DVD (Digital Versatile Disc), for example, and read from the recording medium via a drive (not shown). The control unit 12 performs overall control of each unit of the router Rm of the embodiment by reading and executing a program including the P2P program stored in the storage unit 11 or the like by the CPU.

(D−2)ユーザ端末Tm−nおよび他の装置Nrの構成
実施形態のユーザ端末Tm−nおよび他の装置Nrは、基本的に同様の構成を備えている。ユーザ端末Tm−nおよび他の装置Nrを、以下「ユーザ端末Tm−n等」と称する。
(D-2) Configuration of User Terminal Tm-n and Other Device Nr The user terminal Tm-n and the other device Nr in the embodiment basically have the same configuration. The user terminal Tm-n and the other device Nr are hereinafter referred to as “user terminal Tm-n etc.”.

図2(b)に示すように、ユーザ端末Tm−n等は、制御部21、記憶部22、バッファメモリ23、通信部24、デコーダ部25、入力部26、映像処理部27、表示部28、音声処理部29およびスピーカ30を備えている。制御部21、記憶部22、バッファメモリ23、通信部24、デコーダ部25および入力部26は、バス31を介してデータの授受が可能に相互接続されている。   As shown in FIG. 2B, the user terminal Tm-n includes a control unit 21, a storage unit 22, a buffer memory 23, a communication unit 24, a decoder unit 25, an input unit 26, a video processing unit 27, and a display unit 28. The audio processing unit 29 and the speaker 30 are provided. The control unit 21, the storage unit 22, the buffer memory 23, the communication unit 24, the decoder unit 25, and the input unit 26 are interconnected via a bus 31 so that data can be exchanged.

この構成において制御部21は、演算機能を有するCPU、各種データを記憶するRAMならびに各種データおよびP2Pプログラムを含むプログラムを記憶するROM等から構成されている。記憶部22は各種データおよび各種プログラム等を記憶して保存するためのHD等から構成される。バッファメモリ23は通信部24を介して取得されたコンテンツを一時的に蓄積する。デコーダ部25は、コンテンツに含まれるエンコードされたビデオデータおよびオーディオデータ等をデコードする。映像処理部27はデコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する。液晶ディスプレイ等からなる表示部28は、映像処理部27から出力されたビデオ信号に相当する映像を表示する。音声処理部29はデコードされたオーディオデータをアナログのオーディオ信号にD/A変換した後、これを増幅してスピーカ30に出力する。スピーカ30は音声処理部29から出力されたオーディオ信号を音波として出力する。入力部26はユーザからの指示を受け付け、その指示に応じた指示信号を制御部21に出力する。この入力部26は、たとえばキーボード、マウス、あるいは操作パネル等により実現されるものである。ユーザ端末Tm−nに含まれる通信部24は、拠点ネットワークNLmを介したルータRmおよび他のユーザ端末Tm−n等との間の情報の通信制御を行う。また他の装置Nrに含まれる通信部24は、ネットワークNW介したルータRm、P2P用DNSサーバSPおよび通信部24が含まれる他の装置Nr以外の他の装置Nr等との間の情報の通信制御を行う。   In this configuration, the control unit 21 includes a CPU having an arithmetic function, a RAM that stores various data, and a ROM that stores programs including various data and P2P programs. The storage unit 22 includes an HD or the like for storing and storing various data and various programs. The buffer memory 23 temporarily stores content acquired via the communication unit 24. The decoder unit 25 decodes encoded video data, audio data, and the like included in the content. The video processing unit 27 performs a predetermined drawing process on the decoded video data or the like and outputs it as a video signal. The display unit 28 including a liquid crystal display displays an image corresponding to the video signal output from the image processing unit 27. The audio processing unit 29 D / A converts the decoded audio data into an analog audio signal, amplifies it, and outputs it to the speaker 30. The speaker 30 outputs the audio signal output from the sound processing unit 29 as a sound wave. The input unit 26 receives an instruction from the user and outputs an instruction signal corresponding to the instruction to the control unit 21. The input unit 26 is realized by, for example, a keyboard, a mouse, an operation panel, or the like. The communication unit 24 included in the user terminal Tm-n performs communication control of information between the router Rm and other user terminals Tm-n via the base network NLm. The communication unit 24 included in another device Nr communicates information with the router Rm, the P2P DNS server SP, and other devices Nr other than the other device Nr including the communication unit 24 via the network NW. Take control.

記憶部22には、実施形態のP2Pプログラムを含むプログラム、コンテンツとしてのファイル、DHTルーティングテーブル等が記憶されている。以上の構成において制御部21は、CPUが記憶部22またはROM等に記憶されたP2Pプログラムを読み出して実行することにより、ユーザ端末Tm−n等全体を統括制御する。また他の装置Nrの制御部21は、P2PネットワークPWへ他の装置Nrが参加したのちに制御部21がP2Pプログラムを実行することで、上述したユーザノード、ルートノードまたは保持ノード等の、少なくともいずれか一つのノードとして機能する。   The storage unit 22 stores a program including the P2P program of the embodiment, a file as content, a DHT routing table, and the like. In the above configuration, the control unit 21 performs overall control of the entire user terminal Tm-n and the like when the CPU reads and executes the P2P program stored in the storage unit 22 or the ROM. In addition, the control unit 21 of the other device Nr can execute at least the user node, the root node, the holding node, or the like described above by executing the P2P program after the other device Nr participates in the P2P network PW. It functions as one of the nodes.

(E)配信システムの処理
次に、図3および図4を用いて、実施形態における配信システムSの処理について説明する。図3および図4は、ルータRmの制御部12における処理を示すフローチャートである。図3(a)に示す処理は、たとえばルータRmのP2Pプログラムが起動したときに開始される。先ず制御部12は、所定の初期化処理の終了後、ルータRmの図示しない電源スイッチがオフとされたか否かを確認する(ステップS1)。ステップS1の確認において電源スイッチがオフとされた場合(ステップS1;NO)、制御部12はルータRmとしての処理を終了する。一方ステップS1の確認において電源スイッチがオフとされていない場合(ステップS1;NO)、制御部12は次に、ユーザ端末Tm−nからのコンテンツ要求があったか否かを確認する(ステップS2)。具体的に制御部12は、ユーザ端末Tm−nからのコンテンツ要求メッセージを受信したか否かを確認することにより、ステップS2の確認を行う(図1(7)参照)。ステップS2の確認により、いずれかのユーザ端末Tm−nからのコンテンツ要求があった場合(ステップS2;YES)、制御部12は後述するコンテンツ要求受付処理を実行する(ステップS3)。その後制御部12は上記ステップS1の確認に移行する。他方、ステップS2の確認においてコンテンツ要求がない場合(ステップS2;NO)、制御部12は次に、他のルータRmからコンテンツの複製保存指示があったか否かを確認する(ステップS4)。具体的に制御部12は、他のルータRmからの複製保存指示メッセージを受信したか否かを確認することにより、ステップS4の確認を行う。複製保存指示メッセージは、コンテンツ要求メッセージにより示されるコンテンツの複製の保存を指示する旨のメッセージである。ステップS4の確認により、他のルータRmからの複製保存指示があった場合(ステップS4;YES)、制御部12はその複製保存指示に対応した後述する複製保存処理を実行する(ステップS5)。その後制御部12は上記ステップS1の確認に移行する。なお、ステップS4の確認において複製保存指示がない場合も(ステップS4;NO)、制御部12は上記ステップS1の確認に移行する。
(E) Processing of Distribution System Next, processing of the distribution system S in the embodiment will be described using FIG. 3 and FIG. 3 and 4 are flowcharts showing processing in the control unit 12 of the router Rm. The process shown in FIG. 3A is started when, for example, the P2P program of the router Rm is activated. First, the control unit 12 checks whether or not a power switch (not shown) of the router Rm is turned off after completion of the predetermined initialization process (step S1). When the power switch is turned off in the confirmation in step S1 (step S1; NO), the control unit 12 ends the process as the router Rm. On the other hand, when the power switch is not turned off in the confirmation in step S1 (step S1; NO), the control unit 12 next confirms whether or not there is a content request from the user terminal Tm-n (step S2). Specifically, the control unit 12 confirms Step S2 by confirming whether or not a content request message from the user terminal Tm-n has been received (see FIG. 1 (7)). If there is a content request from any of the user terminals Tm-n as a result of confirmation in step S2 (step S2; YES), the control unit 12 executes a content request reception process described later (step S3). Thereafter, the control unit 12 proceeds to the confirmation in step S1. On the other hand, when there is no content request in the confirmation in step S2 (step S2; NO), the control unit 12 next confirms whether or not there is an instruction to store and copy the content from another router Rm (step S4). Specifically, the control unit 12 confirms Step S4 by confirming whether or not a copy storage instruction message has been received from another router Rm. The copy save instruction message is a message instructing to save a copy of the content indicated by the content request message. If there is a copy storage instruction from another router Rm as a result of confirmation in step S4 (step S4; YES), the control unit 12 executes a later-described copy storage process corresponding to the copy storage instruction (step S5). Thereafter, the control unit 12 proceeds to the confirmation in step S1. In addition, also when there is no copy preservation | save instruction | indication in the confirmation of step S4 (step S4; NO), the control part 12 transfers to the confirmation of said step S1.

次に、ステップS3のコンテンツ要求受付処理について、より詳細に図3(b)を用いて説明する。ステップS2の確認においてコンテンツ要求があった場合(ステップS2;YES)、制御部12は先ず、その制御部12が含まれているルータRmにおける現在のアップロード帯域の使用状態を示す情報を、通信部13から取得する(ステップS30)。ここで、「アップロード帯域の使用状態」とは、具体的にはそのルータRmに現在接続されてコンテンツのアップロードを受けているユーザ端末Tm−nの総数である。なお、ルータRmに接続されている拠点ネットワークNLmにおける、各ユーザ端末Tm−n宛の各コンテンツの現在の伝送速度の合計値を、その時点でのアップロード帯域の使用状態を示す情報として通信部13から取得することもできる。次に制御部12は、ステップS30の処理により取得したアップロード帯域の使用状態が予め設定された第1閾値以上であるか否かを確認する(ステップS31)。すなわち制御部12は、アップロード帯域の使用状態を示す情報に基づいて、通信回線の使用状態が第1閾値以上であるか否かを確認する。この第1閾値は、コンテンツ要求メッセージを送信してきたユーザ端末Tm−nに対してそのルータRmから直ちにコンテンツのアップロードができるか否かに対応して予め設定された閾値である。具体的に第1閾値は、そのルータRmに同時に接続されてコンテンツのアップロードを受けることが可能なユーザ端末Tm−nの最大数として予め設定されている。なお、各ユーザ端末Tm−n宛のコンテンツの伝送速度の合計値をアップロード帯域の使用状態とする場合、第1閾値はその合計値の上限値として予め設定される。ステップS31の確認において、アップロード帯域の使用状態が第1閾値以上でない場合(ステップS31;NO)、制御部12は、コンテンツ要求メッセージを送信してきたユーザ端末Tm−nへのコンテンツのアップロードを開始する(ステップS32。図1(8)参照)。その後制御部12は、図3(a)ステップS1の処理に移行する。   Next, the content request acceptance process in step S3 will be described in more detail with reference to FIG. When there is a content request in the confirmation in step S2 (step S2; YES), the control unit 12 first transmits information indicating the current use status of the upload bandwidth in the router Rm including the control unit 12 to the communication unit. 13 (step S30). Here, the “upload bandwidth usage state” is specifically the total number of user terminals Tm-n that are currently connected to the router Rm and are receiving content uploads. In the base network NLm connected to the router Rm, the communication unit 13 uses the total value of the current transmission speed of each content addressed to each user terminal Tm-n as information indicating the use state of the upload band at that time. You can also get it from Next, the control unit 12 confirms whether or not the use state of the upload band acquired by the process of step S30 is equal to or more than a preset first threshold value (step S31). That is, the control unit 12 confirms whether or not the usage state of the communication line is equal to or more than the first threshold based on the information indicating the usage state of the upload band. This first threshold value is a threshold value set in advance corresponding to whether or not content can be immediately uploaded from the router Rm to the user terminal Tm-n that has transmitted the content request message. Specifically, the first threshold is set in advance as the maximum number of user terminals Tm-n that are simultaneously connected to the router Rm and can receive content uploads. When the total value of the transmission speeds of the contents addressed to each user terminal Tm-n is set to the upload band usage state, the first threshold value is set in advance as the upper limit value of the total value. In the confirmation in step S31, when the use state of the upload band is not equal to or greater than the first threshold (step S31; NO), the control unit 12 starts uploading the content to the user terminal Tm-n that has transmitted the content request message. (Step S32; see FIG. 1 (8)). Thereafter, the control unit 12 proceeds to the process of step S1 of FIG.

ステップS31の確認において、アップロード帯域の使用状態が第1閾値以上である場合(ステップS31;YES)、その時点では制御部12が含まれているルータRmからのコンテンツのアップロードを直ちに開始することができない。そこで制御部12は、その制御部12が含まれているルータRmが参加しているP2PネットワークPW内において、コンテンツ要求メッセージにより要求されているコンテンツの保持ノードを検索する(ステップS33)。具体的に制御部12は、そのコンテンツのコンテンツIDを含む検索メッセージを生成し、P2PネットワークPWによりそのコンテンツの保持ノードを検索する。その後制御部12は、ステップS33の処理により保持ノードが一つまたは複数検索できたか否かを確認する(ステップS34)。ステップS34の確認において保持ノードが検索できた場合(ステップS34;YES)、制御部12は、その検索した保持ノードのいずれか一つに対して、通信部13を介して接続する(ステップS35)。このステップS35の接続処理は、検索した保持ノードとの間でいわゆるセッションを確立する処理である。次に制御部12は、接続した保持ノードに対して、その保持ノードにおける現在のアップロード帯域の使用状態を問い合わせる(ステップS36)。この問い合わせとして制御部12は、接続した保持ノードに対して、ネットワークNWを介してアップロード帯域の使用状態の問い合わせメッセージを送信する。ここで、各保持ノードにおける現在のアップロード帯域の使用状態を取得する場合、各ノードのアップロード帯域の使用状態が変化するたびに、その変化後の使用状態を示すメッセージを各ノードから毎回送信する方法も考えられる。しかしながらこの方法では、そのメッセージによりP2PネットワークPWが占有される状態が起こり得る。この場合には、たとえばコンテンツの配信が遅延する等の問題が生じ得る。そこで実施形態では、制御部12が含まれているルータRmにおける現在のアップロード帯域の使用状態が第1閾値以上である場合に、検索された保持ノードに対してセッションを確立して接続する(ステップS35)。そして制御部12は、セッションを確立した保持ノードに対して、現在のアップロード帯域の使用状態を問い合わせる(ステップS36)。これにより、各ノードのアップロード帯域の使用状態が変化するたびにその変化後の使用状態を示すメッセージをリアルタイムに送信する場合に比べて、P2PネットワークPW内において授受されるメッセージの数を減らすことができる。また、ステップS36の処理により問い合わせされるアップロード帯域の使用状態は、具体的には、接続された保持ノードに現在接続されてコンテンツのアップロードを受けている他のルータRmおよび他の装置Nrの総数である。なお、その保持ノードに接続されているネットワークNWの通信回線における、他のルータRm等宛の各コンテンツの現在の伝送速度の合計値を、その時点でのアップロード帯域の使用状態としてもよい。次に制御部12は、ステップS36の処理による問い合わせに対応して保持ノードから送信されてきたアップロード帯域の使用状態に基づき、その使用状態が予め設定された第2閾値以下であるか否かを確認する(ステップS37)。この第2閾値は、その保持ノードから直ちにコンテンツのアップロードができるか否かに対応して予め設定された閾値である。具体的に第2閾値は、その保持ノードに同時に接続されてコンテンツのアップロードを受けることが可能な他のルータRmまたは他の装置Nrの最大数として予め設定されている。なお、その保持ノードからのコンテンツの伝送速度の合計値をアップロード帯域の使用状態とする場合、第2閾値はその合計値の上限値として予め設定される。また第2閾値は、ステップS31の確認に用いられた第1閾値と同値であっても、異なる値であってもよい。ステップS37の確認において保持ノードのアップロード帯域の使用状態が第2閾値以下である場合(ステップS37;YES)、制御部12は、ステップS2の確認において受信したコンテンツ要求メッセージをその保持ノードに転送する(ステップS38)。これにより、その保持ノードからコンテンツのアップロードが行われる。その後制御部12は、図3(a)ステップS1の確認に移行する。   In the confirmation in step S31, when the use state of the upload band is equal to or greater than the first threshold (step S31; YES), the upload of the content from the router Rm including the control unit 12 may be started immediately at that time. Can not. Therefore, the control unit 12 searches for the holding node of the content requested by the content request message in the P2P network PW in which the router Rm in which the control unit 12 is included participates (step S33). Specifically, the control unit 12 generates a search message including the content ID of the content, and searches for a holding node of the content using the P2P network PW. Thereafter, the control unit 12 confirms whether or not one or more holding nodes can be searched by the process of step S33 (step S34). When the holding node can be searched in the confirmation in step S34 (step S34; YES), the control unit 12 connects to any one of the searched holding nodes via the communication unit 13 (step S35). . The connection process of step S35 is a process of establishing a so-called session with the searched holding node. Next, the control unit 12 inquires the connected holding node about the current use status of the upload band in the holding node (step S36). As this inquiry, the control unit 12 transmits an inquiry message of the use state of the upload band to the connected holding node via the network NW. Here, when acquiring the current usage status of the upload bandwidth in each holding node, every time the upload bandwidth usage status of each node changes, a method of transmitting a message indicating the usage status after the change from each node Is also possible. However, in this method, a state in which the P2P network PW is occupied by the message may occur. In this case, for example, there may be a problem that content distribution is delayed. Therefore, in the embodiment, when the use state of the current upload band in the router Rm including the control unit 12 is equal to or more than the first threshold, a session is established and connected to the searched holding node (step S35). Then, the control unit 12 inquires of the holding node that has established the session about the current use status of the upload bandwidth (step S36). As a result, the number of messages exchanged in the P2P network PW can be reduced as compared to the case where a message indicating the changed usage state is transmitted in real time each time the usage state of the upload bandwidth of each node changes. . The use status of the upload band inquired by the process of step S36 is specifically the total number of other routers Rm and other devices Nr that are currently connected to the connected holding node and are receiving content uploads. It is. It should be noted that the total value of the current transmission speeds of the contents addressed to other routers Rm and the like in the communication line of the network NW connected to the holding node may be used as the upload band usage status at that time. Next, the control unit 12 determines whether or not the use state is equal to or less than a second threshold value set in advance based on the use state of the upload band transmitted from the holding node in response to the inquiry in step S36. Confirm (step S37). This second threshold value is a threshold value set in advance corresponding to whether or not content can be uploaded immediately from the holding node. Specifically, the second threshold is set in advance as the maximum number of other routers Rm or other devices Nr that are simultaneously connected to the holding node and can receive content uploads. When the total value of the transmission rates of content from the holding node is set to the upload band usage state, the second threshold value is set in advance as the upper limit value of the total value. The second threshold value may be the same value as the first threshold value used for the confirmation in step S31 or may be a different value. When the use state of the upload band of the holding node is equal to or smaller than the second threshold value in the confirmation in step S37 (step S37; YES), the control unit 12 transfers the content request message received in the confirmation in step S2 to the holding node. (Step S38). Thereby, the content is uploaded from the holding node. Thereafter, the control unit 12 proceeds to the confirmation in step S1 of FIG.

一方、ステップ37の確認においてアップロード帯域の使用状態が第2閾値以下でない場合(ステップS37;NO)、その時点ではその保持ノードからのコンテンツのアップロードを直ちに開始することができない。そこで制御部12は、ステップS34の処理において検索した保持ノードの中に、現在接続している保持ノード以外の他の保持ノードがあるか否かを確認する(ステップS39)。ステップS39の確認において、現在接続している保持ノード以外の他の保持ノードがある場合(ステップS39;YES)、制御部12はその保持ノードに対してステップS35からS38の処理を実行する。ステップS39の確認において現在接続している保持ノード以外の他の保持ノードがない場合(ステップS39;NO)、制御部12は次に、保存先検索処理を実行する(ステップS40)。ステップS40の処理は、ステップS2の確認において受信したコンテンツ要求メッセージにより示されるコンテンツの新たな複製の保存先を、P2PネットワークPW内の他のルータRmまたは他の装置Nrから検索する処理である。このステップS40の処理については、後ほど図4(a)を用いて詳述する。その後制御部12は、ステップS40の処理において新たな複製の保存先が発見できたか否かを確認する(ステップS41)。ステップS41の確認において新たな複製の保存先が発見できた場合(ステップS41;YES)、制御部12はステップS38の処理に移行し、受信したコンテンツ要求メッセージをその保存先に転送する。これにより、その保存先である他のルータRmまたは他の装置Nrからコンテンツのアップロードが行われる。ステップS41の確認において新たな複製の保存先が発見できない場合(ステップS41;NO)、制御部12は、予め設定されている閾値時間だけ待機する(ステップS42)。その後制御部12は、再度ステップS30からS42の処理を実行する。   On the other hand, if the use state of the upload bandwidth is not less than or equal to the second threshold value in the confirmation in step 37 (step S37; NO), the uploading of the content from the holding node cannot be started immediately at that time. Therefore, the control unit 12 confirms whether or not there is a holding node other than the currently connected holding node among the holding nodes searched in the process of step S34 (step S39). In the confirmation in step S39, when there is another holding node other than the currently connected holding node (step S39; YES), the control unit 12 executes the processing of steps S35 to S38 for the holding node. If there is no other holding node other than the currently connected holding node in the confirmation in step S39 (step S39; NO), the control unit 12 next executes a storage destination search process (step S40). The process of step S40 is a process of searching a storage destination of a new copy of the content indicated by the content request message received in the confirmation of step S2 from another router Rm or another device Nr in the P2P network PW. The process of step S40 will be described in detail later with reference to FIG. Thereafter, the control unit 12 confirms whether or not a new copy storage destination has been found in the process of step S40 (step S41). If a new storage location for the copy can be found in the confirmation in step S41 (step S41; YES), the control unit 12 proceeds to the process in step S38 and transfers the received content request message to the storage location. As a result, the content is uploaded from another router Rm or another device Nr that is the storage destination. When a new copy storage destination cannot be found in the confirmation in step S41 (step S41; NO), the control unit 12 waits for a preset threshold time (step S42). Thereafter, the control unit 12 executes the processes from step S30 to S42 again.

また、ステップS34の確認において、要求されているコンテンツの保持ノードが検索できない場合(ステップS34;NO)、制御部12はステップS40の保存先検索処理に移行し、新たな複製の保存先を検索する。   In addition, if the holding node of the requested content cannot be searched in the confirmation in step S34 (step S34; NO), the control unit 12 proceeds to the storage location search process in step S40 and searches for a storage location for a new copy. To do.

次に、ステップS40の保存先検索処理について、より詳細に図4(a)を用いて説明する。この保存先検索処理は、図3(b)に示すステップS39の確認において他の保持ノードがない場合、または図3(b)に示すステップS34の確認において保持ノードが検索できない場合に開始される。図4(a)に示すようにステップS40の処理において制御部12は、P2PネットワークPWに参加するノードの中から、コンテンツを新たに保存させるノードを決定する。すなわち制御部12は、P2PネットワークPW内において他のノードをランダムに決定する(ステップS400)。このステップS400の処理において制御部12は、P2PネットワークPW内において、図3(b)に示すステップS33の処理により検索された保持ノードを除外して他のルータRmまたは他の装置Nrから一つをランダムに決定する。具体的に制御部12は、ステップS33の処理により検索された保持ノードを示すノードID以外のノードIDを、ランダムに一つ生成する。制御部12は、生成されたノードIDを含む検索メッセージを生成し、DHTルーティングテーブルにおいて最も近いP2PネットワークPWの他のノード宛てに送信する。これ以降、この検索メッセージはDHTルーティングによって各ノード間を転送される。これにより検索メッセージは、それに含まれるノードIDのノード、またはそのノードIDに最も近いノードIDのノードに到着する。検索メッセージが到着したノードが自らのノードID等をルータRmに返信することにより、ステップS400のノードのランダムな決定が行われる。また、ステップS400の処理を開始した制御部12は、その開始タイミングから図示しないタイマによる計時を開始する。次に制御部12は、その決定したノードに対して、通信部13を介して接続する(ステップS401)。このステップS401の接続処理は、決定したノードとの間でいわゆるセッションを確立する処理である。次に制御部12は、接続したノードに対して、そのノードにおける現在のアップロード帯域の使用状態を問い合わせる(ステップS402)。この問い合わせ処理は、図3(b)に示すステップS36と同様に使用状態の問い合わせメッセージを送信する処理である。ステップS400からS402までの問い合わせにおいて制御部12は、ランダムに決定されたノードに対してセッションを確立して接続し、問い合わせメッセージを送信する。よってステップS36の問い合わせの場合と同様に、P2PネットワークPW内において授受されるメッセージの数を減らすことができる。またステップS401の処理により問い合わせされるアップロード帯域の使用状態は、具体的には、決定されたノードに現在接続されてコンテンツのアップロードを受けている他のルータRmおよび他の装置Nrの総数である。なお、そのノードに接続されているネットワークNWの通信回線における、他のルータRm等宛の各コンテンツの現在の伝送速度の合計値を、その時点でのアップロード帯域の使用状態としてもよい。次に制御部12は、ステップS401の処理による問い合わせに対応してノードから送信されてきたアップロード帯域の使用状態を示す情報に基づき、その使用状態が上記第2閾値以下であるか否かを確認する(ステップS403)。ステップS403の確認において、決定されたノードのアップロード帯域の使用状態が第2閾値以下である場合(ステップS403;YES)、制御部12は、そのノードをコンテンツの複製の新たな保存先として決定する。そして制御部12は、そのノードに対して、コンテンツ要求メッセージにより示されるコンテンツの複製保存指示を行う(ステップS404)。具体的に制御部12は、ステップS401の処理により接続したノードに対して、複製保存指示メッセージをネットワークNWを介して送信する。なお、この複製保存指示メッセージを受信した他のルータRm等であるノードにおける複製保存処理(図3(a)ステップS5)については、後ほど図4(b)を用いて説明する。次に制御部12は、その制御部12が含まれているルータRmからコンテンツをダウンロードしたユーザ端末Tm−nに対して、そのコンテンツのアップロード依頼を行う(ステップS405)。ステップS405のアップロード依頼は、ステップS404の複製保存指示メッセージを送信したノードに対するアプロード依頼メッセージを、ルータRmが接続されている拠点ネットワークNLmを介してユーザ端末Tm−nに送信する処理である。このアップロード依頼メッセージには、アップロード対象であるコンテンツを識別するためのコンテンツID等と共に、複製保存指示メッセージを送信したノードを示すIPアドレス等が含まれている。なお、アプロード依頼メッセージを受信したユーザ端末Tm−nの制御部21は、受信したアップロード依頼メッセージに含まれているコンテンツIDのコンテンツのアップロードを行う。具体的にその制御部21は、アップロード依頼メッセージに含まれているコンテンツIDにより示されるコンテンツを、アップロード依頼メッセージに含まれているIPアドレスにより示されるノードにネットワークNWを介してアップロードする。ステップS405の処理後、ルータRmの制御部12は図3(b)に示すステップS41の処理に移行する。なおステップS405に続くステップS41の確認において制御部12は、新たな複製の保存先が発見できたと判定し(図3(a)ステップS41;YES参照)、その後の処理を行う。   Next, the storage destination search process in step S40 will be described in more detail with reference to FIG. This storage destination search process is started when there is no other holding node in the confirmation in step S39 shown in FIG. 3B, or when the holding node cannot be searched in the confirmation in step S34 shown in FIG. . As shown in FIG. 4A, in the process of step S40, the control unit 12 determines a node for newly storing content from among nodes participating in the P2P network PW. That is, the control unit 12 randomly determines other nodes in the P2P network PW (step S400). In the process of step S400, the control unit 12 excludes the holding node searched by the process of step S33 shown in FIG. 3B in the P2P network PW and removes one from other routers Rm or other devices Nr. Is determined at random. Specifically, the control unit 12 randomly generates one node ID other than the node ID indicating the holding node searched by the process of step S33. The control unit 12 generates a search message including the generated node ID, and transmits the search message to another node of the closest P2P network PW in the DHT routing table. Thereafter, this search message is transferred between the nodes by DHT routing. As a result, the search message arrives at the node with the node ID included therein or the node with the node ID closest to the node ID. The node to which the search message has arrived returns its own node ID and the like to the router Rm, whereby the node is randomly determined in step S400. Moreover, the control part 12 which started the process of step S400 starts the time measurement by the timer which is not shown in figure from the start timing. Next, the control unit 12 connects to the determined node via the communication unit 13 (step S401). The connection process in step S401 is a process of establishing a so-called session with the determined node. Next, the control unit 12 inquires of the connected node about the current use status of the upload bandwidth in the node (step S402). This inquiry process is a process for transmitting an inquiry message of the use state in the same manner as in step S36 shown in FIG. In the inquiry from step S400 to step S402, the control unit 12 establishes and connects a session to a randomly determined node, and transmits an inquiry message. Therefore, as in the case of the inquiry in step S36, the number of messages exchanged within the P2P network PW can be reduced. In addition, the upload band usage status inquired by the processing of step S401 is specifically the total number of other routers Rm and other devices Nr that are currently connected to the determined node and are receiving content uploads. . Note that the total value of the current transmission speeds of the contents addressed to other routers Rm and the like on the communication line of the network NW connected to the node may be the use state of the upload band at that time. Next, the control unit 12 confirms whether or not the usage state is equal to or less than the second threshold based on the information indicating the usage state of the upload bandwidth transmitted from the node in response to the inquiry in the process of step S401. (Step S403). In the confirmation in step S403, when the use state of the determined upload bandwidth of the node is equal to or smaller than the second threshold (step S403; YES), the control unit 12 determines the node as a new storage destination of the content copy. . Then, the control unit 12 instructs the node to copy and store the content indicated by the content request message (step S404). Specifically, the control unit 12 transmits a copy storage instruction message via the network NW to the nodes connected by the process of step S401. Note that the copy storage process (step S5 in FIG. 3A) in a node that is another router Rm or the like that has received this copy storage instruction message will be described later with reference to FIG. 4B. Next, the control unit 12 requests the user terminal Tm-n that has downloaded the content from the router Rm including the control unit 12 to upload the content (step S405). The upload request in step S405 is a process of transmitting an upload request message for the node that transmitted the copy storage instruction message in step S404 to the user terminal Tm-n via the base network NLm to which the router Rm is connected. The upload request message includes a content ID for identifying the content to be uploaded and an IP address indicating the node that transmitted the copy save instruction message. The control unit 21 of the user terminal Tm-n that has received the upload request message uploads the content with the content ID included in the received upload request message. Specifically, the control unit 21 uploads the content indicated by the content ID included in the upload request message to the node indicated by the IP address included in the upload request message via the network NW. After the process of step S405, the control unit 12 of the router Rm proceeds to the process of step S41 shown in FIG. In the confirmation in step S41 following step S405, the control unit 12 determines that a new copy storage destination has been found (see step S41; FIG. 3A; YES), and performs subsequent processing.

一方、ステップS403の確認において、ノードのアップロード帯域の使用状態が第2閾値以下でない場合(ステップS403;NO)、制御部12は、上記タイマによる計時が予め設定された一定時間が経過したことを示しているか否かを確認する(ステップS406)。ステップS406の確認において一定時間が経過していないことが示されているとき(ステップS406;NO)、制御部12は上記ステップS400の処理に移行して他のノードのランダムな決定を行う。一方、ステップS406の確認において一定時間が経過したことが示されているとき(ステップS406;YES)、制御部12はそのまま図3(b)に示すステップS41の処理に移行する。なおステップS406;YESの確認に続くステップS41の確認において制御部12は、新たな複製の保存先が発見できなかったと判定し(図3(a)ステップS41;NO参照)、その後の処理を行う。   On the other hand, in the confirmation in step S403, if the use state of the upload bandwidth of the node is not less than or equal to the second threshold (step S403; NO), the control unit 12 confirms that a predetermined time set in advance by the timer has elapsed. Whether or not it is shown is confirmed (step S406). When the confirmation in step S406 indicates that the predetermined time has not elapsed (step S406; NO), the control unit 12 proceeds to the process of step S400 and makes a random determination of other nodes. On the other hand, when the confirmation in step S406 indicates that a certain time has elapsed (step S406; YES), the control unit 12 proceeds to the process of step S41 shown in FIG. Note that, in the confirmation in step S41 following the confirmation in step S406; YES, the control unit 12 determines that a new copy storage destination has not been found (see step S41; NO in FIG. 3A), and performs subsequent processing. .

次に、ステップS404の処理による複製保存指示メッセージを受信した他のルータRm等であるノードにおける複製保存処理(図3(a)ステップS5)について、より詳細に図4(b)を用いて説明する。なお、図4(b)に示す処理は、複製保存指示メッセージを他のルータRmが受信した場合と他の装置Nrが受信した場合とで同様である。よって以下の説明では、複製保存指示メッセージを他のルータRmが受信した場合について説明する。図4(b)に示すように、複製保存指示メッセージを受信した他のルータRmの制御部12は、図4(a)ステップS405の処理に対応したユーザ端末Tm−nからのコンテンツのアップロードを待機する(ステップS50)。またステップS50の処理を開始した制御部12は、その開始タイミングから図示しないタイマによる計時を開始する。次に制御部12は、ステップS50の待機処理中に開始されたコンテンツのアップロードが完了したか否かを確認する(ステップS51)。ステップS51の確認においてアップロードが完了した場合(ステップS51;YES)、制御部12は次に、複製保存指示メッセージを送信してきたルータRmから、アップロードが完了したコンテンツに対応するメタ情報を取得する(ステップS52)。このメタ情報には、アップロードが完了したコンテンツを分割してチャンクとして記憶保存するための分割指示情報が含まれている。この分割指示情報は、たとえばチャンク一つ分に相当するデータ量や、各チャンクの区切りを示す情報等を含む。次に制御部12は、取得したメタ情報に含まれている分割指示情報に基づいて、アップロードが完了したコンテンツを分割してチャンクを作成し、記憶部11に記憶させる(ステップS53)。その後制御部12は、図3(a)ステップS1の処理に移行する。   Next, the copy storage process (step S5 in FIG. 3 (a)) in a node that is another router Rm or the like that has received the copy storage instruction message in step S404 will be described in more detail with reference to FIG. 4 (b). To do. The process shown in FIG. 4B is the same when the other router Rm receives the copy storage instruction message and when the other device Nr receives it. Therefore, in the following description, a case where another router Rm receives a copy save instruction message will be described. As shown in FIG. 4B, the control unit 12 of the other router Rm that has received the copy storage instruction message uploads the content from the user terminal Tm-n corresponding to the process in step S405 of FIG. Wait (step S50). Moreover, the control part 12 which started the process of step S50 starts the time measurement by the timer which is not shown in figure from the start timing. Next, the control unit 12 confirms whether or not the content upload started during the standby process in step S50 is completed (step S51). When the upload is completed in the confirmation in step S51 (step S51; YES), the control unit 12 next acquires meta information corresponding to the content that has been uploaded from the router Rm that has transmitted the copy save instruction message (step S51; YES). Step S52). This meta information includes division instruction information for dividing the content that has been uploaded and storing and saving it as a chunk. This division instruction information includes, for example, a data amount corresponding to one chunk, information indicating a delimiter of each chunk, and the like. Next, the control unit 12 creates a chunk by dividing the content that has been uploaded based on the division instruction information included in the acquired meta information, and stores the chunk in the storage unit 11 (step S53). Thereafter, the control unit 12 proceeds to the process of step S1 of FIG.

一方、ステップS51の確認においてアップロードが完了していない場合(ステップS51;NO)、制御部12は、計時中の上記タイマによる計時が予め設定された一定時間が経過したことを示しているか否かを確認する(ステップS54)。ステップS54の確認において一定時間が経過していないことが示されているとき(ステップS54;NO)、制御部12は上記ステップS50の処理に移行してアップロードの完了を待つ。一方、ステップS54の確認において一定時間が経過したことが示されているとき(ステップS54;YES)、制御部12は、複製保存指示メッセージを送信してきたルータRmから複製対象のコンテンツのダウンロードを行う(ステップS55)。このステップS55の処理は、ユーザ端末Tm−nからのアップロードが行われないため、複製保存指示メッセージを送信してきたルータRmからそのコンテンツをダウンロードする処理である。その後制御部12は、図3(a)ステップS1の処理に移行する。   On the other hand, when the upload is not completed in the confirmation in step S51 (step S51; NO), the control unit 12 indicates whether or not the time measured by the timer during the time measurement indicates that a predetermined time has elapsed. Is confirmed (step S54). When the confirmation in step S54 indicates that the predetermined time has not elapsed (step S54; NO), the control unit 12 proceeds to the process of step S50 and waits for completion of the upload. On the other hand, when the confirmation in step S54 indicates that a certain time has elapsed (step S54; YES), the control unit 12 downloads the content to be copied from the router Rm that has transmitted the copy save instruction message. (Step S55). The process of step S55 is a process of downloading the content from the router Rm that has transmitted the copy storage instruction message because the upload from the user terminal Tm-n is not performed. Thereafter, the control unit 12 proceeds to the process of step S1 of FIG.

以上説明したように、実施形態の配信システムSの処理によれば、図4(a)ステップS403およびS404に例示するように、P2PネットワークPW内の他のノードから取得したアップロード帯域の使用状態が第2閾値以下であるノードが、コンテンツの新たな複製の保存先と決定される。アップロード帯域の使用状態が第2閾値以下であるノードにコンテンツの複製を新たに保存させることで、保存後のコンテンツを迅速且つスムーズにユーザ端末Tm−nに配信することができる。   As described above, according to the processing of the distribution system S of the embodiment, as illustrated in steps S403 and S404 in FIG. 4A, the use state of the upload bandwidth acquired from other nodes in the P2P network PW is A node that is equal to or smaller than the second threshold is determined as a storage destination for a new copy of the content. By newly storing a copy of the content in a node whose upload band usage state is equal to or less than the second threshold, the stored content can be quickly and smoothly distributed to the user terminal Tm-n.

また、図4(a)ステップS400に例示するように、新たに複製を保存すべきコンテンツが未保存であるノードの中からランダムに保存先が決定される。よって、簡易な構成でランダムに複製の新たな保存先を検索しつつ、その選択のためのP2PネットワークPW内のメッセージの数を減らすことができる。   Further, as illustrated in step S400 of FIG. 4A, the storage destination is randomly determined from the nodes in which the content to be stored newly is not stored. Therefore, it is possible to reduce the number of messages in the P2P network PW for selection while searching for a new storage destination of a replica at random with a simple configuration.

更に、図4(a)ステップS400に例示するように、新たに保存すべきコンテンツが保存済みであるノードが除外されて新たな保存先のノードが決定される。よって、保存済みか否かに拘わらず新たな保存先の候補を検索する場合に比して、その検索および保存等のためのP2PネットワークPW内のメッセージの数を減らすことができる。   Further, as illustrated in step S400 of FIG. 4A, a node where a content to be newly saved has been saved is excluded and a new saving destination node is determined. Therefore, the number of messages in the P2P network PW for the search and storage can be reduced as compared with the case of searching for a new storage destination candidate regardless of whether or not it has been stored.

更にまた、図3(b)ステップS42に例示するように、新たな保存先が検索されない場合に、一定時間だけ待機した後に再度の接続処理および決定処理を行う。新たな保存先が検索できる可能性が高まり、更に直ちに再接続を行う場合に比してP2PネットワークPW内の不要なメッセージの授受も防止できる。   Furthermore, as exemplified in step S42 of FIG. 3B, when a new storage destination is not searched, the connection process and the determination process are performed again after waiting for a predetermined time. The possibility of searching for a new storage destination is increased, and unnecessary message transmission / reception within the P2P network PW can be prevented as compared with the case where reconnection is immediately performed.

また、図4(b)ステップS50からS53に例示するように、配信システムS外のユーザ端末Tm−nから新たに複製を保存すべきコンテンツが取得されるので、配信システムS内のデータの授受を少なくすることができる。   In addition, as illustrated in steps S50 to S53 in FIG. 4B, content to be stored in a new copy is acquired from the user terminal Tm-n outside the distribution system S, so that data in the distribution system S is exchanged. Can be reduced.

なお、実施形態の複製保存処理(図5(a)参照)では、複製を保存すべきコンテンツを、ユーザ端末Tm−nまたは複製保存指示メッセージを送信してきたルータRmから取得したが、これ以外に、そのコンテンツを管理しているサーバから取得してもよい。またP2PネットワークPW内において、従来と同様の方法により他のノードからその複製を取得してもよい。   In the copy storage process (see FIG. 5A) of the embodiment, the content to store the copy is acquired from the user terminal Tm-n or the router Rm that has transmitted the copy storage instruction message. The content may be acquired from a server that manages the content. Further, in the P2P network PW, the duplicate may be obtained from another node by the same method as the conventional method.

(II)変形形態
次に、本発明の変形形態について、図5を用いて説明する。なお図5は、変形形態のルータ等における処理を示すフローチャートである。図5においては、図4と同様の処理については同様のステップ番号を付して、細部の説明は省略する。
(II) Modified Embodiment Next, a modified embodiment of the present invention will be described with reference to FIG. FIG. 5 is a flowchart showing processing in a modified router or the like. In FIG. 5, the same steps as those in FIG. 4 are denoted by the same step numbers, and detailed description thereof is omitted.

実施形態の配信システムSでは、コンテンツの複製を新たに保存すべきノードを選択する際、そのコンテンツが未保存であるノードの中からランダムに保存先を決定した(図4(a)ステップS400参照)。これに対して変形形態の配信システムSでは、ノードの記憶部11または22におけるコンテンツキャッシュ領域の空き容量を考慮して、新たな保存先を決定する。なお、変形形態の配信システムに含まれるルータ等のハードウエア的な構成は、基本的には実施形態の配信システムSに含まれるルータRm等のハードウエア的な構成と同一である。よって以下の説明では、実施形態の配信システムSに含まれるルータRm等における部材番号を引用して、変形形態の配信システムの処理を説明する。また、変形形態の配信システムSの処理は、実施形態の配信システムSに対して、複製保存処理(図5(a)参照)および保存先検索処理(図5(b)参照)のみが異なる。よって以下では、これら異なる処理のみ説明する。更に図5(a)に示す複製保存処理は、複製保存指示メッセージ(図4(a)ステップS404参照)を他のルータRmが受信した場合と他の装置Nrが受信した場合とで同様である。よって図5(a)に示すフローチャートでは、複製保存指示メッセージを他のルータRmが受信した場合について説明する。   In the distribution system S of the embodiment, when selecting a node where a copy of the content is to be newly stored, the storage destination is randomly determined from the nodes in which the content is not stored (see step S400 in FIG. 4A). ). On the other hand, in the modified distribution system S, a new storage destination is determined in consideration of the free capacity of the content cache area in the storage unit 11 or 22 of the node. Note that the hardware configuration of a router or the like included in the modified distribution system is basically the same as the hardware configuration of the router Rm or the like included in the distribution system S of the embodiment. Therefore, in the following description, the processing of the modified distribution system will be described with reference to the member numbers in the router Rm and the like included in the distribution system S of the embodiment. Further, the processing of the distribution system S according to the modified embodiment is different from the distribution system S according to the embodiment only in copy storage processing (see FIG. 5A) and storage destination search processing (see FIG. 5B). Therefore, only these different processes will be described below. Furthermore, the copy storage process shown in FIG. 5A is the same when the other router Rm receives the copy storage instruction message (see step S404 in FIG. 4A) and when the other device Nr receives it. . Therefore, in the flowchart shown in FIG. 5A, a case where another router Rm receives a copy storage instruction message will be described.

図5(a)に示すように、変形形態の複製保存処理(図3(a)ステップS5参照)において制御部12は、先ず実施形態の複製保存処理(図4(b)参照)のステップS50からS55までの処理と同様の処理を実行する。次に、コンテンツのチャンク(ステップS53)、またはダウンロードされたコンテンツが記憶部11に記憶されて保存されたら(ステップS55)、制御部12は空き容量情報公開処理を行う(ステップS56)。この空き容量情報公開処理は、保存後の記憶部11におけるコンテンツキャッシュ領域の空き容量を示す空き容量情報を含むパブリッシュメッセージを、P2PネットワークPW内のノードに送信する処理である。変形形態の空き容量情報公開処理においては、P2PネットワークPW内の各ノードにおけるコンテンツキャッシュ領域の空き容量が、複数の範囲に予め区分されている。制御部12は、たとえば四つに区分された空き容量の範囲の値を記憶している。制御部12は、たとえば空き容量30ギガバイト以上を第1範囲、空き容量20ギガバイト以上30ギガバイト未満を第2範囲として、それぞれ記憶している。また制御部12は、空き容量10ギガバイト以上20ギガバイト未満を第3範囲、空き容量10ギガバイト未満を第4範囲として、それぞれ記憶している。制御部12は、コンテンツの保存等が行われたら、その保存後の記憶部11におけるコンテンツキャッシュ領域の空き容量を検出する。その後制御部12は、検出した空き容量が含まれる空き容量の範囲を示す文字列を、たとえばコンテンツIDを生成するときと同じハッシュ関数によりハッシュ化する。たとえば検出された空き容量が40ギガバイトであった場合、制御部12は、その空き容量が属する範囲を示す「30ギガバイト以上」または「第1範囲」の文字列をハッシュ関数によりハッシュ化する。制御部12は、このハッシュ化された文字列を含むパブリッシュメッセージを、その文字列に対応するノードIDのルートノード宛に送信する。このルートノードは、その空き容量の範囲に属する空き容量のコンテンツキャッシュ領域を有するノードを管理する空き容量管理用のルートノードである。パブリッシュメッセージは、DHTルーティングによって、その宛先である空き容量管理用のルートノードに到着する。これにより、他のルータRmおよび他の装置Nrは、その空き容量管理用のルートノードに管理されているルータRmの記憶部11の空き容量の範囲または他の装置Nrの記憶部22の空き容量の範囲が参照可能となる。その後制御部12は、図3(a)ステップS1の処理に移行する。   As shown in FIG. 5A, in the copy storage process of the modified form (see step S5 in FIG. 3A), the control unit 12 firstly performs step S50 of the copy storage process of the embodiment (see FIG. 4B). To S55 are executed. Next, when the content chunk (step S53) or the downloaded content is stored and stored in the storage unit 11 (step S55), the control unit 12 performs a free space information disclosure process (step S56). This free capacity information disclosure process is a process of transmitting a publish message including free capacity information indicating the free capacity of the content cache area in the storage unit 11 after storage to a node in the P2P network PW. In the free capacity information disclosure process of the modified form, the free capacity of the content cache area in each node in the P2P network PW is divided into a plurality of ranges in advance. The control unit 12 stores, for example, a value of a free capacity range divided into four. For example, the control unit 12 stores a free capacity of 30 gigabytes or more as a first range and a free capacity of 20 gigabytes or more and less than 30 gigabytes as a second range. The control unit 12 stores a free space of 10 gigabytes or more and less than 20 gigabytes as a third range and a free space of less than 10 gigabytes as a fourth range. When the content is stored, the control unit 12 detects the free capacity of the content cache area in the storage unit 11 after the storage. Thereafter, the control unit 12 hashes the character string indicating the range of the free space including the detected free space with the same hash function as that used when generating the content ID, for example. For example, if the detected free capacity is 40 gigabytes, the control unit 12 hashes a character string of “30 gigabytes or more” or “first range” indicating the range to which the free capacity belongs using a hash function. The control unit 12 transmits a publish message including the hashed character string to the root node of the node ID corresponding to the character string. This root node is a free capacity management root node for managing a node having a free capacity content cache area belonging to the free capacity range. The publish message arrives at the free capacity management route node as the destination by DHT routing. As a result, the other router Rm and the other device Nr have the free capacity range of the storage unit 11 of the router Rm managed by the free capacity management route node or the free capacity of the storage unit 22 of the other device Nr. This range can be referred to. Thereafter, the control unit 12 proceeds to the process of step S1 of FIG.

次に、変形形態の保存検索処理について図5(b)を用いて説明する。変形形態の保存検索処理において制御部12は、先ず上記空き容量の範囲を、最上位の第1範囲に設定する(ステップS410)。次に制御部12は、その時点で設定されている空き容量の範囲に該当するコンテンツキャッシュ領域の空き容量を有するノードを、P2PネットワークPW内において検索する(ステップS411)。具体的に制御部12は、ハッシュ化された空き容量の範囲を示す文字列を含む検索メッセージを、その空き容量の範囲に対応する空き容量管理用のルートノードに宛てて送信する。そして制御部12は、その検索メッセージに対応した保持ノードのIPアドレスを含む返信を、空き容量管理用のルートノードから取得する。これにより制御部12は、該当するコンテンツキャッシュ領域の空き容量を有するノードを検索する。次に制御部12は、ステップS411の処理により該当するノードが一つまたは複数検索できたか否かを確認する(ステップS412)。ステップS412の確認において該当するノードが検索できた場合(ステップS412;YES)、制御部12は、その検索したノードの中からいずれか一つをランダムに決定する(ステップS413)。なおステップS413の処理において制御部12は、P2PネットワークPW内において、図3(b)に示すステップS33の処理により検索された保持ノードを除外して、他のルータRmまたは他の装置Nrから該当するノードを決定する。また、ステップS413の処理を開始した制御部12は、その開始タイミングから図示しないタイマによる計時を開始する。これ以降制御部12は、実施形態の保存先検索処理(図4(a)参照)のステップS401からS406までの処理と同様の処理を実行する。ステップS405の処理後、またはステップS406の確認において一定時間が経過したことが示されているとき(ステップS406;YES)、制御部12はそのまま図3(b)に示すステップS41の処理に移行する。一方ステップS406の確認において一定時間が経過していないことが示されているとき(ステップS406;NO)、制御部12は、ステップS412の処理において検索したノードの中に、現在接続しているノード以外の他のノードがあるか否かを確認する(ステップS417)。ステップS417の確認において、現在接続しているノード以外の他のノードがある場合(ステップS417;YES)、制御部12はそのノードに対してステップS413およびS401からS406の処理を実行する。ステップS417の確認において現在接続しているノード以外の他のノードがない場合(ステップS417;NO)、制御部12は後述するステップS414の処理に移行する。   Next, a storage search process according to a modified embodiment will be described with reference to FIG. In the storage search process according to the modified embodiment, the control unit 12 first sets the free space range to the highest first range (step S410). Next, the control unit 12 searches the P2P network PW for a node having free capacity in the content cache area corresponding to the free capacity range set at that time (step S411). Specifically, the control unit 12 transmits a search message including a character string indicating the hashed free space range to the root node for free space management corresponding to the free space range. Then, the control unit 12 acquires a reply including the IP address of the holding node corresponding to the search message from the root node for free capacity management. As a result, the control unit 12 searches for a node having a free capacity in the corresponding content cache area. Next, the control unit 12 checks whether or not one or a plurality of corresponding nodes can be searched by the process of step S411 (step S412). When the corresponding node can be searched in the confirmation in step S412, the control unit 12 randomly determines one of the searched nodes (step S413). In the process of step S413, the control unit 12 excludes the holding node searched by the process of step S33 shown in FIG. 3B in the P2P network PW, and applies from the other router Rm or another apparatus Nr. Determine the node to be used. Moreover, the control part 12 which started the process of step S413 starts the time measurement by the timer which is not shown in figure from the start timing. Thereafter, the control unit 12 executes processing similar to the processing from step S401 to S406 of the storage destination search processing (see FIG. 4A) of the embodiment. After the process of step S405 or when it is shown in the confirmation of step S406 that a certain time has elapsed (step S406; YES), the control unit 12 proceeds to the process of step S41 shown in FIG. . On the other hand, when the confirmation in step S406 indicates that the predetermined time has not elapsed (step S406; NO), the control unit 12 determines that the currently connected node among the nodes searched in the process of step S412. It is confirmed whether there is another node other than (step S417). If it is confirmed in step S417 that there is another node other than the currently connected node (step S417; YES), the control unit 12 performs the processes of steps S413 and S401 to S406 on the node. If there is no other node other than the currently connected node in the confirmation in step S417 (step S417; NO), the control unit 12 proceeds to the process in step S414 described later.

一方、ステップS412の確認において該当するノードが検索できない場合(ステップS412;NO)、制御部12は次に、上記空き容量の範囲を一段階下げて第2範囲に再設定する(ステップS414)。次に制御部12は、ステップS414の処理において再設定した空き容量の範囲が、複数設定された空き容量の範囲のうち最下位の第4範囲となったか否かを確認する(ステップS415)。ステップS415の確認において、再設定された空き容量の範囲が第4範囲となっていない場合(ステップS415;NO)、制御部12は、再設定された空き容量の範囲について上記ステップS411からS413およびS401以降の処理を行う。一方ステップS415の確認において、再設定された空き容量の範囲が第4範囲となっている場合(ステップS415;YES)、制御部12は、P2PネットワークPW内において他のノードをランダムに一つ決定する(ステップS416)。このステップS416の処理は、再設定された空き容量の範囲が第4範囲になった場合は、もはや空き容量の範囲に基づく検索を行う意味がないため、P2PネットワークPW内において他のノードをランダムに一つ決定する処理である。このステップS416の処理は、図4(a)ステップS400の処理と同様のランダムな決定処理である。その後制御部12は、ステップS415の処理により選択したノードに対して、そのノードに対してステップS401からS406およびS416の処理を実行する。   On the other hand, if the corresponding node cannot be searched in the confirmation in step S412, (step S412; NO), the control unit 12 then lowers the free space range by one step and resets it to the second range (step S414). Next, the control unit 12 confirms whether or not the free space range reset in the process of step S414 is the lowest fourth range among the plurality of free space ranges set (step S415). In the confirmation in step S415, when the reset free space range is not the fourth range (step S415; NO), the control unit 12 performs the above steps S411 to S413 and the reset free space range. The process after S401 is performed. On the other hand, in the confirmation in step S415, if the reset free space range is the fourth range (step S415; YES), the control unit 12 randomly determines one other node in the P2P network PW. (Step S416). In the process of step S416, when the reset free space range becomes the fourth range, it is no longer meaningful to perform a search based on the free space range, so other nodes are randomly assigned in the P2P network PW. This is a process for determining one. The process of step S416 is a random determination process similar to the process of step S400 of FIG. Thereafter, the control unit 12 performs the processes of steps S401 to S406 and S416 on the node selected by the process of step S415.

以上説明した変形形態の配信システムSの処理によれば、実施形態の配信システムSの処理による作用効果に加えて、制御部12は、記憶部11のコンテンツキャッシュ領域の空き容量が大きいノードから順に、新たに保存すべきコンテンツの保存先を決定する。よって、各ノードのコンテンツキャッシュ領域を有効に活用してコンテンツを新たに保存させることができる。また、新たな保存先のノードの決定に当たり、制御部12はコンテンツキャッシュ領域の空き容量を複数の範囲に分けてその決定の基準とする。よって、空き容量の値自体を逐次検索の基準とする場合に比して、その決定のためのP2PネットワークPW内のメッセージの授受を減らすことができる。   According to the processing of the distribution system S of the modified embodiment described above, in addition to the operational effects of the processing of the distribution system S of the embodiment, the control unit 12 sequentially starts from the node with the largest free capacity in the content cache area of the storage unit 11. Then, the storage destination of the content to be newly stored is determined. Therefore, content can be newly stored by effectively using the content cache area of each node. Further, when determining a new storage destination node, the control unit 12 divides the free capacity of the content cache area into a plurality of ranges and uses it as a reference for the determination. Therefore, compared with the case where the free capacity value itself is used as a reference for the sequential search, it is possible to reduce the exchange of messages in the P2P network PW for the determination.

なお、上記実施形態および変形形態においては、本発明のノード装置をルータに適用していた。しかしながら、本発明のノード装置を、たとえば、プロキシサーバ、ロードバランサ、ウェブアクセラレータ等の、情報を中継する機能を有するネットワーク機器に適用してもよい。また、本発明のノード装置を、たとえば、キャッシュサーバ、エッジサーバ等のサーバに適用してもよい。   In the above embodiment and modification, the node device of the present invention is applied to a router. However, the node device of the present invention may be applied to a network device having a function of relaying information, such as a proxy server, a load balancer, and a web accelerator. The node device of the present invention may be applied to a server such as a cache server or an edge server.

また、上記実施形態においては、オーバーレイネットワークに、DHTを利用したP2Pネットワークが適用されていたが、これに限られるものではない。たとえば、他のP2Pネットワーク、またはオーバーレイネットワークを用いたシステムが適用されてもよい。DHTを利用しないP2Pネットワークとしては、たとえば、ハイブリッド型のP2Pネットワークがある。   In the above embodiment, the P2P network using DHT is applied to the overlay network. However, the present invention is not limited to this. For example, a system using another P2P network or an overlay network may be applied. An example of a P2P network that does not use DHT is a hybrid P2P network.

11、22 記憶部
12、21 制御部
13、24 通信部
Rm ルータ
SP P2P用DNSサーバ
SO 組織用DNSサーバ
NLm 拠点ネットワーク
NW ネットワーク
PW P2Pネットワーク
S 配信システム
11, 22 Storage unit 12, 21 Control unit 13, 24 Communication unit Rm Router SP P2P DNS server SO Organization DNS server NLm Base network NW network PW P2P network S Distribution system

Claims (7)

ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムの前記ノード装置において、
前記コンテンツを記憶する記憶手段と、
前記ネットワークに接続するために、前記記憶手段を備える前記ノード装置が接続されている通信回線の使用状態を示す第1状態情報を取得する第1取得手段と、
前記第1取得手段により取得された前記第1状態情報に基づいて、所定の第1閾値以上に前記通信回線が使用されているかを判定する判定手段と、
前記通信回線が前記第1閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定する第1決定手段と、
前記第1決定手段により決定された前記ノード装置に接続する接続手段と、
前記接続手段により接続した前記ノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第2状態情報を取得する第2取得手段と、
前記第2取得手段により取得された前記第2状態情報に基づいて、前記接続手段により接続した前記ノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第2閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定する第2決定手段と、
を備えることを特徴とするノード装置。
In the node device of the communication system in which content is distributed and stored in the plurality of node devices by an overlay network configured by a plurality of node devices capable of communicating with each other via a network,
Storage means for storing the content;
First acquisition means for acquiring first state information indicating a use state of a communication line to which the node device including the storage means is connected to connect to the network;
Determination means for determining whether the communication line is used above a predetermined first threshold based on the first state information acquired by the first acquisition means;
First determining means for determining, from among the node devices participating in the overlay network, a node device that is a candidate node device for storing the content, when the communication line is used above the first threshold; ,
Connection means for connecting to the node device determined by the first determination means;
Second acquisition means for acquiring, from the node device connected by the connection means, second state information indicating a use state of the communication line to which the connected node device is connected;
Based on the second state information acquired by the second acquisition means, a use state of the communication line connected to the node device among the node devices connected by the connection means is a predetermined second Second determining means for determining the node device that is equal to or less than a threshold as a storage destination of the content;
A node device comprising:
前記第1決定手段は、前記オーバーレイネットワークに参加する前記複数のノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置をランダムに決定することを特徴とする請求項1に記載のノード装置。   The first determining unit randomly determines a node device that is a candidate node device for storing the content from among the plurality of node devices participating in the overlay network. Node equipment. 前記通信システムにおいては、前記複数のノード装置間において、前記オーバーレイネットワークを介してメッセージが授受されることにより前記コンテンツの記憶および配信が行われ、
前記記憶手段を備える前記ノード装置に接続されている前記通信回線が前記第1閾値以上に使用されているとき、前記コンテンツを記憶済みのノード装置を前記オーバーレイネットワークにおいて検索する検索手段を更に備え、
前記第1決定手段は、前記検索手段により検索された前記ノード装置以外のノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定することを特徴とする請求項1または請求項2に記載のノード装置。
In the communication system, the content is stored and distributed by exchanging messages via the overlay network between the plurality of node devices.
When the communication line connected to the node device comprising the storage means is used for the first threshold value or more, it further comprises search means for searching the overlay network for a node device that has stored the content,
The first determination unit determines a node device that is a candidate for a node device that stores the content from among node devices other than the node device searched by the search unit. The node device according to claim 2.
前記記憶手段の空き容量を決定する容量決定手段と、
前記容量決定手段により決定された空き容量を示す空き容量情報を、前記空き容量情報を管理する前記オーバーレイネットワークのノード装置宛に送信する送信手段と、
他の前記ノード装置についての前記空き容量情報を、前記空き容量情報を管理するノード装置から取得する第3取得手段と、
を備え、
前記第1決定手段は、前記第3取得手段により取得された前記空き容量情報に基づき、前記空き容量情報により示される前記空き容量が大きいノード装置から順に、前記コンテンツを記憶させるノード装置の候補となるノード装置として決定することを特徴とする請求項1から請求項3のいずれか一項に記載のノード装置。
Capacity determining means for determining the free capacity of the storage means;
Transmitting means for transmitting free capacity information indicating the free capacity determined by the capacity determining means to the node device of the overlay network that manages the free capacity information;
Third acquisition means for acquiring the free capacity information about the other node apparatus from a node apparatus that manages the free capacity information;
With
The first determination unit includes node device candidates for storing the content in order from the node device with the larger free space indicated by the free space information based on the free space information acquired by the third acquisition unit. The node device according to claim 1, wherein the node device is determined as a node device.
前記第2決定手段による前記コンテンツの記憶先の決定において、前記接続手段により接続した各前記ノード装置に接続されている前記通信回線の使用状態が前記第2閾値より高い場合、所定の閾値時間だけ待機した後、前記接続手段は、前記第1決定手段により決定された前記ノード装置に対して再接続し、
前記第2取得手段は、前記接続手段により再接続された前記ノード装置から前記第2状態情報を再取得し、
前記第2決定手段は、前記第2取得手段により再取得された前記第2状態情報に基づいて、前記コンテンツの記憶先であるノード装置を決定することを特徴とする請求項1から請求項4のいずれか一項に記載のノード装置。
In the determination of the storage destination of the content by the second determination unit, when the use state of the communication line connected to each of the node devices connected by the connection unit is higher than the second threshold, only a predetermined threshold time After waiting, the connection means reconnects to the node device determined by the first determination means,
The second acquisition means re-acquires the second state information from the node device reconnected by the connection means,
The second determination unit determines a node device that is a storage destination of the content based on the second state information reacquired by the second acquisition unit. The node device according to any one of the above.
ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムの前記ノード装置であって、前記コンテンツを記憶する記憶手段を備えるノード装置に含まれるコンピュータに、
前記ネットワークに接続するために、前記記憶手段を備える前記ノード装置が接続されている通信回線の使用状態を示す第1状態情報を取得するステップと、
前記取得された第1状態情報に基づいて、所定の第1閾値以上に前記通信回線が使用されているかを判定するステップと、
前記通信回線が前記第1閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定するステップと、
前記決定されたノード装置に接続するステップと、
前記接続したノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第2状態情報を取得するステップと、
前記取得された第2状態情報に基づいて、前記接続したノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第2閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定するステップと、
を実行させることを特徴とするノード装置用プログラム。
The node device of a communication system in which content is distributed and stored in the plurality of node devices by an overlay network composed of a plurality of node devices that can communicate with each other via a network, and stores the content In a computer included in a node device having a storage means,
Obtaining first state information indicating a use state of a communication line to which the node device including the storage unit is connected to connect to the network;
Determining whether the communication line is used above a predetermined first threshold based on the acquired first state information;
Determining a node device as a candidate node device for storing the content from among the node devices participating in the overlay network when the communication line is used at the first threshold value or more;
Connecting to the determined node device;
Obtaining second state information indicating a use state of the communication line to which the connected node device is connected from the connected node device;
Based on the acquired second state information, among the connected node devices, the node device whose use state of the communication line connected to the node device is equal to or less than a predetermined second threshold value, Determining the content storage location;
A program for a node device, characterized in that
ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムにおいて実行される情報処理方法において、
前記ネットワークに接続するために、前記ノード装置が接続されている通信回線の使用状態を示す第1状態情報を取得する第1取得ステップと、
前記取得された第1状態情報に基づいて、所定の第1閾値以上に前記通信回線が使用されているかを判定する判定ステップと、
前記通信回線が前記第1閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定する第1決定ステップと、
前記決定されたノード装置に接続する接続ステップと、
前記接続したノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第2状態情報を取得する第2取得ステップと、
前記取得された第2状態情報に基づいて、前記接続したノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第2閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定する第2決定ステップと、
を含むことを特徴とする情報処理方法。
In an information processing method executed in a communication system in which content is distributed and stored in the plurality of node devices by an overlay network configured by a plurality of node devices capable of communicating with each other via a network,
A first acquisition step of acquiring first state information indicating a use state of a communication line to which the node device is connected in order to connect to the network;
A determination step of determining whether the communication line is used above a predetermined first threshold based on the acquired first state information;
A first determining step of determining, from among the node devices participating in the overlay network, a node device that is a candidate node device for storing the content, when the communication line is used above the first threshold; ,
A connection step of connecting to the determined node device;
A second acquisition step of acquiring second state information indicating a use state of the communication line to which the connected node device is connected, from the connected node device;
Based on the acquired second state information, among the connected node devices, the node device whose use state of the communication line connected to the node device is equal to or less than a predetermined second threshold value, A second determination step for determining a content storage destination;
An information processing method comprising:
JP2010221003A 2010-09-30 2010-09-30 Node device, program for node device and information processing method Pending JP2012078903A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010221003A JP2012078903A (en) 2010-09-30 2010-09-30 Node device, program for node device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010221003A JP2012078903A (en) 2010-09-30 2010-09-30 Node device, program for node device and information processing method

Publications (1)

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

Family

ID=46239124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010221003A Pending JP2012078903A (en) 2010-09-30 2010-09-30 Node device, program for node device and information processing method

Country Status (1)

Country Link
JP (1) JP2012078903A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101629106B1 (en) * 2014-12-17 2016-06-09 경희대학교 산학협력단 Method for forwarding content in content centric network based on the hash value of content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11353246A (en) * 1998-06-04 1999-12-24 Hitachi Ltd Method and device for file management and storage medium in which file managing method is recorded
JP2005227842A (en) * 2004-02-10 2005-08-25 Nippon Telegr & Teleph Corp <Ntt> Replication procedure in p2p communication, apparatus using it, and its program
JP2007065714A (en) * 2005-08-29 2007-03-15 Nippon Telegr & Teleph Corp <Ntt> Method for dynamically controlling replica for pure p2p communication, device having it, and its program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11353246A (en) * 1998-06-04 1999-12-24 Hitachi Ltd Method and device for file management and storage medium in which file managing method is recorded
JP2005227842A (en) * 2004-02-10 2005-08-25 Nippon Telegr & Teleph Corp <Ntt> Replication procedure in p2p communication, apparatus using it, and its program
JP2007065714A (en) * 2005-08-29 2007-03-15 Nippon Telegr & Teleph Corp <Ntt> Method for dynamically controlling replica for pure p2p communication, device having it, and its program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200600215021; 丸田 大輔、他2名: 'P2Pネットワークにおけるストレージ負荷分散実現のための複製配置手法' 電子情報通信学会技術研究報告 第103巻 第692号, 20040227, pp.131-136, 社団法人電子情報通信学会 *
JPN6013062728; 丸田 大輔、他2名: 'P2Pネットワークにおけるストレージ負荷分散実現のための複製配置手法' 電子情報通信学会技術研究報告 第103巻 第692号, 20040227, pp.131-136, 社団法人電子情報通信学会 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101629106B1 (en) * 2014-12-17 2016-06-09 경희대학교 산학협력단 Method for forwarding content in content centric network based on the hash value of content
WO2016098944A1 (en) * 2014-12-17 2016-06-23 경희대학교 산학협력단 Method for transmitting requested content according to hash value of content in content-based network
US10740291B2 (en) 2014-12-17 2020-08-11 University-Industry Cooperation Group Of Kyung Hee University Method for transmitting requested content according to hash value of content in a content-based network

Similar Documents

Publication Publication Date Title
US8321586B2 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
US20080040420A1 (en) Content distribution network
US8028019B2 (en) Methods and apparatus for data transfer in networks using distributed file location indices
US8249638B2 (en) Device and method for participating in a peer-to-peer network
JP2012078902A (en) Information processing apparatus, information processing method and information processing program
JP2008234445A (en) Content distributed storage system, duplicate data acquisition method, node device, and node processing program
WO2008017502A1 (en) Content distribution network
US8244867B2 (en) System and method for the location of caches
JP4702314B2 (en) Content distributed storage system, node device, node processing program, and content data acquisition method
US20110282883A1 (en) Indexing server and method therefor
JP4877107B2 (en) Terminal device and information processing program in information distribution system, and information processing method of terminal device
JP5136581B2 (en) Information communication system, information processing apparatus, information processing method, and information processing program
JP5532649B2 (en) Node device, node processing program, and content storage method
WO2009140821A1 (en) Device and method for participating in a peer-to-peer network
JP2012078903A (en) Node device, program for node device and information processing method
JP2009070172A (en) Content distribution and storage system, provider server device registering method, node device, and node processing program
JP2011008657A (en) Content distribution system, node device, content distribution method, and node program
JP2012227581A (en) Management device, management system, management method, and management program
JP5060927B2 (en) Information search method, information search device, information search response device, and computer program
JP5287059B2 (en) Node device, node processing program, and storage instruction method
JP5007624B2 (en) Content distributed storage system, content data acquisition method, node device, and node processing program
JP5387596B2 (en) Information communication system, information communication method, information processing apparatus, and program
JP5675980B2 (en) COMMUNICATION DEVICE AND METHOD, AND COMPUTER PROGRAM
JP5347876B2 (en) Information communication system, node device, content acquisition method, and program
JP2009080546A (en) Content distribution and storage system, duplicate data storage number tabulation method, node device, and node processing program

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: 20131118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140527