図面 (/)

技術 情報処理装置、情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラム

出願人 富士通株式会社
発明者 小澤幸生林直希橋本剛
出願日 2014年8月28日 (6年4ヶ月経過) 出願番号 2014-174371
公開日 2016年4月11日 (4年8ヶ月経過) 公開番号 2016-051209
状態 特許登録済
技術分野 計算機・データ通信 計算機における入出力系RAS 入出力制御 外部記憶装置との入出力 ハードウェアの冗長性
主要キーワード 冗長配置 監視用情報 価格性能比 割り込み処理回路 環状経路 個データ 各統計情報 状態監視データ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年4月11日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (19)

課題

情報処理装置における負荷、あるいはオーバーヘッド押さえて、従来よりも高い信頼性を達成する。

解決手段

情報処理システムの複数の情報処理装置のそれぞれは、演算処理を行う演算処理装置と、データを記憶する記憶部と、演算処理装置の介在なしに記憶部にアクセスするとともに、他の情報処理装置の通信部を介して他の情報処理装置にアクセスする通信部と、を備える。そして、複数の情報処理装置のそれぞれの通信部は、自装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して他の情報処理装置の記憶部に記憶させる処理、および、他の情報処理装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の少なくとも1つを実行する。

概要

背景

ディスク装置等の外部記憶装置を有し、ファイルシステムあるいはDBMS(Database
Management System)等としてサービスを提供するIO(Input Output)サーバ(以下、IOサーバ)と呼ばれる情報処理装置が利用されている。近年の外部記憶装置の容量単価の低下に伴い、例えば、多重化、あるいはRAID(Redundant Arrays of Inexpensive Disks, Redundant Arrays of Independent Disks)などによる、外部記憶装置自体の故障に対する高度な対策は採用しやすくなっている。

概要

情報処理装置における負荷、あるいはオーバーヘッド押さえて、従来よりも高い信頼性を達成する。情報処理システムの複数の情報処理装置のそれぞれは、演算処理を行う演算処理装置と、データを記憶する記憶部と、演算処理装置の介在なしに記憶部にアクセスするとともに、他の情報処理装置の通信部を介して他の情報処理装置にアクセスする通信部と、を備える。そして、複数の情報処理装置のそれぞれの通信部は、自装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して他の情報処理装置の記憶部に記憶させる処理、および、他の情報処理装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の少なくとも1つを実行する。

目的

ディスク装置等の外部記憶装置を有し、ファイルシステムあるいはDBMS(Database
Management System)等としてサービスを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数の情報処理装置を含む情報処理システムであって、前記複数の情報処理装置のそれぞれは、演算処理を行う演算処理装置と、データを記憶する記憶部と、前記演算処理装置の介在なしに前記記憶部にアクセスするとともに、他の情報処理装置の通信部を介して前記他の情報処理装置にアクセスする通信部と、を備え、前記複数の情報処理装置のそれぞれの通信部は、自装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部に記憶させる処理、および、他の情報処理装置の記憶部が記憶するデータを冗長化した冗長データを前記他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の少なくとも1つを実行する情報処理システム。

請求項2

前記複数の情報処理装置のいずれかにおいて異常が検出されたときに、前記複数の情報処理装置のうちの正常データの復元を行う情報処理装置の通信部は、他の少なくとも1つの情報処理装置の通信部を介して、前記他の少なくとも1つの情報処理装置の記憶部に記憶された、前記正常データに対応する冗長データまたは前記冗長データと組み合わせて前記正常データを復元するためのデータを取得し、前記正常データを復元する請求項1に記載の情報処理システム。

請求項3

前記複数の情報処理装置のそれぞれの通信部は、自装置の記憶部に記憶されるデータを複製した冗長データから自装置以外の情報処理装置の数に応じて分割した分割冗長ブロックを作成し、前記他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部に記憶させる請求項1または2に記載の情報処理システム。

請求項4

前記複数の情報処理装置のいずれかにおいて異常が検出されたときに、前記複数の情報処理装置のうちの正常データの復元を行う情報処理装置の通信部は、他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部された分割冗長ブロックを取得して正常データを復元する請求項3に記載の情報処理システム。

請求項5

前記複数の情報処理装置は、環状の所定順状態監視データ転送する環状伝達経路を形成し、前記複数の情報処理装置のそれぞれの通信部は、前記環状伝達経路における送信元から受信した状態監視データに自装置の状態を追加して、環状伝達経路における宛先に送信し、前記複数の情報処理装置の1つの通信部は、前記環状伝達経路の始端および終端となり、前記情報処理システムの状態を監視する請求項1から4のいずれか1項に記載の情報処理システム。

請求項6

前記複数の情報処理装置のそれぞれは、さらに外部記憶装置を備え、前記複数の情報処理装置のそれぞれの演算処理装置は、前記通信部を介した他の情報処理装置の記憶部から自装置の記憶部へのデータの取得後に前記取得したデータを外部記憶装置に保存し、前記通信部を介した他の情報処理装置へのデータ転送前に、前記他の情報処理装置の要求にしたがい外部記憶装置のデータを自装置の記憶部に読み出す請求項1から5のいずれか1項に記載の情報処理システム。

請求項7

情報処理システム内で相互に接続される複数の情報処理装置中の1つの情報処理装置であって、演算を行う演算処理装置と、データを記憶する記憶部と、前記演算処理装置の介在なしに前記記憶部にアクセスするとともに、他の情報処理装置の通信部を介して前記他の情報処理装置にアクセスする通信部と、を備え、前記通信部は、自装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部に記憶させる処理、および、他の情報処理装置の記憶部が記憶するデータを冗長化した冗長データを前記他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の少なくとも1つを実行する情報処理装置。

請求項8

複数の情報処理装置を含む情報処理システムの制御方法であって、前記複数の情報処理装置のそれぞれの通信部は、演算処理装置の介在なしに自装置の記憶部にアクセスするとともに、他の情報処理装置の通信部を介して前記他の情報処理装置にアクセスすることを実行し、前記アクセスによって、自装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部に記憶させる処理、および、他の情報処理装置の記憶部が記憶するデータを冗長化した冗長データを前記他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の少なくとも1つを実行する情報処理システムの制御方法。

請求項9

演算を行う演算処理装置と、データを記憶する記憶部と、前記演算処理装置の介在なしに前記記憶部にアクセスするとともに、ネットワークを通じて接続される他の情報処理装置の通信部を介して前記他の情報処理装置にアクセスする通信部と、を備える情報処理装置の制御プログラムにおいて、前記情報処理装置に、前記通信部を介して取得した前記1以上の他の情報処理装置のいずれかが有する記憶部が記憶するデータを冗長化した冗長データを取得させ、前記1以上の他の情報処理装置うち、前記冗長データを収集する情報処理装置から前記冗長データの転送要求受け付けさせ、前記冗長データを収集する情報処理装置の前記ネットワーク上の宛先と前記冗長データの前記記憶部上の格納先とを指定して前記通信部に前記冗長データの転送処理を所定のタイミングで実行させるためのコマンドを登録させる情報処理装置の制御プログラム。

技術分野

0001

本発明は、情報処理装置情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラムに関する。

背景技術

0002

ディスク装置等の外部記憶装置を有し、ファイルシステムあるいはDBMS(Database
Management System)等としてサービスを提供するIO(Input Output)サーバ(以下、IOサーバ)と呼ばれる情報処理装置が利用されている。近年の外部記憶装置の容量単価の低下に伴い、例えば、多重化、あるいはRAID(Redundant Arrays of Inexpensive Disks, Redundant Arrays of Independent Disks)などによる、外部記憶装置自体の故障に対する高度な対策は採用しやすくなっている。

先行技術

0003

特開平6−266508号広報
特開平10−260789号広報

発明が解決しようとする課題

0004

しかし、複数の外部記憶装置によって故障への対策がなされても外部記憶装置のコントローラ二重化されないで単一故障点(single point of failure)となり、外部記憶
置を有する情報処理装置に影響が及ぶ場合がある。また、情報処理装置のうち、ファイルシステムあるいはDBMS等のIOサーバにおいては、さらなる信頼性確保の要望が高まっている。さらにまた、並列処理による性能向上を目的とするシステム規模増加傾向により、情報処理装置の信頼性確保への要望は、以前にも増して高まっている。

0005

IOサーバ等の情報処理装置の信頼性確保は、個々の情報処理装置が処理するデータに対する冗長データ、例えば、データのバックアップ、あるいはエラー訂正符号等の冗長データを複数の情報処理装置で保持する事によって達成可能である。しかし、複数の情報処理装置で冗長データを持つ場合に、冗長データ保持による使用メモリ量の増加や冗長データを相互に転送する処理によるオーバーヘッド増加は、目標とする信頼性のレベルに対し出来るだけ小さくすることが望ましい。開示の実施形態の1つの側面は、情報処理装置における負荷、あるいはオーバーヘッドを押さえて、従来よりも高い信頼性を達成する。

課題を解決するための手段

0006

本発明の一側面は、複数の情報処理装置を含む情報処理システムによって例示される。すなわち、本情報処理システムの複数の情報処理装置のそれぞれは、演算処理を行う演算処理装置と、データを記憶する記憶部と、演算処理装置の介在なしに記憶部にアクセスするとともに、他の情報処理装置の通信部を介して他の情報処理装置にアクセスする通信部と、を備える。そして、複数の情報処理装置のそれぞれの通信部は、自装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して他の情報処理装置の記憶部に記憶させる処理、および、他の情報処理装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の少なくとも1つを実行する。

発明の効果

0007

本情報処理システムによれば、情報処理装置における負荷、あるいはオーバーヘッドを押さえて、従来よりも高い信頼性を達成できる。

図面の簡単な説明

0008

