(57)【要約】      （修正有）【課題】アプリのインストール制御とアプリ関連設定変更を一度の指示で行うことができる管理システムおよびその制御方法、情報処理装置、並びにプログラムを提供する。【解決手段】情報処理装置（複合機１００）と、情報処理装置のアプリケーションを管理する管理装置（管理サーバー２００）と、アプリケーションに関するデータを配信する配信装置（アプリ配信サーバー３００）とを含む管理システムであって、情報処理装置は、アプリケーションに関連するジョブを管理装置から取得する取得手段と、取得手段にて取得したジョブに従って、情報処理装置のアプリケーションに対する制御を行う制御手段と、制御手段による制御に伴って、取得手段にて取得したジョブに含まれる設定情報に従い、情報処理装置の設定およびアプリケーションの設定の少なくとも一方を変更する設定手段とを有する。【選択図】図１
2017004175.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と、前記情報処理装置のアプリケーションを管理する管理装置と、アプリケーションに関するデータを配信する配信装置とを含む管理システムであって、
前記情報処理装置は、
アプリケーションに関連するジョブを前記管理装置から取得する取得手段と、
前記取得手段にて取得したジョブに従って、前記情報処理装置のアプリケーションに対する制御を行う制御手段と、
前記制御手段による制御に伴って、前記取得手段にて取得したジョブに含まれる設定情報に従い、前記情報処理装置の設定およびアプリケーションの設定の少なくとも一方を変更する設定手段と
を有し、
前記取得手段にて取得したジョブがアプリケーションのインストールを指示するジョブである場合、前記制御手段は、前記ジョブにて指定されたアプリケーションに対応するアプリケーションファイルおよびライセンスファイルを前記配信装置から取得し、当該アプリケーションファイルおよびライセンスファイルを用いて前記アプリケーションのインストールを行うことを特徴とする管理システム。
【請求項２】
前記取得手段にて取得したジョブがアプリケーションのアップデートを指示するジョブである場合、前記制御手段は、前記ジョブにて指定されたアプリケーションに対応した更新用のアプリケーションファイルおよびライセンスファイルを前記配信装置から取得し、当該更新用のアプリケーションファイルおよびライセンスファイルを用いて前記アプリケーションのアップデートを行うことを特徴とする請求項１に記載の管理システム。
【請求項３】
前記取得手段にて取得したジョブがアプリケーションのアンインストールを指示するジョブである場合、前記制御手段は、前記ジョブにて指定されたアプリケーションと当該アプリケーションに対応するライセンスをアンインストールすることを特徴とする請求項１または２に記載の管理システム。
【請求項４】
前記取得手段にて取得したジョブがアプリケーションの開始を指示するジョブである場合、前記制御手段は、前記ジョブにて指定されたアプリケーションに対応するライセンスファイルをインストールした上で、前記アプリケーションを開始することを特徴とする請求項１乃至３のいずれか一項に記載の管理システム。
【請求項５】
前記取得手段にて取得したジョブがアプリケーションの停止を指示するジョブである場合、前記制御手段は、前記ジョブにて指定されたアプリケーションを停止することを特徴とする請求項１乃至４のいずれか一項に記載の管理システム。
【請求項６】
前記情報処理装置は、前記管理装置との通信が、一定期間にわたって失敗しているか否かを判定する判定手段を更に有し、
前記判定手段により、一定期間にわたって前記管理装置との通信が失敗していると判定された場合、
前記制御手段は、前記管理装置から取得したジョブに従ってインストールしたアプリケーションを停止し、
前記設定手段は、前記制御手段によるアプリケーションの停止に伴い、当該停止したアプリケーションをインストールする前の設定に、前記情報処理装置の設定およびアプリケーションの設定を変更する
ことを特徴とする請求項１乃至５のいずれか一項に記載の管理システム。
【請求項７】
前記制御手段は、アプリケーションを停止した際に、当該アプリケーションに対応するライセンスファイルを無効化して保持しておくことを特徴とする請求項５または６に記載の管理システム。
【請求項８】
アプリケーションの停止に伴って無効化して保持されたライセンスファイルは、前記管理装置から取得したジョブにて当該アプリケーションの開始を指示された場合に再度利用できることを特徴とする請求項７に記載の管理システム。
【請求項９】
前記情報処理装置は、前記設定手段による設定の変更を行う際に、変更前の設定値を保持する保持手段を更に有することを特徴とする請求項１乃至８のいずれか一項に記載の管理システム。
【請求項１０】
前記取得手段は、定期的に前記管理装置へのジョブの問い合わせを行うことを特徴とする請求項１乃至９のいずれか一項に記載の管理システム。
【請求項１１】
前記情報処理装置は、前記設定手段により変更された設定およびアプリケーションの状態を前記管理装置に通知する通知手段を更に有することを特徴とする請求項１乃至１０のいずれか一項に記載の管理システム。
【請求項１２】
前記管理装置は、ジョブを登録するための登録画面を表示する表示手段を有することを特徴とする請求項１乃至１１のいずれか一項に記載の管理システム。
【請求項１３】
前記登録画面において、インストールを指示するジョブを登録する際に、前記情報処理装置にすでにインストールされているアプリの情報は表示されず、新規にインストールすることができるアプリを選択可能に表示されることを特徴とする請求項１２に記載の管理システム。
【請求項１４】
情報処理装置と、前記情報処理装置のアプリケーションを管理する管理装置とを含む管理システムであって、
前記情報処理装置は、
アプリケーションに関連するジョブを前記管理装置から取得する取得手段と、
前記取得手段にて取得したジョブに従って、前記情報処理装置のアプリケーションに対する制御を行う制御手段と、
前記制御手段による制御に伴って、前記取得手段にて取得したジョブに含まれる設定情報に従い、前記情報処理装置の設定およびアプリケーションの設定の少なくとも一方を変更する設定手段と
を有することを特徴とする管理システム。
【請求項１５】
情報処理装置と、前記情報処理装置のアプリケーションを管理する管理装置と、アプリケーションに関するデータを配信する配信装置とを含む管理システムの制御方法であって、
前記情報処理装置において、
アプリケーションに関連するジョブを前記管理装置から取得する取得工程と、
前記取得工程にて取得したジョブに従って、前記情報処理装置のアプリケーションに対する制御を行う制御工程と、
前記制御工程による制御に伴って、前記取得工程にて取得したジョブに含まれる設定情報に従い、前記情報処理装置の設定およびアプリケーションの設定の少なくとも一方を変更する設定工程と
を有し、
前記取得工程にて取得したジョブがアプリケーションのインストールを指示するジョブである場合、前記制御工程において、前記ジョブにて指定されたアプリケーションに対応するアプリケーションファイルおよびライセンスファイルを前記配信装置から取得し、当該アプリケーションファイルおよびライセンスファイルを用いて前記アプリケーションのインストールを行うことを特徴とする管理システムの制御方法。
【請求項１６】
情報処理装置と、前記情報処理装置のアプリケーションを管理する管理装置とを含む管理システムの制御方法であって、
前記情報処理装置において、
アプリケーションに関連するジョブを前記管理装置から取得する取得工程と、
前記取得工程にて取得したジョブに従って、前記情報処理装置のアプリケーションに対する制御を行う制御工程と、
前記制御工程による制御に伴って、前記取得工程にて取得したジョブに含まれる設定情報に従い、前記情報処理装置の設定およびアプリケーションの設定の少なくとも一方を変更する設定工程と
を有することを特徴とする管理システムの制御方法。
【請求項１７】
アプリケーションを管理する管理装置と、アプリケーションに関するデータを配信する配信装置とに接続された情報処理装置であって、
アプリケーションに関連するジョブを前記管理装置から取得する取得手段と、
前記取得手段にて取得したジョブに従って、前記情報処理装置のアプリケーションに対する制御を行う制御手段と、
前記制御手段による制御に伴って、前記取得手段にて取得したジョブに含まれる設定情報に従い、前記情報処理装置の設定およびアプリケーションの設定の少なくとも一方を変更する設定手段と
を有し、
前記取得手段にて取得したジョブがアプリケーションのインストールを指示するジョブである場合、前記制御手段は、前記ジョブにて指定されたアプリケーションに対応するアプリケーションファイルおよびライセンスファイルを前記配信装置から取得し、当該アプリケーションファイルおよびライセンスファイルを用いて前記アプリケーションのインストールを行うことを特徴とする情報処理装置。
【請求項１８】
アプリケーションを管理する管理装置に接続された情報処理装置であって、
アプリケーションに関連するジョブを前記管理装置から取得する取得手段と、
前記取得手段にて取得したジョブに従って、前記情報処理装置のアプリケーションに対する制御を行う制御手段と、
前記制御手段による制御に伴って、前記取得手段にて取得したジョブに含まれる設定情報に従い、前記情報処理装置の設定およびアプリケーションの設定の少なくとも一方を変更する設定手段と
を有することを特徴とする情報処理装置。
【請求項１９】
コンピュータを、
アプリケーションに関連するジョブを取得する取得手段、
前記取得手段にて取得したジョブに従って、前記コンピュータのアプリケーションに対する制御を行う制御手段、
前記制御手段による制御に伴って、前記取得手段にて取得したジョブに含まれる設定情報に従い、前記コンピュータの設定およびアプリケーションの設定の少なくとも一方を変更する設定手段
として機能させ、
前記取得手段にて取得したジョブがアプリケーションのインストールを指示するジョブである場合、前記制御手段は、前記ジョブにて指定されたアプリケーションに対応するアプリケーションファイルおよびライセンスファイルを配信装置から取得し、当該アプリケーションファイルおよびライセンスファイルを用いて前記アプリケーションのインストールを行うことを特徴とするプログラム。
【請求項２０】
コンピュータを、
アプリケーションに関連するジョブを取得する取得手段、
前記取得手段にて取得したジョブに従って、前記コンピュータのアプリケーションに対する制御を行う制御手段、
前記制御手段による制御に伴って、前記取得手段にて取得したジョブに含まれる設定情報に従い、前記コンピュータの設定およびアプリケーションの設定の少なくとも一方を変更する設定手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理システムおよびその制御方法、情報処理装置、並びにプログラムに関する。
【背景技術】
【０００２】
近年、携帯電話端末や複合機等の情報処理装置において、Ｊａｖａ（登録商標）プラットフォームに代表されるようなアプリケーション（以下、「アプリ」と呼ぶ）プラットフォームが提供されるようになっている。また、Ｊａｖａ（登録商標）の持つプログラムの可搬性を利用して、拡張可能なアプリを提供する技術も提案されている。この様な拡張可能なアプリを提供する技術としては、組み込み機器向けのＪａｖａ（登録商標）アプリプラットフォームである、ＯＳＧｉ（Ｏｐｅｎ  Ｓｅｒｖｉｃｅｓ  Ｇａｔｅｗａｙ  Ｉｎｉｔｉａｔｉｖｅ）が知られている（非特許文献１参照）。
【０００３】
ＯＳＧｉでは、ソフトウェアモジュールの管理単位を「バンドル」として定義し、インストール／開始／停止／アンインストールからなるバンドルのライフサイクルを管理するための仕様を定義している。尚、バンドルとは、ＯＳＧｉにおけるモジュールの単位であり、本発明においてはアプリと同義であるとする。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“ＯＳＧｉ  Ｓｅｒｖｉｃｅ  Ｐｌａｔｆｏｒｍ  Ｒｅｌｅａｓｅ４”，［ｏｎｌｉｎｅ］、２００５年１０月、［平成２７年５月２８日検索］、インターネット、＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｓｇｉ．ｏｒｇ／Ｄｏｗｎｌｏａｄ／Ｒｅｌｅａｓｅ４Ｖ４０＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した技術では、アプリのライフサイクルの管理はできるが、アプリがユーザーの環境に合わせて動作するために必要なアプリや情報処理装置の設定変更（以下、「アプリ関連設定変更」と呼ぶ）の作業を別途行う必要がある。そのため、ユーザーは、その作業に手間がかかるという課題があった。
【０００６】
本発明は、上記課題を鑑み、アプリのインストール制御とアプリ関連設定変更を併せて実行することで、アプリの管理に係る作業を効率化することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、情報処理装置と、前記情報処理装置のアプリケーションを管理する管理装置と、アプリケーションに関するデータを配信する配信装置とを含む管理システムであって、前記情報処理装置は、アプリケーションに関連するジョブを前記管理装置から取得する取得手段と、前記取得手段にて取得したジョブに従って、前記情報処理装置のアプリケーションに対する制御を行う制御手段と、前記制御手段による制御に伴って、前記取得手段にて取得したジョブに含まれる設定情報に従い、前記情報処理装置の設定およびアプリケーションの設定の少なくとも一方を変更する設定手段とを有し、前記取得手段にて取得したジョブがアプリケーションのインストールを指示するジョブである場合、前記制御手段は、前記ジョブにて指定されたアプリケーションに対応するアプリケーションファイルおよびライセンスファイルを前記配信装置から取得し、当該アプリケーションファイルおよびライセンスファイルを用いて前記アプリケーションのインストールを行う。
【発明の効果】
【０００８】
本発明によれば、アプリのインストール制御とアプリ関連設定変更を一度の指示で行うことが可能になり、アプリの管理に係る作業を効率化することができる。
【図面の簡単な説明】
【０００９】
【図１】管理システムの構成の例を示す図。
【図２】複合機のハードウェア構成の例を示す図。
【図３】複合機のソフトウェア構成の例を示す図。
【図４】アプリ管理画面の構成例を示す図。
【図５】管理サーバーのハードウェア構成の例を示す図。
【図６】アプリ配信サーバーのハードウェア構成の例を示す図。
【図７】複合機の各種アプリの関係を示す図。
【図８】複合機の各種アプリの詳細を説明するための図。
【図９】ポーリング処理の流れを示すフローチャート。
【図１０】アプリ関連設定ジョブ実行処理の流れを示すフローチャート。
【図１１】インストール処理の流れを示すフローチャート。
【図１２】停止処理の流れを示すフローチャート。
【図１３】開始処理の流れを示すフローチャート。
【図１４】強制停止処理の流れを示すフローチャート。
【図１５】アップデート処理の流れを示すフローチャート。
【図１６】アンインストール処理の流れを示すフローチャート。
【図１７】管理システム操作画面の例を示す図。
【図１８】アプリ関連設定ジョブのデータ構成例を示す図。
【図１９】アプリ情報の例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態においては、情報処理装置として、コピー、ファクス、もしくはプリンタなどの複数の機能を一つの筐体に収納した複合機に適用した例を示すが、これに限定するものではない。例えば、携帯電話端末などのシステムを停止すること無くアプリを追加及び削除可能な情報処理装置であれば本発明を適用することができる。
【００１１】
［システム構成の説明］
図１は、本実施形態に係る、アプリが動作可能な情報処理装置としての複合機を含む遠隔管理システムの構成の例を示す図である。本実施形態の遠隔管理システムは、複合機１００、管理サーバー２００、およびアプリ配信サーバー３００が、インターネットなどのネットワーク１０を介して接続される。複合機１００とネットワーク１０との間には、ファイアウォール２０が設けられる。ファイアウォール２０は、第三者による不正アクセスなどが行われないように、公衆回線やインターネットなどの外部ネットワークとの境界にて流れるデータを監視し、不正なアクセスを検出・遮断する。なお、図１の例では、各装置が１台ずつ含まれる構成を示しているが、これに限定するものではなく、それぞれ複数の装置を含んでよい。複合機については、１の顧客の内部ネットワークに複数台が配置されるようにしてもよい。更に、複数の顧客の内部ネットワークそれぞれに配置された１または複数の複合機を管理するようにしてもよい。また、各サーバーについては、物理的には複数の装置にて各管理処理を分散して処理するようにしてもよい。
【００１２】
複合機１００は、複写機にスキャナやプリンタ、ファクシミリ、ファイル送信機能等の複数の機能を統合した複合機であって、例えば、ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）が挙げられる。複合機１００は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの内部ネットワークに位置し、ファイアウォール２０に接続される。
【００１３】
管理サーバー２００は、複合機１００を遠隔管理する装置である。管理サーバー２００は、複合機の開発企業や販売企業のサービスセンター等に設置されたサーバー装置であり、各種の管理データを格納する複合機管理用データベース（不図示）を備える。複合機管理用データベースには、顧客ごとに、顧客側での管理対象の複合機に関する管理情報が格納されている。管理情報は、例えば、複合機の構成、複合機の機種、機体識別番号、設置場所情報、インストール又はアンインストールしたアプリの情報等を含み、管理対象である複合機とアプリの状態を特定できる情報である。
【００１４】
アプリ配信サーバー３００は、管理サーバー２００と同じく、複合機の開発企業や販売企業のサービスセンター等に設置されたサーバー装置であり、複合機に追加してインストール可能なアプリを管理するアプリ管理用データベース（不図示）を備える。アプリ管理用データベースには、アプリの名称、アプリを一意に識別するためのＩＤ（識別情報）、アプリを使用する権限を識別するための情報（以下、「アプリ使用権ＩＤ」）等が格納されている。また、アプリ配信サーバー３００は、指定されたアプリに対するアプリ使用権ＩＤを発行する機能と、アプリを複合機にインストールするために必要なライセンスファイルを発行する機能を更に有する。
【００１５】
そして、本実施形態に係る遠隔管理システムは、遠隔管理を実現するため、各装置にＲＰＣ（Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ）により、相互実装するアプリのメソッドに対する処理の要求、応答を送受信する機能を有する。また、遠隔管理システムは、ＲＰＣを実現するために、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）等のプロトコルを利用することができる。なお、遠隔管理を行うための機能やプロトコルはこれに限定するものではなく、他の方式や環境を用いるようにしてもよい。
【００１６】
また、上記の接続環境において、複合機１００とネットワーク１０との間にファイアウォール２０が位置するため、管理サーバー２００から複合機１００に要求を直接送信しようとしても、ファイアウォール２０により要求が遮断される。そこで、まず複合機１００から管理サーバー２００に要求を送信し、その応答に管理サーバー２００からの要求を含めるという方策を用いることにより、管理サーバー２００からの要求がファイアウォール２０を通過して複合機１００まで届くようにする。
【００１７】
［管理サーバー］
図５は、管理サーバー２００のハードウェア構成の例を示す図である。管理サーバー２００は、コントローラユニット２０００、操作部２０２０、および表示部２０３０を含む。
【００１８】
コントローラユニット２０００は、管理サーバー２００全体の動作を制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２００３を含む。ＣＰＵ２００３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２００６に記憶されているブートプログラムによりＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を起動する。また、ＣＰＵ２００３は、ハードディスクドライブ（ＨＤＤ）２００５に記憶されている、各種アプリを管理するための管理プログラム（不図示）をＯＳ上で実行して各種処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２００４は、ＣＰＵ２００３のワーキングメモリとして用いられる。ＨＤＤ２００５は、管理プログラムや、複合機にアプリ設置の実施を指示するアプリ関連設定ジョブ情報等を記憶する。なお、本願発明において、アプリ関連設定ジョブとは、ユーザー等の指示に基づいて管理サーバー２００から発行される、複合機のアプリに関する制御のジョブである。これらの詳細については、図１７及び図１８を用いて後述する。
【００１９】
システムバス２０１０には、ＲＯＭ２００６、ＲＡＭ２００４、操作部Ｉ／Ｆ２００１、表示部Ｉ／Ｆ２００２、およびネットワークＩ／Ｆ２００７が接続される。操作部Ｉ／Ｆ２００１は、ポインティングデバイスやキーボード等を含む操作部２０２０とのインターフェースであり、操作部２０２０を介してユーザーから入力された情報をＣＰＵ２００３に送信する。表示部Ｉ／Ｆ２００２は、ディスプレイ等を含む表示部２０３０に表示すべき画面データを表示部２０３０に対して出力する。ネットワークＩ／Ｆ２００７は、ネットワーク１０を通じて、管理サーバー２００と接続している外部装置との間でデータの送受信を行う。
【００２０】
［アプリ配信サーバー］
図６は、アプリ配信サーバー３００のハードウェア構成の例を示す図である。基本的なハードウェア構成は、管理サーバー２００と同じであるとするが、これに限定するものではない。アプリ配信サーバー３００は、コントローラユニット３０００、操作部３０２０、および表示部３０３０を含む。
【００２１】
コントローラユニット３０００は、アプリ配信サーバー３００の全体の動作を制御するＣＰＵ３００３を含む。ＣＰＵ３００３は、ＲＯＭ３００６に記憶されているブートプログラムによりＯＳを起動する。また、ＣＰＵ３００３は、ＨＤＤ３００５に記憶されている、各種アプリを配信するためのアプリ配信プログラム（不図示）をＯＳ上で実行して各種処理を実行する。ＲＡＭ３００４は、ＣＰＵ３００３のワーキングメモリとして用いられる。ＨＤＤ３００５は、アプリ配信プログラムや、配信可能なアプリに関する情報等を記憶する。
【００２２】
システムバス３０１０には、ＲＯＭ３００６、ＲＡＭ３００４、操作部Ｉ／Ｆ３００１、表示部Ｉ／Ｆ３００２、およびネットワークＩ／Ｆ３００７が接続されている。操作部Ｉ／Ｆ３００１は、ポインティングデバイスやキーボード等を含む操作部３０２０とのインターフェースであり、操作部３０２０を介してユーザーから入力された情報をＣＰＵ３００３に送信する。表示部Ｉ／Ｆ３００２は、ディスプレイ等を含む表示部３０３０に表示すべき画面データを表示部３０３０に対して出力する。ネットワークＩ／Ｆ３００７は、ネットワーク１０を通じて、アプリ配信サーバー３００と接続している外部装置との間でデータの送受信を行う。
【００２３】
アプリ配信サーバー３００は、複合機１００からのアプリ取得要求として、複合機１００の識別番号とアプリ使用権ＩＤを受け付ける。これに応答して、アプリ配信サーバー３００は、そのアプリ使用権ＩＤに対応したアプリのアプリファイルと、アプリをインストールするために必要なライセンスファイルとを複合機１００に返す。
【００２４】
［複合機のハードウェア構成］
図２は、複合機１００のハードウェア構成の例を示す図である。複合機１００は、コントローラユニット１０００を含む。コントローラユニット１０００には、画像入力デバイスであるスキャナ１０７０、画像出力デバイスであるプリンタ１０９５、およびユーザーから操作を受け付けるための操作部１０１２が接続される。
【００２５】
コントローラユニット１０００は、例えば、スキャナ１０７０で読み取られた画像データをプリンタ１０９５により印刷出力するコピー機能を実現するための制御を行う。コントローラユニット１０００は、ＣＰＵ１００１を有する。ＣＰＵ１００１は、ＲＯＭ１００３に格納されているブートプログラムによりＯＳを立ち上げる。ＣＰＵ１００１は、ＯＳ上で、ＨＤＤ１００４に格納されているプログラムを実行し、これによって各種処理を実行する。ＣＰＵ１００１の作業領域として、ＲＡＭ１００２が用いられる。ＲＡＭ１００２は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリー領域を提供する。ＨＤＤ１００４は、各種プログラムや画像データを格納する。
【００２６】
ＣＰＵ１００１には、システムバス１００７を介して、ＲＯＭ１００３、ＲＡＭ１００２、操作部Ｉ／Ｆ１００６、ネットワークＩ／Ｆ１０１０、ＵＳＢホストＩ／Ｆ１０１３、および画像バスＩ／Ｆ１００５が接続される。操作部Ｉ／Ｆ１００６は、タッチパネルを有する操作部１０１２とのインターフェースであり、操作部１０１２に表示すべき画像データを操作部１０１２に対して出力する。操作部Ｉ／Ｆ１００６は、操作部１０１２においてユーザーにより入力された情報をＣＰＵ１００１に送出するためのインターフェースである。ネットワークＩ／Ｆ１０１０は、複合機１００を外部ネットワークに接続するためのインターフェースである。
【００２７】
ＵＳＢホストＩ／Ｆ１０１３は、ＵＳＢストレージ１０１４と通信するためのインターフェースである。ＵＳＢホストＩ／Ｆ１０１３は、ＨＤＤ１００４に格納されているデータをＵＳＢストレージ１０１４に出力するためのインターフェースである。また、ＵＳＢホストＩ／Ｆ１０１３は、ＵＳＢストレージ１０１４に格納されているデータを取得し、ＣＰＵ１００１に取得したデータを渡す。ＵＳＢホストＩ／Ｆ１０１３には、ＵＳＢストレージ１０１４を含む複数のＵＳＢデバイスが接続可能である。ＵＳＢストレージ１０１４は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ１０１３に対して着脱可能である。
【００２８】
画像バスＩ／Ｆ１００５は、システムバス１００７と、画像データを高速で転送する画像バス１００８とを接続し、データ形式を変換するためのバスブリッジである。画像バス１００８は、ＰＣＩバスまたはＩＥＥＥ１３９４等によって構成される。画像バス１００８上には、デバイスＩ／Ｆ１０２０、スキャナ画像処理部１０８０、およびプリンタ画像処理部１０９０が設けられる。
【００２９】
デバイスＩ／Ｆ１０２０には、スキャナ１０７０およびプリンタ１０９５が接続され、デバイスＩ／Ｆ１０２０は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部１０８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部１０９０は、プリント出力画像データに対してプリンタ１０９５に応じた補正、解像度変換などを行う。
【００３０】
［複合機のソフトウェア構成］
図３は、複合機１００のソフトウェア構成の例を示す図である。尚、本実施形態に係る各ソフトウェアは、ＲＯＭ１００３、もしくは、ＨＤＤ１００４に保存され、ＣＰＵ１００１にて実行される。また、実行時に使用する各種情報はＲＡＭ１００２もしくはＨＤＤ１００４に保持され、ソフトウェア機能間での各種情報のやりとりが行われる。さらに外部機器との通信は、ネットワークＩ／Ｆ１０１０を用いて行われる。
【００３１】
複合機１００は、ＯＳプラットフォーム３０１を有し、ＯＳプラットフォーム３０１上にアプリプラットフォーム３０２が構成される。アプリプラットフォーム３０２は、ＪａｖａＶＭ３０３のランタイム環境として構成されており、インタプリタとしてのＪａｖａＶＭ３０３、ライブラリ３０４、ＯＳＧｉフレームワーク３０５、およびシステムアプリ３０６を備えて構成される。
【００３２】
ライブラリ３０４は、Ｊａｖａ（登録商標）標準のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）ライブラリを含んで構成される。ＯＳＧｉフレームワーク３０５は、ＯＳＧｉの仕様を実装するモジュールである。ＯＳＧｉフレームワーク３０５では、単一のＪａｖａＶＭ３０３上に複数のアプリを動作させることが可能であり、アプリのライフサイクルの管理やアプリ間通信機能などを提供する。
【００３３】
システムアプリ３０６とは、一般アプリ３１０を管理したり、一般アプリ３１０が複合機１００を操作する際にＡＰＩをサービスとして提供したりするための、複合機１００にプリインストールされるアプリの総称である。以下、システムアプリ３０６の一例として、インストール制御アプリ３０７、およびアプリ管理アプリ３０８について説明する。
【００３４】
インストール制御アプリ３０７は、ＯＳＧｉの仕様には無いアプリと、そのアプリを使用するためのライセンスとを関連付けて管理するためのアプリである。インストール制御アプリ３０７は、例えば、暗号化されたＪａｖａ（登録商標）アプリのファイルをライセンスファイルに含まれる鍵情報で復号し、ＯＳＧｉフレームワーク３０５にインストールする等の処理を行う。
【００３５】
アプリ管理アプリ３０８は、インストール制御アプリ３０７を利用して、アプリのインストール、開始、停止、アンインストールを行うための操作画面をＷＥＢページとして提供するアプリである。アプリ管理アプリ３０８が提供する画面は、例えば、複合機１００が接続しているのと同じＬＡＮに接続している管理用ＰＣ（不図示）にインストールされているブラウザ（不図示）を介して使用することができる。アプリ管理アプリ３０８により提供される画面の例は、図４を用いて後述する。
【００３６】
ログインアプリ３０９は、複合機１００を使用するユーザーを識別し、複合機１００に現在ログインしているユーザーのユーザー名やメールアドレスなどの情報を他のアプリに提供するアプリである。一般アプリ３１０は、アプリプラットフォーム３０２上で動作する複合機１００の機能を拡張するためのアプリの総称である。
【００３７】
管理サーバー通信アプリ３１１は、管理サーバー２００と通信してアプリ関連設定ジョブ情報を取得するためのアプリである。なお、遠隔管理システムにおいて、複数の管理サーバーが設けられている構成の場合、いずれの管理サーバーからアプリ関連設定ジョブ情報を取得するかを予め設定しておき、その設定に基づいて通信を行うようにしてもよい。
【００３８】
ライフサイクル管理アプリ３１２は、管理サーバー通信アプリ３１１を使用して管理サーバー２００からアプリ関連設定ジョブ情報を取得し、アプリ関連設定ジョブ情報に従い、設定を行うアプリである。尚、ライフサイクル管理アプリ３１２がアプリの状態を変更する場合、アプリ管理アプリ３０８と同様に、インストール制御アプリ３０７を使用する。
【００３９】
留め置き印刷アプリ３１３は、印刷ジョブを複合機１００の中に一旦保存し、複合機１００の操作部１０１２に表示される画面（不図示）上で印刷設定を確認しながら、必要な印刷ジョブだけを印刷できる様にするためのアプリである。留め置き印刷アプリ３１３は、複合機１００に投入された印刷ジョブを留め置き印刷アプリ３１３の印刷ジョブとして取り込んで使用する。したがって、印刷ジョブを投入する側の設定変更は必要ないが、印刷ジョブを印刷してしまわないように複合機１００の設定を変更する必要がある。これにより、ユーザーは留め置き印刷アプリ３１３を使用して留め置き印刷を実現できる。一方、この印刷ジョブを印刷してしまわないようにする設定を元に戻さない限り、複合機１００に印刷ジョブを直接投入することで印刷を行うということが出来なくなる。尚、留め置き印刷アプリ３１３は、アプリのライフサイクル管理の対象の例として、後の説明にて用いる。
【００４０】
図７は、複合機１００における、アプリ管理アプリ３０８、インストール制御アプリ３０７、管理サーバー通信アプリ３１１、およびライフサイクル管理アプリ３１２の関係を示す図である。
【００４１】
［アプリのライフサイクル管理］
顧客あるいは複合機１００の販売会社等に所属する作業員が、顧客の拠点（内部ネットワーク）にあるＰＣ（不図示）にインストールされたブラウザを使用して複合機１００にアクセスする。これにより、アプリ管理アプリ３０８を使用したアプリのライフサイクル管理を行うことができる。以下、図４を用いて、アプリ管理アプリ３０８を使用したアプリの管理について説明する。併せて、アプリの状態や、アプリとライセンスの関係について説明する。
【００４２】
図４は、アプリ管理アプリ３０８が提供するアプリ管理画面５００、インストール画面５３０、およびライセンス管理画面５５０を示す図である。アプリ管理画面５００は、複合機１００にインストールされているアプリの状態を操作するための画面である。インストール画面５３０は、複合機１００に新たなアプリをインストールするための画面である。ライセンス管理画面５５０は、複合機１００にインストールされているアプリのライセンスの状態を操作するための画面である。
【００４３】
まず、アプリ管理画面５００について説明する。ここで示す例の場合、アプリケーションＡ５０５、アプリケーションＢ５０６、およびアプリケーションＣ５０７の３つが管理されている。
【００４４】
アプリケーション名５０１は、インストール制御アプリ３０７を使用して、複合機１００にインストールされているアプリの名称を表示する。インストール日５０２は、各アプリが複合機１００にインストールされた日付を示す。アプリケーションＩＤ５０３は、各アプリに一意に割り振られたＩＤ（識別情報）を示す。なお、各アプリに割り振られたＩＤは、本願発明に係る遠隔管理システムにおいて共通であるとする。状態５０４は、各アプリの状態を示す。アプリが開始状態であれば「開始」と表示され、停止状態であれば「停止」と表示される。ライセンス５１４は、各アプリのライセンスの状態を示す。ライセンスがインストールされている状態であれば「インストール済み」と表示され、ライセンスが無効化もしくは削除されている状態であれば「未インストール」と表示される。
【００４５】
ボタン５０８〜５１０は、各アプリの開始／停止を切り替えるための指示ボタンである。開始状態のアプリの場合、停止ボタンとして表示され、停止状態のアプリの場合、開始ボタンとして表示される。開始状態のアプリ（本例では、「アプリケーションＡ５０５」）のボタン５０９を押下すると、そのアプリの状態５０４は「停止」に変更される。一方、停止状態のアプリ（本例では、「アプリケーションＢ５０６」）のボタン５１０を押下すると、そのアプリの状態５０４は「開始」に変更される。
【００４６】
ボタン５１０は、ここでは、ライセンスが未インストール状態であるため、無効化されて押下することができないように制御されている。このように、ライセンスが未インストール状態のアプリは開始することができないように制御される。
【００４７】
アンインストールボタン５１３は、アプリをアンインストールするための指示ボタンである。アプリケーションＣ５０７に対応するアンインストールボタン５１３を押下すると、アプリケーションＣ５０７がアンインストールされる。この時、アプリケーションＣ５０７が作成した設定情報などのデータも同時に削除される。アンインストールボタン５１１、５１２は、アプリが開始状態であったり、停止状態でもライセンスがインストールされている状態であったりするため、アンインストールできない状態として、無効化されている。
【００４８】
次に、インストール画面５３０について説明する。参照ボタン５３３を押下すると、アプリファイルが格納されたファイルパスを指定するための画面（不図示）が表示される。その画面にてアプリファイルを指定すると、アプリケーションファイルのパス５３１の入力エリアにアプリファイルへのパスが入力される。
【００４９】
アプリファイルは、一般的に、セキュリティやビジネス上の観点から暗号化されている。そのため、アプリをインストールするためには、暗号化されたアプリファイルを復号するための鍵情報を含むライセンスファイルが必要となる。インストール画面５３０において、参照ボタン５３４を押下すると、ライセンスファイルが格納されたファイルパスを指定するための画面（不図示）が表示される。アプリ指定と同様に、この画面にてライセンスファイルを指定すると、ライセンスファイルのパス５３２の入力エリアにライセンスファイルへのパスが入力される。
【００５０】
インストールボタン５３５を押下すると、アプリケーションファイルのパス５３１で指定したアプリファイルと、ライセンスファイルのパス５３２で指定したライセンスファイルとを用いて、これらのインストールが開始される。
【００５１】
続いて、ライセンス管理画面５５０について説明する。ライセンス管理画面５５０はインストールされているアプリ毎に存在する。参照ボタン５５２を押下すると、ライセンスファイルが格納されたファイルパスを指定するための画面（不図示）を表示する。その表示された画面にてライセンスファイルのパスを指定すると、ライセンスファイルのパス５３１の入力エリアにライセンスファイルへのパスが入力される。インストールボタン５５３を押下すると、ライセンスファイルのパス５５１で指定したライセンスファイルを用いて、ライセンスのインストールが開始される。ライセンスが未インストール状態であるため開始することができない状態になっているアプリに対し、追加的にライセンスをインストールすることで、そのアプリを開始することができる。
【００５２】
無効化ボタン５５４は、ライセンスを無効化するためのボタンである。なお、ライセンスを無効化するためには、アプリが停止状態でなくてはならない。ライセンスを無効化することにより、例えば、「３０日間だけ有効」というような有効期限が設定されているライセンスの有効期限の消費を止める事ができる。したがって、ライセンスを無効化した場合でも、そのライセンスファイル自体は保持し続けられる。また、ライセンスを無効化した際に、その時点でのライセンスの消費状況を記憶しておくようにしてもよい。
【００５３】
ダウンロードボタン５５５は、無効化したライセンスをダウンロードするためのボタンである。ダウンロードしたライセンスファイルは、ダウンロードを行った複合機にのみ再度インストールすることが可能である。つまり、ダウンロードしたライセンスを、他の複合機への転用ができないように制御することが可能である。削除ボタン５５６は、無効化したライセンスを削除するためのボタンである。無効化したライセンスをダウンロードせずに削除した場合、再度アプリを開始できるようにするためには、新たにライセンスファイルを入手し、インストールする必要がある。なお、ここで、管理サーバー２００等に問い合わせを行い、ユーザーや複合機の認証を自動的に行うようにしてもよい。
【００５４】
［外部からのアプリの管理］
外部からのアプリの管理は、複合機１００の販売会社等に所属するオペレーターが、複合機１００の販売会社等の側にあるＰＣ（不図示）等にインストールされているブラウザ（不図示）を使用して行う。具体的には、オペレーターは、遠隔地にある複合機１００のアプリを制御するために、管理サーバー２００が提供する管理システム操作画面にアクセスし、管理サーバー２００にアプリ関連設定ジョブを登録する。そして、遠隔地にある複合機１００にインストールされた管理サーバー通信アプリ３１１およびライフサイクル管理アプリ３１２が、その登録されたジョブを定期的にポーリングすることで取得し、ジョブの指示に従って複合機１００の設定を更新／反映する。
【００５５】
図１７は、管理サーバー２００が提供する管理システム操作画面の構成例を示す図である。管理システム操作画面１７００は、アプリに関するジョブの登録画面でもある。管理システム操作画面１７００は、顧客管理画面１７１０、複合機管理画面１７２０、インストール設定画面１７４０、および状態操作設定画面１７６０を含む。顧客管理画面１７１０は、顧客、および顧客が所有する複合機を管理するための画面である。複合機管理画面１７２０は、複合機の情報、および複合機にインストール可能なアプリの状態を管理するための画面である。インストール設定画面１７４０は、アプリのインストール設定を行うための画面である。状態操作設定画面１７６０は、アプリの状態操作の設定を行うための画面である。
【００５６】
顧客管理画面１７１０は、顧客名１７１１、機器ＩＤ１７１２、製品名１７１３、状態１７１４、および参照ボタン１７１５を含んで構成される。顧客名１７１１は、顧客の名称を表示する。機器ＩＤ１７１２は、顧客側で運用されている複合機を一意に識別するためのＩＤ（識別情報）を表示する。製品名１７１３は、顧客側で運用されている複合機の製品名を表示する。状態１７１４は、顧客側で運用されている複合機に対する操作の状態を表示する。状態としては、「処理待ち」と「処理済み」がある。アプリ関連設定ジョブを登録後、複合機側での設定処理が終了するまでの状態が「処理待ち」であり、設定処理終了後に複合機からアプリの状態が通知されると「処理済み」となる。参照ボタン１７１５は、機器ＩＤで識別される各機器に対応した複合機管理画面１７２０に遷移するためのボタンである。
【００５７】
複合機管理画面１７２０は、複合機ごとに設けられ、顧客管理画面１７１０の詳細ボタン１７１６が押下された際に表示される。図１７に示す例の場合、機器ＩＤが「ＸＸＸ００００１」である複合機（複合機１００）に対応した複合機管理画面である。複合機管理画面１７２０は、顧客名１７２１、機器ＩＤ１７２２、製品名１７２３、同期時刻１７２４、アプリＩＤ１７２５、アプリ名１７２６、状態１７２７、状態操作１７２８、状態操作ボタン１７２９、およびアプリインストールボタン１７３０を含む。
【００５８】
顧客名１７２１は、複合機を所有している顧客の名称を表示する。機器ＩＤ１７２２は、複合機を一意に識別するためのＩＤ（識別情報）を表示する。製品名１７２３は、複合機の製品名を表示する。同期時刻１７２４は、複合機のアプリの状態が通知された時刻を表示する。
【００５９】
アプリＩＤ１７２５は、複合機にインストールされているか、インストールされる予定のアプリを一意に識別するためのＩＤ（識別情報）を表示する。なお、アプリＩＤは、本願発明に係る遠隔管理システムにおいて共通であり、図４に示したアプリケーションＩＤ５０３に対応する。アプリ名１７２６は、複合機にインストールされているか、インストールされる予定のアプリの名称を表示する。状態１７２７は、複合機にインストールされているか、インストールされる予定のアプリの状態を表示する。状態操作１７２８は、複合機にインストールされているか、インストールされる予定のアプリに対して可能である状態操作をボタンとして表示する。状態操作ボタン１７２９は、状態操作設定画面１７６０に遷移するためのボタンである。アプリインストールボタン１７３０は、インストール設定画面１７４０に遷移するためのボタンである。
【００６０】
インストール設定画面１７４０は、機器ＩＤ１７４１、アプリ選択プルダウン１７４２、設定ファイルのパス１７４３、参照ボタン１７４４、および登録ボタン１７４５を含む。
【００６１】
機器ＩＤ１７４１は、インストールするアプリを選択する複合機を一意に識別するためのＩＤ（識別情報）を表示する。アプリ選択プルダウン１７４２は、機器ＩＤで識別される複合機にインストールすることができるアプリを選択するプルダウンメニューである。アプリ選択プルダウン１７４２にはインストール可能な新規のアプリの名称が選択可能なように表示される。既にインストールされているアプリについては、そのインストールされているアプリの名称は表示されない。もしくは、すでにインストール済みであることを明確に示し、選択できないようにリスト表示するようにしてもよい。これにより、ユーザーによるインストール済みのアプリの誤選択を防止する。そして、インストールするアプリを選択した後は、選択したアプリの名称が表示される。
【００６２】
設定ファイルのパス１７４３は、設定ファイルが格納されているパスを表示する。参照ボタン１７４４は、設定ファイルが格納されているパスを選択するための画面（不図示）を表示し、設定ファイルを選択するためのボタンである。参照ボタン１７４４が押下された際に表示された画面にて設定ファイルを指定すると、設定ファイルのパス１７４３の入力エリアに設定ファイルが格納されたパスが入力される。ここで、設定ファイルとは、アプリや複合機自体の設定を変更するための情報が保存されているファイルである。例えば、前述した留め置き印刷アプリ３１３であれば、受信した印刷ジョブを印刷しないように設定するための情報と、必要に応じたアプリ自体の設定とが含まれる。
【００６３】
登録ボタン１７４５は、選択したアプリをインストールするためのインストールジョブを登録するためのボタンである。
【００６４】
［アプリ関連設定ジョブおよびアプリ情報］
図１８は、管理サーバー２００に登録されたアプリ関連設定ジョブのデータ構成の例を示す図である。アプリ関連設定ジョブ１８００は、ジョブプロパティ１８１０、および設定ファイル１８２０を含んで構成される。
【００６５】
ジョブプロパティ１８１０は、アプリ関連設定ジョブの基本的プロパティである。ジョブプロパティ１８１０は、アプリＩＤ１８１１、ジョブ種別１８１２、およびアプリ使用権ＩＤ１８１３を含んで構成される。アプリＩＤ１８１１は、状態を操作するアプリのＩＤである。ジョブ種別１８１２は、アプリ関連設定ジョブの種別である。アプリ関連設定ジョブの種別を示す設定値は、インストールジョブであれば「Ｉｎｓｔａｌｌ」、開始ジョブであれば「Ｓｔａｒｔ」、停止ジョブであれば「Ｓｔｏｐ」、更新ジョブであれば「Ｕｐｄａｔｅ」、アンインストールジョブであれば「Ｕｎｉｎｓｔａｌｌ」となる。このジョブの種別にて指定された値に基づいて、複合機側でアプリに関する処理が行われる。
【００６６】
アプリ使用権ＩＤ１８１３は、アプリ配信サーバー３００からアプリを取得するために必要なアプリ使用権ＩＤである。この情報は、インストールジョブの場合にのみ必須となる。つまり、アプリ使用権ＩＤは、対応するアプリをインストールする際に用いられる情報である。
【００６７】
設定ファイル１８２０は、複合機およびアプリの設定を変更するためのファイルである。アプリの状態変更に伴う複合機やアプリの設定変更が必要ない場合は、設定ファイル１８２０が存在しない場合もある。また、設定ファイル１８２０は、複合機設定ファイル１８２１およびアプリ設定ファイル１８２２を含む。なお、複合機設定ファイル１８２１とアプリ設定ファイル１８２２は必要に応じて両方存在しても良いし、どちらか一方だけが存在する構成であっても良い。
【００６８】
図１９は、複合機１００から管理サーバー２００に送信されるアプリ情報の構成例を示す。このアプリ情報により管理サーバー２００は、複合機１００のアプリの状態を把握できる。アプリ情報１９００は、アプリ数情報１９１０、および個別アプリ情報１９２０を含む。
【００６９】
アプリ数情報１９１０は、ライフサイクル管理アプリ３１２で管理しているアプリの数である。個別アプリ情報１９２０は、ライフサイクル管理アプリ３１２で管理しているアプリの情報である。個別アプリ情報１９２０は、アプリＩＤ情報１９２１、状態情報１９２２、およびバージョン情報１９２３を含む。アプリＩＤ情報１９２１は、アプリを一意に識別するためのＩＤ（識別情報）である。状態情報１９２２は、アプリの状態を示す情報である。開始状態は「Ｓｔａｒｔｅｄ」、停止状態は「Ｓｔｏｐｅｄ」、インストール済み状態は「Ｉｎｓｔａｌｌｅｄ」となる。バージョン情報１９２３は、アプリのバージョン情報である。なお、配信されている各アプリのバージョンについては、これまでのアプリの更新状況、最新版のバージョンなどの情報も併せて、管理サーバー２００やアプリ配信サーバー３００側で管理しているものとする。
【００７０】
図８は、管理サーバー通信アプリ３１１、およびライフサイクル管理アプリ３１２の詳細を示す図である。なお、各アプリの機能を実現するための部位は、ＣＰＵ１００１がＨＤＤ１００４等に格納されたアプリに対応するプログラムを読み出して実行することにより、実現される。また、各部位の動作を、フローチャートとして後述する。
【００７１】
管理サーバー通信アプリ３１１は、通信処理部８５１を有する。通信処理部８５１は、管理サーバー２００とＨＴＴＰ等のプロトコルで通信し、レスポンスにより管理サーバー２００からのアプリ関連設定ジョブ情報を受信する。また、通信処理部８５１は、複合機１００にインストールされているアプリの情報を送信する。
【００７２】
ライフサイクル管理アプリ３１２は、周期処理部８０１、最終通信時刻管理部８０２、管理対象アプリ管理部８０３、アプリ取得処理部８０４、インストール処理部８０５、アンインストール処理部８０６、アプリ開始処理部８０７、アプリ停止処理部８０８、および設定処理部８０９を有する。
【００７３】
周期処理部８０１は、管理サーバー通信アプリ３１１が有する通信処理部８５１を使用して、定期的に管理サーバー２００と通信を行う。アプリ関連設定ジョブ情報を受信した場合、周期処理部８０１は、アプリ関連設定ジョブ情報に従って複合機１００の設定を行う。また、周期処理部８０１は、管理サーバー２００と一定期間にわたって通信できなかった場合、管理サーバー２００から受信したアプリ関連設定ジョブ情報によりインストールしたアプリを停止する。
【００７４】
最終通信時刻管理部８０２は、管理サーバー２００と最後に通信が成功した日時の情報を保管する。管理対象アプリ管理部８０３は、管理サーバー２００から受信したアプリ関連設定ジョブ情報によりインストールしたアプリを一意に識別する情報を保管する。アプリ取得処理部８０４は、アプリ配信サーバー３００とＨＴＴＰ等のプロトコルで通信し、アプリ配信サーバー３００からアプリファイルとライセンスファイルを取得する。インストール処理部８０５は、インストール制御アプリ３０７を使用して、アプリファイルとライセンスファイルを複合機１００にインストールする。
【００７５】
アンインストール処理部８０６は、インストール制御アプリ３０７を使用して、複合機１００からアプリとライセンスをアンインストールする。アプリ開始処理部８０７は、インストール制御アプリ３０７を使用して、停止状態のアプリを開始する。アプリ停止処理部８０８は、インストール制御アプリ３０７を使用して、開始状態のアプリを停止する。アプリ停止処理部８０８が停止したアプリは、アプリ管理アプリ３０８からは開始することができない。つまり、管理サーバー２００側にて登録されたアプリ関連設定ジョブに従って、アプリ停止処理部８０８が、複合機にインストールされているアプリを停止した場合には、複合機側からの指示では開始することはできない。この場合には、管理サーバー２００側で登録された開始のアプリ関連設定ジョブに従って、再開することが可能とする。
【００７６】
設定処理部８０９は、アプリ関連設定ジョブ情報に含まれる設定情報を複合機１００にインポートし、複合機１００の設定を変更する。アプリ情報取得処理部８１０は、インストール制御アプリ３０７を使用してインストールされているアプリの情報を取得する。ライセンス管理部８１１は、アプリ停止処理部８０８がインストール制御アプリ３０７を使用してエクスポートしたライセンスファイルを保管する。
【００７７】
［処理フロー］
（ポーリング処理）
図９は、複合機１００側から管理サーバー２００に対して定期的にアプリ関連設定ジョブを取得しようとするポーリング（以下、単に「ポーリング」と呼ぶ）処理の流れを示すフローチャートである。ここでのポーリング先やポーリング間隔（スリープ時間）については、予め通信処理部８５１の設定値として設定されているものとする。また、ポーリングに関する設定は、例えば、複合機の開発企業や販売企業などにより予め設定され、必要に応じて変更されるようにしてもよい。
【００７８】
Ｓ９０１にて、周期処理部８０１は、ポーリング終了指示があるか否かを判定する。ポーリング終了指示があった場合は（Ｓ９０１にてＹＥＳ）、本処理フローを終了する。そうで無い場合は（Ｓ９０１にてＮＯ）、Ｓ９０２に遷移する。
【００７９】
Ｓ９０２にて、周期処理部８０１は、アプリ関連設定ジョブ実行処理を実行する。本処理の詳細は、図１０を用いて後述する。
【００８０】
Ｓ９０３にて、周期処理部８０１は、一定時間スリープし、その後、Ｓ９０１に遷移する。
【００８１】
（アプリ関連設定ジョブ実行処理）
図１０は、アプリ関連設定ジョブ実行処理の流れを示すフローチャートである。本処理は、図９のＳ９０２の処理に対応する。
【００８２】
Ｓ１００１にて、周期処理部８０１は、通信処理部８５１を使用して管理サーバー２００にポーリングを行い、管理サーバー２００から新たなアプリ関連設定ジョブ情報の取得を試みる。
【００８３】
Ｓ１００２にて、周期処理部８０１は、Ｓ１００１におけるアプリ関連設定ジョブ情報の取得結果を判定する。アプリ関連設定ジョブ情報が取得できた場合は（Ｓ１００２にてＹＥＳ）、Ｓ１００３に遷移し、そうで無い場合は（Ｓ１００２にてＮＯ）Ｓ１０１０に遷移する。
【００８４】
Ｓ１００３にて、周期処理部８０１は、通信処理部８５１が管理サーバー２００から受信したアプリ関連設定ジョブ情報を解析する。
【００８５】
Ｓ１００４にて、周期処理部８０１は、アプリ関連設定ジョブ情報にて指定されたジョブの種別（ジョブ種別１８１２）を判定する。ジョブがインストールジョブである場合は、Ｓ１００５に遷移する。ジョブが停止ジョブである場合は、Ｓ１００６に遷移する。ジョブが開始ジョブである場合は、Ｓ１００７に遷移する。ジョブがアンインストールジョブである場合は、Ｓ１００８に遷移する。ジョブが更新ジョブである場合は、Ｓ１００９に遷移する。
【００８６】
Ｓ１００５にて、周期処理部８０１、アプリ取得処理部８０４、およびインストール処理部８０５は、インストール処理を実行する。本処理の詳細については、図１１を用いて後述する。その後、Ｓ１０１１に遷移する。
【００８７】
Ｓ１００６にて、周期処理部８０１、アプリ停止処理部８０８は、停止処理を実行する。本処理の詳細については、図１２を用いて後述する。その後、Ｓ１０１１に遷移する。
【００８８】
Ｓ１００７にて、周期処理部８０１およびアプリ開始処理部８０７は、開始処理を実行する。本処理の詳細については、図１３を用いて後述する。その後、Ｓ１０１１に遷移する。
【００８９】
Ｓ１００８にて、周期処理部８０１およびアンインストール処理部８０６は、アンインストール処理を実行する。本処理の詳細については、図１６を用いて後述する。その後、Ｓ１０１１に遷移する。
【００９０】
Ｓ１００９にて、周期処理部８０１は、アップデート処理を実行する。本処理の詳細については、図１５を用いて後述する。その後、Ｓ１０１１に遷移する。
【００９１】
Ｓ１０１０にて、周期処理部８０１およびアプリ停止処理部８０８は、強制停止処理を実行する。本処理の詳細については、図１４を用いて後述する。その後、Ｓ１０１１に遷移する。
【００９２】
Ｓ１０１１にて、周期処理部８０１は、アプリ情報取得処理部８１０を使用してインストールされているアプリの情報を取得し、通信処理部８５１を使用して管理サーバー２００にアプリの情報を送信する。これにより、複合機１００は、管理サーバー２００に複合機１００の最新のアプリ情報を通知する。その後、本処理フローを終了する。
【００９３】
（インストール処理）
図１１は、インストール処理の流れを示すフローチャートである。本処理は、図１０のＳ１００５の処理に対応する。
【００９４】
Ｓ１１０１にて、周期処理部８０１は、アプリ関連設定ジョブ情報からアプリ使用権ＩＤを取り出し、アプリ取得処理部８０４に渡す。
【００９５】
Ｓ１１０２にて、アプリ取得処理部８０４は、周期処理部８０１から受け取ったアプリ使用権ＩＤを使用してアプリ配信サーバー３００からアプリファイルとライセンスファイルを取得し、インストール処理部８０５に渡す。このとき、アプリ配信サーバー３００は、複合機１００から送信されてきたアプリ使用権ＩＤを含む要求の応答として、そのアプリ使用権ＩＤに対応するアプリファイルとライセンスファイルを複合機１００へ配信する。なお、アプリ使用権ＩＤが不正なものである場合には、アプリ配信サーバー３００は、その旨を通知するようにしてもよい。
【００９６】
Ｓ１１０３にて、インストール処理部８０５は、インストール制御アプリ３０７を使用してアプリ取得処理部８０４から受け取ったアプリファイルとライセンスファイルをインストールする。
【００９７】
Ｓ１１０４にて、周期処理部８０１は、Ｓ１１０３でのインストール処理の結果を判定する。インストールに成功した場合は（Ｓ１１０４にてＹＥＳ）Ｓ１１０５に遷移し、そうで無い場合は（Ｓ１１０４にてＮＯ）本処理フローを終了する。
【００９８】
Ｓ１１０５にて、周期処理部８０１は、インストールしたアプリの識別情報（アプリＩＤ）とアプリ使用権ＩＤを管理対象アプリ管理部８０３に保存する。
【００９９】
Ｓ１１０６にて、周期処理部８０１は、アプリ関連設定ジョブ情報に設定情報（設定ファイル１８２０）が含まれるか否かを判定する。設定情報が含まれる場合は（Ｓ１１０６にてＹＥＳ）Ｓ１１０７に遷移し、そうで無い場合は（Ｓ１１０６にてＮＯ）本処理フローを終了する。
【０１００】
Ｓ１１０７にて、周期処理部８０１は、初期設定が保存されているか否かを判定する。尚、ここで初期設定とは、管理サーバー２００から受信したアプリ関連設定ジョブ情報により設定を実施する以前の設定を指す。初期設定が保存されている場合は（Ｓ１１０７にてＹＥＳ）Ｓ１１０９に遷移し、そうで無い場合は（Ｓ１１０７にてＮＯ）Ｓ１１０８に遷移する。
【０１０１】
Ｓ１１０８にて、周期処理部８０１は、設定処理部８０９を使用して現在の設定を取得して保存する。ここでの保存先は、例えば、複合機１００のＨＤＤ１００４が挙げられ、設定を変更する前に、その変更前の設定が保持される。なお、設定の変更日時などの関連する情報も併せて保持されるようにしてもよい。
【０１０２】
Ｓ１１０９にて、周期処理部８０１は、設定処理部８０９を使用してアプリ関連設定ジョブ情報に含まれる設定情報をインポートし、複合機１００の設定を変更する。その後、本処理フローを終了する。
【０１０３】
以上、説明した処理により、遠隔からインストールのアプリ関連設定ジョブを登録することにより、複合機１００にアプリをインストールすることができるようになる。
【０１０４】
（停止処理）
図１２は、停止処理の流れを示すフローチャートである。本処理は、図１０のＳ１００６の処理に対応する。
【０１０５】
Ｓ１２０１にて、周期処理部８０１は、アプリ関連設定ジョブ情報から停止するアプリの識別情報（アプリＩＤ）を取り出し、アプリ停止処理部８０８に渡す。
【０１０６】
Ｓ１２０２にて、アプリ停止処理部８０８は、周期処理部８０１から受け取った識別情報で識別されるアプリを停止状態にする。
【０１０７】
Ｓ１２０３にて、アプリ停止処理部８０８は、インストール制御アプリ３０７を使用して停止状態にしたアプリのライセンスを無効化し、エクスポートする。
【０１０８】
Ｓ１２０４にて、アプリ停止処理部８０８は、Ｓ１２０３にてエクスポートしたライセンスファイルをライセンス管理部８１１に渡し、保存する。ここで無効化され保持されたライセンスファイルは、停止したアプリケーションが管理サーバー２００から取得したアプリ設定関連ジョブにより、再度開始された場合にのみ、インストールされ、再度利用可能となる。
【０１０９】
Ｓ１２０５にて、周期処理部８０１は、アプリ関連設定ジョブ情報に設定情報（設定ファイル１８２０）が含まれるか否かを判定する。設定情報が含まれる場合は（Ｓ１２０５にてＹＥＳ）Ｓ１２０６に遷移し、そうで無い場合は（Ｓ１２０５にてＮＯ）本処理フローを終了する。
【０１１０】
Ｓ１２０６にて、周期処理部８０１は、設定処理部８０９を使用してアプリ関連設定ジョブ情報に含まれる設定情報をインポートし、複合機１００の設定を変更する。そして、本処理フローを終了する。
【０１１１】
以上、説明した処理により、遠隔から停止のアプリ関連設定ジョブを登録することにより、複合機１００で動作するアプリを停止状態にすることができるようになる。またこの方法で停止状態にしたアプリは、ライセンスを一時的にアンインストールされた状態になるため、複合機１００側でアプリ管理アプリ３０８を使用してアプリを開始することを防止することができるようになる。
【０１１２】
（開始処理）
図１３は、開始処理の流れを示すフローチャートである。本処理は、図１０のＳ１００７の処理に対応する。
【０１１３】
Ｓ１３０１にて、周期処理部８０１は、アプリ関連設定ジョブ情報から開始するアプリの識別情報（アプリＩＤ）を取り出し、アプリ開始処理部８０７に渡す。
【０１１４】
Ｓ１３０２にて、アプリ開始処理部８０７は、周期処理部８０１から受け取った開始対象のアプリの識別情報をライセンス管理部８１１に渡し、開始対象のアプリのライセンスファイルが保持されているか否かを判定する。ライセンスファイルが保持されている場合は（Ｓ１３０２にてＹＥＳ）Ｓ１３０３に遷移し、そうで無い場合は（Ｓ１３０２にてＮＯ）Ｓ１３０４に遷移する。ここでライセンスファイルが保持されている場合とは、例えば、アプリを停止状態にした際に、図１２のＳ１２０４にて保持した場合が相当する。
【０１１５】
Ｓ１３０３にて、アプリ開始処理部８０７は、ライセンス管理部８１１から開始対象のアプリのライセンスファイルを取得し、インストール制御アプリ３０７を使用してライセンスファイルをインストールする。
【０１１６】
Ｓ１３０４にて、アプリ開始処理部８０７は、インストール制御アプリ３０７を使用して周期処理部８０１から受け取った開始するアプリの識別情報で識別される開始対象のアプリを開始状態にする。なお、ライセンスを保持していないかった場合には、アプリの開始は失敗することとなる。
【０１１７】
Ｓ１３０５にて、周期処理部８０１は、Ｓ１３０４での開始処理の結果を判定する。開始に成功していた場合は（Ｓ１３０５にてＹＥＳ）Ｓ１３０６に遷移し、そうで無い場合は（Ｓ１３０５にてＮＯ）本処理フローを終了する。
【０１１８】
Ｓ１３０６にて、周期処理部８０１は、アプリ関連設定ジョブ情報に設定情報が含まれるか否かを判定する。設定情報が含まれる場合は（Ｓ１３０６にてＹＥＳ）Ｓ１３０７に遷移し、そうで無い場合は（Ｓ１３０６にてＮＯ）本処理フローを終了する。
【０１１９】
Ｓ１３０７にて、周期処理部８０１は、設定処理部８０９を使用してアプリ関連設定ジョブ情報に含まれる設定情報をインポートし、複合機１００の設定を変更する。そして、本処理フローを終了する。
【０１２０】
以上、説明した処理により、遠隔から開始のアプリ関連設定ジョブを登録することにより、複合機１００にインストールされている停止状態のアプリを開始状態にすることができるようになる。
【０１２１】
（強制停止処理）
図１４は、強制停止処理の流れを示すフローチャートである。本処理は、図１０のＳ１０１０の処理に対応する。
【０１２２】
Ｓ１４０１にて、周期処理部８０１は、最終通信時刻管理部８０２から管理サーバー２００と最後に通信が成功した日時の情報を取得し、現在の日時を元に最後に管理サーバー２００との通信が成功してからの現在までの期間を算出する。そして、周期処理部８０１は、算出した期間がある閾値（例えば、３０日）を越えているか否かを判定する。閾値を超えている場合は（Ｓ１４０１にてＹＥＳ）Ｓ１４０２に遷移し、そうで無い場合は（Ｓ１４０１にてＮＯ）本処理フローを終了する。ここでの期間に関する閾値は、例えば、複合機の開発企業や販売企業などにより予め設定され、必要に応じて変更されるようにしてもよい。
【０１２３】
Ｓ１４０２にて、周期処理部８０１は、管理対象アプリ管理部８０３から、管理サーバー２００から取得したアプリ関連設定ジョブ情報に基づいてインストールしたアプリを識別する情報のリストを取得し、アプリ停止処理部８０８に渡す。ここでのリストとはつまり、アプリＩＤのリスト（以下、アプリリスト）となる。
【０１２４】
Ｓ１４０３にて、アプリ停止処理部８０８は、周期処理部８０１から受け取ったアプリリストに含まれるアプリの中でまだ停止処理を行っていないアプリがあるか否かを判定する。まだ停止処理を行っていないアプリがある場合は（Ｓ１４０３にてＹＥＳ）Ｓ１４０４に遷移し、そうで無い場合は（Ｓ１４０３にてＮＯ）Ｓ１４０７に遷移する。
【０１２５】
Ｓ１４０４にて、アプリ停止処理部８０８は、周期処理部８０１から受け取ったアプリリストにて示されるアプリを停止状態にする。
【０１２６】
Ｓ１４０５にて、アプリ停止処理部８０８は、インストール制御アプリ３０７を使用して停止状態にしたアプリのライセンスを無効化し、エクスポートする。
【０１２７】
Ｓ１４０６にて、アプリ停止処理部８０８は、Ｓ１２０３にてエクスポートしたライセンスファイルをライセンス管理部８１１に渡し、保存する。
【０１２８】
Ｓ１４０７にて、周期処理部８０１は、初期設定が保持されているか否かを判定する。初期設定が保持されている場合は（Ｓ１４０７にてＹＥＳ）Ｓ１４０８に遷移し、そうで無い場合は（Ｓ１４０７にてＮＯ）本処理フローを終了する。ここで初期設定が保持されている場合とは、図１１にて示したインストール処理において、Ｓ１１０８にて保持された設定を指す。
【０１２９】
Ｓ１４０８にて、周期処理部８０１は、設定処理部８０９を使用して初期設定をインポートし、複合機１００の設定を変更する。そして、本処理フローを終了する。
【０１３０】
これにより、一定期間にわたって、管理サーバー２００との通信が行われていない複合機１００については、その管理サーバー２００からの指示（ジョブ）によりインストールされたアプリを無効化するように制御している。
【０１３１】
（アップデート処理）
図１５は、アップデート処理の流れを示すフローチャートである。本処理は、図１０の１００９の処理に対応する。
【０１３２】
Ｓ１５０１にて、周期処理部８０１は、アプリ関連設定ジョブ情報からアップデートするアプリの識別情報（アプリＩＤ）を取り出す。
【０１３３】
Ｓ１５０２にて、周期処理部８０１は、取り出したアプリの識別情報に基づいて、保持しているアプリ使用権ＩＤの中から対応するアプリ使用権ＩＤを抽出する。そして、周期処理部８０１は、抽出したアプリ使用権ＩＤをアプリ取得処理部８０４に渡す。
【０１３４】
Ｓ１５０３にて、アプリ取得処理部８０４は、周期処理部８０１から受け取ったアプリ使用権ＩＤを使用してアプリ配信サーバー３００からアプリ情報を取得する。このとき、アプリ配信サーバー３００は、複合機１００から送信されてきたアプリ使用権ＩＤを含む要求の応答として、そのアプリ使用権ＩＤに対応するアプリ情報を複合機１００へ配信する。ここでアプリ情報には、例えば、アプリの識別情報やその最新のバージョンの情報などが示される。なお、アプリ使用権ＩＤが不正なものである場合には、アプリ配信サーバー３００は、その旨を通知するようにしてもよい。
【０１３５】
Ｓ１５０４にて、アプリ取得処理部８０４は、Ｓ１５０３にてアプリ配信サーバー３００から受信したアプリ情報からアプリＩＤを取り出し、同じアプリＩＤを持つアプリがインストールされているか否かを判定する。同じアプリＩＤを持つアプリがインストールされている場合は（Ｓ１５０４にてＹＥＳ）Ｓ１５０５に遷移し、そうで無い場合は（Ｓ１５０４にてＮＯ）Ｓ１５０６に遷移する。
【０１３６】
Ｓ１５０５にて、アプリ取得処理部８０４は、インストール制御アプリ３０７を使用してＳ１５０４にて取り出したアプリＩＤと同じアプリＩＤを持つアプリのバージョン情報を取得する。そして、アプリ取得処理部８０４は、その取得したバージョン情報とＳ１５０３にてアプリ配信サーバー３００から受信したアプリ情報に含まれるバージョン情報とを比較する。そして、Ｓ１５０３にてアプリ配信サーバー３００から受信したアプリ情報に含まれるバージョン情報の方が新しい場合は（Ｓ１５０５にてＹＥＳ）Ｓ１５０６に遷移し、そうで無い場合は（Ｓ１５０５にてＮＯ）本処理フローを終了する。
【０１３７】
Ｓ１５０６にて、アプリ取得処理部８０４は、周期処理部８０１から受け取ったアプリ使用権ＩＤを使用してアプリ配信サーバー３００から更新用のアプリファイルとライセンスファイルを取得し、インストール処理部８０５に渡す。ここで取得される更新用のアプリファイルとライセンスファイルは、Ｓ１５０３にて取得したアプリ情報にて指定されたバージョンのものが該当する。なお、ここでのアプリのバージョンは、最新のバージョンであってもよいし、アプリ使用権ＩＤに対応付けられたバージョンであってもよい。
【０１３８】
Ｓ１５０７にて、インストール処理部８０５は、インストール制御アプリ３０７を使用してアプリ取得処理部８０４から受け取ったアプリファイルとライセンスファイルをインストールする。
【０１３９】
Ｓ１５０８にて、周期処理部８０１は、アプリ関連設定ジョブ情報に設定情報が含まれるか否かを判定する。設定情報が含まれる場合は（Ｓ１５０８にてＹＥＳ）Ｓ１５０９に遷移し、そうで無い場合は（Ｓ１５０８にてＮＯ）本処理フローを終了する。
【０１４０】
Ｓ１５０９にて、周期処理部８０１は、設定処理部８０９を使用してアプリ関連設定ジョブ情報に含まれる設定情報をインポートし、複合機１００の設定を変更する。
【０１４１】
以上、説明した処理により、遠隔からアップデートのアプリ関連設定ジョブを登録することにより、複合機１００にインストールされているアプリをアップデートにすることができるようになる。
【０１４２】
（アンインストール処理）
図１６は、アンインストール処理の流れを示すフローチャートである。本処理は、図１０のＳ１００８の処理に対応する。
【０１４３】
Ｓ１６０１にて、周期処理部８０１は、アプリ関連設定ジョブ情報からアンインストールするアプリのアプリＩＤを取り出し、アンインストール処理部８０６に渡す。
【０１４４】
Ｓ１６０２にて、アンインストール処理部８０６は、インストール制御アプリ３０７を使用して、周期処理部８０１から受け取ったアプリＩＤに対応するアプリとライセンスをアンインストールする。
【０１４５】
Ｓ１６０３にて、周期処理部８０１は、保管しているＳ１６０１で取り出したアプリＩＤに対応したアプリ使用権ＩＤを削除する。
【０１４６】
Ｓ１６０４にて、周期処理部８０１は、アプリ関連設定ジョブ情報に設定情報が含まれるか否かを判定する。設定情報が含まれる場合は（Ｓ１６０４にてＹＥＳ）Ｓ１６０５に遷移し、そうで無い場合は（Ｓ１６０４にてＮＯ）本処理フローを終了する。
【０１４７】
Ｓ１６０５にて、周期処理部８０１は、設定処理部８０９を使用してアプリ関連設定ジョブ情報に含まれる設定情報をインポートし、複合機１００の設定を変更する。そして、本処理フローを終了する。
【０１４８】
以上、説明した処理により、遠隔からアンインストールのアプリ関連設定ジョブを登録することにより、複合機１００にインストールされているアプリをアンインストールすることができるようになる。
【０１４９】
以上、説明した手段により、本発明によれば、アプリのライフサイクル管理とアプリ関連設定変更を遠隔から同時に行うことが可能になり、アプリの管理に係る作業を効率化することができる。
【０１５０】
＜その他の実施形態＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１５１】
１００：複合機
２００：管理サーバー
３００：アプリ配信サーバー
３１１：管理サーバー通信アプリ
３１２：ライフサイクル管理アプリ
【図１】
2017004175.tif 000003
【図２】
2017004175.tif 000004
【図３】
2017004175.tif 000005
【図４】
2017004175.tif 000006
【図５】
2017004175.tif 000007
【図６】
2017004175.tif 000008
【図７】
2017004175.tif 000009
【図８】
2017004175.tif 000010
【図９】
2017004175.tif 000011
【図１０】
2017004175.tif 000012
【図１１】
2017004175.tif 000013
【図１２】
2017004175.tif 000014
【図１３】
2017004175.tif 000015
【図１４】
2017004175.tif 000016
【図１５】
2017004175.tif 000017
【図１６】
2017004175.tif 000018
【図１７】
2017004175.tif 000019
【図１８】
2017004175.tif 000020
【図１９】
2017004175.tif 000021