(57)【要約】      （修正有）【課題】プロセッサが接続機構を介して共用ハードディスクを直接制御でき、高性能なハードディスク共有が可能な疎結合計算機システムを構成する。【解決手段】疎結合計算機システムは、計算機１００−１〜Ｎが、計算機結合機構１４０によって相互に結合されて構成される（Ｎは自然数とする以下同様）。計算機１００−１〜Ｎは、プロセッサ１０１、メモリ１０２、Ｉ／Ｏ装置１０３、ディスク制御機構１０４、計算機結合網アダプタ１３０、ディスク要求処理部１１０がシステムバス１０５に結合し、ディスク１０６−１〜Ｎがディスク制御機構１０４に接続して構成される。ディスク要求処理部１１０は、必要に応じて計算機アダプタ１０５及び計算機結合機構１４０を介してディスク要求処理部１１０間の通信を行い、プロセッサ１０１からの処理要求を対応するディスク制御機構１０４に要求する。【選択図】図１
2004164586.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続する複数の計算機のメモリ上に分散したデータを共有して並行処理によって少なくとも１つのアプリケーションを実行する前記複数の計算機のうち、少なくともいずれか1つの計算機において、
プロセッサと、メモリと、補助記憶装置と、前記プロセッサと前記メモリと前記補助記憶装置を接続するバスとを備え、
前記複数の計算機のメモリ上に分散したデータのうち、前記アプリケーションが１次元配列への写像として指定し、前記１次元配列を共有単位とする共有データを対応付けて管理する共有データ管理テーブルが前記補助記憶装置に格納され、
前記共有データの複製領域が前記メモリに格納されることを特徴とする計算機。
【請求項２】
前記計算機のアプリケーションは、前記前記メモリに格納される前記共有データの複製に対して、Read／Writeを行うことを特徴とする請求項１記載の計算機。
【請求項３】
前記アプリケーションが１次元配列への写像として指定し、前記１次元配列を共有単位とする共有データを前記複数の計算機との間で一貫性保証を行う請求項１記載の計算機。
【請求項４】
前記共有データの複製領域は、前記アプリケーションによって前記１次元配列への写像として指定された際に、前記メモリ上に生成されることを特徴とする請求項１記載の計算機。
【請求項５】
前記複数の計算機との間で共有する複数の共有単位について、共有単位間での階層関係を定義し、前記指定された１次元配列の共有単位に加え、その下位階層として定義された共有単位についても一貫性保証を一括して指定することを特徴とする請求項１記載の計算機。
【請求項６】
前記一貫性保証を行う際に、指定された共有単位の下位階層として定義された共有単位から、任意の下位階層共有単位を選択して、一貫性保証を一括して行うことを特徴とする請求項５記載の計算機システム。
【請求項７】
ネットワークを介して接続される複数の計算機のメモリ上に分散したデータを共有し、並行処理によって少なくとも１つのアプリケーションを実行する前記複数の計算機のうち、少なくともいずれか1つの計算機において、
前記複数の計算機のメモリ上に分散したデータのうち、前記アプリケーションが１次元配列への写像として指定し、前記１次元配列を共有単位とする共有データを管理する共有データ管理テーブルと、
前記共有データ管理テーブルを共有データ領域管理手段と、
ネットワークを介して、他の計算機とのパケットによる前記共有データを送受信するパケット送受信手段と、
前記パケット送受信手段によって、送信するパケットを生成するために、共有データを格納するメモリ領域を調べ、そのメモリ領域に対して共有データの番号を付与する共有データ番号付与手段と、
前記パケット送受信手段によって受信したパケット中の共有データの番号を識別し、共有データの番号に対応するメモリ領域に共有データを書き込む共有データ識別手段と、
前記アプリケーションからRead／Writeを行うために、前記共有データの複製を格納する手段とを有することを特徴とする計算機。
【請求項８】
前記共有データ管理テーブルは、共有データ番号を格納する共有データ番号エントリと、共有データを管理している計算機かどうかを示す管理ノードフラグエントリと、共有データの開始アドレスを示す共有データアドレスエントリと、共有データの複製の開始アドレスを示す共有データ複製アドレスエントリと、共有データの大きさを示す共有データサイズエントリと、共有データを保持している計算機システムを示す計算機リストエントリを有することを特徴とする請求項７記載の計算機。
【請求項９】
前記共有データ管理テーブルは、アプリケーションが使用する共有データが連続領域か否かを示す分割フラグエントリと、幾つの分割されたデータから共有が構成されているかを示す共有データ要素数エントリと、分割されたデータがどのくらいの間隔で並んでいるかを示す共有データオフセットエントリを有することを特徴とする請求項８記載の計算機。
【請求項１０】
前記共有データ管理テーブルは、共有データが構造体である場合に、構造体の定義を格納する構造体定義エントリと、構造体のデータ長を格納する構造体サイズエントリと、複数の共有データに階層関係があることを示す階層要素フラグエントリと、階層要素の共有データ番号を格納する階層要素共有データ番号エントリを有することを特徴とする請求項９記載の計算機。
【請求項１１】
複数の計算機がネットワークで接続され、各計算機のメモリ上に分散したデータを各計算機にて共有する分散共有メモリ処理方法において、
計算機のアプリケーションから、各計算機のメモリ上に分散したデータを任意のアドレス及びサイズよりなる共有単位で指定し、
指定された共有単位にて共有データを対応付けて管理する管理計算機を決定し、前記管理計算機に対して共有データの使用を要求し、
前記管理計算機では、指定された共有データが使用されているか否かを確認し、
使用されていない場合には、指定された共有データに関する情報を前記管理計算機に新規に登録し、
使用されている場合には、新規に共有データの使用を指定した計算機に関する情報を前記管理計算機に登録して、その情報を他の計算機に通知し、
共有データの使用を指定した計算機では、各計算機のメモリ上に分散した共有データを獲得して、共有データの複製を作成することを特徴とする分散共有メモリ処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、計算機システムを相互に結合して構成された疎結合計算機システムに関する。
【０００２】
【従来の技術】
疎結合計算機システムでは、データを共有するためにハードディスクを共有するシステムが提案されている。ハードディスクを共有するためには、複数のハードディスク制御装置と共有対象となるハードディスクを接続する接続機構が必要である。例えば、文献「ナンシー  ピー．クローネンバーグ他、ザ  バックスクラスター  コンセプト：アン  オーバービュー  オブ  ア    ディストリビューテッド  システム、７〜２１頁、デジタル  テクニカル  ジャーナル、Ｎｏ．５、１９８７年９月、デジタル  イクイップメント  コーポレーション」（Ｎａｎｃｙ  Ｐ．  Ｋｒｏｎｅｎｂｅｒｇ  ｅｔ．ａｌ，  Ｔｈｅ  ＶＡＸｃｌｕｓｔｅｒ  Ｃｏｎｃｅｐｔ：  Ａｎ  Ｏｖｅｒｖｉｅｗ  ｏｆ  ａ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｙｓｔｅｍ，ｐｐ７−２１，  Ｄｉｇｉｔａｌ  Ｔｅｃｈｎｉｃａｌ  Ｊｏｕｒｎａｌ，Ｎｏ．５  Ｓｅｐｔｅｍｂｅｒ  １９８７  Ｄｉｇｉｔａｌ  Ｅｑｕｉｐｍｅｎｔ  Ｃｏｒｐｏｒａｔｉｏｎ）やＡＮＳＩにて標準化が進んでいるＦｉｂｒｅ  ＣｈａｎｎｅｌのＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）Ｐｒｏｆｉｌｅによるハードディスク共有が文献「ロバート  スニーブリー、インプリメンティング  ア  ファイバーチャネル  スカジ  トランスポート、７８〜８２頁、コンプコン、春  ９４」（Ｒｏｂｅｒｔ  Ｓｎｉｖｅｌｙ，  Ｉｍｐｌｅｍｅｎｔｉｎｇ  ａ  Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ＳＣＳＩ  Ｔｒａｎｓｐｏｒｔ，  ｐｐ７８−８２，ＣＯＭＰＣＯＮ，  Ｓｐｉｎｇ  ９４）がある。
【０００３】
また、疎結合計算機システムにおいて、ＲＰＣ（Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ）によりファイル共用を実現する手段としてＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）「ジョージ  エフ  コーロリス他、分散システムコンセプトとデザイン、３９１〜４０７頁」（Ｇｅｏｒｇｅ  Ｆ．Ｃｏｕｌｏｕｒｉｓ  ｅｔ．  ａｌ， ＤＩＳＴＲＩＢＵＴＥＤ ＳＹＳＴＥＭＳ，ｐｐ３９１−４０７，１９９１）などがある。
【０００４】
【発明が解決しようとする課題】
Ｆｉｂｒｅ  Ｃｈａｎｎｅｌでは、共有ハードディスクにアクセスする際には必ず接続機構を介する必要があるため、接続機構に対するアクセスが増加することにより性能低下を招くという問題があった。
【０００５】
また、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）は、他のプロセッサに処理を代行させる方式であり、処理の代行要求を行うためにＲＰＣによるプロセッサ間の通信を行うためにソフトオーバヘッドが増加し、性能が低いという問題があった。
【０００６】
本発明の目的は、プロセッサが接続機構を介して共用ハードディスクを直接制御でき、高性能なハードディスク共有が可能な疎結合計算機システムを構成することである。
【０００７】
【課題を解決するための手段】
本発明では、ソフトウエアからの要求先となるハードディスクを判定する要求先判定部を持ち、対応するハードディスクに対する処理を要求するハードディスク要求処理部を持ち、ハードディスクの接続するバスとリモートアクセスのための接続機構の間の処理要求を必要に応じて転送する遠隔ディスク制御部を持ち、ハードディスクアクセス要求があるプロセッサがハードディスクを直接制御することができる構成とする。
【０００８】
【作用】
本発明によれば、共有されるハードディスクへのアクセスであっても、特定の計算機からのアクセスについては、接続機構に対するアクセスが発生せず、要求の発生したプロセッサがハードディスクを直接制御できる。
【０００９】
【実施例】
以下図を用いて本発明の実施例を説明する。
【００１０】
図１に実施例の一つを示す。疎結合計算機システムは、計算機（１００−１から１００−Ｎ）が、計算機結合機構１４０によって相互に結合されて構成される（Ｎは自然数とする以下同様）。計算機（１００−１から１００−Ｎ）は、プロセッサ１０１、メモリ１０２、Ｉ／Ｏ装置１０３、ディスク制御機構１０４、計算機結合網アダプタ１３０、ディスク要求処理部１１０がシステムバス１０５に結合し、ディスク（１０６−１から１０６−Ｎ）がディスク制御機構１０４に接続して構成される。プロセッサ１０１は、例えばＣＰＵによって構成できる。メモリ１０２は、例えばＲＡＭによって構成できる。Ｉ／Ｏ装置１０３は、入出力をするための装置であり、例えばディスプレイ装置、キーボード、ハードディスク等の二次記憶によって構成される。Ｉ／Ｏ装置１０３は、計算機結合網アダプタ１３０による通信処理によって入出力機能を代替する構成の場合は、計算機（１００−１から１００−Ｎ）の要素として含まれない場合もある。
【００１１】
ディスク制御機構１０４は、ディスク要求処理部１１０からの処理要求に対してディスク（１０６−１から１０６−Ｎ）を制御する機構であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。ディスク（１０６−１から１０６−Ｎ）は、ハードディスク等の二次記憶によって構成できる。
【００１２】
計算機結合網アダプタ１３０は、計算機（１００−１から１００−Ｎ）と計算機結合機構１４０とを相互に結合し、プロセッサ１０１及びディスク要求処理部１１０の指示によりデータの送受信処理を行なう部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００１３】
計算機結合機構１４０は、計算機（１００−１から１００−Ｎ）を結合して相互通信をするための結合網であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００１４】
ディスク要求処理部１１０は、必要に応じて計算機アダプタ１０５及び計算機結合機構１４０を介してディスク要求処理部１１０間の通信を行い、プロセッサ１０１からの処理要求を対応するディスク制御機構１０４に要求する。ディスク要求処理部１１０がディスク制御機構１０４に対する処理要求を代行して要求することにより、プロセッサ１０１は、すべてのディスク（１０６−１から１０６−Ｎ）に対するアクセスを同一のアクセス制御手順にて制御可能となる。また、共有が必要な場合のみディスク（１０６−１から１０６−Ｎ）の共有ができるために、計算機結合機構１４０が性能ネックになることを避けることができる。
【００１５】
次に、ディスク要求処理部１１０の詳細を説明する。ディスク要求処理部１１０は、同一計算機内のプロセッサ１０１による処理要求と、計算機結合機構１４０を介して接続されている計算機（１００−１から１００−Ｎ）からの遠隔処理要求との２種類の処理要求を受け、同一計算機内のディスク制御機構１０４に対する制御と、計算機結合機構１４０を介して接続されている計算機（１００−１から１００−Ｎ）に対する遠隔制御要求の発行の２種類の制御処理を行う。ディスク要求処理部１１０は、要求制御部１１１、要求許否判定部１１２、要求先判定部１１３、構成定義情報保持部１１４、ディスク制御機構共用制御部１１５、リモートディスク制御部１２０が内部バス１１６に接続して構成される。
【００１６】
要求制御部１１１は、ディスク制御機構１０４に対する同一計算機内のプロセッサ１０１による処理要求と、計算機結合機構１４０を介して接続されている計算機からの遠隔処理要求を受け付けて、制御を行う部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００１７】
要求許否判定部１１２は、構成定義情報保持部１１４に保持された構成定義情報に基づいて、ディスク要求処理部１１０に対して要求された処理の許否を判定する処理を行う部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００１８】
要求先判定部１１３は、構成定義情報保持部１１４に保持された構成定義情報に基づいて、ディスク要求処理部１１０に対して要求された処理をどの計算機のどのディスクに対する処理であるかを判定する部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００１９】
構成定義情報保持部１１４は、ディスク要求処理部１１０に対して要求された処理がどの計算機のどのディスクに対応するか、処理の要求者が対応するディスクに対するアクセスの権利（アクセス権）を持っているか、セキュリティを向上させるためのパスワード等の構成定義情報を保持する部分であり、例えばＲＡＭや電気的に書換可能なＲＯＭ等によって構成できる。
【００２０】
ディスク制御機構共用制御部１１５は、ディスク制御機構１０４に対する同一計算機内のプロセッサ１０１による処理要求と、計算機結合機構１４０を介して接続されている計算機からの遠隔処理要求との２種類の処理要求の間の調停を行う部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００２１】
遠隔ディスク制御部１２０は、計算機結合機構１４０を介して接続されている計算機からの遠隔処理要求に対するディスク制御機構１０４の制御と計算機結合機構１４０を介して接続されている計算機に対する遠隔制御要求の発行を行う部分である。
【００２２】
遠隔ディスク制御部１２０は、遠隔要求処理部１２１、遠隔要求発行部１２２、計算機結合機構アダプタ制御部１２３が内部バス１２４に接続して構成される。遠隔要求処理部１２１は、計算機結合機構１４０を介して接続されている計算機からの遠隔処理要求に対する処理を行う部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００２３】
遠隔要求発行部１２２は、計算機結合機構１４０を介して接続されている計算機に対して遠隔制御要求を発行する部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００２４】
計算機結合機構アダプタ制御部１２３は、計算機結合機構１４０を介して接続されている計算機に対する通信を行うために、計算機結合機構アダプタ１０５を制御する部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００２５】
図２に疎結合計算機システム構成の他の例２を示す。図２は、三台の計算機とおのおのに接続されたディスクが部分的に共有された場合の例である。計算機−１（１００−１）は、ディスク（１０６−１（ＩＤ＝Ａ，Ｂ，Ｃ）：ＩＤは、各計算機内部における識別子）を有し、ディスク（１０６−１（ＩＤ＝Ａ，Ｂ）は非共有ディスクであり、ディスク（１０６−１（ＩＤ＝Ｃ）が計算機−１（１００−１）と計算機−２（１００−２）によって共有されるディスクである。
【００２６】
計算機−２（１００−２）は、ディスク（１０６−２（ＩＤ＝Ａ，Ｂ））を有し、ディスク（１０６−２（ＩＤ＝Ａ）は非共有ディスクであり、ディスク（１０６−２（ＩＤ＝Ｂ）が計算機−２（１００−２）と計算機−３（１００−３）によって共有されるディスクである。
【００２７】
計算機−３（１００−２）は、ディスク（１０６−３（ＩＤ＝Ａ，Ｂ，Ｃ））を有し、ディスク（１０６−３（ＩＤ＝Ａ）は非共有ディスクであり、ディスク（１０６−３（ＩＤ＝Ｂ，Ｃ）が計算機−１（１００−１）、計算機−２（１００−２）、計算機−３（１００−３）によって共有されるディスクである。
【００２８】
次に、表１に疎結合計算機システム構成例２に対応する構成定義情報の例を示す。構成定義情報は、ディスク要求処理部１１０に対して要求された処理がどの計算機のどのディスクに対応するか、処理の要求者が対応するディスクに対するアクセスの権利（アクセス権）を持っているか、セキュリティを向上させるためのパスワード等の構成定義を示す情報であり、テーブルとして構成される。仮想ディスクとは、プロセッサ１０１が発行する処理コマンドにおいて指定されるディスクの仮想的な名称である。この例では、疎結合計算機システム全体で８つのディスクがあり、ＶＤＩＳＫ−１〜ＶＤＩＳＫ−８までの識別子を用いて指定される。
【００２９】
【表１】
2004164586.tif 000003
【００３０】
実ディスク管理計算機とは、実際に処理コマンドが発行される対象となるディスク（１０６−１から１０６−３）を制御するディスク制御機構１０４が接続されている計算機（１００−１から１００−３）を示す。
【００３１】
管理計算機内対応ディスクとは、仮想ディスクに対応する実ディスク管理計算機内のディスク（１０６−１から１０６−３）を示している。以下、これを実ディスクという。この例では、管理計算機がディスクを管理するための識別子（ＩＤ）の形式で格納されていることを示す。アクセス権情報は、各仮想ディスクに対して、どの計算機からのアクセスを許可するかを示す。この例では、アクセスを許可する計算機の識別子である。アクセス権情報は、データ読み込み、データ書き込み、状態読み出し等の各処理コマンドごとに保持されていてもよい。パスワードは、セキュリティを向上するために使用する。たとえば、信頼性を向上させるために、すべての要求に対してパスワードチェックを行うことができる。
【００３２】
また、アクセス権の計算機からの要求であっても、特定のプロセス等からの要求に関してのみアクセスを許したい場合には、各要求毎にパスワードを付加し、チェックすることによりセキュリティを向上させることができる。
【００３３】
図３に疎結合計算機システム構成例２の計算機−１に対応する構成定義情報の例を示す。構成定義情報として、各計算機がどの実ディスク管理計算機に対応するかを示す情報を持つことで、計算機結合機構を介することなくアクセスできる仮想ディスクを識別することが可能となる。
【００３４】
表１及び図３の情報は、外部二次記憶装置に記録されていて初期化処理時に設定されることができる。また、ユーティリティツールにより、動作中に設定することもできる。
【００３５】
図４に、プロセッサ１０１から発行されるディスク処理要求コマンドの例を示す。
【００３６】
４００は、ディスク処理要求コマンドである。仮想ディスクＩＤ４０１は、システム内のどのディスクを指定するかを示す識別子である。パスワード４０２は、図３にて示したパスワードチェックのために必要である。ディスク制御コマンド／データ４０３は、ディスク（１０６−１から１０６−Ｎ）を制御するためのコマンドとコマンドの実行に必要なデータであり、ディスク制御機構１０４を介して発行される。
【００３７】
図５に、ディスク処理終了時にプロセッサ１０１に返されるディスク処理ステータスの例を示す。５００は、ディスク処理ステータスである。仮想ディスクＩＤ４０１は、図４の仮想ディスクＩＤ４０１と同一である。パスワード５０２は、図４のパスワード５０２と同じであるが、返送時には使用しなくてもよい。ディスクステータス／データは、ディスク（１０６−１から１０６−Ｎ）からプロセッサ１０１に返送されるコマンド終了時のステータス情報およびデータである。
【００３８】
図６に計算機結合機構アダプタパケットの例を示す。計算機結合機構では、パケットの配送を行う。送信側計算機ＩＤ６０１は送信側の計算機を示す識別子である。受信側計算機ＩＤ６０２は受信側の計算機を示す識別子である。データ６０３は転送されるデータである。パケットは、信頼性向上のために、パケットの前後に信頼性向上用冗長コードを付加することも好ましい。また、機密性を向上させるために、パケットを符号化することも好ましい。
【００３９】
図７に遠隔ディスク処理要求コマンドの例を示す。７００は、遠隔ディスク処理要求コマンドである。要求元計算機ＩＤ７０１はディスクに対する処理を要求する計算機を示す識別子である。実ディスク管理計算機ＩＤ７０２は処理対象となるディスクを直接管理するディスク制御機構１０４を保持する計算機を示す識別子である。実ディスクＩＤ７０３は、処理対象となるディスクを示す識別子である。パスワード４０２及びディスク制御コマンド／データ４０３は、図４に示したものと同一である。
【００４０】
図８に遠隔ディスク処理ステータスの例を示す。８００は、遠隔ディスク処理ステータスである。要求元計算機ＩＤ７０１はディスクに対する処理を要求した計算機を示す識別子であり、図７に示したものと同一である。実ディスク管理計算機ＩＤ７０２は処理対象となるディスクを直接管理するディスク制御機構１０４を保持する計算機を示す識別子であり、図７に示したものと同一である。実ディスクＩＤ７０３は、処理対象となるディスクを示す識別子であり、図７に示したものと同一である。パスワード５０２及びディスクステータス／データ５０３は、図５に示したものと同一である。
【００４１】
図９に実ディスク処理要求コマンドの例を示す。９００は、実ディスク処理要求コマンドである。実ディスクＩＤ７０３は、処理対象となるディスクを示す識別子であり、図７に示したものと同一である。ディスク制御コマンド／データ４０３は、ディスク（１０６−１から１０６−Ｎ）を制御するためのコマンドとコマンドの実行に必要なデータであり、図４に示したものと同一である。
【００４２】
図１０に実ディスク処理ステータスの例を示す。１０００は、実ディスク処理ステータスである。実ディスクＩＤ７０３は、処理対象となるディスクを示す識別子であり、図７に示したものと同一である。ディスクステータス／データ５０３は、ディスク（１０６−１から１０６−Ｎ）からプロセッサ１０１に返送されるコマンド終了時のステータス情報およびデータであり、図５に示したものと同一である。
【００４３】
図１１にて、ディスク要求処理部動作のフローを説明する。まずステップ１１１０に示すようにプロセッサ１０１が発行したディスク処理要求コマンドを要求制御部１１１が受け付け、ステップ１１２０に進む。
【００４４】
次に、ステップ１１２０に示すように要求先判定部１１３が構成定義情報保持部１１４に格納されている構成定義情報（表１を参照）を参照して、仮想ディスクＩＤ４０１に対応する実ディスク管理計算機（表１を参照）を判定し、ステップ１１３０に進む。
【００４５】
次に、ステップ１１３０に示すように構成定義情報（表１及び図３を参照）を参照して仮想ディスクＩＤ４０１に対応する実ディスク管理計算機がディスク処理要求コマンドを発行したプロセッサ１０１と同一であるか否かを判定する。仮想ディスクＩＤ４０１に対応する実ディスク管理計算機がディスク処理要求コマンドを発行したプロセッサ１０１と同一でない場合には、ステップ１１４０に分岐し、仮想ディスクＩＤ４０１に対応する実ディスク管理計算機がディスク処理要求コマンドを発行したプロセッサ１０１と同一の場合には、ステップ１１５０に分岐する。
【００４６】
仮想ディスクＩＤ４０１に対応する実ディスク管理計算機がディスク処理要求コマンドを発行したプロセッサ１０１と同一でない場合には、ステップ１１４０に示すように遠隔要求処理動作を実行する。
【００４７】
図１３と図１４で遠隔要求処理動作について説明する。仮想ディスクＩＤ４０１に対応する実ディスク管理計算機がディスク処理要求コマンドを発行したプロセッサ１０１と同一の場合には、ステップ１１５０に示すように、要求許否判定部１１２がディスク処理要求コマンド４００で示される処理対象となる仮想ディスクＩＤ４０１に対するアクセス権を構成定義情報情のアクセス権情報（表１を参照）を検索することでチェックし、ステップ１１６０に進む。図３Ａに示した例では、アクセス権情報はアクセス権を持つ計算機を示している。
【００４８】
次にステップ１１６０に示すようにアクセス権が無ければステップ１１９５に分岐し、アクセス権があればステップ１１７０に分岐する。
【００４９】
アクセス権がなければ、ステップ１１９５に示すようにその要求を拒否して終了する。要求を拒否して終了する場合には、要求制御部１１１がディスク要求処理ステータス５００を作成してプロセッサ１０１に返送する。ディスク処理ステータス５００は、仮想ディスクＩＤ４０１とパスワード４０２はディスク要求処理コマンド４００と同一であり、ディスクステータスとして、アクセス権がないことを通知するためのステータスコードを設定する。
【００５０】
アクセス権があれば、ステップ１１７０に示すように要求許否判定部１１２が、ディスク処理要求コマンド４００のパスワード４０２と構成定義情報保持部１１４に保持された構成定義情報のパスワード３０５とを比較することでパスワードチェックを行い、ステップ１１８０に進む。次にステップ１１８０では、パスワードが一致しなければステップ１１９５に分岐し、パスワードが一致すればステップ１１９０に分岐する。この例では、アクセス権がない場合とパスワードが不一致な場合を分けてステータス通知を行っていないが、障害検出機能を向上するために、ステータス通知を分けることも好ましい。
【００５１】
パスワードが一致すれば、ステップ１１９０に示すように、非遠隔要求処理を実行し終了する。ディスク要求処理部動作は、ディスク要求処理部１１０にプロセッサを保持して、ソフトウエアによって実現されてもよい。非遠隔要求処理動作については図１２にて説明する。
【００５２】
図１２にて、非遠隔要求処理動作のフローを説明する。まずステップ１２１０に示すように、要求制御部１１１がディスク処理要求コマンド４００から、実ディスク処理要求コマンド９００を作成する。構成定義情報（表１を参照）を参照して、ディスク処理要求コマンド４００の仮想ディスクＩＤ４０１に対応する実ディスクＩＤ７０３に変換することで、ディスク処理要求コマンド４００から実ディスク処理要求コマンド９００を作成することができる。
【００５３】
次にステップ１２２０に示すように、要求制御部１１１がディスク制御機構共有制御部１１５に対して実ディスク処理要求コマンド９００を発行する。
【００５４】
次にステップ１２３０に示すように、ディスク制御機構共有制御が、遠隔要求処理部１２１と要求制御部１１１とから発行された実ディスク処理要求コマンド９００をシリアライズし、ディスク制御機構１０４に対して発行する。実ディスク処理要求コマンド９００をシリアライズする処理は、図１５にて説明する。
【００５５】
次にステップ１２４０に示すように、ディスク制御機構１０４が実ディスク処理要求コマンド９００を用いてディスク（１０６−１〜１０６−Ｎ）を制御する。
【００５６】
次にステップ１２５０に示すように、実ディスク処理要求コマンド９００によるディスク（１０６−１〜１０６−Ｎ）に対する制御の返り値として、ディスク制御機構１０４がディスク制御機構共有制御部１１５に実ディスク処理ステータス１０００を返す。
【００５７】
次にステップ１２６０に示すように、ディスク制御機構共有制御部１１５が実ディスク処理ステータス１０００を要求制御部１１１に返す。
【００５８】
次にステップ１２７０に示すように、要求制御部１１１は、構成定義情報（図３Ａを参照）を参照して、実ディスク処理ステータス１０００の実ディスクＩＤ７０３に対応する仮想ディスクＩＤ４０１を検索することで、ディスク処理ステータス５００を作成する。
【００５９】
次にステップ１２８０に示すように、要求制御部１１１は、ディスク処理ステータス５００をプロセッサ１０１に返送し、非遠隔要求処理を終了する。非遠隔要求処理動作は、ディスク要求処理部１１０にプロセッサを保持して、ソフトウエアによって実現されてもよい。
【００６０】
図１３にて、遠隔要求処理動作のフローを説明する。まず、ステップ１３１０に示すように遠隔要求発行部１２２がディスク処理要求コマンド４００と構成定義情報とから、遠隔ディスク処理要求コマンド７００を作成する。構成定義情報（表１を参照）を参照して、ディスク処理要求コマンド４００の仮想ディスクＩＤ４０１に対応する実ディスクＩＤ７０３に変換することで、ディスク処理要求コマンド４００から実ディスク処理要求コマンド９００を作成することができる。
【００６１】
次にステップ１３２０に示すように遠隔要求発行部１２２が遠隔ディスク処理要求コマンド７００の送信を計算機結合アダプタ制御部１２３に要求する。
【００６２】
次にステップ１３３０に示すように計算機結合機構アダプタ制御部１２３は、計算機結合機構アダプタ１３０を介して、実ディスク管理計算機（表１を参照）の遠隔要求処理部１２１に対して遠隔ディスク処理要求込コマンド７００を転送する。
【００６３】
次にステップ１３４０に示すように遠隔要求処理部１２１は、要求許否判定部１１２に対して遠隔ディスク処理要求コマンド７００のアクセス権のチェックを要求する。
【００６４】
次にステップ１３５０に示すように要求許否判定部１１２は、遠隔ディスク処理要求コマンド７００を受け取り、遠隔ディスク処理要求コマンド７００で示される処理対象となる実ディスク管理計算機ＩＤ７０２及び実ディスクＩＤ７０３に対するアクセス権を構成定義情報情のアクセス権情報（表１を参照）を検索することでチェックし、ステップ１３６０に進む。
【００６５】
次にステップ１３６０に示すように、アクセス権が無ければステップ１３９５に分岐し、アクセス権があればステップ１３７０に分岐する。
【００６６】
アクセス権がなければ、ステップ１３９５に示すようにその要求を拒否して終了する。
【００６７】
要求を拒否して終了する場合には、遠隔要求処理部１２１が遠隔ディスク処理ステータス８００を作成し、遠隔要求発行部１２２に返送し、ディスク処理要求コマンドを発行したプロセッサ１０１にエラー通知を行う。この処理の詳細は、図１６で説明する。
【００６８】
アクセス権があれば、ステップ１３７０に示すように要求許否判定部１１２が、遠隔ディスク処理要求コマンド７００のパスワード４０２と構成定義情報保持部１１４に保持された構成定義情報のパスワード３０５とを比較することでパスワードチェックを行い、ステップ１３８０に進む。次にステップ１３８０では、パスワードが一致しなければステップ１３９５に分岐し、パスワードが一致すればステップ１３９０に分岐する。この例では、アクセス権がない場合とパスワードが不一致な場合を分けてステータス通知を行っていないが、障害検出機能を向上するために、ステータス通知を分けることも好ましい。
【００６９】
パスワードが一致すれば、ステップ１３９０に示すように、遠隔要求時実ディスク処理を実行し終了する。遠隔要求処理動作は、ディスク要求処理部１１０にプロセッサを保持して、ソフトウエアによって実現されてもよい。遠隔要求時実ディスク処理については図１４にて説明する。
【００７０】
図１４にて遠隔要求時実ディスク処理のフローを説明する。まず、ステップ１４１０に示すように、遠隔要求処理部１２１が遠隔ディスク処理要求コマンド７００から実ディスク処理要求コマンド９００を作成し、ステップ１４２０に進む。実ディスク処理要求コマンドの実ディスクＩＤ７０３は、遠隔ディスク要求コマンド７００の実ディスクＩＤ７０３と同一であり、実ディスク処理要求コマンドのディスク制御コマンド／データ４０３は、遠隔ディスク要求コマンド７００のディスク制御コマンド／データ４０３と同一である。
【００７１】
次にステップ１４２０に示すように、遠隔要求処理部１２１がディスク制御機構共有制御部１１５に実ディスク処理要求コマンド９００を発行し、ステップ１４３０に進む。
【００７２】
次にステップ１４３０に示すように、ディスク制御機構共有制御部１１５では、遠隔要求処理部１２１と要求制御部１１１とから発行された実ディスク処理コマンド９００をシリアライズして、ディスク制御機構１０４に対して発行し、ステップ１４４０に進む。ディスク制御機構共有制御部１１５の動作については、図１５にて説明する。
【００７３】
次にステップ１４４０に示すようにディスク制御機構１０４が実ディスク処理要求コマンド９００を用いてディスク（１０６−１〜１０６−Ｎ）を制御し、ステップ１４５０に進む。
【００７４】
次にステップ１４５０に示すように、ディスク制御機構１０４は、実ディスク処理要求コマンド９００によるディスク（１０６−１〜１０６−Ｎ）の制御の返り値として、ディスク制御機構共有制御部１１５に実ディスク処理ステータス１０００を返し、ステップ１４６０に進む。
【００７５】
次にステップ１４６０に示すように、ディスク制御機構共用部１１５が、実ディスク処理ステータス１０００を遠隔要求処理部１２１に返し、ステップ１４７０に進む。
【００７６】
次にステップ１４７０に示すように、遠隔要求処理部１２１は、構成定義情報に基づき、実ディスク処理ステータス１０００から、遠隔ディスク処理ステータス８００を作成し、ステップ１４８０に進む。
【００７７】
次にステップ１４８０に示すように、遠隔要求処理部１２１が遠隔ディスク処理ステータス８００の送信を計算機結合機構アダプタ１２３に要求し、ステップ１４９０に進む。
【００７８】
次にステップ１４９０に示すように、計算機結合機構アダプタ１２３は、計算機結合機構アダプタ１３０を介して、要求元計算機の遠隔要求発行部１２２対して、遠隔ディスク処理ステータス８００を転送し、ステップ１４９２に進む。
【００７９】
次にステップ１４９２に示すように、遠隔要求発行部１２２は、構成定義情報（図３Ａを参照）を参照して、遠隔ディスク処理ステータス８００の実ディスク管理計算機ＩＤ７０２及実ディスクＩＤ７０３対応する仮想ディスクＩＤ４０１を検索することでディスク処理ステータス５００を作成し、ステップ１４９５に進む。
【００８０】
次にステップ１４９５に示すように、遠隔要求発行部１２２は、ディスク処理ステータス５００をプロセッサ１０１に返送し、終了する。遠隔要求時実ディスク処理は、ディスク要求処理部１１０にプロセッサを保持して、ソフトウエアによって実現されてもよい。
【００８１】
図１５は、ディスク制御機構共有制御部１１５の実施例である。ディスク制御機構共有制御部１１５は、遠隔要求処理部対応要求保持部１５１０、要求制御部対応要求保持部１５２０、ディスク要求シリアライズ部１５３０、実ディスク制御部１５４０から構成されている。
【００８２】
遠隔要求処理部対応要求保持部１５１０は、遠隔要求処理部１２１から発行された実ディスク要求コマンド９００及び実ディスク処理ステータス１０００を保持する部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００８３】
要求制御部対応要求保持部１５２０は、要求制御部１１１から発行された実ディスク要求コマンド９００及び実ディスク処理ステータス１０００を保持する部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。
【００８４】
ディスク要求シリアライズ部１５３０は、遠隔要求処理部１２１及び要求制御部１１１から発行された実ディスク要求コマンド９００をシリアライズして、実ディスク制御部１５４０に提供する部分であり、たとえば、ＴＴＬ、ＣＭＯＳ等の論理によって構成できる。各要求のシリアライズの例として、ラウンドロビン方式を採用し、遠隔要求処理部対応要求保持部１５１０にある要求と要求制御部対応要求保持部１５２０にある要求を交互に取り出す方法がある。
【００８５】
実ディスク制御部１５４０は、実ディスク要求コマンド９００の発行及び実ディスク処理ステータス１０００の受け取りを行う部分である。実ディスク要求コマンド９００の発行は、ディスク要求シリアライズ部１５３０によって出力された順番にしたがって、ディスク制御機構１０４に対して発行する。また、実ディスク処理ステータス１０００の受け取りは、ディスク制御機構１０４が発行した順番にしたがって受け取る。受け取った実ディスク処理ステータス１０００は、ディスク要求シリアライズ部１５３０を介して、遠隔要求処理部対応要求保持部１５１０及び要求制御部対応要求保持部１５２０に転送される。遠隔要求処理部対応要求保持部１５１０からは、遠隔要求処理部１２１に実ディスク処理ステータス１０００が返送される。要求制御部対応要求保持部１５２０からは、要求制御部１１１に実ディスク処理ステータス１０００が返送される。ディスク制御
機構共有制御部は、ディスク要求処理部１１０にプロセッサを保持して、ソフトウエアによって実現されてもよい。
【００８６】
図１６にて、遠隔要求拒否処理のフローを説明する。まず、ステップ１６１０に示すように、遠隔要求処理部１２１は、アクセス権エラー及びパスワードエラーに対するステータスと遠隔ディスク処理要求コマンド７００とから、遠隔ディスク処理ステータス８００を作成し、ステップ１６２０に進む。遠隔ディスク処理要求コマンド７００と遠隔ディスク処理ステータス８００は、ディスク制御コマンド／データ４０３とディスクステータス／データ５０３以外は、同一である。次にステップ１６２０に示すように、遠隔要求処理部１２１が遠隔ディスク処理ステータス８００の送信を計算機結合機構アダプタ制御部１２３に要求し、ステップ１６３０に進む。次にステップ１６３０に示すように、計算機結合機構アダプタ１２３は、計算機結合機構アダプタ１３０を介して、要求元計算機の遠隔要求発行部１２２対して、遠隔ディスク処理ステータス８００を転送し、ステップ１６４０に進む。
【００８７】
次にステップ１６４０に示すように、遠隔要求発行部１２２は、構成定義情報（図３Ａを参照）を参照して、遠隔ディスク処理ステータス８００の実ディスク管理計算機ＩＤ７０２及実ディスクＩＤ７０３対応する仮想ディスクＩＤ４０１を検索することでディスク処理ステータス５００を作成し、ステップ１６５０に進む。
【００８８】
次にステップ１６５０に示すように、遠隔要求発行部１２２は、ディスク処理ステータス５００をプロセッサ１０１に返送し、終了する。遠隔要求拒否処理は、ディスク要求処理部１１０にプロセッサを保持して、ソフトウエアによって実現されてもよい。
【００８９】
【発明の効果】
以上本発明によれば、共有対象のハードディスクの接続するバスとリモートアクセスのための接続機構の間の処理要求を必要に応じて転送することで、必要な場合にしか接続機構に対するアクセスが発生せず、要求の発生したプロセッサがハードディスクを直接制御できるため、高性能な共有ディスクを有する疎結合計算機システムを構築することが可能となる。
【図面の簡単な説明】
【図１】疎結合計算機システム構成の第１の例のブロック図。
【図２】疎結合計算機システム構成の第２の例のブロック図。
【図３】構成定義情報例概念図。
【図４】ディスク処理要求コマンド例概念図。
【図５】ディスク処理ステータス例概念図。
【図６】計算機結合機構アダプタパケット例概念図。
【図７】遠隔ディスク処理要求コマンド例概念図。
【図８】遠隔ディスク処理ステータス例概念図。
【図９】実ディスク処理要求コマンド例概念図。
【図１０】実ディスク処理ステータス例概念合う。
【図１１】ディスク要求処理部動作フロー図。
【図１２】非遠隔要求処理フロー図。
【図１３】遠隔要求処理フロー図。
【図１４】遠隔要求時実ディスク処理フロー図。
【図１５】ディスク制御機構共有制御部のブロック図。
【図１６】遠隔要求拒否処理フロー図。
【符号の説明】
（１００−１から１００−Ｎ）：計算機
１０１：プロセッサ、１０２：メモリ、１０３：Ｉ／Ｏ装置
１０４：ディスク制御機構、１０５：システムバス
（１０６−１から１０６−Ｎ）：ディスク
１１０：ディスク要求処理部、１１１：要求制御部、１１２：要求拒否判定部
１１３：要求先判定部、１１４：構成定義情報保持部
１１５：ディスク制御機構共有制御部、１１６：内部バス
１２０：遠隔ディスク制御部、１２１：遠隔要求処理部、１２２：遠隔要求発行部
１２３：計算機結合機構アダプタ制御部、１２４：内部バス
１４０：計算機結合機構
３０１：仮想ディスク、３０２：実ディスク管理計算機
３０３：管理計算機内対応ディスク、３０４：アクセス権情報、３０５：パスワード
４００：ディスク処理要求コマンド、４０１：仮想ディスクＩＤ
４０２：パスワード、４０３：ディスク制御コマンド／データ
５００：ディスク処理ステータス、５０２：パスワード
６０１：送信側計算機ＩＤ、６０２：受信側計算機ＩＤ、６０３：データ
７００：遠隔ディスク処理要求コマンド、７０１：要求元計算機ＩＤ
７０２：実ディスク管理計算機ＩＤ、７０３：実ディスクＩＤ
８００：遠隔ディスク処理ステータス
９００：実ディスク処理要求コマンド
１０００は：実ディスク処理ステータス
１１１０〜１１９５：処理ステップ
１２１０〜１２８０：処理ステップ
１３１０〜１３９５：処理ステップ
１４１０〜１４９５：処理ステップ
１５１０：遠隔要求処理部対応要求保持部、１５２０：要求制御部対応要求保持部
１５３０：ディスク要求シリアライズ部、１５４０：実ディスク制御部
１６１０〜１６５０：処理ステップ
【図１】
2004164586.tif 000004
【図２】
2004164586.tif 000005
【図３】
2004164586.tif 000006
【図４】
2004164586.tif 000007
【図５】
2004164586.tif 000008
【図６】
2004164586.tif 000009
【図７】
2004164586.tif 000010
【図８】
2004164586.tif 000011
【図９】
2004164586.tif 000012
【図１０】
2004164586.tif 000013
【図１１】
2004164586.tif 000014
【図１２】
2004164586.tif 000015
【図１３】
2004164586.tif 000016
【図１４】
2004164586.tif 000017
【図１５】
2004164586.tif 000018
【図１６】
2004164586.tif 000019