情報処理システムの構成を例示する図である。
情報処理システムに異常が発生した場合のイメージ図である。
IOサーバとして用いられる情報処理装置のハードウェア構成を例示する図である。
情報処理システムに異常が発生した場合のデータ訂正処理を例示するフローチャートである。
リモートNICコマンド実行機構を利用し、データをn−1個に分割して各IOサーバに分散させる場合の処理フローを例示する図である。
データ格納用IOサーバにおいてデータの異常が発生し、データを復元する場合の処理のフローチャートを例示する図である。
ノード冗長ブロックとの関係を例示する図である。
リモートNICコマンド実行機構を利用し、データをn−1個に分割して各IOサーバに分散させる場合の処理フローを例示する図である。
リモートNICコマンド実行機構を利用するために登録されるNICコマンドのイメージを例示する。
IOサーバにおいてデータの異常が発生し、データを復元する場合の処理のフローチャートを例示する図である。
IOサーバ2に異常が発生した場合のデータ収集のためのNICコマンド登録処理を例示する図である。
監視リングの構成を例示する図である。
IOサーバが監視リングにおいて実行する処理フローを例示する図である。
ヘルスステータス情報を例示する図である。
統計情報を例示する図である。
監視リングの共通データを例示する図である。
復元のタイミング決定処理フローを例示する図である。
復元処理ためのNIC13へのコマンド設定の詳細を例示する図である。

実施例

0009

以下、図面を参照して一実施形態に係るについて説明する。

0010

[実施例1]
以下、図1から図6を参照して、実施例1に係る情報処理システムについて説明する。図1は、本情報処理システムの構成を例示する図である。本情報処理システムは、サーバ1からサーバnを有し、サーバ1からサーバnは、ネットワークで接続されている。サーバ1からサーバnは、いずれも外部記憶装置を有し、データ管理処理を実行するIOサーバ、あるいはディスクサーバと呼ばれる。サーバ1、サーバn等が情報処理装置の一例である。

0011

実施例1では、図1の構成のうち、サーバ1からサーバn−1は、冗長化する前のオリジナルデータ格納用のIOサーバである。実施例1では、オリジナルデータ格納用のIOサーバをデータ格納用IOサーバと呼ぶ。また、サーバnは、冗長データ格納用のIOサーバである。冗長データ格納用のIOサーバを冗長用IOサーバと呼ぶ。

0012

ネットワークは、例えば、Ethernet(登録商標)等のLAN(Local Area Network)、インターネット等のWAN(Wide Area Network)等である。ただし、ネットワークは、
マルチノードコンピュータシステムのノード間を接続するインターコネクト、例えば、InfiniBand、クロスバー等であってもよい。

0013

図2は、図1の情報処理システムに異常が発生した場合のイメージ図である。実施例1では、サーバ1に異常が発生し、サーバ1に格納されていたデータが利用できない場合に、例えば、サーバ1以外のサーバに格納されたデータによって、サーバ1に格納されていたデータが復旧される。例えば、サーバ1が処理を続行可能な場合には、サーバ1は、サーバ2からサーバn−1に格納されたデータおよびサーバnに格納された冗長データを取得し、サーバ1自身のデータを復元する。また、サーバ1が故障で処理を続行できない場合には、サーバ1に代わって、サーバ2からサーバn−1のいずれかが、データ収集サーバとなり、サーバ2からサーバn−1に格納されたデータおよびサーバnに格納された冗長データによってサーバ1のデータを復元する。例えば、サーバ1からサーバn−1に、格納されたデータの排他的論理和による冗長データがサーバnに格納されている場合に、サーバ1からサーバnのいずれか1つに異常が発生した場合に、異常が発生したサーバ以外のサーバのデータと冗長データとから排他的論理和によって、異常が発生したサーバに格納されていたデータを復元できる。

0014

図3は、ノード1からノードn等のIOサーバとして用いられる情報処理装置のハードウェア構成を例示する図である。本情報処理装置は、CPU11と、メモリ12と、NIC(Network Interface Card)13と、インターフェース14と、外部記憶装置15とを有する。また、NIC13は、バスアダプタ13Aと、ネットワークアダプタ13Bと、コントローラ13Cと、メモリ13Dとを有する。CPU11は、メモリ12に実行可能に展開されたコンピュータプログラムにより、情報処理装置の処理を実行する。CPU11がプロセッサの一例である。メモリ12は、CPU11が実行するコンピュータプログラム、あるいは、CPU11が処理するデータ、処理後のデータ等を格納する。メモリ12は、例えば、CPU11のバスに接続され、CPU11のアドレス空間に配置される。メモリ12が記憶部の一例である。

0015

NIC13は、ネットワークに接続される他の情報処理装置が有するNICと通信する。NIC13のバスアダプタ13Aは、CPU11と調停を行い、バスを通じてメモリ12にアクセスする。ネットワークアダプタ13Bは、ネットワークに接続され、ネットワークへの送信データ送出、およびネットワークからの受信データの取得を実行する。コントローラ13Cは、メモリ13Dに実行可能に展開されたファームウェアマイクロプログラム、コンピュータプログラム等により、バスアダプタ13Aおよびネットワークアダプタ13Bを制御し、他の情報処理装置との通信を制御する。コントローラ13Cは、例えば、CPU、DSP(Digital Signal Processor)、プログラマブルロジック・コントローラ等である。メモリ13Dは、コントローラ13Cが実行するファームウェア、マイクロプログラム、コンピュータプログラム等、コントローラ13Cが処理するデータ、あるいは、コントローラ13Cによる処理後のデータ等を格納する。NIC13が通信部の一例である。

0016

メモリ13Dの一部の領域は、NIC13のレジスタとして用いられる。このレジスタには、NIC13によって実行されるNICコマンドが登録される。レジスタに登録されたNICコマンドは、所定の事象が発生したときに、コントローラ13Cによって実行される。所定の事象とは、例えば、特定の割り込みが発生したとき等である。例えば、データ受信が実行されたときに、コントローラ13Cは、特定のレジスタのNICコマンドを実行する。したがって、例えば、IOサーバは、所定の事象、例えば、所定の割り込みが発生したとき、所定の処理が終了したとき、あるいはデータの受信が完了したとき等、所定の条件が充足されたときにNIC13によってNICコマンドが実行されるように、NIC13にNICコマンドを登録できる。ただし、NIC13が実行するNICコマンド
登録先がメモリ12内のレジスタに限定される訳ではない。

0017

本情報処理装置では、コントローラ13Cは、バスアダプタ13Aを介して、CPU11とバスの使用権の調停を行い、バスの使用権獲得後、CPU11を介さないで、メモリ12にアクセスする。例えば、コントローラ13Cは、DMA(Direct Memory Access)を実行する。つまり、コントローラ13Cは、CPU11を介さないで、メモリ12へのデータの書き込み、および、メモリ12からのデータの読み出しを実行する。また、コントローラ13Cは、ネットワークアダプタ13Bを介して、他の情報処理装置のNICとネットワークを通じた通信を実行する。したがって、コントローラ13Cは、CPU11を介さないで、自情報処理装置のメモリ12上のデータと、他の情報処理装置のメモリ上のデータを交換する。

0018

インターフェース14は、CPU11と外部記憶装置15とを接続するインターフェースである。外部記憶装置15は、インターフェース14を通じてCPU11に接続される。外部記憶装置15上のデータは、例えば、CPU11で実行される基本プログラム、OS(Operating System)等によって、例えば、ファイルとして管理される。

0019

CPU11は、外部記憶装置15のデータをメモリ12に読み出すとともに、メモリ12のデータを外部記憶装置15のファイルに保存する。したがって、メモリ12は、外部記憶装置15のキャッシュ、あるいはバッファとしての役割を有する。

0020

以上の構成から、本情報処理システム内のIOサーバである情報処理装置は、他の情報処理装置に、他の情報処理装置の外部記憶装置15のデータをメモリ12に読み出すように指令した後、読み出し完了を待つ。そして、情報処理装置は、NIC13同士の通信によって、CPU11を介さないで、他の情報処理装置のメモリ12に読み出された外部記憶装置15のデータを取得できる。同様に、本情報処理システム内の情報処理装置は、自身の外部記憶装置15のデータをメモリ12に読み出し、NIC13同士の通信によって、CPU11を介さないで、他の情報処理装置のメモリ12に書き込むことが可能である。なお、他の情報処理装置では、適切なタイミングで、メモリ12のデータが外部記憶装置15に保存される。このように、CPU11を介さないで、NIC13によるメモリ12へのアクセスと、NIC13同士の通信等とによって、情報処理装置間で処理の実行を行う仕組みをリモートNICコマンド実行機構と呼ぶ。以下の実施例1から3においては、リモートNICコマンド実行機構は、NICコマンドによって実行される。

0021

図4は、情報処理システムに異常が発生した場合のデータ訂正処理を例示するフローチャートである。図4は、データ格納用IOサーバの処理例である。データ格納用IOサーバは、例えば、データの入出力処理を実行する(S1)。ここでは、データの入力処理とは、例えば、情報処理システムの外部のクライアント装置から情報処理システムへのデータの格納処理をいう。また、データの出力処理とは、例えば、外部のクライアント装置による情報処理システムからのデータの読み出し処理をいう。

0022

次に、S1の処理がデータの入力処理の場合に、データ格納用IOサーバは、データの相互保証のためのデータの冗長配置を実行する(S2)。例えば、データ格納用IOサーバのNIC13は、自身のメモリ12に格納されたデータの冗長データを他のIOサーバ、例えば、冗長用IOサーバのNIC13を介して、冗長用IOサーバのメモリに格納する。

0023

冗長データの第1の例は、データ格納用IOサーバに保存するオリジナルデータの複製である。例えば、実施例1では、情報処理システム内の各データ格納用IOサーバは、クライアントから提供されるデータをn−1分割した分割データを保存するとともに、分割
データの複製を冗長用IOサーバに送信する。以下、分割データの複製を冗長ブロックと呼ぶ。冗長用IOサーバに送信される分割データの複製(冗長ブロック)は冗長データの一例である。データ格納用IOサーバのNIC13は、他の情報処理装置の記憶部に記憶させる処理の一例として、S2の処理を実行する。

0024

一方、冗長用IOサーバは、S2の処理によって、データ格納用IOサーバから分割データの複製(冗長ブロック)を取得し、冗長用IOサーバのメモリに保持する。したがって、冗長用IOサーバのNIC13は、冗長データを前記他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の一例としてS2の処理を実行する。なお、冗長用IOサーバは、各データ格納用IOサーバから送信された分割データの複製(冗長ブロック)に、排他的論理和を実行し、さらなる冗長データを作成する。複数の分割データの排他論理によって作成されるデータも冗長データの一例である。

