ネットワークを介して接続された、情報処理装置と印刷装置とを有する印刷システムであって、前記情報処理装置は、前記印刷装置にジョブに対する印刷開始要求を送信する印刷要求送信手段と、前記印刷装置が処理を開始したジョブに割り当てた識別子を取得し、記憶する記憶手段と、識別子を含むステータス取得要求を前記印刷装置へ送信するステータス取得要求送信手段とを有し、前記印刷装置は、前記情報処理装置から前記印刷開始要求を受信し、処理を開始した当該印刷開始要求に対応するジョブに識別子を割り当てる割当手段と、計時部を用いて、当該印刷開始要求に対応するジョブの処理のタイムアウトを管理するタイムアウト処理手段と、前記情報処理装置から前記ステータス取得要求を受信し、当該ステータス取得要求に含まれる識別子を取得する第一の取得手段と、処理中のジョブに割り当てた識別子を取得する第二の取得手段と、前記第一の取得手段にて取得した識別子と前記第二の取得手段にて取得した識別子とを比較する比較手段とを有し、前記タイムアウト処理手段は、前記比較手段の比較により識別子が一致した場合、前記計時部の値をリセットすることを特徴とする印刷システム。前記印刷装置は、ジョブに対する前記割当手段による識別子の割り当て後、当該ジョブの状態を一定期間において特定の状態に設定し維持する維持手段を更に備え、前記情報処理装置は、前記印刷要求送信手段による印刷開始要求の送信後、一定期間内にジョブの状態を示すジョブ情報の取得要求を送信し、当該ジョブ情報を取得するジョブ情報取得手段と、前記ジョブ情報にて示されたジョブの状態が前記特定の状態か否かを判定する状態判定手段とを更に有し、前記記憶手段は、前記状態判定手段により前記ジョブ情報にて示されたジョブの状態が前記特定の状態の際に、対応する識別子を記憶することを特徴とする請求項1の印刷システム。ネットワークを介して接続された、情報処理装置と印刷装置とを有する印刷システムにおける情報処理装置であって、前記印刷装置にジョブに対する印刷開始要求を送信する印刷要求送信手段と、前記印刷装置が処理を開始したジョブに割り当てた識別子を取得し、記憶する記憶手段と、識別子を含むステータス取得要求を前記印刷装置へ送信するステータス取得要求送信手段とを有することを特徴とする情報処理装置。ネットワークを介して接続された、情報処理装置と印刷装置とを有する印刷システムにおける印刷装置であって、前記情報処理装置から印刷開始要求を受信し、処理を開始した当該印刷開始要求に対応するジョブに識別子を割り当てる割当手段と、計時部を用いて、当該印刷開始要求に対応するジョブの処理のタイムアウトを管理するタイムアウト処理手段と、前記情報処理装置からステータス取得要求を受信し、当該ステータス取得要求に含まれる識別子を取得する第一の取得手段と、処理中のジョブに割り当てた識別子を取得する第二の取得手段と、前記第一の取得手段にて取得した識別子と前記第二の取得手段にて取得した識別子とを比較する比較手段とを有し、前記タイムアウト処理手段は、前記比較手段の比較により識別子が一致した場合、前記計時部の値をリセットすることを特徴とする印刷装置。ネットワークを介して接続された、情報処理装置と印刷装置とを有する印刷システムにおける情報処理装置の制御方法であって、印刷要求送信手段が、前記印刷装置にジョブに対する印刷開始要求を送信する印刷要求送信工程と、記憶手段が、前記印刷装置が処理を開始したジョブに割り当てた識別子を取得し、記憶部に記憶する記憶工程と、ステータス取得要求送信手段が、識別子を含むステータス取得要求を前記印刷装置へ送信するステータス取得要求送信工程とを有することを特徴とする制御方法。ネットワークを介して接続された、情報処理装置と印刷装置とを有する印刷システムにおける印刷装置の制御方法であって、割当手段が、前記情報処理装置から印刷開始要求を受信し、処理を開始した当該印刷開始要求に対応するジョブに識別子を割り当てる割当工程と、タイムアウト手段が、計時部を用いて、当該印刷開始要求に対応するジョブの処理のタイムアウトを管理するタイムアウト処理工程と、第一の取得手段が、前記情報処理装置からステータス取得要求を受信し、当該ステータス取得要求に含まれる識別子を取得する第一の取得工程と、第二の取得手段が、処理中のジョブに割り当てた識別子を取得する第二の取得工程と、比較手段が、前記第一の取得工程にて取得した識別子と前記第二の取得工程にて取得した識別子とを比較する比較工程とを有し、前記タイムアウト処理工程において、前記比較工程による比較により識別子が一致した場合、前記計時部の値をリセットすることを特徴とする制御方法。コンピュータを、印刷装置にジョブに対する印刷開始要求を送信する印刷要求送信手段、前記印刷装置が処理を開始したジョブに割り当てた識別子を取得し、記憶する記憶手段、識別子を含むステータス取得要求を前記印刷装置へ送信するステータス取得要求送信手段として機能させるためのプログラム。コンピュータを、情報処理装置から印刷開始要求を受信し、処理を開始した当該印刷開始要求に対応するジョブに識別子を割り当てる割当手段、計時部を用いて、当該印刷開始要求に対応するジョブの処理のタイムアウトを管理するタイムアウト処理手段、前記情報処理装置からステータス取得要求を受信し、当該ステータス取得要求に含まれる識別子を取得する第一の取得手段、処理中のジョブに割り当てた識別子を取得する第二の取得手段、前記第一の取得手段にて取得した識別子と前記第二の取得手段にて取得した識別子とを比較する比較手段として機能させ、前記タイムアウト処理手段は、前記比較手段の比較により識別子が一致した場合、前記計時部の値をリセットすることを特徴とするプログラム。一般的なOSの印刷サポート機能として、情報処理装置と接続されているネットワークケーブルが抜き差しされた場合、現在印刷中の印刷ジョブを一度削除し、新たに同じ内容のジョブを再印刷する方法がある。例えば、ジョブ1を印刷中にネットワークケーブルの抜き差しが発生すると、印刷サポート機能は、プリントキューに保持されているジョブ1を削除し、新たに同じ内容のジョブをジョブ2として生成し、印刷する。ここで、印刷装置は、情報処理装置と接続されているネットワークケーブルの抜き差しを検知できないためジョブ1を処理中のままとなる。情報処理装置のポートモニタは印刷装置に対してジョブ2の印刷開始要求を行うが、印刷装置はジョブ1を処理中の為、エラー応答をする。一方、情報処理装置のランゲージモニタは印刷装置に対してステータス取得要求を行う。印刷装置は情報処理装置からのアクセスがある為、タイムアウト処理のカウンタをリセットする。これにより、タイムアウトが発生せず、印刷装置はジョブ1を処理中のままとなり、ジョブ2の処理を一定期間、開始できないという課題があった。上述のような課題を解決するため、本発明は以下の構成を有する。すなわち、ネットワークを介して接続された、情報処理装置と印刷装置とを有する印刷システムであって、前記情報処理装置は、前記印刷装置にジョブに対する印刷開始要求を送信する印刷要求送信手段と、前記印刷装置が処理を開始したジョブに割り当てた識別子を取得し、記憶する記憶手段と、識別子を含むステータス取得要求を前記印刷装置へ送信するステータス取得要求送信手段とを有し、前記印刷装置は、前記情報処理装置から前記印刷開始要求を受信し、処理を開始した当該印刷開始要求に対応するジョブに識別子を割り当てる割当手段と、計時部を用いて、当該印刷開始要求に対応するジョブの処理のタイムアウトを管理するタイムアウト処理手段と、前記情報処理装置から前記ステータス取得要求を受信し、当該ステータス取得要求に含まれる識別子を取得する第一の取得手段と、処理中のジョブに割り当てた識別子を取得する第二の取得手段と、前記第一の取得手段にて取得した識別子と前記第二の取得手段にて取得した識別子とを比較する比較手段とを有し、前記タイムアウト処理手段は、前記比較手段の比較により識別子が一致した場合、前記計時部の値をリセットすることを特徴とする。また、本発明に係る別の構成として、ネットワークを介して接続された、情報処理装置と印刷装置とを有する印刷システムにおける情報処理装置であって、前記印刷装置にジョブに対する印刷開始要求を送信する印刷要求送信手段と、前記印刷装置が処理を開始したジョブに割り当てた識別子を取得し、記憶する記憶手段と、識別子を含むステータス取得要求を前記印刷装置へ送信するステータス取得要求送信手段とを有する。また、本発明に係る別の構成として、ネットワークを介して接続された、情報処理装置と印刷装置とを有する印刷システムにおける印刷装置であって、前記情報処理装置から印刷開始要求を受信し、処理を開始した当該印刷開始要求に対応するジョブに識別子を割り当てる割当手段と、計時部を用いて、当該印刷開始要求に対応するジョブの処理のタイムアウトを管理するタイムアウト処理手段と、前記情報処理装置からステータス取得要求を受信し、当該ステータス取得要求に含まれる識別子を取得する第一の取得手段と、処理中のジョブに割り当てた識別子を取得する第二の取得手段と、前記第一の取得手段にて取得した識別子と前記第二の取得手段にて取得した識別子とを比較する比較手段とを有し、前記タイムアウト処理手段は、前記比較手段の比較により識別子が一致した場合、前記計時部の値をリセットすることを特徴とする。印刷装置は情報処理装置からのステータス要求をジョブ単位で区別でき、自身が処理中でないジョブに対するステータス要求により不正にタイムアウト処理のカウンタをリセットしてしまうことを回避できる。以下、添付図面を参照して本発明に係る実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。<第一実施形態>[システム構成]図1乃至図12を参照し、本発明に係る第一実施形態を説明する。図1において、情報処理装置100は、一般的なPCPersonalComputerの構成を有する。情報処理装置100は、RAM101、外部記憶装置102、キーボード103、CPU104、ネットワークボード105、表示用ディスプレイ106、およびインターフェースI/F部108を有する。RAM101は、外部記憶装置102に保存される各種プログラムがワークメモリとして使用する。外部記憶装置102にはアプリケーションプログラム群とOSOperatingSystem、プリンタドライバやその他各種のデータが格納されている。キーボード103は、ユーザによるデータ入力あるいは動作指示に使用される。表示用ディスプレイ106は、データ表示や状態の通知に使用される。ネットワークボード105はネットワーク109を介し接続された他の機器との通信を行う。インターフェース部108は、印刷装置110との接続を制御する。印刷装置110は、インターフェースI/F部111、RAM112、ROM113、CPU114、エンジン115を有する。インターフェース部111はネットワーク109に接続され、同様にネットワークに接続された他の機器との通信を行う。ROM113には、制御プログラムなどが格納されている。CPU114は、ROM113に格納された制御プログラムに従って印刷装置110を制御する。RAM112は、CPU114のワークメモリとして使用され、受信したデータを一時的に保存する受信バッファとしても用いられる。エンジン115はRAM112に保存されたデータを印刷する。本実施形態における印刷装置110のエンジン115はインクジェット方式を例に説明を行うが、これに限定されることなく、例えば、電子写真方式、熱転写方式などのエンジンを適用することもできる。図2は、図1に示した情報処理装置100に適用可能な印刷システムを表すブロック図である。アプリケーション201はOSの印刷サポート機能202を介して、ユーザインターフェースモジュール203から印刷設定情報を取得し、印刷データを作成する。アプリケーション201が作成した印刷データはOSの印刷サポート機能202を介してスプールデータ207としてスプーラ205のプリントキュー206に印刷ジョブとして蓄えられる。印刷ジョブはスプーラ205を経由してランゲージモニタ208に渡される。ランゲージモニタ208は、印刷ジョブをポートモニタ209に出力する。ポートモニタ209はランゲージモニタ208から渡された印刷ジョブを、ネットワーク109を経由して印刷装置110に送信する。本実施形態ではポートモニタ209としてWSD印刷用のポートモニタを想定しているが、これに限定されることなく本発明が適用可能な構成であれば、様々なポートモニタを用いることができる。[WSD印刷処理]図3はWSD印刷における印刷処理の流れを示したものである。処理301でスプーラ205はランゲージモニタ208の関数であるStartDocPortを呼び出し、印刷処理を開始する。ランゲージモニタ208は、ポートモニタ209の関数であるStartDocPortを呼び出す。処理302でスプーラ205は、ランゲージモニタ208の関数であるWritePortを呼び出し、印刷データの送信を開始する。処理303でランゲージモニタ208は、ポートモニタ209の関数であるWritePortを呼び出す。処理304でポートモニタ209は、CreatePrintJobRequest印刷開始要求を印刷装置110に送信する。これにより、印刷要求送信手段を実現する。処理305で印刷装置110は、JobID306と共にCreatePrintJobResponse印刷開始応答をポートモニタ209に返却する。ここで用いられるJobID306は、印刷装置110が印刷ジョブを管理する為に、印刷ジョブに付加する一意に識別するためのID識別子である。処理307でポートモニタ209はSendDocumentRequest文書送信要求を印刷装置110に送信後、WritePortの処理を完了する。処理308にてランゲージモニタ208は、ポートモニタ209のWritePortによる処理完了後、一定期間内にGetActiveJobsRequestを印刷装置110に送信する。処理309で印刷装置110は、GetActiveJobsResponseをランゲージモニタ208に返却する。GetActiveJobsResponseはJobIDとJobStateを有する情報テーブル310を含んでいる。これにより、ジョブ情報取得手段を実現する。なお、本実施形態では、一定期間X秒の例として、4秒以内とする。なお、この時間はこの値に限定されるものではなく、他の設定値を用いてもよい。また、管理者が必要に応じて値を変更可能なように構成してもよい。処理311でスプーラ205は、印刷データを印刷装置110に送信する為にランゲージモニタ208の関数であるWritePortを呼び出す。続いて、ランゲージモニタ208はポートモニタ209の関数であるWritePortを呼び出す。そして、ポートモニタ209は印刷データを印刷装置110に送信する。印刷データの送信を行いつつ、処理312でランゲージモニタ208はGetPrinterElementsRequestステータス取得要求を印刷装置110に送信する。ここでのGetPrinterElementsRequestはJobID306を含んでいる。これにより、ステータス取得要求送信手段を実現する。処理313で印刷装置110は、ランゲージモニタ208に対して、GetPrinterElementsResponseステータス取得応答を返却する。本実施形態におけるシステムは、上述した処理を、印刷データを全て送信するまで繰り返す処理314、315、316。[JobIDおよびJobState]図4を用いて、上述した処理の中で用いられるジョブ情報としてのJobIDとJobStateについて説明する。印刷装置110は、図4a、b、cに示したようなテーブルを用いて現在処理しているジョブの状態を管理する。JobIDは、現在処理しているジョブを一意に識別するためのID識別子であり、JobStateはジョブの状態を表す。各ジョブは、JobIDおよびJobStateを有する。印刷装置110が情報処理装置100からジョブを受信した直後は図4aに示すようにジョブの状態はStartedとなっている。印刷装置110がジョブを処理し、印刷している時は図4bに示すようにジョブの状態はPrintingとなっている。印刷装置110がジョブの印刷を完了すると図4cに示すようにジョブの状態はCompletedとなる。なお、本実施形態において上記三種類のジョブの状態を示したが、これ以外の状態を定義しても構わない。[Request受信時の動作]図5を用いて、印刷装置110がCreatePrintJobRequestを受信した際図3の処理304及び、GetActiveJobsRequestを受信した際図3の処理308の動作を詳細に説明する。印刷装置110はポートモニタ209からCreatePrintJobRequestを受信するとS501、自身がジョブ処理中かどうかを判定するS502。ジョブ処理中でない場合S502にてNO、印刷装置110は受信した要求に対応する新たなJobIDを割り当てるS503。これにより、割当手段を実現する。そして、JobStateにStartedを設定し、その状態を一定時間X秒、保持するS503。ここでの一定時間は、予め定義されているものとする。また、本実施形態では、Startedの状態を特定の状態として、一定時間、維持させている。このとき、JobIDとJobStateはテーブル310のような状態になる。印刷装置110は、CreatePrintJobResponseに成功を示す情報をセットするS505。そして、印刷装置110は、CreatePrintJobResponseをポートモニタ209に送信するS507。そして、本処理を終了する。印刷装置110がジョブ処理中の場合S502にてYES、印刷装置110は、CreatePrintJobResponseにエラーを示す情報をセットするS506。そして、印刷装置110は、CreatePrintJobResponseをポートモニタ209に送信するS507。そして、本処理を終了する。印刷装置110は、ランゲージモニタ208からGetActiveJobsRequestを受信するS511。その後、図5に示すテーブル310のJobIDとJobStateをGetActiveJobsResponseに含めてランゲージモニタ208に送信するS512。そして、本処理を終了する。[WritePortにおける処理]図6は図3の処理302で、スプーラ205からランゲージモニタ208の関数であるWritePortが呼ばれた際のランゲージモニタ208の処理を示すフローチャートである。スプーラ205がランゲージモニタ208のWritePortを呼び出すと、ランゲージモニタ208はポートモニタ209の関数であるWritePortを呼び出すS601。ポートモニタ209のWritePortによる処理が成功するとS602にてYES、ランゲージモニタ208は一定時間X秒以内にGetActiveJobsRequestを印刷装置110に送信するS603。ここでの一定時間は、予め定義されているものとする。そして、GetActiveJobsRequestの送信に成功し、印刷装置110からGetActiveJobsResponseが返ってきたらS605にてYES、ランゲージモニタ208は、GetActiveJobsResponseに含まれるJobStateの値がStartedになっているかどうか判定を行うS606。これにより、ジョブの状態判定を行う。JobStateの値がStartedになっている場合はS606にてYES、ランゲージモニタ208はそのJobIDを記憶部であるRAM101等に記憶するS607。そして、ランゲージモニタ208は、スプーラ205に成功を通知するS608。そして、本処理を終了する。なお、図6には図示していないが、S607にて記憶したJobIDは、印刷処理終了時にランゲージモニタ208が削除する。ポートモニタ209のWritePortが失敗した場合はS602にてNO、ランゲージモニタ208は、スプーラ205に失敗を通知するS604。そして、本処理を終了する。GetActiveJobsRequestに失敗した場合S605にてNOやJobStateの値がStartedでない場合S606にてNOは、ポートモニタ209のWrtePortは成功している。よって、その場合には、ランゲージモニタ208は、その旨をスプーラ205に成功を通知するS608。そして、本処理を終了する。[GetActiveJobsResponseの構成]次に図7を用いて、図3の309にて印刷装置110が返却するGetActiveJobsResponseについて説明する。GetActiveJobsResponseは、情報処理装置100から送信されるGetActiveJobsRequestに対する印刷装置110の応答であり、印刷装置110が処理しているジョブの状態を表している。GetActiveJobsResponseはXMLeXtensibleMarkupLanguageフォーマットで記述されている。図7にて示したXMLデータに含まれる記述700では、印刷装置110が処理中のジョブのIDJobIDタグは1であり、状態JobStateタグはStartedであることが分かる。また、Jobの名称JobNameはJob1と定義されている。図5のS504で説明したように印刷装置110はCreatePrintJobRequestを受信後、X秒間はジョブの状態JobStateをStartedにする。このとき、JobIDが1のジョブはまだ処理が開始されたばかりであることがわかる。[GetPrinterElementsの送受信]図8は、図3に示す処理312および処理315でランゲージモニタ208が印刷装置110に対してGetPrinterElementsRequestを送信する時のランゲージモニタ208の処理を示すフローチャートである。ランゲージモニタ208は処理を開始すると、保存しているJobIDがあるか否かを確認するS801。保存しているJobIDがある場合はS801にてYES、GetPrinterElementsRequestのXMLデータに、保存しているJobIDをセットするS802。そして、ランゲージモニタ208は、GetPrinterElementsRequestを印刷装置110へ送信するS804。そして、本処理を終了する。保存しているJobIDが無い場合S801にてNO、ランゲージモニタ208は、JobIDとしてデフォルト値を、GetPrinterElementsRequestのXMLにセットするS803。そして、ランゲージモニタ208は、GetPrinterElementsRequestを送信するS804。そして、本処理を終了する。図9は、図3に示す処理312及び処理315で印刷装置110がGetPrinterElementsRequestを受信した時の印刷装置110の処理を示すフローチャートである。印刷装置110は処理を開始すると、GetPrinterElementsRequestを受信するS901。そして、印刷装置110は、GetPrinterElementsRequestに含まれるJobIDを取得するS902。これにより、第一の取得手段を実現する。次に印刷装置110は、現在処理中のジョブのJobIDを取得するS903。これにより、第二の取得手段を実現する。印刷装置110は、S902およびS903にて取得した2つのJobIDを比較するS904。そして、それらのJobIDが一致した場合はS904にてYES、印刷装置110は、タイムアウト処理用カウンタ以下、カウンタの値をリセットするS905。そして、印刷装置110は、ランゲージモニタ208へGetPrinterElementsResponseを送信するS906。そして、本処理を終了する。JobIDが一致しない場合はS904にてNO、印刷装置110は、カウンタの値をリセットせずにランゲージモニタ208へGetPrinterElementsResponseを送信するS906。そして、本処理を終了する。[タイムアウト処理]ここでのタイムアウト処理とは、印刷装置110の占有を避けるために、印刷ジョブを送信した情報処理装置100から一定期間にわたって印刷装置110へアクセスがなければ、印刷ジョブの処理を中止し、印刷装置110の占有を解除することを意味する。図10を用いてタイムアウト処理について説明する。印刷装置110は、情報処理装置100からアクセスがあったか否かを確認するS1001。ここでいうアクセスの有無は、情報処理装置100から印刷装置110に印刷データが送られてきた場合や、図9のS904でJobIDが一致した場合などが該当する。しかし、他の条件を用いて、アクセスの有無を判定しても構わない。アクセスがあった場合はS1001にてYES、印刷装置110はカウンタの値をリセット初期化するS1002。そして、本処理を終了する。アクセスが無かった場合はS1001にてNO、印刷装置110は、カウンタの値を1つ増やすことでカウントするS1003。続いて、印刷装置110は、カウンタの値が閾値を超えているかどうか確認するS1004。ここで用いられる閾値は予め定義されているものとし、管理者などによって適宜変更できるように構成されても構わない。カウンタの値が閾値を超えている場合はS1004にてYES、印刷装置110は印刷ジョブの処理を中止するS1005。そして、本処理を終了する。カウンタの値が閾値を超えていない場合はS1004にてNO、そのまま本処理を終了する。印刷装置110は、上記処理を印刷ジョブが終了するまで定期的に行う。なお、上記タイムアウト処理において、アクセスが無かった場合の経過を計測する計時部としてカウンタを用いたが、他の手段例えばタイマー等を用いて、タイムアウトを管理しても構わない。[GetPrinterElemtnsの構成例]図11を用いて、ランゲージモニタ208が送信するGetPrinterElementsRequest図3の処理312、315及び、印刷装置110が送信するGetPrinterElementsResponse図3の処理313、316について説明する。GetPrinterElementsRequestはランゲージモニタ208が印刷装置110に対して、印刷装置110の状態の取得及び、意図的に印刷装置110への印刷データの送信を一時的に停止している際に印刷装置110のタイムアウト処理を防止する為に送信する。ランゲージモニタ208が意図的に印刷装置110への印刷データの送信を一時的に停止する例としては、手指し印刷において手指し印刷のガイドダイアログを表示する場合などが挙げられる。印刷装置110は受信したGetPrinterElementsRequest対してGetPrinterElementsResponseで応答する。図11a、bはGetPrinterElementsRequestの構成例を示している。GetPrinterElementsRequestはXMLフォーマットで記述されている。図11aは図8のS802にて、ランゲージモニタ208が保存しているJobIDをセットした場合のGetPrinterElementsRequestの記述例を示している。JobIDJobIDタグに1がセットされている記述1100。図11bは図8のS803にて、ランゲージモニタ208がJobIDとしてデフォルト値をセットした場合のGetPrinterElementsRequestの記述例を示している。ここでは、JobIDにデフォルト値としてInvalidがセットされている記述1101。図11cはGetPrinterElementsResponseの構成例を示している。GetPrinerElementsResponseには、印刷装置110のRAM容量や、インクの情報など、印刷装置110の状態に関する情報が記述されている。なお、ここで示した各要求/応答のXMLフォーマットにおける構成は、一例であり、これに限定されるものではない。[LANケーブル抜き差し時の動作]次に図12A乃至Cを用いて、印刷装置110がジョブの印刷中に情報処理装置100側のLANケーブルが抜き差しされた際のOSの印刷サポート機能202、ランゲージモニタ208、および印刷装置110の動作について説明する。図12Aは、LANケーブルが情報処理装置100から抜かれる前の情報処理装置100と印刷装置110の構成を示している。また、情報処理装置100におけるプリントキュー206にて示されるジョブの状態を示している。情報処理装置100と印刷装置110はネットワーク109で接続されており、印刷装置110はジョブ1を印刷中である。情報処理装置100上のプリントキュー206には状態1200として印刷中のジョブ1が存在する。図12Bは、情報処理装置100側のLANケーブルが抜かれた際の情報処理装置100と印刷装置110の構成を示している。また、情報処理装置100におけるプリントキュー206にて示されるジョブの状態を示している。情報処理装置100はLANケーブルが抜かれたことを検知し、OSの印刷サポート機能202はジョブ1を再印刷するため一度削除する状態1300。このとき、印刷装置110は情報処理装置100側のLANケーブルが抜かれたことを検知できないため、ジョブ1を印刷中のままである状態1200。図12Cは、情報処理装置100側のLANケーブルが再び接続されたときの情報処理装置100と印刷装置110の構成を示している。また、情報処理装置100におけるプリントキュー206にて示されるジョブの状態を示している。情報処理装置100はLANケーブルが再接続されたことを検知し、OSの印刷サポート機能202はジョブ1を再び印刷する状態1400。ここでは説明を分かりやすくするため、再印刷されたジョブを再印刷される前のジョブ1と区別して、ジョブ1’と表記する。一方、印刷装置110は情報処理装置100側のLANケーブルが抜き差しされたことは検知できないので、ジョブ1を印刷中のままである。すなわち、印刷装置110はジョブ1を印刷中の状態であるにもかかわらず、情報処理装置100はジョブ1’を印刷しようとする。スプーラ205、ランゲージモニタ208、ポートモニタ209、及び印刷装置110は再印刷されたジョブ1’の処理を開始する。スプーラ205は、ランゲージモニタ208の関数であるStartDocPort、WritePortを順次呼び出す図3に示す処理301、302。ランゲージモニタ208は、ポートモニタ209の関数であるWritePortを呼び出し、ポートモニタ209はCreatePrintJobRequestを印刷装置110に送信する図3の処理303、304。印刷装置110はポートモニタ209からCreatePrintJobRequestを受信し処理を開始するが、ジョブ1を印刷中のままであるため図5の以下の処理を行う。印刷装置110は、ポートモニタ209からCreatePrintJobRequestを受信するがS501、ジョブ1を印刷中のままであるため、新たにジョブの処理を開始することができない。したがって、印刷装置110はCreatePrintJobResponseにエラーをセットしS502にてNO、S506、ポートモニタ209に送信するS507。そして、本処理を終了する。ランゲージモニタ208は、ポートモニタ209のWritePortの呼び出し図3の処理303に失敗するため、スプーラ205に失敗を通知する図6のS602にてNO、S604。その後、スプーラ205はランゲージモニタ208のWritePortの呼び出しが成功するまで繰り返しランゲージモニタ208のWritePortを呼び出す図3の処理302。一方、ランゲージモニタ208は、別スレッドで図3に示す処理312に相当するGetPrinterElementsRequestを印刷装置110に送信する。この時のランゲージモニタ208の動作を、図8を用いて説明する。ランゲージモニタ208は保存したJobIDの有無を確認するS801。ここでは、保存したJobIDが無い為S801にてNO、JobIDとしてデフォルト値InvalidをGetPrinterElementsRequestのXMLデータにセットするS803。そして、ランゲージモニタ208は、GetPrinterElementsRequestを印刷装置110に送信するS804。その後、本処理を終了する。この時に記述されたGetPrinterElementsRequestは、図11bに示した内容となる。印刷装置110は、ランゲージモニタ208からのGetPrinterElementsRequestを受信する図3の処理312、315。この時の印刷装置110の動作を、図9を用いて説明する。印刷装置110はランゲージモニタ208からGetPrinterElementsRequestを受信するS901。そして、印刷装置110は、GetPrinterElementsRequestに含まれているJobIDを取得するS902。このJobIDは、Invalidとなっている。印刷装置110は、現在処理中のジョブのJobIDを取得するS903。この時のJobIDは、1となっている。印刷装置110は、取得した2つのJobIDの比較を行い、両者は一致しないのでS904にてNO、ランゲージモニタ208へGetPrinterElementsResponseを送信するS906。そして、本処理を終了する。印刷装置110は、上記処理に従って、タイムアウト処理用カウンタのクリアは行わない。このためタイムアウト時間が経過すると、印刷装置110はタイムアウト処理を行うこととなる。タイムアウト処理を行うことで、印刷装置110は印刷中のジョブ1に対する処理を中止し、ジョブ1による印刷装置110の占有は解除される。その後、スプーラ205によるランゲージモニタ208のWritePortの呼び出しは成功する図3の処理302。そして、印刷装置110はポートモニタ209からCreatePrintJobRequestを受信する。S501このとき、ジョブ1の印刷が終了しているので、印刷装置110は、CreatePrintJobResponseのXMLデータに成功を示す値をセットしS505、ポートモニタ209に送信するS507。そして、印刷装置110はジョブ1’の処理を開始する。以上により、印刷装置は自身が処理中でないジョブに対するステータス要求により不正にタイムアウト処理のカウンタをリセットしてしまうことを回避できる。なお、図12ではLANケーブルの抜き差しを例にとって、ネットワークの切断/再接続を説明したが、もちろん物理的なネットワークに限定されるものではなく、例えば無線LANなどのネットワークにおいても本発明は適用可能であることはいうまでもない。<第二実施形態>図13、14を参照し、本発明に係る第二実施形態を説明する。図13は、図2の印刷システムのブロック図に新たにアプリケーション1500を追加したものである。アプリケーション1500はアプリケーション201と異なり、OSの印刷サポート機能202を経由せず、印刷装置110に直接印刷ジョブを送信することが可能である。ここで、アプリケーション201、アプリケーション1500の順で印刷装置110に印刷ジョブを送った場合を考える。アプリケーション201は、OSの印刷サポート機能202を経由して、図3で説明した処理に従って、印刷装置110に印刷ジョブを送る。この場合において、印刷ジョブの状態の取得及び印刷装置110のタイムアウト処理を防止するために、定期的にGetPrinterElementsRequestを送信する。印刷装置110は、アプリケーション201からのCreatePrintJobRequestに対して、JobIDとして200を割り当て、CreatePrintJobReqponseを返却する。このため、アプリケーション201が印刷したジョブの状態を取得する為のGetPrinterElementsRequestの内容は図14Aのようになる。ここでは、JobIDJobIDタグの値に200が記述されている。アプリケーション1500は、OSの印刷サポート機能202を経由せずに直接印刷装置110に、CreatePrintJobRequest及びSendDocumentRequestを送信し、印刷装置110に所望のジョブを印刷させる。この場合において、印刷ジョブの状態の取得及び印刷装置110のタイムアウト処理を防止するために、アプリケーション1500は、定期的にGetPrinterElementsRequestを送信する。印刷装置110は、アプリケーション201からの印刷ジョブを印刷中なので、アプリケーション1500からのCreatePrintJobRequestに対して、エラーを返す。この場合、アプリケーション1500はJobIDを取得できない。よって、アプリケーション1500が印刷ジョブの状態を取得する為のGetPrinterElementsRequestの内容は図14Bのようになる。ここではJobIDJobIDタグの値にInvalidが記述されている。印刷装置110は、アプリケーション201もしくはアプリケーション1500からGetPrinterElementsRequestを受信すると、第一実施形態において図9で説明した処理を行う。印刷装置110は、GetPrinterElementsRequestに含まれているJobIDS902と、印刷装置110が処理中のジョブのJobIDS903とを比較するS904。そして、識別子が一致した場合のみ、印刷装置110はタイムアウト処理用のカウンタの値をクリアするS905。以上により印刷装置110は、アプリケーション201からGetPrinterElementsRequestを受信した場合は、JobIDが一致するのでタイムアウト処理のカウンタの値のクリアを行う。一方、アプリケーション1500からのGetPrinterElementsRequestを受信した場合はJobIDが一致しないので、印刷装置110は、カウンタの値のクリアを行わない。このように印刷装置110は、情報処理装置100の複数のアプリケーションからGetPrinterElementsRequestを受信した場合でも正しいタイムアウト処理の行うことができる。例えば、印刷装置110がアプリケーション201のジョブを印刷中に、アプリケーション201やOSの印刷サポート機能202が何らかの原因でクラッシュした場合、印刷装置110はアプリケーション201のジョブを印刷中のままとなる。この時、アプリケーション1500からGetPrinterElementsRequestを受信した場合、JobIDが一致しないのでカウンタの値を更新しない。これにより印刷装置110は不正にタイムアウト処理用のカウンタを更新することなく、本来想定した時間が経過後、タイムアウト処理を行い印刷中のジョブを中止し、アプリケーション1500からの印刷ジョブを受け付けることが可能となる。<その他の実施形態>また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。