(57)【要約】【課題】アプリケーションの有効期限を適切に管理する。【解決手段】画像形成装置１０１ａは、サーバ１０２から、信頼できる現在の日時が取得できた場合には、インストールの指示があったライセンスをインストールする。画像形成装置１０１ａは、信頼できる現在の日時が取得できなかった場合であって、インストール指示があったライセンスが、日数指定ライセンス４０１である場合には、自身の内蔵時計に基づいて、日数指定ライセンス４０１をインストールする。一方、画像形成装置１０１ａは、信頼できる現在の日時が取得できなかった場合であって、インストール指示があったライセンスが、期日指定ライセンス４０２である場合には、期日指定ライセンス４０２をインストールしない。【選択図】図１
2018132874.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの利用に関するライセンスとして、当該アプリケーションの有効期限を指定する情報を含むライセンスを取得する取得手段と、
外部装置と通信する通信手段と、
前記通信手段により前記外部装置から当該外部装置で管理されている現在の時間に関する情報が取得されたか否かと、前記ライセンスに含まれる前記有効期限を指定する情報における当該指定の方法との少なくとも何れか一方に基づいて、前記ライセンスのインストールを制御する制御手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記通信手段により前記外部装置から前記現在の時間に関する情報が取得されていない場合、前記ライセンスに含まれる前記有効期限を指定する情報における当該指定の方法に基づいて、当該ライセンスのインストールを制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記通信手段により前記外部装置から前記現在の時間に関する情報が取得されていない場合、前記ライセンスに含まれる前記有効期限を指定する情報における当該指定の方法を特定し、特定した方法に応じて、当該ライセンスをインストールするか否かを判断することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
計時手段を更に有し、
前記制御手段は、前記特定した方法が、第１の方法である場合、前記計時手段により計時されている時間から特定される時間情報に基づいて、前記ライセンスをインストールし、前記特定した方法が、第２の方法である場合、前記ライセンスをインストールしないことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第１の方法は、前記アプリケーションの利用の開始のタイミングおよび終了のタイミングを指定せずに、前記アプリケーションを利用することができる期間を指定する方法であり、
前記第２の方法は、前記アプリケーションの利用の開始のタイミングおよび終了のタイミングを指定する方法であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記制御手段は、前記通信手段により前記外部装置から前記現在の時間に関する情報が取得された場合、当該情報から特定される時間情報に基づいて、前記取得手段により取得されたライセンスをインストールすることを特徴とする請求項１〜５の何れか１項に記載の情報処理装置。
【請求項７】
前記通信手段により前記外部装置から前記現在の時間に関する情報が取得されると、当該現在の時間に関する情報が既に取得されていることを特定できる情報を記憶する記憶手段を更に有し、
前記通信手段は、前記現在の時間に関する情報が既に取得されていることを特定できる情報が前記記憶手段により記憶されている場合には、前記外部装置から前記現在の時間に関する情報を取得せず、
前記制御手段は、前記現在の時間に関する情報が既に取得されていることを特定できる情報が前記記憶手段により記憶されている場合には、当該既に取得されている前記現在の時間に関する情報から特定される時間情報に基づいて、前記取得手段により取得されたライセンスをインストールすることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
計時手段を更に有し、
前記計時手段により計時されている時間から特定される時間情報と、前記通信手段により取得された前記現在の時間に関する情報から特定される時間情報との差分を導出する導出手段と、
前記制御手段によりインストールされたライセンスの有効期限を、前記導出手段により導出された前記差分に基づいて変更する変更手段と、を更に有することを特徴とする請求項１〜７の何れか１項に記載の情報処理装置。
【請求項９】
アプリケーションの利用に関するライセンスとして、当該アプリケーションの有効期限を指定する情報を含むライセンスを取得する取得工程と、
外部装置と通信する通信工程と、
前記通信工程により前記外部装置から当該外部装置で管理されている現在の時間に関する情報が取得されたか否かと、前記ライセンスに含まれる前記有効期限を指定する情報における当該指定の方法との少なくとも何れか一方に基づいて、前記ライセンスのインストールを制御する制御工程と、を有することを特徴とする情報処理方法。
【請求項１０】
請求項１〜８の何れか１項に記載の情報処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、アプリケーションを実行するために用いて好適なものである。
【背景技術】
【０００２】
画像形成装置には、コピー機能、プリント機能、およびスキャン機能などの基本機能は標準で搭載されているが、オプションとして拡張機能が用意されていることがある。そのような拡張機能を利用したいユーザは、拡張機能の商品（アプリケーション）を購入することでライセンスを受け、当該商品を画像形成装置にインストールすることで画像形成装置において商品を利用することができる（特許文献１を参照）。また、特許文献１には、ライセンスに、当該ライセンスで利用可能な期間が含まれることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２２１０５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、画像形成装置では、画像形成装置でアプリケーションを利用できる有効期限の残りを管理することしか行っていない。従って、アプリケーションに対するライセンスの有効期限を適切に管理することができない。例えば、画像形成装置で管理している時刻が不正に変更された場合、アプリケーションに対するライセンスの有効期限が本来の有効期限と異なることになる。
本発明は、このような問題点に鑑みてなされたものであり、アプリケーションの有効期限を適切に管理することができるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、アプリケーションの利用に関するライセンスとして、当該アプリケーションの有効期限を指定する情報を含むライセンスを取得する取得手段と、外部装置と通信する通信手段と、前記通信手段により前記外部装置から当該外部装置で管理されている現在の時間に関する情報が取得されたか否かと、前記ライセンスに含まれる前記有効期限を指定する情報における当該指定の方法との少なくとも何れか一方に基づいて、前記ライセンスのインストールを制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、アプリケーションの有効期限を適切に管理することができる。
【図面の簡単な説明】
【０００７】
【図１】画像形成システムの構成を示す図である。
【図２】画像形成装置のハードウェアの構成を示す図である。
【図３】画像形成装置とサーバのソフトウェアの構成を示す図である。
【図４】ライセンスを示す図である。
【図５】画像形成装置の処理の第１の例を示すフローチャートである。
【図６】画像形成装置の処理の第２の例を示すフローチャートである。
【図７】画像形成装置のソフトウェアの構成を示す図である。
【図８】ライセンス有効期限補正部の処理を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下に、図面を参照して、実施形態を例示的に詳しく説明する。ただし、以下の実施形態に記載されている構成要素はあくまで例示であり、発明の範囲は、以下の実施形態に限定されない。
［第１の実施形態］
まず、第１の実施形態を説明する。
商品の有効期限をライセンスに設定する場合、日数などの期間（例えば、１０日間）、もしくは、利用開始日および利用終了日などの利用開始のタイミングおよび利用周期のタイミングを設定することがある。これらの方式の場合、その商品に設定された有効期限が切れた際、その後は商品が不正に利用されないようにするため、商品が提供する機能を制限したり停止したりする必要がある。
【０００９】
そこで、ユーザが取得した商品をセットアップした画像形成装置内の内蔵時計の日時を基準にして、商品の使用制限を実現する形態が考えられる。具体的に画像形成装置は、プログラムやライセンスファイル内に設定されている利用期限の日時と、画像形成装置内の内蔵時計の日時とを比較して、利用期限の日時が期間内であれば、通常に商品の動作（一部の機能が制限される場合もある）を行う。そして、画像形成装置は、利用期限の日時が期間を過ぎていれば、商品の機能を限定で動作させるか、或いは動作をさせないようにして、商品の提供者の意図に反して不正に利用されないようにする。
【００１０】
しかしながら、画像形成装置内の内蔵時計の日時は、ユーザの操作によって変更が可能なケースが多い。このため、画像形成装置内の内蔵時計の日時をそのまま期限管理に用いると、利用開始のタイミングおよび利用終了のタイミングを指定するライセンスとして、有効期間が切れた期日指定ライセンスを使って商品を不正に利用できてしまう課題がある。以後、利用開始のタイミングおよび利用終了のタイミングを指定するライセンスを期日指定ライセンスと呼ぶ。例えば、実際の日時が２０１６年１１月１日であるのに対し、画像形成装置内の内蔵時計の日時が２０１６年１０月１日であるとする。この状態で、２０１６年１０月１日〜２０１６年１０月３１日の期日指定ライセンスを画像形成装置にインストールした場合、２０１６年１１月１日に当該期日指定ライセンスに対応する商品を利用できてしまう。
【００１１】
そこで、画像形成装置が、外部サーバなどから信頼できる日時を取得してライセンスが有効であるかどうかを判定する構成が考えられる。しかしながら、日数指定のライセンス（以後、日数指定ライセンスと呼ぶ）は、画像形成装置にインストールしてからの経過日数で管理するライセンス形態である。このため、画像形成装置は、本来は外部サーバから信頼できる日時を取得できていなくても商品を運用することが可能であるのにも関わらず、外部サーバから信頼できる日時が取得できないオフライン環境では日数指定ライセンスを利用することができなくなる。
【００１２】
そこで、本実施形態では、アプリケーションの有効期限を適切に管理する仕組みの一例として、期日指定ライセンスの不正な利用を防止しつつ、日数指定ライセンスのオフラインでの運用を可能とする仕組みを提供する。
【００１３】
図１は、画像形成システムの構成の一例を示す図である。
画像形成装置１０１は、複合機に代表される、画像を形成する機能を有する装置である。
サーバ１０２は、画像形成装置１０１が、信頼できる日時を取得するためのサーバである。アプリケーションとは、画像形成装置１０１が、拡張機能および／または標準機能を利用できるようにするためのソフトウェアプログラムのことである。アプリケーションを利用する権利があることを証明するデータがライセンスである。そのライセンスのデータを画像形成装置１０１に登録し、ライセンスに対応するアプリケーションを有効化することを、ライセンスのインストールと呼ぶ。ユーザは、有効化されたアプリケーションを利用することができる。
【００１４】
アプリケーションを動作させるための実行ファイルは、画像形成装置１０１のファームウェアに予め組み込まれていてもよいし、後から画像形成装置１０１にダウンロードする形式であってもよい。サーバ１０２は、特定のサーバでなくてもよく、例えば、クラウド基盤のような不定のサーバに存在するサービスであってもよい。
【００１５】
情報端末１０３は、パソコンに代表される情報処理装置である。ユーザは、キーボードやマウスとディスプレイ、もしくは、タッチパネルを介してウェブブラウザを操作することができる。ＬＡＮ１１０は、画像形成装置１０１と外部のインターネット１１１とを相互に繋ぐネットワーク回線である。インターネット１１１は、画像形成装置１０１、サーバ１０２、および情報端末１０３を、相互に通信可能に接続するためのネットワーク回線である。ＬＡＮ１１０およびインターネット１１１を介して、画像形成装置１０１や情報端末１０３は、サーバ１０２と通信を行うことができる。
【００１６】
画像形成装置１０１ａ、１０１ｂは、同じもので実現することができる。従って、以下では、画像形成装置１０１ａを例に挙げて説明を行う。
図２は、画像形成装置１０１ａのハードウェアの構成の一例を示す図である。ＣＰＵ２０１は、プログラムの実行や、様々な処理の制御を行う。不揮発性メモリ２０２は、ＲＯＭを有する。不揮発性メモリ２０２には、機器の起動処理において初期段階に必要なプログラムやデータが格納されている。揮発性メモリ２０３は、ＲＡＭを有する。揮発性メモリ２０３は、プログラムやデータの一時的な格納場所として利用される。補助記憶装置２０４は、ハードディスクやＲＡＭドライブ等の大容量記憶装置を有する。補助記憶装置２０４は、大容量データの保管、プログラムの実行コードの保持、および画像形成装置１０１の設定値の保持などを行う。補助記憶装置２０４は、揮発性メモリ２０３と比較して、長時間保持する必要があるデータを記憶する。補助記憶装置２０４は、不揮発性の記憶装置であるため、画像形成装置１０１の電源が切られてもデータを記憶し続けることができる。ディスプレイ２０５は、ユーザに情報を伝えるための表示装置である。
【００１７】
入力装置２０６は、ユーザの選択指示を受け付け、内部バス２１０を介してプログラムに伝達するための装置である。ネットワーク通信装置２０７は、画像形成装置１０１がＬＡＮ１１０を介して別の情報機器と通信することを可能とするための装置である。ＲＴＣ２０８は、内蔵電池２０９によりバッテリバックアップされている。このため、ＲＴＣ２０８は、画像形成装置１０１ａの電源がオフの間も常に日時をカウント（計時）することができる。ＲＴＣ２０８は、ユーザによって日時を調整することが可能な所謂リアルタイムクロックと呼ばれる時計である。内部バス２１０は、各ハードウェア装置を画像形成装置１０１内で通信可能な状態に接続する通信バスである。サーバ１０２および情報端末１０３のハードウェアの構成の一例は、図２の構成と同様である。従って、サーバ１０２および情報端末１０３のハードウェアの構成の詳細な説明を省略する。また、画像形成装置１０１ａは、以上の構成に加え、不図示の印刷ユニットおよび／またはスキャナユニットを備える。
本実施形態では、例えば、画像形成装置１０１ａを用いることにより、情報処理装置の一例が実現される。また、例えば、サーバ１０２を用いることにより、現在の時間を管理する外部装置の一例が実現される。また、例えば、ＲＴＣ２０８を用いることにより、計時手段の一例が実現される。
【００１８】
図３は、画像形成装置１０１ａとサーバ１０２のソフトウェアの構成の一例を示す図である。画像形成装置１０１ａが保持する各ソフトウェア部は、画像形成装置１０１の不揮発性メモリ２０２もしくは補助記憶装置２０４に保存され、ＣＰＵ２０１にて実行されることで機能を発揮する。また、画像形成装置１０１ａの各ソフトウェア部の実行時に使用される各種情報は、画像形成装置１０１ａの揮発性メモリ２０３もしくは補助記憶装置２０４に保持され、ソフトウェア部の間でやり取りが行われる。サーバ１０２が保持する各ソフトウェア部も、画像形成装置１０１ａのソフトウェア部と同様に、サーバ１０２が保持する不図示の不揮発性メモリや補助記憶装置に保存され、ＣＰＵ２０１と同様のＣＰＵによって実行されることで機能を発揮する。また、サーバ１０２の各ソフトウェア部の実行時に使用される各種情報は、サーバ１０２が保持する不図示の不揮発性メモリもしくは補助記憶装置に保持され、ソフトウェア部の間でやり取りが行われる。尚、画像形成装置１０１ａおよびサーバ１０２は、図３に示すソフトウェア部以外に、画像形成装置１０１ａおよびサーバ１０２で実現できる一般的な機能を実現するソフトウェア部を有するが、図３では、本実施形態の説明に必要なもののみを図示する。
【００１９】
以下に画像形成装置１０１ａが保持する各ソフトウェア部の一例を説明する。
デバイス時計管理部３０３は、画像形成装置１０１ａを使用するユーザが、ディスプレイ２０５を介してデバイス時計の日時を変更した場合に、その日時情報をＲＴＣ２０８に適用する機能を有する。また、デバイス時計管理部３０３は、ＲＴＣ２０８から、現在日時などの日時情報を取得する機能も有する。
【００２０】
ライセンス状態監視部３０４は、画像形成装置１０１ａで動作するアプリケーションのライセンスの状態を監視する。ライセンス状態監視部３０４は、ライセンスの有効期限切れのアプリケーションが存在する場合に、アプリケーション制御部３０７が提供する機能により、該当するアプリケーションを停止状態にする。
【００２１】
ライセンス情報記憶部３０５は、画像形成装置１０１ａで動作するアプリケーションに対するライセンスとして画像形成装置１０１ａにインストールされたライセンスの情報を不揮発性メモリ２０２に記憶する機能を有する。
ライセンスインストール部３０６は、インストールの指示を受けたライセンスを画像形成装置１０１ａにインストールする機能を有する。ライセンスが画像形成装置１０１ａにインストールされると、不揮発性メモリ２０２に記録されたライセンス情報（表１）が更新される。表１にライセンス情報の一例を示す。
【００２２】
【表１】
2018132874.tif 000003
【００２３】
図４は、ライセンスの一例を示す図である。図４（ａ）は、日数指定ライセンス４０１の一例を示す図である。図４（ｂ）は、期日指定ライセンス４０２の一例を示す図である。
日数指定ライセンス４０１および期日指定ライセンス４０２は、ファイル形式のライセンスであり、アプリケーションの利用権利を特定するための情報を含む。
アプリケーション識別子４１１は、画像形成装置１０１ａで動作するアプリケーションを一意に識別する為の識別子である。この例では、アプリケーション識別子４１１を単純な整数で表しているが、より複雑な文字列や、ＵＵＩＤ（Universally Unique Identifier）を用いてアプリケーション識別子４１１を構成してもよい。デバイス識別子４１２は、日数指定ライセンス４０１や期日指定ライセンス４０２を利用する画像形成装置１０１ａを一意に識別する為の識別子である。有効期限日数４１３は、日数指定ライセンス４０１を利用可能な日数である。利用開始日４１５は、期日指定ライセンス４０２の利用開始日である。利用終了日４１６は、期日指定ライセンス４０２の利用終了日である。電子署名４１４は、日数指定ライセンス４０１や期日指定ライセンス４０２の正当性を検証するための証明書である。
【００２４】
本実施形態では、例えば、日数指定ライセンス４０１および期日指定ライセンス４０２を用いることにより、アプリケーションの利用に関するライセンスとして、当該アプリケーションの有効期限を指定する情報を含むライセンスの一例が実現される。また、例えば、有効期限日数４１３、利用開始日４１５および利用終了日４１６を用いることにより、有効期限を指定する情報の一例が実現される。また、例えば、有効期限日数４１３を用いるにより、アプリケーションの使用の開始のタイミングおよび終了のタイミングを指定せずに、アプリケーションの使用の期間を指定する方法（第１の方法）が実現される。また、例えば、利用開始日４１５および利用終了日４１６を用いることにより、アプリケーションの利用の開始のタイミングおよび終了のタイミングを指定する方法（第２の方法）の一例が実現される。
【００２５】
図３の説明に戻り、ライセンスインストール部３０６は、ライセンスにあるデバイス識別子４１２が画像形成装置１０１ａのデバイス識別子と合致しているか否かを確認する。ライセンスインストール部３０６は、これらのデバイス識別子が合致している場合、ライセンスにあるアプリケーション識別子４１１と同じアプリケーション識別子を含むレコードが表１のライセンス情報にあるか否かを判定する。ライセンスインストール部３０６は、ライセンスにあるアプリケーション識別子４１１と同じアプリケーション識別子を含むレコードがある場合、当該レコードに対して、利用開始日、利用終了日、およびライセンス状態を上書き保存する。一方、ライセンスにあるアプリケーション識別子４１１と同じアプリケーション識別子を含むレコードがない場合、ライセンスインストール部３０６は、新規にレコードを追加する。そして、ライセンスインストール部３０６は、追加したレコードに対して、利用開始日、利用終了日、およびライセンス状態を保存する。
【００２６】
尚、期日指定ライセンス４０２をインストールした場合、ライセンスインストール部３０６は、利用開始日４１５を、表１のライセンス情報の利用開始日にセットし、利用終了日４１６を、ライセンス情報の利用終了日にセットする。一方、日数指定ライセンス４０１をインストールした場合、ライセンスインストール部３０６は、現在の日時から、有効期限日数４１３の日数が経過した年月日を、表１のライセンス情報の利用終了日にセットする。画像形成装置１０１ａは、表１のライセンス情報の利用開始日に値が入っているか否かで期日指定ライセンス４０２であるか日数指定ライセンス４０１であるかを判別することができる。ライセンスを画像形成装置１０１ａにインストールすることでアプリケーションの利用が可能となる。アプリケーションは、商品を構成する一部であり、画像形成装置１０１でアプリケーションが利用できる状態になることで、ユーザに商品が提供されたことになる。
【００２７】
アプリケーション制御部３０７は、画像形成装置１０１ａで動作するアプリケーションのライフサイクルを管理する。アプリケーション制御部３０７は、画像形成装置１０１で動作するアプリケーションについて、当該アプリケーションのバージョンや製品名などの情報と、開始中や停止中の状態を管理する。また、アプリケーション制御部３０７は、システム管理者が利用するためのアプリケーションの管理画面（不図示）を提供する。システム管理者は、この管理画面を介して、アプリケーションの開始や停止、アプリケーションのアンインストール、ならびにライセンスのインストールを行うことができる。
【００２８】
アプリケーション部３０８は、画像形成装置１０１ａで動作するアプリケーションであり、拡張機能および／または標準機能を画像形成装置１０１ａに提供する。アプリケーションの動作は、ライセンスによって制御される。ライセンス情報記憶部３０５によって記憶されたライセンス情報（表１）に、有効なライセンスがある場合にのみアプリケーションは動作する。有効なライセンスがあるか否かの判定は、例えば、自らのアプリケーション識別子と同じアプリケーション識別子を有するレコードをライセンス情報から検索することにより行われる。ライセンスが日数指定ライセンス４０１の場合、有効なライセンスがあるか否かの判定は、現在の日時がライセンス情報の利用終了日を過ぎていないか否かによって行われる。ライセンスが期日指定ライセンス４０２の場合、有効なライセンスがあるか否かの判定は、現在の日時がライセンス情報の利用開始日から利用終了日までの範囲内か否かによって行われる。自らのアプリケーション識別子に該当するレコードがない場合、有効なライセンスはないと判定される。
【００２９】
次に、サーバ１０２が保持するソフトウェア部の一例を説明する。
サーバ日時応答部３１１は、画像形成装置１０１ａからの要求によってサーバ１０２で管理している現在の日時を応答する。
【００３０】
図５は、画像形成装置１０１ａがライセンスをインストールする際の処理の流れの一例を説明するためのフローチャートである。
ステップＳ５０１において、ライセンスインストール部３０６は、ライセンスファイル（日数指定ライセンス４０１もしくは期日指定ライセンス４０２）からライセンス情報を取得する。本実施形態では、例えば、ステップＳ５０１の処理により、ライセンスを取得する取得手段の一例が実現される。
【００３１】
次に、ステップＳ５０２において、サーバ日時要求部３０９は、信頼できる日時をサーバ１０２から取得する。ここでは、信頼できる日時として現在の日時が取得されるものとする。本実施形態では、例えば、ステップＳ５０２の処理により、時間情報を管理する外部装置と通信する通信手段の一例が実現される。
次に、ステップＳ５０３において、サーバ日時要求部３０９は、信頼できる日時をサーバ１０２から取得できたか否かを判断する。この判断の結果、信頼できる日時を取得できた場合は、ステップＳ５０４において、ライセンスインストール部３０６は、信頼できる日時を現在の日時とし、信頼できる日時に基づいてライセンスをインストールする。このとき、ライセンスインストール部３０６は、信頼できる日時に基づいて、表１のライセンス情報の利用開始日・利用終了日をセットする。本実施形態では、例えば、ステップＳ５０４の処理により、外部装置から現在の時間に関する情報が取得された場合、当該情報から特定される時間情報に基づいて、ライセンスをインストールすることの一例が実現される。
【００３２】
一方、ステップＳ５０３において、信頼できる日時を取得できなかったと判断された場合は、ステップＳ５０５において、ライセンスインストール部３０６は、ライセンスの種類が期日指定ライセンス４０２であるか否かを判断する。本実施形態では、例えば、ステップＳ５０５の処理により、通信手段により外部装置から時間に関する情報が取得されていない場合、ライセンスに含まれる有効期限を指定する情報における当該指定の方法を特定することの一例が実現される。
【００３３】
この判断の結果、ライセンスの種類が期日指定ライセンス４０２でない、つまり日数指定ライセンス４０１であった場合、処理は、ステップＳ５０６に進む。そして、ステップＳ５０６において、ライセンスインストール部３０６は、画像形成装置１０１ａ内の内蔵時計（ＲＴＣ２０８）に基づいてライセンスをインストールする。このとき、ライセンスインストール部３０６は、画像形成装置１０１ａ内の内蔵時計（ＲＴＣ２０８）で計時されている日時に基づいて、表１のライセンス情報の利用終了日をセットする。本実施形態では、例えば、ステップＳ５０６の処理により特定した方法が、第１の方法である場合、計時手段により計時されている時間から特定される時間情報に基づいて、ライセンスをインストールすることの一例が実現される。
【００３４】
一方、ステップＳ５０５において、ライセンスの種類が期日指定ライセンス４０２であったと判断された場合は、ステップＳ５０７において、ライセンスインストール部３０６は、ライセンスのインストールを失敗させる。このとき、ライセンスインストール部３０６は、ライセンスのインストールが失敗したことを示す情報をディスプレイ２０５に表示してもよい。本実施形態では、例えば、ステップＳ５０７の処理により、特定した方法が、第２の方法である場合、ライセンスをインストールしないことの一例が実現される。
【００３５】
以上のように本実施形態では、画像形成装置１０１ａは、サーバ１０２から、信頼できる日時が取得できた場合には、インストールの指示があったライセンスをインストールする。画像形成装置１０１ａは、信頼できる日時が取得できなかった場合であって、インストール指示があったライセンスが、日数指定ライセンス４０１である場合には、自身の内蔵時計に基づいて、日数指定ライセンス４０１をインストールする。一方、画像形成装置１０１ａは、信頼できる現在の日時が取得できなかった場合であって、インストール指示があったライセンスが、期日指定ライセンス４０２である場合には、期日指定ライセンス４０２をインストールしない。従って、期日指定ライセンス４０２の不正な利用を防止しつつ、日数指定ライセンス４０１のオフラインでの運用が可能となる。
【００３６】
本実施形態の説明において、画像形成装置１０１ａ内の内蔵時計を、サーバ１０２から取得した信頼できる日時に合わせるようにしてもよい。この場合、例えば、ステップＳ５０３とＳ５０４との間で、画像形成装置１０１ａ内の内蔵時計を、サーバ１０２から取得した信頼できる日時に合わせる処理を追加すればよい。また、本実施形態では、ライセンスの利用期限を管理する時間情報の単位が年月日である場合を例に挙げて説明した。しかしながら、ライセンスの利用期限を管理する時間情報の単位は年月日に限定されない。例えば、年月日に時刻を加えた単位でラインセンスの利用期限を管理してもよい。また、画像形成装置１０１ａは、自身がオフライン（外部装置と通信することができない状態）であることが事前に分かっている場合には、ステップＳ５０２〜Ｓ５０４の処理を省略してもよい。
【００３７】
［第２の実施形態］
次に、第２の実施形態を説明する。第１の実施形態では、画像形成装置１０１ａは、すでに信頼できる日時をサーバ１０２から取得済みの場合でもライセンスをインストールする度にサーバ１０２に信頼できる日時を問い合わせる。そのため、無駄なネットワークトラフィックが発生してしまうと共に、サーバ１０２側の負荷が高まる。そこで、本実施形態では、画像形成装置１０１ａは、すでに信頼できる日時をサーバ１０２から取得済みの場合には、サーバ１０２に信頼できる日時を問い合わせることを行わない。このように、本実施形態と第１の実施形態とは、サーバ１０２に対する日時の問い合わせに係る処理の一部が主として異なる。従って、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図５に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、本実施形態でも、第１の実施形態と同様に、日時が年月日であるものとして説明を行う。
【００３８】
図６は、画像形成装置１０１ａがライセンスをインストールする際の処理の流れの一例を説明するためのフローチャート図である。
ステップＳ６０１において、ライセンスインストール部３０６は、ライセンスファイル（日数指定ライセンス４０１もしくは期日指定ライセンス４０２）からライセンス情報を取得する。本実施形態では、例えば、ステップＳ６０１の処理により、ライセンスを取得する取得手段の一例が実現される。
【００３９】
次に、ステップＳ６０２において、サーバ日時要求部３０９は、信頼できる日時をサーバ１０２から取得済みであるか否かを、後述するステップＳ６０５で記憶した情報に基づいて判断する。この判断の結果、信頼できる日時を取得済みである場合、処理は、ステップＳ６０３〜Ｓ６０５の処理を省略して（サーバ１０２から、信頼できる日時を改めて取得せずに）ステップＳ６０６に進む。そして、ステップＳ６０６において、ライセンスインストール部３０６は、取得済みの信頼できる日時に基づいて、現在の日時を特定し、特定した現在の日時に基づいて、ライセンスをインストールする。ここでは、信頼できる日時として現在の日時が取得されるものとする。現在の日時の特定は、例えば、取得済みの信頼できる日時からの経過時間（日数）を画像形成装置１０１ａ内の内蔵時計（ＲＴＣ２０８）で計時することにより実現される。また、現在の日時の特定は、信頼できる日時を取得した時点で、画像形成装置１０１ａ内の内蔵時計（ＲＴＣ２０８）の現在の計時値を、信頼できる日時に変更することによっても実現される。
【００４０】
本実施形態では、例えば、処理が、ステップＳ６０３〜Ｓ６０５の処理を省略してステップＳ６０６に進む場合が、時間に関する情報が既に取得されていることを特定できる情報が記憶手段により記憶されている場合に対応する。そして、例えば、処理が、ステップＳ６０３〜Ｓ６０５の処理を省略してステップＳ６０６に進むことにより、外部装置から時間に関する情報を取得しないことの一例が実現される。また、例えば、このステップＳ６０６の処理により、既に取得されている時間に関する情報から特定される時間情報に基づいて、ライセンスをインストールすることの一例が実現される。
【００４１】
一方、ステップＳ６０２において、信頼できる日時をサーバ１０２から取得済みでない場合、処理は、ステップＳ６０３に進む。そして、ステップＳ６０３において、サーバ日時要求部３０９は、信頼できる日時をサーバ１０２から取得する。本実施形態では、例えば、ステップＳ６０３の処理により、外部装置と通信する通信手段の一例が実現される。
次に、ステップＳ６０４において、サーバ日時要求部３０９は、信頼できる日時をサーバ１０２から取得できたか否かを判断する。この判断の結果、信頼できる日時を取得できた場合は、ステップＳ６０５において、サーバ日時要求部３０９は、信頼できる日時を取得済みであることを不揮発性メモリ２０２に記憶する。本実施形態では、例えば、ステップＳ６０５の処理により、通信手段により外部装置から現在の時間に関する情報が取得されると、当該現在の時間に関する情報が既に取得されていることを特定できる情報を記憶する記憶手段の一例が実現される。
【００４２】
その後、ステップＳ６０６において、ライセンスインストール部３０６は、信頼できる日時を現在の日時とし、信頼できる日時に基づいてライセンスをインストールする。このとき、ライセンスインストール部３０６は、信頼できる日時に基づいて、表１のライセンス情報の利用開始日・利用終了日をセットする。本実施形態では、例えば、ステップＳ６０５からステップ６０６に進むことにより、外部装置から現在の時間に関する情報が取得された場合、当該情報から特定される時間情報に基づいて、ライセンスをインストールすることの一例が実現される。
【００４３】
一方、ステップＳ６０４において、信頼できる日時を取得できなかったと判断された場合は、ステップＳ６０７において、ライセンスインストール部３０６は、ライセンスの種類が期日指定ライセンス４０２であるか否かを判断する。本実施形態では、例えば、ステップＳ６０７の処理により、通信手段により外部装置から時間に関する情報が取得されていない場合、ライセンスに含まれる有効期限を指定する情報における当該指定の方法を特定することの一例が実現される。
【００４４】
この判断の結果、ライセンスの種類が期日指定ライセンス４０２でない、つまり日数指定ライセンス４０１であった場合、処理は、ステップＳ６０８に進む。そして、ステップＳ６０８において、ライセンスインストール部３０６は、画像形成装置１０１ａ内の内蔵時計（ＲＴＣ２０８）に基づいてライセンスをインストールする。このとき、ライセンスインストール部３０６は、画像形成装置１０１ａ内の内蔵時計（ＲＴＣ２０８）で計時されている日時に基づいて、表１のライセンス情報の利用終了日をセットする。本実施形態では、例えば、ステップＳ６０８の処理により特定した方法が、第１の方法である場合、計時手段により計時されている時間から特定される時間情報に基づいて、ライセンスをインストールすることの一例が実現される
【００４５】
一方、ステップＳ６０７において、ライセンスの種類が期日指定ライセンス４０２であったと判断された場合は、ステップＳ６０９において、ライセンスインストール部３０６は、ライセンスのインストールを失敗させる。このとき、ライセンスインストール部３０６は、ライセンスのインストールが失敗したことを示す情報をディスプレイ２０５に表示してもよい。本実施形態では、例えば、ステップＳ６０９の処理により、特定した方法が、第２の方法である場合、当該ライセンスをインストールしないことの一例が実現される。
【００４６】
図６のフローチャートと図５のフローチャートとの違いは、以下の点である。まず、図６のフローチャートでは、図５のフローチャートに対し、サーバ日時要求部３０９が信頼できる日時を取得済みであることを示す情報を不揮発性メモリ２０２に記憶するステップ（ステップＳ６０５）が追加される。また、図６のフローチャートでは、図５のフローチャートに対し、ステップＳ６０５で記憶した情報に基づいて、サーバ日時要求部３０９が、信頼できる日時をサーバ１０２から取得済みであるかどうかを判断するステップ（ステップＳ６０２）が追加される。
【００４７】
以上のように、画像形成装置１０１ａは、信頼できる日時をサーバ１０２から取得済みである場合には、その後、信頼できる日時をサーバ１０２から取得しない。従って、第１の実施形態で説明した効果に加え、信頼できる日時を返すサーバ１０２の負荷を軽減することができ、無駄なネットワークトラフィックの増加を防止することが可能となる。
【００４８】
本実施形態でも、第１の実施形態で説明した変形例を採用することができる。
また、本実施形態では、信頼できる日時をサーバ１０２から取得済みである場合には、その後、信頼できる日時をサーバ１０２から取得しない。しかしながら、必ずしもこのようにする必要はない。例えば、サーバ日時要求部３０９は、信頼できる日時をサーバ１０２から取得した時刻から所定の時間が経過したか否かを判断し、所定の時間が経過した場合、信頼できる日時をサーバ１０２から取得して信頼できる日時を更新してもよい。このようにすれば、画像形成装置１０１ａは、信頼できる日時を定期的に特定することができる。
【００４９】
（第３の実施形態）
次に、第３の実施形態を説明する。第１の実施形態および第２の実施形態では、日数指定ライセンス４０１または期日指定ライセンス４０２のインストールを試みた場合、ステップＳ５０２、Ｓ６０３において、信頼できる日時がサーバ１０２から取得される。信頼できる日時を取得できたときに、既にステップＳ５０６、Ｓ６０８で、画像形成装置１０１ａ内の内蔵時計に基づいてインストールした日数指定ライセンス４０１が存在するものとする。この場合、ライセンスの管理の基準となる日時を、画像形成装置１０１ａ内の内蔵時計の日時から、信頼できる日時に変更すると以下の課題が発生する。尚、以下の説明では、画像形成装置１０１ａ内の内蔵時計の日時を必要に応じてデバイス日時と呼ぶ。
【００５０】
即ち、デバイス日時が、信頼できる日時よりも未来に設定されていた場合、本来の有効期限よりも長くアプリケーションを利用できてしまう。例えば、デバイス日時が２０１６年１０月１日に設定されている状態で、有効期限が１０日間の日数指定ライセンスをインストールすると、当該ライセンスの有効期限は、２０１６年１０月１１日に設定される。その後、信頼できる日時をサーバ１０２から取得した日時が２０１６年９月１日であった場合、当該ライセンスに対応するアプリケーションは、２０１６年９月１日〜２０１６年１０月１１日の間使えてしまう。
【００５１】
また、デバイス日時が、信頼できる日時より過去に設定されていた場合、本来の有効期限よりも、アプリケーションの使用期間が短縮されてしまう。例えば、デバイス日時が２０１６年１０月１日に設定されている状態で有効期限が１０日間の日数指定ライセンスをインストールすると、当該ライセンスの有効期限は、２０１６年１０月１１日に設定される。その後、信頼できる日時をサーバ１０２から取得した日時が２０１６年１０月５日であった場合、当該ライセンスに対応するアプリケーションは、２０１６年１０月５日〜２０１６年１０月１１日の間しか使えなくなってしまう。従って、当該アプリケーションの使用期間が短縮される。
【００５２】
このような課題を考慮したのが本実施形態である。以上のように本実施形態と、第１の実施形態および第２の実施形態は、ライセンスの有効期限を設定する処理の一部が主として異なる。従って、本実施形態の説明において、第１の実施形態および第２の実施形態と同一の部分については、図１〜図６に付した符号と同一の符号を付す等して詳細な説明を省略する。尚、本実施形態でも、第１の実施形態および第２の実施形態と同様に、日時が年月日であるものとして説明を行う。
【００５３】
図７は、画像形成装置１０１ａのソフトウェアの構成の一例を示す図である。現在日時管理部３０２は、ＲＴＣ２０８に対する日時の変更の影響を受けずに現在日時を管理する。現在日時管理部３０２は、サーバ１０２から取得した信頼できる日時をセットする。デバイス時計管理部３０３、ライセンス状態監視部３０４、ライセンス情報記憶部３０５、ライセンスインストール部３０６、アプリケーション制御部３０７、アプリケーション部３０８、サーバ日時要求部３０９は、図３と同じである。従ってここでは、これらの詳細な説明を省略する。ライセンス有効期限補正部３１０は、デバイス日時と、サーバ１０２から取得した信頼できる日時とに差分があった場合に、インストール済みの日数指定ライセンス４０１の有効期限を補正する。
【００５４】
図８は、信頼できる日時をサーバ１０２から取得したときに、ライセンス有効期限補正部３１０がインストール済みの日数指定ライセンス４０１の有効期限を補正する際の処理の流れの一例を説明するためのフローチャートである。
ステップＳ８０１において、ライセンス有効期限補正部３１０は、現在日時管理部３０２から、信頼できる日時を取得する。次に、ステップＳ８０２において、ライセンス有効期限補正部３１０は、デバイス時計管理部３０３よりデバイス日時を取得する。
【００５５】
次に、ステップＳ８０３において、ライセンス有効期限補正部３１０は、ステップＳ８０２で取得した日時と、ステップＳ８０１で取得した日時との差分を計算する。本実施形態では、例えば、この差分により、計時手段により計時されている時間から特定される時間情報と、通信手段により取得された時間に関する情報から特定される時間情報との差分の一例が実現される。また、例えば、ステップＳ８０３の処理により、導出手段の一例が実現される。
次に、ステップＳ８０４において、ライセンス有効期限補正部３１０は、ステップＳ８０３で計算した差分が±１日以上であるか否かを判断する。ここで、±１日で処理を分けている理由は、表１のライセンス情報の利用終了日が時間単位ではなく日数単位の情報しか持たないからである。
【００５６】
ステップＳ８０４の判断の結果、ステップＳ８０３で計算した差分が±１日未満であれば、有効期限の更新を行わずに図８のフローチャートによる処理を終える。一方、ステップＳ８０３で計算した差分が±１日以上の場合、ステップＳ８０５において、ライセンス有効期限補正部３１０は、ライセンス情報（表１）を取得する。そして、ステップＳ８０６において、ライセンス有効期限補正部３１０は、利用終了日があるライセンス情報が存在するか否かを判断する。この判断の結果、利用終了日があるライセンス情報が存在しない場合、ライセンスの有効期限の更新を行わずに、図８のフローチャートによる処理を終える。
【００５７】
一方、利用終了日があるライセンス情報であって、未選択のライセンス情報が存在する場合、ステップＳ８０７において、ライセンス有効期限補正部３１０は、当該ライセンス情報を選択する。そして、ライセンス有効期限補正部３１０は、当該ライセンス情報が日数指定ライセンス４０１のライセンス情報であるか否かを判断する。第１の実施形態で説明したように、ライセンス情報に利用開始日が設定されていない場合、当該ライセンス情報は、日数指定ライセンス４０１のライセンス情報となる。
【００５８】
この判断の結果、選択したライセンス情報が日数指定ライセンス４０１のライセンス情報である場合、処理は、ステップＳ８０８に進む。そして、ステップＳ８０８おいて、ライセンス有効期限補正部３１０は、当該日数指定ライセンス４０１の利用終了日を、当該利用終了日に対しＳ８０３で計算した差分だけ加算した日付に更新する。そして、次のライセンス情報を確認するために、処理は、ステップＳ８０６に戻る。本実施形態では、例えば、ステップＳ８０８の処理により、制御手段によりインストールされたライセンスの有効期限を、導出手段により導出された差分に基づいて変更する変更手段の一例が実現される。
一方、ステップＳ８０７の判断の結果、選択したライセンス情報が日数指定ライセンス４０１でない、つまり期日指定ライセンス４０２の場合、当該期日指定ライセンス４０２の有効期限の更新を行わずに、図８のフローチャートによる処理を終える。
【００５９】
以上のように本実施形態では、信頼できる日時に合わせて、日数指定ライセンスの有効期限を変更する。従って、第１の実施形態および第２の実施形態で説明した効果に加え、日数指定ライセンスについて、画像形成装置内の内蔵時計の日時の変更による不正利用を防止すると同時に、本来ユーザが利用できる期間を保証することが可能となる。
尚、本実施形態は、第１の実施形態および第２の実施形態の何れに対しても適用することができる。この場合、本実施形態でも、第１の実施形態および第２の実施形態で説明した変形例を採用することができる。
【００６０】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００６１】
（その他の実施例）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６２】
１０１ａ〜１０１ｂ：画像形成装置、１０２：サーバ、１１１：インターネット
【図１】
2018132874.tif 000004
【図２】
2018132874.tif 000005
【図３】
2018132874.tif 000006
【図４】
2018132874.tif 000007
【図５】
2018132874.tif 000008
【図６】
2018132874.tif 000009
【図７】
2018132874.tif 000010
【図８】
2018132874.tif 000011