管理装置,ライセンス管理サーバ,電子機器,電子機器管理システム,管理方法,プログラム,および記録媒体
【課題】 情報処理装置等の電子機器で管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーできるようにする。
【解決手段】 管理装置101は、ソフトウェア情報とライセンス情報を記憶する記憶装置を備え、自己と通信可能な情報処理装置101に導入されたソフトウェアの情報を、情報処理装置101から定期的に取得し、そのソフトウェア情報と記憶装置内のソフトウェア情報とを比較し、両情報の差異を検知すると、ソフトウェア構成の変更検知をユーザ120に対して通知すると共に、上記取得したソフトウェア情報によって記憶装置内の対応するソフトウェア情報を更新する。その後、ユーザ120からのソフトウェア構成の変更要求を検知すると、記憶装置内の対応するライセンス情報を利用して、上記情報処理装置へソフトウェア構成の変更を要求し、その要求の結果をユーザ120に対して通知する。
【解決手段】 管理装置101は、ソフトウェア情報とライセンス情報を記憶する記憶装置を備え、自己と通信可能な情報処理装置101に導入されたソフトウェアの情報を、情報処理装置101から定期的に取得し、そのソフトウェア情報と記憶装置内のソフトウェア情報とを比較し、両情報の差異を検知すると、ソフトウェア構成の変更検知をユーザ120に対して通知すると共に、上記取得したソフトウェア情報によって記憶装置内の対応するソフトウェア情報を更新する。その後、ユーザ120からのソフトウェア構成の変更要求を検知すると、記憶装置内の対応するライセンス情報を利用して、上記情報処理装置へソフトウェア構成の変更を要求し、その要求の結果をユーザ120に対して通知する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、通信可能な画像読取装置(スキャナ装置等),画像形成装置(デジタル複合機,デジタル複写機,ファクシミリ装置,プリンタ装置等),パーソナルコンピュータ,車載情報処理装置等の情報処理装置を含む各種の電子機器、それを管理する管理装置、上記電子機器で特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバ、上記電子機器と管理装置とを備えた電子機器管理システム、上記管理装置における管理方法、その管理装置を制御するコンピュータに必要な機能(この発明に係わる機能)を実現させるためのプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【0002】
例えば、上記のような情報処理装置に導入されるソフトウェアには、ハードウェアの基本的な制御を行うファームウェアや、その情報処理装置の機能を提供するプラグイン(小さなプログラム)などがある。ソフトウェアをファームウェアやプラグインとして提供することで、容易にソフトウェアの追加/更新/削除などを実現することができる。また、情報処理装置に組み込まれた各プラグインを、「アクティベート(ライセンスが適用)されると利用できるようになり、ディアクティベート(ライセンスが解除)されると利用できなくなる」とすることで、プラグイン単位で利用可能な機能を制限することもできる。以後、ソフトウェアの追加/更新/削除/アクティベート/ディアクティベートなどを総称して、「ソフトウェア構成の変更」又は「ソフトウェアの変更」,又は「ソフトウェアの更新」と呼ぶ。
【0003】
ところで、情報処理装置のソフトウェア構成を変更するためには、ネットワークを介して情報処理装置と接続可能な管理装置を設置し、その管理装置からソフトウェア構成の変更を要求するシステムが考えられる。このようなシステムとしては、管理装置が、各情報処理装置に導入されたソフトウェアのバージョンを定期的に確認し、バージョンが最新でない場合には、ソフトウェアの更新を行うことで、バージョンを最新に保つことができる情報処理装置管理システムが既に知られている。
【0004】
しかし、このような従来の情報処理装置管理システムでは、ソフトウェアのバージョンを最新に保つことはできるが、「管理装置以外から意図せぬソフトウェア構成の変更が行われたとき、管理装置がその変更を検知してリカバリーすることができない」という問題があった。管理装置以外からの意図せぬ変更とは、例えば情報処理装置の操作部から誤ってソフトウェアの追加/更新/削除/アクティベート/ディアクティベートなどを行ってしまうことである。管理装置が情報処理装置に導入されたソフトウェアのバージョンを確認するだけでは、このようなソフトウェア構成の変更を検知できない。
【0005】
そこで、その問題を解消するため、特許文献1に開示されている技術を利用することが考えられる。
特許文献1には、画像形成装置のファームウェア更新の手間と時間を省く目的で、ネットワークを介して画像形成装置を管理する画像形成装置管理システムについて開示されている。このシステムでは、管理装置(クライアント)が画像形成装置へ現在のバージョンの送信要求を行い、それに対して画像形成装置が現在のバージョンを返し、管理装置がそのバージョンと外部記録装置に記録されているファームウェアのバージョンとを比較することにより、最新バージョンであるか否かを判定し、最新バージョンでなかった場合に、最新バージョンのファームウェアを外部記録装置から読み込んで画像形成装置へ送信し、そのファームウェアを受信した画像形成装置が、ファームウェアを最新バージョンに更新する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載のものでも、管理装置以外から意図せぬソフトウェア構成の変更が行われたとき、管理装置がその変更を検知してリカバリーすることができない」という欠点は解消できていない。
この発明は、上記の点に鑑みてなされたものであり、管理装置と接続可能な電子機器において、管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーできるようにすることを目的とする。
【課題を解決するための手段】
【0007】
この発明は、上記の目的を達成するため、以下に示す管理装置、ライセンス管理サーバ、電子機器、その電子機器と上記管理装置とを備えた電子機器管理システム、上記管理装置における管理方法、上記管理装置を制御するコンピュータに実行させるプログラム,およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【0008】
この発明による管理装置は、電子機器と通信可能に接続する接続手段を備え、それによって接続される電子機器を管理する管理装置であって、ソフトウェア情報およびライセンス情報を記憶する記憶手段と、上記電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得する情報取得手段と、それによって取得したソフトウェア情報と上記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知手段と、それによって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知手段と、上記情報取得手段によって取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新する情報更新手段と、上記ユーザからのソフトウェア構成の変更要求を検知する要求検知手段と、それによってソフトウェア構成の変更要求を検知した場合に、上記記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求する変更要求手段と、それによる要求の結果を上記ユーザに対して通知する要求結果通知手段とを設けたものである。
【0009】
なお、以下の(1)〜(5)に示すようにするとよい。
(1)上記接続手段に、上記電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバと通信可能に接続する手段を備え、上記要求検知手段に、上記ユーザからのソフトウェア構成の変更要求を検知する際に、そのユーザからの指定情報を検知する手段を備え、上記情報取得手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェア(プラグイン等)のアクティベート要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトキーが検知された場合に、その機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記要求検知手段によって検知されたプロダクトキーと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求するライセンスファイル要求手段と、その要求に対して、上記ライセンス管理サーバから発行されたライセンスファイルを取得するライセンスファイル取得手段とを設け、上記変更要求手段に、上記ライセンスファイル取得手段によって取得したライセンスファイルを上記要求検知手段によって検知された機器指定情報が示す電子機器へ送信し、ソフトウェアのアクティベートを要求する手段を備え、上記情報更新手段に、上記要求検知手段によって検知されたプロダクトキーを上記記憶手段内の対応するライセンス情報に追加する手段を備える。
【0010】
(2)(1)に示した構成に加え、上記変更要求手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、そのプロダクトIDをその機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を備え、上記情報取得手段に、上記要求検知手段によってソフトウェアのディアクティベート要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトIDと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスの返却を要求するライセンス返却要求手段を設け、上記情報更新手段に、上記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトIDと上記情報取得手段によって取得した機器固有情報に対応するライセンスキーを上記記憶手段内の対応するライセンス情報から削除する手段を備える。
【0011】
(3)(2)に示した構成に加え、上記変更要求手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート取り消し要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、その機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記要求検知手段によってソフトウェアのディアクティベート取り消し要求と共に検知されたプロダクトIDと上記情報取得手段によって取得した機器固有情報に基づいて、上記記憶手段内の対応するライセンス情報からプロダクトキーを読み込むプロダクトキー読み込み手段を設け、上記ライセンスファイル要求手段に、上記プロダクトキー読み込み手段によって読み込んだプロダクトキーと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求する手段を備える。
【0012】
(4)(2)又は(3)に示した構成に加え、上記変更要求手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェアのアクティベート取り消し要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、そのプロダクトIDをその機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を備え、上記情報取得手段に、上記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記ライセンス返却要求手段に、上記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知されたプロダクトIDと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスの返却を要求する手段を備える。
【0013】
(5)(2)〜(4)のいずれかに示した構成に加え、上記記憶手段内のライセンス情報を、少なくともプロダクトキーと有効期限とによって構成し、現在の時刻を取得する時刻取得手段と、それによって取得した現在の時刻と上記有効期限とを比較する比較手段と、その比較の結果、上記有効期限を経過しているプロダクトキーに対応するライセンス情報を上記記憶手段から削除する情報削除手段とを設ける。
【0014】
この発明によるライセンス管理サーバは、(5)に示した構成を加えた管理装置と通信可能に接続する接続手段を供え、それによって接続される管理装置と通信可能な電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバであって、プロダクトキー,プロダクトID,有効期限,未発行ライセンス数,発行済みライセンス数,および上記電子機器の機器固有情報からなるライセンス情報を記憶する記憶手段と、上記管理装置からライセンスファイルの発行要求と共にプロダクトキーと機器固有情報とを受信した場合に、そのプロダクトキーとその機器固有情報とに基づいて、上記ライセンス情報記憶手段内の対応するプロダクトID,機器固有情報,有効期限を含むライセンスファイルを作成して上記管理装置へ送信し、上記記憶手段内の対応する上記未発行ライセンス数を1つ減らすと共に、対応する上記発行済みライセンス数を1つ増やすライセンスファイル発行手段と、上記管理装置から上記ライセンスの返却要求と共にプロダクトIDと機器固有情報とを受信した場合に、上記記憶手段内の対応する未発行ライセンス数を1つ増やすと共に、対応する発行済みライセンス数を1つ減らすライセンス返却手段とを設けたものである。
【0015】
この発明による電子機器は、(2)〜(5)のいずれかに示した構成を加えた管理装置と通信可能に接続する接続手段を備え、それによって接続される管理装置によって管理される電子機器であって、その電子機器の機器固有情報を記憶する記憶手段と、上記管理装置から機器固有情報取得要求を受信した場合に、上記記憶手段内の上記機器固有情報を上記管理装置へ通知する機器固有情報通知手段と、上記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と上記記憶手段内の上記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、その判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたものである。
【0016】
この発明による電子機器管理システムは、(2)〜(5)のいずれかに示した構成を加えた管理装置と、その管理装置と通信可能に接続する接続手段を備え、それによって接続される管理装置によって管理される電子機器とを備えた電子機器管理システムであって、上記電子機器に、上記管理装置から機器固有情報取得要求を受信した場合に、上記記憶手段内の上記機器固有情報を上記管理装置へ通知する機器固有情報通知手段と、上記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と上記記憶手段内の上記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、それによる判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたものである。
【0017】
この発明による管理方法は、電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを備え、上記接続手段によって接続される電子機器を管理する管理装置における管理方法であって、上記電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得する情報取得工程と、それによって取得したソフトウェア情報と上記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知工程と、それによって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知工程と、上記情報取得工程によって取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新する情報更新工程と、上記ユーザからのソフトウェア構成の変更要求を検知する要求検知工程と、それによってソフトウェア構成の変更要求を検知した場合に、上記記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求する変更要求工程とを有するものである。
【0018】
この発明によるプログラムは、電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを備え、上記接続手段によって接続される電子機器を管理する管理装置を制御するコンピュータに、上記電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得する情報取得機能と、それによって取得したソフトウェア情報と上記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知機能と、それによって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知機能と、上記情報取得機能によって取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新する情報更新機能と、上記ユーザからのソフトウェア構成の変更要求を検知する要求検知機能と、それによってソフトウェア構成の変更要求を検知した場合に、上記記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求する変更要求機能とを実現させるためのプログラムである。
この発明による記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0019】
この発明によれば、管理装置が、ソフトウェア情報およびライセンス情報を記憶する記憶手段を備え、自己と通信可能な電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得し、その取得したソフトウェア情報と記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知すると共に、上記取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新した後、上記ユーザからのソフトウェア構成の変更要求を検知した場合に、記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求し、その要求の結果を上記ユーザに対して通知することにより、電子機器において管理装置以外から意図せぬソフトウェア構成の変更があった場合に、そのソフトウェア構成を変更前の状態に戻すことができる。つまり、電子機器において管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーすることができる。
【図面の簡単な説明】
【0020】
【図1】この発明による管理装置を含む電子機器管理システムの一実施形態である情報処理装置管理システムのネットワーク構成例を示す概念図である。
【図2】図1の管理装置102のハードウェア構成例を示すブロック図である。
【図3】図1の情報処理装置101から取得できるソフトウェア情報の一例を示す説明図である。
【図4】図1のライセンス管理サーバ104で保持されるライセンス管理情報の一例を示す説明図である。
【図5】図1のライセンス管理サーバ104が発行するライセンスファイルの形式の一例を示す説明図である。
【図6】図1のライセンス管理サーバ104で保持されるライセンス管理情報の更新例を示す説明図である。
【図7】図1の管理装置102の記憶装置203で記憶されるライセンス情報の一例を示す説明図である。
【0021】
【図8】図1に示した情報処理装置管理システム内で定期的に行う動作シーケンスの一例を示すシーケンス図である。
【図9】図1の管理装置102によるソフトウェア情報の比較(S802)の手順の一例を示すフロー図である。
【図10】図1に示した情報処理装置管理システム内でプラグイン追加要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図11】同じくプラグイン削除要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図12】同じくプラグインアクティベート要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図13】同じくプラグインディアクティベート要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図14】同じくディアクティベート差し戻し要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図15】同じくアクティベート差し戻し要求時に行う動作シーケンスの一例を示すシーケンス図である。
【0022】
【図16】この発明の第1参考例である画像形成装置管理システムのネットワーク構成例を示す概念図である。
【図17】図16の画像形成装置1〜4内の主要なハードウェアおよびソフトウェアの論理的な構成例を示すブロック図である。
【図18】図16の画像形成装置1〜4内のハードウェアの構成例を示すブロック図である。
【図19】図17に示した画像形成装置1〜4内の各部によるユーザ認証時の動作シーケンスの一例を示すシーケンス図である。
【図20】図17に示した画像形成装置1〜4内の各部による修正データ適用時の動作シーケンスの一例を示すシーケンス図である。
【図21】図17に示した画像形成装置1〜4内の各部による修正データの適用のための動作シーケンスの他の例を示すシーケンス図である。
【図22】同じく外部機器からの状態変更の連絡のための動作シーケンスの一例を示すシーケンス図である。
【図23】同じく外部機器からの修正データの適用のための動作シーケンスの一例を示すシーケンス図である。
【図24】、図17に示した画像形成装置1〜4内の各部によるユーザ認証の解除のための動作シーケンスの一例を示すシーケンス図である。
【0023】
【図25】図17の入出力制御部11および実行プログラム制御部19等による修正データ適用可否の確認処理の一例を示すフローチャートである。
【図26】図18の記憶装置14およびメモリ23内のデータを各データの構造例を示す説明図である。
【図27】図17の操作パネル15上における修正可能プログラム検索画面の表示例を示す図である。
【図28】同じく修正対象プログラム選択画面の表示例を示す図である。
【図29】同じく適用中画面の表示例を示す図である。
【図30】同じく認証解除中画面の表示例を示す図である。
【図31】同じく適用中画面の表示例を示す図である。
【図32】図18のメモリ14上の修正対象プログラムの変更説明に供する説明図である。
【発明を実施するための形態】
【0024】
この発明を実施するための形態の説明に入る前に、理解の便宜のため、この発明の各参考例について、対応する課題と共に、図16〜図32を参照して説明する。
電子機器(機械)で不具合が発生し、例えば、それがファームウェアの問題であった場合、そのファームウェアを構成するプログラムの修正が必要になる。通常は、不具合が発生した後、その問題を解決するためにプログラムのソースコードを調査して、その問題を発見し、その後プログラムを作り直して、機械のファームウェアを更新する。
このとき、2つの課題が発生する。一つは、ソースコードの調査に時間がかかることである。もう一つは、ファームウェアの更新である。
【0025】
ソースコードレベルの実装上の問題は、たいてい仕様書に書いてないことが多く、複雑なプログラムになればなるほど、問題を特定するのは難しくなる。また、ファームウェア更新においては、サーバ装置や画像形成装置などの入出力装置では、ダウンタイムを気にする場合、機械を一時的に止めることが困難なケースも存在する。
これらの問題は、プログラムを動的に変更(単に「変更」ともいう)する技術によって解決することが可能なことが分かっている。一つ目の問題は、動作中の不具合を持った機械に対して、調査用のプログラムを送りこむことにより、プログラムの動作や変数の値を調査することで問題解決の期間を短縮し、ファームウェアの更新はプログラムを修正(変更)することで、機械を止めることなく不具合を取り除くことができる。
【0026】
一方、プログラムを変更する技術は、プログラムの一部を置き換える手法である。また、プログラム変更技術を画像形成装置に適用する場合、2つの方法がある。一つは、サーバ装置と画像形成装置とをネットワーク経由で通信可能に接続し、サーバ装置から画像形成装置にプログラムを送り込む方法であり、もう一方は、画像形成装置に外部記録媒体等を用いてプログラムを送り込む方法である。
【0027】
プログラムの動的な変更を目的とした場合、どちらの手法を用いた場合でもセキュリティ上の課題が出てくる。その課題とは、前者の場合は以下の(a)(b)に示す問題、後者の場合は以下の(c)(d)に示す問題である。
(a)サーバ装置の認証の問題
(b)ネットワーク上でのプログラムの改ざんの問題
(c)外部記録媒体上のプログラムの改ざんの問題
(d)ユーザの認証の問題
【0028】
以上の4つの課題は、一般的な認証方法を用いて解決することが可能である。つまり、(a)に示した問題は、証明書の交換等による装置同士の接続認証によって解消できる。(b)(c)に示した問題は、電子署名等によるプログラムの認証によって解消できる。(d)に示した問題は、パスワード認証等によるユーザの認証(個人認証)によって解消できる。
【0029】
上記のような認証方式を用いて、セキュリティを強化した場合、次にユーザビリティの課題が発生する。具体的には、プログラムの認証を一度サーバ装置のような認証装置を通して電子署名等を作成し、それを再度ダウンロードして、機器にインストールする場合などである。
このような場合、ユーザはプログラムを修正する度に、認証装置にアクセスする必要があり、動的なプログラムの利便性である対応速度が損なわれる。また、機器上においても、プログラムの認証をプログラムの起動毎に実施していては、プログラムの挙動に変化を及ぼすため、例えば処理能力が低下したり、問題の再現が行われない問題も発生する。
【0030】
そこで、上記課題を考慮して、ユーザやプログラムの認証に関わる手間を極力省きながら、動的なプログラムの変更技術を適用する方法を提案する。
その解決方法の基本的シナリオの一例は、以下の通りである。
1.認証装置は、ユーザの操作に従って、ユーザ登録を行い、個人認証を設定して、登録ユーザに対応する暗号化した電子証明書(又はID+パスワード等)をユーザ認証情報(以下「ユーザ情報」又は「認証情報」ともいう)を作成する。
2.認証装置は、ユーザの操作に従って、指定プログラムに対する制約(制限)の解除を行う。このとき、例えば動的変更可能なプログラムを指定することにより、その指定したプログラムを制約解除されたプログラムとし、そのプログラムが修正データ(「プログラム修正データ」又は「修正プログラム」ともいう)によって修正(書き換え)可能になるため、そのプログラムの情報(プログラム名等)を修正対象プログラム情報として作成する。
【0031】
3.認証装置は、作成した認証情報に作成した修正対象プログラム情報を付加し、ユーザ認証データとしてユーザ指定の外部記録装置に書き込む。
4.認証装置は、ユーザの操作に従い、制約解除されたプログラムに対して、動的に変更するための修正データを作成する。このとき、その修正データをユーザ認証データに含めてもよい。
5.画像形成装置は、上記の外部記録媒体がユーザによって挿着されると、その外部記録媒体に書き込まれているユーザ認証データに含まれている認証情報を用いて個人認証(ユーザ認証)を行う。
【0032】
6.認証装置は、ユーザの操作に従い、先に作成した修正データを画像形成装置へ渡す。
7.画像形成装置は、上記の個人認証が成功すると、上記外部記録媒体に書き込まれているユーザ認証データに付加されている修正対象プログラム情報に基づき、認証装置から渡された修正データが動作中のプログラムに適用可能な場合に、そのプログラムに対して修正データを適用する。つまり、そのプログラムを修正データによって修正する。
このような基本的シナリオのバリエーションを以下の各参考例で説明する。
【0033】
〔第1参考例〕
まず、この発明の第1参考例である画像形成装置管理システムの概要について説明する。なお、この第1参考例では、1台の画像形成装置におけるプログラムを修正するためのデータ(修正データ)の適用について述べる。
図16は、その画像形成装置管理システムのネットワーク構成例を示す概念図である。なお、図中の各装置間の実線はネットワークによる接続を、破線はデータの流れをそれぞれ示している。
【0034】
この第1参考例の画像形成装置管理システムでは、サーバ装置5が、ユーザの認証データ(認証情報)を作成する認証データ作成手段と、動的なプログラム変更を実現するための修正データを作成する修正データ作成手段としての各機能の両方を有しているが、その各機能は別のサーバ装置に配置されていてもよい。
図16に示す画像形成装置を囲む円は、画像形成装置のグループを示す。第1参考例では、この円が修正データの適用範囲を示している。この図16では、認証デバイス6の装着先が画像形成装置1となっていることから、修正データ7の適用範囲は画像形成装置1〜3となり、画像形成装置4には修正データが適用できないことを示している。
修正データ7は、着脱可能な図示しない外部記録媒体またはネットワークを介して、画像形成装置1〜3に導入される。
【0035】
次に、図16の画像形成装置1〜4内の主要なハードウェアおよびソフトウェアの論理的な構成例について説明する。なお、後述するソフトウェア(ハードウェア制御層とシステム管理層)による処理や制御は、実際にはCPUがソフトウェアに従って動作することによって実行するが、説明の都合上、ソフトウェアが処理を実行するものとして説明する。以後も、ソフトウェアが何らかの処理や制御を行うものとして説明を行う場合には、同様とする。
図17は、図16の画像形成装置1〜4内の主要なハードウェアおよびソフトウェアの論理的な構成例を示すブロック図である。
【0036】
この画像形成装置1〜4は、デジタル複合機(MFP),デジタル複写機,ファクシミリ装置,プリンタ装置等であり、図17に示すように、ハードウェア層(一番右の列)と、ハードウェア制御層(右から二番目の列)と、システム管理層(左から二番目の列)、アプリケーション層(一番左の列)とによって構成されている。
ハードウェア制御層は本来、各ハードウェア単位に存在するが、この第1参考例では分割することに差異がないため、入出力制御部11としてひとまとめにしてある。
【0037】
ネットワークインタフェース(以下「インタフェース」を「I/F」ともいう)12は、LAN(ローカルエリアネットワーク)等のネットワークを介して図1のサーバ装置5等の外部機器と通信可能に接続する接続手段である。
外部入出力インタフェース13は、USBやSDカードなどの着脱可能な外部記録媒体と通信可能に接続する接続手段である。
記憶装置14は、当該画像形成装置(以下「機器」ともいう)内のデータ(各種プログラムを含むソフトウェア)を保持するためのHDD(ハードディスク装置)等の不揮発性記憶手段である。
【0038】
操作パネル15は、ユーザに対する入出力を提供するものであり、当該機器により提供される機能の選択に基づく作像部(エンジン)や外部機器に対する動作指示等のデータを入力するための各種の操作キー(操作スイッチ又は操作ボタンともいう)およびLCD又はCRT等の表示器を備えている。その表示器は、その表面にタッチパネルを備えてもよく、そのタッチパネル上に各種機能を利用可能にするための操作画面を表示し、その画面上の各キーを選択的に押下(タッチ)することにより、対応する動作を指示することができる。
【0039】
セキュリティ管理部16は、第1参考例においては、アプリケーションやファームウェア等の修正(変更)が可能な実行プログラム(以下単に「プログラム」ともいう)PRの動的な変更に対する記録、変更された実行プログラムPRの動作の記録、ユーザの認証の記録を行う。
ネットワークグループ管理部17は、第1参考例においては、実行プログラムPRの動的な変更が可能なネットワークに接続された他の画像形成装置の検索を行う。
ユーザ管理部18は、ユーザの認証を行う。このユーザ認証は、入力される認証情報(電子証明書又はID,パスワード等)と予め取得した認証情報とを用いて行う。例えば、一般的なパスワード認証であれば、入力される認証情報(ID+パスワード又はパスワードのみ)と予め取得した認証情報と比較照合し、両認証情報が一致すればユーザ認証が成功、一致しなければユーザ認証が失敗とそれぞれ判定する。
【0040】
実行プログラム制御部19は、実行プログラムPRの動的な変更の実行可否(実行が可能か否か)を示す情報の記録、実行プログラムPRの動的な変更のためのメモリ管理や実行プログラムPRの実行スケジューリングの管理、実行プログラムPRの動的な変更の実施を行う。
その他、当該機器内には、例えばコピー等を実行するためのさまざまな機能が存在するが、この第1実施例で記載する範囲外のプログラムやシステム管理部、ハードウェアの図示は省略する。
【0041】
次に、図16の画像形成装置1〜4内のハードウェアの構成例について説明する。
図18は、その画像形成装置1〜4内のハードウェアの構成例を示すブロック図であり、図17と同じ部分には同一符号を付している。
この画像形成装置1〜4は、各部を統括的に制御するコントローラ20を構成するハードウェアとして、図17のネットワークI/F12や記憶装置14等に加え、実際には図18に示すように、メインCPU21,メモリバス22,メモリ23,およびIOバス24を備えている。
【0042】
メインCPU21は、メモリバス22を介して各種の処理および制御を行う演算処理手段である。このメインCPU21が、ソフトウェアに従って動作することにより、図17の入出力制御部11,セキュリティ管理部16,ネットワークグループ管理部17,ユーザ管理部18,実行プログラム制御部19としての機能を実現することができる。
メモリ23は、メインCPU21が記憶装置14内のソフトウエアを構成する各種プログラムを展開するプログラムエリアや、メインCPU21が処理を行う際に使用するワークエリア等として利用されるRAM、フラッシュメモリ等の記憶手段である。
【0043】
USB・I/F13aおよびSD・I/F13bは、図17の外部入出力インタフェース13に相当するものであり、USB・I/F13aには認証装置としてのICカード31を、SD・I/F13bにはSDカード32をそれぞれ接続できる。ICカード31は、修正データの変更範囲を記録したユーザ情報を入力するための一つのデバイスである。SDカード32は、プログラムの動的変更のための修正データを当該機器内に入力するための一つのデバイスである。上記2つのデバイスは、USBメモリ33を用いることで代替することも可能である。同様に、SDカード32のみを用いて、2つの役割を担うことも可能である。
【0044】
FAX処理部34や画像形成処理部35は、FAXやコピーを実現するための作像部に相当する部分である。
操作部36は、図17の操作パネル15に相当する。
なお、ハードウェアの構成はCPUアーキテクチャやハードウェアメーカによって差異が出るが、第1の参考例の処理は、図18の基本的構成から入出力デバイスに差異がない限り、構成の変化による影響は受けない。
【0045】
次に、図17に示した画像形成装置1〜4内の各部によるユーザ認証時の動作(処理および制御)シーケンスの一例について説明する。この例では、認証情報(ユーザ情報)と修正対象プログラム情報とからなるユーザ認証データおよび修正データが記録された認証デバイス(外部記録装置)を使用するものとするが、例えば図26の(b)に示すように、ユーザ認証データに修正データを含めてもよい。
【0046】
図19は、図17に示した画像形成装置1〜4内の各部によるユーザ認証時の動作シーケンスの一例を示すシーケンス図である。
ユーザ(オペレータ)が、例えば図19に示すように、システム(当該機器)にUSBメモリ33やSDカード32のような認証デバイスを挿着することで、その挿着を外部入出力インタフェース13(USB・I/F13a又はSD・I/F13b)が検知し、認証デバイスの挿着を示す割り込み信号を発生して入出力制御部11へ出力することにより、その入出力制御部11が認証デバイスを利用可能な準備を行う。認証情報を用いるユーザ認証は、ユーザの操作(実際にはユーザによる操作パネル15上の操作)によって開始される。
【0047】
ここで、USBメモリ33やSDカード32のような汎用デバイスは、市場で入手しやすく、ユーザによって認証データを作成すると、システムに対するセキュリティ脅威となる可能性があるため、ここでは、認証データは図16に示した所定のサーバ装置5によって作成されることとする。また、図16に示した1つのネットワーク範囲において、修正データを利用できるユーザは1名と限定する。これは、複数のユーザが存在することで、修正データが適用された(修正データによって修正された)プログラムに対して、更に修正をかける可能性があるためである。システム内のソフトウェアの1つである、図17の実行プログラム制御部19又はユーザ管理部(ユーザ認証部)18は、複数のユーザを許可しないような設計になっている(図示は省略)。
【0048】
ユーザ認証は、パスワード認証方式が一般的であるが、認証デバイスとして図18のICカード31を利用するなど、予め個人が特定できるデバイスを利用している場合は、別の認証方式を利用することも可能である。
入出力制御部11によって認証デバイスを利用可能な準備が行われた後、ユーザによって図2の操作パネル(実際には表示器)15上に認証情報の入力を可能にする認証画面を表示するための操作が行われると、操作パネル15から認証画面の表示要求を示す割り込み信号が発生して入出力制御部11へ通知するため、その入出力制御部11は、認証画面の表示要求(ユーザ要求)をユーザ管理部18へ通知する。
【0049】
ユーザ管理部18は、その認証画面の表示要求を受け、外部入出力インタフェース13へユーザ認証データの取得要求を通知することにより、その外部入出力インタフェース13経由で認証デバイス内の認証情報を含むユーザ認証データを取得して図18のメモリ23に記憶(キャッシュ)した後、認証画面の描画(表示)を入出力制御部11に指示する。それによって、入出力制御部11は、操作パネル15上に認証画面を表示させる。
その後、ユーザの操作により、認証情報が入力されると、その認証情報を示す割り込み信号が発生して入出力制御部11へ通知するため、入出力制御部11は、その認証情報(入力データ)をユーザ管理部18へ通知する。
【0050】
ユーザ管理部18は、入出力制御部11から認証情報を受け、その認証情報とメモリ23内のユーザ認証データに含まれている認証情報とを用いてユーザの認証を行い、その認証の結果を示す操作画面である認証結果画面の描画を入出力制御部11へ指示する。それによって、入出力制御部11は、操作パネル15上に認証結果画面を表示させる。
ユーザ管理部18は、認証結果画面の描画を入出力制御部11へ指示した後、ユーザ認証の結果をセキュリティ管理部16へ通知する。それによって、セキュリティ管理部16は、通知されたユーザ認証の結果(オペレーション実行結果)を含むセキュリティログを入出力制御部11へ通知する。セキュリティログは、例えば図26の(e)に示すように、時刻(図示しない時計回路等から取得する現在の時刻)やオペレーション(操作)の対象を示す情報を含めるとよい。
【0051】
入出力制御部11は、ユーザ管理部18からセキュリティログを取得し、それをデータとして記憶装置14に書き込んで記憶する。
ユーザ管理部18は、ユーザ認証の結果をセキュリティ管理部16へ通知した後、ユーザ認証の結果が「成功」であれば、認証デバイスから取得したユーザ認証データ(修正対象プログラム情報を含む)をユーザ認証付加データとして実行プログラム制御部19へ通知する。そのユーザ認証データに含まれている修正対象プログラム情報は、ユーザが適用可能な修正データの対象プログラム(制約解除されたプログラム)の範囲を判別するための情報である。
【0052】
実行プログラム制御部19は、ユーザ管理部18からユーザ認証付加データを取得し、それに含まれている修正対象プログラム情報を解釈して、認証ユーザに対応する修正データを適用可能な対象プログラムの一覧(修正データの適用範囲)を判定し、必要に応じて修正データの適用範囲を限定(変更)する。システム内(実際には図17の記憶装置14)には予め修正データを適用できるプログラムの一覧(システム範囲)を示す基本の修正データ適用可否情報が保持されており、機器の起動時に図26の(a)に示すようにメモリ23に保持(キャッシュ)されているため、判定した修正データの適用範囲と比較し、判定した修正データの適用範囲がシステム範囲より狭い場合には、その適用範囲に限定し、その限定した修正データの適用範囲(認証ユーザに対応する修正データを適用可能な対象プログラムの一覧)を示す認証ユーザ用の修正データ適用可否情報(パラメータ)として入出力制御部11へ通知する。
【0053】
入出力制御部11は、その修正データ適用可否情報を取得し、それをデータとして記憶装置14に書き込んで記憶する。
実行プログラム制御部19は、修正データの適用範囲を限定した場合、その限定した修正データの適用範囲である認証ユーザ用の修正データ適用可否情報を状態変更情報とし、それを修正データを適用可能な(その修正データによってプログラムの修正が可能な)同一グループ内の他の画像形成装置を把握しているネットワークグループ管理部17へ通知する。
【0054】
ネットワークグループ管理部17は、その状態変更情報を受け、その状態変更情報を同一グループ内の他の画像形成装置の装置情報(IPアドレス等)と共に、入出力制御部11へ通知する。
入出力制御部11は、その状態変更情報を装置情報と共に受け取って、ネットワークインタフェース12へ通知し、返答を待つ。
ネットワークインタフェース12は、入出力制御部11から状態変更情報を装置情報と共に受け取ると、その状態変更情報をその装置情報に基づいてネットワーク経由で同一グループ内の他の画像形成装置へパケット送信し、その送信結果を入出力制御部11へ通知(返答)する。
【0055】
次に、図17に示した画像形成装置1〜4内の各部による修正データ適用時の動作シーケンスの一例について説明する。この例では、認証デバイスに記録されている修正データを複数個とする。
図20は、図17に示した画像形成装置1〜4内の各部による修正データ適用時の動作シーケンスの一例を示すシーケンス図である。図25は、図17の入出力制御部11および実行プログラム制御部19等による修正データ適用可否の確認処理の一例を示すフローチャートである。
【0056】
ユーザの操作(修正データの適用要求)により、例えば図27に示すような修正可能プログラムの検索(サーチ)を開始するための操作画面である修正可能プログラム検索画面が操作パネル15上に表示され、その修正可能プログラム検索画面上の「継続」の選択により、例えば図20に示すように、操作パネル15上に修正データの適用要求を示す割り込み信号が発生して入出力制御部11へ通知される。
入出力制御部11は、その割り込み信号を受けると、ユーザ認証状態の取得要求をユーザ管理部18へ通知することにより、そのユーザ管理部18からユーザ認証状態が通知されるので、そのユーザ認証状態を取得して確認する。
【0057】
そして、ユーザ認証状態が認証成功の状態を保持している場合に、修正データ適用可否の確認要求を実行プログラム制御部19へ通知する。
実行プログラム制御部19は、その修正データ適用可否の確認要求を受け、修正可能なプログラムの一覧を示す「修正可能データ一覧」を「0」としてメモリ23に保持する(図25のS1)と共に、修正データの一覧要求を入出力制御部11へ通知する。
入出力制御部11は、実行プログラム制御部19から修正データの一覧要求を受け、外部入出力インタフェース13経由で認証デバイスに記録されている修正データの一覧(複数の修正データ)を読み出して取得し、それを実行プログラム制御部19へ通知する。
【0058】
実行プログラム制御部19は、入出力制御部11への修正データの一覧要求の通知により、入出力制御部11から修正データの一覧が通知されるため、その修正データの一覧を取得し、更に実行プログラムの一覧も取得する(図25のS1)。そして、その取得した実行プログラムの一覧のうち、先に取得した修正データの一覧と対応する実行プログラムの一覧(取得した修正データの一覧によって修正可能なもの)を新たな「修正可能データ一覧」とする(図25のS2)。
【0059】
実行プログラム制御部19は次に、基本の修正データ適用可否情報がメモリ23に保持されているか否かをチェックするが(図25のS3)、その修正データ適用可否情報は保持されているので、その修正データ適用可否情報が示す修正データを適用できるプログラムの一覧を「適用可能修正データ一覧」としてメモリ23に保持する(図25のS4)。
そして、「修正可能データ一覧」と「適用可能修正データ一覧」が一致するか否かをチェックし(図25のS5)、一致しない場合にのみ、その各データ一覧の共通部分を新たな「修正可能データ一覧」とする(図25のS10)。
【0060】
実行プログラム制御部19は次に、認証ユーザ用の修正データ適用可否の確認要求を入出力制御部11へ通知した後、認証ユーザ用の修正データ適用可否確認結果の表示要求を入出力制御部11へ通知する。
入出力制御部11は、実行プログラム制御部19から認証ユーザ用の修正データ適用可否の確認要求を受け、記憶装置14に認証ユーザ用の修正データ適用可否情報が記憶されている場合にのみ、その修正データ適用可否情報(認証ユーザに対応する修正データを適用可能な対象プログラムの一覧を示す情報)を読み出し、その読み出した認証ユーザ用の修正データ適用可否情報が示す認証ユーザに対応する修正データを適用可能な対象プログラムの一覧を「修正対象プログラム一覧」としてメモリ23に保持する(図25のS6)。
【0061】
そして、「修正可能データ一覧」と「修正対象プログラム一覧」が一致するか否かをチェックし(図25のS7)、一致しない場合にのみ、その各データ一覧の共通部分を新たな「修正可能データ一覧」とする(図25のS11)。
その後、実行プログラム制御部19から認証ユーザ用の修正データ適用可否確認結果の表示要求を受けると、「修正可能データ(修正対象プログラム)一覧」とそれらに適用可能な修正データの内容を示す操作画面である修正対象プログラム選択画面を操作パネル15上に表示させる。その修正対象プログラム選択画面の表示例を図28に示す。
【0062】
ここで、修正データは、例えば図26の(c)に示すように、実行コードと実行コードの適用箇所の情報、そして修正データの説明文等によって構成されている。このうち、説明文は、図28に示した修正対象プログラム選択画面上の「修正の詳細」を押した時に表示される内容が記載されている。また、図26の(b)に示したユーザ認証データに修正データと共に含まれている修正対象プログラム情報には、修正データが適用できるプログラムのバージョン情報などが記載されており、この情報に基づいて修正データの適用可否を判断できる。この判断は、修正データを作成する元のプログラムのソースコードとの一貫性を保たなければならないためのものであり、バージョン情報以外にも、プログラムコードのハッシュ情報,作成日,サイズ,プログラム変更先アドレスの実行コードでも判別可能である。
【0063】
操作パネル1上に修正対象プログラム選択画面が表示された後、ユーザの操作により、修正対象プログラム選択画面上の修正対象プログラムが選択(指定)され、「継続」が選択されることにより、選択された修正対象プログラムの情報を含むプログラム修正要求(プログラム修正の実行要求)を示す割り込み信号が発生して入出力制御部11へ通知されると、その入出力制御部11は、そのプログラム修正要求を実行プログラム制御部19へ通知する。
【0064】
実行プログラム制御部19は、入出力制御部11からプログラム修正要求を受け、そのプログラム修正要求を含む操作ログ(操作情報)をセキュリティ管理部16へ通知する。それによって、セキュリティ管理部16は、通知された操作ログを含むセキュリティログを入出力制御部11へ通知する。セキュリティログは、例えば図26の(e)に示したような時刻情報,オペレーション(操作)対象情報,および修正対象プログラム情報(修正データの適用先のプログラムを示すプログラム名等の識別情報)を含めるとよい。
【0065】
入出力制御部11は、セキュリティ管理部16から通知されたセキュリティログを記憶装置14に書き込む。
実行プログラム制御部19は、操作ログをセキュリティ管理部16へ通知した後、修正データの要求を入出力制御部11へ通知する。
入出力制御部11は、その修正データの要求を受け、先に受けたプログラム修正要求に含まれている修正対象プログラム情報に基づき、その修正対象プログラムに適用できる(その修正対象プログラムを修正できる)修正データを外部入出力インタフェース13経由で認証デバイスから読み込み、それを実行プログラム制御部19へ提供する。
【0066】
実行プログラム制御部19は、入出力制御部11から修正対象プログラムに適用できる修正データを受け取り、その修正データをその修正対象プログラムに適用する(その修正データによってその修正対象プログラムを修正する)。このとき、例えば図32に示すような流れで、メモリ14上の修正対象プログラムを変化させるが、その際実行コードの書き換えを行うために、その修正対象プログラムの実行を一旦停止する。具体的には、優先度の最も高いプロセスによって、他のプロセスの実行を一時停止し、優先度の最も高いプロセスによって、実行コードの変更、一時停止の解除を行う。
【0067】
実行プログラム制御部19はまた、修正対象プログラムに修正データを適用した際に、ユーザにその状況を通知するため、修正データの適用状態の表示要求を入出力制御部11へ通知する。
入出力制御部11は、その修正データの適用状態の表示要求を受け、修正対象プログラムの情報を含む修正データの適用中である旨を示す適用中画面を操作パネル15上に表示させる。その適用中画面の表示例を図29に示す。これにより、ユーザは修正データの実行状態を知ることができ、修正の詳細とあわせて、システム内で何が起きているかの概要を知ることができる。
【0068】
〔第2参考例〕
次に、この発明の第2参考例について説明する。なお、第1参考例とは若干異なるだけなので、第1参考例の説明で使用した図も再度使用する。
第2参考例としては、ネットワークで接続された複数台の画像形成装置1〜3における修正データの適用について述べる。なお、第1参考例と同じ部分については、説明を省略する。
【0069】
この第2参考例では、基本的な動作は第1参考例と変わらないが、ユーザはある1台の画像形成装置(ここでは「画像形成装置1」とする)で複数台の画像形成装置(ここでは「画像形成装置2,3」とする)に対する修正データの適用が可能になる。これにより、修正データの適用に関わる煩わしさを解消することが可能になる。
図21は図17に示した画像形成装置1〜4内の各部による修正データの適用のための動作シーケンスの他の例を、図22は同じく外部機器からの状態変更の連絡のための動作シーケンスの一例を、図23は同じく外部機器からの修正データの適用のための動作シーケンスの一例をそれぞれ示すシーケンス図である。
【0070】
画像形成装置1は、図17に示したように、ネットワークの管理を司る図2のネットワークグループ管理部17というモジュールを用意してある。これは、修正データが適用可能な範囲の画像形成装置2,3を知っているモジュールである。これによって、ユーザが修正データを適用したい時に、ネットワークにつながっている画像形成装置のうち、修正データが適用可能な画像形成装置2,3を自動的に選定することが可能となる。
【0071】
ユーザの操作により、例えば図27に示したような修正可能プログラム検索画面が操作パネル15上に表示され、その修正可能プログラム検索画面上の「継続」の選択により、外部入出力インタフェース13に接続されたUSBメモリ33等の認証デバイスに保持されている修正データが適用可能な画像形成装置1〜3がネットワークに接続されているため、図21では図示を省略しているが、画像形成装置1の入出力制御部11が各画像形成装置1〜3の装置情報をネットワークグループ管理部17から取得し、その各画像形成装置1〜3の一覧を示す操作画面である修正対象装置選択画面を操作パネル15上に表示させる。その修正対象装置選択画面の一例を図31に示す。但し、画像形成装置1〜3に対応するものは「装置A〜C」であるため、実際には「装置A〜F」のうちの図1の「装置D〜F」は表示されない。
【0072】
ユーザの操作により、修正対象装置選択画面上の修正対象装置が選択されると、例えば図21に示すように、操作パネル15上に修正データの適用要求を示す割り込み信号が発生して入出力制御部11へ通知される。
入出力制御部11は、その割り込み信号を受けると、ユーザ認証状態の取得要求をユーザ管理部18へ通知することにより、そのユーザ管理部18からユーザ認証状態が通知されるので、そのユーザ認証状態を取得して確認する。そして、ユーザ認証状態が認証成功の状態を保持している場合に、修正データ適用可否の確認要求を実行プログラム制御部19へ通知する。
【0073】
実行プログラム制御部19は、その修正データ適用可否の確認要求を受け、修正データの一覧要求を入出力制御部11へ通知することにより、第1参考例と同様に、入出力制御部11から修正データの一覧が通知されるため、その修正データの一覧を取得し、更に実行プログラムの一覧も取得する(図25のS1)。そして、その取得した実行プログラムの一覧のうち、先に取得した修正データの一覧と対応する実行プログラムの一覧を新たな「修正可能データ一覧」とする(図25のS2)。
【0074】
実行プログラム制御部19は次に、基本の修正データ適用可否情報がメモリ23に保持されているか否かをチェックするが(図25のS3)、先に選択された修正対象装置が当該画像形成装置1のみの場合には、以後、第1参考例と同様の動作を行う。また、修正対象装置が他の画像形成装置2,3のみの場合には、それらの基本の修正データ適用可否情報はメモリ23に保持されていないので、それらの修正データ適用可否情報を他の画像形成装置2,3から取得するための処理を行う。ここでは、以後、修正対象装置が他の画像形成装置2,3のみの場合の動作について説明するが、修正対象装置が当該画像形成装置1と他の画像形成装置2,3の場合には、第1参考例と同様の動作に以下に示す動作を加えればよい。
【0075】
実行プログラム制御部19は、基本の修正データ適用可否情報を取得するため、ネットワークグループ管理部17等とにより、その修正データ適用可否情報を他の画像形成装置1,2からロードする処理を行う(図25のS9)。
すなわち、実行プログラム制御部19はまず、基本の修正データ適用可否情報の取得要求を、他の画像形成装置1,2を把握しているネットワークグループ管理部17へ通知する。
【0076】
ネットワークグループ管理部17は、実行プログラム制御部19から基本の修正データ適用可否情報の取得要求を受け、それを同一グループ内の他の画像形成装置2,3を示す装置情報(IPアドレス等)と共に入出力制御部11へ通知する。
入出力制御部11は、ネットワークグループ管理部17から基本の修正データ適用可否情報の取得要求を装置情報と共に受け取って、ネットワークインタフェース12へ通知し、返答を待つ。
ネットワークインタフェース12は、入出力制御部11から基本の修正データ適用可否情報の取得要求を装置情報と共に受け取ると、その修正データ適用可否情報の取得要求をその装置情報に基づいてネットワーク経由で他の画像形成装置2,3へパケット送信し、その送信結果を入出力制御部11へ通知(返答)する。
【0077】
実行プログラム制御部19は、基本の修正データ適用可否情報の取得要求をネットワークグループ管理部17へ通知することにより、他の画像形成装置2,3からパケット送信された基本の修正データ適用可否情報をネットワークインタフェース12および入出力制御部11を介して取得すると、その取得した修正データ適用可否情報が示す修正データを適用できるプログラムの一覧を「適用可能修正データ一覧」としてメモリ23に保持する(図25のS4)。
以後、第1参考例と同様の動作を行うことにより、入出力制御部11は、図28に示したような修正対象プログラム選択画面を操作パネル15上に表示させることができる。
【0078】
その後、ユーザの操作により、修正対象プログラム選択画面上の修正対象プログラムが選択(指定)され、「継続」が選択されることにより、選択された修正対象プログラムを示す情報を含むプログラム修正要求(プログラム修正の実行要求)を示す割り込み信号が発生して入出力制御部11へ通知されると、その入出力制御部11は、そのプログラム修正要求を実行プログラム制御部19へ通知する。
【0079】
実行プログラム制御部19は、入出力制御部11からプログラム修正要求を受け、そのプログラム修正要求を含む操作ログ(操作情報)をセキュリティ管理部16へ通知する。それによって、セキュリティ管理部16は、通知された操作ログを含むセキュリティログを入出力制御部11へ通知する。
入出力制御部11は、セキュリティ管理部16から通知されたセキュリティログを記憶装置14に書き込んだ後、そのセキュリティログ内の操作ログを含む操作ログの記録要求を先に受け取った装置情報と共にネットワークインタフェース12へ通知する。
【0080】
ネットワークインタフェース12は、入出力制御部11から操作ログの記録要求を装置情報と共に受け取ると、その記録要求をその装置情報に基づいてネットワーク経由で他の画像形成装置2,3へパケット送信する。
実行プログラム制御部19は、操作ログをセキュリティ管理部16へ通知した後、修正データの要求を入出力制御部11へ通知する。
入出力制御部11は、その修正データの要求を受け、先に受けたプログラム修正要求に含まれている修正対象プログラムを示す情報に基づき、その修正対象プログラムに適用できる修正データを外部入出力インタフェース13経由で認証デバイスから読み込み、それを実行プログラム制御部19へ提供する。
【0081】
実行プログラム制御部19は、入出力制御部11から選択された修正対象プログラムに適用できる修正データを受け取り、その修正データをその修正対象プログラムに適用するため、その修正データおよびその修正対象プログラムを示す情報を含む修正データの適用要求を入出力制御部11へ通知する。
入出力制御部11は、実行プログラム制御部19から通知された修正データの適用要求を先に受け取った装置情報と共にネットワークインタフェース12へ通知する。
ネットワークインタフェース12は、入出力制御部11から修正データの適用要求を装置情報と共に受け取ると、その修正データの適用要求をその装置情報に基づいてネットワーク経由で他の画像形成装置2,3へパケット送信する。
【0082】
実行プログラム制御部19は、修正データおよび修正対象プログラムを示す情報(修正対象プログラム情報)を含む修正データの適用要求を入出力制御部11へ通知した後、ユーザに修正対象プログラムに修正データを適用している状況を通知するため、修正データの適用状態の表示要求を入出力制御部11へ通知する。
入出力制御部11は、その修正データの適用状態の表示要求を受け、修正対象プログラムを示す情報を含む修正データの適用中である旨を示す適用中画面を操作パネル15上に表示させる。
【0083】
なお、ネットワークへのアクセスが発生するのは、上述したように認証情報(ユーザ情報)が確定した際、ユーザの持っている修正対象プログラム情報を送信する時、ユーザの操作によって修正データを適用する要求をした時、各画像形成装置の修正対象プログラム情報を獲得する時、および修正データを適用する時である。ネットワークのプロトコルは任意で構わないが、ネットワーク上のセキュリティが充分に確保できるプロトコルを選択することとする。
【0084】
一方、画像形成装置2,3では、例えば図22に示すように、外部機器である画像形成装置1からネットワーク経由で状態変更情報が送られてくると、それをネットワークインタフェース12が受信して、その状態変更情報を含む割り込み信号を入出力制御部11へ通知する。
入出力制御部11は、その割り込み信号を受け、それに含まれている状態変更情報(パラメータ)を解釈して、認証ユーザに対応する修正データを適用可能な対象プログラムの一覧を判定し、その内容を示す認証ユーザ用の修正データ適用可否情報(パラメータ)として記憶装置14に書き込んで記憶する。
【0085】
その書き込みが完了すると、その旨をネットワークインタフェース12へ通知する。
ネットワークインタフェース12は、認証ユーザ用の修正データ適用可否情報の書き込みが完了した旨の通知を受けると、その通知内容を示すデータを状態変更情報の送信元である画像形成装置1へパケット送信する。
なお、先に解釈した状態変更情報が認証ユーザ用の修正データ適用可否情報の削除要求(後述する)を示すものであった場合には、その修正データ適用可否情報を記憶装置14から削除する。
【0086】
また、画像形成装置1からネットワーク経由で基本の修正データ適用可否情報の取得要求が送られてくると、それをネットワークインタフェース12が受信して、その修正データ適用可否情報の取得要求を含む割り込み信号を入出力制御部11へ通知する。
入出力制御部11は、その割り込み信号を受け、それに含まれている基本の修正データ適用可否情報の取得要求により、その修正データ適用可否情報の確認要求を実行プログラム制御部19へ通知する。
【0087】
実行プログラム制御部19は、その入出力制御部11から基本の修正データ適用可否情報の確認要求を受けると、メモリ23に保持されている基本の修正データ適用可否情報を入出力制御部11へ通知する。
入出力制御部11は、その修正データ適用可否情報を受け取り、それをネットワークインタフェース12へ通知する。
ネットワークインタフェース12は、基本の修正データ適用可否情報を受け取ると、その修正データ適用可否情報をその取得要求元である画像形成装置1へパケット送信する。
【0088】
画像形成装置2,3では、例えば図23に示すように、外部機器である画像形成装置1からネットワーク経由で操作ログの記録要求が送られてくると、それをネットワークインタフェース12が受信して、その記録要求を含む割り込み信号を入出力制御部11へ通知する。
【0089】
入出力制御部11は、その割り込み信号を受け、それに含まれている操作ログの記録要求により、その記録要求に含まれている操作ログをデータとして記憶装置14に書き込んで記憶する。
その書き込みが完了すると、その旨をネットワークインタフェース12へ通知する。
ネットワークインタフェース12は、操作ログの書き込みが完了した旨の通知を受けると、その通知内容を示すデータを状態変更情報の送信元へパケット送信する。
【0090】
また、画像形成装置1からネットワーク経由で修正データの適用要求が送られてくると、それをネットワークインタフェース12が受信して、その修正データの適用要求を含む割り込み信号を入出力制御部11へ通知する。
入出力制御部11は、その割り込み信号を受け、それに含まれている修正データの適用要求により、その修正データの適用要求(プログラム修正要求)を実行プログラム制御部19へ通知する。
【0091】
実行プログラム制御部19は、その入出力制御部11から修正データの適用要求を受け、その適用要求を含む操作ログをセキュリティ管理部16へ通知する。それによって、セキュリティ管理部16は、通知された操作ログを含むセキュリティログを入出力制御部11へ通知する。
入出力制御部11は、セキュリティ管理部16から通知されたセキュリティログを記憶装置14に書き込んだ後、そのセキュリティログ内の操作ログを含む操作ログの記録要求をネットワークインタフェース12へ通知する。
【0092】
ネットワークインタフェース12は、入出力制御部11から操作ログの記録要求を受け取ると、その記録要求を修正データの適用要求元へパケット送信する。
実行プログラム制御部19は、修正データの適用要求を含む操作ログをセキュリティ管理部16へ通知した後、その適用要求に含まれている修正データを、その適用要求に含まれている修正対象プログラム情報が示す修正対象プログラムに適用する(その修正データによってその修正対象プログラムを修正する)。
【0093】
そして、その修正データの適用が完了すると、その適用結果を入出力制御部11へ通知する。
入出力制御部11は、実行プログラム制御部19から修正データの適用結果を受け取ると、それをネットワークインタフェース12へ通知する。
ネットワークインタフェース12は、修正データの適用結果を受け取ると、その適用結果を修正データの適用要求元へパケット送信する。
【0094】
ここで、前述した第1,第2参考例では、修正データを適用することによるユーザへの不安を解消するため、図26の(e)に示したような操作ログを含むセキュリティログを記録するようにしたが、そのセキュリティログについてもう少し詳しく述べる。
ユーザに対して通知する事項として、修正データに関わる操作(オペレーション)をしたこと、その時刻、オペレーションの実行結果、操作の対象を考慮している。
セキュリティログは、単一の画像形成装置における修正データの適用においては、各操作毎に画像形成装置内に持つHDD等の記憶装置に記録すればよいが、複数のネットワークに接続された画像形成装置においては、ユーザの操作対象の画像形成装置をホストとし、その他修正データの適用対象の画像形成装置をクライアントとする場合に、お互いの装置間でセキュリティ情報の交換が発生する。
【0095】
それは、修正データを適用したことをクライアントとホストで共有することである。これは、オペレータに対して修正データの適用情報を通知するため、ホストは全てのネットワークグループ管理部17によって把握されている範囲内で情報を収集するからである。また、これらの情報を紙やネットワークに接続された画像形成装置の管理システムに対して通知することも考えられる。これによって、ユーザは修正データの適用情報を一元管理したり、画面情報と比較して、ユーザに確認しやすいように情報を整形した状態で通知することが可能になる。
【0096】
〔第3参考例〕
次に、この発明の第3参考例について説明する。なお、第1又は第2参考例とは若干異なるだけなので、第1参考例の説明で使用した図を再度使用する。
第3参考例としては、ユーザが認証デバイスを取り外した際のシステムの挙動について述べる。なお、第1,第2参考例と同じ部分については、説明を省略する。
図24は、図17に示した画像形成装置1〜4内の各部によるユーザ認証の解除のための動作シーケンスの一例を示すシーケンス図である。
【0097】
ユーザは、任意のタイミングで画像形成装置から認証デバイスを取り外す可能性がある。そのため、外部入出力インタフェース13によって認証デバイスが外されたことを検知した後に、システム(ネットワーク先も含め)を元の状態に戻さなければならない。システムの状態は、各画像形成装置内の実行プログラム制御部19が管理しているので、まずユーザ操作元の画像形成装置内で、ユーザに対して修正データの解除を通知する。
【0098】
すなわち、外部入出力インタフェース13が、認証デバイスが取り外されると、そのことを検知し、例えば図24に示すように、認証デバイスの取り外しを示す割り込み信号を発生して入出力制御部11へ通知することにより、その入出力制御部11が認証デバイスの無効化を行い、例えば図30に示すような認証解除中(修正データの無効化)を示す認証解除中画面を操作パネル15上に表示させた後、認証デバイスの無効化をユーザ管理部18へ通知する。
【0099】
その通知を受けたユーザ管理部18は、メモリ23内のユーザ認証データを破棄してユーザ認証を解除し、その旨をセキュリティ管理部16へ通知する。
セキュリティ管理部16は、ユーザ管理部18からユーザ認証が解除された旨の通知を受け、ユーザ認証の解除を示す操作ログを含むセキュリティログを入出力制御部11へ通知する。
入出力制御部11は、セキュリティ管理部16から通知されたセキュリティログを記憶装置14に書き込む。
【0100】
ユーザ管理部18は、ユーザ認証が解除された旨をセキュリティ管理部16へ通知した後、ユーザ認証が解除された旨を実行プログラム制御部19へも通知する。
実行プログラム制御部19は、ユーザ管理部18からユーザ認証が解除された旨の通知を受け、修正データの適用を解除する(その修正データによる修正対象プログラムの修正を解除する)。
【0101】
その後、認証ユーザ用の修正データ適用可否情報(パラメータ)の削除要求を入出力制御部11へ通知する。それによって、入出力制御部11は、図2の記憶装置14に保持されている認証ユーザ用の修正データ適用可否情報を削除する(データ破棄)。
実行プログラム制御部19は、認証ユーザ用の修正データ適用可否情報の削除要求を入出力制御部11へ通知した後、その修正データ適用可否情報の削除を示す情報を状態変更情報とし、それをネットワークグループ管理部17へ通知する。
ネットワークグループ管理部17は、その状態変更情報を受け、その態変更情報を入出力制御部11へ通知する。
【0102】
入出力制御部11は、その状態変更情報を受け、それを先に受け取った装置情報と共にネットワークインタフェース12へ通知し、返答を待つ。
ネットワークインタフェース12は、入出力制御部11から状態変更情報を装置情報と共に受け取ると、その状態変更情報をその装置情報に基づいてネットワーク経由で同一グループ内の他の画像形成装置へパケット送信し、その送信結果を入出力制御部11へ通知(返答)する。その状態変更情報のパケット送信により、同一グループ内の他の各画像形成装置に対して、認証ユーザ用の修正データ適用可否情報の削除(除外)処理を要求するができる。
【0103】
以上の各参考例の作用効果を以下の(1)〜(6)にまとめて示す。
(1)画像形成装置(機器)が、サーバ装置と通信可能に接続するネットワークI/Fと、自装置に着脱可能なUSBメモリ等の外部記録媒体と通信可能に接続する外部入出力I/Fとを備え、上記外部記録媒体に記録されているユーザ認証情報に基づいて、ユーザの要求する修正対象プログラムの修正が可能か否か(修正可否)を判断した後、修正可能であれば、その修正対象プログラムを修正するための修正データ(修正プログラム)を取得し、その修正データを修正対象プログラムに適用する(修正データによって修正対象プログラムを修正する)。
【0104】
すなわち、プログラムを動的に修正する機能を用いて、例えばファームウェアの変更を行う際、ファームウェアに対するユーザ認証をその変更の都度実施すると、システムの性能を下げるなど、システムの挙動に変化を及ぼす可能性があり、修正を用いて機器の検査を行いたい場合に、正しい問題点の把握ができない。そこで、上記の外部記録媒体を用いて、ユーザの認証、修正対象プログラムを一度特定しておけば、プログラムの動作に対する認証を行わず、システムの挙動に悪影響を与えずに済む。つまり、ユーザが動的なプログラムの変更技術の恩恵を預かる際に、機器に対する必要最低限のセキュリティとプログラムの処理性能の低下軽減、ユーザの利便性を同時に達成することができる。
【0105】
(2)ユーザの認証が行われていることを他の画像形成装置に通知する機能を更に備え、ユーザ認証の適用が許容できる通信の範囲内であれば、再度ユーザ認証をすることなく、プログラムの修正を実施可能にする。
すなわち、修正対象プログラムは、ユーザ認証を行った当該機器のみではないことがよくある。この場合、USBメモリ等の着脱可能な外部記録媒体による認証範囲を当該機器にのみ適用するだけでは、他の機器に同様の修正を行わせたい場合、上記の外部記録媒体を取り外し(認証を解除し)、目的の機器に対して認証を再度実施しなければいけない。そこで、制限されたネットワークの範囲ではあるが、他の機器との情報交換のプロトコルを保持することにより、一度任意の機器に対して認証を行えば、複数の画像形成装置のプログラム修正が可能になる。
【0106】
(3)所定の操作が行われた場合に、その操作の履歴を示す操作ログ(操作情報)を保持(記録)する機能を更に備え、その保持した操作ログを所定の方法で出力する。
すなわち、ユーザにとっては、動的なプログラムの修正において、どのような処理が行われていたのか、懸念するケースがある。そこで、修正データ適用における主要な操作ログを記録させ、操作パネル上の操作等によって出力(印刷又は表示)させることで、ユーザの懸念を取り除くことが可能となる。
【0107】
(4)所定の記憶装置に配置された修正データ適用可否情報に基づいて、修正データの適用可否を判断する。
すなわち、無作為に修正データを適用すると、システムが動作しなくなるケースも考えられる(プログラムの書き換えによるセキュリティ脅威など)。そこで、修正データの適用可否判断を行う判断基準(修正データ適用可否情報)を予め設定しておき、その判断基準に基づいて、修正データの適用可否を判断することにより、システムとしての可用性を保護する。また、機器毎に修正データ適用可能な範囲をコントロールすることができ、複数の画像形成装置で作成されたネットワーク上で、画像形成装置ごとのセキュリティレベルに応じて、操作を抑制することも可能になる。
【0108】
(5)利用されるユーザ認証情報と修正するプログラムの範囲をユーザに指定させ、その認証情報によってプログラムの修正範囲を特定することにより、システムの動作を保護するために、認証情報作成時点でユーザが操作可能な修正プログラムを特定する。
(6)修正データの適用状況を通知する。つまり、動的なプログラムの修正に対して、ユーザはシステム内部の動作状況について懸念するケースがあるため、修正データの適用状況、実施状況を表示することにより、ユーザの懸念を取り除くことが可能となる。また、ユーザの操作が行われている機械が把握できるので、他の機械に対して実施した修正データの動作状況もユーザの操作元に表示することが可能となる。
【0109】
ところで、画像形成装置等の情報処理装置を含む電子機器におけるソフトウェア構成を管理装置からの要求によって変更可能にする電子機器管理システムにおいては、上述した各参考例のようなプログラム修正は、管理装置以外からの意図せぬソフトウェア構成の変更に相当するが、従来、管理装置がその変更を検知してリカバリーすることができないという問題があった。
そこで、その問題を解消するため、以下の実施形態では、管理装置以外から意図せぬソフトウェア構成の変更が行われたとき、管理装置がその変更を検知してリカバリーする処理に際して、以下の(A)〜(G)に示す特徴を有する。
【0110】
(A)情報処理装置に導入されたソフトウェア情報を定期的に取得する。
(B)取得したソフトウェア情報と記憶部内のソフトウェア情報とを比較し、差異を検知する。
(C)差異を検知した場合、ソフトウェア構成の変更検知を管理センタ経由でユーザへ通知する。
(D)記憶部内のソフトウェア情報を取得したソフトウェア情報に更新する。
(E)ユーザからのソフトウェア構成の変更要求を、管理センタ経由で検知する。
(F)記憶部内のライセンス情報を利用し、情報処理装置へソフトウェア構成の変更を要求する。
(G)その要求結果を管理センタ経由でユーザへ通知する。
【0111】
以下、その各特徴について、図1〜図15を参照して具体的に説明する。
〔情報処理装置管理システムのネットワーク構成例〕
まず、この発明による管理装置を含む電子機器管理システムの一実施形態である情報処理装置管理システムの概要について説明する。
図1は、その情報処理装置管理システムのネットワーク構成例を示す概念図である。
【0112】
この情報処理装置管理システムは、情報処理装置101(101A,101B,101C),管理装置102,ソフトウェア配信サーバ103,ライセンス管理サーバ104,および管理センタ105から構成されている。ここでは、情報処理装置101を3台としているが、これは一例であり、情報処理装置101は1台以上であれば何台でもよい。
情報処理装置101と管理装置102は、ローカルエリアネットワーク(LAN)等のローカルネットワーク106を介して通信可能に接続できる。
管理装置102とソフトウェア配信サーバ103とライセンス管理サーバ104と管理センタ105は、インタネット107を介して通信可能に接続できる。
【0113】
情報処理装置101(101A,101B,101C)は、画像読取装置(スキャナ装置等),画像形成装置(デジタル複合機,デジタル複写機,ファクシミリ装置,プリンタ装置等),PC(パーソナルコンピュータ),車載情報処理装置等であり、機器固有情報108(108A,108B,108C)を保持している。機器固有情報108は、機種機番等のユニークな(特定の)情報であり、異なる情報処理装置101で機器固有情報108が同じになることはない。ここでは、各機器固有情報108をそれぞれmfp00001,mfp00002,mfp00003としている。
【0114】
管理装置102は、情報処理装置101の管理を行い、例えば、情報処理装置101に導入されたソフトウェアの情報の取得、ソフトウェアの追加/更新/削除/アクティベート/ディアクティベートの要求等を行う。また、ソフトウェア配信サーバ103からソフトウェアのダウンロード等を行い、ライセンス管理サーバ104からライセンスの発行や返却等を行う。更に、管理センタ105に、当該管理装置102が管理している情報処理装置101の情報の通知等を行う。
【0115】
ソフトウェア配信サーバ103は、ソフトウェアを管理装置102へ配信する。
ライセンス管理サーバ104は、情報処理装置101でファームウェアやプラグイン等の特定のプログラム(ソフトウェア)を使用するためのライセンスの管理を行う。
管理センタ105は、各ユーザがそれぞれ使用している情報処理装置101から管理装置102経由で送られてくる通知を収集し、その情報処理装置101を管理する中央管理装置が設置されている。また、情報処理装置101を使用するユーザと管理装置102との要求や確認等のやりとりを仲介する。
【0116】
〔管理装置のハードウェア構成例〕
次に、図1の管理装置102のハードウェア構成例について説明する。
図2は、その管理装置102のハードウェア構成例を示すブロック図である。
管理装置102は、CPU201,メモリ202,記憶装置203,および通信部204から構成されている。これらはバス205を介して接続されている。
【0117】
CPU201は、管理装置102の処理全体を統括し、メモリ202や記憶装置203、通信部204にアクセスしながら各種演算処理を行う。このCPU201がメモリ202上の所定のプログラムを実行し、通信部204を制御することにより、この発明に関わる情報取得手段,差異検知手段,変更検知通知手段,情報更新手段,要求検知手段,変更要求手段,要求結果通知手段,ライセンスファイル要求手段,ライセンスファイル取得手段,ライセンス返却要求手段,プロダクトキー読み込み手段,時刻取得手段,比較手段,および情報削除手段としての機能を果すことができる。
【0118】
メモリ202は、一時的な記憶領域を持つRAM等の記憶手段であり、CPU201が実行するプログラムを記憶装置203から読み取って展開したり、CPU201が各種演算処理を行うにあたって一時的に必要なデータを保持する。
記憶装置203は、永続的な記憶領域を持つHDD等の不揮発性記憶手段であり、ソフトウェアを構成する各種プログラムやデータを保持する。
通信部204は、ネットワークを介して他の電子機器と通信可能に接続し、通信を行う接続手段(通信手段)である。
【0119】
なお、情報処理装置101,ソフトウェア配信サーバ103,およびライセンス管理サーバ104も、管理装置102と同様なハードウェア構成なので、図示および説明を省略する。また、情報処理装置101は、この発明に関わる接続手段,記憶手段,機器固有情報通知手段,機器固有情報判定手段,およびアクティベート処理手段としての機能を、ソフトウェア配信サーバ103は、この発明に関わる接続手段,記憶手段,ライセンスファイル発行手段,およびライセンス返却手段としての機能をそれぞれ実現できる。
【0120】
〔情報処理装置から取得できるソフトウェア情報の一例〕
次に、図1の情報処理装置101から取得できるソフトウェア情報の一例について説明する。
図3は、そのソフトウェア情報の一例を示す説明図である。
情報処理装置101から取得できるソフトウェア情報は、ファームウェアの情報かプラグインの情報の2つに分類される。
【0121】
ファームウェアの情報は、プロダクトID301およびバージョン302から構成されている。ここでは、プロダクトID301が「f00001」のファームウェアが存在する。
プラグインの情報は、プロダクトID301,バージョン302,ライセンス有無303,および有効期限304から構成されている。ここでは、プロダクトID301がそれぞれp00001,p00002,p00003のファームウェアが存在する。
【0122】
ここでは、ファームウェアを1つ、プラグインを3つとしているが、これは一例であり、個数はいくつでもよい。また、それらのソフトウェア(プログラム)以外のソフトウェアの情報を加えることもできる。
プロダクトID301は、ソフトウェアと一対一で対応付けられた識別子(識別情報)のことである。
バージョン302は、ソフトウェアのリリースに関する数字のことである。この数字が高いほど、より最近にリリースされたソフトウェアであることを意味する。
【0123】
ライセンス有無303は、対応するプラグインがライセンスを保持しているか(「あり」か)か否か(「なし」か)を表している。「あり」であれば、ライセンスを保持しており、対応するプラグインを利用できることを意味する。「なし」であれば、ライセンスを保持しておらず、対応するプラグインを利用できないことを意味する。ファームウェアは、ハードウェアの基本的な制御を行うソフトウェアであるため、ライセンスの有無はなく、常に利用できるものとする。
【0124】
有効期限304は、対応するプラグインのライセンスがいつまで有効であるかを表している。
例えば、ライセンス有無303が「あり」で、有効期限304が「2010/12/31」であれば、対応するプラグインのライセンスは2010/12/31まで有効であることを意味する。2010/12/31を過ぎると、ライセンス有無303は「なし」に変わり、有効期限304は「なし」に変わる。
【0125】
ライセンス有無303が「あり」で、有効期限304が「なし」であれば、対応するライセンスは無期限に有効であることを意味する。
ライセンス有無303が「なし」であれば、対応するプラグインはライセンスを保持していないため、有効期限304は「なし」となる。
なお、ファームウェア情報にライセンスの有無や有効期限を加えることもできる。
管理装置102は、それぞれの情報処理装置101のソフトウェア情報を記憶装置203で記憶している。
【0126】
〔ライセンス管理サーバで保持されるライセンス管理情報の一例〕
次に、図1のライセンス管理サーバ104で保持されるライセンス管理情報の一例について説明する。
図4は、そのライセンス管理情報の一例を示す説明図である。
ライセンス管理サーバ104で保持されるデータの一部にライセンス管理情報があり、これはプロダクトキー401,プロダクトID402,有効期限403,未発行ライセンス数404,発行済みライセンス数405,および機器固有情報406によって構成されている。
【0127】
プロダクトキー401は、ユーザがライセンスの発行を受けるために必要なキーのことである。ユーザは、プロダクトキーを用いてライセンスの発行を受けることで、ソフトウェアを利用することができる。ここでは、ユーザは既にソフトウェア販売元からライセンスを購入してプロダクトキー「222−333−555」が発行され、ライセンス管理サーバ104へも登録されているものとする。
【0128】
プロダクトID402は、ソフトウェアと一対一で対応付けられた識別子のことである。ここでは、プロダクトキー401によって利用することができるソフトウェアを表しており、プロダクトキー401が「222−333−555」でプロダクトID402が 「p00001」のソフトウェアを利用できる。
有効期限403は、このプロダクトキー401によって発行されたライセンスがいつまで有効かを表す期限のことである。
【0129】
未発行ライセンス数404は、このプロダクトキー401によってソフトウェアを利用できる情報処理装置101の台数の上限を表している。ここでは、未発行ライセンス数は「3」なので、プロダクトキー401の「222−333−555」によって、最大3台の情報処理装置101でソフトウェアを利用することができる。
発行済みライセンス数405は、このプロダクトキー401によってソフトウェアを利用している情報処理装置101の台数を表している。ここでは、発行済みライセンス数は「0」なので、プロダクトキー401の「222−333−555」によってソフトウェアを利用している情報処理装置はない。
【0130】
機器固有情報406は、このプロダクトキー401によってソフトウェアを利用している情報処理装置の機器固有情報を表している。つまり、プロダクトキー401が同じであれば、発行済みライセンス数405と機器固有情報406の数は一致する。ここでは、発行済みライセンス数405は「0」なので、機器固有情報406は空である。
ライセンス管理情報の構成は一例であり、これら以外の情報も保持することができる。例えば、ライセンスの契約形態が複数ある場合は、その情報を保持することができる。
【0131】
〔ライセンス管理サーバが発行するライセンスファイルの一例〕
次に、図1のライセンス管理サーバ104が発行するライセンスファイルの形式の一例について説明する。
図5は、そのライセンスファイルの形式の一例を示す説明図である。
ライセンスファイル501は、プロダクトID502,機器固有情報503,および有効期限504から構成されている。
【0132】
プロダクトID502は、このライセンスファイル501によって利用できるソフトウェアのプロダクトIDを表している。ここでは、プロダクトID502を「p00001」としている。
機器固有情報503は、このライセンスファイル501を適用できる機器の機器固有情報を表している。つまり、同じ機器固有情報503を保持する機器でなければ、ライセンスファイル501を適用することができない。ここでは、機器固有情報503を「mfp00001」としている。
【0133】
有効期限504は、このライセンスファイル501を適用することで得られるライセンスの有効期限を表している。ここでは、有効期限504を「2011/12/31」としている。
ライセンスファイルの構成は一例であり、これら以外の情報も保持することができる。例えば、ライセンスの契約形態が複数ある場合は、その情報を保持することができる。
【0134】
〔ライセンス管理サーバで保持されるライセンス管理情報の更新例〕
次に、図1のライセンス管理サーバ104で保持されるライセンス管理情報の更新例について説明する。
図6は、そのライセンス管理情報の更新例を示す説明図である。
ライセンス管理サーバ104において、図5に示したライセンスファイルが発行されると、ライセンス管理サーバ104で保持されるライセンス管理情報406が図4に示した空から図6に示す「mfp00001」へ変化する。この例では、機器固有情報406がライセンス管理サーバ104で保持され、未発行ライセンス数404は「3」から「2」へ変化し、発行済みライセンス数405は「0」から「1」へ変化する。
【0135】
〔管理装置の記憶装置で記憶されるライセンス情報の一例〕
次に、図1の管理装置102の記憶装置203で記憶されるライセンス情報の一例について説明する。
図7は、そのライセンス情報の一例を示す説明図である。
管理装置102の記憶装置203で記憶されるデータにライセンス情報があり、これはプロダクトキー701,プロダクトID702,有効期限703,および機器固有情報704から構成されている。
【0136】
そのライセンス情報としては、過去に管理センタ105を経由してユーザからアクティベートを要求されたときのライセンス情報が記憶されている。
プロダクトキー701,プロダクトID702,有効期限703,機器固有情報704の意味は、それぞれ図6に示したプロダクトキー401,プロダクトID402,有効期限403,機器固有情報406と同じである。
【0137】
〔定期的に行う動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内で定期的に行う動作シーケンスの一例について説明する。
図8は、その動作シーケンス一例を示すシーケンス図である。
ソフトウェア情報の取得(S801)は、管理装置102から一定期間で定期的に情報処理装置101に対して行われる。このとき、管理装置102は、ソフトウェア情報の取得要求を情報処理装置101へ送信することにより、その情報処理装置101にインストール(導入)されたファームウェアやプラグインの情報がソフトウェア情報(図3)として返ってくるので、それを取得する。
【0138】
ソフトウェア情報の比較(S802)は、管理装置102内で行われる。管理装置102の記憶装置203で記憶しているソフトウェア情報と、ソフトウェア情報の取得(S801)で取得したソフトウェア情報とを比較する。その比較の手順は、図9で述べる。
ソフトウェア構成変更通知(S803)は、管理装置102から管理センタ105に対して行われる。ソフトウェア情報の比較(S802)にてソフトウェア情報に変更があった場合にのみ、その変更内容を管理センタ105へ通知する。
【0139】
ソフトウェア構成変更通知(S804)は、管理センタ105からユーザ120に対して行われる。ソフトウェア情報の比較(S802)にてソフトウェア情報に変更があり、ソフトウェア構成変更通知(S803)が行われた場合、その変更内容をユーザ120へ通知する。ユーザ120への通知は、実際にはユーザ120が使用する機器(予め通知先として設定された機器)、例えば情報処理装置101や図示しないPC(ノートPC等),携帯電話等に対して行う。
【0140】
ソフトウェア情報の更新(S805)は、管理装置102内で行われる。管理装置102の記憶装置203で記憶しているソフトウェア情報を、ソフトウェア情報の取得(S801)で取得したものに更新する。
プロダクトキーの有効期限確認(S806)は、管理装置102内で行われる。管理装置102の記憶装置203で記憶しているライセンス情報(図7)の有効期限を確認する。つまり、その有効期限を現在の時刻(例えば年月日時分秒)と比較し、その時刻が有効期限を過ぎているプロダクトキーに対応するライセンス情報を削除する。
【0141】
ここで、現在の時刻は、計時手段としての図示しない時計回路から取得することができる。あるいはプログラム(但しUNIX(登録商標)系のOSに限る)によるソフト的な時計を用いることもできる。UNIX系のOS(Linuxを含む)は、時刻情報を1970年1月1日0:00からの経過秒として持っているため、時計回路がなくても、秒をカウントできるカウンタがあれば、そのカウンタを用いて時刻計測を行い、現在の時刻を取得することも可能になる。
【0142】
要求の確認(S807)は、管理装置102から管理センタ105に対して行われる。管理装置102が、管理センタ105に蓄積されたユーザ120からの要求を確認する。この例では、「要求なし」となっている。「要求あり」の例は、図10〜図15で述べる。
管理装置102は、これらの処理を一定間隔で定期的に行う。これにより、管理装置102が情報処理装置101のソフトウェア情報を確認し、それに変更が加えられた場合、管理センタ105へ通知することができるようになる。
【0143】
〔管理装置によるソフトウェア情報の比較手順の一例〕
次に、図1の管理装置102によるソフトウェア情報の比較(S802)の手順について説明する。
図9は、そのソフトウェア情報の比較(S802)の手順の一例を示すフローチャートである。
【0144】
ステップS901では、図8のソフトウェア情報の取得(S801)で取得したソフトウェア情報とを比較する。
ステップS902では、ステップS901で比較したソフトウェア情報の中でもライセンスの部分に注目し、差異があるかないかを判定する。具体的な差異とは、ライセンス有無の不一致である。
ステップS903では、ステップS902で差異があると判定されたライセンスに対して、そのライセンスが有効期限内か否かを判定する。
【0145】
そして、有効期限内であれば、意図せぬ変更が加えられたことによりライセンス部分の差異が発生したと判断し、ステップS904へ進む。例えば、ライセンス有無が「なし」から「あり」に変化していた場合、管理装置102以外からプラグインのアクティベートが行われたと考える。ライセンス有無が「あり」から「なし」に変化し、「あり」のときの有効期限が未来(この判定日以降)であれば、管理装置102以外からプラグインのディアクティベートが行われたと考える。
【0146】
有効期限内でなければ、ライセンスの期限切れによりライセンス部分の差異が発生したと判断し、ステップS905へ進む。例えば、ライセンス有無が「あり」から「なし」に変化し、「あり」のときの有効期限が過去(この判定日以前)であれば、ライセンスの期限切れによって機器のライセンス状態が自動的に変わったと考える。つまり、意図的にライセンス状態が変わったわけではないと考える。
【0147】
ステップS904では、ソフトウェア構成の変更検知を通知する。これは、図8のソフトウェア構成変更通知(S803)に相当する。
ライセンス有無が「なし」から「あり」に変化していたときには、意図せぬプラグインのアクティベートが発生していることを通知する。
ライセンス有無が「あり」から「なし」に変化していたときには、意図せぬプラグインのディアクティベートが発生していることを通知する。
【0148】
ステップS905では、ライセンスの期限切れを通知する。これは、ソフトウェア構成変更通知(S803)に相当する。このとき、ライセンスの期限切れが発生していることを通知する。
ステップS906では、ステップS901で比較したソフトウェア情報の中でもライセンス以外の部分に注目し、差異があるかないかを判定する。具体的な差異とは、プロダクトIDの一覧の過不足、バージョンの変化である。
【0149】
ステップS907では、ソフトウェア構成の変更検知を通知する。これは、ソフトウェア構成変更通知(S803)に相当する。
プロダクトIDに過剰がある場合には、意図せぬプラグインの追加が発生していることを通知する。
プロダクトIDに不足がある場合には、意図せぬプラグインの削除が発生していることを通知する。
バージョンに変化がある場合には、意図せぬプラグインの更新が発生していることを通知する。
【0150】
〔プラグイン追加要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でプラグイン追加要求時に行う動作シーケンスの一例について説明する。
図10は、その動作シーケンスの一例を示すシーケンス図である。
ユーザがプラグインの追加を要求するケースとしては、ユーザが管理センタ105からのソフトウェア変更通知(意図せぬプラグインの削除の発生)を受けて要求する場合と、ソフトウェア変更通知とは関係なく要求する場合とがある。いずれの場合も動作シーケンスは同じである。ユーザの要求は、実際にはユーザ120が使用する機器の操作により、その機器から発行される。
【0151】
プラグイン追加要求(S1001)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、追加したいプラグインのプロダクトIDとバージョンと対象の情報処理装置101を指定する。なお、この実施形態では、ユーザ120によって指定されるプロダクトID等の指定情報は、プラグイン追加要求等の要求に付加されるが、付加しなくても構わない。
【0152】
要求の確認(S1002)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1002)が行われ、そこで管理装置102はユーザ120の要求を知る(認識する)ことができる。また、その要求から指定されたプラグインのプロダクトID,バージョンと対象の情報処理装置101とを知る(検知する)ことができる。なお、それらの指定情報が要求に付加されないような場合には、要求の確認の際に、管理センタ105に要求とは別に指定情報を送信してもらい、その内容を知ることもできる。
【0153】
プラグインのダウンロード(S1003)は、管理装置102からソフトウェア配信サーバ103に対して行われる。このとき、管理装置102は、プラグイン追加要求(S1001)で指定されたプロダクトIDとバージョンのプラグインをダウンロードする。
プラグインの追加(S1004)は、管理装置102から情報処理装置101に対して行われる。このとき、管理装置102は、プラグインのダウンロード(S1003)でダウンロードしたプラグインを情報処理装置101へ送信し、プラグインの追加を要求する。その情報処理装置101は、受信したプラグインの追加処理を行い、その結果として成功/失敗を返す。
【0154】
ソフトウェア情報の更新(S1005)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、プラグインの追加(S1004)で追加したプラグインの情報を追加する。この処理は、プラグインの追加(S1004)が成功した場合に行い、失敗した場合は行わない。
プラグイン追加要求の結果通知(S1006)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、プラグインの追加(S1004)の結果を管理センタ105へ通知する。
【0155】
プラグイン追加要求の結果通知(S1007)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、プラグインの追加(S1004)の結果をユーザ120へ通知する。
この図10の動作シーケンスでは、ユーザの要求はプラグインの追加であるが、プラグインの更新も「追加」を「更新」に置き換えた同じ動作シーケンスになる。ファームウェアの更新も「プラグインの追加」を「ファームウェアの更新」に置き換えた同じ動作シーケンスになる。
【0156】
〔プラグイン削除要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でプラグイン削除要求時に行う動作シーケンスの一例について説明する。
図11は、その動作シーケンスの一例を示すシーケンス図である。
ユーザがプラグインの削除を要求するケースとしては、ユーザが管理センタ105からのソフトウェア変更通知(意図せぬプラグインの追加の発生)を受けて要求する場合と、ソフトウェア変更通知とは関係なく要求する場合とがある。いずれの場合も動作シーケンスは同じである。
【0157】
プラグイン削除要求(S1101)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、削除したいプラグインのプロダクトIDと対象の情報処理装置101を指定する。
要求の確認(S1102)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1102)が行われ、そこで管理装置102はユーザ120の要求を知ることができる。また、その要求から指定されたプラグインのプロダクトIDと対象の情報処理装置101とを知ることもできる。
【0158】
プラグインの削除(S1103)は、管理装置102から情報処理装置101に対して行われる。このとき、管理装置102は、プラグイン削除要求(S1101)で指定されたプロダクトIDを情報処理装置101へ送信する。その情報処理装置101は、受信したプロダクトIDのプラグインの削除処理を行い、その結果として成功/失敗を返す。
ソフトウェア情報の更新(S1104)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、プラグインの削除(S1103)で削除したプラグインの情報を削除する。この処理は、プラグインの削除(S1103)が成功した場合に行い、失敗した場合は行わない。
【0159】
プラグイン削除要求の結果通知(S1105)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、プラグインの削除(S1103)の結果を管理センタ105へ通知する。
プラグイン削除要求の結果通知(S1106)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、プラグインの削除(S1103)の結果をユーザ120へ通知する。
【0160】
〔プラグインアクティベート要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でプラグインアクティベート要求時に行う動作シーケンスの一例について説明する。
図12は、その動作シーケンスの一例を示すシーケンス図である。
【0161】
ユーザがプラグインのアクティベートを要求するケースとしては、(1)ユーザが管理センタ105からのソフトウェア変更通知(意図せぬプラグインのディアクティベートの発生)を受けて要求する場合と、(2)ユーザが管理センタからソフトウェア変更通知(ライセンスの期限切れの発生)を受けて要求する場合と、(3)ソフトウェア変更通知とは関係なく要求する場合とがある。(1)の場合は図14で述べ、(2)と(3)の場合をここで述べる。
【0162】
アクティベート要求(S1201)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、アクティベートしたい対象のプラグインのプロダクトキーと対象の情報処理装置101を指定する。
要求の確認(S1202)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1202)が行われ、そこで管理装置102はユーザ120の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトキーと対象の情報処理装置101の機器指定情報(IPアドレス等)とを知ることもできる。
【0163】
機器固有情報の取得(S1203)は、管理装置102から対象の情報処理装置101に対して行われる。このとき、管理装置102は、機器固有情報の取得要求を対象の情報処理装置101へ送信することにより、その情報処理装置101が、自身が保持する機器固有情報を返すので、それを取得する。
【0164】
ライセンス発行要求(S1204)は、管理装置102からライセンス管理サーバ104に対して行われる。このとき、管理装置102は、アクティベート要求(S1201)で指定されたプロダクトキーと機器固有情報の取得(S1203)で取得した機器固有情報とをライセンス管理サーバ104へ送信し、ライセンスファイルの発行を要求する。ライセンス管理サーバ104は、その要求により、受信したプロダクトキーからプロダクトIDと有効期限とを割り出し、それらと受信した機器固有情報とからライセンスファイルを作成する。そして、作成したライセンスファイルとプロダクトIDと有効期限とを管理装置102へ返し、受信したプロダクトキーに対応する発行済みライセンス数を1つ増やし、受信した機器固有情報を追加する。
【0165】
アクティベート(S1205)は、管理装置102から情報処理装置101に対して行われる。このとき、管理装置102は、ライセンス発行要求(S1204)で取得したライセンスファイルを情報処理装置101へ送信し、プラグインのアクティベートを要求する。その情報処理装置101は、その要求により、自身が保持している機器固有情報と受信したライセンスファイルを構成する機器固有情報とが一致するか否かを判定し、両機器固有情報が一致したことを確認した上でアクティベート処理を行い、その結果として成功/失敗を返す。
ソフトウェア情報の更新(S1206)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、ライセンス発行要求(S1204)で返されたプロダクトIDと有効期限とを設定してライセンス有無を「あり」に変更する。この処理は、アクティベート(S1205)が成功した場合に行い、失敗した場合は行わない。
【0166】
プロダクトキーの保存(S1207)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203にてアクティベート要求(S1201)で指定されたプロダクトキーとライセンス発行要求(S1204)で返ってきた有効期限とを記憶する。
アクティベート要求の結果通知(S1208)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、アクティベート(S1205)の結果を管理センタ105へ通知する。
アクティベート要求の結果通知(S1209)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、アクティベート(S1205)の結果をユーザ120へ通知する。
【0167】
〔プラグインディアクティベート要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でプラグインディアクティベート要求時に行う動作シーケンスの一例について説明する。
図13は、その動作シーケンスの一例を示すシーケンス図である。
ユーザがプラグインのディアクティベートを要求するケースとしては、(1)ユーザが管理センタ105からのソフトウェア変更通知(意図せぬプラグインのアクティベートの発生)を受けて要求する場合と、(2)ソフトウェア変更通知とは関係なく要求する場合とがある。(1)の場合は図15で述べ、(2)の場合をここで述べる。
【0168】
ディアクティベート要求(S1301)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、ディアクティベートしたい対象のプロダクトIDと対象の情報処理装置101を指定する。
要求の確認(S1302)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1302)が行われ、そこで管理装置102はユーザ120の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトIDと対象の情報処理装置101の機器指定情報とを知ることもできる。
【0169】
ディアクティベート(S1303)は、管理装置102から対象の情報処理装置101に対して行われる。このとき、管理装置102は、ディアクティベート要求(S1301)で指定された対象のプロダクトIDを対象の情報処理装置101へ送信する。その情報処理装置101は、受信したプロダクトIDのプラグインのディアクティベート処理を行い、その結果として成功/失敗を返す。
機器固有情報の取得(S1304)は、管理装置102から対象の情報処理装置101に対して行われる。このとき、情報処理装置101は、機器固有情報の取得要求を対象の情報処理装置101へ送信することにより、その情報処理装置101が、自身が保持する機器固有情報を返すので、それを取得する。
【0170】
ライセンス返却要求(S1305)は、管理装置102からライセンス管理サーバ104に対して行われる。このとき、管理装置102は、ディアクティベート要求(S1301)で指定されたプロダクトIDと機器固有情報の取得(S1304)で取得した機器固有情報とを、ライセンス管理サーバ104へ送信し、ライセンスの返却を要求する。ライセンス管理サーバ104は、その要求により、受信したプロダクトIDと機器固有情報からプロダクトキーを特定し、それに対応する発行済みライセンス数を1つ減らし、受信した機器固有情報と一致する機器固有情報を削除する。
【0171】
ソフトウェア情報の更新(S1306)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、ディアクティベート(S1303)でディアクティベートしたプラグインのライセンス有無を「なし」に変更して有効期限も「なし」に変更する。この処理は、ディアクティベート(S1303)が成功した場合に行い、失敗した場合は行わない。
【0172】
プロダクトキーの削除(S1307)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されている有効期限を確認し、有効期限が過去であれば、対応するプロダクトキーを削除する。つまり、記憶装置203にてディアクティベート要求(S1301)で指定されたプロダクトIDと機器固有情報の取得(S1304)で取得した機器固有情報に対応するライセンスキーを削除する。
【0173】
ディアクティベート要求の結果通知(S1308)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、ディアクティベート(S1303)の結果を管理センタ105へ通知する。
ディアクティベート要求の結果通知(S1309)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、ディアクティベート(S1303)の結果をユーザ120へ通知する。
【0174】
〔ディアクティベート差し戻し要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でディアクティベート差し戻し要求時に行う動作シーケンスの一例について説明する。
図14は、その動作シーケンスの一例を示すシーケンス図である。
これは、ユーザが管理センタ105からのソフトウェア構成変更通知(意図せぬプラグインのディアクティベートの発生)を受けてディアクティベートの差し戻し(取り消し)、つまりアクティベートを要求するときの動作シーケンスを示している。
【0175】
ディアクティベート差し戻し要求(S1401)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、アクティベートしたい対象のプロダクトIDと対象の情報処理装置101を指定する。
要求の確認(S1402)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1402)が行われ、そこで管理装置102はユーザ120の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトIDと対象の情報処理装置101の機器指定情報とを知ることもできる。
【0176】
機器固有情報の取得(S1403)は、管理装置102から情報処理装置101に対して行われる。このとき、情報処理装置101は、機器固有情報の取得要求を対象の情報処理装置101へ送信することにより、その情報処理装置101が、自身が保持する機器固有情報を返すので、それを取得する。
プロダクトキーの読み込み(S1404)は、管理装置102内で行われる。このとき、管理装置102はディアクティベート差し戻し要求(S1401)で指定された対象のプロダクトIDと機器固有情報の取得(S1403)で取得した機器固有情報とに基づいて、対応するプロダクトキーを記憶装置203に記憶されているライセンス情報から読み込む。
【0177】
ライセンス発行要求(S1405)は、管理装置102からライセンス管理サーバ104に対して行われる。このとき、管理装置102は、プロダクトキーの読み込み(S1404)で読み込んだプロダクトキーと機器固有情報の取得(S1403)で取得した機器固有情報とを、ライセンス管理サーバ104へ送信し、ライセンスファイルの発行を要求する。ライセンス管理サーバ104は、その要求により、受信したプロダクトキーからプロダクトIDと有効期限とを割り出し、それらと受信した機器固有情報とからライセンスファイルを作成する。そして、作成したライセンスファイルとプロダクトIDと有効期限とを管理装置102へ返し、受信したプロダクトキーに対応する発行済みライセンス数を1つ増やし、受信した機器固有情報を追加する。
【0178】
アクティベート(S1406)は、管理装置102から情報処理装置101に対して行われる。このとき、管理装置102は、ライセンス発行要求(S1405)で取得したライセンスファイルを情報処理装置101へ送信し、プラグインのアクティベートを要求する。その情報処理装置101は、その要求により、自身が保持している機器固有情報と受信したライセンスファイルが保持する機器固有情報が同じことを確認した上でアクティベート処理を行い、その結果として成功/失敗を返す。
ソフトウェア情報の更新(S1407)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、ライセンス発行要求(S1405)で返されたプロダクトIDと有効期限とを設定してライセンス有無を「あり」に変更する。この処理は、アクティベート(S1406)が成功した場合に行い、失敗した場合は行わない。
【0179】
ディアクティベート差し戻し要求の結果通知(S1408)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、アクティベート(S1406)の結果を管理センタ105へ通知する。
ディアクティベート差し戻し要求の結果通知(S1409)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、アクティベート(S1406)の結果をユーザ120へ通知する。
【0180】
〔アクティベート差し戻し要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でアクティベート差し戻し要求時に行う動作シーケンスの一例について説明する。
図15は、その動作シーケンスの一例を示すシーケンス図である。
これは、ユーザが管理センタ105からのソフトウェア変更通知(意図せぬプラグインのアクティベートの発生)を受けてアクティベート差し戻し、つまりディアクティベートを要求するときの動作シーケンスを示している。
【0181】
アクティベート差し戻し要求(S1501)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、ディアクティベートしたい対象のプロダクトIDと対象の情報処理装置101を指定する。
要求の確認(S1502)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1502)が行われ、そこで管理装置102はユーザ120の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトIDと対象の情報処理装置101の機器指定情報とを知ることもできる。
【0182】
ディアクティベート(S1503)は、管理装置102から情報処理装置101に対して行われる。このとき、管理装置102は、アクティベート差し戻し要求(S1501)で指定されたプロダクトIDを情報処理装置101へ送信する。その情報処理装置101は、受信したプロダクトIDのプラグインのディアクティベート処理を行い、その結果として成功/失敗を返す。
機器固有情報の取得(S1504)は、管理装置102から情報処理装置101に対して行われる。このとき、情報処理装置101は、機器固有情報の取得要求を対象の情報処理装置101へ送信することにより、その情報処理装置101が、自身が保持する機器固有情報を返すので、それを取得する。
【0183】
ライセンス返却要求(S1505)は、管理装置102からライセンス管理サーバ104に対して行われる。このとき、管理装置102は、アクティベート差し戻し要求(S1501)で指定されたプロダクトIDと機器固有情報の取得(S1504)で取得した機器固有情報とを、ライセンス管理サーバ104へ送信し、ライセンスの返却を要求する。ライセンス管理サーバ104は、その要求により、受信したプロダクトキーと機器固有情報からプロダクトキーを特定し、それに対応する発行済みライセンス数を1つ減らし、受信した機器固有情報と一致する機器固有情報を削除する。
【0184】
ソフトウェア情報の更新(S1506)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、ディアクティベート(S1303)でディアクティベートしたプラグインのライセンス有無を「なし」に変更して有効期限も「なし」に変更する。この処理は、ディアクティベート(S1303)が成功した場合に行い、失敗した場合は行わない。
【0185】
アクティベート差し戻し要求の結果通知(S1507)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、ディアクティベート(S1503)の結果を管理センタ105へ通知する。
アクティベート差し戻し要求の結果通知(S1508)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、ディアクティベート(S1503)の結果をユーザ120へ通知する。
【0186】
このように、管理装置が、ソフトウェア情報およびライセンス情報を記憶する記憶装置を備え、自己と通信可能な情報処理装置に導入されたソフトウェアの情報を、その情報処理装置から定期的に取得し、その取得したソフトウェア情報と記憶装置内のソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知すると共に、上記取得したソフトウェア情報によって記憶装置内の対応するソフトウェア情報を更新した後、上記ユーザからのソフトウェア構成の変更要求を検知した場合に、記憶装置内の対応するライセンス情報を利用して、上記情報処理装置へソフトウェア構成の変更を要求し、その要求の結果を上記ユーザに対して通知することにより、情報処理装置において管理装置以外から意図せぬソフトウェア構成の変更があった場合に、そのソフトウェア構成を変更前の状態に戻すことができる。つまり、情報処理装置において管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーすることができる。
【0187】
以上の実施形態では、この発明による管理装置を含む電子機器管理システムの例として、管理装置により情報処理装置を管理する情報処理装置管理システムについて説明したが、この発明はこれに限られるものではなく、ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム,AV機器,遊戯機器等の組み込み機器や、ネットワークに接続可能なコンピュータ等も含め、各種電子機器を被管理装置とし、それらの被管理装置を管理装置によって管理する電子機器管理システムにも適用可能である。
【0188】
〔この発明に関わるプログラム〕
このプログラムは、管理装置を制御するコンピュータであるCPUに、この発明に関わる情報取得手段,差異検知手段,変更検知通知手段,情報更新手段,要求検知手段,変更要求手段,要求結果通知手段,ライセンスファイル要求手段,ライセンスファイル取得手段,ライセンス返却要求手段,プロダクトキー読み込み手段,時刻取得手段,比較手段,および情報削除手段としての機能を実現させるためのプログラムであり、このようなプログラムをCPUに実行させることにより、上述したような作用効果を得ることができる。
【0189】
このようなプログラムは、はじめから管理装置に備えるROM、あるいは不揮発性メモリ(フラッシュROM,EEPROM等)、あるいはHDDなどの記憶手段に格納しておいてもよいが、記録媒体であるCD−ROM、あるいはメモリカード,フレキシブルディスク,MO,CD−R,CD−RW,DVD+R,DVD+RW,DVD−R,DVD−RW,又はDVD−RAM等の不揮発性記録媒体(メモリ)に記録して提供することもできる。それらの記録媒体に記録されたプログラムを管理装置にインストールしてCPUに実行させるか、CPUにそれらの記録媒体からこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【0190】
以上の説明から明らかなように、この発明によれば、管理装置と接続可能な電子機器において、管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーすることができる。したがって、電子機器を常に最適なソフトウェア構成で動作させることが可能な管理装置、それを含む電子機器管理システムを提供することができる。
【符号の説明】
【0191】
101:情報処理装置 102:管理装置 103:ソフトウェア配信サーバ
104:ライセンス管理サーバ 105:管理センタ
106:ローカルネットワーク 107:インタネット CPU201,メモリ202,記憶装置203,および通信部204
【先行技術文献】
【特許文献】
【0192】
【特許文献1】特開2002−288066号公報
【技術分野】
【0001】
この発明は、通信可能な画像読取装置(スキャナ装置等),画像形成装置(デジタル複合機,デジタル複写機,ファクシミリ装置,プリンタ装置等),パーソナルコンピュータ,車載情報処理装置等の情報処理装置を含む各種の電子機器、それを管理する管理装置、上記電子機器で特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバ、上記電子機器と管理装置とを備えた電子機器管理システム、上記管理装置における管理方法、その管理装置を制御するコンピュータに必要な機能(この発明に係わる機能)を実現させるためのプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【0002】
例えば、上記のような情報処理装置に導入されるソフトウェアには、ハードウェアの基本的な制御を行うファームウェアや、その情報処理装置の機能を提供するプラグイン(小さなプログラム)などがある。ソフトウェアをファームウェアやプラグインとして提供することで、容易にソフトウェアの追加/更新/削除などを実現することができる。また、情報処理装置に組み込まれた各プラグインを、「アクティベート(ライセンスが適用)されると利用できるようになり、ディアクティベート(ライセンスが解除)されると利用できなくなる」とすることで、プラグイン単位で利用可能な機能を制限することもできる。以後、ソフトウェアの追加/更新/削除/アクティベート/ディアクティベートなどを総称して、「ソフトウェア構成の変更」又は「ソフトウェアの変更」,又は「ソフトウェアの更新」と呼ぶ。
【0003】
ところで、情報処理装置のソフトウェア構成を変更するためには、ネットワークを介して情報処理装置と接続可能な管理装置を設置し、その管理装置からソフトウェア構成の変更を要求するシステムが考えられる。このようなシステムとしては、管理装置が、各情報処理装置に導入されたソフトウェアのバージョンを定期的に確認し、バージョンが最新でない場合には、ソフトウェアの更新を行うことで、バージョンを最新に保つことができる情報処理装置管理システムが既に知られている。
【0004】
しかし、このような従来の情報処理装置管理システムでは、ソフトウェアのバージョンを最新に保つことはできるが、「管理装置以外から意図せぬソフトウェア構成の変更が行われたとき、管理装置がその変更を検知してリカバリーすることができない」という問題があった。管理装置以外からの意図せぬ変更とは、例えば情報処理装置の操作部から誤ってソフトウェアの追加/更新/削除/アクティベート/ディアクティベートなどを行ってしまうことである。管理装置が情報処理装置に導入されたソフトウェアのバージョンを確認するだけでは、このようなソフトウェア構成の変更を検知できない。
【0005】
そこで、その問題を解消するため、特許文献1に開示されている技術を利用することが考えられる。
特許文献1には、画像形成装置のファームウェア更新の手間と時間を省く目的で、ネットワークを介して画像形成装置を管理する画像形成装置管理システムについて開示されている。このシステムでは、管理装置(クライアント)が画像形成装置へ現在のバージョンの送信要求を行い、それに対して画像形成装置が現在のバージョンを返し、管理装置がそのバージョンと外部記録装置に記録されているファームウェアのバージョンとを比較することにより、最新バージョンであるか否かを判定し、最新バージョンでなかった場合に、最新バージョンのファームウェアを外部記録装置から読み込んで画像形成装置へ送信し、そのファームウェアを受信した画像形成装置が、ファームウェアを最新バージョンに更新する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載のものでも、管理装置以外から意図せぬソフトウェア構成の変更が行われたとき、管理装置がその変更を検知してリカバリーすることができない」という欠点は解消できていない。
この発明は、上記の点に鑑みてなされたものであり、管理装置と接続可能な電子機器において、管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーできるようにすることを目的とする。
【課題を解決するための手段】
【0007】
この発明は、上記の目的を達成するため、以下に示す管理装置、ライセンス管理サーバ、電子機器、その電子機器と上記管理装置とを備えた電子機器管理システム、上記管理装置における管理方法、上記管理装置を制御するコンピュータに実行させるプログラム,およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【0008】
この発明による管理装置は、電子機器と通信可能に接続する接続手段を備え、それによって接続される電子機器を管理する管理装置であって、ソフトウェア情報およびライセンス情報を記憶する記憶手段と、上記電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得する情報取得手段と、それによって取得したソフトウェア情報と上記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知手段と、それによって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知手段と、上記情報取得手段によって取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新する情報更新手段と、上記ユーザからのソフトウェア構成の変更要求を検知する要求検知手段と、それによってソフトウェア構成の変更要求を検知した場合に、上記記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求する変更要求手段と、それによる要求の結果を上記ユーザに対して通知する要求結果通知手段とを設けたものである。
【0009】
なお、以下の(1)〜(5)に示すようにするとよい。
(1)上記接続手段に、上記電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバと通信可能に接続する手段を備え、上記要求検知手段に、上記ユーザからのソフトウェア構成の変更要求を検知する際に、そのユーザからの指定情報を検知する手段を備え、上記情報取得手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェア(プラグイン等)のアクティベート要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトキーが検知された場合に、その機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記要求検知手段によって検知されたプロダクトキーと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求するライセンスファイル要求手段と、その要求に対して、上記ライセンス管理サーバから発行されたライセンスファイルを取得するライセンスファイル取得手段とを設け、上記変更要求手段に、上記ライセンスファイル取得手段によって取得したライセンスファイルを上記要求検知手段によって検知された機器指定情報が示す電子機器へ送信し、ソフトウェアのアクティベートを要求する手段を備え、上記情報更新手段に、上記要求検知手段によって検知されたプロダクトキーを上記記憶手段内の対応するライセンス情報に追加する手段を備える。
【0010】
(2)(1)に示した構成に加え、上記変更要求手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、そのプロダクトIDをその機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を備え、上記情報取得手段に、上記要求検知手段によってソフトウェアのディアクティベート要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトIDと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスの返却を要求するライセンス返却要求手段を設け、上記情報更新手段に、上記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトIDと上記情報取得手段によって取得した機器固有情報に対応するライセンスキーを上記記憶手段内の対応するライセンス情報から削除する手段を備える。
【0011】
(3)(2)に示した構成に加え、上記変更要求手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート取り消し要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、その機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記要求検知手段によってソフトウェアのディアクティベート取り消し要求と共に検知されたプロダクトIDと上記情報取得手段によって取得した機器固有情報に基づいて、上記記憶手段内の対応するライセンス情報からプロダクトキーを読み込むプロダクトキー読み込み手段を設け、上記ライセンスファイル要求手段に、上記プロダクトキー読み込み手段によって読み込んだプロダクトキーと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求する手段を備える。
【0012】
(4)(2)又は(3)に示した構成に加え、上記変更要求手段に、上記要求検知手段により、上記ソフトウェア構成の変更要求として、ソフトウェアのアクティベート取り消し要求が検知されると共に、上記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、そのプロダクトIDをその機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を備え、上記情報取得手段に、上記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を備え、上記ライセンス返却要求手段に、上記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知されたプロダクトIDと上記情報取得手段によって取得した機器固有情報とを上記ライセンス管理サーバへ送信し、ライセンスの返却を要求する手段を備える。
【0013】
(5)(2)〜(4)のいずれかに示した構成に加え、上記記憶手段内のライセンス情報を、少なくともプロダクトキーと有効期限とによって構成し、現在の時刻を取得する時刻取得手段と、それによって取得した現在の時刻と上記有効期限とを比較する比較手段と、その比較の結果、上記有効期限を経過しているプロダクトキーに対応するライセンス情報を上記記憶手段から削除する情報削除手段とを設ける。
【0014】
この発明によるライセンス管理サーバは、(5)に示した構成を加えた管理装置と通信可能に接続する接続手段を供え、それによって接続される管理装置と通信可能な電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバであって、プロダクトキー,プロダクトID,有効期限,未発行ライセンス数,発行済みライセンス数,および上記電子機器の機器固有情報からなるライセンス情報を記憶する記憶手段と、上記管理装置からライセンスファイルの発行要求と共にプロダクトキーと機器固有情報とを受信した場合に、そのプロダクトキーとその機器固有情報とに基づいて、上記ライセンス情報記憶手段内の対応するプロダクトID,機器固有情報,有効期限を含むライセンスファイルを作成して上記管理装置へ送信し、上記記憶手段内の対応する上記未発行ライセンス数を1つ減らすと共に、対応する上記発行済みライセンス数を1つ増やすライセンスファイル発行手段と、上記管理装置から上記ライセンスの返却要求と共にプロダクトIDと機器固有情報とを受信した場合に、上記記憶手段内の対応する未発行ライセンス数を1つ増やすと共に、対応する発行済みライセンス数を1つ減らすライセンス返却手段とを設けたものである。
【0015】
この発明による電子機器は、(2)〜(5)のいずれかに示した構成を加えた管理装置と通信可能に接続する接続手段を備え、それによって接続される管理装置によって管理される電子機器であって、その電子機器の機器固有情報を記憶する記憶手段と、上記管理装置から機器固有情報取得要求を受信した場合に、上記記憶手段内の上記機器固有情報を上記管理装置へ通知する機器固有情報通知手段と、上記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と上記記憶手段内の上記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、その判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたものである。
【0016】
この発明による電子機器管理システムは、(2)〜(5)のいずれかに示した構成を加えた管理装置と、その管理装置と通信可能に接続する接続手段を備え、それによって接続される管理装置によって管理される電子機器とを備えた電子機器管理システムであって、上記電子機器に、上記管理装置から機器固有情報取得要求を受信した場合に、上記記憶手段内の上記機器固有情報を上記管理装置へ通知する機器固有情報通知手段と、上記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と上記記憶手段内の上記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、それによる判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたものである。
【0017】
この発明による管理方法は、電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを備え、上記接続手段によって接続される電子機器を管理する管理装置における管理方法であって、上記電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得する情報取得工程と、それによって取得したソフトウェア情報と上記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知工程と、それによって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知工程と、上記情報取得工程によって取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新する情報更新工程と、上記ユーザからのソフトウェア構成の変更要求を検知する要求検知工程と、それによってソフトウェア構成の変更要求を検知した場合に、上記記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求する変更要求工程とを有するものである。
【0018】
この発明によるプログラムは、電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを備え、上記接続手段によって接続される電子機器を管理する管理装置を制御するコンピュータに、上記電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得する情報取得機能と、それによって取得したソフトウェア情報と上記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知機能と、それによって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知機能と、上記情報取得機能によって取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新する情報更新機能と、上記ユーザからのソフトウェア構成の変更要求を検知する要求検知機能と、それによってソフトウェア構成の変更要求を検知した場合に、上記記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求する変更要求機能とを実現させるためのプログラムである。
この発明による記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0019】
この発明によれば、管理装置が、ソフトウェア情報およびライセンス情報を記憶する記憶手段を備え、自己と通信可能な電子機器に導入されたソフトウェアの情報を、その電子機器から定期的に取得し、その取得したソフトウェア情報と記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知すると共に、上記取得したソフトウェア情報によって上記記憶手段内の対応するソフトウェア情報を更新した後、上記ユーザからのソフトウェア構成の変更要求を検知した場合に、記憶手段内の対応するライセンス情報を利用して、上記電子機器へソフトウェア構成の変更を要求し、その要求の結果を上記ユーザに対して通知することにより、電子機器において管理装置以外から意図せぬソフトウェア構成の変更があった場合に、そのソフトウェア構成を変更前の状態に戻すことができる。つまり、電子機器において管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーすることができる。
【図面の簡単な説明】
【0020】
【図1】この発明による管理装置を含む電子機器管理システムの一実施形態である情報処理装置管理システムのネットワーク構成例を示す概念図である。
【図2】図1の管理装置102のハードウェア構成例を示すブロック図である。
【図3】図1の情報処理装置101から取得できるソフトウェア情報の一例を示す説明図である。
【図4】図1のライセンス管理サーバ104で保持されるライセンス管理情報の一例を示す説明図である。
【図5】図1のライセンス管理サーバ104が発行するライセンスファイルの形式の一例を示す説明図である。
【図6】図1のライセンス管理サーバ104で保持されるライセンス管理情報の更新例を示す説明図である。
【図7】図1の管理装置102の記憶装置203で記憶されるライセンス情報の一例を示す説明図である。
【0021】
【図8】図1に示した情報処理装置管理システム内で定期的に行う動作シーケンスの一例を示すシーケンス図である。
【図9】図1の管理装置102によるソフトウェア情報の比較(S802)の手順の一例を示すフロー図である。
【図10】図1に示した情報処理装置管理システム内でプラグイン追加要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図11】同じくプラグイン削除要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図12】同じくプラグインアクティベート要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図13】同じくプラグインディアクティベート要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図14】同じくディアクティベート差し戻し要求時に行う動作シーケンスの一例を示すシーケンス図である。
【図15】同じくアクティベート差し戻し要求時に行う動作シーケンスの一例を示すシーケンス図である。
【0022】
【図16】この発明の第1参考例である画像形成装置管理システムのネットワーク構成例を示す概念図である。
【図17】図16の画像形成装置1〜4内の主要なハードウェアおよびソフトウェアの論理的な構成例を示すブロック図である。
【図18】図16の画像形成装置1〜4内のハードウェアの構成例を示すブロック図である。
【図19】図17に示した画像形成装置1〜4内の各部によるユーザ認証時の動作シーケンスの一例を示すシーケンス図である。
【図20】図17に示した画像形成装置1〜4内の各部による修正データ適用時の動作シーケンスの一例を示すシーケンス図である。
【図21】図17に示した画像形成装置1〜4内の各部による修正データの適用のための動作シーケンスの他の例を示すシーケンス図である。
【図22】同じく外部機器からの状態変更の連絡のための動作シーケンスの一例を示すシーケンス図である。
【図23】同じく外部機器からの修正データの適用のための動作シーケンスの一例を示すシーケンス図である。
【図24】、図17に示した画像形成装置1〜4内の各部によるユーザ認証の解除のための動作シーケンスの一例を示すシーケンス図である。
【0023】
【図25】図17の入出力制御部11および実行プログラム制御部19等による修正データ適用可否の確認処理の一例を示すフローチャートである。
【図26】図18の記憶装置14およびメモリ23内のデータを各データの構造例を示す説明図である。
【図27】図17の操作パネル15上における修正可能プログラム検索画面の表示例を示す図である。
【図28】同じく修正対象プログラム選択画面の表示例を示す図である。
【図29】同じく適用中画面の表示例を示す図である。
【図30】同じく認証解除中画面の表示例を示す図である。
【図31】同じく適用中画面の表示例を示す図である。
【図32】図18のメモリ14上の修正対象プログラムの変更説明に供する説明図である。
【発明を実施するための形態】
【0024】
この発明を実施するための形態の説明に入る前に、理解の便宜のため、この発明の各参考例について、対応する課題と共に、図16〜図32を参照して説明する。
電子機器(機械)で不具合が発生し、例えば、それがファームウェアの問題であった場合、そのファームウェアを構成するプログラムの修正が必要になる。通常は、不具合が発生した後、その問題を解決するためにプログラムのソースコードを調査して、その問題を発見し、その後プログラムを作り直して、機械のファームウェアを更新する。
このとき、2つの課題が発生する。一つは、ソースコードの調査に時間がかかることである。もう一つは、ファームウェアの更新である。
【0025】
ソースコードレベルの実装上の問題は、たいてい仕様書に書いてないことが多く、複雑なプログラムになればなるほど、問題を特定するのは難しくなる。また、ファームウェア更新においては、サーバ装置や画像形成装置などの入出力装置では、ダウンタイムを気にする場合、機械を一時的に止めることが困難なケースも存在する。
これらの問題は、プログラムを動的に変更(単に「変更」ともいう)する技術によって解決することが可能なことが分かっている。一つ目の問題は、動作中の不具合を持った機械に対して、調査用のプログラムを送りこむことにより、プログラムの動作や変数の値を調査することで問題解決の期間を短縮し、ファームウェアの更新はプログラムを修正(変更)することで、機械を止めることなく不具合を取り除くことができる。
【0026】
一方、プログラムを変更する技術は、プログラムの一部を置き換える手法である。また、プログラム変更技術を画像形成装置に適用する場合、2つの方法がある。一つは、サーバ装置と画像形成装置とをネットワーク経由で通信可能に接続し、サーバ装置から画像形成装置にプログラムを送り込む方法であり、もう一方は、画像形成装置に外部記録媒体等を用いてプログラムを送り込む方法である。
【0027】
プログラムの動的な変更を目的とした場合、どちらの手法を用いた場合でもセキュリティ上の課題が出てくる。その課題とは、前者の場合は以下の(a)(b)に示す問題、後者の場合は以下の(c)(d)に示す問題である。
(a)サーバ装置の認証の問題
(b)ネットワーク上でのプログラムの改ざんの問題
(c)外部記録媒体上のプログラムの改ざんの問題
(d)ユーザの認証の問題
【0028】
以上の4つの課題は、一般的な認証方法を用いて解決することが可能である。つまり、(a)に示した問題は、証明書の交換等による装置同士の接続認証によって解消できる。(b)(c)に示した問題は、電子署名等によるプログラムの認証によって解消できる。(d)に示した問題は、パスワード認証等によるユーザの認証(個人認証)によって解消できる。
【0029】
上記のような認証方式を用いて、セキュリティを強化した場合、次にユーザビリティの課題が発生する。具体的には、プログラムの認証を一度サーバ装置のような認証装置を通して電子署名等を作成し、それを再度ダウンロードして、機器にインストールする場合などである。
このような場合、ユーザはプログラムを修正する度に、認証装置にアクセスする必要があり、動的なプログラムの利便性である対応速度が損なわれる。また、機器上においても、プログラムの認証をプログラムの起動毎に実施していては、プログラムの挙動に変化を及ぼすため、例えば処理能力が低下したり、問題の再現が行われない問題も発生する。
【0030】
そこで、上記課題を考慮して、ユーザやプログラムの認証に関わる手間を極力省きながら、動的なプログラムの変更技術を適用する方法を提案する。
その解決方法の基本的シナリオの一例は、以下の通りである。
1.認証装置は、ユーザの操作に従って、ユーザ登録を行い、個人認証を設定して、登録ユーザに対応する暗号化した電子証明書(又はID+パスワード等)をユーザ認証情報(以下「ユーザ情報」又は「認証情報」ともいう)を作成する。
2.認証装置は、ユーザの操作に従って、指定プログラムに対する制約(制限)の解除を行う。このとき、例えば動的変更可能なプログラムを指定することにより、その指定したプログラムを制約解除されたプログラムとし、そのプログラムが修正データ(「プログラム修正データ」又は「修正プログラム」ともいう)によって修正(書き換え)可能になるため、そのプログラムの情報(プログラム名等)を修正対象プログラム情報として作成する。
【0031】
3.認証装置は、作成した認証情報に作成した修正対象プログラム情報を付加し、ユーザ認証データとしてユーザ指定の外部記録装置に書き込む。
4.認証装置は、ユーザの操作に従い、制約解除されたプログラムに対して、動的に変更するための修正データを作成する。このとき、その修正データをユーザ認証データに含めてもよい。
5.画像形成装置は、上記の外部記録媒体がユーザによって挿着されると、その外部記録媒体に書き込まれているユーザ認証データに含まれている認証情報を用いて個人認証(ユーザ認証)を行う。
【0032】
6.認証装置は、ユーザの操作に従い、先に作成した修正データを画像形成装置へ渡す。
7.画像形成装置は、上記の個人認証が成功すると、上記外部記録媒体に書き込まれているユーザ認証データに付加されている修正対象プログラム情報に基づき、認証装置から渡された修正データが動作中のプログラムに適用可能な場合に、そのプログラムに対して修正データを適用する。つまり、そのプログラムを修正データによって修正する。
このような基本的シナリオのバリエーションを以下の各参考例で説明する。
【0033】
〔第1参考例〕
まず、この発明の第1参考例である画像形成装置管理システムの概要について説明する。なお、この第1参考例では、1台の画像形成装置におけるプログラムを修正するためのデータ(修正データ)の適用について述べる。
図16は、その画像形成装置管理システムのネットワーク構成例を示す概念図である。なお、図中の各装置間の実線はネットワークによる接続を、破線はデータの流れをそれぞれ示している。
【0034】
この第1参考例の画像形成装置管理システムでは、サーバ装置5が、ユーザの認証データ(認証情報)を作成する認証データ作成手段と、動的なプログラム変更を実現するための修正データを作成する修正データ作成手段としての各機能の両方を有しているが、その各機能は別のサーバ装置に配置されていてもよい。
図16に示す画像形成装置を囲む円は、画像形成装置のグループを示す。第1参考例では、この円が修正データの適用範囲を示している。この図16では、認証デバイス6の装着先が画像形成装置1となっていることから、修正データ7の適用範囲は画像形成装置1〜3となり、画像形成装置4には修正データが適用できないことを示している。
修正データ7は、着脱可能な図示しない外部記録媒体またはネットワークを介して、画像形成装置1〜3に導入される。
【0035】
次に、図16の画像形成装置1〜4内の主要なハードウェアおよびソフトウェアの論理的な構成例について説明する。なお、後述するソフトウェア(ハードウェア制御層とシステム管理層)による処理や制御は、実際にはCPUがソフトウェアに従って動作することによって実行するが、説明の都合上、ソフトウェアが処理を実行するものとして説明する。以後も、ソフトウェアが何らかの処理や制御を行うものとして説明を行う場合には、同様とする。
図17は、図16の画像形成装置1〜4内の主要なハードウェアおよびソフトウェアの論理的な構成例を示すブロック図である。
【0036】
この画像形成装置1〜4は、デジタル複合機(MFP),デジタル複写機,ファクシミリ装置,プリンタ装置等であり、図17に示すように、ハードウェア層(一番右の列)と、ハードウェア制御層(右から二番目の列)と、システム管理層(左から二番目の列)、アプリケーション層(一番左の列)とによって構成されている。
ハードウェア制御層は本来、各ハードウェア単位に存在するが、この第1参考例では分割することに差異がないため、入出力制御部11としてひとまとめにしてある。
【0037】
ネットワークインタフェース(以下「インタフェース」を「I/F」ともいう)12は、LAN(ローカルエリアネットワーク)等のネットワークを介して図1のサーバ装置5等の外部機器と通信可能に接続する接続手段である。
外部入出力インタフェース13は、USBやSDカードなどの着脱可能な外部記録媒体と通信可能に接続する接続手段である。
記憶装置14は、当該画像形成装置(以下「機器」ともいう)内のデータ(各種プログラムを含むソフトウェア)を保持するためのHDD(ハードディスク装置)等の不揮発性記憶手段である。
【0038】
操作パネル15は、ユーザに対する入出力を提供するものであり、当該機器により提供される機能の選択に基づく作像部(エンジン)や外部機器に対する動作指示等のデータを入力するための各種の操作キー(操作スイッチ又は操作ボタンともいう)およびLCD又はCRT等の表示器を備えている。その表示器は、その表面にタッチパネルを備えてもよく、そのタッチパネル上に各種機能を利用可能にするための操作画面を表示し、その画面上の各キーを選択的に押下(タッチ)することにより、対応する動作を指示することができる。
【0039】
セキュリティ管理部16は、第1参考例においては、アプリケーションやファームウェア等の修正(変更)が可能な実行プログラム(以下単に「プログラム」ともいう)PRの動的な変更に対する記録、変更された実行プログラムPRの動作の記録、ユーザの認証の記録を行う。
ネットワークグループ管理部17は、第1参考例においては、実行プログラムPRの動的な変更が可能なネットワークに接続された他の画像形成装置の検索を行う。
ユーザ管理部18は、ユーザの認証を行う。このユーザ認証は、入力される認証情報(電子証明書又はID,パスワード等)と予め取得した認証情報とを用いて行う。例えば、一般的なパスワード認証であれば、入力される認証情報(ID+パスワード又はパスワードのみ)と予め取得した認証情報と比較照合し、両認証情報が一致すればユーザ認証が成功、一致しなければユーザ認証が失敗とそれぞれ判定する。
【0040】
実行プログラム制御部19は、実行プログラムPRの動的な変更の実行可否(実行が可能か否か)を示す情報の記録、実行プログラムPRの動的な変更のためのメモリ管理や実行プログラムPRの実行スケジューリングの管理、実行プログラムPRの動的な変更の実施を行う。
その他、当該機器内には、例えばコピー等を実行するためのさまざまな機能が存在するが、この第1実施例で記載する範囲外のプログラムやシステム管理部、ハードウェアの図示は省略する。
【0041】
次に、図16の画像形成装置1〜4内のハードウェアの構成例について説明する。
図18は、その画像形成装置1〜4内のハードウェアの構成例を示すブロック図であり、図17と同じ部分には同一符号を付している。
この画像形成装置1〜4は、各部を統括的に制御するコントローラ20を構成するハードウェアとして、図17のネットワークI/F12や記憶装置14等に加え、実際には図18に示すように、メインCPU21,メモリバス22,メモリ23,およびIOバス24を備えている。
【0042】
メインCPU21は、メモリバス22を介して各種の処理および制御を行う演算処理手段である。このメインCPU21が、ソフトウェアに従って動作することにより、図17の入出力制御部11,セキュリティ管理部16,ネットワークグループ管理部17,ユーザ管理部18,実行プログラム制御部19としての機能を実現することができる。
メモリ23は、メインCPU21が記憶装置14内のソフトウエアを構成する各種プログラムを展開するプログラムエリアや、メインCPU21が処理を行う際に使用するワークエリア等として利用されるRAM、フラッシュメモリ等の記憶手段である。
【0043】
USB・I/F13aおよびSD・I/F13bは、図17の外部入出力インタフェース13に相当するものであり、USB・I/F13aには認証装置としてのICカード31を、SD・I/F13bにはSDカード32をそれぞれ接続できる。ICカード31は、修正データの変更範囲を記録したユーザ情報を入力するための一つのデバイスである。SDカード32は、プログラムの動的変更のための修正データを当該機器内に入力するための一つのデバイスである。上記2つのデバイスは、USBメモリ33を用いることで代替することも可能である。同様に、SDカード32のみを用いて、2つの役割を担うことも可能である。
【0044】
FAX処理部34や画像形成処理部35は、FAXやコピーを実現するための作像部に相当する部分である。
操作部36は、図17の操作パネル15に相当する。
なお、ハードウェアの構成はCPUアーキテクチャやハードウェアメーカによって差異が出るが、第1の参考例の処理は、図18の基本的構成から入出力デバイスに差異がない限り、構成の変化による影響は受けない。
【0045】
次に、図17に示した画像形成装置1〜4内の各部によるユーザ認証時の動作(処理および制御)シーケンスの一例について説明する。この例では、認証情報(ユーザ情報)と修正対象プログラム情報とからなるユーザ認証データおよび修正データが記録された認証デバイス(外部記録装置)を使用するものとするが、例えば図26の(b)に示すように、ユーザ認証データに修正データを含めてもよい。
【0046】
図19は、図17に示した画像形成装置1〜4内の各部によるユーザ認証時の動作シーケンスの一例を示すシーケンス図である。
ユーザ(オペレータ)が、例えば図19に示すように、システム(当該機器)にUSBメモリ33やSDカード32のような認証デバイスを挿着することで、その挿着を外部入出力インタフェース13(USB・I/F13a又はSD・I/F13b)が検知し、認証デバイスの挿着を示す割り込み信号を発生して入出力制御部11へ出力することにより、その入出力制御部11が認証デバイスを利用可能な準備を行う。認証情報を用いるユーザ認証は、ユーザの操作(実際にはユーザによる操作パネル15上の操作)によって開始される。
【0047】
ここで、USBメモリ33やSDカード32のような汎用デバイスは、市場で入手しやすく、ユーザによって認証データを作成すると、システムに対するセキュリティ脅威となる可能性があるため、ここでは、認証データは図16に示した所定のサーバ装置5によって作成されることとする。また、図16に示した1つのネットワーク範囲において、修正データを利用できるユーザは1名と限定する。これは、複数のユーザが存在することで、修正データが適用された(修正データによって修正された)プログラムに対して、更に修正をかける可能性があるためである。システム内のソフトウェアの1つである、図17の実行プログラム制御部19又はユーザ管理部(ユーザ認証部)18は、複数のユーザを許可しないような設計になっている(図示は省略)。
【0048】
ユーザ認証は、パスワード認証方式が一般的であるが、認証デバイスとして図18のICカード31を利用するなど、予め個人が特定できるデバイスを利用している場合は、別の認証方式を利用することも可能である。
入出力制御部11によって認証デバイスを利用可能な準備が行われた後、ユーザによって図2の操作パネル(実際には表示器)15上に認証情報の入力を可能にする認証画面を表示するための操作が行われると、操作パネル15から認証画面の表示要求を示す割り込み信号が発生して入出力制御部11へ通知するため、その入出力制御部11は、認証画面の表示要求(ユーザ要求)をユーザ管理部18へ通知する。
【0049】
ユーザ管理部18は、その認証画面の表示要求を受け、外部入出力インタフェース13へユーザ認証データの取得要求を通知することにより、その外部入出力インタフェース13経由で認証デバイス内の認証情報を含むユーザ認証データを取得して図18のメモリ23に記憶(キャッシュ)した後、認証画面の描画(表示)を入出力制御部11に指示する。それによって、入出力制御部11は、操作パネル15上に認証画面を表示させる。
その後、ユーザの操作により、認証情報が入力されると、その認証情報を示す割り込み信号が発生して入出力制御部11へ通知するため、入出力制御部11は、その認証情報(入力データ)をユーザ管理部18へ通知する。
【0050】
ユーザ管理部18は、入出力制御部11から認証情報を受け、その認証情報とメモリ23内のユーザ認証データに含まれている認証情報とを用いてユーザの認証を行い、その認証の結果を示す操作画面である認証結果画面の描画を入出力制御部11へ指示する。それによって、入出力制御部11は、操作パネル15上に認証結果画面を表示させる。
ユーザ管理部18は、認証結果画面の描画を入出力制御部11へ指示した後、ユーザ認証の結果をセキュリティ管理部16へ通知する。それによって、セキュリティ管理部16は、通知されたユーザ認証の結果(オペレーション実行結果)を含むセキュリティログを入出力制御部11へ通知する。セキュリティログは、例えば図26の(e)に示すように、時刻(図示しない時計回路等から取得する現在の時刻)やオペレーション(操作)の対象を示す情報を含めるとよい。
【0051】
入出力制御部11は、ユーザ管理部18からセキュリティログを取得し、それをデータとして記憶装置14に書き込んで記憶する。
ユーザ管理部18は、ユーザ認証の結果をセキュリティ管理部16へ通知した後、ユーザ認証の結果が「成功」であれば、認証デバイスから取得したユーザ認証データ(修正対象プログラム情報を含む)をユーザ認証付加データとして実行プログラム制御部19へ通知する。そのユーザ認証データに含まれている修正対象プログラム情報は、ユーザが適用可能な修正データの対象プログラム(制約解除されたプログラム)の範囲を判別するための情報である。
【0052】
実行プログラム制御部19は、ユーザ管理部18からユーザ認証付加データを取得し、それに含まれている修正対象プログラム情報を解釈して、認証ユーザに対応する修正データを適用可能な対象プログラムの一覧(修正データの適用範囲)を判定し、必要に応じて修正データの適用範囲を限定(変更)する。システム内(実際には図17の記憶装置14)には予め修正データを適用できるプログラムの一覧(システム範囲)を示す基本の修正データ適用可否情報が保持されており、機器の起動時に図26の(a)に示すようにメモリ23に保持(キャッシュ)されているため、判定した修正データの適用範囲と比較し、判定した修正データの適用範囲がシステム範囲より狭い場合には、その適用範囲に限定し、その限定した修正データの適用範囲(認証ユーザに対応する修正データを適用可能な対象プログラムの一覧)を示す認証ユーザ用の修正データ適用可否情報(パラメータ)として入出力制御部11へ通知する。
【0053】
入出力制御部11は、その修正データ適用可否情報を取得し、それをデータとして記憶装置14に書き込んで記憶する。
実行プログラム制御部19は、修正データの適用範囲を限定した場合、その限定した修正データの適用範囲である認証ユーザ用の修正データ適用可否情報を状態変更情報とし、それを修正データを適用可能な(その修正データによってプログラムの修正が可能な)同一グループ内の他の画像形成装置を把握しているネットワークグループ管理部17へ通知する。
【0054】
ネットワークグループ管理部17は、その状態変更情報を受け、その状態変更情報を同一グループ内の他の画像形成装置の装置情報(IPアドレス等)と共に、入出力制御部11へ通知する。
入出力制御部11は、その状態変更情報を装置情報と共に受け取って、ネットワークインタフェース12へ通知し、返答を待つ。
ネットワークインタフェース12は、入出力制御部11から状態変更情報を装置情報と共に受け取ると、その状態変更情報をその装置情報に基づいてネットワーク経由で同一グループ内の他の画像形成装置へパケット送信し、その送信結果を入出力制御部11へ通知(返答)する。
【0055】
次に、図17に示した画像形成装置1〜4内の各部による修正データ適用時の動作シーケンスの一例について説明する。この例では、認証デバイスに記録されている修正データを複数個とする。
図20は、図17に示した画像形成装置1〜4内の各部による修正データ適用時の動作シーケンスの一例を示すシーケンス図である。図25は、図17の入出力制御部11および実行プログラム制御部19等による修正データ適用可否の確認処理の一例を示すフローチャートである。
【0056】
ユーザの操作(修正データの適用要求)により、例えば図27に示すような修正可能プログラムの検索(サーチ)を開始するための操作画面である修正可能プログラム検索画面が操作パネル15上に表示され、その修正可能プログラム検索画面上の「継続」の選択により、例えば図20に示すように、操作パネル15上に修正データの適用要求を示す割り込み信号が発生して入出力制御部11へ通知される。
入出力制御部11は、その割り込み信号を受けると、ユーザ認証状態の取得要求をユーザ管理部18へ通知することにより、そのユーザ管理部18からユーザ認証状態が通知されるので、そのユーザ認証状態を取得して確認する。
【0057】
そして、ユーザ認証状態が認証成功の状態を保持している場合に、修正データ適用可否の確認要求を実行プログラム制御部19へ通知する。
実行プログラム制御部19は、その修正データ適用可否の確認要求を受け、修正可能なプログラムの一覧を示す「修正可能データ一覧」を「0」としてメモリ23に保持する(図25のS1)と共に、修正データの一覧要求を入出力制御部11へ通知する。
入出力制御部11は、実行プログラム制御部19から修正データの一覧要求を受け、外部入出力インタフェース13経由で認証デバイスに記録されている修正データの一覧(複数の修正データ)を読み出して取得し、それを実行プログラム制御部19へ通知する。
【0058】
実行プログラム制御部19は、入出力制御部11への修正データの一覧要求の通知により、入出力制御部11から修正データの一覧が通知されるため、その修正データの一覧を取得し、更に実行プログラムの一覧も取得する(図25のS1)。そして、その取得した実行プログラムの一覧のうち、先に取得した修正データの一覧と対応する実行プログラムの一覧(取得した修正データの一覧によって修正可能なもの)を新たな「修正可能データ一覧」とする(図25のS2)。
【0059】
実行プログラム制御部19は次に、基本の修正データ適用可否情報がメモリ23に保持されているか否かをチェックするが(図25のS3)、その修正データ適用可否情報は保持されているので、その修正データ適用可否情報が示す修正データを適用できるプログラムの一覧を「適用可能修正データ一覧」としてメモリ23に保持する(図25のS4)。
そして、「修正可能データ一覧」と「適用可能修正データ一覧」が一致するか否かをチェックし(図25のS5)、一致しない場合にのみ、その各データ一覧の共通部分を新たな「修正可能データ一覧」とする(図25のS10)。
【0060】
実行プログラム制御部19は次に、認証ユーザ用の修正データ適用可否の確認要求を入出力制御部11へ通知した後、認証ユーザ用の修正データ適用可否確認結果の表示要求を入出力制御部11へ通知する。
入出力制御部11は、実行プログラム制御部19から認証ユーザ用の修正データ適用可否の確認要求を受け、記憶装置14に認証ユーザ用の修正データ適用可否情報が記憶されている場合にのみ、その修正データ適用可否情報(認証ユーザに対応する修正データを適用可能な対象プログラムの一覧を示す情報)を読み出し、その読み出した認証ユーザ用の修正データ適用可否情報が示す認証ユーザに対応する修正データを適用可能な対象プログラムの一覧を「修正対象プログラム一覧」としてメモリ23に保持する(図25のS6)。
【0061】
そして、「修正可能データ一覧」と「修正対象プログラム一覧」が一致するか否かをチェックし(図25のS7)、一致しない場合にのみ、その各データ一覧の共通部分を新たな「修正可能データ一覧」とする(図25のS11)。
その後、実行プログラム制御部19から認証ユーザ用の修正データ適用可否確認結果の表示要求を受けると、「修正可能データ(修正対象プログラム)一覧」とそれらに適用可能な修正データの内容を示す操作画面である修正対象プログラム選択画面を操作パネル15上に表示させる。その修正対象プログラム選択画面の表示例を図28に示す。
【0062】
ここで、修正データは、例えば図26の(c)に示すように、実行コードと実行コードの適用箇所の情報、そして修正データの説明文等によって構成されている。このうち、説明文は、図28に示した修正対象プログラム選択画面上の「修正の詳細」を押した時に表示される内容が記載されている。また、図26の(b)に示したユーザ認証データに修正データと共に含まれている修正対象プログラム情報には、修正データが適用できるプログラムのバージョン情報などが記載されており、この情報に基づいて修正データの適用可否を判断できる。この判断は、修正データを作成する元のプログラムのソースコードとの一貫性を保たなければならないためのものであり、バージョン情報以外にも、プログラムコードのハッシュ情報,作成日,サイズ,プログラム変更先アドレスの実行コードでも判別可能である。
【0063】
操作パネル1上に修正対象プログラム選択画面が表示された後、ユーザの操作により、修正対象プログラム選択画面上の修正対象プログラムが選択(指定)され、「継続」が選択されることにより、選択された修正対象プログラムの情報を含むプログラム修正要求(プログラム修正の実行要求)を示す割り込み信号が発生して入出力制御部11へ通知されると、その入出力制御部11は、そのプログラム修正要求を実行プログラム制御部19へ通知する。
【0064】
実行プログラム制御部19は、入出力制御部11からプログラム修正要求を受け、そのプログラム修正要求を含む操作ログ(操作情報)をセキュリティ管理部16へ通知する。それによって、セキュリティ管理部16は、通知された操作ログを含むセキュリティログを入出力制御部11へ通知する。セキュリティログは、例えば図26の(e)に示したような時刻情報,オペレーション(操作)対象情報,および修正対象プログラム情報(修正データの適用先のプログラムを示すプログラム名等の識別情報)を含めるとよい。
【0065】
入出力制御部11は、セキュリティ管理部16から通知されたセキュリティログを記憶装置14に書き込む。
実行プログラム制御部19は、操作ログをセキュリティ管理部16へ通知した後、修正データの要求を入出力制御部11へ通知する。
入出力制御部11は、その修正データの要求を受け、先に受けたプログラム修正要求に含まれている修正対象プログラム情報に基づき、その修正対象プログラムに適用できる(その修正対象プログラムを修正できる)修正データを外部入出力インタフェース13経由で認証デバイスから読み込み、それを実行プログラム制御部19へ提供する。
【0066】
実行プログラム制御部19は、入出力制御部11から修正対象プログラムに適用できる修正データを受け取り、その修正データをその修正対象プログラムに適用する(その修正データによってその修正対象プログラムを修正する)。このとき、例えば図32に示すような流れで、メモリ14上の修正対象プログラムを変化させるが、その際実行コードの書き換えを行うために、その修正対象プログラムの実行を一旦停止する。具体的には、優先度の最も高いプロセスによって、他のプロセスの実行を一時停止し、優先度の最も高いプロセスによって、実行コードの変更、一時停止の解除を行う。
【0067】
実行プログラム制御部19はまた、修正対象プログラムに修正データを適用した際に、ユーザにその状況を通知するため、修正データの適用状態の表示要求を入出力制御部11へ通知する。
入出力制御部11は、その修正データの適用状態の表示要求を受け、修正対象プログラムの情報を含む修正データの適用中である旨を示す適用中画面を操作パネル15上に表示させる。その適用中画面の表示例を図29に示す。これにより、ユーザは修正データの実行状態を知ることができ、修正の詳細とあわせて、システム内で何が起きているかの概要を知ることができる。
【0068】
〔第2参考例〕
次に、この発明の第2参考例について説明する。なお、第1参考例とは若干異なるだけなので、第1参考例の説明で使用した図も再度使用する。
第2参考例としては、ネットワークで接続された複数台の画像形成装置1〜3における修正データの適用について述べる。なお、第1参考例と同じ部分については、説明を省略する。
【0069】
この第2参考例では、基本的な動作は第1参考例と変わらないが、ユーザはある1台の画像形成装置(ここでは「画像形成装置1」とする)で複数台の画像形成装置(ここでは「画像形成装置2,3」とする)に対する修正データの適用が可能になる。これにより、修正データの適用に関わる煩わしさを解消することが可能になる。
図21は図17に示した画像形成装置1〜4内の各部による修正データの適用のための動作シーケンスの他の例を、図22は同じく外部機器からの状態変更の連絡のための動作シーケンスの一例を、図23は同じく外部機器からの修正データの適用のための動作シーケンスの一例をそれぞれ示すシーケンス図である。
【0070】
画像形成装置1は、図17に示したように、ネットワークの管理を司る図2のネットワークグループ管理部17というモジュールを用意してある。これは、修正データが適用可能な範囲の画像形成装置2,3を知っているモジュールである。これによって、ユーザが修正データを適用したい時に、ネットワークにつながっている画像形成装置のうち、修正データが適用可能な画像形成装置2,3を自動的に選定することが可能となる。
【0071】
ユーザの操作により、例えば図27に示したような修正可能プログラム検索画面が操作パネル15上に表示され、その修正可能プログラム検索画面上の「継続」の選択により、外部入出力インタフェース13に接続されたUSBメモリ33等の認証デバイスに保持されている修正データが適用可能な画像形成装置1〜3がネットワークに接続されているため、図21では図示を省略しているが、画像形成装置1の入出力制御部11が各画像形成装置1〜3の装置情報をネットワークグループ管理部17から取得し、その各画像形成装置1〜3の一覧を示す操作画面である修正対象装置選択画面を操作パネル15上に表示させる。その修正対象装置選択画面の一例を図31に示す。但し、画像形成装置1〜3に対応するものは「装置A〜C」であるため、実際には「装置A〜F」のうちの図1の「装置D〜F」は表示されない。
【0072】
ユーザの操作により、修正対象装置選択画面上の修正対象装置が選択されると、例えば図21に示すように、操作パネル15上に修正データの適用要求を示す割り込み信号が発生して入出力制御部11へ通知される。
入出力制御部11は、その割り込み信号を受けると、ユーザ認証状態の取得要求をユーザ管理部18へ通知することにより、そのユーザ管理部18からユーザ認証状態が通知されるので、そのユーザ認証状態を取得して確認する。そして、ユーザ認証状態が認証成功の状態を保持している場合に、修正データ適用可否の確認要求を実行プログラム制御部19へ通知する。
【0073】
実行プログラム制御部19は、その修正データ適用可否の確認要求を受け、修正データの一覧要求を入出力制御部11へ通知することにより、第1参考例と同様に、入出力制御部11から修正データの一覧が通知されるため、その修正データの一覧を取得し、更に実行プログラムの一覧も取得する(図25のS1)。そして、その取得した実行プログラムの一覧のうち、先に取得した修正データの一覧と対応する実行プログラムの一覧を新たな「修正可能データ一覧」とする(図25のS2)。
【0074】
実行プログラム制御部19は次に、基本の修正データ適用可否情報がメモリ23に保持されているか否かをチェックするが(図25のS3)、先に選択された修正対象装置が当該画像形成装置1のみの場合には、以後、第1参考例と同様の動作を行う。また、修正対象装置が他の画像形成装置2,3のみの場合には、それらの基本の修正データ適用可否情報はメモリ23に保持されていないので、それらの修正データ適用可否情報を他の画像形成装置2,3から取得するための処理を行う。ここでは、以後、修正対象装置が他の画像形成装置2,3のみの場合の動作について説明するが、修正対象装置が当該画像形成装置1と他の画像形成装置2,3の場合には、第1参考例と同様の動作に以下に示す動作を加えればよい。
【0075】
実行プログラム制御部19は、基本の修正データ適用可否情報を取得するため、ネットワークグループ管理部17等とにより、その修正データ適用可否情報を他の画像形成装置1,2からロードする処理を行う(図25のS9)。
すなわち、実行プログラム制御部19はまず、基本の修正データ適用可否情報の取得要求を、他の画像形成装置1,2を把握しているネットワークグループ管理部17へ通知する。
【0076】
ネットワークグループ管理部17は、実行プログラム制御部19から基本の修正データ適用可否情報の取得要求を受け、それを同一グループ内の他の画像形成装置2,3を示す装置情報(IPアドレス等)と共に入出力制御部11へ通知する。
入出力制御部11は、ネットワークグループ管理部17から基本の修正データ適用可否情報の取得要求を装置情報と共に受け取って、ネットワークインタフェース12へ通知し、返答を待つ。
ネットワークインタフェース12は、入出力制御部11から基本の修正データ適用可否情報の取得要求を装置情報と共に受け取ると、その修正データ適用可否情報の取得要求をその装置情報に基づいてネットワーク経由で他の画像形成装置2,3へパケット送信し、その送信結果を入出力制御部11へ通知(返答)する。
【0077】
実行プログラム制御部19は、基本の修正データ適用可否情報の取得要求をネットワークグループ管理部17へ通知することにより、他の画像形成装置2,3からパケット送信された基本の修正データ適用可否情報をネットワークインタフェース12および入出力制御部11を介して取得すると、その取得した修正データ適用可否情報が示す修正データを適用できるプログラムの一覧を「適用可能修正データ一覧」としてメモリ23に保持する(図25のS4)。
以後、第1参考例と同様の動作を行うことにより、入出力制御部11は、図28に示したような修正対象プログラム選択画面を操作パネル15上に表示させることができる。
【0078】
その後、ユーザの操作により、修正対象プログラム選択画面上の修正対象プログラムが選択(指定)され、「継続」が選択されることにより、選択された修正対象プログラムを示す情報を含むプログラム修正要求(プログラム修正の実行要求)を示す割り込み信号が発生して入出力制御部11へ通知されると、その入出力制御部11は、そのプログラム修正要求を実行プログラム制御部19へ通知する。
【0079】
実行プログラム制御部19は、入出力制御部11からプログラム修正要求を受け、そのプログラム修正要求を含む操作ログ(操作情報)をセキュリティ管理部16へ通知する。それによって、セキュリティ管理部16は、通知された操作ログを含むセキュリティログを入出力制御部11へ通知する。
入出力制御部11は、セキュリティ管理部16から通知されたセキュリティログを記憶装置14に書き込んだ後、そのセキュリティログ内の操作ログを含む操作ログの記録要求を先に受け取った装置情報と共にネットワークインタフェース12へ通知する。
【0080】
ネットワークインタフェース12は、入出力制御部11から操作ログの記録要求を装置情報と共に受け取ると、その記録要求をその装置情報に基づいてネットワーク経由で他の画像形成装置2,3へパケット送信する。
実行プログラム制御部19は、操作ログをセキュリティ管理部16へ通知した後、修正データの要求を入出力制御部11へ通知する。
入出力制御部11は、その修正データの要求を受け、先に受けたプログラム修正要求に含まれている修正対象プログラムを示す情報に基づき、その修正対象プログラムに適用できる修正データを外部入出力インタフェース13経由で認証デバイスから読み込み、それを実行プログラム制御部19へ提供する。
【0081】
実行プログラム制御部19は、入出力制御部11から選択された修正対象プログラムに適用できる修正データを受け取り、その修正データをその修正対象プログラムに適用するため、その修正データおよびその修正対象プログラムを示す情報を含む修正データの適用要求を入出力制御部11へ通知する。
入出力制御部11は、実行プログラム制御部19から通知された修正データの適用要求を先に受け取った装置情報と共にネットワークインタフェース12へ通知する。
ネットワークインタフェース12は、入出力制御部11から修正データの適用要求を装置情報と共に受け取ると、その修正データの適用要求をその装置情報に基づいてネットワーク経由で他の画像形成装置2,3へパケット送信する。
【0082】
実行プログラム制御部19は、修正データおよび修正対象プログラムを示す情報(修正対象プログラム情報)を含む修正データの適用要求を入出力制御部11へ通知した後、ユーザに修正対象プログラムに修正データを適用している状況を通知するため、修正データの適用状態の表示要求を入出力制御部11へ通知する。
入出力制御部11は、その修正データの適用状態の表示要求を受け、修正対象プログラムを示す情報を含む修正データの適用中である旨を示す適用中画面を操作パネル15上に表示させる。
【0083】
なお、ネットワークへのアクセスが発生するのは、上述したように認証情報(ユーザ情報)が確定した際、ユーザの持っている修正対象プログラム情報を送信する時、ユーザの操作によって修正データを適用する要求をした時、各画像形成装置の修正対象プログラム情報を獲得する時、および修正データを適用する時である。ネットワークのプロトコルは任意で構わないが、ネットワーク上のセキュリティが充分に確保できるプロトコルを選択することとする。
【0084】
一方、画像形成装置2,3では、例えば図22に示すように、外部機器である画像形成装置1からネットワーク経由で状態変更情報が送られてくると、それをネットワークインタフェース12が受信して、その状態変更情報を含む割り込み信号を入出力制御部11へ通知する。
入出力制御部11は、その割り込み信号を受け、それに含まれている状態変更情報(パラメータ)を解釈して、認証ユーザに対応する修正データを適用可能な対象プログラムの一覧を判定し、その内容を示す認証ユーザ用の修正データ適用可否情報(パラメータ)として記憶装置14に書き込んで記憶する。
【0085】
その書き込みが完了すると、その旨をネットワークインタフェース12へ通知する。
ネットワークインタフェース12は、認証ユーザ用の修正データ適用可否情報の書き込みが完了した旨の通知を受けると、その通知内容を示すデータを状態変更情報の送信元である画像形成装置1へパケット送信する。
なお、先に解釈した状態変更情報が認証ユーザ用の修正データ適用可否情報の削除要求(後述する)を示すものであった場合には、その修正データ適用可否情報を記憶装置14から削除する。
【0086】
また、画像形成装置1からネットワーク経由で基本の修正データ適用可否情報の取得要求が送られてくると、それをネットワークインタフェース12が受信して、その修正データ適用可否情報の取得要求を含む割り込み信号を入出力制御部11へ通知する。
入出力制御部11は、その割り込み信号を受け、それに含まれている基本の修正データ適用可否情報の取得要求により、その修正データ適用可否情報の確認要求を実行プログラム制御部19へ通知する。
【0087】
実行プログラム制御部19は、その入出力制御部11から基本の修正データ適用可否情報の確認要求を受けると、メモリ23に保持されている基本の修正データ適用可否情報を入出力制御部11へ通知する。
入出力制御部11は、その修正データ適用可否情報を受け取り、それをネットワークインタフェース12へ通知する。
ネットワークインタフェース12は、基本の修正データ適用可否情報を受け取ると、その修正データ適用可否情報をその取得要求元である画像形成装置1へパケット送信する。
【0088】
画像形成装置2,3では、例えば図23に示すように、外部機器である画像形成装置1からネットワーク経由で操作ログの記録要求が送られてくると、それをネットワークインタフェース12が受信して、その記録要求を含む割り込み信号を入出力制御部11へ通知する。
【0089】
入出力制御部11は、その割り込み信号を受け、それに含まれている操作ログの記録要求により、その記録要求に含まれている操作ログをデータとして記憶装置14に書き込んで記憶する。
その書き込みが完了すると、その旨をネットワークインタフェース12へ通知する。
ネットワークインタフェース12は、操作ログの書き込みが完了した旨の通知を受けると、その通知内容を示すデータを状態変更情報の送信元へパケット送信する。
【0090】
また、画像形成装置1からネットワーク経由で修正データの適用要求が送られてくると、それをネットワークインタフェース12が受信して、その修正データの適用要求を含む割り込み信号を入出力制御部11へ通知する。
入出力制御部11は、その割り込み信号を受け、それに含まれている修正データの適用要求により、その修正データの適用要求(プログラム修正要求)を実行プログラム制御部19へ通知する。
【0091】
実行プログラム制御部19は、その入出力制御部11から修正データの適用要求を受け、その適用要求を含む操作ログをセキュリティ管理部16へ通知する。それによって、セキュリティ管理部16は、通知された操作ログを含むセキュリティログを入出力制御部11へ通知する。
入出力制御部11は、セキュリティ管理部16から通知されたセキュリティログを記憶装置14に書き込んだ後、そのセキュリティログ内の操作ログを含む操作ログの記録要求をネットワークインタフェース12へ通知する。
【0092】
ネットワークインタフェース12は、入出力制御部11から操作ログの記録要求を受け取ると、その記録要求を修正データの適用要求元へパケット送信する。
実行プログラム制御部19は、修正データの適用要求を含む操作ログをセキュリティ管理部16へ通知した後、その適用要求に含まれている修正データを、その適用要求に含まれている修正対象プログラム情報が示す修正対象プログラムに適用する(その修正データによってその修正対象プログラムを修正する)。
【0093】
そして、その修正データの適用が完了すると、その適用結果を入出力制御部11へ通知する。
入出力制御部11は、実行プログラム制御部19から修正データの適用結果を受け取ると、それをネットワークインタフェース12へ通知する。
ネットワークインタフェース12は、修正データの適用結果を受け取ると、その適用結果を修正データの適用要求元へパケット送信する。
【0094】
ここで、前述した第1,第2参考例では、修正データを適用することによるユーザへの不安を解消するため、図26の(e)に示したような操作ログを含むセキュリティログを記録するようにしたが、そのセキュリティログについてもう少し詳しく述べる。
ユーザに対して通知する事項として、修正データに関わる操作(オペレーション)をしたこと、その時刻、オペレーションの実行結果、操作の対象を考慮している。
セキュリティログは、単一の画像形成装置における修正データの適用においては、各操作毎に画像形成装置内に持つHDD等の記憶装置に記録すればよいが、複数のネットワークに接続された画像形成装置においては、ユーザの操作対象の画像形成装置をホストとし、その他修正データの適用対象の画像形成装置をクライアントとする場合に、お互いの装置間でセキュリティ情報の交換が発生する。
【0095】
それは、修正データを適用したことをクライアントとホストで共有することである。これは、オペレータに対して修正データの適用情報を通知するため、ホストは全てのネットワークグループ管理部17によって把握されている範囲内で情報を収集するからである。また、これらの情報を紙やネットワークに接続された画像形成装置の管理システムに対して通知することも考えられる。これによって、ユーザは修正データの適用情報を一元管理したり、画面情報と比較して、ユーザに確認しやすいように情報を整形した状態で通知することが可能になる。
【0096】
〔第3参考例〕
次に、この発明の第3参考例について説明する。なお、第1又は第2参考例とは若干異なるだけなので、第1参考例の説明で使用した図を再度使用する。
第3参考例としては、ユーザが認証デバイスを取り外した際のシステムの挙動について述べる。なお、第1,第2参考例と同じ部分については、説明を省略する。
図24は、図17に示した画像形成装置1〜4内の各部によるユーザ認証の解除のための動作シーケンスの一例を示すシーケンス図である。
【0097】
ユーザは、任意のタイミングで画像形成装置から認証デバイスを取り外す可能性がある。そのため、外部入出力インタフェース13によって認証デバイスが外されたことを検知した後に、システム(ネットワーク先も含め)を元の状態に戻さなければならない。システムの状態は、各画像形成装置内の実行プログラム制御部19が管理しているので、まずユーザ操作元の画像形成装置内で、ユーザに対して修正データの解除を通知する。
【0098】
すなわち、外部入出力インタフェース13が、認証デバイスが取り外されると、そのことを検知し、例えば図24に示すように、認証デバイスの取り外しを示す割り込み信号を発生して入出力制御部11へ通知することにより、その入出力制御部11が認証デバイスの無効化を行い、例えば図30に示すような認証解除中(修正データの無効化)を示す認証解除中画面を操作パネル15上に表示させた後、認証デバイスの無効化をユーザ管理部18へ通知する。
【0099】
その通知を受けたユーザ管理部18は、メモリ23内のユーザ認証データを破棄してユーザ認証を解除し、その旨をセキュリティ管理部16へ通知する。
セキュリティ管理部16は、ユーザ管理部18からユーザ認証が解除された旨の通知を受け、ユーザ認証の解除を示す操作ログを含むセキュリティログを入出力制御部11へ通知する。
入出力制御部11は、セキュリティ管理部16から通知されたセキュリティログを記憶装置14に書き込む。
【0100】
ユーザ管理部18は、ユーザ認証が解除された旨をセキュリティ管理部16へ通知した後、ユーザ認証が解除された旨を実行プログラム制御部19へも通知する。
実行プログラム制御部19は、ユーザ管理部18からユーザ認証が解除された旨の通知を受け、修正データの適用を解除する(その修正データによる修正対象プログラムの修正を解除する)。
【0101】
その後、認証ユーザ用の修正データ適用可否情報(パラメータ)の削除要求を入出力制御部11へ通知する。それによって、入出力制御部11は、図2の記憶装置14に保持されている認証ユーザ用の修正データ適用可否情報を削除する(データ破棄)。
実行プログラム制御部19は、認証ユーザ用の修正データ適用可否情報の削除要求を入出力制御部11へ通知した後、その修正データ適用可否情報の削除を示す情報を状態変更情報とし、それをネットワークグループ管理部17へ通知する。
ネットワークグループ管理部17は、その状態変更情報を受け、その態変更情報を入出力制御部11へ通知する。
【0102】
入出力制御部11は、その状態変更情報を受け、それを先に受け取った装置情報と共にネットワークインタフェース12へ通知し、返答を待つ。
ネットワークインタフェース12は、入出力制御部11から状態変更情報を装置情報と共に受け取ると、その状態変更情報をその装置情報に基づいてネットワーク経由で同一グループ内の他の画像形成装置へパケット送信し、その送信結果を入出力制御部11へ通知(返答)する。その状態変更情報のパケット送信により、同一グループ内の他の各画像形成装置に対して、認証ユーザ用の修正データ適用可否情報の削除(除外)処理を要求するができる。
【0103】
以上の各参考例の作用効果を以下の(1)〜(6)にまとめて示す。
(1)画像形成装置(機器)が、サーバ装置と通信可能に接続するネットワークI/Fと、自装置に着脱可能なUSBメモリ等の外部記録媒体と通信可能に接続する外部入出力I/Fとを備え、上記外部記録媒体に記録されているユーザ認証情報に基づいて、ユーザの要求する修正対象プログラムの修正が可能か否か(修正可否)を判断した後、修正可能であれば、その修正対象プログラムを修正するための修正データ(修正プログラム)を取得し、その修正データを修正対象プログラムに適用する(修正データによって修正対象プログラムを修正する)。
【0104】
すなわち、プログラムを動的に修正する機能を用いて、例えばファームウェアの変更を行う際、ファームウェアに対するユーザ認証をその変更の都度実施すると、システムの性能を下げるなど、システムの挙動に変化を及ぼす可能性があり、修正を用いて機器の検査を行いたい場合に、正しい問題点の把握ができない。そこで、上記の外部記録媒体を用いて、ユーザの認証、修正対象プログラムを一度特定しておけば、プログラムの動作に対する認証を行わず、システムの挙動に悪影響を与えずに済む。つまり、ユーザが動的なプログラムの変更技術の恩恵を預かる際に、機器に対する必要最低限のセキュリティとプログラムの処理性能の低下軽減、ユーザの利便性を同時に達成することができる。
【0105】
(2)ユーザの認証が行われていることを他の画像形成装置に通知する機能を更に備え、ユーザ認証の適用が許容できる通信の範囲内であれば、再度ユーザ認証をすることなく、プログラムの修正を実施可能にする。
すなわち、修正対象プログラムは、ユーザ認証を行った当該機器のみではないことがよくある。この場合、USBメモリ等の着脱可能な外部記録媒体による認証範囲を当該機器にのみ適用するだけでは、他の機器に同様の修正を行わせたい場合、上記の外部記録媒体を取り外し(認証を解除し)、目的の機器に対して認証を再度実施しなければいけない。そこで、制限されたネットワークの範囲ではあるが、他の機器との情報交換のプロトコルを保持することにより、一度任意の機器に対して認証を行えば、複数の画像形成装置のプログラム修正が可能になる。
【0106】
(3)所定の操作が行われた場合に、その操作の履歴を示す操作ログ(操作情報)を保持(記録)する機能を更に備え、その保持した操作ログを所定の方法で出力する。
すなわち、ユーザにとっては、動的なプログラムの修正において、どのような処理が行われていたのか、懸念するケースがある。そこで、修正データ適用における主要な操作ログを記録させ、操作パネル上の操作等によって出力(印刷又は表示)させることで、ユーザの懸念を取り除くことが可能となる。
【0107】
(4)所定の記憶装置に配置された修正データ適用可否情報に基づいて、修正データの適用可否を判断する。
すなわち、無作為に修正データを適用すると、システムが動作しなくなるケースも考えられる(プログラムの書き換えによるセキュリティ脅威など)。そこで、修正データの適用可否判断を行う判断基準(修正データ適用可否情報)を予め設定しておき、その判断基準に基づいて、修正データの適用可否を判断することにより、システムとしての可用性を保護する。また、機器毎に修正データ適用可能な範囲をコントロールすることができ、複数の画像形成装置で作成されたネットワーク上で、画像形成装置ごとのセキュリティレベルに応じて、操作を抑制することも可能になる。
【0108】
(5)利用されるユーザ認証情報と修正するプログラムの範囲をユーザに指定させ、その認証情報によってプログラムの修正範囲を特定することにより、システムの動作を保護するために、認証情報作成時点でユーザが操作可能な修正プログラムを特定する。
(6)修正データの適用状況を通知する。つまり、動的なプログラムの修正に対して、ユーザはシステム内部の動作状況について懸念するケースがあるため、修正データの適用状況、実施状況を表示することにより、ユーザの懸念を取り除くことが可能となる。また、ユーザの操作が行われている機械が把握できるので、他の機械に対して実施した修正データの動作状況もユーザの操作元に表示することが可能となる。
【0109】
ところで、画像形成装置等の情報処理装置を含む電子機器におけるソフトウェア構成を管理装置からの要求によって変更可能にする電子機器管理システムにおいては、上述した各参考例のようなプログラム修正は、管理装置以外からの意図せぬソフトウェア構成の変更に相当するが、従来、管理装置がその変更を検知してリカバリーすることができないという問題があった。
そこで、その問題を解消するため、以下の実施形態では、管理装置以外から意図せぬソフトウェア構成の変更が行われたとき、管理装置がその変更を検知してリカバリーする処理に際して、以下の(A)〜(G)に示す特徴を有する。
【0110】
(A)情報処理装置に導入されたソフトウェア情報を定期的に取得する。
(B)取得したソフトウェア情報と記憶部内のソフトウェア情報とを比較し、差異を検知する。
(C)差異を検知した場合、ソフトウェア構成の変更検知を管理センタ経由でユーザへ通知する。
(D)記憶部内のソフトウェア情報を取得したソフトウェア情報に更新する。
(E)ユーザからのソフトウェア構成の変更要求を、管理センタ経由で検知する。
(F)記憶部内のライセンス情報を利用し、情報処理装置へソフトウェア構成の変更を要求する。
(G)その要求結果を管理センタ経由でユーザへ通知する。
【0111】
以下、その各特徴について、図1〜図15を参照して具体的に説明する。
〔情報処理装置管理システムのネットワーク構成例〕
まず、この発明による管理装置を含む電子機器管理システムの一実施形態である情報処理装置管理システムの概要について説明する。
図1は、その情報処理装置管理システムのネットワーク構成例を示す概念図である。
【0112】
この情報処理装置管理システムは、情報処理装置101(101A,101B,101C),管理装置102,ソフトウェア配信サーバ103,ライセンス管理サーバ104,および管理センタ105から構成されている。ここでは、情報処理装置101を3台としているが、これは一例であり、情報処理装置101は1台以上であれば何台でもよい。
情報処理装置101と管理装置102は、ローカルエリアネットワーク(LAN)等のローカルネットワーク106を介して通信可能に接続できる。
管理装置102とソフトウェア配信サーバ103とライセンス管理サーバ104と管理センタ105は、インタネット107を介して通信可能に接続できる。
【0113】
情報処理装置101(101A,101B,101C)は、画像読取装置(スキャナ装置等),画像形成装置(デジタル複合機,デジタル複写機,ファクシミリ装置,プリンタ装置等),PC(パーソナルコンピュータ),車載情報処理装置等であり、機器固有情報108(108A,108B,108C)を保持している。機器固有情報108は、機種機番等のユニークな(特定の)情報であり、異なる情報処理装置101で機器固有情報108が同じになることはない。ここでは、各機器固有情報108をそれぞれmfp00001,mfp00002,mfp00003としている。
【0114】
管理装置102は、情報処理装置101の管理を行い、例えば、情報処理装置101に導入されたソフトウェアの情報の取得、ソフトウェアの追加/更新/削除/アクティベート/ディアクティベートの要求等を行う。また、ソフトウェア配信サーバ103からソフトウェアのダウンロード等を行い、ライセンス管理サーバ104からライセンスの発行や返却等を行う。更に、管理センタ105に、当該管理装置102が管理している情報処理装置101の情報の通知等を行う。
【0115】
ソフトウェア配信サーバ103は、ソフトウェアを管理装置102へ配信する。
ライセンス管理サーバ104は、情報処理装置101でファームウェアやプラグイン等の特定のプログラム(ソフトウェア)を使用するためのライセンスの管理を行う。
管理センタ105は、各ユーザがそれぞれ使用している情報処理装置101から管理装置102経由で送られてくる通知を収集し、その情報処理装置101を管理する中央管理装置が設置されている。また、情報処理装置101を使用するユーザと管理装置102との要求や確認等のやりとりを仲介する。
【0116】
〔管理装置のハードウェア構成例〕
次に、図1の管理装置102のハードウェア構成例について説明する。
図2は、その管理装置102のハードウェア構成例を示すブロック図である。
管理装置102は、CPU201,メモリ202,記憶装置203,および通信部204から構成されている。これらはバス205を介して接続されている。
【0117】
CPU201は、管理装置102の処理全体を統括し、メモリ202や記憶装置203、通信部204にアクセスしながら各種演算処理を行う。このCPU201がメモリ202上の所定のプログラムを実行し、通信部204を制御することにより、この発明に関わる情報取得手段,差異検知手段,変更検知通知手段,情報更新手段,要求検知手段,変更要求手段,要求結果通知手段,ライセンスファイル要求手段,ライセンスファイル取得手段,ライセンス返却要求手段,プロダクトキー読み込み手段,時刻取得手段,比較手段,および情報削除手段としての機能を果すことができる。
【0118】
メモリ202は、一時的な記憶領域を持つRAM等の記憶手段であり、CPU201が実行するプログラムを記憶装置203から読み取って展開したり、CPU201が各種演算処理を行うにあたって一時的に必要なデータを保持する。
記憶装置203は、永続的な記憶領域を持つHDD等の不揮発性記憶手段であり、ソフトウェアを構成する各種プログラムやデータを保持する。
通信部204は、ネットワークを介して他の電子機器と通信可能に接続し、通信を行う接続手段(通信手段)である。
【0119】
なお、情報処理装置101,ソフトウェア配信サーバ103,およびライセンス管理サーバ104も、管理装置102と同様なハードウェア構成なので、図示および説明を省略する。また、情報処理装置101は、この発明に関わる接続手段,記憶手段,機器固有情報通知手段,機器固有情報判定手段,およびアクティベート処理手段としての機能を、ソフトウェア配信サーバ103は、この発明に関わる接続手段,記憶手段,ライセンスファイル発行手段,およびライセンス返却手段としての機能をそれぞれ実現できる。
【0120】
〔情報処理装置から取得できるソフトウェア情報の一例〕
次に、図1の情報処理装置101から取得できるソフトウェア情報の一例について説明する。
図3は、そのソフトウェア情報の一例を示す説明図である。
情報処理装置101から取得できるソフトウェア情報は、ファームウェアの情報かプラグインの情報の2つに分類される。
【0121】
ファームウェアの情報は、プロダクトID301およびバージョン302から構成されている。ここでは、プロダクトID301が「f00001」のファームウェアが存在する。
プラグインの情報は、プロダクトID301,バージョン302,ライセンス有無303,および有効期限304から構成されている。ここでは、プロダクトID301がそれぞれp00001,p00002,p00003のファームウェアが存在する。
【0122】
ここでは、ファームウェアを1つ、プラグインを3つとしているが、これは一例であり、個数はいくつでもよい。また、それらのソフトウェア(プログラム)以外のソフトウェアの情報を加えることもできる。
プロダクトID301は、ソフトウェアと一対一で対応付けられた識別子(識別情報)のことである。
バージョン302は、ソフトウェアのリリースに関する数字のことである。この数字が高いほど、より最近にリリースされたソフトウェアであることを意味する。
【0123】
ライセンス有無303は、対応するプラグインがライセンスを保持しているか(「あり」か)か否か(「なし」か)を表している。「あり」であれば、ライセンスを保持しており、対応するプラグインを利用できることを意味する。「なし」であれば、ライセンスを保持しておらず、対応するプラグインを利用できないことを意味する。ファームウェアは、ハードウェアの基本的な制御を行うソフトウェアであるため、ライセンスの有無はなく、常に利用できるものとする。
【0124】
有効期限304は、対応するプラグインのライセンスがいつまで有効であるかを表している。
例えば、ライセンス有無303が「あり」で、有効期限304が「2010/12/31」であれば、対応するプラグインのライセンスは2010/12/31まで有効であることを意味する。2010/12/31を過ぎると、ライセンス有無303は「なし」に変わり、有効期限304は「なし」に変わる。
【0125】
ライセンス有無303が「あり」で、有効期限304が「なし」であれば、対応するライセンスは無期限に有効であることを意味する。
ライセンス有無303が「なし」であれば、対応するプラグインはライセンスを保持していないため、有効期限304は「なし」となる。
なお、ファームウェア情報にライセンスの有無や有効期限を加えることもできる。
管理装置102は、それぞれの情報処理装置101のソフトウェア情報を記憶装置203で記憶している。
【0126】
〔ライセンス管理サーバで保持されるライセンス管理情報の一例〕
次に、図1のライセンス管理サーバ104で保持されるライセンス管理情報の一例について説明する。
図4は、そのライセンス管理情報の一例を示す説明図である。
ライセンス管理サーバ104で保持されるデータの一部にライセンス管理情報があり、これはプロダクトキー401,プロダクトID402,有効期限403,未発行ライセンス数404,発行済みライセンス数405,および機器固有情報406によって構成されている。
【0127】
プロダクトキー401は、ユーザがライセンスの発行を受けるために必要なキーのことである。ユーザは、プロダクトキーを用いてライセンスの発行を受けることで、ソフトウェアを利用することができる。ここでは、ユーザは既にソフトウェア販売元からライセンスを購入してプロダクトキー「222−333−555」が発行され、ライセンス管理サーバ104へも登録されているものとする。
【0128】
プロダクトID402は、ソフトウェアと一対一で対応付けられた識別子のことである。ここでは、プロダクトキー401によって利用することができるソフトウェアを表しており、プロダクトキー401が「222−333−555」でプロダクトID402が 「p00001」のソフトウェアを利用できる。
有効期限403は、このプロダクトキー401によって発行されたライセンスがいつまで有効かを表す期限のことである。
【0129】
未発行ライセンス数404は、このプロダクトキー401によってソフトウェアを利用できる情報処理装置101の台数の上限を表している。ここでは、未発行ライセンス数は「3」なので、プロダクトキー401の「222−333−555」によって、最大3台の情報処理装置101でソフトウェアを利用することができる。
発行済みライセンス数405は、このプロダクトキー401によってソフトウェアを利用している情報処理装置101の台数を表している。ここでは、発行済みライセンス数は「0」なので、プロダクトキー401の「222−333−555」によってソフトウェアを利用している情報処理装置はない。
【0130】
機器固有情報406は、このプロダクトキー401によってソフトウェアを利用している情報処理装置の機器固有情報を表している。つまり、プロダクトキー401が同じであれば、発行済みライセンス数405と機器固有情報406の数は一致する。ここでは、発行済みライセンス数405は「0」なので、機器固有情報406は空である。
ライセンス管理情報の構成は一例であり、これら以外の情報も保持することができる。例えば、ライセンスの契約形態が複数ある場合は、その情報を保持することができる。
【0131】
〔ライセンス管理サーバが発行するライセンスファイルの一例〕
次に、図1のライセンス管理サーバ104が発行するライセンスファイルの形式の一例について説明する。
図5は、そのライセンスファイルの形式の一例を示す説明図である。
ライセンスファイル501は、プロダクトID502,機器固有情報503,および有効期限504から構成されている。
【0132】
プロダクトID502は、このライセンスファイル501によって利用できるソフトウェアのプロダクトIDを表している。ここでは、プロダクトID502を「p00001」としている。
機器固有情報503は、このライセンスファイル501を適用できる機器の機器固有情報を表している。つまり、同じ機器固有情報503を保持する機器でなければ、ライセンスファイル501を適用することができない。ここでは、機器固有情報503を「mfp00001」としている。
【0133】
有効期限504は、このライセンスファイル501を適用することで得られるライセンスの有効期限を表している。ここでは、有効期限504を「2011/12/31」としている。
ライセンスファイルの構成は一例であり、これら以外の情報も保持することができる。例えば、ライセンスの契約形態が複数ある場合は、その情報を保持することができる。
【0134】
〔ライセンス管理サーバで保持されるライセンス管理情報の更新例〕
次に、図1のライセンス管理サーバ104で保持されるライセンス管理情報の更新例について説明する。
図6は、そのライセンス管理情報の更新例を示す説明図である。
ライセンス管理サーバ104において、図5に示したライセンスファイルが発行されると、ライセンス管理サーバ104で保持されるライセンス管理情報406が図4に示した空から図6に示す「mfp00001」へ変化する。この例では、機器固有情報406がライセンス管理サーバ104で保持され、未発行ライセンス数404は「3」から「2」へ変化し、発行済みライセンス数405は「0」から「1」へ変化する。
【0135】
〔管理装置の記憶装置で記憶されるライセンス情報の一例〕
次に、図1の管理装置102の記憶装置203で記憶されるライセンス情報の一例について説明する。
図7は、そのライセンス情報の一例を示す説明図である。
管理装置102の記憶装置203で記憶されるデータにライセンス情報があり、これはプロダクトキー701,プロダクトID702,有効期限703,および機器固有情報704から構成されている。
【0136】
そのライセンス情報としては、過去に管理センタ105を経由してユーザからアクティベートを要求されたときのライセンス情報が記憶されている。
プロダクトキー701,プロダクトID702,有効期限703,機器固有情報704の意味は、それぞれ図6に示したプロダクトキー401,プロダクトID402,有効期限403,機器固有情報406と同じである。
【0137】
〔定期的に行う動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内で定期的に行う動作シーケンスの一例について説明する。
図8は、その動作シーケンス一例を示すシーケンス図である。
ソフトウェア情報の取得(S801)は、管理装置102から一定期間で定期的に情報処理装置101に対して行われる。このとき、管理装置102は、ソフトウェア情報の取得要求を情報処理装置101へ送信することにより、その情報処理装置101にインストール(導入)されたファームウェアやプラグインの情報がソフトウェア情報(図3)として返ってくるので、それを取得する。
【0138】
ソフトウェア情報の比較(S802)は、管理装置102内で行われる。管理装置102の記憶装置203で記憶しているソフトウェア情報と、ソフトウェア情報の取得(S801)で取得したソフトウェア情報とを比較する。その比較の手順は、図9で述べる。
ソフトウェア構成変更通知(S803)は、管理装置102から管理センタ105に対して行われる。ソフトウェア情報の比較(S802)にてソフトウェア情報に変更があった場合にのみ、その変更内容を管理センタ105へ通知する。
【0139】
ソフトウェア構成変更通知(S804)は、管理センタ105からユーザ120に対して行われる。ソフトウェア情報の比較(S802)にてソフトウェア情報に変更があり、ソフトウェア構成変更通知(S803)が行われた場合、その変更内容をユーザ120へ通知する。ユーザ120への通知は、実際にはユーザ120が使用する機器(予め通知先として設定された機器)、例えば情報処理装置101や図示しないPC(ノートPC等),携帯電話等に対して行う。
【0140】
ソフトウェア情報の更新(S805)は、管理装置102内で行われる。管理装置102の記憶装置203で記憶しているソフトウェア情報を、ソフトウェア情報の取得(S801)で取得したものに更新する。
プロダクトキーの有効期限確認(S806)は、管理装置102内で行われる。管理装置102の記憶装置203で記憶しているライセンス情報(図7)の有効期限を確認する。つまり、その有効期限を現在の時刻(例えば年月日時分秒)と比較し、その時刻が有効期限を過ぎているプロダクトキーに対応するライセンス情報を削除する。
【0141】
ここで、現在の時刻は、計時手段としての図示しない時計回路から取得することができる。あるいはプログラム(但しUNIX(登録商標)系のOSに限る)によるソフト的な時計を用いることもできる。UNIX系のOS(Linuxを含む)は、時刻情報を1970年1月1日0:00からの経過秒として持っているため、時計回路がなくても、秒をカウントできるカウンタがあれば、そのカウンタを用いて時刻計測を行い、現在の時刻を取得することも可能になる。
【0142】
要求の確認(S807)は、管理装置102から管理センタ105に対して行われる。管理装置102が、管理センタ105に蓄積されたユーザ120からの要求を確認する。この例では、「要求なし」となっている。「要求あり」の例は、図10〜図15で述べる。
管理装置102は、これらの処理を一定間隔で定期的に行う。これにより、管理装置102が情報処理装置101のソフトウェア情報を確認し、それに変更が加えられた場合、管理センタ105へ通知することができるようになる。
【0143】
〔管理装置によるソフトウェア情報の比較手順の一例〕
次に、図1の管理装置102によるソフトウェア情報の比較(S802)の手順について説明する。
図9は、そのソフトウェア情報の比較(S802)の手順の一例を示すフローチャートである。
【0144】
ステップS901では、図8のソフトウェア情報の取得(S801)で取得したソフトウェア情報とを比較する。
ステップS902では、ステップS901で比較したソフトウェア情報の中でもライセンスの部分に注目し、差異があるかないかを判定する。具体的な差異とは、ライセンス有無の不一致である。
ステップS903では、ステップS902で差異があると判定されたライセンスに対して、そのライセンスが有効期限内か否かを判定する。
【0145】
そして、有効期限内であれば、意図せぬ変更が加えられたことによりライセンス部分の差異が発生したと判断し、ステップS904へ進む。例えば、ライセンス有無が「なし」から「あり」に変化していた場合、管理装置102以外からプラグインのアクティベートが行われたと考える。ライセンス有無が「あり」から「なし」に変化し、「あり」のときの有効期限が未来(この判定日以降)であれば、管理装置102以外からプラグインのディアクティベートが行われたと考える。
【0146】
有効期限内でなければ、ライセンスの期限切れによりライセンス部分の差異が発生したと判断し、ステップS905へ進む。例えば、ライセンス有無が「あり」から「なし」に変化し、「あり」のときの有効期限が過去(この判定日以前)であれば、ライセンスの期限切れによって機器のライセンス状態が自動的に変わったと考える。つまり、意図的にライセンス状態が変わったわけではないと考える。
【0147】
ステップS904では、ソフトウェア構成の変更検知を通知する。これは、図8のソフトウェア構成変更通知(S803)に相当する。
ライセンス有無が「なし」から「あり」に変化していたときには、意図せぬプラグインのアクティベートが発生していることを通知する。
ライセンス有無が「あり」から「なし」に変化していたときには、意図せぬプラグインのディアクティベートが発生していることを通知する。
【0148】
ステップS905では、ライセンスの期限切れを通知する。これは、ソフトウェア構成変更通知(S803)に相当する。このとき、ライセンスの期限切れが発生していることを通知する。
ステップS906では、ステップS901で比較したソフトウェア情報の中でもライセンス以外の部分に注目し、差異があるかないかを判定する。具体的な差異とは、プロダクトIDの一覧の過不足、バージョンの変化である。
【0149】
ステップS907では、ソフトウェア構成の変更検知を通知する。これは、ソフトウェア構成変更通知(S803)に相当する。
プロダクトIDに過剰がある場合には、意図せぬプラグインの追加が発生していることを通知する。
プロダクトIDに不足がある場合には、意図せぬプラグインの削除が発生していることを通知する。
バージョンに変化がある場合には、意図せぬプラグインの更新が発生していることを通知する。
【0150】
〔プラグイン追加要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でプラグイン追加要求時に行う動作シーケンスの一例について説明する。
図10は、その動作シーケンスの一例を示すシーケンス図である。
ユーザがプラグインの追加を要求するケースとしては、ユーザが管理センタ105からのソフトウェア変更通知(意図せぬプラグインの削除の発生)を受けて要求する場合と、ソフトウェア変更通知とは関係なく要求する場合とがある。いずれの場合も動作シーケンスは同じである。ユーザの要求は、実際にはユーザ120が使用する機器の操作により、その機器から発行される。
【0151】
プラグイン追加要求(S1001)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、追加したいプラグインのプロダクトIDとバージョンと対象の情報処理装置101を指定する。なお、この実施形態では、ユーザ120によって指定されるプロダクトID等の指定情報は、プラグイン追加要求等の要求に付加されるが、付加しなくても構わない。
【0152】
要求の確認(S1002)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1002)が行われ、そこで管理装置102はユーザ120の要求を知る(認識する)ことができる。また、その要求から指定されたプラグインのプロダクトID,バージョンと対象の情報処理装置101とを知る(検知する)ことができる。なお、それらの指定情報が要求に付加されないような場合には、要求の確認の際に、管理センタ105に要求とは別に指定情報を送信してもらい、その内容を知ることもできる。
【0153】
プラグインのダウンロード(S1003)は、管理装置102からソフトウェア配信サーバ103に対して行われる。このとき、管理装置102は、プラグイン追加要求(S1001)で指定されたプロダクトIDとバージョンのプラグインをダウンロードする。
プラグインの追加(S1004)は、管理装置102から情報処理装置101に対して行われる。このとき、管理装置102は、プラグインのダウンロード(S1003)でダウンロードしたプラグインを情報処理装置101へ送信し、プラグインの追加を要求する。その情報処理装置101は、受信したプラグインの追加処理を行い、その結果として成功/失敗を返す。
【0154】
ソフトウェア情報の更新(S1005)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、プラグインの追加(S1004)で追加したプラグインの情報を追加する。この処理は、プラグインの追加(S1004)が成功した場合に行い、失敗した場合は行わない。
プラグイン追加要求の結果通知(S1006)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、プラグインの追加(S1004)の結果を管理センタ105へ通知する。
【0155】
プラグイン追加要求の結果通知(S1007)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、プラグインの追加(S1004)の結果をユーザ120へ通知する。
この図10の動作シーケンスでは、ユーザの要求はプラグインの追加であるが、プラグインの更新も「追加」を「更新」に置き換えた同じ動作シーケンスになる。ファームウェアの更新も「プラグインの追加」を「ファームウェアの更新」に置き換えた同じ動作シーケンスになる。
【0156】
〔プラグイン削除要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でプラグイン削除要求時に行う動作シーケンスの一例について説明する。
図11は、その動作シーケンスの一例を示すシーケンス図である。
ユーザがプラグインの削除を要求するケースとしては、ユーザが管理センタ105からのソフトウェア変更通知(意図せぬプラグインの追加の発生)を受けて要求する場合と、ソフトウェア変更通知とは関係なく要求する場合とがある。いずれの場合も動作シーケンスは同じである。
【0157】
プラグイン削除要求(S1101)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、削除したいプラグインのプロダクトIDと対象の情報処理装置101を指定する。
要求の確認(S1102)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1102)が行われ、そこで管理装置102はユーザ120の要求を知ることができる。また、その要求から指定されたプラグインのプロダクトIDと対象の情報処理装置101とを知ることもできる。
【0158】
プラグインの削除(S1103)は、管理装置102から情報処理装置101に対して行われる。このとき、管理装置102は、プラグイン削除要求(S1101)で指定されたプロダクトIDを情報処理装置101へ送信する。その情報処理装置101は、受信したプロダクトIDのプラグインの削除処理を行い、その結果として成功/失敗を返す。
ソフトウェア情報の更新(S1104)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、プラグインの削除(S1103)で削除したプラグインの情報を削除する。この処理は、プラグインの削除(S1103)が成功した場合に行い、失敗した場合は行わない。
【0159】
プラグイン削除要求の結果通知(S1105)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、プラグインの削除(S1103)の結果を管理センタ105へ通知する。
プラグイン削除要求の結果通知(S1106)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、プラグインの削除(S1103)の結果をユーザ120へ通知する。
【0160】
〔プラグインアクティベート要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でプラグインアクティベート要求時に行う動作シーケンスの一例について説明する。
図12は、その動作シーケンスの一例を示すシーケンス図である。
【0161】
ユーザがプラグインのアクティベートを要求するケースとしては、(1)ユーザが管理センタ105からのソフトウェア変更通知(意図せぬプラグインのディアクティベートの発生)を受けて要求する場合と、(2)ユーザが管理センタからソフトウェア変更通知(ライセンスの期限切れの発生)を受けて要求する場合と、(3)ソフトウェア変更通知とは関係なく要求する場合とがある。(1)の場合は図14で述べ、(2)と(3)の場合をここで述べる。
【0162】
アクティベート要求(S1201)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、アクティベートしたい対象のプラグインのプロダクトキーと対象の情報処理装置101を指定する。
要求の確認(S1202)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1202)が行われ、そこで管理装置102はユーザ120の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトキーと対象の情報処理装置101の機器指定情報(IPアドレス等)とを知ることもできる。
【0163】
機器固有情報の取得(S1203)は、管理装置102から対象の情報処理装置101に対して行われる。このとき、管理装置102は、機器固有情報の取得要求を対象の情報処理装置101へ送信することにより、その情報処理装置101が、自身が保持する機器固有情報を返すので、それを取得する。
【0164】
ライセンス発行要求(S1204)は、管理装置102からライセンス管理サーバ104に対して行われる。このとき、管理装置102は、アクティベート要求(S1201)で指定されたプロダクトキーと機器固有情報の取得(S1203)で取得した機器固有情報とをライセンス管理サーバ104へ送信し、ライセンスファイルの発行を要求する。ライセンス管理サーバ104は、その要求により、受信したプロダクトキーからプロダクトIDと有効期限とを割り出し、それらと受信した機器固有情報とからライセンスファイルを作成する。そして、作成したライセンスファイルとプロダクトIDと有効期限とを管理装置102へ返し、受信したプロダクトキーに対応する発行済みライセンス数を1つ増やし、受信した機器固有情報を追加する。
【0165】
アクティベート(S1205)は、管理装置102から情報処理装置101に対して行われる。このとき、管理装置102は、ライセンス発行要求(S1204)で取得したライセンスファイルを情報処理装置101へ送信し、プラグインのアクティベートを要求する。その情報処理装置101は、その要求により、自身が保持している機器固有情報と受信したライセンスファイルを構成する機器固有情報とが一致するか否かを判定し、両機器固有情報が一致したことを確認した上でアクティベート処理を行い、その結果として成功/失敗を返す。
ソフトウェア情報の更新(S1206)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、ライセンス発行要求(S1204)で返されたプロダクトIDと有効期限とを設定してライセンス有無を「あり」に変更する。この処理は、アクティベート(S1205)が成功した場合に行い、失敗した場合は行わない。
【0166】
プロダクトキーの保存(S1207)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203にてアクティベート要求(S1201)で指定されたプロダクトキーとライセンス発行要求(S1204)で返ってきた有効期限とを記憶する。
アクティベート要求の結果通知(S1208)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、アクティベート(S1205)の結果を管理センタ105へ通知する。
アクティベート要求の結果通知(S1209)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、アクティベート(S1205)の結果をユーザ120へ通知する。
【0167】
〔プラグインディアクティベート要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でプラグインディアクティベート要求時に行う動作シーケンスの一例について説明する。
図13は、その動作シーケンスの一例を示すシーケンス図である。
ユーザがプラグインのディアクティベートを要求するケースとしては、(1)ユーザが管理センタ105からのソフトウェア変更通知(意図せぬプラグインのアクティベートの発生)を受けて要求する場合と、(2)ソフトウェア変更通知とは関係なく要求する場合とがある。(1)の場合は図15で述べ、(2)の場合をここで述べる。
【0168】
ディアクティベート要求(S1301)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、ディアクティベートしたい対象のプロダクトIDと対象の情報処理装置101を指定する。
要求の確認(S1302)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1302)が行われ、そこで管理装置102はユーザ120の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトIDと対象の情報処理装置101の機器指定情報とを知ることもできる。
【0169】
ディアクティベート(S1303)は、管理装置102から対象の情報処理装置101に対して行われる。このとき、管理装置102は、ディアクティベート要求(S1301)で指定された対象のプロダクトIDを対象の情報処理装置101へ送信する。その情報処理装置101は、受信したプロダクトIDのプラグインのディアクティベート処理を行い、その結果として成功/失敗を返す。
機器固有情報の取得(S1304)は、管理装置102から対象の情報処理装置101に対して行われる。このとき、情報処理装置101は、機器固有情報の取得要求を対象の情報処理装置101へ送信することにより、その情報処理装置101が、自身が保持する機器固有情報を返すので、それを取得する。
【0170】
ライセンス返却要求(S1305)は、管理装置102からライセンス管理サーバ104に対して行われる。このとき、管理装置102は、ディアクティベート要求(S1301)で指定されたプロダクトIDと機器固有情報の取得(S1304)で取得した機器固有情報とを、ライセンス管理サーバ104へ送信し、ライセンスの返却を要求する。ライセンス管理サーバ104は、その要求により、受信したプロダクトIDと機器固有情報からプロダクトキーを特定し、それに対応する発行済みライセンス数を1つ減らし、受信した機器固有情報と一致する機器固有情報を削除する。
【0171】
ソフトウェア情報の更新(S1306)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、ディアクティベート(S1303)でディアクティベートしたプラグインのライセンス有無を「なし」に変更して有効期限も「なし」に変更する。この処理は、ディアクティベート(S1303)が成功した場合に行い、失敗した場合は行わない。
【0172】
プロダクトキーの削除(S1307)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されている有効期限を確認し、有効期限が過去であれば、対応するプロダクトキーを削除する。つまり、記憶装置203にてディアクティベート要求(S1301)で指定されたプロダクトIDと機器固有情報の取得(S1304)で取得した機器固有情報に対応するライセンスキーを削除する。
【0173】
ディアクティベート要求の結果通知(S1308)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、ディアクティベート(S1303)の結果を管理センタ105へ通知する。
ディアクティベート要求の結果通知(S1309)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、ディアクティベート(S1303)の結果をユーザ120へ通知する。
【0174】
〔ディアクティベート差し戻し要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でディアクティベート差し戻し要求時に行う動作シーケンスの一例について説明する。
図14は、その動作シーケンスの一例を示すシーケンス図である。
これは、ユーザが管理センタ105からのソフトウェア構成変更通知(意図せぬプラグインのディアクティベートの発生)を受けてディアクティベートの差し戻し(取り消し)、つまりアクティベートを要求するときの動作シーケンスを示している。
【0175】
ディアクティベート差し戻し要求(S1401)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、アクティベートしたい対象のプロダクトIDと対象の情報処理装置101を指定する。
要求の確認(S1402)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1402)が行われ、そこで管理装置102はユーザ120の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトIDと対象の情報処理装置101の機器指定情報とを知ることもできる。
【0176】
機器固有情報の取得(S1403)は、管理装置102から情報処理装置101に対して行われる。このとき、情報処理装置101は、機器固有情報の取得要求を対象の情報処理装置101へ送信することにより、その情報処理装置101が、自身が保持する機器固有情報を返すので、それを取得する。
プロダクトキーの読み込み(S1404)は、管理装置102内で行われる。このとき、管理装置102はディアクティベート差し戻し要求(S1401)で指定された対象のプロダクトIDと機器固有情報の取得(S1403)で取得した機器固有情報とに基づいて、対応するプロダクトキーを記憶装置203に記憶されているライセンス情報から読み込む。
【0177】
ライセンス発行要求(S1405)は、管理装置102からライセンス管理サーバ104に対して行われる。このとき、管理装置102は、プロダクトキーの読み込み(S1404)で読み込んだプロダクトキーと機器固有情報の取得(S1403)で取得した機器固有情報とを、ライセンス管理サーバ104へ送信し、ライセンスファイルの発行を要求する。ライセンス管理サーバ104は、その要求により、受信したプロダクトキーからプロダクトIDと有効期限とを割り出し、それらと受信した機器固有情報とからライセンスファイルを作成する。そして、作成したライセンスファイルとプロダクトIDと有効期限とを管理装置102へ返し、受信したプロダクトキーに対応する発行済みライセンス数を1つ増やし、受信した機器固有情報を追加する。
【0178】
アクティベート(S1406)は、管理装置102から情報処理装置101に対して行われる。このとき、管理装置102は、ライセンス発行要求(S1405)で取得したライセンスファイルを情報処理装置101へ送信し、プラグインのアクティベートを要求する。その情報処理装置101は、その要求により、自身が保持している機器固有情報と受信したライセンスファイルが保持する機器固有情報が同じことを確認した上でアクティベート処理を行い、その結果として成功/失敗を返す。
ソフトウェア情報の更新(S1407)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、ライセンス発行要求(S1405)で返されたプロダクトIDと有効期限とを設定してライセンス有無を「あり」に変更する。この処理は、アクティベート(S1406)が成功した場合に行い、失敗した場合は行わない。
【0179】
ディアクティベート差し戻し要求の結果通知(S1408)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、アクティベート(S1406)の結果を管理センタ105へ通知する。
ディアクティベート差し戻し要求の結果通知(S1409)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、アクティベート(S1406)の結果をユーザ120へ通知する。
【0180】
〔アクティベート差し戻し要求時の動作シーケンスの一例〕
次に、図1に示した情報処理装置管理システム内でアクティベート差し戻し要求時に行う動作シーケンスの一例について説明する。
図15は、その動作シーケンスの一例を示すシーケンス図である。
これは、ユーザが管理センタ105からのソフトウェア変更通知(意図せぬプラグインのアクティベートの発生)を受けてアクティベート差し戻し、つまりディアクティベートを要求するときの動作シーケンスを示している。
【0181】
アクティベート差し戻し要求(S1501)は、ユーザ120から管理センタ105に対して行われる。このとき、ユーザ120は、ディアクティベートしたい対象のプロダクトIDと対象の情報処理装置101を指定する。
要求の確認(S1502)は、管理装置102から管理センタ105に対して行われる。これは、図8の要求の確認(S807)と同じものである。つまり、管理装置102が一定間隔で定期的に行う処理の中で要求の確認(S1502)が行われ、そこで管理装置102はユーザ120の要求を知ることができる。また、その要求から指定された対象のプラグインのプロダクトIDと対象の情報処理装置101の機器指定情報とを知ることもできる。
【0182】
ディアクティベート(S1503)は、管理装置102から情報処理装置101に対して行われる。このとき、管理装置102は、アクティベート差し戻し要求(S1501)で指定されたプロダクトIDを情報処理装置101へ送信する。その情報処理装置101は、受信したプロダクトIDのプラグインのディアクティベート処理を行い、その結果として成功/失敗を返す。
機器固有情報の取得(S1504)は、管理装置102から情報処理装置101に対して行われる。このとき、情報処理装置101は、機器固有情報の取得要求を対象の情報処理装置101へ送信することにより、その情報処理装置101が、自身が保持する機器固有情報を返すので、それを取得する。
【0183】
ライセンス返却要求(S1505)は、管理装置102からライセンス管理サーバ104に対して行われる。このとき、管理装置102は、アクティベート差し戻し要求(S1501)で指定されたプロダクトIDと機器固有情報の取得(S1504)で取得した機器固有情報とを、ライセンス管理サーバ104へ送信し、ライセンスの返却を要求する。ライセンス管理サーバ104は、その要求により、受信したプロダクトキーと機器固有情報からプロダクトキーを特定し、それに対応する発行済みライセンス数を1つ減らし、受信した機器固有情報と一致する機器固有情報を削除する。
【0184】
ソフトウェア情報の更新(S1506)は、管理装置102内で行われる。このとき、管理装置102は、記憶装置203に記憶されているソフトウェア情報を更新し、ディアクティベート(S1303)でディアクティベートしたプラグインのライセンス有無を「なし」に変更して有効期限も「なし」に変更する。この処理は、ディアクティベート(S1303)が成功した場合に行い、失敗した場合は行わない。
【0185】
アクティベート差し戻し要求の結果通知(S1507)は、管理装置102から管理センタ105に対して行われる。このとき、管理装置102は、ディアクティベート(S1503)の結果を管理センタ105へ通知する。
アクティベート差し戻し要求の結果通知(S1508)は、管理センタ105からユーザ120に対して行われる。このとき、管理センタ105は、ディアクティベート(S1503)の結果をユーザ120へ通知する。
【0186】
このように、管理装置が、ソフトウェア情報およびライセンス情報を記憶する記憶装置を備え、自己と通信可能な情報処理装置に導入されたソフトウェアの情報を、その情報処理装置から定期的に取得し、その取得したソフトウェア情報と記憶装置内のソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知すると共に、上記取得したソフトウェア情報によって記憶装置内の対応するソフトウェア情報を更新した後、上記ユーザからのソフトウェア構成の変更要求を検知した場合に、記憶装置内の対応するライセンス情報を利用して、上記情報処理装置へソフトウェア構成の変更を要求し、その要求の結果を上記ユーザに対して通知することにより、情報処理装置において管理装置以外から意図せぬソフトウェア構成の変更があった場合に、そのソフトウェア構成を変更前の状態に戻すことができる。つまり、情報処理装置において管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーすることができる。
【0187】
以上の実施形態では、この発明による管理装置を含む電子機器管理システムの例として、管理装置により情報処理装置を管理する情報処理装置管理システムについて説明したが、この発明はこれに限られるものではなく、ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム,AV機器,遊戯機器等の組み込み機器や、ネットワークに接続可能なコンピュータ等も含め、各種電子機器を被管理装置とし、それらの被管理装置を管理装置によって管理する電子機器管理システムにも適用可能である。
【0188】
〔この発明に関わるプログラム〕
このプログラムは、管理装置を制御するコンピュータであるCPUに、この発明に関わる情報取得手段,差異検知手段,変更検知通知手段,情報更新手段,要求検知手段,変更要求手段,要求結果通知手段,ライセンスファイル要求手段,ライセンスファイル取得手段,ライセンス返却要求手段,プロダクトキー読み込み手段,時刻取得手段,比較手段,および情報削除手段としての機能を実現させるためのプログラムであり、このようなプログラムをCPUに実行させることにより、上述したような作用効果を得ることができる。
【0189】
このようなプログラムは、はじめから管理装置に備えるROM、あるいは不揮発性メモリ(フラッシュROM,EEPROM等)、あるいはHDDなどの記憶手段に格納しておいてもよいが、記録媒体であるCD−ROM、あるいはメモリカード,フレキシブルディスク,MO,CD−R,CD−RW,DVD+R,DVD+RW,DVD−R,DVD−RW,又はDVD−RAM等の不揮発性記録媒体(メモリ)に記録して提供することもできる。それらの記録媒体に記録されたプログラムを管理装置にインストールしてCPUに実行させるか、CPUにそれらの記録媒体からこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【0190】
以上の説明から明らかなように、この発明によれば、管理装置と接続可能な電子機器において、管理装置以外から意図せぬソフトウェア構成の変更が行われた場合でも、管理装置がその変更を検知してリカバリーすることができる。したがって、電子機器を常に最適なソフトウェア構成で動作させることが可能な管理装置、それを含む電子機器管理システムを提供することができる。
【符号の説明】
【0191】
101:情報処理装置 102:管理装置 103:ソフトウェア配信サーバ
104:ライセンス管理サーバ 105:管理センタ
106:ローカルネットワーク 107:インタネット CPU201,メモリ202,記憶装置203,および通信部204
【先行技術文献】
【特許文献】
【0192】
【特許文献1】特開2002−288066号公報
【特許請求の範囲】
【請求項1】
電子機器と通信可能に接続する接続手段を有し、該接続手段によって接続される電子機器を管理する管理装置であって、
ソフトウェア情報およびライセンス情報を記憶する記憶手段と、
前記電子機器に導入されたソフトウェアの情報を、該電子機器から定期的に取得する情報取得手段と、
該情報取得手段によって取得したソフトウェア情報と前記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知手段と、
該差異検知手段によって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知手段と、
前記情報取得手段によって取得したソフトウェア情報によって前記記憶手段内の対応するソフトウェア情報を更新する情報更新手段と、
前記ユーザからのソフトウェア構成の変更要求を検知する要求検知手段と、
該要求検知手段によってソフトウェア構成の変更要求を検知した場合に、前記記憶手段内の対応するライセンス情報を利用して、前記電子機器へソフトウェア構成の変更を要求する変更要求手段と、
該変更要求手段による要求の結果を前記ユーザに対して通知する要求結果通知手段とを設けたことを特徴とする管理装置。
【請求項2】
請求項1に記載の管理装置において、
前記接続手段は、前記電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバと通信可能に接続する手段を有し、
前記要求検知手段は、前記ユーザからのソフトウェア構成の変更要求を検知する際に、該ユーザからの指定情報を検知する手段を有し、
前記情報取得手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのアクティベート要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトキーが検知された場合に、該機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記要求検知手段によって検知されたプロダクトキーと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求するライセンスファイル要求手段と、
該ライセンスファイル要求手段の要求に対して、前記ライセンス管理サーバから発行されたライセンスファイルを取得するライセンスファイル取得手段とを設け、
前記変更要求手段は、前記ライセンスファイル取得手段によって取得したライセンスファイルを前記要求検知手段によって検知された機器指定情報が示す電子機器へ送信し、ソフトウェアのアクティベートを要求する手段を有し、
前記情報更新手段は、前記要求検知手段によって検知されたプロダクトキーを前記記憶手段内の対応するライセンス情報に追加する手段を有することを特徴とする管理装置。
【請求項3】
請求項2に記載の管理装置において、
前記変更要求手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、該プロダクトIDを該機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を有し、
前記情報取得手段は、前記要求検知手段によってソフトウェアのディアクティベート要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトIDと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスの返却を要求するライセンス返却要求手段を設け、
前記情報更新手段は、前記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトIDと前記情報取得手段によって取得した機器固有情報に対応するライセンスキーを前記記憶手段内の対応するライセンス情報から削除する手段を有することを特徴とする管理装置。
【請求項4】
請求項3に記載の管理装置において、
前記変更要求手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート取り消し要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、該機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記要求検知手段によってソフトウェアのディアクティベート取り消し要求と共に検知されたプロダクトIDと前記情報取得手段によって取得した機器固有情報に基づいて、前記記憶手段内の対応するライセンス情報からプロダクトキーを読み込むプロダクトキー読み込み手段を設け、
前記ライセンスファイル要求手段は、前記プロダクトキー読み込み手段によって読み込んだプロダクトキーと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求する手段を有することを特徴とする管理装置。
【請求項5】
請求項3又は4に記載の管理装置において
前記変更要求手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのアクティベート取り消し要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、該プロダクトIDを該機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を有し、
前記情報取得手段は、前記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記ライセンス返却要求手段は、前記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知されたプロダクトIDと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスの返却を要求する手段を有することを特徴とする管理装置。
【請求項6】
請求項3乃至5のいずれか一項に記載の管理装置において、
前記記憶手段内のライセンス情報は、少なくともプロダクトキーと有効期限とからなり、
現在の時刻を取得する時刻取得手段と、
該時刻取得手段によって取得した現在の時刻と前記有効期限とを比較する比較手段と、
該比較手段による比較の結果、前記有効期限を経過しているプロダクトキーに対応するライセンス情報を前記記憶手段から削除する情報削除手段とを設けたことを特徴とする管理装置。
【請求項7】
請求項6に記載の管理装置と通信可能に接続する接続手段を有し、該接続手段によって接続される管理装置と通信可能な電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバであって、
プロダクトキー,プロダクトID,有効期限,未発行ライセンス数,発行済みライセンス数,および前記電子機器の機器固有情報からなるライセンス情報を記憶する記憶手段と、
前記管理装置からライセンスファイルの発行要求と共にプロダクトキーと機器固有情報とを受信した場合に、該プロダクトキーと該機器固有情報とに基づいて、前記ライセンス情報記憶手段内の対応するプロダクトID,機器固有情報,有効期限を含むライセンスファイルを作成して前記管理装置へ送信し、前記記憶手段内の対応する前記未発行ライセンス数を1つ減らすと共に、対応する前記発行済みライセンス数を1つ増やすライセンスファイル発行手段と、
前記管理装置から前記ライセンスの返却要求と共にプロダクトIDと機器固有情報とを受信した場合に、前記記憶手段内の対応する未発行ライセンス数を1つ増やすと共に、対応する発行済みライセンス数を1つ減らすライセンス返却手段とを設けたことを特徴とするライセンス管理サーバ。
【請求項8】
請求項3乃至6のいずれか一項に記載の管理装置と通信可能に接続する接続手段を有し、該接続手段によって接続される管理装置によって管理される電子機器であって、
当該電子機器の機器固有情報を記憶する記憶手段と、
前記管理装置から機器固有情報取得要求を受信した場合に、前記記憶手段内の前記機器固有情報を前記管理装置へ通知する機器固有情報通知手段と、
前記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と前記記憶手段内の前記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、
該機器固有情報判定手段による判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたことを特徴とする電子機器。
【請求項9】
請求項3乃至6のいずれか一項に記載の管理装置と、該管理装置と通信可能に接続する接続手段を有し、該接続手段によって接続される管理装置によって管理される電子機器とを備えた電子機器管理システムであって、
前記電子機器に、
前記管理装置から機器固有情報取得要求を受信した場合に、前記記憶手段内の前記機器固有情報を前記管理装置へ通知する機器固有情報通知手段と、
前記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と前記記憶手段内の前記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、
該機器固有情報判定手段による判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたことを特徴とする電子機器管理システム。
【請求項10】
電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを有し、前記接続手段によって接続される電子機器を管理する管理装置における管理方法であって、
前記電子機器に導入されたソフトウェアの情報を、該電子機器から定期的に取得する情報取得工程と、
該情報取得工程によって取得したソフトウェア情報と前記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知工程と、
該差異検知工程によって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知工程と、
前記情報取得工程によって取得したソフトウェア情報によって前記記憶手段内の対応するソフトウェア情報を更新する情報更新工程と、
前記ユーザからのソフトウェア構成の変更要求を検知する要求検知工程と、
該要求検知工程によってソフトウェア構成の変更要求を検知した場合に、前記記憶手段内の対応するライセンス情報を利用して、前記電子機器へソフトウェア構成の変更を要求する変更要求工程とを有することを特徴とする管理方法。
【請求項11】
電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを有し、前記接続手段によって接続される電子機器を管理する管理装置を制御するコンピュータに、
前記電子機器に導入されたソフトウェアの情報を、該電子機器から定期的に取得する情報取得機能と、
該情報取得機能によって取得したソフトウェア情報と前記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知機能と、
該差異検知機能によって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知機能と、
前記情報取得機能によって取得したソフトウェア情報によって前記記憶手段内の対応するソフトウェア情報を更新する情報更新機能と、
前記ユーザからのソフトウェア構成の変更要求を検知する要求検知機能と、
該要求検知工程によってソフトウェア構成の変更要求を検知した場合に、前記記憶手段内の対応するライセンス情報を利用して、前記電子機器へソフトウェア構成の変更を要求する変更要求機能とを実現させるためのプログラム。
【請求項12】
請求項11に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
電子機器と通信可能に接続する接続手段を有し、該接続手段によって接続される電子機器を管理する管理装置であって、
ソフトウェア情報およびライセンス情報を記憶する記憶手段と、
前記電子機器に導入されたソフトウェアの情報を、該電子機器から定期的に取得する情報取得手段と、
該情報取得手段によって取得したソフトウェア情報と前記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知手段と、
該差異検知手段によって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知手段と、
前記情報取得手段によって取得したソフトウェア情報によって前記記憶手段内の対応するソフトウェア情報を更新する情報更新手段と、
前記ユーザからのソフトウェア構成の変更要求を検知する要求検知手段と、
該要求検知手段によってソフトウェア構成の変更要求を検知した場合に、前記記憶手段内の対応するライセンス情報を利用して、前記電子機器へソフトウェア構成の変更を要求する変更要求手段と、
該変更要求手段による要求の結果を前記ユーザに対して通知する要求結果通知手段とを設けたことを特徴とする管理装置。
【請求項2】
請求項1に記載の管理装置において、
前記接続手段は、前記電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバと通信可能に接続する手段を有し、
前記要求検知手段は、前記ユーザからのソフトウェア構成の変更要求を検知する際に、該ユーザからの指定情報を検知する手段を有し、
前記情報取得手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのアクティベート要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトキーが検知された場合に、該機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記要求検知手段によって検知されたプロダクトキーと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求するライセンスファイル要求手段と、
該ライセンスファイル要求手段の要求に対して、前記ライセンス管理サーバから発行されたライセンスファイルを取得するライセンスファイル取得手段とを設け、
前記変更要求手段は、前記ライセンスファイル取得手段によって取得したライセンスファイルを前記要求検知手段によって検知された機器指定情報が示す電子機器へ送信し、ソフトウェアのアクティベートを要求する手段を有し、
前記情報更新手段は、前記要求検知手段によって検知されたプロダクトキーを前記記憶手段内の対応するライセンス情報に追加する手段を有することを特徴とする管理装置。
【請求項3】
請求項2に記載の管理装置において、
前記変更要求手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、該プロダクトIDを該機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を有し、
前記情報取得手段は、前記要求検知手段によってソフトウェアのディアクティベート要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトIDと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスの返却を要求するライセンス返却要求手段を設け、
前記情報更新手段は、前記要求検知手段によってソフトウェアのディアクティベート要求と共に検知されたプロダクトIDと前記情報取得手段によって取得した機器固有情報に対応するライセンスキーを前記記憶手段内の対応するライセンス情報から削除する手段を有することを特徴とする管理装置。
【請求項4】
請求項3に記載の管理装置において、
前記変更要求手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのディアクティベート取り消し要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、該機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記要求検知手段によってソフトウェアのディアクティベート取り消し要求と共に検知されたプロダクトIDと前記情報取得手段によって取得した機器固有情報に基づいて、前記記憶手段内の対応するライセンス情報からプロダクトキーを読み込むプロダクトキー読み込み手段を設け、
前記ライセンスファイル要求手段は、前記プロダクトキー読み込み手段によって読み込んだプロダクトキーと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスファイルの発行を要求する手段を有することを特徴とする管理装置。
【請求項5】
請求項3又は4に記載の管理装置において
前記変更要求手段は、前記要求検知手段により、前記ソフトウェア構成の変更要求として、ソフトウェアのアクティベート取り消し要求が検知されると共に、前記指定情報として、電子機器の機器指定情報およびプロダクトIDが検知された場合に、該プロダクトIDを該機器指定情報が示す電子機器へ送信し、ソフトウェアのディアクティベートを要求する手段を有し、
前記情報取得手段は、前記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知された機器指定情報が示す電子機器から機器固有情報を取得する手段を有し、
前記ライセンス返却要求手段は、前記要求検知手段によってソフトウェアのアクティベート取り消し要求と共に検知されたプロダクトIDと前記情報取得手段によって取得した機器固有情報とを前記ライセンス管理サーバへ送信し、ライセンスの返却を要求する手段を有することを特徴とする管理装置。
【請求項6】
請求項3乃至5のいずれか一項に記載の管理装置において、
前記記憶手段内のライセンス情報は、少なくともプロダクトキーと有効期限とからなり、
現在の時刻を取得する時刻取得手段と、
該時刻取得手段によって取得した現在の時刻と前記有効期限とを比較する比較手段と、
該比較手段による比較の結果、前記有効期限を経過しているプロダクトキーに対応するライセンス情報を前記記憶手段から削除する情報削除手段とを設けたことを特徴とする管理装置。
【請求項7】
請求項6に記載の管理装置と通信可能に接続する接続手段を有し、該接続手段によって接続される管理装置と通信可能な電子機器に導入された特定のソフトウェアを使用するためのライセンスを管理するライセンス管理サーバであって、
プロダクトキー,プロダクトID,有効期限,未発行ライセンス数,発行済みライセンス数,および前記電子機器の機器固有情報からなるライセンス情報を記憶する記憶手段と、
前記管理装置からライセンスファイルの発行要求と共にプロダクトキーと機器固有情報とを受信した場合に、該プロダクトキーと該機器固有情報とに基づいて、前記ライセンス情報記憶手段内の対応するプロダクトID,機器固有情報,有効期限を含むライセンスファイルを作成して前記管理装置へ送信し、前記記憶手段内の対応する前記未発行ライセンス数を1つ減らすと共に、対応する前記発行済みライセンス数を1つ増やすライセンスファイル発行手段と、
前記管理装置から前記ライセンスの返却要求と共にプロダクトIDと機器固有情報とを受信した場合に、前記記憶手段内の対応する未発行ライセンス数を1つ増やすと共に、対応する発行済みライセンス数を1つ減らすライセンス返却手段とを設けたことを特徴とするライセンス管理サーバ。
【請求項8】
請求項3乃至6のいずれか一項に記載の管理装置と通信可能に接続する接続手段を有し、該接続手段によって接続される管理装置によって管理される電子機器であって、
当該電子機器の機器固有情報を記憶する記憶手段と、
前記管理装置から機器固有情報取得要求を受信した場合に、前記記憶手段内の前記機器固有情報を前記管理装置へ通知する機器固有情報通知手段と、
前記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と前記記憶手段内の前記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、
該機器固有情報判定手段による判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたことを特徴とする電子機器。
【請求項9】
請求項3乃至6のいずれか一項に記載の管理装置と、該管理装置と通信可能に接続する接続手段を有し、該接続手段によって接続される管理装置によって管理される電子機器とを備えた電子機器管理システムであって、
前記電子機器に、
前記管理装置から機器固有情報取得要求を受信した場合に、前記記憶手段内の前記機器固有情報を前記管理装置へ通知する機器固有情報通知手段と、
前記管理装置からソフトウェアのアクティベート要求と共にライセンスファイルを受信した場合に、そのライセンスファイルを構成する機器固有情報と前記記憶手段内の前記機器固有情報とが一致するか否かを判定する機器固有情報判定手段と、
該機器固有情報判定手段による判定の結果、両機器固有情報が一致する場合に、アクティベート処理を行うアクティベート処理手段とを設けたことを特徴とする電子機器管理システム。
【請求項10】
電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを有し、前記接続手段によって接続される電子機器を管理する管理装置における管理方法であって、
前記電子機器に導入されたソフトウェアの情報を、該電子機器から定期的に取得する情報取得工程と、
該情報取得工程によって取得したソフトウェア情報と前記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知工程と、
該差異検知工程によって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知工程と、
前記情報取得工程によって取得したソフトウェア情報によって前記記憶手段内の対応するソフトウェア情報を更新する情報更新工程と、
前記ユーザからのソフトウェア構成の変更要求を検知する要求検知工程と、
該要求検知工程によってソフトウェア構成の変更要求を検知した場合に、前記記憶手段内の対応するライセンス情報を利用して、前記電子機器へソフトウェア構成の変更を要求する変更要求工程とを有することを特徴とする管理方法。
【請求項11】
電子機器と通信可能に接続する接続手段と、ソフトウェア情報およびライセンス情報を記憶する記憶手段とを有し、前記接続手段によって接続される電子機器を管理する管理装置を制御するコンピュータに、
前記電子機器に導入されたソフトウェアの情報を、該電子機器から定期的に取得する情報取得機能と、
該情報取得機能によって取得したソフトウェア情報と前記記憶手段に記憶されているソフトウェア情報とを比較し、その各ソフトウェア情報の差異を検知する差異検知機能と、
該差異検知機能によって差異を検知した場合に、ソフトウェア構成の変更検知をユーザに対して通知する変更検知通知機能と、
前記情報取得機能によって取得したソフトウェア情報によって前記記憶手段内の対応するソフトウェア情報を更新する情報更新機能と、
前記ユーザからのソフトウェア構成の変更要求を検知する要求検知機能と、
該要求検知工程によってソフトウェア構成の変更要求を検知した場合に、前記記憶手段内の対応するライセンス情報を利用して、前記電子機器へソフトウェア構成の変更を要求する変更要求機能とを実現させるためのプログラム。
【請求項12】
請求項11に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【公開番号】特開2012−8927(P2012−8927A)
【公開日】平成24年1月12日(2012.1.12)
【国際特許分類】
【出願番号】特願2010−146266(P2010−146266)
【出願日】平成22年6月28日(2010.6.28)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成24年1月12日(2012.1.12)
【国際特許分類】
【出願日】平成22年6月28日(2010.6.28)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]