(57)【要約】【課題】利用可能なプログラムが多数存在することによるユーザの混乱を回避すること。【解決手段】機器であって、機能に関する複数の区分のうちのいずれか１以上の区分に属するプログラムを前記機器にインストールするインストール部と、インストール対象の第１のプログラムが属する第１の区分について前記機器において利用可能なプログラムの数が、利用を可能とするプログラムの上限数を前記区分ごとに記憶した記憶部において前記第１の区分に対応する上限数に達しているか否かを判定する判定部とを有し、前記インストール部は、前記判定部による判定結果に応じて、前記第１のプログラムのインストールに関する処理を変化させる。【選択図】図４
2017208060.tif 000002
【特許請求の範囲】
【請求項１】
機器であって、
機能に関する複数の区分のうちのいずれか１以上の区分に属するプログラムを前記機器にインストールするインストール部と、
インストール対象の第１のプログラムが属する第１の区分について前記機器において利用可能なプログラムの数が、利用を可能とするプログラムの上限数を前記区分ごとに記憶した記憶部において前記第１の区分に対応する上限数に達しているか否かを判定する判定部とを有し、
前記インストール部は、前記判定部による判定結果に応じて、前記第１のプログラムのインストールに関する処理を変化させる、
ことを特徴とする機器。
【請求項２】
前記インストール部は、前記第１の区分について前記機器において利用可能なプログラムの数が、前記第１の区分に対する上限数に達している場合、前記第１のプログラムのインストールを行わない、
ことを特徴とする請求項１記載の機器。
【請求項３】
前記インストール部は、前記第１の区分について前記機器において利用可能なプログラムの数が、前記第１の区分に対する上限数に達している場合、前記第１の区分について前記機器にインストールされている各プログラムの識別情報を表示する、
ことを特徴とする請求項１記載の機器。
【請求項４】
前記インストール部は、前記各プログラムの識別情報の中から選択された識別情報に係るプログラムをアンインストールする、
ことを特徴とする請求項３記載の機器。
【請求項５】
前記インストール部は、前記第１の区分について前記機器において利用可能なプログラムの数が、前記第１の区分に対する上限数に達している場合、前記第１のプログラムのインストールを行い、前記第１のプログラムを起動しない、
ことを特徴とする請求項１記載の機器。
【請求項６】
前記インストール部は、前記各プログラムの識別情報の中から選択された識別情報に係るプログラムを停止する、
ことを特徴とする請求項３記載の機器。
【請求項７】
ネットワークを介して機器に接続される情報処理装置であって、
機能に関する複数の区分のうちのいずれか１以上の区分に属する第１のプログラムの取得要求を前記機器から受信する受信部と、
前記第１のプログラムが属する第１の区分について前記機器において利用可能なプログラムの数が、利用を可能とするプログラムの上限数を前記区分ごとに記憶した記憶部において前記第１の区分に対応する上限数に達しているか否かを判定する判定部と、
前記判定部による判定結果に応じて、前記機器に送信する情報を変化させる送信部と、
を有することを特徴とする情報処理装置。
【請求項８】
機器が、
機能に関する複数の区分のうちのいずれか１以上の区分に属するプログラムを前記機器にインストールするインストール手順と、
インストール対象の第１のプログラムが属する第１の区分について前記機器において利用可能なプログラムの数が、利用を可能とするプログラムの上限数を前記区分ごとに記憶した記憶部において前記第１の区分に対応する上限数に達しているか否かを判定する判定手順とを実行し、
前記インストール手順は、前記判定手順による判定結果に応じて、前記第１のプログラムのインストールに関する処理を変化させる、
ことを特徴とする情報処理方法。
【請求項９】
前記インストール手順は、前記第１の区分について前記機器において利用可能なプログラムの数が、前記第１の区分に対する上限数に達している場合、前記第１のプログラムのインストールを行わない、
ことを特徴とする請求項８記載の情報処理方法。
【請求項１０】
前記インストール手順は、前記第１の区分について前記機器において利用可能なプログラムの数が、前記第１の区分に対する上限数に達している場合、前記第１の区分について前記機器にインストールされている各プログラムの識別情報を表示する、
ことを特徴とする請求項８記載の情報処理方法。
【請求項１１】
前記インストール手順は、前記各プログラムの識別情報の中から選択された識別情報に係るプログラムをアンインストールする、
ことを特徴とする請求項１０記載の情報処理方法。
【請求項１２】
前記インストール手順は、前記第１の区分について前記機器において利用可能なプログラムの数が、前記第１の区分に対する上限数に達している場合、前記第１のプログラムのインストールを行い、前記第１のプログラムを起動しない、
ことを特徴とする請求項８記載の情報処理方法。
【請求項１３】
前記インストール手順は、前記各プログラムの識別情報の中から選択された識別情報に係るプログラムを停止する、
ことを特徴とする請求項８記載の情報処理方法。
【請求項１４】
ネットワークを介して機器に接続される情報処理装置が、
機能に関する複数の区分のうちのいずれか１以上の区分に属する第１のプログラムの取得要求を前記機器から受信する受信手順と、
前記第１のプログラムが属する第１の区分について前記機器において利用可能なプログラムの数が、利用を可能とするプログラムの上限数を前記区分ごとに記憶した記憶部において前記第１の区分に対応する上限数に達しているか否かを判定する判定手順と、
前記判定手順による判定結果に応じて、前記機器に送信する情報を変化させる送信手順と、
を実行することを特徴とする情報処理方法。
【請求項１５】
機器に、
機能に関する複数の区分のうちのいずれか１以上の区分に属するプログラムを前記機器にインストールするインストール手順と、
インストール対象の第１のプログラムが属する第１の区分について前記機器において利用可能なプログラムの数が、利用を可能とするプログラムの上限数を前記区分ごとに記憶した記憶部において前記第１の区分に対応する上限数に達しているか否かを判定する判定手順とを実行させ、
前記インストール手順は、前記判定手順による判定結果に応じて、前記第１のプログラムのインストールに関する処理を変化させる、
ことを特徴とする情報処理プログラム。
【請求項１６】
前記インストール手順は、前記第１の区分について前記機器において利用可能なプログラムの数が、前記第１の区分に対する上限数に達している場合、前記第１のプログラムのインストールを行わない、
ことを特徴とする請求項１５記載の情報処理プログラム。
【請求項１７】
前記インストール手順は、前記第１の区分について前記機器において利用可能なプログラムの数が、前記第１の区分に対する上限数に達している場合、前記第１の区分について前記機器にインストールされている各プログラムの識別情報を表示する、
ことを特徴とする請求項１５記載の情報処理プログラム。
【請求項１８】
前記インストール手順は、前記各プログラムの識別情報の中から選択された識別情報に係るプログラムをアンインストールする、
ことを特徴とする請求項１７記載の情報処理プログラム。
【請求項１９】
前記インストール手順は、前記第１の区分について前記機器において利用可能なプログラムの数が、前記第１の区分に対する上限数に達している場合、前記第１のプログラムのインストールを行い、前記第１のプログラムを起動しない、
ことを特徴とする請求項１５記載の情報処理プログラム。
【請求項２０】
前記インストール手順は、前記各プログラムの識別情報の中から選択された識別情報に係るプログラムを停止する、
ことを特徴とする請求項１７記載の情報処理プログラム。
【請求項２１】
ネットワークを介して機器に接続される情報処理装置に、
機能に関する複数の区分のうちのいずれか１以上の区分に属する第１のプログラムの取得要求を前記機器から受信する受信手順と、
前記第１のプログラムが属する第１の区分について前記機器において利用可能なプログラムの数が、利用を可能とするプログラムの上限数を前記区分ごとに記憶した記憶部において前記第１の区分に対応する上限数に達しているか否かを判定する判定手順と、
前記判定手順による判定結果に応じて、前記機器に送信する情報を変化させる送信手順と、
を実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
画像形成装置をはじめとする各種の機器は、アプリケーションプログラム等（以下、「アプリケーション」という。）を任意にインストールしたり、アップデートしたりすることにより、その利便性を高めることができる。
【０００３】
また、同様の機能又はサービスに関して、複数種類のアプリケーションが提供されている。例えば、画像形成装置であれば、印刷機能に関して複数種類のアプリケーション（印刷機能に関するアプリケーションの一例として、通常の印刷機能アプリのほかに、ユーザ別に必要な機能のみ設定できるシンプル印刷機能アプリ、ＩＣカードを翳して自分のジョブのみ印刷可能なセキュリティ対応印刷機能アプリなどが考えられる。）が提供されている。ユーザは、複数種類のアプリケーションの中から、自らのニーズやポリシー等に適合したアプリケーションを選択してインストールできるようになっている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、同様の機能に関する多数のアプリケーションが一つの機器にインストールされてしまうと、当該機器を共用する各ユーザは、いずれのアプリケーションを利用すればよいのか混乱してしまう可能性が有る。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、利用可能なプログラムが多数存在することによるユーザの混乱を回避することを目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、機器であって、機能に関する複数の区分のうちのいずれか１以上の区分に属するプログラムを前記機器にインストールするインストール部と、インストール対象の第１のプログラムが属する第１の区分について前記機器において利用可能なプログラムの数が、利用を可能とするプログラムの上限数を前記区分ごとに記憶した記憶部において前記第１の区分に対応する上限数に達しているか否かを判定する判定部とを有し、前記インストール部は、前記判定部による判定結果に応じて、前記第１のプログラムのインストールに関する処理を変化させる。
【発明の効果】
【０００７】
利用可能なプログラムが多数存在することによるユーザの混乱を回避することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施の形態におけるシステム構成例を示す図である。
【図２】第１の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図３】第１の実施の形態における配信サーバのハードウェア構成例を示す図である。
【図４】第１の実施の形態における各装置の機能構成例を示す図である。
【図５】第１の実施の形態における画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【図６】インストールデータの構成例を示す図である。
【図７】インストール情報記憶部の構成例を示す図である。
【図８】第２の実施の形態における画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【図９】第３の実施の形態における各装置の機能構成例を示す図である。
【図１０】第３の実施の形態における画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【図１１】第３の実施の形態における配信サーバが実行する処理手順の一例を説明するためのフローチャートである。
【図１２】第４の実施の形態における各装置の機能構成例を示す図である。
【図１３】第４の実施の形態における画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【図１４】起動情報記憶部の構成例を示す図である。
【図１５】第５の実施の形態における画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第１の実施の形態におけるシステム構成例を示す図である。図１において、１以上の画像形成装置１０と配信サーバ２０とは、ＬＡＮ（Local Area Network）又はインターネット等のネットワークを介して接続される。
【００１０】
画像形成装置１０は、印刷、スキャン、コピー、及びＦＡＸ送受信等のうちの２以上の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を有する機器が画像形成装置１０として用いられてもよい。また、本実施の形態における画像形成装置１０は、機器の一例であり、プロジェクタ、テレビ会議システム、又はデジタルカメラ等の機器が、画像形成装置１０の代わりに用いられてもよい。
【００１１】
配信サーバ２０は、画像形成装置１０から要求されたアプリケーションプログラム（以下、「アプリケーション」という。）を画像形成装置１０に配信する１以上のコンピュータである。
【００１２】
図２は、第１の実施の形態における画像形成装置のハードウェア構成例を示す図である。図２において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、操作パネル１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００１３】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、ＨＤＤ１１４、及びＮＶＲＡＭ１１５等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記憶される。ＮＶＲＡＭ１１５には、各種の設定情報等が記憶される。
【００１４】
スキャナ１２は、紙文書より画像データを読み取るためのハードウェア（画像読取手段）である。プリンタ１３は、印刷データを印刷用紙に印刷するためのハードウェア（印刷手段）である。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル１５は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。液晶パネルは、タッチパネル機能を有していてもよい。この場合、当該液晶パネルは、入力手段の機能をも兼ねる。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記憶されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記憶されたプログラムだけでなく、ＳＤカード８０に記憶されたプログラムもＲＡＭ１１２にロードされ、実行されうる。なお、他の記録媒体（例えば、ＣＤ−ＲＯＭ又はＵＳＢ（Universal Serial Bus）メモリ等）によってＳＤカード８０が代替されてもよい。すなわち、ＳＤカード８０の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、ＳＤカードスロット１７は、記録媒体の種類に応じたハードウェアによって代替されればよい。
【００１５】
図３は、第１の実施の形態における配信サーバのハードウェア構成例を示す図である。図３の配信サーバ２０は、それぞれバスＢで相互に接続されているドライブ装置２００と、補助記憶装置２０２と、メモリ装置２０３と、ＣＰＵ２０４と、インタフェース装置２０５とを有する。
【００１６】
配信サーバ２０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体２０１によって提供される。プログラムを記憶した記録媒体２０１がドライブ装置２００にセットされると、プログラムが記録媒体２０１からドライブ装置２００を介して補助記憶装置２０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体２０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置２０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１７】
メモリ装置２０３は、プログラムの起動指示があった場合に、補助記憶装置２０２からプログラムを読み出して格納する。ＣＰＵ２０４は、メモリ装置２０３に格納されたプログラムに従って配信サーバ２０に係る機能を実行する。インタフェース装置２０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１８】
図４は、第１の実施の形態における各装置の機能構成例を示す図である。図４において、画像形成装置１０は、アプリＡ及びアプリＢ等の各種のアプリケーション１２１、ファームａ及びファームｂ等の各種のファームウェア１２２、インストール指示受付部１２３、インストール対象取得部１２４、判定部１２５、並びにインストール部１２６等を有する。これら各部は、画像形成装置１０にインストールされた１以上のプログラムが、ＣＰＵ１１１に実行させる処理により実現される。画像形成装置１０は、また、インストール情報記憶部１３１を利用する。インストール情報記憶部１３１は、例えば、ＨＤＤ１１４、又は画像形成装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００１９】
アプリケーション１２１は、操作画面等のユーザインタフェースを介してユーザから要求された機能又はサービスを提供するプログラムである。
【００２０】
ファームウェア１２２は、画像形成装置１０の機能（例えば、スキャン機能、プリント機能、ファクス機能等）を利用するためのＡＰＩ（Application Program Interface）等を有するプログラムである。
【００２１】
インストール指示受付部１２３は、アプリケーション１２１のインストール指示をユーザから受け付ける。インストール指示では、インストール対象のアプリケーション１２１が指定される。インストール対象取得部１２４は、インストール対象として指定されたアプリケーション１２１のインストール用のデータ（以下、「インストールデータ」という。）を配信サーバ２０から取得（ダウンロード）する。
【００２２】
判定部１２５は、インストール対象として指定されたアプリケーション１２１について、インストール情報記憶部１３１を参照してインストールの可否を判定する。本実施の形態では、アプリケーション１２１又は画像形成装置１０等の機能に関する区分又は分類（以下、「機能種別」という。）ごとに、インストール可能なアプリケーション１２１の上限数が設定される。判定部１２５は、インストール対象として指定されたアプリケーション１２１が属する機能種別について、画像形成装置１０におけるアプリケーション１２１のインストール数と、上限数とを比較して、インストール対象のアプリケーション１２１のインストールの可否を判定する。
【００２３】
インストール情報記憶部１３１には、機能種別ごとに、既にインストールされているアプリケーション１２１の識別情報と、インストールの上限数とを示す情報等が記憶されている。
【００２４】
インストール部１２６は、インストール対象のアプリケーション１２１についてインストール処理を実行する。但し、インストール部１２６は、判定部１２５による判定結果に応じて、インストール処理を変化させる。具体的には、インストール部１２６は、インストール対象のアプリケーション１２１のインストールが可能であると判定された場合は、当該アプリケーション１２１のインストールを実行し、当該アプリケーション１２１のインストールが不可能であると判定された場合は、当該アプリケーション１２１のインストールを実行しない。
【００２５】
一方、配信サーバ２０は、アプリケーション送信部２１を有する。アプリケーション送信部２１は、配信サーバ２０にインストールされた１以上のプログラムが、ＣＰＵ２０４に実行させる処理により実現される。配信サーバ２０は、また、アプリケーション記憶部２１１を利用する。アプリケーション記憶部２１１は、例えば、補助記憶装置２０２、又は配信サーバ２０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００２６】
アプリケーション送信部２１は、画像形成装置１０からの取得要求に係るインストールデータを、画像形成装置１０に送信する。アプリケーション記憶部２１１には、画像形成装置１０にインストール可能な各アプリケーション１２１のインストールデータが記憶されている。
【００２７】
以下、第１の実施の形態において画像形成装置１０が実行する処理手順について説明する。図５は、第１の実施の形態における画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。図５において、ユーザは、画像形成装置１０を操作する。
【００２８】
ステップＳ１０１において、インストール指示受付部１２３は、アプリケーション１２１のインストール指示をユーザから受け付ける。インストール指示においては、インストール対象のアプリケーション１２１の識別情報（以下、「アプリＩＤ」という。）が指定される。例えば、インストール指示受付部１２３は、インストール可能なアプリケーション１２１の一覧情報を配信サーバ２０から取得し、当該一覧情報の中から、画像形成装置１０に既にインストールされているアプリケーション１２１の情報を除いた結果を、操作パネル１５に表示してもよい。表示された一覧情報の中からユーザによって選択されたアプリケーション１２１がインストール対象とされてもよい。以下、インストール対象のアプリケーション１２１を「対象アプリ」といい、対象アプリのアプリＩＤを「対象アプリＩＤ」という。
【００２９】
続いて、インストール対象取得部１２４は、対象アプリのインストールデータを配信サーバ２０から取得する（Ｓ１０２）。例えば、インストール対象取得部１２４は、対象アプリＩＤを含む、インストールデータの取得要求を配信サーバ２０に送信する。配信サーバ２０のアプリケーション送信部２１は、当該取得要求に含まれている対象アプリＩＤに係るインストールデータをアプリケーション記憶部２１１から取得し、当該インストールデータをインストール対象取得部１２４に送信する。
【００３０】
図６は、インストールデータの構成例を示す図である。図６に示されるように、インストールデータｄ１は、アプリケーションオブジェクトデータｄ１１とアプリケーション情報データｄ１２とを含む。
【００３１】
アプリケーションオブジェクトデータｄ１１は、アプリケーション１２１の実体、すなわち、アプリケーション１２１のプログラム部分である。アプリケーション情報データは、アプリケーション１２１の管理情報又は属性情報を含むデータである。図６において、アプリケーション情報データは、アプリ名、アプリＩＤ、及び機能種別等を含む。
【００３２】
アプリ名は、例えば、ユーザに対して提示されるアプリケーション１２１の識別情報である。アプリＩＤは、画像形成装置１０や配信サーバ２０が各アプリケーション１２１を識別するための識別情報である。但し、画像形成装置１０や配信サーバ２０は、アプリ名に基づいて、各アプリケーション１２１を識別してもよい。機能種別は、アプリケーション１２１が属する機能種別である。図６では、対象アプリが、「印刷」、「スキャン」、「配信」の３つの機能種別に属する例が示されている。すなわち、１つのアプリケーション１２１は、１又は複数の機能種別に属する。アプリケーション１２１が属する機能種別とは、画像形成装置１０が提供する機能のうち、当該アプリケーション１２１が利用する機能の機能種別であってもよいし、当該アプリケーション１２１が実現する機能の機能種別であってもよい。
【００３３】
続いて、判定部１２５は、変数Ｎに対して対象アプリの機能種別数を代入する（Ｓ１０３）。対象アプリの機能種別数とは、対象アプリが属する機能種別の数をいい、対象アプリのアプリケーション情報データの機能種別の数をカウントすることにより得ることができる。図６の例において、対象アプリの機能種別数は、３である。
【００３４】
続いて、判定部１２５は、変数ｎに１を代入する（Ｓ１０４）。変数ｎは、対象アプリが属する機能種別のうち、処理対象とされている機能種別の順番を示す変数である。以下、ｎ番目の機能種別を、「機能種別ｎ」という。図６の例では、機能種別１は、「印刷」である。
【００３５】
続いて、判定部１２５は、インストール情報記憶部１３１を参照して、機能種別ｎに関する画像形成装置１０におけるアプリケーション１２１のインストール数が、上限数未満であるか否かを判定する（Ｓ１０５）。
【００３６】
図７は、インストール情報記憶部の構成例を示す図である。図７に示されるように、インストール情報記憶部１３１には、機能種別ごとに、機能種別名、上限数、及びインストール状況等が記憶されている。
【００３７】
機能種別名は、機能種別の名称である。上限数は、当該機能種別に属するアプリケーション１２１に関するインストール数の上限値である。インストール状況は、当該機能種別に属するアプリケーション１２１のうち、画像形成装置１０に既にインストールされているアプリケーション１２１のアプリ名の一覧である。したがって、インストール状況におけるアプリ名の数を数えることで、当該機能種別に関するインストール数を得ることができる。なお、図７では、便宜上、インストール状況において、各アプリケーション１２１のアプリ名が記憶される例が示されているが、アプリＩＤが記憶されてもよい。
【００３８】
図７の例では、Ａｐｐ１が、スキャン、印刷、配信、トラッキング、機器アドレス帳参照、機器アドレス帳書込みの機能種別に属する例が示されている。また、認証に関する上限数は、１であり、Ａｐｐ８が認証に関してインストールされていることが示されている。
【００３９】
図７によれば、ＦＡＸ送信、印刷、配信、蓄積、及び機器アドレス帳参照については、インストール数が上限数に達していない。一方、認証、スキャン、ＦＡＸ受信、トラッキング、ＯＣＲ、及び機器アドレス帳書込については、インストール数が上限数に達している。
【００４０】
なお、インストール情報記憶部１３１において、上限数及びインストール状況は、画像形成装置１０ごとに異なっていてもよいし、複数の画像形成装置１０に関して共通であってもよい。後者の場合、複数の画像形成装置１０に関する情報が、例えば、配信サーバ２０等において一元的に管理されてもよい。
【００４１】
機能種別ｎに関するインストール数が上限数未満である場合（Ｓ１０５でＹｅｓ）、判定部１２５は、ｎがＮ未満であるか否かを判定する（Ｓ１０６）。すなわち、対象アプリが属する全ての機能種別に関してインストール数と上限数との比較が行われたか否かが判定される。
【００４２】
ｎがＮ未満である場合（Ｓ１０６でＮｏ）、ｎに１が加算されて（Ｓ１０７）、ステップＳ１０５以降が繰り返される。すなわち、対象アプリが属する機能種別のうち、次の機能種別に関してステップＳ１０５以降が実行される。
【００４３】
ｎがＮと同じ値である場合（Ｓ１０６でＹｅｓ）、判定部１２５は、対象アプリのインストールが可能（Ｓ１０８で「インストール可」）であると判定する（Ｓ１０８）。続いて、インストール部１２６は、対象アプリのインストールデータを画像形成装置１０にインストールする（Ｓ１０９）。インストール部１２６は、インストールに成功すると、インストール情報記憶部１３１の内容を更新する。すなわち、インストール部１２６は、対象アプリが属する各機能種別に対応付けて対象アプリのアプリ名をインストール情報記憶部１３１に記憶する。
【００４４】
一方、いずれかの機能種別ｎについて、インストール数が上限数に達している場合（Ｓ１０５でＮｏ）、判定部１２５は、対象アプリのインストールは不可能（Ｓ１１０で「インストール不可」）であると判定する（Ｓ１１０）。この場合、インストール部１２６は、対象アプリのインストールを実行しない。すなわち、複数の機能種別に属するアプリケーション１２１の場合、いずれか一つの機能種別についてインストール数が上限数に達していれば、インストールが許可されない。
【００４５】
上述したように、第１の実施の形態によれば、画像形成装置１０へのアプリケーション１２１のインストールを制限することができる。その結果、同様の機能に関して多数のアプリケーション１２１が無制限にインストールされるのを回避することができ、利用可能なアプリケーション１２１が多数存在することによるユーザの混乱を回避することができる。
【００４６】
また、多数のアプリケーション１２１がインストールされるのが回避されることで、画像形成装置１０のリソースの使用の競合が発生する頻度を低下させることができる。
【００４７】
また、同じデータを利用する複数のアプリケーション１２１の仕様の違いにより、当該データに不整合が発生してしまう可能性を低下させることができる。例えば、アプリＡとアプリＢとがアドレス帳への書き込みを行うアプリケーション１２１であり、それぞれの書き込み形式が異なるとする。この場合、アプリＡによってアドレス帳が更新された場合、アプリＢは、当該アドレス帳を読み込めなくなってしまう可能性が有る。このような場合には、例えば、機器アドレス帳書込に関するアプリケーション１２１の上限数を１とすることで、このような事態の発生を回避することができる。
【００４８】
次に、第２の実施の形態について説明する。第２の実施の形態では第１の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第１の実施の形態と同様でもよい。
【００４９】
図８は、第２の実施の形態における画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。図８中、図５と同一ステップには同一符号を付し、その説明は省略する。
【００５０】
図８では、インストールが不可能であると判定された後（すなわち、ステップＳ１１０の後）の処理手順が、図５と異なる。
【００５１】
ステップＳ１１０に続いて、インストール部１２６は、機能種別ｎに関して既にインストールされているアプリ名の一覧を、インストール情報記憶部１３１から取得する（Ｓ１１１）。すなわち、機能種別ｎに関するインストール状況の内容が取得される。続いて、インストール部１２６は、取得されたアプリ名の一覧を、それぞれのアプリ名が選択可能な状態で操作パネル１５に表示する（Ｓ１１２）。当該一覧が表示されることで、ユーザは、対象アプリをインストール可能とするために、いずれのアプリケーション１２１をアンインストールすればよいのかを知ることができる。
【００５２】
続いて、ユーザによっていずれかのアプリ名が選択されると（Ｓ１１３）、インストール部１２６は、当該アプリ名に係るアプリケーション１２１を画像形成装置１０からアンインストールする（Ｓ１１４）。インストール部１２６は、アンインストールに成功すると、インストール情報記憶部１３１の内容を更新する。すなわち、インストール部１２６は、対象アプリが属する各機能種別に対応付けられてインストール情報記憶部１３１に記憶されているアプリ名の中から、アンインストールされたアプリのアプリ名を削除する。続いて、ステップＳ１０６以降が継続される。
【００５３】
上述したように、第２の実施の形態によれば、対象アプリのインストールが許可されない原因となっているアプリケーション１２１をユーザに通知することができる。また、通知されたアプリケーション１２１の中からユーザによって選択されたアプリケーション１２１が自動的にアンインストールされるため、対象アプリをインストールするためのユーザの操作負担を軽減することができる。
【００５４】
次に、第３の実施の形態について説明する。第３の実施の形態では第１の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第１の実施の形態と同様でもよい。
【００５５】
図９は、第３の実施の形態における各装置の機能構成例を示す図である。図９中、図４と同一部分には同一符号を付し、その説明は省略する。図９において、画像形成装置１０は、判定部１２５及びインストール情報記憶部１３１を有さない。
【００５６】
一方、配信サーバ２０は、インストール情報記憶部２１２を利用する。インストール情報記憶部２１２は、第１又は第２の実施の形態におけるインストール情報記憶部１３１と同様の構成を有する。但し、インストール情報記憶部２１２には、インストール情報記憶部１３１に記憶されていた情報が、画像形成装置１０の個体ごとに記憶されていてもよい。例えば、画像形成装置１０の個体ごとの識別情報（以下、「機器ＩＤ」という。）に関連付けられて、図７に示した情報がインストール情報記憶部２１２に記憶されていてもよい。
【００５７】
図１０は、第３の実施の形態における画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。図１０中、図５と同一ステップには同一符号を付し、その説明は省略する。
【００５８】
第３の実施の形態では、インストールデータの取得に成功した場合（Ｓ１２１でＹｅｓ）、インストール部１２６は対象アプリのインストールを実行する。インストールデータの取得に成功した場合とは、インストールデータが配信サーバ２０から送信された場合である。
【００５９】
インストールデータの取得に失敗した場合（Ｓ１２１でＮｏ）、インストール部１２６は、対象アプリのインストールを実行しない。インストールデータの取得に失敗した場合とは、インストールが不可能であることを示す情報が配信サーバ２０から送信された場合である。
【００６０】
図１１は、第３の実施の形態における配信サーバが実行する処理手順の一例を説明するためのフローチャートである。
【００６１】
ステップＳ２０１において、アプリケーション送信部２１は、インストールデータの取得要求を受信する。続いて、アプリケーション送信部２１は、当該取得要求に含まれているアプリＩＤに係るインストールデータをアプリケーション記憶部２１１から取得する（Ｓ２０２）。
【００６２】
続くステップＳ２０３〜Ｓ２０８については、図５におけるステップＳ１０３〜Ｓ１０８と同様の処理が、アプリケーション送信部２１によって実行される。但し、インストール情報記憶部２１２に記憶されている情報が、画像形成装置１０の個体ごとに区別されている場合、インストールデータの取得要求に含まれている機器ＩＤに対応する情報が利用される。
【００６３】
アプリケーション送信部２１は、インストールが可能であると判定した場合（Ｓ２０８）、ステップＳ２０２において取得したインストールデータを、インストールデータの取得要求の送信元の画像形成装置１０に送信する（Ｓ２０９）。
【００６４】
一方、いずれかの機能種別ｎについて、インストール数が上限数に達している場合（Ｓ２０５でＮｏ）、アプリケーション送信部２１は、対象アプリのインストールが不可能であることを示す情報（「インストール不可」）を画像形成装置１０に送信する（Ｓ２１０）。
【００６５】
上述したように、対象アプリのインストールの可否は、画像形成装置１０の外部の装置によって判定されてもよい。
【００６６】
次に、第４の実施の形態について説明する。第４の実施の形態では第２の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第２の実施の形態と同様でもよい。
【００６７】
図１２は、第４の実施の形態における各装置の機能構成例を示す図である。図１２において、画像形成装置１０は、起動情報記憶部１３２を利用する。起動情報記憶部１３２は、例えば、ＨＤＤ１１４、又は画像形成装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００６８】
起動情報記憶部１３２には、機能種別ごとに、画像形成装置１０において起動されているアプリケーション１２１の識別情報と、起動数の上限とを示す情報等が記憶されている。
【００６９】
図１３は、第４の実施の形態における画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。図１３中、図８と同一ステップには、同一ステップ番号を付し、その説明は適宜省略する。
【００７０】
図１３では、ステップＳ１０５が、Ｓ１０５ａに置き換えられている。ステップＳ１０５ａにおいて、判定部１２５は、起動情報記憶部１３２を参照して、機能種別ｎに関する画像形成装置１０におけるアプリケーション１２１の起動数が、上限数未満であるか否かを判定する。
【００７１】
図１４は、起動情報記憶部の構成例を示す図である。図１４に示されるように、起動情報記憶部１３２には、機能種別ごとに、機能種別名、上限数、及び起動状況等が記憶されている。上限数及び起動状況以外の意味は、図７において説明した通りである。上限数は、当該機能種別に属するアプリケーション１２１に関する起動数の上限値である。起動状況は、当該機能種別に属するアプリケーション１２１のうち、画像形成装置１０において現在起動されているアプリケーション１２１のアプリ名の一覧である。したがって、起動状況におけるアプリ名の数を数えることで、当該機能種別に関する起動数を得ることができる。
【００７２】
機能種別ｎに関する起動数が上限数未満である場合（Ｓ１０５ａでＹｅｓ）、判定部１２５は、ｎがＮ未満であるか否かを判定する（Ｓ１０６）。すなわち、対象アプリが属する全ての機能種別に関して起動数と上限数との比較が行われたか否かが判定される。
【００７３】
ｎがＮ未満である場合（Ｓ１０６でＮｏ）、ｎに１が加算されて（Ｓ１０７）、ステップＳ１０５ａ以降が繰り返される。すなわち、対象アプリが属する機能種別のうち、次の機能種別に関してステップＳ１０５ａ以降が実行される。
【００７４】
ｎがＮと同じ値である場合（Ｓ１０６でＹｅｓ）、判定部１２５は、対象アプリの起動が可能（Ｓ１０８で「起動可」）であると判定する（Ｓ１０８ａ）。続いて、インストール部１２６は、対象アプリのインストールデータを画像形成装置１０にインストールする（Ｓ１０９）。続いて、インストール部１２６は、対象アプリを起動する（Ｓ１１５）。インストール部１２６は、起動に成功すると、起動情報記憶部１３２の内容を更新する。すなわち、インストール部１２６は、対象アプリが属する各機能種別に対応付けて対象アプリのアプリ名を起動情報記憶部１３２に記憶する。
【００７５】
一方、いずれかの機能種別ｎについて、起動数が上限数に達している場合（Ｓ１０５ａでＮｏ）、判定部１２５は、対象アプリの起動はこのままでは不可能（Ｓ１１０で「起動可」）であると判定する（Ｓ１１０ａ）。
【００７６】
続いて、インストール部１２６は、機能種別ｎに関して既に起動されているアプリ名の一覧を、起動情報記憶部１３２から取得する（Ｓ１１１ａ）。すなわち、機能種別ｎに関する起動状況の内容が取得される。続いて、インストール部１２６は、取得されたアプリ名の一覧を、それぞれのアプリ名が選択可能な状態で操作パネル１５に表示する（Ｓ１１２ａ）。当該一覧が表示されることで、ユーザは、対象アプリを起動可能とするために、いずれのアプリケーション１２１を停止すればよいのかを知ることができる。
【００７７】
続いて、ユーザによっていずれかのアプリ名が選択されると（Ｓ１１３ａ）、インストール部１２６は、当該アプリ名に係るアプリケーション１２１を停止させる（Ｓ１１４ａ）。インストール部１２６は、停止に成功すると、起動情報記憶部１３２の内容を更新する。すなわち、インストール部１２６は、対象アプリが属する各機能種別に対応付けられて起動情報記憶部１３２に記憶されているアプリ名の中から、停止されたアプリのアプリ名を削除する。続いて、ステップＳ１０６以降が継続される。
【００７８】
上述したように、第４の実施の形態によれば、アプリケーション１２１の起動数を制限することができる。その結果、同様の機能に関して多数のアプリケーション１２１が起動されることを回避することができ、利用可能なアプリケーション１２１が多数存在することによるユーザの混乱を回避することができる。
【００７９】
また、インストール数に上限が設けられていないため、とりあえずインストールを行い、各アプリケーション１２１の利用後に不要なアプリケーション１２１をアンインストールする、といった運用も可能とすることができる。
【００８０】
次に、第５の実施の形態について説明する。第５の実施の形態では第４の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第４の実施の形態と同様でもよい。
【００８１】
図１５は、第５の実施の形態における画像形成装置が実行する処理手順の一例を説明するためのフローチャートである。図１５中、図１３と同一ステップには同一ステップ番号を付し、その説明は省略する。
【００８２】
図１５では、ステップＳ１０４が、ステップＳ１０４ａに置き換えられている。ステップＳ１０４ａにおいて、判定部１２５は、更に、起動フラグにＴｒｕｅを設定する。起動フラグとは、対象アプリを起動するか否かを示す情報であり、Ｔｒｕｅ又はＦａｌｓｅの値が設定されうる。Ｔｒｕｅは、対象アプリを起動することを示す。Ｆａｌｓｅは、対象アプリを起動しないことを示す。
【００８３】
また、図１５では、図１３のステップＳ１１０ａ〜Ｓ１１４ａが、ステップＳ１１６に置き換えられている。ステップＳ１１６において、判定部１２５は、起動フラグにＦａｌｓｅを設定する。
【００８４】
更に、図１５では、ステップＳ１１５の前にステップＳ１１７が実行される。ステップＳ１１７において、インストール部１２６は、起動フラグがＴｒｕｅであるか否かを判定する。起動フラグがＴｒｕｅである場合（Ｓ１１７でＹｅｓ）、インストール部１２６は、対象アプリを起動する（Ｓ１１５）。起動フラグがＦａｌｓｅである場合（Ｓ１１７でＮｏ）、インストール部１２６は、対象アプリを起動しない。
【００８５】
上述したように、第５の実施の形態によっても、第４の実施の形態と同様の効果を得ることができる。
【００８６】
なお、上記各実施の形態においては、アプリケーション１２１のインストール等について説明したが、ファームウェア１２２等、アプリケーション１２１以外のプログラムについて、上記各実施の形態が適用されてもよい。
【００８７】
なお、上記各実施の形態において、画像形成装置１０は、機器の一例である。配信サーバ２０は、情報処理装置の一例である。アプリケーション送信部２１は、受信部、請求項５の判定部１２５、並びに送信部の一例である。第１から第３の実施の形態において、画像形成装置１０にインストールされているアプリケーション１２１が、機器において利用可能なプログラムの一例であり、インストール情報記憶部１３１の上限数が、利用可能とするプログラムの上限数の一例である。第４及び第５の実施の形態において、画像形成装置１０において起動されているアプリケーション１２１が、機器において利用可能なプログラムの一例であり、起動情報記憶部１３２の上限数が、利用可能とするプログラムの上限数の一例である。
【００８８】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８９】
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          配信サーバ
２１          アプリケーション送信部
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１１５        ＮＶＲＡＭ
１２１        アプリケーション
１２２        ファームウェア
１２３        インストール指示受付部
１２４        インストール対象取得部
１２５        判定部
１２６        インストール部
１３１        インストール情報記憶部
１３２        起動情報記憶部
２００        ドライブ装置
２０１        記録媒体
２０２        補助記憶装置
２０３        メモリ装置
２０４        ＣＰＵ
２０５        インタフェース装置
２１１        アプリケーション記憶部
２１２        インストール情報記憶部
Ｂ            バス
【先行技術文献】
【特許文献】
【００９０】
【特許文献１】特開２０１２−４８４６４号公報
【図１】
2017208060.tif 000003
【図２】
2017208060.tif 000004
【図３】
2017208060.tif 000005
【図４】
2017208060.tif 000006
【図５】
2017208060.tif 000007
【図６】
2017208060.tif 000008
【図７】
2017208060.tif 000009
【図８】
2017208060.tif 000010
【図９】
2017208060.tif 000011
【図１０】
2017208060.tif 000012
【図１１】
2017208060.tif 000013
【図１２】
2017208060.tif 000014
【図１３】
2017208060.tif 000015
【図１４】
2017208060.tif 000016
【図１５】
2017208060.tif 000017