(57)【要約】ある処理装置から複数の処理装置への情報配信における処理負荷を削減するシステムを提供するために、複数の処理装置と１つ以上の記憶装置をネットワークで接続し、情報配信元の処理装置は配信情報を記憶装置に書込み、記憶装置は配信情報の書込みを検知して情報配信先の処理装置に通知し、情報配信先の処理装置はそれぞれ記憶装置からの通知に基づいて配信情報を記憶装置から読み出す。
2001050283.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理装置と、
情報を記憶する記憶部と、配信される情報の書込み先の記憶領域と配信元の処理装置のアドレスと配信先の処理装置のアドレスとを対応付けて記憶するテーブルとを有し、配信元の前記処理装置から送られた情報の書込みに応じて、前記テーブルを参照して配信先の処理装置に配信情報が書込まれた記憶領域を通知する、少なくとも１つの記憶装置と、
前記処理装置及び前記記憶装置とを接続する接続手段とを有する情報処理システム。
【請求項２】
請求項１の情報処理システムにおいて、
前記記憶装置は、配信先の前記処理装置による記憶された前記情報の読み出しに応じて前記テーブルを参照して配信元の前記処理装置へ情報が読み出されたことを通知する情報処理システム。
【請求項３】
記憶装置と、
配信する情報の種類と自処理装置のアドレスと配信先の処理装置のアドレスとを対応付けて記憶するテーブルを有し、情報を前記記憶装置に書込むとともに前記テーブルを参照して配信先の処理装置に情報の種類および情報を書込んだ前記記憶装置の記憶領域を通知する、複数の処理装置と、
前記記憶装置及び前記処理装置とを接続する接続手段とを有する情報処理システム。
【請求項４】
請求項３の情報処理システムにおいて、
前記処理装置は、前記記憶装置に記憶された前記情報の読み出しに応じて、前記テーブルを参照して配信元の前記処理装置へ情報を読み出したことを通知する情報処理システム。
【請求項５】
複数の処理装置と、
少なくとも１つの記憶装置と、
前記記憶装置と、前記処理装置とを接続すると共に、配信する情報の書込み先である前記記憶装置および記憶領域と配信元の処理装置のアドレスと配信先の処理装置のアドレスとを対応付けて記憶するテーブルを有し、前記処理装置から前記記憶装置への情報書込みが行われる際に、前記テーブルを参照して配信先の前記処理装置を判定して各々に配信情報が書込まれた前記記憶装置および記憶領域を通知する接続手段とを有する情報処理システム。
【請求項６】
請求項５の情報処理システムにおいて、
前記接続手段は、配信先の前記処理装置による記憶された前記情報の読み出しに応じて前記テーブルを参照して配信元の前記処理装置へ情報が読み出されたことを通知する情報処理システム。
【請求項７】
請求項５又は６の情報処理システムにおいて、
前記接続手段は、前記処理装置が前記記憶装置から読み出した情報を一時的に記憶するキャッシュ手段を有し、情報配信先の前記処理装置の１つが読み出した情報を前記キャッシュ手段に記憶し、情報配信先の他の前記処理装置は前記キャッシュ手段から情報を読み出すことを特徴とする情報処理システム。
【請求項８】
複数の処理装置と、少なくとも１つの記憶装置と、複数の前記処理装置および前記記憶装置とを接続する接続手段とを有するシステムにおいて、ある処理装置から他の処理装置に情報を配信する方法であって、
情報配信元の処理装置は情報を前記記憶装置に書込み、前記記憶装置は情報が書込まれたことを情報配信先の処理装置に通知し、情報配信先の処理装置はそれぞれ、前記記憶装置からの通知に基づいて前記記憶装置から情報を読み出す情報配信方法。
【請求項９】
複数の処理装置と、少なくとも１つの記憶装置とを有するシステムにおいて、ある処理装置から少なくとも１つの他の処理装置に情報を配信する方法であって、
配信元の処理装置は情報を前記記憶装置に書込むとともに情報が前記記憶装置に書込まれたことを情報配信先の処理装置にそれぞれ通知し、情報配信先の前記処理装置は前記処理装置からの通知に基づいて前記記憶装置から情報を読み出すことを特徴とする情報配信方法。
【請求項１０】
複数の処理装置と、少なくとも１つの記憶装置と、複数の前記処理装置及び前記記憶装置とを接続する接続手段を有するシステムにおいて、ある処理装置から少なくとも１つの他の処理装置に情報を配信する方法であって、
配信元の処理装置は情報を前記接続手段を経由して前記記憶装置に書込み、前記接続手段は情報が書込まれたことを配信先の処理装置に通知し、配信先の前記処理装置はそれぞれ、前記接続手段からの通知に基づいて前記記憶装置から情報を読み出すことを特徴とする情報配信方法。
【請求項１１】
複数の処理装置と、複数の記憶装置とを有するシステムにおいて、ある処理装置から他の複数の処理装置に同一情報を配信する方法であって、
配信元の前記処理装置は同一の情報を複数の前記記憶装置に書込み、情報配信先のそれぞれの処理装置は複数の前記記憶装置のいずれか１つから情報を読み出すことを特徴とする情報配信方法。
【発明の詳細な説明】
技術分野
複数の処理装置から成る分散システムにおける情報配信に関するものであり、特に１つの処理装置から複数の処理装置に同一情報を配信する方法に関する。
背景技術
分散システムの新たなインフラとして、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ　Ｎｅｔｗｏｒｋ）が実現されはじめている（日経エレクトロニクスＰＰ．５７−６３  １９９８．５  ４８  Ｎｏ７１５）。ＳＡＮは複数の処理装置と複数ディスク装置を接続するネットワーク形態であり、それまで各処理装置に個別に接続されていたディスク装置を複数の処理装置に接続することにより、複数の処理装置がディスク装置を物理的に共有できるようになる。ＳＡＮを実現する代表的な媒体としてはＦｉｂｒｅ  Ｃｈａｎｎｅｌが挙げられる。Ｆｉｂｒｅ  Ｃｈａｎｎｅｌは、光ファイバまたは銅線により高速なシリアル伝送を実現し、１対１接続，Ｆａｂｒｉｃによるスター型接続，ＦＣ−ＡＬ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ）によるループ型接続が可能である。また、ディスク装置など周辺装置の主要プロトコルであるＳＣＳＩ−３プロトコルをＦｉｂｒｅ  Ｃｈａｎｎｅｌプロトコルの上位に実装できる（従来技術１）。
また、特開平６−３４８６５７号公報には、２台のホストコンピュータの間が共有する共有ディスクを設け、この共有ディスク装置への書込みと読み出しを介してデータの交換を行うことにより、多量のデータの転送所要時間の短縮を行うものが開示されている（従来技術２）。
しかしながら上記従来技術１には、処理装置間のデータのやり取りについて詳細な記載はない。また上記従来技術２は共有ディスクにより溝築したものであり、３台以上のホストコンピュータ間でのデータ交換を実現する形態について具体的に記述されていない。
発明の開示
本発明は、複数の処理装置間の情報配信を効率良く実現する方法およびシステムを提供することを目的とする。
発明を実施するための最良の形態
以下、本発明の実施例を説明する。
第１図は本発明にかかるシステム構成を示す図である。
１ａ，１ｂ，…，１ｎはそれぞれ所望の処理を実行する処理装置、２ａ，２ｂ，…，２ｎはデータやプログラムを記憶する記憶装置、３は複数の処理装置と複数の記憶装置を接続するスイッチを示す。各処理装置はそれぞれスイッチ３を介して任意の記憶装置にアクセス可能であり、複数の処理装置が１つ以上の記憶装置を物理的に共有可能となっている。本システムにおいて、ある１つの処理装置から他の１つ以上の処理装置に同一のデータを配信する場合、配信元の処理装置は配信先の処理装置の各々に配信データを送信する代わりに、スイッチ３を介していずれかの記憶装置に配信データを書込み、配信データが書込まれた記憶装置は配信データの書込みを配信先の処理装置にスイッチ３経由で通知し、この通知を受信した処理装置はそれぞれ通知元の記憶装置から配信データを読み出す。また、ある１つの処理装置から他の１つ以上の処理装置に同一のプログラムを配信する場合にも同様の方法を用いる。
第２図は本発明にかかる処理装置１ａの構成を示す図である。なお他の処理装置も同様の構成である。
１１はマイクロプロセッサユニット（ＭＰＵ）、１２は主記憶、１５はシステムバス、１３はＭＰＵ１１と主記憶１２とシステムバス１５とを接続するブリッジ、１４はＭＰＵ１１への割込みを制御する割込みコントローラ（ＩＮＴＣ）、１６は処理装置１ａをスイッチ３に接続するアダプタである。
アダプタ１６の構成を第２図を用いて説明すると、１６１はスイッチ３から処理装置１ａへのシリアル信号を受信する受信回路（ＲＸ）、１６２は処理装置１ａからスイッチ３へのシリアル信号を送信する送信回路（ＴＸ）、１６３はＲＸ１６１が受信したシリアル信号をパラレル信号に変換するためのシリ／パラ変換回路、１６４はスイッチ３に出力するパラレル信号をシリアル信号に変換してＴＸ１６２に渡すためのパラ／シリ変換回路、１６５はＦｉｂｒｅ  Ｃｈａｎｎｅｌのプロトコルを処理するＦＣプロトコル処理回路、１６６はＳＣＳＩ−３のプロトコルを処理するＳＣＳＩプロトコル処理回路、１６７は送信データや受信データを一時的に保持するバッファ・メモリ、１６８は主記憶２０とバッファ・メモリ１６７との間のＤＭＡ（Ｄｙｎａｍｉｃ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を制御するＤＭＡコントローラ（ＤＭＡＣ）である。本実施例では、スイッチ３をＳＡＮの主要なネットワーク媒体であるＦｉｂｒｅ  Ｃｈａｎｎｅｌで構成し、処理装置と記憶装置との間の通信プロトコルを周辺装置の主要なプロトコルであるＳＣＳＩ−３を使用し、ＲＸ１６１，ＴＸ１６２，シリ／パラ変換回路１６３，パラ／シリ変換回路１６４，ＦＣプロトコル処理回路１６５，ＳＣＳＩプロトコル処理回路１６６をＦｉｂｒｅ  ＣｈａｎｎｅｌおよびＳＣＳＩ−３の仕様を示すＡＮＳＩ  Ｘ３．２３０（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｅｎｈａｎｃｅｄ  Ｐｈｙｓｉｃａｌ  ａｎｄ  Ｓｉｇｎａｌｉｎｇ  Ｉｎｔｅｒｆａｃｅ）、ＡＮＳＩ  Ｘ３．２６９（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｒｏｔｏｃｏｌ）、ＡＮＳＩ  Ｘ３Ｔ１０／９９５Ｄ（ＳＣＳＩ−３  Ｐｒｉｍａｒｙ  Ｃｏｍｍａｎｄｓ）、ＡＮＳＩ  Ｘ３．２７０（ＳＣＳＩ−３  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｍｏｄｅｌ）に基づいて実現する。
ＳＣＳＩ−３プロトコルの基本的な例を第１５図を用いて説明する。
アクセス元をイニシエータ、アクセス先をターゲットとすると、先ず、コマンドフェーズ（１５００）において、イニシエータはターゲットにコマンド・ディスクリプタ・ブロック（ＣＤＢ）を送信する。ＣＤＢはコマンドの内容（ライトやリードなど）、ハードディスク上のアクセス対象の論理ブロック領域などを指定するもので、ＳＣＳＩ−３の仕様で形式が定められている。
次に、指定したコマンドがライトアクセスであれば、データアウトフェーズ（１５０１）でイニシエータからターゲットにライトデータを送信し、指定したコマンドがリードアクセスであれば、データインフェーズ（１５０２）でターゲットからイニシエータにリードデータを送信する。
そしてターゲットは、ステータスフェーズ（１５０３）においてコマンドが正常に実行されたかあるいは実行中にエラーが発生したことを示すステータスをイニシエータに送信し、最後にコマンド実行の終了をイニシエータに通知する（１５０４）。
次に、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌによるデータ転送の概略を第１６図を用いて説明する。
Ｆｉｂｒｅ  Ｃｈａｎｎｅｌは基本的に１６０３に示すような形式のフレームによってデータを転送する。フレーム１６０３は、フレームの開始を示すＳＯＦ（１６０４）と、ヘッダ（１６０５）と、転送データを格納するデータフィールド（１６０６）と、エラーチェックのためのＣＲＣ（１６０７）と、フレームの終了を示すＥＯＦ（１６０８）で構成される。
ヘッダ（１６０５）は、フレームのタイプ（１６０９）と、各種の制御部（１６１０）と、ヘッダカウント（１６１１）と、送信元ＩＤ（１６１２）と、送信先ＩＤ（１６１３）と、シーケンスカウント（１６１４）と、フレームの長さを設定するフレーム長（１６１５）とから成る。
シーケンス（１６０２）は１つ以上のフレームで構成され、１つのシーケンスでＳＣＳＩ−３の１つのフェーズ（コマンドフェーズ，データアウトフェーズ，データインフェーズ，ステータスフェーズなどのうちの１つ）を実現する。
エクスチェンジ（１６００）は、１つ以上のシーケンスで構成され、ＳＣＳＩ−３でのデータライトやデータリードなどの完結した周辺装置へのアクセスを実現する。
なお、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌによるデータ転送の詳細については、ＡＮＳＩ  Ｘ３．２３０（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｅｎｈａｎｃｅｄ  Ｐｈｙｓｉｃａｌ  ａｎｄ  Ｓｉｇｎａｌｉｎｇ  Ｉｎｔｅｒｆａｃｅ）に述べられている。
処理装置１ａによる記憶装置へのデータライト動作を第３図および第４図を用いて説明する。
先ず、ＭＰＵ１１がＳＣＳＩプロトコル処理回路１６６に第４図に示すように設定されたコマンド・ディスクリプタ・ブロック（ＣＤＢ）を渡して書込み先の記憶装置への送信を指示する（３０１０）。第４図のＣＤＢは、ＳＣＳＩ−３の仕様で定められており、Ｏｐｅｒａｔｉｏｎ  ｃｏｄｅはライトやリード等のコマンドのタイプを示し（ライトの場合は０Ａｈ）、ＬＵＮはターゲットの論理ユニット番号を示し、Ｌｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓはライトやリードの対象となる論理ブロック群の先頭論理ブロック番号を示し、Ｔｒａｎｓｆｅｒ  ｌｅｎｇｔｈはライトやリードの対象となる論理ブロック群の長さを示し、ｃｏｎｔｒｏｌは各種制御ビットを示す。
次に、ＳＣＳＩプロトコル処理回路１６６はＦＣプロトコル処理回路１６５にＣＤＢと送信先ＩＤを渡して送信を指示し、ＦＣプロトコル処理回路１６５はＣＤＢをデータ部に格納したフレームを形成してパラ／シリ変換回路１６４およびＴＸ１６２を介してスイッチ３に出力する（３０２０）。
次に、ＭＰＵ１１は主記憶１２上にあるライトデータを送信するためにＤＭＡＣ１６８を設定してＤＭＡによってライトデータをアダプタ１６に供給するようにする（３０３０）。
次に、ＭＰＵ１１はＳＣＳＩプロトコル処理回路１６６に書込み先の記憶装置へのライトデータ送信を指示し、ＳＣＳＩプロトコル処理回路１６６はＤＭＡを起動して主記憶１２からライトデータをバッファメモリ１６７経由で取り出しながらライトデータと送信先ＩＤをＦＣプロトコル処理回路１６５に渡してデータ送信を指示し、ＦＣプロトコル処理回路１６５はライトデータをデータ部に格納したフレームを形成してパラ／シリ変換回路１６４およびＴＸ６２を介してスイッチ３に出力する（３０４０）。
次に、書込み先の記憶装置からステータスが返送されるのを待つ（３０５０）。ステータスが返送されたならばその内容をチェックしてコマンドの実行が正常終了したかどうかを確認する（３０６０）。
最後に、書込み先の記憶装置からコマンド実行終了のメッセージが送られるのを待ち（３０７０）、同メッセージの受信を持ってコマンドを完了する。
次に、処理装置１ａによる記憶装置からのデータリード動作を第５図および第６図を用いて説明する。
先ず、ＭＰＵ１１がＳＣＳＩプロトコル処理回路１６６に第６図に示すように設定されたコマンド・ディスクリプ・タブロック（ＣＤＢ）を渡す（５０１０）。第６図のＣＤＢは基本的に第４図のＣＤＢと同じであり、Ｏｐｅｒａｔｉｏｎ  ｃｏｄｅがリードコマンドを示す０８ｈになっている点が異なる。
次に、ＭＰＵ１１は主記憶２０上にリードデータを格納するためにＤＭＡＣ１６８を設定してＤＭＡによってリードデータをアダプタ１６から取り出すようにする（５０２０）。
次に、ＭＰＵ１１はＳＣＳＩプロトコル処理回路１６６に読み出し先の記憶装置へのＣＤＢ送信を指示し、ＳＣＳＩプロトコル処理回路１６６はＦＣプロトコル処理回路１６５にＣＤＢと送信先ＩＤを渡して送信を指示し、ＦＣプロトコル処理回路１６５はＣＤＢをデータ部に格納したフレームを形成してパラ／シリ変換回路１６４およびＴＸ１６２を介してスイッチ３に出力する（５０３０）。
次に、読み出し先の記憶装置がスイッチ３を介して処理装置１ａにリードデータを送信すると、リードデータはＲＸ１６１，シリ／パラ変換回路１６３，ＦＣプロトコル処理回路１６５を介してＳＣＳＩプロトコル処理回路１６６に送られ、ＳＣＳＩプロトコル処理回路１６６は受信したリードデータをバッファ・メモリ１６７に送るとともにＤＭＡＣ１６８を起動してＤＭＡにより主記憶にリードデータを格納する（５０４０）。
次に、読み出し先の記憶装置からステータスが返送されるのを待つ（５０５０）。ステータスが返送されたならばその内容をチェックしてコマンドの実行が正常終了したかどうかを確認する（５０６０）。
最後に、読み出し先の記憶装置からコマンド実行終了のメッセージが送られるのを待ち（５０７０）、同メッセージの受信を持ってコマンドを完了する。
第１４図は、スイッチ３の構成を示す図である。
本実施例のスイッチ３はＦｉｂｒｅ  ＣｈａｎｎｅｌのＦａｂｒｉｃトポロジを形成するＦａｂｒｉｃを示している。
３１ａ，３１ｂ，…，３１ｉ，３１ｊ，…，３１ｘ，３１ｙはそれぞれ、処理装置または記憶装置のそれぞれと１対１で結合するＦポート、３２は任意のＦポート間の回線接続を実現するＣｏｎｎｅｃｔｉｏｎ  Ｓｕｂ−Ｆａｂｒｉｃ、３３は任意のＦポート間の非回線接続を実現するＣｏｎｎｅｃｔｉｏｎｌｅｓｓ　Ｓｕｂ−Ｆａｂｒｉｃ、３４はＦａｂｒｉｃ制御部である。
Ｆポート３１ａは、処理装置または記憶装置からシリアル信号を受信するＲＸ３１１と、処理装置または記憶装置へシリアル信号を送信するＴＸ３１２と、ＲＸ３１１が受信したシリアル信号を一時的に待避してＣｏｎｎｅｃｔｉｏｎｌ　Ｓｕｂ−Ｆａｂｒｉｃ３２またはＣｏｎｎｅｃｔｉｏｎｌｅｓｓ  Ｓｕｂ−Ｆａｂｒｉｃ３３に送信する受信バッファ（ＢＵＦ）３１３を有して構成される。他のＦポートも同様の構成である。
Ｃｏｎｎｅｃｔｉｏｎ  Ｓｕｂ−Ｆａｂｒｉｃ  ３２は、２つのＦポート間の接続を確立すると双方間のルートを占有してフレーム転送を実行するものであり、２つのＦポート間で複数のフレームを高速に転送できる。
Ｃｏｎｎｅｃｔｉｏｎｌｅｓｓ  Ｓｕｂ−Ｆａｂｒｉｃ３３は、２つのＦポート間の接続を固定せず、フレーム単位で任意のＦポート間の転送を実行するものであり、複数のＦポート間の多重転送を実現する。
このＣｏｎｎｅｃｔｉｏｎ  ｓｕｂ−Ｆａｂｒｉｃ  ３２とＣｏｎｎｅｃｔｉｏｎ  ｓｕｂ−Ｆａｂｒｉｃ  ３３は、配信元，配信先の処理装置により選択される。つまり、配信先の処理装置が第１６図に示すフレーム１６０３のヘッダ１６０５の制御部１６１０へ、Ｃｏｎｎｅｃｔｉｏｎ  ｓｕｂ−Ｆａｂｒｉｃ  ３２とＣｏｎｎｅｃｔｉｏｎ  ｓｕｂ−Ｆａｂｒｉｃ  ３３のいずれを使うか指定して送る。スイッチ３は、配信元の指定を配信先の処理装置へ送り、配信先の処理装置は、配信元で指定されたＣｏｎｎｅｃｔｉｏｎ  ｓｕｂ−Ｆａｂｒｉｃを使えるか判断し、使用可能であればその旨をスイッチ３へ返す。配信先及び配信元の一致がとれたらスイッチ３は、一致がとれた方のＣｏｎｎｅｃｔｉｏｎ  ｓｕｂ−Ｆａｂｒｉｃで情報の配信を行う。
第７図は本発明にかかる記憶装置２ａの構成を示す図である。なお他の記憶装置も同様の構成である。
２１は記憶装置２ａをスイッチ３に接続するインタフェース部、２２は磁気ディスクである。
インタフェース２１の構成を第７図を用いて説明すると、２１１はスイッチ３から記憶装置２ａへのシリアル信号を受信する受信回路（ＲＸ）、２１２は記憶装置２ａからスイッチ３へのシリアル信号を送信する送信回路（ＴＸ）、２１３はＲＸ２１１が受信したシリアル信号をパラレル信号に変換するためのシリ／パラ変換回路、２１４はスイッチ３に出力するパラレル信号をシリアル信号に変換してＴＸ２１２に渡すためのパラ／シリ変換回路、２１５はＦｉｂｒｅ  Ｃｈａｎｎｅｌのプロトコルを処理するＦＣプロトコル処理回路、２１６はＳＣＳＩ−３のプロトコルを処理するＳＣＳＩプロトコル処理回路、２１７は磁気ディスク２２へのライトデータや磁気ディスク２２からのリードデータを一時的に保持するバッファ・メモリ、２１８は磁気ディスク２２へのアクセスやスイッチ３による通信を制御するＭＰＵ、２１９は磁気ディスク２２へのアクセスやスイッチ３による通信を制御するプログラムを格納する不揮発性メモリ（ＲＯＭ）、２２０は配信データを格納する論理ブロック領域と配信元処理装置のＩＤと配信先処理装置のＩＤの組合わせを複数記憶するテーブルである。本実施例では第２図でも説明したように、処理装置と記憶装置との間の通信プロトコルをＳＣＳＩ−３，スイッチ３をＦｉｂｒｅ  Ｃｈａｎｎｅｌとし、ＲＸ２１１，ＴＸ２１２，シリ／パラ変換回路２１３，パラ／シリ変換回路２１４，プロトコル処理回路２１５，コマンド処理回路２１６はＳＣＳＩ−３の各種規格の中のＡＮＳＩ  Ｘ３．２３０（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｅｎｈａｎｃｅｄ  Ｐｈｙｓｉｃａｌ  ａｎｄ  Ｓｉｇｎａｌｉｎｇ  Ｉｎｔｅｒｆａｃｅ）、ＡＮＳＩ  Ｘ３．２６９（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｒｏｔｏｃｏｌ）、ＡＮＳＩ  Ｘ３Ｔ１０／９９５Ｄ（ＳＣＳＩ−３  Ｐｒｉｍａｒｙ  Ｃｏｍｍａｎｄｓ）、ＡＮＳＩ  Ｘ３．２７０（ＳＣＳＩ−３  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｍｏｄｅｌ）に基づいて実現する。
記憶装置２ａによるデータライト／リード動作を第８図を用いて説明する。
先ず、処理装置からスイッチ３を介して送信されるコマンド・ディスクリプ・タブロック（ＣＤＢ）をＲＸ２１１，シリ／パラ変換回路２１３，ＦＣプロトコル処理回路２１５を経てＳＣＳＩプロトコル処理回路２１６に入力し（８０１０）、ＣＤＢのＣｏｍｍａｎｄ  ｃｏｄｅにより実行すべきコマンドを判定する（８０２０）。Ｃｏｍｍａｎｄ  ｃｏｄｅがライトであれば、ＣＤＢのＬｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓとＴｒａｎｓｆｅｒ  ｌｅｎｇｔｈで定まる磁気ディスク２２の論理ブロック領域に、その後に受信するライトデータをバッファ・メモリ２１７経由でライトし（８０３０）、Ｃｏｍｍａｎｄ  ｃｏｄｅがリードであれば、ＣＤＢのＬｏｇｉｃａｌ  ｂｌｏｃｋ  ａｄｄｒｅｓｓとＴｒａｎｓｆｅｒ  ｌｅｎｇｔｈで定まる磁気ディスク２２の論理ブロック領域のデータをバッファ・メモリ２１７経由で読み出し、ＦＣプロトコル処理装置２１５，パラ／シリ変換回路２１４，ＴＸ２１２，スイッチ３を介してアクセス元の処理装置に送信する（８０４０）。
ライトデータ受信後あるいはリードデータ送信後、アクセス元の処理装置にコマンドの実行が正常に終了したかどうかを示すステータスを送信する（８０５０）。
次に、アクセス元の処理装置にコマンドの実行終了を通知する（８０６０）。
最後に、データ配信を実現するためのメッセージ送信を実行する（８０７０）。ある処理装置から他の１つ以上の処理装置にデータを配信する場合、本実施例では配信元の処理装置が記憶装置に配信データを書込み、そして配信先の処理装置がそれぞれ配信データを記憶装置から読み出すことによりデータ配信を実現する。上記のメッセージ送信（８０７０）はこのデータ配信において、配信データが記憶装置に書込まれたことを配信先の処理装置に通知したり、配信データが読み取られたことを配信元の処理装置に通知したりするために用いる。
記憶装置は、処理装置から書込まれるデータが配信データかどうかを、その論理ブロック領域によって判定する。記憶装置は、データ配信のための特定の論理ブロック領域と、同論理ブロック領域を介してデータを配信する配信元の処理装置のＩＤと、配信先の処理装置のＩＤとの組合わせをテーブル２２０に記憶し、処理装置から送られるＣＤＢのアクセス先論理ブロック領域をテーブル２２０に照合することでそのアクセスがデータ配信であるかどうかや、データ配信である場合はその配信元および配信先を判定できる。テーブル２２０の記憶形式は第１２図に示すように、論理ブロック番号およびフィルタと、配信元の処理装置のＩＤと、配信先ノード数と、配信先の各処理装置のＩＤを１エントリとし、そして論理ブロック番号の２進数表記のうち無効な桁を最下位桁から任意の桁までフィルタで指定してデータ配信のための論理ブロック領域を示すようにする。例えばフィルタによって下位８桁を無効とすれば２８＝２５６論理ブロックの領域を指定することになる。
メッセージ送信の動作を第９図，第１０図、および第１１図を用いて説明する。
本メッセージ送信はＳＣＳＩ−３の仕様に定められているＡｓｙｎｃｈｒｏｎｏｕｓ  Ｅｖｅｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ（ＡＥＮ）機構のよって実現する。ＡＥＮは処理装置や記憶装置で非同期に発生した事象をターゲット側からイニシエータ側に通知するための機能である。ＡＥＮは第１０図に示すＳＥＮＤコマンドのＣＤＢ（但しＡＥＮビットは１を設定）によって第１１図に示すメッセージを転送する。メッセージのＩｎｆｏｒｍａｔｉｏｎには、配信元の処理装置によって配信データが書込まれた論理ブロック領域の先頭番号およびブロック長を設定する（９０１０）。この論理ブロック領域の先頭番号およびブロック長は、配信元の処理装置から受信するデータライトのＣＤＢの論理ブロック番号およびブロックと同値である。
次に、ＡＥＮのためのＣＤＢを設定し（９０１０）、テーブル２２０を参照して配信先の処理装置の１つにＣＤＢおよびメッセージを送信する（９０３０，９０４０）。
次に、メッセージ送信先からのステータス返信を待ち（９０５０）、ステータスを受信するとメッセージ送信が正常に終了したかどうかをチェックし（９０６０）、メッセージ送信先からのコマンド終了通知を待つ（９０７０）。コマンド終了を受信した時に、全ての配信先処理装置にメッセージを送信するまでＣＤＢ送信（９０３０）からコマンド終了待ち（９０７０）までを繰り返す。
第１３図は記憶装置を介したデータ配信のフローを示す図である。
先ず、配信元処理装置は記憶装置に配信データのライトを示すＣＤＢを送信し（１３００）、続いて配信データを送信する（１３０１）。
記憶装置はデータライトコマンドを実行後、ステータスおよびコマンド終了通知を配信元処理装置に返送し（１３０２，１３０３）、配信先処理装置にＡＥＮを示すＣＤＢを送信し（１３０４）、続いて配信データを格納した論理ブロックを示すメッセージを送信する（１３０５）。
配信先処理装置はメッセージを受信後、ステータスおよびコマンド終了通知を記憶装置に返送し（１３０６，１３０７）、その後、メッセージを参照して記憶装置に配信データのリードを示すＣＤＢを送信する（１３０８）。
記憶装置はデータリードコマンドを実行して配信先処理装置に配信データを送信（１３０９）した後、ステータスおよびコマンド終了通知を配信元処理装置に返送し（１３１０，１３１１）、配信元処理装置にＡＥＮを示すＣＤＢを送信し（１３１２）、続いて配信データを格納した論理ブロックを示すメッセージを送信する（１３１３）。
配信元処理装置はメッセージを受信後、ステータスおよびコマンド終了通知を記憶装置に返送し（１３１４，１３１５）、その後、メッセージを参照して該当するデータ配信が完了したことを判定し、配信データの更新が可能になったことを検知する。
以上の実施例では、ある１つの処理装置から他の１つ以上の処理装置に同一のデータを配信する場合、ネットワークを介していずれかの記憶装置に配信データを書込み、配信データが書込まれた記憶装置は配信データの書込みを配信先の処理装置にネットワーク経由で通知し、この通知を受信した処理装置はそれぞれ通知元の記憶装置から配信データを読み出すので、配信元処理装置は、配信先処理装置の準備完了の確認や、配信先処理装置への配信データ書込み完了の通知などの処理が不要となり、データ配信に係る処理のオーバヘッドを削減できる。
以上の実施例では、記憶装置に配信データの書込みや読み出しを通知するための機構を設けるが、他の第２の実施例として、処理装置が配信データの書込みや読み出しを通知することにより、記憶装置の特別な機構を不要にするシステムについて説明する。本実施例のシステム構成は第１図と同様であり、本実施例の処理装置およびネットワークはそれぞれ第２図および第１４図と同様である。一方、本実施例の記憶装置は第７図と基本的に同じであるが、配信データの書込みや読み出しを通知する必要がないので、第１７図に示すように配信テーブル２２０を除いた構成となる。
配信元の処理装置は、各種配信データを書込む記憶装置の論理ブロック領域と、配信先の処理装置ＩＤの組合わせを主記憶１２に記憶し、配信データを記憶装置に書込む時と、配信先の処理装置にデータ書込みを通知する時に参照する。各種配信データを書込む記憶装置の論理ブロック領域と、配信先の処理装置ＩＤの組合わせの記憶形式は第１８図に示すように、配信データを識別する配信データＩＤと、配信データを書込む記憶装置の論理ブロック領域の先頭を示す論理ブロック番号および論理ブロックと、配信先ノード数と、配信先の各処理装置のＩＤとの組合わせを１エントリとする。
第１９図は、第２の実施例において記憶装置を介したデータ配信のフローを示す図である。
先ず、配信元処理装置は記憶装置に配信データのライトを示すＣＤＢを送信し（１９００）、続いて配信データを送信する（１９０１）。
記憶装置はデータライトコマンドを実行後、ステータスおよびコマンド終了通知を配信元処理装置に返送する（１９０２，１９０３）。
次に、配信元処理装置は配信先処理装置にＡＥＮを示すＣＤＢを送信し（１９０４）、続いて配信データを格納した論理ブロックを示すメッセージを送信する（１９０５）。
配信先処理装置はメッセージを受信後、ステータスおよびコマンド終了通知を配信元処理装置に返送し（１９０６，１９０７）、その後、メッセージを参照して記憶装置に配信データのリードを示すＣＤＢを送信する（１９０８）。
記憶装置はデータリードコマンドを実行して配信先処理装置に配信データを送信（１９０９）した後、ステータスおよびコマンド終了通知を配信元処理装置に返送する（１９１０，１９１１）。
次に、配信先処理装置は配信元処理装置にＡＥＮを示すＣＤＢを送信し（１９１２）、続いて配信データを格納した論理ブロックを示すメッセージを送信する（１９１３）。
配信元処理装置はメッセージを受信後、ステータスおよびコマンド終了通知を配信先処理装置に返送し（１９１４，１９１５）、その後、メッセージを参照して該当するデータ配信が完了したことを判定し、配信データの更新が可能になったことを検知する。
以上の実施例では、処理装置が配信データの書込みや読み出しを通知することにより、記憶装置に配信データの書込みや読み出しを通知する機構を設ける必要がなく、既存の記憶装置によってデータ配信を実現できる。
以上の実施例では、記憶装置への配信データの書込みや読み出しを記憶装置または処理装置が通知するが、他の第３の実施例として、ネットワークの中核であるＦａｂｒｉｃが記憶装置への配信データの書込みや読み出しを通知することにより、記憶装置の特別な機構を不要にし、かつ、処理装置におけるデータ配信処理のオーバヘッドを削減するシステムについて説明する。本実施例のシステム構成は第１図と同様であり、本実施例の処理装置および記憶装置はそれぞれ第２図および第１７図と同様である。一方、本実施例のＦａｂｒｉｃは第１４図と基本的に同じであるが、第２０図に示すように記憶装置への配信データの書込みおよび読み出しを通知する時に参照するテーブル３５を付加した構成となる。
第２０図のＦａｂｒｉｃ３は、配信データを書込む記憶装置のＩＤおよび論理ブロック領域と、配信元の処理装置ＩＤと、配信先の処理装置ＩＤの組合わせをテーブル３５に記憶し、配信元の処理装置から記憶装置への配信データ書込みを中継する時に参照する。テーブル３５の記憶形式は第２１図に示すように、第１２図の記憶形式に配信データを書込む記憶装置ＩＤを付加した形式となる。
第２２図は、第２の実施例において記憶装置を介したデータ配信のフローを示す図である。
先ず、配信元処理装置は記憶装置に配信データのライトを示すＣＤＢを送信し（２２００）、続いて配信データを送信する（２２０１）。
記憶装置はデータライトコマンドを実行後、ステータスおよびコマンド終了通知を配信元処理装置に返送する（２２０２，２２０３）。
ＦａｂｒｉｃはＣＤＢ２２００の送信先記憶装置ＩＤおよび論理ブロックをテーブル３５と照合し、対応する配信先処理装置にＡＥＮを示すＣＤＢを送信し（２２０４）、続いて配信データを格納した記憶装置ＩＤおよび論理ブロックを示すメッセージを送信する（２２０５）。
配信先処理装置はメッセージを受信後、ステータスおよびコマンド終了通知をＦａｂｒｉｃに返送し（２２０６，２２０７）、その後、メッセージを参照して記憶装置に配信データのリードを示すＣＤＢを送信する（２２０８）。
記憶装置はデータリードコマンドを実行して配信先処理装置に配信データを送信（２２０９）した後、ステータスおよびコマンド終了通知を配信元処理装置に返送する（２２１０，２２１１）。
ＦａｂｒｉｃはＣＤＢ２２０８の送信先記憶装置ＩＤおよび論理ブロックをテーブル３５と照合し、対応する配信元処理装置にＡＥＮを示すＣＤＢを送信し（２２１２）、続いて配信データを格納した論理ブロックを示すメッセージを送信する（２２１３）。
配信元処理装置はメッセージを受信後、ステータスおよびコマンド終了通知をＦａｂｒｉｃに返送し（２２１４，２２１５）、その後、メッセージを参照して該当するデータ配信が完了したことを判定し、配信データの更新が可能になったことを検知する。
以上の実施例では、Ｆａｂｒｉｃが記憶装置への配信データの書込みや読み出しを通知することにより、記憶装置の特別な機構を不要にし、かつ、処理装置におけるデータ配信処理のオーバヘッドを削減できる。
以上の実施例では、いずれも配信先の複数の処理装置が１つの記憶装置に書込まれた配信データを読み出すことになるが、記憶装置へのアクセスを分散させるために、配信先処理装置を複数のグループに分割し、配信元処理装置が複数の記憶装置に同一の配信データを書込み、そして各配信先処理装置はそれぞれグループ毎に異なる記憶装置から配信データを読み出すことが実行可能である。
また、記憶装置から読み出した配信データを一時的に保持するキャッシュをネットワークに設け、記憶装置からの配信データ読み出しを高速にする形態が考えられる。
第２３図に示すように、Ｆａｂｒｉｃ３の各Ｆポート３１ａ，３１ｂ，…，３１ｉ，３１ｊ，…，３１ｘ，３１ｙにそれぞれキャッシュ３１４を設け、複数の処理装置がある記憶装置から配信データを読み出す場合に、最初にアクセスした処理装置が記憶装置から読み出したデータをその記憶装置が接続されているＦポートのキャッシュ３１４に保持し、他の処理装置は記憶装置から配信データを読み出す代わりにキャッシュ３１４から配信データを読み出すことにより、配信データの読み出しを高速にすることができる。
本発明によれば、ある１つの処理装置から他の１つ以上の処理装置に同一のデータを配信する場合、ネットワークを介していずれかの記憶装置に配信データを書込み、配信データが書込まれた記憶装置は配信データの書込みを配信先の処理装置にネットワーク経由で通知し、この通知を受信した処理装置はそれぞれ通知元の記憶装置から配信データを読み出すので、配信元処理装置は、配信先処理装置の準備完了の確認や、配信先処理装置への配信データ書込み完了の通知などの処理が不要となり、データ配信に係る処理のオーバヘッドを削減できるという効果がある。
また別の形態として、処理装置が配信データの書込みや読み出しを通知することにより、記憶装置に配信データの書込みや読み出しを通知する機構を設ける必要がなく、既存の記憶装置によってデータ配信を実現できるという効果がある。
また別の形態として、Ｆａｂｒｉｃが記憶装置への配信データの書込みや読み出しを通知することにより、記憶装置の特別な機構を不要にし、かつ、処理装置におけるデータ配信処理のオーバヘッドを削減できるという効果がある。
さらに、配信先処理装置を複数のグループに分割し、配信元処理装置が複数の記憶装置に同一の配信データを書込み、そして各配信先処理装置はそれぞれグループ毎に異なる記憶装置から配信データを読み出すことにより、記憶装置へのアクセスを分散させることができるという効果がある。
さらに、記憶装置から読み出した配信データを一時的に保持するキャッシュをネットワークに設け、最初にアクセスした処理装置が記憶装置から読み出した配信データをキャッシュに保持し、他の処理装置は記憶装置から配信データを読み出す代わりにキャッシュから配信データを読み出すことにより、配信データの読み出しを高速にすることができるという効果がある。
産業上の利用可能性
複数の処理装置から成る分散システムを適用できる、産業機器，電力，鉄道，自動車などの分野において利用することができる。
【図面の簡単な説明】
第１図は、本発明にかかるシステム構成を示す図である。
第２図は、本発明にかかる処理装置の構成を示す図である。
第３図は、処理装置による記憶装置へのデータライト動作を示す図である。
第４図は、データライトのコマンド・ディスクリプタ・ブロックを示す図である。
第５図は、処理装置による記憶装置へのデータリード動作を示す図である。
第６図は、データリードのコマンド・ディスクリプタ・ブロックを示す図である。
第７図は、記憶装置の構成を示す図である。
第８図は、記憶装置によるデータライト／リード動作を示す図である。
第９図は、記憶装置によるメッセージ送信の動作を示す図である。
第１０図は、ＳＥＮＤコマンドのコマンド・ディスクリプタ・ブロックを示す図である。
第１１図は、Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｅｖｅｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎのメッセージを示す図である。
第１２図は、テーブルの記憶形式を示す図である。
第１３図は、記憶装置を介したデータ配信のフローを示す図である。
第１４図は、スイッチ３の構成を示す図である。
第１５図は、ＳＣＳＩ−３プロトコルの基本的な例を示す図である。
第１６図は、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌによるデータ転送の概略を示す図である。
第１７図は、記憶装置の第２の構成を示す図である。
第１８図は、テーブルの第２の記憶形式を示す図である。
第１９図は、記憶装置を介したデータ配信の第２のフローを示す図である。
第２０図は、Ｆａｂｒｉｃの第２の構成を示す図である。
第２１図は、テーブルの第３の記憶形式を示す図である。
第２２図は、記憶装置を介したデータ配信の第３のフローを示す図である。
第２３図は、Ｆａｂｒｉｃの第３の構成を示す図である。
【図１】
2001050283.tif 000003
【図２】
2001050283.tif 000004
【図３】
2001050283.tif 000005
【図４】
2001050283.tif 000006
【図５】
2001050283.tif 000007
【図６】
2001050283.tif 000008
【図７】
2001050283.tif 000009
【図８】
2001050283.tif 000010
【図９】
2001050283.tif 000011
【図１０】
2001050283.tif 000012
【図１１】
2001050283.tif 000013
【図１２】
2001050283.tif 000014
【図１３】
2001050283.tif 000015
【図１４】
2001050283.tif 000016
【図１５】
2001050283.tif 000017
【図１６】
2001050283.tif 000018
【図１７】
2001050283.tif 000019
【図１８】
2001050283.tif 000020
【図１９】
2001050283.tif 000021
【図２０】
2001050283.tif 000022
【図２１】
2001050283.tif 000023
【図２２】
2001050283.tif 000024
【図２３】
2001050283.tif 000025
【国際調査報告】
2001050283.tif 000026
2001050283.tif 000027