(57)【特許請求の範囲】
【請求項１】
インストール済みのアプリケーションを識別するアプリケーション識別情報ごとに、前記アプリケーションの使用権限に関する使用権限情報を対応付けた対応情報を記憶する対応情報記憶部と、
前記インストール済みのアプリケーションのうち有償のアプリケーションを利用する操作に応じて、前記有償のアプリケーションから、前記アプリケーション識別情報を含み、かつ、前記使用権限情報を要求する第１の要求を受け付けた場合に、前記対応情報に基づいて、前記第１の要求に含まれる前記アプリケーション識別情報に対応付けられた前記使用権限情報を特定する特定部と、
前記第１の要求の要求元の前記有償のアプリケーションに対して、前記特定部により特定された前記使用権限情報を通知する通知部と、
前記使用権限情報を更新する制御を行う更新制御部と、
を備え、
前記使用権限情報は、前記有償のアプリケーションを使用することができる期間を示す有効期間情報を少なくとも含み、
前記第１の要求に対する応答として前記使用権限情報を取得した前記有償のアプリケーションは、現在の時刻と、その取得した前記使用権限情報に含まれる前記有効期間情報とに基づいて、前記使用権限情報を更新する必要があるか否かを判断し、
前記有償のアプリケーションは、前記使用権限情報を更新する必要があると判断した場合、前記使用権限を認証するための使用権限認証情報の入力を受け付け、その受け付けた前記使用権限認証情報を含み、かつ、前記使用権限情報の更新を要求する第２の要求を、前記更新制御部へ送信し、
前記更新制御部は、前記使用権限情報を管理するサーバに対して、前記有償のアプリケーションから受信した前記第２の要求を送信し、その応答として取得した最新の前記使用権限情報を反映させて、前記有償のアプリケーションの使用権限に関する使用権限情報を対応付けた前記対応情報を更新する制御を行う、
情報処理装置。
【請求項２】
前記有償のアプリケーションは、
前記使用権限情報を更新する必要があると判断した場合、前記使用権限情報を更新する指示を受け付ける第１の画面を表示する制御を行い、
前記使用権限情報を更新する指示を前記第１の画面から受け付けた場合、前記使用権限を認証するための使用権限認証情報の入力を受け付ける第２の画面を表示する制御を行う、
請求項１に記載の情報処理装置。
【請求項３】
前記更新制御部は、前記第２の要求を受信したときに、前記情報処理装置が他の処理を実行中の場合は、前記使用権限情報を更新する制御を行わない、
請求項１または２に記載の情報処理装置。
【請求項４】
前記更新制御部は、前記第２の要求に含まれる前記使用権限認証情報が不正である場合は、前記使用権限情報を更新する制御を行わない、
請求項１乃至３のうちの何れか１項に記載の情報処理装置。
【請求項５】
前記更新制御部は、前記第２の要求を受信したときに、前記情報処理装置と前記サーバとが接続されていない場合は、前記使用権限情報を更新する制御を行わず、その旨を、前記第２の要求の要求元の前記アプリケーションへ通知し、
前記通知を受けた前記アプリケーションは、前記サーバと接続できないために前記使用権限情報を更新できない旨を示すエラー画面を表示する制御を行う、
請求項１乃至４のうちの何れか１項に記載の情報処理装置。
【請求項６】
操作を受け付ける操作部と、
前記操作部で受け付けた前記操作に応じた動作を行う本体と、を備え、
前記操作部は、前記アプリケーションと、前記アプリケーションからの要求を受け付け、受け付けた要求に応じた処理を行う機能を提供するためのソフトウェアと、を有し、
前記本体は、前記本体が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアを有し、
前記更新制御部は、前記操作部が有する前記ソフトウェアにより提供され、
前記アプリケーションは、前記本体が有する前記ソフトウェアにより提供されるインタフェース機能を介して、前記本体のハードウェア資源を利用する、
請求項１乃至５のうちの何れか１項に記載の情報処理装置。
【請求項７】
前記更新制御部は、前記第２の要求を受信したときに、前記操作部および前記本体の各々の他のソフトウェアに対して、何れの処理も実行していない状態であるか否かを問い合わせる問い合わせ情報を送信し、所定の処理を実行中であることを示す応答を受信した場合は、前記使用権限情報を更新する制御を行わない、
請求項６に記載の情報処理装置。
【請求項８】
アプリケーションを情報処理装置にインストール可能なアプリケーションを一覧表示するアプリケーション一覧画面において、
有償のアプリケーションが選択された場合には、使用権限情報の入力を促す入力画面を表示し、
無償のアプリケーションが選択された場合には、使用権限情報を、前記アプリケーション一覧画面の情報から自動的に取得する、
請求項１乃至７のうちの何れか１項に記載の情報処理装置。
【請求項９】
前記情報処理装置は、
前記アプリケーション一覧画面を前記情報処理装置に提供するアプリマーケットサーバと、
前記情報処理装置が、前記アプリケーション一覧画面から選択したアプリケーションを利用するための条件を満たしているか否かを判断し、条件を満たしている場合は、そのアプリケーションを管理しているアプリケーションサーバの所在を示すＵＲＬを前記情報処理装置に送信するコンポーネントサーバと、
アプリケーション一覧画面から選択したアプリケーションを前記情報処理装置にダウンロードするために、前記コンポーネントサーバから受信したＵＲＬを指定してアクセスするアプリケーションサーバと、
前記使用権限情報を含み、かつ、該使用権限情報に対応するライセンスファイルを要求するライセンスファイル要求を前記情報処理装置から受信すると、前記使用権限情報に対応するライセンスファイルを前記情報処理装置に送信するライセンス管理サーバと、
をネットワークを介して接続する、
請求項８に記載の情報処理装置。
【請求項１０】
コンピュータに、
インストール済みのアプリケーションのうち有償のアプリケーションを利用する操作に応じて、前記有償のアプリケーションを識別するアプリケーション識別情報を含み、かつ、前記アプリケーションの使用権限に関する使用権限情報を要求する第１の要求を受け付けた場合に、前記アプリケーション識別情報ごとに前記使用権限情報を対応付けた対応情報を記憶する対応情報記憶部に記憶された前記対応情報に基づいて、前記第１の要求に含まれる前記アプリケーション識別情報に対応付けられた前記使用権限情報を特定する特定ステップと、
前記第１の要求の要求元の前記アプリケーションに対して、前記特定ステップにより特定された前記使用権限情報を通知する通知ステップと、
前記使用権限情報を更新する制御を行う更新制御ステップと、
を実行させ、
前記使用権限情報は、前記有償のアプリケーションを使用することができる期間を示す有効期間情報を少なくとも含み、
前記第１の要求に対する応答として前記使用権限情報を取得した前記有償のアプリケーションは、現在の時刻と、その取得した前記使用権限情報に含まれる前記有効期間情報とに基づいて、前記使用権限情報を更新する必要があるか否かを判断し、
前記有償のアプリケーションは、前記使用権限情報を更新する必要があると判断した場合、前記使用権限を認証するための使用権限認証情報の入力を受け付け、その受け付けた前記使用権限認証情報を含み、かつ、前記使用権限情報の更新を要求する第２の要求を、前記更新制御ステップへ送信し、
前記更新制御ステップは、前記使用権限情報を管理するサーバに対して、前記有償のアプリケーションから受信した前記第２の要求を送信し、その応答として取得した最新の前記使用権限情報を反映させて、前記有償のアプリケーションの使用権限に関する使用権限情報を対応付けた前記対応情報を更新する制御を行う、
ためのプログラム。
【請求項１１】
情報処理装置と、該情報処理装置とネットワークで通信可能なサーバと、を備える情報処理システムであって、
前記サーバは、
アプリケーションの使用権限に関する情報を示す使用権限情報と、該使用権限を認証するための使用権限認証情報とを含む１以上のライセンスファイルを記憶するライセンスファイル記憶部と、
前記使用権限認証情報を含み、かつ、該使用権限認証情報に対応する前記ライセンスファイルを要求するライセンスファイル要求を前記情報処理装置から受信する第１の受信部と、
前記第１の受信部により受信された前記ライセンスファイル要求に含まれる前記使用権限認証情報に対応する前記ライセンスファイルを前記情報処理装置へ送信する第１の送信部と、
を備え、
前記情報処理装置は、
前記サーバに対して、インストール済みのアプリケーションに対応する前記使用権限認証情報を含む前記ライセンスファイル要求を送信する第２の送信部と、
前記ライセンスファイル要求に対する応答として、前記サーバから前記ライセンスファイルを受信する第２の受信部と、
インストール済みのアプリケーションを識別するアプリケーション識別情報と、前記第２の受信部により受信された前記ライセンスファイルに含まれる前記使用権限情報とを対応付けた対応情報を記憶する対応情報記憶部と、
何れかの前記アプリケーションから、前記アプリケーション識別情報を含み、かつ、前記使用権限情報を要求する第１の要求を受け付けた場合に、前記対応情報に基づいて、前記第１の要求に含まれる前記アプリケーション識別情報に対応付けられた前記使用権限情報を特定する特定部と、
前記第１の要求の要求元の前記アプリケーションに対して、前記特定部により特定された前記使用権限情報を通知する通知部と、
前記使用権限情報を更新する制御を行う更新制御部と、
を備え、
前記使用権限情報は、有償のアプリケーションを使用することができる期間を示す有効期間情報を少なくとも含み、
前記第１の要求に対する応答として前記使用権限情報を取得した前記有償のアプリケーションは、現在の時刻と、その取得した前記使用権限情報に含まれる前記有効期間情報とに基づいて、前記使用権限情報を更新する必要があるか否かを判断し、
前記有償のアプリケーションは、前記使用権限情報を更新する必要があると判断した場合、前記使用権限を認証するための使用権限認証情報の入力を受け付け、その受け付けた前記使用権限認証情報を含み、かつ、前記使用権限情報の更新を要求する第２の要求を、前記更新制御部へ送信し、
前記更新制御部は、前記使用権限情報を管理するサーバに対して、前記有償のアプリケーションから受信した前記第２の要求を送信し、その応答として取得した最新の前記使用権限情報を反映させて、前記有償のアプリケーションの使用権限に関する使用権限情報を対応付けた前記対応情報を更新する制御を行う、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
近年、通信機器の発展によりウェブサイト上からアプリケーションを選択して、ダウンロード、インストールを行うことができる仕組みが普及している。画像形成装置においても同様の仕組みを導入する動きがあり、そのような仕組みで画像形成装置にインストールされたアプリケーションが、使用権限に関するライセンス情報（使用権限情報）を管理するライセンス管理サーバに対して、自身のライセンス情報を問い合わせ、ライセンス管理サーバから通知されたライセンス情報に応じて振る舞いを変えるという仕組みが考えられ、既に知られている。
【０００３】
例えば特許文献１には、ＭＦＰのプラットフォーム（アプリケーションに対して、ＭＦＰのハードウェア資源を利用するためのインタフェースを提供するためのソフトウェア）が、ＭＦＰ内に保持されたアプリケーションごとのライセンス情報を確認し、有効期限が切れているライセンス情報が存在する場合は、ライセンス管理サーバに対して、該ライセンス情報の更新を要求するという構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１には、インストール済みのアプリケーションが、ライセンス管理サーバに問い合わせることなく自身のライセンス情報を確認するための構成は開示されていない。
【０００５】
本発明は、上記に鑑みてなされたものであり、インストール済みのアプリケーションが、ライセンス管理サーバに問い合わせることなく自身のライセンス情報を確認することが可能な情報処理装置、プログラムおよび情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、インストール済みのアプリケーションを識別するアプリケーション識別情報ごとに、前記アプリケーションの使用権限に関する使用権限情報を対応付けた対応情報を記憶する対応情報記憶部と、前記インストール済みのアプリケーションのうち有償のアプリケーションを利用する操作に応じて、前記有償のアプリケーションから、前記アプリケーション識別情報を含み、かつ、前記使用権限情報を要求する第１の要求を受け付けた場合に、前記対応情報に基づいて、前記第１の要求に含まれる前記アプリケーション識別情報に対応付けられた前記使用権限情報を特定する特定部と、前記第１の要求の要求元の前記有償のアプリケーションに対して、前記特定部により特定された前記使用権限情報を通知する通知部と、前記使用権限情報を更新する制御を行う更新制御部と、を備え、前記使用権限情報は、前記有償のアプリケーションを使用することができる期間を示す有効期間情報を少なくとも含み、前記第１の要求に対する応答として前記使用権限情報を取得した前記有償のアプリケーションは、現在の時刻と、その取得した前記使用権限情報に含まれる前記有効期間情報とに基づいて、前記使用権限情報を更新する必要があるか否かを判断し、前記有償のアプリケーションは、前記使用権限情報を更新する必要があると判断した場合、前記使用権限を認証するための使用権限認証情報の入力を受け付け、その受け付けた前記使用権限認証情報を含み、かつ、前記使用権限情報の更新を要求する第２の要求を、前記更新制御部へ送信し、前記更新制御部は、前記使用権限情報を管理するサーバに対して、前記有償のアプリケーションから受信した前記第２の要求を送信し、その応答として取得した最新の前記使用権限情報を反映させて、前記有償のアプリケーションの使用権限に関する使用権限情報を対応付けた前記対応情報を更新する制御を行う、情報処理装置である。
【発明の効果】
【０００７】
本発明によれば、インストール済みのアプリケーションが、ライセンス管理サーバに問い合わせることなく自身のライセンス情報を確認することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、情報処理システムの構成の一例を示す図である。
【図２】図２は、ＭＦＰのハードウェア構成の一例を示す図である。
【図３】図３は、ＭＦＰのソフトウェア構成の一例を示す図である。
【図４】図４は、ＭＦＰが有する機能の一例を示す図である。
【図５】図５は、操作画面の一例を示す図である。
【図６】図６は、アプリケーション一覧画面の一例を示す図である。
【図７】図７は、インストール命令の一例を示す図である。
【図８】図８は、アプリマーケットサーバのハードウェア構成の一例を示す図である。
【図９】図９は、アプリマーケットサーバが有する機能の一例を示す図である。
【図１０】図１０は、ＭＦＰが有する制御部の詳細な機能の一例を示す図である。
【図１１】図１１は、機器情報のデータ構成の一例を示す図である。
【図１２】図１２は、コンポーネントサーバが有する機能の一例を示す図である。
【図１３】図１３は、条件情報の一例を示す図である。
【図１４】図１４は、ＵＲＬ情報の一例を示す図である。
【図１５】図１５は、アプリケーションのデータ構成の一例を示す図である。
【図１６】図１６は、アプリケーションサーバが有する機能の一例を示す図である。
【図１７】図１７は、ライセンスファイルの一例を示す図である。
【図１８】図１８は、ライセンス管理サーバが有する機能の一例を示す図である。
【図１９】図１９は、対応情報の一例を示す図である。
【図２０】図２０は、第１の画面の一例を示す図である。
【図２１】図２１は、第２の画面の一例を示す図である。
【図２２】図２２は、実施形態の情報処理システムの動作手順の一例を示すシーケンス図である。
【図２３】図２３は、実施形態のＭＦＰの動作例を示すフローチャートである。
【図２４】図２４は、変形例の情報処理システムの動作手順の一例を示すフローチャートである。
【図２５】図２５は、変形例のエラー画面の一例を示す図である。
【図２６】図２６は、変形例の情報処理システムの動作手順の一例を示すシーケンス図である。
【図２７】図２７は、変形例の情報処理システムの動作手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明に係る情報処理装置、プログラムおよび情報処理システムの実施形態を詳細に説明する。以下では、本発明に係る情報処理装置の一例として、画像形成装置の一態様である複合機（ＭＦＰ：Multifunction  Peripheral）を例に挙げて説明するが、これに限られるものではない。なお、複合機とは、コピー機能、スキャナ機能、プリンタ機能、ファクス機能などの複数の異なる機能を有する装置である。
【００１０】
図１は、本実施形態の情報処理システム１００の構成の一例を示す図である。図１に示すように、情報処理システム１００は、ＭＦＰ１と、アプリマーケットサーバ２と、コンポーネントサーバ３と、アプリケーションサーバ４と、ライセンス管理サーバ５とを備え、これらは、例えばインターネットなどのネットワーク６を介して接続可能である。
【００１１】
アプリマーケットサーバ２は、ＭＦＰ１からの要求に応じて、１以上のアプリケーションの一覧を表示し、かつ、各アプリケーションの利用契約やダウンロードをするためのＷｅｂページ、言い換えれば、アプリケーションを提供するためのＷｅｂページ（以下の説明では、「アプリケーション一覧画面」と称する場合がある）を、ＭＦＰ１に対して送信する。また、この例では、アプリマーケットサーバ２からアプリケーション一覧画面を取得してＭＦＰ１に表示するためのアプリケーション（以下の説明では、「アプリマーケットアプリ」と称する場合がある）が、予めＭＦＰ１にインストールされている。この例では、アプリマーケットアプリの機能は、Ｗｅｂブラウザの機能を提供するためのアプリケーション（以下、「ブラウザアプリ」と称する場合がある）を利用して実現される。この例では、ブラウザアプリも予めＭＦＰ１にインストールされている。ＭＦＰ１の具体的な内容については後述する。
【００１２】
コンポーネントサーバ３は、ＭＦＰ１が、アプリケーション一覧画面から選択したアプリケーションを利用するための条件を満たしているか否かを判断し、条件を満たしている場合は、そのアプリケーションを管理しているアプリケーションサーバ４の所在を示すＵＲＬ（以下、「ダウンロードＵＲＬ」と称する場合がある）をＭＦＰ１へ送信する。ＭＦＰ１は、コンポーネントサーバ３から受信したダウンロードＵＲＬを指定してアプリケーションサーバ４にアクセスし、アプリケーション一覧画面から選択したアプリケーションをダウンロードし、インストールすることができる。
【００１３】
ライセンス管理サーバ５は、「サーバ」の一例であり、アプリケーションの使用権限に関する「使用権限情報」の一例であるライセンス情報と、該使用権限を認証するための「使用権限認証情報」の一例であるプロダクトキー（ライセンスキー）とを含む１以上のライセンスファイルを管理する。この例では、アプリケーションはライセンス商品としてライセンス管理サーバ５に登録されており、プロダクトキーは、ライセンス商品ごとにライセンス管理サーバ５が一意に発行する識別子である。プロダクトキーは、ライセンス商品であるアプリケーションの使用権限（ライセンス）を識別する情報（ライセンス識別子）として、また、ライセンス商品の正当な購入者であることを証明（正規のライセンスを持っていることを証明）するための情報として用いられる。
【００１４】
ライセンス管理サーバ５は、プロダクトキーを含み、かつ、該プロダクトキーに対応するライセンスファイルを要求するライセンスファイル要求をＭＦＰ１から受信すると（「第１の受信部」の機能）、その受信したライセンスファイル要求に含まれるプロダクトキーに対応するライセンスファイルをＭＦＰ１へ送信する（「第１の送信部」の機能）。そして、そのライセンスファイルを送信したＭＦＰ１で、対応するプロダクトキーがアクティベート済みになった（認証済みになった）という状態を、ライセンス管理サーバ５内で記録する。ＭＦＰ１は、例えば機番などにより識別することができる。ＭＦＰ１内では、ライセンスファイル要求に対する応答としてライセンスファイルを受信した場合は、該ライセンスファイルに含まれるプロダクトキーに対応するアプリケーションの正規のライセンスを持っていることが証明されたことになるので（アクティベートされた状態になるので）、該アプリケーションを利用することができる。一方、ライセンスファイルを返却した場合は、ディアクティベートされた状態（正規のライセンスを持っていることが証明されていない状態）になり、対応するアプリケーションを利用することはできない。
【００１５】
次に、図２を用いて、ＭＦＰ１のハードウェア構成について説明する。図２に示すように、ＭＦＰ１は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の機能を実現可能な本体１０と、ユーザの操作を受け付ける操作部２０とを備える。なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報（画面の座標値を示す信号等を含む）を受け付けることを含む概念である。本体１０と操作部２０は、専用の通信路３０を介して相互に通信可能に接続されている。通信路３０は、例えばＵＳＢ（Universal  Serial  Bus）規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
【００１６】
また、ＭＦＰ１には、１以上の周辺機器３１が接続可能である。周辺機器３１としては、プリンタやカメラなどの画像処理装置、マイクやスピーカなどの音声入出力装置、カードリーダー／ライターなどが想定される。また、ＭＦＰ１と周辺機器３１との間の接続は、物理的に有線で接続される形態であってもよいし、近距離無線通信（ＮＦＣ）などの無線で接続される形態であってもよい。
【００１７】
なお、本体１０は、操作部２０で受け付けた操作に応じた動作を行うことができる。また、本体１０は、クライアントＰＣ（パーソナルコンピュータ）等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
【００１８】
まず、本体１０のハードウェア構成について説明する。図２に示すように、本体１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ（ハードディスクドライブ）１４と、通信Ｉ／Ｆ（インタフェース）１５と、接続Ｉ／Ｆ１６と、エンジン部１７とを備え、これらがシステムバス１８を介して相互に接続されている。
【００１９】
ＣＰＵ１１は、本体１０の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）としてＲＯＭ１２またはＨＤＤ１４等に格納されたプログラムを実行することで、本体１０全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
【００２０】
通信Ｉ／Ｆ１５は、ネットワーク６と接続するためのインタフェースである。接続Ｉ／Ｆ１６は、通信路３０を介して操作部２０と通信するためのインタフェースである。
【００２１】
エンジン部１７は、コピー機能、スキャナ機能、ファクス機能、および、プリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙等のシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプションを備えることもできる。
【００２２】
次に、操作部２０のハードウェア構成について説明する。図２に示すように、操作部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、フラッシュメモリ２４と、通信Ｉ／Ｆ２５と、接続Ｉ／Ｆ２６と、操作パネル２７と、外部接続Ｉ／Ｆ２８とを備え、これらがシステムバス２９を介して相互に接続されている。
【００２３】
ＣＰＵ２１は、操作部２０の動作を統括的に制御する。ＣＰＵ２１は、ＲＡＭ２３をワークエリア（作業領域）としてＲＯＭ２２またはフラッシュメモリ２４等に格納されたプログラムを実行することで、操作部２０全体の動作を制御し、ユーザから受け付けた入力に応じた情報（画像）の表示などの後述する各種機能を実現する。
【００２４】
通信Ｉ／Ｆ２５は、ネットワーク６と接続するためのインタフェースである。接続Ｉ／Ｆ２６は、通信路３０を介して本体１０と通信するためのインタフェースである。
【００２５】
操作パネル２７は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報（例えば受け付けた操作に応じた情報、ＭＦＰ１の動作状況を示す情報、設定状態などを示す情報など）を表示する。この例では、操作パネル２７は、タッチパネル機能を搭載した液晶表示装置（ＬＣＤ）で構成されるが、これに限られるものではない。例えばタッチパネル機能が搭載された有機ＥＬ表示装置で構成されてもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
【００２６】
外部接続Ｉ／Ｆ２８は、周辺機器３１と接続するためのインタフェースであり、例えばカメラなどの画像処理装置、マイクやスピーカなどの音声入出力装置、カードリーダー／ライターなどのハードウェアと接続するためのインタフェースである。
【００２７】
次に、ＭＦＰ１のソフトウェア構成について説明する。図３は、ＭＦＰ１のソフトウェア構成の一例を示す模式図である。図３に示すように、本体１０は、アプリ層１０１と、サービス層１０２と、ＯＳ層１０３とを有する。アプリ層１０１、サービス層１０２、および、ＯＳ層１０３の実体は、ＲＯＭ１２やＨＤＤ１４等に格納されている各種ソフトウェアである。ＣＰＵ１１が、これらのソフトウェアを実行することにより、各種の機能が提供される。
【００２８】
アプリ層１０１のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェア（以下の説明では、「アプリ」または「アプリケーション」と称する場合がある）である。例えばアプリとしては、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリなどが挙げられる。
【００２９】
サービス層１０２のソフトウェアは、アプリ層１０１とＯＳ層１０３との間に介在し、アプリに対し、本体１０が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受け付け、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層１０２が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
【００３０】
なお、サービス層１０２によるインタフェースの機能は、本体１０のアプリ層１０１だけではなく、操作部２０のアプリ層２０１に対しても提供される。すなわち、操作部２０のアプリ層２０１（アプリ）も、サービス層１０２のインタフェース機能を介して、本体１０のハードウェア資源（例えばエンジン部１７）を利用した機能を実現することができる。例えばサービス層１０２のインタフェース機能は、ＷｅｂＡＰＩで提供される。操作部２０と本体１０は、通信路３０をネットワークとして通信することができる。
【００３１】
ＯＳ層１０３のソフトウェアは、本体１０が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア（オペレーティングシステム（ＯＳ））である。サービス層１０２のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、ＯＳ層１０３が解釈可能なコマンドに変換してＯＳ層１０３に渡す。そして、ＯＳ層１０３のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作を行う。サービス層１０２およびＯＳ層１０３のソフトウェアは、コンピュータのハードウェアを管理、制御するなど、コンピュータの稼動や使用そのものをサポートするためのシステムソフトウェア（アプリケーションとは異なる）であると考えることができる。
【００３２】
同様に、操作部２０は、アプリ層２０１と、サービス層２０２と、ＯＳ層２０３とを有する。操作部２０が備えるアプリ層２０１、サービス層２０２及びＯＳ層２０３も、階層構造については本体１０側と同様である。ただし、アプリ層２０１のアプリにより提供される機能や、サービス層２０２が受け付け可能な動作要求の種類は、本体１０側とは異なる。アプリ層２０１のアプリは、操作部２０が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体１０が備える機能（コピー機能、スキャナ機能、ファクス機能、プリンタ機能）やインストール済みのアプリケーションのライセンスファイルを更新する機能等に関する操作や表示を行うためのＵＩ（ユーザインタフェース）の機能を提供するためのソフトウェアである。
【００３３】
本実施形態では、アプリ層２０１のソフトウェアには、ブラウザアプリやアプリマーケットアプリなども含まれる。また、サービス層２０２のソフトウェアは、アプリ層２０１のアプリからの要求（後述の問い合わせ等）を受け付け、受け付けた要求に応じた処理を行う機能を提供するためのソフトウェアである。本実施形態では、サービス層２０２のソフトウェアには、後述の制御部１１４の機能を提供するためのソフトウェア（ここでは、「インストーラ」と称する）などが含まれる。ここでは、インストール済みのアプリケーション（図３の例では、アプリケーション１、アプリケーション２）は、インストーラに対して、後述の問い合わせを行うことができる。
【００３４】
なお、本実施形態では、機能の独立性を保つために、本体１０側のＯＳ層１０３のソフトウェアと操作部２０側のＯＳ層２０３のソフトウェアが互いに異なる。つまり、本体１０と操作部２０は、別々のオペレーティングシステムで互いに独立して動作する。例えば本体１０側のＯＳ層１０３のソフトウェアとしてＬｉｎｕｘ（登録商標）を用い、操作部２０側のＯＳ層２０３のソフトウェアとしてＡｎｄｒｏｉｄ（登録商標）を用いることも可能である。
【００３５】
以上のように、本実施形態のＭＦＰ１において、本体１０と操作部２０は別々のオペレーティングシステムで動作するため、本体１０と操作部２０との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部２０が受け付けた情報（ユーザからの指示内容）を本体１０へ伝達する動作（コマンド通信）や、本体１０が操作部２０へイベントを通知する動作などがこれに該当する。ここでは、操作部２０が本体１０へコマンド通信を行うことにより、本体１０の機能を使用することができる。また、本体１０から操作部２０に通知するイベントには、本体１０における動作の実行状況、本体１０側で設定された内容などが挙げられる。
【００３６】
また、本実施形態では、操作部２０に対する電力供給は、本体１０から通信路３０を経由して行われているので、操作部２０の電源制御を、本体１０の電源制御とは別に（独立して）行うことができる。
【００３７】
次に、ＭＦＰ１が有する機能について説明する。図４は、ＭＦＰ１が有する機能の一例を示す図である。図４に示すように、ＭＦＰ１は、表示制御部１１１と、アプリケーション一覧画面要求送信部１１２と、アプリケーション一覧画面受信部１１３と、制御部１１４とを有する。説明の便宜上、図４では、本実施形態に関する機能を主に例示しているが、ＭＦＰ１が有する機能は、これらに限られるものではない。
【００３８】
表示制御部１１１は、各種の画面を操作パネル２７（表示部）に表示する制御を行う。本実施形態の表示制御部１１１は、各種の操作を行うための操作画面を操作パネル２７に表示する制御を行う。図５は、操作画面の一例を示す図であり、操作画面には、アプリマーケットアプリを起動するためのアイコン７が表示されている。また、本実施形態の表示制御部１１１は、アプリケーション一覧画面を操作パネル２７に表示する制御も行う。
【００３９】
アプリケーション一覧画面要求送信部１１２は、アプリマーケットサーバ２に対して、アプリケーション一覧画面を要求するアプリケーション一覧画面要求を送信する。アプリケーション一覧画面受信部１１３は、アプリマーケットサーバ２からアプリケーション一覧画面を受信する。そして、表示制御部１１１は、アプリケーション一覧画面受信部１１３により受信されたアプリケーション一覧画面を操作パネル２７に表示する制御を行う。
【００４０】
本実施形態では、ユーザがアイコン７をタッチすると、アプリマーケットアプリが起動し、アプリマーケットアプリは、ブラウザアプリを利用して、アプリマーケットサーバ２に対してアプリケーション一覧画面要求を送信する。そして、アプリマーケットアプリは、アプリケーション一覧画面要求に対する応答としてアプリマーケットサーバ２から受信したアプリケーション一覧画面を、ブラウザアプリを利用して表示する。
【００４１】
図６は、アプリケーション一覧画面の一例を示す図である。図６の例では、アプリケーション一覧画面は、複数のアプリケーションごとに、当該アプリケーションの内容を説明する説明情報と、当該アプリケーションをインストールすることを指示するためのボタン８（この例ではアプリケーションをインストールすることを指示するためのボタン８、以下、「インストールボタン８」と称する）とが表示される。この例では、インストーラに対してアプリケーションをインストールする命令（以下、「インストール命令」と称する）が、ＵＲＩの形式（例えばＵＲＬの形式でもよい）で、当該アプリケーションに対応するインストールボタン８に貼り付けられている。この例では、インストールボタン８の押下は、当該インストールボタン８に貼り付けられたインストール命令の選択（インストールしたいアプリケーションの選択であると考えてもよい）を意味する。
【００４２】
図７は、「４９３５４」というプロダクトＩＤ（アプリＩＤ）で識別されるアプリケーションに対応するインストールボタン８に貼り付けられるインストール命令の一例を示す図であり、「４９３５４」というプロダクトＩＤで識別されるアプリケーションをインストールする命令を表している。例えばユーザが、アプリケーション一覧画面上の何れかのアプリケーションのインストールボタン８を押下すると、ブラウザアプリは、インストールボタン８に貼り付けられたインストール命令を、操作部２０のＯＳに通知する。操作部２０のＯＳは、通知されたインストール命令を確認し、操作部２０上で動作する各ソフトウェア（アプリケーションやシステムソフトウェア）に対して、当該インストール命令をブロードキャストする。そして、後述の制御部１１４の機能を提供するインストーラが、このブロードキャストされたインストール命令に反応する。
【００４３】
図４の説明を続ける。制御部１１４は、アプリケーション一覧画面に表示されたアプリケーションのうち、ユーザによって選択されたアプリケーションをＭＦＰ１で利用するための制御（アプリケーションをインストールする制御を含む）を行う。制御部１１４の詳細な機能については後述する。
【００４４】
以上に説明したＭＦＰ１が有する機能（表示制御部１１１、アプリケーション一覧画面要求送信部１１２、アプリケーション一覧画面受信部１１３、制御部１１４）は、ＣＰＵ（１１または２１）が、記憶装置（例えばＲＯＭ１２、ＨＤＤ１４、ＲＯＭ２２、フラッシュメモリ２４等）に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上記ＭＦＰ１が有する機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。
【００４５】
次に、アプリマーケットサーバ２の構成について説明する。図８は、アプリマーケットサーバ２のハードウェア構成の一例を示す図である。なお、後述のコンポーネントサーバ３、アプリケーションサーバ４、ライセンス管理サーバ５のハードウェア構成も、図８に示す構成と同様であるとする。図８に示すように、アプリマーケットサーバ２は、ＣＰＵ２１１と、ＲＯＭ２１２と、ＲＡＭ２１３と、入力部２１４と、表示部２１５と、通信Ｉ／Ｆ２１６と、ＨＤＤ２１７とを備える。ＣＰＵ２１１は、アプリマーケットサーバ２の動作を統括的に制御する。ＲＯＭ２１２は、プログラム等の各種のデータを記憶する不揮発性のメモリである。ＲＡＭ２１３は、ＣＰＵ２１１が実行する各種の処理の作業領域（ワークエリア）として機能する揮発性のメモリである。入力部２１４は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示部２１５は、各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。通信Ｉ／Ｆ２１６は、ネットワーク６と接続するためのインタフェースである。ＨＤＤ２１７は、補助記憶装置として機能するメモリである。
【００４６】
図９は、アプリマーケットサーバ２が有する機能の一例を示す図である。図９に示すように、アプリマーケットサーバ２は、アプリケーション一覧画面要求受信部２２１と、アプリケーション一覧画面記憶制御部２２２と、アプリケーション一覧画面記憶部２２３と、アプリケーション一覧画面送信部２２４とを有する。説明の便宜上、図９では、本実施形態に関する機能を主に例示しているが、アプリマーケットサーバ２が有する機能は、これらに限られるものではない。
【００４７】
アプリケーション一覧画面要求受信部２２１は、ＭＦＰ１からのアプリケーション一覧画面要求を受信する。アプリケーション一覧画面記憶制御部２２２は、アプリケーション一覧画面記憶部２２３に対するデータの読み書きを制御する。アプリケーション一覧画面要求受信部２２１によりアプリケーション一覧画面が受信された場合、アプリケーション一覧画面記憶制御部２２２は、アプリケーション一覧画面記憶部２２３に記憶されたアプリケーション一覧画面を読み出し、その読み出したアプリケーション一覧画面をアプリケーション一覧画面送信部２２４へ渡す。そして、アプリケーション一覧画面送信部２２４は、アプリケーション一覧画面要求に対する応答として、アプリケーション一覧画面をＭＦＰ１へ送信する。
【００４８】
以上に説明したアプリマーケットサーバ２が有する機能（アプリケーション一覧画面要求受信部２２１、アプリケーション一覧画面記憶制御部２２２、アプリケーション一覧画面送信部２２４）は、ＣＰＵ２１１が、記憶装置（例えばＲＯＭ２１２やＨＤＤ２１７等）に格納されたプログラムを実行することにより実現されるが、これに限らず、例えばアプリマーケットサーバ２が有する機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。また、上述のアプリケーション一覧画面記憶部２２３は、例えば、ＨＤＤ２１７等により実現可能である。
【００４９】
次に、ＭＦＰ１が有する制御部１１４の詳細な機能について説明する。図１０は、制御部１１４の詳細な機能の一例を示す図である。図１０に示すように、制御部１１４は、ダウンロードＵＲＬ要求送信部１２１と、ダウンロードＵＲＬ受信部１２２と、ダウンロード部１２３と、インストール部１２４と、ライセンスファイル要求送信部１２５と、ライセンスファイル受信部１２６と、ライセンスファイル記憶制御部１２７と、対応情報記憶制御部１２８と、特定部１２９と、通知部１３０と、更新制御部１３１とを有する。
【００５０】
ダウンロードＵＲＬ要求送信部１２１は、アプリケーション一覧画面から選択されたアプリケーションを識別するプロダクトＩＤと、機器情報記憶部３００に記憶された機器情報とを含み、かつ、該プロダクトＩＤで識別されるアプリケーションを管理するアプリケーションサーバ４の所在を示すダウンロードＵＲＬを要求する情報を示すダウンロードＵＲＬ要求を、コンポーネントサーバ３へ送信する。
【００５１】
図１１は、機器情報記憶部３００に記憶された機器情報のデータ構成の一例を表す概念図である。図１１の例では、機器情報は、ＭＦＰ１を一意に識別する機番と、ＭＦＰ１に導入済みのコンポーネント（特定の機能を提供する単位を表す）を示すコンポーネント情報と、を少なくとも含む。例えばコンポーネント情報は、ＭＦＰ１に導入済みのソフトウェアを識別する情報（例えばプロダクトＩＤ）と、該ソフトウェアのバージョンを示す情報と、該ソフトウェアの機能を提供するために必要な周辺機器３１の接続の有無を示す周辺機器接続情報とを対応付けた情報で構成されてもよい。さらに、機器情報には、ＭＦＰ１が使用される国や地域を示す仕向け情報が含まれていてもよい。なお、機器情報記憶部３００は、例えば、ＭＦＰ１内のＨＤＤ１４やフラッシュメモリ２４等により実現可能である。
【００５２】
図１０の説明を続ける。ダウンロードＵＲＬ受信部１２２は、ダウンロードＵＲＬ要求に対する応答として、コンポーネントサーバ３からダウンロードＵＲＬを受信する。
【００５３】
ここで、コンポーネントサーバ３が有する機能について説明する。図１２は、コンポーネントサーバ３が有する機能の一例を示す図である。図１２に示すように、コンポーネントサーバ３は、ダウンロードＵＲＬ要求受信部３１１と、条件情報記憶部３１２と、判断部３１３と、ＵＲＬ情報記憶部３１４と、ダウンロードＵＲＬ送信部３１５とを有する。
【００５４】
ダウンロードＵＲＬ要求受信部３１１は、ＭＦＰ１から上述のダウンロードＵＲＬ要求を受信する。
【００５５】
条件情報記憶部３１２は、複数のアプリケーションと１対１に対応する複数の条件情報を記憶している。図１３に示すように、各条件情報は、対応するアプリケーションを識別するプロダクトＩＤと、当該アプリケーションのバージョン情報と、対応するアプリケーションを利用するために必要な条件を示す依存コンポーネント情報とを含む。図１３の例では、依存コンポーネント情報は、対応するアプリケーションを利用するために必要なソフトウェア（アプリケーションやシステムソフトウェア）を識別するプロダクトＩＤやモジュールＩＤと、当該アプリケーションを利用するために必要なコンポーネント（見方を変えれば、対応するアプリケーションと依存関係にあるコンポーネント）の下限バージョン情報と、対応するアプリケーションを利用するために必要な周辺機器３１を識別する周辺機器ＩＤとを含む。
【００５６】
図１２の説明を続ける。判断部３１３は、条件情報記憶部３１２に記憶された複数の条件情報の中から、ダウンロードＵＲＬ要求受信部３１１により受信されたダウンロードＵＲＬ要求に含まれるプロダクトＩＤに対応する条件情報を選択する。そして、該ダウンロードＵＲＬ要求に含まれる機器情報と、選択した条件情報とを比較することで、該ダウンロードＵＲＬ要求に含まれるプロダクトＩＤで識別されるアプリケーションの利用の可否を判断する。利用可能と判断した場合、判断部３１３は、ＵＲＬ情報記憶部３１４に記憶されたＵＲＬ情報に基づいて、該ダウンロードＵＲＬ要求に含まれるプロダクトＩＤに対応するダウンロードＵＲＬを特定し、その特定したダウンロードＵＲＬをダウンロードＵＲＬ送信部３１５へ渡す。
【００５７】
図１４は、ＵＲＬ情報記憶部３１４に記憶されたＵＲＬ情報の一例を示す図である。ＵＲＬ情報は、複数のプロダクトＩＤごとに、該プロダクトＩＤで識別されるアプリケーションを管理するアプリケーションサーバ４の所在を示すダウンロードＵＲＬを対応付けた情報である。
【００５８】
図１２の説明を続ける。ダウンロードＵＲＬ送信部３１５は、ダウンロードＵＲＬ要求に対する応答として、判断部３１３から渡されたダウンロードＵＲＬをＭＦＰ１へ送信する。
【００５９】
以上に説明したコンポーネントサーバ３が有する機能（ダウンロードＵＲＬ要求受信部３１１、判断部３１３、ダウンロードＵＲＬ送信部３１５）は、ＣＰＵ２１１が、記憶装置（例えばＲＯＭ２１２やＨＤＤ２１７等）に格納されたプログラムを実行することにより実現されるが、これに限らず、例えばコンポーネントサーバ３が有する機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。また、上述の条件情報記憶部３１２やＵＲＬ情報記憶部３１４は、例えば、ＨＤＤ２１７等により実現可能である。以上がコンポーネントサーバ３の構成である。
【００６０】
図１０に戻って、ＭＦＰ１が有する制御部１１４の詳細な機能の説明を続ける。ダウンロード部１２３は、ダウンロードＵＲＬ受信部１２２により受信されたダウンロードＵＲＬに対応するアプリケーションサーバ４に対して、アプリケーション一覧画面から選択されたアプリケーションのプロダクトＩＤを含み、かつ、該アプリケーションのダウンロードを要求するダウンロード要求を送信する。そして、ダウンロード要求に対する応答として、アプリケーションサーバ４からアプリケーションを受信する（ダウンロードする）。そして、受信したアプリケーションをアプリケーション記憶部３０１に記憶する。なお、アプリケーション記憶部３０１は、例えば、ＭＦＰ１内のＨＤＤ１４やフラッシュメモリ２４等により実現可能である。
【００６１】
この例では、アプリケーションサーバ４からダウンロードされるアプリケーションは、図１５のようなアーカイブファイルで提供され、アプリケーション本体と、それに紐付く情報ファイルとから構成されている。情報ファイルには、アプリケーション本体に対応するプロダクトＩＤやバージョン情報、該アプリケーション本体が動作するために必要な条件に関する情報などが記載されている。アプリケーション本体に対応する前述の条件情報が記載される形態であってもよい。
【００６２】
ここで、アプリケーションサーバ４が有する機能について説明する。図１６は、アプリケーションサーバ４が有する機能の一例を示す図である。図１６に示すように、アプリケーションサーバ４は、ダウンロード要求受信部４１１と、アプリケーション選択部４１２と、アプリケーション記憶部４１３と、アプリケーション送信部４１４と、を有する。
【００６３】
ダウンロード要求受信部４１１は、ＭＦＰ１から上述のダウンロード要求を受信する。アプリケーション選択部４１２は、アプリケーション記憶部４１３に記憶された複数のアプリケーションの中から、ダウンロード要求受信部４１１により受信されたダウンロード要求に含まれるプロダクトＩＤに対応するアプリケーションを選択する。アプリケーション記憶部４１３は、図１５のようなアーカイブファイルで提供される複数のアプリケーションを記憶している。
【００６４】
アプリケーション送信部４１４は、ダウンロード要求に対する応答として、アプリケーション選択部４１２により選択されたアプリケーションをＭＦＰ１へ送信する。
【００６５】
以上に説明したアプリケーションサーバ４が有する機能（ダウンロード要求受信部４１１、アプリケーション選択部４１２、アプリケーション送信部４１４）は、ＣＰＵ２１１が、記憶装置（例えばＲＯＭ２１２やＨＤＤ２１７等）に格納されたプログラムを実行することにより実現されるが、これに限らず、例えばアプリケーションサーバ４が有する機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。また、上述のアプリケーション記憶部４１３は、例えば、ＨＤＤ２１７等により実現可能である。
【００６６】
図１０に戻って、ＭＦＰ１が有する制御部１１４の詳細な機能の説明を続ける。インストール部１２４は、ダウンロード部１２３によりダウンロードされたアプリケーションをＭＦＰ１にインストールする。本実施形態では、インストール部１２４は、インストール対象のアプリケーションの管理に必要な情報（この例では後述のアプリ管理情報）を後述の対応情報に記録するよう、対応情報記憶制御部１２８に対して指示する。この指示を受けた対応情報記憶制御部１２８は、該アプリケーションの管理に必要なアプリ管理情報を後述の対応情報に記録する。対応情報の具体的な内容については後述する。
【００６７】
ライセンスファイル要求送信部１２５（第２の送信部）は、インストール部１２４によるアプリケーションのインストールが完了（成功）すると、ライセンス管理サーバ５に対して、インストール済みの該アプリケーションに対応するプロダクトキーを含むライセンスファイルを要求するライセンスファイル要求を送信する。
【００６８】
ライセンスファイル受信部１２６（第２の受信部）は、ライセンスファイル要求に対する応答として、ライセンス管理サーバ５からライセンスファイルを受信する。図１７は、ライセンスファイルの一例を示す図である。図１７の例では、ライセンスファイルは、プロダクトＩＤと、プロダクトキーと、ライセンスユニークＩＤと、ライセンス種別と、有効期間情報とを含む。
【００６９】
プロダクトＩＤは、該プロダクトＩＤを含むライセンスファイルによってライセンスが付与される（利用が許可される）アプリケーションを識別する情報である。プロダクトキーは、ライセンスの認証に用いられる情報である。ライセンスユニークＩＤは、ライセンスを一意に識別する情報である。
【００７０】
ライセンス種別は、ライセンスの種類を示す情報である。ライセンスの種類としては、正式版ライセンスや体験版ライセンスなどがある。正式版ライセンスとは、アプリケーションを購入したユーザの使用権限を示すライセンスであり、体験版ライセンスとは、一定期間に限って無償でアプリケーションを使用させるサービス（お試しサービス）を利用するユーザの使用権限を示すライセンスである。正式版ライセンスを認証するためのプロダクトキーを含むライセンスファイルと、体験版ライセンスを認証するためのプロダクトキーを含むライセンスファイルとは別々に発行されることになる。
【００７１】
この例では、有償のアプリケーションの場合は、アプリケーション一覧画面を作るＸＭＬ情報の中に、該アプリケーションに対応するライセンスキーは記述されないので、アプリケーション一覧画面から該アプリケーションが選択された場合、制御部１１４（インストーラ）は、プロダクトキーの入力を促す入力画面を操作パネル２７に表示する制御を行い、入力画面からプロダクトキーの入力を受け付ける形態であってもよい。ここでは、ユーザは、これからＭＦＰ１にインストールするアプリケーションに対応するプロダクトキーを事前に把握していることを前提とする。例えばアプリケーションの管理者から、該アプリケーションを購入したユーザに対して、郵送やメール等でライセンスキーを通知する形態であってもよい。この例では、お試しサービス用のアプリケーションの場合についても同様である。
【００７２】
なお、例えばお試しサービス用のアプリケーションの場合は、アプリケーション一覧画面を作るＸＭＬ情報の中に、該アプリケーションに対応するプロダクトキーが予め記述され、アプリケーション一覧画面から該アプリケーションが選択された場合（インストールボタン８が押下された場合）、制御部１１４（インストーラ）は、該アプリケーションに対応するプロダクトキーを自動的に取得する形態であってもよい。
【００７３】
有効期間情報は、ライセンスの有効期間を示す情報である。この例では、アプリケーションの使用権限に関するライセンス情報は、上述のライセンスユニークＩＤ、上述のライセンス種別、および、上述の有効期間情報を含む情報である。
【００７４】
ライセンスファイル受信部１２６は、ライセンス管理サーバ５から受信したライセンスファイルに含まれる情報のうち、アプリケーションからの後述の問い合わせに対応するために必要な情報（この例では上述のライセンス情報）を後述の対応情報に記録するよう、対応情報記憶制御部１２８に対して指示する。この指示を受けた対応情報記憶制御部１２８は、ライセンス管理サーバ５から受信したライセンスファイルに含まれるライセンス情報を後述の対応情報に記録する。対応情報の具体的な内容については後述する。
【００７５】
ここで、ライセンス管理サーバ５が有する機能について説明する。図１８は、ライセンス管理サーバ５が有する機能の一例を示す図である。図１８に示すように、ライセンス管理サーバ５は、ライセンスファイル要求受信部５１１と、ライセンスファイル記憶部５１２と、認証部５１３と、ライセンスファイル送信部５１４と、を有する。
【００７６】
ライセンスファイル要求受信部５１１（第１の受信部）は、ＭＦＰ１から上述のライセンスファイル要求を受信する。ライセンスファイル記憶部５１２は、１以上のライセンスファイル（ライセンス商品ごとのライセンスファイル）を記憶する。
【００７７】
認証部５１３は、ライセンスファイル記憶部５１２に記憶された１以上のライセンスファイルに含まれるプロダクトキーの中に、ライセンスファイル要求受信部５１１により受信されたライセンスファイル要求に含まれるプロダクトキーと一致するプロダクトキーが存在するか否かを判断する。この判断結果が肯定の場合、認証部５１３は、ライセンスファイル要求の要求元のＭＦＰ１は、正規のライセンスを持っていることを認める。つまり、ライセンスファイル要求の要求元のＭＦＰ１を認証し、ライセンスファイル送信部５１４に対して、ライセンスファイル要求受信部５１１により受信されたライセンスファイル要求に含まれるプロダクトキーに対応するライセンスファイルをＭＦＰ１へ送信することを指示する。この指示を受けたライセンスファイル送信部５１４は、ライセンスファイル要求に対する応答として、該ライセンスファイル要求に含まれるプロダクトキーに対応するライセンスファイルをＭＦＰ１へ送信する。
【００７８】
以上に説明したライセンス管理サーバ５が有する機能（ライセンスファイル要求受信部５１１、認証部５１３、ライセンスファイル送信部５１４）は、ＣＰＵ２１１が、記憶装置（例えばＲＯＭ２１２やＨＤＤ２１７等）に格納されたプログラムを実行することにより実現されるが、これに限らず、例えばアプリケーションサーバ４が有する機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。また、上述のライセンスファイル記憶部５１２は、例えば、ＨＤＤ２１７等により実現可能である。
【００７９】
再び図１０に戻って、ＭＦＰ１が有する制御部１１４の詳細な機能の説明を続ける。ライセンスファイル記憶制御部１２７は、ライセンスファイル受信部１２６により受信されたライセンスファイルを、ライセンスファイル記憶部３０２に記憶する制御を行う。なお、ライセンスファイル記憶部３０２は、例えばＭＦＰ１内のＨＤＤ１４やフラッシュメモリ２４等により実現可能である。
【００８０】
対応情報記憶制御部１２８は、ＭＦＰ１にインストール済みのアプリケーションを識別するアプリケーション識別情報ごとに、アプリケーションの使用権限に関する使用権限情報を対応付けた対応情報を、対応情報記憶部３０３に記憶する制御を行う。図１９は、対応情報の一例を示す図である。図１９の例では、対応情報は、複数のアプリケーション（インストール済みのアプリケーション）と１対１に対応する複数のアプリ情報から構成されている。この例では、アプリ情報は、アプリケーションの管理に必要なアプリ管理情報と、上述のライセンス情報と、アプリケーションがアクティベートされた状態であるか否かを示すアクティベーション情報と、アプリケーションのインストールを指示したユーザの属性を示す所有者情報とから構成されるが、これに限られるものではない。
【００８１】
アプリ管理情報は、プロダクトＩＤと、アプリ名と、バージョン情報と、種別とを含む情報である。プロダクトＩＤは、ＭＦＰ１や各サーバがアプリケーションを一意に識別するための情報である。アプリ名は、ユーザにアプリケーションを識別させるために画面などに表示するアプリケーションの表示名を表す。種別は、ソフトウェアの種類（アプリケーションソフトウェア、システムソフトウェア等）を示す情報である。この例では、プロダクトＩＤがアプリケーション識別情報であると考えてもよいし、アプリ名がアプリケーション識別情報であると考えてもよいし、アプリ管理情報そのものがアプリケーション識別情報であると考えてもよい。説明の便宜上、以下の説明では、アプリケーション識別情報としてプロダクトＩＤを採用する場合を例に挙げて説明するが、これに限られるものではない。
【００８２】
なお、以上に説明した対応情報を記憶する対応情報記憶部３０３は、例えばＭＦＰ１内のＨＤＤ１４やフラッシュメモリ２４等により実現可能である。
【００８３】
図１０の説明を続ける。特定部１２９は、ＭＦＰ１にインストール済みの何れかのアプリケーションから、プロダクトＩＤ（アプリケーション識別情報）を含み、かつ、ライセンス情報（使用権限情報）を要求するライセンス情報要求（第１の要求）を受け付けた場合に、上述の対応情報に基づいて、ライセンス情報要求に含まれるプロダクトＩＤに対応付けられたライセンス情報を特定する。
【００８４】
通知部１３０は、ライセンス情報要求の要求元のアプリケーションに対して、特定部１２９により特定されたライセンス情報を通知する。
【００８５】
この例では、ＭＦＰ１にインストール済みのアプリケーションは、例えば起動時や、ユーザが有償版のみ提供している機能を利用しようとした際に、自身のライセンス情報を確認するために、自身のプロダクトＩＤを含む上述のライセンス情報要求を制御部１１４（インストーラ）へ送信する。そして、ライセンス情報要求に対する応答として、自身のライセンス情報を取得することができる。上述したように、この例では、ライセンス情報は、アプリケーションを使用することができる期間を示す有効期間情報を少なくとも含んでおり、自身のライセンス情報を取得したアプリケーションは、現在の時刻（ＭＦＰ１に内蔵されたタイマーが示すシステム時刻）と、その取得したライセンス情報に含まれる有効期間情報とに基づいて、ライセンス情報を更新する必要があるか否かを判断する。より具体的には、該アプリケーションは、現在の時刻（自身のライセンス情報を取得した時刻）が、制御部１１４から取得した自身のライセンス情報に含まれる有効期間情報が示す期間から外れていない場合は、該ライセンス情報を更新する必要は無いと判断し、有効期間情報が示す期間から外れている場合は、該ライセンス情報を更新する必要があると判断する。
【００８６】
ＭＦＰ１にインストール済みのアプリケーションは、ライセンス情報を更新する必要があると判断した場合、ライセンス情報を更新する指示を受け付ける第１の画面を表示する制御を行う。図２０は、第１の画面の一例を示す図である。図２０の例では、第１の画面には、ライセンスを更新する指示（ライセンス情報を更新する指示）を受け付けるための更新ボタン１４１が表示されている。そして、ＭＦＰ１にインストール済みのアプリケーションは、ライセンス情報を更新する指示を第１の画面から受け付けた場合、例えば図２１に示すような、プロダクトキーの入力を受け付ける第２の画面を表示する制御を行う。そして、プロダクトキーの入力を第２の画面から受け付けた場合、その受け付けたプロダクトキーを含み、かつ、ライセンス情報の更新を要求する更新要求（「第２の要求」に対応、最新のライセンスファイルを要求する「ライセンスファイル要求」であると考えることができる）を、ライセンス情報を更新する制御を行う更新制御部１３１（制御部１１４が有する機能）へ送信する。この例では、更新要求には、要求元のアプリケーションを識別する情報（例えばプロダクトＩＤなど）も含まれている。
【００８７】
図１０の説明を続ける。更新制御部１３１は、ライセンス情報を管理するライセンス管理サーバ５に対して、ＭＦＰ１にインストール済みのアプリケーションから受信した更新要求を送信し、その応答として取得した最新のライセンス情報（最新のライセンスファイルに含まれるライセンス情報）を反映させて上述の対応情報を更新する制御を行う。
【００８８】
図２２は、本実施形態の情報処理システム１００の動作手順の一例を示すシーケンス図である。まずユーザが、ＭＦＰ１にインストール済みの何れかのアプリケーションを起動する操作（例えば該アプリケーションに対応する操作画面上のアイコンを押下する操作等）を行うと（ステップＳ１）、該アプリケーションが起動する。起動したアプリケーションは、制御部１１４（インストーラ）に対して、上述のライセンス情報要求を送信する（ステップＳ２）。ライセンス情報要求を受信した制御部１１４（特定部１２９）は、上述の対応情報に基づいて、その受信したライセンス情報要求に含まれるプロダクトＩＤに対応付けられたライセンス情報を特定する（ステップＳ３）。そして、ライセンス情報要求の要求元のアプリケーションに対して、ステップＳ３で特定したライセンス情報を通知する（ステップＳ４）。なお、制御部１１４は、アプリケーションから受信したライセンス情報要求に含まれるプロダクトＩＤに対応付けられた上述のアクティベーション情報を特定し、その特定したアクティベーション情報も併せて該アプリケーションへ通知することもできる。
【００８９】
ライセンス情報要求に対する応答として制御部１１４からライセンス情報の通知を受けたアプリケーションは、該ライセンス情報を確認して、ライセンス情報の更新が必要であるか否かを判断する（ステップＳ５）。この判断方法は上述したとおりである。以下、ステップＳ５の結果が肯定である場合を例に挙げて説明する。ライセンス情報の更新が必要であると判断したアプリケーションは、上述の第１の画面を操作パネル２７に表示する制御を行う（ステップＳ６）。ユーザが、第１の画面に表示された更新ボタン１４１を押下する操作を行うと（ステップＳ７）、アプリケーションは上述の第２の画面を操作パネル２７に表示する制御を行う（ステップＳ８）。ユーザが、第２の画面からプロダクトキーを入力する操作を行うと（ステップＳ９）、アプリケーションは、制御部１１４に対して、上述の更新要求を送信する（ステップＳ１０）。制御部１１４は、アプリケーションから受信した更新要求をライセンス管理サーバ５へ送信する（ステップＳ１１）。
【００９０】
更新要求を受信したライセンス管理サーバ５は、ライセンスファイル記憶部５１２に記憶された１以上のライセンスファイルに含まれるプロダクトキーの中に、該更新要求に含まれるプロダクトキーと一致するプロダクトキーが存在するか否かを判断する。つまり、更新要求の要求元のＭＦＰ１の認証を行う（ステップＳ１２）。更新要求の要求元のＭＦＰ１を認証した場合、ライセンス管理サーバ５は、該更新要求に含まれるプロダクトキーに対応するライセンスファイルをＭＦＰ１へ送信する（ステップＳ１３）。
【００９１】
更新要求に対する応答として、ライセンス管理サーバ５からライセンスファイルを受信した制御部１１４（インストーラ）は、該ライセンスファイルに含まれるライセンス情報を反映させて対応情報を更新する（ステップＳ１４）。更新要求の要求元のアプリケーションは、更新要求に対する応答としてライセンス管理サーバ５からライセンスファイルを受信することによってアクティベートされた状態（正規のライセンスを有していると認められた状態）になり、利用可能になる。
【００９２】
図２３は、本実施形態のＭＦＰ１の動作例を示すフローチャートである。図２３のステップＳ２１では、ユーザによる起動操作を契機として、ＭＦＰ１にインストール済みの何れかのアプリケーションが起動したことを想定している。次に、起動したアプリケーションは、制御部１１４（インストーラ）から自身のライセンス情報を取得する（ステップＳ２２）。この具体的な内容は上述したとおりである。次に、該アプリケーションは、ステップＳ２２で取得したライセンス情報を確認して、ライセンス情報の更新が必要であるか否かを判断する（ステップＳ２３）。この具体的な内容は上述したとおりである。
【００９３】
ステップＳ２３の結果が否定の場合（ステップＳ２３：Ｎｏ）、処理は後述のステップＳ３２に移行する。一方、ステップＳ２３の結果が肯定の場合（ステップＳ２３：Ｙｅｓ）、アプリケーションは、上述の第１の画面を操作パネル２７に表示する制御を行う（ステップＳ２４）。そして、第１の画面に表示された更新ボタン１４１の押下を受け付けた場合（ステップＳ２５：Ｙｅｓ）、上述の第２の画面を操作パネル２７に表示する制御を行う（ステップＳ２６）。一方、更新ボタン１４１の押下を受け付けずに、第１の画面から更新しない指示を受け付けた場合（ステップＳ２５：Ｎｏ）、アプリケーションは動作を終了する（ステップＳ２７）。
【００９４】
第２の画面からプロダクトキーの入力を受け付けた場合（ステップＳ２８：Ｙｅｓ）、アプリケーションは、制御部１１４に対して上述の更新要求を送信し、制御部１１４は、アプリケーションから受信した更新要求をライセンス管理サーバ５へ送信する（ステップＳ２９）。ここでは、ライセンス管理サーバ５により、更新要求の要求元のＭＦＰ１が認証されることを前提とする。その後、制御部１１４は、更新要求に対する応答として、最新のライセンスファイルを取得する（ステップＳ３０）。次に、制御部１１４は、ステップＳ３０で取得したライセンスファイルに含まれるライセンス情報を反映させて上述の対応情報を更新する（ステップＳ３１）。そして、アプリケーションの利用が開始される（ステップＳ３２）。
【００９５】
以上に説明したように、本実施形態の制御部１１４は、ＭＦＰ１にインストール済みの何れかのアプリケーションから、プロダクトＩＤを含み、かつ、ライセンス情報を要求するライセンス情報要求（第１の要求）を受け付けた場合に、ＭＦＰ１内に保持された上述の対応情報に基づいて、該ライセンス情報要求に含まれるプロダクトＩＤに対応付けられたライセンス情報を特定する。そして、ライセンス情報要求の要求元のアプリケーションに対して、その特定したライセンス情報を通知する。これにより、インストール済みのアプリケーションは、ライセンス管理サーバ５に問い合わせることなく自身のライセンス情報を確認することができる。
【００９６】
また、上述したように、ライセンス情報は、ライセンスを付与するアプリケーションを使用することができる期間を示す有効期間情報を少なくとも含んでおり、ＭＦＰ１にインストール済みのアプリケーションは、制御部１１４から取得した自身のライセンス情報に含まれる有効期間情報を確認して、該ライセンス情報の更新が必要であるか否かを判断するので、従来のように、特定のソフトウェアが各アプリケーションのライセンス情報の更新が必要であるか否かの判断を一括して行う構成に比べて、特定のソフトウェアの処理負担が大きくなることを抑制できる（判断処理を分散できるので）。
【００９７】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００９８】
以下、実施形態の変形例を記載する。
【００９９】
（実施形態の変形例１）
例えば更新制御部１３１は、ＭＦＰ１にインストール済みのアプリケーションから上述の更新要求を受信したときに、ＭＦＰ１が他の処理を実行中の場合は、ライセンス情報を更新する制御を行わない形態であってもよい。この例では、更新制御部１３１は、アプリケーションから上述の更新要求を受信したときに、操作部２０および本体１０の各々の他のソフトウェアに対して、何れの処理も実行していない状態であるか否かを問い合わせる「アプリオフライン問い合わせ（問い合わせ情報）」を送信し、所定の処理を実行中であることを示す応答を受信した場合は、ライセンス情報を更新する制御を行わない。
【０１００】
例えば更新制御部１３１が上述の更新要求を受信したときに、ＭＦＰ１の他のアプリケーションがジョブを実行していた場合を想定する。以下の説明では、ＭＦＰ１が、特定の処理を排他的に実行できる状態（つまり、何れの処理も実行されていない状態）を「アプリオフライン」と称する。図２４は、この場合の情報処理システム１００の動作手順の一例を示すシーケンス図である。図２４に示すように、操作部２０は、本体１０側で発生したイベントを受信する監視モジュール４０をさらに有する。図２４の例で、ユーザによるアプリケーションの起動操作後（ステップＳ１）、上述したライセンス情報を確認する手順（上述したステップＳ２〜ステップＳ４の手順）を実行中に、本体１０のアプリケーションがジョブを実行する場合を想定している。
【０１０１】
図２４に示すように、本体１０のアプリ層１０１のアプリケーションは、本体１０のサービス層１０２に対して、アプリオフラインであるか否かを問い合わせる「アプリオフライン問い合わせ」を送信し（ステップＳ２１）、サービス層１０２は、アプリケーションから受信した「アプリオフライン問い合わせ」を、本体１０の他のソフトウェアへ転送するとともに操作部２０へ転送する（ステップＳ２２）。操作部２０の監視モジュール４０は、本体１０から受信した「アプリオフライン問い合わせ」を操作部２０の各ソフトウェア（アプリケーションソフトウェアやシステムソフトウェア等）へ転送する（ステップＳ２３）。説明の便宜上、ここでは、「アプリオフライン問い合わせ」の送信対象としてインストーラのみを例に挙げて説明する。図２５の例では、インストーラが「アプリオフライン問い合わせ」を受信したときに、インストーラは何も処理を実行していないことを想定しているので、インストーラは、「アプリオフライン問い合わせ」に対する応答として、何も処理を実行していないことを示す応答を監視モジュール４０へ返す（ステップＳ２４）。そして、監視モジュール４０は、各ソフトウェアから受信した応答を本体１０へ返す（ステップＳ２５）。本体１０のサービス層１０２は、操作部２０や本体１０の他のソフトウェアから、何も処理を実行していないことを示す応答を受信すると、問い合わせ元のアプリケーションに対して、アプリオフラインの確定を通知する（ステップＳ２６）。この通知を受けたアプリケーションは、ジョブの実行を開始することができる（ステップＳ２７）。
【０１０２】
図２４に示すステップＳ７〜ステップＳ１０の手順は、図２２で説明した内容と同様である。ステップＳ１０で上述の更新要求を受信したインストーラ（制御部１１４）は、上述の「アプリオフライン問い合わせ」を、操作部２０の他のソフトウェアへ送信するとともに、本体１０に対して送信する（ステップＳ２８）。このとき、図２４の例では、本体１０のアプリケーションがジョブを実行中であることを想定しているので、インストーラは、ジョブを実行中であることを示す応答を本体１０から受信する（ステップＳ２９）。この場合、インストーラは、上述の更新要求の要求元のアプリケーションに対して、ライセンス情報を更新できない旨を通知する（ステップＳ３０）。この通知を受けたアプリケーションは、ライセンス情報を更新できない旨を示すエラー画面を表示する制御を行う（ステップＳ３１）。図２５は、エラー画面の一例である。図２５の例では、エラー画面は、ライセンス情報を更新できない旨に加えて、しばらく待ってからライセンス情報を更新するための操作をやり直すことを促す旨を表示している。
【０１０３】
一方、ジョブを実行していた本体１０のアプリケーションは、ジョブの実行が完了すると、サービス層１０２に対して、アプリオフラインを開放する旨を通知し（ステップＳ３２）、その通知に対する応答を受信する（ステップＳ３３）。これにより、ＭＦＰ１の各ソフトウェアが処理の実行を再開できる。
【０１０４】
本変形例によれば、ライセンス情報を更新する制御と、ＭＦＰ１が実行する他のジョブとが衝突することを回避することができる。
【０１０５】
（実施形態の変形例２）
例えば更新制御部１３１は、上述の更新要求に含まれるプロダクトキーが不正である場合は、ライセンス情報を更新する制御を行わない形態であってもよい。プロダクトキーが不正である場合の例として、（１）プロダクトキーの入力形式が正しくない場合、（２）入力されたプロダクトキーがライセンス管理サーバ５に未登録の場合、（３）ライセンス情報の更新を要求するアプリケーションのプロダクトＩＤ（更新要求に含まれるプロダクトＩＤ）と、更新要求に対する応答としてライセンス管理サーバ５から受信したライセンスファイルに含まれるプロダクトＩＤが一致しない場合などが考えられる。
【０１０６】
図２６は、本変形例の情報処理システム１００の動作手順の一例を示すシーケンス図である。ステップＳ１０までの手順は、図２２で説明した内容と同様である。ステップＳ１０で上述の更新要求を受信した制御部１１４（インストーラ）は、更新要求に含まれるプロダクトキー（ユーザによって入力されたプロダクトキー）の形式を確認する（ステップＳ４１）。
【０１０７】
ステップＳ４１の結果、プロダクトキーの入力形式が不正な入力形式であった場合、制御部１１４は、上述の更新要求の要求元のアプリケーションに対して、プロダクトキーの入力形式が不正である旨を通知する（ステップＳ４２）。この通知を受けたアプリケーションは、プロダクトキーの入力形式が正しくないためにライセンス情報を更新できない旨を示すエラー画面を表示する制御を行う（ステップＳ４３）。
【０１０８】
一方、ステップＳ４１の結果、プロダクトキーの入力形式が正しい入力形式であった場合、制御部１１４は、ライセンス管理サーバ５に対して、上述の更新要求を送信する（ステップＳ４４）。更新要求を受信したライセンス管理サーバ５は、ライセンスファイル記憶部５１２に記憶された１以上のライセンスファイルに含まれるプロダクトキーの中に、該更新要求に含まれるプロダクトキーと一致するプロダクトキーが存在するか否かを判断する。つまり、更新要求の要求元のＭＦＰ１の認証を行う（ステップＳ４５）。
【０１０９】
ライセンス管理サーバ５は、ライセンスファイル記憶部５１２に記憶された１以上のライセンスファイルに含まれるプロダクトキーの中に、受信した更新要求に含まれるプロダクトキーと一致するプロダクトキーが存在しない場合（プロダクトキー未登録の場合）、プロダクトキーは未登録である旨をＭＦＰ１へ通知する（ステップＳ４６）。この通知を受けた制御部１１４は、更新要求の要求元のアプリケーションに対して、入力されたプロダクトキーが未登録である旨を通知する（ステップＳ４７）。この通知を受けたアプリケーションは、入力されたプロダクトキーが未登録であるためにライセンス情報を更新できない旨を示すエラー画面を表示する制御を行う（ステップＳ４８）。
【０１１０】
ライセンス管理サーバ５は、ライセンスファイル記憶部５１２に記憶された１以上のライセンスファイルに含まれるプロダクトキーの中に、受信した更新要求に含まれるプロダクトキーと一致するプロダクトキーが存在する場合（プロダクトキー登録済みの場合）、該プロダクトキーに対応するライセンスファイルをＭＦＰ１へ送信する（ステップＳ４９）。このライセンスファイルを受信した制御部１１４は、その受信したライセンスファイルに含まれるプロダクトＩＤと、更新要求の要求元のアプリケーションのプロダクトＩＤとを比較する（ステップＳ５０）。
【０１１１】
ステップＳ５０の結果、プロダクトＩＤが不一致の場合、制御部１１４は、ライセンス管理サーバ５から受信したライセンスファイルに含まれるライセンス情報を反映させて対応情報を更新することは行わない。この場合、上述の更新要求の要求元のアプリケーションとは異なる他のアプリケーションのライセンスに対して発行されたプロダクトキーが正当ではない経路でユーザに知得されてしまうことを防ぐために、制御部１１４は、更新要求の要求元のアプリケーションに対して、入力されたプロダクトキーが未登録である旨を通知し（ステップＳ５１）、この通知を受けたアプリケーションは、入力されたプロダクトキーが未登録であるためにライセンス情報を更新できない旨を示すエラー画面を表示する制御を行う（ステップＳ５２）。
【０１１２】
一方、ステップＳ５０の結果、プロダクトＩＤが一致している場合、制御部１１４は、ライセンス管理サーバ５から受信したライセンスファイルに含まれるライセンス情報を反映させて対応情報を更新する（ステップＳ５３）。そして、上述の更新要求の要求元のアプリケーションに対して、ライセンス情報の更新が完了した旨を通知する（ステップＳ５４）。この例では、この通知を受けたアプリケーションは、ライセンス情報の更新が完了した旨を示す更新完了画面を表示する制御を行う（ステップＳ５５）。
【０１１３】
本変形例によれば、正当なプロダクトキーが入力された場合に限って、ライセンス情報の更新が行われることを保証できる。
【０１１４】
（実施形態の変形例３）
例えば更新制御部１３１は、上述の更新要求を受信したときに、ＭＦＰ１とライセンス管理サーバ５とが接続されていない場合は、ライセンス情報を更新する制御を行わず、その旨を、該更新要求の要求元のアプリケーションへ通知し、この通知を受けたアプリケーションは、ライセンス管理サーバ５と接続できないためにライセンス情報を更新できない旨を示すエラー画面を表示する制御を行う形態であってもよい。
【０１１５】
図２７は、本変形例の情報処理システム１００の動作手順の一例を示すシーケンス図である。ステップＳ１０までの手順は、図２２で説明した内容と同様である。ステップＳ１０で上述の更新要求を受信した制御部１１４（インストーラ）は、ＭＦＰ１とライセンス管理サーバ５とが接続されている状態であるか否かを確認する（ステップＳ６１）。例えばライセンス管理サーバ５に対して、上述の更新要求を送信した後、一定期間にわたって応答を受信しない場合は、ＭＦＰ１とライセンス管理サーバ５とが接続されていない状態であると判断し、一定期間内に応答を受信した場合は、ＭＦＰ１とライセンス管理サーバ５とが接続されている状態であると判断することもできる。
【０１１６】
以下の説明では、ステップＳ６１の結果、ＭＦＰ１とライセンス管理サーバ５とが接続されていないと判断した場合を例に挙げて説明する。この場合、制御部１１４は、上述の更新要求の要求元のアプリケーションに対して、ＭＦＰ１とライセンス管理サーバ５とが接続されていない旨を通知する（ステップＳ６２）。この通知を受けたアプリケーションは、ＭＦＰ１とライセンス管理サーバ５とが接続されていないためにライセンス情報を更新することができない旨を示すエラー画面を表示する制御を行う（ステップＳ６３）。
【０１１７】
本変形例によれば、ライセンス情報を更新するためにプロダクトキーが入力された場合に、ＭＦＰ１とライセンス管理サーバ５とが接続されていない場合は、ライセンス情報の更新は行われずに、ライセンス管理サーバ５と接続できないためにライセンス情報を更新できない旨を示すエラー画面が表示されるので、ユーザに対してネットワーク設定の確認を促すことができる。
【０１１８】
以上に説明した実施形態および各変形例は任意に組み合わせることが可能である。
【０１１９】
また、上述した実施形態の情報処理システム１００で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【０１２０】
１      ＭＦＰ
２      アプリマーケットサーバ
３      コンポーネントサーバ
４      アプリケーションサーバ
５      ライセンス管理サーバ
６      ネットワーク
１０    本体
２０    操作部
１００  情報処理システム
１１１  表示制御部
１１２  アプリケーション一覧画面要求送信部
１１３  アプリケーション一覧画面受信部
１１４  制御部
１２１  ダウンロードＵＲＬ要求送信部
１２２  ダウンロードＵＲＬ受信部
１２３  ダウンロード部
１２４  インストール部
１２５  ライセンスファイル要求送信部
１２６  ライセンスファイル受信部
１２７  ライセンスファイル記憶制御部
１２８  対応情報記憶制御部
１２９  特定部
１３０  通知部
１３１  更新制御部
２２１  アプリケーション一覧画面要求受信部
２２２  アプリケーション一覧画面記憶制御部
２２３  アプリケーション一覧画面記憶部
２２４  アプリケーション一覧画面送信部
３００  機器情報記憶部
３０１  アプリケーション記憶部
３０２  ライセンスファイル記憶部
３０３  対応情報記憶部
３１１  ダウンロードＵＲＬ要求受信部
３１２  条件情報記憶部
３１３  判断部
３１４  ＵＲＬ情報記憶部
３１５  ダウンロードＵＲＬ送信部
４１１  ダウンロード要求受信部
４１２  アプリケーション選択部
４１３  アプリケーション記憶部
４１４  アプリケーション送信部
５１１  ライセンスファイル要求受信部
５１２  ライセンスファイル記憶部
５１３  認証部
５１４  ライセンスファイル送信部
【先行技術文献】
【特許文献】
【０１２１】
【特許文献１】特開２０１１−６５２９６号公報
【図１】
0006720519.tif 000002
【図２】
0006720519.tif 000003
【図３】
0006720519.tif 000004
【図４】
0006720519.tif 000005
【図５】
0006720519.tif 000006
【図６】
0006720519.tif 000007
【図７】
0006720519.tif 000008
【図８】
0006720519.tif 000009
【図９】
0006720519.tif 000010
【図１０】
0006720519.tif 000011
【図１１】
0006720519.tif 000012
【図１２】
0006720519.tif 000013
【図１３】
0006720519.tif 000014
【図１４】
0006720519.tif 000015
【図１５】
0006720519.tif 000016
【図１６】
0006720519.tif 000017
【図１７】
0006720519.tif 000018
【図１８】
0006720519.tif 000019
【図１９】
0006720519.tif 000020
【図２０】
0006720519.tif 000021
【図２１】
0006720519.tif 000022
【図２２】
0006720519.tif 000023
【図２３】
0006720519.tif 000024
【図２４】
0006720519.tif 000025
【図２５】
0006720519.tif 000026
【図２６】
0006720519.tif 000027
【図２７】
0006720519.tif 000028