(57)【特許請求の範囲】
【請求項１】
第一のプログラム実行環境提供手段を有し、所定の通信プロトコルを利用した第一のインタフェース仕様に従った要求の入力に応じて前記第一のプログラム実行環境提供手段を利用する第一のプログラムの管理処理を実行する第一の画像形成装置とネットワークを介して接続される第二の画像形成装置であって、
第二のインタフェース仕様に従った要求の入力に応じ、前記第一のプログラム実行環境提供手段と異なる構成を有する第二のプログラム実行環境提供手段を利用する第二のプログラムの管理処理を実行するプログラム管理手段と、
前記第一のインタフェース仕様に従った要求の入力を受け付ける互換インタフェース提供手段と、
前記互換インタフェース提供手段によって受け付けられた要求を前記第二のインタフェース仕様に従った要求に変換し、変換後の要求を前記プログラム管理手段に入力する変換手段とを有し、
前記プログラム管理手段は、前記第二のインタフェース仕様に従った、前記第二の画像形成装置にインストールされている前記第二のプログラムの情報の取得要求に応じ、該情報を記憶手段より取得する画像形成装置。
【請求項２】
前記互換インタフェース提供手段は、前記プログラム管理手段が出力する、前記変換後の要求に応じた処理の結果情報を、前記第一のインタフェース仕様に従った形式によって前記所定の通信プロトコルを利用して前記要求の入力元に返信する請求項１記載の画像形成装置。
【請求項３】
前記プログラム管理手段は、前記第二のインタフェース仕様に従った前記第二のプログラムのインストール要求の入力に応じ、該第二のプログラムのインストールを実行する請求項１又は２記載の画像形成装置。
【請求項４】
前記プログラム管理手段は、前記第二のインタフェース仕様に従った、前記第二の画像形成装置にインストールされている前記第二のプログラムの一覧情報の取得要求に応じ、該一覧情報を記憶手段より取得する請求項１乃至３いずれか一項記載の画像形成装置。
【請求項５】
前記プログラム管理手段は、前記第二のインタフェース仕様に従った前記第二のプログラムのアンインストール要求の入力に応じ、該第二のプログラムのアンインストールを実行する請求項１乃至４いずれか一項記載の画像形成装置。
【請求項６】
前記第一の画像形成装置及び前記第二の画像形成装置の少なくともいずれか一方は、情報処理装置である請求項１乃至５いずれか一項記載の画像形成装置。
【請求項７】
第一のプログラム実行環境提供手段を有し、所定の通信プロトコルを利用した第一のインタフェース仕様に従った要求の入力に応じて前記第一のプログラム実行環境提供手段を利用する第一のプログラムの管理処理を実行する第一の画像形成装置と、該第一の画像形成装置とネットワークを介して接続される第二の画像形成装置とを有するプログラム管理システムであって、
前記第二の画像形成装置は、
第二のインタフェース仕様に従った要求の入力に応じ、前記第一のプログラム実行環境提供手段と異なる構成を有する第二のプログラム実行環境提供手段を利用する第二のプログラムの管理処理を実行するプログラム管理手段と、
前記第一のインタフェース仕様に従った要求の入力を受け付ける互換インタフェース提供手段と、
前記互換インタフェース提供手段によって受け付けられた要求を前記第二のインタフェース仕様に従った要求に変換し、変換後の要求を前記プログラム管理手段に入力する変換手段とを有し、
前記プログラム管理手段は、前記第二のインタフェース仕様に従った、前記第二の画像形成装置にインストールされている前記第二のプログラムの情報の取得要求に応じ、該情報を記憶手段より取得するプログラム管理システム。
【請求項８】
前記第一の画像形成装置及び前記第二の画像形成装置の少なくともいずれか一方は、情報処理装置である請求項７記載のプログラム管理システム。
【請求項９】
第一のプログラム実行環境提供手段を有し、所定の通信プロトコルを利用した第一のインタフェース仕様に従った要求の入力に応じて前記第一のプログラム実行環境提供手段を利用する第一のプログラムの管理処理を実行する第一の画像形成装置とネットワークを介して接続される第二の画像形成装置が実行するプログラム管理方法であって、
第二のインタフェース仕様に従った要求の入力に応じ、前記第一のプログラム実行環境提供手段と異なる構成を有する第二のプログラム実行環境提供手段を利用する第二のプログラムの管理処理を実行するプログラム管理手順と、
前記第一のインタフェース仕様に従った要求の入力を受け付ける互換インタフェース提供手順と、
前記互換インタフェース提供手順において受け付けられた要求を前記第二のインタフェース仕様に従った要求に変換し、変換後の要求を前記プログラム管理手順に入力する変換手順とを有し、
前記プログラム管理手順は、前記第二のインタフェース仕様に従った、前記第二の画像形成装置にインストールされている前記第二のプログラムの情報の取得要求に応じ、該情報を記憶手段より取得するプログラム管理方法。
【請求項１０】
前記互換インタフェース提供手順は、前記プログラム管理手順が出力する、前記変換後の要求に応じた処理の結果情報を、前記第一のインタフェース仕様に従った形式によって前記所定の通信プロトコルを利用して前記要求の入力元に返信する請求項９記載のプログラム管理方法。
【請求項１１】
前記プログラム管理手順は、前記第二のインタフェース仕様に従った前記第二のプログラムのインストール要求の入力に応じ、該第二のプログラムのインストールを実行する請求項９又は１０記載のプログラム管理方法。
【請求項１２】
前記プログラム管理手順は、前記第二のインタフェース仕様に従った、前記第二の画像形成装置にインストールされている前記第二のプログラムの一覧情報の取得要求に応じ、該一覧情報を記憶手段より取得する請求項９乃至１１いずれか一項記載のプログラム管理方法。
【請求項１３】
前記プログラム管理手順は、前記第二のインタフェース仕様に従った前記第二のプログラムのアンインストール要求の入力に応じ、該第二のプログラムのアンインストールを実行する請求項９乃至１２いずれか一項記載のプログラム管理方法。
【請求項１４】
前記第一の画像形成装置及び前記第二の画像形成装置の少なくともいずれか一方は、情報処理装置である請求項９乃至１３いずれか一項記載のプログラム管理方法。
【請求項１５】
第一のプログラム実行環境提供手段を有し、所定の通信プロトコルを利用した第一のインタフェース仕様に従った要求の入力に応じて前記第一のプログラム実行環境提供手段を利用する第一のプログラムの管理処理を実行する第一の画像形成装置とネットワークを介して接続される第二の画像形成装置を、
第二のインタフェース仕様に従った要求の入力に応じ、前記第一のプログラム実行環境提供手段と異なる構成を有する第二のプログラム実行環境提供手段を利用する第二のプログラムの管理処理を実行するプログラム管理手段と、
前記第一のインタフェース仕様に従った要求の入力を受け付ける互換インタフェース提供手段と、
前記互換インタフェース提供手段によって受け付けられた要求を前記第二のインタフェース仕様に従った要求に変換し、変換後の要求を前記プログラム管理手段に入力する変換手段として機能させ、
前記プログラム管理手段は、前記第二のインタフェース仕様に従った、前記第二の画像形成装置にインストールされている前記第二のプログラムの情報の取得要求に応じ、該情報を記憶手段より取得するプログラム管理プログラム。
【請求項１６】
前記互換インタフェース提供手段は、前記プログラム管理手段が出力する、前記変換後の要求に応じた処理の結果情報を、前記第一のインタフェース仕様に従った形式によって前記所定の通信プロトコルを利用して前記要求の入力元に返信する請求項１５記載のプログラム管理プログラム。
【請求項１７】
前記プログラム管理手段は、前記第二のインタフェース仕様に従った前記第二のプログラムのインストール要求の入力に応じ、該第二のプログラムのインストールを実行する請求項１５又は１６記載のプログラム管理プログラム。
【請求項１８】
前記プログラム管理手段は、前記第二のインタフェース仕様に従った、前記第二の画像形成装置にインストールされている前記第二のプログラムの一覧情報の取得要求に応じ、該一覧情報を記憶手段より取得する請求項１５乃至１７いずれか一項記載のプログラム管理プログラム。
【請求項１９】
前記プログラム管理手段は、前記第二のインタフェース仕様に従った前記第二のプログラムのアンインストール要求の入力に応じ、該第二のプログラムのアンインストールを実行する請求項１５乃至１８いずれか一項記載のプログラム管理プログラム。
【請求項２０】
前記第一の画像形成装置及び前記第二の画像形成装置の少なくともいずれか一方は、情報処理装置である請求項１５乃至１９いずれか一項記載のプログラム管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、プログラム管理システム、プログラム管理方法、及びプログラム管理プログラムに関する。
【背景技術】
【０００２】
近年、主として複合機又は融合機と呼ばれる画像形成装置においては、公開されたＡＰＩ（Application Program Interface）を備えたアプリケーションプラットフォーム（アプリケーション実行環境）が搭載されている。したがって、画像形成装置のメーカー以外のサードベンダ等によって開発されたアプリケーションも画像形成装置上で利用することが可能である。
【０００３】
このような画像形成装置は、アプリケーションを管理するための管理機構を備えている。例えば、特許文献１には、一台の画像形成装置内に実装されている複数のアプリケーションプラットフォーム上のアプリケーションを統合的に管理するための機構が開示されている。
【０００４】
斯かる画像形成装置に関して、ハードウェア構成の変化に応じて又は市場からの要求に応じて、アプリケーションプラットフォームのソフトウェアアーキテクチャが根本的に見直され、新しい構成を有するアプリケーションプラットフォームが開発される場合がある。この場合、新たなアプリケーションプラットフォームにおけるアプリケーションの管理機構は、従来のものとは異なったものとなる可能性がある。
【０００５】
新たなアプリケーションプラットフォームが実装された新たな画像形成装置が市場に投入された場合、オフィス内に既に設置されている従来の画像形成装置の全てが或る時点を境にして新たな画像形成装置に置き換えられることは極めて希である。したがって、通常は、従来の画像形成装置と新たな画像形成装置とがオフィス内において混在する状況が発生する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の画像形成装置のアプリケーション管理機構と、新たな画像形成装置のアプリケーション管理機構とが異なる場合、ユーザは、双方のアプリケーション管理機構を使い分けなければならない。このような状況は、ユーザにとって負担であり、新たな画像形成装置への置き換えに対する阻害要因にもなりかねない。
【０００７】
本発明は、上記の点に鑑みてなされたものであって、複数の画像形成装置のプログラムの管理を統合化することのできる画像形成装置、プログラム管理システム、プログラム管理方法、及びプログラム管理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、本発明は、第一のプログラム実行環境提供手段を有し、所定の通信プロトコルを利用した第一のインタフェース仕様に従った要求の入力に応じて前記第一のプログラム実行環境提供手段を利用する第一のプログラムの管理処理を実行する第一の画像形成装置とネットワークを介して接続される第二の画像形成装置であって、第二のインタフェース仕様に従った要求の入力に応じ、前記第一の実行環境提供手段と異なる構成を有する第二のプログラム実行環境提供手段を利用する第二のプログラムの管理処理を実行するプログラム管理手段と、前記第一のインタフェース仕様に従った要求の入力を受け付ける互換インタフェース提供手段と、前記互換インタフェース提供手段によって受け付けられた要求を前記第二のインタフェース仕様に従った要求に変換し、変換後の要求を前記プログラム管理手段に入力する仲介手段とを有する。
【０００９】
このような画像形成装置では、複数の画像形成装置のプログラムの管理を統合化することができる。
【発明の効果】
【００１０】
本発明によれば、複数の画像形成装置のプログラムの管理を統合化することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態におけるシステム構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図３】旧画像形成装置のソフトウェア構成例を示す図である。
【図４】新画像形成装置のソフトウェア構成例を示す図である。
【図５】新画像形成装置のアプリケーション管理機構と旧画像形成装置のアプリケーション管理機構との統合の仕組みを説明するための図である。
【図６】アプリケーションのインストール処理の処理手順を説明するためのシーケンス図である。
【図７】機能拡張初期設定画面の表示例を示す図である。
【図８】１つのＳＤＫアプリに関するアプリ情報の例を示す図である。
【図９】旧画像形成装置に関するインストール可能リスト画面の表示例を示す図である。
【図１０】インストールによって更新されたアプリ情報の例を示す図である。
【図１１】新画像形成装置に関するインストール可能リスト画面の表示例を示す図である。
【図１２】アプリケーションの起動処理の処理手順を説明するためのシーケンス図である。
【図１３】起動設定画面の表示例を示す図である。
【図１４】アプリケーションの起動によって更新された起動設定画面の表示例を示す図である。
【図１５】アプリケーションの停止処理の処理手順を説明するためのシーケンス図である。
【図１６】アプリケーションのアンインストール処理の処理手順を説明するためのシーケンス図である。
【図１７】アンインストール画面の表示例を示す図である。
【図１８】統合的な操作環境が汎用的なコンピュータによって提供される場合のシステム構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるシステム構成例を示す図である。
【００１３】
同図において、画像形成装置１０及び画像形成装置２０は、例えば、一つのオフィス内においてＬＡＮ（Local Area Network）等のネットワーク５０（有線又は無線の別は問わない。）を介して接続されている。
【００１４】
画像形成装置１０及び画像形成装置２０は、いずれも公開されたＡＰＩ（Application Program Interface）を備えたアプリケーションプラットフォーム（アプリケーション実行環境（プログラム実行環境提供手段））を有するという点において共通する。但し、両者のアプリケーションプラットフォームのソフトウェアーキテクチャは（構成）は異なる。また、両者のアプリケーションプラットフォームのＡＰＩも異なる。
【００１５】
本実施の形態において、画像形成装置１０は、画像形成装置２０より新しいアプリケーションプラットフォームを備えていることとする。したがって、画像形成装置１０を新画像形成装置１０ともいう。また、画像形成装置２０を旧画像形成装置２０ともいう。
【００１６】
図２は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図２において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、操作パネル１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００１７】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、及びＨＤＤ１１４等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記録される。
【００１８】
スキャナ１２は、原稿より画像データを読み取るためのハードウェアである。プリンタは１３、印刷データを印刷用紙に印刷するためのハードウェアである。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル１５は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段（表示領域）を備えたハードウェアである。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記録されたプログラムだけでなく、ＳＤカード８０に記録されたプログラムもＲＡＭ１１２にロードされ、実行されうる。
【００１９】
なお、図２に示されているのは新画像形成装置１０のハードウェア構成例であるが、旧画像形成装置２０のハードウェア構成についても、図２に示されるものと同様でよい。
【００２０】
図３は、旧画像形成装置のソフトウェア構成例を示す図である。同図において、旧画像形成装置２０は、標準アプリ２２１、アプリ管理サービス２２２、ＳＤＫアプリ２２３、ＳＤＫプラットフォーム２２４、コントロールサービス２２５、及びＯＳ２２６等を有する。
【００２１】
ＯＳ２２６は、いわゆるＯＳ（Operating System）である。旧画像形成装置２０上の各ソフトウェアは、ＯＳ２２６上においてプロセス又はスレッドとして起動される。
【００２２】
標準アプリ２２１は、旧画像形成装置２０に標準的に（出荷時に予め）実装されているアプリケーションの集合である。同図では、スキャンアプリ２２１１、印刷アプリ２２１２、コピーアプリ２２１３、及びＦＡＸアプリ２２１４が例示されている。スキャンアプリ２２１１は、スキャンジョブを実行する。印刷アプリ２２１２は印刷ジョブを実行する。コピーアプリ２２１３は、コピージョブを実行する。ＦＡＸアプリ２２１４は、ＦＡＸの送信ジョブ又は受信ジョブを実行する。
【００２３】
コントロールサービス２２５は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関する機能、スキャナの制御機能、プリンタの制御機能、メモリの管理機能等を有する。
【００２４】
ＳＤＫアプリ２２３は、旧画像形成装置２０の出荷後において、旧画像形成装置２０の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションである。同図では、ＳＤＫアプリ２２３として、ＳＤＫアプリ２２３ａ、ＳＤＫアプリ２２３ｂ、及びＳＤＫアプリ２２３ｃが例示されている。
【００２５】
ＳＤＫプラットフォーム２２４は、ＳＤＫアプリ２２３の実行環境を提供する、ＳＤＫアプリ２２３のアプリケーションプラットフォーム（プログラム実行環境提供手段）である。各ＳＤＫアプリ２２３は、ＳＤＫプラットフォーム２２４が提供するＡＰＩ（Application Program Interface）を利用して開発される。ＳＤＫプラットフォーム２２４のＡＰＩは公開されており、サードベンダ等によってもＳＤＫアプリ２２３は開発されうる。ＡＰＩとは、具体的には、関数又はメソッド等の集合である。また、広義においては、非同期に発生するイベント等をＳＤＫアプリ２２３に通知するための仕組み等もＡＰＩに含まれる。
【００２６】
同図において、ＳＤＫプラットフォーム２２４は、アプリ管理通信制御モジュール２２４１及びアプリ管理実行モジュール２２４２等を含む。アプリ管理通信制御モジュール２２４１は、ＨＴＴＰ（HyperText Transfer Protocol）を利用した所定のインタフェース仕様（リクエスト（若しくはコマンド）仕様又はリクエスト形式）に従った要求の入力を受け付け（要求を受信し）、当該要求をアプリ管理実行モジュール２２４２に入力する。アプリ管理実行モジュール２２４２は、要求の入力に応じ、ＳＤＫアプリ２２３の管理に関する各種処理のうち、当該要求に対応した処理を実行する。アプリ管理通信制御モジュール２２４１は、アプリ管理実行モジュール２２４２による処理の結果を示す結果情報を上記所定のインタフェース仕様に従った形式に成形し、成形された結果情報を含む応答を要求の入力元に返信する。
【００２７】
アプリ管理サービス２２２は、ＳＤＫアプリ２２３の管理に関するユーザインタフェースを提供する。具体的には、アプリ管理サービス２２２は、ＳＤＫアプリ２２３の管理に関する各種画面を旧画像形成装置２０の操作パネルに表示させる。アプリ管理サービス２２２は、表示された画面を介して入力される指示に応じ、上記所定のインタフェース仕様に従った要求をＨＴＴＰを利用してアプリ管理通信制御モジュール２２４１に入力（送信）する。アプリ管理サービス２２２は、入力した要求に対して出力（返信）される結果情報を操作パネルに表示させる。
【００２８】
このように、旧画像形成装置２０のアプリケーション管理機構は、アプリ管理サービス２２２、アプリ管理通信制御モジュール２２４１、及びアプリ管理実行モジュール２２４２によって実現される。
【００２９】
なお、アプリケーションの管理とは、アプリケーションのライフサイクルの管理又は状態の管理をいう。具体的には、アプリケーションの管理には、アプリケーションのインストール、起動、停止、及びアンインストールの実行制御や、インストールされているアプリケーションの一覧情報の確認等が含まれる。
【００３０】
ところで、アプリ管理サービス２２２とアプリ管理通信制御モジュール２２４１とアプリ管理実行モジュール２２４２との間にアプリ管理通信制御モジュール２２４１が介在するのは、アプリ管理サービス２２２とアプリ管理実行モジュール２２４２とが異なるプログラミング言語によって実装されていることによる。すなわち、旧画像形成装置２０において、ＳＤＫプラットフォーム２２４及びＳＤＫアプリ２２３は、Ｊａｖａ（登録商標）言語によって実装されている。一方、コントロールサービス２２５、標準アプリ２２１、及びアプリ管理サービス２２２は、Ｃ言語によって実装されている。
【００３１】
したがって、アプリ管理サービス２２２が、Ｊａｖａ（登録商標）言語によって実装されているアプリ管理実行モジュール２２４２２を直接呼び出すためには、Ｃ言語によるプログラムがＪａｖａ（登録商標）言語によるプログラムを呼び出すための特別な仕組みが必要とされる。そこで、当該特別な仕組みの実装を避けるために、アプリ管理通信制御モジュール２２４１が存在するのである。アプリ管理通信制御モジュール２２４１の介在により、アプリ管理サービス２２２は、プログラミング言語に対して中立的な（プログラミング言語に対する依存度の低い）ＨＴＴＰ通信を利用して、アプリ管理実行モジュール２２４２に対して要求を入力することができるからである。なお、プログラミング言語に対する中立性が確保可能であれば、アプリ管理サービス２２２とアプリ管理通信制御モジュール２２４１との間の通信プロトコルは、ＨＴＴＰ以外のものであってもよい。独自の通信プロトコルが利用されてもよいし、ＳＯＡＰ（Simple Object Access Protocol）等、標準化された通信プロトコルが利用されてもよい。
【００３２】
図４は、新画像形成装置のソフトウェア構成例を示す図である。同図において、新画像形成装置１０は、標準アプリ１２１、プラグインアプリ１２２、プラグイン管理ＵＩ制御モジュール１２３、アプリ管理互換通信制御モジュール１２４、アプリ管理ラッパーモジュール１２５、アプリケーションプラットフォーム１２６、及びＯＳ１２７等を有する。
【００３３】
ＯＳ１２７は、いわゆるＯＳ（Operating System）である。新画像形成装置１０上の各ソフトウェアは、ＯＳ１２７上においてプロセス又はスレッドとして起動される。
【００３４】
標準アプリ１２１は、新画像形成装置１０に標準的に（出荷時に予め）実装されているアプリケーションの集合である。同図では、スキャンアプリ１２１１、印刷アプリ１２１２、コピーアプリ１２１３、及びＦＡＸアプリ１２１４が例示されている。各標準アプリ１２１の機能は、旧画像形成装置２０における同名の標準アプリ２２１の機能と同様である。
【００３５】
プラグインアプリ１２２は、新画像形成装置１０の出荷後において、新画像形成装置１０の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションである。したがって、プラグインアプリ１２２は、旧画像形成装置２０におけるＳＤＫアプリ２２３と同様の位置付けに相当する。同図では、プラグインアプリ１２２として、プラグインアプリ１２２ａ、プラグインアプリ１２２ｂ、及びプラグインアプリ１２２ｃが例示されている。
【００３６】
アプリケーションプラットフォーム１２６は、新画像形成装置１０におけるアプリケーション（標準アプリ１２１及びプラグインアプリ１２２）の実行環境を提供する、プラグインアプリ１２２のアプリケーションプラットフォーム（プログラム実行環境提供手段）である。すなわち、新画像形成装置１０においては、標準アプリ１２１及びプラグインアプリ１２２は、同一のプラットフォーム上で動作する。
【００３７】
なお、アプリケーションプラットフォーム１２６は、Ｊａｖａ（登録商標）言語によって実装されている。したがって、アプリケーションプラットフォーム１２６上で動作する標準アプリ１２１、プラグインアプリ１２２、プラグイン管理ＵＩ制御モジュール１２３、アプリ管理互換通信制御モジュール１２４、及びアプリ管理ラッパーモジュール１２５もＪａｖａ（登録商標）言語によって実装されている。
【００３８】
新画像形成装置１０用の各アプリケーション又はモジュールは、アプリケーションプラットフォーム１２６が提供するＡＰＩ（Application Program Interface）を利用して開発される。アプリケーションプラットフォーム１２６のＡＰＩは公開されており、サードベンダ等によってもプラグインアプリ１２２は開発されうる。なお、新画像形成装置１０のアプリケーションプラットフォーム１２６のＡＰＩと、旧画像形成装置２０のＳＤＫプラットフォーム２２４のＡＰＩとの間には互換性は無い。したがって、プラグインアプリ１２２とＳＤＫアプリ２２３との間にも互換性は無い。また、新画像形成装置１０におけるプラグインアプリ１２２の管理機構（管理形態）は、旧画像形成装置２０におけるＳＤＫアプリ２２３の管理機構と異なる。
【００３９】
すなわち、新画像形成装置１０において、プラグインアプリ１２２の管理機構は、アプリケーションプラットフォーム１２６に含まれているプラグイン管理実行モジュール１２６１と、アプリケーションプラットフォーム１２６上で動作するプラグイン管理ＵＩ制御モジュール１２３とによって実現される。プラグイン管理実行モジュール１２６１は、所定のインタフェース仕様に従った要求の入力に応じ、プラグインアプリ１２２の管理に関する各種処理のうち、当該要求に対応した処理を実行する。プラグイン管理実行モジュール１２６１は、処理の結果を示す結果情報を上記所定のインタフェース仕様に従った形式に成形し、成形された結果情報を含む応答を要求の入力元に出力する。
【００４０】
プラグイン管理ＵＩ制御モジュール１２３は、プラグインアプリ１２２の管理に関するユーザインタフェースを提供する。具体的には、プラグイン管理ＵＩ制御モジュール１２３は、プラグインアプリ１２２の管理に関する各種画面を新画像形成装置１０の操作パネル１５に表示させる。プラグイン管理ＵＩ制御モジュール１２３は、表示された画面を介して入力される指示に応じ、上記所定のインタフェース仕様に従った要求をプラグイン管理実行モジュール１２６１に入力する。プラグイン管理ＵＩ制御モジュール１２３は、入力した要求に対して出力される結果情報を操作パネル１５に表示させる。
【００４１】
すなわち、プラグイン管理ＵＩ制御モジュール１２３の位置付けは、アプリ管理サービス２２２に対応し、プラグイン管理実行モジュール１２６１の位置付けは、アプリ管理実行モジュール２２４２に対応する。しかし、プラグイン管理実行モジュール１２６１のインタフェース仕様（ＡＰＩ仕様）と、アプリ管理実行モジュール２２４２のインタフェース仕様（ＡＰＩ仕様）とは異なる。但し、このことは、プラグイン管理実行モジュール１２６１のインタフェース仕様についてＨＴＴＰ通信を利用した形態が除外されることを意図するものではない。
【００４２】
アプリ管理互換通信制御モジュール１２４及びアプリ管理ラッパーモジュール１２５は、斯かるインタフェース仕様の相違を吸収し、アプリ管理サービス２２２からプラグイン管理実行モジュール１２６１を利用可能とするためのモジュールである。すなわち、アプリ管理互換通信制御モジュール１２４は、アプリ管理通信制御モジュール２２４１と同じインタフェース仕様に従ったインタフェースを提供し、当該インタフェースを介して入力された要求をアプリ管理ラッパーモジュール１２５に入力する。アプリ管理ラッパーモジュール１２５は、アプリ管理実行モジュール２２４２と同じインタフェース仕様に従ったインタフェースによって要求を受け付け、当該要求をプラグイン管理実行モジュール１２６１のインタフェース仕様に従った形式に変換し、変換後の要求をプラグイン管理実行モジュール１２６１に入力する。
【００４３】
したがって、アプリ管理互換通信制御モジュール１２４及びアプリ管理ラッパーモジュール１２５の存在により、新画像形成装置１０のアプリケーション管理機構と旧画像形成装置２０のアプリケーション管理機構に関して、図５に示されるような統合化を実現することができる。
【００４４】
図５は、新画像形成装置のアプリケーション管理機構と旧画像形成装置のアプリケーション管理機構との統合の仕組みを説明するための図である。
【００４５】
同図に示されるように、アプリ管理サービス２２２は、新画像形成装置１０のアプリ管理互換通信制御モジュール１２４に対してＨＴＴＰ通信によって要求を入力することができる。アプリ管理互換通信制御モジュール１２４は、アプリ管理通信制御モジュール２２４１と同様の処理によって、アプリ管理ラッパーモジュール１２５に当該要求を入力する。したがって、アプリ管理互換通信制御モジュール１２４は、アプリ管理通信制御モジュール２２４１そのものであってもよい。アプリ管理ラッパーモジュール１２５によって、アプリ管理実行モジュール２２４２と同じインタフェースが提供されているからである。
【００４６】
アプリ管理ラッパーモジュール１２５は、入力された要求をプラグイン管理実行モジュール１２６１のインタフェース仕様に従った形式に変換し、変換後の要求をプラグイン管理実行モジュール１２６１に入力する。プラグイン管理実行モジュール１２６１は、入力された要求に応じた処理を実行し、当該処理の結果情報をアプリ管理ラッパーモジュール１２５に出力する。アプリ管理ラッパーモジュール１２５は、当該結果情報をアプリ管理実行モジュール２２４２のインタフェース仕様に従った形式に変換し、変換後の結果情報をアプリ管理互換通信制御モジュール１２４に返却する。アプリ管理互換通信制御モジュール１２４は、返却された結果情報をアプリ管理通信制御モジュール２２４１のインタフェース仕様に従ってＨＴＴＰ通信を利用してアプリ管理サービス２２２に返信する。
【００４７】
したがって、ユーザは、旧画像形成装置２０の操作パネルを介して、旧画像形成装置２０上のＳＤＫアプリ２２３の管理だけでなく、新画像形成装置１０上のプラグインアプリ１２２の管理をも行うことができる。
【００４８】
以下、図５に示した内容をより具体的な処理内容（インストール、起動、停止、及びアンインストール）に当てはめて、各処理手順を説明する。
【００４９】
図６は、アプリケーションのインストール処理の処理手順を説明するためのシーケンス図である。なお、同図のシーケンス図も含めて、以降のシーケンス図においても、ユーザの作業場所は旧画像形成装置２０である。
【００５０】
ユーザが、旧画像形成装置２０の操作パネルを介してアプリ管理サービス２２２を利用対象として選択すると、アプリ管理サービス２２２は、機能拡張初期設定画面を当該操作パネルに表示させる。
【００５１】
図７は、機能拡張初期設定画面の表示例を示す図である。同図において、機能拡張初期設定画面６００は、起動設定タブ６０１、インストールタブ６０２、及びアンインストールタブ６０３等を有する。これらのタブは、目的に応じて機能拡張初期設定画面６００の表示内容を切り替えるための表示部品である。同図では、インストールタブ６０２が選択され、インストール初期画面６１０が表示された状態が示されている。
【００５２】
インストール初期画面６１０において、ボタン６１１〜６１４は、旧画像形成装置２０にインストールするＳＤＫアプリ２２３の取得先（ＳＤＫアプリ２２３の供給元）を選択させるためのボタンである。ボタン６１５は、旧画像形成装置２０以外の画像形成装置（本実施の形態では新画像形成装置１０）をインストール先として選択させるためのボタンである。
【００５３】
なお、新画像形成装置１０以外にもアプリケーションの管理機構を統合可能な画像形成装置がネットワークに接続されている場合は、斯かる画像形成装置のそれぞれに対応したボタンがインストール初期画面６１０に表示される。インストール先を選択させるためのボタンは、例えば、アプリ管理サービス２２２又は他のプログラムモジュールによって実行されるネットワーク５０上における画像形成装置の検索結果に基づいて表示されてもよいし、予め記憶装置内に記録された一覧情報（画像形成装置の一覧情報）に基づいて表示されてもよい。
【００５４】
図７の状態において、ボタン６１１〜６１４のいずれかが押下されると（Ｓ１０１）、アプリ管理サービス２２２は、インストール先はローカルな画像形成装置（すなわち、旧画像形成装置２０）であると判断する。そこで、アプリ管理サービス２２２は、押下されたボタンに対応する供給元の識別子を指定して、インストール可能なＳＤＫアプリ２２３の一覧情報（インストール可能リスト）の取得要求をＨＴＴＰによってアプリ管理通信制御モジュール２２４１に送信する（Ｓ１０２）。なお、供給元の識別子は、ボタン６１１〜６１３のいずれかが押下された場合は、ＳＤカードスロットの識別子であり、ボタン６１４が押下された場合は、所定のＷＷＷサーバの識別子（例えば、ＵＲＬ（Uniform Resource Locator）等）である。
【００５５】
アプリ管理通信制御モジュール２２４１は、インストール可能リストの取得要求の受信に応じ、ＳＤＫアプリ２２３の供給元の識別子を指定し、インストール可能なＳＤＫアプリ２２３の検索をアプリ管理実行モジュール２２４２に要求する（Ｓ１０３）。続いて、アプリ管理実行モジュール２２４２は、指定された供給元に保存されているＳＤＫアプリ２２３を検索する（Ｓ１０４及びＳ１０５）。例えば、当該識別子がＳＤカードスロットを示すものである場合、アプリ管理実行モジュール２２４２は、当該識別子に係るＳＤカードスロットにセットされているＳＤカードの所定のフォルダに保存されているＳＤＫアプリ２２３を検索する。一方、当該識別子がＷＷＷサーバを示すものである場合、アプリ管理実行モジュール２２４２は、当該識別子に係るWWWサーバより、インストール可能なＳＤＫアプリ２２３を検索する。供給元がいずれの場合であっても、検索結果として、インストール可能なＳＤＫアプリ２２３ごとにアプリ情報が取得される。アプリ情報とは、ＳＤＫアプリ２２３に付随する（例えば、ＳＤＫアプリ２２３と同一の書庫ファイル内に記録されている）所定のファイルに記録されている、ＳＤＫアプリ２２３の属性情報をいう。
【００５６】
図８は、１つのＳＤＫアプリに関するアプリ情報の例を示す図である。同図のアプリ情報は、＜ａｐｐｌｉｃａｔｉｏｎ＞タグで囲まれたａｐｐｌｉｃａｔｉｏｎ要素をルート要素とするＸＭＬ（eXtensible Markup Language）形式によって記載されている。
【００５７】
ａｐｐｌｉｃａｔｉｏｎ要素の各子要素は、ＳＤＫアプリ２２３の属性項目に対応する。すなわち、ｐｒｏｄｕｃｔｉｄ要素の値は、プロダクトＩＤの値を示す。プロダクトＩＤは、ＳＤＫアプリ２２３の製品単位（種別単位）に一意なＩＤである。ｎａｍｅ要素の値は、アプリケーション名を示す。ｄｅｓｃｒｉｐｔｉｏｎ要素の値は、ＳＤＫアプリ２２３に関する説明を示す。ｓｔａｔｅ要素の値は、ＳＤＫアプリ２２３の状態を示す。同図に示される「ｎｏｔｉｎｓｔａｌｌｅｄ」は、インストールされていない状態であることを示す。すなわち、アプリ情報は、ＳＤＫアプリ２２３と共にインストールされる。インストールによってＳＤＫアプリ２２３の状態が変化すると、ｓｔａｔｅ要素の値は変化後の状態を示す値に更新される。ｖｅｒｓｉｏｎは、ＳＤＫアプリ２２３のバージョンを示す。ｏｒｉｇｉｎａｌ要素の値は、ＳＤＫアプリ２２３の供給元（ＳＤカード又はＷＷＷサーバ等）を示す。同図における「ｓｄ」は、ＳＤカード（ＳＤカードスロット）を示す。ｖｅｎｄｏｒ要素の値は、ＳＤＫアプリ２２３の開発ベンダを示す。ｅ−ｍａｉｌ要素、ｔｅｌ要素、及びｆａｘ要素のそれぞれの値は、当該開発ベンダのｅ−ｍａｉｌアドレス、電話番号、ＦＡＸ番号を示す。ａｕｔｏｒｕｎ要素は、自動起動をするか（ｔｒｕｅ）しないか（ｆａｌｓｅ）を示す。自動起動とは、後述される起動指示に応じてではなく、例えば、画像形成装置２０の起動に応じて自動的に起動（スレッドとして起動）されることをいう。
【００５８】
ステップＳ１０４及びＳ１０５では、図８に示されるようなアプリ情報が、インストール可能なものとして検索された各ＳＤＫアプリ２２３に関して取得される。続いて、アプリ管理実行モジュール２２４２は、取得されたアプリ情報のリスト（アプリリスト）をアプリ管理通信制御モジュール２２４１に出力する（Ｓ１０６）。アプリ管理通信制御モジュール２２４１は、当該アプリリストをＨＴＴＰ通信によってアプリ管理サービス２２２に返信する（Ｓ１０７）。
【００５９】
アプリ管理サービス２２２は、返信されたアプリリストに基づいて、インストール可能リスト画面を拡張機能初期設定画面６００に表示させる（Ｓ１０８）。
【００６０】
図９は、旧画像形成装置に関するインストール可能リスト画面の表示例を示す図である。同図において、インストール可能リスト画面６２０には、インストール可能なＳＤＫアプリ２２３の一覧が表示されている。当該一覧には、ＳＤＫアプリ２２３ごとに、アプリケーション名、説明、バージョン、及び供給媒体が表示されている。これらの項目の値は、それぞれのＳＤＫアプリ２２３のアプリ情報より取得されたものである。
【００６１】
インストール可能リスト画面６２０における一覧の中から、所望のＳＤＫアプリ２２３が選択され、インストールボタン６２１が押下されると（Ｓ１１１）、アプリ管理サービス２２２は、選択されたＳＤＫアプリ２２３のプロダクトＩＤ及び供給元の識別子を指定して、ＳＤＫアプリ２２３のインストール要求をＨＴＴＰによってアプリ管理通信制御モジュール２２４１に送信する（Ｓ１１２）。アプリ管理通信制御モジュール２２４１は、インストール要求の受信に応じ、ＳＤＫアプリ２２３のプロダクトＩＤ及び供給元の識別子を指定して、ＳＤＫアプリ２２３のインストールをアプリ管理実行モジュール２２４２に要求する（Ｓ１１３）。続いて、アプリ管理実行モジュール２２４２は、指定された供給元に保存されているＳＤＫアプリ２２３のうち、指定されたプロダクトＩＤに係るＳＤＫアプリ２２３を旧画像形成装置２０にインストールする（Ｓ１１４）。インストールにより、インストールされたアプリのアプリ情報が更新され、所定の記憶装置に保存される。
【００６２】
図１０は、インストールによって更新されたアプリ情報の例を示す図である。図８のアプリ情報と比較して、図１０のアプリ情報ではｓｔａｔｅ要素の値が「ｓｔｏｐ」に更新されている。これは、対応するＳＤＫアプリ２２３はインストール済みであり、かつ、停止中である（起動されていない）ことを示す。また、ｏｒｉｇｉｎ要素の代わりにｄｅｓｔｉｎａｔｉｏｎ要素が記録されている。ｄｅｓｔｉｎａｔｉｏｎ要素の値は、インストール先の識別子を示す。同図における「ｓｄ１」は、ＳＤカードである。すなわち、インストールされたＳＤＫアプリ２２３の保存先は、旧画像形成装置２０内の記憶装置ではなく、ＳＤカード内であってもよい。
【００６３】
アプリ管理実行モジュール２２４２は、インストール処理の完了後、インストール処理の結果情報をアプリ管理通信制御モジュール２２４１に出力する（Ｓ１１５）。アプリ管理通信制御モジュール２２４１は、当該結果情報をＨＴＴＰによってアプリ管理サービス２２２に返信する（Ｓ１１６）。アプリ管理サービス２２２は、当該結果情報を拡張機能初期設定画面６００に表示させる（Ｓ１１７）。
【００６４】
一方、インストール初期画面６１０（図７参照）において、ボタン６１５が選択されると、アプリ管理サービス２２２は、新画像形成装置１０にインストールするプラグインアプリ１２２の取得先（プラグインアプリ１２２の供給元）を選択させるためのボタン（ボタン６１１〜６１４と同様のボタン）と、インストール先として旧画像形成装置２０を選択させるためのボタン（すなわち、図７の状態に戻るためのボタン）が配置された画面を表示させる。
【００６５】
当該画面において、いずれかの供給元が選択されると（Ｓ１０１）、アプリ管理サービス２２２は、インストール先はリモートの新画像形成装置１０あると判断する。そこで、アプリ管理サービス２２２は、選択された供給元の識別子を指定して、インストール可能なプラグインアプリ１２２の一覧情報（インストール可能リスト）の取得要求をＨＴＴＰによって新画像形成装置１０のアプリ管理互換通信制御モジュール１２４に送信する（Ｓ１２１）。
【００６６】
アプリ管理互換通信制御モジュール１２４は、インストール可能リストの取得要求の受信に応じ、プラグインアプリ１２２の供給元の識別子を指定し、インストール可能なプラグインアプリ１２２の検索をアプリ管理ラッパーモジュール１２５に要求する（Ｓ１２２）。アプリ管理ラッパーモジュール１２５は、当該要求をプラグイン管理実行モジュール１２６１のインタフェース仕様に従った形式に変換し、変換後の要求（プラグインアプリ１２２の検索要求）をプラグイン管理実行モジュール１２６１に入力する（Ｓ１２３）。続いて、プラグイン管理実行モジュール１２６１は、指定された供給元に保存されているプラグインアプリ１２２を検索する（Ｓ１２４、Ｓ１２５）。検索結果としては、ＳＤＫアプリ２２３の場合と同様に、インストール可能なプラグインアプリ１２２ごとにアプリ情報が取得される。続いて、プラグイン管理実行モジュール１２６１は、取得されたアプリ情報のリスト（アプリリスト）をアプリ管理ラッパーモジュール１２５に出力する（Ｓ１２６）。アプリ管理ラッパーモジュール１２５は、プラグインアプリ１２２のアプリ情報の構成又はデータ形式等がＳＤＫアプリ２２３のアプリ情報と異なる場合は、プラグインアプリ１２２のアプリ情報をＳＤＫアプリ２２３のアプリ情報の形式等に従ったものに変換する。アプリ管理ラッパーモジュール１２５は、変換後のアプリ情報のリスト（アプリリスト）をアプリ管理互換通信制御モジュール１２４に出力する（Ｓ１２７）。アプリ管理互換通信制御モジュール１２４は、当該アプリリストをＨＴＴＰ通信によってアプリ管理サービス２２２に返信する（Ｓ１２８）。
【００６７】
アプリ管理サービス２２２は、返信されたアプリリストに基づいて、インストール可能リスト画面を拡張機能初期設定画面６００に表示させる（Ｓ１０８）。
【００６８】
図１１は、新画像形成装置に関するインストール可能リスト画面の表示例を示す図である。同図に示されるインストール可能リスト画面６３０は、図９に示されるインストール可能リスト６２０とほぼ同様の構成を有する。すなわち、インストール可能リスト画面６３０には、インストール可能なプラグインアプリ１２２の一覧が表示されている。但し、当該一覧においてプラグインアプリ１２２ごとに表示される項目として供給媒体の代わりにインストール先の新画像形成装置１０の名前（「機器２」）が表示されている。
【００６９】
インストール可能リスト画面６３０における一覧の中から、所望のプラグインアプリ１２２が選択され、インストールボタン６３１が押下されると（Ｓ１１１）、アプリ管理サービス２２２は、選択されたプラグインアプリ１２２のプロダクトＩＤ及び供給元の識別子を指定して、プラグインアプリ１２２のインストール要求をＨＴＴＰによってアプリ管理互換通信制御モジュール１２４に送信する（Ｓ１３１）。アプリ管理互換通信制御モジュール１２４は、インストール要求の受信に応じ、プラグインアプリ１２２のプロダクトＩＤ及び供給元の識別子を指定して、プラグインアプリ１２２のインストール要求をアプリ管理ラッパーモジュール１２５に入力する（Ｓ１３２）。アプリ管理ラッパーモジュール１２５は、当該インストール要求を、プラグイン管理実行モジュール１２６１のインタフェース仕様に従った形式に変換し、変換後のインストール要求をプラグイン管理実行モジュール１２６１に入力する（Ｓ１３３）。続いて、プラグイン管理実行モジュール１２６１は、インストール要求において指定された供給元に保存されているプラグインアプリ１２２のうち、指定されたプロダクトＩＤに係るプラグインアプリ１２２を新画像形成装置１０にインストールする（Ｓ１３４）。インストールにより、インストールされたアプリのアプリ情報が更新され、所定の記憶装置に保存される。更新の内容は、ＳＤＫアプリ２２３の場合と同様でよい。但し、プラグインアプリ１２２のアプリ情報の構成に応じて、更新の方法はＳＤＫアプリ２２３の場合と必ずしも同じではない。
【００７０】
プラグイン管理実行モジュール１２６１は、インストール処理の完了後、インストール処理の結果情報をアプリ管理ラッパーモジュール１２５に出力する（Ｓ１３５）。アプリ管理ラッパーモジュール１２５は、当該結果情報をアプリ管理実行モジュール２２４２のインタフェース仕様に従った形式に変換し、変換後の結果情報をアプリ管理互換通信制御モジュール１２４に出力する（Ｓ１３６）。アプリ管理互換通信制御モジュール１２４は、当該結果情報をＨＴＴＰによってアプリ管理サービス２２２に返信する（Ｓ１３７）。アプリ管理サービス２２２は、当該結果情報を拡張機能初期設定画面６００に表示させる（Ｓ１１７）。
【００７１】
なお、ステップＳ１２１、Ｓ１２８、Ｓ１３１、及びＳ１３７において、アプリ管理サービス２２２は、インストール対象がプラグインアプリ１２２であるという認識はない。すなわち、アプリ管理サービス２２２は、プラグインアプリ１２２が新画像形成装置１０にインストールされる場合においても、ＳＤＫアプリ２２３が旧画像形成装置２０にインストールされる場合と同様の処理を実行する。アプリ管理互換通信制御モジュール１２４によって、アプリ管理通信制御モジュール２２４１と同じインタフェースが提供されているからである。
【００７２】
続いて、インストールされたアプリケーションの起動時の処理手順について説明する。図１２は、アプリケーションの起動処理の処理手順を説明するためのシーケンス図である。
【００７３】
ユーザが、旧画像形成装置２０の操作パネルに表示されている機能拡張初期設定画面６００において起動設定タブ６０１を押下すると（Ｓ２０１）、アプリ管理サービス２２２は、インストール済みのＳＤＫアプリ２２３の一覧情報（インストール済みリスト）の取得要求をＨＴＴＰによってアプリ管理通信制御モジュール２２４１に送信する（Ｓ２０２）。アプリ管理通信制御モジュール２２４１は、インストール済みリストの取得要求の受信に応じ、インストール済みのＳＤＫアプリ２２３の検索をアプリ管理実行モジュール２２４２に要求する（Ｓ２０３）。続いて、アプリ管理実行モジュール２２４２は、インストール済みのＳＤＫアプリ２２３を検索する（Ｓ２０４及びＳ２０５）。具体的には、インストールによって所定の記憶装置に記録されているアプリ情報が検索される。
【００７４】
続いて、アプリ管理実行モジュール２２４２は、検索されたアプリ情報のリスト（アプリリスト）をアプリ管理通信制御モジュール２２４１に出力する（Ｓ２０６）。アプリ管理通信制御モジュール２２４１は、当該アプリリストをＨＴＴＰ通信によってアプリ管理サービス２２２に返信する（Ｓ２０７）。
【００７５】
アプリ管理サービス２２２は、また、ステップＳ２０２と並行して、インストール済みのプラグインアプリ１２２の一覧情報（インストール済みリスト）の取得要求をＨＴＴＰによって新画像形成装置１０のアプリ管理互換通信制御モジュール１２４に送信する（Ｓ２１１）。
【００７６】
アプリ管理互換通信制御モジュール１２４は、インストール済みリストの取得要求の受信に応じ、インストール済みのプラグインアプリ１２２の検索をアプリ管理ラッパーモジュール１２５に要求する（Ｓ２１２）。アプリ管理ラッパーモジュール１２５は、当該要求をプラグイン管理実行モジュール１２６１のインタフェース仕様に従った形式に変換し、変換後の要求（プラグインアプリ１２２の検索要求）をプラグイン管理実行モジュール１２６１に入力する（Ｓ２１３）。続いて、プラグイン管理実行モジュール１２６１は、プラグインアプリ１２２を検索する（Ｓ２１４、Ｓ２１５）。検索結果としては、ＳＤＫアプリ２２３の場合と同様に、インストール済みのプラグインアプリ１２２ごとにアプリ情報が取得される。続いて、プラグイン管理実行モジュール１２６１は、取得されたアプリ情報のリスト（アプリリスト）をアプリ管理ラッパーモジュール１２５に出力する（Ｓ２１６）。アプリ管理ラッパーモジュール１２５は、プラグインアプリ１２２のアプリ情報をＳＤＫアプリ２２３のアプリ情報の形式等に従ったものに変換する。アプリ管理ラッパーモジュール１２５は、変換後のアプリ情報のリスト（アプリリスト）をアプリ管理互換通信制御モジュール１２４に出力する（Ｓ２１７）。アプリ管理互換通信制御モジュール１２４は、当該アプリリストをＨＴＴＰ通信によってアプリ管理サービス２２２に返信する（Ｓ２１８）。
【００７７】
続いて、アプリ管理サービス２２２は、アプリ管理通信制御モジュール２２４１及びアプリ管理互換通信制御モジュール１２４より返信されたアプリリストに基づいて、起動設定画面を拡張機能初期設定画面６００に表示させる（Ｓ２２０）。
【００７８】
図１３は、起動設定画面の表示例を示す図である。同図において、起動設定画面６４０には、インストール済みのＳＤＫアプリ２２３又はプラグインアプリ１２２の一覧が表示されている。当該一覧には、アプリケーションごとに、状態（起動中又は停止）、アプリケーション名、説明、バージョン、及び起動元が表示されている。これらの項目の値は、それぞれアプリケーションのアプリ情報より取得されたものである。
【００７９】
起動設定画面６４０における一覧の中から、状態が「停止」であるいずれかのアプリケーションが選択され、起動ボタン６４１が押下されると（Ｓ２２１）、起動処理が開始される。選択されたアプリケーションの中に旧画像形成装置２０にインストールされているアプリケーション（図１３において起動元が「ＳＤカードスロット１」であるＳＤＫアプリ２２３）が含まれている場合、アプリ管理サービス２２２は、選択されたＳＤＫアプリ２２３のプロダクトＩＤを指定して、ＳＤＫアプリ２２３の起動要求をＨＴＴＰによってアプリ管理通信制御モジュール２２４１に送信する（Ｓ２２２）。アプリ管理通信制御モジュール２２４１は、起動要求の受信に応じ、ＳＤＫアプリ２２３のプロダクトＩＤを指定して、ＳＤＫアプリ２２３の起動をアプリ管理実行モジュール２２４２に要求する（Ｓ２２３）。続いて、アプリ管理実行モジュール２２４２は、指定されたプロダクトＩＤに係るＳＤＫアプリ２２３（のスレッド）を旧画像形成装置２０において起動させる（Ｓ２２４）。起動に成功した場合、アプリ管理実行モジュール２２４２は、起動されたＳＤＫアプリ２２３のアプリ情報におけるｓｔａｔｅ要素の値を「ｓｔａｒｔ」に更新する。
【００８０】
アプリ管理実行モジュール２２４２は、起動処理の完了後、起動処理の結果情報をアプリ管理通信制御モジュール２２４１に出力する（Ｓ２２５）。アプリ管理通信制御モジュール２２４１は、当該結果情報をＨＴＴＰによってアプリ管理サービス２２２に返信する（Ｓ２２６）。
【００８１】
アプリ管理サービス２２２は、また、起動対象として選択されたアプリケーションの中に新画像形成装置１０にインストールされているアプリケーション（図１３において起動元が「機器２」であるプラグインアプリ１２２）が含まれている場合、選択されたプラグインアプリ１２２のプロダクトＩＤを指定して、プラグインアプリ１２２の起動要求をＨＴＴＰによってアプリ管理互換通信制御モジュール１２４に送信する（Ｓ２３１）。アプリ管理互換通信制御モジュール１２４は、起動要求の受信に応じ、プラグインアプリ１２２のプロダクトＩＤを指定して、プラグインアプリ１２２の起動要求をアプリ管理ラッパーモジュール１２５に入力する（Ｓ２３２）。アプリ管理ラッパーモジュール１２５は、当該起動要求を、プラグイン管理実行モジュール１２６１のインタフェース仕様に従った形式に変換し、変換後の起動要求をプラグイン管理実行モジュール１２６１に入力する（Ｓ２３３）。続いて、プラグイン管理実行モジュール１２６１は、指定されたプロダクトＩＤに係るプラグインアプリ１２２（のスレッド）を新画像形成装置１０において起動させる（Ｓ２３４）。起動に成功した場合、プラグイン管理実行モジュール１２６１は、起動されたプラグインアプリのアプリ情報における状態の値を起動中であることを示す値に更新する。
【００８２】
プラグイン管理実行モジュール１２６１は、起動処理の完了後、起動処理の結果情報をアプリ管理ラッパーモジュール１２５に出力する（Ｓ２３５）。アプリ管理ラッパーモジュール１２５は、当該結果情報をアプリ管理実行モジュール２２４２のインタフェース仕様に従った形式に変換し、変換後の結果情報をアプリ管理互換通信制御モジュール１２４に出力する（Ｓ２３６）。アプリ管理互換通信制御モジュール１２４は、当該結果情報をＨＴＴＰによってアプリ管理サービス２２２に返信する（Ｓ２３７）。
【００８３】
続いて、アプリ管理サービス２２２は、アプリ管理通信制御モジュール２２４１及びアプリ管理互換通信制御モジュール１２４の少なくともいずれか一方から返信された結果情報に基づいて、起動設定画面６４０を更新する（Ｓ２４０）。
【００８４】
図１４は、アプリケーションの起動によって更新された起動設定画面の表示例を示す図である。同図の起動設定画面６４０では、４行目のアプリケーション（プラグインアプリ１２２）の状態が起動中に更新されている。したがって、同図では、当該プラグインアプリ１２２が起動対象として選択され、図１２のステップＳ２３１〜Ｓ２４０が実行された結果としての表示例が示されている。
【００８５】
続いて、起動されたアプリケーションの停止時の処理手順について説明する。図１５は、アプリケーションの停止処理の処理手順を説明するためのシーケンス図である。図１５中、ステップＳ２０１〜Ｓ２２０は、図１２と同一の処理である。すなわち、旧画像形成装置２０、新画像形成装置１０のそれぞれにインストールされているアプリケーションが検索され、検索結果に基づいて、起動設定画面６４０が表示される。
【００８６】
例えば、図１４に示される起動設定画面６４０における一覧の中から、状態が「起動中」であるいずれかのアプリケーションが選択され、停止ボタン６４２が押下されると（Ｓ３２１）、停止処理が開始される。選択されたアプリケーションの中に旧画像形成装置２０にインストールされているアプリケーション（図１３において起動元が「ＳＤカードスロット１」であるＳＤＫアプリ２２３）が含まれている場合、アプリ管理サービス２２２は、選択されたＳＤＫアプリ２２３のプロダクトＩＤを指定して、ＳＤＫアプリ２２３の停止要求をＨＴＴＰによってアプリ管理通信制御モジュール２２４１に送信する（Ｓ３２２）。アプリ管理通信制御モジュール２２４１は、停止要求の受信に応じ、ＳＤＫアプリ２２３のプロダクトＩＤを指定して、ＳＤＫアプリ２２３の停止をアプリ管理実行モジュール２２４２に要求する（Ｓ３２３）。続いて、アプリ管理実行モジュール２２４２は、指定されたプロダクトＩＤに係るＳＤＫアプリ２２３（のスレッド）を旧画像形成装置２０において停止させる（Ｓ３２４）。停止に成功した場合、アプリ管理実行モジュール２２４２は、停止されたＳＤＫアプリ２２３のアプリ情報におけるｓｔａｔｅ要素の値を「ｓｔｏｐ」に更新する。
【００８７】
アプリ管理実行モジュール２２４２は、停止処理の完了後、停止処理の結果情報をアプリ管理通信制御モジュール２２４１に出力する（Ｓ３２５）。アプリ管理通信制御モジュール２２４１は、当該結果情報をＨＴＴＰによってアプリ管理サービス２２２に返信する（Ｓ３２６）。
【００８８】
アプリ管理サービス２２２は、また、停止対象として選択されたアプリケーションの中に新画像形成装置１０にインストールされているアプリケーション（図１３において起動元が「機器２」であるプラグインアプリ１２２）が含まれている場合、選択されたプラグインアプリ１２２のプロダクトＩＤを指定して、プラグインアプリ１２２の停止要求をＨＴＴＰによってアプリ管理互換通信制御モジュール１２４に送信する（Ｓ３３１）。アプリ管理互換通信制御モジュール１２４は、停止要求の受信に応じ、プラグインアプリ１２２のプロダクトＩＤを指定して、プラグインアプリ１２２の停止要求をアプリ管理ラッパーモジュール１２５に入力する（Ｓ３３２）。アプリ管理ラッパーモジュール１２５は、当該停止要求を、プラグイン管理実行モジュール１２６１のインタフェース仕様に従った形式に変換し、変換後の停止要求をプラグイン管理実行モジュール１２６１に入力する（Ｓ３３３）。続いて、プラグイン管理実行モジュール１２６１は、指定されたプロダクトＩＤに係るプラグインアプリ１２２（のスレッド）を新画像形成装置１０において停止させる（Ｓ３３４）。停止に成功した場合、プラグイン管理実行モジュール１２６１は、停止されたプラグインアプリのアプリ情報における状態の値を停止中であることを示す値に更新する。
【００８９】
プラグイン管理実行モジュール１２６１は、停止処理の完了後、停止処理の結果情報をアプリ管理ラッパーモジュール１２５に出力する（Ｓ３３５）。アプリ管理ラッパーモジュール１２５は、当該結果情報をアプリ管理実行モジュール２２４２のインタフェース仕様に従った形式に変換し、変換後の結果情報をアプリ管理互換通信制御モジュール１２４に出力する（Ｓ３３６）。アプリ管理互換通信制御モジュール１２４は、当該結果情報をＨＴＴＰによってアプリ管理サービス２２２に返信する（Ｓ３３７）。
【００９０】
続いて、アプリ管理サービス２２２は、アプリ管理通信制御モジュール２２４１及びアプリ管理互換通信制御モジュール１２４の少なくともいずれか一方から返信された当該結果情報に基づいて、起動設定画面６４０を更新する（Ｓ３４０）。例えば、図１４において、４行目のプラグインアプリ１２２が停止対象として選択された場合、起動設定画面６４０の表示内容は図１３に示されるように更新される。
【００９１】
続いて、不要となったアプリケーションのインストール時の処理手順について説明する。図１６は、アプリケーションのアンインストール処理の処理手順を説明するためのシーケンス図である。
【００９２】
ユーザが、旧画像形成装置２０の操作パネルに表示されている機能拡張初期設定画面６００においてアンインストールタブ６０３を押下すると（Ｓ４０１）、図１２において説明したステップＳ２０２〜Ｓ２１８と同様の処理が実行される。アプリ管理サービス２２２は、アプリ管理通信制御モジュール２２４１及びアプリ管理互換通信制御モジュール１２４より返信されたアプリリストに基づいて、アンインストール画面を機能拡張初期設定画面６００に表示させる（Ｓ４２０）。
【００９３】
図１７は、アンインストール画面の表示例を示す図である。同図に示されるアンインストール画面６５０の構成は、起動設定画面６４０とほぼ同様であるため、その詳細な説明については省略する。
【００９４】
アンインストール画面６５０における一覧の中から、いずれかのアプリケーションが選択され、アンインストールボタン６５１が押下されると（Ｓ４２１）、アンインストール処理が開始される。選択されたアプリケーションの中に旧画像形成装置２０にインストールされているアプリケーション（図１３において起動元が「ＳＤカードスロット１」であるＳＤＫアプリ２２３）が含まれている場合、アプリ管理サービス２２２は、選択されたＳＤＫアプリ２２３のプロダクトＩＤを指定して、ＳＤＫアプリ２２３のアンインストール要求をＨＴＴＰによってアプリ管理通信制御モジュール２２４１に送信する（Ｓ４２２）。アプリ管理通信制御モジュール２２４１は、アンインストール要求の受信に応じ、ＳＤＫアプリ２２３のプロダクトＩＤを指定して、ＳＤＫアプリ２２３のアンインストールをアプリ管理実行モジュール２２４２に要求する（Ｓ４２３）。続いて、アプリ管理実行モジュール２２４２は、指定されたプロダクトＩＤに係るＳＤＫアプリ２２３を旧画像形成装置２０においてアンインストールする（Ｓ４２４）。
【００９５】
アプリ管理実行モジュール２２４２は、アンインストール処理の完了後、アンインストール処理の結果情報をアプリ管理通信制御モジュール２２４１に出力する（Ｓ４２５）。アプリ管理通信制御モジュール２２４１は、当該結果情報をＨＴＴＰによってアプリ管理サービス２２２に返信する（Ｓ４２６）。
【００９６】
アプリ管理サービス２２２は、また、アンインストール対象として選択されたアプリケーションの中に新画像形成装置１０にインストールされているアプリケーション（図１３において起動元が「機器２」であるプラグインアプリ１２２）が含まれている場合、選択されたプラグインアプリ１２２のプロダクトＩＤを指定して、プラグインアプリ１２２のアンインストール要求をＨＴＴＰによってアプリ管理互換通信制御モジュール１２４に送信する（Ｓ４３１）。アプリ管理互換通信制御モジュール１２４は、アンインストール要求の受信に応じ、プラグインアプリ１２２のプロダクトＩＤを指定して、プラグインアプリ１２２のアンインストール要求をアプリ管理ラッパーモジュール１２５に入力する（Ｓ４３２）。アプリ管理ラッパーモジュール１２５は、当該アンインストール要求を、プラグイン管理実行モジュール１２６１のインタフェース仕様に従った形式に変換し、変換後のアンインストール要求をプラグイン管理実行モジュール１２６１に入力する（Ｓ４３３）。続いて、プラグイン管理実行モジュール１２６１は、指定されたプロダクトＩＤに係るプラグインアプリ１２２を新画像形成装置１０においてアンインストールする（Ｓ４３４）。
【００９７】
プラグイン管理実行モジュール１２６１は、アンインストール処理の完了後、アンインストール処理の結果情報をアプリ管理ラッパーモジュール１２５に出力する（Ｓ４３５）。アプリ管理ラッパーモジュール１２５は、当該結果情報をアプリ管理実行モジュール２２４２のインタフェース仕様に従った形式に変換し、変換後の結果情報をアプリ管理互換通信制御モジュール１２４に出力する（Ｓ４３６）。アプリ管理互換通信制御モジュール１２４は、当該結果情報をＨＴＴＰによってアプリ管理サービス２２２に返信する（Ｓ４３７）。
【００９８】
続いて、アプリ管理サービス２２２は、アプリ管理通信制御モジュール２２４１及びアプリ管理互換通信制御モジュール１２４の少なくともいずれか一方から返信された当該結果情報に基づいて、アンインストール画面６５０を更新する（Ｓ４４０）。
【００９９】
上述したように、本実施の形態の新画像形成装置１０は、旧画像形成装置２０におけるアプリ管理通信制御モジュール２２４１のインタフェース仕様と同じインタフェース仕様に基づく要求を受け付けることが可能なアプリ管理互換通信制御モジュール１２４を有する。したがって、旧画像形成装置２０のアプリ管理サービス２２２は、アプリ管理互換通信制御モジュール１２４を介して、従来と同様の処理手順において新画像形成装置１０におけるプラグインアプリの管理に関する要求を入力することができる。よって、旧画像形成装置２０におけるＳＤＫアプリの管理と、新画像形成装置１０におけるプラグインアプリの管理について統合化された操作環境をユーザに提供することができる。その結果、ユーザは、一台の画像形成装置を操作することにより、複数の画像形成装置に関するアプリケーションの管理を一括して行うことができる。
【０１００】
なお、アプリケーションの管理を一括して行うためのユーザインタフェース（操作環境）を提供する装置は、必ずしもアプリケーションの管理機構が統合される複数の画像形成装置のうちの一台でなくてもよい。例えば、当該複数の画像形成装置とネットワークを介して接続されるＰＣ（Personal Computer）等の情報処理装置であってもよい。
【０１０１】
図１８は、統合的な操作環境が汎用的なコンピュータによって提供される場合のシステム構成例を示す図である。図１８中、図１と同一部分には同一符号を付し、その説明は省略する。
【０１０２】
図１８では、機器管理装置３０が更にネットワーク５０に接続されている。機器管理装置３０は、例えば、ＰＣ（Personal Computer）等の汎用的なコンピュータである。機器管理装置３０は、アプリ統合管理部３１を有する。アプリ統合管理部３１は、機器管理装置３０にインストールされたプログラムが機器管理装置３０のＣＰＵに実行させる処理によって実現されるソフトウェアである。
【０１０３】
アプリ統合管理部３１は、旧画像形成装置２０におけるアプリ管理サービス２２２と同様の処理手順を実行する。すなわち、図６、図１２、図１５、図１６のそれぞれにおけるアプリ管理サービス２２２をアプリ統合管理部と置き換えることができる。この場合、アプリ統合管理部３１は、図７、図９、図１１、図１３、図１４、図１７等に示される画面を機器管理装置３０の表示装置に表示させる。
【０１０４】
図１８に示されるような構成によれば、ＰＣ等の汎用的なコンピュータを用いて、複数の画像形成装置におけるアプリケーションの管理を統合的に行うことができる。
【０１０５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１０６】
１０、２０    画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１２１        標準アプリ
１２２        プラグインアプリ
１２３        プラグイン管理ＵＩ制御モジュール
１２４        アプリ管理互換通信制御モジュール
１２５        アプリ管理ラッパーモジュール
１２６        アプリケーションプラットフォーム
１２７        ＯＳ
２２１        標準アプリ
２２２        アプリ管理サービス
２２３        ＳＤＫアプリ
２２４        ＳＤＫプラットフォーム
２２５        コントロールサービス
２２６        ＯＳ
１２６１      プラグイン管理実行モジュール
２２４１      アプリ管理通信制御モジュール
２２４２      アプリ管理実行モジュール
【先行技術文献】
【特許文献】
【０１０７】
【特許文献１】特開２００７−４９６７７号公報
【図１】
0005482011.tif 000002
【図２】
0005482011.tif 000003
【図３】
0005482011.tif 000004
【図４】
0005482011.tif 000005
【図５】
0005482011.tif 000006
【図６】
0005482011.tif 000007
【図７】
0005482011.tif 000008
【図８】
0005482011.tif 000009
【図９】
0005482011.tif 000010
【図１０】
0005482011.tif 000011
【図１１】
0005482011.tif 000012
【図１２】
0005482011.tif 000013
【図１３】
0005482011.tif 000014
【図１４】
0005482011.tif 000015
【図１５】
0005482011.tif 000016
【図１６】
0005482011.tif 000017
【図１７】
0005482011.tif 000018
【図１８】
0005482011.tif 000019