(57)【要約】【課題】  ストレージ装置のディレクトリ構造と、イベントの管理とを一重管理することで、ＣＰＵにかかる演算の負荷を軽減することが可能なストレージ装置を提供する。【解決手段】  ストレージ装置は、階層構造における最下位層のノードに、制御対象となるコンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを記述したイベントメタデータＥｍを関連付けるとともに、上位層のノードである親ノードに、下位層のノードである１つ以上の子ノードを特定するノード識別情報Ｎｉｄと、前記１つ以上の子ノードにおける最先の起動時刻と、その最先の起動時刻を有する子ノードを特定する起動ノード識別情報とを含んだノード情報Ｎｉを関連付けたインデックス情報Ｉｄｘにより、ディレクトリ構造とイベントの管理を行うことを特徴とする。【選択図】      図２
2006139334.tif 000002
【特許請求の範囲】
【請求項１】
制御対象となるコンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを記述したイベントメタデータに基づいて、前記コンテンツを制御するストレージ装置であって、
前記コンテンツを蓄積するコンテンツ蓄積手段と、
階層構造における最下位層のノードであるコンテンツの上位層のノードである親ノードに、下位層のノードである１つ以上の子ノードを特定するノード識別情報と、前記１つ以上の子ノードにおける最先の起動時刻と、その最先の起動時刻を有する子ノードを特定する起動ノード識別情報とを含んだノード情報を蓄積するノード情報蓄積手段と、
現在時刻を出力する計時手段と、
この計時手段から出力される現在時刻が、前記ノード情報蓄積手段に蓄積されている最上位層のノードに関連付けられている起動時刻に達した段階で、前記ノード情報に基づいて、前記起動時刻に関連付けられている前記起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する起動コンテンツ探索手段と、
この起動コンテンツ探索手段で探索されたコンテンツに対応する前記イベントメタデータに記述されている制御動作を実行するコンテンツ操作制御手段と、
このコンテンツ操作制御手段による制御動作の対象となったコンテンツの親ノードから、上位層に遡って前記ノード情報における前記最先の起動時刻と前記起動ノード識別情報とを更新するノード情報更新手段と、
を備えていることを特徴とするストレージ装置。
【請求項２】
前記コンテンツを受信するコンテンツ受信手段と、
このコンテンツ受信手段で受信したコンテンツを前記コンテンツ蓄積手段に蓄積するコンテンツ蓄積制御手段とを備え、
前記ノード情報更新手段が、前記コンテンツ受信手段で受信したコンテンツの蓄積に際し、当該コンテンツの上位層のノードにおいて、前記ノード情報に、当該コンテンツの前記ノード識別情報を追加するとともに、当該コンテンツに対応する前記イベントメタデータに記述されている起動時刻に基づいて、上位層に遡って前記ノード情報を更新することを特徴とする請求項１に記載のストレージ装置。
【請求項３】
外部から指示される前記コンテンツの削除指示に基づいて、前記コンテンツ蓄積手段から、指示されたコンテンツを削除するコンテンツ削除手段を備え、
前記ノード情報更新手段が、削除されたコンテンツの親ノードに対応する前記ノード情報から、当該コンテンツの前記ノード識別情報を削除するとともに、当該コンテンツの親ノードから、上位層に遡って前記ノード情報を更新することを特徴とする請求項１又は請求項２に記載のストレージ装置。
【請求項４】
ネットワークを介してコンテンツが分散化された環境において、制御対象となるコンテンツの制御動作を起動する起動時刻と、その制御動作の内容と、前記制御動作を他のコンテンツに対して優先して実行するかどうかを示す優先フラグとを含んだイベントメタデータに基づいて、前記コンテンツを制御するストレージ装置であって、
前記コンテンツを蓄積するコンテンツ蓄積手段と、
階層構造における最下位層のノードであるコンテンツの上位層のノードである親ノードに、下位層のノードである１つ以上の子ノードを特定するノード識別情報と、前記１つ以上の子ノードにおける最先の起動時刻と、その最先の起動時刻を有する子ノードを特定する起動ノード識別情報と、当該子ノードの優先フラブとを含んだノード情報を蓄積するノード情報蓄積手段と、
現在時刻を出力する計時手段と、
この計時手段から出力される現在時刻が、前記ノード情報蓄積手段に蓄積されている最上位層のノードに関連付けられている起動時刻に達した段階で、前記ノード情報に基づいて、前記起動時刻に関連付けられている前記起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する起動コンテンツ探索手段と、
この起動コンテンツ探索手段で探索されたコンテンツに対応する前記イベントメタデータに記述されている制御動作を実行するコンテンツ操作制御手段と、
前記起動コンテンツ探索手段で探索されたコンテンツが、他のストレージ装置に蓄積されており、且つ、当該コンテンツにおいて前記優先フラグが設定されている場合に、前記ネットワークを介したコンテンツのアクセスを制限するアクセス制御手段と、
前記ノード情報を他のストレージ装置と同期をとって更新するノード情報同期更新手段と、
を備えていることを特徴とするストレージ装置。
【請求項５】
コンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを含んだイベントメタデータと、階層構造における上位層のノードに、下位層のノードを特定するノード識別情報と、前記下位層のノードにおける最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを含んだノード情報とに基づいて、前記コンテンツを制御するストレージ装置におけるコンテンツ蓄積管理方法であって、
計時手段から出力される現在時刻と、前記階層構造における最上位層のノードに関連付けられている最先の起動時刻とを比較することで、現在時刻が前記コンテンツの制御動作の起動時刻に達したかどうかを判定する起動時刻判定ステップと、
この起動時刻判定ステップにおいて起動時刻に達したと判定された場合に、前記ノード情報に基づいて、前記起動時刻に関連付けられている前記起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する起動コンテンツ探索ステップと、
この起動コンテンツ探索ステップで探索されたコンテンツに対応する前記イベントメタデータに記述されている制御動作を実行するイベント実行ステップと、
このイベント実行ステップで実行された制御動作の対象となったコンテンツの親ノードから、上位層に遡って前記ノード情報における前記最先の起動時刻と前記起動ノード識別情報とを更新するノード情報更新ステップと、
を含んでいることを特徴とするコンテンツ蓄積管理方法。
【請求項６】
コンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを含んだイベントメタデータと、階層構造における上位層のノードに、下位層のノードを特定するノード識別情報と、前記下位層のノードにおける最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを含んだノード情報とに基づいて、前記コンテンツを制御するために、コンピュータを、
計時手段から出力される現在時刻が、前記階層構造における最上位層のノードに関連付けられている起動時刻に達した段階で、前記ノード情報に基づいて、前記起動時刻に関連付けられている前記起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する起動コンテンツ探索手段、
この起動コンテンツ探索手段で探索されたコンテンツに対応する前記イベントメタデータに記述されている制御動作を実行するコンテンツ操作制御手段、
このコンテンツ操作制御手段による制御動作の対象となったコンテンツの親ノードから、上位層に遡って前記ノード情報における前記最先の起動時刻と前記起動ノード識別情報とを更新するノード情報更新手段、
として機能させることを特徴とするコンテンツ蓄積管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層構造で管理されたコンテンツを、そのコンテンツの制御動作の内容と起動時刻とを記述したイベントメタデータに基づいて制御するストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラムに関する。
【背景技術】
【０００２】
従来、コンテンツを蓄積するハードディスク等のストレージ装置では、階層構造（ディレクトリ構造）でコンテンツを蓄積管理している（例えば、特許文献１参照）。
また、近年、コンピュータで利用するコンテンツのデータ量は増加し続けており、定期的に、古くなったコンテンツを他の低速なストリーマ（例えば、テープストリーマ）にバックアップしたり、消去したりすることで、自律的にデータ管理を行うストレージ装置が提案されている（例えば、非特許文献１参照）。
このように、ディレクトリ構造で蓄積されたコンテンツを、自律的に管理するストレージ装置においては、コンテンツの複製、移動、削除等のイベント（制御動作）を、時刻とイベントとを時刻順に表形式に記述したイベントメタデータで管理し、ある時刻に達した段階でその時刻に対応するイベントを実行させることで実現していた。
【０００３】
ここで、図１８〜図２１を参照して、従来のストレージ装置におけるイベントメタデータによるコンテンツの蓄積制御動作について説明する。
図１８〜図２１では、説明を簡略化するためディレクトリ構造Ｄ（Ｄ1〜Ｄ4）を３層とし、最上位層のノードを「ルートノード」、中間層のノードを単に「ノード」、最下位層のノードを「葉ノード」としている。なお、葉ノードは、コンテンツの実体そのものである。また、イベントメタデータＭＤ（ＭＤ1〜ＭＤ4）は、イベントを実行する時刻ｔ、コンテンツの識別情報ｉｄ（ここでは、パス名を含んだコンテンツへのポインタ）、及び、制御動作の内容ｅｘを記述している。
【０００４】
図１８は、従来のストレージ装置におけるディレクトリ構造及びイベントメタデータの内容の例を示す図である。ここでは、ある時刻において、ディレクトリ構造Ｄ1及びイベントメタデータＭＤ1の内容が図１８に示した状態であるとする。すなわち、ディレクトリ構造Ｄ1に示すように、ルートノード直下にノード「Ａ」、「Ｂ」及び「Ｃ」が存在し、それらの各ノードの直下に、葉ノードであるコンテンツ「ａ」及び「ｂ」と、コンテンツ「ｃ」及び「ｄ」と、コンテンツ「ｅ」及び「ｆ」とがそれぞれ格納されている。
また、図１８のイベントメタデータＭＤ1には、時刻「９：００」にコンテンツ「／Ａ／ｂ」を「送出サーバへ複製」するイベントを実行し、時刻「９：３５」にコンテンツ「／Ｂ／ｃ」を「コンテンツサーバへ転送」するイベントを実行し、時刻「９：５０」にコンテンツ「／Ａ／ａ」を「クライアントＸに確認して消去」するイベントを実行し、時刻「１３：００」にコンテンツ「／Ｃ／ｆ」を「クライアントＹに確認して消去」するイベントを実行し、時刻「１３：３０」にコンテンツ「／Ｂ／ｄ」の「アクセス限定フラグを解除」するイベントを実行し、時刻「１３：５０」にコンテンツ「／Ｃ／ｅ」を「テープストリーマへバックアップ」するイベントを実行する手順が記述されている。
【０００５】
図１９は、図１８のディレクトリ構造において、新規にコンテンツを蓄積した場合のディレクトリ構造とイベントメタデータの例を示す図である。
この図１９では、図１８のディレクトリ構造Ｄ1において、ノードＣに新規にコンテンツｇを追加している。このコンテンツｇは、時刻「８：３５」に「クライアントＺへ複製」されることとする。この場合、従来のストレージ装置は、図１９のディレクトリ構造Ｄ2に示すように、ノードＣの直下に葉ノードであるコンテンツｇを追加するように、ディレクトリを構成し直す。また、従来のストレージ装置は、イベントメタデータＭＤ2に示すように、蓄積するコンテンツｇの起動時刻と、イベントメタデータＭＤの時刻ｔとに基づいて、当該コンテンツｇのイベントを、イベントメタデータＭＤのどこに記述（挿入）すべきかを探索し、該当する箇所（行）にそのイベントの内容を記述する。ここでは、イベントメタデータＭＤの先頭行にコンテンツｇのイベントを記述している。
【０００６】
図２０は、図１９のディレクトリ構造において、コンテンツ（ここでは、コンテンツｂ）を削除した場合のディレクトリ構造とイベントメタデータの例を示す図である。
この図２０では、図１９のディレクトリ構造Ｄ2において、ノードＡ直下のコンテンツｂを削除している。この場合、従来のストレージ装置は、図１９のディレクトリ構造Ｄ2におけるノードＡ直下のコンテンツｂを削除し、図２０のディレクトリ構造Ｄ3にディレクトリを構成し直す。また、従来のストレージ装置は、図１９のイベントメタデータＭＤ2において、コンテンツｂのイベントを探索し、イベントメタデータＭＤ2からコンテンツｂのイベントの内容を削除することで、図２０のイベントメタデータＭＤ3を生成する。
【０００７】
図２１は、図２０のディレクトリ構造において、コンテンツ（ここでは、コンテンツｄ）のイベントの起動時刻を更新した場合のディレクトリ構造とイベントメタデータの例を示す図である。ここでは、コンテンツｄの起動時刻を「１３：３０」から「９：００」に更新することとしている。
この図２１では、コンテンツｄの起動時刻のみを更新しているので、ディレクトリ構造Ｄ4は、図２０のディレクトリ構造Ｄ3と同一である。ここで、コンテンツの起動時刻を更新する場合、従来のストレージ装置は、図２０のイベントメタデータＭＤ3から、コンテンツｄのイベントを探索し、該当するイベントの起動時刻を更新する。さらに、従来のストレージ装置は、更新された起動時刻に基づいて、イベントメタデータＭＤを起動時刻順に並べ替えることで、図２１のイベントメタデータＭＤ4を生成する。
このように、従来のストレージ装置は、コンテンツをディレクトリ構造で管理するとともに、イベントメタデータを用いて、コンテンツのイベントの管理を行っていた。
【特許文献１】特開平５−２３３４１７号公報
【非特許文献１】伊藤大輔，「自律ディスク上の分散ディレクトリの負荷均衡機構を用いたクラスタ再構成」、第１３回データ工学ワークショップ論文集、ＤＥＷＳ２００２  Ｃ３−３、電子情報通信学会データ工学研究専門委員会（２００２）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、前記した従来のストレージ装置では、コンテンツの蓄積場所をディレクトリ構造により管理し、コンテンツのイベントとそのイベントの起動時刻とを別途時刻順に表形式に記述したイベントの管理表（イベントメタデータ）で管理するため、コンテンツの蓄積場所と、イベントの管理とが二重構造で管理されていた。
また、従来のストレージ装置では、現在の時刻とイベントの管理表に記述された起動時刻とが一致したときに、その起動時刻に対応するコンテンツの蓄積場所をディレクトリ構造から探索するとともに、そのコンテンツに対応するイベントを管理表から探索し起動している。
【０００９】
このため、従来のストレージ装置では、コンテンツを新たに蓄積あるいは削除する場合、その都度、コンテンツの蓄積場所を規定するディレクトリ構造を書き直すとともに、イベントの管理表をイベントの起動時刻順に並べ直す等の変更が必要となり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算装置）にかかる演算の負荷が大きいという問題がある。また、コンテンツのイベントを起動する場合でも、コンテンツの探索とともに、イベントの探索が必要となり、前記同様ＣＰＵにかかる演算の負荷が大きいという問題がある。
【００１０】
さらに、ストレージ装置をネットワークに複数台接続し、コンテンツを分散して管理する分散ディレクトリ環境において、コンテンツを新たに蓄積あるいは削除する場合、その都度、ネットワークを介してシステム全体のディレクトリ構造及びイベントの管理表を更新する必要があり、ネットワークに負荷がかかってしまい、クライアントコンピュータ等が、ストレージ装置に対してコンテンツのアクセスを行う際のスループットを低下させてしまうという問題がある。
【００１１】
本発明は、以上のような問題点に鑑みてなされたものであり、ストレージ装置のディレクトリ構造と、イベントの管理とを一重管理することで、ＣＰＵにかかる演算の負荷、並びに、ネットワークにかかる負荷を軽減することが可能なストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項１に記載のストレージ装置は、制御対象となるコンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを記述したイベントメタデータに基づいて、前記コンテンツを制御するストレージ装置であって、コンテンツ蓄積手段と、ノード情報蓄積手段と、計時手段と、起動コンテンツ探索手段と、コンテンツ操作制御手段と、ノード情報更新手段とを備える構成とした。
【００１３】
かかる構成によれば、ストレージ装置は、コンテンツの制御動作を起動する起動時刻とその制御動作の内容とを記述したイベントメタデータを含んだコンテンツをコンテンツ蓄積手段に蓄積し、階層構造の階層毎の情報であるノード情報をノード情報蓄積手段に蓄積する（あるいは、予め蓄積しておく）。
ここで、ノード情報は、イベントメタデータを含むコンテンツを、階層構造で管理するための情報である。ここでは、最下位層のノード（葉ノード）にコンテンツを関連付け、その上位層となるノード（親ノード）に、下位層のノードである１つ以上の子ノードを特定するノード識別情報と、その１つ以上の子ノードにおける最先の起動時刻と、その最先の起動時刻を有する子ノードを特定する起動ノード識別情報とを含んだノード情報を関連付ける。
これによって、最上位層のノード（ルートノード）のノード情報には、ルートノードの直下の子ノードを特定するノード識別情報と、コンテンツの制御動作を起動する最先の起動時刻と、その起動すべきコンテンツを含む子ノードを示す起動ノード識別情報とが含まれることになる。
【００１４】
そして、ストレージ装置は、起動コンテンツ探索手段によって、計時手段から出力される現在時刻が、ルートノードに関連付けられている起動時刻（最先の起動時刻）に達した段階で、ノード情報に基づいて、起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する。これによって、コンテンツ探索手段は、どのコンテンツが起動すべきコンテンツであるのかを探索（特定）することができる。
【００１５】
そして、ストレージ装置は、コンテンツ操作制御手段によって、探索されたコンテンツに対応するイベントメタデータに記述されている制御動作を実行する。
さらに、ストレージ装置は、ノード情報更新手段によって、制御対象となったコンテンツ（葉ノード）の親ノードから、上位層に遡ってノード情報における最先の起動時刻と起動ノード識別情報とを更新する。これによって、最上位層のノード（ルートノード）のノード情報まで、更新されることになる。
【００１６】
また、請求項２に記載のストレージ装置は、請求項１に記載のストレージ装置において、コンテンツ受信手段と、コンテンツ蓄積制御手段とを備え、前記ノード情報更新手段が、前記コンテンツ受信手段で受信したコンテンツの蓄積に際し、当該コンテンツの上位層のノードにおいて、前記ノード情報に、当該コンテンツの前記ノード識別情報を追加するとともに、当該コンテンツに対応する前記イベントメタデータに記述されている起動時刻に基づいて、上位層に遡って前記ノード情報を更新することを特徴とする。
【００１７】
かかる構成によれば、ストレージ装置は、コンテンツ受信手段によって、通信回線やネットワークを介して、コンテンツを受信する。そして、ストレージ装置は、コンテンツ蓄積制御手段によって、受信したコンテンツをコンテンツ蓄積手段に蓄積する。
このとき、ノード情報更新手段が、受信して蓄積されたコンテンツの上位層のノード情報に、当該コンテンツを特定する識別情報（識別子）を追加して記述することで、そのノードの直下にコンテンツが管理されることになる。
【００１８】
さらに、ノード情報更新手段は、コンテンツに対応するイベントメタデータに記述されている当該コンテンツの起動時刻を参照することで、当該コンテンツの親ノードを上位層に遡って、各層のノード情報を更新する。すなわち、ノード情報更新手段は、コンテンツ（葉ノード）の中で、最も起動時刻が早い葉ノードによって、コンテンツの親ノードのノード情報を書き換え、順次上位層のノード情報における最先の起動時刻と起動ノード識別情報とを更新する。
【００１９】
さらに、請求項３に記載のストレージ装置は、請求項１又は請求項２に記載のストレージ装置において、コンテンツ削除手段を備え、前記ノード情報更新手段が、削除されたコンテンツの親ノードに対応する前記ノード情報から、当該コンテンツの前記ノード識別情報を削除するとともに、当該コンテンツの親ノードから、上位層に遡って前記ノード情報を更新することを特徴とする。
【００２０】
かかる構成によれば、ストレージ装置は、コンテンツ削除手段によって、外部からの指示（削除指示）等によって、指示されたコンテンツをコンテンツ蓄積手段から削除する。
このとき、ノード情報更新手段が、コンテンツの親ノードに対応するノード情報から、当該コンテンツのノード識別情報を削除する。そして、ノード情報更新手段が、そのコンテンツ（葉ノード）の上位層のノードにおいて、削除されたコンテンツ以外のイベントメタデータに記述されているコンテンツの最先の起動時刻により、削除されたコンテンツの親ノードを上位層に遡って、各層のノード情報を更新する。これによって、削除指示されたコンテンツは、階層構造から削除されるとともに、最上位層のノード（ルートノード）まで、ノード情報が更新されることになる。
【００２１】
また、請求項４に記載のストレージ装置は、ネットワークを介してコンテンツが分散化された環境において、制御対象となるコンテンツの制御動作を起動する起動時刻と、その制御動作の内容と、前記制御動作を他のコンテンツに対して優先して実行するかどうかを示す優先フラグとを含んだイベントメタデータに基づいて、前記コンテンツを制御するストレージ装置であって、コンテンツ蓄積手段と、ノード情報蓄積手段と、計時手段と、起動コンテンツ探索手段と、コンテンツ操作制御手段と、アクセス制御手段と、ノード情報同期更新手段とを備える構成とした。
【００２２】
かかる構成によれば、ストレージ装置は、コンテンツの制御動作を起動する起動時刻とその制御動作の内容と優先フラグとを記述したイベントメタデータを含んだコンテンツをコンテンツ蓄積手段に蓄積し、階層構造の階層毎の情報であるノード情報をノード情報蓄積手段に蓄積する（あるいは、予め蓄積しておく）。
ここで、優先フラグは、コンテンツの制御動作を他のコンテンツに対して優先して実行するかどうかを示すフラグである。また、ノード情報は、イベントメタデータを含むコンテンツを、階層構造で管理するための情報である。ここでは、最下位層のノード（葉ノード）にコンテンツを関連付け、その上位層となるノード（親ノード）に、下位層のノードである１つ以上の子ノードを特定するノード識別情報と、その１つ以上の子ノードにおける最先の起動時刻と、その最先の起動時刻を有する子ノードを特定する起動ノード識別情報とを含んだノード情報を関連付ける。
【００２３】
そして、ストレージ装置は、起動コンテンツ探索手段によって、計時手段から出力される現在時刻が、ルートノードに関連付けられている起動時刻（最先の起動時刻）に達した段階で、ノード情報に基づいて、起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する。
そして、ストレージ装置は、コンテンツ操作制御手段によって、探索されたコンテンツに対応するイベントメタデータに記述されている制御動作を実行する。
【００２４】
このとき、ストレージ装置は、アクセス制御手段によって、起動コンテンツ探索手段で探索されたコンテンツが、他のストレージ装置に蓄積されており、且つ、当該コンテンツにおいて優先フラグが設定されている場合に、ネットワークを介したコンテンツのアクセスを制限する。例えば、ネットワークを介した他のコンテンツのコピー等を停止することで、ネットワークへの負荷が軽減され、優先フラグが設定されているコンテンツの制御動作が優先して実行されることになる。
さらに、ストレージ装置は、ノード情報同期更新手段によって、ノード情報を他のストレージ装置と同期をとって更新することで、齟齬のないノード情報を保持し、どのコンテンツがどのストレージ装置に蓄積され、優先フラグが設定されているかどうかを認識することができる。
【００２５】
さらに、請求項５に記載のコンテンツ蓄積管理方法は、コンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを含んだイベントメタデータと、階層構造における上位層のノードに、下位層のノードを特定するノード識別情報と、前記下位層のノードにおける最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを含んだノード情報とに基づいて、前記コンテンツの制御動作を管理するストレージ装置におけるコンテンツ蓄積管理方法であって、起動時刻判定ステップと、起動コンテンツ探索ステップと、イベント実行ステップと、ノード情報更新ステップと、を含んでいることを特徴とする。
【００２６】
かかる手順によれば、コンテンツ蓄積管理方法は、起動時刻判定ステップで、計時手段から出力される現在時刻と、最上位層のノード（ルートノード）に関連付けられている最先の起動時刻とを比較することで、現在時刻が起動時刻に達したかどうかを判定する。
そして、コンテンツ蓄積管理方法は、起動コンテンツ探索ステップで、起動時刻判定ステップで起動時刻に達したと判定された場合に、ノード情報に基づいて、起動時刻に関連付けられている起動ノード識別情報で特定されるノードを下位層に向かって探索する。これによって、最下位層のノードであるコンテンツが特定される。
【００２７】
さらに、コンテンツ蓄積管理方法は、イベント実行ステップで、起動コンテンツ探索ステップで探索されたコンテンツに対応するイベントメタデータに記述されている制御動作を実行する。そして、ノード情報更新ステップで、イベント実行ステップで実行された制御対象となったコンテンツの親ノードから、上位層に遡ってノード情報における最先の起動時刻と起動ノード識別情報とを更新する。これによって、最上位層のノード（ルートノード）のノード情報まで、更新される。
【００２８】
また、請求項６に記載のコンテンツ蓄積管理プログラムは、コンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを含んだイベントメタデータと、階層構造における上位層のノードに、下位層のノードを特定するノード識別情報と、前記下位層のノードにおける最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを含んだノード情報とに基づいて、前記コンテンツを制御するために、コンピュータを、起動コンテンツ探索手段、コンテンツ操作制御手段、ノード情報更新手段、として機能させる構成とした。
【００２９】
かかる構成によれば、コンテンツ蓄積管理プログラムは、起動コンテンツ探索手段によって、計時手段から出力される現在時刻が、ルートノードに関連付けられている起動時刻（最先の起動時刻）に達した段階で、ノード情報に基づいて、起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する。
【００３０】
そして、コンテンツ蓄積管理プログラムは、コンテンツ操作制御手段によって、探索されたコンテンツに対応するイベントメタデータに記述されている制御動作を実行する。
さらに、コンテンツ蓄積管理プログラムは、ノード情報更新手段によって、制御動作の対象となったコンテンツの親ノードから、上位層に遡ってノード情報における最先の起動時刻と起動ノード識別情報とを更新する。
【発明の効果】
【００３１】
請求項１、請求項５又は請求項６に記載の発明によれば、コンテンツのディレクトリ構造（階層構造）と、コンテンツの制御動作（イベント）の管理とを、同一の階層構造を有するノード情報によって管理するため、ディレクトリ構造とイベント管理とを二重管理することなく、ノード情報によって共通に（一重）管理することができる。また、イベントを実行すべきコンテンツを探索する場合に、コンテンツの探索と、イベントの探索とが同時に行えるため、ＣＰＵにかかる処理を軽減することができ、コンテンツの数が増えた場合でも高速にイベントの管理を行うことができる。
【００３２】
請求項２に記載の発明によれば、コンテンツを新規に蓄積する場合に、新規コンテンツのイベントメタデータを最下位層のノードとして、その上位層に遡ってノード情報を更新するだけで、新規のコンテンツを既存の階層構造の中に組み込むとともに、イベントの管理を行うことが可能になる。
【００３３】
請求項３に記載の発明によれば、コンテンツを削除する場合に、削除するコンテンツに相当する最下位層のノードを削除するとともに、その上位層に遡ってノード情報を更新するだけで、既存の階層構造からコンテンツを削除するとともに、イベントの管理を行うことが可能になる。
【００３４】
請求項４に記載の発明によれば、ストレージ装置をネットワークに複数台接続し、コンテンツを分散して管理する分散ディレクトリ環境において、コンテンツを新たに蓄積あるいは削除する場合は、いずれのストレージ装置に蓄積あるいは削除の命令を出しても、ストレージ装置がコンテンツを蓄積あるいは削除する必要のあるストレージ装置に通知して、ストレージ装置の動作を起動できる。また、当該動作を終了した後においても、ネットワークを介して各ストレージ装置にノード情報全体を通知する必要がない。そのため、ネットワークにかかる負荷を軽減することができる。また、優先フラグが設定されたコンテンツの制御動作が実行された場合、他のコンテンツの制御動作を停止させることができるので、ネットワークにかかる負荷を軽減することができるとともに、優先フラグが設定されたコンテンツの制御動作を高速に実行することができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態について図面を参照して説明する。
［第一の実施の形態］
（ストレージ装置の構成）
まず、図１を参照して、第一の実施の形態に係るストレージ装置の構成について説明する。図１は、本発明の第一の実施の形態に係るストレージ装置の構成を示すブロック図である。
【００３６】
図１に示したストレージ装置１は、コンテンツを蓄積するとともに、コンテンツに含まれている、制御動作（イベント）を起動する起動時刻と、その制御動作の内容とを記述したメタデータ（イベントメタデータ）に基づいてコンテンツを制御するものである。ここでは、ストレージ装置１は、通信送受信手段１０と、コンテンツ蓄積手段２０と、ノード情報蓄積手段３０と、計時手段４０と、システム管理手段５０とを備えている。
【００３７】
通信送受信手段１０は、ネットワークＮを介して、クライアントコンピュータ（図示せず）や他のストレージ装置（図示せず）と、データ（コンテンツ）や制御情報の送受信を行うものである。例えば、通信送受信手段１０は、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）の通信プロトコルによってデータや制御情報の送受信を行う通信ボードである。
【００３８】
コンテンツ蓄積手段２０は、映像、音声等のコンテンツの実体と、そのコンテンツの制御動作を起動する起動時刻とその制御動作の内容とを記述したイベントメタデータとからなるデータ（以下、コンテンツＣｏ）を蓄積するもので、ハードディスク等の一般的な記憶装置である。このコンテンツ蓄積手段２０に蓄積されるコンテンツＣｏは、後記するコンテンツ格納手段５１により蓄積され、コンテンツ配信手段５２により読み出される。また、コンテンツＣｏは、コンテンツ削除手段５３によりコンテンツ蓄積手段２０から削除される。
【００３９】
ノード情報蓄積手段３０は、階層構造におけるノード情報Ｎｉを蓄積するものである。このノード情報蓄積手段３０は、ハードディスク等の一般的な記憶装置である。
なお、ここでは、コンテンツ蓄積手段２０とノード情報蓄積手段３０とを、別々の記憶装置として構成しているが、同一の記憶装置にコンテンツＣｏ及びノード情報Ｎｉを蓄積することとしてもよい。
【００４０】
ここで、図２を参照（適宜図１参照）して、ノード情報及びイベントメタデータの構造について説明する。図２は、ノード情報及びイベントメタデータの構造を模式的に示す模式図である。以下、ノード情報Ｎｉ及びイベントメタデータＥｍをまとめて、インデックス情報Ｉｄｘという。
図２に示すように、ストレージ装置１は、インデックス情報Ｉｄｘによって、最上位層のノードをルートノードとした階層構造でコンテンツを管理している。
ここで、コンテンツは、最下位層のノード（葉ノード）として管理される。この葉ノードであるコンテンツには、コンテンツを特定する識別子（例えば、ファイル名）と、値（コンテンツの実体）と、コンテンツの制御動作（イベント）の起動時刻、及び、制御動作の内容を記述したイベントメタデータＥｍとを少なくとも含んでいる。
なお、識別子と値とイベントメタデータとは、例えば、ＭＸＦ（Ｍａｔｅｒｉａｌ  ｅＸｃｈａｎｇｅ  Ｆｏｒｍａｔ）のような、一つのファイルに組み込んで管理してもよいし、識別子と値とを含むファイルと、イベントメタデータとのファイルに分けて、双方のファイルを関連付けて管理してもよい。
【００４１】
また、葉ノードの上位層となるノード（親ノード）は、１つ以上の子ノード（葉ノード又は下位層のノード）を特定するための情報（ノード識別情報Ｎｉｄ；例えば、ノードのポインタ）と、その子ノードにおけるイベントの起動時刻の中で最先の起動時刻と、その最先の起動時刻を有する子ノードを特定するための情報（起動ノード識別情報；例えば、ノードのポインタ）とを含んだノード情報Ｎｉからなっている。なお、葉ノード以外のノード（ルートノードを含む）は、すべて同一のノード情報Ｎｉの形式で管理される。
そして、ノード情報蓄積手段３０には、ルートノードのノード情報Ｎｉと、子ノードとなるノードのノード情報Ｎｉを階層化して蓄積する。
【００４２】
これによって、ストレージ装置１は、ルートノードの「最先の起動時刻」を参照することで、どの時刻に最も早くイベントを起動すべきかを判断することができる。さらに、ストレージ装置１は、ルートノードから「起動ノード識別情報」を下位層に向かって探索することで、どのコンテンツ（葉ノード）のイベントを起動すべきかを特定することができる。
図１に戻って、ストレージ装置１の構成について説明を続ける。
【００４３】
計時手段４０は、現在の時刻を出力するものである。この計時手段４０は、図示していないタイマから出力されるクロックに基づいて、ある基準時刻からの相対時刻を計時することで、現在の時刻を計測し出力する。この計時手段４０で計測された現在時刻は、コンテンツ管理手段５０のインデックス情報管理手段５４２に出力され、インデックス情報管理手段５４２内の起動コンテンツ探索手段５４２ａが、現在時刻において、起動すべきコンテンツが存在するかどうかを探索する。
なお、ここでは、計時手段４０が、ストレージ装置１内で現在時刻を計時する構成としているが、この計時手段４０は、ネットワークＮを介して、タイムサーバから現在時刻を取得し、現在時刻を修正することとしてもよい。
【００４４】
システム管理手段５０は、ストレージ装置１全体の制御を行うものである。例えば、システム管理手段５０は、ＣＰＵ（Central Processing Unit）やメモリ等を備えたコンピュータであって、プログラムを、以下に示す各手段として機能させることで、コンテンツの蓄積管理や、イベント管理を行うものである。ここでは、システム管理手段５０は、コンテンツ格納手段５１と、コンテンツ配信手段５２と、コンテンツ削除手段５３と、コンテンツ管理手段５４と、制御情報受信手段５５と、制御情報送信手段５６とを備えている。
【００４５】
コンテンツ格納手段５１は、通信送受信手段１０を介して、コンテンツを取得し、コンテンツ蓄積手段２０に蓄積するものである。なお、このコンテンツ格納手段５１の動作としては、新規にコンテンツを蓄積する場合と、すでに蓄積されているコンテンツを更新する場合とを含んでいる。ここでは、コンテンツ格納手段５１は、コンテンツ受信手段５１ａと、コンテンツ蓄積制御手段５１ｂとを備えている。
【００４６】
コンテンツ受信手段５１ａは、通信送受信手段１０を介してコンテンツを受信するものである。このコンテンツ受信手段５１ａは、コンテンツ管理手段５４のコンテンツ操作制御手段５４３から制御情報として通知されるコンテンツの送信元（例えば、クライアントコンピュータ、他のストレージ装置等）から、通信送受信手段１０を介してコンテンツを受信する。このコンテンツ受信手段５１ａで受信したコンテンツは、コンテンツ蓄積制御手段５１ｂに出力される。
【００４７】
コンテンツ蓄積制御手段５１ｂは、コンテンツ受信手段５１ａで受信したコンテンツを、コンテンツ蓄積手段２０に書き込むものである。このコンテンツ蓄積制御手段５１ｂは、コンテンツ管理手段５４のコンテンツ操作制御手段５４３から通知される制御情報（蓄積先のアドレス等）に基づいて、コンテンツをコンテンツ蓄積手段２０に書き込む。
また、コンテンツ蓄積制御手段５１ｂは、コンテンツをコンテンツ蓄積手段２０に書き込んだ段階で、書き込んだ旨を示す制御情報と、コンテンツの識別子（ファイル名）と、書き込みアドレスと、イベントメタデータ中の起動時刻とをコンテンツ管理手段５４のコンテンツ状態監視手段５４１に通知する。これによって、コンテンツ管理手段５４は、コンテンツ蓄積手段２０に蓄積されているコンテンツの変化（蓄積、削除等）を認識することができる。
【００４８】
なお、イベントメタデータは、例えば、コンテンツの先頭から予め定めた長さのデータ長で、コンテンツの起動時刻、制御動作の内容をテキストデータ、あるいは、予め定めた符号等によって記述されたコンテンツのイベントを規定するメタデータである。
また、コンテンツ蓄積制御手段５１ｂは、コンテンツ状態監視手段５４１に通知した情報を、さらに、コンテンツ管理手段５４のインデックス情報管理手段５４２内のノード情報更新手段５４２ｂに出力する。
【００４９】
コンテンツ配信手段５２は、コンテンツ蓄積手段２０に蓄積されているコンテンツＣｏを、通信送受信手段１０を介して配信するもので、コンテンツ読み出し手段５２ａと、コンテンツ送信手段５２ｂとを備えている。
【００５０】
コンテンツ読み出し手段５２ａは、コンテンツ蓄積手段２０に蓄積されているコンテンツＣｏを読み出すものである。このコンテンツ読み出し手段５２ａは、コンテンツ管理手段５４のコンテンツ操作制御手段５４３から通知される制御情報（蓄積元のアドレス等）に基づいて、コンテンツＣｏをコンテンツ蓄積手段２０から読み出す。このコンテンツ読み出し手段５２ａで読み出されたコンテンツＣｏは、コンテンツ送信手段５２ｂに出力される。
また、コンテンツ読み出し手段５２ａは、コンテンツＣｏをコンテンツ蓄積手段２０から読み出した段階で、読み出した旨を示す制御情報をコンテンツ管理手段５４のコンテンツ状態監視手段５４１に通知する。
【００５１】
コンテンツ送信手段５２ｂは、コンテンツ読み出し手段５２ａで読み出されたコンテンツを、通信送受信手段１０を介して送信するものである。このコンテンツ送信手段５２ｂは、コンテンツ管理手段５４のコンテンツ操作制御手段５４３から通知されるコンテンツの送信先（例えば、クライアントコンピュータ、他のストレージ装置等）に、通信送受信手段１０を介してコンテンツを送信する。
【００５２】
コンテンツ削除手段５３は、コンテンツ蓄積手段２０に蓄積されているコンテンツＣｏを削除するものである。このコンテンツ削除手段５３は、コンテンツ管理手段５４のコンテンツ操作制御手段５４３から通知される制御情報（蓄積元のアドレス等）に基づいて、指示されたコンテンツＣｏをコンテンツ蓄積手段２０から削除する。
また、コンテンツ削除手段５３は、コンテンツをコンテンツ蓄積手段２０から削除した段階で、削除した旨を示す制御情報をコンテンツ管理手段５４のコンテンツ状態監視手段５４１に通知する。
【００５３】
コンテンツ管理手段５４は、コンテンツ蓄積手段２０に蓄積されているイベントメタデータと、ノード情報蓄積手段３０に蓄積されているノード情報Ｎｉとに基づいて、コンテンツ蓄積手段２０に蓄積されるコンテンツを階層構造で管理するとともに、当該コンテンツのイベントを制御するものである。ここでは、コンテンツ管理手段５４は、コンテンツ状態監視手段５４１と、インデックス情報管理手段５４２と、コンテンツ操作制御手段５４３と、イベントメタデータ読み出し手段５４４と、ノード情報書き込み・読み出し手段５４５とを備えている。
【００５４】
コンテンツ状態監視手段５４１は、コンテンツ蓄積手段２０に蓄積されているコンテンツＣｏの状態を監視し、その状態に変化が起こった段階で、インデックス情報管理手段５４２に通知するものである。ここでは、コンテンツ状態監視手段５４１は、コンテンツ蓄積制御手段５１ｂ、コンテンツ読み出し手段５２ａ又はコンテンツ削除手段５３から、それぞれ、コンテンツの蓄積、読み出し又は削除が行われたことを示す制御情報を通知されることで、コンテンツの状態の変化を監視する。
【００５５】
インデックス情報管理手段５４２は、コンテンツ蓄積手段２０に蓄積されているイベントメタデータと、ノード情報蓄積手段３０に蓄積されているノード情報Ｎｉとを管理するもので、ここでは、起動コンテンツ探索手段５４２ａと、ノード情報更新手段５４２ｂとを備えている。
【００５６】
起動コンテンツ探索手段５４２ａは、計時手段４０から出力される現在時刻に基づいて、当該時刻に起動すべきコンテンツをノード情報Ｎｉから探索するものである。この起動コンテンツ探索手段５４２ａは、ノード情報Ｎｉのルートノード（最上位層）のノード情報に記述されている「最先の起動時刻」が、現在時刻に一致するかどうかを検出し、一致した場合にのみ、「起動ノード識別情報」で特定されるノードを下位層に向かって探索することで、最下位層のノード（葉ノード）であるコンテンツを特定する。この起動コンテンツ探索手段５４２ａで探索され、特定されたコンテンツの識別情報（識別子）と、そのコンテンツに対応するイベントメタデータに記述されている制御動作（イベント）の内容とが、イベントメタデータ読み出し手段５４４を介して、コンテンツ蓄積手段２０に蓄積されているコンテンツＣｏから読み出され、コンテンツ操作制御手段５４３に出力される。
【００５７】
ノード情報更新手段５４２ｂは、コンテンツ状態監視手段５４１において監視しているコンテンツの状態に変化（蓄積、読み出し、削除等のイベント）が起こった段階で、ノード情報蓄積手段３０に蓄積されているノード情報Ｎｉを更新するものである。このノード情報更新手段５４２ｂは、イベントが発生したコンテンツ（葉ノード）の親ノードを上位層に遡って、ノード情報Ｎｉにおける「最先の起動時刻」と「起動ノード識別情報」とを更新する。なお、ノード情報更新手段５４２ｂは、ノード情報Ｎｉの更新を、ノード情報書き込み・読み出し手段５４５を介して行う。
【００５８】
ここで、図３〜図６を参照（適宜図１参照）して、ノード情報更新手段５４２ｂが行うノード情報の更新手法について説明する。
図３〜図６では、説明を簡略化するためディレクトリ構造を３層としている。そして、コンテンツは、図２に示したように、最上位層のノードで、最上位層より下の子ノードを特定する「ルートノード」、及び、中間層のノードで、葉ノード（コンテンツ）を含むそれぞれの子ノードを特定するノード情報Ｎｉと、コンテンツに含まれ、このコンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを記述したイベントメタデータＥｍとを含んだインデックス情報Ｉｄｘで、階層的に管理されている。
【００５９】
図３は、ストレージ装置における、ある時刻のインデックス情報の例を示す図である。ここでは、最下位層の葉ノードであるコンテンツのイベントをイベントメタデータＥｍに記述し、その親のノードにおける、それぞれの子ノードの中で、最も早く起動すべきイベントの起動時刻と、その子ノードの識別情報とをノード毎のノード情報Ｎｉに記述している。
例えば、ノードＡのノード情報Ｎｉには、ノードＡの子ノードである葉ノードａ及び葉ノードｂのイベントメタデータＥｍに記述されている「起動時刻」で最も早い起動時刻（ここでは「９：００」）と、その起動時刻に起動されるコンテンツ（葉ノード）を識別する「起動ノード識別情報」（ここでは「ｂ」）とを記述している。そして、さらに上位層のノード（ここではルートノード）のノード情報Ｎｉには、ルートノードの子ノードであるノードＡ、ノードＢ及びノードＣのノード情報Ｎｉに記述されている「最先の起動時刻」で最も早い起動時刻（ここでは「９：００」）と、その起動時刻が記述されているノードを識別する「起動ノード識別情報」（ここでは「Ａ」）を記述している。
【００６０】
図４は、図３で示したインデックス情報の状態において、新規にコンテンツを蓄積した場合のインデックス情報の例を示す図である。
この図４では、図３のインデックス情報Ｉｄｘ1において、ノードＣに新規にコンテンツｇを追加している。このコンテンツｇは、時刻「８：３５」に「クライアントＺへ複製」されることとする。この場合、図４のインデックス情報Ｉｄｘ2に示すように、ノードＣの直下に葉ノードであるコンテンツｇを追加するように、ノードＣのノード情報Ｎｉが更新される。
【００６１】
このとき、ノードＣの子ノードである葉ノード（コンテンツ）ｅ、葉ノード（コンテンツ）ｆ及び葉ノード（コンテンツ）ｇのイベントメタデータＥｍに記述されている「起動時刻」で最も早い起動時刻（ここでは「８：３５」）と、その起動時刻に起動されるコンテンツ（葉ノード）を識別する「起動ノード識別情報」（ここでは「ｇ」）とにより、ノードＣのノード情報Ｎｉが更新される。そして、さらに上位層のノード（ここではルートノード）のノード情報Ｎｉが、ルートノードの子ノードであるノードＡ、ノードＢ及びノードＣのノード情報Ｎｉに記述されている「最先の起動時刻」で最も早い起動時刻（ここでは「８：３５」）と、その起動時刻が記述されているノードを識別する「起動ノード識別情報」（ここでは「Ｃ」）とに更新される。
【００６２】
図５は、図４で示したインデックス情報の状態において、コンテンツ（ここでは、コンテンツｂ）を削除した場合のインデックス情報の例を示す図である。
この図５では、図４のインデックス情報Ｉｄｘ2において、ノードＡ直下のコンテンツｂを削除している。この場合、図５のインデックス情報Ｉｄｘ3に示すように、ノードＡ直下のコンテンツｂを削除するように、ノードＡのノード情報Ｎｉが更新される。
このとき、ノードＡの子ノードは、起動時間がコンテンツｂよりも遅いコンテンツａのみとなるため、葉ノード（コンテンツ）ａのイベントメタデータＥｍに記述されている「起動時刻」を「最先の起動時刻」（ここでは９：５０）、コンテンツ（葉ノード）ａを「起動ノード識別情報」として、ノードＡのノード情報Ｎｉが更新される。
【００６３】
図６は、図５で示したインデックス情報の状態において、コンテンツ（ここでは、コンテンツｄ）のイベントの起動時刻を更新した場合のインデックス情報の例を示す図である。
コンテンツｄの起動時刻を更新する場合、図５のインデックス情報Ｉｄｘ3において、コンテンツｄのイベントを探索し、該当するイベントの起動時刻を更新する。ここでは、起動時刻を「１３：３０」から「９：００」に変更している。このとき、葉ノード（コンテンツ）ｃ及び葉ノード（コンテンツ）ｄのイベントメタデータＥｍに記述されている「起動時刻」で最も早い起動時刻（ここでは「９：００」）と、その起動時刻に起動されるコンテンツ（葉ノード）を識別する「起動ノード識別情報」（ここでは「ｄ」）とにより、ノードＢのノード情報Ｎｉが更新される。なお、このとき、ノードＢの最先の起動時刻よりも、ノードＣの「最先の起動時刻」の方が早いため、ルートノードのノード情報Ｎｉは更新されない。
図１に戻って、ストレージ装置１の構成について説明を続ける。
【００６４】
コンテンツ操作制御手段５４３は、起動コンテンツ探索手段５４２ａで探索されたコンテンツに対応するイベントメタデータに記述されている制御動作を実行するものである。また、コンテンツ操作制御手段５４３は、図示していないクライアントコンピュータ等から送信される制御情報を、後記する制御情報受信手段５５を介して受信することで、その制御情報で示されるコンテンツの操作を行うものでもある。
ここで、制御情報とは、コンテンツを制御する情報である。例えば、コンテンツを格納する旨を示すコンテンツ格納指示、コンテンツを配信する旨を示すコンテンツ配信指示、コンテンツを削除する旨を示すコンテンツ削除指示等、あるいはこれらの指示に対する応答等である。
【００６５】
例えば、制御情報が、コンテンツを格納する旨を示すコンテンツ格納指示である場合、コンテンツ操作制御手段５４３は、その旨をコンテンツ格納手段５１に通知する。また、制御情報が、コンテンツを配信する旨を示すコンテンツ配信指示である場合、コンテンツ操作制御手段５４３は、その旨をコンテンツ配信手段５２に通知する。また、制御情報が、コンテンツを削除する旨を示すコンテンツ削除指示である場合、コンテンツ操作制御手段５４３は、その旨をコンテンツ削除手段５３に通知する。また、コンテンツ操作制御手段５４３は、これらの操作指示（コンテンツ格納指示、コンテンツ配信指示、コンテンツ削除指示）の操作結果を制御情報送信手段５６に対して応答として出力する。
【００６６】
イベントメタデータ読み出し手段５４４は、コンテンツ蓄積手段２０に蓄積されているコンテンツＣｏから、イベントメタデータを読み出すものである。ここでは、イベントメタデータ読み出し手段５４４は、起動コンテンツ探索手段５４２ａからの指示に基づいて、イベントメタデータを読み出す。
【００６７】
ノード情報書き込み・読み出し手段５４５は、ノード情報蓄積手段３０に蓄積されているノード情報の書き込み及び読み出しを行うものである。ここでは、ノード情報書き込み・読み出し手段５４５は、起動コンテンツ探索手段５４２ａからの指示に基づいて、ノード情報を読み出し、ノード情報更新手段５４２ｂの指示に基づいて、ノード情報の書き込み及び読み出しを行う。
【００６８】
制御情報受信手段５５は、通信送受信手段１０を介して、図示していないクライアントコンピュータ、他のストレージ装置等から制御情報を受信するものである。ここで受信した制御情報は、コンテンツ管理手段５４のコンテンツ操作制御手段５４３に出力される。
【００６９】
制御情報送信手段５６は、コンテンツ管理手段５４のコンテンツ操作制御手段５４３から出力される制御情報を、通信送受信手段１０を介して、クライアントコンピュータ、他のストレージ装置等に送信するものである。
このようにストレージ装置１を構成することで、コンテンツの階層構造とイベントの管理とを、ノード情報によって一重管理することが可能になる。これによって、コンテンツの蓄積制御におけるＣＰＵの負荷を軽減することが可能になる。
以上、本発明に係るストレージ装置１の構成について説明したが、本発明はこれに限定されるものではない。例えば、コンテンツに含まれるイベントメタデータを、コンテンツから分離し、あるいはコピーする形でノード情報とまとめた形式のインデックス情報として蓄積して、管理する形態であってもよい。
【００７０】
なお、ストレージ装置１のシステム管理手段５０は、一般的なコンピュータにプログラムを実行させ、コンピュータ内の演算装置や記憶装置を動作させることにより実現することができる。ここで実現されるコンテンツを蓄積するとともに、イベントの起動を制御するコンテンツ蓄積管理プログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【００７１】
（ストレージ装置の動作）
次に、図７を参照（適宜図１及び図２参照）して、ストレージ装置の動作について説明する。なお、ここでは、本発明に係るノード情報によるコンテンツの蓄積管理動作（主に、コンテンツ管理手段５４の動作）について説明を行うことにする。図７は、本発明に係るストレージ装置におけるノード情報によるコンテンツの蓄積管理動作を示すフローチャートである。
【００７２】
〔状態判定ステップ〕
まず、ストレージ装置１は、コンテンツ管理手段５４のコンテンツ状態監視手段５４１によって、蓄積、更新、読み出し、削除等によるコンテンツの状態に変化があったかどうかを判定する（ステップＳ１）。なお、コンテンツ状態監視手段５４１は、コンテンツ蓄積制御手段５１ｂからの制御情報によって、コンテンツが蓄積又は更新されたことを検出する。また、コンテンツ状態監視手段５４１は、コンテンツ読み出し手段５２ａからの制御情報によって、コンテンツが読み出されたことを検出する。また、コンテンツ状態監視手段５４１は、コンテンツ削除手段５３からの制御情報によって、コンテンツが削除されたことを検出する。
【００７３】
〔（第一）ノード情報更新ステップ〕
ここで、コンテンツの状態に変化があった場合（ステップＳ１でＹｅｓ）、コンテンツ状態監視手段５４２が、インデックス情報管理手段５４２に状態に変化があった旨を通知することで、インデックス情報管理手段５４２が、ノード情報蓄積手段３０に蓄積されているノード情報Ｎｉを更新する。
具体的には、ストレージ装置１は、インデックス情報管理手段５４２のノード情報更新手段５４２ｂによって、ノード中の最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを、状態に変化があったコンテンツ（葉ノード）から、上位層に遡って、順次更新する（ステップＳ２）。そして、ノード情報更新手段５４２ｂは、ルートノードまで更新が完了したかどうかを判定し（ステップＳ３）、まだ、完了していない場合（ステップＳ３でＮｏ）は、ステップＳ２に戻って動作を継続する。
これによって、最下位層から遡って、最上位層までのノード情報が更新されることになる。
【００７４】
〔起動時刻判定ステップ〕
そして、ルートノードまで更新が完了した場合（ステップＳ３でＹｅｓ）、又は、コンテンツの状態に変化がなかった場合（ステップＳ１でＮｏ）に、ストレージ装置１は、現在時刻に起動すべきコンテンツの制御動作（イベント）を実行する。
具体的には、まず、ストレージ装置１は、起動コンテンツ探索手段５４２ａによって、ルートノードのノード情報に記述されている「最先の起動時刻」と、計時手段４０から出力される現在時刻とを比較する（ステップＳ４）。そして、起動コンテンツ探索手段５４２ａは、最先の起動時刻と現在時刻とが一致するかどうかを判定することで、イベントを起動すべき時刻であるかどうかを判定する（ステップＳ５）。ここで、イベントを起動すべき時刻でない場合（ステップＳ５でＮｏ）は、ステップＳ１に戻って動作を継続する。
【００７５】
〔起動コンテンツ探索ステップ〕
一方、イベントを起動すべき時刻である場合（ステップＳ５でＹｅｓ）、ストレージ装置１は、起動コンテンツ探索手段５４２ａによって、ノード情報の「最先の起動時刻」と、「起動ノード識別情報」とに基づいて、ルートノードから下位層に向かってノードを探索することで、最下位層のノードである葉ノード（コンテンツ）を特定する（ステップＳ６）。
【００７６】
〔イベント実行ステップ〕
そして、ストレージ装置１は、起動コンテンツ探索手段５４２ａによって、葉ノード（コンテンツ）のイベントメタデータに記述されている制御動作（イベント）を、イベントメタデータ読み出し手段５４４を介して、コンテンツ蓄積手段２０に蓄積されているコンテンツＣｏの中から読み出し、コンテンツ操作制御手段５４３に通知することで、イベントを実行する（ステップＳ７）。
【００７７】
〔（第二）ノード情報更新ステップ〕
さらに、ストレージ装置１は、ノード情報更新手段５４２ｂによって、ノード中の最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを、コンテンツ（葉ノード）から、上位層に遡って、順次更新する（ステップＳ８）。そして、ノード情報更新手段５４２ｂは、ルートノードまで更新が完了したかどうかを判定する（ステップＳ９）。そして、ルートノードまで更新が完了した場合（ステップＳ９でＹｅｓ）は、ステップＳ１に戻って動作を継続する。一方、ルートノードまで更新が完了していない場合（ステップＳ９でＮｏ）は、ステップＳ８に戻って動作を継続する。
【００７８】
以上の動作によって、ストレージ装置１は、コンテンツ蓄積管理動作において、コンテンツの階層構造とイベント管理とを、ノード情報によって、一重管理することができる。なお、前記したステップＳ３及びステップＳ９では、ルートノードまで遡ってノード情報を更新したかどうかで、インデックス情報を更新したかどうかを判定しているが、ある階層におけるノードのノード情報を更新する必要がなくなった段階で、それより上位層のノードの更新は必要がないため、更新動作を終了することとしてもよい。これによって、ＣＰＵの負荷を軽減させることができる。
【００７９】
［第二の実施の形態］
（ストレージ装置の構成）
次に、図８を参照して、第二の実施の形態に係るストレージ装置の構成について説明する。図８は、本発明の第二の実施の形態に係るストレージ装置の構成を示すブロック図である。
【００８０】
図８に示したストレージ装置１Ｂは、ネットワークＮに複数接続され、分散してコンテンツを蓄積するとともに、コンテンツに含まれている、制御動作（イベント）を起動する起動時刻と、その制御動作の内容とを記述したイベントメタデータに基づいてコンテンツを制御するものである。なお、図８におけるストレージ装置１Ｂの構成において、図１に示したストレージ装置１と同一の構成については、同一の符号を付し、説明を省略する。以下、ストレージ装置１Ｂの構成において、ストレージ装置１と異なる構成について以下に説明する。
【００８１】
ノード情報蓄積手段３０Ｂは、階層構造におけるノード情報Ｎｉ２を蓄積するものである。
ここで、図９を参照して、ノード情報及びイベントメタデータの構造について説明する。図９は、ノード情報及びイベントメタデータの構造を模式的に示す模式図である。以下、ノード情報Ｎｉ２及びイベントメタデータＥｍ２をまとめて、インデックス情報Ｉｄｘ２という。
【００８２】
図９に示すように、インデックス情報Ｉｄｘ２は、図２に示したインデックス情報Ｉｄｘと比較して、基本構造は同じであるが、「優先フラグ」が、ノード情報Ｎｉ２及びイベントメタデータＥｍ２に付加されていることのみが異なっている。
この優先フラグは、当該優先フラグが設定されているコンテンツの動作を、他のコンテンツの動作に対して優先して実行するかどうかを示すフラグである。すなわち、この優先フラグを用いることで、優先フラグが設定されているコンテンツの制御動作（イベント）を実行している間は、他のコンテンツの動作を行わないようにするための判定に用いるものである。
【００８３】
葉ノード（コンテンツ）の上位層となるノード（親ノード）は、１つ以上の子ノード（葉ノード又は下位層のノード）を特定するための情報（ノード識別情報Ｎｉｄ）と、その子ノードにおけるイベントの起動時刻の中で最先の起動時刻と、その起動時刻を有する子ノードに設定されている優先フラグの値と、その最先の起動時刻を有する子ノードを特定するための情報（起動ノード識別情報）とを含んだノード情報Ｎｉ２で管理されている。
図８に戻って、ストレージ装置１Ｂの構成について説明を続ける。
【００８４】
コンテンツ管理手段５４Ｂは、コンテンツ蓄積手段２０に蓄積されているイベントメタデータと、ノード情報蓄積手段３０Ｂに蓄積されているノード情報Ｎｉ２に基づいて、コンテンツ蓄積手段２０に蓄積されるコンテンツを階層構造で管理するとともに、当該コンテンツのイベントを制御するものである。ここでは、コンテンツ管理手段５４Ｂは、コンテンツ状態監視手段５４１と、インデックス情報管理手段５４２Ｂと、コンテンツ操作制御手段５４３Ｂと、イベントメタデータ読み出し手段５４４と、ノード情報書き込み・読み出し手段５４５とを備えている。コンテンツ状態監視手段５４１、イベントメタデータ読み出し手段５４４、及び、ノード情報書き込み・読み出し手段５４５は、図１に示したストレージ装置１と同一の構成であるため説明を省略する。
【００８５】
インデックス情報管理手段５４２Ｂは、コンテンツ蓄積手段２０に蓄積されているイベントメタデータと、ノード情報蓄積手段３０Ｂに蓄積されているノード情報Ｎｉ２とを管理するもので、ここでは、起動コンテンツ探索手段５４２Ｂａと、ノード情報同期更新手段５４２Ｂｂとを備えている。
【００８６】
起動コンテンツ探索手段５４２Ｂａは、計時手段４０から出力される現在時刻に基づいて、当該時刻に起動すべきコンテンツをノード情報Ｎｉ２から探索するものである。ここで、当該ストレージ装置１Ｂのコンテンツ蓄積手段２０に起動すべきコンテンツが存在する場合、起動コンテンツ探索手段５４２Ｂａは、コンテンツ蓄積手段２０に蓄積されているコンテンツＣｏに記述されているコンテンツの識別情報（識別子）と、そのコンテンツに対応するイベントメタデータに記述されている制御動作（イベント）の内容とを、イベントメタデータ読み出し手段５４４を介して、コンテンツ蓄積手段２０に蓄積されているコンテンツＣｏから読み出し、コンテンツ操作制御手段５４３Ｂに出力する。
【００８７】
なお、ストレージ装置１Ｂのコンテンツ蓄積手段２０に起動すべきコンテンツが存在しない場合で、且つ、そのコンテンツに対応するイベントメタデータに「優先フラグ」が設定（例えば、値“１”）されている場合、起動コンテンツ探索手段５４２Ｂａは、コンテンツ操作制御手段５４３Ｂに、ネットワークＮを開放する旨の指示を通知する。
これによって、ネットワークＮに接続された他のストレージ装置に蓄積され、優先フラグが設定されているコンテンツが起動された場合、当該ストレージ装置１Ｂは、ネットワークＮへのアクセスを制限することで、優先フラグが設定されているコンテンツの動作を優先して行うことが可能になる。
【００８８】
ノード情報同期更新手段５４２Ｂｂは、コンテンツ状態監視手段５４１において監視しているコンテンツの状態に変化（蓄積、読み出し、削除等のイベント）が起こった段階、あるいは、他のストレージ装置１Ｂにおいてコンテンツの状態に変化が起こった段階で、ネットワークＮに接続されているストレージ装置１Ｂ間で同期して、ノード情報蓄積手段３０Ｂに蓄積されているノード情報Ｎｉ２を更新するものである。これによって、ネットワークＮに接続されているストレージ装置１Ｂ間で、ノード情報Ｎｉ２が常に齟齬のない状態に保持される。
【００８９】
ここで、図１０〜図１３を参照（適宜図８参照）して、ノード情報同期更新手段５４２Ｂｂが行うノード情報の更新手法について説明する。
図１０〜図１３のインデックス情報Ｉｄｘ２の構造は、図３〜図６のインデックス情報Ｉｄｘの構造と同一であるが、コンテンツが複数のストレージ装置（ここでは、１Ｂ1、１Ｂ2）に分散して蓄積されている点と、優先フラグが設定されている点とが異なっている。
【００９０】
図１０は、ストレージ装置１Ｂにおける、ある時刻のインデックス情報の例を示す図である。ここでは、コンテンツａ、ｂ及びｃが、ストレージ装置１Ｂ1に蓄積され、コンテンツｄ、ｅ及びｆが、ストレージ装置１Ｂ2に蓄積されている状態を示している。
また、ここでは、最下位層の葉ノードであるコンテンツの親のノードに、それぞれの子ノードの中で、最も早く起動すべきイベントの起動時刻と、その子ノードの優先フラグの値と、その子ノードの識別情報とをノード毎のノード情報Ｎｉ２に記述している。
【００９１】
例えば、ノードＡのノード情報Ｎｉには、ノードＡの子ノードである葉ノードａ及び葉ノードｂのイベントメタデータに記述されている「起動時刻」で最も早い起動時刻（ここでは「９：００」）と、その起動時刻に起動されるコンテンツ（葉ノード）の「優先フラグ」の値（ここでは“１”）と、そのノードを識別する「起動ノード識別情報」（ここでは「ｂ」）とを記述している。そして、さらに上位層のノード（ここではルートノード）のノード情報Ｎｉ２には、ルートノードの子ノードであるノードＡ、ノードＢ及びノードＣのノード情報Ｎｉ２に記述されている「最先の起動時刻」で最も早い起動時刻（ここでは「９：００」）と、その起動時刻が記述されているノードの「優先フラグ」の値（ここでは“１”）と、そのノードを識別する「起動ノード識別情報」（ここでは「Ａ」）を記述している。
【００９２】
図１１は、図１０で示したインデックス情報の状態において、新規にコンテンツを蓄積した場合のインデックス情報の例を示す図である。
この図１１では、図１０のインデックス情報Ｉｄｘ２1において、ノードＣに新規にコンテンツｇを追加している。
このとき、ノードＣの子ノードである葉ノード（コンテンツ）ｅ、葉ノード（コンテンツ）ｆ及び葉ノード（コンテンツ）ｇのイベントメタデータＥｍ２に記述されている「起動時刻」で最も早い起動時刻（ここでは「８：３５」）と、その起動時刻に起動されるコンテンツ（葉ノード）の「優先フラグ」の値（ここでは“１”）と、そのノードを識別する「起動ノード識別情報」（ここでは「ｇ」）とにより、ノードＣのノード情報Ｎｉ２が更新される。そして、さらに上位層のノード（ここではルートノード）のノード情報Ｎｉ２が、ルートノードの子ノードであるノードＡ、ノードＢ及びノードＣのノード情報Ｎｉ２に記述されている「最先の起動時刻」で最も早い起動時刻（ここでは「８：３５」）と、その起動時刻が記述されているノードの「優先フラグ」の値（ここでは“１”）と、そのノードを識別する「起動ノード識別情報」（ここでは「Ｃ」）とに更新される。
【００９３】
なお、ここでは、コンテンツｇをストレージ装置１Ｂ2に蓄積しているが、ストレージ装置１Ｂ2のノード情報同期更新手段５４２Ｂｂが、他のストレージ装置（ここでは１Ｂ1）にノード情報Ｎｉ２の更新を通知することで、他のストレージ装置において、齟齬のないノード情報Ｎｉ２が保持されることになる。
【００９４】
図１２に示したコンテンツの削除や、図１３に示したコンテンツの更新においても、図５や図６で説明したノード情報の更新動作に、優先フラグの値を付加するだけで、同様の更新を行うことができる。また、このノード情報Ｎｉ２の更新は、ノード情報同期更新手段５４２Ｂｂが、他のストレージ装置にノード情報Ｎｉ２の更新を通知することで、他のストレージ装置において、齟齬のないノード情報Ｎｉ２が保持されることになる。
図８に戻って、ストレージ装置１Ｂの構成について説明を続ける。
【００９５】
コンテンツ操作制御手段５４３Ｂは、図１で説明したコンテンツ操作制御手段５４３の機能に、ネットワークＮを介したコンテンツのアクセスを禁止又は許可する制御を行う機能を付加している。ここでは、コンテンツ操作制御手段５４３Ｂは、コンテンツ操作制御手段５４３にアクセス制御手段５４３Ｂａを備えて構成している。
【００９６】
アクセス制御手段５４３Ｂａは、起動コンテンツ探索手段５４２Ｂａで探索されたコンテンツが、ストレージ装置１Ｂのコンテンツ蓄積手段２０に蓄積されておらず、且つ、そのコンテンツに対して優先フラグが設定されている場合に、ネットワークＮを介したコンテンツのアクセスを禁止（ネットワークＮを開放）するものである。
【００９７】
ここでは、アクセス制御手段５４３Ｂａは、起動コンテンツ探索手段５４２Ｂａから、ネットワークＮを開放する旨の指示を通知されることで、コンテンツ蓄積制御手段５１ｂやコンテンツ読み出し手段５２ａの動作を制御することで、ネットワークＮに対するアクセスを停止する。なお、優先フラグが設定されたコンテンツのイベントが完了した段階で、このコンテンツを有する他のストレージ装置から、制御情報受信手段５５を介して、イベント完了の通知を受信することで、アクセス制御手段５４３Ｂａは、ネットワークＮを介したコンテンツのアクセスを再開する（ネットワークＮの開放を解く）。
【００９８】
このようにストレージ装置１Ｂを構成することで、コンテンツの階層構造とイベントの管理とを、インデックス情報によって一重管理するとともに、優先フラグが設定されているコンテンツのイベントを最優先で動作させることができる。これによって、コンテンツの蓄積制御におけるＣＰＵの負荷を軽減することが可能になるとともに、時刻に伴うイベントの動作を高速に実行することが可能になる。
【００９９】
（ストレージ装置の動作）
次に、図１４及び図１５を参照（適宜図８及び図９参照）して、ストレージ装置の動作について説明する。なお、ここでは、本発明に係る優先フラグを含んだノード情報によるコンテンツの蓄積管理動作（主に、コンテンツ管理手段５４Ｂの動作）について説明を行うことにする。図１４及び図１５は、本発明に係るストレージ装置における優先フラグを含んだノード情報によるコンテンツの蓄積管理動作を示すフローチャートである。
【０１００】
まず、ストレージ装置１は、コンテンツ管理手段５４Ｂのコンテンツ状態監視手段５４１によって、蓄積、更新、読み出し、削除等によるコンテンツの状態に変化があったかどうかを判定する（ステップＳ１１）。
ここで、コンテンツの状態に変化があった場合（ステップＳ１１でＹｅｓ）、インデックス情報管理手段５４２Ｂのノード情報同期更新手段５４２Ｂｂによって、ノード中の最先の起動時刻と、その最先の起動時刻を有するノードの優先フラグの値と、そのノードを特定する起動ノード識別情報とを、コンテンツ（葉ノード）から、上位層に遡って、順次更新する（ステップＳ１２）。さらに、ノード情報同期更新手段５４２Ｂｂは、他のストレージ装置に対して、ノード情報の更新を通知する（ステップＳ１３）。そして、ノード情報同期更新手段５４２Ｂｂは、ルートノードまで更新が完了したかどうかを判定し（ステップＳ１４）、まだ、完了していない場合（ステップＳ１４でＮｏ）は、ステップＳ１２に戻って動作を継続する。
【０１０１】
そして、ルートノードまで更新が完了した場合（ステップＳ１４でＹｅｓ）、又は、コンテンツの状態に変化がなかった場合（ステップＳ１１でＮｏ）に、ストレージ装置１Ｂは、起動コンテンツ探索手段５４２Ｂａによって、ルートノードのノード情報に記述されている「最先の起動時刻」と、計時手段４０から出力される現在時刻とを比較する（ステップＳ１５）。そして、起動コンテンツ探索手段５４２Ｂａは、最先の起動時刻と現在時刻とが一致するかどうかを判定することで、イベントを起動すべき時刻であるかどうかを判定する（ステップＳ１６）。ここで、イベントを起動すべき時刻でない場合（ステップＳ１６でＮｏ）は、ステップＳ１１に戻って動作を継続する。
【０１０２】
一方、イベントを起動すべき時刻である場合（ステップＳ１６でＹｅｓ）、起動コンテンツ探索手段５４２Ｂａは、対象となるイベントを実行するコンテンツが、当該ストレージ装置１Ｂのコンテンツ蓄積手段２０に蓄積されているかどうかを判定する（ステップＳ１７）。
ここで、イベントを実行するコンテンツが、コンテンツ蓄積手段２０に蓄積されている場合（ステップＳ１７でＹｅｓ）、ストレージ装置１Ｂは、起動コンテンツ探索手段５４２Ｂａによって、ノード情報の「最先の起動時刻」と、「起動ノード識別情報」とに基づいて、ルートノードから下位層に向かってノードを探索することで、最下位層のノードである葉ノード（コンテンツ）を特定する（ステップＳ１８）。
【０１０３】
そして、ストレージ装置１Ｂは、起動コンテンツ探索手段５４２Ｂａによって、葉ノード（コンテンツ）のイベントメタデータに記述されている制御動作（イベント）をコンテンツ操作制御手段５４３Ｂに通知することで、イベントを実行する（ステップＳ１９）。そして、そのイベントの動作が完了した段階で、コンテンツ操作制御手段５４３Ｂは、他のストレージ装置に対して、イベントの終了を通知する（ステップＳ２０）。
【０１０４】
さらに、ストレージ装置１Ｂは、ノード情報同期更新手段５４２Ｂｂによって、ノード中の最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを、コンテンツ（葉ノード）から、上位層に遡って、順次更新する（ステップＳ２１）。そして、ノード情報同期更新手段５４２Ｂｂは、ルートノードまで更新が完了したかどうかを判定する（ステップＳ２２）。そして、ルートノードまで更新が完了した場合（ステップＳ２２でＹｅｓ）は、ステップＳ１１に戻って動作を継続する。一方、ルートノードまで更新が完了していない場合（ステップＳ２２でＮｏ）は、ステップＳ２１に戻って動作を継続する。
【０１０５】
なお、ステップＳ１７において、イベントを実行するコンテンツが、コンテンツ蓄積手段２０に蓄積されていないと判定された場合（ステップＳ１７でＮｏ）、起動コンテンツ探索手段５４２Ｂａは、そのコンテンツに対応するイベントメタデータに「優先フラグ」が設定（例えば、値“１”）されているかどうかを判定する（ステップＳ２３）。
【０１０６】
ここで、「優先フラグ」が設定されている場合（ステップＳ２３でＹｅｓ）、起動コンテンツ探索手段５４２Ｂａが、コンテンツ操作制御手段５４３ＢにネットワークＮを開放する旨の指示を通知することで、コンテンツ操作制御手段５４３Ｂのアクセス制御手段５４３Ｂａが、ネットワークＮに対するアクセスの停止（ネットワークの開放）を行う（ステップＳ２４）。
また、「優先フラグ」が設定されていない場合（ステップＳ２３でＮｏ）、又は、ステップＳ２４でネットワークＮの開放を行った後に、他のストレージ装置から、イベントの終了が通知されるまで待機する（ステップＳ２５）。そして、他のストレージ装置から、イベントの終了が通知された段階（ステップＳ２５でＹｅｓ）で、コンテンツ操作制御手段５４３Ｂのアクセス制御手段５４３Ｂａは、ネットワークＮに対するアクセスを再開する（ネットワークＮの開放を解く）（ステップＳ２６）。そして、ステップＳ１１に戻って動作を継続する。
【０１０７】
以上の動作によって、ストレージ装置１Ｂは、コンテンツ蓄積管理動作において、コンテンツの階層構造とイベント管理とを、ノード情報によって、一重管理することができる。また、優先フラグが設定されたコンテンツのイベントが、ネットワークを占有することになるため、コンテンツのイベントを高速に処理することが可能になる。
【０１０８】
［イベントメタデータの具体例］
ここで、図１６を参照して、インデックス情報（図２及び図９参照）に含まれるイベントメタデータの具体例について説明する。図１６は、放送用のコンテンツを蓄積するためのストレージ装置におけるイベントメタデータの内容を示す図で、（ａ）はイベントメタデータの記述内容例、（ｂ）はイベントメタデータの動作内容例を示す図である。
【０１０９】
図１６（ａ）に示すように、あるコンテンツのイベントメタデータには、固定の値である静的メタデータとして、「放送時刻Ｔｂ」、「再放送時刻Ｔｒ」、「移動余裕時間Ｔｍ」、「保持時間Ｔｋ」、「アーカイブ移動チェック間隔Ｔｉ」及び「頻度の閾値Ｆｔ」と、動的に変化する動的メタデータとして、「起動予定時刻Ｔｋ」及び「アクセス頻度ｆ」とが記述されている。
【０１１０】
ここで、「放送時刻Ｔｂ」は当該コンテンツを放送する時刻、「再放送時刻Ｔｒ」は当該コンテンツを再放送する時刻、「移動余裕時間Ｔｍ」は当該コンテンツを移動するために要する時間の最大値、「保持時間Ｔｋ」は当該コンテンツを保持する時間、「アーカイブ移動チェック間隔Ｔｉ」は当該コンテンツをアーカイブ（保管場所）に移動するかどうかをチェックする時間間隔、「頻度の閾値Ｆｔ」は当該コンテンツをアーカイブに移動するかどうかを判定するためのアクセス頻度の閾値をそれぞれ示している。
【０１１１】
また、「起動予定時刻Ｔｋ」は当該コンテンツの制御動作（イベント）を起動する時刻を示し、図２又は図９で説明したイベントメタデータ内の「起動時刻」に相当し、階層構造の管理対象となる時刻である。ここでは、「起動予定時刻Ｔｋ」は、初期値として、「放送時刻Ｔｂ」−「移動余裕時間Ｔｍ」を設定している。
また、「アクセス頻度ｆ」は、当該コンテンツのアクセス（読み出し）毎に更新され、当該コンテンツに何回アクセスがあったかを示す値である。
【０１１２】
そして、図１６（ａ）に示したイベントメタデータに対して、図１６（ｂ）に示すように、制御動作を動作ルール（Ｒ１〜Ｒ４）として規定しておく。
ここでは、「動作ルールＲ１」としては、監視対象である時刻ｔが、放送時刻Ｔｂより前の場合は、コンテンツを送出サーバにコピーし、起動予定時刻Ｔｔを「再放送時刻Ｔｒ」−「移動余裕時間Ｔｍ」に書き換え、再放送時刻Ｔｒよりも移動余裕時間Ｔｍ前に、次の動作ルール（イベント）を起動するようにイベントメタデータを書き換える。
【０１１３】
また、「動作ルールＲ２」としては、監視対象である時刻ｔが、放送時刻Ｔｂより後で再放送時刻Ｔｒより前の場合は、コンテンツを送出サーバにコピーし、起動予定時刻Ｔｔを「再放送時刻Ｔｒ」＋「移動余裕時間Ｔｍ」に書き換え、再放送時刻Ｔｒの移動余裕時間Ｔｍ後に、次の動作ルール（イベント）を起動するようにイベントメタデータを書き換える。
【０１１４】
また、「動作ルールＲ３」としては、監視対象である時刻ｔが再放送時刻Ｔｒより遅く、且つ、頻度の閾値Ｆｔよりアクセス頻度ｆが高い場合は、起動予定時刻Ｔｔを現在の起動予定時刻Ｔｔにアーカイブ移動チェック間隔Ｔｉを加算して更新する。
また、「動作ルールＲ４」としては、監視対象である時刻ｔが再放送時刻Ｔｒより遅く、且つ、頻度の閾値Ｆｔよりアクセス頻度ｆが低い場合は、コンテンツをアーカイブに移動する。
【０１１５】
以上のイベントメタデータによる動作ルールに基づいて、ストレージ装置のコンテンツ管理手段５４（図１参照）又は５４Ｂ（図８参照）は、図１７に示したフローチャートに示すように動作する。
すなわち、コンテンツ管理手段５４,５４Ｂは、監視対象である時刻ｔが、計時手段４０から出力される現在時刻であるかどうかを判定する（ステップＳ３１）。
そして、時刻ｔが放送時刻Ｔｂより前の場合（ｔ＜Ｔｂ）、コンテンツ管理手段５４,５４Ｂは、図１６（ｂ）に示す動作ルールＲ１の制御内容を実行する（ステップＳ３２）。
【０１１６】
また、時刻ｔが放送時刻Ｔｂより後で再放送時刻Ｔｒより前の場合（Ｔｂ＜ｔ＜Ｔｒ）、コンテンツ管理手段５４,５４Ｂは、図１６（ｂ）に示す動作ルールＲ２の制御内容を実行する（ステップＳ３３）。
また、時刻ｔが再放送時刻Ｔｒより遅く、且つ、頻度の閾値Ｆｔよりアクセス頻度ｆが高い場合（Ｔｒ＜ｔ且つＦｔ＜ｆ）、コンテンツ管理手段５４,５４Ｂは、図１６（ｂ）に示す動作ルールＲ３の制御内容を実行する（ステップＳ３４）。
【０１１７】
さらに、時刻ｔが、再放送時刻Ｔｒより遅く、且つ、頻度の閾値Ｆｔよりアクセス頻度ｆが低い場合（Ｔｒ＜ｔ且つＦｔ＞ｆ）、コンテンツ管理手段５４,５４Ｂは、図１６（ｂ）に示す動作ルールＲ４の制御内容を実行する（ステップＳ３５）。
このように、イベントメタデータを記述し、動作ルールを規定することで、コンテンツのイベントを開始すべき時刻を変化させることができ、コンテンツの制御動作を高機能化することができる。
【図面の簡単な説明】
【０１１８】
【図１】本発明の第一の実施の形態に係るストレージ装置の構成を示す構成図である。
【図２】本発明の第一の実施の形態に係るノード情報及びイベントメタデータの構造を模式的に示す模式図である。
【図３】本発明の第一の実施の形態に係るインデックス情報の例を示す模式図である。
【図４】図３で示したインデックス情報の状態において、新規にコンテンツを蓄積した場合のインデックス情報の例を示す模式図である。
【図５】図４で示したインデックス情報の状態において、コンテンツを削除した場合のインデックス情報の例を示す模式図である。
【図６】図５で示したインデックス情報の状態において、コンテンツのイベントの起動時刻を更新した場合のインデックス情報の例を示す模式図である。
【図７】本発明の第一の実施の形態に係るストレージ装置におけるノード情報によるコンテンツの蓄積管理動作を示すフローチャートである。
【図８】本発明の第二の実施の形態に係るストレージ装置の構成を示すブロック図である。
【図９】本発明の第二の実施の形態に係るノード情報及びイベントメタデータの構造を模式的に示す模式図である。
【図１０】本発明の第二の実施の形態に係るインデックス情報の例を示す模式図である。
【図１１】図１０で示したインデックス情報の状態において、新規にコンテンツを蓄積した場合のインデックス情報の例を示す模式図である。
【図１２】図１１で示したインデックス情報の状態において、コンテンツを削除した場合のインデックス情報の例を示す模式図である。
【図１３】図１２で示したインデックス情報の状態において、コンテンツのイベントの起動時刻を更新した場合のインデックス情報の例を示す模式図である。
【図１４】本発明の第二の実施の形態に係るストレージ装置における優先フラグを含んだノード情報によるコンテンツの蓄積管理動作を示すフローチャート（１／２）である。
【図１５】本発明の第二の実施の形態に係るストレージ装置における優先フラグを含んだノード情報によるコンテンツの蓄積管理動作を示すフローチャート（２／２）である。
【図１６】放送用のコンテンツを蓄積するためのストレージ装置におけるイベントメタデータの内容を示す図で、（ａ）はイベントメタデータの記述内容例、（ｂ）はイベントメタデータの動作内容例を示す図である。
【図１７】図１６に示したイベントメタデータと動作ルールとに基づくストレージ装置の動作を示すフローチャートである。
【図１８】従来のストレージ装置におけるディレクトリ構造及びイベントメタデータの内容の例を示す模式図である。
【図１９】図１８のディレクトリ構造において、新規にコンテンツを蓄積した場合のディレクトリ構造とイベントメタデータの例を示す模式図である。
【図２０】図１９のディレクトリ構造において、コンテンツを削除した場合のディレクトリ構造とイベントメタデータの例を示す模式図である。
【図２１】図２０のディレクトリ構造において、コンテンツのイベントの起動時刻を更新した場合のディレクトリ構造とイベントメタデータの例を示す模式図である。
【符号の説明】
【０１１９】
１、１Ｂ  ストレージ装置
１０      通信送受信手段
２０      コンテンツ蓄積手段
３０、３０Ｂ  ノード情報蓄積手段
４０      計時手段
５０、５０Ｂ  システム管理手段
５１      コンテンツ格納手段
５１ａ    コンテンツ受信手段
５１ｂ    コンテンツ蓄積制御手段
５１ｃ    メタデータ分離手段
５２      コンテンツ配信手段
５２ａ    コンテンツ読み出し手段
５２ｂ    コンテンツ送信手段
５３      コンテンツ削除手段
５４、５４Ｂ  コンテンツ管理手段
５４１    コンテンツ状態監視手段
５４２    インデックス情報管理手段
５４２ａ  起動コンテンツ探索手段
５４２ｂ  ノード情報更新手段
５４２Ｂ  インデックス情報管理手段
５４２Ｂａ  起動コンテンツ探索手段
５４２Ｂｂ  ノード情報同期更新手段
５４３    コンテンツ操作制御手段
５４３Ｂ  コンテンツ操作制御手段
５４３Ｂａ  アクセス制御手段
５５      制御情報受信手段
５６      制御情報送信手段
【図１】
2006139334.tif 000003
【図２】
2006139334.tif 000004
【図３】
2006139334.tif 000005
【図４】
2006139334.tif 000006
【図５】
2006139334.tif 000007
【図６】
2006139334.tif 000008
【図７】
2006139334.tif 000009
【図８】
2006139334.tif 000010
【図９】
2006139334.tif 000011
【図１０】
2006139334.tif 000012
【図１１】
2006139334.tif 000013
【図１２】
2006139334.tif 000014
【図１３】
2006139334.tif 000015
【図１４】
2006139334.tif 000016
【図１５】
2006139334.tif 000017
【図１６】
2006139334.tif 000018
【図１７】
2006139334.tif 000019
【図１８】
2006139334.tif 000020
【図１９】
2006139334.tif 000021
【図２０】
2006139334.tif 000022
【図２１】
2006139334.tif 000023