(57)【要約】【課題】  共有リソースの使用の排他制御を行うべく、各データアクセス装置の異常の有無を適切に検出する。【解決手段】  複数のＮＡＳヘッド１〜４と、ＮＡＳヘッド１〜４がアクセス可能な共有ＬＵ１８とを備え、共有ＬＵ１８は、共有リソース２１と、ＮＡＳヘッド１用のカウンタ値とを記憶している。ＮＡＳヘッド１は、共有リソース２１が未使用状態であれば、共有リソース２１にアクセスし、共有リソース２１が他のＮＡＳヘッド２〜４に使用されていれば、共有リソース２１にアクセスしない使用リソース登録／削除部３５と、カウント値をゼロにリセットするリセット部３９とを備える。ＮＡＳヘッド２は、カウンタ値が所定の閾値を越えた場合、共有リソース２１がＮＡＳヘッド１に使用されたままの使用状態になっていれば、使用状態を解除して共有リソース２１を未使用状態に解放する。【選択図】図２
2005141672.tif 000002
【特許請求の範囲】
【請求項１】
共有リソースの使用排他制御方式であって、
第１と第２のデータアクセス装置を含んだ複数のデータアクセス装置と、
前記複数のデータアクセス装置がアクセス可能な共有記憶デバイスと
を備え、
前記共有記憶デバイスは、
前記複数のデータアクセス装置が使用可能な共有リソースと、
前記第１データアクセス装置用の第１更新可能情報と
を記憶しており、
前記第１データアクセス装置は、
前記共有リソースがどのデータアクセス装置にも使用されていない未使用状態であれば、前記共有リソースにアクセスし、前記共有リソースが他のデータアクセス装置に使用されていれば、前記共有リソースにアクセスしないアクセス制御手段と、
前記第１更新可能情報を更新する情報更新手段と
を備え、
前記第２データアクセス装置は、
前記第１更新可能情報が所定の更新結果になっていない場合、前記共有リソースが前記第１データアクセス装置に使用されたままの使用状態になっていれば、前記使用状態を解除して前記共有リソースを前記未使用状態に解放するリソース解放手段と
を備える方式。
【請求項２】
前記第１更新可能情報は、他のデータアクセス装置によってインクリメントされるカウント値であり、
前記第１データアクセス装置の前記情報更新手段は、所定のタイミングで前記インクリメントされたカウント値を所定値にリセットし、
前記第２データアクセス装置の前記リソース解放手段は、前記カウント値が或る閾値を越えている場合、前記共有リソースが前記使用状態になっていれば、前記共有リソースを前記未使用状態に解放にする、
請求項１記載の方式。
【請求項３】
前記複数のデータアクセス装置には第３データアクセス装置が含まれ、
前記共有記憶デバイスには、前記第３データアクセス装置用の第３更新可能情報が記録されており、
前記第１データアクセス装置は、前記第３更新可能情報を更新する別の情報更新手段を更に備え、
前記第２データアクセス装置の前記リソース解放手段は、前記第３更新可能情報が所定の更新結果になっていない場合、前記共有リソースが前記使用状態であれば前記共有リソースを前記未使用状態に解放する、
請求項１記載の方式。
【請求項４】
前記共有記憶デバイスには、前記第３更新可能情報の更新日時も更に記録され、
前記第１データアクセス装置は、前記第３更新可能情報を更新し且つそれの更新日時を前記共有記憶デバイスに記録する別の情報更新手段を更に備え、
前記第２データアクセス装置の前記リソース解放手段は、前記共有記憶デバイスに記録されている更新日時に基づいて、前記第１データアクセス装置が稼動状態か否かを判断し、稼動状態でないと判断された場合、前記共有リソースが前記使用状態であれば前記共有リソースを前記未使用状態に解放する、
請求項３記載の方式。
【請求項５】
各データアクセス装置が、他のデータアクセス装置を監視するようになっている場合、
前記第２データアクセス装置は、前記第１更新可能情報の更新が無い場合、自分の監視対象の前記第１データアクセス装置が稼動状態ではない判断して、どのデータアクセス装置にも監視されていない別の稼動状態のデータアクセス装置を探し、その別のデータアクセス装置を監視対象として監視を行う、
請求項１記載の方式。
【請求項６】
前記共有記憶デバイスが、どのデータアクセス装置がどのデータアクセス装置を監視対象としているかを示す監視関係情報と、各データアクセス装置が稼動状態か未稼働状態かを表す稼動状況情報とを記憶し、
前記第２データアクセス装置は、
前記第１更新可能情報の更新が無い場合、自分の監視対象の前記第１データアクセス装置が稼動状態から未稼働状態になったと判断して前記稼動状況情報を更新する手段と、
前記第１データアクセス装置を監視対象から外して前記監視関係情報を更新する手段と、
前記監視関係情報と前記稼動状況情報とに基づいて、前記未稼働状態になった前記第１データアクセス装置の監視対象となっており且つ稼動状態の別のデータアクセス装置を探す手段と、
前記別のデータアクセス装置を新たな監視対象として更に前記監視関係情報を更新する手段と
を更に備える請求項５記載の方式。
【請求項７】
前記複数のデータアクセス装置には、第３データアクセス装置も含まれており、
前記第２データアクセス装置は前記第１データアクセス装置を監視し、前記第１データアクセス装置は前記第３データアクセス装置を監視し、前記第３データアクセス装置は前記第２データアクセス装置を監視し、
前記共有記憶デバイスには、前記第１〜第３のデータアクセス装置の各々について、以下の（Ａ）〜（Ｃ）の情報、
（Ａ）そのデータアクセス装置を監視する上位データアクセス装置によって所望内容に更新され、且つ、前記データアクセス装置によって別の所望内容に更新される更新可能情報、
（Ｂ）そのデータアクセス装置が稼動状態か未稼働状態かを意味する稼動状況情報、
（Ｃ）そのデータアクセス装置が監視する下位データアクセス装置を表す下位装置情報、
が記録されており、
前記第２データアクセス装置のリソース解放手段は、前記第１更新可能情報が所定の更新結果になっていない場合、又は、前記第３データアクセス装置に対応した第３更新可能情報が所定の更新結果になっていない場合、以下の（１）〜（３）の処理、
（１）前記第１データアクセス装置に対応した前記稼動状況情報を、稼動状態を意味する情報から未稼働状態を表す情報に変更する処理、
（２）前記第２データアクセス装置の下位装置情報を、前記第１データアクセス装置を表す情報から、前記第１データアクセス装置の前記下位データアクセス装置である前記第３データアクセス装置を表す情報に変更する処理、
（３）前記第１データアクセス装置によって前記共有リソースが使用状態になっていれば前記共有リソースを未使用状態に解放する処理、
を実行する、
請求項１記載の方式。
【請求項８】
共有リソースの使用排他制御方法であって、第１と第２のデータアクセス装置を含んだ複数のデータアクセス装置と、前記複数のデータアクセス装置がアクセス可能な共有記憶デバイスとを備えたシステムにおいて行われる方法であり、
前記共有記憶デバイスは、
前記複数のデータアクセス装置が使用可能な共有リソースと、
前記第１データアクセス装置用の第１更新可能情報と
を記憶しており、
前記第１データアクセス装置が、前記共有リソースがどのデータアクセス装置にも使用されていない未使用状態であれば、前記共有リソースにアクセスし、前記共有リソースが他のデータアクセス装置に使用されていれば、前記共有リソースにアクセスしないステップと、
前記第１データアクセス装置が、前記第１更新可能情報を更新するステップと
前記第２データアクセス装置が、前記第１更新可能情報が所定の更新結果になっていない場合、前記共有リソースが前記第１データアクセス装置に使用されたままの使用状態になっていれば、前記使用状態を解除して前記共有リソースを前記未使用状態に解放するステップと
を有する方法。
【請求項９】
複数のデータアクセス装置がアクセス可能な共有記憶デバイスにアクセスするデータアクセス装置であって、
前記共有記憶デバイスに、前記複数のデータアクセス装置が使用可能な共有リソースと、他のデータアクセス装置によって更新される更新可能情報とが格納されている場合、
前記共有リソースがどのデータアクセス装置にも使用されていない未使用状態であれば、前記共有リソースにアクセスし、前記共有リソースが他のデータアクセス装置に使用されていれば、前記共有リソースにアクセスしないアクセス制御手段と、
前記更新可能情報が所定の更新結果になっていない場合、前記共有リソースが前記他のデータアクセス装置に使用されたままの使用状態になっていれば、前記使用状態を解除して前記共有リソースを前記未使用状態に解放するリソース解放手段と
を備える装置。
【請求項１０】
複数のデータアクセス装置がアクセス可能な共有記憶デバイスにアクセスするデータアクセス装置を構築するためのコンピュータプログラムであって、
前記共有記憶デバイスに、前記複数のデータアクセス装置が使用可能な共有リソースと、他のデータアクセス装置によって更新される更新可能情報とが格納されている場合、
前記共有リソースがどのデータアクセス装置にも使用されていない未使用状態であれば、前記共有リソースにアクセスし、前記共有リソースが他のデータアクセス装置に使用されていれば、前記共有リソースにアクセスしないステップと、
前記更新可能情報が所定の更新結果になっていない場合、前記共有リソースが前記他のデータアクセス装置に使用されたままの使用状態になっていれば、前記使用状態を解除して前記共有リソースを前記未使用状態に解放するステップと
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータアクセス装置がアクセス可能な共有リソースの使用の排他制御を行うための技術に関する。
【背景技術】
【０００２】
この種の技術として、例えば特許文献１に開示の技術が知れられている。この技術は、複数の分散処理装置（クライアント）と共有ディスク装置とに接続された中央処理装置（サーバ）が、複数の分散処理装置の共有ディスク装置へのアクセスを制御する。具体的には、中央処理装置が、或る分散処理装置からファイル更新要求を受けた場合、それの対象となる共有ファイルをロック状態にしてから、タイムカウンタによりそのロック状態の継続時間長を監視し、共有ファイルの更新が終わる前にタイムアップになったら、ファイル更新要求元の分散処理装置がダウンしているか否かを検知し、ダウンしていれば、強制的にロック状態を解除する。
【０００３】
【特許文献１】特開平５−２６５９８５号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１によれば、分散処理装置がダウンしているか否かが検知され、ダウンしているときに、共有ファイルのロック状態が強制的に解除される。しかし、特許文献１には、分散処理装置がダウンしているか否かをどのように検知するかは何ら開示も示唆もされていない。
【０００５】
また、特許文献１によれば、複数の分散処理装置がダウンしたか否かを１台の中央処理装置が検知するので、中央処理装置それ自体に異常が発生してしまった場合には、複数の分散処理装置がダウンしていなくても、共有ディスク装置の使用の排他制御を行うことはできない。
【０００６】
従って、本発明の目的は、複数のデータアクセスがアクセス可能な共有リソースの使用の排他制御を行うべく、各データアクセス装置の異常の有無を適切に検出することにある。
【０００７】
本発明の別の目的は、共有リソースの使用排他制御を行っている装置の一台が稼動しなくなっても、継続して共有リソースの使用排他制御を行うことにある。
【０００８】
本発明の他の目的は、後述の説明から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本発明に従う方式は、第１と第２のデータアクセス装置を含んだ複数のデータアクセス装置と、前記複数のデータアクセス装置がアクセス可能な共有記憶デバイスとを備える。前記共有記憶デバイスは、前記複数のデータアクセス装置が使用可能な共有リソースと、前記第１データアクセス装置用の第１更新可能情報（具体的には、更新されることが可能な情報）とを記憶している。前記第１データアクセス装置は、前記共有リソースがどのデータアクセス装置にも使用されていない未使用状態であれば、前記共有リソースにアクセスし、前記共有リソースが他のデータアクセス装置に使用されていれば、前記共有リソースにアクセスしないアクセス制御手段と、前記第１更新可能情報を更新する情報更新手段とを備える。前記第２データアクセス装置は、前記更新可能情報が所定の更新結果になっていない場合、前記共有リソースが前記第１データアクセス装置に使用されたままの使用状態になっていれば、前記使用状態を解除して前記共有リソースを前記未使用状態に解放するリソース解放手段とを備える。
【００１０】
データアクセス装置は、共有リソースにアクセス可能な装置であれば、種々の装置を適用し得る。一例として、複数台のＮＡＳ（Network Attached Storage）が共有記憶デバイス内の共有リソースにアクセス可能な場合、各ＮＡＳそれ自体又はそれに搭載されているＮＡＳヘッドがデータアクセス装置である。別の例として、複数台のホスト装置がＳＡＮ（Storage Area Network）を介して共有記憶デバイス内の共有リソースにアクセス可能な場合、各ホスト装置がデータアクセス装置である。
【００１１】
共有記憶デバイスは、物理的な記憶デバイスであっても論理的な記憶デバイスであっても良い。
【００１２】
この方式において、どのデータアクセス装置が共有リソースを使用しているかは、例えば以下の方法で判別しても良い。すなわち、前記複数のデータアクセス装置の各々が、装置ＩＤを有し、共有リソースにアクセスする場合に前記装置ＩＤを前記共有記憶デバイスに書き、前記第１データアクセス装置は、他のデータアクセス装置の装置ＩＤが前記共有デバイスに書かれていなければ、前記共有リソースへのアクセスを行ない、他のデータアクセス装置の装置ＩＤが書かれていれば、前記アクセスを行わない。
【００１３】
第１の好適な実施形態では、前記第１更新可能情報は、他のデータアクセス装置によってインクリメントされるカウント値である。前記第１データアクセス装置の前記情報更新手段は、所定のタイミングで前記インクリメントされたカウント値を所定値にリセットする。前記第２データアクセス装置の前記リソース解放手段は、前記カウント値が或る閾値を越えている場合、前記共有リソースが前記使用状態になっていれば、前記共有リソースを前記未使用状態に解放にする。
【００１４】
第２の好適な実施形態では、前記複数のデータアクセス装置には第３データアクセス装置が含まれ、前記共有記憶デバイスには、前記第３データアクセス装置用の第３更新可能情報が記録されており、前記第１データアクセス装置は、前記第３更新可能情報を更新する別の情報更新手段を更に備え、前記第２データアクセス装置の前記リソース解放手段は、前記第３更新可能情報が所定の更新結果になっていない場合、前記共有リソースが前記使用状態であれば前記共有リソースを前記未使用状態に解放する。
【００１５】
第３の好適な実施形態では、第２の好適な実施形態において、前記共有記憶デバイスには、前記第３更新可能情報の更新日時も更に記録され、前記第１データアクセス装置は、前記第３更新可能情報を更新し且つそれの更新日時を前記共有記憶デバイスに記録する別の情報更新手段を更に備え、前記第２データアクセス装置の前記リソース解放手段は、前記共有記憶デバイスに記録されている更新日時に基づいて、前記第１データアクセス装置が稼動状態か否かを判断し、稼動状態でないと判断された場合、前記共有リソースが前記使用状態であれば前記共有リソースを前記未使用状態に解放する。
【００１６】
第４の好適な実施形態では、各データアクセス装置が、他のデータアクセス装置を監視するようになっている場合、前記第２データアクセス装置は、前記第１更新可能情報の更新が無い場合、自分の監視対象の前記第１データアクセス装置が稼動状態ではない判断して、どのデータアクセス装置にも監視されていない別の稼動状態のデータアクセス装置を探し、その別のデータアクセス装置を監視対象として監視を行う。
【００１７】
ここでの「監視」は、例えば、前記第２データアクセス装置と前記第１データアクセス装置との間の通信結果に基づく直接的な監視であっても良いし、前記第２データアクセス装置が前記第１更新可能情報の更新の有無をチェックする間接的な監視であっても良い。
【００１８】
第５の好適な実施形態では、前記第４の好適な実施形態において、前記共有記憶デバイスが、どのデータアクセス装置がどのデータアクセス装置を監視対象としているかを示す監視関係情報と、各データアクセス装置が稼動状態か未稼働状態かを表す稼動状況情報とを記憶し、前記第２データアクセス装置は、前記第１更新可能情報の更新が無い場合、自分の監視対象の前記第１データアクセス装置が稼動状態から未稼働状態になったと判断して前記稼動状況情報を更新する手段と、前記第１データアクセス装置を監視対象から外して前記監視関係情報を更新する手段と、前記監視関係情報と前記稼動状況情報とに基づいて、前記未稼働状態になった前記第１データアクセス装置の監視対象となっており且つ稼動状態の別のデータアクセス装置を探す手段と、前記別のデータアクセス装置を新たな監視対象として更に前記監視関係情報を更新する手段とを更に備える。
【００１９】
第６の好適な実施形態では、前記複数のデータアクセス装置には、第３データアクセス装置も含まれている。前記第２データアクセス装置は、前記第１データアクセス装置を監視し、前記第１データアクセス装置は、前記第３データアクセス装置を監視し、前記第３データアクセス装置は、前記第２データアクセス装置を監視する。前記共有記憶デバイスには、前記第１〜第３のデータアクセス装置の各々について、
（Ａ）そのデータアクセス装置を監視する上位データアクセス装置によって所望内容に更新され、且つ、前記データアクセス装置によって別の所望内容に更新される更新可能情報（例えば、上位データアクセス装置によってカウントアップされ、それに監視されている当該データアクセス装置がゼロ等の所定値にリセット可能なカウンタ値）、
（Ｂ）そのデータアクセス装置が稼動状態か未稼働状態かを意味する稼動状況情報、
（Ｃ）そのデータアクセス装置が監視する下位データアクセス装置を表す下位装置情報、
の（Ａ）〜（Ｃ）の情報が格納されている。前記第２データアクセス装置のリソース解放手段は、前記第１更新可能情報が所定の更新結果でない場合、又は、前記第３データアクセス装置に対応した第３更新可能情報が所定の更新結果でない場合、以下の（１）〜（３）の処理、
（１）前記第１データアクセス装置に対応した前記稼動状況情報を、稼動状態を意味する情報から未稼働状態を表す情報に変更する処理、
（２）前記第２データアクセス装置の下位装置情報を、前記第１データアクセス装置を表す情報から、前記第１データアクセス装置の前記下位データアクセス装置である前記第３データアクセス装置を表す情報に変更する処理、
（３）前記第１データアクセス装置によって前記共有リソースが使用状態になっていれば前記共有リソースを未使用状態に解放する処理、
を実行する。
【００２０】
本発明に従うデータアクセス装置は、複数のデータアクセス装置がアクセス可能な共有記憶デバイスにアクセスするデータアクセス装置であって、前記共有記憶デバイスに、前記複数のデータアクセス装置が使用可能な共有リソースと、他のデータアクセス装置によって更新される更新可能情報とが格納されている場合、前記共有リソースがどのデータアクセス装置にも使用されていない未使用状態であれば、前記共有リソースにアクセスし、前記共有リソースが他のデータアクセス装置に使用されていれば、前記共有リソースにアクセスしないアクセス制御手段と、前記更新可能情報が所定の更新結果でない場合、前記共有リソースが前記他のデータアクセス装置に使用されたままの使用状態になっていれば、前記使用状態を解除して前記共有リソースを前記未使用状態に解放するリソース解放手段とを備える。
【００２１】
このデータアクセス装置は、例えば、本発明に従う方式及びそれの第１〜第６の好適な実施形態に従う方式に備えられるデータアクセス装置である。そのため、上述した種々の処理を行うことができても良い。
【発明の効果】
【００２２】
本発明に従う方式によれば、共有記憶デバイス内の更新可能情報が所定態様で更新された否かに基づいて、共有リソースの使用排他制御が行われる。これにより、共有リソースの使用排他制御が好適に行われる。
【発明を実施するための最良の形態】
【００２３】
図１は、本発明の一実施例に係るシステムの全体構成を示す。
【００２４】
本実施例に係るシステムでは、ＬＡＮ２０等の通信ネットワークに、１又は複数台（例えば２台）のホスト装置１Ａ、１Ｂと、ストレージサブシステム５とが接続されている。
【００２５】
ホスト装置１Ａ、１Ｂは、例えば、パーソナルコンピュータ等のコンピュータマシンであり、ストレージサブシステム５に対し、データのリード又はライトの要求を行って、所望のデータの読出し又は書込みを行う。
【００２６】
ストレージサブシステム５は、例えばＲＡＩＤ（Redundant Array of Independent Inexpensive
Disks）システムであり、複数台のホスト装置１Ａ、１Ｂの各々からデータのリード又はライトの要求を受け、その要求に応じて、ホスト装置１Ａ、１Ｂに対するデータの読出し又は書込みを制御する。このストレージサブシステム５には、複数台（例えば４台）のＮＡＳ（Network Attached Storage）１６Ａ〜１６Ｄと、１台（又は複数台）の共有記憶装置１５とが備えられている。
【００２７】
複数台のＮＡＳ１６Ａ〜１６Ｄは特徴的に同じなのでＮＡＳ１６Ａについて代表的に説明する。ＮＡＳ１６Ａは、記憶装置グループ１２と、ＮＡＳヘッド１とを備える。
【００２８】
記憶装置グループ１２は、複数台（又は１台）のデータ記憶装置を有し、各データ記憶装置は、例えばアレイ状に配列された複数（又は１つ）のハードディスクを備えている。この記憶装置グループ１２上には、ホスト装置１０Ａ、１０Ｂからのデータが格納される論理的な記憶領域（Logical Unit、以下「ＬＵ」と略記）１１が用意される。各ＬＵ１１は、１台のデータ記憶装置９内に設けられても良いし、２台以上のデータ記憶装置にまたがって用意されても良い。
【００２９】
ＮＡＳヘッド１は、ユニークな識別情報（以下、「ＮＡＳ−ＩＤ」と言う）を記憶しており、ホスト１０Ａ、１０Ｂから記憶装置グループ１２上のＬＵ１１へのデータアクセスを制御するコンピュータ機器ある。ＮＡＳヘッド１は、ＳＡＮ（Storage Area Network）１７等の所定の通信ネットワークを介して共有記憶装置１５に接続されており、その共有記憶装置１５上の共有ＬＵ１８内にある複数（又は１つ）の共有リソースのうち所望の共有リソースを使用して種々の処理を行う。ＮＡＳヘッド１（及び他のＮＡＳ１６Ｂ〜１６Ｄに搭載の他のＮＡＳヘッド２〜４）の構成及び機能については後に詳述する。
【００３０】
共有記憶装置１５は、例えばアレイ状に配列された複数（又は１つ）のハードディスクを備えており、４台のＮＡＳヘッド１〜４にと通信可能に接続されている。共有記憶装置１３には、４台のＮＡＳヘッド１〜４に共有される論理的な（又は物理的な）記憶領域（以下、「共有ＬＵ」）１８が用意される。
【００３１】
このシステムでは、４台のＮＡＳヘッド１〜４が共有ＬＵ１８内の情報を参照し、その情報に基づく処理を実行することで、共有リソースの使用排他制御が実現される。以下、それについて詳細に説明する。
【００３２】
図２は、４台のＮＡＳヘッド１〜４の関係と共有ＬＵ１８内のデータ種類とを示す。なお、以下の説明は、各ＮＡＳヘッドのＮＡＳ−ＩＤは、そのＮＡＳヘッドに付された参照番号と同一であるとする（例えば、ＮＡＳヘッド１のＮＡＳ−ＩＤは、参照番号と同一の番号「１」であるとする）。
【００３３】
ＮＡＳヘッド１〜４の各々は、所定の他の１台のＮＡＳヘッドを監視するようになっている。図示の例では、ＮＡＳヘッド１はＮＡＳヘッド２を監視し、ＮＡＳヘッド２はＮＡＳヘッド３を監視し、ＮＡＳヘッド３はＮＡＳヘッド４を監視し、ＮＡＳヘッド４はＮＡＳヘッド１を監視しというように、複数のＮＡＳヘッド１〜４は連環状の監視関係を有している。また、例えば、「ＮＡＳヘッド１がＮＡＳヘッド２を監視する」とは、ＮＡＳヘッド１が、第２管理テーブル２３Ｂにアクセスして、監視対象であるＮＡＳヘッド２のＮＡＳ−ＩＤ「２」に対応したカウンタの値を参照することを言う。
【００３４】
共有ＬＵ１８には、複数（又は１つの）共有リソース２１と、管理テーブル２３とが格納されている。
【００３５】
共有リソース２１は、複数のＮＡＳヘッド１〜４がアクセス可能なリソース（例えばファイル）であって、ユニークなリソース識別情報（例えばリソース名）を有している。
【００３６】
管理テーブル２３は、共有リソース２１の使用状況やＮＡＳヘッド１〜４の関係を管理するためのテーブルである。具体的には、管理テーブル２３には、例えば、図３に示すように、共有リソース２１の使用状況を管理するための第１管理テーブル２３Ａと、ＮＡＳヘッド１〜４の関係を管理するための第２管理テーブル２３Ｂとがある。
【００３７】
第１管理テーブル２３Ａには、共有ＬＵ１８内に存在する複数の共有リソースの各々について、共有リソース名と、その共有リソースを使用しているＮＡＳヘッドのＮＡＳ−ＩＤとが記録される。この第１管理テーブル２３Ａにおいて、未使用状態の共有リソースに対応するＮＡＳ−ＩＤの欄は、未使用状態である旨が記録されるか或いは単に空欄とされる。
【００３８】
第２管理テーブル２３Ｂには、複数のＮＡＳヘッド１〜４の各々について、自装置のＮＡＳ−ＩＤと、自装置を監視するＮＡＳヘッドによって監視された回数を表すカウント値と、自装置の状態（例えば稼動か未稼働か）と、自装置の監視対象のＮＡＳ−ＩＤとが記録される。ＮＡＳヘッド１〜４が上述した連環状の関係を有している場合は、図３に例示したように、例えば、ＮＡＳ−ＩＤ「１」に対応した監視対象のＮＡＳ−ＩＤは「２」、ＮＡＳ−ＩＤ「２」に対応した監視対象のＮＡＳ−ＩＤは「３」のように第２管理テーブル２３Ｂに設定される。換言すれば、図示の例では、ＮＡＳ−ＩＤは番号であり、各ＮＡＳヘッドの監視対象は、自装置のＮＡＳ−ＩＤ（以下、適宜に「自ＮＡＳＩ−ＩＤ」と言う）に１が加えられた番号のＮＡＳ−ＩＤを持ったものとなる。
【００３９】
上述した第１管理テーブル２３Ａ及び第２管理テーブル２３Ｂに記録されている内容に基づいて、各ＮＡＳヘッド１〜４、所望の共有リソースを使用したり、監視対象のＮＡＳヘッドによって使用状態されているが故に他のＮＡＳヘッドが使用できないでいる共有リソースを解放して他のＮＡＳヘッドが使用できるようにしたりする。以下、各ＮＡＳヘッド１〜４の構成及び機能について詳述する。なお、ＮＡＳヘッド１〜４は特徴的に同じなので、以下、ＮＡＳヘッド１を代表的に説明する。
【００４０】
図４は、ＮＡＳヘッド１のソフトウェア的な構成を示す。
【００４１】
ＮＡＳヘッド１には、マイクロソフト社のウィンドウズ（登録商標）等のオペレーティングシステム（以下、「ＯＳ」と略記）３１と、ＯＳ３１上で動作する１又は複数のアプリケーションプログラム（例えば、ＣＧＩプログラム等）３３と、使用リソース登録／削除部３５と、カウントチェック部３７と、リセット部３７とを備える。
【００４２】
アプリケーションプログラム３３は、例えば、システム管理者がＷＥＢブラウザ経由でＮＡＳ１６Ａ〜１６Ｄを管理するための運用管理機能を持つものであり、任意のタイミングで共有リソース２１にアクセスする。その場合、アプリケーションプログラム３３は、使用リソース登録／削除部３５を呼び出して、使用する共有リソース２１を第１管理テーブル２３Ａに登録し、その後に、その共有リソース２１にアクセスし使用（例えば参照或いは更新）する。アプリケーションプログラム２３は、共有リソース２１の使用が終了すると、完了を通知するために、再び、使用リソース登録／削除部３５を呼び出し、第１管理テーブル２３Ａから、共有リソース２１のために登録した事項を削除する。
【００４３】
使用リソース登録／削除部３５は、アプリケーションプログラム３３から呼び出されて、第１管理テーブル２３Ａに対して情報の登録や削除を行うコンピュータプログラムである。使用リソース登録／削除部３５は、登録を行なう場合は、自分を搭載しているＮＡＳヘッド１のＮＡＳ−ＩＤ「１」をＮＡＳヘッド１上の所定記憶領域から読出し、そのＮＡＳ−ＩＤ「１」を、アプリケーションプログラム３３がアクセスする共有リソース２１の共有リソース名に対応した第１管理テーブル２３Ａ上のＮＡＳ−ＩＤ欄に書き込む（なお、既に他のＮＡＳ−ＩＤが書き込まれていれば、使用中である旨を呼び出し元アプリケーション３３に返す）。一方、削除を行う場合は、使用リソース登録／削除部３５は、ＮＡＳヘッド１のＮＡＳ−ＩＤ「１」をＮＡＳヘッド１上の所定記憶領域から読出し、その読み出されたＮＡＳ−ＩＤ「１」が第１管理テーブル２３Ａに設定されているか否かを検出し、設定されていればそのＩＤ「１」を第１管理テーブル２３Ａから消去する。
【００４４】
カウントチェック部３７は、コンピュータプログラムであり、第２管理テーブル２３Ｂを参照してＮＡＳヘッド１の監視対象がＮＡＳ−ＩＤ「２」を持つＮＡＳヘッド２であることを識別し、第２管理テーブル２３Ｂ上のＮＡＳ−ＩＤ「２」に対応したカウンタ値をカウントアップする。また、カウントチェック部３７は、そのカウンタ値が増加する一方で、ゼロにならない場合は、ＮＡＳ−ＩＤ「２」を持つＮＡＳヘッド２がダウンしている（つまり未稼働である）と判断し、第１管理テーブル２３Ａを参照して、ダウンしたＮＡＳヘッド２が持つＮＡＳ−ＩＤ「２」が記録されているか否かをチェックする。その結果、ＮＡＳ−ＩＤ「２」が記録されていれば、カウントチェック部３７は、そのＩＤ「２」を第１管理テーブル２３Ａから消去し、それにより、ＮＡＳヘッド２によって使用状態になっていた共有リソースを解放し、他のＮＡＳヘッド１又は３〜４がその共有リソースにアクセスできるようにする。また、カウントチェック部３７は、第２管理テーブル２３Ｂにおいて、ダウンしたと判断したＮＡＳヘッド２のＮＡＳ−ＩＤ「２」に対応した状態を「稼動」から「未稼働」に変更する。更に、カウントチェック部３７は、第２管理テーブル２３Ｂにおいて、ＮＡＳ−ＩＤ「１」に対応した監視対象のＮＡＳ−ＩＤを、ダウンしたＮＡＳヘッド２のＩＤ「２」からそれに１を加えたＩＤ「３」に変更する。カウントチェック部３７は、そのＮＡＳ−ＩＤ「３」に対応した状態が「稼動」であれば、そのＩＤ「３を持つＮＡＳヘッド３を継続して監視対象とし、一方、その状態が「未稼働」であれば、ＩＤ「３」に１を加えたＩＤ「４」について上記と同様の処理を行う。カウントチェック部３７は、このように、監視対象のＮＡＳヘッドがダウンしたことを判断した場合には、監視対象のＮＡＳ−ＩＤに１を加えた新たなＩＤを算出して（その新たなＩＤが第２管理テーブル２３Ｂに用意されたＮＡＳ−ＩＤの数を越えた場合にはＩＤを「１」に戻して）、の新たなＩＤを持つＮＡＳヘッドが稼動か未稼働かを識別し、未稼働であれば、稼動状態のＮＡＳヘッドのＩＤが見つかるまで同様の処理を繰返すことで、新たな監視対象を探す。
【００４５】
リセット部３７は、コンピュータプログラムであり、ＮＡＳヘッド１がダウンしていないことを、そのＮＡＳヘッド１を監視しているＮＡＳヘッドに通知するため、第２管理テーブル２３Ｂにおいて、自ＮＡＳ−ＩＤ「１」に対応したカウンタ値を定期的にチェックしゼロにリセットする。
【００４６】
以上が、ＮＡＳヘッド１についての説明である。なお、ＮＡＳヘッド１において、使用リソース登録／削除部３５、カウントチェック部３７及びリセット部３９は、一つのプログラムセットとしてインストールされていても良い。
【００４７】
以下、ＮＡＳヘッド１のアプリケーションプログラム３３、使用リソース登録／削除部３５、カウントチェック部３７及びリセット部３９の動作流れについて説明する。
【００４８】
図５は、ＮＡＳヘッド１のアプリケーションプログラム３３の動作流れを示す。
【００４９】
アプリケーションプログラム３３は、共有リソースの使用を必要とする動作を開始すると（ステップＳ１）、使用リソース登録／削除部３５を呼び出し、その登録／削除部３５に、使用する共有リソースの登録を要求、具体的には、使用する共有リソース２１の共有リソース名と、処理区分が「登録」であることを入力する（Ｓ２）。
【００５０】
アプリケーションプログラム３３は、呼び出した使用リソース登録／削除部３５の動作が呼び出し元に戻るになったら（後述する図６のＳ２１）、第１管理テーブル２３Ａにおいて自ＮＡＳ−ＩＤ「１」が登録された共有リソース２１にアクセスする（Ｓ３）。
【００５１】
アプリケーションプログラム２３は、共有リソース２１の使用が終了すると、使用リソース登録／削除部３５を呼び出し、その登録／削除部３５に、共有リソース２１の使用のために登録した事項を第１管理テーブル２３Ａから削除することを要求、具体的には、使用し終えた共有リソース２１の共有リソース名と、処理区分が「登録削除」であることを入力する（Ｓ４）。
【００５２】
アプリケーションプログラム３３は、呼び出した使用リソース登録／削除部３５の動作が呼び出し元に戻るになったら（後述する図６のＳ２１）、所定の処理を終えたときに動作を終了する（Ｓ５）。
【００５３】
以上が、アプリケーションプログラム３３の動作流れである。なお、アプリケーションプログラム３３は、Ｓ２の動作の後に、共有リソース２１は使用中である旨の通知を使用リソース登録／削除部３５から受けた場合には、例えば、別のリソース名を使用して再度要求を発行するか、貼る胃は、登録できる状態になるまで、定期的に、使用リソース登録／削除部３５に要求を発行し、一定時間が過ぎても登録できる状態にならなければ、別の共有リソース名を指定して再度要求を発行しても良い。
【００５４】
図６は、ＮＡＳヘッド１の使用リソース登録／削除部３５の動作流れを示す。
【００５５】
使用リソース登録／削除部３５は、アプリケーションプログラム３３から呼び出されて、処理を開始する（Ｓ１１）。
【００５６】
Ｓ１１において、使用リソース登録／削除部３５は、使用する共有リソース名（以下、「使用リソース名」と略記）と、処理区分として「登録」とが呼び出し元から入力された場合（Ｓ１２でＹ）、入力された使用リソース名に対応したＮＡＳ−ＩＤを第１管理テーブル２３Ａから取得する（Ｓ１３）。
【００５７】
Ｓ１３の結果、使用リソース登録／削除部３５は、何のＮＡＳ−ＩＤも設定されていない場合には（Ｓ１４でＮ、Ｓ１５でＮ）、Ｓ１１で入力された使用リソース名に対応した空欄に、自ＮＡＳ−ＩＤ「１」を設定し（Ｓ１６）、呼び出し元へ戻る（Ｓ２１）。
【００５８】
また、Ｓ１３の結果、使用リソース登録／削除部３５は、取得されたＩＤが自ＮＡＳ−ＩＤ「１」であった場合には（Ｓ１４でＹ）、呼び出し元へ戻る（Ｓ２１）。
【００５９】
また、Ｓ１３の結果、使用リソース登録／削除部３５は、取得されたＩＤが自ＮＡＳ−ＩＤ「１」以外のＩＤであった場合には（Ｓ１４でＮ、Ｓ１５でＹ）、使用したい共有リソースが他のＮＡＳヘッドに使用されている状態を意味するので、呼び出し元へリソース使用中の通知を行って（Ｓ１７）、呼び出し元へ戻る（Ｓ２１）。
【００６０】
Ｓ１１において、使用リソース登録／削除部３５は、使用リソース名と、処理区分として「登録削除」とが呼び出し元から入力された場合（Ｓ１２でＮ、Ｓ１２−ＡでＹ）、入力された使用リソース名に対応したＮＡＳ−ＩＤを第１管理テーブル２３Ａから取得する（Ｓ１８）。
【００６１】
Ｓ１８の結果、使用リソース登録／削除部３５は、取得されたＩＤが自ＮＡＳ−ＩＤ「１」であった場合には（Ｓ１９でＹ）、第１管理テーブル２３Ａにおいて、Ｓ１１で入力された使用リソース名に対応したＮＡＳ−ＩＤ「１」を削除して空欄を設定し、呼び出し元へ戻る（Ｓ２１）。
【００６２】
また、Ｓ１８の結果、使用リソース登録／削除部３５は、何のＮＡＳ−ＩＤも設定されていない場合、或いは、取得されたＩＤが自ＮＡＳ−ＩＤ「１」以外のＩＤであった場合には、何もせずに又は呼び出し元に所定のエラー通知を行って、呼び出し元へ戻る（Ｓ２１）。
【００６３】
以上が、ＮＡＳヘッド１の使用リソース登録／削除部３５の動作流れである。
【００６４】
図７は、ＮＡＳヘッド１のカウントチェック部３７の動作流れを示す。
【００６５】
カウントチェック部３７は、ダウンしていると判断するカウント値（以下、「カウンタ閾値」と言う）を入力情報として処理を開始する（Ｓ３１）。
【００６６】
カウントチェック部３７は、自ＮＡＳ−ＩＤ「１」を取得する（Ｓ３２）。
【００６７】
次に、カウントチェック部３７は、第２管理テーブル２３Ｂを参照し、自ＮＡＳ−ＩＤ「１」に対応した監視対象ＮＡＳ−ＩＤ欄が空欄、又はそこに設定されている監視対象ＮＡＳ−ＩＤ「２」に対応した状態欄に「未稼働」が設定されているか否かを判断する（Ｓ３３）。
【００６８】
Ｓ３３の判断の結果、いずれかが肯定的であれば、完全に或いは実質的に、ＮＡＳヘッド１の監視対象が存在しないことを意味するので、カウントチェック部３７は、第２管理テーブル２３Ｂを参照し、状態が「稼動」であって、どのＮＡＳヘッドにも監視されていないＮＡＳヘッドのＩＤが見つかるまで、監視対象ＮＡＳ−ＩＤ欄に新たに設定した又は既に設定済みのＩＤに１を加える（Ｓ３４）。そのようなＮＡＳ−ＩＤが見つかったら、カウントチェック部３７は、そのＮＡＳ−ＩＤ（以下の説明ではそのＩＤを「２」とする）を、自ＮＡＳ−ＩＤ「１」に対応した監視対象ＮＡＳ−ＩＤ欄に設定する（Ｓ３５）。
【００６９】
Ｓ３３の判断の結果がいずれも否定的であるとき（Ｓ３３Ｎ）、或いはＳ３５の後、カウンタチェック部３７は、自ＮＡＳ−ＩＤ「１」に対応した監視対象ＮＡＳ−ＩＤ「２」のカウント値を１インクリメントする（Ｓ３６）。そして、カウンタチェック部３７は、インクリメント後のカウント値が、Ｓ３１で入力されたカウント閾値を超えているか否かを判定する（Ｓ３７）。
【００７０】
Ｓ３７の結果、インクリメント後のカウント値が上記カウント閾値を超えているのであれば（Ｓ３７でＹ）、カウントチェック部３７は、監視対象ＮＡＳ−ＩＤ「２」を持つＮＡＳヘッド２がダウンしていると判断し、以下の処理を行う。すなわち、カウントチェック部３７は、第１管理テーブル２３Ａにおいて、自ＮＡＳ−ＩＤ「１」に対応した監視対象ＮＡＳ−ＩＤがあればそれを除去して空欄を設定する（Ｓ３８）。そして、カウントチェック部３７は、第２管理テーブル２３Ｂにおいて、自ＮＡＳ−ＩＤ「１」に対応した監視対象ＮＡＳ−ＩＤ欄からＮＡＳ−ＩＤ「２」を除去し、除去された監視対象ＮＡＳ−ＩＤ「２」に対応した状態を「稼動」から「未稼働」に変更して（Ｓ３９）、この処理を終える（Ｓ４０）。
【００７１】
Ｓ３７の結果、インクリメント後のカウント値が上記カウント閾値以下であれば（Ｓ３７でＮ）、カウントチェック部４０は、そのまま処理を終える（Ｓ４０）。
【００７２】
以上が、ＮＡＳヘッド１のカウントチェック部３７の動作流れである。なお、この動作流れにおいて、監視対象ＮＡＳ−ＩＤに対応したカウンタ値を１インクリメントする動作は、必ずしもＳ３３或いはＳ３５の動作の後ではなく、種々のタイミングで行っても良い。また、Ｓ３１で入力されるカウント閾値は、カウント値のリセット直後の値のゼロであっても良いし、リセットした後も監視によるカウントアップ処理が行われることを考慮して、リセット直後値よりも若干大きな値（例えば１〜５のうちの任意の値）であっても良い。また、この動作流れにおいて、例えば、図３に示した第２管理テーブル２３Ｂの状態から、ＮＡＳヘッド２がダウンしたと判断された場合、第２管理テーブル２３Ｂは、図８（Ａ）に示す内容に更新され、その後に、ＮＡＳヘッド２を監視対象としていたＮＡＳヘッド１に新たな監視対象として、例えばＮＡＳヘッド２の監視対象であったＮＡＳヘッド３が探し出されると、図８（Ｂ）に示す内容に更新される。
【００７３】
図９は、ＮＡＳヘッド１のリセット部３９の動作流れを示す。
【００７４】
リセット部３９は、所定タイミングで処理を開始する（Ｓ５１）。処理開始後、リセット部３９は、第２管理テーブル２３Ｂにおいて、自ＮＡＳ−ＩＤ「１」に対応したカウンタ値をゼロにリセットして（Ｓ５２）、処理を終える（Ｓ５３）。
【００７５】
以上、ＮＡＳヘッド１を代表的に説明したが、ＮＡＳヘッド１についての上記説明から、他のＮＡＳヘッド２〜４の構成及び機能は理解することができるはずである。
【００７６】
以上、上述した実施形態によれば、ＮＡＳヘッド１〜４の各々は、第２管理テーブル２３Ｂを参照し、監視対象のＮＡＳ−ＩＤに対応したカウンタ値がカウント閾値を越えているか否かに基づいて、監視対象ＮＡＳヘッドがダウンしたか否かを判断し、その結果に応じて、共有リソースの使用排他制御を行う。これにより、好適な排他制御が可能となる。
【００７７】
また、上述した実施形態によれば、ＮＡＳヘッド１〜４の各々は、監視対象がダウンしたと判断されたら、稼動状態であり且つどのＮＡＳヘッドの監視対象にもなっていないＮＡＳヘッドを探し出し、それを監視対象として設定する。換言すれば、ＮＡＳヘッド１〜４のいずれかがダウンした場合には、稼動状態の他のＮＡＳヘッドによって動的に新たな監視関係が形成される。これにより、ＮＡＳヘッドのダウンやＮＡＳそれ自体の撤去等によって、監視関係が変わっても、ユーザによる設定や操作は不要となるので便利である。また、ターゲットＮＡＳヘッドを監視対象としていたＮＡＳヘッドのダウンによってターゲットＮＡＳヘッドが監視されない状態になっても、別のＮＡＳヘッドがそのターゲットＮＡＳヘッドを新たな監視対象とするので、ターゲットＮＡＳヘッドの継続的な監視が保証される。
【００７８】
なお、上述した実施形態には、種々の変形例が考えられる。
【００７９】
第１変形例では、ＮＡＳヘッド１のリセット部３９は、自ＮＡＳ−ＩＤに対応するカウント値をリセットせず（換言すれば、リセット部３９が存在せず）、カウントチェック部３７が、監視対象のＮＡＳヘッド（例えばＮＡＳヘッド２）がダウンしたか否かを、その監視対象ＮＡＳヘッドが監視対象としているＮＡＳヘッド（例えばＮＡＳヘッド３）に対応したカウント値を更新した日時に基づいて判断する。以下、具体的に説明する（上述の実施形態と同様の部分については説明を簡略或いは省略する）。なお、以下の説明では、第１変形例についての理解を助けるために、ターゲットＮＡＳヘッドの監視対象を「一次監視対象」と言い、一次監視対象の監視対象を「二次監視対象」と言うことにする。
【００８０】
図１０は、第１変形例に係る第２管理テーブル５０を示す。
【００８１】
第２管理テーブル５０には、第２管理テーブル２３に記載された事項に加えて、カウント値をカウントアップしたときの日時（以下、「更新日時」と言う）を記録するために更新日時欄が設けられる。この欄には、例えば、最新の更新日時と、直前回の更新日時とが記録される。
【００８２】
図１１は、第１変形例におけるターゲットＮＡＳヘッドのカウントチェック部３７の動作流れを示す。
【００８３】
カウントチェック部３７は、ダウンしていると判断する時間値（カウント値の更新日時間隔の時間値）を入力情報として処理を開始する（Ｓ６１）。
【００８４】
カウントチェック部３７は、自ＮＡＳ−ＩＤ「１」を取得する（Ｓ６２）。
【００８５】
次に、カウントチェック部３７は、第２管理テーブル２３Ｂを参照し、自ＮＡＳ−ＩＤに対応した一次監視対象ＮＡＳ−ＩＤ欄が空欄、又はそこに設定されている監視対象ＮＡＳ−ＩＤに対応した状態欄に「未稼働」が設定されているか否かを判断する（Ｓ６３）。
【００８６】
Ｓ６３の判断の結果、いずれかが肯定的であれば、図７のＳ３４〜Ｓ３５と同様の処理を行う（Ｓ６４〜Ｓ６５）。
【００８７】
Ｓ３３の判断の結果がいずれも否定的であるとき（Ｓ６３でＮ）、或いはＳ６５の後、カウンタチェック部３７は、一次監視対象ＮＡＳ−ＩＤのカウント値を１インクリメントし、それに伴い、最新更新日時及び直前回更新日時も更新する（Ｓ６６）。
【００８８】
次に、カウンタチェック部３７は、一次監視対象の監視対象である二次監視対象のＮＡＳ−ＩＤに対応した更新日時欄を参照し、現在の日時と、その欄に記録されている最新日時との差分値を算出し、Ｓ６１で入力された時間値（以下、「入力時間値」と言う）と比較する（Ｓ６７）。
【００８９】
Ｓ６７の結果、算出された差分値が入力時間値を越えていれば（Ｓ６７でＹ）、二次監視対象のカウント値をカウントアップするはずの一次監視対象がダウンしていると判断し、カウンタチェック部３７は、以下の処理を行う。すなわち、カウントチェック部３７は、第１管理テーブル２３Ａに一次監視対象ＮＡＳ−ＩＤがあればそれを除去して空欄を設定する（Ｓ６８）。そして、カウントチェック部３７は、第２管理テーブル５０において、一次監視対象ＮＡＳ−ＩＤ欄からＮＡＳ−ＩＤを除去し、除去された一次監視対象ＮＡＳ−ＩＤに対応した『状態』を「稼動」から「未稼働」に変更して（Ｓ６９）、この処理を終える（Ｓ７０）。
【００９０】
この第１の変形例によれば、各ＮＡＳヘッド１〜４は、監視対象のＮＡＳヘッドによってカウント値がリセットされなくても、一次監視対象ＮＡＳヘッドがダウンしたか否かを判断することができる。
【００９１】
なお、この第１の変形例には、更なる変形例が考えられる。例えば、カウンタチェック部３７は、最新日時と直前回日時との差分値も算出し、その差分値よりも、現在日時と最新更新日時との差分値の方が大きい場合に、一次監視対象がダウンしていると判断しても良い（換言すれば、一次監視対象が行うカウントアップの時間周期よりも、現在日時と最新更新日時との差分値の方が大きい場合、一次監視対象がダウンしたと判断しても良い）。
【００９２】
第２変形例として、ＮＡＳヘッドは、第２管理テーブル２３Ｂで稼動から未稼働に設定された後、再度稼動したときは、強制的に、自ＮＡＳ−ＩＤに対応した状態「未稼動」を「稼動」に変更しても良い。その場合、再稼動したＮＡＳヘッドがどのＮＡＳヘッドを監視対象としどのＮＡＳヘッドの監視対象となるかは、任意のタイミングで決定されても良い。一例として、再稼動したＮＡＳヘッドは、２以上の他のＮＡＳヘッドのいずれかが未稼働になるまで待ち状態で単にネットワーク１７に接続されているだけでも良い。別の例として、再稼動したＮＡＳヘッドは、自ＮＡＳ−ＩＤに所定数値（例えば１）インクリメントして得られたＩＤを持つＮＡＳヘッドを監視対象とし、その場合、その監視対象は別のＮＡＳヘッドの監視対象にもなってしまうので、その別のＮＡＳヘッドにアクセスしそれの監視対象を自分に変更するようにしても良い。具体的には、例えば、再稼動したＮＡＳヘッドをＮＡＳヘッド２とすると、ＮＡＳヘッド２は、自ＮＡＳ−ＩＤ「２」に１インクリメントして得られたＩＤ「３」を持つＮＡＳヘッド３を監視対象とし、その場合、そのＮＡＳヘッド３は別のＮＡＳヘッド、例えばＮＡＳヘッド１の監視対象にもなってしまうので、その別のＮＡＳヘッド１にアクセスしそれの監視対象を自分に変更しても良い（すなわち、第２管理テーブル２３Ｂにおいて、ＮＡＳヘッド１の監視対象ＮＡＳ−ＩＤを「３」から「２」に変更するようにしても良い）。
【００９３】
以上、本発明の好適な実施形態及び幾つかの変形例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施形態及び変形例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、本発明は、ＮＡＳだけでなくＳＡＮに適用しても良い。具体的には、例えば、共有ＬＵ１８にＳＡＮを介して複数のホスト１０Ａ、１０Ｂが接続されている場合、各ホストが上記ＮＡＳヘッド１〜４と同様の動作を行っても良い。
【００９４】
また、例えば、上述した説明において、監視対象を動的に変更する技術を以下のように抽象的に表現することができる。
【００９５】
表現１．
複数のデータアクセス装置と、前記複数のデータアクセス装置がアクセス可能な共有記憶デバイスと備えるシステムであって、
前記共有記憶デバイスには、前記複数のデータアクセス装置にそれぞれ対応した複数の更新可能情報が格納されており、
各データアクセス装置が、
他のデータアクセス装置を監視する手段と、
監視対象のデータアクセス装置に対応した更新可能情報をチェックする手段と、
前記チェックした更新可能情報が所定の更新結果でない場合、自分の監視対象のデータアクセス装置が稼動状態でないと判断して、どのデータアクセス装置にも監視されていない別の稼動状態のデータアクセス装置を探して新たな監視対象とする手段と
を備えるシステム。
【００９６】
表現２．
前記共有記憶デバイスが、
どのデータアクセス装置がどのデータアクセス装置を監視対象としているかを示す監視関係情報と、
各データアクセス装置が稼動状態か否かを表す稼動状況情報と
を記憶し、
前記データアクセス装置は、
前記監視対象のデータアクセス装置に対応したターゲット更新可能情報が所定の更新結果でない場合、自分の監視対象のデータアクセス装置が稼動状態でないと判断して前記稼動状況情報を更新する手段と、
前記稼動状態でないと判断されたデータアクセス装置を監視対象から外して前記監視関係情報を更新する手段と、
前記監視関係情報と前記稼動状況情報とに基づいて、前記未稼働状態になったデータアクセス装置の監視対象となっており且つ稼動状態の別のデータアクセス装置を探す手段と、
前記別のデータアクセス装置を新たな監視対象とし前記監視関係情報を更に更新する手段と
を備える表現１記載のシステム。
【図面の簡単な説明】
【００９７】
【図１】本発明の一実施例に係るシステムの全体構成を示す。
【図２】４台のＮＡＳヘッド１〜４の関係と共有ＬＵ１８内のデータ種類とを示す。
【図３】第１管理テーブル２３Ａと第２管理テーブル２３Ｂとを示す。
【図４】図４は、ＮＡＳヘッド１のソフトウェア的な構成を示す。
【図５】ＮＡＳヘッド１のアプリケーションプログラム３３の動作流れを示す。
【図６】ＮＡＳヘッド１の使用リソース登録／削除部３５の動作流れを示す。
【図７】ＮＡＳヘッド１のカウントチェック部３７の動作流れを示す。
【図８】第２管理テーブル２３Ｂの更新例を示す。
【図９】ＮＡＳヘッド１のリセット部３９の動作流れを示す。
【図１０】第１変形例に係る第２管理テーブル５０を示す。
【図１１】第１変形例におけるターゲットＮＡＳヘッドのカウントチェック部３７の動作流れを示す。
【符号の説明】
【００９８】
１〜４・・・ＮＡＳヘッド、１８・・・共有ＬＵ、２１・・・共有リソース、２３・・・管理テーブル
【図１】
2005141672.tif 000003
【図２】
2005141672.tif 000004
【図３】
2005141672.tif 000005
【図４】
2005141672.tif 000006
【図５】
2005141672.tif 000007
【図６】
2005141672.tif 000008
【図７】
2005141672.tif 000009
【図８】
2005141672.tif 000010
【図９】
2005141672.tif 000011
【図１０】
2005141672.tif 000012
【図１１】
2005141672.tif 000013