JP2007011565A - 記録装置および方法、プログラム並びにプログラム記録媒体 - Google Patents

記録装置および方法、プログラム並びにプログラム記録媒体 Download PDF

Info

Publication number
JP2007011565A
JP2007011565A JP2005189817A JP2005189817A JP2007011565A JP 2007011565 A JP2007011565 A JP 2007011565A JP 2005189817 A JP2005189817 A JP 2005189817A JP 2005189817 A JP2005189817 A JP 2005189817A JP 2007011565 A JP2007011565 A JP 2007011565A
Authority
JP
Japan
Prior art keywords
data
content
recording medium
recording
recorded
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.)
Abandoned
Application number
JP2005189817A
Other languages
English (en)
Other versions
JP2007011565A5 (ja
Inventor
Masaaki Fukuda
昌昭 福田
Masaaki Isozaki
正明 五十崎
Masashi Saito
応志 齊藤
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2005189817A priority Critical patent/JP2007011565A/ja
Priority to KR1020060058648A priority patent/KR20070001823A/ko
Priority to EP06253416A priority patent/EP1739678A1/en
Priority to US11/480,232 priority patent/US20070122105A1/en
Priority to CNB2006101212296A priority patent/CN100445962C/zh
Publication of JP2007011565A publication Critical patent/JP2007011565A/ja
Publication of JP2007011565A5 publication Critical patent/JP2007011565A5/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

【課題】 記録媒体に、より迅速に空き領域を作成する。
【解決手段】 HDD116は、時間的に連続するコンテンツのデータを記録する。光ディスク119は、コンテンツの全体のデータを記録する。ストレージマネージャ114は、HDD116からコンテンツのデータの部分を消去する場合、光ディスク119に全体のデータが記録されているコンテンツのデータの部分をHDD116から消去させる。ストレージマネージャ114は、HDD116に記録されているコンテンツのデータのデータ量が下限閾値未満にならない場合、コンテンツの全体のデータを光ディスク119に記録させた後HDD116からコンテンツのデータの部分を消去する処理が中断されたコンテンツについて、中断された処理を再開させる。本発明は、コンテンツを記録し再生する記録再生システムに適用できる。
【選択図】 図5

Description

本発明は記録装置および方法、プログラム並びにプログラム記録媒体に関し、特に、コンテンツを記録する記録装置および方法、プログラム並びにプログラム記録媒体に関する。
複数の記録媒体に、コンテンツのデータを記録し、記録媒体のドライブへの装着を自動化することで、多量のコンテンツを簡単に取り扱えるようにした記録再生システムがある。
図1は、従来の記録再生システムの構成を示すブロック図である。ビデオ/オーディオエンコーダ11は、入力された入力画像信号に対応したベースバンドの画像データをMPEG(Moving Pictures Experts Group)方式で符号化する。また、ビデオ/オーディオエンコーダ11は、入力された音声信号(図示せず)に対応したベースバンドの音声データをMPEG方式で符号化する。ビデオ/オーディオエンコーダ11は、符号化により得られたデータをストリームエンコーダ12に供給する。
ストリームエンコーダ12は、ビデオ/オーディオエンコーダ11から供給された、符号化されているデータを多重化して、MPEGトランスポートストリーム方式またはMPEGプログラムストリーム方式のストリームに変換し、変換により得られたストリームをライトバッファ13に供給する。
ライトバッファ13は、ストリームエンコーダ12から供給されたストリーム(データ)を一時的に記憶して、記憶しているストリーム(データ)をドライブ14に供給する。
ドライブ14は、装着されている光ディスク15に、ライトバッファ13から供給されたデータをファイルとして記録する。
ジュークシステム16は、ドライブ14への光ディスク15の着脱を制御する。ジュークシステム16は、複数の光ディスク15のそれぞれを格納するディスクスロット17からいずれかの光ディスク15をピッカー18に選択させる。ピッカー18は、ジュークシステム16の制御の基に、選択した光ディスク15を搬送し、ドライブ14に装着させる。また、ピッカー18は、ジュークシステム16の制御の基に、ドライブ14から取り出された光ディスク15を搬送して、いずれかのディスクスロット17に格納させる。すなわち、ジュークシステム16は、ピッカー18を制御する。
また、ドライブ14は、装着されている光ディスク15からファイルとして記録されているデータを読み出して、読み出したデータをリードバッファ19に供給する。リードバッファ19は、半導体メモリまたはハードディスクからなり、ドライブ14から供給されたデータ(ストリーム)を一時的に記憶する。リードバッファ19は、読み出しジッタを吸収し、データレートを一定となるように平坦化して、記憶しているデータ(ストリーム)をストリームデコーダ20に供給する。
ストリームデコーダ20は、MPEGトランスポートストリーム方式またはMPEGプログラムストリーム方式のストリームを、画像データおよび音声データに分離して、分離した画像データおよび音声データをビデオ/オーディオデコーダ21に供給する。
ビデオ/オーディオデコーダ21は、符号化されている画像データおよび音声データを、いわゆるベースバンドの画像データおよび音声データに復号する。また、ビデオ/オーディオデコーダ21は、復号により得られたベースバンドの画像データおよび音声データを基にした、出力画像信号および音声信号(図示せず)をモニタ22に供給する。モニタ22は、出力画像信号を基にして、画像を表示すると共に、供給された音声信号を基にして、音声を出力する。
ここで、図2を参照して、再生の処理を説明する。時刻t0において、使用者から再生が要求されると、再生が要求されたコンテンツのデータを記録している光ディスク15が、ピッカー18によって、ディスクスロット17からドライブ14に搬送されて、時刻t1において、ドライブ14に装着(マウント)される。
時刻t2において、ドライブ14による、装着された光ディスク15に記録されているデータの読み出しが開始され、リードバッファ19に記憶される。そして、時刻t3において、リードバッファ19に、所定のデータ量のデータが溜まった場合、リードバッファ19に記憶されたデータがストリームデコーダ20に読み出される。そして、ビデオ/オーディオデコーダ21は、画像データおよび音声データを復号して、復号により得られた画像データおよび音声データに応じた出力画像信号および音声信号をモニタ22に供給する。時刻t4において、モニタ22は、出力画像信号および音声信号を基にして、画像を表示し、音声を出力する。
時刻t0において、使用者から再生が要求されてから、時刻t4において、モニタ22に画像が表示されるまで、ディスクスロット17に格納されている光ディスク15が、ドライブ14に装着されて、装着された光ディスク15から画像データが読み出されるに必要な時間に相当するタイムラグが発生する。このタイムラグは、記録再生システムの構成にもよるが、20秒から30秒程度である。
このタイムラグは、再生を要求するたびに毎回発生するので、使用者は、これにより、非常に大きなストレスを感じることになり、この点は、操作感という観点から大きな問題である。
このような問題を解決するために、HSM(Hierarchical Storage Management:階層型記憶域管理)ソフトウェアの使用が考えられる。HSMソフトウェアは、ハードディスクなどの高速な補助記録装置に保存されているファイルを、より低速で安価な記録媒体に自動的に移動する管理を行う(例えば、特許文献1参照)。
一般的なHSMにおいては、データの先頭部分が、高速な1次ストレージであるハードディスクにキャッシュファイルとして保持され、データの全体が、低速な2次ストレージである光ディスクに保持される。このデータへのアクセスが発生した場合、1次ストレージにキャッシュされているデータの先頭部分がアクセスされている間に、データの残りの部分が、2次ストレージから1次ストレージにコピーされる。このようにすることで、ユーザからは、1次ストレージにデータの全体が記録されているように見える。
以上のように、記録容量当たりのコストが安い2次ストレージにデータの全体を配置し、1次ストレージをキャッシュメモリとして用いることにより、ユーザには、見かけ上、巨大な1次ストレージを利用しているように思わせることができる。
このようなHSMシステムにおいて、1次ストレージにおいて記録容量に対する記録されているデータのデータ量、すなわち、1次ストレージの使用率が所定の閾値を超えた場合、マイグレーションの処理が開始されて、1次ストレージに空き領域が作成される。マイグレーションの処理は、データの全体を2次ストレージに記録し、1次ストレージからデータの部分を消去する処理である。
従来のHSMシステムにおいては、HSMシステムがファイルとして管理している総てのデータをリストアップして、マイグレーションの処理を適用するファイルの候補を決定してから、これらの候補に実際のマイグレーションの処理が適用される。
特開2003−296151号公報
しかしながら、このような方式では、HSMシステムが管理するファイルの数が多くなると、1次ストレージに空き領域が作成されるまでタイムラグが発生する。
図3は、従来のHSMシステムにおいて、マイグレーションの処理を適用するファイルの候補を決定する処理に要する時間を示す図である。図3の横軸は、ファイルの数を示し、図3の縦軸は、マイグレーションの処理を適用するファイルの候補を決定する処理に要する時間を示す。
マイグレーションの処理を適用するファイルの候補を決定する処理に要する時間は、ファイルの数が増加すると長くなり、5万のファイルから、マイグレーションの処理を適用するファイルの候補を決定する場合、約600秒となった。
この場合、1次ストレージの空き領域よりも大きな記憶領域を必要とするデータは、マイグレーション処理が実行されて空き領域が作成されるまで、1次ストレージに記録することができない。また、従来のマイグレーションの処理を適用するファイルの候補を決定する方式は、非常に演算量の大きな処理である。マイグレーションの処理を適用するファイルの候補を決定し、実際にマイグレーションが終了するまでに、長い間システムに大きな負荷が掛かった状態が続くことになり、システムの通常運用に支障をきたす可能性があった。
本発明はこのような状況に鑑みてなされたものであり、より迅速に空き領域を作成することができるようにするものである。
本発明の第1の側面は、時間的に連続するコンテンツのデータを記録する第1の記録媒体と、コンテンツの全体のデータを記録する第2の記録媒体と、第1の記録媒体からコンテンツのデータの部分を消去する場合、第2の記録媒体に全体のデータが記録されているコンテンツのデータの部分を第1の記録媒体から消去し、第2の記録媒体に全体のデータが記録されているコンテンツのデータの部分を第1の記録媒体から消去しても、第1の記録媒体に記録されているコンテンツのデータのデータ量が所定の閾値未満にならないとき、コンテンツの全体のデータを第2の記録媒体に記録させた後第1の記録媒体からコンテンツのデータの部分を消去する処理が中断されたコンテンツについて、中断された処理を再開させるか、または、第2の記録媒体にデータが記録されていないコンテンツについて、コンテンツの全体のデータを第2の記録媒体に記録させて、第1の記録媒体からコンテンツのデータの部分を消去するように、第1の記録媒体または第2の記録媒体へのコンテンツのデータの記録を制御する記録制御手段とを備えることを特徴とする記録装置である。
本発明の第1の側面においては、第1の記録媒体に、時間的に連続するコンテンツのデータが記録され、第2の記録媒体に、コンテンツの全体のデータが記録され、第1の記録媒体からコンテンツのデータの部分を消去する場合、第2の記録媒体に全体のデータが記録されているコンテンツのデータの部分を第1の記録媒体から消去し、第2の記録媒体に全体のデータが記録されているコンテンツのデータの部分を第1の記録媒体から消去しても、第1の記録媒体に記録されているコンテンツのデータのデータ量が所定の閾値未満にならないとき、コンテンツの全体のデータを第2の記録媒体に記録させた後第1の記録媒体からコンテンツのデータの部分を消去する処理が中断されたコンテンツについて、中断された処理を再開させるか、または、第2の記録媒体にデータが記録されていないコンテンツについて、コンテンツの全体のデータを第2の記録媒体に記録させて、第1の記録媒体からコンテンツのデータの部分を消去するように、第1の記録媒体または第2の記録媒体へのコンテンツのデータの記録が制御される。
記録制御手段は、第2の記録媒体に全体のデータが記録されているコンテンツのデータの部分を第1の記録媒体から消去しても、第1の記録媒体に記録されているコンテンツのデータのデータ量が閾値未満にならない場合、コンテンツの全体のデータを第2の記録媒体に記録させた後第1の記録媒体からコンテンツのデータの部分を消去する処理が中断されたコンテンツについて、中断された処理を再開させ、中断された処理が完了しても、第1の記録媒体に記録されているコンテンツのデータのデータ量が閾値未満にならないとき、第2の記録媒体にデータが記録されていないコンテンツについて、コンテンツの全体のデータを第2の記録媒体に記録させて、第1の記録媒体からコンテンツのデータの部分を消去するように、第1の記録媒体または第2の記録媒体へのコンテンツのデータの記録を制御するようにすることができる。
記録制御手段は、所定の走査方式でコンテンツを走査する順に、コンテンツのデータの部分を第1の記録媒体から消去するように、第1の記録媒体へのコンテンツのデータの記録を制御するようにすることができる。
記録制御手段は、行きがけ順、通りがけ順、または帰りがけ順の走査方式でコンテンツを走査する順に、コンテンツのデータの部分を第1の記録媒体から消去するように、第1の記録媒体へのコンテンツのデータの記録を制御するようにすることができる。
コンテンツへのアクセスの履歴を記憶する記憶手段をさらに備え、記録制御手段は、コンテンツへのアクセスの履歴を基に、第1の記録媒体へのコンテンツのデータの記録を制御するようにすることができる。
以上のように、本発明の第1の側面によれば、より迅速に空き領域を作成することができる。
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の記録装置は、時間的に連続するコンテンツのデータを記録する第1の記録媒体(例えば、図5のHDD116)と、コンテンツの全体のデータを記録する第2の記録媒体(例えば、図5の光ディスク119)と、第1の記録媒体からコンテンツのデータの部分を消去する場合、第2の記録媒体に全体のデータが記録されているコンテンツのデータの部分を第1の記録媒体から消去し、第2の記録媒体に全体のデータが記録されているコンテンツのデータの部分を第1の記録媒体から消去しても、第1の記録媒体に記録されているコンテンツのデータのデータ量が所定の閾値未満にならないとき、コンテンツの全体のデータを第2の記録媒体に記録させた後第1の記録媒体からコンテンツのデータの部分を消去する処理が中断されたコンテンツについて、中断された処理を再開させるか、または、第2の記録媒体にデータが記録されていないコンテンツについて、コンテンツの全体のデータを第2の記録媒体に記録させて、第1の記録媒体からコンテンツのデータの部分を消去するように、第1の記録媒体または第2の記録媒体へのコンテンツのデータの記録を制御する記録制御手段(例えば、図5のストレージマネージャ114)とを備えることを特徴とする。
請求項6に記載の記録方法は、時間的に連続するコンテンツのデータを第1の記録媒体に記録し、コンテンツの全体のデータを第2の記録媒体に記録する記録装置の記録方法であって、第1の記録媒体からコンテンツのデータの部分を消去するか否かを判定する判定ステップ(例えば、図11のステップS34)と、第1の記録媒体からコンテンツのデータの部分を消去する場合、第2の記録媒体に全体のデータが記録されているコンテンツのデータの部分を第1の記録媒体から消去し、第2の記録媒体に全体のデータが記録されているコンテンツのデータの部分を第1の記録媒体から消去しても、第1の記録媒体に記録されているコンテンツのデータのデータ量が所定の閾値未満にならないとき、コンテンツの全体のデータを第2の記録媒体に記録させた後第1の記録媒体からコンテンツのデータの部分を消去する処理が中断されたコンテンツについて、中断された処理を再開させるか、または、第2の記録媒体にデータが記録されていないコンテンツについて、コンテンツの全体のデータを第2の記録媒体に記録させて、第1の記録媒体からコンテンツのデータの部分を消去するように、第1の記録媒体または第2の記録媒体へのコンテンツのデータの記録を制御する記録制御ステップ(例えば、図11乃至図13のステップS35乃至ステップS63)とを含むことを特徴とする。
図4は、本発明の一実施の形態の記録再生システム101の構成を示すブロック図である。ビデオ/オーディオエンコーダ111は、入力された入力画像信号に対応したベースバンドの画像データをMPEG方式で符号化する。また、ビデオ/オーディオエンコーダ111は、入力された音声信号(図示せず)に対応したベースバンドの音声データをMPEG方式で符号化する。ビデオ/オーディオエンコーダ111は、符号化により得られたデータをストリームエンコーダ112に供給する。
ストリームエンコーダ112は、ビデオ/オーディオエンコーダ111から供給された、符号化されているデータを多重化して、MPEGトランスポートストリーム方式またはMPEGプログラムストリーム方式のストリームに変換し、変換により得られたストリームをHSM113に供給する。
HSM113は、記録媒体へのコンテンツのデータの階層的な記録を管理する(階層構造の記録媒体へのコンテンツのデータの記録を管理するとも言える)。HSM113は、ストレージマネージャ114の制御の基に、ストリームエンコーダ112から供給されたストリームをバッファ115を介してHDD(Hard Disk Drive)116に供給する。HDD116は、高速な1次ストレージの一例であり、HSM113の制御の基に、バッファ115を介して、HSM113から供給されたストリーム(データ)を記録する。また、HDD116は、記録しているストリーム(データ)をバッファ115またはバッファ117に供給する。
バッファ115は、半導体メモリまたはHDD116の一部の記録領域からなり、HSM113またはHDD116から供給されたストリーム(データ)を一時的に記憶して、記憶しているストリーム(データ)をHSM113またはHDD116に供給する。バッファ117は、半導体メモリまたはHDD116の一部の記録領域からなり、HDD116またはドライブ118から供給されたストリーム(データ)を一時的に記憶して、記憶しているストリーム(データ)をHDD116またはドライブ118に供給する。
バッファ115およびバッファ117は、読み出しジッタを吸収し、データレートを一定となるように平坦化する。
ドライブ118は、装着されている光ディスク119に、バッファ117から供給されたデータをファイルとして記録する。光ディスク119は、低速な2次ストレージの一例であり、例えば、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)、またはCD(Compact Disc)などである。
ジュークシステム120は、ドライブ118への光ディスク119の着脱を制御する。ジュークシステム120は、複数の光ディスク119のそれぞれを格納するディスクスロット121からいずれかの光ディスク119をピッカー122に選択させる。ピッカー122は、ジュークシステム120の制御の基に、選択した光ディスク119を搬送し、ドライブ118に装着させる。また、ピッカー122は、ジュークシステム120の制御の基に、ドライブ118から取り出された光ディスク119を搬送して、いずれかのディスクスロット121に格納させる。すなわち、ジュークシステム120は、ピッカー122を制御する。
また、ドライブ118は、装着されている光ディスク119からファイルとして記録されているデータを読み出して、読み出したデータをバッファ117に供給する。光ディスク119から読み出されたデータは、バッファ117を介して、HDD116に供給されて、HDD116に記録される。
HSM113は、光ディスク119から読み出され、HDD116に記録されたデータ(ストリーム)を、HDD116からバッファ115を介して読み出して、読み出したデータ(ストリーム)をストリームデコーダ123に供給する。
ストリームデコーダ123は、MPEGトランスポートストリーム方式またはMPEGプログラムストリーム方式のストリームを、画像データおよび音声データに分離して、分離した画像データおよび音声データをビデオ/オーディオデコーダ124に供給する。
ビデオ/オーディオデコーダ124は、符号化されている画像データおよび音声データを、いわゆるベースバンドの画像データおよび音声データに復号する。また、ビデオ/オーディオデコーダ124は、復号により得られたベースバンドの画像データおよび音声データを基にした、出力画像信号および音声信号(図示せず)をモニタ125に供給する。モニタ125は、出力画像信号を基にして、画像を表示すると共に、供給された音声信号を基にして、音声を出力する。
記録再生システム101において、コンテンツを記録する場合、入力された入力画像信号に応じたコンテンツの全てのデータがHDD116に記録される。そして、ドライブ118の空き時間において、HDD116に記録されているコンテンツの全てのデータが、光ディスク119にコピーされる。この場合、HSM113が、どの光ディスク119にどのコンテンツのデータが書き込まれたかを示す情報を、後述するストアデータベースに記録させる。詳細は後述するが、この情報には、コンテンツのデータを格納するファイルを識別する情報、コンテンツの全てのデータが書き込まれた光ディスク119を識別する情報、書き込んだ日時、またはコンテンツのデータを格納するファイルの名前などが含まれる。
なお、外部から直接入力されたストリームを記録するようにしてもよく、ストリームを出力するようにしてもよい。また、データの符号化の方式は、MPEGに限らず、所定の圧縮伸張のための符号化方式であればよい。さらに、ストリームの方式は、本発明を限定するものではない。
図5は、記録再生システム101のより詳細な構成を示すブロック図である。アプリケーションプログラム141は、使用者とのインターフェースの機能を有し、使用者からの指示を取得するか、使用者に記録再生システム101に関する各種の情報を通知する。アプリケーションプログラム141は、記録再生システム101全体を制御する。
例えば、アプリケーションプログラム141は、使用者からの操作に応じて、ビデオ/オーディオエンコーダ111、ストリームエンコーダ112、ビデオ/オーディオデコーダ124、ストリームデコーダ123、コンテンツマネージャ142、およびストレージマネージャ114を制御する。アプリケーションプログラム141は、ビデオカメラ171からの入力画像信号および音声信号を取得し、取得した入力画像信号および音声信号をビデオ/オーディオエンコーダ111に供給する。また、アプリケーションプログラム141は、ビデオ/オーディオデコーダ124から出力画像信号および音声信号を取得し、取得した出力画像信号および音声信号をモニタ125に供給する。さらに、アプリケーションプログラム141は、ストレージマネージャ114を介して、HSM113から供給されたストリーム(データ)をストリームデコーダ123に供給する。
コンテンツマネージャ142は、記録再生システム101に記録されているコンテンツの内容を管理し、コンテンツの内容を検索する。コンテンツマネージャ142は、コンテンツデータベース(DB)161へのコンテンツに関する各種の情報の記録およびコンテンツデータベース161からのコンテンツに関する情報の読み出しを制御する。
図6で示されるように、コンテンツデータベース161には、コンテンツに関する情報として、コンテンツに関連するファイルの情報(例えば、ファイル名、パス名など)、コンテンツの内容および付加情報(例えば、コンテンツの名前、コンテンツのジャンルなど)、コンテンツの圧縮形式(方式)、再生時間、およびインデックス情報(例えば、コンテンツにおけるインデックスの位置など)、並びにアクセス可能なユーザ(使用者)のユーザ情報(例えば、使用者の名前、パスワードなど)などが記録される。
また、コンテンツデータベース161には、アクセス履歴テーブルが記録される。アクセス履歴テーブルは、最近アクセスされた所定の数のコンテンツについて、アクセスの履歴に関する情報を格納する。例えば、アクセス履歴テーブルは、最近アクセスされた100のコンテンツのそれぞれについて、アクセスの履歴に関する情報を格納する。
なお、アクセス履歴テーブルに格納される情報に対応するコンテンツの数は、任意の数とすることができる。例えば、このコンテンツの数は、初期設定により決定される。アクセス履歴テーブルに格納される情報に対応するコンテンツの数は、記録再生システム101の動作中に動的に変更するようにしてもよい。
より具体的には、アクセス履歴テーブルは、それぞれのコンテンツについて、コンテンツのファイルのパス名、コンテンツのファイルが作成された日時を示す作成日時、コンテンツのファイルが最後に更新された日時を示す最終更新日時、コンテンツのファイルが最後にアクセスされた日時を示す最終アクセス日時、およびコンテンツのファイルのサイズを示すファイルサイズなどである、アクセスの履歴に関する情報を格納する。
コンテンツマネージャ142は、アクセス履歴テーブルにアクセスの履歴に関する情報を格納していないコンテンツにアクセスされると、アクセスされたコンテンツについて、アクセスの履歴に関する情報を生成し、生成した情報をアクセス履歴テーブルに格納する。例えば、記録再生システム101にコンテンツが記録されると、コンテンツマネージャ142は、記録されたコンテンツについて、アクセスの履歴に関する情報を生成し、生成した情報をアクセス履歴テーブルに格納する。
また、コンテンツマネージャ142は、コンテンツがアクセスされると(コンテンツのデータが読み出されると)、アクセス履歴テーブルに格納されている情報を更新する。
ストレージマネージャ114は、HSM113を上位から制御する。すなわち、ストレージマネージャ114は、アプリケーションプログラム141からの要求に基づいて、HSM113を制御する。ストレージマネージャ114には、システムマネージャ162およびファイルI/Oマネージャ163が設けられている。
システムマネージャ162は、ストレージ制御関連のシステムを設定し、システムログを記録し、エラーログを管理し、メンテナンス処理を実行する。ファイルI/Oマネージャ163は、アプリケーションプログラム141からのファイルの読み出しまたは書き込みの要求を受け付ける。ファイルI/Oマネージャ163は、HDD116に記録されているコンテンツのファイルの、例えば、画像コンテンツまたは音楽コンテンツの一部分である、指定された一部分のデータをスタブデータとして保持するスタブファイル(状態)への変換を指示する。ファイルI/Oマネージャ163は、光ディスク119からHDD116へのデータの読み出し(後述するリロード)の処理の中断または再開を指示する。さらに、ファイルI/Oマネージャ163は、HDD116から光ディスク119へのデータの書き込みの処理の中断または再開を指示する。
HSM113は、HDD116、ドライブ118、光ディスク119、ジュークシステム120、ディスクスロット121、およびピッカー122を仮想ストレージ化し、HDD116によるコンテンツのデータの一時的な記録を制御する。HSM113は、マイグレーションファイルシステム164、ストレージサーバ165、ストアデータベース(DB)166、メディアサーバ167、およびボリウムデータベース(DB)168を含むように構成される。
マイグレーションファイルシステム164は、HSM113に管理されているファイルの拡張属性を管理し、拡張属性を書き換える。マイグレーションファイルシステム164は、HSM113に管理されているファイルに対するアクセスイベントを管理する。マイグレーションファイルシステム164は、光ディスク119からHDD116にデータを読み出す処理を制御し、HDD116から光ディスク119にデータを書き込む処理を制御する。
ストレージサーバ165は、光ディスク119からHDD116にデータに読み出すか、または、HDD116から光ディスク119にデータを書き込む。また、ストレージサーバ165は、HDD116に記録されている、コンテンツのデータを格納するキャッシュファイルに関する情報のストアデータベース166への記録およびキャッシュファイルに関する情報のストアデータベース166からの読み出しを管理する。また、ストレージサーバ165は、コンテンツのデータの全体と、そのデータが記録されている光ディスク119とのリンク情報を管理する。
ストアデータベース166は、コンテンツのデータを格納するキャッシュファイルであって、HDD116に記録されているキャッシュファイルに関する情報を記録する。
図6で示されるように、ストアデータベース166には、HDD116に記録されているキャッシュファイル名と、キャッシュファイルを特定するための値であるキャッシュファイルIDとの関連付けが格納される。また、ストアデータベース166には、キャッシュファイルが書き込まれた時間またはキャッシュファイルが最後にアクセスされた時間を示すキャッシュファイルデート情報、並びに全体のデータが保存されている光ディスク119を特定するボリウムIDが記録されている。さらに、ストアデータベース166には、ジュークボックス145内の各光ディスク119の空き容量が記録される。
メディアサーバ167は、それぞれのディスクスロット121に格納されている光ディスク119を管理する。メディアサーバ167は、チェンジャドライバ143に対し、指定された光ディスク119のドライブ118への装着(マウント)を要求する。また、メディアサーバ167は、チェンジャドライバ143に対し、ドライブ118に装着されている光ディスク119のディスクスロット121への格納(アンマウント)を要求する。
メディアサーバ167に設けられているボリウムデータベース168は、光ディスク119に関係する情報を格納する。
図6で示されるように、ボリウムデータベース168には、各光ディスク119の生ディスク状態での記録容量、並びに各光ディスク119のメディアとしての種類(MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)+R、またはDVD+RWなど)と書き込み専用または読み書き可能などの属性が記録される。また、ボリウムデータベース168には、ジュークボックス145内の各ディスクスロット121に格納されている光ディスク119のボリウムID、およびジュークボックス145に搭載されているドライブ118の使用状況が記録される。
チェンジャドライバ143は、ドライブ118を制御し、ジュークボックス制御部144とHSM113とのインターフェースの機能を有する。
ジュークボックス制御部144は、ジュークシステム120およびジュークサーボ169を含む。ジュークシステム120は、ドライブ118、光ディスク119、ディスクスロット121、およびピッカー122からなるシステム(ジュークボックス145)を制御する。ジュークサーボ169は、ジュークボックス145を駆動する。
ジュークボックス145は、ドライブ118、光ディスク119、ディスクスロット121、およびピッカー122からなる。
なお、コンテンツデータベース161、ストアデータベース166、およびボリウムデータベース168のそれぞれに記録されているデータを、1つのデータベースに記録するようにしてもよい。
また、図6で示されるように、コンテンツの拡張属性として、キャッシュファイルにおけるコンテンツの部分についての領域情報、コンテンツのどの部分をキャッシュファイルとしてHDD116に記録するかのヒントを示すヒント情報、およびキャッシュファイルIDがマイグレーションファイルシステム164に記録される。
また、コンテンツの拡張属性として、そのキャッシュファイルについてのマイグレーションの処理が中断されたかを示す情報がマイグレーションファイルシステム164に記録される。例えば、マイグレーションの処理が中断されたかを示す情報はフラグとされ、1であるフラグは、そのキャッシュファイルについてのマイグレーションの処理が中断されたことを示し、0であるフラグは、そのキャッシュファイルについてのマイグレーションの処理が完了したことを示す。なお、マイグレーションの処理は、ユーザから中止が要求された場合、他のコンテンツへのアクセスの処理が開始された場合、またはコンテンツの記録が開始された場合など中断される。
なお、コンテンツの拡張属性は、オペレーティングシステムのファイルシステムにより記録および読み出しをするようにしてもよく、また、コンテンツデータベース161に記録するようにしてもよい。
より詳細には、領域情報は、キャッシュファイルにおけるコンテンツの部分についての、コンテンツのデータの先頭からその部分の先頭までのオフセット値(バイト)を示すオフセット、コンテンツの部分のデータ量を示すサイズ、および、詳細は後述するが、コンテンツの部分がストア済みであるかまたはホール状態であるかを示すフラグを含む。また、ヒント情報は、コンテンツのどの部分をキャッシュファイルとしてHDD116に記録するかを示し、コンテンツのデータの先頭からその部分の先頭までのオフセット値(バイト)を示すヒントオフセット、コンテンツの部分のデータ量を示すヒントサイズ、詳細は後述するが、部分の属性を示すリージョンフラッグス、および、この部分をマイグレーションする場合の優先順位を示すヒントプライオリティなどからなる。
さらに、図6で示されるように、コンテンツを格納するファイルの属性として、読み出し専用(リードオンリ)または読み書き(リードライト)可能であるかを示す情報がファイルシステムによって記録される。
次に、図7乃至図9を参照して、HDD116に記録されるキャッシュファイルおよびキャッシュファイルを用いたコンテンツのデータの読み出しについて説明する。
図7は、HDD116に記録されるキャッシュファイルの状態を説明する図である。ビデオ/オーディオエンコーダ111によって、符号化され、ストリームエンコーダ112によって、多重化された、ストリーム(コンテンツ)は、キャッシュファイルとしてHDD116(のキャッシュ領域)に書き込まれる。図7で示されるように、入力されたストリーム(コンテンツ)の全体のデータが記録されたキャッシュファイルの状態を、レギュラー状態と称する。
ジュークボックス145の空き時間において実行される、HDD116に記録されているレギュラー状態のキャッシュファイルを光ディスク119に書き込むシャドウド化によって、コンテンツの全体は、HDD116に記録されると共に、光ディスク119にも記録される。コンテンツの全体のデータがHDD116に記録されると共に光ディスク119に記録されている場合の、キャッシュファイルの状態をビットファイル状態と称する。
キャッシュファイルがレギュラー状態またはビットファイル状態である場合、言い換えれば、ストリームの全体、すなわち、コンテンツのデータの全体がHDD116に記録されている場合、コンテンツのデータの全体は、HDD116から読み出されるので、高速に、コンテンツのデータを読み出すことができる。しかし、キャッシュファイルがレギュラー状態またはビットファイル状態である場合、キャッシュファイルのデータ量が多いので、多数のコンテンツについて、レギュラー状態またはビットファイル状態のキャッシュファイルをHDD116に記録していると、HDD116の記録領域の消費量が大きくなり、HDD116がすぐに一杯になってしまう(HDD116の全ての記録領域にデータが記録された状態になってしまう)。
そこで、例えば、キャッシュファイルがHDD116に記録されてからの経過時間を参照して、古いキャッシュファイルから順に、コンテンツの全体のデータを光ディスク119に記録させて、HDD116に記録しているキャッシュファイルのデータ量を小さくすることで、HDD116に記録されるキャッシュファイルのデータ量の総量を一定の範囲内に納めることができる。
図7で示されるように、コンテンツの全体のデータが記録されていないが、コンテンツのデータの所定の部分が記録されたキャッシュファイルの状態を、スタブファイル状態と称する。特に、コンテンツのデータの所定の部分であって、複数の部分が記録されたキャッシュファイルの状態を、マルチスタブ状態と称する。キャッシュファイルからコンテンツのデータの全てを無くし、コンテンツの拡張属性およびキャッシュファイルIDだけをHDD116に記録している状態を、例外的に、ゼロスタブ状態と称する。
コンテンツの全体のデータが記録されている光ディスク119から、コンテンツのデータを読み出して、読み出したデータをHDD116に記録することをリロードと称する。例えば、光ディスク119から、コンテンツのデータを読み出して、HDD116にコンテンツの全体のデータを記録することができる。
このように、アプリケーションプログラム141から取得された入力画像信号および音声信号に対応するデータがHDD116に記録され、さらに、HDD116に記録されたデータがドライブ118に装着された光ディスク119に記録される。
このデータを読み出す場合には、HDD116からデータが読み出されるか、または装着された光ディスク119からドライブ118によってデータが読み出される。光ディスク119からドライブ118によって読み出されたデータは、一旦、HDD116に記録されて、HDD116からアプリケーションプログラム141に読み出される。
より具体的には、データを読み出す場合には、ドライブ118に装着された光ディスク119からドライブ118によってデータが読み出され、バッファ117に一時的に記憶される。バッファ117に一時的に記憶されたデータは、HDD116に供給され、HDD116によって記録される。
HDD116に予め記録されているデータ(後述するスタブ領域のデータ)はバッファ115に読み出されて、バッファ115に一時的に記憶される。同様に、データの読み出しの要求に応じて、バッファ117を介して光ディスク119から読み出されて、HDD116に記録されたデータ(後述するホール領域のデータ)も、バッファ115に読み出されて、バッファ115に一時的に記憶される。
アプリケーションプログラム141は、バッファ115に一時的に記憶されたデータを読み出して、出力画像信号および音声信号を出力する。
図8は、スタブ状態のキャッシュファイルを説明する図である。図8には、比較のためにビットファイル状態のキャッシュファイルを示す。図8で示されるように、ビットファイル状態のキャッシュファイルには、コンテンツの全体のデータが格納され、スタブ状態のキャッシュファイルには、コンテンツの部分のデータが格納される。
例えば、スタブ状態のキャッシュファイルには、インデックス情報で示されるインデックスに対応する位置の、コンテンツの部分のデータが格納される。インデックスインデックス情報が、コンテンツの開始位置のインデックス1、コンテンツの開始から23分26秒経過した位置のインデックス2、コンテンツの開始から38分45秒経過した位置のインデックス3、およびコンテンツの開始から43分59秒経過した位置のインデックス4を示す場合、コンテンツの開始位置の所定の期間のコンテンツの部分のデータ、コンテンツの開始から23分26秒経過した位置の所定の期間のコンテンツの部分のデータ、コンテンツの開始から38分45秒経過した位置の所定の期間のコンテンツの部分のデータ、およびコンテンツの開始から43分59秒経過した位置の所定の期間のコンテンツの部分のデータが、キャッシュファイルにスタブデータとして格納される。
スタブデータで再生されるコンテンツの時間の長さは、ディスクスロット121に格納されている光ディスク119をディスクスロット121から取り出してドライブ118に装着し、ドライブ118が装着された光ディスク119からコンテンツのデータを読み出すまでに必要な時間より長く、例えば、20秒から30秒程度とされる。
ここで、スタブとは、キャッシュファイルとして、HDD116のキャッシュ領域に記録されているデータに対応するコンテンツの部分をいう。スタブ領域とは、スタブデータがHDD116に記録されているコンテンツ上の領域、すなわち、スタブの領域をいう。ホール領域とは、スタブデータがHDD116に記録されていないコンテンツ上の領域をいう。
スタブ領域およびホール領域を区別しない場合、単に領域と称する。図8において、インデックス1に対応する、0で示されるスタブ領域である領域のデータ(スタブデータ)は、HDD116にキャッシュファイルとして記録され、インデックス1とインデックス2との間の、1で示されるホール領域である領域のデータは、HDD116に記録されていない。同様に、インデックス2に対応する、2で示されるスタブ領域である領域のデータ(スタブデータ)、インデックス3に対応する、4で示されるスタブ領域である領域のデータ(スタブデータ)、およびインデックス4に対応する、6で示されるスタブ領域である領域のデータ(スタブデータ)は、HDD116にキャッシュファイルとして記録される。また、インデックス2とインデックス3との間の、3で示されるホール領域である領域のデータ、インデックス3とインデックス4との間の、5で示されるホール領域である領域のデータ、およびインデックス6の後の、7で示されるホール領域である領域のデータは、HDD116に記録されていない。
図9を参照して、領域および拡張属性における領域情報について説明する。図9で示す例において、コンテンツのデータの先頭に、スタブ領域が配置され、そのスタブ領域に続いて、ホール領域が配置されている。また、そのホール領域に続いて、スタブ領域が配置され、さらに、そのスタブ領域に続いて、ホール領域が配置されている。言い換えれば、コンテンツの先頭の部分のデータであるスタブデータは、HDD116のキャッシュファイルに記録され(ストア済みとされ)、コンテンツの先頭のその部分に続く領域であって、所定の長さの領域のデータは、HDD116のキャッシュファイルに記録されていない(ホール状態とされる)。また、そのホール状態の領域に続く、コンテンツの所定の部分のデータであるスタブデータは、HDD116のキャッシュファイルに記録され(ストア済みとされ)、その部分に続く領域であって、所定の長さの領域のデータは、HDD116のキャッシュファイルに記録されていない(ホール状態とされる)。すなわち、コンテンツの部分のデータがHDD116のキャッシュファイルに記録されている領域と、記録されていない領域とが交互に配置される。
領域情報は、領域それぞれの、領域番号、オフセット、サイズ、およびフラグを含む。領域番号は、ファイルの先頭から0乃至N(整数)の連続した値をとる。すなわち、領域番号は、0を初期値として、コンテンツのデータの先頭から順に、領域のそれぞれに付加される整数の通し番号である。オフセットは、ファイルの先頭(コンテンツのデータの先頭)からその領域の先頭までのオフセット値を示す。オフセットは、例えば、バイトを単位とする。サイズは、その領域のデータのデータ量を示す。サイズは、例えば、バイトを単位とする。フラグは、スタブ領域(ストア済み)であるかまたはホール領域(ホール状態)であるかを示す。例えば、1であるフラグは、スタブ領域(ストア済み)であることを示し、0であるフラグは、ホール領域(ホール状態)であることを示す。
例えば、コンテンツのデータの先頭のスタブ領域は、コンテンツのデータの先頭に位置し、この領域のデータ量が150バイトであり、スタブ領域(ストア済み)なので、コンテンツのデータの先頭のスタブ領域には、0である領域番号、0であるオフセット、150であるサイズ、および1であるフラグが付加される。コンテンツのデータにおける先頭から2番目の領域は、この領域の本来のデータ量が800バイトであり、ホール領域(ホール状態)なので、この領域には、1である領域番号、150であるオフセット、800であるサイズ、および0であるフラグが付加される。
同様に、コンテンツのデータにおける先頭から3番目の領域は、この領域のデータ量が150バイトであり、スタブ領域(ストア済み)なので、この領域には、2である領域番号、950(150+800)であるオフセット、150であるサイズ、および1であるフラグが付加される。コンテンツのデータにおける先頭から4番目の領域は、この領域の本来のデータ量が1400バイトであり、ホール領域(ホール状態)なので、この領域には、3である領域番号、1100(950+150)であるオフセット、1400であるサイズ、および0であるフラグが付加される。
このように、コンテンツの拡張属性における領域情報は、キャッシュファイルにおける各領域の状態を示す。領域情報を参照することにより、キャッシュファイルにおける領域の状態を知ることができる。
次に、図10のフローチャートを参照して、ヒント情報の書き込みの処理を説明する。ステップS11において、アプリケーションプログラム141は、コンテンツマネージャ142を介して、コンテンツデータベース161から、コンテンツにおけるインデックスの位置を示すインデックス情報を取得する。ステップS12において、アプリケーションプログラム141は、インデックス情報を基に、インデックスで示されるコンテンツ上の位置を特定する。
ステップS13において、アプリケーションプログラム141は、特定された位置をヒントセクションの開始位置とするヒント情報を生成する。ヒントセクションは、ヒント情報で示される、コンテンツにおける部分(範囲)である。
ヒント情報は、コンテンツのどの部分をキャッシュファイルとしてHDD116に記録するかのヒントを示す情報である。コンテンツ(コンテンツのデータ)にヒント情報を付与することで、コンテンツのデータのうち、任意の部分のデータをスタブデータとしてHDD116のキャッシュ領域に記録することができる。すなわち、コンテンツのデータのうち、ヒント情報で示される部分のデータがスタブデータとしてキャッシュファイルに格納されてHDD116に記録される。また、ヒント情報を参照することにより、段階的なマイグレーションの処理を実行することができる。
ヒント情報は、バージョンナンバ、ヒントセクションレングス、ヒントオフセット、ヒントサイズ、リージョンフラッグス、ヒントプライオリティ、およびタイムスタンプからなる。1つのヒント情報に、1つのバージョンナンバおよび1つのヒントセクションレングスが配置される。1つのヒント情報に、ヒントセクションの数に応じた、ヒントオフセット、ヒントサイズ、リージョンフラッグス、ヒントプライオリティ、およびタイムスタンプが配置される。すなわち、1組のヒントオフセット、ヒントサイズ、リージョンフラッグス、ヒントプライオリティ、およびタイムスタンプは、1つの領域の情報を示す。
バージョンナンバは、ヒント情報のバージョンを示し、システムおよびソフトウェアの互換性を保つために利用される。ヒントセクションレングスは、このヒント情報で示される全てのヒントセクションのデータ量の合計を示す。1つのヒントセクションのデータ量を一定とすれば、ヒントセクションレングスを、1つのヒントセクションのデータ量で割り算することにより、ヒントセクションの数を求めることができる。
ヒントオフセットは、それぞれのヒントセクションの開始位置を、コンテンツのデータの先頭からのオフセットで示す。例えば、ヒントオフセットの単位は、データ量(バイトなど)とされる。ヒントサイズは、ヒントセクションのデータ量を示す。ヒントサイズの単位は、例えば、バイトとされる。
リージョンフラッグスは、それぞれのヒントセクションについて、インデックスに対応するヒントセクションであるか、盛り上がりシーンに対応するヒントセクションであるか、または重要シーンに対応するヒントセクションであるかなどの属性を示す。オペレーティングシステムなどが、リージョンフラッグスを参照して、アクセスに応じてイベントを発生させることができる。
ヒントプライオリティは、それぞれのヒントセクションをマイグレーションする場合の優先順位を示す。ヒントプライオリティの値が大きいほど、そのヒントセクションに対応する部分のデータがマイグレーションされやすい。ヒントプライオリティに0が設定された場合、そのコンテンツが記録再生システム101から削除されるまで、一次ストレージであるHDD116に、そのヒントセクションに対応する部分のデータがキャッシュされる。アプリケーションプログラム141またはオペレーティングシステムにより、頻繁にアクセスされるコンテンツの部分(データ)に対応するヒントセクションのヒントプライオリティに0を設定するなど、ヒントプライオリティの値を管理することができる。
タイムスタンプは、そのヒントセクションに対応するコンテンツの部分(データ)に最後にアクセスされた日時を示す。タイムスタンプは、アプリケーションプログラム141またはオペレーティングシステムにより設定される。
例えば、アプリケーションプログラム141は、予め定めた値をバージョンナンバに設定する。
例えば、アプリケーションプログラム141は、ステップS12の処理で特定された、コンテンツの再生における時刻であるコンテンツ上の位置から、コンテンツのデータの先頭からその位置までのデータ量を求める。アプリケーションプログラム141は、そのデータ量をヒントオフセットとする。また、例えば、アプリケーションプログラム141は、予め定めた値をヒントサイズとする。さらに、例えば、アプリケーションプログラム141は、インデックスに対応することを示す所定の値をリージョンフラッグスとする。
さらにまた、アプリケーションプログラム141は、予め定めた値をヒントプライオリティに設定する。例えば、アプリケーションプログラム141は、コンテンツの最初のインデックスについては0、その他のインデックスについては1である値をヒントプライオリティに設定する。アプリケーションプログラム141は、最後にアクセスされた日時をタイムスタンプとする。
また、アプリケーションプログラム141は、ヒントセクションの数にヒントサイズを掛け算して得られた値をヒントセクションレングスとする。
アプリケーションプログラム141は、このように生成したバージョンナンバ、ヒントセクションレングス、ヒントオフセット、ヒントサイズ、リージョンフラッグス、ヒントプライオリティ、およびタイムスタンプを所定の順序で配置することによりヒント情報を生成する。
ステップS14において、アプリケーションプログラム141は、ストレージマネージャ114を介して、HSM113のマイグレーションファイルシステム164に記録されているコンテンツの拡張属性に、ヒント情報を格納させる。
ステップS15において、アプリケーションプログラム141は、コンテンツマネージャ142に問い合わせた結果を基に、コンテンツデータベース161に盛り上がりシーンを示す情報があるか否かを判定する。ステップS15において、盛り上がりシーンを示す情報があると判定された場合、ステップS16に進み、アプリケーションプログラム141は、コンテンツマネージャ142を介して、コンテンツデータベース161から盛り上がりシーンを示す情報を取得する。
ステップS17において、アプリケーションプログラム141は、盛り上がりシーンを示す情報を基に、コンテンツ上の盛り上がりシーンの先頭の位置を特定する。例えば、アプリケーションプログラム141は、盛り上がりシーンを示す情報を基に、コンテンツの再生における時刻で決まる、盛り上がりシーンの先頭の位置を特定する。
ステップS18において、アプリケーションプログラム141は、盛り上がりシーンの先頭の位置をヒントセクションの開始位置とするヒント情報を生成する。ステップS19において、アプリケーションプログラム141は、ストレージマネージャ114を介して、HSM113のマイグレーションファイルシステム164に記録されているコンテンツの拡張属性に、ヒント情報を格納させ、処理は終了する。
ステップS15において、盛り上がりシーンを示す情報がないと判定された場合、ステップS16乃至ステップS19の処理はスキップされて、処理は終了する。
このように、インデックス情報または盛り上がりシーンを示す情報を基に、ヒント情報が生成されて、記録される。
このように記録されたヒント情報を参照して、段階的なマイグレーションの処理を行うことができる。
なお、ヒント情報には、使用者からの操作に応じた値が直接設定されるようにしてもよく、また、アプリケーションプログラム141に限らず、オペレーティングシステムなどの他のプログラムによって書き込まれるようにしてもよい。
次に、図11乃至図13のフローチャートを参照して、マイグレーションの処理を説明する。ステップS31において、ストレージマネージャ114は、HDD116に記録されているファイルの走査を開始するディレクトリであるアンカーポイントを設定する。なお、マイグレーションの処理を開始して、最初に実行されるステップS31の処理において、ストレージマネージャ114は、予め定めたディレクトリ(例えば、ルートディレクトリなど)であるアンカーポイントを設定する。後述するステップS41、ステップS53、またはステップS60の処理において、HDD116に記録されているキャッシュファイルのデータ量が下限閾値未満となったと判定されて、手続きがステップS31に戻った場合、ストレージマネージャ114は、それまでの処理で注目していたディレクトリ、またはそれまでの処理の対象となったファイルが格納されているディレクトリを、ファイルの走査を開始するディレクトリとするようにアンカーポイントを設定する。
ストレージマネージャ114は、ステップS32およびステップS65において、設定されたアンカーポイントについてステップS33乃至ステップS64の処理を実行するようにスペースガードの処理のループ制御を実行する。
ステップS33において、ストレージマネージャ114は、ウェイト処理を実行して、予め定めた期間だけ待機する。ステップS34において、ストレージマネージャ114は、HSM113からHDD116に記録されているキャッシュファイルのデータ量を取得して、HDD116に記録されているキャッシュファイルのデータ量が上限閾値を超えているか否かを判定する。ステップS34において、データ量が上限閾値を超えてないと判定された場合、HDD116に記録されているキャッシュファイルのデータ量を削減する必要はないので、ステップS33に戻り、所定の期間だけ待機して、HDD116に記録されているキャッシュファイルのデータ量が上限閾値を超えているか否かの判定の処理が繰り返される。
ステップS34において、データ量が上限閾値を超えていると判定された場合、ステップS35に進み、ストレージマネージャ114は、ステップS31の処理で設定されたアンカーポイントに移動する。すなわち、ステップS35において、ストレージマネージャ114は、アンカーポイントであるディレクトリを示すパスを設定するなどして、アンカーポイントであるディレクトリに移動する(ディレクトリを特定する)。
ステップS36において、ストレージマネージャ114は、マイグレーションレベルnに予め定めた初期値を設定する。例えば、ステップS36において、ストレージマネージャ114は、マイグレーションレベルnに初期値である8を設定する。詳細は後述するが、マイグレーションレベルnは、コンテンツの部分のデータをキャッシュするか否かを決める基準である。
なお、ストレージマネージャ114は、ステップS40として後述するスタブファイル状態のキャッシュファイルの生成の処理で用いたマイグレーションレベルnを記憶しておいて、ステップS36において、その前回のスタブファイル状態のキャッシュファイルの生成の処理で用いたマイグレーションレベルnを初期値として設定するようにしてもよい。
ストレージマネージャ114は、ステップS37およびステップS44において、アンカーポイントから順にキャッシュファイルを走査し、走査したキャッシュファイルを基に、ステップS39乃至ステップS43の処理を実行するように対象ディレクトリ操作のループ制御の処理を実行する。
ステップS38において、ストレージマネージャ114は、オペレーティングシステムのファイルシステムから、ディレクトリの構造およびそれぞれのディレクトリに格納されているファイルのファイル名を取得する。そして、ステップS38において、ストレージマネージャ114は、取得したディレクトリの構造およびファイル名を基に、現在注目しているディレクトリから、処理の対象となるスタブファイル状態のキャッシュファイルを特定する。例えば、ステップS37およびステップS44の対象ディレクトリ操作のループ制御の処理が実行されて、最初に実行されるステップS38の処理において、アンカーポイントとして設定されたディレクトリを基に、処理の対象となるスタブファイル状態のキャッシュファイルが特定される。後述するステップS43において、次のディレクトリに移動した後に実行されるステップS38の処理において、移動したディレクトリを基に、処理の対象となるスタブファイル状態のキャッシュファイルが特定される。
ステップS39において、ストレージマネージャ114は、特定されたキャッシュファイルが近日中にアクセスされる可能性が高いか否かを判定し、特定されたキャッシュファイルが近日中にアクセスされる可能性が高くないと判定された場合、ステップS40に進み、特定されたキャッシュファイルに、スタブファイル状態のキャッシュファイルの生成の処理を適用して、キャッシュファイルからコンテンツの所定の部分のデータを削除する。キャッシュファイルからコンテンツの所定の部分のデータが削除されると、HDD116に記録されているデータのデータ量が削減されることになる。なお、スタブファイル状態のキャッシュファイルの生成の処理の詳細は図17のフローチャートを参照して後述する。ステップS40の処理の後、手続きは、ステップS41に進む。
例えば、ステップS39において、ストレージマネージャ114は、コンテンツデータベース161のアクセス履歴テーブルから、特定されたキャッシュファイルについてのアクセスの履歴に関する情報を読み出して、読み出されたアクセスの履歴に関する情報に基づいて、特定されたキャッシュファイルが近日中にアクセスされる可能性が高いか否かを判定する。より具体的には、一度アクセスされたデータは、再度、アクセスされる可能性が高いので、ストレージマネージャ114は、最終アクセス日時で示されるコンテンツのファイルが最後にアクセスされた日時から現在の日時までの期間が、所定の閾値より短い場合、特定されたキャッシュファイルが近日中にアクセスされる可能性が高いと判定し、最後にアクセスされた日時から現在の日時までの期間が、所定の閾値以上である場合、特定されたキャッシュファイルが近日中にアクセスされる可能性が高くないと判定する。
図14は、コンテンツデータベース161に記録されているアクセス履歴テーブルの例を示す図である。図14には、アクセス履歴テーブルに格納されているアクセスの履歴に関する情報のうち、1つのコンテンツについてのアクセスの履歴に関する情報が示されている。
図14において、左側の縦一列は、フィールドの名称を示し、左側から2番目の縦一列は、それぞれのフィールドの情報のタイプを示す。また、左側から3番目の縦一列は、それぞれのフィールドが検索のキーとして使用されるか否かを示し、左側から4番目の縦一列は、それぞれのフィールドのデフォルトを示す。また、右側の縦一列は、それぞれのフィールドについての備考を示す。
アクセス履歴テーブルには、ファイルパス、作成日時、最終更新日、最終アクセス日、およびファイルサイズのフィールドが設けられる。ファイルパスのフィールドは、それぞれコンテンツのデータが格納されているファイルへのパスが示されるパス名を格納する。作成日時のフィールドは、コンテンツのファイルが作成された日時を示す情報を格納する。最終更新日のフィールドは、コンテンツのファイルが最後に更新された日時を示す情報を格納する。また、最終アクセス日のフィールドは、コンテンツのファイルが最後にアクセスされた日時を示す情報を格納する。ファイルサイズのフィールドは、それぞれコンテンツのデータのデータ量を示す情報を格納する。
ファイルパスのフィールドに格納されるパス名のタイプは、文字列とされ、作成日時のフィールドに格納される情報のタイプは、日時とされ、最終更新日のフィールドに格納される情報のタイプは、日時とされ、最終アクセス日のフィールドに格納される情報のタイプは、日時とされる。ファイルサイズのフィールドに格納される情報のタイプは、符号なし整数とされる。
ファイルパスのフィールドに格納されるパス名が、主キーとされ、ファイルを特定するIDとして用いられる。
作成日時のフィールドに格納される情報のデフォルトは、作成日時とされ、作成日時のフィールドに格納される情報は、ファイルの作成時にアクセス履歴テーブルに記録される。最終更新日のフィールドに格納される情報のデフォルトは、最終更新日時とされ、最終更新日のフィールドに格納される情報は、ファイルが更新された場合、アクセス履歴テーブルに記録される(更新される)。
最終アクセス日のフィールドに格納される情報のデフォルトは、最終アクセス日時とされ、最終アクセス日のフィールドに格納される情報は、ファイル(のデータ)がアクセスされた場合、アクセス履歴テーブルに記録される(更新される)。ファイルサイズのフィールドに格納される情報のデフォルトは、ファイルサイズとされる。
例えば、ステップS39において、ストレージマネージャ114は、コンテンツデータベース161のアクセス履歴テーブルから、特定されたキャッシュファイルについての履歴情報であって、最終アクセス日のフィールドに格納される情報を読み出して、コンテンツのファイルが最後にアクセスされた日時を示す情報に基づいて、特定されたキャッシュファイルが近日中にアクセスされる可能性が高いか否かを判定する。
ステップS39において、特定されたキャッシュファイルが近日中にアクセスされる可能性が高いと判定された場合、ステップS40の処理はスキップされ、手続きは、ステップS41に進む。
ステップS41において、ストレージマネージャ114は、HSM113からHDD116に記録されているキャッシュファイルのデータ量を取得して、HDD116に記録されているキャッシュファイルのデータ量が下限閾値未満となったか否かを判定し、データ量が下限閾値未満となっていないと判定された場合、さらにキャッシュファイルのデータ量を削減する必要があるので、ステップS42に進む。なお、下限閾値は、上限閾値より小さい値とされる。
ステップS42において、ストレージマネージャ114は、現在、注目しているディレクトリについて総てのキャッシュファイルを特定したか否かを判定し、総てのキャッシュファイルを特定したと判定された場合、ステップS43に進み、走査手順に応じて、走査の対象となる次のディレクトリに移動する。
ステップS42において、現在、注目しているディレクトリについて総てのキャッシュファイルを特定していないと判定された場合、データを削除できる可能性のあるキャッシュファイルがまだあるので、ステップS43の処理はスキップされ、ステップS44に進む。
ステップS41において、データ量が下限閾値未満となったと判定された場合、キャッシュファイルのデータ量をこれ以上削減する必要はないので、ステップS31に戻り、上述した処理を繰り返す。
ステップS37およびステップS44の処理によって、HDD116に記録されている総てのキャッシュファイルが走査され、走査されたキャッシュファイルについて、ステップS39およびステップS40の処理が適用された場合、手続きは、ステップS37およびステップS44のループの処理を抜けて、ステップS45に進む。
ここで、図15および図16を参照して、ステップS38およびステップS43の処理における、ディレクトリの走査およびキャッシュファイルの特定の具体例について説明する。例えば、ディレクトリの走査およびキャッシュファイルの検索(特定)は、行きがけ順(Pre-order traversal)、通りがけ順(in-order traversal)、または帰りがけ順(post-order traversal)などの方式とすることができる。
図15は、ディレクトリの構成の例を示す図である。図15の最も上の”/”で示されるディレクトリは、ルートディレクトリである。なお、ルートディレクトリとは、キャッシュファイルが格納されるディレクトリのうち、最も上位のディレクトリをいう。
ルートディレクトリには、”aaa/”で示されるディレクトリ、”bbb/”で示されるディレクトリ、および”ccc/”で示されるディレクトリが配置される。また、ルートディレクトリは、”A”であるファイルおよび”B”であるファイルを格納する。
”aaa/”で示されるディレクトリには、”ddd/”で示されるディレクトリ、および”eee/”で示されるディレクトリが配置される。”aaa/”で示されるディレクトリは、”C”であるファイルを格納する。
”bbb/”で示されるディレクトリは、”D”であるファイルを格納する。”ccc/”で示されるディレクトリは、ファイルを格納しない。
”ddd/”で示されるディレクトリは、”E”であるファイルを格納する。”eee/”で示されるディレクトリは、ファイルを格納しない。
図16は、行きがけ順の走査の例を示す図である。行きがけ順の方式においては、現在注目しているディレクトリに格納されているファイルを検索(特定)してから、注目しているディレクトリの子供のディレクトリを前順に走査する。
すなわち、行きがけ順の方式においては、まず、現在注目しているディレクトリに格納されているファイルを検索(特定)する。次に、注目しているディレクトリの子供のディレクトリを前順に注目する。注目された子供のディレクトリについて、再帰的に、行きがけ順の方式で、ファイルが検索され、さらにその子供のディレクトリが前順で注目される。
従って、図16で示されるように、ルートディレクトリに最初に注目すると、ルートディレクトリの”A”であるファイルおよび”B”であるファイルが検索される。次に、ルートディレクトリの最初の子供のディレクトリである”aaa/”で示されるディレクトリが注目(走査)され、”aaa/”で示されるディレクトリに格納されている”C”であるファイルが検索される。
次に、”aaa/”で示されるディレクトリの最初の子供のディレクトリである”ddd/”で示されるディレクトリが注目(走査)され、”ddd/”で示されるディレクトリに格納されている”E”であるファイルが検索される。そして、”aaa/”で示されるディレクトリの2番目(最後)の子供のディレクトリである”eee/”で示されるディレクトリが注目される。”aaa/”で示されるディレクトリの総ての子供のディレクトリが注目されたので、次に、ルートディレクトリの2番目の子供のディレクトリである”bbb/”で示されるディレクトリが注目される。そして、”bbb/”で示されるディレクトリに格納されている”D”であるファイルが検索される。
さらに、ルートディレクトリの最後の子供のディレクトリである”ccc/”で示されるディレクトリが注目される。”ccc/”で示されるディレクトリにはファイルが格納されていない。ルートディレクトリの総ての子供のディレクトリが注目されたので、処理は終了する。
このように、行きがけ順の方式においては、”A”であるファイル、”B”であるファイル、”C”であるファイル、”E”であるファイル、”D”であるファイルが順に検索(特定)されることになる。
通りがけ順の方式においては、現在注目しているディレクトリの子供のディレクトリの中を間順に走査し、走査の過程で注目しているディレクトリに格納されているファイルが検索(特定)される。
すなわち、通りがけ順の方式においては、ルートディレクトリの最初の子供のディレクトリである”aaa/”で示されるディレクトリが注目され、さらに、”aaa/”で示されるディレクトリの最初の子供のディレクトリである”ddd/”で示されるディレクトリが注目される。”ddd/”で示されるディレクトリには、子供のディレクトリがないので、”ddd/”で示されるディレクトリに格納されている”E”であるファイルが検索される。
”aaa/”で示されるディレクトリに戻り、”aaa/”で示されるディレクトリに格納されている”C”であるファイルが検索される。”aaa/”で示されるディレクトリの最後の子供のディレクトリである”eee/”で示されるディレクトリが注目される。”eee/”で示されるディレクトリにはファイルが格納されていないので、ルートディレクトリに戻る。
ここで、ルートディレクトリの”A”であるファイルおよび”B”であるファイルが検索される。
次に、ルートディレクトリの2番目の子供のディレクトリである”bbb/”で示されるディレクトリが注目され、”bbb/”で示されるディレクトリには、子供のディレクトリがないので、”bbb/”で示されるディレクトリに格納されている”D”であるファイルが検索される。
そして、ルートディレクトリの最後の子供のディレクトリである”ccc/”で示されるディレクトリが注目される。ルートディレクトリの総ての子供のディレクトリが注目されたので、処理は終了する。
このように、通りがけ順の方式においては、”E”であるファイル、”C”であるファイル、”A”であるファイル、”B”であるファイル、”D”であるファイルが順に検索(特定)される。
また、帰りがけ順の方式においては、現在注目しているディレクトリの子供のディレクトリの中を後順に走査した後に、注目しているディレクトリに格納されているファイルが検索(特定)される。
すなわち、帰りがけ順の方式においては、ルートディレクトリの最初の子供のディレクトリである”aaa/”で示されるディレクトリが注目され、さらに、”aaa/”で示されるディレクトリの最初の子供のディレクトリである”ddd/”で示されるディレクトリが注目される。”ddd/”で示されるディレクトリには、子供のディレクトリがないので、”ddd/”で示されるディレクトリに格納されている”E”であるファイルが検索される。
”aaa/”で示されるディレクトリに戻り、”aaa/”で示されるディレクトリの最後の子供のディレクトリである”eee/”で示されるディレクトリが注目される。”eee/”で示されるディレクトリにはファイルが格納されていないので、”aaa/”で示されるディレクトリに戻り、”aaa/”で示されるディレクトリに格納されている”C”であるファイルが検索される。
”aaa/”で示されるディレクトリの子供のディレクトリの総てが注目されて、”aaa/”で示されるディレクトリに格納されている”C”であるファイルが検索されたので、次に、ルートディレクトリの2番目の子供のディレクトリである”bbb/”で示されるディレクトリが注目される。”bbb/”で示されるディレクトリには、子供のディレクトリがないので、”bbb/”で示されるディレクトリに格納されている”D”であるファイルが検索される。
ルートディレクトリの最後の子供のディレクトリである”ccc/”で示されるディレクトリが注目される。”ccc/”で示されるディレクトリには、子供のディレクトリがなく、ファイルも格納されていないので、ルートディレクトリの”A”であるファイルおよび”B”であるファイルが検索され、処理は終了する。
このように、帰りがけ順の方式においては、”E”であるファイル、”C”であるファイル、”D”であるファイル、”A”であるファイル、”B”であるファイルが順に検索(特定)される。
以上のように、ステップS37およびステップS44の処理によって、HDD116に記録されている総てのキャッシュファイルが走査され(順に検索され)、走査(検索)されたキャッシュファイルについて、ステップS39およびステップS40の処理が適用される。
ステップS45において、ストレージマネージャ114は、マイグレーションレベルnから1を引き算し、その結果を、マイグレーションレベルnに設定する。すなわち、マイグレーションレベルnは、1だけ小さくされる。
ステップS46において、ストレージマネージャ114は、マイグレーションレベルnが0未満であるか否かを判定する。ステップS46において、マイグレーションレベルnが0未満でないと判定された場合、ステップS37に戻り、前回の処理に比較して1小さいマイグレーションレベルnについて、ステップS37乃至ステップS44の処理が繰り返される。
すなわち、所定のマイグレーションレベルnを基に、HDD116に記録されているキャッシュファイルのデータが削除(トランケート)されても、まだ、HDD116に記録されているキャッシュファイルのデータ量が下限閾値未満となっていない場合、前回の処理に比較して1小さいマイグレーションレベルnを基に、さらにキャッシュファイルからデータがトランケートされる。ここで、トランケートの処理は、キャッシュファイルの部分のデータ、またはキャッシュファイルの全部のデータを1次ストレージから削除する処理である。
このように、例えば、HDD116に記録されている総てのキャッシュファイルが走査され、初期値としての8であるマイグレーションレベルnを基に、走査されたキャッシュファイルからデータが削除(トランケート)される。8であるマイグレーションレベルnを基に、走査されたキャッシュファイルからデータが削除されても、HDD116に記録されているキャッシュファイルのデータ量が下限閾値未満とならない場合、さらに、HDD116に記録されている総てのキャッシュファイルが走査され、7であるマイグレーションレベルnを基に、走査されたキャッシュファイルからデータがトランケートされる。同様に、7であるマイグレーションレベルnを基に、走査されたキャッシュファイルからデータが削除されても、HDD116に記録されているキャッシュファイルのデータ量が下限閾値未満とならない場合、さらにまた、HDD116に記録されている総てのキャッシュファイルが走査され、6であるマイグレーションレベルnを基に、走査されたキャッシュファイルからデータがトランケートされる。
以上のように、走査されたキャッシュファイルからデータが削除されても、HDD116に記録されているキャッシュファイルのデータ量が下限閾値未満とならない場合、HDD116に記録されている総てのキャッシュファイルが走査され、1づつ小さい値とされたマイグレーションレベルnを基に、走査されたキャッシュファイルからデータがトランケートされる処理が繰り返される。
ステップS46において、マイグレーションレベルnが0未満であると判定された場合、これ以上、スタブファイル状態のキャッシュファイルの生成の処理(トランケートの処理)でキャッシュファイルからデータを削除することができないので、ステップS47に進み、ストレージマネージャ114は、ルートディレクトリに移動する。
ストレージマネージャ114は、ステップS48およびステップS56において、ルートディレクトリから順にキャッシュファイルを走査して、走査したキャッシュファイルにステップS50乃至ステップS55の処理を適用するように対象ディレクトリ操作のループ制御の処理を実行する。
ステップS49において、ストレージマネージャ114は、処理の対象となるキャッシュファイルを特定する。例えば、ステップS48およびステップS56の対象ディレクトリ操作のループ制御の処理が実行されて、最初に実行されるステップS49の処理において、ルートディレクトリを基に、処理の対象となるキャッシュファイルが特定される。後述するステップS55において、次のディレクトリに移動した後に実行されるステップS49の処理において、移動したディレクトリを基に、処理の対象となるキャッシュファイルが特定される。
ステップS50において、ストレージマネージャ114は、特定されたキャッシュファイルの拡張属性をマイグレーションファイルシステム164から取得する。
ステップS51において、ストレージマネージャ114は、拡張属性を基に、特定されたキャッシュファイルがマイグレーションの処理を中断したキャッシュファイルであるか否かを判定し、特定されたキャッシュファイルがマイグレーションの処理を中断したキャッシュファイルであると判定された場合、ステップS52に進み、特定されたキャッシュファイルについてのマイグレーションの処理を再開させる。
ステップS51において、特定されたキャッシュファイルがマイグレーションの処理を中断したキャッシュファイルでないと判定された場合、ステップS52の処理はスキップされて、手続きは、ステップS53に進む。
ステップS53において、ストレージマネージャ114は、HSM113からHDD116に記録されているキャッシュファイルのデータ量を取得して、HDD116に記録されているキャッシュファイルのデータ量が下限閾値未満となったか否かを判定し、データ量が下限閾値未満となっていないと判定された場合、ステップS54に進む。ステップS54において、ストレージマネージャ114は、注目しているディレクトリについて、総てのキャッシュファイルを特定したか否かを判定し、注目しているディレクトリについて、総てのキャッシュファイルを特定したと判定された場合、ステップS55に進み、走査手順に応じて、走査の対象となる次のディレクトリに移動する。
ステップS54において、注目しているディレクトリについて、総てのキャッシュファイルを特定していないと判定された場合、その注目しているディレクトリについて、キャッシュファイルがまだあるので、ステップS55の処理はスキップされ、ステップS56に進む。
ステップS53において、データ量が下限閾値未満となったと判定された場合、ステップS31に戻り、上述した処理を繰り返す。
ステップS48およびステップS56の処理によって、HDD116に記録されている総てのキャッシュファイルが走査され、走査されたキャッシュファイルについて、ステップS50乃至ステップS52の処理が適用された場合、手続きは、ステップS48およびステップS56のループの処理を抜けて、ステップS57に進む。
ステップS49およびステップS55の処理における、ディレクトリの走査およびキャッシュファイルの特定の処理は、例えば、ディレクトリの走査およびキャッシュファイルの検索(特定)は、行きがけ順、通りがけ順、または帰りがけ順などの方式とすることができる。
ステップS57において、ストレージマネージャ114は、ルートディレクトリに移動する。
ストレージマネージャ114は、ステップS58およびステップS63において、ルートディレクトリから順にレギュラー状態のキャッシュファイルを走査して、走査したレギュラー状態のキャッシュファイルにマイグレーションの処理を適用するように対象ディレクトリ操作のループ制御の処理を実行する。
ステップS59において、ストレージマネージャ114は、注目しているディレクトリを基に、レギュラー状態のキャッシュファイルを特定して、特定されたレギュラー状態のキャッシュファイルにマイグレーションの処理を適用する。例えば、ステップS58およびステップS63の対象ディレクトリ操作のループ制御の処理が実行されて、最初に実行されるステップS59の処理において、ルートディレクトリを基に、レギュラー状態のキャッシュファイルが特定され、特定されたレギュラー状態のキャッシュファイルにマイグレーションの処理が適用される。後述するステップS62において、次のディレクトリに移動した後に実行されるステップS59の処理において、移動したディレクトリを基に、レギュラー状態のキャッシュファイルが特定され、特定されたレギュラー状態のキャッシュファイルにマイグレーションの処理が適用される。
ステップS60において、ストレージマネージャ114は、HSM113からHDD116に記録されているキャッシュファイルのデータ量を取得して、HDD116に記録されているキャッシュファイルのデータ量が下限閾値未満となったか否かを判定し、データ量が下限閾値未満となっていないと判定された場合、ステップS61に進む。ステップS61において、ストレージマネージャ114は、注目しているディレクトリに、レギュラー状態のキャッシュファイルがあるか否かを判定し、注目しているディレクトリに、レギュラー状態のキャッシュファイルがないと判定された場合、ステップS62に進み、走査手順に応じて、走査の対象となる次のディレクトリに移動する。
ステップS61において、注目しているディレクトリに、レギュラー状態のキャッシュファイルがあると判定された場合、ステップS62の処理はスキップされ、ステップS63に進む。
ステップS60において、データ量が下限閾値未満となったと判定された場合、ステップS31に戻り、上述した処理を繰り返す。
ステップS58およびステップS63の処理によって、ルートディレクトリから順にレギュラー状態のキャッシュファイルが走査され、走査されたレギュラー状態のキャッシュファイルの総てにマイグレーションの処理が適用された場合、手続きは、ステップS58およびステップS63のループの処理を抜けて、ステップS64に進む。
ステップS59およびステップS62の処理における、ディレクトリの走査およびマイグレーションの処理を適用するレギュラー状態のキャッシュファイルの特定の処理は、例えば、ディレクトリの走査およびキャッシュファイルの検索(特定)は、行きがけ順、通りがけ順、または帰りがけ順などの方式とすることができる。
ステップS64において、ストレージマネージャ114は、アプリケーションプログラム141にマイグレーションの対象となるファイルが存在しないことを通知する。例えば、アプリケーションプログラム141は、モニタ125に、マイグレーションの対象となるファイルが存在しないことを通知する画像を表示させる。
ステップS64の処理の後、ステップS32およびステップS65のスペースガードのループの処理を抜けて、処理は終了する。
このように、HDD116からコンテンツのデータの部分を消去する場合、光ディスク119に全体のデータが記録されているコンテンツのデータの部分がHDD116から消去され、光ディスク119に全体のデータが記録されているコンテンツのデータの部分をHDD116から消去しても、HDD116に記録されているコンテンツのデータのデータ量が下限閾値未満にならないとき、コンテンツの全体のデータを光ディスク119に記録させた後HDD116からコンテンツのデータの部分を消去する処理が中断されたコンテンツについて、中断された処理が再開されるか、または、光ディスク119にデータが記録されていないコンテンツについて、コンテンツの全体のデータが光ディスク119に記録させられて、HDD116からコンテンツのデータの部分が消去される。
平均的な処理時間が短いと想定される順序で、HDD116からコンテンツのデータの部分を消去する処理が実行されるので、1次ストレージであるHDD116に、より迅速に空き領域を作成することができるようになる。
図17は、図11のステップS40に対応する、スタブファイル状態のキャッシュファイルの生成の処理を説明するフローチャートである。ステップS81において、ストレージマネージャ114は、HSM113のマイグレーションファイルシステム164からコンテンツの拡張属性を読み出して、コンテンツの拡張属性にヒント情報があるか否かを判定する。ステップS81において、ヒント情報があると判定された場合、ステップS82に進み、ストレージマネージャ114は、HSM113のマイグレーションファイルシステム164からコンテンツの拡張属性を読み出して、読み出したコンテンツの拡張属性からヒント情報を抽出する。そして、ストレージマネージャ114は、ヒント情報のうちの、全てのヒントセクションのデータ量の合計を示すヒントセクションレングスを取得する。
ステップS83において、ストレージマネージャ114は、ヒントセクションレングスを1つのヒントセクションのデータ量で割り算することによりヒントセクションの数を算出する。
ストレージマネージャ114は、ステップS84およびステップS92において、それぞれのヒントセクションについてステップS85乃至ステップS91の処理を実行し、ステップS84乃至ステップS92の処理をヒントセクションの数だけ繰り返すようにループ制御の処理を実行する。
ステップS85において、ストレージマネージャ114は、ヒント情報から、所定のヒントセクションの開始位置を示すヒントオフセットを取得する。ステップS86において、ストレージマネージャ114は、ヒント情報から、そのヒントセクションのデータ量を示すヒントサイズを取得する。ステップS87において、ストレージマネージャ114は、ヒント情報から、そのヒントセクションの優先順位を示すヒントプライオリティを取得する。
ステップS88において、ストレージマネージャ114は、ヒント情報が設定されていない領域を、HDD116に記録されているキャッシュファイル上から削除するホール領域に設定する。
ステップS89において、ストレージマネージャ114は、ヒントプライオリティが設定されているマイグレーションレベルn以下であるか否かを判定する。ステップS89において、ヒントプライオリティが設定されているマイグレーションレベルn以下であると判定された場合、ステップS90に進み、ストレージマネージャ114は、そのヒントプライオリティが設定されているヒントセクションをスタブ領域(キャッシュする領域)に設定する。
一方、ステップS89において、ヒントプライオリティが設定されているマイグレーションレベルn以下でない判定された場合、ステップS91に進み、ストレージマネージャ114は、そのヒントプライオリティが設定されているヒントセクションをキャッシュファイル上から削除するホール領域に設定する。
それぞれのヒントセクションについてステップS85乃至ステップS91の処理が実行され、それぞれのヒントセクションを包括する領域は、スタブ領域に設定されるか、またはホール領域に設定されることになる。なお、ヒント情報が設定されていない領域はホール領域に設定される。
ステップS84乃至ステップS92の処理がヒントセクションの数だけ繰り返された後、手続きは、ステップS44に進む。
ステップS81において、コンテンツの拡張属性にヒント情報がないと判定された場合、ステップS93に進み、ストレージマネージャ114は、初期設定に従って、ファイル内部領域を設定する。すなわち、ステップS93において、ストレージマネージャ114は、初期設定に従って、コンテンツの領域を、スタブ領域か、ホール領域かに設定し、ステップS94に進む。
ステップS94において、ストレージマネージャ114は、ホール領域のデータがキャッシュファイルに記録されているか否か、すなわち、ホール領域のデータがキャッシュされているか否かを判定し、ホール領域のデータがキャッシュされていると判定された場合、ステップS95に進み、HSM113に、ホール領域のデータをキャッシュファイルから削除(消去)させる。HSM113は、ストレージマネージャ114の制御に基づいて、HDD116のキャッシュファイルからホール領域のデータを消去させる。その後、手続きは、ステップS96に進む。
ステップS94において、ホール領域のデータがキャッシュされていないと判定された場合、キャッシュファイルからデータを削除する処理を実行する必要がないので、ステップS95の処理はスキップされ、手続きは、ステップS96に進む。
ステップS96において、ストレージマネージャ114は、スタブ領域のデータがキャッシュファイルに記録されていないか否か、すなわち、スタブ領域のデータがキャッシュされていないか否かを判定し、スタブ領域のデータがキャッシュされていないと判定された場合、ステップS97に進み、HSM113に、スタブ領域のデータをキャッシュファイルにリロードさせる。HSM113は、ストレージマネージャ114の制御に基づいて、コンテンツの全体のデータを記録している光ディスク119をドライブ118に装着させる。HSM113は、ドライブ118に、光ディスク119からコンテンツのデータを読み出させて、読み出したコンテンツのデータをHDD116のキャッシュファイルに格納することにより、スタブ領域のデータをリロードする。その後、手続きは、ステップS98に進む。
ステップS96において、スタブ領域のデータがキャッシュされていると判定された場合、スタブ領域のデータをリロードする処理を実行する必要がないので、ステップS97の処理はスキップされ、手続きは、ステップS98に進む。
ステップS98において、ストレージマネージャ114は、HSM113のマイグレーションファイルシステム164に、キャッシュファイルからのデータの消去またはキャッシュファイルへのデータのリロードの結果に対応するように、コンテンツの拡張属性の領域情報を書き換えらせて、処理は終了する。
以上のように、スタブファイル状態のキャッシュファイルが生成される。スタブファイル状態のキャッシュファイルに、マイグレーションレベルnを基にした、スタブファイル状態のキャッシュファイルの生成の処理が適用されると、n以下のヒントプライオリティのヒントセクションに対応した部分からなるスタブファイル状態のキャッシュファイルが生成されることになる。スタブファイル状態のキャッシュファイルに、より小さい値のマイグレーションレベルnを基にした、スタブファイル状態のキャッシュファイルの生成の処理が適用されると、キャッシュファイルからスタブデータが消去されるので、キャッシュファイルのデータ量がより削減されることになる。
次に、このように生成された、スタブファイル状態のキャッシュファイルを用いた、コンテンツのデータの読み出しの処理を説明する。
図18は、インデックス_nからのデータの読み出しの処理を説明するフローチャートである。ステップS111において、ストレージマネージャ114のファイルI/Oマネージャ163は、データの読み出しを開始するインデックス_nの指定を受け付ける。より詳細には、アプリケーションプログラム141は、使用者の操作に応じた、再生を開始するインデックスの選択を受け付ける。アプリケーションプログラム141は、使用者に選択され、再生を開始するインデックスを指定するデータをファイルI/Oマネージャ163に供給する。ファイルI/Oマネージャ163は、アプリケーションプログラム141からのデータを取得することにより、使用者により選択された、データの読み出しを開始するインデックス_nの指定を受け付ける。ストレージマネージャ114は、インデックス_nからの再生をHSM113に指示する。
ステップS112において、ストレージマネージャ114は、HSM113のマイグレーションファイルシステム164に格納されている領域情報を基に、読み出しが指示されたコンテンツの全てのデータがキャッシュファイルとしてHDD116に記録されているか、すなわち、読み出しが指示されたコンテンツの全てのデータがHDD116にストアされているか否かを判定する。ステップS112において、全てのデータがHDD116にストアされていると判定された場合、ステップS113に進み、ストレージマネージャ114は、HSM113に、インデックス_nに対応する位置からコンテンツのデータの読み出しを指示する。HSM113は、HDD116に、インデックス_nに対応する位置から、キャッシュファイルのデータの読み出しを開始させる。ステップS113の処理の後、手続きは、ステップS119に進む。
一方、ステップS112において、全てのデータがHDD116にストアされていないと判定された場合、ステップS114に進み、ストレージマネージャ114は、HSM113に、インデックス_nに対応する位置からコンテンツのデータの読み出しを指示する。HSM113は、HDD116に、HDD116のキャッシュファイルのインデックス_nに対応するスタブ領域の先頭位置からデータの読み出しを開始させる。
これにより、コンテンツが即座に再生されることになる。
ストレージマネージャ114は、HSM113に、光ディスク119からHDD116への該当するコンテンツのデータの読み出し要求であるリロードコマンドを発行する。
ステップS115において、HSM113は、ストアデータベース166から、対応するキャッシュファイルIDとボリウムIDを参照する。ステップS116において、ストレージサーバ165は、ボリウムデータベース168を基に、ボリウムIDで特定される光ディスク119が格納されているディスクスロット121を特定する。すなわち、ストレージサーバ165は、メディアサーバ167に、ボリウムIDで特定される光ディスク119が格納されているディスクスロット121の特定を要求する。メディアサーバ167は、ボリウムデータベース168に、ジュークボックス145の各ディスクスロット121に格納されている光ディスク119を特定するボリウムIDのうち、ストレージサーバ165からの要求に含まれているボリウムIDと一致するボリウムIDを検索させる。ボリウムデータベース168が、ストレージサーバ165からの要求に含まれているボリウムIDで特定される光ディスク119が格納されているディスクスロット121を示す情報を出力してくるので、メディアサーバ167は、ディスクスロット121を示す情報をストレージサーバ165に供給する。これにより、ストレージサーバ165は、ボリウムIDで特定される光ディスク119が格納されているディスクスロット121を特定する。
ステップS117において、ストレージサーバ165は、メディアサーバ167に、特定されたディスクスロット121に格納されている光ディスク119のドライブ118への装着を指示する。メディアサーバ167は、チェンジャドライバ143を介して、ジュークシステム120に、特定されたディスクスロット121に格納されている光ディスク119をドライブ118に装着させる。すなわち、ジュークシステム120の制御の基に、ジュークボックス145のピッカー122は、特定されたディスクスロット121から、光ディスク119を取り出して、搬送し、その光ディスク119をドライブ118に装着(マウント)させる。
ステップS118において、リロードの処理が実行される。リロードの処理の詳細は図19のフローチャートを参照して後述する。
ステップS118の処理の後、手続きは、ステップS119に進む。
ステップS119において、ストレージマネージャ114は、キャッシュファイルの最後までデータを読み出したか否かを判定し、キャッシュファイルの最後までデータを読み出していないと判定された場合、ステップS119に戻り、判定の処理を繰り返す。
ステップS119において、キャッシュファイルの最後までデータを読み出したと判定された場合、処理は終了する。
次に、図19のフローチャートを参照して、図18のステップS118のリロードの処理の詳細を説明する。ステップS131において、ストレージマネージャ114は、HSM113に、所定の位置を指定して、リロードの開始を指示する。HSM113のマイグレーションファイルシステム164は、リロードの開始位置を、現在、HDD116から読み出されているデータの位置の後の領域であって、最も近い領域の先頭とする。
ステップS132において、HSM113のストレージサーバ165は、リロードを開始する。すなわち、ストレージサーバ165は、リロードの開始位置におけるデータを、光ディスク119が装着されたドライブ118から読み出させ、読み出したデータをキャッシュファイルの所定の領域に格納させるように、HDD116に記録させる。
ステップS133において、マイグレーションファイルシステム164は、その領域がストアされているか否かを判定し、その領域がストアされていると判定された場合、ステップS134において、リロードの開始位置を、その領域の後のホール領域であって、最も近いホール領域の先頭に移動する。ステップS133において、その領域がストアされていないと判定された場合、ステップS134の処理はスキップされる。
ステップS135において、HSM113のストレージサーバ165は、リロードを開始する。
ステップS136において、マイグレーションファイルシステム164は、その領域のリロードが完了したか否かを判定し、その領域のリロードが完了していないと判定された場合、ステップS136に戻り、判定の処理を繰り返す。
ステップS136において、その領域のリロードが完了したと判定された場合、ステップS137に進み、マイグレーションファイルシステム164は、リロードを完了した領域と隣接するスタブ領域とを結合させるように拡張属性を書き換える。
ステップS138において、マイグレーションファイルシステム164は、キャッシュファイルの最後までリロードが完了したか否かを判定する。ステップS138において、キャッシュファイルの最後までリロードが完了したと判定された場合、ステップS139に進み、マイグレーションファイルシステム164は、コンテンツの全てのデータがHDD116に記録されたか、すなわち、コンテンツの全てのデータがストアされたか否かを判定する。
ステップS139において、コンテンツの全てのデータがストアされていないと判定された場合、ステップS140に進み、マイグレーションファイルシステム164は、オートリロードモードであるか否かを判定する。ステップS140において、オートリロードモードであると判定された場合、ステップS141に進み、マイグレーションファイルシステム164は、リロードの開始位置を、キャッシュファイルの先頭に移動して、ステップS132に戻り、上述した処理を繰り返す。
ステップS138において、キャッシュファイルの最後までリロードが完了していないと判定された場合、ステップS132に戻り、上述した処理を繰り返す。
ステップS139において、コンテンツの全てのデータがストアされたと判定された場合、または、ステップS140において、オートリロードモードでないと判定された場合、処理は終了する。
このように、HDD116のキャッシュファイルからコンテンツのデータが読み出されている間であって、予めキャッシュファイルに記録されていないデータの読み出しが実行される前に、ドライブ118に装着された光ディスク119からホール領域のデータが読み出されて、読み出されたデータがキャッシュファイルに格納される。ドライブ118は、コンテンツの再生に必要なデータの読み出し速度に比較して、より速い速度で光ディスク119からデータを読み出すので、コンテンツの再生が始まる前にHDD116のキャッシュファイルに格納されていなかったデータは、そのデータがコンテンツの再生のために読み出される前に、HDD116のキャッシュファイルに格納される。従って、コンテンツの再生のために必要なデータは、常に、HDD116のキャッシュファイルから読み出すことができるようになる。
その結果、コンテンツのデータの読み出しが要求されると、待ち時間をほとんど生じさせることなく、迅速にコンテンツのデータを読み出すことができる。すなわち、例えば、音声または画像のコンテンツである場合、画像または音声が途切れることがなく、画像または音声を再生することができる。
さらに、光ディスク119からコンテンツのデータを先読みして、HDD116に記録させるので、光ディスク119から読み出したデータを直接再生に用いる場合に比較して、ドライブ118をより早く開放することができる。すなわち、光ディスク119の高速読み出しなど、ドライブ118の能力をより十分に発揮させることができ、ドライブ118をより効率的に使用できるようになる。
このように、スタブファイル状態のキャッシュファイルがHDD116に記録されているコンテンツの読み出しが要求されると、コンテンツの全体のデータを記録している光ディスク119からデータが読み出されて、読み出されたデータがキャッシュファイルに格納される。そして、キャッシュファイルに格納されているデータが読み出されて、コンテンツが再生される。
以上のように、面倒な操作をすることなく、任意の部分を読み出そうとする場合の、待ち時間の発生をより少なくすることができる。
キャッシュファイルに記録されていないデータを、光ディスク119から読み出して、光ディスク119から読み出したデータから直接コンテンツを再生するようにしてもよい。
図20は、この場合における、本発明の一実施の形態の記録再生システム101の他の構成を示すブロック図である。図4に示す場合と同様の部分には同一の符号を付してあり、その説明は省略する。
HDD116は、記録しているストリーム(データ)をバッファ201またはセレクタ202に供給する。
バッファ201は、半導体メモリまたはHDD116の一部の記録領域からなり、HDD116から供給されたストリーム(データ)を一時的に記憶して、記憶しているストリーム(データ)をドライブ118に供給する。
セレクタ202は、HSM113の制御の基に、ドライブ118から出力されるデータまたはHDD116から出力されるデータのいずれか一方を選択する。バッファ115は、セレクタ202に選択された、ドライブ118から出力されるデータまたはHDD116から出力されるデータのいずれか一方を取得し、取得したデータを記憶する。
なお、セレクタ202は、ハードウェアとして設けても良いが、ソフトウェア(処理)によりセレクタ202と等価の機能を実現するようにしてもよい。
また、セレクタ202は、ストレージマネージャ114の制御の基に、ドライブ118から出力されるデータまたはHDD116から出力されるデータのいずれか一方を選択するようにしてもよい。
キャッシュファイルに記録されていないデータを、光ディスク119から読み出して、光ディスク119から読み出したデータから直接コンテンツを再生する場合、HDD116のキャッシュファイルに格納されているデータは、HDD116から読み出され、HDD116のキャッシュファイルに格納されていないデータは、ドライブ118に装着された光ディスク119からドライブ118によって読み出される。
すなわち、HDD116に予め記録されているスタブ領域のデータはHDD116からバッファ115に読み出されて、バッファ115に一時的に記憶される。HDD116に予め記録されていないホール領域のデータは光ディスク119から読み出されて、HDD116によって記録されずに、バッファ115に直接供給されて、バッファ115に一時的に記憶される。
アプリケーションプログラム141は、バッファ115に一時的に記憶されたデータを読み出して、出力画像信号および音声信号を出力する。
このようにすることで、HDD116へのアクセスをより少なくすることができる。また、HDD116の記録領域の使用量をより少なくすることができる。
光ディスク119をドライブ118に装着(マウント)した後は、ホール領域を含めた、コンテンツ上の任意の部分のデータを迅速に読み出すことができる。
なお、図4で示される記録再生システム101の処理および図20で示される記録再生システム101の処理を適応的に切り替えるようにしてもよい。
さらに、記録しているコンテンツをネットワークを介して送信するようにすることもできる。
図21は、記録しているコンテンツをネットワークを介して送信する、本発明の一実施の形態の記録再生システムのさらに他の構成を示すブロック図である。図4に示す場合と同様に部分には同一の符号を付してあり、その説明は省略する。
この場合、記録再生システムは、サーバ301と、サーバ301にネットワーク302を介して接続されるクライアント303とからなる。
サーバ301は、HSM113、ストレージマネージャ114、アプリケーションプログラム141、コンテンツマネージャ142、チェンジャドライバ143、ジュークボックス制御部144、ジュークボックス145、ストリーミングサーバ321、およびネットワークライブラリ322を含むように構成される。
アプリケーションプログラム141は、ネットワーク302を介してクライアント303から送信されてきた画像データおよび音声データを含むストリームを受信し、受信したストリームをストレージマネージャ163に供給する。また、アプリケーションプログラム141は、ストレージマネージャ163から供給されたストリームを、ストリーミングサーバ321に送信させる。
ストリーミングサーバ321は、ネットワークライブラリ322として記述されている手続きを基に、アプリケーションプログラム141から供給されたストリームを、ネットワーク302を介して、クライアント303に送信する。ストリーミングサーバ321は、クライアント303から送信されてきた、所定の位置からのコンテンツの再生を要求するデータ(ストリームの送信要求)が受信されると、要求された位置からコンテンツを再生するためのストリームをネットワーク302を介して、クライアント303に送信する。
ネットワークライブラリ322には、ネットワーク302を介した、ストリームまたはデータを送信または受信する手続きが記述されている。
ネットワーク302は、無線または有線を伝送媒体とする、ホームネットワークなどのLAN(Local Area Network)、インターネット、公衆回線、または専用回線などからなり、各種のデータ(ストリームを含む)を伝送する。
クライアント303は、アプリケーションプログラム341、ストリーミングクライアント342、ネットワーククライアント343、ビデオ/オーディオデコーダ344、およびビデオオーディオエンコーダ345を含むように構成される。
アプリケーションプログラム341は、使用者とのインターフェースの機能を有し、使用者からの指示を取得するか、使用者にクライアント303に関する各種の情報を通知する。アプリケーションプログラム141は、クライアント303全体を制御する。
ストリーミングクライアント342は、ネットワーク302を介して、サーバ301から送信されてきたストリームを受信して、受信したストリームをビデオ/オーディオデコーダ344に供給する。ネットワーククライアント343は、ネットワーク302を介して、サーバ301と各種のデータを送受信する。ネットワーククライアント343は、ビデオオーディオエンコーダ345から供給されたストリームを、ネットワーク302を介して、サーバ301に送信する。また、ネットワーククライアント343は、所望の位置からのコンテンツの再生を要求するデータ(ストリームの送信要求)を、ネットワーク302を介して、サーバ301に送信する。
ビデオ/オーディオデコーダ344は、ストリームを画像データおよび音声データに分離する。そして、ビデオ/オーディオデコーダ344は、符号化されている画像データおよび音声データを、いわゆるベースバンドの画像データおよび音声データに復号し、復号により得られたベースバンドの画像データおよび音声データを基にした、出力画像信号および音声信号(図示せず)をモニタ125に供給する。
ビデオオーディオエンコーダ345は、ビデオカメラ171からの入力画像信号および音声信号を取得し、取得した入力画像信号および音声信号をベースバンドの画像データおよび音声データに変換する。ビデオオーディオエンコーダ345は、ベースバンドの画像データおよび音声データを符号化し、符号化された画像データおよび音声データを多重化することでストリームを生成する。ビデオオーディオエンコーダ345は、生成したストリームをネットワーククライアント343に供給する。
このように、サーバ301は、ネットワーク302を介して、クライアント303に、所望の位置からコンテンツを再生するストリームを、迅速に送信することができる。
以上のように、本発明によれば、面倒な操作をすることなく、任意の部分を読み出そうとする場合の、待ち時間の発生をより少なくすることができる。
なお、1次ストレージとして、HDD116に代えて、半導体メモリなどの他の高速な記録媒体を用いるようにしもよく、また、2次ストレージとして、光ディスク119に代えて、磁気ディスクまたは磁気テープなどの1次ストレージに比較して記録容量当たりの価格が安い他の記録媒体を用いるようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
図22は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)401は、ROM(Read Only Memory)402、記録部408、または記録部409に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)403には、CPU401が実行するプログラムやデータなどが適宜記憶される。これらのCPU401、ROM402、およびRAM403は、バス404により相互に接続されている。
なお、CPU401として、”Cell誕生”、日経エレクトロニクス、日経BP社、2005年2月28日、89頁乃至117頁に記載されているCellを採用することができる。
CPU401にはまた、バス404を介して入出力インターフェース405が接続されている。入出力インターフェース405には、キーボード、マウス、マイクロホンなどよりなる入力部406、ディスプレイ、スピーカなどよりなる出力部407が接続されている。CPU401は、入力部406から入力される指令に対応して各種の処理を実行する。そして、CPU401は、処理の結果を出力部407に出力する。
入出力インターフェース405に接続されている記録部408は、例えばHDD116に対応し、CPU401が実行するプログラムや各種のデータを記録する。記録部409は、例えばジュークボックス145に対応し、各種のデータやCPU401が実行するプログラムを記録する。通信部410は、インターネットやLANなどのネットワーク302を介してクライアント303などの外部の装置と通信する。
また、通信部410を介してプログラムを取得し、記録部408または記録部409に記憶してもよい。
入出力インターフェース405に接続されているドライブ411は、磁気ディスク421、光ディスク422、光磁気ディスク423、或いは半導体メモリ424などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部408または記録部409に転送され、記録される。
一連の処理をさせるプログラムが格納されている記録媒体は、図22に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク421(フレキシブルディスクを含む)、光ディスク422(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク423(MD(Mini-Disc)(商標)を含む)、若しくは半導体メモリ424などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM402や、記録部408に含まれるハードディスクまたは記録部409に含まれる光ディスク119などで構成される。
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインターフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
従来の記録再生システムの構成を示すブロック図である。 従来の再生の処理を説明する図である。 従来の、マイグレーションの処理を適用するファイルの候補を決定する処理に要する時間を示す図である。 本発明の一実施の形態の記録再生システムの構成を示すブロック図である。 記録再生システムのより詳細な構成を示すブロック図である。 記録再生システムにおいて用いる情報を説明する図である。 HDDに記録されるキャッシュファイルを説明する図である。 スタブ状態のキャッシュファイルを説明する図である。 領域および拡張属性における領域情報について説明する図である。 ヒント情報の書き込みの処理を説明するフローチャートである。 マイグレーションの処理を説明するフローチャートである。 マイグレーションの処理を説明するフローチャートである。 マイグレーションの処理を説明するフローチャートである。 アクセス履歴テーブルの例を示す図である。 ディレクトリの構成の例を示す図である。 行きがけ順の走査の例を示す図である。 スタブファイル状態のキャッシュファイルの生成の処理を説明するフローチャートである。 インデックス_nからのデータの読み出しの処理を説明するフローチャートである。 リロードの処理の詳細を説明するフローチャートである。 本発明の一実施の形態の記録再生システムの他の構成を示すブロック図である。 本発明の一実施の形態の記録再生システムのさらに他の構成を示すブロック図である。 パーソナルコンピュータの構成の例を示すブロック図である。
符号の説明
101 記録再生システム, 113 HSM, 114 ストレージマネージャ, 116 HDD, 118 ドライブ, 119 光ディスク, 120 ジュークシステム, 121 ディスクスロット, 122 ピッカー, 141 アプリケーションプログラム, 142 コンテンツマネージャ, 144 ジュークボックス制御部, 145 ジュークボックス, 161 コンテンツデータベース, 162 システムマネージャ, 163 ファイルI/Oマネージャ, 164 マイグレーションファイルシステム, 165 ストレージサーバ, 166 ストアデータベース, 167 メディアサーバ, 168 ボリウムデータベース, 301 サーバ, 302 ネットワーク, 303 クライアント, 321 ストリーミングサーバ, 401 CPU, 402 ROM, 403 RAM, 408 記録部, 409 記録部, 410 通信部, 471 磁気ディスク, 422 光ディスク, 423 光磁気ディスク, 424 半導体メモリ

Claims (8)

  1. 時間的に連続するコンテンツのデータを記録する第1の記録媒体と、
    前記コンテンツの全体のデータを記録する第2の記録媒体と、
    前記第1の記録媒体から前記コンテンツのデータの部分を消去する場合、前記第2の記録媒体に全体のデータが記録されている前記コンテンツのデータの部分を前記第1の記録媒体から消去し、前記第2の記録媒体に全体のデータが記録されている前記コンテンツのデータの部分を前記第1の記録媒体から消去しても、前記第1の記録媒体に記録されている前記コンテンツのデータのデータ量が所定の閾値未満にならないとき、前記コンテンツの全体のデータを前記第2の記録媒体に記録させた後前記第1の記録媒体から前記コンテンツのデータの部分を消去する処理が中断された前記コンテンツについて、中断された処理を再開させるか、または、前記第2の記録媒体にデータが記録されていないコンテンツについて、前記コンテンツの全体のデータを前記第2の記録媒体に記録させて、前記第1の記録媒体から前記コンテンツのデータの部分を消去するように、前記第1の記録媒体または前記第2の記録媒体への前記コンテンツのデータの記録を制御する記録制御手段と
    を備えることを特徴とする記録装置。
  2. 前記記録制御手段は、前記第2の記録媒体に全体のデータが記録されている前記コンテンツのデータの部分を前記第1の記録媒体から消去しても、前記第1の記録媒体に記録されている前記コンテンツのデータのデータ量が前記閾値未満にならない場合、前記コンテンツの全体のデータを前記第2の記録媒体に記録させた後前記第1の記録媒体から前記コンテンツのデータの部分を消去する処理が中断された前記コンテンツについて、中断された処理を再開させ、中断された処理が完了しても、前記第1の記録媒体に記録されている前記コンテンツのデータのデータ量が前記閾値未満にならないとき、前記第2の記録媒体にデータが記録されていないコンテンツについて、前記コンテンツの全体のデータを第2の記録媒体に記録させて、前記第1の記録媒体から前記コンテンツのデータの部分を消去するように、前記第1の記録媒体または前記第2の記録媒体への前記コンテンツのデータの記録を制御する
    ことを特徴とする請求項1に記載の記録装置。
  3. 前記記録制御手段は、所定の走査方式で前記コンテンツを走査する順に、前記コンテンツのデータの部分を前記第1の記録媒体から消去するように、前記第1の記録媒体への前記コンテンツのデータの記録を制御する
    ことを特徴とする請求項1に記載の記録装置。
  4. 前記記録制御手段は、行きがけ順、通りがけ順、または帰りがけ順の走査方式で前記コンテンツを走査する順に、前記コンテンツのデータの部分を前記第1の記録媒体から消去するように、前記第1の記録媒体への前記コンテンツのデータの記録を制御する
    ことを特徴とする請求項3に記載の記録装置。
  5. 前記コンテンツへのアクセスの履歴を記憶する記憶手段をさらに備え、
    前記記録制御手段は、前記コンテンツへのアクセスの履歴を基に、前記第1の記録媒体への前記コンテンツのデータの記録を制御する
    ことを特徴とする請求項1に記載の記録装置。
  6. 時間的に連続するコンテンツのデータを第1の記録媒体に記録し、前記コンテンツの全体のデータを第2の記録媒体に記録する記録装置の記録方法において、
    前記第1の記録媒体から前記コンテンツのデータの部分を消去するか否かを判定する判定ステップと、
    前記第1の記録媒体から前記コンテンツのデータの部分を消去する場合、前記第2の記録媒体に全体のデータが記録されている前記コンテンツのデータの部分を前記第1の記録媒体から消去し、前記第2の記録媒体に全体のデータが記録されている前記コンテンツのデータの部分を前記第1の記録媒体から消去しても、前記第1の記録媒体に記録されている前記コンテンツのデータのデータ量が所定の閾値未満にならないとき、前記コンテンツの全体のデータを前記第2の記録媒体に記録させた後前記第1の記録媒体から前記コンテンツのデータの部分を消去する処理が中断された前記コンテンツについて、中断された処理を再開させるか、または、前記第2の記録媒体にデータが記録されていないコンテンツについて、前記コンテンツの全体のデータを前記第2の記録媒体に記録させて、前記第1の記録媒体から前記コンテンツのデータの部分を消去するように、前記第1の記録媒体または前記第2の記録媒体への前記コンテンツのデータの記録を制御する記録制御ステップと
    を含むことを特徴とする記録方法。
  7. 時間的に連続するコンテンツのデータを第1の記録媒体に記録し、前記コンテンツの全体のデータを第2の記録媒体に記録する記録装置を制御するコンピュータに、
    前記第1の記録媒体から前記コンテンツのデータの部分を消去するか否かを判定する判定ステップと、
    前記第1の記録媒体から前記コンテンツのデータの部分を消去する場合、前記第2の記録媒体に全体のデータが記録されている前記コンテンツのデータの部分を前記第1の記録媒体から消去し、前記第2の記録媒体に全体のデータが記録されている前記コンテンツのデータの部分を前記第1の記録媒体から消去しても、前記第1の記録媒体に記録されている前記コンテンツのデータのデータ量が所定の閾値未満にならないとき、前記コンテンツの全体のデータを前記第2の記録媒体に記録させた後前記第1の記録媒体から前記コンテンツのデータの部分を消去する処理が中断された前記コンテンツについて、中断された処理を再開させるか、または、前記第2の記録媒体にデータが記録されていないコンテンツについて、前記コンテンツの全体のデータを前記第2の記録媒体に記録させて、前記第1の記録媒体から前記コンテンツのデータの部分を消去するように、前記第1の記録媒体または前記第2の記録媒体への前記コンテンツのデータの記録を制御する記録制御ステップと
    を含む処理を実行させるプログラム。
  8. 請求項7に記載のプログラムが記録されているプログラム記録媒体。
JP2005189817A 2005-06-29 2005-06-29 記録装置および方法、プログラム並びにプログラム記録媒体 Abandoned JP2007011565A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005189817A JP2007011565A (ja) 2005-06-29 2005-06-29 記録装置および方法、プログラム並びにプログラム記録媒体
KR1020060058648A KR20070001823A (ko) 2005-06-29 2006-06-28 기록 장치 및 방법, 프로그램 제품 및 프로그램 기록 매체
EP06253416A EP1739678A1 (en) 2005-06-29 2006-06-29 Recording device, method thereof, program product and program recording medium
US11/480,232 US20070122105A1 (en) 2005-06-29 2006-06-29 Recording device, method thereof, program product and program recording medium
CNB2006101212296A CN100445962C (zh) 2005-06-29 2006-06-29 记录设备及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005189817A JP2007011565A (ja) 2005-06-29 2005-06-29 記録装置および方法、プログラム並びにプログラム記録媒体

Publications (2)

Publication Number Publication Date
JP2007011565A true JP2007011565A (ja) 2007-01-18
JP2007011565A5 JP2007011565A5 (ja) 2007-04-05

Family

ID=37012101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005189817A Abandoned JP2007011565A (ja) 2005-06-29 2005-06-29 記録装置および方法、プログラム並びにプログラム記録媒体

Country Status (5)

Country Link
US (1) US20070122105A1 (ja)
EP (1) EP1739678A1 (ja)
JP (1) JP2007011565A (ja)
KR (1) KR20070001823A (ja)
CN (1) CN100445962C (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008250715A (ja) * 2007-03-30 2008-10-16 Kddi Corp データ配置管理システム及びその方法
EP2153972A2 (en) 2008-08-04 2010-02-17 Fujifilm Corporation Method for producing optical film, optical film, polarizer, optical compensatory film, antireflection film and liquid crystal display device
JPWO2010058790A1 (ja) * 2008-11-21 2012-04-19 日本電気株式会社 コンテンツ配信装置、コンテンツ配信制御方法、コンテンツ配信制御プログラム、キャッシュ制御装置
WO2018037464A1 (ja) * 2016-08-22 2018-03-01 株式会社エーピーコミュニケーションズ ストレージシステム、ストレージ通信装置、ダウンロード方法、及びコンピュータプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2439577B (en) * 2006-06-30 2011-12-14 Data Equation Ltd Data processing
KR101379878B1 (ko) * 2008-11-24 2014-03-31 삼성테크윈 주식회사 기록 장치에서의 제어 방법 및 이를 사용한 기록 장치
US9854055B2 (en) * 2011-02-28 2017-12-26 Nokia Technologies Oy Method and apparatus for providing proxy-based content discovery and delivery
CN103177127B (zh) * 2013-04-18 2016-03-09 陶光毅 基于光盘库的数据库存储系统及利用该系统的方法
US9262464B2 (en) * 2013-04-24 2016-02-16 Piriform Ltd. Cleaner with browser monitoring
JP7099487B2 (ja) * 2020-03-31 2022-07-12 横河電機株式会社 データ管理システム、データ管理方法、および、データ管理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1045672C (zh) * 1993-06-03 1999-10-13 世嘉企业股份有限公司 由盘再现数据的设备和方法、在盘上记录数据的方法和盘
US6188830B1 (en) * 1997-07-14 2001-02-13 Sony Corporation Audiovisual effects processing method and apparatus for instantaneous storage-based playback of audio data in synchronization with video data
US6023709A (en) * 1997-12-15 2000-02-08 International Business Machines Corporation Automated file error classification and correction in a hierarchical storage management system
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
US6625750B1 (en) * 1999-11-16 2003-09-23 Emc Corporation Hardware and software failover services for a file server
JP3778055B2 (ja) * 2001-11-02 2006-05-24 ソニー株式会社 記録再生装置及び記録再生方法
JP3727896B2 (ja) * 2002-03-29 2005-12-21 株式会社東芝 Hsmシステムおよび同システムのマイグレーション制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008250715A (ja) * 2007-03-30 2008-10-16 Kddi Corp データ配置管理システム及びその方法
EP2153972A2 (en) 2008-08-04 2010-02-17 Fujifilm Corporation Method for producing optical film, optical film, polarizer, optical compensatory film, antireflection film and liquid crystal display device
JPWO2010058790A1 (ja) * 2008-11-21 2012-04-19 日本電気株式会社 コンテンツ配信装置、コンテンツ配信制御方法、コンテンツ配信制御プログラム、キャッシュ制御装置
WO2018037464A1 (ja) * 2016-08-22 2018-03-01 株式会社エーピーコミュニケーションズ ストレージシステム、ストレージ通信装置、ダウンロード方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
KR20070001823A (ko) 2007-01-04
EP1739678A1 (en) 2007-01-03
CN1912851A (zh) 2007-02-14
CN100445962C (zh) 2008-12-24
US20070122105A1 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
JP2007011565A (ja) 記録装置および方法、プログラム並びにプログラム記録媒体
US9536565B2 (en) Media foundation media processor
US7809252B2 (en) Systems and methods for caching multimedia data
JP2008507160A (ja) バックグラウンド・トランスコード
US20050207732A1 (en) Method and apparatus for editing recorded program using virtual file system and file structure
JP2005012390A (ja) 情報作成装置および方法、再生装置および方法、並びにプログラム
EP1811519A2 (en) Recording apparatus, recording method, program, encoding apparatus, and encoding method
US20060257106A1 (en) Information storage medium, information recording apparatus, and information playback apparatus
KR100561479B1 (ko) 동영상으로 재생되는 복수개의 타이틀이 기록된정보저장매체, 그 재생 장치 및 재생 방법
CN1574050A (zh) 记录装置
JP4419919B2 (ja) 記録再生装置および方法、プログラム並びにプログラム記録媒体
JP2007011564A (ja) 記録装置および方法、プログラム並びにプログラム記録媒体
JP4186963B2 (ja) 記録装置および方法、読み出し装置および方法、並びにプログラム
JP2007535857A (ja) プログラミング機能を有するアプリケーションを記録した記録媒体、再生装置及びその再生方法
JP2004265507A (ja) 記録装置及び方法
WO2000058837A1 (fr) Gestion de fichiers, enregistrement/reproduction de donnees et dispositifs a cet effet
JP2001101050A (ja) ファイル管理方法
KR100644734B1 (ko) 기록/재생 장치, 기록/재생 방법 및 프리젠테이션 매체
JP2004272339A (ja) 蓄積制御装置、蓄積制御プログラムおよび蓄積制御方法
JP2007080148A (ja) 表示制御装置および方法、並びにプログラム
KR20000035410A (ko) 데이터 기록 장치 및 방법과, 데이터 재생 방법 및 기록매체
JP2007080147A (ja) 読み出し装置および方法、情報処理装置および方法、並びにプログラム
JP5005536B2 (ja) 動画データとアプリケーションプログラムとが記録された記録媒体、その再生装置及び方法
JP2006244669A (ja) 光ディスク再生装置及び光ディスク再生装置を制御する制御プログラム
KR20050038451A (ko) 대화형 광디스크의 부가 오디오 파일 관리 및 재생방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070215

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20090818