JP2007080147A - 読み出し装置および方法、情報処理装置および方法、並びにプログラム - Google Patents

読み出し装置および方法、情報処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP2007080147A
JP2007080147A JP2005269934A JP2005269934A JP2007080147A JP 2007080147 A JP2007080147 A JP 2007080147A JP 2005269934 A JP2005269934 A JP 2005269934A JP 2005269934 A JP2005269934 A JP 2005269934A JP 2007080147 A JP2007080147 A JP 2007080147A
Authority
JP
Japan
Prior art keywords
data
recording medium
reading
information
request
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.)
Pending
Application number
JP2005269934A
Other languages
English (en)
Inventor
Masashi Saito
応志 齊藤
Masaaki Isozaki
正明 五十崎
Masaaki Fukuda
昌昭 福田
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 JP2005269934A priority Critical patent/JP2007080147A/ja
Publication of JP2007080147A publication Critical patent/JP2007080147A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】リソースの占有を抑制して、迅速に読み出しする。
【解決手段】 光ディスク36は、時間的に連続するコンテンツの全体のデータを記録している。HDD34は、コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたはコンテンツに関係する情報を記録している。ストレージマネージャ12は、通常モードのコマンドに応じて、光ディスク36またはHDD34からデータまたは情報を読み出し、エスケープリロードモードのコマンドに応じて、光ディスク36からの読み出しを抑制するとともに、HDD34からデータまたは情報を読み出すように、読み出しを制御する。本発明は、コンテンツを再生する記録再生システムに適用できる。
【選択図】図1

Description