0025

ただし、図1のように、データ格納用IOサーバと、冗長用IOサーバとが異なるIOサーバである情報処理システム以外の情報処理システムにおいてもS2の処理は実行可能である。例えば、複数のIOサーバがそれぞれデータ格納用IOサーバと、冗長用IOサーバとの役割を有する情報処理システムは、実施例2で説明される。実施例2のような情報処理システムでは、S2の処理として、情報処理システム内のIOサーバのNIC13は、自身のメモリ12に格納された分割データの複製(冗長ブロック)を他のIOサーバのNIC13を介して、他のIOサーバのメモリ12に格納する。さらにまた、情報処理システム内のIOサーバのNIC13は、S2の処理によって、他のIOサーバのNIC13を介して他のIOサーバから分割データの複製(冗長ブロック)を取得し、自身のメモリ12に保持する。

0026

さらに、データ格納用IOサーバは、いずれかのデータ格納用IOサーバあるいは冗長用IOサーバに異常があるか否かを判定する(S3)。異常がない場合には、データ格納用IOサーバは、S5に処理を進める。一方、いずれかのデータ格納用IOサーバあるいは冗長用IOサーバに異常がある場合には、データ格納用IOサーバは、データ復元処理を実行する(S4)。データ格納用IOサーバのNIC13は、正常データを復元する処理の一例として、S4の処理を実行する。

0027

例えば、いずれかのデータ格納用IOサーバが異常の場合に、異常のあるデータ格納用IOサーバ以外のデータ格納用IOサーバのデータと冗長用IOサーバのデータとによって、異常のあるデータ格納用IOサーバの正常データが復元される。すでに、図2で説明したように、異常のあるデータ格納用IOサーバが処理続行可能な場合には、異常のあるデータ格納用IOサーバが正常データを復元してもよい。また、情報処理システムでいずれかのデータ格納用IOサーバが管理サーバとして設定されている場合には、管理サーバが正常データを復元すればよい。また、例えば、管理サーバとして設定されたデータ格納用IOサーバは、冗長用IOサーバが異常の場合に、自サーバのデータあるいは他のデータ格納用IOサーバから冗長用IOサーバのデータを作成する。さらに、情報処理システムは、1つのデータ格納用IOサーバを管理サーバに設定する代わりに、専用の管理サーバを備えるようにしてもよい。

0028

そして、データ格納用IOサーバは、データ入出力処理の終了か否かを判定する(S5)。S5の判定がデータ入出力処理の終了でない場合、データ格納用IOサーバは、処理をS1に戻す。一方、S5の判定がデータ入出力処理の終了である場合、データ格納用IOサーバは、処理を終了する。

0029

図5に、実施例1のn台のIOサーバを有する環境において、リモートNICコマンド実行機構を利用し、データをn−1個に分割して、n−1個のデータ格納用IOサーバに
分散させる場合の処理フローを例示する。図5の処理は、図4のS2の詳細例と考えることができる。

0030

この処理では、データ格納用IOサーバは、まず、データを受信するメモリ領域を確保する(S20)。次に、データ格納用IOサーバは、受け取ったデータを冗長用IOサーバへ送信するためのNICコマンドを作成する(S24)。そして、データ格納用IOサーバは、作成したNICコマンドがデータ受信を契機に実行されるように、NICコマンドをNIC13に登録する(S25)。そして、例えば、クライアントがデータをn−1分割し、分割したデータをそれぞれデータ格納用IOサーバに送信する(S26)。なお、図5の例では、クライアントがデータをn−1分割するが、このような処理に代えて、クライアントが分割前のデータをいずれかのデータ格納用IOサーバ、例えば、管理サーバに設定されたデータ格納用IOサーバに引き渡すようにしてもよい。ここでは、クライアントとの間でデータ授受を行うIOサーバを管理サーバと呼ぶことにする。そして、管理サーバに設定されたデータ格納用IOサーバが引き渡されたデータの複製をn−1分割し、作成された分割データをそれぞれデータ格納用IOサーバに送信するようにしてもよい。

0031

そして、各データ格納用IOサーバは、クライアントからのデータを受信する(S28)。すると、データ格納用IOサーバのNIC13は、データの受信を契機にリモートNICコマンド実行により、受信した分割データの複製(冗長ブロック)を冗長用IOサーバへ転送する(S29)。

0032

ただし、実施例1では、S2Aで説明するように、冗長用IOサーバへ転送された冗長ブロックは、排他的論理和のための入力データとして使用される。データ格納用IOサーバのNIC13は、他の情報処理装置の記憶部に記憶させる処理の一例として、S29の処理を実行する。受信したデータの複製が冗長データの一例である。また、S29の処理によって、冗長用IOサーバのNIC13は、データ格納用IOサーバから、分割データの複製(冗長ブロック)を受信し、メモリに保持する。したがって、冗長用IOサーバのNIC13は、冗長データを前記他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の一例として、S29の処理を実行する。

0033

冗長用IOサーバは、各データ格納用IOサーバから受け取った分割データの複製(冗長ブロック)に対して、排他的論理和を実行し、さらなる冗長データを作成する(S2A)。各データ格納用IOサーバから受け取った分割データの複製(冗長ブロック)から排他的論理和によって生成した、さらなる冗長データもまた、冗長データの一例である。ただし、実施例1では、いずれかのデータ格納用IOサーバに異常があった場合に、他のデータ格納用IOサーバに保持された分割データと、冗長用IOサーバに格納された冗長データ(排他的論理和による冗長データ)とによって、正常データが復元される。

0034

そして、冗長用IOサーバは、受信した冗長ブロックから排他的論理和によって生成した冗長データをメモリ12に格納する(S2B)。冗長用IOサーバのCPU11は、適切なタイミングでメモリ12の冗長データを外部記憶装置15に保存する。適切なタイミングとは、例えば、CPU11、メモリ12、CPU11とメモリ12との間のバス、インターフェース14、および外部記憶装置15の負荷が高くない時点、あるいは、これらのハードウェアが他の処理によって占有されていない時点等をいう。S29、S2A、およびS2Bは、冗長データを取得するステップの一例である。

0035

図6に、いずれかのデータ格納用IOサーバにおいてデータの異常が発生し、正常データを復元する場合の処理のフローチャートを例示する。図6では、例えば、データの異常が発生したデータ格納用IOサーバがデータの復元処理を実行する場合を想定する。まず
、1つのデータ格納用IOサーバがデータの異常を検出する(S40)。S40での異常が検出されたときが、複数の情報処理装置のいずれかにおいて異常が検出されたときの一例である。また、異常が検出されるデータは、例えば、上記1つのデータ格納用IOサーバに格納されていた、n−1分割された分割データの1つである。

0036

すると、データの異常が発生したデータ格納用IOサーバは、他のデータ格納用IOサーバおよび冗長用IOサーバに、収集したいデータの通知収集データ情報という)を送信する(S41)。実施例1ではデータの異常が発生したデータ格納用IOサーバがデータ収集サーバとなって正常データを復元する。ただし、例えば、データの異常が発生したデータ格納用IOサーバに代えて、管理サーバに設定されているデータ格納用IOサーバがデータ収集サーバとなって図6の処理を行ってもよい。以下、実施例1では、n−1分割された分割データのうち、異常が発生した1つの分割データが正常データに復元される。

0037

本実施例では、データ収集サーバはクライアントのデータをn−1分割した分割データの格納先を認識していることを前提とする。例えば、管理サーバがクライアントのオリジナルデータをn−1分割した場合には、管理サーバが分割データの格納先を認識し、保持すればよい。したがって、データ収集サーバは、管理サーバに、分割データの格納先を問い合わせればよい。また、例えば、クライアントがn−1分割した分割データをデータ格納用IOサーバに送信する場合には、クライアントが分割データと配布先との関係を情報処理システム内のそれぞれのデータ格納用IOサーバに通知しておけばよい。

0038

S41の処理では、データ収集サーバは、n−1分割した分割データの格納先のデータ格納用IOサーバにはn−1分割されたそれぞれの分割データの送信を、また、冗長用IOサーバには冗長データの送信を依頼する。そして、データ収集サーバは、データが送信されるまでデータの待ち合わせを行う(S42)。

0039

一方、他のデータ格納用IOサーバおよび冗長用IOサーバは、S41によって送信される収集データ情報を受信する(S43)。S43は、冗長データの転送要求受け付けるステップの一例である。そして、他のデータ格納用IOサーバおよび冗長用IOサーバは、通知された収集データ情報から、収集対象データの格納領域を特定する(S44)。ここで、他のデータ格納用IOサーバが収集する収集対象データは、自身が格納するn−1分割された分割データのいずれかである。また、冗長用IOサーバが収集する収集対象データは、n−1個の分割ブロック(冗長ブロック)から排他的論理和によって作成された冗長データである。

0040

さらに、他のデータ格納用IOサーバおよび冗長用IOサーバは、収集対象のデータが外部記憶装置15に保存され、メモリ12で維持されていない場合には、収集対象のデータを外部記憶装置15からメモリ12に読み出す(S44A)。IOサーバ(他のIOサーバ、冗長用IOサーバ)は、外部記憶装置のデータをメモリに読み出す処理の一例として、S44Aの処理を実行する。

0041

そして、他のIOサーバおよび冗長用IOサーバは、収集対象データの格納領域をデータ収集サーバに送信するNICコマンドを作成する(S45)。NICコマンドは、データ収集サーバのネットワーク上のアドレスと、S44で特定した格納領域の先頭アドレスおよびデータ長などを含む。ただし、データ長の代わりに格納領域の末尾のアドレスが指定されてもよい。そして、他のデータ格納用IOサーバおよび冗長用IOサーバは、データ受信を契機にNICコマンドを実行するように、NIC13に登録する(S46)。S46は、冗長データの転送処理を所定のタイミングで実行するコマンドを登録するステップの一例である。そして、他のIOサーバおよび冗長用IOサーバは、データ準備完了
データ収集サーバに通知する(S48)。

0042

