(57)【要約】【課題】画像形成装置にインストールされた拡張アプリケーションの試用前に試用期間が経過してしまう。【解決手段】画像形成装置特有のジョブを持つアプリケーションに関して、試用開始と判断するトリガを、アプリケーションのインストール時や起動時ではなく、実際に印刷やスキャンなどのジョブを実行したタイミングとする。その場合には最初にジョブを実行したタイミングを開始日として試用期間を管理する。【選択図】図８
2019207494.tif 000002
【特許請求の範囲】
【請求項１】
ライセンスなしで実行を許す試用期間を設定したアプリケーションをインストール可能な画像形成装置であって、
アプリケーションのインストール時に、前記試用期間の開始トリガとなるタイミングをアプリケーションについて設定するインストール手段と、
設定された前記タイミングに応じて、前記アプリケーションの試用期間を開始させ、指定された期間に応じて前記試用期間を終了させる試用管理手段と
を有することを特徴とする画像形成装置。
【請求項２】
請求項1に記載の画像形成装置であって、
前記開始トリガには、前記アプリケーションに関連した前記画像形成装置に特有のジョブの初回の実行を含むことを特徴とする画像形成装置。
【請求項３】
請求項２に記載の画像形成装置であって、
前記画像形成装置に特有のジョブには、印刷ジョブとスキャンジョブの少なくともいずれかを含むことを特徴とする画像形成装置。
【請求項４】
請求項２又は３に記載の画像形成装置であって、
前記開始トリガには、前記アプリケーションのインストールまたは前記アプリケーションの初回の実行またはそれら両方をさらに含むことを特徴とする画像形成装置。
【請求項５】
請求項1乃至４のいずれか一項に記載の画像形成装置であって、
前記試用管理手段は、設定された前記タイミングに応じて、ユーザごとに前記アプリケーションの試用期間を開始させ、前記試用期間の満了に応じて前記ユーザごとに前記アプリケーションの試用期間を終了させることを特徴とする画像形成装置。
【請求項６】
請求項５に記載の画像形成装置であって、
前記試用管理手段は、前記試用期間が開始されたユーザの数が所定数に達すると、新たなユーザについては前記試用期間を開始させないことを特徴とする画像形成装置。
【請求項７】
請求項５又は６に記載の画像形成装置であって、
前記試用管理手段はさらに、ユーザに共通に設定した全体試用期間を経過した場合に、すべてのユーザについて、前記試用期間を終了させることを特徴とする画像形成装置。
【請求項８】
請求項７に記載の画像形成装置であって、
前記全体試用期間の開始日は、前記アプリケーションについて、それをインストールしたタイミングまたは最初に実行したタイミングまたは前記アプリケーションに含まれたジョブを最初に実行したタイミングである
ことを特徴とする画像形成装置。
【請求項９】
ライセンスなしで実行を許す試用期間を設定したアプリケーションをインストール可能な画像形成装置の制御方法であって、
アプリケーションのインストール時に、前記試用期間の開始トリガとなるタイミングをアプリケーションについて設定し、
設定された前記タイミングに応じて、前記アプリケーションの試用期間を開始させ、指定された期間に応じて前記試用期間を終了させることを特徴とする画像形成装置の制御方法。
【請求項１０】
ライセンスなしで実行を許す試用期間を設定したアプリケーションをインストール可能なコンピュータを、
アプリケーションのインストール時に、前記試用期間の開始トリガとなるタイミングをアプリケーションについて設定するインストール手段と、
設定された前記タイミングに応じて、前記アプリケーションの試用期間を開始させ、指定された期間に応じて前記試用期間を終了させる試用管理手段と
して機能させるためのプログラム。
【請求項１１】
ライセンスなしで実行を許す試用期間を設定したアプリケーションをインストール可能な画像形成装置であって、
アプリケーションに関連したジョブの初回の実行に応じて前記試用期間を開始させ、指定された期間に応じて前記試用期間を終了させる
ことを特徴とする画像形成装置。
【請求項１２】
ライセンスなしで実行を許す試用期間を設定したアプリケーションをインストール可能な画像形成装置であって、
前記アプリケーションの前記試用期間をユーザごとに開始させ、指定された期間に応じて前記試用期間を前記ユーザごとに終了させる
ことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びその制御方法、プログラムに関し、特に画像形成装置のアプリケーションの試用期間を限定する技術に関する。
【背景技術】
【０００２】
近年、アプリケーションソフトウェアを機能拡張アプリケーションとして追加できる機能を備えた画像形成装置が普及している。この種の機能としてはＭＥＡＰ（登録商標）などがあげられる。そして、機能拡張アプリケーション（以下、拡張アプリケーション）は工場出荷時にインストールして追加することが可能である。拡張アプリケーションには有償のものと無償のものが存在する。また、有償の拡張アプリケーションであっても、ライセンスの試用期間を限定して無償で試用可能なアプリケーション（以下、試用版アプリケーション）といったものも存在する。試用版アプリケーションのインストール時の日付を試用版アプリケーションの試用期間の開始日とするものがある（例えば、特許文献１参照。）。または、試用版アプリケーションの起動時の日付を試用版アプリケーションの試用期間の開始日とするものもある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−７９０４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、拡張アプリケーションを工場出荷時にインストールして追加する場合、ユーザがアプリケーションを利用する前に試用期間が開始されてしまい、ユーザがアプリケーションを試用できる期間が少なくなってしまうという課題がある。また、画像形成装置特有のジョブである印刷やスキャンなどを実行するアプリケーションは、実際にそのジョブを実行しないとそのアプリケーションの使用感がわからないことが多い。
【０００５】
本発明は、上記の問題に鑑みてなされたものであり、画像形成装置特有のジョブを持つ試用版アプリケーションの試用期間を適切に制御可能な画像形成装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は以下の構成を有する。すなわち、本発明の一側面によれば、ライセンスなしで実行を許す試用期間を設定したアプリケーションをインストール可能な画像形成装置であって、
アプリケーションのインストール時に、前記試用期間の開始トリガとなるタイミングをアプリケーションについて設定するインストール手段と、
設定された前記タイミングに応じて、前記アプリケーションの試用期間を開始させ、指定された期間に応じて前記試用期間を終了させる試用管理手段と
を有することを特徴とする画像形成装置が提供される。
【発明の効果】
【０００７】
本発明によれば、画像形成装置特有のジョブを持つ試用版アプリケーションの試用期間を、適切に設定できる。
【図面の簡単な説明】
【０００８】
【図１】画像形成装置のハードウェア構成の一例を示す図である。
【図２】画像形成装置のソフトウェア構成の一例を示す図である。
【図３】アプリ情報テーブルの一例を示す図である。
【図４】画像形成装置が提供する画面の一例を示す図である。
【図５】アプリケーションのインストール時のフローチャートである。
【図６】アプリケーションのアンインストール時のフローチャートである。
【図７】アプリケーションの起動時のフローチャートである。
【図８】アプリケーションのジョブ実行時のフローチャートである。
【図９】アプリ情報テーブルの一例を示す図である。
【図１０】アプリケーションのインストール時のフローチャートである。
【図１１】アプリケーションのジョブ実行時のフローチャートである。
【図１２】アプリ情報テーブルの一例を示す図である。
【図１３】アプリケーションのインストール時のフローチャートである。
【図１４】アプリケーションのジョブ実行時のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を用いて説明する。
（第１実施形態）
●画像形成装置の構成
図１は、本発明に関わる例えばデジタル多機能複写機などの画像形成装置のハードウェア構成の一例を示す図である。画像形成装置１０１は、スキャナ、プリンタ（レーザープリンタ、インクジェットプリンタ、サーマルプリンタ等）の機能を有する画像形成装置である。また、本実施形態の画像形成装置１０１は、電子文書の印刷、出力内容のハードコピー、またはファクシミリ通信などの機能を有するが、これに限定することなく、他の機能を有してもよい。さらに、画像形成装置上で動作する拡張プログラムを追加し、拡張プログラムを実行可能させるためのアプリケーションプラットホームを備える。すなわち、画像形成装置１０１は、アプリケーションプラットホームを持つことで、拡張プログラムがインストール可能となっている。
【００１０】
画像形成装置１０１は、制御部１０２と、操作パネル１１１と、プリンタ１１２と、スキャナ１１３とを備える。制御部１０２は、ＣＰＵ１０３と、ＲＯＭ１０４と、ＲＡＭ１０５と、ＨＤＤ１０６と、操作パネルＩ／Ｆ１０７と、プリンタＩ／Ｆ１０８と、スキャナＩ／Ｆ１０９と、ネットワークＩ／Ｆ１１０とを含む。
【００１１】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、プロセッサーとも呼ぶ）１０３を含む制御部１０２は、画像形成装置１０１全体の動作を制御する。ＣＰＵ１０３は、ＲＯＭ（Ｒａｎｄｏｍ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０４やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０６に記憶された制御プログラムを読み出し、読取制御や送信制御などの各種制御処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０５は、ＣＰＵ１０３の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ１０６は、画像データやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１１４経由で配信された拡張プログラムを含む各種プログラムを記憶する。操作パネルＩ／Ｆ１０７は、操作パネル１１１と制御部１０２とを接続する。操作パネル１１１には、タッチパネル機能を有する液晶表示部やキーボード等のユーザが操作を入力する装置が備えられている。
【００１２】
プリンタＩ／Ｆ１０８は、プリンタ１１２と制御部１０２とを接続するインターフェースである。プリンタ１１２で印刷する画像データは、プリンタＩ／Ｆ１０８を介して制御部１０２からプリンタ１１２に転送され、プリンタ１１２において記録媒体上に印刷される。スキャナＩ／Ｆ１０９は、スキャナ１１３と制御部１０２とを接続するインターフェースである。スキャナ１１３は、原稿上の画像を読み取って画像データを生成し、スキャナＩ／Ｆ１０９を介して制御部１０２に入力する。ネットワークＩ／Ｆ１１０は、制御部１０２を含む画像形成装置１０１をＬＡＮ１１４に接続するインターフェースである。画像形成装置１０１は、ネットワークＩ／Ｆ１１０を用いて、ＬＡＮ１１４上の他の装置との間で各種情報を送受信する。
【００１３】
図２は、画像形成装置１０１の本発明に関わるソフトウェア構成の一例を示す図である。画像形成装置１０１のCPU１０３やHDD１０６などの各ハードウェア上で動作するソフトウェアの構成を説明する。なお、これらの各ソフトウェアにおける処理は、CPU１０１の命令により、ROM１０４やHDD１０６に記憶されているプログラムを読み出し、RAM１０５をワークエリアとして所定の処理を実行することで実現する。また、所定の処理を実行することで生成される全ての情報は、RAM１０５もしくはHDD１０６に記憶する。なお、このソフトウェアにおける処理の実現方法は以降でも同様であるため、以降では説明を省略する。
【００１４】
画像形成装置１０１は、状態遷移管理部２０１とジョブ管理部２０２とインストール部２０３とアプリ起動部２０４とジョブ実行部２０５とアプリ管理部２０６とアプリ管理部２０６と試用情報管理部２０７とパネル管理部２０８とを備える。状態遷移管理部２０１は、アプリケーションのインストールやアンインストールや起動や停止などのアプリケーションの状態管理と状態遷移の処理とを行う。ジョブ管理部２０２は、画像形成装置特有の印刷やスキャンなどのジョブに関する管理を行う。インストール部２０３は、状態遷移管理部２０１からアプリケーションのインストール要求やアンインストール要求を受けて、アプリケーションのインストール処理やアプリケーションのアンインストール処理を行う。アプリ起動部２０４は、状態遷移管理部２０１からアプリケーションの起動要求を受けて、アプリケーションの起動処理を行う。ジョブ実行部２０５は、ジョブ管理部２０２からアプリケーションが持つ画像形成装置特有のジョブ要求を受けて、そのジョブの実行処理を行う。このうち、インストール部２０３、アプリ起動部２０４、ジョブ実行部２０５は上記動作に加えて、アプリケーションの試用期間の開始を記録し、満了をチェックしており、アプリケーションの試用の観点からは、併せて試用管理部と呼ぶこともできる。
【００１５】
アプリ管理部２０６は、後述のアプリ情報テーブル３０１のレコードの追加やアプリケーションのインストール状況に関するカラムの追加、削除、編集、取得、判定を行う。試用情報管理部２０７は、後述のアプリ情報テーブル３０１の試用情報に関するカラムの追加、削除、編集、取得、判定を行う。パネル管理部２０８は、操作パネル１１１を制御し、各種情報の表示やユーザからの指示入力を可能にするためのものである。
【００１６】
このほか、図示していないが、ユーザを管理するユーザ管理部も備えられている。ログインしたユーザについて画像形成装置１０１の利用が許されている場合には、ユーザ管理部は、入力されたIDや、さらにパスワードを含むユーザ情報を、予め登録されている、利用を許すユーザ情報と照合して認証し、一致していれば当該ユーザに使用を許す。ユーザの認証は例えば外部の認証サーバ等を利用してもよい。ユーザ管理部は、さらにログイン中のユーザを特定するためのID（識別情報）を保持し、それにより利用中のユーザを特定できる。なおログインしていないユーザについても利用を許す場合には、そのようなユーザも、たとえば、「ログインしていないユーザ」として扱ってよい。
【００１７】
●アプリ情報テーブル３０１
図３は、HDD１０６で保持するアプリ情報テーブル３０１の一例を示す図である。インストールIDカラム３０２とアプリ名カラム３０３とインストール済カラム３０４は、アプリケーションのインストール時に、アプリ管理部２０６によって設定される。インストールIDカラム３０２は、アプリ情報テーブル３０１内でアプリケーション情報を一意に識別するためのIDを設定するカラムである。インストールIDカラム３０２はアプリ情報テーブル３０１にレコードを追加されると自動的に番号が割り振られる。アプリ名カラム３０３は、インストールされたアプリケーション名（識別情報または識別子とも呼ぶ）を設定するカラムである。アプリ名カラム３０３は、アプリケーションを一意に識別するもので、同じアプリケーション名は複数存在しない。インストール済カラム３０４は、そのアプリケーションのインストール状況を設定される。図３では、"YES"と"NO"の２種類が示されている。インストールされるとYESが設定され、アンインストールされるとNOが設定される。試用期間カラム３０５と試用開始トリガカラム３０６と試用開始日カラム３０７は、試用情報管理部２０７によって設定される。試用期間カラム３０５と試用開始トリガカラム３０６は、アプリケーションのインストール時に設定される。試用期間カラム３０５は、試用可能な日数を設定される。アプリケーションは、試用開始日カラム３０７に設定された日付から試用期間カラム３０５に設定された日数が試用可能となる。
【００１８】
試用開始トリガカラム３０６は、試用期間の開始タイミングあるいは試用開始のトリガとなるイベントを設定される。つまり、どのタイミングで、あるいはどのイベントをトリガとして試用開始日カラム３０７に試用開始した日付を設定するかを設定される。図３では、"インストール時"と"起動時"と"ジョブ実行時"と未設定を表す"-"の４種類が示されている。"インストール時"の場合は、アプリケーションがインストールされた日付から試用期間が開始となる。"起動時"の場合は、アプリケーションが起動された日付から試用期間が開始となる。"ジョブ実行時"の場合は、アプリケーションの画像形成装置特有のジョブが実行された日付から試用期間が開始となる。未設定を表す"-"の場合は、試用期間が存在しない。試用開始日カラム３０７は、試用開始トリガカラム３０６に記載されているタイミングで、試用開始した日付を設定される。なお、製品版のアプリケーションのように試用期間が無いアプリケーションがインストールされた場合は、試用期間カラム３０５と試用開始トリガカラム３０６と試用開始日カラム３０７には、未設定を表す"-"を設定される。
【００１９】
●画面表示例
図４は、画像形成装置が提供する画面の一例を示す図である。図４の画面は、試用情報管理部がアプリケーションの試用を認めないと状態と判断した場合に、パネル管理部２０８が操作パネル１１１に表示する画面である。
【００２０】
アプリケーションを試用できないことを通知する画面４０１は、アプリケーションが試用できないことをユーザに通知するための画面である。アプリケーションを試用することが認められていないユーザがアプリケーションを起動した場合や、画像形成装置特有のジョブを実行した時に表示する。[閉じる]ボタン４０２が押下された場合は、アプリケーションを起動処理や画像形成装置特有のジョブ実行処理など、現在行っている処理を終了する。試用期間終了を通知する画面４１１は、アプリケーションが試用期間外のために試用できないことをユーザに通知するための画面である。[閉じる]ボタン４１２が押下された場合は、処理を終了する。製品版購入を促す画面４２１は、アプリケーションが試用期間外のために試用できないことをユーザに通知し、製品版の購入を促すための画面である。[はい]ボタン４２２が押下された場合は、製品版の購入手続きへ移行する。[いいえ]ボタン４２３が押下された場合は、処理を終了する。試用可能な上限人数を超えたことを通知する画面４３１は、アプリケーションを試用できる上限人数を超えているために試用できないことをユーザに通知するための画面である。[閉じる]ボタン４３２が押下された場合は、処理を終了する。
【００２１】
●アプリケーションのインストール手順
図５は、アプリケーションのインストール時のフローチャートである。図５に限らず、本実施形態及び他の実施形態におけるフローチャートは、ＣＰＵ１０３によりＲＡＭ１０５等に格納されたプログラムを実行することで実現される。インストール処理の開始時、まず、ステップS５０１で、状態遷移管理部２０１は、アプリケーションのインストール要求を受付ける。状態遷移管理部２０１は、インストール部２０３にアプリケーションのインストール処理を開始するように要求する。
【００２２】
次にステップS５０２に進み、インストール部２０３は、アプリ管理部２０６にてアプリ情報テーブル３０１のアプリ名カラム３０３を取得して、アプリ情報テーブル３０１にインストールするアプリケーション名が存在するかどうかを判定する。"Yes"（すなわち存在する）と判定した場合、インストール部２０３は、過去にインストール済みと判断し、ステップS５０３へ進む。例えば、図３の状態でアプリケーション名が"コピーアプリ"というアプリケーションをインストールしようとした場合、アプリ名カラム３０３のインストールID001と一致するため、ステップＳ５０３へ進む。一方、ステップS５０３にて"No"（すなわち存在しない）と判定した場合、インストール部２０３は、今までインストールしたことが無いアプリケーションと判断し、ステップＳ５０４へ進む。例えば、図３の状態でアプリケーション名が"未インスールアプリ"というアプリケーションをインストールしようとした場合、アプリ名カラム３０３に一致するアプリ名が存在しないため、ステップＳ５０４へ進む。
【００２３】
次にステップS５０３に進み、インストール部２０３は、アプリ管理部２０６にてアプリ情報テーブル３０１のインストール済カラム３０４を取得してインストール済みかどうかを判定する。もしも"YES"と判定した場合、インストール部２０３は、すでにインストール済みと判断し、処理を終了する。例えば、図３の状態でインストールID006のアプリケーションをインストールしようとした場合、インストール済カラム３０４が"YES"であるため、処理を終了する。一方、ステップS５０３にて"NO"と判定した場合、インストール部２０３は、ステップＳ５０４へ進む。この場合、該当するアプリケーションは、いったんインストールされたが、すでにアンインストールされていると判断できる。例えば、図３の状態でインストールID004のアプリケーションをインストールしようとした場合、インストール済カラム３０４が"NO"であるため、ステップＳ５０４へ進む。
【００２４】
ステップS５０４では、インストール部２０３は、アプリ管理部２０６にて新規にレコードを作成して、アプリ情報テーブル３０１のインストールIDカラム３０２とアプリ名カラム３０３を設定する。インストールIDカラム３０２はアプリ情報テーブル３０１にレコードを追加されると自動的に番号が割り振られる。アプリ名カラム３０３は、インストールするアプリケーション名を設定される。なお、インストールするアプリケーション名がすでにアプリ情報テーブル３０１のアプリ名カラム３０３に存在している場合、つまりは、過去に同じアプリケーションがインストールされている場合は、新規にレコードを作成しない。例えば、図３の状態でインストールID004のアプリケーションをインストールしようとした場合、アプリ名カラム３０３にすでに同名のアプリ名が存在しているため、新規にレコードを作成しない。すなわちステップＳ５０３でＮｏと判定された場合には、ステップＳ５０５へ分岐し、該当するアプリ情報テーブル３０１の行を再利用してもよい。
【００２５】
次にステップS５０５に進み、インストール部２０３は、アプリ管理部２０６にてインストール済カラム３０４を"YES"に設定する。インストール済カラム３０４は、すでに"NO"が設定されている場合も、"YES"を設定する。例えば、図３の状態でインストールID004のアプリケーションをインストールしようとした場合、インストール済カラム３０４は、"NO"から"YES"が上書き設定される。
【００２６】
次にステップS５０６に進み、インストール部２０３は、試用情報管理部２０７にて試用期間カラム３０５と試用開始トリガカラム３０６を設定する。試用情報管理部２０７は、インストールするアプリケーションが試用期間の制限がない場合は試用期間カラム３０５と試用開始トリガカラム３０６に設定する値が存在しないため、未設定を表す"-"を設定される。例えば、図３の状態は、試用期間の制限がない製品版のアプリケーションであるインストールID001をインストールした場合を想定しているため、インストールID001の試用期間カラム３０５と試用開始トリガカラム３０６には、未設定を表す"-"が設定されている。
【００２７】
次にステップS５０７に進み、インストール部２０３は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始トリガカラム３０６を取得して、設定された使用開始トリガがインストールか否かを判定する。"インストール時"（すなわち開始トリガとなるイベントがインストール）と判定した場合、ステップS５０８へ進む。例えば、図３のインストールID002のアプリケーションのような試用開始トリガカラム３０６が"インストール時"のアプリケーションを新規でインストールする場合は、ステップS５０８へ進む。一方、ステップS５０７にて"インストール時"以外と判定した場合、インストール部２０３は、S５０９に進む。例えば、図３のインストールID006のアプリケーションのような試用開始トリガカラム３０６が"ジョブ実行時"のアプリケーションを新規でインストールする場合は、S５０９に進む。
【００２８】
ステップS５０８では、インストール部２０３は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始日カラム３０７に現在の日付を設定する。例えば、インストールした日付が"2018/1/1"であった場合、図３のインストールID002のアプリケーションのように、試用開始日カラム３０７に"2018/1/1"が設定される。
【００２９】
次にステップS５０９に進み、インストール部２０３は、アプリケーションのインストールを行い、処理を終了する。以上の手順により、アプリケーションのインストールに伴い、インストールされたアプリケーションをアプリ情報テーブル３０１に登録し、試用期間がインストールから開始される場合には、使用開始のタイミングを記録する。ここで、アンインストールされていたアプリケーションの再インストールに際しては、本実施形態では、試用開始日が設定済みであれば、それをそのまま残しておくものとする。しかし、試用開始日も新たに設定し直してもよい。
【００３０】
●アンイストール手順
図６は、アプリケーションのアンインストール時のフローチャートである。アンインストール処理の開始時、まず、ステップS６０１で、状態遷移管理部２０１は、アプリケーションのアンインストール要求を受付ける。状態遷移管理部２０１は、インストール部２０３にアプリケーションのアンインストール処理を開始するように要求する。
【００３１】
次にステップS６０２に進み、インストール部２０３は、アプリ管理部２０６にてインストール済カラム３０４を"NO"に設定する。例えば、図３の状態は、インストールID004をアンインストールした場合を想定しているため、インストールID004のインストール済カラム３０４は"NO"を設定されている。
【００３２】
次にステップS６０３に進み、インストール部２０３は、アプリケーションのアンインストールを行い、処理を終了する。
【００３３】
●アプリケーションの起動手順
図７は、アプリケーションの起動時のフローチャートである。アプリケーションの起動開始時、まず、ステップS７０１で、状態遷移管理部２０１は、アプリケーションの起動要求を受付ける。状態遷移管理部２０１は、アプリ起動部２０４にアプリケーションの起動処理を開始するように要求する。
【００３４】
次にステップS７０２に進み、アプリ起動部２０４は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始トリガカラム３０６を取得して、どのようなタイミングを示しているかを判定する。
【００３５】
ステップS７０２にて"起動時"と判定した場合、アプリ起動部２０４は、ステップS７０３へ進む。ステップS７０２にて、"インストール時"と判定した場合、アプリ起動部２０４は、ステップS７０５へ進む。または、ステップS７０２にて、"インストール時"でも"起動時"でもないそれ以外と判定した場合、アプリ起動部２０４は、ステップS７０６へ進む。それ以外のタイミングとは、たとえばジョブ実行時である。
【００３６】
ステップS７０３では、アプリ起動部２０４は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始日カラム３０７を取得して試用開始日カラム３０７が記入済みか判定する。 "Yes"と判定した場合は、すでに試用開始していると判断し、アプリ起動部２０４は、ステップS７０５へ進む。一方、ステップS７０３にて"No"と判定した場合、アプリ起動部２０４は、今まで試用を開始していないと判断し、ステップS７０４へ進む。
【００３７】
ステップS７０４では、アプリ起動部２０４は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始日カラム３０７に現在の日付を設定する。アプリ起動部２０４は、ステップS７０６へ進む。
【００３８】
ステップS７０５では、アプリ起動部２０４は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始日カラム３０７とアプリ情報テーブル３０１の試用期間カラム３０５を取得する。試用情報管理部２０７は、現在の日付が取得した試用開始日カラム３０７から取得した試用期間カラム３０５の日数内であるか判定する。"Yes"と判定した場合は、試用期間内であると判断し、アプリ起動部２０４は、ステップS７０６へ進む。一方、ステップS７０５にて"No"と判定した場合、すなわち試用期間が満了している場合には、アプリ起動部２０４は、試用期間外と判断し、ステップS７０７へ進む。
【００３９】
ステップS７０６では、アプリ起動部２０４は、アプリケーションを起動し、処理を終了する。
【００４０】
ステップS７０７では、アプリ起動部２０４は、パネル管理部２０８にてアプリケーションを試用できないことを通知する画面４０１を表示する。アプリ起動部２０４は、処理を終了する。表示する画面は、画像形成装置が提供する画面４１１のように、試用期間が終了したことを通知するものでも良いし、画像形成装置が提供する画面４２１のように、製品版の購入を促すものでも良い。
【００４１】
この手順により、アプリケーションの起動時に、試用期間が開始されるアプリケーションであれば、試用開始日を記録し、試用を開始することができる。
【００４２】
●ジョブ実行時の手順
図８は、アプリケーションが実行されている間における、そのアプリケーションの（すなわちそのアプリケーションに関連した）ジョブ実行時のフローチャートである画像形成装置特有のジョブ実行時、まず、ステップS８０１で、ジョブ管理部２０２は、アプリケーションからアプリケーションの画像形成装置特有のジョブ実行要求を受付ける。ジョブ管理部２０２は、ジョブ実行部２０５にアプリケーションのジョブ実行処理を開始するように要求する。
【００４３】
次にステップS８０２に進み、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始トリガカラム３０６を取得して判定する。 ステップＳ８０２で"ジョブ実行時"と判定した場合、ジョブ実行部２０５は、ステップS８０３へ進む。一方、ステップS８０２にて、 "ジョブ実行時"以外と判定した場合、ジョブ実行部２０５は、ステップS８０６へ進む。
【００４４】
ステップS８０３では、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始日カラム３０７を取得して、試用開始日カラム３０７が記入済みか判定する。 ステップＳ８０３で"Yes"と判定した場合は、すでに試用開始していると判断し、ジョブ実行部２０５は、ステップS８０５へ進む。一方、ステップS８０３にて"No"と判定した場合、ジョブ実行部２０５は、今まで試用を開始していないと判断し、ステップS８０４へ進む。
【００４５】
ステップS８０４では、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始日カラム３０７に現在の日付を設定する。ジョブ実行部２０５は、ステップS８０６へ進む。
【００４６】
ステップS８０５では、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始日カラム３０７とアプリ情報テーブル３０１の試用期間カラム３０５を取得する。試用情報管理部２０７は、現在の日付が取得した試用開始日カラム３０７から取得した試用期間カラム３０５の日数内であるか判定する。ステップＳ８０５で"Yes"と判定した場合は、試用期間内であると判断し、ジョブ実行部２０５は、ステップS８０６へ進む。一方、ステップS８０５にて"No"と判定した場合、ジョブ実行部２０５は、試用期間外と判断し、ステップS８０７へ進む。
【００４７】
ステップS８０６では、ジョブ実行部２０５は、画像形成装置特有のジョブを実行し、処理を終了する。
【００４８】
ステップS８０７では、ジョブ実行部２０５は、パネル管理部２０８にてアプリケーションを試用できないことを通知する画面４０１を表示する。ジョブ実行部２０５は、処理を終了する。表示する画面は、画像形成装置が提供する画面４１１のように、試用期間が終了したことを通知するものでも良いし、画像形成装置が提供する画面４２１のように、製品版の購入を促すものでも良い。
【００４９】
なお、ジョブには、印刷ジョブやスキャンジョブ、コピージョブのほか、画像のスキャンにネットワーク送信やファクシミリ送信、指定された保存カ所への保存などを組み合わせたジョブが含まれてもよい。もちろんこれらに限らず、画像形成装置がアプリケーションに対して利用に供する機能であればどのようなものであっても、試用開始のトリガとするジョブとして扱うことができる。
【００５０】
また、本実施形態では試用開始のトリガとして、種類を問わずにジョブの実行を設定したが、特定のジョブの実行を設定してもよい。その場合、あらかじめ特定のジョブをトリガとするよう決めておいてもよいし、アプリ情報テーブル３０１の使用開始トリガ欄３０６に、ジョブ実行時である旨とジョブの種類とを指定し、図8の手順では、ステップＳ８０２で、試用開始トリガがジョブの実行であり、かつ、指定されたジョブの種類が、アプリケーションから実行要求されたジョブの種類と一致していることを判定すればよい。
【００５１】
以上、本実施形態によれば、サービス担当者が画像形成装置の出荷前に予め画像形成装置特有のジョブを持つ試用版アプリケーションをインストールした場合であっても、ユーザは、適切に制御された試用期間のアプリケーションを試用できる。例えば、製本コピーアプリのような画像形成装置特有のジョブを持つアプリケーションの試用版には、ユーザは、試用期間が減少することなくアプリケーションを試用でき、本発明の効果を発揮する。また、ジョブの実行のタイミングに加えて、アプリケーションのインストールまたはアプリケーションの初回の実行またはそれら両方を更に含んでよい。
【００５２】
（第２実施形態）
次に第２の実施形態として、複数人のユーザを考慮した試用期間の管理の例を説明する。画像形成装置は共有機であるため、試用版アプリケーションは、画像形成装置を使用するたくさんのユーザに試用してもらい、正規版のアプリケーションの購入につなげることを目的としている。そこで、本実施形態では、アプリケーションを試用できるユーザの上限数（すなわち所定数）を設定し、ユーザごとにアプリケーションのジョブ開始日を管理する。そうすることで、あらかじめ想定している人数のユーザがアプリケーションを試用可能となる効果がある。合わせて、上限数を設定することで、悪意のあるユーザが必要以上にユーザを作成し、アプリケーションを長期的に試用することを抑制する効果がある。また、本実施形態では、ユーザ数の管理をするためのライセンスサーバ等が不要という効果もある。なお、前述の第１実施形態と本実施形態は、ハードウェア構成とソフトウェア構成とアプリケーションのアンインストール時のフローチャートとアプリケーションの起動時のフローチャートは同様であるため説明を省略する。一方、アプリ情報テーブルとアプリケーションのインストール時のフローチャートとアプリケーションのジョブ実行時のフローチャートは一部異なる部分があるため、異なる部分のみを以下に説明する。本実施形態では、画像形成装置を利用するユーザは、ユーザ名等を入力してログインし、そのうえで画像形成装置を利用するものとする。なおログインしていないユーザに対して利用を許してもよいが、その場合には、ログインしていないユーザには、「ログインしてないユーザ」であることを示す識別情報が例えばユーザ名として与えられ、そのユーザ名で利用を管理されるとしてよい。
【００５３】
●アプリ情報テーブル
図９は、HDD１０６で保持するアプリ情報テーブル３０１の一例を示す図である。インストールIDカラム３０２とアプリ名カラム３０３とインストール済カラム３０４と試用開始トリガカラム３０６と試用開始日カラム３０７は、第１実施形態で説明した図3のアプリ情報テーブル３０１と同じ意味を持つカラムである。そのため、説明を一部省略する。
【００５４】
試用期間カラム３０５は、アプリケーションのインストール時に、試用情報管理部２０７によって、ユーザごとの試用可能な日数を設定される。上限人数カラム３０８は、アプリケーションのインストール時に、試用情報管理部２０７によって設定される。上限人数カラム３０８は、試用版アプリケーションを試用できる上限の人数を設定するカラムである。ユーザ情報リストカラム３０９は、ユーザごとの初回ジョブ実行時に、ユーザ名とそのユーザの試用開始日を試用情報管理部２０７によって設定される。ユーザ情報リストカラム３０９は、各ユーザのアプリケーションの試用開始日を設定するカラムである。ユーザ情報リストカラム３０９に設定されている各ユーザは、ユーザ情報リストカラム３０９に設定された自分の試用開始日から試用期間カラム３０５に設定された日数の試用が可能となる。例えば、図９の状態では、インストールIDカラム３０２のID005に関して、ユーザAは2018/1/5から30日間試用可能であり、ユーザEは2018/2/5から30日間使用可能であることを想定している。ユーザ情報リストカラム３０９には、上限人数３０８に相当する数のユーザのための領域を確保しておけばよい。
【００５５】
●アプリケーションのインストール手順
図１０は、アプリケーションのインストール時のフローチャートである。ステップS５０１からステップS５０９は、第１実施形態で説明した図５のアプリケーションのインストール時のフローチャートと同じ処理を行うステップである。そのため、説明を一部省略する。ステップS５０６の次は、ステップS５１０へ進む。
【００５６】
ステップS５１０では、インストール部２０３は、試用情報管理部２０７にて上限人数カラム３０８を設定する。試用情報管理部２０７は、上限人数を持たないアプリケーションの場合は、上限人数カラム３０８に設定する値が存在しないため、未設定を表す"-"を設定される。例えば、図３の状態は、インストールID001からID004は上限人数の情報が無い場合を想定しているため、上限人数カラム３０８には未設定を表す"-"を設定されている。一方、インストールID005とID006は上限人数の情報を持っていることを想定しているため、"5"と値を設定している。上限人数カラム３０８に設定する値は、デバイスに登録されているユーザ数によって自動で設定しても良いし、または、サービス担当者が任意の固定値を上限数として設定しても良い。
【００５７】
●ジョブ実行手順
図１１は、アプリケーションのジョブ実行時のフローチャートである。ステップS８０１、ステップS８０２、ステップS８０６は、第１実施形態で説明した図８のアプリケーションのジョブ実行時のフローチャートと同じ処理を行うステップである。そのため、説明を一部省略する。
【００５８】
ステップS８０２では、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始トリガカラム３０６を取得して判定する。ステップＳ８０２で"ジョブ実行時"と判定した場合、ジョブ実行部２０５は、ステップS８０８へ進む。
【００５９】
ステップS８０８では、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１のユーザ情報リストカラム３０９を取得し、ユーザ情報リストカラム３０９内にジョブ実行するユーザが存在するかどうかを判定する。ステップＳ８０８で"Yes"と判定した場合は、現在のユーザはすでに試用開始していると判断し、ジョブ実行部２０５は、ステップS８１１へ進む。一方、ステップS８０８にて"No"と判定した場合、ジョブ実行部２０５は、現在のログインユーザは今まで試用を開始していないと判断し、ステップS８０９へ進む。
【００６０】
ステップS８０９では、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１の上限人数カラム３０８とユーザ情報リストカラム３０９のユーザ数を取得する。そして、ユーザ情報リストカラム３０９のユーザ数が上限人数カラム３０８の値未満か判定する。ステップＳ８０９で"Yes"と判定した場合は、試用可能と判断し、ジョブ実行部２０５は、ステップS８１０へ進む。一方、ステップS８０９にて"No"と判定した場合、ジョブ実行部２０５は試用上限人数を超えたと判断し、ステップS８０７へ進む。
【００６１】
ステップS８１０では、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１のユーザ情報リストカラム３０９に現在のユーザ名と現在の日付を設定する。ジョブ実行部２０５は、ステップＳ８０６へ進む。
【００６２】
ステップS８１１では、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用期間カラム３０５とアプリ情報テーブル３０１のユーザ情報リストカラム３０９を取得する。試用情報管理部２０７は、現在の日付が取得したユーザ情報リストカラム３０９内のジョブ実行するユーザの日付から取得した試用期間カラム３０５の日数内であるか判定する。ステップＳ８１１で"Yes"と判定した場合は、試用期間内であると判断し、ジョブ実行部２０５は、ステップS８０６へ進む。一方、ステップS８１１にて"No"と判定した場合、ジョブ実行部２０５は、試用期間外と判断し、ステップS８０７へ進む。
【００６３】
ステップS８０7では、ジョブ実行部２０５は、パネル管理部２０８にてアプリケーションを試用できないことを通知する画面４０１を表示する。ジョブ実行部２０５は、処理を終了する。ステップS８０９で"No"と判定された場合は、試用可能な上限人数を超えたことを通知する画面４３１のように、試用可能な上限人数を超えたことを通知するのでも良い。
【００６４】
以上、本実施形態によれば、あらかじめ想定している人数のユーザが、ユーザごとに独立した試用期間にわたりアプリケーションを試用することが可能となる。さらに、試用できるユーザの上限数を設定することで、新たなユーザによる試用が繰り返されて、アプリケーションを長期的に試用することを抑制することが可能となる。また、ユーザ数の管理をするためのライセンスサーバ等が不要という効果もある。
【００６５】
なお本実施形態では、ユーザごとに設定される試用開始トリガはジョブ実行時としているが、アプリケーションの起動時であってもよい。
【００６６】
（第３実施形態）
次に第３の実施形態として、第2実施形態で説明した複数人のユーザを考慮した試用期間の管理に加え、インストールされたアプリケーション全体に共通の試用期間も管理する例を説明する。すでに製品版の販売が停止している試用版アプリケーションがある場合、ユーザが試用版アプリケーションを試用しても、製品版の購入へはつながらないため、販売会社としてはあまりメリットが無い。そこで、本実施形態では、ユーザの上限人数を設定するだけでなく試用版アプリケーションの試用可能な全体的な日数を設定する。そうすることで、試用できる期間が限定され、想定以上の数のユーザに試用されることを防止できるだけでなく、想定以上の期間を試用されることも防止可能となる。ここでの説明は前述の第２実施形態とほぼ同様なため、異なる部分のみを以下に説明する。
【００６７】
●アプリ情報テーブル
図１２は、HDD１０６で保持するアプリ情報テーブル３０１の一例を示す図である。インストールIDカラム３０２とアプリ名カラム３０３とインストール済カラム３０４と試用開始トリガカラム３０６と上限人数カラム３０８とユーザ情報リストカラム３０９は、第２実施形態で説明した図９のアプリ情報テーブル３０１と同じ意味を持つカラムである。そのため、説明を一部省略する。
【００６８】
試用期間カラム３０５は、アプリケーションのインストール時に、試用開始トリガカラム３０６が"インストール時"に加え"ジョブ実行時"の場合も、試用情報管理部２０７によって設定される。試用期間カラム３０５は、ユーザ情報リストカラム３０９に記載する各ユーザの使用開始日から試用可能な日数を設定するカラムである。
【００６９】
試用開始日カラム３０７は、アプリケーションのインストール時に、試用開始トリガカラム３０６が"インストール時"に加え"ジョブ実行時"の場合も、試用情報管理部２０７によって設定される。試用開始日カラム３０７は、全体試用期間カラム３１０の日数の開始日を設定するカラムである。
【００７０】
全体試用期間カラム３１０は、アプリケーションのインストール時に、試用版アプリケーションの試用可能な日数を試用情報管理部２０７によって設定される。全体試用期間カラム３１０に設定された期間は、試用期間カラム３０５に設定された期間よりも制限が強い。例えば、図１２の状態では、インストールIDカラム３０２のID005に関して、ユーザ情報リストカラム３０９のユーザEの試用開始日は2018/6/20、試用期間カラム３０５は30日となっている。第２実施形態では、2018/6/20から30日以内である2018/7/1の時点で、ユーザEがID005のアプリを試用することは可能である。しかし、第３実施形態では、試用開始日カラム３０７が"2018/1/1"、全体試用期間カラム３１０が"180日"になっている。そのため、2018/1/1より180日を超えた2018/7/1の時点で、ユーザEがID005のアプリケーションを試用しようとしても、試用することができない。
【００７１】
●アプリケーションのインストール手順
図１３はアプリケーションのインストール時のフローチャートである。ステップS５０１からステップS５０５、ステップS５０８、ステップS５０９は、第２実施形態で説明した図１０のアプリケーションのインストール時のフローチャートと同じ処理を行うステップである。そのため、説明を一部省略する。ステップS５０５の次は、ステップS５１１へ進む。
【００７２】
ステップS５１１では、インストール部２０３は、試用情報管理部２０７にて全体試用期間カラム３１０と試用開始トリガカラム３０６を設定する。インストール部２０３は、ステップS５１２に進む。
【００７３】
ステップS５１２では、インストール部２０３は、試用情報管理部２０７にて試用期間カラム３０５と上限人数カラム３０８を設定する。インストール部２０３は、ステップS５０７に進む。
【００７４】
ステップS５０７では、インストール部２０３は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始トリガカラム３０６を取得して判定する。ステップS５０７で"インストール時"または"ジョブ実行時"と判定した場合、インストール部２０３は、ステップS５０８へ進む。例えば、図１２のインストールID002のアプリケーションのような試用開始トリガカラム３０６が"インストール時"のアプリケーションを新規でインストールする場合は、ステップS５０８へ進む。一方、ステップS５０７にて"インストール時"でも"ジョブ実行時"でもないそれ以外と判定した場合、インストール部２０３は、S５０９に進む。例えば、図１２のインストールID003のアプリケーションのような試用開始トリガカラム３０６が"起動時"のアプリケーションを新規でインストールする場合は、S５０９に進む。
【００７５】
●ジョブ実行手順
図１４はアプリケーションのジョブ実行時のフローチャートである。ステップS８０１、ステップS８０３からステップS８１１は、第２実施形態で説明した図１１のアプリケーションのジョブ実行時のフローチャートと同じ処理を行うステップである。そのため、説明を一部省略する。
【００７６】
ステップS８０２では、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始トリガカラム３０６を取得して判定する。ステップSで"ジョブ実行時"と判定した場合、ジョブ実行部２０５は、ステップS８１２へ進む。例えば、図１２の状態では、インストールIDカラム３０２のID005に関して、試用開始トリガカラム３０６が"ジョブ実行時"となっているため、ID005のアプリケーションを実行する場合は、ステップS８１２へ進む。
【００７７】
ステップS８１２では、ジョブ実行部２０５は、試用情報管理部２０７にてアプリ情報テーブル３０１の試用開始日カラム３０７とアプリ情報テーブル３０１の全体試用期間カラム３１０を取得する。試用情報管理部２０７は、現在の日付が取得した試用開始日カラム３０７から取得した全体試用期間カラム３１０の日数内であるか判定する。ステップS８１２で"Yes"と判定した場合すなわち試用期間内と判定した場合は、ジョブ実行部２０５は、ステップS８０８へ進む。一方、ステップS８１２にて"No"と判定した場合、ジョブ実行部２０５は、アプリケーションの試用期間が終了したと判断し、ステップS８０７へ進む。例えば、図１２の状態では、インストールIDカラム３０２のID005に関して、試用開始日カラム３０７が"2018/1/1"で、全体試用期間カラム３１０が"180日"となっている。もしもジョブを実行した日付が2018/7/1だった場合、この時、ユーザＥがジョブを実行しようとすると、2018/7/1は2018/1/1より180日を超えているため、"No"と判定して、ステップＳ８０７へ進む。
【００７８】
以上、本実施形態によれば、想定以上の数のユーザに試用されることを防止できるだけでなく、想定以上の期間を試用されることも防止可能となる。また、全体試用期間の開始日は、最初のユーザAが起動した日付としても良いし、または、最初のユーザがジョブを実行した日付でも良い。試用期間の終了日は、本アプリの最終実行した日付から一定期間を経過した日付としても良い。
【００７９】
（他の実施形態）
本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【００８０】
アプリケーションのジョブ実行時のフローチャートである図８では、試用期間の開始を設定するステップＳ８０４の処理の次にステップＳ８０６を実行しているが、ステップＳ８０４の処理のタイミングは、一例に過ぎない。画像形成装置１０１には、プリンタ１１２の印刷回数やスキャナ１１３のスキャン回数を保持するジョブカウンタが存在する場合があることが知られている。例えば、ジョブ管理部２０２がそのジョブカウンタを管理して、そのジョブカウンタが増えたタイミングで試用期間の開始を設定するステップＳ８０４を実行しても良い。同様に、アプリケーションのジョブ実行時のフローチャートである図１１、図１４では、試用期間の開始を設定するステップS８１０の処理の次にステップＳ８０６を実行しているが、ステップS８１０の処理のタイミングは、一例に過ぎない。例えば、ジョブ管理部２０２がジョブカウンタを管理して、そのジョブカウンタが増えたイベントを受ける。ジョブ管理部２０２は、そのイベントを受けて、ジョブ実行部２０５に試用期間の開始日を設定するステップS８１０を実行させても良い。
【００８１】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８２】
１０１...画像形成装置、２０１...状態遷移管理部、２０２...ジョブ管理部、２０５...ジョブ実行部、２０６...アプリ管理部、２０７...試用情報管理部、３０１...アプリ情報テーブル、３０５...試用期間カラム、３０７...試用開始日カラム
【図１】
2019207494.tif 000003
【図２】
2019207494.tif 000004
【図３】
2019207494.tif 000005
【図４】
2019207494.tif 000006
【図５】
2019207494.tif 000007
【図６】
2019207494.tif 000008
【図７】
2019207494.tif 000009
【図８】
2019207494.tif 000010
【図９】
2019207494.tif 000011
【図１０】
2019207494.tif 000012
【図１１】
2019207494.tif 000013
【図１２】
2019207494.tif 000014
【図１３】
2019207494.tif 000015
【図１４】
2019207494.tif 000016