(57)【要約】【課題】汎用品のＩＰコアを使用した情報処理装置は、ＩＰコアを含むデバイスとチップセットの間の通信が救済不可能な状態に遷移して初めて、デバイスとチップセット間の異常を検出することができる。つまり、救済不可能な状態に遷移する以前の救済可能異常状態を検出することができない。そのため、通信が不能に至る前の状態を検出し、必要な予防動作の実行が可能な情報処理装置が望まれる。【解決手段】図１に示す情報処理装置は、ＩＰコアと、パトロールパケットの送信を指示するパトロールパケット送受信部と、受信したパトロールパケットと同一性を維持した折り返しパトロールパケットをＩＰコアに対して送信するパトロールパケット返信部と、を備えている。パトロールパケットが処理される時間と閾値を比較することで、パケット通信の状態を判断し、予防動作の実行を実現する。【選択図】図１
2012181592.tif 000002
【特許請求の範囲】
【請求項１】
パケット通信が可能なＩＰコアと、
前記ＩＰコアに対してパトロールパケットの送信を指示するパトロールパケット送受信部と、
前記パトロールパケットを受信した場合には、受信した前記パトロールパケットと同一性を維持した折り返しパトロールパケットを前記ＩＰコアに対して送信するパトロールパケット返信部と、を備え、
前記パトロールパケット送受信部は、前記パトロールパケットの送信時の時刻を前記パトロールパケットに書き込み、前記折り返しパトロールパケットの受信時の時刻と前記折り返しパトロールパケットに書かれた時刻を比較することで、パトロールパケット処理時間を算出し、前記パトロールパケット処理時間と予め定めた閾値とを比較することで、通信状態を判断することを特徴とする情報処理装置。
【請求項２】
前記パトロールパケット返信部は、前記ＩＰコアが送信するパケットの正当性を検証する請求項１の情報処理装置。
【請求項３】
さらに、前記パトロールパケット返信部は、前記ＩＰコアとの間で通信状況に基づいて、前記折り返しパトロールパケットの送信を中止する請求項１又は２の情報処理装置。
【請求項４】
前記パトロールパケット送受信部は、前記ＩＰコアと前記パトロールパケット返信部との間の通信状況に基づいて、前記パトロールパケットの送信を指示する請求項１乃至３のいずれか一に記載の情報処理装置。
【請求項５】
さらに、前記パトロールパケット送受信部を含むユーザロジックを備え、前記ユーザロジックは、前記パトロールパケット送受信部において通信状態が悪化していると判断した場合には、前記通信状態の悪化をユーザに伝達する請求項１乃至４のいずれか一に記載の情報処理装置。
【請求項６】
パケット通信が可能なＩＰコアと、
前記ＩＰコアに対してパトロールパケットの送信を指示するパトロールパケット送受信部と、
前記パトロールパケットを受信した場合には、受信した前記パトロールパケットと同一性を維持した折り返しパトロールパケットを前記ＩＰコアに対して送信するパトロールパケット返信部と、を備える情報処理装置の制御方法であって、
前記パトロールパケットの送信時の時刻を前記パトロールパケットに書き込む工程と、
前記折り返しパトロールパケットの受信時の時刻と前記折り返しパトロールパケットに書かれた時刻を比較することで、パトロールパケット処理時間を算出する工程と、
前記パトロールパケット処理時間と予め定めた閾値とを比較することで、通信状態を判断する工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項７】
さらに、前記ＩＰコアと前記パトロールパケット返信部との間の通信状況に基づいて、前記パトロールパケットの送信を指示する工程を含む請求項６の情報処理装置の制御方法。
【請求項８】
パケット通信が可能なＩＰコアと、
前記ＩＰコアに対してパトロールパケットの送信を指示するパトロールパケット送受信部と、
前記パトロールパケットを受信した場合には、受信した前記パトロールパケットと同一性を維持した折り返しパトロールパケットを前記ＩＰコアに対して送信するパトロールパケット返信部と、を備える情報処理装置を制御するコンピュータに実行させるプログラムであって、
前記パトロールパケットの送信時の時刻を前記パトロールパケットに書き込む処理と、
前記折り返しパトロールパケットの受信時の時刻と前記折り返しパトロールパケットに書かれた時刻を比較することで、パトロールパケット処理時間を算出する処理と、
前記パトロールパケット処理時間と予め定めた閾値とを比較することで、通信状態を判断する処理と、
を実行するプログラム。
【請求項９】
さらに、前記ＩＰコアと前記パトロールパケット返信部との間の通信状況に基づいて、前記パトロールパケットの送信を指示する処理を実行する請求項８のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法及びプログラムに関する。特に、パケット通信を行う情報処理装置に関する。
【背景技術】
【０００２】
サーバを初めとした情報処理装置（コンピュータシステム）には、パケットの送受信に特化した機能モジュールであるＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）コアが使用され、ＩＰコアには汎用品を採用することが多い。
【０００３】
図２は、ＩＰコアを含む情報処理装置１の内部構成の一例を示す図である。なお、情報処理装置１の構成及び動作の詳細については後述する。図２に示す情報処理装置１は、デバイス１０とチップセット２０から構成されている。情報処理装置１では、デバイス１０においてパケットの生成等を行い、チップセット２０とパケット通信を行う。
【０００４】
パケット通信の際に、デバイス１０とチップセット２０のインターフェイスに何らかの障害が発生すると、パケットの再送信等を行うリトライ処理が実行される。このリトライ処理により、インターフェイスの障害を克服し、安定したパケットの送受信が可能となっている。なお、実際のパケット通信はデバイス１０のＩＰコア１００とチップセット２０のパケット転送制御部３００が実行し、リトライ処理についてもＩＰコア１００とパケット転送制御部３００の間で行われる。
【０００５】
ここで、特許文献１に、通信管理装置の障害のために生ずる状態変化の伝達の遅れを極力少なくし、各通信管理装置の状態の交換伝達がより早くできる通信システムを提供する技術が開示されている。その際に、通常の通信に使用するパケットとは異なるパトロールパケットを使用し、パトロールパケットに対する応答の有無により通信管理装置の障害を検出している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１５８５９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明の観点からなされたものである。
【０００８】
上述のように、情報処理装置におけるパケット通信はＩＰコアを含むデバイスとチップセットにより実現されている。さらに、デバイスとチップセットのインターフェイスに障害が発生すれば、互いにリトライ処理を実行することで、安定したパケットの送受信を実現している。
【０００９】
しかし、このリトライ処理はデバイスに含まれるＩＰコアとチップセットの間で完結しており、ＩＰコアを制御する上位のユーザロジックにおいては、このようなリトライ処理を認識することができない。即ち、デバイスとチップセット間のインターフェイスに、通信は可能であるが何らかの軽微な障害が発生しており、リトライ処理が実行されなければ、通信が維持できない状態（以後、救済可能異常状態と呼ぶ）にあることがユーザロジックには認識できない。
【００１０】
このような救済可能異常状態を放置し、パケット通信を継続すると、やがて救済が不可能な状態（以後、救済不可能障害状態）に陥ることが想定される。ユーザロジックでは、救済不可能な障害が発生するまでは、インターフェイスの異常を認識できず、通信に失敗して初めてデバイスとチップセット間のインターフェイスに障害が発生したことが判明する。即ち、ユーザロジックは、救済可能異常状態を経由して救済不可能障害状態に至る過程を認識できず、通常の通信状態から突如、救済不可能障害状態に遷移したものと判断する。そのため、救済可能異常状態に何らかの予防動作（保守作業）を行えば、通信を継続できるにも関わらず、救済可能異常状態を認識できないために必要な予防動作ができないという問題がある。
【００１１】
以上のとおり、従来技術には、解決すべき問題点が存在する。
【００１２】
本発明の一側面において、通信が完全に不可能に至る前の状態を検出し、必要な予防動作の実行が可能な情報処理装置、その制御方法及びプログラムが、望まれる。
【課題を解決するための手段】
【００１３】
本発明の第１の視点によれば、パケット通信が可能なＩＰコアと、前記ＩＰコアに対してパトロールパケットの送信を指示するパトロールパケット送受信部と、前記パトロールパケットを受信した場合には、受信した前記パトロールパケットと同一性を維持した折り返しパトロールパケットを前記ＩＰコアに対して送信するパトロールパケット返信部と、を備え、前記パトロールパケット送受信部は、前記パトロールパケットの送信時の時刻を前記パトロールパケットに書き込み、前記折り返しパトロールパケットの受信時の時刻と前記折り返しパトロールパケットに書かれた時刻を比較することで、パトロールパケット処理時間を算出し、前記パトロールパケット処理時間と予め定めた閾値とを比較することで、通信状態を判断する情報処理装置が提供される。
【００１４】
本発明の第２の視点によれば、パケット通信が可能なＩＰコアと、前記ＩＰコアに対してパトロールパケットの送信を指示するパトロールパケット送受信部と、前記パトロールパケットを受信した場合には、受信した前記パトロールパケットと同一性を維持した折り返しパトロールパケットを前記ＩＰコアに対して送信するパトロールパケット返信部と、を備える情報処理装置の制御方法であって、前記パトロールパケットの送信時の時刻を前記パトロールパケットに書き込む工程と、前記折り返しパトロールパケットの受信時の時刻と前記折り返しパトロールパケットに書かれた時刻を比較することで、パトロールパケット処理時間を算出する工程と、前記パトロールパケット処理時間と予め定めた閾値とを比較することで、通信状態を判断する工程と、を含む情報処理装置の制御方法が提供される。
【００１５】
本発明の第３の視点によれば、パケット通信が可能なＩＰコアと、前記ＩＰコアに対してパトロールパケットの送信を指示するパトロールパケット送受信部と、前記パトロールパケットを受信した場合には、受信した前記パトロールパケットと同一性を維持した折り返しパトロールパケットを前記ＩＰコアに対して送信するパトロールパケット返信部と、を備える情報処理装置を制御するコンピュータに実行させるプログラムであって、前記パトロールパケットの送信時の時刻を前記パトロールパケットに書き込む処理と、前記折り返しパトロールパケットの受信時の時刻と前記折り返しパトロールパケットに書かれた時刻を比較することで、パトロールパケット処理時間を算出する処理と、前記パトロールパケット処理時間と予め定めた閾値とを比較することで、通信状態を判断する処理と、を実行するプログラムが提供される。
【発明の効果】
【００１６】
本発明の各視点によれば、通信が完全に不可能に至る前の状態を検出し、必要な予防動作の実行が可能な情報処理装置、その制御方法及びプログラムが、提供される。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態の概要を説明するための図である。
【図２】ＩＰコアを含む情報処理装置の内部構成の一例を示す図である。
【図３】図２に示す情報処理装置の通信動作の一例を示すタイミングチャートである。
【図４】図２に示す情報処理装置の通信動作の一例を示すタイミングチャートである。
【図５】本発明の第１の実施形態の情報処理装置の内部構成の一例を示す図である。
【図６】図５に示すパケット転送制御部の動作の一例を示すフローチャートである。
【図７】図５に示すデバイスとチップセットの通信状態が正常状態にある場合のタイミングチャートの一例である。
【図８】図５に示すデバイスとチップセットの通信状態が異常状態にある場合のタイミングチャートの一例である。
【発明を実施するための形態】
【００１８】
初めに、図１を用いて実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１９】
上述のように、汎用品のＩＰコアを使用した情報処理装置においては、ＩＰコアを含むデバイスと、デバイスとインターフェイスを形成するチップセットの間の通信が救済不可能な状態に遷移して初めて、デバイスとチップセット間の異常を検出することができる。即ち、救済不可能な状態に遷移する以前の救済可能異常状態は検出することができない。そのため、救済可能異常状態に何らかの予防動作を行えば、通信を継続できるにも関わらず、救済可能異常状態を認識できないために必要な予防動作を行うことができない。そのため、通信が不能に至る前の状態を検出し、必要な予防動作の実行が可能な情報処理装置が望まれる。
【００２０】
そこで、図１に示す情報処理装置を提供する。図１に示す情報処理装置は、パケット通信が可能なＩＰコアと、ＩＰコアに対してパトロールパケットの送信を指示するパトロールパケット送受信部と、パトロールパケットを受信した場合には、受信したパトロールパケットと同一性を維持した折り返しパトロールパケットをＩＰコアに対して送信するパトロールパケット返信部と、を備えている。さらに、パトロールパケット送受信部は、パトロールパケットの送信時の時刻をパトロールパケットに書き込み、折り返しパトロールパケットの受信時の時刻と折り返しパトロールパケットに書かれた時刻を比較することで、パトロールパケット処理時間を算出し、パトロールパケット処理時間と予め定めた閾値とを比較することで、通信状態を判断する。なお、パトロールパケット処理時間は、パトロールパケット送受信部がパトロールパケットを送信してから折り返しパトロールパケットを受信するまでの時間に相当する。
【００２１】
通信が救済可能異常状態にあれば、通常の通信状態よりもパトロールパケットがパトロールパケット送受信部に返信されるまでの時間（パトロールパケット処理時間）が長くなり、この時間を予め定めた閾値と比較することで、救済可能異常状態が検出できる。このように、パトロールパケットを使用することで、ＩＰコアによって隠蔽されたリトライ処理を検出し、インターフェイス障害の発生を事前に検出する。事前にインターフェイス障害の発生を検出することができれば、保守者（ユーザ）に対して、異常状態の報告が可能になり、情報処理装置が救済不可能な状態に至る前に予防的な保守動作を行うことができる。その結果、システムとしての可用性を向上させることができる。
【００２２】
次に、ＩＰコアを含む情報処理装置について説明する。図２は、ＩＰコアを含む情報処理装置１の内部構成の一例を示す図である。図２に示す情報処理装置１は、デバイス１０と、チップセット２０から構成されている。
【００２３】
デバイス１０において、パケットの生成や受信したパケットに従った動作を行う。チップセット２０は、デバイス１０から受信したパケットを情報処理装置１の内部モジュールや他の機器に送信する。若しくは、内部モジュールや他の機器から受信したパケットをデバイス１０に送信する。即ち、チップセット２０は情報処理装置１の通信におけるインターフェイス回路としての役割を持つ。
【００２４】
デバイス１０には、ＩＰコア１００とユーザロジック２００が含まれている。チップセット２０には、パケット転送制御部３００が含まれている。デバイス１０からチップセット２０への通信は、ユーザロジック２００がＩＰコア１００にパケットの送信を指示し、ＩＰコア１００がパケット転送制御部３００へパケットを送信することで実現する。
【００２５】
また、チップセット２０からデバイス１０への通信は、パケット転送制御部３００が、ＩＰコア１００にパケットを送信し、パケットを受信したＩＰコア１００がユーザロジック２００に対してパケットの受信を通知することにより、実現する。
【００２６】
さらに、デバイス１０とチップセット２０の間に軽微な異常状態が発生し、パケット転送制御部３００がＩＰコア１００から受け取ったパケットの正当性が確認できないときは、パケット転送制御部３００はＩＰコア１００に対して同一パケットの再送要求を行う。再送要求を受けたＩＰコア１００は、ユーザロジック２００にパケット再送要求の受信を通知することなく、パケット転送制御部３００に対して同一パケットを再送信する。
【００２７】
また、デバイス１０とチップセット２０の間の通信には、デバイス１０が送信したパケットに対して送信先からの返信パケットを期待する通信と、送信先からの返信パケットを期待しない通信が存在する。ここでは、送信先からの返信パケットを期待する場合の通信を例に取り、デバイス１０とチップセット２０の間の通信について説明する。
【００２８】
図３は、返信パケットを期待する通信動作の一例を示すタイミングチャートである。図３に示すタイミングチャートでは、デバイス１０とチップセット２０の間の通信に異常状態は発生していない（インターフェイスに問題はない）。
【００２９】
図３では、時刻ｔ１にユーザロジック２００からＩＰコア１００に対してパケット送信の指示が行われ、指示を受けたＩＰコア１００がチップセット２０のパケット転送制御部３００にパケットを送信している。その後、パケットを受信したパケット転送制御部３００では、受信したパケットの正当性を確認する。その際に、受信したパケットのヘッダ情報（特定のフラグやコマンドの種別等）により、返信が必要なパケットか否か判断する。返信が必要なパケットを受信した場合には、デバイス１０のＩＰコア１００に対して返信パケットを送信する。返信パケットを受信したＩＰコア１００は、ユーザロジック２００に対して、返信パケットの受信を通知する。ユーザロジック２００がＩＰコア１００から、返信パケットの受信を通知された時刻をｔ２とする。
【００３０】
図４は、返信パケットを期待する通信動作の一例を示すタイミングチャートである。図４は、デバイス１０とチップセット２０の間の通信は一時的に失敗するが、その後のリトライ処理によって通信が維持できる状態（救済可能異常状態）におけるタイミングチャートである。図４の時刻ｔ３において、ユーザロジック２００からＩＰコア１００に対してパケット送信の指示が行われ、指示を受けたＩＰコア１００がチップセット２０のパケット転送制御部３００にパケットを送信している。その後、パケットを受信したパケット転送制御部３００は、パケットの正当性を確認する。
【００３１】
その際に、デバイス１０とチップセット２０の間のインターフェイスに軽微な異常が発生していることから、パケット転送制御部３００では受信したパケットの異常を検出する。異常を検出したパケット転送制御部３００では、デバイス１０のＩＰコア１００に対して、パケットの再送信を要求する。この場合には、再送要求パケットがＩＰコア１００に対して送信される。再送要求パケットを受信したＩＰコア１００では、再送要求パケットの受信をユーザロジック２００に通知することなく、パケット転送制御部３００に対して同一のパケットを再送信する。再送信されたパケットの正当性の検証後、パケット転送制御部３００はＩＰコア１００に対して、返信パケットを送信する。返信パケットを受信したＩＰコア１００は、ユーザロジック２００に対して返信パケットの受信を通知する。ユーザロジック２００がＩＰコア１００から、返信パケットの受信を通知された時刻をｔ４とする。
【００３２】
このように、救済可能異常状態におけるデバイス１０とチップセット２０の間の通信では、ユーザロジック２００がパケット送信の指示を行ってから返信パケットの受信をするまでの間に、ＩＰコア１００とパケット転送制御部３００との間で再送要求が行われている。従って、正常状態時におけるパケット送信指示から返信パケット受信までの時間（ｔ１〜ｔ２の間）と、救済可能異常状態時のパケット送信指示から返信パケット受信までの時間（ｔ３〜ｔ４の間）を比較すると、後者の方が長い。
【００３３】
しかし、ユーザロジック２００は、救済可能異常状態においても正常な返信パケットを受信しており、ＩＰコア１００からの通知のみでは、デバイス１０とチップセット２０の間のインターフェイスが正常状態か救済可能異常状態か判断することはできない。
【００３４】
その結果、以下のような問題が起きる。デバイス１０とチップセット２０の間のインターフェイスにおいて、軽微かつ救済可能な異常状態（救済可能異常状態）が生じたものとする。しかし、ユーザロジック２００では、インターフェイスが救済可能異常状態であることは認識できない。従って、ユーザロジック２００は、パケットの送受信動作を継続する。救済可能異常状態では結果的に通信が行えているが、インターフェイスに何らかの異常が発生していると考えられる。このような状態でパケットの送受信動作を継続すれば、異常状態がさらに深刻になり救済不可能障害状態に陥る。すると、ユーザロジック２００は、正常状態から救済可能異常状態を経由することなく、突如として救済不可能障害状態に遷移したものと認識する。その結果、予防動作の機会が失われ、情報処理装置１の継続動作を阻害する要因となり得る（可用性が低下する）。
【００３５】
［第１の実施形態］
次に、本発明の第１の実施形態について、図面を用いてより詳細に説明する。図５は、本実施形態に係る情報処理装置２の内部構成の一例を示す図である。図５において図２と同一構成要素には、同一の符号を表し、その説明を省略する。
【００３６】
図５に示す情報処理装置２は、デバイス１１と、チップセット２１から構成されている。デバイス１１は、ＩＰコア１００とユーザロジック２０１から構成される。
【００３７】
ユーザロジック２０１は、パトロールパケット送受信部２１０とカウンタ２１１を備えている。カウンタ２１１は、時刻の経過に合わせて増加するカウント値を保持し、カウント値は時間に関する制御に利用される。カウンタ２１１は、情報処理装置２が起動してからの累積クロック数が保持可能であるとする。
【００３８】
パトロールパケット送受信部２１０は、パトロールパケットをチップセット２１のパケット転送制御部３００に対して送信する。なお、パトロールパケットは通常のパケットとは異なるパケットとする。例えば、パケットのヘッダ領域にパトロールパケットであることを示すフラグを追加することや、パトロールパケットを明示するコマンドを用意することが考えられる。パトロールパケット送受信部２１０では、パトロールパケットの送信時にカウンタ２１１からカウント値を取得し、そのカウント値をパトロールパケットのデータ領域に書き込む。
【００３９】
チップセット２１は、パケット転送制御部３００と、パトロールパケット返信部４００を備えている。パケット転送制御部３００は、受信したパケットがパトロールパケットであると判断した場合には、パトロールパケット返信部４００に対してパトロールパケットを受信したことを通知する。パトロールパケット返信部４００は、受信したパトロールパケットの同一性を維持した折り返しパトロールパケットの送信指示をパケット転送制御部３００に対して行う。パトロールパケット返信部４００では、パトロールパケットの受信に対して何らの処理を行うことなく、折り返しパトロールパケットの送信指示を即座に行う。
【００４０】
ＩＰコア１００が、このパケット転送制御部３００から送信された折り返しパトロールパケットを受信すると、パトロールパケット送受信部２１０に対して折り返しパトロールパケットの受信を通知する。なお、パトロールパケット送受信部２１０は、一定周期でチップセット２１に対してパトロールパケットを送信する。しかし、ユーザロジック２０１からＩＰコア１００に対する送信指示が行われている場合等、デバイス１１とチップセット２１の間の通信頻度が高い場合はパトロールパケットの送信は行わない。従って、パトロールパケットの送信により、デバイス１１とチップセット２１の間のスループットが低下することはない。また、パトロールパケット送受信部２１０には、パトロールパケットの送信指示を行ってから折り返しパトロールパケットの受信完了までの時間に対して、デバイス１１とチップセット２１間のインターフェイスの状態を判断（正常・異常を判断）するための閾値が予め与えられている。
【００４１】
次に、情報処理装置２の動作について説明する。上述のとおり、デバイス１１とチップセット２１の間の通信は、ＩＰコア１００とパケット転送制御部３００との間で行われる。その際に、デバイス１１とチップセット２１のインターフェイスが救済可能異常状態であった場合には、ＩＰパケット１００からパケット転送制御部３００に対して、同一パケットの再送信が行われる。パケットの再送信はパトロールパケットについても同様に行われる。
【００４２】
ここでは、パトロールパケットを使った救済可能異常状態の検出について説明する。パトロールパケット送受信部２１０は、デバイス１１とチップセット２１の間の通信が頻繁に行われていないことを確認しつつ、一定周期でパトロールパケットの送信指示をＩＰコア１００に対して行う。その際に、送信指示時におけるカウンタ２１１から取得したカウント値をパトロールパケットのデータ領域に埋め込む。なお、このパトロールパケットは通常の通信に用いるパケットとは異なるパケットであることを明示することが必要なのは上述のとおりである。
【００４３】
パトロールパケットの送信指示を受けたＩＰコア１００は、パケット転送制御部３００に対して、パトロールパケットを送信する。
【００４４】
次に、パトロールパケットを受信したパケット転送制御部３００の動作について説明する。図６は、パケット転送制御部３００の動作の一例を示すフローチャートである。
【００４５】
ステップＳ０１では、パケット転送制御部３００はパケットの受信を監視している。
【００４６】
その後、パケットを受信すると（ステップＳ０２）、受信パケットの正当性を検証する（ステップＳ０３）。その際に、正当なパケットを受信できなければ、ステップＳ０４に遷移する。正当なパケットが受信できれば、ステップＳ０５に遷移する。
【００４７】
受信したパケットが正当なパケットでなければ、パケット転送制御部３００からデバイス１１へ同一パケットの再送要求を行う（ステップＳ０４）。なお、再送要求を受けたデバイス１１のＩＰコア１００は、パケット再送要求の受信をユーザロジック２０１に通知せず、同一データのパケットを再送する。その後、パケット転送制御部３００はステップＳ０１に遷移し、パケットの受信待機状態となる。
【００４８】
ステップＳ０５では、受信したパケットの正当性は確認できているので、受信したパケットがパトロールパケットであるか否かを確認する。パトロールパケットでなければ、ステップＳ０６に遷移する。パトロールパケットであれば、ステップＳ０７に遷移する。
【００４９】
ステップＳ０６では、パトロールパケット以外の正当なパケットを受信しているため、受信パケットのヘッダ領域に明示されているコマンドに従った動作を行う。その後、ステップＳ０１に遷移し、パケットの受信待機状態となる。
【００５０】
ステップＳ０７では、パトロールパケット返信部４００に対しパトロールパケットの受信を通知する。通知を受けたパトロールパケット返信部４００では、パケット転送制御部３００に対して、パトロールパケットのデータ内容を改変することなく（データ内容の同一性を維持したまま）、折り返しパトロールパケットをデバイス１１に送信するようにパケット転送制御部３００に対して指示をする（ステップＳ０８）。
【００５１】
次に、ステップＳ０９において、パケット転送制御部３００はパトロールパケット以外のパケットを送信する必要があるか否かを確認する。他のパケットを送信する必要があれば（割り込み通信が存在すれば）、ステップＳ１０に遷移する。他のパケットを送信する必要がなければ、ステップＳ１１に遷移する。
【００５２】
ステップＳ１０では、折り返しパトロールパケットを破棄し、折り返しパトロールパケットの送信を中止する。つまり、割り込み通信を優先する。その結果、折り返しパトロールパケットを送信することによって、デバイス１１とチップセット２１との間のスループットが低下することはない。
【００５３】
ステップＳ１１では、デバイス１１に対して折り返しパトロールパケットを送信する。その後、ステップＳ０１に遷移し、パケットの受信待機状態となる。
【００５４】
次に、デバイス１１とチップセット２１間のパトロールパケットを用いた通信フローについて説明する。
【００５５】
初めに、デバイス１１とチップセット２１の通信状態に異常がない場合について説明する。図７は、デバイス１１とチップセット２１の通信状態が正常状態にある場合のタイミングチャートである。
【００５６】
時刻ｔ５において、パトロールパケット送受信部２１０からＩＰコア１００に対し、パトロールパケットの送信を指示する。パトロールパケットの送信指示を受けたＩＰコア１００は、パケット転送制御部３００に対してパトロールパケットを送信する。パケットを受信したパケット転送制御部３００は、受信したパケットがパトロールパケットであることを検出し、同一性を維持したまま折り返しパトロールパケットを送信する。折り返しパトロールパケットを受信したＩＰコア１００は、折り返しパトロールパケットを受信したことをパトロールパケット送受信部２１０に通知する。このときの時刻をｔ６とする。
【００５７】
次に、デバイス１１とチップセット２１の間の通信が救済可能異常状態である場合について説明する。図８は、デバイス１１とチップセット２１の通信が救済可能異常状態にある場合のタイミングチャートである。時刻ｔ７において、パトロールパケット送受信部２１０からＩＰコア１００に対し、パトロールパケットの送信を指示する。パトロールパケットの送信指示を受けたＩＰコア１００は、パケット転送制御部３００に対してパトロールパケットを送信する。その際に、デバイス１１とチップセット２１の間の通信が救済可能異常状態であることから、ＩＰコア１００から送信されたパケットを受信したパケット転送制御部３００では、受信したパケットの異常を検出する。その後、ＩＰコア１００に対し、同一パケットの再送を要求する。
【００５８】
再送要求のパケットを受信したＩＰコア１００は、再送要求を受信したことをユーザロジック２０１に通知することなく、同一パケットをパケット転送制御部３００へ再送信する。その後、受信したパケットの正当性を確認したパケット転送制御部３００は、受信パケットがパトロールパケットであることを検出する。その後、即座にデータ内容の同一性を維持したまま、折り返しパトロールパケットをＩＰコア１００に向けて送信する。折り返しパトロールパケットを受信したＩＰコア１００は、折り返しパトロールパケットの受信をパトロールパケット送受信部２１０へ通知する。このときの時刻をｔ８とする。
【００５９】
以上のように、デバイス１１とチップセット２１の間のインターフェイスが救済可能異常状態であると、同一のパケットの再送要求が行われる。そのため、インターフェイスが正常であった場合と比較して、パトロールパケット送受信部２１０がパトロールパケットを送信してから折り返しパトロールパケットを受信するまでの時間（パトロールパケット処理時間）は長くなる。より具体的には、図７の時刻ｔ５〜ｔ６の期間のよりも、図８の時刻ｔ７〜ｔ８の期間の方が長くなる。
【００６０】
パトロールパケット送受信部２１０では、正常通信状態時と救済可能異常状態時のパトロールパケット処理時間の相違に基づいて、通信状態を判断する。具体的には、パトロールパケット送受信部２１０は、ＩＰコア１００から折り返しパトロールパケットを受信したことの通知を受けた際に、カウンタ２１１からカウント値を取得する。この折り返しパトロールパケット受信時におけるカウント値と、折り返しパトロールパケット自身に埋め込まれているカウント値を比較することにより、パトロールパケット処理時間を算出する。
【００６１】
このパトロールパケット処理時間が、予め定めた閾値よりも長い場合には、デバイス１１とチップセット２１の間のインターフェイスに異常が存在するものと判断する。一方、パトロールパケット処理時間が、閾値よりも短い場合には、インターフェイスは正常であると判断する。パトロールパケット処理時間が閾値より短い場合は、正常状態であると判断できることから、引き続き処理を継続する。一方、パトロールパケット処理時間が閾値よりも長い場合には、デバイス１１とチップセット２１間の通信が、救済可能異常状態であると判断する。
【００６２】
デバイス１１とチップセット２１間の通信が救済可能異常状態であると判断した後は、必要な保守動作を行う。具体的には、通信状態が異常であることを保守者（ユーザ）へ通知することが考えられる。その際の通知方法は、情報処理装置２に表示器を備えておき、表示器により、保守者へ通知してもよい。若しくは、チップセット２１を経由して、別の機器（上位装置）を介して異常状態を通知してもよい。なお、デバイス１１とチップセット２１の間の通信は、救済不可能障害状態に至る前の救済可能異常状態であり、デバイス１１とチップセット２１間の通信は可能である。
【００６３】
異常状態の通知を受けた保守者は、情報処理装置２の周辺環境（温度、ノイズ等）の確認やアースを含めた電源状態の確認などを行い、救済可能異常状態となった原因を取り除く。その結果、システムとしての可用性を向上させることが可能となる。
【００６４】
なお、本実施形態の説明においては、パケット転送制御部３００とパトロールパケット返信部４００を分離して説明したが、パトロールパケット返信部４００の機能をパケット転送制御部３００で実現することも可能である。
【００６５】
上述のように、ＩＰコアには汎用品を採用することが多い。そのため、ＩＰコアの動作仕様を変更することはできない。そこで、ユーザロジック２０１からＩＰコア１００に対して、パトロールパケットの送信を指示する。同時に、パトロールパケット送信時のカウント値をパトロールパケットに埋め込む。その後、チップセット２１からパトロールパケットと同一性を維持したまま、折り返しパトロールパケットが返信されてくるので、折り返しパトロールパケットの返信時と折り返しパトロールパケットに書き込まれたカウント値を比較することで、パトロールパケットの送受信に要した時間を計測する。この計測時間（パトロールパケット処理時間）に基づいて、通信状態を判断する。
【００６６】
このように、本実施形態に係る情報処理装置２では、汎用品のＩＰコア内部で隠蔽されてしまう救済可能異常状態発生時のリトライ処理を、ユーザロジック２０１で検出することにより、救済不可能障害状態に至る前の異常状態を検出している。即ち、完全な通信障害に至る前に、間欠に発生する故障を検出することが可能である。さらに、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等により、コマンドの処理時間を計測するわけではなく、パトロールパケット処理時間の計測にＣＰＵ等の資源を使用する必要がない。
【００６７】
また、特許文献１で開示された技術では、パトロールパケットにより送信先の機器が動作可能か否かを検出しているのに対し、本実施形態に係る情報処理装置２ではパトロールパケットを使って通信状態の悪化を未然に防いでいる点が相違する。
【００６８】
なお、上記の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。例えば、チップセットにＩＰコアが存在すれば、チップセットにＩＰコア及びパトロールパケット送受信部を備え、チップセットからデバイスに対しパトロールパケットを送信する構成とすることも可能である。また、デバイス及びチップセットの双方でパトロールパケット送受信部、パトロールパケット返信部を備え、パトロールパケットを相互に送受信してもよい。
【符号の説明】
【００６９】
１、２  情報処理装置
１０、１１  デバイス
２０、２１  チップセット
１００  ＩＰコア
２００、２０１  ユーザロジック
２１０  パトロールパケット送受信部
２１１  カウンタ
３００  パケット転送制御部
４００  パトロールパケット返信部
【図１】
2012181592.tif 000003
【図２】
2012181592.tif 000004
【図３】
2012181592.tif 000005
【図４】
2012181592.tif 000006
【図５】
2012181592.tif 000007
【図６】
2012181592.tif 000008
【図７】
2012181592.tif 000009
【図８】
2012181592.tif 000010