データ収集サーバが収集データ情報を送信した他のデータ格納用IOサーバおよび冗長用IOサーバからデータ準備完了の通知を受信すると、データ収集サーバは、他のデータ格納用IOサーバおよび冗長用IOサーバに、データ送信依頼を送信する(S49)。他のデータ格納用IOサーバおよび冗長用IOサーバでは、データ送信依頼が受信されると、NIC13のコントローラ13Cが、登録されたNICコマンドを実行し、データ収集対象データをデータ収集サーバのNIC13に送信する(S4A)。データ収集サーバは、収集された他のデータ格納用IOサーバからの分割データ(ただし、異常が発生した分割データを除く)と、冗長データを受信し(S4B)、正常データを復元する(S4C)。データ収集サーバのNIC13は、正常データを復元するためのデータを取得することの一例としてS4Bの処理を実行する。また、データ収集サーバのNIC13は、正常データを復元することの一例として、S4Cの処理を実行する。他のデータ格納用IOサーバからの分割データが、冗長データと組み合わせて前記正常データを復元するためのデータの一例である。

0043

以上述べたように、実施例1では、データ格納用IOサーバと、冗長用IOサーバを含む情報処理システムにおいて、各データ格納用IOサーバにクライアントのデータを分割して格納するとともに、データ格納用IOサーバのNIC13および冗長用IOサーバのNIC13を介してCPUを介さず、分割データの複製が冗長用IOサーバに転送される。そして、冗長用IOサーバは、分割データの複製から排他的論理和により、さらなる冗長データを作成し、メモリから外部記憶装置に保存する。そして、いずれかのデータ格納用IOサーバにおいて、データの異常が発生した場合には、異常が発生したデータ格納用IOサーバまたは他のデータ格納用IOサーバ(管理サーバ等)がデータ収集サーバとして処理を実行する。すなわち、データ収集用IOサーバは、他のデータ格納用IOサーバおよび冗長用IOサーバのNIC13を介してCPUを介さず、データを収集し、異常が発生したデータを復元する。したがって、本情報処理システムでは、CPU11の負荷の増加を抑制した上で、NIC13のリモートNICコマンド実行機構により、分割データの複製(冗長ブロック)を冗長用IOサーバに転送できる。冗長用IOサーバは、転送された分割データの複製(冗長ブロック)から、冗長データを作成し、保存できる。また、本情報処理システムでは、いずれかのデータ格納用IOサーバで異常が発生した場合には、データ収集サーバがNIC13のリモートNICコマンド実行機構により、異常が発生した分割データ以外の分割データおよび冗長データを収集し、正常な分割データを復元できる。

0044

この場合に、データ格納用IOサーバ、冗長用IOサーバのデータは、通常、外部記憶装置に保存されている。したがって、例えば、データ収集サーバがNIC13のリモートNICコマンド実行機構により、データを収集する場合に、収集データ情報において、データ格納用IOサーバに、外部記憶装置15からメモリ12にデータを読み出すように指示しておけばよい。データ格納用IOサーバのCPU11は、外部記憶装置15からメモリ12に分割データを読み出した後に、S48のデータ準備完了を通知すればよい。

0045

また、データ収集IOサーバは、冗長用IOサーバに対して、収集データ情報において冗長用IOサーバが冗長データを外部記憶装置15からメモリ12にデータを読み出すように指示しておけばよい。冗長用IOサーバのCPU11は、外部記憶装置15からメモリ12に冗長データを読み出した後に、S48のデータ準備完了を通知すればよい。このような処理によって、NIC13によるCPU11を介さないIOサーバ間の通信と、CPU11による外部記憶装置15へのアクセスとを連携させることができる。その結果、IOサーバにおいて、従来よりもCPUの負荷、データ転送に伴うオーバーヘッドを抑制した上で、データ信頼性を向上できる。

0046

なお、図6では、データ格納用IOサーバでデータの異常が発生した場合を例に説明した。しかし、冗長用IOサーバでデータの異常が発生した場合の処理も、図6と同様である。すなわち、冗長用IOサーバでデータの異常が発生した場合には、冗長用IOサーバが情報収集サーバとなり、各データ格納用IOサーバからn−1分割した分割データを収集し、再度冗長用データを作成すればよい。

0047

また、実施例1では、図5のS26に例示したように、クライアントがデータをn−1分割した分割データを各データ格納用IOサーバに送信した。しかし、情報処理システムの構成および処理は、図5に限定される訳ではない。例えば、データ格納用IOサーバの1台(管理サーバ)がクライアントとの間で、データ授受を行うようにしてもよい。例えば、所定の優先順でデータ格納用IOサーバの1つが管理サーバとして処理を実行するように定めればよい。各データ格納用IOサーバおよび冗長用IOサーバは、どのデータ格納用IOサーバがどの順で管理サーバとして処理を実行するかという指定を情報処理システムのシステムパラメータとして保持すればよい。そして、例えば、クライアントがデータを管理サーバにデータを送信すると、管理IOサーバは、データをn−1分割してブロックを作成し、他のデータ格納用IOサーバに送信すればよい。また、管理サーバは、自身に格納する分割データを冗長用IOサーバに送信するともに、他のデータ格納用IOサーバに、それぞれに格納される分割データを冗長用IOサーバに送信するように指示すればよい。

0048

また、実施例1では、データ格納用IOサーバおよび冗長用IOサーバは、リモートNICコマンドを実行するリモートNIC機構によって、異常が発生したデータ格納用IOサーバ以外のサーバのデータを収集し、正常データを復元した。このような処理に代えて、例えば、複数のIOサーバのNIC13のコントローラ13Cが、MPI(Message Passing Interface)の規格にしたがって、reduction演算実装することによって、正常データの復元を行ってもよい。

0049

例えば、冗長用IOサーバのNIC13は、reduction演算として、複数のデータ格納
IOサーバのメモリ12に格納されたデータの排他的論理和を実行することで、CPU11の介在なしに冗長データを作成できる。また、例えば、データ格納用IOの1つであるデータ収集サーバは、他のデータ格納用IOサーバに格納された分割データと、冗長用IOサーバに格納された冗長データの排他的論理和を実行することで、CPU11の介在なしに正常データを復元できる。

0050

[実施例2]
図7から図11により、実施例2の情報処理システムを説明する。上記実施例1では、情報処理システムのノード1からn−1はデータ格納用IOサーバであり、ノードnは冗長用IOサーバであった。しかし、本情報処理システムは、実施例1の構成に限定される訳ではない。例えば、本情報処理システムは、冗長用IOサーバが特定のノードに固定される構成に限定される訳ではない。

0051

そこで、実施例2では、固定の冗長用IOサーバを設けない情報処理システムについて説明する。例えば、実施例2では、IOサーバ間の接続は実施例1の図1等と同様である。しかしながら、ノード1からnは、それぞれ対等であり、独自のオリジナルデータを格納するとともに、他のノードのオリジナルデータから複製され分割された分割データを保持する。実施例2でも、オリジナルデータから複製され分割された分割データを冗長ブロックと呼ぶ。

0052

また、ノード1からnは、それぞれ、オリジナルデータを複製し分割された分割データ
(冗長ブロック)から、さらに排他的論理和等によって生成されたデータを追加冗長ブロックとして保持してもよい。ただし、IOサーバは、追加冗長ブロックを保持せず、空きブロックとしてもよい。なお、以上のような実施例2のIOサーバ間の関係、データの保持の仕方以外の構成および作用は実施例1の場合と同様である。そこで、実施例2において、実施例1と同一の構成要素については実施例1と同一の符号を付してその説明を省略する。さらに、実施例2の情報処理システムは、実施例1に例示した処理を行ってもよいし、以下の実施例2に例示する処理を行ってもよい。

0053

図7に、実施例2におけるノードと冗長ブロックとの関係を例示する。以下実施例2では、固定の冗長用IOサーバは設けられない。このため、各ノードの装置は、単にIOサーバという。図7は、ノード数5の例であり、ノード1から5は、IOサーバ1から5として例示されている。実施例2では、IOサーバ1から5のオリジナルデータは、それぞれデータAからEとする。また、例えば、IOサーバ1は、オリジナルデータAを等分割し、IOサーバ2から5に格納する冗長ブロックa2からa5を作成する。冗長ブロックa2からa5は、IOサーバ1から、それぞれIOサーバ2から5に転送され、格納される。一方、IOサーバ1は、オリジナルデータを保持するとともに、追加冗長ブロックa1を保持する。追加冗長ブロックa1は、空きブロックの場合と、冗長ブロックa2からa5を排他的論理和することによって作成したデータの場合がある。IOサーバ2のオリジナルデータB等についても、同様の冗長ブロックが作成される。

0054

また、図7の表で、冗長ブロックの番号に着目した行列は、ブロックの番号を取り出した配列である。すなわち、図7の表は、IOサーバ1から5のそれぞれに番号1の冗長ブロックを配置するとともに、IOサーバの番号が増加する方向に、冗長ブロックの番号を増加させて、各IOサーバに配置する冗長ブロックを対応づけている。図7の冗長ブロックを配置する手順は以下の通りである。

0055

(1)データAiの複製をn-1個の等しい大きさのブロックに分割する。分割された
冗長データを持つブロックを冗長ブロックと呼ぶ。

0056

(2)同じ大きさの「追加冗長ブロック」を加える。この追加冗長ブロックには、以下の2種類のものが考えられる。
(2-1)空ブロックの場合:空ブロックとは、後述するような冗長ブロックの配置手段
が実現できるようにするためにブロック番号が割り振られたものである。なお、空きブロックには、実際のデータは存在しない。また、各IOサーバは、空きブロックの領域を確保しなくてもよい。このため、追加冗長ブロックを空きブロックとする場合には、例えば情報処理システムのユーザは、各IOサーバのコンピュータプログラムの改造を低減した上で、データ信頼性に伴う処理を軽減し、データ量の増加を抑制できる。
(2-2)空ブロックではない場合:追加冗長ブロックには、上記(1)で生成したn-1個の冗長ブロックの排他的論理和が格納される。冗長ブロックの排他的論理和を保存することで、例えば、オリジナルデータAと、いずれかの冗長ブロックの1つ(ak)に異常があった場合も、ak以外の冗長ブロックと、冗長ブロックの排他的論理和とによって冗長ブロックakを復元し、さらに、オリジナルデータを復元できる。

0057

