【解決手段】計算装置1−1,1−2,・・・は、他の装置と所定のインタフェースを介した接続状態が確立されたときに、自装置のモデルを示す識別情報を他の装置に通知する。情報処理装置10は、計算装置1−1,1−2,・・・のうちの計算装置1−1と所定のインタフェースを介した接続状態が確立されたときに、計算装置1−1のモデルを示す第1識別情報を計算装置1−1から取得する。そして、情報処理装置10は、第1識別情報に応じた、計算装置1−1のシステムイメージデータ1a−1をシステムイメージデータ11aに書き替えるリストア処理またはシステムイメージデータ1a−1のバックアップ処理をする。
前記情報処理装置は、それぞれがモデルを示す識別情報に対応付けられた、リストア処理またはバックアップ処理を実行するための複数の種類のソフトウェアのうち、前記第1識別情報に対応する種類のソフトウェアを実行することによって、前記第1システムイメージデータを前記他のシステムイメージデータに書き替えるリストア処理または前記第1システムイメージデータのバックアップ処理をする、
請求項1記載の情報処理システム。
前記情報処理装置は、前記第1計算装置と第2計算装置と前記他のシステムイメージデータの選択を受け付け、前記中継装置を制御して前記第1計算装置と前記所定のインタフェースを介した接続状態を確立し、前記第1システムイメージデータを前記他のシステムイメージデータに書き替えるリストア処理をし、前記中継装置を制御して前記第2計算装置と前記所定のインタフェースを介した接続状態を確立し、前記第2計算装置のモデルを示す第2識別情報を前記第2計算装置から取得し、前記第2識別情報に応じた、前記第2計算装置の第2システムイメージデータを前記他のシステムイメージデータに書き替えるリストア処理をする、
請求項3記載の情報処理システム。
他の装置と所定のインタフェースを介した接続状態が確立されたときに、自装置のモデルを示す識別情報を前記他の装置に通知する複数の計算装置のうちの第1計算装置と前記所定のインタフェースを介した接続状態が確立されたときに、前記第1計算装置のモデルを示す第1識別情報を前記第1計算装置から取得し、前記第1識別情報に応じた、前記第1計算装置の第1システムイメージデータを他のシステムイメージデータに書き替えるリストア処理または前記第1システムイメージデータのバックアップ処理をする処理部、
を有する情報処理装置。
第1計算装置のモデルを示す第1識別情報に応じた、前記第1計算装置の第1システムイメージデータを他のシステムイメージデータに書き替えるリストア処理または前記第1システムイメージデータのバックアップ処理をするコンピュータに、
他の装置と所定のインタフェースを介した接続状態が確立されたときに、自装置のモデルを示す識別情報を前記他の装置に通知する複数の計算装置のうちの前記第1計算装置と前記所定のインタフェースを介した接続状態が確立されたときに、前記第1識別情報を前記第1計算装置から取得する、
処理を実行させるプログラム。
【発明を実施するための形態】
【0011】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。
【0012】
図1は、第1の実施の形態に係る情報処理システムの一例を示す図である。第1の実施の形態は、情報処理装置10が計算装置1−1,1−2,・・・のリストアまたはバックアップをするものである。情報処理装置10は、計算装置1−1,1−2,・・・と連携して負荷の大きい処理を実行するコンピュータである。情報処理装置10は、サーバコンピュータであってもよいし、クライアントコンピュータであってもよい。情報処理装置10および計算装置1−1,1−2,・・・は、中継装置2に接続されている。
【0013】
計算装置1−1,1−2,・・・は、情報処理装置10に指示された処理を分散して実行するコンピュータである。また、計算装置1−1,1−2,・・・は、他の装置と所定のインタフェースを介した接続状態が確立されたときに、自装置のモデルを示す識別情報を当該他の装置に通知する。所定のインタフェースは、例えば、USB(Universal Serial Bus)である。
【0014】
情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。記憶部11は、システムイメージデータ11a(他のシステムイメージデータ)を記憶する。システムイメージデータは、コンピュータの状態を示すデータである。システムイメージデータは、例えば、コンピュータにインストールされているOS(Operating System)およびアプリケーションプログラムなどを含む。システムイメージデータ11aは、計算装置1−1,1−2,・・・のうちのいずれかの現在または過去の状態を示すデータであってもよいし、計算装置1−1,1−2,・・・以外のコンピュータの現在または過去の状態を示すデータであってもよい。
【0015】
処理部12は、計算装置1−1,1−2,・・・のモデルに応じた、リストア処理またはバックアップ処理をする。以下では、処理部12が計算装置1−1(第1計算装置)に対してリストア処理またはバックアップ処理をする場合について説明する。まず、処理部12は、中継装置2を制御して、計算装置1−1との所定のインタフェースを介した接続状態を確立させる。処理部12は、計算装置1−1と所定のインタフェースを介した接続状態が確立されたときに、計算装置1−1のモデルを示す識別情報#1(第1識別情報)を計算装置1−1から取得する。
【0016】
そして、処理部12は、識別情報#1に応じた、計算装置1−1のシステムイメージデータ1a−1(第1システムイメージデータ)をシステムイメージデータ11aに書き替えるリストア処理またはシステムイメージデータ1a−1のバックアップ処理をする。例えば、処理部12は、それぞれがモデルを示す識別情報に対応付けられた、リストア処理またはバックアップ処理を実行する複数の種類のソフトウェアのうち、識別情報#1に対応する種類のソフトウェアを実行する。
【0017】
リストア処理では、処理部12は、識別情報#1に対応する種類のソフトウェアを実行することで、計算装置1−1のシステムイメージデータ1a−1をシステムイメージデータ11aに書き替える。また、バックアップ処理では、処理部12は、識別情報#1に対応する種類のソフトウェアを実行することで、計算装置1−1のシステムイメージデータ1a−1を、記憶装置(例えば、記憶部11)に格納する。
【0018】
第1の実施の形態の情報処理システムによれば、情報処理装置10の処理部12は、計算装置1−1と所定のインタフェースを介した接続状態が確立されたときに、計算装置1−1のモデルを示す識別情報#1を計算装置1−1から取得する。そして、処理部12は、識別情報#1に応じた、計算装置1−1のシステムイメージデータ1a−1をシステムイメージデータ11aに書き替えるリストア処理またはシステムイメージデータ1a−1のバックアップ処理をする。これにより、情報処理装置10は、ユーザが計算装置1−1のモデル情報を入力しなくても、計算装置1−1のモデルに応じたリストア処理またはバックアップ処理ができる。よって、第1の実施の形態の情報処理システムでは、情報処理装置10は、リストアまたはバックアップを容易にすることができる。
【0019】
また、処理部12は、リストア処理またはバックアップ処理を実行するための複数の種類のソフトウェアのうち、識別情報#1に対応する種類のソフトウェアを実行することによって、リストア処理またはバックアップ処理をする。これにより、第1の実施の形態の情報処理システムでは、情報処理装置10は、計算装置1−1のモデルに適切なソフトウェアで、計算装置1−1に対するリストア処理またはバックアップ処理をすることができる。
【0020】
また、処理部12は、計算装置1−1,1−2,・・・および情報処理装置10と接続される中継装置2を制御して、計算装置1−1,1−2,・・・のうちの一の計算装置との所定のインタフェースを介した接続状態を確立させる。これにより、第1の実施の形態の情報処理システムでは、情報処理装置10は、複数の計算装置の中からリストア処理またはバックアップ処理の対象となる計算装置を選択することができる。
【0021】
なお、情報処理装置10は、次のような処理によって、複数の計算装置に対してリストア処理をしてもよい。処理部12は、計算装置1−1と計算装置1−2(第2計算装置)とシステムイメージデータ11aの選択を受け付ける。処理部12は、中継装置2を制御して、計算装置1−1と所定のインタフェースを介した接続状態を確立し、システムイメージデータ1a−1をシステムイメージデータ11aに書き替えるリストア処理をする。次に、処理部12は、中継装置2を制御して計算装置1−2と所定のインタフェースを介した接続状態を確立する。処理部12は、計算装置1−2のモデルを示す第2識別情報を計算装置1−2から取得する。処理部12は、第2識別情報に応じた、計算装置1−2の第2システムイメージデータをシステムイメージデータ11aに書き替えるリストア処理をする。これにより、情報処理装置10は、複数の計算装置を同様の状態にする処理(クローニング)を容易にすることができる。
【0022】
また、処理部12は、識別情報#1に応じた、システムイメージデータ1a−1を所定のデータの繰り返しである消去用データに書き替える処理をしてもよい。これにより、情報処理装置10は、計算装置内の状態を削除する処理(イレース)を容易にすることができる。
【0023】
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第2の実施の形態は、計算装置のシステムイメージデータを管理するものである。
【0024】
図2は、第2の実施の形態に係る情報処理システムの一例を示す図である。第2の実施の形態の情報処理システムは、中継装置20、情報処理装置100および計算装置200−1,200−2,・・・を有する。
【0025】
情報処理装置100は、AI推論処理や画像処理を用いたサービスを提供するコンピュータである。例えば、情報処理装置100は、動画から不審者を検出するサービスを提供する。情報処理装置100は、中継装置20を介して計算装置200−1,200−2,・・・に接続されている。
【0026】
計算装置200−1,200−2,・・・は、情報処理装置100の指示に従って、AI推論処理や画像処理の一部を分散して実行するコンピュータである。例えば、計算装置200−1,200−2,・・・は、並列処理に適したプロセッサ(アクセラレータ)を有し、情報処理装置100の指示に従って並列処理を実行する。そして、計算装置200−1,200―2,・・・は、実行結果を情報処理装置100に送信する。
【0027】
また、情報処理装置100は、計算装置200−1,200−2,・・・の状態を管理する。例えば、情報処理装置100は、計算装置200−1,200−2,・・・に対するリストア処理、バックアップ処理またはイレース処理をする。
【0028】
図3は、情報処理装置および計算装置のハードウェアの一構成例を示す図である。情報処理装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0029】
メモリ102は、情報処理装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えば、RAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0030】
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、媒体リーダ106およびネットワークインタフェース107がある。また、バス109に接続されている周辺機器としては、PCIe(Peripheral Component Interconnect Express:登録商標)コネクタ40がある。
【0031】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0032】
グラフィック処理装置104には、モニタ31が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ31の画面に表示させる。モニタ31としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
【0033】
入力インタフェース105は、情報処理装置100に接続された入力デバイス32から入力信号を取得し、プロセッサ101に出力する。入力デバイス32としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置100に、複数の種類の入力デバイスが接続されていてもよい。
【0034】
媒体リーダ106は、記録媒体33に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体33として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
【0035】
ネットワークインタフェース107は、ネットワーク30に接続されている。ネットワークインタフェース107は、ネットワーク30を介して、他の装置との間でデータの送受信を行う。
【0036】
PCIeコネクタ40は、中継装置20に接続されている。中継装置20は、PCIeの拡張バスを含むブリッジコントローラである。そして、例えば、プロセッサ101がホスト側として動作するRC(Root Complex)となり、中継装置20がデバイス側として動作するEP(End Point)となるように、PCIeコネクタ40は中継装置20に接続される。
【0037】
計算装置200−1は、プロセッサ201−1によって装置全体が制御されている。プロセッサ201−1には、バス205−1を介してメモリ202−1と複数の周辺機器が接続されている。プロセッサ201−1は、マルチプロセッサであってもよい。プロセッサ201−1は、例えば、CPU、MPU、またはDSPである。プロセッサ201−1がプログラムを実行することで実現する機能の少なくとも一部を、ASIC、PLDなどの電子回路で実現してもよい。
【0038】
メモリ202−1は、計算装置200−1の主記憶装置として使用される。メモリ202−1には、プロセッサ201−1に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ202−1には、プロセッサ201−1による処理に利用する各種データが格納される。メモリ202−1としては、例えば、RAMなどの揮発性の半導体記憶装置が使用される。
【0039】
バス205−1に接続されている周辺機器としては、不揮発性メモリ203−1、アクセラレータ204−1およびPCIeコネクタ50−1がある。不揮発性メモリ203−1は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。不揮発性メモリ203−1は、コンピュータの補助記憶装置として使用される。不揮発性メモリ203−1には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、不揮発性メモリ203−1としては、例えば、フラッシュメモリを使用することができる。
【0040】
アクセラレータ204−1は、並列演算処理に適したプロセッサである。アクセラレータ204−1としては、例えば、GPU(Graphics Processing Unit)やFPGA(Field Programmable Gate Array)を使用することができる。
【0041】
PCIeコネクタ50−1は、中継装置20に接続されている。例えば、PCIeの拡張バスを含むブリッジコントローラである中継装置20がEP、プロセッサ201−1がRCとなるように、PCIeコネクタ50−1が中継装置20に接続される。
【0042】
情報処理装置100および計算装置200−1は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置10も、
図3に示した情報処理装置100と同様のハードウェアにより実現することができる。また、プロセッサ101は、第1の実施の形態に示した処理部12の一例である。また、メモリ102またはストレージ装置103は、第1の実施の形態に示した、記憶部11の一例である。また、計算装置200−2,・・・および第1の実施の形態に示した計算装置1−1,1−2,・・・も、
図3に示した計算装置200−1と同様のハードウェアにより実現することができる。
【0043】
情報処理装置100は、例えば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。情報処理装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また、情報処理装置100に実行させるプログラムを、記録媒体33に記録しておくこともできる。記録媒体33に格納されたプログラムは、例えば、プロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。また、プロセッサ101が、記録媒体33から直接プログラムを読み出して実行することもできる。
【0044】
計算装置200−1またはアクセラレータ204−1は、例えば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。計算装置200−1またはアクセラレータ204−1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、計算装置200−1またはアクセラレータ204−1に実行させるプログラムを不揮発性メモリ203−1に格納しておくことができる。プロセッサ201−1またはアクセラレータ204−1は、不揮発性メモリ203−1内のプログラムの少なくとも一部をメモリ202−1にロードし、プログラムを実行する。また、計算装置200−1またはアクセラレータ204−1に実行させるプログラムを、記録媒体33に記録しておくこともできる。情報処理装置100に接続された記録媒体33に格納されたプログラムは、例えば、プロセッサ101の制御により、不揮発性メモリ203−1にインストールされた後、実行可能となる。またプロセッサ201−1またはアクセラレータ204−1が、記録媒体33から直接プログラムを読み出して実行することもできる。
【0045】
第2の実施の形態の情報処理システムでは、情報処理装置100は、計算装置200−1,200−2,・・・のシステムイメージデータに対するリストア処理、バックアップ処理またはイレース処理をするためのソフトウェア(インストーラ)を実行する。システムイメージデータは、コンピュータの状態を示すデータであり、コンピュータにインストールされているOS(Operating System)およびアプリケーションプログラムなどを含む。システムイメージデータは、例えば、Linux(登録商標)のルートファイルシステムである。ここで、計算装置のモデル(機種)によって、ハードウェア構成やシステムイメージデータが記憶される領域が異なることがあり、モデルごとに適切な種類のインストーラが使用されることが好ましい。
【0046】
そこで、情報処理装置100は、計算装置200−1,200−2,・・・のVendor IDおよびProduct IDによってモデルを判別する。なお、計算装置200−1,200−2,・・・は、他の装置とUSBを介した接続状態(USB接続)が確立したときに自装置のVendor IDおよびProduct IDを他の装置に通知する。情報処理装置100は、複数の種類のインストーラのうち、判別したモデルに応じた種類のインストーラを実行することで、USB接続が確立した計算装置のシステムイメージデータをリストア、バックアップまたはイレースする。
【0047】
なお、複数の種類のインストーラは、第1の実施の形態に示した複数の種類のソフトウェアの一例である。また、USBは、第1の実施の形態に示した所定のインタフェースの一例であり、Vendor IDおよびProduct IDは、第1の実施の形態に示したモデルを示す識別情報の一例である。以下では、Vendor IDおよびProduct IDをUSB IDということがある。次に、第2の実施の形態の情報処理システムに含まれる各装置の機能について詳細に説明する。
【0048】
図4、
図5は情報処理システムの機能を示すブロック図である。第2の実施の形態の情報処理システムは、情報処理装置100、中継装置20および計算装置200−1〜200−6を有する。第2の実施の形態では、計算装置は計算装置200−1〜200−6の6台としているが、任意の台数の計算装置が中継装置20に接続可能である。
【0049】
なお、図中に示す情報処理装置100と計算装置200−1を接続する破線は、情報処理装置100と計算装置200−1とのケーブル接続時におけるデータの転送経路を示し、中継装置20内に示す点線は、ケーブル非接続時におけるデータの転送経路を示す。
【0050】
情報処理装置100と中継装置20は、1つのPCIeコネクタ40を介して互いに接続される。中継装置20と計算装置200−1〜200−6は、6個の各PCIeコネクタ(図では、PCIeコネクタ50として総称している)を介して互いに接続される。情報処理装置100は、制御部110、記憶部120およびI/F(インタフェース)部130を有する。制御部110は、メモリ102に記憶されたプログラムをプロセッサ101が実行することで実現される。記憶部120は、メモリ102またはストレージ装置103の記憶領域を用いて実現される。
【0051】
また、情報処理装置100には、外部メモリとして、USBメモリm0が接続されるコネクタCN1と、USBケーブルが接続されるコネクタCN2とが設けられており、コネクタCN1、CN2は、制御部110に接続されている。USBメモリm0には、複数の種類のインストーラが格納されている。USBメモリm0に格納されている各種類のインストーラは、計算装置のモデルに対応付けられ、対応するモデルに適切なインストーラである。複数の種類のインストーラは、圧縮されてUSBメモリm0に格納されていてもよい。また、複数の種類のインストーラは、あらかじめ記憶部120に格納されていてもよい。
【0052】
中継装置20は、中継制御部20aを有する。中継制御部20aは、スイッチsw1〜sw5、スイッチ制御部21、USBハブ22、USB/UART(Universal Asynchronous Receiver Transmitter)変換IC(Integrated Circuit)23および電源制御部24を含む。また、図中のポートp1〜p6は、中継制御部20aから計算装置200−1〜200−6にデータを転送するための出力ポートである。
【0053】
計算装置200−1は、演算処理部210−1およびスイッチsw6を有する。演算処理部210−1は、メモリ202−1に記憶されたプログラムをプロセッサ201−1またはアクセラレータ204−1が実行することで実現される。また、計算装置200−1にはUSBケーブルが接続されるコネクタCN3が設けられており、コネクタCN3は、スイッチsw6に接続される。なお、
図5では計算装置200−1の内部構成のみを示しているが、計算装置200−2〜200−6も同様の構成である。
【0054】
次に各構成要素を接続しているバスのインタフェースについて説明する。
図4中の<>記号にはバスインタフェースの名称を記載している。なお、<>記号がない場合は、Hレベル/Lレベルの制御線またはデータ線を示している。
【0055】
制御部110とUSBハブ22との接続インタフェースは、USBである。なお、USBインタフェースは、PCIeインタフェースで許容される通信インタフェースの1つである。制御部110とI/F部130との接続インタフェースは、eSPI(enhanced Serial Peripheral Interface)であり、I/F部130と電源制御部24との接続インタフェースはI
2C(Inter-Integrated Circuit:I
2Cは登録商標)である。つまり、I/F部130は、eSPIをI
2Cに変換するインタフェース制御を行う。
【0056】
USBハブ22とスイッチsw1との接続インタフェースおよびスイッチsw1〜sw5間の接続インタフェースはUSBである。USBハブ22とスイッチ制御部21との接続インタフェースはUSBであり、USBハブ22とUSB/UART変換IC23との接続インタフェースはUSBである。USB/UART変換IC23と、演算処理部210−1との接続インタフェースは、UARTである。
【0057】
情報処理装置100内の制御部110は、USBメモリm0から読み出したインストーラを実行して、情報処理装置100とUSB接続が確立された計算装置(例えば、計算装置200−1)に対するリストア処理、バックアップ処理またはイレース処理を行う。情報処理装置100と計算装置200−1とのUSB接続の確立は、コネクタCN2とコネクタCN3とに接続されたUSBケーブルまたは中継装置20を介して行われる。なお、制御部110は、リストア処理、バックアップ処理またはイレース処理の開始時に、リカバリモード信号rmをオンにして、計算装置200−1のシステムイメージデータに対する処理をすることを計算装置200−1に通知する。
【0058】
制御部110は、情報処理装置100と計算装置200−1とのUSB接続が確立された場合、計算装置200−1からUSB IDを取得する。制御部110は、取得したUSB IDに対応する種類のインストーラをUSBメモリm0から読み出して(メモリ102に展開して)起動する。そして、制御部110は、計算装置200−1にリストア、バックアップまたはイレースの指示を行う。なお、制御部110は、リストア処理またはイレース処理では、計算装置200−1のシステムイメージデータを書き替えるためのデータを記憶部120から取得し、計算装置200−1に送信する。
【0059】
中継装置20内のスイッチsw1〜sw5は、1入力2出力のスイッチ構造を有するスイッチICである。中継装置20内のスイッチ制御部21は、起動信号en1に基づいて起動し、制御部110から与えられた指示を、USBハブ22を通じて受信して、スイッチsw1〜sw5のスイッチ制御を行う。スイッチ制御部21は、スイッチsw1〜sw5のイネーブル信号である信号OE、およびスイッチsw1〜sw5のスイッチングの切替信号である信号SEL1,SEL2,SEL3を出力してスイッチ制御を行う。例えば、スイッチ制御部21は、制御部110からの指示に従って、情報処理装置100から転送されたデータがポートp1から出力されるようスイッチsw1〜sw5のスイッチ制御を行う。これにより、情報処理装置100と計算装置200−1との中継装置20を介したUSB接続が確立する。なお、スイッチsw1〜sw5のスイッチ制御の詳細動作については後述する。
【0060】
中継装置20内のUSBハブ22は、制御部110の信号線と、スイッチsw1の信号線およびスイッチ制御部21の信号線とを集線する。中継装置20内のUSB/UART変換IC23は、起動信号en2に基づいて起動し、制御部110と計算装置200−1〜200−6内の演算処理部との通信インタフェースの変換を行う。USB/UART変換IC23は、通信インタフェースの変換として、USBインタフェースからUARTインタフェースへの通信インタフェース変換、またはUARTインタフェースからUSBインタフェースへの通信インタフェース変換を行う。
【0061】
USB/UART変換IC23は、計算装置200−1〜200−6それぞれの演算処理部に対して、UARTインタフェースの信号u1〜u6による通信を行う。なお、計算装置の状態チェックなどの制御部110と計算装置間の通信は、USB/UART変換IC23を介して行われる。
【0062】
中継装置20内の電源制御部24は、スタンバイ電力に基づいて駆動し、システム内の各構成デバイスに対する電力供給または電力停止制御を行う。例えば、電源制御部24は、電源ボタンの操作に基づいて、情報処理装置100へのアクティブ電力の供給または電力供給停止の制御を行う。また、電源制御部24は、計算装置200−1〜200−6それぞれの演算処理部に対して電源起動信号s1〜s6を送信する。計算装置200−1〜200−6それぞれは、電源制御部24からの電源起動信号s1〜s6に基づいて起動する。
【0063】
計算装置200−1内の演算処理部210−1は、情報処理装置100と計算装置200−1とのUSB接続が確立したときに、USB IDを情報処理装置100に通知する。また、演算処理部210−1は、情報処理装置100の指示に基づいて、計算装置200−1のシステムイメージデータをリストア、バックアップまたはイレースするための処理を実行する。
【0064】
例えばリストア処理では、演算処理部210−1は、情報処理装置100の指示に基づいて、計算装置200−1のシステムイメージデータを情報処理装置100から取得したシステムイメージデータに書き替える。また、例えばバックアップ処理では、演算処理部210−1は、情報処理装置100の指示に基づいて、計算装置200−1のシステムイメージデータを情報処理装置100に送信する。また、例えばイレース処理では、演算処理部210−1は、情報処理装置100の指示に基づいて、計算装置200−1のシステムイメージデータを情報処理装置100から取得した消去用データに書き替える。
【0065】
計算装置200−1内のスイッチsw6は、コネクタCN3にUSBケーブルが接続されたときの電力の供給有無に基づいてスイッチングを行う。例えば、スイッチsw6は、Vbus(USBの信号線のうちの電源ライン)からの電力供給を受けられるように、コネクタCN3のVbusピンに接続されている。したがって、コネクタCN2とコネクタCN3にUSBケーブルが接続されてデータが転送された場合、スイッチsw6に対して情報処理装置100から電力が供給される。これにより、情報処理装置100と計算装置200−1とのUSBケーブルを介したUSB接続が確立する。また、USBケーブルが非接続の場合は、スイッチsw6への電力供給は停止することになる。
【0066】
以下では、情報処理装置100内の制御部110および記憶部120、中継装置20内のスイッチsw1〜sw5およびスイッチ制御部21について詳細に説明する。
図6は、情報処理装置の機能を示すブロック図である。情報処理装置100内の記憶部120は、接続状態テーブル121、バックアップデータ122−1,122−2,・・・および消去用データ123を記憶する。接続状態テーブル121は、計算装置200−1〜200−6それぞれとのUSB接続を確立させるための信号OE,SEL1,SEL2,SEL3のレベル状態が示される。
【0067】
バックアップデータ122−1,122−2,・・・は、それぞれバックアップ処理において保存されたデータである。バックアップデータ122−1,122−2,・・・は、例えば、バックアップ対象の計算装置のシステムイメージデータと、バックアップ対象の計算装置のモデルの情報と、バックアップ処理で使用されたインストーラの版数の情報とを含む。また、バックアップデータ122−1,122−2,・・・は、それぞれリストア処理において計算装置のシステムイメージデータを書き替えるためのデータである。バックアップデータ122−1,122−2,・・・は、第1の実施の形態に示した他のシステムイメージデータの一例である。
【0068】
消去用データ123は、イレース処理においてイレース対象の計算装置のシステムイメージデータを書き替えるためのデータである。消去用データ123は、例えば、単純なデータ(数字など)の繰り返しのデータである。なお、消去用データ123は、USBメモリm0に格納されていてもよい。
【0069】
制御部110は、接続管理部111およびインストーラ部112を有する。接続管理部111は、計算装置200−1〜200−6のうちのリストア処理、バックアップ処理またはイレース処理の対象の計算装置(例えば、計算装置200−1)とのUSB接続を確立し、インストーラを実行する。
【0070】
計算装置200−1とのUSB接続の確立では、まず、接続管理部111は、中継装置20内の各構成要素に対して起動オン/オフ指示を与える。例えば、接続管理部111は、起動信号en1に基づいて、スイッチ制御部21を無効化状態(非起動状態)から有効化状態(起動状態)にする。そして、接続管理部111は、接続状態テーブル121から、情報処理装置100と計算装置200−1とを接続させるための信号のレベル状態を判定する。接続管理部111は、信号SEL1,SEL2,SEL3を判定したレベル状態にするようスイッチ制御部21に指示する。こうしてUSB接続が確立されると、接続管理部111は、計算装置200−1から通知される計算装置200−1のUSB IDを取得する。
【0071】
インストーラの実行では、接続管理部111は、計算装置200−1のモデルに対応する種類のインストーラをUSBメモリm0から読み出して起動する。例えば、接続管理部111は、計算装置200−1のモデルの情報を起動パラメータとして、USBメモリm0に格納されたインストーラを起動させる。これにより、インストーラ部112が起動する。
【0072】
また、接続管理部111は、計算装置200−1に対するリストア処理、バックアップ処理またはイレース処理の前後に計算装置200−1のモードを切り替える。接続管理部111は、計算装置200−1に対するリストア処理、バックアップ処理またはイレース処理の前に、リカバリモード信号rmをオンにして、計算装置200−1にリカバリモードに遷移するよう指示する。接続管理部111は、USB接続が確立されるときに、計算装置200−1からUSB IDが通知されることで、計算装置200−1がリカバリモードであることを確認する。
【0073】
接続管理部111は、計算装置200−1に対するリストア処理、バックアップ処理またはイレース処理の後に、リカバリモード信号rmをオフにして、計算装置200−1に通常モードに遷移するよう指示する。そして、接続管理部111は、起動信号en2に基づいて、USB/UART変換IC23を無効化状態から有効化状態にし、USB/UART変換IC23を介した信号u1に基づいて、計算装置200−1が正常に通常モードで起動していることを確認する。
【0074】
インストーラ部112は、接続管理部111によって起動され、計算装置200−1にリストア、バックアップまたはイレースの指示をする。例えば、リストア処理では、インストーラ部112は、計算装置200−1に書き込まれるバックアップデータを計算装置200−1に送信して、計算装置200−1にリストアの指示をする。また、例えば、バックアップ処理では、インストーラ部112は、計算装置200−1にバックアップの指示をし、計算装置200−1から送信されるバックアップデータを記憶部120に格納する。また、例えば、イレース処理では、インストーラ部112は、消去用データ123を計算装置200−1に送信して、計算装置200−1にイレースの指示をする。
【0075】
図7はスイッチおよびスイッチ制御部の接続構成の一例を示す図である。
図4に示したスイッチsw1〜sw5およびスイッチ制御部21の接続構成を示している。スイッチsw1〜sw5は、1入力2出力のスイッチであり、スイッチsw1〜sw5はそれぞれ切替端子c1〜c5を有する。
【0076】
スイッチsw1の入力端子a1は、USBハブ22に接続される。スイッチsw1の第1の出力端子b11は、スイッチsw2の入力端子a2に接続され、スイッチsw1の第2の出力端子b12は、スイッチsw5の入力端子a5に接続される。スイッチsw2の第1の出力端子b21は、スイッチsw3の入力端子a3に接続され、スイッチsw2の第2の出力端子b22は、スイッチsw4の入力端子a4に接続される。スイッチsw3の第1の出力端子b31は、ポートp1に接続され、スイッチsw3の第2の出力端子b32は、ポートp2に接続される。スイッチsw4の第1の出力端子b41は、ポートp3に接続され、スイッチsw4の第2の出力端子b42は、ポートp4に接続される。スイッチsw5の第1の出力端子b51は、ポートp5接続され、スイッチsw5の第2の出力端子b52は、ポートp6に接続される。
【0077】
さらに、ポートp1は、PCIeコネクタ50を介して、計算装置200−1に接続され、ポートp2は、PCIeコネクタ50を介して、計算装置200−2に接続される。また、ポートp3は、PCIeコネクタ50を介して、計算装置200−3に接続され、ポートp4は、PCIeコネクタ50を介して、計算装置200−4に接続される。また、ポートp5は、PCIeコネクタ50を介して、計算装置200−5に接続され、ポートp6は、PCIeコネクタ50を介して、計算装置200−6に接続される。また、スイッチ制御部21は、スイッチsw1〜sw5をスイッチ制御するための制御信号として、信号OE,SEL1,SEL2,SEL3を有している。
【0078】
信号OEは、スイッチsw1〜sw5に送信され、スイッチsw1〜sw5を一括して未接続状態、またはスイッチ切替状態を確定するための信号である。例えば、信号OEがHレベルのとき、スイッチsw1〜sw5は未接続状態(無効化状態)になる。また、信号OEがLレベルのとき、スイッチsw1〜sw5はスイッチ切替状態(有効化状態)が確定される。
【0079】
一方、信号SEL1は、スイッチsw1に送信され、信号SEL2は、スイッチsw2に送信され、信号SEL3は、スイッチsw3,sw4,sw5に送信される。信号SEL1,SEL2,SEL3は、スイッチsw1〜sw5の切替端子を駆動する信号である。信号SEL1,SEL2,SEL3は、Lレベルのとき、スイッチ内の切替端子は第1の出力端子(上側出力端子)に接続され、Hレベルのとき、スイッチ内の切替端子は第2の出力端子(下側出力端子)に接続される。
【0080】
上記のようなスイッチsw1〜sw5の接続構成により、少ないスイッチの個数で効率よく計算装置200−1〜200−6のうちから1つの計算装置を選択することができ、また回路実装規模の増加を抑制することができる。
【0081】
次に記憶部120に記憶される接続状態テーブル121について詳細に説明する。
図8は、接続状態テーブルの一例を示す図である。接続状態テーブル121は、計算装置200−1〜200−6に対するスイッチsw1〜sw5の接続状態を示すテーブルであり、項目として、信号名およびスイッチ制御部21のGPIO(General Purpose Input Output)のピン番を有している。また、接続状態テーブル121は、計算装置200−1〜200−6が中継装置20を介して情報処理装置100と接続するときのスイッチ制御信号である(OE,SEL1,SEL2,SEL3)のレベル状態が示されている。
【0082】
信号OEはスイッチ制御部21のGPIOの6ピンから出力されることが示されている。また、信号SEL1はスイッチ制御部21のGPIOの7ピンから出力され、信号SEL2はスイッチ制御部21のGPIOの10ピンから出力され、信号SEL3はスイッチ制御部21のGPIOの11ピンから出力されることが示されている。なお、テーブル中の“−”は、信号SEL2はLレベルまたはHレベルのいずれでもよい不定であることを示している。
【0083】
次に、接続状態テーブル121に基づくスイッチ制御について説明する。
図9は、スイッチ接続状態の一例を示す図である。
図9は、中継装置20を介した情報処理装置100と計算装置200−1とのUSB接続が確立する場合のスイッチ切替状態を示す。
図9に示すスイッチの切替状態にするため、接続管理部111は、
図8の接続状態テーブル121を参照し、情報処理装置100と計算装置200−1とを接続させるためのレベル状態を判定する。そして、接続管理部111は、情報処理装置100と計算装置200−1とを接続させるためのレベル状態である(SEL1,SEL2,SEL3)=(L,L,L)にするスイッチ制御をスイッチ制御部21にさせる。
【0084】
スイッチ制御部21は、スイッチ制御の開始時は、信号OEをHレベルにして、スイッチsw1〜sw5のスイッチ状態を未接続状態にし、各スイッチの切替端子はどの出力端子にも接続されない状態にする。そして、スイッチ制御部21は、信号SEL1,SEL2,SEL3を(SEL1,SEL2,SEL3)=(L,L,L)に切り替え、信号OEをLレベルにして、スイッチsw1〜sw5のスイッチ切替状態を確定させる。
【0085】
したがって、スイッチsw1は、信号SEL1がLレベルなので、切替端子c1が出力端子b11に接続される。スイッチsw2は、信号SEL2がLレベルなので、切替端子c2が出力端子b21に接続される。さらに、スイッチsw3は、信号SEL3がLレベルなので、切替端子c3が出力端子b31に接続される。
【0086】
その後、信号OEがLレベルに設定されることで、信号SEL1,SEL2,SEL3によって上記のように設定されたスイッチング状態で、スイッチsw1,sw2,sw3が有効化状態になる。このようなスイッチ制御によって、情報処理装置100と計算装置200−1とが中継装置20を介してUSB接続される転送経路r1が確立される。なお、信号SEL3がLレベルなので、スイッチsw4の切替端子c4は出力端子b41に接続され、スイッチsw5の切替端子c5は出力端子b51に接続される。ただし、スイッチsw4,sw5のスイッチングは、転送経路r1の設定には関係しない。
【0087】
このようにして、接続管理部111は、少ないスイッチの個数で計算装置200−1〜200−6のうちから計算装置200−1とのUSB接続を効率よく確立させることができる。
【0088】
次に計算装置200−1に配置されているスイッチsw6のスイッチ制御について説明する。なお、図中の太実線は、データ転送が行われる転送経路を示している。
図10は、ケーブル非接続時のスイッチ制御の一例を示す図である。計算装置200−1に配置されるスイッチsw6は、2入力1出力のスイッチである。スイッチsw6の入力端子a61は、PCIeコネクタ50を介して中継装置20内のポートp1に接続され、入力端子a62は、コネクタCN3に接続される。スイッチsw6の出力端子b6は、演算処理部210−1に接続される。
【0089】
スイッチsw6は、コネクタCN3からの電力供給に基づくスイッチングを行う。例えば、スイッチsw6は、コネクタCN3から電力供給を受けている場合は、スイッチsw6の切替端子c6は、入力端子a62に接続される。また、コネクタCN3から電力供給を受けない場合は、切替端子c6は、入力端子a61に接続される。なお、
図10、
図11では、スイッチsw1〜sw5およびスイッチ制御部21を含む構成ブロックをスイッチ部swと表記している。以下に、情報処理装置100と計算装置200−1との中継装置20を介したUSB接続が確立する場合の、各装置の処理の一例を示す。
【0090】
[ステップS11]USBメモリm0が、情報処理装置100に設置されているコネクタCN1に差し込まれる。USBメモリm0には、複数の種類のインストーラが格納されている。
【0091】
[ステップS12]コネクタCN3には、情報処理装置100と計算装置200−1とを接続するUSBケーブルがつながれておらず、システムはケーブル非接続状態にある。
[ステップS13]コネクタCN3はケーブル非接続状態にある。したがって、スイッチsw6に対して、ケーブルを通じて流れてくる電力の供給はなく、コネクタCN3からスイッチsw6への電力供給は停止している。
【0092】
[ステップS14]スイッチsw6は、コネクタCN3から電力供給を受けないため、切替端子c6が、入力端子a61に接続される。
[ステップS15]中継装置20において、スイッチ部swは、接続管理部111からの指示に従ってスイッチ制御を行い、
図9に示したような転送経路r1を確立させる。これにより、情報処理装置100と計算装置200−1との中継装置20を介したUSB接続が確立する。
【0093】
[ステップS16]計算装置200−1内の演算処理部210−1は、中継装置20を介して計算装置200−1のUSB IDを情報処理装置100に通知する。演算処理部210−1は、計算装置200−1のUSB IDを中継装置20へ出力する。出力されたUSB IDは、中継装置20内の転送経路r1を流れて、情報処理装置100内の接続管理部111に通知される。
【0094】
[ステップS17]接続管理部111は、コネクタCN1に挿入されたUSBメモリm0からステップS16で通知されたUSB IDに対応する種類のインストーラを読み出して実行する(インストーラ部112を起動させる)。インストーラ部112は、リストア、バックアップまたはイレースの指示を中継装置20へ出力する。出力されたリストア、バックアップまたはイレースの指示は、中継装置20内の転送経路r1を流れて、計算装置200−1内の演算処理部210−1に転送される。
【0095】
このように、ケーブル非接続状態の場合は、スイッチsw6の切替端子c6が入力端子a61に接続するスイッチングが行われる。これにより、中継装置20内のスイッチ部swのスイッチ制御により確立された転送経路r1を介した、情報処理装置100と計算装置200−1とのUSB接続が確立される。そして、インストーラ部112は、計算装置200−1に対するリストア、バックアップまたはイレースの指示をする。このとき、計算装置200−1は、第1の実施の形態に示した第1計算装置の一例である。また、計算装置200−1のUSB IDは、第1の実施の形態に示した第1識別情報の一例であり、計算装置200−1のシステムイメージデータは、第1の実施の形態に示した第1システムイメージデータの一例である。
【0096】
図11はケーブル接続時のスイッチ制御の一例を示す図である。
図11は、USBケーブルCaを情報処理装置100と計算装置200−1につなげてUSB接続を確立させる場合を示している。以下に、情報処理装置100と計算装置200−1とのUSBケーブルCaを介したUSB接続が確立した場合の、各装置の処理の一例を示す。
【0097】
[ステップS21]USBメモリm0が、情報処理装置100に設置されているコネクタCN1に差し込まれる。
[ステップS22]USBケーブルCaの一端が情報処理装置100に設置されているコネクタCN2に接続され、USBケーブルCaの他端が計算装置200−1に設置されているコネクタCN3に接続される。
【0098】
[ステップS23]コネクタCN3は、ケーブル接続状態にある。したがって、USBケーブルCaを通じて流れてくる電力が、コネクタCN3からスイッチsw6へ供給される。すなわち、スイッチsw6は、コネクタCN3のVbusピンから供給される電力を受信する。
【0099】
[ステップS24]スイッチsw6は、コネクタCN3から電力供給を受けるため、切替端子c6が、入力端子a62に接続される。これにより、情報処理装置100と計算装置200−1とのUSBケーブルCaを介したUSB接続が確立する。
【0100】
[ステップS25]計算装置200−1内の演算処理部210−1は、計算装置200−1のUSB IDをコネクタCN3へ出力する。出力されたUSB IDは、USBケーブルCaを介して、情報処理装置100内の接続管理部111に通知される。
【0101】
[ステップS26]接続管理部111は、ステップS25で通知されたUSB IDに対応する種類のインストーラを実行して、インストーラ部112を起動させる。インストーラ部112は、リストア、バックアップまたはイレースの指示をコネクタCN2へ出力する。出力されたリストア、バックアップまたはイレースの指示は、USBケーブルCaを介して、計算装置200−1内の演算処理部210−1に転送される。
【0102】
このように、ケーブル接続状態の場合は、スイッチsw6の切替端子c6が入力端子a62に接続するスイッチングが行われる。これにより、外部接続されたUSBケーブルCaを介した、情報処理装置100と計算装置200−1とのUSB接続が確立される。
【0103】
以下、バックアップ処理の手順について、詳細に説明する。
図12は、バックアップ処理の手順の一例を示すフローチャート(その1)である。以下、
図12に示す処理をステップ番号に沿って説明する。
【0104】
[ステップS101]情報処理装置100の接続管理部111は、計算装置200−1〜200−6のうち、バックアップ処理の対象の計算装置の設定を受け付ける。なお、接続管理部111は、複数の計算装置をバックアップ処理の対象として受け付けてもよい。
【0105】
[ステップS102]接続管理部111は、ステップS101で設定されたバックアップ処理の対象の計算装置を1つ選択する。例えば、接続管理部111は、計算装置200−1を選択する。
【0106】
[ステップS103]接続管理部111は、計算装置200−1にリカバリモードに遷移するよう指示する。例えば、接続管理部111は、リカバリモード信号rmをオン(Hレベル)にする。そして、接続管理部111は、電源制御部24に対して計算装置200−1を再起動させる指示を与える。すると、電源制御部24は、計算装置200−1を再起動させるための電源起動信号s1を出力する。
【0107】
[ステップS104]演算処理部210−1は、計算装置200−1をリカバリモードに移行させる。例えば、演算処理部210−1は、電源起動信号s1に基づいて、計算装置200−1を再起動させる。そして、計算装置200−1が再起動した後、演算処理部210−1は、Hレベルのリカバリモード信号rmの受信に基づいて、計算装置200−1をリカバリモードに移行させる。
【0108】
[ステップS105]接続管理部111は、中継装置20を制御して情報処理装置100と計算装置200−1とのUSB接続を確立する。接続確立処理の詳細については後述する(
図19参照)。なお、USBケーブルCaの一端が情報処理装置100のコネクタCN2、USBケーブルCaの他端が計算装置200−1のコネクタCN3に接続されることで、情報処理装置100と計算装置200−1とのUSB接続が確立されてもよい。
【0109】
[ステップS106]計算装置200−1の演算処理部210−1は、計算装置200−1のUSB IDを情報処理装置100に通知する。例えば、演算処理部210−1は、計算装置200−1のUSB IDを、中継装置20内の転送経路r1を介して情報処理装置100に送信する。
【0110】
[ステップS107]接続管理部111は、ステップS106で通知された計算装置200−1のUSB IDを取得する。これにより、接続管理部111は、計算装置200−1がリカバリモードで起動していることを確認する。
【0111】
[ステップS108]接続管理部111は、ステップS107で取得したUSB IDに基づいて計算装置200−1のモデルを判別する。
図13は、バックアップ処理の手順の一例を示すフローチャート(その2)である。以下、
図13に示す処理をステップ番号に沿って説明する。
【0112】
[ステップS109]接続管理部111は、ステップS108で判別したモデルに対応する種類のインストーラをUSBメモリm0から読み出して起動する。例えば、接続管理部111は、ステップS108で判別したモデルの情報を起動パラメータとして、USBメモリm0に格納されたインストーラを起動させる。これにより、インストーラ部112が起動する。なお、接続管理部111は、モデルの情報に代えてステップS107で取得したUSB IDを起動パラメータとしてもよい。
【0113】
[ステップS110]インストーラ部112は、計算装置200−1にバックアップの指示をする。
[ステップS111]演算処理部210−1は、計算装置200−1のシステムイメージデータをバックアップする。例えば、演算処理部210−1は、計算装置200−1のシステムイメージデータを、中継装置20内の転送経路r1を介して情報処理装置100に送信する。
【0114】
[ステップS112]インストーラ部112は、バックアップデータを記憶部120に保存する。例えば、インストーラ部112は、計算装置200−1のシステムイメージデータとステップS108で判別したモデルの情報とステップS109で起動したインストーラの版数情報とを含むバックアップデータ122−1を記憶部120に保存する。
【0115】
[ステップS113]演算処理部210−1は、情報処理装置100にバックアップの完了を通知する。
[ステップS114]接続管理部111は、計算装置200−1に通常モードに遷移するよう指示する。例えば、接続管理部111は、リカバリモード信号rmをオフ(Lレベル)にする。そして、接続管理部111は、電源制御部24に対して計算装置200−1を再起動させる指示を与える。すると、電源制御部24は、計算装置200−1を再起動させるための電源起動信号s1を出力する。
【0116】
[ステップS115]演算処理部210−1は、計算装置200−1を通常モードに移行させる。例えば、演算処理部210−1は、電源起動信号s1に基づいて、計算装置200−1を再起動させる。そして、計算装置200−1が再起動した後、演算処理部210−1は、Lレベルのリカバリモード信号rmの受信に基づいて、計算装置200−1を通常モードに移行する。
【0117】
[ステップS116]接続管理部111は、計算装置200−1が通常モードに移行したことを確認する。例えば、接続管理部111は、起動信号en2に基づいて、USB/UART変換IC23を無効化状態から有効化状態にする。そして、接続管理部111は、USB/UART変換IC23を介した信号u1に基づいて計算装置200−1が正常に通常モードで起動していることを確認する。
【0118】
[ステップS117]接続管理部111は、バックアップ処理の対象の計算装置をすべて選択したか否かを判定する。接続管理部111は、バックアップ処理の対象の計算装置をすべて選択したと判定した場合、処理を終了する。また、接続管理部111は、バックアップ処理の対象の計算装置をすべて選択していないと判定した場合、処理をステップS102に進める。
【0119】
なお、情報処理装置100と計算装置200−1〜200−6とは、サービス運用中に異なるOSを実行していることがある。情報処理装置100は、計算装置200−1〜200−6と異なるOSを実行していると、計算装置200−1〜200−6のバックアップをするインストーラを実行できないことがある。そこで、情報処理装置100と計算装置200−1〜200−6とで、異なるOSを実行している場合、ステップS108までに情報処理装置100で実行されるOSが計算装置200−1〜200−6が実行しているOSと同じOSに切り替えられてもよい。以下で示すリストアおよびイレース処理においても、同様のタイミングで情報処理装置100で実行されるOSが切り替えられてもよい。
【0120】
上記のように、接続管理部111は、計算装置200−1のモデルを示すUSB IDを取得し、計算装置200−1のモデルに対応する種類のインストーラによって、インストーラ部112を起動する。そして、インストーラ部112は、計算装置200−1にバックアップの指示をする。これにより、情報処理装置100は、適切に計算装置200−1のバックアップ処理をできる。また、演算処理部210−1は、情報処理装置100とUSB接続が確立したときにUSB IDを情報処理装置100に通知するため、情報処理装置100は、USB IDを容易に取得できる。よって、第2の実施の形態の情報処理システムは、計算装置200−1に対するバックアップ処理を容易にすることができる。
【0121】
ここで、接続管理部111は、USBメモリm0からインストーラをメモリ102に展開している。これにより、USBメモリm0が書き込み禁止メディアであってもインストーラ部112が起動する。
【0122】
また、接続管理部111は、複数の計算装置(例えば、計算装置200−1,200−2)がバックアップ対象に選択された場合、計算装置200−1のバックアップ処理の後に、中継装置20を制御して計算装置200−2とUSB接続を確立する。そして、接続管理部111およびインストーラ部112は、計算装置200−2のバックアップ処理を実行する。これにより、情報処理装置100は、複数の計算装置のバックアップを自動で連続して実行できる。
【0123】
以下、リストア処理の手順について、詳細に説明する。
図14は、リストア処理の手順の一例を示すフローチャート(その1)である。以下、
図14に示す処理をステップ番号に沿って説明する。
【0124】
[ステップS121]情報処理装置100の接続管理部111は、計算装置200−1〜200−6のうち、リストア処理の対象の計算装置の設定を受け付ける。なお、接続管理部111は、複数の計算装置をリストア処理の対象として受け付けてもよい。また、接続管理部111は、バックアップ処理の対象の計算装置に書き込むバックアップデータ(例えば、バックアップデータ122−1)の選択を受け付ける。
【0125】
[ステップS122]接続管理部111は、ステップS121で設定されたリストア処理の対象の計算装置を1つ選択する。例えば、接続管理部111は、計算装置200−1を選択する。
【0126】
[ステップS123]接続管理部111は、計算装置200−1にリカバリモードに遷移するよう指示する。例えば、接続管理部111は、リカバリモード信号rmをオン(Hレベル)にする。そして、接続管理部111は、電源制御部24に対して計算装置200−1を再起動させる指示を与える。すると、電源制御部24は、計算装置200−1を再起動させるための電源起動信号s1を出力する。
【0127】
[ステップS124]演算処理部210−1は、計算装置200−1をリカバリモードに移行させる。例えば、演算処理部210−1は、電源起動信号s1に基づいて、計算装置200−1を再起動させる。そして、計算装置200−1が再起動した後、演算処理部210−1は、Hレベルのリカバリモード信号rmの受信に基づいて、計算装置200−1をリカバリモードに移行させる。
【0128】
[ステップS125]接続管理部111は、中継装置20を制御して情報処理装置100と計算装置200−1とのUSB接続を確立する。接続確立処理の詳細については後述する(
図19参照)。なお、USBケーブルCaの一端が情報処理装置100のコネクタCN2、USBケーブルCaの他端が計算装置200−1のコネクタCN3に接続されることで、情報処理装置100と計算装置200−1とのUSB接続が確立されてもよい。
【0129】
[ステップS126]計算装置200−1の演算処理部210−1は、計算装置200−1のUSB IDを情報処理装置100に通知する。例えば、演算処理部210−1は、計算装置200−1のUSB IDを、中継装置20内の転送経路r1を介して情報処理装置100に送信する。
【0130】
[ステップS127]接続管理部111は、ステップS126で通知された計算装置200−1のUSB IDを取得する。これにより、接続管理部111は、計算装置200−1がリカバリモードで起動していることを確認する。
【0131】
[ステップS128]接続管理部111は、ステップS127で取得したUSB IDに基づいて計算装置200−1のモデルを判別する。
図15は、リストア処理の手順の一例を示すフローチャート(その2)である。以下、
図15に示す処理をステップ番号に沿って説明する。
【0132】
[ステップS129]接続管理部111は、ステップS128で判別したモデルの情報およびステップS128で判別したモデルに対応するインストーラの版数情報が、バックアップデータ122−1に含まれるモデルの情報およびインストーラの版数情報と一致するか否かを判定する。接続管理部111は、モデルの情報およびインストーラの版数情報が一致すると判定した場合、処理をステップS132に進める。また、接続管理部111は、モデルの情報またはインストーラの版数情報が一致しないと判定した場合、処理をステップS130に進める。
【0133】
[ステップS130]接続管理部111は、警告を表示する。例えば、接続管理部111は、書き込むバックアップデータと書き込み先の計算装置とで、モデルまたはインストーラの版数が一致していないことを示すメッセージをモニタ31に表示させる。
【0134】
[ステップS131]接続管理部111は、リストアを続行するか否かを判定する。例えば、接続管理部111は、リストアを続行するか否かをユーザに選択させる。そして、接続管理部111は、ユーザがリストアを続行する選択をした場合、リストアを続行すると判定する。接続管理部111は、リストアを続行すると判定した場合、処理をステップS132に進める。接続管理部111は、リストアを続行しないと判定した場合、処理をステップS136に進める。
【0135】
[ステップS132]接続管理部111は、ステップS128で判別したモデルに対応する種類のインストーラをUSBメモリm0から読み出して起動する。例えば、接続管理部111は、ステップS128で判別したモデルの情報を起動パラメータとして、USBメモリm0に格納されたインストーラを起動させる。これにより、インストーラ部112が起動する。なお、接続管理部111は、モデルの情報に代えてステップS127で取得したUSB IDを起動パラメータとしてもよい。
【0136】
図16は、リストア処理の手順の一例を示すフローチャート(その3)である。以下、
図16に示す処理をステップ番号に沿って説明する。
[ステップS133]インストーラ部112は、バックアップデータ122−1を計算装置200−1に送信して、計算装置200−1にリストアの指示をする。
【0137】
[ステップS134]演算処理部210−1は、計算装置200−1のシステムイメージデータをリストアする。例えば、演算処理部210−1は、計算装置200−1のシステムイメージデータをバックアップデータ122−1に含まれるシステムイメージデータに書き替える。なお、ここで演算処理部210−1は、計算装置200−1に含まれるプログラムのうち、ユーザによるカスタマイズ対象でない部分(例えば、ブートローダ)を工場出荷状態に書き戻してもよい。
【0138】
[ステップS135]演算処理部210−1は、情報処理装置100にリストアの完了を通知する。
[ステップS136]接続管理部111は、計算装置200−1に通常モードに遷移するよう指示する。例えば、接続管理部111は、リカバリモード信号rmをオフ(Lレベル)にする。そして、接続管理部111は、電源制御部24に対して計算装置200−1を再起動させる指示を与える。すると、電源制御部24は、計算装置200−1を再起動させるための電源起動信号s1を出力する。
【0139】
[ステップS137]演算処理部210−1は、計算装置200−1を通常モードに移行させる。例えば、演算処理部210−1は、電源起動信号s1に基づいて、計算装置200−1を再起動させる。そして、計算装置200−1が再起動した後、演算処理部210−1は、Lレベルのリカバリモード信号rmの受信に基づいて、計算装置200−1を通常モードに移行する。
【0140】
[ステップS138]接続管理部111は、計算装置200−1が通常モードに移行したことを確認する。例えば、接続管理部111は、起動信号en2に基づいて、USB/UART変換IC23を無効化状態から有効化状態にする。そして、接続管理部111は、USB/UART変換IC23を介した信号u1に基づいて計算装置200−1が正常に通常モードで起動していることを確認する。
【0141】
[ステップS139]接続管理部111は、リストア処理の対象の計算装置をすべて選択したか否かを判定する。接続管理部111は、リストア処理の対象の計算装置をすべて選択したと判定した場合、処理を終了する。また、接続管理部111は、リストア処理の対象の計算装置をすべて選択していないと判定した場合、処理をステップS122に進める。
【0142】
上記のように、計算装置200−1のモデルに対応する種類のインストーラによって、起動するインストーラ部112が計算装置200−1にリストアの指示をする。これにより、第2の実施の形態の情報処理システムは、計算装置200−1に対する適切なリストア処理を容易にすることができる。
【0143】
また、接続管理部111は、複数の計算装置(例えば、計算装置200−1,200−2)がリストア対象に選択された場合、計算装置200−1のリストア処理の後に、中継装置20を制御して計算装置200−2とUSB接続を確立する。そして、接続管理部111は、計算装置200−2のシステムイメージデータを、計算装置200−1に書き込んだバックアップデータと同じバックアップデータに書き替えるリストア処理を実行する。これにより、第2の実施の形態の情報処理システムは、複数の計算装置にシステムイメージデータをコピーするクローニング処理を容易に実行できる。
【0144】
このとき、計算装置200−2は、第1の実施の形態に示した第2計算装置の一例である。また、計算装置200−2のUSB IDは、第1の実施の形態に示した第2識別情報の一例であり、計算装置200−2のシステムイメージデータは、第1の実施の形態に示した第2システムイメージデータの一例である。
【0145】
以下、イレース処理の手順について、詳細に説明する。
図17は、イレース処理の手順の一例を示すフローチャート(その1)である。以下、
図17に示す処理をステップ番号に沿って説明する。
【0146】
[ステップS141]情報処理装置100の接続管理部111は、計算装置200−1〜200−6のうち、イレース処理の対象の計算装置の設定を受け付ける。なお、接続管理部111は、複数の計算装置をイレース処理の対象として受け付けてもよい。
【0147】
[ステップS142]接続管理部111は、ステップS141で設定されたイレース処理の対象の計算装置を1つ選択する。例えば、接続管理部111は、計算装置200−1を選択する。
【0148】
[ステップS143]接続管理部111は、計算装置200−1にリカバリモードに遷移するよう指示する。例えば、接続管理部111は、リカバリモード信号rmをオン(Hレベル)にする。そして、接続管理部111は、電源制御部24に対して計算装置200−1を再起動させる指示を与える。すると、電源制御部24は、計算装置200−1を再起動させるための電源起動信号s1を出力する。
【0149】
[ステップS144]演算処理部210−1は、計算装置200−1をリカバリモードに移行させる。例えば、演算処理部210−1は、電源起動信号s1に基づいて、計算装置200−1を再起動させる。そして、計算装置200−1が再起動した後、演算処理部210−1は、Hレベルのリカバリモード信号rmの受信に基づいて、計算装置200−1をリカバリモードに移行させる。
【0150】
[ステップS145]接続管理部111は、中継装置20を制御して情報処理装置100と計算装置200−1とのUSB接続を確立する。接続確立処理の詳細については後述する(
図19参照)。なお、USBケーブルCaの一端が情報処理装置100のコネクタCN2、USBケーブルCaの他端が計算装置200−1のコネクタCN3に接続されることで、情報処理装置100と計算装置200−1とのUSB接続が確立されてもよい。
【0151】
[ステップS146]計算装置200−1の演算処理部210−1は、計算装置200−1のUSB IDを情報処理装置100に通知する。例えば、演算処理部210−1は、計算装置200−1のUSB IDを、中継装置20内の転送経路r1を介して情報処理装置100に送信する。
【0152】
[ステップS147]接続管理部111は、ステップS146で通知された計算装置200−1のUSB IDを取得する。これにより、接続管理部111は、計算装置200−1がリカバリモードで起動していることを確認する。
【0153】
[ステップS148]接続管理部111は、ステップS147で取得したUSB IDに基づいて計算装置200−1のモデルを判別する。
図18は、イレース処理の手順の一例を示すフローチャート(その2)である。以下、
図18に示す処理をステップ番号に沿って説明する。
【0154】
[ステップS149]接続管理部111は、ステップS148で判別したモデルに対応する種類のインストーラをUSBメモリm0から読み出して起動する。例えば、接続管理部111は、ステップS148で判別したモデルの情報を起動パラメータとして、USBメモリm0に格納されたインストーラを起動させる。これにより、インストーラ部112が起動する。なお、接続管理部111は、モデルの情報に代えてステップS147で取得したUSB IDを起動パラメータとしてもよい。
【0155】
[ステップS150]インストーラ部112は、消去用データ123を計算装置200−1に送信して、計算装置200−1にイレースの指示をする。
[ステップS151]演算処理部210−1は、計算装置200−1のシステムイメージデータをイレースする。例えば、演算処理部210−1は、計算装置200−1のシステムイメージデータを消去用データ123に書き替える。なお、ここで演算処理部210−1は、計算装置200−1に含まれるプログラムのうち、ユーザによるカスタマイズ対象でない部分(例えば、ブートローダ)を工場出荷状態に書き戻してもよい。
【0156】
[ステップS152]演算処理部210−1は、情報処理装置100にイレースの完了を通知する。
[ステップS153]接続管理部111は、計算装置200−1に通常モードに遷移するよう指示する。例えば、接続管理部111は、リカバリモード信号rmをオフ(Lレベル)にする。そして、接続管理部111は、電源制御部24に対して計算装置200−1を再起動させる指示を与える。すると、電源制御部24は、計算装置200−1を再起動させるための電源起動信号s1を出力する。
【0157】
[ステップS154]演算処理部210−1は、計算装置200−1を通常モードに移行させる。例えば、演算処理部210−1は、電源起動信号s1に基づいて、計算装置200−1を再起動させる。そして、計算装置200−1が再起動した後、演算処理部210−1は、Lレベルのリカバリモード信号rmの受信に基づいて、計算装置200−1を通常モードに移行する。
【0158】
[ステップS155]接続管理部111は、計算装置200−1が通常モードに移行したことを確認する。例えば、接続管理部111は、起動信号en2に基づいて、USB/UART変換IC23を無効化状態から有効化状態にする。そして、接続管理部111は、USB/UART変換IC23を介した信号u1に基づいて計算装置200−1が正常に通常モードで起動していることを確認する。
【0159】
[ステップS156]接続管理部111は、イレース処理の対象の計算装置をすべて選択したか否かを判定する。接続管理部111は、イレース処理の対象の計算装置をすべて選択したと判定した場合、処理を終了する。また、接続管理部111は、イレース処理の対象の計算装置をすべて選択していないと判定した場合、処理をステップS142に進める。
【0160】
上記のように、計算装置200−1のモデルに対応する種類のインストーラによって、起動するインストーラ部112が計算装置200−1にイレースの指示をする。これにより、第2の実施の形態の情報処理システムは、計算装置200−1に対する適切なイレース処理を容易にすることができる。また、複数の計算装置がイレース対象に選択された場合、第2の実施の形態の情報処理システムは、複数の計算装置に連続してイレース処理を実行できる。なお、イレース処理に用いられる消去用データ123は、単純なデータの繰り返しのデータである。よって、情報処理装置100は、消去用データ123を圧縮することでデータサイズを小さくすることができる。
【0161】
次に、接続管理部111が、中継装置20を制御して情報処理装置100と計算装置200−1とのUSB接続を確立する処理について、シーケンス図を用いて説明する。
図19は、接続確立処理の例を示すシーケンス図である。以下、
図19に示す処理をステップ番号に沿って説明する。
【0162】
[ステップS161]情報処理装置100の接続管理部111は、中継装置20のスイッチ制御部21に起動指示を与える。
[ステップS162]Hレベルの起動信号en1が、接続管理部111からスイッチ制御部21に送信される。
【0163】
[ステップS163]スイッチ制御部21は、Hレベルの起動信号en1の受信に基づいて、有効化状態になる。
[ステップS164]スイッチ制御部21は、有効化状態になったことの結果通知を接続管理部111に返信する。
【0164】
[ステップS165]接続管理部111は、スイッチ制御部21の起動を検出する。
[ステップS166]スイッチ制御部21は、接続管理部111からの指示に基づいて、信号OEをHレベルにしてスイッチsw1〜sw5を未接続状態に設定する。
【0165】
[ステップS167]スイッチ制御部21は、接続管理部111からの指示に基づいて、信号SEL1,SEL2,SEL3を制御して対象の計算装置(例えば、計算装置200−1)が選択される転送経路を設定する。例えば、接続管理部111は、接続状態テーブル121から、情報処理装置100と計算装置200−1とを接続させるための信号のレベル状態を判定し、信号SEL1,SEL2,SEL3を判定したレベル状態にするようスイッチ制御部21に指示する。スイッチ制御部21は、(SEL1,SEL2,SEL3)=(L,L,L)のレベル設定をし、中継装置20内に転送経路r1を設定する。
【0166】
[ステップS168]スイッチ制御部21は、接続管理部111からの指示に基づいて、信号OEをLレベルにして、スイッチsw1〜sw5のスイッチ切替状態を確定する。
[ステップS169]スイッチsw1〜sw5は、ステップS167で設定されたスイッチ切替状態で有効化状態になる。例えば、スイッチsw1〜sw5は、転送経路r1が設定されるスイッチ切替状態で有効化状態になる。
【0167】
[ステップS170]接続管理部111は、ステップS167で設定された転送経路を介して演算処理部210−1との通信状態チェックを行う。
[ステップS171]接続管理部111から演算処理部210−1へ、ステップS167で設定された転送経路を介した状態要求が送信され、演算処理部210−1は、状態チェック結果を接続管理部111に返信する。
【0168】
このようにして、接続管理部111がスイッチ制御部21にスイッチsw1〜sw5を制御させることによって、情報処理装置100と計算装置200−1とのUSB接続が確立する。これにより、演算処理部210−1は、情報処理装置100にUSB IDを通知できるようになる。また、情報処理装置100と計算装置200−1との間でデータの送受信が可能となる。
【0169】
このような第2の実施の形態によれば、計算装置200−1は、他の装置とUSB接続が確立したときに、自装置のUSB IDを他の装置に通知する。また、情報処理装置100は、計算装置200−1〜200−6のうちの計算装置200−1とUSB接続が確立されたときに、計算装置200−1のUSB IDを計算装置200−1から取得する。そして、情報処理装置100は、計算装置200−1のUSB IDに応じた、計算装置200−1のシステムイメージデータをバックアップデータ122−1に書き替えるリストア処理または計算装置200−1のシステムイメージデータのバックアップ処理をする。これにより、情報処理装置100は、ユーザが計算装置200−1のモデル情報を入力しなくても、計算装置200−1のモデルに応じたリストア処理またはバックアップ処理ができる。よって、第2の実施の形態の情報処理システムは、リストアまたはバックアップを容易にすることができる。
【0170】
また、情報処理装置100は、計算装置200−1のUSB IDに対応する種類のインストーラを実行することによって、計算装置200−1のリストア処理またはバックアップ処理をする。これにより、情報処理装置100は、計算装置200−1に適切なインストーラを起動できる。よって、第2の実施の形態の情報処理システムは、適切なリストアまたはバックアップができる。
【0171】
また、情報処理装置100は、中継装置20を制御して、計算装置200−1〜200−6のうちの計算装置200−1とのUSB接続を確立させる。これにより、第2の実施の形態の情報処理システムは、リストア処理またはバックアップ処理の対象の選択を容易にすることができる。
【0172】
また、情報処理装置100は、計算装置200−1,200−2とバックアップデータ122−1の選択を受け付ける。情報処理装置100は、中継装置20を制御して計算装置200−1とUSB接続を確立し、計算装置200−1のシステムイメージデータをバックアップデータ122−1に書き替えるリストア処理をする。そして、情報処理装置100は、中継装置20を制御して計算装置200−2とUSB接続を確立し、計算装置200−2のUSB IDを計算装置200−2から取得する。そして、情報処理装置100は、計算装置200−2のUSB IDに応じた、計算装置200−2のシステムイメージデータをバックアップデータ122−1に書き替えるリストア処理をする。これにより、第2の実施の形態の情報処理システムは、クローニング処理を容易にすることができる。
【0173】
また、情報処理装置100は、計算装置200−1のUSB IDに応じた、計算装置200−1のシステムイメージデータを消去用データ123に書き替える処理をする。これにより、第2の実施の形態の情報処理システムは、イレース処理を容易にすることができる。
【0174】
〔その他の実施の形態〕
第2の実施の形態では、情報処理装置100がインストーラを実行していたが、情報処理装置100は、計算装置200−1〜200−6のうちのUSB接続が確立した計算装置にインストーラを送信して、インストーラを実行させてもよい。
【0175】
また、第2の実施の形態では、情報処理装置100と計算装置200−1とがUSBケーブルCaを介して接続されていたが、情報処理装置100と同様の機能を有する保守用端末が計算装置200−1とUSBケーブルCaを介して接続されてもよい。
【0176】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
他の装置と所定のインタフェースを介した接続状態が確立されたときに、自装置のモデルを示す識別情報を前記他の装置に通知する複数の計算装置のうちの第1計算装置と前記所定のインタフェースを介した接続状態が確立されたときに、前記第1計算装置のモデルを示す第1識別情報を前記第1計算装置から取得し、前記第1識別情報に応じた、前記第1計算装置の第1システムイメージデータを第3システムイメージデータに書き替えるリストア処理をし、前記複数の計算装置のうちの第2計算装置と前記所定のインタフェースを介した接続状態が確立されたときに、前記第2計算装置のモデルを示す第2識別情報を前記第2計算装置から取得し、前記第2識別情報に応じた、前記第2計算装置の第2システムイメージデータを前記第3システムイメージデータに書き替えるリストア処理をする処理部、
を有する情報処理装置。