JP2009070382A - 指定のストレージ階層においてファイル・システム操作を実施するためのシステム及び方法 - Google Patents

指定のストレージ階層においてファイル・システム操作を実施するためのシステム及び方法 Download PDF

Info

Publication number
JP2009070382A
JP2009070382A JP2008233797A JP2008233797A JP2009070382A JP 2009070382 A JP2009070382 A JP 2009070382A JP 2008233797 A JP2008233797 A JP 2008233797A JP 2008233797 A JP2008233797 A JP 2008233797A JP 2009070382 A JP2009070382 A JP 2009070382A
Authority
JP
Japan
Prior art keywords
directory
storage
file
storage tier
components
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.)
Granted
Application number
JP2008233797A
Other languages
English (en)
Other versions
JP5537005B2 (ja
Inventor
Mukund Satish Agrawal
ムクンド・サティシュ・アグラワル
Aalop Suresh Shah
アーロップ・スレシュ・シャー
Dilip Madhusudan Ranade
ディリップ・マドゥスダン・ラナデ
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.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of JP2009070382A publication Critical patent/JP2009070382A/ja
Application granted granted Critical
Publication of JP5537005B2 publication Critical patent/JP5537005B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Abstract

【課題】指定されたストレージ階層においてファイル・システム操作を実施するためのシステム及び方法を提供する。
【解決手段】ファイル・システム操作及びパス名を指定する入力を受信できる。パス名は、1つ又は複数のディレクトリ構成要素及び1つのストレージ階層構成要素を含む複数の構成要素を含むことができる。パス名は、1つ又は複数のディレクトリ構成要素によって指定されるディレクトリとストレージ階層構成要素によって指定されるストレージ階層を決定するために解析される。ファイル・システム操作が第1のディレクトリ及び第1のストレージ階層に作用するファイル・システム操作を実行できる。追加の実施形態においては、パス名の構成要素がファイル名構成要素も含むことができる。したがって、ファイル名構成要素によって指定されるファイル名を決定するべくパス名をさらに解析される。ファイル・システム操作は、第1のファイル名、第1のディレクトリ、及び第1のストレージ階層に操作する。
【選択図】図5

Description

本発明は、コンピュータ・ファイル・システムに関する。より詳細に述べれば、本発明は、指定されたストレージ階層においてファイル・システム操作を実施するためのシステム及び方法に関する。
大規模ビジネスやその他の組織は、しばしば厖大な量の、ビジネスの運営に不可欠な重要なデータから、規則に従って維持される電子メール、傾向分析等のために引き出された情報又は履歴情報などに至るまでの多様なタイプのコンピュータ・データをストアする。それらの膨大な量のデータをストアするために、多様なタイプの光学ストレージ・デバイス、ディスク・ドライブ・デバイス、テープ・ドライブ・デバイス等の種々の異なるタイプのストレージ・デバイスが存在する。
異なるタイプのストレージ・デバイスは、性能、信頼性、回復可能性が異なる特性を有する。また異なるタイプのストレージ・デバイスは、それらのコストにおいても大きく変動する。ハイ‐エンド・ストレージ・デバイスは、ロー‐エンドのストレージ・デバイスより、一桁さらにはそれ以上に高価となることもある。結果として、しばしば組織は、異なるタイプのデータを異なるタイプのストレージ・デバイス上にストアする。たとえば、もっとも重要なデータがハイ‐エンド・ストレージ・デバイスにストアされ、あまり重要でないデータがよりロー‐エンド側のストレージ・デバイスにストアされる。
これを達成するために組織は、ストレージ・デバイス又はその他のストレージ・ユニットを、ここでストレージ・クラスと呼ばれることもある複数のストレージ階層に編成することがある。各ストレージ・ユニットは、ストレージ階層の1つに割り当てられる。ストレージ・デバイス又はその他のストレージ・ユニットは、種々の評価基準に従ってストレージ階層にグループ化することができる。たとえばいくつかのシステムにおいては、異なるストレージ階層が、I/O性能、コスト、信頼性、回復可能性、データの可用性といった、特性が異なるストレージ・デバイスを表している。互いに類似の特性を持ったストレージ・デバイスは、同一のストレージ階層に割り当てられる。
1つの例として、組織は、ハイ‐エンド・ストレージ階層、ミッド‐レンジ・ストレージ階層、及びロー‐エンド・ストレージ階層の3つの異なるストレージ階層を定義することができる。リモート・ミラーリング能力や頻繁なポイント‐イン‐タイム・スナップショット能力を備えたハイ‐エンド・ディスク・アレイ等のハイ‐エンド・ストレージ・デバイスは、ハイ‐エンド・ストレージ階層に割り当てられる。あまり頻繁でないポイント‐イン‐タイム・スナップショットを備え、リモート・ミラーリングを備えないミッド‐レンジ・ディスク・アレイ等のミッド‐レンジ・ストレージ・デバイスは、ミッド‐レンジのストレージ階層に割り当てられる。ソフトウエア又はファームウエアRAIDによって管理される低価格ディスク等のロー‐エンド・ストレージ・デバイスは、ロー‐エンド・ストレージ階層に割り当てられる。異なるタイプのデータは、異なるストレージ階層内のストレージ・デバイスにストアされる。たとえば、もっとも重要なデータをハイ‐エンド・ストレージ階層内のストレージ・デバイス上にストアし、もっとも重要度の低いデータをロー‐エンド・ストレージ階層内のストレージ・デバイス上にストアする。
種々のストレージ・デバイス上にストアされるデータは、通常、1つ又は複数のファイル・システムによって管理されるファイルに編成される。データは、ファイル・レベルにおいて異なるストレージ階層に割り当てられる。言い替えると、異なるファイルを異なるストレージ階層に割り当てるように、それぞれのファイルをストレージ階層に割り当てる。したがって、上記の例においては、もっとも重要であると考えられるファイルをハイ‐エンド・ストレージ階層に割り当て、もっとも重要でないと考えられるファイルをロー‐エンド・ストレージ階層割り当てる。
ここには、指定されたストレージ階層に関してファイル・システム操作を実施するためのシステム及び方法の多様な実施態様が開示されている。方法の1つの実施態様によれば、ファイル・システム操作及びパス名を指定する入力が受信される。パス名は、複数の構成要素を含む文字列を含む。これらの構成要素は1つ又は複数のディレクトリ構成要素及び1つのストレージ階層構成要素を含むことができる。文字列は、1つ又は複数のディレクトリ構成要素によって指定されるディレクトリ及びストレージ階層構成要素によって指定されるストレージ階層を決定するために解析される。ファイル・システム操作が実施される。ファイル・システム操作は、第1のディレクトリ及び第1のストレージ階層に操作する。
方法の追加の実施態様においては、パス名の文字列の構成要素が、ファイル名構成要素も含む。したがって、ファイル名構成要素によって指定されるファイル名を決定するべく文字列がさらに解析される。ファイル・システム操作は、第1のファイル名、第1のディレクトリ、及び第1のストレージ階層に操作する。
以下の詳細な説明を添付の図面とともに考察するとき、本発明のより良好な理解を得ることが可能になる。
本発明には、種々の修正及び代替形式が可能であるが、その特定の実施形態を例として図面内に示し、ここで詳細に説明する。しかしながら理解される必要があるが、図面やそれらに対する詳細な説明は、開示されている特定の形式に本発明を限定する意図ではなく、むしろその逆にその意図は、付随する特許請求の範囲によって定義されるとおりの本発明の精神及び範囲内に入るすべての修正、均等、代替を保護するところにある。
ここには、指定されたストレージ階層においてファイル・システム操作を実施するためのシステム及び方法の多様な実施形態が開示されている。このシステムは、複数のストレージ・ユニットを利用する。ここで用いられる場合に、用語「ストレージ・ユニット」は、ストレージ・デバイス又はボリュームを言う。ストレージ・デバイスは、データをストアするように動作可能なデバイスである。ボリュームは、1つ又は複数のストレージ・デバイスによって提供される物理ストレージの論理的なパーティション及び/又は集合体である。ボリュームは、ストレージ・デバイスの全体的なストレージのサブセット(たとえば、全体より小さい)、ストレージ・デバイスのストレージ全体、又は結合された複数のストレージ・デバイスのストレージから形成される。
システムはまた、複数のストレージ階層を定義し、かつ利用し、その際、各ストレージ階層は、1つ又は複数のストレージ・ユニットのセットを表すクラス又はカテゴリである。いくつかの実施形態においては、各ストレージ・ユニットがストレージ階層の1つだけに割り当てられる。他の実施形態においては、ストレージ・ユニットの1つ又は複数が1より多くのストレージ階層に割り当てられる。
種々の実施形態においては、ストレージ・ユニットは、多様な評価基準のいずれかに従ってストレージ階層にグループ化される。たとえば、いくつかの実施形態においては、異なるストレージ階層が、I/O性能、コスト、信頼性、回復可能性、データ可用性等の特性が異なるストレージ・デバイスを表す。互いに類似の特性を備えたストレージ・デバイスは、同一のストレージ階層に割り当てられる。
図1は、3つのストレージ階層200A、200B、200Cが定義された例を示している。ストレージ・ユニット220Aと220Bは、ストレージ階層200Aに割り当てられている。ストレージ・ユニット220C、220D、220E、220Fは、ストレージ階層200Bに割り当てられている。ストレージ・ユニット220Gは、ストレージ階層200Cに割り当てられている。いくつかの実施形態においては、それぞれのストレージ階層に、当該それぞれのストレージ階層を一意的に識別する名前又は識別子を与える。たとえば、ストレージ階層200Aは「tier_A」等の名前を、ストレージ階層200Bは「tier_B」等の名前を、ストレージ階層200Cは「tier_C」等の名前を有することができる。
いくつかの実施形態においては、ストレージ階層200A〜Cが、ストレージ・デバイスのグループ化を表している。たとえば、ストレージ・ユニット220Aと220Bは、互いに類似した特性を有するそれぞれのストレージ・デバイスである。ストレージ・ユニット220C、220D、220E、220Fは、互いに類似した特性を有するそれぞれのストレージ・デバイスであるが、ストレージ・ユニット220Aと220Bによって表されるストレージ・デバイスとは、それらの特性において異なっている。同様に、ストレージ・ユニット220Gは、その特性において他のストレージ・デバイスと異なるストレージ・デバイスである。
他の実施形態においては、ストレージ階層200A〜Cがボリュームのグループ化を表す。たとえば、ストレージ階層200Aのストレージ・ユニット220Aと220Bを、互いに類似の特性を有するそれぞれのボリュームとする。たとえば、それぞれのボリュームを、同一のストレージ・デバイス上のストレージから実装し、又は互いに類似した特性を有する異なるストレージ・デバイスのストレージから実装する。同様にストレージ階層200Bのストレージ・ユニット220C、220D、220E、220Fを、互いに類似する特性を有するそれぞれのボリュームとすることもできる。ストレージ階層200Cのストレージ・ユニット220Gは、その特性において、ストレージ階層200Aと200Bのボリュームと異なるボリュームである。
システムは、ストレージ・ユニット220内にストアされるデータが複数のファイルとして編成される1つ又は複数のファイル・システムを実装することができる。ファイルの少なくとも1つのサブセット内のそれぞれのファイルに対して、それぞれのファイルが1つのストレージ階層に割り当てられ、その際、異なるファイルが異なるストレージ階層に割り当てられる。種々の実施形態においては、ファイルを多様な評価基準のいずれかを基礎としてストレージ階層に割り当てる。いくつかの実施形態においては、各ファイルは、重要度レベル又はビジネス値を有するとして扱われる。たとえば各ストレージ階層が重要度レベル又は重要度レベルの範囲を表すとした場合に、それらのファイルを、それぞれの重要度レベルに基づいてストレージ階層に割り当てる。別の例としては、各ファイルを、それぞれのファイル・タイプ(たとえば、書類、取引記録表、画像、オーディオ・トラック、又はその他のタイプのオブジェクト又はエンティティ)のものとし、それらのファイルを、それらそれぞれのファイル・タイプに基づいてストレージ階層に割り当てる。ファイルが割り当てられるストレージ階層の決定に使用できるその他の評価基準には、ファイルの所有者、ファイルを使用するソフトウエア・アプリケーション、ファイルがアクセスされるI/Oパターン等が含まれる。
種々のファイルに対してのストレージ階層割り当てが、それらのファイルをストアするストレージ・ユニット200を選択するために、使用される。たとえばファイルがストレージ階層200Aに割り当てられる場合に、システムは、ストレージ・ユニット220A又はストレージ・ユニット220Bを選択してそのファイルをストアする。いくつかの実施形態においては、1つ又は複数のファイルがいずれのストレージ階層にも割り当てられないこともある。それらのファイルについては、システムが、それらのファイルのストアに任意のストレージ・ユニット220を選択する。またいくつかの実施形態においては、所定のファイルが割り当てられるストレージ階層に対応する利用可能なストレージ・ユニットがまったくない場合に(たとえば、そのストレージ階層内のすべてのストレージ・ユニットに空き容量がないか、又はオフラインの場合)、そのファイルのストアに別のストレージ階層内のストレージ・ユニットを選択する。
図2は、ここで述べている指定されたストレージ階層においてファイル・システム操作を実施するための方法を実施するように動作可能なコンピュータ・システム90の例示的な実施形態を示している。種々の実施形態において、コンピュータ・システム90は、任意タイプのコンピュータ・システムを含む。
図2の例においてはコンピュータ・システム90が複数のストレージ・デバイス125を含み、各ストレージ・デバイス125がストレージ階層200(たとえば、この例のストレージ階層200A、200B、又は200C)に割り当てられる。したがってこの例においては、ストレージ階層200がストレージ・デバイス125のグループを表す。詳細に述べれば、ストレージ・デバイス125Aと125Bがストレージ階層200Aに割り当てられ、ストレージ・デバイス125Cと125Dがストレージ階層200Bに割り当てられ、ストレージ・デバイス125Eがストレージ階層200Cに割り当てられている。
種々の実施形態においては、任意の数のストレージ・デバイス125が存在可能である。また任意の数のストレージ階層200を定義することができ、任意の望ましい評価基準に従ってストレージ・デバイス125をストレージ階層200に割り当てる。
各ストレージ・デバイス125は任意タイプのストレージ・デバイスを構成し、任意の種類の1つ又は複数のメディアにファイルをストアできる。ストレージ・デバイス125の例には、1つ又は複数の光学ストレージ・デバイスを含むデバイス、1つ又は複数のディスク・ドライブを含むデバイス、1つ又は複数のテープ・ドライブを含むデバイス、1つ又は複数のフラッシュ・メモリ・デバイスを含むデバイス等が含まれる。1つの例として、特定のストレージ・デバイス125は、独立に、又はディスク・ストレージ・システムとして構成される1つ又は複数のディスク・ドライブとして実装される。
コンピュータ・システム90は、1つ又は複数のプロセッサ120を含むことができる。プロセッサ120は、通信バス、有線又は無線ネットワーク、ケーブル接続等を介すといった多様な方法のいずれかによってストレージ・デバイス125と結合される。1つ又は複数のプロセッサ120のそれぞれは、任意タイプのプロセッサを含む。たとえば、いくつかの実施形態においてプロセッサ120は、x86アーキテクチャと互換性を有し、他の実施形態においてはプロセッサ120は、SPARCTMファミリのプロセッサと互換性を有する。
コンピュータ・システム90は、メモリ122をも含む。いくつかの実施形態においては、メモリ122が、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)等の1つ又は複数の形式のランダム・アクセス・メモリ(RAM)を含む。しかしながら他の実施形態においては、メモリ122が、それらに代えて、又は追加してその他の任意のタイプのメモリを含むことができる。メモリ122は、プログラム命令及び/又はデータをストアできる。詳細に述べれば、メモリ122は、ファイル・システム・ソフトウエア205をはじめ、可能性としてはその他の、オペレーティング・システム・ソフトウエア、ネットワーク通信ソフトウエア等のコンピュータ・システムの動作のためのソフトウエアをストアする。1つ又は複数のプロセッサ120は、ストレージ・デバイス125にストアされるファイルを管理する1つ又は複数のファイル・システムを実装するため、ファイル・システム・ソフトウエア205を実行する。またファイル・システム・ソフトウエア205は、ここで述べている、指定されたストレージ階層においてファイル・システム操作を実施するための方法を実施するように実行可能である。方法の多様な実施形態を以下に詳細に説明する。
コンピュータ・システム90は、ユーザ入力を受信するための1つ又は複数の入力デバイス126も含む。入力デバイス(1つ又は複数)126は、キーボード、キーパッド、マイクロフォン、ポインティング・デバイス(たとえば、マウス又はトラックボール)等の種々のタイプの入力デバイスを含む。コンピュータ・システム90は、1つ又は複数のディスプレイ・デバイス128又はその他の、ユーザに対する出力を表示するための出力デバイスも含んでいる。たとえば1つ又は複数のディスプレイ・デバイス128は、LCDスクリーン又はモニタ、CRTモニタ等の情報を表示する任意の種々のタイプのデバイスを含むことができる。
コンピュータ・システム90は、1つ又は複数のネットワークにコンピュータ・システム90を接続するネットワーク接続ハードウエア129も含む。ネットワーク接続ハードウエア129は、ネットワーク(1つ又は複数)にコンピュータ・システム90を、たとえばネットワークのタイプに応じて結合するための任意タイプのハードウエアを含む。
種々の実施形態においては、コンピュータ・システム90は、任意タイプのネットワーク又はネットワークの組み合わせに結合される。たとえば、コンピュータ・システム90は、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、無線ネットワーク、イントラネット、インターネット等のうちの1つ又は複数に結合される。例示的なローカル・エリア・ネットワークは、イーサネット・ネットワーク、ファイバ・ディストリビューテッド・データ・インターフェース(FDDI)ネットワーク、及びトークン・リング・ネットワークなどである。コンピュータ・システム90を、任意タイプの有線又は無線接続メディアを使用して1つ又は複数のネットワークに結合することができる。たとえば有線メディアは、イーサネット、ファイバ・チャンネル、在来電話サービス(POTS)に接続されるモデム等を含む。無線接続メディアは、IEEE 802.11(無線イーサネット)、セルラ・サービスを介したモデム・リンク、衛星リンク等の無線通信プロトコルを使用する無線接続を含む。
図3は、コンピュータ・システム90の別の例示的な実施形態を示している。コンピュータ・システム90は、1つ又は複数のプロセッサ120、ファイル・システム・ソフトウエア205をストアするメモリ122、1つ又は複数のストレージ・デバイス125、1つ又は複数の入力デバイス126、1つ又は複数のディスプレイ・デバイス128を含み、さらにネットワーク接続ハードウエア129等の上で参照して説明した図2に類似のコンポーネントを含む。
いくつかの実施形態においては、ファイル・システム・ソフトウエア205が複数の論理ボリューム212を利用でき、各ボリューム212が1つ又は複数のストレージ・デバイス125のストレージを含む。各ボリューム212は、ストレージ階層200(たとえば、この例のストレージ階層200A又は200B)に割り当てられる。したがって図3の例においては、ストレージ階層200がボリューム212のグループ化を表す。詳細に述べれば、ボリューム212A、212B、212Dがストレージ階層200Aに割り当てられており、ボリューム212Cがストレージ階層200Bに割り当てられている。
種々の実施形態においては、任意の数のボリューム212と任意の数のストレージ・デバイス125がある。また、任意の数のストレージ階層200も定義でき、ボリューム212を任意の望ましい評価基準に従ってストレージ階層200に割り当てる。いくつかの実施形態においては、単一ストレージ・デバイス125上の異なるボリュームが異なるストレージ階層200に割り当てられる。
1つ又は複数のプロセッサ120は、ボリューム212内にストアされるファイルを管理する1つ又は複数のファイル・システムを実装するために、ファイル・システム・ソフトウエア205を実行する。またファイル・システム・ソフトウエア205は、ここで述べている、指定されたストレージ階層においてファイル・システム操作を実施する方法を実施するように実行可能である。
種々の実施形態において、コンピュータ・システム90は、たとえば1つ又は複数といった任意の数のコンピュータを含む。いくつかの実施形態においては、コンピュータ・システム90が、複数のコンピュータを含むことができる。したがって、いくつかの実施形態においては、コンピュータ・システム90の機能を複数のコンピュータにわたって分散させることができる。たとえば、図4は、コンピュータ・システム90が3つのサーバ・コンピュータ92A、92B、92Cからなる実施形態を示している。いくつかの実施形態においては、ファイル・システム・ソフトウエア205を、たとえば各サーバ・コンピュータ92がファイル・システム・ソフトウエア205の各インスタンス又はファイル・システム・ソフトウエア205の各部分を実行するように、これら3つのサーバ・コンピュータ92にわたって分散させることができる。
サーバ・コンピュータ92は、ネットワーク84を通じて接続されている。いくつかの実施形態においては、1つ又は複数のサーバ・コンピュータ90が、ネットワーク84を通じて1つ又は複数のストレージ・デバイス125にアクセスする。たとえば、図4において、ストレージ・デバイス125のうちの1つ又は複数を、ネットワーク・ストレージ・デバイス50A又は50B内に含ませることができる。
ここで図5を参照すると、指定されたストレージ階層においてファイル・システム操作を実施するための方法の1つの実施形態が図示されている。この方法は、コンピュータ・システム90上で実行するファイル・システム・ソフトウエア205によって実施される。
ブロック301に示されているとおり、ファイル・システム操作及びパス名を指定する入力が受信される。種々の実施形態においては、この入力が、多様な種類のファイル・システム操作を指定する。ファイル・システム操作の例には、ディレクトリ内にファイルをリストする操作、新しいファイルを作成する操作、ファイルをコピーする操作、ファイルを修正する操作、ファイルを1つのディレクトリから別のディレクトリに移動させる操作、ファイルの名前を付け替える操作、ファイルの1つ又は複数のプロパティを変更する操作、ファイルを表示する操作等が含まれる。
ここで使用される用語「パス名」は、ファイル・システム内のディレクトリ及び/又はファイルを指定する情報を指す。入力によって指定されるパス名は、複数の構成要素を含むことができる。たとえば、いくつかの実施形態においては、パス名が、各構成要素が文字列の部分文字列となる文字列を含む。これらの構成要素は、1つ又は複数のディレクトリ構成要素及び1つのストレージ階層構成要素を含むことができる。1つ又は複数のディレクトリ構成要素は、ファイル・システム内のディレクトリ、たとえばファイル・システム操作が操作するディレクトリを指定できる。ストレージ階層構成要素は、ファイル・システム操作が操作するストレージ階層を指定できる。
いくつかの実施形態においては、パス名が文字列を含み、区切り文字によって文字列の構成要素を分けることができる。いくつかの実施形態においては、ストレージ階層構成要素を、文字列内の1つ又は複数のディレクトリ構成要素の後に置くことができる。他の実施形態では、ストレージ階層構成要素を、文字列内の1つ又は複数のディレクトリ構成要素の前に置くことができる。
いくつかの実施形態においては、入力によって指定されるパス名を、ユニックス(Unix)スタイルのパス名と類似にできるが、ストレージ階層構成要素も含むことができる。たとえば、いくつかの実施形態において、パス名を次の形式の文字列とすることができる。
/dir1/dir2/st=tier_A
この例においては、「dir1」及び「dir2」がディレクトリ構成要素であり、「st=tier_A」がストレージ階層構成要素である。パス名内の構成要素は、「/」区切り文字によって互いに分けられる。ディレクトリ構成要素は、たとえばディレクトリ階層に従った階層順にディレクトリ構成要素が指定されるファイル・システムのディレクトリ階層内のディレクトリを指定する。この例において、ディレクトリ構成要素が階層的に一緒にされて、「dir1」ディレクトリのサブ‐ディレクトリである「dir2」と名前が付けられたディレクトリを指定する。ストレージ階層構成要素は、システムによって定義されるストレージ階層を、たとえば特定のストレージ階層の名前又は識別子を指定することによって指定する。この例においては、ストレージ階層構成要素が、「tier_A」という名前の付いたストレージ階層を指定する。
他の実施形態においては、パス名を次の形式の文字列とすることができる。
st=tier_A/dir1/dir2
この例においては、同一のディレクトリ(すなわち、「dir2」ディレクトリ)がディレクトリ構成要素のパスによって指定されるが、ストレージ階層の構成要素がディレクトリ構成要素の前に置かれる。いくつかの実施形態においては、ファイル・システム・ソフトウエア205が、いずれの形、たとえばディレクトリ構成要素の前又は後のいずれかにストレージ階層構成要素を備えた形においてパス名が入力されてもよい。
注意を要するが、上記のパス名は例として与えられており、種々の実施形態においては、パス名がこのほかの種々の形式のいずれかを有することができる。詳細に述べれば、パス名のストレージ階層の構成要素は、「st=tiername」の形式以外の形式を有することができる。
いくつかの実施形態においては、301において受信した入力をユーザ入力として受信する。たとえばいくつかの実施形態においては、オペレーティング・システムのユーザ・インターフェース等のユーザ・インターフェースを通じてファイル・システム・ソフトウエア205がユーザ入力を受信する。たとえばいくつかの実施形態においては、ユーザが入力を、テキストとしてオペレーティング・システムのコマンドラインインターフェースに、又はその他の多様なファイル・システム・コマンド等のユーザがファイル・システム操作を指定することを可能にするユーザ・インターフェースに入力できる。その種の実施形態においては、ファイル・システム操作及びパス名の両方を、文字列として指定できる。
他の実施形態においては、入力301は、ファイル・システム・ソフトウエア205によって、ユーザ・インターフェース以外の種々のタイプのインターフェースを通じてを受信される。たとえば、いくつかの実施形態においては、入力を、プログラミング・インターフェースを通じてファイル・システム・ソフトウエア205に渡すことができる。1つの例として、ユーザ・アプリケーション又はプログラムが、関数呼び出し、メソッド呼び出し等のライブラリ呼び出しを通じてファイル・システム・ソフトウエア205に入力を渡すことができる。たとえば、いくつかの実施形態においては、このライブラリ呼び出しが、特定のファイル・システム操作に対応するか、又はそれを指定でき、かつパス名をライブラリ呼び出しのパラメータとして渡すことができる。別の例として、システム‐レベルのアプリケーション又はプログラムが、システム呼び出しを通じてファイル・システム・ソフトウエア205に入力を渡すことができる。別の例として、ファイル・システム・ソフトウエア205の1つのモジュールが、パラメータとしてパス名を渡す特定のファイル・システム操作を起動することによって、ファイル・システム・ソフトウエア205の別のモジュールに入力を渡すことができる。
303として示されているとおり、さらにこの方法は、1つ又は複数のディレクトリ構成要素によって指定されるディレクトリ、及びストレージ階層構成要素によって指定されるストレージ階層を決定するパス名を解析することを含む。たとえば、パス名が文字列を構成するとき、その文字列の別々の構成要素を決定するためにそれを構文解析することによって文字列が解析される。上記の例においては、異なる構成要素の間の区切り文字として「/」文字を探すことによって別々の構成要素が決定される。それらの例においては、いずれの構成要素が文字「st=」を伴って開始しているかを決定することによって、ストレージ階層構成要素を識別できる。ストレージ階層の名前は、文字「st=」に続くストレージ階層構成要素の部分として決定される。したがって、ストレージ階層構成要素によって指定されるストレージ階層を、指定されたストレージ階層名を有するストレージ階層として識別できる。ディレクトリ構成要素によって指定されるディレクトリは、1つ又は複数のディレクトリ構成要素によって階層的に指定されるディレクトリとして識別できる。
305に示されているとおり、さらにこの方法は、パス名内に指定されたディレクトリ及びストレージ階層に操作するファイル・システム操作の実行を含む。ファイル・システム操作は、たとえばファイル・システム操作のタイプに応じ、種々の方法のいずれかに従ってディレクトリやストレージ階層を操作する。たとえばストレージ階層が、指定されたディレクトリにファイル・システム操作を実施するストレージ階層コンテキストを示す。
例示として述べるが、図6〜8に示されている例を考察する。このシステムは、2つのストレージ階層200Aと200Bを含むと仮定する。複数のファイル230内の各ファイル230は、これら2つのストレージ階層の1つに割り当てられる。図6に示されているとおり、このファイル・システムは、種々のディレクトリ600が階層的に編成されるディレクトリ階層又はツリーを含む。たとえば、ディレクトリ階層は、「directory_A」という名前が付けられたルート・ディレクトリ600A、「directory_B」という名前が付けられたルート・ディレクトリ600Aのサブ‐ディレクトリであるディレクトリ600B、「directory_D」という名前が付けられたディレクトリ600Bのサブ‐ディレクトリであるディレクトリ600D等々を含む。図6に図示されているファイル230のそれぞれは、ディレクトリ階層の中のディレクトリ内に含まれる。たとえば、ファイル230C、230D、230L、230Tは「directory_G」という名前が付けられたディレクトリ600G内に含められ、ファイル230A、230E、230F、230N、及び230Pは「directory_F」という名前が付けられたディレクトリ600F内に含められる。(図の簡略化のために、他のディレクトリ内のファイル230を図示していない。)
図6はまた、ディレクトリ600F及び600G内のファイル230のそれぞれが割り当てられることになるストレージ階層も示している。たとえば、ディレクトリ600G内のファイル230Cと230D及びディレクトリ600F内のファイル230A、230E、230Fは、ストレージ階層200Aに割り当てられる。ディレクトリ600G内のファイル230Lと230T、及びディレクトリ600F内のファイル230Nと230Pは、ストレージ階層200Bに割り当てられる。
たとえば図7は、システムがたとえば5つのストレージ・ユニット220A〜220Eを含む実施形態を示しており、そのストレージ・ユニットは、種々のファイル230がストアされるストレージ・デバイス又はボリュームのいずれかである。ストレージ・ユニット220Aと220Bは、名前「tier_A」を有するストレージ階層200Aに割り当てられる。ストレージ・ユニット220C、220D、220Eは、名前「tier_B」を有するストレージ階層200Bに割り当てられる。図示されているとおり、ファイル230A、230C、230Dは、ストレージ・ユニット220A内にストアされ、ファイル230Eと230Fは、ストレージ・ユニット220B内にストアされる。したがって、ファイル230C、230D、230A、230E、230Fのそれぞれが、ストレージ階層200Aに割り当てられたストレージ・ユニット220内にストアされる。同様にファイル230L、230T、230N、230Pのそれぞれは、ストレージ階層200Bに割り当てられたストレージ・ユニット220内にストアされる。たとえば図7に図示されているとおり、ファイル230Lがストレージ・ユニット220C内にストアされ、ファイル230Nと230Pがストレージ・ユニット220D内にストアされ、ファイル230Tがストレージ・ユニット220E内にストアされる。
ここで、図8に図示されている、ユーザがファイル・システム・コマンドを入力する例示的なユーザ・インターフェース610を考える。ユーザ・インターフェース610Aの中では、ユーザが文字列「ls/directory_A/directory_C/directory_F」を入力する。この例において「ls」は、指定されたディレクトリ「/directory_A/directory_C/directory_F」のディレクトリ・リスティングの表示をファイル・システムに要求するファイル・システム・コマンドである。図示されているとおり、ファイル・システムは、指定されたディレクトリ内のすべてのファイル、すなわちファイル230A、230E、230F、230N、230Pを表示する(図6参照)。この例において、ユーザによって入力されるパス名は、ストレージ階層構成要素を含まず、このコマンドは、従来技術のユニックス(Unix)システムの「ls」ファイル・システム・コマンドと類似に操作する。
しかしながらユーザ・インターフェース610Bにおいては、ユーザが文字列「ls/directory_A/directory_C/directory_F/st=tier_A」を入力する。したがってこの例においては、ユーザによって入力されるパス名が、ストレージ階層200Aを指定する。したがって、この場合の「ls」コマンドは、ディレクトリ「/directory_A/directory_C/directory_F」及びストレージ階層200Aの両方を操作する。この場合、指定されたストレージ階層が、「ls」コマンドに対してコンテキスト上の意味を与え、ファイル・システム・ソフトウエア205に、ストレージ階層200Aに割り当てられたディレクトリ600F(「/directory_A/directory_C/directory_F」)内のファイルだけがリストされるべきであることを知らせる。したがって、表示出力614B内に示されているとおり、ファイル230A、230E、230F(ストレージ階層200Aに割り当てられている)だけが示され、ファイル230Nと230P(ストレージ階層200Bに割り当てられている)は示されない。
図9は、指定されたストレージ階層においてファイル・システム操作を実施するための方法の別の実施形態を示している。
321において、ファイル・システム操作及びパス名を指定する入力が受信されるが、このパス名は複数の構成要素を含む。それらの構成要素は、1つ又は複数のディレクトリ構成要素、ファイル名構成要素、ストレージ階層構成要素を含む。
323においては、1つ又は複数のディレクトリ構成要素によって指定されるディレクトリ、ファイル名構成要素によって指定されるファイル名、ストレージ階層構成要素によって指定されるストレージ階層を決定するためにパス名が解析される。
325においては、ファイル名、ディレクトリ、ストレージ階層を操作するファイル・システム操作が実施される。
したがって図9の方法は、図8の方法と類似に動作するが、この実施形態においては、入力内に指定されるパス名がファイル名も含む。1つ又は複数のディレクトリ構成要素、1つのファイル名構成要素、ストレージ階層構成要素を含むパス名の1つの例は、次の形式の文字列になる。
/dir1/dir2/st=tier_A/filename
1つ又は複数のディレクトリ構成要素、1つのファイル名構成要素、ストレージ階層構成要素を含むパス名の別の例は、次の形式の文字列になる。
st=tier_A/dir1/dir2/filename
ファイル・システム操作は、たとえばファイル・システム操作のタイプに応じ、種々の方法のいずれかにおいてファイル名、ディレクトリ、ストレージ階層を操作する。たとえばストレージ階層は、指定されたディレクトリ内の指定されたファイルに対してファイル・システム操作を実施するコンテキストのストレージ階層を示す。1つの例として、ファイル・システム操作は、新しく作成されたファイルが指定されたストレージ階層に割り当てられるように、指定されたディレクトリ内に指定されたファイル名を有するファイルを作成するべく動作する。
例示として、図10に示されている例について考える。システムは、図6及び7を参照して上で述べたとおりに構成されるものとする。ユーザ・インターフェース610に示されているとおり、ユーザがテキスト612を入力する。
mv /directory_A/directory_B/directory_D/directoryG/filenameC
/directoryA/directoryC/directoryF/st=tier_B/filenameC
指定されたテキストは、ディレクトリ600G(名前「/directory_A/directory_B/directory_D/directoryG」)内のファイル230C(名前「filenameC」)がディレクトリ600F(名前「/directoryA/directoryC/directoryF」)に移動され、ストレージ階層200B(名前「st=tier_B」)に割り当てられるようにユーザが希望していることを示す。したがって、このコマンドを実行すると、ファイル・システム・ソフトウエア205が、ファイル230Cをディレクトリ600Gからディレクトリ600Fに移動させる。ファイル230Cが以前にストレージ階層200Aに割り当てられていることから、ファイル・システム・ソフトウエア205は、ストレージ階層200Bへのファイル230Cの再割り当ても行う。ストレージ階層200Bに対するファイル230Cの再割り当てにおいては、ファイル・システム・ソフトウエア205がファイルをストレージ・ユニット220Aからストレージ階層200Bに割り当てられたストレージ・ユニット220のうちの1つに移動させる。たとえば、図10においては、ファイル230Cがストレージ・ユニット220Cに移動している。したがって、たとえばストレージ階層200がストレージ・デバイス125のグループを表す実施形態においては、ファイル・システム・ソフトウエア205がファイル230Cを1つのストレージ・デバイス125から別のそれに移動する。同様に、ストレージ階層200がボリューム212のグループを表す実施形態においては、ファイル・システム・ソフトウエア205がファイル230Cを1つのボリューム212から別のそれに移動する。
図11は、ファイル・システムのコマンドが、指定されたファイル名、ディレクトリ、ストレージ階層を操作する別の例を示している。この例においては、ユーザが、ディレクトリ600Fへ進んだ後に次のテキスト612を入力する。
cat filenameA >
/directory_A/directory_B/directory_D/directoryG/st=tier_B/newfilename
指定されたテキストは、ユーザがファイル230A(名前「filenameA」)から「newfilename」という名前の新しいファイル内にデータが運ばれることを希望していることを示し、それにおいて新しいファイルはディレクトリ600G(名前「/directory_A/directory_B/directory_D/directoryG」)内に作成され、かつ新しいファイルはストレージ階層200B(名前「tier B」)に割り当てられる。したがって、ファイル・システム・ソフトウエアは、ファイル230Aからのデータを備えた新しいファイル230Vをディレクトリ600G内に作成し、その新しいファイル230Vをストレージ階層200Bに割り当てる。新しいファイル230Vがストレージ階層200Bに割り当てられることから、そのファイルは、ストレージ・ユニット220C、220D、又は220Eのうちの1つにストアされる。たとえば、図11においては、新しいファイル230Vがストレージ・ユニット220E内にストアされている。
この方法の別の実施形態においては、ファイル・システム・ソフトウエア205に対する入力が、第1のパス名及び第2のパス名の両方を指定できる。第1のパス名は、1つ又は複数のディレクトリ構成要素、1つのファイル名構成要素、1つのストレージ階層構成要素を含む第1の文字列を構成できる。第2のパス名は、1つ又は複数のディレクトリ構成要素及び1つのファイル名構成要素を含む第2の文字列を含む。第1のパス名と第2のパス名は、いずれの順序で指定されてもよい。この実施形態においては、ファイル・システム操作が、第1のファイル名、第1のディレクトリ、第2のファイル名、第2のディレクトリ、ストレージ階層を操作する。追加の実施形態においては、第2のパス名もまたストレージ階層を含み、この方法が、第1のファイル名、第1のディレクトリ、第2のファイル名、第2のディレクトリ、第1のストレージ階層、第2のストレージ階層を操作する。
たとえば、1つの実施形態においてユーザは、次のテキストを入力する。
mv /dir1/dir2/st=tiername1/*.txt
/dir3/st=tiername2
この例においては、第1のパス名内のファイル名がワイルドカード(「*.txt」)として与えられている。このコマンドの処理において、ファイル・システム・ソフトウエア205は、ストレージ階層「tiername1」に割り当て済みの拡張子「.txt」を有するディレクトリ「/dir1/dir2」内の各ファイルをディレクトリ「/dir3」に移動させ、ファイルをストレージ階層「tiername2」に再割り当てする。
したがって、いくつかの実施形態においては、たとえばユーザ又はアプリケーションが、特定のストレージ階層をパス名内の構成要素として指定することによって、ファイル・システム・コマンド又はファイル・システム操作が特定のストレージ階層に関連して実行される要求が可能となるように、ストレージ階層情報をファイル・システムの名前空間と統合できる。
「/dir1/dir2/st=tiername」形式のパス名は、このパス名があたかも「st=tiername」という名前の付いたディレクトリ「/dir1/dir2」のサブ‐ディレクトリが存在するかのような見かけを有することから、ここではストレージ階層ディレクトリとも呼ばれている。しかしながら、いくつかの実施形態においては、ディレクトリ階層内に「st=tiername」という名前の付いた実際のディレクトリが存在しなくてもよい。たとえば、前述したとおり、ユーザは、「ls/dir1/dir2/st=tiername」等のコマンドラインテキストを入力できる。「st=tiername」という名前の実際のディレクトリからファイル・リスティングを検索する代わりに、ファイル・システム・ソフトウエア205は、たとえば、指定されたストレージ階層にいずれのファイルが割り当てられているかを決定するべく「/dir1/dir2」ディレクトリについてのディレクトリ情報を解析することによって、及び/又はこのディレクトリ内にストアされているファイルについてのファイル情報を解析することによってファイルのリスティングを動的に生成できる。
いくつかの実施形態においては、ストレージ階層ディレクトリがディレクトリ階層内の実際のディレクトリとして存在しない場合であっても、ユーザが現在のディレクトリを変更してストレージ階層ディレクトリ内に移動するべく操作可能にできる。たとえば、ユーザは、「cd /dir1/dir2/st=tiername」等のコマンドラインテキストを入力して現在のディレクトリを指定のストレージ階層ディレクトリに変更できる。その後ユーザがコマンドラインテキスト「ls」を入力すると、ユーザが「ls/dir1/dir2/st=tiername」をタイプした場合と同様にファイル・システムがディレクトリ「/dir1/dir2」内の「tiername」という名前のストレージ階層に割り当て済みのファイルだけを表示できる。
別の例として、マウント・ポイント・レベルにおいてユーザに対してストレージ階層ディレクトリを可視化することができる。たとえば、ユーザは、「/st=t1」としてファイル・システムをマウントし、コマンドラインテキスト「cd/st=t1/dir1」を入力できる。その後ユーザがコマンドラインテキスト「ls」を入力すると、ファイル・システムは、ディレクトリ「/dir1」内の「t1」という名前のストレージ階層に割り当て済みのファイルだけを表示できる。ユーザが、続いて「dir1」のサブ‐ディレクトリに、たとえば「cd dir2」を入力することによって移動した場合にストレージ階層のコンテキストを維持できる。たとえば、その後ユーザが再び「ls」を入力すると、ファイル・システムは、ディレクトリ「/dir1/dir2」内の「t1」という名前のストレージ階層に割り当て済みのファイルだけを表示できる。同様にユーザが、絶対パスを指定せずに別のタイプのファイル・システム・コマンドを指定した場合には、そのコマンドは、現在のディレクトリ内の「t1」という名前のストレージ階層に割り当て済みのファイルだけに操作する。
マウント・ポイント・レベルにおいて指定されたストレージ階層ディレクトリについて、ストレージ階層のコンテキスト情報を、ファイル・システム操作のためにストレージ階層のコンテキストを決定する必要があるときにそれの効率的な獲得が可能となるようにストアできる。たとえば、いくつかの実施形態においては、ストレージ階層のコンテキスト情報を、マウント済みのファイル・システムに関する情報を含む上位ブロック内にストアできる。
いくつかの実施形態においては、ストレージ階層ディレクトリのための種々のディレクトリ・リスティングを、たとえばファイル・システム操作によって必要とされるときにそれらがすでに利用可能となっているように、あらかじめ演算してキャッシュしておくことができる。ファイル・システムの修正がストレージ階層ディレクトリを通じて行われるとき、ファイル・システム・ソフトウエア205は、最初に実際のディレクトリ階層内のファイル・システムのディレクトリ情報を修正し、続いてそのストレージ階層ディレクトリについてのキャッシュ済みのディレクトリ情報を修正できる。これは、ストレージ階層のディレクトリ情報が、実際のディレクトリ階層内のディレクトリ情報に先行することを防止できる。
いくつかの実施形態においては、ストレージ階層情報を、メタ‐データとして各ファイルとともにストアできる。他の実施形態においては、それぞれのファイルのストレージ階層情報を、そのファイルの親ディレクトリ内のファイルの名前とともにストアできる。これは、ストレージ階層情報が親ディレクトリから獲得され、したがって各ファイルのメタ‐データにアクセスする必要性を回避可能なことから、所定のディレクトリ内のいずれのファイルが所定のストレージ階層に属するかの決定速度を改善できる。
他の実施形態においては、このストレージ階層ディレクトリのコンセプトを、複数のストレージ階層についてのストレージ階層コンテキスト情報を含むように拡張できる。たとえばユーザは、ファイル・システムに、ディレクトリ「/dir1/dir2」内のストレージ階層「t1」又はストレージ階層「t2」のいずれかに属するすべてのファイルの表示を要求するために「ls/dir1/dir2/st=(t1 OR t2)」を入力できる。別の例としては、ユーザがファイル・システムに、ディレクトリ「/dir1/dir2」内のストレージ階層「t1」に属していないすべてのファイルの表示を要求するために「ls/dir1/dir2/‘st=(NOT t1)」を入力できる。
いくつかの実施形態においては、NFS又はCIFS等のプロトコルを通じてリモート・マシンからファイルを特定のストレージ階層内に置くか、又は移動できる。たとえば、ユーザは、「mv」コマンド又は他のファイル・システム操作及びリモート・ファイル・システム内のパス名を発行することによってリモート・マシン上のリモート・ファイル・システム内のファイルが異なるストレージ階層に移動されることを指定でき、それにおいてはパス名がストレージ階層構成要素を含む。
種々の実施形態において、ストレージ階層情報とファイル・システムの名前空間の統合は、多様なタイプのソフトウエア・アプリケーションがストレージ階層情報を使用することを、その他の方法を用いてはそれが容易に可能でないと見られる場合に可能にできる。たとえば、ユーザが「/home」内の所定のストレージ階層「t1」に割り当て済みのファイルだけのバックアップを希望している場合のバックアップ・ソフトウエア・アプリケーションについて考察する。ユーザは、単純にバックアップ・ソフトウエア・アプリケーションに、ストレージ階層ディレクトリ「/st=t1/home」又は「/home/st=t1」のバックアップを要求すればよい。これは、希望されたファイルだけがバックアップされることを保証できる。また、ストレージ階層名もディレクトリ名の形式で自動的にストアできる。復元の間は、復元パス名が「/st=t1/home」であることから、ファイル・システムは、それらすべてのファイルがストレージ階層「t1」内に作成される必要があることを理解できる。したがって、既存のバックアップ製品が、有意の変更を必要とすることなくストレージ階層情報を使用できる。同様に、他のタイプの、検索ツール、分類ツール、又はデータのライフサイクル管理を実行するアプリケーション等のソフトウエア・アプリケーションは、たとえば指定されたストレージ階層におけるファイルの割り付け、指定されたストレージ階層内のファイルのリスティング、指定されたストレージ階層に対するファイルの再割り当て等の操作を実施するために、ストレージ階層構成要素を含むパス名を利用することによって容易にストレージ階層情報を使用できる。
いくつかの実施形態における潜在的な便益の別の例として、ユーザ又はアプリケーションが、特定のストレージ階層又はストレージ階層のセットに属するファイルの望ましい作業セットを知っていると仮定する。たとえばユーザのアプリケーションが、ストレージ階層「t1」又は「t2」に属するファイルだけを要求しているとする。伝統的な「/dir1」等の作業ディレクトリの使用に代えて、ユーザは、作業ディレクトリを「/st=(t1 OR t2)/dir1」にセットすることが可能である。ディレクトリ読み出しレベルにおいてエントリのフィルタリングが生じる実施形態においては、ストレージ階層「t1」又は「t2」のいずれにも属さないファイルがDNLCキャッシュ内の空間を不必要に占有しないようにすることができる。またキャッシュ済みディレクトリ・ブロックは、それらが占有する空間がより少なくなるようにファイル・システムによって生成される。ユーザの観点からは、あまり混み合っていない名前空間を伴って自分のデータのより良好な眺めを得ることができる。
いくつかの実施形態においては、システムのために定義されるストレージ階層が、階層編成を有することができる。たとえば、複数のボリュームがセットを形成し、複数のセットが階層を形成し、複数の階層がクラスを形成する等々といったことができる。その種の階層は、ディレクトリ・ツリー構造と類似にそれを表現することによってシステム内に組み込むことができる。したがって、たとえばアプリケーションが、ファイル「dir1/file1」がクラス「Gold」、階層「t1」、ボリューム「v1」に割り付けられることを希望する場合に、そのアプリケーションは、パス名「class=Gold/tier=t1/volume=v1/dir1/file1」を用いてそれが作成されることを指定できる。アプリケーションが、正確な階層及びボリュームに関心を有してなく、クラスだけに関心を有する場合には、そのアプリケーションは、代わりに「class=Gold/dir1/file1」等のパス名を指定できる。
いくつかの実施形態においては、システムが、複数のストレージ階層にわたってファイルを分割するべく操作できることがある。これば、たとえば非常に大きいデータベース・ファイルの場合に有用となる。分割ファイルは、ストレージ階層の結合を通じて扱うことができる。たとえばユーザが、ストレージ階層「t1」又は「t2」のいずれかにファイルが部分的に配置できることという指定を希望する場合には、ユーザは、「st=(t1 OR t2)」を用いてパス名を修飾できる。ファイルは、「t1」のためのストレージ階層ディレクトリ及び「t2」のためのストレージ階層ディレクトリの両方において可視化できる。所定のストレージ階層内のファイルのレンジだけの可視化が希望されている場合には、オリジナルのファイル名にオフセット長の組み合わせを追加することによって対応するストレージ階層ディレクトリ内のファイル名を形成できる。
注意を要するが、多様な実施形態は、コンピュータ‐アクセス可能ストレージ・メディア上における、以上の説明に従って実装される命令及び/又はデータの受信、送信、又はストアをさらに含むことができる。概して言えば、コンピュータ‐アクセス可能ストレージ・メディアは、使用中にコンピュータに命令及び/又はデータを提供するべくコンピュータによってアクセス可能な任意のストレージ・メディアを含む。たとえば、コンピュータ‐アクセス可能ストレージ・メディアは、磁気又は光学メディア、たとえばディスク(固定又はリムーバブル)、テープ、CD‐ROM、DVD‐ROM、CD‐R、CD‐RW、DVD‐R、DVD‐RW等のストレージ・メディアを含むことができる。さらにストレージ・メディアは、ユニバーサル・シリアル・バス(USB)インターフェース等の周辺インターフェースを介してアクセス可能なRAM(たとえば同期ダイナミックRAM(SDRAM)、ラムバス(Rambus)DRAM(RDRAM)、スタティックRAM(SRAM)等)、ROM、フラッシュ・メモリ、不揮発性メモリ(たとえばフラッシュ・メモリ)等の揮発性又は不揮発性メモリ・メディアを含むことができる。いくつかの実施形態においては、コンピュータが、ネットワーク及び/又は無線リンク等の通信手段を介してストレージ・メディアにアクセスできる。
以上、実施形態をかなり詳細に説明してきたが、上記の開示が完全に認識された後は、多数の変形及び修正が当業者に明らかになるであろう。特許請求の範囲には、その種の変形及び修正をすべて包含するべく解釈されることが意図されている。
3つのストレージ階層が定義された例を図示した説明図である。 指定されたストレージ階層においてファイル・システム操作を実施するための方法を実装するべく動作可能なコンピュータ・システムの例示的な実施形態を図示した説明図である。 コンピュータ・システムの別の例示的な実施形態を図示した説明図である。 コンピュータ・システムが3つのサーバ・コンピュータを含む実施形態を図示した説明図である。 指定されたストレージ階層においてファイル・システム操作を実施するための方法の1つの実施形態を図示した説明図である。 種々のディレクトリが階層的に編成されるディレクトリ階層又はツリーを図示した説明図である。 システムが、2つのストレージ階層にグループ化された5つのストレージ・ユニットを含む例を図示した説明図である。 パス名がストレージ階層構成要素を含む場合のパス名に対してファイル・システム操作が実施されることをユーザが要求している例を図示した説明図である。 指定されたストレージ階層においてファイル・システム操作を実施するための方法の別の実施形態を図示した説明図である。 パス名がストレージ階層構成要素を含む場合のパス名に対してファイル・システム操作が実施されることをユーザが要求している追加の例を図示した説明図である。 パス名がストレージ階層構成要素を含む場合のパス名に対してファイル・システム操作が実施されることをユーザが要求している追加の例を図示した説明図である。
符号の説明
50A ネットワーク・ストレージ・デバイス
50B ネットワーク・ストレージ・デバイス
84 ネットワーク
90 コンピュータ・システム
92 サーバ・コンピュータ
92A サーバ・コンピュータ
92B サーバ・コンピュータ
92C サーバ・コンピュータ
120 プロセッサ
122 メモリ
125 ストレージ・デバイス
126 入力デバイス
128 ディスプレイ・デバイス
129 ネットワーク接続ハードウエア
200 ストレージ階層
205 ファイル・システム・ソフトウエア
212 論理ボリューム、ボリューム
220 ストレージ・ユニット
230 ファイル
230V ファイル、新しいファイル
600 ディレクトリ
610 ユーザ・インターフェース
612 テキスト
614B 表示出力

Claims (20)

  1. ファイル・システム操作及び第1のパス名を指定する入力であって、前記第1のパス名が複数の構成要素を含み、前記構成要素が1つ又は複数のディレクトリ構成要素及び1つのストレージ階層構成要素を含む入力を受信するステップと、
    前記1つ又は複数のディレクトリ構成要素によって指定される第1のディレクトリ及び前記ストレージ階層構成要素によって指定される第1のストレージ階層を決定するため前記第1のパス名を解析するステップと、
    前記ファイル・システム操作を実行し、前記ファイル・システム操作が前記第1のディレクトリ及び前記第1のストレージ階層を操作するステップと、
    を含む方法を実装するため実行可能なプログラム命令をストアしているコンピュータ‐アクセス可能ストレージ・メディア。
  2. 前記第1のパス名は、前記複数の構成要素を含む文字列を構成し、
    前記第1のパス名を解析するステップは、前記1つ又は複数のディレクトリ構成要素によって指定される前記第1のディレクトリ及び前記ストレージ階層構成要素によって指定される前記第1のストレージ階層を決定するため前記文字列を解析することを含む、
    請求項1に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  3. 前記第1のストレージ階層は、複数のストレージ・ユニットのグループ化を表し、前記ファイル・システム操作は、前記第1のストレージ階層内の前記ストレージ・ユニットのうちの1つ又は複数を操作する、
    請求項1に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  4. 前記第1のストレージ階層の前記ストレージ・ユニットのそれぞれは、
    ボリューム、
    物理ストレージ・デバイスのうちの1つを含む、
    請求項3に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  5. 前記第1のディレクトリは複数のファイルを含み、前記第1のディレクトリ内の各ファイルは複数のストレージ階層のうちの1つに割り当てられ、前記複数のストレージ階層は前記第1のストレージ階層を含み、前記ファイルのうちの少なくとも1つは前記第1のストレージ階層に割り当てられ、かつ
    前記ファイル・システム操作は、前記第1のディレクトリ内の前記第1のストレージ階層に割り当て済みの前記ファイルをリストするため動作する、
    請求項1に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  6. 前記第1のパス名の前記構成要素は、ファイル名構成要素も含み、
    前記第1のパス名は、さらに、前記ファイル名構成要素によって指定される第1のファイル名を決定するため解析され、かつ
    前記ファイル・システム操作は、前記第1のファイル名、前記第1のディレクトリ、及び前記第1のストレージ階層を操作する、
    請求項1に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  7. 前記ファイル・システム操作は、前記第1のディレクトリ内に前記第1のファイル名を有するファイルを、前記ファイルが前記第1のストレージ階層に割り当てられるように作成するために操作する、
    請求項6に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  8. 前記入力は第2のパス名も指定し、前記第2のパス名は、第2のディレクトリ及び第2のファイル名を指定するファイル名構成要素を指定する1つ又は複数のディレクトリ構成要素を含み、
    前記方法は、前記第2のディレクトリ及び前記第2のファイル名を決定するため前記第2のパス名を解析するステップをさらに含むプログラム命令によって実装され、
    前記ファイル・システム操作は、前記第1のファイル名、前記第1のディレクトリ、前記第2のファイル名、前記第2のディレクトリ、前記第1のストレージ階層を操作する、
    請求項6に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  9. 前記第2のファイル名は、前記第2のディレクトリ内のファイルを識別し、
    前記ファイル・システム操作は、前記ファイルを、前記第2のディレクトリから前記第1のディレクトリへ、前記ファイルが前記第1のファイル名に名前が付け替えられ、かつ前記第1のストレージ階層に割り当てられるように移動するため動作する、
    請求項8に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  10. 前記入力は、オペレーティング・システムのユーザ・インターフェースを通じ、ユーザ入力として受信される、
    請求項1に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  11. 前記第1のパス名は、前記複数の構成要素を含む文字列を構成し、
    前記文字列の前記構成要素のそれぞれは、区切り文字によって分離される、
    請求項1に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  12. 前記第1のパス名は、前記複数の構成要素を含む文字列を構成し、
    前記ストレージ階層構成要素は、前記文字列内の前記1つ又は複数のディレクトリ構成要素の後に配置される、
    請求項1に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  13. 前記第1のパス名は、前記複数の構成要素を含む文字列を構成し、
    前記ストレージ階層構成要素は、前記文字列内の前記1つ又は複数のディレクトリ構成要素の前に配置される、
    請求項1に記載のコンピュータ‐アクセス可能ストレージ・メディア。
  14. 1つ又は複数のプロセッサと、
    プログラム命令をストアするメモリとを含み、
    前記プログラム命令が、前記1つ又は複数のプロセッサによって、
    ファイル・システム操作及び第1のパス名を指定する入力であって、前記第1のパス名が複数の構成要素を含み、前記構成要素が1つ又は複数のディレクトリ構成要素及び1つのストレージ階層構成要素を含む入力を受信するステップと、
    前記1つ又は複数のディレクトリ構成要素によって指定される第1のディレクトリ及び前記ストレージ階層構成要素によって指定される第1のストレージ階層を決定するため前記第1のパス名を解析するステップと、
    前記ファイル・システム操作を実行し、前記ファイル・システム操作が前記第1のディレクトリ及び前記第1のストレージ階層を操作するステップと、
    を含む方法を実施するため実行可能であるシステム。
  15. 前記第1のパス名は、前記複数の構成要素を含む文字列を構成し、
    前記第1のパス名を解析するステップは、前記1つ又は複数のディレクトリ構成要素によって指定される前記第1のディレクトリ及び前記ストレージ階層構成要素によって指定される前記第1のストレージ階層を決定するため前記文字列を解析することを含む、
    請求項14に記載のシステム。
  16. 前記第1のストレージ階層は、複数のストレージ・ユニットのグループ化を表し、前記ファイル・システム操作は、前記第1のストレージ階層内の前記ストレージ・ユニットのうちの1つ又は複数を操作する、
    請求項14に記載のシステム。
  17. 前記第1のストレージ階層の前記ストレージ・ユニットのそれぞれは、
    ボリューム、
    物理ストレージ・デバイスのうちの1つを含む、
    請求項14に記載のシステム。
  18. 前記第1のパス名の前記構成要素は、ファイル名構成要素も含み、
    前記第1のパス名は、さらに、前記ファイル名構成要素によって指定される第1のファイル名を決定するため解析され、
    前記ファイル・システム操作は、前記第1のファイル名、前記第1のディレクトリ、前記第1のストレージ階層を操作する、
    請求項14に記載のシステム。
  19. ファイル・システム操作及び第1のパス名を指定する入力であって、前記第1のパス名が複数の構成要素を含み、前記構成要素が1つ又は複数のディレクトリ構成要素及び1つのストレージ階層構成要素を含む入力を受信するステップと、
    前記1つ又は複数のディレクトリ構成要素によって指定される第1のディレクトリ及び前記ストレージ階層構成要素によって指定される第1のストレージ階層を決定するため前記第1のパス名を解析するステップと、
    前記ファイル・システム操作を実行し、前記ファイル・システム操作が前記第1のディレクトリ及び前記第1のストレージ階層を操作するステップと、
    を含む方法。
  20. 前記第1のストレージ階層は、複数のストレージ・ユニットのグループ化を表し、前記ファイル・システム操作は、前記第1のストレージ階層内の前記ストレージ・ユニットのうちの1つ又は複数を操作する、
    請求項19に記載の方法。
JP2008233797A 2007-09-11 2008-09-11 指定のストレージ階層においてファイル・システム操作を実施するためのシステム及び方法 Active JP5537005B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/853,121 2007-09-11
US11/853,121 US8200719B2 (en) 2007-09-11 2007-09-11 System and method for performing a file system operation on a specified storage tier

Publications (2)

Publication Number Publication Date
JP2009070382A true JP2009070382A (ja) 2009-04-02
JP5537005B2 JP5537005B2 (ja) 2014-07-02

Family

ID=40042714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008233797A Active JP5537005B2 (ja) 2007-09-11 2008-09-11 指定のストレージ階層においてファイル・システム操作を実施するためのシステム及び方法

Country Status (4)

Country Link
US (1) US8200719B2 (ja)
EP (1) EP2037379B1 (ja)
JP (1) JP5537005B2 (ja)
CN (1) CN101393561B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022220523A1 (ko) * 2021-04-15 2022-10-20 계명대학교 산학협력단 블록 체인 기반의 기업 네트워크를 이용하여 접근 가능한 정보를 관리하는 분산 저장 방법 및 장치

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011045831A1 (en) * 2009-10-13 2011-04-21 Hitachi,Ltd. Storage apparatus and its control method
KR20110069519A (ko) * 2009-12-17 2011-06-23 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
US8843459B1 (en) * 2010-03-09 2014-09-23 Hitachi Data Systems Engineering UK Limited Multi-tiered filesystem
US9063656B2 (en) 2010-06-24 2015-06-23 Dell Gloval B.V.—Singapore Branch System and methods for digest-based storage
US20120011329A1 (en) * 2010-07-09 2012-01-12 Hitachi, Ltd. Storage apparatus and storage management method
US9165015B2 (en) * 2010-07-29 2015-10-20 International Business Machines Corporation Scalable and user friendly file virtualization for hierarchical storage
US9235588B1 (en) * 2010-12-29 2016-01-12 Symantec Corporation Systems and methods for protecting deduplicated data
TWI483171B (zh) * 2011-03-10 2015-05-01 Chi Mei Comm Systems Inc 檔案管理系統及方法
US8904121B2 (en) * 2011-09-22 2014-12-02 Hitachi, Ltd. Computer system and storage management method
CN103176861A (zh) * 2011-12-26 2013-06-26 富泰华工业(深圳)有限公司 用于数据备份的存储系统及备份方法
US10210175B2 (en) * 2012-09-28 2019-02-19 Oracle International Corporation Techniques for lifecycle state management and in-database archiving
US9524300B2 (en) * 2013-03-14 2016-12-20 Microsoft Technology Licensing, Llc Heterogenic volume generation and use system
CN104537017B (zh) * 2014-12-18 2018-05-04 华为技术有限公司 一种基于路径的文件搜索方法及装置
US10095701B1 (en) * 2015-09-30 2018-10-09 EMC IP Holding Company LLC Translation-based name node configuration for object access in a multi-tier storage system
US10733142B1 (en) * 2017-09-30 2020-08-04 EMC IP Holding Company LLC Method and apparatus to have snapshots for the files in a tier in a de-duplication file system
US11669318B2 (en) * 2021-05-28 2023-06-06 Oracle International Corporation Rapid software provisioning and patching

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03242740A (ja) * 1990-02-21 1991-10-29 Nec Corp I/o性能可変なファイルシステムの作成装置
WO2004109517A1 (ja) * 2003-06-09 2004-12-16 Fujitsu Limited ストレージ管理装置、ストレージ装置、ファイル処理システム、ファイル管理システム、並びにこれらの方法およびプログラム
US20060117049A1 (en) * 2004-11-29 2006-06-01 Oracle International Corporation Processing path-based database operations

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812776A (en) * 1995-06-07 1998-09-22 Open Market, Inc. Method of providing internet pages by mapping telephone number provided by client to URL and returning the same in a redirect command by server
US5813008A (en) * 1996-07-12 1998-09-22 Microsoft Corporation Single instance storage of information
US7627552B2 (en) * 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7409644B2 (en) * 2003-05-16 2008-08-05 Microsoft Corporation File system shell
GB0314593D0 (en) 2003-06-23 2003-07-30 Symbian Ltd A method of enabling an application to access files stored on a storage medium
US20050044075A1 (en) * 2003-07-29 2005-02-24 Microsoft Corporation Method and apparatus for late-binding/dynamic pathname resolution
GB0412815D0 (en) 2004-06-09 2004-07-14 Hewlett Packard Development Co Pathname translation method and system
US20050283456A1 (en) * 2004-06-18 2005-12-22 Graham Christoph J Systems and methods for building a disk image
US20070022117A1 (en) * 2005-07-21 2007-01-25 Keohane Susann M Accessing file system snapshots directly within a file system directory
US8229897B2 (en) * 2006-02-03 2012-07-24 International Business Machines Corporation Restoring a file to its proper storage tier in an information lifecycle management environment
US20080104081A1 (en) * 2006-10-30 2008-05-01 Yasuyuki Mimatsu Tiered storage system with single instance function

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03242740A (ja) * 1990-02-21 1991-10-29 Nec Corp I/o性能可変なファイルシステムの作成装置
WO2004109517A1 (ja) * 2003-06-09 2004-12-16 Fujitsu Limited ストレージ管理装置、ストレージ装置、ファイル処理システム、ファイル管理システム、並びにこれらの方法およびプログラム
US20060117049A1 (en) * 2004-11-29 2006-06-01 Oracle International Corporation Processing path-based database operations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022220523A1 (ko) * 2021-04-15 2022-10-20 계명대학교 산학협력단 블록 체인 기반의 기업 네트워크를 이용하여 접근 가능한 정보를 관리하는 분산 저장 방법 및 장치

Also Published As

Publication number Publication date
US8200719B2 (en) 2012-06-12
US20090070382A1 (en) 2009-03-12
CN101393561A (zh) 2009-03-25
CN101393561B (zh) 2012-11-28
EP2037379A1 (en) 2009-03-18
EP2037379B1 (en) 2020-05-13
JP5537005B2 (ja) 2014-07-02

Similar Documents

Publication Publication Date Title
JP5537005B2 (ja) 指定のストレージ階層においてファイル・システム操作を実施するためのシステム及び方法
US8983929B2 (en) Methods and systems for managing data
US8150898B2 (en) User data profile namespace
RU2427896C2 (ru) Аннотирование документов в совместно работающих приложениях данными в разрозненных информационных системах
JP4685186B2 (ja) 様々なタイプおよび様々な物理位置からのアイテムを表示するためのファイルシステム
JP4847709B2 (ja) タイムラインベースのコンピューティング環境を使用してデータを回復するための方法、媒体、およびシステム
KR100996763B1 (ko) 가상 폴더들을 사용하는 시스템 및 방법
US8239351B2 (en) Methods and systems for managing permissions data
US9063942B2 (en) Methods and systems for managing data
US20050149213A1 (en) Media file management on a media storage and playback device
US20070233647A1 (en) Sharing Items In An Operating System
JP2006514377A (ja) 共通要素に基づいてアイテムをフィルタリングし編成するシステムおよび方法
JP2007509435A (ja) 静的および動的リストの使用を伴う仮想フォルダおよび項目共有のためのシステムおよび方法
WO2005081942A2 (en) Hierarchical storage management
KR20060061734A (ko) 파일 시스템 셸
JP5241298B2 (ja) 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法
CN100424702C (zh) 在具有命名空间的文件系统中查找丢失对象的方法和装置
CN113095778A (zh) 通过多个邮箱在通信应用中进行海量数据管理的架构
US20070168365A1 (en) Generating a selection representation for items in tree structures
US20030204525A1 (en) Application control method, and implementation device and processing program for the same
US20050171968A1 (en) System and method for providing a logical view of a data source
JP2008090677A (ja) データ管理装置、データ管理方法、およびコンピュータプログラム
JP2010044696A (ja) プログラムライセンス管理システム及び管理方法
JP2001318816A (ja) 複数のデータベースのコンテンツをブラウザを用いて表示する方法
JPH10116216A (ja) データ管理システム及び記録媒体

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101109

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130628

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130703

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140217

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: 20140401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140425

R150 Certificate of patent or registration of utility model

Ref document number: 5537005

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250