(57)【特許請求の範囲】
【請求項１】
ネットワークに対して送受信する通信データを処理するネットワーク処理部と、このネットワーク処理部を介した通信動作を制御する通信制御処理部と、を備えたコンピュータであって、
前記ネットワーク処理部による通信データの処理結果を取り出す処理結果取出手段と、前記通信制御処理部にて前記ネットワーク処理部による処理と同一の通信データの処理を実行する同一処理実行手段と、前記ネットワーク処理部による処理結果と前記通信制御処理部による処理結果とを比較する処理結果比較手段と、この比較結果に基づいて前記ネットワーク処理部の少なくとも一部の処理を代替する通信処理代替手段と、を備えた、
ことを特徴とするコンピュータ。
【請求項２】
前記ネットワーク処理部は、通信データを処理する複数の処理部を備え、
前記処理結果取出手段は、前記ネットワーク処理部が備えた複数の処理部のうち少なくとも１の処理部の処理結果を取り出すと共に、
前記同一処理実行手段は、少なくとも前記処理結果取出手段にて処理結果を取り出す前記ネットワーク処理部が備えた処理部と同一の処理を実行し、
前記通信処理代替手段は、前記処理結果比較手段による比較結果に基づいて前記ネットワーク処理部が備えた処理部のうち障害部位を特定し、この障害部位による通信データの処理を代替する、
ことを特徴とする請求項１記載のコンピュータ。
【請求項３】
前記通信処理代替手段は、前記通信制御処理部が前記障害部位による通信データの処理を実行して、この処理済データを前記ネットワーク処理部に送信する、
ことを特徴とする請求項２記載のコンピュータ。
【請求項４】
前記通信処理代替手段は、前記ネットワーク処理部内に設けられた前記障害部位の次に通信データの処理を実行する処理部に対して前記処理済データを送信する、
ことを特徴とする請求項３記載のコンピュータ。
【請求項５】
前記ネットワーク処理部は、ＴＣＰオフロードエンジンと、ＩＰ処理部と、イーサネット処理部と、を備え、
前記処理結果比較手段は、前記ネットワーク処理部のＴＣＰオフロードエンジンによる処理結果と、前記通信制御処理部によるＴＣＰ処理結果とを比較し、
前記通信処理代替手段は、比較結果に基づいて前記ＴＣＰオフロードエンジンの障害を検出して、通信データにＴＣＰ処理を施した前記処理済データを前記ネットワーク処理部のＩＰ処理部に送信する、
ことを特徴とする請求項３又は４記載のコンピュータ。
【請求項６】
前記ネットワーク処理部及び前記通信制御処理部にて処理結果を比較するために処理する通信データは、ダミーデータである、
ことを特徴とする請求項１，２，３，４又は５記載のコンピュータ。
【請求項７】
前記ネットワーク処理部と同一構成の他のネットワーク処理部を備え、
前記通信処理代替手段は、前記ネットワークに対して送受信する通信データの処理を前記他のネットワーク処理部にて行うよう設定する、
ことを特徴とする請求項１又は２記載のコンピュータ。
【請求項８】
前記処理結果取出手段は、前記他のネットワーク処理部による通信データの処理結果を取り出し、
前記処理結果比較手段は、前記ネットワーク処理部による処理結果と前記通信制御処理部による処理結果とを比較すると共に、前記他のネットワーク処理部による処理結果と前記通信制御処理部による処理結果とを比較する、
ことを特徴とする請求項７記載のコンピュータ。
【請求項９】
前記ネットワーク処理部及び前記他のネットワーク処理部は、ＴＣＰオフロードエンジンと、ＩＰ処理部と、イーサネット処理部と、をそれぞれ備えた、
ことを特徴とする請求項８記載のコンピュータ。
【請求項１０】
前記ネットワーク処理部、前記他のネットワーク処理部、及び、前記通信制御処理部にて処理結果を比較するために処理する通信データは、ダミーデータである、
ことを特徴とする請求項７，８又は９記載のコンピュータ。
【請求項１１】
ネットワークに対して送受信する通信データを処理するネットワーク処理部と、このネットワーク処理部を介した通信動作を制御する通信制御処理部と、を備えたコンピュータに、
前記ネットワーク処理部による通信データの処理結果を取り出す処理結果取出手段と、前記通信制御処理部にて前記ネットワーク処理部による処理と同一の通信データの処理を実行する同一処理実行手段と、前記ネットワーク処理部による処理結果と前記通信制御処理部による処理結果とを比較して当該比較結果に基づいて前記ネットワーク処理部の少なくとも一部の処理を代替する通信処理代替手段と、
を実現させるためのプログラム。
【請求項１２】
前記処理結果取出手段は、前記ネットワーク処理部が有する通信データを処理する複数の処理部のうち少なくとも１の処理部の処理結果を取り出すると共に、
前記同一処理実行手段は、少なくとも前記処理結果取出手段にて処理結果を取り出す前記前記ネットワーク処理部が備えた処理部と同一の処理を実行し、
前記通信処理代替手段は、前記比較結果に基づいて前記ネットワーク処理部が備えた処理部のうち障害部位を特定し、この障害部位による通信データの処理を代替する、
ことを特徴とする請求項１１記載のプログラム。
【請求項１３】
前記通信処理代替手段は、前記通信制御処理部が前記障害部位による通信データの処理を実行して、この処理済データを前記ネットワーク処理部に送信する、
ことを特徴とする請求項１２記載のプログラム。
【請求項１４】
前記通信処理代替手段は、前記ネットワークに対して送受信する通信データの処理を、前記ネットワーク処理部と同一構成の他のネットワーク処理部にて行うよう設定する、
ことを特徴とする請求項１２記載のプログラム。
【請求項１５】
ネットワークに対して送受信する通信データを処理するネットワーク処理部と、このネットワーク処理部を介した通信動作を制御する通信制御処理部と、を備えたコンピュータにて通信処理を行う方法であって、
前記ネットワーク処理部による通信データの処理結果を取り出す処理結果取出工程と、
この処理結果取出工程に前後して、前記通信制御処理部にて前記ネットワーク処理部による処理と同一の通信データの処理を実行する同一処理実行工程と、
前記ネットワーク処理部による処理結果と前記通信制御処理部による処理結果とを比較する処理結果比較工程と、
前記比較結果に基づいて前記ネットワーク処理部の少なくとも一部の処理を代替する通信処理代替工程と、
を有することを特徴とする通信処理方法。
【請求項１６】
前記処理結果取出工程は、前記ネットワーク処理部が有する通信データを処理する複数の処理部のうち少なくとも１の処理部の処理結果を取り出すると共に、
前記同一処理実行工程は、少なくとも前記処理結果取出工程にて処理結果を取り出す前記ネットワーク処理部が備えた処理部と同一の処理を実行し、
前記通信処理代替工程は、前記比較結果に基づいて前記ネットワーク処理部が備えた処理部のうち障害部位を特定し、この障害部位による通信データの処理を代替する、
ことを特徴とする請求項１５記載の通信処理方法。
【請求項１７】
前記通信処理代替工程は、前記通信制御処理部が前記障害部位による通信データの処理を実行して、この処理済データを前記ネットワーク処理部に送信する、
ことを特徴とする請求項１６記載の通信処理方法。
【請求項１８】
前記通信処理代替工程は、前記ネットワークに対して送受信する通信データの処理を、前記ネットワーク処理部と同一構成の他のネットワーク処理部にて行うよう設定する、
ことを特徴とする請求項１６記載の通信処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにかかり、特に、ネットワークに接続するための処理を行うネットワーク処理部を備えたコンピュータに関する。
【背景技術】
【０００２】
近年、コンピュータにて、通信ネットワークに接続し、他のコンピュータにアクセスすることが実現されている。このとき、コンピュータは、ネットワーク装置による処理を利用して、通信ネットワークに接続している。そして、ネットワーク装置は、例えば、ＴＰＣ／ＩＰ処理などを行うことで、データ通信を実現している。
【０００３】
一方で、コンピュータに搭載のネットワーク装置は、当該ネットワーク装置内の一部に故障が発生した場合、そのネットワーク装置自体を切り離し他のネットワーク装置へ切り替えることで、接続されたネットワークへの影響を最小化していた。例えば、特許文献１は、コンピュータに外付けされたネットワーク接続装置を二重化して備え、一方に障害が発生した場合に、他方に切り替える、という技術を開示している。
【０００４】
【特許文献１】特開平９−９１２３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、トランザクションが多いネットワークにおいては、ネットワーク装置のインターフェースの切り離しがパケットストームやハートビート確認不可によるシステムダウンを引き起こす可能性があった。このため、ネットワーク装置自体の可用性の向上を図ることができず、信頼性に欠ける、という問題があった。
【０００６】
このため、本発明では、上記従来例の有する不都合を改善し、特に、ネットワーク装置が搭載されたコンピュータのネットワーク接続時における可用性の向上を図ることができ、コンピュータの信頼性の向上を図ることをその目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明の一形態であるコンピュータは、
ネットワークに対して送受信する通信データを処理するネットワーク処理部と、このネットワーク処理部を介した通信動作を制御する通信制御処理部と、を備え、ネットワーク処理部による通信データの処理結果を取り出す処理結果取出手段と、通信制御処理部にてネットワーク処理部による処理と同一の通信データの処理を実行する同一処理実行手段と、ネットワーク処理部による処理結果と通信制御処理部による処理結果とを比較する処理結果比較手段と、この比較結果に基づいてネットワーク処理部の少なくとも一部の処理を代替する通信処理代替手段と、を備えた、という構成を採っている。
【発明の効果】
【０００８】
本発明は、以上のように構成されているため、これによると、一時的なネットワーク装置の停止を抑制してネットワーク接続の継続利用を図り、コンピュータの可用性を向上させ、コンピュータの信頼性の向上を図ることができる、という従来例にない優れた効果を有する。
【発明を実施するための最良の形態】
【０００９】
本発明の一形態におけるコンピュータは、ネットワークに対して送受信する通信データを処理するネットワーク処理部と、このネットワーク処理部を介した通信動作を制御する通信制御処理部と、を備えている。そして、ネットワーク処理部による通信データの処理結果を取り出す処理結果取出手段と、通信制御処理部置にてネットワーク処理部による処理と同一の通信データの処理を実行する同一処理実行手段と、ネットワーク処理部による処理結果と通信制御処理部による処理結果とを比較する処理結果比較手段と、この比較結果に基づいてネットワーク処理部の少なくとも一部の処理を代替する通信処理代替手段と、を備えた、という構成を採っている。
【００１０】
そして、本発明では、上記ネットワーク処理部が、通信データを処理する複数の処理部を備え、処理結果取出手段は、複数の処理部のうち少なくとも１の処理部の処理結果を取り出すと共に、同一処理実行手段は、少なくとも処理結果取出手段にて処理結果を取り出す処理部と同一の処理を実行し、通信処理代替手段は、処理結果比較手段による比較結果に基づいてネットワーク処理部が備えた処理部のうち障害部位を特定し、この障害部位による通信データの処理を代替する、という構成を採る。
【００１１】
上記発明によると、まず、ネットワーク処理部にて通信データを処理して、その処理結果を取り出す。また、ネットワーク処理部と同一の処理を、通信制御処理部にて行う。そして、ネットワーク処理部による処理結果と通信制御処理部による処理結果とを比較する。これにより、例えば、複数の処理部からなるネットワーク処理部の障害部位を特定する。そして、比較結果に基づいて、ネットワーク処理部の一部の処理、つまり、障害部位による処理を代替する。従って、仮にネットワーク処理部に障害が生じた場合であっても、かかる障害が生じた部位による処理を他で代替するため、一時的なネットワーク処理の停止を抑制でき、可用性の向上を図り、コンピュータの信頼性の向上を図ることができる。
【００１２】
また、本発明では、上記通信処理代替手段は、通信制御処理部が障害部位による通信データの処理を実行して、この処理済データをネットワーク処理部に送信する、という構成を採る。また、上記通信処理代替手段は、ネットワーク処理部内に設けられた障害部位の次に通信データの処理を実行する処理部に対して処理済データを送信する、という構成を採る。また、ネットワーク処理部は、ＴＣＰオフロードエンジンと、ＩＰ処理部と、イーサネット処理部と、を備え、処理結果比較手段は、ネットワーク処理部のＴＣＰオフロードエンジンによる処理結果と、通信制御処理部によるＴＣＰ処理結果とを比較し、通信処理代替手段は、比較結果に基づいてＴＣＰオフロードエンジンの障害を検出して、通信データにＴＣＰ処理を施した処理済データをネットワーク処理部のＩＰ処理部に送信する、という構成を採る。さらに、ネットワーク処理部及び通信制御処理部にて処理結果を比較するために処理する通信データは、ダミーデータである、と言う構成を採る。
【００１３】
これにより、ネットワーク処理部に備えられたＴＣＰ処理部の障害を検出することができる。そして、障害が生じた場合であっても、迅速に復旧することができ、コンピュータの稼働の停止を抑制することができる。特に、ダミーデータにて障害の発生を検出できるため、通信中ではなく、任意のタイミングで障害の検出を行うことができる。
【００１４】
また、本発明では、上記ネットワーク処理部と同一構成の他のネットワーク処理部を備え、上記通信処理代替手段は、ネットワークに対して送受信する通信データの処理を他のネットワーク処理部にて行うよう設定する、という構成を採る。また、上記処理結果取出手段は、他のネットワーク処理部による通信データの処理結果を取り出し、処理結果比較手段は、ネットワーク処理部による処理結果と通信制御処理部による処理結果とを比較すると共に、他のネットワーク処理部による処理結果と通信制御処理部による処理結果とを比較する、という構成を採る。また、ネットワーク処理部及び他のネットワーク処理部は、ＴＣＰオフロードエンジンと、ＩＰ処理部と、イーサネット処理部と、をそれぞれ備えた、という構成を採る。さらに、ネットワーク処理部、他のネットワーク処理部、及び、通信制御処理部にて処理結果を比較するために処理する通信データは、ダミーデータである、という構成を採る。
【００１５】
これにより、ネットワーク処理部に障害が生じた場合でも、同一構成の他のネットワーク処理部にてネットワークに対する通信データの送受信処理を行うよう設定することで、ネットワーク処理部の一部の処理、つまり、障害部位による処理を、他のネットワーク処理部にて代替することができる。従って、一時的なネットワーク処理の停止を抑制でき、可用性の向上を図り、コンピュータの信頼性の向上を図ることができる。
【００１６】
また、本発明の他の形態であるプログラムは、ネットワークに対して送受信する通信データを処理するネットワーク処理部と、このネットワーク処理部を介した通信動作を制御する通信制御処理部と、を備えたコンピュータに、ネットワーク処理部による通信データの処理結果を取り出す処理結果取出手段と、通信制御処理部にてネットワーク処理部による処理と同一の通信データの処理を実行する同一処理実行手段と、ネットワーク処理部による処理結果と通信制御処理部による処理結果とを比較して当該比較結果に基づいてネットワーク処理部の少なくとも一部の処理を代替する通信処理代替手段と、を実現させる、という構成を採る。
【００１７】
また、上記処理結果取出手段は、ネットワーク処理部が有する通信データを処理する複数の処理部のうち少なくとも１の処理部の処理結果を取り出すると共に、同一処理実行手段は、少なくとも処理結果取出手段にて処理結果を取り出すネットワーク処理部が備えた処理部と同一の処理を実行し、通信処理代替手段は、比較結果に基づいてネットワーク処理部が備えた処理部のうち障害部位を特定し、この障害部位による通信データの処理を代替する、という構成を採る。
【００１８】
また、上記通信処理代替手段は、通信制御処理部が障害部位による通信データの処理を実行して、この処理済データをネットワーク処理部に送信する、という構成を採る。あるいは、上記通信処理代替手段は、ネットワークに対して送受信する通信データの処理を、ネットワーク処理部と同一構成の他のネットワーク処理部にて行うよう設定する、という構成を採る。
【００１９】
また、本発明の他の形態である通信処理方法は、ネットワークに対して送受信する通信データを処理するネットワーク処理部と、このネットワーク処理部を介した通信動作を制御する通信制御処理部と、を備えたコンピュータにて通信処理を行う方法であって、ネットワーク処理部による通信データの処理結果を取り出す処理結果取出工程と、この処理結果取出工程に前後して、通信制御処理部にてネットワーク処理部による処理と同一の通信データの処理を実行する同一処理実行工程と、ネットワーク処理部による処理結果と通信制御処理部による処理結果とを比較する処理結果比較工程と、比較結果に基づいてネットワーク処理部の少なくとも一部の処理を代替する通信処理代替工程と、を有する、という構成を採る。
【００２０】
また、上記処理結果取出工程は、ネットワーク処理部が有する通信データを処理する複数の処理部のうち少なくとも１の処理部の処理結果を取り出すると共に、同一処理実行工程は、少なくとも処理結果取出工程にて処理結果を取り出すネットワーク処理部が備えた処理部と同一の処理を実行し、通信処理代替工程は、比較結果に基づいてネットワーク処理部が備えた処理部のうち障害部位を特定し、この障害部位による通信データの処理を代替する、という構成を採る。さらに、上記通信処理代替工程は、通信制御処理部が障害部位による通信データの処理を実行して、この処理済データをネットワーク処理部に送信する、という構成を採る。あるいは、通信処理代替工程は、ネットワークに対して送受信する通信データの処理を、ネットワーク処理部と同一構成の他のネットワーク処理部にて行うよう設定する、という構成を採る。
【００２１】
上述した構成のプログラム、方法の発明にであっても、上記コンピュータと同様に作用するため、上述した本発明の目的を達成することができる。以下、本発明の具体的な構成及び動作を、実施例にて説明する。
【実施例１】
【００２２】
本発明の第１の実施例を、図１乃至図３を参照して説明する。図１乃至図２は、本実施例におけるコンピュータの構成を示すブロック図であり、図３は、コンピュータの動作を示すシーケンス図である。
【００２３】
［構成］
図１に示すように、本実施例におけるコンピュータ１は、まず、マウスやキーボードなどの操作手段１１と、コンピュータ自体の動作を管理するＯＳ管理部２と、ＯＳ管理部２の状態を表示する表示手段１２と、通信ネットワーク１０に対する通信データの送受信処理を行うネットワーク装置３と、を備えている。以下、各構成について詳述する。
【００２４】
まず、ネットワーク装置３は、コンピュータ１を外部の通信ネットワーク１０に接続する機能を有している。具体的には、図１に示すように、ＴＣＰオフロードエンジン４１と、ＩＰ処理部４２と、イーサネット処理部４３と、ネットワークインターフェース４３と、を有するネットワーク主要処理部４（ネットワーク処理部）と、ネットワークインターフェース６と、メモリ５と、を備えている。ここで、上記ネットワーク主要処理部４は、ＯＳ管理部２からの指令に応じて、上記各処理部４１，４２，４３にて通信データをＴＣＰ／ＩＰ処理する機能を有する。つまり、上述したように、本来はＯＳ管理部２で可能な通信データの処理を実行する通信専用の各処理部４１，４２，４３を備え、ＯＳ管理部２の処理負担を軽減している。また、本実施例におけるネットワーク装置３は、ＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３、といった各処理結果をメモリ５に取り出すためのバイパス回路７１を備えており、これにより、各処理部４１，４２，４３の処理結果をメモリ５に記憶することが可能である。そして、このメモリ５に記憶された処理結果は、ＯＳ管理部２にて取得可能である。
【００２５】
なお、ネットワーク主要処理部４の各処理部４１，４２，４３による処理結果とは、診断時にＯＳ管理部２から符号７２に示すパス７２を介してＴＣＰオフロードエンジン４１に通信データとしてのダミーデータが送信されるが、このダミーデータに対して各処理部４１，４２，４３にて実行された処理結果である。そして、各処理部４１，４２，４３の処理結果であることを表すヘッダ付きデータが、メモリ５に記憶される。ここで、ＯＳ管理部２からダミーデータが送信され各処理部４１，４２，４３の処理結果を取得する診断のタイミングは、例えば、（１）コンピュータ起動時のマシンイニシャライズ中、（２）通信ネットワークから送受信したパケットにチェックサムエラーがあった時、（３）ＯＳ管理部２による定期的なポーリング、（４）ユーザによる操作手段１１からの起動、などがある。但し、通常のネットワーク処理時における処理結果をメモリに取り出してもよい。
【００２６】
また、ＯＳ管理部２（通信制御処理部）は、上記ネットワーク装置３を介した通信動作を制御する制御装置である。そして、このＯＳ管理部２は、図２に示すように、所定のプログラムが組み込まれることで構築される、通信データ処理部２１と、同一処理実行部２２と、処理結果取得部２３と、処理結果比較部２４と、通信処理代替部２５と、を備えている。
【００２７】
上記通信データ処理部２１は、基本的には、ネットワーク装置３を介した通信処理を制御する機能を有する。従って、通常の通信処理時には、ＴＣＰオフロードエンジン４１に対して、通信データの送受信を行う。また、通信データ処理部２１は、上述した診断のタイミングで、パス７２を介してＴＣＰオフロードエンジン４１にダミーデータを送信する機能を有する。さらに、通信データ処理部２１は、後述する通信処理代替部２５からの指令に応じて、ＴＣＰオフロードエンジン４１の故障を検出した場合に、通信データに対してＴＣＰ処理を実行し、その処理済データを符号７３に示すパス７３を介してＩＰ処理部４２に送信する機能を有する。かかる機能については後述する。
【００２８】
また、上記同一処理実行部２２（同一処理実行手段）は、上述した通信データ処理部２１にてＴＣＰオフロードエンジン４１にダミーデータを送信した際に、当該ダミーデータに対する通信処理を実行する。つまり、ネットワーク装置３内のＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３、でそれぞれ実行される処理と同一の処理を実行し、各段階（ＴＣＰ、ＩＰ、イーサネット）における処理結果を各段階による処理であることを表すヘッダ付きデータとして生成する。
【００２９】
また、上記処理結果取得部２３は、上述したように、メモリ５に記憶されたネットワーク主要処理部４の各処理部４１，４２，４３による処理結果を取得する。そして、同一処理実行部２２にて実行した処理結果と共に、処理結果比較部２４に渡す。このように、処理結果取得部２３は、上述したバイパス７１及びメモリ５と共に、ネットワーク装置３に装備された各処理部４１，４２，４３による処理結果を取り出す処理結果取出手段として機能する。
【００３０】
また、上記処理結果比較部２４（処理結果比較手段）は、上述したように取得したネットワーク装置３の各処理部４１，４２，４３による処理結果と、ＯＳ管理部２による各処理結果と、を比較する。具体的には、ＴＣＰオフロードエンジン４１による処理結果と、ＯＳ管理部２によるＴＣＰ処理の処理結果、ＩＰ処理部４２による処理結果とＯＳ管理部２によるＩＰ処理の処理結果、イーサネット処理部４３による処理結果とＯＳ管理部２によるイーサネット処理の処理結果、というように、それぞれ対応して同一の処理内容となるはずの処理結果を比較する。そして、比較した結果を、通信処理代替部２５に通知する。
【００３１】
通信処理代替部２５は、比較した結果、各処理に差異が生じた場合には、ネットワーク装置３の処理部４１，４２，４３が故障している、と判断する。例えば、ＴＣＰオフロードエンジン４１による処理結果と、ＯＳ管理部２によるＴＣＰ処理の結果とに差異があると、当該ＴＣＰオフロードエンジン４１が故障している（障害が発生している）と判断する。かかる状況で、さらに、ＩＰ処理部４２による処理結果とＯＳ管理部２によるＩＰ処理の結果、イーサネット処理部４３による処理結果とＯＳ管理部２によるイーサネット処理の結果、にそれぞれ差異がない場合には、ＴＣＰオフロードエンジン４１のみが故障したと判断する。この場合に、通信処理代替部２５は、通信データ処理部２１に指令を発し、その後の通信データは通信データ処理部２１にてＴＣＰオフロードエンジン４１と同一のＴＣＰ処理を施して、パス７３を介してＴＣＰオフロードエンジン４１の次の処理を行うＩＰ処理部４２に送信するよう指示する。以上のように、通信処理代替部２５と通信データ処理部２１とは、ネットワーク装置３の一部の処理を代替して行う通信処理代替手段として機能する。一方、ＩＰ処理部４２等の処理結果にも差異が生じた場合には、リカバリーが困難な場合が多いため、ネットワーク装置３自体の動作を停止する。
【００３２】
［動作］
次に、上記構成のコンピュータ１の動作を、図３のシーケンス図を参照して説明する。なお、ここでは、ＴＣＰオフロードエンジン４１を使用していたが、稼働中に故障した場合を想定して説明する。
【００３３】
まず、例えば、以下の４つの動作を契機として、故障診断処理が実行される。
（１）コンピュータ起動時のマシンイニシャライズ中
（２）通信ネットワーク１０から送受信したパケットにチェックサムエラーがあった時
（３）ＯＳ管理部２による定期的なポーリング
（４）ユーザによる操作手段１１からの起動
そして、上記タイミングで、ＯＳ管理部２は、ダミーの通信データを、パス７２を経由してネットワーク装置３のＴＣＰオフロードエンジン４１に送信する（ステップＳ１）。すると、ネットワーク装置３のＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３、のそれぞれが、ダミーデータに対する処理を実行する（ステップＳ２）。そして、各処理部４１，４２，４３による処理結果となるヘッダ付きデータを、バイパス回路７１を介してメモリ５に保存する（ステップＳ３、処理結果取出工程）。
【００３４】
また、上記ステップ２と並行して、ＯＳ管理部２はネットワーク装置３に送信したダミーデータに対して、ＴＣＰ、ＩＰ、イーサネットの、各段階における処理を実行し、それぞれヘッダ付きデータを生成する（ステップＳ４）。つまり、正常なネットワーク装置３のＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３による各処理結果を、ＯＳ管理部２にて生成する（同一処理実行工程）。
【００３５】
続いて、ＯＳ処理部２は、メモリ５から、ＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３、が実際に処理したヘッダ付きデータを取得する（ステップＳ５、処理結果取得工程）。さらに、ＯＳ管理部２にてＴＣＰ、ＩＰ、イーサネット処理を実行して生成した処理結果であるヘッダ付きデータを読み出して、それぞれ対応する処理同士の処理結果であるヘッダ付きデータを比較する（ステップＳ６、処理結果比較工程）。
【００３６】
すると、ここでは、ＴＣＰオフロードエンジン４１の処理結果と、ＴＣＰ処理の結果に差分が出る。このとき、さらに、ＩＰ、イーサネット処理後の比較結果に、両方とも差分が出ない場合には、ＴＣＰオフロードエンジン４１のみが故障したと判断する（ステップＳ７）。そして、このＴＣＰオフロードエンジン４１を論理的に切り離すと共に、ＯＳ管理部２では、通信制御時に、通信パケットにＴＣＰ処理を実行し、その処理済の通信パケットを、パス７３経由でＩＰ処理部４２に送信する。つまり、故障したＴＣＰオフロードエンジン４１に替わってＯＳ管理部２が通信データに対してＴＣＰ処理を行い、これをＴＣＰオフロードエンジン４１の先に位置するＩＰ処理部４２に送信する（ステップＳ８、通信処理代替工程）。これにより、以後の通信ネットワークに対する通信処理を正常に実行することができる。
【００３７】
なお、さらに、ＩＰ、イーサネット処理後の比較結果に差分が出た場合には、上記構成ではネットワーク装置３のリカバリーは不可能であるため、ネットワーク装置３全体を停止する。その後、上述したステップＳ７，８の処理結果や、ネットワーク装置３の停止の旨を、表示手段１２に表示する。
【００３８】
以上のように、本実施例によると、仮にネットワーク装置３に障害が生じた場合であっても、かかる障害が生じた部位による処理をＯＳ管理部２にて代替するため、一時的なネットワーク装置の停止を抑制でき、可用性の向上を図り、コンピュータ１の信頼性の向上を図ることができる。
【００３９】
ここで、上記では、メモリ５に各処理部４１，４２，４３の処理結果を取り出し、また、これらに対応する各処理をＯＳ管理部２にて実行する場合を例示したが、必ずしも上述した処理を実行することに限定されない。例えば、障害の発生頻度の高い処理のみをメモリ５に取り出し、また、ＯＳ管理部２にて実行して比較し、障害の発生を検出して、かかる障害部位の代替処理を行ってもよい。つまり、上記では、ＴＣＰオフロードエンジン４１が故障した場合を例示したが、他の処理部４２，４３の故障を検出した場合に、ネットワーク処理部４による通信データに対する処理をＯＳ管理部２にて実行して、ネットワークインターフェース６に送信してもよい。
【実施例２】
【００４０】
次に、本発明の第２の実施例を、図４乃至図６を参照して説明する。図４乃至図５は、本実施例におけるコンピュータの構成を示すブロック図であり、図５は、コンピュータの動作を示すシーケンス図である。
【００４１】
［構成］
本実施例におけるコンピュータ１は、実施例１のものとほぼ同様の構成を採っている。従って、以下では、実施例１と異なる構成について特に説明する。
【００４２】
図４に示すように、本実施例におけるコンピュータ１のネットワーク装置３は、上述したメモリ５に替えて、フレーム比較部５１を備えている。このフレーム比較部５１は、ネットワーク主要処理部４に設けられたＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３、による各処理結果を、バイパス回路７１を介して取り出す。また、フレーム比較部５１は、図５に示すように、ＯＳ管理部２に設けられた同一処理実行部２２によって生成されたＴＣＰ、ＩＰ、イーサネットの各処理結果を表すデータを取得する。そして、フレーム比較部５１は、上記ネットワーク主要処理部４の各処理部４１，４２，４３による各処理結果と、ＯＳ管理部２による各処理結果と、を比較する機能を有する。このように、フレーム比較部５１は、処理結果取得手段及び処理結果比較手段として機能する。また、この比較結果をＯＳ管理部２に設けられた比較結果取得部２６に通知する。そして、この比較結果を取得したＯＳ管理部２は、通信処理代替部２５にて、上述同様に、ネットワーク主要処理部４の故障を検出し、その代替処理を行う。
【００４３】
［動作］
次に、実施例２におけるコンピュータ１の動作を、図６のシーケンス図を参照して説明する。なお、ここでは、ＴＣＰオフロードエンジン４１を使用していたが、稼働中に故障した場合を想定して説明する。
【００４４】
まず、上述したような診断のタイミングで、ＯＳ管理部２は、ダミーの通信データをパス７２を経由して、ネットワーク装置３のＴＣＰオフロードエンジン４１に送信する（ステップＳ１１）。すると、ネットワーク装置３内のＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３、のそれぞれが、ダミーデータに対する処理を実行する（ステップＳ１２）。そして、各処理部４１，４２，４３による処理結果となるヘッダ付きデータは、バイパス回路７１を介してフレーム比較部５１にて取り出される（処理結果取出工程）。
【００４５】
また、上記ステップ２と並行して、ＯＳ管理部２はネットワーク装置３に送信したダミーデータに対して、ＴＣＰ、ＩＰ、イーサネットの、各段階における処理を実行し、それぞれヘッダ付きデータを生成する（ステップＳ１３）。つまり、正常なネットワーク装置３のＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３による各処理結果を、ＯＳ管理部２にて生成する（同一処理実行工程）。そして、ＯＳ処理部２は、これら処理結果を、フレーム比較部５１に送信する（ステップＳ１４）。
【００４６】
続いて、フレーム比較部５１は、ＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３、が実際に処理したヘッダ付きデータと、ＯＳ管理部２にてＴＣＰ、ＩＰ、イーサネット処理を実行して生成した処理結果であるヘッダ付きデータとを比較する（ステップＳ１５、処理結果比較工程）。そして、その比較結果をＯＳ管理部２に送信する（ステップＳ１６）。
【００４７】
その後、ＯＳ管理部２では、上述同様に、比較結果からネットワーク装置３の障害箇所を特定する。ここでは、ＴＣＰオフロードエンジン４１の処理結果と、ＯＳ管理部２によるＴＣＰ処理の結果に差分が出たとする。このとき、さらに、ＩＰ、イーサネット処理後の比較結果に、両方とも差分が出ない場合には、ＴＣＰオフロードエンジン４１のみが故障したと判断する（ステップＳ１７）。そして、このＴＣＰオフロードエンジン４１を論理的に切り離すと共に、ＯＳ管理部２では、通信制御時に、ＴＣＰ処理した通信パケットを、パス７３経由でＩＰ処理部４２に送信する。つまり、故障したＴＣＰオフロードエンジン４１に替わってＯＳ管理部２が通信データに対してＴＣＰ処理を行い、これをＴＣＰオフロードエンジン４１の先に位置するＩＰ処理部４２に送信する（ステップＳ１８、通信処理代替工程）。これにより、通信ネットワークに対する通信処理を継続することができる。
【００４８】
なお、さらに、ＩＰ、イーサネット処理後の比較結果に差分が出た場合には、上記構成ではネットワーク装置３のリカバリーは不可能であるため、ネットワーク装置３全体を停止する。その後、上述したステップＳ７，８の処理結果や、ネットワーク装置３の停止の旨を、表示手段１２に表示する。
【００４９】
以上のように、本実施例によると、仮にネットワーク装置３に障害が生じた場合であっても、かかる障害が生じた部位による処理をＯＳ管理部２にて代替するため、一時的なネットワーク装置の停止を抑制でき、可用性の向上を図り、コンピュータ１の信頼性の向上を図ることができる。
【実施例３】
【００５０】
次に、本発明の第３の実施例を、図７乃至図９を参照して説明する。図７乃至図８は、本実施例におけるコンピュータの構成を示すブロック図であり、図９は、コンピュータの動作を示すシーケンス図である。
【００５１】
［構成］
本実施例におけるコンピュータ１は、基本的には、実施例１のものとほぼ同様の構成を採っている。そして、本実施例では、さらに、ネットワーク装置３内に、ネットワーク主要処理部４，１０４を２つ備えている。つまり、稼動系となるＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３、を有する第１ネットワーク主要処理部４と、待機系となるＴＣＰオフロードエンジン１４１、ＩＰ処理部１４２、イーサネット処理部１４３、を有する第２ネットワーク主要処理部１０４と、を備えている。また、上記各ネットワーク主要処理部４，１０４内の各処理部から、それぞれの処理結果をバイパス回路７１を介して取り出す記憶するメモリ５を備えている。
【００５２】
また、本実施例におけるＯＳ管理部２は、基本的には、上述した実施例１と同様に、通信データ処理部１２１、同一処理実行部２２、処理結果取得部１２３、処理結果比較部１２４、通信処理代替部１２５を備えている。そして、通信データ処理部１２１は、通常時には、稼動系である第１ネットワーク主要処理部４のＴＣＰオフロードエンジン４１に対して、パス７２を介して通信データの送受信を行う。また、通信データ処理部１２１は、上述した診断のタイミングで、パス７２及びパス７５を介して、第１及び第２のネットワーク主要処理部４，１０４の各ＴＣＰオフロードエンジン４１，１４１に、それぞれダミーデータを送信する機能を有する。さらに、通信データ処理部１２１は、後述する通信処理代替部１２５からの指令に応じて、稼動系の第１ネットワーク主要処理部４の構成の故障を検出した場合に、待機系の第２ネットワーク主要処理部１０４を稼動系として設定し、当該第２ネットワーク主要処理部１０４のＴＣＰオフロードエンジン１４１に通信データを送信する。
【００５３】
また、上記同一処理実行部２２（同一処理実行手段）は、実施例１と同様に、上述した通信データ処理部２１にてＴＣＰオフロードエンジン４１にダミーデータを送信した際に、当該ダミーデータに対する通信処理を実行する。つまり、ネットワーク装置３内のＴＣＰオフロードエンジン４１、ＩＰ処理部４２、イーサネット処理部４３、でそれぞれ実行される処理と同一の処理を実行し、各段階（ＴＣＰ、ＩＰ、イーサネット）における処理結果を各段階でのヘッダ付きデータとして生成する。
【００５４】
また、上記処理結果取得部１２３は、メモリ５に記憶された第１及び第２のネットワーク主要処理部４，１０４の各処理部４１，４２，４３，１４１，１４２，１４３による処理結果を全て取得する。そして、上記同一処理実行部２２にて実行した処理結果と共に、処理結果比較部１２４に渡す。
【００５５】
また、上記処理結果比較部１２４（処理結果比較手段）は、メモリ５から取得した稼動系である第１ネットワーク主要処理部４の各処理部４１，４２，４３による処理結果と、ＯＳ管理部２による各処理結果と、を比較し、比較結果を、通信処理代替部１２５に通知する。また、この処理結果比較部１２４は、メモリ５から取得した待機系である第２ネットワーク主要処理部１０４の各処理部１４１，１４２，１４３による処理結果と、ＯＳ管理部２による各処理結果と、を比較し、比較結果を、通信処理代替部１２５に通知する。
【００５６】
そして、上記通信処理代替部１２５は、上述同様に、まず、稼動系である第１ネットワーク主要処理部４の各処理部４１，４２，４３の処理結果とＯＳ管理部２による各処理結果との比較結果に基づいて、第１ネットワーク主要処理部４内の処理部４１，４２，４３が故障している、と判断する。例えば、ＩＰ処理部４２による処理結果と、ＯＳ管理部２によるＩＰ処理の結果とに差異がある場合に、当該ＩＰ処理部４２が故障している（障害が発生している）と判断する。また、上記通信処理代替部１２５は、待機系である第２ネットワーク主要処理部１０４の各処理部１４１，１４２，１４３の処理結果とＯＳ管理部２による各処理結果との比較結果に基づいて、第２ネットワーク主要処理部１０４が正常であるか否かを調べる。そして、正常である場合には、この第２ネットワーク主要処理部１０４を稼動系とする旨の指令を通信データ処理部２１に発する。これにより、通信データ処理部１２１からは、その後の通信データは第２ネットワーク主要処理部１０４のＴＣＰオフロードエンジン１４１に送信されることとなる。なお、比較結果から、第２ネットワーク主要処理部１０４にも障害が発生していると判断できる場合には、リカバリーが困難な場合が多いため、ネットワーク装置３自体の動作を停止する。
【００５７】
［動作］
次に、上記構成のコンピュータ１の動作を、図９のシーケンス図を参照して説明する。なお、ここでは、稼動系のＩＰ処理部４２を使用していたが、稼働中に故障した場合を想定して説明する。
【００５８】
まず、上述した任意のタイミングで、ＯＳ管理部２は、ダミーの通信データをパス７２及びパス７５を経由して、ネットワーク装置３の稼動系である第１ネットワーク主要処理部４と、待機系である第２ネットワーク主要処理部１０４と、に対してそれぞれ送信する（ステップＳ２１）。すると、第１、第２のネットワーク主要処理部４，１０４で、ＴＣＰオフロードエンジン４１，１４１、ＩＰ処理部４２，１４２、イーサネット処理部４３，１４３、のそれぞれが、ダミーデータに対する処理を実行する（ステップＳ２２）。そして、各処理部４１，４２，４３，１４１，１４２，１４３による処理結果となるヘッダ付きデータを、バイパス回路７１を介してメモリ５に保存する（ステップＳ３、処理結果取出工程）。
【００５９】
一方、上記ステップ２と並行して、ＯＳ管理部２はネットワーク装置３に送信したダミーデータに対して、ＴＣＰ、ＩＰ、イーサネットの、各段階における処理を実行し、それぞれヘッダ付きデータを生成する（ステップＳ２４）。つまり、正常な場合における第１及び第２ネットワーク主要処理部４，１０４が備えるＴＣＰオフロードエンジン４１，１４１、ＩＰ処理部４２，１４２、イーサネット処理部４３，１４３による各処理結果を、ＯＳ管理部２にて生成する（同一処理実行工程）。
【００６０】
続いて、ＯＳ処理部２は、メモリ５から、第１及び第２のネットワーク主要処理部４，１０４のＴＣＰオフロードエンジン４１，１４１、ＩＰ処理部４２，１４２、イーサネット処理部４３，１４３、が実際に処理したヘッダ付きデータを取得する（ステップＳ２５、処理結果取得工程）。さらに、ＯＳ管理部２にてＴＣＰ、ＩＰ、イーサネット処理を実行して生成した処理結果であるヘッダ付きデータを読み出して、それぞれ対応する処理同士の処理結果であるヘッダ付きデータを比較する（ステップＳ２６、処理結果比較工程）。
【００６１】
このとき、まずは、稼動系である第１ネットワーク主要処理部４の各処理部４１，４２，４３の処理結果と、ＯＳ管理部２による処理結果とに差分があるかを調べる。そして、差分がある場合には、いずれかの処理部４１，４２，４３が故障していると判断できる（ステップＳ２７）。そして、稼動系が故障している場合には、続いて、待機系である第２ネットワーク主要処理部１０４が正常であるかをチェックするために、その各処理部１４１，１４２，１４３の処理結果と、ＯＳ管理部２による処理結果とに差分があるかを調べる。このとき、待機系の第２ネットワーク主要処理部１０４の比較結果に差分がない場合には、正常であると判断し、第２ネットワーク主要処理部１０４を稼動系に設定し、第１ネットワーク主要処理部４を待機系に設定する。つまり、ＯＳ管理部２は、通信制御時に、パス７５経由で、通信パケットを第２ネットワーク主要処理部１０４のＴＣＰオフロードエンジン１４１に送信する。つまり、故障した第１ネットワーク主要処理部４は使用せずに、正常な第２ネットワーク主要処理部１０４の各処理部１４１，１４２，１４３を使用して通信処理を行う。これにより、通信ネットワークに対する通信処理を継続して実行することができる。
【００６２】
なお、待機系の第２ネットワーク主要処理部１０４の比較結果に差分がある場合には、当該第２ネットワーク主要処理部１０４も故障していると考えられ、リカバリー不可であるため、ネットワーク装置３全体を停止する。その後、上述したステップＳ２７，２８の処理結果や、ネットワーク装置３の停止の旨を、表示手段１２に表示する。
【００６３】
以上のように、本実施例によると、仮に第１ネットワーク主要処理部４の一部に障害が生じた場合であっても、同一構成の第２ネットワーク主要処理部１０４に処理を代替するため、一時的なネットワーク装置の停止を抑制でき、可用性の向上を図り、コンピュータ１の信頼性の向上を図ることができる。特に、第２ネットワーク主要処理部１０４の故障についても、第１ネットワーク主要処理部４の診断と同時に診断しているため、より迅速に、かつ、高い信頼性を有する。
【産業上の利用可能性】
【００６４】
本発明は、継続したネットワーク接続を必要とされるコンピュータに好適であり、産業上の利用可能性を有する。
【図面の簡単な説明】
【００６５】
【図１】実施例１におけるコンピュータの構成を示すブロック図である。
【図２】実施例１におけるコンピュータの構成を示すブロック図である。
【図３】実施例１におけるコンピュータの動作を示すシーケンス図である。
【図４】実施例２におけるコンピュータの構成を示すブロック図である。
【図５】実施例２におけるコンピュータの構成を示すブロック図である。
【図６】実施例２におけるコンピュータの動作を示すシーケンス図である。
【図７】実施例３におけるコンピュータの構成を示すブロック図である。
【図８】実施例３におけるコンピュータの構成を示すブロック図である。
【図９】実施例３におけるコンピュータの動作を示すシーケンス図である。
【符号の説明】
【００６６】
１  コンピュータ
２  ＯＳ管理部
３  ネットワーク装置
４  ネットワーク主要処理部（第１ネットワーク主要処理部）
５  メモリ
６  ネットワークインターフェース
１０  通信ネットワーク
１１  操作手段
１２  表示手段
２１  通信データ処理部
２２  同一処理実行部
２３  処理結果取得部
２４  処理結果比較部
２５  通信処理代替部
２６  比較結果取得部
４１，１４１  ＴＣＰオフロードエンジン
４２，１４２  ＩＰ処理部
４３，１４３  イーサネット処理部
５１  フレーム比較部
１０４  第２ネットワーク主要処理部
【図１】
0004935597.tif 000002
【図２】
0004935597.tif 000003
【図３】
0004935597.tif 000004
【図４】
0004935597.tif 000005
【図５】
0004935597.tif 000006
【図６】
0004935597.tif 000007
【図７】
0004935597.tif 000008
【図８】
0004935597.tif 000009
【図９】
0004935597.tif 000010