(57)【要約】【課題】  ライセンス下のみでアプリケーションプログラムがインストールされ得る画像形成装置に、所定の条件下で追加アプリケーションプログラムをインストールできるようにする。【解決手段】  複合機１において、記憶装置１６は、アプリケーションプログラムの１つとしてＳＤＫ管理アプリケーションプログラム１０２を格納している。演算処理装置１７は、ＳＤＫ管理アプリケーションプログラム１０２を実行し、当該ＳＤＫ管理アプリケーションプログラム１０２のライセンスに対応する正当なライセンスコードを、端末装置２にインストールされているＳＤＫ４１が有する場合には、管理アプリケーションプログラム１０２に従って、開発アプリケーションプログラムを要求し、ＳＤＫ４１によるＳＤＫプラットホーム６１から、その開発アプリケーションプログラムを取得し記憶装置１６にインストールする。【選択図】  図６
2010186376.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置と、
前記画像形成装置にインストールするための追加アプリケーションプログラムを前記画像形成装置へ供給する端末装置とを備え、
前記画像形成装置は、
ライセンス下でインストールされるアプリケーションプログラムを格納可能な第１記憶装置と、
前記第１記憶装置に格納されている前記アプリケーションプログラムを実行する第１演算処理装置とを有し、
前記第１記憶装置は、前記アプリケーションプログラムの１つとして管理アプリケーションプログラムを格納しており、
前記第１演算処理装置は、前記管理アプリケーションプログラムを実行し、当該管理アプリケーションプログラムのライセンスに対応する正当なライセンスコードを、端末装置にインストールされている所定のソフトウェアが有する場合には、前記管理アプリケーションプログラムに従って、前記追加アプリケーションプログラムを前記端末装置に要求し、前記端末装置から、その追加アプリケーションプログラムを取得し前記第１記憶装置にインストールし、
前記端末装置は、
ライセンス下で前記所定のソフトウェアをインストールされ、前記所定のソフトウェアにおけるデータとして前記ライセンスコードを格納する第２記憶装置と、
前記所定のソフトウェアに含まれるプログラムを実行する第２演算処理装置とを有し、
前記第２演算処理装置は、前記所定のソフトウェアに含まれるプログラムを実行し、そのプログラムに従って、前記画像形成装置からの前記追加アプリケーションプログラムの要求に応答して前記画像形成装置へ前記追加アプリケーションプログラムを送信すること、
を特徴とするライセンス管理システム。
【請求項２】
前記所定のソフトウェアは、プログラム開発環境を提供するソフトウェア開発キットであり、
前記追加アプリケーションプログラムは、前記ソフトウェア開発キットで開発されるアプリケーションプログラムであること、
を特徴とする請求項１記載のライセンス管理システム。
【請求項３】
前記ライセンスコードは、前記所定のソフトウェアがライセンス認証を経て前記端末装置にインストールされたときに取得され、前記第２記憶装置に格納されることを特徴とする請求項１記載のライセンス管理システム。
【請求項４】
１つの前記所定のソフトウェアから前記追加アプリケーションプログラムを、所定の数の前記画像形成装置に対してのみ提供可能であり、
１つの前記画像形成装置は、所定の数の前記所定のソフトウェアからのみ前記追加アプリケーションプログラムを取得可能であること、
を特徴とする請求項１記載のライセンス管理システム。
【請求項５】
前記第１演算処理装置は、前記管理アプリケーションプログラムに従って、前記端末装置に対して、前記追加アプリケーションプログラムのリストを要求し、前記リストから選択された前記追加アプリケーションプログラムを前記端末装置に対して要求し、
前記第２演算処理装置は、前記所定のソフトウェアに含まれるプログラムに従って、前記画像形成装置からの前記追加アプリケーションプログラムのリストの要求に応答して前記画像形成装置へ前記追加アプリケーションプログラムのリストを送信すること、
を特徴とする請求項１記載のライセンス管理システム。
【請求項６】
前記追加アプリケーションプログラムは、前記管理アプリケーションプログラムからのみ呼び出され、前記第１演算処理装置により実行されることを特徴とする請求項１記載のライセンス管理システム。
【請求項７】
前記画像形成装置は、表示装置と入力装置とを有し、
前記第１演算処理装置は、所定の制御プログラムに従って、前記第１記憶装置に格納されているアプリケーションプログラムのリストを前記表示装置に表示させ、前記入力装置への所定のユーザ操作があると、前記アプリケーションプログラムのリストから前記管理アプリケーションプログラムを選択し、前記管理アプリケーションプログラムを起動し、
前記第１演算処理装置は、前記管理アプリケーションプログラムに従って、前記第１記憶装置にインストールされている前記追加アプリケーションのリストを前記表示装置に表示させ、前記入力装置へのユーザ操作に従って、前記追加アプリケーションプログラムのリストから前記追加アプリケーションプログラムを選択し、その追加アプリケーションプログラムを起動すること、
を特徴とする請求項６記載のライセンス管理システム。
【請求項８】
前記第１演算処理装置は、ＪＡＶＡ仮想マシンとして動作し、
前記管理アプリケーションプログラムおよび前記追加アプリケーションプログラムは、前記ＪＡＶＡ仮想マシン上で動作するＪＡＶＡプログラムであること、
を特徴とする請求項１から請求項７のいずれか１項記載のライセンス管理システム。
【請求項９】
追加アプリケーションプログラムを当該画像形成装置へ供給する端末装置と通信可能な画像形成装置において、
ライセンス下でインストールされるアプリケーションプログラムを格納可能な記憶装置と、
前記記憶装置に格納されている前記アプリケーションプログラムを実行する演算処理装置とを備え、
前記記憶装置は、前記アプリケーションプログラムの１つとして管理アプリケーションプログラムを格納しており、
前記演算処理装置は、前記管理アプリケーションプログラムを実行し、前記管理アプリケーションプログラムのライセンスに対応する正当なライセンスコードを、前記端末装置にインストールされている所定のソフトウェアが有する場合には、前記管理アプリケーションプログラムに従って、前記追加アプリケーションプログラムを前記端末装置に要求し、前記端末装置から、その追加アプリケーションプログラムを取得し前記記憶装置にインストールすること、
を特徴とする画像形成装置。
【請求項１０】
端末装置から画像形成装置へ追加アプリケーションプログラムを追加インストールする際のライセンス管理方法において、
前記画像形成装置において、第１演算処理装置で、ライセンス下でインストールされるアプリケーションプログラムを格納可能な第１記憶装置から、前記アプリケーションプログラムの１つである管理アプリケーションプログラムを読み出して実行し、
前記端末装置において、ライセンス下でインストールされている所定のソフトウェアにおけるデータとしてライセンスコードを格納する第２記憶装置から、第２演算処理装置で、前記所定のソフトウェアに含まれるプログラムを読み出して実行し、
前記管理アプリケーションプログラムのライセンスに対応する正当なライセンスコードを、前記端末装置にインストールされている所定のソフトウェアが有する場合には、前記画像形成装置において、前記第１演算処理装置で、前記管理アプリケーションプログラムに従って、追加アプリケーションプログラムを前記端末装置に要求し、
前記端末装置において、前記第２演算処理装置で、前記所定のソフトウェアに含まれるプログラムに従って、前記画像形成装置からの前記追加アプリケーションプログラムの要求に応答して前記画像形成装置へ前記追加アプリケーションプログラムを送信し、
前記画像形成装置において、前記第１演算処理装置で、前記管理アプリケーションプログラムに従って、前記追加アプリケーションプログラムを受信し前記第１記憶装置にインストールすること、
を特徴とするライセンス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス管理システム、画像形成装置およびライセンス管理方法に関するものである。
【背景技術】
【０００２】
複合機などの画像形成装置に商用アプリケーションプログラムをインストールし使用する場合、通常、ライセンス（使用許諾）が必要であり、ライセンスコードの入力、アクティべーションなどの処理を経ないと、商用アプリケーションプログラムが使用可能とならないようになっている。
【０００３】
あるシステムでは、アプリケーションと、プラットホームと、キーファイルとがＳＤメモリカードに格納され、そのＳＤメモリカードから、キーファイルにおいて指定されている複合機へそのアプリケーションがインストールされた後、複合機が所定のサーバへアクセスしてアクティべーションを要求し、アクティべーションに成功すると、そのアプリケーションが使用可能となる（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１６０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の技術では、ライセンス管理が、サーバを使用したアクティべーションで行われる。このため、ライセンスに合致したアプリケーションプログラムのみが使用可能となる。
【０００６】
しかしながら、ライセンスコードの入力、アクティベーション処理などによってライセンス下でのみ商用アプリケーションプログラムがインストールされ得る複合機においては、開発段階のアプリケーションプログラムといった製品化されていない追加アプリケーションプログラムを、サーバを利用したアクティべーションシステムで、通常の商用アプリケーションプログラムと同様にしてインストールすることはできない。
【０００７】
したがって、ライセンス下のみでアプリケーションプログラムがインストールされ得る複合機においては、開発段階のアプリケーションプログラムといった追加アプリケーションプログラムをインストールして使用することは困難である。
【０００８】
本発明は、上記の問題に鑑みてなされたものであり、ライセンス下のみでアプリケーションプログラムがインストールされ得る画像形成装置に、所定の条件下で追加アプリケーションプログラムをインストールできるライセンス管理システムおよびライセンス管理方法、並びに、それらで使用可能な画像形成装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明では以下のようにした。
【００１０】
本発明に係るライセンス管理システムは、画像形成装置と、画像形成装置にインストールするための追加アプリケーションプログラムを画像形成装置へ供給する端末装置とを備える。そして、画像形成装置は、ライセンス下でインストールされるアプリケーションプログラムを格納可能な第１記憶装置と、第１記憶装置に格納されているアプリケーションプログラムを実行する第１演算処理装置とを有する。第１記憶装置は、アプリケーションプログラムの１つとして管理アプリケーションプログラムを格納している。第１演算処理装置は、管理アプリケーションプログラムを実行し、当該管理アプリケーションプログラムのライセンスに対応する正当なライセンスコードを、端末装置にインストールされている所定のソフトウェアが有する場合には、管理アプリケーションプログラムに従って、追加アプリケーションプログラムを端末装置に要求し、端末装置から、その追加アプリケーションプログラムを取得し第１記憶装置にインストールする。一方、端末装置は、ライセンス下で所定のソフトウェアをインストールされ、所定のソフトウェアにおけるデータとしてライセンスコードを格納する第２記憶装置と、所定のソフトウェアに含まれるプログラムを実行する第２演算処理装置とを有する。第２演算処理装置は、所定のソフトウェアに含まれるプログラムを実行し、そのプログラムに従って、画像形成装置からの追加アプリケーションプログラムの要求に応答して画像形成装置へ追加アプリケーションプログラムを送信する。
【００１１】
これにより、ライセンス下のみでアプリケーションプログラムがインストールされ得る画像形成装置においても、管理アプリケーションがインストールされることで、管理アプリケーションのライセンスの範囲内で、その管理アプリケーションのライセンスに対応するライセンスコードを有する特定のソフトウェアからのみ追加アプリケーションプログラムを取得しインストールできる。
【００１２】
また、本発明に係るライセンス管理システムは、上記のライセンス管理システムに加え、次のようにしてもよい。この場合、上述の所定のソフトウェアは、プログラム開発環境を提供するソフトウェア開発キットであり、上述の追加アプリケーションプログラムは、そのソフトウェア開発キットで開発されるアプリケーションプログラムである。
【００１３】
これにより、ライセンスが設定されていない開発途中のアプリケーションプログラムであっても、試験的に画像形成装置にインストールして実行させることができる。
【００１４】
また、本発明に係るライセンス管理システムは、上記のライセンス管理システムのいずれかに加え、次のようにしてもよい。この場合、ライセンスコードは、所定のソフトウェアがライセンス認証を経て端末装置にインストールされたときに取得され、第２記憶装置に格納される。
【００１５】
これにより、正規ではない所定のソフトウェア（不正コピーなど）を使って、追加アプリケーションが画像形成装置へインストールされることを防止できる。
【００１６】
また、本発明に係るライセンス管理システムは、上記のライセンス管理システムのいずれかに加え、次のようにしてもよい。この場合、１つの所定のソフトウェアから追加アプリケーションプログラムを、所定の数の画像形成装置に対してのみ提供可能であり、１つの画像形成装置は、所定の数の所定のソフトウェアからのみ追加アプリケーションプログラムを取得可能である。
【００１７】
これにより、所定のソフトウェアなどのライセンス条件において、所定のソフトウェアから追加アプリケーションプログラムをインストールできる画像形成装置の数、および画像形成装置へ追加アプリケーションプログラムを提供可能な所定のソフトウェア（つまり端末装置）の数を制限することができる。
【００１８】
また、本発明に係るライセンス管理システムは、上記のライセンス管理システムのいずれかに加え、次のようにしてもよい。この場合、第１演算処理装置は、管理アプリケーションプログラムに従って、端末装置に対して、追加アプリケーションプログラムのリストを要求し、リストから選択された追加アプリケーションプログラムを端末装置に対して要求する。そして、第２演算処理装置は、所定のソフトウェアに含まれるプログラムに従って、画像形成装置からの追加アプリケーションプログラムのリストの要求に応答して画像形成装置へ追加アプリケーションプログラムのリストを送信する。
【００１９】
また、本発明に係るライセンス管理システムは、上記のライセンス管理システムのいずれかに加え、次のようにしてもよい。この場合、追加アプリケーションプログラムは、管理アプリケーションプログラムからのみ呼び出され、第１演算処理装置により実行される。
【００２０】
これにより、追加アプリケーションプログラムを起動させるためには、まず、管理アプリケーションプログラムを起動させる必要がある。このため、ライセンス下でインストールされるアプリケーションプログラムとは区別され、不正にあるいは誤って、追加アプリケーションプログラムを実行させることを防止できる。
【００２１】
また、本発明に係るライセンス管理システムは、上記のライセンス管理システムのいずれかに加え、次のようにしてもよい。この場合、画像形成装置は、表示装置と入力装置とを有する。第１演算処理装置は、所定の制御プログラムに従って、第１記憶装置に格納されているアプリケーションプログラムのリストを表示装置に表示させ、入力装置への所定のユーザ操作があると、アプリケーションプログラムのリストから管理アプリケーションプログラムを選択し、管理アプリケーションプログラムを起動する。また、第１演算処理装置は、管理アプリケーションプログラムに従って、第１記憶装置にインストールされている追加アプリケーションのリストを表示装置に表示させ、入力装置へのユーザ操作に従って、追加アプリケーションプログラムのリストから追加アプリケーションプログラムを選択し、その追加アプリケーションプログラムを起動する。
【００２２】
また、本発明に係るライセンス管理システムは、上記のライセンス管理システムのいずれかに加え、次のようにしてもよい。この場合、第１演算処理装置は、ＪＡＶＡ仮想マシンとして動作する。また、管理アプリケーションプログラムおよび追加アプリケーションプログラムは、そのＪＡＶＡ仮想マシン上で動作するＪＡＶＡプログラムである。
【００２３】
本発明に係る画像形成装置は、ライセンス下でインストールされるアプリケーションプログラムを格納可能な記憶装置と、記憶装置に格納されているアプリケーションプログラムを実行する演算処理装置とを備える。そして、記憶装置は、アプリケーションプログラムの１つとして管理アプリケーションプログラムを格納している。演算処理装置は、管理アプリケーションプログラムを実行し、管理アプリケーションプログラムのライセンスに対応する正当なライセンスコードを、端末装置にインストールされている所定のソフトウェアが有する場合には、管理アプリケーションプログラムに従って、追加アプリケーションプログラムを要求し、端末装置から、その追加アプリケーションプログラムを取得し記憶装置にインストールする。
【００２４】
本発明に係るライセンス管理方法は、端末装置から画像形成装置へ追加アプリケーションプログラムを追加インストールする際のライセンス管理方法であって、（ａ）画像形成装置において、第１演算処理装置で、ライセンス下でインストールされるアプリケーションプログラムを格納可能な第１記憶装置から、アプリケーションプログラムの１つである管理アプリケーションプログラムを読み出して実行し、（ｂ）端末装置において、ライセンス下でインストールされている所定のソフトウェアにおけるデータとしてライセンスコードを格納する第２記憶装置から、第２演算処理装置で、所定のソフトウェアに含まれるプログラムを読み出して実行し、（ｃ）管理アプリケーションプログラムのライセンスに対応する正当なライセンスコードを、端末装置にインストールされている所定のソフトウェアが有する場合には、画像形成装置において、第１演算処理装置で、管理アプリケーションプログラムに従って、追加アプリケーションプログラムを端末装置に要求し、（ｄ）端末装置において、第２演算処理装置で、所定のソフトウェアに含まれるプログラムに従って、画像形成装置からの追加アプリケーションプログラムの要求に応答して画像形成装置へ追加アプリケーションプログラムを送信し、（ｅ）画像形成装置において、第１演算処理装置で、管理アプリケーションプログラムに従って、追加アプリケーションプログラムを受信し第１記憶装置にインストールする。
【００２５】
これにより、ライセンス下のみでアプリケーションプログラムがインストールされ得る画像形成装置においても、管理アプリケーションがインストールされることで、管理アプリケーションのライセンスの範囲内で、ライセンスコードを有する特定のソフトウェアからのみ追加アプリケーションプログラムを取得しインストールできる。
【発明の効果】
【００２６】
本発明によれば、ライセンス下のみでアプリケーションプログラムがインストールされ得る画像形成装置に、所定の条件下で追加アプリケーションプログラムをインストールできるライセンス管理システムおよびライセンス管理方法、並びに、それらで使用可能な画像形成装置を得ることができる。
【図面の簡単な説明】
【００２７】
【図１】図１は、本発明の実施の形態１に係るライセンス管理システムの構成を示すブロック図である。
【図２】図２は、図１に示すシステムにおける複合機にインストールされる商用アプリケーションのインストールパッケージを示す図である。
【図３】図３は、図１に示すシステムにおける複合機に商用アプリケーションプログラムがインストールされ実行されている状態での複合機の構成を示すブロック図である。
【図４】図４は、図３に示すシステムにおいて、複合機へ開発アプリケーションプログラムをインストールする際の処理を示すシーケンス図である。
【図５】図５は、図４に示す処理において、複合機の操作パネルに表示される画面の例を示す図である。
【図６】図６は、図３に示す複合機において、開発アプリケーションプログラムがインストールされている状態での複合機の構成を示すブロック図である。
【図７】図７は、図６に示すシステムにおいて、複合機において開発アプリケーションプログラムが起動される際の処理を示すシーケンス図である。
【図８】図８は、図７に示す処理において、複合機の操作パネルに表示される画面の例を示す図である。
【図９】図９は、図６に示す複合機において、開発アプリケーションプログラムが起動されている状態での複合機の構成を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下、図に基づいて本発明の実施の形態を説明する。
【００２９】
実施の形態１．
図１は、本発明の実施の形態１に係るライセンス管理システムの構成を示すブロック図である。図１に示すシステムは、複合機１と、開発者端末装置２とを有する。複合機１と、開発者端末装置２との間では、ネットワークなどの通信路を介してデータ通信が可能である。複合機１は、画像形成装置の一種である。開発者端末装置２は、例えばパーソナルコンピュータなどで構成される。
【００３０】
複合機１は、プリンタ１１と、スキャナ１２と、ＦＡＸ装置１３と、操作パネル１４と、通信装置１５と、記憶装置１６と、演算処理装置１７とを備える。
【００３１】
プリンタ１１は、印刷データに基づいて文書画像を印刷する装置である。スキャナ１２は、文書から文書画像を光学的に読み取り、文書画像の画像データを生成する装置である。ファクシミリ装置１３は、送信すべき文書データからファクシミリ信号を生成し送信するとともに、ファクシミリ信号を受信し文書データに変換する装置である。
【００３２】
また、操作パネル１４は、複合機１の筐体表面に配置され、ユーザに対して各種情報を表示する表示装置と、ユーザ操作を検出する入力装置とを有する。表示装置としては例えば液晶ディスプレイが使用される。入力装置としては、キースイッチ、タッチパネルなどが使用される。
【００３３】
また、通信装置１５は、通信路に接続され、開発者端末装置２との間でデータ通信が可能な装置である。複合機１および開発者端末装置２が同一のコンピュータネットワークに接続されている場合には、通信装置１５には、ネットワークインタフェースが使用される。複合機１および開発者端末装置２が同一の電話網に接続されている場合には、通信装置１５には、モデムが使用される。
【００３４】
また、記憶装置１６は、各種プログラムおよび各種データを格納可能な装置である。記憶装置１６としては、ハードディスクドライブ、不揮発性メモリなどが使用される。
【００３５】
また、演算処理装置１７は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを有するコンピュータであり、記憶装置１６などからＲＡＭへプログラムをロードし、そのプログラムをＣＰＵで実行することにより、各種処理部を実現する。
【００３６】
記憶装置１６には、複合機１の動作に最低限必要なプログラムが少なくとも予め格納されている。そして、複合機１の起動後にそのプログラムが演算処理装置１７により適宜実行される。このプログラムにより、オペレーティングシステム（ＯＳ）２１、コントローラ２２、ＪＡＶＡ仮想マシン２３、コントローラＡＰＩ２４およびアプリケーション管理部２５が実現される。
【００３７】
コントローラ２２は、プリンタ１１、スキャナ１２、ファクシミリ装置１３および操作パネル１４を制御するとともに、それらとの間でデータ入出力を行う処理部である。
【００３８】
コントローラＡＰＩ２４は、プリンタ１１、スキャナ１２、ファクシミリ装置１３および操作パネル１４の機能を実行させたり、それらとの間でデータ入出力を実行させたりする際に、ＪＡＶＡ仮想マシン２３上で動作するアプリケーションからの指令に従って、コントローラ２２を動作させる処理部である。
【００３９】
アプリケーション管理部２５は、商用アプリケーションのライフサイクル（インストール、起動、停止およびアンインストール）を管理する処理部である。つまり、アプリケーション管理部２５が、商用アプリケーションのインストール、起動、停止およびアンインストールを行う。商用アプリケーションのインストールの詳細に関しては後述する。
【００４０】
一方、開発者端末装置２は、記憶装置３１と、演算処理装置３２と、入力装置３３と、表示装置３４と、通信装置３５とを備える。
【００４１】
記憶装置３１は、各種プログラムおよび各種データを格納可能な装置である。記憶装置３１としては、ハードディスクドライブ、不揮発性メモリなどが使用される。
記憶装置３１には、ソフトウェア開発キット５１が予め格納されている。
【００４２】
ソフトウェア開発キット（ＳＤＫ）４１は、ＳＤＫプログラム５１およびＳＤＫライセンスコード５２を有するソフトウェアである。ＳＤＫプログラム５１は、複合機１で実行可能なアプリケーションプログラムの開発環境を提供するためのプログラムである。ＳＤＫライセンスコード５２は、ソフトウェア開発キット５１のインストール時に、ライセンス認証の成功後に付与されるデータである。ＳＤＫライセンスコード５２は、正当なライセンスを有するＳＤＫ４１に固有なライセンス識別データとして使用される。
【００４３】
このＳＤＫ４１は、後述のＳＤＫ管理アプリケーションプログラムと対をなし、ライセンス管理される。したがって、対となるＳＤＫ４１とＳＤＫ管理アプリケーションプログラムには、共通のシリアル番号、共通の識別子などといった、共通情報が付与されている。そして、ＳＤＫライセンスコード５２は、その共通情報に基づいて生成される。
【００４４】
また、演算処理装置３２は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを有するコンピュータであり、記憶装置３１などからＲＡＭへプログラムをロードし、そのプログラムをＣＰＵで実行することにより、各種処理部を実現する。
【００４５】
開発者端末装置２の起動後に演算処理装置３２によりＳＤＫプログラム５１が実行されると、ＳＤＫプラットホーム６１が実現される。ＳＤＫプラットホーム６１は、ウィンドウズ（登録商標）などＯＳ上で動作し、エディタ、コンパイラ、ライブラリ、デバッガ、シミュレータなどを有するプログラム開発環境を提供する処理部である。ＳＤＫプラットホーム６１で開発されたあるいは開発途中のアプリケーションプログラム（開発アプリケーションプログラム）７１，７２は、記憶装置３１に格納される。
【００４６】
また、入力装置３３は、ユーザ操作を検出する装置である。入力装置３３としては、キーボード、マウスなどが使用される。表示装置３４は、ユーザに対して各種情報を表示する装置である。表示装置３４としては、例えば液晶ディスプレイが使用される。
【００４７】
また、通信装置３５は、通信路に接続され、複合機１との間でデータ通信が可能な装置である。複合機１および開発者端末装置２が同一のコンピュータネットワークに接続されている場合には、通信装置３５には、ネットワークインタフェースが使用される。複合機１および開発者端末装置２が同一の電話網に接続されている場合には、通信装置３５には、モデムが使用される。
【００４８】
次に、図１における複合機１への商用アプリケーションのインストールについて説明する。図２は、図１に示すシステムにおける複合機１にインストールされる商用アプリケーションのインストールパッケージを示す図である。
【００４９】
インストールパッケージ１００１は、商用アプリケーションプログラム１０１１、アプリケーション属性情報１０１２およびライセンスコード１０１３を有するデータファイルである。正規のインストールパッケージ１００１は、正規の発行元により生成されており、正規のアプリケーション属性情報１０１２およびライセンスコード１０１３を有する。
【００５０】
アプリケーション属性情報１０１２は、商用アプリケーションプログラム１０１１を起動する際に必要な情報である。例えば、アプリケーション属性情報１０１２は、ベンダ情報、バージョン情報、その商用アプリケーションプログラムの起動後最初に表示するウェブページのＵＲＬなどを含む。
【００５１】
ライセンスコード１０１３は、商用アプリケーションプログラム１０１１のライセンス（使用許諾）の認証処理に使用されるデータである。ライセンスコード１０１３は、ユーザがインストール時に入力したライセンスコードが正しいか否かを判定するために使用されたり、図示せぬアクティベーションサーバに対するアクティベーション要求とともに送信されたりする。
【００５２】
このインストールパッケージ１００１が、記録媒体または通信媒体から複合機１に格納された後、アプリケーション管理部２５は、アプリケーション属性情報１０１２およびライセンスコード１０１３を使用して、ライセンス認証処理を実行する。
【００５３】
ライセンス認証処理としては、（ａ）入力画像を操作パネルに表示してユーザに対してライセンスコードの入力を促し、ユーザにより入力されたライセンスコードとライセンスコード１０１３が一致するか否かに基づいて、ライセンスの有無を判定する処理、および／または（ｂ）図示せぬアクティベーションサーバに対するアクティベーション要求とともにライセンスコード１０１３を送信し、アクティベーションの可否を含む応答をそのサーバから受信し、その応答に基づいてライセンスの有無を判定する処理が、行われる。
【００５４】
なお、ライセンスコード１０１３をインストールパッケージ１００１に含めずに、商用アプリケーションプログラム１０１１の説明書などの紙面上に印刷しておき、ユーザに入力させるようにしてもよい。その場合、入力されたライセンスコードが、図示せぬアクティベーションサーバに対するアクティベーション要求とともに送信され、アクティベーションの可否を含む応答がそのサーバから受信され、その応答に基づいてライセンスの有無を判定する処理が行われる。
【００５５】
そして、ライセンス認証処理においてライセンスが有ると判定した場合、アプリケーション管理部２５は、商用アプリケーションプログラム１０１１、アプリケーション属性情報１０１２およびライセンスコード１０１３をインストールパッケージ１００１から読み出し、それらを記憶装置１６に格納する。
【００５６】
これにより、正規のライセンスを有する商用アプリケーションプログラムのみが複合機１にインストールされる。
【００５７】
図３は、図１に示すシステムにおける複合機１に商用アプリケーションプログラムがインストールされ実行されている状態での複合機１の構成を示すブロック図である。図３に示す構成では、商用アプリケーションプログラムとして、商用アプリケーションプログラム１０１およびＳＤＫ管理アプリケーションプログラム１０２がインストールされている。
【００５８】
ＳＤＫ管理アプリケーションプログラム１０２のライセンスコード１０１３は、上述の対となるＳＤＫ４１との共通情報に基づいて生成されている。したがって、一方のライセンスコードに基づいて、その対となる他方のライセンスコードが特定可能とされている。例えば、対となるＳＤＫ４１とＳＤＫ管理アプリケーションプログラム１０２のライセンスコードを同一の値としてもよい。
【００５９】
そして、商用アプリケーションプログラム１０１がＪＡＶＡ仮想マシン２３上で実行されると、商用アプリケーション１１１が実現される。また、ＳＤＫ管理アプリケーションプログラム１０２がＪＡＶＡ仮想マシン２３上で実行されると、ＳＤＫ管理アプリケーション１１２が実現される。
【００６０】
ＳＤＫ管理アプリケーション１１２は、商用アプリケーションの１つであり、このＳＤＫ管理アプリケーション１１２に対応する特定のＳＤＫプラットホーム６１で開発された追加アプリケーションプログラム（開発アプリケーションプログラム７１，７２）を、その追加アプリケーションプログラムについてのライセンス認証なしでインストールできる処理部である。
【００６１】
次に、複合機１への開発アプリケーションプログラムのインストールについて説明する。図４は、図３に示すシステムにおいて、複合機１へ開発アプリケーションプログラムをインストールする際の処理を示すシーケンス図である。図５は、図４に示す処理において、複合機１の操作パネル１４に表示される画面の例を示す図である。
【００６２】
複合機１のアプリケーション管理部２５は、インストール済みの商用アプリケーションプログラムを選択するためのアプリケーションメニューを、例えば図５（Ａ）に示すように操作パネル１４の表示装置に表示させる。そして、このメニューにおいて、「ＳＤＫ管理アプリケーション」が選択されて、「起動」ボタンが押下されると、それらのユーザ操作が操作パネル１４の入力装置で検出され、アプリケーション管理部２５に通知される（ステップＳ１）。アプリケーション管理部２５は、その通知があると、ＳＤＫ管理アプリケーションプログラム１０２を呼び出してＳＤＫ管理アプリケーション１１２を起動する（ステップＳ２）。
【００６３】
ＳＤＫ管理アプリケーション１１２は、起動すると、動作メニューを、例えば図５（Ｂ）に示すように操作パネル１４の表示装置に表示させる。そして、このメニューにおいて、開発アプリケーションのインストールが選択されると、そのユーザ操作が操作パネル１４の入力装置で検出され、ＳＤＫ管理アプリケーション１１２に通知される（ステップＳ３）。ＳＤＫ管理アプリケーション１１２は、その通知があると、ＳＤＫプラットホームのアドレスリストを含む選択画面を、例えば図５（Ｃ）に示すように操作パネル１４の表示装置に表示させる。このとき、ＳＤＫ管理アプリケーション１１２は、予め格納されている設定データに登録されているＳＤＫプラットホームのアドレスを読み出し、表示させる（ステップＳ４）。なお、図５（Ｃ）に示すアドレスの選択画面において、「登録」ボタンが押下されると、新たなアドレスを入力するための入力画面が表示され、その入力画面で新たなアドレスが入力されると、そのアドレスが設定データに登録される。また、その選択画面において、「削除」ボタンが押下されると、選択されているアドレスが、設定データから削除される。
【００６４】
そして、このリストにおいて、開発者端末装置２のＳＤＫプラットホーム６１のアドレスが選択されて、「次へ」ボタンが押下されると、それらのユーザ操作が操作パネル１４の入力装置で検出され、ＳＤＫ管理アプリケーション１１２に通知される（ステップＳ５）。ＳＤＫ管理アプリケーション１１２は、その通知があると、選択されたアドレスのＳＤＫプラットホーム６１へ、そのＳＤＫプラットホーム６１で開発され記憶装置３１に格納されている開発アプリケーションプログラム７１，７２のリストの送信要求を、通信装置１５で送信する（ステップＳ６）。
【００６５】
開発者端末装置２のＳＤＫプラットホーム６１は、その送信要求を通信装置３５で受信すると、ＳＤＫプラットホーム６１で開発され記憶装置３１に格納されている開発アプリケーションプログラム７１，７２のリストを通信装置３５で複合機１へ送信する（ステップＳ７）。
【００６６】
複合機１のＳＤＫ管理アプリケーション１１２は、通信装置１５でそのリストを受信すると、そのリストを含む選択画面を、例えば図５（Ｄ）に示すように、操作パネル１４の表示装置に表示させる（ステップＳ８）。そして、このリストにおいて、いずれかの開発アプリケーションプログラムが選択され、「インストール」ボタンが押下されると、それらのユーザ操作が操作パネル１４の入力装置で検出され、ＳＤＫ管理アプリケーション１１２に通知される（ステップＳ９）。ＳＤＫ管理アプリケーション１１２は、その通知があると、ステップＳ５で選択されたＳＤＫプラットホーム６１に対して、ライセンスコードの送信要求を通信装置１５で送信する（ステップＳ１０）。
【００６７】
開発者端末装置２のＳＤＫプラットホーム６１は、その送信要求を通信装置３５で受信すると、ライセンスコード５２を読み出し、通信装置３５で複合機１へ送信する（ステップＳ１１）。
【００６８】
複合機１のＳＤＫ管理アプリケーション１１２は、通信装置１５でそのライセンスコード５２を受信すると、そのライセンスコード５２に基づいてＳＤＫプラットホーム６１のついての認証処理を実行する（ステップＳ１２）。
【００６９】
認証処理では、そのライセンスコード５２がＳＤＫ管理アプリケーション１１２のライセンスコードに対応するものであるか否かが判定される。たとえば、両者が一致するか否かで、あるいは、これらの一方に対する所定の関数値が他方の値と一致するか否かで、そのライセンスコード５２がＳＤＫ管理アプリケーション１１２のライセンスコードに対応するものであるか否かが判定される。そのライセンスコード５２がＳＤＫ管理アプリケーション１１２のライセンスコードに対応するものである場合には、そのライセンスコード５２を有するＳＤＫプラットホーム６１からの開発アプリケーションプログラム７１，７２のダウンロードが許可され、そうでない場合には、そのＳＤＫプラットホーム６１からの開発アプリケーションプログラム７１，７２のダウンロードが許可されない。
【００７０】
あるいは、この認証処理において、ＳＤＫ管理アプリケーション１１２は、図示せぬサーバ装置に、そのライセンスコード５２、ＳＤＫ管理アプリケーション１１２のライセンスコード、および認証要求を送信し、そのライセンスコード５２を有するＳＤＫプラットホーム６１からの開発アプリケーションプログラム７１，７２のダウンロードが許可されるか否かを示す認証結果をそのサーバ装置から受信するようにしてもよい。
【００７１】
そして、そのＳＤＫプラットホーム６１からの開発アプリケーションプログラムのダウンロードが許可された場合、ＳＤＫ管理アプリケーション１１２は、ステップＳ９で選択された開発アプリケーションプログラムの送信要求を、通信装置１５でＳＤＫプラットホーム６１へ送信する（ステップＳ１３）。
【００７２】
開発者端末装置２のＳＤＫプラットホーム６１は、その送信要求を通信装置３５で受信すると、その送信要求で指定されている開発アプリケーションプログラムを読み出し、その開発アプリケーションプログラムの属性情報とともに、通信装置３５で複合機１へ送信する（ステップＳ１４）。この属性情報には、開発アプリケーションプログラムの名称などが含まれる。
【００７３】
複合機１のＳＤＫ管理アプリケーション１１２は、通信装置１５でその開発アプリケーションプログラムおよび属性情報を受信すると、その開発アプリケーションプログラムを、記録装置１６における所定の記憶領域に格納し、その属性情報に基づいて、図示せぬ追加アプリケーションリストにその開発アプリケーションプログラムを登録する（ステップＳ１５）。この追加アプリケーションリストは、記憶装置１６に格納されており、各開発アプリケーションプログラムの名称、格納場所などの属性情報を含む。
【００７４】
このようにして開発アプリケーションプログラムのインストールが完了すると、ＳＤＫ管理アプリケーション１１２は、インストール完了のメッセージを含む画面を、例えば図５（Ｅ）に示すように、操作パネル１４の表示装置に表示させる（ステップＳ１６）。その後、その画面におけるＯＫボタンが押下されると、そのユーザ操作が操作パネル１４の入力装置で検出され、ＳＤＫ管理アプリケーション１１２に通知される。ＳＤＫ管理アプリケーション１１２は、その通知があると、例えば図５（Ｂ）に示すように、動作メニュー画面を再度表示させる。
【００７５】
このようにして、複合機１への開発アプリケーションプログラムのインストールが行われる。図６は、図３に示す複合機において、開発アプリケーションプログラムがインストールされている状態での複合機１の構成を示すブロック図である。図６に示す構成では、２つの開発アプリケーションプログラム１２１，１２２がインストールされている。
【００７６】
次に、複合機１にインストールされている開発アプリケーションの起動について説明する。図７は、図６に示すシステムにおいて、複合機１において開発アプリケーションプログラムが起動される際の処理を示すシーケンス図である。図８は、図７に示す処理において、複合機１の操作パネルに表示される画面の例を示す図である。
【００７７】
上述したように、複合機１において、アプリケーション管理部２５がＳＤＫ管理アプリケーション１１２を起動すると（ステップＳ１，Ｓ２）、ＳＤＫ管理アプリケーション１１２は、動作メニューを、例えば図８（Ａ）に示すように操作パネル１４の表示装置に表示させる。そして、このメニューにおいて、開発アプリケーションの起動が選択されると、そのユーザ操作が操作パネル１４の入力装置で検出され、ＳＤＫ管理アプリケーション１１２に通知される（ステップＳ２１）。ＳＤＫ管理アプリケーション１１２は、その通知があると、上述の追加アプリケーションリストを参照して、インストール済みの追加アプリケーションプログラム（上述の開発アプリケーションプログラム１２１，１２２）を特定し、そのインストール済みの追加アプリケーションプログラムのリストを、例えば図８（Ｂ）に示すように、操作パネル１４の表示装置に表示させる（ステップＳ２２）。
【００７８】
そして、このリストにおいて、いずれかの開発アプリケーションプログラムが選択され、起動ボタンが押下されると、それらのユーザ操作が操作パネル１４の入力装置で検出され、ＳＤＫ管理アプリケーション１１２に通知される（ステップＳ２３）。ＳＤＫ管理アプリケーション１１２は、その通知があると、選択された開発アプリケーションプログラムを特定し、その開発アプリケーションプログラムの属性情報に基づいて、その開発アプリケーションプログラムを呼び出して、開発アプリケーションを起動する（ステップＳ２４）。開発アプリケーションは、起動後に、例えば図８（Ｃ）に示すような、その開発アプリケーションの画面を、操作パネル１４の表示装置に表示させる。開発アプリケーションプログラムは、ＪＡＶＡ仮想マシン２３上で実行される。
【００７９】
このようにして、複合機１にインストールされている開発アプリケーションが、ＳＤＫ管理アプリケーション１１２により起動される。図９は、図６に示す複合機１において、開発アプリケーションプログラム１２１，１２２が起動されている状態での複合機１の構成を示すブロック図である。図９に示す構成では、２つの開発アプリケーションプログラム１２１，１２２による開発アプリケーション１３１，１３２が動作している。
【００８０】
以上のように、上記実施の形態１によれば、複合機１は、ライセンス下でインストールされるアプリケーションプログラムを格納可能な記憶装置１６と、記憶装置１６に格納されているアプリケーションプログラムを実行する演算処理装置１７とを有する。記憶装置１６は、アプリケーションプログラムの１つとしてＳＤＫ管理アプリケーションプログラム１０２を格納している。また、演算処理装置１７は、ＳＤＫ管理アプリケーションプログラム１０２を実行し、当該ＳＤＫ管理アプリケーションプログラム１０２のライセンスに対応する正当なライセンスコードを、端末装置２にインストールされているＳＤＫ４１が有する場合には、管理アプリケーションプログラム１０２に従って、開発アプリケーションプログラムを要求し、ＳＤＫ４１によるＳＤＫプラットホーム６１から、その開発アプリケーションプログラムを取得し記憶装置１６にインストールする。一方、端末装置２は、ライセンス下でＳＤＫ４１をインストールされ、ＳＤＫ４１におけるデータとしてライセンスコード５２を格納する記憶装置３１と、ＳＤＫ４１に含まれるＳＤＫプログラム５１を実行する演算処理装置３２とを有する。演算処理装置３２は、ＳＤＫ４１に含まれるＳＤＫプログラム５１を実行し、そのプログラム５１に従って、複合機１からの開発アプリケーションプログラムの要求に応答して複合機１へ開発アプリケーションプログラムを送信する。つまり、ＳＤＫプラットホーム６１が起動している状態でのみ、開発アプリケーションプログラムが複合機１へ送信される。
【００８１】
これにより、ライセンス下のみで商用アプリケーションプログラムがインストールされ得る複合機１においても、ＳＤＫ管理アプリケーション１１２がインストールされることで、ＳＤＫ管理アプリケーション１１２のライセンスの範囲内で、ライセンスコード５２を有する特定のＳＤＫ４１のＳＤＫプラットホーム６１からのみ開発アプリケーションプログラムを取得しインストールできる。
【００８２】
したがって、ＳＤＫ４１のライセンス管理が効果的に行うことができる。また、ＳＤＫ管理アプリケーション１１２からのみ、開発アプリケーションを起動可能なため、開発アプリケーションプログラムを不正に配布されたとしても、ＳＤＫ管理アプリケーションのない複合機では、その開発アプリケーションプログラムを実行することができない。
【００８３】
また、開発アプリケーションプログラムを試験的に複合機１（つまり、実機）で動作させることができる。
【００８４】
実施の形態２．
本発明の実施の形態２に係るライセンス管理システムは、実施の形態１のシステムに加えて、１つのＳＤＫ４１の開発アプリケーションプログラム７１，７２は、所定の数（１または複数）の複合機１に対してのみ提供可能であり、１つの複合機１は、所定の数（１または複数）のＳＤＫ４１（つまり、所定の数のＳＤＫ４１がインストールされている端末装置２）からのみ追加アプリケーションプログラムを取得可能である。
【００８５】
その際、例えば、複合機１では、ＳＤＫ管理アプリケーション１１２が、開発アプリケーションプログラムのダウンロード元の端末装置２（あるいはＳＤＫプラットホーム６１）の識別情報（ネットワークアドレス、製品シリアル番号など、複合機１が端末装置２から取得可能なもの）を登録していき、所定の数の端末装置２のＳＤＫプラットホーム６１からのみ開発アプリケーションプログラムをダウンロードする。
【００８６】
また、例えば、端末装置２では、ＳＤＫプラットホーム６１が、開発アプリケーションプログラムを送信した複合機１の識別情報（ネットワークアドレス、製品シリアル番号など、端末装置２が複合機１から取得可能なもの）を登録していき、所定の数の複合機１のみに開発アプリケーションプログラムを供給する。
【００８７】
以上のように、上記実施の形態２によれば、所定のソフトウェアなどのライセンス条件において、所定のソフトウェアから追加アプリケーションプログラムをインストールできる画像形成装置の数、および画像形成装置へ追加アプリケーションプログラムを提供可能な所定のソフトウェア（つまり端末装置）の数を制限することができる。
【００８８】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００８９】
例えば、上記各実施の形態において、複合機１においてアプリケーションプログラムを記憶装置１６に格納せずに、通信可能な他の装置における記憶装置１６に格納しておき、記憶装置１６には、他の装置におけるそのアプリケーションプログラムの格納場所を示す情報（ファイルパス、ＵＲＬなど）を格納しておくようにしてもよい。その場合、演算処理装置１７は、その情報に基づいて、アプリケーションプログラムの格納場所を特定し、他の装置から取得する。
【００９０】
また、上記各実施の形態においては、画像形成装置として、複合機１が使用されているが、その代わりに、コピー機、ファクシミリ機などをしようしてもよい。
【００９１】
また、上記各実施の形態において、ＳＤＫプラットホーム６１のアドレスの登録数を、所定の数以下に制限するようにしてもよい。
【００９２】
また、上記各実施の形態において、１台の複合機１にインストール可能な開発アプリケーションプログラムの数を、所定の数以下に制限するようにしてもよい。
【００９３】
また、上記各実施の形態において、複合機１と端末装置２との間のデータ通信に、可搬性のある記録媒体（ＵＳＢメモリ、メモリカードなど）を使用してもよい。その場合、通信装置１５，３５の代わりに、その記録媒体に対するリーダライタがそれぞれ使用される。
【００９４】
また、上記各実施の形態において、端末装置２の代わりに、クライアント装置のＳＤＫプラットホームで開発された開発アプリケーションプログラムを保存して管理するサーバ装置から、開発アプリケーションプログラムを複合機１へダウンロードするようにしてもよい。
【００９５】
なお、上記各実施の形態において、ＳＤＫ管理アプリケーションプログラム１０２、および開発アプリケーションプログラムは、ＪＡＶＡ仮想マシン２３上で動作するＪＡＶＡプログラムである。
【産業上の利用可能性】
【００９６】
本発明は、例えば、複合機にインストールするアプリケーションを開発するＳＤＫのライセンス管理に適用可能である。
【符号の説明】
【００９７】
１  複合機（画像形成装置の一例）
２  開発者端末装置（端末装置の一例）
１４  操作パネル（表示装置の一例，入力装置の一例）
１６  記憶装置（第１記憶装置の一例，記憶装置の一例）
１７  演算処理装置（第１演算処理装置の一例，演算処理装置の一例）
２３  ＪＡＶＡ仮想マシン
３１  記憶装置（第２記憶装置の一例）
３２  演算処理装置（第２演算処理装置の一例）
４１  ソフトウェア開発キット（所定のソフトウェアの一例）
５２  ライセンスコード
６１  ＳＤＫプラットホーム（所定のソフトウェアの一例）
７１，７２，１２１，１２２  開発アプリケーションプログラム（追加アプリケーションプログラムの一例）
１０１  商用アプリケーション（アプリケーションプログラムの一例）
１０２  ＳＤＫ管理アプリケーションプログラム（管理アプリケーションプログラムの一例）
【図１】
2010186376.tif 000003
【図２】
2010186376.tif 000004
【図３】
2010186376.tif 000005
【図４】
2010186376.tif 000006
【図５】
2010186376.tif 000007
【図６】
2010186376.tif 000008
【図７】
2010186376.tif 000009
【図８】
2010186376.tif 000010
【図９】
2010186376.tif 000011