(57)【要約】【課題】実際に実行可能なオペレーションのインターフェース情報のみを公開することが可能なデータ処理装置を提供する。【解決手段】データ処理装置１００は、装備情報取得部１２１１がハードディスク１４１、フィニッシャ１９１、両面装置１９２などの各種装置の有無や詳細な情報を取得する。ＷＳＤＬ生成部１２１２は、装備情報取得部１２１１が取得した各種装置の有無や詳細な情報に応じて、プリンタ１００のＷＳＤＬファイルを生成する。【選択図】      図２
2005038016.tif 000002
【特許請求の範囲】
【請求項１】
外部の情報処理装置と通信可能なデータ処理装置において、
前記データ処理装置の状態に関する状態情報を取得するための取得手段と、
前記データ処理装置が提供するサービスを利用する場合に参照する、当該サービスに関する情報が所定の言語で記述されるサービス記述情報を、前記取得手段によって取得された状態情報に従って生成する生成手段と、
前記生成手段によって生成されたサービス記述情報を情報処理装置に対して送信する送信手段とを有することを特徴とするデータ処理装置。
【請求項２】
前記サービス記述情報は、ＷＳＤＬ（ウェブサービス記述言語）に準拠した形式で記述されていることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記状態情報は、前記データ処理装置に装着された装備に関する装備情報を含み、前記生成手段は、前記データ処理装置に装着された装備に従って前記サービス記述情報を生成することを特徴とする請求項１又は２記載のデータ処理装置。
【請求項４】
前記データ処理装置が提供するサービスを利用する前記情報処理装置は、前記送信手段によって送信されたサービス記述情報を解析して、前記データ処理装置が現在の状態において対応可能なオペレーションと、当該オペレーションで指定可能な引数とを認識することを特徴とする請求項１乃至３のいずれか１項に記載のデータ処理装置。
【請求項５】
前記サービス記述情報を生成するタイミングは、起動時、あらかじめ定められた時間が経過する都度、または前記装備情報が変更されるイベントが発生する都度のうちの少なくとも１つのタイミングであることを特徴とする請求項１乃至４のいずれか１項に記載のデータ処理装置。
【請求項６】
前記送信手段は、前記生成手段によって生成されたサービス記述情報をサーバに登録するために、当該サービス記述情報を当該サーバとしての情報処理装置に送信し、
前記データ処理装置が提供するサービスを利用する情報処理装置は、前記サーバに、前記サービス記述情報を要求することを特徴とする請求項１乃至５のいずれか１項に記載のデータ処理装置。
【請求項７】
外部の情報処理装置と通信可能な画像処理装置において、
前記データ処理装置の状態に関する状態情報を取得するための取得手段と、
前記データ処理装置が提供するサービスを利用する場合に参照する、当該サービスに関する情報がＷＳＤＬに準拠した形式でＸＭＬによって記述されるサービス記述情報を、前記取得手段によって取得された状態情報に従って生成する生成手段と、
前記生成手段によって生成されたサービス記述情報を情報処理装置に対して送信する送信手段とを有することを特徴とする画像処理装置。
【請求項８】
外部の情報処理装置と通信可能なデータ処理装置のデータ処理方法において、
前記データ処理装置の状態に関する状態情報を取得するための取得ステップと、
前記データ処理装置が提供するサービスを利用する場合に参照する、当該サービスに関する情報が所定の言語で記述されるサービス記述情報を、前記取得ステップによって取得された状態情報に従って生成する生成ステップと、
前記生成ステップによって生成されたサービス記述情報を情報処理装置に対して送信する送信ステップとを有することを特徴とするデータ処理方法。
【請求項９】
外部の情報処理装置と通信可能なデータ処理装置のデータ処理プログラムであって、
前記データ処理装置の状態に関する状態情報を取得するための取得ステップと、
前記データ処理装置が提供するサービスを利用する場合に参照する、当該サービスに関する情報が所定の言語で記述されるサービス記述情報を、前記取得手段によって取得された状態情報に従って生成する生成ステップと、
前記生成ステップによって生成されたサービス記述情報を情報処理装置に対して送信する送信ステップとを有することをコンピュータに実行させることを特徴とするデータ処理装置のデータ処理プログラム。
【請求項１０】
データ処理装置と情報処理装置とが通信可能なデータ処理システムにおけるデータ処理方法であって、
前記データ処理装置が、前記データ処理装置が提供するサービスを前記情報処理装置が利用する場合に参照する、当該サービスに関する情報が所定の言語で記述されるサービス記述情報を、前記データ処理装置の状態に従って生成する生成ステップと、
前記データ処理装置が、前記生成ステップで生成したサービス記述情報を前記情報処理装置に対して送信する送信ステップと、
前記情報処理装置が、前記送信ステップで送信されたサービス記述情報を受信する受信ステップと、
前記情報処理装置が、前記受信ステップで受信されたサービス記述情報を解析して、前記データ処理装置が提供可能なサービスに関する情報を認識する認識ステップとを有することを特徴とするデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介して印刷ジョブを受信して、プリント出力が可能なデータ処理装置、および、ネットワークを介してデータ処理装置にアクセスするための情報をあらかじめ取得する方法に関する。
【０００２】
【従来の技術】
従来、ホストコンピュータやパーソナルコンピュータなどの情報処理装置が、プリンタに関する属性情報をプリンタから取得して、その属性情報に基づいて、ジョブを発行できるかどうか判断し、判断結果に基づいてジョブの発行を制御することができた（例えば、特許文献１）。
【０００３】
このプリンタでは、様々な種類の属性情報のそれぞれにＩＤが付加されていて、情報処理装置は、このＩＤに基づいて、プリンタの属性情報を取得し認識していた。
【０００４】
【特許文献１】
特開２０００−１３７５９０号公報
【０００５】
【発明が解決しようとする課題】
近年インターネットにおいてＷｅｂサービス技術が大きな注目を集めている。Ｗｅｂサービスは、ネットワーク上に分散する各種サービスを緩やかに結合する技術である。この技術を利用することで、プログラムが人間の手を介さず動的に適切なサービスを選択することが可能であり、目的とする処理を自動的に行える技術として各産業分野から期待されている。
【０００６】
このＷｅｂサービスにおいてやりとりされるデータはＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述されており、このＸＭＬデータはＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）を使用してネットワーク上で通信が行われる。このＳＯＡＰは下位層にＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を利用することが規定されており、Ｗｅｂブラウジングや電子メールと同様にインターネット上で容易に利用することができる。
【０００７】
また、Ｗｅｂサービス技術で利用される技術仕様としてＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）がある。このＷＳＤＬはＷｅｂサービスを呼び出すためのインターフェースを記述するウェブサービス記述言語であり、Ｗｅｂサービスを利用するクライアントの情報処理装置（以下、クライアントと省略する）は、ＷＳＤＬを参照することにより実際の接続方法を確認することが可能である。ＷＳＤＬは、Ｗ３Ｃ（Ｗｏｒｌｄｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）で標準化されており、ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｗｓｄｌからその技術仕様を入手することが可能である。
【０００８】
このＷｅｂサービス技術をプリンティング技術に適用することにより、これまでになかったさまざまなメリットが得られる。例えば、従来のプリンタでは、クライアントが、どのＩＤがどの属性情報に対応しているかを認識し、複数のＩＤを指定して所望の属性情報を取得しなければならなかった。一方、Ｗｅｂサービスを実装したプリンタでは、利用者にとってはプリンタのプリントサービスへのアクセスを柔軟にカスタマイズできるようになる。例えば、プリンタのプリントサービスへの接続方法はＷＳＤＬで記述される。そのため、クライアントは、ＷＳＤＬに基づく一定の規則に従った変換・解釈プログラムを用いることにより、このＷＳＤＬで記述されたファイルを解釈して、利用者が必要としている項目だけを抽出したＧＵＩ（グラフィカルユーザインターフェース）を提供することも可能である。
【０００９】
また、ＷＳＤＬは、プリントジョブ投入の際に指定できるジョブ情報も記述することが可能であり、例えば両面プリントが可能か否かといったことは、ＷＳＤＬを参照することによってあらかじめ知ることも可能である。
【００１０】
このように、さまざまなメリットを持つＷｅｂサービス技術を適用したプリンタが今後ますます開発されていくことが想定される。
【００１１】
上記のようなＷｅｂサービス技術をプリンティング技術に適用していくためには、プリンタ自身が、ＷＳＤＬファイルを生成し、ネットワーク上に公開する必要がある。しかしながら、ＷＳＤＬファイルが各プリンタごとに固定的なものであれば、プリンタの装備情報を含むステータス情報など動的に変化する情報をＷＳＤＬファイルに反映させることができない。
【００１２】
そのため、たとえば、ハードディスクがオプションになっていて出荷時にはハードディスクが装備されていないプリンタのＷＳＤＬファイルでは、「ハードディスクがない」と記述されてしまう。また、ハードディスクがオプションになっていることを考慮して、ハードディスクを使用する場合に必要な情報をＷＳＤＬファイルに記述してしまうと、クライアントは、ハードディスクが装着されているか否かに係らず、ハードディスクを使用したオペレーションをプリンタに対して行ってしまう。
【００１３】
この結果、実際には実行不可能なオペレーションをクライアントがプリンタに送信してしまうという問題点が有った。
【００１４】
本発明の目的は、上記の問題を解決するために、装備情報など動的に変化する状態情報をＷＳＤＬファイルに反映することにより、クライアントがデータ処理装置の現在の状態において提供可能なサービスを認識することが可能なデータ処理装置、当該装置の制御方法、制御プログラム、及び画像形成装置を提供することにある。
【００１５】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載のデータ処理装置は、外部の情報処理装置と通信可能なデータ処理装置において、前記データ処理装置の状態に関する状態情報を取得するための取得手段と、前記データ処理装置が提供するサービスを利用する場合に参照する、当該サービスに関する情報が所定の言語で記述されるサービス記述情報を、前記取得手段によって取得された状態情報に従って生成する生成手段と、前記生成手段によって生成されたサービス記述情報を情報処理装置に対して送信する送信手段とを有することを特徴とする。
【００１６】
請求項２記載のデータ処理装置は、請求項１記載のデータ処理装置において、前記サービス記述情報は、ＷＳＤＬ（ウェブサービス記述言語）に準拠した形式で記述されていることを特徴とする。
【００１７】
請求項３記載のデータ処理装置は、請求項１又は２記載のデータ処理装置において、前記状態情報は、前記データ処理装置に装着された装備に関する情報を含み、前記生成手段は、前記データ処理装置に装着された装備に従って前記サービス記述情報を生成することを特徴とする。
【００１８】
請求項４記載のデータ処理装置は、請求項１乃至３のいずれか１項に記載のデータ処理装置において、前記データ処理装置が提供するサービスを利用する前記情報処理装置は、前記送信手段によって送信されたサービス記述情報を解析して、前記データ処理装置が現在の状態において対応可能なオペレーションと、当該オペレーションで指定可能な引数とを認識することを特徴とする。
【００１９】
請求項５記載のデータ処理装置は、請求項１乃至４のいずれか１項に記載のデータ処理装置において、前記サービス記述情報を生成するタイミングは、起動時、あらかじめ定められた時間が経過する都度、または前記装備情報が変更されるイベントが発生する都度のうちの少なくとも１つのタイミングであることを特徴とする。
【００２０】
請求項６記載のデータ処理装置は、請求項１乃至５のいずれか１項に記載のデータ処理装置において、前記送信手段は、前記生成手段によって生成されたサービス記述情報をサーバに登録するために、当該サービス記述情報を当該サーバとしての情報処理装置に送信し、前記データ処理装置が提供するサービスを利用する情報処理装置は、前記サーバに、前記サービス記述情報を要求することを特徴とする。
【００２１】
上記目的を達成するために、請求項７記載の画像処理装置は、外部の情報処理装置と通信可能な画像処理装置において、前記データ処理装置の状態に関する状態情報を取得するための取得手段と、前記データ処理装置が提供するサービスを利用する場合に参照する、当該サービスに関する情報がＷＳＤＬに準拠した形式でＸＭＬによって記述されるサービス記述情報を、前記取得手段によって取得された状態情報に従って生成する生成手段と、前記生成手段によって生成されたサービス記述情報を情報処理装置に対して送信する送信手段とを有することを特徴とする。
【００２２】
上記目的を達成するために、請求項８記載のデータ処理方法は、外部の情報処理装置と通信可能なデータ処理装置のデータ処理方法において、前記データ処理装置の状態に関する状態情報を取得するための取得ステップと、前記データ処理装置が提供するサービスを利用する場合に参照する、当該サービスに関する情報が所定の言語で記述されるサービス記述情報を、前記取得ステップによって取得された状態情報に従って生成する生成ステップと、前記生成ステップによって生成されたサービス記述情報を情報処理装置に対して送信する送信ステップとを有することを特徴とする。
【００２３】
上記目的を達成するために、請求項９記載のデータ処理プログラムは、外部の情報処理装置と通信可能なデータ処理装置のデータ処理プログラムであって、前記データ処理装置の状態に関する状態情報を取得するための取得ステップと、前記データ処理装置が提供するサービスを利用する場合に参照する、当該サービスに関する情報が所定の言語で記述されるサービス記述情報を、前記取得手段によって取得された状態情報に従って生成する生成ステップと、前記生成ステップによって生成されたサービス記述情報を情報処理装置に対して送信する送信ステップとを有することを特徴とする。
【００２４】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態に係るデータ処理装置を説明する。
【００２５】
図１は、本発明の実施の形態に係るデータ処理装置を有する印刷システムの構築例を示すブロック図である。
【００２６】
印刷システム１ではデータ処理装置１００、ホストコンピュータ２００（情報処理装置）、サーバ３００（情報処理装置）等がネットワーク１０を介して接続されている。データ処理装置１００は例えばレーザビームプリンタなどの画像形成装置であり、ホストコンピュータ２００及びサーバ３００と通信可能である。画像形成装置１００は、ホストコンピュータ２００からプリントジョブを受信して印刷を行う。また、画像形成装置１００は、自身の装備情報を基にＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）ファイルを生成して、ネットワーク１０上に公開する。
【００２７】
この公開方法には２通りあり、画像形成装置１００自身がＷＳＤＬファイルを持つ場合には、公開したＷＳＤＬファイルはホストコンピュータ２００およびサーバ３００から参照可能である。また、画像形成装置１００が生成したＷＳＤＬファイルをサーバ３００に登録し、サーバ３００が画像形成装置１００の代わりにＷＳＤＬファイルを公開することも可能である。この場合には、ホストコンピュータ２００はサーバ３００から画像形成装置１００のＷＳＤＬファイルを取得する。
【００２８】
図２は、図１における画像形成装置１００の構成を示すブロック図である。
【００２９】
なお、ここでは、画像形成装置１００の例にレーザビームプリンタを挙げて説明する。
【００３０】
図２のレーザビームプリンタ１００において、１１０はプリンタＣＰＵ（以下、ＣＰＵ１１０）である。このＣＰＵ１１０はＲＯＭ１２０のプログラム用ＲＯＭ１２１に記憶された制御プログラムに基づいて、システムバス１０１に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース１３０を介して接続される印刷部（プリンタエンジン）１４０に出力情報としての画像信号を出力する。
【００３１】
また、このＲＯＭ１２０のプログラム用ＲＯＭ１２１には、ＣＰＵ１１０が実行可能な制御プログラム等を記憶してある。さらに、ＲＯＭ１２０のフォント用ＲＯＭ１２２には上記出力情報を生成する際に使用するフォントデータ（アウトラインフォントデータを含む）等を記憶し、ＲＯＭ１２０のデータ用ＲＯＭ１２３には、ホストコンピュータ２００上で利用される情報等を記憶している。
【００３２】
ＣＰＵ１１０は、Ｎｅｔｗｏｒｋインターフェース部１５０を介してネットワーク１０上のホストコンピュータ２００との通信処理が可能である。
【００３３】
ＲＡＭ１６０は、主としてＣＰＵ１１０の主メモリ、ワークエリア等として機能し、不図示の増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１６０は、出力情報展開領域、環境データ格納領域等に用いられる。
【００３４】
ハードディスク（ＨＤ）、ＩＣカード等の外部記憶装置１４１は、ディスクコントローラ（ＤＫＣ）１７０によりアクセスが制御される。ハードディスクは、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶したり、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。操作パネル１４２は、ユーザがソフトウェアキーから各種情報を入力するものである。
【００３５】
前述した外部記憶装置１４１は少なくとも１個以上備えられており、内蔵フォントに加えてオプションフォントカードや言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。不揮発性メモリ１８０は、操作パネル１４２からのプリンタモード設定情報をユーザ別、グループ別に記憶している。
【００３６】
また、プリンタ１００にはさらにオプション品である、ステープルやソート機能を行うフィニッシャ１９１（図３参照）、両面印刷機能を実現するための両面装置１９２（図３参照）など各種拡張装置を装着することが可能であり、それらの動作はＣＰＵ１１０によって制御される。
【００３７】
図３は、図２におけるＣＰＵ１１０により実行されるプログラムのソフトウエアブロックおよび周辺装置を示すブロック図である。
【００３８】
プログラム１２１０はプログラム用ＲＯＭ１２１に格納されており、装備情報取得部１２１１（取得手段）、ＷＳＤＬ生成部１２１２（生成手段）、Ｗｅｂサーバ部１２１３（送信手段）から成る。装備情報取得部１２１１は、オプションでプリンタ１００に装着されるハードディスク１４１（装備）、フィニッシャ１９１（装備）、両面装置１９２（装備）などの各種装置と通信して、それらの有無や詳細な情報（装備情報）を取得する。また、装備情報取得部１２１１は、装備情報に限らずプリンタの種々の状態に関する状態情報を取得することもできる。
【００３９】
ＷＳＤＬ生成部１２１２は、後述するように、装備情報取得部１２１１と通信して、プリンタ１００のＷＳＤＬファイルを生成する。Ｗｅｂサーバ部１２１３は、生成されたＷＳＤＬファイルをＮｅｔｗｏｒｋインターフェース部１４３を介してネットワーク１０上に公開し、ＨＴＴＰプロトコルを使用したリモートからのＷＳＤＬファイル受信要求に対して、ＷＳＤＬファイルを送信する。
【００４０】
図４は、図３におけるＷＳＤＬ生成部１２１２がＷＳＤＬファイルを生成する際の処理を示すフローチャートである。
【００４１】
先ず、ステップＳ４０１でプリンタ１００の電源が入りプログラムが起動すると、ステップＳ４０２において装備情報取得部１２１１がハードディスク１４１、両面装置１９２などのオプション装置の接続の有無や詳細情報を取得して、ＷＳＤＬ生成部１２１２に送信する。ステップＳ４０３においてＷＳＤＬ生成部１２１２は後述の例のように、装備情報に基づいてＷＳＤＬファイルを生成し、Ｗｅｂサーバ部１２１３に送信する。その後、ステップＳ４０４においてＷｅｂサーバ部１２１３は、生成されたＷＳＤＬファイルをネットワーク１０上に公開する。
【００４２】
図５は、図４のフローチャートにおけるステップＳ４０３のＷＳＤＬファイルの生成を詳細に示すフローチャートである。図６乃至図８は、図４におけるステップＳ４０３で生成されるＷＳＤＬファイルの例を示す図である。
【００４３】
ＷＳＤＬファイルは図６から図８までに示した順に続いている。なお、ＷＳＤＬファイル生成のアルゴリズムはさまざまにカスタマイズすることが可能であるが、ここではその一例を示す。
【００４４】
図６乃至図８に示すように、ＷＳＤＬファイルはｔｙｐｅｓ部６０１、ｍｅｓｓａｇｅ部６０２、ｐｏｒｔＴｙｐｅ部６０３、ｂｉｎｄｉｎｇ部６０４、ｓｅｒｖｉｃｅ部６０５からなる。
【００４５】
図５に示すように、始にステップＳ５０１において、ＷＳＤＬファイルのベースとなるスケルトンを生成する。このスケルトンは、オプション装置がまったく装着されていない場合に利用可能なオペレーションの記述であり、単純なジョブ投入が可能であることを示すＰｒｉｎｔＪｏｂオペレーションなどが記述されている。
【００４６】
次にステップＳ５０２においては、両面装置１９２が装着されているか否かを判定する。両面装置１９２が装着されていると判定された場合には、クライアントはＰｒｉｎｔＪｏｂオペレーション実行時に両面指定が可能であるので、ステップＳ５０３において、ｔｙｐｅｓ部６０１に、長辺綴じおよび短辺綴じが可能であることを示す記述６０６を追加する。
【００４７】
続いて、ステップＳ５０４において、ハードディスク１４１が装着されているか否かを判定する。ハードディスク１４１が装着されていると判定された場合には、クライアントは、ＰｒｉｎｔＪｏｂオペレーションに加え、ハードディスク１４１にスプールされたジョブの一時停止／再開を行うためのＰａｕｓｅＪｏｂ／ＲｅｓｕｍｅＪｏｂオペレーションが使用可能となる。そこで、ステップＳ５０５において、ＰａｕｓｅＪｏｂ／ＲｅｓｕｍｅＪｏｂ用の記述６０７ａ、６０７ｂ、６０７ｃ、６０７ｄをｔｙｐｅｓ部６０１、ｍｅｓｓａｇｅ部６０２、ｐｏｒｔＴｙｐｅ部６０３、ｂｉｎｄｉｎｇ部６０４にそれぞれ追加する。なお、図６ではＲｅｓｕｍｅＪｏｂの記述例については省略している。
【００４８】
このように、プリンタ１００は現在の状態に基づいて、ＷＳＤＬファイルを生成することができる。図５では、現在の状態として、現在装着されている装備に着目したが、現在のエラー発生状況に基づいてＷＳＤＬファイルを生成することも可能である。例えば、プリンタ１００がＰｒｉｎｔオペレーションのほか、Ｓｃａｎオペレーションを処理可能な場合、通常は、ＰｒｉｎｔオペレーションとＳｃａｎオペレーションとのそれぞれを処理可能なことを示すＷＳＤＬファイルを生成する。しかし、現在、紙ジャムが発生している場合には、Ｓｃａｎオペレーションのみが処理可能なことを示すＷＳＤＬファイルを生成する。
【００４９】
次に、ホストコンピュータ２００が、プリンタ１００により生成されたＷＳＤＬファイルを取得して利用する方法を説明する。
【００５０】
図９は、ホストコンピュータ２００がＷＳＤＬファイルを取得する場合の一例を示すシーケンス図である。この例では、ホストコンピュータ２００はＷＳＤＬファイルをプリンタ１００から直接に取得する。
【００５１】
図９において、まずホストコンピュータ２００はプリンタ１００を検索するために、ネットワーク１０上にマルチキャストで検索パケットを送信する。図１０は、図９における検索パケットを例示する図である。あらかじめ定められたマルチキャストアドレスを監視しているすべてのプリンタ１００がこのパケットを受信する。その後、プリンタ１００はホストコンピュータ２００に対して検索応答パケットをユニキャストで返信する。図１１は、図９における検索応答パケットを例示する図である。
【００５２】
ホストコンピュータ２００は、検索パケットを受信したすべてのプリンタ１００からの検索応答パケットを受信することによってネットワーク１０上のプリンタ一覧を取得できる。さらに、検索応答パケットにはデバイスが生成／公開しているＷＳＤＬファイル取得用のＵＲＬを示すＬｏｃａｔｉｏｎヘッダが含まれており、ホストコンピュータ２００はこのＵＲＬに対してＷＳＤＬ取得要求をＨＴＴＰ／ＧＥＴを使用して送信することにより、プリンタ１００のＷＳＤＬファイルを取得する。
【００５３】
図１２は、ホストコンピュータ２００がＷＳＤＬファイルを取得する場合の別の例を示すシーケンス図である。この例では、ホストコンピュータ２００はサーバ３００を介してＷＳＤＬファイルを取得する。
【００５４】
プリンタ１００は、生成したＷＳＤＬファイルをプリンタ１００の名前や位置情報といったプロファイル情報とともにサーバ３００に送信して、情報を登録する。サーバ３００はプリンタ１００から受信したＷＳＤＬファイルを保持し、同時にプロファイル情報からデバイスのエントリを作成してデバイスリストに追加する。図１３は、サーバ３００が作成するデバイスリストを例示する図である。＜ｄｅｖｉｃｅ＞と＜／ｄｅｖｉｃｅ＞との間が１つのデバイスに関する情報である。デバイスに関する情報は、デバイスの識別子、デバイスの名前、デバイスの設置場所、デバイスのＷＳＤＬファイルのＵＲＩを示している。ネットワーク１０上のプリンタ１００から情報が登録されるたびにエントリが追加され、デバイスを一元管理することが可能である。
【００５５】
次に、ホストコンピュータ２００がデバイスリストを取得するためにサーバ３００に対してデバイスリスト要求を送信すると、サーバ３００はその時点で保持しているデバイスリストをホストコンピュータ２００に返信する。各デバイスエントリにはプリンタ１００が登録したＷＳＤＬファイルへのＵＲＬを示す＜ｗｓｄｌ＞タグが含まれている。ホストコンピュータ２００はＨＴＴＰ／ＧＥＴを使用してこのＵＲＬに対してＷＳＤＬ取得要求を送信することにより、プリンタ１００のＷＳＤＬファイルを取得する。
【００５６】
次に、ＷＳＤＬファイル利用の一例として、ホストコンピュータ２００がＷＳＤＬファイルを取得した後に、ＷＳＤＬファイルを解析して、プリンタ１００にアクセスするためのＧＵＩを生成する処理について説明する。
【００５７】
図１４は、ホストコンピュータ２００が取得したＷＳＤＬファイルの解析処理を示すフローチャートである。
【００５８】
ホストコンピュータ２００がＷＳＤＬファイルを受信すると、先ず、ステップＳ１２０１においてｓｅｒｖｉｃｅ部６０５の解析を行う。ｓｅｒｖｉｃｅ部６０５にはＷＳＤＬで記述されるサービスの名前やアクセスするためのポート、そのバインディング情報が記述されている。次に、ステップＳ１２０２においてｂｉｎｄｉｎｇ部６０４の解析を行う。ｂｉｎｄｉｎｇ部６０４には、ｓｅｒｖｉｃｅ部６０５で記述されたバインディング情報の詳細が記述されている。
【００５９】
次に、ステップＳ１２０３においてｐｏｒｔＴｙｐｅ部６０３の解析を行う。ｐｏｒｔＴｙｐｅ部６０３にはサービスが提供するオペレーションの名前やそれぞれのオペレーションで送受信されるメッセージの名前が記述されている。オペレーションは複数存在することが可能であり、以降の処理はステップＳ１２０３での解析によって取得されるオペレーションのそれぞれについて行われる。
【００６０】
ステップＳ１２０４においては、すべてのオペレーションについて処理が終了したか否かを判断し、全てのオペレーションについて処理が終了した場合には、本ＷＳＤＬ解析処理は終了する。
【００６１】
ステップＳ１２０４の判断の結果、全てのオペレーションについて処理が終了しているのではないと判断された場合、すなわち、処理の終了していないオペレーションが有る場合には、ステップＳ１２０５において、ｍｅｓｓａｇｅ部６０２の解析を行う。ｍｅｓｓａｇｅ部６０２には、各オペレーションで送受信されるメッセージ情報が記述されている。
【００６２】
次にステップＳ１２０６においてｔｙｐｅｓ部６０１の解析を行う。ｔｙｐｅｓ部６０１にはＷ３Ｃが策定しているＸＭＬ  Ｓｃｈｅｍａ仕様に基づき、サービスが使用するデータ型定義が記述されている。ステップＳ１２０６の解析処理においては、オペレーションが使用する引数の名前とその型が取得され、後述のＧＵＩ生成処理に使用される。上述したＷＳＤＬファイルの解析処理が終了すると、オペレーション一覧情報が得られる。
【００６３】
図１５は、ＷＳＤＬファイルの解析の結果に得られるオペレーション一覧情報を例示する図である。図１５においては、ＰｒｉｎｔＪｏｂオペレーションとＰａｕｓｅＪｏｂオペレーションの例のみを記載してある。図１５には、各オペレーションで指定可能な引数が一覧されている。ホストコンピュータ２００は、ＷＳＤＬファイルを解析することにより、プリンタ１００が対応しているオペレーションと、各オペレーションで指定可能な引数を認識することができる。
【００６４】
次に、図１５のオペレーション一覧情報からホストコンピュータ２００がＧＵＩを生成する処理について説明する。
【００６５】
図１６は、図１５のオペレーション一覧情報からホストコンピュータ２００がＧＵＩを生成するＧＵＩ生成処理を示すフローチャートである。
【００６６】
先ず、ステップＳ１４０１において、すべてのオペレーションを処理したか否かを判断し、すべてのオペレーションを処理した場合には、ＧＵＩ生成処理を終了する。ステップＳ１４０２においては図１７に示すように、新しいオペレーション用にそのタブ部１５０２にオペレーション名を表示したクライアントＵＩ画面１５０１を生成する。次にステップＳ１４０３において、引数リストから１つずつ情報を取り出し、生成したクライアントＵＩ画面１５０１に追加していく。その際、引数の型がｓｔｒｉｎｇやｉｎｔ型であるものは、図１８において符合１６０１によって示すようにそのままユーザがテキスト値を入力できるものとし、Ｄｕｐｌｅｘ型のように新しく定義され、規定された文字列のみ指定可能であるものは、符号１６０２によって示すようにリストボックス形式としてプルダウンで選択可能とする。すべての引数情報を追加した後、ステップＳ１４０４において、ＯＫボタン１６０３とＣａｎｃｅｌボタン１６０４とを追加して、ステップＳ１４０１に戻る。
【００６７】
なお、ここで生成した各オペレーション用のクライアントＵＩ画面は図１９に示したように重ねることが可能であり、ユーザがタブ部を選択することにより、対応したオペレーション用の画面が表示される。
【００６８】
上記の処理フローで説明したように、プリンタ１００が両面装置１９２を装着している場合には、Ｄｕｐｌｅｘの指定はプルダウンで”Ｏｎｅ  Ｓｉｄｅｄ”、”Ｔｗｏ  Ｓｉｄｅｄ  Ｌｏｎｇ  Ｅｄｇｅ”、”Ｔｗｏ  Ｓｉｄｅｄ  Ｓｈｏｒｔ  Ｅｄｇｅ”の中から選択可能となるが、両面装置を持っていない場合はプルダウンで”Ｏｎｅ  Ｓｉｄｅｄ”しか選択できず、ユーザは両面指定ができないことがわかる。また、プリンタ１００がハードディスクを装着している場合には、Ｐａｕｓｅ  Ｊｏｂ／Ｒｅｓｕｍｅ  ＪｏｂのクライアントＵＩ画面が表示される。一方、プリンタ１００がハードディスク１４１を装着していない場合には、それらの画面が表示されず、ユーザはプリンタ１００がＰａｕｓｅ  Ｊｏｂ／Ｒｅｓｕｍｅ  Ｊｏｂオペレーションをサポートしていないことがわかる。
【００６９】
なお、上記実施の形態においては、プリンタ起動時の１回のみＷＳＤＬファイル生成を行っているが、さらにタイマーを持ち、一定の時間間隔でＷＳＤＬファイルを再生成してＷＳＤＬファイルを更新するような構成にしてもよい。また、用紙トレイが交換された場合などのように、電源再投入がされることなくＷＳＤＬファイルの変更を必要とするイベントが発生した場合には、それら各種イベント発生時にＷＳＤＬファイルを再生成してＷＳＤＬファイルを更新するような構成にしてもよい。
【００７０】
上述したように、装備情報など動的に変化する情報をＷＳＤＬファイルに反映することにより、実際に実行可能なオペレーションのインターフェース情報のみを公開することを可能とするデータ処理装置を提供することが可能となる。
【００７１】
【発明の効果】
以上詳細に説明したように、本発明によれば、データ処理装置が自身の状態に従ってサービス記述情報を生成するので、情報処理装置は、データ処理装置の現在の状態において提供可能なサービスを認識することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るデータ処理装置を有する印刷システムの構築例を示すブロック図である。
【図２】図１における画像形成装置１００の構成を示すブロック図である。
【図３】図２におけるＣＰＵ１１０により実行されるプログラムのソフトウエアブロックおよび周辺装置を示すブロック図である。
【図４】図３におけるＷＳＤＬ生成部１２１２がＷＳＤＬファイルを生成する際の処理を示すフローチャートである。
【図５】図４のフローチャートにおけるステップＳ４０３のＷＳＤＬファイルの生成を詳細に示すフローチャートである。
【図６】図４におけるステップＳ４０３で生成されるＷＳＤＬファイルの始の一部を示す図である。
【図７】図６に示したＷＳＤＬファイルの一部に続くＷＳＤＬファイルの一部を示す図である。
【図８】図７に示したＷＳＤＬファイルの一部に続くＷＳＤＬファイルの一部を示す図である。
【図９】ホストコンピュータ２００がＷＳＤＬファイルを取得する場合の一例を示すシーケンス図である。
【図１０】図９における検索パケットを例示する図である。
【図１１】図９における検索応答パケットを例示する図である。
【図１２】ホストコンピュータ２００がＷＳＤＬファイルを取得する場合の別の例を示すシーケンス図である。
【図１３】サーバ３００が作成するデバイスリストを例示する図である。
【図１４】ホストコンピュータ２００が取得したＷＳＤＬファイルの解析処理を示すフローチャートである。
【図１５】ＷＳＤＬの解析の結果に得られるオペレーション一覧情報を例示する図である。
【図１６】図１５のオペレーション一覧情報からホストコンピュータ２００がＧＵＩを生成するＧＵＩ生成処理を示すフローチャートである。
【図１７】新しく生成するＵＩ画面を例示する図である。
【図１８】生成されたＵＩ画面を例示する図である。
【図１９】複数のＵＩ画面を重ねて表示した場合を例示する図である。
【符号の説明】
１０  ネットワーク
１００  データ処理装置
１４１  ハードディスク
１９１  フィニッシャ
１９２  両面装置
２００  ホストコンピュータ
３００  サーバ
１２１１  装備情報取得部
１２１２  ＷＳＤＬ生成部
１２１３  Ｗｅｂサーバ部
【図１】
2005038016.tif 000003
【図２】
2005038016.tif 000004
【図３】
2005038016.tif 000005
【図４】
2005038016.tif 000006
【図５】
2005038016.tif 000007
【図６】
2005038016.tif 000008
【図７】
2005038016.tif 000009
【図８】
2005038016.tif 000010
【図９】
2005038016.tif 000011
【図１０】
2005038016.tif 000012
【図１１】
2005038016.tif 000013
【図１２】
2005038016.tif 000014
【図１３】
2005038016.tif 000015
【図１４】
2005038016.tif 000016
【図１５】
2005038016.tif 000017
【図１６】
2005038016.tif 000018
【図１７】
2005038016.tif 000019
【図１８】
2005038016.tif 000020
【図１９】
2005038016.tif 000021