以下、図7のような冗長ブロック配置の詳細例を説明する。n個のIOサーバのオリジナルデータから合計n×n個の冗長ブロックが生成される。ただし追加冗長ブロックを空ブロックとした場合、実質的にはn(n-1)個の冗長ブロックが生成される。IOサー
バのそれぞれは、ブロック番号iの割当先を任意に決定してもよい。ただし、各IOサーバ自身の追加冗長ブロックに対しては、冗長ブロックの排他的論理和により生成したブロックまたは空ブロックが割り振られる。

0058

図7で例示される冗長ブロック配置処理の具体例は、以下の通りである。すなわち、図7では、冗長ブロックの配置を、簡単のため、n=5として、データは添字でなく文字で区
別し、IOサーバ1,...5のデータをA, B, C, D, E と書き、生成される冗長ブロックを各々{a1, ..., a5}, {b1, ..., b5}, {c1, ..., c5}, {d1, ...,d5}, {e1, ..., e5}として例示する。

0059

以下のように、冗長ブロックの番号が「ラテン方格(Latin square)」になるように配置する。ここで、ラテン方格では、冗長ブロックの配置を図7の例では5行5列の行列(一般にはn行n列の行列)として、各行各列に同じブロック番号が複数回現れないようにブロックの番号が配置される。なお、全てのIOサーバで「排他的論理和で生成したブロックの番号」ないし「空ブロック」の番号を同じ番号(1)にした場合、「ラテン方格」として、図7に例示のような「巡回行列」が使用できる。このデータ配置により、n個のIOサーバの任意の1つが障害を起こした時に、残りのn-1個の持つIOサーバの冗長
ブロックから正常データを回復する事ができる。

0060

ここで、データの分散/収集処理加速機構について説明する。上述したラテン方格によ
る冗長データ配置を実現する際には、各IOサーバは「n−1個のデータブロックを他のn−1個のIOサーバに最低1つずつ分配する」通信を行う。この様なパターンの通信はscatterと呼ばれる。

0061

また、n個のIOサーバ中、1つのIOサーバの異常により消失したデータを復元するには、n−1個のデータブロックを、n−1個のIOサーバから収集する通信が実行される。このパターンの通信はgatherと呼ばれる。

0062

このようなscatter、gather等で例示される通信処理は、一般的にCPU処理(プログ
ラムI/O:PIO)を用いて実施される。PIO処理はCPUの処理負担が発生する。そこで実施例2でも、実施例1と同様、CPU処理の負担が少ないハードウェア機構である、リモートNICコマンド実行機構を利用する。リモートNICコマンド実行機構の一例は、実施例1の図3に例示されている。また、"リモートNICコマンド実行機構"は、例えば、mellanox社のInfiniBand装置に実装されている、CORE-Directと呼ばれる機構に
よって実現されている。リモートNICコマンド実行機構により、出来るだけCPUの処理負担を軽減し、他の処理、例えば、計算処理等、アプリ処理、その他IO処理以外の処理の邪魔をしない情報処理システムが提供される。

0063

リモートNICコマンド実行機構では、各IOサーバが指定したイベント、例えば、データの受信などの発生を契機に、予め設定しておいたNICコマンド、例えば、データ送信命令などを、CPU11を介さず、図3に例示のNIC13が実行する。NIC13は、他のIOサーバへのデータのscatter、gather等をリモートで実行する。具体的には、
NIC13は、あるIOサーバ(ノードA)から他のIOサーバ(ノードB)を遠隔で操作し、他のIOサーバへのデータのscatter、gather等をリモートで実行する。

0064

図8に、各IOサーバがリモートNICコマンド実行機構を利用し、冗長ブロックを他のIOサーバに分散させる場合の処理フローを例示する。図8の処理は、実施例1の図4のS2の詳細例の1つと考えることができる。

0065

この処理では、各IOサーバは、まず、データを受信するメモリ領域を確保する(S20)。ここで、確保したメモリ領域は、例えば、受信バッファと呼ぶことができる。次に、各IOサーバは、確保したメモリ領域をn−1個に分割する(S21)。さらに、各IOサーバは、分割したメモリ領域をn−1個のIOサーバと対応づける(S23)。IOサーバのCPU11は、複製した冗長データから自装置以外の情報処理装置の数に応じて
分割した分割冗長ブロックを作成することの一例として、S21、S22の処理を実行する。

0066

そして、各IOサーバは、他のIOサーバへ分割したメモリ領域のデータを送信するためのNICコマンドを作成する(S24)。さらに、各IOサーバは、作成したNICコマンドがデータ受信を契機に実行されるようにNIC13に登録する(S25)。なお、このとき、各IOサーバは、分割したメモリ領域と、転送先の他のIOサーバとの関係を保存しておく。各IOサーバは、保存した関係を参照することで、データ収集および復元時に、分割ブロックの収集先を特定することができる。

0067

そして、いずれかのIOサーバがデータを受信する(S28)。すると、リモートNICコマンド実行機構により、データを受信したIOサーバのNIC13は、分割した各メモリ領域のデータ(冗長ブロック)をそれぞれ対応するIOサーバに転送する(S29)。S29の処理によって、n−1個に分割されたメモリ領域のそれぞれから転送されるデータ(冗長ブロック)が、分割冗長ブロックの一例である。また、S29の処理で転送されるデータ(冗長ブロック)が冗長データの一例でもある。IOサーバのNIC13は、他の情報処理装置の記憶部に記憶させる処理の一例として、S29を実行する。なお、各IOサーバは、S28で受信したオリジナルデータを、例えば、メモリ12あるいは外部記憶装置15に保存する。したがって、S29の処理で転送されるのは、オリジナルデータの複製をn−1個に分割した冗長ブロックということができる。

0068

一方、S29の処理で、冗長ブロックを受信した各IOサーバは、受信した冗長ブロックをメモリ12から外部記憶装置に、適切なタイミングで保存する(S2C)。各IOサーバは、取得したデータを外部記憶装置に保存することの一例として、S2Cの処理を実行する。適切なタイミングとは、すでに述べたように、CPU11その他の資源が占有されていないとき等である。さらに、図8では省略したが、S28でデータを受信したIOサーバは、n−1個に分割された冗長ブロックから、排他的論理和によって、冗長データを作成し、追加冗長ブロックとして、自装置に保存してもよい。S29、S2Cは、冗長データを取得するステップの一例である。

0069

図9に、リモートNICコマンド実行機構を利用するために登録されるNICコマンドのイメージを例示する。ただし、図9では、4個のIOサーバ1からIOサーバ4が例示されている。本情報処理システムにおいて、IOサーバの個数に限定がある訳ではない。

0070

図9のように、例えば、IOサーバ1は、各IOサーバ(IOサーバ2〜IOサーバ4)のネットワーク上のアドレスと、各IOサーバに送信するメモリ領域の先頭アドレスおよびデータ長などを含む送信コマンドを予め作成する。そして、IOサーバ1は、作成した送信コマンドをデータ受信時に実行させるようNIC13に登録しておく。以下、送信するメモリ領域の先頭アドレスは、送信領域先頭アドレスと呼ばれる。

0071

すでに、図3で説明したように、IOサーバのNIC13は、コントローラ13Cとメモリ13Dとを有する。図9に例示したNIC13へのコマンドは、NIC13内のメモリ13Dに定義されたレジスタに登録される。また、このレジスタ内に登録されたコマンドは、所定のイベント発生を契機として起動するように、NIC13内で制御される。このような制御は、例えば、従来のコンピュータシステムにおける割り込み処理回路と同様の構成で実行される。以上述べたように、リモートNICコマンド実行機構により、IOサーバ1でのデータ受信を契機として、CPU11を介することなく、IOサーバ2から4にデータを送信することができる。

0072

図9の例では、IOサーバ2への送信コマンド、IOサーバ3への送信コマンド、およ
びIOサーバ4への送信コマンドがNIC13のレジスタに登録される。NIC13のコントローラ13Cは、レジスタに関連付けて設定された起動条件、例えば、データ受信が実行されると、レジスタ内のコマンドをシーケンシャルに起動する。そして、コントローラ13Cは、バスアダプタ13BによってCPU11とメモリ12へのアクセスを調整しつつ、CPU11とは独立にメモリ12にアクセスし、送信領域先頭アドレスから送信データ長のデータを取得し、指定のIOサーバ2、3、4へ転送する。

0073

図10に、いずれかのIOサーバにおいてデータの異常が発生し、正常データを復元する場合の処理のフローチャートを例示する。まず、1つのIOサーバがデータの異常を検出する(S140)。S140での異常が検出されたときが、複数の情報処理装置のいずれかにおいて異常が検出されたときの一例である。

0074

すると、データの異常が発生したIOサーバは、他のIOサーバに、収集したいデータの通知(収集データ情報)を送信する(S141)。ただし、例えば、データの異常が発生したIOサーバに代えて、管理サーバに設定されているIOサーバがデータ収集サーバとなって図10の処理を行ってもよい。そして、データ収集サーバは、データが送信されるまでデータの待ち合わせを行う(S142)。

0075

一方、他のIOサーバは、S141によって送信される収集データ情報を受信する(S143)。S143は、冗長データの転送要求を受け付けるステップの一例である。そして、他のIOサーバは、通知された収集データ情報から、収集対象データ、すなわち、自身が保持する冗長ブロックの格納領域を特定する(S144)。

0076

さらに、他のIOサーバは、収集対象のデータが外部記憶装置15に保存され、メモリ12で維持されていない場合には、収集対象のデータを外部記憶装置15からメモリ12に読み出す(S144A)。IOサーバは、外部記憶装置のデータをメモリに読み出す処理の一例として、S144Aの処理を実行する。

0077

そして、他のIOサーバは、収集対象データの格納領域をデータ収集サーバに送信するNICコマンドを作成する(S145)。NICコマンドには、例えば、データ収集サーバのネットワーク上のアドレスと、収集対象データである冗長ブロックのメモリ上の格納領域(送信領域先頭アドレスおよび送信データ長等)が指定される。そして、他のIOサーバは、データ受信を契機にNICコマンドを実行するように、NIC13に登録する(S146)。S146は、冗長データの転送処理を所定のタイミングで実行するコマンドを登録するステップの一例である。そして、他のIOサーバは、データ準備完了をデータ収集サーバに通知する(S148)。S148以降の処理は、図6のS48以降の処理と同様であるので、その説明を省略する。

