(57)【要約】【課題】外部機器に対して、機器特性に応じて提供する機能の制御を簡便に行うことができる画像形成装置、提供機能制御方法、及び提供機能制御プログラムを提供する。【解決手段】画像形成装置１００は、情報取得要求に応じて、当該装置が有するアプリケーションの情報を含む機器情報７１を要求元の外部機器２００に提供する第１の機能２２と、所定の処理要求に応じて、アプリケーションが要求された処理を実行する少なくとも１つ以上の第２の機能２１とを有する装置であって、第１の機能２２が、外部機器２００が有するアプリケーションの情報を含む機器情報７１を取得する取得手段６２と、取得手段６２により取得した外部機器２００の機器情報７１に基づき、外部機器２００に対して、第２の機能２１を提供するか否かを判定する判定手段６４と、判定手段６４による判定結果に基づき、第２の機能２１を起動する起動手段２２Ｓと、を有することを特徴とする。【選択図】図５
2009278336.tif 000002
【特許請求の範囲】
【請求項１】
情報取得要求に応じて、当該画像形成装置が有するアプリケーションの情報を含む機器情報を要求元の外部機器に提供する第１の機能と、所定の処理要求に応じて、前記アプリケーションが要求された処理を実行する少なくとも１つ以上の第２の機能とを有する画像形成装置であって、
前記第１の機能が、
前記外部機器が有するアプリケーションの情報を含む機器情報を取得する取得手段と、
前記取得手段により取得した外部機器の機器情報に基づき、前記外部機器に対して、前記第２の機能を提供するか否かを判定する判定手段と、
前記判定手段による判定結果に基づき、前記第２の機能を起動する起動手段と、を有することを特徴とする画像形成装置。
【請求項２】
前記判定手段は、
前記外部機器の機器情報に基づき、前記外部機器の特性に応じた利用制限に従って前記第２の機能を提供するか否かを判定することを特徴する請求項１に記載の画像形成装置。
【請求項３】
前記第１の機能が、
前記取得手段により取得した外部機器の機器情報を構文解析する解析手段を有し、
前記判定手段は、
前記解析手段による解析結果から取得した前記外部機器の特性を示す外部機器特性情報に基づき、前記第２の機能を提供するか否かを判定することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記判定手段は、
前記外部機器特性情報のうち、前記外部機器の機器種別に基づいて、前記第２の機能を提供するか否かを判定することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記判定手段は、
前記外部機器の機器種別に基づいて、前記第２の機能を提供するか否かの判定対象となる外部機器のうち、ユーザが前記第２の機能を使用要求するときに、当該画像形成装置が有するアプリケーションの情報を取得する機器が存在しないと判断した場合に、
前記外部機器に対して、前記第２の機能を提供しないと判定することを特徴とする請求項３又は４に記載の画像形成装置。
【請求項６】
前記第１の機能が、
前記外部機器に対して前記第２の機能を提供するか否かを判定するための利用制限情報を設定する設定手段を有し、
前記判定手段は、
前記外部機器特性情報と、前記設定手段により設定された利用制限情報とに基づき、前記第２の機能を提供するか否かを判定することを特徴とする請求項３ないし５のいずれか一項に記載の画像形成装置。
【請求項７】
前記判定手段は、
前記外部機器特性情報において、前記外部機器が接続されるネットワークグループを示すネットワークグループ情報と、前記利用制限情報として設定されたネットワークグループ情報との比較結果に基づいて、前記第２の機能を提供するか否かを判定することを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記判定手段は、
前記外部機器特性情報において、前記外部機器のベンダを示すベンダ情報と、前記利用制限情報として設定されたベンダ情報との比較結果に基づいて、前記第２の機能を提供するか否かを判定することを特徴とする請求項６又は７に記載の画像形成装置。
【請求項９】
前記判定手段は、
前記外部機器特性情報において、前記外部機器が有するアプリケーションにより実現される機能種別を示す機能種別情報と、前記利用制限情報として設定された機能種別情報との比較結果に基づいて、前記第２の機能を提供するか否かを判定することを特徴とする請求項６ないし８のいずれか一項に記載の画像形成装置。
【請求項１０】
前記判定手段は、
予め決定しておいた判定順序に従って、
前記外部機器特性情報と前記利用制限情報とに基づき、前記第２の機能を提供するか否かを判定することを特徴とする請求項１ないし９のいずれか一項に記載の画像形成装置。
【請求項１１】
前記第１の機能が、
前記外部機器の機器情報の取得を要求する情報取得要求手段を有し、
前記取得手段は、
前記情報取得要求手段による要求に応じて、前記外部機器から送信される応答情報を前記外部機器の機器情報として取得することを特徴とする請求項１ないし１０のいずれか一項に記載の画像形成装置。
【請求項１２】
情報取得要求に応じて、当該画像形成装置が有するアプリケーションの情報を含む機器情報を要求元の外部機器に提供する第１の機能と、所定の処理要求に応じて、前記アプリケーションにより要求された処理を実行する少なくとも１つ以上の第２の機能とを有する画像形成装置における提供機能制御方法であって、
前記第１の機能が、
前記外部機器が有するアプリケーションの情報を含む機器情報を取得する取得手順と、
前記取得手順により取得した外部機器の機器情報に基づき、前記外部機器に対して、前記第２の機能を提供するか否かを判定する判定手順と、
前記判定手順による判定結果に基づき、前記第２の機能を起動する起動手順と、を有することを特徴とする提供機能制御方法。
【請求項１３】
情報取得要求に応じて、当該画像形成装置が有するアプリケーションの情報を含む提供サービス情報を要求元の外部機器に提供する第１の機能と、所定の処理要求に応じて、前記アプリケーションにより要求された処理を実行する少なくとも１つ以上の第２の機能とを有する画像形成装置における提供機能制御プログラムであって、
コンピュータを、
前記外部機器が有するアプリケーションの情報を含む機器情報を取得する取得手段と、
前記取得手段により取得した外部機器の機器情報に基づき、前記外部機器に対して、前記第２の機能を提供するか否かを判定する判定手段と、
前記判定手段による判定結果に基づき、前記第２の機能を起動する起動手段として機能させる提供機能制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部機器に対して１つ以上の機能（サービス）を提供する画像形成装置に係り、特に外部機器に対して提供する機能を制御する技術に関するものである。
【背景技術】
【０００２】
通信技術の高度化に伴い、コピー、プリンタ、スキャナ、ファクシミリなどの機能を複合的に備えた複合機（ＭＦＰ：Multifunction Peripheral）などの複数の画像形成装置が、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）といったネットワークなどのデータ伝送路に接続され、複数のユーザが共有機器として利用可能なシステムは一般的となった。
【０００３】
このような環境下で、画像形成装置はユーザから様々な方法で利用される。あるユーザはプリンタ機能しか利用しないのに対して、あるユーザはプリンタ機能やスキャナ機能の両方を利用するなど、ユーザ単位で考えれば、画像形成装置は、全ての機能を提供するのではなく（利用可能とするのではなく）、ユーザの使用頻度の高い機能のみ提供すればよい（利用制限すればよい）。
【０００４】
また、ユーザに提供する機能に制限をもたせる理由の１つとして機密性の問題が挙げられる。不特定多数のユーザがどのような目的で使用しているのかを、画像形成装置で把握することは困難である。ユーザが対峙して使用する場面に比べて、特にネットワークを介して遠隔使用される環境下では、機密文書の印刷など、画像形成装置を悪用して不正行為が行われる可能性が高い。
【０００５】
そこで、例えば特許文献１には、プリンタ機能のみやスキャナ機能のみといった仮想機能を複数のＩＰアドレスに分割し、利用者制限を行う画像入出力装置などが提案されており、このような従来技術によって、画像形成装置がユーザに提供する機能の制限が容易に行え、また画像形成装置とＰＣ（Personal Computer）間通信の機密性を高めることができる。
【特許文献１】特開２００４−３６３９３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術では、以下に挙げるような問題点がある。
【０００７】
１つ目は、画像形成装置の構成が複雑になる点である。特許文献１に提案される画像形成装置では、ユーザに提供する機能を制御（以下、「提供機能制御」という。）するため、仮想機能を管理する複数の情報（管理情報）が必要であり、さらには、プリンタやスキャナといった各基本機能を実現する機能部の他、管理情報を用いて提供機能制御を実現する複数の制御機能部（例えば仮想機能管理部や通信制御管理部など）が必要となる。
【０００８】
このような複雑な機能構成では、画像形成装置に機能追加などが行われた場合、追加された機能を仮想機能として取り扱うために上記管理情報や制御機能部の変更も行わなくてはならない。
【０００９】
これらの対応を、開発者側で行う場合には、提供機能制御を実現するソフトウェア部品の設計変更・改良を行わなければならず、その作業は開発者にとって煩雑である。またユーザ側で行う場合には、例えば機器管理者が操作パネルや遠隔操作などにより設定変更を行うことで対応が可能であったとしても、その作業は管理者にとって煩雑である。
【００１０】
以上のように従来の画像形成装置の機能構成では、提供機能の拡張に柔軟に対応可能な構成となっておらず、その作業が開発者側やユーザ側へ与える影響は大きい。
【００１１】
２つ目は、機能の使用要求を行う前の段階において、ユーザが、行いたい処理を実行する機能を有する適切な画像形成装置を選択することができない点である。
【００１２】
特許文献１に提案される画像形成装置では、ユーザからの使用要求を受け付けると、所定の認証処理を行った後に、認証されたユーザにのみ要求された機能を遠隔使用するためのＩＰアドレスを発行し、発行したＩＰアドレスから接続されると、限定された機能を提供する構成となっている。
【００１３】
上記構成からも分かるように、ユーザは画像形成装置に対して、使用要求を行わなければ、要求した機能が使用可能か否かを知ることができない。その結果、使用要求を行っても、必ずしも画像形成装置が有する機能を使用できるとは限らず、使用要求を行う前段階では、処理を行うために、どの画像形成装置に対して使用要求すればよいか分からない。
【００１４】
このようなことから、本来であれば、使用要求を行う前の段階において、ユーザが、行いたい処理を実行する機能を有する適切な画像形成装置を選択可能な環境が望ましい。例えばユーザ端末であるＰＣなどの情報処理装置が、ネットワークに接続される全ての画像形成装置を、機能の使用要求可能な機器として画面に表示するのではなく、当該情報処理装置に対して使用が許可された機能を提供する画像形成装置のみを表示するなどである。
【００１５】
上記環境をユーザに提供するためには、ネットワーク上の機器（例えば情報処理装置や画像形成装置など）が、ネットワークに接続される（ネットワークに参加する）タイミングで、機能に関する情報（提供サービス情報）を互いに交換しあえることが前提となる。
【００１６】
現在の画像形成装置では、ネットワークに接続されるＰＣなどの情報処理装置との間で、ＳＯＡＰ（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）１２３と、ＯＳ（Operating System）１２１とを有する。
【００５１】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（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）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供するものである。ＦＣＳ１２７には、そのサブプロセスであるＦＣＵハンドラ（ＦＣＵＨ）が起動される。このＦＣＵＨは、ＦＣＳ１２７からの指令によりファクシミリ送受信のときにファクシミリエンジンのデバイスドライバを制御するものである。
【００５９】
ＮＣＳ１２８は、ネットワークＩ／Ｏを必要とするアプリケーション１３０に対して共通に利用できるサービスを提供するためのモジュール群である。
【００６０】
本実施形態に係るデータ通信機能は、ＮＣＳ１２８が有している。ＮＣＳ１２８を構成する具体的なソフトウェア部品（プログラム）については、以降に示す図３を用いて説明する。
【００６１】
アプリケーション１３０は、ＰＣＬ（Printer Control Language）やポストスクリプト（ＰＳ：PostScript）などのＰＤＬパーサを有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６と、配信用のアプリケーションである配信アプリ１１７とを有している。
【００６２】
これらの各コントロールサービスとＳＲＭ１２３と各アプリケーション１３０とは、１つ以上のメソッドを有するオブジェクトであり、このオブジェクトを起動することによりそれぞれプロセスとしてＯＳ１２１上に生成されて実行される。そして、各プロセス内部には、複数のスレッドが起動され、ＯＳ１２１の管理下でこれらのスレッドのＣＰＵ占有時間を切り替えることにより並列実行が実現されている。このため、プロセス切り替えによる並列実行と比較して、並列実行時の処理速度の向上が図られている。
【００６３】
各アプリプロセスと各コントロールサービスプロセスとは、メソッドの実行によるプロセス間通信によってメッセージの送受信が行われる。
【００６４】
＜＜ＮＣＳ＞＞
ここからは、本実施形態に係るデータ通信機能を有するＮＣＳ１２８について説明する。
（ソフトウェア構成の概要）
図３は、本発明の第１の実施形態に係るＮＣＳ１２８のソフトウェア構成の一例を示す図である。本実施形態に係るＮＣＳ１２８のソフトウェア構成は、主に、各プロトコルによって受信したデータを各アプリケーション１３０に振り分けたり、アプリケーション１３０からデータをネットワーク側に送信する際の仲介を行うモジュール群で構成される。そのモジュール群の中に、本実施形態に係るＷＳ−ＭＦＰモジュール群２０がある。
【００６５】
ここで上記の「ＷＳ」とは、Ｗｏｒｌｄ Ｗｉｄｅ Ｗｅｂ Ｃｏｎｓｏｒｔｉｕｍ（Ｗ３Ｃ）のワーキンググループ（ＷＧ）により進められているＸＭＬ（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は、ＵＤＰ（User Datagram Protocol）により、ネットワークに参加した外部機器に対して、画像形成装置１００がネットワークに参加し、機能提供可能な状態である旨を通知（機能提供通知）する（例えばHelloメッセージをネットワークに接続される全ての外部機器に対してマルチキャストする）。また、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sは、ネットワークに参加した外部機器から、同ネットワークにどのような自機以外の機器が接続されているかを検索するための通知（接続機器確認要求）を受信し、応答する（例えば外部機器からマルチキャストされたProbeメッセージを受信し、応答する）。
【００７９】
ＷＳ−Ｔｒａｎｓｆｅｒ３２Sは、外部機器からの情報の取得を要求するメッセージ（機器情報取得要求）を受信すると、要求に応じて、画像形成装置１００が有するアプリケーションにより提供可能な標準化Ｗｅｂサービス（アプリケーション機能）を含む機器に関する情報である機器情報を通知するメッセージを、画像形成装置１００から外部機器へ送信する。
【００８０】
ＷＳ−ＭｅｔａｄａｔａＥｘｃｈｅｎｇｅ３３は、ＷＳ−Ｐｒｉｎｔｅｒ２１pから取得した画像形成装置１００が有するアプリケーションなどを基に、画像形成装置１００の機器情報のデータを生成する。
【００８１】
ＷＳ−Ａｄｄｒｅｓｓｉｎｇ３４は、外部機器とＷＳＤ（プロトコル）を介してデータやイベントの送受信を行うときに、送信元や送信先となる外部機器を特定するためにＩＰアドレスを解決する。
【００８２】
ＷＳＤ−Ｍａｎａｇｅｒ３５は、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１S、ＷＳ−Ｔｒａｎｓｆｅｒ３２S、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈｅｎｇｅ３３、及びＷＳ−Ａｄｄｒｅｓｓｉｎｇ３４、ならびにＷＳ−Ｐｒｉｎｔｅｒ２１pが有するＰｒｉｎｔｅｒＤＣＰ４１pなどの動作制御・管理を行う。
【００８３】
（ＤＦＭモジュールのクライアント機能部）
ＤＦＭモジュール２２のクライアント機能部２２C（以下、「ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２C」という。）は、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１C及びＷＳ−Ｔｒａｎｓｆｅｒ３２Cに加え、機器情報取得マネージャ３６とから構成される。
【００８４】
ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cは、ネットワークにどのような外部機器が接続されているかを検索する通知（接続機器確認要求）を送信し、接続される各外部機器からの応答を受信する（例えばProbeメッセージをネットワークに接続される全ての外部機器に対してマルチキャストし、応答を受信する）。
【００８５】
ＷＳ−Ｔｒａｎｓｆｅｒ３２Cは、外部機器の機器情報の取得を要求するメッセージ（機器情報取得要求）を送信し、各外部機器からの応答として機器情報を受信する。
【００８６】
機器情報取得マネージャ３６は、外部機器から取得した機器情報に基づき所定の処理を行う。機器情報取得マネージャ３６は、例えば取得した機器情報に基づき、どのような外部機器がネットワークに接続され通信可能な状態にあるのかを確認し、さらには、その確認結果に応じた利用制限に従って、機能提供を行うか否かを決定するなどの制御処理を行う。ここで言う「確認結果」とは、例えば「どのような種類の機器なのか」や「どのような機能を提供可能なのか」など、外部機器を構成するハードウェアやソフトウェアなどの特徴や性質（以下、「外部機器の特性」と言う。）の確認結果を意味する。
【００８７】
このように、ＤＦＭモジュール２２では、上記サーバ・クライアント機能の構成により、外部機器が機能の使用要求を行う前の段階において、外部機器の特性に応じた利用制限に従って、外部機器へ機能提供を行うか否かを決定し、決定結果に基づいて自機が搭載する機能を起動し、機能提供を開始することで、外部機器に対して、機器特性に応じた提供機能の制御処理（以下、「提供機能制御処理」と言う。）を行っている。
【００８８】
（ＷＳ−Ｐｒｉｎｔｅｒのサーバ機能部）
ＷＳ−Ｐｒｉｎｔｅｒ２１pのサーバ機能部２１Spは、ＰｒｉｎｔｅｒＤＣＰ４１Spと、ＷＳ−Ｅｖｅｎｔｉｎｇ４２Spと、ＷＳ−Ａｄｄｒｅｓｓｉｎｇ３４とから構成される。
【００８９】
ＰｒｉｎｔｅｒＤＣＰ４１Spは、プリンタ機能（印刷機能）を使用する外部機器（例えばＰＣなどの情報処理装置）が有する機能（例えばプリンタドライバなど）から、プリンタアプリ１１１へ送信された印刷データなどを受信する。
【００９０】
ＷＳ−Ｅｖｅｎｔｉｎｇ４２Spは、プリンタ機能を使用する外部機器から送信された印刷要求などの処理要求イベントを、プリンタアプリ１１１に通知する。
【００９１】
ＷＳ−Ａｄｄｒｅｓｓｉｎｇ３４については、上記ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２Sにおいて説明を行った内容と同様であることから、ここでの説明は省略する。
【００９２】
（ＷＳ−Ｐｒｉｎｔｅｒのクライアント機能部）
ＷＳ−Ｐｒｉｎｔｅｒ２１pのクライアント機能部２１Cpは、ＰｒｉｎｔｅｒＤＣＰ４１Cp及びＷＳ−Ｅｖｅｎｔｉｎｇ４２Cpに加え、プリンタ情報取得マネージャ４３とから構成される。
【００９３】
ＰｒｉｎｔｅｒＤＣＰ４１Cpは、プリンタ機能を有する外部機器（他の画像形成装置）に対して、提供可能なプリンタ機能に関する情報であるプリンタ情報の取得を要求するメッセージを外部機器へ送信する。ここで言う「プリンタ情報」とは、外部機器が有するプリンタアプリにより提供可能な標準化Ｗｅｂサービスに関する情報（提供サービス情報）を意味する。また、ＰｒｉｎｔｅｒＤＣＰ４１Cpでは、プリンタ情報取得マネージャ４３から外部機器に対して機能連携を依頼する指示を受け付けると、サーバ機能部２１SpのＰｒｉｎｔｅｒＤＣＰ４１Spで受信した印刷データを、機能連携処理を依頼する外部機器へ転送する。
【００９４】
ＷＳ−Ｅｖｅｎｔｉｎｇ４２Cpは、外部機器が有するプリンタ機能から送信されたプリンタ情報の受信イベントを、プリンタ情報取得マネージャ４３に通知する。
【００９５】
プリンタ情報取得マネージャ４３は、外部機器から取得したプリンタ情報に基づき所定の処理を行う。例えばプリンタ情報取得マネージャ４３は、取得したプリンタ情報に基づき、どのような印刷性能（搭載したアプリケーションの性能）を提供可能な画像形成装置（ＷＳ−Ｐｒｉｎｔｅｒ）がネットワークに接続され通信可能な状態にあるのかを確認し、サーバ機能部２１Spで受信した印刷要求に対して、印刷性能を確認した他の画像形成装置と機能連携処理が行えるか否かを判断するなどの処理を行う。
【００９６】
このように、ＷＳ−Ｐｒｉｎｔｅｒ２１pでは、上記サーバ・クライアント機能の構成により、例えば、画像形成装置１００が、外部機器から取得したプリンタ情報に基づき、印刷要求に対して適切な印刷性能を備えた外部機器を決定し、決定した外部機器へ印刷データを転送することで、機器同士の機能連携処理を行うことができる。
【００９７】
また、上記ＤＦＭモジュール２２のサーバ・クライアント機能による提供機能制御と、上記ＷＳ−Ｐｒｉｎｔｅｒ２１pのサーバ・クライアント機能による機能連携とを対応付けて処理することで、例えば機器同士において利用制限内で適切な機能連携が行え、ネットワーク上での情報の機密性を保持しながら、ユーザへの利便性を考慮したシステム環境を実現することも可能となる。
【００９８】
続いて、ＳＯＡＰ５０とＩＭＣ５１それぞれについて説明する。
【００９９】
ＳＯＡＰ５０は、下位層にあたるＨＴＴＰやＳＭＴＰなどの通信プロトコルによりネットワークを介して、外部機器と画像形成装置１００との間で、ＳＯＡＰメッセージを送受信するＳＯＡＰメッセージ送受信部と、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ３３により生成されたデータを基にＳＯＡＰメッセージを生成するＳＯＡＰメッセージ生成部とから構成される。
【０１００】
このように、ＳＯＡＰ５０は、上記機能構成により、ＤＦＭモジュール２２及びＷＳ−Ｐｒｉｎｔｅｒ２１pなどから受け取った通信データをＳＯＡＰメッセージに変換し、外部機器と画像形成装置１００との間のメッセージ交換機能を実現している。また、本実施形態では、ＳＯＡＰ５０にオープンソースの「ｇＳＯＡＰ」を採用し、ＷＳ−ＭＦＰモジュール群２０が動作するプロセスとは異なるプロセスで動作するように実装する。「ｇＳＯＡＰ」については、その詳細が開示されている開発元の公式サイトである「gSOAP：C/C++ Web Services and Clients」へのＵＲＬ（http://www.cs.fsu.edu/~engelen/soap.html）を開示し、ここでの説明は省略する。
【０１０１】
ＩＭＣ５１は、プロセス間通信機能を有しており、ＤＦＭモジュール２２やＷＳ−Ｐｒｉｎｔｅｒ２１pなどのように、ソフトウェア部品として単独で機能するものではなく、単独で機能するソフトウェア部品に対して、プロセス間でデータの送受信などを行うためのプロセス間通信プログラム群が１つにまとめられたファイル、すなわちライブラリとして提供される。このことから、上記ＤＦＭモジュール２２やＷＳ−Ｐｒｉｎｔｅｒ２１pなどの各ソフトウェア部品には、プロセス間通信機能を有するＩＭＣ５１のライブラリがリンクされている。
【０１０２】
本実施形態に係る画像形成装置１００は、上記のようなソフトウェア構成によるＮＣＳ１２８を有しており、外部機器とのメッセージ交換などのデータ通信を行う。
【０１０３】
＜提供機能制御＞
本実施形態に係る画像形成装置１００は、上記ハードウェア及びソフトウェア構成により、ネットワークに接続される外部機器に対して、当該画像形成装置１００が提供する機能を利用制限に従って制御する。以降に、この提供機能制御処理について説明する。
【０１０４】
＜＜構成＞＞
図５は、本発明の第１の実施形態に係る提供機能制御の機能構成の一例を示す図である。本実施形態に係る画像形成装置１００は、ＤＦＭモジュール２２におけるＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２Cの機器情報取得マネージャ３６が、機器情報データパース部６１と、判定パラメータ保持部６２と、制御パラメータ設定部６３と、提供機能制御部６４と、判定済み外部機器確認部６５との各機能部を有している。以下に、各機能部について簡単に説明する。
【０１０５】
機器情報データパース部６１は、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｔｒａｎｓｆｅｒ３２Cを介して、ネットワークに接続される外部機器から取得した機器情報７１のデータをパースする。ここで言う「パース」とは、テキストデータを構文解析し、論理的な構造を判断することを意味する。よって、機器情報データパース部６１は、機器情報７１のデータを構文解析し、データ構造を解釈する。これによって、機器情報から外部機器の特性を確認することができる。
【０１０６】
判定パラメータ保持部６２は、機器情報データパース部６１が機器情報７１を構文解析した結果取得される、機器情報７１のデータ内に、所定のタグによって定義された外部機器に関する情報（アプリケーションにより提供される機能に関する情報を含む）を、提供する機能を判定するための判定用のパラメータ（以下、「判定パラメータ」と言う。）として保持する。例えば判定パラメータ保持部６２は、上記判定パラメータを、ＲＡＭ１３ｂの所定の記憶領域へ一時的に格納し機器特性値（機器特性情報）として保持する。
【０１０７】
制御パラメータ設定部６３は、例えば当該画像形成装置１００が備えるユーザインタフェース（ＵＩ）機能を有する操作パネル１１を介して受け付けた、当該画像形成装置１００が行う提供機能を制御するための制御用のパラメータ（以下、「制御パラメータ」と言う。）を設定する。例えば制御パラメータ設定部６３は、受け付けた上記制御パラメータを、ＨＤＤ１７の所定の記憶領域に格納し制御値（利用制限情報）として設定する。
【０１０８】
なお、上記制御パラメータ設定部６３の説明では、操作パネル１１からの制御パラメータの設定を行う例を挙げたが、この方法に本発明が限定されるものではなく、例えば、ネットワークに接続されるＰＣなどの情報処理装置を介して、ブラウザから制御パラメータの設定指示を受け付ける方法や、制御パラメータの設定データを受信する方法などであってもよい。また、制御パラメータの格納先をＨＤＤ１７として説明を行ったが、この方法に本発明が限定されるものではなく、例えばＮＶ−ＲＡＭ（Non Volatile RAM）などであってもよい。すなわち画像形成装置１００が備える不揮発性の記憶装置であればよい。
【０１０９】
提供機能制御部６４は、判定パラメータ保持部６２が保持する判定パラメータと、制御パラメータ設定部６３が設定する制御パラメータとに基づき、ネットワークに接続され通信可能な状態にある外部機器へ提供する機能を制御する。より具体的には、機器特性情報である判定パラメータと利用制限情報である制御パラメータとを比較し、機器特性に応じた利用制限に従って機能提供判定を行い、その判定結果（比較結果）に基づき、機能提供を行うか否かを決定する。さらにこの判定結果は、提供機能制御部６４によってＨＤＤ１７の所定の記憶領域に格納され、判定結果情報８１として保持される。
【０１１０】
また、提供機能制御部６４は、上記外部機器特性の確認と機能提供の決定を、１台の外部機器に対して行う。すなわち、ネットワークに接続され通信可能な状態にある外部機器が複数存在する場合には、複数の外部機器に対して行われ、外部機器ごとに機能提供を行うか否かを決定する。
【０１１１】
提供機能制御部６４によって機能提供を行うことが決定されると、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２Sにその旨が通知され、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２Sが機能の提供を開始する（提供する機能に実行を指示する）。
【０１１２】
判定済み外部機器確認部６５は、例えばネットワークに新たな外部機器が参加した場合や、外部機器から当該画像形成装置１００が有するアプリケーション機能の使用が要求された場合などにおいて、アクセスしてきた外部機器に対して、所定の利用制限に従って外部機器に提供可能な機能を判定し終え（判定済みで）、機能提供を行うことが決定されているか否かを確認する。このとき、判定済み外部機器確認部６５は、提供機能制御部６４によって所定の記憶領域に保持された判定結果情報８１に基づき上記確認を行う。
【０１１３】
確認の結果、アクセスしてきた外部機器が判定済みの場合には、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２Sにより機能の提供を開始する。一方、判定済みでない場合には、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２Cにより外部機器へ機器情報７１を要求する。
【０１１４】
上記各機能部の動作は、画像形成装置１００が有するＲＯＭ１３ａに格納された提供機能制御プログラム（ソフトウェア部品）がＲＡＭ１３ｂ上に読み出され、ＣＰＵ１３ｃによって実行されることで実現される。
【０１１５】
本実施形態に係る画像形成装置１００は、上記各機能部による提供機能制御処理を実行させることによって、外部機器が機能の使用要求を行う前の段階において、ＷＳＤ（プロトコル）に従って、ネットワークに接続される外部機器から機器情報７１を取得し、取得した機器情報７１から外部機器の特性を確認する。続いてその特性に応じた利用制限に従い、外部機器へ機能提供を行うか否かを決定し、決定結果に基づいて自機が搭載する機能を起動し、機能提供を開始する。このとき画像形成装置１００は、外部機器へ機能提供を通知する。
【０１１６】
＜＜動作＞＞
まずは、上記提供機能制御を行うために、本実施形態に係る画像形成装置１００と外部機器との間、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２Cと機器情報取得マネージャ３６とサーバ機能部２２Sとの間で行われるデータ送受信動作の処理手順について説明する。
【０１１７】
《画像形成装置と外部機器とのデータ送受信動作》
以下（Ａ）では、本実施形態に係る画像形成装置１００が、ネットワークに接続され起動したときの各種データ送受信の処理について説明する。また、以下（Ｂ）と（Ｃ）では、起動後の各種データ送受信の処理について説明する。
【０１１８】
（Ａ）起動時の処理シーケンス
画像形成装置１００は、起動時に外部機器から機器情報を取得し、機器情報を基に提供機能制御を行った後、外部機器へ機能提供を通知する。
【０１１９】
図６は、本発明の第１の実施形態に係る画像形成装置（ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能搭載機器）１００と外部機器（ＷＳＤ機器）２００とのデータ送受信動作の処理手順の一例（その１）を示すシーケンス図である。
【０１２０】
画像形成装置１００は、電源投入後、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cが、ネットワークに接続される外部機器２００に対して、接続機器確認要求Ｍ１を送信（Probeメッセージをマルチキャスト）する（ステップＳ１０１）。その結果、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cは、外部機器２００から応答を受信（ProbeMatch情報を受信）する（ステップＳ１０２）。
【０１２１】
続いて画像形成装置１００は、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cが、外部機器２００から受信した応答情報（ProbeMatch情報）を、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２Cの機器情報取得マネージャ３６に転送し、機器情報取得マネージャ３６に応答情報の格納を指示する（ステップＳ１０３）。
【０１２２】
機器情報取得マネージャ３６は、転送された応答情報を所定の記憶領域に格納・保持した後、その結果を要求元のＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cへ通知し、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｔｒａｎｓｆｅｒ３２Cへ、外部機器２００の機器情報７１の取得を指示する（ステップＳ１０４）。
【０１２３】
画像形成装置１００は、ＷＳ−Ｔｒａｎｓｆｅｒ３２Cが、取得要求に応じて、外部機器２００に機器情報取得要求Ｍ２を送信（ProbeMatch情報を基に、応答のあった機器に対してGetメッセージを送信）する（ステップＳ１０５）。その結果、ＷＳ−Ｔｒａｎｓｆｅｒ３２Cは、外部機器２００から機器情報７１を受信（GetResponseメッセージを受信）する（ステップＳ１０６）。このとき外部機器２００は、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｔｒａｎｓｆｅｒ３２Sが、ＷＳ−ＭｅｔａＤａｔａＥｘｃｈａｎｇｅ３３が生成した機器情報７１を、取得要求元の画像形成装置１００へ送信する。
【０１２４】
続いて画像形成装置１００は、ＷＳ−Ｔｒａｎｓｆｅｒ３２Cが、外部機器２００から受信した機器情報７１を機器情報取得マネージャ３６に転送し、機器情報取得マネージャ３６に機器情報７１の格納を指示する（ステップＳ１０７）。
【０１２５】
機器情報取得マネージャ３６は、転送された機器情報７１を所定の記憶領域に格納・保持した後、保持した機器情報７１から外部機器２００の特性を確認し、確認結果として取得した判定パラメータと設定された制御パラメータとに基づき、特性に応じた利用制限に従って、自機が有する機能が外部機器２００へ提供可能な機能か否かを判定する機能提供判定処理を行う（ステップＳ１０８）。その結果、外部機器２００へ機能提供を行うことが決定される。
【０１２６】
続いて機器情報取得マネージャ３６は、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２S（ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１SとＷＳ−Ｔｒａｎｓｆｅｒ３２S以外の機能）へ、提供することが決定した機能の起動を指示する（ステップＳ１０９）。
【０１２７】
その結果画像形成装置１００は、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sへ、外部機器２００に対しての機能提供許可応答が指示され（ステップ１１０）、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sが、外部機器２００に対して、機能提供許可応答Ｍ３を送信（Helloメッセージをマルチキャスト）する（ステップＳ１１１）。
【０１２８】
このようにして、画像形成装置１００では、自機のＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２Cによって、ネットワークに接続される外部機器２００から各機器情報７１を取得し、取得した機器情報７１を基に、外部機器２００の特性に応じた利用制限に従って、外部機器２００への機能提供を制御している。
【０１２９】
（Ａ−１）起動時の処理シーケンス
例えば、ネットワーク上に外部機器２００が存在しなかった場合には、上記ステップＳ１０１において、画像形成装置１００が、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cによって送信した接続機器確認要求Ｍ１に対して、外部機器２００から応答されない。すなわち、画像形成装置１００では、上記ステップＳ１０２以上の処理手順を行わず処理が終了する。
【０１３０】
（Ａ−２）起動時の処理シーケンス
例えば、利用制限によって機能を提供すべき外部機器２００が存在しなかった場合には、上記ステップＳ１０８において行う機能提供判定処理において、機能提供を行わないことが決定される。すわなち、画像形成装置１００では、上記ステップＳ１０９以降の処理手順を行わず処理が終了する。
【０１３１】
（Ｂ）起動後の処理シーケンス
画像形成装置１００は、ネットワークに新たな外部機器２００が接続されると、ネットワークに参加した外部機器２００から機器情報７１を取得し、その機器情報７１を基に提供機能制御を行った後、外部機器２００へ機能提供を通知する。
【０１３２】
図７は、本発明の第１の実施形態に係る画像形成装置１００と外部機器２００とのデータ送受信動作の処理手順の一例（その２）を示すシーケンス図である。
【０１３３】
画像形成装置１００は、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sが、ネットワークに新たに参加した外部機器２００から、接続機器確認要求Ｍ１を受信する（ステップＳ２０１）。
【０１３４】
ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sは、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２Cの機器情報取得マネージャ３６へ、新たに参加した外部機器２００の特性確認を指示し（ステップＳ２０２）、機器情報取得マネージャ３６が、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cへ、新たに参加した外部機器２００への接続機器確認要求Ｍ１の送信を指示する（ステップＳ２０３）。
【０１３５】
その結果画像形成装置１００は、図中のステップＳ２０４からＳ２１４までの処理手順を実行する。図中のステップＳ２０４からＳ２１４までの処理手順は、図６のステップＳ１０１からＳ１１１までの処理手順と同じであることから、ここでの説明は省略する。
【０１３６】
このようにして、画像形成装置１００では、ネットワークに新たに参加した外部機器２００においても、外部機器２００から取得した機器情報７１を基に、外部機器２００の特性に応じた利用制限に従って、外部機器２００への機能提供を制御している。
【０１３７】
（Ｃ）起動後の処理シーケンス
画像形成装置１００は、ネットワークに接続される外部機器２００から機器情報７１の取得を要求されると、要求元の外部機器２００から取得した機器情報７１を基に、提供機能制御を行い、その結果を自機の機器情報７１へ反映させ、外部機器２００へ応答する。またこのとき、機器情報７１の取得要求を行った外部機器２００が、既に機能提供判定処理を行った機器であるか否かに基づいて提供機能制御を行っている。
【０１３８】
（Ｃ−１）要求元の外部機器が既に判定された機器である場合
図８は、本発明の第１の実施形態に係る画像形成装置１００と外部機器２００とのデータ送受信動作の処理手順の一例（その３）を示すシーケンス図である。
【０１３９】
画像形成装置１００は、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sが、外部機器２００から接続機器確認要求Ｍ１を受信し（ステップＳ３０１）、応答情報（ProbeMatch情報）を外部機器２００へ送信する（ステップＳ３０２）。
【０１４０】
外部機器２００は、画像形成装置１００から応答を受信（ProbeMatch情報を受信）すると、画像形成装置１００に機器情報取得要求Ｍ２を送信（ProbeMatch情報を基に、応答のあった機器に対してGetメッセージを送信）する（ステップＳ３０３）。
【０１４１】
画像形成装置１００は、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｔｒａｎｓｆｅｒ３２Sが、外部機器２００からの機器情報取得要求Ｍ２を受信すると、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２Cの機器情報取得マネージャ３６へ、機能提供判定済みの外部機器２００か否かの確認を指示する（ステップＳ３０４）。
【０１４２】
機器情報取得マネージャ３６は、機能提供判定済みの外部機器２００か否かの確認し、外部機器２００が判定済みの機器でないと判断した場合に、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cへ、要求元の外部機器２００への接続機器確認要求Ｍ１の送信を指示する（ステップＳ３０５）。
【０１４３】
画像形成装置１００は、上記ステップ３０２の段階では、マルチキャストによるメッセージ取得であることから、要求元の外部機器２００を特定することができない。しかし、上記ステップ３０４の段階では、機器情報取得要求Ｍ２としてGetメッセージを受信していることから、Getメッセージのヘッダ情報に定義されているメッセージ送信元を特定可能な情報（識別情報）を基に、機能提供判定済みの外部機器２００か否かの確認を行うことができる。
【０１４４】
画像形成装置１００は、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cが、外部機器２００に対して接続機器確認要求Ｍ１を送信（Probeメッセージをマルチキャスト）し（ステップＳ３０６）、外部機器２００からの応答を受信（ProbeMatch情報を受信）する（ステップＳ３０７）。
【０１４５】
続いて画像形成装置１００は、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cが、外部機器２００から受信した応答情報（ProbeMatch情報）を、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２Cの機器情報取得マネージャ３６に転送し、機器情報取得マネージャ３６に応答情報の格納を指示する（ステップＳ３０８）。
【０１４６】
機器情報取得マネージャ３６は、転送された応答情報を所定の記憶領域に格納・保持した後、その結果を要求元のＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Cへ通知し、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｔｒａｎｓｆｅｒ３２Cへ、外部機器２００の機器情報７１の取得を指示する（ステップＳ３０９）。
【０１４７】
画像形成装置１００は、ＷＳ−Ｔｒａｎｓｆｅｒ３２Cが、取得要求に応じて、外部機器２００に機器情報取得要求Ｍ２を送信（ProbeMatch情報を基に、応答のあった機器に対してGetメッセージを送信）する（ステップＳ３１０）。その結果、ＷＳ−Ｔｒａｎｓｆｅｒ３２Cは、外部機器２００から機器情報７１を受信（GetResponseメッセージを受信）する（ステップＳ３１１）。
【０１４８】
続いて画像形成装置１００は、ＷＳ−Ｔｒａｎｓｆｅｒ３２Cが、外部機器２００から受信した機器情報７１を機器情報取得マネージャ３６に転送し、機器情報取得マネージャ３６に機器情報７１の格納を指示する（ステップＳ３１２）。
【０１４９】
機器情報取得マネージャ３６は、転送された機器情報７１を所定の記憶領域に格納・保持した後、保持した機器情報７１に基づいて、外部機器２００の特性に応じた利用制限に従って、自機が有する機能が外部機器２００へ提供可能な機能か否かを判定する機能提供判定処理を行う（ステップＳ３１３）。その結果、外部機器２００へ機能提供を行うことが決定される。
【０１５０】
続いて機器情報取得マネージャ３６は、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｔｒａｎｓｆｅｒ３２Sへ、提供することが決定した機能に関する情報を含む機器情報７１の応答（GetResponseメッセージの応答）を指示する（ステップＳ３１４）。
【０１５１】
その結果画像形成装置１００は、ＷＳ−Ｔｒａｎｓｆｅｒ３２Sが、外部機器２００に対して提供可能な機能に関する情報を含む機器情報７１を送信する（ステップＳ３１５）。このとき外部機器２００へ送信される機器情報７１は、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２Cの機器情報取得マネージャ３６が提供機能制御によって提供することが決定した機能を基に、ＷＳ−ＭｅｔａＤａｔａＥｘｃｈａｎｇｅ３３が生成する。
【０１５２】
（Ｃ−２）要求元の外部機器がまだ判定されていない機器である場合
図９は、本発明の第１の実施形態に係る画像形成装置１００と外部機器２００とのデータ送受信動作の処理手順の一例（その４）を示すシーケンス図である。
【０１５３】
画像形成装置１００は、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sが、外部機器２００から接続機器確認要求Ｍ１を受信し（ステップＳ４０１）、応答情報（ProbeMatch情報）を外部機器２００へ送信する（ステップＳ４０２）。
【０１５４】
外部機器２００は、画像形成装置１００から応答を受信（ProbeMatch情報を受信）すると、画像形成装置１００に機器情報取得要求Ｍ２を送信（ProbeMatch情報を基に、応答のあった機器に対してGetメッセージを送信）する（ステップＳ４０３）。
【０１５５】
画像形成装置１００は、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｔｒａｎｓｆｅｒ３２Sが、外部機器２００からの機器情報取得要求Ｍ２を受信すると、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２Cの機器情報取得マネージャ３６へ、機能提供判定済みの外部機器２００か否かの確認を指示する（ステップＳ４０４）。
【０１５６】
機器情報取得マネージャ３６は、機能提供判定済みの外部機器２００か否かの確認し、外部機器２００が判定済みの機器であると判断した場合に、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｔｒａｎｓｆｅｒ３２Sへ、提供することが決定した機能に関する情報を含む機器情報７１の応答（GetResponseメッセージの応答）を指示する（ステップＳ４０５）。
【０１５７】
その結果画像形成装置１００は、ＷＳ−Ｔｒａｎｓｆｅｒ３２Sが、外部機器２００に対して提供可能な機能に関する情報を含む機器情報７１を送信する（ステップＳ４０６）。
【０１５８】
このようにして、画像形成装置１００では、機器情報７１を取得要求した外部機器２００に対して、要求元の外部機器２００から取得した機器情報７１を基に、外部機器２００の特性に応じた利用制限に従って、外部機器２００に提供可能な機能に関する情報を含む機器情報７１を要求元へ応答している。
【０１５９】
《機器情報取得マネージャの動作》
本実施形態に係る画像形成装置１００は、図６のステップＳ１０８の処理手順において説明を行ったように、機器情報取得マネージャ３６が、外部機器２００の機器情報７１に基づいて、外部機器２００の特性に応じた利用制限に従って、自機が有する機能が外部機器２００へ提供可能な機能か否かを判定する機能提供判定処理を行う。ここからは、上記機器情報取得マネージャ３６の動作について説明する。
【０１６０】
（１）判定パラメータの取得と制御パラメータの設定
まず、機器情報取得マネージャ３６は、外部機器２００の機器情報７１から機器特性を確認するのに用いるパラメータ値（判定パラメータ）を取得し、最終的に機能提供を行うか否かを決定するためのパラメータ値（制御パラメータ）の設定を受け付ける。以下に機器情報取得マネージャ３６による「判定パラメータの取得と制御パラメータの設定」に関する処理手順を説明する。
【０１６１】
図１０は、本発明の第１の実施形態に係る機器情報取得マネージャ３６の処理手順の一例（パラメータ取得・設定処理）を示すフローチャートである。
【０１６２】
機器情報取得マネージャ３６は、ネットワークに新たな外部機器２００が参加したか否かを確認する（ステップＳ５０１）。ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sは、ネットワークに新たに参加した外部機器２００からの接続機器確認要求Ｍ１を受信すると、機器情報取得マネージャ３６へ、新たに参加した外部機器２００の特性確認を指示する。これによって、機器情報取得マネージャ３６は、ネットワークに新たな外部機器２００が参加したか否かを確認する。
【０１６３】
ステップＳ５０１において、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sから外部機器２００の特性確認が指示され、新たに参加した外部機器２００が確認されると（ステップＳ５０２：ＹＥＳ）、機器情報取得マネージャ３６は、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｔｒａｎｓｆｅｒ３２Cを介して、外部機器２００に対し、機器情報取得要求Ｍ２としてGetメッセージを送信し、その応答として外部機器２００から機器情報７１として送信されたGetResponseメッセージを取得する（ステップＳ５０３）。
【０１６４】
続いて機器情報取得マネージャ３６は、機器情報データパース部６１が、取得された機器情報７１のデータ解析（機器特性の確認）を行い（ステップＳ５０４）、その解析結果（パース結果）を、判定パラメータとしてＲＡＭ１３ｂに保持する（ステップＳ５０５）。より具体的には、機器情報データパース部６１は、GetResponseメッセージのデータ内に、所定のタグによって定義された外部機器に関する情報（アプリケーションにより提供される機能に関する情報を含む）を判定パラメータとして抽出し、ＲＡＭ１３ｂに保持する。
【０１６５】
また、ステップＳ５０１において、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sから外部機器２００の特性確認が指示されず、新たに参加した外部機器２００が確認されなかった場合や（ステップＳ５０２：ＮＯ）、上記ステップＳ５０５の処理手順を実行し終えた場合に、機器情報取得マネージャ３６は、制御パラメータの設定通知を受け付けたか否かを判断する（ステップＳ５０６）。
【０１６６】
ステップＳ５０６の判定において、制御パラメータの設定通知を受け付けていないと判断された場合には（ステップＳ５０６：ＮＯ）、処理を終了する。また、ステップＳ５０６の判定において、制御パラメータの設定通知を受け付けたと判断された場合には（ステップＳ５０６：ＹＥＳ）、制御パラメータ設定部６３が、例えば操作パネル１１を介して受け付けた制御パラメータを、ＨＤＤ１７に格納し、提供機能の制御値（利用制限情報）として設定する（ステップＳ５０７）。
【０１６７】
上記ステップＳ５０１からＳ５０７の処理手順は、画像形成装置１００が起動後、例えば自機が備える時計回路（非図示）から得られる時間情報に基づき、予め設定しておいた経過時間に従って定期的に（一定の周期で）実行される。
【０１６８】
また、画像形成装置１００が起動したときには、上記ステップＳ５０１とＳ５０２の処理手順は行わず、外部機器２００から機器情報７１を取得する情報Ｓ５０３から処理が開始され、その後、上記ステップＳ５０１からＳ５０７の処理手順が、定期的に実行されることになる。
【０１６９】
以下に、画像形成装置１００が外部機器２００へ機器情報７１を取得するために送信する機器情報取得要求Ｍ２のデータ詳細について説明する。
【０１７０】
（機器情報取得要求）
図１１は、本発明の第１の実施形態に係る機器情報取得要求（Ｇｅｔメッセージ）Ｍ２の一例を示す図である。機器情報取得マネージャ３６は、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｔｒａｎｓｆｅｒ３２Cを介して、図１１に示すGetメッセージを外部機器２００へ送信する。
【０１７１】
図１１のデータを見ると、に示す"＜was：From＞"タグＭ２ｚに、外部機器２００へ機器情報取得要求Ｍ２を行った機器を特定する要求元識別情報（図中の「uuid」）が定義されている。すなわち、画像形成装置１００を、ネットワークに接続される全ての機器の中から特定することのできる情報である。
【０１７２】
これによって、外部機器２００は、受信したGetメッセージから要求元を特定する識別情報Ｍ２ｚを取得し、取得した要求元識別情報に基づき、画像形成装置１００へ機器情報７１を送信することができる。
【０１７３】
続いて、外部機器２００から画像形成装置１００に送信される機器情報７１のデータ詳細について説明する。また、以下のデータ詳細の説明においては、上記ステップＳ５０４とＳ５０５の処理手順における「機器情報データパース部６１が、機器情報７１をデータ解析（機器特性の確認）し、判定パラメータを取得する」処理を、どのように行っているかについても説明する。
【０１７４】
（外部機器からの機器情報：ＰＣから）
図１２は、本発明の第１の実施形態に係る取得した機器情報（ＧｅｔＲｅｓｐｏｎｓｅメッセージ）７１の一例（その１）を示す図である。例えば外部機器２００がＰＣの場合には、図１２のようなGetResponseメッセージを機器情報７１として要求元の画像形成装置１００に送信する。
【０１７５】
画像形成装置１００は、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｔｒａｎｓｆｅｒ３２Cを介して上記機器情報７１を受信すると、受信した機器情報７１が、機器情報取得マネージャ３６へ転送される。
【０１７６】
機器情報取得マネージャ３６は、機器情報データパース部６１によって、転送された機器情報７１のデータ解析を行い、所定のデータを抽出する。ここで抽出されたデータが判定パラメータの実値となる。
【０１７７】
機器情報データパース部６１は、まず、機器情報７１の"＜wsdp：Types＞"タグ７１ａによって定義される所定の文字列を、判定パラメータのカテゴリ情報［提供サービス種］として抽出する。例えば図１２に示す機器情報７１の場合には、判定パラメータのカテゴリ情報［提供サービス種］として"pub：Computer"という文字列が抽出される。
【０１７８】
機器情報データパース部６１では、上記判定パラメータのカテゴリ情報［提供サービス種］に（抽出文字列内に）、"Computer"が含まれているか否かにより、ＰＣとＰＣ以外のＷＳＤ機器とのどちらの機器情報７１であるかを判断する（機器種別の確認する）。
【０１７９】
続いて機器情報データパース部６１は、カテゴリ情報［提供サービス種］に"Computer"が含まれており、ＰＣの機器情報７１であると判断した場合（機器種別に応じて）、"＜pub：Computer＞"タグ７１ｃによって定義される所定の文字列を、判定パラメータのネットワークグループ情報として抽出する。例えば図１２に示す機器情報７１の場合には、判定パラメータのネットワークグループ情報として"HOST_NAME／Workgroup：NET_1G"という文字列が抽出される。
【０１８０】
さらに機器情報データパース部６１は、"＜wsa：Address＞"タグ７１ｚによって定義される所定の文字列を、機器情報７１を応答したＰＣを特定する送信元識別情報（図中の「uuid」）として抽出する。
【０１８１】
このように、機器情報データパース部６１は、解析対象の機器情報７１が、ＰＣから送信された情報か、ＰＣ以外のＷＳＤ機器から送信された情報かを判断し、ＰＣから送信された機器情報７１と判断した場合に、カテゴリ情報［提供サービス種］とネットワークグループ情報との各判定パラメータの実値（所定の文字列）を取得する。
【０１８２】
（外部機器からの機器情報：ＷＳＤ機器から）
図１３は、本発明の第１の実施形態に係る取得した機器情報（ＧｅｔＲｅｓｐｏｎｓｅメッセージ）７１の一例（その２）を示す図である。例えば外部機器２００がＰＣ以外のＷＳＤ機器の場合には、図１３のようなGetResponseメッセージを機器情報７１として要求元の画像形成装置１００に送信する。
【０１８３】
機器情報データパース部６１は、まず、機器情報７１の"＜wsdp：Types＞"タグ７１ａによって定義される所定の文字列を、判定パラメータのカテゴリ情報［提供サービス種］として抽出する。例えば図１３に示す機器情報７１の場合には、判定パラメータのカテゴリ情報［提供サービス種］として"wprt：PrinterServiceType"という文字列が抽出される。
【０１８４】
またプリンタやスキャナといったＷＳＤ機器が有する各機能は、機器情報７１の"＜wsdp：Hosted＞"タグＦＵＮ１やＦＵＮ２によって定義される。このようなデータ構成により、機器情報７１の中には複数の機能を定義することができる。よって機器情報データパース部６１は、判定パラメータのカテゴリ情報［提供サービス種］を１つ又は複数抽出する。
【０１８５】
機器情報データパース部６１は、カテゴリ情報［提供サービス種］に"Computer"が含まれておらず、ＰＣ以外のＷＳＤ機器の機器情報７１であると判断した場合（機器種別に応じて）、"＜wsdp：Manufacturer＞"タグ７１ｂによって定義される所定の文字列を、判定パラメータのカテゴリ情報［デバイス種］として抽出する。例えば図１３に示す機器情報７１の場合には、判定パラメータのカテゴリ情報［デバイス種］として"BENDER_NAME"という文字列が抽出される。また、"＜wsdp：FriendlyName＞"タグ７１ｄによって定義される所定の文字列を、判定パラメータの機能提供種別情報として抽出する。例えば図１３に示す機器情報７１の場合には、判定パラメータの機能提供種別情報として"BENDER_NAME WS-PTR"という文字列が抽出される。
【０１８６】
さらに機器情報データパース部６１は、"＜wsa：Address＞"タグ７１ｚによって定義される所定の文字列を、機器情報７１を応答したＷＳＤ機器を特定する送信元識別情報（図中の「http」）として抽出する。
【０１８７】
このように、機器情報データパース部６１は、解析対象の機器情報７１が、ＰＣ以外のＷＳＤ機器から送信された機器情報７１と判断した場合に、カテゴリ情報［提供サービス種］と、カテゴリ情報［デバイス種］と、機能提供種別情報との各判定パラメータの実値（所定の文字列）を取得する。
【０１８８】
このように、機器情報取得マネージャ３６では、機器情報７１を送信した外部機器２００の機器特性に応じて判定パラメータの抽出・取得を行う。
【０１８９】
（２）利用制限に応じた機能提供処理（機能提供判定処理）
続いて、機器情報取得マネージャ３６は、取得した判定パラメータと予め設定された制御パラメータとに基づき、外部機器２００の特性に応じた利用制限に従って機能提供を行うことを決定する。以下に機器情報取得マネージャ３６による「利用制限に応じた機能提供（機能提供判定）」に関する処理手順を説明する。
【０１９０】
図１４は、本発明の第１の実施形態に係る機器情報取得マネージャ３６の処理手順の一例（機能提供処理）を示すフローチャートである。
【０１９１】
機器情報取得マネージャ３６は、提供機能制御部６４が、判定パラメータ保持部６２によって取得された判定パラメータと、制御パラメータ設定部６３によって設定された制御パラメータとに基づき、自機が有する機能のうち、外部機器２００の特性に応じた利用制限に従って、外部機器２００に機能提供が可能か否かを決定する（ステップＳ６０１）。提供機能制御部６４は、機器特性情報である判定パラメータと利用制限情報である制御パラメータとを比較し、機器特性に応じた利用制限に従って機能提供判定を行い、その判定結果（比較結果）に基づき、機能提供を行うか否かを決定する。
【０１９２】
ステップＳ６０１の判定において、外部機器２００へ機能提供を行うと判断した場合（ステップＳ６０１：「機能提供する」）には、提供機能制御部６４が、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２Sを起動する（ステップＳ６０５）。すなわち、提供機能制御部６４は、機能提供を行うとする判定結果の場合に、提供を行うと決定した機能の起動を、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２Sへ指示する。
【０１９３】
また、ステップＳ６０１の判定において、外部機器２００へ機能提供を行わないと判断した場合（ステップＳ６０１：「機能提供しない」）には、提供機能制御部６４が、ネットワークに新たな外部機器２００が参加したか否かを確認する（ステップＳ６０２）。以降スステップＳ６０３からＳ６０４の処理手順は、図１０のステップ５０２からＳ５０５の「ネットワークに参加した新たな外部機器２００から機器情報７１を取得し判定パラメータを保持する」という処理手順と同じであることから、ここでの説明は省略する。
【０１９４】
（判定パラメータと機能提供判定との対応付け）
では、上記ステップＳ６０１の処理手順において「判定パラメータと制御パラメータとを比較した比較結果に基づき、機能提供判定を行う」ために、機器特性情報である判定パラメータと、判定パラメータに対応する（機器特性に応じた）提供機能判定内容とは、予め所定の利用制限規則として決められている。
【０１９５】
図１５は、本発明の第１の実施形態に係るパース結果に基づく各種判定内容の一例を示す図である。提供機能制御部６４は、図１５に示す内容の各種判定処理を行う。
【０１９６】
提供機能制御部６４は、機器情報データパース部６１が、機器情報７１内の各タグデータ７１ａから７１ｄから取得した各種判定パラメータに基づき、以下に挙げる判定処理を行う。
【０１９７】
・機能利用対象機器判定処理
機能利用対象機器判定処理は、"＜wsdp：Types＞"タグ７１ａに定義されたデータから取得した判定パラメータのカテゴリ情報［提供サービス種］の文字列データ内に、"Computer"という文字列が含まれているか否かを判定する（所定の文字列が含まれているかを検索する）ことで、外部機器２００がＰＣかＰＣ以外のＷＳＤ機器か（機器種別）を判定する。
【０１９８】
・機能提供対象ベンダ判定処理
機能提供対象ベンダ判定処理は、"＜wsdp：Manufacturer＞"タグ７１ｂに定義されたデータから取得した判定パラメータのカテゴリ情報［デバイス種］の文字列データ内に、制御パラメータとして設定しておいたベンダ名を表す文字列が含まれているか否かを判定することで、外部機器２００がＰＣ以外のＷＳＤ機器の場合に、機器のベンダが、登録されたベンダ（機能提供を許可されたベンダ）か否かを判定する。
【０１９９】
・提供機能対象グループ判定処理
提供機能対象グループ判定処理は、"＜pub：Computer＞"タグ７１ｃに定義されたデータから取得した判定パラメータのネットワークグループ情報の文字列データ内に、制御パラメータとして設定しておいたグループ名を表す文字列が含まれているか否かを判定することで、外部機器２００がＰＣの場合に、ＰＣが参加するネットワークグループが、登録されたグループ（機能提供を許可されたグループ）か否かを判定する。
【０２００】
・提供機能判定処理
提供機能判定処理は、"＜wsdp：FriendlyName＞"タグ７１ｄに定義されたデータから取得した判定パラメータの機能提供種別情報の文字列データ内に、制御パラメータとして設定しておいた搭載機能を表す文字列が含まれているか否かを判定することで、外部機器２００がＰＣ以外のＷＳＤ機器の場合に、ＷＳＤ機器が有する機能が、登録された機能（機能提供を許可された機能種別）か否かを判定する。
【０２０１】
上記各種判定処理には、どの順序で判定処理を行い、機能提供の可否を決定するかを示す判定順序が予め決められている。提供機能制御部６４は、この判定順序に従って処理を行う。なお上記判定順序は、システム上で最適な利用制限を実現するための順序になっていればよく、この順序に本発明が限定されるものではない。
【０２０２】
（判定処理の詳細）
以下に、上記に説明を行った機能提供判定処理の動作について説明する。図１６は、本発明の第１の実施形態に係る機器情報取得マネージャ３６の処理手順の一例（機能提供判定処理）を示すフローチャートである。図１６に示す処理手順は、図１４に示すステップＳ６０１の詳細な処理手順にあたる。
【０２０３】
機器情報取得マネージャ３６は、提供機能制御部６４によって、取得した全ての判定パラメータのカテゴリ情報［提供サービス種］に基づいて、外部機器２００の中に、自機の機能を利用するユーザの端末であるＰＣが１台以上存在するか否かを判定する（ステップＳ７０１：機能利用対象機器判定処理）。
【０２０４】
ステップＳ７０１の判定（機能利用対象機器判定）において、ユーザの端末であるＰＣが１台も存在しないと判断された場合には（ステップＳ７０１：ＮＯ）、機能を利用するユーザが存在しないことから、機能提供を行わない（図１４のステップＳ６０１で「機能提供しない」と判定）。
【０２０５】
また、ステップＳ７０１の判定において、ＰＣが１台以上存在すると判断された場合には（ステップＳ７０１：ＹＥＳ）、取得した各判定パラメータのカテゴリ情報［提供サービス種］が、"Computer"という文字列を含んでいるか否かを判定する（ステップＳ７０２）。すなわち、外部機器２００がＰＣか、プリンタやスキャナなどのＷＳＤ機器かを判定する。ここで提供機能制御部６４が、ＰＣかＰＣ以外のＷＳＤ機器かを判定するのは、ＰＣとＷＳＤ機器とで以降の処理手順が異なるためである。
【０２０６】
ステップＳ７０２の判定において、"Computer"という文字列を含み外部機器２００がＰＣであると判断された場合には（ステップＳ７０２：ＹＥＳ）、判定パラメータと制御パラメータとのネットワークグループ情報を比較（文字列比較）し、比較結果が一致するか否かを判定する（ステップＳ７０６：機能提供対象グループ判定処理）。すなわち、利用許可／不許可を、予め制御パラメータとしてネットワークグループ単位で登録しておいた利用制限に従って、利用許可されたグループに属するＰＣか否かを判定する。
【０２０７】
ステップＳ７０６の判定（機能提供対象グループ判定）において、比較結果が一致し、利用許可されたグループに属するＰＣであると判断された場合には（ステップＳ７０６：ＹＥＳ）、提供機能制御部６４が、判定中のＰＣへの機能提供を決定し（ステップＳ７０７）、その結果を、ＰＣを特定する識別情報と対応付けてＨＤＤ１７に格納し、判定結果情報８１として保持する（ステップＳ７０８）。
【０２０８】
また、ステップＳ７０６の判定において、比較結果が一致し、利用許可されたグループに属するＰＣでないと判断された場合には（ステップＳ７０６：ＮＯ）、提供機能制御部６４が、判定中のＰＣへ機能提供を行わず、ステップＳ７０８の処理手順へ移行する。
【０２０９】
また、ステップＳ７０２の判定において、外部機器２００がＰＣ以外のＷＳＤ機器であると判断された場合には（ステップＳ７０２：ＮＯ）、判定パラメータと制御パラメータとのカテゴリ情報［デバイス種］を比較（文字列比較）し、比較結果が一致するか否かを判定する（ステップＳ７０３：機能提供対象ベンダ判定処理）。すなわち、利用許可／不許可を、予め制御パラメータとしてベンダ単位で登録しておいた利用制限に従って、利用許可されたベンダに属するＷＳＤ機器か否かを判定する。
【０２１０】
ステップＳ７０３の判定（機能提供対象ベンダ判定）において、比較結果が一致し、利用許可されたベンダに属するＷＳＤ機器であると判断された場合には（ステップＳ７０３：ＹＥＳ）、さらに判定パラメータと制御パラメータとの機能提供種別情報を比較（文字列比較）し、比較結果が一致するか否かを判定する（ステップＳ７０４：機能提供判定処理）。すなわち、利用許可／不許可を、予め制御パラメータとして機能単位で登録しておいた利用制限に従って、機能ごとに利用許可されたＷＳＤ機器か否かを判定する。
【０２１１】
ステップＳ７０４の判定（機能提供判定）において、比較結果が一致し、機能ごとに利用許可されたＷＳＤ機器であると判断された場合には（ステップＳ７０４：ＹＥＳ）、提供機能制御部６４が、判定中のＷＳＤ機器への機能提供を決定し（ステップＳ７０５）、その結果を、ＷＳＤ機器を特定する識別情報と対応付けてＨＤＤ１７に格納し、判定結果情報８１として保持する（ステップＳ７０８）。
【０２１２】
また、上記ステップ７０３の判定（機能提供対象ベンダ判定）において、比較結果が一致し、利用許可されたベンダに属するＷＳＤ機器でないと判断された場合（ステップＳ７０３：ＮＯ）、もしくは上記ステップＳ７０４の判定（提供機能判定）において、比較結果が一致し、機能ごとに利用許可されたＷＳＤ機器でないと判断された場合には（ステップＳ７０４：ＮＯ）、提供機能制御部６４が、判定中のＷＳＤ機器へ機能提供を行わず、ステップＳ７０８の処理手順へ移行する。
【０２１３】
このように、機器情報取得マネージャ３６では、提供機能制御部６４による上記ステップＳ７０１（機能利用対象機器判定）、Ｓ７０３（機能提供対象ベンダ判定）、Ｓ７０４（提供機能判定）、およびＳ７０６（機能提供対象グループ判定）の各判定結果に基づき、外部機器２００の特性に応じた利用制限に従って提供機能を制御している。
【０２１４】
（判定結果と提供機能制御との対応付け）
以下に、各判定結果と提供機能制御の動作との対応関係について簡単にまとめる。図１７は、本発明の第１の実施形態に係る判定結果に対応した動作内容の一例を示す図である。提供機能制御部６４は、図１７に示す提供機能制御を行う。
【０２１５】
提供機能制御部６４は、各種判定処理による判定結果に基づき、以下に挙げる提供機能制御を行う。
【０２１６】
・機能利用対象機器判定処理
機能利用対象機器判定処理では、判定パラメータのカテゴリ情報［提供サービス種］に基づいて、ネットワークに接続される外部機器２００の中で、ＰＣが１台も存在しないと判断すると、ユーザが機能使用を要求する機器がないとして（機能を利用する機器がないとして）、ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２Sを起動せず、全ての機能を提供しない。
【０２１７】
・機能提供対象ベンダ判定処理
機能提供対象ベンダ判定処理では、判定パラメータのカテゴリ情報［デバイス種］に基づいて、登録されたベンダであると判断すると、ＰＣ以外のＷＳＤ機器に機能を提供する。また、登録されていないベンダであると判断すると機能提供を行わない。さらにベンダの登録がない場合（制御パラメータとして設定されていない場合）には全ての機能を提供する。
【０２１８】
・提供機能対象グループ判定処理
提供機能対象グループ判定処理は、判定パラメータのネットワークグループ情報に基づいて、登録されたグループであると判断すると、該当したグループに参加しているＰＣに対して機能を提供する。また、登録されていないグループであると判断するとグループに参加しているＰＣに対して機能提供を行わない。さらにグループの登録がない場合には全ての機能を提供する。
【０２１９】
・提供機能判定処理
提供機能判定処理は、判定パラメータの機能提供種別情報に基づいて、登録された機能であると判断すると、該当する機能を搭載したＰＣ以外のＷＳＤ機器に機能を提供する。また、登録されていない機能であると判断すると機能提供を行わない。さらに機能の登録がない場合には全ての機能を提供する。
【０２２０】
・その他
上記機能提供対象ベンダ判定処理、提供機能対象グループ判定処理、および提供機能判定処理において、各判定パラメータの文字列内に、制御パラメータとして設定されている特定の文字列が含まれていた場合に、全ての機能を提供しない。上記特定の文字列とは、例えば"NOWSD"などのような標準化Ｗｅｂサービスによって機能提供しないことを表す文字列を意味し、制御パラメータとして設定することができる。
【０２２１】
提供機能制御部６４は、上記各種判定処理の判定結果に基づき、外部機器２００への提供機能を制御する。
【０２２２】
（判定結果）
また、提供機能制御部６４が上記提供機能制御の中で行った判定結果は、判定対象とした外部機器２００ごとに判定結果情報８１として保持される。図１８は、本発明の第１の実施形態に係る判定結果情報８１の一例を示す図である。
【０２２３】
図１８に示すように、判定結果情報８１は、機器情報７１から取得した外部機器２００を特定する送信元識別情報と機能提供を行うか否かの判定結果とが対応付けられている。このようなデータ構成により、例えば、ネットワークに外部機器２００が参加した場合に、外部機器２００の識別情報に基づき判定結果情報８１を参照することで、既に機能提供判定を行ったか否か、すなわち提供機能が決定されているか否かを簡便に確認することができる。
【０２２４】
このように、機器情報取得マネージャ３６では、外部機器２００から取得した機器情報１７に基づいて、機器特性に応じた利用制限に従って機能提供を行うか否かを決定し、外部機器２００への提供機能を制御する。
【０２２５】
《機能使用要求を受け付けた場合の処理》
ここまで、図６のステップＳ１０８の処理手順における「機器情報取得マネージャ３６が、外部機器２００の機器情報７１に基づいて、外部機器２００の特性に応じた利用制限に従って、自機が有する機能が外部機器２００へ提供可能な機能か否かを判定する」機能提供判定処理について説明を行った。
【０２２６】
ここからは、本実施形態に係る画像形成装置１００が、外部機器２００から機器情報７１を取得済みで、かつ機能提供判定処理を終え、その結果が判定結果情報８１として保持されている状態で（外部機器２００が機能の使用要求を行う前の段階において、外部機器２００の特性に応じた利用制限に従って機能提供を行うことが決定済みの状態で）、外部機器２００から機能の使用要求を受信した場合の動作について説明する。
【０２２７】
以下に機器情報取得マネージャ３６による「機能使用要求の受け付け」に関する処理手順について説明する。図１９は、本発明の第１の実施形態に係る機器情報取得マネージャ３６の処理手順の一例（機能使用要求受付処理）を示すフローチャートである。
【０２２８】
機器情報取得マネージャ３６は、ネットワークに接続される外部機器２００から機能使用要求があったか否かを確認する（ステップＳ８０１）。ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sは、ネットワークに接続される外部機器２００からの機能使用要求（例えば印刷データを送信するときの印刷要求メッセージ。）を受信すると、機器情報取得マネージャ３６へ、機能の使用が要求された旨を通知する。これによって、機器情報取得マネージャ３６は、ネットワークに接続される外部機器２００からの機能使用要求の有無を確認する。
【０２２９】
ステップＳ８０１において、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sからの通知がない間は（ステップＳ８０１：ＮＯ）、通知を受け、外部機器２００の機能使用要求が確認されるまで待つ。
【０２３０】
一方、ステップＳ８０１において、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sからの通知により、外部機器２００の機能使用要求が確認されると（ステップＳ８０１：ＹＥＳ）、機器情報取得マネージャ３６は、既に機能提供判定を行ったときに保持しておいた判定結果情報８１を、要求元の外部機器２００を特定する識別情報を基に参照し（ステップＳ８０２）、外部機器２００が機能提供判定済みのＷＳＤ機器か否かを判定する（ステップＳ８０３）。
【０２３１】
ステップＳ８０３の判定において、外部機器２００が機能提供判定済みのＷＳＤ機器であると判断された場合には（ステップＳ８０３：ＹＥＳ）、現在起動中のＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２Sに通常処理（提供機能の通常処理）を指示し（ステップＳ８０４）、処理を終了する。
【０２３２】
また、ステップＳ８０３の判定において、外部機器２００が機能提供判定済みのＷＳＤ機器でないと判断された場合には（ステップＳ８０３：ＮＯ）、ネットワークに新たな外部機器２００が参加したか否かを確認する（ステップＳ８０５）。ＷＳＤ（Ｄｅｖｉｃｅ）サーバ機能部２２SのＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sは、ネットワークに新たに参加した外部機器２００からの接続機器確認要求Ｍ１を受信すると、機器情報取得マネージャ３６へ、新たに参加した外部機器２００の特性確認を指示する。
【０２３３】
ステップＳ８０５において、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sから外部機器２００の特性確認が指示され、新たに参加した外部機器２００が確認されると（ステップＳ８０６：ＹＥＳ）、機器情報取得マネージャ３６は、ＷＳＤ（Ｄｅｖｉｃｅ）クライアント機能部２２CのＷＳ−Ｔｒａｎｓｆｅｒ３２Cを介して、外部機器２００に対し、機器情報取得要求Ｍ２としてGetメッセージを送信する。その結果、機器情報取得マネージャ３６は、ＷＳ−Ｔｒａｎｓｆｅｒ３２Cを介して、外部機器２００から機器情報７１として送信されたGetResponseメッセージを取得する。
【０２３４】
続いて機器情報取得マネージャ３６は、機器情報データパース部６１が、取得された機器情報７１のデータ解析（機器特性の確認）を行い、その解析結果（パース結果）を、判定パラメータとしてＲＡＭ１３ｂに保持する（ステップＳ８０７）。
【０２３５】
また、ステップＳ８０５において、ＷＳ−Ｄｉｓｃｏｖｅｒｙ３１Sから外部機器２００の特性確認が指示されず、新たに参加した外部機器２００が確認されなかった場合に（ステップＳ８０６：ＮＯ）、機器情報取得マネージャ３６は、制御パラメータの設定通知を受け付けたか否かを判断する（ステップＳ８０８）。
【０２３６】
ステップＳ８０８の判定において、制御パラメータの設定通知を受け付けていないと判断された場合には（ステップＳ８０８：ＮＯ）、処理を終了する。また、ステップＳ８０８の判定において、制御パラメータの設定通知を受け付けたと判断された場合には（ステップＳ８０８：ＹＥＳ）、制御パラメータ設定部６３が、例えば操作パネル１１を介して受け付けた制御パラメータを、ＨＤＤ１７に格納し、提供機能の制御値（利用制限情報）として設定する（ステップＳ８０９）。
【０２３７】
上記ステップＳ８０１からＳ８０９の処理手順は、画像形成装置１００が起動後、例えば自機が備える時計回路（非図示）から得られる時間情報に基づき、予め設定しておいた経過時間に従って定期的に（一定の周期で）実行される。
【０２３８】
このように、機器情報取得マネージャ３６では、一度判定を行った結果に基づき、外部機器２００への提供機能制御を行う。
【０２３９】
＜まとめ＞
以上のように、本発明の第１の実施形態によれば、本実施形態に係る画像形成装置１００は、これまで外部機器２００から要求された情報を提供する手段、すなわちサーバ機能に加えて、自らが情報取得要求を行い、必要な情報を取得する手段、すなわちクライアント機能を有する構成としたことによって、外部機器２００が機能の使用要求を行う前の段階において、ＷＳＤに従って、ネットワークに接続される外部機器２００から機器情報７１を取得し、取得した機器情報７１から外部機器２００の特定を確認し、その特定に応じた利用制限に従って機能提供を行う否かを決定し、決定結果に基づいて自機が搭載する機能を起動し、機能提供を開始する。
【０２４０】
これによって、画像形成装置１００では、当該画像形成装置１００が自機以外で、どのような外部機器２００がネットワークに接続されているかを能動的に知ることが可能となり、外部機器２００に対して、機器特性に応じた提供機能制御を簡便に行うことができる。また、機能の使用要求が行われる前の段階において、特定の外部機器２００へ提供する機能を制限することも可能となる。
【０２４１】
さらには、本実施形態に係る画像形成装置１００を含むシステムにおいて、例えばユーザの端末が、標準化Ｗｅｂサービス機能をサポートしていない機器（非ＷＳＤ機器）であるような場合など、機器の構成上、標準化Ｗｅｂサービス機能を使用する可能性が低い（使用頻度の少ない）環境の場合には、システム内に含まれる各ＷＳＤ機器の標準化Ｗｅｂサービス機能を動的に停止することができ、機器内の消費電力や消費リソースの低減を図ることが期待できる。
【０２４２】
ところで、上記実施形態に係る画像形成装置１００が有する「提供機能制御」は、図を用いて説明を行った各処理手順を、コントローラ１３の動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムとしてコンピュータで実行することで実現することができる。よって、提供機能制御プログラムは、コンピュータが読み取り可能な記録媒体１２ｂに格納することができる。
【０２４３】
また、上記提供機能制御プログラムは、フロッピー（登録商標）ディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）などの記録媒体１２ｂに記憶させることによって、これらの記録媒体１２ｂを読み取り可能なドライブ装置１２ａにセットすることで、画像形成装置１００にインストールすることができる。また、画像形成装置１００は、ネットワークなどのデータ伝送路（非図示）に接続可能なデータ通信Ｉ／Ｆ１４を備えていることから、インターネットなどの電気通信回線を介してプログラムをダウンロードし、インストールすることもできる。
【０２４４】
これまで、上記実施形態に基づき本発明の説明を行ってきた。その中で、上記実施形態では、各判定パラメータと制御パラメータとに基づいて機能提供を決定する処理について説明を行ったが、これらのパラメータに、本発明が限定されるものではない。判定パラメータは機器情報７１から取得可能な実値（数値や文字列など）であればよく、システムにおいて実現したい利用制限を基に、取得する判定パラメータを変更してもよい。また制御パラメータは、提供機能を制御するための制御値であることから、判定パラメータに準じた制御値が用意されていればよい。
【０２４５】
最後に、上記実施形態に挙げた形状に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【図面の簡単な説明】
【０２４６】
【図１】本発明の第１の実施形態に係る画像形成装置のハードウェア構成の一例を示す図である。
【図２】本発明の第１の実施形態に係る画像形成装置のソフトウェア構成の一例を示す図である。
【図３】本発明の第１の実施形態に係るＮＣＳのソフトウェア構成の一例を示す図である。
【図４】本発明の第１の実施形態に係るＷＳ−ＭＦＰモジュール群のソフトウェア構成の一例を示す図である。
【図５】本発明の第１の実施形態に係る提供機能制御の機能構成の一例を示す図である。
【図６】本発明の第１の実施形態に係る画像形成装置と外部機器（ＷＳＤ機器）とのデータ送受信動作の処理手順の一例（その１）を示すシーケンス図である。
【図７】本発明の第１の実施形態に係る画像形成装置と外部機器（ＷＳＤ機器）とのデータ送受信動作の処理手順の一例（その２）を示すシーケンス図である。
【図８】本発明の第１の実施形態に係る画像形成装置と外部機器（ＷＳＤ機器）とのデータ送受信動作の処理手順の一例（その３）を示すシーケンス図である。
【図９】本発明の第１の実施形態に係る画像形成装置と外部機器（ＷＳＤ機器）とのデータ送受信動作の処理手順の一例（その４）を示すシーケンス図である。
【図１０】本発明の第１の実施形態に係る機器情報取得マネージャの処理手順の一例（パラメータ取得・設定処理）を示すフローチャートである。
【図１１】本発明の第１の実施形態に係る機器情報取得要求（Ｇｅｔメッセージ）の一例を示す図である。
【図１２】本発明の第１の実施形態に係る取得した機器情報（ＧｅｔＲｅｓｐｏｎｓｅメッセージ）の一例（その１）を示す図である。
【図１３】本発明の第１の実施形態に係る取得した機器情報（ＧｅｔＲｅｓｐｏｎｓｅメッセージ）の一例（その２）を示す図である。
【図１４】本発明の第１の実施形態に係る機器情報取得マネージャの処理手順の一例（機能提供処理）を示すフローチャートである。
【図１５】本発明の第１の実施形態に係るパース結果に基づく各種判定内容の一例を示す図である。
【図１６】本発明の第１の実施形態に係る機器情報取得マネージャの処理手順の一例（機能提供判定処理）を示すフローチャートである。
【図１７】本発明の第１の実施形態に係る判定結果に対応した動作内容の一例を示す図である。
【図１８】本発明の第１の実施形態に係る判定結果情報の一例を示す図である。
【図１９】本発明の第１の実施形態に係る機器情報取得マネージャの処理手順の一例（機能使用要求受付処理）を示すフローチャートである。
【符号の説明】
【０２４７】
１１    操作パネル
１１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：クライアント機能部）
５１    ＩＭＣ
６１    機器情報データパース部
６２    判定パラメータ保持部
６３    制御パラメータ設定部
６４    提供機能制御部
６５    判定済み外部機器確認部
７１    機器情報（ＧｅｔＲｅｓｐｏｎｓｅメッセージ）
８１    判定結果情報
１００  画像形成装置
１０１  ハードウェアリソース
１０２  エンジンＩ／Ｆ
１０３  ＡＰＩ
１１０  ソフトウェア群
１１１  プリンタアプリ
１１２  コピーアプリ
１１３  ファクスアプリ
１１４  スキャナアプリ
１１５  ネットファイルアプリ
１１６  工程検査アプリ
１１７  配信アプリ
１２０  プラットフォーム
１２１  ＯＳ
１２２  ＳＣＳ
１２３  ＳＲＭ
１２４  ＥＣＳ
１２５  ＭＣＳ
１２６  ＯＣＳ
１２７  ＦＣＳ
１２８  ＮＣＳ
１２９  ＩＭＨ
１３０  アプリケーション
１４０  起動部
１５０  コントロールサービス
２００  外部機器（ＷＳＤ機器）
ＦＵＮ  提供可能な機能を表したデータ範囲
Ｍ１    接続機器確認要求（Ｐｒｏｂｅメッセージ）
Ｍ２    機器情報取得要求（Ｇｅｔメッセージ）
Ｍ３    機能提供（許可）応答（Ｈｅｌｌｏメッセージ）
【図１】
2009278336.tif 000003
【図２】
2009278336.tif 000004
【図３】
2009278336.tif 000005
【図４】
2009278336.tif 000006
【図５】
2009278336.tif 000007
【図６】
2009278336.tif 000008
【図７】
2009278336.tif 000009
【図８】
2009278336.tif 000010
【図９】
2009278336.tif 000011
【図１０】
2009278336.tif 000012
【図１１】
2009278336.tif 000013
【図１２】
2009278336.tif 000014
【図１３】
2009278336.tif 000015
【図１４】
2009278336.tif 000016
【図１５】
2009278336.tif 000017
【図１６】
2009278336.tif 000018
【図１７】
2009278336.tif 000019
【図１８】
2009278336.tif 000020
【図１９】
2009278336.tif 000021