JP2008204055A - コンテンツ管理方法、ファイルサーバおよび読み出し制御プログラム - Google Patents

コンテンツ管理方法、ファイルサーバおよび読み出し制御プログラム Download PDF

Info

Publication number
JP2008204055A
JP2008204055A JP2007037896A JP2007037896A JP2008204055A JP 2008204055 A JP2008204055 A JP 2008204055A JP 2007037896 A JP2007037896 A JP 2007037896A JP 2007037896 A JP2007037896 A JP 2007037896A JP 2008204055 A JP2008204055 A JP 2008204055A
Authority
JP
Japan
Prior art keywords
content
storage
read
stored
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007037896A
Other languages
English (en)
Inventor
Takuya Okamoto
卓哉 岡本
Nobuo Kureyama
伸夫 紅山
Tatsuto Aoshima
達人 青島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007037896A priority Critical patent/JP2008204055A/ja
Priority to US11/968,241 priority patent/US20080201341A1/en
Publication of JP2008204055A publication Critical patent/JP2008204055A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • H04N21/2323Content retrieval operation locally within server, e.g. reading video streams from disk arrays using file mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26241Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】コンテンツの格納に必要な資源の増大を防止するとともに、クライアントがコンテンツ読み出し要求を出してからコンテンツの再生を開始するまでの待ち時間を短縮することを目的とする。
【解決手段】ファイルサーバ14が、ストレージ161からよりも高速なコンテンツの読み出しが可能なコンテンツキャッシュ143に、コンテンツの先頭から切り出したコンテンツ先頭部分を格納し、クライアント10からコンテンツ読み出しの要求を受け付けると、まず、コンテンツキャッシュ143に格納されたコンテンツ先頭部分をクライアント10に返却し、クライアント10におけるコンテンツ再生中に、返却したコンテンツ先頭部分に続く、ストレージ161に格納されたコンテンツの残りの部分を読み出し、クライアント10に返却する。
【選択図】図1

Description