0078

ただし、実施例2における正常データの復元処理(S14C)は、実施例1のように、排他的論理によるのではなく、データ収集サーバは、単に、収集された冗長ブロックの結合処理を実行すればよい。例えば、IOサーバ1で異常が発生した場合を例に説明する。IOサーバ1には、例えば、図7のように、オリジナルデータAが格納され、Aの複製を分割した冗長ブロックa2からanがNIC13を介してIOサーバ2からnに転送され、格納されている。したがって、サーバ1の異常によってオリジナルデータAが異常となった場合、データ収集サーバは、サーバ1以外のIOサーバ2からnの冗長ブロックを収集し、冗長ブロックを結合することで、正常なオリジナルデータAを復元すればよい。例えば、IOサーバ1がデータ収集サーバとなる場合には、データ収集サーバは、IOサーバ2からnの冗長ブロックを収集すればよい。また、IOサーバ2からnのいずれかがデータ収集サーバとなる場合には、データ収集サーバは、自身以外のIOサーバ2からnから、冗長ブロックを収集し、自身の冗長ブロックを結合して、正常なオリジナルデータA
を復元すればよい。他のIOサーバに異常があった場合も同様である。

0079

さらに、実施例2においても実施例1と同様、データ収集IOサーバは、他のIOサーバに対して、収集データ情報において他のIOサーバが冗長ブロックを外部記憶装置15からメモリ12にデータを読み出すように指令を送信しておけばよい。他のIOサーバのCPU11は、外部記憶装置15からメモリ12に冗長ブロックを読み出した後に、S148のデータ準備完了を通知すればよい。このような処理によって、NIC13によるCPU11を介さないIOサーバ間の通信と、CPU11による外部記憶装置15へのアクセスとを連携させることができる。その結果、IOサーバにおいて、従来よりもCPUの負荷、データ転送に伴うオーバーヘッドを抑制した上で、データ信頼性を向上できる。

0080

図11に、IOサーバ2に異常が発生した場合のデータ収集のためのNICコマンド登録処理を例示する。図11の例では、データ収集サーバの役割を有するIOサーバ1の通知を受けて、他のIOサーバ3、4がデータ受信契機で実行されるようにNICコマンドをNIC13−3、NIC13−4に登録する。例えば、IOサーバ3は、IOサーバ1への送信コマンドとして、IOサーバ1のアドレス、送信領域先頭アドレスおよび送信データ長を含むNICコマンドをNIC13のメモリ13Dに設けられたレジスタに登録する。レジスタに登録されたNICコマンドは、データ受信を契機に実行されるように、割り込み処理が設定される。IOサーバ4においても同様である。

0081

上記実施形態の情報処理システムでは、各IOサーバは、リモートNICコマンド実行機構により、オリジナルデータから複製され、分割された冗長ブロックをCPUの介在なしに、他のIOサーバに配布する。すなわち、実施例2においても、CPU11の負荷の増加を抑制して冗長ブロックを他のIOサーバに配布できる。また、上記実施形態の情報処理システムでは、各IOサーバは、いずれかのIOサーバに異常が発生した場合、例えば、異常が発生していないIOサーバの1つが情報収集サーバとなり、他のIOサーバから冗長ブロックを収集し、オリジナルデータを復元する。

0082

この場合、各IOサーバは、情報収集サーバからの冗長データの転送要求を受け付けて、情報収集サーバのネットワーク上の宛先と冗長データのメモリ上の格納先とを指定して、NIC13に転送処理を所定のタイミングで実行させるためのコマンドを登録する。したがって、データ収集においても、リモートNICコマンド実行機構により、各IOサーバは、CPU11の介在なしに、NICコマンドで指定されるメモリ12のアドレスからデータを取得し、データ収集サーバに転送する。このように、実施例2の構成においても、情報処理システムは、CPU11の負荷の増加、オーバーヘッド等を抑制して、オリジナルデータを冗長化し、異常発生時に復元できる。

0083

また、実施例2では、ノード1からnの各IOサーバは、それぞれ対等であり、独自のオリジナルデータを格納するとともに、他のノードのオリジナルデータから複製され分割されたデータ(冗長ブロック)を保持する。したがって、実施例2の情報処理システムでは、情報処理装置間の対称性、負荷の均一性が確保しやすい。また、ノード1からnの各IOサーバは、それぞれ、オリジナルデータから複製され分割された冗長ブロックから、さらに排他的論理和等によって生成された冗長用データ(追加冗長ブロック)を保持してもよい。したがって、実施例2の情報処理システムは、さらに信頼性を向上できる。ただし、実施例2では、ノード1からnの各IOサーバは、追加冗長ブロックを保持せず、追加冗長ブロックをダミーの空きブロックとしてもよい。そのため、実施例2では、情報処理システムは、要求される信頼性に応じて、冗長性の程度を柔軟に変更できる。

0084

なお、NICコマンドのデータ収集例としては、データ復元のためのデータ以外に、情報処理システム内の種々のネットワーク情報が挙げられる。例えば、情報処理システムは
、NICコマンドにより、情報処理システムの健全性を示すヘルスステータス情報、あるいは情報処理システムの状態を示す統計情報を収集すればよい。ヘルスステータス情報、および統計情報の具体例は、次の実施例3の図14図15に例示する。

0085

[実施例3]
図12から図18を参照して、実施例3の情報処理システムを説明する。実施例3の情報処理システムは、図1で例示されるサーバ1からIOサーバnに対して監視リングという構造を導入する。例えば、実施例2に例示した「ラテン方格」により、各々の、オリジナルデータの複製から生成したn個の冗長ブロックを相互に持ち合う集合{n個のIOサーバを有する集合}を想定する。この集合に属するIOサーバ間では次のような循環的/円環的な関係で、各々が1つ、他のIOサーバの異常の有無および負荷(CPU負荷、IO負荷等)を監視する。
IOサーバ1→IOサーバS2→IOサーバ3→ ... →IOサーバn→IOサーバ1→ ...
この{n個のIOサーバを有する集合}を実施例3では、「監視リング」と呼ぶ。監視リングが、環状伝達経路の一例である。実施例3では、監視リングにしたがって、情報処理システム内のIOサーバが相互に監視され、異常が検出されたIOサーバに対しては、復元処理が実行される。このような監視リング以外の実施例3の構成および作用は、実施例1、2と同様である。そこで、実施例3の構成要素のうち、実施例1、2と同一の構成要素については、同一の符号を付して、その説明を省略する。

0086

図12に監視リングの構成を例示する。図12では、n=N+1個のIOサーバがネットワークN1を介して接続されている。図12では、サーバ(SERVER)と記載されているブロックが1つのIOサーバである。IOサーバ1は、IOサーバ2を監視し、IOサーバ2は、IOサーバ3を監視し、IOサーバNはIOサーバN+1を監視し、IOサーバN+1はIOサーバ1を監視する。また、IOサーバN+1は、監視統合サーバの役割を有し、監視処理を統括する。監視統合サーバの役割の1つは、監視リングによる監視処理が監視リングを1周したことを検知することにある。監視統合サーバは、別途専用のサーバを用意してもよいし、監視リング内の任意のIOサーバを割り当ててもよい。監視統合サーバは、例えば、設定ファイルのシステムパラメータ等により指定すればよい。設定ファイルのシステムパラメータ等には、所定の優先順位を定めて複数のIOサーバが割り当てられるようにすればよい。

0087

このような監視サーバを用いることにより、IOサーバを監視するために実施する通信を抑制することができる。また、監視処理によるネットワークおよび各IOサーバへの負荷を実施例2よりも均一化できる。

0088

図13に、本情報処理システムの各IOサーバが監視リングにおいて実行する処理フローを例示する。図13の処理は、図4のS3の判定処理の詳細例と考えることができる。この処理では、監視統合サーバが状態監視メッセージ監視用情報を設定し、最初のIOサーバ1へ送信する(S31)。監視統合サーバのNIC13は、環状伝達経路における宛先に送信することの一例としてS31の処理を実行する。

0089

状態監視メッセージを受信した各IOサーバ、例えば、最初のIOサーバ1は、自身が監視統合サーバか否かを判定する(S32)。S32の判定で、自身が監視統合サーバであると判定した場合、状態監視メッセージが監視リングを一周したことを意味する。そこで、監視統合サーバは、受信した状態監視メッセージをメモリ2に格納し、規定時間待つ(S33)。S33の処理によって、監視統合サーバのNIC13は、監視リングの終端として、収集した状態監視メッセージの監視用情報をメモリ12に蓄積する。また、監視統合サーバのCPU11は、適切なタイミングでメモリ12に蓄積した監視用情報を外部
記憶装置15に保存すればよい。

0090

その後、監視統合サーバは、制御をS31に進める。制御をS31に進めると、新たに監視リングによる処理が開始し、監視統合サーバは監視リングの始点となる。監視統合サーバのNIC13は、環状伝達経路の始端および終端となり、前記情報処理システムの状態を監視することの一例として、S33の処理を実行する。

0091

また、S32の判定で、自身が監視統合サーバでないと判定した場合、IOサーバは、自サーバの情報を状態監視メッセージ中の規定の領域に設定し、次のIOサーバへ監視用情報を送信する(S34)。そして、次のIOサーバにおいて、S32の処理が継続して実行される。IOサーバのNIC13は、環状伝達経路おける送信元から受信した状態監視データに自装置の状態を追加して、環状伝達経路における宛先に送信することの一例として、図34の処理を実行する。状態監視メッセージが状態監視データの一例である。

0092

図14図15は、状態監視メッセージに含まれる監視用情報の構造例およびデータ例を示す。図14は、監視用情報のうち、ヘルスステータス情報と呼ばれるものを例示する。ヘルスステータス情報が格納される記憶領域は、ヘルスステータス領域とも呼ばれる。ヘルスステータス情報は、IOサーバ1の格納領域、IOサーバ2の格納領域、・・・、IOサーバnの格納領域のように区分される。各ヘルスステータス領域、つまり、IOサーバごとの格納領域は、例えば、リンクステータス誤り訂正可能エラー発生回数等を有する。リンクステータスとは、各IOサーバと他のIOサーバとを接続するリンクの状態をいい、例えば、接続中、遮断中等の情報が設定される。

