(57)【特許請求の範囲】
【請求項１】
第１の記憶手段（Ｃ１）によって、選択したマルチメディアオブジェクトを記憶するための方法であって、
−  前記第１の記憶手段によってユーザのグループ（Ｒ１）にサービス提供するステップと、
−  前記ユーザのグループによるそれぞれのマルチメディアオブジェクトの過去の要求の数に基づいてマルチメディアオブジェクト（Ｍ）の各々についての第１の人気係数（Ｍ（Ｒ））を計算するステップと、
−  前記ユーザのグループとそれぞれさらなる記憶手段によってサービス提供される他のユーザのグループとの間の関係を規定する情報を含むデータベース（４）を検索するステップと、
−  前記さらなる記憶手段の各々からマルチメディアオブジェクトの各々についてのさらなる人気係数（Ｍ（Ｒ’）、Ｍ（Ｒ”）、Ｍ（Ｒｍ））を検索するステップと、
−  検索したデータベースに基づいて、前記第１の記憶手段と前記さらなる記憶手段の各記憶手段との間の類似性を規定する類似性係数（Ｓ’、Ｓ”、Ｓｍ）を計算するステップと、
−  前記第１の人気係数（Ｍ（Ｒ））および前記さらなる人気係数（Ｍ（Ｒ’）、Ｍ（Ｒ”）、Ｍ（Ｒｍ））に基づいてマルチメディアオブジェクトの各々についての第２の人気係数（Ｍ（Ｅ））を計算するステップであって、さらなる人気係数の重みが、対応する計算した類似性係数（Ｓ’、Ｓ”、Ｓｍ）に依存する、第２の人気係数を計算するステップと、
−  最も高い第２の人気係数を有するマルチメディアオブジェクトを選択するステップと、
−  第１の記憶手段内に前記選択したマルチメディアオブジェクトを記憶するステップと
を含む、方法。
【請求項２】
さらなる人気係数の各々が、前記他のユーザのグループのそれぞれによるそれぞれのマルチメディアオブジェクトの過去の要求の数に基づいて計算される、請求項１に記載の方法。
【請求項３】
前記データベースは、列および行のうちの少なくとも一方が前記ユーザを表し、前記列および前記行のうちの少なくとも他方が前記他のユーザを表す行列を含み、行列内の値が行インデックスによって識別されたそれぞれのユーザと列インデックスによって識別されたユーザとの間の関係を規定する、請求項１または２に記載の方法。
【請求項４】
前記行列は、行インデックスによって識別されたユーザがソーシャルコミュニティを介して列インデックスによって識別された他のユーザにリンクされるときには第１の所定の値を、および行インデックスによって識別されたユーザが前記ソーシャルコミュニティを介して列インデックスによって識別された他のユーザにリンクされないときには第２の所定の値を含む、請求項３に記載の方法。
【請求項５】
ソーシャルコミュニティが、フェイスブック、ツイッター、インスタグラム、グーグル＋、ネットフリックス、スナップショット、ピンタレストおよびヴァインのうちの少なくとも１つを含む、請求項４に記載の方法。
【請求項６】
マルチメディアオブジェクトを選択するステップが、最高の第２の人気係数から最低の第２の人気係数へとマルチメディアオブジェクトをランク付けすることと、ランク付けしたマルチメディアオブジェクトの上位リストを選択することとを含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
上位リストが、所定の数のマルチメディアオブジェクトを含む、または所定のデータ容量を占有するいくつかのマルチメディアオブジェクトを含む、請求項６に記載の方法。
【請求項８】
前記データベースを前記検索するステップが、ある期間にわたり前記ユーザのグループによっておよび前記他のユーザのグループによって行われた要求を観察することと、前記ユーザのグループと前記他のユーザのグループとの間のそれぞれの類似性を検出することとを含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記第２の人気係数を前記計算するステップが、第１の人気係数と、さらなる人気係数に対応する類似性係数で乗算したさらなる人気係数との和として各マルチメディアオブジェクトについて計算される、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
第２の人気係数が、外部サーバから受信され、所定の係数で乗算された外部で決定された人気係数をさらに含む、請求項１に記載の方法。
【請求項１１】
ネットワーク内のいくつかのユーザにサービス提供するように構成された記憶手段であって、前記記憶手段が、請求項１から１０のいずれか一項に記載の方法を実行するためのプログラムされた命令を含む、記憶手段。
【請求項１２】
請求項１１に記載の記憶手段を備える、ルータ。
【請求項１３】
請求項１から１０のいずれか一項に記載の方法を実行するためにコンピュータによって実行されるように構成された、コンピュータプログラム。
【請求項１４】
請求項１から１０のいずれか一項に記載の方法を実行するためにプログラムされた命令を含む、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルータ内にホストされた専用の記憶装置またはルータの近くに存在する記憶デバイスによってマルチメディアオブジェクトの選択を記憶するための方法に関する。このような記憶装置は、キャッシングとも呼ばれる。本発明はさらに、マルチメディアオブジェクトの選択をキャッシュするための、ルータ内にホストされた専用の記憶装置またはルータの近くに存在する記憶デバイスに関する。このような専用の記憶装置または記憶デバイスは、キャッシュとして一般に知られており、このキャッシュは、ユーザのグループにサービス提供する（ｓｅｒｖｅ）ために設けられる。
【背景技術】
【０００２】
ＣＤＮ（コンテンツ配信ネットワーク）、リバースプロキシまたは透過型キャッシュ等のためのキャッシングアルゴリズムが研究されてきており、かなり良く理解されている。個々のキャッシュについてのキャッシングアルゴリズムの多くの変形が知られている（例えば、ＬＲＵ（最長時間未使用）、ＬＦＵ（最小使用頻度）、ベラディ（Ｂｅｌａｄｙ）のＭＩＮアルゴリズム（ｍｉｎ  ａｌｇｏｒｉｔｈｍ）、．．．）。このようなキャッシュは、そのキャッシング決定を、キャッシュがサービス提供するユーザからの、キャッシュに分かる要求だけに基づいて行う。基本的に、キャッシュは、（古すぎない）各アイテムが要求されるであろう頻度の予測を先ず行う、すなわち、キャッシュはアイテムの将来の人気（また一方では、アイテムが初めて再使用されるとき）を推定する。次いで、キャッシュは、アイテムを最高の人気から最低の人気へと（またはそれぞれ、最小の再使用回数から最大の再使用回数へと）順番に並べ、（図２に図示したように）最も人気のあるオブジェクト（またはそれぞれ最も間近のアイテム）をキャッシュする。このような方法の欠点は、最近のキャッシュが、以前に存在していたものよりもエンドユーザの近くに存在しており、したがって限られた数のユーザだけにサービス提供するために人気の測定には雑音が多く含まれ、キャッシング決定がしばしば誤りであるということである。
【０００３】
ツリーネットワークに配備されたキャッシュ間のキャッシュ協同アルゴリズム（例えば、階層、借用（ｂｏｒｒｏｗｉｎｇ）キャッシュ、フェデレーションキャッシュ）もまた存在する。これらは、コンテンツアイテムをどこに記憶するか、およびどこから要求にサービス提供するかに関する協働型決定を行う中央当局（ｃｅｎｔｒａｌ  ａｕｔｈｏｒｉｔｙ）（これは中央集中型または分散型方式のいずれでも実装され得る）に依拠する。そう考えると、これらのキャッシュ協同戦略は、ツリーネットワークに体系化されている多くの個々の協働型キャッシュから構成される１つの大きな仮想キャッシュを監督し、管理する。しかしながら、中央協働型キャッシュは、地理的に制限された領域内でかつツリーネットワークに対して働くに過ぎない。
【０００４】
上記は、ローカル予測に基づいて動作するキャッシュならびに中央協働型機構に基づいて動作するキャッシュ（これは事実上、地理的に制限されたコミュニティの集団にサービス提供する仮想キャッシュへの従来ケースの拡張に過ぎない）の両者が、所定のユーザのグループ（ネットワークノードまたはキャッシングを実行するルータによってサービス提供されるユーザ）に関するマルチメディアアイテムの人気をうまく推定できていないことを示している。したがって、キャッシング機構の改善に対する必要性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
改善したキャッシング機構を提供することが本発明の目的である。
【課題を解決するための手段】
【０００６】
このために、本発明は、（ルータ内にまたはルータの近くの別のデバイス内に専用の記憶装置として実装された）キャッシュによってマルチメディアオブジェクトの選択をキャッシュするための方法であって：
−  第１のキャッシュによってユーザのグループにサービス提供するステップと、
−  前記ユーザのグループに前記サービス提供するステップに基づいてマルチメディアオブジェクトの各々について第１の人気係数を計算するステップと、
−  前記ユーザのグループとそれぞれの他のキャッシュによってサービス提供される他のユーザのグループとの間の関係を規定する情報を含むデータベースを検索するステップと、
−  前記さらなるキャッシュの各々からマルチメディアオブジェクトの各々についてのさらなる人気係数を検索するステップと、
−  検索したデータベースに基づいて、第１のキャッシュによってサービス提供される前記ユーザのグループと他のキャッシュによってサービス提供される前記他のユーザのグループの各グループとの間の類似性を規定する類似性係数を計算するステップと、
−  前記第１の人気係数および前記さらなる人気係数に基づいてマルチメディアオブジェクトの各々についての第２の人気係数を計算するステップであって、さらなる人気係数の重みが、対応する計算した類似性係数に比例する、第２の人気係数を計算するステップと、
−  最も高い第２の人気係数を有するマルチメディアオブジェクトを選択するステップと、
−  第１のキャッシュ内に前記選択したマルチメディアオブジェクトをキャッシュするステップと
を含む、方法を提供する。
【０００７】
この提案した発明では、キャッシュは、独立した決定を行っており、キャッシュは、キャッシング決定を改善するために、ローカル情報に基づき、かつ（データベースから検索した）公式のまたは非公式のソーシャルネットワークからの情報と組み合わせた他のキャッシュと交換した情報に基づいてそのように行う。これによって、キャッシュするための方法は、ローカル予測を含み、これに従って、マルチメディアオブジェクトの人気が、キャッシュそれ自体によるユーザのグループへのサービス提供に基づいて推定される。キャッシュするための方法は、ネットワーク内の他のキャッシュの予測をさらに含み、これに従って、最終的な人気における他のキャッシュの各々の影響は、他のキャッシュと第１のキャッシュとの間の類似性に依存する。これによって、キャッシングのために使用されるマルチメディアオブジェクトの人気は、キャッシュによってサービス提供されるユーザに対してより良く調整される、その理由は、分断された地理的領域内のユーザがコンテンツにおける類似の好みを明らかにすることができるという事実を、本発明が活用するためである。ユーザ（のグループ）と各グループにおけるローカル消費パターンとの間のソーシャル関係を識別することによって、コンテンツオブジェクトの間近の人気が、最先端のシステムを用いるよりもこの発明を用いてより早く識別されるであろう。これゆえ、本発明によって計算した人気係数は、類似の好みを有するグループだけが他のグループに強い影響を与えるので、過度に一般的にならずに、ローカル予測に対して改善される。結果として、本発明は、より優れたキャッシング決定をもたらし、このことは、より高いキャッシュヒット率につながるであろう。コアネットワークによるトラフィックは、ユーザの同じＱｏＥ（体感品質）に対して減少するであろう、またはユーザのＱｏＥは、コアネットワークの同じ容量を用いて改善するであろう。そのように、ネットワークプロバイダは、トラフィックを節約することによって本発明から利益を得て、ユーザは、改善したＱｏＥを経験し、この改善したユーザ満足度はひいては、オンラインソーシャルネットワークにとっても同様に有益なものとなる。
【０００８】
好ましくは、第１の人気係数は、前記ユーザのグループによるそれぞれのマルチメディアオブジェクトについての過去の要求の数に基づいて計算される。好ましくは、さらなる人気係数の各々は、前記それぞれの他のユーザのグループによるそれぞれのマルチメディアオブジェクトについての過去の要求の数に基づいて計算される。過去の要求の数に基づいて人気係数を計算することは、当業者には知られており、これゆえ、このような知られた機構を使用することが、ローカル人気係数を求めることを可能にする。
【０００９】
好ましくは、前記過去の要求の数は、定期的に更新される（通常、スライディングウィンドウと呼ばれる）所定の期間内に計数される。過去の要求が計数される期間を制限しかつ継続的に更新することによって、人気ピークを過ぎているマルチメディアオブジェクトの人気は、要求の一部がスライディングウィンドウから落ちるので減少するであろう。このようにして、人気係数は、最新に保たれることが可能であり、頻繁に要求される新しいマルチメディアオブジェクトは、（過去には）新しいマルチメディアオブジェクトよりもはるかにしばしば要求されてきているが、現在は人気ピークをはるかに過ぎている古いマルチメディアオブジェクトよりも高い人気を有することになる。
【００１０】
好ましくは、前記データベースは、列および行のうちの少なくとも一方が前記ユーザを表し、かつ前記列および前記行のうちの少なくとも他方が前記さらなるユーザを表す行列を含み、行列内の値がそれぞれのユーザとそれぞれのさらなるユーザとの間の関係を規定する。このような行列を介して、キャッシュ間の類似性が、ユーザレベルでまたはグループレベルで決定され得る。これによって、当業者は、異なるアルゴリズムが、行列に基づいて２つのキャッシュ間の１つの類似性係数を求めるために適用され得ることを認識するであろう。アルゴリズムの単純な例は、１つのルータのユーザと他のルータのユーザとの間の関係を計数する。計数の結果は、類似性を定量化する。他のアルゴリズムでは、より大きな影響が、大きなマルチメディアオブジェクト消費を有するユーザに与えられる。
【００１１】
好ましくは、前記行列は、行インデックスによって識別されたユーザがソーシャルコミュニティを介して列インデックスによって識別されたユーザにリンクされるときには第１の所定の値を、そして行インデックスによって識別されたユーザが前記ソーシャルコミュニティを介して列インデックスによって識別されたユーザにリンクされないときには第２の所定の値を含む。好ましくは、ソーシャルコミュニティは、フェイスブック（Ｆａｃｅｂｏｏｋ）、ツイッター（登録商標）（Ｔｗｉｔｔｅｒ）、インスタグラム（Ｉｎｓｔａｇｒａｍ）、グーグル＋（Ｇｏｏｇｌｅ＋）、ネットフリックス（Ｎｅｔｆｌｉｘ）、タンブラー（Ｔｕｍｂｌｒ）、スナップショット（Ｓｎａｐｓｈｏｔ）、ピンタレスト（Ｐｉｎｔｅｒｅｓｔ）およびヴァイン（Ｖｉｎｅ）のうちの少なくとも１つを含む。ソーシャルコミュニティは、相互にリンクされた人々のグループを有する傾向があり、人々は、同じ関心事を共有する。リンクされている人々が同じ関心事または少なくとも類似の関心事を有するために、同じまたは類似のマルチメディアオブジェクトがそのようにリンクされた人々によって要求される可能性がある。したがって、ユーザとさらなるユーザと間の関係を規定するための基礎としてソーシャルコミュニティ情報を使用することは、かなり良い結果を返す。あるいは、このソーシャル情報が利用可能でない場合には、第１のキャッシュによってサービス提供されるユーザのグループと他のキャッシュによってサービス提供されるユーザのグループとの間の類似性は、過去の類似の消費傾向に基づいて決定され得る。それゆえ、ソーシャル情報が明示的には利用可能でない場合には、別々のエンティティは、このデータマイニングを実行する。
【００１２】
好ましくは、前記データベースを前記検索するステップは、ある期間にわたり前記いくつかのユーザによっておよび前記さらなるいくつかのユーザによって行われた要求を観察することと、前記いくつかのユーザと前記さらなるいくつかのユーザとの間のそれぞれの類似性を検出することを含む。この特徴は、ソーシャルコミュニティについての必要性を取り除く。本特徴によれば、データベースは、観察を介して調査される。ユーザを観察するときに、マルチメディアオブジェクト消費の類似性が、データベースにおいて検出され、格納され得る。（過去の要求に基づく）この検出に基づいて、将来の類似性係数が計算され、マルチメディアオブジェクトが発明の方法を介してキャッシュされる。
【００１３】
好ましくは、どのマルチメディアオブジェクトをキャッシュするかを選択するステップは、最高の第２の人気係数から最低の第２の人気係数へとマルチメディアオブジェクトをランク付けすることと、ランク付けしたマルチメディアオブジェクトの上位リストを選択することとを含む。これによって、上位リストは、所定の数のマルチメディアオブジェクトを含む、または所定のデータ容量を占有する（または示す）マルチメディアオブジェクトの数を含む。ランク付けし、次いで上位リストを選択することによって、容易な方法が、最高の第２の人気係数を有するマルチメディアオブジェクトを選択するために提供される。さらにその上、キャッシュには、マルチメディアオブジェクトの上位リストが記憶される。あるいは、キャッシュは、好ましくは完全に占有されている所定のデータ容量を有する。後者のケースでは、マルチメディアオブジェクトは、キャッシュが満たされるまでランク付したリストから選択される。
【００１４】
好ましくは、前記第２の人気係数を前記計算するステップは、第１の人気係数と、第１のキャッシュと他のキャッシュとの間のさらなる人気係数に対応する類似性係数で乗算した他のキャッシュから検索したさらなる人気係数との和として各マルチメディアオブジェクトについて計算される。これによって、単純な方式が、マルチメディアオブジェクトの第２の人気係数を決定するために、キャッシュ内で計算された情報およびキャッシュによって検索された情報に基づいて、各キャッシュによって実行され得る。
【００１５】
好ましくは、第２の人気係数は、コンテンツ消費についての全体的な視野（例えば、映画をオンラインで見る以外の流通チャネル、すなわち、映画が映画館でまたはＤＶＤ販売で提供されたときからの「チケット売り場」実績、またはあるシリーズの現在の一話について、同じシリーズ内の前の話の実績）を有する、外部サーバから受信され、所定の係数で乗算された外部で決定された人気係数をさらに含む。
【００１６】
外部で決定した人気係数を介して、（新しいために要求されていない）新しいマルチメディアオブジェクトは、発明の人気推定により、やはり示される。例えば、新しく公開された映画は、この映画が近い将来に高い人気を有するであろうと推定されるときに第１のキャッシュにキャッシュされ得る。
【００１７】
好ましくは、前記所定の係数は、前記いくつかのユーザの要求が外部で決定した人気係数を確証すると増加され、それに従って、前記所定の係数は、前記いくつかのユーザの要求が外部で決定した人気係数とは異なるときに減少する。要求と人気との間の類似性に基づいて所定の係数を増加さることおよび減少させることによって、外部で決定した人気係数の影響は最適になるであろう。
【００１８】
好ましくは、前記ユーザのグループに前記サービス提供するステップは、前記ユーザのうちの１人の要求があると、ユーザへそれぞれのマルチメディアオブジェクトを体系的に送信することを含む。
【００１９】
本発明は、ルータの近くのキャッシングデバイスまたはネットワーク内のいくつかのユーザにサービス提供するように構成された記憶装置をホストするルータにさらに関係し、前記ルータは、キャッシュメモリに動作上で接続され、前記ルータは、先行する請求項のいずれか一項に記載の方法を実行するためのプログラムされた命令を含む。
【００２０】
本発明の実施形態による装置および／または方法のいくつかの実施形態が、単に例として、そして添付した図面を参照してここで説明される。
【図面の簡単な説明】
【００２１】
【図１】本発明が適用可能であるネットワークの例を示す図である。
【図２】本発明が適用可能である従来のネットワークノードの図である。
【図３】本発明の実施形態の図である。
【図４】ユーザ間の関係を規定する情報を含むデータベースの図である。
【発明を実施するための形態】
【００２２】
図１は、複数のネットワークノード２を有するネットワーク１の例を図示する。ネットワークノード２は、コンテンツ要求Ｒを行うユーザとサーバＳを接続する。ネットワークノード２１に接続されたユーザは、要求Ｒ１を行い、ネットワークノード２２に接続されたユーザは、要求Ｒ２を行い、そしてネットワークノード２３に接続されたユーザは、要求Ｒ３を行う。これによってネットワークノードは、好ましくは、ローカルキャッシュに動作上で接続されるルータである。ルータ２１は、キャッシュＣ１に接続され、ルータ２２は、キャッシュＣ２に接続され、そしてルータ２３は、キャッシュＣ３に接続される。このようにして、キャッシュは、ユーザに直接サービス提供する（直接隣接する）ネットワークノード内に置かれる。これらのキャッシュに記憶された情報は、このキャッシュ／ルータによってサービス提供されるユーザによって要求されたときに、ネットワーク１を移動してはならない。本発明では、この情報は、マルチメディアオブジェクトとして定義される。マルチメディアオブジェクトは、音楽、本、ビデオ、個人作成コンテンツ、専門コンテンツ、ゲームを含むディジタルファイルである。例えば、映画は複数のオブジェクトにわたって分割されることが可能であり、それに従って、各オブジェクトが映画のセグメントを含むことが明らかであろう。
【００２３】
ますます多くのユニキャストビデオがオープンインターネットによって提供されるので、ユーザの近くにキャッシュを配備することが望ましい（図１参照）。これらのキャッシュを管理する適切なキャッシング戦略を用いると、多くのトラフィックが、サーバＳとキャッシュＣ１、Ｃ２、Ｃ３との間のコアネットワーク１上で節約され得る。すなわち、（原理的に）コンテンツアイテムは、（キャッシュをポピュレートするために）そのコアネットワーク１によって１回転送される必要があるに過ぎない、というのは、コンテンツアイテムがキャッシュＣ１、Ｃ２、Ｃ３内に存在する瞬間から、コンテンツアイテムは、そのキャッシュから各要求しているユーザＲ１、Ｒ２、Ｒ３へと供給されることが可能である。しかしながら、キャッシュは、可能性として非常に大きいとはいえ、典型的なビデオライブラリのサイズと比較してサイズが限られ、これゆえ、注意深い決定がどのアイテムをキャッシュするかについて行われる必要がある。
【００２４】
リバースプロキシおよび透過型キャッシュは、これらのキャッシュがサービス提供するユーザからこれらのキャッシュが知る要求に基づいて、これらのキャッシュがどのアイテムを任意の時点でキャッシュするかをそれ自体のために決定する。これらのキャッシュがユーザの非常に近くに存在し、これゆえ、これらのキャッシュがサービス提供するユーザの数がネットワーク内のより深くのキャッシュ（例えば、グローバルＣＤＮ（コンテンツ配信ネットワーク）のキャッシングノード）と比較してむしろ限られるので、この情報（すなわち、キャッシュによってサービス提供されているユーザにより行われた要求）は、どのコンテンツアイテムをキャッシュするかに関係する正確なキャッシング決定を行うためには雑音が多すぎる（下記参照）。このような従来の方法が図２に図示される。図２は、キャッシュＣに動作上で接続されたルータ２（ネットワークノード）を示す。ルータ２に接続されたユーザは、要求Ｒを行う。これらの要求に基づいて、ルータは、要求されたマルチメディアオブジェクトＭを識別する。好ましくは、マルチメディアオブジェクトＭは、所定の期間（例えば、４８時間）の間にユーザによって要求されたマルチメディアオブジェクトＲを含む。これらのマルチメディアオブジェクトＭの各々について、人気Ｐが、要求Ｒの数（したがって、図ではこれがＭ（Ｒ）として示される）に基づいて計算される（５）。計算した人気Ｐに基づいて、ランク付けＶが行われ（６）、最も高くランク付けされたマルチメディアオブジェクト（図２の例では、Ｄが最も高く、Ｃが２番目に高く、そしてＥが３番目に高い）がキャッシュされる。キャッシュＣの記憶容量に応じて、キャッシュされるマルチメディアオブジェクトの総数が、決定される。
【００２５】
本発明は、（１つのキャッシュによってサービス提供される）ユーザがオンラインソーシャルネットワーク（例えば、フェイスブック、ツイッター、グーグル＋）を介して、またはいくつかの（非公式の）コミュニティが共通の関心事を共有するという事実を介して（他のキャッシュによってサービス提供される）他のユーザに「接続される」という洞察に基づいており、この接続は、キャッシング決定において使用され得る。この発明は、（公式または非公式の）ソーシャルネットワークから引き出された情報をより優れたキャッシング決定を行うために活用するための方法を提案し、より高いキャッシュヒット率という結果をもたらす。図４は、ユーザ間の関係を規定する情報を含む行列の例を示す。図では、列は、ユーザＵ１（列１）、ユーザＵ２（列２）およびユーザＵ３（列３）を表す。行は、ユーザＵ４（行１）、ユーザＵ５（行２）およびユーザＵ６（行３）を表す。行列中の各要素は、これによって行ユーザを列ユーザと結びつける。図４の例は、要素を０と３との間の自然数であるとして示す。したがって、０は、「関係なし」と定義されてもよく、１は、「１つのソーシャルコミュニティを介した接続」と定義されてもよく、２は、「２つの異なるソーシャルコミュニティを介した、例えば、フェイスブックを介しかつタンブラーを介した接続」と定義されてもよく、そして３は、「３つの異なるソーシャルコミュニティを介した接続」と定義されてもよい。あるいは、行列中の数の最大のものが、２つのユーザ間のコンテンツ使用における類似性の尺度であり得る。図では、第１の要素０は、ユーザ１  Ｕ１とユーザ４  Ｕ４との間に関係がないことを示す。第２の要素（行１、列２）は、ユーザ２  Ｕ２とユーザ４  Ｕ４との間に関係があることを示す。さらなる要素は、それぞれのユーザ間の関係を示す。
【００２６】
あるいは、行列は、（個々のユーザ間の関係の代わりに）ユーザグループ間の関係を規定する情報を含む。このような行列は、図４に示した行列の情報を使用して形成されることが可能である。これによって、（異なるキャッシュによってサービス提供される）各ユーザグループは、行列の行および列の両方で表される。このような行列では、対角線の要素は、必要なく、これゆえ、規定されない。このような行列に基づいて、キャッシュは、行列から類似性係数を直接読み取ることが可能である、ところが図４の行列は、類似性係数を求めるためにいくつかのさらなる計算を必要とする。
【００２７】
ユーザ間の関係を規定する情報を含むデータベースが、このようなデータベースの機能性および有用性を低下させずに多くの異なる方法で形成され得ることを、当業者なら理解するであろう。データベースは、例えば、同じネットワークノードによってサービス提供されるユーザ間の関係がやはり監視されるように、すべてのユーザが列および行の両方に表されるように作成され得る。
【００２８】
本発明では、関係が、明示的にまたは暗黙的に類似のソーシャルグループに属するとして解釈される。ソーシャルグループでは、重複する関心事が、全体として見つけられることが可能であり、この重複する関心事は、コンテンツ使用（またはマルチメディアオブジェクトの要求）に反映する。したがって、本発明のコンテキストでは、関係は、ネットワーク上での少なくとも部分的に類似の振る舞いを暗に含む。
【００２９】
この発明の基本的なゴールは、人気の測定Ｍ（Ｒ）（または等価的に再使用回数）をより信頼性高く（すなわち、雑音を少なく）させることである。これを実現するために、２個の情報が使用される：
ａ）  すべての個々のキャッシュについてのアイテムの推定した人気Ｍ（Ｒ）、Ｍ（Ｒ’）、Ｍ（Ｒ”）、Ｍ（Ｒｎ）（または推定した再使用）。すなわち、各キャッシュが、（先行技術機構により）ローカル人気を推定し、この情報を他のキャッシュへ送り、そしてその情報を他のキャッシュから受信するであろう。人気の測定のうちの１つは、外部サーバによって推定されたグローバルなものであり得ることに留意されたい。
【００３０】
ｂ）  １つのキャッシュのポピュレーション（および可能性としてグローバルな人気）がもう１つのキャッシュにおけるポピュレーションにＳ’、Ｓ”、Ｓｎを関係させる方法。この情報は、例えば、オンラインソーシャルネットワーク（例えば、オンラインソーシャルネットワークのユーザ友人ネットワーク）から引き出される、またはどのユーザが類似のアイテムを消費するかを観察することによって代わりに構築される。この情報は、例えば、行列４（図４参照）の形態で格納されことが可能であり、そのうちのエントリ（ｋ，ｌ）がキャッシュｋによってサービス提供されるポピュレーション（またはグローバルポピュレーション）とキャッシュｌによってサービス提供されるポピュレーションとの間の関係がどれだけ強いかを決定する。
【００３１】
本発明は、より優れた人気推定、これゆえ、より優れたキャッシング決定になるようにこれら２個の情報を組み合わせることを提案する。これが図３に図示される。図３は、（オブジェクトＡ、Ｂ、Ｃ、Ｄ、ＥおよびＦである）マルチメディアオブジェクトＭを示し、これに対して、決定は、どのオブジェクトをキャッシュするかに関して行われる。各ネットワークノードは、マルチメディアオブジェクトの各々についての第１の人気係数を決定するために（例えば、先行技術の方法を介して）与えられる。これによって、本発明によれば、第１のネットワークノードは、第２の人気係数をさらに計算するために与えられ、この第２の人気係数は、第１の人気係数に比較して拡張された人気係数である。これによって、第１のネットワークノードは、マルチメディアオブジェクトＭの各々についての人気係数Ｍ（Ｒ）の第１のセット（人気係数ＰＡ、ＰＢ、ＰＣ、ＰＤ、ＰＥおよびＰＦである）を計算する。ネットワーク内には、さらなるネットワークノードが存在し、これはさらなるいくつかのユーザにサービス提供する。さらなるいくつかのユーザは、それらの要求Ｒ’、Ｒ”、Ｒｎを行う。それぞれの要求に基づいて、さらなるネットワークノードの各々は、マルチメディアオブジェクトの各々について人気係数Ｍ（Ｒ’）、Ｍ（Ｒ”）およびＭ（Ｒｎ）を計算することが可能である。これらの人気係数は、さらなるネットワークノードから第１のネットワークノードへ送信される。さらにその上、（図４に示されているものなどの）データベースは、第１のネットワークノードによって検索され、そのデータベースに基づいて、第１のネットワークノードは、第１のネットワークノードと第１のさらなるネットワークノードとの間の類似性係数（類似性係数Ｓ’である）、第１のネットワークノードと第２のさらなるネットワークノードとの間の類似性係数（類似性係数Ｓ”である）、および第１のネットワークノードとｎ番目のさらなるネットワークノードとの間の類似性係数（類似性係数Ｓｎである）を計算することが可能である。
【００３２】
これらの受信した係数および決定した係数に基づいて、第１のネットワークノードは、下記の数式を介して第２の（拡張型）人気係数を計算する：
Ｍ（Ｒ）＋（Ｓ’×Ｍ（Ｒ’））＋（Ｓ”×Ｍ（Ｒ”））＋（．．．）＋（Ｓｎ×Ｍ（Ｒｎ））
【００３３】
好ましい例では、図３に示されるように、第２の人気係数は、外部情報Ｍ（Ｅ）をさらに含む。この外部情報（外部人気係数）は、ネットワーク管理者から受信され得る。第１のネットワークノードおよびさらなるネットワークノードの人気係数が主に過去の要求に基づく場合には、外部情報は、将来の関心事（公開されようとしている新しい映画など）または他の流通チャネルを介した（「チケット売り場」もしくはＤＶＤ販売を介したような）過去の消費の推定に基づくことが可能である。外部人気係数は、現在知られていないマルチメディアオブジェクトＧ（例えば、新しい映画）の人気を含むことが可能である。係数Ｆは、第２の人気係数における外部人気係数の影響と釣り合うように決定され得る。これによって、係数Ｆは、外部人気係数が正しいことが判明するとＦが増加し、一方で、外部人気係数が誤りであることが判明するとＦが減少するように、動的になり得る。第２の（拡張型）人気係数は、上に説明した数式に加えて：＋（Ｆ×Ｍ（Ｅ））を含む。
【００３４】
第１のネットワークノードにおいて計算された第２の（拡張型）人気係数は、（図２におけるＭ（Ｒ）などの）従来の人気係数フォーマットに非常に類似しているフォーマットを有し、これゆえ、これらの第２の人気係数は、マルチメディアオブジェクトのどれがキャッシュされるべきかを決定する（６）ためにどのように使用され得るかを、当業者なら理解するであろう。
【００３５】
この新しい人気Ｐ２（または再使用回数）推定アルゴリズムを別にして、キャッシングアルゴリズムの残りは、好ましくは先行技術と同じままであることを理解しなければならない。このように、図２に示されている、人気Ｍ（Ｒ）に基づくマルチメディアオブジェクトＭの順序付け６は、本発明によれば、第２の人気Ｐ２に基づくであろう。
【００３６】
さらなる説明が、いくつかの特定の実施形態に関して与えられるであろう。これらの特定の実施形態が限定するのではなく、本発明の一般的な原理内になる例に過ぎないことは明らかであろう。これらの実施形態では、例の簡単化のために各マルチメディアオブジェクトＭが識別子Ａ、Ｂ、Ｃ、Ｄ、ＥおよびＦによって一意的に定義可能であることを仮定する。これは、ビデオファイルで計算されたハッシュ、データベースからの固有名（例えば、ＩＭＤＢ（インターネット映画データベース）もしくはｔｖ．ｃｏｍ）またはファイルの原位置の固有のＵＲＬ（ユニフォームリソースロケーション）のいずれかであり得る。
【００３７】
これらの実施形態では、例の簡単化のために、キャッシュがすべての「アクティブ」アイテムについての人気情報を維持することをさらに仮定する。アクティブアイテムは、要求が時間Ｔ未満内に存在したアイテムである（ここでは、Ｔは大きな時間間隔である）。このタイムアウト時間Ｔを使用することは、キャッシュがコンテンツアイテムの（おそらく非常に大きいにも拘わらず）有限のセットについての人気情報を維持することが必要であるに過ぎないことを確実にする。（文字Ａ、Ｂ、Ｃ、Ｄ、Ｅ、ＦおよびＧが、一意的な識別子についての例として使用される）。
【００３８】
（図３では重みと呼ばれる）エントリを有する行列４は、キャッシュｋのポピュレーション（図４の例ではユーザＵ１、Ｕ２およびＵ３である）（または配信元サーバによってサービス提供されるグローバルなポピュレーション）がキャッシュｌのポピュレーション（図４の例ではユーザＵ４、Ｕ５およびＵ６である）にどのように強い影響を与えるかを指示する。この行列４は、異なるキャッシュによってサービス提供されるユーザ間の友人ネットワークに基づくオンラインソーシャルネットワーク内に構築することができ、またはこれらのユーザポピュレーション依存性が、ユーザポピュレーションの消費パターンにおける類似性、すなわち、異なるキャッシュのユーザポピュレーションが類似のコンテンツアイテムをどのように消費するかを（ネットワーク内で）観察することによって、独立したデータマイニングエンティティにより推論される（または学習される）ことが可能である。重みを有するこの行列Ｍの適切な要素は、ソーシャルネットワークからまたは独立したデータマイニングエンティティからすべてのキャッシュまたは対応するルータへ送られる。
【００３９】
第１の実施形態は、ローカルの人気の測定を行うためにＬＦＵに依拠する。特に、ＬＦＵは、キャッシュｋ上の（および可能性として配信元サーバ上の）過去のウィンドウによるマルチメディアオブジェクトＸについての要求の数Ｐｋ，ｘを維持する。（このウィンドウは、通常長方形の形状を有するが、遠くの過去における要求の重要性を減少させるために他の形状、例えば、指数関数減衰型ウィンドウ、もまた使用され得る）。キャッシュｋ上のアクティブアイテムについての要求のこの数は、（ある時点におけるキャッシュ上のそれぞれのアイテム人気である）ベクトルＰｋを構成する。ベクトルＰｋは、通常の時点においてすべてのキャッシュ間で交換される。アイテムＸの人気についてのより優れた予測を行うために、キャッシュｋは、下記の方法でこれらのベクトルＰｌおよび行列Ｍ中の情報を組み合わせる：Ｐ’ｋ，ｘ＝ΣｌＭｋｌ・Ｐｌ，ｘ。キャッシュは、アイテムの人気のこれらのより正確な測定値Ｐ’ｋ，ｘに基づいてより優れたキャッシング決定を行う。
【００４０】
第２の実施形態は、ＬＲＵ（またはベラディのＭＩＮアルゴリズムのいずれかの変形）に依拠する。特に、ＬＲＵは、キャッシュｋ上の（および可能性としてやはり配信元サーバ上の）各アクティブアイテムＸの再使用回数Ｔｋ，ｘを（暗黙的に）維持する。ベクトルＴｋに記憶された再使用回数は、通常の時点においてキャッシュ間で交換される。再使用回数のより優れた推定を行うために、キャッシュｋは、下記の方法でこれらのベクトルＴｌおよび行列Ｍ中の情報を組み合わせる：Ｔ’ｋ，ｘ＝（ΣｌＭｋｌ・（Ｔｌ，ｘ）−１）−１。キャッシュは、アイテムの再使用回数のこれらのより正確な測定値Ｔ’ｋ，ｘに基づいてより優れたキャッシング決定を行う。
【００４１】
本発明は、既存のキャッシングアルゴリズムに組み込まれ得る。キャッシングアルゴリズムは、以前のように機能することが可能であり、人気（または再使用回数）を推定し、そして人気（または再使用回数）に基づいてキャッシング決定を行う。これによって、決定が行われる人気（または再使用回数）は、（先行技術におけるような）ローカルに測定したものではなく、すべてのキャッシュのすべての人気の組合せであり、ここで、各々の重みがソーシャル関係により決定される。
【００４２】
様々な上に説明した方法のステップがプログラムしたコンピュータによって実行され得ることを当業者なら容易に理解するはずである。ここでは、いくつかの実施形態は、プログラム記憶デバイス、例えば、ディジタルデータ記憶媒体をやはり包含するものとし、これらは、機械可読またはコンピュータ可読であり、そして命令の機械実行可能なプログラムまたはコンピュータ実行可能なプログラムをエンコードする、ここでは、前記命令が前記上に説明した方法のいくつかのステップまたはすべてのステップを実行する。プログラム記憶デバイスは、例えば、ディジタルメモリ、磁気ディスクまたは磁気テープなどの磁気記憶媒体、ハードドライブまたは光可読ディジタルデータ記憶媒体であってもよい。実施形態は、上に説明した方法の前記ステップを実行するようにプログラムされたコンピュータをやはり包含するものとする。
【００４３】
説明および図面は、発明の原理を単に図説する。当業者なら、本明細書中に明示的に説明されていないまたは示されていないとはいえ、発明の原理を具体化しかつ発明の精神および範囲内に含まれる様々な配置を考案することができるであろうことが、このように認識されるであろう。さらにその上、本明細書において詳述したすべての例は、主として、本技術を促進させるために発明者によって提供された発明の原理および概念を読者が理解する際に助けるために、明確に教育的な目的のために過ぎないものであり、このような具体的に詳述した例および条件に限定されないように解釈されるべきである。その上、発明の原理、態様、および実施形態、ならびにその具体的な例を詳述する本明細書中のすべての記述は、これらの均等物を包含するものとする。
【００４４】
「プロセッサ」と呼ばれるいずれかの機能ブロックを含む、図中に示した様々な要素の機能が、専用のハードウェア、ならびに適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアの使用を通して実現されてもよい。プロセッサによって実現されるときには、機能は、１つの専用プロセッサによって、１つの共有されたプロセッサによって、またはいくつかが共有されることがある複数の個々のプロセッサによって実現されてもよい。その上、「プロセッサ」または「コントローラ」という用語の明示的な使用は、ソフトウェアを実行することができるハードウェアをもっぱら呼ぶようには解釈されるべきではなく、限定するのではなく、ディジタル信号プロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェアを記憶するための読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ、および不揮発性記憶装置を暗黙的に含むことができる。従来型および／または特注の他のハードウェアが、やはり含まれてもよい。同様に、図に示したいずれかのスイッチは、概念的に過ぎない。これらの機能は、プログラム論理の動作を介して、専用論理を介して、プログラム制御および専用論理の相互作用を介して、またはそれどころか手動で実行されてもよく、特定の技術が、文脈からより具体的に理解されるように実施者によって選択可能である。
【００４５】
本明細書中のいずれかのブロック図が発明の原理を具体化する例示的な回路の概念的な図を表すことは、当業者によって認識されるべきである。同様に、いずれかのフローチャート、流れ図、状態遷移図、擬似コード、等が様々な処理を表現し、それは、コンピュータ可読媒体に実質的に表現されてもよく、またコンピュータまたはプロセッサが明示的に示されている否かに拘わらず、コンピュータまたはプロセッサによって実行されてもよいことが認識されるであろう。
【図１】
0006272466.tif 000002
【図２】
0006272466.tif 000003
【図３】
0006272466.tif 000004
【図４】
0006272466.tif 000005