本発明は、NAS(Network Attached Storage)などのファイルサーバ上のコンテンツキャッシュ管理方法およびファイルサーバからのデータ読み出し処理の制御方法に関するものである。
この数年、ブロードバンド環境の拡大に伴い、高品質な映像ストリームなどの大容量ストリームコンテンツを提供するメディアサービスが増加している。これらのコンテンツは、NASなどのファイルサーバに格納され、Webサーバなどのメディアサーバを経由して利用者に提供される。従来は、ネットワーク上の通信性能がこれらのメディアサービスにおける性能ネックとなっていたが、ネットワークの広帯域化に伴い、ファイルサーバがコンテンツ格納に使用するストレージにおけるディスクからのデータ読み出し処理が性能ネックとなってきている。また、ユーザが自由にコンテンツを登録できる、コンテンツ共有サービスも増えている。これらのサービスでは、いつ、どのようなコンテンツが登録され、それらに対するアクセス頻度がどうなるかを事前に予測することは困難である。
メディアサーバでは、コンテンツの配信先との間のネットワーク帯域および各メディアサーバの負荷がコンテンツ配信性能を決める重要なファクターとなる。このため、複数のコンテンツが存在する場合に、どのメディアサーバにアクセスするかの選択をネットワークの帯域と各メディアサーバのアクセス状況を元に制御する。このようなクライアントからのアクセス先のメディアサーバを特定する方法としては、特許文献1に示すような従来技術が用いられる。
さらに、各メディアサーバにおいて、アクセス頻度が高いコンテンツを複数のキャッシュサーバに保持することでアクセス性能を確保する技術があり、これにより、アクセス頻度が高いコンテンツのみをキャッシュサーバに格納することができる。この方法としては、特許文献2に示すような従来技術が用いられる。
特許文献3に示す従来技術には、一定期間に受け付けたコンテンツ読み出し要求を1つの読み出し要求に纏める方法が示されている。これにより、ストレージに対する読み出し負荷を低減することが可能となる。
特許文献4に示す従来技術には、ストリームなどのコンテンツの先頭部分だけをメールで配信し、その再生中に、続きのデータの配信を要求する方法が示されている。これにより、コンテンツの再生までにかかる時間を短縮することが可能となる。
特開2003−256303号公報 特開2003−242020号公報 特開平8−18945号公報 特開2004−120376号公報
しかしながら、前記した特許文献2に示された従来技術では、アクセス頻度が高いコンテンツをキャッシュサーバに格納することにより、クライアントがコンテンツ読み出し要求を出してからクライアントにおいてストリームコンテンツの再生を開始するまでの待ち時間を短縮することは可能であるが、コンテンツの格納に必要な資源が多くなるという問題がある。
また、前記した特許文献4に示された従来技術では、クライアントにおけるコンテンツ再生までの時間を短縮することはできるが、配信側がメールによってコンテンツの先頭部分をクライアントに配信し、配信されたコンテンツの先頭部分をクライアントが再生するか否かを決定するため、配信されるコンテンツが配信側で決められてしまい、利用者からの要求に応じてコンテンツを配信することはできないという問題がある。
そこで、本発明は、以上のような問題点に鑑みてなされたものであり、コンテンツの格納に必要な資源の増大を防止するとともに、クライアントがコンテンツ読み出し要求を出してからクライアントにおいてコンテンツの再生を開始するまでの待ち時間を短縮することを目的とする。
本発明は、前記課題を解決するために創案されたものであり、1つ以上のストレージを有する1つまたは複数のストレージサーバおよびコンテンツの読み出しを要求する1つまたは複数のクライアントと通信可能にされたファイルサーバである。ファイルサーバは、ストレージに格納されたコンテンツの一部を格納することが可能なコンテンツキャッシュを備え、ファイルサーバが、ストレージからよりも高速なコンテンツの読み出しが可能なコンテンツキャッシュに、コンテンツの先頭から切り出したコンテンツ先頭部分を格納し、クライアントからコンテンツ読み出しの要求を受け付けると、コンテンツキャッシュに格納されたコンテンツ先頭部分をクライアントに返却し、返却したコンテンツ先頭部分に続く、ストレージに格納されたコンテンツの残りの部分をクライアントに返却する。
本発明によれば、コンテンツの格納に必要な資源の増大を防止するとともに、クライアントがコンテンツ読み出し要求を出してからクライアントにおいてコンテンツの再生を開始するまでの待ち時間を短縮することが可能である。
以下、本発明を実施するための最良の形態(以下、「実施形態」という)を図面に基づいて詳細に説明する。
図1は、本発明における一実施形態のシステム構成を示す図である。
本システム構成では、クライアント10と、メディアサーバ11と、ネットワーク監視サーバ12とが、WAN(Wide Area Network)13により接続されている。クライアント10およびメディアサーバ11は、WAN13上に、それぞれ1つまたは複数存在しており、ネットワーク監視サーバ12が、各クライアント10から各メディアサーバ11への接続経路の距離やWAN13の負荷、メディアサーバ11へのアクセス状況などの情報を元に、各クライアント10が接続するメディアサーバ11を決定する。
各メディアサーバ11は、ファイルサーバ14と、LAN(Local Area Network)15により接続されており、ファイルサーバ14は、1つまたは複数のストレージサーバ16と、SAN(Storage Area Network)17により接続される。各メディアサーバ11が配信するコンテンツは、ファイルサーバ14を経由して、ストレージサーバ16内のストレージ161に格納される。
メディアサーバ11は、CPU(Central Processing Unit)(中央処理装置)110と、メモリ111と、ハードディスク112と、WANアダプタ113と、LANアダプタ114とがシステムバス115によって接続されたコンピュータであり、メモリ111上には、コンテンツ配信プログラム210、コンテンツ受付プログラム211、コンテンツ管理プログラム212、コンテンツ読み出しプログラム213、コンテンツ更新プログラム214、コンテンツ管理テーブル215が格納される。ハードディスク112には、登録コンテンツが格納されるコンテンツ格納領域216がある。
ファイルサーバ14は、処理部としてのCPU140と、記憶部としてのメモリ141と、ハードディスク142と、コンテンツキャッシュ143と、第1の通信部としてのLANアダプタ144と、第2の通信部としてのSANアダプタ145とが、システムバス146によって接続されたコンピュータであり、メモリ141上には、ファイルシステム管理プログラム240、読み出し要求管理プログラム241、アクセス頻度管理プログラム242、読み出し制御プログラム243、更新要求管理プログラム244、更新制御プログラム245、キャッシュ制御プログラム246、ストレージ性能管理プログラム247、コンテンツ格納先管理テーブル248が格納される。ハードディスク142上には、ファイルシステム管理プログラム240が使用するファイルシステム管理情報格納領域249がある。
ストレージサーバ16は、1つまたは複数のストレージ161と、コントローラ160と、SANアダプタ162とが、システムバス163により接続されており、SANアダプタ162を経由した、ストレージサーバ16内のストレージ161に対するコンテンツの書き込み、および、コンテンツの読み出しがコントローラ160により制御される。
クライアント10は、CPU100と、メモリ101と、ハードディスク102と、キーボードやマウスなどの入力装置103と、液晶ディスプレイなどの表示装置104と、WANアダプタ105が、システムバス106によって接続されたコンピュータであり、メモリ101上には、コンテンツ再生プログラム200、コンテンツ登録プログラム201が格納される。ハードディスク102上には、表示装置104への表示もしくはメディアサーバ11に登録するコンテンツを格納するコンテンツ格納領域202がある。なお、本実施形態では、クライアント10とファイルサーバ14とがメディアサーバ11を経由して通信を行うこととするが、メディアサーバ11を経由せずに通信を行うこととしてもよい。この場合は、コンテンツ再生プログラム200およびコンテンツ登録プログラム201は、それぞれ、読み出し要求管理プログラム241、更新要求管理プログラム244に接続する。
ネットワーク監視サーバ12は、CPU120と、メモリ121と、ハードディスク122と、WANアダプタ123とがシステムバス124によって接続されたコンピュータであり、メモリ121上には、ネットワーク監視プログラム220、アクセス先制御プログラム221が格納される。ハードディスク122上には、WAN13経由で収集したネットワーク性能の情報を格納する監視データ格納領域222、メディアサーバ11の接続先情報が格納されるメディアサーバ管理データ格納領域223がある。
前記のシステム構成において、各クライアントおよびサーバのメモリ上に格納されるプログラムやテーブルは、ハードディスク上に格納されており、プログラムの起動時にメモリ上に読み込まれるが、本図においては、ハードディスク上に格納されているこれらのプログラムおよびテーブルの記載は省略している。
なお、本実施形態においては、ネットワーク監視サーバ12は、特許文献3などによって示される従来技術を利用することによって実現する。以降の説明では、クライアント10が接続するメディアサーバ11は、ネットワーク監視サーバ12によって、既に決定されているものとして、ネットワーク監視サーバ12については、説明を省略する。
また、以下の説明において、各種プログラムが処理の主体として記述される場合には、ハードウェア的には、クライアントやサーバに搭載されたCPUが、メモリに格納されている各種プログラムを実行することによって処理を行っている。また、これらの処理は、専用のハードウェアによって実行されることとしてもよい。
図2は、メディアサーバ11と接続したクライアント10において、コンテンツ再生プログラム200およびコンテンツ登録プログラム201を実行する際に、メディアサーバ11およびファイルサーバ14上で動作する各プログラムのモジュール関連図である。
メディアサーバ11は、コンテンツ管理プログラム212により、コンテンツの配信、登録、削除などの処理を制御する。ファイルサーバ14は、ファイルサーバとしての機能をファイルシステム管理プログラム240で実現する。本実施形態では、ファイルシステム管理プログラム240は、ファイルサーバ14上で動作する汎用OS(Operating System)により提供されるファイルシステム管理機能により実現することとし、詳細な説明を省略する。本実施形態では、ファイルシステム管理機能としては、ファイルサーバ14で管理しているファイルの有無チェックおよびファイル登録、削除時にファイルシステム管理情報を更新する機能について説明する。
まず、クライアント10のコンテンツ再生プログラム200から、メディアサーバ11のコンテンツ配信プログラム210に対して、コンテンツ配信を要求する場合の各プログラムの処理手順を説明する。
コンテンツ配信プログラム210は、コンテンツ管理プログラム212に対して、クライアント10から指示されたコンテンツの読み出しを要求する。コンテンツ管理プログラム212は、コンテンツ管理テーブル215を確認し、ファイルサーバ14内におけるコンテンツ識別子であるコンテンツ名を取得し、コンテンツ読み出しプログラム213に対して、ファイルサーバ14からのコンテンツ読み出しを要求する。コンテンツ管理テーブル215のデータ構造は、図9に示す。コンテンツ読み出しプログラム213は、ファイルサーバ14の読み出し要求管理プログラム241に接続し、コンテンツ名を指定してコンテンツ読み出しを要求する。読み出し要求管理プログラム241は、ファイルシステム管理プログラム240により、指定されたコンテンツ名のコンテンツが存在するか否かをチェックする。ファイルシステム管理プログラム240は、コンテンツが存在しない場合は、読み出し要求管理プログラム241にエラーを返却し、存在する場合は、アクセス頻度管理プログラム242を呼び出して、コンテンツ格納先管理テーブル248に格納されている、そのコンテンツに対するアクセス頻度1604(図16参照)を更新する。コンテンツ格納先管理テーブル248のデータ構造は、図16に示す。
次に、読み出し要求管理プログラム241が読み出し制御プログラム243を呼び出すと、読み出し制御プログラム243は、ファイルサーバ14のコンテンツキャッシュ143に管理されているコンテンツの先頭部分(コンテンツ先頭部分)261を読み出すとともに、ストレージ161Aに格納されているコンテンツ260Aを読み出し、読み出したコンテンツ(先頭部分261およびコンテンツ260A)を、読み出し要求管理プログラム241を介してメディアサーバ11に返却する。ここで、同じコンテンツ260Aに対する複数の読み出し要求があり、これらの読み出し要求が、ストレージ161Aからのコンテンツ260Aの読み出しを統合することができるタイミングで発生している場合は、これらの読み出し要求を統合して、1回のストレージ161Aからのコンテンツ読み出しにより、複数の読み出し要求に対してストレージ161Aから読み出したコンテンツ260Aを返却する。
さらに、読み出し制御プログラム243により、ストレージ161Aからのコンテンツ260Aのストレージ読み出し性能を算出し、ストレージ性能管理プログラム247に通知する。ストレージ性能管理プログラム247では、読み出し制御プログラム243から通知された、ストレージ161Aのストレージ読み出し性能を、ストレージ161Aにおいて定められた、ストレージ読み出し性能限界値と比較し、ストレージ読み出し性能がストレージ読み出し性能限界値以下の場合は、キャッシュ制御プログラム246に対して、ストレージ161Aに格納されたコンテンツ260Aに対して割り当てるコンテンツキャッシュ143のキャッシュ領域のサイズの変更を指示する。ストレージ読み出し性能限界値については、図22に示す。
キャッシュ制御プログラム246では、ストレージ161Aに格納された、すべてのコンテンツ260Aに対するアクセス頻度の情報を元に、各コンテンツ260Aに対して割り当てるコンテンツキャッシュ143のキャッシュ領域のサイズを変更することで、ストレージ161Aのストレージ読み出し性能が、ストレージ読み出し性能限界値を上回るようにする。
次に、クライアント10のコンテンツ登録プログラム201から、メディアサーバ11のコンテンツ受付プログラム211に対して、コンテンツの登録(新規登録もしくは更新登録)もしくは削除を要求する場合の処理手順を示す。
クライアント10のコンテンツ登録プログラム201から、コンテンツ受付プログラム211に対して、コンテンツの登録もしくは削除の要求があると、コンテンツ受付プログラム211は、コンテンツ管理プログラム212に対して、クライアント10から指示されたコンテンツの登録もしくは削除を要求する。コンテンツ管理プログラム212では、コンテンツの削除もしくは更新登録の場合には、コンテンツ管理テーブル215から、指定されたコンテンツのファイルサーバ14における識別子であるコンテンツ名を取得する。コンテンツの登録の場合には、登録対象のコンテンツを引数として、コンテンツ更新プログラム214に対して、ファイルサーバ14へのコンテンツ登録を要求する。コンテンツの削除の場合には、コンテンツ名を引数として、コンテンツ更新プログラム214に対して、ファイルサーバ14からのコンテンツ削除を要求する。
続いて、コンテンツ更新プログラム214は、ファイルサーバ14の更新要求管理プログラム244に対して、ファイルサーバ14へのコンテンツ登録もしくは削除を要求する。更新要求管理プログラム244は、コンテンツの登録もしくは削除の場合は、ファイルシステム管理プログラム240に対して、コンテンツの登録もしくは削除を要求した後に、更新制御プログラム245に対して、コンテンツ登録もしくは削除を要求する。コンテンツ登録もしくは削除の結果は、ファイルシステム管理プログラム240およびアクセス頻度管理プログラム242に通知され、更新要求管理プログラム244は、結果をメディアサーバ11に返却する。
更新制御プログラム245は、削除の場合は、ストレージ161Bからコンテンツ260Bを削除する。登録の場合は、ストレージ性能管理プログラム247から取得できる各ストレージの読み出し性能および空き容量の情報から、コンテンツを登録するストレージ161Bを決定し、そのストレージ161Bに対する書き込み処理を行なう。さらに、キャッシュ制御プログラム246に対して、登録したコンテンツのコンテンツキャッシュ143への登録を要求する。キャッシュ制御プログラム246では、要求されたコンテンツに割り当てるキャッシュサイズをコンテンツの属性であるビットレートおよび格納先のストレージ読み出し性能から算出し、算出したサイズでコンテンツから切り出したコンテンツの先頭部分をコンテンツキャッシュ143に格納し、コンテンツ格納先管理テーブル248のキャッシュサイズ1605(図16参照)およびキャッシュ格納先1606(図16参照)の情報を更新する。コンテンツ格納先管理テーブル248については、図16に示す。
図3は、本システムにおけるコンテンツ読み出しおよび配信処理のシーケンス図である。
図2のモジュール関連図を用いて説明したように、所定の期間に発生した、複数のクライアント10からの同じコンテンツに対する配信要求(読み出し要求)は、1つのストレージ読み出しに統合することができる。ここでは、クライアント10(図1参照)として、例えば、クライアント10A,10Bが、所定の期間に同じコンテンツに対して配信要求を行った場合について説明する。シーケンス300Aは、クライアント10Aから、シーケンス300Bは、クライアント10Bからのコンテンツ配信要求のシーケンスである。配信要求301A,301Bを受けたメディアサーバ11は、ファイルサーバ14に対して、コンテンツの読み出し要求302A,302Bを実行する。クライアント10Aからの配信要求に対してファイルサーバ14が実行する処理は、要求Aに示されており、クライアント10Bからの配信要求に対してファイルサーバ14が実行する処理は、要求Bに示されている。ファイルサーバ14は、コンテンツキャッシュ143(図2参照)に格納されたコンテンツの先頭部分261(図2参照)を読み出すキャッシュ読み出し303A,303Bを実行して、読み出したコンテンツの先頭部分261(図2参照)をメディアサーバ11に送信する。
メディアサーバ11は、読み出したコンテンツのクライアント10A,10Bへの配信307A,307Bを実行する。ここで、ファイルサーバ14がキャッシュ読み出し303A(303B)によって読み出したコンテンツについて、メディアサーバ11が2回に分けて配信307A(307B)を行っているのは、コンテンツキャッシュ143(図2参照)に格納されたコンテンツの先頭部分261(図2参照)に、コンテンツブロック400(図4参照)が2つ分含まれているためである。したがって、メディアサーバ11がコンテンツについて、何回に分けてクライアント10A,10Bに配信307A(307B)を行うかについては、コンテンツキャッシュ143(図2参照)に格納されたコンテンツの先頭部分261(図2参照)のサイズによって決まる。クライアント10A,10Bでは、配信されたコンテンツにより、キャッシュ内コンテンツ再生308A,308Bを開始する。ファイルサーバ14では、コンテンツ読み出し要求302Aに対する読み出しを、読み出し停止304とする。読み出し停止304の間にファイルサーバ14が受け付けたコンテンツの読み出し要求Bが、コンテンツの読み出し要求302Aに対する読み出しの対象となるコンテンツと同じコンテンツを読み出す要求である場合には、ファイルサーバ14は、コンテンツの読み出し要求302Bを、コンテンツの読み出し要求302Aに統合する読み出し統合305を行う。読み出し停止304が終了すると、ファイルサーバ14は、ストレージ読み出し306を開始し、メディアサーバ11は、ファイルサーバ14が読み出したコンテンツについて、コンテンツの読み出し要求302Aの要求元であるクライアント10Aに対する配信307を実行するとともに、コンテンツの読み出し要求302Aへの読み出し統合305の対象となったコンテンツの読み出し要求302Bの要求元であるクライアント10Bに対する配信307を実行する。クライアント10A,10Bでは、配信されたコンテンツにより、それぞれコンテンツ再生309A,309Bを実行する。以上の手順により、1つに統合されたストレージ読み出しにより、得られたコンテンツを、複数のクライアント10(図1参照)に配信することができる。また、これにより、アクセス集中によるストレージからのコンテンツ読み出しの性能劣化を防止することが可能となる。
図4は、ストリームデータの構造およびコンテンツブロックの説明図である。図4を参照して(適宜図1参照)、コンテンツの一例としてのストリームデータ(映像ストリームや音声ストリームなど)の構造について説明する。
本システムにおける配信対象コンテンツは、例えば、MPEG(Moving Picture Experts Group)などの方式に基づくストリームデータである。ストリームデータは、パケット403を最小単位としており、パケット403内にヘッダ404とエレメンタリストリーム405が格納されている。これらのパケット403を纏めて、ヘッダ402をつけたものが、パック401であり、パック401の1つ分を最小単位として配信される。このパック401をファイルサーバ14で管理するために、1つまたは複数集めた管理データを、以下では、コンテンツブロック400と呼ぶ。メディアサーバ11、ファイルサーバ14、ストレージサーバ16では、コンテンツをコンテンツブロック400単位に読み出しおよび配信可能なように管理する。配信されたコンテンツブロック400は、これらを受信したクライアント10のコンテンツ再生プログラム200によりデコードされ、表示装置104上で再生される。
以下、クライアント10からコンテンツの表示、および、コンテンツの登録、更新もしくは削除を行なう際のクライアント10、メディアサーバ11およびファイルサーバ14における、各プログラムの処理手順の詳細について説明する。コンテンツの表示を行なう場合については図5から図28を、コンテンツの登録もしくは削除を行なう場合については図29から図36を用いて(適宜他の図も参照)、説明する。
図5は、クライアント10におけるコンテンツ再生プログラム200の実行手順を示すフローチャートである。
まず、S501において、メディアサーバ11が提供するプロトコルに従い、メディアサーバ11に接続する。S502において、接続したメディアサーバ11に対して、WAN13上で一意性のある公開コンテンツ名を指定して、コンテンツの配信を要求する。S503において、メディアサーバ11からのコンテンツブロックの配信を待ち、配信されたコンテンツブロックを受信する。S504において、受信したコンテンツブロックをクライアント10上の表示装置104に出力して再生する。S505において、すべてのコンテンツブロックを受信したか否かを判定する。まだ受信するコンテンツブロックがある場合は、S503とS504を繰り返し実行する。すべてのコンテンツブロックの受信が終わると、S506において、メディアサーバ11との接続を解除(切断)する。
図6は、メディアサーバ11におけるコンテンツ配信プログラム210のフローチャートである。
S601において、クライアント10からのコンテンツ配信要求を待ち、要求を受け付けると、受け付けた配信要求のエントリを、コンテンツ配信先管理テーブル700に登録する。コンテンツ配信先管理テーブル700のデータ構造については、図7を用いて後記する。S602において、指定されたコンテンツの読み出しをコンテンツ管理プログラム212に要求する。S603において、コンテンツ管理プログラム212の実行結果を確認する。コンテンツの読み出し時にエラーが返却された場合は、S604において、クライアント10に対して、エラー情報を通知する。クライアント10に、エラー情報を通知した後は、S608において、クライアント10との接続を解除する。
S603で読み出しエラーが返却されなかった場合は、S605において、コンテンツ管理プログラム212からのコンテンツブロック返却を待ち、返却されたコンテンツブロックを読み出す。さらに、S606において、読み出したコンテンツブロックをクライアント10に配信する。S607において、クライアント10から配信要求されたコンテンツの、すべてのコンテンツブロックを配信し終わったかを確認する。配信が終わっていない場合は、S605とS606を繰り返し実行し、要求されたコンテンツのすべてのコンテンツブロックがクライアント10に配信されると、S608において、コンテンツ配信先管理テーブル700に登録したエントリを削除し、クライアント10との接続を解除する。
図7は、メディアサーバ11のコンテンツ配信プログラム210が使用するコンテンツ配信先管理テーブル700のデータ構造を示す図である。コンテンツ配信先管理テーブル700には、公開コンテンツ名701と配信先702の情報が登録される。配信先702には、コンテンツ配信プログラム210が、クライアント10に接続するための情報が格納される。クライアント10に接続するための情報とは、クライアント10を特定可能な情報であり、例えば、クライアント10の名称や、IP(Internet Protocol)アドレス、URL(Uniform Resource Locator)などである。
図8は、メディアサーバ11のコンテンツ管理プログラム212におけるコンテンツ読み出し要求処理のフローチャートである。
コンテンツ配信プログラム210からコンテンツ読み出し要求があると、コンテンツ管理プログラム212は、コンテンツ読み出し要求処理を実行する。コンテンツ読み出し要求処理では、S801において、公開コンテンツ名によって読み出しを要求されたコンテンツのファイルサーバ14上での識別子であるコンテンツ名904をコンテンツ管理テーブル215から取得する。コンテンツ管理テーブル215については、図9に示す。
S802において、要求されたコンテンツが、コンテンツ管理テーブル215上に存在しないと判定された場合は、S803において、エラー処理を実行し、要求されたコンテンツが存在しない旨のエラーをコンテンツ配信プログラム210に返却し、本処理を終了する。S802において、コンテンツ管理テーブル215上に要求されたコンテンツが存在すると判定された場合は、S804において、コンテンツ読み出しプログラム213に対して、コンテンツ名を指定して、ファイルサーバ14からのコンテンツ読み出しを要求する。
S805において、コンテンツ読み出しプログラム213から、読み出しエラーが返却されたと判定した場合は、S803において、エラー処理を実行し、要求されたコンテンツの読み出しができない旨のエラーをコンテンツ配信プログラム210に返却し、本処理を終了する。S805において、コンテンツ読み出しプログラム213でコンテンツ読み出しに成功したと判定した場合は、S806において、コンテンツ読み出しプログラム213から返却されるコンテンツブロックを順次読み出し、S807において、コンテンツ配信プログラム210に対して、読み出したコンテンツブロックを返却する。S808において、読み出し対象のコンテンツのコンテンツブロックが残っているか否かを判定し、残っている場合は、S806とS807を繰り返す。すべてのコンテンツブロックの読み出しが完了すると、本処理を終了する。
図9は、メディアサーバ11におけるコンテンツ管理テーブル215のデータ構造を示す図である。
コンテンツ管理テーブル215には、クライアント10からメディアサーバ11に対して、コンテンツを特定するための識別子である公開コンテンツ名901と、コンテンツのファイルタイプ902(例えば、図4に示したストリームデータの構造を特定する情報)と、コンテンツのストリームデータとしてのビットレート903と、ファイルサーバ14に格納したコンテンツを特定するための識別子であるコンテンツ名904が格納される。
本テーブルのエントリは、メディアサーバ11へのコンテンツ登録要求時に作成され、コンテンツ削除要求時に削除される。公開コンテンツ名901は、コンテンツ登録時にメディアサーバ11内で一意になるように付与される。ファイルタイプ902およびビットレート903には、登録されたコンテンツの属性情報から取得した値が格納される。属性情報とは、例えば、登録されたコンテンツのヘッダ402に設定されている値であるが、ファイルタイプ902は、必須のものではない。コンテンツ名904には、ファイルサーバ14へのコンテンツ登録時にファイルサーバ14で一意になる識別子として付与された情報(例えば、文字列)が格納される。
図10は、メディアサーバ11におけるコンテンツ読み出しプログラム213のフローチャートである。
S1001において、コンテンツ管理プログラム212からのコンテンツ読み出し要求時に引数として渡されたコンテンツ名を指定して、ファイルサーバ14の読み出し要求管理プログラム241に対して、コンテンツの読み出しを要求する。S1002において、ファイルサーバ14でコンテンツ読み出しがエラーとなったと判定された場合は、S1003において、エラー処理を実行する。S1003のエラー処理では、読み出しエラーをコンテンツ管理プログラム212に返却する。
S1002で読み出しに成功したと判定された場合は、S1004において、ファイルサーバ14からコンテンツブロックを順次読み出し、S1005において、読み出したコンテンツブロックをコンテンツ管理プログラム212に返却する。S1006において、まだ読み出していない残りのコンテンツブロックが存在するか否かをチェックし、読み出し対象のコンテンツのコンテンツブロックが存在する間は、S1004とS1005を繰り返し実行する。すべてのコンテンツブロックのコンテンツ管理プログラム212への返却、もしくは、S1003のエラー処理が完了したら、本プログラムを終了する。
図11は、ファイルサーバ14における読み出し要求管理プログラム241のフローチャートである。
S1101において、メディアサーバ11からの読み出し要求を待ち、読み出し要求を受け付けると、引数で渡されるコンテンツ名を取得する。S1102において、ファイルシステム管理プログラム240に対して、コンテンツ名に対応するコンテンツが存在するか否かの確認を要求する。ファイルシステム管理プログラム240のコンテンツ有無チェック処理については、図12を用いて後記する。
S1103でコンテンツ名に対応するコンテンツがないと判定された場合は、S1104のエラー処理を実行する。S1104のエラー処理では、コンテンツの読み出しに失敗した旨のエラーをメディアサーバ11に返却する。S1103でコンテンツ名に対応するコンテンツが存在すると判定された場合は、S1105において、アクセス頻度管理プログラム242に対して、そのコンテンツに対するアクセス頻度の情報の更新を要求する。アクセス頻度管理プログラム242における、アクセス頻度の情報の更新処理については、図13を用いて後記する。
次に、S1106において、コンテンツ名を指定して、読み出し制御プログラム243を実行する。読み出し制御プログラム243の処理手順については、図17と図18を用いて後記する。S1107において、読み出し制御プログラム243から、コンテンツブロックを順次読み出し、S1108において、メディアサーバ11に対して、読み出したコンテンツブロックを返却する。S1109において、コンテンツブロックが残っていると判定された場合は、S1107とS1108を繰り返す。S1109において、すべてのコンテンツブロックをメディアサーバ11に返却したと判定された場合、もしくは、S1104のエラー処理が完了すると、本プログラムを終了する。
図12は、ファイルサーバ14のファイルシステム管理プログラム240におけるコンテンツ有無チェック処理S1102のフローチャートである。
ファイルシステム管理プログラム240は、コンテンツ名を指定して、コンテンツ有無チェックを要求されると、S1201において、ファイルシステム管理情報格納領域249に、指定されたコンテンツ名のコンテンツが存在するか否かをチェックする。S1202において、該当するコンテンツが存在しないと判定された場合は、S1203において、指定されたコンテンツが存在しないこと(指定されたコンテンツが存在しないことを示す返却値)を返却する。S1202において、指定されたコンテンツが存在すると判定された場合は、S1204において、指定されたコンテンツが存在すること(指定されたコンテンツが存在することを示す返却値)を返却する。結果を返却すると、本処理は終了する。
図13は、ファイルサーバ14のアクセス頻度管理プログラム242におけるアクセス頻度更新処理S1105のフローチャートである。
S1301において、読み出し対象のコンテンツのアクセス頻度管理情報を更新する。すなわち、図14に示すコンテンツアクセス頻度管理テーブル1400に格納された、指定されたコンテンツ名に対応するエントリのアクセス数カウンタA1404もしくはアクセス数カウンタB1405の値を更新する(1つ増加する)とともに、最終アクセス時刻1403を現在の時刻で更新する。
S1302において、コンテンツアクセス頻度管理テーブル1400に管理されている、コンテンツ登録時刻1402、アクセス数カウンタA1404、アクセス数カウンタB1405および実行時の現在時刻を使用して、すべてのコンテンツの最新のアクセス頻度を算出する。コンテンツアクセス頻度管理テーブル1400に格納された情報から、アクセス頻度を算出する方法については、図15を用いて後記する。S1303において、S1302で算出したすべてのコンテンツのアクセス頻度の情報を更新する。すなわち、図16に示すコンテンツ格納先管理テーブル248のアクセス頻度1604に格納する。以上で本プログラムを終了する。
図14は、ファイルサーバ14のアクセス頻度管理プログラム242が使用するコンテンツアクセス頻度管理テーブル1400のデータ構造を示す図である。
コンテンツアクセス頻度管理テーブル1400には、コンテンツ名1401と、コンテンツ登録時刻1402と、最終アクセス時刻1403と、アクセス数カウンタA1404およびアクセス数カウンタB1405の2つのカウンタが存在する。コンテンツの登録時には、コンテンツ名1401とコンテンツ登録時刻1402を設定したエントリが登録され、その他の値は初期化される。コンテンツに対する読み出し要求が発生する度に、アクセス数カウンタA1404とアクセス数カウンタB1405は、いずれか1つのアクセス数カウンタに格納された値を1つ増加し、最終アクセス時刻1403を現在の時刻で更新する。
図15は、ファイルサーバ14のアクセス頻度管理プログラム242において、コンテンツアクセス頻度管理テーブル1400内で使用するアクセス数カウンタの決定方法および最新アクセス頻度算出方法の説明図である。
アクセス数カウンタA1404およびアクセス数カウンタB1405の2つあるカウンタのうち、どちらのカウンタを使用するかについては、コンテンツ登録時刻1402と、アクセス頻度更新実行時点の現在時刻1503と、あらかじめ定められたアクセス頻度算出単位時間1501によって決定される。コンテンツ登録後、アクセス頻度算出単位時間1501が経過したアクセス数カウンタ変更時刻1502Aまでは、アクセス数カウンタA1404を使用し、アクセス数カウンタ変更時刻1502A以降、アクセス数カウンタ変更時刻1502Bまでは、アクセス数カウンタB1405を使用する。その後は、アクセス数カウンタ変更時刻1502を経過するたびに、アクセス数カウンタA1404とアクセス数カウンタB1405を切り替える。
アクセス数カウンタ変更時刻1502A,1502B後の、コンテンツに対する最初の読み出し要求時に、使用するアクセス数カウンタを0に初期化する。例えば、アクセス数カウンタ変更時刻1502A後の、コンテンツに対する最初の読み出し要求時には、アクセス数カウンタA1404を0に初期化し、アクセス数カウンタ変更時刻1502B後の、コンテンツに対する最初の読み出し要求時には、アクセス数カウンタB1405を0に初期化する。アクセス数カウンタ変更時刻1502A,1502Bを経過した後の最初の読み出し要求か否かは、最終アクセス時刻1403が、最新のアクセス数カウンタ変更時刻1502Bより前であるか否かにより判定する。最終アクセス時刻1403が、2つ前のアクセス数カウンタ変更時刻1502Aより前の場合は、アクセス数カウンタA1404、アクセス数カウンタB1405の両方を0に初期化する。
各コンテンツの最新アクセス頻度は、アクセス数カウンタA1404と、アクセス数カウンタB1405と、現在時刻1503および2つ前のアクセス数カウンタ変更時刻1502Aの時間差(例えば、分単位の時間差)である最新アクセス頻度算出期間1504を用いて、以下の式により、単位時間あたり(例えば、1分単位)のアクセス頻度として算出する。
最新アクセス頻度=
(アクセス数カウンタAの値+アクセス数カウンタBの値)÷最新アクセス頻度算出期間
なお、ここでは簡単のために、アクセス数カウンタを2つ使用することとしたが、より正確なアクセス頻度を求めるために、3つ以上使用することとしてもよい。
図16は、ファイルサーバ14におけるコンテンツ格納先管理テーブル248のデータ構造を示す図である。
コンテンツ格納先管理テーブル248には、コンテンツ名1601、コンテンツのサイズ1602、ストリームデータとしてのコンテンツのビットレート1603、コンテンツの最新のアクセス頻度1604、コンテンツキャッシュ143に格納されたコンテンツの先頭部分のサイズであるキャッシュサイズ1605、コンテンツの先頭部分のコンテンツキャッシュ内の格納先であるキャッシュ格納先1606、コンテンツのストレージ内の格納先であるストレージ格納先1607よりなるエントリが登録される。キャッシュ格納先1606に設定される値としては、例えば、コンテンツキャッシュ内におけるコンテンツの先頭部分の先頭アドレスを用いることができる。また、ストレージ格納先1607に設定される値としては、例えば、ストレージ番号や、ストレージ内におけるコンテンツの先頭アドレスを用いることができる。
図17は、ファイルサーバ14における読み出し制御プログラム243のフローチャートの1番目である。
S1701において、読み出し要求管理プログラム241から、コンテンツ名を引数として読み出し要求を受けると、コンテンツ格納先管理テーブル248に格納された、読み出し対象コンテンツの属性情報を取得する。属性情報とは、引数としてのコンテンツ名と一致するコンテンツ名1601を、コンテンツ格納先管理テーブル248から検索し、この検索によって得られたエントリである。
S1702において、S1701で読み出した属性情報のうち、コンテンツキャッシュ143に格納されたコンテンツの先頭部分のサイズ(キャッシュサイズ1605)と、コンテンツの先頭部分のコンテンツキャッシュ143内の格納先(キャッシュ格納先1606)の情報を元に、コンテンツキャッシュ143に格納されたコンテンツの先頭部分261を読み出す。
S1703において、読み出したコンテンツの先頭部分261をコンテンツブロック単位に読み出し要求管理プログラム241に返却する。S1704において、図19に示すコンテンツ読み出し管理テーブル1900に、コンテンツ名1901が、引数として指定されたコンテンツ名と同じで、状態1902が「読み出し待ち」のエントリが存在するか否かを確認する。
S1705において、同じコンテンツに対するストレージ161からの「読み出し待ち」の状態のエントリが存在すると判定された場合は、S1706において、このエントリ内の読み出し要求リスト1906に、読み出し要求管理プログラム241のプロセスを特定する識別子を追加し、本読み出し要求に対する読み出し制御の処理を終了する(図18参照)。
S1705で同じコンテンツに対するストレージ161からの「読み出し待ち」の状態のエントリが存在しないと判定された場合は、S1707において、コンテンツ格納先管理テーブル248に格納されたコンテンツのストレージ内の格納先(ストレージ格納先1607)から得られるこのコンテンツが格納されたストレージ161の読み出し性能情報を取得する。この読み出し性能情報は、例えば、ストレージアクセス性能管理テーブル2100のストレージ読み出し性能2200から取得できる。
S1708において、まず、S1707で得られたストレージ161の読み出し性能情報から、読み出し対象のコンテンツ260のコンテンツブロックをストレージ161から読み出すために必要となる時間を求め、さらに、S1703で返却したコンテンツの先頭部分261による再生時間を、コンテンツの先頭部分261のサイズをコンテンツのビットレート1603で割ることによって求める。この2つの時間の差を、S1703で求めた、コンテンツの先頭部分261を返却した時刻に加えることで算出される時刻を、ストレージからのコンテンツ読み出し開始時刻とする。
S1709において、コンテンツ読み出し管理テーブル1900に対して、コンテンツ名1901に、読み出し対象のコンテンツのコンテンツ名を設定し、状態1902に、「読み出し待ち」の状態を設定し、配信開始時刻1903に、コンテンツキャッシュ143に格納されたコンテンツの先頭部分261の配信を開始した時刻を設定し、再生可能時間1904に、コンテンツの先頭部分261のサイズをコンテンツのビットレートで割ることによって求めた再生時間を設定し、ストレージからの読み出し開始時刻1905に、S1708で算出したストレージからのコンテンツ読み出し開始時刻を設定し、読み出し要求リスト1906に、読み出し要求管理プログラム241の実行プロセスを特定する識別子を設定したエントリを新規登録する。S1710において、ストレージからの読み出し開始時刻1905まで読み出しを待つ。
図18は、ファイルサーバ14における読み出し制御プログラム243のフローチャートの2番目である。
S1711において、読み出し開始時刻1905になると、コンテンツ読み出し管理テーブル1900に登録したエントリの状態1902を「読み出し中」に変更する。S1712において、ストレージ161に格納されたコンテンツ260のうち、コンテンツキャッシュ143に格納されたコンテンツの先頭部分261は、既にコンテンツキャッシュ143から読み出し済みであるため、この部分については、ストレージ161に格納されたコンテンツ260からの読み出しをスキップする。
S1713において、ストレージ161からコンテンツブロックを読み出す。ここで、ストレージ161からコンテンツブロックを読み出す際には、S1701において取得した属性情報のストレージ格納先1607を元に読み出しを始め、以降は順次に読み出す。ストレージ161からコンテンツブロックを読み出す際に、1つのストレージに格納された1つまたは複数のコンテンツに対して、複数の読み出しを行う場合に、それらの読み出しのうち、コンテンツ読み出し管理テーブル1900の配信開始時刻1903に再生可能時間1904を加えた時刻である再生完了時刻から、現在時刻を引いた時間が最も短い読み出しを優先的に実行する(再生完了時刻が最も早い読み出しを優先的に実行する)。再生完了時刻が早いコンテンツを優先して読み出すことによって、特定のコンテンツの読み出し遅延などが原因で発生する他のコンテンツにおける再生停止を防止することが可能となる。S1714において、ストレージ161からコンテンツブロックを読み出すのに要した時間から、ストレージ161からの読み出し性能を算出し、ストレージ性能管理プログラム247に通知する。
S1715において、ストレージ161から読み出したコンテンツブロックを、コンテンツ読み出し管理テーブル1900の、読み出し要求リスト1906に登録された、すべての読み出し要求管理プログラム241のプロセスに返却する。S1716において、返却したコンテンツにより再生可能な時間を、コンテンツ読み出し管理テーブル1900の再生可能時間1904に加算することによって再生可能時間1904を更新し、S1717において、残りのコンテンツブロックが存在するか否かを判定し、存在する場合は、S1713とS1714とS1715とS1716とを繰り返す。S1717において、すべてのコンテンツブロックの返却が完了したと判定されると、S1718において、コンテンツ読み出し管理テーブル1900に登録した、本読み出し要求のエントリを削除し、本プログラムを終了する。
図19は、ファイルサーバ14の読み出し制御プログラム243が使用するコンテンツ読み出し管理テーブル1900のデータ構造を示す図である。
コンテンツ読み出し管理テーブル1900には、コンテンツ名1901、ストレージからの読み出しの状態1902、配信開始時刻1903、再生可能時間1904、ストレージからの読み出し開始時刻1905、読み出し要求リスト1906を持つエントリが登録される。
ストレージからの読み出しの状態1902には、「読み出し待ち」と「読み出し中」がある。配信開始時刻1903は、コンテンツの先頭部分261の配信を開始した時刻である。再生可能時間1904は、配信済みのコンテンツによって、コンテンツ再生できる時間である。ストレージからの読み出し開始時刻1905には、図17と図18に示した読み出し制御プログラム243のフローチャートのS1708において算出した、ストレージからの読み出しを開始する時刻が格納される。読み出し要求リスト1906には、読み出し制御プログラム243を呼び出した読み出し要求管理プログラム241の実行プロセスを特定する識別子のリストが格納される。
図20は、ファイルサーバ14のストレージ性能管理プログラム247におけるストレージ性能監視処理のフローチャートである。
S2001において、図17と図18に示した読み出し制御プログラム243のフローチャートのS1714で、ストレージ性能管理プログラム247に通知されたストレージ161からのコンテンツブロックの読み出し性能を、図21に示すストレージアクセス性能管理テーブル2100のストレージ読み出し性能2200に登録する。S2002において、ストレージ読み出し性能2200とストレージ読み出し性能限界値2203を比較する。S2003において、ストレージ読み出し性能2200がストレージ読み出し性能限界値2203以下であると判定された場合は、S2004において、キャッシュ制御プログラム246にストレージ読み出し性能2200が不足していることを通知する。
図21は、ファイルサーバ14のストレージ性能管理プログラム247が使用するストレージアクセス性能管理テーブル2100のデータ構造を示す図である。
ストレージアクセス性能管理テーブル2100には、ストレージ名2101と、ストレージ読み出し性能限界値2203、ストレージ読み出し性能2200、最終のストレージ読み出し性能更新時刻2102が格納される。ストレージ読み出し性能限界値2203については、図22を用いて説明する。尚、最終のストレージ読み出し性能更新時刻2102は、必須のものではない。
図22は、コンテンツ再生速度に基づくストレージ読み出し性能限界値の算出およびストレージ読み出し性能の時間による変化とストレージアクセス頻度限界値との相関図である。
ストレージ読み出し性能2200は、時間経過に伴うストレージ161からのコンテンツブロックの読み出し性能の変化を示している。コンテンツ再生速度2201は、ストレージ161に格納されたコンテンツの再生速度(ビットレート)の最大値である。ストレージ読み出し性能限界値2203は、コンテンツ再生速度2201に性能マージン2202を加えた性能である。
性能マージン2202には、例えば、ストレージ161に対するストレージアクセス頻度2205の単位時間あたりの上昇率の最大値を元に求めた値を設定する。これにより、ストレージ性能管理プログラム247が、ストレージ読み出し性能2200がストレージ読み出し性能限界値2203以下になったことを検知してから、キャッシュ制御プログラム246が、キャッシュサイズの変更による性能向上対策を行なうまでに、コンテンツ再生速度2201以下にならないようにすることが可能である。性能マージン2202には、運用開始時には、例えば、固定値を設定し、適宜変更することも可能である。
性能余裕値2204は、ストレージ読み出し性能2200からストレージ読み出し性能限界値2203を引いた値である。ストレージアクセス頻度2205は、ストレージ161に対する、単位時間あたりのコンテンツブロック読み出し回数である。ストレージアクセス頻度2205が上昇すると、ある時点から、ストレージ読み出し性能2200が急激に低下することになる。性能余裕値2204が0の時点のストレージアクセス頻度2205が、ストレージアクセス頻度限界値2206である。性能余裕値2204が0以下になると、ストレージ読み出し性能2200が、ストレージ読み出し性能限界値2203以下になり、ストレージ読み出し性能不足2207となる。この時点では、ストレージアクセス頻度2205がストレージアクセス頻度限界値2206以上になっており、ストレージアクセス頻度限界値超過2208となる。この状態では、コンテンツブロック配信遅れによる、クライアント10におけるコンテンツ再生停止が発生することになる。
図23は、ファイルサーバ14のストレージ性能管理プログラム247におけるストレージ性能参照処理のフローチャートである。
S2301において、ストレージ性能参照要求を受けとると、ストレージアクセス性能管理テーブル2100から、全ストレージの読み出し性能を取得する。S2302において、読み出した各ストレージの読み出し性能を要求元に返却する。
図24は、ファイルサーバ14におけるキャッシュ制御プログラム246のフローチャートである。
S2401において、ストレージ性能管理プログラム247から、ストレージ読み出し性能限界値2203以下の性能のストレージ161が存在するという通知を受け取ると、そのストレージ161に格納されたすべてのコンテンツのエントリをコンテンツ格納先管理テーブル248から取得したコンテンツリストを作成する。S2402において、まず、各コンテンツに割り当てられたキャッシュサイズと、コンテンツのサイズと、コンテンツのアクセス頻度を元に、ストレージ161内のコンテンツ260に対するアクセス頻度であるストレージアクセス頻度を求める。ストレージアクセス頻度は、以下の計算式によって求めることができる。
ストレージアクセス頻度=
アクセス頻度×(コンテンツサイズ−キャッシュサイズ)÷キャッシュサイズ
コンテンツリストの全コンテンツについて、ストレージアクセス頻度を求めると、コンテンツリストを、ストレージアクセス頻度の高い順に並び替える(ストレージアクセス頻度の降順でソートする)。S2403において、コンテンツキャッシュ143に、コンテンツブロックのサイズより大きな空き領域があるか否かをチェックする。コンテンツキャッシュ143に空き領域がない場合は、S2404において、使用頻度が低いコンテンツに割り当てられたキャッシュ領域を解放することにより、必要領域、すなわちコンテンツキャッシュ143の空き領域を確保する。使用頻度が低いコンテンツに割り当てられたキャッシュ領域を解放する処理の手順については、図27と図28を用いて後記する。
S2405において、キャッシュ領域の確保の結果を確認し、確保に失敗したと判定した場合は、S2406において、キャッシュ不足のアラートを発行するなどのエラー処理を行い、本処理は終了する。S2405において、コンテンツキャッシュ143の空き領域が確保に成功したと判定した場合は、S2407において、コンテンツリストの先頭にあるコンテンツ(ストレージアクセス頻度の高いコンテンツ)の、コンテンツキャッシュ143に格納するコンテンツの先頭部分261のキャッシュ領域のサイズをコンテンツブロックの1ブロック分のサイズ増加し、ストレージ161に格納されたコンテンツ260から、サイズを増加したコンテンツの先頭部分261のコンテンツブロックを読み出して、コンテンツキャッシュ143に格納する。
S2408において、コンテンツ格納先管理テーブル248に格納されている、対象コンテンツのキャッシュサイズ1605の値を、増加したキャッシュサイズに変更する。S2409において、S2407でアクセス頻度が高いコンテンツに割り当てるキャッシュサイズを増加したことによって変更されたストレージ161のストレージアクセス頻度を算出し、S2410において、ストレージアクセス頻度に基づく、ストレージ161のストレージ読み出し性能見通しを算出する。
S2411において、算出したストレージ読み出し性能見通しが、ストレージ読み出し性能限界値2203以下と判定された場合は、S2403に戻り、ストレージ読み出し性能2200が、ストレージ読み出し性能限界値2203を上回るまで、前記の処理を繰り返す。S2411において、ストレージ読み出し性能見通しが、ストレージ読み出し性能限界値を上回っていると判定されれば、本処理を終了する。
図25は、コンテンツキャッシュ143に格納されたコンテンツの先頭部分261のサイズ変更による読み出し要求統合数変化の説明図である。
コンテンツの読み出し要求2500A,2500Bがあると、読み出し制御プログラム243は、キャッシュ内コンテンツの読み出し2501A,2501Bを実行し、その後に、読み出し停止2502A,2502Bに入る。読み出し停止2502A,2502Bが終わると、読み出し制御プログラム243は、読み出し要求の統合2503A,2503B、ストレージ内コンテンツの読み出し2504A,2504Bを実行する。
本図では、キャッシュが小さい場合の読み出し要求2500Aとキャッシュが大きい場合の読み出し要求2500Bを比較している。キャッシュ内コンテンツの読み出し2501Aの実行時間は、キャッシュ内コンテンツの読み出し2501Bの実行時間に比べて短いが、読み出し停止2502Aの時間も読み出し停止2502Bの時間より短いため、コンテンツに対するアクセス頻度は同じであっても、読み出し要求の統合2503Aで統合できる読み出し要求数は、読み出し要求の統合2503Bで統合できる読み出し要求数より少なくなる。このように、コンテンツキャッシュ143に格納するコンテンツの先頭部分261のサイズを増加することによって、読み出し要求の統合数を増加し、ストレージアクセス頻度を低減することが可能となる。ストレージアクセス頻度が低下すると、ストレージ読み出し性能が向上することになる。
図26は、コンテンツキャッシュ143に格納されたコンテンツの先頭部分261のサイズ増加によるストレージ読み出し性能向上の説明図である。
ストレージ読み出し性能2200が、コンテンツ再生速度2201から求められた、ストレージ読み出し性能限界値2203以下になると、ストレージアクセス頻度2205もストレージアクセス頻度限界値2206以上となる。この際に、キャッシュ制御プログラム246がコンテンツキャッシュ143に格納するコンテンツの先頭部分261のサイズを増加すると、ストレージアクセス頻度2205が低下し、それにより、ストレージ読み出し性能2200が向上する。ストレージ読み出し性能2200がストレージ読み出し性能限界値2203以下になる度に、キャッシュ制御プログラム246の処理を実行して、コンテンツキャッシュ格納サイズ増加2601を行なうことにより、ストレージ読み出し性能2200を、コンテンツ再生速度2201を上回る速度に保つことができる。コンテンツキャッシュ格納サイズ増加2601を行なわない場合のストレージ読み出し性能2602は、コンテンツ再生速度以下になる。また、コンテンツキャッシュ格納サイズ増加2601を行なわない場合のストレージアクセス頻度2603も、ストレージアクセス頻度限界値2206以上になる。
図27は、ファイルサーバ14のキャッシュ制御プログラム246における使用頻度が低いキャッシュ領域の解放処理のフローチャートの1番目である。本フローチャートは、図24に示した、ファイルサーバ14におけるキャッシュ制御プログラム246のフローチャートのS2404の処理手順を示している。本処理は、キャッシュ制御プログラム246において、ストレージアクセス頻度が高いコンテンツに対して割り当てるキャッシュ領域のサイズを増加する際に、コンテンツキャッシュ143の空き領域のサイズが不足する場合に呼び出される。
S2701において、全ストレージ161のストレージ読み出し性能2200を、図21に示すストレージアクセス性能管理テーブル2100から取得し、ストレージリストを作成する。S2702において、ストレージリストを、ストレージ読み出し性能2200からストレージ読み出し性能限界値2203を引いた値である性能余裕値2204の降順でソートする。これにより、ストレージ読み出し性能に余裕がある順に、ストレージリストが作成される。
S2703において、作成したストレージリストの先頭にあるストレージ161に格納されたすべてのコンテンツのエントリをコンテンツ格納先管理テーブル248から取得したコンテンツリストを作成する。S2704において、コンテンツリストに格納された全コンテンツをアクセス頻度1604の昇順にソートする。これによりアクセス頻度が低い順のコンテンツリストが作成される。
S2705において、コンテンツリストの先頭に格納されたコンテンツ260に割り当てられたキャッシュサイズ1605を確認する。つまり、このサイズが、コンテンツ260が格納されたストレージ161から、コンテンツブロックの最小単位(コンテンツブロックの1単位分)を読み出すために必要な時間の再生が可能なコンテンツの先頭部分261を格納できるサイズ(最小キャッシュサイズ)より大きいか否かを確認する。この最小キャッシュサイズは、例えば、コンテンツブロックの最小単位を読み出すために必要な時間と、コンテンツのビットレートとを乗算することによって算出される。
最小キャッシュサイズより大きい場合は、そのコンテンツに割り当てたキャッシュサイズを削減することが可能である。S2706において、キャッシュサイズ1605が削減可能な大きさであると判定された場合は、S2707において、コンテンツキャッシュ143に格納されたコンテンツの先頭部分261のサイズを、最小キャッシュサイズまで削減する。S2708において、コンテンツ格納先管理テーブル248に格納された、対象コンテンツのキャッシュサイズ1605を変更後のサイズに変更する。S2706において、削減できない大きさであると判定された場合は、S2707とS2708をスキップする。
図28は、ファイルサーバ14のキャッシュ制御プログラム246における使用頻度が低いキャッシュ領域の解放処理のフローチャートの2番目である。
S2709において、コンテンツリストから先頭のエントリを削除する。S2710において、必要なサイズのコンテンツキャッシュ143の空き領域が確保できたと判定された場合は、本処理を終了する。S2710において、必要なコンテンツキャッシュ143の空き領域が確保できなかったと判定された場合は、さらに必要なキャッシュ領域を確保するために、ストレージアクセス頻度が低いコンテンツに割り当てられたキャッシュ領域の解放処理を継続する。
S2711において、キャッシュサイズを削減したコンテンツのストレージアクセス頻度が増加することによる、ストレージリストの先頭にあるストレージ161のストレージ読み出し性能2200の見通しを算出し、ストレージ読み出し性能限界値2203を引いた値である性能余裕値2204を算出する。
S2712において、算出した性能余裕値2204があらかじめ定められた閾値以下になったと判定された場合は、このストレージ161に格納されたコンテンツ260に割り当てたキャッシュ領域の解放処理は終了し、S2714以降の処理を行なう。
S2712において、算出した性能余裕値2204が閾値を上回ると判定された場合は、S2713において、コンテンツリストに残エントリが有るか否かを確認し、まだ、エントリがある場合は、S2705の処理に戻り、次のエントリのコンテンツに割り当てたキャッシュサイズの削減を続ける。
S2713において、コンテンツリストのエントリが無くなった場合は、このストレージ161に格納されたコンテンツ260に対するキャッシュサイズの削減は終了し、S2714以降の処理を行なう。S2714において、ストレージリストの最初のエントリを削除する。S2715において、ストレージリストに残エントリがあるか否かを判定し、残エントリがある場合は、S2703の処理に戻り、他のストレージに対する使用頻度が低いキャッシュ領域の解放処理を継続する。
S2715において、ストレージリストに残エントリが無いと判定された場合、つまり、すべてのストレージに対して、使用頻度が低いキャッシュ領域の解放処理を実行しても必要なキャッシュサイズが確保できないと判定された場合は、S2716のエラー処理において、必要なキャッシュコンテンツの空き領域が確保できなかった旨のエラーを呼び出し元に返却する。
図29は、クライアント10におけるコンテンツ登録プログラム201のフローチャートである。
まず、S2901において、メディアサーバ11が提供するプロトコルに従い、メディアサーバ11に接続する。S2902において、登録要求の種別を判定し、登録済みのコンテンツに対する更新登録もしくは削除の場合は、S2903において、対象となる公開コンテンツ名をメディアサーバ11に対して通知する。S2902において、登録要求の種別が新規登録の場合は、S2903のステップをスキップする。
S2904において、登録要求の種別を判定し、コンテンツの新規登録もしくは更新登録の場合は、S2905において、ハードディスク102のコンテンツ格納領域202に格納された、登録対象のコンテンツをメディアサーバ11に送付する。S2904において、登録要求の種別が削除であると判定された場合は、S2905のステップをスキップする。S2906において、メディアサーバ11からの結果返信を待ち、結果を受信する。
メディアサーバ11からの結果が、登録もしくは削除の成功であった場合は、S2907において、登録もしくは削除したコンテンツに付けられた公開コンテンツ名を表示装置104に表示する。登録エラーの場合は、S2907において、エラー情報を表示装置104に表示する。S2906の結果の受信およびS2907の結果の表示が完了したら、S2908において、メディアサーバ11との接続を解除する。
図30は、メディアサーバ11におけるコンテンツ受付プログラム211のフローチャートである。
S3001において、クライアント10からの新規登録、更新登録、削除の要求を待ち、要求が来たらこれを受け付ける。S3002において、受け付けた要求の種別を判定し、削除、更新登録の場合は、S3003において、削除もしくは更新対象の公開コンテンツ名を取得する。S3002において、受け付けた要求の種別が新規登録と判定された場合は、S3003のステップをスキップする。
S3004において、受け付けた要求の種別を判定し、新規登録、更新登録の場合は、S3005において、登録するコンテンツを取得し、コンテンツ格納領域216に格納する。S3004において、受け付けた要求の種別が削除と判定された場合は、S3005のステップをスキップする。S3006において、コンテンツ管理プログラム212に対して、コンテンツの更新を要求する。S3007において、クライアント10に対して結果を通知する。S3008において、クライアントとの接続を解除し、本プログラムを終了する。
図31は、メディアサーバ11のコンテンツ管理プログラム212におけるコンテンツ更新要求処理のフローチャートである。コンテンツ受付プログラム211からコンテンツ更新要求があると、本処理を実行する。
S3101において、要求の種別を確認する。S3102において、要求の種別を判定し、要求の種別が新規登録と判定された場合は、S3107のステップに進む。S3102において、要求の種別が、削除もしくは更新登録と判定された場合は、S3103において、指定された公開コンテンツ名901を持つコンテンツのコンテンツ名904をコンテンツ管理テーブル215から取得する。
S3104において、指定された公開コンテンツ名を持つコンテンツがコンテンツ管理テーブル215に存在するか否かを判定し、存在しない場合は、S3105のエラー処理において、エラー情報をコンテンツ受付プログラム211に返却する。S3104において、指定された公開コンテンツ名901を持つコンテンツがコンテンツ管理テーブル215に存在すると判定された場合は、S3106において、要求種別を判定して、更新登録の場合は、S3107のステップに進み、削除の場合は、S3107のステップをスキップして、S3108のステップに進む。
S3107において、コンテンツ格納領域216に格納された登録コンテンツを取得する。S3108において、削除の場合は、要求種別とS3103で取得したコンテンツ名を引数とし、新規登録の場合は、要求種別とコンテンツ属性(例えば、コンテンツのヘッダ402に設定されている値)から取得したビットレートとコンテンツを引数として、更新登録の場合は、要求種別とS3103で取得したコンテンツ名とコンテンツ属性から取得したビットレートとコンテンツを引数として、コンテンツ更新を実行する。
S3109において、コンテンツ更新がエラーとなったと判定された場合は、S3105において、エラー処理として、コンテンツ受付プログラム211に、エラー情報を返却する。S3109において、コンテンツ更新が成功したと判定された場合は、S3110において、コンテンツ管理テーブル215の更新を行う。すなわち、要求種別が、新規登録の場合は、コンテンツ管理テーブル215にエントリを追加し、更新登録の場合は、登録したコンテンツのコンテンツ名をコンテンツ管理テーブル215の更新対象コンテンツのコンテンツ名904に設定し、削除の場合は、コンテンツ管理テーブル215の対象コンテンツのエントリを削除する。S3111において、コンテンツ受付プログラム211に、更新の結果として登録もしくは削除したコンテンツのコンテンツ名904を返却する。
図32は、メディアサーバ11におけるコンテンツ更新プログラム214のフローチャートである。
S3201において、コンテンツ管理プログラム212のコンテンツ更新要求処理から呼び出されると、ファイルサーバ14の更新要求管理プログラム244に対して、更新要求を行なう。S3202において、更新要求管理プログラム244に対する更新要求の実行結果がエラーと判定された場合は、S3203において、エラー処理としてコンテンツ管理プログラム212に対して、エラー情報を返却する。
S3202において、更新要求管理プログラム244に対する更新要求の実行結果が成功したと判定された場合は、S3204のステップに進む。S3204において、要求種別を判定し、新規登録、更新登録と判定された場合は、S3205において、ファイルサーバ14に書き込んだコンテンツのコンテンツ名(更新要求管理プログラム244から返却されたコンテンツ名)を呼び出し元のコンテンツ管理プログラム212のコンテンツ更新要求処理に返却し,本プログラムを終了する。S3204において、要求種別が削除と判定された場合は、本プログラムを終了する。
図33は、ファイルサーバ14における更新要求管理プログラム244のフローチャートである。
S3301において、メディアサーバ11のコンテンツ更新プログラム214からの更新要求を受け付ける。S3302において、要求種別を判定し、新規登録と判定された場合は、S3309のステップに進む。S3302において、要求種別が更新登録もしくは削除と判定された場合は、S3303において、ファイルシステム管理プログラム240の実行により、指定されたコンテンツ名のコンテンツの有無をチェックする。ファイルシステム管理プログラム240のコンテンツ有無チェックの処理内容は、図12を用いて前記した通りである。
S3304において、指定されたコンテンツが存在しないと判定された場合は、S3305のエラー処理において、コンテンツが存在しない旨のエラーをメディアサーバ11に返却し、本プログラムを終了する。S3304において、指定されたコンテンツが存在すると判定された場合は、S3306において、ファイルシステム管理プログラム240に対して、ファイルシステム管理情報格納領域249からの対象コンテンツの削除を要求し、さらにアクセス頻度管理プログラム242に対して、削除対象コンテンツのコンテンツアクセス頻度管理テーブル1400からの削除もしくは更新対象のコンテンツのエントリの削除を要求する。
S3307において、更新制御プログラム245に対して、コンテンツ削除を要求する。更新制御プログラム245のコンテンツ削除処理は、図34を用いて後記する。S3308において、要求種別を判定し、削除の場合は、本処理を終了する。S3308において、要求種別が新規登録もしくは更新登録と判定された場合は、S3309において、更新制御プログラム245に対して、コンテンツ書き込みを要求する。更新制御プログラム245のコンテンツ書き込み処理は、図35を用いて後記する。
S3310において、ファイルシステム管理プログラム240に対して、ファイルシステム管理情報格納領域249への登録対象コンテンツの情報の追加を要求し、さらに、アクセス頻度管理プログラム242に対して、コンテンツアクセス頻度管理テーブル1400への登録対象コンテンツのエントリの登録を要求する。S3311において、ファイルサーバ14内でコンテンツを一意に特定するためのコンテンツ名をメディアサーバ11に返却する。
図34は、ファイルサーバ14の更新制御プログラム245におけるコンテンツ削除処理のフローチャートである。
S3401において、コンテンツ格納先管理テーブル248から、削除対象のコンテンツのキャッシュ格納先1606およびストレージ格納先1607の情報を取得する。S3402において、コンテンツ格納先管理テーブル248から、削除対象コンテンツのエントリを削除する。S3403において、キャッシュ格納先1606の情報を用いて、コンテンツキャッシュ143内のコンテンツの先頭部分261が格納されたキャッシュ領域を解放することによってコンテンツキャッシュ143内のコンテンツを削除する。S3404において、ストレージ格納先1607の情報を元に、ストレージ161に格納されたコンテンツ260の格納領域を解放することによってストレージ161内のコンテンツを削除し、本処理を終了する。
図35は、ファイルサーバ14の更新制御プログラム245におけるコンテンツ書き込み処理のフローチャートである。
S3501において、ストレージ性能管理プログラム247のストレージ性能参照処理(図23参照)を呼び出し、すべてのストレージ161の読み出し性能を取得する。S3502において、ストレージ161のストレージ読み出し性能2200と、ストレージ読み出し性能限界値2203、書き込み対象のコンテンツのビットレートの情報およびストレージ161の空き容量の情報から、コンテンツ格納先のストレージ161を選択(決定)する。格納先のストレージ161を選択(決定)する際には、ストレージ読み出し性能限界値2203が、書き込み対象のコンテンツの再生速度(ビットレート)を上回るストレージ161の中から、ストレージ読み出し性能2200からストレージ読み出し性能限界値2203を引いた値である性能余裕値が、あらかじめ定められた閾値を上回るストレージ161を選択する。対象となるストレージ161が複数存在する場合は、例えば、空き領域が最も大きなストレージ161を選択する。
S3503において、選択したストレージ161に対して、書き込み対象のコンテンツを書き込む。S3504において、ファイルサーバ14内のコンテンツを特定することができるコンテンツ名を決定する。コンテンツ名を決定する際には、例えば、所定の規則に従って生成したコンテンツの名称をコンテンツ名として決定する。S3505において、コンテンツ格納先管理テーブル248に、書き込んだコンテンツのエントリを登録する。S3506において、ストレージ161に書き込んだコンテンツ260のコンテンツの先頭部分261のコンテンツキャッシュ143への格納(書き込み)を行なう。コンテンツキャッシュ143へのコンテンツの先頭部分261の書き込み処理の手順は、図36を用いて後記する。S3507において、書き込んだコンテンツのコンテンツ名およびコンテンツ格納先情報を更新要求管理プログラム244に返却し、本処理を終了する。
なお、前記の更新制御プログラム245におけるコンテンツ書き込み処理の手順のうち、S3502の格納先のストレージ161を決定する手順として、以下の2つのいずれかの手順を用いることも本実施形態に含まれる。
(1)S3502において、書き込み対象のコンテンツのビットレートの情報および、コンテンツ格納先管理テーブル248より得られる、ストレージ161に格納されたコンテンツのビットレート1603の情報から、登録されるコンテンツのビットレートが、ストレージ161に格納されたコンテンツのビットレート1603の平均値と最も近いストレージ161を選択する。対象となるストレージ161が複数存在する場合は、空き領域が最も大きなストレージ161を選択する。
(2)S3502において、1つのストレージ161に格納されるコンテンツのビットレートを統一するために、書き込み対象のコンテンツのビットレートの情報および、コンテンツ格納先管理テーブル248より得られる、ストレージ161に格納されたコンテンツのビットレート1603の情報から、登録されるコンテンツのビットレートが、ストレージ161に格納された、すべてのコンテンツのビットレート1603と一致するストレージ161を選択する。対象となるストレージ161が複数存在する場合は、空き領域が最も大きなストレージ161を選択する。
図36は、ファイルサーバ14のキャッシュ制御プログラム246におけるコンテンツの先頭部分261のコンテンツキャッシュ143への格納処理のフローチャートである。
S3601において、ストレージ161に書き込まれたコンテンツ260のビットレートをコンテンツ格納先管理テーブル248から取得する。S3602において、ストレージ性能管理プログラム247より、コンテンツが書き込まれたストレージ161のストレージ読み出し性能2200を取得する。S3603において、ストレージ読み出し性能2200を元に、コンテンツキャッシュ143への書き込みが必要なコンテンツの先頭部分261のサイズを算出する。このサイズは、コンテンツ260が格納されたストレージ161から、コンテンツブロックの1単位分を読み出すために必要な時間の再生が可能な大きさのコンテンツの先頭部分261を格納できるサイズ(最小キャッシュサイズ)とする。
S3604において、算出したサイズのコンテンツの先頭部分261をストレージ161に格納されたコンテンツ260から読み出し、コンテンツキャッシュ143に書き込む(格納する)。S3605において、コンテンツキャッシュ143に格納したコンテンツの先頭部分261のサイズを、コンテンツ格納先管理テーブル248のキャッシュサイズ1605に登録し、コンテンツの先頭部分261のコンテンツキャッシュ143内の格納先を、コンテンツ格納先管理テーブル248のキャッシュ格納先1606に登録することで、コンテンツ格納先管理テーブル248の情報を更新する。
本実施形態では、以下の(1)〜(9)に示す手段を用いて、コンテンツキャッシュの管理、コンテンツの読み出し処理およびコンテンツの登録処理を制御することとした。
(1)コンテンツ(映像ストリームなど)のビットレートおよびコンテンツが格納されたストレージからのデータ読み出し性能の情報を用いて、ストレージから、各コンテンツの配信および管理の単位である1つのコンテンツブロックを読み出すために必要な時間を求める手段
(2)各コンテンツについて、(1)で求めた時間、配信先でコンテンツを再生するために必要なコンテンツのサイズを算出し、ファイルサーバ上の、算出した必要サイズの合計より大きなサイズを持つ、高速な読み出しが可能なコンテンツキャッシュに対して、各コンテンツから、コンテンツキャッシュに格納可能な範囲で、前記で算出したサイズを上回る大きさのコンテンツの先頭部分をストレージから読み出し、コンテンツキャッシュに格納する手段
(3)コンテンツの読み出し要求に対して、まず、(2)によりコンテンツキャッシュに格納されたコンテンツの先頭部分を読み出し、このコンテンツの先頭部分の再生に要する時間と、ストレージから1つのコンテンツブロックを読み出すために必要な時間より、クライアントにおけるコンテンツ再生停止が起きないようにするための、ストレージに格納されたコンテンツの読み出し開始時間を決定し、その時間までは、ストレージに格納されたコンテンツの読み出しを停止する手段
(4)(3)によるコンテンツの読み出しを停止している期間中に、同一コンテンツに対して、コンテンツキャッシュに格納されたコンテンツの配信が完了する読み出し要求がある場合は、ストレージ上に格納されたコンテンツの読み出し要求を統合する手段
(5)1つのストレージから、複数のコンテンツを読み出す際には、配信済みのコンテンツの再生完了までの時間が短いコンテンツを優先的に読み出すことで、クライアントにおける再生停止を防止する手段
(6)あるストレージに格納されたコンテンツの読み出し頻度が増大し、ストレージの読み出し性能が、読み出したコンテンツの再生速度(ビットレート)から得られる限界値以下になった場合は、そのストレージに格納されたコンテンツのコンテンツキャッシュに格納するコンテンツの先頭部分のサイズを増大することで、ストレージに対するアクセス頻度を低減させ、ストレージの読み出し性能が、限界値以下にならないようにする手段
(7)(6)において、コンテンツの先頭部分のサイズを増大するコンテンツには、アクセス頻度が高いコンテンツを優先的に割り当てることで、効率的にストレージに対するアクセス頻度を低減する手段
(8)(6)でコンテンツキャッシュの容量が不足する場合は、ストレージからのコンテンツ読み出し性能がクライアントにおける再生速度(ビットレート)を上回るストレージに格納されたコンテンツのコンテンツキャッシュに格納したコンテンツの先頭部分のサイズを小さくすることで、必要な容量を確保する手段
(9)コンテンツを登録する際に、コンテンツのビットレートとストレージの読み出し性能と既にストレージに登録されているコンテンツのビットレートとを用いて、登録先のストレージを選択する手段
本実施形態では、ファイルサーバが、ストレージからよりも高速なコンテンツの読み出しが可能なコンテンツキャッシュに、コンテンツの先頭から切り出したコンテンツの先頭部分を格納し、クライアントからコンテンツ読み出しの要求を受け付けると、コンテンツキャッシュに格納されたコンテンツの先頭部分をクライアントに返却し、返却したコンテンツの先頭部分に続く、ストレージに格納されたコンテンツの残りの部分をクライアントに返却することとした。これによれば、コンテンツの格納に必要な資源の増大を防止するとともに、クライアントがコンテンツ読み出し要求を出してからクライアントにおいてコンテンツの再生を開始するまでの待ち時間を短縮することが可能である。
また、一般に、メディアサーバに格納されたコンテンツに対するアクセス頻度は、コンテンツ登録後、短期間で急激に増大し、ピークを迎え、以降は、次第にアクセスが減少する。このようなコンテンツについては、各コンテンツに対するキャッシュサイズを固定で割り当てるキャッシュキャッシュサーバを設置しても、コンテンツに対するキャッシュサーバの性能を上回るアクセスが発生する可能性が高い。一方、本実施形態によれば、コンテンツに対するアクセス頻度に応じて、コンテンツの先頭部分を格納するキャッシュのサイズを変更し、読み出し性能を動的に制御することが可能である。
システム構成図 プラグラムのモジュール関連図 本システムにおけるコンテンツ読み出しおよび配信処理のシーケンス図 ストリームデータの構造およびコンテンツブロックの説明図 クライアントにおけるコンテンツ再生プログラムのフローチャート メディアサーバにおけるコンテンツ配信プログラムのフローチャート メディアサーバのコンテンツ配信プログラムが使用するコンテンツ配信先管理テーブルのデータ構造 メディアサーバのコンテンツ管理プログラムにおけるコンテンツ読み出し要求処理のフローチャート メディアサーバにおけるコンテンツ管理テーブルのデータ構造 メディアサーバにおけるコンテンツ読み出しプログラムのフローチャート ファイルサーバにおける読み出し要求管理プログラムのフローチャート ファイルサーバのファイルシステム管理プログラムにおけるコンテンツ有無チェック処理のフローチャート ファイルサーバのアクセス頻度管理プログラムにおけるアクセス頻度更新処理のフローチャート ファイルサーバのアクセス頻度管理プログラムが使用するコンテンツアクセス頻度管理テーブルのデータ構造 ファイルサーバのアクセス頻度管理プログラムにおけるコンテンツアクセス頻度管理テーブル内で使用するアクセス数カウンタの決定方法および最新アクセス頻度算出方法の説明図 ファイルサーバにおけるコンテンツ格納先管理テーブルのデータ構造 ファイルサーバにおける読み出し制御プログラムのフローチャート(1/2) ファイルサーバにおける読み出し制御プログラムのフローチャート(2/2) ファイルサーバの読み出し制御プログラムが使用するコンテンツ読み出し管理テーブルのデータ構造 ファイルサーバのストレージ性能管理プログラムにおけるストレージ性能監視処理のフローチャート ファイルサーバのストレージ性能管理プログラムが使用するストレージアクセス性能管理テーブル コンテンツ再生速度に基づくストレージ読み出し性能限界値の算出およびストレージ読み出し性能の時間による変化とストレージアクセス頻度限界値との相関図 ファイルサーバのストレージ性能管理プログラムにおけるストレージ性能参照処理のフローチャート ファイルサーバにおけるキャッシュ制御プログラムのフローチャート コンテンツキャッシュに格納されたコンテンツの先頭部分のサイズ変更による読み出し要求統合数変化の説明図 コンテンツキャッシュに格納されたコンテンツの先頭部分のサイズ増加によるストレージ読み出し性能向上の説明図 ファイルサーバのキャッシュ制御プログラムにおける使用頻度が低いキャッシュ領域の解放処理のフローチャート(1/2) ファイルサーバのキャッシュ制御プログラムにおける使用頻度が低いキャッシュ領域の解放処理のフローチャート(2/2) クライアントにおけるコンテンツ登録プログラムのフローチャート メディアサーバにおけるコンテンツ受付プログラムのフローチャート メディアサーバのコンテンツ管理プログラムにおけるコンテンツ更新要求処理のフローチャート メディアサーバにおけるコンテンツ更新プログラムのフローチャート ファイルサーバにおける更新要求管理プログラムのフローチャート ファイルサーバの更新制御プログラムにおけるコンテンツ削除処理のフローチャート ファイルサーバの更新制御プログラムにおけるコンテンツ書き込み処理のフローチャート ファイルサーバのキャッシュ制御プログラムにおけるコンテンツの先頭部分のキャッシュ格納処理のフローチャート
符号の説明
10(10A,10B) クライアント
11 メディアサーバ
12 ネットワーク監視サーバ
13 WAN
14 ファイルサーバ
15 LAN
16 ストレージサーバ
17 SAN
100 CPU
101 メモリ
102 ハードディスク
103 入力装置
104 表示装置
105 WANアダプタ
106 システムバス
110 CPU
111 メモリ
112 ハードディスク
113 WANアダプタ
114 LANアダプタ
115 システムバス
120 CPU
121 メモリ
122 ハードディスク
123 WANアダプタ
124 システムバス
140 CPU
141 メモリ
142 ハードディスク
143 コンテンツキャッシュ
144 LANアダプタ
145 SANアダプタ
146 システムバス
160 コントローラ
161(161A,161B) ストレージ
162 SANアダプタ
163 システムバス
200 コンテンツ再生プログラム
201 コンテンツ登録プログラム
202 コンテンツ格納領域
210 コンテンツ配信プログラム
211 コンテンツ受付プログラム
212 コンテンツ管理プログラム
213 コンテンツ読み出しプログラム
214 コンテンツ更新プログラム
215 コンテンツ管理テーブル
216 コンテンツ格納領域
220 ネットワーク監視プログラム
221 アクセス先制御プログラム
222 監視データ格納領域
223 メディアサーバ管理データ格納領域
240 ファイルシステム管理プログラム
241 読み出し要求管理プログラム
242 アクセス頻度管理プログラム
243 読み出し制御プログラム
244 更新要求管理プログラム
245 更新制御プログラム
246 キャッシュ制御プログラム
247 ストレージ性能管理プログラム
248 コンテンツ格納先管理テーブル
249 ファイルシステム管理情報格納領域
260(260A,260B) (ストレージに格納された)コンテンツ
261 (コンテンツキャッシュに格納されたコンテンツ)先頭部分
300A,300B (コンテンツ読み出し処理)シーケンス
301A,301B (クライアントからのコンテンツ)配信要求
302A,302B (メディアサーバからファイルサーバに対するコンテンツ)読み出し要求
303A,303B キャッシュ読み出し(キャッシュ内コンテンツの読み出し)
304 (コンテンツの)読み出し停止
305 読み出し統合(ストレージ内コンテンツの読み出し要求の統合)
306 ストレージ読み出し(ストレージ内コンテンツの読み出し)
307(307A,307B) (メディアサーバからクライアントへのコンテンツ)配信
308A,308B (クライアントにおける)キャッシュ内コンテンツ再生
309A,309B (クライアントにおけるストレージ内)コンテンツ再生
400 コンテンツブロック
401 (ストリームデータにおける)パック
402 (ストリームデータにおけるパックの)ヘッダ
403 (ストリームデータにおける)パケット
404 (ストリームデータにおけるパケットの)ヘッダ
405 (ストリームデータにおける)エレメンタリストリーム
700 コンテンツ配信先管理テーブル
1400 コンテンツアクセス頻度管理テーブル
1501 アクセス頻度算出単位時間
1502(1502A,1502B) アクセス数カウンタ変更時刻
1503 現在時刻
1504 最新アクセス頻度算出期間
1900 コンテンツ読み出し管理テーブル
2100 ストレージアクセス性能管理テーブル
2200 ストレージ読み出し性能
2201 コンテンツ再生速度
2202 性能マージン
2203 ストレージ読み出し性能限界値
2204 性能余裕値
2205 ストレージアクセス頻度
2206 ストレージアクセス頻度限界値
2207 ストレージ読み出し性能不足
2208 ストレージアクセス頻度限界値超過
2500A,2500B 読み出し要求
2501A,2501B キャッシュ内コンテンツの読み出し
2502A,2502B 読み出し停止
2503A,2503B 読み出し要求の統合
2504A,2504B ストレージ内コンテンツの読み出し
2601 コンテンツキャッシュ格納サイズ増加
2602 (コンテンツキャッシュ格納サイズを変更しない場合の)ストレージ読み出し性能
2603 (コンテンツキャッシュ格納サイズを変更しない場合の)ストレージアクセス頻度