0093

図15は、状態監視メッセージに含まれる監視用情報のうち、統計情報と呼ばれるものを例示する。監視統合サーバには、監視リング内の各IOサーバの情報が蓄積される。そこで、監視統合サーバは、蓄積した各IOサーバの情報を集計することにより、統計情報を取得し、各IOサーバの負荷状況を確認し、負荷分散に利用することも可能である。

0094

統計情報が格納される記憶領域は、統計情報領域とも呼ばれる。統計情報は、IOサーバ1の格納領域、IOサーバ2の格納領域、・・・、IOサーバnの格納領域のように区分される。各統計情報の領域、つまり、IOサーバごとの格納領域は、例えば、統計情報取得直前読み出し書き込み回数、同直前の読み出し書き込みデータ量、同直前のCPUビジー率移動平均の読み出し書き込み回数、移動平均の読み出し書き込み量、および移動平均のCPUビジー率等を含む。

0095

ここで、統計情報取得直前の読み出し書き込み回数は、図15の統計情報が作成される前の単位時間あたりの各IOサーバでのメモリ12との間の読み出し描き込み回数である。同様に、直前の読み出し書き込みデータ量は、直前の単位時間のメモリ12との間の読み出し描き込みデータ量である。また、直前の単位時間のCPUビジー率は、直前の単位時間の平均のCPU使用率である。さらに、移動平均とは、上記直前の読み出し書き込み回数、同読み出し書き込みデータ量、同CPUビジー率を所定期間で平均した値である。

0096

図16に、監視リングの共通データを例示する。監視統合サーバは、図16のような監視リング全体の情報を保持する。例えば、所定期間における、ループ回数は、状態監視メッセージが監視リングをループした回数である。所要時間は、ループ1周当たりの処理時間である。異常発生回数は、所定期間における異常が検出された回数である。移動平均ネットワーク効率は、例えば、所定期間における平均のネットワークのデータ伝送速度である。

0097

図17に、復元のタイミング決定処理フローを例示する。復元のタイミングは、各IO
サーバが監視リング内で監視対象を監視することにより決定される。各IOサーバは、監視対象のIOサーバの異常を検出すると復元処理を実施する。

0098

本実施例3では、復元処理の前提条件として、以下を想定する。(1)データアクセスの有無に関係なく、監視リング機構は動作している。よって、例えば、クライアント等の外部から情報処理システムにデータアクセスがない場合でも、監視リング機構の動作中にIOサーバの異常が検出される場合がある。(2)監視リングでの監視は、各IOサーバによって一定周期で実施される。

0099

各IOサーバでNIC13のコントローラ13Cは、状態監視メッセージを受信する(S341)。そして、コントローラ13Cは、受信した状態監視メッセージに自身の情報を追加する。追加する情報は、ヘルスステータス情報、あるいは、統計情報等である。そして、コントローラ13Cは、次のIOサーバのNIC13に、状態監視メッセージを送信する(S343)。そして、コントローラ13Cは、正常に状態監視メッセージが次のIOサーバのNIC13で受信された否かを確認する(S345)。正常に受信されたかどうかは、例えば、次のIOサーバのNIC13からの確認メッセージ等で確認できる。そして、S345で、正常に受信されたことが確認された場合には、当該IOサーバのNIC13は、次のメッセージを受信するため、処理をS341に戻す。一方、S345で、正常に受信されたことが確認されたことが確認できない場合には、当該IOサーバのNIC13は、復元処理を開始する(S346)。復元処理は、実施例1の図6、実施例2の図10で説明した手順と同様である。そこで、実施例2においても、同様の復元処理(図6のS40〜S4C、図10のS140〜S14c)を実行するものとしてその詳細を省略する。

0100

図18に、復元処理ためのNIC13へのコマンド設定の詳細を例示する。本実施例3では、リモートNICコマンド実行機構を利用し、復元タイミングや復元のための情報を共有するための通信をCPUの介入なしに実行させる。図18のように、各IOサーバが、受信データ領域をそのまま送信領域として次のIOサーバへの送信用のNICコマンドを予め作成し、NICに登録しておく。

0101

図18の例では、例えば、IOサーバ2は、データを受信したときにNICコマンドが実行されるように、NIC13−2のレジスタに、IOサーバ3への送信のNICコマンドを登録する。送信のNICコマンドは、IOサーバ3のアドレス、送信領域先頭アドレス、および送信データ長を含む。ここでは、送信領域先頭アドレスは、実施例1と同様、データ収集サーバが収集データ情報において指定する、収集対象のデータの先頭アドレスである。また、送信データ長は、収集対象のデータのデータ長である。ただし、すでに、図6図10に説明したように、収集対象のデータが外部記憶装置15に保存されている場合には、データ収集先のIOサーバは、データ準備完了をデータ収集サーバに通知する前に、データを外部記憶装置15から、メモリ12の送信領域先頭アドレスに読み出しておけばよい。

0102

このような構成によって、受信バッファにデータが受信されたタイミングで、NIC13のレジスタに設定されたコマンドが起動され、IOサーバ3へのデータを送信する送信コマンドが実行される。IOサーバ3、4等にも同様の設定がされる。このような設定により、例えば、図6図10の場合と同様、各IOサーバに送信依頼が受信されたときに、レジスタに登録されたNICコマンドが実行され、送信領域先頭アドレスから送信データ長のデータが送信される。したがって、監視対象のIOサーバの異常を検出したIOサーバは、情報収集サーバとなり、監視対象のIOサーバ以外のIOサーバから、例えば同報通信データを受信し、異常のあった監視対象のIOサーバの正常データを復元できる。また、例えば、監視対象のIOサーバの異常を検出したIOサーバは、所定の管理サーバ
、あるいは監視リングサーバに異常を通知し、通知を受けたIOサーバが情報収集サーバとなり、正常データを復元すればよい。

0103

以上述べたように、実施例3では、情報処理システムのIOサーバは、監視リングにしたがって、それぞれの監視対象のIOサーバを監視し、負荷を分散して、異常を監視できる。また、実施例3では、情報処理システムのIOサーバは、監視リングによって、状態監視メッセージを授受することで、情報処理システム内のヘルスステータス情報(図14)、統計情報(図15)を収集できる。また、情報処理システムの各IOサーバが監視リングにしたがって情報を授受する場合に、1つのIOサーバを監視統合サーバとして動作させることで、状態監視メッセージを循環させる場合の始端と終点とを設定でき、状態監視メッセージが1周するたびに情報を取得できる。

0104

なお、Ethernet(登録商標)やInfiniBandのような、同報通信に対し信頼性のないネットワークに対し、各IOサーバがパケットロスデータ化けからの回復をソフトウェアによるプロトコルで行う事で、信頼性のある通信を実現する。これは、前方誤り訂正(Forward Error Correction)等の手法を用いることで可能である。前方誤り訂正等により、信頼性のないネットワークで形成されたIOサーバ環境であっても、データ復元タイミングや復元に使用する情報を共有するための同報通信の高速化が実現される。

0105

さらに、複数のIOサーバで、処理のタイミングを共有するための手段として、MPIのBarrier 機能を利用してもよい。例えば、mellanoxのInfiniBand装置にはこのBarrier
をNICの機能として実装されているため、CPUによる処理を介さず複数のIOサーバ間での待ち合わせを行うことが可能である。

0106

さらに、実施例1では、監視リング内で、n−1個の分割データと、分割データの排他的論理和の冗長ブロックを含むn個のブロックから1つのブロックが失われた場合の処理を例示した。このような場合には、失われたブロックは、残りn−1個データの排他的論理和により回復する事ができる。この回復処理は、排他的論理和を演算としてサポートするハードウェアにより、IOサーバのCPU11を使用せずに実行できる。例えば、複数のIOサーバのNIC13のコントローラ13C間で、MPI(Message Passing Interface)の規格にしたがって、reduction演算を実装することによって、図6に示したデータ収集と、排他的論理和をCPU11の介在なしに実行できる。また、例えば、mellanox
のInfiniBand装置には、reduction演算が備わっているため、データの回復処理に利用す
ることができる。

0107

ところで、IOサーバ等の情報処理装置の管理コストの観点からは、情報処理装置1台あたりのクライアント数は出来るだけ多くする事が望ましい。このため、情報処理装置の計算機としての処理能力、特にCPU(Central Processing Unit)あるいはメモリへの
負荷は、高い水準に設定される事になる。このため、IOサーバ1台あたりのクライアント数が多くなり、1台のIOサーバの障害の影響も大きくなりやすい。その一方、システム規模の増大に伴い、システム内にある複数のIOサーバの間の負荷は不均衡度合いも拡大している。このため、最大負荷に耐える用に設計されたIOシステムの能力の平均的な利用率は一定限度以上に高くならない。このような利用率の抑制はシステムの価格性能比の向上にとって障害になっている。しかしながら、以上のような実施例1から3に例示の構成によって、IOサーバの負荷の抑制を低減して、信頼性を高めることが可能となる。

0108