本発明は読み出し装置および方法、情報処理装置および方法、並びにプログラムに関し、特に、コンテンツのデータまたはコンテンツに関係する情報を読み出すか、読み出されたコンテンツのデータまたはコンテンツに関係する情報を処理する読み出し装置および方法、情報処理装置および方法、並びにプログラムに関する。
複数の記録媒体に、コンテンツのデータを記録し、記録媒体のドライブへの装着を自動化することで、多量のコンテンツを簡単に取り扱えるようにした記録再生システムがある。
記録媒体のドライブへの装着には一定の時間がかかり、その時間だけ、記録媒体からの読み出しが待たされることになる。
これに対応するために、HSM(Hierarchical Storage Management:階層型記憶域管理)ソフトウェアの使用が考えられる。HSMソフトウェアは、ハードディスクなどの高速な補助記録装置に保存されているファイルを、より低速で安価な記録媒体に自動的に移動する管理を行う(例えば、特許文献1参照)。
HSMにおいては、コンピュータのハードディスク上に存在するファイルが、より経済的なリムーバブルメディア(例えば、DTF(Digital Tape Format)の磁気テープなどの記録媒体)に移動され、ハードディスクの見かけの記録容量が大きくされる。リムーバブルメディアに移動されたファイルを利用する必要が生じた場合、リムーバブルメディアに移動されたファイルが再びハードディスクに戻される。
ここで、ハードディスク上のファイルをリムーバブルメディアにコピーして、ハードディスク上にある元のファイルを縮小することは、マイグレーション(Migration)と称され、マイグレーションされたファイルをハードディスク上に復元することは、リロードと称される。
特開2003−296151号公報
HSMを含めたキャッシュシステムにおいて、キャッシュミスしたアクセスがあった場合、キャッシュ元の記録媒体から、キャッシュ先の記録媒体へのデータの複写が実行されるが、このデータの複写に時間がかかり、また複写に、リソースの多くが消費されてしまう。
キャッシュ先となるハードディスク上に、存在しないファイルまたはファイルの一部に対して読み出しアクセスがあった場合、キャッシュ元となるリムーバブルメディアから、ファイルがリロードされる。このリロードの処理では、特定のリムーバブルメディアを選択し、選択したリムーバブルメディアをドライブにセットするのに必要な時間や、低速なリムーバブルメディアからの読み出しに必要な時間などといったタイムロスが発生する。
ビデオサーバを想定すると、クライアントにおいて、コンテンツの一覧のマルチ画面を表示する場合、複数のファイルに対して、読み出しアクセスの処理が生じてしまい、それらのファイルに対してリロードの処理が実行されてしまうと、ハードウェアリソースであるドライブが長時間占有されてしまうことになる。さらに、マルチ画面の作成においても、リロードの待ち時間が生じてしまうことになる。この場合、マルチ画面の表示中に、別のクライアントからの再生要求する受け付けることができなくなることがある。
マルチ画面を表示する目的は、複数のコンテンツのそれぞれの内容をより速く使用者に認識させることにあり、これにより、所望のコンテンツを迅速に選択できるようにするものである。このマルチ画面の表示において、動画ファイルの本編の全てを読み出す必要はない。また、キャッシュミスした場合に、ハードウェアリソースであるドライブを長時間占有し、リロードに要する時間だけ待つよりも、ハードディスクに既に存在しているデータだけを用いて繰り返しマルチ画面を再生し表示させる方が効率的であると言える。
本発明は、このような状況に鑑みてなされたものであり、リソースの占有を抑制して、迅速に読み出しすることができるようにするものである。
本発明の第1の側面の読み出し装置は、時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体と、コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたはコンテンツに関係する情報を記録している第2の記録媒体と、第1の要求に応じて、第2の記録媒体または第1の記録媒体からデータまたは情報を読み出し、第2の要求に応じて、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータまたは情報を読み出すように、第1の記録媒体または第2の記録媒体からのデータまたは情報の読み出しを制御する読み出し制御手段とを備える読み出し装置である。
第2の記録媒体は、コンテンツの全体が分割されてなる複数の部分のデータの属性に関するデータ属性情報である、コンテンツに関係する情報を記録し、読み出し制御手段は、第2の要求に応じて、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータ属性情報を読み出すように、第1の記録媒体または第2の記録媒体からの情報の読み出しを制御するようにすることができる。
第2の記録媒体に記録されているデータ属性情報は、それぞれの部分について、コンテンツの全体のデータにおける、部分のデータの位置、部分のデータのデータ量、および部分のデータが第2の記録媒体に記録されているか否かを示すようにすることができる。
読み出し制御手段は、第1の要求または第2の要求のいずれか一方を示すフラグを基に、第1の要求である場合、第2の記録媒体または第1の記録媒体からデータまたは情報を読み出し、第2の要求である場合、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータまたは情報を読み出すように、第1の記録媒体または第2の記録媒体からのデータまたは情報の読み出しを制御するようにすることができる。
読み出し制御手段は、第1のポートを介した第1の要求に応じて、第2の記録媒体または第1の記録媒体からデータまたは情報を読み出し、第2のポートを介した第2の要求に応じて、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータまたは情報を読み出すように、第1の記録媒体または第2の記録媒体からのデータまたは情報の読み出しを制御するようにすることができる。
読み出し制御手段は、第1の要求に応じて、第2の記録媒体または第1の記録媒体からデータを読み出し、第2の要求に応じて、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータを読み出すように、第1の記録媒体または第2の記録媒体からのデータの読み出しを制御するようにすることができる。
読み出し制御手段は、第2の要求に応じて、要求されたデータが第2の記録媒体に記録されている場合、第2の記録媒体からデータを読み出し、要求されたデータが第2の記録媒体に記録されていない場合、予め定めた代替のデータを出力するように、第1の記録媒体または第2の記録媒体からのデータの読み出しを制御するようにすることができる。
本発明の第1の側面の読み出し方法は、時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体と、コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたはコンテンツに関係する情報を記録している第2の記録媒体とからデータまたは情報を読み出す読み出し方法であって、第1の要求に応じて、第2の記録媒体または第1の記録媒体からデータまたは情報を読み出し、第2の要求に応じて、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータまたは情報を読み出すように、第1の記録媒体または第2の記録媒体からのデータまたは情報の読み出しを制御する読み出し制御ステップを含む読み出し方法である。
本発明の第1の側面のプログラムは、時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体と、コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたはコンテンツに関係する情報を記録している第2の記録媒体とからデータまたは情報を読み出す読み出し処理を、コンピュータに行わせるプログラムであって、第1の要求に応じて、第2の記録媒体または第1の記録媒体からデータまたは情報を読み出し、第2の要求に応じて、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータまたは情報を読み出すように、第1の記録媒体または第2の記録媒体からのデータまたは情報の読み出しを制御する読み出し制御ステップを含むプログラムである。
本発明の第1の側面においては、第1の要求に応じて、第2の記録媒体または第1の記録媒体からデータまたは情報を読み出し、第2の要求に応じて、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータまたは情報を読み出すように、第1の記録媒体または第2の記録媒体からのデータまたは情報の読み出しが制御される。
本発明の第2の側面の情報処理装置は、第2の記録媒体または第1の記録媒体からデータまたは情報の読み出しを要求する第1の要求を送信するか、第1の記録媒体からの読み出しを抑制させるとともに、第2の記録媒体からのデータまたは情報の読み出しを要求する第2の要求を送信するように、読み出し装置への要求の送信を制御する送信制御手段を備える情報処理装置である。
送信制御手段は、第1の記録媒体からの読み出しを抑制させるとともに、コンテンツの全体が分割されてなる複数の部分のデータの属性に関するデータ属性情報である、コンテンツに関係する情報を記録している第2の記録媒体からのデータ属性情報の読み出しを要求する第2の要求を送信するように、読み出し装置への要求の送信を制御するようにすることができる。
送信制御手段は、第1の要求または第2の要求のいずれか一方を示すフラグを付加した要求の読み出し装置への送信を制御するようにすることができる。
送信制御手段は、第1のポートを介して第1の要求を送信し、第2のポートを介して第2の要求を送信するように、読み出し装置への要求の送信を制御するようにすることができる。
送信制御手段は、第2の記録媒体または第1の記録媒体からデータの読み出しを要求する第1の要求を送信するか、第1の記録媒体からの読み出しを抑制させるとともに、第2の記録媒体からのデータの読み出しを要求する第2の要求を送信するように、読み出し装置への要求の送信を制御するようにすることができる。
本発明の第2の側面の情報処理方法は、第2の記録媒体または第1の記録媒体からデータまたは情報の読み出しを要求する第1の要求を送信するか、第1の記録媒体からの読み出しを抑制させるとともに、第2の記録媒体からのデータまたは情報の読み出しを要求する第2の要求を送信するように、読み出し装置への要求の送信を制御する送信制御ステップを含む情報処理方法である。
本発明の第2の側面のプログラムは、第2の記録媒体または第1の記録媒体からデータまたは情報の読み出しを要求する第1の要求を送信するか、第1の記録媒体からの読み出しを抑制させるとともに、第2の記録媒体からのデータまたは情報の読み出しを要求する第2の要求を送信するように、読み出し装置への要求の送信を制御する送信制御ステップを含むプログラムである。
本発明の第2の側面においては、第2の記録媒体または第1の記録媒体からデータまたは情報の読み出しを要求する第1の要求を送信するか、第1の記録媒体からの読み出しを抑制させるとともに、第2の記録媒体からのデータまたは情報の読み出しを要求する第2の要求を送信するように、読み出し装置への要求の送信が制御される。
以上のように、本発明の第1の側面によれば、データまたは情報を読み出すことができる。
また、本発明の第1の側面によれば、リソースの占有を抑制して、迅速に読み出しすることができる。
本発明の第2の側面によれば、読み出し装置からデータまたは情報を読み出すことができる。
また、本発明の第2の側面によれば、読み出し装置におけるリソースの占有を抑制して、迅速に読み出しすることができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の第1の側面の読み出し装置は、時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体(例えば、図1の光ディスク36−1)と、コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたはコンテンツに関係する情報を記録している第2の記録媒体(例えば、図1のHDD34)と、第1の要求に応じて、第2の記録媒体または第1の記録媒体からデータまたは情報を読み出し、第2の要求に応じて、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータまたは情報を読み出すように、第1の記録媒体または第2の記録媒体からのデータまたは情報の読み出しを制御する読み出し制御手段(例えば、図1のストレージマネージャ12)とを備える。
本発明の第1の側面の読み出し方法またはプログラムは、第1の要求に応じて、第2の記録媒体または第1の記録媒体からデータまたは情報を読み出し、第2の要求に応じて、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータまたは情報を読み出すように、第1の記録媒体または第2の記録媒体からのデータまたは情報の読み出しを制御する読み出し制御ステップ(図14のステップS17)を含む。
本発明の第2の側面の情報処理装置は、第2の記録媒体または第1の記録媒体からデータまたは情報の読み出しを要求する第1の要求を送信するか、第1の記録媒体からの読み出しを抑制させるとともに、第2の記録媒体からのデータまたは情報の読み出しを要求する第2の要求を送信するように、読み出し装置への要求の送信を制御する送信制御手段(図16のクライアントプログラム322を実行するクライアント303のCPU401(図17))を備える。
本発明の第2の側面の読み出し方法またはプログラムは、第2の記録媒体または第1の記録媒体からデータまたは情報の読み出しを要求する第1の要求を送信するか、第1の記録媒体からの読み出しを抑制させるとともに、第2の記録媒体からのデータまたは情報の読み出しを要求する第2の要求を送信するように、読み出し装置への要求の送信を制御する送信制御ステップ(例えば、図7のステップS108)を含む。
例えば、マルチ画面などのダイジェスト画像を作成するアプリケーションにおいては、ハードディスクに存在しない部分にアクセスさせないようにするため、予めその部分を通知する仕組みを提供し、さらにアプリケーションがハードディスクに存在しない部分にアクセスしたとしても、キャッシュ元からの複写を行わないようにしたものである。
図1は、本発明の一実施の形態の記録再生システム1の構成を示すブロック図である。記録再生システム1は、ビデオプレーヤ11、ストレージマネージャ12、およびHSM13を含むように構成されている。
ビデオプレーヤ11は、ストレージマネージャ12を介して、HSM13から供給されたストリーム(コンテンツのデータ)を基に、コンテンツを再生する。例えば、コンテンツは、画像または音声である。例えば、コンテンツのデータは、MPEG(Moving Pictures Experts Group)方式で符号化されている。
また、ビデオプレーヤ11は、使用者とのインターフェースの機能を有し、使用者からの指示を取得するか、使用者に記録再生システム1に関する各種の情報を通知する。
ストレージマネージャ12は、HSM13によって管理されているコンテンツをビデオプレーヤ11に提供する。ストレージマネージャ12は、ビデオプレーヤ11からの要求を基に、HSM13からのコンテンツのデータの読み出しを制御する。
HSM13は、記録媒体へのコンテンツのデータの階層的な記録を管理する(階層構造の記録媒体へのコンテンツのデータの記録を管理するとも言える)。HSM13は、ストレージマネージャ12の制御の基に、記録媒体に記録しているデータをストリームデータとして、ストレージマネージャ12に供給する。
ビデオプレーヤ11は、再生プログラム31およびビデオアウトインターフェース32を含む。再生プログラム31は、ストレージマネージャ12に、リードコマンドを発行するか、ステータスを要求する。ここで、ステータスとは、コンテンツの部分の記録の状態を言う。また、再生プログラム31は、ストレージマネージャ12を介して、HSM13から供給された、ステータスを示すファイルステータス情報を基に、ストレージマネージャ12にストリームを要求する。ファイルステータス情報の詳細は後述する。
再生プログラム31は、ストレージマネージャ12を介して、HSM13から供給されたストリームデータまたはダミーデータを基に、コンテンツを再生し、ビデオアウトインターフェース32を介して、接続されている機器にコンテンツを表示させる。
再生プログラム31は、デコーダ51、ダイジェスト画面生成アプリケーションプログラム52、および動画再生アプリケーションプログラム53を含む。デコーダ51は、ストレージマネージャ12を介して、HSM13から供給されたストリームデータを復号する。ダイジェスト画面生成アプリケーションプログラム52は、複数のコンテンツのそれぞれについて、マルチ画面で、ダイジェスト用の短いシーン(動画)からなるコンテンツ一覧を表示させる。例えば、ダイジェスト画面生成アプリケーションプログラム52は、ストレージマネージャ12を介して、HSM13から供給されたストリームデータまたはダミーデータを基に、コンテンツの一覧を生成して、ビデオアウトインターフェース32を介して、接続されている機器にコンテンツの一覧を表示させる。
動画再生アプリケーションプログラム53は、コンテンツである動画像を再生する。動画再生アプリケーションプログラム53は、ストレージマネージャ12を介して、HSM13から供給されたストリームデータを基に、コンテンツを再生して、ビデオアウトインターフェース32を介して、接続されている機器にコンテンツを表示させる。
HSM13は、マイグレーションファイルシステム33、HDD34、ドライブ35、光ディスク36−1乃至光ディスク36−N、セレクタ37、キャッシュテーブル38、ボリウムテーブル39を含む。
マイグレーションファイルシステム33は、HDD34または光ディスク36−1乃至光ディスク36−Nのいずれかからデータまたは各種の情報を読み出す処理を制御する。マイグレーションファイルシステム33は、光ディスク36−1乃至光ディスク36−NのいずれかからHDD34にデータを読み出す(リロードする)処理を制御し、HDD34から光ディスク36−1乃至光ディスク36−Nのいずれかにデータを書き込む処理を制御する。
HDD34は、コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたはコンテンツに関係する情報を記録している記録媒体の一例である。HSM13は、HDD34に記録されているデータをストリームデータとして読み出すか、また、HDD34に記録されているコンテンツに関係する情報を読み出す。HDD34から読み出されたストリームデータまたはコンテンツに関係する情報は、セレクタ37を介して、マイグレーションファイルシステム33に供給される。
ドライブ35は、光ディスク36−1乃至光ディスク36−Nのいずれかを装着し、装着されている光ディスク36−1乃至光ディスク36−Nのいずれかに記録されているデータをストリームデータとして読み出す。ドライブ35によって読み出されたストリームデータは、HDD34にリロードされるか、セレクタ37を介して、マイグレーションファイルシステム33に供給される。
光ディスク36−1乃至光ディスク36−Nは、コンテンツの全体のデータを記録している記録媒体の一例であり、例えば、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)、またはCD(Compact Disc)などである。
以下、光ディスク36−1乃至光ディスク36−Nを個々に区別する必要がない場合、単に、光ディスク36と称する。
セレクタ37は、HDD34から読み出されたストリームデータ若しくはコンテンツに関係する情報をマイグレーションファイルシステム33に供給させるか、またはドライブ35によって光ディスク36−1乃至光ディスク36−Nのいずれかから読み出されたストリームデータをHDD34に供給させるかいずれか一方を選択する。
または、セレクタ37は、HDD34から読み出されたストリームデータ若しくはコンテンツに関係する情報、またはドライブ35によって光ディスク36−1乃至光ディスク36−Nのいずれかから読み出されたストリームデータのいずれか一方を選択するようにしてもよい。この場合、HDD34から読み出されたストリームデータ若しくはコンテンツに関係する情報、またはドライブ35によって光ディスク36−1乃至光ディスク36−Nのいずれかから読み出されたストリームデータの選択されたいずれか一方は、マイグレーションファイルシステム33に供給される。
HSM13は、ファイルへのアクセスを監視し、アクセス(要求)に応じて、光ディスク36−1乃至光ディスク36−Nのいずれかを選択する。HSM13は、選択した光ディスク36−1乃至光ディスク36−Nのいずれかをドライブ35に装着させて、光ディスク36−1乃至光ディスク36−Nのいずれかに記録されているコンテンツのデータをHDD34にリロードさせる。
キャッシュテーブル38は、コンテンツに関係する情報を記録する。キャッシュテーブル38は、ストレージマネージャ12からの要求に応じて、コンテンツに関係する情報を、ステータスとして、ストレージマネージャ12に供給する。
ボリウムテーブル39は、光ディスク36−1乃至光ディスク36−Nを管理するための情報を格納する。
実際には、キャッシュテーブル38およびボリウムテーブル39は、HDD34に構築される。
図2は、記録再生システム1のより詳細な構成を示すブロック図である。記録再生システム1は、ビデオプレーヤ11、ストレージマネージャ12、HSM13、コンテンツマネージャ101、チェンジャドライバ102、ジュークボックス制御部103、およびジュークボックス104から構成される。
ビデオプレーヤ11は、ストリームまたはダミーデータの復号により得られた出力画像信号および音声信号(図示せず)をモニタ71に供給する。モニタ71は、出力画像信号を基にして、画像を表示すると共に、供給された音声信号を基にして、音声を出力する。
コンテンツマネージャ101は、記録再生システム1に記録されているコンテンツの内容を管理し、コンテンツの内容を検索する。コンテンツマネージャ101は、コンテンツに関する各種の情報の記録しているコンテンツデータベース(DB)121からのコンテンツに関する情報の読み出しを制御する。
図3で示されるように、コンテンツデータベース121には、コンテンツに関する情報として、コンテンツに関連するファイルの情報(例えば、ファイル名、パス名など)、コンテンツの内容および付加情報(例えば、コンテンツの名前、コンテンツのジャンルなど)、コンテンツの圧縮形式(方式)、再生時間、およびインデックス情報(例えば、コンテンツにおけるインデックスの位置など)、並びにアクセス可能なユーザ(使用者)のユーザ情報(例えば、使用者の名前、パスワードなど)などが記録される。
ストレージマネージャ12は、HSM13を上位から制御する。すなわち、ストレージマネージャ12は、ビデオプレーヤ11からの要求に基づいて、HSM13を制御する。ストレージマネージャ12には、システムマネージャ122およびファイルI/Oマネージャ123が設けられている。
システムマネージャ122は、ストレージ制御関連のシステムを設定し、システムログを記録し、エラーログを管理し、メンテナンス処理を実行する。ファイルI/Oマネージャ123は、ビデオプレーヤ11からのファイルの読み出しの要求を受け付ける。ファイルI/Oマネージャ123は、HDD34に記録されているコンテンツのファイルの、例えば、画像コンテンツまたは音楽コンテンツの一部分である、指定された一部分のデータをスタブデータとして保持するスタブファイル(状態)への変換を指示する。ファイルI/Oマネージャ123は、光ディスク36からHDD34へのデータの読み出し(リロード)の処理の中断または再開を指示する。さらに、ファイルI/Oマネージャ123は、HDD34から光ディスク36へのデータの書き込みの処理の中断または再開を指示する。
HSM13は、HDD34、ドライブ35、光ディスク36、ジュークシステム128、ディスクスロット130、およびピッカー131を仮想ストレージ化し、HDD34および光ディスク36によるコンテンツのデータの階層的な記録を制御する。HSM13は、マイグレーションファイルシステム33、ストレージサーバ124、ストアデータベース(DB)125、メディアサーバ126、およびボリウムデータベース(DB)127を含むように構成される。
マイグレーションファイルシステム33は、HSM13のキャッシュテーブル38に管理されているファイルの拡張属性を管理し、拡張属性を書き換える。マイグレーションファイルシステム33は、HSM13に管理されているファイルに対するアクセスイベントを管理する。マイグレーションファイルシステム33は、光ディスク36からHDD34にデータを読み出す処理を制御し、HDD34から光ディスク36にデータを書き込む処理を制御する。
ストレージサーバ124は、光ディスク36からHDD34にデータに読み出すか、または、HDD34から光ディスク36にデータを書き込む。また、ストレージサーバ124は、HDD34に記録されている、コンテンツのデータを格納するキャッシュファイルに関する情報のストアデータベース125への記録およびキャッシュファイルに関する情報のストアデータベース125からの読み出しを管理する。また、ストレージサーバ124は、コンテンツのデータの全体と、そのデータが記録されている光ディスク36とのリンク情報を管理する。
ストアデータベース125は、コンテンツのデータを格納するキャッシュファイルであって、HDD34に記録されているキャッシュファイルに関する情報を記録する。
図3で示されるように、ストアデータベース125には、HDD34に記録されているキャッシュファイル名と、キャッシュファイルを特定するための値であるキャッシュファイルIDとの関連付けが格納される。また、ストアデータベース125には、キャッシュファイルが書き込まれた時間またはキャッシュファイルが最後にアクセスされた時間を示すキャッシュファイルデート情報、並びに全体のデータが保存されている光ディスク36を特定するボリウムIDが記録されている。さらに、ストアデータベース125には、ジュークボックス104内の各光ディスク36の空き容量が記録される。
メディアサーバ126は、それぞれのディスクスロット130に格納されている光ディスク36を管理する。メディアサーバ126は、チェンジャドライバ102に対し、指定された光ディスク36のドライブ35への装着(マウント)を要求する。また、メディアサーバ126は、チェンジャドライバ102に対し、ドライブ35に装着されている光ディスク36のディスクスロット130への格納(アンマウント)を要求する。
メディアサーバ126に設けられているボリウムデータベース127は、光ディスク36に関係する情報を格納する。なお、ボリウムデータベース127は、図1のボリウムテーブル39に対応する。
図3で示されるように、ボリウムデータベース127には、各光ディスク36の生ディスク状態での記録容量、並びに各光ディスク36のメディアとしての種類(MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)+R、またはDVD+RWなど)と書き込み専用または読み書き可能などの属性が記録される。また、ボリウムデータベース127には、ジュークボックス104内の各ディスクスロット130に格納されている光ディスク36のボリウムID、およびジュークボックス104に搭載されているドライブ35の使用状況が記録される。
チェンジャドライバ102は、ドライブ35を制御し、ジュークボックス制御部103とHSM13とのインターフェースの機能を有する。
ジュークボックス制御部103は、ジュークシステム128およびジュークサーボ169を含む。ジュークシステム128は、ドライブ35、光ディスク36、ディスクスロット130、およびピッカー131からなるジュークボックス104を制御する。ジュークサーボ169は、ジュークボックス104を駆動する。
ジュークシステム128は、ドライブ35への光ディスク36の着脱を制御する。ジュークシステム128は、複数の光ディスク36のそれぞれを格納するディスクスロット130からいずれかの光ディスク36をピッカー131に選択させる。ピッカー131は、ジュークシステム128の制御の基に、選択した光ディスク36を搬送し、ドライブ35に装着させる。また、ピッカー131は、ジュークシステム128の制御の基に、ドライブ35から取り出された光ディスク36を搬送して、いずれかのディスクスロット130に格納させる。
なお、コンテンツデータベース121、ストアデータベース125、およびボリウムデータベース127のそれぞれに記録されているデータを、1つのデータベースに記録するようにしてもよい。
また、図3で示されるように、コンテンツの拡張属性として、キャッシュファイルにおけるコンテンツの部分についての領域情報、コンテンツのどの部分をキャッシュファイルとしてHDD34に記録するかのヒントを示すヒント情報、およびキャッシュファイルIDがマイグレーションファイルシステム33のキャッシュテーブル38に記録される。
より詳細には、領域情報は、キャッシュファイルにおけるコンテンツの部分についての、コンテンツのデータの先頭からその部分の先頭までのオフセット値(バイト)を示すオフセット、コンテンツの部分のデータ量を示すサイズ、および、詳細は後述するが、コンテンツの部分がストア済みであるかまたはホール状態であるかを示すフラグを含む。また、ヒント情報は、コンテンツのどの部分をキャッシュファイルとしてHDD34に記録するかを示し、コンテンツのデータの先頭からその部分の先頭までのオフセット値(バイト)を示すヒントオフセット、コンテンツの部分のデータ量を示すヒントサイズ、詳細は後述するが、部分の属性を示すリージョンフラッグス、および、この部分をマイグレーションする場合の優先順位を示すヒントプライオリティなどからなる。
さらに、図3で示されるように、コンテンツを格納するファイルの属性として、読み出し専用(リードオンリ)または読み書き(リードライト)可能であるかを示す情報がファイルシステムによって記録される。
なお、コンテンツデータベース121、ストアデータベース125、およびボリウムデータベース127は、HDD34に構築され、図3で示される情報は、HDD34に記録される。
次に、図4乃至図6を参照して、HDD34に記録されるキャッシュファイルおよびキャッシュファイルを用いたコンテンツのデータの読み出しについて説明する。
図4は、HDD34に記録されるキャッシュファイルの状態を説明する図である。コンテンツは、キャッシュファイルとしてHDD34(のキャッシュ領域)に書き込まれる。図4で示されるように、入力されたストリーム(コンテンツ)の全体のデータが記録されたキャッシュファイルの状態を、レギュラー状態と称する。
ジュークボックス104の空き時間において実行される、HDD34に記録されているレギュラー状態のキャッシュファイルを光ディスク36に書き込むシャドウド化によって、コンテンツの全体は、HDD34に記録されると共に、光ディスク36にも記録される。コンテンツの全体のデータがHDD34に記録されると共に光ディスク36に記録されている場合の、キャッシュファイルの状態をビットファイル状態と称する。
キャッシュファイルがレギュラー状態またはビットファイル状態である場合、言い換えれば、ストリームの全体、すなわち、コンテンツのデータの全体がHDD34に記録されている場合、コンテンツのデータの全体は、HDD34から読み出されるので、高速に、コンテンツのデータを読み出すことができる。しかし、キャッシュファイルがレギュラー状態またはビットファイル状態である場合、キャッシュファイルのデータ量が多いので、多数のコンテンツについて、レギュラー状態またはビットファイル状態のキャッシュファイルをHDD34に記録していると、HDD34の記録領域の消費量が大きくなり、HDD34がすぐに一杯になってしまう(HDD34の全ての記録領域にデータが記録された状態になってしまう)。
そこで、例えば、キャッシュファイルがHDD34に記録されてからの経過時間を参照して、古いキャッシュファイルから順に、コンテンツの全体のデータを光ディスク36に記録させて、HDD34に記録しているキャッシュファイルのデータ量を小さくすることで、HDD34に記録されるキャッシュファイルのデータ量の総量を一定の範囲内に納めることができる。
図4で示されるように、コンテンツの全体のデータが記録されていないが、コンテンツのデータの所定の部分が記録されたキャッシュファイルの状態を、スタブファイル状態と称する。特に、コンテンツのデータの所定の部分であって、複数の部分が記録されたキャッシュファイルの状態を、マルチスタブ状態と称する。キャッシュファイルからコンテンツのデータの全てを無くし、コンテンツの拡張属性およびキャッシュファイルIDだけをHDD34に記録している状態を、例外的に、ゼロスタブ状態と称する。
ここで、スタブとは、キャッシュファイルとして、HDD34のキャッシュ領域に記録されているデータに対応するコンテンツの部分をいう。スタブ領域とは、スタブデータがHDD34に記録されているコンテンツ上の領域、すなわち、スタブの領域をいう。ホール領域とは、スタブデータがHDD34に記録されていないコンテンツ上の領域をいう。
スタブ領域およびホール領域を区別しない場合、単に領域と称する。
図2を参照して、領域および拡張属性における領域情報について説明する。図5で示す例において、コンテンツのデータの先頭に、スタブ領域が配置され、そのスタブ領域に続いて、ホール領域が配置されている。また、そのホール領域に続いて、スタブ領域が配置され、さらに、そのスタブ領域に続いて、ホール領域が配置されている。言い換えれば、コンテンツの先頭の部分のデータであるスタブデータは、HDD34のキャッシュファイルに記録され(ストア済みとされ)、コンテンツの先頭のその部分に続く領域であって、所定の長さの領域のデータは、HDD34のキャッシュファイルに記録されていない(ホール状態とされる)。また、そのホール状態の領域に続く、コンテンツの所定の部分のデータであるスタブデータは、HDD34のキャッシュファイルに記録され(ストア済みとされ)、その部分に続く領域であって、所定の長さの領域のデータは、HDD34のキャッシュファイルに記録されていない(ホール状態とされる)。すなわち、コンテンツの部分のデータがHDD34のキャッシュファイルに記録されている領域と、記録されていない領域とが交互に配置される。
領域情報は、領域それぞれの、領域番号、オフセット、サイズ、およびフラグを含む。領域番号は、ファイルの先頭から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であるフラグが付加される。
このように、コンテンツの拡張属性における領域情報は、キャッシュファイルにおける各領域の状態を示す。領域情報を参照することにより、キャッシュファイルにおける領域の状態を知ることができる。
図6は、スタブ領域のスタブデータの構成の例を示す図である。図6で示されるように、HDD34に記録されているスタブデータは、シーケンスヘッダおよびGOP(Group of Pictures)とからなる。GOPには、所定の数(N枚)のピクチャが含まれる。
スタブデータが、コンテンツのデータの一部であっても、十分な数のシーケンスヘッダおよびGOPとからなっていれば、デコーダ51は、スタブデータを短い動画像または静止画像として復号し、ダイジェスト画面生成アプリケーションプログラム52は、復号された短い動画像または静止画像をモニタ71に表示させることができる。
次に、図7のフローチャートを参照して、複数のコンテンツのそれぞれの動画のシーンをマルチ画面で表示する、コンテンツの一覧の表示の処理を説明する。ステップS101において、再生プログラム31は、使用者に操作された図示せぬスイッチまたはリモートコントローラなどからの信号を基に、使用者からの指示を取得する。使用者からのダイジェスト画面を表示させる旨の指示を取得すると、ステップS102において、ダイジェスト画面生成アプリケーションプログラム52は、ストレージマネージャ12に、所定のコマンドを送信することによって、コンテンツを格納する記録領域のうちのルートフォルダ(以下、コンテンツのルートフォルダと称する)の情報を要求する。ステップS201において、ストレージマネージャ12は、ダイジェスト画面生成アプリケーションプログラム52からの、コンテンツのルートフォルダの情報の要求を受信する。すなわち、ストレージマネージャ12は、ダイジェスト画面生成アプリケーションプログラム52から送信されてきたコマンドを受信する。
ステップS202において、ストレージマネージャ12は、コンテンツのルートフォルダの情報をビデオプレーヤ11に送信する。例えば、ステップS202において、ストレージマネージャ12は、コンテンツマネージャ101から、ルートフォルダのコンテンツに関する情報を読み出して、そのルートフォルダのコンテンツに関する情報をビデオプレーヤ11に送信する。
ステップS103において、ビデオプレーヤ11のダイジェスト画面生成アプリケーションプログラム52は、ストレージマネージャ12から送信されてきた、コンテンツのルートフォルダの情報を受信する。
ステップS104において、ダイジェスト画面生成アプリケーションプログラム52は、ビデオアウトインターフェース32を介してモニタ71に、コンテンツのルートフォルダの情報に応じた出力画像信号を供給することにより、モニタ71にコンテンツのルートフォルダの情報を表示させる。
使用者は、モニタ71に表示されたコンテンツのルートフォルダの情報を見て、図示せぬスイッチまたはリモートコントローラなどを操作することで、フォルダを選択するので、ステップS105において、再生プログラム31は、使用者に操作された図示せぬスイッチまたはリモートコントローラなどからの信号を基に、使用者からのフォルダの選択の指示を取得する。フォルダの選択の指示を取得すると、ステップS106において、ダイジェスト画面生成アプリケーションプログラム52は、ストレージマネージャ12に、所定のコマンドを送信することによって、選択されたフォルダ内のファイルの一覧を要求する。
ステップS203において、ストレージマネージャ12は、ダイジェスト画面生成アプリケーションプログラム52からの、選択されたフォルダ内のファイルの一覧の要求を受信する。すなわち、ストレージマネージャ12は、ダイジェスト画面生成アプリケーションプログラム52から送信されてきたコマンドを受信する。
ステップS204において、ストレージマネージャ12は、選択されたフォルダ内のファイルの一覧を送信する。例えば、ステップS204において、ストレージマネージャ12は、コンテンツマネージャ101から、選択されたフォルダ内のファイルに格納されているコンテンツに関連するファイル情報を読み出して、そのコンテンツに関する情報を、ファイルの一覧としてビデオプレーヤ11に送信する。
ステップS107において、ダイジェスト画面生成アプリケーションプログラム52は、ストレージマネージャ12から送信されてきた、選択されたフォルダ内のファイルの一覧を受信する。
ステップS108において、ダイジェスト画面生成アプリケーションプログラム52は、フォルダ内のファイルの一覧を基に、フォルダ内のファイルのそれぞれのステータスをストレージマネージャ12に要求する。
例えば、ステップS108において、ダイジェスト画面生成アプリケーションプログラム52は、ファイルの一覧としてストレージマネージャ12から送信されてきたコンテンツに関連するファイル情報に含まれているファイル名を含むコマンドをストレージマネージャ12に送信することにより、ファイルのステータスをストレージマネージャ12に要求する。
図8は、ファイルのステータスを要求するコマンドの一例を示す図である。図8で示されるコマンドの1行目には、XML(eXtensible Mark-up Language)方式であることを示す<?xml version="1.0"?>タグが配置されている。
コマンドの本文に配置されている<Filename>タグおよび</Filename>タグの間に配置されている/fs0/VIDEO_1/biwako.mpgは、パス名を含んでいるファイル名であって、ステータスを要求するファイルのファイル名(キャッシュファイル名)である。
例えば、1つのコマンドで複数のファイルのステータスを要求する場合、コマンドの本文に複数の<Filename>タグおよび</Filename>タグが配置され、それぞれの間に、個々のファイルのファイル名が配置される。
ステップS205において、ストレージマネージャ12は、ビデオプレーヤ11から送信されてきた、フォルダ内のファイルのそれぞれのステータスの要求を受信する。例えば、ステップS205において、ストレージマネージャ12は、ビデオプレーヤ11から送信されてきたコマンドを受信する。
ステップS206において、ストレージマネージャ12は、ファイルのそれぞれについて、拡張属性を参照して、領域のステータスを取得する。例えば、ステップS206において、ストレージマネージャ12は、ファイルのそれぞれについて、HSM13のストアデータベース125から、ファイル名に関連付けて格納されている、キャッシュファイルを特定するための値であるキャッシュファイルIDを読み出す。そして、ストレージマネージャ12は、ファイルのそれぞれについて、HSM13のキャッシュテーブル38から、拡張属性を参照して、キャッシュファイルIDに対応して記録されている領域情報を読み出すことによって、領域のステータスを取得する。
ステップS207において、ストレージマネージャ12は、領域のステータスを示すファイルステータス情報を生成する。
図9は、ファイルステータス情報の一例を示す図である。図9で示されるファイルステータス情報の1行目には、XML方式であることを示す<?xml version="1.0"?>タグが配置されている。
図9で示されるファイルステータス情報の2行目に配置されている<item filename="/fs0/VIDEO_1/biwako.mpg">は、このファイルステータス情報が/fs0/VIDEO_1/biwako.mpgであるファイル名のファイルのステータスを示していることを表す。<filesize>タグおよび</filesize>タグの間に配置されている526919680は、/fs0/VIDEO_1/biwako.mpgであるファイル名のファイルのファイルサイズ(データ量)が526919680バイトであることを示す。<blocksize>タグおよび</blocksize>タグの間に配置されている65536は、データの取り扱いの単位であるブロックが65536バイトであることを示す。ブロックの大きさは、HDD34または光ディスク36の記録単位(クラスタなど)によって定まる。
<blocknum>タグおよび</blocknum>タグの間に配置されている30728は、ファイル(コンテンツのデータ)が30728のブロックに記録されていることを示す。
<regionInfo>タグおよび</regionInfo>タグの間には、領域の情報を示すタグが配置される。<totalRegion>タグおよび</totalRegion>タグの間に配置されている2は、このファイル(コンテンツ)には2つの領域が存在することを示す。
<region id="0">タグおよび</region>タグの間には、領域番号が0である領域についての情報を示すタグが配置される。<region id="0">タグおよび</region>タグの間の、<rg_offset>タグおよび</rg_offset>タグの間に配置されている0は、コンテンツのデータの先頭から領域番号が0である領域の先頭までのオフセットが0バイトであることを示す。
<region id="0">タグおよび</region>タグの間の、<rg_size>タグおよび</rg_size>タグの間に配置されている15728640は、0である領域番号の領域のサイズ(データ量)が15728640バイトであることを示す。<region id="0">タグおよび</region>タグの間の、<rg_flags>タグおよび</rg_flags>タグの間に配置されているCACHEDは、0である領域番号の領域がスタブ領域であること、すなわち、0である領域番号の領域に対応するデータがHDD34に記録されていることを示す。
<region id="1">タグおよび</region>タグの間には、領域番号が1である領域についての情報を示すタグが配置される。<region id="1">タグおよび</region>タグの間の、<rg_offset>タグおよび</rg_offset>タグの間に配置されている15728640は、コンテンツのデータの先頭から領域番号が1である領域の先頭までのオフセットが15728640バイトであることを示す。
<region id="1">タグおよび</region>タグの間の、<rg_size>タグおよび</rg_size>タグの間に配置されている511191040は、1である領域番号の領域のサイズ(データ量)が511191040バイトであることを示す。<region id="1">タグおよび</region>タグの間の、<rg_flags>タグおよび</rg_flags>タグの間に配置されているNON_CACHEDは、1である領域番号の領域がホール領域であること、すなわち、1である領域番号の領域に対応するデータがHDD34に記録されていないことを示す。
ステップS208において、ストレージマネージャ12は、領域のステータスを示すファイルステータス情報をビデオプレーヤ11に送信する。
ステップS109において、ビデオプレーヤ11のダイジェスト画面生成アプリケーションプログラム52は、ストレージマネージャ12から送信されてきたファイルステータス情報を受信する。ステップS110において、ダイジェスト画面生成アプリケーションプログラム52は、ファイルのそれぞれについて、ファイルステータス情報を基に、ストアされている領域(スタブ領域)のデータの読み出しをストレージマネージャ12に要求する。
例えば、ステップS110において、ダイジェスト画面生成アプリケーションプログラム52は、ファイルのそれぞれについて、ファイルステータス情報を基に、スタブ領域のオフセットおよびサイズを指定することにより、スタブ領域のデータだけの読み出しをストレージマネージャ12に要求する。すなわち、例えば、ダイジェスト画面生成アプリケーションプログラム52は、図9で示されるファイルステータス情報を基に、/fs0/VIDEO_1/biwako.mpgであるファイル名のファイルについて、コンテンツのデータの先頭から15728640バイトまでのデータの読み出しをストレージマネージャ12に要求する。
スタブ領域のオフセットおよびサイズを指定した場合、光ディスク36からデータを読み出すことなく、HDD34だけから要求されたデータを読み出すことができる。
また、例えば、ステップS110において、ダイジェスト画面生成アプリケーションプログラム52は、ファイルのそれぞれについて、光ディスク36からのデータの読み出しを抑制するとともに、HDD34からデータの読み出しを指令するコマンドをストレージマネージャ12に送信することにより、ストアされている領域(ホール領域)のデータの読み出しをストレージマネージャ12に要求する。
図10は、光ディスク36からのデータの読み出しを抑制するとともに、HDD34からデータの読み出しを指令するコマンドの一例を示す図である。図10で示されるコマンドの1行目のGET /fs0/VIDEO_1/biwako.mpg HTTP/1.1は、読み出すデータが格納されているファイルのファイル名が/fs0/VIDEO_1/biwako.mpgであること、およびHTTP(Hyper Text Transfer Protocol)の手順に基づいてデータを転送することを示す。
図10で示されるコマンドの2行目のHost:localhostは、ストレージマネージャ12の名称がlocalhostであることを示す。コマンドの3行目のRange:bytes=1970176-は、コンテンツのデータの先頭から1970176バイトの位置からのデータを要求していることを示す。
コマンドの4行目のEscape-Reload-Mode:1は、光ディスク36からのデータの読み出しを抑制するとともに、HDD34からデータの読み出しを要求するエスケープリロードモードのデータの要求であることを示す。エスケープリロードモードは、リロードを実行しないモードである。
コマンドの5行目のUser-Agent:HSS Player/0.01は、ダイジェスト画面生成アプリケーションプログラム52の名称がHSS Player/0.01であることを示す。
エスケープリロードモードでのデータの読み出しを要求することで、ステップS109において受信したファイルステータス情報で示される状態から、記録されているデータの状態が変更された場合であっても、リロードが実行されない。
なお、4行目をEscape-Reload-Mode:0としたコマンドは、光ディスク36またはHDD34からデータを読み出す通常モードでのデータの読み出しを指令する。
ステップS209において、ストレージマネージャ12は、ダイジェスト画面生成アプリケーションプログラム52からの、ストアされている領域(ホール領域)のデータの読み出しの要求を受信する。ステップS210において、リードアクセスの処理が実行される。リードアクセスの処理の詳細は、図14のフローチャートを参照して後述する。ステップS210のリードアクセスの処理により、ファイルのそれぞれについて、ストアされている領域のデータがストレージマネージャ12からビデオプレーヤ11に送信される。
ステップS111において、ビデオプレーヤ11のダイジェスト画面生成アプリケーションプログラム52は、ストレージマネージャ12から送信されてくる、ファイルのそれぞれについて、ストアされている領域のデータを受信する。ステップS112において、ビデオプレーヤ11のダイジェスト画面生成アプリケーションプログラム52は、コンテンツリスト上にダイジェストを表示させて、処理は終了する。
例えば、ステップS210のリードアクセスの処理により、ストレージマネージャ12は、図6で示されるように、シーケンスヘッダとGOPとの繰り返しで構成されるデータを送信してくるので、ステップS111において、ダイジェスト画面生成アプリケーションプログラム52は、シーケンスヘッダとGOPとの繰り返しで構成されるデータを受信する。
例えば、ステップS112において、ダイジェスト画面生成アプリケーションプログラム52は、ファイルステータス情報を基に、1または複数のスタブ領域のうち、一部分または全部のスタブ領域を選択して、選択したスタブ領域のデータをデコーダ51に復号させる。なお、スタブ領域がない場合には、ダイジェスト画面生成アプリケーションプログラム52は、デコーダ51に復号を指示しない。
デコーダ51は、ファイルステータス情報のオフセットで示される位置を、復号を開始する位置として、その位置の後ろであって最初に見つけられたシーケンスヘッダからデータのデコードを開始する。デコーダ51は、送信されてきたデータが後述するダミーデータ(コンテンツのデータに代わる復号できないデータ)である場合には、そのデータを復号しない。
このように、ファイルステータス情報およびシーケンスヘッダが参照されて、実データだけが復号されることになる。
その結果、ダイジェスト画面生成アプリケーションプログラム52は、図11で示されるように、モニタ71に、複数のコンテンツのそれぞれについて、マルチ画面で、ダイジェスト用の短いシーン(動画)からなるコンテンツ一覧を表示させる。図11で示す例において、title#1乃至title#5の何れかのコンテンツの名前が付されたコンテンツ、またはtitle#8乃至title#12の何れかのコンテンツの名前が付されたコンテンツには、ストアされている領域があるので、モニタ71に、ストアされている領域のデータを基にしたダイジェスト用の短いシーンが表示される。これに対して、title#6またはtitle#7のコンテンツの名前が付されたコンテンツには、ストアされている領域がないので、モニタ71に、ダイジェスト用のシーンは表示されない。
なお、選択したスタブ領域について、ダミーデータが送信されてきた場合には、ダイジェスト画面生成アプリケーションプログラム52は、デコーダ51に、シーケンスヘッダを見つけられるまでデータを走査させる。これにより、より迅速にデータを復号することができる。また、デコーダ51は、復号しているGOPの途中でダミーデータを検知した場合には、デコードが失敗するので、その直前のGOPを復号して得られたデータを出力し、ダミーデータを検出したGOPを復号して得られたデータを出力しない。
また、ダイジェスト画面生成アプリケーションプログラム52またはデコーダ51は、一定サイズ以上のダミーデータを受けとった場合には、ダミーデータを含むデータのデコードを終了して、黒画面または予め定めたビデオを示すアイコンを表示させるようにしてもよい。
以上のように、キャッシュされているか否かを示す情報をアプリケーション側であるビデオプレーヤ11に通知することで、ビデオプレーヤ11は、キャッシュされているか否かを示す情報を基に、ダイジェスト画像を作る区間(データの部分)の選別をすることができるようになり、その結果、キャッシュされていない領域にアクセスしないで、迅速にダイジェスト画像を作成できるようになる。
次に、図12のフローチャートを参照して、コンテンツを再生する処理を説明する。
使用者は、モニタ71に表示されたダイジェストからなるコンテンツリストを見て、図示せぬスイッチまたはリモートコントローラなどを操作することで、再生するコンテンツを選択するので、ステップS131において、ビデオプレーヤ11の動画再生アプリケーションプログラム53は、使用者に操作された図示せぬスイッチまたはリモートコントローラなどからの信号を基に、使用者からのコンテンツの選択の指示を取得する。例えば、動画再生アプリケーションプログラム53は、図7のフローチャートを参照して説明した処理で表示されているダイジェストを基にした、使用者からのコンテンツの選択の指示を取得する。
ステップS132において、動画再生アプリケーションプログラム53は、選択されたコンテンツのデータをストレージマネージャに要求する。例えば、ステップS132において、動画再生アプリケーションプログラム53は、光ディスク36およびHDD34からデータの読み出しを指令するコマンドをストレージマネージャ12に送信することにより、選択されたコンテンツのデータをストレージマネージャに要求する。
図13は、ディスク36およびHDD34からデータの読み出しを指令するコマンドの一例を示す図である。図13で示されるコマンドの1行目のGET /fs0/VIDEO_1/biwako.mpg HTTP/1.1は、読み出すデータが格納されているファイルのファイル名が/fs0/VIDEO_1/biwako.mpgであること、およびHTTP(Hyper Text Transfer Protocol)の手順に基づいてデータを転送することを示す。
図13で示されるコマンドの2行目のHost:localhostは、ストレージマネージャ12の名称がlocalhostであることを示す。コマンドの3行目のRange:bytes=1970176-は、コンテンツのデータの先頭から1970176バイトの位置からのデータを要求していることを示す。
コマンドの4行目のUser-Agent:HSS Player/0.01は、動画再生アプリケーションプログラム53の名称がHSS Player/0.01であることを示す。
なお、動画再生アプリケーションプログラム53は、図10で示されるコマンドであって、4行目をEscape-Reload-Mode:0としたコマンドをストレージマネージャ12に送信することにより、選択されたコンテンツのデータをストレージマネージャに要求するようにしてもよい。
ステップS231において、ストレージマネージャ12は、動画再生アプリケーションプログラム53からの、選択されたコンテンツのデータの要求を受信する。ステップS232において、リードアクセスの処理が実行される。ステップS232のリードアクセスの処理により、選択されたコンテンツのデータがストレージマネージャ12からビデオプレーヤ11に送信される。
ステップS133において、ビデオプレーヤ11の動画再生アプリケーションプログラム53は、ストレージマネージャ12から送信されてくる、選択されたコンテンツのデータを受信する。ステップS134において、動画再生アプリケーションプログラム53は、受信したコンテンツのデータをデコーダ51に復号させて、コンテンツを再生する。ステップS135において、動画再生アプリケーションプログラム53は、コンテンツをモニタ71に表示させて、処理は終了する。
図14は、ステップS210またはステップS232のリードアクセスの処理の詳細を説明するフローチャートである。ステップS11において、ストレージマネージャ12は、送信するデータまたは情報などを一時的に記憶するセンドバッファ(SendBuffer)を初期化する。ステップS12において、ストレージマネージャ12は、ビデオプレーヤ11から送信されてきたコマンドを基に、ビデオプレーヤ11からの要求がエスケープリロードモードの要求であるか否かを判定する。
ステップS12において、エスケープリロードモードの要求でないと判定された場合、通常モードの要求なので、ステップS13に進み、ストレージマネージャ12は、変数であるflagに"Normal Read"を設定し、手続きは、ステップS15に進む。
一方、ステップS12において、エスケープリロードモードの要求であると判定された場合、ステップS13に進み、ストレージマネージャ12は、変数であるflagに"Escape Reload"を設定し、手続きは、ステップS15に進む。
ステップS15において、ストレージマネージャ12は、ファイルポインタjに、データの読み出しの開始位置を示すstart_offsetである初期値を設定する。ステップS16において、ストレージマネージャ12は、ファイルポインタjが、data_lengthであるファイルの最終位置より小さいか否かを判定し、ファイルポインタjが、data_lengthであるファイルの最終位置より小さいと判定された場合、ファイルの最終位置まで読み出していないので、ステップS17に進み、1ブロックを単位としてデータを読み込むReadA1Block(flag,j,SendBuffer)の関数、すなわちflag,j、およびSendBufferを引数とするReadA1Block(flag,offset,*buf)の関数を実行する。ReadA1Block(flag,offset,*buf)の関数の処理の詳細は後述する。
ステップS18において、ストレージマネージャ12は、センドバッファに格納されているデータのうち、ファイルポインタjで示される位置から、Buffer_Lengthのデータ量のデータをビデオプレーヤ11に送信するSend(SendBuffer,Buffer_Length)の処理を実行する。
ステップS19において、ストレージマネージャ12は、ファイルポインタjに、Buffer_Lengthを加算することで、ファイルポインタjを更新して、ステップS16に戻り、上述した処理を繰り返す。
ステップS16において、ファイルポインタjが、data_lengthであるファイルの最終位置より小さくないと判定された場合、ファイルの最終位置までデータが送信されたので、処理は終了する。
次に、図15のフローチャートを参照して、図14のステップS17のReadA1Block(flag,j,SendBuffer)の関数として実行されるReadA1Block(flag,offset,*buf)の関数の処理の詳細を説明する。ステップS31において、ストレージマネージャ12は、変数であるflagに"Escape Reload"が設定されているか否かを判定し、変数であるflagに"Escape Reload"が設定されていないと判定された場合、ステップS32に進み、読み出そうとする領域のデータがストアされているか否かを判定する。
ステップS32において、読み出そうとする領域のデータがストアされていると判定された場合、読み出そうとする領域はスタブ領域であり、読み出そうとするスタブデータがHDD34に記録されているので、ステップS33に進み、ストレージマネージャ12は、HDD34上のスタブデータを1つのブロックの分だけSendBufferに対応するバッファbufに読み込み、処理は終了する。
ステップS32において、読み出そうとする領域のデータがストアされていないと判定された場合、読み出そうとする領域はホール領域であり、読み出そうとするデータがHDD34に記録されていないので、ステップS34に進み、ストレージマネージャ12は、HSM13にリロード実行コマンドを発行して、HSM13に、読み出そうとするデータをリロードさせる。
ここで、リロードの処理を説明すると次のようになる。
まず、読み出そうとするコンテンツのデータが記録されていない光ディスク36がドライブ35に装着されている場合には、HSM13は、ドライブ35に装着されている光ディスク36をディスクスロット130に戻す。すなわち、ジュークシステム128の制御の基に、ジュークボックス104のピッカー131は、ドライブ35から排出された光ディスク36を搬送して、所定のディスクスロット130に格納させる。
ドライブ35から光ディスク36が排出されたか、または、リロードの処理を開始した時点でドライブ35に光ディスク36が装着されていない場合には、HSM13は、読み出そうとするコンテンツのデータが記録されている光ディスク36をドライブ35に装着させる。
これをより詳細に説明すると、HSM13は、ストアデータベース125から、キャッシュファイル名に関連付けられているキャッシュファイルIDを参照して、参照されたキャッシュファイルIDに対応するボリウムIDを参照する。ストレージサーバ124は、ボリウムデータベース127を基に、ボリウムIDで特定される光ディスク36が格納されているディスクスロット130を特定する。すなわち、ストレージサーバ124は、メディアサーバ126に、ボリウムIDで特定される光ディスク36が格納されているディスクスロット130の特定を要求する。
メディアサーバ126は、ボリウムデータベース127に、ジュークボックス104の各ディスクスロット130に格納されている光ディスク36を特定するボリウムIDのうち、ストレージサーバ124からの要求に含まれているボリウムIDと一致するボリウムIDを検索させる。ボリウムデータベース127が、ストレージサーバ124からの要求に含まれているボリウムIDで特定される光ディスク36が格納されているディスクスロット130を示す情報を出力してくるので、メディアサーバ126は、ディスクスロット130を示す情報をストレージサーバ124に供給する。これにより、ストレージサーバ124は、ボリウムIDで特定される光ディスク36が格納されているディスクスロット130を特定する。
そして、ストレージサーバ124は、メディアサーバ126に、特定されたディスクスロット130に格納されている光ディスク36のドライブ35への装着を指示する。メディアサーバ126は、チェンジャドライバ102を介して、ジュークシステム128に、特定されたディスクスロット130に格納されている光ディスク36をドライブ35に装着させる。すなわち、ジュークシステム128の制御の基に、ジュークボックス104のピッカー131は、特定されたディスクスロット130から、光ディスク36を取り出して、搬送し、その光ディスク36をドライブ35に装着(マウント)させる。
さらに、その光ディスク36がドライブ35に装着された場合、または、読み出そうとするコンテンツのデータが記録されている光ディスク36がドライブ35に装着されている場合、HSM13は、ドライブ35に装着されている光ディスク36からデータを読み出して、読み出したデータをHDD34に記録させる。
すなわち、HSM13のマイグレーションファイルシステム33は、リロードの開始位置を、現在、HDD34から読み出されているデータの位置の後の領域であって、もっと近い領域の先頭とし、HSM13のストレージサーバ124は、リロードの開始位置におけるデータを、光ディスク36が装着されたドライブ35から読み出させ、読み出したデータをキャッシュファイルの所定の領域に格納させるように、HDD34に記録させる。
そして、マイグレーションファイルシステム33は、順に、それぞれの領域について、光ディスク36が装着されたドライブ35からデータを読み出させ、読み出したデータをキャッシュファイルのその領域に格納させるように、HDD34に記録させる。
なお、スタブ領域について、光ディスク36からデータを読み出し、HDD34に記録させる処理はスキップされ、ホール領域について、光ディスク36からデータを読み出し、HDD34に記録させる処理が実行される。
その領域のリロードが完了した場合、マイグレーションファイルシステム33は、リロードを完了した領域と隣接するスタブ領域とを結合させるように拡張属性を書き換える。
このようにして、HSM13のマイグレーションファイルシステム33は、キャッシュファイルの最後まで、光ディスク36からデータを読み出し、HDD34に記録させる。
ステップS35において、ストレージマネージャ12は、HDD34にリロードされたデータを1つのブロックの分だけSendBufferに対応するバッファbufに読み込み、処理は終了する。
なお、ステップS34およびステップS35の処理は並列に実行される。
ステップS31において、変数であるflagに"Escape Reload"が設定されていると判定された場合、ステップS36に進み、ストレージマネージャ12は、読み出そうとする領域のデータがストアされているか否かを判定する。
ステップS36において、読み出そうとする領域のデータがストアされていると判定された場合、ステップS33に進み、上述したように、ストレージマネージャ12は、HDD34上のスタブデータを1つのブロックの分だけSendBufferに対応するバッファbufに読み込み、処理は終了する。
ステップS36において、読み出そうとする領域のデータがストアされていないと判定された場合、ステップS37に進み、ストレージマネージャ12は、リロードを実行させないで、SendBufferに対応するバッファbufに、デコーダ51において復号できない(復号させない)ダミーデータを入れて、処理は終了する。例えば、ストレージマネージャ12は、バッファbufに、全て0であるダミーデータを入れる。
このように、変数であるflagに"Escape Reload"が設定されている場合には、光ディスク36からのデータの読み出しが抑制されるとともに、HDD34からデータが読み出される。
以上のように、ストレージマネージャ12は、ファイルのステータスが要求された場合、光ディスク36からの読み出しを抑制すると共に、HDD34から、領域のステータスを読み出す。
また、ストレージマネージャ12は、ストアされている領域(ホール領域)のデータの読み出しが要求された場合、光ディスク36からの読み出しを抑制すると共に、HDD34から、ホール領域のデータを読み出す。
ストレージマネージャ12は、コンテンツのデータが要求された場合、光ディスク36およびHDD34からデータを読み出す。
このように、ストレージマネージャ12は、ファイルの読み出しアクセスのために、リロードを行う通常モードと、リロードしないエスケープリロードモードの2つのモードの何れかで、データまたは情報をHDD34または光ディスク36から読み出す。エスケープリロードモードでの読み出しが要求された場合、ストレージマネージャ12は、キャッシュ済み(HDD34に記録されている)データをそのまま読み出して、送信し、キャッシュされていないデータ(HDD34に記録されていないデータ)を要求された場合には、ファイルからデータを読み出さないで、代替のデータであるダミーデータを送信する。
再生プログラム31は、目的に応じて、通常モードまたはリロードエスケープモードのいずれかで、ストレージマネージャ12にデータまたは情報の読み出しを要求する。
エスケープリロードモードにおいて、リロードが実行されず、キャッシュされていないデータに代えてダミーデータが送信されるので、ビデオプレーヤ11は、ファイルステータス情報の取得およびファイルステータス情報で示されるスタブ領域のスタブデータのみを選択的に復号する処理を省略し、ストレージマネージャ12から送信されてきたデータの全てを復号したとしても、ホール領域のデータについてデコードを実行しない。すなわち、ビデオプレーヤ11は、エスケープリロードモードでのデータの読み出しを要求することで、ファイルステータス情報の取得および復号できるデータを選別する処理を実行する必要がなくなり、また、不要なデコードの処理も実行されないので、ビデオプレーヤ11の負荷をより少なくすることができる。
以上のように、HDD34に記録されていない領域への読み出しの要求によるリロードを抑制することで、高速に読み出しができる箇所のみに絞ったデータの読み出しができるようになる。
HSM13において、不要なリロードを発生させないので、リロードで使用するドライブ35であるリソースを有効に使うことができる。
キャッシュされていない領域にアクセスしても、エスケープリロードモードとすることで、受信したファイルステータス情報で示される状態から、記録されているデータの状態が変更された場合であっても、不要なリロードを実行しないようにすることができる。
ファイルステータス情報を用いない場合であっても、エスケープリロードモードでアクセスすれば、リロードを実行しないようにすることができる。従って、アプリケーション側の変更を最小限として、エスケープリロードモードを利用できる。
エスケープリロードモードを用いた場合、ダミーデータが配置されている部分は、アプリケーション側で無視するようにできる。例えば、デコーダ51が、MPEGデコーダである場合、デコーダ51は、ダミーデータを受け取ったとき、ダミーデータを復号せず、その後に、スタブ領域が配置されているときには、データを順に走査して、シーケンスヘッダを見つけたところから復号を開始することができる。
動画再生アプリケーションプログラム53のような通常のアクセスをする必要のあるアプリケーションプログラムは、通常モードでデータの読み出しを行えば、HSM13によるリロードの処理を利用して、キャッシュされている領域(スタブ領域)とキャッシュされていない領域(ホール領域)とを意識することなく、コンテンツのデータを読み出すことができる。
なお、光ディスク36からのデータの読み出しを抑制するとともに、HDD34からデータを読み出す要求と、光ディスク36およびHDD34からデータを読み出す要求とを、コマンドによって区別すると説明したが、ストレージマネージャ12のポートにより区別するようにしてもよい。ここでポートとは、複数の相手と同時に通信するための補助アドレスである。
この場合、第1のポートを介して読み出しが要求されたとき、ストレージマネージャ12は、エスケープリロードモードでデータを読み出し、光ディスク36からのデータの読み出しを抑制するとともに、HDD34からデータまたは情報を読み出す。第2のポートを介して読み出しが要求されたとき、ストレージマネージャ12は、通常モードでデータを読み出し、光ディスク36またはHDD34からデータまたは情報を読み出す。
また、さらに、コンテンツのデータまたはファイルステータス情報をネットワークを介して送信するようにすることもできる。
図16は、本発明の一実施の形態の記録再生システムの他の構成を示すブロック図である。
図16で構成を示す記録再生システムは、サーバ301と、サーバ301にネットワーク302を介して接続されるクライアント303とからなる。サーバ301は、サーバプログラム321、ストレージマネージャ12、HSM13、コンテンツマネージャ101、チェンジャドライバ102、ジュークボックス制御部103、およびジュークボックス104から構成される。
クライアント303は、再生プログラム31、ビデオアウトインターフェース32、およびクライアントプログラム322から構成される。
ネットワーク302は、無線または有線を伝送媒体とする、ホームネットワークなどのLAN(Local Area Network)、インターネット、公衆回線、または専用回線などからなり、各種のデータ(ストリームを含む)を伝送する。
サーバプログラム321は、ネットワーク302を介して送信されてくる、クライアント303からの要求を受信して、受信した要求をストレージマネージャ12に供給する。また、サーバプログラム321は、ストレージマネージャ12から供給されるコンテンツのデータまたはファイルステータス情報を、ネットワーク302を介してクライアント303に送信する。
クライアントプログラム322は、再生プログラム31からの要求を、ネットワーク302を介してサーバ301に送信する。また、クライアントプログラム322は、ネットワーク302を介してサーバ301から送信されてくる、コンテンツのデータまたはファイルステータス情報を受信して、受信したコンテンツのデータまたはファイルステータス情報を再生プログラム31に供給する。
図16で構成を示す記録再生システムによるコンテンツの一覧の表示の処理は、サーバプログラム321およびクライアントプログラム322がデータまたは情報(要求を含む)を送信または受信する点で図7のフローチャートを参照して説明した処理と異なるが、その他の点で、図7のフローチャートを参照して説明した処理と同様なのでその説明は省略する。
図16で構成を示す記録再生システムによるコンテンツを再生する処理は、サーバプログラム321およびクライアントプログラム322がデータまたは情報(要求を含む)を送信または受信する点で図12のフローチャートを参照して説明した処理と異なるが、その他の点で、図12のフローチャートを参照して説明した処理と同様なのでその説明は省略する。
このように、コンテンツのデータまたはファイルステータス情報をネットワークを介して送信することができる。
以上のように、ファイルのステータスを要求するコマンドによりファイルのステータスが要求された場合、ストレージマネージャ12は、光ディスク36にアクセスしないで、HDD34から拡張属性を読み出して、読み出した拡張属性に含まれる領域情報を基に、ファイルステータス情報を生成して、送信する。
ファイルのそれぞれについて、光ディスク36からのデータの読み出しを抑制するとともに、HDD34からデータの読み出しを指令するコマンドによりデータの読み出しが要求された場合、ストレージマネージャ12は、光ディスク36からのデータの読み出しを抑制するとともに、HDD34からスタブデータを読み出して、送信する。
光ディスク36およびHDD34からデータの読み出しを指令するコマンドによりデータの読み出しが要求された場合、ストレージマネージャ12は、光ディスク36およびHDD34からデータを読み出して、送信する。
HDD34に記録されていない領域への読み出しの要求によるリロードを抑制することで、高速に読み出しができる箇所のみに絞ったデータの読み出しができるようになる。HSM13において、不要なリロードを発生させないので、リロードで使用するドライブ35であるリソースを有効に使うことができる。
このように、時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体、またはコンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータ若しくはコンテンツに関係する情報を記録している第2の記録媒体からのデータ若しくは情報の読み出しを制御するようにした場合には、見かけの記録容量を大きくした第1の記録媒体からデータまたは情報を読み出すことができる。また、第1の要求に応じて、第2の記録媒体または第1の記録媒体からデータまたは情報を読み出し、第2の要求に応じて、第1の記録媒体からの読み出しを抑制するとともに、第2の記録媒体からデータまたは情報を読み出すように、第1の記録媒体または第2の記録媒体からのデータまたは情報の読み出しを制御するようにした場合には、リソースの占有を抑制して、迅速に読み出しすることができる。
第2の記録媒体または第1の記録媒体からデータまたは情報の読み出しを要求する第1の要求を送信するか、第1の記録媒体からの読み出しを抑制させるとともに、第2の記録媒体からのデータまたは情報の読み出しを要求する第2の要求を送信するように、読み出し装置への要求の送信を制御するようにした場合には、読み出し装置におけるリソースの占有を抑制して、迅速に読み出しすることができる。
なお、HDD34に代えて、半導体メモリなどの他の高速な記録媒体を用いるようにしもよく、また、光ディスク36に代えて、磁気ディスクまたは磁気テープなどの記録容量当たりの価格がより安い他の記録媒体を用いるようにしてもよい。
また、コンテンツは、画像または音声に限られるものではなく、時間的に連続的に使用される使用者にとって有意なデータであればよく、例えば、ゲームに用いるデータ、時間の経過に対応して計測されたデータ、または時間の経過に対応して計算されたシミュレーションの結果のデータなどであってもよい。
なお、アプリケーションプログラムのそれぞれに通常モードまたはエスケープリロードモードのいずれか一方を対応付けるようにしてもよい。この場合、例えば、キャッシュテーブル38に、アプリケーションプログラムIDと通常モードまたはエスケープリロードモードの何れか一方を示すフラグとを対応付けて格納し、ストレージマネージャ12は、アプリケーションプログラムからの要求に含まれるアプリケーションプログラムIDに対応付けられたフラグを参照して、通常モードまたはエスケープリロードモードのいずれかでコンテンツのデータを読み出す。
また、コンテンツのそれぞれに通常モードまたはエスケープリロードモードのいずれか一方を対応付けるようにしてもよい。この場合、キャッシュテーブル38に、キャッシュファイルIDと通常モードまたはエスケープリロードモードの何れか一方を示すフラグとを対応付けて格納し、ストレージマネージャ12は、通常モードまたはエスケープリロードモードの何れか一方を示すフラグを参照して、通常モードまたはエスケープリロードモードのいずれかでコンテンツのデータを読み出す。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
図17は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。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は、例えば、ハードディスクからなり、CPU401が実行するプログラムや各種のデータを記録する。記憶部409は、例えば光ディスクを駆動するドライブなどからなり、各種のデータやCPU401が実行するプログラムを記録する。通信部410は、インターネットやLANなどのネットワークを介して外部の装置と通信する。
また、通信部410を介してプログラムを取得し、記憶部408または記憶部409に記憶してもよい。
例えば、記録再生システム1としてのパーソナルコンピュータにおける、記憶部408は、例えばHDD34に対応し、記憶部409は、例えばジュークボックス104に対応する。
例えば、サーバ301としてのパーソナルコンピュータにおける、記憶部408は、例えばHDD34に対応し、記憶部409は、例えばジュークボックス104に対応する。通信部410は、インターネットやLANなどのネットワーク302を介してクライアント303などの外部の装置と通信する。
例えば、クライアント303としてのパーソナルコンピュータにおいて、記憶部409は、省略することができる。
入出力インターフェース405に接続されているドライブ411は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア412が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部408または記憶部409に転送され、記録される。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図17に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア412、または、プログラムが一時的もしくは永続的に格納されるROM402や、記憶部408を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部410を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明の一実施の形態の記録再生システムの構成を示すブロック図である。 記録再生システムのより詳細な構成を示すブロック図である。 記録再生システムにおいて用いる情報を説明する図である。 HDDに記録されるキャッシュファイルを説明する図である。 領域および拡張属性における領域情報について説明する図である。 スタブ領域のスタブデータの構成を示す図である。 コンテンツの一覧の表示の処理を説明するフローチャートである。 ファイルのステータスを要求するコマンドの一例を示す図である。 ファイルステータス情報の一例を示す図である。 光ディスクからのデータの読み出しを抑制するとともに、HDDからデータの読み出しを指令するコマンドの一例を示す図である。 コンテンツ一覧の例を示す図である。 コンテンツを再生する処理を説明するフローチャートである。 ディスクおよびHDDからデータの読み出しを指令するコマンドの一例を示す図である。 リードアクセスの処理の詳細を説明するフローチャートである。 ReadA1Block(flag,offset,*buf)の処理の詳細を説明するフローチャートである。 本発明の一実施の形態の記録再生システムの他の構成を示すブロック図である。 パーソナルコンピュータの構成の例を示すブロック図である。
符号の説明
1 記録再生システム, 11 ビデオプレーヤ, 12 ストレージマネージャ, 13 HSM, 31 再生プログラム, 33 マイグレーションファイルシステム, 34 HDD , 35 ドライブ, 36−1乃至36−Nまたは36 光ディスク, 38 キャッシュテーブル, 39 ボリウムテーブル, 51 デコーダ, 52 ダイジェスト画面生成アプリケーションプログラム, 53 動画再生アプリケーションプログラム, 301 サーバ, 302 ネットワーク, 303 クライアント, 401 CPU, 402 ROM, 403 RAM, 408 記憶部, 409 記憶部, 412 リムーバブルメディア

