以下、本願に開示する技術内容をその実施例を示す図面に基づいて詳述する。
(実施例1)
図1は、本願実施例1に係る通信システムのシステム構成例を示す概念図である。実施例1に係る通信システムでは、インターネット等の通信網NWに、情報処理装置1、通信装置2,2,…等の複数の装置が接続されており、各装置は、通信網NWを介して相互に通信することが可能である。
本願実施例1に係る通信システムは、P2P(Peer-to-Peer)と呼ばれる通信システムとして機能する。P2Pに係る通信システム、即ちP2Pネットワークでは、各通信装置2,2,…が、様々な役割を担うノードとして機能する。
例えば、提供データを記録している通信装置2は、コンテンツ記録ノードとして機能する。また、提供データを記録している通信装置2について記録している他の通信装置2は、コンテンツ所在管理ノードとして機能する。さらに、通信装置2は、コンテンツ所在管理ノードである通信装置2にアクセスして、コンテンツ記録ノードである通信装置2を検索するコンテンツ検索ノードとして機能する。図面及び以降の説明において、必要に応じ、コンテンツ検索ノードとして機能する通信装置2を通信装置2a、コンテンツ記録ノードとして機能する通信装置2を通信装置2b、そしてコンテンツ所在管理ノードとして機能する通信装置2を通信装置2cと示す。
コンテンツ検索ノードとして機能する通信装置2aは、通信装置2cから検索して得られた一又は複数の通信装置2bに対して提供データを要求する。提供データを要求された通信装置2bは、要求元の通信装置2aへ提供データを送信する。そして、提供データを受信した通信装置2aは、提供データを記録することにより、コンテンツ記録ノードとして機能する通信装置2bとなる。なお、提供データを使用するためには、情報処理装置1から提供される制御データが必要である。
情報処理装置1は、通信装置2,2,…へ提供される提供データを使用可能にする制御データを記録しているサーバコンピュータ等の装置である。情報処理装置1は、例えば、提供データの配信元となる事業体等の管理者に管理される。
提供データとは、例えば、コンテンツデータであり、映像を再生するMPEG(Moving Picture Experts Group)、音声を再生するMP3(MPEG Audio Layer-3)等の形式の再生データを例示することができる。ただし、提供データは、このような再生データに限るものではなく、静止画、ゲームコンテンツ等の通信装置2へ提供される様々なデータを示す。
制御データとは、通信装置2において、提供データの使用可否を制御する処理に用いられるデータである。なお、以下の実施例において、制御データとは、提供データを使用可能とするライセンスデータであり、例えば、提供データが暗号化されている場合に、暗号化データを復号する鍵データが制御データとして用いられるものとして説明する。なお、提供データを使用不可能にするデータとして制御データを用いるようにしても良い。
通信装置2は、前述したように各種ノードとして機能し、また、使用可能となった提供データの使用、例えば映像の再生を行うパーソナルコンピュータ等の装置である。通信装置2は、例えば、提供データを使用する使用者により操作される。
提供データは、制御データを用いて復号されることにより、使用可能となる。提供データの使用とは、通信装置2により、映像の再生、音声の再生、静止画の表示、ゲームコンテンツの実行等の処理がなされることを示す。
次に、本願実施例1に係る各種装置のハードウェア構成について説明する。図2は、本願実施例1に係る通信システムにて用いられる各種装置のハードウェア構成例を示すブロック図である。情報処理装置1は、制御部10、補助記憶部11、記録部12、記憶部13、通信部14等の各種機構を備えている。
制御部10は、装置全体を制御するCPU(Central Processing Unit )等の演算機構である。制御部10は、内部通信線を介して情報処理装置1のハードウェア各部と接続されており、制御プログラムPRG等の各種プログラムの手順に従って所定の処理を実行する。制御部10は、命令レジスタ(Instruction Register)、命令解読回路(Instruction Decoder)、演算回路(Arithmetic Logic Unit)、アキュムレータ(Accumulator)、番地レジスタ(Address Register)、プログラムカウンタ(Program Counter)等の各種回路を備えている。命令レジスタは、記憶部13から読み込んだ命令を一時的に格納する。命令解読回路は、命令レジスタに格納されている機械語命令(2進数)を解読し、その命令に応じて情報処理装置1が有するハードウェア各部を制御する。演算回路は、命令解読回路からの制御に従って加算、減算、数値の比較等の演算を行う。アキュムレータは、演算対象のデータ、演算の結果等の情報を一時的に格納する。番地レジスタは、制御部10が読み書きする記憶部13が有する記憶領域の番地を格納する。プログラムカウンタは、次に実行すべき命令が格納されている記憶部13が有する記憶領域の番地を示す。また制御部10は、計時に要するタイマを備えている。
補助記憶部11は、CD−ROM、DVD−ROM等の記録媒体から本願に係る制御プログラムPRG及びデータ等の各種情報を読み取る光学ドライブ等の読取機構である。
記録部12は、HDD(Hard Disk Drive)等の磁気記録機構、SSD(Solid State Disk)等の不揮発性半導体記録機構等の記録機構である。記録部12には、補助記憶部11により、読み取った制御プログラムPRG及びデータ等の各種情報が記録される。なお、記録部11には、制御プログラムPRGだけでなく、様々な処理を実行する様々なコンピュータプログラム及びデータが記録されている。
記憶部13は、RAM(Random Access Memory)等の揮発性記憶機構等の記憶機構である。
情報処理装置1は、記録部12に記録されている制御プログラムPRG等の各種情報を読み取り、記憶部13に一時的に記憶して、制御部10の制御により実行することで、本願に係る情報処理装置1としての各種処理を実行する。
通信部14は、通信網NWに接続し、通信網NWを介して通信装置2,2,…と通信処理を実行する各種回路等のハードウェア及びファームウェア等のソフトウェアにて形成される通信機構である。
通信装置2は、制御部20、補助記憶部21、記録部22、記憶部23、通信部24、入力部25、出力部26等の各種機構を備えている。
通信装置2は、記録媒体から補助記憶部21により、通信装置用のプログラム及びデータ等の情報を読み取って記録部22に記録する。なお、記録媒体から読み取るのではなく、通信部24により通信網NWに接続し、通信網NWを介して、情報処理装置1等の他の装置から各種情報をダウンロードすることも可能である。
そして、通信装置2は、記録部22に記録された各種情報を読み取り、記憶部23に一時的に記憶して、制御部20の制御により実行することで、通信装置2としての各種処理を実行する。
入力部25とは、入力者の操作を受け付けるインターフェース機構である。入力部25は、入力者の操作に応じた信号を、内部通信線を介して制御部20へ出力する。入力部25は、例えばキーボード、マウス、及びその付属回路、付属プログラム等の様々な機構を用いて構成される。
出力部26は、画像及び音声を出力するインターフェース機構である。出力部26は、制御部20からの制御命令に基づいて画像を出力する液晶ディスプレイ、音声を出力するスピーカ、及びそれらの付属回路、付属プログラム等の様々な機構を用いて構成される。
次に、本願実施例1に係る各種装置の機能構成について説明する。図3は、本願実施例1に係る情報処理装置1の機能構成例を示す機能ブロック図である。情報処理装置1は、制御プログラムPRGを制御部10の制御に基づき実行することにより、制御データ要求信号受信部100、制御データ送信部101、制御データ送信先記録処理部102、装置選択部103、装置識別情報送信部104等の機能を実行させる。なお、制御プログラムPRGの実行ではなく、制御部10に、制御データ送信部101、制御データ送信先記録処理部102、装置選択部103、装置識別情報送信部104等の機能を実現する回路を組み込むようにしても良い。
制御データ要求信号受信部100は、記録している制御データの送信を要求する制御データ送信要求信号を受信するように制御部10を動作させるプログラムモジュール、回路等の構成要素である。
制御データ送信部101は、制御データ送信要求信号による制御データの送信の要求に対し、要求された制御データを要求元の通信装置2へ送信させるように制御部10を動作させるプログラムモジュール、回路等の構成要素である。
制御データ送信先記録処理部102は、制御データの送信先の通信装置2を識別する装置識別情報を、提供データを記録している通信装置2の装置識別情報として記録部12に記録させるように制御部10を動作させるプログラムモジュール、回路等の構成要素である。
装置選択部103は、記録部12に、提供データの全部又は一部に対応付けて記録されている装置識別情報の全部又は一部を選択させるように制御部10を動作させるプログラムモジュール、回路等の構成要素である。選択される装置識別情報は、コンテンツ記録ノードとして機能する通信装置2を識別する装置識別情報である。装置選択部103が選択する装置識別情報は、コンテンツ記録ノードの要求に対して通知される装置識別情報であり、選択された装置識別情報は、コンテンツ所在管理ノードとして機能する通信装置2cへ送信される。
装置識別情報送信部104は、装置選択部103が選択した通信装置2の装置識別情報を、提供データを記録している通信装置2の識別に用いられる装置識別情報として送信させるように制御部10を動作させるプログラムモジュール、回路等の構成要素である。装置識別情報の送信先は、コンテンツ所在管理ノードとして機能する通信装置2cである。
また、情報処理装置1は、制御プログラムPRGを制御部10の制御に基づき実行することにより、記録部12の記録領域の一部を、各種データベースとして使用可能にする。各種データベースとは、例えば、制御データ記録部(制御データDB)120、装置識別情報記録部(装置識別情報DB)121、制御データ送信先記録部(記録装置DB)122である。なお、記録部12の記録領域の一部を各種データベースとして用いるのではなく、情報処理装置1に接続された他の記録装置を各種データベースとして用いるようにしても良い。
制御データ記録部120は、通信装置2へ提供された提供データの使用可否の制御に用いる制御データを記録するデータベースである。
装置識別情報記録部121は、通信装置2を識別する装置識別情報を記録するデータベースである。
制御データ送信先記録部122は、制御データを送信した送信先の通信装置2に係る装置識別情報を記録するデータベースである。
図4は、本願実施例1に係る情報処理装置1の制御データ記録部120の記録内容の一例を概念的に示す説明図である。図4Aは、制御データ記録部120に記録されている制御データの索引として用いられる記録内容を示している。図4Aに示すように、制御データ記録部120には、提供データを識別する提供データ識別情報(コンテンツID)、制御データの記録位置、制御データの名称(ファイル名)等の各種情報が、夫々対応付けられてレコード単位で記録されている。図4Bは、記録されている制御データを示している。情報処理装置1は、提供データに係る提供データ識別情報をキーとして、制御データの記録位置及び名称を特定し、特定した記録位置及び名称に基づいて、提供データに対応する制御データを抽出することができる。
図5は、本願実施例1に係る情報処理装置1の装置識別情報記録部121の記録内容の一例を概念的に示す説明図である。装置識別情報記録部121には、装置識別情報(ノードID)、位置情報、ハッシュ値等の各種情報が、夫々対応付けられてレコード単位で記録されている。位置情報とは、通信網NW上の位置を示すIPアドレス、ポート番号等の情報である。ハッシュ値とは、装置識別情報を所定のハッシュ関数を用いて不可逆変換したN桁(Nは自然数)の2進数である。
図6は、本願実施例1に係る情報処理装置1の制御データ送信先記録部122の記録内容の一例を概念的に示す説明図である。制御データ送信先記録部122には、提供データ識別情報、提供データ配信開始時期、提供データ再生時間等の提供データに関する各種情報が夫々対応付けられたレコードとして記録されている。さらに、これらの提供データに関する情報に関連付けて、装置識別情報、制御データ送信時期、提供データ使用期間等の各種情報が夫々対応付けられたレコードとして記録されている。提供データ配信開始時期は、提供データの配信が開始された日時を示している。提供データ再生時間は、提供データが、音声データ、映像データ等の再生データである場合に、再生に要する時間を示している。装置識別情報とは、コンテンツ記録ノードとして機能する通信装置2bの装置識別情報である。制御データ送信時期とは、制御データを送信した日時を示している。提供データ使用期間とは、制御データにより使用可能にした提供データを使用することが可能な期間を示している。図6に示す例では、提供データ識別情報が0000001である提供データは、2009年6月1日の12時から配信を開始された再生時間が120分の再生データである。そして当該提供データに係る制御データは、装置識別情報が「0010」、「0012」、「0011」である通信装置2,2,…へ送信されている。また、当該提供データの使用期間は、制御データの送信から1週間である。なお、制御データの送信時期だけではなく、制御データの送信を要求する制御データ送信要求信号を受信した受信時期をも記録するようにしても良い。
図7は、本願実施例1に係る通信装置2の機能構成例を示す機能ブロック図である。図7に示す通信装置2は、コンテンツ検索ノードとして機能する通信装置2aを示している。通信装置2aは、制御部20の制御により、装置識別情報要求部200a、提供データ要求部201a、提供データ記録処理部202a等の機能を実行させる。
装置識別情報要求部200aは、コンテンツ所在管理ノードである通信装置2cに対し、コンテンツ記録ノードである通信装置2bに係る装置識別情報を検索し送信することを要求させるように制御部20を動作させるプログラムモジュール等の構成要素である。
提供データ要求部201aは、装置識別情報要求部200aの要求に対する応答として得られた装置識別情報に基づき、コンテンツ記録ノードである通信装置2bに提供データを要求させるように制御部20を動作させるプログラムモジュール等の構成要素である。
提供データ記録処理部202aは、提供データ要求部201aの要求に対する応答として送信された提供データを、記録部22に記録させるように制御部20を動作させるプログラムモジュール等の構成要素である。
また、通信装置2aは、記録部22の記録領域の一部を、装置識別情報記録部(装置識別情報DB)220a、提供データ記録部(提供データDB)221a等の各種データベースとして使用可能にする。装置識別情報記録部220aの記録内容は、情報処理装置1が備える装置識別情報記録部121の記録内容と同様である。提供データ記録部220aは、提供データ識別情報に対応付けて提供データを記録するデータベースである。
図8は、本願実施例1に係る通信装置2の機能構成例を示す機能ブロック図である。図8に示す通信装置2は、コンテンツ記録ノードとして機能する通信装置2bを示している。通信装置2bは、制御部20の制御により、制御データ要求部200b、提供データ管理部201b、提供データ送信部202b等の機能を実行させる。
制御データ要求部200bは、記録部22に記録した提供データの使用可否の制御に要する制御データの送信を、情報処理装置1に対して要求する制御データ要求信号を送信させるように制御部20を動作させるプログラムモジュール等の構成要素である。
提供データ管理部201bは、記録部22に記録した提供データを管理するように制御部20を動作させるプログラムモジュール等の構成要素である。提供データの管理とは、例えば、制御データにより提供データを使用可能とする復号等の処理、使用可能となった提供データの再生等の提供データを実行させる処理、使用期間を経過した提供データを使用不可とさせる処理等の処理である。使用不可とさせる処理とは、復号した提供データの削除等の処理である。
提供データ送信部202bは、他の通信装置2からの提供データの要求に対して、記録部22に記録している提供データを送信させるように制御部20を動作させるプログラムモジュール等の構成要素である。
また、通信装置2bは、記録部22の記録領域の一部を、装置識別情報記録部(装置識別情報DB)220b、提供データ記録部(提供データDB)221b等の各種データベースとして使用可能にする。装置識別情報記録部220bの記録内容は、情報処理装置1が備える装置識別情報記録部121の記録内容と同様である。提供データ記録部221bは、提供データ識別情報に対応付けて提供データを記録するデータベースである。なお、使用可能とした後の提供データをも記録可能とするようにしても良い。
図9は、本願実施例1に係る通信装置2の機能構成例を示す機能ブロック図である。図9に示す通信装置2は、コンテンツ所在管理ノードとして機能する通信装置2cを示している。通信装置2cは、制御部20の制御により、制御データ送信先記録処理部200c、制御データ送信先送信部201c等の機能を実行させる。
制御データ送信先記録処理部200cは、情報処理装置1から受信したコンテンツ記録ノードとして機能する通信装置2bの装置識別情報を、記録部22に記録させるように制御部20を動作させるプログラムモジュール等の構成要素である。
制御データ送信先送信部201cは、コンテンツ検索ノードとして機能する通信装置2aからの装置識別情報の要求に対して、記録部22に記録している装置識別情報を応答として送信させるように制御部20を動作させるプログラムモジュール等の構成要素である。
また、通信装置2cは、記録部22の記録領域の一部を、装置識別情報記録部(装置識別情報DB)220c、制御データ送信先記録部(制御データ送信先DB)221c等の各種データベースとして使用可能にする。装置識別情報記録部220cの記録内容は、情報処理装置1が備える装置識別情報記録部121の記録内容と同様である。制御データ送信先記録部221cは、情報処理装置1から受信したコンテンツ記録ノードとして機能する通信装置2bの装置識別情報を記録するデータベースである。制御データ送信先記録部221cには、制御データの送信先に係る装置識別情報が、提供データ識別情報に対応付けられた装置識別情報として記録される。
なお、説明の便宜上、コンテンツ所在管理ノード、コンテンツ記録ノード及びコンテンツ検索ノードの夫々として機能する通信装置2を説明したが、通信装置2は、いずれのノードとしても機能する。
次に、本願実施例1に係る各種装置の処理について説明する。図10は、本願実施例1に係る通信装置2,2,…間の提供データ取得処理の一例をシーケンス図として示したフローチャートである。提供データ取得処理は、コンテンツ検索ノードとして機能する通信装置2aが、提供データを取得するまでの処理である。
通信装置2aは、制御部20の制御に基づく装置識別情報要求部200aの処理により、コンテンツ記録ノードである通信装置2bの装置識別情報の検索及び送信を、コンテンツ所在管理ノードである通信装置2cに対して要求する(S101)。装置識別情報の検索及び送信の要求は、通信部24から通信網NWを介した電文メッセージとして送信される。送信される電文メッセージには、要求に係る提供データの提供データ識別情報が示されている。なお、通信装置2aは、他の通信装置2,2,…への問い合わせ、コンテンツ所在管理ノードである通信装置2c自身又は情報処理装置1からの発信等の通信に基づいて、通信装置2cを認識する。
コンテンツ所在管理ノードとして機能する通信装置2cは、制御部20の制御により、装置識別情報の検索及び送信の要求に基づいて、制御データ送信先記録部221cから、制御データの送信先に係る装置識別情報として記録している装置識別情報を検索する(S102)。ステップS102では、検索及び送信の要求として受信した電文メッセージに含まれる提供データ識別情報に基づき、制御データ送信先記録部221cに制御データの送信先に係る装置識別情報として記録されている装置識別情報のうちで、該当する装置識別情報を検索する。該当する装置識別情報が複数である場合は、それらを全て検索結果とする。なお、該当する装置識別情報の数が多い場合、上限値を設けるようにしても良い。
そして、制御部20は、制御データ送信先送信部201cにより、制御データ送信先記録部221cから検索した装置識別情報を、要求元の通信装置2aへ通信部24から通信網NWを介して送信させる(S103)。
コンテンツ検索ノードとして機能する通信装置2aは、制御部20の制御により、通信部24にて装置識別情報を受信する。そして、制御部20は、提供データ要求部201aにより、装置識別情報にて識別されるコンテンツ記録ノードとして機能する通信装置2bに対して、提供データの送信を要求する(S104)。通信装置2aは、装置識別情報記録部220aを参照することにより、装置識別情報から、通信装置2bの位置情報を取得する。提供データの送信の要求は、取得した位置情報に基づいて、通信部24から通信網NWを介した電文メッセージとして送信される。送信される電文メッセージには、要求に係る提供データの提供データ識別情報が示されている。また、複数の装置識別情報を受信した場合には、それら全て又は一部の装置識別情報に係る複数の通信装置2b,2b,…に対して提供データの送信を要求する。各通信装置2b,2b,…に対して、提供データの異なる部分を要求することにより、個々の通信装置2b,2b,…の処理負荷を軽減することができる。なお、要求先となる通信装置2b,2b,…の数に上限値を設けるようにしても良い。
コンテンツ記録ノードとして機能する通信装置2bは、制御部20の制御により、提供データの送信の要求に基づいて、提供データ記録部221bから提供データを抽出する(S105)。ステップS105では、提供データの送信の要求として受信した電文メッセージに含まれる提供データ識別情報に基づいて提供データを抽出する。なお、提供データの一部が指定されている場合には、抽出した提供データから、指定された一部を分割する。
そして、制御部20は、提供データ送信部202bにより、提供データ記録部221bから抽出した提供データを、要求元の通信装置2aへ通信部24から通信網NWを介して送信させる(S106)。
コンテンツ検索ノードとして機能する通信装置2aは、制御部20の制御により、通信部24にて提供データを受信する。そして、制御部20は、提供データ記録処理部202aにより、提供データを提供データ記録部221aに記録する(S107)。複数の通信装置2b,2b,…から夫々分割された提供データの一部を受信した場合、各部分を結合して提供データを再構築して記録する。そして、通信装置2は、以降の処理において、コンテンツ記録ノードとして機能する。
このようにして、実施例1に係る提供データ取得処理が実行される。
図11は、本願実施例1に係る通信装置2の提供データ使用処理の一例を示すフローチャートである。提供データ使用処理は、コンテンツ記録ノードとして機能する通信装置2bが、取得した提供データを使用するまでの処理である。
コンテンツ記録ノードとして機能する通信装置2bは、制御部20の制御に基づく制御データ要求部200bの処理により、記録している提供データを使用可能にする制御データの送信を要求する制御データ送信要求信号を、情報処理装置1へ送信する(S201)。制御データ送信要求信号は、通信部24から通信網NWを介した電文メッセージとして送信される。送信される電文メッセージには、要求に係る提供データの提供データ識別情報が示されている。なお、複数の提供データを記録している場合、夫々の提供データに係る制御データの送信を一度に要求することも可能である。
制御部20は、制御データ送信要求信号に対する応答として、情報処理装置1から返信された制御データを通信部24にて受信する(S202)。
制御部20は、提供データ管理部201bにより、提供データ記録部221に記録している提供データを、受信した制御データにて使用可能とする(S203)。例えば、提供データが暗号化されたデータである場合、制御データにより、復号することで、使用可能となる。
そして、制御部20は、提供データ管理部201bにより、使用可能とした提供データを使用する(S204)。使用可能とした提供データの使用とは、例えば、映像の再生である。
このようにして、実施例1に係る提供データ使用処理が実行される。
図12は、本願実施例1に係る情報処理装置1の制御データ送信処理の一例を示すフローチャートである。制御データ送信処理は、コンテンツ記録ノードとして機能する通信装置2bから送信される制御データ送信要求信号に対して、制御データを送信する処理であり、前述した提供データ使用処理に対応する処理である。
情報処理装置1は、制御プログラムPRGを実行する制御部10の制御により、制御データ送信処理として、以下の処理を実行する。制御部10は、制御データ要求信号受信部100により、通信部14にて、通信装置2bから、制御データ送信要求信号を受信する(S301)。
制御部10は、制御データ送信部101により、制御データの送信の要求に基づいて、制御データ記録部120から制御データを抽出する(S302)。ステップS302の処理は、要求に係る電文メッセージに示されている提供データ識別情報に基づいて、制御データ記録部120に記録されている記録位置を参照し、参照した記録位置に記録されている制御データを抽出することにより行われる。なお、電文メッセージに、複数の提供データ識別情報が示されている場合、夫々の提供データ識別情報に基づいて、複数の制御データを抽出する。
制御部10は、制御データ送信部101により、制御データ記録部120から抽出した制御データを、要求元の通信装置2bへ通信部14から通信網NWを介して送信させる(S303)。
そして、制御部10は、制御データ送信先記録処理部102により、制御データ送信部101が制御データを送信した送信先の通信装置2bを識別する装置識別情報を、制御データの送信先に係る装置識別情報として制御データ送信先記録部122に記録する(S304)。ステップS304では、送信した制御データに係る提供データ識別情報に対応付けられたレコードとして、装置識別情報、制御データ送信時期及び制御データ使用期間が記録される。
このようにして、実施例1に係る制御データ送信処理が実行される。
図13は、本願実施例1に係る情報処理装置1の提供データ識別情報選択処理の一例を示すフローチャートである。提供データ識別選択処理は、後述する装置識別情報通知処理の前処理として実行される処理であり、装置識別情報通知処理にて処理の対象となる提供データに係る提供データ識別情報を選択する処理である。
情報処理装置1は、10分、30分等の所定の周期で、制御プログラムPRGを実行する制御部10の制御により、提供データ識別情報選択処理として、以下の処理を実行する。制御部10は、制御データ送信先記録部122に記録されている提供データに係る情報を、提供データ識別情報をキーとした昇順等の所定の順序に従って並べ替える(S401)。提供データに係る情報とは、制御データ送信先記録部122に記録されている提供データ識別情報、提供データ配信開始時期、提供データ再生時間等の情報である。
制御部10は、並べ替えた最上位の提供データ識別情報を判定の対象として選択する(S402)。提供データ識別情報をキーとして昇順に並べ替えた場合、最も小さい番号を付与された提供データ識別情報が選択される。
制御部10は、選択した提供データ識別情報に対応する提供データ配信開始時期が、現在から2週間前以降等の所定の期間内であるか否かを判定する(S403)。提供データ配信開始時期から所定の期間内であれば、提供データの使用を所望する使用者が多いと判断し、装置識別情報通知処理の対象とする。提供データ配信開始時期から2週間以上経過しており、所定の期間外であれば、提供データの使用を所望する使用者は少数であると判断し、装置識別情報通知処理の対象外とする。
ステップS403において、所定の期間内であると判定した場合(S403:YES)、制御部10は、判定の対象として選択した提供データ識別情報を、後述する装置識別情報通知処理の対象として選択し、装置識別情報通知処理を実行する(S404)。
ステップS403において、所定の期間外であると判定した場合(S403:NO)、制御部10は、ステップS404の装置識別情報通知処理を実行せずに、ステップS405以降の処理を実行する。
制御部10は、装置識別情報通知処理を実行後又は装置識別情報通知処理を回避後、判定の対象とした提供データ識別情報より、順位が低い提供データ識別情報が存在するか否かを判定する(S405)。
ステップS405において、順位が低い提供データ識別情報が存在すると判定した場合(S405:YES)、判定の対象とした提供データ識別情報より、一つ順位が低い提供データ識別情報を次の判定の対象として選択する(S406)。そして、制御部10は、選択した提供データ識別情報を処理の対象として、ステップS403へ戻り、以降の処理を実行する。
ステップS405において、順位の低い提供データ識別情報が存在しないと判定した場合(S405:NO)、提供データ識別情報選択処理を終了する。そして、所定の周期に到達後、ステップS401からの処理を繰り返す。
上記処理を繰り返すことにより、提供データ識別情報に基づき各提供データについて、装置識別情報通知処理の実行要否を判定し、実行要と判定した提供データ識別情報に係る装置識別情報通知処理を実行することが可能となる。
このようにして、実施例1に係る提供データ識別情報選択処理が実行される。
図14は、本願実施例1に係る情報処理装置1の装置識別情報通知処理の一例を示すフローチャートである。装置識別情報通知処理は、提供データ取得処理にて説明した装置識別情報の要求先となるコンテンツ所在管理ノードとして機能する通信装置2cへ、要求に対して通知すべき装置識別情報を選択し、選択した装置識別情報を通知する処理である。なお、装置識別情報通知処理は、図13を用いて説明した提供データ識別情報選択処理のステップS404として、処理の対象として選択された提供データ識別情報に基づいて実行される。
情報処理装置1は、制御プログラムPRGを実行する制御部10の制御により、装置識別情報通知処理として、以下の処理を実行する。制御部10は、装置選択部103により、処理の対象として選択された提供データ識別情報に関連付けられた装置識別情報が、制御データ送信先記録部122に記録されているか否かを判定する(S501)。制御データ送信先記録部122に記録されている装置識別情報は、図12を用いて説明した制御データ送信処理において、制御データの送信先となった通信装置2bに係る装置識別情報である。制御データの送信先となった通信装置2bは、提供データを記録している可能性が高い通信装置2bであるとみなすことができる。そこで、ステップS501では、提供データ識別情報に関連付けられた装置識別情報の有無を、提供データを記録している通信装置2bの有無として判定する。
ステップS501において、関連付けられた装置識別情報が制御データ送信先記録部122に記録されていると判定した場合(S501:YES)、制御部10は、装置選択部103により、記録されている装置識別情報を選択する(S502)。ステップS502では、制御データ送信先記録部122に記録されている装置識別情報を、提供データを記録している通信装置2bの装置識別情報として選択する。選択された装置識別情報は、図10の提供データ取得処理において、コンテンツ検索ノードからの、提供データを記録している通信装置2bに係る装置識別情報の要求に対して、コンテンツ所在管理ノードから通知すべき装置識別情報として扱われる。ステップS501において、提供データ識別情報に対応する装置識別情報が複数である場合、この段階では全ての装置識別情報が選択される。
制御部10は、装置選択部103により、選択した装置識別情報のうちから、制御データ送信時期が新しい順に、1000等の所定数の装置識別情報を抽出する(S503)。ステップS503では、制御データ送信時期が新しい程、即ち、制御データを送信してから時間が経過していない程、提供データが削除されずに記録されている可能性が高いとみなし、所定数の装置識別情報を制御データ送信先記録部122から抽出する。なお、制御データ送信時期は、制御データ送信先記録部122に、装置識別情報に対応付けて記録されているデータを用いる。また、制御データ送信時期ではなく、要求信号を受信した要求信号受信時期が新しい順に装置識別情報を抽出するようにしてもよい。
制御部10は、装置選択部103の処理により、抽出した装置識別情報のうちから、制御データの送信時期からの経過時間が、提供データの再生時間以下である装置識別情報を選択する(S504)。制御データを要求した通信装置2bは、制御データにより使用可能とした提供データを再生する使用を行うが、制御データの送信から再生時間が経過していない場合、提供データの再生は完了していないと考えられる。そこで、制御データの送信から再生時間が経過していない提供データは、削除されている可能性が低いとみなし、抽出した装置識別情報を更に絞り込む選択処理を行う。また、制御データの送信から再生時間が経過していないことから、当該通信装置2bは、提供データの再生中である可能性が高く、従って、起動状態である可能性が高いため、提供データの要求先の候補とすることができる。なお、制御データ送信時期は、装置識別情報に対応付けて制御データ送信先記録部122に記録されており、再生時間は、提供データに係る情報として制御データ送信先記録部122に記録されている。また、提供データの使用は、通信装置2bに記録されている提供データのそのものを使用するのではなく、制御データにて使用可能とした状態の提供データを使用するものであるため、通信装置2bは、再生中であっても提供データを送信することができる。
ステップS503〜S504の処理により、通知する装置識別情報の絞り込みを行う。装置識別情報の絞り込みの条件は上述した例以外でも適宜設定することが可能である。例えば、提供データ使用期間内である装置識別情報を選択する等、様々な条件を設定することが可能である。そして、複数の条件を設定する場合、絞り込みのように論理積として条件を設定するのではなく、論理和等の他の論理演算に基づく条件を設定することも可能である。
そして、制御部10は、装置識別情報送信部104により、ステップS504にて選択した装置識別情報を、コンテンツ所在管理ノードとして機能する通信装置2cへ、通信部14から通信網NWを介して送信させる(S505)。送信先の通信装置2cは、受信した装置識別情報を記録することにより、コンテンツ所在管理ノードとして機能し、ステップS504にて選択した装置識別情報に係る通信装置2b,2b,…は、コンテンツ記録ノードとみなされる。
選択した装置識別情報の送信先として、コンテンツ所在管理ノードとして機能させる通信装置2cを選択する条件は適宜設定することが可能である。例えば、装置識別情報のハッシュ値と提供データ識別情報のハッシュ値との論理空間上の位置に基づいて、提供データ識別情報のハッシュ値と同じ又は最も近いハッシュ値となる装置識別情報に係る通信装置2cを選択するようにしても良い。また、乱数を用いて通信装置2cを選択するようにしても良い。さらに、ステップS504にて選択した装置識別情報を情報処理装置1にて管理し、情報処理装置1自体がコンテンツ所在管理ノードとして機能するようにしても良い。
ステップS501において、関連付けられた装置識別情報が記録されていないと判定した場合(S501:NO)、制御部10は、予め設定されている配信サーバ装置(図示せず)を識別する装置識別情報を、装置識別情報として選択する(S506)。そして、ステップS505へ進み、以降の処理を実行する。ステップS506は、提供データの配信元の装置をコンテンツ記録ノードとして用いる処理である。
ステップS505にて、通信装置2cへ装置識別情報を通知した後、情報処理装置1は、必要に応じて、当該通信装置2cがコンテンツ所在管理ノードであることを示す情報を、通信網NWを介してブロードキャストに送信するようにしてもよい。
図15は、本願実施例1に係る情報処理装置1が送信する電文メッセージの内容の一例を概念的に示す説明図である。図15は、図14を用いて説明した装置識別情報通知処理のステップS505において、情報処理装置1から、コンテンツ所在管理ノードとする通信装置2cへ送信する装置識別情報を示している。ステップS505において、装置識別情報は電文メッセージとして送信される。図15に示すように、電文メッセージには、提供データ識別情報(コンテンツID)と、装置識別情報として用いられる一又は複数の装置識別情報(ノードID)が示されている。図15に示す電文メッセージを受信することにより、通信装置2cは、提供データ識別情報にて示される提供データを記録している通信装置2b,2b,…の装置識別情報を、装置識別情報として取得することができる。
このようにして、実施例1に係る装置識別情報通知処理が実行される。
図16は、本願実施例1に係る通信装置2の装置識別情報記録処理の一例を示すフローチャートである。装置識別情報記録処理は、装置識別情報通知処理により装置識別情報として通知された装置識別情報を、通知先の通信装置2cにおいて記録する処理である。
通信装置2cは、制御部20の制御により、通信部24にて、制御データの送信先に係る装置識別情報として装置識別情報を受信する(S601)。ステップS601にて受信する装置識別情報とは、装置識別情報通知処理により通知される装置識別情報であり、図15に示す電文メッセージとして受信する。
制御部20は、制御データ送信先記録処理部200cにより、提供データ識別情報に対応付けて、受信した装置識別情報を制御データの送信先に係る装置識別情報として制御データ送信先記録部221cに記録する(S602)。ステップS602の処理により、通信装置2cは、コンテンツ所在管理ノードとして機能することになる。制御データの送信先に係る装置識別情報として装置識別情報を記録後、通信装置2cは、必要に応じて、自らがコンテンツ所在管理ノードであることを示す情報を、通信網NWを介してブロードキャストに送信するようにしてもよい。
このようにして、実施例1に係る装置識別情報通知処理が実行される。
以上のように、本願では、情報処理装置1が、制御データの送信先となる通信装置2bを、コンテンツ記録ノードとみなして管理する。これにより、通信装置2bが、提供データを記録していることを通知する情報を繰り返しブロードキャスト送信する必要がないので、通信装置2bの処理負荷及び通信網NWの通信負荷を軽減することが可能である等、優れた効果を奏する。
特に、新たな提供データの配信が開始された段階では、提供データが行き渡るまで、提供データの送受信が急増すると考えられるため、通信負荷が増大することになる。また、コンテンツ記録ノードとして機能する通信装置2bが、複数の提供データを記録している場合、夫々の提供データを記録していることを通知する情報を繰り返し送信することになるため、処理負荷が増大することになる。さらに、通信装置2bの台数が増加する程、通信負荷が増大する。本願は、このような、新たな提供データを次々に配信する事業、利用者が多く規模の大きいサービス等の通信システムに適用する程、その効果が顕著になる。
また、コンテンツ記録ノードとみなす通信装置2bを、提供データの再生時間及び制御データに基づいて選択するため、当該通信装置2bは、提供データを記録している状態であり、かつ起動している状態である可能性が高いと考えられる。これにより、提供データを記録しており、かつ起動状態であることを知らしめるために、提供データを記録していることを繰り返し通知する従来の方法の問題点を解決することが可能となっている。
(実施例2)
実施例2は、実施例1において、装置識別情報通知処理を異なる処理とした形態である。実施例2において、実施例1と同様の構成については、実施例1と同様の符号を付し、実施例1を参照するものとし、その説明を省略する。
実施例2に係る通信システムのシステム構成例、並びに各種装置のハードウェア構成例及び機能構成例は、実施例1と同様であるので、実施例1を参照するものとし、その説明を省略する。
次に、本願実施例2に係る各種装置の処理について説明する。なお、実施例2に係る通信システムの提供データ取得処理、提供データ使用処理、制御データ送信処理、提供データ識別情報選択処理、及び装置識別情報記録処理は、実施例1と同様であるので、実施例1を参照するものとし、その説明を省略する。
図17は、本願実施例2に係る情報処理装置1の装置識別情報通知処理の一例を示すフローチャートである。情報処理装置1は、制御プログラムPRGを実行する制御部10の制御により、装置識別情報通知処理として、以下の処理を実行する。なお、処理の開始から、制御データの送信時期からの経過時間に基づいて装置識別情報を選択するまでの処理は、図14を用いて説明した実施例1に係る装置識別情報通知処理のステップS501〜S504の処理と同様である。よって、その処理については、実施例1を参照するものとし、その説明を省略する。
ステップS501〜S504の条件に合致する装置識別情報を選択した後、制御部10は、装置選択部103の処理により、選択した装置識別情報の数が100等の所定数以上であるか否かを判定する(S701)。所定数以上である場合、コンテンツ記録ノードとして通知する通信装置2bの数は十分であるが、所定数未満の場合、通信装置2bの数は不十分であると判断する。通信装置2bの数が不十分である場合、少数の通信装置2b,2b,…に対して、提供データの要求が集中することが考えられるため、以降の処理により、所定数以上のコンテンツ記録ノードを確保する処理を実行する。
ステップS701において、所定数以上であると判定した場合(S701:YES)、制御部10は、図14を用いて説明した実施例1に係る装置識別情報通知処理のステップS505以降の処理を実行する。
ステップS701において、所定数未満であると判定した場合(S701:NO)、制御部10は、装置選択部103の処理により、複数の制御データの送信先となった通信装置2bに係る装置識別情報を選択する(S702)。ステップS702は、処理の対象である提供データ識別情報に係る制御データを含む複数の制御データの送信先となった通信装置2bに係る装置識別情報を、ステップS503にて抽出した装置識別情報のうちから選択する処理である。
制御部10は、装置選択部103の処理により、ステップS702にて選択した装置識別情報のうちから、制御データの送信時期からの経過時間が、提供データの再生時間に基づく基準時間以下である装置識別情報を選択する(S703)。ステップS703では、制御データの送信時期からの経過時間が、複数の提供データに係る夫々の再生時間の合計値である基準時間以下である装置識別情報を選択する。全ての提供データの再生が完了しておらず、起動している可能性が高いと考えられる通信装置2bを選択する処理である。なお、この場合、ステップS702では、送信時期が同時期又は所定の時間未満である複数の制御データの送信先となった通信装置2bに係る装置識別情報を選択する必要がある。また、制御データの送信時期とは、複数の制御データの送信時期のうちで、最初に送信された制御データの送信時期とすることが望ましい。さらには、送信された制御データが多い通信装置2bに係る装置識別情報を優先して選択するようにしても良い。
なお、ステップS703の処理として、複数の制御データのうちで、最後に送信した制御データの送信時期からの経過時間を、当該制御データに係る提供データの再生時間に基づく基準時間と比較するようにしても良い。さらに、ステップS703にて追加して選択される装置識別情報が多い場合には、上限を設けるようにしてもよい。
そして、制御部10は、選択した装置識別情報を送信すべく、図14を用いて説明した実施例1に係る装置識別情報通知処理のステップS505以降の処理を実行する。
このようにして、実施例2に係る装置識別情報通知処理が実行される。
以上のように実施例2では、提供データの要求先の候補となる通信装置2bについて、十分な台数を選択することができない場合に、複数の制御データの送信状況に鑑みて、好適な通信装置2bを追加選択することができる。
(実施例3)
実施例3は、実施例1において、コンテンツ所在管理ノードとして機能する通信装置2cへ装置識別情報を送信する経路を選択する例である。実施例3において、実施例1と同様の構成については、実施例1と同様の符号を付し、実施例1を参照するものとし、その説明を省略する。
実施例3に係る通信システムのシステム構成例及び各種装置のハードウェア構成例は、実施例1と同様であるので、実施例1を参照するものとし、その説明を省略する。
次に、本願実施例3に係る各種装置の機能構成例について説明する。図18は、本願実施例3に係る情報処理装置1の機能構成例を示す機能ブロック図である。情報処理装置1は、制御プログラムPRGを制御部10の制御に基づき実行することにより、制御データ要求信号受信部100、制御データ送信部101、制御データ送信先記録処理部102、装置選択部装置選択部103、装置識別情報装置識別情報送信部104、級選択部105等の機能を実行させる。なお、制御プログラムPRGの実行ではなく、制御部10に、制御データ要求信号受信部100、制御データ送信部101、制御データ送信先記録処理部102、装置選択部装置選択部103、装置識別情報装置識別情報送信部104、級選択部105等の機能を実現する回路を組み込むようにしても良い。
級選択部105は、各装置識別情報に対して所定の方法で行った分級の結果に基づいて、装置識別情報を送信する通信経路の候補とすべき通信装置2が属する級を選択させるように、制御部10を動作させるプログラムモジュール、回路等の構成要素である。所定の方法とは、装置識別情報から導出されるN桁(Nは自然数)の2進数にて示されるN次元の論理空間上の位置に基づいて、論理空間上での自装置からの距離を基準に、各装置識別情報を分級する方法である。N桁の2進数とは、例えば、装置識別情報記録部121に記録されているハッシュ値であり、装置識別情報を所定のハッシュ関数を用いて不可逆変換することにより導出される。
また、情報処理装置1は、制御プログラムPRGを制御部10の制御に基づき実行することにより、記録部12の記録領域の一部を各種データベースとして使用可能にする。各種データベースとは、例えば、制御データ記録部120、装置識別情報記録部121、制御データ送信先記録部122、級別記録部(級別DB)123等のデータベースである。なお、記録部12の記録領域の一部を各種データベースとして用いるのではなく、情報処理装置1に接続された他の記録装置を各種データベースとして用いるようにしても良い。
図19は、本願実施例3に係る情報処理装置1の級別記録部123の記録内容の一例を概念的に示す説明図である。級別記録部123は、コンテンツ所在管理ノードとして機能する通信装置2cへ、装置識別情報を送信する際に、送信経路の決定に用いられるルーティングテーブルである。級別記録部123には、論理空間上での距離に基づいて各通信装置2,2,…を分級する級、級に基づいて規定される距離の範囲、装置識別情報又は装置識別情報から導出されるハッシュ値等の各種情報が、夫々対応付けられてレコード単位で記録されている。なお、ハッシュ値と示される各通信装置2に係る情報は、装置識別情報記録121に記録されている装置識別情報、位置情報等の情報に関連付けられている。
経路の選択に際しては、N桁の2進数にて示されるN次元の論理空間を想定する。そして、装置識別情報を、ハッシュ関数を用いて不可逆変換することにより導出されるN桁の2進数にて示されるハッシュ値を論理空間上の位置を示す位置情報として用いる。なお、装置識別情報が、N桁の2進数にて示されている場合には、装置識別情報を、論理空間上の位置を示す位置情報として用いるようにしても良い。2進数にて示されるN次元の論理空間を想定することにより、情報処理装置1から各通信装置2,2,…までの距離を、夫々の装置識別情報又はハッシュ値の排他的論理和として算出することができる。
論理空間上での距離に基づく級(bucket番号)は、0又は自然数の値をとる「i」として示される。即ち、級とは、i=0,1,2,3,…となる。級に基づいて規定される距離の範囲とは、[2i,2i+1 )(0≦i≦ハッシュ値の桁数)として規定される範囲である。従って、級が「0」である場合、距離の範囲は「0」、級が「1」である場合、距離の範囲は「2〜3」、級が「2」である場合、距離の範囲は「4〜7」である。級別記録部123に示すように、各通信装置2,2,…は、情報処理装置1からの論理空間上の距離に基づいて分級される。なお、本願では、理解を容易にするため、4桁のハッシュ値を用いた例を説明するが、実装時には、システム規模に応じて160桁等の桁数のハッシュ値が用いられる。
級を用いた送信経路の決定方法について説明する。図20は、本願実施例3に係る通信システムにおいて、級及び通信経路の関係の一例を概念的に示す説明図である。図20は、情報処理装置1又は通信装置2として用いられる各ノードを、ハッシュ値に基づき、樹形図として配置したものである。樹形図末端の黒丸は、夫々ノードを示している。分岐の位置に示した「0」又は「1」の数値は、上位から下位にかけて、ハッシュ値を構成する各桁の値を示している。例えば、図21の右端のノードのハッシュ値Hは「0000」であり、その右隣のノードのハッシュ値Hは「0001」である。図20において、情報処理装置1のハッシュ値Hは「1000」であるものとする。この場合、ハッシュ値Hと級iとの関係は、図20に示すように分岐毎のブロックとして示すことができる。
ハッシュ値が「1000」である情報処理装置1が、提供データ識別情報が「C0 」である提供データに係る装置識別情報を、コンテンツ所在管理ノードとして機能する通信装置2cへ送信する例について説明する。情報処理装置1は、提供データ識別情報「C0 」のハッシュ値H(C0 )=「0000」を算出し、装置識別情報のハッシュ値が「0000」である通信装置2cをコンテンツ所在管理ノードとして選択する。そして、情報処理装置1は、「0000」である通信装置2cへ装置識別情報を送信する場合、級別記録部123に記録されているハッシュ値から、「0000」と論理空間上の距離が近い「0011」に対応する通信装置2を送信先として選択する。「0000」に近いハッシュ値「0011」とは、「0000」と級が同じ通信装置2である。図19に示す級別記録部123の例では、i=3である級に属する通信装置2が、「0000」と級が同じ通信装置2となる。なお、級は、情報処理装置1のハッシュ値「1000」との距離を算出することにより、導出することができる。
そして、情報処理装置1は、選択した通信装置2へ装置識別情報を送信する。装置識別情報を受信した通信装置2は、最終的な送信先となる通信装置2cの位置を記録している場合、その通信装置2cへ装置識別情報を送信する。記録していない場合、通信装置2は、自機からの距離に基づく級が、コンテンツ所在管理ノードとして機能する通信装置2cと同じ級に属するハッシュ値の通信装置2へ、装置識別情報を送信する。このような通信の繰り返しにより、情報処理装置1から通信装置2cへ装置識別情報が転送される。また、装置識別情報の転送を中継した通信装置2は、コンテンツ所在管理ノードとして機能する通信装置2cが、どの通信装置2であるかを認識することが可能となる。このような経路の選択には、Chord、Pastry、Kademlia等のDHT(Distributed Hash Table)アルゴリズム技術が適宜用いられる。
図21は、本願実施例3に係る通信システムにおいて、装置識別情報の送信経路の一例を概念的に示す説明図である。図21は、情報処理装置1からコンテンツ所在管理ノードとして機能する通信装置2cへ装置識別情報を送信する場合の送信経路の例を示している。前述したように、情報処理装置1は、通信装置2cへ装置識別情報を送信する場合、必ずしも通信装置2cへ直接送信する訳ではない。前述した例は、図21の実線で示す経路にて、情報処理装置1から通信装置2cへ装置識別情報が転送される例を示したものである。また、装置識別情報の転送に際し、中継を行った通信装置2は、コンテンツ所在管理ノードとして機能する通信装置2cが、どの通信装置2であるかを認識することが可能となる。
そして、本願に係る情報処理装置1は、選択する通信経路を固定するのではなく、所定の頻度で選択する通信経路を変更する。例えば、同じ級に属する通信装置2を所定回数以上連続して選択しないように制限を設け、異なる通信経路を選択するようにする。図19及び図20に示した例では、ハッシュ値「0011」の級は、「3」であることから、i=3である通信装置2が所定回数以上連続しないように、例えばi=2である通信装置2を選択する。図21の破線で示す通信経路は、級が「2」であるハッシュ値「1100」の通信装置2を、装置識別情報の最初の送信先として選択した場合の通信経路を示している。
通信経路が固定されないようにすることにより、コンテンツ所在管理ノードとして機能する通信装置2cの位置を認識している通信装置2が分散配置されることになる。また、装置識別情報の経路となった通信装置2にも、装置識別情報を記録し、コンテンツ所在管理ノードとして機能させることが可能であり、その場合、コンテンツ所在管理ノードとして機能する複数の通信装置2cが分散配置されることになる。
次に、本願実施例3に係る各種装置の処理について説明する。なお、実施例3に係る通信システムの提供データ取得処理、提供データ使用処理、制御データ送信処理、提供データ識別情報選択処理、及び装置識別情報記録処理は、実施例1と同様であるので、実施例1を参照するものとし、その説明を省略する。
図22は、本願実施例3に係る情報処理装置1の装置識別情報通知処理の一例を示すフローチャートである。情報処理装置1は、制御プログラムPRGを実行する制御部10の制御により、記録通知処理として、以下の処理を実行する。なお、処理の開始から、制御データの送信時期からの経過時間に基づいて装置識別情報を選択するまでの処理は、図14を用いて説明した実施例1に係る装置識別情報通知処理のステップS501〜S504の処理と同様である。よって、その処理については、実施例1を参照するものとし、その説明を省略する。
ステップS501〜S504の条件に合致する装置識別情報を選択した後、制御部10は、級選択部105の処理により、級別記録部に記録されている距離を基準とした複数の級のうちから、一の級を選択する(S801)。選択される級は、同じ級が所定回数以上連続して選択されないように制限がなされている。例えば、図20及び図21を用いて説明した例のように、i=2である級が、3回連続して選択されていた場合、「2」以外の級が選択される。
制御部10は、選択した級に属する通信装置2が最初の送信先となるように、級に基づき通信経路を決定する(S802)。
そして、制御部10は、決定した通信経路で、装置識別情報を送信すべく、図14を用いて説明した実施例1に係る装置識別情報通知処理のステップS505以降の処理を実行する。
このようにして、実施例3に係る装置識別情報通知処理が実行される。
以上のように実施例3では、装置識別情報の通信経路を適宜変更することにより、コンテンツ所在管理ノードとして機能する通信装置2cの位置を認識している通信装置2及びコンテンツ所在管理ノードとして機能する通信装置2cが分散配置される。これにより、特定の装置又は経路に負荷が収集することを防止することが可能となる。
前記実施例1乃至3は、本願の無数にある実施例の一部を例示したに過ぎず、各種装置の配置、並びにハードウェア及びソフトウェアの構成等は、目的、用途等に応じて適宜設計することが可能である。また、前記実施例1乃至3は、それぞれ独立して実施されるものではなく、目的、用途に応じて適宜組み合わせて実行することが可能である。
以上の実施例に関し、更に以下の付記を開示する。
(付記1)
通信装置へ提供される提供データの前記通信装置における使用可否を制御する処理に用いられる制御データの送信を要求する要求信号を受信する、制御データ要求信号受信部と、
前記受信した要求信号により要求される制御データを要求元の通信装置へ送信する、制御データ送信部と、
前記制御データの送信先である通信装置の識別に用いられる装置識別情報を、当該提供データに対応付けて記録する、制御データ送信先記録部と、
前記制御データ送信先記録部に、前記提供データの全部又は一部に対応付けて記録されている装置識別情報の全部又は一部を選択する装置選択部と、
前記選択された装置識別情報を、当該提供データを記録している通信装置の識別に用いられる装置識別情報として、P2Pネットワーク上の装置へ送信する、装置識別情報送信部と
を備える情報処理装置。
(付記2)
前記制御データ送信先記録部は、前記要求信号を受信した日時を示す受信時期又は前記制御データを要求元の通信装置へ送信した日時を示す送信時期を、前記提供データ及び前記装置識別情報に対応付けて記録するようにしてあり、
前記装置選択部は、前記制御データ送信先記録部に記録されている装置識別情報のうち、前記受信時期又は前記送信時期が新しい順に装置識別情報を選択するようにしてある
付記1に記載の情報処理装置。
(付記3)
前記提供データは、音声又は映像を再生させる再生データであり、
前記装置選択部は、前記要求信号を受信した日時を示す受信時期又は前記制御データを要求元の通信装置へ送信した日時を示す送信時期からの経過時間が、前記提供データの再生に必要な時間長を示す再生時間に基づいて決定される閾値以内となる装置識別情報を選択するようにしてある
付記1又は2に記載の情報処理装置。
(付記4)
前記装置選択部は、複数の制御データの送信先となった通信装置の識別に用いられる装置識別情報を、通知すべき装置識別情報として選択するようにしてある付記1乃至3のいずれかに記載の情報処理装置。
(付記5)
複数の通信装置に係る装置識別情報を記録する装置識別情報記録部と、
該装置識別情報記録部に記録されている装置識別情報に基づくN桁(Nは自然数)の2進数にて示されるN次元の論理空間上の位置に基づいて、前記論理空間上での自装置からの距離を基準に各装置識別情報を分級して記録する級別記録部と、
該級別記録部に記録されている距離を基準とした複数の級のうちから、一の級を選択する級選択部と
を備え、
前記装置識別情報送信部は、前記級選択部が選択した級に含まれる装置識別情報に係る通信装置を経由する通信経路で、装置識別情報を送信するようにしてある
付記1乃至4のいずれかに記載の情報処理装置。
(付記6)
前記級選択部は、同じ級を所定回数以上連続して選択しないようにしてある付記5に記載の情報処理装置。
(付記7)
付記1乃至6のいずれかに記載の情報処理装置と、
提供された提供データの自装置における使用可否を制御する処理に用いられる制御データの送信を、前記情報処理装置に要求する通信装置と
を備え、
該通信装置は、
提供された提供データを記録する提供データ記録部と、
他の装置からの提供データの要求に対して、前記提供データ記録部に記録している提供データを送信する提供データ送信部と
を備える
通信システム。
(付記8)
付記1乃至付記6のいずれかに記載の情報処理装置と、
提供された提供データの自装置における使用可否を制御する処理に用いられる制御データの送信を、前記情報処理装置に要求する第1の通信装置と、
前記情報処理装置から送信された制御データの送信先を示す装置識別情報を記録する第2の通信装置と
を備え、
前記第1の通信装置は、
提供された提供データを記録する提供データ記録部と、
他の装置からの提供データの要求に対して、前記提供データ記録部に記録している提供データを送信する提供データ送信部と
を備え、
前記第2の通信装置は、
提供データを記録している通信装置を識別する装置識別情報の要求に対し、制御データの送信先として記録している装置識別情報を送信する送信部を備える
通信システム。
(付記9)
複数の通信装置が接続可能な通信網に接続する情報処理装置に、
通信装置へ提供される提供データの前記通信装置における使用可否を制御する処理に用いられる制御データの送信を要求する要求信号を受信させ、
前記受信した要求信号により要求される制御データを要求元の通信装置へ送信させ、
前記制御データの送信先である通信装置の識別に用いられる装置識別情報を、当該提供データに対応付けて記録させ、
前記制御データ送信先記録部に、前記提供データの全部又は一部に対応付けて記録されている装置識別情報の全部又は一部を選択させ、
前記選択された装置識別情報を、当該提供データを記録している通信装置の識別に用いられる装置識別情報として、P2Pネットワーク上の装置へ送信させる
制御方法。
(付記10)
通信装置へ提供される提供データの前記通信装置における使用可否を制御する処理に用いられる制御データの送信を要求する要求信号を受信する、制御データ要求信号受信部と、
前記受信した要求信号により要求される制御データを要求元の通信装置へ送信する、制御データ送信部と、
前記制御データの送信先である通信装置の識別に用いられる装置識別情報を、当該提供データに対応付けて記録する、制御データ送信先記録部と、
前記制御データ送信先記録部に、前記提供データの全部又は一部に対応付けて記録されている装置識別情報の全部又は一部を選択する装置選択部と、
前記選択された装置識別情報を、当該提供データを記録している通信装置の識別に用いられる装置識別情報として、P2Pネットワーク上の装置へ送信する、装置識別情報送信部と
としてコンピュータを実行させる制御プログラム。