(57)【特許請求の範囲】
【請求項１】
アプリケーションのライセンスを管理するライセンス管理サーバー及びアプリケーションをインストールしている情報処理装置とネットワークを介して接続される、アプリケーションの配信を管理する配信管理サーバーであって、
前記情報処理装置から、アプリケーションを識別するアプリケーション識別情報と、前記アプリケーションに関する鍵情報とを受信する第一の受信手段と、
前記第一の受信手段で受信した前記アプリケーション識別情報と前記鍵情報とを前記情報処理装置の装置識別情報と関連付けて管理する管理手段と、
第一の受信手段で受信した前記アプリケーション識別情報と前記鍵情報とを前記ライセンス管理サーバーに送信する第一の送信手段と、
前記第一の送信手段による送信に応じて前記ライセンス管理サーバーから送信される、前記アプリケーションの仕向けを示す仕向け情報を受信する第二の受信手段とを有し、
前記管理手段は、前記第二の受信手段で受信した仕向け情報を前記管理する情報にさらに関連付けて管理することを特徴とする配信管理サーバー。
【請求項２】
操作ユーザーの属する仕向けと前記操作ユーザーからの入力に応じて定まるアプリケーション識別情報とを前記管理手段で管理している情報とに基づいて、処理対象の情報処理装置を決定する決定手段と、
前記操作ユーザーからの入力に応じて定まる前記アプリケーション識別情報と前記操作ユーザーの属する仕向けとを前記ライセンス管理サーバーに送信する第三の送信手段と、
前記第三の送信手段による送信に応じて前記ライセンス管理サーバーから送信される、アップデート候補のリストを受信する第三の受信手段と、
前記第三の受信手段で受信したリストを用いて前記操作ユーザーが指定したアップデート対象のアプリケーションを前記ライセンス管理サーバーに送信する第四の送信手段と、
前記第四の送信手段による送信に応じて前記ライセンス管理サーバーから送信される、前記アップデート対象のアプリケーションの配信情報を受信する第四の受信手段と、
前記決定手段で決定した処理対象の情報処理装置に前記第四の受信手段で受信した配信情報を配信する配信手段とを
さらに有することを特徴とする請求項１に記載の配信管理サーバー。
【請求項３】
前記配信手段は、前記情報処理装置からの配信情報の問い合わせに応じて前記配信情報を配信することを特徴とする請求項２に記載の配信管理サーバー。
【請求項４】
前記決定手段は、
前記操作ユーザーの属する仕向けと異なる仕向けのアプリケーションをインストールしている情報処理装置をさらに決定し、
前記異なる仕向けのアプリケーションをインストールしている情報処理装置に、前記操作ユーザーの属する仕向けをインストールするかを前記操作ユーザーからの入力に応じてさらに決定し、
前記決定手段において前記異なる仕向けのアプリケーションをインストールしている情報処理装置に、前記操作ユーザーの属する仕向けをインストールすると決定された場合、前記異なる仕向けのアプリケーションをインストールしている情報処理装置を識別する第二の装置識別情報と、アップデート対象のアプリケーションを前記ライセンス管理サーバーで一意に特定する登録番号とを前記ライセンス管理サーバーに送信する第五の送信手段と、
前記第五の送信手段による送信に応じて前記ライセンス管理サーバーから送信される、前記アップデート対象のアプリケーションのライセンスファイルを受信する第五の受信手段と、
をさらに有し、
前記配信手段は、前記第五の受信手段で受信したライセンスファイルを含む配信情報を配信することを特徴とする請求項２または３に記載の配信管理サーバー。
【請求項５】
前記鍵情報は、前記アプリケーションの暗号化に用いられる共通鍵のハッシュ値であることを特徴とする請求項１から４のいずれか一項に記載の配信管理サーバー。
【請求項６】
請求項５に記載の配信管理サーバーとネットワークを介して接続されるライセンス管理サーバーであって、
アプリケーションの識別情報と共通鍵と仕向け情報とを関連付けて管理する第二の管理手段と、
前記配信管理サーバーから前記アプリケーション識別情報と前記共通鍵のハッシュ値とを受信する第六の受信手段と、
前記第六の受信手段で受信したアプリケーション識別情報に対応する共通鍵を前記第二の管理手段で管理している情報を用いて特定する特定手段と、
前記特定手段で特定した共通鍵のハッシュ値を生成する生成手段と、
前記第六の受信手段で受信した前記共通鍵のハッシュ値が前記生成手段で生成した共通鍵のハッシュ値と一致する共通鍵と関連付けて前記第二の管理手段で管理されている仕向け情報を抽出する抽出手段と、
前記抽出した仕向け情報を前記第六の受信手段による受信に対する応答として前記配信管理サーバーに送信する第六の送信手段と
を有することを特徴とするライセンス管理サーバー。
【請求項７】
前記配信管理サーバーからアプリケーション識別情報と仕向け情報とを受信する第七の受信手段と、
前記仕向け情報に対応したアップデート候補のリストを前記配信管理サーバーに送信する第七の送信手段と、
前記配信管理サーバーからアップデート対象のアプリケーションの指定を受信する第八の受信手段と、
前記配信管理サーバーに前記アップデート対象のアプリケーションの配信先を含む配信情報を送信する第八の送信手段と
をさらに有することを特徴とする請求項６に記載のライセンス管理サーバー。
【請求項８】
請求項１から５のいずれか一項に記載の配信管理サーバーとネットワークを介して接続される情報処理装置であって、
前記情報処理装置にインストールされているアプリケーションのアプリケーションを識別するアプリケーション識別情報と、前記アプリケーションに関する鍵情報とを前記配信管理サーバーに送信する送信手段と、
アップデート対象のアプリケーションの配信先を含む配信情報を前記配信管理サーバーから取得する取得手段と、
前記取得手段で取得した配信情報を用いて前記アップデート対象のアプリケーションを前記情報処理装置にインストールするインストール手段と
を有する情報処理装置。
【請求項９】
前記インストール手段は、
前記配信情報にライセンスファイルが含まれていない場合、インストールされているアプリケーションを無効化してライセンスファイルを生成し、生成したライセンスファイルを用いてインストールを行い、
前記配信情報にライセンスファイルが含まれている場合、前記配信情報に含まれているライセンスファイルを用いてインストールを行なうことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
アプリケーションのライセンスを管理するライセンス管理サーバー及びアプリケーションをインストールしている情報処理装置とネットワークを介して接続される、アプリケーションの配信を管理する配信管理サーバーにおける配信管理方法であって、
前記情報処理装置から、アプリケーションを識別するアプリケーション識別情報と、前記アプリケーションに関する鍵情報とを受信する第一の受信ステップと、
第一の受信ステップで受信した前記アプリケーション識別情報と前記鍵情報とを前記ライセンス管理サーバーに送信する第一の送信ステップと、
前記第一の送信ステップによる送信に応じて前記ライセンス管理サーバーから送信される、前記アプリケーションの仕向けを示す仕向け情報を受信する第二の受信ステップと、
前記第二の受信ステップで受信した仕向け情報を、前記第一の受信ステップで受信した前記アプリケーション識別情報と前記鍵情報とを前記情報処理装置の装置識別情報と関連付けて管理する管理手段で管理する情報にさらに関連付ける関連付けステップと
を有することを特徴とする配信管理方法。
【請求項１１】
コンピュータを、請求項１から５のいずれか一項に記載の配信管理サーバーの各手段として機能させるためのプログラム。
【請求項１２】
コンピュータを、請求項６または７に記載のライセンス管理サーバーの各手段として機能させるためのプログラム。
【請求項１３】
コンピュータを、請求項８または９に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アップデートされたアプリケーションを適切な配信先に配信する技術に関する。
【背景技術】
【０００２】
従来、アップデートされたアプリケーションを、旧バージョンのアプリケーションをインストールしている装置に対して配信する技術が知られている。しかしながら、アプリケーションの中には、同じアプリケーションの同じバージョンであっても、「仕向け」が異なるアプリケーションが存在する。「仕向け」とは、アプリケーションの配信先のことであり、例えば「日本」や「ヨーロッパ」などのように仕向けが分類される。より具体的には、装置を販売している販売会社ごとに応じて仕向けが分類されることがある。
【０００３】
特許文献１には、アプリケーションを特定の配布先のみで利用可能とする技術が記載されている。特許文献１では、メモリカードの製造者の識別データを含むライセンスファイルを格納しておく。そして、アプリケーションの実行時に、アプリケーション内部の暗号鍵を用いてライセンスファイルに含まれている製造者の識別データを読み出して認証鍵を特定する。これにより、アプリケーションを特定の配布先のみで利用可能としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２１５９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、特定の配布先のみにアプリケーションを利用可能とする際に、アプリケーション内部に含まれている情報を用いている。上述した「仕向け」は一般にアプリケーション内部に含まれていない情報であるので、特許文献１に記載の技術では、適切な配信先にアプリケーションを配信することができない。
【課題を解決するための手段】
【０００６】
本発明に係る配信管理サーバーは、アプリケーションのライセンスを管理するライセンス管理サーバー及びアプリケーションをインストールしている情報処理装置とネットワークを介して接続される、アプリケーションの配信を管理する配信管理サーバーであって、前記情報処理装置から、アプリケーションを識別するアプリケーション識別情報と、前記アプリケーションに関する鍵情報とを受信する第一の受信手段と、前記第一の受信手段で受信した前記アプリケーション識別情報と前記鍵情報とを前記情報処理装置の装置識別情報と関連付けて管理する管理手段と、第一の受信手段で受信した前記アプリケーション識別情報と前記鍵情報とを前記ライセンス管理サーバーに送信する第一の送信手段と、前記第一の送信手段による送信に応じて前記ライセンス管理サーバーから送信される、前記アプリケーションの仕向けを示す仕向け情報を受信する第二の受信手段とを有し、前記管理手段は、前記第二の受信手段で受信した仕向け情報を前記管理する情報にさらに関連付けて管理することを特徴とする。
【発明の効果】
【０００７】
アップデートされたアプリケーションを適切な配信先に配信することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例に関する全体システムの構成と各装置のブロック図を示す図である。
【図２】実施例における全体の処理のシーケンスを示す図である。
【図３】実施例における画像形成装置上での全体処理フローを示す図である。
【図４】実施例における画像形成装置のアプリ・鍵情報送信部の処理フローを示す図である。
【図５】実施例１における画像形成装置のライセンスファイル取得部１３４の処理フローを示す図である。
【図６】実施例１における画像形成装置のインストール部の処理フローを示す図である。
【図７】実施例における配信管理サーバーのアプリ・鍵情報管理部１４３の処理フローを示す図である。
【図８】実施例における配信管理サーバーの配信設定の全体処理フローを示す図である。
【図９】実施例における配信管理サーバーのリスト生成部の処理フローを示す図である。
【図１０】実施例における配信管理サーバーが表示する、対象デバイス検索に関する画面を示す図である。
【図１１】実施例における配信管理サーバーが表示する、アプリバージョン指定画面を示す図である。
【図１２】実施例１における配信管理サーバーが表示する、配信登録画面を示す図である。
【図１３】実施例１における配信管理サーバーの配信情報設定部の全体処理フローを示す図である。
【図１４】実施例におけるライセンス管理サーバーの仕向け情報抽出部の処理フローを示す図である。
【図１５】実施例におけるライセンス管理サーバーの関連アプリ情報管理部の処理フローを示す図である。
【図１６】実施例におけるライセンス管理サーバーの関連アプリ情報管理部で管理されるアプリの関連性を示す図である。
【図１７】実施例２における配信管理サーバーが表示する、仕向け確認画面と配信登録画面とを示す図である。
【図１８】実施例２における配信管理サーバーの配信設定の全体処理フローを示す図である。
【図１９】実施例２におけるライセンス管理サーバーのライセンス情報発行部の処理フローを示す図である。
【図２０】実施例２における画像形成装置のライセンスファイル取得部の処理フローを示す図である。
【図２１】実施例２における画像形成装置のインストール部の処理フローを示す図である。
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照して、本発明を好適な実施例に基づいて詳細に説明する。なお以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【００１０】
また以降の説明において、アプリケーションをアプリと略記することもあるが、アプリケーションと同義とする。
【００１１】
［実施例１］
＜システム構成＞
図１は実施例１に関するアプリケーション配信システムの全体構成を示す図である。本実施例におけるアプリケーション配信システムは、ライセンス管理サーバー１１０、ユーザー端末１２０、画像形成装置１３０、配信管理サーバー１４０を有する。これらは互いにネットワークを介して接続されている。また、図１には各サーバー、装置、端末の機能ブロック図も併せて示している。図１に示す各機能ブロックは、各サーバー、装置、端末のそれぞれのＣＰＵが、ＲＯＭなどに格納されている各プログラムをＲＡＭに読み出して実行することで、各ＣＰＵが図１に示す各部として機能するものである。
【００１２】
ライセンス管理サーバー１１０は、仕向け情報抽出部１１１、関連アプリ情報管理部１１２、アプリ配信情報送信部１１３、ライセンス情報発行部１１４を有する。また、ライセンス管理サーバー１１０は、仕向け情報やアプリ情報、ライセンス情報を管理するライセンス情報管理データベース１１５を有する。
【００１３】
ユーザー端末１２０は、表示部１２１と入力部１２２とを有する。配信管理サーバー１４０への処理依頼はユーザー端末１２０から行われる。なお、ここではユーザー端末１２０が別個の装置である例を説明したが、配信管理サーバー１４０のインタフェースに接続された入力装置や表示装置をユーザー端末として用いてもよい。
【００１４】
本実施例で説明するアプリケーションをインストールおよび実行可能な画像形成装置１３０は、アプリ・鍵情報送信部１３１、配信設定チェック部１３２、配信情報受信部１３３、ライセンスファイル取得部１３４、インストール部１３５を有する。なお、本実施例では、アプリケーションをインストール及び実行可能な装置として、例えばＭＦＰ（Multifunction Peripheral）のような画像形成装置を例に挙げて説明するが、これに限られるものではない。アプリケーションをインストールおよび実行可能な装置であればどのような装置であってもよく、例えば一般的なコンピュータや、スマートフォン、タブレットなどの各種の情報処理装置にも適用することは可能である。
【００１５】
配信管理サーバー１４０は、リスト生成部１４１、配信情報設定部１４２、アプリ・鍵情報管理部１４３を有する。また、配信管理サーバー１４０は、アプリ・鍵情報や配信設定情報を管理する配信情報管理データベース１４４を有する。なお、本実施例では、ライセンス管理サーバー１１０と配信管理サーバー１４０とを別のサーバー装置であるものとして説明するが、これに限られるものではない。すなわち、ライセンス管理サーバー１１０の有する機能と配信管理サーバー１４０の有する機能とが一体となったサーバー装置を用いてもよい。
【００１６】
＜システムの処理シーケンス＞
図２は、本実施例におけるアプリケーション配信システムの全体のシーケンスを示す図である。ステップＳ２１０において画像形成装置は、インストールされているアプリケーションを識別する識別情報（ＩＤ）及びアプリケーションのバージョン（以下、アプリ情報という）と、共通鍵のハッシュ値とを配信管理サーバー１４０に送信する。この共通鍵は、暗号化されたアプリケーションを扱うため鍵である。
【００１７】
これを受信した配信管理サーバー１４０は、受信した情報を送信元の画像形成装置を識別する情報と関連付けて記憶する。このような情報の管理を行なうことで、配信管理サーバー１４０は、必要なアップデートが生じた画像形成装置に対してアップデートされたアプリケーションを配信することができる。本実施例では、配信管理サーバー１４０が管理している情報にさらに仕向け情報を関連付ける処理を行なう。配信管理サーバー１４０は、管理している情報に仕向け情報を関連付けることで所定の仕向けのアプリケーションをインストールしている画像形成装置を特定することが可能となる。
【００１８】
ステップＳ２２０において配信管理サーバー１４０は、アプリケーションのＩＤと共通鍵のハッシュ値とをライセンス管理サーバー１１０に送信する。これを受信したライセンス管理サーバー１１０は、受信したアプリケーションのＩＤと共通鍵のハッシュ値とに基づいて仕向け情報を抽出する。
【００１９】
ステップＳ２３０においてライセンス管理サーバー１１０は、抽出した仕向け情報をステップＳ２２０の応答として配信管理サーバー１４０に送信する。配信管理サーバー１４０は、受信した仕向け情報を、送信したアプリケーションＩＤと共通鍵のハッシュ値とに関連付けて記憶する。これにより、配信管理サーバー１４０は、アプリケーションＩＤとバージョンと共通鍵のハッシュ値と画像形成装置を識別する情報とを関連付けて管理することになる。
【００２０】
その後、配信管理サーバー１４０は、操作ユーザーからの指示によってアップデート対象のアプリケーションと画像形成装置１３０とを決定し、これらに関連付けられている仕向け情報を特定する。そして、ステップＳ２４０で配信管理サーバー１４０はライセンス管理サーバー１１０にアプリケーションＩＤと仕向け情報とを送信する。
【００２１】
ステップＳ２５０においてライセンス管理サーバー１１０は、送信されたアプリケーションＩＤと仕向け情報とに基づいて仕向け情報に応じて異なる可能性のある、アップデート可能なバージョンのリストを配信管理サーバー１４０に送信する。
【００２２】
ステップＳ２６０において配信管理サーバー１４０がアップデート対象のバージョンのアプリケーションを示す情報をライセンス管理サーバー１１０に送信する。すると、ステップＳ２７０においてライセンス管理サーバー１１０から配信管理サーバー１４０にアップデート対象のバージョンのアプリケーションの配信情報が送信される。
【００２３】
その後、ステップＳ２８０において画像形成装置が任意のタイミングで配信情報を配信管理サーバー１４０から取得する。配信情報にはアップデートされたアプリケーションの配信先を示す情報が含まれる。これを受けて画像形成装置はアップデートされたアプリケーションのインストールを行い、ステップＳ２９０においてインストールの結果を配信管理サーバーに通知する。このように、本実施例では、仕向け情報を用いてある仕向けのみにアップデートされたアプリケーションを配信する処理が可能となる。以下、画像形成装置やサーバーの処理について詳しく説明する。
【００２４】
＜画像形成装置の処理フロー＞
次に、実施例１における画像形成装置１３０上の処理フローについて図３を使って説明する。
【００２５】
本発明における画像形成装置１３０では、画像形成装置１３０の起動時に図３に示す処理を開始する。なお、図３の処理は、画像形成装置の不図示のＲＡＭに読み出されたプログラムを画像形成装置の不図示のＣＰＵが実行することにより実現される。また、他の処理フローについても同様に、装置、または、サーバーの不図示のＲＡＭに読み出されたプログラムを、装置、または、サーバーの不図示のＣＰＵが実行することにより実現されるものである。
【００２６】
画像形成装置が起動され処理が開始されると、ステップＳ３０１においてアプリ・鍵情報送信部１３１が処理を開始する。後述するように、このステップＳ３０１の処理で図２のＳ２１０の処理が行なわれる。
【００２７】
次に、ステップＳ３０２において配信設定チェック部１３２は、配信管理サーバー１４０に対して、自画像形成装置１３０に関する配信設定があるかの問い合わせを行う。ステップＳ３０３において配信設定チェック部１３２は、配信管理サーバーからの問い合わせ結果が配信設定がないことを示す場合、ステップＳ３０２に戻り、一定時間おきにステップＳ３０２の処理を繰り返す。ステップＳ３０３で問い合わせ結果が配信設定があることを示す場合、ステップＳ３０４において配信情報受信部１３３は配信情報を配信管理サーバー１４０から受信して取得する。この配信情報の取得処理は、図２のステップＳ２８０の処理に対応する。そして、ステップＳ３０５においてライセンスファイル取得部１３４が、必要に応じてステップＳ３０４で取得した配信情報を参照してライセンスファイルを取得する。ステップＳ３０６においてインストール部は、ステップＳ３０４で取得した配信情報とステップＳ３０５で取得したライセンスファイルとを用いてアプリケーションのインストール処理を行なう。インストール処理においては、インストール結果が配信管理サーバー１４０に通知される。この処理は、図２のＳ２９０の処理に対応する。
【００２８】
次に、各処理の詳細について説明する。
【００２９】
＜画像形成装置のアプリ・鍵情報送信部の処理フロー＞
図４は、図３のステップＳ３０１で示した画像形成装置１３０のアプリ・鍵情報送信部１３１の処理の処理フローを示している。前述のように、アプリ・鍵情報送信部１３１の処理は、画像形成装置１３０の起動時に行なわれる。なお、必ずしも起動時に開始しなくてもよく、ある程度の時間をおいてから定期的、または不定期に処理が行なわれてもよい。
【００３０】
ステップＳ４０１でアプリ・鍵情報送信部１３１は、配信管理サーバー１４０にアプリの構成情報を送付済みかどうか判定する。アプリの構成情報とは、例えば画像形成装置１３０でインストールされているアプリケーションを識別するアプリケーション識別情報（ＩＤ）とそのバージョンを示す情報とアプリケーションの共通鍵のハッシュ値のことである。複数のアプリケーションがインストールされている場合、それぞれのアプリケーションに対応する個々の情報を総称してアプリの構成情報と呼ぶ。すでにアプリの構成情報を送付済みであれば、処理を終了し、未送付であればステップＳ４０２に処理を進める。
【００３１】
ステップＳ４０２においてアプリ・鍵情報送信部１３１は、自画像形成装置１３０内にアプリがインストールされているかを判定する。アプリが一つもインストールされていなければ、そのまま処理を終了する。
【００３２】
アプリがインストールされている場合、ステップＳ４０３においてアプリ・鍵情報送信部１３１は、自画像形成装置１３０内で管理されるアプリケーションのＩＤ及びバージョンを示す情報（以下、アプリ情報と呼ぶ）とそれに対応する共通鍵を取得する。画像形成装置１３０内でアプリ・鍵情報送信部１３１は、インストール済みのアプリケーションに関する情報として表１に示すのような情報を管理している。
【００３３】
表１においてＡｐｐＩＤは画像形成装置１３０内でアプリを一意に特定するための識別子、Ｖｅｒｓｉｏｎはアプリのバージョン、共通鍵はアプリの暗号化に使用している共通鍵の情報である。画像形成装置１３０は、この管理されている共通鍵を用いて暗号化されたアプリケーションを復号してアプリケーションを実行する。本実施例では、アプリケーション内部に含まれている情報を用いることなく、この管理しているアプリケーションに関する情報を用いて処理を行なう。
【００３４】
【表１】
0006403583.tif 000002
【００３５】
次に、ステップＳ４０４においてアプリ・鍵情報送信部１３１は、ステップ４０３で取得したすべての共通鍵からそれぞれハッシュ値を生成する。次に、ステップＳ４０５においてアプリ・鍵情報送信部１３１は、ステップＳ４０４で生成した共通鍵のハッシュ値とそれに対応するアプリ情報とを配信管理サーバー１４０へ送信して、処理を終了する。画像形成装置１３０から配信管理サーバー１４０に対して例えば表２に示すような情報を送信する。なお、ＤＳ＃は送信元の画像形成装置１３０を一意に識別する装置識別情報である。表２に示すように、アプリの構成情報と画像形成装置を一意に特定する情報をアプリ・鍵情報送信部１３１は配信管理サーバー１４０に送信する。なお、送信元の例えばＩＰアドレスなどのように送信時に用いる情報から送信元の画像形成装置を配信管理サーバー１４０側で判別できる場合には、画像形成装置を識別する情報は配信管理サーバー１４０に情報として送信しなくてもよい。このステップＳ４０５において情報が送信されることは、図２のＳ２１０に対応する。
【００３６】
【表２】
0006403583.tif 000003
【００３７】
＜画像形成装置のライセンスファイル取得部の処理フロー＞
図５は、画像形成装置１３０のライセンスファイル取得部１３４の処理フローを示す図である。図３の処理フローで説明したように、配信情報受信部１３３での配信情報の取得処理が終ると、ライセンスファイル取得部１３４の処理が開始される。配信情報は、配信されるアプリケーションを識別するアプリ情報と、アプリケーションの配信先を示す情報とが含まれる。配信情報受信部１３３で配信管理サーバー１４０から受信する配信情報の例を表３に示す。アプリ情報として、ＡｐｐＩＤ／Ｖｅｒｓｉｏｎの他、アプリ名を取得することができる。また、アプリケーションの配信先を示す情報としてアプリのダウンロードＵＲＩを取得することができる。なお、ここでアプリケーションの配信先を示すＵＲＩが示す配信サーバーは配信管理サーバー１４０である必要はない。
【００３８】
【表３】
0006403583.tif 000004
【００３９】
ステップＳ５０１でライセンスファイル取得部１３４は、配信情報受信部１３３が配信管理サーバー１４０から受信した配信情報を取得する。そして、ステップＳ５０２においてライセンスファイル取得部１３４は、取得した配信情報に含まれるアプリ情報で特定されるＡｐｐＩＤと同じアプリケーションが自画像形成装置１３０内にインストールされているか判定する。インストールされていると判定した場合、ステップＳ５０３に進み、ライセンスファイル取得部１３４は、対応するアプリの無効化ライセンスファイルを生成する。無効化ライセンスファイルとは、一度インストールしたライセンスファイルをアンインストールすると生成されるライセンスファイルである。無効化ライセンスファイルには、暗号化されたアプリを復号化するための共通鍵を含み、ライセンス管理サーバー１１０で管理される異なるバージョンのアプリの復号化に利用することができる。次に、ステップＳ５０４でライセンスファイル取得部１３４はステップＳ５０３で無効化ライセンスファイルを生成したアプリに対応するアプリをアンインストールする。一方、ステップＳ５０２において対応するアプリがインストールされていないと判定した場合、ライセンスファイル取得部１３４は、ステップＳ５０５においてアップデートエラーとして処理を終了する。
【００４０】
＜画像形成装置のインストール部の処理フロー＞
図６は、画像形成装置１３０のインストール部１３５の処理フローを示している。図３に示したように、ライセンスファイル取得部１３４の処理が終了すると、インストール部１３５の処理が開始される。
【００４１】
ステップＳ６０１においてインストール部１３５は、ライセンスファイル取得部１３４での処理の結果がアップデートエラーであるか否かを判定する。アップデートエラーであった場合には、ステップＳ６０２においてインストール部１３５は、配信管理サーバー１４０にエラーを通知し、処理を終了する。
【００４２】
一方、アップデートエラーではなかった場合は、ステップＳ６０３でインストール部１３５は、配信情報受信部１３３で受信した配信情報に含まれるＵＲＩから対応するアプリをダウンロードする。そして、ステップＳ６０４でインストール部１３５は、ステップＳ６０３でダウンロードしたアプリのインストールを行う。次に、ステップＳ６０５でインストール部１３５は、ライセンスファイル取得部１３４で生成された無効化ライセンスファイルをインストールする。ステップＳ６０６でインストール部１３５は、配信管理サーバー１４０にインストール完了を通知し、処理を終了する。この処理は図２のＳ２９０の処理に対応する。
【００４３】
以上が、画像形成装置の処理フローの説明である。次に、配信管理サーバーの処理フローについて説明する。
【００４４】
＜配信管理サーバーのアプリ・鍵情報管理部の処理フロー＞
図７は、配信管理サーバー１４０のアプリ・鍵情報管理部１４３の処理フローを示している。図７の処理は、画像形成装置１３０のアプリ・鍵情報送信部１３１から受信したアプリの構成情報を取得後に開始される。
【００４５】
ステップＳ７０１においてアプリ・鍵情報管理部１４３は、画像形成装置１３０のアプリ・鍵情報送信部１３１から受信して取得したＡｐｐＩＤ及び共通鍵のハッシュ値をライセンス管理サーバー１１０に通知する。この処理は、図２のＳ２１０を受けたＳ２２０の処理に対応する。ステップＳ７０２においてアプリ・鍵情報管理部１４３は、ステップＳ７０１の通知に応じてライセンス管理サーバー１１０から送信される仕向け情報を取得する。ステップＳ７０３においてアプリ・鍵情報管理部１４３は、ステップＳ７０２で受信した仕向け情報を配信管理サーバー１４０のアプリ・鍵情報管理部１４３で管理する情報に追加し、処理を終了する。なお、ライセンス管理サーバー１１０がアプリ情報および共通鍵のハッシュ値から仕向け情報を特定する処理については後述する。
【００４６】
アプリ・鍵情報管理部１４３で管理する情報を表４に例示する。画像形成装置１３０のアプリ・鍵情報送信部１３１から送信された情報に追加して、ライセンス管理サーバー１１０から受信したアプリごとの仕向け情報をアプリ・鍵情報管理部１４３は管理している。
【００４７】
【表４】
0006403583.tif 000005
【００４８】
＜配信管理サーバーの配信設定の全体処理フロー＞
次に、配信管理サーバー１４０における配信設定の全体処理フローを図８を用いて説明する。図８に示す処理によって図２で示すＳ２７０で示すようにライセンス管理サーバー１１０から配信情報が配信管理サーバー１４０に送信され、配信管理サーバー１４０で配信情報が管理されることになる。この図８の処理は、先に説明したように、仕向け情報が関連付けられた情報を配信管理サーバー１４０のアプリ・鍵情報管理部１４３で管理していることを踏まえた処理である。
【００４９】
図８に示す処理は、ユーザー端末１２０からの処理を契機として開始される。ユーザー端末から配信設定の処理を要求されると、ステップＳ８０１で配信管理サーバー１４０はログイン処理を要求する。例えば、配信管理サーバー１４０は、操作ユーザーを特定するためのログイン画面をユーザー端末１２０に表示させる。そして、ステップＳ８０２においてユーザー端末から入力された情報に基づいて配信管理サーバー１４０は、操作ユーザーが権限を有するか否かを判定する。操作ユーザーが権限を有していないと判定した場合はステップＳ８０１の処理を繰り返す。操作ユーザーが権限を有すると判定した場合、ステップＳ８０３において配信管理サーバー１４０は操作ユーザーに対応する仕向け情報を、配信情報管理データベース１４４で管理するユーザー情報を参照して取得する。そして、ステップＳ８０４において配信管理サーバー１４０はリスト生成部１４１に処理を開始させ、次に、ステップＳ８０５において配信管理サーバー１４０は配信情報設定部１４２に処理を開始させる。
【００５０】
配信管理サーバー１４０の配信情報管理データベース１４４で管理するユーザー情報の例を表５に示す。操作ユーザーが正しいかどうかのチェックを行うＩＤ／パスワードの他に、操作ユーザーの仕向け情報を管理している。
【００５１】
【表５】
0006403583.tif 000006
【００５２】
図９は、配信管理サーバー１４０のリスト生成部１４１の処理フローを示している。ログイン画面を介して操作ユーザーが権限を有すると判定された場合、リスト生成部１４１は図９の処理を開始する。
【００５３】
ステップＳ９０１においてリスト生成部１４１は、テナントＩＤおよびアップデート対象のアプリを特定する情報（アプリケーションＩＤ）の指定をログインした操作ユーザーから受け付ける。テナントとは、操作ユーザーがアプリケーションを提供している顧客のことである。特定の顧客にアップデート対象のアプリケーションを配信する設定の場合にテナントＩＤによって操作ユーザーはテナントを指定することができる。本実施例では、テナントＩＤに画像形成装置が関連付けられており、テナントＩＤを指定することでアップデート候補の画像形成装置を特定することができる。ステップＳ９０２においてリスト生成部１４１は、ステップＳ９０１で指定された情報に対応する画像形成装置１３０を特定する。すなわち、アップデート処理の処理対象となる画像形成装置を特定する。
【００５４】
次に、ステップＳ９０３において変数ｉを０で初期化する。その後のステップＳ９０４〜Ｓ９０８の処理は、ステップＳ９０２で特定した画像形成装置１３０の数分の繰り返し処理となる。ステップＳ９０４においてリスト生成部１４１は、変数ｉがステップＳ９０２で特定した画像形成装置の数より小さいかを判定する。小さい場合はステップＳ９０５に進む。ステップＳ９０５においてリスト生成部１４１は、ｉ番目の画像形成装置に対応するアプリの仕向け情報をアプリ・鍵情報管理部１４３から特定する。前述の表４で説明した通り、アプリ・鍵情報管理部１４３は、アプリケーションのＩＤ，バージョン、共通鍵のハッシュ値、画像形成装置の識別番号、及び仕向け情報を関連付けて管理している。従って、ステップＳ９０１で指定を受け付けたアプリケーションＩＤと、ｉ番目の画像形成装置の識別番号とから、ｉ番目の画像形成装置に対応するアプリの仕向け情報を特定することができる。
【００５５】
次に、ステップＳ９０６においてリスト生成部１４１は、ステップＳ９０５で特定した、ｉ番目の画像形成装置の仕向け情報が図８のステップＳ８０３で取得した操作ユーザーの仕向け情報と同じであるかを判定する。異なる場合は、ステップＳ９０７に進み、ｉ番目の画像形成装置１３０を異なる仕向け情報の画像形成装置１３０であるとして別途リストを生成して管理する。表６はメインの仕向け情報と異なる仕向け情報を持つ画像形成装置を管理するための別リストである。以下の別リストは、ステップＳ９０７においてリスト生成部１４１が、配信管理サーバー１４０のアプリ・鍵情報管理部１４３で管理する情報を元に生成する。
【００５６】
【表６】
0006403583.tif 000007
【００５７】
ステップＳ９０６においてｉ番目の画像形成装置の仕向け情報が操作ユーザーの仕向け情報と同じであると判定した場合は、ステップＳ９０７を介さずにステップＳ９０８に進む。ステップＳ９０８でリスト生成部１４１は変数ｉをインクリメントし、ステップＳ９０４に進む。
【００５８】
その後、ステップＳ９０４で、変数ｉがステップＳ９０２で特定した画像形成装置の数より小さくないと判定した場合、ステップＳ９０９でリスト生成部１４１は、操作ユーザーから指定された配信状況に対応するリストを取得する。
＜配信管理サーバーにおけるユーザーインタフェース画面の例＞
図１０は、配信管理サーバー１４０のリスト生成部１４１の処理で表示される画面の例を示す図である。検索画面１００１は、テナントＩＤを入力するテキストボックス１００２、配信対象の設定種別を指定するラジオボタン１００３、検索条件として配信状況を指定するチェックボックス１００４を有する。また、アプリを特定するためのテキストボックス１００５、検索を実行するＳｅａｒｃｈボタン１００６および検索をキャンセルするＣａｎｃｅｌボタン１００７を有する。ログインした操作ユーザーが設定種別としてアプリケーション配信を選択し、条件を設定してＳｅａｒｃｈボタン１００６を実行すると、図９で示す処理が開始される。そして、テナントＩＤで管理される画像形成装置１３０の中から、指定されたアプリがインストールされている画像形成装置１３０を検索し、さらに指定された配信状況に一致する画像形成装置１３０のリストが取得される。なお、アプリを特定する情報として、図９及び図１０ではＡｐｐＩＤを指定するテキストボックス１００５のみを用いる例を示したが、バージョンを特定する情報を指定することもできる。
【００５９】
図１０（ｂ）は、図１０（ａ）によるＳｅａｒｃｈボタン１００６の実行を受け付け、リスト生成部１４１の処理が行なわれ、ステップＳ９０９で取得されたリストが表示されている例を示している。すなわち、所定のテナントＩＤ及びアプリケーションＩＤに対応する対象画像形成装置１３０の検索結果画面を図示している。
【００６０】
検索結果画面１０５１には、画像形成装置１３０を一意に特定する情報１０５２、アプリのバージョンを示す情報１０５３および仕向け情報１５０４が表示される。検索結果画面１０５１では、検索した結果特定された画像形成装置の数分の情報がリストとして表示される（１０５５〜１０５７）。さらに検索結果画面１０５１では、配信設定対象の画像形成装置１３０を選択し、配信設定を実行するための配信設定ボタン１０５８および配信設定をキャンセルするＣａｎｃｅｌボタン１０５９を有する。
【００６１】
図１０（ｂ）の例では、リスト１０５５および１０５６の画像形成装置１３０にインストールされているアプリが操作ユーザーの仕向けと同じであることを示している。一方。リスト１０５７の画像形成装置１３０にインストールされているアプリは、操作ユーザーの仕向けとは異なることを示しており、配信設定時に選択不可である状態を示している。なお、操作ユーザーの仕向けと異なるアプリがインストールされている場合は、その画像形成装置自体をリストとして表示しないという方法もある。図１０（ｂ）のように操作ユーザーの仕向けと異なるリストは、図９のステップＳ９０７で別リストとして生成されたリストを参照することで区別して表示したり、また、表示自体をしないことが可能である。
【００６２】
次に、１０（ｂ）において配信設定ボタン１０５８が操作ユーザーによって押されることで配信情報設定部１４２の処理が実行される。図１１は、配信管理サーバー１４０の配信情報設定部１４２によって表示されるアプリバージョン指定画面を示している。
【００６３】
図１１においてアプリバージョン指定画面１１０１／１１５１には、アプリを特定するＡｐｐＩＤを表示するラベル１１０２／１１５２、対象アプリの仕向け情報を表示するラベル１１０３／１１５３が表示される。また、アップデート対象のバージョンを選択するためのリストボックス１１０４／１１５４が表示される。また、アプリバージョンを特定するためのＯＫボタン１１０５／１１５５およびアプリバージョン指定をキャンセルするためのＣａｎｃｅｌボタン１１０６／１１５６が表示される。図１１（ａ）は、仕向け情報として「ＪＰ」の例を図示したが、図１１（ｂ）では、仕向け情報「ＥＮ」の例を図示している。また、図１１では、仕向け情報によってアップデート可能なバージョンが異なることが示されている。なお、図１１のアップデート対象のバージョンを選択するためのリストボックス１１０４／１１５４は、ライセンス管理サーバー１１０に管理されている情報に基づいて表示されているものである。ライセンス管理サーバー１１０で管理される情報については後述する。
【００６４】
図１１で表示した画面を介した操作ユーザーの指示によって、配信情報設定部１４２は、ＡｐｐＩＤと仕向け情報とに基づく、所望の関連アプリ情報を取得することができる。ここでは、どの仕向けに対して、どのバージョンのアプリケーションを配信するかを示す情報を取得することができることを示している。
【００６５】
図１２は、配信管理サーバー１４０の配信情報設定部１４２の配信設定登録画面１２０１を図示している。ここでは図１１（ａ）の仕向け情報が「ＪＰ」の場合において所定のバージョンが選択されてＯＫボタン１１０５が押された場合に表示される画面の例を示している。配信設定登録画面１２０１には、画像形成装置１３０を特定する情報１２０２、配信日を設定する項目１２０３、配信時刻を設定する項目１２０４が表示される。これらの情報及び項目は、図１０（ｂ）の画像形成装置１３０の検索結果の画面において操作ユーザーから指定された画像形成装置１３０の数分の情報が表示される（１２０５〜１２０６）。また、配信設定登録画面１２０１は、必要事項を入力後に、配信登録を実行するための配信登録実行ボタン１２０７および配信登録をキャンセルするＣａｎｃｅｌボタン１２０８を有する。なお、図１２では、画像形成装置１３０個別に配信日時を指定する例を示したが、一括で指定することも可能である。
【００６６】
＜配信管理サーバーの配信情報設定部の処理フロー＞
図１３は、配信管理サーバー１４０の配信情報設定部１４２の全体処理フローを示している。図１３の処理は、図１０（ｂ）の画像形成装置の検索結果のリストが表示される検索結果画面１０５１において、操作ユーザーから配信設定ボタン１０５８が実行されると処理が開始される。
【００６７】
ステップＳ１３０１において配信情報設定部１４２は、まずは、配信設定されたＡｐｐＩＤ、バージョン、および仕向け情報をライセンス管理サーバー１１０に通知する。具体的には、図１０（ｂ）の操作前の画面である図１０（ａ）において操作ユーザーから指定されたアプリケーションＩＤと、図１０（ｂ）の検索結果画面で表示されるバージョン及び仕向け情報（すなわち、操作ユーザーに対応する仕向け情報）とを通知する。この処理は、図２のＳ２４０の処理に対応する。
【００６８】
この通知に応じてライセンス管理サーバー１１０から配信管理サーバー１４０に対して、アップデート可能なアプリのリストが送信される。この処理は、図２のＳ２５０の処理に対応する。
【００６９】
ステップＳ１３０２において配信情報設定部１４２は、ライセンス管理サーバー１１０から受信して取得したアプリのリストを、例えば図１１で示すアプリバージョン指定画面内に表示する。すなわち、例えば図１１のアップデート対象のバージョンを選択するためのリストボックス１１０４／１１５４に表示する。
【００７０】
ステップＳ１３０３において配信情報設定部１４２は、操作ユーザーからの指示に基づいてアップデート対象のアプリのバージョンを決定する。ステップＳ１３０４において配信情報設定部１４２は、ステップＳ１３０３で決定したアプリのバージョンに対応する登録番号をライセンス管理サーバー１１０に通知する。登録番号とはライセンス管理サーバー１１０上でアプリを一意に特定するための情報であり、ステップＳ１３０２でライセンス管理サーバー１１０から取得したアプリのリストに含まれている情報である。表７は、ステップＳ１３０１においてＡｐｐＩＤ「ＡＢＣ１２３４」、かつ仕向け情報「ＪＰ」を指定した際にライセンス管理サーバー１１０から受信して取得するアプリのリストの情報を示す。
【００７１】
【表７】
0006403583.tif 000008
【００７２】
この表７は、図１１（ａ）のアップデート対象のバージョンを選択するためのリストボックス１１０４で表示される事項に対応している。
【００７３】
ステップＳ１３０４においてライセンス管理サーバー１１０に登録番号を通知したことに応じて、ライセンス管理サーバー１１０のアプリ配信情報送信部１１３は、アプリをダウンロードするための配信情報を配信管理サーバー１４０に送信する。この処理は、図２のステップＳ２７０の処理に対応する。
【００７４】
ステップＳ１３０５において配信情報設定部１４２は、ライセンス管理サーバー１１０からのアプリの配信情報を取得する。そして、ステップＳ１３０６において配信情報設定部１４２は、ステップＳ１３０６で取得した配信情報を配信情報管理データベース１４４に登録し、処理を終了する。表８は配信情報管理データベース１４４で管理される配信情報を例を示す。
【００７５】
【表８】
0006403583.tif 000009
【００７６】
表８では、ステップＳ１３０３で決定したバージョン、ステップＳ１３０６で取得した配信情報（ＵＲＩ）、図１２で操作ユーザーからの指定を受け付けた配信日時が各画像形成装置ごとに関連付けられて管理されている様子を示している。なお、アプリ名はアプリケーションＩＤに関連付けられている情報から得られることができる。また、バージョンについてはステップＳ１３０３で決定したものでなくても配信情報に含まれる情報を用いても良い。
【００７７】
＜ライセンス管理サーバーの処理フロー＞
次にライセンス管理サーバー１１０の処理フローについて説明する。まず、ライセンス管理サーバー１１０の仕向け情報抽出部１１１の処理について説明する。仕向け情報抽出部１１１は、前述のように、配信管理サーバー１４０から送信されたアプリケーションＩＤと共通鍵のハッシュ値とに基づいて仕向け情報を抽出して、抽出した仕向け情報を配信管理サーバー１４０に送信する処理を行なう。
【００７８】
＜ライセンス管理サーバーの仕向け情報抽出部の処理フロー＞
図１４は、ライセンス管理サーバー１１０の仕向け情報抽出部１１１の処理フローを示している。ステップＳ１４０１において仕向け情報抽出部１１１は、配信管理サーバー１４０のアプリ・鍵情報管理部１４３からＡｐｐＩＤ及び共通鍵のハッシュ値を受信する。この処理は、図２のＳ２２０の処理に対応する。
【００７９】
次に、ステップＳ１４０２において仕向け情報抽出部１１１は、ステップＳ１４０１で受信したＡｐｐＩＤに対応する共通鍵をライセンス管理サーバー１１０が管理する共通鍵の中から取得する。次に、ステップＳ１４０３において変数ｉを０で初期化する。
【００８０】
次のステップＳ１４０４において仕向け情報抽出部１１１は、変数ｉがステップＳ１４０２で取得した共通鍵の数より小さいかを判定し、小さい場合にはステップＳ１４０５に進み、小さくない場合にはステップＳ１４０８に進む。
【００８１】
ステップＳ１４０５において仕向け情報抽出部１１１は、ｉ番目の共通鍵からハッシュ値を生成する。そして、ステップＳ１４０６において仕向け情報抽出部１１１は、ステップＳ１４０５で生成した共通鍵のハッシュ値とステップＳ１４０１で受信した共通鍵のハッシュ値とをが等しいかを判定する。互いのハッシュ値が等しい場合には、ステップＳ１４０６に進む。ステップＳ１４０６で仕向け情報抽出部１１１は、ｉ番目の共通鍵に関連付けられている仕向け情報を、ステップＳ１４０１で受信したＡｐｐＩＤと共通鍵のハッシュ値とに対応する仕向け情報として抽出して、ステップＳ１４０９に進む。一方、互いのハッシュ値が等しくない場合には、ステップＳ１４０７において仕向け情報抽出部１１１は、変数ｉをインクリメントしてステップＳ１４０４に処理を進める。なお、ライセンス管理サーバー１１０が管理するすべての共通鍵のハッシュ値とステップＳ１４０１で受信した共通鍵のハッシュ値とが等しくない場合は、仕向け情報が未抽出であると決定してステップＳ１４０９に進む。
【００８２】
ステップＳ１４０９において仕向け情報抽出部１１１は、ステップＳ１４０６またはステップＳ１４０８で得られた結果を配信管理サーバー１４０に送信する。すなわち、ステップＳ１４０６で仕向け情報が抽出できた場合には、配信管理サーバー１４０から送信されたＡｐｐＩＤと共通鍵のハッシュ値とに対応する仕向け情報を配信管理サーバー１４０に送信する。この処理は、図２のＳ２３０の処理に対応する。
【００８３】
表９は、ライセンス管理サーバー１１０が管理する共通鍵のハッシュ値と仕向け情報の組み合わせの例を示すものである。
【００８４】
【表９】
0006403583.tif 000010
【００８５】
ライセンス管理サーバー１１０上では、ＡｐｐＩＤと仕向け情報との組み合わせで一意となる共通鍵を管理している。従って、配信管理サーバー１４０から受信した共通鍵のハッシュ値およびＡｐｐＩＤの組み合わせを用いることで、それらに対応する仕向け情報を特定することが可能である。
【００８６】
次に、ライセンス管理サーバー１１０の関連アプリ情報管理部１１２の処理について説明する。関連アプリ情報管理部１１２は、前述のように配信管理サーバー１４０から送信されるＡｐｐＩＤとバージョンと仕向け情報とを受信して、アップデート可能なアプリのバージョンアップリストを配信管理サーバー１４０に送信する処理を行なう。
【００８７】
＜ライセンス管理サーバーの関連アプリ情報管理部の処理フロー＞
図１５は、ライセンス管理サーバー１１０の関連アプリ情報管理部１１２の処理フローを示している。ステップＳ１５０１において関連アプリ情報管理部１１２は、配信管理サーバー１４０からＡｐｐＩＤ、Ｖｅｒｓｉｏｎ、及び仕向け情報を受信する。この処理は、図２のＳ２４０の処理に対応する。
【００８８】
次に、ステップＳ１５０２において関連アプリ情報管理部１１２は、ステップＳ１５０１で受信したＡｐｐＩＤ、Ｖｅｒｓｉｏｎ，及び仕向け情報に基づいて、ライセンス管理サーバー１１０で管理する対応するアプリの登録番号を特定する。次に、ステップＳ１５０３において関連アプリ情報管理部１１２は、ステップＳ１５０２で特定した登録番号のアプリに設定されているバージョンアップリストを取得する。次に、ステップＳ１５０４において関連アプリ情報管理部１１２は、バージョンアップリストがあるか判定し、リストがあれば、ステップＳ１５０５において対応するアプリのリストを配信管理サーバー１４０へ送信する。リストがない場合は、そのまま処理を終了する。
【００８９】
図１６は、ライセンス管理サーバー１１０の関連アプリ情報管理部１１２で管理されるアプリの関連性を示した図であり、関連性のあるアプリがリストとして配信管理サーバー１４０に通知されることになる。例えば、ＡｐｐＩＤは同じ「ＡＢＣ１２３４」であり、かつ、おなじバージョン「Ｖ１．０」であるが、図１６（ａ）及び図１６（ｂ）に示すように、異なる仕向けごとにアプリが登録されていることがわかる。例えば、仕向け情報「ＪＰ」／登録番号「１０００」のアプリ１６０１および仕向け情報「ＥＮ」／登録番号「２０００」のアプリ１６５１が登録され管理されている。登録番号「１０００」のアプリには、バージョン「２．０」／登録番号「１００１」のアプリ１６０２が関連付けられている。登録番号「１０００」のアプリにはまた、バージョン「３．０」／登録番号「１００２」のアプリ１６０３、バージョン「４．０」／登録番号「１００４」のアプリ１６０５のアプリが関連付けられている。一方で、登録番号「１０００」のアプリには、バージョン「３．１」／登録番号「１００３」のアプリ１６０４は関連付けられていないことを示している。
【００９０】
登録番号「２０００」のアプリには、バージョン「１．１」／登録番号「２００１」のアプリ１６５２、バージョン「１．２」／登録番号「２００２」のアプリ１６５３、バージョン「１．３」／登録番号「２００３」のアプリ１６５４が関連付けられている。一方で、登録番号「２０００」のアプリにはバージョン「２．０」／登録番号「２００４」のアプリ１６５５は関連付けられていないことを示している。
【００９１】
図１６に示すように、画像形成装置１３０内ではアプリの一意性を保つＡｐｐＩＤであっても、異なる仕向け情報のアプリが存在することがある。そして、同じＡｐｐＩＤのアプリであってもアプリの仕向けごとにアップデート可能なアプリが異なることがある。本実施例では、このような場合においても、アップデートされるアプリを適切に行なう処理を行なっているのである。例えば、画像形成装置１３０にインストールされているアプリケーションＩＤとそのアプリケーションの共通鍵のハッシュ値を、仕向け情報を特定可能な情報として用いている。そして、配信管理サーバー１４０では、この情報を用いてアプリの仕向け情報を特定する。そして、配信設定を行なう際に、アプリの仕向け情報に応じたアップデート可能なアプリリストを取得することによって、画像形成装置１３０にインストールされているアプリに適したアプリのアップデート設定が可能となる。
【００９２】
［実施例２］
実施例１では仕向け情報を特定し、特定した仕向け情報に対応したアップデート可能なアプリリストを用いて画像形成装置にインストールされているアプリに適したアプリのアップデート設定を行なう例を説明した。実施例２では、画像形成装置にインストールされているアプリを、配信設定を行う操作ユーザーに応じた仕向けのアプリにアップデートする例について説明する。
【００９３】
図１７（ａ）は、配信管理サーバー１４０の配信情報設定部１４２が表示する仕向け確認画面を図示している。図１０（ｂ）で示したように、対象デバイス検索結果画面で表示された結果の中に、操作ユーザーの仕向け以外のアプリがインストールされている画像形成装置があった場合に、配信情報設定部１４２が図１７（ａ）で示すような画面を表示する。アプリの仕向け確認画面１７０１には、操作ユーザーとは異なる仕向けのアプリがインストールされている画像形成装置を特定する情報及びインストールされているアプリの仕向け情報が表示されている。また、アプリの仕向け確認画面１７０１は操作ユーザーと同じ仕向け情報を持つアプリにアップデートするかどうかの確認メッセージを表示し、配信設定を実行するＯＫボタン１７０２、配信設定をキャンセルするＣａｎｃｅｌボタン１７０３を有する。
【００９４】
図１７（ａ）では、操作ユーザーとして仕向け「ＪＰ」のユーザーがログインし、図１０（ｂ）で示すようにデバイスＩＤ「ＡＡＡ００５０２」の画像形成装置にだけ、仕向け「ＥＮ」のアプリがインストールされている例を示している。なお、操作ユーザーの仕向けと異なる仕向けの画像形成装置が複数ある場合は、リストで表示するまたは別画面に表示するなどしてもよい。
【００９５】
図１７（ｂ）は、配信管理サーバー１４０の配信情報設定部１４２が表示する配信設定登録画面１７５１を示している。図１７（ｂ）は、図１７（ａ）のアプリの仕向け確認画面１７０１において、操作ユーザーの仕向けに合わせてアプリをアップデートする、を選択した場合に表示される画面例を示している。すなわち、図１７（ａ）でＯＫボタン１７０２を押した場合の画面例である。なお、図１７（ｂ）の配信設定登録画面１７５１は、図１２の配信設定登録画面１２０１と共通部分を含んでおり、同じ箇所には同じ符号を付している。ここでは、異なる点を説明する。
【００９６】
配信設定登録画面１７５１には、仕向け「ＥＮ」のアプリケーションがインストールされているデバイスＩＤ「ＡＡＡ００５０２」についても配信登録を行なう設定１７５２が含まれている。また、配信設定登録画面１７５１には、操作ユーザーの仕向けと異なるアプリを操作ユーザーの仕向けと同じアプリにアップデートする場合に、メッセージ１７５３を表示する。図１７（ｂ）の例では、デバイスＩＤ「ＡＡＡ００５０２」の画像形成装置１３０の「ＥＮ」仕向けのアプリを「ＪＰ」仕向けのアプリにアップデートすることを示している。
【００９７】
＜配信管理サーバーの配信設定の処理フロー＞
図１８は、配信管理サーバー１４０の配信設定の全体処理フローを示している。図１８に示す処理は、図１３に示す処理と同じ処理を含んでおり、同じ処理には同じ符号を付して説明を省略する。すなわち、ステップＳ１３０１からステップＳ１３０６までの処理は、実施例１で説明した処理と同じである。
【００９８】
ステップＳ１３０５で操作ユーザーの仕向け情報に対応した配信情報を取得すると、ステップＳ１８０１に処理を進める。配信情報設定部１４２は、ステップＳ１８０１において仕向けが変わる画像形成装置があるかを判定する。すなわち、前述の図１７（ｂ）において選択した画像形成装置の中に、アプリの仕向けが変わる画像形成装置が含まれるかを判定する。図１７（ｂ）の例では、デバイスＩＤ「ＡＡＡ００５０２」の画像形成装置に「ＥＮ」の仕向け情報のアプリが入っているので、仕向けが変わると判定してステップＳ１８０２に処理を進める。仕向けが変わらない場合にはステップＳ１８０４に進む。
【００９９】
次に、ステップＳ１８０２において配信情報設定部１４２は、仕向けが変わる画像形成装置を一意に特定する識別情報（ＤＳ＃）およびアプリの登録番号をライセンス管理サーバー１１０に通知する。ライセンス管理サーバー１１０においては、ライセンス情報発行部１１４の処理でアプリと画像形成装置に対応したライセンスファイルが生成される。ステップＳ１８０３において配信情報設定部１４２は、ライセンス管理サーバー１１０からライセンスファイルを受信する。
【０１００】
その後、ステップＳ１８０４において配信情報設定部１４２は、配信情報管理データベース１４４に配信情報を登録する。このとき登録する配信情報はステップＳ１３０５で取得した配信情報であり、さらに、ステップＳ１８０３でライセンスファイルを受信している場合には、そのライセンスファイルも含めた配信情報を登録する。
【０１０１】
＜ライセンス管理サーバーの処理フロー＞
図１９は、ライセンス管理サーバー１１０のライセンス情報発行部１１４の処理フローを示している。ステップＳ１９０１においてライセンス情報発行部１１４は、配信管理サーバー１４０から画像形成装置の識別情報ＤＳ＃とアプリの登録番号とを受信する。ステップＳ１９０２においてライセンス情報発行部１１４は、ステップＳ１９０１で受信した画像形成装置の識別番号ＤＳ＃とアプリの登録番号とからライセンスファイルを発行する。そして、ステップＳ１９０３においてライセンス情報発行部１１４は、発行したライセンスファイルを配信管理サーバー１４０へ送信する。
【０１０２】
＜画像形成装置の処理フロー＞
次に、画像形成装置においてアプリケーションのインストールに関連する処理を説明する。図２０は、画像形成装置１３０のライセンスファイル取得部１３４の処理フローを示している。図２０のうち図５と同じ処理については同じ符号を付し、ここでの説明は省略する。
【０１０３】
本実施例において配信管理サーバーから取得する配信情報は、例えば表１０のような情報である。アプリを特定する情報として、ＡｐｐＩＤ／Ｖｅｒｓｉｏｎの他、アプリ名およびアプリのダウンロードＵＲＩを取得することができる。また、ライセンスファイル（ＬＦ）が含まれているアプリもある。
【０１０４】
【表１０】
0006403583.tif 000011
【０１０５】
ステップＳ５０２において取得したＡｐｐＩＤと同じアプリが自画像形成装置１３０内にインストールされている場合、ステップＳ２００１に進む。ステップＳ２００１においてライセンスファイル取得部１３４は、ステップＳ５０１で取得した配信情報にライセンスファイルが含まれるか判定する。ライセンスファイルが含まれる場合は、ステップＳ５０４に進み、対象のアプリをアンインストールする。つまり、ライセンスファイルが含まれているので、無効化ライセンスファイルを生成することなく、対象のアプリをアンインストールする。上記表１０の場合、ＡｐｐＩＤ「ＡＢＣ１２３４」のアプリにはライセンスファイルが含まれるため、無効化ライセンスファイルの生成は行わず、ＡｐｐＩＤ「ＣＤＥ５６７８」のみ無効化ライセンスファイルの生成を行うことになる。
【０１０６】
図２１は、画像形成装置１３０のインストール部１３５の処理フローを示している。図２１の処理のうち図６の処理と同じ処理については同じ符号を付し、説明を省略する。ステップＳ６０４においてインストール部１３５はアプリをインストールした後、ステップＳ２１０１において配信情報にライセンスファイルが含まれるかを判定する。ライセンスファイルが含まれれば、ステップＳ２１０２に進みインストール部１３５は、配信情報に含まれているライセンスファイルをインストールする。ライセンスファイルが含まれなければ、実施例１で説明したように、ステップＳ６０５においてインストール部１３５は、ライセンスファイル取得部１３４で取得した無効化ライセンスファイルをインストールする。
【０１０７】
本実施例では、図１７で示したように、配信設定の操作ユーザーの仕向けとは異なる仕向け情報を持つアプリが画像形成装置１３０にインストールされている場合に、操作ユーザーの仕向けに合わせてアプリをアップデートすることが可能となる。従って、操作ユーザーの仕向けに応じた画像形成装置１３０の管理が可能となる。
【０１０８】
＜その他の実施例＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006403583.tif 000012
【図２】
0006403583.tif 000013
【図３】
0006403583.tif 000014
【図４】
0006403583.tif 000015
【図５】
0006403583.tif 000016
【図６】
0006403583.tif 000017
【図７】
0006403583.tif 000018
【図８】
0006403583.tif 000019
【図９】
0006403583.tif 000020
【図１０】
0006403583.tif 000021
【図１１】
0006403583.tif 000022
【図１２】
0006403583.tif 000023
【図１３】
0006403583.tif 000024
【図１４】
0006403583.tif 000025
【図１５】
0006403583.tif 000026
【図１６】
0006403583.tif 000027
【図１７】
0006403583.tif 000028
【図１８】
0006403583.tif 000029
【図１９】
0006403583.tif 000030
【図２０】
0006403583.tif 000031
【図２１】
0006403583.tif 000032