(57)【要約】【課題】複数のプログラムをパッケージ単位でアクティベーションでき、各プログラムの有効又は無効を容易に設定できる画像形成装置等を提供すること。【解決手段】販売パッケージが含む１以上のプログラム７３を、販売パッケージのアクティベーションにより起動情報に登録されていることを条件に起動する画像形成装置１００であって、販売パッケージ情報７４と、機能パッケージ情報７５、を記憶する情報記憶手段１５と、販売パッケージがアクティベーションされた場合、機能パッケージ情報に登録された該販売パッケージに含まれるプログラムの有効数をインクリメントし、有効情報が無効状態を示していた場合に、該プログラムコンポーネントの有効情報を有効状態に設定する機能パッケージ情報更新手段８７と、該プログラムの有効情報が、無効状態から有効状態に設定された場合、起動情報に該プログラムを登録する起動情報更新手段９２と、を有することを特徴とする。【選択図】図１
2010011408.tif 000002
【特許請求の範囲】
【請求項１】
販売パッケージのアクティベーションにより起動情報に登録された、該販売パッケージが含む１以上のプログラムコンポーネントを起動する画像形成装置であって、
販売パッケージのアクティベーション状態、及び、該販売パッケージが含む前記プログラムコンポーネントのコンポーネント識別情報を登録した販売パッケージ情報と、
前記プログラムコンポーネントの購入数のうちアクティベーションにより有効となった前記コンポーネントの有効数、及び、前記コンポーネント毎に有効状態か否かを示す有効情報と、を登録した機能パッケージ情報、を記憶する情報記憶手段と、
販売パッケージがアクティベーションされた場合、該販売パッケージが含む前記プログラムコンポーネントの、前記機能パッケージ情報に登録された前記有効数をインクリメントし、アクティベーション前の前記有効情報が無効状態を示していた場合に、該プログラムコンポーネントの有効情報を有効状態に設定する機能パッケージ情報更新手段と、
該プログラムコンポーネントの有効情報が、無効状態から有効状態に設定された場合、前記起動情報に該プログラムコンポーネントを登録する起動情報更新手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記販売パッケージ情報に、販売パッケージに含まれる前記プログラムコンポーネントが使用可能な有効期限を登録する販売パッケージ情報更新手段と、
前記有効期限の超過を検出する期限管理手段と、
前記期限管理手段が前記有効期限の超過を検出した場合、当該販売パッケージをディアクティベーションする制御手段と、
を有することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記起動情報に記憶された前記プログラムコンポーネントを起動する起動手段を有し、
前記販売パッケージ情報に前記有効期限が登録された場合、
前記機能パッケージ情報更新手段は、前記機能パッケージ情報に登録された、該販売パッケージの前記有効期限を機能パッケージ毎に登録した有効期限リストを更新し、
前記起動情報更新手段は、機能パッケージ毎に、前記有効期限リストの前記有効期限のうち最も期日の遅い起動用有効期限を前記起動情報に登録し、
前記起動手段は、前記起動情報に登録された前記起動用有効期限を現在の日付が超過した場合には当該プログラムコンポーネントを起動しない、
ことを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記有効期限リストに前記有効期限が設定されていないことを示す情報が含まれている場合、
前記起動情報更新手段は、前記起動情報における該機能パッケージの前記起動用有効期限をなしに設定する、
ことを特徴とする請求項３記載の画像形成装置。
【請求項５】
前記販売パッケージの購入の際、該販売パッケージの使用権限を認めるライセンス情報に、当該画像形成装置を一意に識別する機器特定識別コードが対応づけて登録されている場合、
前記制御手段は、当該販売パッケージがアクティベーションされる際、前記ライセンス情報に対応づけられた前記機器特定識別コードと、当該画像形成装置に予め記憶されている前記機器特定識別コードとが一致する場合にのみ、アクティベーションを許可する、
を有することを特徴とする請求項２記載の画像形成装置。
【請求項６】
前記ライセンス情報に、前記販売パッケージの使用権限を定める期限を示すマスター有効期限が登録されている場合、
前記販売パッケージ情報更新手段は、当該販売パッケージがアクティベーションされる際、前記ライセンス情報から前記マスター有効期限を読み出し、前記販売パッケージ情報に登録する、
を有することを特徴とする請求項５記載の画像形成装置。
【請求項７】
前記ライセンス情報に、前記販売パッケージの使用権限が認められた期間が登録されている場合、
前記販売パッケージ情報更新手段は、当該画像形成装置のシステム時計が示す現在の日付に前記期間が加えられた前記有効期限を、前記販売パッケージ情報に登録する、
ことを特徴とする請求項５記載の画像形成装置。
【請求項８】
前記販売パッケージ情報の前記有効期限から、予め定められた有効残期間を減じたリマインド日を記憶しておき、システム時計が示す現在の日付が前記リマインド日になると、前記有効残期間の経過後又は前記有効期限に、販売パッケージの使用権限が消尽する旨をユーザに通知する期限通知手段、
を有することを特徴とする請求項２〜７いずれか１項記載の画像形成装置。
【請求項９】
前記ライセンス情報に、当該ライセンス情報を作成した作成日が登録されている場合、
当該画像形成装置のシステム時計が示す現在の日付と前記作成日を比較して、現在の日付が前記作成日よりも前であることを検出する日付比較手段を有し、
前記制御手段は、アクティベーションを禁止する、
ことを特徴とする請求項５〜８いずれか１項記載の画像形成装置。
【請求項１０】
前記ライセンス情報を一意に識別するライセンスユニークＩＤが登録されている場合、
販売パッケージがディアクティベーションされる際に、該販売パッケージの前記ライセンスユニークＩＤをＩＤリスト記憶手段に記憶しておき、
販売パッケージがアクティベーションされる際、前記ライセンス情報に登録された前記ライセンスユニークＩＤが、前記ＩＤリスト記憶手段に記憶されているか否かを判定するＩＤ永続化手段を有し、
前記制御手段は、前記ライセンス情報に登録された前記ライセンスユニークＩＤが、前記ＩＤリスト記憶手段に記憶されている場合、アクティベーションを禁止する、
ことを特徴とする請求項５〜９いずれか１項記載の画像形成装置。
【請求項１１】
販売パッケージがディアクティベーションされた際、
前記機能パッケージ情報更新手段は、前記機能パッケージ情報に登録された該販売パッケージに含まれる前記プログラムコンポーネントの前記有効数をデクリメントし、  
デクリメントの結果、前記有効数がゼロになると、該プログラムコンポーネントの有効情報を無効状態に設定する、
ことを特徴とする請求項１記載の画像形成装置。
【請求項１２】
販売パッケージのアクティベーションにより起動情報に登録された、該販売パッケージが含む１以上のプログラムコンポーネントを起動し、
販売パッケージのアクティベーション状態、及び、該販売パッケージが含む前記プログラムコンポーネントのコンポーネント識別情報を登録した販売パッケージ情報と、
前記プログラムコンポーネントの購入数のうちアクティベーションにより有効となった前記コンポーネントの有効数、及び、前記コンポーネント毎に有効状態か否かを示す有効情報と、を登録した機能パッケージ情報、を記憶する情報記憶手段と、を有する画像形成装置のアクティベーション方法であって、
機能パッケージ情報更新手段が、販売パッケージがアクティベーションされた場合、該販売パッケージが含む前記プログラムコンポーネントの、前記機能パッケージ情報に登録された前記有効数をインクリメントし、前記有効情報が無効状態を示していた場合に、該プログラムコンポーネントの有効情報を有効状態に設定するステップと、
起動情報更新手段が、該プログラムコンポーネントの有効情報が、無効状態から有効状態に設定された場合、前記起動情報に該プログラムコンポーネントを登録するステップと、
を有することを特徴とするアクティベーション方法。
【請求項１３】
販売パッケージのアクティベーションにより起動情報に登録された、該販売パッケージが含む１以上のプログラムコンポーネントを起動し、
販売パッケージのアクティベーション状態、及び、該販売パッケージが含む前記プログラムコンポーネントのコンポーネント識別情報を登録した販売パッケージ情報と、
前記プログラムコンポーネントの購入数のうちアクティベーションにより有効となった前記コンポーネントの有効数、及び、前記コンポーネント毎に有効状態か否かを示す有効情報と、を登録した機能パッケージ情報、を記憶する情報記憶手段と、接続されたコンピュータに、
販売パッケージがアクティベーションされた場合、該販売パッケージが含む前記プログラムコンポーネントの、前記機能パッケージ情報に登録された前記有効数をインクリメントし、前記有効情報が無効状態を示していた場合に、該プログラムコンポーネントの有効情報を有効状態に設定するステップと、
起動情報更新手段が、該プログラムコンポーネントの有効情報が、無効状態から有効状態に設定された場合、前記起動情報に該プログラムコンポーネントを登録するステップと、
を実行させるプログラム。
【請求項１４】
請求項１３記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、販売パッケージに含まれるプログラムコンポーネントを起動する画像形成装置等に関し、特に、販売パッケージがアクティベーションされた場合にプログラムコンポーネントを起動する画像形成装置、アクティベーション方法、プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
プログラムを実行して種々の機能を実現する情報処理装置では、インストールするプログラムの増減に応じて機能を増減させることができ、ユーザは情報処理装置を購入した後でも、必要な機能を提供するプログラムを購入してインストールすることで、その機能を利用できるようになる。
【０００３】
また、プログラムのインストール時又はその後に、そのプログラムの機能を有効にするアクティベーションという作業が必要なプログラムがある。このアクティベーションは、例えば、その情報処理装置でそのプログラムを使用する権限を与える作業又はそれを証明するライセンス情報を生成し、所定のサーバ及び情報処理装置に記憶することをいう（例えば、特許文献１参照。）。特許文献１記載のアクティベーションによれば、ライセンス情報にはプログラムを識別する識別情報が含まれるので、他の情報処理装置に同じプログラムをインストールしてもサーバがアクティベーションを許可せず、機能を有効にすることはできない。
【０００４】
したがって、プログラムの機能を有効にするためアクティベーションというステップを経ることにすれば、実際にそのプログラムが販売されたか否かに関わらず、情報処理装置にプログラムを予めインストールしておいても不正利用を防ぐことができる。
【０００５】
また、ライセンス情報を着脱可能な記録媒体に記憶しておき、記録媒体を情報処理装置に装着した場合に使用を認める情報処理装置において、さらに記録媒体の認証情報を情報処理装置に記憶しておく技術が提案されている（例えば、特許文献２参照。）。特許文献２に記載された情報処理装置では、ライセンス情報が複写され第三者が情報処理装置を使用することを防止できる。
【特許文献１】特開平０７−１１０７６７号公報
【特許文献２】特開２００６−２７９９３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、予めインストールされているプログラムをアクティベーションする場合、必要な機能に応じてユーザがプログラムを１つ１つアクティベーションするのでは煩わしいという問題がある。例えば、複数のプログラムをパッケージして販売する販売形態が取られることがあり、これらのプログラムが提供する機能を連携して利用することで優れた価値をもたらすアプリケーションがある。この場合、ユーザはパッケージされたプログラムを１つずつアクティベーションしなければならず、また、アクティベーションするプログラムの選択も分かりにくい場合が多い。
【０００７】
本発明は、上記課題に鑑み、複数のプログラムをパッケージ単位でアクティベーションでき、各プログラムの有効又は無効を容易に設定できる画像形成装置、アクティベーション方法、プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題に鑑み、本発明は、販売パッケージのアクティベーションにより起動情報に登録された、該販売パッケージが含む１以上のプログラムコンポーネントを起動する画像形成装置であって、販売パッケージのアクティベーション状態、及び、該販売パッケージが含む前記プログラムコンポーネントのコンポーネント識別情報を登録した販売パッケージ情報と、プログラムコンポーネントの購入数のうちアクティベーションにより有効となったコンポーネントの有効数、及び、前記コンポーネント毎に有効状態か否かを示す有効情報と、を登録した機能パッケージ情報、を記憶する情報記憶手段（例えば、ＨＤＤ１５）と、販売パッケージがアクティベーションされた場合、該販売パッケージが含む前記プログラムコンポーネントの、機能パッケージ情報に登録された前記有効数をインクリメントし、前記有効情報が無効状態を示していた場合に、該プログラムコンポーネントの有効情報を有効状態に設定する機能パッケージ情報更新手段と、該プログラムコンポーネントの有効情報が、無効状態から有効状態に設定された場合、起動情報に該プログラムコンポーネントを登録する起動情報更新手段と、を有することを特徴とする。
【発明の効果】
【０００９】
複数のプログラムをパッケージ単位でアクティベーションでき、各プログラムの有効又は無効を容易に設定できる画像形成装置、アクティベーション方法、プログラム及び記憶媒体を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
図１は、本実施形態の画像形成装置１００におけるアクティベーションの一例を示す。画像形成装置１００は、販売パッケージ毎にアクティベーションを実行する。販売パッケージは、１以上の機能パッケージを含んでいるので、アクティベーションにより、販売パッケージに含まれている全ての機能パッケージが有効になる。
【００１１】
図１（ａ）に示した、販売パッケージＡのみがアクティベーションされた状態では、販売パッケージＡに含まれる機能パッケージ１と機能パッケージ２が有効になる。販売パッケージＢには機能パッケージ２と機能パッケージ３が含まれているが、販売パッケージＢはアクティベーションされていないので、機能パッケージ３は無効である。したがって、起動可能な機能パッケージを登録した起動情報７７には、機能パッケージ１と機能パッケージ２が登録されている。
【００１２】
これに対し、図１（ｂ）に示すように、販売パッケージＢがアクティベーションされると、機能パッケージ３が有効になるので、起動情報７７に機能パッケージ３が新たに登録される。販売パッケージＢに含まれる機能パッケージ２は既に有効になっているので、起動情報７７に新たに追加されることはない。
【００１３】
このように、販売パッケージ毎にアクティベーションすることで、機能を連携して利用することで優れた価値をもたらす複数の機能パッケージ（プラグインコンポーネント７３を実体とする）を一度に有効にすることができる。また、ユーザは購入したプログラムをアクティベーションする際に、対象のプラグインコンポーネント７３の選択で迷うことも防止できる。
【００１４】
なお、本実施形態では、プラグインコンポーネント７３のインストールとは画像形成装置１００の記憶手段にプラグインコンポーネント７３を記憶することをいい、有効化とは記憶手段に記憶されたプラグインコンポーネントが、画像形成装置１００の起動に伴い起動できる状態にすることをいう。逆にプラグインコンポーネント７３のアンインストールとは画像形成装置１００の記憶手段からプラグインコンポーネント７３を削除することをいい、無効化とは画像形成装置１００が起動しても起動されない状態にすることをいう。なお、インストールとアクティベーションは同時に実行されることがあり、アンインストールとディアクティベーションは同時に実行されることがある。
【００１５】
〔ライセンスシステム構成図〕
図２は、本実施形態の画像形成装置１００とライセンスサーバ２００とを有するライセンスシステム３００の概略構成図を示す。画像形成装置１００は、例えばインターネットやＬＡＮ（ L o c a l  A r e a   N e t w o r k） などのネットワークを介してライセンスサーバ２００と接続されている。
【００１６】
ライセンスサーバ２００は、ＣＰＵ、ＲＡＭ、ＲＯＭ、不揮発メモリ、通信装置、入出力インターフェイス等がバスを介して接続されたコンピュータを実体とし、ライセンスサーバ２００は、後述するライセンスファイル７６を作成する。
【００１７】
画像形成装置１００は、例えば、プリンタ、複写機、ファクシミリ、スキャナ、及び、これらの１以上の機能を備えたＭＦＰ(Multifunction Peripheral：複合機)等、である。また、画像形成装置１００は、印刷部やスキャナ部等の画像形成装置に特有のハードウェアを有するものの、プラグインコンポーネント７３を実行する上では情報処理装置とみなしてよい。したがって、本実施形態のプラグインコンポーネント７３のインストール方法は、印刷機能を有さない情報処理装置にも好適に適用することができる。
【００１８】
この場合、画像形成装置１００としての情報処理装置は、それぞれがデータバスを介して接続された、ＣＰＵと、主記憶装置と、補助記憶装置と、不揮発メモリと、ネットワークに接続する通信装置と、記憶媒体を装着する記録媒体Ｉ／Ｆと、キーボードやマウスなどの入力装置と、ディスプレイに画像を表示する表示制御部と、を有する。
【００１９】
〔画像形成装置１００のハードウェア構成図〕
図３は、画像形成装置１００のハードウェア構成図の一例を示す。画像形成装置１００は、コントローラ５０と、プロッタ２７、スキャナ２８、ファックス制御ユニット２６、及びその他ハードウェアリソース２９とがＰＣＩバス、ＰＣＩ−Ｘバス又はＰＣＩ−Ｅｘｐｒｅｓｓ等のシリアルインターバスで接続された構成となる。また、コントローラ５０には操作部２４が接続されている。なお、アクティベーション管理プログラム２０を記憶する記憶媒体（メモリーカード３０）を示した。
【００２０】
コントローラ５０は、画像形成装置１００全体の制御、すなわち、ファックス制御ユニット２６、プロッタ２７，スキャナ２８及びその他ハードウェアリソース２９を用いて、原稿の読み取り、印刷、ファクシミリ送受信、操作部２４からの入力等を処理する制御部である。
【００２１】
プロッタ２７は、白黒プロッタ及び／又は１ドラムカラープロッタであり、印刷ジョブデータやスキャナ２８が読み取った画像データに基づき、１ページ毎の画像を形成し、用紙に転写する。例えば、レーザービームを用いた電子写真プロセスを使って、感光ドラム等に形成したトナー画像を用紙に転写し、定着装置により熱と圧力により定着して出力する。
【００２２】
また、スキャナ２８は、コンタクトガラスに載置された原稿を光学的に走査して、その反射光をＡ／Ｄ変換して誤差拡散やガンマ変換などの画像処理を施し所定の解像度のデジタルデータに変換し画像データを生成する。
【００２３】
ファックス制御ユニット２６は、ＮＣＵ（Network Control Unit）を介して公衆通信網に接続し、例えばＧ３、Ｇ４規格のファクシミリに対応した通信手順（通信プロトコル）等に従いファクシミリの送受信を行う。ファックス制御ユニット２６は、画像データにデータ圧縮や変調等の信号処理を施して送信すると共に、相手先から受信した画像データにデータの伸長やエラー訂正等を施し画像データを復元する。
【００２４】
コントローラ５０は、ＣＰＵ１１と、ノースブリッジ （以下、ＮＢ１３という）と、システムメモリ（以下、ＭＥＭ−Ｐ１２という）と、サウスブリッジ （以下、ＳＢという）と、ローカルメモリ（以下、ＭＥＭ−Ｃ１４という）と、ＡＳＩＣ（Application Specific Integrated Circuit）１６と、ハードディスクドライブ（以下、ＨＤＤ１５という）と、ワイヤレスＵＳＢホスト１７と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１８と、無線ＬＡＮＩ／Ｆ１９と、ＵＳＢホスト２２と、メモリカードＩ／Ｆ２３と、を有する。なお、ＡＳＩＣ１６とＮＢ１３の間はＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ ＧｒａｐｈｉｃｓＰｏｒｔ）で接続されている。
【００２５】
ＣＰＵ１１は、ＭＥＭ−Ｐ１２、ＡＳＩＣ１６、及び、ワイヤレスＵＳＢホスト１７等を結ぶバスに流通するデータの送信制御を行うＮＢ１３を介して、画像形成装置の全体を制御する。
【００２６】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＡＧＰとを接続するためのブリッジＩＣであり、ＭＥＭ−Ｐ１２は、画像形成装置１００の描画用メモリなどとして用いるシステムメモリである。
【００２７】
ＭＥＭ−Ｃ１４は、コピー用画像バッファ、符号バッファとして用いられるローカルメモリであり、ＡＳＩＣ１６は、多数のレジスタや論理回路を備え、各モータドライバの制御部の他、ヘッドパルス生成部等として機能する。また、ＡＳＩＣ１６は、ＡＧＰ、ＨＤＤ１５およびＭＥＭ−Ｃ１４をそれぞれ接続するブリッジの役割も果たす。
【００２８】
操作部２４は、ユーザからの入力操作の受け付け並びにユーザに向けた表示をおこなう操作部であり、キーボードの他にタッチパネルを入力手段として有し、ＬＣＤ（液晶ディスプレイ）等の表示部と兼用されている。
【００２９】
ＨＤＤ１５は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うための記憶手段であるが、フラッシュメモリ、ＭＲＡＭ（Magnetoresistive Random Access Memory）など不揮発メモリなどでもよい。本実施形態ではＨＤＤ１５に、アクティベーションを管理するアクティベーション管理プログラム２０が記憶されている。
【００３０】
ＡＧＰは、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードの処理を高速化する。
【００３１】
ＮＩＣ１８は、例えばイーサネット（登録商標）カードであり、OSI基本参照モデルの物理層、データリンク層に規定されたプロトコルに従う処理を実行する。これに後述のメールアプリがＳＭＴＰやＰＯＰ３等の上位のプロトコルを実行して電子メールを送受信したり、ＷｅｂアプリがＦＴＰ、ＨＴＴＰなどのプロトコルを実行してライセンスファイルをライセンスサーバ２００や画像形成装置１００の間で送受信する。
【００３２】
無線ＬＡＮＩ／Ｆ１９は、例えばIEEE 802.11a/b/g等の通信規格に準拠し、アクセスポイントに介してＬＡＮ等のネットワークに接続する。
【００３３】
ＩＥＥＥ１３９４Ｉ／Ｆ２１は、ＩＥＥＥ１３９４の通信規格を備えた機器と通信するインターフェイスであり、複数台の機器をデイジーチェーン接続することができる。動画などのサイズの大きなデータを送信するのに適しており、接続される機器は、例えばデジタルカメラやビデオカメラ等である。
【００３４】
ＵＳＢホスト２２はＵＳＢコントローラと呼ばれるＩＣで、これをＣＰＵ１１が実行するデバイスドライバ（ドライバソフトウェア）が制御してＵＳＢＩ／Ｆを構成し、接続された例えばＵＳＢメモリ３１と通信する。同様に、メモリカードＩ／Ｆ２３は、メモリカード３０からデータを読み出しまた記録媒体にデータを書き込むインターフェイスである。メモリカード３０は、例えばＳＤカード、マルチメディアカード、ｘＤカード等である
〔ソフトウェアモジュール〕
図４は、画像形成装置１００のソフトウェアモジュールの一例を示す図である。ソフトウェアモジュールは、上記のプロッタ２７、スキャナ２８、その他ハードウェアリソース２９とＨＷ（Ｈａｒｄ  Ｗａｒｅ） Ｉ／Ｆを介して接続された構成となり、主に、プラットホーム８０とアプリケーション７０とから構成される。
【００３５】
プラットホーム８０は、アプリケーション７０からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービス５５と、１以上のハードウェア資源の管理を行い、コントロールサービス５５からの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ６３）と、ＯＳ（Operating  System）６４と、アクティベーション管理部６０と、を有する。
【００３６】
コントロールサービス５５は、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）６２と、ＥＣＳ（エンジンコントロールサービス）５６と、ＭＣＳ（メモリコントロールサービス）５７と、ＯＣＳ（オペレーションパネルコントロールサービス）５８と、ＦＣＳ（ファックスコントロールサービス）５９と、ＮＣＳ（ネットワークコントロールサービス）６１とから構成される。なお、プラットホーム８０は、あらかじめ定義されたプログラムによりアプリケーション７０から処理要求を受け取るＡＰＩ（プリケーションプログラムインタフェース）を有する。
【００３７】
ＯＳ６４は、ＬＩＮＵＸ（登録商標）やＵＮＩＸ(登録商標)などの汎用オペレーティングシステムであり、プラットホーム８０及びアプリケーション７０の各ソフトウェアをそれぞれプロセスとして並列に実行することができる。ＯＳ６４は、ＮＩＣ１８、無線ＬＡＮＩ／Ｆ１９、ＩＥＥＥ１３９４Ｉ／Ｆ２１、ＵＳＢホスト２２、及び、メモリカードＩ／Ｆ２３と通信する各種のデバイスドライバを有する。
【００３８】
ＳＲＭ６３は、ＳＣＳ６２とともにシステムの制御およびリソースの管理を行う。ＳＲＭ６３のプロセスは、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、ハードウェアリソースによる動作を制御する。
【００３９】
ＳＣＳ６２は、アプリ管理、操作部２４の制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御等を行う。ＥＣＳ５６は、ハードウェアリソースのエンジンの制御を行う。
【００４０】
ＭＣＳ５７は、画像メモリの取得および解放、ＨＤＤ１５の利用、画像データの圧縮および伸張などを行う。ＦＣＳ５９は、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、バックアップＳＲＡＭに記憶されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００４１】
ＮＣＳ６１は、ネットワークＩ／Ｏを必要とするアプリケーション７０に対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーション７０に振り分けたり、アプリケーション７０からデータをネットワーク側に送信する際の仲介を行う。具体的には、ＦＴＰ等のプロトコルの各種デーモンや、同プロトコルのクライアント機能などを有している。
【００４２】
ＯＣＳ５８は、ユーザＡと本体制御間の情報伝達手段となる操作部（オペレーションパネル）２４の制御を行う。ＯＣＳ５８は、操作部２４からキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ６２に送信する部分と、アプリケーション７０またはコントロールサービス５５からの要求により表示部２５に各種画面を描画出力する描画関数やその他操作部に対する制御を行う関数などがあらかじめ登録されたＯＣＳ関数ライブラリの部分とから構成される。
【００４３】
アプリケーション７０は、電子メールを送受信するメールアプリ４９、プリンタ用のプリンタアプリ５１と、コピー用のコピーアプリ５２と、ファクシミリ用のファックスアプリ５３と、スキャナ２８用のスキャナアプリ５４と、を有している。
【００４４】
コントロールサービス５５には、アクティベーション管理部６０が設けられる。アクティベーション管理部６０は、コントロールサービス５５でプロセスとして動作し、機能パッケージを構成する各種のプラグインコンポーネント７３の有効化／無効化、及びそれに伴う後述の種々の処理を実行する。
【００４５】
〔アクティベーション管理部６０〕
図５は、アクティベーション管理部６０の機能ブロック図の一例を示す。アクティベーション管理部６０は、ＣＰＵ１１がアクティベーション管理プログラム２０を実行するか所定の演算回路により実現される、プラグイン管理部７１及びプラグインスタータ７２を有する。
【００４６】
プラグイン管理部７１は、各種プラグインコンポーネント７３のインストール/アンインストールや有効化／無効化などの処理を実行する。プラグインスタータ７２は、起動情報７７を参照し、画像形成装置１００のシステムの起動時に、各プラグインコンポーネント７３の起動処理を実行する。すなわち、プラグインスタータ７２は、起動情報７７に登録されているプラグインコンポーネント７３を起動する。
【００４７】
プラグインコンポーネント７３、販売パッケージ情報７４、機能パッケージ情報７５及びライセンスファイル７６は、例えばHDD１５に記憶される。プラグインコンポーネント７３は、画像形成装置１００にインストールされる各種のプログラムをいい、プラグイン管理部７１が管理する機能パッケージと1対1で対応する。
【００４８】
販売パッケージ情報７４、機能パッケージ情報７５及びライセンス情報については後述するが、販売パッケージ情報７４は、画像形成装置１００に販売された販売パッケージのアクティベーション状態（アクティベーションされているか否か）を登録した情報で、機能パッケージ情報７５は、機能パッケージ毎に有効／無効などの情報を登録した情報で、ライセンスファイル７６は、ライセンスサーバ２００が作成し、アクティベーションされた販売パッケージの使用権限を認める情報が登録されている。
【００４９】
〔ライセンスファイル７６〕
図６は、ライセンスファイル７６の一例を示す。テーブルの1行が１つの販売パッケージのライセンスファイル７６に相当する。したがって、複数の販売パッケージをアクティベーションした画像形成装置１００では複数のライセンスファイル７６を保持しうるが、本実施形態では複数のライセンスファイル７６を区別せずに、単にライセンスファイル７６という。
【００５０】
「ライセンスユニークID」は、ライセンスファイル７６を一意に特定する為のIDである。したがって、一度、画像形成装置１００（又はその他の情報処理装置）に適用されたライセンスユニークIDが他の画像形成装置１００のライセンスファイル７６に付与されることはない。
【００５１】
「対象販売パッケージID」は、アクティベーションの対象となった販売パッケージのIDである。したがって、ライセンスファイル７６を参照すれば、その画像形成装置１００（のユーザ）に販売されている販売パッケージを特定することができる。
【００５２】
「ロックコード」は、ライセンスファイル７６を適用する画像形成装置１００、その他の情報処理装置を一意に特定するＩＤである。画像形成装置１００は、例えばＭＥＭ−Ｐ１２にロックコードと呼ばれる機器固有のコードを記憶しており、これをライセンスサーバ２００に送信する。ライセンスファイル７６をコピーして、他の画像形成装置１００に適用しようとしても、ロックコードが一致しないのでコピーされたライセンスファイル７６では、アクティベーションすることができない。
【００５３】
「有効期限」は、ライセンスファイル７６に記載の内容、又は、ライセンスファイル７６そのもの有効期限である。画像形成装置１００はライセンスサーバ２００に更新処理を要求することで、新たな有効期限を得ることができる。
【００５４】
「作成日時」は、ライセンスファイル７６がサーバで作成された日時である。作成日時により、画像形成装置１００の時計が信頼できるものかどうかをチェックすることができる。すなわち、有効期限の制約を回避するため画像形成装置１００の時計を遅らせた場合にこれを検出する。
【００５５】
ライセンスファイル７６は、販売パッケージ毎に、ライセンスサーバ２００が生成する。例えば、画像形成装置１００がライセンスサーバ２００に最初にアクセスした時、又は、画像形成装置１００に初めて販売パッケージがインストールされた時、等にライセンスサーバ２００がライセンスファイル７６を生成する。ライセンスユニークIDは、ロックコードと異なるIDであって、それまでに付与したライセンスユニークIDと重複しない、好ましくは連番でないIDを付与する。
【００５６】
ライセンスサーバ２００は、ライセンスファイル７６のマスターファイルを記憶しておくと共に、マスターファイルの複製を画像形成装置１００に送信する。プラグイン管理部７１は、ライセンスファイル７６を例えばＨＤＤ１５に記憶する。なお、ロックコードでライセンスファイル７６を暗合化してもよく、この場合、ロックコードの異なる他の画像形成装置１００ではライセンスファイル７６を複合化できないようにできる。
【００５７】
〔販売パッケージ情報７４、機能パッケージ情報７５〕
販売パッケージ情報７４と機能パッケージ情報７５について、アクティベーションの関係と共に説明する。図７（ａ）は、販売パッケージＡ、Ｂに含まれる機能パッケージを示す。図示するように、機能パッケージ２は、販売パッケージＡとＢに共通に含まれている。図７（ａ）では、当初、販売パッケージＢのみがアクティベーションされているとする。なお、販売パッケージ情報７４は、プラグインコンポーネント７３がインストールされる際に、例えばプラグイン管理部７１により作成される。したがって、プラグイン管理部７１にとって、各販売パッケージが含む機能パッケージは既知である。
【００５８】
図７（ｂ）は、アクティベーションの前後の販売パッケージ情報７４と機能パッケージ情報７５の一例を示す図である。販売パッケージ情報７４には、販売パッケージの「名前」、販売パッケージを一意に識別する「販売ID」、販売パッケージ毎に有効か否かを示す「有効欄」、販売パッケージが含む機能パッケージを識別する「機能IDリスト」が登録される。
【００５９】
販売パッケージＢのみがアクティベーションされた販売パッケージ情報７４では、この画像形成装置１００には、２つの販売パッケージ「dist１」（販売ID＝１１１１）、「dist２」（販売ID＝１２２２）が販売されており、「dist１」は無効であるが、「dist２」は有効となっていることがわかる。また、販売パッケージ「dist１」は、「２１１１」「２２２２」という機能IDの機能パッケージを、販売パッケージ「dist２」は、「２２２２」「２３３３」という機能IDの機能パッケージを、それぞれ含む。
【００６０】
機能パッケージ情報７５には、機能パッケージの「名前」、機能パッケージを一意に識別する「機能ID」、購入した機能パッケージの数を示す「購入P数」、購入した機能パッケージのうち有効になっている機能パッケージの数を示す「有効購入P数」、機能パッケージ毎に有効か否かを示す「有効欄」、が登録されている。
【００６１】
販売パッケージＢのみがアクティベーションされた機能パッケージ情報７５では、「ｆｕｎｃ１」〜「ｆｕｎｃ３」という名前の機能パッケージが、それぞれ１、２、１個、この画像形成装置１００に販売されていることを示す。「ｆｕｎｃ２」は、販売パッケージＡとＢに共通であるため、「ｆｕｎｃ２」の「購入Ｐ数」は２個になっている。
【００６２】
販売パッケージＢのみがアクティベーションされた状態では、１つの「ｆｕｎｃ２」と「ｆｕｎｃ３」が有効となっているので、「有効購入Ｐ数」は、「ｆｕｎｃ１」が「０」、「ｆｕｎｃ２」は「１」、「ｆｕｎｃ３」は「１」となっている。また、「有効欄」は１つでもその機能パッケージが有効であれば「○」となるので、「ｆｕｎｃ２」「「ｆｕｎｃ３」に「○」が登録されている。
【００６３】
販売パッケージＡがアクティベーションされると、販売パッケージＡに含まれている機能パッケージ１と２が有効になる。まず、販売パッケージＡのアクティベーションにより、販売パッケージ情報７４の「ｄｉｓｔ１」の「有効欄」に「○」が登録される。また、機能パッケージ１と２が有効となるので、機能パッケージ情報７５の「ｆｕｎｃ１」と「ｆｕｎｃ２」の「有効購入P数」がそれぞれ１ずつ増える。また、機能パッケージ情報７５の「ｆｕｎｃ１」の「有効欄」が「○」に登録される。
【００６４】
プラグイン管理部７１は、このように、販売パッケージのアクティベーションに応じて、販売パッケージ情報７４及び機能パッケージ情報７５を更新する。
【００６５】
〔プラグイン管理部７１の詳細な機能説明〕
図８は、プラグイン管理部７１の機能ブロック図の一例を示す。アクティベーション制御部８４は、アクティベーションの全体を制御し、販売パッケージ単位で各機能パッケージをアクティベーションする。また、必要に応じて未アクティベーション状態に戻す（ディアクティベーションする）。
【００６６】
インストール制御部８３は、販売パッケージの購入時に機能パッケージをインストールし、また、必要に応じて機能パッケージをアンインストールする。起動情報更新部９２は、起動情報を参照し、アクティベーションにより有効となった機能パッケージを起動情報７７に登録する。販売P情報更新部８６は、図７（ｂ）で説明したように、アクティベーションに応じて販売パッケージ情報７４を更新する。また、未アクティベーション状態に戻った場合は、同様に販売パッケージ情報７４を更新する。機能P情報更新部８７は、図７（ｂ）で説明したように、アクティベーションに応じて機能パッケージ情報７５を更新する。また、未アクティベーション状態に戻った場合は、同様に機能パッケージ情報７５を更新する。
【００６７】
ライセンスファイルアクセス部８２は、ライセンスファイル７６にアクセスすることが許可されたプロセスを実行でき、ライセンスファイル７６から読み出した情報を他の機能ブロックに提供する。また、ライセンスファイル７６の電子署名を検証して、電子署名が正しい場合にのみライセンスファイル７６を認証する。
【００６８】
日時比較部８１は、ライセンスファイル７６の作成日と現在の日時を比較して、前者が前の場合は、アクティベーション制御部にアクティベーションを禁止させることで、ライセンスファイル７６の不正使用を防止する。期限通知部８５は、販売パッケージの有効期限の少し前になるとその旨をユーザに通知する。タイマ管理部８８は、販売パッケージ毎に有効期限の満了を検出するためのタイマを設定し、設定した日時になるとアンインストールを実行させる。ID永続化部９１は、ライセンスユニークIDを永続化することで、販売パッケージのライセンスユニークIDの重複を禁止する。
【実施例１】
【００６９】
本実施例では、図１で概略を説明したアクティベーションについて図９を用いて説明する。図９（ａ）に示すように、画像形成装置１００には、販売パッケージＡ〜Dがインストールされており、そのうち、販売パッケージA、Bがアクティベーションされている。したがって、販売パッケージAには機能パッケージ１、２，５が含まれており、販売パッケージBには機能パッケージ１、３が含まれている。したがって、有効となっている機能パッケージは、機能パッケージ１、２、３、５である。なお、図９（ａ）の時点では、販売パッケージＣ、Ｄがインストールされていなくてもよい。
・販売パッケージ情報７４：販売パッケージCの「有効欄」＝「×」
・機能パッケージ情報７５：機能パッケージ４の「有効購入P数」＝「０」
機能パッケージ４の「有効欄」＝「×」
このため、図９（ｂ）に示す起動情報７７には、機能パッケージ１、２、３、５が登録されており、画像形成装置１００の起動時、プラグインスタータ７２は機能パッケージ１、２、３、５を起動させる。
【００７０】
ついで、図１０（ａ）に示すように、例えばユーザの操作により販売パッケージＣのアクティベーション、又は、販売パッケージＣがインストールされる。アクティベーション制御部８４は、販売パッケージ情報７４を参照し、「機能ＩＤリスト」からアクティベーションする機能パッケージを決定する。そして、ＨＤＤ１５に記憶されているプラグインコンポーネント７３に、機能パッケージ２、４が記憶されているか否かを判定し、アクティベーションを実行する。
【００７１】
まず、販売P情報更新部８６は、販売パッケージ情報７４の販売パッケージＣの「有効欄」を「○」に設定する。また、機能P情報更新部８７は、機能パッケージ４の「有効欄」を「○」に設定する。また、機能P情報更新部８７は、機能パッケージ２と４の「有効購入Ｐ数」をそれぞれ１つ増やす。
【００７２】
また、起動情報更新部９２は、機能パッケージ情報７５を参照し、「有効欄」が新たに「○」となった機能パッケージ４を起動情報７７に登録する。したがって、次回、画像形成装置１００が起動すると、機能パッケージ４が起動される。なお、機能パッケージ２は、既にアクティベーションされていたため、起動情報７７にすでに登録されている。
・販売パッケージ情報７４：販売パッケージCの「有効欄」＝「○」
・機能パッケージ情報７５：機能パッケージ４の「有効購入P数」＝「１」
機能パッケージ４の「有効欄」＝「○」
したがって、本実施例では販売パッケージ毎に機能パッケージを有効又は無効に設定することができ、ユーザが個別に機能パッケージをアクティベーションする必要がない。
【実施例２】
【００７３】
本実施例では、販売パッケージのディアクティベーションについて説明する。販売パッケージをディアクティベーションすることで、販売パッケージが含む機能パッケージを無効化することができる。
【００７４】
ディアクティベーション前は、図１０（ａ）に示したように、販売パッケージA、B、Cがアクティベーションされているものとする。この状態から、販売パッケージAをディアクティベーションする。
・販売パッケージ情報７４：販売パッケージAの「有効欄」＝「○」
・機能パッケージ情報７５：機能パッケージ１の「有効購入P数」＝「２」
機能パッケージ１の「有効欄」＝「○」
機能パッケージ２の「有効購入P数」＝「２」
機能パッケージ２の「有効欄」＝「○」
機能パッケージ３の「有効購入P数」＝「１」
機能パッケージ３の「有効欄」＝「○」
機能パッケージ４の「有効購入P数」＝「１」
機能パッケージ４の「有効欄」＝「○」
機能パッケージ５の「有効購入P数」＝「１」
機能パッケージ５の「有効欄」＝「○」
図１１は、販売パッケージAのディアクティベーションを模式的に説明する図の一例である。例えばユーザの操作により販売パッケージAのディアクティベーション、又は、販売パッケージAがアンインストールされる。上記のように、アンインストールした場合は必ずディアクティベーションされるので、ここでいうアンインストールはディアクティベーションと同様の意味である。
【００７５】
アクティベーション制御部８４は、販売パッケージ情報７４を参照し、「機能ＩＤリスト」からディアクティベーションする機能パッケージを決定する。
【００７６】
まず、販売P情報更新部８６は、販売パッケージ情報７４の販売パッケージAの「有効欄」を「×」に設定する。また、機能P情報更新部８７は、機能パッケージ５の「有効欄」を「×」に設定する。また、機能P情報更新部８７は、機能パッケージ１、２、５の「有効購入Ｐ数」をそれぞれ１つ減らす。
【００７７】
また、起動情報更新部９２は、機能パッケージ情報７５を参照し、「有効欄」が新たに「×」となった機能パッケージ５を起動情報７７から削除する。したがって、次回、画像形成装置１００が起動すると、機能パッケージ５は起動されない。
・販売パッケージ情報７４：販売パッケージAの「有効欄」＝「×」
・機能パッケージ情報７５：機能パッケージ１の「有効購入P数」＝「１」
機能パッケージ１の「有効欄」＝「○」
機能パッケージ２の「有効購入P数」＝「１」
機能パッケージ２の「有効欄」＝「○」
機能パッケージ３の「有効購入P数」＝「１」
機能パッケージ３の「有効欄」＝「○」
機能パッケージ４の「有効購入P数」＝「１」
機能パッケージ４の「有効欄」＝「○」
機能パッケージ５の「有効購入P数」＝「０」
機能パッケージ５の「有効欄」＝「×」
本実施例では、販売パッケージをディアクティベーション又はアンインストールすることで、個別のプログラムコンポーネントをディアクティベーション又はアンインストールする必要がない。
【実施例３】
【００７８】
本実施例では、販売パッケージに有効期限を設定する場合のアクティベーションについて説明する。有効期限が来たら販売パッケージを自動的にアンインストールすることで、期限付きの契約が可能となる。
【００７９】
図１２は、有効期限を登録可能な販売パッケージ情報７４の一例を示す。図示するように、販売パッケージAには有効期限が定められている。このような有効期限は、例えばユーザが操作部２４から入力したり、アクティベーションした日又はインストールした日から例えば１年後の日時がアクティベーション制御部８４により自動的に取得される。また、ライセンスファイル７６の有効期限を利用してもよい。
【００８０】
アクティベーション制御部８４は有効期限を販売P情報更新部８６に通知するので、販売P情報更新部８６は、通知された有効期限を販売パッケージ情報７４に登録する。
【００８１】
また、有効期限が販売パッケージ情報７４に設定された場合、タイマ管理部８８は、販売パッケージ毎に有効期限の満了を検出するためのタイマを設定する。
【００８２】
図１３（ａ）は、タイマによるアンインストールを模式的に説明する図の一例を、図１３（ｂ）は起動情報７７の一例をそれぞれ示す。図１３（ａ）の状態は、図１０（ａ）と同じである。
・販売パッケージ情報７４：販売パッケージAの「有効欄」＝「○」
販売パッケージBの「有効欄」＝「○」
販売パッケージCの「有効欄」＝「○」
販売パッケージDの「有効欄」＝「×」
・機能パッケージ情報７５：機能パッケージ１の「有効購入P数」＝「２」
機能パッケージ１の「有効欄」＝「○」
機能パッケージ２の「有効購入P数」＝「２」
機能パッケージ２の「有効欄」＝「○」
機能パッケージ３の「有効購入P数」＝「１」
機能パッケージ３の「有効欄」＝「○」
機能パッケージ４の「有効購入P数」＝「１」
機能パッケージ４の「有効欄」＝「○」
機能パッケージ５の「有効購入P数」＝「１」
機能パッケージ５の「有効欄」＝「○」
図１２に示したように、販売パッケージＡには「３／３１」という有効期限が定められている。タイマ管理部８８は、例えば、この有効期限の次の日の午前零時をタイマに設定する（タイマとして記憶する）。
【００８３】
そして、タイマ管理部８８は、画像形成装置１００が有するカレンダ情報又は所定のサーバから取得したカレンダ情報（以下、単にシステム時計という）から抽出した現在の日時と、タイマの設定日時を比較し、タイマの設定日時を超過している場合にインストール制御部８３に通知する。これにより、インストール制御部８３はアンインストールを開始する。
【００８４】
図１４（ａ）は、アンインストール後の販売パッケージと機能パッケージの関係を模式的に説明する図の一例を、図１４（ｂ）は起動情報７７の一例をそれぞれ示す。インストール制御部８３は、販売パッケージ情報７４を参照して販売パッケージAが含む機能パッケージ１、２，５を検出し、販売P情報更新部８６に通知する。そして、インストール制御部８３は、販売パッケージAをアンインストールする。例えば、HDD１５から完全に削除してもよいし、アクセス情報だけを削除してもよい。
【００８５】
また、販売P情報更新部８６は、通知された機能パッケージ１、２、５について、機能パッケージ情報７５を更新する。すなわち、機能パッケージ１、２、５の「有効購入P数」を１つずつ減らし、「有効購入P数」がゼロになる機能パッケージ５については「有効欄」に「×」を設定する。
【００８６】
また、起動情報更新部９２は、機能パッケージ情報７５を参照し、「有効欄」が新たに「×」となった機能パッケージ５を起動情報７７から削除する。したがって、次回、画像形成装置１００が起動すると、機能パッケージ５は起動されない。
・販売パッケージ情報７４：販売パッケージAの「有効欄」＝「×」
販売パッケージBの「有効欄」＝「○」
販売パッケージCの「有効欄」＝「○」
販売パッケージDの「有効欄」＝「×」
・機能パッケージ情報７５：機能パッケージ１の「有効購入P数」＝「１」
機能パッケージ１の「有効欄」＝「○」
機能パッケージ２の「有効購入P数」＝「１」
機能パッケージ２の「有効欄」＝「○」
機能パッケージ３の「有効購入P数」＝「１」
機能パッケージ３の「有効欄」＝「○」
機能パッケージ４の「有効購入P数」＝「１」
機能パッケージ４の「有効欄」＝「○」
機能パッケージ５の「有効購入P数」＝「０」
機能パッケージ５の「有効欄」＝「×」
本実施例によれば、販売パッケージに有効期限を設定しておき、有効期限を超過したら自動的にアンインストールすることで、販売パッケージに期限付きの使用権限（契約）を認めることができる。
【実施例４】
【００８７】
複数の販売パッケージに異なる有効期限が設定されている場合、重複して販売パッケージに含まれている機能パッケージには、異なる有効期限が登録されることになる。このような場合、有効期限の満了に伴い販売パッケージをアンインストールしてもよいが、アンインストールせずに、起動のみを禁止してもよい。
【００８８】
図１５は、有効期限が登録された販売パッケージ情報７４の一例を示す。図示するように、販売パッケージAには「１／１１」の有効期限が、販売パッケージBには「２／２２」の有効期限が、販売パッケージCには「３／２４」の有効期限が、販売パッケージDには「４／１」の有効期限が、それぞれ定められている。
【００８９】
本実施例では、各販売パッケージの有効期限を管理するため、機能パッケージ情報に有効期限リストを設ける。有効期限リストは、その機能パッケージを含む全ての販売パッケージの有効期限を含む。
【００９０】
したがって、機能パッケージ１の有効期限リストは「１／１１」「２／２２」、機能パッケージ２の有効期限リストは「１／１１」「３／２４」、機能パッケージ４の有効期限リストは「３／２４」「４／１」、になる。
【００９１】
図１６（ａ）は、機能パッケージが複数の有効期限を有する場合の販売パッケージと機能パッケージの関係を模式的に説明する図の一例を、図１６（ｂ）は起動情報７７の一例をそれぞれ示す。
【００９２】
本実施例では、機能パッケージが複数の有効期限を有する場合、起動情報更新部９２が複数の有効期限のうち最も日付が遅い有効期限を、機能パッケージに対応づけて起動情報７７に登録する。
【００９３】
したがって、図１６（ｂ）に示すように、機能パッケージ１の有効期限リストは「４／１」となり、機能パッケージ２の有効期限リストは「３／２４」となり、機能パッケージ４の有効期限リストは「４／１」となる。
【００９４】
プラグインスタータ７２は、画像形成装置１００の起動時、画像形成装置１００のシステム時計から取得した現在の日時と、起動情報７７の各有効期限を比較し、有効期限を超過している機能パッケージを起動しない。
【００９５】
したがって、本実施例によれば、販売パッケージをアンインストールすることなく、機能パッケージに有効期限を定め、有効期限を超過した機能パッケージのみ起動を禁止することができる。
【実施例５】
【００９６】
実施例３では販売パッケージの１つに有効期限が設定されている場合を、実施例２では複数の販売パッケージに有効期限が設定されている場合を、それぞれ説明したが、販売パッケージの一部に有効期限が設定されない場合もある。
【００９７】
図１７（ａ）は、一部の販売パッケージに有効期限が設定されていな場合の販売パッケージと機能パッケージの関係を模式的に説明する図の一例を、図１７（ｂ）は起動情報７７の一例をそれぞれ示す。
【００９８】
起動情報更新部９２は、１つの機能パッケージに設定されうる複数の有効期限のうち、有効期限がない販売パッケージがある場合、有効期限なしを最優先して機能パッケージに対応づけて起動情報７７に登録する。
【００９９】
図１８は、起動情報７７の有効期限の設定手順を示すフローチャート図の一例である。販売パッケージの有効期限が更新されると、機能P情報更新部８７は、各機能パッケージの有効期限リストを更新する（Ｓ１０）。本実施例では有効期限リストに「なし」が含まれうることになる。
【０１００】
ついで、起動情報更新部９２は、有効期限リストに「なし」があるか否かを判定する（Ｓ２０）。有効期限リストに「なし」がない場合（Ｓ２０のＮｏ）、起動情報更新部９２は、機能パッケージ毎に、有効期限リストの有効期限から最も期限の遅いものをその機能パッケージの有効期限に決定する（Ｓ３０）。
【０１０１】
有効期限リストに「なし」がある場合（Ｓ２０のＹｅｓ）、その機能パッケージの有効期限を「なし」に決定する（Ｓ４０）。
【０１０２】
そして、起動情報更新部９２は、機能パッケージ毎に、決定した有効期限を用いて起動情報７７の有効期限を更新する（Ｓ５０）。
【０１０３】
例えば、機能パッケージ２の有効期限リストは「１／１１」「なし」、機能パッケージ４の有効期限リストは「なし」「４／１」、である。この場合、起動情報更新部９２は機能パッケージ２、４の有効期限をそれぞれ「なし」とする。
【０１０４】
したがって、販売パッケージの一部に有効期限が設定されていない場合、その販売パッケージが含む機能パッケージについて有効期限を定めることなく、使用を許可することができる。このような設定は、基本的な機能を提供するプラグインコンポーネント７３に有効である。
【実施例６】
【０１０５】
本実施例では、アクティベーションによる有効期限の更新について説明する。新たに販売パッケージがアクティベーションされた場合、その販売パッケージと、以前から有効になっている販売パッケージとで、共通に含まれる機能パッケージの有効期限が変動する場合がある。
【０１０６】
図１９（ａ）は、新たにアクティベーションされた販売パッケージにより有効期限が更新される場合の販売パッケージと機能パッケージの関係を模式的に説明する図の一例を、図１９（ｂ）は起動情報７７の一例をそれぞれ示す。
【０１０７】
図１９（ａ）では、図１７（ａ）の状態から新たな販売パッケージEがアクティベーションされたものとする。ここで、販売パッケージEの有効期限は「６／３０」であり、販売パッケージEには機能パッケージ２と５が含まれる。
【０１０８】
この場合、起動情報更新部９２は、必要に応じて、起動情報７７における機能パッケージ２、５の有効期限を更新する。実施例５において説明したように、起動情報７７の有効期限は「なし」が最も優先される。各販売パッケージA、C、Eがそれぞれ定める機能パッケージ２の有効期限リストは「１／１１」「なし」「６／３０」なので、機能パッケージ２の有効期限は販売パッケージEがアクティベーションされても変更されない（「なし」のままである）。
【０１０９】
これに対し、各販売パッケージA、Eがそれぞれ定める機能パッケージ５の有効期限リストは「１／１１」「６／３０」なので、販売パッケージEがアクティベーションされると、起動情報７７における機能パッケージ５の有効期限は「６／３０」に変更される。
【０１１０】
このようにして、起動情報更新部９２は、有効期限の設定された販売パッケージがアクティベーションされた場合、起動情報７７の有効期限を更新する。
【０１１１】
〔アンインストールによる有効期限の更新〕
同様にして、有効期限の設定された販売パッケージがアンインストールされた場合の、起動情報７７の有効期限の更新について説明する。
【０１１２】
図２０（ａ）は、図１９（ａ）のアクティベーション状態から販売パッケージDがアンインストールされた場合の販売パッケージと機能パッケージの関係の一例を示す。販売パッケージDは機能パッケージ１と４を含むので、起動情報更新部９２は、必要に応じて起動情報７７における機能パッケージ１と４の有効期限を更新する。
【０１１３】
販売パッケージＤのアンインストールにより、各販売パッケージA、Ｂ、Ｄがそれぞれ定めていた機能パッケージ２の有効期限リストは、「１／１１」「２／２２」「４／１」から「１／１１」「２／２２」になる。したがって、起動情報更新部９２は、機能パッケージ１の有効期限を「２／２２」に変更する。
【０１１４】
また、販売パッケージＤのアンインストールにより、各販売パッケージＣ、Ｄがそれぞれ定めていた機能パッケージ４の有効期限リストは「なし」「４／１」から「なし」になる。この場合、アンインストール前から、起動情報７７における機能パッケージ４の有効期限は「なし」である。したがって、起動情報更新部９２は、機能パッケージ４の有効期限を変更しない。
【０１１５】
〔販売パッケージの有効期限の更新による起動情報７７の有効期限の更新〕
アクティベーション又はアンインストールされた場合だけでなく、すでにアクティベーションされている販売パッケージの有効期限が更新された場合も同様に扱うことができる。販売パッケージＡの有効期限が「１／１１」から「７／３１」に変更された場合を例に説明する。
【０１１６】
図２１（ａ）は、有効期限の更新途中の販売パッケージと機能パッケージの関係を模式的に説明する図の一例を、図２１（ｂ）は起動情報７７の一例をそれぞれ示す。有効期限を更新する場合、機能P情報更新部８７は、いったん更新前の有効期限を有効期限リストから削除し、その後、新しい有効期限を有効期限リストに登録する。
【０１１７】
図２１（ａ）において各販売パッケージA、Ｂがそれぞれ定めていた機能パッケージ１の有効期限リストは、「１／１１」「２／２２」である。販売パッケージＡの有効期限が更新された場合、機能P情報更新部８７は有効期限リストから「１／１１」を削除する。これにより、一時的に、機能パッケージ１の有効期限リストは「２／２２」となる。
【０１１８】
同様に、各販売パッケージA、Ｃ、Ｅがそれぞれ定めていた機能パッケージ２の有効期限リストは、「１／１１」「なし」「６／３０」である。販売パッケージＡの有効期限が更新された場合、機能P情報更新部８７は有効期限リストから「１／１１」を削除する。これにより、一時的に、機能パッケージ２の有効期限リストは「なし」「６／３０」となる。
【０１１９】
同様に、各販売パッケージＡ、Ｅがそれぞれ定めていた機能パッケージ５の有効期限リストは、「１／１１」「６／３０」である。販売パッケージＡの有効期限が更新された場合、機能P情報更新部８７は有効期限リストから「１／１１」を削除する。これにより、一時的に、機能パッケージ５の有効期限リストは「６／３０」となる。
【０１２０】
続いて、機能P情報更新部８７は、販売パッケージＡの更新後の有効期限を、各機能パッケージの有効期限リストに登録する。販売パッケージＡの更新後の有効期限は「７／３１」である。
【０１２１】
図２２（ａ）は、有効期限の更新後の販売パッケージと機能パッケージの関係を模式的に説明する図の一例を、図２２（ｂ）は起動情報７７の一例をそれぞれ示す。
【０１２２】
機能P情報更新部８７は、機能パッケージ１の有効期限リストに「７／３１」を追加するので、機能パッケージ１の有効期限リストは「７／３１」「２／２２」となる。起動情報更新部９２は、期限の遅い方を起動情報７７における機能パッケージ１の有効期限とするので、機能パッケージ１の有効期限を「７／３１」に更新する。
【０１２３】
同様に、機能P情報更新部８７は、機能パッケージ２の有効期限リストに「７／３１」を追加するので、機能パッケージ２の有効期限リストは「７／３１」「なし」「６／３０」となる。起動情報更新部９２は、「なし」を最も優先して起動情報７７における機能パッケージ２の有効期限とするので、機能パッケージ２の有効期限は「なし」のままで更新しない。
【０１２４】
また、機能P情報更新部８７は、機能パッケージ５の有効期限リストに「７／３１」を追加するので、機能パッケージ５の有効期限リストは「７／３１」「６／３０」となる。起動情報更新部９２は、期限の遅い方を起動情報７７における機能パッケージ５の有効期限とするので、機能パッケージ５の有効期限を「７／３１」に更新する。
【０１２５】
したがって、販売パッケージの有効期限が更新されると、それを各機能パッケージの有効期限に反映させて、有効期限内で各機能パッケージを起動させることができる。
【実施例７】
【０１２６】
本実施例では、アクティベーションの管理について説明する。上述したように、プラグイン管理部７１は、ライセンスファイル７６にロックコードを対応づけて一体に記憶している。したがって、ライセンスファイル７６と一体に記憶されているロックコードを、機器固有のロックコードと比較することで、その画像形成装置１００固有のライセンスファイル７６であるか否かを判定できる。本実施形態のプラグイン管理部７１は、アクティベーションする際にかかる作業を行い、ライセンスファイル７６の認証が成立した場合にアクティベーション、ディアクティベーション、インストール、及び、アンインストールを許可する。
【０１２７】
図２３は、ロックコードを用いたライセンスファイル７６の検証を模式的に説明する図の一例である。
１．まず、プラグイン管理部７１は、ＭＥＭ−Ｐ１２からロックコードを読み出す。
２．また、ライセンスファイルアクセス部８２は、ＨＤＤ１５からライセンスファイル７６と一体に記憶されているロックコードを読み出す。そして、アクティベーション制御部８４は、両者が一致した場合にのみ、販売パッケージ情報７４、機能パッケージ情報７５、及び、起動情報７７の更新等、アクティベーション又はディアクティベーションにかかる上記の作業を許可する。
【０１２８】
したがって、本実施例によれば、一方の画像形成装置１００からコピーしたライセンスファイル７６を用いて、他方の画像形成装置１００におけるアクティベーション等の作業を禁止でき、セキュリティを向上できる。
【実施例８】
【０１２９】
実施例３以降で販売パッケージに有効期限を設定したが、その有効期限の設定方法について限定しなかった。しかしながら、例えば、ライセンスファイル７６と有効期限を関連付けることで、販売パッケージの有効期限の管理を一元化、すなわち、ライセンスファイル７６だけで販売パッケージの有効期限を管理できるようになる。
【０１３０】
上記のように、ライセンスファイル７６には「有効期限」を設定することができるので、販売パッケージの有効期限にはライセンスファイル７６の「有効期限」を設定する。
【０１３１】
図２４は、ライセンスファイル７６の有効期限を用いた販売パッケージの有効期限の設定を模式的に説明する図の一例である。
１．プラグイン管理部７１（例えば、ライセンスファイルアクセス部８２）はライセンスファイル７６の有効期限を読み出す。例えば、ライセンスファイル７６の有効期限に「３／３１」と登録されている。
２．ついで、販売P情報更新部８６は、販売パッケージ情報７４の「有効期限」に「３／３１」を設定する。
【０１３２】
これにより、この販売パッケージが含む機能パッケージの有効期限リストに「３／３１」が追加される。また、必要に応じて起動情報更新部９２が起動情報７７を更新することができるので、ライセンスファイル７６と販売パッケージの有効期限の管理を一元化することができる。
【実施例９】
【０１３３】
販売パッケージの有効期限を、予め定められた期間で指定したい場合がある。例えば、出荷時に有効期限を設定してしまうと、アクティベーションするまでにタイムラグが生じ、有効に使用できる期間を規定しにくいためである。タイムラグが生じるとユーザの不利益につながる。そこで、本実施例では、期間に基づき販売パッケージの有効期限を設定する画像形成装置１００について説明する。
【０１３４】
ここで「期間」は、実施例８のようにライセンスファイル７６に登録されていてもよいし、ユーザが操作部２４から入力してもよいし、アクティベーションした日又はインストールした日から例えば１年後の日時がアクティベーション制御部８４により自動的に取得されてもよい。本実施例ではライセンスファイル７６に登録されているものとする。
【０１３５】
図２５は、有効期間を用いた販売パッケージの有効期限の設定を模式的に説明する図の一例である。
１．ライセンスファイルアクセス部８２はライセンスファイル７６から登録されている「有効期間」を読み出す。図２５では有効期間は「１０ｄａｙｓ」とした。
２．アクティベーション制御部８４は、現在の日時を取得する。現在の日時は、画像形成装置１００が有するシステム時計から取得する。
３．そして、アクティベーション制御部８４は、取得した現在の日時に有効期間「１０ｄａｙｓ」を加算する。加算した日時が、販売パッケージの有効期限である。
４．販売P情報更新部８６は、算出された有効期限を販売パッケージ情報７４に設定する。
【０１３６】
以降は、機能P情報更新部８７はこの有効期限を、実施例４〜６のように販売パッケージが含む各機能パッケージの有効期限リストに反映させ、起動情報更新部９２は必要に応じて起動情報７７の有効期限を更新する。
【０１３７】
したがって、出荷からアクティベーションまでのタイムラグの発生を防止、ユーザに不利益が生じることを防止できる。
【実施例１０】
【０１３８】
これまでの実施例でプラグインスタータ７２は有効期限を超えた機能パッケージを起動しないと説明したが、有効期限になる前に有効期限が近づいている旨をユーザに通知することで、ユーザは有効期限が切れることを把握できる。
【０１３９】
本実施例では、有効期限の所定期間（以下、有効残期間という）前の日にちをリマインド日時に設定しておく。有効期限は、販売パッケージ情報７４に設定されるので、リマインド日時は販売パッケージ情報７４に登録してもよいし、ＨＤＤ１５に独立に登録してもよい。なお、販売パッケージ情報７４に設定しなくても、例えば、画像形成装置１００を起動する度に、現在の日時が有効期限よりも有効残期間前になったか否かを検出してもよい。
【０１４０】
図２６は、有効期限のリマインドを模式的に説明する図の一例である。
１．期限通知部８５は、販売パッケージ情報７４を参照して有効期限を読み出す。
２．有効期限から予め定められた有効残期間をマイナスする。
３．リマインド日時を決定する。図では有効残期間を「３０日（約一月）」とした。
【０１４１】
例えば、販売パッケージの有効期限が「３／３１」の場合、有効残期間をマイナスするとリマインド日時は「３／１」となる。「３／３１」になるとリマインドされるので、厳密なリマインド日時は「３／１  午前零時」である。期限通知部８５は、リマインド日時を記憶する販売パッケージ情報７４に登録する。有効期限は販売パッケージ毎に設定されるので、リマインド日時も販売パッケージ毎に（販売パッケージの販売IDと対応づけて）登録される。
【０１４２】
なお、有効残期間は、予め期限通知部８５が定数として記憶していてもよいし、ユーザが操作部２４から設定できるようになっていてもよい。ユーザが設定した場合は、HDD１５に有効残期間が記憶される。
【０１４３】
続いて、リマインド日時を利用した通知について図２７に基づき説明する。
１．期限通知部８５は、リマインド日時と、システム時計から取得した現在の日時を比較して、リマインド日時になるとそれを検出する。
２．期限通知部８５は、警告メールを作成し送信する。
【０１４４】
警告メールには、有効期限を含ませることで、ユーザの利便性が向上する。このため、期限通知部８５は、販売パッケージ情報７４から、リマインド日時になった販売パッケージの有効期限を読み出す。
【０１４５】
そして、期限通知部８５は、予め記憶している「ユーザ（画像形成装置１００の管理者）の電子メールアドレス」、「件名」、「本文」を例えばHDD１５から読み出す。また、本文の有効期限の項目に、販売パッケージ情報７４から読み出した有効期限、販売パッケージの名前等を追加する。これら一連の情報をメールアプリ４９に送出すると、メールアプリ４９がNIC１８を介してSMTP等のプロトコルに従い警告メールを送信する。
【０１４６】
図２７には、警告メールの一例を示した。警告メールには「販売パッケージ「AAA」の有効期限は３／３１です。それまでに有効期限の更新を行って下さい。」と記載されている。また、「販売パッケージ「AAA」の有効期限はあと３０日で切れます。」のように、使用権限が消尽するまでの期間（有効残期間）を通知してもよい。
【０１４７】
本実施例によれば、有効期限になる前にユーザに有効期限が切れるおそれがあることを警告できるので、有効期限に対する対応を容易にすることができる。
【０１４８】
なお、警告メールは、リマインド日時に一度のみ送信してもよいし、リマインド日時になった後、定期的（例えば１週間毎）に送信してもよいし、有効期限が近づくにつれ送信頻度を大きくして（送信する間隔を短くする）送信してもよい。
【実施例１１】
【０１４９】
本実施例では、現在の日時とライセンスファイル７６の作成日を比較して、アクティベーションを実行するか否かを判定する画像形成装置１００について説明する。ライセンスファイル７６の作成日よりも、画像形成装置１００のシステム時計が一定期間以上前の場合はアクティベーションを失敗とする。画像形成装置１００のシステム時計が遅れている場合、有効期限で契約期間を定めていても、有効期限を越えて不正に利用されてしまうため、本実施例ではそれを防止する。
【０１５０】
上記のように、ライセンスファイル７６はライセンスサーバ２００で作成され、ライセンスサーバ２００で作成された日がライセンスファイル７６の作成日である。ライセンスサーバ２００の時刻は、定期的にNTPサーバに問い合わせるなどして適宜補正しているので、基本的には正確な時刻を示しているとしてよい。また、ライセンスファイル７６を用いてアクティベーションする日時は、ライセンスファイル７６の作成日よりも後である。
【０１５１】
このことから、アクティベーションを実施する日時が，ライセンスファイル７６の作成日よりも前（古い）となることはありえない。すなわち、画像形成装置１００のシステム時計が、ライセンスファイル７６の作成日よりも古い場合は、契約期間よりも長い間使用するため、ユーザが意図的に画像形成装置１００のシステム時計を変更している可能性が高い。
【０１５２】
本実施例では、日時比較部８１は、システム時計の現在の時刻がライセンスファイル７６の作成日より前の場合は、アクティベーション制御部８４にアクティベーションを禁止する要求する。また、日時比較部８１は、画像形成装置１００の時計を修正するように忠告する忠告メッセージを、アクティベーションを要求したユーザに伝える。
【０１５３】
図２８は、画像形成装置１００の現在の時刻とライセンスファイル７６の作成日の比較によるアクティベーションの実行判断を模式的に説明する図の一例である。
１．ユーザが操作部２４を操作してアクティベーションを開始すると、ライセンスファイルアクセス部８２はライセンスファイル７６から作成日を読み出す。
２．日時比較部８１は、システム時計の現在の日時とライセンスファイル７６の作成日を比較する。日時比較部８１は、明らかに画像形成装置１００の現在の日時が、ライセンスファイル７６の作成日よりも前の場合、アクティベーション制御部８４に通知する。これにより、アクティベーション制御部８４はアクティベーションを禁止する。
【０１５４】
ここで「明らかに」としたのは、画像形成装置１００のシステム時計の多少の誤差は、許容してアクティベーションを許可するためである。したがって、例えば「３日」以上、画像形成装置１００の現在の日時が、ライセンスファイル７６の作成日よりも前の場合、アクティベーションを禁止する。
【０１５５】
なお、日時比較部８１は、実施例１０と同様に、画像形成装置１００の時計を修正するように忠告する忠告メッセージをユーザに送信する。忠告メールには、例えば、「システムの日時が遅れているようです。アクティベーションするには正確な日時の設定が必要なので日時を設定してください。」と記載される。
【０１５６】
本実施例によれば、画像形成装置１００のシステム時計に作為的な操作があった場合に、プラグインコンポーネント７３の不正利用を防止することができる。
【実施例１２】
【０１５７】
本実施例では、ディアクティベーションの際に、その販売パッケージのライセンスユニークIDを他の販売パッケージが利用することを防止することで（永続化することで）、ライセンスファイル７６の不正コピーによるプラグインコンポーネント７３の不正利用を防止する画像形成装置１００について説明する。
【０１５８】
上述したように、ライセンスユニークIDはライセンスファイル７６にユニークなIDである。このライセンスユニークIDを、ディアクティベーションにより開放された後、再度、利用可能であると、有効期限を越えた販売パッケージが、新たな契約なしに再度アクティベーション可能となるおそれがある。
【０１５９】
本実施例では、同じライセンスユニークIDは一度しか使用できない永続化を施すことで、古いライセンスユニークＩＤを使用したアクティベーションを禁止する。特に、一度、契約期間が満了してその販売パッケージをディアクティベーションしたが、ライセンスファイル７６を不正にコピーしておき、そのユーザが再アクティベーションすることを防止できる。以下、ライセンスユニークIDを一意に保つことを永続化という場合がある。
【０１６０】
図２９〜３１は、ライセンスユニークIDの永続化を模式的に説明する図の一例である。図２９はアクティベーションの前後の販売パッケージ情報７４の一例を示す図である。本実施例では、販売パッケージ情報７４に「ライセンスユニークID」の欄が設けられている。
１．ID永続化部９１は、ライセンスサーバ２００から送信されたライセンスファイル７６から、ライセンスユニークIDを読み出す。
２．アクティベーション制御部８４は、アクティベーション処理を実行する。
３．販売P情報更新部８６はそのライセンスユニークIDを販売パッケージ情報７４に登録する。
【０１６１】
例えば、販売ID「３４３４３４」の販売パッケージが新たにアクティベーションされた際に、ライセンスサーバ２００が生成したその販売パッケージのライセンスユニークIDが「６５４３２１」だった場合、ID永続化部９１は「６５４３２１」を販売パッケージの「ライセンスユニークID」の欄に登録する。
【０１６２】
図３０はディアクティベーションの前後の販売パッケージ情報７４の一例を示す図である。
１．アクティベーション制御部８４はアクティベーション処理を実行する。
２．販売P情報更新部８６は、販売パッケージ情報７４からライセンスユニークIDを削除する。
３．ID永続化部９１は、ディアクティベーションの際、ディアクティベーションした販売パッケージのライセンスユニークIDを使用済みライセンスIDリスト９３に登録する。使用済みライセンスIDリスト９３は、HDD１５に記憶される。
【０１６３】
図３０では、販売ID「３４３４３４」の販売パッケージがディアクティベーションされた場合、ID永続化部９１はそのライセンスユニークID「６５４３２１」を、使用済みライセンスIDリスト９３に記憶する。ディアクティベーション時のその他の処理は、上気したとおりである。
【０１６４】
図３１は、ディアクティベーションしたものと同じ販売パッケージをアクティベーションする前後の販売パッケージ情報７４の一例を示す図である。このアクティベーションでは、ユーザはライセンスサーバ２００にライセンスファイル７６を要求せず、既に作成されたライセンスファイル７６をアクティベーションに利用する。
１．ID永続化部９１は、ライセンスファイル７６からライセンスユニークIDを読み出す。
２．また、アクティベーション制御部８４はアクティベーション処理を実行するが、ID永続化部９１は、そのライセンスユニークIDが、使用済みライセンスIDリスト９３に登録されているか否かを比較する。
【０１６５】
そして、登録されている場合には、アクティベーション制御部８４に通知する。これにより、アクティベーション制御部８４はアクティベーションを中止する。
【０１６６】
例えば、図示するように、ライセンスサーバ２００が同じライセンスユニークID「６５４３２１」を送信した場合、ID永続化部９１は使用済みライセンスIDリスト９３に「６５４３２１」が登録されているので、アクティベーションを中止させる。
【０１６７】
したがって、同じライセンスファイル７６を利用して不正にアクティベーションすることを防止することができる。
【実施例１３】
【０１６８】
実施例１〜１２のプラグインコンポーネント７３管理を適用したアクティベーションの手順を図３２のフローチャート図に基づき説明する。図３２のフローチャート図は、ユーザによるアクティベーションの操作又は販売パッケージのインストールによりスタートする。
【０１６９】
まず、プラグイン管理部７１は、販売パッケージに対するアクティベーションの要求を検出（受け付ける）する（Ｓ１１０）。
【０１７０】
ついで、ライセンスファイルアクセス部８２は、画像形成装置１００に記憶されているライセンスファイル７６の電子署名をチェックする（Ｓ１２０）。チェックの結果、改ざんされている場合には（Ｓ１３０のＮｏ）、例えばエラーメッセージを表示部２５に表示して処理を終了する（Ｓ３００）。
【０１７１】
改ざんされていない場合（Ｓ１３０のＹｅｓ）、日時比較部８１は、画像形成装置１００のシステムの時計と、ライセンスファイル７６の作成日を比較して、システムの時計が作成日よりも前（所定期間以上）か否かを判定する（Ｓ１４０）。判定の結果、システムの時計が作成日よりも前の場合には（Ｓ１５０のＮｏ）、例えばエラーメッセージを表示部２５に表示して処理を終了する（Ｓ３００）。
【０１７２】
システムの時計が作成日よりも前でない場合には（Ｓ１５０のＹｅｓ）、ライセンスファイルアクセス部８２は、ライフファイルに一体に記憶されているロックコードと、画像形成装置１００のロックコードを比較する（Ｓ１６０）。比較の結果、２つのロックコードが等しくない場合（Ｓ１７０のＮｏ）、例えばエラーメッセージを表示部２５に表示して処理を終了する（Ｓ３００）。
【０１７３】
２つのロックコードが等しい場合（Ｓ１７０のＹｅｓ）、アクティベーション制御部８４は、ライセンスファイル７６に記載されているアクティベーションの対象となる対象販売パッケージＩＤから、販売パッケージを特定する（Ｓ１８０）。そして、その販売パッケージがインストールされているか否かを判定し、インストールされていなければ（Ｓ１９０のＮｏ）、例えばエラーメッセージを表示部２５に表示して処理を終了する（Ｓ３００）。
【０１７４】
ついで、販売P情報更新部８６は、ライセンスファイル７６から読み出された販売パッケージの有効期限を販売パッケージ情報７４に設定する（Ｓ２００）。
【０１７５】
機能P情報更新部８７は、販売パッケージに含まれる機能パッケージを有効する（Ｓ２１０）。既に有効化されているものは変更しない。
【０１７６】
そして、機能P情報更新部８７は、販売パッケージに含まれる機能パッケージの有効期限リストに有効期限を追加する（Ｓ２２０）。
【０１７７】
起動情報更新部９２は、更新された有効期限リストから機能パッケージの有効期限を特定する（Ｓ２３０）。そして、起動情報７７の有効期限を更新する（Ｓ２４０）。
【０１７８】
以上説明したように、本実施形態の画像形成装置１００におけるアクティベーションは、販売パッケージ毎にアクティベーションすることで、機能を連携して利用することで優れた価値をもたらす複数のプラグインコンポーネント７３を一度に有効にすることができる。
【図面の簡単な説明】
【０１７９】
【図１】画像形成装置におけるアクティベーションの一例を示す図である。
【図２】画像形成装置とライセンスサーバとを有するライセンスシステムの概略構成図の一例である。
【図３】画像形成装置のハードウェア構成図の一例である。
【図４】画像形成装置のソフトウェアモジュールの一例を示す図である。
【図５】アクティベーション管理部の機能ブロック図の一例である。
【図６】ライセンスファイルの一例を示す図である。
【図７】販売パッケージＡ、Ｂに含まれる機能パッケージの一例を示す図である。
【図８】プラグイン管理部の機能ブロック図の一例である。
【図９】アクティベーションを模式的に説明する図の一例である（実施例１）。
【図１０】アクティベーションを模式的に説明する図の一例である（実施例１）。
【図１１】販売パッケージAのディアクティベーションを模式的に説明する図の一例である。
【図１２】有効期限を登録可能な販売パッケージ情報の一例を示す図である。
【図１３】タイマによるアンインストールを模式的に説明する図の一例である。
【図１４】アンインストール後の販売パッケージと機能パッケージの関係を模式的に説明する図の一例である。
【図１５】有効期限が登録された販売パッケージ情報の一例を示す図である。
【図１６】機能パッケージが複数の有効期限を有する場合の販売パッケージと機能パッケージの関係を模式的に説明する図の一例である。
【図１７】一部の販売パッケージに有効期限が設定されていな場合の販売パッケージと機能パッケージの関係を模式的に説明する図の一例である。
【図１８】起動情報の有効期限の設定手順を示すフローチャート図の一例である。
【図１９】新たにアクティベーションされた販売パッケージにより有効期限が更新される場合の販売パッケージと機能パッケージの関係を模式的に説明する図の一例である。
【図２０】販売パッケージDがアンインストールされた場合の販売パッケージと機能パッケージの関係の一例を示す図である。
【図２１】有効期限の更新途中の販売パッケージと機能パッケージの関係を模式的に説明する図の一例である。
【図２２】有効期限の更新後の販売パッケージと機能パッケージの関係を模式的に説明する図の一例である。
【図２３】ロックコードを用いたライセンスファイルの検証を模式的に説明する図の一例である。
【図２４】ライセンスファイルの有効期限を用いた販売パッケージの有効期限の設定を模式的に説明する図の一例である。
【図２５】有効期間を用いた販売パッケージの有効期限の設定を模式的に説明する図の一例である。
【図２６】有効期限のリマインドを模式的に説明する図の一例である。
【図２７】リマインド日時を利用した通知について説明する図の一例である。
【図２８】画像形成装置の現在の時刻とライセンスファイルの作成日の比較によるアクティベーションの実行判断を模式的に説明する図の一例である。
【図２９】アクティベーションの前後の販売パッケージ情報の一例を示す図である。
【図３０】ディアクティベーションの前後の販売パッケージ情報の一例を示す図である。
【図３１】ディアクティベーションしたものと同じ販売パッケージをアクティベーションする前後の販売パッケージ情報の一例を示す図である。
【図３２】アクティベーションの手順を示すフローチャート図の一例である。
【符号の説明】
【０１８０】
１５      ハードディスクドライブ
２０      アクティベーション管理プログラム
３０      メモリカード
６０      アクティベーション管理部
７１      プラグイン管理部
７２      プラグインスタータ
７３      プラグインコンポーネント
７４      販売パッケージ情報
７５      機能パッケージ情報
７６      ライセンスファイル
７７      起動情報
８１      日時比較部
８２      ラインセンスファイルアクセス部
８３      インストール制御部
８４      アクティベーション制御部
８５      期限通知部
８６      販売P情報更新部
８７      機能P情報更新部
８８      タイマ管理部
９１      ID永続化部
９２      起動情報更新部
１００      画像形成装置
２００      ライセンスサーバ
【図１】
2010011408.tif 000003
【図２】
2010011408.tif 000004
【図３】
2010011408.tif 000005
【図４】
2010011408.tif 000006
【図５】
2010011408.tif 000007
【図６】
2010011408.tif 000008
【図７】
2010011408.tif 000009
【図８】
2010011408.tif 000010
【図９】
2010011408.tif 000011
【図１０】
2010011408.tif 000012
【図１１】
2010011408.tif 000013
【図１２】
2010011408.tif 000014
【図１３】
2010011408.tif 000015
【図１４】
2010011408.tif 000016
【図１５】
2010011408.tif 000017
【図１６】
2010011408.tif 000018
【図１７】
2010011408.tif 000019
【図１８】
2010011408.tif 000020
【図１９】
2010011408.tif 000021
【図２０】
2010011408.tif 000022
【図２１】
2010011408.tif 000023
【図２２】
2010011408.tif 000024
【図２３】
2010011408.tif 000025
【図２４】
2010011408.tif 000026
【図２５】
2010011408.tif 000027
【図２６】
2010011408.tif 000028
【図２７】
2010011408.tif 000029
【図２８】
2010011408.tif 000030
【図２９】
2010011408.tif 000031
【図３０】
2010011408.tif 000032
【図３１】
2010011408.tif 000033
【図３２】
2010011408.tif 000034