Claims (16)

  1. 時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体と、
    前記コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたは前記コンテンツに関係する情報を記録している第2の記録媒体と、
    第1の要求に応じて、前記第2の記録媒体または前記第1の記録媒体からデータまたは前記情報を読み出し、第2の要求に応じて、前記第1の記録媒体からの読み出しを抑制するとともに、前記第2の記録媒体からデータまたは前記情報を読み出すように、前記第1の記録媒体または前記第2の記録媒体からのデータまたは前記情報の読み出しを制御する読み出し制御手段と
    を備える読み出し装置。
  2. 前記第2の記録媒体は、前記コンテンツの全体が分割されてなる複数の部分のデータの属性に関するデータ属性情報である、前記コンテンツに関係する前記情報を記録し、
    前記読み出し制御手段は、前記第2の要求に応じて、前記第1の記録媒体からの読み出しを抑制するとともに、前記第2の記録媒体から前記データ属性情報を読み出すように、前記第1の記録媒体または前記第2の記録媒体からの前記情報の読み出しを制御する
    請求項1に記載の読み出し装置。
  3. 前記第2の記録媒体に記録されている前記データ属性情報は、それぞれの部分について、前記コンテンツの全体のデータにおける、部分のデータの位置、部分のデータのデータ量、および部分のデータが前記第2の記録媒体に記録されているか否かを示す
    請求項2に記載の読み出し装置。
  4. 前記読み出し制御手段は、前記第1の要求または前記第2の要求のいずれか一方を示すフラグを基に、前記第1の要求である場合、前記第2の記録媒体または前記第1の記録媒体からデータまたは前記情報を読み出し、前記第2の要求である場合、前記第1の記録媒体からの読み出しを抑制するとともに、前記第2の記録媒体からデータまたは前記情報を読み出すように、前記第1の記録媒体または前記第2の記録媒体からのデータまたは前記情報の読み出しを制御する
    請求項1に記載の読み出し装置。
  5. 前記読み出し制御手段は、第1のポートを介した前記第1の要求に応じて、前記第2の記録媒体または前記第1の記録媒体からデータまたは前記情報を読み出し、第2のポートを介した前記第2の要求に応じて、前記第1の記録媒体からの読み出しを抑制するとともに、前記第2の記録媒体からデータまたは前記情報を読み出すように、前記第1の記録媒体または前記第2の記録媒体からのデータまたは前記情報の読み出しを制御する
    請求項1に記載の読み出し装置。
  6. 前記読み出し制御手段は、前記第1の要求に応じて、前記第2の記録媒体または前記第1の記録媒体からデータを読み出し、前記第2の要求に応じて、前記第1の記録媒体からの読み出しを抑制するとともに、前記第2の記録媒体からデータを読み出すように、前記第1の記録媒体または前記第2の記録媒体からのデータの読み出しを制御する
    請求項1に記載の読み出し装置。
  7. 前記読み出し制御手段は、前記第2の要求に応じて、要求されたデータが前記第2の記録媒体に記録されている場合、前記第2の記録媒体からデータを読み出し、要求されたデータが前記第2の記録媒体に記録されていない場合、予め定めた代替のデータを出力するように、前記第1の記録媒体または前記第2の記録媒体からのデータの読み出しを制御する
    請求項6に記載の読み出し装置。
  8. 時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体と、前記コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたは前記コンテンツに関係する情報を記録している第2の記録媒体とからデータまたは前記情報を読み出す読み出し方法において、
    第1の要求に応じて、前記第2の記録媒体または前記第1の記録媒体からデータまたは前記情報を読み出し、第2の要求に応じて、前記第1の記録媒体からの読み出しを抑制するとともに、前記第2の記録媒体からデータまたは前記情報を読み出すように、前記第1の記録媒体または前記第2の記録媒体からのデータまたは前記情報の読み出しを制御する読み出し制御ステップを含む読み出し方法。
  9. 時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体と、前記コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたは前記コンテンツに関係する情報を記録している第2の記録媒体とからデータまたは前記情報を読み出す読み出し処理を、コンピュータに行わせるプログラムにおいて、
    第1の要求に応じて、前記第2の記録媒体または前記第1の記録媒体からデータまたは前記情報を読み出し、第2の要求に応じて、前記第1の記録媒体からの読み出しを抑制するとともに、前記第2の記録媒体からデータまたは前記情報を読み出すように、前記第1の記録媒体または前記第2の記録媒体からのデータまたは前記情報の読み出しを制御する読み出し制御ステップを含むプログラム。
  10. 時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体と、前記コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたは前記コンテンツに関係する情報を記録している第2の記録媒体とからデータまたは前記情報を読み出す読み出し装置から読み出されたデータまたは前記情報を処理する情報処理装置において、
    前記第2の記録媒体または前記第1の記録媒体からデータまたは前記情報の読み出しを要求する第1の要求を送信するか、前記第1の記録媒体からの読み出しを抑制させるとともに、前記第2の記録媒体からのデータまたは前記情報の読み出しを要求する第2の要求を送信するように、前記読み出し装置への要求の送信を制御する送信制御手段を備える情報処理装置。
  11. 前記送信制御手段は、前記第1の記録媒体からの読み出しを抑制させるとともに、前記コンテンツの全体が分割されてなる複数の部分のデータの属性に関するデータ属性情報である、前記コンテンツに関係する前記情報を記録している前記第2の記録媒体からの前記データ属性情報の読み出しを要求する前記第2の要求を送信するように、前記読み出し装置への要求の送信を制御する
    請求項10に記載の情報処理装置。
  12. 前記送信制御手段は、前記第1の要求または前記第2の要求のいずれか一方を示すフラグを付加した要求の前記読み出し装置への送信を制御する
    請求項10に記載の情報処理装置。
  13. 前記送信制御手段は、第1のポートを介して前記第1の要求を送信し、第2のポートを介して前記第2の要求を送信するように、前記読み出し装置への要求の送信を制御する
    請求項10に記載の情報処理装置。
  14. 前記送信制御手段は、前記第2の記録媒体または前記第1の記録媒体からデータの読み出しを要求する前記第1の要求を送信するか、前記第1の記録媒体からの読み出しを抑制させるとともに、前記第2の記録媒体からのデータの読み出しを要求する前記第2の要求を送信するように、前記読み出し装置への要求の送信を制御する
    請求項10に記載の情報処理装置。
  15. 時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体と、前記コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたは前記コンテンツに関係する情報を記録している第2の記録媒体とからデータまたは前記情報を読み出す読み出し装置から読み出されたデータまたは前記情報を処理する情報処理方法において、
    前記第2の記録媒体または前記第1の記録媒体からデータまたは前記情報の読み出しを要求する第1の要求を送信するか、前記第1の記録媒体からの読み出しを抑制させるとともに、前記第2の記録媒体からのデータまたは前記情報の読み出しを要求する第2の要求を送信するように、前記読み出し装置への要求の送信を制御する送信制御ステップを含む情報処理方法。
  16. 時間的に連続するコンテンツの全体のデータを記録している第1の記録媒体と、前記コンテンツの全体が分割されてなる複数の部分のうちの所定の部分のデータまたは前記コンテンツに関係する情報を記録している第2の記録媒体とからデータまたは前記情報を読み出す読み出し装置から読み出されたデータまたは前記情報を処理する情報処理を、コンピュータに行わせるプログラムにおいて、
    前記第2の記録媒体または前記第1の記録媒体からデータまたは前記情報の読み出しを要求する第1の要求を送信するか、前記第1の記録媒体からの読み出しを抑制させるとともに、前記第2の記録媒体からのデータまたは前記情報の読み出しを要求する第2の要求を送信するように、前記読み出し装置への要求の送信を制御する送信制御ステップを含むプログラム。
