(57)【要約】【課題】安価でかつ高い信頼性を有するネットワークＲＡＩＤシステム、そのコンピュータ、およびコンピュータが実行するためのプログラムを提供することを目的とする。【解決手段】本発明のネットワークＲＡＩＤシステムは、ネットワークを介して相互に接続された複数のコンピュータと、前記各コンピュータにそれぞれ接続された記憶手段とを備えたネットワークＲＡＩＤシステムにおいて、前記各コンピュータにそれぞれ接続された記憶手段を利用して、前記ネットワーク内で仮想ＲＡＩＤ装置を構成したものである。【選択図】        図１
2006106898.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続された複数のコンピュータと、前記各コンピュータにそれぞれ接続された記憶手段とを備えたネットワークＲＡＩＤシステムにおいて、
前記各コンピュータにそれぞれ接続された記憶手段を利用して、前記ネットワーク内で仮想ＲＡＩＤ装置を構成したことを特徴とするネットワークＲＡＩＤシステム。
【請求項２】
前記各記憶手段は、それぞれ特定領域を有し、
前記ネットワークＲＡＩＤシステムを構成する１つのコンピュータでデータの書き込み要求が発生した場合は、前記各コンピュータは、同一のデータを前記各特定領域にそれぞれ略リアルタイムに書き込み、前記各特定領域で同一のデータを保持することを特徴とする請求項１に記載のネットワークＲＡＩＤシステム。
【請求項３】
前記記憶手段はディスク装置からなり、当該ディスク装置は複数の領域を有し、前記特定領域は、前記複数の領域のうちの１つの領域に割り当てられることを特徴とする請求項２に記載のネットワークＲＡＩＤシステム。
【請求項４】
前記記憶手段は、複数のディスク装置からなり、前記特定領域はディスク装置の全領域に割り当てられることを特徴とする請求項２に記載のネットワークＲＡＩＤシステム。
【請求項５】
前記各コンピュータは、前記各特定領域からそれぞれ独自のタイミングでデータの読み出しを行うことを特徴とする請求項２〜請求項４のいずれか１つに記載のネットワークＲＡＩＤシステム。
【請求項６】
前記ネットワークを介して接続される他の装置からデータの書き込みの要求があった場合には、前記各コンピュータは、同一のデータを前記各特定領域にそれぞれ略リアルタイムに書き込みことを特徴とする請求項２〜請求項５のいずれか１つに記載のネットワークＲＡＩＤシステム。
【請求項７】
前記各コンピュータのうち故障したコンピュータがある場合には、当該故障した以外のコンピュータで、同一のデータを前記各特定領域にそれぞれ略リアルタイムに書き込み、前記各特定領域で同一のデータを保持することを特徴とする請求項１〜請求項６のいずれか１つに記載のネットワークＲＡＩＤシステム。
【請求項８】
前記コンピュータにおいて、前記特定領域でデータの読み出し中にエラーが発生した場合には、他のコンピュータの前記特定領域からデータを読み出すことを特徴とする請求項２〜請求項７のいずれか１つに記載のネットワークＲＡＩＤシステム。
【請求項９】
前記コンピュータにおいて、前記特定領域でデータの書き込み中にエラーが発生した場合には、他のコンピュータの前記特定領域を使用してデータの書き込みを継続することを特徴とする請求項２〜請求項８のいずれか１つに記載のネットワークＲＡＩＤシステム。
【請求項１０】
前記コンピュータの前記特定領域にエラーが発生した場合には、当該エラーが発生したコンピュータからの要求に応じて、他のコンピュータが、当該特定領域のデータのリカバリーを行うことを特徴とする請求項２〜請求項９のいずれか１つに記載のネットワークＲＡＩＤシステム。
【請求項１１】
記憶手段を有する他の１または複数のコンピュータとネットワークを介して接続され、前記記憶手段と自機の記憶手段を利用して前記ネットワーク内でネットワークＲＡＩＤシステムを構成するコンピュータにおいて、
前記ネットワークを接続するためのネットワークインターフェイスと、
特定領域を有する前記記憶手段と、
自機でデータの書き込み要求が発生した場合に、前記他のコンピュータに当該データの書き込みを依頼し、また、前記特定領域に当該データを書き込む第１の書込手段と、
前記他のコンピュータからデータの書き込み要求を受け取った場合に、前記特定領域に当該データを書き込む第２の書込手段と、
を備えたことを特徴とするコンピュータ。
【請求項１２】
前記第１および第２の書込手段は、前記特定領域にデータを書き込み中に、他の書き込み要求があった場合には、排他処理を行うことを特徴とする請求項１１に記載のコンピュータ。
【請求項１３】
前記記憶手段はディスク装置からなり、当該ディスク装置は複数の領域を有し、前記特定領域は、前記複数の領域のうちの１つの領域に割り当てられることを特徴とする請求項１１または請求項１２に記載のコンピュータ。
【請求項１４】
前記記憶手段は、複数のディスク装置からなり、前記特定領域はディスク装置の全領域に割り当てられることを特徴とする請求項１１または請求項１２に記載のコンピュータ。
【請求項１５】
前記記憶手段の特定領域から独自のタイミングでデータの読み出しを行う読出手段を備えたことを特徴とする請求項１１〜請求項１４のいずれか１つに記載のコンピュータ。
【請求項１６】
記憶手段を有する他の１または複数のコンピュータとネットワークを介して接続され、前記記憶手段と自機の記憶手段を利用して前記ネットワーク内でネットワークＲＡＩＤシステムを構成するコンピュータに、
自機でデータの書き込み要求が発生した場合に、前記他のコンピュータに当該データの書き込みを依頼し、また、前記記憶手段の特定領域に当該データを書き込む第１の書込工程と、
前記他のコンピュータからデータの書き込み要求を受け取った場合に、前記記憶手段の特定領域に当該データを書き込む第２の書込工程と、
を実行させることを特徴とするコンピュータが実行するためのプログラム。
【請求項１７】
前記第１および第２の書込工程は、前記記憶手段の特定領域にデータを書き込み中に、
他の書き込み要求があった場合には、排他処理を行うことを特徴とする請求項１６に記載のコンピュータが実行するためのプログラム。
【請求項１８】
さらに、前記コンピュータに、前記記憶手段の特定領域から独自のタイミングでデータの読み出しを行う読出工程を実行させることを特徴とする請求項１６または請求項１７に記載のコンピュータが実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークＲＡＩＤシステム、そのコンピュータ、およびコンピュータが実行するためのプログラムに関し、詳細には、ネットワーク内で仮想的なＲＡＩＤ装置を構成するネットワークＲＡＩＤシステム、そのコンピュータ、およびコンピュータが実行するためのプログラムに関する。
【背景技術】
【０００２】
近時、ハードディスクの高速化と、高い信頼性を実現するための技術として、ＲＡＩＤ （Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）が使用されている。例えば、ＲＡＩＤ１は、複数のハードディスクドライブに同一のデータを書き込む技術であり、ミラーリングと呼ばれる場合もある。同一のデータを書き込んでいるので、いずれかのハードディスクが破損しても、破損していないハードディスクを用いて処理を続行でき、高い信頼性を達成することができる。複数のハードディスクとして、２台のハードディスクを組み合わせる場合が多いが、より多くの台数のハードディスクを組み合わせることもある。この場合は、多数決論理により、複数のハードディスクが保持する値のうち、最も多くのハードディスクに保持されている値を最終的な正しい値として採用する手法が利用される。従来の典型的なＲＡＩＤに関する技術が、下記特許文献１に記載されている。
【０００３】
サーバ／クライアントシステムにおいて、サーバでＲＡＩＤを使用した場合は、データはサーバで集中管理されるので利便性は高いが、そのデータ管理しているサーバが何等なの原因でダウンしてしまった場合は、業務を継続することが困難になってしまうという問題がある。
【０００４】
また、サーバ／クライアントシステムでは、データの保全性・業務の継続性を維持するために、ハードウエアＲＡＩＤなどを多重化したシステムを構築して信頼性を向上させているが、サーバが高価になるため、安価にサーバ／クライアントシステムを構成することができないという問題がある。
【０００５】
【特許文献１】特開２０００−２２２８７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記課題に鑑みてなされたものであり、安価でかつ高い信頼性を有するネットワークＲＡＩＤシステム、そのコンピュータ、およびコンピュータが実行するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークを介して相互に接続された複数のコンピュータと、前記各コンピュータにそれぞれ接続された記憶手段とを備えたネットワークＲＡＩＤシステムにおいて、前記各コンピュータにそれぞれ接続された記憶手段を利用して、前記ネットワーク内で仮想ＲＡＩＤ装置を構成したことを特徴とする。これにより、複数台の低コストなコンピュータを使用して、ＲＡＩＤを実現することにより、負荷を複数台のコンピュータに分散でき、安価でかつ信頼性の高いネットワークＲＡＩＤシステムを構築することができる。
【０００８】
また、本発明の好ましい態様によれば、前記各記憶手段は、それぞれ特定領域を有し、前記ネットワークＲＡＩＤシステムを構成する１つのコンピュータでデータの書き込み要求が発生した場合は、前記各コンピュータは、同一のデータを前記各特定領域にそれぞれ略リアルタイムに書き込み、前記各特定領域で同一のデータを保持することが望ましい。
これにより、自機の記憶手段の特定領域にデータを書き込むことにより、他のコンピュータの特定領域にもデータが書き込む冗長化によりデータの紛失を防ぐことができる。
【０００９】
また、本発明の好ましい態様によれば、前記記憶手段はディスク装置からなり、当該ディスク装置は複数の領域を有し、前記特定領域は、前記複数の領域のうちの１つの領域に割り当てられることが望ましい。これにより、ディスク装置の資源を有効に活用することが可能となる。
【００１０】
また、本発明の好ましい態様によれば、前記記憶手段は、複数のディスク装置からなり、前記特定領域はディスク装置の全領域に割り当てられることが望ましい。これにより、システムの運用の安全性を保つことができ、また、ホットスワップを構成することも可能となる。
【００１１】
また、本発明の好ましい態様によれば、前記各コンピュータは、前記各特定領域からそれぞれ独自のタイミングでデータの読み出しを行うことが望ましい。これにより、各コンピュータが自機の記憶手段内の特定領域を独自のタイミングにてデータの読み出しを行うことができ、データの読み出しを高速に行うことができる。
【００１２】
また、本発明の好ましい態様によれば、前記ネットワークを介して接続される他の装置からデータの書き込みの要求があった場合には、前記各コンピュータは、同一のデータを前記各特定領域にそれぞれ略リアルタイムに書き込みことが望ましい。これにより、ネットワークに接続された他の装置もネットワークＲＡＩＤシステムを使用することができる。
【００１３】
また、本発明の好ましい態様によれば、前記各コンピュータのうち故障したコンピュータがある場合には、当該故障した以外のコンピュータで、同一のデータを前記各特定領域にそれぞれ略リアルタイムに書き込み、前記各特定領域で同一のデータを保持することが望ましい。これにより、故障コンピュータを切り離して修理作業を行っている期間においても、他のコンピュータにて業務を継続をすることができ、ユーザの負担をできるだけ軽減し、可用性を向上させたシステムを提供することができる。なお、ここで故障とは、コンピュータに障害が発生し、現に故障した場合はもちろん、当該コンピュータが保守作業中である場合において当該コンピュータのデータへアクセスできない場合を含むものである（以下、同様である）。
【００１４】
また、本発明の好ましい態様によれば、前記コンピュータにおいて、接続される記憶手段の特定領域でデータの読み出し中にエラーが発生した場合には、他のコンピュータに接続される記憶手段の前記特定領域からデータを読み出すことが望ましい。これにより、特定領域のみ故障したコンピュータにおいても、他のコンピュータが提供するデータを使用して業務を継続することができる。
【００１５】
また、本発明の好ましい態様によれば、前記コンピュータにおいて、接続される記憶手段の特定領域にデータを書き込み中にエラーが発生した場合には、他のコンピュータの特定領域を使用してデータの書き込みを継続することが望ましい。これにより、特定領域のみ故障したコンピュータにおいても、他のコンピュータの特定領域を使用して業務を継続することができる。
【００１６】
また、本発明の好ましい態様によれば、前記コンピュータの前記特定領域にエラーが発生した場合には、当該エラーが発生したコンピュータからの要求に応じて、他のコンピュータが、当該特定領域のデータのリカバリーを行うことが望ましい。これにより、データのリカバリーが容易になりＲＡＩＤシステムに直ぐに復帰することができる。
【００１７】
上述した課題を解決し、目的を達成するために、本発明は、記憶手段を有する他の１または複数のコンピュータとネットワークを介して接続され、前記記憶手段と自機の記憶手段を利用して前記ネットワーク内でネットワークＲＡＩＤシステムを構成するコンピュータにおいて、前記ネットワークを接続するためのネットワークインターフェイスと、前記ネットワークＲＡＩＤシステムで使用される特定領域を有する前記記憶手段と、自機でデータの書き込み要求が発生した場合に、前記他のコンピュータに当該データの書き込みを依頼し、また、前記記憶手段の特定領域に当該データを書き込む第１の書込手段と、前記他のコンピュータからデータの書き込み要求を受け取った場合に、前記記憶手段の特定領域に当該データを書き込む第２の書込手段と、を備えたことを特徴とする。
【００１８】
また、本発明の好ましい態様によれば、前記第１および第２の書込手段は、前記記憶手段の特定領域にデータを書き込み中に、他の書き込み要求があった場合には、排他処理を行うことが望ましい。
【００１９】
また、本発明の好ましい態様によれば、前記記憶手段はディスク装置からなり、当該ディスク装置は複数の領域を有し、前記特定領域は、前記複数の領域のうちの１つの領域に割り当てられることが望ましい。
【００２０】
また、本発明の好ましい態様によれば、前記記憶手段は、複数のディスク装置からなり、前記特定領域はディスク装置の全領域に割り当てられることが望ましい。
【００２１】
また、本発明の好ましい態様によれば、前記記憶手段の特定領域から独自のタイミングでデータの読み出しを行う読出手段を備えることが望ましい。
【００２２】
上述した課題を解決し、目的を達成するために、本発明のコンピュータが実行するためのプログラムは、記憶手段を有する他の１または複数のコンピュータとネットワークを介して接続され、前記記憶手段と自機の記憶手段を利用して前記ネットワーク内でネットワークＲＡＩＤシステムを構成するコンピュータに、自機でデータの書き込み要求が発生した場合に、前記他のコンピュータに当該データの書き込みを依頼し、また、前記記憶手段の特定領域に当該データを書き込む第１の書込工程と、前記他のコンピュータからデータの書き込み要求を受け取った場合に、前記記憶手段の特定領域に当該データを書き込む第２の書込工程と、を実行させることを特徴とする。
【００２３】
また、本発明の好ましい態様によれば、前記第１および第２の書込工程は、前記記憶手段の特定領域にデータを書き込み中に、他の書き込み要求があった場合には、排他処理を行うことが望ましい。
【００２４】
また、本発明の好ましい態様によれば、さらに、前記コンピュータに、前記記憶手段の特定領域から独自のタイミングでデータの読み出しを行う読出工程を実行させることが望ましい。
【発明の効果】
【００２５】
本発明によれば、ネットワークを介して相互に接続された複数のコンピュータと、各コンピュータにそれぞれ接続された記憶手段とを備え、各コンピュータにそれぞれ接続された記憶手段を利用して、ネットワーク内で仮想ＲＡＩＤ装置を構成しているので、安価でかつ高い信頼性を有するネットワークＲＡＩＤシステム、そのコンピュータ、およびコンピュータが実行するためのプログラムを提供することが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００２６】
以下に、この発明に係るネットワークＲＡＩＤシステム、そのコンピュータ、およびコンピュータが実行するためのプログラムを適用した実施例を、図面を参照しつつ詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、下記実施例における構成要素には、当業者が容易に想定できるものまたは実質的に同一のものが含まれる。
【実施例】
【００２７】
［ネットワークＲＡＩＤシステムの全体構成］
図１は、本発明の一実施例に係るネットワークＲＡＩＤシステム１の構成を示す図である。図１において、複数、例えば３台のコンピュータ２００Ａ、Ｂ、Ｃがネットワーク１００を介して相互に接続されている。以下、コンピュータ２００Ａ、Ｂ、Ｃを特に区別する必要がない場合は、コンピュータ２００と表記する。ネットワーク１００は、例えばＬＡＮ（ローカルエリアネットワーク）で構成することができる。このネットワーク１００は、有線に限られるものではなく無線でもよい。
【００２８】
コンピュータ２００Ａ、Ｂ、Ｃには、それぞれ記憶手段であるディスク装置３００Ａ、Ｂ、Ｃが接続されている。以下、ディスク装置３００Ａ、Ｂ、Ｃを特に区別する必要がない場合は、ディスク装置３００と表記する。ディスク装置３００Ａ、Ｂ、Ｃは、それぞれ、ＯＳ（例えば、Ｗｉｎｄｏｗｓ（登録商標）ＯＳ、Ｕｎｉｘ（登録商標）、Ｌｉｎｕｘ（登録商標）等）やアプリケーション等が格納される第１領域３０１Ａ、Ｂ、Ｃと、ＲＡＩＤ専用の領域である第２領域（以後「特定領域」という）３０２Ａ、Ｂ、Ｃと、コンピュータ２００Ａ、Ｂ、Ｃのマシン固有の情報が格納される第３領域３０２Ａ、Ｂ、Ｃとを有している。
【００２９】
この特定領域３０２Ａ、Ｂ、Ｃは、コンピュータ２００Ａ、Ｂ、Ｃにより共有される仮想的なＲＡＩＤ装置（仮想ＲＡＩＤ装置）４００を構成する。なお、この領域の割り当ては一例であって、ディスク装置３００の領域の割り当ては特に限定されるものではない。
【００３０】
本実施例に係るネットワークＲＡＩＤシステム１の第１の特徴は、システム内の各コンピュータ２００Ａ、Ｂ、Ｃが有するディスク装置３００Ａ、Ｂ、Ｃを利用して仮想ＲＡＩＤ装置４００を構成している点にある。仮想ＲＡＩＤ装置４００を構成する複数の特定領域３０２Ａ、３０２Ｂ、３０２Ｃのデータを、各コンピュータ２００Ａ、Ｂ、Ｃで共有することができる。各コンピュータ２００Ａ、Ｂ、Ｃは、それぞれ特定領域３０２Ａ、３０２Ｂ、３０２Ｃに同一のデータを書き込み、各特定領域３０２Ａ、３０２Ｂ、３０２Ｃで同一のデータを保持する。
【００３１】
本実施例に係るネットワークＲＡＩＤシステム１の第２の特徴は、当該仮想ＲＡＩＤ装置４００を構成する複数の特定領域３０２Ａ、Ｂ、Ｃのいずれか１つに障害が発生しても、残りの特定領域のデータから障害が発生した特定領域のデータが復元でき、データの可用性を向上させることができる点にある。
【００３２】
この点、従来のＲＡＩＤシステムによれば、可用性を高めるためには、ＨＤＤ装置を増設することを要し、信頼性が低下（故障率が上昇）するという欠点があったが、本システムによれば、ＲＡＩＤのための装置の増設が必要ないため、故障率を増加させることなく可用性を高めることが可能となる。
【００３３】
なお、ここでは、第１領域３０１、特定領域３０２、および第３領域３０３を１つのディスク装置３００に割り当てているが、記憶手段を複数のディスク装置で構成し、特定領域３０２を第１領域３０１、第２領域３０３と物理的に別のディスク装置に割り当てることにしても良い。
【００３４】
図２は、第１領域３０１と第３領域３０３を第１ディスク装置３１０に割り当て、特定領域３０２を第２ディスク装置３１１に割り当てた場合のネットワークＲＡＩＤシステム１の構成例を示す図である。すなわち、本実施例の記憶手段は、単一のディスク装置で構成しても、複数のディスク装置で構成することに良い。ディスク装置３１０、３１１は、ホットスワップ可能に構成されるのが望ましい。
【００３５】
［コンピュータの構成］
図３は、図１のコンピュータ２００の構成を示すブロック図である。コンピュータ２００は、例えば、ＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）で構成することができる。コンピュータ２００は、図３に示すように、ネットワーク１００に接続するためのＬＡＮコントローラ２０１と、キーボード、マウス、タブレット等からなる入力装置２０２と、ＬＣＤやＣＲＴからなる表示装置２０３と、コンピュータの各部の動作を制御する制御部２０４とを備えている。
【００３６】
ＬＡＮコントローラ２０１は、ネットワーク１００に接続するＬＡＮカード等から構成される。制御部２０４は、例えば、プログラムやデータを記憶するＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｌｙ）、一時的にデータを保管するＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、及びプログラムやデータを当該ＲＯＭやディスク装置３００から読み出して実行するＣＰＵ等で構成される。
【００３７】
制御部２０４は、プログラムを実行することにより、ディスク装置３００に対するデータの書き込み／読み出しの制御等を行うＲＡＩＤ制御部２０５として機能する。具体的には、ＲＡＩＤ制御部２２１は、（１）データの書き込み要求が発生した場合に、ネットワークＲＡＩＤシステム１を構成する他のコンピュータに当該データの書き込みを依頼し、また、ディスク装置３００の特定領域３０２に当該データを書き込む機能（第１の書込手段）、（２）ネットワークＲＡＩＤシステム１を構成する他のコンピュータからデータの書き込み要求を受け取った場合に、ディスク装置３００の特定領域３０２に当該データを書き込む機能（第２の書込手段）、（３）ディスク装置３００の特定領域３０２から独自のタイミングでデータの読み出しを行う機能（読出手段）等を有している。
【００３８】
図４は、各コンピュータ２００Ａ、Ｂ、Ｃの表示装置２０３Ａ、Ｂ、Ｃに表示される特定領域３０２Ａ、Ｂ、Ｃの一例を示す図である。図４に示すように、特定領域３０２Ａ、Ｂ、Ｃは、各コンピュータ２００Ａ、Ｂ、Ｃから単一なディスク領域として認識される。同図に示す例では、各特定領域３０２Ａ、Ｂ、Ｃは９００ＭＢであり、各コンピュータ２００Ａ、Ｂ、Ｃから９００ＭＢの単一なディスク領域として認識される。
【００３９】
［データの書き込み・読み込み動作］
各コンピュータ２００Ａ、Ｂ、Ｃが、ディスク装置３００Ａ、Ｂ、Ｃの特定領域３０２Ａ、Ｂ、Ｃに対して、データの書き込み・読み込む動作を説明する。図５は、コンピュータ２００Ａ、Ｂ、Ｃが、ディスク装置３００Ａ、Ｂ、Ｃの特定領域３０２Ａ、Ｂ、Ｃに対して、データの書き込み・読み込む動作の概略を説明するためのフローチャートである。
【００４０】
図５において、コンピュータ２００Ａ、Ｂ、Ｃのいずれか１つでデータの更新が発生した場合には（Ａ１の［Ｙｅｓ」）、当該コンピュータ２００は、特定領域３０２を占有して、データを書き込むことを他のコンピュータ２００に通知する（Ａ２）。通知を受信した全てのコンピュータ２００の用意ができた場合には（Ａ３の「Ｙｅｓ」）、各コンピュータ２００でそれぞれの特定領域３０２でデータの更新を開始する（Ａ４）。全てのコンピュータ２００でデータ更新が完了した場合には（Ａ５の「Ｙｅｓ」）、データの更新を終了する。他方、コンピュータ２００Ａ、Ｂ、Ｃのいずれにもデータの更新が発生しない場合には（Ａ１の［Ｎｏ」）、各コンピュータ２００Ａ、Ｂ、Ｃは、独自のタイミングで各特定領域３０２Ａ、Ｂ、Ｃで読み取る（Ａ６の「Ｎｏ」）。
【００４１】
図６は、各コンピュータ２００Ａ、Ｂ、Ｃが、ディスク装置３００Ａ、Ｂ、Ｃの特定領域３０２Ａ、Ｂ、Ｃに対して、データの書き込み・読み込む動作を説明するための模式図である。同図では、コンピュータ２００Ａがディスク装置３００Ａでデータの更新が発生した場合の動作を説明する。同図において、ファイルシステム・コール２５２および特定領域ファイルモジュール２５３は、上述したＲＡＩＤ制御部２０５の１機能である。
【００４２】
書き込み処理時には、各コンピュータ２００Ａ、Ｂ、Ｃの特定領域ファイルモジュール２５３Ａ、Ｂ、Ｃは、リアルタイムにデータの更新を行うことで、データの冗長化を行う。冗長化処理中は、各コンピュータ２００Ａ、Ｂ、Ｃは、ネットワークＲＡＩＤシステム１を構成する全てのコンピュータ２００に対して、ファイルシステムの最下層のコマンドレベルでネットワーク１００越しに、他のファイル更新要求を排他処理する。
【００４３】
読み込み処理は、各コンピュータ２００Ａ、Ｂ、Ｃで逐次可能となっている。ファイル読み込み時には、各コンピュータ２００Ａ、Ｂ、Ｃの特定領域ファイルモジュール２５３Ａ、Ｂ、Ｃは、それぞれ特定領域３０２Ａ、Ｂ、Ｃのファイルを独自のタイミングで読み取ることが可能となっている。
【００４４】
コンピュータ２００Ａにおいて、アプリケーション２５１Ａでファイルの特定領域３０２への書き込み要求が発生した場合には、ファイルシステム・コール２５２Ａは、特定領域ファイルモジュール２５３Ａに特定領域３０２へのファイルの書き込みを依頼する。特定領域ファイルモジュール２５３Ａは、コンピュータＢ、Ｃの特定領域ファイルモジュール２５３Ｂ、Ｃに対して、ファイルとタイムスタンプを送信して、書き込みを依頼する。そして、特定領域ファイルモジュール２５３Ａ、Ｂ、Ｃは、ディスク装置３００Ａ、Ｂ、Ｃの特定領域３０２Ａ、Ｂ、Ｃに略同時に同一のファイルをそれぞれ書き込む。
【００４５】
［エラー発生時の動作・リカバリー動作］
コンピュータ２００Ａ、Ｂ、Ｃでエラーが発生した場合の動作、およびそのリカバリー動作を説明する。
【００４６】
１．ネットワークＲＡＩＤシステムが正常に動作しない場合
図７は、コンピュータ２００Ａ、Ｂ、Ｃのいずれかでトラブルが発生した場合の処理を説明するための図である。コンピュータ２００Ａ、Ｂ、Ｃのいずれかでトラブルが発生した場合は、そのコンピュータ２００を切り離し、残りのコンピュータ２００でＲＡＩＤシステムを継続する。
【００４７】
図７において、例えば、コンピュータ２００Ａが故障した場合には、そのコンピュータ２００Ａを切り離し、残りのコンピュータ２００Ｂ、ＣでＲＡＩＤシステムを継続する。
【００４８】
２．読み込み処理で特定領域３０２にエラーが発生した場合
図８は、コンピュータ２００Ａ、Ｂ、Ｃのディスク装置３００Ａ、Ｂ、Ｃの特定領域３０２Ａ、Ｂ、Ｃにおいて、読み込み処理でエラーが発生した場合の処理を説明するための図である。
【００４９】
コンピュータ２００Ａ、Ｂ、Ｃのいずれか１つの特定領域３０２Ａ、Ｂ、Ｃで読み込み処理中にエラーが発生した場合には、他のコンピュータ２００の特定領域３０２で読み込み処理を継続し、以降、故障した特定領域３０２へはアクセスしない。
【００５０】
図８において、例えば、コンピュータ２００ＡのアプリケーションＡからの特定領域３０２Ａの読み込み処理でディスクエラーが発生した場合には、他のコンピュータ２００Ｂまたは２００Ｃの特定領域３０２Ａ、３０２Ｂから読み込み処理を行って処理を継続する。以後、特定領域３０２Ａにはアクセスしない。
【００５１】
３．書き込み処理で特定領域３０２にエラーが発生した場合
図９は、コンピュータ２００Ａ、Ｂ、Ｃのディスク装置３００Ａ、Ｂ、Ｃの特定領域３０２Ａ、Ｂ、Ｃにおいて、書き込み処理でエラーが発生した場合の処理を説明するための図である。コンピュータ２００Ａ、Ｂ、Ｃのいずれか１つの特定領域３０２Ａ、Ｂ、Ｃで書き込み処理でエラーが発生した場合には、他のコンピュータ２００の特定領域３０２で書き込み処理を継続し、以降、故障した特定領域３０２へはアクセスしない。
【００５２】
図９において、例えば、コンピュータ２００ＡのアプリケーションＡからの書き込み処理において、特定領域３０２Ａでディスクエラーが発生した場合には、他の特定領域３０２Ｂ、Ｃで処理が成功している場合は、書き込み処理を継続し、以後、特定領域３０２Ａにはアクセスしない。
【００５３】
なお、上記読み込み処理および書き込み処理では、ディスク装置３００の特定領域３０２でセクターエラーが発生したものとして、アプリケーションＡが処理を継続しているが、通常、物理的なディスクエラーが発生した場合には、領域を分割していても同一のディスク装置を利用している限りディスク全体に影響が発生するため、いずれシステム的なエラーが発生する可能性がある。そのため、上記２、３の対処法は、特定領域３０２を物理的に別のディスクに割り当てた上記図２の構成の場合に有効である。
【００５４】
４．特定領域のリカバリー
図１０は、特定領域３０２をリカバリーする手順を説明するためのフローチャートである。特定領域３０２をリカバリーする場合には、特定領域３０２が正常なコンピュータ２００から特定領域３０２の全エリアのブロック転送を利用する。
【００５５】
図１０において、ＲＡＩＤシステムへの復帰を希望するコンピュータ２００からＲＡＩＤシステムが正常に動作している全てのコンピュータに復帰要求を通知する（Ａ１１）。通知を受けたコンピュータ２００は、自機の特定領域へのアクセスを一時的に禁止する（Ａ１２）。通知を受けたコンピュータ２００の１つは、自機の特定領域３０２の全エリアをブロック転送を利用して、ＲＡＩＤシステムへの復帰を希望するコンピュータ２００の特定領域３０２にコピーする（Ａ１３）。この後、全てのコンピュータ２００でＲＡＩＤシステムを起動する（Ａ１４）。
【００５６】
図１１は、特定領域３０２のリカバリーの具体例を示す図である。図１１において、例えば、コンピュータ２００Ｃの特定領域３０２Ｃでエラーが発生して、ＲＡＩＤシステムへの復帰を希望する場合には、コンピュータ２００Ｃは、コンピュータ２００Ａ、Ｂに復帰要求を通知する。通知を受けたコンピュータ２００Ａ、Ｂは、自機の特定領域３０２Ａ、Ｂへのアクセスを一時的に禁止する。コンピュータ２００Ａまたは２００Ｂは、自機の特定領域３０２Ａ、Ｂの全エリアのデータをコンピュータ２００Ｃの特定領域３０２Ｃにコピーする。これにより、全てのコンピュータ２００Ａ、Ｂ、Ｃで特定領域３０２Ａ、Ｂ、Ｃへのアクセスが可能となる。
【００５７】
なお、ネットワークＲＡＩＤシステム１の全てのコンピュータ２００Ａ、Ｂ、Ｃの特定領域３０２Ａ、Ｂ、Ｃが全て故障した場合（地震や火事の場合）に備えて、外部のネットワークに接続されるデータセンター５００でネットワークＲＡＩＤシステム１の特定領域３０２のデータのバックアップを行うことにしてもよい。
【００５８】
図１２は、データセンター５００を使用して、ネットワークＲＡＩＤシステム１をリカバリーする手順を説明するためのフローチャートである。図１２において、まず、ネットワークＲＡＩＤシステム１を構築する全てのコンピュータ２００の特定領域３０２へのアクセスを禁止し（Ａ２１）、データセンター５００は、ネットワークＲＡＩＤシステム１を構成するコンピュータ２００の１つの特定領域３０２を復元する（Ａ２２）。特定領域３０２を復元したコンピュータ２００は、その特定領域３０２を他のコンピュータ２００の特定領域３０２にコピーする（Ａ２３）。この後、全てのコンピュータ２００でＲＡＩＤシステムを起動する（Ａ２４）。
【００５９】
図１３は、データセンター５００を使用して特定領域３０２をリカバリーする具体例を示す図である。図１３において、まず、ネットワークＲＡＩＤシステム１の全コンピュータ２００Ａ、Ｂ、Ｃの特定領域３０２Ａ、Ｂ、Ｃをリカバリする場合は、コンピュータ２００Ａ、Ｂ、Ｃの特定領域３０２Ａ、Ｂ、Ｃへのアクセスを禁止し、データセンター５００は、コンピュータ２００Ｃの特定領域３０２Ｃを復元する。コンピュータ２００Ｃは、その特定領域３０２Ｃをコンピュータ２００Ａ、Ｂの特定領域３０２Ａ、Ｂにコピーする。これにより、全てのコンピュータ２００Ａ、Ｂ、Ｃで特定領域３０２Ａ、Ｂ、Ｃへのアクセス可能が可能となる。なお、リムーバルディスクをバックアップ先に使用することにしても良い。
【００６０】
以上説明したように、本実施例のネットワークＲＡＩＤシステム１によれば、各コンピュータ２００Ａ、Ｂ、Ｃにそれぞれ接続された記憶手段を利用して、ネットワーク１００内で仮想ＲＡＩＤ装置４００を構成しているので、複数台の低コストなコンピュータを使用して、ＲＡＩＤを実現することにより、負荷を複数台のコンピュータに分散でき、安価でかつ信頼性の高いネットワークＲＡＩＤシステムを構築することができる。
【００６１】
［変形例］
（１）上記実施例では、ディスク装置３００の制御をソフトウエアで行うこととしたが、ＨＤＤコントローラ（例えば、ＲＡＩＤコントローラ）を使用して、ディスク装置３００の制御を行うことにしても良い。この場合、ネットワーク制御を行うＬＡＮコントローラ２０１とディスク装置３００の制御を行うＨＤＤコントローラをネットワークＲＡＩＤボードに搭載することにしても良い。図１４は、ネットワークＲＡＩＤボードの構成の一例を示す図である。ネットワークＲＡＩＤボードは、図１４に示すように、ＬＡＮコントローラ２０１と、ＣＰＵ２６１と、ＲＯＭ２６２と、ＲＡＭ２６３と、ＨＤＤコントローラ２６４とを備えている。
【００６２】
（２）ネットワークＲＡＩＤシステム１と同一のネットワーク１００上に、外部クライアントやサーバを接続することにしても良い。図１５は、ネットワークＲＡＩＤシステム１と同一のネットワーク１００上に、外部クライアントやサーバを接続した構成を示す図である。外部クライアントやサーバからは、ネットワークＲＡＩＤシステム１は、仮想的なＮＡＳとして認識される。外部クライアントやサーバが、ネットワークＲＡＩＤシステム１の特定領域３０２にデータを書き込む場合は、ネットワークＲＡＩＤシステム１を構成するコンピュータ２００の１つに書き込みを依頼すると、コンピュータ２００Ａ、Ｂ、Ｃがぞれぞれの特定領域３０２Ａ、Ｂ、Ｃに同一のデータを書き込む。このように、外部クライアントやサーバが、ネットワークＲＡＩＤシステム１を使用することができる。
【００６３】
（３）ネットワーク１００上で構成されるネットワークＲＡＩＤシステムの数は１つに限られるものではなく、同一のネットワーク１００上に複数のネットワークＲＡＩＤシステムを構成することにしても良い。図１６は、ネットワーク１００上にネットワークＲＡＩＤシステムＡ、ネットワークＲＡＩＤシステムＢを構成した場合を示す図である。
【００６４】
（４）上記実施例では、３台のコンピュータ２００Ａ、Ｂ、ＣでネットワークＲＡＩＤシステム１を構成しているが、多数のコンピュータを接続して、大規模なシステム構成にすることにしてもよい。この場合、複数のグループを設定することで、パフォーマンスの低下を防ぐことが望ましい。
【００６５】
（５）各コンピュータ２００Ａ、Ｂ、Ｃのディスク領域間を高速にデータ転送を行うための専用ネットワークを実装することにしても良い。これにより、冗長処理を短時間に完了させることができ、ネットワーク１００の負荷を軽減することができる。
【産業上の利用可能性】
【００６６】
本発明に係るネットワークＲＡＩＤシステムは、低コストな構成でネットワーク上でＲＡＩＤ機能を実現する場合に有用である。
【図面の簡単な説明】
【００６７】
【図１】本発明の一実施例に係るネットワークＲＡＩＤシステムの構成を示す図である。
【図２】ネットワークＲＡＩＤシステムの変形例を示す図である。
【図３】図１のコンピュータの構成を示すブロック図である。
【図４】各コンピュータの表示装置に表示される特定領域の一例を示す図である。
【図５】コンピュータが、ディスク装置の特定領域に対して、データの書き込み・読み込む動作の概略を説明するためのフローチャートである。
【図６】各コンピュータが、ディスク装置の特定領域に対して、データの書き込み・読み込む動作を説明するための模式図である。
【図７】コンピュータのいずれかでトラブルが発生した場合の処理を説明するための図である。
【図８】コンピュータのディスク装置の特定領域において、読み込み処理でエラーが発生した場合の処理を説明するための図である。
【図９】コンピュータのディスク装置の特定領域において、書き込み処理でエラーが発生した場合の処理を説明するための図である。
【図１０】特定領域をリカバリーする手順を説明するためのフローチャートである。
【図１１】特定領域のリカバリーの具体例を示す図である。
【図１２】データセンターを使用して、ネットワークＲＡＩＤシステムをリカバリーする手順を説明するためのフローチャートである。
【図１３】データセンターを使用して特定領域をリカバリーする具体例を示す図である。
【図１４】ネットワークＲＡＩＤボードの構成の一例を示す図である。
【図１５】ネットワークＲＡＩＤシステムと同一のネットワーク上に、外部クライアントやサーバを接続した構成を示す図である。
【図１６】ネットワーク上に複数のネットワークＲＡＩＤシステムを構成した場合の構成例を示す図である。
【符号の説明】
【００６８】
１  ネットワークＲＡＩＤシステム
１００  ネットワーク
２００  コンピュータ
２０１  ＬＡＮコントローラ
２０２  入力装置
２０３  表示装置
２０４  制御部
２０５  ＲＡＩＤ制御部
３００  ディスク装置
３０１  第１領域
３０２  特定領域
３０３  第３領域
３１０  第１ディスク装置
３１２  第２ディスク装置
５００  データセンター
【図１】
2006106898.tif 000003
【図２】
2006106898.tif 000004
【図３】
2006106898.tif 000005
【図４】
2006106898.tif 000006
【図５】
2006106898.tif 000007
【図６】
2006106898.tif 000008
【図７】
2006106898.tif 000009
【図８】
2006106898.tif 000010
【図９】
2006106898.tif 000011
【図１０】
2006106898.tif 000012
【図１１】
2006106898.tif 000013
【図１２】
2006106898.tif 000014
【図１３】
2006106898.tif 000015
【図１４】
2006106898.tif 000016
【図１５】
2006106898.tif 000017
【図１６】
2006106898.tif 000018