(57)【要約】      （修正有）【課題】常に正確な時刻に基づいてＷＯＲＭ属性を管理し、一定期間の保存が義務付けられたファイルを確実に管理する。【解決手段】複数のタイムサーバから時刻情報を取得するクライアント部と、前記タイムサーバから取得した複数の時刻情報と所定の基準時刻情報とを比較する時刻乖離監査部と、前記比較結果に基づいて前記タイムサーバの優先順位を変更する優先度設定制御部と、前記優先順位が最も高いタイムサーバから時刻情報を取得すると共に、当該取得した時刻情報を前記ファイル管理装置に通知する時計制御部と、を有し；前記ファイル管理装置は、前記ファイル管理用データベースを参照して前記記憶装置に記録されたデータの保存期間が前記修正された第２内部時計の時刻より後に終了するか否かを判定し、当該判定結果に基づいてデータの変更及び削除を禁止する。【選択図】図１
2005222368.tif 000002
【特許請求の範囲】
【請求項１】
時刻情報を記憶し配信する複数のＮＴＰサーバと、
前記ＮＴＰサーバの稼働状況を監視する監視端末と、
記憶装置に記憶された情報の保存期間を管理するＷＯＲＭ管理装置と、
前記ＮＴＰサーバから時刻情報を取得するＮＴＰサーバ管理装置と、
前記ＮＴＰサーバ管理装置の動作条件を設定する管理端末と、
前記ＮＴＰサーバ、前記監視端末、前記ＷＯＲＭ管理装置、前記ＮＴＰサーバ管理装置及び前記管理端末を接続するネットワークと、を備え；
前記ＮＴＰサーバ管理装置は、
第１内部時計と、
前記複数のＮＴＰサーバの優先順位が記録された時刻管理用データベースと、
前記複数のＮＴＰサーバから時刻情報を取得するＮＴＰクライアント部と、
前記ＮＴＰサーバから取得した複数の時刻情報と前記第１内部時計の時刻情報とを比較する時刻乖離監査部と、
前記時刻乖離監査部による比較結果に基づいて前記ＮＴＰサーバの優先順位を変更する優先度設定制御部と、
前記優先順位が最も高いＮＴＰサーバから時刻情報を取得し、当該取得した時刻情報に基づいて前記第１内部時計の時刻情報を修正すると共に、当該取得した時刻情報を前記ＷＯＲＭ管理装置に通知する時計制御部と、を有し；
前記ＷＯＲＭ管理装置は、
第２内部時計と、
前記記憶装置に記録されたデータの保存期間が格納されたＷＯＲＭ管理用データベースと、
前記ＮＴＰサーバ管理装置から通知された時刻情報に基づいて前記第２内部時計の時刻情報を修正し、前記ＷＯＲＭ管理用データベースを参照して前記記憶装置に記録されたデータの保存期間が前記修正された第２内部時計の時刻より後に終了するか否かを判定し、当該判定結果に基づいてデータの変更及び削除を禁止する前記ＷＯＲＭファイル制御部と、を有することを特徴とするストレージシステム。
【請求項２】
時刻情報を記憶し配信する複数のＮＴＰサーバと、記憶装置とに接続され、前記記憶装置に記憶された情報の保存期間を管理するファイル管理装置であって、
内部時計と、
前記複数のＮＴＰサーバの優先順位が記録された時刻管理用データベースと、
前記複数のＮＴＰサーバから時刻情報を取得するＮＴＰクライアント部と、
前記ＮＴＰサーバから取得した複数の時刻情報と前記第１内部時計の時刻情報とを比較する時刻乖離監査部と、
前記時刻乖離監査部による比較結果に基づいて前記ＮＴＰサーバの優先順位を変更する優先度設定制御部と、
前記優先順位が最も高いＮＴＰサーバから時刻情報を取得し、当該取得した時刻情報に基づいて前記内部時計の時刻情報を修正する時計制御部と、
前記記憶装置に記録されたデータの保存期間が格納されたＷＯＲＭ管理用データベースと、
前記ＷＯＲＭ管理用データベースを参照して前記記憶装置に記録されたデータの保存期間が前記修正された内部時計の時刻より後に終了するか否かを判定し、当該判定結果に基づいてデータの変更及び削除を禁止する前記ＷＯＲＭファイル制御部と、を有することを特徴とするファイル管理装置。
【請求項３】
時刻情報を記憶し配信する複数のタイムサーバと、
記憶装置に記憶された情報の保存期間を管理するファイル管理装置と、
前記タイムサーバから時刻情報を取得するタイムサーバ管理装置と、を備え；
前記タイムサーバ管理装置は、
前記複数のタイムサーバから時刻情報を取得するクライアント部と、
前記タイムサーバから取得した複数の時刻情報と所定の基準時刻情報とを比較する時刻乖離監査部と、
前記時刻乖離監査部による比較結果に基づいて前記タイムサーバの優先順位を変更する優先度設定制御部と、
前記優先順位が最も高いタイムサーバから時刻情報を取得すると共に、当該取得した時刻情報を前記ファイル管理装置に通知する時計制御部と、を有し；
前記ファイル管理装置は、
第２内部時計と、
前記記憶装置に記録されたデータの保存期間が格納されたファイル管理用データベースと、
前記タイムサーバ管理装置から通知された時刻情報に基づいて前記第２内部時計の時刻情報を修正し、前記ファイル管理用データベースを参照して前記記憶装置に記録されたデータの保存期間が前記修正された第２内部時計の時刻より後に終了するか否かを判定し、当該判定結果に基づいてデータの変更及び削除を禁止する前記ファイル制御部と、を有することを特徴とするストレージシステム。
【請求項４】
前記タイムサーバ管理装置は、第１内部時計を有し、
前記時刻乖離監査部は、前記第１内部時計の時刻情報を前記所定の基準時刻情報として用いて、前記比較を行い、
前記時計制御部は、前記優先順位が最も高いタイムサーバから取得した時刻情報に基づいて前記第１内部時計の時刻情報を修正することを特徴とする請求項３に記載のストレージシステム。
【請求項５】
時刻情報を記憶し配信する複数のタイムサーバにネットワークを介して接続され、記憶装置に記憶された情報の保存期間を管理するファイル管理装置であって、
内部時計と、
前記複数のタイムサーバから時刻情報を取得するタイムクライアント部と、
前記タイムサーバから取得した複数の時刻情報と所定の基準時刻情報とを比較する時刻乖離監査部と、
前記時刻乖離監査部による比較結果に基づいて前記タイムサーバの優先順位を変更する優先度設定制御部と、
前記優先順位が最も高いタイムサーバから時刻情報を取得し、当該取得した時刻情報に基づいて前記内部時計の時刻情報を修正する時計制御部と、
前記記憶装置に記録されたデータの保存期間が格納されたファイル管理用データベースと、
前記ファイル管理用データベースを参照して前記記憶装置に記録されたデータの保存期間が前記修正された内部時計の時刻より後に終了するか否かを判定し、当該判定結果に基づいてデータの変更及び削除を禁止する前記ファイル制御部と、を有することを特徴とするファイル管理装置。
【請求項６】
前記時刻乖離監査部は、前記内部時計の時刻情報を前記所定の基準時刻情報として用いて、前記比較を行うことを特徴とする請求項５に記載のストレージシステム。
【請求項７】
時刻情報を記憶し配信する複数のタイムサーバと、記憶装置に記憶された情報の保存期間を管理するファイル管理装置とにネットワークを介して接続され、前記タイムサーバから時刻情報を取得し、当該取得した時刻情報を前記ファイル管理装置に通知するタイムサーバ管理装置であって、
前記複数のタイムサーバから時刻情報を取得するクライアント部と、
前記タイムサーバから取得した複数の時刻情報と所定の基準時刻情報とを比較する時刻乖離監査部と、
前記時刻乖離監査部による比較結果に基づいて前記タイムサーバの優先順位を変更する優先度設定制御部と、
前記優先順位が最も高いタイムサーバから時刻情報を取得すると共に、当該取得した時刻情報を前記ファイル管理装置に通知する時計制御部と、を有することを特徴とするタイムサーバ管理装置。
【請求項８】
内部時計を有し、
前記時刻乖離監査部は、前記内部時計の時刻情報を前記所定の基準時刻情報として用いて、前記比較を行い、
前記時計制御部は、前記優先順位が最も高いタイムサーバから取得した時刻情報に基づいて前記内部時計の時刻情報を修正することを特徴とする請求項７に記載のタイムサーバ管理装置。
【請求項９】
時刻情報を記憶し配信する複数のタイムサーバと、記憶装置に記憶された情報の保存期間を管理するファイル管理装置と、前記タイムサーバから時刻情報を取得するタイムサーバ管理装置と、を備えるストレージシステムにおける時刻情報通知方法であって；
前記タイムサーバ管理装置は、
前記複数のタイムサーバから時刻情報を取得し、
前記タイムサーバから取得した複数の時刻情報と前記第１内部時計の時刻情報とを比較し、
前記比較結果に基づいて前記タイムサーバの優先順位を変更し、
前記優先順位が最も高いタイムサーバから時刻情報を取得し、当該取得した時刻情報に基づいて前記第１内部時計の時刻情報を修正すると共に、当該取得した時刻情報を前記ファイル管理装置に通知することを特徴とするデータ管理方法。
【請求項１０】
時刻情報を記憶し配信する複数のタイムサーバと、記憶装置に記憶された情報の保存期間を管理するファイル管理装置と、前記タイムサーバから時刻情報を取得するタイムサーバ管理装置と、を備えるストレージシステムにおけるデータ管理方法であって；
前記タイムサーバ管理装置は、請求項９に記載の方法によって時刻情報を前記ファイル管理装置に通知し、
前記ファイル管理装置は、
前記記憶装置に記録されたデータの保存期間が格納されたファイル管理用データベースを保持し、
前記タイムサーバ管理装置から通知された時刻情報に基づいて前記第２内部時計の時刻情報を修正し、
前記ファイル管理用データベースを参照し、前記記憶装置に記録されたデータの保存期間が前記修正された第２内部時計の時刻より後に終了するか否かを判定し、
当該判定結果に基づいてデータの変更及び削除を禁止することを特徴とするデータ管理方法。
【請求項１１】
時刻情報を記憶し配信する複数のタイムサーバにネットワークを介して接続され、記憶装置に記憶された情報の保存期間を管理するファイル管理装置におけるデータ管理方法であって；
前記複数のタイムサーバから時刻情報を取得し、
前記タイムサーバから取得した複数の時刻情報と前記内部時計の時刻情報とを比較し、
前記比較結果に基づいて前記タイムサーバの優先順位を変更し、
前記優先順位が最も高いタイムサーバから時刻情報を取得し、当該取得した時刻情報に基づいて前記内部時計の時刻情報を修正し、
前記記憶装置に記録されたデータの保存期間が格納されたファイル管理用データベースを保持し、
前記ファイル管理用データベースを参照して前記記憶装置に記録されたデータの保存期間が前記修正された内部時計の時刻より後に終了するか否かを判定し、
当該判定結果に基づいてデータの変更及び削除を禁止することを特徴とするデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置におけるデータの管理に関し、特に、保存すべき期間が定められたデータの管理に関する。
【背景技術】
【０００２】
ストレージ装置を含むコンピュータネットワークにおいて、各装置間の時刻を同期する方法として、ＬＡＮに接続された複数台の端末のうち、一台が代表してＮＴＰ（Network Time Protocol）サーバに時刻を問い合わせ、取得した時刻情報を他の端末に配布することによって、ＮＴＰサーバの負荷を抑えながら、多数の端末にＮＴＰサーバから取得した正確な時刻を配布する方法が提案されている（例えば、特許文献１参照。）。
【０００３】
一方、ストレージ装置に記録されるデータには、病院のカルテや企業の監査情報のファイル等、一定期間の保存が義務付けられているものがある。このようなファイルは、保存期間が経過する前に変更又は削除されないように管理する必要がある。そのために、一定期間の保存が義務付けられているファイル情報にＷＯＲＭ（Write Once Read Many）属性を与え、その期間内はファイルの変更や削除を禁止するファイル管理方法が提案されている（例えば、非特許文献１参照。）。この方法によれば、保存期間中は確実にファイルが保護される。また、保存期間が経過した後のファイルは、変更又は削除をすることができる。
【特許文献１】特開２０００−３４９７９１号公報
【非特許文献１】“SnapLockＴＭ Compliance ソフトウェアと SnapLock Enterprise ソフトウェア”、Network Appliance社、インターネットＵＲＬ＜http://www-jp.netapp.com/products/filer/snaplock.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のようにファイルにＷＯＲＭ属性を与えてファイルを管理する場合に、その装置が持っている時計の時刻が正確でないと、まだ保存期間が経過していないファイルが変更又は削除されることがあるが、ＮＴＰサーバから取得した正確な時刻情報を用いることによって適切なファイル管理をすることができる。
【０００５】
しかし、実際には、人為的なミスやクラッキングによって、ＮＴＰサーバの時刻情報が誤っている場合がある。このような場合には、時刻に一年以上の誤差が生じることもあり、まだ保存期間が経過していないファイルが変更又は削除されることによって、深刻な損害が生じるおそれがある。
【課題を解決するための手段】
【０００６】
本発明は、時刻情報を記憶し配信する複数のタイムサーバと、記憶装置に記憶された情報の保存期間を管理するファイル管理装置と、前記タイムサーバから時刻情報を取得するタイムサーバ管理装置と、を備え；前記タイムサーバ管理装置は、前記複数のタイムサーバから時刻情報を取得するクライアント部と、前記タイムサーバから取得した複数の時刻情報と所定の基準時刻情報とを比較する時刻乖離監査部と、前記時刻乖離監査部による比較結果に基づいて前記タイムサーバの優先順位を変更する優先度設定制御部と、前記優先順位が最も高いタイムサーバから時刻情報を取得すると共に、当該取得した時刻情報を前記ファイル管理装置に通知する時計制御部と、を有し；前記ファイル管理装置は、第２内部時計と、前記記憶装置に記録されたデータの保存期間が格納されたファイル管理用データベースと、前記タイムサーバ管理装置から通知された時刻情報に基づいて前記第２内部時計の時刻情報を修正し、前記ファイル管理用データベースを参照して前記記憶装置に記録されたデータの保存期間が前記修正された第２内部時計の時刻より後に終了するか否かを判定し、当該判定結果に基づいてデータの変更及び削除を禁止する前記ファイル制御部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、常に正確な時刻に基づいてＷＯＲＭ属性を管理し、一定期間の保存が義務付けられたファイルを確実に管理することができる。
【発明を実施するための最良の形態】
【０００８】
図１は、本発明の第１の実施の形態のストレージシステムのブロック図である。
【０００９】
ＮＴＰサーバ１０１は、ＣＰＵ、メモリ、及びインターフェースが備わるコンピュータ装置である。ＮＴＰサーバ１０１は、正確な時刻情報を記憶しており、該情報を他の端末や他のＮＴＰサーバに対して、ＮＴＰ（Network Time Protocol）によって配布する。このＮＴＰサーバ１０１は、図示しない他のＮＴＰサーバと階層的に接続され、原子時計やＧＰＳ受信機等の高精度な時刻情報を有する上位のＮＴＰサーバを参照して自らの時刻情報を修正する。また、ＩＰネットワーク１０３を介して他の端末と接続され、ＮＴＰサーバ管理装置１０８からの要求に応じて、自らが持つ時刻情報を提供する。
【００１０】
監視端末１０２は、ＣＰＵ、メモリ、及びインターフェースが備わるコンピュータ装置であり、ＮＴＰサーバ１０１の稼動状況をＮＴＰサーバ管理装置１０８から受信するためのプログラムが動作している。そして、いずれかのＮＴＰサーバ１０１に問題が発生していることを示す通知をＮＴＰサーバ管理装置１０８から受ける。
【００１１】
ＷＯＲＭ管理装置１０５は、ＣＰＵ、メモリ、及びインターフェースが備わるコンピュータ装置であり、記憶装置１０６に接続されている。また、ＷＯＲＭ管理装置１０５では、記憶装置１０６に保存されているファイルの保存期間を管理するプログラムが動作している。また、ＷＯＲＭ管理装置１０５は、ＬＡＮ（Local Area Network）１０４に接続され、この管理プログラムによってＬＡＮ１０４に接続されている他の端末（図示省略）がこれらのファイルを変更又は削除することを許可するか否かを判断する。
【００１２】
記憶装置１０６は、例えば、ディスクアレイ装置によって構成され、ＬＡＮ１０４に接続されている他の端末（図示省略）からファイルが書き込まれ、又は、これらの端末によってファイルが読み出される。
【００１３】
管理端末１０７は、ＣＰＵ、メモリ、及びインターフェースが備わるコンピュータ装置であり、ＮＴＰサーバ管理装置１０８が参照するＮＴＰサーバ１０１等を設定するプログラムが動作している。また、管理端末１０７はＬＡＮ１０４に接続されている。具体的には、管理者が、ＮＴＰサーバ管理装置１０８が参照するＮＴＰサーバのＩＰアドレス、参照する時刻等の設定情報を入力すると、これらをＮＴＰサーバ管理装置１０８に設定する。
【００１４】
ＮＴＰサーバ管理装置１０８は、後述するように、ＣＰＵ、メモリ、インターフェース、及び記憶装置が備わるコンピュータ装置であり、ＮＴＰサーバ１０１から時刻情報を取得するプログラムが動作している。また、ＮＴＰサーバ管理装置１０８はＬＡＮ１０４に接続されている。具体的には、ＮＴＰサーバ管理装置１０８は、所定の時刻（乖離チェック時刻）に、複数のＮＴＰサーバ１０１から時刻情報を取得して、最も信頼性の高いＮＴＰサーバ１０１を選定すると共に、問題のあるＮＴＰサーバ１０１を検出し、監視端末１０２に通知する。また、所定のタイミングで、最も信頼性の高いＮＴＰサーバ１０１から時刻情報を取得し、それをＷＯＲＭ管理装置１０５に配信する。
【００１５】
図２は、本発明の第１の実施の形態のＮＴＰサーバ管理装置１０８のブロック図である。
【００１６】
ＮＴＰサーバ管理装置１０８は、ＣＰＵ２１１、メモリ２１２、ネットワークインターフェース（ＮＷ／ＩＦ）２１０、及び内蔵ディスク２０１が備わっている。内蔵ディスク２０１は、ＣＰＵ２１１に接続され、後で説明するように各種のプログラムやデータ等が記録されている。
【００１７】
ＣＰＵ２１１は、内蔵ディスク２０１に記録されている各種プログラムを実行する。
【００１８】
ネットワークインターフェース（ＮＷ／ＩＦ）２１０は、ＣＰＵ２１１に接続されている。また、ネットワークインターフェース（ＮＷ／ＩＦ）２１０は、ＬＡＮ１０４に接続され、ＮＴＰサーバ管理装置１０８と、ＬＡＮ１０４又はＩＰネットワーク１０３に接続された端末との通信を行う。例えば、内部時計２０７に記録されている時刻情報をＷＯＲＭ端末１０５に配信する。
【００１９】
メモリ２１２は、ＣＰＵ２１１に接続され、内蔵ディスク２０１に記録された各種プログラム等の複製や、ＣＰＵ２１１がこれらのプログラムを実行する際に使用するデータ等が必要に応じて記録される。
【００２０】
次に、内蔵ディスク２０１に記録されている各種プログラム等について説明する。
【００２１】
ＮＴＰクライアントプログラム２０２は、乖離チェック時刻に、複数のＮＴＰサーバ１０１から時刻情報を取得し、時刻管理用ＤＢ（データベース）２０９に記録する。時刻管理用ＤＢ２０９の内容については、後で詳細に説明する。
【００２２】
時計制御プログラム２０３は、所定のタイミングで、最も優先順位の高い（すなわち、最も信頼性が高いと判断された）ＮＴＰサーバ１０１から時刻情報を取得し、内部時計２０７に記録する。この所定のタイミングは、ＯＳ（オペレーティングシステム）の仕様等によって定められるが、一般的には数分程度の一定間隔にするとよい。
【００２３】
時刻乖離監査プログラム２０４は、時刻管理用ＤＢ２０９に記録された各時刻情報を相互に比較して、所定の閾値以上の乖離が発生しているか否かの判定（乖離チェック）を行う。この乖離チェックの手順については、後で詳細に説明する。
【００２４】
時計停止／優先度設定制御プログラム２０５は、問題が発生したＮＴＰサーバ１０１について、これらとの通信を中止する。例えば、乖離チェックの結果、所定の閾値以上の乖離が発生していると判定された時刻情報を提供したＮＴＰサーバ１０１、及び、ＮＴＰクライアントプログラム２０２が時刻情報を取得する際に応答がなかったＮＴＰサーバ１０１について、問題が発生したと判断する。更に、時刻管理用ＤＢ２０９におけるこれらの問題が発生したと判断されたＮＴＰサーバ１０１の優先順位を最下位に変更する。この変更の手順については、後で詳細に説明する。
【００２５】
時計停止通知制御プログラム２０６は、時計停止／優先度設定制御プログラム２０５によって一つ又はいくつかのＮＴＰサーバ１０１との通信が中止されたことを監視端末１０２に通知する。
【００２６】
内部時計２０７には、時計制御プログラム２０３が最も優先順位の高いＮＴＰサーバ１０１から取得した時刻情報が記録される。この時刻は、ＷＯＲＭ管理端末１０５に配信される。また、内部時計２０７の初期値は、システム管理者が手動で設定してもよい。
【００２７】
設定パラメータ用ＤＢ（データベース）２０８には、図３において説明するように、ＮＴＰクライアントプログラム２０２が各ＮＴＰサーバ１０１から時刻情報を取得し、時刻乖離監査プログラム２０４がその時刻情報の乖離チェックを実行する時刻、及び、乖離チェックに使用する閾値が記録される。
【００２８】
時刻管理用ＤＢ２０９には、ＮＴＰクライアントプログラム２０２が複数のＮＴＰサーバ１０１から定期的に取得した時刻情報が記録される。
【００２９】
図３は、設定パラメータ用ＤＢ２０８に記録されているデータの説明図である。
【００３０】
乖離許容時刻３０１は、時刻乖離監査プログラム２０４が乖離チェックに使用する閾値である。各ＮＴＰサーバ１０１から取得した時刻情報を基準となる時刻と比較して、その差が乖離許容時刻３０１より大きいとき、その時刻情報を提供したＮＴＰサーバ１０１に問題が発生したと判断して、時計停止／優先度設定制御プログラム２０５及び時計停止通知制御プログラム２０６が動作する。図３の例では、時刻の差が１２０分以上のとき、その時刻情報を提供したＮＴＰサーバ１０１に問題が発生したと判断する。ここで、基準となる時刻は、例えば、全てのＮＴＰサーバ１０１から取得した時刻情報の平均値であってもよいし、乖離チェックの時点で内部時計２０７に記録されている時刻であってもよい。
【００３１】
乖離チェック時刻３０２は、ＮＴＰクライアントプログラム２０２が複数のＮＴＰサーバ１０１から時刻情報を取得し、それらの時刻について乖離チェックをする、一連の処理を実行する時刻である。図３の例では、毎日、午前４時、午前１０時、午後４時及び午後１０時に実行される。
【００３２】
なお、乖離許容時刻３０１及び乖離チェック時刻３０２は、システム管理者によって設定される（図８参照）。
【００３３】
図４は、時刻管理用ＤＢ２０９に記録されているデータの説明図である。
【００３４】
図４において、ＮＴＰサーバＩＰアドレス４０１は、ＮＴＰサーバ管理装置１０８が時刻情報を取得する複数のＮＴＰサーバ１０１のＩＰアドレスである。なお、ＩＰアドレスではなくても、ネットワーク上、一意に付された識別符号であればよい。
【００３５】
取得時刻４０２は、ＮＴＰクライアントプログラム２０２がそれぞれのＮＴＰサーバ１０１から取得した時刻情報であり、乖離チェック時刻に取得する度に更新される。
【００３６】
優先順位４０３は、各ＮＴＰサーバ１０１に付された優先順位であり、優先順位４０３が高いほど信頼性が高いと判断される。ここで、優先順位４０３の初期値は、システム管理者によって設定され（図８参照）、その後、時計停止／優先度設定制御プログラム２０５によって変更される。
【００３７】
内部時計適用サーバ４０４は、どのＮＴＰサーバ１０１から取得した時刻情報をＷＯＲＭ管理端末１０５に配信するかを表すフラグである。これは、優先順位４０３が１位のＮＴＰサーバ１０１のみが「１」とされ、他のＮＴＰサーバ１０１は「０」とされ、「１」とされたＮＴＰサーバ１０１から取得した時刻情報がＷＯＲＭ管理端末１０５に配信される。すなわち、フラグが「１」とされるＮＴＰサーバ１０１は必ず一つだけが選択され、この選択されたＮＴＰサーバ１０１がＷＯＲＭ管理端末１０５に時刻情報を配信する。図４に示す例では、ＮＴＰサーバＩＰアドレス４０１が「Ａ」であるＮＴＰサーバ１０１から取得した時刻情報がＷＯＲＭ管理端末１０５に配信される。
【００３８】
図５は、乖離チェック時刻となったときの各装置及びプログラムのタイムチャートである。
【００３９】
まず、ＮＴＰクライアントプログラム２０２が複数のＮＴＰサーバ１０１から時刻情報を取得し、時刻管理用ＤＢ２０９に記録する（５０１）。このとき、応答のないＮＴＰサーバ１０１があれば、時計停止／優先度設定制御プログラム２０５にその旨を通知する（５０２）。
【００４０】
次に、ＮＴＰクライアントプログラム２０２は、時刻乖離監査プログラム２０４に、乖離チェックの実行を指示する（５０３）。この指示５０３を受けて、時刻乖離監査プログラム２０４は、各ＮＴＰサーバ１０１から取得した時刻情報を基準となる時刻と比較する（５０４）。ここでは、例として、内部時計２０７に記録されている時刻を基準とする。
【００４１】
この比較５０４の結果、その差が乖離許容時刻３０１より大きいと判定されたＮＴＰサーバ１０１があれば、ＮＴＰクライアントプログラム２０２にその旨を通知する（５０５）。ＮＴＰクライアントプログラム２０２は、この通知５０５を、更に、時計停止／優先度設定制御プログラム２０５に通知する（５０６）。
【００４２】
時計停止／優先度設定制御プログラム２０５は、通知５０２及び５０６において通知されたＮＴＰサーバ１０１は問題が発生したものと判定して、時刻管理用ＤＢ２０９における優先順位４０３を下げる処理を行う（５０７）。なお、優先度が第１位のＮＴＰサーバに問題が発生した場合は、第２位のサーバが第１位となる。この処理は、後で、図７において説明する。その後、優先順位４０３を変更したことをＮＴＰクライアントプログラム２０２に通知する（５０８）。
【００４３】
ＮＴＰクライアントプログラム２０２は、この通知５０８を受けて、時計停止通知制御プログラム２０６にアラームの発出を要請する（５０９）。時計停止通知制御プログラム２０６は、この要請５０９を受けて、ＮＴＰサーバ１０１の優先順位４０３が変更されたことを通知するアラームを監視端末１０２に発出する（５１０）。
【００４４】
図６は、図５の５０４及び５０５において時刻乖離監査プログラム２０４が実行する処理のフローチャートである。
【００４５】
ここで、ｎは、ＮＴＰクライアントプログラム２０２が時刻情報を取得する対象となるＮＴＰサーバ１０１の台数である。また、ｋは、時刻乖離監査プログラム２０４がＮＴＰサーバの優先順位４０３を計数するためのカウンタであり、１からｎまでの範囲で変化する。
【００４６】
時刻乖離監査プログラム２０４は、乖離チェックを開始すると（Ｓ６０１）、カウンタｋの値を「１」に初期設定する（Ｓ６０２）。次に、時刻管理用ＤＢ２０９を参照し、優先順位４０３がｋ番目のＮＴＰサーバの取得時刻４０２を読み出す（Ｓ６０３）。
【００４７】
次に、その時刻を基準となる時刻と比較する（Ｓ６０４）。図６の例では、内部時計２０７に記録されている時刻を基準とする。その結果、両者の差が所定の閾値（設定パラメータ用ＤＢ２０８に記録されている乖離許容時刻３０１）を超える場合は（Ｓ６０５）、ＮＴＰクライアントプログラム２０２にその旨を通知し（Ｓ６０６）、カウンタｋの値を「１」増加させる（Ｓ６０７）。一方、所定の閾値を超えない場合は（Ｓ６０５）、通知をせずにカウンタｋの値を「１」増加させる（Ｓ６０７）。
【００４８】
次に、カウンタｋの値が、時刻情報取得の対象となるＮＴＰサーバ１０１の台数ｎを超えているか否かをチェックし、超えている場合は、全てのＮＴＰサーバ１０１に関する乖離チェックが終了したので、この処理を終了する（Ｓ６０９）。一方、超えていない場合は、ステップＳ６０３に戻り、優先順位４０３がｋ番目のＮＴＰサーバ１０１の取得時刻４０２を読み出し、それ以降の処理を続行する。
【００４９】
図７は、時計停止／優先度設定制御プログラム２０５が実行する時刻管理用ＤＢ２０９の優先順位４０３の変更の説明図である。これは、図５の５０７において実行される。
【００５０】
時計停止／優先度設定制御プログラム２０５は、まず、時刻管理用ＤＢ２０９のＩＰアドレス４０１と、それぞれの優先順位４０３を参照する。この参照をした結果の例を、ＩＰアドレス７０１及び優先順位７０２に示す。
【００５１】
次に、時計停止／優先度設定制御プログラム２０５は、応答がなかったＮＴＰサーバ１０１及び乖離チェックの結果所定の閾値（乖離許容時刻３０１）以上の乖離が発生していたＮＴＰサーバ１０１について、問題が発生したと判定する。
【００５２】
具体的には、時計停止／優先度設定制御プログラム２０５は、ＮＴＰサーバ１０１から応答がなかったことの通知（図５の５０２）及び時刻に乖離があったことの通知（図５の５０６）を記録している。無応答の通知７０３は、各ＮＴＰサーバ１０１について、図５の５０２の通知があったか否かを表す。図７の例では、ＩＰアドレスが「Ｄ」のＮＴＰサーバ１０１について、その通知があったことを示している。乖離の通知７０４は、図５の５０６の通知があったか否かを表す。図７の例では、ＩＰアドレスが「Ｂ」のＮＴＰサーバ１０１について、その通知があったことを示している。このため、時計停止／優先度設定プログラム２０５は、ＩＰアドレスが「Ｂ」及び「Ｄ」のＮＴＰサーバ１０１について、問題が発生したと判定する。
【００５３】
次に、時計停止／優先度設定制御プログラム２０５は、問題が発生したと判定されたＮＴＰサーバ１０１について、優先順位７０２を最下位（ｎ位）に変更する。ただし、優先順位７０２を最下位とすべきＮＴＰサーバ１０１が複数ある場合は、乖離チェック実行前の優先順位７０２に従って変更後の優先順位が決定される。また、その他のＮＴＰサーバ１０１の優先順位７０２は、順次繰り上がる。
【００５４】
ＩＰアドレス７０５及び優先順位７０６は、優先順位が変更された後のＮＴＰサーバ１０１のＩＰアドレスと、それぞれの優先順位を表す。図７の例では、問題が発生したＮＴＰサーバ１０１が「Ｂ」と「Ｄ」の二つあったため、変更前の優先順位７０２が低い、「Ｄ」のＮＴＰサーバ１０１の優先順位７０６が最下位（ｎ位）となり、「Ｂ」のＮＴＰサーバ１０１の優先順位７０６はｎ−１位となる。
【００５５】
また、無応答の通知７０３又は乖離の通知７０４のいずれかが「有」であったＮＴＰサーバ１０１については、時刻管理用ＤＢ２０９から削除して、それ以後は、それらから時刻情報を取得しないこととしてもよい。
【００５６】
図８は、管理端末１０７の表示画面の説明図である。
【００５７】
図８の例では、キーボードからの文字入力のほか、マウスカーソルで指示してクリックすることによって選択することができるグラフィカルユーザインタフェース（ＧＵＩ）を採用して、利便性を向上させている。
【００５８】
図８において、ＮＴＰサーバ登録欄８０１は、システム管理者が、時刻情報を取得する対象のＮＴＰサーバ１０１を登録する際に使用される。システム管理者は、ＮＴＰサーバＩＰアドレス欄８０１１にＩＰアドレスを入力することによって、時刻情報を取得する対象のＮＴＰサーバ１０１を設定することができる。また、デフォルト優先順位欄８０１２に優先順位を入力することによって、当該システム運用開始当初のそれぞれのＮＴＰサーバ１０１の優先順位を設定することができる。
【００５９】
デフォルト優先順位欄８０１２の右側の逆三角形の図形は、利便性の向上のため、この欄に入力する際にプルダウンメニューを利用できることを示している。すなわち、この逆三角形の図形をクリックすると、デフォルト優先順位として入力できる数値のメニューが表れ、システム管理者は、そのいずれかを選択すればよい。
【００６０】
乖離チェック設定欄８０２は、システム管理者が、ＮＴＰサーバ１０１の乖離チェックを実行する条件を設定する際に使用される。システム管理者は、許容乖離差欄８０２１に時間を入力することによって、乖離チェックの閾値（乖離許容時刻３０２）を設定することができる。図８の例では、１２０分と入力されている。また、システム管理者は、乖離チェック時刻欄８０２２に時刻を入力することによって、乖離チェック時刻３０２を設定することができる。入力後に、入力ボタン８０２３をクリックすると、入力した時刻が登録され、設定内容表示欄８０２４に表示される。
【００６１】
通知設定欄８０３は、システム管理者が、アラーム等の通知先を設定する際に使用される。システム管理者は、通知先ホスト設定欄８０３１にＩＰアドレスを入力することによって、通知先となるホスト（端末）を設定することができる。また、プロトコル選択欄８０３２のプロトコル名の横の丸印をクリックすることによって、通知する際のプロトコルを選択することができる。図８は、ＵＤＰ／ＩＰを選択した例を示している。図８の例では、選択できるプロトコルをＴＣＰ／ＩＰとＵＤＰ／ＩＰに限定しているが、他のプロトコルを選択できるようにしてもよい。ポート番号選択欄８０３３には、ポート番号を入力することによって、通知先のホスト（端末）のポート番号を設定することができる。ここでも、利便性向上のため、プルダウンメニューを適用してもよい。
【００６２】
システム管理者がこれらの欄に入力した後、登録ボタン８０４をクリックすると、入力した内容が登録され、それ以後は、その内容に従って当該システムが運用される。キャンセルボタン８０５をクリックすると、入力した内容が取り消され、再度入力をすることができる。
【００６３】
図９は、ＷＯＲＭ管理装置１０５及び記憶装置１０６のブロック図である。
【００６４】
ＷＯＲＭ管理装置１０５には、プロセッサ（ＣＰＵ）９０１、メインメモリ９０２、入出力部９０５、バッファメモリ９０６、ディスクアダプタ９０７、内部時計９０８及びネットワークインターフェース（Ｉ／Ｆ）９０９が備わっている。
【００６５】
プロセッサ９０１は、メインメモリ９０２に記録されているＷＯＲＭファイル制御プログラム９０３を実行することによって、ＷＯＲＭ管理用ＤＢ（データベース）９０４を管理し、ＬＡＮ１０４に接続されている他の端末（図示省略）から記憶装置１０６へのデータの書き込み／読み出し要求を処理し、及び、これらの端末が記憶装置１０６に記録されているファイルを変更又は削除することを許可するか否かを判断する。
【００６６】
メインメモリ９０２には、ＷＯＲＭファイル制御プログラム９０３及びＷＯＲＭ管理用ＤＢ９０４が記録されている。
【００６７】
ＷＯＲＭファイル制御プログラム９０３は、内部時計９０８とＷＯＲＭ管理用データベース９０４を参照して、保存終了時刻が経過したファイルについてＷＯＲＭ属性を「０」に変更する。
【００６８】
入出力部９０５は、システム管理者がＷＯＲＭ管理装置１０５を管理する際に、コマンド入力等のシステム管理者からの入力を受け付け、また、現在の状態や入力の結果を表示する。
【００６９】
バッファメモリ９０６には、ディスクドライブ９１６に書き込まれるデータ及びディスクドライブ９１６から読み出されるデータが一時的に記録される。
【００７０】
ディスクアダプタ９０７は、ＷＯＲＭ管理装置１０５と記憶装置１０６との間でやり取りされるデータを仲介するインターフェースであり、例えば、ファイバーチャネル（ＦＣ）や、ＳＣＳＩ等の規格に準拠する。
【００７１】
内部時計９０８は、ＷＯＲＭ管理装置１０５の外部からクロック信号を受けることなく独立して時刻を計測することができる。プロセッサ９０１は、ＮＴＰサーバ管理装置１０８から取得した時刻情報に合わせて、内部時計９０８の時刻を修正する。
【００７２】
ネットワークＩ／Ｆ９０９は、ＷＯＲＭ管理装置１０５をＬＡＮ１０４に接続し、ＬＡＮ１０４に接続された他の端末（図示省略）との通信を行うために用いられるインターフェースである。
【００７３】
記憶装置１０６は、他の端末（図示省略）から送られたデータを記録する一つ又は複数のディスクドライブ９１６と、このディスクドライブ９１６に対するデータの書き込み／読み出しを制御するディスク制御部９１０とからなる。
【００７４】
ディスク制御部９１０には、アダプタ９１１、ディスク制御プロセッサ９１２、キャッシュメモリ９１３、メインメモリ９１４及びディスクアダプタ９１５が備わっている。
【００７５】
アダプタ９１１は、ＷＯＲＭ管理装置１０５と記憶装置１０６との間でやり取りされるデータを仲介するインターフェースであり、例えば、ファイバーチャネル（ＦＣ）や、ＳＣＳＩ等の規格に準拠する。
【００７６】
ディスク制御プロセッサ９１２は、ディスク制御部９１０の各部を制御して、ディスクドライブ９１６に対するデータの書き込み／読み出しを処理する。
【００７７】
キャッシュメモリ９１３には、ディスクドライブ９１６に書き込まれるデータ及びディスクドライブ９１６から読み出されるデータが一時的に記録される。
【００７８】
メインメモリ９１４には、ディスク制御プロセッサ９１２によって実行されるプログラム及びその実行の際に必要になるデータ等が記録される。
【００７９】
ディスクアダプタ９１５は、ディスク制御部９１０とディスクドライブ９１６との間でやり取りされるデータを仲介するインターフェースであり、例えば、ファイバーチャネル（ＦＣ）や、ＳＣＳＩ等の規格に準拠する。
【００８０】
なお、ＷＯＲＭファイル制御プログラム９０３及びＷＯＲＭ管理用ＤＢ９０４をディスク制御部９１０のメインメモリ９１４に記録し、ディスク制御プロセッサ９１２がＷＯＲＭファイル制御プログラム９０３を実行してもよい。
【００８１】
更に、ディスク制御部９１０がネットワークＩ／Ｆ９０９を備え、ＬＡＮ１０４に接続されてもよい。
【００８２】
図１０は、ＷＯＲＭ管理用ＤＢ９０４に記録されているデータの例の説明図である。
【００８３】
図１０において、データは、ファイル単位で管理される。ファイル名１００１は、記憶装置１０６に記録されているファイルの名称である。図１０の例では、記憶装置１０６にはファイルＡ及びファイルＢが記録されている。
【００８４】
保存期間１００２は、保存が義務付けられた期間であり、各ファイルごとに定められている。各ファイルは、そのファイルを記憶装置１０６に記録した後、この保存期間１００２を経過する前に変更及び削除することができない。図１０の例では、ファイルＡの保存期間１００２は３年、ファイルＢの保存期間１００２は２年である。
【００８５】
保存時刻１００３は、それぞれのファイルを記憶装置１０６に記録した時刻である。図１０の例では、ファイルＡの保存時刻１００３は２００１年１１月２０日１３時２０分３０秒であり、ファイルＢの保存時刻１００３は１９９８年６月２０日１３時２０分３０秒である。
【００８６】
保存終了時刻１００４は、各ファイルの保存時刻１００３から保存期間１００２が経過した時刻であり、各ファイルの保存期間１００２が終了する時刻を表す。すなわち、各ファイルは、保存終了時刻１００４を経過する前には、変更及び削除のいずれもすることができない。図１０の例では、ファイルＡの保存終了時刻１００４は２００４年１１月２０日１３時２０分３０秒であり、ファイルＢの保存終了時刻１００４は２０００年６月２０日１３時２０分３０秒である。
【００８７】
ＷＯＲＭ属性１００５は、保存終了時刻１００４が経過していないファイルに与えられる属性であり、ＷＯＲＭ属性１００５が「１」であり、この属性が与えられているファイルは、変更及び削除のいずれもすることができない。一方、「０」であるファイルには、この属性が与えられていない。具体的には、保存終了時刻１００４が内部時計９０８の現在時刻以前であるファイルについては「０」、以後であるファイルについては「１」とされる。図１０の例では、内部時計９０８の現在時刻が２００３年１２月１６日であるため、ファイルＡのＷＯＲＭ属性１００５が「１」、ファイルＢのＷＯＲＭ属性１００５が「０」となる。すなわち、ＷＯＲＭファイル制御プログラム９０３は、ＬＡＮ１０４に接続された他の端末（図示省略）に対して、ファイルＢを変更又は削除することは許可するが、ファイルＡを変更又は削除することは禁止する。
【００８８】
このように、本発明の第１の実施の形態によれば、定期的に複数のＮＴＰサーバ１０１から取得した時刻情報を比較して、時刻に大幅な乖離のあるＮＴＰサーバ１０１を除外し、更に、最も信頼性が高いと考えられるＮＴＰサーバ１０１を選択して、そこから時刻情報を取得する。これによって、常に正確な時刻をもってＷＯＲＭ属性１００５を管理し、本来変更又は削除してはならないファイルを変更又は削除することを防止することができる。
【００８９】
図１１は、本発明の第２の実施の形態のストレージシステムのブロック図である。
【００９０】
第２の実施の形態は、ＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置１１０１を備える点で、図１に示す本発明の第１の実施の形態と異なる。第２の実施の形態において、第１の実施の形態と同一の構成については、詳細な説明を省略する。
【００９１】
ＮＴＰサーバ１０１は、ＣＰＵ、メモリ、及びインターフェースが備わるコンピュータ装置である。このＮＴＰサーバ１０１は、図示しない他のＮＴＰサーバと階層的に接続され、上位のＮＴＰサーバが持つ時刻情報を参照して自らの時刻情報を修正する。また、ＩＰネットワーク１０３を介して他の端末と接続され、ＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置１１０１からの要求に応じて、自らが持つ時刻情報を提供する。
【００９２】
監視端末１０２は、ＣＰＵ、メモリ、及びインターフェースが備わるコンピュータ装置であり、ＮＴＰサーバ１０１の稼動状況を監視するプログラムが動作している。そして、いずれかのＮＴＰサーバ１０１に問題が発生していることを示す通知をＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置１１０１から受ける。
【００９３】
管理端末１０７は、ＣＰＵ、メモリ、及びインターフェースが備わるコンピュータ装置であり、ＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置１１０１が参照するＮＴＰサーバ１０１等を設定するプログラムが動作している。また、管理端末１０７はＬＡＮ１０４に接続されている。具体的には、管理者が、ＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置１１０１が参照するＮＴＰサーバのＩＰアドレス、参照する時刻等の設定情報を入力すると、これらをＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置１１０１に設定する。
【００９４】
ＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置１１０１は、ＣＰＵ、メモリ、及びインターフェースが備わるコンピュータ装置であり、記憶装置１０６及びＬＡＮ１０４に接続されている。
【００９５】
このＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置１１０１では、ＮＴＰサーバ１０１から時刻情報を取得するプログラムが動作している。具体的には、ＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置１１０１は、乖離チェック時刻に、複数のＮＴＰサーバ１０１から時刻情報を取得して、最も信頼性の高いＮＴＰサーバ１０１を選定すると共に、問題のあるＮＴＰサーバ１０１を検出し、監視端末１０２に通知する。また、所定のタイミングで、最も信頼性の高いＮＴＰサーバ１０１から時刻情報を取得する。
【００９６】
また、このＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置１１０１では、記憶装置１０６に保存されているファイルの保存期間を管理するプログラムが動作しており、ＮＴＰサーバ１０１から時刻情報を取得するプログラムが最も信頼性の高いＮＴＰサーバ１０１から取得した時刻情報を用いて、ＬＡＮ１０４に接続されている他の端末（図示省略）がこれらのファイルを変更又は削除することを許可するか否かを判断する。
【００９７】
記憶装置１０６は、例えば、ディスクアレイ装置によって構成され、ＬＡＮ１０４に接続されている他の端末（図示省略）からファイルが書き込まれ、又は、これらの端末によってファイルが読み出される。
【図面の簡単な説明】
【００９８】
【図１】本発明の第１の実施の形態のストレージシステムのブロック図である。
【図２】ＮＴＰサーバ管理装置のブロック図である。
【図３】設定パラメータ用ＤＢに記録されているデータの説明図である。
【図４】時刻管理用ＤＢに記録されているデータの説明図である。
【図５】乖離チェック時刻となったときの各装置及びプログラムのタイムチャートである。
【図６】時刻乖離監査プログラムが実行する処理のフローチャートである。
【図７】時計停止／優先度設定プログラムによる時刻管理用ＤＢの優先順位の変更の説明図である。
【図８】管理端末の表示画面の説明図である。
【図９】ＷＯＲＭ管理装置及び記憶装置のブロック図である。
【図１０】ＷＯＲＭ管理用ＤＢに記録されているデータの例の説明図である。
【図１１】本発明の第２の実施の形態のストレージシステムのブロック図である。
【符号の説明】
【００９９】
１０１  ＮＴＰサーバ
１０２  監視端末
１０５  ＷＯＲＭ管理装置
１０６  記憶装置
１０７  管理端末
１０８  ＮＴＰサーバ管理装置
２０２  ＮＴＰクライアントプログラム
２０３  時計制御プログラム
２０４  時刻乖離監査プログラム
２０５  時計停止／優先度設定制御プログラム
２０６  時計停止通知制御プログラム
２０７  内部時計
２０８  設定パラメータ用ＤＢ
２０９  時刻管理用ＤＢ
９０３  ＷＯＲＭファイル制御プログラム
９０４  ＷＯＲＭ管理用ＤＢ
９０８  内部時計
１１０１  ＮＴＰサーバ管理装置兼ＷＯＲＭ管理装置
【図１】
2005222368.tif 000003
【図２】
2005222368.tif 000004
【図３】
2005222368.tif 000005
【図４】
2005222368.tif 000006
【図５】
2005222368.tif 000007
【図６】
2005222368.tif 000008
【図７】
2005222368.tif 000009
【図８】
2005222368.tif 000010
【図９】
2005222368.tif 000011
【図１０】
2005222368.tif 000012
【図１１】
2005222368.tif 000013