(57)【要約】【課題】アクセス先のプラットフォームが備える記憶部に対するアクセスにおけるオーバヘッドを削減する。【解決手段】本発明の第１態様にかかる情報処理システムは、拡張バスを有する中継装置と、拡張バスを介して互いに接続される複数のプラットフォームと、を備える。アクセス元のプラットフォームは、拡張バスを介してアクセス先のプラットフォームと通信可能とする第１ブリッジドライバと、アクセス先のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して、アクセス先のプラットフォームが備える記憶部に対する第１アクセス要求を生成し、第１ブリッジドライバを介して第１アクセス要求をアクセス先のプラットフォームに送信する第１仮想ＬＡＮドライバと、記憶部をアクセス元のプラットフォームに接続される記憶部と認識して、当該記憶部に対する第２アクセス要求を生成し、第１ブリッジドライバを介して第１アクセス要求をアクセス先のプラットフォームに送信する第１ブロックデバイスドライバと、を備える。【選択図】図８
2020184224.tif 000002
【特許請求の範囲】
【請求項１】
拡張バスを有する中継装置と、前記拡張バスを介して互いに接続される複数のプラットフォームと、を備える情報処理システムであって、
アクセス元の前記プラットフォームは、
前記拡張バスを介してアクセス先の前記プラットフォームと通信可能とする第１ブリッジドライバと、
アクセス先の前記プラットフォームを仮想ＬＡＮ上の前記プラットフォームと認識して、前記アクセス先のプラットフォームが備える記憶部に対する第１アクセス要求を生成し、前記第１ブリッジドライバを介して前記第１アクセス要求を前記アクセス先のプラットフォームに送信する第１仮想ＬＡＮドライバと、
前記記憶部を前記アクセス元のプラットフォームに接続される記憶部と認識して、当該記憶部に対する第２アクセス要求を生成し、前記第１ブリッジドライバを介して前記第１アクセス要求を前記アクセス先のプラットフォームに送信する第１ブロックデバイスドライバと、を備え、
前記アクセス先のプラットフォームは、
前記拡張バスを介して前記アクセス元のプラットフォームと通信可能とし、前記アクセス元のプラットフォームから受信する前記記憶部に対するアクセス要求が、前記第１アクセス要求か、若しくは、前記第２アクセス要求か、を判別する第２ブリッジドライバと、
前記アクセス元のプラットフォームを仮想ＬＡＮ上の前記プラットフォームと認識して、前記第２ブリッジドライバによって前記第１アクセス要求と判別された前記アクセス要求を受信する第２仮想ＬＡＮドライバと、
前記記憶部を前記アクセス元のプラットフォームに接続される記憶部と認識して、前記第２ブリッジドライバによって前記第２アクセス要求と判別された前記アクセス要求を受信し、前記第２アクセス要求に基づいて前記記憶部にアクセスする第２ブロックデバイスドライバと、
を備える情報処理システム。
【請求項２】
前記記憶部は、前記各プラットフォームに対応する分散メモリを有し、
前記第１ブロックデバイスドライバは、前記アクセス元のプラットフォームに対応する前記分散メモリを、前記アクセス元のプラットフォームに接続される前記記憶部と認識して、当該分散メモリに対する前記第２アクセス要求を生成する分散メモリブロックドライバである請求項１に記載の情報処理システム。
【請求項３】
前記記憶部は、前記複数のプラットフォームがアクセス可能なＲＯＭを有する請求項１または２に記載の情報処理システム。
【請求項４】
中継装置が有する拡張バスを介してアクセス先のプラットフォームと通信可能とするブリッジドライバと、
前記アクセス先の前記プラットフォームを仮想ＬＡＮ上のプラットフォームと認識して、前記アクセス先のプラットフォームが備える記憶部に対する第１アクセス要求を生成し、前記ブリッジドライバを介して前記第１アクセス要求を前記アクセス先のプラットフォームに送信する仮想ＬＡＮドライバと、
前記記憶部を自身に接続される記憶部と認識して、当該記憶部に対する第２アクセス要求を生成し、前記ブリッジドライバを介して前記第１アクセス要求を前記アクセス先のプラットフォームに送信するブロックデバイスドライバと、
を備えるプラットフォーム。
【請求項５】
記憶部と、
中継装置が備える拡張バスを介してアクセス元のプラットフォームと通信可能とし、前記アクセス元のプラットフォームから受信する前記記憶部に対するアクセス要求が、前記アクセス元のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して送信された第１アクセス要求か、若しくは、前記記憶部を前記アクセス元のプラットフォームに接続された記憶部と認識して送信された第２アクセス要求か、を判別するブリッジドライバと、
前記アクセス元のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して、前記ブリッジドライバによって前記第１アクセス要求と判別された前記アクセス要求を受信する仮想ＬＡＮドライバと、
前記記憶部を前記アクセス元のプラットフォームに接続される記憶部と認識して、前記ブリッジドライバによって前記第１アクセス要求と判別された前記アクセス要求を受信し、当該アクセス要求に基づいて前記記憶部にアクセスするブロックデバイスドライバと、
を備えるプラットフォーム。
【請求項６】
中継装置が備える拡張バスを介してアクセス元のプラットフォームから受信する、アクセス先のプラットフォームが備える記憶部に対するアクセス要求が、前記アクセス元のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して送信されたものか、若しくは、前記記憶部を前記アクセス元のプラットフォームに接続される記憶部と認識して送信されたものかを判別する、
ブリッジドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理システム、プラットフォーム、およびブリッジドライバに関する。
【背景技術】
【０００２】
ＰＣＩｅ等の拡張バスを有する中継装置と、拡張バスを介して互いに接続される複数のプラットフォームと、を有する情報処理システムがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−５６５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、情報処理システムでは、複数のプラットフォームのうちいずれかのプラットフォーム（以下、アクセス先のプラットフォームと言う）が備える記憶部を、その他のプラットフォーム（以下、アクセス元のプラットフォームと言う）で共用する技術が開発されている。
【０００５】
その際、アクセス元のプラットフォームは、アクセス先のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して、アクセス先のプラットフォームが備える記憶部に対するアクセス要求を生成し、当該生成したアクセス要求を、中継装置を介してアクセス先のプラットフォームに送信する。また、アクセス先のプラットフォームは、アクセス元のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して、中継装置を介して、アクセス元のプラットフォームからアクセス要求を受信し、当該アクセス要求に従って記憶部にアクセスする。
【０００６】
しかしながら、アクセス元のプラットフォームとアクセス先のプラットフォームとが互いを仮想ＬＡＮ上のプラットフォームと認識して、アクセス要求を送受信すると、そのアクセス要求を仮想ＬＡＮの通信規格に従ったアクセス要求に変換する処理等が必要となり、アクセス先のプラットフォームが備える記憶部に対するアクセスにおけるオーバヘッドが大きくなる。
【課題を解決するための手段】
【０００７】
本発明の第１態様にかかる情報処理システムは、拡張バスを有する中継装置と、拡張バスを介して互いに接続される複数のプラットフォームと、を備える。アクセス元のプラットフォームは、拡張バスを介してアクセス先のプラットフォームと通信可能とする第１ブリッジドライバと、アクセス先のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して、アクセス先のプラットフォームが備える記憶部に対する第１アクセス要求を生成し、第１ブリッジドライバを介して第１アクセス要求をアクセス先のプラットフォームに送信する第１仮想ＬＡＮドライバと、記憶部をアクセス元のプラットフォームに接続される記憶部と認識して、当該記憶部に対する第２アクセス要求を生成し、第１ブリッジドライバを介して第１アクセス要求をアクセス先のプラットフォームに送信する第１ブロックデバイスドライバと、を備える。アクセス先のプラットフォームは、拡張バスを介してアクセス元のプラットフォームと通信可能とし、アクセス元のプラットフォームから受信する記憶部に対するアクセス要求が、第１アクセス要求か、若しくは、第２アクセス要求か、を判別する第２ブリッジドライバと、アクセス元のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して、第２ブリッジドライバを介してアクセス元のプラットフォームから第１アクセス要求を受信する第２仮想ＬＡＮドライバと、記憶部をアクセス元のプラットフォームに接続される記憶部と認識して、第２ブリッジドライバを介して第２アクセス要求を受信し、第２アクセス要求に基づいて記憶部にアクセスする第２ブロックデバイスドライバと、を備える。
【０００８】
本発明の第２態様にかかるプラットフォームは、中継装置が有する拡張バスを介してアクセス先のプラットフォームと通信可能とするブリッジドライバと、アクセス先のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して、アクセス先のプラットフォームが備える記憶部に対する第１アクセス要求を生成し、ブリッジドライバを介して第１アクセス要求をアクセス先のプラットフォームに送信する仮想ＬＡＮドライバと、記憶部を自身に接続される記憶部と認識して、当該記憶部に対する第２アクセス要求を生成し、ブリッジドライバを介して第１アクセス要求を前記アクセス先のプラットフォームに送信するブロックデバイスドライバと、を備える。
【０００９】
本発明の第３態様にかかるプラットフォームは、記憶部と、中継装置が備える拡張バスを介してアクセス元のプラットフォームと通信可能とし、アクセス元のプラットフォームから受信する記憶部に対するアクセス要求が、アクセス元のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して送信された第１アクセス要求か、若しくは、記憶部をアクセス元のプラットフォームに接続された記憶部と認識して送信された第２アクセス要求か、を判別するブリッジドライバと、アクセス元のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して、ブリッジドライバによって第１アクセス要求と判別されたアクセス要求を受信する仮想ＬＡＮドライバと、記憶部をアクセス元のプラットフォームに接続される記憶部と認識して、ブリッジドライバによって第１アクセス要求と判別されたアクセス要求を受信し、当該アクセス要求に基づいて記憶部にアクセスするブロックデバイスドライバと、を備える。
【００１０】
本発明の第４態様にかかるブリッジドライバは、中継装置が備える拡張バスを介してアクセス元のプラットフォームから受信する、アクセス先のプラットフォームが備える記憶部に対するアクセス要求が、アクセス元のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識して送信されたものか、若しくは、記憶部をアクセス元のプラットフォームに接続される記憶部と認識して送信されたものかを判別する。
【発明の効果】
【００１１】
本発明の上記第１態様によれば、アクセス元のプラットフォームからアクセス先のプラットフォームが備える記憶部に対するアクセスにおけるオーバヘッドを削減することができる。
【００１２】
本発明の上記第２態様によれば、アクセス元のプラットフォームにおける、アクセス先のプラットフォームが備える記憶部に対するアクセスによるオーバヘッドを削減することができる。
【００１３】
本発明の上記第３態様によれば、アクセス先のプラットフォームにおける、当該アクセス先のプラットフォームが備える記憶部に対するアクセスにおけるオーバヘッドを削減することができる。
【００１４】
本発明の上記第４態様によれば、アクセス先のプラットフォームにおける、当該アクセス先のプラットフォームが備える記憶部に対するアクセスにおけるオーバヘッドの削減が可能となる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施形態にかかる情報処理システムの全体構成の一例を示す図である。
【図２】図２は、本実施形態にかかる情報処理システムのハードウェア構成の一例を示す図である。
【図３】図３は、本実施形態にかかる情報処理システムのプラットフォームのソフトウェア構成の一例を示す図である。
【図４】図４は、本実施形態にかかる情報処理システムにおけるプラットフォーム間における通信処理の一例を説明するための図である。
【図５】図５は、本実施形態にかかる情報処理システムにおける任意のプラットフォームからの他のプラットフォームの見え方を例示する図である。
【図６】図６は、本実施形態にかかる情報処理システムにおける任意のプラットフォームからの他のプラットフォームの見え方を例示する図である。
【図７】図７は、本実施形態にかかる情報処理システムにおける他のプラットフォームの記憶部に対するアクセス方法の一例を説明するための図である。
【図８】図８は、本実施形態にかかる情報処理システムのプラットフォームが有するドライバの特徴的な構成の一例を示すブロック図である。
【図９】図９は、本実施形態にかかるプラットフォームにおけるドライバの初期化処理の流れの一例を示すシーケンス図である。
【図１０】図１０は、本実施形態にかかるプラットフォームにおける他のプラットフォームとの通信の中断処理の流れの一例を示すシーケンス図である。
【図１１】図１１は、本実施形態にかかるプラットフォームにおける他のプラットフォームとの通信の再開処理の流れの一例を示すシーケンス図である。
【図１２】図１２は、本実施形態にかかるプラットフォームにおける通信の終了処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、添付の図面を用いて、本実施形態にかかる情報処理システム、およびプラットフォームの一例について説明する。
【００１７】
図１は、本実施形態にかかる情報処理システムの全体構成の一例を示す図である。図１に示すように、本実施形態にかかる情報処理システム１は、複数のプラットフォーム２−１〜２−８、および中継装置３を有する。複数のプラットフォーム２−１〜２−８は、それぞれ中継装置３に接続されている。
【００１８】
以下の説明では、複数のプラットフォーム２−１〜２−８を区別する必要がなく、任意のプラットフォームを示す場合には、プラットフォーム２と記載する。また、ここでは、情報処理システム１が、８つのプラットフォーム２−１〜２−８を有する例について説明するが、複数のプラットフォーム２を有するものであれば、これに限定するものではない。
【００１９】
プラットフォーム２−１〜２−８は、情報処理システム１の制御部およびＧＵＩ（Graphical  User  Interface）として機能するホストＰＣ（Personal  Computer）や、ＡＩ（Artificial  Intelligence）推論処理や画像処理等を実行する演算部である。
【００２０】
具体的には、プラットフォーム２−１〜２−８は、ＳＯＣ（System  On  a  Chip）２１−１〜２１−８を備える。以下の説明では、ＳＯＣ２１−１〜２１−８を区別する必要がなく、任意のプロセッサを示す場合には、ＳＯＣ２１と記載する。ＳＯＣ２１−１〜２１−８は、それぞれ違うメーカ（ベンダ）から提供されたものであっても良いし、同じメーカから提供されたものであっても良い。
【００２１】
例えば、ＳＯＣ２１−１はＡ社から提供され、ＳＯＣ２１−２はＢ社から提供され、ＳＯＣ２１−３はＣ社から提供され、ＳＯＣ２１−４はＤ社から提供され、ＳＯＣ２１−５はＥ社から提供され、ＳＯＣ２１−６はＦ社から提供され、ＳＯＣ２１−７はＧ社から提供され、ＳＯＣ２１−８はＨ社から提供されるものとする。
【００２２】
また、中継装置３に搭載される各ＥＰ（End  Point）に対しては、それぞれ異なるプラットフォーム２を接続しても良いし、各ＥＰに対して１つのプラットフォーム２を接続し、プラットフォーム２側が複数のＲＣ（Root  Complex）を用いて中継装置３と通信しても良い。
【００２３】
次に、図２を用いて、本実施形態にかかる情報処理システム１のハードウェア構成の一例について説明する。図２は、本実施形態にかかる情報処理システムのハードウェア構成の一例を示す図である。以下の説明では、プラットフォーム２−１がホストＰＣとして機能し、プラットフォーム２−２〜２−８が、演算部として機能する例について説明する。
【００２４】
まず、ホストＰＣとして機能するプラットフォーム２−１のハードウェア構成について説明する。
【００２５】
プラットフォーム２−１は、図２に示すように、ＳＯＣ２１−１、および記憶部２０２を有する。
【００２６】
記憶部２０２は、ＨＤＤ（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）等のプロセッサであり、プラットフォーム２−１全体を制御する。プロセッサは、マルチコアプロセッサであっても良いし、２以上のプロセッサの組合せであっても良い。
【００２９】
次に、演算部として機能するプラットフォーム２−２〜２−８のハードウェア構成について説明する。
【００３０】
プラットフォーム２−２は、図２に示すように、ＳＯＣ２１−２を有する。ＳＯＣ２１−２は、プロセッサや、ＲＯＭ、ＲＡＭ等を搭載するチップである。ＲＯＭは、各種のソフトウェアプログラムや当該ソフトウェアプログラム用のデータを記憶する。ＲＯＭに記憶されるソフトウェアプログラムは、プロセッサにより読み込まれて実行される。ＲＡＭは、ＲＯＭに記憶されるソフトウェアプログラムをプロセッサが実行する際の作業領域として機能する。
【００３１】
プロセッサは、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤ、ＦＰＧＡ等のプロセッサであり、プラットフォーム２−２全体を制御する。プロセッサは、マルチコアプロセッサであっても良いし、２以上のプロセッサの組合せであっても良い。例えば、プロセッサは、ＣＰＵおよびＧＰＵの組み合わせであっても良い。
【００３２】
ここでは、プラットフォーム２−２のハードウェア構成について説明したが、演算部として機能する他のプラットフォーム２−３〜２−８も、プラットフォーム２−２と同様のハードウェア構成を有する。
【００３３】
次に、中継装置３のハードウェア構成について説明する。
【００３４】
中継装置３は、例えば、図２に示すように、複数のＥＰを１チップ内に有する中継装置である。中継装置３は、図２に示すように、ブリッジコントローラ３０１、メモリ空間３０２、内部バス３０３、および複数のスロット３０５−１〜３０５−８を備える。図２に示すように、ブリッジコントローラ３０１、メモリ空間３０２、および複数のスロット３０５−１〜３０５−８は、ＰＣＩｅ等の拡張バスである内部バス３０３を介して互いに通信可能に接続されている。
【００３５】
スロット３０５−１〜３０５−８には、それぞれＰＣＩｅの規格を満たすように構成されたデバイスが接続されるスロットある。本実施形態では、スロット３０５−１〜３０５−８には、プラットフォーム２−１〜２−８が接続される。以下の説明では、スロット３０５−１〜３０５−８を区別する必要がなく、任意のスロットを示す場合には、スロット３０５と記載する。複数のプラットフォーム２がスロット３０５に接続されることにより、当該複数のプラットフォーム２は内部バス３０３を介して互いに接続される。
【００３６】
また、１つのスロット３０５に対して、１つのプラットフォーム２が接続されていても良いが、１つのプラットフォーム２に対して複数のスロット３０５を割り当てることにより、当該プラットフォーム２は、広い通信帯域を用いた通信が可能となる。
【００３７】
メモリ空間３０２は、例えば、ＲＯＭおよびＲＡＭを含むメモリである。メモリ空間３０２のＲＯＭには、スロット３０５に接続される複数のプラットフォーム２間での通信制御に関わるソフトウェアプログラム等の各種のソフトウェアプログラム、このソフトウェアプログラム用のデータを記憶する。ＲＯＭに記憶されるソフトウェアプログラムは、ブリッジコントローラ３０１により読み込まれて実行される。メモリ空間３０２のＲＡＭは、メモリ空間３０２のＲＯＭに記憶されるソフトウェアプログラムを実行する際の作業領域として機能する。
【００３８】
また、プラットフォーム２には、各スロット３０５に対応させてメモリ空間３０２等にアドレス空間が設けられている。中継装置３は、スロット３０５毎に設けられるアドレスに基づいてプラットフォーム２間のデータ転送を行う。
【００３９】
ブリッジコントローラ３０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤ、ＦＰＧＡ等のプロセッサを含み、当該プロセッサが、スロット３０５を介したプラットフォーム２間での通信を制御する。ブリッジコントローラ３０１は、複数のプロセッサの組合せを含んでいても良い。そして、ブリッジコントローラ３０１は、メモリ空間３０２に記憶されるソフトウェアプログラムを実行することによって、スロット３０５に接続されるプラットフォーム２間での通信を実現する。
【００４０】
次に、図３を用いて、本実施形態にかかる情報処理システム１のプラットフォーム２のソフトウェア構成の一例について説明する。図３は、本実施形態にかかる情報処理システムのプラットフォームのソフトウェア構成の一例を示す図である。
【００４１】
プラットフォーム２−１は、例えば、Windows（登録商標）をＯＳ（Operating  System）として、このＯＳ上において各種ソフトウェアプログラムを実行する。プラットフォーム２−２，２−３は、例えば、Linux（登録商標）をＯＳとし、このＯＳ上において各種ソフトウェアプログラムを実行する。
【００４２】
プラットフォーム２には、ブリッジドライバ３１１を含むドライバ３００が設けられ、当該ドライバ３００を介して中継装置３および他のプラットフォーム２との間で通信を行う。各プラットフォーム２は、上述したように、ＳＯＣ２１を有する。そして、このＳＯＣ２１が有するプロセッサが、当該ＳＯＣ２１のＲＯＭに記憶されるＯＳや各種プログラム、ドライバ３００等を実行することにより、プラットフォーム２が有する各種の機能を実現する。
【００４３】
次に、図４を用いて、中継装置３に接続されるプラットフォーム２−１，２−２間における通信処理の一例について説明する。図４は、本実施形態にかかる情報処理システムにおけるプラットフォーム間における通信処理の一例を説明するための図である。ここでは、プラットフォーム２−１のＳＯＣ２１−１と、プラットフォーム２−２のＳＯＣ２１−２間での通信処理の一例について説明するが、他のプラットフォーム２のＳＯＣ２１間も同様にして通信を行うものとする。
【００４４】
送信元のプラットフォーム２−１は、ＳＯＣ２１−１において生成されるデータが、ソフトウェア、トランザクション層、データリンク層、および物理層（ＰＨＹ）を順次転送され、物理層において中継装置３の物理層に転送される。
【００４５】
中継装置３は、送信元のプラットフォーム２−１から転送されてきたデータを、物理層、データリンク層、およびトランザクション層を順次転送され、その後、送信先のプラットフォーム２−２に対応するＥＰにトンネリングにより転送される。すなわち、中継装置３においては、ＥＰ間でデータをトンネリングさせることで、１つのＳＯＣ２１−１から他のＳＯＣ２１−２にデータが転送される。
【００４６】
送信先のプラットフォーム２−２に対して中継装置３から転送されてきたデータは、物理層（ＰＨＹ）、データリンク層、トランザクション層、およびソフトウェアに順次転送され、その後、送信先のプラットフォーム２−２のＳＯＣ２１−２に転送される。本実施形態の情報処理システム１では、プラットフォーム２間の通信は、ＰＣＩｅのトランザクションが発生した時に論理的に実現される。
【００４７】
中継装置３が有する複数のスロット３０５のうち１つに接続されたプラットフォーム２に対して、複数のプラットフォーム２からのデータの転送が集中しない場合には、異なる任意の複数組のプラットフォーム２間において並行してデータの転送を実行することも可能である。
【００４８】
例えば、プラットフォーム２−１のＳＯＣ２１−１に対して、プラットフォーム２−２のＳＯＣ２１−２およびプラットフォーム２−３のＳＯＣ２１−３が通信する場合には、中継装置３は、プラットフォーム２−２のＳＯＣ２１−２およびプラットフォーム２−３のＳＯＣ２１−３による通信をシリアルに処理する。
【００４９】
一方、異なるプラットフォーム２のＳＯＣ２１同士が通信し、特定のプラットフォーム２のＳＯＣ２１に通信が集中しない場合には、中継装置３は、プラットフォーム２間の通信を並行して処理することも可能である。
【００５０】
次に、図５および図６を用いて、あるプラットフォーム２のＳＯＣ２１から他のプラットフォーム２のＳＯＣ２１の見え方について説明する。図５および図６は、本実施形態にかかる情報処理システムにおける任意のプラットフォームからの他のプラットフォームの見え方を例示する図である。
【００５１】
各プラットフォーム２のＳＯＣ２１間で通信が行なわれている状態において、各ＳＯＣ２１が実行するＯＳ（例えば、Windows（登録商標）のデバイスマネージャ）からは、中継装置３しか見えないため、接続先の他のプラットフォーム２のＳＯＣ２１を直接管理する必要がない。すなわち、中継装置３のデバイスドライバが、中継装置３の先に接続されたプラットフォーム２のＳＯＣ２１を管理する。
【００５２】
そのため、送信元、送信先それぞれのプラットフォーム２のＳＯＣ２１を動作させるためのデバイスドライバを準備する必要がなく、中継装置３のデバイスドライバで中継装置３に対して通信処理を行なうだけで、プラットフォーム２間の通信を実現することができる。
【００５３】
次に、図７を用いて、アクセス元のプラットフォーム２から、中継装置３を介して、他のプラットフォーム２の記憶部２０２に対してアクセスする方法を説明する。図７は、本実施形態にかかる情報処理システムにおける他のプラットフォームの記憶部に対するアクセス方法の一例を説明するための図である。
【００５４】
この図７に示す例においては、スロット＃４に接続されたプラットフォーム２−５によって、スロット＃０に接続されたプラットフォーム２−１の記憶部２０２にアクセスする場合について説明する。
【００５５】
アクセス元のプラットフォーム２−５は、アクセス先のプラットフォーム２−１の記憶部２０２に対するアクセス要求を、プラットフォーム２−５のＳＯＣ２１−５へ定義されたアドレス空間３５のうち、アクセス先のプラットフォーム２−１の記憶部２０２へ対応するアドレスレンジに対して発行する（ステップＳ７０１）。ここで、アドレス空間３５は、転送されるデータが一時的に格納される通信バッファの一部であっても良い。アドレス空間３５は、プラットフォーム２のそれぞれに、当該プラットフォーム２が有する物理メモリ２２等と同じ大きさで設けられた領域である。
【００５６】
ここで、アドレス空間３５は、図７に示すように、各プラットフォーム２に対応するアドレスレンジＳｌｏｔ＃０〜Ｓｌｏｔ＃４を有する。アドレスレンジＳｌоｔ＃０〜Ｓｌоｔ＃４は、プラットフォーム２間を転送されるアクセス要求が一時的に格納されるバッファであっても良い。例えば、メモリ領域３５内のアドレスレンジＳｌｏｔ＃０は、スロット３０５−１に接続されるプラットフォーム２−１に対応するアドレスレンジである。また、アドレスレンジＳｌоｔ＃４は、スロット３０５−５に接続されるプラットフォーム２−５に対応するアドレスレンジである。
【００５７】
したがって、アクセス元のプラットフォーム２−５は、ステップＳ７０１において、プラットフォーム２−１にアクセス要求を送信する場合、アドレス空間３５内のアドレスレンジＳｌоｔ＃０〜Ｓｌоｔ＃４のうち、アクセス先のプラットフォーム２−１に対応するアドレスレンジＳｌоｔ＃０にアクセス要求を書き込む。
【００５８】
次いで、プラットフォーム２−５のブリッジドライバ３１１は、アドレスレンジＳｌоｔ＃０に基づいて、アクセス先のプラットフォーム２−１が接続されるスロット３０５−１を示すスロット情報と、アクセス先のプラットフォーム２−１のアドレス空間３５におけるアドレスレンジＳｌоｔ＃０のアドレス情報と、を取得または生成する（ステップＳ７０２）。
【００５９】
次いで、プラットフォーム２−５のブリッジドライバ３１１は、取得または生成したスロット情報、アドレス情報、およびアクセス要求を中継装置３に渡す（ステップＳ７０３）。
【００６０】
ここで、中継装置３は、プラットフォーム２のアドレス空間３５と同様に、各プラットフォーム２に対応するアドレスレンジＳｌоｔ＃０〜Ｓｌоｔ＃４を有する。したがって、中継装置３のブリッジコントローラ３０１は、ステップＳ７０４において、スロット情報に基づいて、メモリ空間３０２のアドレスレンジＳｌоｔ＃０〜Ｓｌоｔ＃４のうち、プラットフォーム２−１に対応するアドレスレンジＳｌоｔ＃０に、スロット情報、アドレス情報、およびアクセス要求を格納する。
【００６１】
次に、中継装置３のブリッジコントローラ３０１は、発行されたスロット情報、アドレス情報、およびアクセス要求を、アクセス先のプラットフォーム２−１に送信する（ステップＳ７０５）。すなわち、中継装置３は、スロット情報に基づいて、ＥＰｔｏＥＰにより、アクセス元のスロット３０５とアクセス先のスロット３０５とを接続して、アクセス要求をアクセス先のプラットフォーム２−１に転送する。
【００６２】
アクセス先のプラットフォーム２−１のブリッジドライバ３１１は、スロット情報およびアドレス情報に基づいて、アクセス先のプラットフォーム２−１のアドレス空間３５のアドレスレンジＳｌоｔ＃０〜Ｓｌоｔ＃４のうち、プラットフォーム２−１に対応するアドレスレンジＳｌоｔ＃０にアクセス要求を発行する（ステップＳ７０６）。
【００６３】
発行されたアクセス要求は、アドレスレンジＳｌｏｔ♯０に割り当てられた記憶部２０２に対するアクセス（書込みまたは読込み）として実行される（ステップＳ７０７）。
【００６４】
以上のようにして、アクセス元のプラットフォーム２−５からアクセス先のプラットフォーム２−１の記憶部２０２にアクセスする。
【００６５】
ところで、図７に示すアクセス方法によって、アクセス元のプラットフォーム２が、アクセス先のプラットフォーム２の記憶部２０２にアクセスする場合、アクセス元のプラットフォーム２は、まず、アクセス先のプラットフォーム２を仮想ＬＡＮ上のプラットフォームと認識する。次いで、アクセス元のプラットフォーム２は、アクセス先のプラットフォーム２が備える記憶部２０２に対するアクセス要求を生成し、当該生成したアクセス要求を、中継装置３を介してアクセス先のプラットフォームに送信する。
【００６６】
また、アクセス先のプラットフォーム２も、アクセス元のプラットフォームを仮想ＬＡＮ上のプラットフォームと認識する。次いで、アクセス先のプラットフォーム２は、中継装置３を介して、アクセス元のプラットフォーム２からアクセス要求を受信し、当該アクセス要求に従って自身が備える記憶部２０２にアクセスする。
【００６７】
しかしながら、アクセス元のプラットフォーム２とアクセス先のプラットフォーム２とが互いを仮想ＬＡＮ上のプラットフォーム２と認識して、アクセス要求を送受信する場合、アクセス要求を、仮想ＬＡＮの通信規格に従ったアクセス要求に変換する処理等が必要となり、アクセス先のプラットフォーム２が備える記憶部２０２に対するアクセスにおけるオーバヘッドが大きくなる。
【００６８】
そこで、本実施形態では、アクセス先のプラットフォーム２を仮想ＬＡＮ上のプラットフォームと認識して当該アクセス先のプラットフォーム２が備える記憶部２０２に対するアクセス要求を生成する仮想ＬＡＮドライバ３１２（図８参照）に加えて、分散メモリデバイスドライバ３１３（図８参照）を、アクセス元のプラットフォーム２に設ける。ここで、分散メモリデバイスドライバ３１３は、アクセス先のプラットフォーム２の記憶部２０２をアクセス元のプラットフォーム２に接続される記憶部として認識して、当該記憶部２０２に対するアクセス要求を生成するブロックデバイスドライバの一例である。
【００６９】
これにより、アクセス元のプラットフォーム２からアクセス先のプラットフォーム２の記憶部２０２に対するアクセス要求を送信する際に、仮想ＬＡＮの通信規格に従ったアクセス要求に変換する処理等が必要なくなる。その結果、アクセス先のプラットフォーム２が備える記憶部２０２に対するアクセスにおけるオーバヘッドを削減することができる。
【００７０】
次に、図８を用いて、本実施形態にかかるプラットフォーム２が有するドライバ３００の特徴的な構成の一例について説明する。図８は、本実施形態にかかる情報処理システムのプラットフォームが有するドライバの特徴的な構成の一例を示すブロック図である。
【００７１】
本実施形態では、プラットフォーム２が有するドライバ３００は、図８に示すように、ブリッジドライバ３１１、仮想ＬＡＮドライバ３１２、分散メモリデバイスドライバ３１３、物理ＬＡＮドライバ３１４、ＳＤカードドライバ３１５等の各種ドライバを備えている。物理ＬＡＮドライバ３１４は、ＬＡＮを介して外部装置と通信可能とするドライバである。ＳＤカードドライバ３１５は、プラットフォーム２に接続されるＳＤカードを認識して、当該ＳＤカードに対するアクセスを実行するドライバである。
【００７２】
まず、アクセス元のプラットフォーム２の一例として機能するプラットフォーム２−５のドライバ３００の特徴的な構成の一例について説明する。
【００７３】
ブリッジドライバ３１１は、中継装置３が有する内部バス３０３を介してアクセス先のプラットフォーム２−１と通信可能とするドライバである。具体的には、ブリッジドライバ３１１は、後述する仮想ＬＡＮドライバ３１２または分散メモリデバイスドライバ３１３により生成されるアクセス要求を、アクセス先のプラットフォーム２−１に対応するアドレスレンジＳｌｏｔ＃０から読み出し、当該読み出したアクセス要求を、中継装置３に渡す。
【００７４】
仮想ＬＡＮドライバ３１２は、プラットフォーム２−１を仮想ＬＡＮ上のプラットフォーム２と認識して、プラットフォーム２−１の記憶部２０２に対するアクセス要求（以下、第１アクセス要求と言う。例えば、記憶部２０２に対する各種データの書込みまたは読込の要求。）を生成し、当該第１アクセス要求を、ブリッジドライバ３１１を介してプラットフォーム２−１に送信するドライバである。具体的には、仮想ＬＡＮドライバ３１２は、生成した第１アクセス要求を、プラットフォーム２−１に対応するアドレスレンジＳｌｏｔ＃０に書き込むことによって、当該第１アクセス要求を、ブリッジドライバ３１１を介して、プラットフォーム２−１に送信する。
【００７５】
本実施形態では、仮想ＬＡＮドライバ３１２は、プラットフォーム２−５のアプリケーションや他のドライバ等を介してアクセス要求ｎｅｔｄｅｖが入力された場合に、当該アクセス要求ｎｅｔｄｅｖを、仮想ＬＡＮ上に存在すると認識しているプラットフォーム２−１に対して、当該プラットフォーム２−１の記憶部２０２にアクセスを要求する第１アクセス要求に変換する。ここで、アクセス要求ｎｅｔｄｅｖは、ネットワークインタフェースに従ったアクセス要求である。
【００７６】
分散メモリデバイスドライバ３１３は、アクセス先のプラットフォーム２−１の記憶部２０２を、アクセス元のプラットフォーム２−５に接続される記憶部と認識して、当該記憶部２０２に対するアクセス要求（以下、第２アクセス要求と言う）を生成し、当該第２アクセス要求を、ブリッジドライバ３１１を介してプラットフォーム２−１に送信するブロックデバイスドライバの一例である。具体的には、分散メモリデバイスドライバ３１３は、生成した第２アクセス要求を、プラットフォーム２−１に対応するアドレスレンジＳｌｏｔ＃０に書き込むことによって、当該第２アクセス要求を、ブリッジドライバ３１１を介して、プラットフォーム２−１に送信する。
【００７７】
これにより、アクセス先のプラットフォーム２−１の記憶部２０２にアクセスする際に、アクセス先のプラットフォーム２−１の記憶部２０２に対するアクセス要求を、仮想ＬＡＮの通信規格に従ったアクセス要求に変換する処理等が必要なくなる。その結果、アクセス元のプラットフォーム２−５における、アクセス先のプラットフォーム２が備える記憶部２０２に対するアクセスにおけるオーバヘッドを削減することができる。
【００７８】
本実施形態では、分散メモリデバイスドライバ３１３は、プラットフォーム２−５のＯＳが含むファイルシステムからアクセス要求ｂｌｋｄｅｖが入力された場合に、当該アクセス要求ｂｌｋｄｅｖを、アクセス先のプラットフォーム２−１の記憶部２０２をアクセス元のプラットフォーム２−５自身に接続されているデバイス（記憶部）と認識して、当該記憶部２０２にアクセスする第２アクセス要求に変換する。
【００７９】
ここで、アクセス要求ｂｌｋｄｅｖは、プラットフォーム２のＯＳに含まれるファイルシステムによる、記憶部２０２に対するアクセス要求である。本実施形態では、アクセス要求ｂｌｋｄｅｖは、記憶部２０２に含まれるメモリブロック単位でのアクセス要求である。
【００８０】
また、本実施形態では、アクセス先のプラットフォーム２−１の記憶部２０２は、各プラットフォーム２に対応する分散メモリを有するものとする。この場合、分散メモリデバイスドライバ３１３は、記憶部２０２が有する分散メモリのうち、アクセス元のプラットフォーム２−５自身に対応する分散メモリを、当該アクセス元のプラットフォーム２−５に接続される記憶部と認識して、第２アクセス要求を生成する。
【００８１】
これにより、アクセス元のプラットフォーム２−５に対応する分散メモリにアクセスする際に、アクセス先のプラットフォーム２−１の分散メモリに対するアクセス要求を、仮想ＬＡＮの通信規格に従ったアクセス要求に変換する必要がなくなる。その結果、アクセス元のプラットフォーム２−５における、アクセス先のプラットフォーム２−１が備える分散メモリに対するアクセスによるオーバヘッドを削減することができる。
【００８２】
また、本実施形態では、アクセス先のプラットフォーム２−１の記憶部２０２は、複数のプラットフォーム２がアクセス可能なＲＯＭを有していても良い。この場合、当該ＲＯＭには、アクセス元のプラットフォーム２−５において実行するＡＩ推論処理や画像処理等のソフトウェアプログラムを保存しておいても良い。そして、分散メモリデバイスドライバ３１３は、アクセス先のプラットフォーム２−１の記憶部２０２が有するＲＯＭに記憶されるソフトウェアプログラムの読み込みを要求する第２アクセス要求を生成して、アクセス先のプラットフォーム２−１に送信する。
【００８３】
これにより、演算部として機能する各プラットフォーム２が、ＡＩ推論処理や画像処理等のソフトウェアプログラムを記憶していなくても、当該ソフトウェアプログラムを実行可能となる。その結果、演算部として機能するプラットフォーム２において、ＡＩ推論処理や画像処理等のソフトウェアプログラムの記憶に要する記憶容量を削減することができる。
【００８４】
また、本実施形態では、分散メモリデバイスドライバ３１３は、アクセス先のプラットフォーム２−１の記憶部２０２に対する書き込みを行う場合に、当該記憶部２０２の記憶領域のうち、書き込みを行う記憶領域の元のデータ（以下、元データと言う）の読み込みを要求する第２アクセス要求を生成する。そして、分散メモリデバイスドライバ３１３は、第２アクセス要求に応じて記憶部２０２から読み込んだ元データと、当該元データに書き込んだデータとの差分情報を求め、当該差分情報を、アクセス元のプラットフォーム２−１の物理メモリ２２内に書き込む。この場合、記憶部２０２に記憶される元データに対しては、書き込みを行われないため、当該元データを記憶する記憶部は、ＲＯＭであっても良い。
【００８５】
その後、分散メモリデバイスドライバ３１３は、再び、アクセス先のプラットフォーム２−１の記憶部２０２に対してデータを書き込む場合に、当該記憶部２０２の記憶領域のうち、書き込みを行う記憶領域の元データの読み込みを要求する第２アクセス要求を生成する。そして、分散メモリデバイスドライバ３１３は、第２アクセス要求に応じて記憶部２０２から読み込んだ元データと、アクセス元のプラットフォーム２−１の物理メモリ２２内に記憶される差分情報とに基づいて、先に書込みを行ったデータを復元し、当該復元したデータに対して書き込みを行う。
【００８６】
これにより、演算部として機能する各プラットフォーム２が、ＡＩ推論処理や画像処理等に用いる元データを記憶していなくても、当該元データに対する書込みが実行可能となる。その結果、演算部として機能するプラットフォーム２において、ＡＩ推論処理や画像処理等に用いる元データの記憶に要する記憶容量を削減することができる。また、記憶部２０２に記憶される元データには書込みは行われないので、記憶部２０２から元データを読込むことにより、書込みが行われる前の元データを容易に取得することができる。
【００８７】
次に、アクセス先のプラットフォーム２の一例として機能するプラットフォーム２−１のドライバ３００の特徴的な構成の一例について説明する。
【００８８】
ブリッジドライバ３１１は、内部バス３０３を介してアクセス元のプラットフォーム２−５と通信可能とするドライバである。具体的には、ブリッジドライバ３１１は、中継装置３を介してアクセス元のプラットフォーム２−５から受信するアクセス要求を、アクセス先のプラットフォーム２−１自身に対応するアドレスレンジＳｌｏｔ＃０に書き込み。その後、ブリッジドライバ３１１は、アドレスレンジＳｌｏｔ＃０に記憶されるアクセス要求を、仮想ＬＡＮドライバ３１２または分散メモリデバイスドライバ３１３に渡す。
【００８９】
本実施形態では、ブリッジドライバ３１１は、中継装置３が有する内部バス３０３を介してアクセス元のプラットフォーム２−５から受信するアクセス要求が、アクセス先のプラットフォーム２−１を仮想ＬＡＮ上のプラットフォーム２と認識して送信されたものか（すなわち、第１アクセス要求か）、若しくは、アクセス先のプラットフォーム２−５に接続される記憶部と認識して送信されたものか（すなわち、第２アクセス要求か）を判別する。
【００９０】
そして、ブリッジドライバ３１１は、受信したアクセス要求が、アクセス先のプラットフォーム２−１を仮想ＬＡＮ上のプラットフォーム２と認識して送信されたもの判別した場合（すなわち、第１アクセス要求と判別した場合）、当該受信したアクセス要求を、仮想ＬＡＮドライバ３１２に渡す（転送する）。
【００９１】
一方、ブリッジドライバ３１１は、受信したアクセス要求が、記憶部２０２をアクセス元のプラットフォーム２−５に接続される記憶部と認識して送信されたものと判別された場合（すなわち、第２アクセス要求と判別した場合）、当該受信したアクセス要求を、分散メモリデバイスドライバ３１３に渡す（転送する）。
【００９２】
これにより、受信したアクセス要求が、記憶部２０２をアクセス元のプラットフォーム２０５に接続される記憶部と認識して送信されたものと判別された場合には、受信したアクセス要求を、記憶部２０２のデバイスドライバ用のアクセス要求に変換する処理が行われなくなる。その結果、アクセス元のプラットフォーム２−５における、アクセス先のプラットフォーム２−１が備える記憶部２０２に対するアクセスにおけるオーバヘッドの削減が可能となる。
【００９３】
仮想ＬＡＮドライバ３１２は、アクセス元のプラットフォーム２−５を仮想ＬＡＮ上のプラットフォーム２と認識して、ブリッジドライバ３１１によって第１アクセス要求を判別された、記憶部２０２に対するアクセス要求を受信する。次いで、仮想ＬＡＮドライバ３１２は、受信した第１アクセス要求を、ネットワークインタフェースに従ったアクセス要求ｎｅｔｄｅｖに変換する。そして、仮想ＬＡＮドライバ３１２は、アクセス要求ｎｅｔｄｅｖを、プラットフォーム２−１のアプリケーションや他のドライバ等に渡して、記憶部２０２に対するアクセスを制御する。
【００９４】
分散メモリデバイスドライバ３１３は、記憶部２０２をアクセス元のプラットフォーム２−５に接続される記憶部と認識して、ブリッジドライバ３１１によって第２アクセス要求を判別された、記憶部２０２に対するアクセス要求を受信し、第２アクセス要求に基づいて記憶部２０２にアクセスするブロックデバイスドライバの一例である。
【００９５】
これにより、アクセス元のプラットフォーム２−５がアクセス先のプラットフォーム２−１が備える記憶部２０２にアクセスする際に、アクセス元のプラットフォーム２−５から受信するアクセス要求を、記憶部２０２のデバイスドライバ用のアクセス要求に変換する必要がなくなる。その結果、アクセス元のプラットフォーム２−５における、アクセス先のプラットフォーム２が備える記憶部２０２に対するアクセスにおけるオーバヘッドを削減することができる。
【００９６】
次に、図９を用いて、本実施形態にかかるプラットフォーム２におけるドライバ３００の初期化処理の流れの一例について説明する。図９は、本実施形態にかかるプラットフォームにおけるドライバの初期化処理の流れの一例を示すシーケンス図である。
【００９７】
まず、各プラットフォーム２のＳＯＣ２１のプロセッサは、ＲＯＭに記憶されるブリッジドライバ３１１をロードするドライバロードを実行する（ステップＳ９０１）。次いで、ブリッジドライバ３１１が、仮想ＬＡＮドライバ３１２および分散メモリデバイスドライバ３１３のロードを要求するｒｅｑｕｅｓｔ＿ｍоｄｕｌｅを生成する（ステップＳ９０２，ステップＳ９０３）。
【００９８】
ｒｅｑｕｅｓｔ＿ｍоｄｕｌｅが生成されると、各プラットフォーム２のＳＯＣ２１のプロセッサは、ＲＯＭに記憶される仮想ＬＡＮドライバ３１２および分散メモリデバイスドライバ３１３をロードするドライバロードを実行する（ステップＳ９０４，ステップＳ９０５）。
【００９９】
次いで、ブリッジドライバ３１１は、当該ブリッジドライバ３１１自身を初期化するブリッジ初期化処理を実行する（ステップＳ９０６）。ブリッジ初期化処理後、ブリッジドライバ３１１は、仮想ＬＡＮドライバ３１２や分散メモリデバイスドライバ３１３等の他のドライバを検知するプローブ処理を実行する（ステップＳ９０７，ステップＳ９０８）。
【０１００】
また、仮想ＬＡＮドライバ３１２および分散メモリデバイスドライバ３１３も、当該ドライバ３１２，３１３自身を初期化するドライバ初期化処理を実行する（ステップＳ９０９，ステップＳ９１０）。さらに、仮想ＬＡＮドライバ３１２は、ブリッジドライバ３１１を介して、他のプラットフォーム２を仮想ＬＡＮ上のプラットフォームと認識する仮想ＬＡＮ機能を実行する（ステップＳ９１１）。また、分散メモリデバイスドライバ３１３は、ブリッジドライバ３１１を介して、他のプラットフォーム２が有する記憶部２０２を、プラットフォーム２自身に接続されるデバイスと認識する分散メモリ機能を実行する（ステップＳ９１２）。
【０１０１】
その後、仮想ＬＡＮドライバ３１２および分散メモリデバイスドライバ３１３は、上述した処理に従って、第１，２アクセス要求の送受信を実行することによって、アクセス先のプラットフォーム２が有する記憶部２０２に対するアクセスを実行する。
【０１０２】
次に、図１０を用いて、本実施形態にかかるプラットフォーム２における他のプラットフォーム２との通信の中断処理の流れの一例について説明する。図１０は、本実施形態にかかるプラットフォームにおける他のプラットフォームとの通信の中断処理の流れの一例を示すシーケンス図である。
【０１０３】
各プラットフォーム２のブリッジドライバ３１１は、中継装置３からプラットフォーム２間での通信の中断が指示されると、仮想ＬＡＮドライバ３１２および分散メモリデバイスドライバ３１３に対して通信の中断を指示する中断処理を実行する（ステップＳ１００１，ステップＳ１００２）。
【０１０４】
仮想ＬＡＮドライバ３１２は、ブリッジドライバ３１１から、プラットフォーム２間での通信の中断が指示されると、第１アクセス要求の送受信を中断するネットワーク停止処理を実行する（ステップＳ１００３）。
【０１０５】
また、分散メモリデバイスドライバ３１３は、ブリッジドライバ３１１から、プラットフォーム２間での通信の中断が指示されると、アクセス要求ｂｌｋｄｅｖの入力の受付を中止する受付中止処理を実行する（ステップＳ１００４）。
【０１０６】
次に、図１１を用いて、本実施形態にかかるプラットフォーム２における他のプラットフォーム２との通信の再開処理の流れの一例について説明する。図１１は、本実施形態にかかるプラットフォームにおける他のプラットフォームとの通信の再開処理の流れの一例を示すシーケンス図である。
【０１０７】
各プラットフォーム２のブリッジドライバ３１１は、図１０に示す処理によってプラットフォーム２間における通信が中断された後、中継装置３からレジュームの実行が指示されると、プラットフォーム２間の通信のレジューム処理を実行する（ステップＳ１１０１）。さらに、ブリッジドライバ３１１は、仮想ＬＡＮドライバ３１２および分散メモリデバイスドライバ３１３に対してレジュームの実行を指示する（ステップＳ１１０２）。
【０１０８】
仮想ＬＡＮドライバ３１２は、ブリッジドライバ３１１から、レジュームの実行が指示されると、仮想ＬＡＮ機能のレジューム処理を実行して、他のプラットフォーム２との通信を再開する（ステップＳ１１０３）。また、分散メモリデバイスドライバ３１３も、ブリッジドライバ３１１から、レジュームの実行が指示されると、分散メモリ機能のレジューム処理を実行して、他のプラットフォーム２との通信を再開して、アクセス要求ｂｌｋｄｅｖの入力の受付を再開する（ステップＳ１１０４）。
【０１０９】
次に、図１２を用いて、本実施形態にかかるプラットフォーム２における通信の終了処理の流れの一例について説明する。図１２は、本実施形態にかかるプラットフォームにおける通信の終了処理の流れの一例を示すシーケンス図である。
【０１１０】
各プラットフォーム２のＳＯＣ２１のプロセッサは、各プラットフォーム２のユーザによって、他のプラットフォーム２との通信の終了が指示されると、仮想ＬＡＮドライバ３１２、分散メモリデバイスドライバ３１３、ブリッジドライバ３１１の順に、各ドライバを終了させる終了処理を実行する（ステップＳ１２０１，ステップＳ１２０２，ステップＳ１２０３）。
【０１１１】
このように、本実施形態にかかる情報処理システム１によれば、アクセス先のプラットフォーム２−１の記憶部２０２にアクセスする際に、アクセス先のプラットフォーム２−１の記憶部２０２に対するアクセス要求を、仮想ＬＡＮの通信規格に従ったアクセス要求に変換する処理等が必要なくなる。その結果、アクセス元のプラットフォーム２−５における、アクセス先のプラットフォーム２が備える記憶部２０２に対するアクセスにおけるオーバヘッドを削減することができる。
【０１１２】
また、本実施形態にかかる情報処理システム１によれば、アクセス元のプラットフォーム２−５に対応する分散メモリにアクセスする際に、アクセス先のプラットフォーム２−１の分散メモリに対するアクセス要求を、仮想ＬＡＮの通信規格に従ったアクセス要求に変換する必要がなくなる。その結果、アクセス元のプラットフォーム２−５における、アクセス先のプラットフォーム２−１が備える分散メモリに対するアクセスによるオーバヘッドを削減することができる。
【０１１３】
また、本実施形態にかかる情報処理システム１によれば、演算部として機能する各プラットフォーム２が、ＡＩ推論処理や画像処理等のソフトウェアプログラムを記憶していなくても、当該ソフトウェアプログラムを実行可能となる。その結果、演算部として機能するプラットフォーム２において、ＡＩ推論処理や画像処理等のソフトウェアプログラムの記憶に要する記憶容量を削減することができる。
【０１１４】
上述の実施形態では、各部のＩ／ＯインターフェースとしてＰＣＩｅを例に挙げて説明したが、Ｉ／ＯインターフェースはＰＣＩｅに限定されない。例えば、各部のＩ／Ｏインターフェースは、データ転送バスによって、デバイス（周辺制御コントローラ）とプロセッサとの間でデータ転送を行える技術であればよい。データ転送バスは、１個の筐体等に設けられたローカルな環境（例えば、１つのシステムまたは１つの装置）で高速にデータを転送できる汎用のバスであってよい。Ｉ／Ｏインターフェースは、パラレルインターフェース及びシリアルインターフェースのいずれであってもよい。
【０１１５】
Ｉ／Ｏインターフェースは、ポイント・ツー・ポイント接続ができ、データをパケットベースでシリアル転送可能な構成でよい。尚、Ｉ／Ｏインターフェースは、シリアル転送の場合、複数のレーンを有してよい。Ｉ／Ｏインターフェースのレイヤー構造は、パケットの生成及び復号を行うトランザクション層と、エラー検出等を行うデータリンク層と、シリアルとパラレルとを変換する物理層とを有してよい。また、Ｉ／Ｏインターフェースは、階層の最上位であり１または複数のポートを有するルート・コンプレックス、Ｉ／Ｏデバイスであるエンド・ポイント、ポートを増やすためのスイッチ、及び、プロトコルを変換するブリッジ等を含んでよい。Ｉ／Ｏインターフェースは、送信するデータとクロック信号とをマルチプレクサによって多重化して送信してもよい。この場合、受信側は、デマルチプレクサでデータとクロック信号を分離してよい。
【符号の説明】
【０１１６】
１  情報処理システム
２  プラットフォーム
３  中継装置
２１  ＳＯＣ
３００  ドライバ
３０１  ブリッジコントローラ
３０２  メモリ空間
３０３  内部バス
３０５  スロット
３１１  ブリッジドライバ
３１２  仮想ＬＡＮドライバ
３１３  分散メモリデバイスドライバ
【図１】
2020184224.tif 000003
【図２】
2020184224.tif 000004
【図３】
2020184224.tif 000005
【図４】
2020184224.tif 000006
【図５】
2020184224.tif 000007
【図６】
2020184224.tif 000008
【図７】
2020184224.tif 000009
【図８】
2020184224.tif 000010
【図９】
2020184224.tif 000011
【図１０】
2020184224.tif 000012
【図１１】
2020184224.tif 000013
【図１２】
2020184224.tif 000014