以下、添付図面を参照しながら、本発明に係る情報処理システム、情報処理装置、情報処理方法およびプログラムの実施形態を詳細に説明する。以下では、本発明に係る情報処理装置の一例として、画像形成装置の一態様である複合機(MFP:Multifunction Peripheral)を例に挙げて説明するが、これに限られるものではない。なお、複合機とは、コピー機能、スキャナ機能、プリンタ機能、ファクス機能などの複数の異なる機能を有する装置である。
図1は、本実施形態の情報処理システム100の構成の一例を示す図である。図1に示すように、情報処理システム100は、MFP1と、アプリケーションサーバ2と、ライセンス管理サーバ情報管理装置3と、ライセンス管理サーバ4aと、ライセンス管理サーバ4bとを備え、これらは、例えばインターネットなどのネットワーク8を介して相互に接続される。
アプリケーションサーバ2は、「第3のサーバ」の一例であり、MFP1が利用可能なアプリケーションの一覧をMFP1に提供する。より具体的には、アプリケーションサーバ2は、1以上のアプリケーションごとに、当該アプリケーションをMFP1にインストールする命令を示すインストール命令が対応付けられたアプリケーション一覧画面を、MFP1に対して提供する。より具体的な内容については後述する。
ライセンス管理サーバ情報管理装置3は、「第1のサーバ」の一例であり、複数のアプリケーションごとに、該アプリケーションの使用権限に関する使用権限情報の一例であるライセンスファイルを発行する第2のサーバを特定するサーバ特定情報(ここでは一例として「URL」)を管理する。ここでは、ライセンスファイルは、ライセンスを認証するための(正当な権限を有するか否かを判断するための)使用権限認証情報の一例であるライセンスキーを含む。より具体的な内容については後述する。
ライセンス管理サーバ4aおよび4bの各々は、「第2のサーバ」の一例であり、それぞれが、互いに異なるアプリケーションの使用権限を管理する。この例では、ライセンス管理サーバ4aは、MFP1を製造するメーカーが定義したライセンスファイルを管理し、ライセンス管理サーバ4bは、ベンダーが定義したライセンスファイルを管理する。より具体的な内容については後述する。以下の説明では、ライセンス管理サーバ4aおよび4bを互いに区別しない場合は、単に「ライセンス管理サーバ4」と称する場合がある。
この例では、MFP1には、アプリケーションサーバ2からアプリケーション一覧画面を取得してMFP1に表示する機能を提供するアプリケーション(以下、「ブラウザアプリ」と称する場合がある)や、アプリケーション一覧画面に表示されたアプリケーションのうちユーザによって選択されたアプリケーションをMFP1にインストールする機能や、インストール済みのアプリケーションのライセンスファイルを管理する機能などを提供するアプリケーション(以下、「インストーラ」と称する場合がある)が、予めインストールされている。
なお、図1の例では、情報処理システム100に含まれる情報処理装置として、1台のMFP1を例示しているが、これに限られるものではなく、情報処理システム100に含まれる情報処理装置の台数および種類は任意である。
次に、図2を用いて、MFP1のハードウェア構成について説明する。図2に示すように、MFP1は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の機能を実現可能な本体10と、ユーザの操作を受け付ける操作部20とを備える。なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報(画面の座標値を示す信号等を含む)を受け付けることを含む概念である。本体10と操作部20は、専用の通信路30を介して相互に通信可能に接続されている。通信路30は、例えばUSB(Universal Serial Bus)規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
なお、本体10は、操作部20で受け付けた操作に応じた動作を行うことができる。また、本体10は、クライアントPC(パーソナルコンピュータ)等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
まず、本体10のハードウェア構成について説明する。図2に示すように、本体10は、CPU11と、ROM12と、RAM13と、HDD(ハードディスクドライブ)14と、通信I/F(インタフェース)15と、接続I/F16と、エンジン部17とを備え、これらがシステムバス18を介して相互に接続されている。
CPU11は、本体10の動作を統括的に制御する。CPU11は、RAM13をワークエリア(作業領域)としてROM12またはHDD14等に格納されたプログラムを実行することで、本体10全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
通信I/F15は、ネットワーク8と接続するためのインタフェースである。接続I/F16は、通信路30を介して操作部20と通信するためのインタフェースである。
エンジン部17は、コピー機能、スキャナ機能、ファクス機能、および、プリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ(画像読取部)、用紙等のシート材への印刷を行うプロッタ(画像形成部)、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するADF(自動原稿給送装置)のような特定のオプションを備えることもできる。
次に、操作部20のハードウェア構成について説明する。図2に示すように、操作部20は、CPU21と、ROM22と、RAM23と、フラッシュメモリ24と、通信I/F25と、接続I/F26と、操作パネル27とを備え、これらがシステムバス28を介して相互に接続されている。
CPU21は、操作部20の動作を統括的に制御する。CPU21は、RAM23をワークエリア(作業領域)としてROM22またはフラッシュメモリ24等に格納されたプログラムを実行することで、操作部20全体の動作を制御し、ユーザから受け付けた入力に応じた情報(画像)の表示などの後述する各種機能を実現する。
通信I/F25は、ネットワーク8と接続するためのインタフェースである。接続I/F26は、通信路30を介して本体10と通信するためのインタフェースである。
操作パネル27は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報(例えば受け付けた操作に応じた情報、MFP1の動作状況を示す情報、設定状態などを示す情報など)を表示する。この例では、操作パネル27は、タッチパネル機能を搭載した液晶表示装置(LCD)で構成されるが、これに限られるものではない。例えばタッチパネル機能が搭載された有機EL表示装置で構成されてもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
次に、MFP1のソフトウェア構成について説明する。図3は、MFP1のソフトウェア構成の一例を示す模式図である。図3に示すように、本体10は、アプリ層101と、サービス層102と、OS層103とを有する。アプリ層101、サービス層102、および、OS層103の実体は、ROM12やHDD14等に格納されている各種ソフトウェアである。CPU11が、これらのソフトウェアを実行することにより、各種の機能が提供される。
アプリ層101のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェア(以下の説明では、単に「アプリ」と称する場合がある)である。例えばアプリとしては、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリなどが挙げられる。
サービス層102のソフトウェアは、アプリ層101とOS層103との間に介在し、アプリに対し、本体10が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受け付け、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層102が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
なお、サービス層102によるインタフェースの機能は、本体10のアプリ層101だけではなく、操作部20のアプリ層201に対しても提供される。すなわち、操作部20のアプリ層201(アプリ)も、サービス層102のインタフェース機能を介して、本体10のハードウェア資源(例えばエンジン部17)を利用した機能を実現することができる。
OS層103のソフトウェアは、本体10が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア(オペレーティングシステム(OS))である。サービス層102のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、OS層103が解釈可能なコマンドに変換してOS層103に渡す。そして、OS層103のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作を行う。
同様に、操作部20は、アプリ層201と、サービス層202と、OS層203とを有する。操作部20が備えるアプリ層201、サービス層202及びOS層203も、階層構造については本体10側と同様である。ただし、アプリ層201のアプリにより提供される機能や、サービス層202が受け付け可能な動作要求の種類は、本体10側とは異なる。アプリ層201のアプリは、操作部20が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体10が備える機能(コピー機能、スキャナ機能、ファクス機能、プリンタ機能)やインストール済みのアプリケーションのライセンスファイルを更新する機能等に関する操作や表示を行うためのUI(ユーザインタフェース)の機能を提供するためのソフトウェアである。この例では、アプリ層201のアプリには、ブラウザアプリ、インストーラなども含まれる。
なお、本実施形態では、機能の独立性を保つために、本体10側のOS層103のソフトウェアと操作部20側のOS層203のソフトウェアが互いに異なる。つまり、本体10と操作部20は、別々のオペレーティングシステムで互いに独立して動作する。例えば本体10側のOS層103のソフトウェアとしてLinux(登録商標)を用い、操作部20側のOS層203のソフトウェアとしてAndroid(登録商標)を用いることも可能である。
以上のように、本実施形態のMFP1において、本体10と操作部20は別々のオペレーティングシステムで動作するため、本体10と操作部20との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部20が受け付けた情報(ユーザからの指示内容)を本体10へ伝達する動作(コマンド通信)や、本体10が操作部20へイベントを通知する動作などがこれに該当する。ここでは、操作部20が本体10へコマンド通信を行うことにより、本体10の機能を使用することができる。また、本体10から操作部20に通知するイベントには、本体10における動作の実行状況、本体10側で設定された内容などが挙げられる。
また、本実施形態では、操作部20に対する電力供給は、本体10から通信路30を経由して行われているので、操作部20の電源制御を、本体10の電源制御とは別に(独立して)行うことができる。
次に、MFP1が有する機能について説明する。図4は、MFP1が有する機能の一例を示す図である。図4に示すように、MFP1は、操作画面表示部111と、アプリケーション一覧画面要求送信部112と、アプリケーション一覧画面受信部113と、アプリケーション一覧画面表示部114と、インストール制御部115と、URL取得部116と、ライセンスファイル取得部117と、記憶部118と、更新制御部120とを有する。説明の便宜上、図4では、本実施形態に関する機能を主に例示しているが、MFP1が有する機能は、これらに限られるものではない。
操作画面表示部111は、各種の操作を行うための操作画面を操作パネル27に表示する制御を行う。図5は、操作画面の一例を示す図であり、操作画面には、アプリケーション一覧画面を取得してMFP1に表示するブラウザアプリを起動するためのアイコン6が表示されている。
図4の説明を続ける。アプリケーション一覧画面要求送信部112は、アプリケーションサーバ2に対して、アプリケーション一覧画面を要求するアプリケーション一覧画面要求を送信する。アプリケーション一覧画面受信部113は、アプリケーションサーバ2からアプリケーション一覧画面を受信する。
本実施形態では、ユーザがアイコン6をタッチすると、ブラウザアプリ(アプリケーション一覧画面要求送信部112)は、アプリケーションサーバ2に対して、アプリケーション一覧画面要求を送信する。そして、その応答として、ブラウザアプリ(アプリケーション一覧画面受信部113)は、アプリケーションサーバ2からアプリケーション一覧画面を受信する。
図6は、アプリケーション一覧画面の一例を示す図である。図6の例では、アプリケーション一覧画面は、複数のアプリケーションごとに、当該アプリケーションの内容を説明する説明情報と、当該アプリケーションをインストールすることを指示するためのボタン7(この例ではアプリケーションをインストールすることを指示するためのボタン7、以下、「インストールボタン7」と称する)とが表示される。この例では、インストーラに対してアプリケーションをインストールする命令(以下、「インストール命令」と称する)が、URIの形式(例えばURLの形式でもよい)で、当該アプリケーションに対応するインストールボタン7に貼り付けられている。この例では、インストールボタン7の押下は、当該インストールボタン7に貼り付けられたインストール命令の選択(インストールしたいアプリケーションの選択であると考えてもよい)を意味する。
図7は、「49354」というアプリIDで識別されるアプリケーションに対応するインストールボタン7に貼り付けられるインストール命令の一例を示す図であり、「49354」というアプリIDで識別されるアプリケーションをインストールする命令を表している。
図4の説明を続ける。アプリケーション一覧画面表示部114は、アプリケーション一覧画面受信部113により受信されたアプリケーション一覧画面を表示する制御を行う。この例では、アプリケーション一覧画面表示部114は、アプリケーション一覧画面受信部113により受信されたアプリケーション一覧画面を操作パネル27に表示する制御を行う。
インストール制御部115は、アプリケーション一覧画面に含まれるアプリケーションのうち、ユーザによって選択されたアプリケーションをインストールする制御を行う。より具体的には、インストール制御部115は、アプリケーションサーバ2に対して、ユーザによって押下されたインストールボタン7に貼り付けられたインストール命令に対応するアプリケーション(アプリケーション一覧画面に含まれるアプリケーションのうちユーザによって選択されたアプリケーションであると考えることができる)を要求するアプリケーション要求を送信する。そして、アプリケーション要求に対する応答として、アプリケーションサーバ2からアプリケーションを受信し、その受信したアプリケーションをMFP1にインストールする制御を行う。
例えばユーザが、アプリケーション一覧画面上の何れかのアプリケーションのインストールボタン7を押下すると、ブラウザアプリは、インストールボタン7に貼り付けられたインストール命令を、操作部20のOSに通知する。操作部20のOSは、通知されたインストール命令を確認し、操作部20の各アプリケーションに対して、当該インストール命令をブロードキャストする。そして、インストーラが、このブロードキャストされたインストール命令に反応し、該インストール命令を実行する。例えばインストール命令が図7の態様であった場合、まずインストーラは、図8に示すようなインストールの実行を指示するためのインストール画面を表示する。図8に示すインストール画面には、インストール対象のアプリケーション(この例では「49354」というアプリIDで識別されるアプリケーション)のインストールの実行を指示するための実行指示ボタン41が少なくとも表示される。ユーザが実行指示ボタン41を押下すると、インストーラは、アプリケーションサーバ2に対して、「49354」というアプリIDで識別されるアプリケーションを要求するアプリケーション要求を送信し、該アプリケーションをアプリケーションサーバ2から受信する。この例では、アプリケーション要求には、要求するアプリケーションを識別するアプリIDが少なくとも含まれている。そして、インストーラは、アプリケーション要求に対する応答としてアプリケーションサーバ2から受信した(ダウンロードした)アプリケーションをMFP1にインストールする制御を行う。
図4の説明を続ける。URL取得部116は、インストール制御部115によってインストールされたアプリケーションのライセンスファイル(「使用権限情報」の一例)を発行するライセンス管理サーバ4を特定するURL(「サーバ特定情報」の一例)を取得する。図4の例では、URL取得部116は、URL要求送信部131と、URL受信部132とを有する。
URL要求送信部131は、「第1の要求情報送信部」の一例であり、インストール済みのアプリケーションを識別するアプリID(「アプリケーション識別情報」の一例)を含み、かつ、該アプリIDで識別されるアプリケーションのライセンスファイルを発行するライセンス管理サーバ4のURLを要求するURL要求(「第1の要求情報」の一例)を、ライセンス管理サーバ情報管理装置3(「第1のサーバ」の一例)へ送信する。
URL受信部132は、「サーバ特定情報受信部」の一例であり、URL要求に対する応答として、ライセンス管理サーバ情報管理装置3からURLを受信する。
図4の説明を続ける。ライセンスファイル取得部117は、URL取得部116により取得されたURLで特定されるライセンス管理サーバ4から、インストール済みのアプリケーションのライセンスファイルを取得する。図4の例では、ライセンスファイル取得部117は、ライセンスファイル要求送信部141と、ライセンスファイル受信部142とを有する。
ライセンスファイル要求送信部141は、「第2の要求情報送信部」の一例であり、URL受信部132により受信されたURLにより特定されたライセンス管理サーバ4に対して、インストール済みのアプリケーション(URL要求に含まれるアプリIDで識別されるアプリケーション)に対応するライセンスキー(「使用権限認証情報」の一例)を含むライセンスファイル(「使用権限情報」の一例)を要求するライセンスファイル要求(「第2の要求情報」の一例)を送信する。
ライセンスファイル受信部142は、「使用権限情報受信部」の一例であり、ライセンスファイル要求に対する応答として、ライセンス管理サーバ4からライセンスファイルを受信する。
図4の説明を続ける。記憶部118は、「第3の記憶部」の一例であり、インストール済みのアプリケーションを識別するアプリIDと、ライセンスファイル受信部142により受信されたライセンスファイルとを対応付けたライセンス情報(「第2の対応情報」の一例)を記憶する。この例では、記憶部118は、インストール済みのアプリケーションを識別するアプリIDと、ライセンスファイル受信部142により受信されたライセンスファイルと、URL受信部132により受信されたURLとを対応付けたライセンス情報を記憶する。図9は、ライセンス情報の一例を示す図である。図9の例では、ライセンス情報は、アプリIDと、ライセンスファイルの格納場所を示すファイルパスと、URLとを対応付けた情報であるが、ライセンス情報の形態は任意に変更可能である。なお、この例では、インストール済みのアプリケーションが複数存在する場合、記憶部118には、複数のアプリケーションと1対1に対応する複数のライセンス情報が記憶されることになる。
図10は、ライセンスファイルの一例を示す図である。図10の例では、ライセンスファイルは、項目名と、対応する情報とのデータセットの集合である。図10の例では、項目名として、発行したライセンスを一意に識別する「ユニークID」、対象となるアプリケーションを識別する「アプリID」、ライセンスの種類を示す「ライセンスタイプ」、対象のアプリケーションを使用することができる期間を示す「有効期間」、対象のアプリケーションを使用することができる日数を示す「有効日数」、ライセンスを認証するための「ライセンスキー」が挙げられているが、これに限られるものではない。なお、ライセンスファイルに含まれる項目名は、ライセンスの種類に応じて任意に変更可能である。この例では、ライセンスファイルは、対象のアプリケーションを使用することができる期間を示す有効期間情報を少なくとも含むものとする。図10の例では、「有効期間」という項目名と、対応する情報とのデータセットが、「有効期間情報」に相当する。なお、使用権限情報(例えばライセンスファイル)は、アプリ毎の使用権限に関する情報の集合であり、アプリの付加情報、権限情報、対応情報などと言い換えることもできる。また、使用権限認証情報(例えばライセンスキー)は、アプリの使用権を認証・確認する際の鍵となる情報であり、アプリの認証情報、使用権限判定情報、認証鍵などと言い換えることもできる。
図4に戻って説明を続ける。更新制御部120は、インストール済みのアプリケーションの起動時の時点が、該アプリケーションのアプリIDに対応付けられたライセンスファイルに含まれる有効期間情報が示す期間から外れている場合、該ライセンスファイルを更新するための制御を行う。より具体的には、更新制御部120は、インストール済みのアプリケーションの起動時に、記憶部118に記憶されたライセンスファイルのうち、該アプリケーションのアプリIDに対応付けられたライセンスファイルを特定し、現時点(アプリケーションの起動時に相当)が、その特定したライセンスファイルに含まれる有効期間情報が示す期間から外れているか否かを確認する。そして、現時点が、有効期間情報が示す期間から外れている場合は、ライセンスファイルを更新する指示を受け付けるライセンス更新画面(「第1の画面」の一例)を表示する制御を行う。図11は、ライセンス更新画面の一例を示す図である。図11の例では、ライセンス更新画面には、ライセンスファイルを更新する指示を受け付けるための更新ボタン121が表示されている。
更新制御部120は、ライセンスファイルを更新する指示をライセンス更新画面で受け付けた場合(この例では、更新ボタン121を押下する操作を受け付けた場合)、ライセンスキーの入力を受け付けるライセンスキー入力画面(「第2の画面」の一例)を表示する制御を行う。図12は、ライセンスキー入力画面の一例を示す図である。ライセンスキーの入力をライセンスキー入力画面で受け付けた場合、その受け付けたライセンスキーを含み、かつ、ライセンスファイルの更新を要求するライセンスファイル更新要求(「第3の要求情報」の一例)をライセンス管理サーバ4(該ライセンスファイルを発行するライセンス管理サーバ4)へ送信する。このライセンス管理サーバ4のURLは、前述のライセンス情報を参照することで特定することができる。そして、更新制御部120は、記憶部118に記憶された更新対象のライセンスファイルを、ライセンスファイル更新要求に対する応答としてライセンス管理サーバ4から受信したライセンスファイルに更新する。
なお、以上に説明したMFP1が有する機能(操作画面表示部111、アプリケーション一覧画面要求送信部112、アプリケーション一覧画面受信部113、アプリケーション一覧画面表示部114、インストール制御部115、URL取得部116、ライセンスファイル取得部117、更新制御部120)は、CPU(11または21)が、記憶装置(例えばROM12、HDD14、ROM22、フラッシュメモリ24等)に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上記MFP1が有する機能のうちの少なくとも一部が専用のハードウェア回路(例えば半導体集積回路等)で実現されてもよい。また、上述の記憶部118は、例えば、ROM12、HDD14、ROM22、フラッシュメモリ24等により実現可能である。
次に、アプリケーションサーバ2の構成について説明する。図13は、アプリケーションサーバ2のハードウェア構成の一例を示す図である。図13に示すように、アプリケーションサーバ2は、CPU301と、ROM302と、RAM303と、通信I/F304と、入力装置305と、表示装置306とを備える。CPU301は、アプリケーションサーバ2の動作を統括的に制御する。ROM302は、プログラム等の各種のデータを記憶する不揮発性のメモリである。RAM303は、CPU301が実行する各種の処理の作業領域(ワークエリア)として機能する揮発性のメモリである。通信I/F304は、ネットワーク8と接続するためのインタフェースである。入力装置305は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示装置306は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。この例では、他のサーバ(ライセンス管理サーバ情報管理装置3、ライセンス管理サーバ4)のハードウェア構成も図13に示す構成と同様である。
図14は、アプリケーションサーバ2が有する機能の一例を示す図である。図14に示すように、アプリケーションサーバ2は、アプリケーション一覧画面保持部211と、アプリケーション一覧画面送信部212と、アプリケーション保持部213と、アプリケーション送信部214とを有する。説明の便宜上、図14では、本実施形態に関する機能を主に例示しているが、アプリケーションサーバ2が有する機能は、これらに限られるものではない。
アプリケーション一覧画面保持部211は、アプリケーション一覧画面を保持する。アプリケーション一覧画面送信部212は、MFP1からのアプリケーション一覧画面要求に対する応答として、アプリケーション一覧画面をMFP1に送信する。
アプリケーション保持部213は、複数のアプリケーションを保持する。アプリケーション保持部213によって保持される複数のアプリケーションの中には、アプリケーション一覧画面に表示されるアプリケーションが少なくとも含まれている。
アプリケーション送信部214は、MFP1からのアプリケーション要求に対する応答として、アプリケーション保持部213によって保持される複数のアプリケーションのうちの何れかをMFP1に送信する。より具体的には、アプリケーション送信部214は、アプリケーション保持部213に保持されたアプリケーションのうち、アプリケーション要求に含まれるアプリIDで識別されるアプリケーションを特定し、その特定したアプリケーションをMFP1へ送信する。
以上に説明したアプリケーションサーバ2が有する機能(アプリケーション一覧画面送信部212、アプリケーション送信部214等)は、アプリケーションサーバ2のCPU301が、ROM302等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えばアプリケーションサーバ2が有する機能のうちの少なくとも一部が専用のハードウェア回路(例えば半導体集積回路等)で実現されてもよい。また、上述のアプリケーション一覧画面保持部211、アプリケーション保持部213は、例えば、ROM302等により実現可能である。
次に、ライセンス管理サーバ情報管理装置3の構成について説明する。図15は、ライセンス管理サーバ情報管理装置3が有する機能の一例を示す図である。図15に示すように、ライセンス管理サーバ情報管理装置3は、記憶部311と、URL要求受信部312と、URL送信部313とを有する。
記憶部311は、「第1の記憶部」の一例であり、アプリIDと、該アプリIDで識別されるアプリケーションのライセンスファイルを発行するライセンス管理サーバ4のURLとを対応付けたURL情報(「第1の対応情報」の一例)を記憶する。図16は、URL情報の一例を示す図である。例えば複数のアプリケーションが存在する場合、記憶部311には、複数のアプリケーションと1対1に対応する複数のURL情報が記憶されることになる。
URL要求受信部312は、「第1の要求情報受信部」の一例であり、前述のURL要求をMFP1から受信する。
URL送信部313は、「サーバ特定情報送信部」の一例であり、URL要求受信部312により受信されたURL要求に含まれるアプリIDに対応付けられたURLを、MFP1へ送信する。より具体的には、URL送信部313は、記憶部311に記憶されたURL情報を参照して、URL要求受信部312により受信されたURL要求に含まれるアプリIDに対応付けられたURLを特定する。そして、URL要求に対する応答として、その特定したURLをMFP1に送信する。
以上に説明したライセンス管理サーバ情報管理装置3が有する機能(URL要求受信部312、URL送信部313等)は、ライセンス管理サーバ情報管理装置3のCPU301が、ROM302等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えばライセンス管理サーバ情報管理装置3が有する機能のうちの少なくとも一部が専用のハードウェア回路(例えば半導体集積回路等)で実現されてもよい。また、上述の記憶部311は、例えば、ROM302等により実現可能である。
次に、ライセンス管理サーバ4の構成について説明する。図17は、ライセンス管理サーバ4が有する機能の一例を示す図である。図17に示すように、ライセンス管理サーバ4は、記憶部411と、ライセンスファイル要求受信部412と、ライセンスファイル送信部413とを有する。説明の便宜上、図17では、本実施形態に関する機能を主に例示しているが、ライセンス管理サーバ4が有する機能は、これらに限られるものではない。
記憶部411は、「第2の記憶部」の一例であり、ライセンス管理サーバ4が発行する1以上のライセンスファイルを記憶する。例えばライセンスファイルは、図10の態様で表すこともできるが、この例では、複数のライセンス管理サーバ4の各々が発行するライセンスファイルは、異なる形態で定義されている。
ライセンスファイル要求受信部412は、「第2の要求情報受信部」の一例であり、前述のライセンスファイル要求(ライセンスキーを含み、かつ、該ライセンスキーを含むライセンスファイルを要求する情報)をMFP1から受信する。
ライセンスファイル送信部413は、「使用権限情報送信部」の一例であり、ライセンスファイル要求受信部412により受信されたライセンスファイル要求に含まれるライセンスキーを含むライセンスファイルをMFP1へ送信する。より具体的には、ライセンスファイル送信部413は、記憶部411に記憶されたライセンスファイルのうち、ライセンスファイル要求受信部412により受信されたライセンスファイル要求に含まれるライセンスキーを含むライセンスファイルを特定する。そして、ライセンスファイル要求に対する応答として、その特定したライセンスファイルをMFP1に送信する。
以上に説明したライセンス管理サーバ4が有する機能(ライセンスファイル要求受信部412、ライセンスファイル送信部413等)は、ライセンス管理サーバ4のCPU301が、ROM302等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えばライセンス管理サーバ4が有する機能のうちの少なくとも一部が専用のハードウェア回路(例えば半導体集積回路等)で実現されてもよい。また、上述の記憶部411は、例えば、ROM302等により実現可能である。
図18は、本実施形態の情報処理システム100の動作手順の一例を示すシーケンス図である。ここでは、前述のアプリケーション一覧画面から選択された何れかのアプリケーションのインストール画面(図8参照)がMFP1の操作パネル27に表示されていることを前提とする。なお、この例では、無償のアプリケーションの場合は、アプリケーション一覧画面を作るXML情報の中に、該アプリケーションに対応するライセンスキー(この例では無償のアプリケーションに共通のライセンスキー)が記述されるので、例えば無償のアプリケーションのインストールボタン7が押下された場合、ブラウザアプリは、該アプリケーションに対応するライセンスキーを含み、かつ、無償のアプリケーションであることを示す情報を、該インストールボタン7に貼り付けられたインストール命令に付加した命令情報を操作部20のOSに通知することができる。一方、有償のアプリケーションの場合は、アプリケーション一覧画面を作るXML情報の中に、該アプリケーションに対応するライセンスキーは記述されないので、有償のアプリケーションのインストールボタン7が押下された場合、ブラウザアプリは、有償のアプリケーションであることを示す情報を、該インストールボタン7に貼り付けられたインストール命令に付加した命令情報を操作部20のOSに通知することができる。操作部20のOSは、操作部20の各アプリケーションに対して当該命令情報をブロードキャストし、インストーラが、このブロードキャストされた命令情報に含まれるインストール命令に反応する。インストーラは、通知された命令情報を参照することで、インストール対象のアプリケーションが有償であるか無償であるかを確認することができる。
以下では、アプリケーション一覧画面から選択された何れかのアプリケーションは有償のアプリケーションである場合を例に挙げて説明する。ここでは、これからMFP1にインストールするアプリケーションに対応するライセンスキーを事前に把握していることを前提とする。例えばアプリケーションの管理者から、該アプリケーションを購入したユーザに対して、郵送やメール等でライセンスキーを通知する形態であってもよい。
ユーザが、該インストール画面に表示された前述の実行指示ボタン41を押下すると(ステップS1)、インストーラ(インストール制御部115)は、選択されたアプリケーションのインストールを実行する前に、ライセンスキーの入力を促す画面(例えば図12のような画面)を操作パネル27に表示する(ステップS2)。ユーザは、該画面からライセンスキーを入力する操作を行う(ステップS3)。
なお、例えばアプリケーション一覧画面から選択された何れかのアプリケーションが無償のアプリケーションの場合は、前述したように、インストーラは該無償のアプリケーションのライセンスキーを把握することができるので、ライセンスキーの入力を促す画面を表示する必要は無い。つまり、この場合は、図19に示すように、前述のステップS2およびステップS3は省略される。
図18に戻って説明を続ける。インストーラ(インストール制御部115)は、ライセンスキーの入力を受け付けた後に、インストール命令に含まれているアプリIDで識別されるアプリケーションを要求する前述のアプリケーション要求をアプリケーションサーバ2へ送信する(ステップS4)。アプリケーション要求を受信したアプリケーションサーバ2は、アプリケーション保持部213に保持されたアプリケーションのうち、該受信したアプリケーション要求に含まれるアプリIDで識別されるアプリケーションを特定する(ステップS5)。そして、アプリケーションサーバ2は、ステップS5で特定したアプリケーションをMFP1へ送信する(ステップS6)。
アプリケーション要求に対する応答として、アプリケーションサーバ2からアプリケーションを受信したインストーラ(インストール制御部115)は、その受信したアプリケーションをインストールする制御を行う(ステップS7)。次に、インストーラ(URL要求送信部131)は、ステップS7でインストールしたアプリケーションのアプリIDを含む前述のURL要求を、ライセンス管理サーバ情報管理装置3へ送信する(ステップS8)。URL要求を受信したライセンス管理サーバ情報管理装置3は、記憶部311に記憶されたURL情報を参照して、該受信したURL要求に含まれるアプリIDに対応付けられたURLを特定する(ステップS9)。そして、URL要求に対する応答として、ステップS9で特定したURLをMFP1に送信する(ステップS10)。
URL要求に対する応答として、ライセンス管理サーバ情報管理装置3からURLを受信したインストーラ(ライセンスファイル要求送信部141)は、その受信したURLで特定されるライセンス管理サーバ4に対して、上述のステップS3で入力を受け付けたライセンスキーを含むライセンスファイルを要求する前述のライセンスファイル要求を送信する(ステップS11)。ライセンスファイル要求を受信したライセンス管理サーバ4は、記憶部411に記憶されたライセンスファイルのうち、該受信したライセンスファイル要求に含まれるライセンスキーを含むライセンスファイルを特定する(ステップS12)。そして、ライセンスファイル要求に対する応答として、ステップS12で特定したライセンスファイルをMFP1に送信する(ステップS13)。
ライセンスファイル要求に対する応答として、ライセンス管理サーバ4からライセンスファイルを受信した後、インストーラは、上述のステップS7でインストールしたアプリケーションのアプリIDと、該受信したライセンスファイルと、上述のステップS10で受信したURLとを対応付けたライセンス情報を生成して記憶部118に記憶する(ステップS14)。
その後、ユーザが、ステップS7でインストールされたアプリケーション(以下、「インストール済みのアプリケーション」と称する場合がある)を起動する操作(例えば操作画面上の対応するアイコンを押下する操作等)を行うと(ステップS15)、インストール済みのアプリケーションは、インストーラに対して、該アプリケーションのライセンスファイルの取得を要求する(ステップS16)。この例では、この要求にはアプリIDが少なくとも含まれている。この要求を受けたインストーラは、記憶部118に記憶されたライセンス情報を参照して、該要求に含まれるアプリIDに対応付けられたライセンスファイルを特定する(ステップS17)。そして、インストーラは、ステップS17で特定したライセンスファイルを、要求元のインストール済みのアプリケーションに送信する(ステップS18)。
インストーラからライセンスファイルを受信したインストール済みのアプリケーション(更新制御部120)は、現時点が、該受信したライセンスファイルに含まれる有効期間情報が示す期間から外れているか否かを確認する(ステップS19)。有効期間内であれば、そのままインストール済みのアプリケーションによる処理が実行されることになる。以下では、有効期間が切れていた場合を例に挙げて説明する。この場合、インストール済みのアプリケーション(更新制御部120)は、前述のライセンス更新画面を操作パネル27に表示する制御を行う(ステップS20)。
ユーザが、ライセンス更新画面に表示された更新ボタン121(図11参照)を押下すると(ステップS21)、インストール済みのアプリケーション(更新制御部120)は、前述のライセンスキー入力画面を操作パネル27に表示する制御を行う(ステップS22)。
そして、ユーザが、ライセンス更新画面に対してライセンスキー(ステップS15で起動させたインストール済みのアプリケーションに対応するライセンスキー)を入力すると(ステップS23)、インストール済みのアプリケーション(更新制御部120)は、その入力されたライセンスキーを含む前述のライセンスファイル更新要求をインストーラに送信し(ステップS24)、インストーラは、そのライセンスファイル更新要求をライセンス管理サーバ4へ送信する(ステップS25)。
ライセンスファイル更新要求を受信したライセンス管理サーバ4は、記憶部411に記憶されたライセンスファイルのうち、該受信したライセンスファイル更新要求に含まれるライセンスキーを含むライセンスファイル(最新のライセンスファイル)を特定する(ステップS26)。そして、ライセンスファイル更新要求に対する応答として、ステップS26で特定した最新のライセンスファイルをMFP1に送信する(ステップS27)。
ライセンスファイル更新要求に対する応答として、ライセンス管理サーバ4から最新のライセンスファイルを受信したインストーラ(更新制御部120)は、記憶部118に記憶されたライセンス情報に含まれる更新対象のライセンスファイル(ステップS15で起動したアプリケーションのライセンスファイル)を、ライセンスファイル更新要求に対する応答としてライセンス管理サーバ4から受信した最新のライセンスファイルに更新し(ステップS28)、その旨を、インストール済みのアプリケーションに通知する。この通知を受けたインストール済みのアプリケーションは、ライセンスファイルの更新が完了したことを通知する画面を操作パネル27に表示する(ステップS29)。
なお、この例では、前述の更新制御部120の機能は、インストール済みのアプリケーションおよびインストーラにより提供されているが、これに限らず、例えば前述の更新制御部120の機能はインストーラのみによって提供される形態であってもよい。この場合、上述のステップS19、ステップS20、ステップS22などの処理はインストーラによって実行されることになる。
図20は、アプリケーション一覧画面から選択された何れかのアプリケーションのインストール画面に表示された前述の実行指示ボタン41が押下された場合のMFP1の動作例を示すフローチャートである。なお、各ステップの具体的な内容は、上記構成および上記シーケンスの説明で述べたとおりであるので、以下では、詳細な説明は適宜に省略している。
図20に示すように、まずMFP1(インストーラ)は、アプリケーションサーバ2に対して、前述のアプリケーション要求を送信する(ステップS101)。ステップS101で送信したアプリケーション要求に対する応答として、アプリケーションサーバ2からアプリケーションを受信しなかった場合(ステップS102:No)、つまり、押下されたインストールボタン7に貼り付けられたインストール命令に含まれるアプリIDで識別されるアプリケーションのダウンロードが失敗した場合、MFP1(インストーラ)は、エラーを表示する画面を操作パネル27に表示する(ステップS103)。
一方、アプリケーション要求に対する応答として、アプリケーションサーバ2からアプリケーションを受信した場合(ステップS102:Yes)、つまり、押下されたインストールボタン7に貼り付けられたインストール命令に含まれるアプリIDで識別されるアプリケーションのダウンロードが成功した場合、MFP1(インストーラ)は、その受信したアプリケーションをインストールする制御を行う(ステップS104)。
ステップS104のインストールが失敗した場合(ステップS105:No)、MFP1(インストーラ)は、エラーを表示する画面を操作パネル27に表示する(ステップS106)。ステップS104のインストールが成功した場合(ステップS105:Yes)、MFP1は、前述のURL要求をライセンス管理サーバ情報管理装置3へ送信する(ステップS107)。
ステップS107で送信したURL要求に対する応答として、ライセンス管理サーバ情報管理装置3からURLを受信しなかった場合(ステップS108:No)、MFP1(インストーラ)は、エラーを表示する画面を操作パネル27に表示する(ステップS109)。ステップS107で送信したURL要求に対する応答として、ライセンス管理サーバ情報管理装置3からURLを受信した場合(ステップS108:Yes)、MFP1(インストーラ)は、その受信したURLで特定されるライセンス管理サーバ4に対して、前述のライセンスファイル要求を送信する(ステップS110)。
ステップS110で送信したライセンスファイル要求に対する応答として、ライセンス管理サーバ4からライセンスファイルを受信しなかった場合(ステップS111:No)、MFP1(インストーラ)は、エラーを表示する画面を操作パネル27に表示する(ステップS112)。ステップS110で送信したライセンスファイル要求に対する応答として、ライセンス管理サーバ4からライセンスファイルを受信した場合(ステップS111:Yes)、MFP1(インストーラ)は、ステップS105でインストールが成功したアプリケーションのアプリIDと、ステップS11でライセンス管理サーバ4から受信したライセンスファイルと、ステップS108で受信したURLとを対応付けたライセンス情報を生成して記憶部118に記憶する(ステップS113)。
図21は、MFP1にインストール済みの何れかのアプリケーションが起動開始した場合のMFP1の動作例を示すフローチャートである。なお、各ステップの具体的な内容は、上記構成および上記シーケンスの説明で述べたとおりであるので、以下では、詳細な説明は適宜に省略している。
図21に示すように、起動を開始したアプリケーション(説明の便宜上、以下の説明では「起動アプリケーション」と称する)は、インストーラから、該アプリケーションのライセンスファイルを取得する(ステップS121)。次に、起動アプリケーションは、現時点が、ステップS121で取得したライセンスファイルに含まれる有効期間情報が示す期間内か否かを確認する(ステップS122)。ステップS122の結果が肯定の場合(ステップS122:Yes)、起動アプリケーションはそのまま処理を継続する。ステップS122の結果が否定の場合(ステップS122:No)、起動アプリケーションは、前述のライセンス更新画面を操作パネル27に表示する(ステップS123)。
ライセンス更新画面に表示された更新ボタン121の押下を受け付けた場合(ステップS124:Yes)、起動アプリケーションは前述のライセンスキー入力画面を操作パネル27に表示する(ステップS125)。そして、ライセンスキーの入力を受け付けた場合(ステップS126:Yes)、起動アプリケーションは、インストーラを介して、前述のライセンスファイル更新要求を、ライセンス管理サーバ4へ送信する(ステップS127)。例えば起動アプリケーションは、ステップS121でライセンスファイルを取得する際に、インストーラから、起動アプリケーションを識別するアプリIDを含むライセンス情報に含まれたURLを取得することができる。これにより、前述のライセンスファイル更新要求を送信するライセンス管理サーバ4を特定することができる。
ステップS127で送信したライセンスファイル更新要求に対する応答として、ライセンス管理サーバ4からライセンスファイルを受信しなかった場合(ステップS128:No)、MFP1(インストーラ)は、エラーを表示する画面を操作パネル27に表示する(ステップS129)。ステップS127で送信したライセンスファイル更新要求に対する応答として、ライセンス管理サーバ4からライセンスファイルを受信した場合(ステップS128:Yes)、MFP1(インストーラ)は、記憶部118に記憶された更新対象のライセンスファイル(起動アプリケーションのライセンス情報に含まれるライセンスファイル)を、ステップS128でライセンス管理サーバ4から受信したライセンスファイルに更新する(ステップS130)。
以上に説明したように、本実施形態では、MFP1は、アプリケーションをインストールした後に、アプリIDとライセンス管理サーバ4のURLとを対応付けたURL情報を有するライセンス管理サーバ情報管理装置(第1のサーバ)に対して、該インストールしたアプリケーションのアプリIDを含み、かつ、該インストールしたアプリケーションのライセンス情報を発行するライセンス管理サーバ4(第2のサーバ)のURLを要求するURL要求を送信する。そして、MFP1は、URL要求に対する応答として、該URL要求に含まれるアプリIDに対応付けられたURLをライセンス管理サーバ情報管理装置3から受信する。これにより、MFP1にインストールされた複数のアプリケーションの各々のライセンス情報の発行元が異なる場合であっても、各アプリケーションのライセンス情報の発行元のライセンス管理サーバ4を特定することが可能になる。
ここでは、各ライセンス管理サーバ4は、ライセンスキーを含むライセンスファイルを保持しており、MFP1は、ライセンス管理サーバ情報管理装置3から受信したURLで特定されるライセンス管理サーバ4に対して、該インストールしたアプリケーションに対応するライセンスキーを含み、かつ、該ライセンスキーを含むライセンスファイルを要求するライセンスファイル要求を送信する。そして、ライセンスファイル要求に対する応答として、該ライセンスファイル要求に含まれるライセンスキーを含むライセンスファイルをライセンス管理サーバ4から受信する。これにより、該インストールしたアプリケーションのアプリIDと、ライセンス管理サーバ4から受信したライセンファイルとを少なくとも対応付けたライセンス情報を管理することができる。したがって、インストールされた複数のアプリケーションの各々のライセンス情報の発行元が異なる場合であっても、これらのライセンス情報を一括して管理することができる。
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
(1)変形例1
例えば上述の実施形態では、MFP1は、新たにアプリケーションがインストールされると、該アプリケーションのライセンスファイルを取得する処理(該アプリケーションの機能を利用できる状態にするためのアクティベーション処理であると考えてもよい)を同時に実行しているが、これに限らず、例えばインストール直後にはアクティベーション処理を行わずに、インストール済みのアプリケーションが最初に起動する際に、アクティベーション処理を行う構成であってもよい。図22は、本変形例の情報処理システム100の動作手順の一例を示すシーケンス図である。ここでは、MFP1の操作パネル27上に、前述のアプリケーション一覧画面から選択された何れかのアプリケーションのインストール画面が表示されていることを前提とする。図22に示すステップS41〜ステップS48の処理内容は、図18に示すステップS1、ステップS4〜ステップS10の処理内容と同様であるため、詳細な説明は省略する。
ステップS48の後、インストーラは、ステップS45でインストールしたアプリケーションのアプリIDと、ステップS48でライセンス管理サーバ情報管理装置3から受信したURLとを対応付けて記憶部118に記憶する(ステップS49)。
その後、ユーザが、ステップS46でインストールされたアプリケーション(以下、「インストール済みのアプリケーション」と称する場合がある)を起動する操作を行うと(ステップS50)、インストール済みのアプリケーションは、インストーラに対して、該アプリケーションのライセンスファイルの取得を要求する(ステップS51)。この例では、この要求にはアプリIDが少なくとも含まれている。この要求を受けたインストーラは、記憶部118に記憶されたライセンス情報を参照して、該要求に含まれるアプリIDに対応付けられたライセンスファイルを特定する(ステップS52)。この例では、ステップS46でインストールされたアプリケーションのライセンスファイルは未取得であるため、インストーラは、該アプリケーションに対して、ライセンスファイルは未取得である旨を通知する(ステップS53)。この際、インストーラは、該アプリケーションに対して、該アプリケーションのアプリIDに対応付けられたURLを併せて通知する。
インストーラから上述の通知を受けたインストール済みのアプリケーションは、ライセンスファイルを取得する指示を受け付けるライセンスファイル取得画面を操作パネル27に表示する(ステップS54)。図23は、ライセンスファイル取得画面の一例を示す図である。図23の例では、ライセンスファイル取得画面には、ライセンスファイルを取得する指示を受け付けるための取得ボタン123が表示されている。
図22の説明を続ける。ユーザが、ライセンスファイル取得画面に表示された取得ボタン123(図23参照)を押下すると(ステップS55)、インストール済みのアプリケーションは、ライセンスキーの入力を促す画面(例えば図12のような画面)を操作パネル27に表示する(ステップS56)。ユーザは、該画面からライセンスキーを入力する操作を行う(ステップS57)。そして、インストール済みのアプリケーションは、ライセンスキーの入力を受け付けた後に、ステップS54でインストーラから通知されたURLで特定されるライセンス管理サーバ4に対して、入力を受け付けたライセンスキーを含むライセンスファイルを要求する前述のライセンスファイル要求を送信する(ステップS58)。ライセンスファイル要求を受信したライセンス管理サーバ4は、記憶部411に記憶されたライセンスファイルのうち、該受信したライセンスファイル要求に含まれるライセンスキーを含むライセンスファイルを特定する(ステップS59)。そして、ライセンスファイル要求に対する応答として、ステップS59で特定したライセンスファイルをMFP1に送信する(ステップS60)。
ライセンスファイル要求に対する応答として、ライセンス管理サーバ4からライセンスファイルを受信したインストール済みのアプリケーションは、ライセンスファイルの取得が完了したことを通知する画面を操作パネル27に表示する(ステップS61)。ステップS61の後、インストール済みのアプリケーションは、ライセンス管理サーバ4から受信したライセンスファイルをインストーラへ送信する(ステップS62)。インストーラは、上述のステップS45でインストールしたアプリケーションのアプリIDと、ステップS62で受信したライセンスファイルと、上述のステップS48で受信したURLとを対応付けたライセンス情報を生成して記憶部118に記憶する(ステップS63)。
要するに、本変形例では、MFP1が有する上述のライセンスファイル取得部117の機能が、インストーラではなくてインストール済みのアプリケーションにより提供されていると考えることができる。
(2)変形例2
図24は、本変形例のMFP1が有する機能の一例を示す図である。図24に示すように、MFP1は、設定制御部150と保存制御部140とをさらに有する。また、本変形例では、記憶部118は、操作部20が有する操作部側記憶部171と、本体10が有する本体側記憶部172とを含む。操作部側記憶部171は例えばフラッシュメモリ24などで構成され、本体側記憶部172は例えばHDD14などで構成される。
設定制御部150は、通信設定部151と保存先設定部152とを含む。通信設定部151は、ユーザの指示に従って、ライセンス管理サーバ情報管理装置3およびライセンス管理サーバ4の各々と接続する場合に、本体10側の通信I/F15および操作部20側の通信I/F25のうちの何れを利用するかを設定する。つまり、ライセンス管理サーバ情報管理装置3およびライセンス管理サーバ4の各々との通信方法を設定すると考えることもできる。URL取得部116(インストーラ)は、通信設定部151による設定に従い、本体10側の通信I/F15および操作部20側の通信I/F25のうちの何れかを利用して、ライセンス管理サーバ情報管理装置3と通信する。同様に、ライセンスファイル取得部117(インストーラ)は、通信設定部151による設定に従い、本体10側の通信I/F15および操作部20側の通信I/F25のうちの何れかを利用して、ライセンス管理サーバ4と通信する。
通信設定部151は、ユーザから、通信を設定するための通信設定画面を呼び出す操作を受け付けた場合、図25に示すようなデフォルトの通信設定画面を操作パネル27に表示する制御を行う。通信設定画面は、通信インタフェースの設定として、操作部20側の通信I/F25に対応する「Wi−Fi(登録商標)」、および、本体10側の通信I/F15に対応する「本体ネットワーク」のうちの何れかを選択するためのラジオボタンを表示する。なお、ここでは、操作部20側の通信I/F25は、Wi−Fiの規格に従った無線通信を行うためのインタフェースであるが、これに限られるものではない。
図25の例では(デフォルトの通信設定画面においては)、「本体ネットワーク」が選択されている状態になっている。例えばユーザが、デフォルトの通信設定画面から「Wi−Fi」を選択する操作を行った場合は、図26に示すように、「本体ネットワーク」の選択は解除される。
図24に戻って説明を続ける。保存先設定部152は、操作部20および本体10のうちの少なくとも一方を、上述のライセンス情報(第2の対応情報)の保存先として設定する。より具体的には、保存先設定部152は、ユーザの指示に従って、操作部側記憶部171および本体側記憶部172のうちの少なくとも一方を、ライセンス情報の保存先として設定する。この例では、上述の通信設定画面による設定が完了した後、保存先設定部152は、ライセンス情報の保存先を設定するための保存先設定画面を操作パネル27に表示する制御を行うが、保存先設定画面の表示契機はこれに限られるものではない。例えば保存先設定部152は、ユーザから所定の操作(保存先設定画面を呼び出す操作)を受け付けた場合に、保存先設定画面を表示する制御を行う形態であってもよい。
図27は、デフォルトの保存先設定画面の一例を示す図である。この例では、保存先設定画面は、リソース(この例では上述のライセンス情報)の保存先として、操作部20および本体10の両方に対応する「二重保存」、操作部20に対応する「操作部」、本体10に対応する「本体」のうちの何れかを選択するためのラジオボタンを表示する。デフォルトの保存先設定画面においては、「二重保存」が選択されている状態になっている。例えばユーザが、デフォルトの保存先設定画面から「操作部」を選択する操作を行った場合は、図28に示すように「二重保存」の選択は解除され、「操作部」のみが選択された状態になる。また例えばユーザが、デフォルトの保存先設定画面から「本体」をする操作を行った場合は、図29に示すように「二重保存」の選択は解除され、「本体」のみが選択された状態になる。
図30は、設定制御部150の動作例を示すフローチャートである。図30に示すように、まず通信設定部151は、ユーザから、通信設定画面を呼び出す操作を受け付けた場合、図25に示すようなデフォルトの通信設定画面を操作パネル27に表示する制御を行う(ステップS130)。そして、通信設定部151は、ユーザの指示に従って、ライセンス管理サーバ情報管理装置3およびライセンス管理サーバ4の各々との通信方法を設定する(ステップS131)。次に、保存先設定部152は、図27に示すようなデフォルトの保存先設定画面を操作パネル27に表示する制御を行う(ステップS132)。そして、保存先設定部152は、ユーザの指示に従って、ライセンス情報の保存先を設定する(ステップS133)。
図24に戻って説明を続ける。保存制御部160は、保存先設定部152による設定に従い、上述のライセンス情報(第2の対応情報)を保存する制御を行う。より具体的には、保存制御部160は、保存先設定部152により、操作部側記憶部171および本体側記憶部172の何れか一方がライセンス情報の保存先として設定されていた場合は、該設定されていた方にライセンス情報を保存する制御を行い、操作部側記憶部171および本体側記憶部172の両方がライセンス情報の保存先として設定されていた場合は、操作部側記憶部171および本体側記憶部172の各々にライセンス情報を保存(二重保存)する制御を行う。
図31は、本変形例の情報処理システム100の動作手順の一例を示すシーケンス図である。図31に示すステップS71〜ステップS77の処理内容は、図18に示すステップS1〜ステップS7の処理内容と同様であるので詳細な説明は省略する。図31に示すステップS77の後のステップS78において、インストーラは、通信設定部151による設定(通信設定)を確認する。ここでは、通信設定部151により「本体ネットワーク」が設定されている(本体10側の通信I/F15を利用して、ライセンス管理サーバ情報管理装置3およびライセンス管理サーバ4の各々と接続することが設定されている)場合を例に挙げて説明する。インストーラ(URL要求送信部131)は、ステップS77でインストールしたアプリケーションのアプリIDを含む前述のURL要求をライセンス管理サーバ情報管理装置3へ送信することを本体10側の通信I/F15に依頼し(ステップS79)、この依頼を受けた通信I/F15は、ライセンス管理サーバ情報管理装置3へURL要求を送信する(ステップS80)。URL要求URL要求を受信したライセンス管理サーバ情報管理装置3は、記憶部311に記憶されたURL情報を参照して、該受信したURL要求に含まれるアプリIDに対応付けられたURLを特定する(ステップS81)。そして、URL要求に対する応答として、ステップS81で特定したURLをMFP1に送信する(ステップS82)。本体10側の通信I/F15は、ライセンス管理サーバ情報管理装置3からURLを受信すると、その受信したURLをインストーラへ送信する(ステップS83)。
URLを受信したインストーラ(ライセンスファイル要求送信部141)は、上述のステップS73で入力を受け付けたライセンスキーを含むライセンスファイルを要求する前述のライセンスファイル要求を、その受信したURLで特定されるライセンス管理サーバ4へ送信することを本体10側の通信I/F15に依頼し(ステップS84)、この依頼を受けた通信I/F15は、ライセンス管理サーバ4へライセンスファイル要求を送信する(ステップS85)。ライセンスファイル要求を受信したライセンス管理サーバ4は、記憶部411に記憶されたライセンスファイルのうち、該受信したライセンスファイル要求に含まれるライセンスキーを含むライセンスファイルを特定する(ステップS86)。そして、ライセンスファイル要求に対する応答として、ステップS86で特定したライセンスファイルをMFP1に送信する(ステップS87)。
本体10側の通信I/F15は、ライセンス管理サーバ4からライセンスファイルを受信すると、その受信したライセンスファイルをインストーラへ送信する(ステップS88)。インストーラ(保存制御部160)は、上述のステップS77でインストールしたアプリケーションのアプリIDと、上述のステップS88で受信したライセンスファイルと、上述のステップS83で受信したURLとを対応付けたライセンス情報を生成する(ステップS89)。
次に、インストーラ(保存制御部160)は、保存先設定部152による設定(保存先設定)を確認する(ステップS90)。以下、「二重保存」が設定されている場合、保存先が操作部20に設定されている場合、保存先が本体10に設定されている場合の各々について説明する。
まず「二重保存」が設定されている場合について説明する。この場合、インストーラ(保存制御部160)は、操作部側記憶部171にライセンス情報を保存し(ステップS91)、本体側記憶部172にもライセンス情報を保存する制御を行う(ステップS92)。次に、保存先が「操作部」に設定されている場合について説明する。この場合、インストーラ(保存制御部160)は、操作部側記憶部171にライセンス情報を保存する制御を行う(ステップS93)。次に、保存先が「本体」に設定されている場合について説明する。この場合、インストーラ(保存制御部160)は、本体側記憶部172にライセンス情報を保存する制御を行う(ステップS94)。
図32は、通信設定部151により「Wi−Fi」が設定されている(操作部20側の通信I/F25を利用して、ライセンス管理サーバ情報管理装置3およびライセンス管理サーバ4の各々と接続することが設定されている)場合の動作手順の一例を示すシーケンス図である。ステップS201〜ステップS207の処理内容は、図31のステップS71〜ステップS77の処理内容と同様である。ステップS207の後のステップS208において、インストーラは、通信設定部151による設定(通信設定)を確認する。上述したように、ここでは、通信設定部151により「Wi−Fi」が設定されている。インストーラ(URL要求送信部131)は、ステップS207でインストールしたアプリケーションのアプリIDを含む前述のURL要求をライセンス管理サーバ情報管理装置3へ送信することを操作部20側の通信I/F25に依頼し(ステップS209)、この依頼を受けた通信I/F25は、ライセンス管理サーバ情報管理装置3へURL要求を送信する(ステップS210)。URL要求URL要求を受信したライセンス管理サーバ情報管理装置3は、記憶部311に記憶されたURL情報を参照して、該受信したURL要求に含まれるアプリIDに対応付けられたURLを特定する(ステップS211)。そして、URL要求に対する応答として、ステップS211で特定したURLをMFP1に送信する(ステップS212)。操作部20側の通信I/F25は、ライセンス管理サーバ情報管理装置3からURLを受信すると、その受信したURLをインストーラへ送信する(ステップS213)。
URLを受信したインストーラ(ライセンスファイル要求送信部141)は、上述のステップS203で入力を受け付けたライセンスキーを含むライセンスファイルを要求する前述のライセンスファイル要求を、その受信したURLで特定されるライセンス管理サーバ4へ送信することを操作部20側の通信I/F25に依頼し(ステップS214)、この依頼を受けた通信I/F25は、ライセンス管理サーバ4へライセンスファイル要求を送信する(ステップS215)。ライセンスファイル要求を受信したライセンス管理サーバ4は、記憶部411に記憶されたライセンスファイルのうち、該受信したライセンスファイル要求に含まれるライセンスキーを含むライセンスファイルを特定する(ステップS216)。そして、ライセンスファイル要求に対する応答として、ステップS216で特定したライセンスファイルをMFP1に送信する(ステップS217)。操作部20側の通信I/F25は、ライセンス管理サーバ4からライセンスファイルを受信すると、その受信したライセンスファイルをインストーラへ送信する(ステップS218)。
ステップS219〜ステップS224の処理内容は、図31に示すステップS89〜ステップS94の処理内容と同様であるので詳細な説明は省略する。なお、本変形例の構成は、上述の変形例1に適用することも可能である。
また、上述した実施形態の情報処理システム100(MFP1、アプリケーションサーバ2、ライセンス管理サーバ情報管理装置3、ライセンス管理サーバ4等)で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ROM等に予め組み込んで提供するように構成してもよい。