JP2005269934A 2005-09-16 2005-09-16 読み出し装置および方法、情報処理装置および方法、並びにプログラム Pending JP2007080147A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005269934A JP2007080147A (ja) 2005-09-16 2005-09-16 読み出し装置および方法、情報処理装置および方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005269934A JP2007080147A (ja) 2005-09-16 2005-09-16 読み出し装置および方法、情報処理装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2007080147A true JP2007080147A (ja) 2007-03-29

Family

ID=37940367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005269934A Pending JP2007080147A (ja) 2005-09-16 2005-09-16 読み出し装置および方法、情報処理装置および方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2007080147A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999056211A1 (fr) * 1998-04-27 1999-11-04 Sony Corporation Dispositif et procede d'enregistrement/lecture de donnees
WO2004025404A2 (en) * 2002-09-10 2004-03-25 Exagrid Systems, Inc. Method and apparatus for server share migration and server recovery using hierarchical storage management
JP2004110290A (ja) * 2002-09-17 2004-04-08 Sony Corp データストレージシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999056211A1 (fr) * 1998-04-27 1999-11-04 Sony Corporation Dispositif et procede d'enregistrement/lecture de donnees
WO2004025404A2 (en) * 2002-09-10 2004-03-25 Exagrid Systems, Inc. Method and apparatus for server share migration and server recovery using hierarchical storage management
JP2005538469A (ja) * 2002-09-10 2005-12-15 イグザグリッド システムズ, インコーポレイテッド 階層型格納管理を用いるサーバシェア移送およびサーバ回復のための方法および装置
JP2004110290A (ja) * 2002-09-17 2004-04-08 Sony Corp データストレージシステム

