(57)【要約】ネットワークにストレージを接続してデータを統合管理するストレージシステムに用いるネットワークストレージ管理装置であって、ＮＡＳおよびＳＡＮの通信プロトコルと内部プロトコルの変換をおこなうプロトコル変換部と、ストレージの空き領域を管理するデータをＢ−Ｔｒｅｅを用いて記憶したプール領域と、ストレージの使用領域を管理するデータをＢ−Ｔｒｅｅを用いて記憶したファイルスペースと、プール領域を用いて空領域の割当をおこなう領域割当部と、プール領域およびファイルスペース（２２２）を用いてストレージを管理する領域開放部とを備える。
2004008322.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにストレージを接続してデータを統合管理するストレージシステムに用いるネットワークストレージ管理装置であって、
前記ストレージを部分領域の集まりとして管理し、各部分領域を識別する識別子のうち空き部分領域の識別子を集めて空き部分領域情報として記憶した空き部分領域情報記憶手段と、
前記空き部分領域情報記憶手段により記憶された空き部分領域情報を用いて空き領域を確保し、該空き領域を構成する部分領域の識別子を前記空き部分領域情報から取り除いて該空き領域を使用領域とする領域割当手段と、
不要となった使用領域を構成する部分領域の識別子を前記空き部分領域情報に加え、該使用領域を空き領域として開放する領域開放手段と、
を備えたことを特徴とするネットワークストレージ管理装置。
【請求項２】
前記ストレージをファイルの記憶領域とし、該ファイルのデータ格納領域を構成する部分領域の識別子を集めて使用部分領域情報としてファイル情報とともに記憶した使用部分領域情報記憶手段をさらに備え、前記領域割当手段は、ファイルのデータ格納領域を確保し、前記領域開放手段は、不要となったファイルのデータ格納領域を空き領域として開放することを特徴とする請求の範囲第１項に記載のネットワークストレージ管理装置。
【請求項３】
複数種類のネットワークストレージ用プロトコルと内部プロトコルとの変換をおこなうプロトコル変換手段をさらに備え、前記領域割当手段は、前記プロトコル変換手段によりプロトコルが変換された空き領域確保要求に基づいて空き領域を確保し、前記領域開放手段は、前記プロトコル変換手段によりプロトコルが変換された不要領域開放要求に基づいて不要となったデータ格納領域を空き領域として開放することを特徴とする請求の範囲第１項または第２項に記載のネットワークストレージ管理装置。
【請求項４】
前記識別子は、部分領域の先頭アドレスと該部分領域の大きさを有し、前記領域割当手段は、前記部分領域の大きさを用いて必要な大きさのデータ格納領域を確保することを特徴とする請求の範囲第１項または第２項に記載のネットワークストレージ管理装置。
【請求項５】
前記識別子は、使用部分領域情報に記憶された場合には、ストレージを識別する識別データをさらに有し、該使用部分領域情報は、複数のストレージに分散する部分領域の識別子を集めて記憶することを特徴とする請求の範囲第２項に記載のネットワークストレージ管理装置。
【請求項６】
前記空き部分領域情報記憶手段により記憶された空き部分領域情報および前記使用部分領域情報記憶手段により記憶された使用部分領域情報は、前記先頭アドレスをキーとするＢ−Ｔｒｅｅを用いて記憶されたことを特徴とする請求の範囲第２項に記載のネットワークストレージ管理装置。
【請求項７】
前記ファイル情報は、ファイルに対するポリシ制御情報およびＲＡＩＤ情報を有し、該ポリシ情報およびＲＡＩＤ情報に基づいて前記ストレージにファイルのバックアップを作成するバックアップ作成手段をさらに備えたことを特徴とする請求の範囲第２項に記載のネットワークストレージ管理装置。
【請求項８】
ネットワークにストレージを接続してデータを統合管理するストレージシステムに用いるネットワークストレージ管理プログラムであって、
前記ストレージを部分領域の集まりとして管理し、各部分領域を識別する識別子のうち空き部分領域の識別子を集めて空き部分領域情報として管理する空き部分領域情報管理手順と、
前記空き部分領域情報管理手順により管理された空き部分領域情報を用いて空き領域を確保し、該空き領域を構成する部分領域の識別子を前記空き部分領域情報から取り除いて該空き領域を使用領域とする領域割当手順と、
不要となった使用領域を構成する部分領域の識別子を前記空き部分領域情報に加え、該使用領域を空き領域として開放する領域開放手順と、
をコンピュータで実行することを特徴とするネットワークストレージ管理プログラム。
【請求項９】
前記ストレージをファイルの記憶領域とし、該ファイルのデータ格納領域を構成する部分領域の識別子を集めて使用部分領域情報としてファイル情報とともに管理する使用部分領域情報管理手順をさらにコンピュータで実行し、前記領域割当手順は、ファイルのデータ格納領域を確保し、前記領域開放手順は、不要となったファイルのデータ格納領域を空き領域として開放することを特徴とする請求の範囲第８項に記載のネットワークストレージ管理プログラム。
【請求項１０】
複数種類のネットワークストレージ用プロトコルと内部プロトコルとの変換をおこなうプロトコル変換手順をさらに備え、前記領域割当手順は、前記プロトコル変換手順によりプロトコルが変換された空き領域確保要求に基づいて空き領域を確保し、前記領域開放手順は、前記プロトコル変換手順によりプロトコルが変換された不要領域開放要求に基づいて不要となったデータ格納領域を空き領域として開放することを特徴とする請求の範囲第８項または第９項に記載のネットワークストレージ管理プログラム。
【請求項１１】
前記識別子は、部分領域の先頭アドレスと該部分領域の大きさを有し、前記領域割当手順は、前記部分領域の大きさを用いて必要な大きさのデータ格納領域を確保することを特徴とする請求の範囲第８項または第９項に記載のネットワークストレージ管理プログラム。
【請求項１２】
前記識別子は、使用部分領域情報として管理される場合には、ストレージを識別する識別データをさらに有し、該使用部分領域情報は、複数のストレージに分散する部分領域の識別子を集めて管理することを特徴とする請求の範囲第９項に記載のネットワークストレージ管理プログラム。
【請求項１３】
前記空き部分領域情報管理手順により管理される空き部分領域情報および前記使用部分領域情報管理手順により管理される使用部分領域情報は、前記先頭アドレスをキーとするＢ−Ｔｒｅｅを用いて管理されることを特徴とする請求の範囲第９項に記載のネットワークストレージ管理プログラム。
【請求項１４】
前記ファイル情報は、ファイルに対するポリシ制御情報およびＲＡＩＤ情報を有し、該ポリシ情報およびＲＡＩＤ情報に基づいて前記ストレージにファイルのバックアップを作成するバックアップ作成手順をさらにコンピュータで実行することを特徴とする請求の範囲第９項に記載のネットワークストレージ管理プログラム。
【請求項１５】
ネットワークにストレージを接続してデータを統合管理するストレージシステムに用いるネットワークストレージ管理方法であって、
前記ストレージを部分領域の集まりとして管理し、各部分領域を識別する識別子のうち空き部分領域の識別子を集めて空き部分領域情報として管理する空き部分領域情報管理工程と、
前記空き部分領域情報管理工程により管理された空き部分領域情報を用いて空き領域を確保し、該空き領域を構成する部分領域の識別子を前記空き部分領域情報から取り除いて該空き領域を使用領域とする領域割当工程と、
不要となった使用領域を構成する部分領域の識別子を前記空き部分領域情報に加え、該使用領域を空き領域として開放する領域開放工程と、
を含んだことを特徴とするネットワークストレージ管理方法。
【請求項１６】
前記ストレージをファイルの記憶領域とし、該ファイルのデータ格納領域を構成する部分領域の識別子を集めて使用部分領域情報としてファイル情報とともに管理する使用部分領域情報管理工程をさらに含み、前記領域割当工程は、ファイルのデータ格納領域を確保し、前記領域開放工程は、不要となったファイルのデータ格納領域を空き領域として開放することを特徴とする請求の範囲第１５項に記載のネットワークストレージ管理方法。
【請求項１７】
複数種類のネットワークストレージ用プロトコルと内部プロトコルとの変換をおこなうプロトコル変換工程をさらに備え、前記領域割当工程は、前記プロトコル変換工程によりプロトコルが変換された空き領域確保要求に基づいて空き領域を確保し、前記領域開放工程は、前記プロトコル変換工程によりプロトコルが変換された不要領域開放要求に基づいて不要となったデータ格納領域を空き領域として開放することを特徴とする請求の範囲第１５項または第１６項に記載のネットワークストレージ管理方法。
【請求項１８】
前記識別子は、部分領域の先頭アドレスと該部分領域の大きさを有し、前記領域割当工程は、前記部分領域の大きさを用いて必要な大きさのデータ格納領域を確保することを特徴とする請求の範囲第１５項または第１６項に記載のネットワークストレージ管理方法。
【請求項１９】
前記識別子は、使用部分領域情報として管理される場合には、ストレージを識別する識別データをさらに有し、該使用部分領域情報は、複数のストレージに分散する部分領域の識別子を集めて管理することを特徴とする請求の範囲第１６項に記載のネットワークストレージ管理方法。
【請求項２０】
前記空き部分領域情報管理工程により管理される空き部分領域情報および前記使用部分領域情報管理工程により管理される使用部分領域情報は、前記先頭アドレスをキーとするＢ−Ｔｒｅｅを用いて管理されることを特徴とする請求の範囲第１６項に記載のネットワークストレージ管理方法。
【請求項２１】
前記ファイル情報は、ファイルに対するポリシ制御情報およびＲＡＩＤ情報を有し、該ポリシ情報およびＲＡＩＤ情報に基づいて前記ストレージにファイルのバックアップを作成するバックアップ作成工程をさらに含んだことを特徴とする請求の範囲第１６項に記載のネットワークストレージ管理方法。
【発明の詳細な説明】
【技術分野】  この発明は、ネットワークにストレージを接続してデータを統合管理するストレージシステムに用いるネットワークストレージ管理装置、ネットワークストレージ管理プログラムおよびネットワークストレージ管理方法に関し、特に、異なるアーキテクチャの混在を許し、運用負担が少なく、信頼性の高いストレージシステムの構築を可能とするネットワークストレージ管理装置、ネットワークストレージ管理プログラムおよびネットワークストレージ管理方法に関するものである。
【背景技術】  近年、マルチメディアデータの利用などによるデータ容量の急増にともない、大規模なデータをアプリケーションサーバから分離独立させ、データだけを統合運用管理するストレージシステムが急速に普及している。
たとえば、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）では、大容量のハードディスクなどのストレージをストレージネットワークと呼ばれる専用ネットワークで接続し、大容量のデータ領域を利用者に提供している。
かかるストレージシステムでは、取り扱うデータの範囲およびデータ量の拡大にともなってシステムを拡張することが必要であり、また部分的なデータを管理した既存の複数のストレージシステムを結合し、新たな統合ストレージシステムを構築することも必要となる。
しかし、複数のストレージシステムを統合する場合には、ストレージシステムごとに異なる通信プロトコルを利用していることが多く、統合するために様々な改造が必要となり、統合作業が極めて困難となっている。このため、通信プロトコルの違いを吸収し、複数のストレージシステムの統合を容易にする技術が重要となっている。
たとえば、特開２０００−３３９０９８号公報には、様々なＳＡＮの通信プロトコルの違いを吸収し、異機種混合型のストレージシステムの構築を可能とする技術が開示されている。
しかしながら、この従来技術は、ＳＡＮだけを対象としており、ネットワークストレージとしてＳＡＮとともに普及しているＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）は対象としていない。したがって、ＳＡＮとＮＡＳが混在するストレージシステムには適用できないという問題がある。
すなわち、ＳＡＮでは、サーバとストレージは専用のストレージネットワークで接続されており、直接ストレージにアクセスするためのＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）プロトコルが使用されている。一方、ＮＡＳでは、サーバはＬＡＮを介してＮＡＳサーバと接続され、ＮＡＳサーバがストレージにアクセスする構成をとるため、通信プロトコルとしてＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）プロトコルが使用されている。このように、ＳＡＮとＮＡＳでは、基本的にまったく異なる通信プロトコルが使用されているため、両者が混在するストレージシステムの構築は不可能となっている。
従って、この発明は、ＳＡＮとＮＡＳの混在を許し、運用負担が少なく、信頼性の高いストレージシステムの構築を可能とするネットワークストレージ管理装置、ネットワークストレージ管理プログラムおよびネットワークストレージ管理方法を提供することを目的としている。
【発明の開示】
上述した課題を解決し、目的を達成するため、本発明は、ネットワークにストレージを接続してデータを統合管理するストレージシステムに用いるネットワークストレージ管理装置であって、前記ストレージを部分領域の集まりとして管理し、各部分領域を識別する識別子のうち空き部分領域の識別子を集めて空き部分領域情報として記憶した空き部分領域情報記憶手段と、前記空き部分領域情報記憶手段により記憶された空き部分領域情報を用いて空き領域を確保し、該空き領域を構成する部分領域の識別子を前記空き部分領域情報から取り除いて該空き領域を使用領域とする領域割当手段と、不要となった使用領域を構成する部分領域の識別子を前記空き部分領域情報に加え、該使用領域を空き領域として開放する領域開放手段と、を備えたことを特徴とする。
また、本発明は、ネットワークにストレージを接続してデータを統合管理するストレージシステムに用いるネットワークストレージ管理プログラムであって、前記ストレージを部分領域の集まりとして管理し、各部分領域を識別する識別子のうち空き部分領域の識別子を集めて空き部分領域情報として管理する空き部分領域情報管理手順と、前記空き部分領域情報管理手順により管理された空き部分領域情報を用いて空き領域を確保し、該空き領域を構成する部分領域の識別子を前記空き部分領域情報から取り除いて該空き領域を使用領域とする領域割当手順と、不要となった使用領域を構成する部分領域の識別子を前記空き部分領域情報に加え、該使用領域を空き領域として開放する領域開放手順と、をコンピュータで実行することを特徴とする。
また、本発明は、ネットワークにストレージを接続してデータを統合管理するストレージシステムに用いるネットワークストレージ管理方法であって、前記ストレージを部分領域の集まりとして管理し、各部分領域を識別する識別子のうち空き部分領域の識別子を集めて空き部分領域情報として管理する空き部分領域情報管理工程と、前記空き部分領域情報管理工程により管理された空き部分領域情報を用いて空き領域を確保し、該空き領域を構成する部分領域の識別子を前記空き部分領域情報から取り除いて該空き領域を使用領域とする領域割当工程と、不要となった使用領域を構成する部分領域の識別子を前記空き部分領域情報に加え、該使用領域を空き領域として開放する領域開放工程と、を含んだことを特徴とする。
かかる発明によれば、ストレージを部分領域の集まりとして管理し、各部分領域を識別する識別子のうち空き部分領域の識別子を集めて空き部分領域情報として記憶し、記憶した空き部分領域情報を用いて空き領域を確保し、空き領域を構成する部分領域の識別子を空き部分領域情報から取り除いて空き領域を使用領域とし、不要となった使用領域を構成する部分領域の識別子を空き部分領域情報に加え、使用領域を空き領域として開放することとしたので、異なるアーキテクチャの混在を許し、運用負担が少なく、信頼性の高いストレージシステムの構築を可能とすることができる。
【図面の簡単な説明】  第１図は、本発明の実施の形態に係るストレージシステムのシステム構成を示す図であり、第２図は、プール領域のデータ構造の一例を示す図であり、第３図は、ファイルスペースのデータ構造の一例を示す図であり、第４図は、第１図に示した領域割当部の処理手順を示すフローチャートであり、第５図は、第１図に示した領域開放部の処理手順を示すフローチャートであり、第６図は、本実施の形態に係るネットワークストレージ管理プログラムを実行するコンピュータシステムを示す図であり、第７図は、第６図に示した本体部の機能構成を示す機能ブロック図である。
【発明を実施するための最良の形態】  以下、添付図面を参照して、この発明に係るネットワークストレージ管理装置、ネットワークストレージ管理プログラムおよびネットワークストレージ管理方法の好適な実施の形態を詳細に説明する。
まず、本実施の形態に係るストレージシステムについて説明する。第１図は、本発明の実施の形態に係るストレージシステムのシステム構成を示す図である。同図に示すように、このストレージシステムは、ネットワークストレージ管理装置２００および３００を、ストレージネットワーク４００を介してストレージ５００〜７００と接続し、また、これらネットワークストレージ管理装置２００および３００を、ＬＡＮ４０およびストレージネットワーク５０を介してクライアント１０〜３０と接続したものである。なお、ここでは説明の便宜上、３台のクライアント１０〜３０と、２台のネットワークストレージ管理装置２００および３００と、３台のストレージ５００〜７００のみを示したが、これらの装置の台数は任意の数とすることができる。
クライアント１０〜３０は、ネットワークストレージ管理装置２００および３００にデータの管理を依頼する装置であり、ＬＡＮ４０またはストレージネットワーク５０を介してネットワークストレージ管理装置２００および３００に接続される。また、ストレージ５００〜７００は、大規模な容量のハードディスクであり、クライアント１０〜３０が使用するデータを格納する。
ネットワークストレージ管理装置２００および３００は、クライアント１０〜３０からの依頼を受けてデータの管理をおこなう装置であり、ストレージ５００〜７００にデータを格納する。なお、ネットワークストレージ管理装置２００および３００は同様の構成を有するので、ここではネットワークストレージ管理装置２００を例にとって説明する。
ネットワークストレージ管理装置２００は、制御部２１０と記憶部２２０とを有する。制御部２１０は、クライアント１０〜３０からの要求を受け付け、ストレージ５００〜７００のデータを管理する処理部であり、ネットワークドライバ２１１と、ストレージネットワークドライバ２１２と、プロトコル変換部２１３と、ファイル管理部２１４と、領域割当部２１５と、領域開放部２１６と、ストレージインタフェース部２１７とを有する。また、記憶部２２０は、ストレージ５００〜７００を管理するためのデータを記憶した記憶部であり、プール領域２２１とファイルスペース２２２とを有する。
ネットワークドライバ２１１は、ＬＡＮ４０を介してクライアント１０および３０とＮＦＳプロトコルを用いて通信する処理部であり、また、ストレージネットワークドライバ２１２は、ストレージネットワーク５０を介してクライアント２０とＳＣＳＩプロトコルを用いて通信する処理部である。
プロトコル変換部２１３は、ネットワークドライバ２１１が使用するＮＦＳプロトコルおよびストレージネットワークドライバ２１２が使用するＳＣＳＩプロトコルと、このネットワークストレージ管理装置２００が内部で使用する内部プロトコルとを変換する処理部であり、このプロトコル変換部２１３のプロトコル変換機能によって、ストレージシステム内にＮＡＳとＳＡＮの両方のアーキテクチャを混在することができる。
ＮＡＳの場合には、ネットワークストレージ管理装置２００は、ファイルを単位としてアクセスされる。また、ネットワークストレージ管理装置２００も、ファイルを単位としてデータを管理している。したがって、プロトコル変換部２１３は、ＮＡＳのファイルをネットワークストレージ管理装置２００のファイルにそのまま対応させることによって、容易にプロトコルの変換をおこなうことができる。
一方、ＳＡＮの場合には、ネットワークストレージ管理装置２００は、ファイルではなく、デバイスを識別するためのデバイスＩＤ、デバイス内のデータ格納開始アドレスおよびデータサイズを用いてアクセスされる。したがって、プロトコル変換部２１３は、ＳＡＮのデバイスを内部のファイルに対応させ、デバイス内のデータ格納開始アドレスをファイルの先頭からのアドレスに対応させることによって、ＳＡＮのプロトコルと内部プロトコルの変換をおこなう。
ファイル管理部２１４は、ストレージ５００〜７００にデータが格納されるファイルを管理する処理部であり、クライアント１０〜３０からの要求に基づいて、ファイルの作成、読み込み、更新、削除などの処理をおこなう。
領域割当部２１５は、ファイル管理部２１４からの空き領域割当要求に基づいて、ストレージ５００〜７００から必要な大きさの空き領域を確保する処理部であり、プール領域２２１に記憶されたデータを用いて空き領域を探し出す。また、この領域割当部２１５は、確保した領域に基づいてファイルスペース２２を更新する。
領域開放部２１６は、ファイル管理部２１４からの使用領域開放要求に基づいて、ストレージ５００〜７００の使用領域を開放する処理部であり、ファイルスペース２２２に記憶されたデータを用いて開放する領域の管理情報を取得し、取得した管理情報を用いて開放した領域を空き領域として再利用できるようにプール領域２２１を更新する。また、領域開放部２１６は、開放した領域に基づいてファイルスペース２２を更新する。
ストレージインタフェース部２１７は、ストレージ５００〜７００へのファイルデータの書き込みおよびストレージ５００〜７００からのファイルデータの読み出しをおこなう処理部であり、ファイル管理部２１４によって指定されたアドレスに基づいてデータの書き込みおよび読み出しをおこなう。
プール領域２２１は、の空き領域を管理するためのデータを記憶した記憶部であり、ファイルスペース２２２は、ストレージ５００〜７００の使用領域を管理するためのデータを記憶した記憶部である。
まず、プール領域２２１について詳細に説明する。第２図は、プール領域２２１のデータ構造の一例を示す図である。同図に示すように、このプール領域２２１は、エクステントをノードとするＢ−Ｔｒｅｅ（Ｂａｌａｎｃｅｄ  ｍｕｌｔｉｗａｙ  ｓｅａｒｃｈ  Ｔｒｅｅ）を用いて、空き領域を管理するデータを記憶している。ここで、エクステントとは、ストレージ５００〜７００の部分領域の先頭アドレスを示すオフセットと部分領域の大きさを示すサイズを対としたデータである。すなわち、このネットワークストレージ管理装置２００は、各ストレージを複数の可変長部分領域の集合として管理し、各可変長部分領域を、エクステントを用いて管理している。
図２において、エクステント２０１は、各ストレージの空き領域を管理するＢ−Ｔｒｅｅの最上位ノードであり、このエクステント２０１によって識別される空き領域は、オフセットが０ｘ１５００であり、サイズが１０であることを示している。ここで、０ｘは１６進数を示し、サイズは８ＫＢを単位としている。すなわち、サイズが１０であることは、空き領域の大きさが８０ＫＢであることを示している。
このエクステント２０１は、子供のノードとして左側にオフセットの値が自分より小さいエクステント２０２および２０３を有し、右側にオフセットの値が自分より大きなエクステント２０４および２０５を有する。すなわち、エクステント２０２および２０３のオフセットは、それぞれ０ｘ０１００および０ｘ１０００であり、エクステント２０１のオフセット０ｘ１５００より小さい。また、エクステント２０４および２０５のオフセットは、それぞれ０ｘ２０００および０ｘ３０００であり、エクステント２０１のオフセット０ｘ１５００より大きい。
このように、各ストレージの空き領域を、オフセットをキーとするＢ−Ｔｒｅｅで管理することによって、各ストレージを柔軟に管理することが可能となる。また、各ストレージは、最初に全体が一つの空き領域として管理され、たとえば、１０ＧＢのハードディスクはオフセットが０ｘ０であり、サイズが１０ＧＢ／８ＫＢ＝１２８０である一つのエクステントで管理される。そして、領域割当部２１５は、各ストレージの先頭から必要な大きさの空き領域を割り当てていき、途中で領域開放部２１６によって開放された不連続な空き領域が発生すると、部分空き領域に対応してエクステントを作成し、各部分空き領域のオフセットをキーとしてＢ−Ｔｒｅｅを形成していく。
次に、ファイルスペース２２２について詳細に説明する。第３図は、ファイルスペース２２２のデータ構造の一例を示す図である。同図（ａ）は、ファイルスペース全体の構造を示し、同図（ｂ）は、各ノードの構成を示す。同図（ａ）に示すように、このファイルスペース２２２は、ディレクトリおよびファイルをノードとするＴｒｅｅを用いてファイルを管理するデータを記憶している。
また、同図（ｂ）に示すように、各ノードは、ノードがディレクトリであるかファイルであるかの区別を示すｄｅｆ、名前を示すｎａｍｅ、種類を示すｋｉｎｄ、更新時刻を示すｔｉｍｅ、大きさを示すｓｉｚｅ、ポリシ属性を示すｐｏｌｉｃｙ、ＲＡＩＤ属性を示すＲＡＩＤ、ノードがファイルである場合にデータの格納場所を示すｐｏｉｎｔｅｒを有する。
ここで、ポリシ属性とは、ディレクトリまたはファイルを特定のストレージに記憶するなどのポリシ制御に用いるデータであり、ディレクトリにポリシ属性が定義された場合には、そのポリシ属性が下位のディレクトリおよびファイルに引き継がれる。また、ＲＡＩＤ属性とは、ファイルシステムの信頼性を向上するために用いるデータである。具体的には、ＲＡＩＤ属性がＲＡＩＤ０である場合には、データを複数のストレージに分割して格納し、ＲＡＩＤ属性がＲＡＩＤ１である場合には、データの複製を作成して別のストレージに格納し、ＲＡＩＤ属性がＲＡＩＤ５である場合には、データを複数のストレージに分割して格納し、さらに分割したデータ同士の排他的論理和をとり、その結果を別のストレージに格納する。
また、ポリシ属性とＲＡＩＤ属性を組み合わせることによって、データのバックアップ機能を容易に実現することができる。すなわち、ポリシ属性をＲＡＩＤ１とし、二つのストレージの片方を常に特定のストレージとすることにより、そのストレージをバックアップ用に用いることができる。また、バックアップ用ストレージに空き領域がなくなった場合には、新たにストレージを追加することによって、既存のデータ格納部分には影響を与えることなく容易に空き領域を確保することが可能となる。
ｐｏｉｎｔｅｒは、このノードがファイルである場合に、そのデータを格納するストレージの場所を示すポインタである。ファイルのデータ領域は、空き領域と同じように、データを格納した複数の部分領域から構成され、各部分領域を識別するエクステントをノードとするＢ−Ｔｒｅｅによって管理される。そして、ｐｏｉｎｔｅｒはこのＢ−Ｔｒｅｅの先頭のエクステントを指定している。
次に、第１図に示した領域割当部２１５の処理手順について説明する。第４図は、領域割当部２１５の処理手順を示すフローチャートである。同図に示すように、この領域割当部２１５は、まず、直前の領域割当要求が同じファイルに対する要求であるか否かを調べ（ステップＳ４０１）、同じファイルに対する要求である場合には、できるだけ連続した領域を割り当てるために、直前に割り当てた領域に連続する領域の有無を、エクステントを用いて調べる（ステップＳ４０２）。その結果、連続する領域がある場合には、その領域を割り当てる（ステップＳ４０８）。
これに対して、連続する領域がない場合および直前の領域割当要求が同じファイルに対する要求でない場合には、ポリシの有無を調べ（ステップＳ４０３）、ポリシがあれば、そのポリシで指定されたストレージの空きの有無を調べ（ステップＳ４０４）、ストレージに空きがあれば、その空き領域を割り当てる（ステップＳ４０８）。一方、ポリシで指定されたストレージに空きがない場合およびポリシがない場合には、空き領域の最も多いストレージを検索し（ステップＳ４０５）、空きがあれば、その空き領域を割り当てる（ステップＳ４０８）。また、どのストレージにも空き領域がない場合には、領域割当の要求元にエラー通知をおこなう（ステップＳ４０７）。
次に、第１図に示した領域開放部２１６の処理手順について説明する。第５図は、第１図に示した領域開放部２１６の処理手順を示すフローチャートである。同図に示すように、この領域開放部２１６は、開放された領域を管理するＢ−Ｔｒｅｅから順にエクステントを取り出す（ステップＳ５０１）。そして、プール領域２２１を検索し（ステップＳ５０２）、プール領域のエクステントおよび開放されたエクステントのオフセットと長さを用いて、開放された領域と連続する空き領域の有無を調べ（ステップＳ５０３）、連続する領域がある場合には、二つのエクステントを一つに融合する（ステップＳ５０４）。
そして、エクステントをプール領域のＢ−Ｔｒｅｅに繋ぎ直し（ステップＳ５０５）、開放された領域の全てのエクステントの処理が終了したか否かを調べ（ステップＳ５０６）、終了していない場合にはステップＳ５０１に戻り、次のエクステントを処理する。また、全てのエクステントの処理が終了した場合には、領域開放の処理を終了する。
上述したように、本実施の形態では、ストレージ５００〜７００の空き領域を管理するためのデータをＢ−Ｔｒｅｅを用いてプール領域２２１に記憶し、ストレージ５００〜７００の使用領域を管理するためのデータをＢ−Ｔｒｅｅを用いてファイルスペース２２２に記憶し、領域割当部２１５がプール領域２２１を用いて空き領域の割当をおこない、領域開放部２１６が開放された領域を、ファイルスペース２２２を用いて空き領域とすることとしたので、ＮＡＳおよびＳＡＮのデータを一元的に管理するとともに、拡張が容易で運用負担が少ないストレージシステムを構築することができる。
また、本実施の形態では、ネットワークドライバ２１１がＮＡＳの通信プロトコルを用いてクライアント１０および３０と通信し、ストレージネットワークドライバ２１２がＳＡＮの通信プロトコルを用いてクライアント２０と通信し、プロトコル変換部２１３がＮＡＳおよびＳＡＮの通信プロトコルと内部プロトコルの変換をおこない、ファイル管理部２１４が内部プロトコルに変換されたクライアントからの要求に基づいてファイルを管理することとしたので、ＮＡＳとＳＡＮが混在するストレージシステムを構築することができる。
また、本実施の形態では、ファイルスペース２２２にファイルのポリシ属性およびＲＡＩＤ属性を記憶することとしたので、バックアップが容易で信頼性の高いストレージシステムを構築することができる。
なお、本実施の形態では、ネットワークストレージ管理装置について説明したが、このネットワークストレージ管理装置が有する構成をソフトウェアによって実現することで、同様の機能を有するネットワークストレージ管理プログラムを得ることができる。そこで、このネットワークストレージ管理プログラムを実行するコンピュータシステムについて説明する。
第６図に示すコンピュータシステム１００は、本体部１０１、本体部１０１からの指示により表示画面１０２ａに画像等の情報を表示するディスプレイ１０２、このコンピュータシステム１００に種々の情報を入力するためのキーボード１０３、ディスプレイ１０２の表示画面１０２ａ上の任意の位置を指定するマウス１０４、ローカルエリアネットワーク（ＬＡＮ）１０６または広域エリアネットワーク（ＷＡＮ）に接続するＬＡＮインタフェース、インターネットなどの公衆回線１０７に接続するモデム１０５が備えられている。ここで、ＬＡＮ１０６は、ほかのコンピュータシステム（ＰＣ）１１１、サーバ１１２、プリンタ１１３等とコンピュータシステム１００とを接続している。また、第７図に示すように、本体部１０１は、ＣＰＵ１２１、ＲＡＭ１２２、ＲＯＭ１２３、ハードディスクドライブ（ＨＤＤ）１２４、ＣＤ−ＲＯＭドライブ１２５、ＦＤドライブ１２６、Ｉ／Ｏインタフェース１２７およびＬＡＮインタフェース１２８を備えている。
このコンピュータシステム１００においてネットワークストレージ管理プログラムを実行する場合、フロッピィディスク（ＦＤ）１０８、ＣＤ−ＲＯＭ１０９、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体、モデム１０５およびＬＡＮインタフェースを利用し回線を介して接続されたサーバ１１２のデータベース、あるいは、ほかのコンピュータシステム（ＰＣ）１１１のデータベースに格納等の記憶媒体に記憶されたネットワークストレージ管理プログラムをコンピュータシステム１００にインストールする。インストールされたネットワークストレージ管理プログラムは、ＨＤＤ１２４に記憶され、ＲＡＭ１２２、ＲＯＭ１２３などを利用してＣＰＵ１２１により実行される。ここで、記憶媒体とは、ＣＤ−ＲＯＭ１０９、フロッピィディスク１０８、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体やコンピュータシステム１００の内外に備えられたハードディスク１２４等の記憶装置のほか、ＬＡＮ１０６を介して接続されたインストール元のネットワークストレージ管理プログラムを保持するサーバ１１２のデータベース、あるいは、ほかのコンピュータシステム１１１並びにそのデータベースや、さらに公衆回線１０７上の伝送媒体をも含むものである。
以上説明したように、本発明によれば、ストレージを部分領域の集まりとして管理し、各部分領域を識別する識別子のうち空き部分領域の識別子を集めて空き部分領域情報として記憶し、記憶した空き部分領域情報を用いて空き領域を確保し、空き領域を構成する部分領域の識別子を空き部分領域情報から取り除いて空き領域を使用領域とし、不要となった使用領域を構成する部分領域の識別子を空き部分領域情報に加え、使用領域を空き領域として開放する構成としたので、異なるアーキテクチャの混在を許し、運用負担が少なく、信頼性の高いストレージシステムの構築を可能とすることができるという効果を奏する。
【産業上の利用可能性】  以上のように、本発明に係るネットワークストレージ管理装置、ネットワークストレージ管理プログラムおよびネットワークストレージ管理方法は、大規模なデータをサーバから独立して効率良く統合管理する必要があるストレージシステムに適している。
【図１】
2004008322.tif 000003
【図２】
2004008322.tif 000004
【図３】
2004008322.tif 000005
【図４】
2004008322.tif 000006
【図５】
2004008322.tif 000007
【図６】
2004008322.tif 000008
【図７】
2004008322.tif 000009
【国際調査報告】
2004008322.tif 000010
2004008322.tif 000011
2004008322.tif 000012
2004008322.tif 000013