(57)【要約】    【課題】  セカンダリサービスに関するジョブ管理を行うことができる複合処理システム、複合処理管理方法、並びにプログラムを提供する。    【解決手段】  ネットワークシステム１００は、スキャン処理を行うデバイス１０１と、印刷処理を行うデバイス１０２と、上記スキャン処理及び印刷処理からなる複合処理を制御するホストコンピュータ１０３とを備える。デバイス１０１は、ホストコンピュータ１０３から送信された複合ジョブについてのジョブ生成命令を受信したときに、デバイス１０２にプリントジョブについてのジョブ生成命令を生成・発行し、デバイス１０２は、上記ジョブ生成命令を受信したときに、プリンタジョブを生成して、そのprint-job-idをホストコンピュータ１０３に送信し、ホストコンピュータ１０３は上記print-job-idを指定したget_job_attribute命令をデバイス１０２に送信して、そのprint-job-idにかかる印刷状況を取得する。【選択図】      図１
2007066083.tif 000002
【特許請求の範囲】
【請求項１】
第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムにおいて、
前記第２の処理に対応するジョブの識別情報を前記ホストコンピュータに送信する送信手段と、
前記識別情報を指定してジョブ状態取得命令を前記第２のデバイスに送信するジョブ状態取得命令送信手段と、
前記第２のデバイスが前記ジョブ状態取得命令を受信するのに応じて前記第２の処理に対応するジョブの状態を前記ホストコンピュータに応答する応答手段とを備えることを特徴とする複合処理システム。
【請求項２】
前記ホストコンピュータにより、前記第２のデバイスに前記第２の処理に対応するジョブの識別情報を指定して、前記第２の処理用ジョブを削除する削除命令を送信する削除命令送信手段と、
前記第２のデバイスが前記削除命令を受信するのに応じて前記第２の処理用ジョブを削除する削除手段とを備えることを特徴とする請求項１記載の複合処理システム。
【請求項３】
前記削除命令は、ＨＴＴＰのＧＥＴメソッドを用いることを特徴とする請求項２記載の複合処理システム。
【請求項４】
前記第１のデバイスにより、前記第１の処理により得られたデータをＨＴＴＰのＰＯＳＴメソッドを用いて前記第２のデバイスに送信することを特徴とする請求項１乃至３のいずれか１項に記載の複合処理システム。
【請求項５】
前記ジョブ状態取得命令は、ＨＴＴＰのＧＥＴメソッドを用いることを特徴とする請求項１乃至４のいずれか１項に記載の複合処理システム。
【請求項６】
第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムとが夫々ネットワークを介して接続する複合処理システムにおいて、
前記ホストコンピュータに前記複合処理に対応するジョブの識別情報を送信する送信手段と、
前記第１のデバイスに前記第２の処理に対応するジョブの識別情報を送信する他の送信手段と、
前記第１のデバイスが前記第２の処理に対応するジョブの識別情報を受信するのに応じて、前記複合処理に対応するジョブの識別情報と前記第２の処理に対応するジョブの識別情報との対応付けを行う対応付け手段と、
前記複合処理に対応するジョブの識別情報を指定してジョブ状態取得命令を前記第１のデバイスに送信する命令送信手段と、
前記複合処理に対応するジョブの識別情報と対応づけられた前記第１の処理が終了している場合、前記第１のデバイスが前記ジョブ状態取得命令を受信するのに応じて、前記第１のデバイスにより、前記第２のデバイスに前記複合処理に対応するジョブの識別情報と対応づけられた前記第２の処理に対応するジョブの識別情報を指定して他のジョブ状態取得命令を送信する他の命令送信手段と、
前記第２のデバイスが前記他のジョブ状態取得命令を受信するのに応じて前記ホストコンピュータに前記第２の処理に対応するジョブの状態を応答する応答手段とを備えることを特徴とする複合処理システム。
【請求項７】
前記第１のデバイスが前記ジョブ状態取得命令を受信したときに、前記複合処理用ジョブの識別情報と対応づけられた前記第１の処理が終了していない場合、前記第１のデバイスにより、当該第１の処理に対応するジョブの状態を前記ホストコンピュータに応答する他の応答手段を備えることを特徴とする請求項６記載の複合処理システム。
【請求項８】
前記対応付け手段による対応付けが終了したときに、前記第１のデバイスにより、前記複合処理に対応するジョブの識別情報と対応づけられた前記第１の処理を開始する第１の処理開始手段と、
前記第１の処理により得られたデータが前記第２のデバイスに送信されたときに、前記第２のデバイスにより、前記対応づけられた前記第２の処理に対応するジョブの識別情報にかかる前記第２の処理を開始する第２の処理開始手段とを備えることを特徴とする請求項６又は７記載の複合処理システム。
【請求項９】
前記ホストコンピュータにより、前記第１のデバイスに前記複合処理に対応するジョブの識別情報を指定して、前記複合処理に対応するジョブを削除する削除命令を送信する削除命令送信手段と、
前記第１のデバイスが前記削除命令を受信したとき、前記第１のデバイスにより、前記複合処理に対応するジョブの識別情報と対応づけられた前記第１の処理を終了している場合、前記第２のデバイスに前記複合処理に対応するジョブの識別情報と対応づけられた前記第２の処理に対応するジョブの識別情報を指定して他の削除命令を送信する他の削除命令送信手段と、
前記第２のデバイスが前記他の削除命令を受信したときに、前記第２のデバイスにより、前記第２の処理に対応するジョブを削除すると共に当該ジョブを削除した旨を前記第１のデバイスに応答する削除応答手段と、
前記他の応答手段による応答があったときに、前記第１のデバイスにより、前記ホストコンピュータに前記複合処理に対応するジョブを削除した旨を応答する他の削除応答手段とを備えることを特徴とする請求項６乃至８のいずれか１項に記載の複合処理システム。
【請求項１０】
前記第１のデバイスが前記削除命令を受信したとき、前記第１のデバイスにより、前記複合処理に対応するジョブの識別情報と対応づけられた前記第１の処理を終了していない場合、当該第１の処理用ジョブを削除すると共に前記ホストコンピュータに前記複合処理に対応するジョブを削除した旨を応答するさらにその他の削除応答手段を備えることを特徴とする請求項９記載の複合処理システム。
【請求項１１】
前記削除命令及び前記他の削除命令は、ＨＴＴＰのＧＥＴメソッドを用いることを特徴とする請求項９又は１０記載の複合処理システム。
【請求項１２】
前記第１のデバイスにより、前記第１の処理により得られたデータをＨＴＴＰのＰＯＳＴメソッドを用いて前記第２のデバイスに送信することを特徴とする請求項６乃至１１のいずれか１項に記載の複合処理システム。
【請求項１３】
前記ジョブ状態取得命令及び前記他のジョブ状態取得命令は、ＨＴＴＰのＧＥＴメソッドを用いることを特徴とする請求項６乃至１２のいずれか１項に記載の複合処理システム。
【請求項１４】
第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムの複合処理管理方法において、
前記第２の処理に対応するジョブの識別情報を前記ホストコンピュータに送信する送信ステップと、
前記識別情報を指定してジョブ状態取得命令を前記第２のデバイスに送信するジョブ状態取得命令送信ステップと、
前記第２のデバイスが前記ジョブ状態取得命令を受信するのに応じて前記第２の処理に対応するジョブの状態を前記ホストコンピュータに応答する応答ステップとを備えることを特徴とする複合処理管理方法。
【請求項１５】
第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムとが夫々ネットワークを介して接続する複合処理システムの複合処理管理方法において、
前記ホストコンピュータに前記複合処理に対応するジョブの識別情報を送信する送信ステップと、
前記第１のデバイスに前記第２の処理に対応するジョブの識別情報を送信する他の送信ステップと、
前記第１のデバイスが前記第２の処理に対応するジョブの識別情報を受信するのに応じて、前記複合処理に対応するジョブの識別情報と前記第２の処理に対応するジョブの識別情報との対応付けを行う対応付けステップと、
前記複合処理に対応するジョブの識別情報を指定してジョブ状態取得命令を前記第１のデバイスに送信する命令送信ステップと、
前記複合処理に対応するジョブの識別情報と対応づけられた前記第１の処理が終了している場合、前記第１のデバイスが前記ジョブ状態取得命令を受信するのに応じて、前記第１のデバイスにより、前記第２のデバイスに前記複合処理に対応するジョブの識別情報と対応づけられた前記第２の処理に対応するジョブの識別情報を指定して他のジョブ状態取得命令を送信する他の命令送信ステップと、
前記第２のデバイスが前記他のジョブ状態取得命令を受信するのに応じて前記ホストコンピュータに前記第２の処理に対応するジョブの状態を応答する応答ステップとを備えることを特徴とする複合処理管理方法。
【請求項１６】
第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムの複合処理管理方法をコンピュータにより実行するプログラムにおいて、
前記第２の処理に対応するジョブの識別情報を前記ホストコンピュータに送信する送信モジュールと、
前記識別情報を指定してジョブ状態取得命令を前記第２のデバイスに送信するジョブ状態取得命令送信モジュールと、
前記第２のデバイスが前記ジョブ状態取得命令を受信するのに応じて前記第２の処理に対応するジョブの状態を前記ホストコンピュータに応答する応答モジュールとを備えることを特徴とするプログラム。
【請求項１７】
第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムとが夫々ネットワークを介して接続する複合処理システムの複合処理管理方法をコンピュータにより実行するプログラムにおいて、
前記ホストコンピュータに前記複合処理に対応するジョブの識別情報を送信する送信モジュールと、
前記第１のデバイスに前記第２の処理に対応するジョブの識別情報を送信する他の送信モジュールと、
前記第１のデバイスが前記第２の処理に対応するジョブの識別情報を受信するのに応じて、前記複合処理に対応するジョブの識別情報と前記第２の処理に対応するジョブの識別情報との対応付けを行う対応付けモジュールと、
前記複合処理に対応するジョブの識別情報を指定してジョブ状態取得命令を前記第１のデバイスに送信する命令送信モジュールと、
前記複合処理に対応するジョブの識別情報と対応づけられた前記第１の処理が終了している場合、前記第１のデバイスが前記ジョブ状態取得命令を受信するのに応じて、前記第１のデバイスにより、前記第２のデバイスに前記複合処理に対応するジョブの識別情報と対応づけられた前記第２の処理に対応するジョブの識別情報を指定して他のジョブ状態取得命令を送信する他の命令送信モジュールと、
前記第２のデバイスが前記他のジョブ状態取得命令を受信するのに応じて前記ホストコンピュータに前記第２の処理に対応するジョブの状態を応答する応答モジュールとを備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合処理システム、複合処理管理方法、並びにプログラムに関し、特にネットワーク環境に接続されるデジタル複合機などの複数のネットワーク装置に処理を行わせる複合処理システム、複合処理管理方法、並びにプログラムに関する。
【背景技術】
【０００２】
現在、デジタル複合機市場では、第１の機器が処理（スキャン等）したデータをネットワーク経由で第２の機器に送り、第２の機器がデータに対して処理（印刷、ストレージ等）を行うプッシュ型のサービスが提案されている。しかし従来、プッシュ型サービスを要求するホストコンピュータは、第２の機器が行う処理（セカンダリサービス）を特定するジョブＩＤ等の情報を知る手段がなく、セカンダリサービスのジョブを管理することができなかった。そのため、第２の機器が第１の機器にジョブの状態を通知し、第１の機器はあらかじめ登録されている電子メールアドレスに第２の機器で処理されているジョブの状態を送信することにより状態を通知するという方法が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２０００−２００２２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、この方法においては、ホストコンピュータからのセカンダリサービスのジョブのキャンセルや、ホストコンピュータが能動的にセカンダリサービスのジョブ状態を取得するといったジョブ管理を行うことができなかった。
【０００４】
本発明の目的は、セカンダリサービスに関するジョブ管理を行うことができる複合処理システム、複合処理管理方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１記載の複合処理システムは、第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムにおいて、前記第２の処理に対応するジョブの識別情報を前記ホストコンピュータに送信する送信手段と、前記識別情報を指定してジョブ状態取得命令を前記第２のデバイスに送信するジョブ状態取得命令送信手段と、前記第２のデバイスが前記ジョブ状態取得命令を受信するのに応じて前記第２の処理に対応するジョブの状態を前記ホストコンピュータに応答する応答手段とを備えることを特徴とする。
【０００６】
上記目的を達成するために、請求項６記載の複合処理システムは、第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムとが夫々ネットワークを介して接続する複合処理システムにおいて、前記ホストコンピュータに前記複合処理に対応するジョブの識別情報を送信する送信手段と、前記第１のデバイスに前記第２の処理に対応するジョブの識別情報を送信する他の送信手段と、前記第１のデバイスが前記第２の処理に対応するジョブの識別情報を受信するのに応じて、前記複合処理に対応するジョブの識別情報と前記第２の処理に対応するジョブの識別情報との対応付けを行う対応付け手段と、前記複合処理に対応するジョブの識別情報を指定してジョブ状態取得命令を前記第１のデバイスに送信する命令送信手段と、前記複合処理に対応するジョブの識別情報と対応づけられた前記第１の処理が終了している場合、前記第１のデバイスが前記ジョブ状態取得命令を受信するのに応じて、前記第１のデバイスにより、前記第２のデバイスに前記複合処理に対応するジョブの識別情報と対応づけられた前記第２の処理に対応するジョブの識別情報を指定して他のジョブ状態取得命令を送信する他の命令送信手段と、前記第２のデバイスが前記他のジョブ状態取得命令を受信するのに応じて前記ホストコンピュータに前記第２の処理に対応するジョブの状態を応答する応答手段とを備えることを特徴とする。
【０００７】
上記目的を達成するために、請求項１４記載の複合処理管理方法は、第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムの複合処理管理方法において、前記第２の処理に対応するジョブの識別情報を前記ホストコンピュータに送信する送信ステップと、前記識別情報を指定してジョブ状態取得命令を前記第２のデバイスに送信するジョブ状態取得命令送信ステップと、前記第２のデバイスが前記ジョブ状態取得命令を受信するのに応じて前記第２の処理に対応するジョブの状態を前記ホストコンピュータに応答する応答ステップとを備えることを特徴とする。
【０００８】
上記目的を達成するために、請求項１５記載の複合処理管理方法は、第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムとが夫々ネットワークを介して接続する複合処理システムの複合処理管理方法において、前記ホストコンピュータに前記複合処理に対応するジョブの識別情報を送信する送信ステップと、前記第１のデバイスに前記第２の処理に対応するジョブの識別情報を送信する他の送信ステップと、前記第１のデバイスが前記第２の処理に対応するジョブの識別情報を受信するのに応じて、前記複合処理に対応するジョブの識別情報と前記第２の処理に対応するジョブの識別情報との対応付けを行う対応付けステップと、前記複合処理に対応するジョブの識別情報を指定してジョブ状態取得命令を前記第１のデバイスに送信する命令送信ステップと、前記複合処理に対応するジョブの識別情報と対応づけられた前記第１の処理が終了している場合、前記第１のデバイスが前記ジョブ状態取得命令を受信するのに応じて、前記第１のデバイスにより、前記第２のデバイスに前記複合処理に対応するジョブの識別情報と対応づけられた前記第２の処理に対応するジョブの識別情報を指定して他のジョブ状態取得命令を送信する他の命令送信ステップと、前記第２のデバイスが前記他のジョブ状態取得命令を受信するのに応じて前記ホストコンピュータに前記第２の処理に対応するジョブの状態を応答する応答ステップとを備えることを特徴とする。
【０００９】
上記目的を達成するために、請求項１６記載のプログラムは、第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムの複合処理管理方法をコンピュータにより実行するプログラムにおいて、前記第２の処理に対応するジョブの識別情報を前記ホストコンピュータに送信する送信モジュールと、前記識別情報を指定してジョブ状態取得命令を前記第２のデバイスに送信するジョブ状態取得命令送信モジュールと、前記第２のデバイスが前記ジョブ状態取得命令を受信するのに応じて前記第２の処理に対応するジョブの状態を前記ホストコンピュータに応答する応答モジュールとを備えることを特徴とする。
【００１０】
上記目的を達成するために、請求項１７記載のプログラムは、第１の処理を行う第１のデバイスと、第１の処理により得られたデータに対して第２の処理を行う第２のデバイスと、前記第１の処理と前記第２の処理から成る複合処理を制御するホストコンピュータとが夫々ネットワークを介して接続された複合処理システムとが夫々ネットワークを介して接続する複合処理システムの複合処理管理方法をコンピュータにより実行するプログラムにおいて、前記ホストコンピュータに前記複合処理に対応するジョブの識別情報を送信する送信モジュールと、前記第１のデバイスに前記第２の処理に対応するジョブの識別情報を送信する他の送信モジュールと、前記第１のデバイスが前記第２の処理に対応するジョブの識別情報を受信するのに応じて、前記複合処理に対応するジョブの識別情報と前記第２の処理に対応するジョブの識別情報との対応付けを行う対応付けモジュールと、前記複合処理に対応するジョブの識別情報を指定してジョブ状態取得命令を前記第１のデバイスに送信する命令送信モジュールと、前記複合処理に対応するジョブの識別情報と対応づけられた前記第１の処理が終了している場合、前記第１のデバイスが前記ジョブ状態取得命令を受信するのに応じて、前記第１のデバイスにより、前記第２のデバイスに前記複合処理に対応するジョブの識別情報と対応づけられた前記第２の処理に対応するジョブの識別情報を指定して他のジョブ状態取得命令を送信する他の命令送信モジュールと、前記第２のデバイスが前記他のジョブ状態取得命令を受信するのに応じて前記ホストコンピュータに前記第２の処理に対応するジョブの状態を応答する応答モジュールとを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、第１のデバイスで行われる第１の処理により得られたデータに対して第２のデバイスが行う第２の処理に対応するジョブの識別情報をホストコンピュータに送信し、その識別情報を指定してジョブ状態取得命令を第２のデバイスに送信し、第２のデバイスがジョブ状態取得命令を受信するのに応じて第２の処理に対応するジョブの状態をホストコンピュータに応答するので、ホストコンピュータが能動的にセカンダリサービスのジョブ状態を取得することができ、セカンダリサービスに関するジョブ管理を行うことができる。
【００１２】
好ましくは、ホストコンピュータにより、第２のデバイスに第２の処理に対応するジョブの識別情報を指定して、第２の処理用ジョブを削除する削除命令を送信し、第２のデバイスがその削除命令を受信するのに応じて第２の処理用ジョブを削除することにより、ホストコンピュータがセカンダリサービスに関するジョブの削除を簡便に行うことができる。
【００１３】
好ましくは、削除命令は、ＨＴＴＰのＧＥＴメソッドを用い、第１のデバイスは、第１の処理により得られたデータをＨＴＴＰのＰＯＳＴメソッドを用いて第２のデバイスに送信し、ジョブ状態取得命令は、ＨＴＴＰのＧＥＴメソッドを用いることにより、複合処理をＨＴＴＰプロトコルを用いて簡便に制御することができる。
【００１４】
本発明によれば、ホストコンピュータに第１のデバイスで行われる第１の処理と第２のデバイスで行われる第２の処理とから成る複合処理に対応するジョブの識別情報を送信し、第１のデバイスが自装置に送信された第２の処理に対応するジョブの識別情報を受信するのに応じて、複合処理に対応するジョブの識別情報と第２の処理に対応するジョブの識別情報との対応付けを行い、複合処理に対応するジョブの識別情報と対応づけられた第１の処理が終了している場合、第１のデバイスが複合処理に対応するジョブの識別情報を指定して自装置に送信されたジョブ状態取得命令を受信するのに応じて、第１のデバイスにより、第２のデバイスに複合処理に対応するジョブの識別情報と対応づけられた第２の処理に対応する他のジョブの識別情報を指定して他のジョブ状態取得命令を送信し、第２のデバイスが他のジョブ状態取得命令を受信するのに応じてホストコンピュータに第２の処理に対応するジョブの状態を応答するので、複数の複合処理がホストコンピュータから第１のデバイスに送信されている場合であっても、所望のセカンダリサービスに関するジョブ管理を行うことができる。
【００１５】
好ましくは、第１のデバイスがジョブ状態取得命令を受信したときに、複合処理用ジョブの識別情報と対応づけられた第１の処理が終了していない場合、第１のデバイスにより、その第１の処理に対応するジョブの状態をホストコンピュータに応答することにより、ホストコンピュータが複合処理全体についての管理を速やかに行うことができる。
【００１６】
好ましくは、上記対応付けが終了したときに、第１のデバイスにより、複合処理に対応するジョブの識別情報と対応づけられた第１の処理を開始し、第１の処理により得られたデータが第２のデバイスに送信されたときに、第２のデバイスにより、上記対応づけられた第２の処理に対応するジョブの識別情報にかかる第２の処理を開始することにより、ホストコンピュータは、複合処理用ジョブ生成命令を出すことなく、所望の複合処理を実行することができる。
【００１７】
好ましくは、ホストコンピュータにより、第１のデバイスに複合処理に対応するジョブの識別情報を指定して、複合処理に対応するジョブを削除し、第１のデバイスがその削除命令を受信したとき、第１のデバイスにより、複合処理に対応するジョブの識別情報と対応づけられた第１の処理を終了している場合、第２のデバイスに複合処理に対応するジョブの識別情報と対応づけられた第２の処理に対応するジョブの識別情報を指定して他の削除命令を送信し、第２のデバイスがその他の削除命令を受信したときに、第２のデバイスにより、第２の処理に対応するジョブを削除すると共にそのジョブを削除した旨を第１のデバイスに応答し、その応答があったときに、第１のデバイスにより、ホストコンピュータに複合処理に対応するジョブを削除した旨を応答することにより、複数の複合処理がホストコンピュータから第１のデバイスに送信されている場合であっても、所望のセカンダリサービスに関するジョブの削除を行うことができる。
【００１８】
また、好ましくは、第１のデバイスが上記削除命令を受信したとき、第１のデバイスにより、複合処理に対応するジョブの識別情報と対応づけられた第１の処理を終了していない場合、その第１の処理用ジョブを削除すると共にホストコンピュータに複合処理に対応するジョブを削除した旨を応答することにより、ホストコンピュータは所望の複合処理の削除を速やかに行うことができる。
【００１９】
好ましくは、削除命令及び他の削除命令は、ＨＴＴＰのＧＥＴメソッドを用い、第１のデバイスは、第１の処理により得られたデータをＨＴＴＰのＰＯＳＴメソッドを用いて第２のデバイスに送信し、ジョブ状態取得命令及び他のジョブ状態取得命令は、ＨＴＴＰのＧＥＴメソッドを用いることにより、複合処理をＨＴＴＰプロトコルを用いて簡便に制御することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面を用いて詳述する。
【００２１】
図１は、本発明の第１の実施の形態に係る複合処理システムとしてのネットワークシステムの全体構成を示す概略図である。
【００２２】
図１において、ネットワークシステム１００は、スキャン処理を行うデバイス１０１（第１のデバイス）と、デバイス１０１で生成されたスキャンデータに対して印刷処理を行うデバイス１０２（第２のデバイス）と、上記スキャン処理及び印刷処理からなる複合処理を制御するホストコンピュータ１０３，１０４，１０５とを備え、これらはＬＡＮ１０６を介して夫々接続する。
【００２３】
ここで、ホストコンピュータ１０３，１０４，１０５は、後述する図１２や図１４に示すようなＨＴＴＰを用いて、デバイス１０１のスキャンジョブやデバイス１０２のプリントジョブのジョブ管理を行う。
【００２４】
また、ＬＡＮ１０６は、デバイス１０１，１０２及びホストコンピュータ１０３，１０４，１０５を互いに接続するネットワークであればよく、例えば、イントラネットやインターネットで構成される。
【００２５】
さらに、本実施の形態では、ネットワークに接続されるホストコンピュータは３台であるが、デバイス１０１，１０２に対する制御を様々なプロトコルを用いて行うことができる装置であれば、台数は３台に限定されるものではない。
【００２６】
また、本実施の形態では、デバイス１０１でスキャン処理、デバイス１０２でプリント処理を行う。しかし、デバイス１０１，１０２がスキャン処理、プリント処理のいずれの処理も可能である場合ば、これに限定されるものでなく、デバイス１０１でプリント処理、デバイス１０２でスキャン処理を行うようにしてもよい。
【００２７】
図２は、図１におけるデバイス１０２のハードウェア構成を示すブロック図である。
【００２８】
以下、デバイス１０１，１０２は、同一の構成を有するため、デバイス１０２の構成についてのみ説明し、デバイス１０１の構成に関しては、同一番号に「’」を付して説明を省略する。
【００２９】
図２において、デバイス１０２は、処理制御部２００とプリンタ２１０とスキャナ２１１とオペレーションパネル２０９とを備える。処理制御部２００は、外部とＬＡＮ１０６を介して接続する。プリンタ２１０は処理制御部２００による制御のもと印刷を行う。スキャナ２１１は処理制御部２００による制御のもとスキャンを行う。オペレーションパネル２０９は処理制御部２００に対するユーザインタフェースである。
【００３０】
処理制御部２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０８、プリンタＩ／Ｆ制御部２１２、ＮＶＲＡＭ２０５、パネル制御部２０６、ネットワークＩ／Ｆ制御部２０７を備える。これらは、ＣＰＵ２０１からの制御信号や各装置間のデータ信号が送受信されるシステムバスであるバス１０６を介して互いに接続する。ＣＰＵ２０１は、スキャンサービス処理プログラムあるいはプリンタサービス処理プログラムを動作させて、デバイス１０２全体の制御を行なう。ＰＯＭ２０２は、リードオンリーメモリであり、上記処理プログラムや装置のブートプログラムや固定パラメータ等が格納されている。ＲＡＭ２０３は、ランダムアクセスメモリであり、ＣＰＵ２０１がデバイス１０２全体を制御する際に、一時的なデータの格納などに使用する。ＨＤＤ２０８は、ハードディスクドライブであり、印刷データの格納など、様々なデータの格納に使用する。プリンタＩ／Ｆ制御部２０４は、プリンタ２１０を制御する装置である。スキャナＩ／Ｆ制御部２１２は、スキャナ２１１を制御する装置である。ＮＶＲＡＭ２０５は、不揮発性のメモリであり印刷装置の各種設定値を保存する。パネル制御部２０６は、オペレーションパネル２０９を制御し、各種情報の表示、使用者からの指示入力を行なう。ネットワークＩ／Ｆ制御部２０７は、ＬＡＮ１０６とのデータの送受信を制御する。
【００３１】
図３は、図１のネットワークシステム１００により実行される複合ジョブ管理処理の手順を示すフローチャートである。
【００３２】
図３において、まず、ホストコンピュータ１０３でクライアント処理プログラムの動作が開始する（ステップＳ３０１）。また、デバイス１０１でスキャンサービス処理プログラムの動作が開始する（ステップＳ３０２）。また、デバイス１０２でプリンタサービス処理プログラムの動作が開始する（ステップＳ３０３）。その後、ホストコンピュータ１０３で、複合ジョブについてのジョブ生成命令（create_job命令）を生成し、この生成した命令をデバイス１０１に対して発行する（ステップＳ３０４）。
【００３３】
デバイス１０１は、ホストコンピュータ１０３で発行された上記ジョブ生成命令を受信すると、このジョブ生成命令に基づきプリントジョブについてのジョブ生成命令（create_job命令）を生成する。そしてこの生成した命令をデバイス１０２に対して発行する（ステップＳ３０５）。
【００３４】
デバイス１０２は、上記デバイス１０１で発行されたジョブ生成命令を受信すると、このジョブ生成命令に基づきプリントジョブを生成し（ステップＳ３０６）、その生成したプリントジョブに対するprint-job-idを生成する（ステップＳ３０７）。そしてデバイス１０１にこの生成したprint-job-idを応答する（ステップＳ３０８）。
【００３５】
一方、デバイス１０１は、ステップＳ３０５の処理の後、ホストコンピュータ１０３で発行されたジョブ生成命令に基づき自装置内で実行するスキャンジョブを生成する（ステップＳ３０９）。そして、その生成したスキャンジョブに対するscan-job-idを生成する（ステップＳ３１０）。尚、本処理では、ステップＳ３０５のジョブ生成命令を生成、発行した後にステップＳ３１０の処理を行う。しかし、デバイス１０１が上記ホストコンピュータ１０３で発行されたジョブ生成命令を受信した後であれば、ステップＳ３１０の処理を行った後にステップＳ３０５の処理を行ってもよい。
【００３６】
次に、デバイス１０１は、デバイス１０２から上記ステップＳ３０８の応答があったときに、その応答に係るprint-job-idと共にステップＳ３１０で生成したscan-job-idをホストコンピュータ１０３に応答する（ステップＳ３１１）。
【００３７】
その後、ホストコンピュータ１０３は、スキャン開始命令を生成すると、この生成した命令をデバイス１０１に対して発行する（ステップＳ３１２）。
【００３８】
デバイス１０１は、ホストコンピュータ１０３で発行された上記スキャン開始命令を受信すると、この命令に基づきスキャン処理を開始する（ステップＳ３１３）。その後、このスキャン処理により生成されたスキャンデータをデバイス１０２に送信する（ステップＳ３１４）。
【００３９】
デバイス１０２は、デバイス１０１で送信された上記スキャンデータを受信すると、このスキャンデータに対して印刷処理を開始する（ステップＳ３１９）。
【００４０】
その後、ホストコンピュータ１０３は、スキャン終了命令を生成すると、この生成した命令をデバイス１０１に対して発行する（ステップＳ３１６）。
【００４１】
デバイス１０１は、ホストコンピュータ１０３で発行された上記スキャン終了命令を受信すると、ステップＳ３１３で開始したスキャン処理を強制終了した後（ステップＳ３１７）、プリントデータの終了を示す、chunk-end命令を生成する。そしてこの生成した命令をデバイス１０２に対して発行する（ステップＳ３１８）。
【００４２】
デバイス１０２は、デバイス１０１で発行された上記chunk-end命令を受信すると、ステップＳ３１５で開始した印刷処理を強制終了する（ステップＳ３１９）。
【００４３】
また、ホストコンピュータ１０３は、デバイス１０２における印刷処理状況を問い合わせるget_job_attribute命令を生成すると、print-job-idを指定してこの命令をデバイス１０２に対して発行する（ステップＳ３２０）。
【００４４】
デバイス１０２は、ホストコンピュータ１０３で発行された上記get_job_attribute命令を受信する。その後、その受信した命令で指定されたprint-job-idにかかるプリントジョブの印刷処理状況（attribute）をホストコンピュータ１０３に応答する（ステップＳ３２１）。
【００４５】
このステップＳ３２０，Ｓ３２１の処理により、ホストコンピュータ１０３は、能動的にセカンダリサービスであるデバイス１０２におけるプリントジョブのジョブ状態を取得することができ、セカンダリサービスに関するジョブ管理を行うことができる。
【００４６】
また、ホストコンピュータ１０３は、デバイス１０２における印刷ジョブを終了させるcancel_job命令を生成すると、print-job-idを指定してこの命令をデバイス１０２に対して発行する（ステップＳ３２２）。
【００４７】
デバイス１０２は、ホストコンピュータ１０３で発行された上記命令を受信すると、その受信した命令で指定されたprint-job-idにかかるプリントジョブを終了させる（ステップＳ３２３）。そして、この終了した印刷処理の印刷処理状況（attribute）、すなわち処理が終了した旨をホストコンピュータ１０３に応答する（ステップＳ３２４）。
【００４８】
このステップＳ３２２，Ｓ３２３の処理により、ホストコンピュータ１０３がセカンダリサービスに関するジョブの削除を簡便に行うことができる。
【００４９】
以上、図３の処理によれば、デバイス１０１は、ホストコンピュータ１０３から送信された複合ジョブ(Scan_to_Print)についてのジョブ生成命令を受信したときに、デバイス１０２にプリントジョブについてのジョブ生成命令（create_job命令）を生成・発行する（ステップＳ３０５）。デバイス１０２は、上記ジョブ生成命令を受信したときに、プリントジョブを生成して（ステップＳ３０６）、デバイス１０１を介してホストコンピュータ１０３にprint-job-idを送信する（ステップＳ３０８，Ｓ３１１）。ホストコンピュータ１０３は、上記print-job-idを指定したget_job_attribute命令をデバイス１０２に送信して、デバイス１０２からの応答を受信することによりそのprint-job-idにかかる印刷状況を取得する（ステップＳ３２０，Ｓ３２１）。よって、ホストコンピュータ１０３が能動的にセカンダリサービス（デバイス１０２で起動するプリンタサービス処理プログラム）のジョブ状態を取得することができ、セカンダリサービスに関するジョブ管理を行うことができる。
【００５０】
図７は、図３におけるステップＳ３０５におけるcreate_job命令を発行する際に利用されるデータを示す図である。
【００５１】
ここで、図３におけるステップＳ３０５におけるcreate_job命令を発行する際に利用されるデータ７００は、ＸＭＬ形式で記述されたパケットデータである。このパケットデータは、スキャンサービス処理プログラムが動作しているデバイス１０１からプリントサービス処理プログラムが動作しているデバイス１０２へ送信される。
【００５２】
データ７００には、<requesting-user-name>タグに要求元であるホストコンピュータ１０３のユーザ名に関する情報が記述される。また、デバイス１０２に対してプリントジョブの開始を指示するコマンドとして、<job-instruction>タグにそのプリントジョブの処理に関する指示の情報が記述されている。
【００５３】
また、<job-instruction>タグには、印刷部数を設定する<copies>タグ、両面印刷を設定する<sides>タグ、印刷の仕上げを設定する<finishing>タグなどが含まれる。プリントサービス処理プログラムが動作しているデバイス１０２は、これらのタグに設定された値に基づき、ジョブの処理を行う。
【００５４】
さらに、<job-instruction>タグには、オプションとして、プリントジョブに関する通知情報を設定する<notification-instruction>タグと、通知先を設定する<notification-recipient>タグと、通知条件を設定する<event>タグとが記述される。デバイス１０２は、これらのタグに設定された値に基づいてイベント送信処理を行う。
【００５５】
図８は、図３におけるステップＳ３０８の応答の際に利用されるデータを示す図である。
【００５６】
ここで、図３におけるステップＳ３０８の応答の際に利用されるデータ８００は、図７のデータ７００と同様にＸＭＬ形式で記述されたパケットデータであり、ＨＴＴＰ上のＳＯＡＰを用いて送受信される。
【００５７】
データ８００には、ステップＳ３０８でデバイス１０１から送信されたcreate_job命令に対する結果コードを示す(<result-code>タグ)や、上記命令に基づき生成されたprint-job-idを示す(<job-id>タグ)や、印刷処理の際に用いられる印刷用ポートのURIを示す(<data-sink-uri>タグ)等の情報が含まれている。
【００５８】
本実施の形態では、上記<data-sink-uri>タグには、「http://192.168.1.4/job001」というURIが示されている。
【００５９】
次に、図９，図１０を用いて、ステップＳ３１４，Ｓ３１５の処理を具体的に説明する。
【００６０】
まず、デバイス１０１は、ステップＳ３１４で図９に示す印刷データ転送パケット９００をＷＥＢサーバに送信する。ここで、印刷データ転送パケット９００は、ＨＴＴＰ  ＰＯＳＴメソッドを使用するものであり、且つデバイス１０１におけるスキャン処理により生成されたスキャンデータを添付データとして備える。
【００６１】
ＷＥＢサーバはこの印刷データ転送パケット９００を受信すると、このパケットに記述されるＵＲＬ（以下「転送先ＵＲＬ」という。）にその添付されたスキャンデータを転送する。
【００６２】
一方、デバイス１０２は、ステップＳ３０６でプリントジョブを生成したときに、転送先ＵＲＬにあるデータ（スキャンデータ）を印刷用ポートで取得すべく、ＨＴＴＰ  ＧＥＴメソッドを使用する印刷データ転送パケットをＷＥＢサーバに送信している。
【００６３】
従って、ＷＥＢサーバは、転送先ＵＲＬにステップＳ３１４でスキャンデータが転送されたとき、その転送されたスキャンデータを印刷用データとして印刷用ポートに送信する。
【００６４】
デバイス１０１の処理制御部２００は、ＷＥＢサーバが印刷用ポートに印刷用データを送信したときに、ネットワークＩ／Ｆ制御部２０７を介してその印刷用データを取得する。
【００６５】
その後、この印刷用データの取得処理が正常に終了すると、デバイス１０２は、ステップＳ３１５の処理に進み、処理制御部２００は、プリンタ２１０を制御してその取得した印刷用データを印刷する印刷処理を開始する。
【００６６】
さらに、デバイス１０２は、この印刷処理が正常に終了したときは、図１０に示すＨＴＴＰレスポンスパケット１０００をホストコンピュータ１０３に送信し、印刷用ポートを削除（クローズ）して印刷動作を終了する。
【００６７】
このように、ＨＴＴＰのＰＯＳＴメソッドとＧＥＴメソッドを使用することにより、デバイス１０１でスキャンデータが生成されたときに、そのスキャンデータをデバイス１０１からデバイス１０２に確実に送信することができる。
【００６８】
尚、図３の処理において、デバイス１０１は、図３におけるステップＳ３０４で発行されたcreate_job命令にエラーがあると判別したときは、図１１に示すようなエラーレスポンスデータ１１００を生成して、ホストコンピュータ１０３に送信する。
【００６９】
また、同様に、デバイス１０２がステップＳ３０５で発行されたcreate_job命令にエラーがあると判別したときも、同様のエラーレスポンスデータを生成して、ホストコンピュータ１０３に送信するようにしてもよい。
【００７０】
ホストコンピュータ１０３は、これらのエラーレスポンスデータを受信したときは、ステップＳ３１２におけるスキャン開始命令の生成・発行は行うことなく、そのジョブにかかる複合処理を終了する。
【００７１】
これにより、複合処理に係るジョブ生成の段階でエラーが生じたときに、ホストコンピュータ１０３がそのジョブに係る複合処理の実行をデバイス１０１，１０２に誤って指示することを防止することができる。
【００７２】
図１２は、図３におけるステップＳ３２０のget_job_attribute命令を発行する際に利用されるデータを示す図である。
【００７３】
ここで、図３におけるステップＳ３２０でget_job_attribute命令を発行する際に利用されるデータ１２００は、ＸＭＬ形式で記述されているパケットデータである。
【００７４】
データ１２００にはユーザ名がセットされる<requesting-user-name>１１１、取得したいジョブのIDがセットされる<job-id>１１２、取得したい属性がセットされる<attribute-names>１１３が記述される。
【００７５】
<attribute-names>１１３は、複数のジョブの名称、ジョブの状態をジョブの属性として取得したい場合、属性記載欄１１４ａ，１１４ｂにその取得したい各属性を１つずつセットすることができる。ここで、本実施の形態では、ジョブの名称を指定するコマンドは“job-name”、ジョブの状態を指定するコマンドは“job-state”で示されている。
【００７６】
本実施の形態において、上記属性の値はジョブ生成時に決定されるが、ジョブの状態遷移によってその値は変化する。また、ジョブが保持していない属性がデータ１２００で指定されていた場合、その属性は無視される。
【００７７】
図１３は、図３におけるステップＳ３２１の応答の際に利用されるデータを示す図である。
【００７８】
ここで、図３におけるステップＳ３２１の応答の際に利用されるデータ１３００は、ＸＭＬ形式で記述されているパケットデータである。
【００７９】
データ１３００には実行結果がセットされる<result-code>１２１、要求された属性の属性値がセットされる<attribute-values>１２２、それぞれの属性に対する属性値が属性毎にセットされる属性表示欄１２３が記述される。
【００８０】
<result-code>１２１には、正常終了であれば“OK”、エラーであれば“unsupported-attributes”、“unknown-id”等エラー内容がセットされる。
【００８１】
また、属性表示欄１２３には、<job-name>に“sample-job”、<job-state>に“pending-held”等がセットされる。
【００８２】
図１４は、図３におけるステップＳ３２２のcancel_job命令を発行する際に利用されるデータを示す図である。
【００８３】
ここで、図３におけるステップＳ３２２でcancel_job命令を発行する際に利用されるデータ１４００は、ＸＭＬ形式で記述されているパケットデータである。
【００８４】
データ１４００には、ユーザ名がセットされる<requesting-user-name>１３１と、キャンセルしたいジョブのIDがセットされる<job-id>１３２とが記述される。
【００８５】
例えば、図１４に示すように、<job-id>１３２には、キャンセルしたいジョブのIDとして“001”がセットされる。
【００８６】
図１５は、図３におけるステップＳ３２４の応答の際に利用されるデータを示す図である。
【００８７】
ここで、図３におけるステップＳ３２４の応答の際に利用されるデータ１５００は、ＸＭＬ形式で記述されているパケットデータである。
【００８８】
データ１５００には、実行結果がセットされる<result-code>１４１が記述される。<result-code>１４１には、正常終了であれば“OK”、エラーであれば“unsupported-operation”、“unknown-id”等エラー内容がセットされる。
【００８９】
以上、図７〜図１５に示すようなデータを用いることにより、複合処理をＨＴＴＰプロトコルを用いて簡便に制御することができる。
【００９０】
図４、図５は、図１のネットワークシステム１００により実行される複合ジョブ管理処理の変形例の手順を示すフローチャートである。
【００９１】
図４、図５の処理は、図３の処理と基本的に同じであり、図３のステップと同一のステップには同一符号を付して重複した説明は省略し、以下に図３の処理と異なる部分についてのみ説明する。また、図３の処理と同様、本処理についてもＨＴＴＰプロトコルにより複合処理の制御を行う。
【００９２】
図４において、まず、ホストコンピュータ１０３及びデバイス１０１，１０２の夫々でプログラムの動作が開始すると（ステップＳ３０１〜Ｓ３０３）、ホストコンピュータ１０３は、複合ジョブ実行(Scan_to_Print)命令を生成する。そして、この生成した命令をデバイス１０１に対して発行する（ステップＳ４０１）。
【００９３】
デバイス１０１は、ホストコンピュータ１０３で発行された上記Scan_to_Print命令を受信すると、このScan_to_Print命令に基づきプリントジョブについてのジョブ生成命令（create_job命令）を生成する。そして、この生成した命令をデバイス１０２に対して発行する（ステップＳ３０５）。
【００９４】
デバイス１０２は、デバイス１０１で発行された上記ジョブ生成命令を受信すると、図３のステップＳ３０６〜Ｓ３０８と同様の処理によりプリントジョブを生成し、そのプリントジョブに対するprint-job-idをデバイス１０１に応答する。
【００９５】
一方、デバイス１０１は、ステップＳ３０５の処理の後、ホストコンピュータ１０３で発行されたScan_to_Print命令に基づき自装置内で実行するスキャンジョブを生成する（ステップＳ４０２）。そしてこのスキャンジョブと対応づけられたScan_to_Print-idを生成し、ホストコンピュータ１０３に応答する（ステップＳ４０３）。ここで、本処理では、ステップＳ３０５のジョブ生成命令を生成、発行した後にステップＳ４０２の処理を行う。しかし、デバイス１０１が上記ホストコンピュータ１０３で発行されたScan_to_Print命令を受信した後であれば、ステップＳ４０２の処理を行った後にステップＳ３０５の処理を行ってもよい。
【００９６】
次に、デバイス１０１は、デバイス１０２から上記ステップＳ３０８の応答があったときに、その応答に係るprint-job-idとステップＳ４０３で生成したScan_to_Print-idを対応づけた状態でジョブ対応表（図５）に追加する（ステップＳ４０４）。この処理の後、ステップＳ３１３〜Ｓ３１５の処理と同様の処理により、デバイス１０１においてスキャン処理を開始すると共に、デバイス１０２で印刷処理を開始する。
【００９７】
その後、ホストコンピュータ１０３は、スキャン終了命令を生成すると、ステップＳ３１６〜Ｓ３１９の処理と同様の処理により、デバイス１０１においてスキャン処理を強制終了すると共に、デバイス１０２で印刷処理を強制終了する。
【００９８】
また、図５に示すように、ホストコンピュータ１０３は、複合処理状況を問い合わせるget_job_attribute命令を生成すると、Scan_to_Print-idを指定してこの命令をデバイス１０１に対して発行する（ステップＳ４０５）。
【００９９】
デバイス１０１は、ホストコンピュータ１０３で発行された上記get_job_attribute命令が受信する。すると、その受信した命令で指定されたScan_to_Print-idとジョブ対応表において対応づけられているスキャンジョブが完了した状態であるか否かを判別する（ステップＳ４０６）。そのスキャンジョブが完了した状態でないときは、その状態を複合処理の処理状況（attribute）としてホストコンピュータ１０３に応答する（ステップＳ４０７）。具体的には、スキャンジョブ実行状態、スキャンジョブ実行待ち状態のいずれかの状態を複合処理の処理状況として応答する。これにより、ホストコンピュータ１０３が複合処理全体についての管理を速やかに行うことができる。
【０１００】
一方、ステップＳ４０６の判別の結果、上記スキャンジョブが完了した状態であるときは、デバイス１０１は、ジョブ対応表により上記Scan_to_Print-idと対応づけられたprint-job-idを指定する（ステップＳ４０８）。その後、上記print-job-idを指定したget_job_attribute命令を生成し、この命令をデバイス１０２に対して発行する（ステップＳ４０９）。
【０１０１】
デバイス１０２は、デバイス１０１で発行された上記get_job_attribute命令を受信する。すると、その命令で指定されたprint-job-idにかかるプリントジョブの状態を処理状況（attribute）としてデバイス１０１に応答する（ステップＳ４１０）。
【０１０２】
デバイス１０２から上記応答があると、デバイス１０１で上記応答に係るプリントジョブの状態を複合処理の処理状況（attribute）としてホストコンピュータ１０３に応答する（ステップＳ４１１）。
【０１０３】
また、ホストコンピュータ１０３は、cancel_job命令を生成すると、Scan_to_Print-idを指定してこの命令をデバイス１０１に対して発行する（ステップＳ４１２）。
【０１０４】
デバイス１０１は、ホストコンピュータ１０３で発行された上記cancel_job命令を受信する。するとジョブ対応表により上記指定されたScan_to_Print-idに対応するスキャンジョブが完了した状態であるか否かを判別する（ステップＳ４１３）。スキャンジョブが完了した状態でないときは、そのスキャンジョブを終了して（ステップＳ４１４）、上記Scan_to_Print-idに対応する複合処理が終了した旨を処理状況（attribute）としてホストコンピュータ１０３に応答する（ステップＳ４１５）。これにより、ホストコンピュータ１０３は所望の複合処理の削除を速やかに行うことができる。
【０１０５】
一方、ステップＳ４１３の判別の結果、上記指定されたScan_to_Print-idに対応するスキャンジョブが完了した状態であるときは、デバイス１０１は、ジョブ対応表により上記指定されたScan_to_Print-idに対応するprint-job-idを指定する（ステップＳ４１６）。そして上記print-job-idを指定したcancel_job命令を生成して、デバイス１０２に対して発行する（ステップＳ４１７）。
【０１０６】
デバイス１０２は、デバイス１０１で発行された上記cancel_job命令を受信すると、上記命令で指定されたprint-job-idにかかるプリントジョブの印刷処理を終了して（ステップＳ４１８）、その旨をデバイス１０１に応答する（ステップＳ４１９）。
【０１０７】
デバイス１０１は、デバイス１０２から上記応答があると、上記Scan_to_Print-idに対応する複合処理が終了した旨を処理状況（attribute）としてホストコンピュータ１０３に応答する（ステップＳ４２０）。
【０１０８】
これにより、複数の複合処理がホストコンピュータ１０３からデバイス１０１に送信されている場合であっても、所望のセカンダリサービスに関するジョブの削除を行うことができる。
【０１０９】
以上、図４，５の処理によれば、デバイス１０１は、ホストコンピュータ１０３から送信された複合ジョブ実行(Scan_to_Print)命令を受信したときに、スキャンジョブを生成する（ステップＳ４０１，Ｓ４０２）。そしてこのスキャンジョブと対応づけられたScan_to_Print-idをホストコンピュータ１０３に応答すると共に（ステップＳ４０３）、デバイス１０２にプリントジョブについてのジョブ生成(Create_job)命令を送信、発行する（ステップＳ３０５）。デバイス１０２は、上記ジョブ生成命令を受信したときに、プリントジョブを生成して（ステップＳ３０６）、デバイス１０１にそのprint-job-idを生成、応答する（ステップＳ３０７，Ｓ３０８）。デバイス１０１は、上記print-job-idを受信したときに、Scan_to_Print-idとprint-job-idとの対応付けを行う（ステップＳ４０４）。デバイス１０１は、ホストコンピュータ１０３からScan_to_Print-idを指定したget_job_attribute命令を受信する。その際に、そのScan_to_Print-idと対応づけられたスキャンジョブが完了状態である場合（ステップＳ４０５，ステップＳ４０６でＹＥＳ）、デバイス１０２にそのScan_to_Print-idと対応づけられたprint-job-idを指定したget_job_attribute命令を生成、発行する（ステップＳ４０８，Ｓ４０９）。デバイス１０２は、上記get_job_attribute命令を受信したときにそのprint-job-idにかかる印刷状況をデバイス１０１を介してホストコンピュータ１０３に応答する（ステップＳ４１０，Ｓ４１１）。これにより、複数の複合処理がホストコンピュータ１０３からデバイス１０１に送信されている場合であっても、所望のセカンダリサービスに関するジョブ管理を行うことができる。
【０１１０】
図６は、図１におけるデバイス１０１に格納されるジョブ対応表を示す図である。
【０１１１】
ここで、本実施の形態にかかるジョブ対応表は、より具体的にはデバイス１０１のＲＡＭ２０３’に格納される。
【０１１２】
図６において、ジョブ対応表５００は、ＳｃａｎＴｏＰｒｉｎｔＪｏｂＩＤ列５０１、ＳｃａｎＪｏｂＳｔａｔｕｓ列５０２、Ｈｏｓｔ列５０３、ＰｒｉｎｔＪｏｂＩＤ列５０４を備える。ＳｃａｎＴｏＰｒｉｎｔＪｏｂＩＤ列５０１は、スキャンサービス処理プログラムが動作しているデバイス１０１のScan_to_Print-job-idを示す。ＳｃａｎＪｏｂＳｔａｔｕｓ列５０２は、現在のスキャンジョブの処理状態を示す。Ｈｏｓｔ列５０３は、クライアント処理プログラムが動作しているホストコンピュータ１０３のアドレスを示す。ＰｒｉｎｔＪｏｂＩＤ列５０４は、プリンタサービス処理プログラムが動作しているデバイス１０２のprint-job-idを示す。
【０１１３】
ＳｃａｎＪｏｂＳｔａｔｕｓ列５０２は、スキャンジョブ完了状態を“END”、スキャンジョブ実行状態を“RUN”、スキャンジョブ実行待ち状態を“WAIT”で示す。また、Ｈｏｓｔ列５０３は、ホストコンピュータ１０３で開始したジョブが複合ジョブない場合“NONE”がセットされる。
【０１１４】
デバイス１０１は、ホストコンピュータ１０３よりget_attribute命令や、cancel_job命令といったステータス管理コマンドがそのScan_to_Print-job-idを指定した状態で発行されると、ＳｃａｎＴｏＰｒｉｎｔＪｏｂＩＤ列５０１にあるその命令で指定されたScan_to_Print-job-idと対応づけられているスキャンジョブの処理状態をＳｃａｎＪｏｂＳｔａｔｕｓ列５０２より取得する。
【０１１５】
また、発行されたステータス管理コマンドがget_attribute命令であり、且つ、取得したスキャンジョブの処理状態が“RUN”であるときは、上記Scan_to_Print-job-idと対応づけられているホストコンピュータ１０３のアドレスをＨｏｓｔ列５０３から取得する。そして、そのアドレスに対して現在スキャンジョブ実行中である旨を送信する。
【０１１６】
また、発行されたステータス管理コマンドがcancel_job命令であり、取得したスキャンジョブの処理状態が“RUN”であるときは、現在実行中のスキャンジョブを終了させる。その後、上述の方法でＨｏｓｔ列５０３からアドレスを取得し、そのアドレスに対して複合処理が終了した旨を送信する。
【０１１７】
一方、発行されたステータス管理コマンドがget_attribute命令であり、且つ、取得したスキャンジョブの処理状態が“WAIT”であるときは、上述の方法でＨｏｓｔ列５０３からアドレスを取得する。そして、そのアドレスに対して現在スキャンジョブ待ち状態である旨を送信する。
【０１１８】
また、発行されたステータス管理コマンドがcancel_job命令であり、取得したスキャンジョブの処理状態が“WAIT”であるときは、現在処理待ち中のスキャンジョブを終了させる。その後、上述の方法でＨｏｓｔ列５０３からアドレスを取得し、そのアドレスに対して複合処理が終了した旨を送信する。
【０１１９】
以上のように、デバイス１０１は、ホストコンピュータ１０３から発行されたステータス管理コマンドで指定されたScan_to_Print-job-idとジョブ対応表５００において対応づけられているスキャンジョブの処理状態が、“RUN”又は“WAIT”であるときは、デバイス１０１によるスキャンジョブの管理状態をホストコンピュータ１０３に応答する。この時、デバイス１０１によるスキャンジョブの管理状態を、上記Scan_to_Print-job-idに係る複合処理の処理状況（attribute）としてホストコンピュータ１０３に応答する。
【０１２０】
一方、発行されたステータス管理コマンドがget_attribute命令であり、且つ、取得したスキャンジョブの処理状態が“END”であるときは、デバイス１０１での処理が完了し、デバイス１０２での印刷処理に移行したと判断する。そしてＳｃａｎＴｏＰｒｉｎｔＪｏｂＩＤ列５０１にある上記ホストコンピュータ１０３からのget_attribute命令で指定されたScan_to_Print-job-idと対応づけられているprint-job-idをＰｒｉｎｔＪｏｂＩＤ列５０４より取得する。その後、デバイス１０１は、get_attribute命令を生成し、この生成したget_attribute命令を上記取得したprint-job-idを指定した状態でデバイス１０２に発行する。
【０１２１】
その後、デバイス１０２から上記print-job-idに係るプリントジョブの状況が送信されたときに、上記Scan_to_Print-job-idと対応づけられているホストコンピュータ１０３のアドレスをＨｏｓｔ列５０３から取得する。そして、そのアドレスに対して送信されたプリントジョブの状況を送信する。
【０１２２】
また、発行されたステータス管理コマンドがcancel_job命令であり、且つ、取得したスキャンジョブの処理状態が“END”であるときは、上述の方法でprint-job-id取得後、cancel_job命令を生成する。そして、この生成したcancel_job命令を上記取得したprint-job-idを指定した状態でデバイス１０２に発行する。
【０１２３】
その後、デバイス１０２から上記print-job-idに係るプリントジョブが終了した旨が送信されたときに、上記Scan_to_Print-job-idと対応づけられているホストコンピュータ１０３のアドレスをＨｏｓｔ列５０３から取得する。そして、そのアドレスに対して複合処理が終了した旨を送信する。
【０１２４】
以上のように、デバイス１０１は、ホストコンピュータ１０３から発行されたステータス管理コマンドで指定されたScan_to_Print-job-idと、ジョブ対応表５００において対応づけられているスキャンジョブの処理状態が“END”であるときは、デバイス１０２によるプリントジョブの管理状態をホストコンピュータ１０３に応答する。このとき、デバイス１０２によるプリントジョブの管理状態を、上記Scan_to_Print-job-idに係る複合処理の処理状況（attribute）として、ホストコンピュータ１０３に応答する。
【０１２５】
このように、ジョブ対応表を構成することにより、図４，５の処理によるジョブ間の対応付けを確実に行うことができる。
【０１２６】
また、本発明の目的は、上記実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム又は装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１２７】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２８】
また、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(ＯＳ)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３０】
また、上記プログラムは、上述した実施の形態の機能をコンピュータで実現することができればよく、その形態は、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給されるスクリプトデータ等の形態を有するものでもよい。
【０１３１】
プログラムを供給する記録媒体としては、例えば、ＲＡＭ、ＮＶ−ＲＡＭ、フロッピー（登録商標）ディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ）、磁気テープ、不揮発性のメモリカード、他のＲＯＭ等の上記プログラムを記憶できるものであればよい。或いは、上記プログラムは、インターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【図面の簡単な説明】
【０１３２】
【図１】本発明の第１の実施の形態に係る複合処理システムとしてのネットワークシステムの全体構成を示す概略図である。
【図２】図１におけるデバイスの印刷装置としてのハードウェア構成を示すブロック図である。
【図３】図１のネットワークシステムにより実行される複合ジョブ管理処理の手順を示すフローチャートである。
【図４】図１のネットワークシステムにより実行される複合ジョブ管理処理の変形例の手順を示すフローチャートである。
【図５】図４の複合ジョブ管理処理の変形例の手順の続きを示すフローチャートである。
【図６】図１におけるデバイスに格納されるジョブ対応表を示す図である。
【図７】図３におけるステップＳ３０５におけるcreate_job命令を発行する際に利用されるデータを示す図である。
【図８】図３におけるステップＳ３０８の応答の際に利用されるデータを示す図である。
【図９】図３におけるステップＳ３１４でＷＥＢサーバに送信する印刷データ転送パケットを示す図である。
【図１０】図３におけるステップＳ３１５で開始した印刷処理が正常終了したときにホストコンピュータに送信されるＨＴＴＰレスポンスパケットを示す図である。
【図１１】図３におけるステップＳ３０４で発行されたcreate_job命令にエラーがあると判別したときにホストコンピュータに送信されるエラーレスポンスデータを示す図である。
【図１２】図３におけるステップＳ３２０のget_job_attribute命令を発行する際に利用されるデータを示す図である。
【図１３】図３におけるステップＳ３２１の応答の際に利用されるデータを示す図である。
【図１４】図３におけるステップＳ３２２のcancel_job命令を発行する際に利用されるデータを示す図である。
【図１５】図３におけるステップＳ３２４の応答の際に利用されるデータを示す図である。
【符号の説明】
【０１３３】
１００  ネットワークシステム
１０１，１０２  デバイス
１０３，１０４，１０５  ホストコンピュータ
【図１】
2007066083.tif 000003
【図２】
2007066083.tif 000004
【図３】
2007066083.tif 000005
【図４】
2007066083.tif 000006
【図５】
2007066083.tif 000007
【図６】
2007066083.tif 000008
【図７】
2007066083.tif 000009
【図８】
2007066083.tif 000010
【図９】
2007066083.tif 000011
【図１０】
2007066083.tif 000012
【図１１】
2007066083.tif 000013
【図１２】
2007066083.tif 000014
【図１３】
2007066083.tif 000015
【図１４】
2007066083.tif 000016
【図１５】
2007066083.tif 000017