<その他>
本実施の形態は、以下の態様を含む。各態様は、付記として記載する。各態様の構成は、他の態)様と組み合わせることができる。
(付記1)
複数の情報処理装置を含む情報処理システムであって、
前記複数の情報処理装置のそれぞれは、
演算処理を行う演算処理装置と、
データを記憶する記憶部と、
前記演算処理装置の介在なしに前記記憶部にアクセスするとともに、他の情報処理装置の通信部を介して前記他の情報処理装置にアクセスする通信部と、を備え、
前記複数の情報処理装置のそれぞれの通信部は、自装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部に記憶させる処理、および、他の情報処理装置の記憶部が記憶するデータを冗長化した冗長データを前記他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の少なくとも1つを実行する情報処理システム。
(付記2)
前記複数の情報処理装置のいずれかにおいて異常が検出されたときに、前記複数の情報処理装置のうちの正常データの復元を行う情報処理装置の通信部は、他の少なくとも1つの情報処理装置の通信部を介して、前記他の少なくとも1つの情報処理装置の記憶部に記憶された、前記正常データに対応する冗長データまたは前記冗長データと組み合わせて前記正常データを復元するためのデータを取得し、前記正常データを復元する付記1に記載の情報処理システム。
(付記3)
前記複数の情報処理装置のそれぞれの通信部は、自装置の記憶部に記憶されるデータを複製した冗長データから自装置以外の情報処理装置の数に応じて分割した分割冗長ブロックを作成し、前記他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部に記憶させる付記1または2に記載の情報処理システム。
(付記4)
前記複数の情報処理装置のいずれかにおいて異常が検出されたときに、前記複数の情報処理装置のうちの正常データの復元を行う情報処理装置の通信部は、他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部された分割冗長ブロックを取得して正常データを復元する付記3に記載の情報処理システム。
(付記5)
前記複数の情報処理装置は、環状の所定順に状態監視データを転送する環状伝達経路を形成し、
前記複数の情報処理装置のそれぞれの通信部は、前記環状伝達経路おける送信元から受信した状態監視データに自装置の状態を追加して、環状伝達経路における宛先に送信し、
前記複数の情報処理装置の1つの通信部は、前記環状伝達経路の始端および終端となり、前記情報処理システムの状態を監視する付記1から4のいずれか1項に記載の情報処理システム。
(付記6)
前記複数の情報処理装置のそれぞれは、さらに外部記憶装置を備え、
前記複数の情報処理装置のそれぞれの演算処理装置は、前記通信部を介した他の情報処理装置の記憶部から自装置の記憶部へのデータの取得後に前記取得したデータを外部記憶装置に保存し、前記通信部を介した他の情報処理装置へのデータ転送前に、前記他の情報処理装置の要求にしたがい外部記憶装置のデータを自装置の記憶部に読み出す付記1から5のいずれか1項に記載の情報処理システム。
(付記7)
情報処理システム内で相互に接続される複数の情報処理装置中の1つの情報処理装置であって、
演算を行う演算処理装置と、
データを記憶する記憶部と、
前記演算処理装置の介在なしに前記記憶部にアクセスするとともに、他の情報処理
置の通信部を介して前記他の情報処理装置にアクセスする通信部と、を備え、
前記通信部は、自装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部に記憶させる処理、および、他の情報処理装置の記憶部が記憶するデータを冗長化した冗長データを前記他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の少なくとも1つを実行する情報処理装置。
(付記8)
前記複数の情報処理装置のいずれかにおいて異常が検出されたときに、前記複数の情報処理装置のうちの1つの情報処理装置が正常データの復元を行う場合に、前記1つの情報処理装置の通信部は、他の少なくとも1つの情報処理装置の通信部を介して、前記他の少なくとも1つの情報処理装置の記憶部に記憶された、前記正常データに対応する冗長データまたは前記冗長データと組み合わせて前記正常データを復元するためのデータを取得し、前記正常データを復元する付記7に記載の情報処理装置。
(付記9)
前記複数の情報処理装置のそれぞれの通信部は、自装置の記憶部に記憶されるデータを複製した冗長データから自装置以外の情報処理装置の数に応じて分割した分割冗長ブロックを作成し、前記他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部に記憶させる付記7または8に記載の情報処理装置。
(付記10)
前記複数の情報処理装置のいずれかにおいて異常が検出されたときに、前記1つの情報処理装置が正常データの復元を行う場合に、前記1つの情報処理装置の通信部は、他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部された分割冗長ブロックを取得して正常データを復元する付記9に記載の情報処理装置。
(付記11)
前記情報処理システム内で、複数の情報処理装置が環状の所定順に状態監視データを転送する環状伝達経路を形成する場合に、
前記1つの情報処理装置の通信部は、前記環状経路おける送信元から受信した状態監視データに自装置の状態を追加して、環状伝達経路における宛先に送信する処理、および
前記環状伝達経路の始端および終端となり、前記情報処理システムの状態を監視する処理の少なくとも1つを実行する付記7から10のいずれか1項に記載の情報処理装置。
(付記12)
前記1つの情報処理装置は、さらに外部記憶装置を備え、
前記1つの情報処理装置がプロセッサは、前記通信部を介した他の情報処理装置の記憶部から自装置の記憶部へのデータの取得後に取得したデータを外部記憶装置に保存し、前記通信部を介した他の情報処理装置へのデータ転送前に、前記他の情報処理装置の要求にしたがい外部記憶装置のデータを自装置の記憶部に読み出す付記7から11のいずれか1項に記載の情報処理装置。
(付記13)
複数の情報処理装置を含む情報処理システムの制御方法であって、
前記複数の情報処理装置のそれぞれの通信部は、演算処理装置の介在なしに自装置の記憶部にアクセスするとともに、他の情報処理装置の通信部を介して前記他の情報処理装置にアクセスすることを実行し、前記アクセスによって、
自装置の記憶部が記憶するデータを冗長化した冗長データを他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部に記憶させる処理、および、他の情報処理装置の記憶部が記憶するデータを冗長化した冗長データを前記他の情報処理装置の通信部を介して取得し、自装置の記憶部に記憶する処理の少なくとも1つを実行する情報処理システムの制御方法。
(付記14)
前記複数の情報処理装置のいずれかにおいて異常が検出されたときに、前記複数の情報処理装置のうちの正常データの復元を行う情報処理装置の通信部は、他の少なくとも1つ
の情報処理装置の通信部を介して、前記他の少なくとも1つの情報処理装置の記憶部に記憶された、前記正常データに対応する冗長データまたは前記冗長データと組み合わせて前記正常データを復元するためのデータを取得し、前記正常データを復元する付記13に記載の情報処理システムの制御方法。
(付記15)
前記複数の情報処理装置のそれぞれの通信部は、自装置の記憶部に記憶されるデータを複製した冗長データから自装置以外の情報処理装置の数に応じて分割した分割冗長ブロックを作成し、前記他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部に記憶させる付記13または14に記載の情報処理システムの制御方法。
(付記16)
前記複数の情報処理装置のいずれかにおいて異常が検出されたときに、前記複数の情報処理装置のうちの正常データの復元を行う情報処理装置の通信部は、他の情報処理装置の通信部を介して前記他の情報処理装置の記憶部された分割冗長ブロックを取得して前記正常データを復元する付記15に記載の情報処理システムの制御方法。
(付記17)
前記複数の情報処理装置は、環状の所定順に状態監視データを転送する環状伝達経路を形成し、
前記複数の情報処理装置のそれぞれの通信部は、前記環状経路おける送信元から受信した状態監視データに自装置の状態を追加して、環状伝達経路における宛先に送信し、
前記複数の情報処理装置の1つの通信部は、前記環状伝達経路の始端および終端となり、前記情報処理システムの状態を監視する付記13から16のいずれか1項に記載の情報処理システムの制御方法。
(付記18)
前記複数の情報処理装置のそれぞれは、さらに外部記憶装置を備え、
前記複数の情報処理装置のそれぞれのプロセッサは、前記通信部を介した他の情報処理装置の記憶部から自装置の記憶部へのデータの取得後に取得したデータを外部記憶装置に保存し、前記通信部を介した他の情報処理装置へのデータ転送前に、前記他の情報処理装置の要求にしたがい外部記憶装置のデータを自装置の記憶部に読み出す付記13から17のいずれか1項に記載の情報処理システムの制御方法。
(付記19)
プロセッサと、記憶部と、前記プロセッサの介在なしに前記記憶部にアクセスするとともに、ネットワークを通じて接続される、1以上の他の情報処理装置の通信部を介して前記他の情報処理装置にアクセスする通信部と、を備え、
前記プロセッサが前記記憶部の命令列にしたがって、
前記通信部を介して取得した前記1以上の他の情報処理装置の少なくとも1つが記憶するデータの冗長データを取得するステップと、
前記1以上の他の情報処理装置うち、前記冗長データを収集する情報処理装置から前記冗長データの転送要求を受け付けるステップと、
前記冗長データを収集する情報処理装置の前記ネットワーク上の宛先と前記冗長データの前記記憶部上の格納先とを指定して前記通信部に前記冗長データの転送処理を所定のタイミングで実行させるためのコマンドを登録するステップと、を実行する情報処理装置。
(付記20)
プロセッサと、記憶部と、前記プロセッサの介在なしに前記記憶部にアクセスするとともに、ネットワークを通じて接続される他の情報処理装置の通信部を介して前記他の情報処理装置にアクセスする通信部と、を備える情報処理装置が、
前記通信部を介して取得した前記1以上の他の情報処理装置の少なくとも1つが記憶するデータの冗長データを取得するステップと、
前記1以上の他の情報処理装置うち、前記冗長データを収集する情報処理装置から前記冗長データの転送要求を受け付けるステップと、
前記冗長データを収集する情報処理装置の前記ネットワーク上の宛先と前記冗長データの前記記憶部上の格納先とを指定して前記通信部に前記冗長データの転送処理を所定のタイミングで実行させるためのコマンドを登録するステップと、を実行する情報処理方法
(付記21)
演算を行う演算処理装置と、データを記憶する記憶部と、前記演算処理装置の介在なしに前記記憶部にアクセスするとともに、ネットワークを通じて接続される他の情報処理装置の通信部を介して前記他の情報処理装置にアクセスする通信部と、を備える情報処理装置の制御プログラムにおいて、
前記情報処理装置に、
前記通信部を介して取得した前記1以上の他の情報処理装置のいずれかが有する記憶部が記憶するデータを冗長化した冗長データを取得させ、
前記1以上の他の情報処理装置うち、前記冗長データを収集する情報処理装置から前記冗長データの転送要求を受け付けさせ、
前記冗長データを収集する情報処理装置の前記ネットワーク上の宛先と前記冗長データの前記記憶部上の格納先とを指定して前記通信部に前記冗長データの転送処理を所定のタイミングで実行させるためのコマンドを登録させる情報処理装置の制御プログラム。

0109

記録媒体
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。

0110

ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク光磁気ディスクCD−ROM、CD−R/W、DVD、ブルーレイディスクDAT、8mmテープフラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ
等に固定された記録媒体としても利用可能である。

0111

11 CPU
12メモリ
13 NIC
13Aバスアダプタ
13Bネットワークアダプタ
13Cコントローラ
13D メモリ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