Similar Documents

Publication Publication Date Title
US7814277B2 (en) Media cache control interface
US7272300B2 (en) Method and apparatus for storing content
US20120185861A1 (en) Media foundation media processor
WO2005111835A2 (en) Background transcoding
CN100445962C (zh) 记录设备及其方法
KR20070105307A (ko) 오디오 및 시각적 컨텐츠 다운로드 및 플레이백 방법과오디오 및 시각적 컨텐츠의 동시적인 소개 및 다운로드시스템과 오디오 및 시각적 컨텐츠를 제공하는엔터테인먼트 시스템과 컨텐츠의 동시적인 다운로드 및플레이백 방법
WO2008068940A1 (ja) 映像音声再生装置
JP2006054898A (ja) スケジュール機能を備えたマルチメディアコンテンツディスプレイシステム及びそのコンテンツ再生方法
EP1811519A2 (en) Recording apparatus, recording method, program, encoding apparatus, and encoding method
JP2007042182A (ja) 情報処理装置,情報処理方法およびコンピュータプログラム
US20160006975A1 (en) Playback device, control method, and program
JP2002016866A (ja) ファイル管理システムおよびステータス情報送信システム
US8520478B2 (en) Readout device, readout method, program, and program recording medium
JP2007535857A (ja) プログラミング機能を有するアプリケーションを記録した記録媒体、再生装置及びその再生方法
US7882157B2 (en) Content data recording device and recording control method
US20070014198A1 (en) Recording device, recording method, recording program, and program recording medium
CA2718221C (en) Method of presenting auxiliary data for an interactive recording medium
JP3999440B2 (ja) コンテンツ管理方法、コンテンツ管理システムおよび記憶媒体
JP2008041120A (ja) 情報処理装置及び情報処理方法
JP2007080147A (ja) 読み出し装置および方法、情報処理装置および方法、並びにプログラム
JP4186963B2 (ja) 記録装置および方法、読み出し装置および方法、並びにプログラム
JP2003046928A (ja) ネットワーク映像再生方法および圧縮映像データ復号再生装置
JP2007080148A (ja) 表示制御装置および方法、並びにプログラム
KR101014665B1 (ko) 프리로드 정보가 기록된 정보저장매체, 그 재생장치 및재생방법
JP2004015437A (ja) 映像・音声データの記録再生のためのプログラム,記録媒体,方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110705