(57)【要約】【課題】  対象とするアプリケーション数を用意しなければならなかったキャッシュ装置の一括管理を可能とし、装置及び管理コストを削減する。【解決手段】  本発明は、ISP毎のトラヒックデータを取得して、該トラヒックデータに占めるアプリケーションの割合を求め、アプリケーション別のコンテンツアクセス量データを取得して、アクセス数に基づいてコンテンツの人気度を求め、人気度を取得して、重複しているアプリケーションを抽出し、アプリケーションの割合、重複しているアプリケーション、及び、アプリケーション別の人気度に基づいて、スコアを求め、ランキングリストを生成し、ランキングリストに基づいて、キャッシュ済みのコンテンツの中で最もランキングが低いコンテンツｊと、リクエストされたコンテンツiのスコアを比較して、スコアがi＞ｊであれば該コンテンツiをキャッシュ領域にダウンロードする。【選択図】  図１
2012147272.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションに応じた1つのキャッシュ装置に対してコンテンツをキャッシュするトラヒックキャッシュシステムであって、
ISP(Internet Service Provider)毎のトラヒックデータを取得して、該トラヒックデータに占めるP2P(Peer-to-Peer)のアプリケーションの割合を求めるP2Pシェア推定装置と、
アプリケーション別のコンテンツアクセス量データを取得して、アプリケーション別にアクセス数に基づいてコンテンツの人気度を求めるコンテンツ人気度推定装置と、
前記コンテンツ人気度推定装置で人気度を求めたコンテンツの中から重複しているアプリケーションを抽出するコンテンツ同一性判定装置と、
前記P2Pシェア推定装置から取得した前記アプリケーションの割合と、前記コンテンツ同一性判定装置から取得した前記重複しているアプリケーション、及び、前記コンテンツ人気度推定装置から取得した前記アプリケーション別の人気度に基づいて、スコアを求め、スコアの高い順にソートしたランキングリストを生成するランキング装置と、
前記ランキング装置から取得した前記ランキングリストに基づいて、キャッシュ済みのコンテンツの中で最もランキングが低いコンテンツｊと、リクエストされたコンテンツiのスコアを比較して、コンテンツiのスコアが大きければ該コンテンツiをキャッシュ領域にダウンロードするキャッシュ装置と、
を有することを特徴とするトラヒックキャッシュシステム。
【請求項２】
前記ランキング装置は、
前記スコアを、前記アプリケーションの割合及び前記アプリケーション別の人気度を用いて、制御対象アプリケーション数分のスコア関数により求める手段を含む
請求項1記載のトラヒックキャッシュシステム。
【請求項３】
前記同一性判別装置は、
ファイル名のマッチングまたは、ファイルのビット列のマッチングにより、前記重複しているアプリケーションを抽出する手段を含む
請求項1記載のトラヒックキャッシュシステム。
【請求項４】
複数のアプリケーションに応じた1つのキャッシュ装置に対してコンテンツをキャッシュするキャッシュ置き換え方法であって、
P2Pシェア推定手段が、ISP(Internet Service Provider)毎のトラヒックデータを取得して、該トラヒックデータに占めるP2P(Peer-to-Peer)のアプリケーションの割合を求めるP2Pシェア推定ステップと、
コンテンツ人気度推定手段が、アプリケーション別のコンテンツアクセス量データを取得して、アプリケーション別にアクセス数に基づいてコンテンツの人気度を求めるコンテンツ人気度推定ステップと、
コンテンツ同一性判定手段が、前記コンテンツ人気度推定ステップでアプリケーション別の人気度を求めたコンテンツの中から重複しているアプリケーションを抽出するコンテンツ同一性判定ステップと、
ランキング手段が、前記P2Pシェア推定ステップで求められた前記アプリケーションの割合と、前記コンテンツ同一性判定ステップで求められた前記重複しているアプリケーション、及び、前記コンテンツ人気度推定ステップで求められた前記アプリケーション別の人気度に基づいて、スコアを求め、スコアの高い順にソートしたランキングリストを生成するランキングステップと、
キャッシュ手段が、前記ランキングステップで生成された前記ランキングリストに基づいて、キャッシュ済みのコンテンツの中で最もランキングが低いコンテンツｊと、リクエストされたコンテンツiのスコアを比較して、コンテンツiのスコアが大きければ該コンテンツiをキャッシュ領域にダウンロードするキャッシュステップと、
を行うことを特徴とするキャッシュ置き換え方法。
【請求項５】
前記ランキング装置において、
前記スコアを、前記アプリケーションの割合及び前記アプリケーション別の人気度を用いて、制御対象アプリケーション数分のスコア関数により求める
請求項４記載のキャッシュ置き換え方法。
【請求項６】
前記同一性判別装置において、
ファイル名のマッチングまたは、ファイルのビット列のマッチングにより、前記重複しているアプリケーションを抽出する
請求項４記載のキャッシュ置き換え方法。
【請求項７】
複数のアプリケーションに応じた1つのキャッシュ装置に対してコンテンツをキャッシュするキャッシュ装置であって、
ISP(Internet Service Provider)毎のトラヒックデータを取得して、該トラヒックデータに占めるP2P(Peer-to-Peer)のアプリケーションの割合を求めるP2Pシェア推定手段と、
アプリケーション別のコンテンツアクセス量データを取得して、アプリケーション別にアクセス数に基づいてコンテンツの人気度を求めるコンテンツ人気度推定手段と、
前記コンテンツ人気度推定手段でアプリケーション別の人気度を求めたコンテンツの中から重複しているアプリケーションを抽出するコンテンツ同一性判定手段と、
前記P2Pシェア推定手段から取得した前記アプリケーションの割合と、前記コンテンツ同一性判定手段から取得した前記重複しているアプリケーション、及び、前記コンテンツ人気度推定手段から取得した前記アプリケーション別の人気度に基づいて、スコアを求め、スコアの高い順にソートしたランキングリストを生成するランキング手段と、
前記ランキング手段から取得した前記ランキングリストに基づいて、キャッシュ済みのコンテンツの中で最もランキングが低いコンテンツｊと、リクエストされたコンテンツiのスコアを比較して、コンテンツiのスコアが大きければ該コンテンツiをキャッシュ領域にダウンロードするキャッシュ手段と、
を有することを特徴とするキャッシュ装置。
【請求項８】
前記ランキング手段は、
前記スコアを、前記アプリケーションの割合及び前記アプリケーション別の人気度を用いて、制御対象アプリケーション数分のスコア関数により求める手段を含む
請求項７記載のキャッシュ装置。
【請求項９】
前記同一性判別手段は、
ファイル名のマッチングまたは、ファイルのビット列のマッチングにより、前記重複しているアプリケーションを抽出する手段を含む
請求項７記載のキャッシュ装置。
【請求項１０】
請求項７乃至９のいずれか1項に記載のキャッシュ装置を構成する各手段としてコンピュータを機能させるためのキャッシュプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアプリケーションに対応したP2P (Peer to Peer)システムにおけるトラヒックキャッシュシステム及びキャッシュ置き換え方法及びキャッシュ装置及びキャッシュプログラムに関する。
【背景技術】
【０００２】
近年、ファイル共有や動画配信などの需要の高まりから、P2P(Peer to Peer)システムが広く利用されている。それに伴い、P2Pトラヒックはインターネットにおける総トラヒック量の大部分を占めるようになり、ISP(Internet Service Provider)にとってはP2Pトラヒックの削減が大きな課題となっている。
【０００３】
P2Pのトラヒックを削減する１つの手段として、図５のように、ISP毎にキャッシュ装置を設け、ピアからリクエストのあったコンテンツをキャッシュ装置から配信することで、ISP間のトラヒックを削減することが有効である。図５のトポロジでは、ISP Aに属しているホストAがISP Bに属するノードBへコンテンツのダウンロードを行うとき、通常は点線のようなデータがやり取りされる。キャッシュ装置を設けた場合は、他のISPへのリンクにおいてP2Pのリクエストパケットをミラーリングし、キャッシュ装置が代わりにコンテンツを配信することにより、ISP内にトラヒックを閉じ込めることが可能である。
【０００４】
P2Pキャッシュ技術には、キャッシュ装置の配置技術（例えば、非特許文献１参照）とキャッシュコンテンツ置き換え技術（例えば、非特許文献２，３参照）がある。
【０００５】
キャッシュ装置の配置技術（非特許文献１）は、総P2Pトラヒック量を最小化するように最適なキャッシュ配置を求める技術である。キャッシュコンテンツ置き換え技術（非特許文献２，３）は、キャッシュに保存するコンテンツを決定する技術である。キャッシュに保存しておくコンテンツは、人気がある（頻繁にダウンロードされる）コンテンツをキャッシュした方が、キャッシュのヒット率が上昇するため、ISP間トラヒックを削減できる。非特許文献２，３では、P2Pコンテンツの人気度特性を計測し、それを基にキャッシュを置き換える方法を示している。
【０００６】
P2P以外のコンテンツを対象としたキャッシュシステムとして、Web用キャッシュ（例えば、特許文献１、２参照）、CDN(Contents Delivery Network)用キャッシュ（例えば、特許文献３，４参照）がある。Web用キャッシュは、現在広く普及しており、様々なシステムで実用化されている。CDN用キャッシュは、ストリーミング型配信（特許文献３）、ダウンロード型配信（特許文献４)などの用途により、専用のシステムが示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2000-003368号公報.
【特許文献２】特開2005-063192号公報.
【特許文献３】特開2006-171822号公報.
【特許文献４】特開2003-242019号公報.
【非特許文献】
【０００８】
【非特許文献１】M. Hefeeda and O. Saleh， "Traffic Modeling and Proportional Partial Caching for Peer-to-Peer Systems", IEEE/ACM Trans. Netw., 2008.
【非特許文献２】M. Hefeeda and B. Noorizadeh，"On the Benefits of Cooperative Proxy Caching for Peer-to-Peer Traffic," IEEE Trans. Parallel Distrib. Syst., 2009.
【非特許文献３】上山,川原,森,原田,長谷川,"P2Pトラヒック削減を目的にした最適キャサッシュ設計法,"電子情報通信学会技術研究報告, NS2008-166, 2009年2月.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、既存のP2Pキャッシュ方式は、図６のように、単一のアプリケーションにのみ対応しており、実際にネットワークで使用する場合には、対象のアプリケーション毎にキャッシュ装置が必要になる。そのため、単一のキャッシュ装置で制御する場合に比べ、装置及び管理のコストがかかるという問題がある。
【００１０】
また、アプリケーション毎にキャッシュ装置を設けると、各アプリケーションに割り当てられている領域は固定であるため、アプリケーションのシェアに動的に対応することができない。
【００１１】
さらに、人気コンテンツは複数のアプリケーション間で重複して存在することが予想される。文献１「宮川,"Winny， Shareネットワーク状況調査報告,"安心・安全インターネット推進協議会P2P研究会, 第１回情報セキュリティセミナー, 2008年9月」では、日本で広く利用されているP2PアプリケーションであるWinnyとShare間で、約３割のコンテンツが重複していると報告されている。従来技術では、アプリケーションの重複を無視しているため、複数のキャッシュ装置で同一のコンテンツをキャッシュすることになり、リソースの無駄が生じることになる。
【００１２】
本発明は、上記の点に鑑みなされたもので、対象とするアプリケーション数を用意しなければならなかったキャッシュ装置の一括管理を可能とし、装置及び管理コストを削減することが可能なトラヒックキャッシュ装置及びキャッシュ置き換え方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために、本発明（請求項１）は、複数のアプリケーションに応じた1つのキャッシュ装置に対してコンテンツをキャッシュするトラヒックキャッシュシステムであって、
ISP(Internet Service Provider)毎のトラヒックデータを取得して、該トラヒックデータに占めるP2P(Peer-to-Peer)のアプリケーションの割合を求めるP2Pシェア推定装置と、
アプリケーション別のコンテンツアクセス量データを取得して、アプリケーション別にアクセス数に基づいて人気コンテンツの人気度を求めるコンテンツ人気度推定装置と、
前記コンテンツ人気度推定装置でアプリケーション別の人気度を求めたコンテンツを取得して、重複しているアプリケーションを抽出するコンテンツ同一性判定装置と、
前記P2Pシェア推定装置から取得した前記アプリケーションの割合と、前記コンテンツ同一性判定装置から取得した前記重複しているアプリケーション、及び、前記コンテンツ人気度推定装置から取得した前記アプリケーション別の人気度に基づいてコンテンツの置き換えスコアを求め、該スコアの高い順にソートしたランキングリストを生成するランキング装置と、
前記ランキング装置から取得した前記ランキングリストに基づいて、キャッシュ済みのコンテンツの中で最もランキングが低いコンテンツｊと、リクエストされたコンテンツiのスコアを比較して、コンテンツiのスコアが大きければ該コンテンツiをキャッシュ領域にダウンロードするキャッシュ装置と、を有する。
【００１４】
また、本発明（請求項２）は、前記ランキング装置に、
前記スコアを、前記アプリケーションの割合及び前記アプリケーション別の人気度を用いて、制御対象アプリケーション数分のスコア関数により求める手段を含む
を含むトラヒックキャッシュシステムである。
【００１５】
また、本発明（請求項３）は、前記同一性判別装置に、
ファイル名のマッチングまたは、ファイルのビット列のマッチングにより、前記重複しているアプリケーションを抽出する手段を含むトラヒックキャッシュシステムである。
【００１６】
本発明（請求項４）は、複数のアプリケーションに応じた1つのキャッシュ装置に対してコンテンツをキャッシュするキャッシュ置き換え方法であって、
P2Pシェア推定手段が、ISP(Internet Service Provider)毎のトラヒックデータを取得して、該トラヒックデータに占めるP2P(Peer-to-Peer)のアプリケーションの割合を求めるP2Pシェア推定ステップと、
コンテンツ人気度推定手段が、アプリケーション別のコンテンツアクセス量データを取得して、アプリケーション別にアクセス数に基づいて人気コンテンツの人気度を求めるコンテンツ人気度推定ステップと、
コンテンツ同一性判定手段が、前記コンテンツ人気度推定ステップでアプリケーション別の人気度を求めたコンテンツの中から重複しているアプリケーションを抽出するコンテンツ同一性判定ステップと、
ランキング手段が、前記P2Pシェア推定ステップで求められた前記アプリケーションの割合と、前記コンテンツ同一性判定ステップで求められた前記重複しているアプリケーション、及び、前記コンテンツ人気度推定ステップで求められた前記アプリケーション別の人気度に基づいて、コンテンツの置き換えスコアを求め、該スコアの高い順にソートしたランキングリストを生成するランキングステップと、
キャッシュ手段が、前記ランキングステップで生成された前記ランキングリストに基づいて、キャッシュ済みのコンテンツの中で最もランキングが低いコンテンツｊと、リクエストされたコンテンツiのスコアを比較して、コンテンツiのスコアが大きければ該コンテンツiをキャッシュ領域にダウンロードするキャッシュステップと、を行う。
【００１７】
また、本発明（請求項５）は、前記ランキング装置において、
前記スコアを、前記アプリケーションの割合及び前記アプリケーション別の人気度を用いて、制御対象アプリケーション数分のスコア関数により求めるキャッシュ置き換え方法である。
【００１８】
また、本発明（請求項６）は、前記同一性判別装置において、
ファイル名のマッチングまたは、ファイルのビット列のマッチングにより、前記重複しているアプリケーションを抽出するキャッシュ置き換え方法である。
【００１９】
本発明（請求項７）は、複数のアプリケーションに応じた1つのキャッシュ装置に対してコンテンツをキャッシュするキャッシュ装置であって、
ISP(Internet Service Provider)毎のトラヒックデータを取得して、該トラヒックデータに占めるP2P(Peer-to-Peer)のアプリケーションの割合を求めるP2Pシェア推定手段と、
アプリケーション別のコンテンツアクセス量データを取得して、アプリケーション別にアクセス数に基づいて人気コンテンツの人気度を求めるコンテンツ人気度推定手段と、
前記コンテンツ人気度推定手段でアプリケーション別の人気度を求めたコンテンツの中から重複しているアプリケーションを抽出するコンテンツ同一性判定手段と、
前記P2Pシェア推定手段から取得した前記アプリケーションの割合と、前記コンテンツ同一性判定手段から取得した前記重複しているアプリケーション、及び、前記コンテンツ人気度推定手段から取得した前記アプリケーション別の人気度に基づいて、コンテンツの置き換えスコアを求め、該スコアの高い順にソートしたランキングリストを生成するランキング手段と、
前記ランキング手段から取得した前記ランキングリストに基づいて、キャッシュ済みのコンテンツの中で最もランキングが低いコンテンツｊと、リクエストされたコンテンツｉのスコアを比較して、コンテンツｉのスコアが大きければ該コンテンツｉをキャッシュ領域にダウンロードするキャッシュ手段と、を有する。
【００２０】
また、本発明（請求項８）は、前記ランキング手段に、
前記スコアを、前記アプリケーションの割合及び前記アプリケーション別の人気度を用いて、制御対象アプリケーション数分のスコア関数により求める手段を含む
を含むキャッシュ装置である。
【００２１】
また、本発明（請求項９）は、前記同一性判別手段に、
ファイル名のマッチングまたは、ファイルのビット列のマッチングにより、前記重複しているアプリケーションを抽出する手段を含むキャッシュ装置である。
【００２２】
また、本発明（請求項１０）は、請求項７乃至９のいずれか1項に記載のキャッシュ装置を構成する各手段としてコンピュータを機能させるためのキャッシュプログラムである。
【発明の効果】
【００２３】
上記のように、本発明によれば、トラヒック量に対する複数のアプリケーションの割合によるコンテンツの人気度を推定し、それにより、コンテンツのランキング付けを行い、キャッシュ置き換えを行うことにより、対象とするアプリケーション数用意しなければならなかったキャッシュ装置を一括管理できるようになり、装置及び管理コストを削減することが可能となる。また、コンテンツの同一性を判定してアプリケーションの割合やアプリケーション間のコンテンツの重複を考慮することで、リソースの有効利用が可能となる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施の形態におけるキャッシュシステムの動作の概要を示す図である。
【図２】本発明の一実施の形態におけるシステム構成図である。
【図３】本発明の一実施の形態におけるシーケンスチャートである。
【図４】本発明の一実施の形態における動作のフローチャートである。
【図５】P2Pキャッシュシステムの動作例である。
【図６】従来のキャッシュシステムの動作である。
【発明を実施するための形態】
【００２５】
以下図面と共に、本発明の実施の形態を説明する。
【００２６】
本発明では、アプリケーション間のコンテンツの重複を考慮し、アプリケーションのシェアとコンテンツの人気度に応じたコンテンツキャッシュ装置及びキャッシュ置き換え方法を示す。
【００２７】
図１は、本発明の一実施の携帯におけるキャッシュシステムの動作の概要を示す図である。同図に示すように、複数のアプリケーションに対応した単一のキャッシュ装置１００が動作する。また、ISP毎にキャッシュ装置を設置し、各装置を管理する者とする。
【００２８】
図２は、本発明の一実施の形態におけるシステム構成を示す。
【００２９】
同図に示すシステムは、１つのキャッシュ装置１００、ランキング装置２００、コンテンツ人気度推定装置３００、コンテンツ同一性判定装置４００、P2Pシェア推定装置５００、クローラ６００、ピントサーバ７００、フロー解析装置８００から構成される。
【００３０】
クローラ６００は、P2P上のホストを順次アクセスし、アクセスしたホストの情報とそのホストに登録されているファイル情報を記録するプログラムである。
【００３１】
ヒントサーバ７００とは、ISPとP2Pが強調して動作することにより、ISP間のトラヒックを削減する技術である（文献２「亀井，"P2P配信におけるインフラコストの負担構造と課題"電子情報通信学会技術研究報告，CQ2009-7,2009年4月」）。
【００３２】
フロー解析装置８００は、アプリケーション毎のアクセス数を解析し、コンテンツアクセス量データを出力する。
【００３３】
図３は、本発明の一実施の形態における動作のシーケンスチャートであり、図４は、図３のシーケンスチャートをフローチャートで示したものである。なお、図４において、一点鎖線の枠内の動作は一定時間毎に、点線のキャッシュ装置１００の動作はコンテンツが到着する毎、及び、リクエストが到着する毎に行うものとする。
【００３４】
以下に、図３、図４に沿って動作の概要を示す。
【００３５】
ステップ１０１）  P2Pシェア推定装置５００は、コンテンツ配信事業者１０、クローラ６００、ヒントサーバ７００、フロー解析装置８００からP2P規模データを取得する。
【００３６】
ステップ１０２）  P2Pシェア推定装置５００は、取得したP2P規模データに基づいて、アプリケーションのシェアを推定し、P2Pシェアデータをランキング装置２００に出力する。
【００３７】
ステップ１０３）  コンテンツ人気推定装置３００は、コンテンツ配信事業者１０、クローラ６００、ヒントサーバ７００、フロー解析装置８００から、アプリケーション別のコンテンツアクセス量データを取得する。
【００３８】
ステップ１０４）  コンテンツ人気推定装置３００は、取得したアプリケーション別のコンテンツアクセス量データからアクセス量の割合を求め、これをアプリケーション別の人気度とし、アプリケーション別コンテンツ人気度データをコンテンツ同一性判定装置４００に出力する。
【００３９】
ステップ１０５）  コンテンツ同一性判定装置４００は、各アプリケーションの人気コンテンツを抽出する。
【００４０】
ステップ１０６）  コンテンツ同一性判定装置４００は、人気コンテンツの中から重複しているコンテンツデータを抽出し、重複しているコンテンツデータをランキング装置２００に出力する。
【００４１】
ステップ１０７）  ランキング装置２００は、P2Pシェア推定装置５００から取得したP2Pシェアデータ、コンテンツ人気推定装置３００から取得したアプリケーション別人気度データ、コンテンツ同一性推定装置４００から取得したアプリケーション間のコンテンツ重複データを用いて、コンテンツのスコアを算出する。
【００４２】
ステップ１０８）  ランキング装置２００は、コンテンツ毎のスコアデータからコンテンツをスコア順にソートして、ランキングリストを作成し、キャッシュ装置１００に出力する。
【００４３】
ステップ１０９）  キャッシュ装置１００は、コンテンツｉに対するリクエストを取得すると、ランキング装置２００から取得したランキングリストからコンテンツｉを抽出する。なお、キャッシュ装置１００は、リクエストを受信する毎に以降の処理を行うものとする。
【００４４】
ステップ１１０）  キャッシュ装置１００は、キャッシュされたコンテンツ中のランキングの最下位のコンテンツｊを抽出する。
【００４５】
ステップ１１１）  ランキングリストからコンテンツｉとコンテンツｊのスコアの大小を判定し、コンテンツｉのスコアがコンテンツｊのスコアより大きければステップ１１２に移行し、そうでなければステップ１１４に移行する。
【００４６】
ステップ１１２）  コンテンツｊをキャッシュから削除する。
【００４７】
ステップ１１３）  コンテンツｉをダウンロードしつつ、リクエスト元に配信し、処理を終了する。
【００４８】
ステップ１１４）  置き換えを行わず、処理を終了する。
【００４９】
次に、装置毎の詳細な動作を説明する。
【００５０】
＜P2Pシェア推定装置＞
P2Pシェア推定装置５００は、各アプリケーションのシェアをISP毎に推定する。推定方法は様々な方法が考えられ、以下のような技術により推定可能である。
【００５１】
・トラヒック解析結果より推定する方法：
特開2004-343286号公報では、P2P、アプリケーションがバックボーン回線上に発生するトラヒックの特定、分離することが可能である。手順としては、まず、分離したP2Pトラヒックからアプリケーション毎のトラヒック量を割り出す。そして、トラヒック量をアプリケーションの規模と捉え、シェアを推定する。
【００５２】
・コンテンツ配信事業者１０からの情報を利用する方法：
システムを運用する場合、全てのアプリケーションのコンテンツをキャッシュするのは現実的ではないので、商用のP2Pコンテンツ配信事業者と連携して運用する場合を考える。商用P2Pではネットワーク全体がスーパーノード等により管理されている場合が多いので、各コンテンツの人気度も高い精度で推測可能である。そのため、コンテンツ配信事業者１０から、各アプリケーションの規模をリアルタイムに通知してもらい、シェアを推定することが可能である。
【００５３】
・ヒントサーバ７００と連携する方法：
ヒントサーバ７００は、P2Pの各ホストにネットワーク的に近いホストの情報を提供し、P2Pシステムでは提供された情報に基づいて、最適なオーバレイトポロジを構築する。ヒントサーバ７００において、各システムからの問い合わせの量をそのシステムの規模と捉え、シェアを推定することが可能である。
【００５４】
・クローラによる規模推定による方法：
WinnyやShareでは、クローラ６００によりP2Pネットワーク上に存在するホストや流通しているコンテンツの監視を行う取り組みが行われている（文献１）。クローラ６００を制御対象とするアプリケーション毎に走らせ、順次クローラ６００が収集した情報より、ホスト数やコンテンツ数を集計することにより、アプリケーションのシェアを推定することが可能である。
【００５５】
＜コンテンツ人気度推定装置＞
P2Pシェア推定装置５００にてアプリケーションのシェアを推定するのと同時に、コンテンツ人気度推定装置３００において、コンテンツの人気度も推定する。推定方法としては、アプリケーションのシェアの推定と同様に、コンテンツ配信事業者１０からの情報を利用する方法とクローラ６００による規模計測により推定する方法の２種類が考えられる。
【００５６】
＜コンテンツ同一性判別装置＞
コンテンツ同一性判別装置４００は、アプリケーション間のコンテンツの重複を考慮するため、複数のアプリケーションに跨って存在するコンテンツを判別する必要がある。全てのコンテンツを判別対象としては、処理のリアルタイム性に欠けるため、コンテンツ人気度測定装置３００の結果（コンテンツと人気度の組）を用い、各アプリケーションの人気コンテンツとして抽出されたコンテンツのみを判別対象とする。判別方法として、下記のような手法が考えられる。
【００５７】
・ファイル名のマッチングを行う方法：
ファイル名が一致したコンテンツを同一コンテンツと見做す方法である。前述の文献２では、WinnyとShare間でファイル名とコンテンツが一致したファイルが９割以上あることが報告されている。
【００５８】
・ファイルのビット列のマッチングを行う方法：
ファイルのビット列をパターンマッチングする方法である。ファイルの全情報をマッチングしては時間がかかるため、Bloom Filter等のマッチング技術を用いることで、計算時間の短縮が可能である。Bloom Filterとは、ある要素が集合の一部であるかを調べるために使われる方式である。
【００５９】
＜ランキング装置＞
ランキング装置２００は、各装置で推定した、コンテンツの人気度情報、アプリケーションのシェア情報、コンテンツの重複情報に基づいて、各コンテンツの置き換えスコアを計算する。アプリケーションｉにおけるコンテンツｊの人気度をＣi,j、アプリケーションｉのシェアをＡiとすると、コンテンツｊのスコアＲjは下記のように求められる。
【００６０】
Ｒj＝Ｓ（Ｃi,j，Ａi）                              （１）
ここで、Ｓ（Ｃi,j，Ａi）はスコア関数である。具体的な実現例として、Ｓ（Ｃi,j，Ａi）を正規化した｛Ｃi,j，Ａi｝の線形関数とした場合、スコアＲjは下記のようになる。
【００６１】
【数１】
2012147272.tif 000003
ここで、Ｎは制御対象アプリケーション数であり、Ｃi,jとＡiの値は［０，１］に正規化されているものとする。ISPではスコアR jの高い順にコンテンツをソートし、ランキングリストを作成する。以上のランキング処理を定期的（数時間から１日程度の頻度)に行い、ランキングリストを各キャッシュ装置１００に送信する。
【００６２】
＜キャッシュ装置＞
各キャッシュ装置１００は、ランキング装置２００より受信したリストに基づいて、キャッシュ置換を行う。キャッシュの置き換えのタイミングは、キャッシュ装置１００が、コンテンツのリクエストを受信したときである。リクエストされたコンテンツをｉとしたとき、キャッシュ済みのコンテンツの中で一番ランキングの低いコンテンツｊに対して、Ｒi＞Ｒjが成立する場合に、コンテンツｊをキャッシュ領域から追い出し、コンテンツｉをキャッシュ領域にダウンロードしつつ、コンテンツリクエスト元のピアにコンテンツを配信する。一方、Ｒi≦Ｒjの場合は、キャッシュの置き換えは行わない。
【００６３】
以下に、具体的な動作について説明する。
【００６４】
制御対象のアプリケーションとコンテンツが、それぞれ３つの場合を考える。P2Pシェア推定装置５００で推定されたアプリケーションのシェアは、
アプリケーションａ：50％；
アプリケーションｂ：30％；
アプリケーションｃ：20％；
とする。また、コンテンツ人気度推定装置３００で推定された各アプリケーションにおける各コンテンツのアクセス量の割合は、
・アプリケーション１：
コンテンツ１：20％；
コンテンツ２は40％；
コンテンツ３は40％；
・アプリケーション２：
コンテンツ１：50％；
コンテンツ２は20％；
コンテンツ３は30％；
・アプリケーション３：
コンテンツ１：10％；
コンテンツ２は60％；
コンテンツ３は30％；
とする。
【００６５】
更に、コンテンツが同一か否かは、コンテンツ同一性判定装置４００で識別済みとする。
【００６６】
上記のような状況において、ランキング装置２００での各変数の値は下記のようになる。
【００６７】
・アプリケーションにおけるシェア：A１＝0.5，A2＝0.3，A3＝0.2
・アプリケーション１における各コンテンツの人気度：C1,1=0.2, C1,2=0.4,C1,3=0.4
・アプリケーション２における各コンテンツの人気度：C2,1=0.5, C1,2=0.2,C1,3=0.3
・アプリケーション３における各コンテンツの人気度：C3,1=0.1, C1,2=0.6,C1,3=0.3
コンテンツ1におけるスコアは以下のように計算される。
【００６８】
【数２】
2012147272.tif 000004
ここで、S(Ci,j,Aiとして、前述の式（２）を用いた。コンテンツ２、コンテンツ３についても同様に計算でき、R2=0.38，R3=0.35となる。よって、昇順にソートすると、（２，３，１）となり、これがランキングリストとなる。
【００６９】
キャッシュ装置１００では、このランキングリストに基づいて置き換えを行う。ここで、キャッシュ装置１００にコンテンツが1つしかキャッシュできない場合を考える。コンテンツ３がキャッシュされている状態で、コンテンツ２に対するリクエストを受信した場合、R2＞R3なので、コンテンツ３をキャッシュ領域から消去し、コンテンツ２を新たにキャッシュする。
【００７０】
以上のように、本発明では、複数のアプリケーションに対応したP2Pコンテンツのキャッシュが可能である。
【００７１】
なお、上記の構成では、ランキング装置２００、コンテンツ人気推定装置３００、コンテンツ同一性判定装置４００、P2Pシェア推定装置５００をキャッシュ装置１００とは別の装置として説明しているが、1つのキャッシュ装置１００内にこれらの装置の機能を含むような構成としてもよい。また、このように構成されたキャッシュ装置の各手段の動作をプログラムとして構築し、キャッシュ装置として利用されるコンピュータにインストールすることにより実行させる、または、ネットワークを介して流通させることが可能である。
【００７２】
また、本発明は上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【００７３】
１０  コンテンツ配信事業者
１００  キャッシュ装置
２００  ランキング装置
３００  コンテンツ人気度推定装置
４００  コンテンツ同一性判定装置
５００  P2Pシェア推定装置
６００  クローラ
７００  ヒントサーバ
８００  フロー解析装置
【図１】
2012147272.tif 000005
【図２】
2012147272.tif 000006
【図３】
2012147272.tif 000007
【図４】
2012147272.tif 000008
【図５】
2012147272.tif 000009
【図６】
2012147272.tif 000010