(57)【要約】【課題】自律的に機能するストレージ装置１０を備え、管理サーバを不要としたストレージシステムを実現する。【解決手段】複数のコピーユニットエージェント３００が、コピーユニット５００をそれぞれ管理し、ファイルシステムエージェント２００が、同一ユーザのコピーユニットエージェント３００を管理する。コピーユニットエージェント３００は、コピーユニットの複製機能を有しており、ネットワークを介してコピーユニットの多重度を自律的に検知し、多重度が不足する場合には、他のストレージ装置に対して複製要求を行う。【選択図】図２
2008146673.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続してデータを格納するストレージ装置であって、
ストレージ領域を複数のコピーユニットに分割した格納部と、
個々のコピーユニットを管理する複数のコピーユニットエージェントと、
ユーザの識別情報に基づいて、複数のコピーユニットにまたがる１つ又は複数のファイルデータをユーザ毎に管理するファイルシステムエージェントと、を備え、
前記コピーユニットエージェントは、
自身が管理するコピーユニットが正常に存在していることを示す信号を送信する状況送信部と、
他のストレージ装置において同一内容のデータを記録したコピーユニットが正常に存在していることを示す信号を当該他のストレージ装置から受け付ける状況受付部と、
を備えることを特徴とするストレージ装置。
【請求項２】
前記状況送信部は、コピーユニットが正常に存在していることを示す信号を、周期的にネットワークにブロードキャストすることを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記コピーユニットエージェントは、
管理するコピーユニットが予め設定されている多重度を保っているか判断する多重度判断部を備えることを特徴とする請求項１または２に記載のストレージ装置。
【請求項４】
前記コピーユニットエージェントは、
検出した多重度が、予め設定されている多重度よりも小さい場合に、他のストレージ装置に対するコピーユニットの複製要求を生成する複製要求生成部を備えることを特徴とする請求項３に記載のストレージ装置。
【請求項５】
前記ファイルシステムエージェントは、
他のストレージ装置から供給される複製要求を受け付ける要求受付部と、
複製要求を受けて、まだユーザに割り当てられていないコピーユニットに、複製されるコピーユニットと同一の識別情報を付与してユーザに割り当てるコピーユニット指定部と、
複製要求を生成したコピーユニットエージェントに対して、コピーユニットをユーザに割り当てた旨を通知する応答部と、
を備えることを特徴とする請求項１から４のいずれかに記載のストレージ装置。
【請求項６】
前記コピーユニットエージェントは、
自身が管理するコピーユニット内のデータの送信要求があった場合に、該コピーユニットと同一内容のコピーユニットを有する他のストレージ装置と協同してデータを送信するようにデータを読み出す読出制御部を備えることを特徴とする請求項１から５のいずれかに記載のストレージ装置。
【請求項７】
前記コピーユニットの容量は、所定値に定められていることを特徴とする請求項１から６のいずれかに記載のストレージ装置。
【請求項８】
複数のストレージ装置をネットワークに接続して構成するストレージシステムであって、
各ストレージ装置は、
ストレージ領域を複数のコピーユニットに分割した格納部と、
個々のコピーユニットを管理する複数のコピーユニットエージェントと、
ユーザの識別情報に基づいて、複数のコピーユニットにまたがる１つ又は複数のファイルデータをユーザ毎に管理するファイルシステムエージェントと、を備え、
前記コピーユニットエージェントは、
自身が管理するコピーユニットが正常に存在していることを示す信号を送信する状況送信部と、
他のストレージ装置において同一内容のデータを記録したコピーユニットが正常に存在していることを示す信号を当該他のストレージ装置から受け付ける状況受付部と、
を備え、
当該システムにおいて、ファイルシステムエージェントは、予め設定されているコピーユニットの必要な多重度の分だけ、複数のストレージ装置において立ち上がっていることを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを記録するストレージ装置およびストレージシステムに関する。とくに本発明は、データに関する管理を自律的に行うことのできるストレージ装置およびその装置を利用するストレージシステムに関する。
【背景技術】
【０００２】
業務上発生する様々な情報は、ハードディスク等のストレージ装置に電子的なデータとして記録され管理される。大容量のデータを記録するために、複数のハードディスクを連携させて仮想的な大容量ドライブを構築するＲＡＩＤ（Redundant Arrays of Independent Disks）と呼ばれるストレージ管理技術が開発されている。
【０００３】
特に近年、コンピュータの処理速度の向上により、非常に複雑な演算処理が可能となってきたが、同時に企業において管理すべきデータ量は急速に増加する傾向にある。また映像のデジタル化に伴い、今後は家庭においても映画やＴＶ番組をハードディスクに保存することが一般的になると予想される。そのため、大量のデータを効率的に管理するストレージシステムへの関心が高まり、現状ではＳＡＮ（Storage Area Network）やＮＡＳ（Network Attached Storage）に代表されるようにデータを統合化して一元管理する手法が盛んに研究されている。ＳＡＮやＮＡＳは既存のＲＡＩＤ技術と組み合わせて利用することも可能であり、ストレージ管理技術の一つの方向性を示すものである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＳＡＮやＮＡＳを利用してデータを統合管理するためには、複数のストレージ装置を統括する管理サーバが必須の構成となる。この管理サーバは、データ統合管理システムの中核をなしており、ストレージ装置の故障には対応することができるが、管理サーバ自身が故障するとシステム全体が機能不能な状態となる危険性がある。特に昨今のコンピュータウィルスが蔓延している状況下では、管理サーバのセキュリティ確保などメンテナンス作業に多くの労力を費やす必要があり、そのため管理コストも大きくなる。また、ストレージ装置を増設する場合には管理サーバに対してユーザが登録作業を行う必要があるが、それにはある程度の専門的な知識が要求されるところ、そのような知識を有する者を多くの企業が雇用できるわけではない。
【０００５】
従来のストレージシステムは、管理サーバの能力および機能に大きく依存しているため、管理コストが増加することや、ストレージ装置の増設に柔軟に対応できないという問題があった。そこで、本発明は、上記の課題を解決することのできるストレージ装置およびストレージシステムを提供することを目的とする。これらの目的は特許請求の範囲における独立項に記載の特徴の組合せにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の第１の形態に係るストレージシステムは、複数のストレージ装置をネットワークに接続して構成され、各ストレージ装置は、ストレージ領域を複数のコピーユニットに分割した格納部と、自身のストレージ状況を示す信号を送信する状況送信部と、他のストレージ装置におけるストレージ状況を監視する監視部と、監視結果に基づいて、他のストレージ装置に対するコピーユニットの複製要求を生成する複製要求生成部とを備える。他のストレージ装置のストレージ状況を監視することによって、他のストレージ装置におけるコピーユニットに障害が発生すると、ストレージ装置が自律的にその状態を検知してコピーユニットの複製を行うことを可能とする。ここで、コピーユニットの複製とは、コピーユニットに記録されているデータを、別のコピーユニットにそのまま複製することを意味する。概念的には、コピーユニットをデータを受け入れる容器として捉えることも可能であるが、本明細書では前述のとおりコピーユニットの複製という表現を、その容器内のデータをそのまま別の容器に複製するという意味で用いる。コピーユニットを他のストレージ装置に複製することによって、同一のデータを記録したコピーユニットが生成されることになる。以下では、同一のデータを記録したコピーユニットを、同一内容のコピーユニットと表現することもある。
【０００７】
監視部は、システム全体におけるコピーユニットの多重度を監視する。複製要求生成部は、監視部においてコピーユニットの多重度が不足していることが検知されると、複製要求を生成する。このストレージシステムにおいては、同一内容のデータを格納する２つ以上のコピーユニットが存在しており、この同一内容のコピーユニットの数を「多重度」と呼ぶ。コピーユニットは必要な多重度を定められており、監視した多重度がこの必要な多重度よりも小さい場合、コピーユニットの多重度が不足していることが検知される。複製要求生成部は、ストレージ装置がネットワークから切断される前に生成される複製コマンドを受けて複製要求を生成してもよい。
【０００８】
また、第１の形態に係るストレージシステムにおいて、ストレージ装置は、データの書込要求を受け付ける要求受付部と、コピーユニットの空き容量に応じて書込要求に応答する応答部と、コピーユニットにデータを書き込む書込制御部とを備えてもよい。またストレージ装置は、コピーユニットの空き容量を検出する検出部と、その空き容量がデータの書込みに十分であるか否かを判断する容量判断部とを備えてもよい。ストレージ装置は、自己が管理するコピーユニット内のデータに対する送信要求を外部から受けた場合に、該コピーユニットと同一内容のコピーユニットを有する他のストレージ装置と協同してデータを送信するようにデータを読み出す読出制御部を有してもよい。
【０００９】
本発明の第２の形態に係るストレージ装置は、ネットワークに接続してデータを格納するものであって、ストレージ領域を複数のコピーユニットに分割した格納部と、自身のストレージ状況を示す信号をネットワークに送信する状況送信部と、他のストレージ装置におけるストレージ状況を監視する監視部と、監視結果に基づいて、他のストレージ装置に対するコピーユニットの複製要求を生成する複製要求生成部とを備える。他のストレージ装置のストレージ状況を監視することによって、他のストレージ装置におけるコピーユニットに障害が発生すると、ストレージ装置が自律的にその状態を検知してコピーユニットの複製を行うことを可能とする。
【００１０】
監視部は、コピーユニットの多重度を監視する。複製要求生成部は、監視部においてコピーユニットの多重度が不足していることが検知されると、複製要求を生成してもよい。また複製要求生成部は、該ストレージ装置がネットワークから切断される前に生成される複製コマンドを受けて、複製要求を生成してもよい。
【００１１】
第２の形態に係るストレージ装置は、データの書込要求を受け付ける要求受付部と、コピーユニットの空き容量に応じて書込要求に応答する応答部と、コピーユニットにデータを書き込む書込制御部とをさらに備えてもよい。また、コピーユニットの空き容量を検出する検出部と、その空き容量がデータの書込みに十分であるか否かを判断する容量判断部とを備えてもよい。さらにストレージ装置は、自己が管理するコピーユニット内のデータに対する送信要求を外部から受けた場合に、該コピーユニットと同一内容のコピーユニットを有する他のストレージ装置と協同してデータを送信するようにデータを読み出す読出制御部を有してもよい。
【００１２】
本発明の第３の形態に係るプログラムは、コンピュータに、ストレージ領域を複数のコピーユニットに分割する機能と、自身のストレージ状況を示す信号をネットワークに送信する機能と、他のストレージ装置におけるストレージ状況を監視する機能と、監視結果に基づいて、他のストレージ装置に対するコピーユニットの複製要求を生成する機能とを実現させて、ストレージ装置として機能させることを特徴とする。このプログラムをハードディスク等の格納部を備えたコンピュータにインストールすることにより、コンピュータをストレージ装置として利用することが可能となる。
【００１３】
本発明の第４の形態に係るストレージシステムは、複数のストレージ群を接続して構成され、各ストレージ群は、ゲートウェイ装置と、該ゲートウェイ装置にネットワーク接続される複数のストレージ装置とを備え、ストレージ装置は、他のストレージ装置のストレージ状況を監視して、自律的にデータに関する管理を行う。複数のストレージ装置が接続されたＬＡＮ同士をさらに接続することによって、異なる場所にストレージ群を分散したストレージシステムを実現することが可能となる。また、ＬＡＮ同士を接続することにより、１つのＬＡＮにおいて接続可能なストレージ装置の制約を超えて、システムにおける容量上の制約を無くすことができる。このストレージシステムにおいては、少なくとも２つのストレージ群で、同一内容のデータを保持することが好ましい。同一内容の複数のデータの格納場所を空間的に離し、災害などの不慮の事態によって同一内容のデータの全てが一度に消失する確率を低減することができる。
【００１４】
本発明の第５の形態に係るストレージシステムは、ネットワークに接続された複数のストレージ装置を備え、２以上のストレージ装置が同一内容のコピーユニットを有しており、各ストレージ装置は、自身の管理するコピーユニットの多重度をシステム全体として所定の値以上に保つように自律的に他のストレージ装置を監視し、あるコピーユニットの多重度が不足する場合には他のストレージ装置に対して該コピーユニットの複製要求を行うことを特徴とする。
【００１５】
本発明の第６の形態に係るストレージシステムは、複数のストレージ装置をネットワークに接続して構成され、各ストレージ装置は、自身のストレージ状況を示す信号をネットワーク上にブロードキャストする状況送信部と、他のストレージ装置からブロードキャストされるストレージ状況を示す信号を監視する監視部と、この監視結果に応じて、他のストレージ装置に対する要求を生成する要求生成部とを備え、各ストレージ装置は記録したデータに関する管理を自律的に行い、システム全体を管理する管理サーバを不要としたことを特徴とする。ブロードキャストとは、ネットワークに接続されている複数の端末に対して送信する方式であり、信号を一斉に複数の端末に送信する場合や、複数の端末に順次スイッチングして送信する場合の双方を含む。各ストレージ装置は、データの多重度を監視して、他のストレージ装置において障害が発生している場合には、そのデータの複製要求を生成するなどデータに関する管理を行うことができる。各ストレージ装置が自律的に機能することによって管理サーバを不要とし、システムの管理コストを小さくすることが可能となる。
【００１６】
本発明の第７の形態に係るストレージシステムは、複数のストレージ装置をネットワークに接続して構成され、各ストレージ装置は、ストレージ領域を複数のコピーユニットに分割し、個々のコピーユニットを管理する複数のコピーユニットエージェントと、ユーザの識別情報に基づいて、複数のコピーユニットにまたがる１つ又は複数のファイルデータをユーザ毎に管理するファイルシステムエージェントとを備える。このファイルシステムエージェントは、ユーザのコピーユニットエージェントを管理することによって、コピーユニットに含まれるファイルデータをユーザ毎に管理することを可能とする。コピーユニットエージェントが多重度検知などコピーユニットの自律的な管理を行うことにより、管理サーバを不要とするストレージシステムを実現することができる。ファイルシステムエージェントは、コピーユニットをユーザに割り当てる際に、コピーユニットを自身のストレージ装置からだけでなく、他のストレージ装置から探し出し、ユーザのファイルデータを記録するために利用することを可能とする。
【００１７】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴の組合わせも又発明となりうる。また、本発明の表現を装置、方法、システム、コンピュータプログラムの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１８】
本発明によれば、自律的に機能するストレージ装置およびこのストレージ装置を利用したストレージシステムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、又実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。
【００２０】
図１は、本発明の第１の実施形態に係るストレージシステム１００の構成図である。ストレージシステム１００は、複数のストレージ装置１０ａ〜１０ｄ（以下、符号「１０」で代表させることもある）をネットワーク３０に接続することにより構成される。ネットワーク３０は、ＬＡＮ（local Area Network）やＷＡＮ（Wide Area Network）であってもよく、それぞれのストレージ装置１０ａ〜１０ｄは、有線または無線で接続される。外部装置２０ａ、２０ｂは、ストレージシステム１００に対してデータの書込みや読出しを要求する外部端末である。ストレージ装置１０ａ〜１０ｄおよび外部装置２０ａ〜２０ｂの通信は、ＴＣＰ／ＩＰなどの各種プロトコルを用いて実現される。このストレージ装置１０は、ハードウエアコンポーネントでいえば、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２１】
ストレージ装置１０は、必要なプログラムを起動するプロセッサと、ハードディスクや不揮発性メモリなどの大容量格納部を備えている。このストレージ装置１０は、ハードディスク等を組み込んだ市販の汎用コンピュータの形態であってもよく、またこのストレージシステム１００の実現に必要な機能のみを持った専用機器の形態であってもよい。汎用コンピュータに対しては、ユーザが必要なプログラムをインストールすることにより、ストレージ装置１０としての機能を持たせることができる。
【００２２】
このストレージシステム１００は、ストレージ装置１０ａ〜１０ｄを統括管理する管理サーバを有しない。各ストレージ装置１０は、ネットワーク３０に接続されている他のストレージ装置の状態を監視し、記録したデータに関する管理を自律的に行う機能を有する。ストレージシステム１００のストレージ容量を増やすためには、新たなストレージ装置１０をネットワーク３０に追加接続するだけでよく、ＳＡＮやＮＡＳなどのシステムにおいてストレージの増設時に必要であった管理サーバへの登録作業を不要とする。またストレージ装置１０は自己が管理するデータの複製機能を有しており、ストレージ装置１０を交換する場合には、ネットワークから切断する前にこの複製機能を利用して他のストレージ装置１０にデータを自律的に複製することも可能とする。
【００２３】
図２は、ストレージ装置１０の概念的な構成を示すブロック図である。ストレージ装置１０は、ファイルシステムエージェント２００、コピーユニットエージェント３００ａ〜３００ｎ（以下、符号「３００」で代表させることもある）および格納部４００を備える。格納部４００は、データを記録するストレージ領域を有しており、このストレージ領域は複数の記録単位に分割されている。以下では、この記録単位のことを「コピーユニット」と呼ぶ。図２では、複数のコピーユニット５００ａ〜５００ｎ（以下、符号「５００」で代表させることもある）が示されている。後述するが、これらのコピーユニット５００はユーザに割り当てられたものであり、本実施の形態では、ユーザに割り当てられたコピーユニットのことを単にコピーユニットと表現し、ユーザに割り当てる前のコピーユニットのことを、便宜上割当て済みのコピーユニットと区別するために、空のコピーユニットとして表現することもある。なお、割当て済みのコピーユニットと割当て前のコピーユニットとを特に区別することなく説明する場合には、単にコピーユニットとして表現する。このコピーユニット５００は、可変の容量を有してもよいが、管理の容易性や、ユーザに対する課金などのビジネス戦略上の観点から、例えば１００Ｍバイトなどの所定容量であってもよい。コピーユニット５００には１つ又は複数のファイルデータを格納することができ、１つのファイルデータは、複数のコピーユニット５００にまたがって格納されてもよい。ファイルシステムエージェント２００およびコピーユニットエージェント３００は、ストレージ装置１０においてエージェントプログラムとして組み込まれる。コピーユニットエージェント３００は、各コピーユニット５００に対して起動され、コピーユニット５００に格納されているデータに関する管理を行う。
【００２４】
ここで、図２は、ストレージ装置１０の物理的な構成を示すものではなく、実際には１人の、または１人とみなすことにしたユーザに対するストレージのソフトウェア的な構成を示している。ファイルシステムエージェント２００は、ユーザの識別情報（以下、ユーザアカウントという）に基づいて、複数のコピーユニット５００をユーザ毎に管理する。したがって、１台のストレージ装置１０が複数のユーザのデータを記録する場合には、ユーザアカウント毎にファイルシステムエージェント２００が起動されることになる。コピーユニット５００は、ユーザアカウントに対して予め割当てられてもよいし、データの記録を行う度に動的に割当てられてもよい。ユーザアカウントに割当てられると、コピーユニット５００には識別情報（以下、コピーユニットＩＤという）が付与される。このコピーユニットＩＤは、ストレージシステム１００において重複することがないように決定される。コピーユニットエージェント３００は、自身が管理するコピーユニット５００をこのコピーユニットＩＤに基づいて識別し、ファイルシステムエージェント２００からのリクエストに応答することができる。
【００２５】
格納部４００は、一つのストレージ装置１０におけるストレージ領域だけでなく、複数のストレージ装置１０におけるストレージ領域も含む概念である。すなわち、ユーザの複数のコピーユニット５００は、一つのストレージ装置１０内だけでなく複数のストレージ装置１０にまたがって存在してもよい。複数のストレージ装置１０にまたがる場合には、各ストレージ装置１０におけるコピーユニットエージェント３００が、自身のストレージ装置１０に存在するコピーユニット５００に対して起動される。ファイルシステムエージェント２００は、複数のストレージ装置１０のうちいずれか１つに存在している。
【００２６】
ファイルシステムエージェント２００は、自己が管理するコピーユニット５００の存在位置を記憶しておくことが好ましいが、管理対象であるコピーユニット５００のＩＤを認識していれば、コピーユニットエージェント３００に対して存在位置を問い合わせることが可能である。コピーユニットエージェント３００またはコピーユニット５００がユーザアカウントを保持する場合には、ファイルシステムエージェント２００が、このユーザアカウントに基づいて自己が管理するコピーユニット５００の存在位置をコピーユニットエージェント３００に対して問い合わせるように構成してもよい。
【００２７】
ストレージ装置１０が上記したエージェントプログラムを備えることにより、本ストレージシステム１００は、ストレージ装置１０の枠組みにしばられることなく、複数のストレージ装置間の障壁を取り除いた柔軟なストレージ構成を実現することが可能となる。
【００２８】
また、本ストレージシステム１００の重要な特徴として、このシステムは複数の同一内容のコピーユニット５００を保持している。必要な多重度、すなわちシステム中に存在しなければならない同一内容のコピーユニット５００の数は、コピーユニット５００またはユーザアカウントに応じて設定される。上記のとおり、コピーユニット５００はユーザアカウント毎に管理されており、したがって図２に示したストレージの構成は、ストレージシステム１００においてユーザアカウント毎に複数存在し、ファイルシステムエージェント２００が必要な多重度の分だけ立ち上がっている。コピーユニット５００に多重度を持たせる一つの理由はストレージ装置１０の故障に備えることにあり、また更なる理由として、本ストレージシステム１００によるデータ送信効率の向上がある。
【００２９】
本ストレージシステム１００は、同一内容のコピーユニット５００を管理する複数のコピーユニットエージェント３００が、互いに協同してコピーユニット５００中のファイルデータを送信することを可能とする。例えば、同一のコピーユニット５００が２つ存在する場合に、２つのコピーユニットエージェント３００が、ファイルデータを半分に分けてそれぞれ送信することができる。ファイルデータの更新頻度が少なく且つデータの送信要求が非常に多いファイルデータについては、送信効率の向上という観点から多くのコピーユニット５００に格納しておくことが好ましい。
【００３０】
図３は、ストレージシステム１００における多重度を説明するための概念図である。ストレージシステム１００においては、同一のコピーユニットＩＤを有するコピーユニット５００が少なくとも多重度分だけ存在する。図３では、多重度が２の場合であって、同一ＩＤをもつ２つのコピーユニット５００がストレージシステム１００に存在している。コピーユニット５００のヘッダには、ストレージ領域の空き位置と空き容量とが記録されており、ファイルデータが更新または追加等されると、空き位置および空き容量は随時書き換えられる。
【００３１】
各コピーユニットエージェント３００はファイルシステムエージェント２００により管理され、各コピーユニット５００は、コピーユニットエージェント３００およびファイルシステムエージェント２００により管理される。図３の例では便宜上、ファイルシステムエージェント２００がコピーユニット５００を管理するものとして説明する。
【００３２】
ユーザに対して計１２の所定容量のコピーユニット５００が割当てられ、ファイルシステムエージェント２００ａが、ＩＤ０１〜ＩＤ０６で特定される６つのコピーユニット５００ａ〜５００ｆの一系列を管理し、同様にファイルシステムエージェント２００ｂが、ＩＤ０１〜ＩＤ０６で特定される６つのコピーユニット５００ｇ〜５００ｌの一系列を管理する。
【００３３】
これらのコピーユニット５００には、ファイルＡ、ファイルＢおよびファイルＣの３つのデータが格納されている。このうち、ファイルＣのデータは、ＩＤ０２〜ＩＤ０４のコピーユニット５００にまたがって格納されている。また図中、斜線が引かれた領域は空き領域を示し、この例ではＩＤ０４のコピーユニット５００ｄ（５００ｊ）の一部と、ＩＤ０５のコピーユニット５００ｅ（５００ｋ）およびＩＤ０６のコピーユニット５００ｆ（５００ｌ）の全体が空き領域となっている。同一ユーザの新たなファイルデータは、この空き領域に書き込まれる。新たなファイルデータの容量が各コピーユニット５００の空き容量の総和よりも大きいときには、ファイルシステムエージェント２００が新たにコピーユニット５００を生成して対応してもよい。コピーユニットエージェント３００は、自身が管理するコピーユニット５００の空き容量を認識できることが好ましいが、他のコピーユニット５００の空き容量を認識しなくてもよい。ファイルシステムエージェント２００は、各コピーユニットエージェント３００に対してコピーユニット５００の空き容量を報告させることにより、システム全体の空き容量を演算することが可能である。
【００３４】
図４は、ファイルシステムエージェント２００の構成を示す機能ブロック図である。ファイルシステムエージェント２００は、入出力処理部２１０ａ、２１０ｂ、要求受付部２１２、応答部２１４、応答受付部２１６、データ受付部２１８、データ送信部２２０、容量処理部２３０、コピーユニット指定部２３８および書込制御部２４０を備える。容量処理部２３０は、容量検出部２３２、容量判断部２３４および容量拡大部２３６を有する。入出力処理部２１０ａは、他のストレージ装置１０または外部装置２０との間で信号を送受し、入出力処理部２１０ｂは、コピーユニットエージェント３００との間で信号を送受する機能を有する。入出力処理部２１０ａは、外部から入力された信号に含まれるユーザアカウントに基づいて、自身が管理するユーザからの要求であるか否かを判断する。別のユーザからの要求である場合にはその信号を無視し、ファイルシステムエージェント２００は動作しない。コピーユニットＩＤ格納部２５０は、管理するコピーユニット５００のＩＤを格納する。ＩＤ以外にも、コピーユニット５００の存在位置が格納されることが好ましい。
【００３５】
要求受付部２１２は、他のストレージ装置１０または外部装置２０から送信される要求を受け付ける。新規ファイルデータの書込時には外部装置２０からデータの書込要求が供給され、ファイルデータの送信時には外部装置２０からデータの送信要求が供給され、またコピーユニット５００の複製時には他のストレージ装置１０からデータの複製要求が供給される。
【００３６】
新規ファイルデータの書込時、要求受付部２１２が受け付けた書込要求が容量処理部２３０に供給される。この書込要求を受けて、容量検出部２３２が、管理する１つ又は複数のコピーユニット５００におけるストレージ領域の空き容量を検出する。この検出方法には様々な手法があるが、一つの例として容量検出部２３２が各コピーユニットエージェント３００にコピーユニット５００の空き容量を問い合わせ、コピーユニットエージェント３００が、コピーユニット５００のヘッダに記録された空き容量を読み出して容量検出部２３２に回答し、容量検出部２３２がその総和を演算する。別の手法としては、容量検出部２３２が最新の空き容量をデータとして常に保持するようにしてもよい。
【００３７】
容量判断部２３４は、空き容量が新規ファイルデータの書込みに十分であるか否かを判断する。この判断は、新規ファイルデータの大きさと、空き容量とを比較することにより行われる。新規ファイルデータの大きさは、書込要求に含まれている。新規ファイルデータの大きさが空き容量を超える場合には、容量拡大部２３６が、データのストレージ領域を拡大するべく、空のコピーユニットを探し出し、ユーザに割り当てる。このとき、容量拡大部２３６は、ファイルシステムエージェント２００が存在するストレージ装置１０内で空のコピーユニットを探してもよいが、別のストレージ装置１０から探し出してもよい。図３に関連して説明したように、同一内容のコピーユニット５００を管理するファイルシステムエージェント２００は多重度の数だけ存在しており、新たなコピーユニット５００をユーザに割当てる場合には、ファイルシステムエージェント２００同士が連絡をとりあって、同数のコピーユニット５００をユーザに割り当て、互いに同一のコピーユニットＩＤを付すようにする。割り当てたコピーユニット５００のＩＤは、コピーユニットＩＤ格納部２５０に追加される。容量拡大部２３６のこの機能は、空き容量が不足したときに自動的に実行されてもよいが、一旦ユーザに対して容量不足の旨を通知し、容量を拡大することの指示がユーザからなされることを条件として実行されてもよい。
【００３８】
コピーユニット指定部２３８は、新規ファイルデータを格納するコピーユニット５００のＩＤを指定する。この指定が完了すると、応答部２１４が、書込要求に対する応答をネットワーク上にブロードキャストする。ブロードキャストすることによって、この応答は、外部装置２０だけでなく、同一内容のコピーユニットを管理する他のファイルシステムエージェント２００にも供給される。十分な容量を確保できない場合、応答部２１４は、新規ファイルデータの書込みを要求する外部装置２０に対して容量不足の旨を通知する。空き容量が十分である場合には、書込みを受け入れる状態にある旨を通知する。
【００３９】
このとき、同一内容のコピーユニット５００を管理する他のファイルシステムエージェント２００も書込要求に応答し、この応答はネットワーク上にブロードキャストされる。応答受付部２１６は、他のストレージ装置１０からの応答を受け付け、他のストレージ装置１０が正常に動作していることを認識する。応答部２１４による応答と、応答受付部２１６による応答受付の時間的な関係により、格納したデータを外部に送信する場合の優先順位などが決定されてもよい。例えば、ファイルシステムエージェント２００ａが、自身の応答後に他のファイルシステムエージェント２００ｂからの応答を受け付け、一方、他のファイルシステムエージェント２００ｂにおいては、応答する前にファイルシステムエージェント２００ａからの応答を受け付けた場合、ファイルシステムエージェント２００ａの優先順位を他のファイルシステムエージェント２００ｂよりも高く設定することができる。この優先順位は、コピーユニットエージェント３００に供給され、データの読出制御を行う際に利用されてもよい。
【００４０】
外部装置２０は、ストレージ装置１０から書込要求に対する応答を受けると、新規ファイルデータを送信する。データ受付部２１８がこのファイルデータを受け付ける。書込制御部２４０は、コピーユニット指定部２３８により指定されたコピーユニット５００の空き領域にデータを書き込み、ヘッダには変更された空き位置と空き容量とを書き込む。
【００４１】
容量処理部２３０の上記説明ではファイルシステムエージェント２００が容量を判断することとしたが、コピーユニットエージェント３００が書込要求に対して自律的にコピーユニット５００の空き容量を検出して、新規ファイルデータを格納できるか否かを判断してもよい。この場合、コピーユニットエージェント３００が容量検出部２３２および容量判断部２３４を有し、要求受付部２１２から供給される書込要求に応答する。この応答は各コピーユニットエージェント３００からコピーユニット指定部２３８に供給され、コピーユニット指定部２３８がデータの書込みに最適なコピーユニット５００を指定する。１つのコピーユニット５００にデータを格納できる場合には、コピーユニット指定部２３８は、そのコピーユニット５００を指定する。一方、１つのコピーユニット５００にデータを格納しきれない場合には、コピーユニット指定部２３８が容量処理部２３０を有して、適切なコピーユニット５００の組合わせを定めることが好ましい。
【００４２】
図５は、ファイルデータをコピーユニット５００に書き込むフローを示すフローチャートである。複数のストレージ装置１０のうちストレージ装置１０ａおよび１０ｂが、外部装置２０から送信されるデータを受け付けるファイルシステムエージェント２００を有している。この例では、必要な多重度が２の場合を想定している。
【００４３】
まず、外部装置２０において新規のファイルデータが生成される（Ｓ１００）。それからユーザがデータ書込要求を生成し（Ｓ１０２）、書込要求をブロードキャストする（Ｓ１０４）。それから、ユーザアカウントに基づいて、ストレージ装置１０ａおよび１０ｂが、書込要求を受け付け（Ｓ１０６、Ｓ１０８）、ファイルデータの書込みを受入可能な状態とする。ストレージ装置１０ｃは、このユーザのコピーユニットを管理していないため、この書込要求を受け付けない。このように本ストレージシステム１００においては、各ストレージ装置１０が自律的に書込要求の取捨をするため、ユーザは自分のファイルデータをどのストレージ装置１０に格納するべきかを知る必要がない。ストレージ装置１０ａおよび１０ｂは、書込要求に対する応答をブロードキャストで送信し（Ｓ１１０、Ｓ１１２）、外部装置２０は、それぞれからの応答を受け付ける（Ｓ１１４）。ストレージ装置１０ａおよび１０ｂも、他のストレージ装置からの応答を受け付ける（Ｓ１１６、Ｓ１１８）。
【００４４】
外部装置２０は、多重度が２であることと、ストレージ装置１０からの応答を２つ受けたことを確認して、ファイルデータをブロードキャストする（Ｓ１２０）。このとき、ストレージ装置１０ａと１０ｂのみにデータをマルチキャストしてもよい。ストレージ装置１０ａおよび１０ｂはデータを受け付け（Ｓ１２２、１２４）、同一のＩＤを有するコピーユニットにデータを同時に書き込んでいく（Ｓ１２６、Ｓ１２８）。データをブロードキャスト又はマルチキャストで送信することにより複数のコピーユニットへの同時書込を実現し、コピーユニットをリアルタイムに多重化することが可能となる。
【００４５】
なお、後で詳述するが、本ストレージシステム１００は、コピーユニットの多重度が不足する場合に、そのコピーユニットを複製する機能を有している。そのため外部装置２０は、多重度が２の場合であっても、ストレージ装置１０ａまたは１０ｂの一方からの応答を受け付けた段階でファイルデータを送信し、データ受信後この一方のストレージ装置は、他方のストレージ装置に複製要求をだして、コピーユニットの多重度を２に保つように複製作業を行うことができる。
【００４６】
次に、外部装置２０が、コピーユニット５００に格納したファイルデータの送信を要求する場合について説明する。図４において、要求受付部２１２が外部装置２０からデータの送信要求を受け付け、コピーユニット指定部２３８に供給する。コピーユニット指定部２３８は、このファイルデータを格納しているコピーユニットを特定して、対応するコピーユニットエージェント３００に対して、入出力処理部２１０ｂを介してデータの送信指示を供給する。図３の例でファイルデータＡの送信要求を受けた場合、コピーユニット指定部２３８は、コピーユニット５００ａを管理するコピーユニットエージェントに対して送信要求を供給する。ファイルデータＣの送信要求を受けた場合には、コピーユニット５００ｂ、５００ｃおよび５００ｄを管理する３つのコピーユニットエージェントに対して送信要求を供給する。
【００４７】
図６は、コピーユニットエージェント３００の構成を示す機能ブロック図である。コピーユニットエージェント３００は、入出力処理部３１０、送信要求受付部３１２、読出制御部３１４、同一コピーユニット探索部３１６、送信ルール決定部３１８、状況送信部３２０、監視部３３０、複製コマンド受付部３４０および複製要求生成部３５０を備える。監視部３３０は状況受付部３３２および多重度判断部３３４を有する。
【００４８】
送信要求受付部３１２が、ファイルシステムエージェント２００より供給される送信要求を受け付ける。この要求の受付けを契機として、同一コピーユニット探索部３１６が、他のストレージ装置１０における同一内容のコピーユニットを探索する。コピーユニットエージェント３００は、同一内容のコピーユニットの存在位置を予め記録しておいてもよい。同一内容のコピーユニットが見つかると、送信ルール決定部３１８が、同一内容のコピーユニットを管理するコピーユニットエージェントとデータの送信ルールを決定する。送信ルール決定部３１８は、図４の応答受付部２１６において生成された優先順位を用いて送信ルールを決定してもよい。読出制御部３１４は、同一内容のコピーユニットを有する他のストレージ装置と協同してデータを送信するようにデータを読み出す。読み出されたデータは、ファイルシステムエージェント２００のデータ送信部２２０からネットワーク３０上に送信される。
【００４９】
図３において、ファイルＡの送信要求があった場合、コピーユニット５００ａを管理するコピーユニットエージェント３００ａと、コピーユニット５００ｇを管理するコピーユニットエージェント３００ｇとの間で、ファイルＡの送信ルールを決定する。単純には、ファイルＡの半分をコピーユニットエージェント３００ａが送信し、ファイルＡの残り半分をコピーユニットエージェント３００ｇが送信するというルールが考えられる。例えば、数十キロバイト程度の所定長のデータブロック毎にファイルＡを分割して、ブロックを交互に送信するルールを採用することも可能である。データの送信においては、ハードディスクからの読出しがボトルネックとなるため、小さいデータを交互に送信することによりデータを連続的に送信することが可能となる。コピーユニット５００の多重度をさらに大きくすることにより、データの送信効率は向上する。また、複数のストレージ装置１０からデータを送信するため、あるストレージ装置に障害が生じた場合であっても、残りのストレージ装置でその分を補うことができ、耐障害性に優れたデータ送信を確立することが可能となる。
【００５０】
図７は、ファイルデータをコピーユニット５００から読み出して送信するフローを示すフローチャートである。複数のストレージ装置１０のうちストレージ装置１０ａおよび１０ｂが、そのファイルデータを格納したコピーユニット５００を管理するコピーユニットエージェント３００を有している。データ送信要求の受付の可否は、ユーザアカウントによって決定される。なお前述したとおり、このコピーユニット５００は、必ずしもファイルシステムエージェント２００を有するストレージ装置１０に位置する必要はなく、別のストレージ装置１０に存在してもよい。
【００５１】
外部装置２０が、データ送信要求を生成し（Ｓ２００）、送信要求をブロードキャストする（Ｓ２０２）。ストレージ装置１０ａおよび１０ｂが、この送信要求を受け付け（Ｓ２０４、Ｓ２０６）、それに対する応答をブロードキャストする（Ｓ２０８、Ｓ２１０）。外部装置２０は、各ストレージ装置１０ａ、１０ｂからの応答を受け付け（Ｓ２１２）、またストレージ装置１０ａおよび１０ｂも、他方からの応答を受け付ける（Ｓ２１４、Ｓ２１６）。外部装置２０は、ファイルデータの書込みを可能な状態とする。それから、ストレージ装置１０ａと１０ｂとの間で送信ルールを決定する（Ｓ２１８）。ストレージ装置１０ａおよび１０ｂは、送信ルールに従ってファイルデータを読み出し（Ｓ２２０、Ｓ２２２）、互いに協同してデータを送信して（Ｓ２２４、Ｓ２２６）、外部装置２０はこのデータを受け付ける（Ｓ２２６）。
【００５２】
上記の説明では、便宜上ストレージ装置１０ａおよび１０ｂがファイルデータを読み出すこととしたが、実際には、ファイルデータの読出しは、対象となるコピーユニット５００を管理するコピーユニットエージェント３００が行う。したがって、コピーユニット５００がファイルシステムエージェント２００とは異なるストレージ装置１０に格納されている場合には、そのストレージ装置１０内のコピーユニットエージェント３００がファイルデータの読出しを行うことになる。
【００５３】
続いて、本ストレージシステム１００におけるコピーユニット５００の複製機能について説明する。本ストレージシステム１００においては、ストレージ装置１０の耐障害性およびデータ送信効率の向上などの観点から、コピーユニット５００の多重度を一定以上に保つことを特徴の一つとしている。そのため前述したように、新規ファイルデータは原則として複数のストレージ装置１０に同時に書き込まれ、多重度に変化のない状態が理想である。
【００５４】
しかしながら、ストレージ装置１０が物理的な構成をとる以上、劣化は避けられず、使用期間が長くなるにつれて故障する確率も高くなる。また、ストレージシステム１００の柔軟性を高めるためにも、新規書込みを要求する外部装置２０に対して、必ずしも複数のストレージ装置１０に同時書込を行わなければならないという制約を課したくない。さらに、ハードディスク等の記録密度は年々飛躍的に向上しており、省スペース化を実現するためにも、一定周期でストレージ装置１０を簡易に交換できることが望ましい。以上の理由から、本ストレージシステム１００は、多重度を一定以上に保つべく、自律的にコピーユニット５００を複製する機能を有している。
【００５５】
図６において、コピーユニットエージェント３００において、状況送信部３２０が、自身のストレージ状況を示す信号を周期的にブロードキャストする。このストレージ状況を示す信号は、コピーユニットが正常に存在していることを示す信号である。このストレージ状況を示す信号は、キープアライブパケットとして送信されてもよい。また、同一内容のコピーユニット５００を管理する他のコピーユニットエージェント３００も、ストレージ状況を示す信号を周期的にブロードキャストする。監視部３３０は、他のコピーユニットエージェント３００から送信されるストレージ状況を示す信号を受けて、ストレージ状況を監視する。具体的には、状況受付部３３２が、他のコピーユニットエージェント３００から送信されるストレージ状況を示す信号を受け付ける。周期的に受け付けている場合には、他のストレージ装置１０が正常に動作していることを認識する。自身も正常に動作している場合には、多重度判断部３３４が、管理するコピーユニット５００が所定の多重度を保ってストレージシステム１００に存在することを判断する。
【００５６】
一方、他のコピーユニットエージェント３００から周期的にストレージ状況を示す信号を受け付けられない場合には、多重度判断部３３４は、コピーユニットの多重度が所定に保たれていないことを判断する。例えばコピーユニット５００の必要な多重度が２と定められている場合に、自身は正常であるのに、他からストレージ状況を示す信号を受けられなくなったときには、多重度判断部３３４は、コピーユニット５００の多重度が１になったことを検出し、多重度の不足分を複製要求生成部３５０に供給する。複製要求生成部３５０は、多重度の不足分（このケースでは１）だけコピーユニットを複製するように他のストレージ装置１０に対する複製要求を生成する。
【００５７】
図８は、複製要求を生成するフローを示すフローチャートである。まず、周期的に他のストレージ装置１０から送信されるストレージ状況を示す信号を監視する（Ｓ３００）。それから多重度を検出し（Ｓ３０２）、検出した多重度と必要な多重度とを比較する（Ｓ３０４）。検出した多重度が必要な多重度以上である場合（Ｓ３０４のＮ）には、コピーユニット５００が正常に保存されていることを認識し、Ｓ３００からＳ３０４までのステップを繰り返す。一方、検出した多重度が必要な多重度よりも小さい場合（Ｓ３０４のＹ）には、コピーユニット５００の多重度が不足していることを検知し、コピーユニット５００を格納する他のストレージ装置１０に故障が生じたと判断して、コピーユニット５００の複製要求を生成する（Ｓ３０６）。なお、Ｓ３０４において、他のストレージ装置１０に故障が生じたことを判断するのは、ストレージ状況を示す信号の送信周期に比して十分に長い期間ストレージ状況を示す信号を受け付けなかったことを条件とするのが好ましい。ストレージ装置１０に故障がない場合であっても、ネットワーク３０上のトラフィックの問題で、一時的に受信するタイミングが遅れることもあるからである。
【００５８】
図６において、故障の場合でなく、ストレージ装置１０を交換する場合には、元のストレージ装置１０がネットワーク３０から接続を切断される前に複製コマンドが生成され、複製コマンド受付部３４０が受け取る。複製コマンド受付部３４０はその旨を複製要求生成部３５０に通知し、複製要求生成部３５０が複製要求を他のストレージ装置１０に送信する。この複製コマンドは、ユーザにより入力されてもよいが、ユーザからの切断要求を受けた際に、複製コマンドを自動的に生成して複製コマンド受付部３４０に供給するようにしてもよい。なお、複製コマンドを供給しない場合、例えばネットワークとの接続が突然切断されたような場合であっても、監視部３３０がストレージ状況を監視することにより多重度が保たれることは前述したとおりである。
【００５９】
図４において、他のストレージ装置１０から供給される複製要求は、要求受付部２１２にて受け付けられる。複製要求を受けて、コピーユニット指定部２３８は、空のコピーユニットにＩＤを付与して新たなコピーユニットをユーザに割り当てる。このＩＤは、複製されるコピーユニット５００と同一のものである。応答部２１４がその旨を、複製要求を生成したコピーユニットエージェント３００に送信する。要求元のコピーユニットエージェント３００は、その応答を受けて、当該コピーユニット５００のデータを送信し、要求先のコピーユニットエージェント３００は、そのデータをそのまま新たなコピーユニットに複製する。
【００６０】
複数のコピーユニット５００のうちの１つは、ファイルシステムエージェント２００を起動可能なデータを有している。ストレージ装置１０が突然ネットワーク３０から切断されて、ユーザのコピーユニットの一系列が全て消失した場合、生き残っている他の系列のコピーユニット５００がそれぞれ複製要求を生成して、他のストレージ装置１０にコピーユニット５００を複製する。それから、複製されたコピーユニット５００のうちの１つがファイルシステムエージェント２００を起動し、起動されたファイルシステムエージェント２００が複製された全てのコピーユニット５００を管理する。このようにして、コピーユニット５００の一系列を復元することが可能となる。
【００６１】
図９は、本発明の第２の実施形態に係るストレージシステム７００の構成図である。このストレージシステム７００は、複数のストレージ群６００ａ、６００ｂ、６００ｃを接続して構成され、各ストレージ群６００は、ゲートウェイ装置１２と、このゲートウェイ装置にネットワーク接続される複数のストレージ装置１０を備える。ストレージ装置１０およびネットワーク３０は、第１の実施形態において説明したストレージシステム１００の構成をとる。第２の実施形態のように複数のストレージ群を接続することによって、ストレージ群内の容量の制約にとらわれず、システム全体の容量を制限なく増加させることが可能となる。ストレージ群６００間の通信は、ゲートウェイ装置１２を介して行われる。
【００６２】
また、同一内容のコピーユニット５００は、少なくとも２つのストレージ群で保持されることが好ましい。災害などによりストレージ群６００が消失する危険性を回避するために、コピーユニット５００を物理的に離れたストレージ群６００に格納する。
【００６３】
図１０は、本発明の実施形態にかかるストレージ装置１０のハードウェアコンポーネントを示す構成図である。ストレージ装置１０は、表示装置５０、入力部５２、ＣＰＵ５４、ハードディスク５６、ＲＡＭ（Random Access Memory）５８およびドライブ装置６０を備える。これらの構成は、バス６２などの信号伝送路により電気的に接続されている。入力部５２は、ユーザからストレージ装置１０をネットワークから切り離す切断コマンドなどを受け付ける。このストレージ装置１０がストレージシステム１００の専用機器として構成される場合、ユーザに可視的な情報を提示する必要やユーザからの直接入力を受け付ける必要がないことも考えられ、この場合には表示装置５０、入力装置５２、ドライブ装置６０などは存在しなくてもよい。あるストレージ装置１０にウェブサーバ機能を持たせて、同じネットワークに接続された別のストレージ装置１０からの入力を受け付けるように構成してもよい。
【００６４】
ハードディスク５６は、大容量の磁気記録装置であり、ストレージ領域は複数のコピーユニットに分割される。ハードディスク５６には、このコピーユニットを記録単位としてデータが記録される。ここで、ハードディスク５６は、他の大容量記録装置への置換えが可能である。記録媒体７０は、実施形態に関連して説明したストレージ装置１０の様々な機能を、ＣＰＵ５４に実現させるためのプログラムを記録する。記録媒体７０がドライブ装置６０に挿入されると、そのプログラムは、ハードディスク５６またはＲＡＭ５８に読み出され、ＣＰＵ５４は、読み出されたプログラムによりハードディスク５６の分割機能やストレージ管理機能などを実現する。この記録媒体７０は、ＣＤ−ＲＯＭ、ＤＶＤ、ＦＤなどのコンピュータ読み取り可能な媒体である。
【００６５】
ここでは、ストレージ管理用のプログラムが記録媒体７０に記録されている例について説明したが、別の例においては、プログラムは、無線、有線を問わず、外部のコンピュータまたは端末から送信されてもよい。図１０に示したハードウェア構成において、プログラムは、コンピュータにストレージ管理機能を実現させればよいのであって、外部から供給される場合だけでなく、予めハードディスク５６に格納されていて、ストレージシステム１００用の専用機器を構成するものとして存在してよいことも当業者には理解されるところである。
【００６６】
以上、本発明を実施の形態をもとに説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せに、さらにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６７】
例えば、上述の実施形態ではストレージ装置１０がファイルシステムエージェント２００とコピーユニットエージェント３００を用いて実現されているが、一方のエージェントの機能を他方のエージェントが有していてもよく、または両者が有していてもよい。本ストレージシステム１００において、各ストレージ装置１０は自律的に動作する機能を有しており、データの複製等を行う際に管理サーバを必要としないが、他の何らかの機能を実現するための形式的なサーバを備えることも可能である。また、上記例では、ファイルデータをユーザごとに管理することとしているが、ユーザの制限を外して、複数のユーザのデータを１つのファイルシステムエージェントに管理させてもよい。
【００６８】
また本実施形態の説明において、データの書込要求を行う外部装置２０と、データを格納するストレージ装置１０とを別の構成として記載しているが、データの書込要求を行う装置とストレージ装置１０とは一体として構成されてもよい。例えば、一つのＬＡＮに接続する複数のパーソナルコンピュータがストレージ装置１０としての機能も有している場合、あるコンピュータのユーザが、自身で作成したファイルデータを一旦該コンピュータに備わるハードディスクに格納する。その後、コンピュータ内で起動されるコピーユニットエージェントが、そのデータを他のコンピュータのハードディスクにおいて複製するように複製要求を生成してもよい。ユーザは自身のハードディスクにデータを保存することにより、データの更新などの作業を簡易に行うことが可能となり、また自身のハードディスクには常に最新のデータが格納されることとなるため、自身のハードディスク内のデータと複製先のデータが異なるものである場合には、複製先のデータが古いデータであることを認識して、最新のデータを複製先のデータにオーバーライトすることが容易に実現可能となる。
【００６９】
また、ストレージシステム１００の運用上、ユーザに割当てたコピーユニットを開放したい場合がある。この場合には、例えばストレージ装置１０自身ないしはその他の装置でコピーユニットの開放コマンドが生成され、対応するコピーユニットエージェントがこれを受けてコピーユニットを不活性にし、コピーユニット内のデータを更新できない状態にする。本システム１００において同一内容のコピーユニットは複数存在しており、これら複数のコピーユニット全てが同時期に不活性にされる。なお、開放コマンドの受付時期の関係で、一つのコピーユニットが不活性にされた後、まだ他のコピーユニットが不活性にされていない場合に、当該他のコピーユニットが自律的に複製要求を生成しないようにするために、複製要求の生成タイミングは、不活性にされたコピーユニットからストレージ状況を示す信号を受け取らなくなった時から十分に時間が経過したときであることが好ましい。このように複製要求の生成タイミングを設定することで、当該他のコピーユニットは、複製要求を生成する前に開放コマンドを受け付けることが可能となり、実質的に同時期に複数の同一内容のコピーユニットを不活性にすることが可能となる。コピーユニットエージェントは、コピーユニットを不活性にした後、該コピーユニット内のデータおよびＩＤを消去して、元の空のコピーユニットの状態に戻してもよい。
【図面の簡単な説明】
【００７０】
【図１】本発明の第１の実施形態に係るストレージシステム１００の構成図である。
【図２】ストレージ装置１０の概念的な構成を示すブロック図である。
【図３】ストレージシステム１００における多重度を説明するための概念図である。
【図４】ファイルシステムエージェント２００の構成を示す機能ブロック図である。
【図５】ファイルデータをコピーユニット５００に書き込むフローを示すフローチャートである。
【図６】コピーユニットエージェント３００の構成を示す機能ブロック図である。
【図７】ファイルデータをコピーユニット５００から読み出して送信するフローを示すフローチャートである。
【図８】複製要求を生成するフローを示すフローチャートである。
【図９】本発明の第２の実施形態に係るストレージシステム７００の構成図である。
【図１０】本発明の実施形態にかかるストレージ装置１０のハードウェアコンポーネントを示す構成図である。
【符号の説明】
【００７１】
１０・・・ストレージ装置、２０・・・外部装置、３０・・・ネットワーク、１００・・・ストレージシステム、２００・・・ファイルシステムエージェント、３００・・・コピーユニットエージェント、４００・・・格納部、５００・・・コピーユニット
【図１】
2008146673.tif 000003
【図２】
2008146673.tif 000004
【図３】
2008146673.tif 000005
【図４】
2008146673.tif 000006
【図５】
2008146673.tif 000007
【図６】
2008146673.tif 000008
【図７】
2008146673.tif 000009
【図８】
2008146673.tif 000010
【図９】
2008146673.tif 000011
【図１０】
2008146673.tif 000012