(57)【特許請求の範囲】
【請求項１】
第１の上位装置と第１のファイル入出力装置とが第１のネットワークを介して接続される第１のコンピュータシステムと、第２の上位装置と第２のファイル入出力装置とが前記第１のネットワークを介して接続される第２のコンピュータシステムとを有し、前記第１のファイル入出力装置と前記第２のファイル入出力装置とが第２のネットワークを介して接続され、前記第１の上位装置からのデータ書き込み要求により前記第１のファイル入出力装置内の記憶媒体にデータを書き込むとともに前記第２のネットワークを介して前記第２のファイル入出力装置内の記憶媒体に前記データを遠隔二重書きし、かつ前記第１の上位装置と前記第２の上位装置との間で前記第１のファイル入出力装置及び前記第２のファイル入出力装置が保有するファイルを共用するシステムにおける遠隔ファイル共用方法であって、
前記第１のファイル入出力装置により、特定のファイルを指定する前記データ書き込み要求を受信し、テーブル手段上の前記特定のファイルについての読み書き排他制御情報が排他状態でなければ排他状態に設定し、前記第１のネットワークを介し前記特定のファイルを指定して前記第２のファイル入出力装置に対して前記特定のファイルを排他状態にするよう要求し、
前記第２のファイル入出力装置により、前記テーブル手段に対応するテーブル手段上の前記特定のファイルについての読み書き排他制御情報が排他状態でなければ排他状態に設定し、前記第１のファイル入出力装置に対して排他が正常に完了したことを報告し、
前記第１のファイル入出力装置により、前記第１のファイル入出力装置内の記憶媒体への前記データの書き込みと前記遠隔二重書きを完了した後に、前記テーブル手段上の前記特定のファイルについて排他制御情報の排他状態を解除し、前記第２のファイル入出力装置に対して前記特定のファイルの排他状態を解除するよう要求し、
前記第２のファイル入出力装置により、前記特定のファイルについての排他制御情報の排他状態を解除することを特徴とする遠隔ファイル共用方法。
【請求項２】
前記第１のファイル入出力装置により、前記第１の上位装置から特定のファイルを指定するファイル管理情報更新要求を受信し、指定された特定のファイルについてメモリ上のファイル管理情報を更新し、前記第１のファイル入出力装置内の記憶媒体へのファイル管理情報の書き込みと前記遠隔二重書きを完了した後に前記第１のネットワークを介して指定された特定のファイルを指定して前記第２のファイル入出力装置に対して前記ファイル管理情報の更新を要求し、
前記第２のファイル入出力装置により、メモリ上の指定された特定のファイルのファイル管理情報を二重書きすることを特徴とする請求項１記載の遠隔ファイル共用方法。
【請求項３】
第１のネットワークを介して上位装置及び他のファイル入出力装置と接続するインタフェース手段と、ファイルごとに読み書きを排他状態とするか非排他状態にするかを示す排他制御情報を設定する記憶手段と、前記上位装置から特定のファイルを指定するデータ書き込み要求を受信したとき、前記特定のファイルについての前記排他制御情報が排他状態でなければ排他状態に設定する手段と、前記他のファイル入出力装置に対して前記特定のファイルを排他状態にするよう要求する手段と、前記他のファイル入出力装置から排他が正常に完了したとの報告を受けたとき、記憶媒体にデータを書き込むとともに第２のネットワークを介して前記他のファイル入出力装置内の記憶媒体に前記データを遠隔二重書きする手段と、前記データの書き込みと前記遠隔二重書きが完了したとき、前記特定のファイルについての前記排他制御情報の排他状態を解除する手段と、前記特定のファイルについて前記他のファイル入出力装置に対して前記特定のファイルの排他状態を解除するよう要求する手段と、前記他のファイル入出力装置からファイル識別情報を指定して排他状態にするよう要求されたとき、指定されたファイルについての前記排他制御情報が排他状態でなければ排他状態に設定する手段とを有することを特徴とするファイル入出力装置。
【請求項４】
前記上位装置から特定のファイルを指定するファイル管理情報更新要求を受信したとき、指定された特定のファイルについてメモリ上のファイル管理情報を更新する手段と、前記ファイル入出力装置内の記憶媒体へのファイル管理情報の書き込みと前記遠隔二重書きを完了した後に、前記第１のネットワークを介して指定された特定のファイルを指定して前記他のファイル入出力装置に対して前記ファイル管理情報の更新を要求する手段と、前記他のファイル入出力装置から前記ファイル管理情報の更新要求を受信したとき、前記メモリ上の指定されたファイルのファイル管理情報を二重書きする手段とを有することを特徴とする請求項３記載のファイル入出力装置。
【請求項５】
第１の上位装置と第１のファイル入出力装置とが第１のネットワークを介して接続される第１のコンピュータシステムと、第２の上位装置と第２のファイル入出力装置とが前記第１のネットワークを介して接続される第２のコンピュータシステムとを有し、前記第１のファイル入出力装置と前記第２のファイル入出力装置とが第２のネットワークを介して接続される遠隔ファイル共用システムであって、
前記第１のファイル入出力装置は、前記第１のネットワークを介して前記第１の上位装置及び前記第２のファイル入出力装置と接続するインタフェース手段と、ファイルごとに読み書きを排他状態とするか非排他状態にするかを示す排他制御情報を設定する記憶手段と、前記第１の上位装置から特定のファイルを指定するデータ書き込み要求を受信したとき、前記特定のファイルについての前記排他制御情報が排他状態でなければ排他状態に設定する手段と、前記第２のファイル入出力装置に対して前記特定のファイルを排他状態にするよう要求する手段と、前記第２のファイル入出力装置から排他が正常に完了したとの報告を受けたとき、記憶媒体にデータを書き込むとともに前記第２のネットワークを介して前記第２のファイル入出力装置内の記憶媒体に前記データを遠隔二重書きする手段と、前記データの書き込みと前記遠隔二重書きが完了したとき、前記特定のファイルについての前記排他制御情報の排他状態を解除する手段と、前記特定のファイルについて前記第２のファイル入出力装置に対して前記特定のファイルの排他状態を解除するよう要求する手段とを有し、
前記第２のファイル入出力装置は、前記第１のネットワークを介して前記第２の上位装置及び前記第１のファイル入出力装置と接続するインタフェース手段と、ファイルごとに読み書きを排他状態とするか非排他状態にするかを示す排他制御情報を設定する記憶手段と、前記第１のファイル入出力装置から前記特定のファイルについてその排他制御情報を排他状態にするよう要求されたとき、前記特定のファイルについての前記排他制御情報が排他状態でなければ排他状態に設定する手段と、前記第１のファイル入出力装置から前記特定のファイルについてその排他状態を解除するよう要求されたとき、前記特定のファイルについて前記排他制御情報の排他状態を解除する手段を有することを特徴とする遠隔ファイル共用システム。
【請求項６】
前記第１のファイル入出力装置は、さらに前記第１の上位装置から特定のファイルを指定するファイル管理情報更新要求を受信したとき、指定された特定のファイルについてメモリ上のファイル管理情報を更新する手段と、前記第１のファイル入出力装置内の記憶媒体へのファイル管理情報の書き込みと前記遠隔二重書きを完了した後に、前記第１のネットワークを介して指定された特定のファイルを指定して前記第２のファイル入出力装置に対して前記ファイル管理情報の更新を要求する手段とを有し、
前記第２のファイル入出力装置は、前記第１のファイル入出力装置から前記ファイル管理情報の更新要求を受信したとき、メモリ上の指定されたファイルのファイル管理情報を二重書きする手段とを有することを特徴とする請求項５記載の遠隔ファイル共用システム。
【請求項７】
第１のネットワークを介して上位装置及び他のファイル入出力装置と接続するインタフェース手段と、ファイルごとに読み書きを排他状態とするか非排他状態にするかを示す排他制御情報を設定する記憶手段と、前記上位装置から特定のファイルを指定するデータ書き込み要求を受信したとき、前記特定のファイルについての前記排他制御情報が排他状態でなければ排他状態に設定する手段と、前記他のファイル入出力装置に対して前記特定のファイルを排他状態にするよう要求する手段と、前記他のファイル入出力装置から排他が正常に完了したとの報告を受けたとき、前記特定のファイルについてメモリ上のファイル管理情報中の更新日時を更新し、記憶媒体に前記書き込み要求されたデータを書き込むとともに第２のネットワークを介して前記他のファイル入出力装置内の記憶媒体に前記データを遠隔二重書きする手段と、前記データの書き込みと前記遠隔二重書きが完了したとき、前記特定のファイルについての前記排他制御情報の排他状態を解除する手段と、前記特定のファイルについて前記他のファイル入出力装置に対して前記特定のファイルの排他状態を解除するよう要求する手段と、前記他のファイル入出力装置からファイル識別情報を指定して排他状態にするよう要求されたとき、指定されたファイルについての前記排他制御情報が排他状態でなければ排他状態に設定する手段と、前記メモリ上のファイル管理情報中の更新日時を更新したとき、前記ファイル入出力装置内の記憶媒体へのファイル管理情報の書き込みと前記遠隔二重書きを完了した後に、前記第１のネットワークを介して前記特定のファイルを指定して前記他のファイル入出力装置に対して前記ファイル管理情報の更新を要求する手段と、前記他のファイル入出力装置から前記ファイル管理情報の更新要求を受信したとき、前記メモリ上の指定されたファイルのファイル管理情報を二重書きする手段とを有することを特徴とするファイル入出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ストレージシステムに係わり、特に上位装置を介さずに記憶制御装置間で記憶媒体上のデータを二重書きするストレージシステムにおいて、それぞれの記憶制御装置に接続する上位装置から二重書きされたデータを共用可能な遠隔ファイル共用方法、その装置及びシステムに関する。
【０００２】
【従来の技術】
上位装置を介することなしに記憶制御装置間でデータ転送を行い、記憶制御装置間でデータの二重書きを実現する技術、すなわち遠隔二重書きについては、米国特許５，１５５，８４５号に記載されている。この従来技術では、上位装置から記憶制御装置配下の記憶媒体の正副を指定するコマンドを正記憶制御装置が受領すると、正記憶制御装置の記憶媒体の格納するデータを副記憶制御装置の記憶媒体へコピーする。この正副指定とともに上位装置から正記憶制御装置に対して書き込み要求が発行されたとき、正記憶制御装置は、当該書き込みデータを正記憶制御装置に格納すると共に、副記憶制御装置に対して書き込み要求を発行する。
【０００３】
以上の動作により遠隔二重書きが実現される。遠隔二重書きを行うことによって、災害や障害等により正記憶制御装置のデータが入出力不能になった場合に、副記憶制御装置とそれに接続する上位装置からなる副システムにより業務を継続することが可能になる。
【０００４】
一方、複数の上位装置から記憶制御装置配下の記憶媒体に格納されたデータを共用する技術、すなわちファイル共用システムがある。この従来技術では、上位装置から記憶制御装置にデータの書き込み要求を発行したとき、記憶制御装置は配下の記憶媒体に上位装置から転送されたデータを格納する。この書き込み処理中に他の上位装置から当該データの読み出し／書き込み要求が発行されると、記憶制御装置の当該データが書き込み処理中であり、当該データを操作できないことを要求を発行した上位装置に報告する。上記の処理により、上位装置から記憶制御装置へデータを書き込み要求処理中に、他の上位装置から当該データの読み出し要求が発行された場合、書き込み前のデータが読み出されることがなく、他の上位装置から当該データの書き込み要求が発行された場合についても、書き込み前に後者の書き込み要求処理を行うことはない。
【０００５】
以上の動作により、複数の上位装置から記憶制御装置配下のデータを共用できる。複数の上位装置でファイル共用することによって、個々の上位装置の処理負担を軽減する分散処理が可能になる。
【０００６】
特開平１０−２６９０３０号広報は、記憶制御装置間で遠隔二重書きを行うとともに、各々の上位装置からのファイル共用を可能とする遠隔ファイル共用システムを開示する。
【０００７】
【発明が解決しようとする課題】
上記従来技術によれば、遠隔二重書きを行う複数の記憶制御装置に亘って各々の上位装置からファイル共用が可能である。しかし記憶媒体は磁気ディスクのシリンダ単位に排他され、上位装置が発行するライトコマンドはシリンダ番号を指定する必要がある。従って上位装置は、シリンダという磁気ディスク装置の物理的区画を意識してライトコマンドを発行しなければならず、上位装置がファイルのように論理的なデータの集合に対してライトコマンドを発行する場合にその論理的単位について排他制御ができないという問題がある。
【０００８】
また各ファイルはそのファイル情報を記憶媒体上に保存するが、上位装置からファイル管理情報へのアクセス性能を向上させるために、記憶制御装置のメモリにファイル管理情報のコピーを保有するような記憶制御装置がある。このような記憶制御装置について、上位装置からの要求によってあるいは上位装置を介さずにファイル管理情報を更新するとき、複数の記憶制御装置に亘って記憶媒体上のファイル管理情報を一致させるように遠隔二重書きを行うとともに、上記メモリ上のファイル管理情報を一致させる必要がある。
【０００９】
本発明の目的は、ファイル単位で排他制御可能な遠隔ファイル共用方法、その装置及びシステムを提供することにある。
【００１０】
本発明の他の目的は、記憶制御装置間でメモリ上のファイル管理情報の一致性を保つ遠隔ファイル共用方法、その装置及びシステムを提供することにある。
【００１１】
【課題を解決するための手段】
本発明は、第１の上位装置と第１のファイル入出力装置とが第１のネットワークを介して接続される第１のコンピュータシステムと、第２の上位装置と第２のファイル入出力装置とが第１のネットワークを介して接続される第２のコンピュータシステムとを有し、第１のファイル入出力装置と第２のファイル入出力装置とが第２のネットワークを介して接続され、第１の上位装置からのデータ書き込み要求により第１のファイル入出力装置内の記憶媒体にデータを書き込むとともに第２のネットワークを介して第２のファイル入出力装置内の記憶媒体にそのデータを遠隔二重書きし、かつ第１の上位装置と第２の上位装置との間で第１のファイル入出力装置及び第２のファイル入出力装置が保有するファイルを共用するシステムにおける遠隔ファイル共用方法であって、第１のファイル入出力装置により、上位装置から特定のファイルを指定するデータ書き込み要求を受信し、テーブル手段上のこの特定のファイルについての読み書き排他制御情報が排他状態でなければ排他状態に設定し、第１のネットワークを介しこのファイルを指定して第２のファイル入出力装置に対してこのファイルを排他状態にするよう要求し、第２のファイル入出力装置により、上記のテーブル手段に対応するテーブル手段上の当該ファイルについての読み書き排他制御情報が排他状態でなければ排他状態に設定し、第１のファイル入出力装置に対して排他が正常に完了したことを報告し、第１のファイル入出力装置により、第１のファイル入出力装置内の記憶媒体へのデータの書き込みと遠隔二重書きを完了した後に、テーブル手段上の当該ファイルについての排他制御情報の排他状態を解除し、第２のファイル入出力装置に対して当該ファイルの排他状態を解除するよう要求し、第２のファイル入出力装置により、特定のファイルについての排他制御情報の排他状態を解除する遠隔ファイル共用方法を特徴とする。またこのような機能を有する遠隔ファイル共用システム及びファイル入出力装置を特徴とする。
【００１２】
また本発明は、第１のファイル入出力装置により、第１の上位装置から特定のファイルを指定するファイル管理情報更新要求を受信し、指定された特定のファイルについてメモリ上のファイル管理情報を更新し、第１のファイル入出力装置内の記憶媒体へのファイル管理情報の書き込みと遠隔二重書きを完了した後に第１のネットワークを介して指定された特定のファイルを指定して第２のファイル入出力装置に対してファイル管理情報の更新を要求し、第２のファイル入出力装置により、メモリ上の指定された特定のファイルのファイル管理情報を二重書きする遠隔ファイル共用方法を特徴とする。またこのような機能を有する遠隔ファイル共用システム及びファイル入出力装置を特徴とする。
【００１３】
【発明の実施の形態】
図１は、本実施形態の遠隔ファイル共用システムの構成例を示す図である。本システムは、コンピュータシステム１とコンピュータシステム１１の２つから構成され、それぞれ内部に上位装置２と本実施例でファイル入出力装置３，１３と呼ぶ記憶制御装置をもつ。上位装置２は、一般に計算機である。
【００１４】
本発明においては、２つのコンピュータシステムの構成及び制御に差はなく、正副の区別はない。しかし説明の便宜上、コンピュータシステム１を中心として構成及び動作の説明をして、必要な時はもう一方のコンピュータシステム１１を遠隔のシステムと呼ぶことにする。
【００１５】
ファイル入出力装置３は、上位装置２およびファイル入出力装置１３と入出力コマンド及びデータを転送可能なローカルエリアネットワーク（ＬＡＮ）７，１７およびストレージエリアネットワーク（ＳＡＮ）８で接続される。ファイル入出力装置３は、ＮＡＳ（Ｎｅｔｗｏｒｋ−Ａｔｔａｃｈｅｄ−Ｓｔｏｒａｇｅ）サーバ４と遠隔二重書き装置６とから構成される。ファイル入出力装置３，１３のコマンド又はデータの転送に際して、ＮＡＳサーバ４，１４間でコマンド及びデータを転送するときにはＬＡＮ７，１７が使用される。また遠隔二重書き装置６，１６でコマンド及びデータを転送するときにはＳＡＮ８が使用される。
【００１６】
ＮＡＳサーバ４は、ＬＡＮ７，１７を介して上位装置２又はＮＡＳサーバ１４から入出力コマンド及びデータを送受信するためのインタフェースと、共用ファイル制御装置５とを有する。共用ファイル制御装置５は、上位装置２又はＮＡＳサーバ１４から受信した入出力コマンドを処理し、またＮＡＳサーバ１４へ入出力コマンドを発行する処理、特にファイル入出力装置３，１３に亘ってファイルを共用する場合のコマンド処理機能を有する。また共用ファイル制御装置５は、遠隔二重書き装置６へのデータの読み出し／書き込みを制御する。
【００１７】
遠隔二重書き装置６は、データを格納する記憶媒体を有し、共用ファイル制御装置５からデータ読み出し／書き込みコマンドを受け取って自身の記憶媒体についてのデータ読み出し／書き込みを実行する。またデータ書き込みの場合には、ＳＡＮ８を介して遠隔二重書き装置１６へ同一データを送信し、遠隔二重書きを行う。
【００１８】
図２は、共用ファイル制御装置５の内部構成を示す図である。共用ファイル制御装置５は、上位装置２およびファイル入出力装置１３からの入出力コマンドとデータの送受信を行うコマンド送受信制御回路２１、遠隔二重書き装置６へのデータの受け渡しをおこなうデータ転送制御回路２３、制御線２４を介して上記の回路２１，２３を制御するプロセッサ２２及びプロセッサ２２上で動作する遠隔ファイル共用プログラム、テーブルなどを格納するメモリ２５で構成される。
【００１９】
コマンド送受信制御回路２１は、通常、上位装置２からのコマンド受信待ち状態にあって受信制御を行い、ＬＡＮ７，１７を介して遠隔のファイル入出力装置１３に送信すべきコマンドが発生した時、プロセッサ２２によりコマンド送信制御に切り替えられる。コマンドの送信処理終了後、コマンド受信制御に切り替えられる。
【００２０】
メモリ２５は、遠隔の共用ファイル制御装置１５とファイル共用するための排他制御情報を格納する共用ファイル制御情報テーブル２６、遠隔の共用ファイル制御装置１５とファイル共用するためのファイル管理情報を格納する共用ファイル管理情報テーブル２７及び遠隔のＮＡＳサーバ１４に入出力コマンドを送信し、データの受け渡しをするときに使用されるＮＡＳサーバ１４のアドレス情報を格納するＮＡＳサーバアドレス情報２８で構成される。
【００２１】
図３は、共用ファイル制御情報テーブル２６のデータ構成例を示す図である。上位装置２は、一般にファイル入出力装置３，１３のデータをファイル単位にアクセスするため、本データ構成例では、ファイルごとにファイル制御情報３０をもち、上位装置２からの入出力要求をファイル単位で排他する。１つのファイル制御情報３０は、ファイルを識別する情報を格納するファイル名３１、遠隔のファイル入出力装置１３とのファイルの共用を制御する情報を格納する共用制御情報３２、上位装置２からの読み出し要求を排他制御する情報を格納するＲＥＡＤ排他制御情報３３及び上位装置２からの書き込み要求を排他制御する情報を格納するＷＲＩＴＥ排他制御情報３４から構成される。
【００２２】
遠隔のファイル入出力装置１３とのファイルの共用をする場合は、共用するファイルに対応する共用制御情報３２に１を格納し、ファイルの共用をしないとき０を格納する。共用状態で上位装置２からの読み出し要求を排他制御するとき、排他するファイルに対応するＲＥＡＤ排他制御情報３３に１を格納し、排他をしないとき０を格納する。共用状態で上位装置２からの書き込み要求を排他制御するとき、排他するファイルに対応するＷＲＩＴＥ排他制御情報３４に１を格納し、排他をしないとき０を格納する。
【００２３】
図４は、共用ファイル管理情報テーブル２７のデータ構成例を示す図である。本テーブルも共用ファイル制御情報テーブル２６と同様に、ファイル単位にファイル管理情報４０を持っている。一つのファイル管理情報４０は、ファイルを識別する情報を格納するファイル名４１、ファイルの大きさを格納するサイズ４２、ファイルのアクセス許可状態を格納するアクセス許可４３、ファイルの更新日時を格納する更新日時４４、記憶媒体上のデータ格納位置を格納するデータ格納位置４５及び更新フラグ４６の各要素で構成される。データ格納位置４５は、当該ファイルの遠隔二重書き装置６における格納開始位置を示し、論理ボリューム上のブロック番号などで表現される。ファイル名４１からデータ格納位置４５までの情報は、遠隔二重書き装置６上の当該ファイルに関するファイル管理情報に一致している。更新フラグ４６は、ファイル管理情報の遠隔コピー及び遠隔二重書きを制御するために設けられたものであり、ファイル管理情報を更新するとき１に設定され、更新しないとき０に設定される。
【００２４】
図５は、遠隔ファイル共用プログラムの処理の流れを示すフローチャートである。遠隔ファイル共用プログラムは、上位装置２からファイル入出力装置３に対してＲＥＡＤ要求コマンド又はＷＲＩＴＥ要求コマンドが発行された時、そのコマンド処理を実行する。共用ファイル制御プログラムは、上位装置２又は遠隔のファイル入出力装置１３からコマンド送受信回路２１を介してコマンドを受信するまでコマンド受信待ち状態を維持する（ステップ１００）。上位装置２又はファイル入出力装置１３からコマンドを受信したとき、コマンド解析を行い（ステップ１０１）、指定されたファイルについて共用ファイル制御情報テーブル２６の共用制御情報３２がファイル共用状態になっているか、または受信したコマンドが後述の共用要求／共用解除コマンドであるか判定する（ステップ１０２）。共用状態又は共用関係のコマンドの場合は、ファイル共用コマンド処理を行って（ステップ１０３）、ステップ１００に戻る。共用でない場合、そのコマンド処理を行って（ステップ１０４）、ステップ１００に戻る。
【００２５】
ファイル共用状態でない場合、ＮＡＳサーバ４は、データ転送制御回路２３を介して従来通り遠隔二重書き装置６にブロック単位のＲＥＡＤコマンド又はＷＲＩＴＥコマンドを発行する。遠隔二重書き装置６は、物理的な記憶媒体に対してＲＥＡＤコマンド又はＷＲＩＴＥコマンドを発行する。 ＷＲＩＴＥコマンドの場合には、遠隔二重書き装置６は、ＳＡＮ８を経由して遠隔二重書き装置１６へ書き込みしたデータを送信し、遠隔二重書きを実行する。
【００２６】
ファイル入出力装置３と遠隔のファイル入出力装置１３でファイル共用をする場合、上位装置２は、その接続するファイル入出力装置３，１３にファイルを共用モードにするためのコマンド（以下、共用要求コマンドと呼ぶ）をファイルごとに発行する。
【００２７】
図６〜図９は、ファイル共用コマンドの処理を行う遠隔ファイル共用プログラムの処理手順を示すフローチャートである。共用ファイル制御装置５が上位装置２から共用要求コマンドを受信したとき（ステップ２００ＹＥＳ）、指定されたファイルについて共用ファイル制御情報テーブル２６の共用制御情報３２に１を設定し（ステップ２０１）、当該ファイル入出力装置３の共用ファイル管理情報テーブル２７のファイル管理情報４０と遠隔のファイル入出力装置１３のファイル管理情報４０が一致するように、指定されたファイルの更新フラグ４６に１を設定する（ステップ２０２）。
【００２８】
当該ファイルについて更新フラグ４６に１が設定されたとき（ステップ３００ＹＥＳ）、共用ファイル制御装置５は、その更新フラグ４６に０を設定し（ステップ３０１）、遠隔二重書き装置６にＷＲＩＴＥコマンドを発行してファイル管理情報４０中の管理情報を遠隔二重書き装置６に書き込む（ステップ３０２）。遠隔二重書き装置６は、その記憶媒体へのファイル管理情報の書き込みとＳＡＮ８を経由して遠隔二重書き装置１６へファイル管理情報を送信し、遠隔二重書きを実行する。ファイル管理情報の二重書きが完了したとき、共用ファイル制御装置５は、遠隔の共用ファイル制御装置１５に当該ファイル管理情報４０を書き込むためのコマンド（以下、管理情報コピーコマンドと呼ぶ）を送信する（ステップ３０３）。遠隔の共用ファイル制御装置１５は、受信したコマンドが管理情報コピーコマンドのとき（ステップ２４０ＹＥＳ）、共用ファイル制御装置５から送信されたファイル管理情報４０を当該ファイルのファイル管理情報に上書きして（ステップ２４１）、ステップ３００へ行く。
【００２９】
ファイル共用を解除するには、上位装置２から共用解除コマンドを発行する。上位装置２がファイル入出力装置３に共用解除コマンドを発行すると、共用ファイル制御装置５は、受信したコマンドが共用解除コマンドと判定し（ステップ２１０ＹＥＳ）、指定されたファイルについて共用ファイル制御情報テーブル２６の共用制御情報３２に０を設定し（ステップ２１１）、ステップ３００へ行く。ファイル共用を解除する必要があるのは、災害や障害等によって遠隔二重書きシステムが使用不可になった時のみであり、通常はファイル共用状態である。
【００３０】
ファイル共用状態時に、共用ファイル制御装置５が上位装置２からファイル名を付帯情報とするＷＲＩＴＥ要求コマンドを受信したとき（ステップ２７０ＹＥＳ）、指定されたファイルについて共用ファイル制御情報テーブル２６のＷＲＩＴＥ排他制御情報３４がＷＲＩＴＥ排他状態になっているか判定する（ステップ２７１）。排他されている場合は、上位装置２にＷＲＩＴＥ要求コマンドが処理できないことを報告し（ステップ２７５）、ステップ３００へ行く。排他されていない場合は、指定されたファイルについて共用ファイル制御情報テーブル２６のＲＥＡＤ排他制御情報３３およびＷＲＩＴＥ排他制御情報３４に１を格納する（ステップ２７２、２７３）。共用ファイル制御装置５は、遠隔のファイル入出力装置１３に遠隔の上位装置１２からの入出力要求を排他制御するためのコマンド（以下、排他要求コマンドと呼ぶ）を発行し（ステップ２７４）、ステップ３００へ行く。ＮＡＳサーバ４は、ＮＡＳサーバアドレス情報２８を参照してＮＡＳサーバ１４のネットワークアドレスを取得し、ＬＡＮ７，１７を介してＮＡＳサーバ１４へ排他要求コマンドを送信する。
【００３１】
遠隔の共用ファイル制御装置１５は、ファイル名を付帯情報とする排他要求コマンドを受信したとき（ステップ２２０ＹＥＳ）、指定されたファイルについて共用ファイル制御情報テーブル２６のＷＲＩＴＥ排他制御情報３４がＷＲＩＴＥ排他状態になっているか否か判定する（ステップ２２１）。排他されている場合は、ファイル入出力装置３に排他要求コマンドが処理できないことを報告するためのコマンド（以下、排他失敗報告コマンドと呼ぶ）を送信して（ステップ２２５）、ステップ３００へ行く。排他されていない場合は、指定されたファイルについて共用ファイル制御情報テーブル２６のＲＥＡＤ排他制御情報３３およびＷＲＩＴＥ排他制御情報３４に１を格納する（ステップ２２２、２２３）。次にファイル入出力装置３に排他要求コマンドが正常処理できたことを報告するためのコマンド（以下、排他正常報告コマンドと呼ぶ）を発行し（ステップ２２４）、ステップ３００へ行く。
【００３２】
共用ファイル制御装置５は、ファイル名を付帯情報とする排他失敗報告コマンドを受信したとき（ステップ２５０ＹＥＳ）、上位装置２にＷＲＩＴＥ要求コマンドが処理できないことを報告する（ステップ２５１）。次に指定されたファイルについてＲＥＡＤ排他制御情報３３およびＷＲＩＴＥ排他制御情報３４に０を格納して（ステップ２６１、２６２）、ステップ３００へ行く。ステップ２６１及び２６２の処理によって、同一ファイルについて一時的に共用ファイル制御装置５のファイル制御情報３０と共用ファイル制御装置１５のファイル制御情報３０とが不一致となる。しかし共用ファイル制御装置５は、その後すぐに共用ファイル制御装置１５から当該ファイルについて排他要求コマンドを受信してＲＥＡＤ排他制御情報３３およびＷＲＩＴＥ排他制御情報３４を１に設定することになり、両ファイル制御情報３０が一致の状態になる。
【００３３】
共用ファイル制御装置５は、受信したコマンドが排他正常報告コマンドのとき（ステップ２３０ＹＥＳ）、指定されたファイルについて共用ファイル管理情報テーブル２７の当該ファイル管理情報４０の更新日時４４を更新して、当該ファイルについて更新フラグ４６に１を設定する（ステップ２３１、２３２）。
【００３４】
共用ファイル制御装置５は、データ転送制御回路２３を介して遠隔二重書き装置６へブロック単位のＷＲＩＴＥコマンドを発行してデータ書き込みを行う（ステップ２３３）。遠隔二重書き装置６は、物理的な記憶媒体に対してＷＲＩＴＥコマンドを実行する。また遠隔二重書き装置６は、ＳＡＮ８を経由して遠隔二重書き装置１６へ書き込みしたデータを送信し、遠隔二重書きを実行する。遠隔二重書き装置１６は、その記憶媒体に対して二重書きを完了したとき、ＳＡＮ８を介して完了した旨を遠隔二重書き装置６へ報告する。共用ファイル制御装置５は、上位装置２からのＷＲＩＴＥコマンドに付帯するデータが尽きるまで遠隔二重書き装置６へのＷＲＩＴＥコマンドの発行を繰り返し、遠隔二重書き装置６はその記憶媒体へのデータ書き込みと遠隔二重書きを繰り返す。ＷＲＩＴＥ要求コマンドに付帯するデータの最後のブロックが遠隔二重書きされ、遠隔二重書き装置６が遠隔二重書き装置１６からそのブロックの書き込み完了報告を受けて共用ファイル制御装置５に報告する時点が当該データの書き込み完了時点である。
【００３５】
データの書き込みが完了すると、共用ファイル制御装置５は、当該ファイルについてＲＥＡＤ排他制御情報３３およびＷＲＩＴＥ排他制御情報３４に０を格納する（ステップ２３４、２３５）。次にＬＡＮ７を介して遠隔のファイル入出力装置１３に遠隔の上位装置１２からの入出力要求を排他制御していた排他要求を解除するためのコマンド（以下、排他解除コマンドと呼ぶ）を発行し（ステップ２３６）、ステップ３００へ行く。当該ファイルの更新フラグ４６が１に設定されているので、ステップ３０１〜３０３が実行される。
【００３６】
遠隔の共用ファイル制御装置１５は、受信したコマンドが排他解除コマンドの場合（ステップ２６０ＹＥＳ）、ＲＥＡＤ排他制御情報３３およびＷＲＩＴＥ排他制御情報３４に０を格納して（ステップ２６１、２６２）、ステップ３００へ行く。
【００３７】
ファイル共用状態時に共用ファイル制御装置５が上位装置２からファイル名を付帯情報とするＲＥＡＤ要求コマンドを受信したとき（ステップ２８０ＹＥＳ）、指定されたファイルについて共用ファイル制御情報テーブル２６のＲＥＡＤ排他制御情報３３がＲＥＡＤ排他状態になっているか否か判定する（ステップ２８１）。排他されている場合は、上位装置２にＲＥＡＤ要求コマンドが処理できないことを報告し（ステップ２８５）、ステップ３００へ行く。排他されていない場合は、指定されたファイルについて共用ファイル制御情報テーブル２６のＷＲＩＴＥ排他制御情報３４に１を格納して（ステップ２８２）、データ転送制御回路２３を介して遠隔二重書き装置６へブロック単位のＲＥＡＤコマンドを発行してデータ読み出しを行う（ステップ２８３）。遠隔二重書き装置６は、物理的な記憶媒体に対してＲＥＡＤコマンドを実行する。共用ファイル制御装置５は、上位装置２からのＲＥＡＤ要求コマンドで要求されたデータを読み出すまで遠隔二重書き装置６へのＲＥＡＤコマンドの発行を繰り返す。要求されたデータを読み出したとき、ＮＡＳサーバ４は、当該リードデータを上位装置２へ転送する。遠隔二重書き装置６によるデータの読み出しが完了すると、当該ファイルについてＷＲＩＴＥ排他制御情報３４に０を格納して（ステップ２８４）、ステップ３００へ行く。ステップ２８２でＷＲＩＴＥ排他制御情報３４に１を設定するのは、同時に処理される可能性のある他の上位装置２からの同一ファイルに対するＷＲＩＴＥ要求コマンドを排他するためである。
【００３８】
ＲＥＡＤ要求コマンド処理時は、遠隔二重書き装置６配下の記憶媒体のデータは変らないため、両ファイル入出力装置３，１３のデータは一致状態を維持する。従ってＷＲＩＴＥ要求コマンドのように遠隔の共用ファイル制御装置１５に排他要求コマンドを発行し、上位装置１２からの当該データに対するアクセスを排他する必要はない。
【００３９】
上位装置２がＷＲＩＴＥ要求コマンド以外で、ファイル名の変更やアクセス許可の変更などファイル管理情報４０を更新するとき、 共用ファイル制御装置５にコマンド（以下、管理情報更新コマンドと呼ぶ）を発行する。共用ファイル制御装置５は、管理情報更新コマンドを受信したとき（ステップ２９０ＹＥＳ）、指定されたファイルについてファイル管理情報４０を更新し（ステップ２９１）、その更新フラグ４６に１を設定する（ステップ２９２）。当該ファイルの更新フラグ４６が１に設定されているので、ステップ３０１〜３０３が実行される。
【００４０】
なお上記実施形態では、共用ファイル制御装置５は、ステップ３０３で共用ファイル制御装置１５に管理情報コピーコマンドを送信したが、その代わりに当該ファイル管理情報４０が更新されたことを報告するためのコマンド（以下、管理情報更新通知コマンドと呼ぶ）を送信してもよい。そのためにファイル管理情報４０の更新フラグ４６に「２：他系のファイル管理情報更新あり」のフラグを追加する。共用ファイル制御装置１５は、受信したコマンドが管理情報更新通知コマンドのとき（ステップ２４０）、管理情報をコピーする代わりに、共用ファイル制御装置５から二重書きされたファイル管理情報をメモリ２５に読み出すように、指定されたファイルの更新フラグ４６に２を設定する。共用ファイル制御装置１５が当該ファイルについて更新フラグ４６に２が設定されたことを検出したとき、その更新フラグ４６を０に設定し、遠隔二重書き装置１６にＲＥＡＤコマンドを発行して当該ファイルのファイル管理情報を読み出して当該ファイル管理情報４０を更新する。
【００４１】
以上述べたように本実施形態によれば、同一ファイルについて両ファイル入出力装置３，１３のファイル制御情報３０を排他状態に設定した後に、そのファイルについて両ファイル入出力装置３，１３の記憶媒体上のデータを遠隔二重書きする。従ってデータの二重書き中の同データへのいずれかの上位装置１２によるアクセスが禁止され、ファイル入出力装置３，１３に亘るファイルの共用が可能になるとともに、ファイル入出力装置３，１３間でのデータの一致性が保たれる。またファイル管理情報についてもファイル入出力装置３，１３の一方のファイル管理情報４０の更新によって、記憶媒体上のファイル管理情報が遠隔二重書きされるとともに、更新されたファイル管理情報４０が他方のファイル入出力装置にコピーされる。またＮＡＳサーバ４，１４間でコマンド及びデータを転送するときには、ＬＡＮ７，１７を経由するので、ＳＡＮ８経由のデータ転送負荷を軽減し、二重書きのためのデータ転送を妨げない。
【００４２】
【発明の効果】
以上述べたように本発明によれば、上位装置からのファイル指定によりファイル単位に排他制御するようにファイル入出力装置を構成したので、上位装置からはファイルという論理的なデータ集合に対して排他制御できる。またファイル管理情報の遠隔二重書きに伴い、ファイル入出力装置のメモリ上のファイル管理情報のコピーを行える。さらにファイル管理情報のコピーに際して記憶媒体間の二重書きのために使用するネットワークとは別のネットワークを介して行うので、前者を経由するデータ転送負荷を軽減し、二重書きのためのデータ転送を妨げない。
【図面の簡単な説明】
【図１】実施形態の遠隔ファイル共用システムの構成図である。
【図２】実施形態の共用ファイル制御装置５の構成図である。
【図３】共用ファイル制御情報テーブル２６のデータ構成例を示す図である。
【図４】共用ファイル管理情報テーブル２７のデータ構成例を示す図である。
【図５】実施形態の遠隔ファイル共用プログラムの処理の流れを示すフローチャートである。
【図６】実施形態のファイル共用コマンドの処理を行う遠隔ファイル共用プログラムの処理の流れを示すフローチャートである。
【図７】実施形態のファイル共用コマンドの処理を行う遠隔ファイル共用プログラムの処理の流れを示すフローチャート（続き）である。
【図８】実施形態のファイル共用コマンドの処理を行う遠隔ファイル共用プログラムの処理の流れを示すフローチャート（続き）である。
【図９】実施形態のファイル共用コマンドの処理を行う遠隔ファイル共用プログラムの処理の流れを示すフローチャート（続き）である。
【符号の説明】
１，１１…コンピュータシステム、２…上位装置、３，１３…ファイル入出力装置、４，１４…ＮＡＳサーバ、５，１５…共用ファイル制御装置、６，１６…遠隔二重書き装置、２６…共用ファイル制御情報テーブル、２７…共用ファイル管理情報テーブル
【図１】
0004672931.tif 000002
【図２】
0004672931.tif 000003
【図３】
0004672931.tif 000004
【図４】
0004672931.tif 000005
【図５】
0004672931.tif 000006
【図６】
0004672931.tif 000007
【図７】
0004672931.tif 000008
【図８】
0004672931.tif 000009
【図９】
0004672931.tif 000010