説明

印刷装置

【課題】ネットワークに接続されたすべての印刷装置が印刷できない場合であっても、代行印刷を依頼する印刷データを無限にループさせない印刷装置を提供する。
【解決手段】印刷の実行を指示する印刷指示情報を受信する印刷指示受信部と、前記印刷指示情報による印刷の可否を判定する装置状態判定部と、前記印刷指示情報を他の印刷装置へ送信する印刷指示送信部とを備え、前記装置状態判定部で印刷が不可能と判定されたとき、前記印刷指示送信部が前記印刷指示受信部で受信した印刷指示情報を他の印刷装置へ送信して代行印刷を依頼する印刷装置において、受信した前記印刷指示情報から該印刷指示情報が有効に存続する条件としての有効条件を抽出する印刷指示解析部と、前記有効条件が満足されているか否かを判定する有効条件判定部と、前記有効条件判定部が前記有効条件を満足していないと判定したとき、該印刷指示情報を破棄する印刷指示情報破棄部とを設けた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、代行印刷が可能な印刷装置に関する。
【背景技術】
【0002】
従来の印刷装置は、ホストコンピュータ等の上位装置から印刷用の印刷データを受信し、その印刷データに基づいて記録用紙に印刷するようにしているが、種々の要因により受信した印刷データを印刷できない場合、ネットワークに接続された他の印刷装置へ受信した印刷データを送信してその印刷データの印刷を依頼し、印刷を依頼された印刷装置は受信した印刷データに基づいて印刷できない印刷装置に代わって印刷(以下、「代行印刷」という。)するようにしているものがある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−88356号公報(段落「0023」〜段落「0033」、図8、図15)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の技術においては、ネットワークに接続されたすべての印刷装置が受信した印刷データを印刷できない場合、それぞれの印刷装置が他の印刷装置に代行印刷を依頼するため、図12に示すように上位装置から送信された印刷データが印刷装置間(印刷装置A〜印刷装置F)を無限にループしてしまうという問題がある。
【0005】
本発明は、このような問題を解決することを課題とし、ネットワークに接続されたすべての印刷装置が印刷できない場合であっても、代行印刷を依頼する印刷データを無限にループさせない印刷装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
そのため、本発明は、印刷の実行を指示する印刷指示情報を受信する印刷指示受信部と、前記印刷指示情報による印刷の可否を判定する装置状態判定部と、前記印刷指示情報を他の印刷装置へ送信する印刷指示送信部とを備え、前記装置状態判定部で印刷が不可能と判定されたとき、前記印刷指示送信部が前記印刷指示受信部で受信した印刷指示情報を他の印刷装置へ送信して代行印刷を依頼する印刷装置において、受信した前記印刷指示情報から該印刷指示情報が有効に存続する条件としての有効条件を抽出する印刷指示解析部と、前記有効条件が満足されているか否かを判定する有効条件判定部と、前記有効条件判定部が前記有効条件を満足していないと判定したとき、該印刷指示情報を破棄する印刷指示情報破棄部とを設けたことを特徴とする。
【発明の効果】
【0007】
このようにした本発明は、ネットワークに接続されたすべての印刷装置が印刷できない場合であっても、代行印刷を依頼する印刷データを無限にループさせることがないという効果が得られる。
【図面の簡単な説明】
【0008】
【図1】第1の実施例における印刷装置および上位装置の構成を示すブロック図
【図2】第1の実施例における印刷ジョブデータの構成を示す説明図
【図3】第1の実施例における上位装置の処理を示すフローチャート
【図4】第1の実施例における印刷装置の処理を示すフローチャート(1/2)
【図5】第1の実施例における印刷装置の処理を示すフローチャート(2/2)
【図6】第2の実施例における印刷ジョブデータの構成を示す説明図
【図7】第2の実施例における印刷装置および上位装置の構成を示すブロック図
【図8】第2の実施例における上位装置の処理を示すフローチャート
【図9】第2の実施例における印刷装置の処理を示すフローチャート(1/3)
【図10】第2の実施例における印刷装置の処理を示すフローチャート(2/3)
【図11】第2の実施例における印刷装置の処理を示すフローチャート(3/3)
【図12】従来の印刷装置における印刷ジョブデータの流れを示す説明図
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明による印刷装置の実施例を説明する。
【実施例1】
【0010】
図1は第1の実施例における印刷装置および上位装置の構成を示すブロック図である。
【0011】
図1において、201はホストコンピュータ等の上位装置であり、また202および203はプリンタ等の印刷装置である。
【0012】
204はLAN(Local Area Network)等のネットワーク、205、206、および207はネットワーク204に接続された通信回線であり、上位装置201、印刷装置202、および印刷装置203は通信回線205、206、207ならびにネットワーク204を介して通信可能に接続されている。
【0013】
上位装置201は、ハードディスク208、アプリケーション210、プリンタドライバ211、ネットワークIF216、および図示しないメモリ等の記憶部ならびにCPU(Central Processing Unit)等の制御部で構成され、印刷する文書等のデータを印刷ジョブデータとして印刷装置202、203へ送信する。
【0014】
ハードディスク208は、外部記憶装置であり、文書209を記憶し、保存するためのものである。
【0015】
アプリケーション210は、図示しない記憶部に記憶されたソフトウェアであり、ハードディスク208に保存されている文書209を閲覧および編集するものである。
【0016】
プリンタドライバ211は、図示しない記憶部に記憶されたソフトウェアであり、印刷パラメータ212、タイムアウト情報213、ジョブ作成処理214、およびジョブ送受信処理215から構成され、アプリケーション210が読み込んだ文書209を印刷装置202、203が解釈可能なデータへ変換し、そのデータを印刷ジョブデータとして印刷装置202等へ送信するものである。
【0017】
印刷パラメータ212は、アプリケーション210が読み込んだ文書209の用紙サイズ、印刷枚数、カラー/モノクロ印刷等の印刷に関する情報を保持している。
【0018】
タイムアウト情報213は、作成した印刷ジョブデータがいつ、またどのような条件になるまで有効であるかの有効条件を示す情報であり、本実施例では、有効期限および転送限度回数が格納されるものとする。
【0019】
この有効期限は、作成した印刷ジョブデータの有効期限を示す指定された時刻であり、例えば印刷開始時刻の1時間後(印刷開始時刻が2008年10月22日の10時22分の場合、2008年10月22日の11時22分)とする。なお、上位装置201は、図示しないカレンダおよび計時手段としての時計を備えているものとする。
【0020】
また、転送限度回数は、代行印刷のために印刷装置202等が受信した印刷ジョブデータを他の印刷装置へ転送する回数の上限値を示すものである。この転送限度回数は所定の上限値(閾値)に初期化されるものとする。
【0021】
したがって、このタイムアウト情報213により、印刷ジョブデータが印刷装置202等の間で無限にループすることを防止することができるようになっている。
【0022】
ジョブ作成処理214は、アプリケーション210が読み込んだ文書209を印刷装置が解析可能なデータへと変換し、印刷ジョブデータを生成するものである。
【0023】
ジョブ送受信処理215は、ジョブ作成処理214で生成された印刷ジョブデータをネットワークIF216へ送信依頼するものである。
【0024】
ネットワークIF216は、ネットワーク204上の上位装置201を識別するための情報としてのIP(Internet Protocol)アドレス217を保有し、通信回線205を介して送信依頼された印刷ジョブデータをネットワーク204へ送信する送受信制御部である。
【0025】
ここで、図2の第1の実施例における印刷ジョブデータの構成を示す説明図に基づいてプリンタドライバ211のジョブ作成処理214等により生成される印刷ジョブデータを説明する。
【0026】
図2において、上位装置201が印刷装置202等に文書209の印刷を指示する印刷指示情報としての印刷ジョブデータ101は、ヘッダ部102およびデータ部103で構成され、さらにヘッダ部102は印刷パラメータ104、送信元IPアドレス105、およびタイムアウト情報106、データ部103は印刷装置202等が解釈可能な言語に変換された文書107で構成されている。
【0027】
印刷パラメータ104はプリンタドライバ211の印刷パラメータ212で保持されている文書209の用紙サイズ、印刷枚数、カラー/モノクロ印刷等の印刷に関する情報であり、送信元IPアドレス105はネットワークIF216に保有されているIPアドレス217、すなわち印刷ジョブデータ101を生成した上位装置201のIPアドレスであり、タイムアウト情報106はプリンタドライバ211のタイムアウト情報213に保持された情報である。
【0028】
変換された文書107は、文書209がプリンタドライバ211のジョブ作成処理214により印刷装置202等で解釈可能な言語に変換されたデータである。
【0029】
図1の説明に戻り、印刷装置202は、送信された印刷ジョブデータ101を受信し、その印刷ジョブデータ101に基づいて印刷するものであり、CPU等の制御部としてのコントローラ218、記憶部としてのメモリ225、印刷処理227、およびネットワークIF228等により構成されている。
【0030】
コントローラ218は、ジョブ送受信処理219、ジョブ解析処理220、障害判定処理221、印刷判定処理222、タイムアウト処理223、および通知処理224で構成され、受信した印刷ジョブデータ101を解析し、その印刷ジョブデータ101を印刷する処理、もしくは他の印刷装置に代行印刷させる処理、またはその印刷ジョブデータ101を破棄する処理を行う。
【0031】
ジョブ送受信処理219は、ネットワーク204等を介して印刷ジョブデータ101の送受信処理を行うものである。
【0032】
ジョブ解析処理220は、受信した印刷ジョブデータ101のヘッダ部102等を抽出して解析する処理を行う印刷指示解析部である。
【0033】
障害判定処理221は、印刷装置202の状態を監視し、印刷を行うことができない障害(例えば、トナー残量の不足、印刷用紙の残量の不足など)が発生しているか否かを一括して管理、すなわち印刷の実行を阻害する要因としての障害が発生していることを検知するものである。
【0034】
装置状態判定部としての印刷判定処理222は、障害判定処理221から現在の印刷装置202が印刷可能であるか否かの判定結果を取得し、印刷可能であれば印刷を印刷処理227へ命令する処理を行うものである。
【0035】
タイムアウト処理223は、有効条件判定部として受信した印刷ジョブデータ101のヘッダ部102に格納されているタイムアウト情報106を更新してタイムアウトであるか否かを判定(例えば、指定された時刻を経過したか、または指定された転送限度回数を超えたか等を判定)し、タイムアウトであると判定すると印刷指示情報破棄部としてその印刷ジョブデータ101を破棄する処理を行うものである。なお、印刷装置202、203は、図示しないカレンダおよび計時手段としての時計を備えているものとする。
【0036】
通知処理224は、受信した印刷ジョブデータ101をどのように処理したかの処理結果を上位装置201へ通知する処理を行うものであり、印刷が行われた場合は印刷完了の通知、破棄された場合は破棄された旨の通知を行う。
【0037】
メモリ225は、RAM(Random Access Memory)等の主記憶部であり、代行印刷を行うことができる印刷装置のIPアドレスとしての代行先アドレス226を格納している。
【0038】
印刷処理227は、コントローラ218で処理された印刷ジョブデータ101の文書107を記録用紙に印刷し、その記録用紙を排出する処理を行うものである。
【0039】
ネットワークIF228は、ネットワーク204上の印刷装置202を識別するための情報としてのIPアドレス229を保有し、通信回線206からネットワーク204を介して印刷ジョブデータ101を送受信する印刷指示受信部および印刷指示送信部としての送受信制御部である。
【0040】
このように構成された印刷装置202は、メモリ225に格納された装置全体を制御する制御プログラム(ソフトウェア)に基づいてコントローラ218により制御される。
【0041】
なお、印刷装置203も印刷装置202と同様に構成され、通信回線207を介してネットワーク204に通信可能に接続されている。
【0042】
上述した構成の作用を図3の第1の実施例における上位装置の処理を示すフローチャート、および図4ならびに図5の第1の実施例における印刷装置の処理を示すフローチャートの図中Sで表すステップにしたがって説明する。
【0043】
まず、図3に基づいて上位装置201の処理を説明する。
【0044】
S301:ユーザは上位装置201にインストールされているアプリケーション210を起動する。
【0045】
S302:起動したアプリケーション210によりハードディスク208に格納されている文書209を読込む。
【0046】
S303:ユーザは読込んだ文書209を印刷するためにプリンタドライバ211を起動する。
【0047】
S304:このとき、プリンタドライバ211の内部では、印刷ジョブデータ101を作成するために、まず印刷パラメータ212を取得する。
【0048】
S305:続いて、IPアドレス217を取得する。
【0049】
S306:次に、印刷ジョブデータ101をキャンセルするためのタイムアウト情報213を取得する。
【0050】
S307:読込んだ文書209を印刷装置が解釈できる言語に変換する。
【0051】
S308:プリンタドライバ211は、取得した印刷パラメータ212、IPアドレス217、タイムアウト情報213をヘッダ部102の印刷パラメータ104、送信元IPアドレス105、タイムアウト情報106とし、変換した文書209をデータ部103の文書107とした印刷ジョブデータ101を作成する。
【0052】
S309:プリンタドライバ211は、作成した印刷ジョブデータ101を印刷装置202へ送信することをネットワークIF216へ依頼し、ネットワークIF216はネットワーク204を介してその印刷ジョブデータ101を印刷装置202へ送信する。
【0053】
次に、図4に基づいて代行印刷を依頼する印刷装置202の処理を説明する。
【0054】
S401:印刷装置202は、上位装置201で作成された印刷ジョブデータ101をその上位装置201から受信する。
【0055】
S402:印刷装置202のネットワークIF228で受信された印刷ジョブデータ101は、コントローラ218のジョブ送受信処理219へ送られ、さらにジョブ解析処理220へ処理が移され、そのジョブ解析処理220は印刷ジョブデータ101のヘッダ部102の印刷パラメータ104を取得する。
【0056】
S403:次に、コントローラ218の印刷判定処理222は、印刷装置202に障害が発生していないか否かを確認するため、障害判定処理221にアクセスする。
【0057】
S404:印刷判定処理222は、受信した印刷ジョブデータ101に基づいて印刷が可能であるか否かを総合的に判定する。
【0058】
S405:その判定の結果、障害により印刷装置202が印刷を実行できないと判定されるとタイムアウト処理223へ処理が移行され、S406へ移行する。
【0059】
なお、印刷装置202が印刷を実行できると判定された場合は、印刷を実行するため後述するS510へ処理を移行する。
【0060】
S406:タイムアウト処理223は、印刷ジョブデータ101のヘッダ部102のタイムアウト情報106を更新する。本実施例では、タイムアウト情報106の転送限度回数から「1」を減算するものとする。
【0061】
S407:タイムアウト処理223は、タイムアウト情報106を更新すると更新したタイムアウト情報106に基づいてタイムアウトになったか否かを判定する。本実施例では、時計から読取った現在の日時とタイムアウト情報106の有効期限とを比較し、現在の日時がタイムアウト情報106の有効期限を経過したか否か、および減算された転送限度回数が「0」となったか否かを判定するものとする。
【0062】
判定の結果、現在の日時がタイムアウト情報106の有効期限を経過することなく、かつ転送限度回数が「0」になっていないと判定された場合、処理をS408へ移行する。
【0063】
一方、現在の日時がタイムアウト情報106の有効期限を経過した場合、または転送限度回数が「0」になった場合、印刷ジョブデータ101を破棄するため後述するS508へ処理を移行する。
【0064】
S408:現在の日時がタイムアウト情報106の有効期限を経過することなく、かつ転送限度回数が「0」になっていないと判定されるとコントローラ218は、メモリ225に格納さている代行先アドレス226を取得し、印刷ジョブデータ101をその代行先アドレス226へ送信することをネットワークIF228へ依頼し、ネットワークIF228は依頼された印刷ジョブデータ101を送信して他の印刷装置に代行印刷を依頼する。
【0065】
次に、図5に基づいて代行印刷を依頼された印刷装置203の処理を説明する。
【0066】
S501:印刷装置203は、印刷装置202から送信された印刷ジョブデータ101を受信する。
【0067】
S502:印刷装置203のネットワークIF228で受信された印刷ジョブデータ101は、コントローラ218のジョブ送受信処理219へ送られ、さらにジョブ解析処理220へ処理が移され、そのジョブ解析処理220は印刷ジョブデータ101のヘッダ部102の印刷パラメータ104を取得する。
【0068】
S503:次に、コントローラ218の印刷判定処理222は、印刷装置202に障害が発生していないか否かを確認するため、障害判定処理221にアクセスする。
【0069】
S504:印刷判定処理222は、受信した印刷ジョブデータ101に基づいて印刷が可能であるか否かを総合的に判定する。
【0070】
S505:その判定の結果、障害により印刷装置202が印刷を実行できないと判定されるとタイムアウト処理223へ処理が移行され、S506へ移行する。
【0071】
なお、印刷装置203が印刷を実行できると判定された場合は、印刷を実行するためS510へ処理を移行する。
【0072】
S506:タイムアウト処理223は、印刷ジョブデータ101のヘッダ部102のタイムアウト情報106を更新する。本実施例では、タイムアウト情報106の転送限度回数から「1」を減算するものとする。
【0073】
S507:タイムアウト処理223は、タイムアウト情報106を更新すると更新したタイムアウト情報106に基づいてタイムアウトになったか否かを判定する。本実施例では、時計から読取った現在の日時とタイムアウト情報106の有効期限とを比較し、現在の日時がタイムアウト情報106の有効期限を経過したか否か、および減算された転送限度回数が「0」になったか否かを判定するものとする。
【0074】
判定の結果、現在の日時がタイムアウト情報106の有効期限を経過することなく、かつ転送限度回数が「0」になっていないと判定された場合、処理を図4のS408へ移行して他の印刷装置に代行印刷を依頼する。
【0075】
一方、現在の日時がタイムアウト情報106の有効期限を経過した場合、または転送限度回数が「0」になった場合、印刷ジョブデータ101を破棄するためS508へ処理を移行する。
【0076】
S508:現在の日時がタイムアウト情報106の有効期限を経過した場合、または転送限度回数が「0」になった場合、コントローラ218は、その印刷ジョブデータ101を消去して破棄する。
【0077】
S509:印刷ジョブデータ101を破棄すると通知処理224は、破棄する前にメモリ225へ退避しておいた印刷ジョブデータ101のヘッダ部102の送信元IPアドレス105を宛先として印刷ジョブデータ101が破棄された旨の通知の送信をネットワークIF228へ依頼し、ネットワークIF228は依頼された通知をネットワーク204へ送信する。
【0078】
なお、図4のS407の判定において、現在の日時がタイムアウト情報106の有効期限を経過した場合、または転送限度回数が「0」になった場合も上述したS508、S509の処理が実行される。
【0079】
S510:一方、S505または図4のS405において、印刷を実行できると判定された場合、印刷処理227は、受信した印刷ジョブデータ101に基づいて印刷を実行する。
【0080】
S509:印刷を実行すると通知処理224は、印刷ジョブデータ101のヘッダ部102の送信元IPアドレス105を宛先として印刷が実行された旨の通知の送信をネットワークIF228へ依頼し、ネットワークIF228は依頼された通知をネットワーク204へ送信する。
【0081】
このようにして印刷装置202、203は印刷ジョブデータ101のタイムアウト情報106に基づいてその印刷ジョブデータ101がタイムアウトになったことを検知したとき当該印刷ジョブデータ101を破棄するようにしたことにより、ネットワーク204に接続されたすべての印刷装置に障害が発生している場合であっても、その印刷ジョブデータ101は印刷装置間を無限にループすることはない。
【0082】
なお、本実施例では、印刷ジョブデータ101のタイムアウト情報106に有効期限および転送限度回数を設けるようにしたが、いずれか一方を設けるようにしてもよい。
【0083】
また、印刷ジョブデータ101のタイムアウト情報106の転送限度回数から「1」を減算して更新するようにしたが、「1」を加算して更新し、閾値と比較してその閾値を超えたか否かを判定するようにしてもよい。このとき、上位装置201で設定される初期値は「0」とする。
【0084】
以上説明したように、第1の実施例では、印刷ジョブデータにタイムアウト情報を設定し、そのタイムアウト情報が所定の条件を満たしてタイムアウトになったことを検知した印刷装置が当該印刷ジョブデータを破棄するようにしたことにより、ネットワークに接続されたすべての印刷装置に障害が発生している場合であっても、その印刷ジョブデータが印刷装置間を無限にループすることがないという効果が得られる。
【実施例2】
【0085】
第2の実施例の構成は、第1の実施例の構成における印刷装置に、代行印刷する文書のデータを送信元IPアドレス宛に要求するデータ要求処理を備えた構成としたものである。
【0086】
その第2の実施例の構成を図7の第2の実施例における印刷装置および上位装置の構成を示すブロック図に基づいて説明する。なお、上述した第1の実施例と同様の部分は、同一の符号を付してその説明を省略する。
【0087】
図7において、702、703および704はプリンタ等の印刷装置であり、上位装置201、印刷装置702、印刷装置703、および印刷装置704は通信回線705、706、707、708ならびにネットワーク204を介して通信可能に接続されている。
【0088】
印刷装置702は、第1の実施例と同様に送信された印刷ジョブデータを受信し、その印刷ジョブデータに基づいて印刷するものであり、CPU等の制御部としてのコントローラ218、記憶部としてのメモリ225、印刷処理227、およびネットワークIF228等により構成されている。
【0089】
ここで、図6の第2の実施例における印刷ジョブデータの構成を示す説明図に基づいて上位装置201のプリンタドライバ211のジョブ作成処理214等により生成される印刷ジョブデータを説明する。
【0090】
図6において、上位装置201が印刷装置702等に文書209の印刷を指示する印刷ジョブデータ101は、ヘッダ部102およびデータ部103で構成され、さらにヘッダ部102は印刷パラメータ104、送信元IPアドレス105、およびタイムアウト情報106、データ部103は印刷装置が解釈可能な言語に変換された文書107で構成されているのは第1の実施例と同様である。
【0091】
本実施例では、ヘッダ部102とデータ部103とは、境界108で切り離してそれぞれを独立して利用できる構造となっている。
【0092】
図7の説明に戻り、コントローラ218は、ジョブ送受信処理219、ジョブ解析処理220、障害判定処理221、印刷判定処理222、タイムアウト処理223、データ要求処理230、および通知処理224で構成され、受信した印刷ジョブデータ101を解析し、その印刷ジョブデータ101を印刷する処理、もしくは他の印刷装置に代行印刷させる処理、またはその印刷ジョブデータ101を破棄する処理を行う。
【0093】
データ要求処理230は、印刷判定処理222で受信した印刷ジョブデータ101を印刷可能である場合に実行され、印刷ジョブデータ101のヘッダ部102の送信元IPアドレス105を参照し、そのアドレスに対してデータ部103を要求する通知を送信する処理を行う印刷データ要求部である。
【0094】
なお、印刷装置703、印刷装置704も印刷装置702と同様に構成され、通信回線707、708を介してネットワーク204に通信可能に接続されている。
【0095】
上述した構成の作用を図8の第2の実施例における上位装置の処理を示すフローチャート、および図9、図10ならびに図11の第2の実施例における印刷装置の処理を示すフローチャートの図中Sで表すステップにしたがって説明する。
【0096】
まず、図8に基づいて上位装置201の処理を説明する。
【0097】
S801〜S807:図3におけるS301〜S307と同様なのでその説明を省略する。
【0098】
S808:プリンタドライバ211は、取得した印刷パラメータ212、IPアドレス217、タイムアウト情報213をヘッダ部102の印刷パラメータ104、送信元IPアドレス105、タイムアウト情報106とし、変換した文書209をデータ部103の文書107とした印刷ジョブデータ101を作成して記憶部に記憶させる。
【0099】
S809:プリンタドライバ211は、作成した印刷ジョブデータ101のヘッダ部102を印刷装置702へ送信することをネットワークIF216へ依頼し、ネットワークIF216はネットワーク204を介して印刷ジョブデータ101のヘッダ部102を印刷装置702へ送信する。なお、印刷ジョブデータ101のデータ部103は送信しない。
【0100】
次に、図9に基づいて代行印刷を依頼する印刷装置702の処理を説明する。
【0101】
S901:印刷装置702は、上位装置201で作成された印刷ジョブデータ101のヘッダ部102をその上位装置201から受信する。
【0102】
S902:印刷装置702のネットワークIF228で受信された印刷ジョブデータ101のヘッダ部102は、コントローラ218のジョブ送受信処理219へ送られ、さらにジョブ解析処理220へ処理が移され、そのジョブ解析処理220は印刷ジョブデータ101のヘッダ部102の印刷パラメータ104を取得する。
【0103】
S903:次に、コントローラ218の印刷判定処理222は、印刷装置702に障害が発生していないか否かを確認するため、障害判定処理221にアクセスする。
【0104】
S904:印刷判定処理222は、印刷が可能であるか否かを総合的に判定する。
【0105】
S905:その判定の結果、障害により印刷装置702が印刷を実行できないと判定されるとタイムアウト処理223へ処理が移行され、S906へ移行する。
【0106】
なお、印刷装置702が印刷を実行できると判定された場合は、印刷を実行するため後述するS1110へ処理を移行する。
【0107】
S906:タイムアウト処理223は、印刷ジョブデータ101のヘッダ部102のタイムアウト情報106を更新する。本実施例では、タイムアウト情報106の転送限度回数から「1」を減算するものとする。
【0108】
S907:タイムアウト処理223は、タイムアウト情報106を更新すると更新したタイムアウト情報106に基づいてタイムアウトになったか否かを判定する。本実施例では、時計から読取った現在の日時とタイムアウト情報106の有効期限とを比較し、現在の日時がタイムアウト情報106の有効期限を経過したか否か、および減算された転送限度回数が「0」となったか否かを判定するものとする。
【0109】
判定の結果、現在の日時がタイムアウト情報106の有効期限を経過することなく、かつ転送限度回数が「0」になっていないと判定された場合、処理をS908へ移行する。
【0110】
一方、現在の日時がタイムアウト情報106の有効期限を経過した場合、または転送限度回数が「0」になった場合、印刷ジョブデータ101を破棄するため後述するS1108へ処理を移行する。
【0111】
S908:現在の日時がタイムアウト情報106の有効期限を経過することなく、かつ転送限度回数が「0」になっていないと判定されるとコントローラ218は、メモリ225に格納さている代行先アドレス226を取得し、印刷ジョブデータ101のヘッダ部102をその代行先アドレス226へ送信することをネットワークIF228へ依頼し、ネットワークIF228は依頼された印刷ジョブデータ101のヘッダ部102を送信して他の印刷装置に代行印刷を依頼する。
【0112】
また、代行印刷を依頼された印刷装置703が代行印刷を依頼する処理は図10に示すように、印刷装置703は、S1001において印刷装置702から印刷ジョブデータ101のヘッダ部102を受信し、それ以降のS1002〜S1008は、上述したS902〜S908と同様である。
【0113】
次に、図11に基づいて代行印刷を依頼された印刷装置704の処理を説明する。
【0114】
S1101:印刷装置704は、印刷装置703から送信された印刷ジョブデータ101のヘッダ部102を受信する。
【0115】
S1102:印刷装置704のネットワークIF228で受信された印刷ジョブデータ101は、コントローラ218のジョブ送受信処理219へ送られ、さらにジョブ解析処理220へ処理が移され、そのジョブ解析処理220は印刷ジョブデータ101のヘッダ部102の印刷パラメータ104を取得する。
【0116】
S1103:次に、コントローラ218の印刷判定処理222は、印刷装置704に障害が発生していないか否かを確認するため、障害判定処理221にアクセスする。
【0117】
S1104:印刷判定処理222は、印刷が可能であるか否かを総合的に判定する。
【0118】
S1105:その判定の結果、障害により印刷装置704が印刷を実行できないと判定されるとタイムアウト処理223へ処理が移行され、S1106へ移行する。
【0119】
なお、印刷装置704が印刷を実行できると判定された場合は、印刷を実行するためS1110へ処理を移行する。
【0120】
S1106:タイムアウト処理223は、印刷ジョブデータ101のヘッダ部102のタイムアウト情報106を更新する。本実施例では、タイムアウト情報106の転送限度回数から「1」を減算するものとする。
【0121】
S1107:タイムアウト処理223は、タイムアウト情報106を更新すると更新したタイムアウト情報106に基づいてタイムアウトになったか否かを判定する。本実施例では、時計から読取った現在の日時とタイムアウト情報106の有効期限とを比較し、現在の日時がタイムアウト情報106の有効期限を経過したか否か、および減算された転送限度回数が「0」になったか否かを判定するものとする。
【0122】
判定の結果、現在の日時がタイムアウト情報106の有効期限を経過することなく、かつ転送限度回数が「0」になっていないと判定された場合、処理を図10のS1008へ移行して他の印刷装置に代行印刷を依頼する。
【0123】
一方、現在の日時がタイムアウト情報106の有効期限を経過した場合、または転送限度回数が「0」になった場合、印刷ジョブデータ101を破棄するためS1108へ処理を移行する。
【0124】
S1108:現在の日時がタイムアウト情報106の有効期限を経過した場合、または転送限度回数が「0」になった場合、コントローラ218は、その印刷ジョブデータ101のヘッダ部102を消去して破棄する。
【0125】
S1109:印刷ジョブデータ101のヘッダ部102を破棄すると通知処理224は、破棄する前にメモリ225へ退避しておいた印刷ジョブデータ101のヘッダ部102の送信元IPアドレス105を宛先として印刷ジョブデータ101のヘッダ部102が破棄された旨の通知の送信をネットワークIF228へ依頼し、ネットワークIF228は依頼された通知をネットワーク204へ送信する。
【0126】
なお、図9のS907または図10のS1007の判定において、現在の日時がタイムアウト情報106の有効期限を経過した場合、または転送限度回数が「0」になった場合も上述したS1108、S1109の処理が実行される。
【0127】
S1110:一方、S1105、図9のS905、または図10のS1005において、印刷を実行できると判定された場合、データ要求処理230(印刷データ要求部)は、受信した印刷ジョブデータ101のヘッダ部102の送信元IPアドレス105(上位装置201)宛てにデータ部103の送信を要求する旨の通知の送信をネットワークIF228へ依頼し、ネットワークIF228は依頼された通知をネットワーク204へ送信する。
【0128】
データ部103の送信を要求する旨の通知を受信した上位装置201は、記憶部に記憶した印刷ジョブデータ101のデータ部103を印刷装置704へ送信する。
【0129】
S1111:印刷処理227は、印刷データ受信部としてのネットワークIF228で受信した印刷ジョブデータ101のデータ部103に基づいて印刷を実行する。
【0130】
S1109:印刷を実行すると通知処理224は、印刷ジョブデータ101のヘッダ部102の送信元IPアドレス105を宛先として印刷が実行された旨の通知の送信をネットワークIF228へ依頼し、ネットワークIF228は依頼された通知をネットワーク204へ送信する。
【0131】
このようにして印刷装置702、703、704は印刷ジョブデータ101のタイムアウト情報106に基づいてその印刷ジョブデータ101がタイムアウトになったことを検知したとき当該印刷ジョブデータ101を破棄するようにしたことにより、ネットワーク204に接続されたすべての印刷装置に障害が発生している場合であっても、その印刷ジョブデータ101は印刷装置間を無限にループすることはない。
【0132】
また、上位装置201および印刷装置702等は印刷ジョブデータ101のタイムアウト情報106を含むヘッダ部102だけを送信して印刷や代行印刷を依頼し、印刷が可能な印刷装置702等が印刷対象であるデータ部103を上位装置201に要求するようにしたことにより、ネットワーク204のトラフィックの負荷を軽減させることができる。
【0133】
以上説明したように、第2の実施例では、第1の実施例の効果に加え、上位装置および印刷装置等は印刷ジョブデータのタイムアウト情報を含むヘッダ部のみを送信して印刷や代行印刷を依頼し、印刷が可能な印刷装置が印刷対象であるデータ部を上位装置に要求するようにしたことにより、ネットワークのトラフィックの負荷を軽減させることができるという効果が得られる。
【0134】
なお、第1の実施例および第2の実施例では、印刷装置をプリンタとして説明したが、それに限られるものでなく、複合機や複写機、ファクシミリ等の装置であってもよい。
【0135】
また、ジョブを依頼するデータを印刷ジョブデータとして説明したが、原稿の画像を読取る用紙スキャンのみのジョブ等を依頼するジョブデータなどの印刷装置が受付けられるものならばどのようなジョブデータであってもよい。
【0136】
さらに、タイムアウト情報を指定時刻としての有効期限、または印刷装置を経由した上限回数としての転送上限回数を設定するようにしたが、印刷ジョブデータの有効または無効を判定できる条件であればどのような条件としてもよい。
【0137】
また、印刷装置の障害判定をトナーの残量不足、記録用紙の残量不足として説明したが、カバーオープン、用紙ジャム等の印刷装置が印刷を実行できない状態となる要因であればどのようなものであってもよい。
【0138】
さらに、印刷ジョブデータに有効条件を追加する処理を上位装置で行うようにしたが、印刷装置側で行うようにしてもよい。
【0139】
またさらに、ネットワークやそのネットワークに接続する通信回線は、有線に限られることなく無線等であってもよく、また通信回線はLANケーブル、USBケーブル等であってもよい。
【符号の説明】
【0140】
101 印刷ジョブデータ
102 ヘッダ部
103 データ部
104 印刷パラメータ
105 送信元IPアドレス
106 タイムアウト情報
107 変換された文書
201 上位装置
202、203、702、703、704 印刷装置
204 ネットワーク
208 ハードディスク
210 アプリケーション
211 プリンタドライバ
216、228 ネットワークIF
218 コントローラ
225 メモリ
227 印刷処理

