(57)【特許請求の範囲】
【請求項１】
電子機器と通信可能に接続する接続手段を有し、該接続手段によって接続される電子機器を管理する管理装置であって、
ソフトウェア情報およびライセンス情報を記憶する記憶手段と、
前記電子機器に導入されたソフトウェアの情報を、該電子機器から定期的に取得する情報取得手段と、
該情報取得手段によって取得したソフトウェア情報と前記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知手段と、
該差異検知手段によって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知手段と、
前記情報取得手段によって取得したソフトウェア情報によって前記記憶手段内の対応するソフトウェア情報を更新する情報更新手段と、
前記ユーザからのソフトウェア構成の変更要求を検知する要求検知手段と、
該要求検知手段によってソフトウェア構成の変更要求を検知した場合に、前記記憶手段内の対応するライセンス情報を利用して、前記電子機器へソフトウェア構成の変更を要求する変更要求手段と、
該変更要求手段による要求の結果を前記ユーザに対して通知する要求結果通知手段とを設けたことを特徴とする管理装置。
【請求項２】
請求項１に記載の管理装置において、
前記接続手段は、前記電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバと通信可能に接続する手段を有し、
前記要求検知手段は、前記ユーザからのソフトウェア構成の変更要求を検知する際に、該ユーザからの指定情報を検知する手段を有し、
前記情報取得手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのアクティベート要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトキーが検知された場合に、該機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記要求検知手段によって検知されたプロダクトキーと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求するライセンスファイル要求手段と、
該ライセンスファイル要求手段の要求に対して、前記ライセンス管理サーバから発行されたライセンスファイルを取得するライセンスファイル取得手段とを設け、
前記変更要求手段は、前記ライセンスファイル取得手段によって取得したライセンスファイルを前記要求検知手段によって検知された機器指定情報が示す電子機器へ送信し、ソフトウェアのアクティベートを要求する手段を有し、
前記情報更新手段は、前記要求検知手段によって検知されたプロダクトキーを前記記憶手段内の対応するライセンス情報に追加する手段を有することを特徴とする管理装置。
【請求項３】
請求項２に記載の管理装置において、
前記変更要求手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトＩＤが検知された場合に、該プロダクトＩＤを該機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を有し、
前記情報取得手段は、前記要求検知手段によってソフトウェアのディアクティベート要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトＩＤと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスの返却を要求するライセンス返却要求手段を設け、
前記情報更新手段は、前記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトＩＤと前記情報取得手段によって取得した機器固有情報に対応するプロダクトキーを前記記憶手段内の対応するライセンス情報から削除する手段を有することを特徴とする管理装置。
【請求項４】
請求項３に記載の管理装置において、
前記変更要求手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート取り消し要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトＩＤが検知された場合に、該機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記要求検知手段によってソフトウェアのディアクティベート取り消し要求と共に検知されたプロダクトＩＤと前記情報取得手段によって取得した機器固有情報に基づいて、前記記憶手段内の対応するライセンス情報からプロダクトキーを読み込むプロダクトキー読み込み手段を設け、
前記ライセンスファイル要求手段は、前記プロダクトキー読み込み手段によって読み込んだプロダクトキーと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求する手段を有することを特徴とする管理装置。
【請求項５】
請求項３又は４に記載の管理装置において
前記変更要求手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのアクティベート取り消し要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトＩＤが検知された場合に、該プロダクトＩＤを該機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を有し、
前記情報取得手段は、前記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記ライセンス返却要求手段は、前記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知されたプロダクトＩＤと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスの返却を要求する手段を有することを特徴とする管理装置。
【請求項６】
請求項３乃至５のいずれか一項に記載の管理装置において、
前記記憶手段内のライセンス情報は、少なくともプロダクトキーと有効期限とからなり、
現在の時刻を取得する時刻取得手段と、
該時刻取得手段によって取得した現在の時刻と前記有効期限とを比較する比較手段と、
該比較手段による比較の結果、前記有効期限を経過しているプロダクトキーに対応するライセンス情報を前記記憶手段から削除する情報削除手段とを設けたことを特徴とする管理装置。
【請求項７】
請求項６に記載の管理装置と通信可能に接続する接続手段を有し、該接続手段によって接続される管理装置と通信可能な電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバであって、
プロダクトキー，プロダクトＩＤ，有効期限，未発行ライセンス数，発行済みライセンス数，および前記電子機器の機器固有情報からなるライセンス情報を記憶する記憶手段と、
前記管理装置からライセンスファイルの発行要求と共にプロダクトキーと機器固有情報とを受信した場合に、該プロダクトキーと該機器固有情報とに基づいて、前記ライセンス情報記憶手段内の対応するプロダクトＩＤ，機器固有情報，有効期限を含むライセンスファイルを作成して前記管理装置へ送信し、前記記憶手段内の対応する前記未発行ライセンス数を１つ減らすと共に、対応する前記発行済みライセンス数を１つ増やすライセンスファイル発行手段と、
前記管理装置から前記ライセンスの返却要求と共にプロダクトＩＤと機器固有情報とを受信した場合に、前記記憶手段内の対応する未発行ライセンス数を１つ増やすと共に、対応する発行済みライセンス数を１つ減らすライセンス返却手段とを設けたことを特徴とするライセンス管理サーバ。
【請求項８】
請求項３乃至６のいずれか一項に記載の管理装置と通信可能に接続する接続手段を有し、該接続手段によって接続される管理装置によって管理される電子機器であって、
当該電子機器の機器固有情報を記憶する記憶手段と、
前記管理装置から機器固有情報取得要求を受信した場合に、前記記憶手段内の前記機器固有情報を前記管理装置へ通知する機器固有情報通知手段と、
前記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と前記記憶手段内の前記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、
該機器固有情報判定手段による判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたことを特徴とする電子機器。
【請求項９】
請求項３乃至６のいずれか一項に記載の管理装置と、該管理装置と通信可能に接続する接続手段を有し、該接続手段によって接続される管理装置によって管理される電子機器とを備えた電子機器管理システムであって、
前記電子機器に、
前記管理装置から機器固有情報取得要求を受信した場合に、前記記憶手段内の前記機器固有情報を前記管理装置へ通知する機器固有情報通知手段と、
前記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と前記記憶手段内の前記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、
該機器固有情報判定手段による判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたことを特徴とする電子機器管理システム。
【請求項１０】
電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを有し、前記接続手段によって接続される電子機器を管理する管理装置における管理方法であって、
前記電子機器に導入されたソフトウェアの情報を、該電子機器から定期的に取得する情報取得工程と、
該情報取得工程によって取得したソフトウェア情報と前記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知工程と、
該差異検知工程によって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知工程と、
前記情報取得工程によって取得したソフトウェア情報によって前記記憶手段内の対応するソフトウェア情報を更新する情報更新工程と、
前記ユーザからのソフトウェア構成の変更要求を検知する要求検知工程と、
該要求検知工程によってソフトウェア構成の変更要求を検知した場合に、前記記憶手段内の対応するライセンス情報を利用して、前記電子機器へソフトウェア構成の変更を要求する変更要求工程とを有することを特徴とする管理方法。
【請求項１１】
電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを有し、前記接続手段によって接続される電子機器を管理する管理装置を制御するコンピュータに、
前記電子機器に導入されたソフトウェアの情報を、該電子機器から定期的に取得する情報取得機能と、
該情報取得機能によって取得したソフトウェア情報と前記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知機能と、
該差異検知機能によって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知機能と、
前記情報取得機能によって取得したソフトウェア情報によって前記記憶手段内の対応するソフトウェア情報を更新する情報更新機能と、
前記ユーザからのソフトウェア構成の変更要求を検知する要求検知機能と、
該要求検知機能によってソフトウェア構成の変更要求を検知した場合に、前記記憶手段内の対応するライセンス情報を利用して、前記電子機器へソフトウェア構成の変更を要求する変更要求機能とを実現させるためのプログラム。
【請求項１２】
請求項１１に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信可能な画像読取装置（スキャナ装置等），画像形成装置（デジタル複合機，デジタル複写機，ファクシミリ装置，プリンタ装置等），パーソナルコンピュータ，車載情報処理装置等の情報処理装置を含む各種の電子機器、それを管理する管理装置、上記電子機器で特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバ、上記電子機器と管理装置とを備えた電子機器管理システム、上記管理装置における管理方法、その管理装置を制御するコンピュータに必要な機能（この発明に係わる機能）を実現させるためのプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
例えば、上記のような情報処理装置に導入されるソフトウェアには、ハードウェアの基本的な制御を行うファームウェアや、その情報処理装置の機能を提供するプラグイン（小さなプログラム）などがある。ソフトウェアをファームウェアやプラグインとして提供することで、容易にソフトウェアの追加／更新／削除などを実現することができる。また、情報処理装置に組み込まれた各プラグインを、「アクティベート（ライセンスが適用）されると利用できるようになり、ディアクティベート（ライセンスが解除）されると利用できなくなる」とすることで、プラグイン単位で利用可能な機能を制限することもできる。以後、ソフトウェアの追加／更新／削除／アクティベート／ディアクティベートなどを総称して、「ソフトウェア構成の変更」又は「ソフトウェアの変更」，又は「ソフトウェアの更新」と呼ぶ。
【０００３】
ところで、情報処理装置のソフトウェア構成を変更するためには、ネットワークを介して情報処理装置と接続可能な管理装置を設置し、その管理装置からソフトウェア構成の変更を要求するシステムが考えられる。このようなシステムとしては、管理装置が、各情報処理装置に導入されたソフトウェアのバージョンを定期的に確認し、バージョンが最新でない場合には、ソフトウェアの更新を行うことで、バージョンを最新に保つことができる情報処理装置管理システムが既に知られている。
【０００４】
しかし、このような従来の情報処理装置管理システムでは、ソフトウェアのバージョンを最新に保つことはできるが、「管理装置以外から意図せぬソフトウェア構成の変更が行われたとき、管理装置がその変更を検知してリカバリーすることができない」という問題があった。管理装置以外からの意図せぬ変更とは、例えば情報処理装置の操作部から誤ってソフトウェアの追加／更新／削除／アクティベート／ディアクティベートなどを行ってしまうことである。管理装置が情報処理装置に導入されたソフトウェアのバージョンを確認するだけでは、このようなソフトウェア構成の変更を検知できない。
【０００５】
そこで、その問題を解消するため、特許文献１に開示されている技術を利用することが考えられる。
特許文献１には、画像形成装置のファームウェア更新の手間と時間を省く目的で、ネットワークを介して画像形成装置を管理する画像形成装置管理システムについて開示されている。このシステムでは、管理装置（クライアント）が画像形成装置へ現在のバージョンの送信要求を行い、それに対して画像形成装置が現在のバージョンを返し、管理装置がそのバージョンと外部記録装置に記録されているファームウェアのバージョンとを比較することにより、最新バージョンであるか否かを判定し、最新バージョンでなかった場合に、最新バージョンのファームウェアを外部記録装置から読み込んで画像形成装置へ送信し、そのファームウェアを受信した画像形成装置が、ファームウェアを最新バージョンに更新する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載のものでも、管理装置以外から意図せぬソフトウェア構成の変更が行われたとき、管理装置がその変更を検知してリカバリーすることができない」という欠点は解消できていない。
この発明は、上記の点に鑑みてなされたものであり、管理装置と接続可能な電子機器において、管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーできるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明は、上記の目的を達成するため、以下に示す管理装置、ライセンス管理サーバ、電子機器、その電子機器と上記管理装置とを備えた電子機器管理システム、上記管理装置における管理方法、上記管理装置を制御するコンピュータに実行させるプログラム，およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【０００８】
この発明による管理装置は、電子機器と通信可能に接続する接続手段を備え、それによって接続される電子機器を管理する管理装置であって、ソフトウェア情報およびライセンス情報を記憶する記憶手段と、上記電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得する情報取得手段と、それによって取得したソフトウェア情報と上記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知手段と、それによって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知手段と、上記情報取得手段によって取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新する情報更新手段と、上記ユーザからのソフトウェア構成の変更要求を検知する要求検知手段と、それによってソフトウェア構成の変更要求を検知した場合に、上記記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求する変更要求手段と、それによる要求の結果を上記ユーザに対して通知する要求結果通知手段とを設けたものである。
【０００９】
なお、以下の（１）〜（５）に示すようにするとよい。
（１）上記接続手段に、上記電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバと通信可能に接続する手段を備え、上記要求検知手段に、上記ユーザからのソフトウェア構成の変更要求を検知する際に、そのユーザからの指定情報を検知する手段を備え、上記情報取得手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェア（プラグイン等）のアクティベート要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトキーが検知された場合に、その機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記要求検知手段によって検知されたプロダクトキーと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求するライセンスファイル要求手段と、その要求に対して、上記ライセンス管理サーバから発行されたライセンスファイルを取得するライセンスファイル取得手段とを設け、上記変更要求手段に、上記ライセンスファイル取得手段によって取得したライセンスファイルを上記要求検知手段によって検知された機器指定情報が示す電子機器へ送信し、ソフトウェアのアクティベートを要求する手段を備え、上記情報更新手段に、上記要求検知手段によって検知されたプロダクトキーを上記記憶手段内の対応するライセンス情報に追加する手段を備える。
【００１０】
（２）（１）に示した構成に加え、上記変更要求手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトＩＤが検知された場合に、そのプロダクトＩＤをその機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を備え、上記情報取得手段に、上記要求検知手段によってソフトウェアのディアクティベート要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトＩＤと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスの返却を要求するライセンス返却要求手段を設け、上記情報更新手段に、上記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトＩＤと上記情報取得手段によって取得した機器固有情報に対応するプロダクトキーを上記記憶手段内の対応するライセンス情報から削除する手段を備える。
【００１１】
（３）（２）に示した構成に加え、上記変更要求手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート取り消し要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトＩＤが検知された場合に、その機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記要求検知手段によってソフトウェアのディアクティベート取り消し要求と共に検知されたプロダクトＩＤと上記情報取得手段によって取得した機器固有情報に基づいて、上記記憶手段内の対応するライセンス情報からプロダクトキーを読み込むプロダクトキー読み込み手段を設け、上記ライセンスファイル要求手段に、上記プロダクトキー読み込み手段によって読み込んだプロダクトキーと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求する手段を備える。
【００１２】
（４）（２）又は（３）に示した構成に加え、上記変更要求手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェアのアクティベート取り消し要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトＩＤが検知された場合に、そのプロダクトＩＤをその機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を備え、上記情報取得手段に、上記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記ライセンス返却要求手段に、上記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知されたプロダクトＩＤと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスの返却を要求する手段を備える。
【００１３】
（５）（２）〜（４）のいずれかに示した構成に加え、上記記憶手段内のライセンス情報を、少なくともプロダクトキーと有効期限とによって構成し、現在の時刻を取得する時刻取得手段と、それによって取得した現在の時刻と上記有効期限とを比較する比較手段と、その比較の結果、上記有効期限を経過しているプロダクトキーに対応するライセンス情報を上記記憶手段から削除する情報削除手段とを設ける。
【００１４】
この発明によるライセンス管理サーバは、（５）に示した構成を加えた管理装置と通信可能に接続する接続手段を供え、それによって接続される管理装置と通信可能な電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバであって、プロダクトキー，プロダクトＩＤ，有効期限，未発行ライセンス数，発行済みライセンス数，および上記電子機器の機器固有情報からなるライセンス情報を記憶する記憶手段と、上記管理装置からライセンスファイルの発行要求と共にプロダクトキーと機器固有情報とを受信した場合に、そのプロダクトキーとその機器固有情報とに基づいて、上記ライセンス情報記憶手段内の対応するプロダクトＩＤ，機器固有情報，有効期限を含むライセンスファイルを作成して上記管理装置へ送信し、上記記憶手段内の対応する上記未発行ライセンス数を１つ減らすと共に、対応する上記発行済みライセンス数を１つ増やすライセンスファイル発行手段と、上記管理装置から上記ライセンスの返却要求と共にプロダクトＩＤと機器固有情報とを受信した場合に、上記記憶手段内の対応する未発行ライセンス数を１つ増やすと共に、対応する発行済みライセンス数を１つ減らすライセンス返却手段とを設けたものである。
【００１５】
この発明による電子機器は、（２）〜（５）のいずれかに示した構成を加えた管理装置と通信可能に接続する接続手段を備え、それによって接続される管理装置によって管理される電子機器であって、その電子機器の機器固有情報を記憶する記憶手段と、上記管理装置から機器固有情報取得要求を受信した場合に、上記記憶手段内の上記機器固有情報を上記管理装置へ通知する機器固有情報通知手段と、上記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と上記記憶手段内の上記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、その判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたものである。
【００１６】
この発明による電子機器管理システムは、（２）〜（５）のいずれかに示した構成を加えた管理装置と、その管理装置と通信可能に接続する接続手段を備え、それによって接続される管理装置によって管理される電子機器とを備えた電子機器管理システムであって、上記電子機器に、上記管理装置から機器固有情報取得要求を受信した場合に、上記記憶手段内の上記機器固有情報を上記管理装置へ通知する機器固有情報通知手段と、上記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と上記記憶手段内の上記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、それによる判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたものである。
【００１７】
この発明による管理方法は、電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを備え、上記接続手段によって接続される電子機器を管理する管理装置における管理方法であって、上記電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得する情報取得工程と、それによって取得したソフトウェア情報と上記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知工程と、それによって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知工程と、上記情報取得工程によって取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新する情報更新工程と、上記ユーザからのソフトウェア構成の変更要求を検知する要求検知工程と、それによってソフトウェア構成の変更要求を検知した場合に、上記記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求する変更要求工程とを有するものである。
【００１８】
この発明によるプログラムは、電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを備え、上記接続手段によって接続される電子機器を管理する管理装置を制御するコンピュータに、上記電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得する情報取得機能と、それによって取得したソフトウェア情報と上記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知機能と、それによって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知機能と、上記情報取得機能によって取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新する情報更新機能と、上記ユーザからのソフトウェア構成の変更要求を検知する要求検知機能と、それによってソフトウェア構成の変更要求を検知した場合に、上記記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求する変更要求機能とを実現させるためのプログラムである。
この発明による記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１９】
この発明によれば、管理装置が、ソフトウェア情報およびライセンス情報を記憶する記憶手段を備え、自己と通信可能な電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得し、その取得したソフトウェア情報と記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知すると共に、上記取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新した後、上記ユーザからのソフトウェア構成の変更要求を検知した場合に、記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求し、その要求の結果を上記ユーザに対して通知することにより、電子機器において管理装置以外から意図せぬソフトウェア構成の変更があった場合に、そのソフトウェア構成を変更前の状態に戻すことができる。つまり、電子機器において管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーすることができる。
【図面の簡単な説明】
【００２０】
【図１】この発明による管理装置を含む電子機器管理システムの一実施形態である情報処理装置管理システムのネットワーク構成例を示す概念図である。
【図２】図１の管理装置１０２のハードウェア構成例を示すブロック図である。
【図３】図１の情報処理装置１０１から取得できるソフトウェア情報の一例を示す説明図である。
【図４】図１のライセンス管理サーバ１０４で保持されるライセンス管理情報の一例を示す説明図である。
【図５】図１のライセンス管理サーバ１０４が発行するライセンスファイルの形式の一例を示す説明図である。
【図６】図１のライセンス管理サーバ１０４で保持されるライセンス管理情報の更新例を示す説明図である。
【図７】図１の管理装置１０２の記憶装置２０３で記憶されるライセンス情報の一例を示す説明図である。
【００２１】
【図８】図１に示した情報処理装置管理システム内で定期的に行う動作シーケンスの一例を示すシーケンス図である。
【図９】図１の管理装置１０２によるソフトウェア情報の比較（Ｓ８０２）の手順の一例を示すフロー図である。
【図１０】図１に示した情報処理装置管理システム内でプラグイン追加要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図１１】同じくプラグイン削除要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図１２】同じくプラグインアクティベート要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図１３】同じくプラグインディアクティベート要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図１４】同じくディアクティベート差し戻し要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図１５】同じくアクティベート差し戻し要求時に行う動作シーケンスの一例を示すシーケンス図である。
【００２２】
【図１６】この発明の第１参考例である画像形成装置管理システムのネットワーク構成例を示す概念図である。
【図１７】図１６の画像形成装置１〜４内の主要なハードウェアおよびソフトウェアの論理的な構成例を示すブロック図である。
【図１８】図１６の画像形成装置１〜４内のハードウェアの構成例を示すブロック図である。
【図１９】図１７に示した画像形成装置１〜４内の各部によるユーザ認証時の動作シーケンスの一例を示すシーケンス図である。
【図２０】図１７に示した画像形成装置１〜４内の各部による修正データ適用時の動作シーケンスの一例を示すシーケンス図である。
【図２１】図１７に示した画像形成装置１〜４内の各部による修正データの適用のための動作シーケンスの他の例を示すシーケンス図である。
【図２２】同じく外部機器からの状態変更の連絡のための動作シーケンスの一例を示すシーケンス図である。
【図２３】同じく外部機器からの修正データの適用のための動作シーケンスの一例を示すシーケンス図である。
【図２４】、図１７に示した画像形成装置１〜４内の各部によるユーザ認証の解除のための動作シーケンスの一例を示すシーケンス図である。
【００２３】
【図２５】図１７の入出力制御部１１および実行プログラム制御部１９等による修正データ適用可否の確認処理の一例を示すフローチャートである。
【図２６】図１８の記憶装置１４およびメモリ２３内のデータを各データの構造例を示す説明図である。
【図２７】図１７の操作パネル１５上における修正可能プログラム検索画面の表示例を示す図である。
【図２８】同じく修正対象プログラム選択画面の表示例を示す図である。
【図２９】同じく適用中画面の表示例を示す図である。
【図３０】同じく認証解除中画面の表示例を示す図である。
【図３１】同じく適用中画面の表示例を示す図である。
【図３２】図１８のメモリ１４上の修正対象プログラムの変更説明に供する説明図である。
【発明を実施するための形態】
【００２４】
この発明を実施するための形態の説明に入る前に、理解の便宜のため、この発明の各参考例について、対応する課題と共に、図１６〜図３２を参照して説明する。
電子機器（機械）で不具合が発生し、例えば、それがファームウェアの問題であった場合、そのファームウェアを構成するプログラムの修正が必要になる。通常は、不具合が発生した後、その問題を解決するためにプログラムのソースコードを調査して、その問題を発見し、その後プログラムを作り直して、機械のファームウェアを更新する。
このとき、２つの課題が発生する。一つは、ソースコードの調査に時間がかかることである。もう一つは、ファームウェアの更新である。
【００２５】
ソースコードレベルの実装上の問題は、たいてい仕様書に書いてないことが多く、複雑なプログラムになればなるほど、問題を特定するのは難しくなる。また、ファームウェア更新においては、サーバ装置や画像形成装置などの入出力装置では、ダウンタイムを気にする場合、機械を一時的に止めることが困難なケースも存在する。
これらの問題は、プログラムを動的に変更（単に「変更」ともいう）する技術によって解決することが可能なことが分かっている。一つ目の問題は、動作中の不具合を持った機械に対して、調査用のプログラムを送りこむことにより、プログラムの動作や変数の値を調査することで問題解決の期間を短縮し、ファームウェアの更新はプログラムを修正（変更）することで、機械を止めることなく不具合を取り除くことができる。
【００２６】
一方、プログラムを変更する技術は、プログラムの一部を置き換える手法である。また、プログラム変更技術を画像形成装置に適用する場合、２つの方法がある。一つは、サーバ装置と画像形成装置とをネットワーク経由で通信可能に接続し、サーバ装置から画像形成装置にプログラムを送り込む方法であり、もう一方は、画像形成装置に外部記録媒体等を用いてプログラムを送り込む方法である。
【００２７】
プログラムの動的な変更を目的とした場合、どちらの手法を用いた場合でもセキュリティ上の課題が出てくる。その課題とは、前者の場合は以下の（ａ）（ｂ）に示す問題、後者の場合は以下の（ｃ）（ｄ）に示す問題である。
（ａ）サーバ装置の認証の問題
（ｂ）ネットワーク上でのプログラムの改ざんの問題
（ｃ）外部記録媒体上のプログラムの改ざんの問題
（ｄ）ユーザの認証の問題
【００２８】
以上の４つの課題は、一般的な認証方法を用いて解決することが可能である。つまり、（ａ）に示した問題は、証明書の交換等による装置同士の接続認証によって解消できる。（ｂ）（ｃ）に示した問題は、電子署名等によるプログラムの認証によって解消できる。（ｄ）に示した問題は、パスワード認証等によるユーザの認証（個人認証）によって解消できる。
【００２９】
上記のような認証方式を用いて、セキュリティを強化した場合、次にユーザビリティの課題が発生する。具体的には、プログラムの認証を一度サーバ装置のような認証装置を通して電子署名等を作成し、それを再度ダウンロードして、機器にインストールする場合などである。
このような場合、ユーザはプログラムを修正する度に、認証装置にアクセスする必要があり、動的なプログラムの利便性である対応速度が損なわれる。また、機器上においても、プログラムの認証をプログラムの起動毎に実施していては、プログラムの挙動に変化を及ぼすため、例えば処理能力が低下したり、問題の再現が行われない問題も発生する。
【００３０】
そこで、上記課題を考慮して、ユーザやプログラムの認証に関わる手間を極力省きながら、動的なプログラムの変更技術を適用する方法を提案する。
その解決方法の基本的シナリオの一例は、以下の通りである。
１．認証装置は、ユーザの操作に従って、ユーザ登録を行い、個人認証を設定して、登録ユーザに対応する暗号化した電子証明書（又はＩＤ＋パスワード等）をユーザ認証情報（以下「ユーザ情報」又は「認証情報」ともいう）を作成する。
２．認証装置は、ユーザの操作に従って、指定プログラムに対する制約（制限）の解除を行う。このとき、例えば動的変更可能なプログラムを指定することにより、その指定したプログラムを制約解除されたプログラムとし、そのプログラムが修正データ（「プログラム修正データ」又は「修正プログラム」ともいう）によって修正（書き換え）可能になるため、そのプログラムの情報（プログラム名等）を修正対象プログラム情報として作成する。
【００３１】
３．認証装置は、作成した認証情報に作成した修正対象プログラム情報を付加し、ユーザ認証データとしてユーザ指定の外部記録装置に書き込む。
４．認証装置は、ユーザの操作に従い、制約解除されたプログラムに対して、動的に変更するための修正データを作成する。このとき、その修正データをユーザ認証データに含めてもよい。
５．画像形成装置は、上記の外部記録媒体がユーザによって挿着されると、その外部記録媒体に書き込まれているユーザ認証データに含まれている認証情報を用いて個人認証（ユーザ認証）を行う。
【００３２】
６．認証装置は、ユーザの操作に従い、先に作成した修正データを画像形成装置へ渡す。
７．画像形成装置は、上記の個人認証が成功すると、上記外部記録媒体に書き込まれているユーザ認証データに付加されている修正対象プログラム情報に基づき、認証装置から渡された修正データが動作中のプログラムに適用可能な場合に、そのプログラムに対して修正データを適用する。つまり、そのプログラムを修正データによって修正する。
このような基本的シナリオのバリエーションを以下の各参考例で説明する。
【００３３】
〔第１参考例〕
まず、この発明の第１参考例である画像形成装置管理システムの概要について説明する。なお、この第１参考例では、１台の画像形成装置におけるプログラムを修正するためのデータ（修正データ）の適用について述べる。
図１６は、その画像形成装置管理システムのネットワーク構成例を示す概念図である。なお、図中の各装置間の実線はネットワークによる接続を、破線はデータの流れをそれぞれ示している。
【００３４】
この第１参考例の画像形成装置管理システムでは、サーバ装置５が、ユーザの認証データ（認証情報）を作成する認証データ作成手段と、動的なプログラム変更を実現するための修正データを作成する修正データ作成手段としての各機能の両方を有しているが、その各機能は別のサーバ装置に配置されていてもよい。
図１６に示す画像形成装置を囲む円は、画像形成装置のグループを示す。第１参考例では、この円が修正データの適用範囲を示している。この図１６では、認証デバイス６の装着先が画像形成装置１（装置Ａ）となっていることから、修正データ７の適用範囲は画像形成装置１〜３（装置Ａ〜Ｃ）となり、画像形成装置４（装置Ｄ）には修正データが適用できないことを示している。
修正データ７は、着脱可能な図示しない外部記録媒体またはネットワークを介して、画像形成装置１〜３（装置Ａ〜Ｃ）に導入される。
【００３５】
次に、図１６の画像形成装置１〜４（装置Ａ〜Ｄ）内の主要なハードウェアおよびソフトウェアの論理的な構成例について説明する。なお、後述するソフトウェア（ハードウェア制御層とシステム管理層）による処理や制御は、実際にはＣＰＵがソフトウェアに従って動作することによって実行するが、説明の都合上、ソフトウェアが処理を実行するものとして説明する。以後も、ソフトウェアが何らかの処理や制御を行うものとして説明を行う場合には、同様とする。
図１７は、図１６の画像形成装置１〜４（装置Ａ〜Ｄ）内の主要なハードウェアおよびソフトウェアの論理的な構成例を示すブロック図である。
【００３６】
この画像形成装置１〜４は、デジタル複合機（ＭＦＰ），デジタル複写機，ファクシミリ装置，プリンタ装置等であり、図１７に示すように、ハードウェア層（一番右の列）と、ハードウェア制御層（右から二番目の列）と、システム管理層（左から二番目の列）、アプリケーション層（一番左の列）とによって構成されている。
ハードウェア制御層は本来、各ハードウェア単位に存在するが、この第１参考例では分割することに差異がないため、入出力制御部１１としてひとまとめにしてある。
【００３７】
ネットワークインタフェース（以下「インタフェース」を「Ｉ／Ｆ」ともいう）１２は、ＬＡＮ（ローカルエリアネットワーク）等のネットワークを介して図１のサーバ装置５等の外部機器と通信可能に接続する接続手段である。
外部入出力インタフェース１３は、ＵＳＢやＳＤカードなどの着脱可能な外部記録媒体と通信可能に接続する接続手段である。
記憶装置１４は、当該画像形成装置（以下「機器」ともいう）内のデータ（各種プログラムを含むソフトウェア）を保持するためのＨＤＤ（ハードディスク装置）等の不揮発性記憶手段である。
【００３８】
操作パネル１５は、ユーザに対する入出力を提供するものであり、当該機器により提供される機能の選択に基づく作像部（エンジン）や外部機器に対する動作指示等のデータを入力するための各種の操作キー（操作スイッチ又は操作ボタンともいう）およびＬＣＤ又はＣＲＴ等の表示器を備えている。その表示器は、その表面にタッチパネルを備えてもよく、そのタッチパネル上に各種機能を利用可能にするための操作画面を表示し、その画面上の各キーを選択的に押下（タッチ）することにより、対応する動作を指示することができる。
【００３９】
セキュリティ管理部１６は、第１参考例においては、アプリケーションやファームウェア等の修正（変更）が可能な実行プログラム（以下単に「プログラム」ともいう）ＰＲの動的な変更に対する記録、変更された実行プログラムＰＲの動作の記録、ユーザの認証の記録を行う。
ネットワークグループ管理部１７は、第１参考例においては、実行プログラムＰＲの動的な変更が可能なネットワークに接続された他の画像形成装置の検索を行う。
ユーザ管理部１８は、ユーザの認証を行う。このユーザ認証は、入力される認証情報（電子証明書又はＩＤ，パスワード等）と予め取得した認証情報とを用いて行う。例えば、一般的なパスワード認証であれば、入力される認証情報（ＩＤ＋パスワード又はパスワードのみ）と予め取得した認証情報と比較照合し、両認証情報が一致すればユーザ認証が成功、一致しなければユーザ認証が失敗とそれぞれ判定する。
【００４０】
実行プログラム制御部１９は、実行プログラムＰＲの動的な変更の実行可否（実行が可能か否か）を示す情報の記録、実行プログラムＰＲの動的な変更のためのメモリ管理や実行プログラムＰＲの実行スケジューリングの管理、実行プログラムＰＲの動的な変更の実施を行う。
その他、当該機器内には、例えばコピー等を実行するためのさまざまな機能が存在するが、この第１実施例で記載する範囲外のプログラムやシステム管理部、ハードウェアの図示は省略する。
【００４１】
次に、図１６の画像形成装置１〜４内のハードウェアの構成例について説明する。
図１８は、その画像形成装置１〜４内のハードウェアの構成例を示すブロック図であり、図１７と同じ部分には同一符号を付している。
この画像形成装置１〜４は、各部を統括的に制御するコントローラ２０を構成するハードウェアとして、図１７のネットワークＩ／Ｆ１２や記憶装置１４等に加え、実際には図１８に示すように、メインＣＰＵ２１，メモリバス２２，メモリ２３，およびＩＯバス２４を備えている。
【００４２】
メインＣＰＵ２１は、メモリバス２２を介して各種の処理および制御を行う演算処理手段である。このメインＣＰＵ２１が、ソフトウェアに従って動作することにより、図１７の入出力制御部１１，セキュリティ管理部１６，ネットワークグループ管理部１７，ユーザ管理部１８，実行プログラム制御部１９としての機能を実現することができる。
メモリ２３は、メインＣＰＵ２１が記憶装置１４内のソフトウエアを構成する各種プログラムを展開するプログラムエリアや、メインＣＰＵ２１が処理を行う際に使用するワークエリア等として利用されるＲＡＭ、フラッシュメモリ等の記憶手段である。
【００４３】
ＵＳＢ・Ｉ／Ｆ１３ａおよびＳＤ・Ｉ／Ｆ１３ｂは、図１７の外部入出力インタフェース１３に相当するものであり、ＵＳＢ・Ｉ／Ｆ１３ａには認証装置としてのＩＣカード３１を、ＳＤ・Ｉ／Ｆ１３ｂにはＳＤカード３２をそれぞれ接続できる。ＩＣカード３１は、修正データの変更範囲を記録したユーザ情報を入力するための一つのデバイスである。ＳＤカード３２は、プログラムの動的変更のための修正データを当該機器内に入力するための一つのデバイスである。上記２つのデバイスは、ＵＳＢメモリ３３を用いることで代替することも可能である。同様に、ＳＤカード３２のみを用いて、２つの役割を担うことも可能である。
【００４４】
ＦＡＸ処理部３４や画像形成処理部３５は、ＦＡＸやコピーを実現するための作像部に相当する部分である。
操作部３６は、図１７の操作パネル１５に相当する。
なお、ハードウェアの構成はＣＰＵアーキテクチャやハードウェアメーカによって差異が出るが、第１の参考例の処理は、図１８の基本的構成から入出力デバイスに差異がない限り、構成の変化による影響は受けない。
【００４５】
次に、図１７に示した画像形成装置１〜４内の各部によるユーザ認証時の動作（処理および制御）シーケンスの一例について説明する。この例では、認証情報（ユーザ情報）と修正対象プログラム情報とからなるユーザ認証データおよび修正データが記録された認証デバイス（外部記録装置）を使用するものとするが、例えば図２６の（ｂ）に示すように、ユーザ認証データに修正データを含めてもよい。
【００４６】
図１９は、図１７に示した画像形成装置１〜４内の各部によるユーザ認証時の動作シーケンスの一例を示すシーケンス図である。
ユーザ（オペレータ）が、例えば図１９に示すように、システム（当該機器）にＵＳＢメモリ３３やＳＤカード３２のような認証デバイスを挿着することで、その挿着を外部入出力インタフェース１３（ＵＳＢ・Ｉ／Ｆ１３ａ又はＳＤ・Ｉ／Ｆ１３ｂ）が検知し、認証デバイスの挿着を示す割り込み信号を発生して入出力制御部１１へ出力することにより、その入出力制御部１１が認証デバイスを利用可能な準備を行う。認証情報を用いるユーザ認証は、ユーザの操作（実際にはユーザによる操作パネル１５上の操作）によって開始される。
【００４７】
ここで、ＵＳＢメモリ３３やＳＤカード３２のような汎用デバイスは、市場で入手しやすく、ユーザによって認証データを作成すると、システムに対するセキュリティ脅威となる可能性があるため、ここでは、認証データは図１６に示した所定のサーバ装置５によって作成されることとする。また、図１６に示した１つのネットワーク範囲において、修正データを利用できるユーザは１名と限定する。これは、複数のユーザが存在することで、修正データが適用された（修正データによって修正された）プログラムに対して、更に修正をかける可能性があるためである。システム内のソフトウェアの１つである、図１７の実行プログラム制御部１９又はユーザ管理部（ユーザ認証部）１８は、複数のユーザを許可しないような設計になっている（図示は省略）。
【００４８】
ユーザ認証は、パスワード認証方式が一般的であるが、認証デバイスとして図１８のＩＣカード３１を利用するなど、予め個人が特定できるデバイスを利用している場合は、別の認証方式を利用することも可能である。
入出力制御部１１によって認証デバイスを利用可能な準備が行われた後、ユーザによって図２の操作パネル（実際には表示器）１５上に認証情報の入力を可能にする認証画面を表示するための操作が行われると、操作パネル１５から認証画面の表示要求を示す割り込み信号が発生して入出力制御部１１へ通知するため、その入出力制御部１１は、認証画面の表示要求（ユーザ要求）をユーザ管理部１８へ通知する。
【００４９】
ユーザ管理部１８は、その認証画面の表示要求を受け、外部入出力インタフェース１３へユーザ認証データの取得要求を通知することにより、その外部入出力インタフェース１３経由で認証デバイス内の認証情報を含むユーザ認証データを取得して図１８のメモリ２３に記憶（キャッシュ）した後、認証画面の描画（表示）を入出力制御部１１に指示する。それによって、入出力制御部１１は、操作パネル１５上に認証画面を表示させる。
その後、ユーザの操作により、認証情報が入力されると、その認証情報を示す割り込み信号が発生して入出力制御部１１へ通知するため、入出力制御部１１は、その認証情報（入力データ）をユーザ管理部１８へ通知する。
【００５０】
ユーザ管理部１８は、入出力制御部１１から認証情報を受け、その認証情報とメモリ２３内のユーザ認証データに含まれている認証情報とを用いてユーザの認証を行い、その認証の結果を示す操作画面である認証結果画面の描画を入出力制御部１１へ指示する。それによって、入出力制御部１１は、操作パネル１５上に認証結果画面を表示させる。
ユーザ管理部１８は、認証結果画面の描画を入出力制御部１１へ指示した後、ユーザ認証の結果をセキュリティ管理部１６へ通知する。それによって、セキュリティ管理部１６は、通知されたユーザ認証の結果（オペレーション実行結果）を含むセキュリティログを入出力制御部１１へ通知する。セキュリティログは、例えば図２６の（ｅ）に示すように、時刻（図示しない時計回路等から取得する現在の時刻）やオペレーション（操作）の対象を示す情報を含めるとよい。
【００５１】
入出力制御部１１は、ユーザ管理部１８からセキュリティログを取得し、それをデータとして記憶装置１４に書き込んで記憶する。
ユーザ管理部１８は、ユーザ認証の結果をセキュリティ管理部１６へ通知した後、ユーザ認証の結果が「成功」であれば、認証デバイスから取得したユーザ認証データ（修正対象プログラム情報を含む）をユーザ認証付加データとして実行プログラム制御部１９へ通知する。そのユーザ認証データに含まれている修正対象プログラム情報は、ユーザが適用可能な修正データの対象プログラム（制約解除されたプログラム）の範囲を判別するための情報である。
【００５２】
実行プログラム制御部１９は、ユーザ管理部１８からユーザ認証付加データを取得し、それに含まれている修正対象プログラム情報を解釈して、認証ユーザに対応する修正データを適用可能な対象プログラムの一覧（修正データの適用範囲）を判定し、必要に応じて修正データの適用範囲を限定（変更）する。システム内（実際には図１７の記憶装置１４）には予め修正データを適用できるプログラムの一覧（システム範囲）を示す基本の修正データ適用可否情報が保持されており、機器の起動時に図２６の（ａ）に示すようにメモリ２３に保持（キャッシュ）されているため、判定した修正データの適用範囲と比較し、判定した修正データの適用範囲がシステム範囲より狭い場合には、その適用範囲に限定し、その限定した修正データの適用範囲（認証ユーザに対応する修正データを適用可能な対象プログラムの一覧）を示す認証ユーザ用の修正データ適用可否情報（パラメータ）として入出力制御部１１へ通知する。
【００５３】
入出力制御部１１は、その修正データ適用可否情報を取得し、それをデータとして記憶装置１４に書き込んで記憶する。
実行プログラム制御部１９は、修正データの適用範囲を限定した場合、その限定した修正データの適用範囲である認証ユーザ用の修正データ適用可否情報を状態変更情報とし、それを修正データを適用可能な（その修正データによってプログラムの修正が可能な）同一グループ内の他の画像形成装置を把握しているネットワークグループ管理部１７へ通知する。
【００５４】
ネットワークグループ管理部１７は、その状態変更情報を受け、その状態変更情報を同一グループ内の他の画像形成装置の装置情報（ＩＰアドレス等）と共に、入出力制御部１１へ通知する。
入出力制御部１１は、その状態変更情報を装置情報と共に受け取って、ネットワークインタフェース１２へ通知し、返答を待つ。
ネットワークインタフェース１２は、入出力制御部１１から状態変更情報を装置情報と共に受け取ると、その状態変更情報をその装置情報に基づいてネットワーク経由で同一グループ内の他の画像形成装置へパケット送信し、その送信結果を入出力制御部１１へ通知（返答）する。
【００５５】
次に、図１７に示した画像形成装置１〜４内の各部による修正データ適用時の動作シーケンスの一例について説明する。この例では、認証デバイスに記録されている修正データを複数個とする。
図２０は、図１７に示した画像形成装置１〜４内の各部による修正データ適用時の動作シーケンスの一例を示すシーケンス図である。図２５は、図１７の入出力制御部１１および実行プログラム制御部１９等による修正データ適用可否の確認処理の一例を示すフローチャートである。
【００５６】
ユーザの操作（修正データの適用要求）により、例えば図２７に示すような修正可能プログラムの検索（サーチ）を開始するための操作画面である修正可能プログラム検索画面が操作パネル１５上に表示され、その修正可能プログラム検索画面上の「継続」の選択により、例えば図２０に示すように、操作パネル１５上に修正データの適用要求を示す割り込み信号が発生して入出力制御部１１へ通知される。
入出力制御部１１は、その割り込み信号を受けると、ユーザ認証状態の取得要求をユーザ管理部１８へ通知することにより、そのユーザ管理部１８からユーザ認証状態が通知されるので、そのユーザ認証状態を取得して確認する。
【００５７】
そして、ユーザ認証状態が認証成功の状態を保持している場合に、修正データ適用可否の確認要求を実行プログラム制御部１９へ通知する。
実行プログラム制御部１９は、その修正データ適用可否の確認要求を受け、修正可能なプログラムの一覧を示す「修正可能データ一覧」を「０」としてメモリ２３に保持する（図２５のＳ１）と共に、修正データの一覧要求を入出力制御部１１へ通知する。
入出力制御部１１は、実行プログラム制御部１９から修正データの一覧要求を受け、外部入出力インタフェース１３経由で認証デバイスに記録されている修正データの一覧（複数の修正データ）を読み出して取得し、それを実行プログラム制御部１９へ通知する。
【００５８】
実行プログラム制御部１９は、入出力制御部１１への修正データの一覧要求の通知により、入出力制御部１１から修正データの一覧が通知されるため、その修正データの一覧を取得し、更に実行プログラムの一覧も取得する（図２５のＳ１）。そして、その取得した実行プログラムの一覧のうち、先に取得した修正データの一覧と対応する実行プログラムの一覧（取得した修正データの一覧によって修正可能なもの）を新たな「修正可能データ一覧」とする（図２５のＳ２）。
【００５９】
実行プログラム制御部１９は次に、基本の修正データ適用可否情報がメモリ２３に保持されているか否かをチェックするが（図２５のＳ３）、その修正データ適用可否情報は保持されているので、その修正データ適用可否情報が示す修正データを適用できるプログラムの一覧を「適用可能修正データ一覧」としてメモリ２３に保持する（図２５のＳ４）。
そして、「修正可能データ一覧」と「適用可能修正データ一覧」が一致するか否かをチェックし（図２５のＳ５）、一致しない場合にのみ、その各データ一覧の共通部分を新たな「修正可能データ一覧」とする（図２５のＳ１０）。
【００６０】
実行プログラム制御部１９は次に、認証ユーザ用の修正データ適用可否の確認要求を入出力制御部１１へ通知した後、認証ユーザ用の修正データ適用可否確認結果の表示要求を入出力制御部１１へ通知する。
入出力制御部１１は、実行プログラム制御部１９から認証ユーザ用の修正データ適用可否の確認要求を受け、記憶装置１４に認証ユーザ用の修正データ適用可否情報が記憶されている場合にのみ、その修正データ適用可否情報（認証ユーザに対応する修正データを適用可能な対象プログラムの一覧を示す情報）を読み出し、その読み出した認証ユーザ用の修正データ適用可否情報が示す認証ユーザに対応する修正データを適用可能な対象プログラムの一覧を「修正対象プログラム一覧」としてメモリ２３に保持する（図２５のＳ６）。
【００６１】
そして、「修正可能データ一覧」と「修正対象プログラム一覧」が一致するか否かをチェックし（図２５のＳ７）、一致しない場合にのみ、その各データ一覧の共通部分を新たな「修正可能データ一覧」とする（図２５のＳ１１）。
その後、実行プログラム制御部１９から認証ユーザ用の修正データ適用可否確認結果の表示要求を受けると、「修正可能データ（修正対象プログラム）一覧」とそれらに適用可能な修正データの内容を示す操作画面である修正対象プログラム選択画面を操作パネル１５上に表示させる。その修正対象プログラム選択画面の表示例を図２８に示す。
【００６２】
ここで、修正データは、例えば図２６の（ｃ）に示すように、実行コードと実行コードの適用箇所の情報、そして修正データの説明文等によって構成されている。このうち、説明文は、図２８に示した修正対象プログラム選択画面上の「修正の詳細」を押した時に表示される内容が記載されている。また、図２６の（ｂ）に示したユーザ認証データに修正データと共に含まれている修正対象プログラム情報には、修正データが適用できるプログラムのバージョン情報などが記載されており、この情報に基づいて修正データの適用可否を判断できる。この判断は、修正データを作成する元のプログラムのソースコードとの一貫性を保たなければならないためのものであり、バージョン情報以外にも、プログラムコードのハッシュ情報，作成日，サイズ，プログラム変更先アドレスの実行コードでも判別可能である。
【００６３】
操作パネル１上に修正対象プログラム選択画面が表示された後、ユーザの操作により、修正対象プログラム選択画面上の修正対象プログラムが選択（指定）され、「継続」が選択されることにより、選択された修正対象プログラムの情報を含むプログラム修正要求（プログラム修正の実行要求）を示す割り込み信号が発生して入出力制御部１１へ通知されると、その入出力制御部１１は、そのプログラム修正要求を実行プログラム制御部１９へ通知する。
【００６４】
実行プログラム制御部１９は、入出力制御部１１からプログラム修正要求を受け、そのプログラム修正要求を含む操作ログ（操作情報）をセキュリティ管理部１６へ通知する。それによって、セキュリティ管理部１６は、通知された操作ログを含むセキュリティログを入出力制御部１１へ通知する。セキュリティログは、例えば図２６の（ｅ）に示したような時刻情報，オペレーション（操作）対象情報，および修正対象プログラム情報（修正データの適用先のプログラムを示すプログラム名等の識別情報）を含めるとよい。
【００６５】
入出力制御部１１は、セキュリティ管理部１６から通知されたセキュリティログを記憶装置１４に書き込む。
実行プログラム制御部１９は、操作ログをセキュリティ管理部１６へ通知した後、修正データの要求を入出力制御部１１へ通知する。
入出力制御部１１は、その修正データの要求を受け、先に受けたプログラム修正要求に含まれている修正対象プログラム情報に基づき、その修正対象プログラムに適用できる（その修正対象プログラムを修正できる）修正データを外部入出力インタフェース１３経由で認証デバイスから読み込み、それを実行プログラム制御部１９へ提供する。
【００６６】
実行プログラム制御部１９は、入出力制御部１１から修正対象プログラムに適用できる修正データを受け取り、その修正データをその修正対象プログラムに適用する（その修正データによってその修正対象プログラムを修正する）。このとき、例えば図３２に示すような流れで、メモリ２３上の修正対象プログラムを変化させるが、その際実行コードの書き換えを行うために、その修正対象プログラムの実行を一旦停止する。具体的には、優先度の最も高いプロセスによって、他のプロセスの実行を一時停止し、優先度の最も高いプロセスによって、実行コードの変更、一時停止の解除を行う。
【００６７】
実行プログラム制御部１９はまた、修正対象プログラムに修正データを適用した際に、ユーザにその状況を通知するため、修正データの適用状態の表示要求を入出力制御部１１へ通知する。
入出力制御部１１は、その修正データの適用状態の表示要求を受け、修正対象プログラムの情報を含む修正データの適用中である旨を示す適用中画面を操作パネル１５上に表示させる。その適用中画面の表示例を図２９に示す。これにより、ユーザは修正データの実行状態を知ることができ、修正の詳細とあわせて、システム内で何が起きているかの概要を知ることができる。
【００６８】
〔第２参考例〕
次に、この発明の第２参考例について説明する。なお、第１参考例とは若干異なるだけなので、第１参考例の説明で使用した図も再度使用する。
第２参考例としては、ネットワークで接続された複数台の画像形成装置１〜３における修正データの適用について述べる。なお、第１参考例と同じ部分については、説明を省略する。
【００６９】
この第２参考例では、基本的な動作は第１参考例と変わらないが、ユーザはある１台の画像形成装置（ここでは「画像形成装置１」とする）で複数台の画像形成装置（ここでは「画像形成装置２，３」とする）に対する修正データの適用が可能になる。これにより、修正データの適用に関わる煩わしさを解消することが可能になる。
図２１は図１７に示した画像形成装置１〜４内の各部による修正データの適用のための動作シーケンスの他の例を、図２２は同じく外部機器からの状態変更の連絡のための動作シーケンスの一例を、図２３は同じく外部機器からの修正データの適用のための動作シーケンスの一例をそれぞれ示すシーケンス図である。
【００７０】
画像形成装置１は、図１７に示したように、ネットワークの管理を司る図２のネットワークグループ管理部１７というモジュールを用意してある。これは、修正データが適用可能な範囲の画像形成装置２，３を知っているモジュールである。これによって、ユーザが修正データを適用したい時に、ネットワークにつながっている画像形成装置のうち、修正データが適用可能な画像形成装置２，３を自動的に選定することが可能となる。
【００７１】
ユーザの操作により、例えば図２７に示したような修正可能プログラム検索画面が操作パネル１５上に表示され、その修正可能プログラム検索画面上の「継続」の選択により、外部入出力インタフェース１３に接続されたＵＳＢメモリ３３等の認証デバイスに保持されている修正データが適用可能な画像形成装置１〜３がネットワークに接続されているため、図２１では図示を省略しているが、画像形成装置１の入出力制御部１１が各画像形成装置１〜３の装置情報をネットワークグループ管理部１７から取得し、その各画像形成装置１〜３の一覧を示す操作画面である修正対象装置選択画面を操作パネル１５上に表示させる。その修正対象装置選択画面の一例を図３１に示す。但し、画像形成装置１〜３に対応するものは「装置Ａ〜Ｃ」であるため、実際には「装置Ａ〜Ｆ」のうちの図１の「装置Ｄ〜Ｆ」は表示されない。
【００７２】
ユーザの操作により、修正対象装置選択画面上の修正対象装置が選択されると、例えば図２１に示すように、操作パネル１５上に修正データの適用要求を示す割り込み信号が発生して入出力制御部１１へ通知される。
入出力制御部１１は、その割り込み信号を受けると、ユーザ認証状態の取得要求をユーザ管理部１８へ通知することにより、そのユーザ管理部１８からユーザ認証状態が通知されるので、そのユーザ認証状態を取得して確認する。そして、ユーザ認証状態が認証成功の状態を保持している場合に、修正データ適用可否の確認要求を実行プログラム制御部１９へ通知する。
【００７３】
実行プログラム制御部１９は、その修正データ適用可否の確認要求を受け、修正データの一覧要求を入出力制御部１１へ通知することにより、第１参考例と同様に、入出力制御部１１から修正データの一覧が通知されるため、その修正データの一覧を取得し、更に実行プログラムの一覧も取得する（図２５のＳ１）。そして、その取得した実行プログラムの一覧のうち、先に取得した修正データの一覧と対応する実行プログラムの一覧を新たな「修正可能データ一覧」とする（図２５のＳ２）。
【００７４】
実行プログラム制御部１９は次に、基本の修正データ適用可否情報がメモリ２３に保持されているか否かをチェックするが（図２５のＳ３）、先に選択された修正対象装置が当該画像形成装置１のみの場合には、以後、第１参考例と同様の動作を行う。また、修正対象装置が他の画像形成装置２，３のみの場合には、それらの基本の修正データ適用可否情報はメモリ２３に保持されていないので、それらの修正データ適用可否情報を他の画像形成装置２，３から取得するための処理を行う。ここでは、以後、修正対象装置が他の画像形成装置２，３のみの場合の動作について説明するが、修正対象装置が当該画像形成装置１と他の画像形成装置２，３の場合には、第１参考例と同様の動作に以下に示す動作を加えればよい。
【００７５】
実行プログラム制御部１９は、基本の修正データ適用可否情報を取得するため、ネットワークグループ管理部１７等とにより、その修正データ適用可否情報を他の画像形成装置１，２からロードする処理を行う（図２５のＳ９）。
すなわち、実行プログラム制御部１９はまず、基本の修正データ適用可否情報の取得要求を、他の画像形成装置１，２を把握しているネットワークグループ管理部１７へ通知する。
【００７６】
ネットワークグループ管理部１７は、実行プログラム制御部１９から基本の修正データ適用可否情報の取得要求を受け、それを同一グループ内の他の画像形成装置２，３を示す装置情報（ＩＰアドレス等）と共に入出力制御部１１へ通知する。
入出力制御部１１は、ネットワークグループ管理部１７から基本の修正データ適用可否情報の取得要求を装置情報と共に受け取って、ネットワークインタフェース１２へ通知し、返答を待つ。
ネットワークインタフェース１２は、入出力制御部１１から基本の修正データ適用可否情報の取得要求を装置情報と共に受け取ると、その修正データ適用可否情報の取得要求をその装置情報に基づいてネットワーク経由で他の画像形成装置２，３へパケット送信し、その送信結果を入出力制御部１１へ通知（返答）する。
【００７７】
実行プログラム制御部１９は、基本の修正データ適用可否情報の取得要求をネットワークグループ管理部１７へ通知することにより、他の画像形成装置２，３からパケット送信された基本の修正データ適用可否情報をネットワークインタフェース１２および入出力制御部１１を介して取得すると、その取得した修正データ適用可否情報が示す修正データを適用できるプログラムの一覧を「適用可能修正データ一覧」としてメモリ２３に保持する（図２５のＳ４）。
以後、第１参考例と同様の動作を行うことにより、入出力制御部１１は、図２８に示したような修正対象プログラム選択画面を操作パネル１５上に表示させることができる。
【００７８】
その後、ユーザの操作により、修正対象プログラム選択画面上の修正対象プログラムが選択（指定）され、「継続」が選択されることにより、選択された修正対象プログラムを示す情報を含むプログラム修正要求（プログラム修正の実行要求）を示す割り込み信号が発生して入出力制御部１１へ通知されると、その入出力制御部１１は、そのプログラム修正要求を実行プログラム制御部１９へ通知する。
【００７９】
実行プログラム制御部１９は、入出力制御部１１からプログラム修正要求を受け、そのプログラム修正要求を含む操作ログ（操作情報）をセキュリティ管理部１６へ通知する。それによって、セキュリティ管理部１６は、通知された操作ログを含むセキュリティログを入出力制御部１１へ通知する。
入出力制御部１１は、セキュリティ管理部１６から通知されたセキュリティログを記憶装置１４に書き込んだ後、そのセキュリティログ内の操作ログを含む操作ログの記録要求を先に受け取った装置情報と共にネットワークインタフェース１２へ通知する。
【００８０】
ネットワークインタフェース１２は、入出力制御部１１から操作ログの記録要求を装置情報と共に受け取ると、その記録要求をその装置情報に基づいてネットワーク経由で他の画像形成装置２，３へパケット送信する。
実行プログラム制御部１９は、操作ログをセキュリティ管理部１６へ通知した後、修正データの要求を入出力制御部１１へ通知する。
入出力制御部１１は、その修正データの要求を受け、先に受けたプログラム修正要求に含まれている修正対象プログラムを示す情報に基づき、その修正対象プログラムに適用できる修正データを外部入出力インタフェース１３経由で認証デバイスから読み込み、それを実行プログラム制御部１９へ提供する。
【００８１】
実行プログラム制御部１９は、入出力制御部１１から選択された修正対象プログラムに適用できる修正データを受け取り、その修正データをその修正対象プログラムに適用するため、その修正データおよびその修正対象プログラムを示す情報を含む修正データの適用要求を入出力制御部１１へ通知する。
入出力制御部１１は、実行プログラム制御部１９から通知された修正データの適用要求を先に受け取った装置情報と共にネットワークインタフェース１２へ通知する。
ネットワークインタフェース１２は、入出力制御部１１から修正データの適用要求を装置情報と共に受け取ると、その修正データの適用要求をその装置情報に基づいてネットワーク経由で他の画像形成装置２，３へパケット送信する。
【００８２】
実行プログラム制御部１９は、修正データおよび修正対象プログラムを示す情報（修正対象プログラム情報）を含む修正データの適用要求を入出力制御部１１へ通知した後、ユーザに修正対象プログラムに修正データを適用している状況を通知するため、修正データの適用状態の表示要求を入出力制御部１１へ通知する。
入出力制御部１１は、その修正データの適用状態の表示要求を受け、修正対象プログラムを示す情報を含む修正データの適用中である旨を示す適用中画面を操作パネル１５上に表示させる。
【００８３】
なお、ネットワークへのアクセスが発生するのは、上述したように認証情報（ユーザ情報）が確定した際、ユーザの持っている修正対象プログラム情報を送信する時、ユーザの操作によって修正データを適用する要求をした時、各画像形成装置の修正対象プログラム情報を獲得する時、および修正データを適用する時である。ネットワークのプロトコルは任意で構わないが、ネットワーク上のセキュリティが充分に確保できるプロトコルを選択することとする。
【００８４】
一方、画像形成装置２，３では、例えば図２２に示すように、外部機器である画像形成装置１からネットワーク経由で状態変更情報が送られてくると、それをネットワークインタフェース１２が受信して、その状態変更情報を含む割り込み信号を入出力制御部１１へ通知する。
入出力制御部１１は、その割り込み信号を受け、それに含まれている状態変更情報（パラメータ）を解釈して、認証ユーザに対応する修正データを適用可能な対象プログラムの一覧を判定し、その内容を示す認証ユーザ用の修正データ適用可否情報（パラメータ）として記憶装置１４に書き込んで記憶する。
【００８５】
その書き込みが完了すると、その旨をネットワークインタフェース１２へ通知する。
ネットワークインタフェース１２は、認証ユーザ用の修正データ適用可否情報の書き込みが完了した旨の通知を受けると、その通知内容を示すデータを状態変更情報の送信元である画像形成装置１へパケット送信する。
なお、先に解釈した状態変更情報が認証ユーザ用の修正データ適用可否情報の削除要求（後述する）を示すものであった場合には、その修正データ適用可否情報を記憶装置１４から削除する。
【００８６】
また、画像形成装置１からネットワーク経由で基本の修正データ適用可否情報の取得要求が送られてくると、それをネットワークインタフェース１２が受信して、その修正データ適用可否情報の取得要求を含む割り込み信号を入出力制御部１１へ通知する。
入出力制御部１１は、その割り込み信号を受け、それに含まれている基本の修正データ適用可否情報の取得要求により、その修正データ適用可否情報の確認要求を実行プログラム制御部１９へ通知する。
【００８７】
実行プログラム制御部１９は、その入出力制御部１１から基本の修正データ適用可否情報の確認要求を受けると、メモリ２３に保持されている基本の修正データ適用可否情報を入出力制御部１１へ通知する。
入出力制御部１１は、その修正データ適用可否情報を受け取り、それをネットワークインタフェース１２へ通知する。
ネットワークインタフェース１２は、基本の修正データ適用可否情報を受け取ると、その修正データ適用可否情報をその取得要求元である画像形成装置１へパケット送信する。
【００８８】
画像形成装置２，３では、例えば図２３に示すように、外部機器である画像形成装置１からネットワーク経由で操作ログの記録要求が送られてくると、それをネットワークインタフェース１２が受信して、その記録要求を含む割り込み信号を入出力制御部１１へ通知する。
【００８９】
入出力制御部１１は、その割り込み信号を受け、それに含まれている操作ログの記録要求により、その記録要求に含まれている操作ログをデータとして記憶装置１４に書き込んで記憶する。
その書き込みが完了すると、その旨をネットワークインタフェース１２へ通知する。
ネットワークインタフェース１２は、操作ログの書き込みが完了した旨の通知を受けると、その通知内容を示すデータを状態変更情報の送信元へパケット送信する。
【００９０】
また、画像形成装置１からネットワーク経由で修正データの適用要求が送られてくると、それをネットワークインタフェース１２が受信して、その修正データの適用要求を含む割り込み信号を入出力制御部１１へ通知する。
入出力制御部１１は、その割り込み信号を受け、それに含まれている修正データの適用要求により、その修正データの適用要求（プログラム修正要求）を実行プログラム制御部１９へ通知する。
【００９１】
実行プログラム制御部１９は、その入出力制御部１１から修正データの適用要求を受け、その適用要求を含む操作ログをセキュリティ管理部１６へ通知する。それによって、セキュリティ管理部１６は、通知された操作ログを含むセキュリティログを入出力制御部１１へ通知する。
入出力制御部１１は、セキュリティ管理部１６から通知されたセキュリティログを記憶装置１４に書き込んだ後、そのセキュリティログ内の操作ログを含む操作ログの記録要求をネットワークインタフェース１２へ通知する。
【００９２】
ネットワークインタフェース１２は、入出力制御部１１から操作ログの記録要求を受け取ると、その記録要求を修正データの適用要求元へパケット送信する。
実行プログラム制御部１９は、修正データの適用要求を含む操作ログをセキュリティ管理部１６へ通知した後、その適用要求に含まれている修正データを、その適用要求に含まれている修正対象プログラム情報が示す修正対象プログラムに適用する（その修正データによってその修正対象プログラムを修正する）。
【００９３】
そして、その修正データの適用が完了すると、その適用結果を入出力制御部１１へ通知する。
入出力制御部１１は、実行プログラム制御部１９から修正データの適用結果を受け取ると、それをネットワークインタフェース１２へ通知する。
ネットワークインタフェース１２は、修正データの適用結果を受け取ると、その適用結果を修正データの適用要求元へパケット送信する。
【００９４】
ここで、前述した第１，第２参考例では、修正データを適用することによるユーザへの不安を解消するため、図２６の（ｅ）に示したような操作ログを含むセキュリティログを記録するようにしたが、そのセキュリティログについてもう少し詳しく述べる。
ユーザに対して通知する事項として、修正データに関わる操作（オペレーション）をしたこと、その時刻、オペレーションの実行結果、操作の対象を考慮している。
セキュリティログは、単一の画像形成装置における修正データの適用においては、各操作毎に画像形成装置内に持つＨＤＤ等の記憶装置に記録すればよいが、複数のネットワークに接続された画像形成装置においては、ユーザの操作対象の画像形成装置をホストとし、その他修正データの適用対象の画像形成装置をクライアントとする場合に、お互いの装置間でセキュリティ情報の交換が発生する。
【００９５】
それは、修正データを適用したことをクライアントとホストで共有することである。これは、オペレータに対して修正データの適用情報を通知するため、ホストは全てのネットワークグループ管理部１７によって把握されている範囲内で情報を収集するからである。また、これらの情報を紙やネットワークに接続された画像形成装置の管理システムに対して通知することも考えられる。これによって、ユーザは修正データの適用情報を一元管理したり、画面情報と比較して、ユーザに確認しやすいように情報を整形した状態で通知することが可能になる。
【００９６】
〔第３参考例〕
次に、この発明の第３参考例について説明する。なお、第１又は第２参考例とは若干異なるだけなので、第１参考例の説明で使用した図を再度使用する。
第３参考例としては、ユーザが認証デバイスを取り外した際のシステムの挙動について述べる。なお、第１，第２参考例と同じ部分については、説明を省略する。
図２４は、図１７に示した画像形成装置１〜４内の各部によるユーザ認証の解除のための動作シーケンスの一例を示すシーケンス図である。
【００９７】
ユーザは、任意のタイミングで画像形成装置から認証デバイスを取り外す可能性がある。そのため、外部入出力インタフェース１３によって認証デバイスが外されたことを検知した後に、システム（ネットワーク先も含め）を元の状態に戻さなければならない。システムの状態は、各画像形成装置内の実行プログラム制御部１９が管理しているので、まずユーザ操作元の画像形成装置内で、ユーザに対して修正データの解除を通知する。
【００９８】
すなわち、外部入出力インタフェース１３が、認証デバイスが取り外されると、そのことを検知し、例えば図２４に示すように、認証デバイスの取り外しを示す割り込み信号を発生して入出力制御部１１へ通知することにより、その入出力制御部１１が認証デバイスの無効化を行い、例えば図３０に示すような認証解除中（修正データの無効化）を示す認証解除中画面を操作パネル１５上に表示させた後、認証デバイスの無効化をユーザ管理部１８へ通知する。
【００９９】
その通知を受けたユーザ管理部１８は、メモリ２３内のユーザ認証データを破棄してユーザ認証を解除し、その旨をセキュリティ管理部１６へ通知する。
セキュリティ管理部１６は、ユーザ管理部１８からユーザ認証が解除された旨の通知を受け、ユーザ認証の解除を示す操作ログを含むセキュリティログを入出力制御部１１へ通知する。
入出力制御部１１は、セキュリティ管理部１６から通知されたセキュリティログを記憶装置１４に書き込む。
【０１００】
ユーザ管理部１８は、ユーザ認証が解除された旨をセキュリティ管理部１６へ通知した後、ユーザ認証が解除された旨を実行プログラム制御部１９へも通知する。
実行プログラム制御部１９は、ユーザ管理部１８からユーザ認証が解除された旨の通知を受け、修正データの適用を解除する（その修正データによる修正対象プログラムの修正を解除する）。
【０１０１】
その後、認証ユーザ用の修正データ適用可否情報（パラメータ）の削除要求を入出力制御部１１へ通知する。それによって、入出力制御部１１は、図２の記憶装置１４に保持されている認証ユーザ用の修正データ適用可否情報を削除する（データ破棄）。
実行プログラム制御部１９は、認証ユーザ用の修正データ適用可否情報の削除要求を入出力制御部１１へ通知した後、その修正データ適用可否情報の削除を示す情報を状態変更情報とし、それをネットワークグループ管理部１７へ通知する。
ネットワークグループ管理部１７は、その状態変更情報を受け、その態変更情報を入出力制御部１１へ通知する。
【０１０２】
入出力制御部１１は、その状態変更情報を受け、それを先に受け取った装置情報と共にネットワークインタフェース１２へ通知し、返答を待つ。
ネットワークインタフェース１２は、入出力制御部１１から状態変更情報を装置情報と共に受け取ると、その状態変更情報をその装置情報に基づいてネットワーク経由で同一グループ内の他の画像形成装置へパケット送信し、その送信結果を入出力制御部１１へ通知（返答）する。その状態変更情報のパケット送信により、同一グループ内の他の各画像形成装置に対して、認証ユーザ用の修正データ適用可否情報の削除（除外）処理を要求するができる。
【０１０３】
以上の各参考例の作用効果を以下の（１）〜（６）にまとめて示す。
（１）画像形成装置（機器）が、サーバ装置と通信可能に接続するネットワークＩ／Ｆと、自装置に着脱可能なＵＳＢメモリ等の外部記録媒体と通信可能に接続する外部入出力Ｉ／Ｆとを備え、上記外部記録媒体に記録されているユーザ認証情報に基づいて、ユーザの要求する修正対象プログラムの修正が可能か否か（修正可否）を判断した後、修正可能であれば、その修正対象プログラムを修正するための修正データ（修正プログラム）を取得し、その修正データを修正対象プログラムに適用する（修正データによって修正対象プログラムを修正する）。
【０１０４】
すなわち、プログラムを動的に修正する機能を用いて、例えばファームウェアの変更を行う際、ファームウェアに対するユーザ認証をその変更の都度実施すると、システムの性能を下げるなど、システムの挙動に変化を及ぼす可能性があり、修正を用いて機器の検査を行いたい場合に、正しい問題点の把握ができない。そこで、上記の外部記録媒体を用いて、ユーザの認証、修正対象プログラムを一度特定しておけば、プログラムの動作に対する認証を行わず、システムの挙動に悪影響を与えずに済む。つまり、ユーザが動的なプログラムの変更技術の恩恵を預かる際に、機器に対する必要最低限のセキュリティとプログラムの処理性能の低下軽減、ユーザの利便性を同時に達成することができる。
【０１０５】
（２）ユーザの認証が行われていることを他の画像形成装置に通知する機能を更に備え、ユーザ認証の適用が許容できる通信の範囲内であれば、再度ユーザ認証をすることなく、プログラムの修正を実施可能にする。
すなわち、修正対象プログラムは、ユーザ認証を行った当該機器のみではないことがよくある。この場合、ＵＳＢメモリ等の着脱可能な外部記録媒体による認証範囲を当該機器にのみ適用するだけでは、他の機器に同様の修正を行わせたい場合、上記の外部記録媒体を取り外し（認証を解除し）、目的の機器に対して認証を再度実施しなければいけない。そこで、制限されたネットワークの範囲ではあるが、他の機器との情報交換のプロトコルを保持することにより、一度任意の機器に対して認証を行えば、複数の画像形成装置のプログラム修正が可能になる。
【０１０６】
（３）所定の操作が行われた場合に、その操作の履歴を示す操作ログ（操作情報）を保持（記録）する機能を更に備え、その保持した操作ログを所定の方法で出力する。
すなわち、ユーザにとっては、動的なプログラムの修正において、どのような処理が行われていたのか、懸念するケースがある。そこで、修正データ適用における主要な操作ログを記録させ、操作パネル上の操作等によって出力（印刷又は表示）させることで、ユーザの懸念を取り除くことが可能となる。
【０１０７】
（４）所定の記憶装置に配置された修正データ適用可否情報に基づいて、修正データの適用可否を判断する。
すなわち、無作為に修正データを適用すると、システムが動作しなくなるケースも考えられる（プログラムの書き換えによるセキュリティ脅威など）。そこで、修正データの適用可否判断を行う判断基準（修正データ適用可否情報）を予め設定しておき、その判断基準に基づいて、修正データの適用可否を判断することにより、システムとしての可用性を保護する。また、機器毎に修正データ適用可能な範囲をコントロールすることができ、複数の画像形成装置で作成されたネットワーク上で、画像形成装置ごとのセキュリティレベルに応じて、操作を抑制することも可能になる。
【０１０８】
（５）利用されるユーザ認証情報と修正するプログラムの範囲をユーザに指定させ、その認証情報によってプログラムの修正範囲を特定することにより、システムの動作を保護するために、認証情報作成時点でユーザが操作可能な修正プログラムを特定する。
（６）修正データの適用状況を通知する。つまり、動的なプログラムの修正に対して、ユーザはシステム内部の動作状況について懸念するケースがあるため、修正データの適用状況、実施状況を表示することにより、ユーザの懸念を取り除くことが可能となる。また、ユーザの操作が行われている機械が把握できるので、他の機械に対して実施した修正データの動作状況もユーザの操作元に表示することが可能となる。
【０１０９】
ところで、画像形成装置等の情報処理装置を含む電子機器におけるソフトウェア構成を管理装置からの要求によって変更可能にする電子機器管理システムにおいては、上述した各参考例のようなプログラム修正は、管理装置以外からの意図せぬソフトウェア構成の変更に相当するが、従来、管理装置がその変更を検知してリカバリーすることができないという問題があった。
そこで、その問題を解消するため、以下の実施形態では、管理装置以外から意図せぬソフトウェア構成の変更が行われたとき、管理装置がその変更を検知してリカバリーする処理に際して、以下の（Ａ）〜（Ｇ）に示す特徴を有する。
【０１１０】
（Ａ）情報処理装置に導入されたソフトウェア情報を定期的に取得する。
（Ｂ）取得したソフトウェア情報と記憶部内のソフトウェア情報とを比較し、差異を検知する。
（Ｃ）差異を検知した場合、ソフトウェア構成の変更検知を管理センタ経由でユーザへ通知する。
（Ｄ）記憶部内のソフトウェア情報を取得したソフトウェア情報に更新する。
（Ｅ）ユーザからのソフトウェア構成の変更要求を、管理センタ経由で検知する。
（Ｆ）記憶部内のライセンス情報を利用し、情報処理装置へソフトウェア構成の変更を要求する。
（Ｇ）その要求結果を管理センタ経由でユーザへ通知する。
【０１１１】
以下、その各特徴について、図１〜図１５を参照して具体的に説明する。
〔情報処理装置管理システムのネットワーク構成例〕
まず、この発明による管理装置を含む電子機器管理システムの一実施形態である情報処理装置管理システムの概要について説明する。
図１は、その情報処理装置管理システムのネットワーク構成例を示す概念図である。
【０１１２】
この情報処理装置管理システムは、情報処理装置１０１（１０１Ａ，１０１Ｂ，１０１Ｃ），管理装置１０２，ソフトウェア配信サーバ１０３，ライセンス管理サーバ１０４，および管理センタ１０５から構成されている。ここでは、情報処理装置１０１を３台としているが、これは一例であり、情報処理装置１０１は１台以上であれば何台でもよい。
情報処理装置１０１と管理装置１０２は、ローカルエリアネットワーク（ＬＡＮ）等のローカルネットワーク１０６を介して通信可能に接続できる。
管理装置１０２とソフトウェア配信サーバ１０３とライセンス管理サーバ１０４と管理センタ１０５は、インタネット１０７を介して通信可能に接続できる。
【０１１３】
情報処理装置１０１（１０１Ａ，１０１Ｂ，１０１Ｃ）は、画像読取装置（スキャナ装置等），画像形成装置（デジタル複合機，デジタル複写機，ファクシミリ装置，プリンタ装置等），ＰＣ（パーソナルコンピュータ），車載情報処理装置等であり、機器固有情報１０８（１０８Ａ，１０８Ｂ，１０８Ｃ）を保持している。機器固有情報１０８は、機種機番等のユニークな（特定の）情報であり、異なる情報処理装置１０１で機器固有情報１０８が同じになることはない。ここでは、各機器固有情報１０８をそれぞれｍｆｐ００００１，ｍｆｐ００００２，ｍｆｐ００００３としている。
【０１１４】
管理装置１０２は、情報処理装置１０１の管理を行い、例えば、情報処理装置１０１に導入されたソフトウェアの情報の取得、ソフトウェアの追加／更新／削除／アクティベート／ディアクティベートの要求等を行う。また、ソフトウェア配信サーバ１０３からソフトウェアのダウンロード等を行い、ライセンス管理サーバ１０４からライセンスの発行や返却等を行う。更に、管理センタ１０５に、当該管理装置１０２が管理している情報処理装置１０１の情報の通知等を行う。
【０１１５】
ソフトウェア配信サーバ１０３は、ソフトウェアを管理装置１０２へ配信する。
ライセンス管理サーバ１０４は、情報処理装置１０１でファームウェアやプラグイン等の特定のプログラム（ソフトウェア）を使用するためのライセンスの管理を行う。
管理センタ１０５は、各ユーザがそれぞれ使用している情報処理装置１０１から管理装置１０２経由で送られてくる通知を収集し、その情報処理装置１０１を管理する中央管理装置が設置されている。また、情報処理装置１０１を使用するユーザと管理装置１０２との要求や確認等のやりとりを仲介する。
【０１１６】
〔管理装置のハードウェア構成例〕
次に、図１の管理装置１０２のハードウェア構成例について説明する。
図２は、その管理装置１０２のハードウェア構成例を示すブロック図である。
管理装置１０２は、ＣＰＵ２０１，メモリ２０２，記憶装置２０３，および通信部２０４から構成されている。これらはバス２０５を介して接続されている。
【０１１７】
ＣＰＵ２０１は、管理装置１０２の処理全体を統括し、メモリ２０２や記憶装置２０３、通信部２０４にアクセスしながら各種演算処理を行う。このＣＰＵ２０１がメモリ２０２上の所定のプログラムを実行し、通信部２０４を制御することにより、この発明に関わる情報取得手段，差異検知手段，変更検知通知手段，情報更新手段，要求検知手段，変更要求手段，要求結果通知手段，ライセンスファイル要求手段，ライセンスファイル取得手段，ライセンス返却要求手段，プロダクトキー読み込み手段，時刻取得手段，比較手段，および情報削除手段としての機能を果すことができる。
【０１１８】
メモリ２０２は、一時的な記憶領域を持つＲＡＭ等の記憶手段であり、ＣＰＵ２０１が実行するプログラムを記憶装置２０３から読み取って展開したり、ＣＰＵ２０１が各種演算処理を行うにあたって一時的に必要なデータを保持する。
記憶装置２０３は、永続的な記憶領域を持つＨＤＤ等の不揮発性記憶手段であり、ソフトウェアを構成する各種プログラムやデータを保持する。
通信部２０４は、ネットワークを介して他の電子機器と通信可能に接続し、通信を行う接続手段（通信手段）である。
【０１１９】
なお、情報処理装置１０１，ソフトウェア配信サーバ１０３，およびライセンス管理サーバ１０４も、管理装置１０２と同様なハードウェア構成なので、図示および説明を省略する。また、情報処理装置１０１は、この発明に関わる接続手段，記憶手段，機器固有情報通知手段，機器固有情報判定手段，およびアクティベート処理手段としての機能を、ソフトウェア配信サーバ１０３は、この発明に関わる接続手段，記憶手段，ライセンスファイル発行手段，およびライセンス返却手段としての機能をそれぞれ実現できる。
【０１２０】
〔情報処理装置から取得できるソフトウェア情報の一例〕
次に、図１の情報処理装置１０１から取得できるソフトウェア情報の一例について説明する。
図３は、そのソフトウェア情報の一例を示す説明図である。
情報処理装置１０１から取得できるソフトウェア情報は、ファームウェアの情報かプラグインの情報の２つに分類される。
【０１２１】
ファームウェアの情報は、プロダクトＩＤ３０１およびバージョン３０２から構成されている。ここでは、プロダクトＩＤ３０１が「ｆ００００１」のファームウェアが存在する。
プラグインの情報は、プロダクトＩＤ３０１，バージョン３０２，ライセンス有無３０３，および有効期限３０４から構成されている。ここでは、プロダクトＩＤ３０１がそれぞれｐ００００１,ｐ００００２,ｐ００００３のファームウェアが存在する。
【０１２２】
ここでは、ファームウェアを１つ、プラグインを３つとしているが、これは一例であり、個数はいくつでもよい。また、それらのソフトウェア（プログラム）以外のソフトウェアの情報を加えることもできる。
プロダクトＩＤ３０１は、ソフトウェアと一対一で対応付けられた識別子（識別情報）のことである。
バージョン３０２は、ソフトウェアのリリースに関する数字のことである。この数字が高いほど、より最近にリリースされたソフトウェアであることを意味する。
【０１２３】
ライセンス有無３０３は、対応するプラグインがライセンスを保持しているか（「あり」か）か否か（「なし」か）を表している。「あり」であれば、ライセンスを保持しており、対応するプラグインを利用できることを意味する。「なし」であれば、ライセンスを保持しておらず、対応するプラグインを利用できないことを意味する。ファームウェアは、ハードウェアの基本的な制御を行うソフトウェアであるため、ライセンスの有無はなく、常に利用できるものとする。
【０１２４】
有効期限３０４は、対応するプラグインのライセンスがいつまで有効であるかを表している。
例えば、ライセンス有無３０３が「あり」で、有効期限３０４が「２０１０／１２／３１」であれば、対応するプラグインのライセンスは２０１０／１２／３１まで有効であることを意味する。２０１０／１２／３１を過ぎると、ライセンス有無３０３は「なし」に変わり、有効期限３０４は「なし」に変わる。
【０１２５】
ライセンス有無３０３が「あり」で、有効期限３０４が「なし」であれば、対応するライセンスは無期限に有効であることを意味する。
ライセンス有無３０３が「なし」であれば、対応するプラグインはライセンスを保持していないため、有効期限３０４は「なし」となる。
なお、ファームウェア情報にライセンスの有無や有効期限を加えることもできる。
管理装置１０２は、それぞれの情報処理装置１０１のソフトウェア情報を記憶装置２０３で記憶している。
【０１２６】
〔ライセンス管理サーバで保持されるライセンス管理情報の一例〕
次に、図１のライセンス管理サーバ１０４で保持されるライセンス管理情報の一例について説明する。
図４は、そのライセンス管理情報の一例を示す説明図である。
ライセンス管理サーバ１０４で保持されるデータの一部にライセンス管理情報があり、これはプロダクトキー４０１，プロダクトＩＤ４０２，有効期限４０３，未発行ライセンス数４０４，発行済みライセンス数４０５，および機器固有情報４０６によって構成されている。
【０１２７】
プロダクトキー４０１は、ユーザがライセンスの発行を受けるために必要なキーのことである。ユーザは、プロダクトキーを用いてライセンスの発行を受けることで、ソフトウェアを利用することができる。ここでは、ユーザは既にソフトウェア販売元からライセンスを購入してプロダクトキー「２２２−３３３−５５５」が発行され、ライセンス管理サーバ１０４へも登録されているものとする。
【０１２８】
プロダクトＩＤ４０２は、ソフトウェアと一対一で対応付けられた識別子のことである。ここでは、プロダクトキー４０１によって利用することができるソフトウェアを表しており、プロダクトキー４０１が「２２２−３３３−５５５」でプロダクトＩＤ４０２が 「ｐ００００１」のソフトウェアを利用できる。
有効期限４０３は、このプロダクトキー４０１によって発行されたライセンスがいつまで有効かを表す期限のことである。
【０１２９】
未発行ライセンス数４０４は、このプロダクトキー４０１によってソフトウェアを利用できる情報処理装置１０１の台数の上限を表している。ここでは、未発行ライセンス数は「３」なので、プロダクトキー４０１の「２２２−３３３−５５５」によって、最大３台の情報処理装置１０１でソフトウェアを利用することができる。
発行済みライセンス数４０５は、このプロダクトキー４０１によってソフトウェアを利用している情報処理装置１０１の台数を表している。ここでは、発行済みライセンス数は「０」なので、プロダクトキー４０１の「２２２−３３３−５５５」によってソフトウェアを利用している情報処理装置はない。
【０１３０】
機器固有情報４０６は、このプロダクトキー４０１によってソフトウェアを利用している情報処理装置の機器固有情報を表している。つまり、プロダクトキー４０１が同じであれば、発行済みライセンス数４０５と機器固有情報４０６の数は一致する。ここでは、発行済みライセンス数４０５は「０」なので、機器固有情報４０６は空である。
ライセンス管理情報の構成は一例であり、これら以外の情報も保持することができる。例えば、ライセンスの契約形態が複数ある場合は、その情報を保持することができる。
【０１３１】
〔ライセンス管理サーバが発行するライセンスファイルの一例〕
次に、図１のライセンス管理サーバ１０４が発行するライセンスファイルの形式の一例について説明する。
図５は、そのライセンスファイルの形式の一例を示す説明図である。
ライセンスファイル５０１は、プロダクトＩＤ５０２，機器固有情報５０３，および有効期限５０４から構成されている。
【０１３２】
プロダクトＩＤ５０２は、このライセンスファイル５０１によって利用できるソフトウェアのプロダクトＩＤを表している。ここでは、プロダクトＩＤ５０２を「ｐ００００１」としている。
機器固有情報５０３は、このライセンスファイル５０１を適用できる機器の機器固有情報を表している。つまり、同じ機器固有情報５０３を保持する機器でなければ、ライセンスファイル５０１を適用することができない。ここでは、機器固有情報５０３を「ｍｆｐ００００１」としている。
【０１３３】
有効期限５０４は、このライセンスファイル５０１を適用することで得られるライセンスの有効期限を表している。ここでは、有効期限５０４を「２０１１／１２／３１」としている。
ライセンスファイルの構成は一例であり、これら以外の情報も保持することができる。例えば、ライセンスの契約形態が複数ある場合は、その情報を保持することができる。
【０１３４】
〔ライセンス管理サーバで保持されるライセンス管理情報の更新例〕
次に、図１のライセンス管理サーバ１０４で保持されるライセンス管理情報の更新例について説明する。
図６は、そのライセンス管理情報の更新例を示す説明図である。
ライセンス管理サーバ１０４において、図５に示したライセンスファイルが発行されると、ライセンス管理サーバ１０４で保持される機器固有情報４０６が図４に示した空から図６に示す「ｍｆｐ００００１」へ変化する。そしてこの例では、未発行ライセンス数４０４は「３」から「２」へ変化し、発行済みライセンス数４０５は「０」から「１」へ変化する。
【０１３５】
〔管理装置の記憶装置で記憶されるライセンス情報の一例〕
次に、図１の管理装置１０２の記憶装置２０３で記憶されるライセンス情報の一例について説明する。
図７は、そのライセンス情報の一例を示す説明図である。
管理装置１０２の記憶装置２０３で記憶されるデータにライセンス情報があり、これはプロダクトキー７０１，プロダクトＩＤ７０２，有効期限７０３，および機器固有情報７０４から構成されている。
【０１３６】
そのライセンス情報としては、過去に管理センタ１０５を経由してユーザからアクティベートを要求されたときのライセンス情報が記憶されている。
プロダクトキー７０１，プロダクトＩＤ７０２，有効期限７０３，機器固有情報７０４の意味は、それぞれ図６に示したプロダクトキー４０１，プロダクトＩＤ４０２，有効期限４０３，機器固有情報４０６と同じである。
【０１３７】
〔定期的に行う動作シーケンスの一例〕
次に、図１に示した情報処理装置管理システム内で定期的に行う動作シーケンスの一例について説明する。
図８は、その動作シーケンス一例を示すシーケンス図である。
ソフトウェア情報の取得（Ｓ８０１）は、管理装置１０２から一定期間で定期的に情報処理装置１０１に対して行われる。このとき、管理装置１０２は、ソフトウェア情報の取得要求を情報処理装置１０１へ送信することにより、その情報処理装置１０１にインストール（導入）されたファームウェアやプラグインの情報がソフトウェア情報（図３）として返ってくるので、それを取得する。
【０１３８】
ソフトウェア情報の比較（Ｓ８０２）は、管理装置１０２内で行われる。管理装置１０２の記憶装置２０３で記憶しているソフトウェア情報と、ソフトウェア情報の取得（Ｓ８０１）で取得したソフトウェア情報とを比較する。その比較の手順は、図９で述べる。
ソフトウェア構成変更通知（Ｓ８０３）は、管理装置１０２から管理センタ１０５に対して行われる。ソフトウェア情報の比較（Ｓ８０２）にてソフトウェア情報に変更があった場合にのみ、その変更内容を管理センタ１０５へ通知する。
【０１３９】
ソフトウェア構成変更通知（Ｓ８０４）は、管理センタ１０５からユーザ１２０に対して行われる。ソフトウェア情報の比較（Ｓ８０２）にてソフトウェア情報に変更があり、ソフトウェア構成変更通知（Ｓ８０３）が行われた場合、その変更内容をユーザ１２０へ通知する。ユーザ１２０への通知は、実際にはユーザ１２０が使用する機器（予め通知先として設定された機器）、例えば情報処理装置１０１や図示しないＰＣ（ノートＰＣ等），携帯電話等に対して行う。
【０１４０】
ソフトウェア情報の更新（Ｓ８０５）は、管理装置１０２内で行われる。管理装置１０２の記憶装置２０３で記憶しているソフトウェア情報を、ソフトウェア情報の取得（Ｓ８０１）で取得したものに更新する。
プロダクトキーの有効期限確認（Ｓ８０６）は、管理装置１０２内で行われる。管理装置１０２の記憶装置２０３で記憶しているライセンス情報（図７）の有効期限を確認する。つまり、その有効期限を現在の時刻（例えば年月日時分秒）と比較し、その時刻が有効期限を過ぎているプロダクトキーに対応するライセンス情報を削除する。
【０１４１】
ここで、現在の時刻は、計時手段としての図示しない時計回路から取得することができる。あるいはプログラム（但しＵＮＩＸ（登録商標）系のＯＳに限る）によるソフト的な時計を用いることもできる。ＵＮＩＸ系のＯＳ（Ｌｉｎｕｘを含む）は、時刻情報を１９７０年１月１日０：００からの経過秒として持っているため、時計回路がなくても、秒をカウントできるカウンタがあれば、そのカウンタを用いて時刻計測を行い、現在の時刻を取得することも可能になる。
【０１４２】
要求の確認（Ｓ８０７）は、管理装置１０２から管理センタ１０５に対して行われる。管理装置１０２が、管理センタ１０５に蓄積されたユーザ１２０からの要求を確認する。この例では、「要求なし」となっている。「要求あり」の例は、図１０〜図１５で述べる。
管理装置１０２は、これらの処理を一定間隔で定期的に行う。これにより、管理装置１０２が情報処理装置１０１のソフトウェア情報を確認し、それに変更が加えられた場合、管理センタ１０５へ通知することができるようになる。
【０１４３】
〔管理装置によるソフトウェア情報の比較手順の一例〕
次に、図１の管理装置１０２によるソフトウェア情報の比較（Ｓ８０２）の手順について説明する。
図９は、そのソフトウェア情報の比較（Ｓ８０２）の手順の一例を示すフローチャートである。
【０１４４】
ステップＳ９０１では、図８のソフトウェア情報の取得（Ｓ８０１）で取得したソフトウェア情報とを比較する。
ステップＳ９０２では、ステップＳ９０１で比較したソフトウェア情報の中でもライセンスの部分に注目し、差異があるかないかを判定する。具体的な差異とは、ライセンス有無の不一致である。
ステップＳ９０３では、ステップＳ９０２で差異があると判定されたライセンスに対して、そのライセンスが有効期限内か否かを判定する。
【０１４５】
そして、有効期限内であれば、意図せぬ変更が加えられたことによりライセンス部分の差異が発生したと判断し、ステップＳ９０４へ進む。例えば、ライセンス有無が「なし」から「あり」に変化していた場合、管理装置１０２以外からプラグインのアクティベートが行われたと考える。ライセンス有無が「あり」から「なし」に変化し、「あり」のときの有効期限が未来（この判定日以降）であれば、管理装置１０２以外からプラグインのディアクティベートが行われたと考える。
【０１４６】
有効期限内でなければ、ライセンスの期限切れによりライセンス部分の差異が発生したと判断し、ステップＳ９０５へ進む。例えば、ライセンス有無が「あり」から「なし」に変化し、「あり」のときの有効期限が過去（この判定日以前）であれば、ライセンスの期限切れによって機器のライセンス状態が自動的に変わったと考える。つまり、意図的にライセンス状態が変わったわけではないと考える。
【０１４７】
ステップＳ９０４では、ソフトウェア構成の変更検知を通知する。これは、図８のソフトウェア構成変更通知（Ｓ８０３）に相当する。
ライセンス有無が「なし」から「あり」に変化していたときには、意図せぬプラグインのアクティベートが発生していることを通知する。
ライセンス有無が「あり」から「なし」に変化していたときには、意図せぬプラグインのディアクティベートが発生していることを通知する。
【０１４８】
ステップＳ９０５では、ライセンスの期限切れを通知する。これは、ソフトウェア構成変更通知（Ｓ８０３）に相当する。このとき、ライセンスの期限切れが発生していることを通知する。
ステップＳ９０６では、ステップＳ９０１で比較したソフトウェア情報の中でもライセンス以外の部分に注目し、差異があるかないかを判定する。具体的な差異とは、プロダクトＩＤの一覧の過不足、バージョンの変化である。
【０１４９】
ステップＳ９０７では、ソフトウェア構成の変更検知を通知する。これは、ソフトウェア構成変更通知（Ｓ８０３）に相当する。
プロダクトＩＤに過剰がある場合には、意図せぬプラグインの追加が発生していることを通知する。
プロダクトＩＤに不足がある場合には、意図せぬプラグインの削除が発生していることを通知する。
バージョンに変化がある場合には、意図せぬプラグインの更新が発生していることを通知する。
【０１５０】
〔プラグイン追加要求時の動作シーケンスの一例〕
次に、図１に示した情報処理装置管理システム内でプラグイン追加要求時に行う動作シーケンスの一例について説明する。
図１０は、その動作シーケンスの一例を示すシーケンス図である。
ユーザがプラグインの追加を要求するケースとしては、ユーザが管理センタ１０５からのソフトウェア変更通知（意図せぬプラグインの削除の発生）を受けて要求する場合と、ソフトウェア変更通知とは関係なく要求する場合とがある。いずれの場合も動作シーケンスは同じである。ユーザの要求は、実際にはユーザ１２０が使用する機器の操作により、その機器から発行される。
【０１５１】
プラグイン追加要求（Ｓ１００１）は、ユーザ１２０から管理センタ１０５に対して行われる。このとき、ユーザ１２０は、追加したいプラグインのプロダクトＩＤとバージョンと対象の情報処理装置１０１を指定する。なお、この実施形態では、ユーザ１２０によって指定されるプロダクトＩＤ等の指定情報は、プラグイン追加要求等の要求に付加されるが、付加しなくても構わない。
【０１５２】
要求の確認（Ｓ１００２）は、管理装置１０２から管理センタ１０５に対して行われる。これは、図８の要求の確認（Ｓ８０７）と同じものである。つまり、管理装置１０２が一定間隔で定期的に行う処理の中で要求の確認（Ｓ１００２）が行われ、そこで管理装置１０２はユーザ１２０の要求を知る（認識する）ことができる。また、その要求から指定されたプラグインのプロダクトＩＤ，バージョンと対象の情報処理装置１０１とを知る（検知する）ことができる。なお、それらの指定情報が要求に付加されないような場合には、要求の確認の際に、管理センタ１０５に要求とは別に指定情報を送信してもらい、その内容を知ることもできる。
【０１５３】
プラグインのダウンロード（Ｓ１００３）は、管理装置１０２からソフトウェア配信サーバ１０３に対して行われる。このとき、管理装置１０２は、プラグイン追加要求（Ｓ１００１）で指定されたプロダクトＩＤとバージョンのプラグインをダウンロードする。
プラグインの追加（Ｓ１００４）は、管理装置１０２から情報処理装置１０１に対して行われる。このとき、管理装置１０２は、プラグインのダウンロード（Ｓ１００３）でダウンロードしたプラグインを情報処理装置１０１へ送信し、プラグインの追加を要求する。その情報処理装置１０１は、受信したプラグインの追加処理を行い、その結果として成功／失敗を返す。
【０１５４】
ソフトウェア情報の更新（Ｓ１００５）は、管理装置１０２内で行われる。このとき、管理装置１０２は、記憶装置２０３に記憶されているソフトウェア情報を更新し、プラグインの追加（Ｓ１００４）で追加したプラグインの情報を追加する。この処理は、プラグインの追加（Ｓ１００４）が成功した場合に行い、失敗した場合は行わない。
プラグイン追加要求の結果通知（Ｓ１００６）は、管理装置１０２から管理センタ１０５に対して行われる。このとき、管理装置１０２は、プラグインの追加（Ｓ１００４）の結果を管理センタ１０５へ通知する。
【０１５５】
プラグイン追加要求の結果通知（Ｓ１００７）は、管理センタ１０５からユーザ１２０に対して行われる。このとき、管理センタ１０５は、プラグインの追加（Ｓ１００４）の結果をユーザ１２０へ通知する。
この図１０の動作シーケンスでは、ユーザの要求はプラグインの追加であるが、プラグインの更新も「追加」を「更新」に置き換えた同じ動作シーケンスになる。ファームウェアの更新も「プラグインの追加」を「ファームウェアの更新」に置き換えた同じ動作シーケンスになる。
【０１５６】
〔プラグイン削除要求時の動作シーケンスの一例〕
次に、図１に示した情報処理装置管理システム内でプラグイン削除要求時に行う動作シーケンスの一例について説明する。
図１１は、その動作シーケンスの一例を示すシーケンス図である。
ユーザがプラグインの削除を要求するケースとしては、ユーザが管理センタ１０５からのソフトウェア変更通知（意図せぬプラグインの追加の発生）を受けて要求する場合と、ソフトウェア変更通知とは関係なく要求する場合とがある。いずれの場合も動作シーケンスは同じである。
【０１５７】
プラグイン削除要求（Ｓ１１０１）は、ユーザ１２０から管理センタ１０５に対して行われる。このとき、ユーザ１２０は、削除したいプラグインのプロダクトＩＤと対象の情報処理装置１０１を指定する。
要求の確認（Ｓ１１０２）は、管理装置１０２から管理センタ１０５に対して行われる。これは、図８の要求の確認（Ｓ８０７）と同じものである。つまり、管理装置１０２が一定間隔で定期的に行う処理の中で要求の確認（Ｓ１１０２）が行われ、そこで管理装置１０２はユーザ１２０の要求を知ることができる。また、その要求から指定されたプラグインのプロダクトＩＤと対象の情報処理装置１０１とを知ることもできる。
【０１５８】
プラグインの削除（Ｓ１１０３）は、管理装置１０２から情報処理装置１０１に対して行われる。このとき、管理装置１０２は、プラグイン削除要求（Ｓ１１０１）で指定されたプロダクトＩＤを情報処理装置１０１へ送信する。その情報処理装置１０１は、受信したプロダクトＩＤのプラグインの削除処理を行い、その結果として成功／失敗を返す。
ソフトウェア情報の更新（Ｓ１１０４）は、管理装置１０２内で行われる。このとき、管理装置１０２は、記憶装置２０３に記憶されているソフトウェア情報を更新し、プラグインの削除（Ｓ１１０３）で削除したプラグインの情報を削除する。この処理は、プラグインの削除（Ｓ１１０３）が成功した場合に行い、失敗した場合は行わない。
【０１５９】
プラグイン削除要求の結果通知（Ｓ１１０５）は、管理装置１０２から管理センタ１０５に対して行われる。このとき、管理装置１０２は、プラグインの削除（Ｓ１１０３）の結果を管理センタ１０５へ通知する。
プラグイン削除要求の結果通知（Ｓ１１０６）は、管理センタ１０５からユーザ１２０に対して行われる。このとき、管理センタ１０５は、プラグインの削除（Ｓ１１０３）の結果をユーザ１２０へ通知する。
【０１６０】
〔プラグインアクティベート要求時の動作シーケンスの一例〕
次に、図１に示した情報処理装置管理システム内でプラグインアクティベート要求時に行う動作シーケンスの一例について説明する。
図１２は、その動作シーケンスの一例を示すシーケンス図である。
【０１６１】
ユーザがプラグインのアクティベートを要求するケースとしては、（１）ユーザが管理センタ１０５からのソフトウェア変更通知（意図せぬプラグインのディアクティベートの発生）を受けて要求する場合と、（２）ユーザが管理センタからソフトウェア変更通知（ライセンスの期限切れの発生）を受けて要求する場合と、（３）ソフトウェア変更通知とは関係なく要求する場合とがある。（１）の場合は図１４で述べ、（２）と（３）の場合をここで述べる。
【０１６２】
アクティベート要求（Ｓ１２０１）は、ユーザ１２０から管理センタ１０５に対して行われる。このとき、ユーザ１２０は、アクティベートしたい対象のプラグインのプロダクトキーと対象の情報処理装置１０１を指定する。
要求の確認（Ｓ１２０２）は、管理装置１０２から管理センタ１０５に対して行われる。これは、図８の要求の確認（Ｓ８０７）と同じものである。つまり、管理装置１０２が一定間隔で定期的に行う処理の中で要求の確認（Ｓ１２０２）が行われ、そこで管理装置１０２はユーザ１２０の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトキーと対象の情報処理装置１０１の機器指定情報（ＩＰアドレス等）とを知ることもできる。
【０１６３】
機器固有情報の取得（Ｓ１２０３）は、管理装置１０２から対象の情報処理装置１０１に対して行われる。このとき、管理装置１０２は、機器固有情報の取得要求を対象の情報処理装置１０１へ送信することにより、その情報処理装置１０１が、自身が保持する機器固有情報を返すので、それを取得する。
【０１６４】
ライセンス発行要求（Ｓ１２０４）は、管理装置１０２からライセンス管理サーバ１０４に対して行われる。このとき、管理装置１０２は、アクティベート要求（Ｓ１２０１）で指定されたプロダクトキーと機器固有情報の取得（Ｓ１２０３）で取得した機器固有情報とをライセンス管理サーバ１０４へ送信し、ライセンスファイルの発行を要求する。ライセンス管理サーバ１０４は、その要求により、受信したプロダクトキーからプロダクトＩＤと有効期限とを割り出し、それらと受信した機器固有情報とからライセンスファイルを作成する。そして、作成したライセンスファイルとプロダクトＩＤと有効期限とを管理装置１０２へ返し、受信したプロダクトキーに対応する発行済みライセンス数を１つ増やし、受信した機器固有情報を追加する。
【０１６５】
アクティベート（Ｓ１２０５）は、管理装置１０２から情報処理装置１０１に対して行われる。このとき、管理装置１０２は、ライセンス発行要求（Ｓ１２０４）で取得したライセンスファイルを情報処理装置１０１へ送信し、プラグインのアクティベートを要求する。その情報処理装置１０１は、その要求により、自身が保持している機器固有情報と受信したライセンスファイルを構成する機器固有情報とが一致するか否かを判定し、両機器固有情報が一致したことを確認した上でアクティベート処理を行い、その結果として成功／失敗を返す。
ソフトウェア情報の更新（Ｓ１２０６）は、管理装置１０２内で行われる。このとき、管理装置１０２は、記憶装置２０３に記憶されているソフトウェア情報を更新し、ライセンス発行要求（Ｓ１２０４）で返されたプロダクトＩＤと有効期限とを設定してライセンス有無を「あり」に変更する。この処理は、アクティベート（Ｓ１２０５）が成功した場合に行い、失敗した場合は行わない。
【０１６６】
プロダクトキーの保存（Ｓ１２０７）は、管理装置１０２内で行われる。このとき、管理装置１０２は、記憶装置２０３にてアクティベート要求（Ｓ１２０１）で指定されたプロダクトキーとライセンス発行要求（Ｓ１２０４）で返ってきた有効期限とを記憶する。
アクティベート要求の結果通知（Ｓ１２０８）は、管理装置１０２から管理センタ１０５に対して行われる。このとき、管理装置１０２は、アクティベート（Ｓ１２０５）の結果を管理センタ１０５へ通知する。
アクティベート要求の結果通知（Ｓ１２０９）は、管理センタ１０５からユーザ１２０に対して行われる。このとき、管理センタ１０５は、アクティベート（Ｓ１２０５）の結果をユーザ１２０へ通知する。
【０１６７】
〔プラグインディアクティベート要求時の動作シーケンスの一例〕
次に、図１に示した情報処理装置管理システム内でプラグインディアクティベート要求時に行う動作シーケンスの一例について説明する。
図１３は、その動作シーケンスの一例を示すシーケンス図である。
ユーザがプラグインのディアクティベートを要求するケースとしては、（１）ユーザが管理センタ１０５からのソフトウェア変更通知（意図せぬプラグインのアクティベートの発生）を受けて要求する場合と、（２）ソフトウェア変更通知とは関係なく要求する場合とがある。（１）の場合は図１５で述べ、（２）の場合をここで述べる。
【０１６８】
ディアクティベート要求（Ｓ１３０１）は、ユーザ１２０から管理センタ１０５に対して行われる。このとき、ユーザ１２０は、ディアクティベートしたい対象のプロダクトＩＤと対象の情報処理装置１０１を指定する。
要求の確認（Ｓ１３０２）は、管理装置１０２から管理センタ１０５に対して行われる。これは、図８の要求の確認（Ｓ８０７）と同じものである。つまり、管理装置１０２が一定間隔で定期的に行う処理の中で要求の確認（Ｓ１３０２）が行われ、そこで管理装置１０２はユーザ１２０の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトＩＤと対象の情報処理装置１０１の機器指定情報とを知ることもできる。
【０１６９】
ディアクティベート（Ｓ１３０３）は、管理装置１０２から対象の情報処理装置１０１に対して行われる。このとき、管理装置１０２は、ディアクティベート要求（Ｓ１３０１）で指定された対象のプロダクトＩＤを対象の情報処理装置１０１へ送信する。その情報処理装置１０１は、受信したプロダクトＩＤのプラグインのディアクティベート処理を行い、その結果として成功／失敗を返す。
機器固有情報の取得（Ｓ１３０４）は、管理装置１０２から対象の情報処理装置１０１に対して行われる。このとき、情報処理装置１０１は、機器固有情報の取得要求を対象の情報処理装置１０１へ送信することにより、その情報処理装置１０１が、自身が保持する機器固有情報を返すので、それを取得する。
【０１７０】
ライセンス返却要求（Ｓ１３０５）は、管理装置１０２からライセンス管理サーバ１０４に対して行われる。このとき、管理装置１０２は、ディアクティベート要求（Ｓ１３０１）で指定されたプロダクトＩＤと機器固有情報の取得（Ｓ１３０４）で取得した機器固有情報とを、ライセンス管理サーバ１０４へ送信し、ライセンスの返却を要求する。ライセンス管理サーバ１０４は、その要求により、受信したプロダクトＩＤと機器固有情報からプロダクトキーを特定し、それに対応する発行済みライセンス数を１つ減らし、受信した機器固有情報と一致する機器固有情報を削除する。
【０１７１】
ソフトウェア情報の更新（Ｓ１３０６）は、管理装置１０２内で行われる。このとき、管理装置１０２は、記憶装置２０３に記憶されているソフトウェア情報を更新し、ディアクティベート（Ｓ１３０３）でディアクティベートしたプラグインのライセンス有無を「なし」に変更して有効期限も「なし」に変更する。この処理は、ディアクティベート（Ｓ１３０３）が成功した場合に行い、失敗した場合は行わない。
【０１７２】
プロダクトキーの削除（Ｓ１３０７）は、管理装置１０２内で行われる。このとき、管理装置１０２は、記憶装置２０３に記憶されている有効期限を確認し、有効期限が過去であれば、対応するプロダクトキーを削除する。つまり、記憶装置２０３にてディアクティベート要求（Ｓ１３０１）で指定されたプロダクトＩＤと機器固有情報の取得（Ｓ１３０４）で取得した機器固有情報に対応するプロダクトキーを削除する。
【０１７３】
ディアクティベート要求の結果通知（Ｓ１３０８）は、管理装置１０２から管理センタ１０５に対して行われる。このとき、管理装置１０２は、ディアクティベート（Ｓ１３０３）の結果を管理センタ１０５へ通知する。
ディアクティベート要求の結果通知（Ｓ１３０９）は、管理センタ１０５からユーザ１２０に対して行われる。このとき、管理センタ１０５は、ディアクティベート（Ｓ１３０３）の結果をユーザ１２０へ通知する。
【０１７４】
〔ディアクティベート差し戻し要求時の動作シーケンスの一例〕
次に、図１に示した情報処理装置管理システム内でディアクティベート差し戻し要求時に行う動作シーケンスの一例について説明する。
図１４は、その動作シーケンスの一例を示すシーケンス図である。
これは、ユーザが管理センタ１０５からのソフトウェア構成変更通知（意図せぬプラグインのディアクティベートの発生）を受けてディアクティベートの差し戻し（取り消し）、つまりアクティベートを要求するときの動作シーケンスを示している。
【０１７５】
ディアクティベート差し戻し要求（Ｓ１４０１）は、ユーザ１２０から管理センタ１０５に対して行われる。このとき、ユーザ１２０は、アクティベートしたい対象のプロダクトＩＤと対象の情報処理装置１０１を指定する。
要求の確認（Ｓ１４０２）は、管理装置１０２から管理センタ１０５に対して行われる。これは、図８の要求の確認（Ｓ８０７）と同じものである。つまり、管理装置１０２が一定間隔で定期的に行う処理の中で要求の確認（Ｓ１４０２）が行われ、そこで管理装置１０２はユーザ１２０の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトＩＤと対象の情報処理装置１０１の機器指定情報とを知ることもできる。
【０１７６】
機器固有情報の取得（Ｓ１４０３）は、管理装置１０２から情報処理装置１０１に対して行われる。このとき、情報処理装置１０１は、機器固有情報の取得要求を対象の情報処理装置１０１へ送信することにより、その情報処理装置１０１が、自身が保持する機器固有情報を返すので、それを取得する。
プロダクトキーの読み込み（Ｓ１４０４）は、管理装置１０２内で行われる。このとき、管理装置１０２はディアクティベート差し戻し要求（Ｓ１４０１）で指定された対象のプロダクトＩＤと機器固有情報の取得（Ｓ１４０３）で取得した機器固有情報とに基づいて、対応するプロダクトキーを記憶装置２０３に記憶されているライセンス情報から読み込む。
【０１７７】
ライセンス発行要求（Ｓ１４０５）は、管理装置１０２からライセンス管理サーバ１０４に対して行われる。このとき、管理装置１０２は、プロダクトキーの読み込み（Ｓ１４０４）で読み込んだプロダクトキーと機器固有情報の取得（Ｓ１４０３）で取得した機器固有情報とを、ライセンス管理サーバ１０４へ送信し、ライセンスファイルの発行を要求する。ライセンス管理サーバ１０４は、その要求により、受信したプロダクトキーからプロダクトＩＤと有効期限とを割り出し、それらと受信した機器固有情報とからライセンスファイルを作成する。そして、作成したライセンスファイルとプロダクトＩＤと有効期限とを管理装置１０２へ返し、受信したプロダクトキーに対応する発行済みライセンス数を１つ増やし、受信した機器固有情報を追加する。
【０１７８】
アクティベート（Ｓ１４０６）は、管理装置１０２から情報処理装置１０１に対して行われる。このとき、管理装置１０２は、ライセンス発行要求（Ｓ１４０５）で取得したライセンスファイルを情報処理装置１０１へ送信し、プラグインのアクティベートを要求する。その情報処理装置１０１は、その要求により、自身が保持している機器固有情報と受信したライセンスファイルが保持する機器固有情報が同じことを確認した上でアクティベート処理を行い、その結果として成功／失敗を返す。
ソフトウェア情報の更新（Ｓ１４０７）は、管理装置１０２内で行われる。このとき、管理装置１０２は、記憶装置２０３に記憶されているソフトウェア情報を更新し、ライセンス発行要求（Ｓ１４０５）で返されたプロダクトＩＤと有効期限とを設定してライセンス有無を「あり」に変更する。この処理は、アクティベート（Ｓ１４０６）が成功した場合に行い、失敗した場合は行わない。
【０１７９】
ディアクティベート差し戻し要求の結果通知（Ｓ１４０８）は、管理装置１０２から管理センタ１０５に対して行われる。このとき、管理装置１０２は、アクティベート（Ｓ１４０６）の結果を管理センタ１０５へ通知する。
ディアクティベート差し戻し要求の結果通知（Ｓ１４０９）は、管理センタ１０５からユーザ１２０に対して行われる。このとき、管理センタ１０５は、アクティベート（Ｓ１４０６）の結果をユーザ１２０へ通知する。
【０１８０】
〔アクティベート差し戻し要求時の動作シーケンスの一例〕
次に、図１に示した情報処理装置管理システム内でアクティベート差し戻し要求時に行う動作シーケンスの一例について説明する。
図１５は、その動作シーケンスの一例を示すシーケンス図である。
これは、ユーザが管理センタ１０５からのソフトウェア変更通知（意図せぬプラグインのアクティベートの発生）を受けてアクティベート差し戻し、つまりディアクティベートを要求するときの動作シーケンスを示している。
【０１８１】
アクティベート差し戻し要求（Ｓ１５０１）は、ユーザ１２０から管理センタ１０５に対して行われる。このとき、ユーザ１２０は、ディアクティベートしたい対象のプロダクトＩＤと対象の情報処理装置１０１を指定する。
要求の確認（Ｓ１５０２）は、管理装置１０２から管理センタ１０５に対して行われる。これは、図８の要求の確認（Ｓ８０７）と同じものである。つまり、管理装置１０２が一定間隔で定期的に行う処理の中で要求の確認（Ｓ１５０２）が行われ、そこで管理装置１０２はユーザ１２０の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトＩＤと対象の情報処理装置１０１の機器指定情報とを知ることもできる。
【０１８２】
ディアクティベート（Ｓ１５０３）は、管理装置１０２から情報処理装置１０１に対して行われる。このとき、管理装置１０２は、アクティベート差し戻し要求（Ｓ１５０１）で指定されたプロダクトＩＤを情報処理装置１０１へ送信する。その情報処理装置１０１は、受信したプロダクトＩＤのプラグインのディアクティベート処理を行い、その結果として成功／失敗を返す。
機器固有情報の取得（Ｓ１５０４）は、管理装置１０２から情報処理装置１０１に対して行われる。このとき、情報処理装置１０１は、機器固有情報の取得要求を対象の情報処理装置１０１へ送信することにより、その情報処理装置１０１が、自身が保持する機器固有情報を返すので、それを取得する。
【０１８３】
ライセンス返却要求（Ｓ１５０５）は、管理装置１０２からライセンス管理サーバ１０４に対して行われる。このとき、管理装置１０２は、アクティベート差し戻し要求（Ｓ１５０１）で指定されたプロダクトＩＤと機器固有情報の取得（Ｓ１５０４）で取得した機器固有情報とを、ライセンス管理サーバ１０４へ送信し、ライセンスの返却を要求する。ライセンス管理サーバ１０４は、その要求により、受信したプロダクトキーと機器固有情報からプロダクトキーを特定し、それに対応する発行済みライセンス数を１つ減らし、受信した機器固有情報と一致する機器固有情報を削除する。
【０１８４】
ソフトウェア情報の更新（Ｓ１５０６）は、管理装置１０２内で行われる。このとき、管理装置１０２は、記憶装置２０３に記憶されているソフトウェア情報を更新し、ディアクティベート（Ｓ１３０３）でディアクティベートしたプラグインのライセンス有無を「なし」に変更して有効期限も「なし」に変更する。この処理は、ディアクティベート（Ｓ１３０３）が成功した場合に行い、失敗した場合は行わない。
【０１８５】
アクティベート差し戻し要求の結果通知（Ｓ１５０７）は、管理装置１０２から管理センタ１０５に対して行われる。このとき、管理装置１０２は、ディアクティベート（Ｓ１５０３）の結果を管理センタ１０５へ通知する。
アクティベート差し戻し要求の結果通知（Ｓ１５０８）は、管理センタ１０５からユーザ１２０に対して行われる。このとき、管理センタ１０５は、ディアクティベート（Ｓ１５０３）の結果をユーザ１２０へ通知する。
【０１８６】
このように、管理装置が、ソフトウェア情報およびライセンス情報を記憶する記憶装置を備え、自己と通信可能な情報処理装置に導入されたソフトウェアの情報を、その情報処理装置から定期的に取得し、その取得したソフトウェア情報と記憶装置内のソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知すると共に、上記取得したソフトウェア情報によって記憶装置内の対応するソフトウェア情報を更新した後、上記ユーザからのソフトウェア構成の変更要求を検知した場合に、記憶装置内の対応するライセンス情報を利用して、上記情報処理装置へソフトウェア構成の変更を要求し、その要求の結果を上記ユーザに対して通知することにより、情報処理装置において管理装置以外から意図せぬソフトウェア構成の変更があった場合に、そのソフトウェア構成を変更前の状態に戻すことができる。つまり、情報処理装置において管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーすることができる。
【０１８７】
以上の実施形態では、この発明による管理装置を含む電子機器管理システムの例として、管理装置により情報処理装置を管理する情報処理装置管理システムについて説明したが、この発明はこれに限られるものではなく、ネットワーク家電，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，ＡＶ機器，遊戯機器等の組み込み機器や、ネットワークに接続可能なコンピュータ等も含め、各種電子機器を被管理装置とし、それらの被管理装置を管理装置によって管理する電子機器管理システムにも適用可能である。
【０１８８】
〔この発明に関わるプログラム〕
このプログラムは、管理装置を制御するコンピュータであるＣＰＵに、この発明に関わる情報取得手段，差異検知手段，変更検知通知手段，情報更新手段，要求検知手段，変更要求手段，要求結果通知手段，ライセンスファイル要求手段，ライセンスファイル取得手段，ライセンス返却要求手段，プロダクトキー読み込み手段，時刻取得手段，比較手段，および情報削除手段としての機能を実現させるためのプログラムであり、このようなプログラムをＣＰＵに実行させることにより、上述したような作用効果を得ることができる。
【０１８９】
このようなプログラムは、はじめから管理装置に備えるＲＯＭ、あるいは不揮発性メモリ（フラッシュＲＯＭ，ＥＥＰＲＯＭ等）、あるいはＨＤＤなどの記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭ、あるいはメモリカード，フレキシブルディスク，ＭＯ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，又はＤＶＤ−ＲＡＭ等の不揮発性記録媒体（メモリ）に記録して提供することもできる。それらの記録媒体に記録されたプログラムを管理装置にインストールしてＣＰＵに実行させるか、ＣＰＵにそれらの記録媒体からこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【０１９０】
以上の説明から明らかなように、この発明によれば、管理装置と接続可能な電子機器において、管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーすることができる。したがって、電子機器を常に最適なソフトウェア構成で動作させることが可能な管理装置、それを含む電子機器管理システムを提供することができる。
【符号の説明】
【０１９１】
１０１：情報処理装置    １０２：管理装置    １０３：ソフトウェア配信サーバ
１０４：ライセンス管理サーバ    １０５：管理センタ
１０６：ローカルネットワーク    １０７：インタネット    ＣＰＵ２０１，メモリ２０２，記憶装置２０３，および通信部２０４
【先行技術文献】
【特許文献】
【０１９２】
【特許文献１】特開２００２−２８８０６６号公報
【図１】
0005531819.tif 000002
【図２】
0005531819.tif 000003
【図３】
0005531819.tif 000004
【図４】
0005531819.tif 000005
【図５】
0005531819.tif 000006
【図６】
0005531819.tif 000007
【図７】
0005531819.tif 000008
【図８】
0005531819.tif 000009
【図９】
0005531819.tif 000010
【図１０】
0005531819.tif 000011
【図１１】
0005531819.tif 000012
【図１２】
0005531819.tif 000013
【図１３】
0005531819.tif 000014
【図１４】
0005531819.tif 000015
【図１５】
0005531819.tif 000016
【図１６】
0005531819.tif 000017
【図１７】
0005531819.tif 000018
【図１８】
0005531819.tif 000019
【図１９】
0005531819.tif 000020
【図２０】
0005531819.tif 000021
【図２１】
0005531819.tif 000022
【図２２】
0005531819.tif 000023
【図２３】
0005531819.tif 000024
【図２４】
0005531819.tif 000025
【図２５】
0005531819.tif 000026
【図２６】
0005531819.tif 000027
【図２７】
0005531819.tif 000028
【図２８】
0005531819.tif 000029
【図２９】
0005531819.tif 000030
【図３０】
0005531819.tif 000031
【図３１】
0005531819.tif 000032
【図３２】
0005531819.tif 000033