(57)【要約】【課題】コンテンツの配信システムにおいてコンテンツを取得する可能性を高める。【解決手段】複数のファイルのそれぞれに記述されたコンテンツの特徴量を共通の演算処理により算出し、前記算出された特徴量のうち相互に対応する特徴量に共通のＩＤを設定し、前記複数のファイルとそれぞれに対応するＩＤとを対応付けてネットワークのノードに格納し、前記格納されたファイルを前記ノードから取得する場合に前記ネットワークにおいて当該ファイルのＩＤおよび当該ノードに関する情報を収集し、前記収集した情報を用いて前記ノードに対し前記ＩＤに対応するファイルを要求し、前記要求されたファイルを前記ノードから送信する。【選択図】図３０
2010033265.tif 000002
【特許請求の範囲】
【請求項１】
複数のファイルのそれぞれに記述されたコンテンツの特徴量を共通の演算処理により算出し、
前記算出された特徴量のうち相互に対応する特徴量に共通のＩＤを設定し、
前記複数のファイルとそれぞれに対応するＩＤとを対応付けてネットワークのノードに格納し、
前記格納されたファイルを前記ノードから取得する場合に前記ネットワークにおいて当該ファイルのＩＤおよび当該ノードに関する情報を収集し、
前記収集した情報を用いて前記ノードに対し前記ＩＤに対応するファイルを要求し、
前記要求されたファイルを前記ノードから送信することを特徴とするコンテンツ配信方法。
【請求項２】
前記共通のＩＤが設定されたファイルに対し共通の分割方法を決定し、
前記ノードに格納すべきファイルを該ファイルに決定された分割方法により複数のチャンクに分割して当該ノードに格納し、
前記格納された複数のチャンクを前記ノードから取得する場合に前記ネットワークにおいて当該チャンクのＩＤおよび分割位置および当該ノードに関する情報を収集し、
前記収集した情報を用いて前記ノードに対し前記ＩＤおよび分割位置に対応するチャンクを要求し、
前記要求されたチャンクを前記ノードから送信することを特徴とする請求項１記載のコンテンツ配信方法。
【請求項３】
前記算出された特徴量にＩＤを設定したとき、当該特徴量とＩＤとを対応付けて登録し、
前記共通の演算処理により新たに算出された特徴量と前記登録された特徴量とを比較し、両者が対応する場合は当該新たに算出された特徴量に対し前記登録されたＩＤと同一のＩＤを設定し、前記両者が対応しない場合は当該新たに算出された特徴量に対し新たなＩＤを設定することを特徴とする請求項１又は２記載のコンテンツ配信方法。
【請求項４】
前記ネットワークにおいて前記情報を収集するとき、当該情報を要求する旨を表すメッセージに前記ネットワークにおけるノード間の転送回数の上限が設定された検索要求信号を送信し、前記転送回数の上限に達するまで前記検索要求信号を前記ネットワークにて転送し、前記検索要求信号を受信し且つ前記情報を保持するノードから当該情報を応答し、前記応答を前記検索要求信号の転送経路に沿って逆に転送し、前記応答を受信した各ノードに当該応答を記録することを特徴とする請求項１乃至３のいずれか１項に記載のコンテンツ配信方法。
【請求項５】
配信サーバおよびＩＤサーバと、ネットワークに接続された複数のピアとを備え、
前記配信サーバは、複数のファイルのそれぞれに記述されたコンテンツの特徴量を共通の演算処理により算出し当該算出した特徴量を前記ＩＤサーバに通知する手段と、前記複数のファイルをそれぞれのＩＤと共に前記複数のピアへ送信する一次配信を実行する手段とを有し、
前記ＩＤサーバは、前記配信サーバから通知された特徴量のうち相互に対応する特徴量に共通のＩＤを設定する手段と、前記設定したＩＤを前記配信サーバに通知する手段とを有し、
前記各ピアは、前記一次配信により受信したファイルおよびＩＤを対応付けて記憶する手段と、他のピアにて記憶されたファイルを取得する場合に前記ネットワークにおいて当該ファイルのＩＤおよび当該他のピアに関する情報を収集する手段と、前記情報の収集に関連する他のピアからの要求を転送する手段と、前記収集した情報を用いて前記他のピアに対し前記ＩＤに対応するファイルを要求する手段と、自局で記憶した前記ファイルを他のピアから要求された場合に当該要求されたファイルを送信する手段とを有することを特徴とするシステム。
【請求項６】
前記ＩＤサーバは、前記共通のＩＤが設定されるファイルついて共通の分割方法を決定して当該分割方法を前記配信サーバに通知し、
前記配信サーバは、前記一次配信のファイルを該ファイルに決定された分割方法により複数のチャンクに分割して前記一次配信により送信し、
前記各ピアは、前記一次配信により受信したチャンクおよびＩＤを対応付けて記憶し、他のピアにて記憶されたチャンクを取得する場合に前記ネットワークにおいて当該チャンクの分割位置とＩＤと当該他のピアに関する情報とを収集し、前記収集した情報を用いて前記他のピアに対し前記ＩＤおよび分割位置に対応するチャンクを要求し、自局で記憶した前記チャンクを他のピアから要求された場合に当該要求されたチャンクを送信することを特徴とする請求項５記載のシステム。
【請求項７】
前記ＩＤサーバは、前記配信サーバからの特徴量にＩＤを設定したとき、当該特徴量とＩＤとを対応付けて登録し、前記配信サーバから新たに通知された特徴量と前記登録された特徴量とを比較し、両者が対応する場合は当該新たに通知された特徴量に対し前記登録されたＩＤと同一のＩＤを設定し、前記両者が対応しない場合は当該新たに通知された特徴量に対し新たなＩＤを設定することを特徴とする請求項５又は６記載のシステム。
【請求項８】
前記各ピアは、前記ネットワークにおいて前記情報を収集するとき、当該情報を要求する旨を表すメッセージに前記ネットワークにおけるピア間の転送回数の上限が設定された検索要求信号を送信し、他のピアから受信した前記検索要求信号の転送回数が前記上限に達していない場合は当該検索要求信号を他のピアに転送し、他のピアから受信した前記検索要求信号が示す前記情報を保持する場合は当該情報を応答し、他のピアから前記情報の応答を受信したとき当該応答を記録し且つ当該応答を前記検索要求信号の転送経路に沿って逆に転送することを特徴とする請求項５乃至７のいずれか１項に記載のシステム。
【請求項９】
複数のファイルのそれぞれに記述されたコンテンツの特徴量を共通の演算処理により算出し当該算出した特徴量をＩＤサーバに通知する手段と、
前記複数のファイルに関し前記ＩＤサーバから通知されたＩＤを当該ファイルと共にネットワーク上の複数のピアへ送信する一次配信を実行する手段とを備えることを特徴とする配信サーバ。
【請求項１０】
前記一次配信を実行する手段は、当該一次配信のファイルを該ファイルに決定された分割方法により複数のチャンクに分割して前記一次配信により送信することを特徴とする請求項９記載の配信サーバ。
【請求項１１】
複数のファイルのそれぞれに記述されたコンテンツの特徴量を他のサーバから通知された場合に相互に対応する特徴量に共通のＩＤを設定する手段と、
前記設定したＩＤを前記他のサーバに通知する手段とを備えることを特徴とするＩＤサーバ。
【請求項１２】
前記ＩＤを通知する手段は、当該ＩＤが設定されるファイルついて共通の分割方法を決定して当該分割方法を前記他のサーバに通知することを特徴とする請求項１１記載のＩＤサーバ。
【請求項１３】
前記ＩＤを設定する手段は、前記特徴量とＩＤとを対応付けて登録し、前記他のサーバから新たに通知された特徴量と前記登録された特徴量とを比較し、両者が対応する場合は当該新たに通知された特徴量に対し前記登録されたＩＤと同一のＩＤを設定し、前記両者が対応しない場合は当該新たに通知された特徴量に対し新たなＩＤを設定することを特徴とする請求項１１又は１２記載のＩＤサーバ。
【請求項１４】
サーバから受信したファイルおよびＩＤを対応付けて記憶する手段と、
自局のネットワークに接続された他のピアにて記憶されたファイルを取得する場合に前記ネットワークにおいて当該ファイルのＩＤおよび当該他のピアに関する情報を収集する手段と、
前記情報の収集に関連する他のピアからの要求を転送する手段と、
前記収集した情報を用いて前記他のピアに対し前記ＩＤに対応するファイルを要求する手段と、
自局で記憶した前記ファイルを他のピアから要求された場合に当該要求されたファイルを送信する手段とを備えることを特徴とするピア。
【請求項１５】
前記記憶する手段は、前記サーバからチャンクに分割されたファイルを受信した場合に当該ファイルのチャンクおよびＩＤを対応付けて記憶し、
前記情報を収集する手段は、他のピアにて記憶されたチャンクを取得する場合に前記ネットワークにおいて当該チャンクの分割位置とＩＤと当該他のピアに関する情報とを収集し、
前記ファイルを要求する手段は、前記収集した情報を用いて前記他のピアに対し前記ＩＤおよび分割位置に対応するチャンクを要求し、
前記要求されたファイルを送信する手段は、自局で記憶した前記チャンクを他のピアから要求された場合に当該要求されたチャンクを送信することを特徴とする請求項１４記載のピア。
【請求項１６】
前記情報を収集する手段は、前記情報を要求する旨を表すメッセージに前記ネットワークにおけるピア間の転送回数の上限が設定された検索要求信号を送信し、
前記他のピアからの要求を転送する手段は、他のピアから受信した前記検索要求信号の転送回数が前記上限に達していない場合は当該検索要求信号を他のピアに転送し、他のピアから受信した前記検索要求信号が示す前記情報を保持する場合は当該情報を応答し、他のピアから前記情報の応答を受信したとき当該応答を記録し且つ当該応答を前記検索要求信号の転送経路に沿って逆に転送することを特徴とする請求項１４又は１５記載のピア。
【請求項１７】
コンピュータを請求項９又は１０記載の配信サーバとして機能させることを特徴とするプログラム。
【請求項１８】
コンピュータを請求項１１乃至１３のいずれか１項に記載のＩＤサーバとして機能させることを特徴とするプログラム。
【請求項１９】
コンピュータを請求項１４乃至１６のいずれか１項に記載のピアとして機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを介して映像や音楽などのコンテンツを配信する技術に関する。
【背景技術】
【０００２】
コンテンツとは、電子ファイルに格納される映像や音楽などのデータを指す。そのコンテンツの配信形態として、例えば、クライアント／サーバ型およびピア・ツー・ピア（以降、「Ｐ２Ｐ」と表記する。）がある。クライアント／サーバ型は、コンテンツを配信するサーバに対してクライアントからコンテンツを要求し、そのコンテンツが格納されたファイルをサーバからクライアントへ配信するという形態である。
【０００３】
これに対し、Ｐ２Ｐは、ネットワークに接続されたピアと呼ばれる各ノード装置が、上記のクライアント及びサーバの双方の役割を果たすという形態である。Ｐ２Ｐを利用したコンテンツ配信システムでは、コンテンツを要求するピアと、そのコンテンツのファイルを持つピアとが直接的にファイルの送受信を行う。
【０００４】
Ｐ２Ｐによる配信システムにおいてコンテンツをダウンロードする際、そのコンテンツのファイル名やタイトルなどが記述されたメタデータあるいはファイルの識別子を用いて対象のファイルを特定し、対象のファイルを持つピアからそれをダウンロードする。
【０００５】
コンテンツに関する技術として、例えば、後述の特許文献１に記載のものがある。同文献には、取得したメディア・コンテンツと、コンテンツに関しユーザから指定された識別子とが対応するかどうかを判別するための技術が記載されている。
【特許文献１】特開２００８−０３３９４３号公報
【特許文献２】特表２００５−５２４１０８号公報
【非特許文献１】Jaap Haitsma, Ton Kalker、“A Highly Robust Audio Fingerprinting System”、ISMIR 2002 3rdInternational Conference on Music Information  Retrieval
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、コンテンツファイルのメタデータや識別子を設定するのは、そのファイルを持つピアの管理者などである。よって、同じコンテンツを持つ複数のピアがある場合、そのコンテンツに関し複数のファイル識別子が存在し得る。また、動画や音声等のコンテンツを作成する際のフォーマットやコーデックには、複数の種類がある。よって、この場合も、１つのコンテンツに関し複数の識別子が生成される可能性がある。
【０００７】
上記特許文献１に記載の技術によれば、ユーザが指定した識別子と取得したコンテンツとの類似性が検証されるが、そのためには、いったんコンテンツをダウンロードする必要がある。しかしながら、同じコンテンツに対し複数の識別子が存在する場合、ダウンロードの際に何れの識別子を指定すべきか、ユーザには判断しにくい。
【０００８】
また、ネットワーク上で、ある識別子を指定してコンテンツを探索しても、そのコンテンツを持つピアが見つからない場合がある。この場合、ユーザは、コンテンツを入手できないと判断するが、実際には、そのコンテンツが別の識別子で管理されていることがある。この場合、ユーザは、所望のコンテンツを取得する機会を失うことになる。
【０００９】
上記の問題について一例を挙げる。いま、映像コンテンツＣについて、配信者Ａが「フォーマットＸ、タイトルｘ、ファイル識別子ｘｘ」のファイルを配信し、別の配信者Ｂは「フォーマットＹ、タイトルｙ、ファイル識別子ｙｙ」を配信するというシステムがあるとする。「タイトルｘ」はコンテンツＣの日本語タイトルであり、「タイトルｙ」はコンテンツＣの英語タイトルである。
【００１０】
ここで、フォーマットにかかわらずコンテンツＣを視聴したい要求者がいるとする。この要求者は、コンテンツＣに関しては、日本語の「タイトルｘ」のみ把握している。要求者は、システム上で「タイトルｘ」を指定して検索したところ、その結果として「ファイル識別子ｘｘ」を得た。このとき、コンテンツＣを「ファイル識別子ｘｘ」により管理する配信者Ａのピアにアクセスできない場合、要求者はコンテンツＣをダウンロードすることができない。
【００１１】
一方で、同じシステム上には、コンテンツＣを「タイトルｙ」や「ファイル識別子ｙｙ」により管理する配信者Ｂが存在する。しかしながら、「タイトルｘ」しか知らない要求者は、配信者Ａだけでなく配信者ＢもコンテンツＣを持っていることを知ることはできない。よって、上記の要求者は、コンテンツＣのダウンロード先が配信者Ａに限定される。
【００１２】
本発明の目的は、コンテンツの配信システムにおいてコンテンツを取得する可能性を高める技術を提供することにある。
【課題を解決するための手段】
【００１３】
本発明に係るコンテンツ配信方法は、複数のファイルのそれぞれに記述されたコンテンツの特徴量を共通の演算処理により算出し、前記算出された特徴量のうち相互に対応する特徴量に共通のＩＤを設定し、前記複数のファイルとそれぞれに対応するＩＤとを対応付けてネットワークのノードに格納し、前記格納されたファイルを前記ノードから取得する場合に前記ネットワークにおいて当該ファイルのＩＤおよび当該ノードに関する情報を収集し、前記収集した情報を用いて前記ノードに対し前記ファイルを要求し、前記要求されたファイルを前記ノードから送信するという方法である。
【００１４】
本発明に係るシステムは、配信サーバおよびＩＤサーバと、ネットワークに接続された複数のピアと備え、前記配信サーバは、複数のファイルのそれぞれに記述されたコンテンツの特徴量を共通の演算処理により算出し当該算出した特徴量を前記ＩＤサーバに通知する手段と、前記複数のファイルをそれぞれのＩＤと共に前記複数のピアへ送信する一次配信を実行する手段とを有し、前記ＩＤサーバは、前記配信サーバから通知された特徴量のうち相互に対応する特徴量に共通のＩＤを設定する手段と、前記設定したＩＤを前記配信サーバに通知する手段とを有し、前記各ピアは、前記一次配信により受信したファイルおよびＩＤを対応付けて記憶する手段と、他のピアにて記憶されたファイルを取得する場合に前記ネットワークにおいて当該ファイルのＩＤおよび当該他のピアに関する情報を収集する手段と、前記情報の収集に関連する他のピアからの要求を転送する手段と、前記収集した情報を用いて前記他のピアに対し前記ファイルを要求する手段と、自局で記憶した前記ファイルを他のピアから要求された場合に当該要求されたファイルを送信する手段とを有する。
【００１５】
本発明に係る配信サーバは、複数のファイルのそれぞれに記述されたコンテンツの特徴量を共通の演算処理により算出し当該算出した特徴量をＩＤサーバに通知する手段と、前記複数のファイルに関し前記ＩＤサーバから通知されたＩＤを当該ファイルと共にネットワーク上の複数のピアへ送信する一次配信を実行する手段とを備える。
【００１６】
本発明に係るＩＤサーバは、複数のファイルのそれぞれに記述されたコンテンツの特徴量を他のサーバから通知された場合に相互に対応する特徴量に共通のＩＤを設定する手段と、前記設定したＩＤを前記他のサーバに通知する手段とを備える。
【００１７】
本発明に係るピアは、サーバから受信したファイルおよびＩＤを対応付けて記憶する手段と、自局のネットワークに接続された他のピアにて記憶されたファイルを取得する場合に前記ネットワークにおいて当該ファイルのＩＤおよび当該他のピアに関する情報を収集する手段と、前記情報の収集に関連する他のピアからの要求を転送する手段と、前記収集した情報を用いて前記他のピアに対し前記ファイルを要求する手段と、自局で記憶した前記ファイルを他のピアから要求された場合に当該要求されたファイルを送信する手段とを備える。
【発明の効果】
【００１８】
本発明によれば、コンテンツの配信システムにおいてコンテンツを取得する可能性を高めることができる。
【発明を実施するための最良の形態】
【００１９】
［第１の実施形態］
図１に、本発明の第１の実施の形態のシステム構成を示す。システム100は、複数の配信サーバ1と、ＩＤ管理サーバ2と、複数のピア3とを備える。これらは、それぞれネットワーク9のノードである。
【００２０】
配信サーバ1は、ピア3へ配信するコンテンツファイルにメタデータと識別子を付加して配信を開始する。ＩＤ管理サーバ2は、コンテンツの識別子（以降、「ＩＤ」と表記する。）を管理する。ピア3は、別のピア3に対してファイルを要求し、別のピア3からの要求に対して自らが有するファイルを送信する。また、ピア3は、ピア間でファイルやピア情報を検索する。ネットワーク9は、配信サーバ1とＩＤ管理サーバ2とピア3との間の通信経路を提供する。
【００２１】
図２および図５を用いて配信サーバ1の構成を詳細に説明する。配信サーバ1は、ＣＰＵ11と、メモリ12と、バス13と、通信部14と、データ格納部15と、プログラム格納部16とを備える。ＣＰＵ11は、中央演算処理装置（Central Processing Unit）であり、プログラムを実行する。メモリ12は、プログラムが動作するための記憶空間を提供する記憶装置であり、例えばＤＲＡＭ（Dynamic Random Access Memory）である。バス13は、配信サーバ1の内部におけるデータ経路であり、ＣＰＵ11と、メモリ12と、通信部14と、データ格納部15と、プログラム格納部16を接続する。通信部14は、配信サーバ1内部とネットワーク9とのインタフェースである。
【００２２】
データ格納部15は、データを記憶するための記憶空間を有する記憶装置であり、例えばハードディスクドライブ（以降、「ＨＤＤ」と表記する。）である。データ格納部15は、保有ファイル管理領域153とファイル格納領域154と一次配信ピア管理領域156を有する。保有ファイル管理領域153は、保有するファイルを管理するための情報を記憶する領域である。ファイル格納領域154は、ファイルそのものを記憶する領域である。一次配信ピア管理領域156は、コンテンツを配信するピア3の情報を記憶する領域である。このように配信サーバ1から所定のピア3にコンテンツを配信する動作を一次配信と呼ぶ。
【００２３】
図５に、保有ファイル管理領域153のデータ構造を示す。保有ファイル管理領域153は、メタデータ列1531と、ＩＤ列1532と、ファイルポインタ列1533からなる表構造である。
【００２４】
メタデータ列1531には、ファイルの属性を記述したメタデータが格納される。メタデータには、例えば、表形式やＸＭＬ（Extensible Markup Language）などに応じて、属性とその値とを対応付けて記述する。属性としては、例えばファイル名や作成日時などがある。コンテンツが音楽の場合は、属性に楽曲名や演奏者名などを含んでも良く、コンテンツが映画の場合は、タイトルや出演者情報などを含んでも良い。
【００２５】
ＩＤ列1532には、ＩＤ管理サーバ2により決定される、コンテンツを識別するための情報であるＩＤが格納される。ファイルポインタ列1533には、ファイル格納領域154に格納されているファイルの１つを指すポインタであるファイルポインタが格納される。
【００２６】
プログラム格納部16は、プログラムを記憶するための記憶空間を有する記憶装置であり、例えばＨＤＤである。なお、プログラム格納部16と、前述のデータ格納部15とは、物理的には同じ記憶装置で、それぞれに異なる記憶空間を割当てたものであってもよい。プログラム領域16は、配信プログラム161を記憶する。配信プログラム161は、コンテンツの配信を開始する動作を記述したプログラムである。
【００２７】
図４３に、配信サーバ1における配信プログラム161の機能構成を模式的に示す。配信プログラム161と前述のデータ格納部15との間では、特徴量抽出部171が保有ファイル管理領域153及びファイル格納領域154にアクセスする。ＩＤ問合せ部172は、保有ファイル管理領域153及びファイル格納領域154にアクセスする。配信部173は、保有ファイル管理領域153，ファイル格納領域154，一次配信ピア管理領域156にアクセスする。これら各部の機能については、後に詳細に説明する。
【００２８】
図３及び図６を用いてＩＤ管理サーバ2の構成を詳細に説明する。ＩＤ管理サーバ2は、ＣＰＵ21と、メモリ22と、バス23と、通信部24と、データ格納部25と、プログラム格納部26を備える。
【００２９】
ＣＰＵ21は、プログラムを実行する中央演算処理装置である。メモリ22は、プログラムが動作するための記憶空間を提供する記憶装置であり、例えばＤＲＡＭである。バス23は、ＩＤ管理サーバ2の内部におけるデータ経路であり、ＣＰＵ21と、メモリ22と、通信部24と、データ格納部25と、プログラム格納部26を接続する。通信部24は、ＩＤ管理サーバ2内部とネットワーク9とのインタフェースである。データ格納部25は、データを記憶するための記憶空間を有する記憶装置であり、例えばＨＤＤである。データ格納部25は、特徴量管理情報領域255を有する。
【００３０】
図６に、特徴量管理情報領域255のデータ構造を示す。特徴量管理情報領域255は、特徴量列2551とＩＤ列2552からなる表構造を持つ。特徴量列2551には、コンテンツの特徴量が格納される。ＩＤ列2552にはＩＤが格納される。
【００３１】
コンテンツの特徴量とは、コンテンツファイルのフォーマットやコーデック等の形式に拠らず、そのコンテンツを一意に識別できる情報である。具体的には、例えば、音声や映像のコンテンツを識別する技術としてフィンガープリントが知られている。フィンガープリントについては、例えば、非特許文献１に記載されている。また、特許文献２には、音声データのフィンガープリントを抽出する方法について記述されている。あらかじめ電子透かしが埋め込まれているコンテンツを扱うシステムにおいては、コンテンツから抽出した電子透かし特徴量としても良い。また、フィンガープリントや電子透かしに、再生時間等を組み合わせたデータを特徴量としても良い。
【００３２】
プログラム格納部26は、プログラムを記憶するための記憶空間を有する記憶装置であり、例えばＨＤＤである。プログラム格納部26と、前述のデータ格納部25とは、物理的には同じ記憶装置で、それぞれに異なる記憶空間を割当てたものであってもよい。プログラム格納部26は、ＩＤ問合せ対応プログラム262を記憶する。ＩＤ問合せ対応プログラム262は、配信サーバ1からＩＤの問合せを受けた時の動作を記述したプログラムである。
【００３３】
図４４に、ＩＤ管理サーバ2におけるＩＤ問合せ対応プログラム262の機能構成を模式的に示す。ＩＤ問合せ対応プログラム262の特徴量検索部271，ＩＤ生成部272，ＩＤ問合せ処理部273は、前述のデータ格納部25の特徴量管理情報領域255にアクセスする。これら各部の機能については、後に詳細に説明する。
【００３４】
図４，図７，図８，図９を用いて、ピア3の構成を詳細に説明する。システム内のピア3は、他のピア3に関するピア情報を管理して、他のピア3とのリンクを設定することにより、ピア3間で論理的なネットワークを構成する。
【００３５】
ピア3は、ＣＰＵ31と、メモリ32と、バス33と、通信部34と、データ格納部35と、プログラム格納部36とを備える。ＣＰＵ31は、プログラムを実行する中央演算処理装置である。メモリ32は、プログラムが動作するための記憶空間を提供する記憶装置であり、例えばＤＲＡＭである。バス33は、ピア3の内部におけるデータ経路であり、ＣＰＵ31と、メモリ32と、通信部34と、データ格納部35と、プログラム格納部36を接続する。通信部34は、ピア3内部とネットワーク9とのインタフェースである。
【００３６】
データ格納部35は、データを記憶するための記憶空間を有する記憶装置であり、例えばＨＤＤである。データ格納部35は、ＩＤ管理領域351とピア情報管理領域352と保有ファイル管理領域353とファイル格納領域354と接続ピア管理領域355を有する。ＩＤ管理領域351は、メタデータとＩＤとの対応情報を記憶する領域である。ピア情報管理領域352は、ＩＤとピア情報との対応情報を記憶する領域である。保有ファイル管理領域353は、保有するファイルとメタデータとＩＤとの対応情報を記憶する領域である。ファイル格納領域354はファイルそのものを記憶する領域である。接続ピア管理領域355は、システム内の他のピア3のピア情報を管理する領域である。
【００３７】
図７に、ＩＤ管理領域351のデータ構造を示す。ＩＤ管理領域351は、メタデータ列3511とＩＤ列3512からなる表構造を持つ。メタデータ列3511には、メタデータが格納される。ＩＤ列3512にはＩＤが格納される。
【００３８】
図８に、ピア情報管理領域352のデータ構造を示す。ピア情報管理領域352は、ＩＤ列3521とピア情報列3522からなる表構造を持つ。ＩＤ列3521には、ＩＤが格納される。ピア情報列3522には、ピア情報が格納される。
【００３９】
図９に、保有ファイル管理領域353のデータ構造を示す。保有ファイル管理領域353は、メタデータ列3531とＩＤ列3532とファイルポインタ列3533からなる表構造を持つ。メタデータ3531列にはメタデータが格納される。ファイルポインタ列3533には、ファイル格納領域354に格納されているファイルの１つを指すポインタが格納される。
【００４０】
プログラム格納部36は、プログラムを記憶するための記憶空間を有する記憶装置であり、例えばＨＤＤである。プログラム格納部36と、前述のデータ格納部35とは、物理的には同じ記憶装置で、それぞれに異なる記憶空間を割当てたものであってもよい。プログラム領域36は、要求発行プログラム363および要求対応プログラム364を記憶する。要求発行プログラム364は、他のピア3に対して情報を要求するための動作を記述したプログラムである。要求対応プログラム364は、他のピア3から受けた要求に対する動作を記述したプログラムである。
【００４１】
図４５に、ピア3における要求発行プログラム363および要求対応プログラム364の機能構成を模式的に示す。要求発行プログラム363は、要求発行処理部371を備える。要求対応プログラム364は、ＩＤ検索要求処理部372，ピア情報検索処理部373，ファイル送信要求処理部374，ＩＤ検索要求応答処理部375，ピア情報検索要求応答処理部376，一次配信応答処理部377，通信処理部378を備える。これら各部は、データ格納部35のＩＤ管理領域351，ピア情報管理領域352，保有ファイル管理領域353，ファイル格納領域354，接続ピア管理領域355と図示のようにアクセスする。通信処理部378は、通信部34との間で授受する通信データに応じて、上記各部を動作させる。
【００４２】
図１０のフローチャートを参照して、配信サーバ1の動作について詳細に説明する。前提として、配信するコンテンツのファイルはファイル格納領域154に格納され、そのファイルに対応するメタデータとファイルポインタは保有ファイル管理領域153に格納されているものとする。また、一次配信ピア管理領域156には１つ以上のピア3のピア情報が格納されているものとする。
【００４３】
配信サーバ1は、コンテンツの配信を開始する時、配信プログラム161を実行する。配信プログラム161が起動されると、まず、特徴量抽出部171が、ファイルから特徴量を抽出する（ステップA1）。特徴量の抽出には、前述した非特許文献１など、任意の手法を用いることができるが、いずれのコンテンツに対しても共通の演算処理を適用する。
【００４４】
ＩＤ問合せ部172は、抽出された特徴量をＩＤ管理サーバ2へ送信することでＩＤ問合せ要求を行う（ステップA2）。その後、ＩＤ管理サーバ2からＩＤを通知されると（ステップA3）、ＩＤ問合せ部172は、そのＩＤを保有ファイル管理領域153のＩＤ列1532に格納する（ステップA4）。ＩＤが格納されると、配信部173が、今回配信するコンテンツのメタデータ，ＩＤ，ファイルポインタが指すファイルを、一次配信ピア管理領域156に登録されているピア3へ送信する（ステップA5）。このステップA5の処理が一次配信である。
【００４５】
図１１のフローチャートを参照して、ＩＤ管理サーバ2の動作について詳細に説明する。ＩＤ管理サーバ2は、配信サーバ1からのＩＤ問合せ要求（図１０のステップA2）を受信すると、ＩＤ問合せ対応プログラム262を実行する。
【００４６】
ＩＤ問合せ対応プログラム262のＩＤ問合せ処理部273は、配信サーバ1からＩＤ問合せ要求があったことを認識し、その旨を特徴量検索部271へ通知する。特徴量検索部271は、特徴量管理情報領域255の特徴量列2551から、配信サーバ1からの特徴量と対応する候補を検索する（ステップB1）。この検索では、完全な一致を条件とすることに限らず、条件に所定の許容範囲を設けるようにしてもよい。すなわち、特徴量管理情報領域255にある特徴量のうち、配信サーバ1からの特徴量と完全に一致するものに限らず、配信サーバ1からの特徴量と微差のものも候補に挙げるようにしてもよい。
【００４７】
上記検索の結果、配信サーバ1からの特徴量と対応する候補が無かった場合（ステップB2：no）、ＩＤ生成部272が、ＩＤ列2552に登録されていない新規のＩＤを生成し（ステップB3）、生成したＩＤと配信サーバ1からの特徴量とを特徴量管理情報領域255の同じ行に登録する（ステップB4）。
【００４８】
ＩＤ問合せ処理部273は、登録されたＩＤを配信サーバ1へ通知する（ステップB5）。また、配信サーバ1からの特徴量と対応する特徴量が検出された場合（ステップB2：yes）、ＩＤ問合せ処理部273は、検出された特徴量と同じ行に格納されているＩＤを配信サーバ1に通知する（ステップB5）。配信サーバ1に通知されたＩＤは、前述したように、配信サーバ1の保有ファイル管理領域153に登録される（図１０のステップA4）。
【００４９】
図１２〜図１９のフローチャートを参照して、ピア3の動作について詳細に説明する。前提として、システム内の各ピア3の接続ピア管理領域355には、１つ以上の別のピア3のピア情報が格納されているものとする。
【００５０】
図１２に沿って、あるピア3が別のピア3からコンテンツファイルを取得する際に実行される一連の動作を説明する。この処理は、要求発行プログラム363の要求発行処理部371（図４５）に対応するが、以下では便宜上、ピア3の動作として説明する。
【００５１】
ピア3は、他のピア3からコンテンツファイルを取得する時、要求発行プログラム363を実行する。要求発行プログラム363が起動すると、ピア3は、今回取得しようとするコンテンツのＩＤを知るために、接続ピア管理領域355に登録されているピア情報を用いて、他のピア3にＩＤ検索要求を送信する（ステップC1）。このＩＤ検索要求の信号には、要求するメタデータの検索条件と、ＴＴＬ（Time To Live）の値とが含まれる。
【００５２】
ＴＴＬとは、ネットワーク9におけるピア3間の転送回数の上限値である。ＴＴＬの設定により、ＩＤ検索要求がピア3間で無限に転送されることを防ぐことができる。ＴＴＬを大きな値にすると、検索が成功する可能性が高くなる一方でネットワーク9の輻輳を招くため、ＴＴＬには、ピア3の数やネットワーク9の帯域等に応じて適切な値を設定する。
【００５３】
ピア3は、ＩＤ検索要求に対する他のピア3からの応答を待ち（ステップC2）、その応答を受信すると、応答されたＩＤのコンテンツファイルを持つピア3に関する情報を知るために、接続ピア管理領域355に登録されている他のピア3に対し、ピア情報検索要求を送信する（ステップC3）。このピア情報検索要求には、対象のＩＤとＴＴＬ値が含まれる。このＴＴＬの値は、前述のＩＤ検索要求（ステップC1）と同じものでも、別の値でもよい。
【００５４】
ピア3は、ピア情報検索要求に対する他のピア3からの応答を待ち（ステップC4）、その応答を受信すると、応答されたピア情報のピアに対し、ファイル送信要求を送信する（ステップC5）。
【００５５】
ピア3は、ファイル送信要求に対し、対象ファイルの送信が不可である旨の応答を受信した場合（ステップC6：yes）、そのファイルを送信可能なピアを検索すべく、新たにピア情報検索要求を送信する（ステップC3）。なお、前述したピア情報検索要求に対し応答されたピア情報において、複数のピアが示されていた場合は、そのピア情報が示す別のピアにファイル送信要求を試行してもよい。
【００５６】
一方、ファイル送信要求を受けた他のピアが対象のファイルを送信できる場合は、そのファイルと共にメタデータおよびＩＤが、要求元のピア3に送信される。要求元のピア3は、ファイルを受信すると（ステップC7：yes）、そのファイルをファイル格納領域354に格納する（ステップC8）。
【００５７】
さらに、ピア3は、ＩＤ管理領域351の新たな行に、今回受信したメタデータ及びＩＤを格納することで、ＩＤ管理領域351の情報を更新する（ステップC9）。また、ピア情報管理領域352の新たな行に、受信したＩＤと、今回ファイルを送信した他のピア3のピア情報とを格納することで、ピア情報管理領域352の情報を更新する（ステップC10）。さらにまた、保有ファイル管理領域353の新たな行に、受信したメタデータ，ＩＤ，受信ファイルへのポインタを格納することで、保有ファイル管理領域353の情報を更新する（ステップC11）。これを以って、ピア3が他のピアからコンテンツを取得する際の一連の動作が完了する。
【００５８】
上記の一連の動作において、ピア3は、他のピア3との間で次のような処理を実行する。以下に説明する処理は、要求対応プログラム364に対応する。
【００５９】
図１３を参照して、要求対応プログラム364の通信処理部378（図４５）による制御について説明する。通信処理部378は、実行すべき通信内容を判断し（ステップD1）、それがＩＤ検索要求の場合は、ＩＤ検索要求処理（ステップD2）の実行をＩＤ検索要求処理部372に指示する。また、ピア情報検索要求の場合は、ピア情報検索要求処理（ステップD3）の実行をピア情報検索処理部373に指示する。ファイル送信要求の場合は、ファイル送信要求処理（ステップD4）の実行をファイル送信要求処理部374に指示する。ＩＤ検索要求に対する応答の場合は、ＩＤ検索要求応答処理（ステップD5）の実行をＩＤ検索要求応答処理部375に指示する。ピア情報検索要求に対する応答の場合は、ピア情報検索要求応答処理（ステップD6）の実行をピア情報検索要求応答処理部376に指示する。一次配信の場合は、一次配信応答処理（ステップD7）の実行を一次配信応答処理部377に指示する。
【００６０】
図１４を参照して、ＩＤ検索要求処理部372によるＩＤ検索要求処理（図１３のステップD2）の手順を説明する。ＩＤ検索要求処理部372は、要求元のピア3から直接受信したＩＤ検索要求に記述されているメタデータ条件、あるいは、要求元から他のピアを経て転送されてきたＩＤ検索要求のメタデータ条件を認識し、その条件を満たすメタデータをＩＤ管理領域351のメタデータ列3511から検索する（ステップE1）。このとき、登録されているメタデータの項目が複数有る場合は、受信した条件の項目のみについて検索すればよい。
【００６１】
上記検索の結果、条件を満たすメタデータが検出された場合（ステップE2）、ＩＤ検索要求処理部372は、検出したメタデータと、そのメタデータと同じ行のＩＤ列3512に格納されているＩＤとを返信する（ステップE3）。ここで、返信の宛先となるピア3は、転送経路の前ホップのピア、すなわち、本処理が行われているピア3対して上記のＩＤ検索要求を転送したピアである。ＩＤ検索要求の応答を前ホップへ返信することは、その応答を、ＩＤ検索要求の転送経路に沿って逆に転送することを指す。
【００６２】
ＩＤ検索要求処理部372は、上記ステップE3が完了したとき、あるいは、メタデータ条件を満たすメタデータがＩＤ管理領域351に無かった場合（ステップE2：no）、ＩＤ検索要求のＴＴＬ値を「１」減算する（ステップE4）。そして、減算後のＴＴＬ値が「０」より大きい場合は（ステップE5：yes）、接続ピア管理領域355に登録されている他のピア3にＩＤ検索要求を転送する（ステップE6）。また、減算後のＴＴＬ値が「0」である場合は（ステップE5：no）、転送回数が上限に達したことを意味するので、ＩＤ検索要求の更なる転送は行わない。
【００６３】
図１５を参照して、ピア情報検索処理部373によるピア情報検索要求処理（図１３のステップD3）の手順を説明する。ピア情報検索処理部373は、要求元のピア3から直接受信したピア情報検索要求、あるいは、要求元から他のピアを経て転送されてきたピア情報検索要求に記述されているＩＤを認識し、そのＩＤと対応するものをＩＤ列3521から検索する（ステップF1）。
【００６４】
上記検索の結果、該当のＩＤが有った場合（ステップF2：yes）、ピア情報検索処理部373は、該当のＩＤと、そのＩＤと同じ行のピア情報列3522に格納されているピア情報とを前ホップのピアに返信する（ステップF3）。
【００６５】
ピア情報検索処理部373は、上記ステップF3が完了したとき、あるいは、ＩＤ列3521に対象のＩＤが無かった場合（ステップF2：no）、ピア情報検索要求のＴＴＬ値を「１」減らす（ステップF4）。そして、減算後のＴＴＬ値が「０」より大きい場合は（ステップF5：yes）、接続ピア管理領域355に登録されている他のピア3にピア情報検索要求を転送する（ステップF6）。また、減算後のＴＴＬ値が「0」である場合は（ステップF5：no）、ピア情報検索要求の転送は行わない。
【００６６】
図１６を参照して、ファイル送信要求処理部374によるファイル送信要求処理（ステップD4）の手順を説明する。ファイル送信要求処理部374は、要求元のピア3から受信したファイル送信要求に記述されているＩＤと対応するものを保有ファイル管理領域353のＩＤ列3532から検索する（ステップG1）。
【００６７】
上記検索の結果、該当のＩＤが有った場合（ステップG2：yes）、ファイル送信要求処理部374は、該当のＩＤと、そのＩＤと同じ行のメタデータと、同じ行のファイルポインタ列3533が示すファイル格納領域354のファイルとを、要求元のピア3に送信する（ステップG3）。また、ファイル管理領域353に該当のＩＤが無かった場合（ステップG2：no）、ファイル送信要求処理部374は、ファイルの送信が不可である旨を要求元のピア3に応答する（ステップG4）。
【００６８】
図１７を参照して、ＩＤ検索要求応答処理部375によるＩＤ検索要求応答処理（図１３のステップD5）の手順を説明する。この処理は、本処理を実行するピア3が、ＩＤ検索要求に対し他のピア3から返信されてきたメタデータ及びＩＤ（図１４のステップE3）を受信した際に行う処理である。
【００６９】
ＩＤ検索要求応答処理部375は、他のピア3から返信されたメタデータとＩＤとをＩＤ管理領域351の新たな行に格納する（ステップH1）。また、ＩＤ検索要求応答処理部375は、そのメタデータ及びＩＤを前ホップのピア3に転送する（ステップH2）。
【００７０】
図１８を参照して、ピア情報検索要求応答処理部376によるピア情報検索要求応答処理（図１３のステップD6）の手順を説明する。この処理は、本処理を実行するピア3が、ピア情報検索要求に対し他のピア3から返信されてきたＩＤ及びピア情報（図１５のステップF3）を受信した際に行う処理である。
【００７１】
ピア情報検索要求応答処理部376は、他のピア3から返信されたＩＤとピア情報とをピア情報管理領域352の新たな行に格納する（ステップI1）。また、ピア情報検索要求応答処理部376は、そのＩＤおよびピア情報を前ホップのピア3へ転送する（ステップI2）。
【００７２】
図１９を参照して、一次配信応答処理部377による一次配信応答処理（図１３のステップD7）の手順を説明する。この処理は、本処理を実行するピア3が、配信サーバ1から前述の一次配信（図１０のステップA5）により送信されたコンテンツファイルを受信した際に行う処理である。
【００７３】
一次配信応答処理部377は、配信サーバ1から受信したファイルをファイル格納領域354に格納する（ステップJ1）。また、同時に受信したメタデータとＩＤとを保有ファイル管理領域353の新たな行に格納し、同じ行のファイルポインタ列3533には、ファイル格納領域354に格納したファイルの位置を示すポインタを格納する（ステップJ2）。さらに、一次配信応答処理部377は、受信したメタデータとＩＤとをＩＤ管理領域351の新たな行に格納し（ステップJ3）、ピア情報管理領域352の新たな行に、受信したＩＤと、自身のピア情報とを格納する（ステップJ4）。
【００７４】
本実施形態によれば、互いに対応した特徴量を持つコンテンツには共通のＩＤが設定され、そのように設定されたＩＤがコンテンツの検索条件に使用されることから、コンテンツ取得の可能性を高める事ができる。
【００７５】
（具体例）
本実施形態の動作について、より具体的な例を挙げて説明する。図２０に、本例のシステム100aを示す。以下の説明では、システム100aにおける複数の配信サーバのうちの２つの配信サーバ（1a,1b）と、ＩＤ管理サーバ2と、複数のピアのうちの６つのピア（3a〜3f）とについて述べる。
【００７６】
図２０〜図２４と、図３０のシーケンスを参照して、システム100aにおけるファイル配信の開始時の動作について説明する。図２１に示す状態（a）〜（c）は、各配信サーバ1a,1bにおける保有ファイル管理領域153a,153bの状態の遷移を表す。図２２は、各配信サーバ1a,1bにおけるファイル格納領域154a,154bの状態を表す。図２３は、各配信サーバ1a,1bにおける一次配信ピア管理領域156a,156bの状態を表す。図２４に示す状態（a）及び（b）は、ＩＤ管理サーバ2の特徴量管理情報領域255の状態の遷移を表す。
【００７７】
なお、上記の各図において「(NULL)」と表記した箇所は、データが格納されていない事を表すものとし、また、全列が「(NULL)」の行は、以降の行にデータが格納されていない事を表すものとする。また、「Adr()」は、ピア情報としてのネットワーク上のアドレスを表し、（）内の符号は各ピアの符号（3a〜3f）に対応する。例えば、「Adr(3e)」はピア3eのネットワーク上のアドレスである。図３０のシーケンスにおける［］内の記載は、その通信時に送信されるデータの内容を表す。これらの「(NULL)」，「Adr()」，シーケンス図の［］の表記形態は、以降の説明で使用する図でも同様である。
【００７８】
いま、各配信サーバ1a,1bに関し、保有ファイル管理領域153の状態が図２１の状態（a）であり、ファイル格納領域154の状態が図２２に示すものであり、一次配信ピア管理領域156の状態が図２３に示すものであるとする。ＩＤ管理サーバ2の特徴量管理情報領域255の状態は、図２４の状態（a）であるとする。また、図２２より、配信サーバ1aはファイルAを有し、配信サーバ1bはファイルBを有しているが、いずれのファイルも配信は開始されていないとする。
【００７９】
上記のファイルAおよびファイルBは、いずれも同一のコンテンツＸの動画ファイルであるが、図２１の状態（a）に示すように、「フォーマットａ」および「フォーマットｂ」という異なるフォーマットである。また、メタデータとして、ファイルAには「タイトル名＝ＹＹ」が設定され、ファイルBには「タイトル名＝ＺＺ」が設定されている。
【００８０】
かかる前提を想定し、まず、配信サーバ1aがファイルAの配信を開始する場合の動作について説明する。この動作は、配信サーバ1aに対し、ユーザーインタフェース（図示略）やネットワークを介した外部からの指示等により開始されるものとする。
【００８１】
配信サーバ1aによるファイルAの配信が開始する時、配信サーバ1aの配信プログラム161は、ファイルAの特徴量として「特徴量（Ｘ）」を抽出し、それを記述したＩＤ問合せ要求をＩＤ管理サーバ2に送信する（図３０：ステップK1）。なお、「特徴量（Ｘ）」とは、コンテンツＸから抽出された、フォーマットの形式に拠らない特徴量を表す。
【００８２】
配信サーバ1aからＩＤの問合わせを受けたＩＤ管理サーバ2は、ＩＤ問合せ対応プログラム262を起動し、配信サーバ1aからの「特徴量（Ｘ）」と対応するものを特徴量管理情報領域255から検索する。しかしながら、現時点の特徴量管理情報領域255の状態は図２４の状態（a）であるから、ここには「特徴量（Ｘ）」と対応するものは登録されていない。そこで、ＩＤ管理サーバ2は、新規にＩＤ「１０」を生成し、それを特徴量管理情報領域255に登録する。これにより、ＩＤ管理サーバ2の特徴量管理情報領域255の状態は、図２４の状態（a）から（b）に更新される。ＩＤ管理サーバ2は、上記の登録を終えると、登録したＩＤを配信サーバ1aに通知する（図３０：ステップK2）。
【００８３】
配信サーバ1aは、ＩＤ管理サーバ2からＩＤを受信すると、保有ファイル管理領域153aのファイルAに関する行のＩＤ列に、受信したＩＤ「１０」を格納する。この時点の配信サーバ1aの保有ファイル管理領域153aと配信サーバ1bの保有ファイル管理領域153bの状態は、図２１の状態（b）である。状態（b）では、配信サーバ1a側（153a）のＩＤ列が更新された一方で、配信サーバ1b側（153b）は状態（a）から変化はない。
【００８４】
次に、配信サーバ1aは、自装置の一次配信ピア管理領域156aに格納されているアドレス「Adr(3f)」（図２３）に宛てて、すなわちピア3fに宛てて、ファイルAの一次配信を行う（図３０：ステップK3）。この一次配信では、ファイルAと共に、図２１の状態（b）における保有ファイル管理領域153aのメタデータ列およびＩＤ列にある情報が配信される。
【００８５】
続いて、配信サーバ1bがファイルBの配信を開始したとする。配信サーバ1bの配信プログラム161は、ファイルBの特徴量を抽出し、それを記述したＩＤ問合せをＩＤ管理サーバ2に送信する（図３０のステップK4）。ここで、ファイルBは、前述した配信サーバ1aのファイルAと同様にコンテンツＸのファイルであるから、特徴量として「特徴量（Ｘ）」が得られる。
【００８６】
配信サーバ1bからＩＤの問合せを受けたＩＤ管理サーバ2は、ＩＤ問合せ対応プログラム262を起動し、配信サーバ1bからの「特徴量（Ｘ）」と対応するものを特徴量管理情報領域255から検索する。現時点の特徴量管理情報領域255の状態は、図２４の状態（b）、すなわち、既に「特徴量（Ｘ）」に関するレコードが登録されている。よって、ＩＤ管理サーバ2は、登録されているレコードのＩＤ列からＩＤ「１０」を読み出し、それを配信サーバ1bに通知する（図３０のステップK5）。
【００８７】
配信サーバ1bは、ＩＤ管理サーバ2からＩＤ通知を受信すると、保有ファイル管理領域153bのファイルBに関する行のＩＤ列に、受信したＩＤ「１０」を格納する。この時点の配信サーバ1a,1bの保有ファイル管理領域153a,153bの状態は、図２１の状態（c）である。状態（c）では、配信サーバ1b側（153b）のＩＤ列が状態（b）から更新されている。
【００８８】
次に、配信サーバ1bは、自装置の一次配信ピア管理領域156bに格納されているアドレス「Adr(3e)」（図２３）に宛てて、すなわちピア3eに宛てて、ファイルBの一次配信を行う（図３０：ステップK6）。この一次配信では、ファイルBと共に、図２１の状態（c）における保有ファイル管理領域153bのメタデータ列およびＩＤ列にある情報が配信される。
【００８９】
図２０及び図２５〜図２９と、図３１に示すシーケンスを用いて、具体例のシステム100aにおけるピア3間の動作を説明する。図２５に示す状態（a）〜（c）は、ピア3a〜3eにおけるＩＤ管理領域351a〜351eの状態の遷移を示す。図２６の状態（a）〜（c）は、ピア3a〜3eにおけるピア情報管理領域352a〜352eの状態の遷移を示す。図２７は、ピア3a〜3eにおける接続ピア管理領域355a〜355eの状態を示す。図２８の状態（a）〜（b）は、ピア3a,3e,3fにおける保有ファイル管理領域353a,353e,353fの状態の遷移を示す。図２９の状態（a）〜（b）は、ピア3a,3e,3fにおけるファイル格納領域354a,354e,354fの状態の遷移を示す。
【００９０】
いま、ピア3a〜3eに関し、ＩＤ管理領域351の状態が図２５の状態（a）であり、ピア情報管理領域352が図２６の状態（a）であり、接続ピア管理領域355の状態が図２７に示すものであるとする。また、ピア3a,3e,3fに関し、保有ファイル管理領域353の状態が図２８の状態（a）であり、ファイル格納領域354の状態が図２９の状態（a）であるとする。図２５より、ピア3cのＩＤ管理領域351cにファイルBに関するメタデータとＩＤが格納されており、図２６よりピア3dのピア情報管理領域352dにはＩＤ「１０」とピア3fのアドレスが格納されていることが分かる。また、図２９よりピア3eにはファイルBが格納されており、ピア3fにはファイルAが格納されていることが分かる。
【００９１】
かかる前提を想定し、ピア3aが、メタデータ条件「ファイルタイプ＝動画、タイトル名＝ＺＺ」に対応するファイルを他のピアから取得する場合の動作を説明する。この動作は、ピア3aに対し、ユーザーインタフェース（図示略）やネットワークを介した外部からの指示等により開始されるものとする。
【００９２】
ピア3aは、まず、接続ピア管理領域355aに登録されているアドレス「Adr(3b)」（図２７）に宛てて、すなわちピア3bに宛てて、ＩＤ検索要求を送信する（図３１のステップL1）。このＩＤ検索要求には、メタデータ条件としての「ファイルタイプ＝動画、タイトル名＝ＺＺ」と、ＴＴＬ値「３」とが記述される。
【００９３】
ピア3bは、ピア3aからＩＤ検索要求を受信したことを認識すると、指定された条件を満たすメタデータをＩＤ管理領域351bのメタデータ列から検索する。しかしながら、現時点の状態は、図２５の状態（a）であるから、ＩＤ管理領域351bには今回の条件に対応するメタデータが無い。
【００９４】
ピア3bは、ＩＤ検索要求のＴＴＬ値を「１」減らすことで「ＴＴＬ＝２」を認識する。これは「ＴＴＬ＞０」であり、まだ転送回数の上限に達していない。そこで、ピア3bは、ＩＤ検索要求の転送を行うべく、接続ピア管理領域355b（図２７）に登録されているアドレスのうち、前ホップのピア3aを除くピアのアドレス、すなわちピア3cの「Adr(3c)」に宛てて、「ＴＴＬ＝２」のＩＤ検索要求を転送する（図３１のステップL2）。
【００９５】
ピア3cは、ピア3bからＩＤ検索要求の受信を認識すると、指定されたメタデータ条件を満たすメタデータをＩＤ管理領域351cのメタデータ列から検索する。現時点のＩＤ管理領域351cの状態は、図２５の状態（a）であり、メタデータ列には、今回の条件を満たす「ファイルタイプ＝動画、タイトル名＝ＺＺ」が格納されている。そこで、ピア3cは、ＩＤ検索要求の応答として、ＩＤ管理領域351cから読み出したメタデータ「ファイルタイプ＝動画、タイトル名＝ＺＺ、フォーマット＝フォーマットｂ」とＩＤ「１０」とを、前ホップのピア3bへ返信する（図３１のステップL3）。
【００９６】
また、ピア3cは、ＩＤ検索要求のＴＴＬ値を「１」減らすことで「ＴＴＬ＝１」を認識する。これは「ＴＴＬ＞０」であり、まだ転送回数の上限に達していない。そこで、ピア3cは、ＩＤ検索要求の転送を行うべく、接続ピア管理領域355c（図２７）に登録されているアドレスのうち、前ホップのピア3bを除くピアのアドレス、すなわちピア3dの「Adr(3d)」に宛てて、「ＴＴＬ＝１」のＩＤ検索要求を転送する（図３１のステップL4）。
【００９７】
ピア3dは、ピア3cからＩＤ検索要求を受信したことを認識すると、指定された条件を満たすメタデータをＩＤ管理領域351dのメタデータ列から検索する。しかしながら、図２５の状態（a）のＩＤ管理領域351dには、今回の条件に対応するメタデータが無い。ピア3dは、ＩＤ検索要求のＴＴＬ値を「１」減らすことで「ＴＴＬ＝０」を認識すると、転送回数の上限に達したと判断し、ＩＤ検索要求の更なる転送は不要と判断する。
【００９８】
一方、ピア3bは、ＩＤ検索要求に関しピア3cからの応答（ステップL3）を受信したことを認識すると、受信した応答に含まれるメタデータ「ファイルタイプ＝動画、タイトル名＝ＺＺ、フォーマット＝フォーマットｂ」とＩＤ「１０」をＩＤ管理領域351bに格納する。これにより、ピア3bのＩＤ管理領域351bの状態は、図２５の状態（a）から（b）に更新される。また、ピア3bは、前述のＩＤ検索要求の転送路の前ホップであったピア3aに対し、上記の応答を転送する（図３１のステップL5）。
【００９９】
ピア3aは、ピア3bからの応答（ステップL5）を受信したことを認識すると、その応答に含まれるメタデータとＩＤをＩＤ管理領域351aに格納する。ピア3aのＩＤ管理領域351aの状態は、図２５の状態（a）から（b）に更新される。これにより、ピア3aは、今回取得しようとするコンテンツＸに対応したＩＤが「１０」であることを認識する。
【０１００】
続いて、ピア3aは、ＩＤ「１０」のファイルを持つピアの情報を収集するために、接続ピア管理領域355aにあるピア3bのアドレス「Adr(3b)」に宛てて、ＩＤ「１０」と「ＴＴＬ＝３」を設定したピア情報検索要求を送信する（図３１のステップL6）。
【０１０１】
ピア3bは、ピア3aからピア情報検索要求を受信したことを認識すると、指定されたＩＤ「１０」に対応するものをピア情報管理領域352bのＩＤ列から検索する。現時点のピア情報管理領域352bの状態は、図２６の状態（a）であるから、ピア3bは、対応するＩＤが無いと判断する。
【０１０２】
また、ピア3bは、ピア情報検索要求のＴＴＬ値を「１」減らすことで「ＴＴＬ＝２」を認識する。これは「ＴＴＬ＞０」であり、まだ転送回数の上限に達していない。そこで、ピア3bは、ピア情報検索要求の転送を行うべく、接続ピア管理領域355b（図２７）に登録されているアドレスのうち、前ホップのピア3aを除くピアのアドレス、すなわちピア3cの「Adr(3c)」に宛てて、「ＴＴＬ＝２」のピア情報検索要求を転送する（図３１のステップL7）。
【０１０３】
ピア3cは、ピア3bからピア情報検索要求を受信したことを認識すると、指定されたＩＤ「１０」に対応するものをピア情報管理領域352cのＩＤ列から検索する。現時点のピア情報管理領域352cの状態は、図２６の状態（a）であるから、ピア3cは、対応するＩＤが無いと判断する。
【０１０４】
また、ピア3cは、ピア情報検索要求のＴＴＬ値を「１」減らすことで「ＴＴＬ＝１」を認識する。これは「ＴＴＬ＞０」であり、まだ転送回数の上限に達していない。そこで、ピア3cは、ピア情報検索要求の転送を行うべく、接続ピア管理領域355c（図２７）に登録されているアドレスのうち、前ホップのピア3bを除くピアのアドレス、すなわちピア3dの「Adr(3d)」に宛てて、「ＴＴＬ＝１」のピア情報検索要求を転送する（図３１のステップL8）。
【０１０５】
ピア3dは、ピア3cからピア情報検索要求を受信したことを認識すると、指定されたＩＤ「１０」のレコードをピア情報管理領域352dから検索する。ピア3dは、現時点のピア情報管理領域352dの状態は図２６の状態（a）であり、ＩＤ「１０」のレコードがあると判断する。そこで、ピア3dは、そのレコードを読み出して、ピア情報検索要求の転送路の前ホップであるピア3cに対し、ＩＤ「１０」とピア3fのアドレス「Adr(3f)」とを記述した応答を返す（図３１のステップL9）。
【０１０６】
また、ピア3dは、ピア情報検索要求のＴＴＬ値を「１」減らすことで「ＴＴＬ＝０」を認識すると、転送回数の上限に達したと判断し、ピア情報検索要求の更なる転送は不要と判断する。
【０１０７】
ピア3cは、ピア情報検索要求に関しピア3dからの応答（ステップL9）を認識すると、その応答に含まれるＩＤ「１０」及び「Adr(3f)」をピア情報管理領域352cに格納する。これにより、ピア3cのピア情報管理領域352cは、図２６の状態（a）から（b）のものに更新される。また、ピア3cは、受信した上記応答を前ホップのピア3bに転送する（図３１のステップL10）。
【０１０８】
ピア3bは、ピア3cからの応答（ステップL10）を認識すると、その応答に含まれるＩＤ「１０」及び「Adr(3f)」をピア情報管理領域352bに格納する。これにより、ピア3bのピア情報管理領域352bは、図２６の状態（a）から（b）のものに更新される。また、ピア3bは、受信した上記応答を前ホップのピア3aに転送する（図３１のステップL11）。
【０１０９】
ピア3aは、ピア3bからの応答（ステップL11）を認識すると、その応答に含まれるＩＤ「１０」及び「Adr(3f)」をピア情報管理領域352aに格納する。ピア3aのピア情報管理領域352aは、図２６の状態（a）から（c）のものに更新される。これにより、ピア3aは、ＩＤ「１０」のファイルがピア3fに存在することを認識する。
【０１１０】
続いて、ピア3aは、ピア3fに対しコンテンツＸのファイルを要求すべく、上記のピア情報であるアドレス「Adr(3f)」に宛てて、ＩＤ「１０」に関するファイル送信要求を送信する（図３１のステップL12）。
【０１１１】
ピア3fは、ピア3aからのファイル送信要求を認識すると、指定されたＩＤ「１０」のレコードを保有ファイル管理領域353fから検索する。この保有ファイル管理領域353fの状態は、図２８の状態（a）であり、ＩＤ「１０」のレコードが登録されている。ピア3fは、そのレコードから読み出したメタデータ「ファイルタイプ=動画、タイトル名=ＹＹ、フォーマット＝フォーマットａ」と、ファイルポインタが示すファイルAとを、ＩＤ「１０」と共にピア3aへ応答する（図３１のステップL13）。
【０１１２】
ピア3aは、ピア3fからの上記応答を受信すると、受信したファイルAをファイル格納領域354aに格納する。これにより、ピア3aのファイル格納領域354aは、図２９の状態（a）から（b）のものに更新される。また、ピア3aは、受信したＩＤ及びメタデータをＩＤ管理領域351aの新たな行に格納する。これにより、ＩＤ管理領域351aの状態は、図２５の状態（b）から（c）のものに更新される。
【０１１３】
さらにまた、ピア3aは、受信したＩＤと、ファイル送信元のアドレスである「Adr(3f)」とをピア情報管理領域352aの新たな行に格納する。これにより、ピア情報管理領域352aは、図２６の状態（a）から（c）のものに更新される。さらにまた、ピア3aは、受信したメタデータ及びＩＤと、ファイルAへのポインタとを保有ファイル管理領域353aの新たな行に格納する。これにより、保有ファイル管理領域353aは、図２８の状態（a）から（b）のものに更新される。
【０１１４】
以上の動作により、コンテンツＸのメタデータ条件として「ファイルタイプ＝動画、タイトル名＝ＺＺ」を指定したピア3aが、同じコンテンツＸのファイルAを取得する。
【０１１５】
なお、上記のシステム100aには、タイトル名がメタデータ条件と対応するファイル（ファイルB）を持つピア3eが存在するが（図２８）、コンテンツ要求元のピア3aには、そのピア3eの情報がない（図２６）。このような場合であっても、ピア3aは、タイトル名は異なるものの、同じコンテンツＸのファイル（ファイルA）を取得することができる。
【０１１６】
［第２の実施形態］
本発明の第２の実施の形態を説明する。本実施形態は、前述の第１の実施形態と比較して、ファイルを分割して配信する点において異なる。本実施形態のシステム構成および各構成要素は、基本的には図１〜図４に示すものと同様である。以下、第１の実施形態と異なる点について説明する。なお、本実施形態では、ファイルの分割片を、そのファイルのチャンク（chunk）と称する。
【０１１７】
図３２に、本実施形態における配信サーバ1の保有ファイル管理領域153のデータ構造を示す。図示のデータ構造と、前述の実施形態のもの（図５）との違いは、さらに位置列1535が設けられている点である。また、ファイルポインタ列1533には、ファイル全体のポインタだけでなく、チャンクのポインタが格納され得る点も異なる。保有ファイル管理領域153において、あるレコードのファイルポインタ列1533にファイル全体のポインタがある場合、そのレコードの位置列1535には、ファイル全体である事を表す情報が登録される。また、チャンクのポインタに対しては、そのチャンクの位置情報およびファイル全体情報が登録される。
【０１１８】
チャンクの位置情報とは、そのチャンクが、ファイルのどの部分に相当するチャンクであるかを表す情報である。また、ファイル全体情報とは、そのファイルを構成するチャンクの量を表す情報である。例えば、再生時間が１０分の音声ファイルを１分単位で分割した場合、各チャンクの位置情報は、「０分」，「１分」，…，「１０分」であり、ファイル全体情報は「１０分」である。
【０１１９】
また、本実施形態のファイル格納領域154には、ファイル全体に限らず、チャンクが格納される場合がある点で、前述の第１の実施形態とは異なる。
【０１２０】
図３３に、本実施形態におけるＩＤ管理サーバ2の特徴量管理情報領域255のデータ構造を示す。図示のデータ構造と前述の第１の実施形態のもの（図６）との差異は、分割方法列2555が設けられている点である。分割方法列2555には、ファイルの分割方法に関する情報が格納される。分割方法とは、分割の基準と、分割単位の大きさであり、ファイルの種類や使用するＰ２Ｐネットワークの特性に応じて適宜決定することができる。例えば、音声ファイルであれば、分割の基準を再生時間とし、分割単位を１０分毎とすることができる。
【０１２１】
図３４に、本実施形態におけるピア3のピア情報管理領域352のデータ構造を示す。図示のデータ構造と、前述の第１の実施形態のもの（図８）との差異は、位置列3525が設けられている点である。位置列3525には、チャンクの位置情報およびファイル全体情報が格納される。
【０１２２】
図３５に、ピア3の保有ファイル管理領域353のデータ構造を示す。図示のデータ構造と、前述の第１の実施形態のもの（図９）との差異は、位置列3535が設けられている点である。
【０１２３】
図３６に示すフローチャートに沿って、本実施形態の配信サーバ1の動作を説明する。この動作は、配信プログラム161に対応するものであり、前述の第１の実施形態の動作（図１０）と、次の点が異なる。本実施形態の配信サーバ1は、ＩＤ管理サーバ2にコンテンツの特徴量を送信した後（ステップA2）、ＩＤと共に分割方法の情報が通知されるのを待つ（ステップA51）。また、配信サーバ1は、ＩＤ管理サーバ2から受信したＩＤを格納した後（ステップA4）、ステップA51において受信した分割方法の情報に従ってファイルをチャンクに分割し（ステップA52）、それらを一次配信で送信する（ステップA53）。
【０１２４】
図３７に示すフローチャートに沿って、本実施形態のＩＤ管理サーバ2の動作を説明する。この動作は、ＩＤ問合せ対応プログラム262に対応するものであり、前述の第１の実施形態の動作（図１１）と、次の点が異なる。
【０１２５】
ＩＤ管理サーバ2は、新規に生成したＩＤとコンテンツの特徴量との組み合わせを登録した後（ステップB3,B4）、ファイルの分割方法を決定し（ステップB51）、その分割方法の情報を特徴量管理情報領域255の分割方法列2555に登録する（ステップB52）。これにより、ＩＤが共通するファイルのそれぞれに対し、共通の分割方法が登録される。ＩＤ管理サーバ2は、配信サーバ1に対し、ＩＤと共に分割方法も通知する（ステップB53）。
【０１２６】
このあと、前述したように、配信サーバ1がＩＤ管理サーバ2から通知された分割方法に従って一次配信のファイルを分割するが（ステップA52）、ＩＤが共通するファイルは同じ分割方法で分割される。
【０１２７】
図３８に示すフローチャートに沿って、本実施形態のピア3の動作を説明する。この動作は、要求発行プログラム363に対応するものであり、前述の第１の実施形態の動作（図１２）と、次の点が異なる。
【０１２８】
ピア3は、第１の実施形態におけるステップC3に対応するピア情報検索要求のときに（ステップC51）、ＩＤとＴＴＬ値に加えて、チャンク位置の情報を送信する。このチャンク位置は、要求元のピア3が取得しようとするチャンクの位置である。なお、要求するファイルのチャンクを全く持っていない場合は、全てのチャンクを表す情報を設定してもよい。また、ピア3は、ピア情報検索要求に対する応答を受信すると（ステップC4）、その応答が示すピアに対しチャンク送信要求を送信する（ステップC52）。
【０１２９】
その後、チャンク送信が不可である旨の応答を受信した場合（ステップC53：yes）、ピア3は、別のピアからチャンクを取得すべく、ステップC51以降の処理を新たに行う。また、チャンクを受信できた場合（ステップC54：yes）、ピア3は、そのチャンクをファイル格納領域354に格納し（ステップC55）、ＩＤ管理領域351，ピア情報管理領域352，保有ファイル管理領域353をそれぞれ更新する（ステップC9,C56,C57）。
【０１３０】
さらに、ピア3は、保有ファイル管理領域353の位置列3535に格納されているチャンクの位置情報とファイル全体情報から、対象のファイルの全てのチャンクが揃ったか否かを判断する（ステップC58）。その結果、まだ取得していないチャンクがある場合は、そのチャンクを取得するために、ステップC51以降の処理を繰り返す。
【０１３１】
本実施形態におけるピア3の要求対応プログラム364による動作は、第１の実施形態の動作のうちの図１３，図１４，図１７に示すものが同じである。以下、第１の実施形態と異なる動作について説明する。
【０１３２】
図３９に、本実施形態におけるピア情報検索要求処理（ステップD3）の手順を示す。図示の手順と第１の実施形態のもの（図１５）との差異は、ＩＤ検索の結果、該当のＩＤが有った場合に（ステップF2：yes）、前ホップのピア3に対し、ＩＤ及びピア情報に加えてチャンクの位置情報を送信する（ステップF51）という点である。
【０１３３】
図４０に、本実施形態におけるファイル送信要求処理（ステップD4）の手順を示す。図示の手順は、第１の実施形態のもの（図１６）に対し、次の点が異なる。ピア3は、他のピアから受信したＩＤおよびチャンク位置の情報について、それらと対応するものを保有ファイル管理領域353から検索する（ステップG51）。
【０１３４】
上記検索の結果、該当のＩＤおよびチャンク位置を持つレコードが検出された場合（ステップG52：yes）、そのレコードのメタデータ及びＩＤとチャンク位置と、同じレコードのポインタが示すファイル格納領域354のチャンクとを、要求元のピア3に返信する（ステップG53）。また、上記検索の結果、該当のＩＤが無かった場合（ステップG52：no）、ピア3は、チャンクの送信が不可である旨を要求元のピア3に応答する（ステップG54）。
【０１３５】
図４１に、本実施形態におけるピア情報検索要求応答処理（ステップD6）の手順を示す。図示の手順は、第１の実施形態のもの（図１８）に対し、次の点が異なる。ピア3は、他のピアから応答されたＩＤ，チャンク位置，ピア情報を、ピア情報管理領域352の新たな行に格納し（ステップI51）、それらを前ホップのピアに転送する（ステップI52）。
【０１３６】
図４２に、本実施形態における一次配信応答処理（ステップD7）の手順を示す。図示の手順は、第１の実施形態のもの（図１９）に対し、次の点が異なる。ピア3は、配信サーバ1から一次配信により受信したチャンクをファイル格納領域354に格納する（ステップJ51）。また、チャンクと共に受信したメタデータとＩＤとチャンク位置を、保有ファイル管理領域353の新たな行に格納し、同じ行のファイルポインタ列3533には、ファイル格納領域354に格納したファイルに関するポインタを格納する（ステップJ52）。さらに、ＩＤ管理領域351の新たな行に、受信したメタデータとＩＤを格納し（ステップJ53）、ピア情報管理領域352の新たな行に、受信したＩＤと位置と、自身のピア情報とを格納する（ステップJ54）。
【０１３７】
本実施形態によれば、コンテンツをファイルのチャンク単位でダウンロードすることができる。これにより、例えば、あるピア3からのファイル単位のダウンロードが困難な場合であっても、そのファイルを他の複数のピアからチャンク単位でダウンロードする機会を得ることができる。また、あるファイルの一連のチャンクを全て取得することができない場合でも、そのファイルのＩＤと同じＩＤを持つチャンクを揃えるよう動作すれば、目的とするコンテンツを取得することができる。したがって、コンテンツ取得の可能性が高まるという効果がある。  
【０１３８】
（具体例）
本実施形態の動作について具体例を挙げる。ここでは、コンテンツＸの動画ファイルであるファイルAと、同じくコンテンツＸの動画ファイルであるファイルBとが配信される場合について説明する。ファイルA及びファイルBは、それぞれ「フォーマットａ」及び「フォーマットｂ」という異なるフォーマットで作成されたものである。また、メタデータとして、ファイルAには「タイトル名＝ＹＹ」、ファイルBには「タイトル名＝ＺＺ」が設定されている。コンテンツＸの再生時間は「１０分間」であるとする。
【０１３９】
配信サーバ1がファイルAもしくはファイルBの配信を開始する時、まず、それぞれの特徴量を抽出してＩＤ管理サーバ2に送信する。これを受信したＩＤ管理サーバ2は、各ファイルの特徴量に対しＩＤを発行する。ファイルA及びファイルBは、いずれもコンテンツＸのファイルであるから、各ファイルからは同じ特徴量が抽出される。よって、ＩＤ管理サーバ2は、双方のファイルに対し同じＩＤを設定する。また、ＩＤ管理サーバ2は、各ＩＤが設定されるファイルの分割方法を決定する。
【０１４０】
ここで、ＩＤ管理サーバ2が、動画ファイルに対する分割方法を「再生時間を基準に５分単位でファイルを分割する」と決定したとする。この場合、ＩＤ管理サーバ2は、特徴量管理情報領域255のレコードに、コンテンツＸの特徴量を格納するとともに、同じレコードの分割方法列2555に「基準：再生時間、大きさ：５分」を格納する。また、ＩＤ管理サーバ2は、決定したＩＤと分割方法「基準：再生時間、大きさ：５分」を配信サーバ1に応答する。
【０１４１】
配信サーバ1は、ＩＤ管理サーバ2からの応答を受信すると、ファイルAおよびファイルBのいずれの一次配信にも、再生時間を基準として５分単位でファイルを分割して送信する。ファイルAおよびファイルBのバイト長が異なる場合でも、基準は再生時間であるから、各ファイルは同様に２つのチャンクに分割される。すなわち、ファイルAは、チャンクa（０分−５分）とチャンクa（６分−１０分）とに分割され、ファイルBは、チャンクb（０分−５分）とチャンクb（６分−１０分）とに分割される。
【０１４２】
配信サーバ1の保有ファイル管理領域153のうち、ファイルAもしくはファイルBのチャンクに関するレコードの位置列1535には、そのチャンクの再生時間に応じて、「位置情報＝０分−５分、全体情報＝０分−１０分」あるいは「位置情報＝６分−１０分、全体情報＝０分−１０分」が格納される。
【０１４３】
ファイルA及びファイルBのチャンクがピア3に配信されると、ピア情報管理領域352の位置列3525や、保有ファイル管理領域353の位置列3535にも上記と同様の情報が格納される。
【０１４４】
ピア3によるファイルのダウンロード時に、メタデータ条件として「タイトル名＝ＹＹ」が指定された場合、互いに同じＩＤを持つファイルA及びファイルBのそれぞれのチャンクがダウンロードの対象となる。いま、要求元のピア3が、例えば、チャンクa（０分−５分）のダウンロードに成功したが、チャンクa（６分−１０分）を持つピアを発見できない、あるいは、チャンクa（６分−１０分）を持つピアを発見したが、通信トラブルによりそのピアと交信できないとする。この場合であっても、要求元のピア3は、上記とは別のピアからチャンクb（６分−１０分）をダウンロード可能であれば、目的とするコンテンツのチャンクを揃えることができる。
【０１４５】
なお、上記のようにファイルが異なるチャンクa（０分−５分）とチャンクb（６分−１０分）をダウンロードした場合、ピア3は、再生時間の「０分−５分」の期間と、「６分−１０分」の期間とで、それぞれのフォーマットに応じた再生形式を採用すればよい。これにより、コンテンツＸ全体を視聴する事ができる。
【０１４６】
本発明は、以上説明した実施の形態に限定されるものではない。本発明の実施は、特許請求の範囲内において、適宜変更が可能である。例えば、上記実施形態の構成は、配信サーバ1，ＩＤ管理サーバ2，ピア3が、別々のハードウェア上で作動するものと説明したが、同じハードウェア上で作動するという構成であっても良い。具体的には、例えば、配信サーバ1およびピア3の機能をネットワーク9上の１つのノード装置に集約し、その装置が、１つのＣＰＵ，メモリ，データ格納部，プログラム格納部により動作するという構成である。このノード装置が持つコンテンツを外部から取得しようとする場合は、このノード装置を、目的のファイルを持つピアとみなし、このピアに対しネットワーク9上の別のピアからファイルを要求すればよい。
【０１４７】
上記実施形態では、ＩＤ管理サーバ2は１台であったが、複数のＩＤ管理サーバ2により、ＩＤを分散して管理するようにしてもよい。例えば、特徴量データの特定の桁のビット値に応じて、ＩＤ検索要求に応答するＩＤ管理サーバ（2）が異なるというシステムを構築することができる。
【０１４８】
図４３〜図４５により説明した各プログラム（161,262,363,364）の機能は、上記実施形態のように、ＣＰＵにより実行されるプログラムの機能として実施することに限らず、そのＣＰＵから独立したＬＳＩチップにより実施してもよい。例えば、図４３の配信部173として、その機能を実行する専用のＬＳＩチップを配信サーバ1に設けるという実施形態である。
【図面の簡単な説明】
【０１４９】
【図１】本発明の各実施形態のシステム構成を示すブロック図である。
【図２】本発明の各実施形態における配信サーバの構成を示すブロック図である。
【図３】本発明の各実施形態におけるＩＤ管理サーバの構成を示すブロック図である。
【図４】本発明の各実施形態におけるピアの構成を示すブロック図である。
【図５】本発明の第１の実施形態における保有ファイル管理領域のデータ構造を示す図である。
【図６】本発明の第１の実施形態における特徴量管理情報領域のデータ構造を示す図である。
【図７】本発明の各実施形態におけるＩＤ管理領域のデータ構造を示す図である。
【図８】本発明の第１の実施形態におけるピア情報管理領域のデータ構造を示す図である。
【図９】本発明の第１の実施形態における保有ファイル管理領域のデータ構造を示す図である。
【図１０】本発明の第１の実施形態における配信サーバの動作を示すフローチャートである。
【図１１】本発明の第１の実施形態におけるＩＤ管理サーバの動作を示すフローチャートである。
【図１２】本発明の第１の実施形態におけるピアの動作を示すフローチャートである。
【図１３】本発明の各実施形態におけるピアの動作を示すフローチャートである。
【図１４】本発明の各実施形態におけるピアの動作を示すフローチャートである。
【図１５】本発明の第１の実施形態におけるピアの動作を示すフローチャートである。
【図１６】本発明の第１の実施形態におけるピアの動作を示すフローチャートである。
【図１７】本発明の各実施形態におけるピアの動作を示すフローチャートである。
【図１８】本発明の第１の実施形態におけるピアの動作を示すフローチャートである。
【図１９】本発明の第１の実施形態におけるピアの動作を示すフローチャートである。
【図２０】本発明の第１の実施形態の具体例のシステム全体の構成を示すブロック図である。
【図２１】本発明の第１の実施形態の具体例における保有ファイル管理領域のデータ構造を示す図である。
【図２２】本発明の第１の実施形態の具体例におけるファイル格納領域のデータ構造を示す図である。
【図２３】本発明の第１の実施形態の具体例における一次配信ピア管理領域のデータ構造を示す図である。
【図２４】本発明の第１の実施形態の具体例における特徴量管理情報領域のデータ構造を示す図である。
【図２５】本発明の第１の実施形態の具体例におけるＩＤ管理領域のデータ構造を示す図である。
【図２６】本発明の第１の実施形態の具体例におけるピア情報管理領域のデータ構造を示す図である。
【図２７】本発明の第１の実施形態の具体例における接続ピア管理領域のデータ構造を示す図である。
【図２８】本発明の第１の実施形態の具体例における保有ファイル管理領域のデータ構造を示す図である。
【図２９】本発明の第１の実施形態の具体例におけるファイル格納領域のデータ構造を示す図である。
【図３０】本発明の第１の実施形態の具体例における動作を示すシーケンス図である。
【図３１】本発明の第１の実施形態の具体例における動作を示すシーケンス図である。
【図３２】本発明の第２の実施形態における保有ファイル管理領域のデータ構造を示す図である。
【図３３】本発明の第２の実施形態における特徴量管理情報領域のデータ構造を示す図である。
【図３４】本発明の第２の実施形態におけるピア情報管理領域のデータ構造を示す図である。
【図３５】本発明の第２の実施形態における保有ファイル管理領域のデータ構造を示す図である。
【図３６】本発明の第２の実施形態における配信サーバの動作を示すフローチャートである。
【図３７】本発明の第２の実施形態におけるＩＤ管理サーバの動作を示すフローチャートである。
【図３８】本発明の第２の実施形態におけるピアの動作を示すフローチャートである。
【図３９】本発明の第２の実施形態におけるピアの動作を示すフローチャートである。
【図４０】本発明の第２の実施形態におけるピアの動作を示すフローチャートである。
【図４１】本発明の第２の実施形態におけるピアの動作を示すフローチャートである。
【図４２】本発明の第２の実施形態におけるピアの動作を示すフローチャートである。
【図４３】本発明の各実施形態における配信プログラムに関するブロック図である。
【図４４】本発明の各実施形態におけるＩＤ問合せ対応プログラムに関するブロック図である。
【図４５】本発明の各実施形態における要求発行プログラム及び要求対応プログラムに関するブロック図である。
【符号の説明】
【０１５０】
100  システム
1  配信サーバ
2  ＩＤ管理サーバ
3  ピア
9  ネットワーク
11,21,31  ＣＰＵ
12,22,23  メモリ
13,23,33  バス
14,24,34  通信部
15,25,35  データ格納部
16,26,36  プログラム格納部
153  保有ファイル管理領域
154  ファイル格納領域
156  一次配信ピア管理領域
161  配信プログラム
255  特徴量管理情報領域
262  ＩＤ問合せ対応プログラム
351  ＩＤ管理領域
352  ピア情報管理領域
353  保有ファイル管理領域
354  ファイル格納領域
355  接続ピア管理領域
363  要求発行プログラム
364  要求対応プログラム
【図１】
2010033265.tif 000003
【図２】
2010033265.tif 000004
【図３】
2010033265.tif 000005
【図４】
2010033265.tif 000006
【図５】
2010033265.tif 000007
【図６】
2010033265.tif 000008
【図７】
2010033265.tif 000009
【図８】
2010033265.tif 000010
【図９】
2010033265.tif 000011
【図１０】
2010033265.tif 000012
【図１１】
2010033265.tif 000013
【図１２】
2010033265.tif 000014
【図１３】
2010033265.tif 000015
【図１４】
2010033265.tif 000016
【図１５】
2010033265.tif 000017
【図１６】
2010033265.tif 000018
【図１７】
2010033265.tif 000019
【図１８】
2010033265.tif 000020
【図１９】
2010033265.tif 000021
【図２０】
2010033265.tif 000022
【図２１】
2010033265.tif 000023
【図２２】
2010033265.tif 000024
【図２３】
2010033265.tif 000025
【図２４】
2010033265.tif 000026
【図２５】
2010033265.tif 000027
【図２６】
2010033265.tif 000028
【図２７】
2010033265.tif 000029
【図２８】
2010033265.tif 000030
【図２９】
2010033265.tif 000031
【図３０】
2010033265.tif 000032
【図３１】
2010033265.tif 000033
【図３２】
2010033265.tif 000034
【図３３】
2010033265.tif 000035
【図３４】
2010033265.tif 000036
【図３５】
2010033265.tif 000037
【図３６】
2010033265.tif 000038
【図３７】
2010033265.tif 000039
【図３８】
2010033265.tif 000040
【図３９】
2010033265.tif 000041
【図４０】
2010033265.tif 000042
【図４１】
2010033265.tif 000043
【図４２】
2010033265.tif 000044
【図４３】
2010033265.tif 000045
【図４４】
2010033265.tif 000046
【図４５】
2010033265.tif 000047