(57)【要約】【課題】  ファームウェアの更新に伴うデバイス利用の制限を低減することができるデバイス管理プログラム、デバイス管理システムおよび情報処理装置を提供する。【解決手段】  ＰＣ１は、対象となるプリンタの他に印刷処理を可能なプリンタが２台以上存在するときには（Ｓ５０：ＹＥＳ）、そのプリンタのファームウェアの更新を開始する（Ｓ６０）が、動作可能なプリンタが１台以下であれば（Ｓ５０：ＮＯ）、更新を保留して（Ｓ９０）、印刷処理が実行可能なプリンタの数が１台以下になることを防止する。  また、更新が終了し、動作可能なプリンタが存在することとなったときには（Ｓ１５０：ＹＥＳ）、更新が正常に終了したこと（Ｓ１６０：ＹＥＳ）、および正常に動作すること（Ｓ１８０：ＹＥＳ）を条件として、更新保留中のプリンタの更新を開始する（Ｓ２１０）。【選択図】図３
2010170496.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を実行する複数のデバイスと通信可能に接続された情報処理装置に対し、前記複数のデバイスに搭載されるファームウェアを更新する処理を実行させるためのデバイス管理プログラムであって、
前記情報処理装置を、
前記デバイスが前記所定の処理を実行可能な状態であるか否かを示すデバイス情報を、前記複数のデバイスそれぞれから取得するデバイス情報取得手段と、
前記デバイス情報取得手段から取得したデバイス情報に基づいて判断される前記所定の処理を実行可能な状態のデバイスである動作可能デバイスの中から、予め設定された最小動作数の前記デバイスを更新保留と設定し、前記更新保留と設定された前記デバイスを除いた前記デバイスのファームウェアの更新を開始する更新実行手段と、
前記更新実行手段によりファームウェアの更新を開始された前記デバイスのうち、ファームウェアの更新が終了し、かつ、前記所定の処理を実行可能な前記デバイスの数だけ、前記更新保留と設定された前記デバイスのファームウェアの更新を開始する保留解除手段
として機能させるためのデバイス管理プログラム。
【請求項２】
前記更新実行手段は、
前記複数のデバイスの中から前記デバイスを順次選択し、
前記選択されたデバイスを除いた前記複数のデバイスのうち、ファームウェアの更新中でない前記動作可能デバイスの数が前記最小動作数以上である場合には、前記選択されたデバイスを、ファームウェアの更新を行うデバイスとして設定する一方、ファームウェアの更新中でない前記動作可能デバイスの数が前記最小動作数を下回る場合には、前記選択されたデバイスを更新保留と設定する手段とされている
ことを特徴とする請求項１に記載のデバイス管理プログラム。
【請求項３】
前記情報処理装置を、さらに、
前記複数のデバイスのファームウェア更新の優先順位を設定する優先順位設定手段
として機能させ、
前記更新実行手段は、前記優先順位設定手段により設定された優先順位に従って前記選択されたデバイスをファームウェアの更新を行うデバイスとして設定し、または更新保留と設定する手段とされており、
前記保留解除手段は、前記優先順位設定手段により設定された優先順位に従って前記更新保留と設定された前記デバイスのファームウェアの更新を開始する手段とされている
ことを特徴とする請求項２に記載のデバイス管理プログラム。
【請求項４】
前記保留解除手段は、前記更新実行手段によりファームウェアの更新が開始された前記デバイスのうち、ファームウェアの更新が正常に終了し、かつ、ファームウェアの更新後に前記デバイスが正常に前記所定の処理を実行することを確認した前記デバイスの数だけ、前記更新保留と設定された前記デバイスのファームウェアの更新を開始する手段とされている
ことを特徴とする請求項１から請求項３のいずれかに記載のデバイス管理プログラム。
【請求項５】
前記情報処理装置を、さらに、
前記更新実行手段または前記保留解除手段によりファームウェアの更新が開始された前記デバイスのファームウェアの更新が正常に終了しない場合、または、ファームウェアの更新が終了した前記デバイスが正常に動作しない場合には、ファームウェアの更新が終了していない前記デバイスのファームウェアの更新を中断する中断手段として機能させる
ことを特徴とする請求項１から請求項４のいずれかに記載のデバイス管理プログラム。
【請求項６】
前記情報処理装置を、さらに、
前記複数のデバイスのいずれかに対して、前記所定の処理の実行を要求する動作要求手段と、
前記複数のデバイスそれぞれに対し、ファームウェアの更新中であるか否かを判定する判定手段と、
前記動作要求手段により前記要求が行われたデバイスが前記判定手段により更新中と判定されている場合には、前記要求の要求先を、更新中と判定されていない前記デバイスに設定する要求先設定手段
として機能させることを特徴とする請求項１から請求項５のいずれかに記載のデバイス管理プログラム。
【請求項７】
前記要求先設定手段は、ユーザの入力操作に応じて、または、予め設定された優先順位に従って、前記判定手段により更新中と判定されていない前記デバイスに対して前記要求を行う手段とされている
ことを特徴とする請求項６に記載のデバイス管理プログラム。
【請求項８】
情報処理装置と、前記情報処理装置と通信可能に接続され、所定の処理を実行する複数のデバイスと、からなるデバイス管理システムであって、
前記情報処理装置は、
前記デバイスが前記所定の処理を実行可能な状態であるか否かを示すデバイス情報を、前記複数のデバイスそれぞれから取得するデバイス情報取得手段と、
前記デバイス情報取得手段から取得したデバイス情報に基づいて判断される前記所定の処理を実行可能な状態のデバイスである動作可能デバイスの中から、予め設定された最小動作数の前記デバイスを更新保留と設定し、前記更新保留と設定された前記デバイスを除いた前記デバイスのファームウェアの更新を開始する更新実行手段と、
前記更新実行手段によりファームウェアの更新を開始された前記デバイスのうち、ファームウェアの更新が終了し、かつ、前記所定の処理を実行可能な前記デバイスの数だけ、前記更新保留と設定された前記デバイスのファームウェアの更新を開始する保留解除手段と、を備える
ことを特徴とするデバイス管理システム。
【請求項９】
所定の処理を実行する複数のデバイスと通信可能に接続され、前記複数のデバイスに搭載されるファームウェアを更新する処理を実行する情報処理装置であって、
前記デバイスが前記所定の処理を実行可能な状態であるか否かを示すデバイス情報を、前記複数のデバイスそれぞれから取得するデバイス情報取得手段と、
前記デバイス情報取得手段から取得したデバイス情報に基づいて判断される前記所定の処理を実行可能な状態のデバイスである動作可能デバイスの中から、予め設定された最小動作数の前記デバイスを更新保留と設定し、前記更新保留と設定された前記デバイスを除いた前記デバイスのファームウェアの更新を開始する更新実行手段と、
前記更新実行手段によりファームウェアの更新を開始された前記デバイスのうち、ファームウェアの更新が終了し、かつ、前記所定の処理を実行可能な前記デバイスの数だけ、前記更新保留と設定された前記デバイスのファームウェアの更新を開始する保留解除手段と、を備える
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の処理を実行する複数のデバイスと通信可能に接続された情報処理装置に対し、上記複数のデバイスに搭載されるファームウェアを更新する処理を実行させるためのデバイス管理プログラムと、上記複数のデバイスと情報処理装置からなるデバイス管理システムと、上記情報処理装置と、に関する。
【背景技術】
【０００２】
従来、デバイスのファームウェアを更新する際に利用される技術として、下記特許文献１に記載の技術が提案されている。
【０００３】
この特許文献１に記載の技術において、ＰＣ（情報処理装置）は、プリンタメーカのウェブサイトから提供される最新ファームウェアのバージョンと、既にプリンタ（デバイス）に導入済みのファームウェアのバージョンについて、いずれが高バージョンかを確認する。そして、最新ファームウェアの方が高バージョンであれば、プリンタのファームウェアを高バージョンに更新する処理を実行している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１１０３９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
デバイスがファームウェアを更新している間、そのデバイスは通常の動作（プリンタであれば印刷処理など）を実行することができない。上記特許文献１の技術では、ネットワーク上にある全てのデバイスのファームウェア更新を同時に実行してしまう可能性があり、その場合、いずれのデバイスも利用不能となるため、デバイスを利用するにはいずれかのデバイスにてファームウェアの更新が終了するまで待たなければならないという問題があった。
【０００６】
本発明は、上述した問題に鑑みてなされたものであり、その目的は、ファームウェアの更新に伴うデバイス利用の制限を低減することができるデバイス管理プログラム、デバイス管理システムおよび情報処理装置を提供することである。
【課題を解決するための手段】
【０００７】
上述した問題を解決するためになされた請求項１に記載の発明は、所定の処理を実行する複数のデバイスと通信可能に接続された情報処理装置に対し、前記複数のデバイスに搭載されるファームウェアを更新する処理を実行させるためのデバイス管理プログラムであって、前記情報処理装置を、前記デバイスが前記所定の処理を実行可能な状態であるか否かを示すデバイス情報を、前記複数のデバイスそれぞれから取得するデバイス情報取得手段と、前記デバイス情報取得手段から取得したデバイス情報に基づいて判断される前記所定の処理を実行可能な状態のデバイスである動作可能デバイスの中から、予め設定された最小動作数の前記デバイスを更新保留と設定し、前記更新保留と設定された前記デバイスを除いた前記デバイスのファームウェアの更新を開始する更新実行手段と、前記更新実行手段によりファームウェアの更新を開始された前記デバイスのうち、ファームウェアの更新が終了し、かつ、前記所定の処理を実行可能な前記デバイスの数だけ、前記更新保留と設定された前記デバイスのファームウェアの更新を開始する保留解除手段として機能させるためのデバイス管理プログラムである。
【０００８】
このように構成されたデバイス管理プログラムにより、情報処理装置を上記各手段として機能させれば、情報処理装置は、情報処理装置に接続しているデバイスのファームウェアを更新（以降、ファームウェアの更新のことを単に「更新」と言う場合がある。）する際に、所定の処理を実行可能なデバイスのうち、最小動作数のデバイスについては更新を保留し、その他のデバイスについては更新を開始する。そして、更新が終了して所定の処理を実行可能となったデバイスの数だけ、更新を保留したデバイスの更新を開始する。
【０００９】
したがって、複数のデバイスのファームウェア更新にあたって、最小動作数以上のデバイスを所定の処理が実行可能な状態に維持できるため、デバイスの更新を開始することにより所定の処理を実行可能なデバイスが存在しないといった状況が発生しなくなり、デバイスの更新が終了するまで待つ必要がなく、ファームウェアの更新に伴うデバイス利用の制限を低減することができる。
【００１０】
また、更新を保留されないデバイスについては、他のデバイスの更新終了を待つことなく更新を開始させることができるため、１つずつ順番にデバイスの更新を実行する場合よりも早く全てのデバイスの更新を完了させることができる。
【００１１】
請求項２に記載のデバイス管理プログラムは、請求項１に記載のデバイス管理プログラムにおいて、前記更新実行手段が、前記複数のデバイスの中から前記デバイスを順次選択し、前記選択されたデバイスを除いた前記複数のデバイスのうち、ファームウェアの更新中でない前記動作可能デバイスの数が前記最小動作数以上である場合には、前記選択されたデバイスを、ファームウェアの更新を行うデバイスとして設定する一方、ファームウェアの更新中でない前記動作可能デバイスの数が前記最小動作数を下回る場合には、前記選択されたデバイスを更新保留と設定する手段とされていることを特徴とする。
【００１２】
このように構成されたデバイス管理プログラムにより、情報処理装置を上記各手段として機能させれば、情報処理装置は、複数のデバイスを順次選択し、選択されたデバイス以外の所定の処理を実行可能なデバイスの数が最小動作数を下回る場合には、そのデバイスを更新保留に設定する。したがって、最小動作数以上のデバイスを、確実に処理を実行可能な状態に維持することができる。
【００１３】
なお、「ファームウェアの更新中」のデバイスとは、実際に更新を行っているデバイスに加えて、更新を行うと設定され、未だ更新を開始していないデバイスも含むものである。よって、「ファームウェアの更新中でない前記動作可能デバイス」とは、未だ、更新を行う，更新保留，のいずれにも設定がされていない動作可能デバイス、更新保留と設定された動作可能デバイス、および更新が終了した動作可能デバイス、のことを指す。
【００１４】
請求項３に記載のデバイス管理プログラムは、請求項２に記載のデバイス管理プログラムにおいて、前記情報処理装置を、さらに、前記複数のデバイスのファームウェア更新の優先順位を設定する優先順位設定手段として機能させ、前記更新実行手段が、前記優先順位設定手段により設定された優先順位に従って前記選択されたデバイスをファームウェアの更新を行うデバイスとして設定し、または更新保留と設定する手段とされており、前記保留解除手段が、前記優先順位設定手段により設定された優先順位に従って前記更新保留と設定された前記デバイスのファームウェアの更新を開始する手段とされていることを特徴とする。
【００１５】
このように構成されたデバイス管理プログラムにより、情報処理装置を上記各手段として機能させれば、情報処理装置は、設定された優先順位が上位であるデバイスから更新を行う。したがって、ユーザが所望するデバイスから更新を行わせることができる。
【００１６】
なお、各デバイスの優先順位の付け方は任意であり、更新をなるべく早く行いたいデバイスの優先順位を上位にしてもよいし、更新に起因する動作不良がないかを確認するために、動作不良を発生させたくない（例えば頻繁に使用する）デバイスの優先順位を下位に設定してもよい。
【００１７】
請求項４に記載のデバイス管理プログラムは、請求項１から請求項３のいずれかに記載のデバイス管理プログラムにおいて、前記保留解除手段が、前記更新実行手段によりファームウェアの更新が開始された前記デバイスのうち、ファームウェアの更新が正常に終了し、かつ、ファームウェアの更新後に前記デバイスが正常に前記所定の処理を実行することを確認した前記デバイスの数だけ、前記更新保留と設定された前記デバイスのファームウェアの更新を開始する手段とされていることを特徴とする。
【００１８】
このように構成されたデバイス管理プログラムにより、情報処理装置を上記各手段として機能させれば、情報処理装置は、あるデバイスの更新が終了したとき、その更新が正常に終了したことと、そのデバイスが正常に動作することを条件に、次のデバイスの更新を開始する。
【００１９】
したがって、更新を終了したデバイスが動作可能な状態でなくなったにも拘らず更新を保留していたデバイスの更新を開始してしまい、それにより動作可能なデバイスの数が最小動作数を下回ってしまうことを抑制できる。
【００２０】
請求項５に記載のデバイス管理プログラムは、請求項１から請求項４のいずれかに記載のデバイス管理プログラムにおいて、前記情報処理装置を、さらに、前記更新実行手段または前記保留解除手段によりファームウェアの更新が開始された前記デバイスのファームウェアの更新が正常に終了しない場合、または、ファームウェアの更新が終了した前記デバイスが正常に動作しない場合には、ファームウェアの更新が終了していない前記デバイスのファームウェアの更新を中断する中断手段として機能させることを特徴とする。
【００２１】
このように構成されたデバイス管理プログラムにより、情報処理装置を上記各手段として機能させれば、情報処理装置は、更新が正常に終了しない、または更新後のデバイスが正常に動作しない場合には、該当するファームウェアの更新を中断する。
【００２２】
したがって、更新後に正常に動作しないデバイスが発生したにも拘らず他のデバイスの更新を継続し、それにより動作不能となるデバイスが増加することを抑制できる。
【００２３】
なお、デバイスが正常に動作しない状態とは、更新前と同様の動作を実行できない状態であって、所定の処理が実行できない状態のみでなく、その他の動作に異常がある状態も含む。さらに、更新によって新たに実行が可能となる動作が存在する場合、その動作が正常に実行できない状態も含む。
【００２４】
請求項６に記載のデバイス管理プログラムは、請求項１から請求項５のいずれかに記載のデバイス管理プログラムにおいて、前記情報処理装置を、さらに、前記複数のデバイスのいずれかに対して、前記所定の処理の実行を要求する動作要求手段と、前記複数のデバイスそれぞれに対し、ファームウェアの更新中であるか否かを判定する判定手段と、前記動作要求手段により前記要求が行われたデバイスが前記判定手段により更新中と判定されている場合には、前記要求の要求先を、更新中と判定されていない前記デバイスに設定する要求先設定手段として機能させることを特徴とする。
【００２５】
このように構成されたデバイス管理プログラムにより、情報処理装置を上記各手段として機能させれば、情報処理装置は、更新中のデバイスに対して行われた所定の処理の要求を、別の更新中でないデバイスに対して行う。
【００２６】
したがって、要求先のデバイスが更新中であっても、その更新が終了するまで待つ必要がなく、所定の処理を迅速に実行させることができる。
【００２７】
請求項７に記載のデバイス管理プログラムは、請求項６に記載のデバイス管理プログラムにおいて、前記要求先設定手段が、ユーザの入力操作に応じて、または、予め設定された優先順位に従って、前記判定手段により更新中と判定されていない前記デバイスに対して前記要求を行う手段とされていることを特徴とする。
【００２８】
このように構成されたデバイス管理プログラムにより、情報処理装置を上記各手段として機能させれば、情報処理装置は、更新中でないデバイスのうち、設定された優先順位が上位であるデバイスに対して所定の処理の要求を行う。したがって、ユーザが処理を実行させたい優先順位が上位のデバイスに対して所定の処理を実行させることができる。
【００２９】
また、請求項８に記載のデバイス管理システムは、情報処理装置と、前記情報処理装置と通信可能に接続され、所定の処理を実行する複数のデバイスと、からなるデバイス管理システムであって、前記情報処理装置が、前記デバイスが前記所定の処理を実行可能な状態であるか否かを示すデバイス情報を、前記複数のデバイスそれぞれから取得するデバイス情報取得手段と、前記デバイス情報取得手段から取得したデバイス情報に基づいて判断される前記所定の処理を実行可能な状態のデバイスである動作可能デバイスの中から、予め設定された最小動作数の前記デバイスを更新保留と設定し、前記更新保留と設定された前記デバイスを除いた前記デバイスのファームウェアの更新を開始する更新実行手段と、前記更新実行手段によりファームウェアの更新を開始された前記デバイスのうち、ファームウェアの更新が終了し、かつ、前記所定の処理を実行可能な前記デバイスの数だけ、前記更新保留と設定された前記デバイスのファームウェアの更新を開始する保留解除手段と、を備えることを特徴とする。
【００３０】
このように構成されたデバイス管理システムによれば、情報処理装置は、請求項１に記載のデバイス管理プログラムについて述べたとおりの作用、効果を奏するものとなる。
【００３１】
したがって、複数のデバイスのファームウェア更新にあたって、最小動作数以上のデバイスを所定の処理が実行可能な状態に維持できるため、デバイスの更新を開始することにより所定の処理を実行可能なデバイスが存在しないといった状況が発生しなくなり、デバイスの更新が終了するまで待つ必要がなく、ファームウェアの更新に伴うデバイス利用の制限を低減することができる。
【００３２】
また、更新を保留されないデバイスについては、他のデバイスの更新終了を待つことなく更新を開始させることができるため、１つずつ順番にデバイスの更新を実行する場合よりも早く全てのデバイスの更新を完了させることができる。
【００３３】
また、請求項９に記載の情報処理装置は、所定の処理を実行する複数のデバイスと通信可能に接続され、前記複数のデバイスに搭載されるファームウェアを更新する処理を実行する情報処理装置であって、前記デバイスが前記所定の処理を実行可能な状態であるか否かを示すデバイス情報を、前記複数のデバイスそれぞれから取得するデバイス情報取得手段と、前記デバイス情報取得手段から取得したデバイス情報に基づいて判断される前記所定の処理を実行可能な状態のデバイスである動作可能デバイスの中から、予め設定された最小動作数の前記デバイスを更新保留と設定し、前記更新保留と設定された前記デバイスを除いた前記デバイスのファームウェアの更新を開始する更新実行手段と、前記更新実行手段によりファームウェアの更新を開始された前記デバイスのうち、ファームウェアの更新が終了し、かつ、前記所定の処理を実行可能な前記デバイスの数だけ、前記更新保留と設定された前記デバイスのファームウェアの更新を開始する保留解除手段と、を備える  ことを特徴とする。
【００３４】
このように構成された情報処理装置によれば、請求項１に記載のデバイス管理プログラムについて述べたとおりの作用、効果を奏するものとなる。
【００３５】
したがって、複数のデバイスのファームウェア更新にあたって、最小動作数以上のデバイスを所定の処理が実行可能な状態に維持できるため、デバイスの更新を開始することにより所定の処理を実行可能なデバイスが存在しないといった状況が発生しなくなり、デバイスの更新が終了するまで待つ必要がなく、ファームウェアの更新に伴うデバイス利用の制限を低減することができる。
【００３６】
また、更新を保留されないデバイスについては、他のデバイスの更新終了を待つことなく更新を開始させることができるため、１つずつ順番にデバイスの更新を実行する場合よりも早く全てのデバイスの更新を完了させることができる。
【図面の簡単な説明】
【００３７】
【図１】デバイス管理システムの概略構成を示すブロック図
【図２】ステータス情報のデータ構造を示す図
【図３】ファームウェア更新処理の手順を示すフローチャート
【図４】要求先設定処理の手順を示すフローチャート
【図５】変形例におけるファームウェア更新処理の手順を示すフローチャート
【発明を実施するための形態】
【００３８】
以下に本発明の実施形態を図面と共に説明する。
（１）全体構成
図１は、デバイス管理システム全体の構成を示した概略構成図である。本実施形態において、デバイス管理システムは、パーソナルコンピュータ１（本発明における情報処理装置に相当；以下、ＰＣ１という）、プリンタ２Ａ〜２Ｅ（本発明におけるデバイスに相当）などによって構成される。
【００３９】
ＰＣ１とプリンタ２Ａ〜２Ｅは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）５を介して互いに通信可能となっている。
【００４０】
これらの内、ＰＣ１は、制御部１１、記憶部１２、入力部１３、表示部１４、ネットワークインターフェイス１５などを備えている。
【００４１】
制御部１１は、ＣＰＵ，ＲＯＭ，ＲＡＭ等のハードウェアと、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーション等のソフトウェアによって構成されており、ＰＣ１を構成する各部を統括制御すると共に、後述するファームウェア更新処理や要求先設定処理を中心とする各種処理を実行する。
【００４２】
上記ＲＯＭには、各プリンタのステータス情報が記憶されている。ステータス情報は、図２（ａ）〜（ｄ）に示すように、プリンタ名，更新優先順位，印刷状態，更新状態，更新時印刷優先順位，以上５項目を１組とするデータ群が、プリンタ２Ａ〜２Ｅの数と同数組含まれている。
【００４３】
上述したデータ群のうち、「更新優先順位」の項目には、プリンタ２Ａ〜２Ｅのファームウェアを更新（以降、ファームウェアの更新のことを単に「更新」と言う場合がある。）する優先順位が記憶されており、後述するファームウェア更新処理において優先順位が上位のプリンタほど先に更新が行われる。
【００４４】
また、「印刷状態」の項目には、各プリンタが正常であるか否かを示す情報として、「正常」，「異常」のいずれかが記憶されている。この「印刷状態」は、トナー切れ，用紙切れ，およびその他の異常などによって定まる情報であり、更新による影響は考慮しない情報であるため、プリンタが「正常」であっても、ファームウェアが更新中であれば印刷処理は実行できない。一方、プリンタが「異常」であっても、ファームウェアの更新は可能である。
【００４５】
また、「更新状態」の項目には、ファームウェアの更新状態を示す情報として、「更新設定前」，「更新中」，「更新保留中」，「更新終了」のいずれかが記憶されている。
【００４６】
また、「更新時印刷優先順位」の項目には、印刷要求の送信先のプリンタが更新中である場合に代わりに印刷処理を実行させるプリンタの優先順位が記憶されている。
【００４７】
上記ステータス情報のうち、「印刷状態」および「更新状態」の項目は、後述するファームウェア更新処理にて適時更新される。また「更新優先順位」および「更新時印刷優先順位」の項目は、入力部１３を用いたユーザからの入力操作があったときに更新される。
【００４８】
記憶部１２は、制御部１１が備えるＲＡＭとは別に設けられた、より大容量のハードディスク装置や不揮発性メモリによって構成されるもので、比較的大きいサイズのデータや、電力供給が遮断されたときにも消失させたくないデータを記憶する際に利用される。本実施形態において、この記憶部１２には、現在プリンタ２Ａ〜２Ｅに搭載されているファームウェアと、サーバやＣＤなどのメディアから取得した更新用のファームウェアの情報が記憶されている。
【００４９】
入力部１３は、ユーザからの外部操作による指令を入力するためのマウスやキーボードなどの各種入力装置（図示せず）を備えており、各種入力装置を通じて入力された操作情報を制御部１１に入力する。
【００５０】
表示部１４は、液晶ディスプレイを備えており、制御部１１からの指令に基づき、メッセージや画像等の情報をユーザに向けて表示する。
【００５１】
ネットワークインターフェイス１５は、ＬＡＮ５を介して行われるプリンタ２Ａ〜２Ｅとの通信を制御する。
【００５２】
上述したプリンタ２Ａは、制御部２１、記憶部２２、操作部２３、表示部２４、ネットワークインターフェイス２５、印刷部２６などを備えている。
【００５３】
制御部２１は、ＣＰＵ，ＲＯＭ，ＲＡＭ等のハードウェアと、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーション等のソフトウェアによって構成されており、プリンタ２Ａを構成する各部を統括制御する。また、プリンタ２Ａが正常であるか（トナー切れ、用紙切れ、その他の異常がないか）を常時監視しており、ＰＣ１からプリンタ２Ａが正常か否かを示す情報の送信要求があったときには、その情報をＰＣ１に送信する。そのときＰＣ１では、ステータス情報の「印刷状態」の項目に受信した情報を記憶する。
【００５４】
記憶部２２は、不揮発性メモリによって構成されるもので、プリンタ２Ａが備えるハードウェアを制御するためのファームウェアやファームウェアのバージョン情報などが記憶されている。
【００５５】
操作部２３は、ユーザにより操作可能な各種スイッチ等が設けられており、各種スイッチを通じて入力された操作情報を制御部２１に入力する。
【００５６】
表示部２４は、液晶ディスプレイやＬＥＤなどを備えてなるものであり、制御部２１からの指令に基づき、メッセージや画像等の情報をユーザに向けて表示する。
【００５７】
ネットワークインターフェイス２５は、ＬＡＮ５を介して行われるＰＣ１や他のプリンタとの通信を制御する。
【００５８】
印刷部２６は、制御部２１に制御されて、ＰＣ１から送信された印刷データに基づく画像を用紙に印刷し、その印刷物（用紙）を出力する。
【００５９】
なお、図１においては、プリンタ２Ａについてのみ内部構成を図示してあるが、他のプリンタ２Ｂ〜２Ｅもプリンタ２Ａと同様に構成されている。
（２）ファームウェア更新処理
以下に、ＰＣ１が備える制御部１１により実行されるファームウェア更新処理の処理手順を、図３に基づいて説明する。本処理は、プリンタ２Ａ〜２Ｅのファームウェアを更新するにあたって、最小動作数（本実施形態においては２台）以上のプリンタを印刷可能な状態としてファームウェアを更新する処理である。
【００６０】
本処理は、ＰＣ１がファームウェア更新用のファームウェアを取得した状態で、自動的に又はユーザの入力指示にしたがって開始される。なお更新用のファームウェアは、ファームウェアを配信する機能を備えるサーバから最新のファームウェアをダウンロードしたり、ＣＤ等のメディアからファームウェアを読み取ることで取得する。
【００６１】
このファームウェア更新処理では、まず、ＰＣ１と接続されているプリンタの中から、ファームウェアの更新を実行するプリンタを決定する（Ｓ１０）。具体的には、ＰＣ１が取得した更新用のファームウェアが、各プリンタ２Ａ〜２Ｅに搭載されているファームウェアよりも高バージョンであるか否かを判断し、高バージョンであれば、そのプリンタを、更新を実行するプリンタとして決定する。本実施形態では全てのプリンタ２Ａ〜２Ｅを、更新を実行するプリンタとする。
【００６２】
次に、記憶部１２に記憶されているステータス情報（図２（ａ）〜（ｄ）参照）を参照して、更新の優先順位を確認する（Ｓ２０）。
【００６３】
次に、更新を実行するか否かに関わらずＬＡＮ５に接続されている全てのプリンタの印刷状態を取得する（Ｓ３０）。ここでは、各プリンタ２Ａ〜２Ｅに対して、プリンタが正常であるか否かを示す情報の要求を行い、各プリンタ２Ａ〜２Ｅから提供される正常・異常のいずれかを表す情報を取得する。取得した情報は、上述したステータス情報における「印刷状態」の項目に「正常」，「異常」のいずれかとして設定される。このときのステータス情報の例を図２（ａ）に示す。本実施例では、プリンタＢのみが異常となっており、トナー切れ、用紙切れ、その他の異常などの理由により印刷処理が実行できない状態となっている。
【００６４】
続くＳ４０〜Ｓ１１０の処理においては、プリンタ２Ａ〜２Ｅから優先順位にしたがってプリンタを順次選択し、ファームウェアの更新を行うか更新保留と設定するかを判断する。
【００６５】
ここでは、まず、変数ｎをｎ＝１に設定する（Ｓ４０）。次に、優先順位がｎ番目のプリンタの他に、動作可能なプリンタが２台以上存在するか否かを判断する（Ｓ５０）。具体的には、ステータス情報を参照し、「印刷状態」の項目が「正常」となっており、かつ「更新状態」の項目が「更新中」となっていない（「更新設定前」，「更新保留中」のいずれかとなっている）プリンタの数をカウントする。
【００６６】
他に動作可能なプリンタが２台以上存在するならば（Ｓ５０：ＹＥＳ）、当該プリンタのファームウェアの更新を開始し（Ｓ６０）、ステータス情報における当該プリンタ（即ち、優先順位がｎ番目のプリンタ）の「更新状態」の項目を「更新中」に設定する（Ｓ７０）。その後、処理がＳ１００に移行する。
【００６７】
一方、Ｓ５０にて、動作可能なプリンタが１台以下しか存在しなければ（Ｓ５０：ＮＯ）、当該プリンタが正常であるか否かを判断する（Ｓ８０）。ここでは、ステータス情報を参照し、「印刷状態」の項目が「正常」，「異常」のいずれであるかを判断する。「異常」であれば（Ｓ８０：ＮＯ）、処理がＳ６０に移行する。「正常」であれば（Ｓ８０：ＹＥＳ）、ステータス情報における当該プリンタの「更新状態」の項目を「更新保留中」に設定する（Ｓ９０）。
【００６８】
Ｓ７０またはＳ９０の後、変数ｎをインクリメント（ｎ＝ｎ＋１）し（Ｓ１００）、変数ｎが更新を実行するプリンタの数以下ならば（Ｓ１１０：ＹＥＳ）、即ち次に優先順位の高いプリンタが存在していれば、処理がＳ５０に戻る。
【００６９】
また、Ｓ１１０において、変数ｎが更新を実行するプリンタの数を超えていれば（Ｓ１１０：ＮＯ）、処理がＳ１２０に移行する。
【００７０】
このようにＳ４０〜Ｓ１１０の処理を繰り返すと、図２（ｂ）に示すように、更新を行うべきプリンタの「更新状態」は「更新中」または「更新保留中」に設定されており、すべてのプリンタに対する更新判断が一通り行われている。なお、本実施形態では、優先順位の低いプリンタＤ，Ｅの２台が更新保留中となって印刷処理を実行可能な状態を維持する。
【００７１】
続くＳ１２０〜Ｓ１５０の処理においては、ステータス情報に基づき、「更新状態」の項目が「更新終了」となり、かつ「印刷状態」の項目が「正常」となったプリンタが新たに存在するようになったことを検出する。
【００７２】
ここでは、まず、プリンタ２Ａ〜２Ｅのいずれかから、ファームウェアの更新が終了した通知を受信したか否かを判断する（Ｓ１２０）。上記通知を受信していれば（Ｓ１２０：ＹＥＳ）、ステータス情報における更新を終了したプリンタの「更新状態」の項目を「更新終了」に設定し（Ｓ１３０）、処理がＳ１４０に移行する。一方、上記通知を受信していなければ（Ｓ１２０：ＮＯ）、Ｓ１３０を実行せずに処理がＳ１４０に移行する。
【００７３】
次に、全てのプリンタの印刷状態を取得する（Ｓ１４０）。ここでは、上記Ｓ３０と同様の処理を実行する。
【００７４】
次に、新たに印刷処理の実行が可能となったプリンタが存在するか否かを判断する（Ｓ１５０）。具体的には、ステータス情報が「更新終了」かつ「正常」と設定されているプリンタの中で、直前のＳ１３０にて「更新終了」に変更されたプリンタ、または直前のＳ１４０にて「正常」に変更されたプリンタが存在すれば、そのプリンタを新たに印刷処理の実行が可能となったプリンタと判断する。
【００７５】
上述したプリンタが存在しなければ（Ｓ１５０：ＮＯ）、処理がＳ１２０に戻る。一方、上述したプリンタが存在していれば（Ｓ１５０：ＹＥＳ）、処理がＳ１６０に移行する。
【００７６】
次に、Ｓ１５０にて新たに印刷処理が実行可能となったと判断されたプリンタの更新が、正常に終了したか否かを確認する（Ｓ１６０）。
【００７７】
更新が正常に終了したことを確認できなければ（Ｓ１６０：ＮＯ）、処理がＳ２２０に移行する。一方、更新が正常に終了したことを確認できれば（Ｓ１６０：ＹＥＳ）、プリンタに動作確認を実行させる（Ｓ１７０）。
【００７８】
Ｓ１７０にてプリンタが正常に動作することを確認できなければ（Ｓ１８０：ＮＯ）、処理がＳ２２０に移行する。一方、プリンタが正常に動作することを確認できれば（Ｓ１８０：ＹＥＳ）、処理がＳ１９０に移行する。
【００７９】
次に、ステータス情報を参照し、更新保留中のプリンタが存在しなければ（Ｓ１９０：ＮＯ）、本処理を終了する。一方、更新保留中のプリンタが存在すれば（Ｓ１９０：ＹＥＳ）、更新保留中のプリンタのうち、最も優先順位の高いプリンタの更新を開始する（Ｓ２００）。
【００８０】
次に、当該プリンタの更新状態を「更新中」に設定し（Ｓ２１０）、その後、処理がＳ１２０に戻る。このときのステータス情報を図２（ｃ），（ｄ）に示す。図２（ｃ）は、もともと「印刷状態」が「正常」であったプリンタＡが「更新終了」となったことを受けて、プリンタＤの更新が開始された状態を示しており、図２（ｄ）は、プリンタＢの「印刷状態」が「正常」および「更新終了」となったことを受けて、プリンタＥの更新が開始された状態を示している。
【００８１】
上記Ｓ１６０において更新が正常に終了したと確認できない場合（Ｓ１６０：ＮＯ）、および、Ｓ１８０にてプリンタの正常な動作が確認できない場合（Ｓ１８０：ＮＯ）には、以下Ｓ２２０〜Ｓ２５０の処理にてファームウェアの更新を中断し、前バージョンのファームウェアに更新する処理を行う。
【００８２】
まず、更新保留中のプリンタが存在するか否かを、ステータス情報を参照して確認する（Ｓ２２０）。更新保留中のプリンタが存在すれば（Ｓ２２０：ＹＥＳ）、それらの更新保留を解除し（Ｓ２３０）、処理がＳ２４０に移行する。更新保留中のプリンタが存在しなければ（Ｓ２２０：ＮＯ）、Ｓ２３０を実行せず、処理がＳ２４０に移行する。
【００８３】
次に、更新中のプリンタが存在するか否かを、ステータス情報を参照して確認する（Ｓ２４０）。更新中のプリンタが存在すれば（Ｓ２４０：ＹＥＳ）、それらの更新を停止し、記憶部１２に記憶される前バージョンのファームウェアにて再更新し（Ｓ２５０）、その後、処理がＳ２６０に移行する。更新中のプリンタが存在しなければ（Ｓ２４０：ＮＯ）、処理がＳ２６０に移行する。
【００８４】
次に、更新の失敗をユーザに警告する（Ｓ２６０）。具体的には、表示部１４にファームウェアの更新を失敗した旨を表示する。その後、本処理を終了する。
（３）印刷先設定処理
以下に、ＰＣ１が備える制御部１１により実行される印刷先設定処理の処理手順を、図４に基づいて説明する。本処理は、ＰＣ１がプリンタ２Ａ〜２Ｅのいずれかに印刷要求を行ったとき、要求されたプリンタがファームウェアの更新を行っている場合には、異なるプリンタにその印刷要求の要求先を変更する処理である。本処理は、印刷要求があったときに開始される。
【００８５】
本処理では、まず、いずれかのプリンタに向けて出力される印刷要求の対象となる印刷データを取得する（Ｓ３１０）。この印刷データは、ＰＣ１が備えるソフトウェアが生成したデータであってもよいし、ＰＣ１と通信可能に接続された端末装置からＰＣ１が取得したデータであってもよい。
【００８６】
次に、印刷が要求されたプリンタの状態を確認する（Ｓ３２０）。ここでは、印刷データに含まれるヘッダ情報を解析して要求先のプリンタを特定し、記憶部１２に記憶されるステータス情報を参照して当該プリンタの印刷状態および更新状態を確認する。
【００８７】
次に、印刷が要求されたプリンタが動作可能であるか否かを判断する（Ｓ３３０）。具体的には、Ｓ３２０で確認した結果、プリンタの「印刷状態」が「正常」かつ「更新状態」が「更新中」であれば、プリンタが動作可能であると判断する。一方、プリンタの「印刷状態」が「正常」かつ「更新状態」が「更新中」以外の場合は動作可能ではないと判断する。プリンタが動作可能であれば（Ｓ３３０：ＹＥＳ）、処理がＳ３７０に移行する。一方、プリンタが動作可能でなければ（Ｓ３３０：ＮＯ）、ＰＣ１と通信可能に接続している全てのプリンタの印刷状態を取得する（Ｓ３４０）。ここでは、上記ファームウェア更新処理のＳ３０と同様の処理を行う。
【００８８】
次に、印刷処理を行うプリンタの優先順位が決定されているか否かを判断する（Ｓ３５０）。ここでは、ステータス情報における「更新時印刷優先順位」の項目に登録があるか否かを判断する。
【００８９】
プリンタの優先順位が決定されていれば（Ｓ３５０：ＹＥＳ）、印刷処理を実行可能、即ち、ステータス情報が「正常」であって「更新中」でないプリンタのうち、最も優先順位の高いプリンタを印刷対象のプリンタとして設定する（Ｓ３６０）。そして、そのプリンタに印刷要求を行い（Ｓ３７０）、本処理を終了する。
【００９０】
一方、Ｓ３５０において、印刷処理を行うプリンタの優先順位が決定されていなければ（Ｓ３５０：ＮＯ）、ユーザに印刷を実行するプリンタの選択を促す（Ｓ３８０）。具体的には、表示部１４に、印刷を要求したプリンタはファームウェアの更新中であるため印刷処理が実行できない旨と、代わりに印刷処理を行わせるプリンタの選択を要求する旨を表示し、ユーザに入力部１３を用いたプリンタの選択操作を行わせる。
【００９１】
次に、ユーザにて選択されたプリンタを印刷対象のプリンタに設定し（Ｓ３９０）、その後、そのプリンタに印刷要求を行い（Ｓ３７０）、本処理を終了する。
（４）発明の効果
このように構成されたデバイス管理システムでは、ＰＣ１に接続している各プリンタ２Ａ〜２Ｅのファームウェアを更新する際に、印刷処理を実行可能な上記プリンタのうち２台については更新を保留し、その他のプリンタについては更新を開始する。
【００９２】
そして、いずれかのプリンタの更新が終了して印刷処理が実行可能となったときに、更新を保留したデバイスの更新を開始する。
【００９３】
したがって、プリンタ２Ａ〜２Ｅのファームウェア更新にあたって、２台以上（初めから１台のプリンタのみ印刷処理が可能な状態であった場合には、１台以上）のプリンタを印刷処理が実行可能な状態に維持できるため、プリンタの更新を開始することにより印刷処理を実行可能なプリンタが存在しないといった状況が発生しなくなり、ユーザが印刷処理を行いたい場合にプリンタのファームウェア更新が終了するまで待つ必要がなく、ファームウェアの更新に伴うプリンタの利用の制限を低減することができる。
【００９４】
また、更新を保留されないプリンタについては、すぐに更新を行うことができるため、１つずつ順番にプリンタの更新を実行する場合よりも早く全てのプリンタの更新を完了させることができる。
【００９５】
また、上記デバイス管理システムでは、あるプリンタのファームウェアの更新が終了したとき、その更新が正常に終了したことと、そのプリンタが正常に印刷処理を実行可能であることを条件に、更新保留中のプリンタの更新を開始する。
【００９６】
したがって、更新を終了したプリンタが印刷処理を可能な状態でなくなったにも拘らず更新を保留していたプリンタの更新を開始してしまい、それにより印刷処理を実行できるプリンタが存在しなくなってしまうことを抑制できる。
【００９７】
また、更新が正常に終了しない場合や、更新後のプリンタが正常に動作しない場合には、該当するファームウェアの更新を中断する。
【００９８】
したがって、更新後に正常に動作しないプリンタが発生したにも拘らず他のプリンタの更新を継続し、それにより印刷処理が不能となるプリンタが増加することを抑制できる。
【００９９】
また、上記デバイス管理システムでは、設定された優先順位が上位であるプリンタから更新を行う。したがって、ユーザが所望するプリンタから更新を行わせることができる。例えば、動作不良を発生させたくない（例えば頻繁に使用する）デバイスの優先順位を下位に設定しておけば、優先順位が上位のプリンタにおいて更新に起因する動作不良がないことを確認した後に、上位のプリンタの更新を開始することができる。
【０１００】
また、上記デバイス管理システムでは、更新中のプリンタに対して行われた印刷処理の要求を、別の更新中でないプリンタに対して行う。したがって、最初の要求先のプリンタが更新中であっても、その更新が終了するまで待つ必要がなく、印刷処理を迅速に実行させることができる。なお、上記印刷処理の設定は、更新中でないプリンタのうち、設定された優先順位が上位であるプリンタに対して要求を行う。したがって、ユーザが印刷処理を実行させたい優先順位が上位のプリンタに対して印刷処理を実行させることができる。
（５）変形例
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
【０１０１】
例えば、上記実施形態においては、ＰＣ１に接続しているプリンタのうち、ファームウェアの更新を保留することで印刷処理が可能な状態を維持する台数（最小動作数）が２台に設定されている構成を例示したが、最小動作数はプリンタ全体の数や印刷作業の負荷に応じて適宜定めることができる。
【０１０２】
また、上記実施形態のファームウェア更新処理では、Ｓ３０において確認する正常なプリンタの数が０台である場合、全てのプリンタの更新が開始されることとなる。この場合、ファームウェアの更新を迅速に行うことは可能となるが、全てのプリンタの更新を開始した後に、用紙の補充等により異常な状態を解消したプリンタが存在することとなっても、ファームウェアの更新作業のため印刷処理を実行することができず、待ち時間が発生してしまう可能性がある。
【０１０３】
そこで、任意の所定台数（例えば、１台や最小動作数）のプリンタの印刷状態「正常」であること、即ち印刷処理を実行可能であることを、ファームウェア更新処理を開始する条件として構成してもよい。
【０１０４】
また、上記以外には、ファームウェア更新処理において、Ｓ３０において確認する正常なプリンタの数が０台である場合には、全てのプリンタを更新保留と設定し、印刷処理が実行可能なプリンタが所定台数存在することとなった時点で、そのプリンタを除く全てのプリンタの更新を開始する構成としてもよい。所定台数を１台としたときのファームウェア更新処理のフローチャートを図５に示す。
【０１０５】
Ｓ３０にて取得したプリンタの状態に基づいて、印刷処理を実行可能な台数（即ち、ステータス情報における「印刷状態」の項目が「正常」と設定されているプリンタの数）をカウントし、０台であれば（Ｓ３２：ＹＥＳ）、全てのプリンタを更新保留に設定する（Ｓ３４）。そして印刷処理を実行可能なプリンタが１台になるまで待機し（Ｓ３６：ＮＯ）、印刷処理を実行可能なプリンタが１台存在することとなった場合に（Ｓ３６：ＹＥＳ）、そのプリンタを除くプリンタの更新を開始し（Ｓ３８）、処理がＳ１２０に移行する。
【０１０６】
このように構成することで、正常なプリンタの数が０台であった場合に、全てのプリンタの更新を完了するまでに掛かる時間は長くなるものの、いずれかのプリンタにて印刷不能な状況を改善したときにすぐ印刷処理を実行できるようになる。
【０１０７】
また、ＰＣ１と接続しているプリンタのうち、ファームウェアの更新の必要がなく、かつ印刷処理が可能なプリンタ（以降、他プリンタ、という。）が存在する場合、他プリンタの台数を最小動作数から減算してファームウェア更新処理を行う構成としてもよい。例えば最小動作数が２台である場合であって、他プリンタが１台存在するときは、最小動作数を１台として処理を実行するとよい。ファームウェア更新処理では、Ｓ５０における台数判断の数を減算して処理すればよい。
【０１０８】
このように構成することで、必要以上に多くのプリンタを印刷可能に維持することなく、迅速にファームウェアの更新を行うことができる。
【０１０９】
また、上記実施形態においては、ＰＣ１と接続されたプリンタのファームウェアを更新する構成を例示したが、ＰＣ１などの情報処理装置と通信可能に接続されるデバイスであれば、その対象はプリンタに限定されない。例えば、ＦＡＸ，スキャナ，またはそれらの機能を備える複合機などをファームウェア更新の対象デバイスとすることが考えられる。
【符号の説明】
【０１１０】
１…パーソナルコンピュータ（ＰＣ）、２Ａ〜２Ｅ…プリンタ、１１…制御部、１２…記憶部、１３…入力部、１４…表示部、１５…ネットワークインターフェイス、２１…制御部、２２…記憶部、２３…操作部、２４…表示部、２５…ネットワークインターフェイス、２６…印刷部
【図１】
2010170496.tif 000003
【図２】
2010170496.tif 000004
【図３】
2010170496.tif 000005
【図４】
2010170496.tif 000006
【図５】
2010170496.tif 000007