JP4688201B2 - ストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラム - Google Patents

ストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラム Download PDF

Info

Publication number
JP4688201B2
JP4688201B2 JP2004325865A JP2004325865A JP4688201B2 JP 4688201 B2 JP4688201 B2 JP 4688201B2 JP 2004325865 A JP2004325865 A JP 2004325865A JP 2004325865 A JP2004325865 A JP 2004325865A JP 4688201 B2 JP4688201 B2 JP 4688201B2
Authority
JP
Japan
Prior art keywords
content
node
information
time
storage
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
JP2004325865A
Other languages
English (en)
Other versions
JP2006139334A (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.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting 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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2004325865A priority Critical patent/JP4688201B2/ja
Publication of JP2006139334A publication Critical patent/JP2006139334A/ja
Application granted granted Critical
Publication of JP4688201B2 publication Critical patent/JP4688201B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、階層構造で管理されたコンテンツを、そのコンテンツの制御動作の内容と起動時刻とを記述したイベントメタデータに基づいて制御するストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラムに関する。
従来、コンテンツを蓄積するハードディスク等のストレージ装置では、階層構造(ディレクトリ構造)でコンテンツを蓄積管理している(例えば、特許文献1参照)。
また、近年、コンピュータで利用するコンテンツのデータ量は増加し続けており、定期的に、古くなったコンテンツを他の低速なストリーマ(例えば、テープストリーマ)にバックアップしたり、消去したりすることで、自律的にデータ管理を行うストレージ装置が提案されている(例えば、非特許文献1参照)。
このように、ディレクトリ構造で蓄積されたコンテンツを、自律的に管理するストレージ装置においては、コンテンツの複製、移動、削除等のイベント(制御動作)を、時刻とイベントとを時刻順に表形式に記述したイベントメタデータで管理し、ある時刻に達した段階でその時刻に対応するイベントを実行させることで実現していた。
ここで、図18〜図21を参照して、従来のストレージ装置におけるイベントメタデータによるコンテンツの蓄積制御動作について説明する。
図18〜図21では、説明を簡略化するためディレクトリ構造D(D1〜D4)を3層とし、最上位層のノードを「ルートノード」、中間層のノードを単に「ノード」、最下位層のノードを「葉ノード」としている。なお、葉ノードは、コンテンツの実体そのものである。また、イベントメタデータMD(MD1〜MD4)は、イベントを実行する時刻t、コンテンツの識別情報id(ここでは、パス名を含んだコンテンツへのポインタ)、及び、制御動作の内容exを記述している。
図18は、従来のストレージ装置におけるディレクトリ構造及びイベントメタデータの内容の例を示す図である。ここでは、ある時刻において、ディレクトリ構造D1及びイベントメタデータMD1の内容が図18に示した状態であるとする。すなわち、ディレクトリ構造D1に示すように、ルートノード直下にノード「A」、「B」及び「C」が存在し、それらの各ノードの直下に、葉ノードであるコンテンツ「a」及び「b」と、コンテンツ「c」及び「d」と、コンテンツ「e」及び「f」とがそれぞれ格納されている。
また、図18のイベントメタデータMD1には、時刻「9:00」にコンテンツ「/A/b」を「送出サーバへ複製」するイベントを実行し、時刻「9:35」にコンテンツ「/B/c」を「コンテンツサーバへ転送」するイベントを実行し、時刻「9:50」にコンテンツ「/A/a」を「クライアントXに確認して消去」するイベントを実行し、時刻「13:00」にコンテンツ「/C/f」を「クライアントYに確認して消去」するイベントを実行し、時刻「13:30」にコンテンツ「/B/d」の「アクセス限定フラグを解除」するイベントを実行し、時刻「13:50」にコンテンツ「/C/e」を「テープストリーマへバックアップ」するイベントを実行する手順が記述されている。
図19は、図18のディレクトリ構造において、新規にコンテンツを蓄積した場合のディレクトリ構造とイベントメタデータの例を示す図である。
この図19では、図18のディレクトリ構造D1において、ノードCに新規にコンテンツgを追加している。このコンテンツgは、時刻「8:35」に「クライアントZへ複製」されることとする。この場合、従来のストレージ装置は、図19のディレクトリ構造D2に示すように、ノードCの直下に葉ノードであるコンテンツgを追加するように、ディレクトリを構成し直す。また、従来のストレージ装置は、イベントメタデータMD2に示すように、蓄積するコンテンツgの起動時刻と、イベントメタデータMDの時刻tとに基づいて、当該コンテンツgのイベントを、イベントメタデータMDのどこに記述(挿入)すべきかを探索し、該当する箇所(行)にそのイベントの内容を記述する。ここでは、イベントメタデータMDの先頭行にコンテンツgのイベントを記述している。
図20は、図19のディレクトリ構造において、コンテンツ(ここでは、コンテンツb)を削除した場合のディレクトリ構造とイベントメタデータの例を示す図である。
この図20では、図19のディレクトリ構造D2において、ノードA直下のコンテンツbを削除している。この場合、従来のストレージ装置は、図19のディレクトリ構造D2におけるノードA直下のコンテンツbを削除し、図20のディレクトリ構造D3にディレクトリを構成し直す。また、従来のストレージ装置は、図19のイベントメタデータMD2において、コンテンツbのイベントを探索し、イベントメタデータMD2からコンテンツbのイベントの内容を削除することで、図20のイベントメタデータMD3を生成する。
図21は、図20のディレクトリ構造において、コンテンツ(ここでは、コンテンツd)のイベントの起動時刻を更新した場合のディレクトリ構造とイベントメタデータの例を示す図である。ここでは、コンテンツdの起動時刻を「13:30」から「9:00」に更新することとしている。
この図21では、コンテンツdの起動時刻のみを更新しているので、ディレクトリ構造D4は、図20のディレクトリ構造D3と同一である。ここで、コンテンツの起動時刻を更新する場合、従来のストレージ装置は、図20のイベントメタデータMD3から、コンテンツdのイベントを探索し、該当するイベントの起動時刻を更新する。さらに、従来のストレージ装置は、更新された起動時刻に基づいて、イベントメタデータMDを起動時刻順に並べ替えることで、図21のイベントメタデータMD4を生成する。
このように、従来のストレージ装置は、コンテンツをディレクトリ構造で管理するとともに、イベントメタデータを用いて、コンテンツのイベントの管理を行っていた。
特開平5−233417号公報 伊藤大輔,「自律ディスク上の分散ディレクトリの負荷均衡機構を用いたクラスタ再構成」、第13回データ工学ワークショップ論文集、DEWS2002 C3−3、電子情報通信学会データ工学研究専門委員会(2002)
しかし、前記した従来のストレージ装置では、コンテンツの蓄積場所をディレクトリ構造により管理し、コンテンツのイベントとそのイベントの起動時刻とを別途時刻順に表形式に記述したイベントの管理表(イベントメタデータ)で管理するため、コンテンツの蓄積場所と、イベントの管理とが二重構造で管理されていた。
また、従来のストレージ装置では、現在の時刻とイベントの管理表に記述された起動時刻とが一致したときに、その起動時刻に対応するコンテンツの蓄積場所をディレクトリ構造から探索するとともに、そのコンテンツに対応するイベントを管理表から探索し起動している。
このため、従来のストレージ装置では、コンテンツを新たに蓄積あるいは削除する場合、その都度、コンテンツの蓄積場所を規定するディレクトリ構造を書き直すとともに、イベントの管理表をイベントの起動時刻順に並べ直す等の変更が必要となり、CPU(Central Processing Unit:中央演算装置)にかかる演算の負荷が大きいという問題がある。また、コンテンツのイベントを起動する場合でも、コンテンツの探索とともに、イベントの探索が必要となり、前記同様CPUにかかる演算の負荷が大きいという問題がある。
さらに、ストレージ装置をネットワークに複数台接続し、コンテンツを分散して管理する分散ディレクトリ環境において、コンテンツを新たに蓄積あるいは削除する場合、その都度、ネットワークを介してシステム全体のディレクトリ構造及びイベントの管理表を更新する必要があり、ネットワークに負荷がかかってしまい、クライアントコンピュータ等が、ストレージ装置に対してコンテンツのアクセスを行う際のスループットを低下させてしまうという問題がある。
本発明は、以上のような問題点に鑑みてなされたものであり、ストレージ装置のディレクトリ構造と、イベントの管理とを一重管理することで、CPUにかかる演算の負荷、並びに、ネットワークにかかる負荷を軽減することが可能なストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラムを提供することを目的とする。
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載のストレージ装置は、制御対象となるコンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを記述したイベントメタデータに基づいて、前記コンテンツを制御するストレージ装置であって、コンテンツ蓄積手段と、ノード情報蓄積手段と、計時手段と、起動コンテンツ探索手段と、コンテンツ操作制御手段と、ノード情報更新手段とを備える構成とした。
かかる構成によれば、ストレージ装置は、コンテンツの制御動作を起動する起動時刻とその制御動作の内容とを記述したイベントメタデータを含んだコンテンツをコンテンツ蓄積手段に蓄積し、階層構造の階層毎の情報であるノード情報をノード情報蓄積手段に蓄積する(あるいは、予め蓄積しておく)。
ここで、ノード情報は、イベントメタデータを含むコンテンツを、階層構造で管理するための情報である。ここでは、最下位層のノード(葉ノード)にコンテンツを関連付け、その上位層となるノード(親ノード)に、下位層のノードである1つ以上の子ノードを特定するノード識別情報と、その1つ以上の子ノードにおける最先の起動時刻と、その最先の起動時刻を有する子ノードを特定する起動ノード識別情報とを含んだノード情報を関連付ける。
これによって、最上位層のノード(ルートノード)のノード情報には、ルートノードの直下の子ノードを特定するノード識別情報と、コンテンツの制御動作を起動する最先の起動時刻と、その起動すべきコンテンツを含む子ノードを示す起動ノード識別情報とが含まれることになる。
そして、ストレージ装置は、起動コンテンツ探索手段によって、計時手段から出力される現在時刻が、ルートノードに関連付けられている起動時刻(最先の起動時刻)に達した段階で、ノード情報に基づいて、起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する。これによって、コンテンツ探索手段は、どのコンテンツが起動すべきコンテンツであるのかを探索(特定)することができる。
そして、ストレージ装置は、コンテンツ操作制御手段によって、探索されたコンテンツに対応するイベントメタデータに記述されている制御動作を実行する。
さらに、ストレージ装置は、ノード情報更新手段によって、制御対象となったコンテンツ(葉ノード)の親ノードから、上位層に遡ってノード情報における最先の起動時刻と起動ノード識別情報とを更新する。これによって、最上位層のノード(ルートノード)のノード情報まで、更新されることになる。
また、請求項2に記載のストレージ装置は、請求項1に記載のストレージ装置において、コンテンツ受信手段と、コンテンツ蓄積制御手段とを備え、前記ノード情報更新手段が、前記コンテンツ受信手段で受信したコンテンツの蓄積に際し、当該コンテンツの上位層のノードにおいて、前記ノード情報に、当該コンテンツの前記ノード識別情報を追加するとともに、当該コンテンツに対応する前記イベントメタデータに記述されている起動時刻に基づいて、上位層に遡って前記ノード情報を更新することを特徴とする。
かかる構成によれば、ストレージ装置は、コンテンツ受信手段によって、通信回線やネットワークを介して、コンテンツを受信する。そして、ストレージ装置は、コンテンツ蓄積制御手段によって、受信したコンテンツをコンテンツ蓄積手段に蓄積する。
このとき、ノード情報更新手段が、受信して蓄積されたコンテンツの上位層のノード情報に、当該コンテンツを特定する識別情報(識別子)を追加して記述することで、そのノードの直下にコンテンツが管理されることになる。
さらに、ノード情報更新手段は、コンテンツに対応するイベントメタデータに記述されている当該コンテンツの起動時刻を参照することで、当該コンテンツの親ノードを上位層に遡って、各層のノード情報を更新する。すなわち、ノード情報更新手段は、コンテンツ(葉ノード)の中で、最も起動時刻が早い葉ノードによって、コンテンツの親ノードのノード情報を書き換え、順次上位層のノード情報における最先の起動時刻と起動ノード識別情報とを更新する。
さらに、請求項3に記載のストレージ装置は、請求項1又は請求項2に記載のストレージ装置において、コンテンツ削除手段を備え、前記ノード情報更新手段が、削除されたコンテンツの親ノードに対応する前記ノード情報から、当該コンテンツの前記ノード識別情報を削除するとともに、当該コンテンツの親ノードから、上位層に遡って前記ノード情報を更新することを特徴とする。
かかる構成によれば、ストレージ装置は、コンテンツ削除手段によって、外部からの指示(削除指示)等によって、指示されたコンテンツをコンテンツ蓄積手段から削除する。
このとき、ノード情報更新手段が、コンテンツの親ノードに対応するノード情報から、当該コンテンツのノード識別情報を削除する。そして、ノード情報更新手段が、そのコンテンツ(葉ノード)の上位層のノードにおいて、削除されたコンテンツ以外のイベントメタデータに記述されているコンテンツの最先の起動時刻により、削除されたコンテンツの親ノードを上位層に遡って、各層のノード情報を更新する。これによって、削除指示されたコンテンツは、階層構造から削除されるとともに、最上位層のノード(ルートノード)まで、ノード情報が更新されることになる。
また、請求項4に記載のストレージ装置は、ネットワークを介してコンテンツが分散化された環境において、制御対象となるコンテンツの制御動作を起動する起動時刻と、その制御動作の内容と、前記制御動作を他のコンテンツに対して優先して実行するかどうかを示す優先フラグとを含んだイベントメタデータに基づいて、前記コンテンツを制御するストレージ装置であって、コンテンツ蓄積手段と、ノード情報蓄積手段と、計時手段と、起動コンテンツ探索手段と、コンテンツ操作制御手段と、アクセス制御手段と、ノード情報同期更新手段とを備える構成とした。
かかる構成によれば、ストレージ装置は、コンテンツの制御動作を起動する起動時刻とその制御動作の内容と優先フラグとを記述したイベントメタデータを含んだコンテンツをコンテンツ蓄積手段に蓄積し、階層構造の階層毎の情報であるノード情報をノード情報蓄積手段に蓄積する(あるいは、予め蓄積しておく)。
ここで、優先フラグは、コンテンツの制御動作を他のコンテンツに対して優先して実行するかどうかを示すフラグである。また、ノード情報は、イベントメタデータを含むコンテンツを、階層構造で管理するための情報である。ここでは、最下位層のノード(葉ノード)にコンテンツを関連付け、その上位層となるノード(親ノード)に、下位層のノードである1つ以上の子ノードを特定するノード識別情報と、その1つ以上の子ノードにおける最先の起動時刻と、その最先の起動時刻を有する子ノードを特定する起動ノード識別情報とを含んだノード情報を関連付ける。
そして、ストレージ装置は、起動コンテンツ探索手段によって、計時手段から出力される現在時刻が、ルートノードに関連付けられている起動時刻(最先の起動時刻)に達した段階で、ノード情報に基づいて、起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する。
そして、ストレージ装置は、コンテンツ操作制御手段によって、探索されたコンテンツに対応するイベントメタデータに記述されている制御動作を実行する。
このとき、ストレージ装置は、アクセス制御手段によって、起動コンテンツ探索手段で探索されたコンテンツが、他のストレージ装置に蓄積されており、且つ、当該コンテンツにおいて優先フラグが設定されている場合に、ネットワークを介したコンテンツのアクセスを停止し、他のストレージ装置から、優先フラグが設定されているコンテンツの制御動作が完了した旨の通知を受信した場合に、ネットワークを介したコンテンツのアクセスを再開する。例えば、ネットワークを介した他のコンテンツのコピー等を停止することで、ネットワークへの負荷が軽減され、優先フラグが設定されているコンテンツの制御動作が優先して実行されることになる。
さらに、ストレージ装置は、ノード情報同期更新手段によって、ノード情報を他のストレージ装置と同期をとって更新することで、齟齬のないノード情報を保持し、どのコンテンツがどのストレージ装置に蓄積され、優先フラグが設定されているかどうかを認識することができる。
さらに、請求項5に記載のコンテンツ蓄積管理方法は、コンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを含んだイベントメタデータと、階層構造における上位層のノードに、下位層のノードを特定するノード識別情報と、前記下位層のノードにおける最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを含んだノード情報とに基づいて、前記コンテンツの制御動作を管理するストレージ装置におけるコンテンツ蓄積管理方法であって、起動時刻判定ステップと、起動コンテンツ探索ステップと、イベント実行ステップと、ノード情報更新ステップと、を含んでいることを特徴とする。
かかる手順によれば、コンテンツ蓄積管理方法は、起動時刻判定ステップで、計時手段から出力される現在時刻と、最上位層のノード(ルートノード)に関連付けられている最先の起動時刻とを比較することで、現在時刻が起動時刻に達したかどうかを判定する。
そして、コンテンツ蓄積管理方法は、起動コンテンツ探索ステップで、起動時刻判定ステップで起動時刻に達したと判定された場合に、ノード情報に基づいて、起動時刻に関連付けられている起動ノード識別情報で特定されるノードを下位層に向かって探索する。これによって、最下位層のノードであるコンテンツが特定される。
さらに、コンテンツ蓄積管理方法は、イベント実行ステップで、起動コンテンツ探索ステップで探索されたコンテンツに対応するイベントメタデータに記述されている制御動作を実行する。そして、ノード情報更新ステップで、イベント実行ステップで実行された制御対象となったコンテンツの親ノードから、上位層に遡ってノード情報における最先の起動時刻と起動ノード識別情報とを更新する。これによって、最上位層のノード(ルートノード)のノード情報まで、更新される。
また、請求項6に記載のコンテンツ蓄積管理プログラムは、コンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを含んだイベントメタデータと、階層構造における上位層のノードに、下位層のノードを特定するノード識別情報と、前記下位層のノードにおける最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを含んだノード情報とに基づいて、前記コンテンツを制御するために、コンピュータを、起動コンテンツ探索手段、コンテンツ操作制御手段、ノード情報更新手段、として機能させる構成とした。
かかる構成によれば、コンテンツ蓄積管理プログラムは、起動コンテンツ探索手段によって、計時手段から出力される現在時刻が、ルートノードに関連付けられている起動時刻(最先の起動時刻)に達した段階で、ノード情報に基づいて、起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する。
そして、コンテンツ蓄積管理プログラムは、コンテンツ操作制御手段によって、探索されたコンテンツに対応するイベントメタデータに記述されている制御動作を実行する。
さらに、コンテンツ蓄積管理プログラムは、ノード情報更新手段によって、制御動作の対象となったコンテンツの親ノードから、上位層に遡ってノード情報における最先の起動時刻と起動ノード識別情報とを更新する。
請求項1、請求項5又は請求項6に記載の発明によれば、コンテンツのディレクトリ構造(階層構造)と、コンテンツの制御動作(イベント)の管理とを、同一の階層構造を有するノード情報によって管理するため、ディレクトリ構造とイベント管理とを二重管理することなく、ノード情報によって共通に(一重)管理することができる。また、イベントを実行すべきコンテンツを探索する場合に、コンテンツの探索と、イベントの探索とが同時に行えるため、CPUにかかる処理を軽減することができ、コンテンツの数が増えた場合でも高速にイベントの管理を行うことができる。
請求項2に記載の発明によれば、コンテンツを新規に蓄積する場合に、新規コンテンツのイベントメタデータを最下位層のノードとして、その上位層に遡ってノード情報を更新するだけで、新規のコンテンツを既存の階層構造の中に組み込むとともに、イベントの管理を行うことが可能になる。
請求項3に記載の発明によれば、コンテンツを削除する場合に、削除するコンテンツに相当する最下位層のノードを削除するとともに、その上位層に遡ってノード情報を更新するだけで、既存の階層構造からコンテンツを削除するとともに、イベントの管理を行うことが可能になる。
請求項4に記載の発明によれば、ストレージ装置をネットワークに複数台接続し、コンテンツを分散して管理する分散ディレクトリ環境において、コンテンツを新たに蓄積あるいは削除する場合は、いずれのストレージ装置に蓄積あるいは削除の命令を出しても、ストレージ装置がコンテンツを蓄積あるいは削除する必要のあるストレージ装置に通知して、ストレージ装置の動作を起動できる。また、当該動作を終了した後においても、ネットワークを介して各ストレージ装置にノード情報全体を通知する必要がない。そのため、ネットワークにかかる負荷を軽減することができる。また、優先フラグが設定されたコンテンツの制御動作が実行された場合、他のコンテンツの制御動作を停止させることができるので、ネットワークにかかる負荷を軽減することができるとともに、優先フラグが設定されたコンテンツの制御動作を高速に実行することができる。
以下、本発明の実施の形態について図面を参照して説明する。
[第一の実施の形態]
(ストレージ装置の構成)
まず、図1を参照して、第一の実施の形態に係るストレージ装置の構成について説明する。図1は、本発明の第一の実施の形態に係るストレージ装置の構成を示すブロック図である。
図1に示したストレージ装置1は、コンテンツを蓄積するとともに、コンテンツに含まれている、制御動作(イベント)を起動する起動時刻と、その制御動作の内容とを記述したメタデータ(イベントメタデータ)に基づいてコンテンツを制御するものである。ここでは、ストレージ装置1は、通信送受信手段10と、コンテンツ蓄積手段20と、ノード情報蓄積手段30と、計時手段40と、システム管理手段50とを備えている。
通信送受信手段10は、ネットワークNを介して、クライアントコンピュータ(図示せず)や他のストレージ装置(図示せず)と、データ(コンテンツ)や制御情報の送受信を行うものである。例えば、通信送受信手段10は、TCP/IP(Transmission Control Protocol/Internet Protocol)の通信プロトコルによってデータや制御情報の送受信を行う通信ボードである。
コンテンツ蓄積手段20は、映像、音声等のコンテンツの実体と、そのコンテンツの制御動作を起動する起動時刻とその制御動作の内容とを記述したイベントメタデータとからなるデータ(以下、コンテンツCo)を蓄積するもので、ハードディスク等の一般的な記憶装置である。このコンテンツ蓄積手段20に蓄積されるコンテンツCoは、後記するコンテンツ格納手段51により蓄積され、コンテンツ配信手段52により読み出される。また、コンテンツCoは、コンテンツ削除手段53によりコンテンツ蓄積手段20から削除される。
ノード情報蓄積手段30は、階層構造におけるノード情報Niを蓄積するものである。このノード情報蓄積手段30は、ハードディスク等の一般的な記憶装置である。
なお、ここでは、コンテンツ蓄積手段20とノード情報蓄積手段30とを、別々の記憶装置として構成しているが、同一の記憶装置にコンテンツCo及びノード情報Niを蓄積することとしてもよい。
ここで、図2を参照(適宜図1参照)して、ノード情報及びイベントメタデータの構造について説明する。図2は、ノード情報及びイベントメタデータの構造を模式的に示す模式図である。以下、ノード情報Ni及びイベントメタデータEmをまとめて、インデックス情報Idxという。
図2に示すように、ストレージ装置1は、インデックス情報Idxによって、最上位層のノードをルートノードとした階層構造でコンテンツを管理している。
ここで、コンテンツは、最下位層のノード(葉ノード)として管理される。この葉ノードであるコンテンツには、コンテンツを特定する識別子(例えば、ファイル名)と、値(コンテンツの実体)と、コンテンツの制御動作(イベント)の起動時刻、及び、制御動作の内容を記述したイベントメタデータEmとを少なくとも含んでいる。
なお、識別子と値とイベントメタデータとは、例えば、MXF(Material eXchange Format)のような、一つのファイルに組み込んで管理してもよいし、識別子と値とを含むファイルと、イベントメタデータとのファイルに分けて、双方のファイルを関連付けて管理してもよい。
また、葉ノードの上位層となるノード(親ノード)は、1つ以上の子ノード(葉ノード又は下位層のノード)を特定するための情報(ノード識別情報Nid;例えば、ノードのポインタ)と、その子ノードにおけるイベントの起動時刻の中で最先の起動時刻と、その最先の起動時刻を有する子ノードを特定するための情報(起動ノード識別情報;例えば、ノードのポインタ)とを含んだノード情報Niからなっている。なお、葉ノード以外のノード(ルートノードを含む)は、すべて同一のノード情報Niの形式で管理される。
そして、ノード情報蓄積手段30には、ルートノードのノード情報Niと、子ノードとなるノードのノード情報Niを階層化して蓄積する。
これによって、ストレージ装置1は、ルートノードの「最先の起動時刻」を参照することで、どの時刻に最も早くイベントを起動すべきかを判断することができる。さらに、ストレージ装置1は、ルートノードから「起動ノード識別情報」を下位層に向かって探索することで、どのコンテンツ(葉ノード)のイベントを起動すべきかを特定することができる。
図1に戻って、ストレージ装置1の構成について説明を続ける。
計時手段40は、現在の時刻を出力するものである。この計時手段40は、図示していないタイマから出力されるクロックに基づいて、ある基準時刻からの相対時刻を計時することで、現在の時刻を計測し出力する。この計時手段40で計測された現在時刻は、コンテンツ管理手段50のインデックス情報管理手段542に出力され、インデックス情報管理手段542内の起動コンテンツ探索手段542aが、現在時刻において、起動すべきコンテンツが存在するかどうかを探索する。
なお、ここでは、計時手段40が、ストレージ装置1内で現在時刻を計時する構成としているが、この計時手段40は、ネットワークNを介して、タイムサーバから現在時刻を取得し、現在時刻を修正することとしてもよい。
システム管理手段50は、ストレージ装置1全体の制御を行うものである。例えば、システム管理手段50は、CPU(Central Processing Unit)やメモリ等を備えたコンピュータであって、プログラムを、以下に示す各手段として機能させることで、コンテンツの蓄積管理や、イベント管理を行うものである。ここでは、システム管理手段50は、コンテンツ格納手段51と、コンテンツ配信手段52と、コンテンツ削除手段53と、コンテンツ管理手段54と、制御情報受信手段55と、制御情報送信手段56とを備えている。
コンテンツ格納手段51は、通信送受信手段10を介して、コンテンツを取得し、コンテンツ蓄積手段20に蓄積するものである。なお、このコンテンツ格納手段51の動作としては、新規にコンテンツを蓄積する場合と、すでに蓄積されているコンテンツを更新する場合とを含んでいる。ここでは、コンテンツ格納手段51は、コンテンツ受信手段51aと、コンテンツ蓄積制御手段51bとを備えている。
コンテンツ受信手段51aは、通信送受信手段10を介してコンテンツを受信するものである。このコンテンツ受信手段51aは、コンテンツ管理手段54のコンテンツ操作制御手段543から制御情報として通知されるコンテンツの送信元(例えば、クライアントコンピュータ、他のストレージ装置等)から、通信送受信手段10を介してコンテンツを受信する。このコンテンツ受信手段51aで受信したコンテンツは、コンテンツ蓄積制御手段51bに出力される。
コンテンツ蓄積制御手段51bは、コンテンツ受信手段51aで受信したコンテンツを、コンテンツ蓄積手段20に書き込むものである。このコンテンツ蓄積制御手段51bは、コンテンツ管理手段54のコンテンツ操作制御手段543から通知される制御情報(蓄積先のアドレス等)に基づいて、コンテンツをコンテンツ蓄積手段20に書き込む。
また、コンテンツ蓄積制御手段51bは、コンテンツをコンテンツ蓄積手段20に書き込んだ段階で、書き込んだ旨を示す制御情報と、コンテンツの識別子(ファイル名)と、書き込みアドレスと、イベントメタデータ中の起動時刻とをコンテンツ管理手段54のコンテンツ状態監視手段541に通知する。これによって、コンテンツ管理手段54は、コンテンツ蓄積手段20に蓄積されているコンテンツの変化(蓄積、削除等)を認識することができる。
なお、イベントメタデータは、例えば、コンテンツの先頭から予め定めた長さのデータ長で、コンテンツの起動時刻、制御動作の内容をテキストデータ、あるいは、予め定めた符号等によって記述されたコンテンツのイベントを規定するメタデータである。
また、コンテンツ蓄積制御手段51bは、コンテンツ状態監視手段541に通知した情報を、さらに、コンテンツ管理手段54のインデックス情報管理手段542内のノード情報更新手段542bに出力する。
コンテンツ配信手段52は、コンテンツ蓄積手段20に蓄積されているコンテンツCoを、通信送受信手段10を介して配信するもので、コンテンツ読み出し手段52aと、コンテンツ送信手段52bとを備えている。
コンテンツ読み出し手段52aは、コンテンツ蓄積手段20に蓄積されているコンテンツCoを読み出すものである。このコンテンツ読み出し手段52aは、コンテンツ管理手段54のコンテンツ操作制御手段543から通知される制御情報(蓄積元のアドレス等)に基づいて、コンテンツCoをコンテンツ蓄積手段20から読み出す。このコンテンツ読み出し手段52aで読み出されたコンテンツCoは、コンテンツ送信手段52bに出力される。
また、コンテンツ読み出し手段52aは、コンテンツCoをコンテンツ蓄積手段20から読み出した段階で、読み出した旨を示す制御情報をコンテンツ管理手段54のコンテンツ状態監視手段541に通知する。
コンテンツ送信手段52bは、コンテンツ読み出し手段52aで読み出されたコンテンツを、通信送受信手段10を介して送信するものである。このコンテンツ送信手段52bは、コンテンツ管理手段54のコンテンツ操作制御手段543から通知されるコンテンツの送信先(例えば、クライアントコンピュータ、他のストレージ装置等)に、通信送受信手段10を介してコンテンツを送信する。
コンテンツ削除手段53は、コンテンツ蓄積手段20に蓄積されているコンテンツCoを削除するものである。このコンテンツ削除手段53は、コンテンツ管理手段54のコンテンツ操作制御手段543から通知される制御情報(蓄積元のアドレス等)に基づいて、指示されたコンテンツCoをコンテンツ蓄積手段20から削除する。
また、コンテンツ削除手段53は、コンテンツをコンテンツ蓄積手段20から削除した段階で、削除した旨を示す制御情報をコンテンツ管理手段54のコンテンツ状態監視手段541に通知する。
コンテンツ管理手段54は、コンテンツ蓄積手段20に蓄積されているイベントメタデータと、ノード情報蓄積手段30に蓄積されているノード情報Niとに基づいて、コンテンツ蓄積手段20に蓄積されるコンテンツを階層構造で管理するとともに、当該コンテンツのイベントを制御するものである。ここでは、コンテンツ管理手段54は、コンテンツ状態監視手段541と、インデックス情報管理手段542と、コンテンツ操作制御手段543と、イベントメタデータ読み出し手段544と、ノード情報書き込み・読み出し手段545とを備えている。
コンテンツ状態監視手段541は、コンテンツ蓄積手段20に蓄積されているコンテンツCoの状態を監視し、その状態に変化が起こった段階で、インデックス情報管理手段542に通知するものである。ここでは、コンテンツ状態監視手段541は、コンテンツ蓄積制御手段51b、コンテンツ読み出し手段52a又はコンテンツ削除手段53から、それぞれ、コンテンツの蓄積、読み出し又は削除が行われたことを示す制御情報を通知されることで、コンテンツの状態の変化を監視する。
インデックス情報管理手段542は、コンテンツ蓄積手段20に蓄積されているイベントメタデータと、ノード情報蓄積手段30に蓄積されているノード情報Niとを管理するもので、ここでは、起動コンテンツ探索手段542aと、ノード情報更新手段542bとを備えている。
起動コンテンツ探索手段542aは、計時手段40から出力される現在時刻に基づいて、当該時刻に起動すべきコンテンツをノード情報Niから探索するものである。この起動コンテンツ探索手段542aは、ノード情報Niのルートノード(最上位層)のノード情報に記述されている「最先の起動時刻」が、現在時刻に一致するかどうかを検出し、一致した場合にのみ、「起動ノード識別情報」で特定されるノードを下位層に向かって探索することで、最下位層のノード(葉ノード)であるコンテンツを特定する。この起動コンテンツ探索手段542aで探索され、特定されたコンテンツの識別情報(識別子)と、そのコンテンツに対応するイベントメタデータに記述されている制御動作(イベント)の内容とが、イベントメタデータ読み出し手段544を介して、コンテンツ蓄積手段20に蓄積されているコンテンツCoから読み出され、コンテンツ操作制御手段543に出力される。
ノード情報更新手段542bは、コンテンツ状態監視手段541において監視しているコンテンツの状態に変化(蓄積、読み出し、削除等のイベント)が起こった段階で、ノード情報蓄積手段30に蓄積されているノード情報Niを更新するものである。このノード情報更新手段542bは、イベントが発生したコンテンツ(葉ノード)の親ノードを上位層に遡って、ノード情報Niにおける「最先の起動時刻」と「起動ノード識別情報」とを更新する。なお、ノード情報更新手段542bは、ノード情報Niの更新を、ノード情報書き込み・読み出し手段545を介して行う。
ここで、図3〜図6を参照(適宜図1参照)して、ノード情報更新手段542bが行うノード情報の更新手法について説明する。
図3〜図6では、説明を簡略化するためディレクトリ構造を3層としている。そして、コンテンツは、図2に示したように、最上位層のノードで、最上位層より下の子ノードを特定する「ルートノード」、及び、中間層のノードで、葉ノード(コンテンツ)を含むそれぞれの子ノードを特定するノード情報Niと、コンテンツに含まれ、このコンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを記述したイベントメタデータEmとを含んだインデックス情報Idxで、階層的に管理されている。
図3は、ストレージ装置における、ある時刻のインデックス情報の例を示す図である。ここでは、最下位層の葉ノードであるコンテンツのイベントをイベントメタデータEmに記述し、その親のノードにおける、それぞれの子ノードの中で、最も早く起動すべきイベントの起動時刻と、その子ノードの識別情報とをノード毎のノード情報Niに記述している。
例えば、ノードAのノード情報Niには、ノードAの子ノードである葉ノードa及び葉ノードbのイベントメタデータEmに記述されている「起動時刻」で最も早い起動時刻(ここでは「9:00」)と、その起動時刻に起動されるコンテンツ(葉ノード)を識別する「起動ノード識別情報」(ここでは「b」)とを記述している。そして、さらに上位層のノード(ここではルートノード)のノード情報Niには、ルートノードの子ノードであるノードA、ノードB及びノードCのノード情報Niに記述されている「最先の起動時刻」で最も早い起動時刻(ここでは「9:00」)と、その起動時刻が記述されているノードを識別する「起動ノード識別情報」(ここでは「A」)を記述している。
図4は、図3で示したインデックス情報の状態において、新規にコンテンツを蓄積した場合のインデックス情報の例を示す図である。
この図4では、図3のインデックス情報Idx1において、ノードCに新規にコンテンツgを追加している。このコンテンツgは、時刻「8:35」に「クライアントZへ複製」されることとする。この場合、図4のインデックス情報Idx2に示すように、ノードCの直下に葉ノードであるコンテンツgを追加するように、ノードCのノード情報Niが更新される。
このとき、ノードCの子ノードである葉ノード(コンテンツ)e、葉ノード(コンテンツ)f及び葉ノード(コンテンツ)gのイベントメタデータEmに記述されている「起動時刻」で最も早い起動時刻(ここでは「8:35」)と、その起動時刻に起動されるコンテンツ(葉ノード)を識別する「起動ノード識別情報」(ここでは「g」)とにより、ノードCのノード情報Niが更新される。そして、さらに上位層のノード(ここではルートノード)のノード情報Niが、ルートノードの子ノードであるノードA、ノードB及びノードCのノード情報Niに記述されている「最先の起動時刻」で最も早い起動時刻(ここでは「8:35」)と、その起動時刻が記述されているノードを識別する「起動ノード識別情報」(ここでは「C」)とに更新される。
図5は、図4で示したインデックス情報の状態において、コンテンツ(ここでは、コンテンツb)を削除した場合のインデックス情報の例を示す図である。
この図5では、図4のインデックス情報Idx2において、ノードA直下のコンテンツbを削除している。この場合、図5のインデックス情報Idx3に示すように、ノードA直下のコンテンツbを削除するように、ノードAのノード情報Niが更新される。
このとき、ノードAの子ノードは、起動時間がコンテンツbよりも遅いコンテンツaのみとなるため、葉ノード(コンテンツ)aのイベントメタデータEmに記述されている「起動時刻」を「最先の起動時刻」(ここでは9:50)、コンテンツ(葉ノード)aを「起動ノード識別情報」として、ノードAのノード情報Niが更新される。
図6は、図5で示したインデックス情報の状態において、コンテンツ(ここでは、コンテンツd)のイベントの起動時刻を更新した場合のインデックス情報の例を示す図である。
コンテンツdの起動時刻を更新する場合、図5のインデックス情報Idx3において、コンテンツdのイベントを探索し、該当するイベントの起動時刻を更新する。ここでは、起動時刻を「13:30」から「9:00」に変更している。このとき、葉ノード(コンテンツ)c及び葉ノード(コンテンツ)dのイベントメタデータEmに記述されている「起動時刻」で最も早い起動時刻(ここでは「9:00」)と、その起動時刻に起動されるコンテンツ(葉ノード)を識別する「起動ノード識別情報」(ここでは「d」)とにより、ノードBのノード情報Niが更新される。なお、このとき、ノードBの最先の起動時刻よりも、ノードCの「最先の起動時刻」の方が早いため、ルートノードのノード情報Niは更新されない。
図1に戻って、ストレージ装置1の構成について説明を続ける。
コンテンツ操作制御手段543は、起動コンテンツ探索手段542aで探索されたコンテンツに対応するイベントメタデータに記述されている制御動作を実行するものである。また、コンテンツ操作制御手段543は、図示していないクライアントコンピュータ等から送信される制御情報を、後記する制御情報受信手段55を介して受信することで、その制御情報で示されるコンテンツの操作を行うものでもある。
ここで、制御情報とは、コンテンツを制御する情報である。例えば、コンテンツを格納する旨を示すコンテンツ格納指示、コンテンツを配信する旨を示すコンテンツ配信指示、コンテンツを削除する旨を示すコンテンツ削除指示等、あるいはこれらの指示に対する応答等である。
例えば、制御情報が、コンテンツを格納する旨を示すコンテンツ格納指示である場合、コンテンツ操作制御手段543は、その旨をコンテンツ格納手段51に通知する。また、制御情報が、コンテンツを配信する旨を示すコンテンツ配信指示である場合、コンテンツ操作制御手段543は、その旨をコンテンツ配信手段52に通知する。また、制御情報が、コンテンツを削除する旨を示すコンテンツ削除指示である場合、コンテンツ操作制御手段543は、その旨をコンテンツ削除手段53に通知する。また、コンテンツ操作制御手段543は、これらの操作指示(コンテンツ格納指示、コンテンツ配信指示、コンテンツ削除指示)の操作結果を制御情報送信手段56に対して応答として出力する。
イベントメタデータ読み出し手段544は、コンテンツ蓄積手段20に蓄積されているコンテンツCoから、イベントメタデータを読み出すものである。ここでは、イベントメタデータ読み出し手段544は、起動コンテンツ探索手段542aからの指示に基づいて、イベントメタデータを読み出す。
ノード情報書き込み・読み出し手段545は、ノード情報蓄積手段30に蓄積されているノード情報の書き込み及び読み出しを行うものである。ここでは、ノード情報書き込み・読み出し手段545は、起動コンテンツ探索手段542aからの指示に基づいて、ノード情報を読み出し、ノード情報更新手段542bの指示に基づいて、ノード情報の書き込み及び読み出しを行う。
制御情報受信手段55は、通信送受信手段10を介して、図示していないクライアントコンピュータ、他のストレージ装置等から制御情報を受信するものである。ここで受信した制御情報は、コンテンツ管理手段54のコンテンツ操作制御手段543に出力される。
制御情報送信手段56は、コンテンツ管理手段54のコンテンツ操作制御手段543から出力される制御情報を、通信送受信手段10を介して、クライアントコンピュータ、他のストレージ装置等に送信するものである。
このようにストレージ装置1を構成することで、コンテンツの階層構造とイベントの管理とを、ノード情報によって一重管理することが可能になる。これによって、コンテンツの蓄積制御におけるCPUの負荷を軽減することが可能になる。
以上、本発明に係るストレージ装置1の構成について説明したが、本発明はこれに限定されるものではない。例えば、コンテンツに含まれるイベントメタデータを、コンテンツから分離し、あるいはコピーする形でノード情報とまとめた形式のインデックス情報として蓄積して、管理する形態であってもよい。
なお、ストレージ装置1のシステム管理手段50は、一般的なコンピュータにプログラムを実行させ、コンピュータ内の演算装置や記憶装置を動作させることにより実現することができる。ここで実現されるコンテンツを蓄積するとともに、イベントの起動を制御するコンテンツ蓄積管理プログラムは、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
(ストレージ装置の動作)
次に、図7を参照(適宜図1及び図2参照)して、ストレージ装置の動作について説明する。なお、ここでは、本発明に係るノード情報によるコンテンツの蓄積管理動作(主に、コンテンツ管理手段54の動作)について説明を行うことにする。図7は、本発明に係るストレージ装置におけるノード情報によるコンテンツの蓄積管理動作を示すフローチャートである。
〔状態判定ステップ〕
まず、ストレージ装置1は、コンテンツ管理手段54のコンテンツ状態監視手段541によって、蓄積、更新、読み出し、削除等によるコンテンツの状態に変化があったかどうかを判定する(ステップS1)。なお、コンテンツ状態監視手段541は、コンテンツ蓄積制御手段51bからの制御情報によって、コンテンツが蓄積又は更新されたことを検出する。また、コンテンツ状態監視手段541は、コンテンツ読み出し手段52aからの制御情報によって、コンテンツが読み出されたことを検出する。また、コンテンツ状態監視手段541は、コンテンツ削除手段53からの制御情報によって、コンテンツが削除されたことを検出する。
〔(第一)ノード情報更新ステップ〕
ここで、コンテンツの状態に変化があった場合(ステップS1でYes)、コンテンツ状態監視手段542が、インデックス情報管理手段542に状態に変化があった旨を通知することで、インデックス情報管理手段542が、ノード情報蓄積手段30に蓄積されているノード情報Niを更新する。
具体的には、ストレージ装置1は、インデックス情報管理手段542のノード情報更新手段542bによって、ノード中の最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを、状態に変化があったコンテンツ(葉ノード)から、上位層に遡って、順次更新する(ステップS2)。そして、ノード情報更新手段542bは、ルートノードまで更新が完了したかどうかを判定し(ステップS3)、まだ、完了していない場合(ステップS3でNo)は、ステップS2に戻って動作を継続する。
これによって、最下位層から遡って、最上位層までのノード情報が更新されることになる。
〔起動時刻判定ステップ〕
そして、ルートノードまで更新が完了した場合(ステップS3でYes)、又は、コンテンツの状態に変化がなかった場合(ステップS1でNo)に、ストレージ装置1は、現在時刻に起動すべきコンテンツの制御動作(イベント)を実行する。
具体的には、まず、ストレージ装置1は、起動コンテンツ探索手段542aによって、ルートノードのノード情報に記述されている「最先の起動時刻」と、計時手段40から出力される現在時刻とを比較する(ステップS4)。そして、起動コンテンツ探索手段542aは、最先の起動時刻と現在時刻とが一致するかどうかを判定することで、イベントを起動すべき時刻であるかどうかを判定する(ステップS5)。ここで、イベントを起動すべき時刻でない場合(ステップS5でNo)は、ステップS1に戻って動作を継続する。
〔起動コンテンツ探索ステップ〕
一方、イベントを起動すべき時刻である場合(ステップS5でYes)、ストレージ装置1は、起動コンテンツ探索手段542aによって、ノード情報の「最先の起動時刻」と、「起動ノード識別情報」とに基づいて、ルートノードから下位層に向かってノードを探索することで、最下位層のノードである葉ノード(コンテンツ)を特定する(ステップS6)。
〔イベント実行ステップ〕
そして、ストレージ装置1は、起動コンテンツ探索手段542aによって、葉ノード(コンテンツ)のイベントメタデータに記述されている制御動作(イベント)を、イベントメタデータ読み出し手段544を介して、コンテンツ蓄積手段20に蓄積されているコンテンツCoの中から読み出し、コンテンツ操作制御手段543に通知することで、イベントを実行する(ステップS7)。
〔(第二)ノード情報更新ステップ〕
さらに、ストレージ装置1は、ノード情報更新手段542bによって、ノード中の最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを、コンテンツ(葉ノード)から、上位層に遡って、順次更新する(ステップS8)。そして、ノード情報更新手段542bは、ルートノードまで更新が完了したかどうかを判定する(ステップS9)。そして、ルートノードまで更新が完了した場合(ステップS9でYes)は、ステップS1に戻って動作を継続する。一方、ルートノードまで更新が完了していない場合(ステップS9でNo)は、ステップS8に戻って動作を継続する。
以上の動作によって、ストレージ装置1は、コンテンツ蓄積管理動作において、コンテンツの階層構造とイベント管理とを、ノード情報によって、一重管理することができる。なお、前記したステップS3及びステップS9では、ルートノードまで遡ってノード情報を更新したかどうかで、インデックス情報を更新したかどうかを判定しているが、ある階層におけるノードのノード情報を更新する必要がなくなった段階で、それより上位層のノードの更新は必要がないため、更新動作を終了することとしてもよい。これによって、CPUの負荷を軽減させることができる。
[第二の実施の形態]
(ストレージ装置の構成)
次に、図8を参照して、第二の実施の形態に係るストレージ装置の構成について説明する。図8は、本発明の第二の実施の形態に係るストレージ装置の構成を示すブロック図である。
図8に示したストレージ装置1Bは、ネットワークNに複数接続され、分散してコンテンツを蓄積するとともに、コンテンツに含まれている、制御動作(イベント)を起動する起動時刻と、その制御動作の内容とを記述したイベントメタデータに基づいてコンテンツを制御するものである。なお、図8におけるストレージ装置1Bの構成において、図1に示したストレージ装置1と同一の構成については、同一の符号を付し、説明を省略する。以下、ストレージ装置1Bの構成において、ストレージ装置1と異なる構成について以下に説明する。
ノード情報蓄積手段30Bは、階層構造におけるノード情報Ni2を蓄積するものである。
ここで、図9を参照して、ノード情報及びイベントメタデータの構造について説明する。図9は、ノード情報及びイベントメタデータの構造を模式的に示す模式図である。以下、ノード情報Ni2及びイベントメタデータEm2をまとめて、インデックス情報Idx2という。
図9に示すように、インデックス情報Idx2は、図2に示したインデックス情報Idxと比較して、基本構造は同じであるが、「優先フラグ」が、ノード情報Ni2及びイベントメタデータEm2に付加されていることのみが異なっている。
この優先フラグは、当該優先フラグが設定されているコンテンツの動作を、他のコンテンツの動作に対して優先して実行するかどうかを示すフラグである。すなわち、この優先フラグを用いることで、優先フラグが設定されているコンテンツの制御動作(イベント)を実行している間は、他のコンテンツの動作を行わないようにするための判定に用いるものである。
葉ノード(コンテンツ)の上位層となるノード(親ノード)は、1つ以上の子ノード(葉ノード又は下位層のノード)を特定するための情報(ノード識別情報Nid)と、その子ノードにおけるイベントの起動時刻の中で最先の起動時刻と、その起動時刻を有する子ノードに設定されている優先フラグの値と、その最先の起動時刻を有する子ノードを特定するための情報(起動ノード識別情報)とを含んだノード情報Ni2で管理されている。
図8に戻って、ストレージ装置1Bの構成について説明を続ける。
コンテンツ管理手段54Bは、コンテンツ蓄積手段20に蓄積されているイベントメタデータと、ノード情報蓄積手段30Bに蓄積されているノード情報Ni2に基づいて、コンテンツ蓄積手段20に蓄積されるコンテンツを階層構造で管理するとともに、当該コンテンツのイベントを制御するものである。ここでは、コンテンツ管理手段54Bは、コンテンツ状態監視手段541と、インデックス情報管理手段542Bと、コンテンツ操作制御手段543Bと、イベントメタデータ読み出し手段544と、ノード情報書き込み・読み出し手段545とを備えている。コンテンツ状態監視手段541、イベントメタデータ読み出し手段544、及び、ノード情報書き込み・読み出し手段545は、図1に示したストレージ装置1と同一の構成であるため説明を省略する。
インデックス情報管理手段542Bは、コンテンツ蓄積手段20に蓄積されているイベントメタデータと、ノード情報蓄積手段30Bに蓄積されているノード情報Ni2とを管理するもので、ここでは、起動コンテンツ探索手段542Baと、ノード情報同期更新手段542Bbとを備えている。
起動コンテンツ探索手段542Baは、計時手段40から出力される現在時刻に基づいて、当該時刻に起動すべきコンテンツをノード情報Ni2から探索するものである。ここで、当該ストレージ装置1Bのコンテンツ蓄積手段20に起動すべきコンテンツが存在する場合、起動コンテンツ探索手段542Baは、コンテンツ蓄積手段20に蓄積されているコンテンツCoに記述されているコンテンツの識別情報(識別子)と、そのコンテンツに対応するイベントメタデータに記述されている制御動作(イベント)の内容とを、イベントメタデータ読み出し手段544を介して、コンテンツ蓄積手段20に蓄積されているコンテンツCoから読み出し、コンテンツ操作制御手段543Bに出力する。
なお、ストレージ装置1Bのコンテンツ蓄積手段20に起動すべきコンテンツが存在しない場合で、且つ、そのコンテンツに対応するイベントメタデータに「優先フラグ」が設定(例えば、値“1”)されている場合、起動コンテンツ探索手段542Baは、コンテンツ操作制御手段543Bに、ネットワークNを開放する旨の指示を通知する。
これによって、ネットワークNに接続された他のストレージ装置に蓄積され、優先フラグが設定されているコンテンツが起動された場合、当該ストレージ装置1Bは、ネットワークNのアクセスを制限することで、優先フラグが設定されているコンテンツの動作を優先して行うことが可能になる。
ノード情報同期更新手段542Bbは、コンテンツ状態監視手段541において監視しているコンテンツの状態に変化(蓄積、読み出し、削除等のイベント)が起こった段階、あるいは、他のストレージ装置1Bにおいてコンテンツの状態に変化が起こった段階で、ネットワークNに接続されているストレージ装置1B間で同期して、ノード情報蓄積手段30Bに蓄積されているノード情報Ni2を更新するものである。これによって、ネットワークNに接続されているストレージ装置1B間で、ノード情報Ni2が常に齟齬のない状態に保持される。
ここで、図10〜図13を参照(適宜図8参照)して、ノード情報同期更新手段542Bbが行うノード情報の更新手法について説明する。
図10〜図13のインデックス情報Idx2の構造は、図3〜図6のインデックス情報Idxの構造と同一であるが、コンテンツが複数のストレージ装置(ここでは、1B1、1B2)に分散して蓄積されている点と、優先フラグが設定されている点とが異なっている。
図10は、ストレージ装置1Bにおける、ある時刻のインデックス情報の例を示す図である。ここでは、コンテンツa、b及びcが、ストレージ装置1B1に蓄積され、コンテンツd、e及びfが、ストレージ装置1B2に蓄積されている状態を示している。
また、ここでは、最下位層の葉ノードであるコンテンツの親のノードに、それぞれの子ノードの中で、最も早く起動すべきイベントの起動時刻と、その子ノードの優先フラグの値と、その子ノードの識別情報とをノード毎のノード情報Ni2に記述している。
例えば、ノードAのノード情報Niには、ノードAの子ノードである葉ノードa及び葉ノードbのイベントメタデータに記述されている「起動時刻」で最も早い起動時刻(ここでは「9:00」)と、その起動時刻に起動されるコンテンツ(葉ノード)の「優先フラグ」の値(ここでは“1”)と、そのノードを識別する「起動ノード識別情報」(ここでは「b」)とを記述している。そして、さらに上位層のノード(ここではルートノード)のノード情報Ni2には、ルートノードの子ノードであるノードA、ノードB及びノードCのノード情報Ni2に記述されている「最先の起動時刻」で最も早い起動時刻(ここでは「9:00」)と、その起動時刻が記述されているノードの「優先フラグ」の値(ここでは“1”)と、そのノードを識別する「起動ノード識別情報」(ここでは「A」)を記述している。
図11は、図10で示したインデックス情報の状態において、新規にコンテンツを蓄積した場合のインデックス情報の例を示す図である。
この図11では、図10のインデックス情報Idx21において、ノードCに新規にコンテンツgを追加している。
このとき、ノードCの子ノードである葉ノード(コンテンツ)e、葉ノード(コンテンツ)f及び葉ノード(コンテンツ)gのイベントメタデータEm2に記述されている「起動時刻」で最も早い起動時刻(ここでは「8:35」)と、その起動時刻に起動されるコンテンツ(葉ノード)の「優先フラグ」の値(ここでは“1”)と、そのノードを識別する「起動ノード識別情報」(ここでは「g」)とにより、ノードCのノード情報Ni2が更新される。そして、さらに上位層のノード(ここではルートノード)のノード情報Ni2が、ルートノードの子ノードであるノードA、ノードB及びノードCのノード情報Ni2に記述されている「最先の起動時刻」で最も早い起動時刻(ここでは「8:35」)と、その起動時刻が記述されているノードの「優先フラグ」の値(ここでは“1”)と、そのノードを識別する「起動ノード識別情報」(ここでは「C」)とに更新される。
なお、ここでは、コンテンツgをストレージ装置1B2に蓄積しているが、ストレージ装置1B2のノード情報同期更新手段542Bbが、他のストレージ装置(ここでは1B1)にノード情報Ni2の更新を通知することで、他のストレージ装置において、齟齬のないノード情報Ni2が保持されることになる。
図12に示したコンテンツの削除や、図13に示したコンテンツの更新においても、図5や図6で説明したノード情報の更新動作に、優先フラグの値を付加するだけで、同様の更新を行うことができる。また、このノード情報Ni2の更新は、ノード情報同期更新手段542Bbが、他のストレージ装置にノード情報Ni2の更新を通知することで、他のストレージ装置において、齟齬のないノード情報Ni2が保持されることになる。
図8に戻って、ストレージ装置1Bの構成について説明を続ける。
コンテンツ操作制御手段543Bは、図1で説明したコンテンツ操作制御手段543の機能に、ネットワークNを介したコンテンツのアクセスを禁止又は許可する制御を行う機能を付加している。ここでは、コンテンツ操作制御手段543Bは、コンテンツ操作制御手段543にアクセス制御手段543Baを備えて構成している。
アクセス制御手段543Baは、起動コンテンツ探索手段542Baで探索されたコンテンツが、ストレージ装置1Bのコンテンツ蓄積手段20に蓄積されておらず、且つ、そのコンテンツに対して優先フラグが設定されている場合に、ネットワークNを介したコンテンツのアクセスを禁止(ネットワークNを開放)するものである。
ここでは、アクセス制御手段543Baは、起動コンテンツ探索手段542Baから、ネットワークNを開放する旨の指示を通知されることで、コンテンツ蓄積制御手段51bやコンテンツ読み出し手段52aの動作を制御することで、ネットワークNを介したコンテンツのアクセスを停止する。なお、優先フラグが設定されたコンテンツのイベントが完了した段階で、このコンテンツを有する他のストレージ装置から、制御情報受信手段55を介して、イベント完了の通知を受信することで、アクセス制御手段543Baは、ネットワークNを介したコンテンツのアクセスを再開する(ネットワークNの開放を解く)。
このようにストレージ装置1Bを構成することで、コンテンツの階層構造とイベントの管理とを、インデックス情報によって一重管理するとともに、優先フラグが設定されているコンテンツのイベントを最優先で動作させることができる。これによって、コンテンツの蓄積制御におけるCPUの負荷を軽減することが可能になるとともに、時刻に伴うイベントの動作を高速に実行することが可能になる。
(ストレージ装置の動作)
次に、図14及び図15を参照(適宜図8及び図9参照)して、ストレージ装置の動作について説明する。なお、ここでは、本発明に係る優先フラグを含んだノード情報によるコンテンツの蓄積管理動作(主に、コンテンツ管理手段54Bの動作)について説明を行うことにする。図14及び図15は、本発明に係るストレージ装置における優先フラグを含んだノード情報によるコンテンツの蓄積管理動作を示すフローチャートである。
まず、ストレージ装置1は、コンテンツ管理手段54Bのコンテンツ状態監視手段541によって、蓄積、更新、読み出し、削除等によるコンテンツの状態に変化があったかどうかを判定する(ステップS11)。
ここで、コンテンツの状態に変化があった場合(ステップS11でYes)、インデックス情報管理手段542Bのノード情報同期更新手段542Bbによって、ノード中の最先の起動時刻と、その最先の起動時刻を有するノードの優先フラグの値と、そのノードを特定する起動ノード識別情報とを、コンテンツ(葉ノード)から、上位層に遡って、順次更新する(ステップS12)。さらに、ノード情報同期更新手段542Bbは、他のストレージ装置に対して、ノード情報の更新を通知する(ステップS13)。そして、ノード情報同期更新手段542Bbは、ルートノードまで更新が完了したかどうかを判定し(ステップS14)、まだ、完了していない場合(ステップS14でNo)は、ステップS12に戻って動作を継続する。
そして、ルートノードまで更新が完了した場合(ステップS14でYes)、又は、コンテンツの状態に変化がなかった場合(ステップS11でNo)に、ストレージ装置1Bは、起動コンテンツ探索手段542Baによって、ルートノードのノード情報に記述されている「最先の起動時刻」と、計時手段40から出力される現在時刻とを比較する(ステップS15)。そして、起動コンテンツ探索手段542Baは、最先の起動時刻と現在時刻とが一致するかどうかを判定することで、イベントを起動すべき時刻であるかどうかを判定する(ステップS16)。ここで、イベントを起動すべき時刻でない場合(ステップS16でNo)は、ステップS11に戻って動作を継続する。
一方、イベントを起動すべき時刻である場合(ステップS16でYes)、起動コンテンツ探索手段542Baは、対象となるイベントを実行するコンテンツが、当該ストレージ装置1Bのコンテンツ蓄積手段20に蓄積されているかどうかを判定する(ステップS17)。
ここで、イベントを実行するコンテンツが、コンテンツ蓄積手段20に蓄積されている場合(ステップS17でYes)、ストレージ装置1Bは、起動コンテンツ探索手段542Baによって、ノード情報の「最先の起動時刻」と、「起動ノード識別情報」とに基づいて、ルートノードから下位層に向かってノードを探索することで、最下位層のノードである葉ノード(コンテンツ)を特定する(ステップS18)。
そして、ストレージ装置1Bは、起動コンテンツ探索手段542Baによって、葉ノード(コンテンツ)のイベントメタデータに記述されている制御動作(イベント)をコンテンツ操作制御手段543Bに通知することで、イベントを実行する(ステップS19)。そして、そのイベントの動作が完了した段階で、コンテンツ操作制御手段543Bは、他のストレージ装置に対して、イベントの終了を通知する(ステップS20)。
さらに、ストレージ装置1Bは、ノード情報同期更新手段542Bbによって、ノード中の最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを、コンテンツ(葉ノード)から、上位層に遡って、順次更新する(ステップS21)。そして、ノード情報同期更新手段542Bbは、ルートノードまで更新が完了したかどうかを判定する(ステップS22)。そして、ルートノードまで更新が完了した場合(ステップS22でYes)は、ステップS11に戻って動作を継続する。一方、ルートノードまで更新が完了していない場合(ステップS22でNo)は、ステップS21に戻って動作を継続する。
なお、ステップS17において、イベントを実行するコンテンツが、コンテンツ蓄積手段20に蓄積されていないと判定された場合(ステップS17でNo)、起動コンテンツ探索手段542Baは、そのコンテンツに対応するイベントメタデータに「優先フラグ」が設定(例えば、値“1”)されているかどうかを判定する(ステップS23)。
ここで、「優先フラグ」が設定されている場合(ステップS23でYes)、起動コンテンツ探索手段542Baが、コンテンツ操作制御手段543BにネットワークNを開放する旨の指示を通知することで、コンテンツ操作制御手段543Bのアクセス制御手段543Baが、ネットワークNを介したコンテンツのアクセスの停止(ネットワークの開放)を行う(ステップS24)。
また、「優先フラグ」が設定されていない場合(ステップS23でNo)、又は、ステップS24でネットワークNの開放を行った後に、「優先フラグ」が設定されたコンテンツを有する他のストレージ装置から、イベントの終了が通知されるまで待機する(ステップS25)。そして、他のストレージ装置から、イベントの終了が通知された段階(ステップS25でYes)で、コンテンツ操作制御手段543Bのアクセス制御手段543Baは、ネットワークNを介したコンテンツのアクセスを再開する(ネットワークNの開放を解く)(ステップS26)。そして、ステップS11に戻って動作を継続する。
以上の動作によって、ストレージ装置1Bは、コンテンツ蓄積管理動作において、コンテンツの階層構造とイベント管理とを、ノード情報によって、一重管理することができる。また、優先フラグが設定されたコンテンツのイベントが、ネットワークを占有することになるため、コンテンツのイベントを高速に処理することが可能になる。
[イベントメタデータの具体例]
ここで、図16を参照して、インデックス情報(図2及び図9参照)に含まれるイベントメタデータの具体例について説明する。図16は、放送用のコンテンツを蓄積するためのストレージ装置におけるイベントメタデータの内容を示す図で、(a)はイベントメタデータの記述内容例、(b)はイベントメタデータの動作内容例を示す図である。
図16(a)に示すように、あるコンテンツのイベントメタデータには、固定の値である静的メタデータとして、「放送時刻Tb」、「再放送時刻Tr」、「移動余裕時間Tm」、「保持時間Tk」、「アーカイブ移動チェック間隔Ti」及び「頻度の閾値Ft」と、動的に変化する動的メタデータとして、「起動予定時刻Tk」及び「アクセス頻度f」とが記述されている。
ここで、「放送時刻Tb」は当該コンテンツを放送する時刻、「再放送時刻Tr」は当該コンテンツを再放送する時刻、「移動余裕時間Tm」は当該コンテンツを移動するために要する時間の最大値、「保持時間Tk」は当該コンテンツを保持する時間、「アーカイブ移動チェック間隔Ti」は当該コンテンツをアーカイブ(保管場所)に移動するかどうかをチェックする時間間隔、「頻度の閾値Ft」は当該コンテンツをアーカイブに移動するかどうかを判定するためのアクセス頻度の閾値をそれぞれ示している。
また、「起動予定時刻Tk」は当該コンテンツの制御動作(イベント)を起動する時刻を示し、図2又は図9で説明したイベントメタデータ内の「起動時刻」に相当し、階層構造の管理対象となる時刻である。ここでは、「起動予定時刻Tk」は、初期値として、「放送時刻Tb」−「移動余裕時間Tm」を設定している。
また、「アクセス頻度f」は、当該コンテンツのアクセス(読み出し)毎に更新され、当該コンテンツに何回アクセスがあったかを示す値である。
そして、図16(a)に示したイベントメタデータに対して、図16(b)に示すように、制御動作を動作ルール(R1〜R4)として規定しておく。
ここでは、「動作ルールR1」としては、監視対象である時刻tが、放送時刻Tbより前の場合は、コンテンツを送出サーバにコピーし、起動予定時刻Ttを「再放送時刻Tr」−「移動余裕時間Tm」に書き換え、再放送時刻Trよりも移動余裕時間Tm前に、次の動作ルール(イベント)を起動するようにイベントメタデータを書き換える。
また、「動作ルールR2」としては、監視対象である時刻tが、放送時刻Tbより後で再放送時刻Trより前の場合は、コンテンツを送出サーバにコピーし、起動予定時刻Ttを「再放送時刻Tr」+「移動余裕時間Tm」に書き換え、再放送時刻Trの移動余裕時間Tm後に、次の動作ルール(イベント)を起動するようにイベントメタデータを書き換える。
また、「動作ルールR3」としては、監視対象である時刻tが再放送時刻Trより遅く、且つ、頻度の閾値Ftよりアクセス頻度fが高い場合は、起動予定時刻Ttを現在の起動予定時刻Ttにアーカイブ移動チェック間隔Tiを加算して更新する。
また、「動作ルールR4」としては、監視対象である時刻tが再放送時刻Trより遅く、且つ、頻度の閾値Ftよりアクセス頻度fが低い場合は、コンテンツをアーカイブに移動する。
以上のイベントメタデータによる動作ルールに基づいて、ストレージ装置のコンテンツ管理手段54(図1参照)又は54B(図8参照)は、図17に示したフローチャートに示すように動作する。
すなわち、コンテンツ管理手段54,54Bは、監視対象である時刻tが、計時手段40から出力される現在時刻であるかどうかを判定する(ステップS31)。
そして、時刻tが放送時刻Tbより前の場合(t<Tb)、コンテンツ管理手段54,54Bは、図16(b)に示す動作ルールR1の制御内容を実行する(ステップS32)。
また、時刻tが放送時刻Tbより後で再放送時刻Trより前の場合(Tb<t<Tr)、コンテンツ管理手段54,54Bは、図16(b)に示す動作ルールR2の制御内容を実行する(ステップS33)。
また、時刻tが再放送時刻Trより遅く、且つ、頻度の閾値Ftよりアクセス頻度fが高い場合(Tr<t且つFt<f)、コンテンツ管理手段54,54Bは、図16(b)に示す動作ルールR3の制御内容を実行する(ステップS34)。
さらに、時刻tが、再放送時刻Trより遅く、且つ、頻度の閾値Ftよりアクセス頻度fが低い場合(Tr<t且つFt>f)、コンテンツ管理手段54,54Bは、図16(b)に示す動作ルールR4の制御内容を実行する(ステップS35)。
このように、イベントメタデータを記述し、動作ルールを規定することで、コンテンツのイベントを開始すべき時刻を変化させることができ、コンテンツの制御動作を高機能化することができる。
本発明の第一の実施の形態に係るストレージ装置の構成を示す構成図である。 本発明の第一の実施の形態に係るノード情報及びイベントメタデータの構造を模式的に示す模式図である。 本発明の第一の実施の形態に係るインデックス情報の例を示す模式図である。 図3で示したインデックス情報の状態において、新規にコンテンツを蓄積した場合のインデックス情報の例を示す模式図である。 図4で示したインデックス情報の状態において、コンテンツを削除した場合のインデックス情報の例を示す模式図である。 図5で示したインデックス情報の状態において、コンテンツのイベントの起動時刻を更新した場合のインデックス情報の例を示す模式図である。 本発明の第一の実施の形態に係るストレージ装置におけるノード情報によるコンテンツの蓄積管理動作を示すフローチャートである。 本発明の第二の実施の形態に係るストレージ装置の構成を示すブロック図である。 本発明の第二の実施の形態に係るノード情報及びイベントメタデータの構造を模式的に示す模式図である。 本発明の第二の実施の形態に係るインデックス情報の例を示す模式図である。 図10で示したインデックス情報の状態において、新規にコンテンツを蓄積した場合のインデックス情報の例を示す模式図である。 図11で示したインデックス情報の状態において、コンテンツを削除した場合のインデックス情報の例を示す模式図である。 図12で示したインデックス情報の状態において、コンテンツのイベントの起動時刻を更新した場合のインデックス情報の例を示す模式図である。 本発明の第二の実施の形態に係るストレージ装置における優先フラグを含んだノード情報によるコンテンツの蓄積管理動作を示すフローチャート(1/2)である。 本発明の第二の実施の形態に係るストレージ装置における優先フラグを含んだノード情報によるコンテンツの蓄積管理動作を示すフローチャート(2/2)である。 放送用のコンテンツを蓄積するためのストレージ装置におけるイベントメタデータの内容を示す図で、(a)はイベントメタデータの記述内容例、(b)はイベントメタデータの動作内容例を示す図である。 図16に示したイベントメタデータと動作ルールとに基づくストレージ装置の動作を示すフローチャートである。 従来のストレージ装置におけるディレクトリ構造及びイベントメタデータの内容の例を示す模式図である。 図18のディレクトリ構造において、新規にコンテンツを蓄積した場合のディレクトリ構造とイベントメタデータの例を示す模式図である。 図19のディレクトリ構造において、コンテンツを削除した場合のディレクトリ構造とイベントメタデータの例を示す模式図である。 図20のディレクトリ構造において、コンテンツのイベントの起動時刻を更新した場合のディレクトリ構造とイベントメタデータの例を示す模式図である。
符号の説明
1、1B ストレージ装置
10 通信送受信手段
20 コンテンツ蓄積手段
30、30B ノード情報蓄積手段
40 計時手段
50、50B システム管理手段
51 コンテンツ格納手段
51a コンテンツ受信手段
51b コンテンツ蓄積制御手段
51c メタデータ分離手段
52 コンテンツ配信手段
52a コンテンツ読み出し手段
52b コンテンツ送信手段
53 コンテンツ削除手段
54、54B コンテンツ管理手段
541 コンテンツ状態監視手段
542 インデックス情報管理手段
542a 起動コンテンツ探索手段
542b ノード情報更新手段
542B インデックス情報管理手段
542Ba 起動コンテンツ探索手段
542Bb ノード情報同期更新手段
543 コンテンツ操作制御手段
543B コンテンツ操作制御手段
543Ba アクセス制御手段
55 制御情報受信手段
56 制御情報送信手段

Claims (6)

  1. 制御対象となるコンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを記述したイベントメタデータに基づいて、前記コンテンツを制御するストレージ装置であって、
    前記コンテンツを蓄積するコンテンツ蓄積手段と、
    階層構造における最下位層のノードであるコンテンツの上位層のノードである親ノードに、下位層のノードである1つ以上の子ノードを特定するノード識別情報と、前記1つ以上の子ノードにおける最先の起動時刻と、その最先の起動時刻を有する子ノードを特定する起動ノード識別情報とを含んだノード情報を蓄積するノード情報蓄積手段と、
    現在時刻を出力する計時手段と、
    この計時手段から出力される現在時刻が、前記ノード情報蓄積手段に蓄積されている最上位層のノードに関連付けられている起動時刻に達した段階で、前記ノード情報に基づいて、前記起動時刻に関連付けられている前記起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する起動コンテンツ探索手段と、
    この起動コンテンツ探索手段で探索されたコンテンツに対応する前記イベントメタデータに記述されている制御動作を実行するコンテンツ操作制御手段と、
    このコンテンツ操作制御手段による制御動作の対象となったコンテンツの親ノードから、上位層に遡って前記ノード情報における前記最先の起動時刻と前記起動ノード識別情報とを更新するノード情報更新手段と、
    を備えていることを特徴とするストレージ装置。
  2. 前記コンテンツを受信するコンテンツ受信手段と、
    このコンテンツ受信手段で受信したコンテンツを前記コンテンツ蓄積手段に蓄積するコンテンツ蓄積制御手段とを備え、
    前記ノード情報更新手段が、前記コンテンツ受信手段で受信したコンテンツの蓄積に際し、当該コンテンツの上位層のノードにおいて、前記ノード情報に、当該コンテンツの前記ノード識別情報を追加するとともに、当該コンテンツに対応する前記イベントメタデータに記述されている起動時刻に基づいて、上位層に遡って前記ノード情報を更新することを特徴とする請求項1に記載のストレージ装置。
  3. 外部から指示される前記コンテンツの削除指示に基づいて、前記コンテンツ蓄積手段から、指示されたコンテンツを削除するコンテンツ削除手段を備え、
    前記ノード情報更新手段が、削除されたコンテンツの親ノードに対応する前記ノード情報から、当該コンテンツの前記ノード識別情報を削除するとともに、当該コンテンツの親ノードから、上位層に遡って前記ノード情報を更新することを特徴とする請求項1又は請求項2に記載のストレージ装置。
  4. ネットワークを介してコンテンツが分散化された環境において、制御対象となるコンテンツの制御動作を起動する起動時刻と、その制御動作の内容と、前記制御動作を他のコンテンツに対して優先して実行するかどうかを示す優先フラグとを含んだイベントメタデータに基づいて、前記コンテンツを制御するストレージ装置であって、
    前記コンテンツを蓄積するコンテンツ蓄積手段と、
    階層構造における最下位層のノードであるコンテンツの上位層のノードである親ノードに、下位層のノードである1つ以上の子ノードを特定するノード識別情報と、前記1つ以上の子ノードにおける最先の起動時刻と、その最先の起動時刻を有する子ノードを特定する起動ノード識別情報と、当該子ノードの優先フラブとを含んだノード情報を蓄積するノード情報蓄積手段と、
    現在時刻を出力する計時手段と、
    この計時手段から出力される現在時刻が、前記ノード情報蓄積手段に蓄積されている最上位層のノードに関連付けられている起動時刻に達した段階で、前記ノード情報に基づいて、前記起動時刻に関連付けられている前記起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する起動コンテンツ探索手段と、
    この起動コンテンツ探索手段で探索されたコンテンツに対応する前記イベントメタデータに記述されている制御動作を実行するコンテンツ操作制御手段と、
    前記起動コンテンツ探索手段で探索されたコンテンツが、他のストレージ装置に蓄積されており、且つ、当該コンテンツにおいて前記優先フラグが設定されている場合に、前記ネットワークを介したコンテンツのアクセスを停止し、前記他のストレージ装置から、前記優先フラグが設定されているコンテンツの制御動作が完了した旨の通知を受信した場合に、前記ネットワークを介したコンテンツのアクセスを再開するアクセス制御手段と、
    前記ノード情報を他のストレージ装置と同期をとって更新するノード情報同期更新手段と、
    を備えていることを特徴とするストレージ装置。
  5. コンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを含んだイベントメタデータと、階層構造における上位層のノードに、下位層のノードを特定するノード識別情報と、前記下位層のノードにおける最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを含んだノード情報とに基づいて、前記コンテンツを制御するストレージ装置におけるコンテンツ蓄積管理方法であって、
    計時手段から出力される現在時刻と、前記階層構造における最上位層のノードに関連付けられている最先の起動時刻とを比較することで、現在時刻が前記コンテンツの制御動作の起動時刻に達したかどうかを判定する起動時刻判定ステップと、
    この起動時刻判定ステップにおいて起動時刻に達したと判定された場合に、前記ノード情報に基づいて、前記起動時刻に関連付けられている前記起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する起動コンテンツ探索ステップと、
    この起動コンテンツ探索ステップで探索されたコンテンツに対応する前記イベントメタデータに記述されている制御動作を実行するイベント実行ステップと、
    このイベント実行ステップで実行された制御動作の対象となったコンテンツの親ノードから、上位層に遡って前記ノード情報における前記最先の起動時刻と前記起動ノード識別情報とを更新するノード情報更新ステップと、
    を含んでいることを特徴とするコンテンツ蓄積管理方法。
  6. コンテンツの制御動作を起動する起動時刻と、その制御動作の内容とを含んだイベントメタデータと、階層構造における上位層のノードに、下位層のノードを特定するノード識別情報と、前記下位層のノードにおける最先の起動時刻と、その最先の起動時刻を有するノードを特定する起動ノード識別情報とを含んだノード情報とに基づいて、前記コンテンツを制御するために、コンピュータを、
    計時手段から出力される現在時刻が、前記階層構造における最上位層のノードに関連付けられている起動時刻に達した段階で、前記ノード情報に基づいて、前記起動時刻に関連付けられている前記起動ノード識別情報で特定されるノードを下位層に向かって探索することで、最下位層のノードであるコンテンツを特定する起動コンテンツ探索手段、
    この起動コンテンツ探索手段で探索されたコンテンツに対応する前記イベントメタデータに記述されている制御動作を実行するコンテンツ操作制御手段、
    このコンテンツ操作制御手段による制御動作の対象となったコンテンツの親ノードから、上位層に遡って前記ノード情報における前記最先の起動時刻と前記起動ノード識別情報とを更新するノード情報更新手段、
    として機能させることを特徴とするコンテンツ蓄積管理プログラム。
JP2004325865A 2004-11-10 2004-11-10 ストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラム Expired - Fee Related JP4688201B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004325865A JP4688201B2 (ja) 2004-11-10 2004-11-10 ストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004325865A JP4688201B2 (ja) 2004-11-10 2004-11-10 ストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラム

Publications (2)

Publication Number Publication Date
JP2006139334A JP2006139334A (ja) 2006-06-01
JP4688201B2 true JP4688201B2 (ja) 2011-05-25

Family

ID=36620148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004325865A Expired - Fee Related JP4688201B2 (ja) 2004-11-10 2004-11-10 ストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラム

Country Status (1)

Country Link
JP (1) JP4688201B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5113537B2 (ja) * 2008-01-16 2013-01-09 株式会社日立製作所 計算機システム、管理計算機及びデータ管理方法
JP4679609B2 (ja) 2008-06-05 2011-04-27 株式会社東芝 映像収録再生装置、映像収録方法及び映像再生方法
WO2013005684A1 (ja) * 2011-07-01 2013-01-10 日本電気株式会社 オブジェクト配置装置、オブジェクト配置方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242006A (ja) * 2002-02-15 2003-08-29 Matsushita Electric Ind Co Ltd 情報記録再生装置及びファイル管理方法
JP2003330779A (ja) * 2002-05-10 2003-11-21 Hitachi Ltd ファイル管理方法及びその実施システム並びにその処理プログラム
JP2004295457A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 記憶装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04358274A (ja) * 1991-06-04 1992-12-11 Hitachi Ltd 論理生成ファイル管理および論理生成方法
JPH07160549A (ja) * 1993-12-06 1995-06-23 Hitachi Ltd ファイル自動破棄システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242006A (ja) * 2002-02-15 2003-08-29 Matsushita Electric Ind Co Ltd 情報記録再生装置及びファイル管理方法
JP2003330779A (ja) * 2002-05-10 2003-11-21 Hitachi Ltd ファイル管理方法及びその実施システム並びにその処理プログラム
JP2004295457A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 記憶装置

Also Published As

Publication number Publication date
JP2006139334A (ja) 2006-06-01

Similar Documents

Publication Publication Date Title
KR101573965B1 (ko) 분산형 저장 시스템 내의 데이터의 원자 다중 변경
US8392685B2 (en) Arrangements for managing metadata of an integrated logical unit including differing types of storage media
US8620861B1 (en) Preserving file metadata during atomic save operations
US8135677B2 (en) File management system and method
US20070061540A1 (en) Data storage system using segmentable virtual volumes
KR102303008B1 (ko) 파일 시스템에서의 플러싱 기법
JP5984151B2 (ja) データの復旧方法、プログラムおよびデータ処理システム
KR20060046539A (ko) 데이터 보호 시스템에서 데이터를 보호하기 위한 아카이브루틴을 생성하는 방법, 시스템 및 장치
JP2016085666A (ja) ストレージ管理方法、ストレージ管理システム、コンピュータ・システムおよびプログラム
US6192376B1 (en) Method and apparatus for shadowing a hierarchical file system index structure to enable error recovery
JP2012022490A (ja) データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置
JP2008146408A (ja) データ記憶装置、そのデータ再配置方法、プログラム
JP2010049438A (ja) 省電力バックアップ管理方法
US9934240B2 (en) On demand access to client cached files
JP4937863B2 (ja) 計算機システム、管理計算機及びデータ管理方法
JP2009169688A (ja) 記憶装置、データ移行装置、およびデータ移行方法
JP6037469B2 (ja) 情報管理システム、情報管理方法およびプログラム
CN105302488B (zh) 一种存储系统的数据写入方法及系统
KR100899147B1 (ko) 메타 데이터 저장 방법 및 메타 데이터 저장 시스템
WO2012101983A1 (ja) ストレージシステム
JP4688201B2 (ja) ストレージ装置、並びに、コンテンツ蓄積管理方法及びコンテンツ蓄積管理プログラム
JP2008090378A (ja) ハイブリッドファイルシステム、オペレーティングシステム、キャッシュ制御方法および記録媒体
JP2007128448A (ja) ファイルシステム及びファイル情報処理方法
JP2014067112A (ja) 情報処理装置および方法、並びにプログラム
JP2006079463A (ja) 時系列データ記録用バッファ管理方法、装置、システムおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070926

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101102

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees