(57)【要約】      （修正有）【課題】画像形成装置は、アプリケーションの実行環境を適切に提供し、２ｉｎ１コピー機能等の集約機能を実現する。【解決手段】画像形成装置において、アプリケーションよりジョブに対する設定情報を受け付ける設定情報受付手段と、ジョブの実行要求を受け付けるジョブ実行要求受付手段と、前記ジョブの設定情報に従ってジョブの実行を制御するジョブ実行制御手段と、前記ジョブの出力物の出力面ごとに当該出力面の出力を実行させる出力要素管理手段と、前記出力要素管理手段に対して前記出力順に応じて前記出力面の出力の実行を要求する出力束管理手段と、を有する画像形成装置であって、前記出力面として出力させる入力画像を保持する入力画像保持手段と、前記入力画像を前記出力面として出力させるために、該入力画像を編集する画像編集手段と、を有し、前記画像編集手段は、複数の前記入力画像から１つの前記出力面に対応する出力画像を作成する。【選択図】図１１
2010178060.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションから要求されたジョブを実行する画像形成装置において、前記ジョブに対する設定情報を前記アプリケーションより受け付ける設定情報受付手段と、前記アプリケーションよりジョブの実行要求を受け付けるジョブ実行要求受付手段と、前記ジョブ実行要求受付手段からの要求に応じ、前記ジョブの設定情報に従ってジョブの実行を制御するジョブ実行制御手段と、前記設定情報に基づいて判定される、前記ジョブの出力物の出力面ごとに当該出力面の出力を実行させる出力要素管理手段と、前記出力面ごとの出力要素管理手段を前記出力面の出力順に応じて束ね、前記ジョブ実行制御手段からの要求に応じ、束ねている前記出力要素管理手段に対して前記出力順に応じて前記出力面の出力の実行を要求する出力束管理手段と、を有する画像形成装置であって、
前記出力面として出力させる入力画像を保持する入力画像保持手段と、
前記入力画像を前記出力面として出力させるために、該入力画像を編集する画像編集手段と、を有し、
前記画像編集手段は、複数の前記入力画像から１つの前記出力面に対応する出力画像を作成することを特徴とする画像形成装置。
【請求項２】
前記画像編集手段は、前記出力画像として集約される前記入力画像の枚数である集約枚数情報を保持し、該集約枚数情報に基づき前記出力画像を作成することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記出力要素管理手段は、前記入力画像保持手段が保持する前記入力画像の数及び前記集約情報に基づいて、前記出力面の出力実行の可否を判断することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
アプリケーションから要求されたジョブを実行する画像形成装置において、前記ジョブに対する設定情報を前記アプリケーションより受け付ける設定情報受付手段と、前記アプリケーションよりジョブの実行要求を受け付けるジョブ実行要求受付手段と、前記ジョブ実行要求受付手段からの要求に応じ、前記ジョブの設定情報に従ってジョブの実行を制御するジョブ実行制御手段と、前記設定情報に基づいて判定される、前記ジョブの出力物の出力面ごとに当該出力面の出力を実行させる出力要素管理手段と、前記出力面ごとの出力要素管理手段を前記出力面の出力順に応じて束ね、前記ジョブ実行制御手段からの要求に応じ、束ねている前記出力要素管理手段に対して前記出力順に応じて前記出力面の出力の実行を要求する出力束管理手段と、を有する画像形成装置の画像形成方法であって、
入力画像保持手段が、前記出力面として出力させる入力画像を保持するステップと、
画像編集手段が、前記入力画像を前記出力面として出力させるために、該入力画像を編集するステップと、を有し、
前記画像編集手段においては、複数の前記入力画像から１つの前記出力面に対応する出力画像が作成されることを特徴とする画像形成方法。
【請求項５】
コンピュータに、請求項４に記載の画像形成方法を実行させるための画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置の技術に関する。
【背景技術】
【０００２】
特許文献１には、パイプ＆フィルタアーキテクチャを採用し、フィルタと呼ばれるソフトウェアコンポーネントの組み合わせによって構成されるアクティビティと呼ばれるソフトウェアコンポーネントによって、ジョブを実行するアプリケーションが実現される画像形成装置が開示されている。このような画像形成装置によれば、新たな機能の実装に関する柔軟性を著しく向上させることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に記載された画像形成装置において新たなアプリケーション（特許文献１における「アクティビティ」）を実装する場合、フィルタを組み合わせるための知識が開発者に必要とされる。また、アプリケーションの実装に伴って、新たなフィルタを実装する必要がある場合、当該フィルタを実装するための知識が必要とされる。
【０００４】
このような知識は、画像形成装置においてジョブを実行するためのアーキテクチャ又はロジックに関する比較的深い層に属する部分である。斯かる部分について、サードベンダー等による開発を可能とするためには、画像形成装置のベンダーは、当該部分についてかなり詳しい技術内容を開示しなければならないことになる。その結果、企業秘密として保持していきたい重要な技術をも開示する必要性が高まり、技術流出の可能性が高まる虞がある。
【０００５】
また、特許文献１に記載された画像形成装置では、以上のような知識を会得するまでの初回の開発コストが大きくなる可能性が高い。したがって、初回の開発コストをより小さく抑えられるアーキテクチャの提供が望まれる。
【０００６】
上記のような問題点に鑑み、本発明では、アプリケーションの実行環境を適切に提供することができ、２ｉｎ１コピー機能等の集約機能を実現する画像形成装置、画像形成方法および画像形成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
開示の画像形成装置の一形態では、アプリケーションから要求されたジョブを実行する画像形成装置において、前記ジョブに対する設定情報を前記アプリケーションより受け付ける設定情報受付手段と、前記アプリケーションよりジョブの実行要求を受け付けるジョブ実行要求受付手段と、前記ジョブ実行要求受付手段からの要求に応じ、前記ジョブの設定情報に従ってジョブの実行を制御するジョブ実行制御手段と、前記設定情報に基づいて判定される、前記ジョブの出力物の出力面ごとに当該出力面の出力を実行させる出力要素管理手段と、前記出力面ごとの出力要素管理手段を前記出力面の出力順に応じて束ね、前記ジョブ実行制御手段からの要求に応じ、束ねている前記出力要素管理手段に対して前記出力順に応じて前記出力面の出力の実行を要求する出力束管理手段と、を有する画像形成装置であって、前記出力面として出力させる入力画像を保持する入力画像保持手段と、前記入力画像を前記出力面として出力させるために、該入力画像を編集する画像編集手段と、を有し、前記画像編集手段は、複数の前記入力画像から１つの前記出力面に対応する出力画像を作成することを特徴とする。
【発明の効果】
【０００８】
開示の画像形成装置は、アプリケーションの実行環境を適切に提供することができ、２ｉｎ１コピー機能等の集約機能を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。
【図２】本発明の実施の形態における複合機のソフトウェア構成例を示す図である。
【図３】ＭＦＰプロファイルの構成例を示す図である。
【図４】ＭＦＰプロファイルの各層のクラス構成例を示す図である。
【図５】ＪＰＳの概念モデルを示す図である。
【図６】プレゼンテーション層がＪＰＳを包含する例を示す図である。
【図７】プレゼンテーション層がＪＰＳを包含する場合のアプリケーションとＪＳＰとの関係を示す図である。
【図８】ＪＰＳがＭＦＰサービス抽象モデルを継承する例を示す図である。
【図９】アプリケーションが複合機にジョブを実行させるための処理手順を説明するためのシーケンス図である。
【図１０】アプリケーションが複合機にジョブを実行させるために実装が必要とされる手順を示すフローチャートである。
【図１１】集約機能を実現するためのクラス構成を示す図である。
【図１２（Ａ）】ドメインロジック層における処理手順を説明するためのシーケンス図である。
【図１２（Ｂ）】ドメインロジック層における処理手順を説明するためのシーケンス図である。
【図１２（Ｃ）】ドメインロジック層における処理手順を説明するためのシーケンス図である。
【図１３】コピー指定の場合にインスタンス化されるドメインロジック層のオブジェクト層のオブジェクト構成例を示す図である。
【図１４】集約機能を実現するためのコピージョブを実行する際のドメインロジック層における処理手順を説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。
【００１１】
図１では、画像形成装置の具体例として、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する複合機１のハードウェア構成が示されている。
【００１２】
複合機１のハードウェアとしては、コントローラ１０１と、オペレーションパネル１０２と、ファクシミリコントロールユニット（ＦＣＵ）１０３と、撮像部１０４と、印刷部１０５が存在する。
【００１３】
コントローラ１０１は、ＣＰＵ１１１、ＡＳＩＣ１１２、ＮＢ１２１、ＳＢ１２２、ＭＥＭ−Ｐ１３１、ＭＥＭ−Ｃ１３２、ＨＤＤ（ハードディスクドライブ）１３３、メモリカードスロット１３４、ＮＩＣ（ネットワークインタフェースコントローラ）１４１、ＵＳＢデバイス１４２、ＩＥＥＥ１３９４デバイス１４３、セントロニクスデバイス１４４により構成される。
【００１４】
ＣＰＵ１１１は、種々の情報処理用のＩＣである。ＡＳＩＣ１１２は、種々の画像処理用のＩＣである。ＮＢ１２１は、コントローラ１０１のノースブリッジである。ＳＢ１２２は、コントローラ１０１のサウスブリッジである。ＭＥＭ−Ｐ１３１は、複合機１のシステムメモリである。ＭＥＭ−Ｃ１３２は、複合機１のローカルメモリである。ＨＤＤ１３３は、複合機１のストレージである。メモリカードスロット１３４は、メモリカード１３５をセットするためのスロットである。ＮＩＣ１４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス１４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス１４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス１４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル１０２は、オペレータが複合機１に入力を行うためのハードウェア（操作部）であると共に、オペレータが複合機１から出力を得るためのハードウェア（表示部）である。
【００１５】
図２は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。同図において、複合機１は、ＯＳ２０、ドライバプログラム２１、ＪＶＭ３０、ＣＤＣ３１、Ｆｏｕｎｄａｔｉｏｎ  Ｐｒｏｆｉｌｅ３２、ＭＦＰプロファイル４０、ネイティブモジュール５０、及びアプリケーション６０等を有する。
【００１６】
ＯＳ２０は、いわゆるＯＳ（Operating System）である。ドライバプログラム２１は、ハードウェアを制御する各種のプロラムモジュールである。ＪＶＭ３０は、Java（登録商標） Virtual Machine（仮想マシン）であり、Ｊａｖａ（登録商標）の実行環境を実現する。ＣＤＣ（Connected Device Configuration）３１及びＦｏｕｎｄａｔｉｏｎ  Ｐｒｏｆｉｌｅ３２は、Ｊａｖａ（登録商標）  Ｍｉｃｒｏ  Ｅｄｉｔｉｏｎの基本構成である。
【００１７】
ＭＦＰプロファイル４０は、複合機１用のアプリケーション６０の開発環境及び実行環境を提供するプラットフォーム（プログラムモジュール群）である。より詳しくは、ＭＦＰプロファイル４０は、複合機１にジョブを実行させるためのＪａｖａ（登録商標）インタフェース（ＡＰＩ（Application Program Interface））をアプリケーション６０に提供し、当該インタフェースの呼び出しに応じて複合機１を制御する。なお、ＭＦＰ（Multifunction Peripheral）とは、複合機の略称である。
【００１８】
ネイティブモジュール５０は、ネイティブコードによって記述されたプログラムモジュール群である。ネイティブモジュール５０は、例えば、Ｃ言語やＣ＋＋言語によるインタフェース（ＡＰＩ）をアプリケーション６０に提供し、当該インタフェースの呼び出しに応じて複合機１を制御する。
【００１９】
アプリケーション６０は、複合機１にジョブを実行させるプログラムであり、プリントアプリ６１、コピーアプリ６２、スキャンアプリ６３、ＦＡＸアプリ６４等、ジョブ種別（印刷、コピー、スキャン、ＦＡＸ送信等）に応じて複数のアプリケーション６０が存在する。各アプリケーション６０は、ＭＦＰプロファイル４０又はネイティブモジュール５０によって提供されるインタフェースに基づいて開発される。厳密には、Ｊａｖａ（登録商標）コードによるアプリケーション６０からはＭＦＰプロファイル４０が利用され、ネイティブコードによるアプリケーション６０からはネイティブモジュール５０が利用される。
【００２０】
本実施の形態において、ＭＦＰプロファイル４０及びネイティブモジュール５０のインタフェースは複合機１のメーカー外にも公開されている。したがって、アプリケーション６０は、複合機１のメーカーだけでなく、サードベンダー等によっても開発可能である。
ユーザから見た場合、複合機１を導入（設置）した後に、市場で販売されている新たなアプリケーション６０を複合機１にインストールし、複合機１の機能強化を図ることができる。
【００２１】
本実施の形態では、特に、ＭＦＰプロファイル４０について説明する。図３は、ＭＦＰプロファイルの構成例を示す図である。同図において、ＭＦＰプロファイル４０は、プレゼンテーション層４１、ドメインロジック層４２、及びサービス層４３等より構成される。なお、図中における各層の上下関係は、層間の呼び出し関係（利用関係）に基づいている。基本的に上の層が下の層を呼び出す（利用する）。
【００２２】
プレゼンテーション層４１は、アプリケーション６０に公開されるインタフェース部分である。すなわち、プレゼンテーション層４１は、アプリケーション６０からの要求を受け付け、当該要求に対する応答をアプリケーション６０に返却する。なお、アプリケーション６０の開発者からはプレゼンテーション層４１のみが興味の対象となる。
【００２３】
ドメインロジック層４２は、プレゼンテーション層４１によって受け付けられたアプリケーション６０からの要求に応じ、複合機１にジョブを実行させるためのロジックが実装されている部分である。ドメインロジック層４２は、その役割（責務）に応じて要求管理部４２１、Ｉ／Ｏファンクション部４２２、Ｉ／Ｏリソース管理部４２３、及びシステム管理部４２４等に細部化される。
【００２４】
要求管理部４２１は、プレゼンテーション層４１によって受け付けられるアプリケーション６０からの要求を管理する。Ｉ／Ｏファンクション部４２２は、ジョブ対するデータの入力やジョブの実行によるデータの出力等の機能を実現する。Ｉ／Ｏリソース管理部４２３は、撮像部１０４や印刷部１０５等のデータの入出力に関するハードウェアリソースを管理する。システム管理部４２４は、要求管理部４２１、Ｉ／Ｏファンクション部４２２、及びＩ／Ｏリソース管理部４２３等の横断的関心事（例えば、各部より共通に利用される情報）を管理する。
【００２５】
サービス層４３は、デバイス、ミドルウェア、又はＯＳ等へのアクセスを隠蔽する部分である。すなわち、サービス層４３によって、複合機１の機種の違い、又は複合機１において利用されるミドルウェア又はＯＳ等の違いが吸収される。
【００２６】
ＭＦＰプロファイル４０の各層について更に詳しく説明する。図４は、ＭＦＰプロファイルの各層のクラス構成例を示す図である。なお、同図のクラス群は、インタフェースを示す。したがって、実装は当該インタフェースに対する実装クラスにおいて行われる。以下において、「ＸＸＸクラスのインスタンス」というとき、ＸＸＸクラスの実装クラスのインスタンスを意味する。
【００２７】
同図において、プレゼンテーション層４１は、サービス検索クラス４１１、入出力形式クラス４１２、要求属性値群クラス４１３、サービスクラス４１４、サービス属性値群クラス４１４１、ドキュメントクラス４１５、ドキュメント属性値群クラス４１５１、ジョブクラス４１６、及びジョブ属性値群クラス４１６１等を含む。
【００２８】
サービス検索クラス４１１のインスタンス（サービス検索オブジェクト）は、アプリケーション６０からの要求に応じサービスを検索する。サービスとは、ジョブを実行に関係するソフトウェア及びハードウェアの集合（すなわち、ジョブの実行主体）をいう。サービスの検索条件は、入出力形式クラス４１２のインスタンスと要求属性値群クラス４１３のインスタンスとによって指定される。
【００２９】
入出力形式クラス４１２のインスタンス（入出力形式オブジェクト）は、ジョブの入力データ又は出力データのデータ形式を保持する。要求属性値群クラス４１３のインスタンス（要求属性値群オブジェクト）は、アプリケーション６０から要求において指定されるジョブに対する設定値の集合を保持する。
【００３０】
サービスクラス４１４のインスタンス（サービスオブジェクト）は、サービスの代表を表現する。サービスクラス４１４の実装クラスはサービスごとに定義される。サービス属性値群クラス４１４１のインスタンス（サービス属性値群オブジェクト）は、サービスの状態を保持する。
【００３１】
ドキュメントクラス４１５のインスタンス（ドキュメントオブジェクト）は、ジョブに対して入力されるドキュメント（データ）を表現する。例えば、印刷ジョブであれば印刷データが相当する。ドキュメント属性値群クラス４１５１のインスタンス（ドキュメント属性値群オブジェクト）は、ドキュメントの属性を保持する。
【００３２】
ジョブクラス４１６のインスタンス（ジョブオブジェクト）は、ジョブを表現する。ジョブクラス４１６の実装クラスはジョブの種別ごとに定義される。ジョブ属性値群クラス４１６１のインスタンス（ジョブ属性値群オブジェクト）は、ジョブの状態を保持する。
【００３３】
また、ドメインロジック層４２の要求管理部４２１は、成果物クラス４２１１を含む。成果物クラス４２１１のインスタンス（成果物オブジェクト）は、ジョブによる成果物を実現するための処理（すなわち、ジョブの実行制御）を行う。成果物オブジェクトは、成果物の構成要素や、成果物の進捗状況等を知っている。なお、成果物とは、例えば、１枚の原稿を３部コピーするというコピージョブであれば、３枚のコピー結果そのものをいう。
【００３４】
ドメインロジック層４２のＩ／Ｏファンクション部４２２は、入力物クラス４２２１、原画像クラス４２２２、出力物クラス４２２３、出力要素クラス４２２４、及び出力束クラス４２２５等を含む。入力物クラス４２２１のインスタンス（入力物オブジェクト）は、ジョブに入力データに係る原稿の１枚又は１ページ（入力物）を表現する。したがって、入力物オブジェクトは、コピージョブやスキャンジョブ等、原稿から入力データが得られるジョブに利用される。入力物クラス４２２１は自らに対する再帰的な関連を有している。したがって、入力物オブジェクトは、チェーン構造で関連付けられることにより、複数枚の原稿を表現する。なお、本実施の形態において、便宜上、原稿の１枚と１ページとは等価であるとする。
【００３５】
原画像クラス４２２２のインスタンス（原画像オブジェクト）は、ジョブに対する入力画像を表現する。例えば、コピージョブであれば、スキャンされたスキャン画像を表現する。原画像オブジェクトは、画像の入力方法を知っており、また、入力処理の進捗状況（撮像部１０４による読み取りの進捗状況）を知っている。
【００３６】
出力物クラス４２２３のインスタンス（出力物オブジェクト）は、ジョブによる成果物の一部（出力物）を表現する。出力物オブジェクトは、成果物がどのような材料（入力物）で構成されているのかや、出力物の出力の実行可能条件等を知っている。出力物オブジェクトはまた、出力物の出力に必要な入力物を知っており、当該入力物に係る入力物オブジェクトに紐づいている。
【００３７】
出力束クラス４２２５のインスタンス（出力束オブジェクト）は、成果物がどのような順番（ソート順又はスタック順等）で構成されているかを知っている。出力要素クラス４２２４のインスタンス（出力要素オブジェクト）は、出力要素（出力面）の出力の方法を知っている。出力要素は、例えばコピージョブのときには印刷面を示す。
【００３８】
ドメインロジック層４２のＩ／Ｏリソース管理部４２３は、入力リソースクラス４２３１及び出力リソースクラス４２３２等を含む。入力リソースクラス４２３１のインスタンス（入力リソースオブジェクト）は、データを入力するためのハードウェア資源（撮像部１０４等）を管理する。出力リソースクラス４２３２のインスタンス（出力リソースオブジェクト）は、データを出力するためのハードウェア資源（印刷部１０５等）を管理する。
【００３９】
ドメインロジック層４２のシステム管理部４２４は、機内監視クラス４２４１を含む。
機内監視クラス４２４１のインスタンス（機内監視オブジェクト）は、複合機１の状態を監視する。
【００４０】
以上の各層のクラス群の中で、プレゼンテーション層４１に属するクラス群が、アプリケーション６０に利用可能なインタフェースを提供する。斯かるプレゼンテーション層４１のクラス群（インタフェース）は、ＪＰＳ（Java（登録商標） Print Service）に準拠した構成を有している。換言すれば、プレゼンテーション層４１において、ＪＰＳを提供することができる。ここで、ＪＰＳとは、Ｊａｖａ（登録商標）プラットフォームにおいて印刷に関する制御を実行するための標準のＡＰＩ（Application Program Interface）である。このことは、印刷ジョブを実行するアプリケーション６０の開発者は、ＪＰＳに関する知識を有していれば、ＭＦＰプロファイル４０上に簡便に当該アプリケーション６０を実装することができることを意味する。
【００４１】
図５は、ＪＰＳの概念モデルを示す図である。同図に示されるように、ＪＰＳは、ドキュメントインタフェース群、印刷ジョブインタフェース群、プリンタサービスインタフェース群より構成される。
【００４２】
ドキュメントインタフェース群におけるＳｉｍｐｌｅＤｏｃクラス及びＤｏｃインタフェース実装クラスは、印刷データを表現するクラスであり、本実施の形態のドキュメントクラス４１５に対応する。ＤｏｃＦｌａｖｏｒクラスは、印刷データのデータ形式を表現するクラスであり、本実施の形態の入出力形式クラス４１２に対応する。
【００４３】
印刷ジョブインタフェース群におけるＤｏｃＰｒｉｎｔＪｏｂクラスは、印刷ジョブを表現するクラスであり、本実施の形態のジョブクラス４１６に対応する。ＰｒｉｎｔＡｔｔｒｉｂｕｔｅＳｅｔ実装クラスは、印刷要求の属性値群を表現し、本実施の形態の要求属性値群クラス４１３に対応する。
【００４４】
プリントサービスインタフェース群におけるＰｒｉｎｔＳｅｒｖｉｃｅ実装クラス及びＤｅｆａｕｌｔＰｒｉｎｔＳｅｒｖｉｃｅ実装クラス等は、印刷サービス（プリンタ）を表現するクラスであり、本実施の形態のサービスクラス４１４に対応する。ＰｒｉｎｔＳｅｒｖｉｃｅＬｏｏｋＵｐ実装クラスは、印刷サービス（プリンタ）を検索するクラスであり、本実施の形態のサービス検索クラス４１１に対応する。
【００４５】
なお、図４に示されるプレゼンテーション層４１のクラス群（インタフェース）は、印刷ジョブだけでなく、複数種類のジョブ（例えば、コピージョブ、スキャンジョブ、ＦＡＸ送信ジョブ等）に対して共通に定義されている。すなわち、プレゼンテーション層４１は、ＪＰＳをより抽象化（一般化）したものになっている。したがって、プレゼンテーション層４１に基づいてＪＰＳを実現する場合、プレゼンテーション層４１にＪＰＳを包含させるか、又はＪＰＳがプレゼンテーション層４１のクラス群（以下「ＭＦＰサービス抽象モデル」という。）を継承するようにすればよい。
【００４６】
図６は、プレゼンテーション層がＪＰＳを包含する例を示す図である。この場合、プレゼンテーション層４１は一つのソフトウェアコンポーネントとして構成され、当該ソフトウェアコンポーネント内にＪＰＳの実装が含まれる。また、他のサービス（例えば、コピージョブを実現するコピーサービス）に関するクラス群についても、ＭＦＰサービス抽象モデルに基づいて（ＭＦＰサービス抽象モデルと同様の構成によって）実装され、それぞれサービスの実装が当該ソフトウェアコンポーネント内に含まれる。したがって、この場合、アプリケーション６０とＪＳＰとの関係は、図７に示されるようになる。
【００４７】
図７において、プレゼンテーション層４１は一つのソフトウェアコンポーネントとして、ＪＰＳや各サービス（同図ではコピーサービス）のインタフェースを公開すると共にその実装を包含する。したがって、アプリケーション６０は、公開されたＪＰＳや他のサービスのインタフェースを呼び出すことにより、それぞれの実装を利用することができる。このような構成では、各サービス（ＪＰＳも含む）のインタフェースは論理的には関係しているが、実質的には関係を有さない。したがって、仮に、ＪＰＳのバージョンアップ等で変更があったとしても、基本的には他のサービスはその影響を受けないという利点がある。
【００４８】
また、図８は、ＪＰＳがＭＦＰサービス抽象モデルを継承する例を示す図である。この場合、ＪＰＳの各クラスは、ＭＦＰサービス抽象モデルにおいて対応するクラスを継承する。他のサービス（例えば、コピーサービス）に関する実装クラス群もＭＦＰサービス抽象モデルのクラスを継承する。この場合、アプリケーション６０は、各サービス（ＪＰＳも含む）のクラス群をＭＦＰサービス抽象モデルのサブクラスとして利用することができる。
【００４９】
このような構成では、ＭＦＰサービス抽象モデルにおいて各サービスの共通部分を実装することにより、各サービスはその差分のみを実装すればよいという利点がある。また、継承により各サービスの構造がシンプルとなり、保守性を向上させることができる。
【００５０】
以下、複合機１の処理手順について説明する。図９は、アプリケーションが複合機にジョブを実行させるための処理手順を説明するためのシーケンス図である。同図における各オブジェクトの参照番号は、各オブジェクトのクラスの参照番号（図４参照）の末尾に「Ａ」を付加したものである。
【００５１】
ジョブの開始指示の入力に応じ、当該ジョブに対応するアプリケーション６０（プリントアプリ６１、コピーアプリ６２、スキャンアプリ６３、又はＦＡＸアプリ６４等）は、入出力形式オブジェクト４１２Ａをメモリ（ＭＥＭ−Ｐ１３１）内に生成する（Ｓ１０１）。ここで、アプリケーション６０は、ジョブ（印刷ジョブ、コピージョブ、スキャンジョブ、又はＦＡＸ送信ジョブ等）に応じた入力データ及び出力データの少なくともいずれか一方のデータ形式を入出力形式オブジェクト４１２Ａに設定する。例えば、印刷ジョブであれば、印刷データのデータ形式が設定される。なお、ジョブの開始指示の入力とは、印刷ジョブであれば印刷データの受信が相当する。また、コピージョブ、スキャンジョブ、ＦＡＸ送信ジョブ等であれば、ユーザによるスタートボタンの押下等が相当する。
【００５２】
続いて、アプリケーション６０は、要求属性値群オブジェクト４１３Ａをメモリ内に生成する（Ｓ１０３）。ここで、アプリケーション６０は、ジョブに対して要求された設定値（要求属性値群）を要求属性値群オブジェクト４１３に設定する。当該設定値は、印刷ジョブであれば印刷データ内に含まれている。また、コピージョブ、スキャンジョブ、及びＦＡＸジョブ等であれば、オペレーションパネル１０２を介して設定され、メモリ内に記録されている。
【００５３】
続いて、アプリケーション６０は、入出力形式オブジェクト４１２Ａ及び要求属性値群オブジェクト４１３Ａを検索条件として指定して、サービスの検索をサービス検索オブジェクト４１１Ａに要求する（Ｓ１０５）。当該要求に応じ、サービス検索オブジェクト４１１Ａは、指定された検索条件に合致するサービスを検索し、当該サービスに対応するサービスオブジェクト４１４Ａをメモリ内に生成する（Ｓ１０７）。続いて、サービス検索オブジェクト４１１Ａは、生成されたサービスオブジェクト４１４Ａをアプリケーション６０に返却する（Ｓ１０９）。
【００５４】
なお、サービス検索オブジェクト４１１Ａによるサービスの検索は、例えば、ＨＤＤ１３３に記録されているサービス管理情報に基づいて行われる。サービス管理情報には、入力データの形式及び出力データの形式の少なくともいずれか一方と、要求属性値群との組み合わせに応じて、サービスクラス４１４の実装クラスのクラス名（例えば、「プリントサービス」、「コピーサービス」、「スキャンサービス」、「ＦＡＸサービス」等）が登録されている。したがって、サービス検索オブジェクト４１１Ａは、アプリケーション６０より指定された入出力形式オブジェクト４１２Ａ及び要求属性値群オブジェクト４１３Ａに対応するクラス名をサービス管理情報より検索し、検索されたクラス名に対応するサービスオブジェクト４１４Ａを生成する。
【００５５】
続いて、アプリケーション６０は、返却されたサービスオブジェクト４１４Ａに対してジョブの生成を要求する（Ｓ１１１）。サービスオブジェクト４１４Ａは、対応するジョブ（印刷ジョブ、コピージョブ、スキャンジョブ、又はＦＡＸ送信ジョブ等）の実装クラスのジョブオブジェクト４１６Ａを生成し（Ｓ１１３）、当該ジョブオブジェクト４１６Ａをアプリケーション６０に返却する（Ｓ１１５）。
【００５６】
続いて、アプリケーション６０は、ジョブにおいて処理対象とするドキュメントをカプセル化したドキュメントオブジェクト４１５Ａをメモリ内に生成する（Ｓ１１７）。
印刷ジョブであれば、印刷データがカプセル化される。当該ドキュメントのデータ形式は、ジョブの種別に応じ、ＰｏｓｔＳｃｒｉｐｔファイル、ＪＰＥＧイメージ、ＵＲＬ、又はプレーンテキスト等、様々な形式をとり得る。なお、コピージョブ及びスキャンジョブ等については、アプリケーション６０は処理対象とするデータを有していない。したがって、このようなジョブについては、アプリケーション６０はドキュメントオブジェクト４１５Ａを生成する必要はない。一方、印刷ジョブの場合、印刷データの受信はアプリケーション６０（プリントアプリ６１）によって行われる。したがって、この場合は、ドキュメントオブジェクト４１５Ａが生成される。
【００５７】
続いて、アプリケーション６０は、ステップＳ１１５において返却されたジョブオブジェクト４１５Ａに対して、ドキュメントオブジェクト４１５Ａ及び要求属性値群オブジェクト４１３Ａを指定して、ジョブの実行を要求する（Ｓ１１９）。なお、ドキュメントオブジェクト４１５Ａが生成されていない場合は、ドキュメントオブジェクト４１５Ａは指定されない。
【００５８】
図９において、アプリケーション６０の軸から出ている矢印がアプリケーション６０において実装が必要とされる手順である。当該手順のフローチャートを図１０に示す。図１０において、各ステップには図９において対応するステップ番号が付されている。各ステップの内容は図９で説明した通りである。但し、図１０では、サービスが検索された場合に（すなわち、図９のステップＳ１１５においてサービスオブジェクト４１４Ａが返却された場合に）、ステップＳ１１１以降が実行されることが明示されている（Ｓ１１０）。
【００５９】
このように、アプリケーション６０の開発は、基本的に図１０に示される処理手順に対応したインタフェース（プレゼンテーション層４１のインタフェース）を呼び出すことにより行われる。また、当該インタフェースは、Ｊａｖａ（登録商標）の標準インタフェースであるＪＰＳに準拠するものである。したがって、本実施の形態の複合機１によれば、アプリケーション６０の開発作業の負担を軽減することができる。
【００６０】
また、特許文献１のフィルタ等によってアプリケーションを構築する場合に比べて、ソフトウェア構成全体の規模を小さくできる可能性が高い。したがって、アプリケーションの実行に必要なメモリ容量等を低減することができ、ハードウェアのコストの削減も期待できる。
【００６１】
図１１は、集約機能を実現させるためのドメインロジック層のクラス構成例を示す図である。図４のドメインロジック層と図１１の相違点は、集約画像クラスが追加されていることである。集約画像クラスは、出力物オブジェクトと関連を持っている。集約画像クラスは、２ｉｎ１又は４ｉｎ１のようなＮｉｎ１の機能を実現するために、複数の入力物から得られた原画像を１枚の画像にする責務を有する。
【００６２】
図１２（Ａ）（Ｂ）（Ｃ）を用いて、ドメインロジック層における処理手順を説明する。図１２（Ａ）（Ｂ）（Ｃ）を用いた説明においては、４枚の原稿について、部数１、２ｉｎ１集約機能がＯＮに設定されたコピージョブの実行が要求された場合の処理手順を説明する。
【００６３】
図９のステップＳ１１９におけるジョブの実行に応じ、ジョブオブジェクトは、成果物オブジェクトをメモリ内に生成する（Ｓ２０１）。ここで、ジョブオブジェクトは、出力部数が１及び２ｉｎ１集約機能がＯＮであることを示す要求属性値群オブジェクトの内容（以下、「ジョブ設定値」という。）を成果物オブジェクトに設定する。従って、ここでの成果物オブジェクトは、２ｉｎ１集約で印刷された１部のコピー結果としての成果物を表現する。
【００６４】
続いて、ジョブオブジェクトは、成果物オブジェクトに対してジョブの実行（すなわち、成果物の実現）を要求する（Ｓ２０２）。当該要求に応じ、成果物オブジェクトは、１枚目の原稿に対応する入力物オブジェクトをメモリ内に生成する（Ｓ２０３）。続いて、成果物オブジェクトは、１枚目の入力物オブジェクトに対応する出力物に係るオブジェクトをメモリ内に生成し、出力物オブジェクトと入力物オブジェクトとの関連を生成する（Ｓ２０４）。
【００６５】
続いて、成果物オブジェクトは、出力部数分の出力束オブジェクトをメモリ内に生成する（Ｓ２０５）。続いて、成果物オブジェクトは、出力物オブジェクトを出力束オブジェクトに通知し、出力要素（コピー面）の追加（束ねること）を要求する（Ｓ２０６）。続いて、出力束オブジェクトは、通知された出力物オブジェクトに対し、１部目の出力要素（コピー面）に対応する出力要素オブジェクトの取得を要求する（Ｓ２０７）。
【００６６】
出力物オブジェクトは、出力要素オブジェクトをメモリ内に生成し、出力束オブジェクトに返却する（Ｓ２０８）。なお、各出力要素オブジェクトは、出力物オブジェクトの生成時に予め生成されていてもよい。成果物オブジェクトは、出力束オブジェクトに実行を要求する（Ｓ２０９）。出力束オブジェクトは、登録された出力物オブジェクトに実行を依頼する（Ｓ２１０）。出力物オブジェクトは、出力に必要な入力が終了するまで、実行を待機する。成果物オブジェクトは、１枚目の原稿に対応する入力物オブジェクトに対してデータ入力の実行（すなわち、１枚目の原稿の読み取り）を要求する（Ｓ２１１）。
【００６７】
続いて、入力物オブジェクトは、１枚目の原稿に対応する読み取り画像（スキャン画像）に対応する原画像オブジェクトをメモリ内に生成する（Ｓ２１２）。続いて、入力物オブジェクトは、原画像オブジェクトに対して読み取りの実行を要求する（Ｓ２１３）。当該要求に応じ、原画像オブジェクトは、入力リソースオブジェクト及びサービス層４３等を介して撮像部１０４に原稿の読み取りを実行させる（Ｓ２１４）。なお、読み取られた画像データ（スキャン画像）は、メモリ内に記録され、そのアドレス情報がサービス層４３及び入力リソースオブジェクトを経て原画像オブジェクトに対して通知される。したがって、原画像オブジェクトは、当該アドレス情報を保持することにより、スキャン画像に関連付けられる。
【００６８】
また、次原稿の有無もこのタイミングでサービス層４３及び入力リソースオブジェクトを経て原画像オブジェクトに通知される。１枚目の原稿の読み取りが終了すると、原画像オブジェクトは、入力物オブジェクトに１枚目の読み取りの終了及び次原稿の有無を通知する（Ｓ２１５）。当該通知に応じ、入力物オブジェクトは、成果物に１枚目の入力物の入力（ここでは画像の読み取り）の終了を通知する（Ｓ２１６）。
【００６９】
続いて、入力物オブジェクトは、成果物オブジェクトに次原稿の有無を通知する（Ｓ２１７）。ここでは、原稿は４枚であるという前提なので次原稿が有ることが通知される。成果物オブジェクトは、次原稿が存在するので、２枚目の原稿のための入力物オブジェクトを生成し、出力物オブジェクトとの関連を生成する（Ｓ２１８）。
【００７０】
続いて、成果物オブジェクトは、１枚目の原稿に対応する出力物オブジェクトに入力物の入力の終了を通知する（Ｓ２１９）。出力物オブジェクトは、１枚目の入力終了を受けて、集約画像オブジェクトを生成する（Ｓ２２０）。当該通知をトリガーとして、出力物オブジェクトは、出力が可能かどうかを判断する（Ｓ２２１）。出力物オブジェクトは、集約画像に必要な全ての入力物に入力が終了しているかどうかを問い合わせる（Ｓ２２２、Ｓ２２３）。全ての入力物において入力が終了していれば出力可能と判断するため、この場合2in1なので2枚の入力が終了している必要がある。ここでは、まだ1枚目の入力しか終了していないので、出力物オブジェクトは出力が可能でないと判断し、出力を待機する。
【００７１】
続いて、成果物オブジェクトは、２枚目の原稿に対応する入力物オブジェクトに対してデータ入力の実行（すなわち、２枚目の原稿の読み取り）を要求する（Ｓ２２４）。続いて、入力物オブジェクトは、２枚目の原稿に対応する読み取り画像（スキャン画像）に対応する原画像オブジェクトをメモリ内に生成する（Ｓ２２５）。続いて、入力物オブジェクトは、原画像オブジェクトに対して読み取りの実行を要求する（Ｓ２２６）。当該要求に応じ、原画像オブジェクトは、入力リソースオブジェクト及びサービス層４３等を介して撮像部１０４に原稿の読み取りを実行させる（Ｓ２２７）。なお、読み取られた画像データ（スキャン画像）は、メモリ内に記録され、そのアドレス情報がサービス層４３及び入力リソースオブジェクトを経て原画像オブジェクトに対して通知される。したがって、原画像オブジェクトは、当該アドレス情報を保持することにより、スキャン画像に関連付けられる。
【００７２】
また、次原稿の有無もこのタイミングでサービス層４３及び入力リソースオブジェクトを経て原画像オブジェクトに通知される（Ｓ２２８）。２枚目の原稿の読み取りが終了すると、原画像オブジェクトは、入力物オブジェクトに２枚目の読み取りの終了及び次原稿の有無を通知する（Ｓ２２９）。当該通知に応じ、入力物オブジェクトは、成果物に２枚目の入力物の入力（ここでは画像の読み取り）の終了を通知する（Ｓ２２９）。
【００７３】
続いて、入力物オブジェクトは、成果物オブジェクトに次原稿の有無を通知する（Ｓ２３１）。ここでは、原稿は４枚であるという前提なので次原稿が有ることが通知される。
成果物オブジェクトは、次原稿が存在するので、３枚目の原稿のための入力物オブジェクトを生成する。また、２ｉｎ１では、２枚の原稿ごとに１枚の印刷物がコピーされるため、３枚目の原稿が有ることにより、２枚目の出力物オブジェクトが必要である。よって、成果物オブジェクトは、２枚目の出力物オブジェクトが必要と判断し、２枚目の出力物オブジェクトを生成し、出力物オブジェクトと入力物オブジェクトとの関連を生成する（Ｓ２３２）。
【００７４】
続いて、成果物オブジェクトは、出力物オブジェクトを出力束オブジェクトに通知し、出力要素（コピー面）の追加（束ねること）を要求する（Ｓ２３３）。続いて、出力束オブジェクトは、通知された出力物オブジェクトに対し、１部目の出力要素（コピー面）に対応する出力要素オブジェクトの取得を要求する（Ｓ２３４）。出力物オブジェクトは、出力要素オブジェクトをメモリ内に生成し、出力束オブジェクトに返却する（Ｓ２３５）。出力束オブジェクトは、登録された出力物オブジェクトに実行を依頼する（Ｓ２３６）。なお、各出力要素オブジェクトは、出力物オブジェクトの生成時に予め生成されていてもよい。
【００７５】
続いて、成果物オブジェクトは、２枚目の原稿に対応する出力物オブジェクトに入力物の入力の終了を通知する（Ｓ２３７）。出力物オブジェクトは、1枚目の入力終了を受けて、すでに集約画像オブジェクトを生成しているので、ここでは集約画像の生成は行わない。
【００７６】
当該通知をトリガーとして、出力物オブジェクトは、出力が可能かどうかを判断する（Ｓ２３８）。出力物オブジェクトは、集約画像に必要な全ての入力物に入力が終了しているかどうかを問い合わせる（Ｓ２３９、Ｓ２４０）。全ての入力物において入力が終了していれば出力可能と判断するため、この場合２ｉｎ１なので２枚の入力が終了している必要がある。ここでは、１枚目と２枚目の入力が終了しており、２ｉｎ１に必要な全ての入力が終了しているため、出力可能と判断する。
【００７７】
出力物オブジェクトは、集約画像オブジェクトに２ｉｎ１画像の作成を要求する。集約画像オブジェクトは、すでに入力された２枚の原画像（１枚目、２枚目）から、１つの２ｉｎ１画像を作成する（Ｓ２４１）。出力物オブジェクトは、出力要素オブジェクトに実行を要求する（Ｓ２４２）。出力要素オブジェクトは、印刷を実行する（Ｓ２４３−Ｓ２４５）。なお、出力要素オブジェクトの実行では、出力リソースと使用予約と使用許可のやり取りを行い、リソース管理されることが望ましい。
【００７８】
続いて、成果物オブジェクトは、３枚目の原稿に対応する入力物オブジェクトに対してデータ入力の実行（すなわち、３枚目の原稿の読み取り）を要求する（Ｓ２４６）。続いて、入力物オブジェクトは、３枚目の原稿に対応する読み取り画像（スキャン画像）に対応する原画像オブジェクトをメモリ内に生成する（Ｓ２４７）。
【００７９】
続いて、入力物オブジェクトは、原画像オブジェクトに対して読み取りの実行を要求する（Ｓ２４８）。当該要求に応じ、原画像オブジェクトは、入力リソースオブジェクト及びサービス層４３等を介して撮像部１０４に原稿の読み取りを実行させる（Ｓ２４９）。なお、読み取られた画像データ（スキャン画像）は、メモリ内に記録され、そのアドレス情報がサービス層４３及び入力リソースオブジェクトを経て原画像オブジェクトに対して通知される。したがって、原画像オブジェクトは、当該アドレス情報を保持することにより、スキャン画像に関連付けられる。また、次原稿の有無もこのタイミングでサービス層４３及び入力リソースオブジェクトを経て原画像オブジェクトに通知される。
【００８０】
３枚目の原稿の読み取りが終了すると、原画像オブジェクトは、入力物オブジェクトに３枚目の読み取りの終了及び次原稿の有無を通知する（Ｓ２５０）。当該通知に応じ、入力物オブジェクトは、成果物に３枚目の入力物の入力（ここでは画像の読み取り）の終了を通知する（Ｓ２５１）。
【００８１】
続いて、入力物オブジェクトは、成果物オブジェクトに次原稿の有無を通知する（Ｓ２５２）。ここでは、原稿は４枚であるという前提なので次原稿が有ることが通知される。成果物オブジェクトは、次原稿が存在するので、４枚目の原稿のための入力物オブジェクトを生成し、出力物オブジェクトとの関連を生成する（Ｓ２５３）。
【００８２】
続いて、成果物オブジェクトは、３枚目の原稿に対応する出力物オブジェクトに入力物の入力の終了を通知する（Ｓ２５４）。出力物オブジェクトは、３枚目の入力終了を受けて、２枚目の集約画像オブジェクトを生成する（Ｓ２５５）。当該通知をトリガーとして、出力物オブジェクトは、出力が可能かどうかを判断する（Ｓ２５６）。
【００８３】
出力物オブジェクトは、集約画像に必要な全ての入力物に入力が終了しているかどうかを問い合わせる（Ｓ２５７、Ｓ２５８）。全ての入力物において入力が終了していれば出力可能と判断するため、この場合２ｉｎ１なので３枚目と４枚目の入力が終了している必要がある。ここでは、まだ３枚目の入力しか終了していないので、出力物オブジェクトは出力が可能でないと判断し、出力を待機する。
【００８４】
続いて、成果物オブジェクトは、４枚目の原稿に対応する入力物オブジェクトに対してデータ入力の実行（すなわち、４枚目の原稿の読み取り）を要求する（Ｓ２５９）。続いて、入力物オブジェクトは、４枚目の原稿に対応する読み取り画像（スキャン画像）に対応する原画像オブジェクトをメモリ内に生成する（Ｓ２６０）。
【００８５】
続いて、入力物オブジェクトは、原画像オブジェクトに対して読み取りの実行を要求する（Ｓ２６１）。当該要求に応じ、原画像オブジェクトは、入力リソースオブジェクト及びサービス層４３等を介して撮像部１０４に原稿の読み取りを実行させる（Ｓ２６２）。なお、読み取られた画像データ（スキャン画像）は、メモリ内に記録され、そのアドレス情報がサービス層４３及び入力リソースオブジェクトを経て原画像オブジェクトに対して通知される。したがって、原画像オブジェクトは、当該アドレス情報を保持することにより、スキャン画像に関連付けられる。また、次原稿の有無もこのタイミングでサービス層４３及び入力リソースオブジェクトを経て原画像オブジェクトに通知される。
【００８６】
４枚目の原稿の読み取りが終了すると、原画像オブジェクトは、入力物オブジェクトに４枚目の読み取りの終了及び次原稿の有無を通知する（Ｓ２６３）。当該通知に応じ、入力物オブジェクトは、成果物に４枚目の入力物の入力（ここでは画像の読み取り）の終了を通知する（Ｓ２６４）。続いて、入力物オブジェクトは、成果物オブジェクトに次原稿の有無を通知する。ここでは、原稿は４枚であるという前提なので次原稿がないことが通知される。成果物オブジェクトは、次原稿がないので、入力がすべて終了したと判断する。
【００８７】
続いて、成果物オブジェクトは、２枚目の原稿に対応する出力物オブジェクトに入力物の入力の終了を通知する（Ｓ２６５）。出力物オブジェクトは、３枚目の入力終了を受けて、すでに２枚目の集約画像オブジェクトを生成しているので、ここでは集約画像の生成は行わない。
【００８８】
当該通知をトリガーとして、出力物オブジェクトは、出力が可能かどうかを判断する（Ｓ２６６）。出力物オブジェクトは、集約画像に必要な全ての入力物に入力が終了しているかどうかを問い合わせる（Ｓ２６７）。全ての入力物において入力が終了していれば出力可能と判断するため、この場合２ｉｎ１なので２枚の入力が終了している必要がある。ここでは、３枚目と４枚目の入力が終了しており、２ｉｎ１に必要な全ての入力が終了しているため、出力可能と判断する。
【００８９】
出力物オブジェクトは、集約画像オブジェクトに２ｉｎ１画像の作成を要求する（Ｓ２６３）。集約画像オブジェクトは、すでに入力された２枚の原画像（３枚目、４枚目）から、１つの２ｉｎ１画像を作成する。出力物オブジェクトは、出力要素オブジェクトに実行を要求する（Ｓ２７０）。出力要素オブジェクトは、印刷を実行する（Ｓ２７１）。なお、出力要素オブジェクトの実行では、出力リソースと使用予約と使用許可のやり取りを行い、リソース管理されることが望ましい。出力要素オブジェクトは、出力物オブジェクトに印刷の終了を通知する（Ｓ２７２）。出力物オブジェクトは、成果物に出力終了を通知する（Ｓ２７３）。以上によって、４枚の原稿の２ｉｎ１コピーが完了する。
【００９０】
図１３は、このときにインスタンス化されるドメインロジック層のオブジェクト構成を示す図である。図１４は、上記説明と同様のロジックで、２ｉｎ１、４ｉｎ１を一般化したＮｉｎ１コピージョブを実行する際のドメインロジック層における処理手順を説明する汎用的なフローチャートである。すなわち、図１４のフローチャートでは、原稿枚数、出力部数、集約枚数等は特定されていない。
【００９１】
（総括）
開示の画像形成装置によれば、アプリケーションの実行環境を適切に提供した上で、集約機能をも提供することができる。また、開示の画像形成装置によれば、集約に必要な入力の終了をもって出力可否を判断することによって、２ｉｎ１などに集約枚数を限定しない汎用的なＮｉｎ１での集約機能を提供するころができる。
【００９２】
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
【符号の説明】
【００９３】
１          複合機
２０        ＯＳ
２１        ドライバプログラム
３０        ＪＶＭ
３１        ＣＤＣ
３２        Ｆｏｕｎｄａｔｉｏｎ  Ｐｒｏｆｉｌｅ
４０        ＭＦＰプロファイル
４１        プレゼンテーション層
４２        ドメインロジック層
４３        サービス層
５０        ネイティブモジュール
６０        アプリケーション
６１        プリントアプリ
６２        コピーアプリ
６３      スキャンアプリ
６４        ＦＡＸアプリ
１０１      コントローラ
１０２      オペレーションパネル
１０３      ファクシミリコントロールユニット
１０４      撮像部
１０５      印刷部
１１１      ＣＰＵ
１１２      ＡＳＩＣ
１２１      ＮＢ
１２２      ＳＢ
１３１      ＭＥＭ−Ｐ
１３２      ＭＥＭ−Ｃ
１３３      ＨＤＤ
１３４      メモリカードスロット
１３５      メモリカード
１４１      ＮＩＣ
１４２      ＵＳＢデバイス
１４３      ＩＥＥＥ１３９４デバイス
１４４      セントロニクスデバイス
４１１      サービス検索クラス
４１２      入出力形式クラス
４１３      要求属性値群クラス
４１４      サービスクラス
４１５      ドキュメントクラス
４１６      ジョブクラス
４２１      要求管理部
４２２      Ｉ／Ｏファンクション部
４２３      Ｉ／Ｏリソース管理部
４２４      システム管理部
４１４１      サービス属性値群クラス
４１５１      ドキュメント属性値群クラス
４１６１    ジョブ属性値群クラス
４２１１    成果物クラス
４２２１    入力物クラス
４２２２    原画像クラス
４２２３    出力物クラス
４２２４    出力要素クラス
４２２５    出力束クラス
４２３１    入力リソースクラス
４２３２    出力リソースクラス
４２４１    機内監視クラス
【先行技術文献】
【特許文献】
【００９４】
【特許文献１】特開２００７−３２５２５１号公報
【図１】
2010178060.tif 000003
【図２】
2010178060.tif 000004
【図３】
2010178060.tif 000005
【図４】
2010178060.tif 000006
【図５】
2010178060.tif 000007
【図６】
2010178060.tif 000008
【図７】
2010178060.tif 000009
【図８】
2010178060.tif 000010
【図９】
2010178060.tif 000011
【図１０】
2010178060.tif 000012
【図１１】
2010178060.tif 000013
【図１２（Ａ）】
2010178060.tif 000014
【図１２（Ｂ）】
2010178060.tif 000015
【図１２（Ｃ）】
2010178060.tif 000016
【図１３】
2010178060.tif 000017
【図１４】
2010178060.tif 000018