(57)【要約】【課題】外部機器が有する機能との連携処理を当該装置自身が行う画像形成装置、機器連携制御方法、及び機器連携制御プログラムを提供する。【解決手段】画像形成装置１００は、情報取得要求に応じて、当該装置が有するアプリケーションの情報を含む機器情報を要求元の外部機器３００に提供する第１の機能２２と、所定の処理要求に応じて、アプリケーションが要求された処理を実行する少なくとも１つ以上の第２の機能２１とを有する装置であって、第２の機能２１が、当該画像形成装置１００の動作状態を検知する検知手段６５と、外部機器３００が有するアプリケーションにより提供されるサービスに関する情報である提供サービス情報７１を取得する取得手段４１Cpと、検知手段４３により検知した動作状態と、取得手段４１Cpにより取得した提供サービス情報７１とに基づき、当該装置１００に要求された処理を外部機器３００に実行させる要求処理実行指示手段４３と、を有することを特徴とする。【選択図】図５
2009255390.tif 000002
【特許請求の範囲】
【請求項１】
情報取得要求に応じて、当該画像形成装置が有するアプリケーションの情報を含む機器情報を要求元の外部機器に提供する第１の機能と、所定の処理要求に応じて、前記アプリケーションが要求された処理を実行する少なくとも１つ以上の第２の機能とを有する画像形成装置であって、
前記第２の機能が、
当該画像形成装置の動作状態を検知する検知手段と、
前記外部機器が有するアプリケーションにより提供されるサービスに関する情報である提供サービス情報を取得する取得手段と、
前記検知手段により検知した動作状態と、前記取得手段により取得した提供サービス情報とに基づき、当該画像形成装置に要求された処理を前記外部機器に実行させる要求処理実行指示手段と、を有することを特徴とする画像形成装置。
【請求項２】
前記要求処理実行指示手段は、
前記取得手段により取得した提供サービス情報に基づき、要求された処理を実行させる外部機器を決定する決定手段と、
要求された処理を、前記決定手段により決定した外部機器に実行させるか否かを制御する制御手段と、
前記制御手段による制御に従って、要求された処理の実行開始を決定した外部機器に指示する指示手段と、を有することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記制御手段は、
前記検知手段により検知した動作状態に応じて、当該画像形成装置が要求された処理を実行することができるか否かの判断し、判断結果に基づき、要求された処理を決定した外部機器に実行させるか否かを制御することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
当該画像形成装置が、
前記制御手段による制御を行うか否かを設定する制御可否設定手段を有し、
前記制御手段は、
前記制御可否設定手段による設定に基づき、要求された処理を決定した外部機器に実行させるか否かを制御することを特徴とする請求項２又は３に記載の画像形成装置。
【請求項５】
当該画像形成装置が、
前記取得手段により取得した提供サービス情報を構文解析する解析手段を有し、
前記決定手段は、
前記解析手段による前記提供サービス情報の解析結果から取得した、前記提供サービス情報が対応する外部機器が有するアプリケーションの性能を示す情報に基づき、当該画像形成装置とデータ伝送路を介して接続される複数の外部機器の中から、要求された処理を実行させる外部機器を決定することを特徴とする請求項２ないし４のいずれか一項に記載の画像形成装置。
【請求項６】
前記決定手段は、
前記取得手段により、前記外部機器が有する印刷機能に関する情報であるプリンタ情報を取得した場合に、
前記解析手段による前記プリンタ情報の解析結果から取得した、カラー印刷機能の有無に関する情報と印刷速度に関する情報とに基づき、前記複数の外部機器の中から、要求された処理を実行させる外部機器を決定することを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記決定手段は、
前記解析手段による前記プリンタ情報の解析結果から取得した前記印刷速度に関する情報に基づき、前記複数の外部機器の中から最も印刷速度の速い外部機器を、要求された処理を実行させる外部機器として決定することを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記決定手段は、
前記解析手段による前記プリンタ情報の解析結果から取得した、前記プリンタ情報が対応する外部機器のベンダ情報とモデル情報とのどちらか一方の取得情報に基づき、当該画像形成装置のベンダ情報とモデル情報とのどちらか一方の情報と同じ外部機器を、要求された処理を実行させる外部機器として決定することを特徴とする請求項５ないし７のいずれか一項に記載の画像形成装置。
【請求項９】
当該画像形成装置が、
前記外部機器に処理対象データを送信する送信手段を有し、
前記送信手段は、
前記指示手段により、要求された処理の実行開始を決定した外部機器に指示した後に、前記処理対象データを送信することを特徴とする請求項１ないし８のいずれか一項に記載の画像形成装置。
【請求項１０】
情報取得要求に応じて、当該画像形成装置が有するアプリケーションの情報を含む機器情報を要求元の外部機器に提供する第１の機能と、所定の処理要求に応じて、前記アプリケーションが要求された処理を実行する少なくとも１つ以上の第２の機能とを有する画像形成装置における機能連携制御方法であって、
前記第２の機能において、
当該画像形成装置の動作状態を検知する検知手順と、
前記外部機器が有するアプリケーションにより提供されるサービスに関する情報である提供サービス情報を取得する取得手順と、
前記検知手順により検知した動作状態と、前記取得手順により取得した提供サービス情報とに基づき、画像形成装置に要求された処理を前記外部機器に実行させる要求処理実行指示手順と、を有することを特徴とする機能連携制御方法。
【請求項１１】
情報取得要求に応じて、当該画像形成装置が有するアプリケーションの情報を含む提供サービス情報を要求元の外部機器に提供する第１の機能と、所定の処理要求に応じて、前記アプリケーションが要求された処理を実行する少なくとも１つ以上の第２の機能とを有する画像形成装置における機能連携制御プログラムであって、
コンピュータを、
当該画像形成装置の動作状態を検知する検知手段と、
前記外部機器が有するアプリケーションにより提供されるサービスに関する情報を含む提供サービス情報を取得する取得手段と、
前記検知手段により検知した動作状態と、前記取得手段により取得した提供サービス情報とに基づき、画像形成装置に要求された処理を前記外部機器に実行させる要求処理実行指示手段として機能させる機能連携制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、要求された所定の処理を行う画像形成装置に関し、特に、当該画像形成装置で処理要求に応じられない場合に、要求された処理を他の機器で行うように制御する技術に関するものである。
【背景技術】
【０００２】
通信技術の高度化に伴い、プリンタやファクシミリ、またプリンタ、スキャナ、ファクシミリなどの機能を複合的に備えた複合機（ＭＦＰ：Multifunction Peripheral）などの複数の画像形成装置が、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）と言ったネットワークに接続され、複数のユーザが共有機器として画像形成装置を利用可能なシステムは一般的となった。
【０００３】
このような環境下では、ユーザが処理要求を行うＰＣ（Personal Computer）と、要求に応じて所定の処理を行う画像形成装置とが離れた位置にあるため、画像形成装置の動作状態（障害発生時や他の要求に応じた処理を行っている間の状態）などによっては、ユーザからの処理要求に応じられないこともある。
【０００４】
そこで、このようなことがないように、ユーザが処理要求を行う前に、例えばブラウザを介して画像形成装置の動作状態などを確認（要求した処理を行える状態か否かを確認）することもできるが、処理要求の度に確認することは現実的な対応方法ではない。
【０００５】
このようなことから、例えば特許文献１には、プリンタから取得したステータス情報に基づき、登録されたデフォルトプリンタの切り替え処理を行い、エラー対処作業などを回避したプリンタとして効率よく利用可能な支援環境を備えた情報処理装置や、特許文献２には、印刷要求を行ったプリンタが障害発生により使用不可能な場合や、他の印刷要求により使用中の場合に、印刷データの出力先を、別のプリンタへ自動的に切り替え、印刷処理の効率化を図る制御環境を備えたプリンタサーバなどが提案されている。
【０００６】
このように現在では、上記従来技術によって、動的に実行可能な画像形成装置により要求処理が行われるように、複数の画像形成装置が機能連携制御（切り替え制御）されることから、ユーザは、上記に説明を行ったような煩雑な対処作業を行うことなく、画像形成装置の動作状態に応じて効率よく利用することができる。
【特許文献１】特開２００５−８５１３２号公報
【特許文献２】特開平０６−４２３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術では、以下に挙げるような問題点がある。
【０００８】
特許文献１に提案される技術の場合、ユーザが画像形成装置の動作状態に応じて効率よく利用するためには、上記支援環境を備えた情報処理装置をユーザが使用していることが条件となる。また、ユーザは、基本ソフトウェアであるＯＳ（Operating System）のアップグレードなど、情報処理装置のソフトウェア環境の変化に応じて支援環境を再構築する、すなわち新しいソフトウェア環境で動作可能なソフトウェア部品をインストールする必要があり、一方、支援環境をユーザに提供するソフトウェアベンダは、ユーザが使用する情報処理装置の様々なソフトウェア環境に対応した複数種類のソフトウェア部品を開発する必要があり、両者にとって作業負担が大きい。
【０００９】
特許文献２に提案される技術の場合、ユーザが画像形成装置の動作状態に応じて効率よく利用するためには、上記制御環境を備えたプリンタサーバが導入されていることが条件となる。また、プリンタサーバでは、プリンタの切り替えを所定の規則に従って行っていることから、システム管理者が効率よく利用できるような規則をシステム環境に応じて行う必要があり、更には、新しいプリンタがシステム内に導入される度に、プリンタサーバに制御対象として登録しなければならず、システム管理者にとって作業負担が大きい。
【００１０】
このように従来技術では、画像形成装置の動作状態に応じて効率よく利用するための環境を導入・管理・運用する必要があり、ユーザ、ソフトウェアベンダ、システム管理者など、それぞれに作業負担をかけてしまう。
【００１１】
本来であれば、連携制御対象の機能は画像形成装置が有する機能であることから、機能連携の制御自体を、ユーザが使用する情報処理装置のソフトウェア環境に応じた支援環境の再構築（ソフトウェア部品の更新）や、制御環境を備えたプリンタサーバの導入・管理・運用を行わなくても、画像形成装置同士で行わせることができれば最適である。
【００１２】
このように、ネットワークに接続される画像形成装置同士で、機能連携の制御を行うためには、機器同士が互いに機能に関する情報を交換しあえることが前提となる。
【００１３】
現在の画像形成装置は、ネットワークに接続されるＰＣなどの情報処理装置との間で、ＳＯＡＰ（Simple Object Access Protocol）を利用してメッセージ交換を行い、要求に応じて、当該画像形成装置が有するアプリケーションにより提供可能なサービスに関する情報を含む機器情報を、要求元の情報処理装置へ提供する機器情報提供機能を有している。ここで言う「機器情報」には、画像形成装置が有するアプリケーション機能に関する情報や、画像形成装置内部で収集された動作状態情報などがある。
【００１４】
上記「ＳＯＡＰ」とは、ＸＭＬ（eXtensible Markup Language）をベースとしたメッセージ交換のためのプロトコル仕様で、ＨＴＴＰ（HyperText Transfer Protocol）やＳＭＴＰ（Simple Mail Transfer Protocol）といったプロトコルの上位に位置し、そのパケットの中で、オブジェクト呼び出しに必要なＳＯＡＰメッセージの交換を行うためのプロトコルである。ＳＯＡＰは、ネットワークなどのデータ伝送路を介して、アプリケーションを構成するコンポーネント同士を容易に連携させることを目的としている。また、ＳＯＡＰは、送受信するＳＯＡＰメッセージに、ＩＰアドレスやポート番号などの宛先情報、また所定の処理を指示するアクション情報などのＸＭＬ文書本体以外の付加情報を付加できる。
【００１５】
しかし、画像形成装置は、メッセージ交換による取得要求に対して、要求された情報を提供する手段、すなわちサーバ機能を有しているが、自らが情報取得要求を行い、必要な情報を取得する手段、すなわちクライアント機能を有していないため、画像形成装置同士が機能連携するために必要な各種情報を取得することができない。
【００１６】
本発明では、上記従来技術の問題点を鑑み、外部機器が有する機能との連携処理を当該装置自身で行う画像形成装置、機能連携処理方法、及び機能連携処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明の画像形成装置は、情報取得要求に応じて、当該画像形成装置が有するアプリケーションの情報を含む機器情報を要求元の外部機器に提供する第１の機能と、所定の処理要求に応じて、前記アプリケーションが要求された処理を実行する少なくとも１つ以上の第２の機能とを有する画像形成装置であって、前記第２の機能が、当該画像形成装置の動作状態を検知する検知手段と、前記外部機器が有するアプリケーションにより提供されるサービスに関する情報である提供サービス情報を取得する取得手段と、前記検知手段により検知した動作状態と、前記取得手段により取得した提供サービス情報とに基づき、当該画像形成装置に要求された処理を前記外部機器に実行させる要求処理実行指示手段と、を有することを特徴とする。
【００１８】
また、上記目的を達成するため、本発明の画像形成装置は、前記要求処理実行指示手段が、前記取得手段により取得した提供サービス情報に基づき、要求された処理を実行させる外部機器を決定する決定手段と、要求された処理を、前記決定手段により決定した外部機器に実行させるか否かを制御する制御手段と、前記制御手段による制御に従って、要求された処理の実行開始を決定した外部機器に指示する指示手段と、を有することを特徴とする。
【００１９】
また、上記目的を達成するため、本発明の画像形成装置は、前記制御手段が、前記検知手段により検知した動作状態に応じて、当該画像形成装置が要求された処理を実行することができるか否かの判断し、判断結果に基づき、要求された処理を決定した外部機器に実行させるか否かを制御することを特徴とする。
【００２０】
また、上記目的を達成するため、本発明の画像形成装置は、前記制御手段による制御を行うか否かを設定する制御可否設定手段を有し、前記制御手段が、前記制御可否設定手段による設定に基づき、要求された処理を決定した外部機器に実行させるか否かを制御することを特徴とする。
【００２１】
また、上記目的を達成するため、本発明の画像形成装置は、前記取得手段により取得した提供サービス情報を構文解析する解析手段を有し、前記決定手段が、前記解析手段による前記提供サービス情報の解析結果から取得した、前記提供サービス情報が対応する外部機器が有するアプリケーションの性能を示す情報に基づき、当該画像形成装置とデータ伝送路を介して接続される複数の外部機器の中から、要求された処理を実行させる外部機器を決定することを特徴とする。
【００２２】
また、上記目的を達成するため、本発明の画像形成装置は、前記決定手段において、前記取得手段により、前記外部機器が有する印刷機能に関する情報であるプリンタ情報を取得した場合に、前記解析手段による前記プリンタ情報の解析結果から取得した、カラー印刷機能の有無に関する情報と印刷速度に関する情報とに基づき、前記複数の外部機器の中から、要求された処理を実行させる外部機器を決定することを特徴とする。
【００２３】
また、上記目的を達成するため、本発明の画像形成装置は、前記決定手段が、前記解析手段による前記プリンタ情報の解析結果から取得した前記印刷速度に関する情報に基づき、前記複数の外部機器の中から最も印刷速度の速い外部機器を、要求された処理を実行させる外部機器として決定することを特徴とする。
【００２４】
また、上記目的を達成するため、本発明の画像形成装置は、前記決定手段が、前記解析手段による前記プリンタ情報の解析結果から取得した、前記プリンタ情報が対応する外部機器のベンダ情報とモデル情報とのどちらか一方の取得情報に基づき、当該画像形成装置のベンダ情報とモデル情報とのどちらか一方の情報と同じ外部機器を、要求された処理を実行させる外部機器として決定することを特徴とする。
【００２５】
また、上記目的を達成するため、本発明の画像形成装置は、前記外部機器に処理対象データを送信する送信手段を有し、前記送信手段が、前記指示手段により、要求された処理の実行開始を決定した外部機器に指示した後に、前記処理対象データを送信することを特徴とする。
【００２６】
このような構成によって、本発明の画像形成装置は、動作状態（障害発生時や他の要求に応じた処理を行っている間の状態）などにより、ユーザからの処理要求に応じられない場合、所定のプロトコルに従って、ネットワークに接続される複数の外部機器から取得しておいた外部機器が有するアプリケーションにより提供可能なサービスに関する情報である提供サービス情報（例えばプリンタ情報など）に基づき、要求された処理を最適に実行可能な外部機器を決定し、決定した外部機器へ処理対象データを送信することで、当該画像形成装置以外の機器に連携処理を指示する。
【００２７】
これによって、本発明の画像形成装置は、外部機器が有する機能との連携処理を当該装置自身で行うことができる。
【００２８】
上記目的を達成するため、本発明の機能連携制御方法は、情報取得要求に応じて、当該画像形成装置が有するアプリケーションの情報を含む機器情報を要求元の外部機器に提供する第１の機能と、所定の処理要求に応じて、前記アプリケーションが要求された処理を実行する少なくとも１つ以上の第２の機能とを有する画像形成装置における機能連携制御方法であって、前記第２の機能において、当該画像形成装置の動作状態を検知する検知手順と、前記外部機器が有するアプリケーションにより提供されるサービスに関する情報である提供サービス情報を取得する取得手順と、前記検知手順により検知した動作状態と、前記取得手順により取得した提供サービス情報とに基づき、前記画像形成装置に要求された処理を前記外部機器に実行させる要求処理実行指示手順と、を有することを特徴とする。
【００２９】
このような手順によって、本発明の機能連携制御方法は、動作状態（障害発生時や他の要求に応じた処理を行っている間）などにより、ユーザからの処理要求に応じられない場合、所定のプロトコルに従って、ネットワークに接続される複数の外部機器から取得しておいた外部機器が有するアプリケーションにより提供可能なサービスに関する情報である提供サービス情報（例えばプリンタ情報など）に基づき、要求された処理を最適に実行可能な外部機器を決定し、決定した外部機器へ処理対象データを送信することで、画像形成装置以外の機器に連携処理を指示する機能連携制御動作を実現する。
【００３０】
これによって、本発明の機能連携制御方法は、外部機器が有する機能との連携処理を当該装置自身で行う画像形成装置を提供できる。
【００３１】
上記目的を達成するため、本発明の機能連携制御プログラムは、情報取得要求に応じて、当該画像形成装置が有するアプリケーションの情報を含む提供サービス情報を要求元の外部機器に提供する第１の機能と、所定の処理要求に応じて、前記アプリケーションが要求された処理を実行する少なくとも１つ以上の第２の機能とを有する画像形成装置における機能連携制御プログラムであって、コンピュータを、当該画像形成装置の動作状態を検知する検知手段と、前記外部機器が有するアプリケーションにより提供されるサービスに関する情報を含む提供サービス情報を取得する取得手段と、前記検知手段により検知した動作状態と、前記取得手段により取得した提供サービス情報とに基づき、前記画像形成装置に要求された処理を前記外部機器に実行させる要求処理実行指示手段として機能させる。
【００３２】
これによって、本発明の機能連携制御プログラムは、コンピュータを、動作状態（障害発生時や他の要求に応じた処理を行っている間）などにより、ユーザからの処理要求に応じられない場合、所定のプロトコルに従って、ネットワークに接続される複数の外部機器から取得しておいた外部機器が有するアプリケーションにより提供可能なサービスに関する情報である提供サービス情報（例えばプリンタ情報など）に基づき、要求された処理を最適に実行可能な外部機器を決定し、決定した外部機器へ処理対象データを送信するように機能させることができる。
【００３３】
よって、本発明の機能連携制御プログラムは、外部機器が有する機能との連携処理を画像形成装置自身で行うことができる機能連携制御機能を実現することができる。
【発明の効果】
【００３４】
本発明によれば、所定のプロトコルに従って、ネットワークに接続される複数の外部機器から取得しておいた外部機器が有するアプリケーションにより提供可能なサービスに関する情報である提供サービス情報（例えばプリンタ情報など）に基づき、要求された処理を最適に実行可能な外部機器を決定することにより、外部機器が有する機能との連携処理を画像形成装置自身が行うことができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の好適な実施の形態（以下、「実施形態」という。）について、図面を用いて詳細に説明する。
【００３６】
［第１の実施形態］
＜ハードウェア構成＞
では、本実施形態に係る画像形成装置１００のハードウェア構成について説明する。図１は、本発明の第１の実施形態に係る画像形成装置１００のハードウェア構成の一例を示す図である。
【００３７】
本実施形態に係る画像形成装置１００は、操作パネル１１と、記憶メディアＩ／Ｆ１２と、コントローラ１３と、データ通信Ｉ／Ｆ１４と、ＨＤＤ（Hard Disk Drive）１７と、スキャナ１５と、プロッタ１６とから構成され、それぞれ相互に接続されている。
【００３８】
操作パネル１１は、入力装置１１aと表示装置１１bとを有しており、入力装置１１aは、ハードウェアキーなどで構成され、画像形成装置１００に各操作信号を入力するのに用いられる。また、表示装置１１bは、ディスプレイなどで構成され、例えば画像形成動作に関する各種情報を表示する。データ通信Ｉ／Ｆ１４は、インタフェース装置１４aを有しており、画像形成装置１００をネットワークなどのデータ伝送路に接続するインタフェースである。ＨＤＤ１７は、画像形成装置１００で取り扱われる受信文書データや読み取り画像データなどの各種データを格納している。また、ＨＤＤ１７は、これらの各種データを、所定のファイルシステムやＤＢ（Data Base）により管理している。
【００３９】
ＨＤＤ１７に格納される各種データの中には、例えば、デジタルカメラなどの外部機器によって記録された電子データも含まれる。このような場合には、メモリカードなどの記録媒体１２bによって画像形成装置１００に提供されるか、データ伝送路であるネットワークなどを通じてアップロードされる。記録媒体１２bは、記憶メディアＩ／Ｆ１２が有するドライブ装置１２aにセットされ各種データが記録媒体１２bからドライブ装置１２aを介してＨＤＤ１７に格納される。
【００４０】
コントローラ１３は、ＲＯＭ（Read Only Memory）１３a、ＲＡＭ（Random Access Memory）１３b、及びＣＰＵ（Central Processing Unit）１３cとを有しており、ＲＯＭ１３aは、画像形成装置１００が起動されるときに実行されるプログラムや各種データを格納している。また、ＲＡＭ１３bは、ＲＯＭ１３aやＨＤＤ１７から読み出された各種プログラムやデータを一時保持する。更に、ＣＰＵ１３cは、ＲＡＭ１３bが一時保持しているプログラムを実行する。コントローラ１３は、例えば、データ通信Ｉ／Ｆ１４を介して印刷データを受信した場合に、ＲＯＭ１３aからＲＡＭ１３b上に読み出された、ＰＤＬ（Page Description Language）を解釈可能なプログラム（ＰＤＬパーサ）をＣＰＵ１３cにより実行し、印刷データを解釈してビットマップイメージを生成する。
【００４１】
スキャナ１５は、画像読取装置１５aを有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ１６は、印刷装置１６aを有しており、例えば、電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。
【００４２】
このように、本実施形態に係る画像形成装置１００では、上記ハードウェア構成により、コピー、プリンタ、ファクシミリ、スキャナなどの複数の機能を実現している。
【００４３】
＜ソフトウェア構成＞
次に、本実施形態に係る画像形成装置１００のソフトウェア構成について説明する。図２は、本発明の第１の実施形態に係る画像形成装置１００のソフトウェア構成の一例を示す図である。
【００４４】
＜＜画像形成装置＞＞
本実施形態に係る画像形成装置１００は、図１に示したプロッタ１６と、スキャナ１５と、ファクシミリやＨＤＤ１７などのハードウェアリソース１０１などを有するとともに、起動部１４０により起動されるプラットホーム１２０とアプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【００４５】
プラットホーム１２０は、アプリケーション１３０からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービス１５０と、１つ以上のハードウェア資源の管理を行い、コントロールサービス１５０からの獲得要求を調停するＳＲＭ（System Resource Manager）１２３と、ＯＳ１２１とを有する。
【００４６】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（System Control Service）１２２と、ＥＣＳ（Engine Control Service）１２４と、ＭＣＳ（Memory Control Service）１２５と、ＯＣＳ（Operation panel Control Service）１２６と、ＦＣＳ（FAX Control Service）１２７と、ＮＣＳ（Network Control Service）１２８とから構成される。
【００４７】
なお、このプラットホーム１２０は、予め定義されたメソッドによりアプリケーション１３０から処理要求を受信可能とするＡＰＩ（Application Program Interface）１０３と、プロッタ１６やスキャナ１５、またその他のハードウェアリソース１０１などを、ハードウェア資源を利用する上位層からの要求に従ってＯＳ１２１を介して制御するときのインタフェースであるエンジンＩ／Ｆ１０２を有する。
【００４８】
ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００４９】
ＳＲＭ１２３は、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものであり、プロッタ１６やスキャナ１５などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（例えば、セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４ Ｉ／Ｆ、ＲＳ２３２Ｃ Ｉ／Ｆなど。）のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
【００５０】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など。）を直接実施している。
【００５１】
ＳＣＳ１２２は、アプリ管理、操作部制御、システム画面表示、ＬＥＤ（Light Emitting Diode）表示、リソース管理、割り込みアプリ制御を行うものである。ＥＣＳ１２４は、プロッタ１６、スキャナ１５などから構成されるハードウェア資源のエンジンを制御するものである。
【００５２】
ＭＣＳ１２５は、画像メモリの取得および解放、ＨＤＤ１７の利用、画像データの圧縮および伸張などを行うものである。ＯＣＳ１２６は、オペレータと本体制御間の情報伝達手段となる操作パネル１１を制御するモジュールである。
【００５３】
ＦＣＳ１２７は、システムコントローラの各アプリ層からＰＳＴＮ（Public Switched Telephone Networks）／ＩＳＤＮ（Integrated Services Digital Network）を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ：Static Random Access Memory）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供するものである。ＦＣＳ１２７には、そのサブプロセスであるＦＣＵハンドラ（ＦＣＵＨ）が起動される。このＦＣＵＨは、ＦＣＳ１２７からの指令によりファクシミリ送受信のときにファクシミリエンジンのデバイスドライバを制御するものである。
【００５４】
ＮＣＳ１２８は、ネットワークＩ／Ｏを必要とするアプリケーション１３０に対して共通に利用できるサービスを提供するためのモジュール群である。
【００５５】
本実施形態に係るデータ通信機能は、ＮＣＳ１２８が有している。ＮＣＳ１２８を構成する具体的なソフトウェア部品（プログラム）については、以降に示す図３を用いて説明する。
【００５６】
アプリケーション１３０は、ＰＣＬやポストスクリプト（ＰＳ）などのＰＤＬパーサを有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６と、配信用のアプリケーションである配信アプリ１１７とを有している。
【００５７】
これらの各コントロールサービスとＳＲＭ１２３と各アプリケーション１３０とは、１つ以上のメソッドを有するオブジェクトであり、このオブジェクトを起動することによりそれぞれプロセスとしてＯＳ１２１上に生成されて実行される。そして、各プロセス内部には、複数のスレッドが起動され、ＯＳ１２１の管理下でこれらのスレッドのＣＰＵ占有時間を切り替えることにより並列実行が実現されている。このため、プロセス切り替えによる並列実行と比較して、並列実行時の処理速度の向上が図られている。
【００５８】
各アプリプロセスと各コントロールサービスプロセスとは、メソッドの実行によるプロセス間通信によってメッセージの送受信が行われる。
【００５９】
＜＜ＮＣＳ＞＞
ここからは、本実施形態に係るデータ通信機能を有するＮＣＳ１２８について説明する。
【００６０】
（ソフトウェア構成の概要）
図３は、本発明の第１の実施形態に係るＮＣＳ１２８のソフトウェア構成の一例を示す図である。本実施形態に係るＮＣＳ１２８のソフトウェア構成は、主に、各プロトコルによって受信したデータを各アプリケーション１３０に振り分けたり、アプリケーション１３０からデータをネットワーク側に送信する際の仲介を行うモジュール群で構成される。そのモジュール群の中に、本実施形態に係るＷＳ−ＭＦＰモジュール群２０がある。
【００６１】
ここで上記の「ＷＳ」とは、Ｗｏｒｌｄ Ｗｉｄｅ Ｗｅｂ Ｃｏｎｓｏｒｔｉｕｍ（Ｗ３Ｃ）のワーキンググループ（ＷＧ）により進められているＸＭＬ（eXtensible Markup Language）をベースとした標準化Ｗｅｂサービスの意味である。このＷｅｂサービスを利用すると、実装された機器（ＷＳ−Ｄｅｖｉｃｅ）間において、ＷＳＤと称されるプロトコルを介してＸＭＬで記述されたメッセージをやり取りすることで、様々なサービスを実現することができる。その代表的な機器としては、例えばＷｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａを搭載したＰＣである。
【００６２】
「ＷＳ」については、その詳細が開示されている公開文献「Devices Profile for Web Services」を明らかにし、ここでの説明を省略する。公開文献の入手先ＵＲＬは、"http://specs.xmlsoap.org/ws/2006/02/devprof/devicesprofile.pdf"である。また、以降の説明の中で、「ＷＳ」がつく機能名やモジュール名は、この標準化Ｗｅｂサービスに準拠して設計された機能やモジュールである。例えば、ＷＳ−ＭＦＰモジュール群２０は、標準化Ｗｅｂサービスに準拠して設計された複合機用のモジュール群を示している。
【００６３】
図３に示すＷＳ−ＭＦＰモジュール群２０は、外部機器と画像形成装置１００が有するプリンタアプリ１１１との間でプリンタ関連のデータを取り扱うＷＳ−Ｐｒｉｎｔｅｒ２１pや、外部機器と画像形成装置１００が有するスキャナアプリ１１４との間でスキャナ関連のデータを取り扱うＷＳ−Ｓｃａｎｎｅｒ２１sと、外部機器と画像形成装置１００との間で機器関連のデータを取り扱うＤＦＭモジュール２２とから構成され、上記各ソフトウェア部品は、それぞれ別のプロセスで起動され動作するように実装される。
【００６４】
すなわち、ＷＳ−ＭＦＰモジュール群２０は、上記ソフトウェア構成によって、情報取得要求に応じて、当該画像形成装置１００が有するアプリケーションの情報を含む機器情報を要求元の外部機器に提供する第１の機能（ＤＦＭモジュール２２）と、所定の処理要求に応じて、アプリケーションにより要求された処理を実行する少なくとも１つ以上の第２の機能（例えば、「ＷＳ−Ｐｒｉｎｔｅｒ２１p」や「ＷＳ−Ｓｃａｎｎｅｒ２１s」など。）とを有する。
【００６５】
例えば、ＷＳ−Ｐｒｉｎｔｅｒ２１pは、ＤＦＭモジュール２２からのプリンタアプリ１１１に関する情報の取得要求に応答したり、外部機器からの印刷要求をプリンタアプリ１１１に通知したりする機能である。ＤＦＭモジュール２２は、ＷＳ−Ｐｒｉｎｔｅｒ２１pやＷＳ−Ｓｃａｎｎｅｒ２１sなどからプリンタアプリ１１１やスキャナアプリ１１４などのアプリケーション情報を取得し、取得した情報を基に外部機器に対して、画像形成装置１００が有するアプリケーションにより提供可能な標準化Ｗｅｂサービスに関する情報を含む機器情報（例えば「自機が外部機器に対して提供可能な機能などの情報」）を送信する。上記において、ＤＦＭモジュール２２からＷＳ−Ｐｒｉｎｔｅｒ２１pが保有するプリンタ関連の情報を取得する場合について説明を行ったが、互いに別のプロセスによって動作しているため、プロセス間通信によりデータの送受信を行う。
【００６６】
このように、本実施形態に係る画像形成装置１００は、上記構成によるＮＣＳ１２８を有することにより、外部機器と画像形成装置１００との間でデータの送受信を行うことができる。
【００６７】
（ソフトウェア構成の詳細）
図４は、本発明の第１の実施形態に係るＷＳ−ＭＦＰモジュール群２０のソフトウェア構成の一例を示す図である。図４に示すように、本実施形態に係るＮＣＳ１２８は、ＷＳ−ＭＦＰモジュール群２０のＤＦＭモジュール２２及びＷＳ−Ｐｒｉｎｔｅｒ２１pに加え、ＳＯＡＰ５０とＩＭＣ（Internal Message Communication）５１とから構成され、上記各ソフトウェア部品は、それぞれ別のプロセスで起動され動作するように実装される。
【００６８】
また図４の説明では、プリンタ１６に対応するＷＳ−Ｐｒｉｎｔｅｒ２１pを、本実施形態に係る画像形成装置１００が有するアプリケーション機能の代表として説明し、ＷＳ−Ｓｃａｎｎｅｒ２１sの説明は省略する。
【００６９】
本実施形態に係るＷＳ−ＭＦＰモジュール群２０のソフトウェア構成で特徴的なのは、ＤＦＭモジュール２２及びＷＳ−Ｐｒｉｎｔｅｒ２１pのそれぞれが、外部機器に対して情報を提供するサーバ機能部Ｓ（参照符号：２１Sp，２２S）と、外部機器に対して情報を要求するクライアント機能部Ｃ（参照符号：２１Cp，２２C）とから構成される点である。
【００７０】
従来技術において簡単に説明を行った、ネットワークに接続されるＰＣなどの情報処理装置との間で、ＳＯＡＰを利用してメッセージ交換を行い、要求に応じた機器情報を情報処理装置へ提供する機器情報提供機能を有する画像形成装置１００では、上記サーバ機能部Sのみで構成される。
【００７１】
では以下に、ＤＦＭモジュール２２とＷＳ−Ｐｒｉｎｔｅｒ２１pのそれぞれを構成する主なソフトウェア部品について、サーバ機能部Sとクライアント機能部Cとに分けて説明する。
【００７２】
（ＤＦＭモジュールのサーバ機能部）
ＤＦＭモジュール２２のサーバ機能部２２Sは、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sと、ＷＳ−Ｔｒａｎｓｆｅｒ３２Sと、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈｅｎｇｅ３３と、ＷＳ−Ａｄｄｒｅｓｓｉｎｇ３４と、ＷＳＤ−Ｍａｎａｇｅｒ３５とから構成される。
【００７３】
ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sは、標準化Ｗｅｂサービスにより、搭載するアプリケーション機能を提供可能な機器（ＷＳ−Ｄｅｖｉｃｅ）がネットワークに参加したことを、外部機器が有する機能が検知するためのメッセージを、画像形成装置１００から外部機器へ送信する。
【００７４】
ＷＳ−Ｔｒａｎｓｆｅｒ３２Sは、画像形成装置１００が有するアプリケーションにより提供可能な標準化Ｗｅｂサービスに関する情報（以下、「機器情報」という。）を通知するメッセージを、画像形成装置１００から外部機器へ送信する。また、ＷＳ−Ｔｒａｎｓｆｅｒ３２Sは、ＵＤＰ（User Datagram Protocol）により、外部機器に対して、画像形成装置１００がネットワークに参加した旨を知らせる（例えば「Hello」コマンドをネットワークに接続される全ての外部機器に対してマルチキャストする）。
【００７５】
ＷＳ−ＭｅｔａｄａｔａＥｘｃｈｅｎｇｅ３３は、ＷＳ−Ｐｒｉｎｔｅｒ２１pから取得した当該画像形成装置１００が有するアプリケーション機能に関する情報（以下、「機能情報」という。）などを基に、画像形成装置１００の機器情報のデータを生成する。
【００７６】
ＷＳ−Ａｄｄｒｅｓｓｉｎｇ３４は、外部機器とＷＳＤ（プロトコル）を介してデータやイベントの送受信を行うときに、送信元や送信先となる機器を特定するためにＩＰアドレスを解決する。
【００７７】
ＷＳＤ−Ｍａｎａｇｅｒ３５は、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１S、ＷＳ−Ｔｒａｎｓｆｅｒ３２S、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈｅｎｇｅ３３、及びＷＳ−Ａｄｄｒｅｓｓｉｎｇ３４、ならびにＷＳ−Ｐｒｉｎｔｅｒ２１pが有するＰｒｉｎｔｅｒＤＣＰ４１pなどの動作制御・管理を行う。
【００７８】
（ＤＦＭモジュールのクライアント機能部）
ＤＦＭモジュール２２のクライアント機能部２２Cは、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１C及びＷＳ−Ｔｒａｎｓｆｅｒ３２Cに加え、機器情報取得マネージャ３６とから構成される。
【００７９】
ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cは、搭載するアプリケーション機能を提供可能な機器（ＷＳ−Ｄｅｖｉｃｅ）がネットワークに参加したことを知らせるためのメッセージを、外部機器から受信する。
【００８０】
ＷＳ−Ｔｒａｎｓｆｅｒ３２Cは、外部機器の機器情報の取得を要求するメッセージを、画像形成装置１００から外部機器へ送信する。
【００８１】
機器情報取得マネージャ３６は、外部機器から応答され取得した機器情報に基づき所定の処理を行う。機器情報取得マネージャ３６は、例えば取得した機器情報に基づき、どのようなアプリケーション機能を提供可能な機器（ＷＳ−Ｄｅｖｉｃｅ）がネットワークに接続され通信可能な状態にあるのかを確認する処理などを行う。
【００８２】
このように、ＤＦＭモジュール２２では、上記サーバ・クライアント機能の構成により、例えば、ネットワークに接続される画像形成装置１００を含む複数の機器同士において、搭載するアプリケーション機能を提供可能な機器の自動検知機能及び機器情報提供・取得機能を実現している。
【００８３】
（ＷＳ−Ｐｒｉｎｔｅｒのサーバ機能部）
ＷＳ−Ｐｒｉｎｔｅｒ２１pのサーバ機能部２１Spは、ＰｒｉｎｔｅｒＤＣＰ４１Spと、ＷＳ−Ｅｖｅｎｔｉｎｇ４２Spと、ＷＳ−Ａｄｄｒｅｓｓｉｎｇ３４とから構成される。
【００８４】
ＰｒｉｎｔｅｒＤＣＰ４１Spは、プリンタ機能を利用する外部機器（例えばＰＣなどの情報処理装置）が有する機能（例えばプリンタドライバなど）から、画像形成装置１００が有するプリンタアプリ１１１へ送信された印刷データなどを受信する。また、ＷＳ−Ｅｖｅｎｔｉｎｇ４２Spは、プリンタ機能を利用する外部機器が有する機能から送信された印刷要求などの処理要求イベントを画像形成装置１００が有するプリンタアプリ１１１に通知する。ＷＳ−Ａｄｄｒｅｓｓｉｎｇ３４については、上記ＤＦＭモジュール２２のサーバ機能部２２Sにおいて説明を行った内容と同様であることから、ここでの説明は省略する。
【００８５】
（ＷＳ−Ｐｒｉｎｔｅｒのクライアント機能部）
ＷＳ−Ｐｒｉｎｔｅｒ２１pのクライアント機能部２１Cpは、ＰｒｉｎｔｅｒＤＣＰ４１Cp及びＷＳ−Ｅｖｅｎｔｉｎｇ４２Cpに加え、プリンタ情報取得マネージャ４３とから構成される。
【００８６】
ＰｒｉｎｔｅｒＤＣＰ４１Cpは、他の画像形成装置である外部機器に対して、サービスとして提供可能なプリンタ機能（印刷機能）に関する情報（以下、「プリンタ情報」という。）の取得を要求するメッセージを、画像形成装置１００から外部機器へ送信する。ここで言う「プリンタ情報」とは、情報取得要求を行う外部機器が搭載するアプリケーションにより提供されるサービスに関する情報（提供サービス情報）を意味する。
また、ＰｒｉｎｔｅｒＤＣＰ４１Cpでは、プリンタ情報取得マネージャ４３から外部機器に機能連携処理を依頼する指示を受け付けると、サーバ機能部２１SpのＰｒｉｎｔｅｒＤＣＰ４１Spで受信した印刷データを、機能連携処理を依頼する外部機器へ転送する。
【００８７】
ＷＳ−Ｅｖｅｎｔｉｎｇ４２Cpは、外部機器が有するプリンタ機能から送信されたプリンタ情報の受信イベントを画像形成装置１００が有するプリンタ情報取得マネージャ４３に通知する。
【００８８】
プリンタ情報取得マネージャ４３は、外部機器から応答され取得したプリンタ情報に基づき所定の処理を行う。
【００８９】
プリンタ情報取得マネージャ４３は、取得したプリンタ情報に基づき、どのような印刷性能を提供可能な画像形成装置（ＷＳ−Ｐｒｉｎｔｅｒ）がネットワークに接続され通信可能な状態にあるのかを確認する。また、プリンタ情報取得マネージャ４３は、自らが動作する画像形成装置１００の動作状態（障害発生時や他の要求に応じた処理を行っている間の状態）などから、サーバ機能部２１Spで受信した印刷要求に対して、印刷性能（搭載したアプリケーションの性能）を確認した他のプリンタと機能連携処理が行えるか否かを判断するなどの処理を行う。
【００９０】
このように、ＷＳ−Ｐｒｉｎｔｅｒ２１pでは、上記サーバ・クライアント機能の構成により、例えば、画像形成装置１００自らが、自身の動作状態に応じて機能連携処理を行うか否かを判断し、機能連携処理を行うと判断した場合に、外部機器から取得したプリンタ情報に基づき適切な印刷性能を備えた外部機器を決定し、決定した外部機器へ印刷データを転送する機器同士の機能連携制御機能を実現している。
【００９１】
続いて、ＳＯＡＰ５０とＩＭＣ５１のそれぞれについて説明する。
【００９２】
ＳＯＡＰ５０は、下位層にあたるＨＴＴＰやＳＭＴＰなどの通信プロトコルによりネットワークを介して、外部機器と画像形成装置１００との間で、ＳＯＡＰメッセージを送受信するＳＯＡＰメッセージ送受信部と、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ３３により生成されたデータを基にＳＯＡＰメッセージを生成するＳＯＡＰメッセージ生成部とから構成される。
【００９３】
このように、ＳＯＡＰ５０は、上記機能構成により、ＤＦＭモジュール２２及びＷＳ−Ｐｒｉｎｔｅｒ２１pなどから受け取った通信データをＳＯＡＰメッセージに変換し、外部機器と画像形成装置１００との間のメッセージ交換機能を実現している。また、本実施形態では、ＳＯＡＰ５０にオープンソースの「ｇＳＯＡＰ」を採用し、ＷＳ−ＭＦＰモジュール群２０が動作するプロセスとは異なるプロセスで動作するように実装する。「ｇＳＯＡＰ」については、その詳細が開示されている開発元の公式サイトである「gSOAP：C/C++ Web Services and Clients」へのＵＲＬ（http://www.cs.fsu.edu/~engelen/soap.html）を開示し、ここでの説明は省略する。
【００９４】
ＩＭＣ５１は、プロセス間通信機能を有しており、ＤＦＭモジュール２２やＷＳ−Ｐｒｉｎｔｅｒ２１pなどのように、ソフトウェア部品として単独で機能するものではなく、単独で機能するソフトウェア部品に対して、プロセス間でデータの送受信などを行うためのプロセス間通信プログラム群が１つにまとめられたファイル、すなわちライブラリとして提供される。このことから、上記ＤＦＭモジュール２２やＷＳ−Ｐｒｉｎｔｅｒ２１pなどの各ソフトウェア部品には、プロセス間通信機能を有するＩＭＣ５１のライブラリがリンクされている。
【００９５】
本実施形態に係る画像形成装置１００は、上記のようなソフトウェア構成によるＮＣＳ１２８を有しており、外部機器とのメッセージ交換などのデータ通信を行う。
【００９６】
＜機能連携制御機能＞
本実施形態に係る画像形成装置１００は、上記ハードウェア及びソフトウェア構成により、ネットワークに接続される外部機器が有する機能との連携処理を当該装置自身で行う。以降に、この動作を実現する機能連携制御機能について説明する。
【００９７】
＜＜構成＞＞
図５は、本発明の第１の実施形態に係る機能連携制御機能の機能構成の一例を示す図である。本実施形態に係る画像形成装置１００が有する機能連携制御機能は、プリンタ情報データパース６１と、判定パラメータ保持部６２と、制御パラメータ設定部６３と、制御部６４と、印刷動作監視部６５と、印刷データパース部６６とから構成され、これらの各機能部は、ＷＳ−Ｐｒｉｎｔｅｒ２１pのクライアント機能部２１Cpにおけるプリンタ情報取得マネージャ４３が有している。以下に、各機能部について簡単に説明する。
【００９８】
プリンタ情報データパース６１は、ネットワークに接続されるプリンタ機能を有する複数の外部機器３００から取得したプリンタ情報７１のデータをパースする。ここで言うパースとは、テキストデータを構文解析し、論理的な構造を判断することを意味する。よって、プリンタ情報データパース６１は、プリンタ情報７１のデータを構文解析し、データ構造を解釈する。
【００９９】
判定パラメータ保持部６２は、プリンタ情報データパース６１がプリンタ情報７１を構文解析した結果取得される、プリンタ情報７１のデータ内に、所定のタグによって定義された印刷性能を判定するための各種パラメータ（以下、「判定パラメータ」と言う。）を保持する。例えば判定パラメータ保持部６２は、取得された上記判定パラメータを、ＲＡＭ１３ｂの所定の記憶領域へ一時的に格納し保持する。
【０１００】
制御パラメータ設定部６３は、例えば当該画像形成装置１００が備えるユーザインタフェース（ＵＩ）機能を有する操作パネル１１を介して受け付けた、当該画像形成装置１００が行う機能連携を制御するための各種パラメータ（以下、「制御パラメータ」と言う。）を設定する。例えば制御パラメータ設定部６３は、受け付けた上記制御パラメータを、ＨＤＤ１７の所定の記憶領域に格納し制御値として設定する。
【０１０１】
なお、上記の制御パラメータ設定部６３の説明では、操作パネル１１からの制御パラメータの設定を行う例を挙げたが、この方法に本発明が限定されるものではなく、例えば、ネットワークに接続されるＰＣなどの情報処理装置を介して、ブラウザから制御パラメータの設定指示を受け付ける方法や、制御パラメータの設定データを受信する方法などであってもよい。また、制御パラメータの格納先をＨＤＤ１７として説明を行ったが、この方法に本発明が限定されるものではなく、例えばＮＶ−ＲＡＭ（Non Volatile RAM）などであってもよい。すなわち当該画像形成装置１００が備える不揮発性の記憶装置であればよい。
【０１０２】
制御部６４は、判定パラメータ保持部６２が保持する判定パラメータに基づき、要求された印刷を最適に実行可能な外部機器３００を決定し、更には、制御パラメータ設定部６３が設定した制御パラメータと、後述する印刷動作監視部６５からの当該画像形成装置１００の動作状態検知とに基づき、決定した外部機器３００に対して要求された処理を実行させるか否か（以下、「連携処理の実行開始を指示するか否か」という。）の判断を行い、機能連携を制御する。このとき制御部６４は、印刷に関する連携処理の実行開始を指示する場合、サーバ機能部２１SpのＰｒｉｎｔｅｒＤＣＰ４１Spから印刷データを受け取り、受け取った印刷データをクライアント機能部２１CpのＰｒｉｎｔｅｒＤＣＰ４１Cpに渡し、決定した外部機器３００へのデータ転送を指示する。
【０１０３】
印刷動作監視部６５は、当該画像形成装置１００の障害発生（例えば「トナー切れ」、「用紙なし」、「紙づまり」など）や他の要求に応じた印刷処理を行っている間の状態などの動作状態を検知する。また印刷動作監視部６５は、サーバ・クライアント機能部２１Spと２１Cpとが外部機器３００から所定のデータやイベントを送受信するプロトコルであるＷＳＤ以外の他のプロトコル（以下、「非ＷＳＤ」と言う。）を介して、外部機器３００から印刷データを受信したか否かについても監視する。このとき印刷動作監視部６５は、非ＷＳＤを介して外部機器３００から印刷データを受信したことを検知すると、後述する印刷データパース部６６へ受信した印刷データを渡す。
【０１０４】
印刷データパース部６６は、印刷動作監視部６５から受け取った、非ＷＳＤを介して外部機器３００から受信した印刷データをパースする。ここで言うパースも、上記で説明を行ったパースと同様の意味である。但し、上記プリンタ情報データパース６１は、解析対象がプリンタ情報７１であり、このデータは、標準化ＷｅｂサービスによりＸＭＬで記述されたデータであることからＸＭＬパーサである。これに対して、印刷データパース部６６は、解析対象が印刷データであり、このデータは、プリンタドライバなどによりＰＤＬで記述されたデータであることからＰＤＬパーサとなる。
【０１０５】
上記各機能部は、画像形成装置１００が有するＲＯＭ１３ａに格納された機能連携制御プログラム（ソフトウェア部品）がＲＡＭ１３ｂ上に読み出され、ＣＰＵ１３ｃによって実行されることで、それぞれの動作が実現される。
【０１０６】
また、上記各機能部の間で行われる各種データの送受信や、ＷＳ−Ｐｒｉｎｔｅｒ２１pのクライアント機能部２１Cpとサーバ機能部２１Spとの間で行われる各種データの送受信については、以降の各機能部の動作手順で説明を行う。
【０１０７】
本実施形態に係る画像形成装置１００は、上記各機能部によって構成される機能連携制御機能を動作させることによって、当該画像形成装置１００の動作状態（障害発生時や他の要求に応じた印刷を行っている間の状態）などにより、ユーザからの印刷要求ＥＶＮに応じられない場合、ＷＳＤ（所定のプロトコル）に従って、ネットワークに接続される複数のプリンタ機能を有する外部機器３００から取得しておいたプリンタ情報７１に基づき、要求された印刷を最適に実行可能な外部機器３００を決定し、決定した外部機器３００へ印刷データを送信することで、当該画像形成装置１００以外の機器に印刷に関する連携処理を指示する。
【０１０８】
＜＜動作＞＞
以降に、本実施形態に係る機能連携制御機能の動作について説明する。
【０１０９】
（判定パラメータ取得）
図６は、本発明の第１の実施形態に係るプリンタ情報７１の一例を示す図である。図６に示すプリンタ情報７１は、クライアント機能部２１CpのＰｒｉｎｔｅｒＤＣＰ４１Cpが、他の画像形成装置である外部機器３００が有するプリンタ機能に対して、提供可能なプリンタ情報７１の取得を要求するＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓメッセージを、画像形成装置１００から外部機器３００へ送信した結果、該当する外部機器３００から応答され得られたＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＲｅｓメッセージである。
【０１１０】
プリンタ情報データパース６１は、このような図６に示すプリンタ情報７１のデータをパースする。その結果、プリンタ情報データパース６１は、構文解析した結果から複数の判定パラメータを取得する。
【０１１１】
図６には、プリンタ情報データパース６１がプリンタ情報７１を構文解析した結果取得する、プリンタ情報７１のデータ内に、所定のタグによって定義された印刷性能を判定するための判定パラメータの例が示されている。
【０１１２】
図６のデータ構造からも分かるように、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＲｅｓメッセージのデータにおいて、プリンタ関連の詳細な情報は、"＜wprt:PrinterDescription＞"タグで定義されている。
【０１１３】
更に"＜wprt:PrinterDescription＞"タグ内には、複数のタグでそれぞれの判定パラメータが定義されている。例えば図６では、"＜wprt:ColorSupported＞"タグ７１ａ、"＜wprt:PagesPerMinute＞"タグ７１ｂ、"＜wprt:PagesPerMinuteColor＞"タグ７１ｃ、及び"＜wprt:DeviceId＞"タグ７１ｄなどが判定パラメータを定義するタグにあたる。
【０１１４】
図７は、本発明の第１の実施形態に係るパース結果に基づく各種判定内容の一例を示す図である。図７には、上記タグ７１ａから７１ｄが、「どのような判定パラメータを定義するものか（どのような判定情報を定義するものか）」と、「取得した判定パラメータからどのような印刷性能が判定されるのか」との対応例が示されている。
【０１１５】
"＜wprt:ColorSupported＞"タグ７１ａは、判定パラメータであるカラー機能有無情報を定義するタグであり、パラメータ値の真偽値（true／false）に基づき、プリンタ情報７１を応答した外部機器３００がフルカラー印刷を行えるか否かを判定する。
【０１１６】
"＜wprt: PagesPerMinute＞"タグ７１ｂは、判定パラメータであるモノクロ印刷速度情報を定義するタグであり、パラメータ値のＰＰＭ値（pages／minute）に基づき、プリンタ情報７１を応答した外部機器３００のうち、モノクロ印刷速度が最も速い機器を特定する。
【０１１７】
"＜wprt: PagesPerMinuteColor＞"タグ７１ｃは、判定パラメータであるカラー印刷速度情報を定義するタグであり、パラメータ値のＰＰＭ値（pages／minute）に基づき、プリンタ情報７１を応答した外部機器３００のうち、カラー印刷速度が最も速い機器を特定する。
【０１１８】
"＜wprt:DeviceId＞"タグ７１ｄは、判定パラメータであるデバイスＩＤ情報を定義するタグであり、パラメータ値の文字列（ベンダ名／モデル名）に基づき、プリンタ情報７１を応答した外部機器３００が、当該画像形成装置１００と同一のベンダ名／モデル名であるか否かを判定する。
【０１１９】
このように、プリンタ情報データパース６１により取得された上記各判定パラメータは、後述する制御部６４により各種印刷性能の判定に用いられる。上記各判定パラメータは、判定パラメータ保持部６２によって保持され、制御部６４が各種印刷性能の判定を行うときに読み出される。
【０１２０】
（制御パラメータ設定）
制御パラメータ設定部６３は、例えば操作パネル１１などを介して受け付けた制御パラメータを設定する。ここで設定可能な制御パラメータは２種類用意されている。１つ目の制御パラメータは、ＷＳＤを介して印刷要求ＥＶＮを受け付けたときの連携処理を実行するか否かを指定する「連携処理実行指定」であり、２つ目の制御パラメータは、非ＷＳＤを介して印刷要求ＥＶＮを受け付けたときの代替処理を実行するか否かを指定する「代替処理実行指定」である。
【０１２１】
図８は、本発明の第１の実施形態に係る制御パラメータに対応した動作内容の一例を示す図である。図８には、上記２種類の制御パラメータの「設定」と、「設定した制御パラメータからどのような連携処理／代替処理されるのか」との対応例が示されている。
【０１２２】
連携処理実行指定がオンの場合には、印刷機能を、プリンタ機能を有する外部機器３００と連携するように制御する。
【０１２３】
代替処理実行指定がオンの場合には、非ＷＳＤを介して印刷要求ＥＶＮを受け付けた場合であっても、印刷機能を、プリンタ機能を有する外部機器３００に代替して行わせるように制御する。ここで言う「代替」とは、通常、画像形成装置１００では、ＷＳＤと称すプロトコルを介して標準化Ｗｅｂサービスにより外部機器３００との間でデータやイベントの送受信を行っているが、非ＷＳＤである他のプロトコルを介してデータを受信し、このとき、画像形成装置１００が印刷要求ＥＶＮに応じられない場合に、印刷要求ＥＶＮを行ったＰＣなどの情報処理装置に代わり、標準化Ｗｅｂサービスを用いて画像形成装置１００が外部機器３００に印刷要求ＥＶＮを行うことを意味する。
【０１２４】
このように、制御パラメータ設定部６３により設定された上記各制御パラメータは、後述する制御部６４により機能連携の制御に用いられる。上記各制御パラメータは、例えばＨＤＤ１７の所定の記憶領域に格納され、制御部６４が機能連携の制御を行うときに読み出される。
【０１２５】
《動作を実現するための処理手順》
これまで説明を行った「判定パラメータ取得動作」と「制御パラメータ設定動作」とを行う画像形成装置１００の処理手順について、フローチャートを用いて説明する。
【０１２６】
図９は、本発明の第１の実施形態に係るプリンタ情報取得マネージャ４３の処理手順の一例（その１）を示すフローチャートである。
【０１２７】
画像形成装置１００は、ＷＳ−Ｐｒｉｎｔｅｒ２１pのクライアント機能部２１CpにおけるＰｒｉｎｔｅｒＤＣＰ４１Cpが、外部機器３００が有するプリンタ機能に対して、提供可能なプリンタ情報７１の取得を要求するＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓメッセージを外部機器３００へ送信し、その結果、該当する外部機器３００からプリンタ情報７１（ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＲｅｓメッセージ）を取得する（ステップＳ１０１）。
【０１２８】
画像形成装置１００は、プリンタ情報データパース６１が、取得したプリンタ情報７１のデータをパースし（ステップＳ１０２）、構文解析した結果得られた各判定パラメータ（パース結果）を、判定パラメータ保持部６２によってＲＡＭ１３ｂの所定の記憶領域へ一時的に格納し保持する（ステップＳ１０３）。
【０１２９】
画像形成装置１００は、ＤＦＭモジュール２２のサーバ機能部２２SにおけるＷＳ−Ｄｉｓｃｏｖｅｒｙ３１SやＷＳ−Ｔｒａｎｓｆｅｒ３２Sなどにより所定のコマンドをマルチキャストし、応答があったネットワークに接続される外部機器３００の台数分、上記Ｓ１０１からＳ１０３の処理手順が行われたか否かを判断する（ステップＳ１０４）。
【０１３０】
ステップＳ１０４の判定において、台数分の処理が行われていいないと判断された場合には（ステップＳ１０４がＮＯの場合には）、上記Ｓ１０１からＳ１０３の処理手順を各外部機器３００に対して行い、プリンタ情報７１を取得する。また、ステップＳ１０４の判定において、台数分の処理が行われたと判断された場合には（ステップＳ１０４がＹＥＳの場合には）、制御パラメータの設定通知を受け付けたか否かを判断する（ステップＳ１０５）。
【０１３１】
ステップＳ１０５の判定において、制御パラメータの設定通知を受け付けていないと判断された場合には（ステップＳ１０５がＮＯの場合には）、処理を終了する。また、ステップＳ１０５の判定において、制御パラメータの設定通知を受け付けたと判断された場合には（ステップＳ１０５がＹＥＳの場合には）、制御パラメータ設定部６３が、例えば操作パネル１１を介して受け付けた各制御パラメータを、ＨＤＤ１７の所定の記憶領域に格納し制御値として設定する（ステップＳ１０６）。
【０１３２】
図１０は、本発明の第１の実施形態に係るプリンタ情報取得マネージャ４３の処理手順の一例（その２）を示すフローチャートである。
【０１３３】
画像形成装置１００は、図９に示す処理手順に続いて、ＷＳ−Ｐｒｉｎｔｅｒ２１pのサーバ機能部２１SpにおけるＷＳ−Ｅｖｅｎｔｉｎｇ４２Spにおいて、例えばＰＣなどの情報処理装置からの印刷要求ＥＶＮを受け付けたか否かを判断する（ステップＳ２０１）。
【０１３４】
ステップＳ２０１の判定において、印刷要求ＥＶＮを受け付けていないと判断された場合には（ステップＳ２０１がＮＯの場合には）、ステップＳ２０５の処理手順に移行する。また、ステップＳ２０１の判定において、印刷要求ＥＶＮを受け付けたと判断された場合には（ステップＳ２０１がＹＥＳの場合には）、制御部６４が、判定パラメータ保持部６２によって保持された各判定パラメータに基づき、連携処理を依頼する外部機器３００を決定し、更には制御パラメータ設定部６３によって設定された各制御パラメータと、印刷動作監視部６５による当該画像形成装置１００の動作状態検知とに基づき、要求された印刷処理について、決定した外部機器３００が有するプリンタ機能との連携処理の実行開始を指示するか否かを判断する（ステップＳ２０２）。
【０１３５】
ステップＳ２０２の判定において、連携処理が実行不可能と判断された場合には（ステップＳ２０２が「連携処理しない」の場合には）、ステップＳ２０５の処理手順に移行する。また、ステップＳ２０２の判定において、連携処理が実行可能と判断された場合には（ステップＳ２０３が「連携処理する」の場合には）、制御部６４が、サーバ機能部２１Spに対して印刷処理の継続を指示し（ステップＳ２０３）、上記ステップＳ２０２の判定処理のときに決定した連携処理対象の外部機器３００に対して、処理対象の印刷データをＷＳ−Ｐｒｉｎｔｅｒ２１pのクライアント機能部２１CpにおけるＰｒｉｎｔｅｒＤＣＰ４１Cpから転送し、連携処理の実行開始を指示する（ステップＳ２０４）。
【０１３６】
画像形成装置１００は、ＤＦＭモジュール２２のクライアント機能部２２CにおけるＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sにより、マルチキャストによる所定のコマンドを受信したか否かに基づき、ネットワークに新たな外部機器３００が接続されるかを確認し（ステップＳ２０５）、ネットワークに新たな外部機器３００が参加したことを受け付けたか否かを判断する（ステップＳ２０６）。
【０１３７】
ステップＳ２０６の判定において、新たな外部機器３００の参加を受け付けていないと判断した場合には（ステップＳ２０６がＮＯの場合には）、ステップＳ２１０の処理手順に移行する。また、新たな外部機器３００の参加を受け付けた判断した場合には（ステップＳ２０６がＹＥＳの場合には）、参加を受け付けた外部機器３００からプリンタ情報７１を取得する（ステップＳ２０７）。
【０１３８】
続いて、画像形成装置１００は、プリンタ情報データパース６１が、取得したプリンタ情報７１のデータをパースし（ステップＳ２０８）、構文解析した結果得られた各判定パラメータ（パース結果）を、判定パラメータ保持部６２によってＲＡＭ１３ｂの所定の記憶領域へ一時的に格納し保持する（ステップＳ２０９）。
【０１３９】
画像形成装置１００は、制御パラメータの設定通知を受け付けたか否かを判断する（ステップＳ２１０）。
【０１４０】
ステップＳ２１０の判定において、制御パラメータの設定通知を受け付けていないと判断された場合には（ステップＳ２１０がＮＯの場合には）、処理を終了する。また、ステップＳ２１０の判定において、制御パラメータの設定通知を受け付けたと判断された場合には（ステップＳ２１０がＹＥＳの場合には）、制御パラメータ設定部６３が、例えば操作パネル１１を介して受け付けた各制御パラメータを、ＨＤＤ１７の所定の記憶領域に格納し制御値として設定する（ステップＳ２１１）。
【０１４１】
また、画像形成装置１００は、上記Ｓ２０１からＳ２１１の各処理手順を終了指示があるまで繰り返し処理する。
【０１４２】
このように、画像形成装置１００では、外部機器３００の接続状態を所定のタイミングで確認し、取得しているプリンタ情報７１を更新しながら、最新のプリンタ情報７１に基づき、印刷要求ＥＶＮに対する外部機器３００との連携処理を実行するか否かの判断し、機能連携を制御している。
【０１４３】
以降に、上記ステップＳ２０２の処理手順において制御部６４が行う連携処理実行判定の動作について説明する。
【０１４４】
（連携処理対象機器の決定）
画像形成装置１００は、上記に説明を行ったように、連携処理の実行開始を指示するか否かを、印刷動作監視部６５からの検知結果に基づき、当該画像形成装置１００の動作状態から判断し、その判断結果に応じて実行開始を制御する。このとき、画像形成装置１００では、制御部６４が、ネットワークに接続される複数の外部機器３００から取得したプリンタ情報７１に基づき、連携処理の実行開始を指示する外部機器３００を決定する。
【０１４５】
制御部６４は、判定パラメータ保持部６２が保持するプリンタ情報７１の判定パラメータに基づき、ネットワークに接続される複数の外部機器３００が有する印刷性能を判定し、要求された印刷を最適に実行可能な外部機器３００を決定する。図１１は、本発明の第１の実施形態に係る判定結果に対応した動作内容の一例を示す図である。図１１には、「各判定パラメータの判定結果」と「判定結果に基づく連携処理対象機器の決定動作」との対応例が示されている。
【０１４６】
制御部６４は、印刷要求ＥＶＮにカラー印刷が指定された場合に、判定パラメータであるカラー機能有無情報の真偽値に基づく判定結果から、真偽値が"true"でカラー機能を有していると判定した外部機器３００を連携処理対象の機器とし、一方、真偽値が"false"でカラー機能を有していないと判定した外部機器３００を連携処理対象外の機器とする。なお、印刷要求ＥＶＮにモノクロ印刷が指定された場合には、上記に説明を行った判定内容の逆の判定がされ、真偽値が"false"でカラー機能を有していないと判定した外部機器３００を連携処理対象の機器とする。また、印刷要求ＥＶＮにカラー／モノクロ印刷が指定されていない場合には、カラー機能有無情報による判定を行わない方法や、モノクロ印刷が指定された場合と同様の判定を行ってもよい。
【０１４７】
このように制御部６４では、まず上記カラー機能有無情報による判定によって、ネットワークに接続される外部機器３００のうち、該当する所定の台数の外部機器３００に絞り込み、連携処理対象の機器候補を特定する。
【０１４８】
次に、制御部６４は、判定パラメータであるカラー／モノクロ印刷速度情報のＰＰＭ値に基づく判定結果から、ネットワークに接続される複数の外部機器３００のうち、ＰＰＭ値が最も大きい値の外部機器３００を連携処理対象の機器とする。
【０１４９】
制御部６４は、印刷要求ＥＶＮにカラー印刷が指定された場合に、外部機器３００同士のＰＰＭ値の大小を比較し、その比較結果に基づき上記カラー機能有無情報によって特定されたカラー機能を有する連携処理対象の機器候補から、最速の印刷速度で動作可能な外部機器３００を決定する。また、印刷要求ＥＶＮにモノクロ印刷が指定された場合には、モノクロ機能を有する連携処理対象の機器候補から、最速の印刷速度で動作可能な外部機器３００を決定する。
【０１５０】
このように制御部６４では、上記カラー機能有無情報による特定された、カラー／モノクロ機能を有する連携処理対象の機器候補から、最速の印刷速度で動作可能な外部機器３００を決定する。
【０１５１】
更に制御部６４は、判定パラメータであるデバイスＩＤ情報のモデル名を表す所定の文字列に基づく判定結果から、ネットワークに接続される複数の外部機器３００のうち、当該画像形成装置１００のモデル名と同じ外部機器３００を連携処理対象の機器候補とする。このとき制御部６４は、デバイスＩＤ情報のモデル名を表す所定の文字列が、当該画像形成装置１００のモデル名を表す文字列と同じか否かを判定する。
【０１５２】
また制御部６４は、上記判定においてモデル名が異なっていると判断された場合であっても、デバイスＩＤ情報のベンダ名を表す所定の文字列に基づく判定結果から、ネットワークに接続される複数の外部機器３００のうち、当該画像形成装置１００のベンダ名と同じ外部機器３００を、ベンダ名が異なる外部機器３００より優先して連携処理対象の機器候補とする。このときの制御部６４も、デバイスＩＤ情報のベンダ名を表す所定の文字列が、当該画像形成装置１００のベンダ名を表す文字列と同じか否かを判定する。
【０１５３】
このデバイスＩＤ情報に基づく判定は、先のカラー／モノクロ印刷速度情報によって決定された外部機器３００に対して行う。その結果、制御部６４は、ベンダ／モデル名ともに異なった場合に、カラー／モノクロ印刷速度情報に基づく判定によって２番目にＰＰＭ値が大きかった外部機器３００のデバイスＩＤ情報に基づき再度判定を行う。
【０１５４】
このように制御部６４では、上記デバイスＩＤ情報による判定によって、ベンダ／モデル名のどちらか一方が同じで、かつ最速で印刷可能な連携処理対象の外部機器３００を決定する。
【０１５５】
（制御パラメータに基づく連携動作制御）
制御部６４は、制御パラメータ設定部６３が設定した制御パラメータと、後述する印刷動作監視部６５からの当該画像形成装置１００の動作状態検知とに基づき、決定した外部機器３００に対して印刷に関する連携処理の実行開始を指示するか否かの判断を行い、機能連携を制御する。
【０１５６】
制御部６４は、まず、制御パラメータ設定部６３により設定された制御パラメータである「連携処理実行指定」の設定値を参照する。このとき制御部６４は、設定値が「オン」の場合にのみ、連携処理の実行開始を指示する連携処理対象の外部機器３００を決定する。
【０１５７】
また、印刷動作監視部６５が、非ＷＳＤを介して印刷データを受信したことを検知すると、その検知結果が制御部６４に渡される。
【０１５８】
制御部６４は、制御パラメータである「代替処理実行指定」の設定値を参照し、参照した設定値と上記検知結果とに基づき、設定値「オン」の場合にのみ、非ＷＳＤを介して印刷データを受信した場合であっても、代替処理の実行を指示する代替処理対象の外部機器３００を決定する。なお、この代替処理の実行については、「連携処理実行指定」の設定値が「オン」であることが前提条件である。
【０１５９】
このようにして画像形成装置１００では、制御部６４が、連携処理を指示する外部機器３００を決定し、制御パラメータに従って、決定した外部機器３００へ連携処理／代替処理の実行を指示する。このとき制御部６４は、サーバ機能部２１SpのＰｒｉｎｔｅｒＤＣＰ４１Spから印刷データを受け取り、受け取った印刷データをクライアント機能部２１CpのＰｒｉｎｔｅｒＤＣＰ４１Cpに渡し、決定した外部機器３００へのデータ転送を指示することで、外部機器３００へ処理対象のデータを渡す。また制御部６４では、印刷動作監視部６５により、非ＷＳＤを介して印刷データを受信したことを検知すると、印刷データパース部６６へ受信した印刷データを渡す。その結果、印刷データパース部６６は、受け取った印刷データをパースし、所定のデータ形式に変換されたパース後の印刷データが、クライアント機能部２１CpのＰｒｉｎｔｅｒＤＣＰ４１Cpに渡され、決定した外部機器３００へデータ転送される。
【０１６０】
《動作を実現するための処理手順》
これまで説明を行った「連携処理対象機器の決定動作」と「制御パラメータに基づく連携動作制御動作」とを行う画像形成装置１００の処理手順について、フローチャートを用いて説明する。また、以下に説明する処理手順は、先に説明を行ったプリンタ情報取得マネージャ４３におけるステップＳ２０２の処理手順で行われる処理である。
【０１６１】
図１２は、本発明の第１の実施形態に係るプリンタ情報取得マネージャ４３の処理手順の一例（その３）を示すフローチャートである。
【０１６２】
画像形成装置１００は、制御部６４が、制御パラメータ設定部６３により設定された「連携処理実行指示」の設定値を、ＨＤＤ１７の所定の記憶領域から読み出し、読み出した設定値が「オン」か「オフ」かを判断する（ステップＳ３０１）。
【０１６３】
ステップＳ３０１の判定において、設定値が「オフ」の場合には（ステップＳ３０１がＮＯの場合には）、処理を終了する。また、ステップＳ３０１の判定において、設定値が「オン」の場合には（ステップＳ３０１がＹＥＳの場合には）、制御部６４が、印刷動作監視部６５からの検知結果に基づき、非ＷＳＤを介して印刷要求ＥＶＮを受け付けたか否かを判断する（ステップＳ３０２）。
【０１６４】
ステップＳ３０２の判定において、ＷＳＤを介して印刷要求ＥＶＮを受け付けたと判断された場合には（ステップＳ３０２がＮＯの場合には）、ステップＳ３０４の処理手順へ移行する。また、ステップＳ３０２の判定において、非ＷＳＤを介して印刷要求ＥＶＮを受け付けたと判断された場合には（ステップＳ３０２がＹＥＳの場合には）、制御部６４が、制御パラメータ設定部６３により設定された「代替処理実行指示」の設定値を、ＨＤＤ１７の所定の記憶領域から読み出し、読み出した設定値が「オン」か「オフ」かを判断する（ステップＳ３０３）。
【０１６５】
ステップＳ３０３の判定において、設定値が「オフ」の場合には（ステップＳ３０３がＮＯの場合には）、処理を終了する。また、ステップＳ３０３の判定において、設定値が「オン」の場合には（ステップＳ３０３がＹＥＳの場合には）、制御部６４が、カラー印刷が要求されたか否かを判断する（ステップＳ３０４）。
【０１６６】
ステップＳ３０４の判定において、カラー印刷が要求されたと判断した場合には（ステップＳ３０４がＹＥＳの場合には）、制御部６４が、判定パラメータであるカラー機能有無情報の真偽値に基づき、ネットワークに接続される外部機器３００のうち、カラー印刷を実行可能な外部機器３００（カラー機能搭載機）を、連携処理／代替処理対象の機器候補として絞り込む（ステップＳ３０５）。
【０１６７】
また、ステップＳ３０４の判定において、モノクロ印刷が要求された（カラー／モノクロともに要求されなかった場合を含む）と判断された場合には（ステップＳ３０４がＮＯの場合には）、制御部６４が、判定パラメータであるカラー機能有無情報の真偽値に基づき、ネットワークに接続される外部機器３００のうち、モノクロ印刷を実行可能な外部機器３００（モノクロ機能搭載機）を、連携処理／代替処理対象の機器候補として絞り込む（ステップＳ３０６）。
【０１６８】
画像形成装置１００は、制御部６４により上記ステップＳ３０５又はＳ３０６の処理手順によって、該当する外部機器３００が存在するか否かを判断する（ステップＳ３０７）。
【０１６９】
ステップＳ３０７の判定において、該当する外部機器３００が存在しないと判断された場合には（ステップＳ３０７がＮＯの場合には）、処理を終了する。また、ステップＳ３０７の判定において、該当する外部機器３００が存在すると判断された場合には（ステップＳ３０７がＹＥＳの場合には）、制御部６４が、判定パラメータであるカラー／モノクロ印刷速度情報に基づき、上記ステップＳ３０５又はＳ３０６の処理手順によって所定の台数に絞り込まれた機器候補のうち、印刷速度が基も速い外部機器３００を決定する（ステップＳ３０８）。
【０１７０】
続いて、画像形成装置１００は、制御部６４が、上記ステップ３０８の処理手順によって決定された外部機器３００のデバイスＩＤ情報に基づき、当該画像形成装置１００と同一ベンダ名の外部機器３００か否かを判断する（ステップＳ３０９）。
【０１７１】
ステップＳ３０９において、同一ベンダ名であると判断されなかった場合には（ステップＳ３０９がＮＯの場合には）、処理を終了する。また、ステップＳ３０９において、同一ベンダ名であると判断された場合には（ステップＳ３０９がＹＥＳの場合には）、制御部６４が、デバイスＩＤ情報に基づき、当該画像形成装置１００と同一モデル名の外部機器３００か否かを判断する（ステップＳ３１０）。
【０１７２】
ステップＳ３１０において、同一モデル名であると判断された場合には（ステップＳ３０１がＹＥＳの場合には）、制御部６４が、ベンダ／モデル名ともに同一で最速の印刷速度の外部機器３００を連携処理／代替処理対象の機器として決定する（ステップＳ３１１）。
【０１７３】
また、ステップＳ３１０において、同一モデル名であると判断されなかった場合には（ステップＳ３１０がＮＯの場合には）、制御部６４が、モデル名が同一で最速の印刷速度の外部機器３００を連携処理／代替処理対象の機器として決定する（ステップＳ３１２）。
【０１７４】
（動作状態に応じた機能連携制御）
画像形成装置１００では、上記に説明を行った方法で、連携処理対象の外部機器３００を決定する。続いて画像形成装置１００では、連携処理の実行開始を指示するか否かを、印刷動作監視部６５からの検知結果に基づき、当該画像形成装置１００の動作状態から判断し、その判断結果に応じて決定した外部機器３００への実行開始を制御する。
【０１７５】
印刷動作監視部６５は、当該画像形成装置１００の障害発生（例えば「トナー切れ」、「用紙なし」、「紙づまり」など）や他の要求に応じた印刷処理を行っている間の状態などの動作状態を検知する。図１３は、本発明の第１の実施形態に係る動作状態に対応した動作内容の一例を示す図である。図１３には、「動作状態」と「動作状態に基づく実行開始の制御動作」との対応例が示されている。印刷動作監視部６５は、例えば図１３に示すような当該画像形成装置１００の動作状態を検知し、その検知結果を制御部６４へ渡す。
【０１７６】
当該画像形成装置１００の動作状態が「自機で処理中の印刷ジョブがない状態（ジョブ待ち状態）」の場合には、外部機器３００が有するプリンタ機能との連携処理を行わず、自機で要求された印刷処理を行う。
【０１７７】
当該画像形成装置１００の動作状態が「自機で処理中の印刷ジョブがある状態（ジョブ処理中）」の場合には、自機で印刷要求ＥＶＮに応じられないとして、外部機器３００が有するプリンタ機能に連携処理の実行開始を指示する。このとき制御部６４は、サーバ機能部２１Spから受け取った印刷データをクライアント機能部２１Cpへ渡し、連携処理対象の外部機器３００への転送を指示する。
【０１７８】
当該画像形成装置１００の動作状態が「自機で処理中の印刷ジョブがあり、外部機器３００でも処理中の印刷ジョブがある状態」の場合には、自機で処理中の印刷ジョブが、印刷ジョブを処理中の外部機器３００より早く処理が完了すると判断されると、連携処理を行わず、自機で要求された印刷処理を行う。一方、印刷ジョブを処理中の外部機器３００の方が早く処理が完了すると判断されると、外部機器３００が有するプリンタ機能に連携処理の実行開始を指示する。
【０１７９】
当該画像形成装置１００の動作状態が「非ＷＳＤを介して印刷要求を受け付け、自機が処理中のＷＳ−Ｐｒｉｎｔｅｒジョブ（ＷＳＤを介して受け付けた要求に対応する処理）がある状態」の場合には、動作状態が「自機で処理中の印刷ジョブがある状態（ジョブ処理中）」の場合と同様に、連携処理の実行開始を指示する。このとき制御部６４は、印刷動作監視部６５により検知された印刷データを、印刷データパース部６６によってパースした後に、パース後の印刷データをクライアント機能部２１Cpへ渡し、連携処理対象の外部機器３００への転送を指示する。
【０１８０】
このようにして画像形成装置１００では、当該画像形成装置１００の動作状態に応じて、先に決定した連携処理対象の外部機器３００に対する連携処理の実行開始を指示するか否かを判断する。
【０１８１】
《動作を実現するための処理手順》
これまで説明を行った「動作状態に応じた機能連携制御動作」を行う画像形成装置１００の処理手順について、フローチャートを用いて説明する。図１４は、本発明の第１の実施形態に係るプリンタ情報取得マネージャ４３の処理手順の一例（その４）を示すフローチャートである。図１４に示すステップＳ４０１の処理手順は、上記ステップＳ３０１からＳ３１２までの処理手順にあたる。
【０１８２】
画像形成装置１００は、制御部６４が、連携処理対象の外部機器３００を決定する処理を行い（ステップＳ４０１）、上記ステップＳ４０１において対象機器が決定されたか否かを判断する（ステップＳ４０２）。
【０１８３】
ステップＳ４０２の判定において、対象機器が決定されなかったと判断された場合には（ステップＳ４０２がＮＯの場合には）、処理を終了する。また、ステップＳ４０２の判定において、対象機器が決定されたと判断された場合には（ステップＳ４０２がＹＥＳの場合には）、制御部６４が、印刷動作監視部６５からの検知結果に基づき、非ＷＳＤを介して印刷要求ＥＶＮを受け付けたか否かを判断する（ステップＳ４０３）。
【０１８４】
ステップＳ４０３の判定において、非ＷＳＤを介して印刷要求ＥＶＮを受け付けたと判断された場合には（ステップＳ４０３がＹＥＳの場合には）、印刷動作監視部６５からの検知結果に基づき、当該画像形成装置１００がＷＳ−Ｐｒｉｎｔｅｒジョブの処理中であるか否かを判断する（ステップＳ４０４）。
【０１８５】
ステップＳ４０４の判定において、ＷＳ−Ｐｒｉｎｔｅｒジョブの処理中であると判断された場合には（ステップＳ４０４がＹＥＳの場合には）、連携処理対象の外部機器３００に、連携処理実行開始の指示を決定する（ステップＳ４０８）。また、ステップＳ４０４の判定において、ＷＳ−Ｐｒｉｎｔｅｒジョブの処理中でないと判断された場合には（ステップＳ４０４がＮＯの場合には）、自機での印刷を決定する（ステップＳ４０９）。
【０１８６】
また、ステップＳ４０３の判定において、ＷＳＤを介して印刷要求ＥＶＮを受け付けたと判断された場合には（ステップＳ４０３がＮＯの場合には）、印刷動作監視部６５からの検知結果に基づき、当該画像形成装置１００が印刷ジョブの処理中であるか否かを判断する（ステップＳ４０５）。
【０１８７】
ステップＳ４０５の判定において、印刷ジョブの処理中でないと判断された場合には（ステップＳ４０５がＮＯの場合には）、ステップＳ４０９の処理手順へ移行する。また、ステップＳ４０５の判定において、印刷ジョブの処理中であると判断された場合には（ステップＳ４０５がＹＥＳの場合には）、決定した連携処理対象の外部機器３００が、印刷ジョブの処理中であるか否かを判断する（ステップＳ４０６）。
【０１８８】
ステップＳ４０６の判定において、外部機器３００が印刷ジョブの処理中でないと判断された場合には（ステップＳ４０６がＮＯの場合には）、ステップＳ４０８の処理手順へ移行する。また、ステップＳ４０６の判定において、外部機器３００が印刷ジョブの処理中であると判断された場合には（ステップＳ４０６がＹＥＳの場合には）、自機で処理中の印刷ジョブの方が、外部機器３００で処理中の印刷ジョブより早く処理されるか否かを判断する（ステップＳ４０７）。
【０１８９】
ステップＳ４０７の判定において、外部機器３００での印刷ジョブの方が自機の印刷ジョブより早く処理されると判断された場合には（ステップＳ４０７がＮＯの場合には）、ステップＳ４０８の処理手順へ移行する。また、ステップＳ４０７の判定において、自機での印刷ジョブの方が外部機器３００の印刷ジョブより早く処理されると判断された場合には（ステップＳ４０７がＹＥＳの場合には）、ステップＳ４０９の処理手順へ移行する。
【０１９０】
＜＜外部機器（他のＷＳ−Ｐｒｉｎｔｅｒ機器）との機能連携動作＞＞
これまでに説明を行ってきた本実施形態に係る機能連携制御機能を有する画像形成装置１００は、例えばＰＣなどの情報処理装置からの印刷要求ＥＶＮに対して、ネットワークに接続される外部機器３００が有するプリンタ機能と連携処理を行い、要求された印刷処理を最適に実行する。
【０１９１】
以下に示すシーケンス図には、上記各装置間で行われる印刷に関する連携処理の一例が示されており、図１５がＷＳＤを介して印刷要求ＥＶＮされた場合の処理、また図１６が非ＷＳＤを介して印刷要求ＥＶＮされた場合の処理である。
【０１９２】
（ＷＳＤを介して印刷要求された場合）
図１５は、本発明の第１の実施形態に係る画像形成装置１００と外部機器３００との機能連携動作の処理手順の一例（その１）を示すシーケンス図である。
【０１９３】
画像形成装置１００（ＷＳ−Ｐｒｉｎｔｅｒクライアント機能搭載機器）は、ＷＳ−ｐｒｉｎｔｅｒクライアント機能部２１Cpが、ネットワークに接続される複数の外部機器３００に対して、プリンタ情報７１の取得を要求するＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓメッセージを送信する（ステップＳ５０１）。
【０１９４】
外部機器３００は、上記ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓメッセージを受信すると、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＲｅｓｐｏｎｓｅメッセージとしてプリンタ情報７１を、取得要求元の画像形成装置１００に応答する（ステップＳ５０２）。
【０１９５】
画像形成装置１００は、ＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpが、上記ステップＳ５０２により外部機器３００から取得したプリンタ情報７１を、プリンタ情報取得マネージャ４３へ渡し、プリンタ情報７１の格納を指示する（ステップＳ５０３）。
【０１９６】
その結果、プリンタ情報取得マネージャや４３は、受け取ったプリンタ情報７１の格納（プリンタ情報７１から得られる各判定パラメータの保持）を行い、格納が完了した旨をＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpへ応答する（ステップＳ５０４）。
【０１９７】
例えばクライアントＰＣなどの情報処理装置２００は、プリンタドライバにより印刷データを生成し、ＷＳＤを介して、ネットワークに接続される画像形成装置１００が有するＷＳ−Ｐｒｉｎｔｅｒサーバ機能部２１Spへ、印刷要求ＥＶＮを送信する（ステップＳ６０１）。
【０１９８】
画像形成装置１００は、ＷＳ−Ｐｒｉｎｔｅｒサーバ機能部２１Spが、印刷要求ＥＶＮに基づき、プリント情報取得マネージャ４３に印刷連携制御の方針確認を行う（ステップＳ６０２）。
【０１９９】
画像形成装置１００は、プリンタ情報マネージャ４３が、印刷連携処理対象の外部機器３００の決定と、印刷連携制御の実行判定とを行い（ステップＳ６０３）、外部機器３００が決定され、かつ印刷連携制御の実行を行うと判定された場合には、ＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpとサーバ機能部２１Spとの両方に、印刷に関する連携処理の実行が決定した旨を通知する（ステップＳ６０４とＳ６０５）。
【０２００】
ＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpでは、印刷に関する連携処理の実行が決定した旨の通知を受けて、決定した外部機器３００へ印刷に関する連携処理の実行開始を指示するとともに（ステップＳ６０６）、実行開始を指示した旨を、プリンタ情報取得マネージャ４３へ通知する（ステップＳ６０７）。
【０２０１】
また、外部機器３００では、ステップＳ６０６の処理手順によって指示された印刷に関する連携処理が実行可能である旨を、依頼元である画像形成装置１００のＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpへ応答する（ステップＳ６０８）。
【０２０２】
一方、ＷＳ−Ｐｒｉｎｔｅｒサーバ機能部２１Spでは、印刷に関する連携処理の実行が決定した旨の通知を受けて、ステップＳ６０１の処理手順によって要求された印刷が実行可能である旨を、要求元である情報処理装置２００へ応答する（ステップＳ６０９）。
【０２０３】
その結果、情報処理装置１００は、ステップＳ６０１の処理手順において生成しておいた印刷データを、画像形成装置１００のＷＳ−Ｐｒｉｎｔｅｒサーバ機能部２１Spへ送信する（ステップＳ６１０）。
【０２０４】
画像形成装置１００は、ＷＳ−Ｐｒｉｎｔｅｒサーバ機能部２１Spが、印刷データを受信すると、受信した印刷データをＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpへ転送する（ステップＳ６１１）。
【０２０５】
ＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpでは、転送された印刷データを、印刷に関する連携処理が実行可能な外部機器３００に送信する（ステップＳ６１２）。
【０２０６】
その結果、外部機器３００では、受信した印刷データに対して印刷処理を行い（印刷連携を行い）（ステップＳ６１３）、印刷が完了した（印刷連携が完了した）旨を、依頼元である画像形成装置１００のＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpへ応答する（ステップＳ６１４）。
【０２０７】
画像形成装置１００は、ＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpによって印刷が完了した旨を受け付けると、その結果を、ＷＳ−Ｐｒｉｎｔｅｒサーバ機能部２１Spを介して、印刷要求元である情報処理装置２００へ通知する（ステップＳ６１５とＳ６１６）。
【０２０８】
（非ＷＳＤを介して印刷要求された場合）
図１６は、本発明の第１の実施形態に係る画像形成装置１００と外部機器３００との機能連携動作の処理手順の一例（その２）を示すシーケンス図である。また、図１６に示すステップＳ７０１からＳ７０４の処理手順は、図１５を用いて説明を行ったステップＳ５０１からＳ５０４の処理手順と同様であるため、ここでの説明は省略する。
【０２０９】
例えばクライアントＰＣなどの情報処理装置２００は、プリンタドライバにより印刷データを生成し、非ＷＳＤを介して、ネットワークに接続される画像形成装置１００が有する非ＷＳＤの印刷機能部ＦＵＮへ、印刷要求ＥＶＮを送信する（ステップＳ８０１）。
【０２１０】
画像形成装置１００は、非ＷＳＤの印刷機能部ＦＵＮが、印刷要求ＥＶＮに基づき、プリント情報取得マネージャ４３に印刷連携制御の方針確認を行う（ステップＳ８０２）。
【０２１１】
画像形成装置１００は、プリンタ情報マネージャ４３が、印刷連携処理対象の外部機器３００の決定と、印刷連携制御の実行判定とを行い（ステップＳ８０３）、外部機器３００が決定され、かつ印刷連携制御の実行を行うと判定された場合には、ＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpに、印刷に関する連携処理の実行が決定した旨を通知する（ステップＳ８０４）。また、非ＷＳＤの印刷機能部ＦＵＮに、ＷＳＤ機能の利用と印刷に関する連携処理の実行が決定した旨を通知する（ステップＳ８０５）。
【０２１２】
ＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpでは、印刷に関する連携処理の実行が決定した旨の通知を受けて、決定した外部機器３００へ印刷に関する連携処理の実行開始を指示するとともに（ステップＳ８０６）、実行開始を指示した旨を、プリンタ情報取得マネージャ４３へ通知する（ステップＳ８０７）。
【０２１３】
また、外部機器３００では、ステップＳ８０６の処理手順によって指示された印刷に関する連携処理が実行可能である旨を、依頼元である画像形成装置１００のＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpへ応答する（ステップＳ８０８）。
【０２１４】
一方、非ＷＳＤの印刷機能部ＦＵＮでは、ＷＳＤ機能の利用と印刷に関する連携処理の実行が決定した旨の通知を受けて、ステップＳ８０１の処理手順によって要求された印刷が実行可能である旨を、要求元である情報処理装置２００へ応答する（ステップＳ８０９）。
【０２１５】
その結果、情報処理装置１００は、ステップＳ８０１の処理手順において生成しておいた印刷データを、画像形成装置１００の非ＷＳＤの印刷機能部ＦＵＮへ送信する（ステップＳ８１０）。
【０２１６】
画像形成装置１００は、非ＷＳＤの印刷機能部ＦＵＮが、印刷データを受信すると、受信した印刷データをプリンタ情報取得マネージャ４３へ転送する（ステップＳ８１１）。
【０２１７】
プリンタ情報取得マネージャ４３では、転送された印刷データをパースし（ステップＳ８１２）、パースされたデータを、ＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpへ転送する（ステップＳ８１３）。
【０２１８】
ＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpでは、転送されたパース後の印刷データを、印刷に関する連携処理が実行可能な外部機器３００に送信する（ステップＳ８１４）。
【０２１９】
その結果、外部機器３００では、受信した印刷データに対して印刷処理を行い（印刷連携を行い）（ステップＳ８１５）、印刷が完了した（印刷連携が完了した）旨を、依頼元である画像形成装置１００のＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpへ応答する（ステップＳ８１６）。
【０２２０】
画像形成装置１００は、ＷＳ−Ｐｒｉｎｔｅｒクライアント機能部２１Cpによって印刷が完了した旨を受け付けると、その結果を、非ＷＳＤの印刷機能部ＦＵＮを介して、印刷要求元である情報処理装置２００へ通知する（ステップＳ８１７とＳ８１８）。
【０２２１】
＜まとめ＞
以上のように、本発明の第１の実施形態によれば、本実施形態に係る画像形成装置１００は、動作状態（障害発生時や他の要求に応じた処理を行っている間の状態）などにより、ユーザからの印刷要求ＥＶＮに応じられない場合、ＷＳＤ（所定のプロトコル）に従って、ネットワークに接続される複数の外部機器３００から取得しておいたプリンタ情報７１に基づき、要求された印刷処理を最適に実行可能な外部機器３００を決定し、決定した外部機器３００へ印刷データを送信することで、当該画像形成装置１００以外の機器３００に連携処理を指示する。
【０２２２】
これによって、画像形成装置１００では、外部機器３００が有するプリンタ機能との連携処理を当該装置１００自身で行うことができる。
【０２２３】
よって、画像形成装置１００は、ネットワークに接続される外部機器３００と機能連携し、要求された所定の処理（印刷）を効率よく行うことができる。また、画像形成装置１００自身が機能連携制御機能を搭載したことにより、ユーザが使用するＰＣなどの情報処理装置２００のソフトウェア環境に応じた機能連携を支援する環境の再構築（ソフトウェア部品の更新）や、機能連携を制御する環境を備えたサーバの導入・管理・運用を行わなくても、ネットワークに複数の画像形成装置１００を接続するだけで簡便に機能連携処理を実現することができ、ユーザや管理者が機能連携を制御するために煩わしい作業を行う必要がなくなる。
【０２２４】
ここまで、上記実施形態に基づき本発明の説明を行ってきたが、上記実施形態に係る画像形成装置１００が有する「機能連携制御機能」は、図を用いて説明を行った各処理手順を、コントローラ１３の動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムとしてコンピュータで実行することで実現することができる。よって、上記実施形態に係る機能連携制御プログラムは、コンピュータが読み取り可能な記録媒体１２ｂに格納することができる。
【０２２５】
よって、上記実施形態に係る機能連携制御プログラムは、フロッピー（登録商標）ディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）などの記録媒体１２ｂに記憶させることによって、これらの記録媒体１２ｂを読み取り可能なドライブ装置１２ａにセットされた記録媒体１２ｂから、画像形成装置１００にインストールすることができる。また、画像形成装置１００は、ネットワークなどのデータ伝送路（非図示）に接続可能なデータ通信Ｉ／Ｆ１４を有していることから、インターネットなどの電気通信回線を用いて機能連携制御プログラムをダウンロードし、インストールすることもできる。
【０２２６】
また、上記実施形態では、印刷機能（プリンタ機能）の連携処理について説明を行ったが、この機能に、本発明が限定されるものではない。画像形成装置１００や外部機器３００が提供可能なサービスを実現する各種アプリケーション機能であって、機能連携することでシステム全体の処理効率が向上する機能であればよい。例えば、ユーザが対峙しファクシミリ機能を利用しようとしているが画像形成装置１００において、当該画像形成装置１００の動作状態がファクシミリ受信／送信中であった場合に、送信要求された読み取り画像を送信先の情報（例えばＦＡＸ番号など）とともに、機能連携処理によってファクシミリ機能を有する外部機器３００へ転送し、データ送信を行うなどである。
【０２２７】
また、上記実施形態では、機能連携により処理が完了した旨を、処理要求元である情報処理装置２００へ通知する処理について説明を行ったが、この処理に、本発明が限定されるものではない。画像形成装置１００は、処理要求元である情報処理装置２００に対して、どのような外部機器３００で処理を行ったのかを通知する画面を表示したり、連携処理を行う前に、どのような外部機器３００で処理を行うのかを確認する画面を表示したりしてもよい。これによってユーザは、要求がどのように連携処理されるのか／連携処理されたのかを知ることができる。
【０２２８】
また、上記実施形態では、処理対象データに対して、どのような処理が要求されたデータなのかを判断する動作例として、カラー／モノクロ印刷が要求されたか否かを判断する動作について説明を行ったが、この内容に、本発明が限定されるものではない。
【０２２９】
処理要求の内容によっては、連携処理を行わない方がよいものもある。例えば、文書蓄積の要求や機密印刷の要求などである。これらを判断するには、カラー／モノクロ印刷の要求を判断したときと同じ方法で行うことができる。例えばカラー／モノクロ印刷の要求は、受信した処理対象データをプリンタアプリ１１１によってパースし、解析結果を基にデータ内にＰＪＬ（Printer Job Language）コマンドで指定された処理要求の内容を解釈する。このように、文書蓄積の要求や機密印刷の要求などにおいても、同様の方法によって、連携処理を行う前に処理要求を解釈し、制御部６４が、解釈した処理要求に応じて連携処理の実行開始を制御してもよい。
【０２３０】
最後に、上記実施形態に挙げた形状に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【図面の簡単な説明】
【０２３１】
【図１】本発明の第１の実施形態に係る画像形成装置のハードウェア構成の一例を示す図である。
【図２】本発明の第１の実施形態に係る画像形成装置のソフトウェア構成の一例を示す図である。
【図３】本発明の第１の実施形態に係るＮＣＳのソフトウェア構成の一例を示す図である。
【図４】本発明の第１の実施形態に係るＷＳ−ＭＦＰモジュール群のソフトウェア構成の一例を示す図である。
【図５】本発明の第１の実施形態に係る機能連携制御機能の機能構成の一例を示す図である。
【図６】本発明の第１の実施形態に係るプリンタ情報の一例を示す図である。
【図７】本発明の第１の実施形態に係るパース結果に基づく各種判定内容の一例を示す図である。
【図８】本発明の第１の実施形態に係る制御パラメータに対応した動作内容の一例を示す図である。
【図９】本発明の第１の実施形態に係るプリンタ情報取得マネージャの処理手順の一例（その１）を示すフローチャートである。
【図１０】本発明の第１の実施形態に係るプリンタ情報取得マネージャの処理手順の一例（その２）を示すフローチャートである。
【図１１】本発明の第１の実施形態に係る判定結果に対応した動作内容の一例を示す図である。
【図１２】本発明の第１の実施形態に係るプリンタ情報取得マネージャの処理手順の一例（その３）を示すフローチャートである。
【図１３】本発明の第１の実施形態に係る動作状態に対応した動作内容の一例を示す図である。
【図１４】本発明の第１の実施形態に係るプリンタ情報取得マネージャの処理手順の一例（その４）を示すフローチャートである。
【図１５】本発明の第１の実施形態に係る画像形成装置と外部機器との機能連携動作の処理手順の一例（その１）を示すシーケンス図である。
【図１６】本発明の第１の実施形態に係る画像形成装置と外部機器との機能連携動作の処理手順の一例（その２）を示すシーケンス図である。
【符号の説明】
【０２３２】
１１  操作パネル
１１a  入力装置
１１b  表示装置
１２  記憶メディアＩ／Ｆ
１２a  ドライブ装置
１２b  記録媒体
１３  コントローラ
１３a  ＲＯＭ
１３b  ＲＡＭ
１３c  ＣＰＵ
１４  データ通信Ｉ／Ｆ
１４a  インタフェース装置
１５  スキャナ
１５a  画像読取装置
１６  プロッタ
１６a  印刷装置
１７  ＨＤＤ
２０  ＷＳ−ＭＦＰモジュール群
２１p  ＷＳ−Ｐｒｉｎｔｅｒ（２１Sp：サーバ機能部，２１Cp：クライアント機能部）
２１s  ＷＳ−Ｓｃａｎｎｅｒ
２２  ＤＦＭモジュール（２２S：サーバ機能部，２２C：クライアント機能部）
３１  ＷＳ−Ｄｉｓｃｏｖｅｒｙ（３１S：サーバ機能部，３１C：クライアント機能部）
３２  ＷＳ−Ｔｒａｎｓｆｅｒ（３２S：サーバ機能部，３２C：クライアント機能部）
３３  ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ
３４  ＷＳ−Ａｄｄｒｅｓｓｉｎｇ
３５  ＷＳＤ−Ｍａｎａｇｅｒ
３６  機器情報取得マネージャ
４１p  ＰｒｉｎｔｅｒＤＣＰ（４１Sp：サーバ機能部，４１Cp：クライアント機能部）
４２  ＷＳ−Ｅｖｅｎｔｉｎｇ（４２Sp：サーバ機能部，４２Cp：クライアント機能部）
４３  プリンタ情報取得マネージャ
５０  ＳＯＡＰ（５０S：サーバ機能部，５０C：クライアント機能部）
５１  ＩＭＣ
６１  プリンタ情報データパース部
６２  判定パラメータ保持部
６３  制御パラメータ設定部
６４  制御部
６５  印刷動作監視部
６６  印刷データパース部
７１  プリンタ情報（外部機器が提供可能なプリンタに関する情報（提供サービス情報））
１００  画像形成装置
１０１  ハードウェアリソース
１０２  エンジンＩ／Ｆ
１０３  ＡＰＩ
１１０  ソフトウェア群
１１１  プリンタアプリ
１１２  コピーアプリ
１１３  ファクスアプリ
１１４  スキャナアプリ
１１５  ネットファイルアプリ
１１６  工程検査アプリ
１１７  配信アプリ
１２０  プラットフォーム
１２１  ＯＳ
１２２  ＳＣＳ
１２３  ＳＲＭ
１２４  ＥＣＳ
１２５  ＭＣＳ
１２６  ＯＣＳ
１２７  ＦＣＳ
１２８  ＮＣＳ
１２９  ＩＭＨ
１３０  アプリケーション
１４０  起動部
１５０  コントロールサービス
２００  クライアント端末（ＰＣ）
３００  外部機器（ＷＳ−Ｐｒｉｎｔｅｒ機器）
ＥＶＮ  印刷要求
ＦＵＮ  非ＷＳＤ（ＷＳＤ以外のプロトコル）の印刷機能部
【図１】
2009255390.tif 000003
【図２】
2009255390.tif 000004
【図３】
2009255390.tif 000005
【図４】
2009255390.tif 000006
【図５】
2009255390.tif 000007
【図６】
2009255390.tif 000008
【図７】
2009255390.tif 000009
【図８】
2009255390.tif 000010
【図９】
2009255390.tif 000011
【図１０】
2009255390.tif 000012
【図１１】
2009255390.tif 000013
【図１２】
2009255390.tif 000014
【図１３】
2009255390.tif 000015
【図１４】
2009255390.tif 000016
【図１５】
2009255390.tif 000017
【図１６】
2009255390.tif 000018