(57)【特許請求の範囲】
【請求項１】
ユーザ操作を受け付ける操作手段と、
プラグインを管理するプラグイン管理手段と、
ユーザを識別するユーザ識別情報と、前記プラグイン管理手段に管理される所定のプラグインの使用を許可するためのユーザライセンス情報とを関連付けて保持するユーザ情報管理手段から該ユーザ識別情報と該ユーザライセンス情報とを取得するユーザ情報取得手段と、
前記プラグインに対するアクティベーションを制御するアクティベーション制御手段と、
前記ユーザ情報取得手段に取得された前記ユーザ識別情報と、前記ユーザ操作によって入力されたユーザ識別情報とを照合してユーザのログイン処理を行う照合手段と、
前記プラグイン管理手段に管理される所定のプラグインの使用を許可するための、ユーザを区別しないライセンス情報に対して前記ユーザ識別情報を関連付けて前記ユーザライセンス情報を発行するユーザライセンス発行手段と
を有し、
前記アクティベーション制御手段は、
前記ログイン処理が成功した場合に、該ログイン処理を行ったユーザの前記ユーザ識別情報に関連付けられた前記ユーザライセンス情報に対応する前記所定のプラグインに対してアクティベートを実施し、該ログイン処理に対するログアウト処理を行った際に、該所定のプラグインに対してディアクティベートを実施し、
前記ユーザ情報取得手段は、
前記ユーザライセンス発行手段で発行された前記ユーザライセンス情報と、該ユーザライセンス情報に関連付けられた前記ユーザ情報とを前記ユーザ情報管理手段から取得する
ことを特徴とする情報処理装置。
【請求項２】
前記ユーザを区別しないライセンス情報は、利用可能なユーザ数の上限を示す人数制限情報を含み、
前記ユーザライセンス発行手段は、
前記操作手段に対するユーザ操作により選択された、前記ユーザを区別しないライセンス情報に含まれる前記人数制限情報に示されるユーザ数以下の数のユーザに対してそれぞれ前記ユーザライセンス情報を発行する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ネットワークを介して通信を行う通信手段をさらに有し、
前記プラグイン管理手段は、
前記アクティベーション制御手段が前記ログイン処理が成功して前記アクティベートを実施する際に、該ログイン処理を行ったユーザの前記ユーザ識別情報に関連付けられた前記ユーザライセンス情報に対応する前記所定のプラグインがインストールされていない場合に、前記ネットワークに接続されるプラグインサーバから該所定のプラグインをダウンロードしてインストールし、
前記アクティベーション制御手段は、
前記ダウンロードされた前記所定のプラグインに対して前記アクティベートを実施する
ことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記プラグイン管理手段は、
前記操作手段に対するユーザ操作により、前記ユーザライセンス情報の移管元である移管元ユーザと、移管先である移管先ユーザとが指定された場合に、
前記ユーザ情報取得手段に対して該移管元ユーザの前記ユーザ情報と、該移管元ユーザのユーザ情報に関連付けられた前記ユーザライセンス情報と、該移管先ユーザの前記ユーザ情報との取得を要求し、要求に応じて該ユーザ情報取得手段により取得された該ユーザライセンス情報を破棄すると共に、前記ユーザ情報取得手段に対して、該ユーザライセンス情報の破棄が反映された該移管元ユーザのユーザ情報を登録するように要求し、
該破棄したユーザライセンス情報を該移管先ユーザに発行するように、前記ユーザライセンス発行手段に要求し、要求に応じて発行された該ユーザライセンス情報に対して該移管先ユーザのユーザ情報を関連付けて前記ユーザ情報管理手段に登録するように、前記ユーザ情報取得手段に要求する
ことを特徴とする請求項１乃至請求項３の何れか１項に記載の情報処理装置。
【請求項５】
前記ユーザライセンス情報は、有効期限を示す有効期限情報を含み、
前記アクティベーション制御手段は、
前記ログイン処理が成功した時点の日時が前記所定のプラグインに対応する前記ユーザライセンス情報に含まれる前記有効期限情報に示される有効期限を過ぎている場合に、該所定のプラグインに対するアクティベートを実施しない
ことを特徴とする請求項１乃至請求項４の何れか１項に記載の情報処理装置。
【請求項６】
前記ユーザ情報管理手段をさらに有する
ことを特徴とする請求項１乃至請求項５の何れか１項に記載の情報処理装置。
【請求項７】
ネットワークを介して通信を行う通信手段をさらに有し、
前記ユーザ情報取得手段は、
前記ネットワークを介して接続された、前記ユーザ情報管理手段を有するユーザ情報管理サーバから、前記ユーザ識別情報および前記ユーザライセンス情報を取得する
ことを特徴とする請求項１乃至請求項５の何れか１項に記載の情報処理装置。
【請求項８】
操作手段が、ユーザ操作を受け付ける操作ステップと、
プラグイン管理手段が、プラグインを管理するプラグイン管理ステップと、
ユーザ情報取得手段が、ユーザを識別するユーザ識別情報と、前記プラグイン管理ステップに管理される所定のプラグインの使用を許可するためのユーザライセンス情報とを関連付けて保持するユーザ情報管理手段から該ユーザ識別情報と該ユーザライセンス情報とを取得するユーザ情報取得ステップと、
アクティベーション制御手段が、前記プラグインに対するアクティベーションを制御するアクティベーション制御ステップと、
照合手段が、前記ユーザ情報取得ステップにより取得された前記ユーザ識別情報と、前記ユーザ操作によって入力されたユーザ識別情報とを照合してユーザのログイン処理を行う照合ステップと、
ユーザライセンス発行手段が、前記プラグイン管理ステップに管理される所定のプラグインの使用を許可するための、ユーザを区別しないライセンス情報に対して前記ユーザ識別情報を関連付けて前記ユーザライセンス情報を発行するユーザライセンス発行ステップと
を有し、
前記アクティベーション制御ステップは、
前記ログイン処理が成功した場合に、該ログイン処理を行ったユーザの前記ユーザ識別情報に関連付けられた前記ユーザライセンス情報に対応する前記所定のプラグインに対してアクティベートを実施し、該ログイン処理に対するログアウト処理を行った際に、該所定のプラグインに対してディアクティベートを実施し、
前記ユーザ情報取得ステップは、
前記ユーザライセンス発行ステップで発行された前記ユーザライセンス情報と、該ユーザライセンス情報に関連付けられた前記ユーザ情報とを前記ユーザ情報管理手段から取得する
ことを特徴とする情報処理方法。
【請求項９】
ユーザ操作を受け付ける操作ステップと、
プラグインを管理するプラグイン管理ステップと、
ユーザを識別するユーザ識別情報と、前記プラグイン管理ステップに管理される所定のプラグインの使用を許可するためのユーザライセンス情報とを関連付けて保持するユーザ情報管理手段から該ユーザ識別情報と該ユーザライセンス情報とを取得するユーザ情報取得ステップと、
前記プラグインに対するアクティベーションを制御するアクティベーション制御ステップと、
前記ユーザ情報取得ステップにより取得された前記ユーザ識別情報と、前記ユーザ操作によって入力されたユーザ識別情報とを照合してユーザのログイン処理を行う照合ステップと、
前記プラグイン管理ステップに管理される所定のプラグインの使用を許可するための、ユーザを区別しないライセンス情報に対して前記ユーザ識別情報を関連付けて前記ユーザライセンス情報を発行するユーザライセンス発行ステップと
を有し、
前記アクティベーション制御ステップは、
前記ログイン処理が成功した場合に、該ログイン処理を行ったユーザの前記ユーザ識別情報に関連付けられた前記ユーザライセンス情報に対応する前記所定のプラグインに対してアクティベートを実施し、該ログイン処理に対するログアウト処理を行った際に、該所定のプラグインに対してディアクティベートを実施し、
前記ユーザ情報取得ステップは、
前記ユーザライセンス発行ステップで発行された前記ユーザライセンス情報と、該ユーザライセンス情報に関連付けられた前記ユーザ情報とを前記ユーザ情報管理手段から取得する情報処理方法をコンピュータに実行させるためのプログラム。
【請求項１０】
情報処理装置と、該情報処理装置とネットワークを介して接続されるユーザ情報管理サーバと、ライセンス管理サーバとを備えるライセンス管理システムであって、
前記ユーザ情報管理サーバは、
ユーザを識別するユーザ識別情報と、前記情報処理装置に管理される所定のプラグインの使用を許可するためのユーザライセンス情報とを関連付けて保持するユーザ情報管理手段を有し、
前記情報処理装置は、
ユーザ操作を受け付ける操作手段と、
プラグインを管理するプラグイン管理手段と、
前記ユーザ情報管理手段から該ユーザ識別情報と該ユーザライセンス情報とを取得するユーザ情報取得手段と、
前記プラグインに対するアクティベーションを制御するアクティベーション制御手段と、
前記ユーザ情報取得手段に取得された前記ユーザ識別情報と、前記ユーザ操作によって入力されたユーザ識別情報とを照合してユーザのログイン処理を行う照合手段と、
前記ユーザを区別しないライセンス情報に対して前記ユーザ識別情報を関連付けて前記ユーザライセンス情報を発行するユーザライセンス発行手段と
を有し、
前記ライセンス管理サーバは、
前記プラグイン管理手段に管理される所定のプラグインの使用を許可するための、ユーザを区別しないライセンス情報を発行するライセンス発行手段を有し、
前記アクティベーション制御手段は、
前記ログイン処理が成功した場合に、該ログイン処理を行ったユーザの前記ユーザ識別情報に関連付けられた前記ユーザライセンス情報に対応する前記所定のプラグインに対してアクティベートを実施し、該ログイン処理に対するログアウト処理を行った際に、該所定のプラグインに対してディアクティベートを実施し、
前記ユーザ情報取得手段は、
前記ユーザライセンス発行手段で発行された前記ユーザライセンス情報と、該ユーザライセンス情報に関連付けられた前記ユーザ情報とを前記ユーザ情報管理手段から取得する
ことを特徴とするライセンス管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのライセンス管理を行う情報処理装置、情報処理方法およびプログラム、ならびに、ライセンス管理システムに関する。
【背景技術】
【０００２】
ネットワークに接続された機器上で動作するプログラムには、ライセンス管理サーバからライセンスを取得することによって動作可能となるものがある。このようなライセンス形態は、一般的にはフローティングライセンスと呼ばれ、ライセンス管理サーバによって、ネットワークで接続された各機器におけるプログラムの利用を管理する。
【０００３】
また、例えば印刷機能、スキャナ機能、コピー機能およびファクス機能など複数の機能を１台の機器で実現する複合機において、プログラムを追加してインストールすることで、新たな機能を追加できるようにする技術が開発されている。このような、追加インストールすることで機器に対して新たな機能を追加するためのプログラムを、プラグインプログラム（以下、プラグインと略称する）と呼ぶ。このような複合機において、ライセンスを当該複合機に対して発行することで、インストールしたプラグインを利用できるようにした技術が既に知られている。
【０００４】
特許文献１には、複合機のプラグインアプリケーションをユーザ毎にカスタマイズする目的で、ユーザのログイン／ログアウトに合わせてインストール／アンインストールする構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の複合機におけるプラグインのライセンス管理システムおよびライセンス供給方法では、下記のような問題があった。
【０００６】
ある機能を使用するか否かは、機器個体の特性よりも、ユーザのスキルや利用目的に依存するところが大きいと考えられる。ユーザが複数の複合機を利用する環境であり、且つ、ユーザが利用したい機能がプラグインで実現されるものであった場合、ユーザが利用する全ての機器にそのプラグインがインストールされ、ライセンスが発行されている必要がある。しかしながら、この形態では、ライセンス購入のコストが余分にかかってしまうという問題点があった。
【０００７】
また、特許文献１では、プラグインをユーザ毎にカスタマイズ可能としているため、各ユーザは、ユーザのスキルや利用目的にあったプラグインを利用することができる。しかしながら、特許文献１では、ユーザのログインおよびログアウト毎にプラグインのインストールおよびアンインストールを実行しており、処理時間やネットワーク負荷などに無駄が生じるという問題点があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、ユーザ単位でのプラグイン管理を容易に行うことを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、ユーザ操作を受け付ける操作手段と、プラグインを管理するプラグイン管理手段と、ユーザを識別するユーザ識別情報と、プラグイン管理手段に管理される所定のプラグインの使用を許可するためのユーザライセンス情報とを関連付けて保持するユーザ情報管理手段からユーザ識別情報とユーザライセンス情報とを取得するユーザ情報取得手段と、プラグインに対するアクティベーションを制御するアクティベーション制御手段と、ユーザ情報取得手段に取得されたユーザ識別情報と、ユーザ操作によって入力されたユーザ識別情報とを照合してユーザのログイン処理を行う照合手段と、プラグイン管理手段に管理される所定のプラグインの使用を許可するための、ユーザを区別しないライセンス情報に対してユーザ識別情報を関連付けてユーザライセンス情報を発行するユーザライセンス発行手段とを有し、アクティベーション制御手段は、ログイン処理が成功した場合に、ログイン処理を行ったユーザのユーザ識別情報に関連付けられたユーザライセンス情報に対応する所定のプラグインに対してアクティベートを実施し、ログイン処理に対するログアウト処理を行った際に、所定のプラグインに対してディアクティベートを実施し、ユーザ情報取得手段は、ユーザライセンス発行手段で発行されたユーザライセンス情報と、ユーザライセンス情報に関連付けられたユーザ情報とをユーザ情報管理手段から取得することを特徴とする。
【００１０】
また、本発明は、操作手段が、ユーザ操作を受け付ける操作ステップと、プラグイン管理手段が、プラグインを管理するプラグイン管理ステップと、ユーザ情報取得手段が、ユーザを識別するユーザ識別情報と、プラグイン管理ステップに管理される所定のプラグインの使用を許可するためのユーザライセンス情報とを関連付けて保持するユーザ情報管理手段からユーザ識別情報とユーザライセンス情報とを取得するユーザ情報取得ステップと、アクティベーション制御手段が、プラグインに対するアクティベーションを制御するアクティベーション制御ステップと、照合手段が、ユーザ情報取得ステップにより取得されたユーザ識別情報と、ユーザ操作によって入力されたユーザ識別情報とを照合してユーザのログイン処理を行う照合ステップと、ユーザライセンス発行手段が、プラグイン管理ステップに管理される所定のプラグインの使用を許可するための、ユーザを区別しないライセンス情報に対してユーザ識別情報を関連付けてユーザライセンス情報を発行するユーザライセンス発行ステップとを有し、アクティベーション制御ステップは、ログイン処理が成功した場合に、ログイン処理を行ったユーザのユーザ識別情報に関連付けられたユーザライセンス情報に対応する所定のプラグインに対してアクティベートを実施し、ログイン処理に対するログアウト処理を行った際に、所定のプラグインに対してディアクティベートを実施し、ユーザ情報取得ステップは、ユーザライセンス発行ステップで発行されたユーザライセンス情報と、ユーザライセンス情報に関連付けられたユーザ情報とをユーザ情報管理手段から取得することを特徴とする。
【００１１】
また、本発明は、ユーザ操作を受け付ける操作ステップと、プラグインを管理するプラグイン管理ステップと、ユーザを識別するユーザ識別情報と、プラグイン管理ステップに管理される所定のプラグインの使用を許可するためのユーザライセンス情報とを関連付けて保持するユーザ情報管理手段からユーザ識別情報とユーザライセンス情報とを取得するユーザ情報取得ステップと、プラグインに対するアクティベーションを制御するアクティベーション制御ステップと、ユーザ情報取得ステップにより取得されたユーザ識別情報と、ユーザ操作によって入力されたユーザ識別情報とを照合してユーザのログイン処理を行う照合ステップと、プラグイン管理ステップに管理される所定のプラグインの使用を許可するための、ユーザを区別しないライセンス情報に対してユーザ識別情報を関連付けてユーザライセンス情報を発行するユーザライセンス発行ステップとを有し、アクティベーション制御ステップは、ログイン処理が成功した場合に、ログイン処理を行ったユーザのユーザ識別情報に関連付けられたユーザライセンス情報に対応する所定のプラグインに対してアクティベートを実施し、ログイン処理に対するログアウト処理を行った際に、所定のプラグインに対してディアクティベートを実施し、ユーザ情報取得ステップは、ユーザライセンス発行ステップで発行されたユーザライセンス情報と、ユーザライセンス情報に関連付けられたユーザ情報とをユーザ情報管理手段から取得する情報処理方法をコンピュータに実行させることを特徴とする。
【００１２】
また、本発明は、情報処理装置と、情報処理装置とネットワークを介して接続されるユーザ情報管理サーバと、ライセンス管理サーバとを備えるライセンス管理システムであって、ユーザ情報管理サーバは、ユーザを識別するユーザ識別情報と、情報処理装置に管理される所定のプラグインの使用を許可するためのユーザライセンス情報とを関連付けて保持するユーザ情報管理手段を有し、情報処理装置は、ユーザ操作を受け付ける操作手段と、プラグインを管理するプラグイン管理手段と、ユーザ情報管理手段からユーザ識別情報とユーザライセンス情報とを取得するユーザ情報取得手段と、プラグインに対するアクティベーションを制御するアクティベーション制御手段と、ユーザ情報取得手段に取得されたユーザ識別情報と、ユーザ操作によって入力されたユーザ識別情報とを照合してユーザのログイン処理を行う照合手段と、ユーザを区別しないライセンス情報に対してユーザ識別情報を関連付けてユーザライセンス情報を発行するユーザライセンス発行手段とを有し、ライセンス管理サーバは、プラグイン管理手段に管理される所定のプラグインの使用を許可するための、ユーザを区別しないライセンス情報を発行するライセンス発行手段を有し、アクティベーション制御手段は、ログイン処理が成功した場合に、ログイン処理を行ったユーザのユーザ識別情報に関連付けられたユーザライセンス情報に対応する所定のプラグインに対してアクティベートを実施し、ログイン処理に対するログアウト処理を行った際に、所定のプラグインに対してディアクティベートを実施し、ユーザ情報取得手段は、ユーザライセンス発行手段で発行されたユーザライセンス情報と、ユーザライセンス情報に関連付けられたユーザ情報とをユーザ情報管理手段から取得することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ユーザ単位でのプラグイン管理を容易に行うことが可能となるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の第１の実施形態に適用可能なライセンス管理システムの機能を説明するための一例の機能ブロック図である。
【図２】図２は、システムにログインしたユーザに対するユーザライセンス発行処理の例を示すシーケンス図である。
【図３】図３は、ユーザ選択画面の一例を示す略線図である。
【図４】図４は、ユーザライセンスの発行について説明するための略線図である。
【図５】図５は、本発明の第１の実施形態によるプラグインのアクティベーション処理の例を示すシーケンス図である。
【図６】図６は、本発明の第２の実施形態によるライセンス管理システムの機能を説明するための一例の機能ブロック図である。
【図７】図７は、本発明の第２の実施形態によるユーザライセンス発行処理を示す一例のシーケンス図である。
【図８】図８は、本発明の第２の実施形態によるプラグインのアクティベーション処理の例を示すシーケンス図である。
【図９】図９は、本発明の第２の実施形態による、機器がプラグインサーバからプラグインをダウンロードする処理を示す一例のシーケンス図である。
【図１０】図１０は、ダウンロード画面の一例を示す略線図である。
【図１１】図１１は、本発明の第２の実施形態による、ユーザライセンスの移管処理を示す一例のシーケンス図である。
【図１２】図１２は、本発明の第３の実施形態に適用可能なソフトウェア配信システムの一例のネットワーク構成図である。
【図１３】図１３は、本第３の実施形態に適用可能な複合機の機能的構成の例を示すブロック図である。
【図１４】図１４は、複合機のハードウェア構成の例を示すブロック図である。
【図１５】図１５は、本発明の第３の実施形態の変形例によるソフトウェア配信システムの一例のネットワーク構成図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、本発明に係るライセンス管理システムの実施形態について詳細に説明する。本発明は、例えば複合機に対して機能を追加するためのプラグインプログラム（以下、プラグインと略記する）について、ライセンスを持つユーザのログイン時にアクティベートを実施し、当該ユーザのログアウト時にディアクティベートを実施する。
【００１６】
＜第１の実施形態＞
先ず、本発明の第１の実施形態について説明する。図１は、本第１の実施形態に適用可能なライセンス管理システム１の機能を説明するための一例の機能ブロック図である。本第１の実施形態によるライセンス管理システム１は、ネットワーク１０に対してライセンス管理サーバ２０およびユーザ情報管理サーバ３０、ならびに、１または複数の機器４０、４０、…が、互いに通信可能に接続されて構成される。
【００１７】
ライセンス管理サーバ２０およびユーザ情報管理サーバ３０は、それぞれ一般的な構成を有するコンピュータを適用することができる。すなわち、ライセンス管理サーバ２０およびユーザ情報管理サーバ３０は、それぞれＣＰＵ(Central Processing Unit)、ＲＡＭ(Random Access Memory)およびＲＯＭ(Read Only Memory)などを有すると共に、ハードディスクドライブといった、データを蓄積可能な記憶媒体を有する。
【００１８】
第１の実施形態における情報処理装置としての機器４０は、プログラムを追加してインストールすることで機能を追加可能とされる。このように、機器に機能を追加するためにインストールされるプログラムを、プラグインプログラム（以下、プラグインと略称する）と呼ぶ。機器４０としては、例えば印刷機能、スキャナ機能、コピー機能およびファクス機能など複数の機能を１台の機器で実現する複合機を適用することができる。これに限らず、機器４０は、ネットワーク１０に接続可能で、プラグインをインストール可能な電子機器であれば、他の種類の電子機器を適用することも可能である。
【００１９】
ライセンス管理サーバ２０は、プラグインに対するユーザ単位でのライセンス（ユーザライセンスと呼ぶ）の発行を実施するユーザライセンス発行部２１を含み、プラグインに対するユーザライセンスの発行を行う。ライセンス管理サーバ２０は、機器４０、４０、…からのネットワーク１０を介した要求に応じて、プラグインに対するユーザライセンスの発行を実施する。また、ライセンス管理サーバ２０は、プラグインを示す情報と、当該プラグインに対するライセンスを示すライセンス情報とを関連付けて保持する。
【００２０】
ユーザ情報管理サーバ３０は、ユーザ情報管理データベース（ＤＢ）３１を含み、機器４０、４０、…を利用するユーザに関するユーザ情報を一元的に保持する。ユーザ情報管理ＤＢ３１は、機器４０からネットワーク１０を介してなされた要求に応じて、ユーザ情報の検索、登録、更新、削除などを行う。
【００２１】
ユーザ情報は、例えば、ユーザを識別するユーザＩＤと、例えばシステムにログインする際にユーザＩＤと組み合わせて用いるパスワードとを含む。また、ユーザ情報は、そのユーザ情報に示されるユーザに対して発行された、所定のプラグインの使用を許可するためのユーザライセンスと、当該所定のプラグインを識別するための情報とを含むことができる。さらに、ユーザ情報は、ユーザの氏名および登録番号といったその他の属性情報を含むことができる。
【００２２】
機器４０は、制御部４１、アクティベーション制御部４２、ユーザライセンス保持部４３、プラグイン管理部４４、ユーザ情報取得部４５、機器認証部４６および操作部４７を含む。
【００２３】
操作部４７は、図示は省略するが、ＬＣＤ(Liquid Crystal Display)などの表示素子を用いた表示部と、ユーザ入力を受け付ける入力部とを含む。操作部４７は、表示部と入力部とが一体的に構成され、押圧位置に応じた信号を出力する、所謂タッチパネルを用いることができる。
【００２４】
制御部４１は、所定のプログラムに従い機器４０の動作を制御する。例えば、制御部４１は、操作部４７における表示パネルに表示させるための表示制御信号を生成して操作部４７に供給すると共に、操作部４７に対するユーザ操作に応じて操作部４７から供給される信号に従い、機器４０の各部を制御する。この、制御部４１による操作部４７の表示パネルへの表示と、操作部４７に対するユーザ操作に応じた制御とにより、機器４０のＵＩ(User Interface)が実現される。
【００２５】
ユーザ情報取得部４５は、当該機器４０を利用するユーザのユーザ情報を管理する。例えば、ユーザ情報取得部４５は、ネットワーク１０を介してユーザ情報管理サーバ３０にアクセスし、ユーザ情報ＤＢ３１に対してユーザ情報の取得、登録、更新、削除などを要求する。
【００２６】
なお、図１の例では、ユーザ情報を保持するユーザ情報管理ＤＢ３１が、機器４０、４０、…に対してネットワーク１０を介して接続されるユーザ情報管理サーバ３０に含まれるように示されている。この場合には、複数の機器４０、４０、…でユーザ情報を共有することができる。これはこの例に限定されず、ユーザ情報管理ＤＢ３１は、機器４０内部に例えばアドレス帳として含むように構成することもできる。この場合には、当該機器４０を利用するユーザに限定的に、ユーザ情報が管理されることになる。
【００２７】
以下では、ユーザ情報管理ＤＢ３１は、機器４０に対してネットワーク１０を介して接続されるユーザ情報管理サーバ３０に含まれるものとして説明する。
【００２８】
機器認証部４６は、操作部４７に対するユーザ操作で入力されるログイン情報に基づき、ログインしたユーザの認証処理を行い、認証が成功した場合に、そのユーザに対してシステムの所定の機能の利用を許可する。
【００２９】
プラグイン管理部４４は、機器４０にインストールされている各プラグインの管理を行う。例えば、プラグイン管理部４４は、インストール済みの各プラグインについて、名称やその他の属性情報、ライセンス情報などのプラグイン情報を保持すると共に、当該各プラグインの状態を管理する。プラグインの状態は、例えばそのプラグインのアクティベーションの状態を含む。
【００３０】
アクティベーション制御部４２は、インストールされているプラグインのアクティベーションの状態、すなわち当該プラグインが有効化されているか無効化されているかを取得する。また、アクティベーション制御部４２は、インストールされているプラグインに対して、アクティベート（有効化）処理およびディアクティベート（無効化）処理を実行する。
【００３１】
ユーザライセンス保持部４３は、ユーザがシステムにログインしている間、当該ユーザに与えられているユーザライセンスを示すユーザライセンス情報を保持する。ユーザライセンス保持部４３は、省略することができる。
【００３２】
次に、本第１の実施形態による各種処理について説明する。図２は、システムにログインしたユーザに対するユーザライセンス発行処理の例を示すシーケンス図である。なお、この図２に例示される処理に先立って、所定のプラグインの利用を許可するためのライセンスキーが、ユーザに対して予め発行されているものとする。ライセンスキーは、例えばアルファベットおよび数字の組み合わせによる所定の文字数の文字列からなる。
【００３３】
先ず、操作部４７に対するユーザ操作により、機器４０にインストール済みのプラグインのうち、ディアクティベート状態（使用不可状態）のプラグインの情報が要求される。このプラグイン情報の要求は、操作部４７から制御部４１に供給されて、制御部４１からプラグイン管理部４４に渡される（ＳＥＱ１００）。プラグイン管理部４４は、制御部４１から渡された要求に応じて、ディアクティベート状態のプラグインを示すプラグイン情報を制御部４１に返す（ＳＥＱ１０１）。
【００３４】
プラグイン管理部４４からプラグイン情報が返されると、制御部４１は、当該プラグイン情報に示されるプラグインを使用するユーザを選択する画面を、操作部４７の表示部に表示させる。
【００３５】
例えば、制御部４１は、ユーザ情報取得部４５に対して、登録されているユーザの一覧情報を要求する（ＳＥＱ１０２）。ユーザ情報取得部４５は、この要求に応じて、ネットワーク１０を介してユーザ情報管理サーバ３０にアクセスし、ユーザ情報管理ＤＢ３１に対してユーザ情報を要求する（ＳＥＱ１０３）。この要求に応じてユーザ情報管理ＤＢ３１から出力されたユーザ情報は、ネットワーク１０を介して機器４０に送信され、ユーザ情報取得部４５に受け取られる（ＳＥＱ１０４）。ユーザ情報取得部４５は、受け取ったユーザ情報から、当該ユーザ情報が例えばリスト状に並べられたユーザ一覧情報を作成し、制御部４１に渡す（ＳＥＱ１０５）。
【００３６】
制御部４１は、ユーザ情報取得部４５から受け取ったユーザ一覧情報に基づき、ユーザ選択画面を作成する。図３は、ユーザ選択画面６０の一例を示す。図３の例では、表示領域６１に対して、登録済みのユーザのユーザ名およびユーザＩＤが表示される。操作部４７の入力部に対するユーザ操作により、表示領域６１に表示されるユーザから、１または複数のユーザを選択することができる。「ＯＫ」ボタン６２は、選択されたユーザを確定して、処理を次に進める。「キャンセル」ボタン６３は、ユーザ選択処理をキャンセルする。
【００３７】
プラグインを使用するユーザが選択された後、操作部４７に対するユーザ操作により、ユーザ選択画面６０で「ＯＫ」ボタン６２が操作されると、操作部４７の表示部に、ＳＥＱ１０１で取得されたプラグイン情報に示されるプラグインに対するライセンスキーを入力するための入力画面を表示させる。ユーザ操作によって操作部４７から入力されたライセンスキーと、当該ライセンスキーに対応するプラグインを示す情報は、ユーザ選択画面６０で選択されたユーザのユーザＩＤと共に、制御部４１を介してプラグイン管理部４４に渡される（ＳＥＱ１０６）。
【００３８】
プラグイン管理部４４は、制御部４１からユーザＩＤと、ライセンスキーおよび当該ライセンスキーに対応するプラグインを示す情報（例えばプラグインの名称）とを、ネットワーク１０を介してライセンス管理サーバ２０に送信し、ライセンス管理サーバ２０に対してユーザライセンスを要求する（ＳＥＱ１０７）。この要求は、ライセンス管理サーバ２０内のユーザライセンス発行部２１に渡される（図示しない）。ユーザライセンス発行部２１は、渡されたライセンスキーと、当該ライセンスキーに対応するプラグインを示す情報とに基づき、当該ライセンスキーが正当なものであるか否かを検証する（ステップＳ１００）。
【００３９】
ライセンス管理サーバ２０は、ステップＳ１００での検証の結果、当該ライセンスキーが正当なものであると判定したら、制御部４１から送信されたユーザＩＤのそれぞれに対して、ＳＥＱ１０７で送信されたライセンスキーに対応するプラグインの使用を、ユーザ単位で許可するためのユーザライセンスを発行する。このとき、ライセンス発行部２１は、制御部４１から複数のユーザＩＤが送信された場合は、これら複数のユーザＩＤそれぞれに対してユーザライセンスを発行する。発行されたユーザライセンスを示すユーザライセンス情報は、ネットワーク１０を介して機器４０に対して送信され（ＳＥＱ１０８）、プラグイン管理部４４に受信される。
【００４０】
ユーザライセンスの発行について、図４を用いてより具体的に説明する。図４（ａ）は、ライセンス情報の例を示す。この例では、ライセンス情報７０は、プラグイン名と、このライセンス情報７０によるライセンスの有効期間と、ライセンスＩＤ（ライセンスキー）と、このライセンス情報７０によるライセンスでプラグインを使用可能とできる人数の上限（人数制限）のそれぞれを示す情報が含まれる。図４（ａ）の例では、プラグイン名が「ｃｏｐｙ」、有効期限が「２０１０年１月１日」、ライセンスキーが「ｄｊａｆｌｊｄｉ」とされている。
【００４１】
また、図４（ａ）の例では、人数制限により、このライセンスを利用できる上限の人数が３人とされている。このライセンスに対する人数制限は、本第１の実施形態では省略することができる。すなわち、本第１の実施形態では、ライセンス発行部２２は、依頼された数に応じてユーザライセンスを発行することができる。
【００４２】
ライセンス管理サーバ２０は、ＳＥＱ１０７で機器４０からライセンスキーと共に送信されたプラグインを示す情報に基づき、当該プラグインを示す情報に対応するライセンス情報７０をライセンス管理サーバ２０内に保持しているライセンス情報から取得する。そして、機器４０から送信されたライセンスキーと、ライセンス管理サーバ２０内から取得したライセンス情報７０に含まれるライセンスキーとを比較する。比較の結果、両者が一致した場合に、機器４０からライセンスキーと共に送信されたユーザＩＤ（「ａｂｃ」とする）と、ライセンス情報７０に含まれるライセンスキーとを関連付けて、ユーザライセンスを発行する。
【００４３】
図４（ｂ）は、ユーザライセンスを示すユーザライセンス情報７１の一例を示す。この例では、ユーザライセンス情報７１において、ユーザＩＤ「ａｂｃ」と、ライセンス情報７０に含まれるライセンスキーと同一のユーザライセンスキー「ｄｊａｆｌｊｄｉ」とが関連付けられている。また、ユーザライセンス情報７１は、ライセンス情報７０と同様に、プラグイン名および有効期限をさらに含む。有効期限は、ライセンス情報７０に含まれる有効期限と同一の値が用いられる。
【００４４】
なお、ライセンス管理サーバ２０は、ユーザライセンスの発行に際して、１のプラグインに対して、当該プラグインのライセンス情報に示される人数制限を超えるユーザ数に対するユーザライセンスが要求された場合には、エラーとして処理することができる。この場合、ライセンス管理サーバ２０は、人数制限を超えた旨を示すエラー情報を、ネットワーク１０を介して機器４０に送信する。
【００４５】
プラグイン管理部４４は、ライセンス管理サーバ２０からユーザライセンス情報を受信すると、ユーザ情報取得部４５に対して、ユーザ情報管理ＤＢ３１に登録されるユーザ情報の更新を要求する（ＳＥＱ１０９）。この要求に従い、ユーザ情報取得部４５は、ユーザ情報管理ＤＢ３１に対し、当該ユーザライセンス情報を、当該ユーザライセンス情報に関連付けられたユーザのユーザ情報に対して登録し、当該ユーザ情報を更新する（ＳＥＱ１１０）。
【００４６】
次に、ユーザのログインをきっかけとしたプラグインのアクティベーションについて説明する。図５は、本第１の実施形態によるプラグインのアクティベーション処理の例を示すシーケンス図である。
【００４７】
先ず、ログイン時の処理について説明する。操作部４７に対するユーザ操作により、例えばユーザＩＤおよびパスワードからなるログイン情報が入力される。このログイン情報は、操作部４７から制御部４１を介して機器認証部４６に渡される（ＳＥＱ２００）。機器認証部４６は、制御部４１から受け取ったこのログイン情報に基づき、ユーザ認証を行う（ステップＳ２０）。
【００４８】
例えば、機器認証部４６は、操作部４１から受け取ったログイン情報に対応するユーザ情報を、ユーザ情報取得部４５に対して要求する（ＳＥＱ２０１）。ユーザ情報取得部４５は、当該ユーザ情報を、ネットワーク１０を介してユーザ情報管理ＤＢ３１から取得する（ＳＥＱ２０２、ＳＥＱ２０３）。取得されたユーザ情報は、機器認証部４６に渡される（ＳＥＱ２０４）。機器認証部４６は、ステップＳ２０の認証処理において、操作部４７から入力されたログイン情報と、ユーザ情報管理ＤＢ３１から送信されたユーザ情報とを比較し、それぞれに含まれるユーザＩＤおよびパスワードの組み合わせが一致する場合に、ユーザを認証する。
【００４９】
ユーザの認証がなされると、機器認証部４６は、認証結果を制御部４１に通知する（ＳＥＱ２０５）と共に、プラグイン管理部４４に対して、例えばログイン情報を渡してユーザのログインを通知する（ＳＥＱ２０６）。
【００５０】
制御部４１は、機器認証部４６から通知された認証結果がユーザ認証の成功を示している場合に、利用可能なプラグインの確認をプラグイン管理部４４に対して要求する（ＳＥＱ２０７）。なお、制御部４１は、認証結果がユーザ認証の失敗を示している場合は、何も行わない。これに限らず、制御部４１は、操作部４７の表示部に対してその旨示すメッセージを表示させるようにしてもよい。
【００５１】
プラグイン管理部４４は、ＳＥＱ２０７の要求に応じて、上述のＳＥＱ２０６においてログインが通知されたユーザのユーザ情報を、ユーザ情報取得部４５に対して要求する（ＳＥＱ２０８）。ユーザ情報取得部４５は、当該ユーザ情報を、ネットワーク１０を介してユーザ情報管理ＤＢ３１から取得する（ＳＥＱ２０９、ＳＥＱ２１０）。
【００５２】
取得されたユーザ情報は、プラグイン管理部４４に渡される（ＳＥＱ２１１）。プラグイン管理部４４は、受け取ったユーザ情報に、ユーザライセンス情報が含まれるか否かを判断する（ステップＳ２１）。ユーザライセンス情報は、例えば、上述の図２におけるＳＥＱ１０９〜ＳＥＱ１１１で、ユーザ情報管理ＤＢ３１にユーザ情報として登録されている。
【００５３】
プラグイン管理部４４は、ステップＳ２１で、ユーザ情報がユーザライセンス情報を含まないと判断した場合は、何もしない。一方、ステップＳ２１で、ユーザ情報がユーザライセンス情報を含むと判断したら、アクティベーション制御部４２に対して、当該ユーザライセンス情報が対象としているプラグインのアクティベートを実施するように要求する（ＳＥＱ２１２）。ユーザ情報が複数のプラグインにそれぞれ対応する複数のユーザライセンス情報を含むときは、これら複数のユーザライセンス情報それぞれについて、アクティベートの実施が要求される。
【００５４】
なお、ステップＳ２１の判断において、有効期限による判断をさらに行うことができる。例えば、プラグイン管理部４４は、ＳＥＱ２１１で受け取ったユーザ情報にユーザライセンス情報が含まれ、且つ、現在の日時が当該ユーザライセンス情報に示される有効期限を過ぎていないか否かを判断する。判断の結果、受け取ったユーザ情報にユーザライセンス情報が含まれ、且つ、有効期限を過ぎていないと判断した場合に、プラグインのアクティベートを実施する。一方、プラグイン管理部４４は、受け取ったユーザ情報にユーザライセンス情報が含まれていないか、または、有効期限を過ぎていると判断した場合には、プラグインのアクティベートを実施しない。
【００５５】
アクティベーション制御部４２は、ＳＥＱ２１２での要求を受けて、当該ユーザライセンス情報が対象とするプラグインのアクティベートを実施し、アクティベート結果をプラグイン管理部４４に渡す（ＳＥＱ２１３）。このアクティベートの実施により、当該プラグインが、当該ユーザライセンス情報が発行されたユーザによって利用可能な状態となる。
【００５６】
なお、プラグイン管理部４４は、アクティベートの結果がアクティベーション制御部４２から渡された際に、ユーザライセンス保持部４３に対して、当該ユーザライセンス情報を保持するように要求することができる（ＳＥＱ２１４）。ユーザライセンス保持部４３は、この要求に応じて、当該ユーザライセンス情報を保持する（ステップＳ２２）。
【００５７】
プラグイン管理部４４は、アクティベートの実施により利用可能な状態となったプラグインを示す情報を、制御部４１に通知する（ＳＥＱ２１５）。制御部４１は、通知された情報に基づき、利用なプラグインの一覧情報を表示する表示画面を作成し、操作部４７の表示部に対して表示させる。
【００５８】
次に、ログアウト時の処理について説明する。操作部４７のユーザ操作によりユーザのログアウトが指示されると、制御部４１は、ログアウトを行うユーザのユーザ情報を含むログアウト情報を、機器認証部４６に渡す（ＳＥＱ２２０）。機器認証部４６は、渡されたログアウト情報に従い当該ユーザをログアウトさせ、ログアウト結果を、ログアウト情報と共にプラグイン管理部４４に通知する（ＳＥＱ２２１）。
【００５９】
プラグイン管理部４４は、機器認証部４６からユーザのログアウトが通知されると、ログアウト情報中のユーザ情報に含まれるユーザライセンス情報に従い、当該ユーザライセンス情報に対応するプラグインのディアクティベートを実施するように、アクティベーション制御部４２に要求する（ＳＥＱ２２２）。アクティベーション制御部４２は、この要求に応じて当該ユーザライセンス情報が対象としているプラグインに対するディアクティベートを実施する。ディアクティベートの結果がプラグイン管理部４４に渡される（ＳＥＱ２２３）。このディアクティベートの結果がプラグイン管理部４４に渡されることで、当該プラグインが、ユーザライセンス情報に示されるユーザから利用不可の状態となる。
【００６０】
なお、上述したＳＥＱ２１２およびステップＳ２２で、アクティベートを実施したユーザライセンス情報がユーザライセンス保持部４３に保持されている場合、プラグイン管理部４４は、ユーザライセンス保持部４３に対して、保持されている当該ユーザライセンス情報の破棄を要求することができる（ＳＥＱ２２４）。ユーザライセンス保持部４３は、この要求に応じて、保持している当該ユーザライセンス情報を破棄する（ステップＳ２３）。
【００６１】
このように、本第１の実施形態においては、ユーザのログイン時に、当該ユーザに対して発行されているユーザライセンス情報が対象としているプラグインに対してアクティベートを実施して利用可能な状態とし、ログアウト時に、当該プラグインに対してディアクティベートを実施して利用不可の状態としている。そのため、ユーザ単位のプラグインの管理を容易に行うことができる。
【００６２】
また、プラグイン自体のインストールやアンインストールなどを伴わないため、高速に処理を行うことができる。
【００６３】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。図６は、本第２の実施形態によるライセンス管理システム２の機能を説明するための一例の機能ブロック図である。なお、図６において、上述した図１と共通する部分には同一の符号を付し、詳細な説明を省略する。
【００６４】
本第２の実施形態では、本第２の実施形態によるライセンス管理システム２は、ネットワーク１０に対してライセンス管理サーバ２０’、ユーザ情報管理サーバ３０およびプラグインサーバ５０、ならびに、１または複数の機器４０’、４０’、…が、互いに通信可能に接続されて構成される。プラグインサーバ５０は、機器４０’、４０’…にインストールするためのプラグインが、機器４０’、４０’、…からダウンロード可能に格納されている。
【００６５】
ライセンス管理サーバ２０’は、プラグインに対するライセンスを、ユーザを区別せずに発行するライセンス発行部２２を有する。本第２の実施形態では、ユーザ単位でのユーザライセンスは、各機器４０’、４０’…において発行される。プラグインサーバ５０は、機器４０’、４０’、…にインストールするための各種のプラグインが格納される。各機器４０’４０’、…は、プラグインをプラグインサーバ５０からダウンロードしてインストールすることができるようになっている。
【００６６】
第２の実施形態における情報処理装置としての機器４０’は、上述の第１の実施形態による機器４０に対して、ユーザライセンス発行部４８と、ユーザライセンス照合部４９とが追加されている。ユーザライセンス発行部４８は、ライセンス管理サーバ２０’で発行されたライセンスに対してユーザ情報を付加して、ユーザライセンス情報を生成する。ユーザライセンス照合部４９は、ユーザライセンス情報とユーザ情報とを照合し、当該ユーザ情報が示すユーザが、当該ユーザライセンス情報が対応するプラグインの正当な利用者であるか否かを判断する。
【００６７】
図７は、本第２の実施形態によるユーザライセンス発行処理を示す一例のシーケンス図である。なお、この図７に例示される処理に先立って、所定のプラグインの利用を許可するためのライセンスキーが、ユーザに対して予め発行されているものとする。
【００６８】
先ず、操作部４７に対するユーザ操作により、機器４０’にインストール済みのプラグインを示すプラグイン情報が要求される。このプラグイン情報の要求は、操作部４７から制御部４１に供給されて、制御部４１からプラグイン管理部４４に渡される（ＳＥＱ３００）。プラグイン管理部４４は、制御部４１から渡された要求に応じて、インストール済みのプラグインを示すプラグイン情報を制御部４１に返す（ＳＥＱ３０１）。
【００６９】
制御部４１は、制御部４１から返されたプラグイン情報に示されるプラグインを一覧表示するための表示画面を作成し、操作部４７の表示部に表示させる。この表示に応じてなされた操作部４７に対するユーザ操作により、ユーザライセンスを取得したいプラグインが選択される。選択されたプラグインのプラグイン情報が、制御部４１からプラグイン管理部４４に渡される（ＳＥＱ３０２）。
【００７０】
プラグイン管理部４４は、選択されたプラグインを示すプラグイン情報を制御部４１から受け取ると、当該プラグイン情報に示される、選択されたプラグインに対するライセンスキーを発行するよう、ライセンス管理サーバ２０’に対し、ネットワーク１０を介して依頼する（ＳＥＱ３０３）。この依頼は、ライセンス管理サーバ２０’に受信されてライセンス発行部２２に渡される。
【００７１】
ライセンス発行部２２は、受け取った依頼に応じて、選択されたプラグインに対するライセンスキーを発行し、発行したライセンスキーを含むライセンス情報を作成する（図４（ａ）参照）。このとき、ライセンス発行部２２は、当該プラグインが使用可能な人数を示す情報（人数制限情報）を、ライセンス情報に含めることができる。ライセンス発行部２２は、作成したライセンス情報を、ネットワーク１０を介してプラグイン管理部４４に送信する（ＳＥＱ３０４）。
【００７２】
プラグイン管理部４４は、受け取ったライセンス情報に人数制限情報が含まれている場合、このライセンス情報に対応するプラグインを使用するユーザを選択するように、制御部４１に要求する（ＳＥＱ３０５）。制御部４１は、この要求に応じて、例えば図３を用いて説明したようなユーザ選択画面６０を操作部４７の表示部に対して表示させる。
【００７３】
例えば、制御部４１は、ユーザ情報取得部４５に対して、登録されているユーザの一覧情報を要求する（ＳＥＱ３０６）。ユーザ情報取得部４５は、この要求に応じて、ネットワーク１０を介してユーザ情報管理サーバ３０にアクセスし、ユーザ情報管理ＤＢ３１からユーザ情報を取得する（ＳＥＱ３０７、ＳＥＱ３０８）。ユーザ情報取得部４５は、取得したユーザ情報から、当該ユーザ情報が例えばリスト状に並べられたユーザ一覧情報を作成し、制御部４１に渡す（ＳＥＱ３０９）。制御部４１は、受け取ったユーザ一覧情報から、ユーザ選択画面６０を表示するための表示画面を作成する。
【００７４】
ユーザ選択画面６０に従った操作部４７に対するユーザ操作により、プラグインを使用するユーザが選択された後、操作部４７に対するユーザ操作により、ユーザ選択画面６０で「ＯＫ」ボタン６２が操作されると、選択されたユーザが確定される（ステップＳ３０）。制御部４１は、確定したユーザを示すユーザ情報を、プラグイン管理部４４に渡す（ＳＥＱ３１０）。
【００７５】
プラグイン管理部４４は、制御部４１から渡されたユーザ情報と、上述したＳＥＱ３０４でライセンス管理サーバ２０’から送信されたライセンス情報とをユーザライセンス発行部４８に渡し、ユーザライセンス発行部４８に対してユーザライセンスの発行を依頼する（ＳＥＱ３１１）。ユーザライセンス発行部４８は、受け取ったライセンス情報とユーザ情報とからユーザライセンスを発行し、発行したユーザライセンスによるユーザライセンスキーと、ユーザ情報とを含むユーザライセンス情報を作成する（図４（ｂ）参照）。ユーザライセンス発行部４８は、作成したユーザライセンス情報をプラグイン管理部４４に渡す。
【００７６】
プラグイン管理部４４は、ライセンス管理サーバ２０からユーザライセンス情報を受信すると（ＳＥＱ３１２）、ユーザ情報取得部４５に対して、ユーザ情報管理ＤＢ３１に登録されるユーザ情報の更新を要求する（ＳＥＱ３１３）。この要求に従い、ユーザ情報取得部４５は、ユーザ情報管理ＤＢ３１に対し、当該ユーザライセンス情報を、当該ユーザライセンス情報に関連付けられたユーザのユーザ情報に対して登録し、当該ユーザ情報を更新する（ＳＥＱ３１４）。
【００７７】
次に、ログインをきっかけとしたプラグインのアクティベーションについて説明する。図８は、本第２の実施形態によるプラグインのアクティベーション処理の例を示すシーケンス図である。
【００７８】
操作部４７に対するユーザ操作により、ユーザＩＤおよびパスワードからなるログイン情報が入力され、制御部４１を介して機器認証部４６に渡される（ＳＥＱ４００）。機器認証部４６は、制御部４１から受け取ったこのログイン情報に基づき、ユーザ認証を行う（ステップＳ４０）。すなわち、機器認証部４６は、操作部４１から受け取ったログイン情報に対応するユーザ情報を、ユーザ情報取得部４５を介してユーザ情報管理ＤＢ３１から取得する（ＳＥＱ４０１〜ＳＥＱ４０４）。機器認証部４６は、ステップＳ４０の認証処理において、操作部４７から入力されたログイン情報と、ユーザ情報管理ＤＢ３１から送信されたユーザ情報とを比較して、ユーザの認証処理を行う。
【００７９】
ユーザが認証されると、機器認証部４６は、認証結果を制御部４１に通知する（ＳＥＱ４０５）と共に、プラグイン管理部４４に対して、ユーザにより入力されたログイン情報を渡してユーザのログインを通知する（ＳＥＱ４０６）。
【００８０】
制御部４１は、機器認証部４６から通知された認証結果がユーザ認証の成功を示している場合に、利用可能なプラグインの確認をプラグイン管理部４４に対して要求する（ＳＥＱ４０７）。なお、制御部４１は、認証結果がユーザ認証の失敗を示している場合は、何も行わない。これに限らず、制御部４１は、操作部４７の表示部に対してその旨示すメッセージを表示させるようにしてもよい。
【００８１】
プラグイン管理部４４は、ＳＥＱ４０８の要求に応じて、上述のＳＥＱ４０６においてログインが通知されたユーザのユーザ情報を、ログイン情報に含まれるユーザＩＤに基づき、ユーザ情報取得部４５を介してユーザ情報管理ＤＢ３１から取得する（ＳＥＱ４０９〜ＳＥＱ４１１）。このとき取得されるユーザ情報は、ユーザライセンス情報を含むものとする。プラグイン管理部４４は、ログイン情報と、ユーザ情報管理ＤＢ３１から取得したユーザ情報とをユーザライセンス照合部４９に渡し、情報の照合を依頼する（ＳＥＱ４１２）。
【００８２】
より具体的には、ユーザライセンス照合部４９は、プラグイン管理部４４から渡された、ログイン情報に含まれるユーザＩＤと、ユーザ情報管理ＤＢ３１から取得したユーザ情報に含まれるユーザライセンス情報が持つユーザＩＤとを比較し、ユーザＩＤの照合を行う（ステップＳ４１）。ユーザライセンス照合部４９は、照合の結果、両者が一致すれば、ログインしたユーザが、照合を行ったユーザライセンス情報に対応するプラグインの正当なユーザであると判断する。一方、両者が一致しなければ、ログインしたユーザは、当該プラグインの正当なユーザではないと判断する。
【００８３】
ユーザライセンス照合部４９は、ステップＳ４１による照合結果をプラグイン管理部４４に渡す（ＳＥＱ４１３）。プラグイン管理部４４は、照合結果が、ログインしたユーザは、当該プラグインの正当なユーザではないと判断した旨を示していた場合は、何もしない。これに限らず、プラグイン管理部４４は、制御部４１に対して、操作部４７の表示部に対してその旨示すメッセージを表示させるように要求してもよい。
【００８４】
一方、照合結果が、ログインしたユーザは、当該プラグインの正当なユーザであると判断した旨を示していた場合、アクティベーション制御部４２に対して、照合を行ったユーザライセンス情報が対象としているプラグインのアクティベートを実施するように依頼する（ＳＥＱ４１４）。ユーザ情報が複数のプラグインにそれぞれ対応する複数のユーザライセンス情報を含むときは、これら複数のユーザライセンス情報それぞれについて、アクティベートの実施が要求される。
【００８５】
アクティベーション制御部４２は、ＳＥＱ４１４での要求を受けて、当該ユーザライセンス情報が対象とするプラグインのアクティベートを実施し、アクティベート結果をプラグイン管理部４４に渡す（ＳＥＱ４１５）。このアクティベートの実施により、当該プラグインが、当該ユーザライセンス情報が発行されたユーザによって利用可能な状態となる。
【００８６】
なお、プラグイン管理部４４は、アクティベートの結果がアクティベーション制御部４２から渡された際に、ユーザライセンス保持部４３に対して、当該ユーザライセンス情報を保持するように要求することができる（ＳＥＱ４１６）。ユーザライセンス保持部４３は、この要求に応じて、当該ユーザライセンス情報を保持する（ステップＳ４２）。
【００８７】
プラグイン管理部４４は、アクティベートの実施により利用可能な状態となったプラグインを示す情報を、制御部４１に通知する（ＳＥＱ４１７）。制御部４１は、通知された情報に基づき、利用なプラグインの一覧情報を表示する表示画面を作成し、操作部４７の表示部に対して表示させる。
【００８８】
なお、ログアウト時の処理は、図５を用いて説明したＳＥＱ２２０〜ＳＥＱ２２４およびステップＳ２２の処理と同一なので、ここでの説明を省略する。
【００８９】
次に、プラグインのダウンロード処理について説明する。図９は、本第２の実施形態による、機器４０がプラグインサーバ５０からプラグインをダウンロードする処理を示す一例のシーケンス図である。
【００９０】
操作部４７に対するユーザ操作により、ユーザＩＤおよびパスワードからなるログイン情報が入力され、制御部４１を介して機器認証部４６に渡される（ＳＥＱ５００）。機器認証部４６は、制御部４１から受け取ったこのログイン情報に基づき、ユーザ認証を行う（ステップＳ５０）。すなわち、機器認証部４６は、操作部４１から受け取ったログイン情報に対応するユーザ情報を、ユーザ情報取得部４５を介してユーザ情報管理ＤＢ３１から取得する（ＳＥＱ５０１〜ＳＥＱ５０４）。機器認証部４６は、ステップＳ４０の認証処理において、操作部４７から入力されたログイン情報と、ユーザ情報管理ＤＢ３１から送信されたユーザ情報とを比較して、ユーザの認証処理を行う。
【００９１】
ユーザが認証されると、機器認証部４６は、認証結果を制御部４１に通知する（ＳＥＱ５０５）と共に、プラグイン管理部４４に対して、ユーザにより入力されたログイン情報を渡してユーザのログインを通知する（ＳＥＱ５０６）。
【００９２】
制御部４１は、機器認証部４６から通知された認証結果がユーザ認証の成功を示している場合に、ログインを行ったユーザが利用可能なプラグインの確認をプラグイン管理部４４に対して要求する（ＳＥＱ５０７）。なお、制御部４１は、認証結果がユーザ認証の失敗を示している場合は、何も行わない。これに限らず、制御部４１は、操作部４７の表示部に対してその旨示すメッセージを表示させるようにしてもよい。
【００９３】
プラグイン管理部４４は、ＳＥＱ５０７の要求に応じて、上述のＳＥＱ５０６においてログインが通知されたユーザのユーザ情報を、ログイン情報に含まれるユーザＩＤに基づき、ユーザ情報取得部４５を介してユーザ情報管理ＤＢ３１から取得する（ＳＥＱ５０８〜ＳＥＱ５１１）。このとき取得されるユーザ情報は、ユーザライセンス情報を含むものとする。
【００９４】
プラグイン管理部４４は、ＳＥＱ５１１で取得されたユーザ情報に含まれるユーザライセンス情報に対応する全てのプラグインが機器４０にインストールされているか否かを判断する（ステップＳ５１）。若し、インストールされていると判断したら、プラグイン管理部４４は、例えば操作部４７の表示部に対してその旨示す表示を行うように、制御部４１に要求する。
【００９５】
一方、ステップＳ５１で、ＳＥＱ５１１で取得されたユーザ情報に含まれるユーザライセンス情報に対応するプラグインのうち、機器４０にインストールされていないプラグイン（未インストールプラグインと呼ぶ）が存在すると判断したら、プラグイン管理部４４は、制御部４１に対して、プラグインをプラグインサーバ５０からダウンロードするためのダウンロード画面を作成するように要求する（ＳＥＱ５１２）。制御部４１は、この要求に応じてダウンロード画面を作成し、操作部４７の表示部に対して表示させる。
【００９６】
図１０は、ダウンロード画面８０の一例を示す。表示領域８１に対して、未インストールプラグインの名称が表示される。図１０の例では、未インストールプラグインの名称と共に、この未インストールプラグインのインストールを促すメッセージが表示されている。未インストールプラグインが複数存在するときは、これら複数の未インストールプラグインの名称が例えばリスト状に表示される。
【００９７】
また、ダウンロード画面８０において、「ＯＫ」ボタン８２は、表示領域８１に表示された未インストールプラグインのインストールを指示する。「キャンセル」ボタン８３は、未インストールプラグインのインストールのキャンセルを指示する。なお、未インストールプラグインが複数存在する場合に、ダウンロード画面８０において、リスト状に表示される未インストールプラグイン名称のそれぞれに対して例えばチェックボックスを付随させて表示し、インストールを行うプラグインを選択可能としてもよい。
【００９８】
操作部４７に対するユーザ操作により「ＯＫ」ボタン８２が操作されると（ステップＳ５２）、制御部４１からプラグイン管理部４４に対して、未インストールプラグインのダウンロードが要求される（ＳＥＱ５１３）。プラグイン管理部４４は、この要求に応じて、未インストールプラグインのダウンロードを、ネットワーク１０を介してプラグインサーバ５０に対して要求する（ＳＥＱ５１４）。プラグイン管理部４４は、この要求に応じてプラグインサーバ５０から未インストールプラグインのダウンロードを実行し（ＳＥＱ５１５）、ダウンロードされた未インストールプラグインを機器４０にインストールする。
【００９９】
その後、例えば図８で説明したＳＥＱ４１５〜ＳＥＱ４１７の処理に従い、プラグイン管理部４４からアクティベーション制御部４２に、ダウンロードしたプラグインに対するアクティベートの実施が依頼され、この依頼を受けたアクティベーション制御部４２により、当該プラグインに対するアクティベートが実施される。
【０１００】
なお、ここでは、この図１０に示される未インストールプラグインのダウンロード処理が本発明の第２の実施形態に適用されるように説明したが、これはこの例に限定されない。すなわち、図１０に示される未インストールプラグインのダウンロード処理は、上述した本発明の第１の実施形態にもそのまま適用可能なものである。
【０１０１】
次に、ユーザライセンスの移管処理について説明する。図１１は、本第２の実施形態による、ユーザライセンスの移管処理を示す一例のシーケンス図である。制御部４１は、登録済みのユーザ情報を、ユーザ情報取得部４５を介してユーザ情報管理ＤＢ３１から取得する（ＳＥＱ６００〜ＳＥＱ６０３）。制御部４１は、取得したユーザ情報から、ユーザライセンス移管元のユーザと、当該ユーザが持つユーザライセンスのうち移管対象となるユーザライセンスと、当該ユーザライセンスの移管先のユーザとを指定するための移管指定画面を作成し、操作部４７の表示部に表示させる（図示しない）。移管対象となるユーザライセンスは、例えばそのユーザライセンスに対応するプラグインの名称を用いて表示することができる。
【０１０２】
操作部４７に対する、移管指定画面に従ったユーザ操作により、移管元ユーザと、移管対象のユーザライセンスと、移管先ユーザとが指定されると、制御部４１は、これら指定された情報に基づき、ユーザライセンスの移管をプラグイン管理部４４に対して依頼する（ＳＥＱ６０４）。プラグイン管理部４４は、この要求に応じて、ユーザライセンス発行部４８に対して、移管元ユーザのユーザ情報を渡し、移管元ユーザにおける移管対象のユーザライセンスの破棄を要求する（ＳＥＱ６０５）。
【０１０３】
ユーザライセンス発行部４８は、プラグイン管理部４４から受け取った移管元ユーザのユーザ情報に含まれる移管対象のユーザライセンス情報を調べる。その結果、当該移管対象のユーザライセンスを破棄可能であると判断したら、その旨示す破棄可能通知をプラグイン管理部４４に渡す（ＳＥＱ６０６）と共に、当該移管対象のユーザライセンスを破棄する処理を行う（ステップＳ６０）。例えば、ユーザライセンス発行部４８は、移管元ユーザのユーザ情報から、移管対象のユーザライセンスのユーザライセンス情報を削除する。
【０１０４】
なお、ユーザライセンス発行部４８は、移管対象のユーザライセンスを破棄が不可であると判断した場合、例えば当該ユーザライセンスの移管ができない旨を示すメッセージを操作部４７の表示部に表示させるように、制御部４１に依頼することができる。
【０１０５】
ユーザライセンス発行部４８は、ステップＳ６０で移管元ユーザのユーザ情報における移管対象のユーザライセンスの破棄処理を行ったら、ユーザ情報取得部４５を介して、ユーザ情報管理ＤＢ３１に対し、移管対象のユーザライセンスが破棄された移管元ユーザのユーザ情報で、ユーザ情報管理ＤＢ３１に格納されるこの移管元ユーザのユーザ情報を更新するように要求する（ＳＥＱ６０７、ＳＥＱ６０８）。ユーザ情報管理ＤＢ３１は、この要求に従い、移管元ユーザのユーザ情報を更新する。
【０１０６】
続いて、プラグイン管理部４４は、ユーザライセンス発行部４８に対して移管先ユーザのユーザ情報を渡し、移管先ユーザに対して移管対象のユーザライセンスを発行するように依頼する（ＳＥＱ６０９）。ユーザライセンス発行部４８は、この依頼に応じて、移管先ユーザのユーザＩＤと移管対象のユーザライセンスのユーザライセンスキーとを関連付けて、移管先ユーザに対して移管対象のユーザライセンスによるユーザライセンスを発行する（ステップＳ６１）。
【０１０７】
ユーザライセンス発行部４８は、ステップＳ６１で移管先ユーザに対して移管対象のユーザライセンスを発行したら、移管対象のユーザライセンスが追加された移管先ユーザのユーザ情報をプラグイン管理部４４に渡す（ＳＥＱ６１０）。プラグイン管理部４４は、移管先ユーザのユーザ情報を受け取ると、ユーザ情報取得部４５を介して、ユーザ情報管理ＤＢ３１に対し、移管対象のユーザライセンスが追加された移管先ユーザのユーザ情報で、ユーザ情報管理ＤＢ３１に格納されるこの移管先ユーザのユーザ情報を更新するように要求する（ＳＥＱ６１１、ＳＥＱ６１２）。ユーザ情報管理ＤＢ３１は、この要求に従い、移管先ユーザのユーザ情報を更新する。
【０１０８】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。本第３の実施形態は、上述した第１の実施形態または第２の実施形態を、ネットワークを介してサーバから複合機に対してソフトウェアを配信するソフトウェア配信システムに適用させた例である。
【０１０９】
図１２は、本第３の実施形態に適用可能なソフトウェア配信システムの一例のネットワーク構成図である。図１２に示すように、ソフトウェア配信システムは、仲介装置２００と、ライセンス管理サーバ３００と、ソフトウェア配信サーバ３０１と、ソフトウェア管理装置としての管理装置３０２と、Ｗｅｂサーバ３０３とが、インターネットなどのネットワーク３１０を介して接続されている。ネットワーク３１０は、上述した第１および第２の実施形態におけるネットワーク１０に相当する。
【０１１０】
仲介装置２００とネットワーク３１０との間には、ファイアウォール９０が設けられている。また、仲介装置２００は、複数の複合機１００ａ、１００ｂ、１００ｃが接続されている。以下、特定しない複合機を単に複合機１００と称する。複合機１００は、上述した第１の実施形態における機器４０、または、第２の実施形態における機器４０’に相当する。
【０１１１】
ファイアウォール９０は、公衆回線やインターネットなどの外部ネットワークを通じて仲介装置２００に侵入した第三者により不正が行われないように、外部との境界を流れるデータを監視し、不正なアクセスを検出および遮断する。
【０１１２】
ソフトウェア配信サーバ３０１は、複合機１００において実行される各種アプリケーションのソフトウェアのパッケージであるソフトウェアプログラムを記憶しており、このソフトウェアプログラムを、仲介装置２００を介して複合機１００に配信するサーバ装置である。このソフトウェア配信サーバ３０１が、上述した第２の実施形態におけるプラグインサーバ５０に相当し、ソフトウェア配信サーバ３０１が配信するソフトウェアプログラムが、第１および第２の実施形態におけるプラグインに相当する。
【０１１３】
ライセンス管理サーバ３００は、ソフトウェア配信サーバ３０１から提供され、複合機１００にインストールされるアプリケーションのソフトウェアプログラムのライセンス（利用権）や、複合機１００において実行される機能のライセンス（利用権）を、仲介装置２００を介して管理する装置である。ライセンス管理サーバ３００は、第１および第２の実施形態におけるライセンス管理サーバ２０および２０’にそれぞれ対応する。また、ライセンス管理サーバ３００は、第１および第２の実施形態によるユーザ情報管理サーバ３０の機能を含むことができる。
【０１１４】
Ｗｅｂサーバ３０３は、アプリケーションなどのソフトウェアのポータル販売サイトを有するサーバ装置である。ユーザが不図示のＰＣ(Personal Computer)や複合機１００などからこのＷｅｂサーバ３０３のポータル販売サイトにアクセスして、所望のアプリケーションソフトウェアを購入する。そして、ユーザがこのＷｅｂサーバ３０３からソフトウェアを購入した場合、インストール対象として指定された複合機１００の機器ＩＤと購入したソフトウェアのプロダクト名とプロダクトキーと共にインストール要求がＷｅｂサーバ３０３から管理装置３０２に送信される。
【０１１５】
管理装置３０２は、仲介装置２００を介して複合機１００を遠隔管理する装置である。具体的には、管理装置３０２は、複合機１００に管理装置３０２は、複合機のメーカやサービス提供会社といったサービスセンタなどに設置されたサーバ装置である。管理装置３０２は、Ｗｅｂサーバ３０３からインストール要求を受信すると、ソフトウェア配信サーバ３０１からインストール対象のソフトウェアの取得先ＵＲＬや依存ソフトウェアの取得先ＵＲＬなどを受信し、インストール先として指定された複合機１００にインストールされているソフトウェアの状況である機器情報を参照して、インストール対象のソフトウェアと複合機１００に必要な依存ソフトウェアを決定してインストール要求を仲介装置２００に送信する。
【０１１６】
仲介装置２００は、ソフトウェア配信サーバ３０１およびライセンス管理サーバ３００と、複合機１００との間で行われる処理を仲介する装置である。具体的には、仲介装置２００は、複合機１００から各複合機１００にインストールされているソフトウェアの状況である機器情報を一定期間ごとに収集し、この複合機１００毎の機器情報を管理装置３０２に送信する。
【０１１７】
また、仲介装置２００は、インストール対象のソフトウェアプログラムをソフトウェア配信サーバ３０１に要求して受信する処理や、インストール対象のソフトウェアのライセンスをライセンス管理サーバ３００に要求して受信する処理を行う。すなわち、上述の第１の実施形態において機器４０と、ライセンス管理サーバ２０およびユーザ情報管理サーバ３０との間でネットワーク１０を介してなされる通信や、第２の実施形態において機器４０’と、ライセンス管理サーバ２０’、ユーザ情報管理サーバ３０およびプラグインサーバ５０との間でネットワーク１０を介してなされる通信は、本第３の実施形態では、さらに仲介装置２００を介して行われることになる。さらに、仲介装置２００は、これらのソフトウェアプログラムとライセンスと共に、ソフトウェアのインストール要求を複合機１００に送信して、複合機１００に当該ソフトウェアをインストールさせる。
【０１１８】
第３の実施形態における情報処理装置としての複合機１００は、コピー、ファクス、プリンタなどの複数の機能を備えた装置であって、ＬＡＮなどのローカルネットワークにより仲介装置２００に接続されている。図１２では、３台の複合機１００ａ、１００ｂ、１００ｃがネットワークに接続されているが、これに限定されることなく、１台、２台、または４台以上の複合機を接続した構成としてもよい。複合機１００は、仲介装置２００から、ソフトウェアプログラムおよびライセンスと共にインストール要求を受信すると、インストール要求で指定されたソフトウェアのインストールを実行するアプリインストール制御部を備えている。
【０１１９】
次に、複合機１００について説明する。図１３は、本第３の実施形態に適用可能な複合機１００の機能的構成の例を示すブロック図である。図１３に示すように、複合機１００は、白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）１０１と、カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）１０２と、ＨＤＤ（ハードディスクドライブ）１０３と、スキャナ、ファクス、メモリなどのハードウェアリソース１０４、通信Ｉ／Ｆ（インターフェース）１０５とを有すると共に、プラットホーム１２０と、アプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【０１２０】
複合機１００において、ＨＤＤ１０３に、機器情報や、ソフトウェア配信サーバ３０１からダウンロードしたアプリケーションのソフトウェアパッケージ、ファームウェアパッケージ、パッケージ情報、インストール処理の動作指示を示す指示情報、およびライセンス管理サーバ３００からダウンロードアプリケーションのライセンスファイルが保存される。また、このＨＤＤ１０３に、インストール処理の進行状態が記録される。
【０１２１】
プラットホーム１２０は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、１または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。
【０１２２】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファクスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８と、ＮＲＳ（ニューリモートサービス）１２９と、アプリインストール制御サービス１３１とから構成される。このプラットホーム１２０は、予め定義された関数によりアプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有する。
【０１２３】
汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０およびアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。上述した第１および第２の実施形態による、機器４０および４０’における制御部４１は、例えばこの汎用ＯＳ１２１に含まれる。
【０１２４】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２と共にシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、ＲＳ２３２Ｃ  Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【０１２５】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか、すなわち、他の要求により利用されていないかどうかを判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えばプリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成）を直接実施している。
【０１２６】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御などを行う。ＥＣＳ１２４のプロセスは、白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）１０１、カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）１０２、スキャナ、ファクスなどからなるハードウェアリソース１０４のエンジンの制御を行う。ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【０１２７】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクス送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクスデータの登録／引用、ファクス読み取り、ファクス受信印刷、融合送受信を行うためのＡＰＩを提供する。
【０１２８】
ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【０１２９】
ＯＣＳ１２６のプロセスは、オペレータ（利用者）と本体制御との間の情報伝達手段となるオペレーションパネル（操作パネル）の制御を行う。ＯＣＳ１２６は、オペレーションパネルからキー押下（またはタッチ操作）をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ１２２に送信するＯＣＳプロセスの部分と、アプリケーション１３０またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたＯＣＳライブラリの部分とから構成される。このＯＣＳライブラリは、アプリケーション１３０およびコントロールサービスの各モジュールにリンクされて実装されている。なお、ＯＣＳ１２６のすべてをプロセスとして動作させるように構成しても良く、あるいはＯＣＳ１２６のすべてをＯＣＳライブラリとして構成しても良い。
【０１３０】
アプリインストール制御サービス１３１のプロセスは、複合機１００にインストールされているアプリケーションなどのソフトウェアに関する情報や機器の情報を機器情報として一定期間毎に管理装置３０２に送信する。アプリインストール制御サービス１３１のプロセスは、管理装置３０２からインストール要求を受信した場合、ソフトウェア配信サーバ３０１に対して、インストール要求で指定されたプロダクトＩＤのソフトウェアの配信要求を行って、ソフトウェア配信サーバ３０１からインストール対象のソフトウェアを受信し、インストールする。また、アプリインストール制御サービス１３１のプロセスは、管理装置３０２からインストール要求を受信した場合、ライセンス管理サーバ３００に対して、インストール要求で指定されたプロダクトＩＤのソフトウェアのライセンスを要求し、ライセンス管理サーバ３００からライセンスを取得する。
【０１３１】
上述した第１の実施形態による、機器４０におけるアクティベーション制御部４２、ユーザライセンス保持部４３、プラグイン管理部４４、ユーザ情報取得部４５および機器認証部４６は、このアプリインストール制御サービス１３１に含まれる。同様に、上述した第２の実施形態による、機器４０’におけるアクティベーション制御部４２、ユーザライセンス保持部４３、プラグイン管理部４４、ユーザ情報取得部４５、機器認証部４６、ユーザライセンス発行部４８およびユーザライセンス照合部４９は、このアプリインストール制御サービス１３１に含まれる。
【０１３２】
ＮＲＳ１２９のプロセスは、ネットワークを介してデータを送受信する際のデータの変換を行う等のネットワークを介した機器遠隔管理に関する機能及びスケジューラ機能を有している。
【０１３３】
アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクス用アプリケーションであるファクスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６と、インターネットに接続されたＰＣ等のクライアント端末に対してＷＥＢサーバ（ｈｔｔｐサーバ）として動作し、クライアント端末上で動作するＷＥＢブラウザに各種画面を表示するＷＥＢアプリ１１７とを有している。
【０１３４】
アプリケーション１３０の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクスなどの画像形成処理にかかるユーザサービスを実現している。
【０１３５】
このように、本第３の実施形態に係る複合機１００には、複数のアプリケーション１３０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、１または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション１３０に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクスなどの画像形成処理にかかるユーザサービスを提供するようになっている。
【０１３６】
また、複合機１００には、複合機１００の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリ１７２を開発して搭載することが可能となっている。この外部アプリ１７２は、アプリインストール制御サービス１３１によりソフトウェア配信サーバ３０１からダウンロードしてインストールされたサーバプログラムであり、図１３は、外部アプリ１７２が実行されている状態を示している。
【０１３７】
なお、本第３の実施形態に係る複合機１００では、複数のアプリケーション１３０のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション１３０とコントロールサービスのプロセスとがそれぞれ単一の構成とすることも可能である。また、各アプリケーション１３０は、アプリケーションごとに追加または削除することができる。すなわち、上述したように、外部アプリ１７２をインストール可能であり、かつアンインストールも可能となっている。
【０１３８】
図１４は、複合機１００のハードウェア構成の例を示すブロック図である。図１４に示すように、この複合機１００は、コントローラ４１０とエンジン部(Engine)４６０とをＰＣＩ(Peripheral Component Interface)バスで接続した構成となる。コントローラ４１０は、複合機１００全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部４６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファクスユニットなどである。なお、このエンジン部４６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【０１３９】
コントローラ４１０は、ＣＰＵ(Central Processing Unit)４１１と、ノースブリッジ（ＮＢ）４１３と、システムメモリ（ＭＥＭ−Ｐ）４１２と、サウスブリッジ（ＳＢ）４１４と、ローカルメモリ（ＭＥＭ−Ｃ）４１７と、ＡＳＩＣ(Application Specific Integrated Circuit)４１６と、ハードディスクドライブ（ＨＤＤ）１０３とを有し、ノースブリッジ４１３とＡＳＩＣ４１６との間をＡＧＰ(Accelerated Graphics Port)バス１５で接続した構成となる。
【０１４０】
ＣＰＵ４１１は、複合機１００の全体制御を行うものであり、ＮＢ４１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【０１４１】
ＮＢ４１３は、ＣＰＵ４１１とＭＥＭ−Ｐ１２、ＳＢ４１４、ＡＧＰ４１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ４１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【０１４２】
ＭＥＭ−Ｐ４１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ(Read Only Memory)４１２ａとＲＡＭ(Random Access Memory)４１２ｂとからなる。ＲＯＭ４１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ４１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【０１４３】
ＳＢ４１４は、ＮＢ４１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ４１４は、ＰＣＩバスを介してＮＢ４１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【０１４４】
ＡＳＩＣ４１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ(Integrated Circuit)であり、ＡＧＰ４１５、ＰＣＩバス、ＨＤＤ１０３およびＭＥＭ−Ｃ４１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ４１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ４１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ４１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ(Direct Memory Access Controller)と、エンジン部４６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ４１６には、ＰＣＩバスを介してＦＣＵ(Facsimile Control Unit)４３０、ＵＳＢ(Universal Serial Bus)４４０、ＩＥＥＥ１３９４(the Institute of Electrical and Electronics Engineers 1394)インターフェース４５０が接続される。操作表示部４２０はＡＳＩＣ４１６に直接接続されている。
【０１４５】
ＭＥＭ−Ｃ４１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ１０３は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。また、ＨＤＤ１０３は、ソフトウェア配信サーバ３０１からダウンロードされたプラグインが格納される。プラグインは、予めＨＤＤ１０３に格納されていてもよい。
【０１４６】
ＡＧＰ４１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ４１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【０１４７】
なお、複合機１００で実行される、アクティベーション制御、ユーザライセンス保持、プラグイン管理、ユーザ情報管理、機器認証および各種画面の作成、並びに、ユーザライセンスの発行および照合を行うライセンス管理プログラムは、ＲＯＭなどに予め組み込まれて提供される。
【０１４８】
本第３の実施形態の複合機１００で実行されるライセンス管理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ(Compact Disk)、フレキシブルディスク（ＦＤ）、ＤＶＤ(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１４９】
さらに、本第３の実施形態の複合機１００で実行されるライセンス管理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本第３の実施形態の複合機１００で実行されるインストールプログラムをインターネットなどのネットワーク経由で提供または配信するように構成しても良い。
【０１５０】
本第３の実施形態の複合機１００で実行されるライセンス管理プログラムは、少なくとも上述したアプリインストール制御サービス１３１を含むモジュール構成となっており、実際のハードウェアとしては、例えばＣＰＵ４１１がＲＯＭ４１１ａからインストールプログラムを読み出して実行することによりアプリインストール制御サービス１３１が主記憶装置上にロードされ、アプリインストール制御サービス１３１が主記憶装置上に生成されるようになっている。
【０１５１】
また、本第３の実施形態の管理装置３０２、ソフトウェア配信サーバ３０１、ライセンス管理サーバ３００およびＷｅｂサーバ３０３は、ＣＰＵなどの制御装置と、ＲＯＭやＲＡＭなどの記憶装置と、ＨＤＤ、光ディスクドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１５２】
＜第３の実施形態の変形例＞
次に、上述の第３の実施形態の変形例について説明する。上述した第３の実施形態では、ソフトウェア配信サーバ３０１およびライセンス管理サーバ３００と、複合機１００との間で行われる処理を仲介装置２００を介して行っていた。本変形例では、仲介装置２００を介さずに直接的に、複合機１００と各種送受信を行うものである。
【０１５３】
図１５は、本変形例によるソフトウェア配信システムの一例のネットワーク構成図である。本変形例では、図１５に示すように、管理装置３０２と、ソフトウェア配信サーバ３０１と、ライセンス管理サーバ３００と、Ｗｅｂサーバ３０３と、複合機１００（複合機１００ａ、１００ｂ、１００ｃ）とがネットワーク３１０に接続された構成となっており、仲介装置を設けない構成となっている。
【０１５４】
ここで、管理装置３０２、ソフトウェア配信サーバ３０１、ライセンス管理サーバ３００およびＷｅｂサーバ３０３の構成については、上述した第３の実施形態と同様である。但し、管理装置３０２は、複合機１００から直接的に機器情報を受信し、また、インストール要求を直接的に複合機１００に対して送信する。
【符号の説明】
【０１５５】
１，２  ライセンス管理システム
１０  ネットワーク
２０，２０’  ライセンス管理サーバ
２１  ユーザライセンス発行部
２２  ライセンス発行部
３０  ユーザ情報管理サーバ
３１  ユーザ情報管理ＤＢ
４０，４０’  機器
４１  制御部
４２  アクティベーション制御部
４３  ユーザライセンス保持部
４４  プラグイン管理部
４５  ユーザ情報取得部
４６  機器認証部
４７  操作部
４８  ユーザライセンス発行部
４９  ユーザライセンス照合部
５０  プラグインサーバ
【先行技術文献】
【特許文献】
【０１５６】
【特許文献１】特開２００７−０５３５５６号公報
【図１】
0005509929.tif 000002
【図２】
0005509929.tif 000003
【図３】
0005509929.tif 000004
【図４】
0005509929.tif 000005
【図５】
0005509929.tif 000006
【図６】
0005509929.tif 000007
【図７】
0005509929.tif 000008
【図８】
0005509929.tif 000009
【図９】
0005509929.tif 000010
【図１０】
0005509929.tif 000011
【図１１】
0005509929.tif 000012
【図１２】
0005509929.tif 000013
【図１３】
0005509929.tif 000014
【図１４】
0005509929.tif 000015
【図１５】
0005509929.tif 000016