(57)【特許請求の範囲】
【請求項１】
相互にネットワーク接続された複数のピア機器としての情報処理装置、および制御用サーバからなるデータ処理システムであり、
前記ピア機器は、
コンテンツ識別子に基づくコンテンツ検索可能なコンテンツデータベースを有し、
前記制御用サーバは、
前記ピア機器を利用するユーザの興味情報をジャンル毎の興味度を示すパラメータとして各ユーザの識別データに対応させて保持したユーザ情報データベースと、
ピア機器から受信するコンテンツ検索要求に応じて、該検索要求ピア機器に対応して登録されたユーザの興味情報を前記ユーザ情報データベースから取得し、取得した興味情報に近い興味情報を有するユーザを、前記ユーザ情報データベースから抽出するコンテンツ検索要求処理手段と、
前記コンテンツ検索要求処理手段において抽出したユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行する機器検索要求発行手段と、
コンテンツ検索要求実行ユーザがピア機器からコンテンツ取得を実行した場合、前記ユーザ情報データベースに格納されたコンテンツ検索要求実行ユーザの興味情報を、コンテンツ取得先のピア機器のユーザの興味情報に近づけるデータ更新処理を実行するユーザ興味管理手段と、
を有することを特徴とするデータ処理システム。
【請求項２】
相互にネットワーク接続され、コンテンツを格納した情報処理装置としての複数のピア機器と、制御用サーバからなるデータ処理システムにおいて、前記制御用サーバの実行するデータ処理方法であり、
コンテンツ検索要求をピア機器から受信する要求受信ステップと、
ピア機器を利用するユーザの興味情報をジャンル毎の興味度を示すパラメータとして各ユーザの識別データに対応させて保持したユーザ情報データベースの検索により、検索要求ピア機器に対応して登録されたユーザの興味情報を取得する検索ステップと、
前記検索ステップにおいて取得した興味情報に近い興味情報を有するユーザを、前記ユーザ情報データベースから抽出するユーザ抽出ステップと、
前記ユーザ抽出ステップにおいて抽出したユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行する問い合わせ実行ステップと、
コンテンツ検索要求実行ユーザがピア機器からコンテンツ取得を実行した場合、前記ユーザ情報データベースに格納されたコンテンツ検索要求実行ユーザの興味情報を、コンテンツ取得先のピア機器のユーザの興味情報に近づけるデータ更新処理を実行するユーザ興味管理ステップと、
を有することを特徴とするデータ処理方法。
【請求項３】
相互にネットワーク接続され、情報処理装置としての複数のピア機器と、制御用サーバからなるシステムを構成する制御用サーバとしての情報処理装置であり、
前記複数のピア機器を利用するユーザの興味情報をジャンル毎の興味度を示すパラメータとして各ユーザの識別データに対応させて保持したユーザ情報データベースと、
ピア機器から受信するコンテンツ検索要求に応じて、該検索要求ピア機器に対応して登録されたユーザの興味情報を前記ユーザ情報データベースから取得し、取得した興味情報に近い興味情報を有するユーザを、前記ユーザ情報データベースから抽出するコンテンツ検索要求処理手段と、
前記コンテンツ検索要求処理手段において抽出したユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行する機器検索要求発行手段と、
コンテンツ検索要求実行ユーザがピア機器からコンテンツ取得を実行した場合、前記ユーザ情報データベースに格納されたコンテンツ検索要求実行ユーザの興味情報を、コンテンツ取得先のピア機器のユーザの興味情報に近づけるデータ更新処理を実行するユーザ興味管理手段と、
を有することを特徴とする情報処理装置。
【請求項４】
前記ユーザ情報データベースは、
ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、
前記コンテンツ検索要求処理手段は、
検索要求ピア機器に対応して登録されたユーザの興味ベクトルと、前記ユーザ情報データベースに登録された他のユーザの興味ベクトルとの距離を算出し、算出された距離の小さい興味ベクトルを持つユーザを、検索要求ピア機器に対応して登録されたユーザの興味情報に近い興味情報を有するユーザとして抽出する処理を実行する構成であることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ユーザ情報データベースは、
ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、
前記コンテンツ検索要求処理手段は、
検索要求ピア機器に対応して登録されたユーザの興味ベクトルと、前記ユーザ情報データベースに登録された他のユーザの興味ベクトルとの距離を算出し、算出された距離の小さい順にシーケンシャルにユーザを抽出し、
前記機器検索要求発行手段は、
前記コンテンツ検索要求処理手段において抽出したシーケンシャルに基づいたユーザ順に各ユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行する構成であることを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記ユーザ情報データベースは、
ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、
前記コンテンツ検索要求処理手段は、
検索要求ピア機器に対応して登録されたユーザの興味ベクトルと、前記ユーザ情報データベースに登録された他のユーザの興味ベクトルとの距離を算出し、算出された距離の等しいユーザ間のベクトル長を算出し、算出されたベクトル長の大きい順にシーケンシャルにユーザを抽出し、
前記機器検索要求発行手段は、
前記コンテンツ検索要求処理手段において抽出したシーケンシャルに基づいたユーザ順に各ユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行する構成であることを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記ユーザ情報データベースは、
ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、
前記ユーザ興味管理手段は、
ピア機器からの検索要求に基づくコンテンツ検索処理実行に基づく検索要求ユーザの興味ベクトル更新処理を実行する構成であり、
前記興味ベクトル更新処理は、検索要求ユーザの興味ベクトルと、コンテンツ取得先のピア機器のユーザの興味ベクトルとの距離を小さくする処理として実行する構成であることを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記ユーザ情報データベースは、
ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、
前記ユーザ興味管理手段は、
ピア機器からの検索要求に基づくコンテンツ検索処理実行が所定時間発生しない場合に検索要求ユーザの興味ベクトル更新処理を実行する構成であり、
前記興味ベクトル更新処理は、検索要求ユーザの興味ベクトルと、該検索要求ユーザが初期登録時に前記ユーザ情報データベースに登録した初期興味ベクトルとの距離を小さくする処理として実行する構成であることを特徴とする請求項３に記載の情報処理装置。
【請求項９】
前記コンテンツ検索要求処理手段は、
検索要求ピア機器から受信するコンテンツ検索要求に含まれるユーザ識別子に基づいて、ユーザの興味情報を前記ユーザ情報データベースから取得し、取得した興味情報に近い興味情報を有するユーザを、前記ユーザ情報データベースから抽出する処理を実行するとともに、前記コンテンツ検索要求処理手段において発見されたコンテンツ保持ピア機器のアドレス情報を前記検索要求ピア機器に対して送信する処理を実行する構成であることを特徴とする請求項３に記載の情報処理装置。
【請求項１０】
前記ユーザ情報データベースは、
ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、
前記情報処理装置は、さらにユーザ情報登録要求処理手段を有し、
前記ユーザ情報登録要求処理手段は、
ピア機器からのユーザ登録情報を受信し、該ユーザ情報中に興味情報が含まれている場合は、該興味情報に基づく興味ベクトルを各ユーザの識別データに対応させて前記ユーザ情報データベースに登録し、
ピア機器からのユーザ登録情報中に嗜好情報が含まれている場合は、該嗜好情報に基づく嗜好ベクトルの興味ベクトルへの変換を実行し、変換した興味ベクトルを各ユーザの識別データに対応させて前記ユーザ情報データベースに登録する処理を実行する構成であることを特徴とする請求項３に記載の情報処理装置。
【請求項１１】
ネットワーク接続された情報処理装置としてのピア機器からのコンテンツ検索要求に対応する処理を実行させるコンピュータ・プログラムであり、
コンテンツ検索要求処理手段に、ピア機器を利用するユーザの興味情報をジャンル毎の興味度を示すパラメータとして各ユーザの識別データに対応させて保持したユーザ情報データベースの検索により、検索要求ピア機器に対応して登録されたユーザの興味情報を取得させる検索ステップと、
前記コンテンツ検索要求処理手段に、前記検索ステップにおいて取得した興味情報に近い興味情報を有するユーザを、前記ユーザ情報データベースから抽出させるユーザ抽出ステップと、
機器検索要求発行手段に、前記ユーザ抽出ステップにおいて抽出したユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行させる問い合わせ実行ステップと、
ユーザ興味管理手段に、コンテンツ検索要求実行ユーザがピア機器からコンテンツ取得を実行した場合、前記ユーザ情報データベースに格納されたコンテンツ検索要求実行ユーザの興味情報を、コンテンツ取得先のピア機器のユーザの興味情報に近づけるデータ更新処理を実行させるユーザ興味管理ステップと、
を有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理システム、データ処理方法、および情報処理装置、並びにコンピュータ・プログラムに関する。さらに詳細には、ピア・ツー・ピア・ネットワークにおけるデータ検索効率を向上させたデータ処理システム、データ処理方法、および情報処理装置、並びにコンピュータ・プログラムに関する。
【０００２】
【従来の技術】
近年、インターネット等の通信ネットワークを介した画像、音声データ、各種プログラム等のデータ転送が盛んに行われている。ネットワークを通じてやりとりされるコンテンツの種類は、テキスト・静止画などから、動画・音声などのマルチメディアコンテンツへと移行が進んでいる。それに従って、コンテンツの大容量化が著しく進んでいる。
【０００３】
ところで、近年、情報処理装置間の直接通信処理としてのピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワーク技術が開発されている。Ｐ２Ｐネットワークとは、集中的に処理を行なうサーバを設置するのではなく、各ネットワーククライアントが持つ資源としての情報処理装置、例えばＰＣ、携帯端末、ＰＤＡ、携帯電話、さらに、通信処理可能な機能を持つあるいは通信機器に接続された記憶手段としてのディスク装置、あるいはプリンタ等、様々な機器をお互いにネットワークを介して通信し、各ネットワーククライアントが持つ資源の共有を可能としたネットワークである。
【０００４】
ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワーク技術は、米ＩＢＭ社が提唱するＡＰＰＮ(Advanced Peer to Peer Networking)の中で用いられたのが最初とされている。このネットワークを使うことで、従来のようなクライアント-サーバ型ネットワークにおいてコンテンツ配信を行う場合に必要となる巨大な配信サーバを設置する必要がなくなり、各ネットワーククライアントが持つ資源に分散配置されたコンテンツを多くのユーザが利用可能となり、大容量のコンテンツの分散格納および、配信が可能となる。
【０００５】
ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークには、「ピュア（Pure）ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワーク」と「ハイブリッド（Hybrid）ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワーク」の２つのネットワーク形態がある。図１に、これら２つのネットワーク形態を説明する図を示す。図１（ａ）がピュア（Pure）ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークであり、図１（ｂ）が、ハイブリッド（Hybrid）ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークである。
【０００６】
ピュア（Pure）ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークとは、システムの各構成要素（ピア：Peer）は等しい機能・役割を持ち、対等なコミュニケーションを行うネットワーク形態である。それを用いた代表的なサービスとしては「Gnuterlla(http://gnutella.wego.com/)」が挙げられる。ハイブリッド（Hybrid）ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークとは、ピュア（Pure）ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークに加えて、システムの各構成要素（ピア：Peer）間の相互作用を円滑にするための制御用サーバを用いるネットワーク形態のことである。それを用いた代表的なサービスとしては「Napster（http://www.napster.com/）」が挙げられる。
【０００７】
しかしながら、従来のピア・ツー・ピア（Ｐ２Ｐ）ネットワークにおいて、任意のコンテンツの検索を行う場合に以下のような問題点があった。
【０００８】
１．ピュア（Pure）ピア・ツー・ピア（Ｐ２Ｐ）ネットワークでは、コンテンツやユーザを管理するデータベースが存在しないため、任意のコンテンツを検索しようとしたときトラフィック量が増大してしまい、検索が困難になってしまう可能性がある。
２．ハイブリッド（Hybrid）ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークでは、コンテンツとコンテンツを所持する機器であるシステムの各構成要素（ピア：Peer）の対応を管理するデータベースが必要となり、管理サーバの負荷が高くなってしまう。
【０００９】
【発明が解決しようとする課題】
本発明は、上述の問題点に鑑みてなされたものであり、本発明では、ユーザ情報を管理する制御用サーバとコンテンツを保持する情報処理装置としてのネットワーク構成要素であるピア（Peer）機器からなるシステムにおいて、ユーザの興味情報を利用することで、コンテンツにメタデータを付加することや制御用サーバにてコンテンツを管理することなく、任意のコンテンツの検索を効率的に実行することを可能として、ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークにおけるコンテンツ検索の利便性を高めることを可能としたデータ処理システム、データ処理方法、および情報処理装置、並びにコンピュータ・プログラムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の第１の側面は、
相互にネットワーク接続された複数のピア機器としての情報処理装置、および制御用サーバからなるデータ処理システムであり、
前記ピア機器は、
コンテンツ識別子に基づくコンテンツ検索可能なコンテンツデータベースを有し、
前記制御用サーバは、
前記ピア機器を利用するユーザの興味情報をジャンル毎の興味度を示すパラメータとして各ユーザの識別データに対応させて保持したユーザ情報データベースと、
ピア機器から受信するコンテンツ検索要求に応じて、該検索要求ピア機器に対応して登録されたユーザの興味情報を前記ユーザ情報データベースから取得し、取得した興味情報に近い興味情報を有するユーザを、前記ユーザ情報データベースから抽出するコンテンツ検索要求処理手段と、
前記コンテンツ検索要求処理手段において抽出したユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行する機器検索要求発行手段と、
コンテンツ検索要求実行ユーザがピア機器からコンテンツ取得を実行した場合、前記ユーザ情報データベースに格納されたコンテンツ検索要求実行ユーザの興味情報を、コンテンツ取得先のピア機器のユーザの興味情報に近づけるデータ更新処理を実行するユーザ興味管理手段と、
を有することを特徴とするデータ処理システムにある。
【００１８】
本発明の第２の側面は、
相互にネットワーク接続され、コンテンツを格納した情報処理装置としての複数のピア機器と、制御用サーバからなるデータ処理システムにおいて、前記制御用サーバの実行するデータ処理方法であり、
コンテンツ検索要求をピア機器から受信する要求受信ステップと、
ピア機器を利用するユーザの興味情報をジャンル毎の興味度を示すパラメータとして各ユーザの識別データに対応させて保持したユーザ情報データベースの検索により、検索要求ピア機器に対応して登録されたユーザの興味情報を取得する検索ステップと、
前記検索ステップにおいて取得した興味情報に近い興味情報を有するユーザを、前記ユーザ情報データベースから抽出するユーザ抽出ステップと、
前記ユーザ抽出ステップにおいて抽出したユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行する問い合わせ実行ステップと、
コンテンツ検索要求実行ユーザがピア機器からコンテンツ取得を実行した場合、前記ユーザ情報データベースに格納されたコンテンツ検索要求実行ユーザの興味情報を、コンテンツ取得先のピア機器のユーザの興味情報に近づけるデータ更新処理を実行するユーザ興味管理ステップと、
を有することを特徴とするデータ処理方法にある。
【００２６】
本発明の第３の側面は、
相互にネットワーク接続され、情報処理装置としての複数のピア機器と、制御用サーバからなるシステムを構成する制御用サーバとしての情報処理装置であり、
前記複数のピア機器を利用するユーザの興味情報をジャンル毎の興味度を示すパラメータとして各ユーザの識別データに対応させて保持したユーザ情報データベースと、
ピア機器から受信するコンテンツ検索要求に応じて、該検索要求ピア機器に対応して登録されたユーザの興味情報を前記ユーザ情報データベースから取得し、取得した興味情報に近い興味情報を有するユーザを、前記ユーザ情報データベースから抽出するコンテンツ検索要求処理手段と、
前記コンテンツ検索要求処理手段において抽出したユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行する機器検索要求発行手段と、
コンテンツ検索要求実行ユーザがピア機器からコンテンツ取得を実行した場合、前記ユーザ情報データベースに格納されたコンテンツ検索要求実行ユーザの興味情報を、コンテンツ取得先のピア機器のユーザの興味情報に近づけるデータ更新処理を実行するユーザ興味管理手段と、
を有することを特徴とする情報処理装置にある。
【００２７】
さらに、本発明の情報処理装置の一実施態様において、前記ユーザ情報データベースは、ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、前記コンテンツ検索要求処理手段は、検索要求ピア機器に対応して登録されたユーザの興味ベクトルと、前記ユーザ情報データベースに登録された他のユーザの興味ベクトルとの距離を算出し、算出された距離の小さい興味ベクトルを持つユーザを、検索要求ピア機器に対応して登録されたユーザの興味情報に近い興味情報を有するユーザとして抽出する処理を実行する構成であることを特徴とする。
【００２８】
さらに、本発明の情報処理装置の一実施態様において、前記ユーザ情報データベースは、ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、前記コンテンツ検索要求処理手段は、検索要求ピア機器に対応して登録されたユーザの興味ベクトルと、前記ユーザ情報データベースに登録された他のユーザの興味ベクトルとの距離を算出し、算出された距離の小さい順にシーケンシャルにユーザを抽出し、前記機器検索要求発行手段は、前記コンテンツ検索要求処理手段において抽出したシーケンシャルに基づいたユーザ順に各ユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行する構成であることを特徴とする。
【００２９】
さらに、本発明の情報処理装置の一実施態様において、前記ユーザ情報データベースは、ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、前記コンテンツ検索要求処理手段は、検索要求ピア機器に対応して登録されたユーザの興味ベクトルと、前記ユーザ情報データベースに登録された他のユーザの興味ベクトルとの距離を算出し、算出された距離の等しいユーザ間のベクトル長を算出し、算出されたベクトル長の大きい順にシーケンシャルにユーザを抽出し、
前記機器検索要求発行手段は、前記コンテンツ検索要求処理手段において抽出したシーケンシャルに基づいたユーザ順に各ユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行する構成であることを特徴とする。
【００３０】
さらに、本発明の情報処理装置の一実施態様において、前記ユーザ情報データベースは、ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、前記ユーザ興味管理手段は、ピア機器からの検索要求に基づくコンテンツ検索処理実行に基づく検索要求ユーザの興味ベクトル更新処理を実行する構成であり、前記興味ベクトル更新処理は、検索要求ユーザの興味ベクトルと、コンテンツ取得先のピア機器のユーザの興味ベクトルとの距離を小さくする処理として実行する構成であることを特徴とする。
【００３１】
さらに、本発明の情報処理装置の一実施態様において、前記ユーザ情報データベースは、ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、前記ユーザ興味管理手段は、ピア機器からの検索要求に基づくコンテンツ検索処理実行が所定時間発生しない場合に検索要求ユーザの興味ベクトル更新処理を実行する構成であり、前記興味ベクトル更新処理は、検索要求ユーザの興味ベクトルと、該検索要求ユーザが初期登録時に前記ユーザ情報データベースに登録した初期興味ベクトルとの距離を小さくする処理として実行する構成であることを特徴とする。
【００３２】
さらに、本発明の情報処理装置の一実施態様において、前記コンテンツ検索要求処理手段は、検索要求ピア機器から受信するコンテンツ検索要求に含まれるユーザ識別子に基づいて、ユーザの興味情報を前記ユーザ情報データベースから取得し、取得した興味情報に近い興味情報を有するユーザを、前記ユーザ情報データベースから抽出する処理を実行するとともに、前記コンテンツ検索要求処理手段において発見されたコンテンツ保持ピア機器のアドレス情報を前記検索要求ピア機器に対して送信する処理を実行する構成であることを特徴とする。
【００３３】
さらに、本発明の情報処理装置の一実施態様において、前記ユーザ情報データベースは、ユーザの興味情報をジャンル別のパラメータとした興味ベクトルを各ユーザの識別データに対応させて保持した構成を持ち、前記情報処理装置は、さらにユーザ情報登録要求処理手段を有し、前記ユーザ情報登録要求処理手段は、ピア機器からのユーザ登録情報を受信し、該ユーザ情報中に興味情報が含まれている場合は、該興味情報に基づく興味ベクトルを各ユーザの識別データに対応させて前記ユーザ情報データベースに登録し、ピア機器からのユーザ登録情報中に嗜好情報が含まれている場合は、該嗜好情報に基づく嗜好ベクトルの興味ベクトルへの変換を実行し、変換した興味ベクトルを各ユーザの識別データに対応させて前記ユーザ情報データベースに登録する処理を実行する構成であることを特徴とする。
【００３４】
本発明の第４の側面は、
ネットワーク接続された情報処理装置としてのピア機器からのコンテンツ検索要求に対応する処理を実行させるコンピュータ・プログラムであり、
コンテンツ検索要求処理手段に、ピア機器を利用するユーザの興味情報をジャンル毎の興味度を示すパラメータとして各ユーザの識別データに対応させて保持したユーザ情報データベースの検索により、検索要求ピア機器に対応して登録されたユーザの興味情報を取得させる検索ステップと、
前記コンテンツ検索要求処理手段に、前記検索ステップにおいて取得した興味情報に近い興味情報を有するユーザを、前記ユーザ情報データベースから抽出させるユーザ抽出ステップと、
機器検索要求発行手段に、前記ユーザ抽出ステップにおいて抽出したユーザに対応して設定されたピア機器に対してコンテンツ保持の問い合わせを実行させる問い合わせ実行ステップと、
ユーザ興味管理手段に、コンテンツ検索要求実行ユーザがピア機器からコンテンツ取得を実行した場合、前記ユーザ情報データベースに格納されたコンテンツ検索要求実行ユーザの興味情報を、コンテンツ取得先のピア機器のユーザの興味情報に近づけるデータ更新処理を実行させるユーザ興味管理ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００３５】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００３６】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【００３７】
【発明の実施の形態】
［システム及びデータ送受信概要］
まず、図２を参照して、本発明のシステム概要及びデータ処理の概要について説明する。
【００３８】
図２のデータ処理システムは、ピア（Peer）機器１２０と、制御用サーバ１１０から構成され、ピア（Peer）機器１２０と、制御用サーバ１１０はインターネット等の通信ネットワークを介したデータ通信が可能である。また、図２には１つのピア（Peer）機器１２０のみを示してあるが、ネットワークに接続された多数のピア（Peer）機器が存在する。
【００３９】
ピア（Peer）機器は、ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークを構成するネットワークに接続された情報処理装置であり、各ネットワーククライアントが持つ資源としての情報処理装置、例えばＰＣ、携帯端末、ＰＤＡ、携帯電話、さらに、通信処理可能な機能を持つあるいは通信機器に接続された記憶手段としてのディスク装置、あるいはプリンタ等様々な機器によって構成される。
【００４０】
ピア（Peer）機器１２０と、制御用サーバ１１０の構成について説明する。ピア（Peer）機器１２０は、ユーザインタフェース１２１、コンテンツデータベース１２２、機器検索要求処理部１２３とを有し、制御用サーバ１１０は、ユーザ情報登録要求処理部１１１、コンテンツ検索要求処理部１１２、ユーザ情報データベース１１３、ユーザ興味情報管理部１１４、機器検索要求発行部１１５とを有する。
【００４１】
ピア（Peer）機器１２０の各構成要素について説明する。ユーザインターフェース１２１は、制御用サーバ１１０へのユーザの興味の登録要求や、コンテンツの検索要求を発行するためのユーザインターフェースである。コンテンツデータベース１２２は、ピア（Peer）機器１２０が所持しているコンテンツ情報を保持するためのデータベースである。コンテンツ情報には、コンテンツに対応付けられたコンテンツ識別子を含む。
【００４２】
コンテンツ識別子は、例えば以下に示すようなグローバルユニークなＩＤが各コンテンツに対応付けて設定される。
［Contents ID：crid://broadcaster.co.jp;comedy/wibble］
上記のコンテンツＩＤは、TV-Anytime（http://www.tv-anytime.org/）で定義された、コンテンツ参照識別子（Contents Reference ID（CRID））と呼ばれるコンテンツＩＤのフォーマットを使った例であるが、他の団体などによって定義されたフォーマットをコンテンツＩＤとして使用することも可能である。
【００４３】
図３にコンテンツデータベースのデータ構成例を示す。図３のデータベースは、ピア（Peer）機器１２０の所有コンテンツに対するシーケンシャル番号としてのＩＤと、ＩＤに対応付けたグローバルユニークなコンテンツＩＤが格納された構成である。コンテンツデータベース１２２に格納されたコンテンツＩＤに基づいて、ピア（Peer）機器１２０の所有コンテンツが識別され、コンテンツの抽出が可能となる。
【００４４】
機器検索要求処理部１２３は、制御用サーバ１１０からの機器検索要求を処理するための処理モジュールである。ピア（Peer）機器１２０が制御用サーバ１１０からの機器検索要求を受信した場合、機器検索要求処理部１２３は、コンテンツデータベース１２２にアクセスし、ピア（Peer）機器１２０がコンテンツ所持の有無を判断し、制御用サーバ１１０に結果を返す処理を実行する。
【００４５】
次に、制御用サーバ１１０の構成について説明する。ユーザ情報登録要求処理部１１１は、ピア（Peer）機器１２０からのユーザ情報登録要求を処理し、ユーザ情報データベース１１３に登録を行う処理モジュールである。
【００４６】
コンテンツ検索要求処理部１１２は、ピア（Peer）機器１２０からのコンテンツ検索要求を処理する処理モジュールである。コンテンツ検索要求処理部１１２は、ピア（Peer）機器１２０からのコンテンツ検索要求に基づいて、ユーザ情報データベース１１３にアクセスし、検索要求を発行したユーザの興味から、コンテンツを所持している可能性のあるユーザまたはピア（Peer）機器の抽出処理を実行する。
【００４７】
ユーザ情報データベース１１３は、ネットワーク接続されたピア（Peer）機器を利用するユーザに関するユーザ情報を保持するためのデータベースである。ユーザ情報には、ユーザ識別情報としてのユーザＩＤ、ユーザが所持している機器のアドレス（ex. IP Address）、及びユーザ興味情報から構成される。ユーザ興味情報は、興味ジャンルと、興味ジャンルに対して定められたパラメータ値で表され、パラメータ値は、ユーザが現在持つ興味（興味ベクトル）とユーザがユーザ情報登録時に持つ興味（初期興味ベクトル）から構成される。
【００４８】
図４にユーザ情報データベースのデータ構成例を示す。図４に示すように、ユーザ情報データベースは、制御用サーバ１１０の管理するピア（Peer）機器の所有ユーザに対するシーケンシャル番号としてのＩＤと、そのユーザに対して設定された識別子としてのユーザＩＤと、ユーザの有するピア（Peer）機器のＩＰアドレスと、ユーザの興味情報が格納される。
【００４９】
ユーザ興味情報は、予め設定されたジャンルに区分され、各ジャンルにおける各ユーザの興味度をベクトル値で示している。図４の例では、興味ジャンルは、第１ジャンルとして［スポーツ］と、［ミュージック］に区分され、さらに第１ジャンルの下位の第２ジャンルとして、［スポーツ］に対しては、［テニス］、［ベースボール］の各ジャンルが設定され、また、［ミュージック］に対しては、［ジェーポップ（Ｊ−Ｐｏｐ）］の第２ジャンルが設定されている。ここに示すジャンルの区分は、一例であり、この例に限らず、様々な区分が可能である。
【００５０】
興味ベクトルと、初期興味ベクトルに格納された値は、各ユーザの持つ現在の興味度と、初期登録時の興味度を示すパラメータであり、最大１０〜最小０の範囲で設定される。すなわちユーザがそのジャンルに興味が無い場合は、値が空欄または０として設定され、非常に興味がある場合は１０を設定する。このように正規化することで、各ジャンルにおけるパラメータ値の重み付けの差をなくす。初期興味ベクトルは、ユーザの登録時に初期設定される値であり、基本的に更新されないが、興味ベクトルは、現在の興味度を示すものであり、ユーザの処理に応じて、あるいは時間経過に応じて更新される。これらの処理については、後段で説明する。
【００５１】
図４に示す例では、Ｕｓｅｒ  Ａは、ＩＰアドレス「１０．１．１．１」のピア機器を持ち、ユーザ登録時には、「Ｍｕｓｉｃ“Ｊ−ｐｏｐ”」に興味があったが、次第に「Ｓｐｏｒｔｓ“Ｔｅｎｎｉｓ”」にも興味を高めているということを示している。また、Ｕｓｅｒ  ＤはＩＰアドレス「１０．４．４．１」「１０．４．４．２」の２台のピア機器を所持していることを示している。このように、１人のユーザが複数の情報処理装置をピア機器として登録可能である。
【００５２】
次に、ユーザ情報データベースに登録される興味ベクトルについて説明する。ユーザ情報データベースに登録される各ジャンル、各ユーザは互いに独立関係にあるものとし、興味ジャンルを軸にとった空間を「興味空間」とする。従って、興味空間は、興味ジャンルがｎ個に区分されていた場合、ｎ次元空間として設定される。興味ベクトルは、各ジャンルの興味度によって決定するｎ次元ベクトルとなる。
【００５３】
例えば２つの興味ジャンルとして、ベースボール（Ｂａｓｅｂａｌｌ）、ジャパニーズ・ポップス（Ｊ−ｐｏｐ）を設定した場合のユーザＡ，Ｂ，Ｃの興味ベクトル例を図５に示す。ユーザＡ，Ｂ，Ｃの興味ベクトルは、図５に示すＡpref，Ｂpref，Ｃprefである。
【００５４】
図５に示す例では、ベクトル（Ｊ−ｐｏｐ，Ｂａｓｅｂａｌｌ）としたとき、ユーザＡの興味ベクトル：Ａpref＝（８，２）、ユーザＢの興味ベクトル：Ｂpref＝（７，４）、ユーザＣの興味ベクトル：Ｃpref＝（３，３）となる。興味ベクトルは、以下の（式１）に示すように定義される。
【００５５】
ｐ１：ジャンル１（例えばスポーツ−テニス）
ｐ２：ジャンル２（ベースボール）
ｐ３：音楽（Ｊ−ｐｏｐ）
以下、ｐ４，…ｐｎのジャンルを設定したとき、
【００５６】
【数１】
興味ベクトル：Ｘpref
＝［ｐ１，ｐ２，…ｐｉ，…ｐｎ］T
ただし、１≦ｉ≦ｎ……（式１）
【００５７】
先に説明した図４のユーザ情報データベース構成例におけるユーザＡ、ユーザＢ、ユーザＣの各興味ベクトルは、
ｐ１：ジャンル１（例えばスポーツ−テニス）
ｐ２：ジャンル２（ベースボール）
ｐ３：音楽（Ｊ−ｐｏｐ）
の３次元ベクトルとして設定され、それぞれ以下の式２として示される。
【００５８】
【数２】
0003997774.tif 000002
【００５９】
図２の制御用サーバ１１０のその他の構成について説明する。ユーザ興味情報管理部１１４は、時間経過などによって変化するユーザの興味を管理するモジュールである。時間経過に従って各ユーザの興味ベクトルを、初期興味ベクトルに近づけるといったことを行う。この処理の詳細については、後段で説明する。
【００６０】
機器検索要求発行部１１５は、ネットワーク接続されたピア（Peer）機器に対してコンテンツの保持の有無問い合わせ要求を発行するための処理モジュールである。
【００６１】
［データ処理の詳細］
次に、本発明のデータ処理システムにおけるデータ処理の詳細について説明する。本システムの処理シーケンスの概略を図６に示す。図６には、ネットワーク接続されたＡ、Ｂ、Ｃ３人のユーザの持つ情報処理装置をピア機器として、制御用サーバに対する処理、あるいは制御用サーバを介する処理を示している。
【００６２】
本発明のデータ処理システムにおけるデータ処理は、以下のフェーズから構成されるシーケンスによって行われる。
（１）ユーザ情報登録フェーズ
（２）コンテンツ検索要求発行フェーズ
（３）コンテンツ所持機器発見フェーズ
（４）コンテンツ所持機器通知フェーズ
（５）ユーザ興味管理フェーズ
以下、それぞれのフェーズの詳細を述べる。
【００６３】
（１）ユーザ情報登録フェーズ
ユーザ情報登録フェーズは、ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークを適用したデータ処理システムをユーザが利用するに当たって必要なユーザ情報を、各ピア機器から制御用サーバに対して登録するフェーズである。
【００６４】
ここで各ピア機器から制御用サーバに対して登録するユーザ情報は、ユーザＩＤ、ユーザが所持している機器のアドレス（ex. IP Address）、及びユーザ興味情報から構成される。図７にユーザの登録情報例を示す。ユーザ興味情報は、先に説明したように、興味ジャンルと、興味ジャンルに対して定められた興味ベクトルを構成するパラメータ値で表される。初期登録時のパラメータ値は、初期興味ベクトルの構成値となる。
【００６５】
図７に示す例では、ユーザＡは、ユーザＩＤとして［Ｕｓｅｒ  Ａ］、所持ピア機器のＩＰアドレスとして［１０．１．１．１］、興味ジャンルのベクトル構成パラメータとして、スポーツ−テニスのジャンルに対応して［３］、スポーツ−ベースポールのジャンルに対応して［２］、ミュージック−Ｊ−ｐｏｐのジャンルに対応して［８］の各パラメータをユーザ情報として登録する。ユーザＡは、主に「Ｍｕｓｉｃ“Ｊ−ｐｏｐ”」に興味を持っているということを表している。
【００６６】
図６に示すユーザ情報登録フェーズにおいて、ユーザＡはステップＳ１において図７に示す各情報を制御用サーバに送信し、制御用サーバは受信した情報をユーザ情報データベース（図２の１１３）に登録する。ユーザＢ、ユーザＣも、図６に示すように、ステップＳ２、ステップＳ３においてそれぞれユーザ情報を登録する。これら情報の登録は、図２に示すピア機器１２０のユーザインタフェース１２１を通じたユーザ入力に基づいて実行され、制御用サーバ１１０上のユーザ情報登録要求処理部が各ピア機器からの情報を受信して、ユーザ情報データベース１１３に登録することでこのフェーズが終了する。登録時の各興味ジャンルに設定された値は、初期興味ベクトルを構成する。
【００６７】
（２）コンテンツ検索要求発行フェーズ
コンテンツ検索要求発行フェーズは、上述のユーザ情報登録フェーズにおいてユーザ登録を実行したユーザによるコンテンツ検索要求を制御用サーバに対して実行するフェーズである。なお、本発明のシステムは、ピア・ツー・ピア（Ｐ２Ｐ：Peer-to-Peer）ネットワークを適用したデータ処理システムであり、制御用サーバには、コンテンツの保管はされず、各ピア機器の格納データが検索対象となる。すなわち、コンテンツを保管したピア機器の抽出処理がコンテンツ検索の大きなステップであり、制御用サーバは、ユーザによるコンテンツ検索要求に基づいて、コンテンツを保管したピア機器の情報を提供するのみの処理を実行する。
【００６８】
ユーザが利用ピア機器を介して、任意のコンテンツ検索要求を制御用サーバに対して実行するフェーズが、コンテンツ検索要求発行フェーズである。図２に示すピア機器１２０のユーザインタフェース１２１を介してユーザ入力されたコンテンツ指定情報としてのキーと、ユーザＩＤからなるクエリとして発行される。コンテンツの検索のキーとなるのは、コンテンツ固有のＩＤである。
【００６９】
ピア機器から制御用サーバに対して発行されるコンテンツ検索要求クエリの格納データとしてのユーザＩＤ、およびコンテンツＩＤは、例えば以下に示すデータ構成である。
User ID    ：User_A
Contents ID：crid://broadcaster.co.jp;comedy/wibble
【００７０】
上述したクエリ構成データの例は、ユーザＩＤ（User A）を持つピア機器から、グローバルユニークなコンテンツ識別子としてのコンテンツ参照ＩＤ（Contents Reference ID（CRID））「crid://broadcaster. co.jp;comedy/wibble」で定義されたコンテンツの検索要求クエリであることを示している。
【００７１】
図６に示すシーケンス例では、ステップＳ４において、ユーザＡが制御用サーバに対してコンテンツ検索要求クエリを発行した例を示している。
【００７２】
（３）コンテンツ所持機器発見フェーズ
コンテンツ所持機器発見フェーズは、ピア機器からコンテンツ検索要求クエリを受信した制御用サーバ１１０がコンテンツ検索要求処理部１１２において、受信クエリに含まれるユーザＩＤに基づいて、ユーザ情報データベース１１３の検索を実行し、検索結果に基づいて、そのユーザＩＤを持つユーザの興味情報を興味ベクトルとして抽出し、抽出したユーザの興味ベクトルに近い興味ベクトルを持つ他の１以上の登録ユーザをコンテンツを保持している可能性が高いユーザとして抽出し、抽出した１以上のユーザの所有ピア機器に対するコンテンツ検索要求を、機器検索発行部１１５から出力する処理として実行する。
【００７３】
機器検索発行部１１５から出力するコンテンツ検索要求には、グローバルユニークなコンテンツ識別子としてのコンテンツ参照ＩＤが含まれる。機器検索発行部１１５から出力するピア機器に対するコンテンツ検索要求を受信したピア機器が対応コンテンツを所持していない場合は、要求コンテンツを所持していないことを示すメッセージデータを制御用サーバに否定応答メッセージとして返し、否定応答メッセージを受信した制御用サーバは、検索要求を発行したユーザの興味ベクトルに次に近い興味ベクトルを持つ他のユーザのピア機器に対して同様のコンテンツ検索要求を発行する。
【００７４】
制御用サーバは、コンテンツ検索要求の発行処理を、例えば、前述の（２）コンテンツ検索要求発行フェーズで検索要求を発行したユーザの興味ベクトルに近い興味ベクトルを持つユーザから順にシーケンシャルに実行する。あるいは、検索要求を発行したユーザの興味ベクトルに近い興味ベクトルを持つ予め定めた所定数の複数ユーザのピア機器に対して、マルチキャストでコンテンツ検索要求を発行する構成としてもよい。
【００７５】
制御用サーバ１１０のコンテンツ検索要求処理部１１２が実行する検索要求を発行したユーザの興味ベクトルに近い興味ベクトルを持つユーザの発見処理について、以下説明する。
【００７６】
ユーザ発見処理は、検索要求を発行したユーザの興味ベクトルと他の登録ユーザの興味ベクトルとの距離算出処理によって行なわれる。図８を参照してベクトル間距離の算出処理について説明する。図８には、興味ジャンルとして２つのジャンル、すなわちベースボール（Ｂａｓｅｂａｌｌ）とジャパニーズポップス（Ｊ−ｐｏｐ）を設定し、興味ベクトルを２次元ベクトルとして設定した例を示している。ここで、例えばＰｕAが、前述の（２）コンテンツ検索要求発行フェーズで検索要求を発行したユーザの興味ベクトルであり、ベクトル距離の算出対象としてのユーザＢの興味ベクトルをＰｕBとするとしたとき、ベクトルＰｕAとベクトルＰｕBとの距離を||ｅuAuB||と示すことにする。
【００７７】
興味ベクトル間の距離としての興味ベクトル距離の算出処理を一般化した式として示す。検索対象ユーザ数をｎ、検索ユーザのユーザＩＤをｕｉ（１≦ｉ≦ｎ）、ユーザＩＤ：ｕｉの興味ベクトルをＰｕｉとしたとき、検索要求ユーザｕｑ（ｉ≠ｑ）とｕｉの興味ベクトル距離||ｅuiuq||は、下式（式３）によって定義される。
【００７８】
【数３】
0003997774.tif 000003
【００７９】
なお、本発明のデータ処理システムにおいては、「コンテンツを保持している可能性が高い」ということと、「機器所有ユーザ同士の興味ベクトルの距離が近い」ことはほぼ等価なことであると定義する。これは、コンテンツを所持している可能性のある機器から検索することは、検索要求を発行したユーザと同じような興味を持つ人の機器から順に、コンテンツの検索することと等価であることを意味する。
【００８０】
ユーザｕqが検索しようとしているコンテンツについて、ユーザｕiが所持している可能性をＩｕiｕqとすると、コンテンツ所持可能性Ｉｕiｕqは、興味ベクトルＰｕiと興味ベクトルＰｕqとの距離||ｅuiuq||を用いて下式（式４）によって示すことができる。
【００８１】
【数４】
Ｉｕiｕq＝１／||ｅuiuq||
【００８２】
前述の（２）のコンテンツ検索要求発行フェーズで検索要求を発行したユーザの興味ベクトルに近い興味ベクトルを持つユーザから順に、制御用サーバからコンテンツ検索要求をシーケンシャルに実行する場合のコンテンツ検索要求発行順の決定例を図９を参照して説明する。
【００８３】
図９には、興味ジャンルとして２つのジャンル、すなわちベースボール（Ｂａｓｅｂａｌｌ）とジャパニーズポップス（Ｊ−ｐｏｐ）を設定し、興味ベクトルを２次元ベクトルとして設定した例を示している。ここで、例えばＰｕAが、前述の（２）コンテンツ検索要求発行フェーズで検索要求を発行したユーザの興味ベクトルであり、ベクトル距離の算出対象としてのユーザＢの興味ベクトルをＰｕBとし、同様にベクトル距離の算出対象としてのユーザＣの興味ベクトルをＰｕCとした場合、コンテンツ検索要求発行順の決定処理は、ベクトルＰｕAとベクトルＰｕBとの距離：||ｅuAuB||と、ベクトルＰｕAとベクトルＰｕCとの距離：||ｅuAuC||との距離の比較を行なって、より短い興味ベクトル距離を持つユーザをユーザＡにより近い興味ベクトルであると判定し、その興味ベクトルを持つユーザのピア機器からコンテンツ検索要求を発行することになる。
【００８４】
図９に示す例では、ベクトル（Ｊ−ｐｏｐ，Ｂａｓｅｂａｌｌ）としたとき、ユーザＡの興味ベクトル：ＰｕA＝（８，２）、ユーザＢの興味ベクトル：ＰｕB＝（７，４）、ユーザＣの興味ベクトル：ＰｕC＝（３，３）である。ユーザＡが検索しようとしているコンテンツについて、ユーザＢ、ユーザＣがそれぞれ所持している可能性をＩuBuA、ＩuCuAとし、ユーザＡの興味ベクトル：ＰｕAと、ユーザＢの興味ベクトル：ＰｕB間の距離であるＡＢ間興味ベクトル距離：ｅuAuB＝ＰｕB−ＰｕAとし、また、ユーザＡの興味ベクトル：ＰｕAと、ユーザＣの興味ベクトル：ＰｕC間の距離であるＡＣ間興味ベクトル距離：ｅuAuC＝ＰｕC−ＰｕAとする。
【００８５】
このとき、各ユーザの興味ベクトルＡpref＝（８，２）、Ｂpref＝（７，４）、Ｃpref＝（３，３）のパラメータに基づいて、
ＡＢ間興味ベクトル距離：||ｅuAuB||、
ＡＣ間興味ベクトル距離：||ｅuAuC||、および、
ユーザＢのコンテンツ所持可能性：ＩuBuA、
ユーザＣのコンテンツ所持可能性：ＩuCuA、
を算出する。算出式は、下式（式５〜８）に示される通りとなる。
【００８６】
【数５】
0003997774.tif 000004
【００８７】
上記（式７）、（式８）により、
ＩuBuA＞ＩuCuAとの結論が得られ、ユーザＢがユーザＣよりユーザＡの興味ベクトルに近い興味ベクトルを持つユーザであると判定される。この結果に基づいて、ユーザＡの要求コンテンツを所持している可能性が高いと判定し、制御用サーバからの検索要求発行シーケンスをユーザＢ、ユーザＣの順に実行する。
【００８８】
上記処理においては、シーケンス設定対象としてのユーザＢ、ユーザＣは、それぞれユーザＡの興味ベクトルとの距離が異なり、距離に基づくシーケンスの設定が可能であった。しかし、シーケンス設定対象としてのユーザＢ、ユーザＣが、それぞれユーザＡの興味ベクトルとの距離が等しくなる場合も発生する。以下、このような等距離となった興味ベクトル距離を持つユーザのシーケンス設定処理について図１０を参照して説明する。
【００８９】
図１０は、図９と同様、興味ジャンルとして２つのジャンル、すなわちベースボール（Ｂａｓｅｂａｌｌ）とジャパニーズポップス（Ｊ−ｐｏｐ）を設定し、興味ベクトルを２次元ベクトルとして設定した例を示している。ここで、例えばＰｕAが、前述の（２）コンテンツ検索要求発行フェーズで検索要求を発行したユーザの興味ベクトルであり、ベクトル距離の算出対象としてのユーザＢの興味ベクトルをＰｕBとし、同様にベクトル距離の算出対象としてのユーザＣの興味ベクトルをＰｕCとした場合、コンテンツ検索要求発行順の決定処理は、ベクトルＰｕAとベクトルＰｕBとの距離：||ｅuAuB||と、ベクトルＰｕAとベクトルＰｕCとの距離：||ｅuAuC||との距離の比較を行なうが、||ｅuAuB||＝||ｅuAuC||である。
【００９０】
このように検索要求ユーザの興味ベクトルとある複数のユーザの興味ベクトルが等距離にあるとき、等距離として抽出された複数のユーザ、図１０の例では、ユーザＢの興味ベクトルをＰｕBと、ユーザＣの興味ベクトルをＰｕCの各興味ベクトル中、原点（０，０）からの距離が大きい興味ベクトルから順にシーケンス設定処理を行なう。つまり興味の度合いが大きい人ほど検索するコンテンツを持っている可能性が高いと考え、興味の度合いが大きい、すなわち、原点（０，０）からの距離が大きい興味ベクトル、ベクトル長の大きいベクトルから優先的にシーケンス設定を行なう。
【００９１】
制御用サーバ１１０のコンテンツ検索要求処理部１１２が実行する検索要求を発行したユーザの興味ベクトルに近い興味ベクトルを持つユーザの抽出処理に際して実行する抽出ユーザに対する検索要求発行シーケンス設定のための算出処理としては、等距離として抽出された複数のユーザの興味ベクトルの大きさ（ベクトル長）を考慮した算出処理を実行することになる。ユーザ：Ｕｉの興味ベクトルの大きさ（ベクトル長）を||ＰUi||とする。
【００９２】
このとき、ユーザ：Ｕｑの検索要求コンテンツをユーザ：Ｕｉが所持しているコンテンツ所持可能性：ＩＰuiuqを興味ベクトルＰｕiと興味ベクトルＰｕqとの距離||ｅuiuq||を用いて下式（式９）によって示すことができる。
【００９３】
【数６】
ＩＰuiuq＝||ＰUi||／||ｅuiuq||
【００９４】
図１０に示す例では、ベクトル（Ｊ−ｐｏｐ，Ｂａｓｅｂａｌｌ）としたとき、ユーザＡの興味ベクトル：ＰｕA＝（３，５）、ユーザＢの興味ベクトル：ＰｕB＝（８，４）、ユーザＣの興味ベクトル：ＰｕC＝（２，２）である。ユーザＡが検索しようとしているコンテンツについて、ユーザＢ、ユーザＣがそれぞれ所持している可能性をＩＰuBuA、ＩＰuCuAとし、ユーザＡの興味ベクトル：ＰｕAと、ユーザＢの興味ベクトル：ＰｕB間の距離であるＡＢ間興味ベクトル距離：ｅuAuB＝ＰｕB−ＰｕAとし、また、ユーザＡの興味ベクトル：ＰｕAと、ユーザＣの興味ベクトル：ＰｕC間の距離であるＡＣ間興味ベクトル距離：ｅuAuC＝ＰｕC−ＰｕAとする。
【００９５】
このとき、各ユーザの興味ベクトルＡpref＝（３，５）、Ｂpref＝（８，４）、Ｃpref＝（２，２）のパラメータに基づいて、
ＡＢ間興味ベクトル距離：||ｅuAuB||、
ＡＣ間興味ベクトル距離：||ｅuAuC||、および、
ユーザＢの興味ベクトルＢprefの大きさ：||ＰuB||、
ユーザＣの興味ベクトルＣprefの大きさ：||ＰuC||、
ユーザＢのコンテンツ所持可能性：ＩＰuBuA、
ユーザＣのコンテンツ所持可能性：ＩＰuCuA、
を算出する。算出式は、下式（式１０〜１５）に示される通りとなる。
【００９６】
【数７】
0003997774.tif 000005
【００９７】
上記（式１４）、（式１５）により、
ＩＰuBuA＞ＩＰuCuAとの結論が得られ、ユーザＢとユーザＣの興味ベクトルとユーザＡの興味ベクトルとの距離は等しいが、ユーザＢがユーザＣより大きい興味ベクトルを持つユーザであると判定される。この結果に基づいて、ユーザＢがユーザＡの要求コンテンツを所持している可能性が高いと判定し、制御用サーバからの検索要求発行シーケンスをユーザＢ、ユーザＣの順に実行する。
【００９８】
上述のように、制御用サーバに対して検索要求を発行したユーザの興味ベクトルとの距離に基づいて、検索対象ピア機器のユーザを決定する際、検索要求を発行したユーザの興味ベクトルと等距離にある複数のユーザの興味ベクトルが抽出された場合は、より大きいベクトル長の興味ベクトルを持つユーザを優先して検索要求を発行する。
【００９９】
図６におけるシーケンス図におけるコンテンツ所持機器発見フェーズでは、上述のベクトル間距離の算出に基づいて検索要求発行対象ユーザ機器としてユーザＢ、ユーザＣのピア機器が選択され、ベクトル間距離、あるいはベクトル長に基づいて、検索要求発行シーケンスを、ユーザＢ、ユーザＣの順で実行した例を示している。
【０１００】
ステップＳ５では、ユーザＢのピア機器に対して、先のコンテンツ検索要求フェーズにおいて受信した検索要求クエリに含まれるグローバルユニークなコンテンツ識別子としてのコンテンツ参照ＩＤ、例えば［crid://broadcaster.co.jp;comedy/wibble］を含む検索要求をユーザＢのピア機器に対して送信する。
【０１０１】
制御用サーバから検索要求を受信したユーザＢのピア機器は、図２に示す自己のピア機器１２０内の機器検索要求処理部１２３において、受信したコンテンツＩＤに基づいて、コンテンツデータベース１２２を検索し、コンテンツデータベース内に検索対象コンテンツが格納されているか否かを判定する。コンテンツが格納されていない場合は、コンテンツが提供不可能であることを示す否定応答を制御用サーバに送信する。図６のステップＳ６がこの否定応答である。
【０１０２】
制御用サーバは、ユーザＢピア機器から否定応答を受信すると、次の検索要求ピア機器を選択する。この選択は、上述したベクトル間距離あるいはベクトル長に基づいて定められたシーケンスに従って実行される。図６の例では、次の検索要求ピア機器は、ユーザＣピア機器であり、ステップＳ７では、ユーザＣのピア機器に対して、先のコンテンツ検索要求フェーズにおいてユーザ機器Ａから受信した検索要求クエリに含まれるグローバルユニークなコンテンツ識別子としてのコンテンツＩＤを含む検索要求をユーザＢのピア機器に対して送信する。
【０１０３】
制御用サーバから検索要求を受信したユーザＣのピア機器は、図２に示す自己のピア機器１２０内の機器検索要求処理部１２３において、受信したコンテンツＩＤに基づいて、コンテンツデータベース１２２を検索し、コンテンツデータベース内に検索対象コンテンツが格納されているか否かを判定する。コンテンツが格納されている場合は、コンテンツが提供可能であることを示す肯定応答を制御用サーバに送信する。図６のステップＳ８がこの肯定応答である。
【０１０４】
（４）コンテンツ所持機器通知フェーズ
上述のコンテンツ所持機器発見フェーズにおいて、コンテンツ所持機器が発見されると、制御用サーバ１１０のコンテンツ検索要求処理部１１２は、発見したコンテンツ所持機器に関する情報を、先の（２）のコンテンツ検索要求フェーズで、制御用サーバに対してコンテンツ検索要求を発行したピア機器に対して通知する。この通知処理が、コンテンツ所持機器通知フェーズにおいて実行される。
【０１０５】
コンテンツ所持機器通知フェーズでは、先の（２）のコンテンツ検索要求フェーズで、制御用サーバに対してコンテンツ検索要求を発行したピア機器に対して、（３）のコンテンツ所持機器発見フェーズでコンテンツ提供が可能であるとの肯定応答を発行したピア機器のアドレス情報を送信する処理として実行される。
【０１０６】
図６に示すステップＳ９が、制御用サーバからのアドレス通知処理である。制御用サーバからアドレス通知を受信したユーザＡピア機器は、受信したアドレスを持つピア機器に対してコンテンツＩＤを含むコンテンツ要求を送信する。図６に示すステップＳ１０がこの処理に相当する。ユーザＡピア機器からコンテンツ要求を受信したユーザＣピア機器は、コンテンツＩＤに従って、コンテンツを自己のデータベースから抽出し、ユーザＡピア機器に対して送信する。図６に示すステップＳ１１がこの処理に相当する。
【０１０７】
図１１に上述したコンテンツ検索処理において制御用サーバの実行する処理を説明する処理フローを示す。図１２の概念図を参照しながら、図１１に示すフローの各ステップについて説明する。
【０１０８】
ステップＳ１０１では、ピア機器からのコンテンツ検索要求受信を判定する。コンテンツ検索要求を受信するとステップＳ１０２に進む。コンテンツ検索要求は、前述したように、ユーザＩＤおよびコンテンツ識別子としてのコンテンツＩＤが含まれる。図１２の概念図では、ユーザ２００の利用するピア機器２１１から制御用サーバ２５０に対してコンテンツ検索要求が発行されたものとする。
【０１０９】
ステップＳ１０２では、制御用サーバ２５０が、受信したコンテンツ検索要求に含まれるユーザＩＤに基づいて、ユーザ情報データベース（図２の１１３、および図４参照）を検索して、対応ユーザの興味情報データとしての興味ベクトルを構成するパラメータ値を抽出する。
【０１１０】
次に、ステップ１０３において、前述したベクトル間距離算出に基づいて、ユーザの興味ベクトルとの距離の短い興味ベクトルを有するユーザを抽出する。なお、この処理においては、コンテンツ所持問い合わせを実行するピア機器のシーケンスを、ベクトル間距離またはベクトル長に基づいて決定する処理も併せて実行する。
【０１１１】
図１２に示す例では、コンテンツ所持問い合わせを実行するピア機器のシーケンスは、図１２（ｂ）に示すように、ピア機器２１２、ピア機器２１５、ピア機器２１４、ピア機器２１３の順に設定されたものとする。この順番は、ユーザＡの興味ベクトルとの距離が小さい興味ベクトルを持つユーザのピア機器の順番に相当する。
【０１１２】
ステップＳ１０４において、ステップＳ１０３で決定したコンテンツ所持問い合わせを実行するピア機器シーケンスに従って、コンテンツの問い合わせとしての検索要求を制御用サーバからピア機器に対して送信する。この検索要求には、先に制御用サーバがピア機器から受信した検索要求に格納されたコンテンツＩＤが含まれる。
【０１１３】
ステップＳ１０５では、制御用サーバは、ピア機器からコンテンツの有無を識別可能な肯定応答あるいは否定応答を受信し、否定応答である場合は、先に決定したシーケンスに従って次のピア機器に対して問い合わせを実行する。
【０１１４】
コンテンツを所持しているピア機器が発見されると、ステップＳ１０６に進み、検索要求ユーザのピア機器に対して、ステップＳ１０５で発見したコンテンツ所持ピア機器のアドレスを通知する。
【０１１５】
図１２の概念図では、（ｂ）に示すように、コンテンツの所持問い合わせシーケンスは、ピア機器２１２、ピア機器２１５、ピア機器２１４、ピア機器２１３の順に設定され、第１番目の問い合わせ先であるピア機器２１２から、否定応答が制御用サーバ２５０に送信され、次の問い合わせ先であるピア機器２１５から、肯定応答が制御用サーバ２５０に送信された例を示している。この場合、制御用サーバ２５０は、ピア機器２１１に対して、ピア機器２１５のアドレスを通知し、アドレス通知を受信したピア機器２１１は、ピア機器２１５にコンテンツ要求を送信することで、ピア機器２１５のコンテンツを確実に取得することが可能となる。
【０１１６】
［興味ベクトルの更新処理］
上記実施例において、ピア・ツー・ピア・ネットワークにおけるデータ検索処理について説明してきた。上述の説明から理解されるように、本発明のシステムでは、ユーザの興味情報としての興味ベクトルに基づいて、検索対象ピア機器を選別する処理を実行するものである。すなわち、検索要求ユーザにより近い興味情報としての興味ベクトルを有するユーザが検索要求ユーザの要求コンテンツを保持している可能性が高いという考えの下にピア機器選択を実行する構成である。
【０１１７】
しかし、ユーザの興味は固定されたものではなく、時とともに変化することが考えられる。以下、このようなユーザの興味の変化を反映すべく制御用サーバのユーザ情報データベースに登録された興味ベクトル（パラメータ）を更新する処理について説明する。この更新処理は、図２に示す制御用サーバ１１０のユーザ興味管理部１１４が実行する。先に図４を参照して説明したが、ユーザ情報データベースには、興味ベクトルと、初期興味ベクトルが登録される。初期興味ベクトルは、ユーザ登録時に登録され基本的に更新されないが、興味ベクトルは更新対象データである。以下、この興味ベクトル更新処理について説明する。
【０１１８】
上述の実施例の説明から理解されるように、本発明のシステムでは、ユーザ間の興味ベクトルが近いこととコンテンツ所持している可能性が高いことをほぼ等価とみなしている。従って、検索要求ユーザが、制御用サーバにおいて実行される興味ベクトル比較処理に基づくピア機器抽出処理により、抽出したピア機器からコンテンツを取得した場合、検索要求ユーザと、コンテンツ取得先となったピア機器の所有ユーザは、確実に近い興味を持つユーザであると判定し、検索要求ユーザの興味ベクトルを発見先機器の所有者であるユーザの興味ベクトルに近づける興味ベクトル更新処理を実行する。
【０１１９】
この興味ベクトル更新処理により、同じコンテンツを所持したユーザＡＢの興味ベクトル間距離は小さくなる。この更新処理後に、例えば、いずれかのユーザ例えばユーザＡからコンテンツ検索要求が発生した場合、制御用サーバにおける興味ベクトル間距離算出に基づく問い合わせ発行先選定処理において、問い合わせ先としてユーザＢのピア機器を、更新前に比較して、より上位に設定することが可能となる。すなわち、問い合わせシーケンスにおいて、ユーザＢのピア機器に対する問い合わせが早期に実行されることになる。これは、つまり任意のコンテンツを所持するユーザの興味ベクトルと、興味空間の間に生じる「興味ベクトルと所持するコンテンツのジャンルのズレ」を減少させる処理である。この更新処理により、コンテンツ検索の効率の向上が期待できる。
【０１２０】
図１３を参照して興味ベクトル更新処理の具体例を説明する。図１３において、検索要求ユーザ：ｕｑの更新前の興味ベクトルをＰｕｑj-1とし、コンテンツ取得先ユーザ：ｄの興味ベクトルをＰｕｄとし、検索要求ユーザ：ｕｑの更新後の興味ベクトルをＰｕｑjとして示す。すなわち、検索要求ユーザ：ｕｑは、ｊ回目のコンテンツ検索要求処理において、ユーザ：ｕｄのピア機器からコンテンツ取得を行なった場合の検索要求ユーザ：ｕｑの興味ベクトル更新処理を示している。
【０１２１】
図１３から理解されるように、検索要求ユーザ：ｕｑの更新前の興味ベクトルをＰｕｑj-1は、コンテンツ取得先ユーザ：ｕｄの興味ベクトルをＰｕｄに対して、その距離を半分とするように更新され、更新後興味ベクトル：Ｐｕｑjが設定される。この例では、検索要求ユーザ：ｕｑの更新後の興味ベクトル：Ｐｕｑjとコンテンツ取得先ユーザ：ｕｄの興味ベクトル間距離を、更新前の検索要求ユーザ：ｕｑの興味ベクトル：Ｐｕｑj-1とコンテンツ取得先ユーザ：ｕｄの興味ベクトル間距離の１／２とする設定であるがこの興味ベクトル間距離の削減率は任意に設定可能である。
【０１２２】
興味ベクトルの更新処理を一般化した式として示す。興味ベクトル：Ｐｕｑj-1を有するユーザｕｑが検索要求処理回数：第ｊ番目のコンテンツをユーザｕｄ（興味ベクトルはＰｕｄ）から取得終了した際の、ユーザｕｑの更新された興味ベクトルＰｕｑｊは、下式（式１６）によって算出される。
【０１２３】
【数８】
Ｐｕｑj＝ｋ（ｐｕｄ−Ｐｕｑj-1）＋Ｐｕｑj-1……（式１６）
ただし、１≦ｊ，
０≦ｋ≦１
【０１２４】
上記式において、ｋは近似係数であり、０ならば、発見先機器のユーザに一切近づかず、検索ユーザの興味ベクトルのままとなり、１ならば発見先機器のユーザと同じになる。図１３に示す例は、ｋ＝１／２として設定した例である。
【０１２５】
ただし、上述した興味ベクトル更新処理手法の欠点として、検索要求ユーザの興味ベクトルをコンテンツ発見先ユーザの興味ベクトルに単純に近づける処理を行なうと、検索要求ユーザの興味ベクトルの他のパラメータ値に影響を与えるということがある。
【０１２６】
図１４を参照して説明する。例えば、図１４（ａ）において、検索要求ユーザ：ｕｑの更新前の興味ベクトルをＰｕｑj-1とし、コンテンツ取得先ユーザ：ｄの興味ベクトルをＰｕｄとし、検索要求ユーザ：ｕｑの更新後の興味ベクトルをＰｕｑjとして示す。すなわち、検索要求ユーザ：ｕｑは、ｊ回目のコンテンツ検索要求処理において、ユーザ：ｕｄのピア機器からコンテンツ取得を行なった場合の検索要求ユーザ：ｕｑの興味ベクトル更新処理を示している。
【０１２７】
図１４（ａ）から理解されるように、検索要求ユーザ：ｕｑの更新前の興味ベクトルをＰｕｑj-1は、コンテンツ取得先ユーザ：ｕｄの興味ベクトルをＰｕｄに対して、その距離を半分とするように更新され、更新後興味ベクトル：Ｐｕｑjが設定される。
【０１２８】
検索要求ユーザ：ｕｑは、コンテンツ取得先ユーザ：ｕｄから、ジャンルとしてベースボール（Ｂａｓｅｂａｌｌ）のコンテンツを検索したとする。コンテンツ取得先ユーザ：ｕｄは、ベースボール（Ｂａｓｅｂａｌｌ）に対する興味が高いユーザであるが、他のジャンルであるジェーポップ（Ｊ−ｐｏｐ）に対する興味は検索要求ユーザ：ｕｑに比較すると低い。すなわちコンテンツ取得先ユーザ：ｕｄの興味ベクトル（Ｊ−ｐｏｐ，Ｂａｓｅｂａｌｌ）は、（５，５）であり、検索要求ユーザ：ｕｑの更新前の興味ベクトル（Ｊ−ｐｏｐ，Ｂａｓｅｂａｌｌ）は、（７，２）である。
【０１２９】
この時、上述した検索要求ユーザ：ｕｑの興味ベクトル更新処理を実行すると、検索要求ユーザ：ｕｑの興味ベクトル（Ｊ−ｐｏｐ，Ｂａｓｅｂａｌｌ）は、（６，４）として設定され、検索ユーザ：ｕｑの興味ベクトルはジャンル：ジェーポップ（Ｊ−ｐｏｐ）に興味を失ったとみなされてしまう。一般的に、ある事象から、他の事象に興味が移ったとき、大きく元の事象の興味を失うことは考えられない。また、実際にはコンテンツを所持していることから、興味ベクトルを無意味な方向に向けることは、検索の効率の点で好ましくない。
【０１３０】
そこで、更新処理後のベクトルが更新前のベクトルに対して、いずれの要素でもパラメータ値を減少させないようにする。具体的には、検索ユーザの興味ベクトルと発見先ユーザの興味ベクトルの各要素を比べて、更新後減少方向に進む要素に関しては、元の検索ユーザのベクトルの要素値を用いる。すなわち、図１４（ｂ）に示す処理となる。
【０１３１】
図１４に示す例では、コンテンツ取得先ユーザ：ｕｄの興味ベクトル（Ｊ−ｐｏｐ，Ｂａｓｅｂａｌｌ）は、（５，５）であり、更新前の検索要求ユーザ：ｕｑの興味ベクトル（Ｊ−ｐｏｐ，Ｂａｓｅｂａｌｌ）は、（７，２）である。この時、検索要求ユーザ：ｕｑの興味ベクトルの更新処理により、検索要求ユーザ：ｕｑの興味ベクトル（Ｊ−ｐｏｐ，Ｂａｓｅｂａｌｌ）を、更新後減少方向に進む要素に関しては、元の検索ユーザのベクトルの要素値を用い、（７，４）として設定する。こうすることで、検索ユーザ：ｕｑの興味ベクトルはジャンル：ジェーポップ（Ｊ−ｐｏｐ）における興味は変更されず維持される。
【０１３２】
図１４に示すように、更新後減少方向に進む要素に関しては、元の検索ユーザのベクトルの要素値を用いた興味ベクトルの更新処理を一般化して説明する。興味ジャンル数をｍとし、各ユーザの興味ベクトルがｍ次元ベクトルとして設定されるとする。すなわち、ユーザｕｑが検索要求処理回数：第ｊ番目のコンテンツを取得した場合のユーザｕｑの更新された興味ベクトルＰｕｑｊは、下式（式１７）に示すｍ次元ベクトルとなる。
【０１３３】
【数９】
興味ベクトル：Ｐｕqj
＝［ｐq1j，ｐqlj，…ｐqmj］T
ただし、１≦ｌ≦ｎ……（式１７）
【０１３４】
また、興味ベクトル：Ｐｕｑj-1を有するユーザｕｑが検索要求処理回数：第ｊ番目のコンテンツを他ユーザｕｄ（興味ベクトルはＰｕｄ）から取得終了した際の、ユーザｕｑの更新された興味ベクトルＰｕｑｊは、下式（式１８）によって算出される。
【０１３５】
【数１０】
0003997774.tif 000006
【０１３６】
上記式において、ｋは近似係数であり、０ならば、発見先機器のユーザに一切近づかず、検索ユーザの興味ベクトルのままとなり、１ならば発見先機器のユーザと同じになる。図１４（ｂ）に示す例は、ｋ＝１／２として設定した例である。
【０１３７】
ユーザがあるジャンルに興味を持ち続けることとは、このシステムにおいてはコンテンツの検索およひ取得を頻繁に続けていることを意味する。逆に、ユーザがコンテンツの検索および取得を行わなかった場合、ユーザは興味を失いつつあることを意味する。興味ベクトルによるコンテンツの検索およひ取得を頻繁に続けている場合には、上述の興味ベクトル更新処理によって、ユーザの興味に応じてベクトル更新がされる。しかし、コンテンツの検索および取得を、継続して長期間行わなかった場合、この更新された興味ベクトルの信頼性は低くなると考えられる。
【０１３８】
従って、ある一定時間経過毎に、現在のユーザの興味ベクトルから、ユーザが元来持つ興味を表す初期興味ベクトルに近づける処理を興味ベクトル更新処理として実行する。以下、時間経過に基づく興味ベクトル更新処理について説明する。
【０１３９】
図１５を参照して、時間経過に伴う興味ベクトル更新処理について説明する。図１５において、検索要求ユーザ：ｕｑの更新前の興味ベクトルをＰｕｑjとし、検索要求ユーザ：ｕｑの初期興味ベクトルをＰｕｑ0とし、検索要求ユーザ：ｕｑの時間：ｔ経過に伴う更新後の興味ベクトルをＰｕｑjtとして示す。すなわち、検索要求ユーザ：ｕｑが、ｊ回目のコンテンツ検索要求処理から、あらかじめ定められた閾値時間：ｔの間、検索要求を行なっていない場合の検索要求ユーザ：ｕｑの興味ベクトル更新処理を示している。
【０１４０】
図１５から理解されるように、検索要求ユーザ：ｕｑの更新前の興味ベクトルをＰｕｑjは、検索要求ユーザ：ｕｑの初期興味ベクトルをＰｕｑ0に対して、その距離を半分とするように更新され、更新後興味ベクトル：Ｐｕｑjtが設定される。この例では、検索要求ユーザ：ｕｑの更新後の興味ベクトル：Ｐｕｑjtと、検索要求ユーザ：ｕｑの初期興味ベクトル：Ｐｕｑ0との距離を、更新前の検索要求ユーザ：ｕｑの興味ベクトルをＰｕｑjと、検索要求ユーザ：ｕｑの初期興味ベクトル：Ｐｕｑ0との距離の１／２とする設定であるが、この興味ベクトル間距離の削減率は任意に設定可能である。なお、時間ｔは、最終の検索要求処理からの経過時間として、予め制御用サーバが設定した閾値時間である。
【０１４１】
時間経過に伴う興味ベクトルの更新処理を一般化した式として示す。興味ベクトル：Ｐｕｑjを有するユーザ：ｕｑが制御用サーバが設定した閾値時間：ｔ、検索要求処理を実行しなかった場合の更新された興味ベクトル：Ｐｕｑjtは、下式（式１９）によって示される。
【０１４２】
【数１１】
Ｐｕｑjt＝ｒ（ｐｕｑ0−Ｐｕｑj）＋Ｐｕｑj……（式１９）
ただし、１≦ｊ，
ｒ＝ｗｔ（０≦ｗ≦１）
【０１４３】
上記式において、ｒは近似係数、ｗは変化度を示す。すなわち、ｒ＝０、つまりｗ＝０ならば、更新処理によって初期興味ベクトルに一切近づかず、検索ユーザの興味ベクトルは不変となり、ｒ＝１ならば更新処理によって初期興味ベクトルに一致させる更新がなされる。図１５に示す例は、ｒ＝１／２として設定した例である。
【０１４４】
［嗜好空間におけるベクトル処理］
上述した実施例は、各ユーザの様々なジャンルに対する「興味ある・なし」の尺度を持つ興味空間を元に各ユーザの興味ベクトルを設定したシステム例であったが、各ユーザの様々なジャンルに対する嗜好、すなわち「好き・嫌い」の尺度でパラメータを設定した嗜好ベクトルを構成し、制御用サーバが各ユーザの嗜好ベクトルをユーザ情報データベースに登録し、各ユーザのピア機器からのコンテンツ検索要求に対して、ユーザ情報データベースに登録された嗜好ベクトル間距離を算出して、コンテンツ検索対象ピア機器を選定する構成が可能である。
【０１４５】
例えば、上述の興味ベクトルと同様に、ｎ次元のジャンルを設定し、各ジャンルについて、ユーザから「好き・嫌い」の尺度で各ジャンルに対するパラメータを設定し、設定したパラメータに基づいて嗜好ベクトル：Ｖ（ｖ１，ｖ２．．．ｖｎ）（但し、−１≦ｖｉ≦１、１≦ｉ≦ｎ）を生成し、上述の興味ベクトル間距離の算出処理と同様の処理を実行して嗜好ベクトル間距離を求めて、検索対象ピア機器を選定することができる。なお、嗜好ベクトルの各パラメータにおいて、−方向を「嫌い」、＋方向を「好き」であること定義する。
【０１４６】
また、制御用サーバが、ユーザから「好き・嫌い」の尺度で各ジャンルに対するパラメータを設定し、設定したパラメータに基づいて嗜好ベクトル：Ｖ（ｖ１，ｖ２．．．ｖｎ）（但し、−１≦ｖｉ≦１、１≦ｉ≦ｎ）を生成し、生成した嗜好ベクトル：Ｖ（ｖ１，ｖ２．．．ｖｎ）に基づいて興味ベクトル：Ｐ（ｐ１，ｐ２．．．ｐｎ）を生成する処理を実行することも可能である。
【０１４７】
上述したように嗜好ベクトメの各パラメータにおいて、−方向を「嫌い」、＋方向を「好き」であると定義した場合、「非常に好き・嫌い」は「非常に興味がある」と考えられることから、ｎ次元の興味ジャンルからなる興味ベクトルをＰ＝（ｐ１，ｐ２．．．ｐｎ）としたとき、以下に示す（式２０）による変換を行うことで嗜好ベクトル：Ｖ（ｖ１，ｖ２．．．ｖｎ）に基づく興味ベクトル：Ｐ（ｐ１，ｐ２．．．ｐｎ）を生成することができる。
【０１４８】
【数１２】
Ｐ＝［｜ｖ１｜，…｜ｖｉ｜，…｜ｖｎ｜］…（式２０）
【０１４９】
この変換は、制御用サーバ１１０のユーザ情報登録要求処理手段１１１がユーザ情報登録フェーズにおいて実行する。その際の制御用サーバの実行する処理を説明するフローチャートを図１６に示す。
【０１５０】
ステップＳ２０１では、制御用サーバが、ピア機器からユーザ情報受信判定を実行し、ユーザ情報を受信した場合にステップＳ２０２に進む。ステップＳ２０２では、ユーザ情報の中に興味情報を含むかを判定し、含む場合には、ステップＳ２０６に進み、受信した興味情報に基づいて先に図４を参照して説明したユーザ情報データベースに興味情報に基づく興味ベクトルの構成パラメータを格納し、登録する。
【０１５１】
ステップＳ２０２において、ユーザ情報の中に興味情報を含まないと判定した場合は、ステップＳ２０３に進み、受信したユーザ情報の中に、嗜好情報を含むかを判定し、含む場合には、ステップＳ２０４に進み、受信した嗜好情報に基づいて上述の（式２０）を用いて興味情報ベクトルへの変換処理を実行し、変換して生成した興味ベクトルに基づいて先に図４を参照して説明したユーザ情報データベースに興味ベクトルの構成パラメータを格納し、登録する。
【０１５２】
受信したユーザ情報に興味情報、嗜好情報の双方ともが含まれない場合は、ステップＳ２０５において、すべての興味情報を０と設定してユーザ情報データベースに登録する。この場合でも、そのユーザが何らかの検索処理を実行し、コンテンツ取得に成功した場合には、前述した興味ベクトル更新処理が実行され、データベースの興味ベクトルパラメータは更新されることになる。
【０１５３】
なお、本発明のシステムを、例えばコンテンツの提供を行なうサービスプロバイダが利用することにより、同様な興味情報を持ったユーザ群への特定コンテンツの推奨が可能となる。
【０１５４】
すなわち、本システムにおける制御用サーバの有するユーザ情報データベースの登録情報を利用することで、同じような興味情報を持つユーザを特定可能となり、興味空間の任意の範囲に同じような興味を持つユーザが集まることから、クラスター分析などの統計解析を用いてグルーピングを行い、その範囲に興味のありそうなコンテンツを推奨することで、効果的なリコメンドシステムが構築できる。
【０１５５】
また、制御用サーバにおいては、各ユーザの興味ベクトルの履歴を元に、検索ユーザの次の検索後の興味ベクトルを予測することが可能になる。ここで予測興味ベクトルの周辺の興味ベクトルを持つユーザが所持するコンテンツは、検索ユーザにとって興味のあるものであると考えられる。ここで、周辺ベクトルのユーザが所持するコンテンツを推奨することで効果的なリコメンドシステムを構築できる。
【０１５６】
［各機器の構成］
上述の実施例において説明したユーザの情報処理装置としてのピア機器、および制御用サーバの構成例について、図１７のシステム構成図を参照して説明する。各ユーザのピア機器は例えば通信処理機能を持つＰＣ等によって構成され、制御用サーバもまた、ＰＣと同様、ＣＰＵを有する通信処理可能なデータ処理装置であり、データベースとしての例えばハードディスク、ＤＶＤ等の記憶手段を有する構成によって実現可能である。
【０１５７】
図１７に、ピア機器、および制御用サーバの一構成例として、制御手段としてＣＰＵ(Central processing Unit)を備えたデータ処理装置例を示す。なお、図１７に示す構成例は１つの例であり、各機器は、ここに示すべての機能を必ずしも備えることが要求されるものではない。
【０１５８】
図１７に示す構成について説明する。ＣＰＵ(Central processing Unit)９０１は、各種実行プログラム、ＯＳ（Operating System）を実行するプロセッサである。ＲＯＭ（Read-Only-Memory）９０２は、ＣＰＵ９０１が実行するプログラム、あるいは演算パラメータとしての固定データを格納する。ＲＡＭ（Random Access Memory）９０３は、ＣＰＵ９０１の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。
【０１５９】
ＨＤＤ９０４はハードディスクの制御を実行し、ハードディスクに対する各種データ、プログラムの格納処理および読み出し処理を実行する。暗号処理手段９０５は、送信データの暗号処理、復号処理、認証処理等を実行する。制御用サーバとピア機器間ではユーザ情報の送受信の処理の際、ユーザの個人情報がネットワークによって送受信されるため、必要に応じて暗号処理が実行される。なお、ここでは、暗号処理手段を個別モジュールとした例を示したが、このような独立した暗号処理モジュールを設けず、例えば暗号処理プログラムをＲＯＭ９０２に格納し、ＣＰＵ９０１がＲＯＭ格納プログラムを読み出して実行するように構成してもよい。メモリ（セキュアモジュール）９０６は例えば耐タンパ構造を持つメモリとして構成され、暗号処理に必要な鍵データ、アクセス許可書の格納領域として使用可能である。なお、これらのデータは、他のメモリ領域、記憶媒体に格納することも可能である。
【０１６０】
バス９２１はＰＣＩ（Peripheral Component Internet/Interface）バス等により構成され、各モジュール、入出力インタフェース８２２を介した各入手力装置とのデータ転送を可能にしている。
【０１６１】
入力部９１１は、例えばキーボード、ポインティングデバイスを含む入力部である。キーボードやマウス等を介して入力部９１１が操作された場合、あるいは、通信部９１３からのデータを受信した場合などにＣＰＵ９０１に指令が入力され、ＲＯＭ(Read Only Memory)９０２に格納されているプログラムを実行する。出力部９１２は、例えばＣＲＴ、液晶ディスプレイ等であり、各種情報をテキストまたはイメージ等により表示する。
【０１６２】
通信部９１３は制御用サーバとピア機器間、あるいはピア機器相互間の通信、あるいは、その他のエンティテイ、例えばサービスプロバイダ、認証局等との通信処理を実行し、ＣＰＵ９０１の制御の下に、各記憶部から供給されたデータ、あるいはＣＰＵ９０１によって処理されたデータ、暗号化されたデータ等を送信したり、他エンティテイからのデータを受信する処理を実行する。
【０１６３】
ドライブ９１４は、フロッピーディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体９１５の記録再生を実行するドライブであり、各リムーバブル記録媒体９１５からのプログラムまたはデータ再生、リムーバブル記録媒体９１５に対するプログラムまたはデータ格納を実行する。
【０１６４】
各記憶媒体に記録されたプログラムまたはデータを読み出してＣＰＵ９０１において実行または処理を行なう場合は、読み出したプログラム、データは入出力インタフェース９２２、バス９２１を介して例えば接続されているＲＡＭ９０３に供給される。
【０１６５】
なお、明細書中において説明したシステムの各処理方法、およびシステム全体のデータ処理方法はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、又は各種のプログラムをインストールすることで各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、フロッピーディスクやＣＤ−ＲＯＭ等のプログラム読み取り可能な記録媒体にプログラムを格納して提供してもよいし、インターネットなどの通信網を介してプログラムをダウンロードしてもよい。
【０１６６】
具体的には、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフロッピーディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１６７】
また、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１６８】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【０１６９】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１７０】
【発明の効果】
以上、説明してきたように、本発明の構成によれば、ピア・ツー・ピア・ネットワークにおけるデータ検索を実行する構成において、制御用サーバが各ピア機器に対応するユーザの興味情報または嗜好情報に基づいて、様々なジャンルに対する感心を示すパラメータによって構成される興味ベクトルを設定し、検索要求ユーザの興味ベクトルに近い興味ベクトルを選択してコンテンツ有無の問い合わせ先として設定する構成としたので、制御用サーバにコンテンツ情報を保持する必要がなく、確度の高いコンテンツ検索処理が実行可能となる。
【０１７１】
また、本発明の構成によれば、ピア・ツー・ピア・ネットワークにおけるデータ検索を実行する構成において、コンテンツに対応するコンテンツ情報としてのメタ情報を管理する必要ことがなく、ユーザの興味情報のみに基づくピア・ツー・ピア・ネットワークにおけるデータ検索が可能となる。
【０１７２】
また、本発明の構成によれば、ピア・ツー・ピア・ネットワークにおけるデータ検索を実行する構成において、制御用サーバが各ピア機器に対応するユーザの興味情報または嗜好情報に基づいて、様々なジャンルに対する感心を示すパラメータによって構成される興味ベクトルを設定するとともに、設定した興味ベクトルを様々な条件の下に更新しデータベースに格納する構成としたので、ユーザの興味情報の正確度を維持させることが可能となり、確度の高いコンテンツ検索を実現することが可能となる。
【０１７３】
また、本発明の構成によれば、ピア・ツー・ピア・ネットワークにおけるデータ検索を実行する構成において、制御用サーバが各ピア機器に対応するユーザの興味情報または嗜好情報を取得し、検索要求ユーザの興味ベクトルに近い興味ベクトルを選択してコンテンツ有無の問い合わせ先として設定する構成としたのでより確度の高い問い合わせが可能となり、ネットワークトラフィックの緩和が達成される。
【図面の簡単な説明】
【図１】ピア・ツー・ピア・ネットワーク構成を示す図である。
【図２】本発明のデータ処理システムにおける制御用サーバおよびピア機器の構成を示すブロック図である。
【図３】本発明のデータ処理システムにおけるピア機器のコンテンツ情報データベースの格納データ例を示す図である。
【図４】本発明のデータ処理システムにおける制御用サーバのユーザ情報データベースの格納データ例を示す図である。
【図５】本発明のデータ処理システムにおける制御用サーバの管理するユーザの興味情報に基づく興味ベクトルを説明する図である。
【図６】本発明のデータ処理システムにおける処理シーケンスを説明する図である。
【図７】本発明のデータ処理システムにおける制御用サーバのユーザ情報登録データ例を示す図である。
【図８】本発明のデータ処理システムにおける制御用サーバの実行するユーザの興味ベクトル間距離算出処理を説明する図である。
【図９】本発明のデータ処理システムにおける制御用サーバの実行するユーザの興味ベクトル間距離算出処理を説明する図である。
【図１０】本発明のデータ処理システムにおける制御用サーバの実行するユーザの興味ベクトル間距離算出処理において等距離となる例を説明する図である。
【図１１】本発明のデータ処理システムにおける制御用サーバの実行する処理を説明するフロー図である。
【図１２】本発明のデータ処理システムにおける制御用サーバの実行するユーザの興味ベクトル間距離算出処理に基づくコンテンツ検索処理を説明する図である。
【図１３】本発明のデータ処理システムにおける制御用サーバの実行するユーザの興味ベクトル更新処理を説明する図である。
【図１４】本発明のデータ処理システムにおける制御用サーバの実行するユーザの興味ベクトル更新処理を説明する図である。
【図１５】本発明のデータ処理システムにおける制御用サーバの実行する時間経過に基づくユーザの興味ベクトル更新処理を説明する図である。
【図１６】本発明のデータ処理システムにおける制御用サーバの実行するユーザの興味情報登録処理を説明するフロー図である。
【図１７】本発明のデータ処理システムにおける制御用サーバおよびピア機器のシステム構成例を示す図である。
【符号の説明】
１１０  制御用サーバ
１１１  ユーザ情報登録要求処理部
１１２  コンテンツ検索要求処理部
１１３  ユーザ情報データベース
１１４  ユーザ興味管理部
１１５  機器検索要求発行部
１２０  ピア機器
１２１  ユーザインタフェース
１２２  コンテンツデータベース
１２３  機器検索要求処理部
２００  ユーザ
２１１〜２１６  ピア機器
２５０  制御用サーバ
９０１  ＣＰＵ
９０２  ＲＯＭ
９０３  ＲＡＭ
９０４  ＨＤＤ
９０５  暗号処理手段
９０６  メモリ
９１１  入力部
９１２  出力部
９１３  通信部
９１４  ドライブ
９１５  リムーバブル記憶媒体
９２１  バス
９２２  入出力インタフェース
【図１】
0003997774.tif 000007
【図２】
0003997774.tif 000008
【図３】
0003997774.tif 000009
【図４】
0003997774.tif 000010
【図５】
0003997774.tif 000011
【図６】
0003997774.tif 000012
【図７】
0003997774.tif 000013
【図８】
0003997774.tif 000014
【図９】
0003997774.tif 000015
【図１０】
0003997774.tif 000016
【図１１】
0003997774.tif 000017
【図１２】
0003997774.tif 000018
【図１３】
0003997774.tif 000019
【図１４】
0003997774.tif 000020
【図１５】
0003997774.tif 000021
【図１６】
0003997774.tif 000022
【図１７】
0003997774.tif 000023