(57)【特許請求の範囲】
【請求項１】
複数の装置それぞれにおけるプログラム更新処理を分割した複数の部分処理の実行順が登録されるとともに、前記複数の装置それぞれにおける前記複数の部分処理の一部について、前記複数の装置のうち２以上の装置における部分処理が完了した後に実行することを示す実行開始条件が登録された管理情報を記憶する記憶部と、
前記管理情報に基づいて、前記複数の装置それぞれにおける前記複数の部分処理の実行を制御する制御部と、
を有する情報処理装置。
【請求項２】
前記制御部は、前記複数の装置それぞれにおける前記複数の部分処理の進捗状況を監視し、前記複数の装置のうち第１の装置における第１の部分処理が完了すると、前記管理情報に基づいて、前記第１の部分処理の次に実行する部分処理として、前記第１の装置または前記複数の装置のうち第２の装置における第２の部分処理を特定し、前記第２の部分処理に対応する前記実行開始条件が前記管理情報に登録されている場合には、前記第２の部分処理に対応する前記実行開始条件を満たす場合に前記第２の部分処理の実行開始を指示する、
請求項１記載の情報処理装置。
【請求項３】
前記管理情報には、前記第１の部分処理の次に実行する処理として、前記第１の装置における前記第２の部分処理が登録され、前記第２の部分処理についての前記実行開始条件として、前記第１の部分処理と前記第２の装置における第３の部分処理とが完了することが登録され、
前記制御部は、前記管理情報に基づき、前記第１の部分処理が完了すると、前記第３の部分処理の進捗を監視し、前記第３の部分処理が完了すると前記第２の部分処理の実行開始を指示する、
請求項２記載の情報処理装置。
【請求項４】
前記第２の部分処理と前記第３の部分処理との間には、同時に実行できないという制約がある、
請求項３記載の情報処理装置。
【請求項５】
前記第２の部分処理は、前記第１の装置の再起動を含み、
前記第３の部分処理は、前記第２の装置の再起動を含む、
請求項４記載の情報処理装置。
【請求項６】
前記管理情報には、前記複数の装置のうち第４の装置における第４の部分処理の次に実行する部分処理として、前記第４の装置における第５の部分処理と、前記複数の装置のうち第５の装置における第６の部分処理とが登録され、前記第４の部分処理と前記第６の部分処理は、更新プログラムの受信処理を含み、
前記制御部は、前記管理情報に基づき、前記第４の部分処理が完了すると、前記第５の部分処理と前記第６の部分処理の実行開始を指示する、
請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
コンピュータに、
複数の装置それぞれにおけるプログラム更新処理を分割した複数の部分処理の実行順が登録されるとともに、前記複数の装置それぞれにおける前記複数の部分処理の一部について、前記複数の装置のうち２以上の装置における部分処理が完了した後に実行することを示す実行開始条件が登録された管理情報を参照し、
前記管理情報に基づいて、前記複数の装置それぞれにおける前記複数の部分処理の実行を制御する、
処理を実行させる実行制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および実行制御プログラムに関する。
【背景技術】
【０００２】
近年、多くの電子装置はファームウェアに従って動作する。ファームウェアは、機能拡張や修正のために更新される。例えば、ファームウェアの提供元から、新しい版数のファームウェアが電子装置に提供される。電子装置は、内部の記憶領域に格納されているファームウェアを提供されたファームウェアに更新する。
【０００３】
ここで、ファームウェアの更新に関する次のような技術が提案されている。例えば、ファームウェアの更新手順に従って、複数のファームウェアが順番に更新される技術が提案されている。また、例えば、プリンタに格納されているファームウェアの更新処理を制御するＰＣ（Personal Computer）が提案されている。このＰＣは、更新処理でプリンタの動作が保証される更新順番を決定する。また、ファームウェアの更新時の更新過程を更新プロセス値で管理する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１１８５８６号公報
【特許文献２】特開２００９−１９３２１８号公報
【特許文献３】特開２００８−２１７０８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、複数の装置を有するシステムで、複数の装置それぞれのファームウェアを更新する場合、更新する装置の順番を決めてファームウェアの更新を行う方法が考えられる。しかし、この方法では、ファームウェアの更新が全ての装置で完了するまでの時間が長いという問題がある。
【０００６】
１つの側面では、本発明は、複数の装置でのファームウェアの更新時間を短縮できる情報処理装置および実行制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの態様では、情報処理装置が提供される。この情報処理装置は記憶部と制御部とを有する。記憶部は、複数の装置それぞれにおけるプログラム更新処理を分割した複数の部分処理の実行順が登録されるとともに、複数の装置それぞれにおける複数の部分処理の一部について、複数の装置のうち２以上の装置における部分処理が完了した後に実行することを示す実行開始条件が登録された管理情報を記憶する。制御部は、管理情報に基づいて、複数の装置それぞれにおける複数の部分処理の実行を制御する。
【０００８】
また、１つの態様では、実行制御プログラムが提供される。この実行制御プログラムは、コンピュータに、複数の装置それぞれにおけるプログラム更新処理を分割した複数の部分処理の実行順が登録されるとともに、複数の装置それぞれにおける複数の部分処理の一部について、複数の装置のうち２以上の装置における部分処理が完了した後に実行することを示す実行開始条件が登録された管理情報を参照し、管理情報に基づいて、複数の装置それぞれにおける複数の部分処理の実行を制御する、処理を実行させる。
【発明の効果】
【０００９】
１つの側面では、複数の装置でのファームウェアの更新時間を短縮できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態の情報処理装置を示す図である。
【図２】第２の実施の形態の情報処理システムを示す図である。
【図３】管理装置のハードウェア例を示す図である。
【図４】更新制御テーブルの例を示す図である。
【図５】ファームウェアの更新の比較例を示す図である。
【図６】フェーズの例を示す図である。
【図７】管理テーブルの例（その１）を示す図である。
【図８】第２の実施の形態の具体例と比較例とを比較する図である。
【図９】管理テーブルの例（その２）を示す図である。
【図１０】転送データ量の制約を考慮する場合の具体例を示す図である。
【図１１】管理テーブルの例（その３）を示す図である。
【図１２】一部のフェーズが存在しない場合の具体例を示す図である。
【図１３】管理装置の機能例を示す図である。
【図１４】ファームウェアの更新処理の例を示すフローチャートである。
【図１５】未実施処理の例を示すフローチャートである。
【図１６】実施中処理の例を示すフローチャートである。
【図１７】完了処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理装置を示す図である。情報処理装置１は、ネットワーク３を介して、複数の装置２ａ，２ｂと接続している。装置２ａの名称は、装置Ｘであり、装置２ｂの名称は、装置Ｙであるとする。
【００１２】
情報処理装置１は、装置Ｘ，Ｙそれぞれに格納されているファームウェアの更新を制御する。新しい版数のファームウェア（以下、「新しいファームウェア」と略称する）の提供元は、情報処理装置１でもよいし、他の装置でもよい。装置Ｘと装置Ｙは、情報処理装置１の制御の下で、新しいファームウェアの受信や、受信した新しいファームウェアを記憶領域に記録するといった一連のファームウェアの更新処理を行う。
【００１３】
装置Ｘ，Ｙのそれぞれにおけるファームウェア更新処理は、複数の部分処理に分割される。図１の例では、装置Ｘでのファームウェア更新処理は、部分処理ｘ１，ｘ２に分割され、装置Ｙでのファームウェア更新処理は、部分処理ｙ１，ｙ２に分割される。そして、情報処理装置１は、部分処理ｘ１，ｘ２，ｙ１，ｙ２を単位として実行を制御する。
【００１４】
情報処理装置１は、記憶部１ａおよび制御部１ｂを有する。記憶部１ａは、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。制御部１ｂは、例えば、プロセッサである。プロセッサには、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。また、制御部１ｂは、マルチプロセッサであってもよい。
【００１５】
記憶部１ａは、管理情報４を記憶する。管理情報４には、部分処理ｘ１，ｘ２，ｙ１，ｙ２の実行順が登録される。また、管理情報４には、部分処理ｘ１，ｘ２，ｙ１，ｙ２のうちの一部の部分処理について、２以上の装置（ここでは装置Ｘ，Ｙ）における部分処理が完了した後に実行することを示す実行開始条件が登録される。制御部１ｂは、管理情報４に基づいて、部分処理ｘ１，ｘ２，ｙ１，ｙ２の実行を制御する。
【００１６】
ここで、実行開始条件が登録される部分処理とは、例えば、他の装置の他の部分処理との間で互いに並行して実行できないという制約がある部分処理である。図１の例では、装置Ｘの部分処理ｘ２と、装置Ｙの部分処理ｙ２との間で、互いに並行して実行できないという制約がある。そこで、部分処理ｘ２，ｙ２の少なくとも一方についての実行開始条件が管理情報４に登録される。
【００１７】
具体的には、図１の例では、部分処理ｙ２の実行開始条件として、装置Ｘの部分処理ｘ２と装置Ｙの部分処理ｙ１の両方が完了した後に実行することが登録される。制御部１ｂは、このような実行開始条件に基づいて、例えば、部分処理ｙ１が完了したとき、部分処理ｘ２が完了しているかを判定する。部分処理ｘ２が完了していない場合、制御部１ｂは、部分処理ｘ２が完了するまで部分処理ｙ２の実行開始を待ち合わせる。そして、制御部１ｂは、部分処理ｘ２が完了すると、部分処理ｙ２の実行を開始させる。
【００１８】
一方、実行開始条件が登録されていない部分処理同士は、異なる装置間で並行して実行されるように処理順を設定可能である。上記のような実行開始条件が登録されている場合、少なくとも部分処理ｘ２，ｙ１は並行して実行可能である。すなわち、上記のような実行開始条件を設定することで、部分処理ｘ２，ｙ２を並行して実行できないという制約を守りながら、部分処理ｘ２，ｙ１が並列に実行され得る実行順を設定することが可能になる。これにより、装置Ｘ，Ｙのファームウェア更新処理の並列度を高めることができる。
【００１９】
図１の例では、ケース（２）として示すように、装置Ｘの部分処理ｘ１の実行と装置Ｙの部分処理ｙ１の実行とが同時に開始され、これらが並行して実行される。また、装置Ｘの部分処理ｘ２と部分処理ｙ１も並行して実行可能になっている。一方、図１では、ケース（１）として、装置Ｘのファームウェア更新処理の完了後に装置Ｙのファームウェア更新処理を実行した場合の比較例を示している。ケース（２）では、ケース（１）と比較して処理が並行して実行される期間が長くなる。よって、ケース（２）によれば、部分処理ｘ２，ｙ２を並行して実行できないという制約を守りながら、ケース（１）と比較してファームウェア更新処理にかかる時間を時間Ｔだけ短縮できる。
【００２０】
なお、図１に示す管理情報４では、一例として、部分処理のそれぞれに対して、次の部分処理と、次の部分処理についての実行開始条件とが対応付けられている。部分処理と次の部分処理とが登録されることで、部分処理の処理順が設定される。また、部分処理ｘ２の次に実行すべき部分処理ｙ２の実行を開始する条件として、部分処理ｙ１が完了したことが登録される。これは、部分処理ｙ２の実行を開始する条件として、異なる装置の部分処理、すなわち装置Ｘの部分処理ｘ２と装置Ｙの部分処理ｙ１の完了が設定されていることを表す。同様に、部分処理ｙ１の次に実行すべき部分処理ｙ２の実行を開始する条件として、部分処理ｘ２が完了したことが登録される。これも同様に、部分処理ｙ２の実行を開始する条件として、異なる装置の部分処理、すなわち装置Ｘの部分処理ｘ２と装置Ｙの部分処理ｙ１の完了が設定されていることを表す。
【００２１】
以上説明した第１の実施の形態によれば、装置間での部分処理の実行に関する制約を守りつつ、ファームウェア更新処理の並列度を高めることができる。その結果、複数の装置でのファームウェア更新処理全体の時間を短縮することができる。
【００２２】
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムを示す図である。第２の実施の形態の情報処理システムは、管理装置１００、サーバ２００、スイッチ３００，４００、ストレージ装置５００およびテープ装置６００を有する。また、サーバ２００、スイッチ３００，４００、ストレージ装置５００およびテープ装置６００が、１つのシステムを構築していると考えてもよい。
【００２３】
管理装置１００とサーバ２００、スイッチ３００，４００、ストレージ装置５００およびテープ装置６００とは、互いにネットワーク７００を介して接続されている。ネットワーク７００は、例えば、ＬＡＮ（Local Area Network）である。
【００２４】
管理装置１００は、新しいファームウェアをサーバ２００、スイッチ３００，４００、ストレージ装置５００およびテープ装置６００に提供するコンピュータである。また、管理装置１００は、サーバ２００、スイッチ３００，４００、ストレージ装置５００およびテープ装置６００で行われるファームウェアの更新処理を制御する。
【００２５】
サーバ２００は、スイッチ３００，４００を介してストレージ装置５００およびテープ装置６００と通信するサーバコンピュータである。サーバ２００は、例えば、ストレージ装置５００が提供する記憶領域に対してアクセスする。
【００２６】
スイッチ３００，４００は、サーバ２００とストレージ装置５００およびテープ装置６００との間や、ストレージ装置５００とテープ装置６００との間で送受信されるデータを中継する中継装置である。
【００２７】
ストレージ装置５００は、ＣＭ（Controller Module）とＤＥ（Device Enclosure）を有する装置である。例えば、ＤＥは、複数のＨＤＤを有する。ＣＭは、サーバ２００からのアクセス要求に応じて、ＤＥに対するアクセスを制御する。また、ＣＭは、ＤＥに格納されたデータをテープ装置６００に送信し、テープ装置６００の磁気テープに記録させる。
【００２８】
テープ装置６００は、コントローラとテープドライブを有する。コントローラは、テープドライブに挿入された磁気テープに対するアクセスを制御する。
サーバ２００、スイッチ３００，４００、ストレージ装置５００およびテープ装置６００は、ファームウェアに従って動作する。サーバ２００、スイッチ３００，４００、ストレージ装置５００およびテープ装置６００の動作を制御するファームウェアは、各装置が有する不揮発性記憶装置に格納されている。また、サーバ２００、スイッチ３００，４００、ストレージ装置５００およびテープ装置６００は、プロセッサを有し、プロセッサの処理によってファームウェアの更新処理を実行する。
【００２９】
次に、管理装置のハードウェア例について説明する。
図３は、管理装置のハードウェア例を示す図である。管理装置１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、読み取り装置１０６および通信インタフェース１０７を有する。各ユニットは管理装置１００のバスに接続されている。
【００３０】
プロセッサ１０１は、管理装置１００全体を制御する。プロセッサ１０１は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。また、プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００３１】
ＲＡＭ１０２は、管理装置１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００３２】
ＨＤＤ１０３は、管理装置１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。管理装置１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００３３】
画像信号処理部１０４は、プロセッサ１０１からの命令に従って、管理装置１００に接続されたディスプレイ１０４ａに画像を出力する。ディスプレイ１０４ａとしては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、有機ＥＬ（Electro-Luminescence）ディスプレイなど各種のディスプレイを用いることができる。管理装置１００は、ディスプレイ１０４ａを一体に備えてもよい。
【００３４】
入力信号処理部１０５は、管理装置１００に接続された入力デバイス１０５ａから入力信号を取得し、プロセッサ１０１に出力する。入力デバイス１０５ａとしては、マウスやタッチパネルなどのポインティングデバイスやキーボードなどの各種の入力デバイスを用いることができる。管理装置１００には、複数の種類の入力デバイスが接続されてもよい。管理装置１００は、入力デバイス１０５ａを一体に備えてもよい。
【００３５】
読み取り装置１０６は、可搬型の記録媒体１０６ａに記録されたプログラムやデータを読み取る装置である。記録媒体１０６ａとして、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体１０６ａとして、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置１０６は、例えば、プロセッサ１０１からの命令に従って、記録媒体１０６ａから読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００３６】
通信インタフェース１０７は、ネットワーク７００を介して、サーバ２００、スイッチ３００，４００、ストレージ装置５００およびテープ装置６００と通信を行う。通信インタフェース１０７は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
【００３７】
次に、第２の実施の形態におけるファームウェア更新制御について、比較例と比較しながら説明する。なお、比較例においても図２で説明した各装置が用いられるものとする。
まず、図４，５を用いて、ファームウェア更新制御の比較例について説明する。この比較例では、装置毎にファームウェアを更新する順番を決めて、ファームウェアが更新される。
【００３８】
図４は、更新制御テーブルの例を示す図である。更新制御テーブル９００は、比較例で用いるテーブルであり、管理装置１００に格納される。更新制御テーブル９００は、装置、アップデート状態、開始条件および完了後の処理の項目を含む。
【００３９】
装置の項目には、装置を示す情報が登録される。アップデート状態の項目には、ファームウェアの更新状態を示す情報が登録される。アップデート状態の項目には、未実施、実施中、完了の何れかが登録される。開始条件の項目には、ファームウェアの更新を開始させてよいか否かを示す情報が登録される。開始条件の項目には、ファームウェアの更新を開始させてよいことを示す“可”、または、ファームウェアの更新を開始させてはいけないことを示す“不可”の何れかが登録される。管理装置１００は、開始条件の項目に“可”が登録されている装置に対して、ファームウェア更新を実行させる。完了後の処理の項目には、ある装置でファームウェアの更新が完了した後に、管理装置１００が次に実行すべき処理の内容が登録される。完了後の処理の項目に登録される処理内容は、次にどの装置に対応する開始条件を“可”にするかを示すものであり、これは実質的に、次にファームウェアの更新を実行させる装置を示している。
【００４０】
例えば、更新制御テーブル９００には、装置が“サーバ”、アップデート状態が“未実施”、開始条件が“可”、完了後の処理が“ストレージ装置の開始条件を可とする”、“テープ装置の開始条件を可とする”という情報が登録される。これは、サーバ２００のアップデート状態が“未実施”であり、ファームウェアの更新を開始してよい（開始条件が“可”）ということを示す。また、サーバ２００のファームウェアの更新が完了した後に、ストレージ装置５００およびテープ装置６００の開始条件を可とすることを示す。また、ストレージ装置５００およびテープ装置６００の開始条件が不可から可に変更されることで、ストレージ装置５００およびテープ装置６００のファームウェアの更新が可能になる。
【００４１】
更新制御テーブル９００には、完了後の処理の項目を利用して、装置毎にファームウェアを更新する順番が設定される。図４の例では、初めに、サーバ２００とスイッチ３００でファームウェアの更新を行う旨の情報が更新制御テーブル９００に登録される。次に、サーバ２００のファームウェアの更新が完了すると、ストレージ装置５００とテープ装置６００でファームウェアの更新を行う旨の情報が更新制御テーブル９００に登録される。また、スイッチ３００のファームウェアの更新が完了すると、スイッチ４００でファームウェアの更新を行う旨の情報が更新制御テーブル９００に登録される。
【００４２】
また、更新する順番は、装置間の関係に基づいて設定される。例えば、スイッチ３００とスイッチ４００を同時にファームウェアの更新を行わないように、更新する順番を設定する。これは、同時にファームウェアの更新を行うと通信ができなくなるからである。そのため、先にスイッチ３００でファームウェアの更新を行い、次に、スイッチ４００でファームウェアの更新を行うように、更新制御テーブル９００に登録される。
【００４３】
図５は、ファームウェアの更新の比較例を示す図である。この図５では、図４のように情報が登録された更新制御テーブル９００に基づいて、管理装置１００がファームウェア更新の実行を制御した場合を示す。
【００４４】
初めに、サーバ２００とスイッチ３００でファームウェアの更新が行われる。サーバ２００のファームウェアの更新が完了すると、ストレージ装置５００とテープ装置６００でファームウェアの更新が行われる。また、スイッチ３００のファームウェアの更新が完了すると、スイッチ４００でファームウェアの更新が行われる。
【００４５】
このように、更新制御テーブル９００に基づいて、ファームウェアの更新が実行される。しかし、このように装置単位でファームウェアの更新順を制御する場合には、ファームウェアの更新が全ての装置で完了するまでの時間が長いという問題がある。これは、ある装置と別の装置のファームウェア更新を同時に実行できないという制約がある場合、必ずしも各装置でのファームウェア更新処理の全体を並列に実行できない訳ではないからである。
【００４６】
例えば、スイッチ３００，４００で同時にファームウェア更新を実行できない理由は、スイッチ３００，４００の中継動作が同時に停止してはいけないからである。しかし、スイッチ３００，４００のファームウェア更新処理の中で中継動作が停止してしまうのは再起動の期間だけであり、その他の期間では中継動作は継続している。このため、上記の比較例では、実際にはスイッチ３００，４００が同時に再起動しないように制御されればよいにもかかわらず、スイッチ３００でのファームウェア更新処理の全体が完了しないとスイッチ４００でのファームウェア更新を開始できない。よって、ファームウェアの更新のために余計な時間がかかっていると言える。
【００４７】
そこで、第２の実施の形態では、各装置で行われるファームウェアの更新処理を複数のフェーズに分割する。そして、フェーズを実行単位として実行順が決定される。また、装置間でのフェーズ実行に関する制約を考慮して、装置間で並行して実行できるフェーズは並行して実行できるように実行順が決定される。
【００４８】
図６は、フェーズの例を示す図である。本実施の形態では、各装置でのファームウェア更新処理は、準備フェーズ、適用フェーズ、再起動フェーズ、後処理フェーズの４つのフェーズに分割される。
【００４９】
準備フェーズは、更新処理の準備のためのフェーズである。例えば、対象装置の保守状態への移行、関連する他の装置との切り離し（通信の切断など）、管理装置１００からの新しいファームウェアの受信および不揮発性記録媒体への格納などが行われる。適用フェーズは、新しいファームウェアを適用するための更新処理本体が開始されるフェーズである。例えば、管理装置１００からファームウェア更新を指示するコマンドが受信される。
【００５０】
再起動フェーズは、再起動して新しいファームウェアに従った処理を開始するフェーズである。例えば、管理装置１００からのコマンドに応じて電源切断および再起動が行われ、新しいファームウェアが読み込まれ、そのファームウェアに従った処理が開始される。再起動が完了すると、管理装置１００に完了が通知される。後処理フェーズは、更新処理を完了させるフェーズである。例えば、対象装置の保守状態からの復帰、関連する他の装置との通信の再開などが行われる。
【００５１】
図７は、管理テーブルの例（その１）を示す図である。管理テーブル１１１ａは、管理装置１００のＲＡＭ１０２またはＨＤＤ１０３に格納される。管理テーブル１１１ａは、仮想装置、フェーズ、アップデート状態、開始条件および完了後の処理の項目を含む。
【００５２】
管理テーブル１１１ａを用いた管理装置１００の制御では、各装置の各フェーズは「仮想装置」として識別される。例えば、サーバ２００での準備フェーズ、適用フェーズ、再起動フェーズ、後処理フェーズは、それぞれ仮想装置ａ１，ａ２，ａ３，ａ４として識別される。同様に、スイッチ３００での準備フェーズ、適用フェーズ、再起動フェーズ、後処理フェーズは、それぞれ仮想装置ｂ１１，ｂ１２，ｂ１３，ｂ１４として識別される。スイッチ４００での準備フェーズ、適用フェーズ、再起動フェーズ、後処理フェーズは、それぞれ仮想装置ｂ２１，ｂ２２，ｂ２３，ｂ２４として識別される。ストレージ装置５００での準備フェーズ、適用フェーズ、再起動フェーズ、後処理フェーズは、それぞれ仮想装置ｃ１，ｃ２，ｃ３，ｃ４として識別される。テープ装置６００での準備フェーズ、適用フェーズ、再起動フェーズ、後処理フェーズは、それぞれ仮想装置ｄ１，ｄ２，ｄ３，ｄ４として識別される。
【００５３】
管理テーブル１１１ａの仮想装置の項目には、仮想装置を示す情報が登録される。仮想装置の項目は、図４に示した更新制御テーブル９００における装置の項目に対応する。管理装置１００は、装置の代わりに仮想装置を実行単位として認識することで、図４の更新制御テーブル９００を用いた場合と同様のアルゴリズムによって更新制御を行うことができる。
【００５４】
フェーズの項目には、フェーズを示す情報が登録される。前述のようにフェーズには、準備フェーズ、適用フェーズ、再起動フェーズ、後処理フェーズがある。なお、管理テーブル１１１ａには、フェーズの項目は必ずしも必要ない。各仮想装置に対応するフェーズにおける管理装置１００側の処理内容は、別途管理される。
【００５５】
アップデート状態の項目には、フェーズの実施状態を示す情報が登録される。アップデート状態の項目には、未実施、実施中、完了の何れかが登録される。このように、管理テーブル１１１ａにアップデート状態の項目を設けることで、各フェーズの実施状態を管理することができる。
【００５６】
開始条件の項目には、フェーズを開始させてよいか否かを示す情報が登録される。開始条件の項目には、フェーズを開始させてよいことを示す“可”、または、フェーズを開始させていけないことを示す“不可”の何れかが登録される。開始条件の項目が可であるフェーズを探索し、探索されたフェーズを対応する装置に実行させる。
【００５７】
完了後の処理の項目には、フェーズが完了した後に、管理装置１００が次に実行すべき処理の内容が登録される。完了後の処理の項目に登録される処理内容は、次にどの装置のどのフェーズに対応する開始条件を“可”にするかを示すものであり、これは実質的に、次に実行させるフェーズを示している。すなわち、完了後の処理の項目に登録された処理内容によって、フェーズの実行順が規定される。
【００５８】
また、完了後の処理の項目には、処理の実行を開始するための実行開始条件が登録される場合もある。例えば、仮想装置ａ４に対応するフェーズについては、完了後に実行する処理として「仮想装置ｃ３の開始条件を可とする」という処理が登録され、その実行開始条件として「仮想装置ｃ２が完了ならば」という条件が登録されている。これは、仮想装置ａ４に対応するフェーズが完了したとき、仮想装置ｃ２に対応するフェーズが完了したという条件が満たされた場合に、仮想装置ｃ３の開始条件を可とする処理が実行されることを示す。
【００５９】
なお、完了後の処理の項目に実行開始条件が登録されていない場合でも、実際には「仮想装置に対応するフェーズが完了した場合」という条件が付与されていると言うことができる。例えば、仮想装置ａ１に対応するフェーズに関しては、このフェーズが完了したという条件が満たされた場合に、仮想装置ａ２の開始条件を可とする処理が実行される。すなわち、完了後の処理の項目に実行開始条件が登録されている場合、その実行開始条件が満たされたときに実行される次のフェーズには、「異なる複数の装置でのフェーズが完了した場合に実行される」という実行のための条件が付与されていることを意味する。
【００６０】
完了後の処理の項目には、実行順と実行開始条件が、装置間でのフェーズの実行に関する制約に基づいて登録される。例えば、スイッチ３００とスイッチ４００が同時に再起動フェーズを実行すると、再起動の間、通信が行われなくなる。そこで、完了後の処理の項目には、複数のフェーズの中で、装置間で並行して実行してはいけないフェーズが並行して実行されないように、実行順と実行開始条件が設定される。一方、完了後の実行条件の項目には、並行して実行してよいフェーズはできるだけ並行して実行されるように、実行順と実行開始条件が設定される。これにより、フェーズを実行単位として各装置でのファームウェア更新処理が効率よく実行されるようになる。
【００６１】
なお、管理テーブル１１１ａにおいては、初期状態では、すべてのフェーズに対応するアップデート状態の項目には未実施が登録される。また、最初に実行されるフェーズに対応する開始条件の項目にのみ可が登録され、それ以外のフェーズに対応する開始条件の項目には不可が登録される。
【００６２】
図８は、第２の実施の形態の具体例と比較例とを比較する図である。図８の上部は、図５で示した比較例の図と同じである。図８の下部は、第２の実施の形態の具体例を示している。図８の下部は、図７に示した管理テーブル１１１ａの登録内容に基づいてフェーズが実行された場合の例を示す。
【００６３】
図８の上部の比較例では、スイッチ３００でのファームウェア更新が完了した後、スイッチ４００でのファームウェア更新が開始される。これに対して、図８の下部の例では、スイッチ３００での準備フェーズ（仮想装置ｂ１１）とスイッチ４００での準備フェーズ（仮想装置ｂ２１）とが並列に開始される。さらに、スイッチ３００での適用フェーズ（仮想装置ｂ１２）および再起動フェーズ（仮想装置ｂ１３）が続けて実行され、スイッチ４００での適用フェーズ（仮想装置ｂ２２）も続けて実行される。しかし、スイッチ４００での再起動フェーズ（仮想装置ｂ２３）は、スイッチ３００の再起動フェーズ（仮想装置ｂ１３）とは並列に実行されないようにスケジューリングされている。例えば、スイッチ４００の適用フェーズ（仮想装置ｂ２２）が完了したとき、管理装置１００は、スイッチ３００の再起動フェーズ（仮想装置ｂ１３）が完了しているという次のフェーズに関する実行開始条件を満たしているかを判定する。実行開始条件が満たされていない場合、管理装置１００は、スイッチ３００の再起動フェーズ（仮想装置ｂ１３）が完了するまで次のフェーズの実行を待ち合わせる。そして、スイッチ３００の再起動フェーズ（仮想装置ｂ１３）が完了すると、管理装置１００は、スイッチ４００の再起動フェーズ（仮想装置ｂ２３）を開始させる。このような制御により、スイッチ３００，４００でのファームウェア更新処理の並列度が高まり、更新時間が時間Ｔ１だけ短縮される。
【００６４】
また、図８の上部の比較例では、サーバ２００でのファームウェア更新が完了した後、ストレージ装置５００およびテープ装置６００でのファームウェア更新が開始される。この理由は、ストレージ装置５００およびテープ装置６００でのファームウェア更新の途中において、サーバ２００との通信が必要だからであるとする。ただし、サーバ２００との通信が必要なタイミングは、ストレージ装置５００およびテープ装置６００での再起動の直前であるものとする。
【００６５】
この場合、図８の下部のように実行順が制御される。サーバ２００でのファームウェア更新と並行して、ストレージ装置５００での準備フェーズ（仮想装置ｃ１）および適用フェーズ（仮想装置ｃ２）と、テープ装置６００での準備フェーズ（仮想装置ｄ１）および適用フェーズ（仮想装置ｄ２）が実行される。また、ストレージ装置５００およびテープ装置６００それぞれでの適用フェーズ（仮想装置ｃ２，ｄ２）の次に実行させるフェーズについては、サーバ２００での後処理フェーズ（仮想装置ａ４）が完了するという実行開始条件が設定されている。管理装置１００は、ストレージ装置５００およびテープ装置６００それぞれでの適用フェーズ（仮想装置ｃ２，ｄ２）が完了すると、この実行開始条件が満たされているかを判定する。満たされていない場合、管理装置１００は、次のフェーズの実行を待ち合わせる。そして、サーバ２００での後処理フェーズ（仮想装置ａ４）が完了すると、管理装置１００は、ストレージ装置５００およびテープ装置６００それぞれでの再起動フェーズ（仮想装置ｃ３，ｄ３）の実行を開始させる。これにより、ストレージ装置５００およびテープ装置６００は、再起動の直前でサーバ２００と通信できる。
【００６６】
以上の制御により、サーバ２００、ストレージ装置５００およびテープ装置６００でのファームウェア更新処理の時間も短縮される。その結果、全ての装置でのファームウェア更新が完了するまでの時間が短縮される。このように、第２の実施の形態によれば、ファームウェアの更新時間を短縮できる。
【００６７】
次に、転送データ量の制約を考慮する場合について説明する。例えば、図８では、５つの装置に新しいファームウェアを一斉に送信する場合を例示したが、この場合、転送中のデータの総量が転送性能に基づく限度を超え、送信時間が増大したり、送信に失敗する可能性がある。そこで、以下の図９，１０に示す例では、同時に転送されるデータ量が一定以下になるようにフェーズの実行順が設定される。
【００６８】
図９は、管理テーブルの例（その２）を示す図である。管理テーブル１１１ｂと管理テーブル１１１ａとは、登録されている内容が異なるだけなので、項目の説明を省略する。
図９の例では、初期状態では、スイッチ３００の準備フェーズ（仮想装置ｂ１１）に対応する開始条件が“可”に設定される一方、スイッチ４００の準備フェーズ（仮想装置ｂ２１）に対応する開始条件は“不可”に設定される。そして、スイッチ３００の準備フェーズ（仮想装置ｂ１１）についての完了後の処理として、「仮想装置ｂ２１の開始条件を可とする」という処理内容が登録される。これにより、スイッチ３００の準備フェーズ（仮想装置ｂ１１）が実行された後にスイッチ４００の準備フェーズ（仮想装置ｂ２１）が実行されるようになる。
【００６９】
図１０は、転送データ量の制約を考慮する場合の具体例を示す図である。図１０の上部は、比較例を示している。比較例は、装置毎に更新する順番が設定されている場合である。すなわち、図４の更新制御テーブル９００を用いて、ファームウェアの更新を行う場合である。
【００７０】
初めに、スイッチ３００に新しいファームウェアが転送される。そして、スイッチ３００でファームウェアの更新が完了すると、スイッチ４００に新しいファームウェアが転送される。ここで、スイッチ３００にファームウェアを転送してから、スイッチ４００に新しいファームウェアを転送するまでの間、スイッチ４００はファームウェアの更新を行わないので、効率が悪い。
【００７１】
図１０の下部では、管理テーブル１１１ｂを用いて、スイッチ３００の準備フェーズ（仮想装置ｂ１１）とスイッチ４００の準備フェーズ（仮想装置ｂ２１）とを同時に実行させないようする場合を示している。すなわち、スイッチ３００とスイッチ４００とに新しいファームウェアを一斉に送信させない場合を示している。管理装置１００は、管理テーブル１１１ｂに基づいて、スイッチ３００の準備フェーズ（仮想装置ｂ１１）が完了すると、スイッチ４００の準備フェーズ（仮想装置ｂ２１）を開始させる。これにより、各準備フェーズでのファームウェア転送タイミングが分散し、同時に転送されるデータ量を抑制できる。
【００７２】
これとともに、スイッチ３００での適用フェーズ（仮想装置ｂ１２）の実行も開始される。すなわち、スイッチ３００での適用フェーズ以降のファームウェア更新処理が、スイッチ４００でのファームウェア更新処理と並列に実行される。このような制御により、スイッチ４００は、スイッチ３００で行われる全てのフェーズが完了する前に、準備フェーズを実行することができる。よって、図１０の上部の場合よりも図１０の下部の場合の方が、ファームウェアの更新を効率良く実行し、ファームウェア更新全体にかかる時間を短縮できる。
【００７３】
次に、別の具体例を示す。上記の管理テーブル１１１ａ，１１１ｂでは、各装置でのファームウェア更新処理を４つのフェーズに分割した。しかし、例えば、装置によっては、ファームウェアを更新しても再起動をしなくてよい場合（再起動フェーズがない場合）や、保守状態に移行せず、他の装置との通信を切り離さなくてもよい場合（準備フェーズ、後処理フェーズがない場合）がある。また、隣接するフェーズの処理内容を分離できない場合もある。すなわち、ファームウェア更新処理が上記のような４つのフェーズに分割できない場合がある。このような場合について、説明する。
【００７４】
図１１は、管理テーブルの例（その３）を示す図である。管理テーブル１１１ｃと管理テーブル１１１ａとは、登録されている内容が異なるだけなので、項目の説明を省略する。管理テーブル１１１ｃでは、スイッチ３００での適用フェーズと再起動フェーズとを分離できないため、スイッチ３００での適用フェーズ（仮想装置ｂ１２）にスイッチ３００の再起動が含まれ、スイッチ３００での再起動フェーズが存在しない場合を示している。また、スイッチ３００，４００を同時に再起動できないという制約があるものとする。
【００７５】
図１２は、一部のフェーズが存在しない場合の具体例を示す図である。管理装置１００は、図１１に示した管理テーブル１１１ｃに基づいて、スイッチ３００，４００でファームウェアの更新に伴う各フェーズを実行させる。
【００７６】
図１２の例では、スイッチ３００での準備フェーズ（仮想装置ｂ１１）および適用フェーズ（仮想装置ｂ１２）と、スイッチ４００での準備フェーズ（仮想装置ｂ２１）および適用フェーズ（仮想装置ｂ２２）とが、並列に実行される。また、例えば、スイッチ４００の適用フェーズ（仮想装置ｂ２２）が完了したとき、管理装置１００は、スイッチ３００の適用フェーズ（仮想装置ｂ１２）が完了しているという次のフェーズに関する実行開始条件を満たしているかを判定する。実行開始条件が満たされていない場合、管理装置１００は、スイッチ３００の適用フェーズ（仮想装置ｂ１２）が完了するまで次のフェーズの実行を待ち合わせる。そして、スイッチ３００の適用フェーズ（仮想装置ｂ１２）が完了すると、管理装置１００は、スイッチ４００の再起動フェーズ（仮想装置ｂ２３）を開始させる。
【００７７】
以上の例のように、各装置でのファームウェア更新処理を同じ数のフェーズに分割できない場合でも、装置間でのフェーズの実行に関する制約を考慮しながら、各装置のフェーズを効率的に実行できる。
【００７８】
次に、管理装置１００の機能例について説明する。
図１３は、管理装置の機能例を示す図である。管理装置１００は、記憶部１１０、監視部１２０およびフェーズ制御部１３０を有する。
【００７９】
記憶部１１０は、例えば、ＲＡＭ１０２またはＨＤＤ１０３に確保した記憶領域として実装される。記憶部１１０は、管理テーブルを記憶する。上述では管理テーブル１１１ａ，１１１ｂ，１１１ｃを例示したが、以下、管理テーブルを総称して、管理テーブル１１１とする。
【００８０】
監視部１２０およびフェーズ制御部１３０は、例えば、プロセッサ１０１が実行するプログラムのモジュールとして実装される。
監視部１２０は、管理テーブル１１１に基づいて、制御対象の各装置で実行されるフェーズの実行状態を監視する。監視部１２０は、管理テーブル１１１に基づき、実行が完了したフェーズがある場合には、次に実行するフェーズの実行開始条件を満たすか否かを判定する。条件を満たす場合、監視部１２０は、次のフェーズの実行を制御するための制御プロセスをフェーズ制御部１３０に起動させる。
【００８１】
フェーズ制御部１３０は、監視部１２０からの指示に応じて、制御対象の装置にフェーズを実行させるための制御プロセスを実行する。制御プロセスとしては、準備フェーズ、適用フェーズ、再起動フェーズ、後処理フェーズの実行をそれぞれ制御するための準備プロセス１３１、適用プロセス１３２、再起動プロセス１３３、後処理プロセス１３４がある。実際には、準備プロセス１３１、適用プロセス１３２、再起動プロセス１３３、後処理プロセス１３４の内容は、装置の機種ごとに異なる。また、各制御プロセスには、装置に対する所定の処理の実行指示や、装置からの応答の受信が含まれる。
【００８２】
次に、第２の実施の形態で行われるファームウェアの更新の制御についてフローチャートを用いて説明する。
図１４は、ファームウェアの更新処理の例を示すフローチャートである。図１４の処理は、定期的に実行される。以下、図１４に示す処理をステップ番号に沿って説明する。
【００８３】
（Ｓ１１）監視部１２０は、未実施処理を実行する。未実施処理では、監視部１２０は、管理テーブル１１１において開始条件が可である仮想装置が存在する場合、実施中の状態にし、その仮想装置に対応するフェーズの実行を開始させる。
【００８４】
（Ｓ１２）監視部１２０は、実施中処理を実行する。実施中処理では、監視部１２０は、管理テーブル１１１において実施中の仮想装置に対応するフェーズが完了しているかを判定し、完了している場合、完了の状態にする。
【００８５】
（Ｓ１３）監視部１２０は、完了処理を実行する。完了処理では、監視部１２０は、管理テーブル１１１において完了の状態になっている仮想装置について、完了後の処理の項目に登録されている内容の処理を実行する。
【００８６】
（Ｓ１４）監視部１２０は、管理テーブル１１１のアップデート状態の項目を参照し、全ての仮想装置に対応するフェーズが完了しているか否かを判定する。完了している場合、処理を終了する。完了していない場合、処理をステップＳ１１に進める。
【００８７】
図１５は、未実施処理の例を示すフローチャートである。図１５に示す処理は、ステップＳ１１の処理に対応する。以下、図１５に示す処理をステップ番号に沿って説明する。
（Ｓ２１）監視部１２０は、管理テーブル１１１を参照し、アップデート状態の項目が未実施で、開始条件の項目が可である仮想装置が存在するか否かを判定する。存在する場合、処理をステップＳ２２に進める。存在しない場合、処理を終了する。
【００８８】
（Ｓ２２）監視部１２０は、管理テーブル１１１のアップデート状態の項目に実施中を設定する。
（Ｓ２３）監視部１２０は、ステップＳ２２で実施中に設定した仮想装置に対応するフェーズの実行を制御するための制御プロセスを実行するようにフェーズ制御部１３０に指示する。フェーズ制御部１３０は、指示された制御プロセスの実行を開始する。これにより、ステップＳ２２で実施中に設定した仮想装置に対応するフェーズが、該当する装置において開始される。
【００８９】
例えば、フェーズ制御部１３０は、実施中に設定した仮想装置に対応するフェーズが準備フェーズの場合、保守状態への移行や他の装置との通信を切断するように、当該フェーズを実行させる実行対象装置に指示する。なお、フェーズ制御部１３０は、他の装置との通信を切断する場合、実行対象装置に、切断する順番を適切に行うように指示する。また、フェーズ制御部１３０は、通信の切断が完了したことの通知を受けると、新しいファームウェアを実行対象装置に送信する。フェーズ制御部１３０は、新しいファームウェアの受信を完了したことの通知を受けると、制御プロセスを終了する。
【００９０】
また、実施中に設定した仮想装置に対応するフェーズが適用フェーズの場合、フェーズ制御部１３０は、新しいファームウェアを適用するように、アップデートコマンドを実行対象装置に送信する。フェーズ制御部１３０は、適用処理が完了したことの通知を受けると、制御プロセスを終了する。
【００９１】
また、実施中に設定した仮想装置に対応するフェーズが再起動フェーズの場合、フェーズ制御部１３０は、再起動コマンドを、実行対象装置に送信する。フェーズ制御部１３０は、新しいファームウェアを用いて正常に再起動したことの通知を受けると、制御プロセスを終了する。
【００９２】
また、実施中に設定した仮想装置に対応するフェーズが後処理フェーズの場合、フェーズ制御部１３０は、保守状態の解除や他の装置との通信を再開するように、実行対象装置に指示する。フェーズ制御部１３０は、指示に対応する処理が完了したことの通知を受けると、制御プロセスを終了する。
【００９３】
図１６は、実施中処理の例を示すフローチャートである。図１６に示す処理は、ステップＳ１２の処理に対応する。以下、図１６に示す処理をステップ番号に沿って説明する。
（Ｓ３１）監視部１２０は、管理テーブル１１１を参照し、アップデート状態の項目が実施中の仮想装置が存在するか否かを判定する。存在する場合、処理をステップＳ３２に進める。存在しない場合、処理を終了する。
【００９４】
（Ｓ３２）監視部１２０は、アップデート状態の項目が実施中の仮想装置に対応するフェーズの中に、実行が完了しているフェーズが１つでもあるか否かを判定する。具体的には、監視部１２０は、アップデート状態の項目が実施中の仮想装置に対応するフェーズのそれぞれについて、各フェーズの実行を制御するための制御プロセスが終了しているかをフェーズ制御部１３０に問い合わせる。その結果、制御プロセスが終了している場合に、対応するフェーズの実行が完了していると判定される。該当するフェーズの中に実行が完了しているフェーズが１つ以上ある場合、処理をステップＳ３３に進める。実行が完了しているフェーズがない場合、処理を終了する。
【００９５】
（Ｓ３３）監視部１２０は、管理テーブル１１１において、実行が完了しているフェーズを示す仮想装置に対応するアップデート状態の項目を、実施中から完了に変更する。そして、処理を終了する。
【００９６】
図１７は、完了処理の例を示すフローチャートである。図１７に示す処理は、ステップＳ１３の処理に対応する。以下、図１７に示す処理をステップ番号に沿って説明する。
（Ｓ４１）監視部１２０は、管理テーブル１１１を参照し、アップデート状態が完了である仮想装置が存在するか否かを判定する。存在する場合、処理をステップＳ４２に進める。存在しない場合、処理を終了する。
【００９７】
（Ｓ４２）監視部１２０は、アップデート状態が完了である仮想装置の中から１つを選択する。
（Ｓ４３）監視部１２０は、選択した仮想装置に対応する完了後の処理の項目を参照し、実行開始条件を満たしているか否かを判定する。満たしている場合、処理をステップＳ４４に進める。満たしていない場合、処理をステップＳ４５に進める。なお、完了後の処理の項目に実行開始条件が登録されていない場合、無条件に処理がステップＳ４４に進められる。
【００９８】
（Ｓ４４）監視部１２０は、選択した仮想装置に対応する完了後の処理の項目に登録されている内容に従い、次に実行すべきフェーズを示す仮想装置に対応する管理テーブル１１１の開始条件の項目に可を設定する。
【００９９】
（Ｓ４５）監視部１２０は、アップデート状態が完了である仮想装置をすべて選択済みか否かを判定する。すべて選択済みの場合、処理を終了する。未選択の仮想装置が存在する場合、処理をステップＳ４２に進める。
【０１００】
以上の図１４〜１７に示した処理により、フェーズを実行単位として各装置でのファームウェア更新処理の実行を制御することができる。
なお、第１の実施の形態の情報処理は、情報処理装置１に用いられるプロセッサに、プログラムを実行させることで実現できる。第２の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体に記録できる。
【０１０１】
例えば、プログラムを記録した記録媒体を配布することで、プログラムを流通させることができる。また、監視部１２０およびフェーズ制御部１３０に相当する機能を実現するプログラムを別個のプログラムとし、各プログラムを別個に配布してもよい。監視部１２０およびフェーズ制御部１３０の機能が別個のコンピュータにより実現されてもよい。コンピュータは、例えば、記録媒体に記録されたプログラムを、ＲＡＭ１０２やＨＤＤ１０３に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【０１０２】
１  情報処理装置
１ａ  記憶部
１ｂ  制御部
２ａ，２ｂ  装置
３  ネットワーク
４  管理情報
【図１】
0006663109.tif 000002
【図２】
0006663109.tif 000003
【図３】
0006663109.tif 000004
【図４】
0006663109.tif 000005
【図５】
0006663109.tif 000006
【図６】
0006663109.tif 000007
【図７】
0006663109.tif 000008
【図８】
0006663109.tif 000009
【図９】
0006663109.tif 000010
【図１０】
0006663109.tif 000011
【図１１】
0006663109.tif 000012
【図１２】
0006663109.tif 000013
【図１３】
0006663109.tif 000014
【図１４】
0006663109.tif 000015
【図１５】
0006663109.tif 000016
【図１６】
0006663109.tif 000017
【図１７】
0006663109.tif 000018