(57)【要約】【課題】ネットワークに接続されたすべての印刷装置が印刷できない場合であっても、代行印刷を依頼する印刷データを無限にループさせない印刷装置を提供する。【解決手段】印刷の実行を指示する印刷指示情報を受信する印刷指示受信部と、前記印刷指示情報による印刷の可否を判定する装置状態判定部と、前記印刷指示情報を他の印刷装置へ送信する印刷指示送信部とを備え、前記装置状態判定部で印刷が不可能と判定されたとき、前記印刷指示送信部が前記印刷指示受信部で受信した印刷指示情報を他の印刷装置へ送信して代行印刷を依頼する印刷装置において、受信した前記印刷指示情報から該印刷指示情報が有効に存続する条件としての有効条件を抽出する印刷指示解析部と、前記有効条件が満足されているか否かを判定する有効条件判定部と、前記有効条件判定部が前記有効条件を満足していないと判定したとき、該印刷指示情報を破棄する印刷指示情報破棄部とを設けた。【選択図】        図１
2010247499.tif 000002
【特許請求の範囲】
【請求項１】
印刷の実行を指示する印刷指示情報を受信する印刷指示受信部と、前記印刷指示情報による印刷の可否を判定する装置状態判定部と、前記印刷指示情報を他の印刷装置へ送信する印刷指示送信部とを備え、前記装置状態判定部で印刷が不可能と判定されたとき、前記印刷指示送信部が前記印刷指示受信部で受信した印刷指示情報を他の印刷装置へ送信して代行印刷を依頼する印刷装置において、
受信した前記印刷指示情報から該印刷指示情報が有効に存続する条件としての有効条件を抽出する印刷指示解析部と、
前記有効条件が満足されているか否かを判定する有効条件判定部と、
前記有効条件判定部が前記有効条件を満足していないと判定したとき、該印刷指示情報を破棄する印刷指示情報破棄部とを設けたことを特徴とする印刷装置。
【請求項２】
請求項１の印刷装置において、
前記印刷指示情報を、前記有効条件ならびに該印刷指示情報を生成した送信元アドレスからなるヘッダ部および印刷する印刷データからなるデータ部で構成し、
前記印刷データの送信を要求する通知を前記送信元アドレスへ送信する印刷データ要求部と、
前記印刷データ要求部が要求した印刷データを前記送信元アドレスから受信する印刷データ受信部とを設け、
前記装置状態判定部で印刷が可能と判定され、かつ前記印刷指示受信部が受信した前記ヘッダ部の有効条件を満足していると前記有効条件判定部で判定されたとき、
前記印刷データ要求部が前記印刷データを要求する通知を送信し、その要求に応答して送信された印刷データを前記印刷データ受信部が受信し、その印刷データに基づいて印刷することを特徴とする印刷装置。
【請求項３】
請求項２の印刷装置において、
前記印刷指示受信部は、前記印刷指示情報のヘッダ部のみを受信することを特徴とする印刷装置。
【請求項４】
請求項１、請求項２または請求項３の印刷装置において、
前記有効条件を、前記印刷指示情報の有効期限とし、
前記有効条件判定部は、現在の日時が前記有効期限を経過したことを検知したとき、前記有効条件を満足しないと判定することを特徴とする印刷装置。
【請求項５】
請求項１から請求項４のいずれか１項の印刷装置において、
前記有効条件を、それぞれの印刷装置の前記印刷指示受信部で前記印刷指示情報を受信される度に更新される転送回数とし、
前記有効条件判定部は、前記転送回数が既定の閾値を超えたとき、前記有効条件を満足しないと判定することを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、代行印刷が可能な印刷装置に関する。
【背景技術】
【０００２】
従来の印刷装置は、ホストコンピュータ等の上位装置から印刷用の印刷データを受信し、その印刷データに基づいて記録用紙に印刷するようにしているが、種々の要因により受信した印刷データを印刷できない場合、ネットワークに接続された他の印刷装置へ受信した印刷データを送信してその印刷データの印刷を依頼し、印刷を依頼された印刷装置は受信した印刷データに基づいて印刷できない印刷装置に代わって印刷（以下、「代行印刷」という。）するようにしているものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−８８３５６号公報（段落「００２３」〜段落「００３３」、図８、図１５）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の技術においては、ネットワークに接続されたすべての印刷装置が受信した印刷データを印刷できない場合、それぞれの印刷装置が他の印刷装置に代行印刷を依頼するため、図１２に示すように上位装置から送信された印刷データが印刷装置間（印刷装置Ａ〜印刷装置Ｆ）を無限にループしてしまうという問題がある。
【０００５】
本発明は、このような問題を解決することを課題とし、ネットワークに接続されたすべての印刷装置が印刷できない場合であっても、代行印刷を依頼する印刷データを無限にループさせない印刷装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そのため、本発明は、印刷の実行を指示する印刷指示情報を受信する印刷指示受信部と、前記印刷指示情報による印刷の可否を判定する装置状態判定部と、前記印刷指示情報を他の印刷装置へ送信する印刷指示送信部とを備え、前記装置状態判定部で印刷が不可能と判定されたとき、前記印刷指示送信部が前記印刷指示受信部で受信した印刷指示情報を他の印刷装置へ送信して代行印刷を依頼する印刷装置において、受信した前記印刷指示情報から該印刷指示情報が有効に存続する条件としての有効条件を抽出する印刷指示解析部と、前記有効条件が満足されているか否かを判定する有効条件判定部と、前記有効条件判定部が前記有効条件を満足していないと判定したとき、該印刷指示情報を破棄する印刷指示情報破棄部とを設けたことを特徴とする。
【発明の効果】
【０００７】
このようにした本発明は、ネットワークに接続されたすべての印刷装置が印刷できない場合であっても、代行印刷を依頼する印刷データを無限にループさせることがないという効果が得られる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施例における印刷装置および上位装置の構成を示すブロック図
【図２】第１の実施例における印刷ジョブデータの構成を示す説明図
【図３】第１の実施例における上位装置の処理を示すフローチャート
【図４】第１の実施例における印刷装置の処理を示すフローチャート（１／２）
【図５】第１の実施例における印刷装置の処理を示すフローチャート（２／２）
【図６】第２の実施例における印刷ジョブデータの構成を示す説明図
【図７】第２の実施例における印刷装置および上位装置の構成を示すブロック図
【図８】第２の実施例における上位装置の処理を示すフローチャート
【図９】第２の実施例における印刷装置の処理を示すフローチャート（１／３）
【図１０】第２の実施例における印刷装置の処理を示すフローチャート（２／３）
【図１１】第２の実施例における印刷装置の処理を示すフローチャート（３／３）
【図１２】従来の印刷装置における印刷ジョブデータの流れを示す説明図
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明による印刷装置の実施例を説明する。
【実施例１】
【００１０】
図１は第１の実施例における印刷装置および上位装置の構成を示すブロック図である。
【００１１】
図１において、２０１はホストコンピュータ等の上位装置であり、また２０２および２０３はプリンタ等の印刷装置である。
【００１２】
２０４はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク、２０５、２０６、および２０７はネットワーク２０４に接続された通信回線であり、上位装置２０１、印刷装置２０２、および印刷装置２０３は通信回線２０５、２０６、２０７ならびにネットワーク２０４を介して通信可能に接続されている。
【００１３】
上位装置２０１は、ハードディスク２０８、アプリケーション２１０、プリンタドライバ２１１、ネットワークＩＦ２１６、および図示しないメモリ等の記憶部ならびにＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の制御部で構成され、印刷する文書等のデータを印刷ジョブデータとして印刷装置２０２、２０３へ送信する。
【００１４】
ハードディスク２０８は、外部記憶装置であり、文書２０９を記憶し、保存するためのものである。
【００１５】
アプリケーション２１０は、図示しない記憶部に記憶されたソフトウェアであり、ハードディスク２０８に保存されている文書２０９を閲覧および編集するものである。
【００１６】
プリンタドライバ２１１は、図示しない記憶部に記憶されたソフトウェアであり、印刷パラメータ２１２、タイムアウト情報２１３、ジョブ作成処理２１４、およびジョブ送受信処理２１５から構成され、アプリケーション２１０が読み込んだ文書２０９を印刷装置２０２、２０３が解釈可能なデータへ変換し、そのデータを印刷ジョブデータとして印刷装置２０２等へ送信するものである。
【００１７】
印刷パラメータ２１２は、アプリケーション２１０が読み込んだ文書２０９の用紙サイズ、印刷枚数、カラー／モノクロ印刷等の印刷に関する情報を保持している。
【００１８】
タイムアウト情報２１３は、作成した印刷ジョブデータがいつ、またどのような条件になるまで有効であるかの有効条件を示す情報であり、本実施例では、有効期限および転送限度回数が格納されるものとする。
【００１９】
この有効期限は、作成した印刷ジョブデータの有効期限を示す指定された時刻であり、例えば印刷開始時刻の１時間後（印刷開始時刻が２００８年１０月２２日の１０時２２分の場合、２００８年１０月２２日の１１時２２分）とする。なお、上位装置２０１は、図示しないカレンダおよび計時手段としての時計を備えているものとする。
【００２０】
また、転送限度回数は、代行印刷のために印刷装置２０２等が受信した印刷ジョブデータを他の印刷装置へ転送する回数の上限値を示すものである。この転送限度回数は所定の上限値（閾値）に初期化されるものとする。
【００２１】
したがって、このタイムアウト情報２１３により、印刷ジョブデータが印刷装置２０２等の間で無限にループすることを防止することができるようになっている。
【００２２】
ジョブ作成処理２１４は、アプリケーション２１０が読み込んだ文書２０９を印刷装置が解析可能なデータへと変換し、印刷ジョブデータを生成するものである。
【００２３】
ジョブ送受信処理２１５は、ジョブ作成処理２１４で生成された印刷ジョブデータをネットワークＩＦ２１６へ送信依頼するものである。
【００２４】
ネットワークＩＦ２１６は、ネットワーク２０４上の上位装置２０１を識別するための情報としてのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス２１７を保有し、通信回線２０５を介して送信依頼された印刷ジョブデータをネットワーク２０４へ送信する送受信制御部である。
【００２５】
ここで、図２の第１の実施例における印刷ジョブデータの構成を示す説明図に基づいてプリンタドライバ２１１のジョブ作成処理２１４等により生成される印刷ジョブデータを説明する。
【００２６】
図２において、上位装置２０１が印刷装置２０２等に文書２０９の印刷を指示する印刷指示情報としての印刷ジョブデータ１０１は、ヘッダ部１０２およびデータ部１０３で構成され、さらにヘッダ部１０２は印刷パラメータ１０４、送信元ＩＰアドレス１０５、およびタイムアウト情報１０６、データ部１０３は印刷装置２０２等が解釈可能な言語に変換された文書１０７で構成されている。
【００２７】
印刷パラメータ１０４はプリンタドライバ２１１の印刷パラメータ２１２で保持されている文書２０９の用紙サイズ、印刷枚数、カラー／モノクロ印刷等の印刷に関する情報であり、送信元ＩＰアドレス１０５はネットワークＩＦ２１６に保有されているＩＰアドレス２１７、すなわち印刷ジョブデータ１０１を生成した上位装置２０１のＩＰアドレスであり、タイムアウト情報１０６はプリンタドライバ２１１のタイムアウト情報２１３に保持された情報である。
【００２８】
変換された文書１０７は、文書２０９がプリンタドライバ２１１のジョブ作成処理２１４により印刷装置２０２等で解釈可能な言語に変換されたデータである。
【００２９】
図１の説明に戻り、印刷装置２０２は、送信された印刷ジョブデータ１０１を受信し、その印刷ジョブデータ１０１に基づいて印刷するものであり、ＣＰＵ等の制御部としてのコントローラ２１８、記憶部としてのメモリ２２５、印刷処理２２７、およびネットワークＩＦ２２８等により構成されている。
【００３０】
コントローラ２１８は、ジョブ送受信処理２１９、ジョブ解析処理２２０、障害判定処理２２１、印刷判定処理２２２、タイムアウト処理２２３、および通知処理２２４で構成され、受信した印刷ジョブデータ１０１を解析し、その印刷ジョブデータ１０１を印刷する処理、もしくは他の印刷装置に代行印刷させる処理、またはその印刷ジョブデータ１０１を破棄する処理を行う。
【００３１】
ジョブ送受信処理２１９は、ネットワーク２０４等を介して印刷ジョブデータ１０１の送受信処理を行うものである。
【００３２】
ジョブ解析処理２２０は、受信した印刷ジョブデータ１０１のヘッダ部１０２等を抽出して解析する処理を行う印刷指示解析部である。
【００３３】
障害判定処理２２１は、印刷装置２０２の状態を監視し、印刷を行うことができない障害（例えば、トナー残量の不足、印刷用紙の残量の不足など）が発生しているか否かを一括して管理、すなわち印刷の実行を阻害する要因としての障害が発生していることを検知するものである。
【００３４】
装置状態判定部としての印刷判定処理２２２は、障害判定処理２２１から現在の印刷装置２０２が印刷可能であるか否かの判定結果を取得し、印刷可能であれば印刷を印刷処理２２７へ命令する処理を行うものである。
【００３５】
タイムアウト処理２２３は、有効条件判定部として受信した印刷ジョブデータ１０１のヘッダ部１０２に格納されているタイムアウト情報１０６を更新してタイムアウトであるか否かを判定（例えば、指定された時刻を経過したか、または指定された転送限度回数を超えたか等を判定）し、タイムアウトであると判定すると印刷指示情報破棄部としてその印刷ジョブデータ１０１を破棄する処理を行うものである。なお、印刷装置２０２、２０３は、図示しないカレンダおよび計時手段としての時計を備えているものとする。
【００３６】
通知処理２２４は、受信した印刷ジョブデータ１０１をどのように処理したかの処理結果を上位装置２０１へ通知する処理を行うものであり、印刷が行われた場合は印刷完了の通知、破棄された場合は破棄された旨の通知を行う。
【００３７】
メモリ２２５は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の主記憶部であり、代行印刷を行うことができる印刷装置のＩＰアドレスとしての代行先アドレス２２６を格納している。
【００３８】
印刷処理２２７は、コントローラ２１８で処理された印刷ジョブデータ１０１の文書１０７を記録用紙に印刷し、その記録用紙を排出する処理を行うものである。
【００３９】
ネットワークＩＦ２２８は、ネットワーク２０４上の印刷装置２０２を識別するための情報としてのＩＰアドレス２２９を保有し、通信回線２０６からネットワーク２０４を介して印刷ジョブデータ１０１を送受信する印刷指示受信部および印刷指示送信部としての送受信制御部である。
【００４０】
このように構成された印刷装置２０２は、メモリ２２５に格納された装置全体を制御する制御プログラム（ソフトウェア）に基づいてコントローラ２１８により制御される。
【００４１】
なお、印刷装置２０３も印刷装置２０２と同様に構成され、通信回線２０７を介してネットワーク２０４に通信可能に接続されている。
【００４２】
上述した構成の作用を図３の第１の実施例における上位装置の処理を示すフローチャート、および図４ならびに図５の第１の実施例における印刷装置の処理を示すフローチャートの図中Ｓで表すステップにしたがって説明する。
【００４３】
まず、図３に基づいて上位装置２０１の処理を説明する。
【００４４】
Ｓ３０１：ユーザは上位装置２０１にインストールされているアプリケーション２１０を起動する。
【００４５】
Ｓ３０２：起動したアプリケーション２１０によりハードディスク２０８に格納されている文書２０９を読込む。
【００４６】
Ｓ３０３：ユーザは読込んだ文書２０９を印刷するためにプリンタドライバ２１１を起動する。
【００４７】
Ｓ３０４：このとき、プリンタドライバ２１１の内部では、印刷ジョブデータ１０１を作成するために、まず印刷パラメータ２１２を取得する。
【００４８】
Ｓ３０５：続いて、ＩＰアドレス２１７を取得する。
【００４９】
Ｓ３０６：次に、印刷ジョブデータ１０１をキャンセルするためのタイムアウト情報２１３を取得する。
【００５０】
Ｓ３０７：読込んだ文書２０９を印刷装置が解釈できる言語に変換する。
【００５１】
Ｓ３０８：プリンタドライバ２１１は、取得した印刷パラメータ２１２、ＩＰアドレス２１７、タイムアウト情報２１３をヘッダ部１０２の印刷パラメータ１０４、送信元ＩＰアドレス１０５、タイムアウト情報１０６とし、変換した文書２０９をデータ部１０３の文書１０７とした印刷ジョブデータ１０１を作成する。
【００５２】
Ｓ３０９：プリンタドライバ２１１は、作成した印刷ジョブデータ１０１を印刷装置２０２へ送信することをネットワークＩＦ２１６へ依頼し、ネットワークＩＦ２１６はネットワーク２０４を介してその印刷ジョブデータ１０１を印刷装置２０２へ送信する。
【００５３】
次に、図４に基づいて代行印刷を依頼する印刷装置２０２の処理を説明する。
【００５４】
Ｓ４０１：印刷装置２０２は、上位装置２０１で作成された印刷ジョブデータ１０１をその上位装置２０１から受信する。
【００５５】
Ｓ４０２：印刷装置２０２のネットワークＩＦ２２８で受信された印刷ジョブデータ１０１は、コントローラ２１８のジョブ送受信処理２１９へ送られ、さらにジョブ解析処理２２０へ処理が移され、そのジョブ解析処理２２０は印刷ジョブデータ１０１のヘッダ部１０２の印刷パラメータ１０４を取得する。
【００５６】
Ｓ４０３：次に、コントローラ２１８の印刷判定処理２２２は、印刷装置２０２に障害が発生していないか否かを確認するため、障害判定処理２２１にアクセスする。
【００５７】
Ｓ４０４：印刷判定処理２２２は、受信した印刷ジョブデータ１０１に基づいて印刷が可能であるか否かを総合的に判定する。
【００５８】
Ｓ４０５：その判定の結果、障害により印刷装置２０２が印刷を実行できないと判定されるとタイムアウト処理２２３へ処理が移行され、Ｓ４０６へ移行する。
【００５９】
なお、印刷装置２０２が印刷を実行できると判定された場合は、印刷を実行するため後述するＳ５１０へ処理を移行する。
【００６０】
Ｓ４０６：タイムアウト処理２２３は、印刷ジョブデータ１０１のヘッダ部１０２のタイムアウト情報１０６を更新する。本実施例では、タイムアウト情報１０６の転送限度回数から「１」を減算するものとする。
【００６１】
Ｓ４０７：タイムアウト処理２２３は、タイムアウト情報１０６を更新すると更新したタイムアウト情報１０６に基づいてタイムアウトになったか否かを判定する。本実施例では、時計から読取った現在の日時とタイムアウト情報１０６の有効期限とを比較し、現在の日時がタイムアウト情報１０６の有効期限を経過したか否か、および減算された転送限度回数が「０」となったか否かを判定するものとする。
【００６２】
判定の結果、現在の日時がタイムアウト情報１０６の有効期限を経過することなく、かつ転送限度回数が「０」になっていないと判定された場合、処理をＳ４０８へ移行する。
【００６３】
一方、現在の日時がタイムアウト情報１０６の有効期限を経過した場合、または転送限度回数が「０」になった場合、印刷ジョブデータ１０１を破棄するため後述するＳ５０８へ処理を移行する。
【００６４】
Ｓ４０８：現在の日時がタイムアウト情報１０６の有効期限を経過することなく、かつ転送限度回数が「０」になっていないと判定されるとコントローラ２１８は、メモリ２２５に格納さている代行先アドレス２２６を取得し、印刷ジョブデータ１０１をその代行先アドレス２２６へ送信することをネットワークＩＦ２２８へ依頼し、ネットワークＩＦ２２８は依頼された印刷ジョブデータ１０１を送信して他の印刷装置に代行印刷を依頼する。
【００６５】
次に、図５に基づいて代行印刷を依頼された印刷装置２０３の処理を説明する。
【００６６】
Ｓ５０１：印刷装置２０３は、印刷装置２０２から送信された印刷ジョブデータ１０１を受信する。
【００６７】
Ｓ５０２：印刷装置２０３のネットワークＩＦ２２８で受信された印刷ジョブデータ１０１は、コントローラ２１８のジョブ送受信処理２１９へ送られ、さらにジョブ解析処理２２０へ処理が移され、そのジョブ解析処理２２０は印刷ジョブデータ１０１のヘッダ部１０２の印刷パラメータ１０４を取得する。
【００６８】
Ｓ５０３：次に、コントローラ２１８の印刷判定処理２２２は、印刷装置２０２に障害が発生していないか否かを確認するため、障害判定処理２２１にアクセスする。
【００６９】
Ｓ５０４：印刷判定処理２２２は、受信した印刷ジョブデータ１０１に基づいて印刷が可能であるか否かを総合的に判定する。
【００７０】
Ｓ５０５：その判定の結果、障害により印刷装置２０２が印刷を実行できないと判定されるとタイムアウト処理２２３へ処理が移行され、Ｓ５０６へ移行する。
【００７１】
なお、印刷装置２０３が印刷を実行できると判定された場合は、印刷を実行するためＳ５１０へ処理を移行する。
【００７２】
Ｓ５０６：タイムアウト処理２２３は、印刷ジョブデータ１０１のヘッダ部１０２のタイムアウト情報１０６を更新する。本実施例では、タイムアウト情報１０６の転送限度回数から「１」を減算するものとする。
【００７３】
Ｓ５０７：タイムアウト処理２２３は、タイムアウト情報１０６を更新すると更新したタイムアウト情報１０６に基づいてタイムアウトになったか否かを判定する。本実施例では、時計から読取った現在の日時とタイムアウト情報１０６の有効期限とを比較し、現在の日時がタイムアウト情報１０６の有効期限を経過したか否か、および減算された転送限度回数が「０」になったか否かを判定するものとする。
【００７４】
判定の結果、現在の日時がタイムアウト情報１０６の有効期限を経過することなく、かつ転送限度回数が「０」になっていないと判定された場合、処理を図４のＳ４０８へ移行して他の印刷装置に代行印刷を依頼する。
【００７５】
一方、現在の日時がタイムアウト情報１０６の有効期限を経過した場合、または転送限度回数が「０」になった場合、印刷ジョブデータ１０１を破棄するためＳ５０８へ処理を移行する。
【００７６】
Ｓ５０８：現在の日時がタイムアウト情報１０６の有効期限を経過した場合、または転送限度回数が「０」になった場合、コントローラ２１８は、その印刷ジョブデータ１０１を消去して破棄する。
【００７７】
Ｓ５０９：印刷ジョブデータ１０１を破棄すると通知処理２２４は、破棄する前にメモリ２２５へ退避しておいた印刷ジョブデータ１０１のヘッダ部１０２の送信元ＩＰアドレス１０５を宛先として印刷ジョブデータ１０１が破棄された旨の通知の送信をネットワークＩＦ２２８へ依頼し、ネットワークＩＦ２２８は依頼された通知をネットワーク２０４へ送信する。
【００７８】
なお、図４のＳ４０７の判定において、現在の日時がタイムアウト情報１０６の有効期限を経過した場合、または転送限度回数が「０」になった場合も上述したＳ５０８、Ｓ５０９の処理が実行される。
【００７９】
Ｓ５１０：一方、Ｓ５０５または図４のＳ４０５において、印刷を実行できると判定された場合、印刷処理２２７は、受信した印刷ジョブデータ１０１に基づいて印刷を実行する。
【００８０】
Ｓ５０９：印刷を実行すると通知処理２２４は、印刷ジョブデータ１０１のヘッダ部１０２の送信元ＩＰアドレス１０５を宛先として印刷が実行された旨の通知の送信をネットワークＩＦ２２８へ依頼し、ネットワークＩＦ２２８は依頼された通知をネットワーク２０４へ送信する。
【００８１】
このようにして印刷装置２０２、２０３は印刷ジョブデータ１０１のタイムアウト情報１０６に基づいてその印刷ジョブデータ１０１がタイムアウトになったことを検知したとき当該印刷ジョブデータ１０１を破棄するようにしたことにより、ネットワーク２０４に接続されたすべての印刷装置に障害が発生している場合であっても、その印刷ジョブデータ１０１は印刷装置間を無限にループすることはない。
【００８２】
なお、本実施例では、印刷ジョブデータ１０１のタイムアウト情報１０６に有効期限および転送限度回数を設けるようにしたが、いずれか一方を設けるようにしてもよい。
【００８３】
また、印刷ジョブデータ１０１のタイムアウト情報１０６の転送限度回数から「１」を減算して更新するようにしたが、「１」を加算して更新し、閾値と比較してその閾値を超えたか否かを判定するようにしてもよい。このとき、上位装置２０１で設定される初期値は「０」とする。
【００８４】
以上説明したように、第１の実施例では、印刷ジョブデータにタイムアウト情報を設定し、そのタイムアウト情報が所定の条件を満たしてタイムアウトになったことを検知した印刷装置が当該印刷ジョブデータを破棄するようにしたことにより、ネットワークに接続されたすべての印刷装置に障害が発生している場合であっても、その印刷ジョブデータが印刷装置間を無限にループすることがないという効果が得られる。
【実施例２】
【００８５】
第２の実施例の構成は、第１の実施例の構成における印刷装置に、代行印刷する文書のデータを送信元ＩＰアドレス宛に要求するデータ要求処理を備えた構成としたものである。
【００８６】
その第２の実施例の構成を図７の第２の実施例における印刷装置および上位装置の構成を示すブロック図に基づいて説明する。なお、上述した第１の実施例と同様の部分は、同一の符号を付してその説明を省略する。
【００８７】
図７において、７０２、７０３および７０４はプリンタ等の印刷装置であり、上位装置２０１、印刷装置７０２、印刷装置７０３、および印刷装置７０４は通信回線７０５、７０６、７０７、７０８ならびにネットワーク２０４を介して通信可能に接続されている。
【００８８】
印刷装置７０２は、第１の実施例と同様に送信された印刷ジョブデータを受信し、その印刷ジョブデータに基づいて印刷するものであり、ＣＰＵ等の制御部としてのコントローラ２１８、記憶部としてのメモリ２２５、印刷処理２２７、およびネットワークＩＦ２２８等により構成されている。
【００８９】
ここで、図６の第２の実施例における印刷ジョブデータの構成を示す説明図に基づいて上位装置２０１のプリンタドライバ２１１のジョブ作成処理２１４等により生成される印刷ジョブデータを説明する。
【００９０】
図６において、上位装置２０１が印刷装置７０２等に文書２０９の印刷を指示する印刷ジョブデータ１０１は、ヘッダ部１０２およびデータ部１０３で構成され、さらにヘッダ部１０２は印刷パラメータ１０４、送信元ＩＰアドレス１０５、およびタイムアウト情報１０６、データ部１０３は印刷装置が解釈可能な言語に変換された文書１０７で構成されているのは第１の実施例と同様である。
【００９１】
本実施例では、ヘッダ部１０２とデータ部１０３とは、境界１０８で切り離してそれぞれを独立して利用できる構造となっている。
【００９２】
図７の説明に戻り、コントローラ２１８は、ジョブ送受信処理２１９、ジョブ解析処理２２０、障害判定処理２２１、印刷判定処理２２２、タイムアウト処理２２３、データ要求処理２３０、および通知処理２２４で構成され、受信した印刷ジョブデータ１０１を解析し、その印刷ジョブデータ１０１を印刷する処理、もしくは他の印刷装置に代行印刷させる処理、またはその印刷ジョブデータ１０１を破棄する処理を行う。
【００９３】
データ要求処理２３０は、印刷判定処理２２２で受信した印刷ジョブデータ１０１を印刷可能である場合に実行され、印刷ジョブデータ１０１のヘッダ部１０２の送信元ＩＰアドレス１０５を参照し、そのアドレスに対してデータ部１０３を要求する通知を送信する処理を行う印刷データ要求部である。
【００９４】
なお、印刷装置７０３、印刷装置７０４も印刷装置７０２と同様に構成され、通信回線７０７、７０８を介してネットワーク２０４に通信可能に接続されている。
【００９５】
上述した構成の作用を図８の第２の実施例における上位装置の処理を示すフローチャート、および図９、図１０ならびに図１１の第２の実施例における印刷装置の処理を示すフローチャートの図中Ｓで表すステップにしたがって説明する。
【００９６】
まず、図８に基づいて上位装置２０１の処理を説明する。
【００９７】
Ｓ８０１〜Ｓ８０７：図３におけるＳ３０１〜Ｓ３０７と同様なのでその説明を省略する。
【００９８】
Ｓ８０８：プリンタドライバ２１１は、取得した印刷パラメータ２１２、ＩＰアドレス２１７、タイムアウト情報２１３をヘッダ部１０２の印刷パラメータ１０４、送信元ＩＰアドレス１０５、タイムアウト情報１０６とし、変換した文書２０９をデータ部１０３の文書１０７とした印刷ジョブデータ１０１を作成して記憶部に記憶させる。
【００９９】
Ｓ８０９：プリンタドライバ２１１は、作成した印刷ジョブデータ１０１のヘッダ部１０２を印刷装置７０２へ送信することをネットワークＩＦ２１６へ依頼し、ネットワークＩＦ２１６はネットワーク２０４を介して印刷ジョブデータ１０１のヘッダ部１０２を印刷装置７０２へ送信する。なお、印刷ジョブデータ１０１のデータ部１０３は送信しない。
【０１００】
次に、図９に基づいて代行印刷を依頼する印刷装置７０２の処理を説明する。
【０１０１】
Ｓ９０１：印刷装置７０２は、上位装置２０１で作成された印刷ジョブデータ１０１のヘッダ部１０２をその上位装置２０１から受信する。
【０１０２】
Ｓ９０２：印刷装置７０２のネットワークＩＦ２２８で受信された印刷ジョブデータ１０１のヘッダ部１０２は、コントローラ２１８のジョブ送受信処理２１９へ送られ、さらにジョブ解析処理２２０へ処理が移され、そのジョブ解析処理２２０は印刷ジョブデータ１０１のヘッダ部１０２の印刷パラメータ１０４を取得する。
【０１０３】
Ｓ９０３：次に、コントローラ２１８の印刷判定処理２２２は、印刷装置７０２に障害が発生していないか否かを確認するため、障害判定処理２２１にアクセスする。
【０１０４】
Ｓ９０４：印刷判定処理２２２は、印刷が可能であるか否かを総合的に判定する。
【０１０５】
Ｓ９０５：その判定の結果、障害により印刷装置７０２が印刷を実行できないと判定されるとタイムアウト処理２２３へ処理が移行され、Ｓ９０６へ移行する。
【０１０６】
なお、印刷装置７０２が印刷を実行できると判定された場合は、印刷を実行するため後述するＳ１１１０へ処理を移行する。
【０１０７】
Ｓ９０６：タイムアウト処理２２３は、印刷ジョブデータ１０１のヘッダ部１０２のタイムアウト情報１０６を更新する。本実施例では、タイムアウト情報１０６の転送限度回数から「１」を減算するものとする。
【０１０８】
Ｓ９０７：タイムアウト処理２２３は、タイムアウト情報１０６を更新すると更新したタイムアウト情報１０６に基づいてタイムアウトになったか否かを判定する。本実施例では、時計から読取った現在の日時とタイムアウト情報１０６の有効期限とを比較し、現在の日時がタイムアウト情報１０６の有効期限を経過したか否か、および減算された転送限度回数が「０」となったか否かを判定するものとする。
【０１０９】
判定の結果、現在の日時がタイムアウト情報１０６の有効期限を経過することなく、かつ転送限度回数が「０」になっていないと判定された場合、処理をＳ９０８へ移行する。
【０１１０】
一方、現在の日時がタイムアウト情報１０６の有効期限を経過した場合、または転送限度回数が「０」になった場合、印刷ジョブデータ１０１を破棄するため後述するＳ１１０８へ処理を移行する。
【０１１１】
Ｓ９０８：現在の日時がタイムアウト情報１０６の有効期限を経過することなく、かつ転送限度回数が「０」になっていないと判定されるとコントローラ２１８は、メモリ２２５に格納さている代行先アドレス２２６を取得し、印刷ジョブデータ１０１のヘッダ部１０２をその代行先アドレス２２６へ送信することをネットワークＩＦ２２８へ依頼し、ネットワークＩＦ２２８は依頼された印刷ジョブデータ１０１のヘッダ部１０２を送信して他の印刷装置に代行印刷を依頼する。
【０１１２】
また、代行印刷を依頼された印刷装置７０３が代行印刷を依頼する処理は図１０に示すように、印刷装置７０３は、Ｓ１００１において印刷装置７０２から印刷ジョブデータ１０１のヘッダ部１０２を受信し、それ以降のＳ１００２〜Ｓ１００８は、上述したＳ９０２〜Ｓ９０８と同様である。
【０１１３】
次に、図１１に基づいて代行印刷を依頼された印刷装置７０４の処理を説明する。
【０１１４】
Ｓ１１０１：印刷装置７０４は、印刷装置７０３から送信された印刷ジョブデータ１０１のヘッダ部１０２を受信する。
【０１１５】
Ｓ１１０２：印刷装置７０４のネットワークＩＦ２２８で受信された印刷ジョブデータ１０１は、コントローラ２１８のジョブ送受信処理２１９へ送られ、さらにジョブ解析処理２２０へ処理が移され、そのジョブ解析処理２２０は印刷ジョブデータ１０１のヘッダ部１０２の印刷パラメータ１０４を取得する。
【０１１６】
Ｓ１１０３：次に、コントローラ２１８の印刷判定処理２２２は、印刷装置７０４に障害が発生していないか否かを確認するため、障害判定処理２２１にアクセスする。
【０１１７】
Ｓ１１０４：印刷判定処理２２２は、印刷が可能であるか否かを総合的に判定する。
【０１１８】
Ｓ１１０５：その判定の結果、障害により印刷装置７０４が印刷を実行できないと判定されるとタイムアウト処理２２３へ処理が移行され、Ｓ１１０６へ移行する。
【０１１９】
なお、印刷装置７０４が印刷を実行できると判定された場合は、印刷を実行するためＳ１１１０へ処理を移行する。
【０１２０】
Ｓ１１０６：タイムアウト処理２２３は、印刷ジョブデータ１０１のヘッダ部１０２のタイムアウト情報１０６を更新する。本実施例では、タイムアウト情報１０６の転送限度回数から「１」を減算するものとする。
【０１２１】
Ｓ１１０７：タイムアウト処理２２３は、タイムアウト情報１０６を更新すると更新したタイムアウト情報１０６に基づいてタイムアウトになったか否かを判定する。本実施例では、時計から読取った現在の日時とタイムアウト情報１０６の有効期限とを比較し、現在の日時がタイムアウト情報１０６の有効期限を経過したか否か、および減算された転送限度回数が「０」になったか否かを判定するものとする。
【０１２２】
判定の結果、現在の日時がタイムアウト情報１０６の有効期限を経過することなく、かつ転送限度回数が「０」になっていないと判定された場合、処理を図１０のＳ１００８へ移行して他の印刷装置に代行印刷を依頼する。
【０１２３】
一方、現在の日時がタイムアウト情報１０６の有効期限を経過した場合、または転送限度回数が「０」になった場合、印刷ジョブデータ１０１を破棄するためＳ１１０８へ処理を移行する。
【０１２４】
Ｓ１１０８：現在の日時がタイムアウト情報１０６の有効期限を経過した場合、または転送限度回数が「０」になった場合、コントローラ２１８は、その印刷ジョブデータ１０１のヘッダ部１０２を消去して破棄する。
【０１２５】
Ｓ１１０９：印刷ジョブデータ１０１のヘッダ部１０２を破棄すると通知処理２２４は、破棄する前にメモリ２２５へ退避しておいた印刷ジョブデータ１０１のヘッダ部１０２の送信元ＩＰアドレス１０５を宛先として印刷ジョブデータ１０１のヘッダ部１０２が破棄された旨の通知の送信をネットワークＩＦ２２８へ依頼し、ネットワークＩＦ２２８は依頼された通知をネットワーク２０４へ送信する。
【０１２６】
なお、図９のＳ９０７または図１０のＳ１００７の判定において、現在の日時がタイムアウト情報１０６の有効期限を経過した場合、または転送限度回数が「０」になった場合も上述したＳ１１０８、Ｓ１１０９の処理が実行される。
【０１２７】
Ｓ１１１０：一方、Ｓ１１０５、図９のＳ９０５、または図１０のＳ１００５において、印刷を実行できると判定された場合、データ要求処理２３０（印刷データ要求部）は、受信した印刷ジョブデータ１０１のヘッダ部１０２の送信元ＩＰアドレス１０５（上位装置２０１）宛てにデータ部１０３の送信を要求する旨の通知の送信をネットワークＩＦ２２８へ依頼し、ネットワークＩＦ２２８は依頼された通知をネットワーク２０４へ送信する。
【０１２８】
データ部１０３の送信を要求する旨の通知を受信した上位装置２０１は、記憶部に記憶した印刷ジョブデータ１０１のデータ部１０３を印刷装置７０４へ送信する。
【０１２９】
Ｓ１１１１：印刷処理２２７は、印刷データ受信部としてのネットワークＩＦ２２８で受信した印刷ジョブデータ１０１のデータ部１０３に基づいて印刷を実行する。
【０１３０】
Ｓ１１０９：印刷を実行すると通知処理２２４は、印刷ジョブデータ１０１のヘッダ部１０２の送信元ＩＰアドレス１０５を宛先として印刷が実行された旨の通知の送信をネットワークＩＦ２２８へ依頼し、ネットワークＩＦ２２８は依頼された通知をネットワーク２０４へ送信する。
【０１３１】
このようにして印刷装置７０２、７０３、７０４は印刷ジョブデータ１０１のタイムアウト情報１０６に基づいてその印刷ジョブデータ１０１がタイムアウトになったことを検知したとき当該印刷ジョブデータ１０１を破棄するようにしたことにより、ネットワーク２０４に接続されたすべての印刷装置に障害が発生している場合であっても、その印刷ジョブデータ１０１は印刷装置間を無限にループすることはない。
【０１３２】
また、上位装置２０１および印刷装置７０２等は印刷ジョブデータ１０１のタイムアウト情報１０６を含むヘッダ部１０２だけを送信して印刷や代行印刷を依頼し、印刷が可能な印刷装置７０２等が印刷対象であるデータ部１０３を上位装置２０１に要求するようにしたことにより、ネットワーク２０４のトラフィックの負荷を軽減させることができる。
【０１３３】
以上説明したように、第２の実施例では、第１の実施例の効果に加え、上位装置および印刷装置等は印刷ジョブデータのタイムアウト情報を含むヘッダ部のみを送信して印刷や代行印刷を依頼し、印刷が可能な印刷装置が印刷対象であるデータ部を上位装置に要求するようにしたことにより、ネットワークのトラフィックの負荷を軽減させることができるという効果が得られる。
【０１３４】
なお、第１の実施例および第２の実施例では、印刷装置をプリンタとして説明したが、それに限られるものでなく、複合機や複写機、ファクシミリ等の装置であってもよい。
【０１３５】
また、ジョブを依頼するデータを印刷ジョブデータとして説明したが、原稿の画像を読取る用紙スキャンのみのジョブ等を依頼するジョブデータなどの印刷装置が受付けられるものならばどのようなジョブデータであってもよい。
【０１３６】
さらに、タイムアウト情報を指定時刻としての有効期限、または印刷装置を経由した上限回数としての転送上限回数を設定するようにしたが、印刷ジョブデータの有効または無効を判定できる条件であればどのような条件としてもよい。
【０１３７】
また、印刷装置の障害判定をトナーの残量不足、記録用紙の残量不足として説明したが、カバーオープン、用紙ジャム等の印刷装置が印刷を実行できない状態となる要因であればどのようなものであってもよい。
【０１３８】
さらに、印刷ジョブデータに有効条件を追加する処理を上位装置で行うようにしたが、印刷装置側で行うようにしてもよい。
【０１３９】
またさらに、ネットワークやそのネットワークに接続する通信回線は、有線に限られることなく無線等であってもよく、また通信回線はＬＡＮケーブル、ＵＳＢケーブル等であってもよい。
【符号の説明】
【０１４０】
１０１  印刷ジョブデータ
１０２  ヘッダ部
１０３  データ部
１０４  印刷パラメータ
１０５  送信元ＩＰアドレス
１０６  タイムアウト情報
１０７  変換された文書
２０１  上位装置
２０２、２０３、７０２、７０３、７０４  印刷装置
２０４  ネットワーク
２０８  ハードディスク
２１０  アプリケーション
２１１  プリンタドライバ
２１６、２２８  ネットワークＩＦ
２１８  コントローラ
２２５  メモリ
２２７  印刷処理
【図１】
2010247499.tif 000003
【図２】
2010247499.tif 000004
【図３】
2010247499.tif 000005
【図４】
2010247499.tif 000006
【図５】
2010247499.tif 000007
【図６】
2010247499.tif 000008
【図７】
2010247499.tif 000009
【図８】
2010247499.tif 000010
【図９】
2010247499.tif 000011
【図１０】
2010247499.tif 000012
【図１１】
2010247499.tif 000013
【図１２】
2010247499.tif 000014