(57)【要約】【課題】アクセス頻度の低いコンテンツファイルに対してもダウンロード遅延の発生を抑えることを目的とする。【解決手段】アクセスログを記録する記録手段と、アクセスログに基づきコンテンツを投稿した第１のユーザと第２のユーザとの関連性を分析する分析手段と、分析の結果に基づき第１のユーザが投稿したコンテンツのキャッシュに対する優先度加算値を決定する決定手段と、決定された優先度加算値と、コンテンツのキャッシュと、を第２のユーザのクライアント装置に送信する送信手段と、を有することによって課題を解決する。【選択図】図５
2015197692.tif 000002
【特許請求の範囲】
【請求項１】
アクセスログを記録する記録手段と、
前記アクセスログに基づきコンテンツを投稿した第１のユーザと第２のユーザとの関連性を分析する分析手段と、
前記分析の結果に基づき前記第１のユーザが投稿した前記コンテンツのキャッシュに対する優先度加算値を決定する決定手段と、
前記決定された優先度加算値と、前記コンテンツのキャッシュと、を前記第２のユーザのクライアント装置に送信する送信手段と、
を有するサーバ装置。
【請求項２】
アクセスログを記録する記録手段と、
前記アクセスログに基づきコンテンツを投稿した第１のユーザと第２のユーザとの関連性を分析する分析手段と、
前記分析の結果に基づき前記第１のユーザが投稿した前記コンテンツのキャッシュに対する優先度加算値を決定する決定手段と、
前記決定された優先度加算値と、前記コンテンツのキャッシュと、をキャッシュサーバ装置に送信する送信手段と、
を有するサーバ装置。
【請求項３】
アクセスログを記録する記録手段と、
前記アクセスログに基づき第１のユーザと第２のユーザとの関連性を分析する分析手段と、
前記分析の結果に基づき前記第１のユーザがコンテンツを投稿した場合の前記コンテンツのキャッシュに対する優先度加算値を決定する決定手段と、
前記決定された優先度加算値と、前記第１のユーザが投稿したコンテンツのキャッシュと、を前記第２のユーザのクライアント装置に送信する送信手段と、
を有するサーバ装置。
【請求項４】
アクセスログを記録する記録手段と、
前記アクセスログに基づき第１のユーザと第２のユーザとの関連性を分析する分析手段と、
前記分析の結果に基づき前記第１のユーザがコンテンツを投稿した場合の前記コンテンツのキャッシュに対する優先度加算値を決定する決定手段と、
前記決定された優先度加算値と、前記第１のユーザが投稿したコンテンツのキャッシュと、をキャッシュサーバ装置に送信する送信手段と、
を有するサーバ装置。
【請求項５】
前記決定手段は、前記分析の結果と前記コンテンツの種類とに基づき前記優先度加算値を決定する請求項１乃至４何れか１項記載のサーバ装置。
【請求項６】
前記アクセスログに基づいて前記第２のユーザのアクセス時間情報を取得する取得手段を更に有し、
前記送信手段は、前記取得されたアクセス時間情報で示される時間から設定された時間前の時間に、前記決定された優先度加算値と、前記コンテンツのキャッシュと、を前記第２のユーザのクライアント装置に送信する請求項１記載のサーバ装置。
【請求項７】
前記分析手段は、前記第１のユーザと前記第２のユーザとが設定された関係を有するか否か、関連性を分析し、
前記決定手段は、前記分析の結果、前記第１のユーザと前記第２のユーザとが前記設定された関係を有すると分析された場合、前記設定された関係となってからの経過時間情報に応じて、前記第１のユーザが投稿した前記コンテンツのキャッシュに対する優先度加算値を決定する請求項１乃至６何れか１項記載のサーバ装置。
【請求項８】
前記第１のユーザが投稿したコンテンツのファイルサイズが設定された閾値以上であるか否かを判定する判定手段を更に有し、
前記分析手段は、前記判定手段により前記コンテンツのファイルサイズが設定された閾値以上であると判定された場合、前記第１のユーザと前記第２のユーザとの関連性を分析する請求項１又は２記載のサーバ装置。
【請求項９】
前記アクセスログは、前記コンテンツへのアクセスに関するアクセスログ、又は前記第１のユーザと前記第２のユーザとのメッセージ交換に関するアクセスログ、又は前記コンテンツに対するコメントの投稿に関するアクセスログである請求項１乃至８何れか１項記載のサーバ装置。
【請求項１０】
キャッシュごとに設けられた優先度に応じて前記キャッシュの保存、読み出し、書き換えを行うキャッシュシステムであって、
アクセスログを記録する記録手段と、
前記アクセスログに基づきコンテンツを投稿した第１のユーザと第２のユーザとの関連性を分析する分析手段と、
前記分析の結果に基づき前記第１のユーザが投稿した前記コンテンツのキャッシュに対する優先度加算値を決定する決定手段と、
前記決定された優先度加算値を前記キャッシュの前記優先度に対して加算する加算手段と、
を有するキャッシュシステム。
【請求項１１】
キャッシュごとに設けられた優先度に応じて前記キャッシュの保存、読み出し、書き換えを行うキャッシュシステムであって、
アクセスログを記録する記録手段と、
前記アクセスログに基づき第１のユーザと第２のユーザとの関連性を分析する分析手段と、
前記分析の結果に基づき前記第１のユーザがコンテンツを投稿した場合の前記コンテンツのキャッシュに対する優先度加算値を決定する決定手段と、
前記決定された優先度加算値を前記キャッシュの前記優先度に対して加算する加算手段と、
を有するキャッシュシステム。
【請求項１２】
サーバ装置が実行する情報処理方法であって、
アクセスログを記録する記録ステップと、
前記アクセスログに基づきコンテンツを投稿した第１のユーザと第２のユーザとの関連性を分析する分析ステップと、
前記分析の結果に基づき前記第１のユーザが投稿した前記コンテンツのキャッシュに対する優先度加算値を決定する決定ステップと、
前記決定された優先度加算値と、前記コンテンツのキャッシュと、を前記第２のユーザのクライアント装置に送信する送信ステップと、
を含む情報処理方法。
【請求項１３】
サーバ装置が実行する情報処理方法であって、
アクセスログを記録する記録ステップと、
前記アクセスログに基づきコンテンツを投稿した第１のユーザと第２のユーザとの関連性を分析する分析ステップと、
前記分析の結果に基づき前記第１のユーザが投稿した前記コンテンツのキャッシュに対する優先度加算値を決定する決定ステップと、
前記決定された優先度加算値と、前記コンテンツのキャッシュと、をキャッシュサーバ装置に送信する送信ステップと、
を含む情報処理方法。
【請求項１４】
サーバ装置が実行する情報処理方法であって、
アクセスログを記録する記録ステップと、
前記アクセスログに基づき第１のユーザと第２のユーザとの関連性を分析する分析ステップと、
前記分析の結果に基づき前記第１のユーザがコンテンツを投稿した場合の前記コンテンツのキャッシュに対する優先度加算値を決定する決定ステップと、
前記決定された優先度加算値と、前記第１のユーザが投稿したコンテンツのキャッシュと、を前記第２のユーザのクライアント装置に送信する送信ステップと、
を含む情報処理方法。
【請求項１５】
サーバ装置が実行する情報処理方法であって、
アクセスログを記録する記録ステップと、
前記アクセスログに基づき第１のユーザと第２のユーザとの関連性を分析する分析ステップと、
前記分析の結果に基づき前記第１のユーザがコンテンツを投稿した場合の前記コンテンツのキャッシュに対する優先度加算値を決定する決定ステップと、
前記決定された優先度加算値と、前記第１のユーザが投稿したコンテンツのキャッシュと、をキャッシュサーバ装置に送信する送信ステップと、
を含む情報処理方法。
【請求項１６】
キャッシュごとに設けられた優先度に応じて前記キャッシュの保存、読み出し、書き換えを行うキャッシュシステムが実行する情報処理方法であって、
アクセスログを記録する記録ステップと、
前記アクセスログに基づきコンテンツを投稿した第１のユーザと第２のユーザとの関連性を分析する分析ステップと、
前記分析の結果に基づき前記第１のユーザが投稿した前記コンテンツのキャッシュに対する優先度加算値を決定する決定ステップと、
前記決定された優先度加算値を前記キャッシュの前記優先度に対して加算する加算ステップと、
を含む情報処理方法。
【請求項１７】
キャッシュごとに設けられた優先度に応じて前記キャッシュの保存、読み出し、書き換えを行うキャッシュシステムが実行する情報処理方法であって、
アクセスログを記録する記録ステップと、
前記アクセスログに基づき第１のユーザと第２のユーザとの関連性を分析する分析ステップと、
前記分析の結果に基づき前記第１のユーザがコンテンツを投稿した場合の前記コンテンツのキャッシュに対する優先度加算値を決定する決定ステップと、
前記決定された優先度加算値を前記キャッシュの前記優先度に対して加算する加算ステップと、
を含む情報処理方法。
【請求項１８】
コンピュータに、
アクセスログを記録する記録ステップと、
前記アクセスログに基づきコンテンツを投稿した第１のユーザと第２のユーザとの関連性を分析する分析ステップと、
前記分析の結果に基づき前記第１のユーザが投稿した前記コンテンツのキャッシュに対する優先度加算値を決定する決定ステップと、
前記決定された優先度加算値と、前記コンテンツのキャッシュと、を前記第２のユーザのクライアント装置に送信する送信ステップと、
を実行させるためのプログラム。
【請求項１９】
コンピュータに、
アクセスログを記録する記録ステップと、
前記アクセスログに基づきコンテンツを投稿した第１のユーザと第２のユーザとの関連性を分析する分析ステップと、
前記分析の結果に基づき前記第１のユーザが投稿した前記コンテンツのキャッシュに対する優先度加算値を決定する決定ステップと、
前記決定された優先度加算値と、前記コンテンツのキャッシュと、をキャッシュサーバ装置に送信する送信ステップと、
を実行させるためのプログラム。
【請求項２０】
コンピュータに、
アクセスログを記録する記録ステップと、
前記アクセスログに基づき第１のユーザと第２のユーザとの関連性を分析する分析ステップと、
前記分析の結果に基づき前記第１のユーザがコンテンツを投稿した場合の前記コンテンツのキャッシュに対する優先度加算値を決定する決定ステップと、
前記決定された優先度加算値と、前記第１のユーザが投稿したコンテンツのキャッシュと、を前記第２のユーザのクライアント装置に送信する送信ステップと、
を実行させるためのプログラム。
【請求項２１】
コンピュータに、
アクセスログを記録する記録ステップと、
前記アクセスログに基づき第１のユーザと第２のユーザとの関連性を分析する分析ステップと、
前記分析の結果に基づき前記第１のユーザがコンテンツを投稿した場合の前記コンテンツのキャッシュに対する優先度加算値を決定する決定ステップと、
前記決定された優先度加算値と、前記第１のユーザが投稿したコンテンツのキャッシュと、をキャッシュサーバ装置に送信する送信ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置、キャッシュシステム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来のキャッシュ技術では、コンテンツ配信分野でも利用されるものであり、アクセスの多いコンテンツファイルに対して高速に読み出し可能な一時ファイル（キャッシュ）を作成する。そして、前記キャッシュ技術では、クライアント端末やキャッシュサーバにそれを配置するものである。更に一旦配置されたキャッシュは決められた手順によって入れ替えも行われる。例えば、アクセス頻度が低い順に新しいキャッシュへ入れ替えるという手順がある。これはＬＲＵ方式と呼ばれよく用いられている。また、キャッシュの作成方法として、コンテンツファイルに対するアクセス履歴の情報を用いる方法がある。例えば、文書に対するアクセス履歴を調べ、ある文書Ｘを見るとき同時に別の文書Ｙを見ることが多かったとする。その場合、特許文献１の技術では、次に文書Ｘにアクセスがあったときに文書Ｙのキャッシュを作成する。また特許文献２の技術では、Ｗｅｂブラウザ上での操作履歴を調べ、閲覧時間が長いコンテンツを重要度の高いコンテンツとし、次回表示時に優先的にキャッシュを作成する。上記のようなキャッシュ技術を用いることで、画像や動画等の大容量データの配信においてファイルのダウンロード遅延を軽減することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−７３０３９号公報
【特許文献２】特開２００８−０９６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の先行技術ではコンテンツのダウンロード遅延が発生する場合がある。例えば、ＳＮＳ上で友達関係にあるユーザＡとユーザＢとがおり、ユーザＡが動画ファイルＭをＳＮＳ上へ投稿したとする。そしてこのファイルＭに対するアクセス数は所定のアクセス数より少ないとする。先行技術を用いた場合、アクセス頻度が低いキャッシュは新しいキャッシュによって更新されるので、ファイルＭが一時的にキャッシュされたとしてもすぐに消えてしまう可能性が高い。そのため、ユーザＢがファイルＭを閲覧する時点でキャッシュが消えており、ダウンロード遅延が発生する可能性も高くなる。一方、ファイルＭのキャッシュを作成する際には、先行技術ではファイルＭのアクセス履歴の情報が必要である。つまり、一番初めにアクセスしたユーザに対してはダウンロード遅延が発生してしまう。例えばユーザＢはユーザＡが投稿する動画はいつもアクセスしている場合、上記のようなダウンロード遅延が発生しないことが望ましい。
【０００５】
本発明はこのような問題点に鑑みなされたもので、アクセス頻度の低いコンテンツファイルに対してもダウンロード遅延の発生を抑えることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明のサーバ装置は、アクセスログを記録する記録手段と、前記アクセスログに基づきコンテンツを投稿した第１のユーザと第２のユーザとの関連性を分析する分析手段と、前記分析の結果に基づき前記第１のユーザが投稿した前記コンテンツのキャッシュに対する優先度加算値を決定する決定手段と、前記決定された優先度加算値と、前記コンテンツのキャッシュと、を前記第２のユーザのクライアント装置に送信する送信手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、アクセス頻度の低いコンテンツファイルに対してもダウンロード遅延の発生を抑えることができる。
【図面の簡単な説明】
【０００８】
【図１】キャッシュシステムのシステム構成の一例を示す図（その１）である。
【図２】情報処理装置のハードウェア構成の一例を示す図である。
【図３】サーバやクライアントの機能構成の一例を示す図である。
【図４】アクセスログの記録処理の一例を示す図である。
【図５】キャッシュ作成処理の一例を示すフローチャート（その１）である。
【図６】優先度加算条件と優先度加算値との一例を示す図である。
【図７】コンテンツの種類と優先度加算値との一例を示す図である。
【図８】キャッシュシステムのシステム構成の一例を示す図（その２）である。
【図９】サーバやクライアント、キャッシュサーバの機能構成の一例を示す図である。
【図１０】キャッシュ作成処理の一例を示すフローチャート（その２）である。
【図１１】各ファイルに対する優先度加算値の一例を示す図（その１）である。
【図１２】各ファイルに対する優先度加算値の一例を示す図（その２）である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、キャッシュシステムのシステム構成の一例を示す図である。キャッシュシステムは、図１のように、ネットワーク１に接続可能なスマートフォン等の携帯端末２やＰＣ３及びサーバ４によって構成される。サーバ４上ではＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）のシステムが動作しており、利用者は携帯端末２やＰＣ３を通じてアクセスし、ＳＮＳ上に投稿された投稿コンテンツの閲覧や、ユーザ同士でのメッセージ投稿等を行う。
【００１１】
図２は、携帯端末２、ＰＣ３、サーバ４等の情報処理装置のハードウェア構成の一例を示す図である。図２に示すように携帯端末２、ＰＣ３、サーバ４は、２２０１〜２２０８から構成される。中央演算処理装置２２０１は、演算手段であり、装置全体の動作制御のための各種処理を実行する。メモリ２２０２は、ＲＡＭやＲＯＭ等の半導体メモリであり、中央演算処理装置２２０１で実行する各種プログラムが格納されたり、情報処理をする際の作業領域として用いられたりする。入力装置２２０３は、キーボードやマウスやタッチデバイス等でありユーザが情報を入力する際のインタフェースとなる。出力装置２２０４は、ディスプレイ装置等であり、ユーザに対し情報を出力する際のインタフェースとなる。キャッシュ装置２２０５は、後述の補助記憶装置２２０６より高速な読み出しが可能な記憶装置及び制御装置であり、キャッシュの保存、読み出し、書き換え等を行う。補助記憶装置２２０６は、ハードディスクドライブ等であり、画像データ等の各種データの保管先に用いられる。通信インタフェース２２０７は、外部ネットワークとのデータ入出力の制御を行う。システムバス２２０８は、上記２２０１〜２２０７を接続し各装置間での情報転送経路となる。中央演算処理装置２２０１がメモリ２２０２に記憶されたプログラムに基づき処理を実行することによって、各装置の機能及び後述するフローチャートの処理が実現される。
【００１２】
図３は、サーバやクライアントの機能構成の一例を示す図である。サーバ４は、以下の１０１〜１０８からなる。データベース（以下、ＤＢ）１０１は、ＳＮＳサービスに必要な種々のデータが保存されている。このデータには、ユーザの投稿コンテンツのデータや、ユーザのアクセスログ等も含まれる。アクセスログ記録部１０２は、クライアントから要求された投稿コンテンツのファイルへのアクセス時刻や投稿コンテンツのファイルＩＤ等といったアクセス情報をＤＢ１０１へ保存する。ユーザ関連性分析部１０３は、ＤＢ１０１に記録されたアクセスログを読み出し、ＳＮＳ上におけるユーザ同士の関連性を分析する。なお、関連性についてのより具体的な例は後述する。キャッシュ優先度決定部１０４は、ユーザ関連性分析部１０３から受け取った分析結果を基に、個々のキャッシュに対する優先度加算値を決定する。ここで、優先度加算値は優先度（優先度値）に対して加算する値である。ファイル受信部１０５は、ユーザがクライアントを用いてＳＮＳへ投稿した投稿コンテンツファイルを受信する。キャッシュ生成部１０６は、ファイル受信部１０５から受け取った投稿コンテンツのファイルのキャッシュを作成する。また、キャッシュ生成部１０６は、ユーザ関連性分析部１０３から取得した情報によりキャッシュの作成有無の判断をする。キャッシュ送信部１０７は、キャッシュとそれに対する優先度加算値とをクライアントへ送信する。ＤＢアクセス制御部１０８は、ＤＢ１０１に対してデータの読出しや書込みの制御を行う。
【００１３】
クライアント２００は、図１の携帯端末２やＰＣ３に該当し、以下の２０１〜２０５からなる。キャッシュ記憶装置２０１は、キャッシュを保存するための場所である。キャッシュ記憶装置２０１は、図２のキャッシュ装置２２０５に含まれる。表示ＵＩ部２０２は、ＳＮＳ上の投稿コンテンツの表示や、ＳＮＳへのコンテンツ投稿等各種操作のためのインタフェースを備える。また、ＳＮＳ上で他ユーザの投稿コンテンツを閲覧した、コメントのやりとりをした、といったアクセス情報は、表示ＵＩ部２０２からアクセスログ記録部１０２へ通知される。また、表示ＵＩ部２０２は、データ表示の際に必要に応じてキャッシュを取得する。ファイル送信部２０３は、投稿コンテンツをサーバへアップロード送信する。ユーザがアップロードを行う際には、ファイル送信部２０３は、表示ＵＩ部２０２が持つインタフェースを通じてアップロードを行う。キャッシュ受信部２０４は、キャッシュ送信部１０７から送られてくるキャッシュや優先度加算値を受信する。例えば、この機能は図２の中央演算処理装置２２０１が通信インタフェース２２０７とキャッシュ装置２２０５とを用いて実現される。キャッシュアクセス制御部２０５は、キャッシュ記憶装置２０１に対してデータの読出しや書込みの制御を行う。
【００１４】
次に、キャッシュシステムの基本的な動作例を以下説明する。図４は、ユーザがＳＮＳを利用する際に行われるアクセスログの記録処理の一例を示す図である。まず前提としてＳＮＳサービスの会員であるユーザＢがサービスにログインしているものとする。また、ユーザＢのユーザＩＤと、ユーザＢが所有するクライアントのＩＤと、が対応付けられてサーバで保存されているものとする。ユーザＢがクライアントを用いて、ユーザＡの投稿コンテンツＸを閲覧する操作をすると、サーバへアクセス要求が送信される（Ｓ４０１）。サーバでは要求を受信すると（Ｓ４０２、Ｓ４０３においてＹＥＳ）、該当する投稿コンテンツのデータをＤＢから取得してクライアントへ送信する（Ｓ４０４）。クライアントでは受信したデータを端末上に表示する（Ｓ４０５）。そしてサーバではユーザＢがユーザＡの投稿コンテンツＸにアクセスしたことを示す情報がＤＢへ保存される（Ｓ４０７）。例えば、投稿コンテンツＸのファイルＩＤや、アクセスしたユーザＢのＩＤ、アクセス時刻等の情報が対応付けられて保存される。そしてこれらの処理はユーザＢがログアウトするまで繰り返し行われる（Ｓ４０６）。以上のように、ＳＮＳ上でユーザが投稿コンテンツへアクセスした場合にそのログが保存される。更に投稿コンテンツへのアクセスのみならず、例えばユーザとテキストメッセージのやりとりをした場合や、投稿コンテンツに対してコメントを投稿した場合等も同様にアクセスログが保存される。
【００１５】
次に、ＳＮＳの会員ユーザＡが動画ファイルＭを投稿し、それをユーザＡとＳＮＳ上で友達関係にあるユーザＢが閲覧する場合を例にとって、サーバで行われるキャッシュ作成処理を、図５を用いて説明する。サーバ４は、まず動画ファイルＭを受信すると（Ｓ５０１）、ユーザＡとユーザＢとがＳＮＳ上での友達関係にあるかをチェックする（Ｓ５０２）。ここで、ＳＮＳ上においてユーザ同士が友達か否かの情報はサーバ４の所定の記憶領域に記憶されているものとする。ＳＮＳ上では、例えば、ユーザＡがユーザＢにフォローリクエストを送り、ユーザＢが前記フォローリクエストを認証すると共にユーザＢがユーザＡにフォローリクエストを送り、ユーザＡが前記フォローリクエストを認証した場合、友達関係となる。そして、ユーザＡ及びユーザＢが友達関係である旨の情報がサーバ４の所定の記憶領域に記憶される。なお、ここでは友達関係の例として、お互いがフォローリクエストを送信し合い、お互いが認証を行う例を説明したが、これに限定されるものではない。
【００１６】
サーバ４は、友達関係にあった場合、動画ファイルＭのキャッシュを作成する（Ｓ５０３）。一方、サーバ４は、友達関係になかったらキャッシュを作成せず、図５に示す処理を終了する。サーバ４は、ＤＢ１０１からアクセスログを取得し、それを基にユーザＡとユーザＢとの関連性を分析する（Ｓ５０４）。関連性とは例えば、図６中の「優先度加算条件」列に示すような内容である。例えば図６中のＩＤ：ＣＰ１〜ＣＰ３では、最近１週間の間に、ユーザＡがユーザＢとチャット等によるメッセージ交換を何回行ったかという情報である。このようにＳ５０４において、サーバ４は、ユーザ同士の関連性がどれだけ強いかを示すような情報をログ分析によって得る。これらの処理はユーザ関連性分析部１０３で行われる。次に、サーバ４は、ログ分析から得た結果に応じてキャッシュの優先度加算値を決定する（Ｓ５０５〜Ｓ５０８）。なお、優先度加算値は例えば図６のように条件に対して予め決められておりＤＢ１０１に保存されている。この処理はキャッシュ優先度決定部１０４で行われる。次に、サーバ４は、優先度加算値とＳ５０３で作成したキャッシュとをユーザＢのクライアントへ送信する（Ｓ５０９）。
【００１７】
ユーザＢのクライアントがデータを受け取るとそれらはキャッシュ記憶装置２０１に保存される。このとき、クライアントは、キャッシュ制御に用いる優先度の値に対して、受信した優先度加算値を加える処理を行う。その結果、ユーザＡの投稿した動画ファイルＭのキャッシュに対する優先度値は高い値になる。なお、ユーザＢのクライアントでは従来技術を用いたキャッシュ制御が行われているとする。すると、ユーザＢがある投稿コンテンツにアクセスしなければそのキャッシュは生成されない。また、例えばＬＦＵ方式を用いると、キャッシュのアクセス頻度に応じて優先度が設定され、優先度が低いキャッシュから順に新しいキャッシュで上書きされる。つまり、ユーザＢが頻繁に閲覧する投稿コンテンツほどキャッシュが長時間残ることとなる。ここで、従来技術ではユーザＡの投稿動画はユーザＢがアクセスするまでキャッシュされないが、本実施形態の処理を適用すればアクセスするより前にキャッシュが作成される。つまり、最初のアクセスの時点からダウンロード遅延の発生を抑えることが可能となる。また、従来技術でユーザＡの投稿動画がキャッシュされていたとしても、ユーザＢが他の投稿コンテンツを閲覧するとそれらのキャッシュによって上書きされていく。そして再度、ユーザＡの投稿動画を閲覧するときにキャッシュがないためダウンロード遅延が発生してしまう。ここで本実施形態の処理が適用されると、ユーザＡの投稿動画のキャッシュが本実施形態の処理を適用しない場合に比べて高い優先度になっている。そのため、キャッシュが上書き消去される確率が減り、ひいてはダウンロード遅延が起きる確率を下げることが可能となる。ユーザＡは、第１のユーザの一例である。ユーザＢは、第２のユーザの一例である。
【００１８】
＜実施形態２＞
本実施形態では実施形態１で示したキャッシュの優先度加算値の決め方において、投稿コンテンツの種類を考慮に入れる例を説明する。例えば、サーバ４は、図５のＳ５０３において作成されたキャッシュのコンテンツの種類をＤＢ１０１へ記録する。そして、Ｓ５０４における関連性の分析の際に、サーバ４は、閲覧者であるユーザＢがよく閲覧する投稿コンテンツの種類を調べる。そして、サーバ４は、その結果に応じて優先度加算値を変更する、という処理を実行する。
【００１９】
以下、この処理に従った例を示す。まずＳ５０３で、例えば、サーバ４は、キャッシュのコンテンツの種類が「動画」であると記録する。そして、Ｓ５０４で、サーバ４は、アクセスログから、ユーザＢがよく閲覧する投稿コンテンツは「動画」であり「写真」ではない、といった情報を得る。より具体的には、サーバ４は、予め決められた閾値の回数以上、ユーザＢが閲覧しているコンテンツの種類を記録する。そして、サーバ４は、キャッシュのコンテンツの種類と、ユーザＢがよく閲覧するコンテンツの種類がどちらも「動画」であると判断された場合、優先度加算値を＋１０する。一方、サーバ４は、もしユーザＢがよく閲覧する投稿コンテンツが「写真」だった場合、優先度加算値を０やマイナス値にしてもよい。以上の処理によれば、ユーザＢが好んでよく閲覧する種類の投稿コンテンツに対してダウンロード遅延が発生する確率を下げることが可能となる。
【００２０】
また、あるユーザがよく閲覧する投稿コンテンツの種類は、投稿者によっても異なる場合もある。例えばユーザＡが投稿した動画はよく見るが、ユーザＣが投稿した動画はあまり見ない。また、ユーザＣが投稿した写真はよく見るがユーザＡが投稿した写真はあまり見ない、というような場合である。このような場合、サーバ４は、以下のように優先度加算値を決定する。まず、例えばユーザＢはＳＮＳ上でユーザＡ、Ｃ、Ｄ、の３人と友達関係にあり、ユーザＡ、Ｃ、Ｄは各自ＳＮＳ上へ写真、ムービー、音楽といった投稿コンテンツを投稿しているとする。ここで図５のＳ５０１より前の時点で、サーバ４は、ユーザＢが過去に閲覧したユーザＡの投稿コンテンツのうちどの種類が多いかを調べそれに応じて優先度加算値を決めておく。例えばユーザＢはユーザＡの投稿動画をよく閲覧していた場合、サーバ４は、図７のＰＶＲ１列のように値を決める。また、例えばユーザＣの投稿写真をよく閲覧していた場合、サーバ４は、ＰＶＲ２列のようにする。ユーザＤに対しても同様にＰＶＲ３列のように、サーバ４は、よく閲覧していたコンテンツの種類の値が他の値よりも高くなるようにする。そして、サーバ４は、Ｓ５０１で受信した投稿ファイルの投稿者と、Ｓ５０３で作成するキャッシュの種類と、によって、図７で示した値を優先度加算値とする。例えば、ユーザＣの投稿写真のキャッシュに対する優先度加算値は、＋６０となる。以上のようにすれば、ユーザＢがある投稿者に対してよく見る種類の投稿コンテンツに対してダウンロード遅延が発生する確率を下げることが可能となる。
【００２１】
＜実施形態３＞
実施形態１、２において、投稿コンテンツの閲覧者がよくＳＮＳへアクセスする時間を調べその直前の時間帯にクライアントへキャッシュを送信する例について述べる。本実施形態では図５のＳ５０９において更に、サーバ４は、ＤＢ１０１からログを取得し、その内容から閲覧するユーザが過去どの時間帯に最もよくアクセスしているかを調査する処理を行う。この調査の結果得られる情報としては、例えばユーザＢがＳＮＳによくアクセスする時間、ユーザＢが投稿者ユーザＡの投稿コンテンツをよく見ている時間等である。また例えば、「毎週日曜日は２１時〜２２時によく閲覧する」、「７月は１９時前後によく閲覧する」等のように、サーバ４は、曜日や月ごとにアクセス時間を集計して調査してもよい。以上のように調査した結果を基に、サーバ４は、キャッシュと優先度加算値との情報を送信する時間を変更する。例えば、ユーザＢが「毎週日曜日は２１時〜２２時によく閲覧する」という場合、サーバ４は、２１時の５分前に送信する。「毎週日曜日は２１時〜２２時によく閲覧する」は、アクセス時間情報の一例である。また、２１時の５分前は、アクセス時間情報で示される時間から設定された時間前の時間の一例である。以上の処理によれば、投稿コンテンツの閲覧者が見るときにキャッシュがクライアントに残っている確率が、実施形態１、２と比べて高くなる。つまり、ユーザＢが閲覧する投稿コンテンツのダウンロード遅延が発生する確率を実施形態１、２よりも下げることが可能となる。
【００２２】
＜実施形態４＞
本実施形態では、図１で示したシステム構成において更にキャッシュサーバ５が加わり、図８のようになった場合を想定する。キャッシュサーバとはキャッシュをクライアントへ配信するために設けられた専用のサーバである。そしてキャッシュサーバ５は、クライアントである携帯端末２やＰＣ３から見て、サーバ４よりも近いネットワーク的位置に設置されている。クライアントはまずキャッシュサーバ５にアクセスすることで、サーバ４にアクセスするよりも高速に投稿コンテンツを閲覧することが可能となる。
【００２３】
図９は、サーバやクライアント、キャッシュサーバの機能構成の一例を示す図である。なお、サーバ４内の構成要素と、クライアント２００内の表示ＵＩ部２０２とファイル送信部２０３とは、図３と同等である。図３と違いのあるキャッシュサーバ５内の構成要素について以下説明する。キャッシュサーバ５は以下の３０１〜３０４からなる。キャッシュ記憶装置３０１は、キャッシュを保存するための場所である。キャッシュ記憶装置３０１は図２のキャッシュ装置２２０５に含まれる。キャッシュ受信部３０２は、キャッシュ送信部１０７から送られてくるキャッシュや優先度加算値を受信する。例えば、この機能は図２の中央演算処理装置２２０１が通信インタフェース２２０７とキャッシュ装置２２０５とを用いて実現される。キャッシュアクセス制御部３０３は、キャッシュ記憶装置３０１に対してデータの読出しや書込みの制御を行う。キャッシュ送信部３０４は、クライアント２００からの要求を受け付け、要求があった場合にキャッシュを送信する。例えば、この機能は図２の中央演算処理装置２２０１が通信インタフェース２２０７とキャッシュ装置２２０５とを用いて実現される。
【００２４】
次に、本実施形態におけるサーバの動作例を、図１０を用いて説明する。ここでは、ＳＮＳの会員ユーザＡが投稿コンテンツを投稿し、それをユーザＡとＳＮＳ上で友達関係にある複数人が閲覧する場合を例とする。まず、サーバ４は、ユーザＡの投稿ファイルを受信すると（Ｓ１００１）、ユーザＡと友達関係にあるユーザのリストをＤＢ１０１から取得する（Ｓ１００２）。そしてユーザＡにＳＮＳ上の友達が誰もいない場合、サーバ４は、キャッシュを作成せずに、図１０に示す処理を終了する。一方、ＳＮＳ上の友達が１人でもいた場合、サーバ４は、投稿ファイルのキャッシュを作成する（Ｓ１００３、Ｓ１００４）。そして、サーバ４は、ＤＢ１０１からアクセスログを取得し、ユーザＡとＳＮＳ上の友達の１人であるユーザＸに対して関連性を分析しその結果に応じて優先度加算値を決定する（Ｓ１００６〜Ｓ１０１０）。これらの処理は図５のＳ５０４〜Ｓ５０８における処理と同様である。そして、サーバ４は、以上のＳ１００６〜Ｓ１０１０の処理を、ユーザＡのＳＮＳ上の友達全員に対して繰り返し実施する（Ｓ１００５）。ここで、Ｓ１００３ではユーザＡの友達が１人でもいればキャッシュを作成した。しかし、別の例として、例えば、サーバ４は、設定された人数以上（例えば、５人以上）友達がいた場合にキャッシュを作成する、というようにしてもよい。以上のＳ１０１０までの処理の結果、図１１に示すように各ファイルに対する優先度加算値が決定される。
【００２５】
ここで図１１中のＦｉｌｅ１を例にとって優先度加算値の決定方法を説明する。まずＦｉｌｅ１はユーザＡが投稿した投稿コンテンツのファイルである。そしてユーザＡはユーザＢ及びユーザＣとＳＮＳ上の友達関係にあるものとする。次に、例えば、サーバ４は、ユーザＡはユーザＢと最近１週間のメッセージ交換が１００回あったので図６のＣＰ２から優先度加算値を＋１００と判断する。一方、サーバ４は、ユーザＣとはメッセージ交換が５０回あったので図６のＣＰ３から優先度加算値は＋５０と判断する。サーバ４は、以上の２つの値を加算することによって、Ｆｉｌｅ１の優先度加算値を１５０とする。このようにして優先度加算値が決まったら、サーバ４は、Ｆｉｌｅ１のキャッシュと共に前記優先度加算値をキャッシュサーバへ送信する（Ｓ１０１１）。
【００２６】
キャッシュサーバが前記キャッシュ及び前記優先度加算値を受け取ると、前記キャッシュと前記キャッシュの優先度値に前記優先度加算値が加算された優先度値とがキャッシュ記憶装置３０１に保存される。キャッシュサーバにはユーザＡの投稿コンテンツＦｉｌｅ１のキャッシュ以外にも様々なキャッシュが保管されており、アクセス頻度に応じて優先度が設定されている。このときユーザＡの投稿コンテンツのキャッシュの優先度値が本実施形態を適用しない場合に比べて高く設定されることになるため、他のキャッシュによって上書きされるまでの時間は長くなる。よって、ある時刻にユーザＢがＦｉｌｅ１を閲覧する際に、そのキャッシュが上書きされずに残っている可能性が高くなる。このようにして、ユーザＢがＦｉｌｅ１を閲覧する際にダウンロード遅延が起きる確率を下げることができる。
【００２７】
＜実施形態５＞
これまでに示した実施形態では優先度加算値を決定する際、ユーザ同士がＳＮＳ上でお互い友達関係にある場合を前提とした。しかしＳＮＳ上でのフォロー関係のような、一方的なつながりしかない場合でも上述した実施形態の処理は適用できる。図１２は、優先度加算値の一例を示す図である。ユーザＢが、ユーザＡ及びユーザＣに対して一方的な関わりがある場合の優先度加算値の一例である。例えば図６のＩＤ：ＣＰ６の優先度加算条件のように、ユーザＢがユーザＡの過去の投稿ファイルを９０％以上閲覧していたとする。一方、ユーザＡはユーザＢの投稿ファイルを過去閲覧していなかったとする。すると、図１２中のＰＶ８のようにＦｉｌｅ１の優先度加算値は＋１２０となる一方、ＰＶ９のようにＦｉｌｅ２の優先度加算値は０となる。以上のように本実施形態によれば、閲覧される可能性の低いユーザＢの投稿ファイルＦｉｌｅ２のキャッシュの優先度は上がらないため、以前の実施形態と比べ、より現実的なキャッシュ優先度が設定できる。
【００２８】
＜実施形態６＞
ＳＮＳの利用者の傾向として、友達関係を結んで間もない期間はお互いの投稿コンテンツを閲覧する可能性が高い。例えばユーザＡとユーザＢとがある時期にＳＮＳ上で友達関係を結んだとする。すると、サーバ４は、図１０のＳ１００６でアクセスログから二人が友達関係となった日時からどのくらいの時間が経過しているか経過時間を調べることができる。ここで、例えば、１週間という閾値が予め設定されていたとする。サーバ４は、前記調べた経過時間を示す経過時間情報が前記閾値の期間以内（例えば、１週間以内）であれば、優先度加算値を通常より＋５０する、といった処理を行う。以上のように本実施形態によれば、ユーザＡとユーザＢとがお互いの投稿コンテンツを見る可能性が高い時期において、ファイルのダウンロード遅延が起きる確率を下げることが可能となる。
【００２９】
＜実施形態７＞
これまでの実施形態ではサーバ４は、図５のＳ５０４や図１０のＳ１００６のように、アクセスログからユーザ同士の関連性を分析する処理をキャッシュ作成処理の中で行ってきた。しかしながら、サーバ４は、前記関連性を分析する処理をキャッシュ作成以前の時点で行ってもよい。例えば、サーバ４は、ＳＮＳ上での活動が行われてアクセスログを記録する時点で、各ユーザ同士の関連性を分析する。そして、サーバ４は、この後もしユーザＡがファイルを投稿した場合に加算すべき優先度加算値を仮に決定し、ＤＢ１０１に保存しておく。なお、この値はアクセスログが変化する度に更新される。このように準備しておけば、サーバ４は、図５のＳ５０４や図１０のＳ１００６ではＤＢ１０１に保存された値を読み込むだけでよく、キャッシュ生成処理時間が短縮できる。つまり、ファイルが投稿直後に閲覧される場合でもダウンロード遅延が起きる確率を減らせるという効果がある。
【００３０】
＜実施形態８＞
投稿コンテンツのファイルのサイズに応じて、これまでの実施形態で述べた優先度加算値を付与するキャッシュ生成処理と、優先度加算値を付与しないキャッシュ生成処理とを切り替えるようにしてもよい。例えば、サーバ４は、図５のＳ５０１で投稿ファイルを受信後、そのファイルサイズを判定する。そして、サーバ４は、ファイルサイズが閾値以上（例えば、１００ＭＢ以上）であればＳ５０２以降の処理を実施する。一方、サーバ４は、１００ＭＢ以下であれば、Ｓ５０３のキャッシュ作成処理を行った後、キャッシュのみをユーザＢの端末へ送信する。この場合、サーバ４は、優先度加算値を決めるための処理は行わない。このようにすることで、１００ＭＢ以下のファイルならば優先度加算値を決めるためのアクセスログの分析処理等を行わないため、より速くキャッシュすることができる。そして投稿コンテンツのファイルが投稿直後に閲覧される場合でもダウンロード遅延が起きる確率を減らせる。一方、このファイルは優先度加算値が無くなるため、従来技術によるキャッシュと同等の扱いになる。つまり、すぐに他のキャッシュによって上書きされる可能性は１００ＭＢ以上のファイルよりは高くなる。ただ、容量が小さいファイルなので、ダウンロード遅延が発生しても、利用者への影響もそれほど大きくないと考えられる。
【００３１】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００３２】
以上、上述した各実施形態によれば、例えば、ユーザＡの投稿コンテンツに対するアクセス頻度が低くとも、そのキャッシュが他のキャッシュによってすぐに上書き消去されてしまうことを防止できる。そのため、ユーザＡの友達ユーザＢがアクセスしたときにダウンロード遅延が起きる可能性を低くすることができる。また、ユーザＡが新規アップロードしたコンテンツにユーザＢが最初にアクセスする場合でもダウンロード遅延が起きる可能性を低くできる。
【００３３】
上述した各実施形態を任意に組み合わせて実施してもよい。
【符号の説明】
【００３４】
１  ネットワーク、２  携帯端末、３  ＰＣ、４  サーバ、５  キャッシュサーバ
【図１】
2015197692.tif 000003
【図２】
2015197692.tif 000004
【図３】
2015197692.tif 000005
【図４】
2015197692.tif 000006
【図５】
2015197692.tif 000007
【図６】
2015197692.tif 000008
【図７】
2015197692.tif 000009
【図８】
2015197692.tif 000010
【図９】
2015197692.tif 000011
【図１０】
2015197692.tif 000012
【図１１】
2015197692.tif 000013
【図１２】
2015197692.tif 000014