(57)【要約】【課題】システム全体を直ちに復帰させることができる分散処理システムにおけるデータアクセス管理装置を提供すること。【解決手段】ファイル管理サブシステム２１が、二次記憶装置４の特定ブロックへのデータ書き込みの権限を示すアクセス制御情報を或るアクセス制御サブシステム２２へ送信すると、そのアクセス制御情報は送信先のアクセス制御サブシステムに保管されるとともに、その記録がファイル管理サブシステム２１に保持される。ファイル管理サブシステム２１がダウンして、待機ファイル管理サブシステム２１′が新たなファイル管理サブシステム２１になると決定すると、この待機ファイル管理サブシステム２１は、各アクセス制御サブシステム２２に対して、夫々が保管するアクセス制御情報の通知を要求する。【選択図】図１
2008217820.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク環境下で互いに接続された複数の計算機と共有ディスクとから構成される分散処理システムであって、
個々の前記計算機は、前記共有ディスクのデータ記憶領域へのデータアクセスを行うアクセス用サブシステムを有し、
何れか一の前記計算機は、各前記アクセス用サブシステムに対して前記データアクセスの権限を示すアクセス制御情報を発行するとともに、そのアクセス制御情報を記録する管理用サブシステムを有し、
何れか一の前記計算機は、前記管理用サブシステムが処理を継続できない場合に、各前記アクセス用サブシステムに対して夫々が保管している前記アクセス制御情報を要求し、この要求に応じて各前記アクセス用サブシステムが通知してきた前記アクセス制御情報を記録し、各前記アクセス用サブシステムに対し、そのアクセス用サブシステムが前記管理用サブシステムに対して送信していたプロシジャを冗送させ、各前記アクセス用サブシステムから冗送されてきたプロシジャに対応した内容が前記ログ情報に含まれていれば、そのプロシジャが成功した旨を冗送元のアクセス用サブシステムへ返答し、各前記アクセス用サブシステムから冗送されてきたプロシジャに対応した内容が前記ログ情報に含まれていなければ、そのプロシジャが失敗した旨を冗送元のアクセス用サブシステムへ返答し、新たな前記管理用サブシステムとして、データアクセス排他制御を行う待機管理用サブシステムを有する
ことを特徴とする分散処理システム。
【請求項２】
前記管理用サブシステムは、前記アクセス用サブシステムに対して、前記共有ディスクの記憶領域の一部を、当該アクセス用サブシステムがデータに割り付けることができるリザーブ領域として設定する
ことを特徴とする請求項１記載の分散処理システム。
【請求項３】
各前記アクセス用サブシステムは、前記管理用サブシステムによって設定されたリザーブ領域のうち、データに割り付けた領域を使用中領域として記録するとともに、この使用中領域の情報を前記管理用サブシステムに通知し、
前記管理用サブシステムは、各前記アクセス用サブシステムから通知された使用中領域の情報を記録し、前記待機管理用サブシステムは、前記管理用サブシステムが処理を継続できない場合に、各前記アクセス用サブシステムが記録している使用中領域の情報を要求し、この要求に応じて各前記アクセス用サブシステムが通知してきた使用中領域の情報を記録する
ことを特徴とする請求項２記載の分散処理システム。
【請求項４】
前記共有ディスクは、前記記憶領域内の各ブロックについて、それが何れかのアクセス用サブシステムに対してリザーブ領域として設定されているか、それが何れかのアクセス用サブシステムによってデータに割り付けられた使用中領域であるか、その何れでもない空き領域であるかが記録された管理情報，及び、この管理情報を更新させるための内容が記録されたログ情報とを保持し、
前記管理用サブシステムは、前記リザーブ領域の設定又は前記使用中領域の情報の通知がある毎に、その内容を前記ログ情報に記録し、前記待機管理用サブシステムは、前記管理用サブシステムが処理を継続できない場合に、前記ログ情報に基づいて前期管理情報を更新する
ことを特徴とする請求項３記載の分散処理システム。
【請求項５】
何れか一の前記計算機は、前記管理用サブシステムの動作を監視し、前記管理用サブシステムが処理を継続できなくなったことを検出すると、前記待機管理用サブシステムを動
作させる管理用サブシステム監視サブシステムを有する
ことを特徴とする請求項１記載の分散処理システム。
【請求項６】
各前記計算機は、夫々、前記待機管理用サブシステムを有し、
前記管理用サブシステム監視サブシステムは、前記管理用サブシステムが処理を継続できなくなったことを検出すると、何れか一つの待機管理用サブシステムのみを動作させることを特徴とする請求項５記載の分散処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク環境上の複数台の計算機が共有ディスクを夫々直接制御できるように構成された分散処理システムに、関する。
【背景技術】
【０００２】
ＵＮＩＸシステムでは、複数台の計算機に処理を分散させる分散処理システムが、提供されている。このような分散処理システムにおいては、各計算機によって処理されるデータが分散処理システム全体としてコンシステンシ（一貫性、整合性）を保っていなければならないので、同じデータが分散処理システム内に二つ以上存在することは望ましくない。従って、分散処理システム内にユニークに存在しているデータを格納するディスクは、各計算機から夫々アクセスされるものとなっている必要がある。また、近年のインターネットの普及や情報化に因り、計算機同士が情報を共有することが求められている。
【０００３】
このような目的の元、一個若しくは物理的又は論理的に分散された複数個のディスク（以下、「共有ディスク」という）を分散処理システム内の各計算機によって共有させる共有ファイルシステムが、実現されている。例えば、複数の計算機同士がネットワークを介して接続されるとともに、各計算機と一つの共有ディスクとがＳＡＮ（Storage Area Network）を介して接続されることによって、共有ディスク内のデータがネットワーク経由ではなくＳＡＮ経由で各計算機から直接アクセスされる形態の共有ファイルシステムが、実現されている。
【０００４】
このような共有ファイルシステムにおいては、複数の計算機から一つの情報が同時に見えるように構成される必要があるが、或る計算機が或るデータを更新している間は、そのデータが他の計算機からアクセスされないようにしなければならない。このように、或る計算機が或るデータを書き込んでいる間において他の計算機による当該データに対する参照を規制する制御は、「排他制御」と呼ばれている。
【０００５】
従来、いくつかの排他制御方式が実現されているが、ここでは、そのうちの一つを、簡単に説明する。この排他制御方式においては、互いにネットワークを介して相互に接続されている複数の計算機上では、夫々、アプリケーションからのデータアクセス要求を受けて共有ファイルシステムへのアクセスを請け負うアクセス用サブシステムが実行されているとともに、複数の計算機のうちの特定の一台の計算機上では、各計算機上のアクセス用サブシステムに対してアクセスの権限を付与する管理用サブシステムが実行されている。そして、ある計算機上においてアクセス用サブシステムがアプリケーションからデータアクセス要求を受けると、このアクセス用サブシステムは、上記管理用サブシステムに対して、データアクセスが可能か否かを問い合わせる。この問い合わせを受けた管理用サブシステムは、要求されたデータアクセスの種類がデータの読み出し（read）であれば、他の計算機のアクセス用サブシステムが当該データの書き込み（write）を行っていない限り
、読み出しの権限を示す読出用トークンを要求元のアクセス用サブシステムに対して発行する。また、管理用サブシステムは、要求されたデータアクセスの種類がデータの書き込み（write）であれば、他の計算機のアクセス用サブシステムが当該データの読み出し（read）又は書き込み（write）を行っていない限り、書き込みの権限を示す書込用トークンを要求元のアクセス用サブシステムに対して発行する。これにより、或る計算機によって更新されているデータの他の計算機からのアクセスを規制する排他制御が、実現されているのである。
【０００６】
このような排他制御方式においては、管理用サブシステムが発行できる書込用トークン
は、各データが割り当てられる共有ディスク中の記憶量域のブロック毎に、一つのみ存在するように構成されねばならない。従って、管理用サブシステムは、この書込用トークンをアクセス制御情報として予め保管しておき、各アクセス用サブシステムからの要求に応じて、このアクセス制御情報から書込用トークンを取り出して、要求元のアクセス用サブシステムに対して発行する。また、管理用サブシステムは、各アクセス用サブシステムが共有ディスク内にデータを書き込む毎に、その通知を受けて、そのデータ書き込みの記録を共有ディスク内においてログ情報として記録し、所定のタイミングにて、各データをファイルとして管理するために共有ディスク内に記録されている管理情報（以下、「メタ情報」という）を上記ログ情報に基づいて更新する。
【０００７】
一方、本出願人は、分散処理システム全体としての実行性能を向上させるために、共有ディスク中の一部の記憶領域の管理を予め管理用サブシステムから各アクセス用サブシステムへ移管することによって、各アクセス用サブシステムが管理用サブシステムに対して共有ディスク上のデータ書込対象のブロックを問い合わせる事を不要にできる排他制御方式を、特願平１１−１４３５０２号において提案した。この特許出願において提案された排他制御方式によると、各アクセス用サブシステムは、管理用サブシステムによって管理を移管された記憶領域（以下、「リザーブ領域」という）に関しては、管理用サブシステムから多めにデータ書込用トークンを入手して、自らのアクセス制御情報中に保管しておくことができる。そして、各アクセス用サブシステムは、アプリケーションから共有ディスクへの書き込みを要求されたデータに対して、自らのアクセス制御情報中のデータ書込用トークンに基づいて、自己が管理するリザーブ領域中のブロックを割り当てる。従って、データ更新毎に、各アクセス用サブシステムが管理用サブシステムに対して問い合わせる事が、不要となる。
【０００８】
このようにして各アクセス用サブシステムによってデータに割り当てられたリザーブ領域中のブロックについてのメタ情報は、そのアクセス用サブシステム内において更新され、適切な時期に、管理用サブシステムに対して通知される。この通知を受けた管理用サブシステムは、通知されたメタ情報に基づいて、共有ディスク全体を管理するために自己が保持しているメタ情報を更新するとともに、その更新の内容を共有ディスク内のログ情報に記録する。なお、各アクセス用サブシステムに対して管理が移管された記憶領域に対する他のアクセス用サブシステムからのデータ読出要求に対しては、管理用サブシステムが、データ読出用トークンを発行する。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このような形態の排他制御方式が採用されている分散処理システムにおいては、管理用サブシステムがノードダウン又はプロセスダウンしてしまった場合には、各アクセス用サブシステムも処理を継続できなくなるので、これら各アクセス用サブシステムに対してデータアクセスを要求しているアプリケーションや上位サブシステムが異常終了してしまって、分散処理システム全体が停止してしまうことになる。
【００１０】
このような分散処理システム全体の停止は、例えば、インターネット・サービス・プロバイダのように世界中から常に情報をアクセスされる形態の分散処理システムにおいては、避けられなければならない。
【００１１】
しかしながら、従来の分散処理システムにおいては、このような管理用サブシステムがダウンした場合に、システムを直ちに復帰させることはできなかった。何故ならば、このような管理用サブシステムのダウンが生じた場合には、管理用サブシステムが保持していたアクセス制御情報が失われているが故に、どのアクセス用サブシステムが共有ディスクに対してデータ書込を行っているのかを知ることができないために、各アクセス用サブシ
ステムに対して直ちにデータ書込を継続させることができないからである。
【００１２】
本発明は、このような問題点に鑑み、管理用サブシステムがダウンした場合においても、ダウンした管理用サブシステムが各アクセス用サブシステムに対して付与していたアクセス制御情報を、新たな管理用サブシステムが直ちに知ることができ、よって、システム全体を直ちに復帰させることができる分散処理システムにおけるデータアクセス管理装置の提供を、課題とする。
【課題を解決するための手段】
【００１３】
本発明による分散処理システムにおけるデータアクセス管理装置は、ネットワーク環境下で互いに接続された複数の計算機と共有ディスクとから構成された分散処理システムにおけるデータアクセス管理装置であって、個々の前記計算機は、前記共有ディスクのデータ記憶領域へのデータアクセスを行うアクセス用サブシステムを有する。また、何れか一の前記計算機は前記各アクセス用サブシステムに対して前記データアクセスの権限を示すアクセス制御情報を発行するとともに、そのアクセス制御情報を記録する管理用サブシステムを有する。さらに、何れか一の前記計算機は、前記管理用サブシステムが処理を継続できない場合に、前記各アクセス用サブシステムに対して夫々が保管している前記アクセス制御情報を要求し、この要求に応じて前記各アクセス用サブシステムが通知してきた前記アクセス制御情報を記録して、新たな前記管理用サブシステムとして機能する待機管理用サブシステムを有する。
【００１４】
このように構成されると、管理用サブシステムがダウンすることによって、その動作を継続することが不可能となった場合には、この管理用サブシステムが記録していたアクセス制御情報は失われてしまうが、待機管理用サブシステムが新たな管理用サブシステムとして機能開始する際に、各アクセス用サブシステムに対して、夫々が保管しているアクセス制御情報を要求して、要求に応じて通知されたアクセス制御情報を記録する。従って、新たな管理用サブシステムは、このアクセス制御情報を用いて、元々の管理用サブシステムがダウン前に各アクセス用サブシステムと行っていた処理を、継続することができる。
【発明の効果】
【００１５】
以上説明したように、本発明の分散処理システムにおけるデータアクセス管理装置によれば、管理用サブシステムが一旦ダウンした場合において、新たな管理用サブシステムは、ダウンした管理用サブシステムが各アクセス用サブシステムに対して付与していたアクセス制御情報を直ちに知ることができ、よって、分散処理システム全体を直ちに復帰させることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を、図面を参照して説明する。
【００１７】
＜分散処理システムの概略構成＞
図１は、本実施形態による分散処理システムのソフトウェア構成を示すブロック図であり、図２は、図１における一台の計算機及び二次記憶装置のハードウェア構成を示すブロック図である。
【００１８】
図１に示されるように、この分散処理システムは、ネットワーク（ＬＡＮ１）によって互いに接続された複数台（ｎ台）の計算機（「ノード」とも呼ばれる）2-1〜2-nと、各計算機２に対してＳＡＮ等のデータ転送路３を介して接続された二次記憶装置４とから、構成されている。
【００１９】
＜分散処理システムのソフトウェア構成＞
この二次記憶装置４は、共有ファイルシステムを構成する共有ディスクを内蔵しており、データ転送路３を介して各計算機２から直接アクセスされる。この二次記憶装置４内の記憶領域には、メタ情報４１及びログ情報４２が含まれており、その残りの記憶領域が、データを格納するためのデータ領域４０となっている。
【００２０】
このデータ領域４０は、夫々一意のアドレス（論理アドレス）が付された多数のブロックから、構成されている。
【００２１】
メタ情報４１は、データ領域４０内部の各ブロックを管理するための情報が保持される領域である。このメタ情報４１内の情報は、空き領域群４１０，使用中領域群４１１，及び、リザーブ中領域群４１１に区分されて、Ｂｔｒｅｅ構造又はリスト構造をなしている。空き領域群４１０に含まれる情報は、データ領域４０中においてデータに割り当てられていないブロックの先頭アドレスを管理するための情報である。また、使用中領域群４１１に含まれる情報は、データ領域４０中においてブロックが割り当てられたデータをファイルとして管理するための情報であり、各データ毎に、そのデータのパス名，そのデータが格納されたブロックの先頭アドレス，そのデータが格納されたブロックのサイズ，そのデータの作成時刻及び最終更新時刻，そのデータの作成者及び最終参照者を、保持している。また、リザーブ中領域群４１２に含まれる情報は、後述するファイル管理サブシステム（管理用サブシステム）２１によって各計算機2-1〜2-nのアクセス制御サブシステム（アクセス用サブシステム）２２に対してリザーブ中領域として管理を移管されたブロックの先頭アドレス及びそのブロックの管理を行うアクセス制御サブシステム２２の識別情報である。
【００２２】
なお、このメタ情報４１は、本来であれば、データ領域４０中のデータがアクセス（新規書き込み，読み出し，更新，削除）される都度、更新されることが望ましい。但し、このメタ情報４１は莫大な数の情報から構成されているので、データアクセスの都度、メタ情報４１から対応する情報が検索されて更新されるのでは、データアクセスの速度が低下してしまう可能性がある。そのため、メタ情報４１を更新すべきオペレーション（データアクセス）が発生した場合には、そのオペレーションの内容が、ファイル管理システム２１によって、ログ情報４２内に一旦蓄積され、このログ情報４２へのオペレーション内容の蓄積完了という事実に基づいて、ファイル管理システム２１はそのオペレーションが成功したものとみなすのである。
【００２３】
一方、各計算機2-1〜2-nは、図２に示されるようなハードウェア構成を有している。即ち、各計算機2-1〜2-nは、互いにバスＢを介して接続されたＣＰＵ２１，ネットワークアダプタ２２，ハードディスク２３，ＲＡＭ２４及び入力装置２５を、主要構成としている。
【００２４】
ネットワークアダプタ２２は、ＣＰＵ２１から受け取った他の計算機宛のデータをＬＡＮ１上で転送されるパケットに変換してＬＡＮ１へ送出したり、ＬＡＮ１上を流れるパケットをＣＰＵ２１が処理可能なデータフォーマットに復元してＣＰＵ２１へ通知する。
【００２５】
入力装置２５は、オペレータによって各種コマンド等が入力されるキーボード及びポインティングデバイスである。
【００２６】
ＣＰＵ２１は、この計算機２全体の制御を実行する中央処理装置であり、ハードディスク２３内に格納されている各種プログラムをＲＡＭ２４上に読み出して、順次実行する。
【００２７】
ＲＡＭ２４は、このＣＰＵ２１による作業領域が展開される主記憶装置である。このＲＡＭ２４上に読み出されてＣＰＵ２１によって実行されるプログラムは、オペレーティン
グシステム及び各種アプリケーションプログラムである。このオペレーティングシステムは、ＵＮＩＸであり、他の計算機２との関係においては、クライアントＯＳとしても、サーバＯＳとしても機能する。即ち、本実施形態による分散処理システムは、ＬＡＮ１を介して通信可能に接続されたＵＮＩＸベースのサーバ・クライアントシステムを基本として、構築されている。
【００２８】
このオペレーティングシステムには、図１に示されるように、各種アプリケーションプログラムからのデータアクセス依頼に基づいて二次記憶装置４へのデータアクセスを請け負うアクセス制御サブシステム２２が含まれている。また、特定の一つの計算機２上のオペレーティングシステムには、各アクセス制御サブシステム２２からの要求に応じて、データ書込（更新，削除を含む。以下、同じ）用トークンやデータ読出用トークンをこれら各アクセス制御サブシステム２に対して発行したり、二次記憶装置４中のデータ領域４０の管理をこれら各アクセス制御サブシステム２に対して発行することによって、各アクセス制御サブシステム２２による二次記憶装置４に対するデータアクセスを一括管理して排他制御を実現するファイル管理サブシステム２１が、含まれている。このファイル管理サブシステム２１と各アクセス制御サブシステム２２との間での情報のやりとりは、Ｓｏｃｋｅｔで実現されており、ファイルの操作の種類毎の手続きを表現するデータ構造の情報をやりとりすることで実現されている。この手続きは「プロシジャ」と呼ばれている。プロシジャには、ある計算機が発行したプロシジャ内で一意の送信識別子，プロシジャの種別を表すプロシジャ番号、各番号毎の個別情報が、含まれる。
【００２９】
以下、これら各アクセス制御サブシステム及びファイル管理サブシステム２１の機能を説明する。
【００３０】
ファイル管理サブシステム２１は、必要に応じて、二次記憶装置４上のメタ情報４１の一部又は全部を読み出して、自己の内部に、メタ情報２１２として複写する。従って、ファイル管理サブシステム２１内のメタ情報２１０には、二次記憶装置４上のデータ領域４０の一部又は全部に関する空き領域群２１０１（空き領域群４１０の一部又は全部に相当）及び使用中領域群２１０２（使用中領域群４１１の一部又は全部に相当）が、含まれている。一方、リザーブ中領域群４１２は、後述するように、このファイル管理サブシステム２１自身が生成する情報であるために、ファイル管理サブシステム２１が二次記憶装置４上のメタ情報４１から読み出すことはない。
【００３１】
ファイル管理サブシステム２１は、また、メタ情報２１０内の空き領域群２１０１及び使用中領域群２１０２に基づいて管理している二次記憶装置４上のデータ領域４０中の各ブロック毎に、データ書込の権限を示す書込用トークンを生成して、この書込用トークンをアクセス制御情報２１１内に保存する。なお、二次記憶装置４上のデータ領域４０中に格納されている各データファイルに関しては、書込用のトークンとして、データ内容自体を更新する権限を示すデータ書込用トークン，メタ情報２１０の使用中領域群２１０２に含まれるサイズ情報を更新する権限を示すサイズ書込用トークン，同じく属性を更新する権限を示す属性書込用トークン，同じくパス名を更新する権限を示すパス名書込用トークン，同じく最終更新時刻を更新する権限を示す時刻書込用トークン等が、存在する。このアクセス制御情報２１１中には、他に、各書込用トークンを各アクセス制御サブシステム２２に対して発行した場合には、その発行先のアクセス制御サブシステム２２の識別情報が格納される。
【００３２】
さらに、ファイル管理サブシステム２１は、各アクセス制御サブシステム２２から、二次記憶装置４上のデータ領域４０中のデータファイルの読み出しを要求された場合には、そのデータファイルに関して書込用トークンが発行されていない限り、随時、データ読出の権限を示す読出用トークンを生成して、要求元アクセス制御サブシステム２２に対して
発行する。この読出用トークンとしては、データ内容自体を読み出す権限を示すデータ読出用トークン，メタ情報２１０の使用中領域群２１０２に含まれるサイズ情報を読み出す権限を示すサイズ読出用トークン，同じく属性を読出す権限を示す属性読出用トークン，同じくパス名を読み出す権限を示すパス名読出用トークン，同じく最終更新時刻を読み出す権限を示す時刻読出用トークン等が、存在する。アクセス制御情報２１１中には、他に、各読出用トークンを各アクセス制御サブシステム２２に対して発行した場合には、その発行先のアクセス制御サブシステム２２の識別情報が格納される。
【００３３】
ところで、各種のトークンを受け取ったアクセス制御サブシステム２２は、直ちに、そのトークンの対象となったデータファイルを開くわけではなく、トークンを有していることを条件として、任意にデータファイルを開くことができる。そして、各アクセス制御サブシステム２２は、保持しているトークンに相当するデータファイルを開いた時と閉じた時には、夫々、そのデータファイルのパス名をファイル管理サブシステム２１に通知する。ファイル管理サブシステムは、各アクセス制御サブシステム２２からの通知に基づいて、現に開かれているデータファイルのパス名を、そのデータファイルを開いているアクセス制御サブシステム２２が実行されている計算機２の識別情報とともに、アクセス制御情報２１１中に格納する。
【００３４】
各アクセス制御サブシステム２２は、必要に応じて、ファイル管理サブシステム２１に対して、二次記憶装置４上のデータ領域４０における空き領域についての管理の移管を要求する。すると、ファイル管理サブシステム２１は、メタ情報２１０の空き領域群２１０１に含まれる所定記憶容量分のブロックについての情報を、この空き領域群２１０１から外して、要求元のアクセス制御システム２２の識別情報を付してリザーブ中領域群２１０３に組み入れるとともに、要求元のアクセス制御サブシステム２２に通知する。更に、ファイル管理サブシステム２１は、そのオペレーションの内容を、二次記憶装置４中のログ情報４２に記録する。要求元のアクセス制御サブシステム２２は、ファイル管理サブシステム２１から通知された情報に基づいて、自己が有するメタ情報２２０内に、リザーブ中領域群２２０２を生成する。
【００３５】
また、各アクセス制御サブシステム２２は、自己のメタ情報２２０において管理している二次記憶装置４上のデータ領域４０中のブロックに関しては、随時、ファイル管理サブシステム２１に対してデータ書込用のトークンを要求することができる。この要求を受けたファイル管理サブシステム２１は、要求元のアクセス制御サブシステム２２に管理を移管したリザーブ領域内のブロック群に関するデータ書込用トークンを、まとめて、要求元アクセス制御サブシステム２２に対して発行する。要求元アクセス制御サブシステム２２は、このようにしてまとめて発行されたデータ書込用トークンを、自己のアクセス制御情報２２１に保管する。
【００３６】
アクセス制御サブシステム２２は、アプリケーションからのデータ書込要求に対しては、そのブロックに対応したデータ書込用トークンがアクセス制御情報２２１内に保持されていることを条件として、自己のメタ情報２２０のリザーブ中領域２２０２に含まれる情報によって特定される二次記憶装置４上のデータ領域４０中のブロックを、そのデータ書込要求の対象となったデータに対して割り当てる。このようにして割り当てられたブロックについての情報は、リザーブ中領域群２２０２から外されて、メタ情報２２０内の使用中領域群２２０１に組み入れられる。このように、アクセス制御サブシステム２２が、ファイル管理サブシステム２１から独立して、自己に管理が移管された領域についてのデータ書き込みを独自に行えるので、この領域に関しては、アクセス制御サブシステム２２のメタ情報２２０の内容は、二次記憶装置４のデータ領域４０の内容に対して正しく整合しているが、ファイル管理サブシステム２１のメタ情報２１０における使用中領域群２１０２及びリザーブ中領域群２１０３の内容とは、必ずしも整合していない。そのため、アク
セス制御サブシステム２２は、適度なタイミングで、自己のメタ情報２２０の内容を、ファイル管理サブシステム２１へ一括して通知する。この通知を受けたファイル管理サブシステム２１は、通知されたメタ情報の内容を自己のメタ情報２１０における使用中領域群２１０２及びリザーブ中領域群２１０３に反映させることにより、そのメタ情報２１０の内容を、二次記憶装置４上のデータ領域４０の内容と整合させる。更に、ファイル管理サブシステム２１は、当該整合のためのオペレーションの内容を、二次記憶装置４中のログ情報４２に記録する。
【００３７】
なお、アクセス制御サブシステム２２は、二次記憶装置４のデータ領域４０における何れのブロックに格納されたデータファイルについても、アプリケーションからのデータ読出要求に応じて、その読み出しをファイル管理サブシステム２１に対して要求することができる。アクセス制御サブシステム２２は、この要求に応じてファイル管理サブシステム２１が発行したデータ読出用トークンに基づいて、アプリケーションによって読出要求されたデータファイルを、読み出す。
【００３８】
以上のように機能するファイル管理サブシステム２１用のプロセスは、分散処理システムを構成する複数の計算機２のうちの一台の上においてのみ、実行される。このファイル管理サブシステム２１用プロセスがプロセスダウンした場合、及び、このファイル管理サブシステム２１用プロセスが実行されている計算機2-1がノードダウンした場合に、この
ファイル管理サブシステム２１が実行していた制御を直ちに引き継ぐことができるように、他の各計算機2-2〜2-n上においても、このファイル管理サブシステム２１用のプロセスと全く同じ機能を有する待機ファイル管理サブシステム（待機管理用サブシステム）２１’が、実行されている。従って、この待機ファイル管理サブシステム２１’も、ファイル管理サブシステム２１と同じく、空き領域群２１０１’，待機中領域群２１０２’及びリザーブ中領域群２１０３’に区分されるメタ情報２１０’，並びに、アクセス制御情報２１１’を、有している。
【００３９】
しかしながら、ファイル管理サブシステム２１が現に制御を行っている間は、各待機ファイル管理サブシステム２１’は、各アクセス制御サブシステム２２とも通信を行っておらず、また、二次記憶装置４に対してもアクセスを行っていない。従って、その間は、各待機ファイル管理サブシステム２１’が有しているメタ情報２１０’（空き領域群２１０１’，使用中領域群２１０２’，リザーブ中領域群２１０３’）及びアクセス制御情報２１１’は、空欄のままとなっている。
【００４０】
更に、分散処理システムを構成する全計算機2-1〜2-nの上では、夫々、ファイル管理サブシステム用監視サブシステム（管理用サブシステム監視サブシステム）２０が機能している。各ファイル管理サブシステム用監視サブシステム２０は、自己と同じ計算機２上で実行されているファイル管理サブシステム２１又は待機ファイル管理サブシステム２１’がプロセスダウンしたか否かを監視する。具体的には、各ファイル管理サブシステム用監視サブシステム２０は、自己と同じ計算機２上で実行されているファイル管理サブシステム２１又は待機ファイル管理サブシステム２１’との間でsocketで通信路を作成し、この通信路が切断された場合、プロセスダウンと判断する。そして、各ファイル管理サブシステム用監視サブシステム２０は、ファイル管理サブシステム２０又は待機ファイル管理サブシステム２１’がプロセスダウンしたことを検出すると、ＬＡＮ１を介して他の計算機２上のファイル管理サブシステム用監視サブシステム２０に対してその旨を通知する。具体的には、この通知は、具体的には、複数の計算機２上で動作しているクラスタ基盤機能のイベント通知機能の使用，複数の計算機２上で動作しているクラスタ基盤機能のデータベース機能の使用，若しくは、各計算機２上のファイル管理サブシステム用監視サブシステム２０間でのsocket等の通信機構の使用により、行われる。
【００４１】
また、各計算機２上のファイル管理サブシステム用監視システム２０は、何れかの計算機２がノードダウンしたか否かをチェックする。具体的には、この監視は、複数の計算機２上で動作しているクラスタ基盤機能のノード監視機構の使用，若しくは、ＬＡＮ１を用いたハード間の相互監視機構による通知機能の使用により、実現される。
【００４２】
そして、各待機ファイル管理サブシステム２１’と同じ計算機2-2〜2-n上で実行されているファイル管理サブシステム用監視サブシステム２０は、自己と同じ計算機2-2〜2-n上で実行されている待機ファイル管理サブシステム２１’がプロセスダウンしたことを知ると、その待機ファイル管理サブシステム２１’を再起動させる。
【００４３】
また、各待機ファイル管理サブシステム２１’と同じ計算機2-2〜2-n上で実行されているファイル管理サブシステム用監視サブシステム２０は、ファイル管理サブシステム２１がプロセスダウンした事，若しくは、ファイル管理サブシステム２１が実行されている計算機2-1がプロセスダウンした事を知ると、新たにファイル管理サブシステム２１として
機能させる待機ファイル管理サブシステム２１’を決定する。この決定は、具体的には、複数の計算機２上で動作しているクラスタ基盤機能の構成データベース機能を使用して、データベース上の情報を更新することによって、実現される。このようにして新たにファイル管理サブシステム２１として機能させる待機ファイル管理サブシステム２１’を決定すると、各ファイル管理サブシステム用監視システム２０は、各計算機２上のアクセス制御サブシステム２２用カーネルモジュールに対して、システムコールによって、新しいファイル管理サブシステムのホスト名及びポート番号（又は、/etc/serviceファイルに定義されたポート名）を通知する。
【００４４】
なお、ファイル管理サブシステム２１がプロセスダウンした場合には、そのファイル管理サブシステム２１と同じ計算機２上で実行されているファイル管理サブシステム用監視サブシステム２０は、その計算機２上において、そのファイル管理サブシステム２１用プロセスを、待機ファイル管理サブシステム２１’として改めて起動し、クラスタ基盤機能の構成データベースの内容を更新するための処理を行う。従って、ファイル管理サブシステム２１が処理を継続できなくなった際に、他の計算機２上で待機ファイル管理サブシステム２１’が存在しない場合でも、同じ計算機２上で起動された待機ファイル管理サブシステム２１’が新たなファイル管理サブシステム２１として機能するようになる。
【００４５】
＜分散処理システムにおける処理内容＞
以下、ファイル管理サブシステム２１のダウンに際して、ファイル管理サブシステム２１，各ファイル管理サブシステム用監視サブシステム２０，各待機ファイル管理サブシステム２１’，及び、各アクセス制御サブシステム２２が実行する処理の内容を、図３乃至図９のフローチャートに基づいて、詳細に説明する。
【００４６】
（ファイル管理サブシステム）
ファイル管理サブシステム２１は、図３に示すように、スタート後最初のＳ００１にて、各アクセス制御サブシステム２２との通信路が切断されたか否かを、各アクセス制御サブシステム２２用カーネルモジュールとのｓｏｃｋｅｔの端点が切断されたか否かに基づいて、チェックする。そして、何れのアクセス制御サブシステム２２との通信路も切断されていない場合には、ファイル管理サブシステム２１は、Ｓ００２において、上述した通常の排他制御のための処理を実行する。そして、その排他制御のための処理が一段落つくと、処理をＳ００１に戻す。
【００４７】
これに対して、何れかのアクセス制御サブシステム２２との通信路が切断したとＳ００１にて判断した場合には、ファイル管理サブシステム２１は、切断した通信路の先に存するアクセス制御サブシステム２２用カーネルモジュールが処理を継続できなくなったと判
断する。そこで、ファイル管理サブシステム２１は、Ｓ００３において、そのアクセス制御サブシステム２２に関して自己のアクセス制御情報２１１内に保持している情報（即ち、当該アクセス制御サブシステム２２に対して発行している書込用トークンに関する情報，及び、ファイルオープン情報）を破棄する。これにより、その書込用トークンの対象となっていたデータファイルに関して、他のアクセス制御サブシステム２２に対して自由にトークンを発行できるようになる。Ｓ００３において、ファイル管理サブシステム２１は、更に、切断した通信路の先に存するアクセス制御サブシステム２２に関してリザーブ中領域２１０３に含まれている情報を外し、空き領域群２１０１に組み込む。これにより、当該アクセス制御サブシステム２２に管理を移管していた二次記憶装置４上のデータ領域４０中の記憶領域のブロックを、他のアクセス制御サブシステム２２に対して管理を移管することができるようになる。なお、その場合にも、データ領域４０中の当該ブロックにおけるデータファイルは残存するが、ファイル管理サブシステム２１が他のアクセス制御サブシステム２２へ管理を移管すると、その移管先のアクセス制御サブシステム２２によって書き込まれる別のデータファイルによって上書きされることになる。ファイル管理サブシステム２１は、このようなＳ００３の処理を完了すると、処理をＳ００１に戻す。
【００４８】
なお、Ｓ００１での判定においては、アクセス制御サブシステム２２用カーネルモジュールが通常のプロシジャを一定時間送信しない場合に、ファイル管理サブシステム２１がダミーのプロシジャを送信し、このプロシジャに対する応答が一定時間以上送信されて来ない場合に、当該アクセス制御サブシステム２２用カーネルモジュールが処理を継続できないと、判断しても良い。
【００４９】
（ファイル管理サブシステム用監視サブシステム）
各ファイル管理サブシステム用監視サブシステム２０は、図４に示すように、スタート後最初のＳ１０１において、クラスタ基盤機能のイベント通知を待つ。
【００５０】
そして、ファイル管理サブシステム２１のプロセスダウン又はノードダウンの通知があった場合には、そのファイル管理サブシステム用監視サブシステム２０は、Ｓ１０２において、その通知を受け取る。
【００５１】
次のＳ１０３では、ファイル管理サブシステム用監視サブシステム２０は、クラスタ基盤機能の提供する構成データベースに対して、自己が監視している待機ファイル管理サブシステム２１’が新しいファイル管理サブシステムになるための情報更新を試みる。そして、自己が監視している待機ファイル管理サブシステム２１’が新たなファイル管理サブシステム２１となるように構成データベースを更新できた場合には、そのファイル管理サブシステム用監視サブシステム２０は、Ｓ１０５において、自己が監視している待機ファイル管理サブシステム２１’に対して、新しいファイル管理サブシステム２１として機能させるための指示を、socketの通信を使用して行う。
【００５２】
次のＳ１０６では、ファイル管理サブシステム用監視サブシステム２０は、自己と同じ計算機２上で実行されているアクセス制御サブシステム２２に対して、自己が監視している新しいファイル管理サブシステム２１の情報（ホスト名及びポート番号又は/etc/serviceファイルに定義されたポート名）を、システムコールによって通知する。
【００５３】
これに対して、自己が監視している待機ファイル管理サブシステム２１’が新たなファイル管理サブシステム２１となるように構成データベースを更新できなかったとＳ１０４にて判断した場合には、他の計算機２上の待機ファイル管理サブシステム２１’が新たなファイル管理サブシステム２１になるので、ファイル管理サブシステム用監視サブシステム２０は、Ｓ１０９において、クラスタ基盤機能が提供する構成データベースの内容から、新しいファイル管理サブシステム２１の情報（ホスト名及びポート番号又は/etc/servi
ceファイルに定義されたポート名）を、獲得する。
【００５４】
次のＳ１１０では、ファイル管理サブシステム用監視サブシステム２０は、自己と同じ計算機２上で実行されているアクセス制御サブシステム２２に対して、Ｓ１０９にて獲得した情報（新しいファイル管理サブシステム２１のホスト名及びポート情報又は/etc/serviceファイルに定義されたポート名）を、システムコールによって通知する。
【００５５】
以上のＳ１０６及びＳ１１０を完了すると、ファイル管理サブシステム用監視サブシステム２０は、処理をＳ１０１に戻す。
【００５６】
一方、自己が管理している待機ファイル管理サブシステム２１’のプロセスダウンの通知があった場合には、そのファイル管理サブシステム用監視サブシステム２０は、Ｓ１０７において、その通知を受け取る。
【００５７】
次のＳ１０８では、ファイル管理サブシステム用監視サブシステム２０は、待機ファイル管理サブシステム２１’を再起動する。このＳ１０８を完了すると、ファイル管理サブシステム用監視サブシステム２０は、処理をＳ１０１に戻す。
【００５８】
（待機ファイル管理サブシステム）
各待機ファイル管理サブシステム２１’は、図５に示すように、スタート後最初のＳ２０１において、ファイル管理サブシステム用監視サブシステム２０からの指示を待ち、指示があった場合には、次のＳ２０２において、その指示がファイル管理サブシステム用監視サブシステム２０によって発行された新たなファイル管理サブシステム２１になるための指示（Ｓ１０５参照）であるか否かをチェックする。そして、新たなファイル管理サブシステム２１になるための指示（Ｓ１０５）であった場合には、待機ファイル管理サブシステム２１’は、Ｓ２０３において、二次記憶装置４上に残されたログ情報４２に基づいて、二次記憶装置４上のメタ情報４１を、最新の状態へ更新する。
【００５９】
次のＳ２０４では、待機ファイル管理サブシステム２１’は、制限時間のカウントをスタートして、各アクセス制御サブシステム２２からの接続要求用のプロシジャを待つ。そして、制限時間のカウントがタイムアップすると、待機ファイル管理サブシステム２１’は、次のＳ２０５において、全てのアクセス制御サブシステム２２から接続要求用のプロシジャを受信したか否かをチェックする。そして、全てのアクセス制御サブシステム２２から接続要求用のプロシジャを受信すると、待機ファイル管理サブシステム２１’は、Ｓ２０６において、全てのアクセス制御サブシステム２２に対して、夫々のメタ情報２２０中の使用中領域群２２０１及びアクセス制御情報２２１の通知を依頼するプロシジャを、通知する。一方、制限時間を経過しても、何れかのアクセス制御サブシステム２２からの接続要求用のプロシジャが受信できない場合（ｓｏｃｋｅｔでオープンされている各アクセス制御サブシステム用カーネルモジュールとの端点が切断された場合を含む）には、待機ファイル管理サブシステム２１’は、Ｓ２０７において、接続要求用のプロシジャを受信することができなかったアクセス制御サブシステム２２を処理対象外として扱い、受信できた接続要求用のプロシジャを送信したアクセス制御サブシステム２２に対してのみ、夫々のメタ情報２２０中の使用中領域群２２０１及びアクセス制御情報２２１の通知を依頼するプロシジャを、通知する。これらＳ２０６又はＳ２０７を完了すると、待機ファイル管理サブシステム２２は、処理をＳ２０８へ進める。
【００６０】
Ｓ２０８では、待機ファイル管理サブシステム２１’は、制限時間のカウントをスタートするとともに、Ｓ２０６又はＳ２０７にて行った通知依頼先の各アクセス制御サブシステム２２から、これら使用中領域群２２０１及びアクセス制御情報２２１のプロシジャが通知されて来るのを待つ。次のＳ２０９では、何れかのアクセス制御サブシステム２２か
らのプロシジャを受信した場合には処理をＳ２１０へ進め、制限時間が経過した場合には処理をＳ２１２へ進める。
【００６１】
Ｓ２１０では、待機ファイル管理サブシステム２１’は、受信した使用中領域群２２０１に基づいて二次記憶装置４上のメタ情報４１を更新するとともに、アクセス情報２２１に従って自己のアクセス制御情報２１１’を更新する。具体的には、待機ファイル管理サブシステム２１’は、受信した使用中領域２２０１に含まれる各ブロックの情報を、二次記憶装置４上及び自己のメタ情報４１，２１０中の使用中領域群４１１，２１０２に組み込むとともに、該当するブロックについての情報をリザーブ中領域群４１２，２１０３から取り除く。また、待機ファイル管理サブシステム２１’は、受信したアクセス制御情報（トークン及びファイルオープン情報）に基づいて、自己のアクセス制御情報２１１中に、受信した書込用トークンを送信元アクセス制御サブシステム２２に対して発行した事の記録，及びファイルオープン情報の内容を、書き込む。
【００６２】
次のＳ２１１では、待機ファイル管理サブシステム２１’は、Ｓ２０８にて設定した制限時間がタイムアップするまでの間にＳ２０６又はＳ２０７にて行った通知依頼先の全アクセス制御サブシステム２２から使用中領域群２２０１及びアクセス制御情報２２１を受信したか否かをチェックする。そして、未だ通知依頼先の全アクセス制御サブシステム２２から使用中領域群２２０１及びアクセス制御情報２２１を受信していなければ、待機ファイル管理サブシステム２１’は、処理をＳ２０８に戻す。但し、２回目以降にＳ２０８が実行される際には、制限時間のカウントの再スタートは行わない。これに対して、通知依頼先の全アクセス制御サブシステム２２から使用中領域群２２０１及びアクセス制御情報２２１を受信している場合には、待機ファイル管理サブシステム２１’は、処理をＳ２１３へ進める。
【００６３】
一方、Ｓ２０９にて制限時間がタイムアップしたと判断した場合には、待機ファイル管理サブシステム２１’は、処理をＳ２１２へ進める。このＳ２１２では、待機ファイル管理サブシステム２１’は、使用中領域群２２０１及びアクセス制御情報２２１の送信を完了していない通知依頼先のアクセス制御サブシステム２２を処理対象外として扱い、このような通知依頼先のアクセス制御サブシステム２２から通知されたアクセス制御情報を無効にする。このＳ２１２を完了すると、待機ファイル管理サブシステム２２は、処理をＳ２１３へ進める。
【００６４】
Ｓ２１３では、待機ファイル管理サブシステム２１’は、二次記憶装置４上のメタ情報４中のリザーブ中領域群４１２に含まれる全ブロックについての情報を、このリザーブ中領域群４１２から外して、空き領域群４１０に組み込む。
【００６５】
次のＳ２１４では、待機ファイル管理サブシステム２１’は、Ｓ２０８にて設定した制限時間内に使用中領域群２２０１及びアクセス制御情報２２１の送信を完了した全アクセス制御サブシステム２２に対して、冗送を要求する。この冗送とは、アクセス制御サブシステム２２用カーネルモジュールが、元々のファイル管理サブシステム２１用プロセスに対してプロシジャを一旦送信したにも拘わらずその返答を待っている間に当該ファイル管理サブシステム２１が処理を継続することができなかった場合には、当該ファイル管理サブシステム２１がそのプロシジャに対する処理を正常に終了したかどうかが判らないために行われる処理であり、当該アクセス制御サブシステム２２が一旦送信したプロシジャを（待機用ファイル管理サブシステム２１’に対して）再送する事である。
【００６６】
Ｓ２１５では、待機ファイル管理サブシステム２１’は、制限時間のカウントをスタートするとともに、Ｓ２１４にて行った冗送要求先の各アクセス制御サブシステム２２からの冗送を待つ。次のＳ２１６では、何れかのアクセス制御サブシステム２２から冗送があ
った場合には処理をＳ２１８へ進め、制限時間が経過した場合には処理をＳ２１７へ進める。
【００６７】
Ｓ２１８では、待機ファイル管理サブシステム２１’は、冗送されたプロシジャを受信する。
【００６８】
次のＳ２１９では、待機ファイル管理サブシステム２１’は、冗送されたプロシジャに対する処理結果を、二次記憶装置４上のログ情報４２から検索する。
【００６９】
次のＳ２２０では、待機ファイル管理サブシステム２１’は、Ｓ２１９の検索の結果、冗送されたプロシジャに対する処理結果が二次記憶装置４上のログ情報４２内に存在していたか否かをチェックする。そして、冗送されたプロシジャに対する処理結果がログ情報４２内に存在していた場合には、待機ファイル管理サブシステム２１’は、Ｓ２２１において、二次記憶装置４上に現存するメタ情報４１に基づいて、「成功」の旨のプロシジャを、当該冗送元のアクセス制御サブシステム２２へ返す。これに対して、冗送されたプロシジャに対する処理結果がログ情報４２内に存在していない場合には、待機ファイル管理サブシステム２１’は、Ｓ２２２において、「失敗」の旨のプロシジャを、当該冗送元のアクセス制御サブシステム２２へ返す。Ｓ２２１又はＳ２２２を完了すると、待機ファイル管理サブシステム２１’は、処理をＳ２２３へ進める。
【００７０】
このＳ２２３では、待機ファイル管理サブシステム２１’は、Ｓ２１５にて設定した制限時間がタイムアップするまでの間に行った冗送要求先の全アクセス制御サブシステム２２から冗送を受信したか否かを、チェックする。そして、未だ冗送要求先の全アクセス制御サブシステム２２から冗送を受信していなければ、待機ファイル管理サブシステム２１’は、処理をＳ２１５に戻す。但し、２回目以降にＳ２１５が実行される際には、制限時間のカウントの再スタートは行わない。これに対して、冗送要求先の全アクセス制御サブシステム２２から冗送を受信している場合には、待機ファイル管理サブシステム２１’は、処理をＳ２２４へ進める。
【００７１】
一方、Ｓ２１６にて制限時間がタイムアップしたと判断した場合には、待機ファイル管理サブシステム２１’は、処理をＳ２１７へ進める。このＳ２１７では、待機ファイル管理サブシステム２１’は、制限時間が経過しても冗送の受信ができなかったアクセス制御サブシステム２２を処理対象外として扱い、このような冗送要求先のアクセス制御サブシステム２２から通知されたアクセス制御情報２２１及びメタ情報２２０中の使用中領域２２０１についてＳ２１０にて行った処理を無効にする。このＳ２１７を完了すると、待機ファイル管理サブシステム２２は、処理をＳ２２４へ進める。
【００７２】
Ｓ２２４では、待機ファイル管理サブシステム２１’は、Ｓ２１５にて設定した制限時間内にＳ２１８にて受信された冗送を送信した全アクセス制御サブシステム２２用カーネルモジュールに対して、通常のプロシジャを受け付け可能であることを通知するためのプロシジャを、送信する。
【００７３】
次のＳ２２５では、待機ファイル管理サブシステム２１’は、新たな待機ファイル管理サブシステム２１としての処理を開始する。即ち、図３の処理を実行開始する。
【００７４】
（アクセス制御サブシステム）
各アクセス制御サブシステム２２は、図８に示すように、スタート後最初のＳ３００において、ファイル管理サブシステム用監視システム２０から、新しくファイル管理サブシステム２１になる待機ファイル管理サブシステム２１’の情報（ホスト名及びポート名又は/etc/serviceに定義されたポート名）を受け取る（Ｓ１０６及びＳ１１０参照）。
【００７５】
次のＳ３０１では、アクセス制御サブシステム２２は、Ｓ３００にて受け取った情報に基づいて、新たにファイル管理サブシステム２１になる待機ファイル管理サブシステム２１’に対して、接続要求用のプロシジャを送信する（Ｓ２０４〜Ｓ２０５参照）。
【００７６】
次のＳ３０２では、アクセス制御サブシステム２２は、新たにファイル管理サブシステム２１になる待機ファイル管理サブシステム２１’から、アクセス制御情報及びメタ情報２２０中の使用中領域群２２０１の通知の依頼を受信する（Ｓ２０６参照）。そして、この依頼を受信すると、アクセス制御サブシステム２２は、処理をＳ３０３へ進める。
【００７７】
このＳ３０３では、アクセス制御サブシステム２２は、自己が保持するアクセス制御情報２２１（トークン及びファイルオープン情報），並びに、メタ情報２２０中の使用中領域群２２０１を、通知する（Ｓ２０８〜Ｓ２１１参照）。
【００７８】
次のＳ３０４では、アクセス制御サブシステム２２は、自己のメタ情報２２０中のリザーブ中領域群２２０２に含まれる全情報をこのリザーブ中領域群２２０２から解除する。
【００７９】
次のＳ３０５では、アクセス制御サブシステム２２は、新たにファイル管理サブシステム２１になる待機ファイル管理サブシステム２１’からの冗送の要求を待つ（Ｓ２１４参照）。そして、冗送の要求を受信すると、アクセス制御サブシステム２２は、処理をＳ３０６へ進める。
【００８０】
Ｓ３０６では、アクセス制御サブシステム２２は、新たにファイル管理サブシステム２１になる待機ファイル管理サブシステム２１’に対して、冗送対象の全てのプロシジャを送信する（Ｓ２１５〜Ｓ２１８参照）。
【００８１】
次のＳ３０７では、アクセス制御サブシステム２２は、Ｓ３０６での冗送に対して新たにファイル管理サブシステム２１になる待機ファイル管理サブシステム２１’が送信して来た返信（Ｓ２２１又はＳ２２２）を受信する。
【００８２】
次のＳ３０８では、アクセス制御サブシステム２２は、Ｓ３０７にて受信した冗送の返信が「成功」であるか「失敗」であるかを、チェックする。そして、冗送の返信が「成功」であった場合には、アクセス制御サブシステム２２は、Ｓ３０９において、その返信に対応するプロシジャ処理が完了したもの扱い、処理をＳ３１１へ進める。これに対して、Ｓ３０７にて受信した冗送の返信が「失敗」であった場合には、アクセス制御サブシステム２２は、Ｓ３１０において、その返信に対応するプロシジャ処理をもう一度送信するために管理した後に、処理をＳ３１１へ進める。
【００８３】
Ｓ３１１では、アクセス制御サブシステム２２は、新たにファイル管理サブシステム２１になる待機ファイル管理サブシステム２１’に対してＳ３０６にて送信した全ての冗送対象のプロシジャの返信を受信したか否かを、チェックする。そして、未だ全ての冗送対象のプロシジャの返信を受信していない場合には、アクセス制御サブシステム２２は、処理をＳ３０７に戻す。これに対して、全ての冗送対象のプロシジャを受信している場合には、アクセス制御サブシステム２２は、処理をＳ３１２へ進める。
【００８４】
Ｓ３１２では、アクセス制御サブシステム２２は、新たなファイル管理サブシステム２１によって送信された通常のプロシジャが受け付け可能になった旨の通知を待つ（Ｓ２２４参照）。
【００８５】
次のＳ３１３では、アクセス制御サブシステム２２は、新たなファイル管理サブシステ
ム２１によって送信された通常のプロシジャが受け付け可能になった旨の通知を、受信する。
【００８６】
次のＳ３１４では、アクセス制御サブシステム２２は、Ｓ３１０の実行によって再送用に管理している全てのプロシジャ処理を、新たなファイル管理サブシステム２１に対して送信する。
【００８７】
次のＳ３１５では、アクセス制御サブシステム２２は、通常の処理を実行し始める。
【００８８】
＜分散処理システムの動作＞
次に、以上のように構成された本実施形態による分散処理システムにおいて、元々のファイル管理サブシステム２１がダウンした場合における、各計算機２上のファイル管理サブシステム用監視サブシステム２０及びアクセス制御サブシステム２２，並びに、待機ファイル管理サブシステム２１’の動作を、具体的に説明する。
【００８９】
元々のファイル管理サブシステム２１がプロセスダウンすると、このファイル管理サブシステム２１と同じ計算機上で実行されているファイル管理サブシステム用監視サブシステム２０は、ファイル管理サブシステム２１とのｓｏｃｋｅｔでの通信路の切断に基づいて、このファイル管理サブシステム２１がプロセスダウンしたことを検出し、クラスタ基盤機能のイベント通知によってその旨を他の計算機２上のファイル管理サブシステム用監視サブシステム２０に対して通知する。また、元々のファイル管理サブシステム２１が実行されていた計算機２がノードダウンすると、この計算機２上のファイル管理システム用監視サブシステム２０とクラスタ機能基盤を介して相互通信していた他の計算機２上のファイル管理システム用監視サブシステム２０は、元々のファイル管理サブシステム２１が実行されていた計算機２のノードダウンを検出する。
【００９０】
このようにして、元々のファイル管理サブシステム２１のプロセスダウン又はそのファイル管理サブシステム２１が実行されていた計算機２のノードダウンを知った各計算機２上のファイル管理サブシステム用監視サブシステム２０は、自己と同じ計算機２上で実行されている待機ファイル管理サブシステム２１’を新たなファイル管理サブシステム２１として機能させるべく、クラスタ基盤機能が提供する構成データベースの更新を試みる（Ｓ１０３）。
【００９１】
そして、構成データベースの更新が成功した場合には、自己と同じ計算機２上で実行されている待機ファイル管理サブシステム２１’が新たなファイル管理サブシステム２１となることが決定したことになるので、その待機ファイル管理サブシステム２１’に対して新たなファイル管理サブシステム２１として機能させるための指示を行うとともに（Ｓ１０５）、自己と同じ計算機２上で実行されているアクセス制御サブシステム２２に対して、その待機ファイル管理サブシステム２１’の情報（ホスト名及びポート番号又はポート名）を通知する（Ｓ１０６）。
【００９２】
これに対して、構成データベースの更新が失敗した場合には、他の計算機２上で実行されている待機ファイル管理サブシステム２１’が新たなファイル管理サブシステム２１となることが決定したことになるので、構成データベースからその待機ファイル管理サブシステム２１’の情報（ホスト名及びポート番号又はポート名）を読み出して（Ｓ１０９）、自己と同じ計算機２上で実行されているアクセス制御サブシステム２２に通知する（Ｓ１１０）。
【００９３】
この時点においては、新たなファイル管理サブシステム２１となることを通知された待機ファイル管理サブシステム２１’のアクセス制御情報２１１’は空欄であり、そのメタ
情報２１０’内では、二次記憶装置４上のデータ領域４０における全ブロックに関する情報が空き領域群４１０に含まれ、使用中領域群４１１及びリザーブ中領域群４１２には情報が含まれていない。また、二次記憶装置４上のデータ領域４０には、各計算機２上のアクセス制御サブシステム２２によってそれまでに書き込まれたデータファイルが、残っている。さらに、二次記憶装置４上のメタ情報４１は、元々のファイル管理サブシステム２１がダウンの前に実行したログ情報４２に基づく更新後のものとなっている。
【００９４】
ファイル管理サブシステム用監視サブシステム２０によって新しいファイル管理サブシステム２１として機能することを通知された待機ファイル管理サブシステム２１’は、先ず最初に、二次記憶装置４上のメタ情報４１にログ情報４２の内容を反映させる（Ｓ２０３）。もっとも、この時点におけるログ情報４２の内容がデータ領域４０中のデータファイルの現状を示しているとは、限らない。
【００９５】
一方、ファイル管理サブシステム用監視サブシステム２０によって新たなファイル管理サブシステム２１となる待機ファイル管理サブシステム２１’の情報を通知された各アクセス制御サブシステム２２は、その待機ファイル管理サブシステム２１’に対して接続要求用のプロシジャを送信する（Ｓ３０１）。
【００９６】
待機ファイル管理サブシステム２１’は、制限時間内に接続要求用プロシジャを送信してきたアクセス制御サブシステム２２に対しては、アクセス制御情報２２１及びメタ情報２２０中の使用中領域群２２０１の通知を依頼し、制限時間内に接続要求用プロシジャを送信して来なかったアクセス制御サブシステム２２については、プロセスダウン等が発生しているものと解釈して、処理対象から外す（Ｓ２０６，Ｓ２０７）。
【００９７】
アクセス制御情報２２１及びメタ情報２２０中の使用中領域群２２０１の通知依頼を受けた各アクセス制御サブシステム２２は、自分が保持しているアクセス情報２２１及びメタ情報２２０中の使用中領域群２２０１を、待機ファイル管理サブシステム２１’に対して通知する（Ｓ３０３）。
【００９８】
待機ファイル管理サブシステム２１’は、制限時間内に各アクセス制御サブシステム２２から受信した使用中領域群２２０１に従って、自己のメタ情報２１０’中の空き領域群２１０１’及び使用中領域群２１０２’を更新するとともに（Ｓ２１０）、二次記憶装置４上のメタ情報４１中の空き領域群４１０及び使用中領域群４１１を更新する（Ｓ２１３）。これにより、待機ファイル管理サブシステム２１’は、現存している各アクセス制御サブシステム２２によって現に使用されている二次記憶装置４上のデータ領域４０中のブロックを知ることができ、二次記憶装置４上のメタ情報４１は、データ領域４０内におけるデータファイルの現状と正しく一致するようになる。同時に、待機ファイル管理サブシステム２１’は、各アクセス制御サブシステム２２によって通知されたアクセス制御情報２２１に従って、自己のアクセス制御情報２１１’を更新する（Ｓ２１０）。これにより、待機ファイル管理サブシステム２１’は、現存している各アクセス制御サブシステム２２が有しているトークンを知ることができる。
【００９９】
待機ファイル管理サブシステム２１’は、制限時間内にアクセス制御情報２２１及びメタ情報２２０中の使用中領域群２２０１を受信することができなかったアクセス制御サブシステム２２については、ノードダウン等が発生したものと解釈して、処理対象から外す。この場合、待機ファイル管理サブシステム２１’は、各アクセス制御サブシステム２２から通知されたアクセス制御情報２２１中に含まれていない書込用トークンについては、新たに生成して、自己のアクセス制御情報２１１’に格納する。これによって、待機ファイル管理サブシステム２１’内のアクセス制御情報２１１’の内容が、各アクセス制御サブシステム２２中のアクセス制御情報２２１と整合するようになる。
【０１００】
次に、待機ファイル管理サブシステム２１’は、二次記憶装置４上のメタ情報４１中のリザーブ中領域群４１２に含まれる全ての情報を、このリザーブ中領域群４１２から外して、空き領域群４１０へ組み込む（Ｓ２１３）。
【０１０１】
次に、待機ファイル管理サブシステム２１’は、現存している各アクセス制御サブシステム２２に対して、冗送の要求を行う（Ｓ２１４）。この冗送の要求を受信した各アクセス制御情報は、元々のファイル管理サブシステム２１がダウンする以前にこのファイル管理サブシステム２１に対して送信したプロシジャのうち、それに対する処理が完了したとの通知をそのファイル管理サブシステム２１から受信していないものを、冗送対象プロシジャとして、待機ファイル管理サブシステム２１’に対して送信する（Ｓ３０６）。
【０１０２】
各アクセス制御サブシステム２２から冗送を受信した待機ファイル管理サブシステム２１’は、その冗送に対する処理結果に相当する内容が二次記憶装置４上のログ情報４２内に存在しているかどうかをチェックし（Ｓ２２０）、存在している場合には、元々のファイル管理サブシステム２１がダウン前に処理を完了していたと判断して、「成功」の旨のプロシジャを冗送元のアクセス制御サブシステム２２に対して返答する（Ｓ２２１）。これに対して、その冗送に対する処理結果に相当する内容が二次記憶装置４上のログ情報４２内に存在していない場合には、元々のファイル管理サブシステム２１がダウン前に処理を完了していなかったと判断して、「失敗」の旨のプロシジャを冗送元のアクセス制御サブシステム２２に対して返答する（Ｓ２２２）。冗送された全てのプロシジャに対して夫々返答を完了すると、待機ファイル管理システム２１’は、現存する全てのアクセス制御システム２２に対して、通常のプロシジャが受付可能である旨を通知する（Ｓ２２４）。これにより、待機ファイル管理システム２１’は、以後、通常のファイル管理システム２１として機能するようになる（Ｓ２２５）。
【０１０３】
冗送した全てのプロシジャについての返答を受信したアクセス制御サブシステム２２は、「失敗」を返答されたプロシジャに関しては、事後に再送する対象として管理する（Ｓ３１０）。そして、待機ファイル管理サブシステム２１’から通常のプロシジャを受付可能である旨を受信した後に、再送対象として管理しているプロシジャを、新たなファイル管理サブシステム２１に対して、改めて送信する（Ｓ３１４）。このプロシジャを受信したファイル管理サブシステム２１は、通常のプロセスに従って、この再送されたプロシジャに対する処理を実行する。これにより、処理結果が不明なプロシジャが無くなるので、全ての元々のファイル管理サブシステム２１が各アクセス制御サブシステム２２との間で行っていたプロシジャが新たなファイル管理サブシステム２２に対して、断絶無く引き継がれることになる。
【０１０４】
更に、アクセス制御サブシステム２２は、自己のメタ情報２２０中のリザーブ中領域群２２０２に含まれる全情報を、このリザーブ中領域群２２０２から解除する（Ｓ３０４）。これにより、元々のファイル管理サブシステム２１が各アクセス制御サブシステム２２に対して管理を移管したリザーブ領域は一旦解除される。従って、各アクセス制御サブシステム２２は、必要であれば、新たなファイル管理サブシステム２１に対してリザーブの要求を行うことになる。
【０１０５】
＜変形例＞
なお、上記実施形態では、ファイル管理サブシステム２１が実行されている計算機２以外の全ての計算機２上において、待機ファイル管理サブシステム２１’が実行されていたが、待機ファイル管理システム２１’が実行されているファイルシステムは１台のみであっても良い。
【０１０６】
また、上記実施形態では、元々のファイル管理サブシステム２１がプロセスダウンした場合には、ファイル管理サブシステム２１が実行されている計算機２以外の計算機２上において実行されている待機ファイル管理サブシステム２１’が新たなファイル管理サブシステム２１になるとともに、元々のファイル管理サブシステム２１が実行されていた計算機２上では待機ファイル管理サブシステム２１’が再起動するように構成されていたが、元々のファイル管理サブシステム２１が実行されていたのと同じ計算機２上で再起動されたファイル管理サブシステム２１が直ちに処理を引き継いでも良い。この場合、ファイル管理サブシステム２１の再起動は、スクリプト等に基づいて自動的になされても良いし、オペレータによるオペレーションに基づいてなされても良い。
【０１０７】
また、上記実施形態では、ファイル管理サブシステム２１が各アクセス制御サブシステム２２に対してリザーブ領域の管理を移管するように構成されているが、データファイルに対するブロックの割り当てをファイル管理サブシステム２１自身が行うように構成されても良い。この場合、各アクセス制御サブシステム２２のメタ情報２２０内には、リザーブ中領域群２２０２は存在せず、使用中領域群２２０のみが存在することになる。さらに、この場合には、各アクセス制御サブシステム２２がメタ情報２２０中の使用中領域群２２０１の情報を有さないように構成することも可能である。その場合には、各アクセス制御サブシステム２２から待機ファイル管理サブシステム２１に対しては、アクセス制御情報２２１のみが通知されることになる。
【図面の簡単な説明】
【０１０８】
【図１】本発明の実施の形態である分散処理システムの全体的なソフトウェア構成を示すブロック図
【図２】図１の計算機の内部構成を示すブロック図
【図３】ファイル管理サブシステムの処理内容を示すフローチャート
【図４】ファイル管理サブシステム用監視サブシステムの処理内容を示すフローチャート
【図５】待機ファイル管理サブシステムの処理内容を示すフローチャート
【図６】待機ファイル管理サブシステムの処理内容を示すフローチャート
【図７】待機ファイル管理サブシステムの処理内容を示すフローチャート
【図８】アクセス制御サブシステムの処理内容を示すフローチャート
【図９】アクセス制御サブシステムの処理内容を示すフローチャート
【符号の説明】
【０１０９】
１        ＬＡＮ
２        計算機
３        データ転送路
４        二次記憶装置
２０      ファイル管理サブシステム用監視サブシステム
２１      ファイル管理サブシステム
２１’    待機ファイル管理サブシステム
２２      アクセス制御サブシステム
４０      データ領域
４１      メタ情報
４２      ログ情報
２１０    メタ情報
２１１    アクセス制御情報
２２０    メタ情報
２２１    アクセス制御情報
４１０    空き領域群
４１１    使用中領域群
４１２    リザーブ中領域群
２１０１  空き領域群
２１０２  使用中領域群
２１０３  リザーブ中領域群
２２０１  使用中領域群
２２０２  リザーブ中領域群
【図１】
2008217820.tif 000003
【図２】
2008217820.tif 000004
【図３】
2008217820.tif 000005
【図４】
2008217820.tif 000006
【図５】
2008217820.tif 000007
【図６】
2008217820.tif 000008
【図７】
2008217820.tif 000009
【図８】
2008217820.tif 000010
【図９】
2008217820.tif 000011