(57)【要約】      （修正有）【課題】拡張バスを介した第１プラットフォームと第２プラットフォーム間の通信の異常の要因に合ったエラー処理の実行を可能とする。【解決手段】情報処理システムは、第１プラットフォームと、第２プラットフォームと、第１プラットフォームおよび第２プラットフォームが接続可能な拡張バスを有する中継装置と、を備える。第１プラットフォームは、拡張バスを介した第１プラットフォームと第２プラットフォーム間での通信の異常を検出する通信異常監視部を備える。中継装置は、拡張バスを介した通信を制御する通信制御マイコンと、外部の電源から第２プラットフォームへの電源供給を制御し、拡張バスを介した通信の異常が検出された場合に、第２プラットフォームからの電気的な信号に基づいて、通信の異常が、ハードウェアによるものか、ソフトウェアによるものかを判定し、その判定結果を第１プラットフォームに通知する電源制御マイコンと、を備える。【選択図】図８
2020107225.tif 000002
【特許請求の範囲】
【請求項１】
第１プラットフォームと、第２プラットフォームと、前記第１プラットフォームおよび前記第２プラットフォームが接続可能な拡張バスを有する中継装置と、を備える情報処理システムであって、
前記第１プラットフォームは、
前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信の異常を検出する通信異常監視部、を備え、
前記中継装置は、
前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信を制御する通信制御マイコンと、
外部の電源から前記第２プラットフォームへの電源供給を制御し、前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信の異常が検出された場合に、前記第２プラットフォームからの電気的な信号に基づいて、前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定し、その判定結果を前記第１プラットフォームに通知する電源制御マイコンと、
を備える情報処理システム。
【請求項２】
前記電源制御マイコンは、前記第２プラットフォームからの電気的な信号に基づいて、前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信の異常が、ハードウェアおよびソフトウェアによる複数の通信の異常の候補うち、いずれの異常であるかを判定する請求項１に記載の情報処理システム。
【請求項３】
前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信のハードウェアによる異常の候補には、前記第２プラットフォームが前記拡張バスに接続されていない状態が含まれる、請求項２に記載の情報処理システム。
【請求項４】
前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信のハードウェアによる異常の候補には、前記第２プラットフォームに電源供給されていない状態が含まれる、請求項２または３に記載の情報処理システム。
【請求項５】
前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信のソフトウェアによる異常の候補には、前記第２プラットフォームが実行するＯＳの起動状態の異常が含まれる、請求項２から４のいずれか一に記載の情報処理システム。
【請求項６】
第１プラットフォームおよび第２プラットフォームが接続可能な拡張バスと、
前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信を制御する通信制御マイコンと、
前記第２プラットフォームへの電源供給を制御し、前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信の異常が検出された場合に、前記第２プラットフォームからの電気的な信号に基づいて、前記拡張バスを介した前記第１プラットフォームと前記第２プラットフォーム間での通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定し、その判定結果を前記第１プラットフォームに通知する電源制御マイコンと、
を備える中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理システム、および中継装置に関する。
【背景技術】
【０００２】
ホストＰＣ（Personal  Computer）と、プロセッサと、ホストＰＣおよびプロセッサが接続可能な中継装置と、を有する情報処理システムにおいて、中継装置が、スロットに接続されるホストＰＣとプロセッサ間の通信を、ＰＣＩｅ等の拡張バスを用いた仮想ＬＡＮにより実現する技術が開発されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０４１０２７号公報
【特許文献２】特表２０１２−５０４８３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術においては、ホストＰＣとプロセッサ間での通信の異常が発生した場合に、当該通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定することが困難である。そのため、拡張バスを介したホストＰＣと演算部間の通信の異常に合った適切なエラー処理を実行することができない。
【課題を解決するための手段】
【０００５】
本発明の第１態様にかかる情報処理システムは、第１プラットフォームと、第２プラットフォームと、第１プラットフォームおよび第２プラットフォームが接続可能な拡張バスを有する中継装置と、を備える情報処理システムである。第１プラットフォームは、拡張バスを介した第１プラットフォームと第２プラットフォーム間での通信の異常を検出する通信異常監視部を備える。中継装置は、拡張バスを介した第１プラットフォームと第２プラットフォーム間での通信を制御する通信制御マイコンと、外部の電源から第２プラットフォームへの電源供給を制御し、拡張バスを介した第１プラットフォームと第２プラットフォーム間での通信の異常が検出された場合に、第２プラットフォームからの電気的な信号に基づいて、拡張バスを介した第１プラットフォームと第２プラットフォーム間での通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定し、その判定結果を第１プラットフォームに通知する電源制御マイコンと、を備える。
【０００６】
本発明の第２態様にかかる中継装置は、第１プラットフォームおよび第２プラットフォームが接続可能な拡張バスと、拡張バスを介した第１プラットフォームと第２プラットフォーム間での通信を制御する通信制御マイコンと、第２プラットフォームへの電源供給を制御し、拡張バスを介した第１プラットフォームと第２プラットフォーム間での通信の異常が検出された場合に、第２プラットフォームからの電気的な信号に基づいて、拡張バスを介した第１プラットフォームと第２プラットフォーム間での通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定し、その判定結果を第１プラットフォームに通知する電源制御マイコンと、を備える。
【発明の効果】
【０００７】
本発明の上記第１態様によれば、拡張バスを介した第１プラットフォームと第２プラットフォーム間の通信の異常の要因に合った適切なエラー処理を実行できる。
【０００８】
本発明の上記第２態様によれば、拡張バスを介した第１プラットフォームと第２プラットフォーム間の通信の異常の要因に合った適切なエラー処理を実行できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施形態にかかる情報処理システムの全体構成の一例を示す図である。
【図２】図２は、本実施形態にかかる情報処理システムのハードウェア構成の一例を示す図である。
【図３】図３は、本実施形態にかかる情報処理システムのプラットフォームのソフトウェア構成の一例を示す図である。
【図４】図４は、本実施形態にかかる情報処理システムにおけるプラットフォーム間における通信処理の一例を説明するための図である。
【図５】図５は、本実施形態にかかる情報処理システムにおける任意のプラットフォームからの他のプラットフォームの見え方を例示する図である。
【図６】図６は、本実施形態にかかる情報処理システムにおける任意のプラットフォームからの他のプラットフォームの見え方を例示する図である。
【図７】図７は、本実施形態にかかる情報処理システムにおける中継装置を介したプロセッサ間のデータ転送方法の一例を説明するための図である。
【図８】図８は、本実施形態にかかる情報処理システムの機能構成の一例を示すブロック図である。
【図９】図９は、本実施形態にかかる情報処理システムにおける通信の異常の判定処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
以下、添付の図面を用いて、本実施形態にかかる中継装置を含む情報処理システムについて説明する。
【００１１】
図１は、本実施形態にかかる情報処理システムの全体構成の一例を示す図である。図１に示すように、本実施形態にかかる情報処理システム１は、複数のプラットフォーム２−１〜２−８、および中継装置３を有する。複数のプラットフォーム２−１〜２−８は、それぞれ中継装置３に接続されている。
【００１２】
以下の説明では、複数のプラットフォーム２−１〜２−８を区別する必要がなく、任意のプラットフォームを示す場合には、プラットフォーム２と記載する。また、ここでは、情報処理システム１が、８つのプラットフォーム２−１〜２−８を有する例について説明するが、複数のプラットフォーム２を有するものであれば、これに限定するものではない。
【００１３】
プラットフォーム２−１〜２−８は、情報処理システム１の制御部およびＧＵＩ（Graphical  User  Interface）として機能するホストＰＣ（Personal  Computer）や、ＡＩ（Artificial  Intelligence）推論処理や画像処理等を実行する演算部である。
【００１４】
具体的には、プラットフォーム２−１〜２−８は、プロセッサ２１−１〜２１−８を備える。以下の説明では、プロセッサ２１−１〜２１−８を区別する必要がなく、任意のプロセッサを示す場合には、プロセッサ２１と記載する。プロセッサ２１−１〜２１−８は、それぞれ違うメーカ（ベンダ）から提供されたものであっても良いし、同じメーカから提供されたものであっても良い。
【００１５】
例えば、プロセッサ２１−１はＡ社から提供され、プロセッサ２１−２はＢ社から提供され、プロセッサ２１−３はＣ社から提供され、プロセッサ２１−４はＤ社から提供され、プロセッサ２１−５はＥ社から提供され、プロセッサ２１−６はＦ社から提供され、プロセッサ２１−７はＧ社から提供され、プロセッサ２１−８はＨ社から提供されるものとする。
【００１６】
また、中継装置３に搭載される各ＥＰ（End  Point）に対しては、それぞれ異なるプラットフォーム２を接続しても良いし、各ＥＰに対して１つのプラットフォーム２を接続し、プラットフォーム２側が複数のＲＣ（Rood  Complex）を用いて中継装置３と通信しても良い。
【００１７】
次に、図２を用いて、本実施形態にかかる情報処理システム１のハードウェア構成の一例について説明する。図２は、本実施形態にかかる情報処理システムのハードウェア構成の一例を示す図である。以下の説明では、プラットフォーム２−１がホストＰＣとして機能し、プラットフォーム２−２〜２−８が、ＡＩ推論処理や画像処理等を実行する演算部として機能する例について説明する。
【００１８】
まず、ホストＰＣとして機能するプラットフォーム２−１のハードウェア構成について説明する。
【００１９】
プラットフォーム２−１は、図２に示すように、プロセッサ２１−１、表示部２０１、ＵＳＢ（Universal  Serial  Bus）ポート２０２、通信Ｉ／Ｆ２０３、記憶部２０４、およびメモリ２０５を有する。表示部２０１は、ＬＣＤ（Liquid  Crystal  Display）等であり、各種情報を表示する。ＵＳＢポート２０２は、プラットフォーム２−１と周辺機器とを接続するためのコネクタである。通信Ｉ／Ｆ２０３は、イーサネット（登録商標）等の通信規格に従って、ＬＡＮ（Local  Area  Network）等のネットワークと通信可能とする。
【００２０】
記憶部２０４は、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＳＣＭ（Storage  Class  Memory）等の記憶装置であり、各種のデータを記憶する。メモリ２０５は、ＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）等である。ＲＯＭは、各種のソフトウェアプログラムや当該ソフトウェアプログラム用のデータを記憶する。ＲＯＭに記憶されるソフトウェアプログラムは、プロセッサ２１−１により読み込まれて実行される。ＲＡＭは、ＲＯＭに記憶されるソフトウェアプログラムを実行する際の作業領域として機能する。
【００２１】
プロセッサ２１−１は、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）、ＤＳＰ（Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）等のプロセッサであり、プラットフォーム２−１全体を制御する。プロセッサ２１−１は、マルチコアプロセッサであっても良いし、２以上のプロセッサの組合せであっても良い。
【００２２】
次に、ＡＩ推論処理や画像処理等を実行する演算部として機能するプラットフォーム２−２〜２−８のハードウェア構成について説明する。
【００２３】
プラットフォーム２−２は、図２に示すように、プロセッサ２１−２、ＵＳＢポート２１１、および表示部２１２を有する。表示部２１２は、ＬＣＤ等であり、各種情報を表示する。ＵＳＢポート２１１は、プラットフォーム２−２と周辺機器とを接続するためのコネクタである。
【００２４】
プロセッサ２１−２は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤ、ＦＰＧＡ等のプロセッサであり、プラットフォーム２−２全体を制御する。プロセッサ２１−２は、マルチコアプロセッサであっても良いし、２以上のプロセッサの組合せであっても良い。例えば、プロセッサ２１−２は、ＣＰＵ及びＧＰＵの組み合わせであっても良い。
【００２５】
ここでは、プラットフォーム２−２のハードウェア構成について説明したが、ＡＩ推論処理や画像処理等を実行する演算部として機能する他のプラットフォーム２−３〜２−８も同様のハードウェア構成を有する。
【００２６】
次に、中継装置３のハードウェア構成について説明する。
【００２７】
中継装置３は、例えば、図２に示すように、複数のＥＰを１チップ内に有する中継装置である。中継装置３は、図２に示すように、通信制御マイコン３０１、電源制御マイコン３０２、メモリ３０３、および複数のスロット３０５−１〜３０５−８を備える。そして、図２に示すように、通信制御マイコン３０１、メモリ３０３、および複数のスロット３０５−１〜３０５−８は、内部バス３０４を介して互いに通信可能に接続されている。
【００２８】
また、電源制御マイコン３０２は、図２に示すように、信号線Ｌ１〜Ｌ８を介して、スロット３０５に接続されるプラットフォーム２−１〜２−８と接続される。ここで、信号線Ｌ１〜Ｌ８は、プラットフォーム２−１〜２−８から電源制御マイコン３０２に入力される信号を伝送する信号線である。
【００２９】
スロット３０５−１〜３０５−８には、それぞれＰＣＩｅの規格を満たすように構成されたデバイスが接続される拡張スロット（拡張バス）の一例である。本実施形態では、スロット３０５−１〜３０５−８には、プラットフォーム２−１〜２−８が接続される。以下の説明では、スロット３０５−１〜３０５−８を区別する必要がなく、任意のスロットを示す場合には、スロット３０５と記載する。
【００３０】
また、１つのスロット３０５に対して、１つのプラットフォーム２が接続されていても良いが、１つのスロット３０５に対して、複数のプラットフォーム２が接続されていても良い。さらに、１つのプラットフォーム２に対して複数のスロット３０５を割り当てることにより、当該プラットフォーム２は、広い通信帯域を用いた通信が可能となる。
【００３１】
メモリ３０３は、例えば、ＲＯＭおよびＲＡＭを含むメモリである。メモリ３０３のＲＯＭには、スロット３０５に接続される複数のプラットフォーム２間での通信制御に関わるソフトウェアプログラム等の各種のソフトウェアプログラム、このソフトウェアプログラム用のデータを記憶する。ＲＯＭに記憶されるソフトウェアプログラムは、通信制御マイコン３０１により読み込まれて実行される。メモリ３０３のＲＡＭは、メモリ３０３のＲＯＭに記憶されるソフトウェアプログラムを実行する際の作業領域として機能する。
【００３２】
また、プラットフォーム２には、各スロット３０５に対応させてメモリ２２等にメモリ領域が設けられ、当該メモリ領域には、スロット３０５の数だけ分割された複数の記憶領域が設定され、各記憶領域はいずれかのスロット３０５に対応付けられている。中継装置３は、スロット３０５毎に設けられる記憶領域のアドレスに基づいてプラットフォーム２間のデータ転送を行う。
【００３３】
通信制御マイコン３０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤ、ＦＰＧＡ等のプロセッサを含み、当該プロセッサが、スロット３０５を介したプラットフォーム２間での通信を制御する。通信制御マイコン３０１は、複数のプロセッサの組合せを含んでいても良い。そして、通信制御マイコン３０１は、メモリ３０３に記憶されるソフトウェアプログラムを実行することによって、スロット３０５に接続されるプラットフォーム２間での通信を実現する。
【００３４】
電源制御マイコン３０２は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤ、ＦＰＧＡ等のプロセッサを含み、当該プロセッサが、スロット３０５に接続されるプラットフォーム２に対する電源供給を制御する。電源制御マイコン３０２のプロセッサは、複数のプロセッサの組合せを含んでいても良い。そして、電源制御マイコン３０２のプロセッサは、当該電源制御マイコン３０２が有するメモリに記憶されるソフトウェアプログラムを実行することによって、電源ユニット（不図示）から、スロット３０５に接続されるプラットフォーム２への電源の供給を実行する。
【００３５】
本実施形態では、中継装置３は、プラットフォーム２間での通信を高速化するために、ＰＣＩｅを用いて、図２に示すように、各プラットフォーム２に備えられるプロセッサ２１をＲＣとして動作させ、デバイスとして動作するＥＰ間でのデータの転送を実現する。
【００３６】
具体的には、情報処理システム１では、各プラットフォーム２のプロセッサ２１を、ＰＣＩｅのＲＣとして動作させる。また、各プラットフォーム２のプロセッサ２１に対して、中継装置３（すなわち、各プラットフォーム２が接続されるスロット３０５）をＥＰとして動作させる。
【００３７】
ここで、中継装置３をプラットフォーム２のプロセッサ２１に対してＥＰとして接続する手法としては、既知の様々な手法を用いて実現できる。例えば、中継装置３は、プラットフォーム２との接続時に、ＥＰとして機能することを示す信号を通知することによって、ＥＰとしてプラットフォーム２と接続される。
【００３８】
中継装置３は、ＥＰｔоＥＰ（End  Point  to  End  Point）でデータをトンネリングさせて、複数のＲＣにデータを転送する。プラットフォーム２のプロセッサ２１間の通信は、ＰＣＩｅのトランザクションが発生したときに論理的に接続され、１つのプロセッサ２１にデータの転送が集中しないときは、それぞれのプロセッサ２１間で並行してデータの転送が可能である。
【００３９】
次に、図３を用いて、本実施形態にかかる情報処理システム１のプラットフォーム２のソフトウェア構成の一例について説明する。図３は、本実施形態にかかる情報処理システムのプラットフォームのソフトウェア構成の一例を示す図である。
【００４０】
プラットフォーム２−１は、例えば、Windows（登録商標）をＯＳ（Operating  System）として、このＯＳ上において各種ソフトウェアプログラムを実行する。プラットフォーム２−２，２−３は、例えば、Linux（登録商標）をＯＳとし、このＯＳ上において各種ソフトウェアプログラムを実行する。
【００４１】
プラットフォーム２には、ブリッジドライバ２０が設けられ、当該ブリッジドライバ２０を介して中継装置３および他のプラットフォーム２との間で通信を行う。各プラットフォーム２は、プロセッサ２１およびメモリを有する。そして、プロセッサ２１が、メモリに記憶されるＯＳや各種プログラム、ドライバ等を実行することにより、プラットフォーム２が有する各種の機能を実現する。
【００４２】
次に、図４を用いて、中継装置３に接続されるプラットフォーム２間における通信処理の一例について説明する。図４は、本実施形態にかかる情報処理システムにおけるプラットフォーム間における通信処理の一例を説明するための図である。ここでは、プラットフォーム２−１のプロセッサ２１−１と、プラットフォーム２−２のプロセッサ２１−２間での通信処理の一例について説明する。
【００４３】
送信元のプラットフォーム２−１は、ＲＣであるプロセッサ２１−１において生成されるデータが、ソフトウェア、トランザクション層、データリンク層、および物理層（ＰＨＹ）を順次転送され、物理層において中継装置３の物理層に転送される。
【００４４】
中継装置３は、送信元のプラットフォーム２−１から転送されてきたデータを、物理層、データリンク層、トランザクション層、およびソフトウェアを順次転送され、その後、送信先のプラットフォーム２−２のＲＣに対応するＥＰにトンネリングにより転送される。すなわち、中継装置３においては、ＥＰ間でデータをトンネリングさせることで、１つのＲＣ（プロセッサ２１−１）から他のＲＣ（プロセッサ２１−２）にデータが転送される。
【００４５】
送信先のプラットフォーム２−２は、中継装置３から転送されてきたデータが、物理層（ＰＨＹ）、データリンク層、トランザクション層、およびソフトウェアに順次転送され、その後、送信先のプラットフォーム２−２のプロセッサ２１−２に転送される。本実施形態の情報処理システム１では、プラットフォーム２間の通信は、ＰＣＩｅのトランザクションが発生した時に論理的に実現される。
【００４６】
中継装置３が有する複数のスロット３０５のうち１つに接続されたプラットフォーム２に対して、複数のプラットフォーム２からのデータの転送が集中しない場合には、異なる任意の複数組のプラットフォーム２間において並行してデータの転送を実行することも可能である。例えば、プラットフォーム２−１のプロセッサ２１−１に対して、プラットフォーム２−２のプロセッサ２１−２およびプラットフォーム２−３のプロセッサ２１−３が通信する場合には、中継装置３は、プラットフォーム２−２のプロセッサ２１−２およびプラットフォーム２−３のプロセッサ２１−３による通信をシリアルに処理する。
【００４７】
一方、異なるプラットフォーム２のプロセッサ２１同士が通信し、特定のプラットフォーム２のプロセッサ２１に通信が集中しない場合には、中継装置３は、プラットフォーム２間の通信を並行して処理することも可能である。
【００４８】
次に、図５および図６を用いて、プラットフォーム２のプロセッサ２１から他のプラットフォーム２のプロセッサ２１の見え方について説明する。図５および図６は、本実施形態にかかる情報処理システムにおける任意のプラットフォームからの他のプラットフォームの見え方を例示する図である。
【００４９】
各プラットフォーム２のプロセッサ２１間で通信が行なわれている状態において、各プロセッサ２１が実行するＯＳ（例えば、Windows（登録商標）のデバイスマネージャ）からは、中継装置３しか見えないため、接続先の他のプラットフォーム２のプロセッサ２１を直接管理する必要がない。すなわち、中継装置３のデバイスドライバが、中継装置３の先に接続されたプラットフォーム２のプロセッサ２１を管理する。
【００５０】
そのため、送信元、送信先それぞれのプラットフォーム２のプロセッサ２１を動作させるためのデバイスドライバを準備する必要がなく、中継装置３のデバイスドライバで中継装置３に対して通信処理を行なうだけで、プラットフォーム２間の通信を実現することができる。
【００５１】
次に、図７を用いて、情報処理システム１における中継装置３を介したプラットフォーム２間のデータ転送方法を説明する。図７は、本実施形態にかかる情報処理システムにおける中継装置を介したプロセッサ間のデータ転送方法の一例を説明するための図である。
【００５２】
この図７に示す例においては、スロット＃０に接続されたプラットフォーム２−１からスロット＃４に接続されたプラットフォーム２−５にデータを転送する場合について説明する。
【００５３】
送信元のプラットフォーム２−１は、ソフトウェア等によって送信されるデータ（以下、送信データという）を、プラットフォーム２−１に備えられるストレージ２３等からプラットフォーム２−１のメモリ領域３５に格納する（ステップＳ７０１）。メモリ領域３５は、転送されるデータが一時的に格納される通信バッファの一部であっても良い。メモリ領域３５は、プラットフォーム２のそれぞれに、メモリ２２等と同じ大きさで設けられた領域である。メモリ領域３５は、スロット３０５の数に応じて分割されている。メモリ領域３５の分割された記憶領域は、いずれかのスロット３０５に対応付けられている。例えば、メモリ領域３５内のＳｌｏｔ♯０で示す記憶領域は、Ｓｌｏｔ♯０に接続されたプラットフォーム２−１に対応付けられ、メモリ領域３５内にＳｌｏｔ♯４で示す記憶領域は、Ｓｌｏｔ♯４に接続されたプラットフォーム２−５に対応付けられている。プラットフォーム２−１は、メモリ領域３５のうち、送信先のスロット３０５に割り当てられた領域（ここでは、Ｓｌｏｔ♯４）に送信データを格納する。
【００５４】
ブリッジドライバ２０は、プラットフォーム２のメモリ領域３５の記憶領域に基づいて、送信先のスロット３０５を示すスロット情報と、送信先のメモリ領域３５における分割領域内におけるアドレスを示すアドレス情報とを取得または生成する（ステップＳ７０２）。
【００５５】
送信元のＥＰにおいて、ブリッジドライバ２０は、スロット情報と、アドレス情報と、送信データとを含む転送データを中継装置３に渡す（ステップＳ７０３）。これにより、中継装置３は、スロット情報に基づいてＥＰｔｏＥＰにより送信元のスロット３０５と送信先のスロット３０５とを接続することにより、転送データを送信先のプラットフォーム２−４に転送する（ステップＳ７０４）。送信先のブリッジドライバ２０は、スロット情報およびアドレス情報に基づいて、送信先のプラットフォーム２のメモリ領域３５のＳｌｏｔ♯４に対応する記憶領域内のアドレス情報が示すアドレスの領域に送信データ（または転送データ）を格納する（ステップＳ７０５）。
【００５６】
送信先のプラットフォーム２−５において、例えば、プログラムが、メモリ領域３５に格納された送信データを読み出して、メモリ（ローカルメモリ）２２やストレージ２３に移動させる（ステップＳ７０６、ステップＳ７０７）。
【００５７】
以上のようにして、送信元のプラットフォーム２−１から送信先のプラットフォーム２−５にデータ（転送データ）が転送される。
【００５８】
ところで、上述の構成においては、スロット３０５（拡張バス）を介した、プラットフォーム２−１（ホストＰＣ）と、プラットフォーム２−２〜２−８（ＡＩ推論処理や画像処理等を実行する演算部）との間での通信に異常が発生した場合に、ホストＰＣと演算部間での通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定することが困難である。そのため、拡張バスを介したホストＰＣと演算部間での通信の異常の要因に合ったエラー処理（リカバリ）を実行することができない。
【００５９】
そこで、本実施形態では、中継装置３の電源制御マイコン３０２に以下のような機能を持たせることによって、ホストＰＣと演算部間での通信に異常が発生した場合に、当該通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定可能とし、拡張バスを介したホストＰＣと演算部間の通信の異常の要因に合った適切なエラー処理を実行可能とすることを実現する。
【００６０】
図８は、本実施形態にかかる情報処理システム１の機能構成の一例を示すブロック図である。図８に示すプラットフォーム２−１（ホストＰＣ）の機能は、プロセッサ２１−１がメモリ２０５に記憶されるソフトウェアプログラムを読み出して実行した結果として実現される。また、図８に示すプラットフォーム（演算部）２−２〜２−８の機能は、プロセッサ２１−２がメモリ２０５に記憶されるＯＳに組み込まれるソフトウェアプログラムを読み出して実行した結果として実現される。また、図８に示す中継装置３の機能は、電源制御マイコン３０２が有するプロセッサが、当該電源制御マイコン３０２が有するメモリに記憶されるソフトウェアプログラムを読み出して実行した結果として実現される。
【００６１】
まず、プラットフォーム２−１の機能構成について説明する。
【００６２】
図８に示すように、本実施形態にかかるプラットフォーム２−１は、機能的構成として、通信異常監視部８０１を有する。通信異常監視部８０１は、スロット３０５を介したプラットフォーム２−１（ホストＰＣ）と他のプラットフォーム２−２〜２−８（演算部）間での通信（仮想ＬＡＮ環境における、ホストＰＣと演算部間の通信）の異常を検出する。本実施形態では、通信異常監視部８０１は、プラットフォーム２−１と他のプラットフォーム２−２〜２−８間での通信の異常を検出した場合、当該通信の異常の要因の判定を指示する信号である判定指示信号を、ＧＰＩＯ（General  Purpose  Input  Output）等の専用の端子に接続される信号線Ｌ１を介して、中継装置３に出力する。
【００６３】
また、通信異常監視部８０１は、信号線Ｌ１を介して、中継装置３から、検出した通信の異常の要因の判定結果が通知されると、通知された判定結果に応じたエラー処理を実行する。ここで、エラー処理としては、プラットフォーム２のスロット３０５への接続状態の確認、外部の電源ユニットからプラットフォーム２への電源供給の状態の確認、プラットフォーム２のＯＳの起動状態の確認またはリブート等である。
【００６４】
本実施形態では、通信異常監視部８０１は、中継装置３から、プラットフォーム２−１と、その他の全てのプラットフォーム２−２〜２−８間での通信の異常の要因の判定結果が通知される。そして、通信異常監視部８０１は、通知された通信の異常の要因のうち、異常が検出されたプラットフォーム２間との通信の異常の要因を特定し、当該特定した通信の異常の要因に応じたエラー処理を実行する。
【００６５】
次に、プラットフォーム２−２の機能構成について説明する。ここで、プラットフォーム２−２の機能構成について説明するが、演算部として機能する他のプラットフォーム２−３〜２−８も同様の機能構成を有する。
【００６６】
図８に示すように、本実施形態にかかるプラットフォーム２−２は、機能的構成として、ＯＳ起動状態検出部８０２を有する。ＯＳ起動状態検出部８０２は、電源制御マイコン３０２によって外部の電源ユニットからプラットフォーム２−２に対して電源供給が行われ、プラットフォーム２−２のＯＳの起動が開始された場合に、そのＯＳが起動したか否かを検出する。
【００６７】
そして、ＯＳ起動状態検出部８０２は、プラットフォーム２−２のＯＳが起動した場合には、プラットフォーム２−２が起動したことを示す起動信号を、ＧＰＩＯ等の専用の端子に接続される信号線Ｌ２を介して、中継装置３に出力する。例えば、ＯＳ起動状態検出部８０２は、プラットフォーム２−２のＯＳが正常に起動した場合には、起動信号をＨｉｇｈとし、プラットフォーム２−２のＯＳの起動に異常が検出された場合には、起動信号をＬｏｗのままとする。
【００６８】
次に、中継装置３の機能構成について説明する。
【００６９】
図８に示すように、本実施形態にかかる中継装置３の電源制御マイコン３０２は、機能的構成として、電源供給制御部８１０と、異常判定部８１１と、異常通知部８１２と、を有する。電源供給制御部８１０は、プラットフォーム２への電源供給を制御する。本実施形態では、電源供給制御部８１０は、図示しない外部の電源ユニットに対して電源制御信号を出力することにより、当該電源ユニットからプラットフォーム２への電源供給を制御する。ここで、電源制御信号は、プラットフォーム２への電源供給の開始またはプラットフォーム２への電源供給の遮断を指示する信号である。
【００７０】
異常判定部８１１は、通信異常監視部８０１によって通信の異常が検出された場合に、プラットフォーム２−２〜２−８からの電気的な信号に基づいて、当該通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定する。本実施形態では、異常判定部８１１は、通信異常監視部８０１によって通信に異常が検出されて、ＧＰＩＯ等の専用の端子を介して、通信異常監視部８０１から、検出された通信の異常の要因の判定を指示する判定指示信号が入力された場合に、当該通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定する。
【００７１】
また、本実施形態では、異常判定部８１１は、ＧＰＩＯ等の専用の端子に接続される信号線Ｌ１を介してプラットフォーム２−２から入力される電気的な信号に基づいて、通信異常監視部８０１により検出された通信の異常が、ハードウェアおよびソフトウェアによる複数の通信の異常の候補のうち、いずれの異常であるかを判定する。これにより、プラットフォーム２−１とプラットフォーム２−２〜２−８間での通信の異常の要因が複数ある場合であっても、当該通信の異常の要因を判定可能となる。
【００７２】
ここで、ハードウェアによる通信の異常の候補には、スロット３０５−２〜３０５−８に対してプラットフォーム２−２〜２−８が接続されていない状態が含まれる。これにより、プラットフォーム２−１とプラットフォーム２−２〜２−８間での通信の異常の要因が、スロット３０５に対してプラットフォーム２−２〜２−８が接続されていないことによるものであることを判定可能となる。本実施形態では、異常判定部８１１は、ＧＰＩＯ等の専用の端子に接続される信号線Ｌ２〜Ｌ８に電圧が印加されていない場合に、スロット３０５−２〜３０５−８に対してプラットフォーム２−２〜２−８が接続されていないことによる通信の異常と判定する。
【００７３】
また、ハードウェアによる通信の異常の候補には、プラットフォーム２−２〜２−８へ電源供給が行われていない状態が含まれる。これにより、プラットフォーム２−１とプラットフォーム２−２〜２−８間での通信の異常の要因が、プラットフォーム２−２〜２−８に電源供給されていないことによるものであることを判定可能となる。本実施形態では、異常判定部８１１は、ＧＰＩＯ等の専用の端子を介して、プラットフォーム２−２〜２−８に対して電源のオンを指示した後、予め設定された時間内に、プラットフォーム２−２〜２−８から、ＯＳが起動したことを通知する信号が入力されなかった場合に、プラットフォーム２−２〜２−８へ電源供給が行われていないことによる通信の異常と判定する。
【００７４】
一方、ソフトウェアによる通信の異常の候補には、プラットフォーム２−２〜２−８により実行されるＯＳの起動状態に異常がある状態が含まれる。これによりプラットフォーム２−１とプラットフォーム２−２〜２−８間での通信の異常の要因が、プラットフォーム２−２〜２−８のＯＳが正常に起動していないことによるものであることを判定可能となる。本実施形態では、異常判定部８１１は、ＧＰＩＯ等の専用に端子に接続される信号線Ｌ１〜Ｌ８を介して、プラットフォーム２−２〜２−８から、プラットフォーム２−２〜２−８のＯＳが起動したことを示す起動信号が入力されない場合に、ＯＳの起動状態に異常があることによる通信の異常と判定する。例えば、異常判定部８１１は、プラットフォーム２−２〜２−８から入力される起動信号がＨｉｇｈにならずに、Ｌｏｗのままである場合に、ＯＳの起動状態に異常があることによる通信の異常と判定する。
【００７５】
本実施形態では、異常判定部８１１は、予め設定された周期で、プラットフォーム２−２〜２−８から入力される電気的な信号に基づいて、プラットフォーム２−１とプラットフォーム２−２〜２−８間での通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定する。そして、異常判定部８１１は、その判定結果を、図示しないレジスタに保存する。
【００７６】
また、本実施形態では、異常判定部８１１は、通信異常監視部８０１から、判定指示信号が入力された場合、プラットフォーム２−１とプラットフォーム２−２〜２−８間での通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定し直す。そして、異常判定部８１１は、その判定結果を、プラットフォーム２−１とプラットフォーム２−２〜２−８間での通信の異常の要因の最新の判定結果として、図示しないレジスタに保存する。
【００７７】
また、本実施形態では、異常判定部８１１は、プラットフォーム２−１とプラットフォーム２−２〜２−８間での通信の異常の要因を判定する際、プラットフォーム２−１とその他の全てのプラットフォーム２−２〜２−８間での通信の異常の要因を判定する。
【００７８】
さらに、本実施形態では、通信の異常の要因を判定する際、異常判定部８１１は、まず、各スロット３０５に対してプラットフォーム２が接続されていない状態による通信の異常か否かを判定する。そして、スロット３０５に対してプラットフォーム２が接続されていない状態による通信の異常と判定した場合、異常判定部８１１は、そのプラットフォーム２については、その判定結果を図示しないレジスタに保存する。
【００７９】
次いで、異常判定部８１１は、スロット３０５に対してプラットフォーム２が接続されていない状態による通信の異常と判定されなかったプラットフォーム２について、プラットフォーム２へ電源供給が行われていない状態によるものか否かを判定する。そして、プラットフォーム２へ電源供給が行われていない状態による通信の異常と判定した場合、異常判定部８１１は、そのプラットフォーム２については、その判定結果を図示しないレジスタに保存する。
【００８０】
最後に、異常判定部８１１は、プラットフォーム２へ電源供給が行われていない状態による通信の異常と判定されなかったプラットフォーム２について、プラットフォーム２により実行されるＯＳの起動状態に異常がある状態によるものか否かを判定する。そして、プラットフォーム２により実行されるＯＳの起動状態に異常がある状態による通信の異常と判定した場合、異常判定部８１１は、そのプラットフォーム２について、その判定結果を図示しないレジスタに保存する。
【００８１】
すなわち、異常判定部８１１は、スロット３０５に対してプラットフォーム２が接続されていない状態による通信の異常であるか、プラットフォーム２へ電源供給が行われていない状態による通信の異常であるか、および、プラットフォーム２により実行されるＯＳの起動状態に異常がある状態による通信の異常であるかの順に、通信の異常の要因を判定する。異常判定部８１１は、いずれの通信の異常の要因には該当しなかったプラットフォーム２については、正常であること、または通信の異常の要因が不明であることを、図示しないレジスタに、通信の異常の判定結果として保存する。
【００８２】
異常通知部８１２は、プラットフォーム２−１（ホストＰＣ）とプラットフォーム２−２〜２−８（演算部）間の通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかの判定結果を、プラットフォーム２−１に通知する。
【００８３】
これにより、スロット３０５を介したプラットフォーム２−１（ホストＰＣ）とプラットフォーム２−２〜２−８（演算部）間での通信に異常が発生した場合に、当該通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定可能にすることを実現する。その結果、スロット３０５を介したプラットフォーム２−１とプラットフォーム２−２〜２−８間の通信の異常の要因に合った適切なエラー処理を実行できる。本実施形態では、異常通知部８１２は、図示しないレジスタに記憶される、各プラットフォーム２の通信の異常の要因の最新の判定結果を、信号線Ｌ１を介して、プラットフォーム２−１に通知する。
【００８４】
次に、図９を用いて、本実施形態にかかる情報処理システム１における通信の異常の判定処理の流れの一例について説明する。図９は、本実施形態にかかる情報処理システムにおける通信の異常の判定処理の流れの一例を示すシーケンス図である。
【００８５】
プラットフォーム２−１において、スロット３０５を介したプラットフォーム２−１と他のプラットフォーム２−２〜２−８間の通信が開始されると、プラットフォーム２−１の通信異常監視部８０１は、スロット３０５を介したプラットフォーム２−１と他のプラットフォーム２−２〜２−８間の通信の異常の検出を開始する（ステップＳ９０１）。
【００８６】
そして、スロット３０５を介したプラットフォーム２−１と他のプラットフォーム２−２〜２−８間の通信の異常を検出した場合、通信異常監視部８０１は、Ｉ２Ｃ（登録商標）等のシリアル通信によって信号線Ｌ１を介して、判定指示信号を、中継装置３に通知する（ステップＳ９０２）。
【００８７】
判定指示信号が通知されると、中継装置３の異常判定部８１１は、プラットフォーム２−２〜２−８から入力される電気的な信号に基づいて、当該通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定する（ステップＳ９０３）。すなわち、異常判定部８１１は、プラットフォーム２−１と他のプラットフォーム２−２〜２−８間の通信の異常の要因を判定する。
【００８８】
そして、中継装置３の異常通知部８１２は、プラットフォーム２−１と他のプラットフォーム２−２〜２−８間の通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかの判定結果を、Ｉ２Ｃ（登録商標）等のシリアル通信による信号線Ｌ１を介して、プラットフォーム２−１に通知する（ステップＳ９０４）。すなわち、異常通知部８１２は、プラットフォーム２−１と他のプラットフォーム２−２〜２−８間の通信の異常の要因を通知する。
【００８９】
このように、本実施形態にかかる情報処理システム１によれば、スロット３０５を介したプラットフォーム２−１（ホストＰＣ）とプラットフォーム２−２〜２−８（演算部）間での通信に異常が発生した場合に、当該通信の異常が、ハードウェアによるものか、若しくはソフトウェアによるものかを判定可能にすることを実現する。その結果、スロット３０５を介したプラットフォーム２−１とプラットフォーム２−２〜２−８間の通信の異常の要因に合った適切なエラー処理を実行できる。
【００９０】
また、本実施形態にかかる情報処理システム１によれば、演算部からの電気的な信号に基づいて、スロット３０５を介したホストＰＣと演算部間での通信の異常が、ハードウェアおよびソフトウェアによる複数の通信の異常の候補うち、いずれの異常であるかを判定する。これにより、ホストＰＣと演算部間での通信の異常の要因が複数ある場合であっても、当該通信の異常の要因を判定可能となる。
【００９１】
また、本実施形態にかかる情報処理システム１によれば、スロット３０５を介したホストＰＣと演算部間での通信のハードウェアによる異常の候補には、演算部がスロット３０５に接続されていない状態が含まれる。これにより、ホストＰＣと演算部間での通信の異常の要因が、スロット３０５に対して演算部が接続されていないことによるものであることを判定可能となる。
【００９２】
また、本実施形態にかかる情報処理システム１によれば、スロット３０５を介したホストＰＣと演算部間での通信のハードウェアによる異常の候補には、演算部に電源供給されていない状態が含まれる。これにより、ホストＰＣと演算部間での通信の異常の要因が、演算部に電源供給されていないことによるものであることを判定可能となる。
【００９３】
また、本実施形態にかかる情報処理システム１によれば、スロット３０５を介したホストＰＣと演算部間での通信のソフトウェアによる異常の候補には、演算部が実行するＯＳの起動状態の異常が含まれる。これにより、ホストＰＣと演算部間での通信の異常の要因が、演算部のＯＳが正常に起動していないことによるものであることを判定可能となる。
【００９４】
上述の実施形態では、各部のＩ／ＯインターフェースとしてＰＣＩｅを例に挙げて説明したが、Ｉ／ＯインターフェースはＰＣＩｅに限定されない。例えば、各部のＩ／Ｏインターフェースは、データ転送バスによって、デバイス（周辺制御コントローラ）とプロセッサとの間でデータ転送を行える技術であればよい。データ転送バスは、１個の筐体等に設けられたローカルな環境（例えば、１つのシステムまたは１つの装置）で高速にデータを転送できる汎用のバスであってよい。Ｉ／Ｏインターフェースは、パラレルインターフェース及びシリアルインターフェースのいずれであってもよい。
【００９５】
Ｉ／Ｏインターフェースは、ポイント・ツー・ポイント接続ができ、データをパケットベースでシリアル転送可能な構成でよい。尚、Ｉ／Ｏインターフェースは、シリアル転送の場合、複数のレーンを有してよい。Ｉ／Ｏインターフェースのレイヤー構造は、パケットの生成及び復号を行うトランザクション層と、エラー検出等を行うデータリンク層と、シリアルとパラレルとを変換する物理層とを有してよい。また、Ｉ／Ｏインターフェースは、階層の最上位であり１または複数のポートを有するルート・コンプレックス、Ｉ／Ｏデバイスであるエンド・ポイント、ポートを増やすためのスイッチ、及び、プロトコルを変換するブリッジ等を含んでよい。Ｉ／Ｏインターフェースは、送信するデータとクロック信号とをマルチプレクサによって多重化して送信してもよい。この場合、受信側は、デマルチプレクサでデータとクロック信号を分離してよい。
【符号の説明】
【００９６】
１  情報処理システム
２  プラットフォーム
３  中継装置
２１  プロセッサ
３０１  通信制御マイコン
３０２  電源制御マイコン
３０５  スロット
８０１  通信異常監視部
８０２  ＯＳ起動状態検出部
８１０  電源供給制御部
８１１  異常判定部
８１２  異常通知部
【図１】
2020107225.tif 000003
【図２】
2020107225.tif 000004
【図３】
2020107225.tif 000005
【図４】
2020107225.tif 000006
【図５】
2020107225.tif 000007
【図６】
2020107225.tif 000008
【図７】
2020107225.tif 000009
【図８】
2020107225.tif 000010
【図９】
2020107225.tif 000011