【特許請求の範囲】
【請求項1】
印刷の実行を指示する印刷指示情報を受信する印刷指示受信部と、前記印刷指示情報による印刷の可否を判定する装置状態判定部と、前記印刷指示情報を他の印刷装置へ送信する印刷指示送信部とを備え、前記装置状態判定部で印刷が不可能と判定されたとき、前記印刷指示送信部が前記印刷指示受信部で受信した印刷指示情報を他の印刷装置へ送信して代行印刷を依頼する印刷装置において、
受信した前記印刷指示情報から該印刷指示情報が有効に存続する条件としての有効条件を抽出する印刷指示解析部と、
前記有効条件が満足されているか否かを判定する有効条件判定部と、
前記有効条件判定部が前記有効条件を満足していないと判定したとき、該印刷指示情報を破棄する印刷指示情報破棄部とを設けたことを特徴とする印刷装置。
【請求項2】
請求項1の印刷装置において、
前記印刷指示情報を、前記有効条件ならびに該印刷指示情報を生成した送信元アドレスからなるヘッダ部および印刷する印刷データからなるデータ部で構成し、
前記印刷データの送信を要求する通知を前記送信元アドレスへ送信する印刷データ要求部と、
前記印刷データ要求部が要求した印刷データを前記送信元アドレスから受信する印刷データ受信部とを設け、
前記装置状態判定部で印刷が可能と判定され、かつ前記印刷指示受信部が受信した前記ヘッダ部の有効条件を満足していると前記有効条件判定部で判定されたとき、
前記印刷データ要求部が前記印刷データを要求する通知を送信し、その要求に応答して送信された印刷データを前記印刷データ受信部が受信し、その印刷データに基づいて印刷することを特徴とする印刷装置。
【請求項3】
請求項2の印刷装置において、
前記印刷指示受信部は、前記印刷指示情報のヘッダ部のみを受信することを特徴とする印刷装置。
【請求項4】
請求項1、請求項2または請求項3の印刷装置において、
前記有効条件を、前記印刷指示情報の有効期限とし、
前記有効条件判定部は、現在の日時が前記有効期限を経過したことを検知したとき、前記有効条件を満足しないと判定することを特徴とする印刷装置。
【請求項5】
請求項1から請求項4のいずれか1項の印刷装置において、
前記有効条件を、それぞれの印刷装置の前記印刷指示受信部で前記印刷指示情報を受信される度に更新される転送回数とし、
前記有効条件判定部は、前記転送回数が既定の閾値を超えたとき、前記有効条件を満足しないと判定することを特徴とする印刷装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−247499(P2010−247499A)
【公開日】平成22年11月4日(2010.11.4)
【国際特許分類】
【出願番号】特願2009−102377(P2009−102377)
【出願日】平成21年4月20日(2009.4.20)
【出願人】(591044164)株式会社沖データ (2,444)
【出願人】(594202361)株式会社沖データシステムズ (259)
【Fターム(参考)】