Claims (18)

  1. 1つ以上のストレージを有する1つまたは複数のストレージサーバおよびコンテンツの読み出しを要求する1つまたは複数のクライアントと通信可能にされ、前記ストレージに格納されたコンテンツの一部を格納することが可能なコンテンツキャッシュを備えるファイルサーバによるコンテンツ管理方法であって、
    前記ストレージからよりも高速なコンテンツの読み出しが可能な前記コンテンツキャッシュに、前記コンテンツの先頭から切り出したコンテンツ先頭部分を格納し、
    前記クライアントからコンテンツ読み出しの要求を受け付けると、前記コンテンツキャッシュに格納されたコンテンツ先頭部分を前記クライアントに返却し、
    返却した前記コンテンツ先頭部分に続く、前記ストレージに格納されたコンテンツの残りの部分を前記クライアントに返却すること
    を特徴とするコンテンツ管理方法。
  2. 前記ファイルサーバは、
    前記コンテンツキャッシュに格納されたコンテンツ先頭部分を前記クライアントに返却した時刻と、前記クライアントにおける前記コンテンツ先頭部分の再生時間と、前記クライアントにコンテンツを返却する単位であるコンテンツブロックの1ブロック分をストレージから読み出して前記クライアントに返却するために必要となる時間とから、前記ストレージに格納されたコンテンツの読み出しを開始する時刻を決定すること
    を特徴とする請求項1に記載のコンテンツ管理方法。
  3. 前記ファイルサーバは、
    前記コンテンツブロックの1ブロック分をストレージから読み出して前記クライアントに返却するために必要となる時間を、前記ストレージから読み出すコンテンツブロックの1ブロック分のサイズと、前記コンテンツが格納されたストレージの読み出し性能とを元に算出すること
    を特徴とする請求項2に記載のコンテンツ管理方法。
  4. 前記ファイルサーバは、
    前記ストレージに格納されたコンテンツ読み出しを開始する時刻までに、前記クライアントから同じコンテンツに対する読み出し要求があった場合は、当該読み出し要求を1つに統合した、前記ストレージからのコンテンツの読み出しを実行し、統合対象とされた読み出し要求をした前記クライアントに対して、前記ストレージから読み出した前記コンテンツを返却すること
    を特徴とする請求項2に記載のコンテンツ管理方法。
  5. 前記ファイルサーバは、
    前記コンテンツがストリームデータの場合は、前記クライアントにおける前記コンテンツ先頭部分の再生時間として、前記コンテンツ先頭部分のサイズと、ストリームデータの属性であるビットレートとを用いて算出されるコンテンツの再生時間を用い、
    コンテンツブロックの1ブロック分のサイズとして、ストリームデータの属性であるビットレートを用いて算出されるサイズを用いること
    を特徴とする請求項2に記載のコンテンツ管理方法。
  6. 前記ファイルサーバは、
    1つのストレージに格納された1つまたは複数のコンテンツに対して、複数の読み出しを行う場合に、これらの読み出しのうち、前記コンテンツキャッシュに格納されたコンテンツの先頭部分を前記クライアントに返却した時刻に、前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズおよび既にストレージから読み出して前記クライアントに返却したコンテンツのサイズと、コンテンツであるストリームデータの属性であるビットレートとを用いて算出した再生時間を加えた時刻である再生完了時刻が、最も早い読み出しを優先的に実行すること
    を特徴とする請求項5に記載のコンテンツ管理方法。
  7. 前記ファイルサーバは、
    コンテンツを登録するストレージを選択する際に、ストレージからの読み出し性能の監視により得られるストレージの読み出し性能が、登録するコンテンツのビットレートを元に定めた限界値より高いストレージを、前記コンテンツを登録するストレージとして選択する
    ことを特徴とする請求項5に記載のコンテンツ管理方法。
  8. 前記ファイルサーバは、
    コンテンツを登録するストレージを選択する際に、前記ストレージに格納されたコンテンツのビットレートの最大値が、登録するコンテンツのビットレートより高いストレージを、前記コンテンツを登録するストレージとして選択する
    ことを特徴とする請求項5に記載のコンテンツ管理方法。
  9. 前記ファイルサーバは、
    コンテンツを登録するストレージを選択する際に、前記ストレージに格納されたコンテンツのビットレートの平均値が、登録するコンテンツのビットレートと最も近いストレージを、前記コンテンツを登録するストレージとして選択する
    ことを特徴とする請求項5に記載のコンテンツ管理方法。
  10. 前記ファイルサーバは、
    コンテンツを登録するストレージを選択する際に、前記ストレージに格納されたすべてのコンテンツのビットレートが、登録するコンテンツのビットレートと同じストレージを、前記コンテンツを登録するストレージとして選択する
    ことを特徴とする請求項5に記載のコンテンツ管理方法。
  11. 前記ファイルサーバは、
    前記コンテンツキャッシュに格納する、前記コンテンツの先頭から切り出すコンテンツ先頭部分のサイズは、前記コンテンツが格納されたストレージから前記クライアントにコンテンツを返却する単位であるコンテンツブロックの1ブロック分を読み出すために必要となる時間と、前記コンテンツのビットレートとを元に決定する
    ことを特徴とする請求項5に記載のコンテンツ管理方法。
  12. 前記ファイルサーバは、
    ストレージからの読み出し性能の監視により得られる、ストレージの読み出し性能が、そのストレージに格納されたコンテンツのビットレートから求めた読み出し性能の閾値以下の場合は、前記ストレージの読み出し性能が前記読み出し性能の閾値を上回るまで、前記ストレージに格納されたコンテンツの、前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズを増加する
    ことを特徴とする請求項5に記載のコンテンツ管理方法。
  13. 前記ファイルサーバは、
    前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズを増加する対象となるコンテンツは、コンテンツに対するストレージアクセス頻度が高い順である
    ことを特徴とする請求項12に記載のコンテンツ管理方法。
  14. 前記ファイルサーバは、
    前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズを増加する際に、前記コンテンツキャッシュの空き領域が不足している場合は、前記ストレージの読み出し性能が、読み出し性能の閾値を上回る他のストレージを選択し、選択したストレージに格納されたコンテンツの、前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズを縮小することにより、コンテンツキャッシュの空き領域を増加する
    ことを特徴とする請求項12に記載のコンテンツ管理方法。
  15. 前記ファイルサーバは、
    前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズを縮小する対象となるコンテンツを、コンテンツに対するアクセス頻度が低い順に選択する
    ことを特徴とする請求項14に記載のコンテンツ管理方法。
  16. 1つ以上のストレージを有する1つまたは複数のストレージサーバおよびコンテンツの読み出しを要求する1つまたは複数のクライアントと通信可能にされ、前記ストレージに格納されたコンテンツの一部を格納することが可能なコンテンツキャッシュを備えるともに、情報を処理する処理部を備えるファイルサーバであって、
    前記処理部は、
    前記ストレージからよりも高速なコンテンツの読み出しが可能な前記コンテンツキャッシュに、前記コンテンツの先頭から切り出したコンテンツ先頭部分を格納し、
    前記クライアントからコンテンツ読み出しの要求を受け付けると、前記コンテンツキャッシュに格納されたコンテンツ先頭部分を前記クライアントに返却し、
    返却した前記コンテンツ先頭部分に続く、前記ストレージに格納されたコンテンツの残りの部分を前記クライアントに返却すること
    を特徴とするファイルサーバ。
  17. 前記処理部は、
    前記コンテンツキャッシュに格納されたコンテンツ先頭部分を前記クライアントに返却した時刻と、前記クライアントにおける前記コンテンツ先頭部分の再生時間と、前記クライアントにコンテンツを返却する単位であるコンテンツブロックの1ブロック分をストレージから読み出して前記クライアントに返却するために必要となる時間とから、前記ストレージに格納されたコンテンツの読み出しを開始する時刻を決定すること
    を特徴とする請求項16に記載のファイルサーバ。
  18. 1つ以上のストレージを有する1つまたは複数のストレージサーバおよびコンテンツの読み出しを要求する1つまたは複数のクライアントと通信可能にされ、前記ストレージに格納されたコンテンツの一部を格納することが可能なコンテンツキャッシュを備えるコンピュータにコンテンツの読み出し制御の処理を実行させる読み出し制御プログラムであって、
    読み出し制御プログラムは、前記コンピュータに、
    前記ストレージからよりも高速なコンテンツの読み出しが可能な前記コンテンツキャッシュに、前記コンテンツの先頭から切り出したコンテンツ先頭部分を格納し、
    前記クライアントからコンテンツ読み出しの要求を受け付けると、前記コンテンツキャッシュに格納されたコンテンツ先頭部分を前記クライアントに返却し、
    返却した前記コンテンツ先頭部分に続く、前記ストレージに格納されたコンテンツの残りの部分を前記クライアントに返却する処理を実行させること
    を特徴とする読み出し制御プログラム。
