(57)【要約】【課題】保守を容易にする情報処理装置、情報処理システム及び情報処理装置制御方法を提供する。【解決手段】アラームレジスタは、各ＣＰＵ１０３及び１０４による通信において発生した障害に関する第１サイズの障害情報を記憶する。障害情報送信部は、第１サイズの障害情報を複数含む第２サイズの単位で障害情報をアラームレジスタから読み出し、読み出した障害情報をアラームレジスタから削除する。情報取得部１２１は、障害情報送信部により第２サイズの単位で読み出された障害情報を障害情報バッファ１２２に格納する。情報通知部１２３は、障害情報バッファ１２２から第１サイズの単位で障害情報を読み出し、読み出した障害情報が示す障害が発生した通信に対応するＣＰＵ１０３又は１０４に、読み出した障害情報を通知する。【選択図】図４
2018136882.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算器と、
各前記演算器が実行する通信において発生した障害に関する第１サイズの障害情報を記憶する第１格納部と、
前記第１サイズの前記障害情報を複数含む第２サイズの単位で前記障害情報を前記第１格納部から読み出し、読み出した前記障害情報を前記第１格納部から削除する管理部と、
前記管理部により前記第２サイズの単位で読み出された前記障害情報を第２格納部に格納する情報取得部と、
前記第２格納部から前記第１サイズの単位で前記障害情報を読み出し、読み出した前記障害情報が示す障害が発生した通信に対応する前記演算器に、読み出した前記障害情報を通知する情報通知部と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記情報通知部は、読み出した前記障害情報を前記第２格納部から削除することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
各前記演算器による前記通信を制御し、且つ、前記障害情報を含む前記通信に関する情報を前記第１格納部に格納する通信制御部をさらに備えたことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記演算器は、自己が行う通信において障害が発生した場合に前記障害情報の読出要求を前記情報取得部へ送信し、
前記情報取得部は、前記演算器から前記読出要求を受信した場合に、前記読出要求の送信元の前記演算器が行った通信に関する前記障害情報の読み出しを前記管理部へ指示し、
前記管理部は、前記情報取得部からの前記障害情報の読み出しの指示を受けた場合、前記読出要求の送信元の前記演算器が行った通信に関する前記障害情報を前記第１格納部から読み出す
ことを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記演算器による通信における障害の発生を検出した場合、障害が発生した通信を行った前記演算器に障害の発生を通知する検出部をさらに備え、
前記演算器は、自己が行う通信における障害の発生を検出した場合及び前記検出部からの障害発生の通知を受信した場合、前記障害情報の読出要求を前記情報取得部へ送信する
ことを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項６】
複数の情報処理装置を有する情報処理システムであって、
各前記情報処理装置は、
他の情報処理装置の演算器と通信を行う複数の演算器と、
各前記演算器による通信において発生した障害に関する第１サイズの障害情報を記憶する第１格納部と、
前記第１サイズの前記障害情報を複数含む第２サイズの単位で前記障害情報を前記第１格納部から読み出し、読み出した前記障害情報を前記第１格納部から削除する管理部と、
前記管理部により前記第２サイズの単位で読み出された前記障害情報を第２格納部に格納する情報取得部と、
前記第２格納部から前記第１サイズの単位で前記障害情報を読み出し、読み出した前記障害情報が示す障害が発生した通信に対応する前記演算器に、読み出した前記障害情報を通知する情報通知部と
を備えたことを特徴とする情報処理システム。
【請求項７】
各演算器による通信において発生した障害に関する第１サイズの障害情報を第１記憶装置に記憶させ、
前記第１サイズの前記障害情報を複数含む第２サイズの単位で前記障害情報を前記第１記憶装置から読み出し、
読み出した前記障害情報を前記第１記憶装置から削除し、
前記第２サイズの単位で読み出された前記障害情報を第２記憶装置に格納させ、
前記第２記憶装置から前記第１サイズの単位で前記障害情報を読み出し、
読み出した前記障害情報が示す障害が発生した通信に対応する前記演算器に、読み出した前記障害情報を通知する
ことを特徴とする情報処理装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム及び情報処理装置制御方法に関する。
【背景技術】
【０００２】
近年、ネットワークにより接続された多数のコンピュータを用いて大規模なジョブを分散実行するグリッドコンピューティングなどの分散処理装置に関する技術開発が進められている。このような分散処理装置では、ＣＰＵ（Central  Processing  Unit）の通信に光伝送が広く用いられる。
【０００３】
分散処理装置は、ＣＰＵ間通信での伝送異常を検知した場合、伝送制御部及び光送受信モジュールが有するレジスタに格納されたレジスタ情報を採取してログ情報として記憶領域に保存する。光送受信モジュールには、例えば、光電気変換部をコネクタに内蔵したＡＯＣ（Active  Optical  Cable）が使用される。また、レジスタ情報には、電圧、温度、ベンダコード、シリアルナンバーなどが含まれる。さらに、レジスタ情報には、光信号の通信途絶及びデータ信号によるクロックの同期不良などを表す情報といった障害情報が含まれる。
【０００４】
障害発生時のログ情報は保守箇所を特定する際に重要な情報であり、レジスタ情報に含まれる障害情報は、取りこぼし無く網羅的に採取されることが好ましい。ＡＯＣのレジスタに障害情報が反映されてからＣＰＵがＡＯＣの障害情報をＡＯＣのレジスタから障害情報を採取するには時間誤差が発生する。そこで、ＡＯＣは、ＣＰＵにより読み出されるまでレジスタに格納されたレジスタ情報を保持しておく。そして、ＣＰＵにより読み出された後に、ＡＯＣは、レジスタをクリアする。
【０００５】
ＡＯＣが有するレジスタのうちの障害情報を格納するアラームレジスタは、障害情報の種類に応じて複数配置され、それぞれ１バイトずつ割り当てられる。そして、レジスタの読み出し単位は、１バイト単位である。このようなレジスタは、１バイト単位の読み出し契機クリア方式レジスタと呼ばれ、共通規格としてＡＯＣなどのアラームレジスタとして採用されることが多い。
【０００６】
ここで、ＡＯＣは、複数のチャネルを有し、複数のＣＰＵのそれぞれに各チャネルが割り当てられる場合がある。これに対して、ＡＯＣのアラームレジスタは、各チャネルにビットが割り当てられたビットマップを有し、１バイトのアラームレジスタの中に、複数チャネル分の情報が保持される。ＣＰＵは、信号の伝送異常を検出すると割込み処理により、ＡＯＣのアラームレジスタから障害情報を取得する。同一ＡＯＣを共有する複数のＣＰＵのそれぞれが信号の伝送異常を検出すると、１つのＡＯＣに対して複数回の障害情報の読み出しが施行される。
【０００７】
このような障害情報の取得技術として、複数の対象を監視し、新たなイベント情報を収集した場合にＣＰＵによる読み出しが行われていない既存のイベント情報と合わせて保持する従来技術がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−９０５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、ＣＰＵがＡＯＣのアラームレジスタに格納された障害情報を１度読み出すことによって、複数のＣＰＵに対応する障害情報が読み出された後、複数のＣＰＵに対応する障害情報がまとめてクリアされる。この場合、１つのＣＰＵが障害情報を読み出した場合、その後にアラームレジスタはクリアされるため、他のＣＰＵに対応する障害情報が失われているおそれがある。そのため、保守管理者は、他のＣＰＵの障害の発生を把握できず、適切な保守を実行することが困難になる。
【００１０】
また、収集した新たなイベント情報と既存のイベント情報とを合わせて保持する従来技術を用いても、読み出すＣＰＵが複数の場合には、あるＣＰＵが障害情報を読み出した場合には障害情報はクリアされ、他のＣＰＵが障害情報を取得することは困難である。
【００１１】
さらに、このような状況が発生する場合への対処方法として、障害情報を読み出したＣＰＵが読み出した障害情報を全て保持し、他のＣＰＵは、障害を解析する場合に障害情報を読み出したＣＰＵが保持する情報を用いる方法が考えられる。しかし、この方法では、他のＣＰＵが解析する情報量が増加し、障害解析にかかるコストが増加するおそれがある。
【００１２】
また、他の対処方法として、レジスタの読み出し単位を１ビット単位に変更する方法が考えられる。しかし、その場合共通仕様とは異なる特別仕様のＡＯＣを開発することになり、開発工程の増加やそれによるコストの増加が発生する。
【００１３】
開示の技術は、上記に鑑みてなされたものであって、保守を容易にする情報処理装置、情報処理システム及び情報処理装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願の開示する情報処理装置、情報処理システム及び情報処理装置制御方法の一つの態様において、演算器は複数存在する。第１格納部は、各前記演算器による通信において発生した障害に関する第１サイズの障害情報を記憶する。管理部は、前記第１サイズの前記障害情報を複数含む第２サイズの単位で前記障害情報を前記第１格納部から読み出し、読み出した前記障害情報を前記第１格納部から削除する。情報取得部は、前記管理部により前記第２サイズの単位で読み出された前記障害情報を第２格納部に格納する。情報通知部は、前記第２格納部から前記第１サイズの単位で前記障害情報を読み出し、読み出した前記障害情報が示す障害が発生した通信に対応する前記演算器に、読み出した前記障害情報を通知する。
【発明の効果】
【００１５】
１つの側面では、本発明は、保守を容易にすることができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施例に係る分散処理システムの構成図である。
【図２】図２は、メインボードの構成図である。
【図３】図３は、ＡＯＣのブロック図である。
【図４】図４は、制御ＩＣのブロック図である。
【図５】図５は、先頭のＣＰＵによるレジスタの読み出し手順を説明するための図である。
【図６】図６は、後続のＣＰＵによるレジスタの読み出し手順を説明するための図である。
【図７】図７は、制御ＩＣのハードウェア構成図である。
【図８】図８は、障害情報読み出し処理のフローチャートである。
【発明を実施するための形態】
【００１７】
以下に、本願の開示する情報処理装置、情報処理システム及び情報処理装置制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理システム及び情報処理装置制御方法が限定されるものではない。
【実施例】
【００１８】
図１は、実施例に係る分散処理システムの構成図である。本実施例に係る分散処理システム１００は、情報処理システムである。分散処理システム１００は、サーバ１及びサーバ２を有する。そして、サーバ１とサーバ２とは、光ケーブル３を用いて相互に信号の送受信を行う。
【００１９】
サーバ１は、メインボード１０、ハードディスク１１及び電源１２を有する。サーバ２は、メインボード２０、ハードディスク２１及び電源２２を有する。図１において太線は電力供給経路を表す。また、各部を繋ぐ細線は信号伝送経路を表す。このサーバ１及び２が、「情報処理装置」の一例にあたる。
【００２０】
メインボード１０及び２０は、演算処理や通信処理を行う機能を有する。メインボード１０とメインボード２０とは、光ケーブル３で接続される。メインボード１０とメインボード２０とは、光ケーブル３を介して信号の送受信を行う。
【００２１】
ハードディスク１１及び２１は、補助記憶媒体であり、ＯＳ（Operating  System）やアプリケーションなどの各種プログラムを記憶する。ハードディスク１１は、メインボード１０によりデータの読み書きが行われる。また、ハードディスク２１は、メインボード２０によりデータの読み書きが行われる。
【００２２】
電源１２は、メインボード１０及びハードディスク１１を含むサーバ１の各部に電力を供給する。また、電源２２は、メインボード２０及びハードディスク２１を含むサーバ２の各部に電力を供給する。
【００２３】
光ケーブル３は、本実施例では、８つのチャネルを有する。そして、本実施例では、ＣＰＵ１０３及び１０４が信号を送信するチャネルとして、光ケーブル３のチャネルが２つずつ割り当てられる。また、ＣＰＵ１０３及び１０４が信号を受信するチャネルとして、光ケーブル３のチャネルが２つずつ割り当てられる。
【００２４】
次に、図２を参照して、メインボード１０及び２０について詳細に説明する。図２は、メインボードの構成図である。メインボード１０は、ＡＯＣ１０１、制御ＩＣ（Integrated  Circuit）１０２、並びに、ＣＰＵ１０３及び１０４を有する。また、メインボード２０は、ＡＯＣ２０１、制御ＩＣ２０２、並びに、ＣＰＵ２０３及び２０４を有する。メインボード１０の各部とメインボード２０の各部とは、それぞれ同じ機能を有するので、以下の説明では、メインボード１０を例に説明する。
【００２５】
ＡＯＣ１０１とＡＯＣ２０１とは、光ケーブル３で接続される。ここで、実際には、ＡＯＣ１０１、ＡＯＣ２０１及び光ケーブル３を含む部材が、１つのＡＯＣである。すなわち、ＡＯＣ１０１及び２０１は、ＡＯＣの端末部である。ただし、ここでは、端末部を、ＡＯＣ１０１及び２０１という。
【００２６】
ＡＯＣ１０１は、ＣＰＵ１０３及び１０４のそれぞれと、信号受信用のバス及び信号送信用のバスで接続される。また、ＡＯＣ１０１は、制御ＩＣ１０２とレジスタアクセスバスにより接続される。
【００２７】
ＡＯＣ１０１では、ＡＯＣ１０１を駆動させるドライバがメインボード１０から供給される電力を各回路に供給する。ＡＯＣ１０１は、ＡＯＣ２０１との間での信号の送受信の制御及び信号の送受信における障害の検出などを行う。図３は、ＡＯＣのブロック図である。
【００２８】
ＡＯＣ１０１は、通信制御部１１１、アラーム検出部１１２、障害情報送信部１１３及びアラームレジスタ１１４を有する。通信制御部１１１、アラーム検出部１１２及び障害情報送信部１１３は、演算処理回路及び記憶回路を有するＩＣなどで実現される。
【００２９】
アラームレジスタ１１４は、１バイト単位の読み出し契機クリア方式レジスタである。アラームレジスタ１１４は、光ケーブル３の各チャネルにビットが割り当てられたビットマップを有する。本実施例では、アラームレジスタ１１４は、４つのビットを有する。アラームレジスタ１１４の第１ビットは、ＣＰＵ１０３の２つの送信チャネルに割り当てられる。また、アラームレジスタ１１４の第２ビットは、ＣＰＵ１０３の２つの受信チャネルに割り当てられる。また、アラームレジスタ１１４の第３ビットは、ＣＰＵ１０４の２つの送信チャネルに割り当てられる。また、アラームレジスタ１１４の第４ビットは、ＣＰＵ１０４の２つの受信チャネルに割り当てられる。そして、アラームレジスタ１１４から読み出される１バイトのデータにおける障害情報を表す４ビットの領域は予め決められている。アラームレジスタ１１４では、ビットの値が１であれば障害発生を示す障害情報があることを表し、ビットの値が０であれば障害発生を示す障害情報が無いことを表す。
【００３０】
このアラームレジスタ１１４が、「第１格納部」の一例にあたる。また、各障害情報のサイズである、１ビットが「第１サイズ」の一例にあたる。さらに、アラームレジスタ１１４からのデータの読み出し単位である１バイトが、「第２サイズ」の一例にあたる。
【００３１】
通信制御部１１１は、図示はしていないが、例えば、ＣＤＲ（Clock  Data  Recovery）、Ｉ２Ｃ（Inter  Integrated  Circuit）コントローラ（登録商標）、ＶＣＳＥＬ（Vertical  Cavity  Surface  Emitting  Laser）及びレンズブロックを有する。
【００３２】
通信制御部１１１は、Ｉ２Ｃコントローラにより、アラームレジスタ１１４を含む内部レジスタの制御を行う。内部レジスタには、アラームレジスタ１１４の他に、ＣＤＲとＶＣＥＬの機能制御を行うレジスタなども含まれる。通信制御部１１１のＩ２Ｃコントローラは、メインボード１０上のＣＰＵ１０３及び１０４からアクセスを受ける。通信制御部１１１は、Ｉ２Ｃコントローラを用いて、各ＣＰＵ１０３及び１０４から指定された光通信に用いるパラメータなどを内部レジスタに格納する。
【００３３】
通信制御部１１１は、ＣＰＵ１０３又は１０４からＡＯＣ２０１への送信信号を受信する。そして、通信制御部１１１は、ＶＣＳＥＬを用いて、送信信号を電気信号から光信号に変換する。その後、通信制御部１１１は、光信号に変換した送信信号をレンズブロックを用いて光ケーブル３に入射する。また、通信制御部１１１は、光ケーブル３を介してＡＯＣ２０１から送信された信号を受信する。そして、通信制御部１１１は、受信信号をＶＣＳＥＬを用いて、光信号から電気信号に変換する。通信制御部１１１は、内部レジスタに格納されたパラメータを用いてＶＣＳＥＬの動作を制御する。
【００３４】
通信制御部１１１は、ＣＤＲを用いて、電気信号に変換した受信信号の波形からクロック抽出を行う。その後、通信制御部１１１は、抽出したクロックで受信信号を同期させる。そして、通信制御部１１１は、同期させた受信信号を信号の宛先であるＣＰＵ１０３又は１０４へ出力する。通信制御部１１１は、内部レジスタに格納されたパラメータを用いてＣＤＲの動作を制御する。
【００３５】
さらに、通信制御部１１１は、光通信処理の履歴情報をアラームレジスタ１１４に格納する。履歴情報には、光通信において障害が発生した場合の障害情報が含まれる。また、通信制御部１１１は、光通信において障害が発生した場合、障害を通知するアラームを発生する。例えば、通信制御部１１１は、ＣＤＲによる信号からのクロック抽出に失敗した場合、ＣＤＲによる信号からのクロック抽出における障害を通知するアラームを発生する。
【００３６】
アラーム検出部１１２は、通信制御部１１１が実行する通信処理を監視し、アラームが発生したか否かを検出する。アラームの発生を検出した場合、アラーム検出部１１２は、障害が発生した光通信を行うＣＰＵ１０３又は１０４に対して障害発生の割り込み通知を送信する。このアラーム検出部１１２が、「検出部」の一例にあたる。
【００３７】
障害情報送信部１１３は、障害情報の読み出し要求を制御ＩＣ１０２から受信する。次に、障害情報送信部１１３は、各チャネルに対応する４ビットの障害情報を含む１バイトのデータをアラームレジスタ１１４から取得する。そして、障害情報送信部１１３は、取得した１バイトのデータをレジスタアクセスバスを介して制御ＩＣ１０２へ送信する。その後、障害情報送信部１１３は、アラームレジスタ１１４をクリアする。これにより、アラームレジスタ１１４は、障害情報が格納されていない状態になる。
【００３８】
ここで、本実施例では、障害情報送信部１１３がアラームレジスタ１１４をクリアしたが、例えば、障害情報送信部１１３がアラームレジスタ１１４から障害情報を読み出した後に、通信制御部１１１がアラームレジスタ１１４をクリアする構成でもよい。
【００３９】
ＣＰＵ１０３は、通信制御部１１１を介してＣＰＵ２０３又は２０４と通信を行う。そして、ＣＰＵ１０３は、光通信において伝送異常を検出した場合、障害情報の読み出し要求を制御ＩＣ１０２へ送信する。
【００４０】
また、ＣＰＵ１０３は、ＡＯＣ１０１のアラーム検出部１１２から障害発生の割込み通知を受信する。障害発生の割込み通知を受信すると、ＣＰＵ１０３は、障害情報の読み出し要求を制御ＩＣ１０２へ送信する。ＣＰＵ１０４は、ＣＰＵ１０３と同様の動作を行う。ＣＰＵ１０３及び１０４が、「演算器」の一例にあたる。
【００４１】
制御ＩＣ１０２は、障害情報を収集しＣＰＵ１０３又はＣＰＵ１０４により障害情報が読み出されるまで保持する回路である。図４は、制御ＩＣのブロック図である。
【００４２】
制御ＩＣ１０２は、情報取得部１２１、障害情報バッファ１２２及び情報通知部１２３を有する。
【００４３】
障害情報バッファ１２２は、１ビット単位でのデータの読み出しが可能な記憶領域を有する。障害情報バッファ１２２には、アラームレジスタ１１４に格納された４ビットの障害情報が格納される。障害情報バッファ１２２は、アラームレジスタ１１４と同様に、ビットの値が１であれば障害発生を示す障害情報があることを表し、ビットの値が０であれば障害発生を示す障害情報が無いことを表す。この障害情報バッファ１２２が、「第２格納部」の一例にあたる。
【００４４】
情報取得部１２１は、障害情報の読み出し要求をＣＰＵ１０３又は１０４から受信する。そして、情報取得部１２１は、ＡＯＣ１０１に対して障害情報の読み出し要求を送信する。その後、情報取得部１２１は、障害情報の読み出し要求に対する応答として、アラームレジスタ１１４から読み出された１バイトの情報を取得する。情報取得部１２１は、アラームレジスタ１１４から読み出された１バイトの情報における予め決められた障害情報を表す４ビットの位置からデータを取得する。
【００４５】
次に、情報取得部１２１は、障害情報バッファ１２２が保持する障害情報を取得する。そして、情報取得部１２１は、アラームレジスタ１１４から読み出された障害情報の各ビットの値とそれに対応する障害情報バッファ１２２から取得した障害情報の各ビットの値との論理和を取得する。その後、情報取得部１２１は、障害情報の各ビットの論理和の値を各チャネルの障害を表す障害情報として障害情報バッファ１２２へ格納する。さらに、情報取得部１２１は、障害情報の読み出し要求の要求元であるＣＰＵ１０３又は１０４の識別情報を情報通知部１２３へ通知する。
【００４６】
情報通知部１２３は、障害情報バッファ１２２に格納された４ビットの障害情報の各ビットがＣＰＵ１０３又はＣＰＵ１０４何れに対応するかを予め記憶する。例えば、情報通知部１２３は、障害情報バッファ１２２に格納された４ビットの障害情報のうち第１及び第２ビットがＣＰＵ１０３に対応するビットであり、第３及び第４ビットがＣＰＵ１０４に対応するビットであると記憶する。
【００４７】
情報通知部１２３は、障害情報の読み出し要求の要求元であるＣＰＵ１０３又は１０４の識別情報の通知を情報取得部１２１から受信する。次に、情報通知部１２３は、受信した識別情報で示されるＣＰＵ１０３又は１０４に対応する障害情報を障害情報バッファ１２２に格納された４ビットの障害情報から取得する。そして、情報通知部１２３は、取得した障害情報を障害情報の読み出し要求の要求元であるＣＰＵ１０３又は１０４へ送信する。
【００４８】
その後、情報通知部１２３は、障害情報バッファ１２２に格納された４ビットの障害情報のうちＣＰＵ１０３又は１０４へ送信した障害情報をクリアする。これにより、障害情報バッファ１２２に格納された４ビットの障害情報のうち、既にＣＰＵ１０３又は１０４により取得された障害情報がクリアされ、まだ取得されていない障害情報が残される。
【００４９】
次に、図５及び６を参照して、レジスタの読み出し手順をまとめて説明する。図５は、先頭のＣＰＵによるレジスタの読み出し手順を説明するための図である。図６は、後続のＣＰＵによるレジスタの読み出し手順を説明するための図である。
【００５０】
ここでは、アラームレジスタ１１４がビット４１〜４４を有し、障害情報バッファ１２２がビット５１〜５４を有する場合で説明する。ビット４１及び５１は、ＣＰＵ１０３の信号送信用のチャネルが割り当てられたビットである。また、ビット４２及び５２は、ＣＰＵ１０３の信号受信用のチャネルが割り当てられたビットである。また、ビット４３及び５３は、ＣＰＵ１０４の信号送信用のチャネルが割り当てられたビットである。また、ビット４４及び５４は、ＣＰＵ１０４の信号受信用のチャネルが割り当てられたビットである。
【００５１】
まず、状態３０１に示すように、障害情報バッファ１２２には、既にビット５２及び５４に障害情報が格納されている。さらに、アラームレジスタ１１４には、ビット４１及び４３に障害情報が格納されている。すなわち、ＣＰＵ１０３及び１０４の両方の通信における障害情報が、アラームレジスタ１１４に格納されている。
【００５２】
状態３０１で、ＣＰＵ１０３から送信された障害情報の読み出し要求を制御ＩＣ１０２が受信した場合を説明する。障害情報送信部１１３が障害情報の読み出し要求を制御ＩＣ１０２から受けると、障害情報送信部１１３は、アラームレジスタ１１４から障害情報を取得する。そして、障害情報送信部１１３は、アラームレジスタ１１４から取得した障害情報を情報取得部１２１へ送信する。その後、障害情報送信部１１３は、アラームレジスタ１１４をクリアするので、アラームレジスタ１１４は、状態３０２の状態になる。
【００５３】
情報取得部１２１は、ビット４１の値が１、ビット４２の値が０、ビット４３の値が１、ビット４４の値が０である障害情報を障害情報送信部１１３から取得する。さらに、情報取得部１２１は、状態３０１に示すビット５１の値が０、ビット５２の値が１、ビット５３の値が０、ビット５４の値が１である障害情報を障害情報バッファ１２２から取得する。そして、情報取得部１２１は、ビット４１とビット５１との論理和、ビット４２とビット５２との論理和、ビット４３とビット５３との論理和、ビット４４とビット５４との論理和を計算する。その後、情報取得部１２１は、算出した各論理和の値を障害情報バッファ１２２に格納する。この場合、状態３０２に示すようにビット５１〜５４の全ての値が１になる。
【００５４】
次に、情報通知部１２３は、ＣＰＵ１０３の識別情報を情報取得部１２１から受信する。そして、情報通知部１２３は、障害情報バッファ１２２に格納された障害情報のうちＣＰＵ１０３に対応するビット５１及び５２の値を取得する。そして、情報通知部１２３は、取得した値をＣＰＵ１０３へ出力する。この場合、ＣＰＵ１０３は、状態３０３における読出値１３０に示す値を取得する。ここで、本実施例では、情報通知部１２３は、ＣＰＵ１０３に対応するビット以外のビットの値を０として４ビットの障害情報をＣＰＵ１０３へ送信するものとする。これにより、ＣＰＵ１０３は、自己の通信において障害が発生したことを検出できる。
【００５５】
次に、情報通知部１２３は、値を取得したビット５１及び５２をクリアする。これにより、障害情報バッファ１２２では、状態３０４のように、ＣＰＵ１０３に対応するビット５１及び５２の値が０となり、ＣＰＵ１０４に対応するビット５３及び５４の値は維持される。すなわち、ＣＰＵ１０４の通信における障害情報はクリアされない。
【００５６】
次に、状態３０４以降に障害が発生していない場合、図６の状態３０５に示すように、アラームレジスタ１１４は、ビット４１〜４４の全ての値が０のままである。すなわち、アラームレジスタ１１４には、ＣＰＵ１０４の障害情報は格納されていない。しかし、障害情報バッファ１２２は、ビット５３及び５４の値が１であり、ＣＰＵ１０４の障害情報を保持した状態である。
【００５７】
そして、状態３０５で、ＣＰＵ１０４から送信された障害情報の読み出し要求を制御ＩＣ１０２が受信する。その後、障害情報送信部１１３が障害情報の読み出し要求を制御ＩＣ１０２から受けると、障害情報送信部１１３は、アラームレジスタ１１４から障害情報を取得する。ただし、アラームレジスタ１１４は、図５の状態３０２でクリアされた後の変化がないため、障害情報送信部１１３は、ビット４１〜４４の値としてすべて０を取得する。そして、障害情報送信部１１３は、アラームレジスタ１１４から取得した障害情報を情報取得部１２１へ送信する。その後、障害情報送信部１１３は、アラームレジスタ１１４をクリアする。ただし、アラームレジスタ１１４は、図５の状態３０２でクリアされた後の変化がないため、すでにビット４１〜４４の値は全て０であるので、状態３０６のようにそのままの状態となる。
【００５８】
情報取得部１２１は、ビット４１〜４４の全ての値が０である障害情報を障害情報送信部１１３から取得する。さらに、情報取得部１２１は、状態３０６に示すビット５１の値が０、ビット５２の値が０、ビット５３の値が１、ビット５４の値が１である障害情報を障害情報バッファ１２２から取得する。そして、情報取得部１２１は、ビット４１とビット５１との論理和、ビット４２とビット５２との論理和、ビット４３とビット５３との論理和、ビット４４とビット５４との論理和を計算する。その後、情報取得部１２１は、算出した各論理和の値を障害情報バッファ１２２に格納する。この場合、状態３０７に示すようにビット５１〜５４の全ての値が保持される。すなわち、ＣＰＵ１０４に対応する障害情報は保持される。
【００５９】
次に、情報通知部１２３は、ＣＰＵ１０４の識別情報を情報取得部１２１から受信する。そして、情報通知部１２３は、障害情報バッファ１２２に格納された障害情報のうちＣＰＵ１０４に対応するビット５３及び５４の値を取得する。そして、情報通知部１２３は、取得した値をＣＰＵ１０４へ出力する。この場合、ＣＰＵ１０４は、状態３０７における読出値１４０に示す値を取得する。ここで、本実施例では、情報通知部１２３は、ＣＰＵ１０４に対応するビット以外のビットの値を０として４ビットの障害情報をＣＰＵ１０４へ送信するものとする。これにより、ＣＰＵ１０４は、自己の通信において障害が発生したことを検出できる。
【００６０】
次に、情報通知部１２３は、値を取得したビット５３及び５４をクリアする。これにより、障害情報バッファ１２２では、状態３０８のように、ＣＰＵ１０４に対応するビット５３及び５４の値が０となる。すなわち、状態３０４におけるクリアと合わせてＣＰＵ１０３及び１０４の両方の通信における障害情報がすべてクリアされる。
【００６１】
ここで、本実施例では、障害情報として４ビットの情報を用いて説明したが、ＣＰＵ１０３及び１０４との対応が明確であれば障害情報は４ビットに限らない。たとえば、８チャネルそれぞれに異なるビットを割当てて障害情報を８ビットの情報としてもよい。
【００６２】
次に、制御ＩＣ１０２のハードウェア構成について説明する。図７は、制御ＩＣのハードウェア構成である。制御ＩＣ１０２は、制御回路９１、バッファレジスタ９２、ＣＰＵ用ＩＦ９３及び９４、並びに、ＡＯＣ用ＩＦ９５を有する。
【００６３】
バッファレジスタ９２は、障害情報バッファ１２２の機能を実現する。ＣＰＵ用ＩＦ９３及び９４は、ＣＰＵ１０３及び１０４と通信を行うためのインタフェースである。また、ＡＯＣ用ＩＦ９５は、ＡＯＣ１０１が有するアラームレジスタ１１４に格納された情報を取得するためのインタフェースである。
【００６４】
制御回路９１は、バッファレジスタ９２、ＣＰＵ用ＩＦ９３及び９４、並びに、ＡＯＣ用ＩＦ９５とバスで接続される。制御回路９１は、ＣＰＵ用ＩＦ９３及び９４を介してＣＰＵ１０３及び１０４と通信を行う。
【００６５】
制御回路９１は、図４に例示した情報取得部１２１及び情報通知部１２３の機能を実現するためのプログラムを含む各種プログラムを予め有する。そして、制御回路９１は、保持する各種プログラムを読み出して実行することで、図４に例示した情報取得部１２１及び情報通知部１２３の機能を実現する。
【００６６】
次に、図８を参照して、本実施例に係るサーバ１における障害情報読み出し処理の流れを説明する。図８は、障害情報読み出し処理のフローチャートである。ここでは、ＣＰＵ１０３が実行する通信において障害が発生した場合で説明する。
【００６７】
情報通知部１２３及び情報取得部１２１は、障害情報バッファ１２２のレジスタアドレスとＣＰＵ１０３及び１０４の識別情報を対応させて記憶する（ステップＳ１）。これにより、情報通知部１２３及び情報取得部１２１は、障害情報バッファ１２２における障害情報が格納される４ビットのそれぞれがＣＰＵ１０３又は１０４の何れに対応するかを把握する。
【００６８】
次に、ＡＯＣ１０１の通信制御部１１１とＡＯＣ２０１とは、光ケーブル３を用いて光通信処理を実行する（ステップＳ２）。
【００６９】
次に、アラーム検出部１１２は、通信制御部１１１によるアラームを検出したか否かを判定する（ステップＳ３）。アラームを検出した場合（ステップＳ３：肯定）、アラーム検出部１１２は、アラームが発生した通信を行うＣＰＵ１０３に割り込み通知を送信し（ステップＳ４）、ステップＳ６へ進む。
【００７０】
これに対して、アラームを検出しない場合（ステップＳ３：否定）、ＣＰＵ１０３及び１０４は、実行する光通信において伝送異常を検出したか否かを判定する（ステップＳ５）。伝送異常が発生していない場合（ステップＳ５：否定）、処理はステップＳ３へ戻る。これに対して、伝送異常を検出した場合（ステップＳ５：肯定）、処理はステップＳ６へ進む。
【００７１】
ＣＰＵ１０３は、割込み通知を受信した場合又は伝送異常を検出した場合、障害情報の読み出し要求を制御ＩＣ１０２へ送信する（ステップＳ６）。制御ＩＣ１０２は、障害情報の読み出し要求を障害情報送信部１１３へ送信する。
【００７２】
障害情報送信部１１３は、障害情報の読み出し要求を受信すると、アラームレジスタ１１４から障害情報を読み出す。その後、障害情報送信部１１３は、アラームレジスタ１１４をクリアする（ステップＳ７）。次に、障害情報送信部１１３は、障害情報を情報取得部１２１へ送信する。
【００７３】
次に、情報取得部１２１は、アラームレジスタ１１４から読み出された障害情報を障害情報送信部１１３から取得する。また、情報取得部１２１は、障害情報バッファ１２２に格納された障害情報の既存値を障害情報バッファ１２２から読み出す。そして、情報取得部１２１は、アラームレジスタ１１４から読み出された障害情報の取得値と障害情報バッファ１２２から読み出した障害情報の既存値の論理和を求める。その後、情報取得部１２１は、求めた論理和の値を障害情報バッファ１２２へ格納する（ステップＳ８）。
【００７４】
情報通知部１２３は、障害情報の読み出し要求の送信元であるＣＰＵ１０３の識別情報を情報取得部１２１から取得する。そして、情報通知部１２３は、ＣＰＵ１０３に対応する障害情報を障害情報バッファ１２２から読み出す。その後、情報通知部１２３は、障害情報の読み出し要求の送信元のＣＰＵ１０３へ、ＣＰＵ１０３に対応する障害情報を送信する（ステップＳ９）。
【００７５】
その後、情報通知部１２３は、ＣＰＵ１０３へ送信した障害情報を障害情報バッファ１２２からクリアする（ステップＳ１０）。
【００７６】
ＣＰＵ１０３は、障害情報を情報通知部１２３から受信する。そして、ＣＰＵ１０３は、アラームレベルが高いか否かを判定する（ステップＳ１１）。ここで、アラームレベルが高いアラームは予め決められており、ＣＰＵ１０３及び１０４は、アラームレベルが高いアラームの情報を予め記憶する。アラームレベルが高くない場合(ステップＳ１１：否定)、処理は、ステップＳ２に戻る。
【００７７】
これに対して、アラームレベルが高い場合（ステップＳ１１：肯定）、ＣＰＵ１０３は、障害の内容をモニタなどに表示するなどして障害を報知する（ステップＳ１２）。
【００７８】
分散処理システム１００の管理者は、放置された障害の情報を確認して、ＡＯＣ１０１の保守を行う（ステップＳ１３）。
【００７９】
保守完了後、情報通知部１２３は、障害情報バッファ１４を全てクリアする（ステップＳ１４）。
【００８０】
その後、サーバ１は、分散処理システム１００の管理者からの運用停止の指示の有無などから、運用を停止するか否かを判定する（ステップＳ１５）。運用を停止しない場合(ステップＳ１５：否定)、処理は、ステップＳ２に戻る。これに対して、運用を停止する場合（ステップＳ１５：肯定）、サーバ１は、障害情報読み出し処理を停止する。
【００８１】
以上に説明したように、本実施例に係るサーバは、ＡＯＣのレジスタに格納された障害情報を１ビット単位で読み出せるバッファに既存の障害情報を残して格納し、障害情報の読み出し要求の送信元のＣＰＵに応じた障害情報のみを読み出してクリアする。これにより、複数のＣＰＵから障害情報の読出し要求が発生した場合にも、各ＣＰＵに対して対応する障害情報を送信することができ、確実に管理者に障害情報を提供することができる。したがって、管理者は障害情報を確認して適切な保守を行うことができ、保守を容易にすることができる。
【００８２】
また、本実施例に係るサーバは、共通規格に準拠したＡＯＣを使用しているため、製造工程の増大や製造及び保守のコストの増加を抑えることができる。
【符号の説明】
【００８３】
１，２  サーバ
３  光ケーブル
１０，２０  メインボード
１１，２１  ハードディスク
１２，２２  電源
１００  分散処理システム
１０１，２０１  ＡＯＣ
１０２，２０２  制御ＩＣ
１０３，１０４，２０３，２０４  ＣＰＵ
１１１  通信制御部
１１２  アラーム検出部
１１３  障害情報送信部
１１４  アラームレジスタ
１２１  情報取得部
１２２  障害情報バッファ
１２３  情報通知部
【図１】
2018136882.tif 000003
【図２】
2018136882.tif 000004
【図３】
2018136882.tif 000005
【図４】
2018136882.tif 000006
【図５】
2018136882.tif 000007
【図６】
2018136882.tif 000008
【図７】
2018136882.tif 000009
【図８】
2018136882.tif 000010