(57)【特許請求の範囲】
【請求項１】
オペレーティングシステム上でハードウェア資源を管理する機器制御プラットフォームと、
該機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する標準アプリケーション実行部と、
該標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる拡張アプリケーション管理部を含む拡張アプリケーションプラットフォームとを備え、
前記機器制御プラットフォームは、
該機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供するプラットフォームサービスインターフェイス部と、
前記ハードウェア資源を制御するためのサービスを提供する複数の制御サービス提供手段を有する各部制御用サービスとを含み、
前記プラットフォームサービスインターフェイス部は、前記標準アプリケーションからの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出す複数の制御サービス呼出手段を有し、
それぞれの前記制御サービス呼出手段が前記標準アプリケーションからの要求に対応する前記各部制御用サービスの制御サービス提供手段を直接呼び出す
ことを特徴とする画像形成装置。
【請求項２】
ハードウェア資源を備えた画像形成装置による画像形成方法であって、
機器制御プラットフォームによりオペレーティングシステム上でハードウェア資源を管理する工程と、
標準アプリケーション実行部により前記機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する工程と、
拡張アプリケーションプラットフォームに含まれる拡張アプリケーション管理部により、前記標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる工程とを有し、
前記機器制御プラットフォームは、
プラットフォームサービスインターフェイス部により前記機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供する工程と、
複数の制御サービス提供手段を有する各部制御用サービスにより前記ハードウェア資源を制御するためのサービスを提供する工程とを含み、
前記プラットフォームサービスインターフェイス部は、
複数の制御サービス呼出手段により前記標準アプリケーションからの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出す工程を有し、
それぞれの前記制御サービス呼出手段が前記標準アプリケーションからの要求に対応する前記各部制御用サービスの制御サービス提供手段を直接呼び出す
ことを特徴とする画像形成方法。
【請求項３】
画像形成を行う画像形成装置を制御するためのコンピューターで実行される画像形成プログラムであって、
機器制御プラットフォームによりオペレーティングシステム上でハードウェア資源を管理する工程と、
標準アプリケーション実行部により前記機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する工程と、
拡張アプリケーションプラットフォームに含まれる拡張アプリケーション管理部により、前記標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる工程とを前記コンピューターに実行させ、
前記機器制御プラットフォームは、
プラットフォームサービスインターフェイス部により前記機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供する工程と、
複数の制御サービス提供手段を有する各部制御用サービスにより前記ハードウェア資源を制御するためのサービスを提供する工程とを含み、
前記プラットフォームサービスインターフェイス部は、
複数の制御サービス呼出手段により前記標準アプリケーションからの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出す工程を有し、
それぞれの前記制御サービス呼出手段が前記標準アプリケーションからの要求に対応する前記各部制御用サービスの制御サービス提供手段を直接呼び出す
ことを特徴とする画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成方法及び画像形成プログラムに係り、特に、機器制御プラットフォームの開発に適した画像形成装置、画像形成方法及び画像形成プログラムに関する。
【背景技術】
【０００２】
従来より、文書や画像を印刷可能な複合機（Ｍｕｌｔｉｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈｅｒａｌ，ＭＦＰ）やプリンター等の画像形成装置においては、様々なアプリケーション（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｏｆｔｗａｒｅ）をインストールし実行することが可能なものが存在する。
なお、アプリケーションには、ＰＤＦ作成、名刺管理、帳簿管理等の機能をもたらすものがある。また、アプリケーションには、カメラ等の機器との連携をもたらすものもある。
【０００３】
ところで、これらのアプリケーションをインストールし実行させるためには、画像処理装置に搭載されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の基本的な機能を利用できるように、それぞれのアプリケーションを開発する必要がある。
また、アプリケーションの開発に際しては、開発コストがかからないように、効率良く行うことも必要となってくる。
【０００４】
このような課題を解消するようにしたものとして、特許文献１では、各アプリの共通部分をアプリサービス及び共通システムサービスとして括りだし、このアプリサービス、共通システムサービス及び汎用ＯＳによってプラットフォームを形成し、該プラットフォーム上にプリンタアプリ、コピーアプリ及び各種アプリを搭載するようにした画像形成装置を提案している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−０８４３８３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１でのアーキテクチャーは、アプリサービス、共通システムサービス及び汎用ＯＳによるプラットフォームと、このプラットフォーム側が提供する機能を利用するアプリケーションという２つの層で構成されている。
この構成により、アプリケーションの開発は、共通のプラットフォームを使用することが可能となり、開発効率を向上させることができる。
【０００７】
ところで、特許文献１での画像形成装置においては、例えばコピーアプリを用いたコピー処理を例にすると、アプリケーション側のコピーアプリのコピージョブ生成モジュールが、プラットフォーム側のＥＣＳ（Ｅｎｇｉｎｅ  Ｃｏｎｔｒｏｌ  Ｓｅｒｖｉｃｅ）のエンジンジョブ実行制御モジュールに対してジョブ実行開始関数を呼び出し、ジョブ実行を指示する。また、エンジンジョブ実行制御モジュールがプラットフォーム側のＭＣＳ（Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌ  Ｓｅｒｖｉｃｅ）の画像メモリハンドリングモジュールに対して画像メモリ確保関数を呼び出し、画像メモリの確保を指示する。
【０００８】
このように、特許文献１では、いずれかのアプリを利用すると、プラットフォーム側の各種モジュールの連携が必要となる。このようなプラットフォーム側の各種モジュールの連携は、プラットフォーム上の各種アプリケーションに対応させて予め設定されているため、いずれかのアプリケーションの機能の追加（拡張）が必要となると、プラットフォーム側の全体の機能の変更が必要となってしまうという問題があった。
【０００９】
本発明は、このような状況に鑑みてなされたものであって、上述の問題点を解消することを課題とする。
【課題を解決するための手段】
【００１０】
本発明の画像形成装置は、オペレーティングシステム上でハードウェア資源を管理する機器制御プラットフォームと、該機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する標準アプリケーション実行部と、該標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる拡張アプリケーション管理部を含む拡張アプリケーションプラットフォームとを備え、前記機器制御プラットフォームは、該機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供するプラットフォームサービスインターフェイス部と、前記ハードウェア資源を制御するためのサービスを提供する複数の制御サービス提供手段を有する各部制御用サービスとを含み、前記プラットフォームサービスインターフェイス部は、前記標準アプリケーションからの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出す複数の制御サービス呼出手段を有し、それぞれの前記制御サービス呼出手段が前記標準アプリケーションからの要求に対応する前記各部制御用サービスの制御サービス提供手段を直接呼び出すことを特徴とする。
本発明の画像形成方法は、ハードウェア資源を備えた画像形成装置による画像形成方法であって、機器制御プラットフォームによりオペレーティングシステム上でハードウェア資源を管理する工程と、標準アプリケーション実行部により前記機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する工程と、拡張アプリケーションプラットフォームに含まれる拡張アプリケーション管理部により、前記標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる工程とを有し、前記機器制御プラットフォームは、プラットフォームサービスインターフェイス部により前記機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供する工程と、複数の制御サービス提供手段を有する各部制御用サービスにより前記ハードウェア資源を制御するためのサービスを提供する工程とを含み、前記プラットフォームサービスインターフェイス部は、複数の制御サービス呼出手段により前記標準アプリケーションからの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出す工程を有し、それぞれの前記制御サービス呼出手段が前記標準アプリケーションからの要求に対応する前記各部制御用サービスの制御サービス提供手段を直接呼び出すことを特徴とする。
本発明の画像形成プログラムは、画像形成を行う画像形成装置を制御するためのコンピューターで実行される画像形成プログラムであって、機器制御プラットフォームによりオペレーティングシステム上でハードウェア資源を管理する工程と、標準アプリケーション実行部により前記機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する工程と、拡張アプリケーションプラットフォームに含まれる拡張アプリケーション管理部により、前記標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる工程とを前記コンピューターに実行させ、前記機器制御プラットフォームは、プラットフォームサービスインターフェイス部により前記機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供する工程と、複数の制御サービス提供手段を有する各部制御用サービスにより前記ハードウェア資源を制御するためのサービスを提供する工程とを含み、前記プラットフォームサービスインターフェイス部は、複数の制御サービス呼出手段により前記標準アプリケーションからの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出す工程を有し、それぞれの前記制御サービス呼出手段が前記標準アプリケーションからの要求に対応する前記各部制御用サービスの制御サービス提供手段を直接呼び出すことを特徴とする。
本発明の画像形成装置、画像形成方法及び画像形成プログラムでは、機器制御プラットフォームによりオペレーティングシステム上でハードウェア資源が管理され、標準アプリケーション実行部により機器制御プラットフォームで管理されたハードウェア資源を利用する標準アプリケーションが実行され、拡張アプリケーションプラットフォームに含まれる拡張アプリケーション管理部により、標準アプリケーション実行部により実行される標準アプリケーションの機能を利用させる標準機能サービス、ハードウェア資源を利用させる拡張機能サービス、及び標準機能サービス並びに拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションが管理され実行される。
ここで、機器制御プラットフォームでは、プラットフォームサービスインターフェイス部により機器制御プラットフォームの外部からハードウェア資源を利用するためのインターフェイスが提供され、複数の制御サービス提供手段を有する各部制御用サービスによりハードウェア資源を制御するためのサービスが提供される。
また、プラットフォームサービスインターフェイス部では、複数の制御サービス呼出手段により前記標準アプリケーションからの要求が判断され、該要求に対応する各部制御用サービスの制御サービス提供手段が呼び出される。
そして、それぞれの制御サービス呼出手段が標準アプリケーションからの要求に対応する各部制御用サービスの制御サービス提供手段を直接呼び出す。
このように、それぞれの制御サービス呼出手段が標準アプリケーションからの要求に対応する各部制御用サービスの制御サービス提供手段を直接呼び出すことで、いずれかのアプリケーションの機能の追加（拡張）が必要となった場合、対応する制御サービス呼出手段の機能のみを変更すればよいことになる。
【発明の効果】
【００１１】
本発明の画像形成装置、画像形成方法及び画像形成プログラムによれば、それぞれの制御サービス呼出手段が標準アプリケーションからの要求に対応する各部制御用サービスの制御サービス提供手段を直接呼び出すことで、いずれかのアプリケーションの機能の追加（拡張）が必要となった場合、対応する制御サービス呼出手段の機能のみを変更すればよく、プラットフォーム（機器制御プラットフォーム）側の全体の機能の変更を不要とすることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る画像形成装置のシステム構成を示すブロック図である
【図２】図１に示す画像形成装置の制御構成を示すブロック図である。
【図３】図２の標準アプリ、プラットフォームサービスＩＦ部及び各部制御用サービスの詳細な構成について説明するためのブロック図である。
【図４】図２及び図３の標準アプリ内のコピーアプリに対するプラットフォームサービスＩＦ部側の処理について説明するためのフローチャートである。
【図５】図２及び図３の標準アプリ内のコピーアプリに対するプラットフォームサービスＩＦ部の処理について説明するための図である。
【図６】図２及び図３の標準アプリ内のプリンターアプリに対するプラットフォームサービスＩＦ部側の処理について説明するためのフローチャートである。
【図７】図２及び図３の標準アプリ内のプリンターアプリに対するプラットフォームサービスＩＦ部の処理について説明するための図である。
【図８】図２及び図３の標準アプリ内の送信アプリに対するプラットフォームサービスＩＦ部の処理について説明するための図である。
【発明を実施するための形態】
【００１３】
＜実施の形態＞
〔画像形成装置１のシステム構成〕
次に、図１により、画像形成装置１のシステム構成について説明する。なお、以下の説明において、アプリとはアプリケーション（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｏｆｔｗａｒｅ）のことである。画像形成装置１は、画像処理部１１、原稿読取部１２、原稿給送部１３、搬送部１４、ネットワーク送受信部１５、操作パネル部１６、画像形成部１７、ＦＡＸ送受信部１８、及び記憶部１９等が、制御部１０に接続されている。各部は、制御部１０によって動作制御される。
【００１４】
制御部１０は、ＧＰＰ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｐｒｏｃｅｓｓｏｒ）、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｐｒｏｃｅｓｓｏｒ、特定用途向けプロセッサー）等の情報処理部である。
制御部１０は、記憶部１９のＲＯＭやＨＤＤに記憶されている制御プログラムを読み出して、この制御プログラムをＲＡＭに展開させて実行することで、後述する機能ブロックの各部として動作させられる。また、制御部１０は、図示しない外部の端末や操作パネル部１６から入力された指示情報に応じて、装置全体の制御を行う。
【００１５】
画像処理部１１は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）やＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の制御演算部である。画像処理部１１は、各種の画像データに対して特定の画像処理を実行する。画像処理部１１は、例えば、拡大縮小、濃度調整、階調調整、画像改善等の各種画像処理を行う。
画像処理部１１は、原稿読取部１２で読み取られた画像を、記憶部１９に印刷データとして記憶する。この際、画像処理部１１は、印刷データをＰＤＦやＴＩＦＦ等のフォーマットのファイル単位に変換することも可能である。
【００１６】
原稿読取部１２は、セットされた原稿を読み取る（スキャン）。
原稿給送部１３は、原稿読取部１２で読み取られる原稿を搬送する。
搬送部１４は、給紙カセットから記録紙を搬送し、画像形成部１７で画像形成させ、その後にスタックトレイへ搬送する。
画像形成部１７は、ユーザーの出力指示により、記憶部１９に記憶され、原稿読取部１２で読み取られ、又は外部の端末から取得されたデータから記録紙への画像形成を行わせる。
【００１７】
ネットワーク送受信部１５は、ＬＡＮ、無線ＬＡＮ、ＷＡＮ、携帯電話網等の外部ネットワークに接続するためのＬＡＮボードや無線送受信機等を含むネットワーク接続部である。
ネットワーク送受信部１５は、データ通信用の回線ではデータを送受信し、音声電話回線では音声信号を送受信する。
ネットワーク送受信部１５は、ネットワークを介して、図示しないＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やスマートフォンやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）や携帯電話等の外部の端末、サーバー等に接続されていてもよい。
【００１８】
操作パネル部１６は、ＬＣＤ等の表示部と、テンキー、スタート、キャンセル、コピー（複写）、ＦＡＸ送信、スキャナー等の動作モードの切り換えのボタンと、選択された文書の印刷、送信、保存、記録等に関するジョブの実行に係る指示を行うためのスタートボタン若しくはタッチパネル等の入力部とを備えている。
操作パネル部１６は、ユーザーの指示を取得する。このユーザーの指示は、後述する拡張アプリ４００（図２）（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｏｆｔｗａｒｅ、アプリケーション）のインストールや使用の指示を含む。また、ユーザーの指示により、各ユーザーの情報を入力、変更することも可能である。このため、操作パネル部１６は、専用の制御部とＲＯＭやＲＡＭ等の記憶媒体を備えて、制御部１０と連携してＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の制御を行ってもよい。拡張アプリ４００のインストールや使用時の操作パネル部１６の制御の詳細については後述する。
また、操作パネル部１６には、ＵＳＢメモリーやフラッシュメモリーカードの記憶媒体や記憶媒体を内蔵した外部機器を接続するための接続部が備えられていてもよい。
【００１９】
ＦＡＸ送受信部１８は、ファクシミリの送受信を行うＦＡＸボード等である。
ＦＡＸ送受信部１８は、原稿読取部１２で読み取られた画像データやネットワーク送受信部１５から受信したファイル等を描画してファクシミリ送信する。また、ＦＡＸ送受信部１８は、記憶部１９に記憶され、ファクシミリ受信された画像データを画像形成部１７で画像形成させ、ネットワーク送受信部１５から外部の端末へ送信する。
【００２０】
記憶部１９は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリー等の半導体メモリーやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶媒体と、このコントローラー等を含む。
記憶部１９のＲＯＭやフラッシュメモリーやＨＤＤには、画像形成装置１の動作制御を行うための制御プログラム及びデータが記憶されている。これらの制御プログラム及びデータは、ファームウェアのような形式で提供されていてもよい。また、これらの制御プログラムとデータとは、実行時にＲＡＭ等に展開されて、制御部１０により実行される。
また、記憶部１９は、各種ジョブデータ、原稿読取部１２でスキャンされた画像データ、画像処理部１１で画像処理された画像データ、他の端末（図示せず）から送信された印刷文書等のファイル、接続された記憶媒体から読み出された各種ファイル、サムネイル画像のデータ等を記憶してもよい。
また、記憶部１９は、ユーザーのアカウント設定も記憶してもよい。また、記憶部１９には、ユーザー毎の文書ボックスの領域が含まれていてもよい。
【００２１】
なお、画像形成装置１において、制御部１０及び画像処理部１１は、ＧＰＵ内蔵ＣＰＵ等やチップ・オン・モジュールパッケージのように、一体的に形成されていてもよい。
また、制御部１０及び画像処理部１１は、ＲＡＭやＲＯＭやフラッシュメモリー等を内蔵していてもよい。
【００２２】
〔画像形成装置１の制御構成〕
次に、図２により、画像形成装置１の制御構成について説明する。
画像形成装置１は、三つの階層的なブロック構造として、標準アプリ実行部１００、機器制御プラットフォーム２００、拡張アプリプラットフォーム３００及び拡張アプリ４００を備えている。制御部１０が本発明の制御プログラムを実行することにより、標準アプリ実行部１００、機器制御プラットフォーム２００、拡張アプリプラットフォーム３００が実現される。更に、制御部１０は、図２に示す制御構成に基づいて、拡張アプリ４００、標準アプリ１２０、汎用ＯＳ２３０を実行することができる。
【００２３】
標準アプリ実行部１００は、機器制御プラットフォーム２００で管理されたハードウェア資源を利用する標準アプリ１２０を実行する。標準アプリ実行部１００は、機器制御プラットフォーム２００上にインストールされた標準アプリ１２０と、この標準アプリ１２０に対応するサービスを備えている。
【００２４】
機器制御プラットフォーム２００は、汎用ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、オペレーティングシステム）２３０上で、画像形成装置１全体のハードウェア資源を管理し、機能単位で各部を制御する。
機器制御プラットフォーム２００は、標準アプリ１２０の実行基盤となるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）やミドルウェアやランタイムやリンカー等（以下、「ＡＰＩ等」という。）、汎用ＯＳ２３０上のサービス（Ｓｅｒｖｉｃｅ、Ｄａｅｍｏｎ、以下「サービス等」という。）、スクリプト言語や中間言語の翻訳や実行を行うインタプリター（Ｉｎｔｅｒｐｒｅｔｅｒ）やＪＩＴ（Ｊｕｓｔ  Ｉｎ  Ｔｉｍｅ  ｃｏｍｐｉｌｅｒ）やバーチャルマシン等（以下、「バーチャルマシン等」という。）を含むプログラムやデータである。また、拡張アプリプラットフォーム３００自体も、汎用ＯＳ２３０上で動作している。
【００２５】
拡張アプリプラットフォーム３００は、標準アプリ１２０を呼び出して機能を利用し、機器制御プラットフォーム２００を呼び出してハードウェア資源を利用し、拡張アプリ４００を管理し実行させる。
拡張アプリプラットフォーム３００は、拡張アプリ４００の実行基盤となるＡＰＩ等やサービス等やバーチャルマシン等を含むプログラムやデータである。また、拡張アプリプラットフォーム３００自体も、汎用ＯＳ２３０上で動作している。
【００２６】
拡張アプリ４００は、拡張アプリプラットフォーム３００上で各種処理を行うアプリのプログラム及びデータである。
【００２７】
より詳しく説明すると、標準アプリ実行部１００は、標準アプリ１２０及び標準アプリサービスＩＦ部（標準アプリケーションサービスインターフェイス部）１１０を備えている。
【００２８】
標準アプリ１２０は、機器制御プラットフォーム２００上で各種処理を行うアプリのプログラム及びデータである。
標準アプリ１２０は、ユーザーの指示を取得し、このユーザーの指示により画像形成装置の各種機能を利用する。また、標準アプリ１２０は、例えば、Ｊａｖａ（登録商標）等の中間言語のアプリや、各種スクリプト言語等で記載されていてもよい。
【００２９】
標準アプリ１２０は、例えば、コピーアプリ１２１、プリンターアプリ１２２、ＦＡＸアプリ１２３、各種標準アプリ１２４等が、工場出荷状態で既にインストールされていてもよい。
コピーアプリ１２１は、操作パネル部１６からのユーザーによるコピーの指示を取得すると、原稿読取部１２から原稿を読み取って、画像形成部１７により画像形成させる。
プリンターアプリ１２２は、外部の端末（図示せず）からの指示等により、ネットワーク送受信部１５で受信したＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等のファイルを描画して、画像形成部１７により画像形成させる。また、プリンターアプリ１２２は、操作パネル部１６によるユーザーの指示により、記憶部１９の文書ボックス内のファイル等を描画して、画像形成部１７により画像形成させてもよい。
【００３０】
ＦＡＸアプリ１２３は、ユーザーの操作パネル部１６からのファクシミリ送信の指示を取得すると、原稿読取部１２から原稿を読み取って、ＦＡＸ送受信部１８によりファクシミリ送信する。また、ＦＡＸアプリ１２３は、外部の端末から受信したファイル等を描画して、ＦＡＸ送受信部１８により送信してもよい。また、ＦＡＸアプリ１２３は、ＦＡＸ送受信部１８により受信されたファクシミリの画像データを、画像形成部１７により画像形成させる。また、ＦＡＸアプリ１２３は、受信されたファクシミリの画像データを記憶部１９の文書ボックスに記憶してもよい。
各種標準アプリ１２４は、後述の送信アプリ等を含んでいる。この送信アプリは、ネットワーク送受信部１５を介して画像データ等を送信したりするものである。
【００３１】
標準アプリサービスＩＦ部１１０は、標準アプリ実行部１００の外部から標準アプリ１２０の機能を利用するためのインターフェイスを提供する。
標準アプリサービスＩＦ部１１０は、例えば、Ｊａｖａ（登録商標）等のクラス、Ｊａｖａ（登録商標）言語上のインターフェイス、ルーチン、関数、ヘッダーファイル、オブジェクト、ライブラリー等として提供されていてもよい。
また、標準アプリサービスＩＦ部１１０は、汎用ＯＳ２３０上のサービス等として提供されていてもよい。また、標準アプリサービスＩＦ部１１０は、標準アプリ１２０毎に異なるインターフェイスを提供していてもよい。
また、標準アプリサービスＩＦ部１１０は、標準アプリ１２０の実行、インストール、設定の変更、削除等を行うことも可能である。
【００３２】
機器制御プラットフォーム２００は、プラットフォームサービスＩＦ部（プラットフォームサービスインターフェイス部）２１０、各部制御用サービス２２０及び汎用ＯＳ２３０を備えている。
【００３３】
プラットフォームサービスＩＦ部２１０は、機器制御プラットフォーム２００の外部からハードウェア資源を利用するためのインターフェイスを提供する。
プラットフォームサービスＩＦ部２１０は、各部制御用サービス２２０を呼び出して、画像形成装置１の各部のハードウェア資源を利用させる。プラットフォームサービスＩＦ部２１０は、例えば、ＡＰＩ等、又は汎用ＯＳ２３０上のサービス等として提供されていてもよい。また、プラットフォームサービスＩＦ部２１０は、Ｃ言語の構造体、Ｃ＋＋言語のクラス、その他のオブジェクト、ルーチン、関数、ヘッダーファイル、オブジェクト、ライブラリー等（以下、「クラス等」という。）として提供されていてもよい。また、プラットフォームサービスＩＦ部２１０は、例えば、Ｊａｖａ（登録商標）等の中間言語で提供されていてもよい。
【００３４】
各部制御用サービス２２０は、画像形成装置１の機能に対応する各部を適切な方式で制御するサービス等である。
各部制御用サービス２２０は、例えば、プラットフォームサービスＩＦ部２１０からの呼び出しに対応して、画像処理部１１、操作パネル部１６、ネットワーク送受信部１５等を操作する。また、各部制御用サービス２２０は、コピー機能、ネットワークスキャン機能、文書ボックス機能等を呼び出すことができる。
また、各部制御用サービス２２０は、製品系列別に、異なるサービス等、ＡＰＩ等、クラス等を組み合わせたものがファームウェアに含まれていてもよい。
【００３５】
汎用ＯＳ２３０は、画像形成装置１の各部を制御する。汎用ＯＳ２３０としては、例えば、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳ、組み込み（Ｅｍｂｅｄｄｅｄ）向けの汎用ＯＳ、リアルタイム汎用ＯＳ等を使用することができる。また、汎用ＯＳ２３０のカーネルやコア等のスケジュール管理や基本ハードウェアを管理するプログラムやデータ等はファームウェアに含まれていてもよい。また、汎用ＯＳ２３０は、別途、デバイスドライバーやスクリプト等の制御プログラムを追加可能であってもよい。このデバイスドライバーは、パフォーマンスを重視した言語であるＣ言語、Ｃ＋＋言語、アセンブラ言語等で作成されていてもよい。
【００３６】
拡張アプリプラットフォーム３００は、標準機能サービス３１０、拡張機能サービス３２０、汎用ＯＳインストールサービス３３０（オペレーティングシステムインストールサービス）、及び拡張アプリ管理部３４０（拡張アプリケーション管理部）を備えている。
【００３７】
標準機能サービス３１０は、標準アプリサービスＩＦ部１１０に対応した標準アプリ１２０の機能を利用させるサービス等である。
標準機能サービス３１０は、拡張アプリ４００からの各標準アプリ１２０の各機能を指定した呼び出しを受け、標準アプリサービスＩＦ部１１０に送信して、当該標準アプリ１２０の当該機能を実行させる。
【００３８】
拡張機能サービス３２０は、プラットフォームサービスＩＦ部２１０に対応したハードウェア資源を利用させるサービス等である。
拡張機能サービス３２０は、拡張アプリ４００からの画像形成装置１の各部の機能を指定した呼び出しを受け、プラットフォームサービスＩＦ部２１０に送信して、当該各部の当該機能を実行させる。
【００３９】
拡張アプリ管理部３４０は、標準機能サービス３１０及び拡張機能サービス３２０を呼び出し可能な拡張アプリ４００を管理し実行する。
拡張アプリ管理部３４０は、拡張アプリ４００のインストール、画像形成装置１から使用可能な状態とするアクティベーション、実行、実行終了、アンインストール等を拡張アプリプラットフォーム３００のＡＰＩにより管理する（以下、これらの処理を拡張アプリ４００の「ライフサイクル」の管理という。）。
また、拡張アプリ管理部３４０は、操作パネル部１６等から認証情報を取得した場合、拡張アプリ４００をアクティベーションして、使用可能な状態としてもよい。
【００４０】
汎用ＯＳインストールサービス３３０は、汎用ＯＳ２３０に機能を追加するためのサービス等である。
汎用ＯＳインストールサービス３３０は、汎用ＯＳ２３０上にデバイスドライバーやスクリプト等の制御プログラムをインストールする。この場合、汎用ＯＳインストールサービス３３０は、ＲＯＭやフラッシュメモリー等に記憶されたファームウェアは変更せず、追加的な変更を行ってもよい。この上で、汎用ＯＳインストールサービス３３０は、汎用ＯＳ２３０の設定ファイルの内容を変更することも可能である。このため、汎用ＯＳインストールサービス３３０は、例えば、「ｖａｒ」等のディレクトリーに保存されたファイルを作成、変更、削除等したり、レジストリー等のデータベースを変更したりしてもよい。
なお、汎用ＯＳインストールサービス３３０は、ファームウェアの一部又は全体を変更又はアップデート等することも可能である。
【００４１】
拡張アプリ４００は、拡張アプリプラットフォーム３００上で実行されるアプリケーションのプログラム及びデータである。拡張アプリ４００は、標準機能サービス３１０を呼び出して標準アプリ１２０の機能を利用し、拡張機能サービス３２０を呼び出して画像形成装置１の各部の機能を利用し、又は汎用ＯＳインストールサービス３３０を呼び出して汎用ＯＳ２３０への追加の機能をインストールする等の処理を実行することが可能である。このため、拡張アプリ４００により、画像形成装置１単体では使用できない各種処理を行わせることが可能となる。
また、拡張アプリ４００は、拡張アプリプラットフォーム３００上で動作する実行ファイルと、クラス情報を含む各種データとを含んで構成されてもよい。この場合、拡張アプリ４００の実行ファイルは、例えば、各種スクリプト言語のファイルや、Ｊａｖａ（登録商標）アプリの中間言語のファイルや、「ネイティブ」の実行ファイル等からなるアプリのバイナリのファイルであってもよい。拡張アプリ４００は、処理スピードや必要メモリー容量等のリソースの制限が少ない場合はスクリプト言語のファイルや中間言語のファイルで記載されていてもよい。また、拡張アプリ４００は、リソースの制限がある場合にはパフォーマンスに優れるＣ言語やＣ＋＋言語やアセンブラ言語等で記載されていてもよい。拡張アプリ４００は、この他にも、必要なデータを含んでいてもよい。
【００４２】
拡張アプリ４００は、例えば、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ、光学文字認識）、監視カメラアプリ、ウォーターマーク作成、請求書作成、社員名簿管理、伝票管理、契約書管理、名刺管理、ＰＤＦ作成、帳簿管理、グループ管理等の実用アプリを含む。また、拡張アプリ４００は、汎用ＯＳ２３０上のデバイスドライバーやファームウェア等の追加変更を行うインストーラーアプリ、その他の管理アプリ等であってもよい。
また、複数の拡張アプリ４００が備えられていてもよい。また、拡張アプリ４００は、画像形成装置１や他の端末等（図示せず）からインストールされて記憶部１９に記憶されてもよい。また、拡張アプリ４００は、外部の記憶媒体に記憶されていてもよい。また、拡張アプリ４００は、画像形成装置１の機種固有情報に対応して実行可能か否かが選択されてもよい。また、各拡張アプリ４００をインストールや実行する場合、当該画像形成装置１と対応付けられて使用可能な状態にする「アクティベーション」が必要であってもよい。なお、画像形成装置１の機種毎に別々の拡張アプリ４００がインストールされてもよい。
【００４３】
なお、図２に示す各部は、記憶部１９のＨＤＤやフラッシュメモリー等に記憶された制御プログラムをＲＡＭ等に読み出して、制御部１０が実行することで実現することが可能である。
また、図２に示す各部は、図１に示すハードウェア資源である各部にアクセスして制御したり、各種データの読み書き、送受信等を行うことが可能である。
【００４４】
〔標準アプリ１２０、プラットフォームサービスＩＦ部２１０、各部制御用サービス２２０の詳細な構成〕
次に、図３により、標準アプリ１２０、プラットフォームサービスＩＦ部２１０及び各部制御用サービス２２０の詳細な構成について説明する。
標準アプリ１２０は、上述したように、コピーアプリ１２１、プリンターアプリ１２２、ＦＡＸアプリ１２３、各種標準アプリ１２４等を含んでいるが、操作パネル部１６からのユーザーによる指示に応じて、要求を示すコピーアプリジョブ１２１ａ、プリンターアプリジョブ１２２ａ、ＦＡＸアプリジョブ１２３ａ、各種標準アプリジョブ１２４ａ等を提供する。
【００４５】
機器制御プラットフォーム２００のプラットフォームサービスＩＦ部２１０は、各部制御用サービス２２０により画像形成装置１の各部を呼び出してハードウェア資源を利用させる。このため、プラットフォームサービスＩＦ部２１０は、標準アプリ１２０や、拡張機能サービス３２０からの利用可能な各機能に対応したインターフェイスをそれぞれ備えている。
【００４６】
より具体的に説明すると、プラットフォームサービスＩＦ部２１０は、例えば、標準アプリ１２０や拡張機能サービス３２０からの利用する機能に対応したインターフェイスとして、画像処理サービスＩＦ２１１、デバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３を含んでいる。
画像処理サービスＩＦ２１１は、画像処理のデータの作成や変換や出力に関する機器制御プラットフォーム２００の機能に対応するインターフェイスである。
デバイス操作サービスＩＦ２１２は、各部のデバイスを制御するための機器制御プラットフォーム２００の機能に対応するインターフェイスである。
ネットワーク通信サービスＩＦ２１３は、ネットワークの送受信に関する機器制御プラットフォーム２００の機能に対応するインターフェイスである。
【００４７】
なお、プラットフォームサービスＩＦ部２１０の画像処理サービスＩＦ２１１、デバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３は、それぞれ連携することなく独立して各部制御用サービス２２０の後述する画像処理サービス２２１、デバイス操作サービス２２２及びネットワーク通信サービス２２３を呼び出すように構築されている。
すなわち、詳細は後述するが、例えば上述したコピーアプリ１２１のコピーアプリジョブ１２１ａに対しては、画像処理サービスＩＦ２１１が後述の画像処理サービス２２１とデバイス操作サービス２２２を呼び出す。
また、プラットフォームサービスＩＦ部２１０の画像処理サービスＩＦ２１１、デバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３は、それぞれ連携することなく独立しているため、例えばコピーアプリ１２１、プリンターアプリ１２２、ＦＡＸアプリ１２３、各種標準アプリ１２４等の機能に追加（拡張）が生じた場合、該当する画像処理サービスＩＦ２１１、デバイス操作サービスＩＦ２１２、ネットワーク通信サービスＩＦ２１３のいずれかの変更のみで機能の追加（拡張）に対する対応が可能となっている。
【００４８】
各部制御用サービス２２０は、画像処理サービス２２１、デバイス操作サービス２２２及びネットワーク通信サービス２２３を含んでいる。
【００４９】
画像処理サービス２２１は、画像処理のデータの作成や変換や出力に関するサービスを提供する。画像処理サービス２２１は、例えば、原稿読取部１２で解像度や色等を設定して原稿を読み取った画像データを記憶部１９に記憶させ、画像処理部１１に記憶部１９の画像データや文書データ（図示せず）を画像処理させる。また、画像処理サービス２２１は、ファイル等から、画像形成部１７で画像形成する画像データを描画する。
【００５０】
デバイス操作サービス２２２は、各部のデバイスを制御するためのサービス等を提供する。デバイス操作サービス２２２は、例えば、原稿読取部１２から取得した画像データを記憶部１９に記憶し、操作パネル部１６の表示部に表示されるブラウザー上に画像を描画し、描画された画像データを画像形成部１７に送信して画像形成させ、記憶部１９に記憶された画像データをＦＡＸ送受信部１８でファクシミリ送信させる。
また、デバイス操作サービス２２２は、画像形成装置１にオプション機器、例えばフィニッシャーが存在した場合は製本やステープル等、ＩＣカードや生体認証によるユーザー認証部が存在した場合は当該ユーザー認証部によるユーザー認証、カメラが存在した場合はカメラ画像の取得や視線検出等の各機能を呼び出すことも可能である。また、デバイス操作サービス２２２は、例えば搬送部のモーターの一つを駆動させるといった、より機器のハードウェアの構成に近い制御を行ってもよい。また、デバイス操作サービス２２２は、各部の状態の取得等の処理も行ってもよい。
【００５１】
ネットワーク通信サービス２２３は、ネットワークの送受信に関するサービス等を提供する。ネットワーク通信サービス２２３は、例えば、ネットワーク送受信部１５（図１）から、ＴＣＰ／ＩＰやＵＤＰの各種プロトコルにより、他の画像形成装置（図示せず）やサーバーや端末等の間でファイル等の送受信を行う。たとえば、ネットワーク通信サービス２２３は、スキャンした画像データ、文書ボックスのファイル等を送受信することも可能である。なお、ネットワーク通信サービス２２３は、ＦＡＸ送受信部１８によるファクシミリ送受信の画像データの送受信、ユーザー認証部が存在した場合はユーザー認証結果、カメラが存在した場合は映像データの送受信等を行うことも可能である。また、ネットワーク通信サービス２２３は、画像形成装置１の各部の状態、各部の機能の呼び出しの結果等についても、送受信可能である。
【００５２】
〔画像形成装置１による画像処理〕
次に、図４〜図７により、本発明の実施形態に係る画像形成装置１による画像処理の説明を行う。なお、図４及び図５においては、例えば標準アプリ１２０内のコピーアプリ１２１に対するプラットフォームサービスＩＦ部２１０側の処理について説明する。また、図６及び図７においては、標準アプリ１２０内のプリンターアプリ１２２に対するプラットフォームサービスＩＦ部２１０側の処理について説明する。
【００５３】
まず、図４に示すように、ユーザーは原稿をセットし、操作パネル部１６でコピー設定を行い（ステップＳ１）、操作パネル部１６のスタートボタンを押下すると（ステップＳ２）、サービス開始となる。ここでのコピー設定は、例えば操作パネル部１６でコピー機能を選択したり、コピー枚数を選択したりすることである。ここで、スタートボタンが押下されると、コピーアプリ１２１からの要求を示すコピーアプリジョブ１２１ａが提供される（ステップＳ３）。
この場合、プラットフォームサービスＩＦ部２１０の画像処理サービスＩＦ２１１がコピーアプリジョブ１２１ａからコピー処理であると判断し（ステップＳ４：ＹＥＳ）、デバイス操作サービス２２２と画像処理サービス２２１とを呼び出す（ステップＳ５、Ｓ６）。
すなわち、図５の点線矢印で示すように、コピーアプリ１２１からの要求を示すコピーアプリジョブ１２１ａがコピー処理である場合、画像処理サービスＩＦ２１１はデバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３と連携することなく、デバイス操作サービス２２２と画像処理サービス２２１とを呼び出す。
なお、ステップＳ４でコピー処理であると判断しなければ（ステップＳ４：ＮＯ）、デバイス操作サービスＩＦ２１２又はネットワーク通信サービスＩＦ２１３での判断となるため、ここでは処理が終了となる。
【００５４】
ここで、デバイス操作サービス２２２から提供される制御に関わるサービスにより、原稿読取部１２による原稿の読み込み（スキャン）が開始される。ここで読み込まれた画像データは、デバイス操作サービス２２２から提供される制御に関わるサービスにより、例えば、上述した記憶部１９の文書ボックス内に保存される。
また、画像処理サービス２２１から提供される制御に関わるサービスにより、記憶部１９の文書ボックス内に保存され画像データが画像形成され、さらに記録紙に印刷される。
印刷が完了する間、コピー処理が終了したかどうかが判断され（ステップＳ７：ＮＯ）、コピー処理が終了すると（ステップＳ７：ＹＥＳ）、デバイス操作サービス２２２及び画像処理サービス２２１からのサービスが終了となる。
【００５５】
次に、図６及び図７を参照し、標準アプリ１２０内のプリンターアプリ１２２に対するプラットフォームサービスＩＦ部２１０側の処理につい説明する。なお、以下においては、例えば記憶部１９の文書ボックス内の画像データが記録紙に印刷される場合で説明する。
まず、図６に示すように、ユーザーは操作パネル部１６でプリント設定を行い（ステップＳ１０）、操作パネル部１６のスタートボタンを押下すると（ステップＳ１１）、サービス開始となる。ここでのプリント設定は、例えば操作パネル部１６でプリント機能を選択したり、プリントすべき画像データの選択をしたりすることである。ここで、スタートボタンが押下されると、プリンターアプリ１２２からの要求を示すプリンターアプリジョブ１２２ａが提供される（ステップＳ１２）。
この場合、プラットフォームサービスＩＦ部２１０の画像処理サービスＩＦ２１１がプリンターアプリジョブ１２２ａからプリント処理であると判断し（ステップＳ１３：ＹＥＳ）、デバイス操作サービス２２２と画像処理サービス２２１とを呼び出す（ステップＳ１４、Ｓ１５）。
すなわち、図６の点線矢印で示すように、プリンターアプリ１２２からの要求を示すプリンターアプリジョブ１２２ａがプリント処理である場合、画像処理サービスＩＦ２１１はデバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３と連携することなく、デバイス操作サービス２２２と画像処理サービス２２１とを呼び出す。
なお、ステップＳ１３でプリント処理であると判断しなければ（ステップＳ１３：ＮＯ）、デバイス操作サービスＩＦ２１２又はネットワーク通信サービスＩＦ２１３での判断となるため、ここでは処理が終了となる。
【００５６】
ここで、デバイス操作サービス２２２から提供される制御に関わるサービスにより、記憶部１９の文書ボックス内に保存されている画像データが読み出される。また、画像処理サービス２２１から提供される制御に関わるサービスにより、記憶部１９の文書ボックス内から読み出された画像データが画像形成され、さらに記録紙に印刷される。
印刷が完了する間、プリント処理が終了したかどうかが判断され（ステップＳ１６：ＮＯ）、プリント処理が終了すると（ステップＳ１６：ＹＥＳ）、デバイス操作サービス２２２及び画像処理サービス２２１からのサービスが終了となる。
【００５７】
なお、上述した記憶部１９の文書ボックス内に保存されている画像データが送信されるものとすると、各種標準アプリ１２４に含まれている、例えば送信アプリに対するプラットフォームサービスＩＦ部２１０側の処理は次の通りとなる。
すなわち、図８に示すように、プラットフォームサービスＩＦ部２１０のネットワーク通信サービスＩＦ２１３が送信アプリの各種標準アプリジョブ１２４ａから送信処理であることを判別し、画像処理サービス２２１、デバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３を呼び出す。
ここで、デバイス操作サービス２２２から提供される制御に関わるサービスにより、記憶部１９の文書ボックス内に保存されている画像データが読み出される。
また、画像処理サービス２２１から提供される制御に関わるサービスにより、記憶部１９の文書ボックス内から読み出された画像データが画像形成される。
そして、ネットワーク通信サービスＩＦ２１３から提供される制御に関わるサービスにより、ユーザーにより指定された相手先に画像形成された画像データが送信される。
【００５８】
このように、本実施形態では、機器制御プラットフォーム２００によりオペレーティングシステム（汎用ＯＳ２３０）上でハードウェア資源が管理され、標準アプリケーション実行部（標準アプリ実行部１００）により機器制御プラットフォーム２００で管理されたハードウェア資源を利用する標準アプリケーション（標準アプリ１２０）が実行され、拡張アプリケーションプラットフォーム（拡張アプリプラットフォーム３００）に含まれる拡張アプリケーション管理部（拡張アプリ管理部３４０）により、標準アプリケーション実行部（標準アプリ実行部１００）により実行される標準アプリケーション（標準アプリ１２０）の機能を利用させる標準機能サービス３１０、ハードウェア資源を利用させる拡張機能サービス３２０、及び標準機能サービス３１０並びに拡張機能サービス３２０をそれぞれ呼び出し可能な拡張アプリケーション（拡張アプリ４００）が管理されて実行される。
【００５９】
ここで、機器制御プラットフォーム２００は、該機器制御プラットフォーム２００の外部からハードウェア資源を利用するためのインターフェイスを提供するプラットフォームサービスインターフェイス部（プラットフォームサービスＩＦ部２１０）と、ハードウェア資源を制御するためのサービスを提供する複数の制御サービス提供手段（画像処理サービス２２１、デバイス操作サービス２２２及びネットワーク通信サービス２２３）を有する各部制御用サービス２２０とを含み、プラットフォームサービスインターフェイス部（プラットフォームサービスＩＦ部２１０）は、標準アプリケーション（標準アプリ１２０）からの要求を判断し、該要求に対応する各部制御用サービス２２０の制御サービス提供手段（画像処理サービス２２１、デバイス操作サービス２２２及びネットワーク通信サービス２２３）を呼び出す複数の制御サービス呼出手段（画像処理サービスＩＦ２１１、デバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３）を有し、それぞれの制御サービス呼出手段（画像処理サービスＩＦ２１１、デバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３）が標準アプリケーション（標準アプリ１２０）からの要求に対応する各部制御用サービス２２０の制御サービス提供手段（画像処理サービス２２１、デバイス操作サービス２２２及びネットワーク通信サービス２２３）を直接呼び出す。
このように、それぞれの制御サービス呼出手段（画像処理サービスＩＦ２１１、デバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３）が標準アプリケーション（標準アプリ１２０）からの要求に対応する各部制御用サービス２２０の制御サービス提供手段（画像処理サービス２２１、デバイス操作サービス２２２及びネットワーク通信サービス２２３）を直接呼び出す。
【００６０】
言い換えれば、プラットフォームサービスＩＦ部２１０の画像処理サービスＩＦ２１１、デバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３は、それぞれ連携することなく独立して各部制御用サービス２２０の画像処理サービス２２１、デバイス操作サービス２２２及びネットワーク通信サービス２２３を呼び出す。
これにより、いずれかのアプリケーションの機能の追加（拡張）が必要となった場合、対応する画像処理サービスＩＦ２１１、デバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３の機能のみを変更すればよく、機器制御プラットフォーム２００側の全体の機能の変更を不要とすることができる。
また、プラットフォームサービスＩＦ部２１０の画像処理サービスＩＦ２１１、デバイス操作サービスＩＦ２１２及びネットワーク通信サービスＩＦ２１３は、それぞれが連携することなく独立しているため、それぞれの連携を考慮する必要がなくなることから、機器制御プラットフォーム２００の開発を効率良く行うことが可能となる。
【００６１】
また、本実施形態では、標準アプリ実行部１００により実行される標準アプリ１２０から標準アプリサービスＩＦ部１１０に対応した機能を利用させる標準機能サービス３１０、プラットフォームＩＦ部サービスＩＦ２１０に対応したハードウェア資源を利用させる拡張機能サービス３２０、及び標準機能サービス３１０並びに拡張機能サービス３２０を呼び出し可能な拡張アプリ４００を管理し実行させる拡張アプリ管理部３４０を含む拡張アプリプラットフォーム３００を備えている。
これにより、拡張アプリ４００から、標準アプリ１２０の機能又は各部に対応するハードウェア資源をそれぞれ利用可能となり、顧客に合わせて構成を変更するカスタマイズが容易となり、開発コストの低減が図れる。
つまり、本実施形態の画像形成装置１は、標準アプリ１２０の機能を利用するだけでよい場合は、スクリプト言語等で素早く開発を行うことができる。逆に、ハードウェア資源を直接制御するカスタマイズの必要がある場合、標準アプリ１２０を経由せず、各部の機能を呼び出すことが可能となる。
【００６２】
また、本実施形態では、標準アプリ実行部１００の外部から標準アプリ１２０の機能を利用するためのインターフェイスを提供する標準アプリサービスＩＦ部１１０を備えている。これにより、機器制御プラットフォーム２００の間で統一した形式のインターフェイスを提供することが容易となり、拡張アプリ４００を統一した開発環境で作成しやすくなり、開発コストを削減することができる。
また、機器制御プラットフォーム２００により利用されるハードウェア資源を容易に拡張アプリ４００から実行可能となる。このため、拡張アプリ４００の実行時のスピード等のパフォーマンスを向上させることができる。
【００６３】
なお、本実施形態での画像形成装置１の記憶部１９には、標準アプリ１２０や拡張アプリ４００とは異なる種類のアプリを記憶させることも可能である。たとえば、記憶部１９には、拡張アプリ４００以外のＷｅｂアプリ等（以下「外部アプリ」という。）や、ユーザーのデータ等を記憶させてもよい。外部アプリは画像形成装置１の操作パネル部１６のユーザーの指示で呼び出して、画像形成装置１に読み込んで実行させてもよい。
このように構成することで、拡張アプリプラットフォーム３００のアプリと標準アプリ１２０とを柔軟に使い分けでき、ユーザーの使い勝手をよくすることができる。
また、本実施形態では、本発明を画像形成装置に適用した場合で説明したが、この例に限らず、各種情報処理装置にも適用可能である。つまり、ネットワークスキャナー、スキャナーをＵＳＢ等で別途接続したサーバー等を用いるような構成であってもよい。また、アプリをインストール可能な情報処理装置であるＰＣ、スマートフォン、携帯電話、オフィス機器、産業用機器等にも適用可能である。
【符号の説明】
【００６４】
１  画像形成装置
１０  制御部
１１  画像処理部
１２  原稿読取部
１３  原稿給送部
１４  搬送部
１５  ネットワーク送受信部
１６  操作パネル部
１７  画像形成部
１８  ＦＡＸ送受信部
１９  記憶部
１００  標準アプリ実行部
１１０  標準アプリサービスＩＦ部
１２０  標準アプリ
１２１  コピーアプリ
１２１ａ  コピーアプリジョブ
１２２  プリンターアプリ
１２２ａ  プリンターアプリジョブ
１２３  ＦＡＸアプリ
１２３ａ  ＦＡＸアプリジョブ
１２４  各種標準アプリ
１２４ａ  各種標準アプリジョブ
２００  機器制御プラットフォーム
２１０  プラットフォームサービスＩＦ部
２１１  画像処理サービスＩＦ
２１２  デバイス操作サービスＩＦ
２１３  ネットワーク通信サービスＩＦ
２２０  各部制御用サービス
２２１  画像処理サービス
２２２  デバイス操作サービス
２２３  ネットワーク通信サービス
３００  拡張アプリプラットフォーム
３１０  標準機能サービス
３２０  拡張機能サービス
３３０  汎用ＯＳインストールサービス
３４０  拡張アプリ管理部
４００  拡張アプリ
【図１】
0005972311.tif 000002
【図２】
0005972311.tif 000003
【図３】
0005972311.tif 000004
【図４】
0005972311.tif 000005
【図５】
0005972311.tif 000006
【図６】
0005972311.tif 000007
【図７】
0005972311.tif 000008
【図８】
0005972311.tif 000009