JP2007037896A 2007-02-19 2007-02-19 コンテンツ管理方法、ファイルサーバおよび読み出し制御プログラム Withdrawn JP2008204055A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007037896A JP2008204055A (ja) 2007-02-19 2007-02-19 コンテンツ管理方法、ファイルサーバおよび読み出し制御プログラム
US11/968,241 US20080201341A1 (en) 2007-02-19 2008-01-02 Contents management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007037896A JP2008204055A (ja) 2007-02-19 2007-02-19 コンテンツ管理方法、ファイルサーバおよび読み出し制御プログラム

Publications (1)

Publication Number Publication Date
JP2008204055A true JP2008204055A (ja) 2008-09-04

Family

ID=39707535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007037896A Withdrawn JP2008204055A (ja) 2007-02-19 2007-02-19 コンテンツ管理方法、ファイルサーバおよび読み出し制御プログラム

Country Status (2)

Country Link
US (1) US20080201341A1 (ja)
JP (1) JP2008204055A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015099018A1 (ja) * 2013-12-25 2015-07-02 日本電気株式会社 キャッシュ管理装置、キャッシュ管理方法、プログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5782214B2 (ja) * 2008-05-30 2015-09-24 富士通株式会社 情報検索プログラム、情報検索装置および情報検索方法
US8364710B2 (en) * 2008-07-10 2013-01-29 Juniper Networks, Inc. Model-based resource allocation
US8161234B2 (en) 2008-12-30 2012-04-17 Intel Corporation Dynamically switching command types to a mass storage drive
US20100179973A1 (en) * 2008-12-31 2010-07-15 Herve Carruzzo Systems, methods, and computer programs for delivering content via a communications network
JP4862067B2 (ja) * 2009-06-09 2012-01-25 株式会社日立製作所 キャッシュ制御装置及び方法
US20110188763A1 (en) * 2010-01-29 2011-08-04 Nenad Rijavec Image Header Compression Mechanism
US9112922B2 (en) * 2012-08-28 2015-08-18 Vantrix Corporation Method and system for self-tuning cache management
US9015274B2 (en) * 2012-10-29 2015-04-21 Comcast Cable Communications, Llc Methods and systems for delivering content
US20140136643A1 (en) * 2012-11-13 2014-05-15 Motorola Mobility Llc Dynamic Buffer Management for a Multimedia Content Delivery System
JP6327994B2 (ja) * 2014-07-28 2018-05-23 ルネサスエレクトロニクス株式会社 制御システムおよび半導体装置
JP6294569B2 (ja) * 2015-06-19 2018-03-14 株式会社日立製作所 ストレージシステム及びキャッシュ制御方法
US10592415B2 (en) * 2017-12-01 2020-03-17 International Business Machines Corporation Modified consistency hashing rings for object store controlled WAN cache infrastructure
CN114902337A (zh) * 2019-12-31 2022-08-12 美光科技公司 移动存储随机读取性能估计增强

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043563B2 (en) * 2000-04-17 2006-05-09 Circadence Corporation Method and system for redirection to arbitrary front-ends in a communication system
US7222150B1 (en) * 2000-08-15 2007-05-22 Ikadega, Inc. Network server card and method for handling requests received via a network interface
US6990667B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US20020174295A1 (en) * 2001-01-29 2002-11-21 Ulrich Thomas R. Enhanced file system failure tolerance
US7415723B2 (en) * 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
US7353339B2 (en) * 2003-12-24 2008-04-01 Intel Corporation Adaptive caching

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015099018A1 (ja) * 2013-12-25 2015-07-02 日本電気株式会社 キャッシュ管理装置、キャッシュ管理方法、プログラム
JPWO2015099018A1 (ja) * 2013-12-25 2017-03-23 日本電気株式会社 キャッシュ管理装置、キャッシュ管理方法、プログラム

