JP3396639B2 - 階層記憶装置及び階層記憶制御方法 - Google Patents

階層記憶装置及び階層記憶制御方法

Info

Publication number
JP3396639B2
JP3396639B2 JP36893298A JP36893298A JP3396639B2 JP 3396639 B2 JP3396639 B2 JP 3396639B2 JP 36893298 A JP36893298 A JP 36893298A JP 36893298 A JP36893298 A JP 36893298A JP 3396639 B2 JP3396639 B2 JP 3396639B2
Authority
JP
Japan
Prior art keywords
segment
data
storage device
stored
random access
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.)
Expired - Fee Related
Application number
JP36893298A
Other languages
English (en)
Other versions
JP2000172450A (ja
Inventor
浩 矢尾
浩邦 矢野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP36893298A priority Critical patent/JP3396639B2/ja
Priority to US09/409,424 priority patent/US6721490B1/en
Publication of JP2000172450A publication Critical patent/JP2000172450A/ja
Application granted granted Critical
Publication of JP3396639B2 publication Critical patent/JP3396639B2/ja
Priority to US10/779,631 priority patent/US7580610B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、小容量の一次記憶
装置と大容量の二次記憶装置を有し、一次記憶装置をキ
ャッシュとして使用する階層記憶装置(サーバ側装置と
して使用可能)及びその制御方に関するものである。
【0002】
【従来の技術】従来、安価で大容量の記憶装置として
は、磁気テープ、磁気テープのオートチェンジャ、リム
ーバブルディスクのオートチェンジャ等が使用されてい
る。
【0003】これらの記憶装置は大容量ではあるが、ラ
ンダムアクセス時の応答時間に問題がある。例えばテー
プでは、必要なデータが記録されている位置までテープ
を早送り/巻き戻しをしなければならない。またオート
チェンジャでは、ドライブにマウントされていないメデ
ィアに必要なデータが記録されている場合にはメディア
の交換を行なわなければならない。
【0004】そこで、一般に知られている階層記憶の概
念を採り入れ、転送能力が高くランダムアクセス性に優
れたハードディスク等を一次記憶装置とし、上記の大容
量記憶装置を二次記憶装置とする階層記憶装置が考案さ
れている。
【0005】一般にこのような階層記憶装置では、一次
記憶装置は二次記憶装置に格納されているデータのキャ
ッシュまたは先読みバッファとして働く。なお、以降で
は一次記憶装置をキャッシュと呼び、二次記憶装置をラ
イブラリと呼ぶ。
【0006】階層記憶装置では、格納されているデータ
にアクセスする際には、まず必要なデータがキャッシュ
に格納されているかどうか検索する。もし格納されてい
れば、キャッシュ上のデータにアクセスする。もし格納
されていなければ、ライブラリ上のデータにアクセスし
て、アクセスしたデータをキャッシュにコピーしてお
く。
【0007】キャッシュにデータを格納する際に、割り
付ける領域が既にキャッシュ上にない場合には、何らか
の規則に従いキャッシュ上のデータを廃棄して新たなデ
ータに置き換える必要がある。このキャッシュ置換えア
ルゴリズムとしては、 (a)LRU(Least Recently Use
d):最後にアクセスされてからの経過時間が最長のも
のを廃棄 (b)FIFO(First In First Ou
t):キャッシュに格納されてからの経過時間が最長の
ものを廃棄 (c)LFU(Least Frequently U
sed):アクセス回数の最も少ないものを廃棄 等がある。これらの方式は一般的なデータアクセスに対
して効率良く動作することが経験的に知られており、広
く用いられている。
【0008】また、ライブラリとキャッシュの間での転
送単位としては、データ単位で管理する場合と、データ
を分割したセグメント(あるいはブロックと呼ばれる)
単位で管理する場合とがある。
【0009】さらに特殊なキャッシュ管理方式として、
データのオープン時にそのデータ全てをキャッシュに格
納する方式や、データの先頭の部分のみを常にキャッシ
ュに格納しておく方式がある。
【0010】
【発明が解決しようとする課題】ここで、例えば、動画
像データや音声データのように、時間の経過とともにデ
ータを順に取り出すリアルタイムストリームデータを扱
う場合、一旦データの転送を開始すると次にデータ転送
を停止するまでにアクセスされるデータとその順序が予
測できる。
【0011】このように連続したセグメントを順次転送
する場合には、あるセグメントをキャッシュから転送し
ている間に以降に使用されるセグメントをキャッシュに
格納することにより、以降のセグメントにアクセスする
際の応答時間が見かけ上なくなるか、あるいは応答時間
が小さくなることが期待できる。
【0012】その一方で、順次転送の開始時点では、順
次転送の先頭を含むセグメントがキャッシュに格納され
ていなければ、二次記憶装置に格納されているセグメン
トにアクセスするまでの時間がそのまま応答時間とな
る。
【0013】したがって、例えばリアルタイムストリー
ムデータの途中の任意の位置に対してランダムアクセス
を行う場合に、このランダムアクセスポイントを含むセ
グメントがキャッシュに格納されていなければ、応答時
間が長くなってしまう。すなわち、このような用途にお
いては、ランダムアクセスポイントを含むセグメントの
キャッシュヒット率がユーザの使い勝手に大きな影響を
与える。
【0014】ところが、このような用途において従来の
キャッシュ置換えアルゴリズムを使用した場合、ランダ
ムアクセスポイントを含むセグメントは以下の様に扱わ
れる。 (a)LRUでは、ランダムアクセスポイントを含むセ
グメントは、それ以降に順次アクセスされたセグメント
よりも過去に参照されたことになるので、廃棄対象とな
る優先度が高い。 (b)FIFOでは、ランダムアクセスポイントを含む
セグメントは、それ以降に順次アクセスされたセグメン
トよりも過去に領域を割り付けされたことになるので、
廃棄対象となる優先度が高い。 (c)LFUでは、ランダムアクセスポイントを含むセ
グメントかどうかに関わらず、使用頻度の低いセグメン
トが廃棄対象となる優先度が高い。したがって、ランダ
ムアクセスポイントを含まないが使用頻度が高いセグメ
ントより、ランダムアクセスポイントを含むが使用頻度
が低いセグメントの方が、廃棄対象となる優先度が高
い。
【0015】つまり、本来キャッシュ全体のヒット率を
向上させることを目的としている従来のキャッシュ置換
えアルゴリズムでは、上述した用途において、ランダム
アクセスポイントを含むセグメントのキャッシュヒット
率を上げることはできず、ランダムアクセス時の応答時
間を小さくすることはできない。
【0016】このような事情を鑑み、本発明は、階層記
憶装置において、キャッシュ全体のヒット率の向上を目
的とするのではなく、ランダムアクセスポイントを含む
セグメントのヒット率を向上させることにより、ランダ
ムアクセス時の応答時間を小さくしてユーザの使い勝手
を良くすることを目的とする。
【0017】
【0018】
【0019】
【0020】
【0021】
【0022】
【0023】
【課題を解決するための手段】本発明の請求項1の階層
記憶装置は、データが、該データを分割したセグメント
単位で格納されている、ライブラリ用記憶装置と、この
ライブラリ用記憶装置に格納されている複数のセグメン
トのうちの、一部のセグメントを格納するための、キャ
ッシュ用記憶装置と、あるセグメントが将来ランダムア
クセスされるポイントを含んでいる可能性が、どの程度
あるかを予測するための、ランダムアクセスポイントセ
グメント情報を記憶する記憶手段と、前記データ上のあ
るポイントへのシーク要求を受けたときにシークポイン
タが存在していた位置から、該シーク要求で指定された
該ポイントまでのシーク幅に応じて、前記記憶装置に記
憶される該ポイントを含むセグメントのランダムアクセ
スポイントセグメント情報を更新する更新手段と、前記
記憶手段に記憶されたランダムアクセスポイントセグメ
ント情報に基づいて、前記キャッシュ用記憶装置に格納
されている複数のセグメントから廃棄するセグメントの
候補を選択する制御手段とを備えたことを特徴とする。
【0024】また、本発明の請求項2の階層記憶装置
は、データが、該データを分割したセグメント単位で格
納されている、ライブラリ用記憶装置と、このライブラ
リ用記憶装置に格納されている複数のセグメントのうち
の、一部のセグメントを格納するための、キャッシュ用
記憶装置と、あるセグメントが将来ランダムアクセスさ
れるポイントを含んでいる可能性が、どの程度あるかを
予測するための、ランダムアクセスポイントセグメント
情報を記憶する記憶手段と、前記データ上のあるポイン
トから連続して順次アクセスされたデータ量が所定の閾
値を超えた場合に、前記記憶装置に記憶される順次アク
セスが開始されたポイントを含むセグメントのランダム
アクセスポイントセグメント情報を更新する更新手段
と、前記記憶手段に記憶されたランダムアクセスポイン
トセグメント情報に基づいて、前記キャッシュ用記憶装
置に格納されている複数のセグメントから廃棄するセグ
メントの候補を選択する制御手段とを備えたことを特徴
とする。
【0025】
【0026】
【0027】
【0028】また、装置に係る各請求項の発明は、方法
に係る発明としても把握される。例えば、本発明に係る
階層記憶制御方法は、それぞれ複数のセグメントから成
る複数のデータが格納されているライブラリ用記憶装置
とこのライブラリ用記憶装置に格納されている複数のセ
グメントのうちの一部を格納するためのキャッシュ用記
憶装置とにより構成される階層記憶を制御する方法であ
って、あるセグメントが将来ランダムアクセスされるポ
イントを含んでいる可能性が、どの程度あるかを予測す
るための、ランダムアクセスポイントセグメント情報を
記憶し、前記データ上のあるポイントへのシーク要求を
受けたときにシークポインタが存在していた位置から、
該シーク要求で指定された該ポイントまでのシーク幅に
応じて、前記記憶された該ポイントを含むセグメントの
ランダムアクセスポイントセグメント情報を更新して記
憶し、前記記憶されたランダムアクセスポイントセグメ
ント情報に基づいて、前記キャッシュ用記憶装置に格納
されている複数のセグメントから廃棄するセグメントの
候補を選択することを特徴とする。
【0029】
【0030】
【0031】
【0032】
【0033】
【0034】
【0035】
【0036】
【0037】
【0038】
【発明の実施の形態】以下図面を参照しながら、本発明
の実施形態について説明する。
【0039】まず最初に本実施形態に係る階層記憶装置
の構成の概要について、図1を参照しながら説明する。
入出力部11は本装置の外部とのインターフェースにあ
たる部分である。本装置がホスト計算機に接続されて動
作する機器として構成される場合には、入出力部11は
ホスト計算機との接続インターフェースとその制御ソフ
トウェアを含み、ホスト計算機との間で要求とデータの
送受信を行なう。本装置がファイルサーバとして動作す
る計算機として構成される場合には、入出力部11は、
ネットワークインターフェースとその制御ソフトウェア
を含み、クライアントとの間で要求とデータの送受信を
行なう。
【0040】二次記憶装置(以下ライブラリと呼ぶ)1
4は、安価で大容量を実現するために、磁気テープ装
置、あるいは磁気テープ装置のオートチェンジャ、ある
いはリムーバブルディスクのオートチェンジャで構成さ
れる。ライブラリには、本実施形態の階層記憶装置に格
納する全てのデータをセグメントに分割して格納する。
セグメントとは、データをシステム固有の大きさに分割
した管理単位である。セグメントの大きさは、ライブラ
リとキャッシュ用記憶装置の総容量と転送速度、データ
を利用する際の転送速度等を考慮して定められる。
【0041】一次記憶装置(以下キャッシュと呼ぶ)1
5は、ライブラリよりも高価で小容量ではあるが、ラン
ダムアクセス性が高くアクセス時の応答時間が小さいハ
ードディスク装置で構成される。キャッシュにはライブ
ラリに格納されているセグメントのうちの一部のセグメ
ントを一時的に格納しておく。キャッシュ上のセグメン
トは、ライブラリに格納されているセグメントをコピー
したものである。ただし、セグメントの書き込みが行な
われた場合には、一時的にキャッシュ上のセグメントの
方が新しい内容となり、ライブラリの対応するセグメン
トと内容が異なることもある。
【0042】図1における要求処理部12、セグメント
転送管理部13、RAP候補検出部16、廃棄セグメン
ト選択部17、および格納セグメント選択部18をまと
めて、制御手段として構成することが可能である。制御
手段は、ライブラリとキャッシュの間のセグメント転送
を制御して、平均応答時間の短縮や総転送能力の向上な
ど、階層記憶装置として重視される性能を向上させるよ
うに動作する。本実施形態では、キャッシュ上に格納す
るセグメントやキャッシュ上から廃棄するセグメントを
選択する際に、それらの判断の材料の一つとしてRAP
セグメント情報記憶部19に記憶されたRAPセグメン
ト情報を用いる。
【0043】なお、この制御手段を構成する各部は、ソ
フトウェアによっても、ハードウェアによっても、ソフ
トウェアとハードウェアの組合せによっても、実現する
ことが可能である。ソフトウェアにより実現する場合、
上記各部の機能を実行するように記述されたプログラム
を、そのプログラムを記憶した媒体から汎用のコンピュ
ータに読み込んでインストールすることにより、本装置
を実現することができる。
【0044】RAPセグメント情報は、各セグメントが
将来ランダムアクセスされる可能性を推測するために、
過去の要求からランダムアクセスに関する情報を蓄積し
たものである。
【0045】また、RAPセグメントとは、RAPセグ
メント情報に基づいて将来ランダムアクセスされるポイ
ントを含む可能性が高いと判定されるセグメントのこと
である。
【0046】制御手段は、記憶されたRAPセグメント
情報を参照することにより、各セグメントがRAPセグ
メントであるか否かの判定をしたり、あるいは、各セグ
メントが将来ランダムアクセスされる可能性を数値とし
て得る。
【0047】次に、本実施形態に係るキャッシュ上のセ
グメントの置換え方式について説明する。制御手段は、
入出力部11を介して外部からアクセス要求を受信する
と、要求処理部12でその要求を解析して、指定された
ポイントを含むセグメントがキャッシュ15に格納され
ている場合は、そのセグメントをアクセスする。格納さ
れていない場合は、そのセグメントをライブラリ14か
らキャッシュ15へコピーするためのセグメント転送要
求を、セグメント転送管理部13に出す。セグメント転
送管理部13は、複数のセグメント転送要求をスケジュ
ーリングして、ライブラリに格納されているセグメント
をキャッシュにコピーする。要求処理部12がセグメン
トへアクセスするのは、セグメントのコピーの終了後で
も良いし、セグメントのコピーとアクセスをパイプライ
ン的に並行に処理してもよい。
【0048】制御手段では、新たにセグメントをキャッ
シュに格納する必要が生じた際に、キャッシュ上に必要
な大きさの領域を割り当てる。必要な大きさの領域が空
いていない場合には、キャッシュに格納されている他の
セグメントを廃棄して必要な大きさの領域を確保する。
この時、セグメント転送管理部13は廃棄セグメント選
択部17に廃棄候補の選択を要求する。廃棄セグメント
選択部17は、記憶部19のRAPセグメント情報を参
照して、その参照結果を用いて廃棄優先順位を決定す
る。そして廃棄優先順位がもっとも高いセグメントを廃
棄候補として選択して、セグメント転送管理部13にそ
の結果を伝える。
【0049】廃棄優先順位を決定するキーにはRAPセ
グメント情報以外の情報もあり得るが、それらを組み合
わせた例は以降の詳細な実施例で示す。
【0050】なお、全てのセグメントについて廃棄優先
順位を決定する必要はなく、順位がもっとも高いセグメ
ントを決定できる様に一部のセグメントの順位のみを計
算しても良い。
【0051】また、廃棄優先順位の決定に必要な計算
は、廃棄セグメント選択部17が呼ばれた(廃棄候補の
選択を要求された)時点で全ての計算を行なうのではな
く、廃棄優先順位を決定するキーに変化があった時点で
随時計算しておいてもよい。
【0052】以上により、以降にランダムアクセスが行
なわれた時点でそのランダムアクセスポイントを含むセ
グメントがキャッシュ上に残っている確率が高くなる。
【0053】キャッシュにセグメントを格納するのは、
そのセグメントに含まれるデータにアクセスする時点だ
けではない。例えば、その後アクセスされる可能性の高
いセグメントを前もってキャッシュ上に先読みしておく
ことも有用である。そこで制御手段には格納セグメント
選択部18を用意する。
【0054】格納セグメント選択部18では、アクセス
要求で指定されたポイントを含むか否かに関係なく、キ
ャッシュ上に存在しないセグメントのなかから先読みす
べきセグメントの候補を選択し、その先読み候補をキャ
ッシュに格納するべきか否かを判断して、セグメント転
送要求をセグメント転送管理部13に出す。
【0055】例えば、openされているデータとop
enされていないデータとでは、openされているデ
ータの方が近い将来にアクセスされる可能性が高いと推
測できる。そこで、格納セグメント選択部18では、o
penされているデータに属するセグメントでかつラン
ダムアクセスポイントとなる可能性の高いセグメント
を、先読み候補として選択するようにすると良い。この
時、格納セグメント選択部18は、記憶部19のRAP
セグメント情報を参照して、その参照結果を用いて先読
み候補の選択および先読みの可否の判断を行なう。
【0056】なお、先読み候補の選択および先読みの可
否の判断のキーとしては、RAPセグメント情報だけで
なく、各データのopen/closeの状態など、複
数のキーが含まれ得る。先読み候補の選択および先読み
の可否の判断は、それらのキーに変化があった時点で随
時行われる。
【0057】以上により、openされたデータに属す
るセグメントのうち、ランダムアクセスされる可能性の
高いポイントを含むセグメントが、実際にアクセスされ
る以前にキャッシュに先読みされる可能性が生じる。し
たがって、以降にランダムアクセスが行なわれた時点で
そのポイントを含むセグメントがキャッシュ上に既に格
納されている確率が高くなる。
【0058】次に、RAPセグメント情報に蓄積すべき
ランダムアクセスに関する情報を得る方法について説明
する。本装置では、クライアントまたはホスト計算機の
要求から、ランダムアクセスに関する情報を得る。制御
手段は入出力部11を介して各種の要求を受信すると、
その要求はRAP候補検出部16に通知される。RAP
候補検出部16では、その要求およびそれまでの要求の
履歴を参照して、RAP候補が存在するかどうかを調べ
る。RAP候補を検出した場合には、そのポイントを含
むセグメントのRAPセグメント情報を更新する。
【0059】RAP候補は単純にseek要求で指定さ
れたポイントとしても良いが、RAPセグメント情報で
必要となるランダムアクセスに関する情報を得るため
に、本発明を実施するシステム全体の用途やユーザの操
作の傾向を考慮して定められた条件を満たすポイントを
RAP候補とすることが望ましい。
【0060】以下では、RAP候補を検出するためのヒ
ューリスティックな方法を幾つか挙げる。ランダムアク
セスを行なう場合には必ずそのポイントへのseek要
求がクライアントまたはホスト計算機から出される。
【0061】一つ目の方法では、このseek要求で指
定されたポイントを含むセグメントのRAPセグメント
情報を更新する。図2(a)にこの条件を満たすポイン
トの例を示す。
【0062】ところで、大容量のストリームデータを扱
う用途では、seek要求で指定されたポイントが、必
ずしもクライアント側のユーザがランダムアクセスを意
図したポイントであるとは限らない。例えば、データを
高速に再生する際に、ステップ幅の小さいseekと少
量のデータアクセスを繰り返すスキップ方式が採用され
る場合がある。このような場合に全てのseek先をラ
ンダムアクセスポイントであると判断すると、スキップ
方式で高速再生される全てのセグメントをランダムアク
セスであるとみなしてしまう。
【0063】そこで、二つ目の方法では、このようなア
クセスの間はランダムアクセスではないと判断し、se
ek幅がある閾値より大きい場合に、そのseek先を
RAP候補として検出する。すなわち、seek幅の大
きいseek先を含むセグメントのRAPセグメント情
報を更新し、seek幅の小さいseek先を含むセグ
メントのRAPセグメント情報は更新しない。もしく
は、繰り返された各seekのステップ幅が小さい程ラ
ンダムアクセスされる可能性が小さいことを示すよう
に、各seek先を含む各セグメントのRAPセグメン
ト情報を更新する。図2(b)にこの条件を満たすポイ
ントの例を示す。
【0064】また、一般には、データを高速に再生する
ということは、ユーザが必要とするポイントをサーチす
る目的で行なわれる。したがって、データを高速に再生
した後の通常再生開始ポイントが、ユーザの意図したラ
ンダムアクセスポイントである場合が多い。しかし、そ
のようなポイントはseek要求やseek幅だけでは
推測できない。
【0065】そこで、三つ目の方法では、seek後に
順次アクセスしたデータ量に着目する。すなわち、se
ek後に順次アクセスしたデータ量をカウントして、そ
のデータ量が例えばスキップ方式で順次アクセスされる
データ量を越えた場合は、高速再生後の通常再生が開始
されたと推測できる。したがって、その場合には、se
ek後に所定値以上のデータ量の順次アクセスが開始さ
れたポイントをRAP候補として検出する。すなわち、
seek後に相当量の順次アクセスが開始されたポイン
トを含むセグメントのRAPセグメント情報を更新し、
それ以外のseek先についてはRAPセグメント情報
を更新しない。もしくは、繰り返された各seekの後
の順次アクセスデータ量が小さい程ランダムアクセスさ
れる可能性が小さいことを示すように、各seek先を
含む各セグメントのRAPセグメント情報を更新する。
図2(c)にこの条件を満たすポイントの例を示す。
【0066】また、高速再生後に通常再生が開始された
場合でも、そのポイントがユーザの意図したものでない
ことがある。その時にはユーザは短時間の再生でそのこ
とに気付いて、再び高速再生によるサーチを行なうと考
えられる。すると、seek後に順次アクセスしたデー
タ量が大きい程、よりユーザが意図したランダムアクセ
スポイントである可能性が高いと推測できる。したがっ
て、seek後に相当量の順次アクセスが開始されたポ
イントを含むセグメントのRAPセグメント情報を更新
する(それ以外のseek先についてはRAPセグメン
ト情報を更新しない)際に、seek後に順次アクセス
したデータ量が大きい程ランダムアクセスされる可能性
が大きいことを示すように、RAPセグメント情報を更
新するようにしても良い。
【0067】上記は、今後のランダムアクセスの傾向
を、過去のseek要求やread要求から推測するも
のである。
【0068】ここで、ユーザの意図するランダムアクセ
スポイントをあらかじめ登録することができれば、この
登録された情報を基に最も確実にランダムアクセスポイ
ントを推測できる。このため、ユーザが直接的にランダ
ムアクセスポイントを指定して登録しても良いが、ユー
ザのランダムアクセスに関する嗜好の情報をあらかじめ
記憶しておき、データを解析してそのデータの性質と記
憶されたユーザの嗜好とを照らし合わせてランダムアク
セスポイントを推測し、これを登録するようにすれば、
ユーザが使用する以前にRAPセグメント情報を更新す
ることも可能である。いずれの場合も、RAP候補検出
部16は、データ上のあるポイントをランダムアクセス
ポイントとして登録する要求を受けた時点で、そのポイ
ントを含むセグメントのRAPセグメント情報を更新す
る。
【0069】本装置においては、クライアントやホスト
計算機を含めたシステム全体の用途や準備されている要
求の種類に応じて、ランダムアクセスポイントをより効
率的に推測できる手段を、上述した手段のうちから選択
して備えれば良い。
【0070】本装置にて用いるRAPセグメント情報に
は幾つかの形態があり得、RAPセグメント情報記憶部
19や、RAP候補検出部16からの更新、廃棄/格納
セグメント選択部17/18からの参照も、それに合わ
せた形態をとる。
【0071】RAPセグメント情報の記憶形態の第一の
例は、RAPセグメントに対応するエントリを持つリス
トまたはテーブルを構成する形態である。図3(a)お
よび図3(b)にそれぞれの例を示す。
【0072】このように構成したRAPセグメント情報
を更新するためには、上記のリストまたはテーブルに対
するエントリの追加と削除の手段を用意する。RAP候
補検出部16でRAP候補を検出して、そのポイントを
含むセグメントのRAPセグメント情報を更新する場合
には、上記のリストまたはテーブルに該当セグメントの
エントリを追加する。また逆に、上記のリストまたはテ
ーブルに含まれているエントリに対応するセグメントが
RAPセグメントと判定されなくなった場合には、その
エントリを上記のリストまたはテーブルから削除する。
【0073】RAPセグメント情報の記憶形態の第二の
例は、各セグメントに対し過去にランダムアクセスに関
する操作が行なわれた傾向を数値で表す形態である。こ
の形態では、各セグメント毎にRAP候補を含む傾向を
表すRAPカウンタを用意する。図3(c)にその例を
示す。なお、図3(c)中の参照カウンタとkeepカ
ウンタについては後述する。
【0074】このように構成したRAPセグメント情報
を更新するためには、指定されたセグメントのRAPカ
ウンタを増減させる手段を用意する。上述したように、
RAP候補検出部16においてRAP候補を検出した際
のseek幅や順次アクセスされたデータ量などに応じ
て、ここでのRAPカウンタの増分値を変更しても良
い。また、図2に示したRAP候補検出の条件のうち、
どの条件により検出されたRAP候補であるかに応じ
て、ここでのRAPカウンタの増分値を変更しても良
い。
【0075】RAPセグメント情報を参照する第一の形
態として、指定されたセグメントがRAPセグメントか
否かを判定する形態がある。これは、RAPセグメント
情報を必要とする全ての場面で同一の判定基準を適用す
れば足りる場合に適している。
【0076】RAPセグメント情報記憶部19にRAP
セグメントのエントリを記憶する(RAPセグメントで
ないセグメントのエントリは記憶しない)形態において
は、指定されたセグメントのエントリが記憶部19のリ
ストまたはテーブルに含まれている場合にそのセグメン
トがRAPセグメントであると判定すれば良い。
【0077】RAPセグメント情報記憶部19にRAP
カウンタを有する形態においては、指定されたセグメン
トのRAPカウンタがある閾値以上の場合にそのセグメ
ントがRAPセグメントであると判定すれば良い。
【0078】RAPセグメント情報を参照する第二の形
態としては、RAPセグメント情報記憶部19に記憶さ
れた情報自体を参照する(単純に記憶された情報を読み
出す)形態がある。これは、RAPセグメント情報を必
要とする参照部位毎に異なる解釈がなされる可能性があ
る場合に適している。例えば、指定されたセグメントが
RAPセグメントか否かを判定する判定基準が参照部位
毎に異なる場合や、RAPカウンタの値を基準にセグメ
ントをソートする処理を行うべき参照部位がある場合、
あるいは記憶部19のリストを順に検索する処理を行う
べき参照部位がある場合等である。
【0079】なお、RAPセグメント情報は、廃棄セグ
メント選択部17と格納セグメント選択部18で参照さ
れるが、各部位での参照方法や参照結果の利用方法が異
なっていてもかまわない。例えば、廃棄セグメントの選
択の際にはRAPセグメントか否かの判定結果を用いて
セグメントを分類するという利用をし、格納セグメント
の選択の際にはRAPカウンタの値を参照してセグメン
トをソートするという利用をしても良い。
【0080】以下では、上述した本実施形態に係る装置
を、動画像や音声等の大容量リアルタイムストリームを
扱うサーバとして実現した場合の、さらに具体的な実施
の形態について説明する。
【0081】まず、この具体例に係るシステムの構成を
説明する。本階層記憶装置はネットワークを介してクラ
イアント装置と接続される。クライアント装置はユーザ
の操作に従い、ネットワークを介してリアルタイムスト
リームを階層記憶装置から読み出して再生する、あるい
は階層記憶装置に記録する。
【0082】クライアント装置は、ユーザがリアルタイ
ムストリームを扱うための操作手段を有する。例えば、
再生、録画、高速再生(早送り)、高速逆再生(巻戻
し)、一時停止、インデクス付加、インデクス再生等の
操作が可能であるクライアント装置と、それらの操作ボ
タンを備えたリモートコントロール装置を用意する。も
しくは、それらの操作ボタンをクライアント装置の画面
に表示して、マウス等のポインティングデバイスで選択
できるようにしても良い。
【0083】クライアント装置はユーザの操作に応じて
階層記憶装置に各種の要求を出す。データを一般のファ
イルとして扱う場合は、open、seek、rea
d、write、close等の一般的なファイル操作
要求を用意する。データをリアルタイムストリームとし
て扱う場合、ユーザが再生や早送り等の操作を行なった
時点で、その操作に応じた上記の一般的なファイル操作
要求をクライアント装置側で組み合わせて階層記憶装置
側に出す。もしくは、それぞれのユーザの操作に対応す
る個別の要求を用意して、階層記憶装置側に出しても良
い。
【0084】次に、本具体例における構成と動作を説明
する。ライブラリ用記憶装置14として、光ディスクを
複数枚収納可能なオートチェンジャ、キャッシュ用記憶
装置15として、ハードディスク装置を使用する。入出
力部11として、ネットワークインタフェースとその制
御ソフトウェアを備える。
【0085】リアルタイムストリームデータ(コンテン
ツ)は、システム固有の大きさのセグメントに分割され
ライブラリ14に記録される。ライブラリ上のデータの
格納状況を管理するために、各セグメントが格納されて
いるメディアの番号とそのメディア上の記録位置を記憶
するインデクステーブルを制御手段内に保持する(例え
ば図3(c))。また、各メディアの使用容量や残り空
き容量も制御手段内に保持する。
【0086】同様に、キャッシュ15を管理するための
各種情報も制御手段内に保持する。具体的には、キャッ
シュの使用容量や残り空き容量と、キャッシュに格納さ
れたセグメントを管理するテーブルを制御手段内に持
つ。また、ライブラリとキャッシュ間のセグメント転送
が複数同時に生じた場合のために、それらのセグメント
転送要求を一時的に保持するリストを備える。セグメン
ト転送管理部13は、セグメント転送が可能になった時
点で随時、処理の順序をスケジューリングしてセグメン
ト転送を行なう。なお、セグメント転送時のセグメント
の置換え方式については後述する。
【0087】次に、クライアントからの要求に応じて、
階層記憶装置からクライアント装置へデータをリアルタ
イムストリームとして送信する際の基本的な動作につい
て簡単に説明する。
【0088】要求処理部12は、入出力部11を介して
クライアントからのopen要求を受けると、新しいリ
アルタイムストリームに対応するストリーム管理情報を
作成する。ストリーム管理情報には、openしたデー
タに関する情報(識別子やアクセス権等)、割り当てら
れた種々の資源(使用するバッファ等)、現在アクセス
しているポイントがデータの先頭から何バイト目かを表
すseekポインタが含まれる。
【0089】クライアントからのread要求を受けて
データにアクセスする際には、要求処理部12は、キャ
ッシュ14上のセグメントにアクセスする。seekポ
インタが指すポイントを含むセグメントがキャッシュ上
に格納されていない場合には、まずセグメント転送要求
を出して、その転送要求が実行されてからキャッシュ上
のセグメントにアクセスする。
【0090】また、要求処理部12は、動画像や音声等
の大容量リアルタイムストリームを再生する場合には、
データを順次アクセスすると推測できるので、アクセス
するポイントを含むセグメントに加えて、それ以降の連
続する複数のセグメントをキャッシュ上に先読みするセ
グメント転送要求を出す。
【0091】なお、リアルタイムストリームの連続性を
保証するためには、アクセスしているセグメントと先読
みするセグメントを格納する領域を常にキャッシュ上に
確保できることを保証する必要がある。そこで、キャッ
シュの総容量のうち、その時点での全てのリアルタイム
ストリームで確保されているサイズを管理する。ope
n要求を受けた時に、新しいリアルタイムストリームで
必要となるサイズをキャッシュ上に確保できない場合に
は、open要求を拒否する。
【0092】本具体例においても、RAPセグメント情
報に基づき、キャッシュ上に格納するセグメント、ある
いはキャッシュ上から廃棄するセグメントを選択するこ
とは前述の通りである。以下には、上述したRAPカウ
ンタを用いる方式における、RAPセグメント情報の構
成とその利用方法を具体的に示すが、これを適宜変形し
て上述したRAPセグメントのエントリをリストもしく
はテーブルに記憶する方式で実施することは当業者にと
っては十分に可能であり、いずれの方式での実施も本発
明の範囲である。
【0093】RAPセグメント情報記憶部19として
は、各セグメントのRAPカウンタをエントリとする専
用のテーブルを用意しても良いが、前述の様にライブラ
リを管理するためのインデクステーブルを持つ場合に
は、それを流用してインデクステーブルにRAPカウン
タのフィールドを追加しても良い(図3(c)参照)。
これにより、RAPカウンタ専用のテーブル上でのエン
トリの追加と削除の手続きを新たに用意する必要がなく
なる。
【0094】ライブラリ上にデータが追加されて新たに
セグメントが生成されると、インデクステーブルにその
セグメントのエントリが追加され、そのエントリのRA
Pカウンタの値は0に初期化される。RAPカウンタの
更新は、RAP候補検出部16がRAP候補を検出した
時点で行われる。以下にRAP候補の検出条件を挙げ
る。
【0095】条件1: 制御手段でseek要求を受け
た時点で、そのseek要求で指定されたポイントをR
AP候補として検出する(図2(a)参照)。
【0096】条件2:クライアントでの早送りまたは逆
再生がスキップ方式で実現される場合のスキップするs
eek幅をnとすると、制御手段でseek要求を受け
た時点で、現在のseekポインタが指すポイントから
そのseek要求で指定されたポイントまでの幅がnよ
り大きい場合に、そのseek要求で指定されたポイン
トをRAP候補として検出する(図2(b)参照)。
【0097】条件3:順次アクセスが開始されたポイン
トを記録するポインタPと、そのポイントからの順次ア
クセスデータ量を記録するカウンタCを用意しておき、
open要求を受けたら、ポインタPはデータの先頭、
カウンタCは0で初期化する。seek要求を受けた
ら、ポインタPにはseek先のポイント、カウンタC
には0を代入する。read要求を受けると、そのアク
セスサイズをカウンタCに加算する。クライアントでの
早送りまたは逆再生がスキップ方式で実現される場合の
順次アクセスデータ量をmとすると、カウンタCがmを
越えた時点で、ポインタPをRAP候補として検出する
(図2(c)参照)。
【0098】条件4:クライアント装置から本階層記憶
装置への要求として、ランダムアクセスポイントの登録
要求が用意されている場合、その登録要求を受けた時点
で、指定されたポイントをRAP候補として検出する。
【0099】なお、RAP候補検出部16では、上記の
4個の条件全てを調べる手段を備える必要はない。クラ
イアントに用意されている要求やそのアクセスパターン
を考慮して、例えば上記の4個の条件の中からRAP候
補を適切に検出できると予想される条件をあらかじめ選
んで記憶しておき、記憶している条件のいずれかを満た
すポイントを検出してRAPセグメント情報を更新する
手段を備えればよい。
【0100】例えば、スキップ方式で早送り/逆再生を
行うことがあらかじめわかっている場合には、条件1を
考慮せず、条件2、3、4のみを組み合わせるようにす
ると良い。
【0101】RAPカウンタの更新方法としてもっとも
単純な方式は、RAP候補を検出する度にそのRAP候
補を含むセグメントのRAPカウンタを1増加させる方
式である。しかし、RAP候補検出の条件の種類や、R
AP候補検出時の状態(seek幅や順次アクセス量)
によって、その後ランダムアクセスポイントとなる可能
性が異なると考えられる場合には、RAPカウンタの増
分を異なる値にすると良い。
【0102】例えば、クライアントからのランダムアク
セスポイントの登録要求が用意されている場合には、登
録要求されたポイントは、seek要求の傾向から本階
層記憶装置の側でRAP候補を予測するその他の条件に
よるポイントよりも、その後ランダムアクセスポイント
となる可能性が高いと考えられる。そこで、条件4でR
APカウンタを更新させる場合には、他の条件よりもR
APカウンタの増分値を大きくすると良い。
【0103】条件1、2ではseek要求に基づいてR
APカウンタを更新するが、そのseek幅に応じてR
APカウンタの増分値を変えても良い。例えば、see
k幅が小さければそのseek先はキャッシュ上に先読
みされている可能性がある。そこで、seek幅が大き
いほどRAPカウンタの増分値を大きくする。
【0104】条件3では順次アクセスするデータ量に基
づいてRAPカウンタを更新するが、そのデータ量に応
じてRAPカウンタの増分値を変えても良い。例えば、
早送りによるサーチ後に通常再生を開始したが、ユーザ
の目的のポイントではなかったため短時間で再び早送り
を開始する場合、その後ランダムアクセスポイントとな
る可能性は低いと考えられる。そこで、順次アクセスす
るデータ量がある閾値(例えば10秒の再生に必要なデ
ータ量)を越えた時点で、再びRAPカウンタを増加さ
せる。
【0105】また、クライアントにおいて、データにあ
らかじめ設定されたポイントにはランダムアクセスでき
るが、ユーザが早送り等で見つけたポイントを後からラ
ンダムアクセスポイントとして指定することができない
場合には、条件3はあまり意味を持たない。そのような
場合には、条件3よりも他の条件でRAP候補を検出し
た場合のRAPカウンタの増分値を大きくすると良い。
【0106】RAPセグメント情報を参照する手段とし
ては、指定のセグメントのRAPカウンタの値を参照す
る手段と、RAPカウンタの値に基づいて指定のセグメ
ントがRAPセグメントであるかどうかを判定する手段
のうち少なくとも一方を用意すれば良い。
【0107】RAPカウンタの値を参照する手段は、指
定されたセグメントのデータ識別子とデータ内でのセグ
メント番号から、インデクステーブル内での対応するエ
ントリを決定し、そのエントリのRAPカウンタフィー
ルドの値を返すように構成すれば良い。
【0108】RAPセグメントか否かを判定する手段
は、指定されたセグメントのRAPカウンタの値を参照
し、それがある閾値T以上の場合にはRAPセグメント
であるとの判定結果を、そうでない場合には通常のセグ
メントであるとの判定結果を返すように構成すれば良
い。
【0109】なお、閾値Tは状況に応じて変化する値で
あってもよい。また、指定されたセグメントが属するデ
ータ毎に閾値Tを変えても良い。例えば、指定されたセ
グメントが属するデータについて、そのデータに属する
全てのセグメントの平均値の一次関数で表される値を閾
値Tとする。
【0110】以上、RAPセグメント情報をどのように
蓄積し、参照するかを説明してきた。以下では、RAP
セグメント情報を用いてライブラリとキャッシュ間での
セグメント転送をどのように制御するかを説明する。
【0111】キャッシュに新たにセグメントを格納する
際には、制御手段はキャッシュ上に必要な大きさの領域
を割り当てる。この時、十分な領域が空いていない場合
にはキャッシュ上の他のセグメントを廃棄して空き領域
をつくる。この例では、セグメントの廃棄優先順位のキ
ーとして、以下の情報を考慮する。 (1)RAPセグメント情報 (2)そのセグメントの属するデータがopen状態か
close状態か (3)そのセグメントがkeep状態かどうか 廃棄セグメント選択部17では、少なくともRAPセグ
メント情報を含めてこれらの情報を組み合わせることに
よりキャッシュ上のセグメントの廃棄優先順位を定め、
その順位の最も高いセグメントを廃棄するセグメントの
候補とする。
【0112】なお、あるデータがopen状態であると
は、少なくとも一つのストリームからopenされてい
る状態を意味する。逆に、あるデータがclose状態
であるとは、そのデータをopenしているストリーム
が存在しない状態を意味する。各データがopen状態
かclose状態かを参照するためには、各データ毎に
参照カウントを用意すれば良い。データがストリームか
らopenされると対応する参照カウンタが1増加し、
closeされると対応する参照カウンタが1減少す
る。あるデータに対応する参照カウンタを参照して、そ
の値が0より大きい時はそのデータがopen状態にあ
ると判定できる。
【0113】また、セグメントをkeepするとは、今
後近い将来そのセグメントにアクセスすると宣言するこ
とを意味する。keep状態のセグメントは、一旦キャ
ッシュに格納された後はkeep状態が解除されるまで
の間キャッシュ上に格納されていることを保証される。
【0114】本具体例では、リアルタイムストリームを
送る際に、アクセスするポイントを含むセグメントをk
eepする。また、そのセグメント以降の先読みすべき
セグメント(そのセグメント以降の連続する所定数のセ
グメントで、その所定数はシステム仕様により適切な数
を決めておく)もkeepする。それらのセグメントが
キャッシュ上にない場合には、キャッシュへのセグメン
ト転送要求を出す。それらのセグメントを順次アクセス
して、seekポインタがアクセス中のセグメントから
先読みした次のセグメントに移ると、前のアクセス中の
セグメントのkeepを解放する。
【0115】各セグメントをkeepするかどうかはス
トリーム毎に管理される。あるセグメントをkeepし
ているストリームが一つでも存在する場合には、そのセ
グメントはkeep状態にあるとする。各セグメントが
keep状態かどうかを参照するためには、RAPカウ
ンタと同様にインデクステーブルにkeepカウンタの
フィールドを追加する。このkeepカウンタは0で初
期化される。セグメントがストリームからkeepされ
ると対応するkeepカウンタを1増加し、keepが
解放されると対応するkeepカウンタを1減少する。
あるセグメントに対応するkeepカウンタを参照し
て、その値が0より大きい時はそのセグメントがkee
p状態にあると判定できる。
【0116】次に、上記の情報を組み合わせて廃棄優先
順位を決定する方針を説明する。キャッシュに格納され
ているセグメントを、openされているかどうかとR
APセグメントかどうかで以下の4個のカテゴリに分類
する。 (a)close状態のデータに属する通常のセグメン
ト (b)open状態のデータに属する通常のセグメント (c)close状態のデータに属するRAPセグメン
ト (d)open状態のデータに属するRAPセグメント この例では、(a)(b)(c)(d)の順に廃棄優先
順位が高いとみなし、廃棄優先順位が高いカテゴリに含
まれるセグメントから順に廃棄候補とする。ただし、k
eepされているセグメントは廃棄候補として選択しな
い。上記カテゴリへの分類を行ってから、keepされ
ているセグメントを廃棄候補から除外しても良いし、ま
ずkeepされているセグメントを除外してから、上記
カテゴリへの分類(廃棄優先順位の決定)を行っても良
い。
【0117】上記の方針を実現するための実装方式とし
ては、セグメント置き換えが必要となった時にキャッシ
ュ上の全てのセグメントを分類する方式、もしくは、各
カテゴリに対応するセグメントリストを用意してセグメ
ントの状態変化に伴いそのリストを随時更新する方式が
あり得る。ただし、前者ではセグメント置換え時にその
処理が集中するので、リアルタイム処理を行なうシステ
ムでは不都合な場合がある。そこで以降では後者の実装
方式について詳しく説明する。
【0118】図4に、廃棄セグメント選択部17で必要
な情報を管理するために記憶されるデータ構造の一例を
示す。上記のカテゴリに対応する4個のセグメントリス
トが用意されている。各セグメントリストには、対応す
るカテゴリに含まれ、かつキャッシュ上に格納されてい
るセグメントを表すセグメントノードが繋がれる。セグ
メントノードにはそのセグメントが属するデータのデー
タ識別子とセグメント番号とが記録される。
【0119】図5は、セグメントがキャッシュに格納さ
れる際に、そのセグメントに対応するセグメントノード
が繋がれるべきセグメントリストを選択する動作を示す
フローチャートである。
【0120】まず、RAPセグメント情報を参照してそ
のセグメントがRAPセグメントかどうか判定する(S
11,S12)。さらに、そのセグメントが属するデー
タの参照カウントを調べて(S13,S16)、そのデ
ータがopen状態かclose状態かを判定する。こ
れら2種類の判定結果の組合せに応じて、上記の4個の
セグメントリストのうちの1つを選択する(S14,S
15,S17,S18)。
【0121】廃棄セグメント選択部17は、これらのセ
グメントリストに対し、データがopen/close
された時、あるいはセグメントがキャッシュに格納/廃
棄された時、あるいはRAPセグメント情報が更新され
た時に、上記の各リストが正しい状態を示すようにノー
ドの繋ぎ換え/追加/削除を行なう。以下にその具体的
な動作を示す。
【0122】データがcloseされた場合は、図6に
示すように、そのデータの状態がopen状態からcl
ose状態に変わった時(S21Yes)、opene
d_RAPセグメントリストを探索し(S22,S23
〜S27)、そのデータに属するセグメントノード(S
24Yes)をopened_RAPセグメントリスト
から取り除き(S25)、closed_RAPセグメ
ントリストの最後尾に繋ぐ(S26)。さらに、ope
ned_通常セグメントリストを探索し(S28,S2
9〜S33)、そのデータに属するセグメントノード
(S30Yes)をopened_通常セグメントリス
トから取り除き(S31)、closed_通常セグメ
ントリストの最後尾に繋ぐ(S32)。
【0123】データがopenされた場合は、図7に示
すように、そのデータの状態がclose状態からop
en状態に変わった時(S41Yes)、closed
_RAPセグメントリストを探索し(S42,S43〜
S47)、そのデータに属するセグメントノード(S4
4Yes)をclosed_RAPセグメントリストか
ら取り除き(S45)、opened_RAPセグメン
トリストの最後尾に繋ぐ(S46)。さらに、clos
ed_通常セグメントリストを探索し(S48,S49
〜S53)、そのデータに属するセグメントノード(S
50Yes)をclosed_通常セグメントリストか
ら取り除き(S51)、opened_通常セグメント
リストの最後尾に繋ぐ(S52)。
【0124】キャッシュに新たにセグメントを格納した
場合は、図8に示すように、そのセグメントに対応する
セグメントノードを新たに作成する(S61)。そのセ
グメントがRAPセグメントかどうかを判定し、そのセ
グメントが含まれるカテゴリを決定する(S62)。そ
のセグメントを、決定されたカテゴリに対応するセグメ
ントリストの最後尾に繋ぐ(S63)。
【0125】キャッシュ上からセグメントを廃棄した場
合は、図9に示すように、そのセグメントがRAPセグ
メントかどうかを判定し、そのセグメントが含まれるカ
テゴリを決定する(S71)。決定されたカテゴリに対
応するセグメントリストを探索して、廃棄するセグメン
トに対応するセグメントノードをそのセグメントリスト
から取り除き(S72)、そのセグメントノード自体も
削除する(S73)。
【0126】RAPセグメント情報の更新要求が生じた
場合は、図10に示すように、更新前のRAPセグメン
ト情報に基づいてそのセグメントがRAPセグメントで
あったかどうかを判定し、そのセグメントが含まれてい
たカテゴリを決定する(S81)。決定されたカテゴリ
に対応するセグメントリストを探索する(S82)と、
そのセグメントがキャッシュに格納されている場合に
は、そのセグメントに対応するセグメントノードが見つ
かるので(S83Yes)、そのセグメントリストから
そのセグメントノードを取り除き(S84)、RAPセ
グメント情報を更新し(S85)、更新後のRAPセグ
メント情報に基づいてそのセグメントがRAPセグメン
トであるかどうかを判定してそのセグメントが含まれる
カテゴリを決定し(S86)、そのセグメントノードを
更新後のカテゴリに対応するセグメントリストに繋ぎか
える(S87)。そのセグメントがキャッシュに格納さ
れていない場合には、そのセグメントに対応するセグメ
ントノードが見つからないので(S83No)、単純に
RAPセグメント情報の更新を行う(S88)。
【0127】廃棄セグメント選択部17(セグメント転
送管理部13が行なっても良い)は、廃棄セグメントの
選択が必要になった時点で、図11および図12に示す
フローチャートに従って、廃棄候補を選択する。
【0128】廃棄候補を探すカテゴリを、カテゴリ
(a)(b)(c)(d)の順に指定する(S91,S
92No,S93,S94No,S95,S96No,
S97)。指定されたカテゴリ内で廃棄候補を検索する
には、指定カテゴリに対応するセグメントリストの先頭
からセグメントノードを検索し(S101,S102〜
S104)、最初に見つかったkeep状態にないセグ
メントを廃棄候補として選択する(S103Yes)す
る。複数のセグメントを廃棄する必要がある場合には、
必要な数分の廃棄候補が選択されるまで、この動作を繰
り返す。指定カテゴリ内で十分な数の廃棄候補が選択さ
れたら、そこで処理を終了する(S92Yes/S94
Yes/S96Yes/S98Yes)。
【0129】なお、データ識別子とセグメント番号から
対応するセグメントノードを得るために、インデクステ
ーブルの各エントリにセグメントノードへのポインタを
格納するフィールドを追加したり、ハッシュ関数を用意
してもよい。こうすれば、セグメントリストの更新の際
に、RAPセグメントかどうかを判定してそのセグメン
トが含まれるカテゴリに対応するセグメントリストを決
定したり、決定されたセグメントリストを探索してセグ
メントノードを見つけたりする必要がなくなる。
【0130】また、上記のカテゴリ(a)(b)(c)
(d)の順で廃棄優先順位を高いとすると、キャッシュ
上のほとんどをRAPセグメントが占めるようになる可
能性がある。すると、keep状態のセグメントを除い
て、RAPセグメントではない通常のセグメントの格納
/廃棄が頻繁に生じるようになる。ライブラリとキャッ
シュ間のセグメント転送の頻度があまりに増加し、ライ
ブラリの機械的な部品の耐久性に問題が生じるようであ
れば、キャッシュ上でRAPセグメントが占める割合が
ある閾値を越えている場合に廃棄優先順位をカテゴリ
(a)(c)(b)(d)の順に変更すると良い。こう
すれば、ランダムアクセス時の応答時間を小さくするだ
けでなく、ライブラリとキャッシュ間のセグメント転送
の頻度とのバランスをとることが可能になる。
【0131】ここでは、RAPセグメント情報の参照手
段としてRAPセグメントか否かを判定する手段を使用
する例を説明したが、RAPカウンタの値を参照して、
その大きさ自体を廃棄優先順位のキーに含む形態も可能
である。例えば、RAPセグメントを含むカテゴリ
(c)あるいは(d)から廃棄候補を選択する際に、そ
のカテゴリに属するkeep状態にないRAPセグメン
トの中から、RAPカウンタの値が最も小さいセグメン
トを廃棄候補として選択すれば良い。
【0132】具体的には、opened_RAPセグメ
ントリストあるいはclosed_RAPセグメントリ
ストにセグメントノードを繋ぐ際に、RAPカウンタの
値が小さい順にソートされた状態になるように繋げば良
い。
【0133】本具体例では、データへのアクセス要求を
受けた時点で、そのseekポインタが指すポイントを
含むセグメントをキャッシュに転送するだけではなく、
例えば、順次アクセスする際に、アクセスするセグメン
トに続くセグメントをキャッシュに先読みすることは先
に述べた通りである。
【0134】さらに、open状態のデータに属するR
APセグメントは、他のセグメントと比較して近い未来
にランダムアクセスされる可能性が高い。そこで、格納
セグメント選択部18において、先に述べたカテゴリの
うち、カテゴリ(d)に属するセグメントをキャッシュ
に先読みする手段を用意する。
【0135】具体的には、まず、格納セグメント選択部
18で必要なデータを管理するために記憶するデータ構
造として、先読みリストを用意する。先読みリストに
は、open状態のデータに属するRAPセグメントの
うちキャッシュされていないセグメントのセグメントノ
ードを繋ぐ。
【0136】格納セグメント選択部18は、この先読み
リストを、データやセグメントの状態が変化した時点で
更新する。以下にその具体的な動作を示す。
【0137】データがopenされた場合は、図13に
示すように、そのデータの状態がclose状態からo
pen状態に変わった時(S111Yes)、そのデー
タに属する全セグメントを調べ(S112,S113〜
S117)、RAPセグメントであって(S115Ye
s)かつキャッシュ上に格納されていない(S114N
o)セグメントを、先読みリストの最後尾に繋ぐ(S1
16)。
【0138】データがcloseされた場合は、図14
に示すように、そのデータの状態がopen状態からc
lose状態に変わった時(S121Yes)、先読み
リストに繋がっている全セグメントを調べ(S122,
S123〜S126)、そのデータに属するセグメント
があれば(S124Yes)、いずれも取り除く(S1
25)。
【0139】RAPセグメント情報の更新要求が生じた
場合は、図15に示すように、データがopen状態で
あるならば(S131No)、更新前のRAPセグメン
ト情報に基づいてそのセグメントがRAPセグメントで
あったかどうかを判定し(S132)、RAPセグメン
トであったならば(S133Yes)既に先読みリスト
に存在するためRAPセグメント情報を更新して処理を
終了する(S138)。なお、データがclose状態
であるならば(S131Yes)、本例では先読みリス
トにセグメントを載せないことにしているので、同じく
RAPセグメント情報を更新して処理を終了する(S1
38)。ここで、前述のS132に代えて、先読みリス
トの探索を行い、情報更新しようとするセグメントが先
読みリストに繋がっているか否かを、S133の判断に
代えても良い。
【0140】更新前はRAPセグメントではなかった場
合(S133No)、RAPセグメント情報を更新し
(S134)、更新後のRAPセグメント情報に基づい
て判定すると(S135)RAPセグメントである場合
には(S136Yes)、更新の結果新たにRAPセグ
メントと判定されるようになったセグメントを先読みリ
ストの最後尾に繋ぐ(S137)。
【0141】格納セグメント選択部18は、データやセ
グメントの状態が変化した時点で、先読みリストに繋が
れているセグメントをキャッシュに格納するか否かを判
断して、セグメント転送管理部13へセグメント転送要
求を出す(セグメント転送管理部13自身が先読みの格
納の可否を判断しても良い)。
【0142】具体的には、例えば下記のイベントが発生
した時点でキャッシュに格納するか否かの判断を開始す
る。 (1)キャッシュ上のセグメントのkeep状態が解放
された時 (2)open状態のデータがcloseされてclo
se状態に変わった時 (3)open状態のデータに属するセグメントのRA
Pセグメント情報が更新された時 (4)ライブラリ〜キャッシュ間のセグメント転送が終
了した時 (5)空の先読みリストに新たにセグメントが繋がれた
時 先読みリストに繋がれているセグメントをキャッシュに
格納するか否かの判断は、図16に示すフローチャート
に従って行なわれる。
【0143】まず、その時点でセグメント転送を実行中
でなく(S141No)、かつ次に実行すべきセグメン
ト転送要求が存在しない(S142Yes)という条件
を満たすかどうかを調べる。条件を満たさない場合は終
了する。条件を満たす場合は、先読みリストを先頭から
探索し(S143,S144〜S147)、キャッシュ
に格納されているセグメントがあれば(S145Ye
s)、そのセグメントを先読みリストから取り除く(S
146)。これを、キャッシュに格納されていないセグ
メントが見つかるまで繰り返し、見つからない場合には
処理を終了する。
【0144】先読みリストの中にキャッシュに格納され
ていないセグメントが見つかったら(S145No)、
次に、キャッシュからの廃棄候補を選択し(S14
8)、その廃棄候補がカテゴリ(d)に含まれるかどう
かを調べる(S149)。含まれない場合には(S15
0No)、この廃棄候補を先読みリストから見つけたセ
グメントに置き換えるべく、先読み対象セグメントの転
送要求を発行し(S152)、そのセグメントを先読み
リストから取り除く(S151)。含まれる場合には
(S150Yes)そのまま終了する。ここで、kee
p状態になっているセグメントは、キャッシュからの廃
棄候補には選択されない。
【0145】なお、このRAPセグメントの先読み動作
においては、先読みによりキャッシュに格納されるセグ
メントはkeep状態にしない。
【0146】上記の例では、先読みリストに繋がれた時
刻順(FIFO)でセグメント転送要求を出すように動
作するが、そうではなく、ランダムアクセスされる可能
性のより高いRAPセグメントほど優先的にセグメント
転送要求が発行されるように動作するようにもできる。
【0147】そのためには、例えば、RAPセグメント
を上記のタイミングで先読みリストに繋ぐ際に、そのR
APセグメントのRAPカウンタを参照して、RAPカ
ウンタの値が大きい順にセグメントが並ぶようにRAP
セグメントを先読みリストに挿入するようにすれば良
い。
【0148】具体的には、先読みリストの最後尾のセグ
メントから順にRAPカウンタを参照し、挿入するセグ
メントのRAPカウンタの値と比較する。挿入するセグ
メントのRAPカウンタの値以上のRAPカウンタ値を
持つセグメントが見つかると、その後ろにセグメントを
挿入する。
【0149】なお、先読みリストに繋がれているセグメ
ントのRAPカウンタが更新されると、先読みリストの
順序がRAPカウンタ値の大きい順にならない場合も一
時的に生じる。しかし、先に述べた方法でRAPカウン
タを更新する場合、RAPカウンタが更新される状況で
はそのセグメントはkeep状態にある可能性が極めて
高く、先読みリストには繋がれていない場合がほとんど
であると考えられるので、本例では、先読みリストの一
時的な順序の乱れは無視することができる。もし無視で
きない場合には、適当なタイミングで、先読みリストに
繋がれたセグメントを、RAPカウンタ値に基づいてソ
ートすれば良い。
【0150】また、先読みリストのリニアサーチでは実
行速度に問題がある場合には、先読みリストをB+tr
eeとして実現する等の高速化を図ってもよい。
【0151】以上により、openされたデータのRA
Pセグメントは、キャッシュ上に格納されているセグメ
ントの種類や状態に応じて、openされていないデー
タのセグメントや、RAPセグメントではない通常のセ
グメントと置き換えられる。
【0152】このように、本実施形態によれば、see
k要求やアクセス要求等のデータの操作の傾向から、デ
ータの各部分が今後ランダムアクセスポイントとなる可
能性が高いかを予測して、その情報をRAPセグメント
情報として蓄積できる。RAPセグメント情報を利用す
ることにより、キャッシュ上のセグメントを廃棄する必
要がある際に、RAPセグメントをできるだけキャッシ
ュ上に残すように動作できる。また、あるデータがop
enされた時に、RAPセグメントをキャッシュ上に先
読みするように動作できる。したがって、通常の順次ア
クセスとは異なる性質を持つランダムアクセス時のキャ
ッシュヒット率を向上させることができ、その結果、ラ
ンダムアクセス時の平均応答時間を小さくすることが可
能となる。
【0153】以下には、本発明によるデータ再生装置の
実施形態について述べる。本実施形態に係るデータ再生
装置は、基本的な映像データや音声データの記録再生の
操作手段に加えて、 ・再生開始のインデックスとなり得る再生開始位置を自
動的に検出し、検出した位置を再生開始インデックスと
して記録する手段 ・記録されたインデックスに優先順位をつける手段 ・記録されたインデックスの一覧からインデックスを選
択し、選択したインデックスの示す位置からデータ再生
を開始する、インデックス再生の手段 ・操作者が明示的にインデックスを記録する手段 ・記録したインデックスを編集、削除する手段 を提供するものである。
【0154】以降では、本実施形態に係るデータ再生装
置の全体構成と各構成要素の説明を行ない、次に本装置
で用意するインデックスの管理方法と利用方法の概要を
説明する。その後、ユーザの操作を起点として各構成要
素がどのように連係して動作するかを具体的な実施例を
挙げて説明する。
【0155】まず、本実施形態で扱う、再生開始インデ
ックスと、再生開始インデックスのリストについて述べ
る。
【0156】再生開始インデックスとは、本データ再生
装置が再生するデータの再生開始位置を指定して再生を
開始する際に参照する、再生開始位置を示す情報であ
る。再生開始インデックスによって、操作者が、後から
見たい場面を素早く呼び出すことが可能となる。再生開
始インデックスには、例えば、再生開始インデックスを
一意に定める『インデックスの識別子』、再生開始イン
デックスの対象となる『データの識別子』、そのデータ
の再生開始アドレスを示す『シークポイント』、再生開
始インデックスの『記録時刻』、『参照回数』、『イン
デックスの名前』、不用意に再生開始インデックスが削
除されないようにするための『保護フラグ』の要素が含
まれている。
【0157】一方、再生開始インデックスのリストと
は、複数の再生開始インデックスの集合で、リスト構造
またはテーブルとして管理されている(図18を参
照)。
【0158】図17に、本実施形態に係るデータ再生装
置の一構成例を示す。本再生装置は、制御部21、デー
タ通信路に接続されたデータ入出力部22、記憶装置2
3、一時記憶領域24、タイマー25、操作者からの入
力を受け付けるユーザ入力部26、デコーダ27、画面
やスピーカ等の出力装置に接続された出力部29から構
成される。必要に応じて、エンコーダ28、チューナ等
の入力装置に接続された入力部30も備えても良い。
【0159】制御部21は、ソフトウェアとそのソフト
ウェアを実行するためのCPUで構成され、 ・再生開始位置となり得るインデックスの検出 ・インデックスの優先順位付け ・ユーザ入力部26からのユーザ入力の処理 ・ユーザインタフェイスのための表示画面の構成 ・記憶装置23との間での再生開始インデックスのリス
トの読み書き ・一時記憶領域24との間での一時的なデータの読み書
き ・タイマー25の制御 ・データ入出力部22との間の要求とデータの送受信 ・出力部29に対するデータの書き出し ・入力部30からのデータの読み込み を行う。制御部21のソフトウェア本体は、記憶装置2
3に記録されており、記憶装置23に記録された基本ソ
フトウェアによって、必要な部分が一時記憶領域24に
読み込まれる。
【0160】データ入出力部22は、データ通信路を通
して、外部の記憶装置に対する要求とそこに記録されて
いるデータの読み込み/書き出しを扱う部分である。例
えば、本データ再生装置をクライアントとし、ネットワ
ークを経由して、サーバとなる記憶装置(図1のような
階層記憶装置であっても良いしその他の種類のサーバ装
置であっても良い)に対してデータを読み書きする場合
には、データ入出力部22は、ネットワークインターフ
ェイスとその制御ソフトウェアで構成され、サーバとの
間で要求とデータの送受信を行う。
【0161】記憶装置23は、永続的に使うデータを記
録する部分である。本データ再生装置の電源を切っても
その内容が保持されるように、ハードディスクや、不揮
発性RAM等を使用して構成する。記憶装置23には、
代表的には、制御部21のためのソフトウェアと、再生
開始インデックスのリストが記録される。そして、制御
部21からの要求により、記憶装置23内に記録されて
いる内容を読み込んで制御部21へ送信したり、制御部
21から情報を受信して記憶装置23内に書き出したり
する。
【0162】制御部21が記憶装置23内の再生開始イ
ンデックスのリストを扱う手段として、 ・再生開始インデックスの単体、もしくは一括での取得 ・再生開始インデックスの参照カウントのインクリメン
ト ・再生開始インデックスの登録 を用意する。
【0163】一時記憶領域24は、制御部21が一時的
に使用するデータなどを記録する部分である。一時記憶
領域24に記録された内容は本データ再生装置の電源を
切った場合には保持する必要は無く、また、高速なアク
セスができる必要があるので、RAM等を使用して構成
する。一時記憶領域24には、制御部のためのソフトウ
ェアが記録され、さらに、制御部のソフトウェアの作業
領域が設けられる。この作業領域には、再生開始インデ
ックスのリストのキャッシュ、再生開始インデックスの
自動検出のための再生位置記憶、その他が記録される。
制御部のソフトウェアは、本データ再生装置の電源を入
れた時など、ソフトウェアが必要になった時に記憶装置
23から一時記憶領域24に読み込まれる。
【0164】タイマー25は、外部クロックによって駆
動され、タイマー内のカウンタ値をインクリメントして
いく。タイマーは、制御部21によって、再生開始イン
デックスとなり得る再生位置を検出するために使用され
る。制御部21からは、タイマー25の保持しているカ
ウンタ値のゼロリセットと読み出しをおこなう。
【0165】ユーザ入力部26は、操作者の本データ再
生装置への操作入力を制御部21に伝える部分である。
ユーザ入力部26は、本データ再生装置に用意された操
作手段を呼び出すためのボタンやカーソルキー、決定キ
ーなどの電気的な入力装置と、その入力を制御部21に
伝えるための変換器によって構成される。より進んだ構
成として、入力装置をマウスやキーボード、ソフトウェ
アキーボードによって置き換えることもできる。
【0166】デコーダ27は、制御部21から送られて
くる音声/映像データや、制御部21によって作られる
ユーザインタフェイスのための表示画面の構成データを
復号/展開し、出力部29に渡す部分である。
【0167】エンコーダ28は、入力部30から送られ
てくる音声/映像データを符号化し、制御部21に渡す
部分である。
【0168】デコーダ27とエンコーダ28の音声/映
像データを復号/符号化する部分は、ソフトウェアで
も、ハードウェアでも構成することができる。ハードウ
ェアとして構成する場合には、そのための回路を組み込
み、ソフトウェアとして構成する場合には、ソフトウェ
アとソフトウェアの実行のためのCPUおよび記憶領域
のためのRAM、および基本ソフトウェアの記録のため
の記憶装置を組み込む。CPUやRAM、記憶装置は制
御部21のそれと共有することもできる。
【0169】出力部29は、デコーダ27によって復号
/展開されたデータを、画面やスピーカなどの出力装置
に出力する部分である。出力部29は、デコーダ27か
らの出力を出力対象となる装置の扱える形式への変換を
おこなう回路によって構成される。
【0170】入力部30は、チューナなどの入力装置か
らの入力をエンコーダ28へ出力する部分である。入力
部30は、入力装置からの入力を、エンコーダ28が扱
える形式への変換をおこなう回路によって構成される。
なお、本データ再生装置は、エンコーダ、入力部を必ず
備える必要は無く、備えない場合は、再生専用の装置と
して機能する。
【0171】次に、本データ再生装置における、 ・再生開始インデックスの自動的な検出 ・再生開始インデックスのリスト内での優先順位の決定
方法 ・インデックス選択のユーザインタフェイスの基本的な
動作仕様 の概要について説明する。
【0172】まず、図19を参照しながら、再生開始イ
ンデックスとなり得るシークポイントを自動的に検出
し、インデックスのリストとして記憶装置23に記録す
る方法について説明する。
【0173】本実施形態におけるデータ再生装置も含
め、従来の再生装置には、再生のための制御手段とし
て、再生、停止、早送り、巻戻し等の基本的な操作手段
が備えられている。一般的に、操作者は、このような操
作手段を用いてデータ内より自分の再生したい場面を捜
し出す。その際に、高速再生、高速逆再生を用い、大雑
把にデータを操作した後、再生を開始する。再生された
場面が操作者が所望する場面であった場合には、そのま
ま再生を続け、そうでない場合には、再び高速再生、高
速逆再生をおこなう。
【0174】つまり、このようなパターンで操作者が操
作をおこなう中で、ある閾値T0以上の期間継続した再
生が開始されたシークポイント(図19では2番目と4
番目の再生開始点)を検出することが、再生開始インデ
ックスとなり得るシークポイントを検出することにな
る。
【0175】そして、本再生装置では、上記のように検
出したシークポイントから、再生開始インデックスを生
成し、記憶装置23に記録する手段を用意する。記録し
ておくことが出来るインデックスの数は、インデックス
のリストを記録する記憶装置23の容量によって変わ
る。
【0176】また、操作者が再生開始インデックスのリ
ストを後から参照して、リスト中からひとつの再生開始
インデックスを選択し、そのシークポイントからの再生
をおこなうためのインデックス再生の操作手段を用意す
る。
【0177】本再生装置において再生開始インデックス
となり得るシークポイントを上記のように検出するの
は、図1の階層記憶装置において、順次アクセス(再
生)量が大きい場合に順次アクセスの先頭(再生開始
点)をRAP候補として検出する(図2(c))のと同
様の原理を用いている。すなわち、図1の階層記憶装置
においては、図2(c)に示したような条件を満たすポ
イントのRAPセグメント情報を更新し、RAP候補を
含むセグメントがキャッシュに存在する確率が高くなる
ように制御することにより、以降にユーザがコンテンツ
の途中の任意の場所からの再生を指示した時のレスポン
スタイムをサーバ装置側で短くしている。一方、本再生
装置においては、ユーザが初めにサーチした際に図2
(c)と同様の(図19の)条件を満たすポイントをク
ライアント装置側で履歴(再生開始インデックスのリス
ト)として残しておき、以降はその履歴を利用して再生
したい場面を早く呼び出すことができるようにしてい
る。
【0178】次に、インデックスのリストの中での再生
開始インデックスの優先順位を決める方法について説明
する。優先順位を決めるにあたっては、例えば、 ・新しく記録されたもの(新鮮度) ・選択された回数の多いもの(参照回数) ・操作者が明示的にリストに追加した再生開始インデッ
クス をリストの中での順位を上げる。
【0179】操作者がシーク操作の後に閾値以上の期間
の再生をした場合に自動的に再生開始インデックスを記
録する際や、操作者が既に記録されている再生開始イン
デックスを使ってのインデックス再生を開始した際に、
本データ再生装置はその再生開始位置の最終参照時刻を
記録し、参照カウントを増加させる。インデックス再生
をする際や、インデックスの編集をする際など、再生開
始インデックスのリストを表示する際には、このふたつ
のパラメータによって決まる優先順位に基づいた順序で
表示する。この記録された時刻と、参照された回数のふ
たつのパラメータのどちらに重みを置くかは、本データ
再生装置の用途によって変わってくる。
【0180】例えば、高い頻度で参照を繰り返す情報な
ど、直前に参照した再生開始位置を利用することが多い
と考えられる場合には、新鮮度のパラメータへの重み付
けを大きくする。逆に、再生開始位置の選択をする場面
の少ない状況など、過去に選択された回数が多い再生開
始位置を選択する可能性が高いと考えられる場合には、
参照回数のパラメータへの重み付けを大きくする。
【0181】また、操作者が明示的にリストに追加した
ものに関しては、後から参照する可能性が高いと考えら
れるので、あらかじめ高い優先順位でリスト内に記録す
る。
【0182】最後に、操作者が再生開始インデックスを
選択する際のユーザインタフェイスの基本的な動作につ
いて説明する。
【0183】操作者が再生開始インデックス選択画面の
呼び出しの操作をリモートコントロール装置等を使って
本データ再生装置に対しておこなうと、画面に図22の
ようにインデックスのリストの一覧が表示される。この
一覧は、前述のパラメータによって決定される優先順位
が高いものから順番に表示される。表示される再生開始
位置の数は、表示画面の解像度や、本データ再生装置の
用途によって変更する。表示画面の解像度が低いなどの
理由で、一覧に再生開始インデックスの詳しい情報を表
示し切れない場合は、画面上部などに、カーソルの指す
再生開始インデックスの詳しい情報を表示場所を設けて
表示する。
【0184】操作者は、カーソルキー(キーボード)や
マウスなどを使用して、画面上のカーソルを動かし、表
示されたリストの中の希望する再生開始インデックスに
カーソルを合わせ、確定キーを押し、選択を確定する。
操作者が再生開始インデックスの選択を終えると、デー
タ再生装置は、そのインデックスの指すシークポイント
からデータの再生を開始する。
【0185】以下では、本実施形態のデータ再生装置の
具体的な実施例を説明する。第一の例として、サーバ/
クライアント方式による、ネットワークを介したストリ
ーム再生の場合を、第二の例として、ビデオやDVDの
ような取り外し可能な外部の記憶メディアに記録された
データを扱う場合を挙げる。
【0186】まず、第一の例、すなわちネットワークを
経由してサーバとなる記憶装置から映像情報を受け取り
再生する、ネットワーククライアント型の記録再生装置
として本データ再生装置を使用する場合について説明す
る。
【0187】本例においては、図20に示すように、図
17のデータ入出力部22はネットワークインターフェ
イスとして構成され、その制御をおこなうソフトウェア
も含む。本データ再生装置はこのインターフェイスを通
して、サーバとの間で要求とデータの送受信をおこな
う。
【0188】本データ再生装置は、再生/インデックス
再生、停止/一時停止、高速再生(早送り)、高速逆再
生(巻戻し)、インデックス付け、インデックス編集の
操作手段を有する。これらの操作をサーバへ伝える際
に、サーバ側の実施形態で述べたopen、seek、
read、write、close等のファイル操作要
求に変換して伝えても構わない。これに加えてエンコー
ダ、入力部をデータ再生装置が備えている場合は、録画
をおこなうことができる。サーバに同等の録画をおこな
うための装置が備えられている場合は、サーバのエンコ
ーダ、入力部を使用して録画をおこなえばよいので、本
データ再生装置では必ずしもエンコーダ、入力部を備え
る必要はない。
【0189】通常の再生の場合、操作者が再生開始の操
作をおこなうと、ユーザ入力部26は制御部21に対し
てその入力を伝える。制御部21は、データ入出力部2
2を通して、サーバに対しデータ転送の要求を出す。デ
ータ転送の要求には、データ識別子、読み出し開始位置
が含まれる。サーバは、サーバの持つ記憶装置内の、受
け取ったデータ読み出し位置から指定されたデータを読
み出し、データ入出力部22にデータを転送する。制御
部21は、データ入出力部22から受け取ったデータを
デコーダ27に転送する。デコーダ27はデータを順次
復号化し、出力装置である画面やスピーカに出力部29
より出力する。
【0190】制御部21は、上記の再生の開始の操作と
同時に、その再生開始を始めた位置が操作者が所望す
る、再生開始インデックスとして記録すべきシークポイ
ントであるかどうかの判定を開始する。この判定の動作
の過程を図21に沿って説明する。
【0191】まず、本データ再生装置は、操作者からの
入力を受け付けるコマンド待機状態にある(S16
1)。操作者のユーザ入力部26に対する、早送り/巻
戻し(シーク)の操作、再生の操作の入力が制御部21
に伝えられる(S162)。入力を受け取った制御部2
1は、再生を開始したシークポイントの値Pを一時記憶
領域24に記録する(S163)。続いて制御部21
は、タイマー25を起動し(S164)、タイマー25
はカウントを開始する(S165)。タイマー25は一
定時間ごとに、保持しているカウント値tをインクリメ
ントする(S166)。
【0192】制御部21は、ユーザ入力部26から操作
者の停止、シークなど再生状態を変更する操作が伝えら
れるまで、通常の再生動作をおこなう。再生の動作と同
時に、タイマー25のカウント値tと、ある閾値T0と
を比較し続ける(S167No,S168)。カウント
値tが閾値T0よりも大きくなる前に再生状態を変化さ
せる操作がおこなわれた場合には(S169No,S1
67Yes)、シークポイントPは記録すべき再生開始
インデックスでないと判断し、タイマー25を停止さ
せ、次の動作に移る(S161)。
【0193】再生状態を変更する操作の入力がない状態
が続き、タイマー25のカウント値tが、閾値T0を越
えた場合(S169Yes)、制御部21は操作者が再
生を開始したシークポイントPが操作者の所望する場面
を示すシークポイントであると判断する。なお、閾値T
0は、操作者の使いやすいように、任意の値を設定する
事ができる。
【0194】次に、制御部21は、シークポイントPの
値と同じ値を持った再生開始インデックスが記憶装置2
3中のインデックスのリストLに含まれるかを調べる
(S170)。もし、シークポイントの値がPの再生開
始インデックスが既にリストLに含まれていた場合に
は、後述するインデックスのリスト内での優先順位を決
定するためのパラメータとして使う、その再生開始イン
デックスの参照カウントをインクリメントする(S17
1)。シークポイントの値がPの再生開始インデックス
がリストLに含まれていない場合には、シークポイント
Pから、再生開始インデックスIを制御部21で生成
し、リストLに併合し、記憶装置23に記録する(S1
72)。
【0195】再生開始インデックスIの生成は、シーク
ポイントPから次の要素:インデックスの識別子(リス
トの中で一意にインデックスを識別できる値を制御部2
1で生成する)、データの識別子(再生しているデータ
の識別子)、シークポイントP、記録時刻、参照回数
(初期値1)、インデックスの名前(制御部21で生成
する)、保護フラグ、を制御部21が生成することによ
っておこなう。
【0196】インデックスの名前は、操作者が明示的に
指定しない場合は、データ識別子、シークポイント、記
録日時から制御部21が生成して記憶装置23に記録す
る。操作者は、これらの情報をあとから編集することが
可能である。
【0197】保護フラグは、自動的にインデックスが削
除されないようにするためのフラグである。自動検出に
よる登録の場合は、優先順位が下がると記憶装置から自
動的に削除される状態で登録される。
【0198】本例においては、再生開始インデックスの
リストを記録する手法として、上記のように本データ再
生装置に備える記憶媒体/記憶装置に記録する方式と、
音声情報、画像情報を持っているネットワークに接続さ
れた記憶装置(サーバ)に記録する方式がある。サーバ
に記録された再生開始インデックスは、サーバに接続さ
れた他の本データ再生装置からも利用することができ
る。
【0199】再生開始インデックスのリストをサーバに
記録する方式では、 ・再生開始インデックスの単体、一覧での取得 ・あるシークポイントの値と同じ値をシークポイントと
して持つ再生開始インデックスがリストに含まれるかど
うかのチェック ・再生開始インデックスの参照カウントのインクリメン
ト ・再生開始インデックスの登録 を、データ入出力部22を通して、サーバとの間で要求
とデータを送受信しておこなう。
【0200】サーバに記録されている再生開始インデッ
クスのリストには、優先順位が付いている必要はなく、
クライアント側(本データ再生装置)の制御部21でリ
ストの一覧を読み込み、その内容を走査することによ
り、優先順位を決定する。
【0201】サーバに再生開始インデックスのリストを
記録することで、他のデータ再生装置を使っている操作
者と、再生開始インデックスを共有したり、ある操作者
が、複数のデータ再生装置を使う場合にも、通常使用し
ている再生開始インデックスのリストを参照したりする
ことが可能となる。サーバから読み込んだ再生開始イン
デックスの内容を、本データ再生装置内の一時記憶領域
24内にキャッシュして、サーバとの通信の負荷を下げ
るようにしても良い。
【0202】次には、インデックス再生の場合を説明す
る。インデックス再生は、通常再生に再生開始位置の指
定を加えた操作手段で、本実施形態で初めて導入される
ものである。操作者が再生開始インデックス選択の操作
をおこなうと、図22のように、本データ再生装置の出
力画面にインデックスのリストの一覧が表示される。イ
ンデックスのリストの一覧の取得方法は、後述する。操
作者は、取得した一覧の中から希望する再生開始インデ
ックスを選択する。
【0203】制御部21は、データ入出力部22を通し
て、操作者が選択した再生開始インデックスが指すシー
クポイントを引数にサーバに対してシーク要求を発行し
た後、データ転送要求を出す。サーバは、指定されたシ
ークポイントに再生開始位置を移動し、その場所から本
データ再生装置に対してデータの転送を開始する。この
とき、サーバが図1のような階層記憶装置で、再生開始
インデックスと同様の原理でRAP候補を検出すること
により、その再生開始位置を含むセグメントをキャッシ
ュに残すかあるいは先読みしていれば、本データ再生装
置からのデータ転送要求に対するレスポンスタイムは短
縮される。
【0204】再生開始インデックスが選択された時に、
制御部21は、記憶装置23に記録されている、選択さ
れた再生開始インデックスの参照カウントをインクリメ
ントする。
【0205】操作者が停止もしくは一時停止の操作をお
こなった場合は、制御部21は、データ入出力部22を
通して、サーバに対してデータ転送終了の要求を発行す
る。サーバが、通常の再生停止と、一時停止で処理を振
り分けることが出来るように、その要求を区別するため
のフラグを要求に含める。
【0206】高速再生は、操作者が、不必要な場面を飛
ばしたり、所望する場面を素早く探すために使用する、
短い時間で情報の再生をおこなう操作手段である。高速
再生をおこなうための方法としては、データ転送レート
を上げる方式と、スキップ方式の二通りを挙げることが
できる。
【0207】データ転送レートを上げる方式では、一定
時間内に転送するデータ量を増やすことによって、高速
再生を実現する。データ転送レートを上げる方式による
高速再生時の再生位置の移動は図23のようになる。操
作者が高速再生の操作をおこなうと、制御部21は、デ
ータ入出力部22を通して、サーバに対して高速に再生
する度合を指定する要求を発行する。サーバは指定され
たデータ転送レートで本データ再生装置にデータを転送
する。
【0208】スキップ方式では、シーク要求、再生要
求、停止要求を繰り返し発行することで、一定時間に処
理するデータ量を変えることなく、高速再生を実現す
る。スキップ方式による高速再生時の再生位置の移動は
図24のようになる。操作者が高速再生の操作をおこな
うと、制御部21は、データ入出力部22を通して、サ
ーバに対して、シーク要求、再生要求、停止要求を繰り
返し発行する。サーバはその要求にしたがってデータの
読み込み位置を変更しながら、データを本データ再生装
置に転送する。なお、本方式は、間引かれたデータを受
信するので、前方から全てのデータを解釈しなくても、
途中からデータを解釈することができるデータ形式の場
合にのみ使用することができる。
【0209】高速逆再生は、高速再生と同じように、素
早く操作者が所望する場面を探すために使用する、短い
時間で情報を逆方向に再生する操作手段である。高速再
生と同様に、データ転送レートを上げる方式と、スキッ
プ方式の二通りの方式が考えられる。
【0210】扱うデータが、後方から連続的に解釈する
ことができない形式の場合は、解釈できる再生位置まで
戻って再生し、一定量の再生をおこなった後、再び前方
に解釈できる位置が見つかるまで再生位置を移動してい
く手法を使用する。この時に、本データ再生装置側の記
憶装置に後方からデータを記録していく方法は、データ
転送レートを上げる方式に、シーク動作を使って前方に
ある再生可能なデータを探す方法は、スキップ方式に似
ている。
【0211】ここで、インデックス高速再生という操作
手段を新たに設けることも可能である。すなわち、再生
開始インデックスのリストに挙げられたシークポイント
を順に所定時間ずつ自動で再生していき、操作者がこれ
を見て真に所望する場面で通常再生に切り替える(再生
ボタンを押す)ことにより、高速再生よりも更に素早く
見たい場面にたどり着けるようにする。このときの所定
時間ずつ再生するインデックスの選択順序は、リスト内
優先順位の順でも良いし、操作者が最初に選択した再生
開始インデックスと同一のコンテンツに属する(同一の
データ識別子を持つ)インデックスを選んでその中から
何らかの順で再生しても良いし、操作者が最初に選択し
たインデックスの記録時刻の周辺の記録時刻を持つイン
デックスを選んで再生していっても良いし、操作者が最
初に選択したインデックスと同一または類似の名前が付
与されたインデックスを選んで再生していくのでも良
い。この場合、操作者が通常再生に切り替えたインデッ
クスの参照カウントをインクリメントすることになる。
【0212】高速再生、高速逆再生、インデックス再
生、インデックス高速再生は、再生位置を前方/後方に
移動させる操作手段であるが、この操作手段として、上
記の他に、操作者に明示的に再生位置を指定させるよう
にする手段があっても良い。例えば、現在の再生位置の
例えば10分後、30分後(または10分前、30分
前)にジャンプすることを示す操作ボタンを設ける、も
しくは操作者に何分後かを入力させてそこへジャンプす
る等の手段が提供でき、本データ再生装置は指定された
ジャンプ先に対するシーク要求を発行する。本例では、
そのシーク先から所定期間以上の通常再生を行った場合
にその再生開始点を再生開始インデックスのリストに追
加することになるが、そのシーク先を無条件に再生開始
インデックスのリストに追加しても良いし(図2(a)
の原理を応用)、そのシーク先までのシーク量が所定の
閾値より大きい場合にそのシーク先を再生開始インデッ
クスのリストに追加しても良い(図2(b)の原理を応
用)。
【0213】録画は、サーバに映像情報や音声情報を記
録する操作手段である。録画には、記録するデータを、
本データ再生装置側でエンコーダ、入力部を使って用意
する方式と、サーバ側(本データ再生装置以外の装置)
で用意する方式の二通りが考えられる。
【0214】本データ再生装置でデータを用意する方式
は、本データ再生装置にチューナやエンコーダなど、録
画するデータのソースを提供するための装置が備えられ
ており、サーバにそのような装置が備えられていない場
合に使用する。
【0215】操作者によるデータの録画の操作や、装置
による自動的な録画がおこなわれると、制御部21は、
サーバに対してデータ記録の要求を出す。記録の準備が
整うのを待ち、制御部21はエンコーダ28に対して、
データの符号化を開始する要求を発行する。エンコーダ
28は、入力部30からデータを取り込み、符号化した
後に制御部21に転送する。制御部21は録画するデー
タをサーバに転送する。操作者が録画を終了の操作をお
こなうと、制御部21はエンコーダ28に対して、符号
化を停止する要求を発行し、データの受信を停止する。
続いて、サーバに対してデータ記録を終了する要求を発
行する。
【0216】サーバ側でデータを用意する方式は、サー
バ側にチューナやエンコーダなど、録画するデータのソ
ースを提供するための装置が備えられている場合に使用
する。
【0217】操作者によるデータの録画の操作や、装置
による自動的な録画がおこなわれると、本データ再生装
置は、サーバに対してデータ記録の要求を出す。サーバ
は、記録の準備をおこない、データソースとなる装置か
らデータを取り込んで記憶装置に記録する。録画を終了
の操作をおこなうと、本データ再生装置はサーバに対し
てデータ記録終了の要求を出す。サーバは、データソー
スとなる装置からのデータの取り込みを停止し、録画を
終了する。
【0218】サーバ側にも本データ再生装置側にもチュ
ーナやエンコーダが備えられている場合には、いずれの
方式も使用できる。
【0219】インデックス付けは、操作者が明示的に再
生開始インデックスをインデックスのリストに追加する
操作である。インデックス付けは、当該再生位置を後か
ら参照するとユーザが考えた場合に使用する。
【0220】操作者がインデックス付けの操作をおこな
うと、その入力は制御部21に伝えられ、制御部21は
現在の再生位置から再生開始インデックスを生成し、こ
れを記憶装置23上の再生開始インデックスのリストに
追加する。既に、その再生位置と同じ値をシークポイン
トとして持っている再生開始インデックスがリストの中
に存在する場合は、その再生開始インデックスの参照カ
ウントをインクリメントする。さらに、インデックス付
けにより生成されたもしくは参照カウントがの更新され
た再生開始インデックスについては、優先順位が下がっ
ても自動的にこのインデックスが削除されることがない
ように保護フラグを設定する。これらの過程の詳細につ
いては、自動的に再生開始インデックスを検出する時と
同様なので、ここでは省略する。
【0221】さらに、再生開始インデックスのリストの
編集をおこなう時のユーザインタフェイスについて説明
する。編集時の画面は図25のように構成される。操作
者がおこなうインデックスの編集としては、 ・インデックスの名前の付け替え ・インデックス削除 ・再生開始インデックスの指すシークポイントの調整 ・保護フラグの設定 がある。以下では、各々の操作手段について説明する。
【0222】インデックスの名前の付け替え:本再生装
置によって自動的に付けられたインデックスの名前を、
後から参照した時に分かりやすくするために、インデッ
クスの名前を付け替える手段を用意する。
【0223】操作者は、インデックスの名前の付け替え
をおこなう対象となる再生開始インデックスをリストの
一覧から選択する。選択時の動作は、インデックス再生
時の動作と同様なので、ここでは省略する。
【0224】選択された再生開始インデックスの新しい
名前を、入力装置から入力する。制御部21は、ユーザ
入力部26からの入力を受け取り、カーソル移動、文字
入力などの操作者の入力を出力画面、編集対象の再生開
始インデックスの内容に反映させる。入力が終ったら、
操作者は確定の操作をおこない、編集を終了し、制御部
21は、その再生開始インデックスをリストに再登録す
る。本データ再生装置内にインデックスのリストを記録
している場合、制御部21は対象となる再生開始インデ
ックスを記録装置23に記録し、サーバ側に記録してい
る場合は、データ入出力部22を通してサーバに対して
対象となるインデックス再登録の要求を発行する。
【0225】インデックス削除:不必要になったインデ
ックスや、自動検出のノイズとして登録されてしまった
インデックスを、明示的に操作者が削除する手段を用意
する。
【0226】操作者は、削除の対象となるインデックス
をリストの一覧から選択する。操作者が確定したら、制
御部21は、削除の対象となる再生開始インデックスを
リストから削除する。本データ再生装置内にインデック
スのリストを記録している場合、制御部21は対象とな
る再生開始インデックスを記録装置23から削除し、サ
ーバ側に記録している場合は、データ入出力部22を通
してサーバに対して対象となるインデックスの削除の要
求を発行する。
【0227】シークポイント調整:自動登録されたイン
デックスを後から参照する時のために、そのインデック
スの指すシークポイントをより正確な位置に指定し直す
手段を用意する。
【0228】操作者は、シークポイントの微調整の対象
となるインデックスを一覧から選択する。操作者は、シ
ークポイントを適当な値を入力装置を使って変更する。
制御部21は、ユーザ入力部26からの入力を受け取
り、操作者の入力を出力画面、調整対象の再生開始イン
デックスの内容に反映させる。編集が終ったら、確定の
操作をおこない、調整を終了する。本データ再生装置内
にインデックスのリストを記録している場合、制御部2
1は対象となる再生開始インデックスを記録装置23に
記録し、サーバ側に記録している場合は、データ入出力
部22を通してサーバに対して対象となるインデックス
再登録の要求を発行する。
【0229】保護フラグ設定:本再生装置を使用してい
くうちに、インデックスの優先順位が下がり、記憶装置
から削除されてしまうことを防ぐために、削除禁止の属
性をインデックスに対して付加する手段を用意する。
【0230】操作者は、保護フラグの設定の変更の対象
となるインデックスを一覧から選択する。操作者は、保
護フラグの値を入力装置を使って適当に設定する。制御
部21は、ユーザ入力部26からの入力を受け取り、操
作者の入力を出力画面、設定対象の再生開始インデック
スの内容に反映させる。編集が終ったら確定の操作をお
こない、編集を終了する。本データ再生装置内にインデ
ックスのリストを記録している場合、制御部21は対象
となる再生開始インデックスを記録装置23に記録し、
サーバ側に記録している場合は、データ入出力部22を
通してサーバに対して対象となるインデックス再登録の
要求を発行する。
【0231】本データ再生装置に、再生開始インデック
ス検出のための所定時間の調整をする操作手段を設ける
ことも有効である。すなわち、再生開始インデックスと
して記録するための閾値T0を設定する手段を用意す
る。T0を大きくすると、ノイズとして自動登録される
インデックスは減るが、インデックスを自動検出をする
までに必要な時間も長くなる。逆に、T0を小さくする
と、多くのインデックスを自動検出することが出来る
が、ノイズとして検出されるインデックスの数も増え
る。
【0232】操作者が閾値T0を設定するための画面を
呼び出す操作をおこなうと、制御部21は現在の閾値T
0を出力部29を通して画面に表示する。操作者はその
値を、入力装置を使用して変更する。制御部21は、ユ
ーザ入力部26からの入力を受け取り、閾値T0の値に
反映させる。変更が終ったら、確定の操作をおこない、
本データ再生装置に備える記憶装置23に新しい閾値T
0の値を記録する。
【0233】次に、第二の例、すなわち従来のビデオ/
DVDデッキなどのように、取り外し可能な外部記憶メ
ディアからデータ再生装置がデータを読み込んで再生し
たり、書き込んで記録する例について説明する。本デー
タ再生装置に用意される操作手段は、第一の例と同様
に、再生/インデックス再生、停止/一時停止、高速再
生(早送り)、高速逆再生(巻戻し)、録画、インデッ
クス付け等である。
【0234】第二の例における、再生/インデックス再
生、停止/一時停止、高速再生(早送り)、高速逆再生
(巻戻し)、インデックス高速再生、録画、インデック
ス付けの操作手段は第一の例と同様なのでここでは説明
を省略する。第二の例におけるデータ再生装置と第一の
例のデータ再生装置との相違点は、データ入出力部22
の構成と再生開始インデックスのリストの管理方法であ
る。
【0235】本例においては、図26に示すように、デ
ータ入出力部22は、単体の外部記憶メディアからデー
タを読み取るための磁気ヘッドや光ディスクのピックア
ップなどの装置として構成される。本データ再生装置は
この読み取り装置を通してデータの送受信をおこなう。
【0236】前述したように、第一の例のネットワーク
クライアント型のデータ再生装置においては、インデッ
クスのリストをサーバの記憶装置に記録する方式と、デ
ータ再生装置内の記憶装置にデータの識別子と対応付け
て記録する方式とがある。これに対し、第二の例のデー
タ再生装置の場合には、後者のデータ再生装置内の記憶
装置に記録する方式と、データが記録されている記憶メ
ディアに記録する方式とがある。どちらの場合にも、記
憶メディアを一意に識別するための識別子がメディアの
所定の位置に記録されており、再生装置がその識別子を
読み出すようにする。
【0237】まず、データ再生装置内の記憶装置に記録
する方式は、記憶メディアに書き込みが出来ない場合
や、一つのデータ再生装置でのみデータを再生する場合
に使用する。
【0238】この方式で記憶装置に記録するインデック
ス情報は、第一の例の再生装置が記録する情報と同じで
ある。データの識別子として、記録メディアが持ってい
るそのメディアの識別子を使用する。
【0239】一方、記憶メディアに記録する方式は、記
憶メディアに書き込みが出来て、かつ、そのメディアを
他の再生装置でも再生する場合に使用すると良い。
【0240】図27(a)もしくは(b)のように、メ
ディアの先頭部分もしくは終端部分などにインデックス
を記録するためのインデックス領域を用意しておき、イ
ンデックス領域に、自動検出したインデックス、操作者
が明示的につけたインデックスを記録する。テープな
ど、シーク、アクセスの遅いメディアを使用する場合に
は、逐次メディアから読み込み/書き出しをしていては
遅いので、メディアの挿入の際に再生装置内の一時的な
記憶装置にメディアからインデックス領域を読み込み、
メディアの排出の際に、メディアのインデックス領域に
書き出すといった、キャッシングの作業をおこなう。
【0241】ここでは、図2(c)の原理を利用して、
クライアント装置(データ再生装置)で再生開始インデ
ックスを自動的に生成する手法を中心に詳述したが、デ
ータ再生装置の用途や仕様によっては、図2(a)や
(b)に示した条件を満たすポイントを、再生開始イン
デックスとして記録するように構成しても良い。
【0242】なお、上述した実施形態はあくまで一例で
あり、本発明は、その趣旨を逸脱しない範囲で種々の変
形実施が可能である。
【0243】
【発明の効果】以上詳述したように、本発明によれば、
ランダムアクセスされる可能性の高い部分を、所定の条
件に従って優先的にキャッシュに残したり、先読みした
りすることができ、ユーザがコンテンツの途中の任意の
位置からの再生を指示した時の応答時間を短くすること
ができる。
【0244】
【図面の簡単な説明】
【図1】 本実施形態に係る階層記憶装置の構成例を表
すブロック図。
【図2】 RAP候補の検出条件の例を説明するための
図。
【図3】 RAPセグメント情報記憶部の構成例を示す
図。
【図4】 廃棄セグメント選択部で必要となる情報を管
理するためのデータ構造の例を示す図。
【図5】 セグメントが含まれるカテゴリに対応するセ
グメントリストを選択する動作の例を示すフローチャー
ト。
【図6】 データがcloseされた場合に廃棄セグメ
ント選択部においてデータ構造を更新する動作の例を示
すフローチャート。
【図7】 データがopenされた場合に廃棄セグメン
ト選択部においてデータ構造を更新する動作の例を示す
フローチャート。
【図8】 セグメントが新たにキャッシュに格納された
場合に廃棄セグメント選択部においてデータ構造を更新
する動作の例を示すフローチャート。
【図9】 セグメントがキャッシュから廃棄された場合
に廃棄セグメント選択部においてデータ構造を更新する
動作の例を示すフローチャート。
【図10】 RAPセグメント情報が更新された場合に
廃棄セグメント選択部においてデータ構造を更新する動
作の例を示すフローチャート。
【図11】 キャッシュからの廃棄候補を選択するため
にカテゴリを順に指定する動作の例を示すフローチャー
ト。
【図12】 キャッシュからの廃棄候補を選択するため
に指定カテゴリ内でセグメントを検索する動作の例を示
すフローチャート。
【図13】 データがopenされた場合に格納セグメ
ント選択部においてデータ構造を更新する動作の例を示
すフローチャート。
【図14】 データがcloseされた場合に格納セグ
メント選択部においてデータ構造を更新する動作の例を
示すフローチャート。
【図15】 RAPセグメント情報が更新された場合に
格納セグメント選択部においてデータ構造を更新する動
作の例を示すフローチャート。
【図16】 先読み候補のキャッシュへの格納可否を判
断する動作の例を示すフローチャート。
【図17】 本実施形態に係るデータ再生装置の構成例
を表すブロック図。
【図18】 再生開始インデックスのリストの構造の例
を表す図。
【図19】 再生開始インデックスとなり得るシークポ
イントを検出する方法の概要を表す図。
【図20】 ネットワークを介したデータを再生/録画
する場合のシステム構成例を示す図。
【図21】 自動的な再生開始インデックス登録処理の
例を示すフローチャート。
【図22】 選択画面の構成例を示す図。
【図23】 データ転送レートを上げる方式による高速
再生時のデータ読みだし位置の移動を示す図。
【図24】 スキップ方式による高速再生時のデータ読
みだし位置の移動を示す図。
【図25】 インデックス編集画面の構成例を示す図。
【図26】 取り外し可能な外部の記憶メディアからデ
ータを再生/録画する場合のシステム構成例を示す図。
【図27】 外部記憶メディア中の再生開始インデック
スのリストの領域の位置の例を示す図。
【符号の説明】
11…入出力部 12…要求処理部 13…セグメント転送管理部 14…二次記憶装置(ライブラリ) 15…一次記憶装置(キャッシュ) 16…RAP候補検出部 17…廃棄セグメント選択部 18…格納セグメント選択部 19…RAPセグメント情報記憶部
フロントページの続き (56)参考文献 特開 平9−185462(JP,A) 特開 平3−97053(JP,A) 特開 平6−131264(JP,A) 特開 平10−198604(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 - 3/08 G11B 20/10 H04N 5/765

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】データが、該データを分割したセグメント
    単位で格納されている、ライブラリ用記憶装置と、 このライブラリ用記憶装置に格納されている複数のセグ
    メントのうちの、一部のセグメントを格納するための、
    キャッシュ用記憶装置と、 あるセグメントが将来ランダムアクセスされるポイント
    を含んでいる可能性が、どの程度あるかを予測するため
    の、ランダムアクセスポイントセグメント情報を記憶す
    る記憶手段と、 前記データ上のあるポイントへのシーク要求を受けたと
    きにシークポインタが存在していた位置から、該シーク
    要求で指定された該ポイントまでのシーク幅に応じて、
    前記記憶装置に記憶される該ポイントを含むセグメント
    のランダムアクセスポイントセグメント情報を更新する
    更新手段と、 前記記憶手段に記憶されたランダムアクセスポイントセ
    グメント情報に基づいて、前記キャッシュ用記憶装置に
    格納されている複数のセグメントから廃棄するセグメン
    トの候補を選択する制御手段とを備えたことを特徴とす
    る階層記憶装置。
  2. 【請求項2】データが、該データを分割したセグメント
    単位で格納されている、ライブラリ用記憶装置と、 このライブラリ用記憶装置に格納されている複数のセグ
    メントのうちの、一部のセグメントを格納するための、
    キャッシュ用記憶装置と、 あるセグメントが将来ランダムアクセスされるポイント
    を含んでいる可能性が、どの程度あるかを予測するため
    の、ランダムアクセスポイントセグメント情報を記憶す
    る記憶手段と、 前記データ上のあるポイントから連続して順次アクセス
    されたデータ量が所定の閾値を超えた場合に、前記記憶
    装置に記憶される順次アクセスが開始されたポイントを
    含むセグメントのランダムアクセスポイントセグメント
    情報を更新する更新手段と、 前記記憶手段に記憶されたランダムアクセスポイントセ
    グメント情報に基づいて、前記キャッシュ用記憶装置に
    格納されている複数のセグメントから廃棄するセグメン
    トの候補を選択する制御手段とを備えたことを特徴とす
    る階層記憶装置。
  3. 【請求項3】前記記憶手段は、そのセグメントが将来ラ
    ンダムアクセスされるポイントを含んでいる可能性があ
    ると判断すべきセグメントのエントリを保持するもので
    あり、 ランダムアクセスポイントセグメント情報の更新を、更
    新の対象となるセグメントのエントリを前記記憶手段に
    追加、もしくは前記記憶手段から削除することにより実
    行する実行手段を更に備えたことを特徴とする請求項1
    または請求項2記載の階層記憶装置。
  4. 【請求項4】前記記憶手段は、そのセグメントが将来ラ
    ンダムアクセスされるポイントを含んでいる可能性があ
    ると判断される確度を表すカウンタを含むものであり、 ランダムアクセスポイントセグメント情報の更新を、更
    新の対象となるセグメントの前記カウンタの内容を更新
    することにより実行する実行手段を更に備えたことを特
    徴とする請求項1または請求項2記載の階層記憶装置。
  5. 【請求項5】ランダムアクセスポイントセグメント情報
    の参照を、参照の対象となるセグメントにつき前記記憶
    手段を参照した結果を前記制御手段に伝えることにより
    実行する参照手段を更に備えたことを特徴とする請求項
    または請求項2記載の階層記憶装置。
  6. 【請求項6】ランダムアクセスポイントセグメント情報
    の参照を、参照の対象となるセグメントのエントリが前
    記記憶手段に記憶されているか否かに従ってそのセグメ
    ントが将来ランダムアクセスされる可能性があるポイン
    トを含むものであるか否かを判定した結果を前記制御手
    段に伝えることにより実行する参照手段を更に備えたこ
    とを特徴とする請求項記載の階層記憶装置。
  7. 【請求項7】ランダムアクセスポイントセグメント情報
    の参照を、参照の対象となるセグメントのカウンタがあ
    る閾値以上の値であるか否かに従ってそのセグメントが
    将来ランダムアクセスされる可能性があるポイントを含
    むものであるか否かを判定した結果を前記制御手段に伝
    えることにより実行する参照手段を更に備えたことを特
    徴とする請求項記載の階層記憶装置。
  8. 【請求項8】前記制御手段は、ランダムアクセスポイン
    トセグメント情報の更新に関する複数の条件を有し、更
    新の対象となるセグメントに適用したランダムアクセス
    ポイントセグメント情報の更新の条件がいずれであるか
    に応じて、前記実行手段で更新するカウンタの増分値を
    決定することを特徴とする請求項記載の階層記憶装
    置。
  9. 【請求項9】前記ライブラリ用記憶装置もしくは前記キ
    ャッシュ用記憶装置に格納されているデータに対するオ
    ープン要求を受けた場合に、当該データに属するセグメ
    ントのランダムアクセスポイントセグメント情報を用い
    て、該セグメントをキャッシュに格納するか否かを制御
    する手段を更に備えたことを特徴とする請求項1または
    請求項2記載の階層記憶装置。
  10. 【請求項10】それぞれ複数のセグメントから成る複数
    のデータが格納されているライブラリ用記憶装置とこの
    ライブラリ用記憶装置に格納されている複数のセグメン
    トのうちの一部を格納するためのキャッシュ用記憶装置
    とにより構成される階層記憶を制御する方法であって、 あるセグメントが将来ランダムアクセスされるポイント
    を含んでいる可能性が、どの程度あるかを予測するため
    の、ランダムアクセスポイントセグメント情報を記憶
    し、 前記データ上のあるポイントへのシーク要求を受けたと
    きにシークポインタが存在していた位置から、該シーク
    要求で指定された該ポイントまでのシーク幅に応じて、
    前記記憶された該ポイントを含むセグメントのランダム
    アクセスポイントセグメント情報を更新して記憶し、 前記記憶されたランダムアクセスポイントセグメント情
    報に基づいて、前記キャッシュ用記憶装置に格納されて
    いる複数のセグメントから廃棄するセグメントの候補を
    選択することを特徴とする階層記憶制御方法。
  11. 【請求項11】それぞれ複数のセグメントから成る複数
    のデータが格納されているライブラリ用記憶装置とこの
    ライブラリ用記憶装置に格納されている複数のセグメン
    トのうちの一部を格納するためのキャッシュ用記憶装置
    とにより構成される階層記憶を制御する方法であって、 あるセグメントが将来ランダムアクセスされるポイント
    を含んでいる可能性が、どの程度あるかを予測するため
    の、ランダムアクセスポイントセグメント情報を記憶
    し、 前記データ上のあるポイントから連続して順次アクセス
    されたデータ量が所定の閾値を超えた場合に、前記記憶
    装置に記憶される順次アクセスが開始されたポイントを
    含むセグメントのランダムアクセスポイントセグメント
    情報を更新して記憶し、 前記記憶されたランダムアクセスポイントセグメント情
    報に基づいて、前記キャッシュ用記憶装置に格納されて
    いる複数のセグメントから廃棄するセグメントの候補を
    選択することを特徴とする階層記憶制御方法。
JP36893298A 1998-09-30 1998-12-25 階層記憶装置及び階層記憶制御方法 Expired - Fee Related JP3396639B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP36893298A JP3396639B2 (ja) 1998-09-30 1998-12-25 階層記憶装置及び階層記憶制御方法
US09/409,424 US6721490B1 (en) 1998-09-30 1999-09-30 Hierarchical storage scheme and data playback scheme for enabling random access to realtime stream data
US10/779,631 US7580610B2 (en) 1998-09-30 2004-02-18 Hierarchical storage scheme and data playback scheme for enabling random access to realtime stream data

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-278081 1998-09-30
JP27808198 1998-09-30
JP36893298A JP3396639B2 (ja) 1998-09-30 1998-12-25 階層記憶装置及び階層記憶制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002333116A Division JP2003233976A (ja) 1998-09-30 2002-11-18 データ再生装置及びデータ再生制御方法

Publications (2)

Publication Number Publication Date
JP2000172450A JP2000172450A (ja) 2000-06-23
JP3396639B2 true JP3396639B2 (ja) 2003-04-14

Family

ID=26552710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36893298A Expired - Fee Related JP3396639B2 (ja) 1998-09-30 1998-12-25 階層記憶装置及び階層記憶制御方法

Country Status (2)

Country Link
US (2) US6721490B1 (ja)
JP (1) JP3396639B2 (ja)

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721794B2 (en) 1999-04-01 2004-04-13 Diva Systems Corp. Method of data management for efficiently storing and retrieving data to respond to user access requests
US7051110B2 (en) * 1999-12-20 2006-05-23 Matsushita Electric Industrial Co., Ltd. Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions
US9038108B2 (en) * 2000-06-28 2015-05-19 Verizon Patent And Licensing Inc. Method and system for providing end user community functionality for publication and delivery of digital media content
US20020059499A1 (en) * 2000-09-06 2002-05-16 Hudson Michael D. System and methods for performing last-element streaming
US7401351B2 (en) * 2000-12-14 2008-07-15 Fuji Xerox Co., Ltd. System and method for video navigation and client side indexing
US6957433B2 (en) * 2001-01-08 2005-10-18 Hewlett-Packard Development Company, L.P. System and method for adaptive performance optimization of data processing systems
JP4667639B2 (ja) * 2001-05-10 2011-04-13 パナソニック株式会社 映像プロクシサーバ
KR100422699B1 (ko) * 2001-05-22 2004-03-12 엘지전자 주식회사 비디오 콘텐트의 재생 제어방법과 장치
JP3799301B2 (ja) * 2001-06-14 2006-07-19 三星電子株式会社 プリロード情報が記録された情報貯蔵媒体、その再生装置及び再生方法
US7970260B2 (en) * 2001-06-27 2011-06-28 Verizon Business Global Llc Digital media asset management system and method for supporting multiple users
US8972862B2 (en) 2001-06-27 2015-03-03 Verizon Patent And Licensing Inc. Method and system for providing remote digital media ingest with centralized editorial control
US8990214B2 (en) * 2001-06-27 2015-03-24 Verizon Patent And Licensing Inc. Method and system for providing distributed editing and storage of digital media over a network
US20070089151A1 (en) * 2001-06-27 2007-04-19 Mci, Llc. Method and system for delivery of digital media experience via common instant communication clients
JP4278908B2 (ja) * 2002-03-08 2009-06-17 パナソニック株式会社 録画装置
CA2486671C (en) * 2002-05-31 2011-11-15 Onkyo Corporation Network type content reproducing system
US7555540B2 (en) 2003-06-25 2009-06-30 Microsoft Corporation Media foundation media processor
JP4716675B2 (ja) * 2004-05-25 2011-07-06 三洋電機株式会社 録音再生装置
US7725450B1 (en) 2004-07-23 2010-05-25 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that maintain search coherence during multi-cycle update operations
US7747599B1 (en) * 2004-07-23 2010-06-29 Netlogic Microsystems, Inc. Integrated search engine devices that utilize hierarchical memories containing b-trees and span prefix masks to support longest prefix match search operations
US8886677B1 (en) 2004-07-23 2014-11-11 Netlogic Microsystems, Inc. Integrated search engine devices that support LPM search operations using span prefix masks that encode key prefix length
JP2006127485A (ja) * 2004-09-30 2006-05-18 Sanyo Electric Co Ltd コンテンツ再生装置およびコンテンツ再生方法
WO2006041471A2 (en) * 2004-10-06 2006-04-20 Thomson Licensing Method and system for caching data
JP4536481B2 (ja) * 2004-10-25 2010-09-01 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータシステム、修正作業を支援するための方法、及びプログラム
WO2006050468A2 (en) * 2004-11-02 2006-05-11 Medtronic, Inc. Techniques for data reporting in an implantable medical device
JP3847764B2 (ja) * 2004-11-12 2006-11-22 オンキヨー株式会社 ネットワーク型コンテンツ再生システム
US8386523B2 (en) * 2004-12-30 2013-02-26 Texas Instruments Incorporated Random access audio decoder
JP2006221714A (ja) * 2005-02-09 2006-08-24 Toshiba Corp 符号化ディジタルオーディオ再生装置
US20060218251A1 (en) * 2005-03-14 2006-09-28 Matsushita Electric Industrial Co., Ltd. AV server, AV contents reproducing apparatus, AV contents transmitting method, program and recording medium
US7783653B1 (en) * 2005-06-30 2010-08-24 Adobe Systems Incorporated Fast seek in streaming media
JP4470119B2 (ja) * 2005-08-31 2010-06-02 ソニー株式会社 再生装置、再生方法及び再生プログラム
JP4296510B2 (ja) * 2005-08-31 2009-07-15 ソニー株式会社 再生装置、再生装置の再生方法及び再生プログラム
US9401080B2 (en) 2005-09-07 2016-07-26 Verizon Patent And Licensing Inc. Method and apparatus for synchronizing video frames
US9076311B2 (en) * 2005-09-07 2015-07-07 Verizon Patent And Licensing Inc. Method and apparatus for providing remote workflow management
US20070107012A1 (en) * 2005-09-07 2007-05-10 Verizon Business Network Services Inc. Method and apparatus for providing on-demand resource allocation
US8631226B2 (en) * 2005-09-07 2014-01-14 Verizon Patent And Licensing Inc. Method and system for video monitoring
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
EP1771006A1 (en) * 2005-09-29 2007-04-04 Hewlett-Packard Development Company, L.P. Remote media source device access
US8731914B2 (en) * 2005-11-15 2014-05-20 Nokia Corporation System and method for winding audio content using a voice activity detection algorithm
CN100486330C (zh) * 2005-11-29 2009-05-06 中国科学技术大学 支持异地存储方式的流媒体服务器的实现方法
JP2007265384A (ja) * 2006-01-31 2007-10-11 Victor Co Of Japan Ltd 構造化データ格納装置、構造化データ格納プログラム、及び構造化データ格納方法
WO2007148777A1 (ja) * 2006-06-22 2007-12-27 Sony Corporation 再生装置および方法、並びにプログラム
US8331772B1 (en) * 2006-09-07 2012-12-11 Opentv, Inc. Systems and methods to position and play content
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7697518B1 (en) 2006-09-15 2010-04-13 Netlogic Microsystems, Inc. Integrated search engine devices and methods of updating same using node splitting and merging operations
US8086641B1 (en) 2006-11-27 2011-12-27 Netlogic Microsystems, Inc. Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same
US7831626B1 (en) 2006-11-27 2010-11-09 Netlogic Microsystems, Inc. Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node
US7987205B1 (en) 2006-11-27 2011-07-26 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations
US7953721B1 (en) 2006-11-27 2011-05-31 Netlogic Microsystems, Inc. Integrated search engine devices that support database key dumping and methods of operating same
US20080133475A1 (en) * 2006-11-30 2008-06-05 Donald Fischer Identification of interesting content based on observation of passive user interaction
US8176191B2 (en) * 2006-11-30 2012-05-08 Red Hat, Inc. Automated identification of high/low value content based on social feedback
US7924456B1 (en) * 2007-01-12 2011-04-12 Broadbus Technologies, Inc. Data distribution and buffering
US8540642B2 (en) * 2007-01-31 2013-09-24 Medtronic, Inc. Implantable medical device and method for physiological event monitoring
TW200847140A (en) * 2007-05-22 2008-12-01 Sunplus Technology Co Ltd Cyclic video recording method for an optical storage medium
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8539098B2 (en) * 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US8843974B2 (en) 2008-08-27 2014-09-23 Albert John McGowan Media playback system with multiple video formats
US8325795B1 (en) * 2008-12-01 2012-12-04 Adobe Systems Incorporated Managing indexing of live multimedia streaming
EP2196895A1 (en) 2008-12-09 2010-06-16 Thomson Licensing System for storing and/or retrieving a data-set and method thereof
US8849101B2 (en) * 2009-03-26 2014-09-30 Microsoft Corporation Providing previews of seek locations in media content
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US9479836B2 (en) * 2009-05-26 2016-10-25 Verizon Patent And Licensing Inc. Method and apparatus for navigating and playing back media content
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9258530B2 (en) * 2010-04-09 2016-02-09 Canon Kabushiki Kaisha Method for accessing a spatio-temporal part of a compressed video sequence using decomposed access request
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US10069887B2 (en) 2011-01-04 2018-09-04 Thomson Licensing Dtv Apparatus and method for transmitting live media content
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
JP2013025855A (ja) * 2011-07-26 2013-02-04 Mitsubishi Electric Corp ディスク再生装置
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9185009B2 (en) * 2012-06-20 2015-11-10 Google Inc. Status aware media play
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
CN104737231B (zh) * 2012-10-26 2017-10-27 索尼公司 信息处理设备、信息处理方法、程序和信息处理系统
US9128892B2 (en) * 2012-12-10 2015-09-08 Netflix, Inc. Managing content on an ISP cache
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US20140226955A1 (en) * 2013-02-12 2014-08-14 Takes Llc Generating a sequence of video clips based on meta data
JP6112193B2 (ja) * 2013-03-22 2017-04-12 富士通株式会社 アクセス制御プログラム、ディスク装置及びアクセス制御方法
CN104641655A (zh) * 2013-04-07 2015-05-20 华为技术有限公司 一种终端缓存的方法、终端及服务器
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US20150110462A1 (en) * 2013-10-21 2015-04-23 Sling Media, Inc. Dynamic media viewing
US10297287B2 (en) 2013-10-21 2019-05-21 Thuuz, Inc. Dynamic media recording
US9552298B2 (en) * 2013-12-27 2017-01-24 Sybase, Inc. Smart pre-fetch for sequential access on BTree
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10659851B2 (en) * 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US11863848B1 (en) 2014-10-09 2024-01-02 Stats Llc User interface for interaction with customized highlight shows
US10433030B2 (en) 2014-10-09 2019-10-01 Thuuz, Inc. Generating a customized highlight sequence depicting multiple events
US10419830B2 (en) 2014-10-09 2019-09-17 Thuuz, Inc. Generating a customized highlight sequence depicting an event
US10536758B2 (en) 2014-10-09 2020-01-14 Thuuz, Inc. Customized generation of highlight show with narrative component
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10897593B2 (en) * 2016-08-30 2021-01-19 International Business Machines Corporation Multiple tape video data splitter
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US11373404B2 (en) 2018-05-18 2022-06-28 Stats Llc Machine learning for recognizing and interpreting embedded information card content
US11264048B1 (en) 2018-06-05 2022-03-01 Stats Llc Audio processing for detecting occurrences of loud sound characterized by brief audio bursts
US11025985B2 (en) 2018-06-05 2021-06-01 Stats Llc Audio processing for detecting occurrences of crowd noise in sporting event television programming
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11305194B2 (en) * 2019-01-21 2022-04-19 Tempus Ex Machina, Inc. Systems and methods for providing a real-time representation of positional information of subjects
CN110971962B (zh) * 2019-11-30 2022-03-22 咪咕视讯科技有限公司 切片缓存的方法、装置及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2977829B2 (ja) * 1989-01-11 1999-11-15 株式会社東芝 動画像再生装置および動画像再生方法
US5047867A (en) * 1989-06-08 1991-09-10 North American Philips Corporation Interface for a TV-VCR system
JP3083530B2 (ja) 1989-09-11 2000-09-04 株式会社日立製作所 キャッシュメモリのデータ管理方法およびキャッシュ制御装置
US5727060A (en) * 1989-10-30 1998-03-10 Starsight Telecast, Inc. Television schedule system
ES2234978T3 (es) * 1990-09-10 2005-07-01 Starsight Telecast, Inc. Interfaz de usuario para un sistema de programacion de television.
US5488409A (en) * 1991-08-19 1996-01-30 Yuen; Henry C. Apparatus and method for tracking the playing of VCR programs
US6009232A (en) * 1991-08-27 1999-12-28 Canon Kabushiki Kaisha Simultaneous display of multiple images reproduced from a recording medium with forward and backward keys
GB2270791B (en) * 1992-09-21 1996-07-17 Grass Valley Group Disk-based digital video recorder
JPH06131264A (ja) 1992-10-16 1994-05-13 Hitachi Ltd キャッシュメモリ制御方式
JP3134568B2 (ja) * 1993-01-13 2001-02-13 ソニー株式会社 画像記録装置
JP3108585B2 (ja) * 1993-07-28 2000-11-13 日本電信電話株式会社 ビデオ画像プリントアクセス方法およびシステム
US6195497B1 (en) * 1993-10-25 2001-02-27 Hitachi, Ltd. Associated image retrieving apparatus and method
US5613032A (en) * 1994-09-02 1997-03-18 Bell Communications Research, Inc. System and method for recording, playing back and searching multimedia events wherein video, audio and text can be searched and retrieved
US6118923A (en) * 1994-11-10 2000-09-12 Intel Corporation Method and apparatus for deferred selective viewing of televised programs
JPH08249348A (ja) * 1995-03-13 1996-09-27 Hitachi Ltd 映像検索方法および装置
US5787472A (en) * 1995-07-31 1998-07-28 Ibm Corporation Disk caching system for selectively providing interval caching or segment caching of vided data
JP3566458B2 (ja) 1995-08-30 2004-09-15 株式会社東芝 アーカイブ装置
JP3371186B2 (ja) * 1995-11-27 2003-01-27 ソニー株式会社 ビデオデータ配信システムおよびビデオデータ受信装置
JP3469383B2 (ja) 1995-12-28 2003-11-25 株式会社日立製作所 データ先読み制御方法及び情報処理装置
US6070226A (en) * 1996-12-10 2000-05-30 Philips Electronics North America Corporation Memory system having magnetic disk drive implemented as cache memory and being integrated with optical disk drive in a hierarchical architecture
JPH10198604A (ja) 1997-01-08 1998-07-31 Nec Corp キャッシュリプレース方式
US6496228B1 (en) * 1997-06-02 2002-12-17 Koninklijke Philips Electronics N.V. Significant scene detection and frame filtering for a visual indexing system using dynamic thresholds
US6098153A (en) * 1998-01-30 2000-08-01 International Business Machines Corporation Method and a system for determining an appropriate amount of data to cache
US6463508B1 (en) * 1999-07-19 2002-10-08 International Business Machines Corporation Method and apparatus for caching a media stream

Also Published As

Publication number Publication date
JP2000172450A (ja) 2000-06-23
US6721490B1 (en) 2004-04-13
US20040170379A1 (en) 2004-09-02
US7580610B2 (en) 2009-08-25

Similar Documents

Publication Publication Date Title
JP3396639B2 (ja) 階層記憶装置及び階層記憶制御方法
KR100694152B1 (ko) 디지털 멀티미디어 기기에서 저장된 멀티미디어 컨텐츠를관리하는 방법 및 장치
US20060130097A1 (en) User history information generation of multimedia data and management method thereof
EP1671326A1 (en) Cache management for improving trick play performance
CN100445962C (zh) 记录设备及其方法
JP2004007656A (ja) ビデオファイルを効率的に管理するためのシステムおよび方法
US20070009237A1 (en) Disc player
EP1679705B1 (en) Method and device for scanning the contents of a storage medium
JP2007060005A (ja) デジタルデータ再生装置
US20080046117A1 (en) Method of preprocessing content and a content providing apparatus using the method of preprocessing content
JP2003233976A (ja) データ再生装置及びデータ再生制御方法
JP2004349778A (ja) 要約再生機能を備えた再生装置及び要約再生方法
JPH10124352A (ja) ライブラリ内ファイルの管理方法、及びライブラリ用サーバ装置
JP2002344849A (ja) 動画像処理装置、動画像処理方法、記録媒体、及び制御プログラム
JP2006524386A (ja) ファイル記憶用割り当てクラスの選択
US7178152B2 (en) Application programming interface for communication between audio/video file system and audio video controller
JP2004282763A (ja) ビデオ再生方法及びシステム、並びにこれらを利用した装置
KR20050059261A (ko) 데이터를 검색하는 방법 및 장치
JP2005158151A (ja) 情報記録再生装置
EP1935097A2 (en) System and method for storing and managing digital content
JP4155878B2 (ja) 情報記録再生装置
KR100618734B1 (ko) 데이터 파일 관리방법
KR100644605B1 (ko) 컨텐츠를 인터렉티브 모드로 재생하는 방법, 그 프리로드방법,그 데이터 기록방법 및 그 메모리 관리방법
JP2008287370A (ja) 表示制御装置、表示制御方法及びプログラム
JP2006040416A (ja) コンテンツ記録装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080207

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090207

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees