JP2008020938A - Save instruction device, node device, save instruction program and control program - Google Patents
Save instruction device, node device, save instruction program and control program Download PDFInfo
- Publication number
- JP2008020938A JP2008020938A JP2006189430A JP2006189430A JP2008020938A JP 2008020938 A JP2008020938 A JP 2008020938A JP 2006189430 A JP2006189430 A JP 2006189430A JP 2006189430 A JP2006189430 A JP 2006189430A JP 2008020938 A JP2008020938 A JP 2008020938A
- Authority
- JP
- Japan
- Prior art keywords
- information
- node device
- node
- content
- storage
- 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
Links
Images
Abstract
Description
本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型のコンテンツ共用システム及び方法等の技術分野に関し、複数のノード装置間で共用されるべき映画や音楽等のコンテンツ(共用情報)を、共用可能に公開(保存)する前に、コンテンツ共用システム中の複数のノード装置に予め記録させておく保存指示装置、ノード装置、保存指示プログラム及び制御プログラムの技術分野に属する。 The present invention relates to a technical field such as a peer-to-peer (P2P) type content sharing system and method including a plurality of node devices connected to each other via a network, and is shared between a plurality of node devices. A storage instruction device, a node device, a storage instruction program, and a plurality of node devices in the content sharing system before recording (storing) content such as movies and music to be shared (save) in a shared manner It belongs to the technical field of control programs.
近年、ブロードバンドの普及によりVOD(ビデオオンデマンド)等のコンテンツ配信サービスが行われている。現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として、ピアツーピアという技術が注目されてきている。ピアツーピア型のコンテンツ共用システムにおいて、例えば、分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して論理的に構築されたオーバーレイネットワークでは、各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持(記憶)しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。 In recent years, with the spread of broadband, content distribution services such as VOD (video on demand) have been provided. A technology called peer-to-peer has attracted attention as a new form that replaces the server-client system, which is the mainstream form of current content distribution. In a peer-to-peer type content sharing system, for example, in an overlay network logically constructed using a distributed hash table (hereinafter referred to as a DHT (Distributed Hash Table)), each node device participates in the overlay network. It does not recognize link information (for example, IP address) to all the node devices that are present, but retains (stores) only link information to some node devices obtained at the time of participation, Based on such link information, a data inquiry or the like is performed.
このようなオーバーレイネットワークにおいては、ノード装置の参加及び脱退(離脱)が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献1には、オーバーレイネットワークにおいて、参加及び脱退(離脱)が頻繁に行われる場合であっても、適切に負荷分散を行なうための技術が開示されている。
In such an overlay network, even when node devices frequently participate and leave (leave), load balancing needs to be performed appropriately. Non-Patent
また、コンテンツ共用システムにおいて複数のノード装置間で共用されるコンテンツは、1つのコンテンツに対して複数個のレプリカ(コンテンツデータ)がシステムに参加している各ノード装置1に記憶されている。特許文献1には、このレプリカの数を、コンテンツの人気度等に応じて、各ノード装置に適正数保持させたデータ共有システムに関する技術が開示されている。
このようなコンテンツ共用システムにおいて、分散ストレージ技術を使ってコンテンツの配信サービスを行なう場合、特に、新規コンテンツの公開前に、当該新規コンテンツが公開されることがアナウンスされると、予め購入を希望するコンテンツに対して購入予約を行なうことができるような場合には、人気のあるコンテンツは公開後、購入予約を行なったノード装置からのアクセスが集中する。 In such a content sharing system, when a content distribution service is performed using distributed storage technology, it is desired to purchase in advance, especially when the new content is announced before the new content is released. In the case where a purchase reservation can be made for the content, after the popular content is made public, access from the node device that made the purchase reservation is concentrated.
従って、公開直後に多くの要求があると、特定のノード装置にアクセスの集中が生じてしまうという問題があった。 Therefore, if there are many requests immediately after publication, there is a problem that access concentration occurs in a specific node device.
そこで、本発明は上記の問題点に鑑みて為されたもので、システム内に公開前の新規コンテンツを投入する際、当該コンテンツの購入予約をしていたノード装置に対して、当該新規コンテンツを保存させる保存指示装置等を提供することを目的とする。 Therefore, the present invention has been made in view of the above problems, and when introducing new content before publication into the system, the new content is sent to the node device that has reserved the purchase of the content. An object of the present invention is to provide a storage instruction device or the like for storage.
上記の課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置と、該複数のノード装置間で共用される複数の共用情報を該複数のノード装置に分散して保存させる保存指示装置と、を備えた情報共有システムに含まれる前記保存指示装置において、前記情報共有システムに投入し前記複数のノード装置によって共用可能とすべき前記共用情報を取得する共用情報取得手段と、前記取得された共用情報の購入予約を行なったノード装置を識別する少なくとも1以上のノード装置識別情報を含む事前予約情報を取得する事前予約情報取得手段と、前記取得された共用情報と、当該共用情報の保存を指示する保存指示情報と、を、前記事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される前記ノード装置に送出する保存指示手段と、を有することを特徴とする保存指示装置である。
In order to solve the above-mentioned problem, the invention according to
これによれば、新たに投入する共用情報の購入予約を行なったノード装置に対して、当該コンテンツを他のノード装置と共用可能に保持するよう保存指示を行なうため、共用情報の公開後、購入予約を行なったノード装置は、共用情報を検索して他のノード装置から配信を受ける必要がないため、共用情報の公開後に、特定のノード装置に対する負荷の増大を防ぐことができる。 According to this, in order to instruct the node device that has made a purchase reservation for the shared information to be newly input so that the content can be shared with other node devices, the purchase is made after the shared information is disclosed. Since the node device that has made a reservation does not need to search for shared information and receive distribution from other node devices, an increase in load on a specific node device can be prevented after the shared information is disclosed.
上記の課題を解決するために、請求項2に記載の発明は、請求項1に記載の保存指示装置において、前記保存指示手段は、前記事前予約情報に複数の前記ノード装置識別情報を含む場合には、全ての前記ノード装置識別情報に基づいて識別される全ての前記ノード装置に、前記共用情報、前記保存指示情報を夫々送出することを特徴とする保存指示装置である。
In order to solve the above-mentioned problem, the invention described in
これによれば、新たに投入する共用情報の購入予約を行なった全てのノード装置に対して、当該コンテンツを他のノード装置と共用可能に保持するよう保存指示を行なうため、購入予約を行なったノード装置に確実に保存指示を行なうことができる。 According to this, in order to instruct all the node devices that have made a purchase reservation for the shared information to be newly input so that the content can be shared with other node devices, the purchase reservation is made. It is possible to reliably instruct the node device to save.
上記の課題を解決するために、請求項3に記載の発明は、請求項1に記載の保存指示装置において、前記保存指示手段は、前記事前予約情報に複数の前記ノード装置識別情報を含む場合には、その一部のノード装置識別情報に基づいて識別される前記ノード装置に前記共用情報及び前記保存指示情報と、更に前記事前予約情報を送出し、かつ、送出先のノード装置に対して、当該事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される他のノード装置に、前記共用情報及び前記保存指示情報を送出するよう指示することを特徴とする保存指示装置である。 In order to solve the above-mentioned problem, according to a third aspect of the present invention, in the storage instruction device according to the first aspect, the storage instruction means includes a plurality of the node device identification information in the advance reservation information. In this case, the shared information and the storage instruction information and the advance reservation information are further transmitted to the node device identified based on a part of the node device identification information, and the destination node device is transmitted. In contrast, the storage instruction device is configured to instruct other node devices identified based on the node device identification information included in the advance reservation information to transmit the shared information and the storage instruction information. is there.
これによれば、新たに投入する共用情報の購入予約を行なった一部のノード装置に対して、当該コンテンツを他のノード装置と共用可能に保持するよう保存指示を行ない、更に、事前予約情報のノード装置識別情報に基づいて、他のノード装置に保存指示を送出(転送)するよう指示するため、購入予約を行なったノード装置の一部に確実に保存指示を行ない、当該一部のノード装置から、購入予約を行なった他のノード装置へと保存指示を転送して保存指示処理を分担して行なうことができる。 According to this, for some node devices that have made a purchase reservation for the shared information to be newly input, the storage instruction is given so that the content can be shared with other node devices, and the advance reservation information In order to instruct other node devices to send (transfer) a storage instruction based on the node device identification information, the storage device is surely instructed to store a part of the node devices that have made a reservation reservation, A storage instruction can be transferred from the device to another node device that has made a purchase reservation to share the storage instruction processing.
上記の課題を解決するために、請求項4に記載の発明は、請求項3に記載の保存指示装置において、前記共用情報取得手段にて取得された共用情報の保存数を決定する保存数決定手段を有し、前記保存指示手段は、前記事前予約情報に含まれる各前記ノード装置識別情報に基づいて識別される前記ノード装置に、前記保存数を示す保存数情報を更に送出し、送出先のノード装置に対して、前記事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される他のノード装置が無い場合には、前記保存数情報に基づいて前記情報共有システムに含まれる何れかのノード装置に前記共用情報及び前記保存指示情報を送出するよう指示することを特徴とする保存指示装置である。
In order to solve the above-mentioned problem, the invention described in
これによれば、新たに投入する共用情報の数を示す保存数を定め、購入予約を行なった一部のノード装置に対して保存指示を行なう際に、当該保存数を示す保存数情報も送出し、そして、当該一部のノード装置に事前予約情報のノード装置識別情報に基づいて、他のノード装置に保存指示を送出(転送)するよう指示する際に、当該事前予約情報にノード装置識別情報に基づいて識別される他のノード装置が無い場合には、保存数情報に基づいて何れかのノード装置に保存指示を転送するよう指示するため、決定した保存数分の共用情報を確実にシステム内に投入することができる。 According to this, when the storage number indicating the number of shared information to be newly input is determined and a storage instruction is given to some of the node devices that have made purchase reservations, the storage number information indicating the storage number is also transmitted. Then, when instructing some of the node devices to send (transfer) a storage instruction to another node device based on the node device identification information of the advance reservation information, the node device identification is included in the advance reservation information. If there is no other node device identified based on the information, in order to instruct the node device to transfer the storage instruction based on the storage number information, the shared information for the determined storage number is surely obtained. Can be put into the system.
上記の課題を解決するために、請求項5に記載の発明は、請求項1乃至4のいずれか一項に記載の保存指示装置において、前記ノード装置識別情報は、前記ノード装置の宛先情報、又は前記ノード装置を一意に識別するための固有の識別IDであることを特徴とする保存指示装置である。
In order to solve the above-described problem, the invention according to
これによれば、購入予約を行なったノード装置を他のノード装置と確実に識別することができる。 According to this, the node device that has made a purchase reservation can be reliably identified from other node devices.
上記の課題を解決するために、請求項6に記載の発明は、コンピュータを、請求項1乃至5のいずれか一項に記載の保存指示装置として機能させることを特徴とする保存指示プログラムである。
In order to solve the above-described problems, the invention described in
上記の課題を解決するために、請求項7に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置と、該複数のノード装置間で共用される複数の共用情報を該複数のノード装置に分散して保存させる保存指示装置と、を備えた情報共有システムに含まれる前記ノード装置において、前記保存指示装置又は他のノード装置から、保存指示の対象とされる前記共用情報を受信して、当該共用情報の保存が指示されると、受信した前記共用情報を記憶手段に保存する保存制御手段と、前記保存指示装置又は他のノード装置から、前記受信した共用情報の購入予約を行なった前記ノード装置を識別する少なくとも1以上のノード装置識別情報を含む事前予約情報を受信する事前予約情報受信手段と、前記事前予約情報に、自己にかかるノード装置識別情報以外のノード装置識別情報が含まれる場合には、その一部の前記ノード装置識別情報に基づいて識別される他のノード装置に、前記共用情報、当該共用情報の保存を指示する保存指示情報、及び前記事前予約情報を送出する保存指示手段と、を有することを特徴とするノード装置である。
In order to solve the above-described problem, the invention according to
これによれば、共用情報の保存の指示を受けると、当該共用情報を自己の記憶部に保存し、更に事前予約情報に自己以外の他のノード装置のノード装置識別情報がある場合には、当該他のノード装置の一部のノード装置識別情報に基づいて識別される一部の他のノード装置に保存指示を送出(転送)するよう指示するため、購入予約を行なったノード装置から、購入予約を行なった他のノード装置へと保存指示を転送して保存指示処理を分担して行なうことができる。 According to this, upon receiving an instruction to save the shared information, the shared information is saved in its own storage unit, and when there is node device identification information of another node device other than itself in the advance reservation information, Purchase from a node device that has made a purchase reservation in order to instruct to send (transfer) a storage instruction to some other node device identified based on some node device identification information of the other node device It is possible to transfer the save instruction to another node apparatus that has made a reservation and share the save instruction process.
上記の課題を解決するために、請求項8に記載の発明は、請求項7に記載のノード装置において、前記保存指示装置又は他のノード装置から、保存指示の対象とされる前記共用情報の保存数を示す保存数情報を受信する保存数情報受信手段を有し、前記保存指示手段は、前記事前予約情報受信手段にて受信した事前予約情報に、自己にかかるノード装置識別情報以外のノード装置識別情報が無い場合であっても、前記保存数情報に基づいて前記情報共有システムに含まれる何れかのノード装置に前記共用情報、前記保存指示情報及び前記保存数情報を送出することを特徴とするノード装置である。
In order to solve the above-mentioned problem, the invention according to
これによれば、事前予約情報にノード装置識別情報に基づいて識別される他のノード装置が無い場合には、保存数情報に基づいて何れかのノード装置に保存指示を転送するよう指示するため、指示された保存数分の共用情報を確実にシステム内に投入することができる。 According to this, when there is no other node device identified based on the node device identification information in the advance reservation information, an instruction is given to transfer a storage instruction to any node device based on the storage number information. Thus, the shared information corresponding to the designated number of storages can be reliably input into the system.
上記の課題を解決するために、請求項9に記載の発明は、請求項7又は8に記載のノード装置において、ユーザからの前記共用情報の視聴要求を受け付けると、当該視聴要求がされた共用情報が、前記記憶手段に記憶されているか否かを判定する判定手段と、当該視聴要求がされた共用情報が、前記記憶手段に記憶されている場合には、当該記憶手段に記憶された該共用情報の再生処理を行なう再生処理手段と、、当該視聴要求がされた共用情報が、前記記憶手段に記憶されていない場合には、前記情報共有システムに含まれる前記複数のノード装置から、当該共用情報を保存するノード装置を検索して、当該共用情報を保存するノード装置から前記共用情報を取得する共有情報取得手段とを備えることを特徴とするノード装置である。
In order to solve the above problem, the invention according to
これによれば、ユーザからコンテンツの視聴要求を受け付けると、先ず、記憶手段に記憶されているか否かを確認するため、自己が購入予約を行なっていれば、既に記憶手段に記憶された共用情報を取得して迅速に再生処理を行なうことができる。 According to this, when a content viewing request is received from a user, first, in order to check whether or not the content is stored in the storage means, if the user has made a purchase reservation, the shared information already stored in the storage means Can be reproduced quickly.
上記の課題を解決するために、請求項10に記載の発明は、請求項7乃至9のいずれか一項に記載のノード装置において、前記保存指示装置から、保存指示の対象とされる前記共用情報と、前記事前予約情報と、前記保存数情報と、を受信して、前記共用情報を前記複数のノード装置に分散して保存するよう要求を受けると、前記保存指示装置に代わって、前記事前予約情報と前記保存数情報に基づいて前記共用情報を前記複数のノード装置に分散して保存させることを特徴とするノード装置である。 In order to solve the above-mentioned problem, according to a tenth aspect of the present invention, in the node device according to any one of the seventh to ninth aspects, the shared device that is a target of a storage instruction from the storage instruction device. Receiving the information, the advance reservation information, and the storage number information, and receiving the request to distribute and store the shared information in the plurality of node devices, on behalf of the storage instruction device, The node device is characterized in that the shared information is distributed and stored in the plurality of node devices based on the advance reservation information and the stored number information.
これによれば、現在システムに参加しているノード装置が、保存指示装置として機能するため、現在システムに参加している他のノード装置の存在を把握しているので、より迅速に共用情報の分散保存を行なうことができる。 According to this, since the node device currently participating in the system functions as a save instruction device, it grasps the existence of other node devices currently participating in the system, so the shared information can be more quickly Distributed storage can be performed.
上記の課題を解決するために、請求項11に記載の発明は、請求項10に記載のノード装置は、前記情報共有システムに参加しているノード装置のうち、前記保存指示装置が前記ノード装置識別情報を記憶しているノード装置であることを特徴とするものである。
In order to solve the above-described problem, the invention according to claim 11 is the node device according to
これによれば、保存指示装置は、他のノード装置に保存指示を出すことのできるノード装置に対して共用情報を複数のノード装置に分散して保存するよう要求することができる。 According to this, the save instructing device can request the node device that can issue a save instruction to another node device to distribute and save the shared information to the plurality of node devices.
上記の課題を解決するために、請求項12に記載の発明は、請求項11に記載のノード装置は、前記情報共有システムに参加している少なくとも1以上の他のノード装置の前記ノード装置識別情報を記憶しており、かつ、前記情報共有システムに所定時間以上参加しているサポータノード装置であることを特徴とするものである。
In order to solve the above-mentioned problem, the invention according to
これによれば、情報共有システムに所定時間以上参加しており、現在システムに参加している少なくとも1以上の他のノード装置を知っているサポータノード装置が保存指示装置として機能するため、確実に共用情報の分散保存を行なうことができる。 According to this, since the supporter node device that has participated in the information sharing system for a predetermined time or more and knows at least one other node device currently participating in the system functions as a storage instruction device, Distributed storage of shared information can be performed.
上記の課題を解決するために、請求項13に記載の発明は、請求項7乃至12のいずれか一項に記載のノード装置において、前記ノード装置識別情報は、前記ノード装置の宛先情報、又は前記ノード装置を一意に識別するための固有の識別IDであることを特徴とするノード装置である。
In order to solve the above-mentioned problem, the invention according to
これによれば、購入予約を行なったノード装置を他のノード装置と確実に識別することができる。 According to this, the node device that has made a purchase reservation can be reliably identified from other node devices.
上記の課題を解決するために、請求項14に記載の発明は、コンピュータを、請求項7乃至13のいずれか一項に記載のノード装置として機能させることを特徴とする制御プログラムである。
In order to solve the above problem, an invention according to
本発明によれば、保存指示装置が、新たに投入する共用情報の購入予約を行なったノード装置に対して、当該コンテンツを他のノード装置と共用可能に保持するよう保存指示を行ない、購入予約を行なったノード装置が新たな共用情報を保存するため、共用情報の公開後、購入予約を行なったノード装置は、共用情報を検索して他のノード装置から配信を受ける必要がなくなり、共用情報の公開後に、特定のノード装置に対する負荷の増大を防ぐことができる。 According to the present invention, the storage instructing device issues a storage instruction to the node device that has made a purchase reservation for newly input shared information so that the content can be shared with other node devices. Since the node device that has performed the storage stores new shared information, the node device that has made a purchase reservation after the sharing information has been disclosed does not need to retrieve the shared information and receive distribution from other node devices. Can be prevented from increasing for a specific node device.
<1.コンテンツ配信システムの構成等>
始めに、図1を参照して、複数のノード装置で映画や音楽等のコンテンツ(共用情報)を共用する情報共有システムにおけるコンテンツの配信システムの概略構成等について説明する。
<1. Content distribution system configuration>
First, a schematic configuration of a content distribution system in an information sharing system in which a plurality of node devices share content (shared information) such as movies and music will be described with reference to FIG.
図1は、本実施形態に係るコンテンツ配信システムSにおける各ノード装置の接続態様の一例を示す図である。 FIG. 1 is a diagram illustrating an example of a connection mode of each node device in the content distribution system S according to the present embodiment.
図1の下部枠501内に示すように、中継装置としてのIX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者の装置5、FTTH(Fiber To The Home)回線事業者の装置6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
As shown in the
そして、このようなネットワーク8を介して相互に接続された各ノード装置1a,1b,1c・・・1x,1y,1z・・には、IP(Internet Protocol)アドレス及びポート番号の宛先情報と、各ノード装置を特定し、一のノード装置を一意に識別するための固有の値としてのノードID(IDentifier)と、がノード情報として割り当てられている。これらノードIDは複数のノード装置間で重複しないものである。なお、以下の説明において、ノード装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置1という場合がある。
Each
コンテンツ配信システムSは、新しいコンテンツをシステム内に投入する本発明の保存指示装置としてのディストリビュータ100と、未公開のコンテンツの購入予約を各ノード装置1から受け付け、管理する予約受付サーバ200と、システム内に投入されているコンテンツを全て保存しているコンテンツプールサーバ300を備える。
The content distribution system S includes a
ディストリビュータ100(或いは、システム運営者が設置した図示しない他の管理装置)から、システム内に投入予定のコンテンツ(この時点では未公開)の情報が出されると、各ノード装置1は、所望のコンテンツの購入予約を予約受付サーバ200に対して行なう。
When information on content (not disclosed at this time) scheduled to be input into the system is output from the distributor 100 (or another management device (not shown) installed by the system operator), each
ディストリビュータ100は、新たなコンテンツの購入予約を行なったノード装置1に、当該コンテンツの保存を指示する。具体的には、予約受付サーバ200から予約リスト(事前予約情報の一例)を取得して、購入予約を行なったノード装置1に対してコンテンツの保存を指示するよう構成する。コンテンツの保存指示を受けたノード装置1は、当該コンテンツを自己の記憶部に保存する。具体的には、ディストリビュータ100が購入予約を行なったノード装置1に対してコンテンツを送信してもよいし、ノード装置1が自ら保存対象のコンテンツをディストリビュータ100からダウンロードしてもよい。
そして、新たなコンテンツが公開され、当該コンテンツの情報がシステム運営者が配布するカタログリストに掲載され、コンテンツのダウンロードが可能(コンテンツ配信システムSに参加する複数のノード装置1間で共用可能)になると、購入予約を行なっていないユーザは、(i)当該コンテンツを検索して(ii)当該コンテンツを保存するノード装置1からコンテンツをダウンロードして取得する。一方、購入予約を行なったユーザは、自己の記憶部に保存したコンテンツが、システム運営者が配布するカタログリストに掲載され、他のノード装置1からの配信要求に応じることが可能(共用可能)になると、自己の記憶部に記憶しているコンテンツを取得して視聴することができる。
Then, new content is released, information on the content is posted in a catalog list distributed by the system operator, and the content can be downloaded (can be shared among a plurality of
このように、ユーザは公開予定のコンテンツに対して購入予約を行なえば、自身の記憶部にコンテンツが保存されるので、上記ステップ((i)検索〜(ii)配信)を踏むことなく、自身の記憶部からコンテンツを取得してより簡単かつ迅速に視聴することができる。特に、あるコンテンツの購入を予定しているノード装置1が多数ある場合に、当該コンテンツが共用可能になった後に、これら多数のノード装置1が一斉に上記ステップ((i)検索〜(ii)配信)を行なうと、特定のノード装置に対する負荷の増大が増大し、ひいては公開直後のシステム全体の負荷増大に繋がってしまうが、本発明によれば、予約しているノード装置が上記ステップ((i)検索〜(ii)配信)を踏むことなくコンテンツを取得できるためこのような問題を解消することができる。なお、ディストリビュータ100は、新たなコンテンツをシステム内に保存させる数(保存数)を定め、当該保存数分のノード装置1にコンテンツを保存させる。従って、上述したように購入予定を行なったノード装置1があれば、これら各ノード装置1に保存させた後に、保存数の残り分を、システム内に含まれるノード装置1に保存させる。購入予約を行なったノード装置が1台も無い場合には、保存数分を、システム内に含まれるノード装置1夫々に保存させる。
As described above, if the user makes a purchase reservation for the content scheduled to be released, the content is stored in the storage unit of the user, so that the user does not perform the above steps ((i) search to (ii) distribution). The content can be acquired from the storage unit and viewed more easily and quickly. In particular, when there are a large number of
本実施形態におけるコンテンツの購入とは、コンテンツを保存するノード装置からダウンロードしてコンテンツデータを取得すること、又は、ダウンロードして一定期間視聴(レンタル視聴)可能な状態で取得すること等を言う。購入予約は、図示しない課金サーバに対してコンテンツ購入に対する対価を支払い、コンテンツの購入を行なうことを約束すること、実際に課金サーバに対価の支払いを済ませておくこと、の双方を含む。 The purchase of content in the present embodiment refers to downloading from a node device that stores content and acquiring content data, or downloading and acquiring in a state where viewing (rental viewing) is possible for a certain period of time, and the like. The purchase reservation includes both paying the price for the content purchase to a charging server (not shown) and promising to purchase the content, and actually paying the price to the charging server.
コンテンツプールサーバ300は、システム内に投入済みのコンテンツを全て保存し、コンテンツを保存しているノード装置1が全てシステムから脱退しており、コンテンツの配信が正常に行えないなど、何らかの障害が発生した際に、コンテンツを保存しているノード装置1に替わってコンテンツの配信要求に応える。
The
ところで、コンテンツ配信システムSにおいて、当該ノード装置1が、他のノード装置1の持つ情報にアクセスする際には、その情報を持つノード装置1のIPアドレス等の宛先情報を知っていなければならない。
By the way, in the content distribution system S, when the
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠500内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味し、本実施形態のコンテンツ配信システムSは、当該オーバーレイネットワーク9に参加する複数のノード装置1により構成されることになる。
As an example of such a system, an
ノード装置を識別するノードIDは、各ノード装置を一意に識別することができるものであればよく、例えば、工場出荷時に予め割り振られる製造番号やマシン名等を共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値をGUID(Global Unique IDentifier)として用い、これをノードIDとして各ノード装置1に用いることが可能である。
The node ID for identifying the node device may be any node ID that can uniquely identify each node device. For example, a serial number assigned in advance at the time of factory shipment, a machine name, or the like is obtained by a common hash function (hash algorithm). The hash value obtained by hashing can be used as a GUID (Global Unique IDentifier) and used as a node ID for each
またノードIDは、コンテンツ配信システムSにおけるノード装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2^128≒340×10^36台のノード装置を運用できる。実際には既知のハッシュ関数であるSHA−1(Secure Hash Algorithm 1)(生成桁数160bit)やMD5(Message Digest 5)(生成桁数120Bit)を用いることが想定される。 Also, the node ID needs to have a number of bits that can accommodate the maximum number of node devices in the content distribution system S. For example, if the number is 128 bits, 2 ^ 128≈340 * 10 ^ 36 node devices can be operated. In practice, it is assumed that SHA-1 (Secure Hash Algorithm 1) (generated digit number 160 bits) and MD5 (Message Digest 5) (generated digit number 120 bits), which are known hash functions, are used.
このように共通のハッシュ関数により求められたノードIDは、当該製造番号やマシン名が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。 Thus, the node ID obtained by the common hash function has a very low probability of having the same value if the serial number or the machine name is different. Since the hash function is publicly known, detailed description thereof is omitted.
<1−2.DHTの概要>
以下に、本実施形態に係る分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用したアルゴリズムについて説明する。
<1-2. Overview of DHT>
Hereinafter, an algorithm using a distributed hash table (hereinafter referred to as DHT (Distributed Hash Table)) according to the present embodiment will be described.
本実施形態は、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9(図1の上部枠500内)に配置されたノード装置1が、オーバーレイネットワーク9に参加しているノード装置1、言い換えれば、コンテンツ配信システムSに参加しているノード装置1である。
This embodiment is based on an
このようなコンテンツ配信システムSへ参加する際には、参加していないノード装置1が、他のノード装置との通信に使用するためのIPアドレス等の宛先情報及びノードIDが書かれたテーブル情報をシステムに参加しているノード装置から取得して、システムに参加しているノード装置を知ることにより、システムに参加している他のノード装置との通信が可能になる。このとき、システムに参加しているノード装置であれば何れのノード装置にこのテーブル情報を要求してもよいが、システム運営者が設置した、システム参加時に最初にアクセスするための専用のコンタクトノード装置(図示せず)にテーブル情報を要求するよう構成することが好ましい。このような専用のコンタクトノード装置は、システム内に常駐(電源が落ちない)するよう管理されているので、比較的新しいテーブル情報を取得することができるからである。以下、テーブル情報について説明する。
When participating in such a content distribution system S, table information in which destination information such as an IP address and node ID used by the
次に、図2及び図3を参照して、テーブル情報の作成手法の一例について説明する。なお、当該テーブル情報は、複数のノード装置間を転送しつつ作成(更新)されるので、ルーティングテーブルとも呼ぶ。 Next, an example of a table information creation method will be described with reference to FIGS. The table information is also created (updated) while being transferred between a plurality of node devices, and is also called a routing table.
図2は、ルーティングテーブル(テーブル情報)が作成される様子の一例を示す図であり、図3は、ルーティングテーブル(テーブル情報)の一例を示す図である。 FIG. 2 is a diagram illustrating an example of how a routing table (table information) is created, and FIG. 3 is a diagram illustrating an example of a routing table (table information).
まず、図2(A)に示す如く、ID空間を幾つかのエリアに分割する。なお、このエリアはルーティングテーブルを作成するためにID空間を分割したものであって、実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長16Bitの4進数で表すこととした。そして、ノード装置1NのノードIDを「10230210」とし、このノード装置1Nのルーティングテーブルを作る例について説明する。
First, as shown in FIG. 2A, the ID space is divided into several areas. In this area, the ID space is divided in order to create a routing table. Actually, about 16 divisions are often used. However, for the sake of simplicity of explanation, the area is assumed to be four divisions, and the ID is a bit. It was expressed as a long 16-bit quaternary number. An example in which the node ID of the
(レベル1のルーティング)
まず、ID空間を4分割とすると、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」(Xは0から3の自然数、以下同様。)で分けられる。あるノード装置(以下、ノード装置1Nと言う。)は、当該ノード装置1N自身のノードIDが「10230210」であるため、図中左下「1XXXXXXX」のエリアに存在することになる。そして、ノード装置1Nは、自分の存在するエリア(すなわち、「1XXXXXXX」のエリア)以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレス等の宛先情報をレベル1のテーブルに記憶する。図3(A)がレベル1のテーブルの一例である。2列目はノード装置1N自身を示しているため、IPアドレス等の宛先情報を記憶する必要は無い。
(
First, if the ID space is divided into four, each area is represented by four numbers with different maximum digits when expressed in quaternary numbers: “0XXXXXXX”, “1XXXXXXX”, “2XXXXXXX”, “3XXXXXXX” (where X is a natural number from 0 to 3, The same). Since a node ID of the
(レベル2のルーティング)
次に、図2(B)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「10XXXXXX」「11XXXXXX」、「12XXXXXX」、「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレス等の宛先情報をレベル2のテーブルに記憶する。図3(B)がレベル2のテーブルの一例である。1列目はノード装置1N自身を示しているため、宛先情報を記憶する必要は無い。
(
Next, as shown in FIG. 2B, among the areas divided into four by the above routing, the area where the user exists is further divided into four, and four areas “10XXXXXX”, “11XXXXXX”, “12XXXXXX”, “13XXXXXX” ". Then, similarly to the above, the
(レベル3のルーティング)
さらに、図2(C)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「100XXXXX」「101XXXXX」、「102XXXXX」、「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレス等の宛先情報をレベル1のテーブルに記憶する。図3(C)がレベル3のテーブルの一例である。3列目はノード装置1N自身を示しているため、IPアドレス等の宛先情報を記憶する必要は無く、2列目、4列目はそのエリアにノード装置が存在しないため空白となる。
(
Further, as shown in FIG. 2C, among the areas divided into four by the above routing, the area where the user exists is further divided into four, and further four areas “100XXXXX”, “101XXXXX”, “102XXXXX”, “103XXXXX” And divide. Then, similarly to the above, the
このようにして、レベル4以下レベル8まで同様にルーティングテーブルを図3(D)に示す如く作成することにより、16bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。 In this way, all the 16-bit IDs can be covered by creating a routing table as shown in FIG. As the level goes up, white space becomes more noticeable in the table.
このように、各ノード装置1は、他のノード装置1のIPアドレス等の宛先情報と、ノードID空間のエリア、すなわちDHTの各レベル及び各列と、を対応付けてテーブル情報として記憶している。つまり、各ノード装置1は、複数に分けられた各エリアに属する一のノードのIPアドレス等の宛先情報を、夫々のエリアに対応付けて一の段階(レベル)として規定し、更に自己が属するエリアが複数のエリアに分けられ、当該分けられた各エリアに属する一のノード装置1のIPアドレス等の宛先情報を、夫々のエリアに対応付けて次の段階(レベル)として規定するルーティングテーブル(以下、「テーブル情報」と呼ぶ)を後述する制御部のRAMに記憶している。
In this way, each
実際に、コンテンツ配信システムSに未参加のノード装置1が、コンテンツ配信システムSに参加して、上述したようなテーブル情報を取得するには、まず、過去にシステムに参加したことがなく、初めてシステムに参加する際(新規参加)には、上述したように、システム管理者により設置されたコンタクトノード装置(図示せず)に対して「参加メッセージ」を送信して、コンタクトノード装置(図示せず)からテーブル情報を取得する。
Actually, in order for the
そして、ノード装置1は、取得したテーブル情報を、システムに参加している間中自己の制御部のRAMに記憶して、コンテンツの検索や、コンテンツの公開の際に行なわれるメッセージ転送の際に利用し、また、動的に最新の情報に書き換えていく。具体的には、メッセージ転送やコンテンツ配信等の際に、他のノード装置1の存在を知ったタイミングで、その装置のノードIDがテーブルのどのマス目に適合するかを判断して、各テーブルの内容を追記(更新)していく。また、他のノード装置が脱退したことを知ったタイミングで、当該装置のノードIDをテーブルから削除する。
Then, the
このように、テーブル情報はメッセージやコンテンツの配信等の情報の授受によって、常に動的に書き換えられているので、現在システムに参加しているノード装置1からテーブル情報をもらえば、システムから脱退したノード装置のノード情報が比較的少なく、システムに参加しているノード装置のノード情報が比較的多い、最新のテーブル情報を得ることができる。
In this way, the table information is always dynamically rewritten by exchanging information such as message and content distribution, so if the table information is received from the
<1−3.コンテンツの保存と配信>
次に、各ノード装置1で共用されるコンテンツの保存と、当該コンテンツの配信について説明する。コンテンツ配信システムSに参加している複数のノード装置1には、1のノード装置1から他のノード装置1に配信される共用情報としてのコンテンツ(例えば、映画や音楽等)データが分散して保存(格納)されているが、当該コンテンツにも、それぞれのコンテンツ毎にユニーク(固有)なコンテンツIDが付与される。このコンテンツIDは、ノードIDと同様の長さ(例えば、128bit等)であって、コンテンツをコンテンツ配信システムSに投入する際(ノード装置1に保存指示を行なう際)ディストリビュータ100によって決定され各コンテンツに付与される。
<1-3. Content storage and distribution>
Next, storage of content shared by each
図4は32bitでノードID及びコンテンツIDを付与し、ID空間上に図示したものである。図中黒点はノードIDを、黒ひし形はコンテンツIDを示し、反時計回りでIDが増加するものとする。 FIG. 4 shows a node ID and content ID given in 32 bits and illustrated in the ID space. In the figure, a black dot indicates a node ID, a black diamond indicates a content ID, and the ID increases counterclockwise.
図4に示すようなID空間において、どのノード装置1に、どのコンテンツが管理されるかは、コンテンツIDとノードIDとが「所定の関係」にあるか否かによって決定される。ここで、「所定の関係」とは、一定の規則の下に決定されるが、本実施形態においては、「あるコンテンツIDを有するコンテンツを管理するノード装置は、そのコンテンツIDに最も近接するノードIDを有するノード装置1である」という規則とする。つまり、コンテンツIDと最も近接する(例えば、上位桁がより多く一致する)ノードIDであって、コンテンツIDの値と同じかそれ以下の値となるノードIDを有するノード装置1が、当該コンテンツを保存するノード装置1の所在情報を管理することとする。
In the ID space as shown in FIG. 4, which
例えば、「所定の関係」は、当該コンテンツIDを超えず、コンテンツIDとノードIDとの差が一番少ないものと定義する。同図に示す例では、この定義に基づいて、コンテンツIDaは、ノードIDaを有するノード装置に管理され、コンテンツIDbは、ノードIDbを有するノード装置に管理される。この他、各コンテンツの管理を各ノード装置1に割り振る際に、一貫していればどのような定義であってもよい。
For example, the “predetermined relationship” is defined as one that does not exceed the content ID and has the smallest difference between the content ID and the node ID. In the example shown in the figure, based on this definition, the content IDa is managed by the node device having the node IDa, and the content IDb is managed by the node device having the node IDb. In addition, any definition may be used as long as it is consistent when the management of each content is allocated to each
また、コンテンツIDc、IDdは、ノードIDcを有するノード装置1に管理されるように、あるノード装置は複数の異なるコンテンツデータを管理することもある。なお、ここで「管理」というのは、コンテンツを保存/保存していることを意味するのではなく、「コンテンツのデータ(コンテンツデータ)が何れのノード装置1に保存されているかを知っている」、すなわち、コンテンツの所在情報として、コンテンツを保存するノード装置のIPアドレス等の宛先情報を記憶(キャッシュ)していること言う。
In addition, a certain node device may manage a plurality of different content data so that the content IDc and IDd are managed by the
表1に、各ノード装置1が自己の制御部のRAMに記憶するキャッシュ情報の一例を示す。
Table 1 shows an example of cache information that each
ノード装置1は、ディストリビュータ100からコンテンツを保存するよう指示を受けたノード装置1(例えば、購入予約を行なったノード装置1)が新しいコンテンツをコンテンツ配信システムS上に参加する他のノード装置に見えるように公開する際に送信する「公開メッセージ」に含まれるIPアドレス等の宛先情報(コンテンツの所在情報)を、受信して取得し、自己の制御部のRAMに記憶されているキャッシュ情報(表1)に書き込む。なお、本実施形態では、コンテンツIDと所定の関係を有するノードIDにかかるノード装置1のみならず、「公開メッセージ」が各ノード装置間を転送する際の経路上にあるノード装置1も、当該コンテンツの所在情報を後述する制御部のRAMにキャッシュ情報として記憶するよう構成する。
The
<1−4.コンテンツの保存指示〜公開〜検索〜取得>
<1−4−1.コンテンツの保存指示>
次に、新しいコンテンツが購入予約を行なったノード装置に保存される手順について説明する。
<1-4. Instruction to save content-release-search-get>
<1-4-1. Instruction to save content>
Next, a procedure for storing new contents in the node device that has made a purchase reservation will be described.
ディストリビュータ100が、予約受付サーバ200から取得した予約リストに基づいて、新たなコンテンツの購入予約をしているノード装置1に当該新たなコンテンツを送信して、保存指示を行なうが、
(I)ディストリビュータ100が、新たなコンテンツの購入予約をしている全てのノード装置1に対して、新たなコンテンツを送信して保存指示を行なう方法(繰り返し法)と、
(II)ディストリビュータ100が、新たなコンテンツの購入予約をしている一部のノード装置1に対して、新たなコンテンツを送信して、保存指示を行ない、保存したノード装置1がその他の購入予約をしているノード装置1に対してリレー方式で保存指示を転送していく方法(保存指示の転送)、
について図を用いて説明する。
(I) a method (repetition method) in which the
(II) The
Will be described with reference to the drawings.
<I.繰り返し法によるコンテンツの保存>
図5は、新しいコンテンツが購入予約を行なったノード装置に保存される様子の一例を示す図である。
<I. Storage of content by repetition method>
FIG. 5 is a diagram illustrating an example of a state in which new content is stored in a node device that has made a purchase reservation.
ディストリビュータ100は、予約受付サーバ200に対して新たなコンテンツの予約リストを要求し、予約受付サーバ200は、これに応じて予約リストをディストリビュータ100に送る。
The
予約リストには、コンテンツの購入予約を行なったノード装置1のIPアドレスが、例えば、表2の如く記載されているので、ディストリビュータ100は、当該IPアドレスに従って、各ノード装置1に対してコンテンツを送信し、保存指示を行なう。
In the reservation list, the IP address of the
表2に示す予約リストの例の場合には、IPアドレス1〜4までの4つの購入予約済みのノード装置1に対してコンテンツを送信し、保存指示を行なう(実線矢印参照)。
In the case of the example of the reservation list shown in Table 2, the contents are transmitted to the four
図5に示す例は、ディストリビュータ100から購入予約済みのノード装置1に対してコンテンツを送信しているので、いわゆる「プッシュ式」のコンテンツ保存方法となる。これとは別にディストリビュータ100が購入予約済みのノード装置1に対して保存指示のみを送信し、コンテンツの取得は保存指示を受けた各購入予約済みのノード装置1が所定のタイミングで(例えば、他の処理を行なっておらず、処理負荷の低いとき)ディストリビュータ100からダウンロードを行なういわゆる「プル式」のコンテンツ保存方法も可能である。
The example shown in FIG. 5 is a so-called “push-type” content storage method because the content is transmitted from the
ディストリビュータ100が、当該コンテンツの人気度に応じて定めた保存数(例えば、「6」)が、購入予約をしたノード装置1の数(例えば、「4」)よりも多ければ、残りの保存数分(6−4=2)を、購入予約を行なっていないノード装置にコンテンツを送信し、保存指示を行なう(破線矢印参照)。図5に示す例の場合、IPアドレス10と11のノード装置が、購入予約を行なっていないが、保存の指示を受けている。なお、購入予約を行なっていないノード装置を選ぶ場合、ID空間中にコンテンツが偏りなく散らばるよう、ノードIDを考慮して選ぶことが望ましい。
If the number of preservation (for example, “6”) determined by the
上述したコンテンツの人気度とは、例えば、コンテンツが映画である場合、既に劇場公開されているような場合、その観客動員数に応じて決定したり、コンテスト等の受賞履歴等に基づいて決定したり、或いは、コンテンツが音楽である場合、そのアーティストの過去の作品の売り上げ等を考慮して決定すればよい。 For example, if the content is a movie or has already been released to the theater, the popularity of the content is determined according to the number of spectators, or based on the award history of contests, etc. Or, if the content is music, it may be determined in consideration of the sales of the artist's past works.
<II.保存指示の転送によるコンテンツの保存>
図6は、新しいコンテンツが購入予約を行なったノード装置に保存される様子の一例を示す図である。
<II. Saving Content by Transferring Save Instruction>
FIG. 6 is a diagram illustrating an example of a state in which new content is stored in a node device that has made a purchase reservation.
ディストリビュータ100は、予約受付サーバ200に対して新たなコンテンツの予約リストを要求し、予約受付サーバ200は、これに応じて予約リストをディストリビュータ100に送る。
The
予約リストには、コンテンツの購入予約を行なったノード装置1のIPアドレスが、上述した表2の如く記載されているので、ディストリビュータ100は、当該IPアドレスのうち、一つのIPアドレス(例えば、一番上に記載されているIPアドレス1)のノード装置に対してのみコンテンツを送信し、保存指示を行なう。このとき、予約リストと保存数も共に送信する。
In the reservation list, the IP address of the
ディストリビュータ100からコンテンツ、予約リスト及び保存数を受信したIPアドレス1のノード装置は、予約リストに掲載された自己のIPアドレス以外の一つのIPアドレスを(例えば、次に記載されているIPアドレス2)に従って、当該IPアドレス2のノード装置に対してコンテンツ、予約リスト及び保存数を送信し、保存指示を行なう。なお、予約リストから自己のIPアドレス1を削除し、また、保存数から自己がコンテンツを保存したことに起因して「1」減算して保存数を更新してからIPアドレス2のノード装置に送信する。
The node device having the
IPアドレス1のノード装置からコンテンツ、予約リスト及び保存数を受信したIPアドレス2のノード装置も、同様にして、予約リストに掲載された自己のIPアドレス以外の一つのIPアドレスを(例えば、次に記載されているIPアドレス3)に従って、当該IPアドレス3のノード装置に対してコンテンツ、予約リスト(自己のIPアドレス2は削除する)及び保存数(「1」減算して更新)を送信し、保存指示を行なう。
Similarly, the node device with the
IPアドレス3のノード装置からIPアドレス4のノード装置へも同様にして保存指示を出し、予約リストに掲載された全てのノード装置(IPアドレス1〜4)にコンテンツの保存が完了する。
Similarly, a storage instruction is issued from the node device with the
IPアドレス4のノード装置は、空の状態(IPアドレスの記載がない)の予約リストを受信するが(或いは、予約リストが空であれば、IPアドレス3のノード装置は予約リストをIPアドレス4のノード装置に送らなくてもよい。)、保存数が「1」以上ある場合には、当該保存数が「0」となるまで、上記保存指示を繰り返し行なう(破線矢印参照)。何れのノード装置に保存指示を行なうかは、IPアドレス4のノード装置が知っているIPアドレス(例えば、テーブル情報に記載)のノード装置に対して行なえばよい。
The node device with the
図6に示す例の場合、IPアドレス4のノード装置は、IPアドレス10のノード装置に対してコンテンツ、予約リスト(自己のIPアドレス4は削除する)及び保存数(「1」減算して更新)を送信し、保存指示を行なう。そして、IPアドレス10のノード装置も同様に、IPアドレス11のノード装置に保存指示を行なう(破線矢印参照)。
In the case of the example shown in FIG. 6, the node device with the
なお、購入予約を行なっていないノード装置に対して保存指示を行なう場合には、予約リストは既に空の状態であるため、予約リストは送信しなくてもよい。 Note that when a save instruction is issued to a node device that has not made a purchase reservation, the reservation list is already empty, and therefore the reservation list need not be transmitted.
そして、保存数から「1」減算して更新したときに、「0」となった場合ときに、保存指示の転送を止める。図6に示す例の場合、ディストリビュータ100が送信した保存数は「6」であり、IPアドレス1〜4、10、11の合計6台のノード装置に保存が完了したときに、保存数が「0」になるので、IPアドレス11のノード装置でコンテンツの保存(保存指示の転送)を終了する。
Then, when updating by subtracting “1” from the number of saves, when it becomes “0”, the transfer of the save instruction is stopped. In the case of the example illustrated in FIG. 6, the storage number transmitted by the
上述した保存指示の転送(授受)を行なうことにより、互いの存在を知ることとなり、例えば、IPアドレス2のノード装置は、自己の制御部のRAMに記憶されたテーブル情報に、IPアドレス1のノード装置のノード情報(IPアドレス等の宛先情報、ノードID)が追記され、ノード装置3でも同様にして、制御部のRAMに記憶されたテーブル情報にIPアドレス2のノード装置のノード情報が無ければ、当該IPアドレス2のノード装置のノード情報が追記される(テーブル登録)。
By transferring (sending / receiving) the storage instruction described above, the existence of each other is known. For example, the node device having the
また、I.繰り返し法による場合も、II.保存指示の転送による場合も、購入予約を行なっていないノード装置を選ぶ場合、コンテンツ検索がスムーズに行なえるよう、ID空間中にコンテンツが偏りなく散らばるようにノードIDを考慮して選ぶことが望ましい。例えば、ランダムにノードIDを生成し、当該ノードIDのルートノードへ、保存指示を行うよう構成すればよい。 In addition, in the case of I. Iterative method and II. In the case of transfer of the storage instruction, when selecting a node device that has not made a reservation reservation, the content is scattered evenly in the ID space so that the content search can be performed smoothly. Thus, it is desirable to select in consideration of the node ID. For example, a node ID may be randomly generated and a save instruction may be issued to the root node of the node ID.
また、最初に保存数を決める一因となるコンテンツの人気度は、例えば、コンテンツが映画である場合、既に劇場公開されているような場合、その観客動員数に応じて決定したり、コンテスト等の受賞歴等に基づいて決定したり、或いは、コンテンツが音楽である場合、そのアーティストの過去の作品の売り上げ等を考慮して決定すればよい。 In addition, the popularity of content that contributes to determining the number to be saved first is determined according to the number of spectators, for example, if the content is a movie or has already been released to the theater, or a contest, etc. May be determined based on the award history or the like, or when the content is music, it may be determined in consideration of the sales of the artist's past works.
<1−4−2.コンテンツの公開〜検索〜取得>
次に、保存されたコンテンツが他のノード装置からの配信要求に応じて配信される手順について説明する。
<1-4-2. Publication of content-search-acquisition>
Next, a procedure for distributing the stored content in response to a distribution request from another node device will be described.
図7は、DHTによりコンテンツが公開され、他のノード装置からの配信要求に応じるまでの様子の一例を示す図である。 FIG. 7 is a diagram illustrating an example of a state from when content is released by DHT until a distribution request is received from another node device.
ここでは、ディストリビュータ100から新たなコンテンツを受信して保存指示を受けたノード装置1aが当該コンテンツを公開する際の手順について説明する。
Here, a procedure when the node apparatus 1a receiving new content from the
先ず、ノード装置1は、コンテンツのタイトル等からコンテンツIDを求め、当該コンテンツIDと同じノードIDを持つノード装置に向けて(このノード装置が実在するか否かはこの時点ではわからない。)「公開メッセージ」を送信する。
First, the
ここでは、購入予約を行ない、ディストリビュータ100から新たなコンテンツの保存指示を受けたノードID「12003030」のノード装置1aが、当該新たなコンテンツ(コンテンツID「31330012」)を公開する際の手順について説明する。
Here, the procedure when the node device 1a with the node ID “12003030” that has made a purchase reservation and received a new content storage instruction from the
まず、ノード装置1aは、自己が制御部のRAMに記憶しているテーブル情報のレベル1のテーブルを参照して、コンテンツID「31330012」と同じエリアのノードIDを持つノード装置に対して「公開メッセージ」を送信する。つまり、コンテンツID「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリアに属すノード装置1のうち、IPアドレス等の宛先情報を知っている(すなわち、テーブル情報にIPアドレス等の宛先情報が記憶されている)ノード装置1bに対して「公開メッセージ」を送信する。
First, the node device 1a refers to the
図7に示す例に拠れば、ノードIDが「30100000」であるノード装置1bのIPアドレス等の宛先情報がノード装置1aのテーブル情報に記憶されていたので、ノード装置1aは、ノードIDが「30100000」であるノード装置1bに対して「公開メッセージ」を送信する。
According to the example shown in FIG. 7, since the destination information such as the IP address of the
次に、「公開メッセージ」を受信したノード装置1bは、当該ノード装置1b自身が制御部のRAMに記憶しているテーブル情報のレベル2のテーブルを参照して、「31XXXXXX」のエリアに属すノード装置1のうち、IPアドレス等の宛先情報を知っているノード装置1c(ノードID「31012001」)に対して「公開メッセージ」を転送する。
Next, the
このように、コンテンツIDの桁を上から順に適合していく要領で「公開メッセージ」の転送が進み、最終的にノード装置1dに辿り着く。 In this way, the transfer of the “public message” proceeds in the manner of adapting the digits of the content ID in order from the top, and finally reaches the node device 1d.
そして、最終的に辿り着いた当該ノード装置1dは、「公開メッセージ」に含まれるコンテンツID、コンテンツを保存するノード装置1aのIPアドレス「IPアドレス1」をコンテンツの所在情報として、自己の制御部のRAMに記憶しているキャッシュ情報に記憶する。また、本実施形態では、コンテンツを保存するノード装置1aから、テーブル情報に従って、「公開メッセージ」を転送(中継)したノード装置1b及び1cも、「公開メッセージ」に含まれるコンテンツID、コンテンツを保存するノード装置1aのIPアドレス「IPアドレス1」をコンテンツの所在情報として、自己の制御部のRAMに記憶しているキャッシュ情報に記憶する。
Then, the node device 1d finally arrived has its own control unit using the content ID included in the “public message” and the IP address “
そして、コンテンツの視聴を所望する際にも、コンテンツIDを含む当該コンテンツの所在を問い合わせる「検索メッセージ」が、当該「検索メッセージ」に含まれるコンテンツIDをキーとするルーティングに従って、各ノード装置間を転送し、当該コンテンツのキャッシュ情報をRAMに記憶しているノード装置に辿り着くと、当該ノード装置が、コンテンツを保存するノード装置に対して、コンテンツの送信を指示する「コンテンツ送信指示メッセージ」を送信し、これを受けたノード装置が「検索メッセージ」の送信元のノード装置に対してコンテンツを配信する。 When a user wishes to view content, a “search message” that inquires about the location of the content including the content ID passes between the node devices according to the routing using the content ID included in the “search message” as a key. When the node device stores the content cache information in the RAM, the node device sends a “content transmission instruction message” instructing the node device that stores the content to transmit the content. The node device that receives the message and distributes the content to the node device that is the source of the “search message”.
図7に示すの例の場合、ノード装置1e(リクエスタ)から送信された検索対象のコンテンツのコンテンツID「31330012」を含む「検索メッセージ」は、他のノード装置間を経由して当該コンテンツID「31330012」の所在情報を有するノード装置1cに辿り着く。そして、ノード装置1cは、ノード装置1aの「IPアドレス1」を取得して、当該IPアドレス1に従って、ノード装置1aに対して、「検索メッセージ」の送信元のノード装置1eのIPアドレスを含む「コンテンツ送信指示メッセージ」を送信する。そして、ノード装置1aは、「コンテンツ送信指示メッセージ」に含まれるノード装置1eのIPアドレスに従って、ノード装置1eにコンテンツを配信する。
In the case of the example illustrated in FIG. 7, the “search message” including the content ID “31330012” of the search target content transmitted from the
この例では、コンテンツの所在情報を有するノード装置1cが、コンテンツを保存するノード装置1aに、「検索メッセージ」の送信元のノード装置1eに対してコンテンツを送信するよう指示したが、コンテンツの配信を希望するノード装置1eが、コンテンツの所在情報を有するノード装置1cから、コンテンツの所在情報を受信してノード装置1eからノード装置1aに対してアクセスして、コンテンツの配信を行なうよう構成しても良い。
In this example, the node device 1c having the content location information instructs the node device 1a that stores the content to transmit the content to the
上述したメッセージ等の情報の授受を行なうことにより、互いの存在を知ることとなり、例えば、ノード装置1eでは、自己の制御部のRAMに記憶されたテーブル情報に、ノード装置1cのノード情報(IPアドレス等の宛先情報、ノードID)が追記される。
By exchanging information such as the message described above, the existence of each other is known. For example, in the
また、コンテンツを保存するノード装置1aと、コンテンツの配信を希望するノード装置1eとが、コンテンツの配信という情報の授受を行なうことにより、互いの存在を知ることとなり、ノード装置1aでは、制御部のRAMに記憶されたテーブル情報に、ノード装置1eのノード情報が無ければ、当該ノード装置1eのノード情報が追記され、ノード装置1eでも同様にして、制御部のRAMに記憶されたテーブル情報にノード装置1aのノード情報が無ければ、当該ノード装置1aのノード情報が追記される。
Also, the node device 1a that stores the content and the
<2.各装置の構成及び機能>
<2−1.ノード装置の構成及び機能>
次に、ノード装置1の構成及び機能について説明する。図8は、ノード装置1の概略構成例を示すブロック図である。同図に示すように、実施形態に係るノード装置1は、演算機能を有するCPUと、テーブル情報、キャッシュ情報、カタログ情報等を記憶する作業用RAM(Random Access Memory)と、各種データ及びプログラム(本発明の制御プログラムを含む)を記憶するROM等と、から構成されたコンピュータとしての制御部11と、コンテンツデータやプログラム等を記憶保存(格納)するためのHDD等から構成された記憶部12と、受信したコンテンツデータを一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノード装置1、ディストリビュータ100、予約受付サーバ200及びコンテンツプールサーバ300との間の情報の通信制御を行なうための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14及び通信部20はバス23を介して相互に接続されている。
<2. Configuration and function of each device>
<2-1. Configuration and Function of Node Device>
Next, the configuration and function of the
そして、制御部11におけるCPUが記憶部12等に記録された各種プログラムを実行することにより、制御部11が、実施形態に係るノード装置1としての全体動作を統括制御し、上記各構成部材と協動して、保存制御手段、事前予約情報受信手段、保存指示手段、保存数情報受信手段、判定手段、再生処理手段及び共有情報取得手段として機能する。
Then, the CPU in the control unit 11 executes various programs recorded in the
<2−2.ディストリビュータの構成及び機能>
続いて、ディストリビュータ100の概略構成について図9を用いて説明する。なお、図9は実施形態に係るディストリビュータ100の概略構成を示すブロック図である。
<2-2. Distributor configuration and functions>
Next, a schematic configuration of the
図9に示すように、実施形態に係る配信システムに含まれるディストリビュータ100は、演算機能を有するCPU、作業用RAM(Random Access Memory)、各種データ及びプログラムを記録するROM(Read Only Memory)等から構成された制御部101と、投入するコンテンツデータや投入済みのコンテンツデータ及びその他の必要なプログラム等を記録保存(格納)するためのHDD(Hard Disc Drive)等から構成された記憶部102と、ネットワークを通じて配信システムに含まれる各ノード装置1、予約受付サーバ200及びコンテンツプールサーバ300との間の情報の通信制御を行なうための通信部103と、当該ディストリビュータ100を操作する操作者からの指示を受け付け当該指示に応じた指示信号を制御部101に出力する入力部(例えば、キーボード、マウス或いは、操作パネル等)104と、を備えて構成され、制御部101、記憶部102及び通信部103はバス105を介して相互にデータの授受が可能に接続されている。
As shown in FIG. 9, the
そして、制御部101におけるCPUが記憶部102等に記録された各種プログラムを実行することにより、制御部101が、実施形態に係るディストリビュータ100としての全体動作を統括制御し、上記各構成部材と協動して当該ディストリビュータ100を本発明における保存指示装置として機能させる。
Then, when the CPU in the control unit 101 executes various programs recorded in the
<2−3.予約受付サーバの構成及び機能>
続いて、予約受付サーバ200の概略構成について図10を用いて説明する。なお、図10は実施形態に係る予約受付サーバ200の概略構成を示すブロック図である。
<2-3. Configuration and function of reservation reception server>
Next, a schematic configuration of the
図10に示すように、実施形態に係る配信システムに含まれる予約受付サーバ200は、演算機能を有するCPU、作業用RAM(Random Access Memory)、各種データ及びプログラムを記録するROM(Read Only Memory)等から構成された制御部201と、公開予定の各コンテンツにかかる事前予約情報及びその他の必要なプログラム等を記憶保存(格納)するためのHDD(Hard Disc Drive)等から構成された記憶部202と、ネットワークを通じて配信システムに含まれる各ノード装置1、ディストリビュータ100及びコンテンツプールサーバ300との間の情報の通信制御を行なうための通信部203と、当該予約受付サーバ200を操作する操作者からの指示を受け付け当該指示に応じた指示信号を制御部201に出力する入力部(例えば、キーボード、マウス或いは、操作パネル等)204と、を備えて構成され、制御部201、記憶部202及び通信部203はバス205を介して相互にデータの授受が可能に接続されている。
As shown in FIG. 10, the
記憶部202は、公開予定のコンテンツ毎に、当該コンテンツに対して購入予約を行なったノード装置1のIPアドレスを予約リスト(事前予約情報の一例)として記憶する(表2参照。)。
For each content scheduled to be released, the
そして、ディストリビュータ100から予約リストの要求がされると、通信部203を介して当該予約リストをディストリビュータ100に送信する。
When the reservation list is requested from the
制御部201におけるCPUが記憶部202等に記録された各種プログラムを実行することにより、制御部201が、実施形態に係る予約受付サーバ200としての全体動作を統括制御する。
When the CPU in the
<2−4.コンテンツプールサーバの構成及び機能>
続いて、コンテンツプールサーバ300の概略構成について図9を用いて説明する。なお、図11は実施形態に係るコンテンツプールサーバ300の概略構成を示すブロック図である。
<2-4. Configuration and Function of Content Pool Server>
Next, a schematic configuration of the
図11に示すように、実施形態に係る配信システムに含まれるコンテンツプールサーバ300は、演算機能を有するCPU、作業用RAM(Random Access Memory)、各種データ及びプログラムを記録するROM(Read Only Memory)等から構成された制御部301と、システム内に投入されている全てのコンテンツに係るコンテンツデータ及びその他の必要なプログラム等を記録保存(格納)するためのHDD(Hard Disc Drive)等から構成された記憶部302と、ネットワークを通じて配信システムに含まれる各ノード装置1、ディストリビュータ100及び予約受付サーバ200との間の情報の通信制御を行なうための通信部303と、当該コンテンツプールサーバ300を操作する操作者からの指示を受け付け当該指示に応じた指示信号を制御部301に出力する入力部(例えば、キーボード、マウス或いは、操作パネル等)304と、を備えて構成され、制御部301、記憶部302及び通信部303はバス305を介して相互にデータの授受が可能に接続されている。
As shown in FIG. 11, the
記憶部302は、既にシステム内に投入されている全てのコンテンツに係るコンテンツデータを、コンテンツIDと対応付けて記憶する(表3参照。)。 The storage unit 302 stores the content data related to all the contents already input in the system in association with the content ID (see Table 3).
そして、制御部301におけるCPUが記憶部302等に記録された各種プログラムを実行することにより、制御部301が、実施形態に係るコンテンツプールサーバ300としての全体動作を統括制御する。
Then, when the CPU in the
<3.各装置の処理>
<3−1.予約受付サーバ200の予約処理>
先ず、予約受付サーバ200における予約処理について図12を参照して説明する。当該予約処理は、制御部201の制御に基づいて行われる。
<3. Processing of each device>
<3-1. Reservation Process of
First, reservation processing in the
先ず、予約受付サーバ200の電源がオフとされたか否かを判定し(ステップS1)、オフとされていない場合(ステップ1:No)には、メッセージを受信したか否かを判定する(ステップS2)。メッセージを受信していない場合(ステップS2:No)には、その他の処理(ステップS3)が実行されて電源がオフとされる(ステップS1:Yes)までステップS1〜3の処理が繰り返し行なわれる。その他の処理とは、予約受付サーバ200自体の予約処理以外の他の処理(表示処理やバックアップ処理等の通常の処理等)である。
First, it is determined whether or not the power of the
そして、ステップS2にてメッセージを受信した場合(ステップS2:Yes)には、システムSに含まれるノード装置1からのコンテンツの購入予約メッセージであるか否かを判定し(ステップS4)、コンテンツの購入予約メッセージである場合(ステップ4:Yes)には、指定されたコンテンツの予約リスト(表2参照)へ、メッセージ送信元のノード装置のIPアドレスを追加して(ステップS5)、ステップS1の処理へ移行する。
If the message is received in step S2 (step S2: Yes), it is determined whether the message is a content purchase reservation message from the
一方、コンテンツの購入予約メッセージでない場合(ステップS4:No)には、ディストリビュータ100からのコンテンツの予約リスト要求メッセージであるか否かを判定し(ステップS6)、コンテンツの予約リスト要求メッセージである場合(ステップ6:Yes)には、指定されたコンテンツの予約リストを、ディストリビュータ100へ送信して(ステップS7)、送信した予約リストをリセットしてステップS1の処理へ移行する。 On the other hand, if it is not a content purchase reservation message (step S4: No), it is determined whether it is a content reservation list request message from the distributor 100 (step S6), and if it is a content reservation list request message. In (Step 6: Yes), the reservation list of the designated content is transmitted to the distributor 100 (Step S7), the transmitted reservation list is reset, and the process proceeds to Step S1.
このように、ステップS1〜7の処理が、電源がオフとされる(ステップS1:Yes)まで繰り返し行なわれる。 As described above, the processes in steps S1 to S7 are repeated until the power is turned off (step S1: Yes).
<3−2.ディストリビュータ100の保存指示処理>
ディストリビュータ100における保存指示処理について図13及び図14を参照して説明する。当該保存指示処理は、制御部101の制御に基づいて本発明の保存指示プログラムが実行されることにより行われる。
<3-2. Storage Instruction Processing of
The save instruction process in the
<3−2−1. 繰り返し法による保存指示処理>
先ず、図5を用いて説明した繰り返し法によるコンテンツ保存の際の保存指示処理について図13を用いて説明する。
<3-2-1. Storage Instruction Processing by Iterative Method>
First, a storage instruction process when storing content by the iterative method described with reference to FIG. 5 will be described with reference to FIG.
ディストリビュータ100の電源がオフとされたか否かを判定し(ステップS11)、オフとされていない場合(ステップ11:No)には、新規コンテンツの投入が指示されたか否かを判定する(ステップS2)。新規コンテンツの投入の指示は、ディストリビュータ100の操作者が入力部104を操作することにより行なわれたり、或いは、他のシステム運営者の管理するサーバ等から通信部103を介して新規コンテンツ投入開始の指示を受けることにより行なわれる。
It is determined whether or not the power of the
新規コンテンツの投入が指示されていない場合(ステップS12:No)には、その他の処理(ステップS13)が実行されて電源がオフとされる(ステップS11:Yes)までステップS11〜13の処理が繰り返し行なわれる。その他の処理とは、保存指示処理以外のディストリビュータ100自体の他の処理(表示処理やバックアップ処理等の通常の処理等)である。 If the input of new content is not instructed (step S12: No), the other processes (step S13) are executed and the power is turned off (step S11: Yes). Repeatedly. The other processes are other processes (such as normal processes such as a display process and a backup process) other than the storage instruction process.
そして、ステップS12にて新規コンテンツの投入が指示された場合(ステップS12:Yes)には、制御部101は共用情報取得手段として機能し、記憶部102から投入すべき新規コンテンツを取得すると共に、予約受付サーバ200へ、当該新規コンテンツの予約リスト要求メッセージを送信する(ステップS14)。そして、制御部101は事前予約情報取得手段として機能し、予約受付サーバ200から予約リストを取得する(ステップS15)。
When the input of new content is instructed in step S12 (step S12: Yes), the control unit 101 functions as a shared information acquisition unit, acquires new content to be input from the
次に、制御部101は保存数決定手段及び保存指示手段として機能し、新規コンテンツの人気度から保存数を決定し(ステップS16)、予約リストと決定した保存数に基づいて、保存数分のノード装置に新規コンテンツを含む保存指示情報の一例としての保存指示メッセージを送信し(ステップS17)、ステップS11の処理へ移行する。ステップS17についてより具体的に説明すると、図5を用いて上述したように、先ず、予約リストに掲載された全てのIPアドレスのノード装置に対して、新規コンテンツと、当該新規コンテンツの保存を指示する保存指示メッセージを送信する(図5の実線矢印参照)。そして、予約リストに掲載された全てのIPアドレスが、ステップS6で決定した保存数に満たない場合には、その残数分のシステムSに参加している予約リストにない他のノード装置に対して、新規コンテンツを含む保存を指示する保存指示メッセージを送信する(図5の破線矢印参照)。 Next, the control unit 101 functions as a storage number determination unit and a storage instruction unit, determines the storage number from the popularity of the new content (step S16), and based on the reservation list and the determined storage number, A storage instruction message as an example of storage instruction information including new content is transmitted to the node device (step S17), and the process proceeds to step S11. Step S17 will be described in more detail. As described above with reference to FIG. 5, first, instructing node devices of all IP addresses listed in the reservation list to store the new content and the new content. The save instruction message to be transmitted is transmitted (see the solid line arrow in FIG. 5). If all the IP addresses listed in the reservation list are less than the number stored in step S6, other node devices not in the reservation list participating in the system S for the remaining number are stored. Then, a save instruction message for instructing save including the new content is transmitted (see the broken line arrow in FIG. 5).
このように、ステップS11〜17の処理が、電源がオフとされる(ステップS11:Yes)まで繰り返し行なわれる。 As described above, the processes in steps S11 to S17 are repeated until the power is turned off (step S11: Yes).
<3−2−2. 保存指示の転送による保存指示処理>
次に、図6を用いて説明した保存指示の転送によるコンテンツ保存の際の保存指示処理について図14を用いて説明する。
<3-2-2. Saving Instruction Processing by Transferring Saving Instruction>
Next, a storage instruction process at the time of content storage by transfer of the storage instruction described with reference to FIG. 6 will be described with reference to FIG.
先ず、ディストリビュータ100の電源がオフとされたか否かを判定し(ステップS21)、オフとされていない場合(ステップ21:No)には、新規コンテンツの投入が指示されたか否かを判定する(ステップS22)。
First, it is determined whether or not the power of the
新規コンテンツの投入が指示されていない場合(ステップS22:No)には、その他の処理(ステップS23)が実行されて電源がオフとされる(ステップS21:Yes)までステップS21〜23の処理が繰り返し行なわれる。 When the input of new content is not instructed (step S22: No), the other processes (step S23) are executed and the power is turned off (step S21: Yes). Repeatedly.
そして、ステップS22にて新規コンテンツの投入が指示された場合(ステップS22:Yes)には、制御部101は共用情報取得手段として機能し、記憶部102から投入すべき新規コンテンツを取得すると共に予約受付サーバ200へ、当該新規コンテンツの予約リスト要求メッセージを送信する(ステップS24)。そして、制御部101は事前予約情報取得手段として機能し、予約受付サーバ200から予約リストを取得する(ステップS25)。
When the input of new content is instructed in step S22 (step S22: Yes), the control unit 101 functions as a shared information acquisition unit, acquires new content to be input from the
次に、取得した予約リストが空(IPアドレスが掲載されていない)か否かを判定し(ステップS26)、空である場合(ステップS26:Yes)には、ステップS28に移行し、空で無い場合(ステップS27:No)には、当該予約リストもコンテンツと一緒に送信するため、コンテンツデータに当該予約リストを予約リスト情報として付加する(ステップS27)。 Next, it is determined whether or not the acquired reservation list is empty (no IP address is posted) (step S26). If it is empty (step S26: Yes), the process proceeds to step S28. If there is not (No at Step S27), the reservation list is transmitted together with the content, and therefore the reservation list is added to the content data as reservation list information (Step S27).
続いて、制御部101は保存数決定手段として機能し、新規コンテンツの人気度から保存数を決定し、当該保存数もコンテンツと一緒に送信するため、コンテンツデータに当該保存数を保存数情報として付加する(ステップS28)。 Subsequently, the control unit 101 functions as a storage number determination unit, determines the storage number from the popularity of the new content, and transmits the storage number together with the content. Therefore, the storage number is stored in the content data as the storage number information. It is added (step S28).
そして、制御部101は保存指示手段として機能し、予約リストと決定した保存数に基づいて、ノード装置に新規コンテンツを含む保存指示メッセージを送信し(ステップS29)、ステップS21の処理へ移行する。 Then, the control unit 101 functions as a storage instruction unit, transmits a storage instruction message including new content to the node device based on the reservation list and the determined number of storages (step S29), and proceeds to the process of step S21.
ステップS29の処理についてより具体的に説明すると、図6を用いて上述したように、先ず、予約リストにIPアドレスが掲載されている場合には、当該IPアドレスの中から、例えば、一つのIPアドレスにかかるノード装置に対して、新規コンテンツと保存を指示する保存指示メッセージ(保存数情報、予約リスト情報を含む)を送信する。予約リストが空であれば、保存数分の新規コンテンツを保存すべく、システムSに参加している何れかのノード装置に対して新規コンテンツと保存を指示する保存指示メッセージ(保存数情報、予約リスト情報を含む)を送信する。 The process of step S29 will be described more specifically. As described above with reference to FIG. 6, first, when an IP address is listed in the reservation list, for example, one IP address is selected from the IP address. A new content and a save instruction message (including save number information and reservation list information) are sent to the node device associated with the address. If the reservation list is empty, a storage instruction message (storage number information, reservation) instructing any node device participating in the system S to store the new content in order to store the new content for the number of storage. (Including list information).
<3−3.コンテンツプールサーバ300のコンテンツ配信補助処理>
コンテンツプールサーバ300におけるコンテンツ配信補助処理について図15を参照して説明する。当該コンテンツ配信補助処理は、制御部301の制御に基づいて行われる。
<3-3. Content Distribution Auxiliary Processing of
The content distribution assist process in the
先ず、コンテンツプールサーバ300の電源がオフとされたか否かを判定し(ステップS81)、オフとされていない場合(ステップS81:No)には、メッセージを受信したか否かを判定する(ステップS82)。メッセージを受信していない場合(ステップS82:No)には、その他の処理(ステップS83)が実行されて電源がオフとされる(ステップS81:Yes)までステップS81〜83の処理が繰り返し行なわれる。その他の処理とは、コンテンツ配信補助処理以外のコンテンツプールサーバ300自体の他の処理(表示処理やバックアップ処理等の通常の処理等)である。
First, it is determined whether or not the power of the
そして、ステップS82にてメッセージを受信した場合(ステップS82:Yes)には、システムSに含まれるノード装置1からのコンテンツの配信要求メッセージであるか否かを判定する(ステップS84)。
When the message is received in step S82 (step S82: Yes), it is determined whether the message is a content distribution request message from the
判定の結果、コンテンツの配信要求メッセージでない場合(ステップS84:No)には、ステップS83へ移行し、コンテンツの配信要求メッセージである場合(ステップS84:Yes)には、メッセージの送信元のノード装置(リクエスタ)に対して、指定されたコンテンツを配信(送信)し(ステップS85)、ステップS81の処理へ移行する。 As a result of the determination, if it is not a content distribution request message (step S84: No), the process proceeds to step S83, and if it is a content distribution request message (step S84: Yes), the node device that is the transmission source of the message The designated content is distributed (transmitted) to (requester) (step S85), and the process proceeds to step S81.
このように、ステップS81〜S85の処理が、電源がオフとされる(ステップS81:Yes)まで繰り返し行なわれる。 As described above, the processes in steps S81 to S85 are repeated until the power is turned off (step S81: Yes).
<3−4.ノード装置1の処理>
ノード装置1における処理について図16〜図22を参照して説明する。当該処理は、制御部11の制御に基づいて行われる。
<3-4. Processing of
Processing in the
先ず、ノード装置1の電源がオフとされたか否かを判定し(ステップS31)、オフとされていない場合(ステップS31:No)には、「システム参加処理」(ステップS32)、「コンテンツの予約処理」(ステップS33)、「コンテンツの視聴処理」(ステップS34)、が順に行なわれる。
First, it is determined whether or not the power of the
そして、メッセージを受信したか否かが判定され(ステップS35)、メッセージを受信した場合(ステップS32:Yes)には、「メッセージに基づく処理」(ステップS36)、「テーブル登録処理」(ステップS37)を行ない、メッセージを受信していない場合(ステップS35:No)には、コンテンツを受信したか否かを判定する(ステップS38)。 Then, it is determined whether or not a message has been received (step S35). If a message has been received (step S32: Yes), “message-based processing” (step S36), “table registration processing” (step S37). If the message has not been received (step S35: No), it is determined whether or not the content has been received (step S38).
そして、コンテンツを受信した場合(ステップS38:Yes)には、「メッセージに基づく処理」が行なわれ(ステップS39)、コンテンツを受信していない場合(ステップS38:No)には、「その他の処理」(ステップS40)が実行されて電源がオフとされる(ステップS31:Yes)までステップS31〜40の処理が繰り返し行なわれる。「その他の処理」とは、ノード装置1自体の予約処理以外の他の処理(表示処理やバックアップ処理等の通常の処理等)である。
When the content is received (step S38: Yes), “processing based on the message” is performed (step S39). When the content is not received (step S38: No), “other processing” is performed. ”(Step S40) is executed and the power is turned off (step S31: Yes), the processes of steps S31 to 40 are repeated. “Other processing” is processing other than the reservation processing of the
以下、上記ステップにおける各処理について説明する。 Hereinafter, each process in the above steps will be described.
■ステップS33における予約処理
上記ステップS33における予約処理について図17を用いて説明する。
(3) Reservation process in step S33 The reservation process in step S33 will be described with reference to FIG.
先ず、コンテンツの購入予約が指示されたか否かを判定する(ステップS41)。購入予約の指示とは、具体的には、ディストリビュータ100(或いは、システム運営者が設置した図示しない他の管理装置)から受信したシステム内に投入予定のコンテンツ(この時点では未公開)の情報を表示部16に表示し、これを確認したユーザが、入力部21を操作して、購入予約を希望するコンテンツを指定してコンテンツの購入予約を指示することである。
First, it is determined whether or not a content purchase reservation is instructed (step S41). Specifically, the purchase reservation instruction is information about content (not yet disclosed) that is scheduled to be input into the system received from the distributor 100 (or another management device (not shown) installed by the system operator). The user who has displayed and confirmed this on the
そして、コンテンツの購入予約が指示されていない場合(ステップ41:No)には処理を終了し、コンテンツの購入予約が指示された場合(ステップS41:Yes)には、指定されたコンテンツにかかる購入予約メッセージを、予約受付サーバ200へ送信して(ステップS42)、処理を終了する。 If the content purchase reservation is not instructed (step 41: No), the process is terminated. If the content purchase reservation is instructed (step S41: Yes), the purchase related to the specified content is purchased. A reservation message is transmitted to the reservation reception server 200 (step S42), and the process is terminated.
■ステップS34における視聴処理
上記ステップS34における視聴処理について図18を用いて説明する。
(1) Viewing process in step S34 The viewing process in step S34 will be described with reference to FIG.
先ず、コンテンツの視聴が指示されたか否かを判定する(ステップS51)。視聴の指示とは、例えば、ユーザが入力部21を操作して、視聴したいコンテンツを指定して視聴を指示(視聴要求)することである。 First, it is determined whether or not content viewing has been instructed (step S51). The viewing instruction is, for example, that the user operates the input unit 21 to specify a content desired to be viewed and instruct viewing (viewing request).
そして、コンテンツの視聴が指示されていない場合(ステップ51:No)には処理を終了し、コンテンツの視聴が指示された場合(ステップS51:Yes)には、制御部11は判定手段として機能し、指定されたコンテンツが、自己の記憶部12に記憶されているか否かを判定する(ステップS52)。自己の記憶部12に記憶されている場合とは、例えば、ディストリビュータ100(又は、他のノード装置1)から、当該コンテンツの保持を指示され、当該コンテンツを取得した場合、或いは過去に既に他のノード装置1から配信を受けていた(ダウンロード済)場合等である。
Then, when the content viewing is not instructed (step 51: No), the process is terminated, and when the content viewing is instructed (step S51: Yes), the control unit 11 functions as a determination unit. Then, it is determined whether or not the designated content is stored in its own storage unit 12 (step S52). The case where the content is stored in its
指定されたコンテンツが、自己の記憶部12に記憶されている場合(ステップS52:Yes)には、制御部11は再生処理手段として機能し、当該記憶部12に記憶されたコンテンツの再生を開始する(ステップS53)。
When the designated content is stored in its own storage unit 12 (step S52: Yes), the control unit 11 functions as a reproduction processing unit and starts reproduction of the content stored in the
ステップS52において、指定されたコンテンツが、自己の記憶部12に記憶されていない場合(ステップS52:No)には、当該コンテンツの所在がキャッシュ情報として自己の記憶部12に記憶されているか否かを判定する(ステップS54)。
In step S52, if the designated content is not stored in its own storage unit 12 (step S52: No), whether or not the location of the content is stored in its
記憶されている場合(ステップS54:Yes)には、キャッシュ情報に従ってコンテンツを保持するノード装置1に対して、コンテンツを送信するよう指示する「コンテンツ送信指示メッセージ」を送信し(ステップS55)して処理を終了する。
If it is stored (step S54: Yes), a “content transmission instruction message” instructing to transmit the content is transmitted to the
他方、コンテンツの所在がキャッシュ情報として記憶されていない場合(ステップS54:No)には、制御部11は共有情報取得手段として機能し、通常のコンテンツ検索により他のノード装置1からコンテンツを取得する。具体的には、先ず、コンテンツ名等からコンテンツIDを生成し(各ノード装置にシステム運営者等から配布されたコンテンツのカタログリストにコンテンツIDが含まれている場合には、これを利用する)、当該コンテンツIDをキーに、テーブル情報を参照して「検索メッセージ」の送信先のノード装置1を決定する。このとき、自分のノードIDよりも、コンテンツIDと上記「所定の関係」となるようなノードIDがテーブル情報になく、自分が当該コンテンツのルートノードである場合(ステップS56:Yes)には、本来自分がキャッシュ情報を所持しているべきであるところ、ステップS54の判定でキャッシュ情報を所持せず判定されている。従って、コンテンツプールサーバ300へコンテンツを要求(ステップS57)して処理を終了する。
On the other hand, when the location of the content is not stored as cache information (step S54: No), the control unit 11 functions as a shared information acquisition unit, and acquires content from another
自分が当該コンテンツのルートノードではない場合(ステップS56:No)には、テーブル情報を参照して決定した「検索メッセージ」の送信先のノード装置1に対して、「検索メッセージ」を送信(ステップS58)して処理を終了する。「検索メッセージ」は、複数のノード装置間を転送され、ルートノードに辿り着き、ルートノードがコンテンツを保存しているノード装置に対して「コンテンツ送信指示メッセージ」を送信することとなる(図7参照)。
If the user is not the root node of the content (step S56: No), the “search message” is transmitted to the
このように、購入予約をしていれば、コンテンツは記憶部12に記憶されているので、コンテンツを記憶部12から取得してすぐに再生処理を行なうことができる。
As described above, if a purchase reservation is made, the content is stored in the
■ステップS36におけるメッセージに基づく処理
上記ステップS36におけるメッセージに基づく処理について図19を用いて説明する。
(3) Processing based on message in step S36 The processing based on the message in step S36 will be described with reference to FIG.
先ず、コンテンツの「検索メッセージ」を受信したか否かを判定する(ステップS71)。コンテンツの「検索メッセージ」を受信した場合には(ステップS71:Yes)、指定されたコンテンツの所在情報がキャッシュ情報に登録されているか否かを判定し(ステップS72)、登録されていれば(ステップS72:Yes)、コンテンツを保持するノード装置に、リクエスタに対して、コンテンツを送信するよう指示する「コンテンツ送信指示メッセージ」を送信し(ステップS73)、処理を終了する。 First, it is determined whether or not a “search message” for content has been received (step S71). When the “search message” of the content is received (step S71: Yes), it is determined whether or not the location information of the designated content is registered in the cache information (step S72). In step S72: Yes, a “content transmission instruction message” instructing the requester to transmit the content is transmitted to the node device holding the content (step S73), and the process ends.
一方、指定されたコンテンツの所在情報がキャッシュ情報に登録されていない場合(ステップS72:No)には、テーブル情報を参照して、コンテンツの「検索メッセージ」の送信先(転送先)があるか否かを判定し(ステップS74)、送信先がなければ(ステップS74:Yes)、そのまま処理を終了し、送信先があれば(ステップS74:No)、「検索メッセージ」を転送して(ステップS75)、処理を終了する。 On the other hand, if the location information of the specified content is not registered in the cache information (step S72: No), the table information is referred to and there is a transmission destination (transfer destination) of the content “search message”. If there is no transmission destination (step S74: Yes), the process is terminated as it is, and if there is a transmission destination (step S74: No), the “search message” is transferred (step S74). S75), the process ends.
また、ステップS71において、コンテンツの「検索メッセージ」を受信していない場合には(ステップS71:No)、「コンテンツ送信指示メッセージ」を受信したか否かを判定する(ステップS76)。「コンテンツ送信指示メッセージ」を受信した場合には(ステップS76:Yes)、指定されたコンテンツをリクエスタに送信し(ステップS77)、処理を終了する。 In step S71, if the “search message” for the content has not been received (step S71: No), it is determined whether or not the “content transmission instruction message” has been received (step S76). When the “content transmission instruction message” is received (step S76: Yes), the designated content is transmitted to the requester (step S77), and the process is terminated.
一方、「コンテンツ送信指示メッセージ」を受信していない場合には(ステップS76:No)、処理を終了する。 On the other hand, if the “content transmission instruction message” has not been received (step S76: No), the process is terminated.
■ステップS37におけるテーブル登録処理
上記ステップS37におけるテーブル登録処理について図20を用いて説明する。
(3) Table registration process in step S37 The table registration process in step S37 will be described with reference to FIG.
先ず、メッセージの授受や、コンテンツの授受、その他の情報の授受等、他のノード装置1と通信があったか否かを判定する(ステップS91)。他のノード装置1と通信がなければ(ステップS91:No)、処理を終了し、他のノード装置1と通信があった場合(ステップS91:Yes)には、通信があった他のノード装置1のノードID及びIPアドレスを取得し(ステップS92)、テーブル情報に登録(記憶)して(ステップS93)処理を終了する。
First, it is determined whether or not there has been communication with another
■ステップS39におけるコンテンツ受信処理
続いて、上記ステップS39におけるコンテンツ受信処理について説明する。
(3) Content reception process in step S39 Next, the content reception process in step S39 will be described.
<I>繰り返し法によるコンテンツ保存の際のコンテンツ受信処理
先ず、図5を用いて説明した繰り返し法によるコンテンツ保存の際のコンテンツ受信処理について図21を用いて説明する。
<I> Content Receiving Process for Saving Content by Iterative Method First, the content receiving process for saving content by the iterative method described with reference to FIG. 5 will be described with reference to FIG.
ディストリビュータ100から、新規コンテンツと共に「保存指示メッセージ」を受信したか否かを判定する(ステップS101)。「保存指示メッセージ」を受信した場合には(ステップS101:Yes)、制御部11は保存制御手段として機能し、受信した新規コンテンツを記憶手段としての記憶部12に保存し(ステップS102)、当該新規コンテンツの公開処理(パブリッシュ)を行ない(ステップS103)、処理を終了する。
It is determined whether or not a “save instruction message” is received together with new content from the distributor 100 (step S101). When the “save instruction message” is received (step S101: Yes), the control unit 11 functions as a save control unit, and stores the received new content in the
一方、「保存指示メッセージ」を受信していない場合には(ステップS101:No)、上述した「視聴処理」(図18)におけるステップS55、S57及びS58の処理にて他のノード装置或いはコンテンツプールサーバ300に要求(検索)したコンテンツの受信か否か、そして要求(検索)した全てのコンテンツを受信したか否かを判定し(ステップS104)、要求(検索)した全てのコンテンツを受信した場合(ステップS104:Yes)には、当該コンテンツを記憶部12に保存して、コンテンツの公開処理(パブリッシュ)を行ない(ステップS105)、再生処理を開始(ステップS106)して処理を終了する。要求(検索)したコンテンツの受信でない場合、或いはステップS55の処理にて要求した全てのコンテンツを受信していない場合(ステップS104:No)には処理を終了する。このように、要求したコンテンツが複数あるときは、要求したコンテンツが全て揃ったときにステップS106にて再生処理を開始するが、受信できなかったコンテンツがある場合には、図21の処理を終了後、或いは処理終了前に、再検索を行なったり、又はコンテンツプールサーバ300にコンテンツを要求する。
On the other hand, if the “save instruction message” has not been received (step S101: No), other node devices or content pools are processed in the processes of steps S55, S57, and S58 in the above “viewing process” (FIG. 18). When it is determined whether or not the content requested (searched) from the
<II>保存指示の転送によるコンテンツ保存の際のコンテンツ受信処理
次に、図6を用いて説明した保存指示の転送によるコンテンツ保存の際のコンテンツ受信処理について図22を用いて説明する。
<II> Content Receiving Process for Saving Content by Transfer of Saving Instruction Next, the content receiving process for saving content by transferring the saving instruction described with reference to FIG. 6 will be described with reference to FIG.
ディストリビュータ100又は他のノード装置1から、新規コンテンツと共に保存数情報を含む「保存指示メッセージ」を受信したか否かを判定し(ステップS111)、「保存指示メッセージ」を受信した(制御部11が保存数情報受信手段として機能した)場合には(ステップS111:Yes)、制御部11は保存制御手段として機能し、受信した新規コンテンツを記憶部12に保存し、当該新規コンテンツの公開処理(パブリッシュ)を行なう(ステップS112)。
It is determined whether or not a “save instruction message” including saved number information together with new content has been received from the
そして、自己が記憶部12に保存したことに起因して保存数を「1」減算して更新し(ステップ113)、「保存指示メッセージ」に含まれる保存数情報で示されるコンテンツの保存数が、「0」か否かを判定し(ステップS114)、「0」である場合には(ステップS114:Yes)、処理を終了し、「0」でない場合には(ステップS114:No)、次に、「保存指示メッセージ」に予約リスト情報が含まれているか否かを判定する(ステップS115)。そして、予約リスト情報が含まれている場合(ステップS115:Yes)(事前予約情報取得手段)には、予約リスト情報が示す予約リストに、自己のIPアドレスがあるか否かを判定する(ステップS116)。 Then, the storage number is updated by subtracting “1” due to the fact that it is stored in the storage unit 12 (step 113), and the storage number of the content indicated by the storage number information included in the “storage instruction message” is , “0” is determined (step S114). If it is “0” (step S114: Yes), the process is terminated. If it is not “0” (step S114: No), the next Then, it is determined whether or not the reservation list information is included in the “save instruction message” (step S115). If reservation list information is included (step S115: Yes) (advance reservation information acquisition means), it is determined whether or not the reservation list indicated by the reservation list information has its own IP address (step S115). S116).
予約リストに、自己のIPアドレスがある場合(ステップS116:Yes)には、自分のIPアドレスを予約リストから削除して予約リストを更新し(ステップS117)、予約リストが空(IPアドレスが掲載されていない)か否かを判定し(ステップS118)、空である場合(ステップS118:Yes)には、予約リストを削除し(ステップS119)、空で無い場合(ステップS118:No)には、ステップS120に移行する。また、ステップS116の処理において、予約リストに自己のIPアドレスがない場合(ステップS116:No)、ステップS120へ移行する。 If the reservation list has its own IP address (step S116: Yes), the IP address is deleted from the reservation list and the reservation list is updated (step S117), and the reservation list is empty (the IP address is posted). (Step S118), if it is empty (Step S118: Yes), the reservation list is deleted (Step S119), and if it is not empty (Step S118: No) The process proceeds to step S120. Further, in the process of step S116, when the reservation list does not have its own IP address (step S116: No), the process proceeds to step S120.
そして、ステップS120では、変数「num」を1と初期化し(ステップS120)、変数「num」が予約リストに登録されているIPアドレスの数以下か否かを判定する(ステップS121)。 In step S120, the variable “num” is initialized to 1 (step S120), and it is determined whether the variable “num” is equal to or less than the number of IP addresses registered in the reservation list (step S121).
変数「num」が予約リストに登録されているIPアドレスの数以下である場合(ステップS121:Yes)には、制御部11は保存指示手段として機能し、予約リストの「num」番目のIPアドレスに係るノード装置1に、新規コンテンツと保存指示メッセージ(保存数情報、予約リスト情報を含む)を送信し、送信できたか否かを判定する(ステップS122)。そして、新規コンテンツと保存指示メッセージを送信できた場合(ステップS122:Yes)には、処理を終了し、他方、新規コンテンツと保存指示メッセージを送信できなかった場合(ステップS122:No)には、変数「num」に1を加算し(ステップS123)、ステップS121の処理に戻る。
When the variable “num” is equal to or less than the number of IP addresses registered in the reservation list (step S121: Yes), the control unit 11 functions as a storage instruction unit, and the “num” -th IP address in the reservation list. A new content and a storage instruction message (including storage number information and reservation list information) are transmitted to the
また、ステップS115の処理において、「保存指示メッセージ」に予約リスト情報が含まれていない場合(ステップS115:No)、及び、ステップS121の処理において、変数「num」が予約リストに登録されているIPアドレスの数以下でないと判定された場合(ステップS121:No)には、システムSに参加している何れかのノード装置1を選択し、当該ノード装置1に新規コンテンツと保存指示メッセージを送信する。具体的には、自己が知っている、システムSに参加しているノード装置1であればよいので、例えば、テーブル情報に登録されているノード装置1から選んで送信すればよい。また、ステップS115:Noからの処理の場合には、保存指示メッセージには保存数情報を含み、ステップS121Noからの処理の場合には、保存指示メッセージには保存数情報と予約リスト情報を含む。
Further, in the process of step S115, when the reservation list information is not included in the “save instruction message” (step S115: No), and in the process of step S121, the variable “num” is registered in the reservation list. If it is determined that the number is not less than the number of IP addresses (step S121: No), any
最初の処理、「保存指示メッセージ」を受信していない場合には(ステップS111:No)、上述した「視聴処理」(図18)におけるステップS55の処理にて要求(検索)したコンテンツの受信か否かを判定し(ステップS125)、要求(検索)したコンテンツの受信である場合(ステップS125:Yes)には、当該コンテンツを記憶部12に保存して、コンテンツの公開処理(パブリッシュ)を行ない(ステップS126)、再生処理を開始(ステップS127)して処理を終了する。要求(検索)したコンテンツの受信でない場合には(ステップS125:No)処理を終了する。
If the first process, “save instruction message” has not been received (step S111: No), whether the content requested (searched) in the process of step S55 in the above “viewing process” (FIG. 18) has been received. (Step S125), and when the requested (searched) content is received (Step S125: Yes), the content is stored in the
以上説明した本実施の形態によれば、ディストリビュータ100が、新規コンテンツを、当該新規コンテンツを予約したノード装置1の情報を予約リストとして取得し、当該予約リストに登録された、予約済みのノード装置1に新規コンテンツを保存させるよう構成したので、新規コンテンツを予約済みのノード装置1は、新規コンテンツが共用可能になると、自己の記憶部12から新規コンテンツを取得して迅速に視聴することができる。
According to the present embodiment described above, the
また、ディストリビュータ100は、新たなコンテンツをコンテンツ配信システムS内に保存させる数(保存数)を定め、先ず、予約リストに登録された予約済みのノード装置1に優先的に新規コンテンツを保存させた後に、予約していないノード装置1にも保存して、保存数分のノード装置1に確実にコンテンツを保存させる。従って、予約済みのノード装置1に優先的に新規コンテンツを保存させ、かつ、新規コンテンツの予約リストに登録された予約済みのノード装置1の数に依ることなく(予約数が多くても少なくても)、新規コンテンツを、例えば人気度等に基づいて定めた保存数分、確実にコンテンツ配信システムS内に投入することができる。
Further, the
<4.変形形態>
<4−1.変形形態1>
変形形態として、コンテンツ配信システムSに参加しているノード装置1が、新規コンテンツの保存指示メッセージを、ディストリビュータ100に代わり送出する構成について説明する。
<4. Variation>
<4-1.
As a modification, a configuration in which the
上述した実施形態では、ディストリビュータ100が、新たなコンテンツの購入予約をしたノード装置1(及びそれ以外の保存数分のノード装置1)に新規コンテンツを送信して保存を指示(保存指示メッセージ)したが、ディストリビュータ100が、システムSに参加しているノード装置1に、保存指示を出す保存指示装置となるよう命じ、命じられたノード装置1が、上述した実施形態におけるディストリビュータ100の処理を行なう。
In the above-described embodiment, the
ディストリビュータ100に代わり、保存指示装置となるべきノード装置1は、コンテンツ配信システムSに所定時間以上参加しているノード装置が好ましい。
Instead of the
ここでは、コンテンツ配信システムSにシステム運営者が用意したサポータノード装置1Sを備え、当該サポータノード装置1Sが、ディストリビュータ100に代わり、保存指示装置となる。このサポータノード装置1Sは、図23に示す如く分散ハッシュテーブルによるID空間にて分散して配置され、例えば、システム内に参加ノード装置1が少なくなった場合でも、システム内の各ノード装置1間の通信状態を常に安定性良く保つためにシステム内に常駐している(電源が落ちない)。図23に示す例によれば、サポータノード装置1Sは、ID空間の、4つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」ごとに1台設置される。
Here, the content distribution system S includes a
各サポータノード装置1Sが有するキャッシュ情報は、一般のノード装置1よりも保存期間が長いか、又はキャッシュ情報を保存するための記憶容量が一般のノード装置1よりも大きく、一般のノード装置1よりも多くのキャッシュ情報を常に記憶できるよう構成することが好ましい。これにより、コンテンツ配信システムSに参加しているノード装置1の数が少ない場合でも、DHTルーティングによる各ノード装置1間のメッセージの授受をスムーズ且つ迅速に行なうことが可能になっている。
The cache information included in each
また、各サポータノード装置1Sは、一般利用者のノード装置1のテーブル情報への登録優先順位を低くして、一般利用者のノード装置1のテーブル情報へは登録されにくい設定とする。サポータノード装置1Sは、システム運営者がサービス開始当初に設置し、以後常時稼動し続けるため、一旦他のノード装置知られ、テーブル情報に登録がされてしまうと、メッセージの送信に失敗することがなく、書換えが行なわれることも無いので、テーブル情報から削除されることはない。従って、サポータノード装置1Sのテーブル情報への登録が、他の一般利用者のノード装置1と同じ優先順位で登録されることとしてしまうと、サポータノード装置1Sの安定性の高さから、サポータノード装置1Sの負荷の増大を招いてしまう。従って、できるだけ一般利用者のノード装置1間でメッセージ転送を行い、何らかの不都合が生じた場合(例えば、自己のテーブル情報に登録された他の一般利用者のノード装置1が全て無効(応答が無い等)である場合)にだけ、サポータノード装置1Sが利用されることが好ましい。例えば、テーブル情報に優先順位を設けて、サポータノード装置1Sのテーブル情報への登録優先順位を低く設定することにより、一般利用者のノード装置1のテーブル情報に、サポータノード装置1Sが登録されにくくする手法がある。なお、テーブル情報の優先順位について、本願出願人により特許出願(特願2006‐095557、特願2006-125030)がされていることをここに付記する。
In addition, each
ディストリビュータ100は、何れかのサポータノード装置1Sに対して、保存指示装置となるよう指示を出し(保存指示装置命令)、これを受けたサポータノード装置1Sが本発明の保存指示装置として機能する。
The
保存指示装置命令には、保存指示の対象となる新規コンテンツと、当該新規コンテンツの予約リストを示す予約リスト情報と、保存数を示す保存数情報を含む。 The storage instruction device command includes new content to be stored, reservation list information indicating a reservation list of the new content, and storage number information indicating the number of storages.
図24は、サポータノード装置1Sによる<I>繰り返し法による新規コンテンツ保存の様子の一例を示す説明図である。
FIG. 24 is an explanatory diagram showing an example of how new content is saved by the <I> iteration method by the
サポータノード装置1Sは、ディストリビュータ100から新規コンテンツの保存指示装置命令を受けると、当該命令に従って、予約リストに登録されたIPアドレスに従って、各ノード装置1に対してコンテンツを送信し、保存指示を行なう(実線矢印参照)。
When the
また、保存数情報で示される保存数が、購入予約をしたノード装置1の数(例えば、「4」)よりも多ければ、残りの保存数分(6−4=2)を、購入予約を行なっていないノード装置にコンテンツを送信し、保存指示を行なう(破線矢印参照)。図24に示す例の場合、IPアドレス10と11のノード装置が、購入予約を行なっていないが、保存の指示を受けている。なお、購入予約を行なっていないノード装置を選ぶ場合、サポータノード装置1は自己が知っている(例えば、テーブル情報に記載された)ノード装置1の中から任意に選択するが、この際、ID空間中にコンテンツが偏りなく散らばるよう、ノードIDを考慮して選ぶことがより望ましい。
If the number of storages indicated by the storage number information is larger than the number of
図25は、サポータノード装置1Sによる<II>保存指示の転送による新規コンテンツ保存の様子の一例を示す説明図である。
FIG. 25 is an explanatory diagram showing an example of how new content is saved by transferring a <II> save instruction by the
サポータノード装置1Sは、ディストリビュータ100から新規コンテンツの保存指示装置命令を受けると、当該命令に従って、予約リストに登録されたIPアドレスのうち、一つのIPアドレス(例えば、一番上に記載されているIPアドレス1)に従って、当該IPアドレス1のノード装置に対してコンテンツを送信し、保存指示を行なう。このとき、予約リストと保存数も共に送信する。
When the
サポータノード装置1Sからコンテンツ、予約リスト及び保存数を受信したIPアドレス1のノード装置は、予約リストに掲載された自己のIPアドレス以外の一つのIPアドレスを(例えば、次に記載されているIPアドレス2)に従って、当該IPアドレス2のノード装置に対してコンテンツ、予約リスト及び保存数を送信し、保存指示を行なう。以下、図6を参照して上述したディストリビュータ100から発せられた保存指示と同様に、予約リストに登録されたノード装置1、更に保存数分のノード装置1にコンテンツが保存されるまで、各ノード装置1間を保存指示メッセージが転送されていく。
The node device having the
変形形態による、上述したノード装置1の処理(図16)のステップS39のコンテンツ受信処理について説明する。なお、図16〜図22を用いて説明したノード装置としての他の処理は上記と同様である。 The content reception process in step S39 of the above-described process of the node device 1 (FIG. 16) according to a modification will be described. The other processes as the node device described with reference to FIGS. 16 to 22 are the same as described above.
■ステップS39におけるコンテンツ受信処理(変形形態)
<I>繰り返し法によるコンテンツ保存の際のコンテンツ受信処理
先ず、図26を用いて説明した変形形態に係る<I>繰り返し法によるコンテンツ保存の際のコンテンツ受信処理(変形形態)について、図26を用いて説明する。当該処理は、図16のノード装置の処理におけるステップS39の処理であって、通常のノード装置1とサポータノード装置1Sに共通の処理である。
■ Content reception processing in step S39 (variation)
<I> Content Receiving Process when Saving Content by Iterative Method First, FIG. 26 shows a content receiving process (variant) when saving content by the <I> iterative method according to the modified embodiment described with reference to FIG. It explains using. This process is the process of step S39 in the process of the node apparatus of FIG. 16, and is a process common to the
ディストリビュータ100から「保存指示装置命令」を受けたか、又は他のノード装置1から「保存指示メッセージ」を受信したかを判定し(ステップS141)、保存指示装置命令又は「保存指示メッセージ」を受信した場合には(ステップS141:Yes)、「保存指示メッセージ」であれば、受信した新規コンテンツを記憶部12に保存し(保存制御手段)、当該新規コンテンツの公開処理(パブリッシュ)を行なう。そして、自己がコンテンツを保存したことに起因して保存数を「1」減算して更新する(ステップS142)。保存指示装置命令である場合には、自身は単に保存を指示するサポータノード装置1Sであるので、コンテンツの保存や公開、保存数の更新は行なわない。
It is determined whether a “save instruction device command” is received from the
そして、受信した保存指示装置命令又は「保存指示メッセージ」に予約リスト情報が含まれているか否かを判定し(ステップS143)、予約リスト情報が含まれていない場合(ステップS143:No)には、「予約リストに登録されている数」を「0」と定義し(ステップ144)、ステップS150へ移行する。 Then, it is determined whether or not the reservation list information is included in the received storage instruction device command or “storage instruction message” (step S143), and when the reservation list information is not included (step S143: No). Then, “the number registered in the reservation list” is defined as “0” (step 144), and the process proceeds to step S150.
一方、予約リスト情報が含まれている場合(ステップS143:Yes)(事前予約情報取得手段)には、予約リスト情報が示す予約リストに、自己のIPアドレスがあるか否かを判定する(ステップS145)。予約リストに、自己のIPアドレスがある場合(ステップS145:Yes)には、自分のIPアドレスを予約リストから削除して予約リストを更新する(ステップS146)。予約リストに自己のIPアドレスがない場合(ステップS145:No)、ステップS149へ移行して変数「num」を1と初期化する(ステップS149)。 On the other hand, if the reservation list information is included (step S143: Yes) (advance reservation information acquisition means), it is determined whether or not the reservation list indicated by the reservation list information has its own IP address (step S1). S145). If there is a self IP address in the reservation list (step S145: Yes), the IP address is deleted from the reservation list and the reservation list is updated (step S146). If there is no self IP address in the reservation list (step S145: No), the process proceeds to step S149, and the variable “num” is initialized to 1 (step S149).
そしてステップS147では、予約リストが空(IPアドレスが掲載されていない)か否かを判定し(ステップS147)、空で無い場合(ステップS148:No)には、変数「num」を1と初期化し(ステップS149)、空である場合(ステップS147:Yes)には、予約リストを削除し(ステップS148)て、変数「num」を1と初期化する(ステップS149)。 In step S147, it is determined whether or not the reservation list is empty (no IP address is posted) (step S147). If the reservation list is not empty (step S148: No), the variable “num” is initially set to 1. If it is empty (step S147: Yes), the reservation list is deleted (step S148), and the variable “num” is initialized to 1 (step S149).
次に、ステップS150では「保存指示メッセージ」に含まれる保存数情報で示されるコンテンツの保存数が、「0」か否かを判定し(ステップS150)、「0」である場合には(ステップS150:Yes)、処理を終了し、「0」でない場合には(ステップS150:No)、変数「num」が予約リストに登録されているIPアドレスの数以下か否かを判定する(ステップS151)。 Next, in step S150, it is determined whether or not the content storage number indicated by the storage number information included in the “storage instruction message” is “0” (step S150). S150: Yes), the process ends. If it is not “0” (step S150: No), it is determined whether the variable “num” is equal to or less than the number of IP addresses registered in the reservation list (step S151). ).
変数「num」が予約リストに登録されているIPアドレスの数以下である場合(ステップS151:Yes)には、予約リストの「num」番目のIPアドレスに係るノード装置1に、新規コンテンツと保存指示メッセージ(保存数情報、予約リスト情報を含む)を送信し(保存指示手段)、送信できたか否かを判定する(ステップS152)。そして、新規コンテンツと保存指示メッセージを送信できた場合(ステップS152:Yes)には、1つ保存が完了したので、保存数を「1」減算して更新し(ステップS153)、変数「num」に1を加算し(ステップS154)、ステップS150の処理に戻る。一方、新規コンテンツと保存指示メッセージを送信できなかった場合(ステップS152:No)には、変数「num」に1を加算し(ステップS154)、ステップS150の処理に戻る。
If the variable “num” is equal to or less than the number of IP addresses registered in the reservation list (step S151: Yes), the new contents and the storage are stored in the
また、変数「num」が予約リストに登録されているIPアドレスの数以下でないと判定された場合(ステップS151:No)には、システムSに参加している何れかのノード装置1を選択し、当該ノード装置1に新規コンテンツと保存指示メッセージを送信する。具体的には、自己が知っている、システムSに参加しているノード装置1であればよいので、例えば、テーブル情報に登録されているノード装置1から選んで送信すればよい。
If it is determined that the variable “num” is not less than the number of IP addresses registered in the reservation list (step S151: No), one of the
最初の処理、保存指示装置命令、「保存指示メッセージ」の何れも受信していない場合には(ステップS141:No)、上述した「視聴処理」(図18)におけるステップS55の処理にて要求(検索)したコンテンツの受信か否かを判定し(ステップS156)、要求(検索)したコンテンツの受信である場合(ステップS156:Yes)には、当該コンテンツを記憶部12に保存して、コンテンツの公開処理(パブリッシュ)を行ない(ステップS156)、再生処理を開始(ステップS157)して処理を終了する。要求(検索)したコンテンツの受信でない場合には(ステップS156:No)処理を終了する。
If none of the initial process, the storage instruction device command, and the “storage instruction message” has been received (step S141: No), the request (step S55 in the “viewing process” (FIG. 18) described above is requested ( It is determined whether or not the searched content is received (step S156). If the requested (searched) content is received (step S156: Yes), the content is stored in the
なお、変形形態による<II>保存指示の転送による新規コンテンツ保存の場合は、図22におけるステップS111の処理においてディストリビュータ100から保存指示装置命令を受けたか、又は他のノード装置1から「保存指示メッセージ」を受信したかを判定し、何れかを受けている場合にはステップS112へ移行する。ステップS112では、受信したものが「保存指示メッセージ」であれば、コンテンツを記憶部12に保存、公開する。また、ステップ114では、ステップS112にて保存、公開を行なったときにだけ、保存数の更新を行なう。その他の処理は図22の処理と同様である。
Note that in the case of saving new content by transferring a <II> save instruction according to a modified form, a save instruction device command is received from the
<4−2.変形形態2>
上述した<I>繰り返し法による新規コンテンツの保存と、<II>保存指示の転送による新規コンテンツの保存と、を組み合わせることもできる。
<4-2.
It is also possible to combine the above-described <I> storage of new content by the iterative method and <II> storage of new content by transfer of a storage instruction.
図27は、<I>繰り返し法と<II>保存指示転送の組み合わせによる保存指示の転送の様子を示す説明図である。 FIG. 27 is an explanatory diagram showing how a storage instruction is transferred by a combination of the <I> repetition method and <II> storage instruction transfer.
サポータノード装置1Sから保存指示を受けたノード装置は、二台のノード装置1に保存指示を転送する。これを受けたノード装置も、二台のノード装置1に保存指示を転送する。各ノード装置1に指示を転送する際には、保存数を、転送する数(枝分かれ数)で除算する。
The node device that has received the save instruction from the
図28は、<I>繰り返し法と<II>保存指示転送の組み合わせによる保存指示の転送の様子を示すスパニングツリーによる説明図である。 FIG. 28 is an explanatory diagram of a spanning tree showing a state of transfer of a storage instruction by a combination of <I> iteration method and <II> storage instruction transfer.
先ず、サポータノード装置1Sは、ディストリビュータ100から、保存指示装置命令を受信する。当該保存指示装置命令は、予約リスト情報と保存数情報(保存数=10)を含む。
First, the
そして、サポータノード装置1Sは、予約リスト情報に基づいて、購入予約済みノード装置1に「保存指示メッセージ」を送出する。
The
これを受けた購入予約済みノード装置1は、自己の記憶部12に新規コンテンツを保存して保存数を10‐1=9と更新し、更新後の保存数「9」を、転送するノード装置の数(枝分かれする数)で分割する。同図に示す例の場合、「4」と「5」に二分割し夫々を保存数情報として含む「保存指示メッセージ」を、予約リスト情報に基づいて、他の購入予約済みノード装置1に送信する。
Receiving this, the
これを順に繰り返し行い、予約リストに登録がある限り予約リストに登録された購入予約済みノード装置1に転送し、予約リストの登録がなくなってからは、保存数が「0」になる限り、コンテンツの保存を行なう。
This is repeated in order, and as long as there is a registration in the reservation list, it is transferred to the
このような、<I>繰り返し法と<II>保存指示転送の組み合わせによれば、公開日が近い新規コンテンツを急いでシステム内に分散投入させたい場合に、より迅速に投入を行なうことができる。 According to such a combination of the <I> iteration method and <II> storage instruction transfer, when new content with a close publication date is urgently distributed into the system, it can be input more quickly. .
なお、ノード装置の処理としては、図22における処理と略同様である。異なる処理として、ステップS111の処理においてディストリビュータ100から保存指示装置命令を受けたか、又は他のノード装置1から「保存指示メッセージ」を受信したかを判定し、何れかを受けている場合にはステップS112へ移行する。ステップS112では、受信したものが「保存指示メッセージ」であれば、コンテンツを保存~公開する。また、ステップ114では、ステップS112にて保存〜公開を行なったときにだけ、保存数の更新を行なう。そして、ステップS120の処理の前に、保存数を「保存指示メッセージ」を転送するノード装置の数で分割して更新し、予約リスト情報に登録されている情報も同様に「保存指示メッセージ」を転送するノード装置の数で分割して更新する。その他の処理は図22の処理と同様である。
Note that the processing of the node device is substantially the same as the processing in FIG. As a different process, it is determined whether or not a storage instruction apparatus command is received from the
なお、ディストリビュータ100が保存指示装置命令を出すノード装置1として、システム運営者によって設置されたサポータノード装置1を利用する手法について述べたが、現在システムに参加しているノード装置1であれば、何れのノード装置1に対して保存指示装置命令を出しても良い。すなわち、システムに参加している何れのノード装置1も本発明の保存指示装置として機能することができる。
In addition, although the method using the
以上説明した実施形態では、購入予約を行なったノード装置1の宛先情報であるIPアドレスをノード装置識別情報の一例として用いて予約リストに登録しているが、購入予約を行なったノード装置1を識別できれば、IPアドレスでなくともよく、例えば、DHTのメッセージ転送に利用されるノードID(識別ID)を、ノード装置識別情報として用いてもよい。IPアドレスは、購入予約をしているノード装置1に他のノード装置を介すことなく、直接コンテンツを送ることができるので便利であるが、ノード装置1がネットワークに接続する際に経由する接続業者のルータ等で、随時変更されてしまう可能性がある。このように、コンテンツの保存処理が行なわれるときのIPアドレスが、購入予約を行なったときに登録したIPアドレスと異なってしまう可能性がある場合には、ノードIDをノード装置識別情報として用いることが好ましい。
In the embodiment described above, the IP address that is the destination information of the
ノードIDをノード装置識別情報として用いる場合には、「保存指示メッセージ」は、IPアドレスを用いて通信をする際のように、直接通信が行なわれるのではなく、「コンテンツ検索メッセージ」や「公開メッセージ」と同様に、各ノード装置1間をDHTルーティングにより転送されることとなる。
When the node ID is used as the node device identification information, the “save instruction message” is not directly communicated as in communication using the IP address, but “content search message” or “public”. Similarly to the “message”, the
また、ディストリビュータ100(又はディストリビュータ100から保存指示装置命令を受けたノード装置1)は、システムSに投入しようとする新規コンテンツを自己の記憶部102から新規コンテンツを取得しても、他のコンテンツ格納装置(図示しない)等から新規コンテンツを取得してもよい。
Further, even if the distributor 100 (or the
さらに、ディストリビュータ100と予約受付サーバ200とを1台の装置にて構成してもよい。
Furthermore, the
以上説明したように、本発明はネットワークを介したコンテンツの配信の分野に利用することが可能であり、特に複数のノードで共用されるべき公開前のコンテンツを各ノード装置に分散配置させる分野に適用すれば特に顕著な効果が得られる。 As described above, the present invention can be used in the field of content distribution via a network. In particular, the present invention is applied to a field in which content before publication that should be shared by a plurality of nodes is distributed to each node device. If applied, a particularly remarkable effect can be obtained.
1 ノード装置
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
19 通信部
20 入力部
21 バス
100 ディストリビュータ
101 制御部
102 記憶部
103 通信部
104 入力部
105 バス
200 予約受付サーバ
201 制御部
202 記憶部
203 通信部
204 入力部
205 バス
300 コンテンツプールサーバ
301 制御部
302 記憶部
303 通信部
304 入力部
305 バス
1S サポータノード装置
S コンテンツ配信システム
1 node device 11
Claims (14)
前記情報共有システムに投入し前記複数のノード装置によって共用可能とすべき前記共用情報を取得する共用情報取得手段と、
前記取得された共用情報の購入予約を行なったノード装置を識別する少なくとも1以上のノード装置識別情報を含む事前予約情報を取得する事前予約情報取得手段と、
前記取得された共用情報と、当該共用情報の保存を指示する保存指示情報と、を、前記事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される前記ノード装置に送出する保存指示手段と、
を有することを特徴とする保存指示装置。 Information sharing comprising: a plurality of node devices that can communicate with each other via a network; and a storage instruction device that distributes and stores a plurality of shared information shared between the plurality of node devices in the plurality of node devices In the storage instruction device included in the system,
Shared information acquisition means for acquiring the shared information that should be put into the information sharing system and shared by the plurality of node devices;
Advance reservation information acquisition means for acquiring advance reservation information including at least one or more node device identification information for identifying a node device that has made a purchase reservation for the acquired shared information;
A storage instruction for sending the acquired shared information and storage instruction information for instructing storage of the shared information to the node device identified based on the node device identification information included in the advance reservation information Means,
A storage instructing device comprising:
前記保存指示手段は、前記事前予約情報に複数の前記ノード装置識別情報を含む場合には、全ての前記ノード装置識別情報に基づいて識別される全ての前記ノード装置に、前記共用情報、前記保存指示情報を夫々送出することを特徴とする保存指示装置。 The storage instruction device according to claim 1,
In the case where the pre-reservation information includes a plurality of the node device identification information, the storage instruction means includes the shared information, the shared information, and the node device identified based on all the node device identification information. A storage instruction apparatus characterized by transmitting storage instruction information.
前記保存指示手段は、前記事前予約情報に複数の前記ノード装置識別情報を含む場合には、その一部のノード装置識別情報に基づいて識別される前記ノード装置に前記共用情報及び前記保存指示情報と、更に前記事前予約情報を送出し、かつ、送出先のノード装置に対して、当該事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される他のノード装置に、前記共用情報及び前記保存指示情報を送出するよう指示することを特徴とする保存指示装置。 The storage instruction device according to claim 1,
When the pre-reservation information includes a plurality of pieces of node device identification information, the storage instruction means sends the shared information and the storage instruction to the node devices identified based on part of the node device identification information. Information and further the advance reservation information, and the destination node device is shared with the other node device identified based on the node device identification information included in the advance reservation information. An instruction for sending information and the save instruction information.
前記共用情報取得手段にて取得された共用情報の保存数を決定する保存数決定手段を有し、
前記保存指示手段は、前記事前予約情報に含まれる各前記ノード装置識別情報に基づいて識別される前記ノード装置に、前記保存数を示す保存数情報を更に送出し、送出先のノード装置に対して、前記事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される他のノード装置が無い場合には、前記保存数情報に基づいて前記情報共有システムに含まれる何れかのノード装置に前記共用情報及び前記保存指示情報を送出するよう指示することを特徴とする保存指示装置。 The storage instruction device according to claim 3,
Having storage number determination means for determining the storage number of the shared information acquired by the shared information acquisition means;
The save instruction means further sends save number information indicating the save number to the node device identified based on each node device identification information included in the advance reservation information, and sends it to the destination node device. On the other hand, when there is no other node device identified based on the node device identification information included in the advance reservation information, any node included in the information sharing system based on the stored number information A storage instructing apparatus that instructs the apparatus to transmit the shared information and the storage instruction information.
前記ノード装置識別情報は、前記ノード装置の宛先情報、又は前記ノード装置を一意に識別するための固有の識別IDであることを特徴とする保存指示装置。 In the preservation | save instruction | indication apparatus as described in any one of Claims 1 thru | or 4,
The node device identification information is destination information of the node device or a unique identification ID for uniquely identifying the node device.
前記保存指示装置又は他のノード装置から、保存指示の対象とされる前記共用情報を受信して、当該共用情報の保存が指示されると、受信した前記共用情報を記憶手段に保存する保存制御手段と、
前記保存指示装置又は他のノード装置から、前記受信した共用情報の購入予約を行なった前記ノード装置を識別する少なくとも1以上のノード装置識別情報を含む事前予約情報を受信する事前予約情報受信手段と、
前記事前予約情報に、自己にかかるノード装置識別情報以外のノード装置識別情報が含まれる場合には、その一部の前記ノード装置識別情報に基づいて識別される他のノード装置に、前記共用情報、当該共用情報の保存を指示する保存指示情報、及び前記事前予約情報を送出する保存指示手段と、
を有することを特徴とするノード装置。 Information sharing comprising: a plurality of node devices that can communicate with each other via a network; and a storage instruction device that distributes and stores a plurality of shared information shared between the plurality of node devices in the plurality of node devices In the node device included in the system,
Storage control for receiving the shared information that is the target of the storage instruction from the storage instructing device or another node device, and storing the received shared information in a storage unit when instructed to store the shared information Means,
Advance reservation information receiving means for receiving advance reservation information including at least one node device identification information for identifying the node device that has made a purchase reservation for the received shared information from the storage instruction device or another node device; ,
When the advance reservation information includes node device identification information other than the node device identification information related to itself, the shared information is shared with other node devices identified based on a part of the node device identification information. Information, storage instruction information for instructing storage of the shared information, and storage instruction means for transmitting the advance reservation information;
A node device comprising:
前記保存指示装置又は他のノード装置から、保存指示の対象とされる前記共用情報の保存数を示す保存数情報を受信する保存数情報受信手段を有し、
前記保存指示手段は、前記事前予約情報受信手段にて受信した事前予約情報に、自己にかかるノード装置識別情報以外のノード装置識別情報が無い場合であっても、前記保存数情報に基づいて前記情報共有システムに含まれる何れかのノード装置に前記共用情報、前記保存指示情報及び前記保存数情報を送出することを特徴とするノード装置。 The node device according to claim 7, wherein
A storage number information receiving means for receiving storage number information indicating the storage number of the shared information that is the target of the storage instruction from the storage instruction device or another node device;
The saving instruction means is based on the saving number information even when the advance reservation information received by the advance reservation information receiving means has no node apparatus identification information other than the node apparatus identification information related to itself. The node device, wherein the shared information, the storage instruction information, and the storage number information are transmitted to any of the node devices included in the information sharing system.
ユーザからの前記共用情報の視聴要求を受け付けると、当該視聴要求がされた共用情報が、前記記憶手段に記憶されているか否かを判定する判定手段と、
当該視聴要求がされた共用情報が、前記記憶手段に記憶されている場合には、当該記憶手段に記憶された該共用情報の再生処理を行なう再生処理手段と、
当該視聴要求がされた共用情報が、前記記憶手段に記憶されていない場合には、前記情報共有システムに含まれる前記複数のノード装置から、当該共用情報を保存するノード装置を検索して、当該共用情報を保存するノード装置から前記共用情報を取得する共有情報取得手段とを備えることを特徴とするノード装置。 The node device according to claim 7 or 8,
When receiving a viewing request for the shared information from a user, a determination unit that determines whether the shared information for which the viewing request has been made is stored in the storage unit;
If the shared information for which the viewing request has been made is stored in the storage means, a reproduction processing means for performing a reproduction process of the shared information stored in the storage means;
If the shared information for which the viewing request has been made is not stored in the storage unit, a search is made for a node device that stores the shared information from the plurality of node devices included in the information sharing system. A node device comprising: a shared information acquisition unit that acquires the shared information from a node device that stores shared information.
前記保存指示装置から、保存指示の対象とされる前記共用情報と、前記事前予約情報と、前記保存数情報と、を受信して、前記共用情報を前記複数のノード装置に分散して保存するよう要求を受けると、前記保存指示装置に代わって、前記事前予約情報と前記保存数情報に基づいて前記共用情報を前記複数のノード装置に分散して保存させることを特徴とするノード装置。 In the node apparatus as described in any one of Claims 7 thru | or 9,
The shared information, the advance reservation information, and the number-of-saves information that are subject to a storage instruction are received from the storage instruction device, and the shared information is distributed and stored in the plurality of node devices. When receiving a request to do so, the shared information is distributed and stored in the plurality of node devices based on the advance reservation information and the stored number information instead of the storage instruction device. .
前記ノード装置識別情報は、前記ノード装置の宛先情報、又は前記ノード装置を一意に識別するための固有の識別IDであることを特徴とするノード装置。 The node device according to any one of claims 7 to 12,
The node device identification information is destination information of the node device or a unique identification ID for uniquely identifying the node device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006189430A JP2008020938A (en) | 2006-07-10 | 2006-07-10 | Save instruction device, node device, save instruction program and control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006189430A JP2008020938A (en) | 2006-07-10 | 2006-07-10 | Save instruction device, node device, save instruction program and control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008020938A true JP2008020938A (en) | 2008-01-31 |
Family
ID=39076845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006189430A Pending JP2008020938A (en) | 2006-07-10 | 2006-07-10 | Save instruction device, node device, save instruction program and control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008020938A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2088541A1 (en) | 2008-01-31 | 2009-08-12 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
JP2010140206A (en) * | 2008-12-11 | 2010-06-24 | Nec Corp | Distribution system, browsing terminal, intermediate terminal, distribution method, and program |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002300145A (en) * | 2001-03-28 | 2002-10-11 | Just Syst Corp | Information distribution system, information distribution method, program for allowing computer to execute the information distribution method, and computer-readable recording medium recorded with the program |
JP2003099354A (en) * | 2001-09-25 | 2003-04-04 | Toshiba Corp | Information-providing system and viewer device |
JP2004126265A (en) * | 2002-10-03 | 2004-04-22 | Kenwood Corp | Musical piece distribution system, audio equipment, server device and music piece distribution method |
JP2007141103A (en) * | 2005-11-21 | 2007-06-07 | Brother Ind Ltd | Information delivery system, information processor and information processing program |
JP2007317127A (en) * | 2006-05-29 | 2007-12-06 | Brother Ind Ltd | Content distribution system, content management device in it, connection management device, terminal device, content distribution method, and program used for it |
-
2006
- 2006-07-10 JP JP2006189430A patent/JP2008020938A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002300145A (en) * | 2001-03-28 | 2002-10-11 | Just Syst Corp | Information distribution system, information distribution method, program for allowing computer to execute the information distribution method, and computer-readable recording medium recorded with the program |
JP2003099354A (en) * | 2001-09-25 | 2003-04-04 | Toshiba Corp | Information-providing system and viewer device |
JP2004126265A (en) * | 2002-10-03 | 2004-04-22 | Kenwood Corp | Musical piece distribution system, audio equipment, server device and music piece distribution method |
JP2007141103A (en) * | 2005-11-21 | 2007-06-07 | Brother Ind Ltd | Information delivery system, information processor and information processing program |
JP2007317127A (en) * | 2006-05-29 | 2007-12-06 | Brother Ind Ltd | Content distribution system, content management device in it, connection management device, terminal device, content distribution method, and program used for it |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2088541A1 (en) | 2008-01-31 | 2009-08-12 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
JP2010140206A (en) * | 2008-12-11 | 2010-06-24 | Nec Corp | Distribution system, browsing terminal, intermediate terminal, distribution method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4599581B2 (en) | Information distribution system, distribution request program, transfer program, distribution program, etc. | |
JP4418897B2 (en) | Information distribution system, information update program, information update method, etc. | |
JP4561283B2 (en) | Node device, shared information update method, shared information storage method, shared information update processing program, and shared information storage processing program | |
JP2007280303A (en) | Information communication system, content catalogue information distribution method and node device | |
JP2007141103A (en) | Information delivery system, information processor and information processing program | |
WO2008026400A1 (en) | Contents distribution system, information processing method in contents distribution system, terminal device and recording medium including its program recorded therein | |
JP2007058597A (en) | Information distribution system, information distribution method, node device included in the information distribution system, and information processing program | |
US8654678B2 (en) | Node device, recording medium where storage control program is recorded, and information storing method | |
JP2006195744A (en) | Information distribution system, distribution request program, transfer program, distribution program, and the like | |
JP4696498B2 (en) | Information distribution system, node device, location information search method, location information search processing program, etc. | |
JP4635904B2 (en) | Registration apparatus, registration method, and registration processing program | |
JP4765876B2 (en) | TERMINAL DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM FOR CONTENT DISTRIBUTION SYSTEM | |
JP2008020938A (en) | Save instruction device, node device, save instruction program and control program | |
JP5136208B2 (en) | Content distributed storage system, content storage method, node device, and node processing program | |
US8312068B2 (en) | Node device, information communication system, method for managing content data, and computer readable medium | |
JP4797679B2 (en) | CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM | |
JP5157770B2 (en) | Node device, program, and storage instruction method | |
US8315979B2 (en) | Node device, information communication system, method for retrieving content data, and computer readable medium | |
JP5326968B2 (en) | Information communication system, support apparatus, support apparatus program, and content acquisition method | |
JP2011008657A (en) | Content distribution system, node device, content distribution method, and node program | |
JP2009232272A (en) | Content distributive storage system, content playback method, node device, management apparatus, node-processing program, and management processing 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 | |
JP4983183B2 (en) | Node device, information division storage system, information processing program, and information utilization method | |
JP5412924B2 (en) | Node device, node processing program, and content data deletion method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090402 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110607 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111018 |