Also Published As

Publication number Publication date
US20080201341A1 (en) 2008-08-21

Similar Documents

Publication Publication Date Title
JP2008204055A (ja) コンテンツ管理方法、ファイルサーバおよび読み出し制御プログラム
JP2601993B2 (ja) ファイル提供方法及び装置
JP5684920B2 (ja) 適応ストリーミングのための様々なビットのビデオストリーム
KR101634409B1 (ko) 데이터 센터들에 걸친 리소스 위치 확인 및 마이그레이션 기법
CN113726846A (zh) 边缘云系统、资源调度方法、设备及存储介质
KR20190020073A (ko) 가속 자원 처리 방법 및 장치, 및 네트워크 기능 가상화 시스템
JP2003303102A (ja) 画像処理装置
KR20040068505A (ko) 파일 분할 분배 방법
JP2003018326A (ja) 通信サービス取引方法および通信システム
JPH0756754A (ja) マルチメディア・グループ資源割当て装置及び方法
CN112770145B (zh) 一种用于视频监控平台的调度方法和系统
JP7395720B2 (ja) ライブアップリンクストリーミングのための5gフレームワーク制御を通じたネットワークベースのメディア処理ワークフロー管理
KR100671635B1 (ko) 스트리밍 미디어 서비스 관리 방법
WO2020057438A1 (zh) 云计算服务中的软件调试的方法和装置
CN111459749A (zh) 基于Prometheus的私有云监控方法、装置、计算机设备及存储介质
CN111435943A (zh) 数据处理方法、设备、系统及存储介质
KR20100073151A (ko) 비대칭 클러스터 파일 시스템
JP4878487B2 (ja) 情報配信装置、情報配信システム、情報処理方法、およびプログラム
KR20130082685A (ko) 가상 머신을 이용한 콘텐츠 서비스 제공 시스템 및 방법
FR2860616A1 (fr) Unite de commande de dispositif de memorisation et procede de commande de celui-ci
TW201445989A (zh) 分散式編解碼系統及方法
WO2024103690A1 (zh) 一种数据请求方法、装置、设备及非易失性可读存储介质
WO2023185765A1 (zh) 基于云应用的文件处理方法、电子设备和存储介质
Sasikala et al. A proposed framework for cloud-aware multimodal multimedia big data analysis toward optimal resource allocation
WO2016000303A1 (zh) 一种资源分配方法、系统及计算机存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091210

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100601