(57)【要約】【課題】使用されていない処理手段が新たに使用処理手段として追加された場合、データベースを動的に更新することができ、新たに追加された処理手段による処理を即座に提供することができる処理装置を提供する。【解決手段】例えばＩＰＰモジュール４０８が使用するモジュールとして設定されると、ＩＰＰモジュール４０８は、ＰＩＰＥ１１０２およびソケットレイヤ４０３を介して、ＵＲＬ登録要求をＨＴＴＰＤモジュール４０４に送る。ＨＴＴＰＤモジュール４０４は、上記ＵＲＬ登録要求を受け取ると、このＵＲＬ登録要求に基づいてＩＰＰモジュール４０８に対応するＵＲＬをＵＲＬテーブル１１０１内に登録する。【選択図】      図１１
2004341732.tif 000002
【特許請求の範囲】
【請求項１】
所定のプロトコルに従いネットワーク上の機器との間でデータ通信を行う通信手段と、前記機器から前記所定のプロトコルを用いて受信されたデータに対して異なる処理をそれぞれ行う複数の処理手段とを備える処理装置であって、
処理を指定するための処理指定情報を該処理指定情報に対応する処理手段と関連付けて保持するデータベースと、
前記データベースを参照して、前記機器から受信されたデータの処理指定情報に対応する処理手段を、前記機器から受信されたデータを処理する処理手段として特定する特定手段と、
前記複数の処理手段のうち、使用されていない処理手段を使用するべく、使用処理手段として設定する使用処理設定手段と、
前記使用処理手段として設定された処理手段に対応する処理指定情報の登録要求を発行する登録要求発行手段と、
前記登録要求発行手段により発行された登録要求に基づいて、前記使用処理手段として設定された処理手段に対応する処理指定情報を前記データベースに登録する登録手段と
を有することを特徴とする処理装置。
【請求項２】
前記所定のプロトコルはＨＴＴＰであり、前記データベースに保持されている処理指定情報は、ＵＲＬまたはＵＲＩであることを特徴とする請求項１記載の処理装置。
【請求項３】
前記データベースには、前記ＵＲＬまたはＵＲＩと、該ＵＲＬまたはＵＲＩを含むデータを受信するためのポート番号と、前記ＵＲＬまたはＵＲＩに対応する処理手段の名称とが保持され、前記登録手段は、前記使用処理手段として設定された処理手段に対応するＵＲＬまたはＵＲＩ、ポート番号および該処理手段の名称を前記データベースに登録することを特徴とする請求項２記載の処理装置。
【請求項４】
前記通信手段には、前記ポート番号のポートが、対応するＵＲＬまたはＵＲＩを含むデータの送受信を行うためのポートとして設定され、前記データベースに前記使用処理手段として設定された処理手段に対応するポート番号が前記データベースに登録されると、該登録されたポート番号のポートが前記通信手段に追加、設定されることを特徴とする請求項３記載の処理装置。
【請求項５】
前記登録要求発行手段は、前記使用処理手段として設定された処理手段が起動されるときに、前記登録要求を発行することを特徴とする請求項１ないし４のいずれか１つに記載の処理装置。
【請求項６】
前記登録要求発行手段は、前記複数の処理手段にそれぞれ搭載されていることを特徴とする請求項５記載の処理装置。
【請求項７】
前記複数の処理手段のうち、使用されている処理手段を不使用にするべく、不使用処理手段として設定する不使用処理設定手段と、
前記不使用処理手段として設定された処理手段に対応する処理指定情報の削除要求を発行する削除要求発行手段と、
前記発行された削除要求に基づいて前記不使用処理手段として設定された処理手段に対応する処理指定情報を前記データベースから削除する削除手段と
を有することを特徴とする請求項１記載の処理装置。
【請求項８】
所定のプロトコルに従いネットワーク上の機器との間でデータ通信を行う通信手段と、前記機器から前記所定のプロトコルを用いて受信されたデータに対して異なる処理をそれぞれ行う複数の処理手段とを備える処理装置であって、
処理を識別するための処理識別情報を該処理識別情報に対応する処理手段と関連付けて保持するデータベースと、
前記データベースを参照して、前記機器から受信されたデータの処理識別情報に対応する処理手段を、前記機器から受信されたデータを処理する処理手段として特定する特定手段と、
処理手段に対応する処理識別情報の登録要求を発行する登録要求発行手段と、
前記登録要求発行手段により発行された登録要求に基づいて、処理手段に対応する処理識別情報を前記データベースに登録する登録手段と
を有することを特徴とする処理装置。
【請求項９】
所定のプロトコルに従いネットワーク上の機器との間でデータの送受信を行う通信手段と、前記機器から前記所定のプロトコルを用いて受信されたデータに対して異なる処理をそれぞれ行う複数の処理手段と、処理を指定するための処理指定情報を該処理指定情報に対応する処理手段と関連付けて保持するデータベースとを備え、前記データベースを参照して、前記機器から受信されたデータの処理指定情報に対応する処理手段を、前記機器から受信されたデータを処理する処理手段として特定し、前記特定された処理手段で前記機器から受信されたデータを処理するデータ処理方法であって、
前記複数の処理手段のうち、使用されていない処理手段を使用するべく、使用処理手段として設定する使用処理設定工程と、
前記使用処理手段として設定された処理手段に対応する処理指定情報の登録要求を発行する登録要求発行工程と、
前記登録要求発行工程で発行された登録要求に基づいて、前記使用処理手段として設定された処理手段に対応する処理指定情報を前記データベースに登録する登録工程と
を有することを特徴とするデータ処理方法。
【請求項１０】
所定のプロトコルに従いネットワーク上の機器との間でデータの送受信を行うための通信処理モジュールと、前記機器から前記所定のプロトコルを用いて受信されたデータに対して異なる処理をそれぞれ行う複数の処理モジュールと、処理を指定するための処理指定情報を該処理指定情報に対応する処理モジュールと関連付けて保持するデータベースとを備え、前記データベースを参照し、前記機器から受信されたデータの処理指定情報に対応する処理モジュールを、前記機器から受信されたデータを処理する処理モジュールとして特定し、前記特定された処理モジュールで前記機器から受信されたデータを処理するためのプログラムであって、
前記複数の処理モジュールのうち、使用されていない処理モジュールを使用するべく、使用処理モジュールとして設定する使用処理設定モジュールと、
前記使用処理モジュールとして設定された処理モジュールに対応する処理指定情報の登録要求を発行する登録要求発行モジュールと、
前記前記登録要求発行モジュールにより発行された登録要求に基づいて、前記使用処理モジュールとして設定された処理モジュールに対応する処理指定情報を前記データベースに登録する登録モジュールと
を有することを特徴とするプログラム。
【請求項１１】
請求項１０記載のプログラムをコンピュータ読み取り可能に格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＨＴＴＰなどの所定のプロトコルに従い受信されたデータを処理するための処理装置、データ処理方法、プログラムおよび記憶媒体に関する。
【０００２】
【従来の技術】
近年、コンピュータを相互に接続したローカルエリアネットワーク（ＬＡＮ；Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が普及しており、このようなＬＡＮは、ビルのフロアやビル全体、地域、またはさらに大きいエリアに亘って構築することができる。このようなネットワークには、さらに相互に接続され、世界的規模のネットワークにも接続することが可能である。このような相互接続された各ＬＡＮには、多様なハードウエア相互接続技術と、各種のネットワークプロトコルとが用いられる。
【０００３】
近年、このようなＬＡＮ環境に対しては、パーソナルコンピュータ（以下、ＰＣという）のみならず、複合機やプリンタなどのデバイスの多くが対応可能になり、これらのデバイスはＬＡＮ内で共有されて使用される。こうしたＬＡＮ環境内のデバイスやＰＣは、ＴＣＰ／ＩＰをベースに通信を行う。例えば、ＰＣから印刷を行う場合またはＰＣからデバイスの情報を取得する場合には、ＴＣＰ／ＩＰ上にさらに印刷用のプロトコルやデバイス情報取得用のプロトコルが用いられて通信が行われる。これにより、印刷サービス、デバイス情報取得のサービスが実現されている。一般に、印刷用のプロトコルとしてはＬＰＤが用いられ、デバイス情報取得用のプロトコルにはＳＮＭＰが用いられることが多い。
【０００４】
このようなＴＣＰ／ＩＰを利用するプロトコルのうち、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）がある。ＨＴＴＰは、主にＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）にアクセスするために用いられるプロトコルで、ＰＣからＷＷＷ上のホームページの閲覧を行うときに使われる。現在、ＨＴＴＰを用いた様々なサービスが考えられており、これらサービスとしては、ＨＴＴＰを用いた印刷や、ＨＴＴＰ上にＳＯＡＰ／ＸＭＬ通信を実現したＷＥＢサービスなどがある。また、ＨＴＴＰを用いることによって、イントラネット内のクライアントＰＣからプロキシサーバを介して、インターネット内のサーバにアクセスすることも可能である。
【０００５】
また、ＬＡＮ環境内のデバイスは、ＨＴＴＰサーバ機能を利用して、クライアントＰＣに様々なサービスを提供する。近年では、上記デバイスは、その情報をＨＴＴＰでクライアントＰＣに転送し、クライアントＰＣのＷＥＢブラウザからデバイスの情報を取得するサービス、またＨＴＴＰを用いた印刷プロトコルとしてＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）機能を搭載し、印刷サービスを提供する。
【０００６】
このようにデバイスに搭載されているＨＴＴＰサーバ機能は、ＨＴＴＰで転送されるＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を解釈し、ＵＲＬに応じた処理を行い、そのレスポンスを返すように構成されている（例えば、特許文献１）。デバイスの情報取得を行うためのＵＲＬとしては、例えばｈｔｔｐ：／／１７２．２４．１７６．１００／ｉｎｆｏが使用され、ＩＰＰ印刷機能を行うためのＵＲＬとしては、例えばｈｔｔｐ：／／１７２．２４．１７６．１００／ｉｐｐｐｒｉｎｔが使用される。すなわち、ＨＴＴＰサーバ機能は、ＵＲＬがデバイス情報取得アドレスである場合、デバイス情報の取得を行い、そのレスポンスを返す。また、ＨＴＴＰサーバ機能は、ＵＲＬがＩＰＰ印刷機能を行うためのものである場合、ＩＰＰに基づいて印刷処理を行い、レスポンスを返すことになる。
【０００７】
このように、ＨＴＴＰを用いた多種多様なアプリケーションやサービスを実現するためには、デバイスのＨＴＴＰサーバ機能には、多種多様なＵＲＬを解釈することが求められる。それに対応するために、ＨＴＴＰサーバ機能は、ＵＲＬとその処理が記述されたデータベースを有し、そのデータベースを参照して、ＵＲＬとそれに該当する処理を行う。
【０００８】
【特許文献１】
特開２００２−１９６９９５号公報
【０００９】
【発明が解決しようとする課題】
しかしながら、上記従来例のＨＴＴＰサーバ機能において、ＵＲＬとそれに該当する処理が記述されたデータベースとして静的なデータベースが用いられており、新たにＨＴＴＰを用いたプロトコルやサービスが追加された場合には、データベースを作り直すなど、データベースの更新作業が必要である。そして、ＨＴＴＰを利用するサービスの追加により上記更新されたデータベースを有効化するために、ＨＴＴＰサーバ機能を再構築する必要がある。また、ＨＴＴＰサーバ機能を再構築する必要がない場合においても、上記データベースを有効化するために、装置電源の再投入などが必要である。このように、新たにＨＴＴＰを用いたプロトコルやサービスが追加された場合、データベースの更新作業およびこのデータベースを有効化するための作業に手間が掛かるとともに、新たに追加されたＨＴＴＰを用いたサービスを即座に提供することができない。
【００１０】
本発明の目的は、使用されていない処理手段が新たに使用処理手段として追加された場合、データベースを動的に更新することができ、新たに追加された処理手段による処理を即座に提供することができる処理装置、データ処理方法、プログラムおよび記憶媒体を提供することにある。
【００１１】
【課題を解決するための手段】
本発明は、上記目的を達成するため、所定のプロトコルに従いネットワーク上の機器との間でデータ通信を行う通信手段と、前記機器から前記所定のプロトコルを用いて受信されたデータに対して異なる処理をそれぞれ行う複数の処理手段とを備える処理装置であって、処理を指定するための処理指定情報を該処理指定情報に対応する処理手段と関連付けて保持するデータベースと、前記データベースを参照して、前記機器から受信されたデータの処理指定情報に対応する処理手段を、前記機器から受信されたデータを処理する処理手段として特定する特定手段と、前記複数の処理手段のうち、使用されていない処理手段を使用するべく、使用処理手段として設定する使用処理設定手段と、前記使用処理手段として設定された処理手段に対応する処理指定情報の登録要求を発行する登録要求発行手段と、前記登録要求発行手段により発行された登録要求に基づいて、前記使用処理手段として設定された処理手段に対応する処理指定情報を前記データベースに登録する登録手段とを有することを特徴とする。
【００１２】
また、本発明は、上記目的を達成するため、所定のプロトコルに従いネットワーク上の機器との間でデータ通信を行う通信手段と、前記機器から前記所定のプロトコルを用いて受信されたデータに対して異なる処理をそれぞれ行う複数の処理手段とを備える処理装置であって、処理を識別するための処理識別情報を該処理識別情報に対応する処理手段と関連付けて保持するデータベースと、前記データベースを参照して、前記機器から受信されたデータの処理識別情報に対応する処理手段を、前記機器から受信されたデータを処理する処理手段として特定する特定手段と、処理手段に対応する処理識別情報の登録要求を発行する登録要求発行手段と、前記登録要求発行手段により発行された登録要求に基づいて、処理手段に対応する処理識別情報を前記データベースに登録する登録手段とを有することを特徴とする。
【００１３】
また、本発明は、上記目的を達成するため、所定のプロトコルに従いネットワーク上の機器との間でデータの送受信を行う通信手段と、前記機器から前記所定のプロトコルを用いて受信されたデータに対して異なる処理をそれぞれ行う複数の処理手段と、処理を指定するための処理指定情報を該処理指定情報に対応する処理手段と関連付けて保持するデータベースとを備え、前記データベースを参照して、前記機器から受信されたデータの処理指定情報に対応する処理手段を、前記機器から受信されたデータを処理する処理手段として特定し、前記特定された処理手段で前記機器から受信されたデータを処理するデータ処理方法であって、前記複数の処理手段のうち、使用されていない処理手段を使用するべく、使用処理手段として設定する使用処理設定工程と、前記使用処理手段として設定された処理手段に対応する処理指定情報の登録要求を発行する登録要求発行工程と、前記登録要求発行工程で発行された登録要求に基づいて、前記使用処理手段として設定された処理手段に対応する処理指定情報を前記データベースに登録する登録工程とを有することを特徴とする。
【００１４】
本発明は、上記目的を達成するため、所定のプロトコルに従いネットワーク上の機器との間でデータの送受信を行うための通信処理モジュールと、前記機器から前記所定のプロトコルを用いて受信されたデータに対して異なる処理をそれぞれ行う複数の処理モジュールと、処理を指定するための処理指定情報を該処理指定情報に対応する処理モジュールと関連付けて保持するデータベースとを備え、前記データベースを参照し、前記機器から受信されたデータの処理指定情報に対応する処理モジュールを、前記機器から受信されたデータを処理する処理モジュールとして特定し、前記特定された処理モジュールで前記機器から受信されたデータを処理するためのプログラムであって、前記複数の処理モジュールのうち、使用されていない処理モジュールを使用するべく、使用処理モジュールとして設定する使用処理設定モジュールと、前記使用処理モジュールとして設定された処理モジュールに対応する処理指定情報の登録要求を発行する登録要求発行モジュールと、前記前記登録要求発行モジュールにより発行された登録要求に基づいて、前記使用処理モジュールとして設定された処理モジュールに対応する処理指定情報を前記データベースに登録する登録モジュールとを有することを特徴とする。
【００１５】
また、本発明は、上記目的を達成するため、上記プログラムをコンピュータ読み取り可能に格納したことを特徴とする記憶媒体を提供する。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１７】
図１は本発明の一実施の形態に係る処理装置が含まれるネットワークシステムの構成を模式的に示す図である。ここでは、処理装置としてマルチファンクションデバイスを例に説明する。
【００１８】
ネットワークシステムにおいては、図１に示すように、マルチファンクションデバイス１０１とホストコンピュータ（以下、ＰＣという）１０３とがＬＡＮ１００に接続されており、ＬＡＮ１００はＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０２に接続されている。ＷＡＮ１０２上には、ネットワークストレージサーバ（以下、サーバという）１０４が接続されている。
【００１９】
マルチファンクションデバイス１０１は、ネットワーク印刷サービスやスキャンサービスをＬＡＮ１００に提供する機能を有する。ここで、マルチファンクションデバイス１０１が提供する印刷サービスは、ＨＴＴＰを利用した印刷サービスである。
【００２０】
次に、マルチファンクションデバイス１０１の構成について図２および図３を参照しながら説明する。図２は図１のマルチファンクションデバイス１０１の構成を示すブロック図、図３は図２の操作部２１４におけるタッチパネル３０１、キー群３０２などの配置構造を模式的に示す平面図である。
【００２１】
マルチファンクションデバイス１０１は、図２に示すように、ＲＯＭ２０３に格納されているプログラムまたはＨＤＤ２０７に格納されているプログラムに従い装置全体を制御するとともに、各種処理を行うＣＰＵ２０２を有する。ＣＰＵ２０２には、ＲＯＭ２０３およびＨＤＤ２０７とともに、ＣＰＵ２０２の作業領域を提供するＲＡＭ２０４と、操作部２１４から設定された値を保持するためのＮＶＲＡＭ２０５と、スキャナエンジン２１３の動作を制御するためのスキャナ制御部２０１と、プリンタエンジン２１２の動作を制御するためのエンジン制御部２０７と、タイマ２０８と、操作部２１４との間でデータの入出力を制御するためのパネルＩ／Ｏ制御部２０９と、ＬＡＮ１００との間でデータの入出力を制御するためのネットワーク制御部２１０とが、内部バス２１１を介して接続されている。
【００２２】
ここで、操作部２１４には、図２および図３に示すように、タッチパネル３０１、キー群３０２、スピーカ３０３およびランプ３０４が設けられている。タッチパネル３０１には、図３に示すように、各種パラメータの設定を行うための設定画面およびソフトキーが表示される。本図の画面例は、待機画面である。キー群３０２は、テンキー３０２ａ、サービスキー３０２ｂ、設定キー３０２ｃ、スタートキー３０２ｄおよびストップキー３０２ｅの複数のハードキーが含まれる。テンキー３０２ａは、数字の入力に使用される。サービスキー３０２ｂが押下されると、タッチパネル３０１上に各種サービス画面が表示され、コピーを含む各種サービスを選択して設定することが可能である。設定キー３０２ｃが押下されると、タッチパネル３０１上に、パラメータの設定を行うための各種設定画面が表示される。スピーカ３０３からは、ユーザに対して警告音などが出力される。ランプ３０４は、印刷やコピー時にジャムが発生した場合に点滅するように制御される。
【００２３】
次に、本マルチファンクションデバイス１０１がＰＣ１０３に各種サービスを提供するＨＴＴＰサーバ機能を実現するためのモジュール構成について図４を参照しながら説明する。図４は図１のマルチファンクションデバイス１０１がＰＣ１０３に各種サービスを提供するＨＴＴＰサーバ機能を実現するためのモジュール構成を示すブロック図である。図４に示すモジュール構成は、ＣＰＵ２０２がＲＯＭ２０３に格納されているプログラムまたはＨＤＤ２０７に格納されているプログラムを実行することによって構成されるものである。
【００２４】
上記モジュール構成は、図４に示すように、イーサドライバ（Ｅｔｈｅｒ  Ｄｒｉｖｅｒ）４０１と、ＴＣＰ／ＩＰプロトコルスタック（ＴＣＰ／ＩＰ  Ｐｒｏｔｏｃｏｌ  Ｓｔａｃｋ）４０２と、ソケットレイヤ（Ｓｏｃｋｅｔ  Ｌａｙｅｒ）４０３と、ＨＴＴＰＤモジュール（ＨＴＴＰＤ  ｍｏｄｕｌｅ）４０４と、ＲｅｍｏｔｅＵＩモジュール４０５と、ＳＯＡＰモジュール４０６と、プリントサービス（Ｐｒｉｎｔ  Ｓｅｒｖｉｃｅ）モジュール４０７と、ＩＰＰモジュール４０８と、ＬＰＤモジュール４０９と、プリンタＡＰＩ（Ｐｒｉｎｔｅｒ  ＡＰＩ）４１０とを含む。
【００２５】
イーサドライバ４０１は、ＬＡＮ１００に接続して、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ）のパケットの送受信を行うためのドライバモジュールである。ＴＣＰ／ＩＰプロトコルスタック４０２は、ＴＣＰ／ＩＰをサポートするものである。本実施の形態では、マルチプロトコルをサポートし、ＴＣＰ／ＩＰの他に、Ｎｅｔ  ＷａｒｅやＡｐｐｌｅ  Ｔａｌｋなどのプロトコルを用いた通信が可能であるが、ここでは、そのモジュールは省略されている。ソケットレイヤ４０３には、ＴＣＰ／ＩＰを用いるためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）が定義されている。ＴＣＰ／ＩＰを用いて通信を行うプログラムのすべては、ソケットレイヤ４０３が提供するＡＰＩを用いて、その通信を行う。ＨＴＴＰＤモジュール４０４は、ＨＴＴＰサーバ機能を構築するためのであり、ＵＲＬ（またはＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒｓ））を判別し、そのＵＲＬに該当する処理を行う。ＲｅｍｏｔｅＵＩモジュール４０５は、ＨＴＴＰを用いてデバイスの参照を行うためのものである。ＳＯＡＰモジュール４０６は、デバイス間でのＲＰＣによる分散オブジェクト環境を実現するためのである。プリントサービスモジュール４０７は、ＳＯＡＰ／ＸＭＬを用いたプリントサービスを実現するためのモジュールであり、ＳＯＡＰモジュール４０６と協働して、ＨＴＴＰを用いたＬＡＮ環境内でのＳＯＡＰプリントサービス機能を実現する。ＩＰＰモジュール４０８は、ＩＰＰを用いて印刷を行う機能を実現する。ここで、ＩＰＰは、ＨＴＴＰ上の印刷プロトコルである。
【００２６】
このように、本実施の形態においては、ＩＰＰ印刷機能、ＲｅｍｏｔｅＵＩ機能、ＳＯＡＰプリントサービス機能が提供され、ＨＴＴＰＤモジュール４０４は、ＩＰＰ印刷機能、ＲｅｍｏｔｅＵＩ機能、ＳＯＡＰプリントサービス機能をサポートすることになる。このＨＴＴＰＤモジュール４０４の詳細については、後述する。
【００２７】
ＬＰＤモジュール４０９は、ＬＰＤプロトコルを用いた印刷機能を実現するためのものである。プリンタＡＰＩ４１０は、各印刷モジュール（ＬＰＤ、ＩＰＰ、ＳＯＡＰの各プリントサービス）により受信された印刷データを転送するものである。デバイス内においては、プリンタＡＰＩ４１０から受信されたデータがハンドリングされ、ビットマップ展開された後に、エンジン制御部２０６を介してプリンタエンジン２１２に送られ。そして、上記データは、プリンタエンジン２１２において、印刷されることになる。
【００２８】
次に、本実施の形態におけるＨＴＴＰ上のＳＯＡＰプリントサービス機能について図５および図６を参照しながら説明する。図５はＳＯＡＰプリントサービス機能に用いられるプロトコルによりＰＣ１０３からマルチファンクションデバイス１０１に送信されるクリエートジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）と称されるパケットデータの一例を示す図、図６は図５のクリエートジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）パケットに対する応答パケットデータの一例を示す図である。
【００２９】
クリエートジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）のパケットデータは、図５に示すように、ＸＭＬ形式で記述される。このクリエートジョブパケットは、ＰＣ１０３からマルチファンクションデバイス１０１に対し、ジョブ（印刷）の開始を指示するコマンドであり、このパケットには、要求元のユーザ名（＜ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞タグ）やジョブの処理に関する指示（＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞タグ）などの情報が記述される。＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞タグには印刷部数を設定する＜ｃｏｐｉｅｓ＞タグ、両面印刷を設定する＜ｓｉｄｅｓ＞タグ、印刷の仕上げを設定する＜ｆｉｎｉｓｈｉｎｇ＞タグなどが含まれ、マルチファンクションデバイス１０１はこれらのタグに設定された値に基づいてジョブの処理を行う。さらに、＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞タグには、オプションとしての＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｉｎｓｔｒｕｃｔｉｏｎ＞タグを含めることも可能である。この＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｉｎｓｔｒｕｃｔｉｏｎ＞タグには、ジョブに関する通知情報が記述される。本例においては、通知情報として、通知先を設定する＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｒｅｃｉｐｉｅｎｔ＞タグおよび通知条件を設定する＜ｅｖｅｎｔ＞タグが記述されている。マルチファンクションデバイス１０１は、これらのタグに設定された値に基づいてイベント送信処理を行う。
【００３０】
マルチファンクションデバイス１０１は、図５のクリエート（Ｃｒｅａｔｅ  Ｊｏｂ）パケットを受信すると、このパケットに対する応答パケットをＰＣ１０３に返す。この応答パケットは、図６に示すように、クリエートジョブパケットと同様に、ＸＭＬ形式で記述される。本実施の形態においては、クリエートジョブおよびその応答パケットがＨＴＴＰ上のＳＯＡＰを用いて送受信される。クリエートジョブ応答パケットには、クリエートジョブコマンド対する結果コード（＜ｒｅｓｕｌｔ−ｃｏｄｅ＞タグ）や生成されたジョブの識別子（＜ｊｏｂ−ｉｄ＞タグ）、印刷用ポートのＵＲＩ（＜ｄａｔａ−ｓｉｎｋ−ｕｒｉ＞タグ）などの情報が含まれる。図６中においては、情報６０１が印刷用ポートのＵＲＩに相当し、本例では「ｈｔｔｐ：／／１９２．１６８．１．４／ｊｏｂ００１」というＵＲＩが示されている。
【００３１】
次に、ＰＣ１０３がマルチファンクションデバイス１０１のＳＯＡＰプリントサービスを用いて印刷を行う場合におけるマルチファンクションデバイス１０１の動作について図７〜図１０を参照しながら説明する。図７はＰＣ１０３がマルチファンクションデバイス１０１のＳＯＡＰプリントサービスを用いて印刷を行う場合におけるマルチファンクションデバイス１０１の動作手順を示すフローチャート、図８はＰＣ１０３からＨＴＴＰのＰＯＳＴメソッドにより送信される印刷データ転送パケットの一例を示す図、図９は図７のステップＳ７０８においてＰＣ１０３に返されるＨＴＴＰレスポンスパケットの一例を示す図、図１０は図７のステップＳ７０４において生成されるエラーレスポンスデータの一例を示す図である。ここで、図７のフローチャートで示す手順は、マルチファンクションデバイス１０１のＣＰＵ２０２によりＲＯＭ２０３またはＨＤＤ２０７に格納されているプログラムに従って実行されるものである。ここで、図７に示す動作は、ＲＯＭ２０３に格納されているプログラムまたはＨＤＤ２０７に格納されているプログラムに従ってＣＰＵ２０２により実行されるものである。
【００３２】
ＰＣ１０３がマルチファンクションデバイス１０１のＳＯＡＰプリントサービスを用いて印刷を行う場合、ＰＣ１０３は、例えば図５に示すようなクリエートジョブパケットをマルチファンクションデバイス１０１に送信する。
【００３３】
マルチファンクションデバイス１０１がＰＣ１０３からのクリエートジョブパケットを受信すると、図７に示すように、マルチファンクションデバイス１０１は、ステップＳ７０１において、受信したクリエートジョブパケットに記述されたＸＭＬデータを解析する。そして、マルチファンクションデバイス１０１は、ステップＳ７０２において、上記解析結果にエラーがあるか否かを判定する。ここで、エラーがなければ、マルチファンクションデバイス１０１は、ステップＳ７０３において、印刷データ受信用の印刷ポートを生成する。
【００３４】
次いで、マルチファンクションデバイス１０１は、ステップＳ７０５において、クリエートジョブパケットに対するレスポンスのＸＭＬデータの生成を行う。このときに、印刷データ受信用に生成したポートのＵＲＩが＜ｄａｔａ−ｓｉｎｋ−ｕｒｉ＞タグの値として設定される。例えば、図６のＵＲＩ６０１のようなＵＲＩがＸＭＬデータに埋め込まれる。そして、マルチファンクションデバイス１０１は、ステップＳ７０６において、ＳＯＡＰを用いて、クリエートジョブパケットに対するレスポンスのＸＭＬデータをＰＣ１０３に送信する。
【００３５】
その後、ＰＣ１０３は、ＨＴＴＰのＰＯＳＴメソッドを用いて、＜ｄａｔａ−ｓｉｎｋ−ｕｒｉ＞タグで指定されたＵＲＩに対して印刷データを送信する。この印刷データは、例えば図８に示すように記述されたものである。
【００３６】
そして、マルチファンクションデバイス１０１においては、ステップＳ７０７において、指定された印刷ポートを介してＰＣ１０３からの印刷データが受信され、適切な処理を施されながらプリンタエンジン２１２により印刷が行われる。そして、マルチファンクションデバイス１０１は、印刷データの受信が正常に終了すると、図９に示すようなＨＴＴＰレスポンスパケットをＰＣ１０３に送信し、印刷用ポートを削除（クローズ）して印刷動作を終了する。
【００３７】
一方、上記ステップＳ７０２においてクリエートジョブに記述されたＸＭＬデータにエラーがあると判定された場合、マルチファンクションデバイス１０１は、ステップＳ７０４において、例えば図１０に示すようなエラーレスポンスデータを生成し、続くステップＳ７０６において、上記エラーレスポンスデータをＰＣ１０３に送信する。ＰＣ１０３は、上記エラーレスポンスデータを受信すると、上記印刷データを送信することはせず、処理を終了する。
【００３８】
次に、ＨＴＴＰＤモジュール４０４の詳細について図１１〜図１４を参照しながら説明する。図１１は図４のＨＴＴＰＤモジュールとその周りのモジュールに対するデータの流れと制御の流れを模式的に示す図、図１２は図１１のＵＲＬテーブル１１０１の一例を示す図、図１３は図１１のＵＲＬテーブル１１０１の他の例を示す図、図１４は図１１のＵＲＬテーブル１１０１のさらに他の例を示す図である。
【００３９】
ＨＴＴＰＤモジュール４０４は、図１１に示すように、ＩＰＰ印刷機能（ＩＰＰモジュール４０８）、ＲｅｍｏｔｅＵＩ機能、ＳＯＡＰプリントサービス機能のそれぞれに対するＵＲＬをＵＲＬテーブル１１０１で管理する。ＨＴＴＰＤモジュール４０４は、ＨＴＴＰのヘッダ（Ｈｅａｄｅｒ）部分とボディ（Ｂｏｄｙ）部分を解釈する。具体的には、ヘッダ部分に含まれるＵＲＬが判別され、そのＵＲＬを処理する処理モジュール（ＲｅｍｏｔｅＵＩモジュール４０５、ＳＯＡＰモジュール４０６、ＩＰＰモジュール４０８）がＵＲＬテーブル１１０１から検索され、その処理モジュールにボディ部分がデータとして転送される。そして、処理モジュールが処理を行い、レスポンスを返すことになる。
【００４０】
また、本実施の形態においては、各処理モジュール４０５，４０６，４０８が、ＵＲＬ登録／削除要求を行う。このＵＲＬ登録／削除要求は、ＰＩＰＥ１１０２と呼ばれる通信経路およびソケットレイヤ４０３を介してＨＴＴＰＤモジュール４０４に送られる。ＨＴＴＰＤモジュール４０４は、ＵＲＬ登録／削除要求を受け取ると、このＵＲＬ登録／削除要求に基づいてＵＲＬテーブル１１０１内の対応するＵＲＬ情報を更新する。なお、図１１においては、ＩＰＰモジュール４０８がＵＲＬ登録／削除要求を発行している場合を示している。
【００４１】
ここで、ＵＲＬテーブル１１０１には、図１２に示すように、ＵＲＬ１２０１、そのＵＲＬを受信するポート番号１２０２、受信したＵＲＬに該当する処理モジュール１２０３が記述されている。このテーブル例においては、ＵＲＬが／ｔｏｐ，／ｔｏｐ／ｍａｉｎ，／ｉｎｆｏのいずれかであり、かつポート番号８０に受信したリクエストの場合、このＵＲＬに対する処理モジュールとしてＲｅｍｏｔｅＵＩ（ＲＵＩ）モジュール４０５が該当する。すなわち、本テーブルの場合、ＲｅｍｏｔｅＵＩ（ＲＵＩ）モジュール４０５が処理するＵＲＬが登録されていることになる。そして、ＲｅｍｏｔｅＵＩ（ＲＵＩ）モジュール４０５にデータが振り分けられ、ＲｅｍｏｔｅＵＩ（ＲＵＩ）モジュール４０５は、上記データを処理し、その結果をＰＣ１０３に返すことになる。ＵＲＬがＥＯＦのものは、テーブルの終了であることを示す。
【００４２】
また、ＵＲＬテーブル１１０１の他の例として、図１３に示すものがある。このテーブルの場合、図１２のＵＲＬテーブルに対して、／ｉｐｐ／ｐｒｉｎｔのＵＲＬ１３０１が追加され、そのポート番号１３０２として６３１番が登録され、その処理モジュール１３０３としてＩＰＰモジュール４０８が追加されている。このテーブル例においては、ポート６３１番に受信したＵＲＬが／ｉｐｐ／ｐｒｉｎｔの場合は、ＩＰＰモジュール４０８にＨＴＴＰ受信パケットのボディ部分がデータとして振り分けられることになる。
【００４３】
また、ＵＲＬテーブル１１０１の他の例としての図１４に示すテーブルの場合、図１２のＵＲＬテーブルに対して、／ｓｏａｐ／ｐｒｉｎｔのＵＲＬ１４０１が追加され、そのポート番号１４０２として８０番が登録され、その処理モジュール１４０３としてＳＯＡＰモジュール４０６が追加されている。このテーブル例において、ポート８０番に受信したＵＲＬが／ｓｏａｐ／ｐｒｉｎｔの場合は、ＳＯＡＰモジュール４０６にＨＴＴＰ受信パケットのボディ部分がデータとして振り分けられることになる。
【００４４】
次に、操作部２１４のタッチパネル３０１に表示される設定画面について図１５および図１６を参照しながら説明する。図１５はＩＰＰプリント機能を設定するための設定画面の一例を示す図、図１６はＳＡＯＰプリントサービス機能を設定するための設定画面の一例を示す図である。
【００４５】
操作部２１４の設定スイッチ３０２ｃが押下されると、タッチパネル３１０には各種サービスを提供可能に設定するための設定画面が表示される。設定画面の一つとして、図１５に示すＩＰＰプリント機能を提供可能に設定するための設定画面がある。このＩＰＰプリント機能設定画面においては、ＩＰＰプリント機能を動作可能に設定するためのＯＮボタン１５０１、およびＩＰＰプリント機能の動作可能設定を解除するためのＯＦＦボタン１５０２が表示される。ここで、これらＯＮボタン１５０１またはＯＦＦボタン１５０２により設定された内容を示す設定値は、ＮＶＲＡＭ２０５に保存され、ＮＶＲＡＭ２０５の設定値は、電源がオフされても消えることはない。
【００４６】
また、ユーザによるＯＮボタン１５０１の選択によってＩＰＰプリント機能が動作可能に設定された場合は、ＩＰＰモジュール４０８が、自分が処理するＵＲＬとポート番号と処理モジュールを示すＵＲＬ登録要求をＨＴＴＰＤモジュール４０４に対してそれぞれ発行する。これに対し、ＯＦＦボタン１５０２の選択によってＩＰＰプリント機能の動作可能設定が解除された場合、ＩＰＰモジュール４０８は、削除するＵＲＬを示すＵＲＬ削除要求をＨＴＴＰＤモジュール４０４に対して発行する。このＵＲＬ登録要求または削除要求により、ＨＴＴＰＤモジュール４０４は、ＵＲＬテーブル１１０１に新たな情報を追加し、または対応する情報を削除する。
【００４７】
また、図１６に示すＳＯＡＰプリントサービス機能を提供可能に設定するための設定画面がある。この設定画面においては、ＳＯＡＰプリントサービス機能を動作可能に設定するためのＯＮボタン１６０１、およびその動作可能設定を解除するためのＯＦＦボタン１６０２が表示される。これらＯＮボタン１６０１またはＯＦＦボタン１６０２により選択された設定内容を示す設定値は、ＮＶＲＡＭ２０５に保存される。また、ユーザによるＯＮボタン１６０１の選択によってＳＯＡＰプリントサービス機能が動作可能に設定された場合は、ＳＯＡＰモジュール４０８が、自分が処理するＵＲＬとポート番号と処理モジュールを示すＵＲＬ登録要求をＨＴＴＰＤモジュール４０４に対して発行する。これに対し、ＯＦＦボタン１６０２の選択によってＳＯＡＰプリントサービス機能の動作可能設定が解除されると、ＳＯＡＰモジュール４０８は、削除するＵＲＬを示すＵＲＬ削除要求をＨＴＴＰＤモジュール４０４に対して発行する。このＵＲＬ登録要求または削除要求により、ＨＴＴＰＤモジュール４０４は、ＵＲＬテーブル１１０１に新たな情報を追加し、または対応する情報を削除する。
【００４８】
次に、ＨＴＴＰモジュール内の各処理モジュールがＨＴＴＰＤモジュール４０４に対して発行するＵＲＬ登録要求およびＵＲＬ削除要求について図１７および図１８を参照しながら説明する。図１７はＨＴＴＰモジュール内の各処理モジュールがＨＴＴＰＤモジュール４０４に対して発行するＵＲＬ登録要求の構成を模式的に示す図、図１８はＨＴＴＰモジュール内の各処理モジュールがＨＴＴＰＤモジュール４０４に対して発行するＵＲＬ削除要求の構成を模式的に示す図である。
【００４９】
ＨＴＴＰモジュール内の各処理モジュールがＨＴＴＰＤモジュール４０４に対して発行するＵＲＬ登録要求には、図１７に示すように、登録要求を示すタグ１７０１、登録するＵＲＬ１７０２、登録するポート１７０３、および登録するＵＲＬを処理する処理モジュール名１７０４が記述されている。ＨＴＴＰＤモジュール４０４は、上記ＵＲＬ登録要求を受信すると、このＵＲＬ登録要求に記述されたＵＲＬ１７０２をＵＲＬテーブル１１０１のＵＲＬのエントリ１２０１に、登録するポート１７０３をポートのエントリ１２０２に、処理モジュール名１７０４を処理モジュールのエントリ１２０３にそれぞれ保存し、ＵＲＬテーブル１１０１を更新する。
【００５０】
ＨＴＴＰモジュール内の各処理モジュールがＨＴＴＰＤモジュール４０４に対して発行するＵＲＬ削除要求には、図１８に示すように、削除要求を示すタグ１８０１および削除するＵＲＬ１８０２が記述されている。ＨＴＴＰＤモジュール４０４は、上記ＵＲＬ削除要求を受信すると、ＵＲＬテーブル１１０１上のＵＲＬのエントリから、削除するＵＲＬ１８０２に対応するエントリを検索し、そのエントリを削除する。
【００５１】
ＨＴＴＰモジュール内の各処理モジュールが起動時に実行する処理について図１９を参照しながら説明する。図１９はＨＴＴＰモジュール内の各処理モジュールが起動時に実行する処理の手順を示すフローチャートである。ここでは、各処理モジュールのうち、ＩＰＰモジュール４０８の起動時の処理について説明する。
【００５２】
ＩＰＰモジュール４０８は、図１９に示すように、電源が投入されると、ステップＳ１９０１において、ＮＶＲＡＭ２０５に保存されている設定値を参照して自身が提供するサービスすなわちＩＰＰプリントサービスが動作可能に設定されているか否かを判定する。ここで、ＩＰＰプリントサービスが動作可能に設定されている場合、ＩＰＰモジュール４０８は、ステップＳ１９０２において、図１７に示すようなＵＲＬ登録要求を作成する。例えば、図１７のＵＲＬ登録要求として、登録するＵＲＬ１７０２としての印刷用ＵＲＬとなる「／ｉｐｐ／ｐｒｉｎｔ」、登録するポート１７０３としての印刷用ポートとなるポート番号「６３１」がそれぞれ記述されたものが作成される。また、このポート番号のポートに到来したＵＲＬの要求は全てＩＰＰモジュール４０８により処理されるので、処理モジュール１７０３としての「ＩＰＰ」が記述される。そして、ＩＰＰモジュール４０８は、ステップＳ１９０４において、ＰＩＰＥ１１０２を介して、上記ＵＲＬ登録要求をＨＰＰＤモジュール４０４に対して送り、処理を終了する。
【００５３】
これに対し、上記ステップＳ１９０１においてＩＰＰプリントサービスが動作可能に設定されていないと判定された場合、ＩＰＰモジュール４０８は、ＩＰＰプリントサービス動作可能設定が解除されたと判断し、ステップＳ１９０３において、図１８に示すようなＵＲＬ削除要求を作成する。そして、ＩＰＰモジュール４０８は、ステップＳ１９０４において、ＰＩＰＥ１１０２を介して、上記ＵＲＬ削除要求をＨＰＰＤモジュール４０４に対して送り、処理を終了する。これにより、ＩＰＰモジュール４０８自身が処理するＵＲＬを、ＨＴＴＰＤモジュール４０４により管理されるＵＲＬテーブル１１０１に登録または削除することができる。
【００５４】
ＳＯＡＰプリントサービスにおいても、ＩＰＰプリントサービスと同様に、ＳＯＡＰモジュール４０６により上記処理と同様の処理が行われ、これにより、ＳＯＡＰモジュール４０６自身が処理するＵＲＬを、ＨＴＴＰＤモジュール４０４により管理されるＵＲＬテーブル１１０１に登録または削除することができる。
【００５５】
次に、ＨＴＴＰＤモジュール４０４の処理について図２０を参照しながら説明する。図２０はＨＴＴＰＤモジュール４０４の処理の手順を示すフローチャートである。
【００５６】
ＨＴＴＰＤモジュール４０４は、図２０に示すように、ステップＳ２００１において、ＬＡＮ１００を介して送られる接続要求、各処理モジュールからＰＩＰＥ１１０２を介して送られる処理要求の両方の要求を待つ。この両方の要求待ちには、一般にソケットレイヤ４０３の受信関数が用いられる。ここで、何らかの要求が発生すると、ＨＴＴＰＤモジュール４０４は、ステップＳ２００２において、要求がＬＡＮ１００からの接続要求か否かを判定する。上記要求がＬＡＮ１００からの接続要求である場合、ＨＰＰＤモジュール４０４は、ステップＳ２００３において、ソケットレイヤ４０３の受信関数を用いて、パケットをＬＡＮ１００から受信する。
【００５７】
次いで、ＨＴＴＰＤモジュール４０４は、ステップＳ２００４において、ＨＴＴＰヘッダ部分を解析してＵＲＬを取り出し、そのＵＲＬがＵＲＬテーブル１１０１に存在するか否かを検索する。そして、ＨＴＴＰＤモジュール４０４は、上記検索の結果、ＵＲＬテーブル１１０１に上記取り出されたＵＲＬに合致するものが存在しているか否かを判定する。ここで、上記取り出されたＵＲＬに合致するＵＲＬがあれば、ＨＴＴＰＤモジュール４０４は、ステップＳ２０１１において、当該ＵＲＬを処理する処理モジュールにＨＴＴＰのボディ部分（データ部分）を転送する。例えば、ＵＲＬが／ｉｎｆｏである場合は、ＲｅｍｏｔｅＵＩモジュール４０５に対し、ＨＴＴＰのボディ部分が転送されることになる。
【００５８】
上記ステップＳ２００５においてＵＲＬテーブル１１０１に該当するＵＲＬがないと判定された場合、ＨＴＴＰＤモジュール４０４は、ステップＳ２０１２において、接続要求したＰＣに対し、該当するＵＲＬがない旨を示すメッセージを返送し、処理を上記ステップＳ２００１に戻す。
【００５９】
上記ステップＳ２００２において要求がＬＡＮ１００からの接続要求でないないと判定された場合、ＨＴＴＰＤモジュール４０４は、ステップＳ２００６において、上記要求がＵＲＬ登録要求であるか否かを判定する。ここで、上記要求がＵＲＬ登録要求であれば、ＨＴＴＰＤモジュール４０４は、ステップＳ２００７において、このＵＲＬ登録要求により指定されたＵＲＬ、ポート番号および処理モジュールをＵＲＬテーブル１１０１に登録する。そして、ＨＴＴＰＤモジュール４０４は、ステップＳ２００８において、上記ＵＲＬ登録要求により指定されたポート番号のポートが新たに監視すべきポートであるか否かを判定する。指定されたポート番号のポートが新たに監視すべきポートである場合、ＨＴＴＰＤモジュール４０４は、ステップＳ２０１３において、指定されたポート番号のポート（新規ポート）を上記ステップＳ２００１における複数要求待ちに使用されているポートに追加し、処理を上記ステップＳ２００１に戻す。これに対し、上記ステップＳ２００８において監視すべき新規のポートがないと判定された場合、ＨＴＴＰＤモジュール４０４は、処理を上記ステップＳ２００１に戻す。
【００６０】
上記ステップＳ２００６において上記要求がＵＲＬ登録要求でない、すなわちＵＲＬ削除要求であると判定された場合、ＨＴＴＰＤモジュール４０４は、ステップＳ２００９において、ＵＲＬ削除要求により指定されたＵＲＬに合致するＵＲＬのエントリをＵＲＬテーブル１１０１から削除する。そして、ＨＴＴＰＤもジュール４０４は、ステップＳ２０１０において、ＵＲＬテーブル１１０１から削除されたＵＲＬのポート番号のポートが他のサービスにおいて使用されているか否かを判定する。ここで、ＵＲＬテーブル１１０１から削除されたＵＲＬのポート番号のポートが他のサービスにおいて使用されている場合、ＨＴＴＰＤモジュール４０４は、処理を上記ステップＳ２００１に戻す。これに対し、ＵＲＬテーブル１１０１から削除されたＵＲＬのポート番号のポートが他のサービスにおいて使用されていない場合、ＵＲＬテーブル１１０１から削除されたＵＲＬのポート番号のポートを用いて要求受信を監視する必要がないので、ＨＴＴＰＤモジュール４０４は、ステップＳ２０１４において、複数要求待ちから、ＵＲＬテーブル１１０１から削除されたＵＲＬのポート番号のポートを削除し、処理を上記ステップＳ２００１に戻す。
【００６１】
例えば、ＵＲＬテーブル１１０１の初期状態が図１２に示すような場合において、ＬＡＮ１００からの要求によりｉｐｐ／ｐｒｉｎｔのＵＲＬが指定されると、この指定されたＵＲＬはＵＲＬテーブル１１０１には記述されていないので、上記要求は受け付けられない。そこで、マルチファンクションデバイスにおいて、ユーザによる上述した操作によってＩＰＰプリント機能が動作可能に設定される。この設定後、ＩＰＰモジュール４０８が起動されると、ＩＰＰモジュール４０８はＵＲＬ登録要求を作成し、ＨＴＴＰＤモジュール４０４に対して送る（ステップＳ１９０２，Ｓ１９０４）。
【００６２】
ＨＴＴＰＤモジュール４０４は、ＩＰＰモジュール４０８からのＵＲＬ登録要求を受信すると（ステップＳ２００６）、このＵＲＬ登録要求により指定されたＵＲＬ、そのポート番号おび処理モジュールをＵＲＬテーブル１１０１に登録する（ステップＳ２００７）。これにより、ＵＲＬテーブル１１０１は図１３に示すように更新される。また、上記ＵＲＬ登録要求により指定された６３１番のポートが監視対象のポートとして追加され（ステップＳ２０１３）、この６３１番のポートへの受信要求が監視される（ステップＳ２００１）。
【００６３】
また、ＳＯＡＰプリントサービスが動作可能に設定されている場合、ＳＯＡＰモジュール４０６は、ＵＲＬ登録要求をＨＴＴＰＤモジュール４０４に対して送る。ＨＴＴＰＤモジュール４０４は、ＳＯＡＰモジュール４０６からのＵＲＬ登録要求を受信し、このＵＲＬ登録要求により指定されたＵＲＬ、そのポート番号おび処理モジュールをＵＲＬテーブル１１０１に登録する（ステップＳ２００６，Ｓ２００７）。これにより、ＵＲＬテーブル１１０１は図１４に示すように更新される。また、上記ＵＲＬ登録要求により指定された８０番のポートは、既に監視対象のポートとして含まれているので、この８０番のポートは複数要求待ちに新たに追加されることはない。
【００６４】
また、ＳＯＡＰプリントサービスでは、上述したように、図７のステップＳ７０５において、＜ｄａｔａ−ｓｉｎｋ−ｕｒｉ＞に印刷用ポートのＵＲＬを作成し、続くステップＳ７０６でＰＣ１０３にレスポンスを返す。このときの印刷用ポートのＵＲＬ（図６の６０１）も同様に、図２０に示す手順によって、ＨＴＴＰＤモジュール４０４のＵＲＬテーブル１１０１に登録される。この場合、印刷終了後に、ＵＲＬ削除要求が発行され、このＵＲＬ削除要求によって、登録された印刷用ポートのＵＲＬはＵＲＬテーブル１１０１から削除されることになる。
【００６５】
このように、本実施の形態では、ＨＴＴＰを使用する各処理モジュール４０５〜４０８）からの要求により、ＨＴＴＰＤモジュール４０４が監視するＵＲＬやポートを動的に更新し、ＬＡＮ１００からの要求を受け付けることが可能になる。その結果、ＨＴＴＰＤモジュール４０４の再構築が不要になり、また電源のオフ／オンやＨＴＴＰＤモジュール４０４の再起動などの処理も不要となる。
【００６６】
なお、本発明の目的は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることはいうまでもない。
【００６７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることはいうまでもない。
【００６８】
【発明の効果】
以上説明したように、本発明によれば、複数の処理手段のうち、使用されていない処理手段が使用処理手段として設定されると、使用処理手段として設定された処理手段に対応する処理指定情報の登録要求を発行し、発行された登録要求に基づいて使用処理手段として設定された処理手段に対応する処理指定情報をデータベースに登録するので、使用されていない処理手段が新たに使用処理手段として追加された場合、データベースを動的に更新することができ、新たに追加された処理手段による処理を即座に提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る処理装置が含まれるネットワークシステムの構成を模式的に示す図である。
【図２】図１のマルチファンクションデバイス１０１の構成を示すブロック図である。
【図３】図２の操作部２１４におけるタッチパネル３０１、キー群３０２などの配置構造を模式的に示す平面図である。
【図４】図１のマルチファンクションデバイス１０１がＰＣ１０３に各種サービスを提供するＨＴＴＰサーバ機能を実現するためのモジュール構成を示すブロック図である。
【図５】ＳＯＡＰプリントサービス機能に用いられるプロトコルによりＰＣ１０３からマルチファンクションデバイス１０１に送信されるクリエートジョブ（Ｃｒｅａｔｅ  Ｊｏｂ）と称されるパケットデータの一例を示す図である。
【図６】図５のクリエート（Ｃｒｅａｔｅ  Ｊｏｂ）パケットに対する応答パケットデータの一例を示す図である。
【図７】ＰＣ１０３がマルチファンクションデバイス１０１のＳＯＡＰプリントサービスを用いて印刷を行う場合におけるマルチファンクションデバイス１０１の動作手順を示すフローチャートである。
【図８】ＰＣ１０３からＨＴＴＰのＰＯＳＴメソッドにより送信される印刷データ転送パケットの一例を示す図である。
【図９】図７のステップＳ７０８においてＰＣ１０３に返されるＨＴＴＰレスポンスパケットの一例を示す図である。
【図１０】図７のステップＳ７０４において生成されるエラーレスポンスデータの一例を示す図である。
【図１１】図４のＨＴＴＰＤモジュールとその周りのモジュールに対するデータの流れと制御の流れを模式的に示す図である。
【図１２】図１１のＵＲＬテーブル１１０１の一例を示す図である。
【図１３】図１１のＵＲＬテーブル１１０１の他の例を示す図である。
【図１４】図１１のＵＲＬテーブル１１０１のさらに他の例を示す図である。
【図１５】ＩＰＰプリント機能を設定するための設定画面の一例を示す図である。
【図１６】ＳＡＯＰプリントサービス機能を設定するための設定画面の一例を示す図である。
【図１７】ＨＴＴＰモジュール内の各処理モジュールがＨＴＴＰＤモジュール４０４に対して発行するＵＲＬ登録要求の構成を模式的に示す図である。
【図１８】ＨＴＴＰモジュール内の各処理モジュールがＨＴＴＰＤモジュール４０４に対して発行するＵＲＬ削除要求の構成を模式的に示す図である。
【図１９】ＨＴＴＰモジュール内の各処理モジュールが起動時に実行する処理の手順を示すフローチャートである。
【図２０】ＨＴＴＰＤモジュール４０４の処理の手順を示すフローチャートである。
【符号の説明】
１００  ＬＡＮ
１０１  マルチファンクションデバイス
１０３  ＰＣ
２０２  ＣＰＵ
２０３  ＲＯＭ
２０４  ＲＡＭ
２０５  ＮＶＲＡＭ
２０７  ＨＤＤ
２１０  ネットワーク制御部
２１４  操作部
４０２  ＴＣＰ／ＩＰプロトコルスタック（ＴＣＰ／ＩＰ  Ｐｒｏｔｏｃｏｌ  Ｓｔａｃｋ）
４０３  ソケットレイヤ（Ｓｏｃｋｅｔ  Ｌａｙｅｒ）
４０４  ＨＴＴＰＤモジュール（ＨＴＴＰＤ  ｍｏｄｕｌｅ）
４０５  ＲｅｍｏｔｅＵＩモジュール
４０６  ＳＯＡＰモジュール
４０７  プリントサービス（Ｐｒｉｎｔ  Ｓｅｒｖｉｃｅ）モジュール
４０８  ＩＰＰモジュール
４０９  ＬＰＤモジュール
４１０  プリンタＡＰＩ（Ｐｒｉｎｔｅｒ  ＡＰＩ）
【図１】
2004341732.tif 000003
【図２】
2004341732.tif 000004
【図３】
2004341732.tif 000005
【図４】
2004341732.tif 000006
【図５】
2004341732.tif 000007
【図６】
2004341732.tif 000008
【図７】
2004341732.tif 000009
【図８】
2004341732.tif 000010
【図９】
2004341732.tif 000011
【図１０】
2004341732.tif 000012
【図１１】
2004341732.tif 000013
【図１２】
2004341732.tif 000014
【図１３】
2004341732.tif 000015
【図１４】
2004341732.tif 000016
【図１５】
2004341732.tif 000017
【図１６】
2004341732.tif 000018
【図１７】
2004341732.tif 000019
【図１８】
2004341732.tif 000020
【図１９】
2004341732.tif 000021
【図２０】
2004341732.tif 000022