(57)【要約】【課題】アップリンクの伝送速度に制限されないダウンロードの伝送速度を確保したコンテンツ配信を行う。【解決手段】インデックスサーバ７０は、コンテンツ要求元のノード装置から取得したコンテンツ識別情報に対応するノード識別情報をコンテンツ所在管理テーブル記憶部７０５から抽出する配信元ノード候補抽出部７０８と、ＳＮＳサーバから供給されたコミュニケーション実績情報と配信元ノード候補抽出部７０８が抽出したノード識別情報とに基づいて、そのノード識別情報に対応するノード装置からコンテンツ要求元のノード装置に対するアップロード伝送速度を計算する伝送速度計算部７０９と、アップロード元のノード装置を選定する配信元ノード選定部７１０と、コンテンツ要求元のノード識別情報とコンテンツ識別情報とアップロード伝送速度とを含むアップロード情報を生成するアップロード情報生成部７１１とを備えた。【選択図】図４
2011180825.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを識別するコンテンツ識別情報と、前記コンテンツの一部または全部のデータを記憶するノード装置を識別するノード識別情報と、を関連付けて記憶するコンテンツ所在管理テーブル記憶部と、
前記コンテンツの要求元であるノード装置から、前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、を含むダウンロード許可申請情報を受信するダウンロード許可申請情報受信部と、
前記ダウンロード許可申請情報に含まれる前記ノード識別情報を含めたコミュニケーション実績要求情報を外部のサーバ装置に送信するコミュニケーション実績情報要求部と、
前記外部のサーバ装置から、前記コンテンツの要求元であるノード装置と他のノード装置との間のコミュニケーション実績情報を受信するコミュニケーション実績情報受信部と、
前記ダウンロード許可申請情報に含まれる前記コンテンツ識別情報に対応するノード識別情報を前記コンテンツ所在管理テーブル記憶部から抽出する配信元ノード候補抽出部と、
前記コミュニケーション実績情報受信部が受信した前記コミュニケーション実績情報と前記配信元ノード候補抽出部が抽出した前記ノード識別情報とに基づいて、前記ノード識別情報に対応するノード装置から前記コンテンツの要求元であるノード装置に対するアップロード伝送速度を計算する伝送速度計算部と、
前記伝送速度計算部が計算した前記アップロード伝送速度に基づいてアップロード元であるノード装置を選定する配信元ノード選定部と、
前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、前記アップロード伝送速度と、を含むアップロード情報を生成するアップロード情報生成部と、
前記アップロード情報生成部が生成した前記アップロード情報を、前記配信元ノード選定部が選定した前記アップロード元であるノード装置に対して送信するアップロード情報送信部と、
を備えることを特徴とするコンテンツ配信制御装置。
【請求項２】
コンテンツファイルのデータであるコンテンツデータを取得するコンテンツ受信部と、
前記コンテンツ受信部が取得したコンテンツデータを記憶するコンテンツ記憶部と、
コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、前記コンテンツの要求元であるノード装置および当該ノード装置のコミュニケーション実績に基づいて求められた当該ノード装置から前記要求元であるノード装置に対するアップロード伝送速度と、を含むアップロード情報を外部のサーバ装置から取得するアップロード情報受信部と、
前記コンテンツの要求元であるノード装置から、前記コンテンツを識別するコンテンツ識別情報を含むダウンロード要求情報を取得するダウンロード要求情報受信部と、
前記ダウンロード要求情報受信部が取得した前記ダウンロード要求情報に基づいて、前記コンテンツ識別情報に対応する前記コンテンツのコンテンツデータを前記コンテンツ記憶部から読み出すコンテンツ管理部と、
前記コンテンツ管理部が読み出した前記コンテンツデータを前記要求元であるノード装置に対して送信するコンテンツデータ送信部と、
を備えることを特徴とするノード装置。
【請求項３】
コンテンツを識別するコンテンツ識別情報と、前記コンテンツの一部または全部のデータを記憶するノード装置を識別するノード識別情報と、を関連付けて記憶するコンテンツ所在管理テーブル記憶部を備えるコンピュータを、
前記コンテンツの要求元であるノード装置から、前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、を含むダウンロード許可申請情報を受信するダウンロード許可申請情報受信部と、
前記ダウンロード許可申請情報に含まれる前記ノード識別情報を含めたコミュニケーション実績要求情報を外部のサーバ装置に送信するコミュニケーション実績情報要求部と、
前記外部のサーバ装置から、前記コンテンツの要求元であるノード装置と他のノード装置との間のコミュニケーション実績情報を受信するコミュニケーション実績情報受信部と、
前記ダウンロード許可申請情報に含まれる前記コンテンツ識別情報に対応するノード識別情報を前記コンテンツ所在管理テーブル記憶部から抽出する配信元ノード候補抽出部と、
前記コミュニケーション実績情報受信部が受信した前記コミュニケーション実績情報と前記配信元ノード候補抽出部が抽出した前記ノード識別情報とに基づいて、前記ノード識別情報に対応するノード装置から前記コンテンツの要求元であるノード装置に対するアップロード伝送速度を計算する伝送速度計算部と、
前記伝送速度計算部が計算した前記アップロード伝送速度に基づいてアップロード元であるノード装置を選定する配信元ノード選定部と、
前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、前記アップロード伝送速度と、を含むアップロード情報を生成するアップロード情報生成部と、
前記アップロード情報生成部が生成した前記アップロード情報を、前記配信元ノード選定部が選定した前記アップロード元であるノード装置に対して送信するアップロード情報送信部と、
して機能させるためのコンテンツ配信制御プログラム。
【請求項４】
コンテンツファイルのデータであるコンテンツデータを記憶するコンテンツ記憶部を備えるコンピュータを、
コンテンツデータを取得して前記コンテンツ記憶部に記憶するコンテンツ受信部と、
コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、前記コンテンツの要求元であるノード装置および当該コンピュータのコミュニケーション実績に基づいて求められた当該コンピュータから前記要求元であるノード装置に対するアップロード伝送速度と、を含むアップロード情報を外部のサーバ装置から取得するアップロード情報受信部と、
前記コンテンツの要求元であるノード装置から、前記コンテンツを識別するコンテンツ識別情報を含むダウンロード要求情報を取得するダウンロード要求情報受信部と、
前記ダウンロード要求情報受信部が取得した前記ダウンロード要求情報に基づいて、前記コンテンツ識別情報に対応する前記コンテンツのコンテンツデータを前記コンテンツ記憶部から読み出すコンテンツ管理部と、
前記コンテンツ管理部が読み出した前記コンテンツデータを前記要求元であるノード装置に対して送信するコンテンツ送信部と、
して機能させるためのコンテンツ配信制御プログラム。
【請求項５】
コンテンツ配信制御装置と複数のノード装置とがネットワークを介して接続されたコンテンツ配信システムにおいて、
前記コンテンツ配信制御装置が、
コンテンツを識別するコンテンツ識別情報と、前記コンテンツの一部または全部のデータを記憶するノード装置を識別するノード識別情報と、を関連付けて記憶するコンテンツ所在管理テーブル記憶部と、
前記複数のノード装置の中のコンテンツの要求元であるノード装置から、前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、を含むダウンロード許可申請情報を受信するダウンロード許可申請情報受信部と、
前記ダウンロード許可申請情報に含まれる前記ノード識別情報を含めたコミュニケーション実績要求情報を外部のサーバ装置に送信するコミュニケーション実績情報要求部と、
前記外部のサーバ装置から、前記コンテンツの要求元であるノード装置と、前記複数のノード装置における他のノード装置との間のコミュニケーション実績情報を受信するコミュニケーション実績情報受信部と、
前記ダウンロード許可申請情報に含まれる前記コンテンツ識別情報に対応するノード識別情報を前記コンテンツ所在管理テーブル記憶部から抽出する配信元ノード候補抽出部と、
前記コミュニケーション実績情報受信部が受信した前記コミュニケーション実績情報と前記配信元ノード候補抽出部が抽出した前記ノード識別情報とに基づいて、前記ノード識別情報に対応するノード装置から前記コンテンツの要求元であるノード装置に対するアップロード伝送速度を計算する伝送速度計算部と、
前記伝送速度計算部が計算した前記アップロード伝送速度に基づいて、前記複数のノード装置における前記他のノード装置の中から、アップロード元であるノード装置を選定する配信元ノード選定部と、
前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、前記アップロード伝送速度と、を含むアップロード情報を生成するアップロード情報生成部と、
前記アップロード情報生成部が生成した前記アップロード情報を、前記配信元ノード選定部が選定した前記アップロード元であるノード装置に対して送信するアップロード情報送信部と、
を備え、
前記アップロード元であるノード装置が、
コンテンツファイルのデータであるコンテンツデータを記憶するコンテンツ記憶部と、
前記コンテンツ配信制御装置の前記アップロード情報送信部から送信された前記アップロード情報を受信するアップロード情報受信部と、
前記コンテンツの要求元であるノード装置から、前記コンテンツを識別するコンテンツ識別情報を含むダウンロード要求情報を受信するダウンロード要求情報受信部と、
前記ダウンロード要求情報受信部が受信した前記ダウンロード要求情報に基づいて、前記コンテンツ識別情報に対応する前記コンテンツのコンテンツデータを前記コンテンツ記憶部から読み出すコンテンツ管理部と、
前記コンテンツ管理部が読み出した前記コンテンツデータを前記要求元であるノード装置に対して送信するコンテンツデータ送信部と、
を備える
ことを特徴とするコンテンツ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ配信制御装置、ノード装置、コンテンツ配信制御プログラム、およびコンテンツ配信システムに関する。
【背景技術】
【０００２】
近年、ピア・ツー・ピア型ネットワークを構成してオンデマンドによりコンテンツを配信するコンテンツ配信サービスが行われている。このピア・ツー・ピア方式によるコンテンツ配信は、多数のノード装置（コンピュータ等の情報処理装置）がコンテンツを分割した分割データを共有し合って分割データの配信を行うものである。しかし、ピア・ツー・ピア方式によってコンテンツ配信を行う場合に、他のノード装置への分割データのアップロードを行わずにダウンロードのみを行うノード装置（これをフリーライダーと呼ぶ。）が存在すると、効率的なコンテンツ配信ができないという問題がある。
【０００３】
そこで、従来のピア・ツー・ピア方式によるコンテンツ配信では、分割データのアップロードを行ったノード装置に対してダウンロードのインセンティブを与えることによってアップロードを促す方式としていた。ここで、ピア・ツー・ピア方式によるコンテンツ配信に用いられるファイル転送プロトコルの代表的なものとして、ＢｉｔＴｏｒｒｅｎｔ（登録商標）が知られている（例えば、非特許文献１参照）。
このＢｉｔＴｏｒｒｅｎｔ（登録商標）は、「ピースと呼ばれる分割データをダウンロードしたノード装置は、他のノード装置に対してそのピースをアップロードする。」という規則を有するプロトコルであり、この規則はフリーライダーを排除するためのものである。
【０００４】
また、ピア・ツー・ピア方式によるコンテンツ配信では、ノード装置は、他のノード装置に対して分割データを送信（アップロード）したり、他のノード装置から分割データを受信（ダウンロード）したりするため、配信データおよびノード装置の安全性の確保が重要である。
そのため、ピア・ツー・ピア型ネットワークにおけるノード装置間の通信においては、相互のノード装置を認証して通信上の安全性を確保する方法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−８５８９２号公報
【非特許文献】
【０００６】
【非特許文献１】：Bram Cohen, “Incentives Build Robustness in BitTorrent”, In Proceedings of the 1st Workshop on Economics of Peer-to-Peer Systems, May 22, 2003
【発明の概要】
【発明が解決しようとする課題】
【０００７】
現在、ＢｉｔＴｏｒｒｅｎｔ（登録商標）等のピア・ツー・ピア方式に対応したファイル転送プロトコルは、ノード装置がダウンロード可能なデータの単位時間あたりの容量（ダウンロード速度）が、当該ノード装置がアップロードしたデータの単位時間あたりの容量（アップロード速度）に制限されるものである。このため、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）回線やモバイルデータ通信回線等の、アップリンクの伝送速度がダウンリンクの伝送速度に対して小さな速度である非対称通信回線を用いたピア・ツー・ピア方式のコンテンツ配信システムにおいては、ダウンロード時に回線の帯域幅を有効に使用することができないという問題がある。
【０００８】
また、ピア・ツー・ピア方式によるコンテンツ配信において、ノード装置が高精細動画コンテンツ等の大容量のコンテンツをダウンロードするためには、そのコンテンツの分割データをアップロードする多数のノード装置が必要である。しかしながら、ノード装置の所有者または使用者（ユーザ）の中には、自身のノード装置が他のノード装置から直接アクセスされ、または使用者自身が他のノード装置にアクセスしてデータを提供することに対して不安感や抵抗感をもつユーザも少なからず存在する。つまり、ネットワーク上の、またはネットワーク外の信頼関係を築いていない他人との間で情報のやり取りを行うことに対して不安感や抵抗感をもつユーザも少なくない。このような要因が、ピア・ツー・ピア方式によるコンテンツ配信サービスを拡大するうえで阻害要因の一つとなっているものと考えられる。
【０００９】
上記の特許文献１に開示されたピア・ツー・ピア方式による通信システムは、ノード間の通信時にＣＨＡＰ（Ｃｈａｌｌｅｎｇｅ  Ｈａｎｄｓｈａｋｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）認証を行って不正アクセスや情報漏洩に対する安全性を確保するものである。しかし、相手側のノードの使用者が自分と信頼関係を築いている者であるか否かを識別することは困難であり、ピア・ツー・ピア型ネットワークの利用者の不安感や抵抗感を解消することにはならない。
【００１０】
そこで、本発明は上記問題を解決するためになされたものであり、コンテンツの要求元であるノード装置が、アップリンクの伝送速度に制限されないダウンロードの伝送速度を確保するとともに、ノード装置の所有者または使用者に抵抗感や不安感を抱かせることなくコンテンツをダウンロードすることのできる、コンテンツ配信制御装置、ノード装置、コンテンツ配信制御プログラム、およびコンテンツ配信システム、を提供することを目的とする。
【課題を解決するための手段】
【００１１】
［１］上記の課題を解決するための本発明の一態様は、コンテンツを識別するコンテンツ識別情報と、前記コンテンツの一部または全部のデータを記憶するノード装置を識別するノード識別情報と、を関連付けて記憶するコンテンツ所在管理テーブル記憶部と、前記コンテンツの要求元であるノード装置から、前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、を含むダウンロード許可申請情報を受信するダウンロード許可申請情報受信部と、前記ダウンロード許可申請情報に含まれる前記ノード識別情報を含めたコミュニケーション実績要求情報を外部のサーバ装置に送信するコミュニケーション実績情報要求部と、前記外部のサーバ装置から、前記コンテンツの要求元であるノード装置と他のノード装置との間のコミュニケーション実績情報を受信するコミュニケーション実績情報受信部と、前記ダウンロード許可申請情報に含まれる前記コンテンツ識別情報に対応するノード識別情報を前記コンテンツ所在管理テーブル記憶部から抽出する配信元ノード候補抽出部と、前記コミュニケーション実績情報受信部が受信した前記コミュニケーション実績情報と前記配信元ノード候補抽出部が抽出した前記ノード識別情報とに基づいて、前記ノード識別情報に対応するノード装置から前記コンテンツの要求元であるノード装置に対するアップロード伝送速度を計算する伝送速度計算部と、前記伝送速度計算部が計算した前記アップロード伝送速度に基づいてアップロード元であるノード装置を選定する配信元ノード選定部と、前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、前記アップロード伝送速度と、を含むアップロード情報を生成するアップロード情報生成部と、前記アップロード情報生成部が生成した前記アップロード情報を、前記配信元ノード選定部が選定した前記アップロード元であるノード装置に対して送信するアップロード情報送信部と、を備えることを特徴とするコンテンツ配信制御装置である。
ここで、一方のノード装置と他方のノード装置とのコミュニケーション実績情報は、一方のノード装置から他方のノード装置に対するコミュニケーション量を表す数値データと、他方のノード装置から一方のノード装置に対するコミュニケーション量を表わす数値データとの少なくとも一方を含むものである。コミュニケーション量とは、例えば、ＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ）サイトやブログ等のＷｅｂサイトに登録されている日記に対するコメント投稿数、両ノード装置間のメッセージの送付回数、Ｗｅｂメールの送受信回数等に基づいて計算される、ノード装置間のコミュニケーションを定量化した数値データである。また、コミュニケーション実績情報は、一方のノード装置と他方のノード装置との間の友人関係を示す情報を含めてもよい。友人関係とは、一方のノード装置のユーザと他方のノード装置のユーザとの信頼関係を指すものである。例えば、両ユーザが知り合いである場合や互いに信頼できる関係であるときは、一方のノード装置と他方のノード装置とは友人関係を構築していることになる。ノード装置同士の友人関係は２値のステータスで表され、例えば、ノード装置同士が友人関係にある場合は“１”であり、友人関係にない場合は“０”である。
【００１２】
［２］上記の課題を解決するための本発明の一態様は、コンテンツファイルのデータであるコンテンツデータを取得するコンテンツ受信部と、前記コンテンツ受信部が取得したコンテンツデータを記憶するコンテンツ記憶部と、コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、前記コンテンツの要求元であるノード装置および当該ノード装置のコミュニケーション実績に基づいて求められた当該ノード装置から前記要求元であるノード装置に対するアップロード伝送速度と、を含むアップロード情報を外部のサーバ装置から取得するアップロード情報受信部と、前記コンテンツの要求元であるノード装置から、前記コンテンツを識別するコンテンツ識別情報を含むダウンロード要求情報を取得するダウンロード要求情報受信部と、前記ダウンロード要求情報受信部が取得した前記ダウンロード要求情報に基づいて、前記コンテンツ識別情報に対応する前記コンテンツのコンテンツデータを前記コンテンツ記憶部から読み出すコンテンツ管理部と、前記コンテンツ管理部が読み出した前記コンテンツデータを前記要求元であるノード装置に対して送信するコンテンツ送信部と、を備えることを特徴とするノード装置である。
【００１３】
［３］上記の課題を解決するための本発明の一態様は、コンテンツを識別するコンテンツ識別情報と、前記コンテンツの一部または全部のデータを記憶するノード装置を識別するノード識別情報と、を関連付けて記憶するコンテンツ所在管理テーブル記憶部を備えるコンピュータを、前記コンテンツの要求元であるノード装置から、前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、を含むダウンロード許可申請情報を受信するダウンロード許可申請情報受信部と、前記ダウンロード許可申請情報に含まれる前記ノード識別情報を含めたコミュニケーション実績要求情報を外部のサーバ装置に送信するコミュニケーション実績情報要求部と、前記外部のサーバ装置から、前記コンテンツの要求元であるノード装置と他のノード装置との間のコミュニケーション実績情報を受信するコミュニケーション実績情報受信部と、前記ダウンロード許可申請情報に含まれる前記コンテンツ識別情報に対応するノード識別情報を前記コンテンツ所在管理テーブル記憶部から抽出する配信元ノード候補抽出部と、前記コミュニケーション実績情報受信部が受信した前記コミュニケーション実績情報と前記配信元ノード候補抽出部が抽出した前記ノード識別情報とに基づいて、前記ノード識別情報に対応するノード装置から前記コンテンツの要求元であるノード装置に対するアップロード伝送速度を計算する伝送速度計算部と、前記伝送速度計算部が計算した前記アップロード伝送速度に基づいてアップロード元であるノード装置を選定する配信元ノード選定部と、前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、前記アップロード伝送速度と、を含むアップロード情報を生成するアップロード情報生成部と、前記アップロード情報生成部が生成した前記アップロード情報を、前記配信元ノード選定部が選定した前記アップロード元であるノード装置に対して送信するアップロード情報送信部と、して機能させるためのコンテンツ配信制御プログラムである。
【００１４】
［４］上記の課題を解決するための本発明の一態様は、コンテンツファイルのデータであるコンテンツデータを記憶するコンテンツ記憶部を備えるコンピュータを、コンテンツデータを取得して前記コンテンツ記憶部に記憶するコンテンツ受信部と、コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、前記コンテンツの要求元であるノード装置および当該コンピュータのコミュニケーション実績に基づいて求められた当該コンピュータから前記要求元であるノード装置に対するアップロード伝送速度と、を含むアップロード情報を外部のサーバ装置から取得するアップロード情報受信部と、前記コンテンツの要求元であるノード装置から、前記コンテンツを識別するコンテンツ識別情報を含むダウンロード要求情報を取得するダウンロード要求情報受信部と、前記ダウンロード要求情報受信部が取得した前記ダウンロード要求情報に基づいて、前記コンテンツ識別情報に対応する前記コンテンツのコンテンツデータを前記コンテンツ記憶部から読み出すコンテンツ管理部と、前記コンテンツ管理部が読み出した前記コンテンツデータを前記要求元であるノード装置に対して送信するコンテンツ送信部と、して機能させるためのコンテンツ配信制御プログラムである。
【００１５】
［５］上記の課題を解決するための本発明の一態様は、コンテンツ配信制御装置と複数のノード装置とがネットワークを介して接続されたコンテンツ配信システムにおいて、前記コンテンツ配信制御装置が、コンテンツを識別するコンテンツ識別情報と、前記コンテンツの一部または全部のデータを記憶するノード装置を識別するノード識別情報と、を関連付けて記憶するコンテンツ所在管理テーブル記憶部と、前記複数のノード装置の中のコンテンツの要求元であるノード装置から、前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、を含むダウンロード許可申請情報を受信するダウンロード許可申請情報受信部と、前記ダウンロード許可申請情報に含まれる前記ノード識別情報を含めたコミュニケーション実績要求情報を外部のサーバ装置に送信するコミュニケーション実績情報要求部と、前記外部のサーバ装置から、前記コンテンツの要求元であるノード装置と、前記複数のノード装置における他のノード装置との間のコミュニケーション実績情報を受信するコミュニケーション実績情報受信部と、前記ダウンロード許可申請情報に含まれる前記コンテンツ識別情報に対応するノード識別情報を前記コンテンツ所在管理テーブル記憶部から抽出する配信元ノード候補抽出部と、前記コミュニケーション実績情報受信部が受信した前記コミュニケーション実績情報と前記配信元ノード候補抽出部が抽出した前記ノード識別情報とに基づいて、前記ノード識別情報に対応するノード装置から前記コンテンツの要求元であるノード装置に対するアップロード伝送速度を計算する伝送速度計算部と、前記伝送速度計算部が計算した前記アップロード伝送速度に基づいて、前記複数のノード装置における前記他のノード装置の中から、アップロード元であるノード装置を選定する配信元ノード選定部と、前記コンテンツの要求元であるノード装置を識別するノード識別情報と、前記コンテンツを識別するコンテンツ識別情報と、前記アップロード伝送速度と、を含むアップロード情報を生成するアップロード情報生成部と、前記アップロード情報生成部が生成した前記アップロード情報を、前記配信元ノード選定部が選定した前記アップロード元であるノード装置に対して送信するアップロード情報送信部と、を備え、前記アップロード元であるノード装置が、コンテンツファイルのデータであるコンテンツデータを記憶するコンテンツ記憶部と、前記コンテンツ配信制御装置の前記アップロード情報送信部から送信された前記アップロード情報を受信するアップロード情報受信部と、前記コンテンツの要求元であるノード装置から、前記コンテンツを識別するコンテンツ識別情報を含むダウンロード要求情報を受信するダウンロード要求情報受信部と、前記ダウンロード要求情報受信部が受信した前記ダウンロード要求情報に基づいて、前記コンテンツ識別情報に対応する前記コンテンツのコンテンツデータを前記コンテンツ記憶部から読み出すコンテンツ管理部と、前記コンテンツ管理部が読み出した前記コンテンツデータを前記要求元であるノード装置に対して送信するコンテンツデータ送信部と、を備えることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、コンテンツの要求元であるノード装置が、アップリンクの伝送速度に制限されないダウンロードの伝送速度を確保し、且つノード装置の所有者または使用者に抵抗感や不安感を抱かせることなくコンテンツをダウンロードすることができる。これにより、効率的で且つ安心利用が可能なコンテンツ配信を実現することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態であるコンテンツ配信システムの全体構成図である。
【図２】同実施形態におけるノード装置の機能構成を示すブロック図である。
【図３】同実施形態におけるＳＮＳサーバの機能構成を示すブロック図である。
【図４】同実施形態におけるインデックスサーバ（コンテンツ配信制御装置）の機能構成を示すブロック図である。
【図５】同実施形態におけるインデックスファイルのデータ構成の例を示す図である。
【図６】同実施形態における日記管理テーブルのデータ構成の例を示す図である。
【図７】同実施形態におけるコメント管理テーブルのデータ構成の例を示す図である。
【図８】同実施形態におけるメッセージ管理テーブルのデータ構成の例を示す図である。
【図９】同実施形態におけるユーザ管理テーブルのデータ構成の例を示す図である。
【図１０】同実施形態における実績情報管理テーブルのデータ構成の例を示す図である。
【図１１】同実施形態におけるコンテンツ所在管理テーブルのデータ構成の例を示す図である。
【図１２】同実施形態における通信状態管理テーブルのデータ構成の例を示す図である。
【図１３】同実施形態における配信実績管理テーブルのデータ構成の例を示す図である。
【図１４】同実施形態におけるコンテンツ配信システムにおいて、ピア・ツー・ピア方式によって、一方のノード装置が他方のノード装置からコンテンツ分割データをダウンロードする処理の流れを示すシーケンス図である。
【図１５】同実施形態において、ＳＮＳサーバのＳＮＳ情報解析部が実行するＳＮＳ情報解析処理の手順を示すフローチャートである。
【図１６】同実施形態において、コミュニケーション実績情報生成部が生成するコミュニケーション実績情報の例である。
【図１７】同実施形態において、インデックスサーバの配信元ノード候補抽出部が実行する配信元ノード候補抽出処理の手順を示すフローチャートである。
【図１８】同実施形態において、インデックスサーバの伝送速度計算部と配信元ノード選定部とアップロード情報生成部とが実行する配信／帯域制御処理の手順を示すフローチャートである。
【図１９】同実施形態において、配信元ノード選定部が生成する配信／帯域制御情報の例である。
【図２０】同実施形態において、アップロード情報生成部が生成するアップロード情報の例である。
【図２１】同実施形態において、アップロード元であるノード装置の配信／帯域制御部が実行するアップロード制御処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。図１は、本発明の一実施形態であるコンテンツ配信システムの全体構成図である。同図に示すように、コンテンツ配信システム１は、複数のノード装置１０（同図においては、一例として、４台のノード装置１０の各符号にサフィックスを付したノード装置１０−１〜１０−４を示す。）と、コンテンツプロバイダ側システム２とがネットワーク２０を介して接続された構成を有する。
【００１９】
ノード装置１０は、コンテンツ配信システム１において所望のコンテンツを取得する装置であり、例えば、パーソナルコンピュータ、ネットワーク家電機器、携帯情報端末等の、ネットワーク通信機能および情報処理機能を備えた装置である。コンテンツは、映像、静止画、音楽、音声、グラフィックス、テキスト等のメディアデータのいずれかまたは組み合わせによるデータであり、ＭＰＥＧ２方式やＭＰＥＧ４方式等の符号化方式により符号化されてファイル化されている。ネットワーク家電機器は、例えば、ネットワーク対応テレビやホームサーバを含む。また、携帯情報端末は、例えば、携帯電話機、ゲーム機、携帯音楽端末を含む。
【００２０】
ネットワーク２０は、ノード装置１０同士の通信、およびノード装置１０とコンテンツプロバイダ側システム２との通信を、所定のネットワークプロトコルに基づいて行う広域電気通信回線網であり、例えば、インターネットプロトコルに基づいて通信するインターネットである。ネットワーク２０は、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）回線やモバイルデータ通信回線等の、アップリンクの伝送速度がダウンリンクの伝送速度よりも遅い非対称型の通信回線としてもよいし、双方向の伝送速度がほぼ等しい対称型の通信回線としてもよい。
【００２１】
コンテンツプロバイダ側システム２は、コンテンツ配信システム１におけるコンテンツの配信元のサーバシステムであり、放送局やコンテンツ配信事業者等のコンテンツ配信サービス提供者のシステムである。コンテンツ配信システム１では、ユーザ側の端末であるいずれかのノード装置１０が、コンテンツプロバイダ側システム２からクライアントサーバ方式によってコンテンツファイル（例えば、１タイトル分）を取得した後に、そのコンテンツファイルを取得したノード装置１０とその他の複数のノード装置１０とが、ピア・ツー・ピア方式によってコンテンツファイルのデータを分割して得られるコンテンツデータの配信を行う。
【００２２】
なお、本実施形態の説明において、一方のノード装置１０が他方のノード装置１０からコンテンツデータを取得することを、一方のノード装置１０が他方のノード装置１０からコンテンツデータを「ダウンロード」すると呼び、他方のノード装置１０が一方のノード装置１０に対してコンテンツデータを供給することを、他方のノード装置１０が一方のノード装置１０に対してコンテンツデータを「アップロード」すると呼ぶ。
また、本実施形態においては、一方のノード装置１０と他方のノード装置１０とを特に特定して説明する場合は、一方のノード装置１０をノード装置１０−１とし、他方のノード装置１０をノード装置１０−２として説明する。
【００２３】
コンテンツプロバイダ側システム２は、その概略構成として、ファイアウォール３０の一方の通信インタフェースと、コンテンツ配信サーバ５０と、ＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ）サーバ６０と、インデックスサーバ（コンテンツ配信制御装置）７０とがＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）４０を介して接続され、ファイアウォール３０の他方の通信インタフェースがネットワーク２０に接続された構成を有する。
ＬＡＮ４０は、コンテンツプロバイダ側システム２における構内電気通信回線網である。そして、ＬＡＮ４０に接続されるコンテンツ配信サーバ５０とＳＮＳサーバ６０とインデックスサーバ７０とは、コンテンツプロバイダ側システム２におけるバックエンドであり、ファイアウォール３０を介してネットワーク２０側とセキュアに区分される。すなわち、ファイアウォール３０は、ネットワーク２０側からバックエンド側のデータを不正に取得したり改竄したりする等の不正アクセスをブロックするように設けられる。
【００２４】
コンテンツ配信サーバ５０は、コンテンツファイルの配信元のサーバであり、複数のコンテンツファイルを蓄積したコンテンツデータベース（不図示）を備える。コンテンツ配信サーバ５０は、ノード装置１０から所望のコンテンツのダウンロード要求を受けると、そのダウンロード要求において指定されたコンテンツのコンテンツファイルをコンテンツデータベースから抽出し、そのコンテンツファイルを要求元のノード装置１０に対してクライアントサーバ方式により送信する。
【００２５】
ＳＮＳサーバ６０は、ＳＮＳサイトを構築して管理し、ノード装置１０からのＳＮＳサイトへのアクセスに応じて当該ノード装置１０に対しＳＮＳ（ソーシャル・ネットワーキング・サービス）を提供するサーバである。ＳＮＳサイトは、日記管理機能、日記に対するコメント投稿管理機能、ＳＮＳサイトの利用者間のメッセージ交換管理機能等を実現する。
また、ＳＮＳサーバ６０は、インデックスサーバ７０が指定するノード装置１０とその他のノード装置１０との間のコミュニケーション実績と友人関係とをＳＮＳサイトのアクセス履歴に基づいて抽出し、コミュニケーション実績からコミュニケーションの方向ごとのコミュニケーション量の値を計算し、その計算結果を友人関係とともにコミュニケーション実績情報としてインデックスサーバ７０に供給する。
【００２６】
すなわち、コミュニケーション実績情報は、指定されたノード装置１０からその他のノード装置１０に対するコミュニケーション量を表す数値データと、他のノード装置１０から指定されたノード装置１０に対するコミュニケーション量を表わす数値データとの少なくとも一方を含むものである。コミュニケーション量とは、日記に対するコメント投稿数、メッセージの送付回数等に基づいて計算される、ノード装置１０同士のコミュニケーションを定量化した数値データである。また、コミュニケーション実績情報は、指定されたノード装置１０とその他のノード装置との間の友人関係を示す情報を含むものである。
また、友人関係とは、一方のノード装置１０のユーザと他方のノード装置１０のユーザとの信頼関係を指すものである。例えば、両ユーザが知り合いである場合や互いに信頼できる関係であるときは、一方のノード装置１０と他方のノード装置１０とは友人関係を構築していることになる。本実施形態では、ノード装置１０同士の友人関係を２値のステータスで表し、例えば、ノード装置１０同士が友人関係にある場合は“１”であり、友人関係にない場合は“０”である。
【００２７】
インデックスサーバ７０は、ノード装置１０からのインデックスファイル要求に応じて、そのインデックスファイル要求において指定されたコンテンツの属性情報を含むインデックスファイルを要求元のノード装置１０に供給する。
また、ノード装置１０が、他のノード装置１０からコンテンツデータをピア・ツー・ピア方式によってダウンロードする場合、インデックスサーバ７０は、要求元であるノード装置１０と他のノード装置１０との間のコミュニケーション実績情報をＳＮＳサーバ６０から取得し、要求元であるノード装置１０から他のノード装置１０に対する配信実績と取得したコミュニケーション実績とに基づいて要求先のノード装置１０のアップロード速度を決定し、要求元であるノード装置１０と要求先であるノード装置１０に対して配信の指示を行う。
【００２８】
次に、ノード装置１０の構成について説明する。本実施形態では、ノード装置１０がコンピュータ装置である場合について説明する。図２は、ノード装置１０の機能構成を示すブロック図である。同図において、ノード装置１０は、操作系／表示系インタフェース部１０２と、インデックスファイル要求部１０３と、インデックスファイル記憶部１０４と、ダウンロード許可申請部１０５と、ダウンロード要求部１０６と、配信／帯域制御部１０７と、コンテンツ記憶部１０８と、コンテンツ管理部１０９と、Ｗｅｂブラウザ機能部１１０と、ポリシ管理部１１１と、通信状態解析部１１２と、インデックスファイル受信部１１５と、配信／帯域制御情報受信部１１６と、アップロード情報受信部１１７と、ダウンロード要求情報受信部１１８と、コンテンツ受信部１１９と、配信実績情報送信部１２０と、コンテンツ蓄積管理情報送信部１２１と、コンテンツ送信部１２２とを備える。
【００２９】
操作系／表示系インタフェース部１０２は、ノード装置１０のユーザが操作する操作部（不図示）と、情報を表示してユーザに提示する表示部（不図示）とをそれぞれ接続する入出力インタフェースである。操作部は、例えば、マウス等のポインティングデバイス、タッチパネルまたはキーボードであり、表示部は、例えばディスプレイ装置である。
ユーザによる操作部の操作に基づいて所望のコンテンツのコンテンツ名称の情報が操作系／表示系インタフェース部１０２を介してインデックスファイル要求部１０３に供給されると、インデックスファイル要求部１０３は、そのコンテンツ名称を含むインデックスファイル要求情報を生成してインデックスサーバ７０に供給する。
インデックスファイル受信部１１５は、インデックスサーバ７０から供給されるインデックスファイルを受信する。
インデックスファイル記憶部１０４は、インデックスファイル受信部１１５が受信したインデックスファイルを記憶する。
【００３０】
ダウンロード許可申請部１０５は、ユーザによる操作部の操作に基づいて、所望のコンテンツのコンテンツ識別情報をインデックスファイル記憶部１０４から読み込むとともに当該ノード装置１０のノード識別情報を取得し、これらコンテンツ識別情報とノード識別情報とを含むダウンロード許可申請情報を生成してインデックスサーバ７０に供給する。
配信／帯域制御情報受信部１１６は、インデックスサーバ７０から供給された配信／帯域制御情報を受信する。
【００３１】
ダウンロード要求部１０６は、コンテンツ配信サーバ５０に対して所望のコンテンツファイルのダウンロードを要求する場合と、他のノード装置１０に対してコンテンツデータのダウンロードを要求する場合との２通りの要求を行うものである。
前者の場合、ダウンロード要求部１０６は、ユーザによる操作部の操作に基づいて、所望のコンテンツのコンテンツ識別情報をインデックスファイル記憶部１０４から読み込むとともに当該ノード装置１０のノード識別情報を取得し、これらコンテンツ識別情報とノード識別情報とを含むダウンロード要求情報を生成してコンテンツ配信サーバ５０に供給する。
一方、後者の場合、ダウンロード要求部１０６は、配信／帯域制御情報受信部１１６が受信した配信／帯域制御情報に含まれる、当該ノード装置１０（アップロード先である当該ノード装置１０）のノード識別情報と、所望のコンテンツのコンテンツ識別情報と、未取得であるコンテンツデータを示す情報とを含むダウンロード要求情報を生成して他のノード装置１０に供給する。
【００３２】
アップロード情報受信部１１７は、インデックスサーバ７０から供給されるアップロード情報を受信する。
ダウンロード要求情報受信部１１８は、ダウンロード要求元である他のノード装置１０から供給されるダウンロード要求情報を受信する。
配信／帯域制御部１０７は、アップロード情報受信部１１７が受信したアップロード情報と、ダウンロード要求情報受信部１１８が受信したダウンロード要求情報と、通信状態解析部１１２から取得する送信部１１３の回線使用状態とに基づいて、他のノード装置１０に対するアップロード伝送速度を決定する。
【００３３】
コンテンツ受信部１１９は、コンテンツ配信サーバ５０から供給されるコンテンツファイルを受信する。また、コンテンツ受信部１１９は、他のノード装置１０から供給されるコンテンツデータを受信する。
コンテンツ記憶部１０８は、コンテンツ受信部１１９が受信したコンテンツファイルおよびコンテンツデータを記憶する。
コンテンツ管理部１０９は、コンテンツ記憶部１０８に記憶されたコンテンツデータの状態を示すコンテンツ蓄積管理情報を生成してコンテンツ蓄積管理情報送信部１２１に供給する。コンテンツ蓄積管理情報は、例えば、コンテンツ識別情報とコンテンツ名称と当該ノード装置１０のノード識別情報とを含む。また、コンテンツ管理部１０９は、配信／帯域制御部１０７の制御に基づいて、コンテンツ記憶部１０８から未取得であるコンテンツデータを読み込んでコンテンツ送信部１２２に供給する。また、コンテンツ送信部１２２がコンテンツデータをアップロードした後、コンテンツ管理部１０９は、配信実績情報を生成して配信実績情報送信部１２０に供給する。配信実績情報は、例えば、アップロード元である当該ノード装置１０のノード識別情報と、アップロード先であるノード装置１０のノード識別情報と、アップロード伝送速度とを含む。
【００３４】
配信／帯域制御部１０７とコンテンツ管理部１０９とは、互いに連係してアップロード制御処理を行う処理部である。配信／帯域制御部１０７とコンテンツ管理部１０９とが実行するアップロード制御処理の具体的な手順については後述する。
【００３５】
Ｗｅｂブラウザ機能部１１０は、ＳＮＳサーバ６０から供給されるＳＮＳサイトのリソースを取り込んでＷｅｂページを構成し、操作系／表示系インタフェース部１０２を介して表示部に表示させる。また、Ｗｅｂブラウザ機能部１１０は、操作系／表示系インタフェース部１０２と操作部と表示部とともに連携動作することによってＷｅｂページの編集等を行って投稿情報を作成する。投稿情報は、例えば、日記、コメント、メッセージ等の情報である。そして、Ｗｅｂブラウザ機能部１１０は、作成した投稿情報をＳＮＳサーバ６０に供給する。
【００３６】
ポリシ管理部１１１は、コンテンツデータのアップロードに関するポリシを管理する。このポリシは、例えば、当該ノード装置１０がコンテンツデータをアップロードする場合に、ＳＮＳサイトにおいて当該ノード装置１０と友人関係を構築しているノード装置１０に対してのみアップロードを行うという規定である。この友人関係とは、一方のノード装置１０のユーザと他方のノード装置１０のユーザとの信頼関係を指すものである。例えば、両ユーザが知り合いである場合や互いに信頼できる関係であるときは、一方のノード装置１０と他方のノード装置１０とは友人関係を構築していることになる。本実施形態では、ノード装置１０同士の友人関係を２値のステータスで表すものとし、例えば、ノード装置１０同士が友人関係にある場合は“１”であり、友人関係にない場合は“０”である。ポリシ管理部１１１は、ユーザによる操作部の操作に基づいて所定のポリシを設定する。ポリシ管理部１１１は、設定されたポリシをアップロードポリシ情報としてインデックスサーバ７０に供給する。
【００３７】
通信状態解析部１１２は、当該ノード装置１０に接続されるネットワーク２０の通信速度と、コンテンツ受信部１１９およびコンテンツ送信部１２２の回線の使用状態を解析する。通信状態解析部１１２は、アップリンクの伝送速度とダウンリンクの伝送速度とを含む通信状態情報を生成してインデックスサーバ７０に供給する。
【００３８】
次に、ＳＮＳサーバ６０の構成について説明する。本実施形態において、ＳＮＳサーバ６０は、コンピュータ装置で構成される。図３は、ＳＮＳサーバ６０の機能構成を示すブロック図である。同図において、ＳＮＳサーバ６０は、ノード識別情報受信部６０１と、Ｗｅｂサーバ部６０２と、Ｗｅｂページ構成部６０３と、日記管理テーブル記憶部６０４と、コメント管理テーブル記憶部６０５と、メッセージ管理テーブル記憶部６０６と、ユーザ管理テーブル記憶部６０７と、ＳＮＳ情報解析部６０８と、実績情報管理テーブル記憶部６０９と、コミュニケーション実績情報生成部６１０と、コミュニケーション実績情報送信部６１１とを備える。
【００３９】
ノード識別情報受信部６０１は、バックエンドのインデックスサーバ７０から供給されるノード識別情報を受信する。
Ｗｅｂサーバ部６０２は、ノード装置１０から投稿情報の供給を受けるとその投稿情報をＷｅｂページ構成部６０３に供給する。また、Ｗｅｂサーバ部６０２は、Ｗｅｂページ構成部６０３が構成したＳＮＳサイトのＷｅｂページのリソースをノード装置１０に供給する。リソースは、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ドキュメントや画像データファイル等の情報を含む。
【００４０】
Ｗｅｂページ構成部６０３は、日記管理テーブル記憶部６０４とコメント管理テーブル記憶部６０５とメッセージ管理テーブル記憶部６０６とユーザ管理テーブル記憶部６０７とから読み込むテーブルデータに基づいて、ＳＮＳサイトのＷｅｂページを構成する。Ｗｅｂページ構成部６０３は、ノード識別情報ごとに、マイページと呼ばれるＷｅｂページを構成する。Ｗｅｂページ構成部６０３は、日記管理機能とコメント投稿管理機能とメッセージ交換管理機能とユーザ管理機能とを実現する。
【００４１】
Ｗｅｂページ構成部６０３の日記管理機能は、ＳＮＳサイトにユーザ登録されているノード装置１０のユーザの日記を管理する機能である。すなわち、Ｗｅｂページ構成部６０３は、日記管理機能として、例えば、日記の登録および削除、日記の公開または非公開の設定を行うようにＷｅｂページを構成する。Ｗｅｂページ構成部６０３は、日記管理機能の実行に応じて日記管理テーブル記憶部６０４に記憶された日記管理テーブルを更新する。
Ｗｅｂページ構成部６０３のコメント管理機能は、ＳＮＳサイトに公開された日記に対して他のノード装置１０から投稿されたコメントを管理する機能である。Ｗｅｂページ構成部６０３は、コメント管理機能の実行に応じてコメント管理テーブル記憶部６０５に記憶されたコメント管理テーブルを更新する。
【００４２】
Ｗｅｂページ構成部６０３のメッセージ交換管理機能は、２つのノード装置１０がＳＮＳサイト上でメッセージの交換を行う機能である。Ｗｅｂページ構成部６０３は、メッセージ交換管理機能の実行に応じてメッセージ管理テーブル記憶部６０６に記憶されたメッセージ管理テーブルを更新する。
Ｗｅｂページ構成部６０３のユーザ管理機能は、ＳＮＳサイトにユーザ登録されているノード装置１０について友人関係にあるノード装置１０を登録する機能である。Ｗｅｂページ構成部６０３は、ユーザ管理機能の実行に応じてユーザ管理テーブル記憶部６０７に記憶されたユーザ管理テーブルを更新する。
なお、Ｗｅｂページ構成部６０３は、日記管理機能のうち日記の公開または非公開の設定および公開される範囲の設定を、ユーザ管理テーブルに基づいて行うようにしてもよい。
【００４３】
日記管理テーブル記憶部６０４に記憶される日記管理テーブルと、コメント管理テーブル記憶部６０５に記憶されるコメント管理テーブルと、メッセージ管理テーブル記憶部６０６に記憶されるメッセージ管理テーブルと、ユーザ管理テーブル記憶部６０７に記憶されるユーザ管理テーブルとの具体的なデータ構成については後述する。
【００４４】
ＳＮＳ情報解析部６０８は、ＳＮＳ情報解析処理を行う処理部である。すなわち、ＳＮＳ情報解析部６０８は、ノード識別情報受信部６０１からノード識別情報が供給されると、日記管理テーブル記憶部６０４に記憶された日記管理テーブルと、コメント管理テーブル記憶部６０５に記憶されたコメント管理テーブルと、メッセージ管理テーブル記憶部６０６に記憶されたメッセージ管理テーブルと、ユーザ管理テーブル記憶部６０７に記憶されたユーザ管理テーブルをそれぞれ読み込んで、インデックスサーバ７０により指定されたノード識別情報が示すノード装置１０とその他のノード装置１０との間のコメント投稿やメッセージ送付の回数および方向を解析してコミュニケーション量を計算する。また、ＳＮＳ情報解析部６０８は、ノード装置１０同士の友人関係を解析する。ＳＮＳ情報解析部６０８は、計算したコミュニケーション量と解析した友人関係とを実績情報管理テーブル記憶部６０９の実績情報管理テーブルに記憶する。ＳＮＳ情報解析部６０８が実行するＳＮＳ情報解析処理の具体的な手順については後述する。
【００４５】
コミュニケーション実績情報生成部６１０は、コミュニケーション実績情報生成処理を行う処理部であり、実績情報管理テーブル記憶部６０９に記憶された実績情報管理テーブルを参照してコミュニケーション実績情報を生成しコミュニケーション実績情報送信部６１１に供給する。コミュニケーション実績情報生成部６１０が実行するコミュニケーション実績情報生成処理の具体的な手順については後述する。
コミュニケーション実績情報送信部６１１は、コミュニケーション実績情報生成部６１０から供給されるコミュニケーション実績情報をインデックスサーバ７０に供給する。
【００４６】
次に、インデックスサーバ７０の構成について説明する。本実施形態において、インデックスサーバ７０は、コンピュータ装置で構成される。図４は、インデックスサーバ７０の機能構成を示すブロック図である。同図において、インデックスサーバ７０は、インデックスファイル検索部７０２と、インデックスファイル記憶部７０３と、コミュニケーション実績情報要求部７０４と、コンテンツ所在管理テーブル記憶部７０５と、通信状態管理テーブル記憶部７０６と、配信実績管理テーブル記憶部７０７と、配信元ノード候補抽出部７０８と、伝送速度計算部７０９と、配信元ノード選定部７１０と、アップロード情報生成部７１１と、インデックスファイル要求情報受信部７１５と、ダウンロード許可申請情報受信部７１６と、コンテンツ蓄積管理情報受信部７１７と、通信状態情報受信部７１８と、配信実績情報受信部７１９と、アップロードポリシ情報受信部７２０と、コミュニケーション実績情報受信部７２１と、インデックスファイル送信部７２２と、配信／帯域制御情報送信部７２３と、アップロード情報送信部７２４とを備える。
【００４７】
インデックスファイル要求情報受信部７１５は、ノード装置１０から供給されるインデックスファイル要求情報を受信する。
インデックスファイル検索部７０２は、インデックスファイル要求情報受信部７１５からインデックスファイル要求情報の供給を受けると、そのインデックスファイル要求情報に含まれるコンテンツ名称を検索キーとしてインデックスファイル記憶部７０３からインデックスファイルを抽出し、インデックスファイル送信部７２２に供給する。
インデックスファイル送信部７２２は、インデックスファイル検索部７０２から供給されるインデックスファイルをアップロード先であるノード装置１０に送信する。
インデックスファイル記憶部７０３は、コンテンツごとのインデックスファイルを記憶する。
【００４８】
ダウンロード許可申請情報受信部７１６は、ノード装置１０から供給されるダウンロード許可申請情報を受信する。
コミュニケーション実績情報要求部７０４は、ダウンロード許可申請情報受信部７１６からダウンロード許可申請情報の供給を受けると、そのダウンロード許可申請情報に含まれるノード識別情報を抽出してＳＮＳサーバ６０に供給する。
【００４９】
コンテンツ蓄積管理情報受信部７１７は、ノード装置１０から供給されるコンテンツ蓄積管理情報を受信する。
コンテンツ所在管理テーブル記憶部７０５は、コンテンツとそのコンテンツを記憶するノード装置１０のノード識別情報とを関連付けたコンテンツ所在管理テーブルを記憶する。コンテンツ所在管理テーブル記憶部７０５は、コンテンツ蓄積管理情報受信部７１７からコンテンツ蓄積管理情報の供給を受けると、その情報に基づいてコンテンツ所在管理テーブルを更新する。
【００５０】
通信状態情報受信部７１８は、ノード装置１０から供給される通信状態情報を受信する。
通信状態管理テーブル記憶部７０６は、ノード装置１０のノード識別情報と、そのノード装置１０の現在のアップリンクの伝送速度と、ダウンリンクの伝送速度とを関連付けた通信状態管理テーブルを記憶する。通信状態管理テーブル記憶部７０６は、通信状態情報受信部７１８から通信状態情報の供給を受けると、その通信状態情報に基づいて通信状態管理テーブルを更新する。
【００５１】
配信実績情報受信部７１９は、ノード装置１０から供給される配信実績情報を受信する。
アップロードポリシ情報受信部７２０は、ノード装置１０から供給されるアップロードポリシ情報を受信する。
配信実績管理テーブル記憶部７０７は、アップロード元であるノード装置１０のノード識別情報と、アップロード先であるノード装置１０のノード識別情報と、そのアップロード元であるノード装置１０からアップロード先であるノード装置１０へのアップロード伝送速度実績値とを関連付けた配信実績管理テーブルを記憶する。配信実績管理テーブル記憶部７０７は、配信実績情報受信部７１９から供給される配信実績情報と、アップロードポリシ情報受信部７２０から供給されるアップロードポリシ情報とに基づいて配信実績管理テーブルを更新する。
【００５２】
配信元ノード候補抽出部７０８は、配信元ノード候補抽出処理を行う処理部であり、ダウンロード許可申請情報に含まれるダウンロード要求元のノード識別情報とダウンロード対象であるコンテンツのコンテンツ識別情報と、コンテンツ所在管理テーブル記憶部７０５に記憶されたコンテンツ所在管理テーブルと、通信状態管理テーブル記憶部７０６に記憶された通信状態管理テーブルと、配信実績管理テーブル記憶部７０７に記憶された配信実績管理テーブルとに基づいて、アップロード元となるノード装置１０の候補のノード識別情報を複数抽出して配信元ノード候補情報を生成する。配信元ノード候補抽出部７０８が実行する配信元ノード候補抽出処理の具体的な手順については後述する。
【００５３】
コミュニケーション実績情報受信部７２１は、バックエンドのＳＮＳサーバ６０から供給されるコミュニケーション実績情報を受信する。
伝送速度計算部７０９は、コミュニケーション実績情報受信部７２１から供給されるコミュニケーション実績情報と、配信元ノード候補抽出部７０８から供給される配信元ノード候補情報とに基づいて、アップロード元となるノード装置１０の候補それぞれのアップロード伝送速度を計算する。
【００５４】
配信元ノード選定部７１０は、アップロード元となるノード装置１０の候補のノード識別情報の中から所定数のノード識別情報を選択し、ノード識別情報およびアップロード伝送速度の組み合わせと、アップロードの対象であるコンテンツのコンテンツ識別情報と、アップロード先であるノード装置１０のノード識別情報とを含む配信／帯域制御情報を生成して配信／帯域制御情報送信部７２３に供給する。ノード装置１０の選択基準は、例えば、アップロード伝送速度の大きな順である。
配信／帯域制御情報送信部７２３は、供給された配信／帯域制御情報をアップロード先であるノード装置１０に供給する。
アップロード情報生成部７１１は、選択されたアップロード元であるノード装置１０ごとに、アップロード先であるノード装置１０のノード識別情報と、アップロードするコンテンツデータに対応するコンテンツ識別情報と、アップロード伝送速度とを含むアップロード情報を生成してアップロード情報送信部７２４に供給する。
アップロード情報送信部７２４は、供給されたアップロード情報をアップロード元であるノード装置１０に送信する。
【００５５】
伝送速度計算部７０９と配信元ノード選定部７１０とアップロード情報生成部７１１とは、互いに連係して配信／帯域制御処理を行う処理部である。伝送速度計算部７０９と配信元ノード選定部７１０とアップロード情報生成部７１１とが実行する配信／帯域制御処理の具体的な手順については後述する。
【００５６】
次に、インデックスサーバ７０のインデックスファイル記憶部７０３に記憶されるインデックスファイルのデータ構成について説明する。図５は、インデックスファイルのデータ構成の例を示す図である。同図に示すように、インデックスファイルは、インデックスファイル識別情報（index_file_id）と、コンテンツ識別情報（content_id）と、コンテンツ名称（title）と、ファイルサイズ（file_size）とを関係付けて含む。インデックスファイルにおける主キーは、インデックスファイル識別情報（index_file_id）である。
インデックスファイル識別情報（index_file_id）は、インデックスファイルの識別情報である。コンテンツ識別情報（content_id）は、コンテンツの識別情報である。コンテンツ名称（title）は、コンテンツの名称であり、例えば、コンテンツが映画や放送番組である場合は、映画コンテンツのタイトルや番組名としてもよい。ファイルサイズ（file_size）は、コンテンツファイルの容量である。
【００５７】
次に、ＳＮＳサーバ６０の日記管理テーブル記憶部６０４に記憶される日記管理テーブルのデータ構成について説明する。図６は、日記管理テーブルのデータ構成の例を示す図である。同図に示すように、日記管理テーブルは、日記識別情報（diary_id）と、ノード識別情報（node_id）と、題名（subject）と、本文（body）と、作成日時（datetime）とを関係付けて含む。日記管理テーブルにおける主キーは、日記識別情報（diary_id）である。
日記識別情報（diary_id）は、日記の識別情報である。ノード識別情報（node_id）は、ＳＮＳサイトにおいて日記を作成したノード装置１０のノード識別情報である。題名（subject）は、日記のタイトルである。なお、この題名（subject）は、無記入とすることができる。本文（body）は、日記の本文である。作成日時（datetime）は、日記が作成された年月日および日時秒の情報である。
【００５８】
次に、ＳＮＳサーバ６０のコメント管理テーブル記憶部６０５に記憶されるコメント管理テーブルのデータ構成について説明する。図７は、コメント管理テーブルのデータ構成の例を示す図である。同図に示すように、コメント管理テーブルは、コメント識別情報（comment_id）と、日記識別情報（diary_id）と、ノード識別情報（node_id）と、本文（body）と、投稿日時（datetime）とを関係付けて含む。コメント管理テーブルにおける主キーは、コメント識別情報（comment_id）である。
コメント識別情報（comment_id）は、日記に対するコメントの識別情報である。日記識別情報（diary_id）は、コメントが投稿された日記の識別情報である。ノード識別情報（node_id）は、コメントを投稿したノード装置１０のノード識別情報である。本文（body）は、コメントの本文である。投稿日時（datetime）は、コメントが投稿された年月日および日時秒の情報である。
【００５９】
次に、ＳＮＳサーバ６０のメッセージ管理テーブル記憶部６０６に記憶されるメッセージ管理テーブルのデータ構成について説明する。図８は、メッセージ管理テーブルのデータ構成の例を示す図である。同図に示すように、メッセージ管理テーブルは、メッセージ識別情報（message_id）と、送信先ノード識別情報（node_id_to）と、送信元ノード識別情報（node_id_from）と、題名（subject）と、本文（body）と、投稿日時（datetime）とを関係付けて含む。メッセージ管理テーブルにおける主キーは、メッセージ識別情報（message_id）である。
メッセージ識別情報（message_id）は、メッセージの識別情報である。送信先ノード識別情報（node_id_to）は、メッセージの送信先であるノード装置１０のノード識別情報である。送信元ノード識別情報（node_id_from）は、メッセージの送信元であるノード装置１０のノード識別情報である。題名（subject）は、メッセージのタイトルである。なお、この題名（subject）は、無記入とすることができる。本文（body）は、メッセージの本文である。投稿日時（datetime）は、メッセージが投稿された年月日および日時秒の情報である。
【００６０】
次に、ＳＮＳサーバ６０のユーザ管理テーブル記憶部６０７に記憶されるユーザ管理テーブルのデータ構成について説明する。図９は、ユーザ管理テーブルのデータ構成の例を示す図である。同図に示すように、ユーザ管理テーブルは、ノード識別情報（node_id）と、ユーザ・プロファイル（user_profile）と、友人ノード識別情報（friend_node_id）とを関係付けて含む。ユーザ管理テーブルにおける主キーは、ノード識別情報（node_id）である。
ノード識別情報（node_id）は、管理対象であるノード装置１０のノード識別情報である。ユーザ・プロファイル（user_profile）は当該ノード装置１０のユーザのプロファイル情報である。なお、このユーザ・プロファイル（user_profile）は、無記入とすることができる。友人ノード識別情報（friend_node_id）は、当該ノード装置１０と友人関係にあるノード装置１０のノード識別情報である。
【００６１】
次に、ＳＮＳサーバ６０の実績情報管理テーブル記憶部６０９に記憶される実績情報管理テーブルのデータ構成について説明する。図１０は、実績情報管理テーブルのデータ構成の例を示す図である。同図に示すように、実績情報管理テーブルは、パス識別情報（path_id）と、友人関係フラグ（friend_flag）と、コミュニケーション先ノード識別情報（node_id_to）と、コミュニケーション元ノード識別情報（node_id_from）と、コミュニケーション量（communication_times）とを関係付けて含む。実績情報管理テーブルにおける主キーは、パス識別情報（path_id）である。
パス識別情報（path_id）は、２つのノード装置１０の相対的な位置関係を示すパスである。友人関係フラグ（friend_flag）は、当該２つのノード装置１０が友人関係にあるか否かを示すフラグであり、２つのノード装置１０が友人関係にある場合は“１”であり、友人関係にない場合は“０”である。コミュニケーション先ノード識別情報（node_id_to）は、コミュニケーション先であるノード装置１０のノード識別情報である。コミュニケーション元ノード識別情報（node_id_from）は、コミュニケーション元であるノード装置１０のノード識別情報である。コミュニケーション量（communication_times）は、当該２つのノード装置１０におけるコミュニケーション量の値である。
【００６２】
次に、インデックスサーバ７０のコンテンツ所在管理テーブル記憶部７０５に記憶されるコンテンツ所在管理テーブルのデータ構成について説明する。図１１は、コンテンツ所在管理テーブルのデータ構成の例を示す図である。同図に示すように、コンテンツ所在管理テーブルは、コンテンツ識別情報（content_id）と、インデックスファイル識別情報（index_file_id）と、コンテンツ名称（title）と、ノード識別情報（node_id）とを関係付けて含む。コンテンツ所在管理テーブルにおける主キーは、コンテンツ識別情報（content_id）である。
コンテンツ識別情報（content_id）は、コンテンツの識別情報である。インデックスファイル識別情報（index_file_id）は、コンテンツデータに関連するインデックスファイルの識別情報である。コンテンツ名称（title）は、コンテンツの名称である。ノード識別情報（node_id）は、コンテンツデータを蓄積しているノード装置１０のノード識別情報である。コンテンツ識別情報（content_id）が同一であるコンテンツデータを蓄積するノード装置１０が複数ある場合は、ノード識別情報（node_id）には、その全てのノード装置１０のノード識別情報が格納される。
【００６３】
次に、インデックスサーバ７０の通信状態管理テーブル記憶部７０６に記憶される通信状態管理テーブルのデータ構成について説明する。図１２は、通信状態管理テーブルのデータ構成の例を示す図である。同図に示すように、通信状態管理テーブルは、ノード識別情報（node_id）と、アップリンク伝送速度（bandwidth_up）と、ダウンリンク伝送速度（bandwidth_down）とを関係付けて含む。通信状態管理テーブルにおける主キーは、ノード識別情報（node_id）である。
ノード識別情報（node_id）は、ノード装置１０のノード識別情報である。アップリンク伝送速度（bandwidth_up）は、アップリンクの伝送速度である。ダウンリンク伝送速度（bandwidth_down）は、ダウンリンクの伝送速度である。伝送速度とは、単位時間あたりの伝送容量である。
【００６４】
次に、インデックスサーバ７０の配信実績管理テーブル記憶部７０７に記憶される配信実績管理テーブルのデータ構成について説明する。図１３は、配信実績管理テーブルのデータ構成の例を示す図である。同図に示すように、配信実績管理テーブルは、パス識別情報（path_id）と、アップロード先ノード識別情報（node_id_to）と、アップロード元ノード識別情報（node_id_from）と、伝送速度実績値（delivery_amount）と、ポリシ・フラグ（policy_flag）とを関係付けて含む。配信実績管理テーブルにおける主キーは、パス識別情報（path_id）である。
パス識別情報（path_id）は、２つのノード装置１０の相対的な位置関係を示すパスである。アップロード先ノード識別情報（node_id_to）は、アップロード先であるノード装置１０のノード識別情報である。アップロード元ノード識別情報（node_id_from）は、アップロード元であるノード装置１０のノード識別情報である。伝送速度実績値（delivery_amount）は、アップロード伝送速度の実績値である。ポリシ・フラグ（policy_flag）は、友人関係にないノード装置１０に対するアップロードを許可するか否かを示すフラグであり、例えば、許可する場合は“１”であり、禁止する場合は“０”である。
【００６５】
次に、コンテンツ配信システム１のコンテンツ配信の全体的な処理の流れについて説明する。図１４は、コンテンツ配信システム１において、ピア・ツー・ピア方式によって、ノード装置１０−１がノード装置１０−２からコンテンツデータをダウンロードする処理の流れを示すシーケンス図である。
まず、ステップＳ１において、ノード装置１０−１のユーザによる操作部の操作に基づいて、所望のコンテンツのコンテンツ名称の情報が操作系／表示系インタフェース部１０２を介してインデックスファイル要求部１０３に供給されると、インデックスファイル要求部１０３は、そのコンテンツ名称を含めたインデックスファイル要求情報を生成してインデックスサーバ７０に対して送信する。
【００６６】
次に、ステップＳ２において、インデックスサーバ７０のインデックスファイル要求情報受信部７１５がインデックスファイル要求情報を受信すると、そのインデックスファイル要求情報をインデックスファイル検索部７０２に供給する。次に、インデックスファイル検索部７０２は、インデックスファイル要求情報に含まれるコンテンツ名称を検索キーとしてインデックスファイル記憶部７０３からインデックスファイルを抽出し、インデックスファイル送信部７２２に供給する。そしてインデックスファイル送信部７２２は、インデックスファイルを要求元であるノード装置１０−１に対して送信する。
【００６７】
次に、ステップＳ３において、ノード装置１０−１のインデックスファイル受信部１１５がインデックスファイルを受信すると、そのインデックスファイルをインデックスファイル記憶部１０４に供給し、インデックスファイル記憶部１０４はそのインデックスファイルを記憶する。次に、ノード装置１０−１のユーザによる操作部の操作に基づいて、ダウンロード許可申請部１０５は、所望のコンテンツのコンテンツ識別情報をインデックスファイル記憶部１０４から読み込むとともにノード装置１０−１のノード識別情報を取得して、これらコンテンツ識別情報とノード識別情報とを含むダウンロード許可申請情報を生成する。そして、ダウンロード許可申請部１０５は、そのダウンロード許可申請情報をインデックスサーバ７０に対して送信する。
【００６８】
次に、ステップＳ４において、インデックスサーバ７０のダウンロード許可申請情報受信部７１６がダウンロード許可申請情報を受信すると、そのダウンロード許可申請情報をコミュニケーション実績情報要求部７０４に供給する。そして、コミュニケーション実績情報要求部７０４は、供給されたダウンロード許可申請情報に含まれるノード識別情報を抽出し、そのノード識別情報をＳＮＳサーバ６０に対して送信する。
【００６９】
次に、ステップＳ５において、ＳＮＳサーバ６０のノード識別情報受信部６０１がノード識別情報を受信するとＳＮＳ情報解析部６０８に供給する。そして、ＳＮＳ情報解析部６０８は、日記管理テーブル記憶部６０４に記憶された日記管理テーブルと、コメント管理テーブル記憶部６０５に記憶されたコメント管理テーブルと、メッセージ管理テーブル記憶部６０６に記憶されたメッセージ管理テーブルと、ユーザ管理テーブル記憶部６０７に記憶されたユーザ管理テーブルとをそれぞれ読み込み、供給されたノード識別情報が示すノード装置１０−１とその他のノード装置１０（ノード装置１０−２を含む。）との間のコメント投稿やメッセージ送付の回数および方向、ならびに友人関係を解析し、ノード装置間のコミュニケーション量を計算して、実績情報管理テーブル記憶部６０９の実績情報管理テーブルに記憶する。次に、コミュニケーション実績情報生成部６１０は、実績情報管理テーブル記憶部６０９に記憶された実績情報管理テーブルを読み込んでコミュニケーション実績情報を生成してコミュニケーション実績情報送信部６１１に供給する。そして、コミュニケーション実績情報送信部６１１は、供給されたコミュニケーション実績情報をインデックスサーバ７０に対して送信する。
【００７０】
次に、ステップＳ６において、インデックスサーバ７０のコミュニケーション実績情報受信部７２１は、コミュニケーション実績情報を受信して、そのコミュニケーション実績情報を伝送速度計算部７０９に供給する。一方、インデックスサーバ７０の配信元ノード候補抽出部７０８は、ダウンロード許可申請情報に含まれるコンテンツ識別情報と、コンテンツ所在管理テーブル記憶部７０５に記憶されたコンテンツ所在管理テーブルと、通信状態管理テーブル記憶部７０６に記憶された通信状態管理テーブルと、配信実績管理テーブル記憶部７０７に記憶された配信実績管理テーブルとに基づいて、アップロード元となるノード装置１０の候補（ノード装置１０−２を含む。）のノード識別情報を複数抽出して配信元ノード候補情報を生成する。
次に、伝送速度計算部７０９は、配信元ノード候補情報とコミュニケーション実績情報とに基づいて、アップロード元となるノード装置１０の候補それぞれのアップロード伝送速度をコミュニケーション実績に基づいて計算する。
次に、配信元ノード選定部７１０は、アップロード元となるノード装置１０の候補のノード識別情報の中から所定数のノード識別情報を選択し、ノード識別情報およびアップロード伝送速度の組み合わせと、アップロードの対象であるコンテンツのコンテンツ識別情報と、アップロード先であるノード装置１０のノード識別情報とを含む配信／帯域制御情報を生成して配信／帯域制御情報送信部７２３に供給する。そして、配信／帯域制御情報送信部７２３は、供給された配信／帯域制御情報をダウンロード要求元であるノード装置１０−１に対して送信する。
【００７１】
次に、ステップＳ７において、アップロード情報生成部７１１は、選択されたアップロード元であるノード装置１０のうち一番目のノード装置（ここでは、ノード装置１０−２である。）について、アップロード先であるノード装置１０−１のノード識別情報と、アップロードするコンテンツデータに対応するコンテンツ識別情報と、アップロード伝送速度とを含むアップロード情報を生成してアップロード情報送信部７２４に供給する。そして、アップロード情報送信部７２４は、供給されたアップロード情報をアップロード元であるノード装置１０−２に対して送信する。
【００７２】
次に、ステップＳ８において、ノード装置１０−１の配信／帯域制御情報受信部１１６が配信／帯域制御情報を受信すると、その配信／帯域制御情報をダウンロード要求部１０６に供給する。次に、ダウンロード要求部１０６は、ノード装置１０−１のノード識別情報と、所望のコンテンツのコンテンツ識別情報と、未取得であるコンテンツデータを示す情報とを含むダウンロード要求情報を生成し、そのダウンロード要求情報をアップロード元であるノード装置１０−２に対して送信する。
【００７３】
次に、ステップＳ９において、ノード装置１０−２のアップロード情報受信部１１７がアップロード情報を受信すると、そのアップロード情報を配信／帯域制御部１０７に供給する。そして、ノード装置１０−２のダウンロード要求情報受信部１１８がダウンロード要求情報を受信すると、そのダウンロード要求情報を配信／帯域制御部１０７に供給する。アップロード情報とダウンロード要求情報との供給を受けた配信／帯域制御部１０７は、通信状態解析部１１２から送信部１１３の回線使用状態を取得し、この回線使用状態とアップロード情報とに基づいて、アップロード先であるノード装置１０−１に対するアップロード伝送速度を決定する。
次に、コンテンツ管理部１０９は、コンテンツ記憶部１０８からコンテンツデータを読み込んでコンテンツ送信部１２２に供給する。そして、コンテンツ送信部１２２は、供給されたコンテンツデータをアップロード先のノード装置１０−１に対して送信する。次に、コンテンツ管理部１０９は、アップロード元であるノード装置１０−２のノード識別情報と、アップロード先であるノード装置１０−１のノード識別情報と、アップロード伝送速度とを含む配信実績情報を生成して配信実績情報送信部１２０に供給する。そして、配信実績情報送信部１２０は、供給された配信実績情報をインデックスサーバ７０に対して送信する。
【００７４】
次に、ＳＮＳサーバ６０のＳＮＳ情報解析部６０８が実行するＳＮＳ情報解析処理について具体的に説明する。図１５は、ＳＮＳ情報解析部６０８が実行するＳＮＳ情報解析処理の手順を示すフローチャートである。同図のフローチャートは、ＳＮＳ情報解析部６０８が、インデックスサーバ７０からノード装置１０−１のノード識別情報の供給を受けた場合に、ノード装置１０−１とＳＮＳサーバ６０に登録されているノード装置１０−２との間のコミュニケーション量を計算する例を示すものである。
【００７５】
まず、ステップＳ１０１において、ＳＮＳ情報解析部６０８は、インデックスサーバ７０から供給されたノード装置１０−１のノード識別情報をノード識別情報受信部６０１から取得する。
次に、ステップＳ１０２において、ＳＮＳ情報解析部６０８は、ＳＮＳサーバ６０に登録されたノード装置１０のノード識別情報から、ノード装置１０−２のノード識別情報を取得する。例えば、ＳＮＳ情報解析部６０８は、ユーザ管理テーブル記憶部６０７からノード装置１０−２のノード識別情報を読み込んでもよいし、ＳＮＳサイトにユーザ登録しているノード装置１０のノード識別情報が記憶されたユーザ情報記憶部（不図示）からノード装置１０−２のノード識別情報を読み込むようにしてもよい。
【００７６】
次に、ステップＳ１０３において、ＳＮＳ情報解析部６０８は、日記管理テーブル記憶部６０４の日記管理テーブルとコメント管理テーブル記憶部６０５のコメント管理テーブルとを参照し、ノード装置１０−１の日記に対するノード装置１０−２のコメント数を取得する。
具体的には、ＳＮＳ情報解析部６０８は、日記管理テーブル記憶部６０４の日記管理テーブルにおいて、ノード識別情報（node_id）がノード装置１０−１のノード識別情報であるレコードから、日記識別情報（diary_id）を抽出する。次に、ＳＮＳ情報解析部６０８は、コメント管理テーブル記憶部６０５のコメント管理テーブルにおいて、前記抽出した日記識別情報（diary_id）を含むレコードのうち、ノード識別情報（node_id）がノード装置１０−２のノード識別情報であるレコード数を取得する。
【００７７】
次に、ステップＳ１０４において、ＳＮＳ情報解析部６０８は、日記管理テーブル記憶部６０４の日記管理テーブルとコメント管理テーブル記憶部６０５のコメント管理テーブルとを参照し、ノード装置１０−２の日記に対するノード装置１０−１のコメント数を取得する。
具体的には、ＳＮＳ情報解析部６０８は、コメント管理テーブル記憶部６０５のコメント管理テーブルにおいて、ノード識別情報（node_id）がノード装置１０−１のノード識別情報であるレコードから、日記識別情報（diary_id）を抽出する。次に、ＳＮＳ情報解析部６０８は、日記管理テーブル記憶部６０４の日記管理テーブルにおいて、前記抽出した日記識別情報（diary_id）を含むレコードのうち、ノード識別情報（node_id）がノード装置１０−２のノード識別情報であるレコード数を取得する。
【００７８】
次に、ステップＳ１０５において、ＳＮＳ情報解析部６０８は、メッセージ管理テーブル記憶部６０６のメッセージ管理テーブルを参照して、ノード装置１０−１に対するノード装置１０−２のメッセージ数を取得する。
具体的には、ＳＮＳ情報解析部６０８は、メッセージ管理テーブル記憶部６０６のメッセージ管理テーブルにおいて、送信先ノード識別情報（node_id_to）がノード装置１０−１のノード識別情報であり、且つ送信元ノード識別情報（node_id_from）がノード装置１０−２のノード識別情報であるレコード数を取得する。
【００７９】
次に、ステップＳ１０６において、ＳＮＳ情報解析部６０８は、メッセージ管理テーブル記憶部６０６のメッセージ管理テーブルを参照して、ノード装置１０−２に対するノード装置１０−１のメッセージ数を取得する。
具体的には、ＳＮＳ情報解析部６０８は、メッセージ管理テーブル記憶部６０６のメッセージ管理テーブルにおいて、送信先ノード識別情報（node_id_to）がノード装置１０−２のノード識別情報であり、且つ送信元ノード識別情報（node_id_from）がノード装置１０−１のノード識別情報であるレコード数を取得する。
【００８０】
次に、ステップＳ１０７において、ＳＮＳ情報解析部６０８は、ステップＳ１０３の処理において取得した、ノード装置１０−１の日記に対するノード装置１０−２のコメント数と、ステップＳ１０５の処理において取得した、ノード装置１０−１に対するノード装置１０−２のメッセージ数とに基づいて、ノード装置１０−２からノード装置１０−１に対するコミュニケーション量を計算し、実績情報管理テーブル記憶部６０９の実績情報管理テーブルを更新する。
【００８１】
具体的には、ＳＮＳ情報解析部６０８は、ノード装置１０−２からノード装置１０−１に対するコミュニケーション量の値を下記の式（１）により計算する。式（１）において、ＳＸＹは、ノード装置１０（Ｘ）からノード装置１０（Ｙ）方向のコミュニケーション量である。ｄＸＹは、ノード装置１０（Ｙ）の日記に対するノード装置１０（Ｘ）のコメント数であり、ｍＸＹは、ノード装置１０（Ｙ）に対するノード装置１０（Ｘ）のメッセージ数である。αおよびβは、コミュニケーション量の計算におけるコメント数およびメッセージ数に対する０以上の重み係数である。
【００８２】
【数１】
2011180825.tif 000003
【００８３】
式（１）において、重み係数αおよびβは、ノード装置１０（Ｘ）からノード装置１０（Ｙ）に対するコミュニケーション量を、コメント数およびメッセージ数をどのような重み付けをして求めるかを決めるものである。例えば、メッセージの送付回数よりも日記に対するコメント投稿数の方を重要視してコミュニケーション量を求めたい場合は、重み係数αを重み係数βよりも大きな値にする。重み係数αおよびβは、両者独立に設けられるものであってもよいし、例えば０≦α≦１，β＝１−αとして両者が連係して設けられるものであってもよい。
【００８４】
よって、コンテンツ配信システム１のサービス提供者やコンテンツデータの提供者等のコンテンツプロバイダ側は、ノード装置１０（Ｘ）からノード装置１０（Ｙ）方向のコミュニケーション実績を定量化する場合に、重要視するコミュニケーションの種類を考慮して重み係数αおよびβを決定し、ＳＮＳ情報解析部６０８はそれら重み係数αおよびβの値を記憶しておく。
【００８５】
なお、ＳＮＳ情報解析部６０８は、重み係数αおよびβを一定値に設定するのではなく、例えば、コンテンツのカテゴリやジャンルごとに値を設定するようにしてもよい。コンテンツのカテゴリとは、例えば、映画、放送番組、広告等であり、コンテンツのジャンルとは、例えば、スポーツ、音楽、教養、娯楽等である。
さらに、ＳＮＳ情報解析部６０８は、重み係数αおよびβを時間に応じて変更するようにしてもよい。例えば、ＳＮＳ情報解析部６０８は、重み係数αおよびβを、コンテンツファイルがコンテンツ配信サーバ５０に登録されてノード装置１０からダウンロード可能になったときから所定の期間中は、メッセージ送付数を重要視するような値に設定し、その期間が経過した後は、日記へのコメント投稿数を重要視するような値に設定してもよい。
【００８６】
ステップＳ１０７の説明に戻り、ＳＮＳ情報解析部６０８は、ノード装置１０−２からノード装置１０−１に対するコミュニケーション量により実績情報管理テーブル記憶部６０９の実績情報管理テーブルを更新する。つまり、ＳＮＳ情報解析部６０８は、実績情報管理テーブルのコミュニケーション先ノード識別情報（node_id_to）にノード装置１０−１のノード識別情報を代入し、コミュニケーション元ノード識別情報（node_id_from）にノード装置１０−２のノード識別情報を代入し、コミュニケーション量（communication_times）に式（１）により計算したコミュニケーション量の値を代入して実績情報管理テーブルを更新し、実績情報管理テーブル記憶部６０９に記憶する。
【００８７】
次に、ステップＳ１０８において、ＳＮＳ情報解析部６０８は、ステップＳ１０４の処理において取得した、ノード装置１０−２の日記に対するノード装置１０−１のコメント数と、ステップＳ１０６の処理において取得した、ノード装置１０−２に対するノード装置１０−１のメッセージ数とに基づいて、ノード装置１０−１からノード装置１０−２に対するコミュニケーション量を上記の式（１）により計算し、ステップＳ１０７における更新処理と同様に実績情報管理テーブル記憶部６０９の実績情報管理テーブルを更新する。
【００８８】
次に、ステップＳ１０９において、ＳＮＳ情報解析部６０８は、ユーザ管理テーブル記憶部６０７のユーザ管理テーブルを参照してノード装置１０−１とノード装置１０−２との友人関係を調査し、その調査結果により実績情報管理テーブル記憶部６０９の実績情報管理テーブルを更新する。
具体的には、ＳＮＳ情報解析部６０８は、ユーザ管理テーブル記憶部６０７のユーザ管理テーブルから、ノード識別情報（node_id）がノード装置１０−１のノード識別情報であり、且つ友人ノード識別情報（friend_node_id）がノード装置１０−２のノード識別情報であるレコードを抽出する。そして、ＳＮＳ情報解析部６０８は、実績情報管理テーブル記憶部６０９の実績情報管理テーブルにおいて、コミュニケーション先ノード識別情報（node_id_to）がノード装置１０−１のノード識別情報であり、且つコミュニケーション元ノード識別情報（node_id_from）がノード装置１０−２のノード識別情報であるレコードと、コミュニケーション先ノード識別情報（node_id_to）がノード装置１０−２のノード識別情報であり、且つコミュニケーション元ノード識別情報（node_id_from）がノード装置１０−１のノード識別情報であるレコードとの各レコードの友人関係フラグ（friend_flag）に友人関係を示す値“１”を代入して実績情報管理テーブルを更新し、実績情報管理テーブル記憶部６０９に記憶する。
【００８９】
次に、ステップＳ１１０において、ＳＮＳ情報解析部６０８は、ＳＮＳサーバ６０に登録された他のノード装置１０のノード識別情報があるか否かを調査し、他のノード装置１０のノード識別情報があると判定した場合（Ｓ１１０：ＹＥＳ）はステップＳ１０２の処理に戻り、一方、他のノード装置１０のノード識別情報がないと判定した場合（Ｓ１１０：ＮＯ）はこのＳＮＳ情報解析処理を終了する。
【００９０】
次に、ＳＮＳサーバ６０のコミュニケーション実績情報生成部６１０が実行するコミュニケーション実績情報生成処理について説明する。ここでは、コミュニケーション実績情報生成部６１０がコミュニケーション実績情報生成処理を行ってノード装置１０−１に関するコミュニケーション実績情報を生成する例について説明する。
ＳＮＳ情報解析部６０８のＳＮＳ情報解析処理が終了すると、コミュニケーション実績情報生成部６１０はコミュニケーション実績情報生成処理を開始する。具体的には、コミュニケーション実績情報生成部６１０は、実績情報管理テーブル記憶部６０９に記憶された実績情報管理テーブルを参照して、コミュニケーション先ノード識別情報（node_id_to）がノード装置１０−１のノード識別情報であるレコードを抽出してコミュニケーション実績情報に書き込む。
さらに、コミュニケーション実績情報生成部６１０は、実績情報管理テーブルを参照して、コミュニケーション元ノード識別情報（node_id_from）がノード装置１０−１のノード識別情報であるレコードを抽出してコミュニケーション実績情報に書き込む。
そして、コミュニケーション実績情報生成部６１０は、生成したコミュニケーション実績情報をコミュニケーション実績情報送信部６１１に供給する。
【００９１】
図１６は、コミュニケーション実績情報生成部６１０が生成するコミュニケーション実績情報の例である。同図は、ノード装置１０−１のノード識別情報をＡとし、その他のノード装置１０のノード識別情報をＢ，Ｃ，Ｙ等とした場合のコミュニケーション実績情報である。同図に示すコミュニケーション実績情報によれば、ノード識別情報がＢであるノード装置１０からノード装置１０−１に対するコミュニケーション量は３であり、ノード装置１０−１からノード識別情報がＢであるノード装置１０に対するコミュニケーション量は４であり、ノード装置１０−１とノード識別情報がＢであるノード装置１０とは友人関係であることが示される。また、ノード識別情報がＣであるノード装置１０からノード装置１０−１に対するコミュニケーション量は５であり、ノード装置１０−１からノード識別情報がＣであるノード装置１０に対するコミュニケーション量は６であり、ノード装置１０−１とノード識別情報がＣであるノード装置１０とは友人関係であることが示される。また、ノード識別情報がＹであるノード装置１０からノード装置１０−１に対するコミュニケーション量は１であり、ノード装置１０−１からノード識別情報がＹであるノード装置１０に対するコミュニケーション量は２であり、ノード装置１０−１とノード識別情報がＣであるノード装置１０とは友人関係でないことが示される。
なお、コミュニケーション実績情報は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のマークアップ言語により記述されてもよい。
【００９２】
次に、インデックスサーバ７０の配信元ノード候補抽出部７０８が実行する配信元ノード候補抽出処理について具体的に説明する。図１７は、配信元ノード候補抽出部７０８が実行する配信元ノード候補抽出処理の手順を示すフローチャートである。同図のフローチャートは、配信元ノード候補抽出部７０８が、ノード識別情報がＡであるノード装置１０−１からコンテンツ識別情報がＣ０００１であるコンテンツのコンテンツデータのダウンロード許可申請を受けた場合の例である。
まず、ステップＳ２０１において、配信元ノード候補抽出部７０８は、ノード装置１０−１からダウンロード許可申請情報の供給を受けるとそのダウンロード許可申請情報を取り込み、ノード装置１０−１のノード識別情報Ａとコンテンツ識別情報Ｃ０００１とを抽出する。
【００９３】
次に、ステップＳ２０２において、配信元ノード候補抽出部７０８は、コンテンツ所在管理テーブル記憶部７０５のコンテンツ所在管理テーブルと、配信実績管理テーブル記憶部７０７の配信実績管理テーブルとを参照し、ノード装置１０−１に対してアップロードの実績があり、且つコンテンツ識別情報がＣ０００１であるコンテンツを蓄積するノード装置１０のノード識別情報を抽出する。これら抽出されたノード識別情報を集合Ｒとする。
具体的には、配信元ノード候補抽出部７０８は、コンテンツ所在管理テーブルにおいて、コンテンツ識別情報（content_id）がＣ０００１である全てのレコードからノード識別情報（node_id）を抽出する。これら抽出されたノード識別情報を集合Ｐとする。次に、配信元ノード候補抽出部７０８は、配信実績管理テーブルにおいて、アップロード先ノード識別情報（node_id_to）がノード識別情報Ａである全てのレコードからアップロード元ノード識別情報（node_id_from）を抽出する。これら抽出されたアップロード元ノード識別情報（node_id_from）を集合Ｑとする。次に、配信元ノード候補抽出部７０８は、集合Ｐおよび集合Ｑに共通するノード装置１０のノード識別情報である集合Ｒを抽出する。
【００９４】
次に、ステップＳ２０３において、配信元ノード候補抽出部７０８は、配信実績管理テーブル記憶部７０７の配信実績管理テーブルから、ノード装置１０−１から集合Ｒに含まれるノード識別情報が示すノード装置１０に対するアップロード伝送速度実績値とポリシ・フラグとを抽出する。
具体的には、配信元ノード候補抽出部７０８は、配信実績管理テーブルにおいて、アップロード元ノード識別情報（node_id_from）がノード識別情報Ａであり、且つアップロード先ノード識別情報（node_id_to）が集合Ｒに含まれるノード識別情報である全てのレコードから、伝送速度実績値（delivery_amount）とポリシ・フラグ（policy_flag）とを抽出する。
【００９５】
次に、ステップＳ２０４において、配信元ノード候補抽出部７０８は、通信状態管理テーブル記憶部７０６の通信状態管理テーブルから、集合Ｒに含まれるノード装置識別情報が示すノード装置１０のアップリンクの伝送速度を抽出する。
具体的には、配信元ノード候補抽出部７０８は、通信状態管理テーブルにおいて、ノード識別情報（node_id）が集合Ｒに含まれるノード識別情報を含む全てのレコードから、アップリンク伝送速度（bandwidth_up）を抽出する。
【００９６】
次に、ステップＳ２０５において、配信元ノード候補抽出部７０８は、ステップＳ２０２からステップＳ２０４までの処理において抽出した各情報を配信元ノード候補情報としてまとめて伝送速度計算部７０９に供給する。
つまり、配信元ノード候補抽出部７０８は、ノード装置１０−１に対してアップロードの実績があり、且つコンテンツ識別情報がＣ０００１であるコンテンツを蓄積するノード装置のノード識別情報（集合Ｒ）と、各ノード識別情報に対応するアップロード伝送速度実績値、ポリシ・フラグ、およびアップリンクの伝送速度とを配信元ノード候補情報として伝送速度計算部７０９に供給する。
【００９７】
次に、インデックスサーバ７０の伝送速度計算部７０９と配信元ノード選定部７１０とアップロード情報生成部７１１とが実行する配信／帯域制御処理について具体的に説明する。図１８は、伝送速度計算部７０９と配信元ノード選定部７１０とアップロード情報生成部７１１とが実行する配信／帯域制御処理の手順を示すフローチャートである。同図のフローチャートは、インデックスサーバ７０の伝送速度計算部７０９と配信元ノード選定部７１０とアップロード情報生成部７１１とが、ノード識別情報がＢ（集合Ｒに含まれるノード識別情報）であるノード装置１０からノード識別情報がＡであるノード装置１０−１に対してアップロードさせるための配信制御を行う例である。
【００９８】
まず、ステップＳ３０１において、伝送速度計算部７０９は、配信元ノード候補抽出部７０８から配信元ノード候補情報の供給を受けると、その配信元ノード候補情報を取り込んでノード識別情報Ｂとそれに関係付けられたデータを抽出する。
次に、ステップＳ３０２において、伝送速度計算部７０９は、ＳＮＳサーバ６０から供給されたコミュニケーション実績情報を取り込んで、ノード装置１０−１とノード識別情報Ｂに対応するノード装置１０とに関するコミュニケーションの実績データを抽出して配信モードを決定する。配信モードとは、伝送速度計算部７０９がアップロード伝送速度を計算する際の方式を示すものであり、コミュニケーション量と配信実績とを反映させてアップロード伝送速度を計算するモードと、配信実績のみを反映させてアップロード伝送速度を計算するモードと、アップロードを禁止する（アップロード伝送速度を０にする）モードとを含む。
【００９９】
具体的には、伝送速度計算部７０９は、targetタグの要素がノード識別情報Ａであるコミュニケーション実績情報において、toタグ内のnode_idタグまたはfromタグ内のnode_idタグがノード識別情報Ｂである実績データを抽出する。そして、その条件に合致する実績データが抽出されない場合は、伝送速度計算部７０９は、配信元ノード候補情報のうちノード識別情報Ｂに対応するポリシ・フラグを調査する。そして、伝送速度計算部７０９は、ポリシ・フラグの設定が、友人関係にないノード装置１０に対するアップロードを禁止する設定であると判定した場合は、アップロードを禁止する配信モードに設定する。一方、伝送速度計算部７０９は、ポリシ・フラグの設定が、友人関係にないノード装置１０に対してもアップロードを許可する設定であると判定した場合は、コミュニケーション量を反映させずに伝送速度を決定する配信モードに設定する。
【０１００】
一方で、伝送速度計算部７０９は、targetタグの要素がノード識別情報Ａであるコミュニケーション実績情報において、toタグ内のnode_idタグまたはfromタグ内のnode_idタグがノード識別情報Ｂである実績データを抽出した場合は、配信元ノード候補情報のうちノード識別情報Ｂに対応するポリシ・フラグを調査する。そして、伝送速度計算部７０９は、ポリシ・フラグの設定が、友人関係にないノード装置１０に対するアップロードを禁止する設定であると判定した場合は、さらに配信元ノード候補情報のうちノード識別情報Ｂに対応する友人関係フラグを調査する。そして、伝送速度計算部７０９は、友人関係フラグの設定が友人関係にない設定であると判定した場合は、アップロードを禁止する配信モードに設定する一方、友人関係フラグの設定が友人関係にある設定であると判定した場合は、コミュニケーション量を反映させて伝送速度を決定する配信モードに設定する。
【０１０１】
次に、ステップＳ３０３において、伝送速度計算部７０９は、配信モードにしたがい、コミュニケーション実績情報におけるコミュニケーション量と、配信元ノード候補情報における、ノード装置１０−１からノード識別情報がＢであるノード装置１０に対する伝送速度実績値とに基づいて、ノード識別情報がＢであるノード装置１０からノード装置１０−１に対するアップロード伝送速度を計算して記憶する。
具体的には、伝送速度計算部７０９は、ノード識別情報がＢであるノード装置１０からノード装置１０−１に対するアップロード伝送速度を下記の式（２）により計算する。式（２）において、Ｕは、ノード装置１０（Ｙ）からノード装置１０（Ｘ）に対するアップロード伝送速度である。Ｐは、アップロードを許可または禁止するフラグであり、例えば、“１”が許可であり、“０”が禁止である。ＳＸＹは、ノード装置１０（Ｘ）からノード装置１０（Ｙ）方向のコミュニケーション量の値である。ＳＹＸは、ノード装置１０（Ｙ）からノード装置１０（Ｘ）方向のコミュニケーション量の値である。ＤＸＹは、ノード装置１０（Ｘ）からノード装置１０（Ｙ）に対するアップロード伝送速度実績値である。Ｃは、求めるべきアップロード伝送速度を実際の回線速度の範囲内に適合させるためのスケールパラメータであり正値である。ＡおよびＢは、アップロード伝送速度の計算におけるコミュニケーション量および伝送速度実績値に対する０以上の重み係数である。ａおよびｂは、アップロード伝送速度の計算におけるコミュニケーション量ＳＸＹおよびコミュニケーション量ＳＹＸに対する０以上の重み係数である。
【０１０２】
【数２】
2011180825.tif 000004
【０１０３】
式（２）において、重み係数ＡおよびＢは、ノード装置１０（Ｙ）からノード装置１０（Ｘ）に対するアップロード伝送速度を、コミュニケーション量および伝送速度実績値をどのような重み付けをして求めるかを決めるものである。例えば、伝送速度実績値よりもコミュニケーション量の方を重要視してアップロード伝送速度を求めたい場合は、重み係数Ａを重み係数Ｂよりも大きな値にする。重み係数ＡおよびＢは、両者独立に設けられるものであってもよいし、例えば０≦Ａ≦１，Ｂ＝１−Ａとして両者が連係して設けられるものであってもよい。
【０１０４】
また、式（２）において、重み係数ａおよびｂは、コミュニケーションの方向の重要度を調整するものである。例えば、ノード装置１０（Ｙ）からノード装置１０（Ｘ）方向のコミュニケーション量よりも、ノード装置（Ｘ）からノード装置１０（Ｙ）方向のコミュニケーション量の方の重要度を高くする場合は、重み係数ａを重み係数ｂよりも大きな値にする。重み係数ａおよびｂは、両者独立に設けられるものであってもよいし、例えば０≦ａ≦１，ｂ＝１−ａとして両者が連係して設けられるものであってもよい。
【０１０５】
よって、コンテンツ配信システム１のサービス提供者やコンテンツデータの提供者等のコンテンツプロバイダ側は、ノード装置１０（Ｙ）からノード装置１０（Ｘ）に対するアップロード伝送速度を決定するにあたって、重要視する実績値の種類を考慮して重み係数ＡおよびＢを決定し、また、コミュニケーションの実績を考慮する場合は、重要視するコミュニケーションの方向を考慮して重み係数ａおよびｂを決定して、伝送速度計算部７０９はそれら重み係数ａおよびｂの値を記憶しておく。
【０１０６】
なお、伝送速度計算部７０９は、重み係数ＡおよびＢを一定値に設定するのではなく、例えば、コンテンツファイル全体の容量に応じて値を設定するようにしてもよい。例えば、伝送速度計算部７０９は、所定の閾値を超える容量のコンテンツファイルについては、コミュニケーション実績の重要度を上げてアップロードさせるために重み付け係数Ａの値を大きくする。
また、伝送速度計算部７０９は、コンテンツのカテゴリやジャンルごとに、重み係数ＡおよびＢを設定するようにしてもよい。
さらに、伝送速度計算部７０９は、重み係数ＡおよびＢを時間に応じて変更するようにしてもよい。例えば、伝送速度計算部７０９は、重み係数ＡおよびＢを、コンテンツファイルがコンテンツ配信サーバ５０に登録されてノード装置１０からダウンロード可能になったときから所定の期間中は、コミュニケーション実績を重要視するような値に設定し、その期間が経過した後は、ダウンロード実績を重要視するような値に設定してもよい。
【０１０７】
また、重み係数ａおよびｂについても、伝送速度計算部７０９は重み係数ＡおよびＢと同様に可変に設定してもよい。
【０１０８】
ステップＳ３０３の説明に戻り、伝送速度計算部７０９は、計算したノード識別情報がＢであるノード装置１０からノード装置１０−１に対するアップロード伝送速度を記憶する。
【０１０９】
次に、ステップＳ３０４において、伝送速度計算部７０９は、配信元ノード候補情報に他のノード装置１０の情報があるか否かを調査し、他のノード装置１０の情報があると判定した場合（Ｓ３０４：ＹＥＳ）はステップＳ３０１の処理に戻り、他のノード装置１０の情報がないと判定した場合（Ｓ３０４：ＮＯ）はステップＳ３０５の処理に移る。
ステップＳ３０５において、配信元ノード選定部７１０は、伝送速度計算部７０９に記憶されたノード装置１０の候補それぞれのアップロード伝送速度に基づいて、予め定められた所定数のノード識別情報を選択し、ノード識別情報とアップロード伝送速度との組み合わせを含む配信／帯域制御情報を生成して配信／帯域制御情報送信部７２３に供給する。そして、配信／帯域制御情報送信部７２３は、その配信／帯域制御情報をアップロード先であるノード装置１０−１に対して送信する。ここで、配信元ノード選定部７１０は、例えば、アップロード伝送速度の大きい順に、ノード識別情報を所定数選択する。
次に、ステップＳ３０６において、アップロード情報生成部７１１は、選択されたアップロード元であるノード装置１０ごとに、アップロード先であるノード装置１０−１のノード識別情報Ａと、アップロードするコンテンツデータに対応するコンテンツ識別情報と、アップロード伝送速度とを含むアップロード情報を生成してアップロード情報送信部７２４に供給する。そしてアップロード情報送信部７２４は、そのアップロード情報をアップロード元のノード装置１０それぞれに対して送信する。
【０１１０】
図１９は、配信元ノード選定部７１０が生成する配信／帯域制御情報の例である。同図の配信／帯域制御情報は、ノード識別情報がＡであるアップロード先のノード装置１０−１に、ノード識別情報がＮ，Ｂ，Ｔ，Ｙであるノード装置１０からコンテンツ識別情報がＣ０００１であるコンテンツのコンテンツデータをアップロードすることを示す内容である。この配信／帯域制御情報においては、アップロード元であるノード装置１０の情報が、アップロード伝送速度の大きい順に配列されている。
なお、配信／帯域制御情報は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のマークアップ言語により記述されてもよい。
【０１１１】
図２０は、アップロード情報生成部７１１が生成するアップロード情報の例である。同図のアップロード情報は、ノード識別情報がＢであるノード装置１０が、ノード識別情報がＡであるノード装置１０−１に対して、コンテンツ識別情報がＣ０００１であるコンテンツのコンテンツデータをアップロード伝送速度３０によって伝送することを指定する内容である。
なお、アップロード情報についても、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のマークアップ言語により記述されてもよい。
【０１１２】
次に、ノード装置１０の配信／帯域制御部１０７が実行するアップロード制御処理について具体的に説明する。図２１は、アップロード元であるノード装置１０の配信／帯域制御部１０７が実行するアップロード制御処理の手順を示すフローチャートである。同図のフローチャートは、ノード識別情報がＢであるノード装置１０−２が、ノード識別情報がＡであるノード装置１０−１に対してコンテンツデータをアップロードする処理の例である。
【０１１３】
まず、ステップＳ４０１において、配信／帯域制御部１０７は、アップロード情報受信部１１７からアップロード情報の供給を受けるとそのアップロード情報を取り込む。次に、ステップＳ４０２において、配信／帯域制御部１０７は、ダウンロード要求元であるノード装置１０−１からのダウンロード要求情報の供給をダウンロード要求情報受信部１１８から受けると、そのダウンロード要求情報を取り込む。なお、ステップＳ４０１の処理とステップＳ４０２の処理との順番は、逆であってもよい。
配信／帯域制御部１０７は、アップロード情報とダウンロード要求情報とを取り込むと、それらアップロード情報とダウンロード要求情報におけるダウンロード要求元のノード識別情報を照合して、ダウンロード要求元のノード装置１０がノード装置１０−１であることを確認する。つまり、配信／帯域制御部１０７は、アップロード情報に含まれる、アップロード先であるノード装置１０−１のノード識別情報Ａと、ダウンロード要求情報に含まれるダウンロード要求元であるノード装置１０−１のノード識別情報Ａとを照合して一致することを確認し、ダウンロード要求元のノード装置１０がノード装置１０−１であることを認識する。
【０１１４】
次に、ステップＳ４０３において、配信／帯域制御部１０７は、通信状態解析部１１２から送信部１１３における回線使用状態を取得する。次に、ステップＳ４０４において、配信／帯域制御部１０７は、アップロード情報からアップロード伝送速度を抽出し、このアップロード伝送速度と、ステップＳ４０３の処理において取得した回線使用状態による使用可能な回線の速度とを比較し、使用可能な回線の速度がアップロード伝送速度以上の値である場合（Ｓ４０４：ＹＥＳ）は、ステップＳ４０５の処理に移り、使用可能な回線の速度がアップロード伝送速度よりも低い値である場合（Ｓ４０４：ＮＯ）は、ステップＳ４０６の処理に移る。
【０１１５】
ステップＳ４０５において、配信／帯域制御部１０７は、コンテンツ送信部１２２の回線の速度を、アップロード情報から抽出したアップロード伝送速度に設定する。また、ステップＳ４０６においては、配信／帯域制御部１０７は、コンテンツ送信部１２２の回線の速度を、ステップＳ４０３の処理において求めた使用可能な回線の速度に設定する。
【０１１６】
次に、ステップＳ４０７において、配信／帯域制御部１０７は、ダウンロード要求情報に含まれるコンテンツ識別情報と、コンテンツデータのアップロード先であるノード装置１０−１のノード識別情報Ａと、未取得であるコンテンツデータを示す情報とを指定してコンテンツ管理部１０９に供給してアップロードを指示する。
次に、ステップＳ４０８において、コンテンツ管理部１０９は、コンテンツ記憶部１０８から未取得であるコンテンツデータを読み込んでコンテンツ送信部１２２に供給する。そして、コンテンツ送信部１２２は、供給されたコンテンツデータをノード装置１０−１に対して送信する。
次に、ステップＳ４０９において、コンテンツ管理部１０９は、アップロード元であるノード装置１０−２のノード識別情報Ｂと、アップロード先であるノード装置１０−１のノード識別情報Ａと、アップロード伝送速度とを含む配信実績情報を生成して配信実績情報送信部１２０に供給する。そして、配信実績情報送信部１２０は、供給された配信実績情報をインデックスサーバ７０に対して送信する。
【０１１７】
以上説明したように、本発明の実施形態であるコンテンツ配信システム１によれば、インデックスサーバ７０は、一方のノード装置１０から他方のノード装置１０に対するアップロードの実績がある場合にのみ、一方のノード装置１０に、他方のノード装置１０に対するダウンロード要求を許可するため、ダウンロードのみを行ってアップロードを行わないフリーライダーを適切に排除することができる。
その際に、インデックスサーバ７０は、一方のノード装置１０と他方のノード装置とのコミュニケーション実績を考慮して他方のノード装置１０から一方のノード装置１０に対するアップロード伝送速度を決定するため、一方のノード装置１０は、従来方式のようなアップリンクの伝送速度に制限されないダウンロードの伝送速度を確保してコンテンツのダウンロードを行うことができる。
【０１１８】
本実施形態においては、ノード装置１０がコンテンツデータを送受信する相手側のノード装置１０は、コミュニケーション実績があるノード装置１０、つまり友人関係にあるノード装置１０であるため、ノード装置１０の所有者または使用者は、ピア・ツー・ピア方式によるコンテンツ配信に対する抵抗感や不安感を少なくすることができる。これにより、効率的で且つ安心利用が可能なピア・ツー・ピア方式によるコンテンツ配信を実現することができる。
【０１１９】
なお、本実施形態では、ノード装置１０の識別情報であるノード識別情報を用いてピアであるノード装置１０を特定したが、ノード識別情報の代わりにノード装置１０の所有者または使用者の識別情報であるユーザ識別情報を用いてもよい。
【０１２０】
また、本実施形態におけるＳＮＳサーバ６０は、日記管理機能、コメント投稿管理機能、メッセージ交換管理機能、およびユーザ管理機能によりコミュニケーション実績情報を生成する例について説明した。本発明の実施形態は、これに限らず、ＳＮＳサーバ６０は、例えば、登録ユーザが管理するページ（マイページ）を他の登録ユーザがアクセスしたことを示すアクセス履歴を記録する足跡管理機能を用いてコミュニケーション実績情報を生成するようにしてもよい。
【０１２１】
また、本実施形態におけるコンテンツ配信システム１においては、ノード装置１０のコミュニケーション実績を、ＳＮＳサーバが管理するＳＮＳサイトにおける日記の登録、日記に対するコメントの投稿、メッセージ交換等のコミュニケーションの回数および方向から求める例について説明した。本発明の実施形態はこれに限らず、例えば、コンテンツ配信システムは、ブログと呼ばれるＷｅｂサイトにおけるブログの登録、ブログに対するコメント、トラックバック等のコミュニケーションの回数および方向から求めるようにしてもよい。また、コンテンツ配信システムは、Ｗｅｂブラウザを介するメールであるＷｅｂメールの送受信の回数からコミュニケーション実績を求めるようにしてもよい。
【０１２２】
なお、上述した実施形態におけるインデックスサーバ７０の一部の制御機能をコンピュータで実現するようにしてもよい。この場合、その制御機能を実現するためのコンテンツ配信制御プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたコンテンツ配信制御プログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
また、ノード装置１０の一部の制御機能をコンピュータで実現するようにしてもよい。この場合、その制御機能を実現するためのコンテンツ配信制御プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたコンテンツ配信制御プログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
なお、ここでいう「コンピュータシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【０１２３】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１２４】
１  コンテンツ配信システム
２  コンテンツプロバイダ側システム
１０（１０−１〜１０−４）  ノード装置
２０  ネットワーク
３０  ファイアウォール
４０  ＬＡＮ
５０  コンテンツ配信サーバ
６０  ＳＮＳサーバ
７０  インデックスサーバ（コンテンツ配信制御装置）
１０２  操作系／表示系インタフェース部
１０３  インデックスファイル要求部
１０４，７０３  インデックスファイル記憶部
１０５  ダウンロード許可申請部
１０６  ダウンロード要求部
１０７  配信／帯域制御部
１０８  コンテンツ記憶部
１０９  コンテンツ管理部
１１０  Ｗｅｂブラウザ機能部
１１１  ポリシ管理部
１１２  通信状態解析部
１１５  インデックスファイル受信部
１１６  配信／帯域制御情報受信部
１１７  アップロード情報受信部
１１８  ダウンロード要求情報受信部
１１９  コンテンツ受信部
１２０  配信実績情報送信部
１２１  コンテンツ蓄積管理情報送信部
１２２  コンテンツ送信部
６０１  ノード識別情報受信部
６０２  Ｗｅｂサーバ部
６０３  Ｗｅｂページ構成部
６０４  日記管理テーブル記憶部
６０５  コメント管理テーブル記憶部
６０６  メッセージ管理テーブル記憶部
６０７  ユーザ管理テーブル記憶部
６０８  ＳＮＳ情報解析部
６０９  実績情報管理テーブル記憶部
６１０  コミュニケーション実績情報生成部
６１１  コミュニケーション実績情報送信部
７０２  インデックスファイル検索部
７０４  コミュニケーション実績情報要求部
７０５  コンテンツ所在管理テーブル記憶部
７０６  通信状態管理テーブル記憶部
７０７  配信実績管理テーブル記憶部
７０８  配信元ノード候補抽出部
７０９  伝送速度計算部
７１０  配信元ノード選定部
７１１  アップロード情報生成部
７１５  インデックスファイル要求情報受信部
７１６  ダウンロード許可申請情報受信部
７１７  コンテンツ蓄積管理情報受信部
７１８  通信状態情報受信部
７１９  配信実績情報受信部
７２０  アップロードポリシ情報受信部
７２１  コミュニケーション実績情報受信部
７２２  インデックスファイル送信部
７２３  配信／帯域制御情報送信部
７２４  アップロード情報送信部
【図１】
2011180825.tif 000005
【図２】
2011180825.tif 000006
【図３】
2011180825.tif 000007
【図４】
2011180825.tif 000008
【図５】
2011180825.tif 000009
【図６】
2011180825.tif 000010
【図７】
2011180825.tif 000011
【図８】
2011180825.tif 000012
【図９】
2011180825.tif 000013
【図１０】
2011180825.tif 000014
【図１１】
2011180825.tif 000015
【図１２】
2011180825.tif 000016
【図１３】
2011180825.tif 000017
【図１４】
2011180825.tif 000018
【図１５】
2011180825.tif 000019
【図１６】
2011180825.tif 000020
【図１７】
2011180825.tif 000021
【図１８】
2011180825.tif 000022
【図１９】
2011180825.tif 000023
【図２０】
2011180825.tif 000024
【図２１】
2011180825.tif 000025