(57)【要約】【課題】クライアント側でのコンテンツ要求から視聴開始までの応答待ち時間の短縮を図ることができ、ストリーミングが途切れる可能性を低減させる。【解決手段】同一コンテンツ名を持つキャッシュに保存されている部分コンテンツのうち最も後ろの部分であるか否かと、コンテンツの部分の最終アクセス日時の両者から削除対象データを決定する。具体的には、キャッシュに保存されている部分コンテンツのうち最も後ろの部分で、かつ、最終アクセス日時のもっとも古いものを削除することとする。【選択図】      図３
2006172296.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ配信サーバから配信されるストリーミングコンテンツをキャッシュに格納して、クライアント端末に中継するコンテンツ中継サーバにおけるキャッシュ削除方法において、１以上のストリーミングコンテンツを、その全体、あるいは、全体を１以上の部分コンテンツに分けてキャッシュに保存し、このキャッシュ内のコンテンツの保存状態を管理し、キャッシュの削除を行う際、同一コンテンツ名を持つキャッシュに保存されている部分コンテンツの最も後ろの部分であるコンテンツを削除対象としてキャッシュから削除することを特徴とするキャッシュ削除方法。
【請求項２】
コンテンツ配信サーバから配信されるストリーミングコンテンツをキャッシュに格納して、クライアント端末に中継するコンテンツ中継サーバにおけるキャッシュ削除方法において、１以上のストリーミングコンテンツを、その全体、あるいは、全体を１以上の部分コンテンツに分けてキャッシュに保存し、このキャッシュ内のコンテンツの保存状態を管理し、キャッシュの削除を行う際、同一コンテンツ名を持つキャッシュに保存されている部分コンテンツの最も後ろの部分であり、かつ、最終アクセス日時の最も古いコンテンツを削除対象としてキャッシュから削除することを特徴とするキャッシュ削除方法。
【請求項３】
コンテンツ配信サーバから配信されるストリーミングコンテンツをキャッシュに格納して、クライアント端末に中継するコンテンツ中継サーバにおいて、１以上のストリーミングコンテンツを、その全体、あるいは、全体を１以上の部分コンテンツに分けて保存するキャッシュと、このキャッシュ内のコンテンツの保存状態を管理する手段と、キャッシュの削除を行う際、同一コンテンツ名を持つキャッシュに保存されている部分コンテンツの最も後ろの部分であるコンテンツを削除対象としてキャッシュから削除する手段とを備えることを特徴とするコンテンツ中継サーバ。
【請求項４】
コンテンツ配信サーバから配信されるストリーミングコンテンツをキャッシュに格納して、クライアント端末に中継するコンテンツ中継サーバにおいて、１以上のストリーミングコンテンツを、その全体、あるいは、全体を１以上の部分コンテンツに分けて保存するキャッシュと、このキャッシュ内のコンテンツの保存状態を管理する手段と、キャッシュの削除を行う際、同一コンテンツ名を持つキャッシュに保存されている部分コンテンツの最も後ろの部分であり、かつ、最終アクセス日時の最も古いコンテンツを削除対象としてキャッシュから削除する手段とを備えることを特徴とするコンテンツ中継サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュ削除方法及びコンテンツ中継サーバに係り、特に、インターネットを利用したコンテンツ視聴者に対し、コンテンツ配信サーバからのストリーミングコンテンツ（以下、単に、コンテンツという）を中継するコンテンツ中継サーバに使用して好適なキャッシュ削除方法及びコンテンツ中継サーバに関する。
【背景技術】
【０００２】
一般に、クライアント端末とコンテンツ配信サーバとの間でクライアント端末からのコンテンツ要求及びコンテンツ配信サーバからのコンテンツを中継するコンテンツ中継サーバは、コンテンツ配信サーバからのコンテンツを複数の部分に分けてキャッシュに保存し、クライアント端末からコンテンツの要求があった場合、各部分の連続性が保たれるように要求元のクライアント端末にコンテンツの中継を行っている。そして、コンテンツ中継サーバは、要求されたコンテンツのうち一部分しかキャッシュに保存されていない場合でも、その部分をクライアント端末に対して送信している間に、後ろに続く部分のコンテンツの取得を開始することが可能である。
【０００３】
このような、コンテンツを中継する技術に関する従来技術として、例えば、特許文献１等に記載された技術が知られている。
【０００４】
ここで、コンテンツ中継サーバは、コンテンツを保存するキャッシュ領域が限界に達した際には、空き領域確保のために、キャッシュ削除プログラムを起動して適切なデータの削除を行っている。キャッシュ削除プログラムが使用するアルゴリズムとしては、最も長い間使われていないデータを削除の対象として選択するＬＲＵと呼ばれる方法が主流となっている。
【特許文献１】特開２００３−２８３５３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述した従来技術によるコンテンツ中継装置において、ストリーミングコンテンツが複数の部分に分けられてキャッシュに保存されており、各部分コンテンツの最終アクセス日時が判かる場合に、従来のＬＲＵアルゴリズムにより削除するデータの順番を決めてしまうと、キャッシュに保存されたストリーミングコンテンツの各部分のうち、最終アクセス日時が最も古いものから順に削除されることになる。この結果、キャッシュに保存されたコンテンツの各部分のうち、より先に要求元のクライアント端末に送信すべき部分が、より後の部分に先立って削除される可能性がある。
【０００６】
このため、先立って削除された部分がコンテンツの先頭部分である場合、クライアントに対するコンテンツ配信の開始が、コンテンツ配信サーバと中継装置との間で、先頭部分を中継する時間だけ遅くなってしまうという問題点を生じることになる。また、前述の先立って削除された部分がコンテンツの先頭以外の場合でも、クライアント側で、再生中にコンテンツの中断が発生する可能性があるという問題点を生じる。
【０００７】
一方、前記した従来技術は、コンテンツ全体を１つの最終アクセス日時で判断する場合、空き容量命令があると必ずあるコンテンツ全体を削除することになり、結果として中継サーバと配信サーバとの間のトラフィックを増大させてしまうという問題点を生じる。
【０００８】
本発明の目的は、前述した従来技術の問題点を解決し、一般に、コンテンツはその先頭から順に再生されるという特徴を考慮し、クライアント側でのコンテンツ要求から視聴開始までの応答待ち時間の短縮を図ることができ、ストリーミングが途切れる可能性を低減させ、かつ、中継サーバと配信サーバとの間のトラフィックの軽減を図ることができるようにしたキャッシュ削除方法及びコンテンツ中継サーバを提供することにある。
【課題を解決するための手段】
【０００９】
本発明によれば前記目的は、コンテンツ配信サーバから配信されるストリーミングコンテンツをキャッシュに格納して、クライアント端末に中継するコンテンツ中継サーバにおけるキャッシュ削除方法において、１以上のストリーミングコンテンツを、その全体、あるいは、全体を１以上の部分コンテンツに分けてキャッシュに保存し、このキャッシュ内のコンテンツの保存状態を管理し、キャッシュの削除を行う際、同一コンテンツ名を持つキャッシュに保存されている部分コンテンツの最も後ろの部分であるコンテンツを削除対象としてキャッシュから削除することにより達成される。
【００１０】
また、前記目的は、コンテンツ配信サーバから配信されるストリーミングコンテンツをキャッシュに格納して、クライアント端末に中継するコンテンツ中継サーバにおいて、１以上のストリーミングコンテンツを、その全体、あるいは、全体を１以上の部分コンテンツに分けて保存するキャッシュと、このキャッシュ内のコンテンツの保存状態を管理する手段と、キャッシュの削除を行う際、同一コンテンツ名を持つキャッシュに保存されている部分コンテンツの最も後ろの部分であるコンテンツを削除対象としてキャッシュから削除する手段とを備えることにより達成される。
【００１１】
本発明は、ストリーミングコンテンツを配信するシステムにおいて、コンテンツ中継サーバに保存されるストリーミングコンテンツのキャッシュの削除対象を決める際に、コンテンツを複数の部分に分けた時の最も後ろの部分であり、かつ、最終アクセス日時の最も古いコンテンツを優先的に選択することにより、視聴者への応答待ち時間の短縮、ストリーミングが途切れる可能性の低減及び中継サーバと配信サーバとの間のトラフィック軽減を図ることができる。
【発明の効果】
【００１２】
本発明によれば、コンテンツ視聴者への応答待ち時間の短縮、ストリーミングが途切れる可能性の低減及び中継サーバと配信サーバとの間のトラフィックの軽減を図ることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明によるキャッシュ削除方法及びコンテンツ中継サーバの実施形態を図面により詳細に説明する。
【００１４】
図１は本発明の一実施形態によるコンテンツ中継サーバを含むコンテンツ配信システムの構成を示すブロック図である。図１において、１、２はＩＳＰ(Information Service Provider)、３、５はコンテンツ配信サーバ、４はコンテンツ中継サーバ、６はクライアント端末、７〜１０はネットワーク、３１、４１、５１はバス、３１Ａ、４１Ａ、５１ＡはＣＰＵ、３２、４２、５２は外部記憶装置、３１Ｂ、４１Ｂ、５１Ｂは主メモリ、３２Ａ、５２Ａはコンテンツ配信プログラム、３２Ｂ、５２Ｂはストリーミングコンテンツ、３３、４３、５３は通信ポート、４２Ｂはキャッシュ削除プログラム、４２Ｃはコンテンツキャッシュ領域である。
【００１５】
図１に示すコンテンツ配信システムは、コンテンツ配信サーバ３及びコンテンツ中継サーバ４を備えるＩＳＰ１と、コンテンツ配信サーバ５を備えるＩＳＰ５と、クライアント端末６とが、公衆通信網、インターネット網等のネットワーク７〜１０により相互に接続されて構成されている。そして、クライアント端末６は、その利用者がＩＳＰ１と契約しており、ＩＳＰ１との間のネットワーク１０を使用し、接続ポイント１１を介してコンテンツ中継サーバ４に接続することができ、所望するコンテンツの配信を受けることができる。ＩＳＰ１内の配信サーバ３とコンテンツ中継サーバ４とは、ネットワーク７、インターネットに代表されるネットワーク８を介してＩＳＰ２に接続されている。ＩＳＰ２は、その他のＩＳＰであり、ＩＳＰ１からの要求により、ＩＳＰ２内に保持している他のストリーミングコンテンツをＩＳＰ１に配信することができる。
【００１６】
コンテンツ配信サーバ３、５は、それぞれ、通信ポート３３、５３、ＣＰＵ３１Ａ、５１Ａ、主メモリ３１Ｂ、５１Ｂ、外部記憶装置３２、５２を備え、それらがバス３１、５１により相互に接続されて構成されている。外部記憶装置３２、５２には、コンテンツ配信プログラム３２Ａ、５２Ａ、ストリーミングコンテンツ３２Ｂ、５２Ｂが格納されている。また、コンテンツ中継サーバ４は、通信ポート４３、ＣＰＵ４１Ａ、主メモリ４１Ｂ、外部記憶装置４２、コンテンツキャッシュ領域４２Ｃを備え、それらがバス４１により相互に接続されて構成されている。外部記憶装置４２には、コンテンツ中継プログラム４２Ａ、キャッシュ削除プログラム４２Ｂが格納されている。
【００１７】
そして、コンテンツ配信サーバ３は、クライアント端末６から要求されるコンテンツの配信要求をコンテンツ中継サーバ４から受け取り、自サーバ内に持つコンテンツ、あるいは、他のコンテンツ配信サーバ５が持つコンテンツをコンテンツ中継サーバ４を介して要求を行ったクライアント端末６に配信する。また、コンテンツ中継サーバ４は、コンテンツ配信サーバ３からのクライアント端末６に配信すべきコンテンツをコンテンツキャッシュ領域４２Ｃに一旦格納した後にクライアント端末６に送信する。その際、コンテンツキャッシュ領域４２Ｃに格納されるコンテンツは、様々な理由により複数に分割されてコンテンツキャッシュ領域４２Ｃに格納されることがある。例えば、一連のコンテンツが、コンテンツ配信サーバ３、５に分割して格納されていて、時間的にずれてコンテンツ中継サーバ４に到来したような場合、あるいは、コンテンツキャッシュ領域４２Ｃの空き容量が充分でなかった場合等である。
【００１８】
そして、コンテンツキャッシュ領域４２Ｃに格納されてあるユーザのクライアント端末６に配信されたコンテンツは、他のユーザからの要求により再び利用される可能性があるので、コンテンツキャッシュ領域４２Ｃの空き容量に余裕がある間、コンテンツキャッシュ領域４２Ｃ内に引き続き格納されたままとなる。しかし、コンテンツキャッシュ領域４２Ｃの空き容量が予め定めた容量以下となった場合等には、コンテンツキャッシュ領域４２Ｃ内に格納されているコンテンツを削除して、所定値以上の空き容量を確保する必要がある。このため、コンテンツ中継サーバ４は、前述のような場合に、キャッシュ削除プログラム４２Ｂを使用してキャッシュの削除を行う。
【００１９】
図２はキャッシュ削除プログラム４２Ｂが利用するキャッシュ管理テーブル２００の構成例を示す図である。図２に示すように、キャッシュ管理テーブル２００は、コンテンツ名２０１と、キャッシュしたコンテンツの開始位置２０２、最終アクセス日時２０３、キャッシュされた同一コンテンツのうちの最後の部分であるか否かを表す最後フラグ２０４を持つ複数のレコードにより構成される。複数に分けられたコンテンツには、複数のレコードが割り当てられる。そして、分割されたコンテンツの開始位置２０２には、その分割されたコンテンツの開始位置、例えば、コンテンツ全体の何バイト目かが格納される。従って、コンテンツ全体の先頭に当たる部分コンテンツの開始位置２０２には、“０”が格納される。最後フラグ２０４は、キャッシュされた同一コンテンツのうちの最後の部分であるか否かを表すが、コンテンツ全体での最後という意味ではなく、キャッシュされている部分コンテンツとしての最後のものであることを示す。
【００２０】
図２に示す例では、コンテンツＡが３つの部分コンテンツに分割されて、また、コンテンツＢが２つの部分コンテンツに分割されてコンテンツキャッシュ領域４２Ｃに格納されており、さらに、コンテンツＣが分割されずにコンテンツキャッシュ領域４２Ｃに格納されている状態を示している。
【００２１】
図３はコンテンツ中継サーバ４におけるキャッシュ削除の処理動作を説明するフローチャートであり、次に、これについて説明する。この処理は、前述で説明したようにコンテンツキャッシュ領域４２Ｃの空き容量が予め定めた閾値より小さくなったときに、キャッシュ削除プログラム４２Ｂが起動されて開始される。
【００２２】
（１）キャッシュ削除プログラム４２Ｂが起動されると、まず、キャッシュ管理テーブル２００からコンテンツの最後フラグ２０４が立っていて（フラグの値“１”）、最終アクセス日時２０３の最も古いレコードを探索する（ステップ３０１）。
【００２３】
（２）該当するレコードを発見したら、コンテンツキャッシュ領域４２Ｃの対応するコンテンツを格納している領域を削除し、キャッシュ管理テーブル２００からそのレコードを削除する（ステップ３０２、３０３）。
【００２４】
（３）次に、削除したレコードのコンテンツ名２０１が同一で、その開始位置２０２が最大を示しているレコードをキャッシュ管理テーブル２００から探索し、該当するレコードが見つかったか否かを判断する（ステップ３０４、３０５）。
【００２５】
（４）ステップ３０４の判定で、該当するレコードがキャッシュ管理テーブル２００から見つかった場合、該当するレコードの最後フラグ２０４の値を“１”としてフラグを立てる（ステップ３０６）。
【００２６】
（５）ステップ３０４の判定で、該当するレコードが見つからないと判定された後、あるいは、ステップ３０６の処理の終了後、コンテンツキャッシュ領域４２Ｃの空き容量が依然として不足しているか否かを調べて判定し、不足している場合、ステップ３０１からの処理に戻って処理を繰り返し、コンテンツキャッシュ領域４２Ｃの空き容量が不足していなかった場合、ここでの処理を終了する（ステップ３０７）。
【００２７】
図４は図２に示したキャッシュ管理テーブル２００の構成例に対し、キャッシュ削除プログラムによる図３により説明したフローによる処理を行った後のキャッシュ管理テーブル４００の構成を示す図である。
【００２８】
次に、図３に示すフローを参照しながら、図２に示すキャッシュ管理テーブル２００が図４に示すキャッシュ管理テーブル４００に更新される処理を具体的に説明する。
【００２９】
まず、ステップ３０１で、キャッシュ管理テーブル２００に登録されているレコードから最後フラグ２０４が“１”で、かつ、最終アクセス日時２０３が最も古いものを探索すると、その結果、コンテンツ名がContentB.datで開始位置が25600 の部分コンテンツのレコードが検出される（ステップ３０２）。次に、ステップ３０３の処理で、該当するコンテンツの部分をコンテンツキャッシュ領域４２Ｃから削除すると共に、キャッシュ管理テーブル２００から対応するレコードを削除する。次に、削除した部分のコンテンツ名であるContentB.datと同一のコンテンツ名を持つレコードのうち、開始位置２０２が最大の部分コンテンツを登録しているレコードを探索し（ステップ３０４）、その結果、コンテンツ名が同じContentB.datで開始位置が０の部分コンテンツを登録したレコードが検出される（ステップ３０５）。そして、ステップ３０６の処理で、該当するレコードの最後フラグの値を“１”に設定する。
【００３０】
前述により、図４に示すようなキャッシュ管理テーブル４００に更新することができる。その後、コンテンツキャッシュ領域４２Ｃの空き容量が依然として不足しているか否かを調べる判定（ステップ３０７）を行うことになる。
【００３１】
前述した本発明の実施形態でのキャッシュ削除の処理は、キャッシュ管理テーブル２００からコンテンツの最後フラグ２０４が立っていて（フラグの値“１”）、最終アクセス日時２０３の最も古いレコードを探索して、そのキャッシュの領域とキャッシュ管理テーブルの対応するレコードを削除するものであるとして説明したが、本発明は、まず、キャッシュ管理テーブル２００からコンテンツの最後フラグ２０４が立っているレコードを探索し、該当するレコードが１つであった場合、そのレコードと対応するキャッシュ領域を削除するようにし、該当するレコードが複数あった場合に、それらの中から最終アクセス日時２０３の最も古いレコードを探索して、そのキャッシュの領域とキャッシュ管理テーブルの対応するレコードを削除するようにしてもよい。
【００３２】
前述した本発明の実施形態での処理は、処理プログラムとして構成することができ、この処理プログラムは、ＨＤ、ＤＡＴ、ＦＤ、ＭＯ、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態によるコンテンツ配信サーバ及びコンテンツ中継サーバを含むコンテンツ配信システムの構成を示すブロック図である。
【図２】キャッシュ削除プログラムが利用するキャッシュ管理テーブルの構成例を示す図である。
【図３】コンテンツ中継サーバにおけるキャッシュ削除の処理動作を説明するフローチャートである。
【図４】キャッシュ削除プログラムにより図３に示すフローによる処理を行った後のキャッシュ管理テーブルの構成を示す図である。
【符号の説明】
【００３４】
１、２  ＩＳＰ(Information Service Provider)
３、５  コンテンツ配信サーバ
４  コンテンツ中継サーバ
６  クライアント端末
７〜１０  ネットワーク
１１  接続ポイント
３１、４１、５１  バス
３１Ａ、４１Ａ、５１Ａ  ＣＰＵ
３１Ｂ、４１Ｂ、５１Ｂ  主メモリ
３２、４２、５２  外部記憶装置
３２Ａ、５２Ａ  コンテンツ配信プログラム
３２Ｂ、５２Ｂ  ストリーミングコンテンツ
３２Ｃ、５２Ｃ  コンテンツ送信ログ
３３、４３、５３  通信ポート
４２Ｂ  キャッシュ削除プログラム
４２Ｃ  コンテンツキャッシュ領域
【図１】
2006172296.tif 000003
【図２】
2006172296.tif 000004
【図３】
2006172296.tif 000005
【図４】
2006172296.tif 000006