(57)【要約】【課題】  １台の外部装置によって占有されることなく、ジョブの割り込みを禁止することができる新規なジョブ実行装置を提供する。【解決手段】  ジョブ実行装置であって、第１コマンドと外部装置の識別情報とが受信された場合にジョブＩＤを決定するジョブＩＤ決定手段と、ジョブＩＤ決定手段によって決定されたジョブＩＤを外部装置に送信する手段と、受信された前記識別情報と決定された前記ジョブＩＤとを含む組合せ情報を記憶する手段と、第２コマンドとジョブＩＤと外部装置の識別情報とが受信された場合に、その組合せ情報が前記記憶手段に記憶されているか否かを判定する手段と、第２コマンド判定手段によって肯定的に判定された場合にそのジョブＩＤのジョブを実行するとともに、第２コマンド判定手段によって否定的に判定された場合にそのジョブＩＤのジョブを実行することを禁止するジョブ実行手段を有する。【選択図】図５
2009087163.tif 000002
【特許請求の範囲】
【請求項１】
外部からのコマンドに応じてジョブを実行するジョブ実行装置であって、
外部からのコマンドを受信する受信手段と、
第１コマンドと外部装置の識別情報とが前記受信手段によって受信された場合に、ジョブＩＤを決定するジョブＩＤ決定手段と、
ジョブＩＤ決定手段によって決定されたジョブＩＤを前記外部装置に送信する送信手段と、
前記受信手段によって受信された前記識別情報と、前記ジョブＩＤ決定手段によって決定された前記ジョブＩＤとを含む組合せ情報を記憶する記憶手段と、
第２コマンドとジョブＩＤと外部装置の識別情報とが前記受信手段によって受信された場合に、そのジョブＩＤとその識別情報とを含む組合せ情報が前記記憶手段に記憶されているか否かを判定する第２コマンド判定手段と、
受信されたジョブＩＤと識別情報について前記第２コマンド判定手段によって肯定的に判定された場合に、そのジョブＩＤのジョブを実行し、受信されたジョブＩＤと識別情報について前記第２コマンド判定手段によって否定的に判定された場合に、そのジョブＩＤのジョブを実行することを禁止するジョブ実行手段と、
を有することを特徴とするジョブ実行装置。
【請求項２】
キャンセルコマンドとジョブＩＤと外部装置の識別情報とが前記受信手段によって受信された場合に、そのジョブＩＤとその識別情報とを含む組合せ情報が前記記憶手段に記憶されているか否かを判定するキャンセルコマンド判定手段と、
受信されたジョブＩＤと識別情報について前記キャンセルコマンド判定手段によって肯定的に判定された場合に、そのジョブＩＤのジョブをキャンセルし、受信されたジョブＩＤと識別情報について前記キャンセルコマンド判定手段によって否定的に判定された場合に、そのジョブＩＤのジョブをキャンセルすることを禁止するジョブキャンセル手段と、
をさらに有することを特徴とする請求項１に記載のジョブ実行装置。
【請求項３】
受信されたジョブＩＤと識別情報について前記第２コマンド判定手段または前記キャンセルコマンド判定手段によって否定的に判定された場合に、その識別情報を記憶する違反識別情報記憶手段をさらに有することを特徴とする請求項１または２に記載のジョブ実行装置。
【請求項４】
第１コマンドと外部装置の識別情報とが前記受信手段によって受信された場合に、その識別情報が違反識別情報記憶手段に記憶されているか否かを判定する違反識別情報判定手段をさらに有し、
ジョブＩＤ決定手段は、違反識別情報判定手段によって肯定的に判定された場合にジョブＩＤを決定しないことを特徴とする請求項３に記載のジョブ実行装置。
【請求項５】
外部装置の識別情報として、その外部装置のＩＰアドレス及び／又はＷＳＡアドレスを用いることを特徴とする請求項１〜４のいずれか一項に記載のジョブ実行装置。
【請求項６】
外部装置の識別情報として、その外部装置からのパケットのヘッダに含まれる送信元ＩＰアドレスを用いることを特徴とする請求項５に記載のジョブ実行装置。
【請求項７】
外部からのコマンドに応じてジョブを実行するジョブ実行方法であって、
第１コマンドと外部装置の識別情報とを受信する第１受信ステップと、
前記第１受信ステップで第１コマンドと外部装置の識別情報とが受信された場合に、ジョブＩＤを決定するジョブＩＤ決定ステップと、
前記ジョブＩＤ決定ステップで決定されたジョブＩＤを前記外部装置に送信する送信ステップと、
前記第１受信ステップで受信された前記識別情報と、前記ジョブＩＤ決定ステップで決定された前記ジョブＩＤとを含む組合せ情報を記憶する記憶ステップと、
第２コマンドとジョブＩＤと外部装置の識別情報とを受信する第２受信ステップと、
前記第２受信ステップで第２コマンドとジョブＩＤと外部装置の識別情報が受信された場合に、そのジョブＩＤとその識別情報とを含む組合せ情報が前記記憶ステップで記憶した組合せ情報と一致するか否かを判定する第２コマンド判定ステップと、
受信されたジョブＩＤと識別情報について前記第２コマンド判定ステップで肯定的に判定された場合に、そのジョブＩＤのジョブを実行するとともに、受信されたジョブＩＤと識別情報について前記第２コマンド判定ステップで否定的に判定された場合に、そのジョブＩＤのジョブを実行することを禁止するジョブ実行ステップと、
を有することを特徴とするジョブ実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部からのコマンドに応じてジョブを実行する技術に関する。具体的には、ジョブ実行装置、及び、ジョブ実行方法に関する。なお、本明細書において、「ジョブ」とは、デバイスが実行する機能を意味する。例えば、プリンタは、外部からのコマンドに応じて印刷機能というジョブを実行するジョブ実行装置である。また、スキャナは、外部からのコマンドに応じてスキャン機能というジョブを実行するジョブ実行装置である。
【背景技術】
【０００２】
外部装置からのコマンドに応じて印刷ジョブを実行するプリンタが広く知られている。外部装置とプリンタの間でコマンドを通信するための様々な規格が存在する。例えば、Ｗｅｂ  Ｓｅｒｖｉｃｅｓと呼ばれる通信規格が存在する。この通信規格では、外部装置とプリンタの間でＷｅｂ  Ｓｅｒｖｉｃｅｓ  Ｐｒｉｎｔｅｒ  Ｓｅｒｖｉｃｅという規格に基づいて通信が行われる。Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｐｒｉｎｔｅｒ  Ｓｅｒｖｉｃｅでは、外部装置からプリンタに二段階に亘ってコマンドが送信される。すなわち、まず、外部装置からプリンタに「Ｃｒｅａｔｅ  Ｐｒｉｎｔ  Ｊｏｂ  Ｒｅｑｕｅｓｔ」という名称のコマンド（以下ではＣＰＪＲコマンドと呼ぶ）が送信される。プリンタは、ＣＰＪＲコマンドを受信すると、ジョブＩＤを決定する。ジョブＩＤが決定された時点では、印刷ジョブはいわゆる実行待ちの状態とされる。プリンタは、決定したジョブＩＤを外部装置に送信（返信）する。これにより、外部装置は、ジョブＩＤを取得することができる。次に、外部装置からプリンタに「Ｓｅｎｄ  Ｄｏｃｕｍｅｎｔ  Ｒｅｑｕｅｓｔ」という名称のコマンド（以下ではＳＤＲコマンドと呼ぶ）がジョブＩＤ（外部装置が取得したジョブＩＤ）と共に送信される。プリンタは、ＳＤＲコマンドとジョブＩＤを受信すると、受信したジョブＩＤの印刷ジョブを実行する。
【０００３】
一方において、下記の特許文献１には、以下の技術が開示されている。この技術では、プリンタに印刷を実行させるときに、コンピュータからプリンタ（プリンタサーバ）に、占有登録の要求とコンピュータのマシン名が送信される。プリンタサーバは、コンピュータのマシン名を記憶するとともに、そのコンピュータにプリンタを占有させる時間を記憶する。次に、コンピュータからプリンタサーバに印刷要求が送信される。このとき、コンピュータは、印刷要求と共にコンピュータのマシン名を送信する。すると、プリンタサーバは、印刷要求と共に受信したマシン名が、記憶したマシン名と一致するか否かを判定する。マシン名が一致する場合には、プリンタで印刷が実行される。また、マシン名が一致しない場合には、印刷要求は拒否される。
【０００４】
【特許文献１】特開２０００−３３０７３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の先に記載された技術（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｐｒｉｎｔｅｒ  Ｓｅｒｖｉｃｅを利用する技術）では、ＣＰＪＲコマンドに応じてプリンタから外部装置（以下、本項では第１外部装置と呼ぶ場合がある）にジョブＩＤが送信され、次いで第１外部装置からプリンタにジョブＩＤと共にＳＤＲコマンドが送信される。この場合、プリンタから第１外部装置に送信されたジョブＩＤが他の外部装置（以下、本項では第２外部装置と呼ぶ場合がある）によって取得される可能性がある。第２外部装置は、第１外部装置とプリンタとの間の通信を監視することによって、プリンタから第１外部装置に送信されるジョブＩＤを取得（例えば、不正取得）することが可能である。さらに、第２外部装置は、第１外部装置からプリンタにジョブＩＤと共にＳＤＲコマンドが送信される前に、同じジョブＩＤと共にＳＤＲコマンドをプリンタに送信することが可能である。この場合、プリンタは、第２外部装置からのＳＤＲコマンドに応じて印刷ジョブを実行することになる。すなわち、印刷ジョブの割り込みを許容することになる。外部装置からプリンタに二段階に亘ってコマンドが送信される技術では、印刷ジョブの割り込みが行われる可能性がある。
【０００６】
上記の後に記載された技術（特許文献１の技術）では、１台の外部装置（上記の例ではコンピュータ）によってプリンタが所定時間に亘って占有される。プリンタが占有されている間に他の外部装置から送信された印刷ジョブの実行要求は、プリンタによって拒否される。このために、印刷ジョブの割り込みを禁止することができる。しかしながら、この技術では、１台の外部装置によってプリンタが占有されることに起因する別の問題が生じる。すなわち、占有状態のプリンタは、他の外部装置からの印刷ジョブの実行要求を受け付けることができない。このために、上記の他の外部装置は、プリンタが占有されている状態が終了するのを待ってから、印刷ジョブの実行要求を再び送信しなければならない。例えば、上記の他の外部装置のユーザは、印刷ジョブの実行要求を送信するための操作を再び行う必要がある。
【０００７】
本発明は、１台の外部装置によってジョブ実行装置（上記の例ではプリンタ）を占有させるという手法を利用しなくても、ジョブの割り込み（すなわち、第１外部装置に対して送信されたジョブＩＤを用いた、第２外部装置によるジョブの実行）を禁止することができる新規なジョブ実行装置を提供する。
【課題を解決するための手段】
【０００８】
本発明者は、コマンドと共に外部装置の識別情報がジョブ実行装置に送信されることに着目した。すなわち、本発明に係るジョブ実行装置は、コマンドと共に送信される識別情報を利用して、ジョブの割り込みを防止するものであり、以下の構成を備える。
【０００９】
本発明のジョブ実行装置は、受信手段と、ジョブＩＤ決定手段と、送信手段と、記憶手段と、第２コマンド判定手段と、ジョブ実行手段を備えている。受信手段は、外部からのコマンドを受信する。ジョブＩＤ決定手段は、第１コマンドと外部装置の識別情報とが前記受信手段によって受信された場合に、ジョブＩＤを決定する。送信手段は、ジョブＩＤ決定手段によって決定されたジョブＩＤを前記外部装置に送信する。記憶手段は、前記受信手段によって受信された前記識別情報と、前記ジョブＩＤ決定手段によって決定された前記ジョブＩＤとを含む組合せ情報を記憶する。第２コマンド判定手段は、第２コマンドとジョブＩＤと外部装置の識別情報とが前記受信手段によって受信された場合に、そのジョブＩＤとその識別情報とを含む組合せ情報が前記記憶手段に記憶されているか否かを判定する。ジョブ実行手段は、受信されたジョブＩＤと識別情報について前記第２コマンド判定手段によって肯定的に判定された場合に、そのジョブＩＤのジョブを実行するとともに、受信されたジョブＩＤと識別情報について前記第２コマンド判定手段によって否定的に判定された場合に、そのジョブＩＤのジョブを実行することを禁止する。
【００１０】
このジョブ実行装置は、第１コマンドを送信した外部装置の識別情報とジョブＩＤを対応付けて記憶し、それらの組合せ情報と共に第２コマンドを受信したことを条件としてジョブを実行することを許容する。このために、他の外部装置からジョブ実行装置に上記のジョブＩＤと共に第２コマンドが送信されても、そのジョブＩＤに対応づけられている識別情報が一致しないために、ジョブを実行することが禁止される。そして、このジョブ実行装置は、ジョブＩＤを利用してジョブを区別することができるために、複数の外部装置からのジョブの実行要求（第１コマンド）を同時的に受け付けることができる。すなわち、ジョブの実行中に他の外部装置からのジョブの実行要求を受信した場合に、ジョブＩＤを決定して返信することができる。
これによって、占有状態になって他の外部装置からのジョブの実行要求を受け付けることができないという問題が生じることなく、ジョブの割り込みを防止することができる。
【００１１】
上述したジョブ実行装置は、キャンセルコマンド判定手段と、ジョブキャンセル手段をさらに備えていることが好ましい。キャンセルコマンド判定手段は、キャンセルコマンドとジョブＩＤと外部装置の識別情報とが前記受信手段によって受信された場合に、そのジョブＩＤとその識別情報とを含む組合せ情報が前記記憶手段に記憶されているか否かを判定する。ジョブキャンセル手段は、受信されたジョブＩＤと識別情報について前記キャンセルコマンド判定手段によって肯定的に判定された場合に、そのジョブＩＤのジョブをキャンセルし、受信されたジョブＩＤと識別情報について前記キャンセルコマンド判定手段によって否定的に判定された場合に、そのジョブＩＤのジョブをキャンセルすることを禁止する。
このような構成によれば、単にジョブキャンセル手段のみを備えたジョブ実行装置において生じる次のような事象の発生を防止することができる。すなわち、外部装置から要求されたジョブが他の外部装置によってキャンセルされるという事象（以下ではこの事象のことを「キャンセルの強制実行」と呼ぶ）が発生しない。
【００１２】
上述したジョブ実行装置は、受信されたジョブＩＤと識別情報について前記第２コマンド判定手段または前記キャンセルコマンド判定手段によって否定的に判定された場合に、その識別情報を記憶する違反識別情報記憶手段をさらに有していることが好ましい。
このような構成によれば、違反識別情報記憶手段の記憶内容から、ジョブの割り込みやキャンセルの強制実行を試みようとした外部装置を特定することができる。
【００１３】
加えて、ジョブ実行装置は、第１コマンドと外部装置の識別情報とが前記受信手段によって受信された場合に、その識別情報が違反識別情報記憶手段に記憶されているか否かを判定する違反識別情報判定手段をさらに有していることが好ましい。この場合、ジョブＩＤ決定手段は、違反識別情報判定手段によって肯定的に判定された場合（すなわち識別情報が違反識別情報記憶手段に記憶されている場合）にジョブＩＤを決定しない。
このような構成によれば、ジョブの割り込みやキャンセルの割り込みを試みようとした外部装置から第１コマンドが送信されたとしても、ジョブが実行されないことになる。なお、この場合、違反識別情報記憶手段に記憶されている識別情報は、所定の条件が満足された場合に消去するようにしてもよい。例えば、違反識別情報記憶手段に識別情報が記憶されてから一定時間経過後に、その識別情報を消去するようにしてもよい。
【００１４】
外部装置の識別情報としては、その外部装置のＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）とＷＳＡアドレス（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ規格を利用する個々のデバイスに付与されるアドレス）の少なくとも一方を用いることができる。また、その他の識別情報を用いることもできる。
【００１５】
識別情報としては、外部装置からのパケットのヘッダに含まれる送信元ＩＰアドレスを用いると次の点において好ましい。すなわち、ヘッダに含まれる送信元ＩＰアドレスは、他の外部装置によって書き換え等ができない信頼性が高い情報である。このために、ジョブ実行装置は、コマンドを送信した外部装置を確実に特定することができる。
【００１６】
また、本発明は、ジョブ実行方法として表現することもできる。このジョブ実行方法では、外部からのコマンドに応じてジョブを実行する。このジョブ実行方法は、第１受信ステップと、ジョブＩＤ決定ステップと、送信ステップと、記憶ステップと、第２受信ステップと、第２コマンド判定ステップと、ジョブ実行ステップを備えている。第１受信ステップでは、第１コマンドと外部装置の識別情報とを受信する。ジョブＩＤ決定ステップでは、前記第１受信ステップで第１コマンドと外部装置の識別情報とが受信された場合に、ジョブＩＤを決定する。送信ステップでは、前記ジョブＩＤ決定ステップで決定されたジョブＩＤを前記外部装置に送信する。記憶ステップでは、前記第１受信ステップで受信された前記識別情報と、前記ジョブＩＤ決定ステップで決定された前記ジョブＩＤとを含む組合せ情報を記憶する。第２受信ステップでは、外部から送信される第２コマンドとジョブＩＤと外部装置の識別情報を受信する。第２コマンド判定ステップでは、前記第２受信ステップで第２コマンドとジョブＩＤと外部装置の識別情報が受信された場合に、そのジョブＩＤとその識別情報とを含む組合せ情報が前記記憶ステップで記憶した組合せ情報と一致するか否かを判定する。ジョブ実行ステップでは、受信されたジョブＩＤと識別情報について前記第２コマンド判定ステップで肯定的に判定された場合に、そのジョブＩＤのジョブを実行するとともに、受信されたジョブＩＤと識別情報について前記第２コマンド判定ステップで否定的に判定された場合に、そのジョブＩＤのジョブを実行することを禁止する。
このジョブ実行方法によれば、複数のジョブの実行要求を同時的に受け付けることができると共に、ジョブの割り込みを防止することができる。
【発明を実施するための最良の形態】
【００１７】
（第１実施の形態）
本発明の第１実施の形態に係るジョブ実行装置について、図面を参照しながら説明する。第１実施の形態では、ジョブ実行装置として機能するプリンタについて説明する。図１は、本実施の形態のプリンタ１０を備えたネットワークの概略構成を示すブロック図である。図示するように、プリンタ１０は、ＬＡＮ回線１００を介してＰＣ１０２、１０４等の複数の装置（外部装置）に接続されている。プリンタ１０と、これらの外部装置は、Ｗｅｂ  Ｓｅｒｖｉｃｅｓ規格（すなわち、ＷＥＢ  Ｓｅｒｖｉｃｅｓ  Ｐｒｉｎｔｅｒ  Ｓｅｒｖｉｃｅ）に従って通信する。プリンタ１０は、外部装置から印刷要求を受けることで、印刷を実行する。
【００１８】
（プリンタ１０の構成）
図２は、プリンタ１０の概略構成を示すブロック図である。図２に示すように、プリンタ１０は、ＬＡＮインタフェース１２と、演算装置１４と、記憶装置１６と、表示部１８と、入力部２０と、プリンタ部２２を備えている。
【００１９】
ＬＡＮインタフェース１２には、ＬＡＮ回線１００が接続されている。ＬＡＮインタフェース１２は、演算装置１４からデータの入力を受け、入力されたデータを外部装置へ送信する。また、ＬＡＮインタフェース１２は、外部装置から送信されたデータを受信し、受信したデータを演算装置１４に出力する。
【００２０】
演算装置１４は、ＬＡＮインタフェース１２、記憶装置１６、表示部１８、入力部２０及びプリンタ部２２と接続されている。演算装置１４は、各種の演算、プリンタ１０の各部の制御及び各部とのデータの入出力を実行する。
【００２１】
記憶装置１６は、種々のデータを記憶することができる。記憶装置１６が記憶しているデータは、演算装置１４によって読取られる。また、記憶装置１６は、演算装置１４からデータの入力を受け、そのデータを記憶する。記憶装置１６には、組合せ情報データベース３０と、違反情報データベース３２が記憶されている。
組合せ情報データベース３０は、印刷の実行中及び印刷待ちの状態にあるジョブのデータが記述されたデータベースである。組合せ情報データベース３０は、図３に示すように、ジョブＩＤと、外部装置のＩＰアドレスと、外部装置のＷＳＡアドレスとを対応付けて記憶したデータ（以下では、このデータを組合せ情報という）の一覧である。各組合せ情報は、プリンタ１０が、後述するＣＰＪＲコマンドを受信したときに作成される。
違反情報データベース３２は、プリンタ１０に対して不正アクセスを実行した外部装置のデータが記述されたデータベースである。不正アクセスとは、組合せ情報データベース３０に記述されていない組合せ情報と共に、プリンタ１０に対してコマンドを送信することを意味する。違反情報データベース３２は、図４に示すように、外部装置のＩＰアドレスと、ジョブＩＤと、不正アクセス時刻とを対応付けて記憶したデータ（以下では、このデータを違反情報という）の一覧である。各違反情報は、外部装置からの不正アクセスがあったときに作成される。
【００２２】
表示部１８は、液晶ディスプレイであり、演算装置１４から入力される指令に応じて情報を表示する。
【００２３】
入力部２０は、複数の入力ボタン等によって構成されている。ユーザが入力ボタンを操作することによって、入力部２０から演算装置１４に指令が入力される。
【００２４】
プリンタ部２２は、主に、用紙トレイ、用紙搬送機構、インクジェットヘッド、インクジェットヘッド駆動機構等によって構成されている。プリンタ部２２は、用紙トレイに収容されている用紙をインクジェットヘッドへ搬送し、インクジェットヘッドにより用紙に画像を印刷する。プリンタ部２２は、演算装置１４から入力される指令に応じて印刷を実行する。
【００２５】
（プリンタ１０と外部装置が実行する処理）
次に、プリンタ１０によって印刷を実行するときの処理について説明する。プリンタ１０によって印刷を実行するときには、図５のフローチャートに示す処理が外部装置とプリンタ１０で実行される。なお、図５の破線の矢印は、外部装置とプリンタ１０の間における情報の送受信を示している。以下に、各ステップの詳細について説明する。なお、以下では、外部装置としてＰＣ１０２を用いる場合を例として説明する。
【００２６】
（ＣＰＪＲコマンドの送受信）
プリンタ１０で印刷を実行するときには、ＰＣ１０２からプリンタ１０に、Ｃｒｅａｔｅ  Ｐｒｉｎｔ  Ｊｏｂ  Ｒｅｑｕｅｓｔコマンド（以下では、ＣＰＪＲコマンドという）が送信される（ステップＡ２、Ｂ２）。図６は、ＰＣ１０２からプリンタ１０にＣＰＪＲコマンドを送信するパケットの概略構成を示している。図示するように、パケットは、ヘッダ部１２０とデータ部１３０によって構成される。ヘッダ部１２０には、パケットを送受信するための種々の情報が記述される。例えば、ヘッダ部１２０には、送信元ＩＰアドレス（すなわち、ＰＣ１０２のＩＰアドレス）が記述される。データ部１３０には、例えば、ＣＰＪＲコマンドと、送信元情報と、印刷情報が記述される。送信元情報は、パケットを送信する外部装置のＷＳＡアドレス（すなわち、ＰＣ１０２のＷＳＡアドレス）とＩＰアドレス（すなわち、ＰＣ１０２のＩＰアドレス）を記述した情報である。印刷情報は、印刷するファイル名、印刷するページ数、印刷するデータのサイズ等を記述した情報である。
【００２７】
（組合せ情報の記憶）
ステップＢ４では、プリンタ１０が、受信したＣＰＪＲコマンドのパケットに基づいて組合せ情報を記憶する。プリンタ１０は、図７のフローチャートに従って、組合せ情報を記憶する。
【００２８】
ステップＳ１０では、プリンタ１０は、受信したＣＰＪＲコマンドのパケットが、Ｗｅｂ  Ｓｅｒｖｉｃｅｓ規格に従ったパケットであるか否かを判定する。パケットがＷｅｂ  Ｓｅｒｖｉｃｅｓ規格に従ったものでない場合には（ステップＳ１０でＮＯ）、プリンタ１０は、エラー信号を、ＣＰＪＲコマンドを送信した外部装置（すなわち、ＰＣ１０２）に送信し（ステップＳ２２）、処理を中止する。この場合、プリンタ１０に組合せ情報は記憶されず、印刷も実行されない。パケットがＷｅｂ  Ｓｅｒｖｉｃｅｓ規格に従ったものである場合には（ステップＳ１０でＹＥＳ）、プリンタ１０は、ステップＳ１２を実行する。
【００２９】
ステップＳ１２では、プリンタ１０は、ＣＰＪＲコマンドのパケットのヘッダ部１２０に記述されているＩＰアドレスが、違反情報データベース３２に記述されている違反情報の何れかと一致するか否かを判定する。上述したように、違反情報データベース３２は、不正アクセスを実行した外部装置のＩＰアドレスの一覧を示すデータベースである。受信したパケットに記述されているＩＰアドレスが違反情報と一致する場合には（ステップＳ１２でＹＥＳ）、プリンタ１０は、ステップＳ２２を実行し、処理を中止する。この場合、プリンタ１０に組合せ情報は記憶されず、印刷も実行されない。したがって、ＰＣ１０２のＩＰアドレスが違反情報データベース３２に記述されていれば、ステップＳ１２でＹＥＳと判定され、印刷は実行されない。
なお、上述したように、ＣＰＪＲコマンドのパケットには、ヘッダ部１２０に記述されているＩＰアドレスの他に、データ部１３０にも送信元情報としてのＩＰアドレスが記述されている。しかしながら、データ部１３０の送信元情報には、実際のＩＰアドレスとは異なる情報（例えば、不正に書き換えられた情報）が記述される場合がある。したがって、プリンタ１０は、ヘッダ部１２０に記述されているＩＰアドレスを違反情報データベース３２と照合する。これによって、不正アクセスをした外部装置からのＣＰＪＲコマンドを確実に特定することができる。
ＩＰアドレスが違反情報と一致しない場合には（ステップＳ１２でＮＯ）、プリンタ１０は、ステップＳ１４を実行する。
【００３０】
ステップＳ１４では、プリンタ１０は、ジョブＩＤを決定する。なお、プリンタ１０に複数の印刷要求がされている場合（すなわち、プリンタ１０が複数のＣＰＪＲコマンドを受信している場合）には、組合せ情報データベース３０には複数の組合せ情報が記述されている。この場合、組合せ情報データベース３０に記述されているジョブＩＤと重複しないように、ジョブＩＤは決定される。
なお、プリンタ１０に多数のＣＰＪＲコマンドが送信された場合には、多数のジョブＩＤが使用される。多数のジョブＩＤが使用されて、使用可能なジョブＩＤが無い場合には、ステップＳ１６でＮＯと判定される。また、組合せ情報データベース３０の記憶容量が膨大であって組合せ情報データベース３０に新たな組合せ情報を記憶させることができない場合も、ステップＳ１６でＮＯと判定される。また、ジョブＩＤを発行するデバイスが正常に機能せずにジョブＩＤを発行できない場合も、ステップＳ１６でＮＯと判定される。ステップＳ１６でＮＯの場合、プリンタ１０は、ステップＳ２２を実行し、処理を中止する。
【００３１】
ジョブＩＤが決定されると、プリンタ１０は、ステップＳ１８を実行する。ステップＳ１８では、プリンタ１０は、ステップＳ１４で決定したジョブＩＤと、図５のステップＢ２で受信したＣＰＪＲコマンドのパケットのヘッダ部１２０に記述されているＩＰアドレスと、データ部１３０に記述されているＷＳＡアドレス（送信元情報のＷＳＡアドレス）とを対応付けた組合せ情報を作成する。そして、作成した組合せ情報を、組合せ情報データベース３０に書き込む。すなわち、組合せ情報を記憶する。組合せ情報を記憶すると、プリンタ１０は、図７の処理（すなわち、図５のステップＢ４）を終了する。
【００３２】
（ＣＰＪＲ返信信号の送受信）
ステップＢ４で組合せ情報を記憶すると、プリンタ１０はステップＢ６を実行する。ステップＢ６では、プリンタ１０は、ＣＰＪＲコマンドを送信した外部装置（すなわち、ＰＣ１０２）に返信信号（以下では、ＣＰＪＲ返信信号という）を送信する。このとき、プリンタ１０は、ＣＰＪＲ返信信号と共に、図７のステップＳ１４で決定したジョブＩＤも送信する。送信されたＣＰＪＲ返信信号とジョブＩＤは、ＰＣ１０２で受信される（ステップＡ４）。
【００３３】
（ＳＤＲコマンドの送受信）
ＣＰＪＲ返信信号とジョブＩＤを受信すると、ＰＣ１０２は、Ｓｅｎｄ  Ｄｏｃｕｍｅｎｔ  Ｒｅｑｕｅｓｔコマンド（以下では、ＳＤＲコマンドという）とジョブＩＤ（ステップＡ４で受信したジョブＩＤ）をプリンタ１０に送信する。このとき送信されるＳＤＲコマンドとジョブＩＤのパケットは、図８の構成を備えている。すなわち、ヘッダ部１２０には、ＰＣ１０２のＩＰアドレスが記述される。また、データ部１３０には、ＳＤＲコマンドと、ジョブＩＤと、送信元情報と、印刷情報が記述される。
送信された上記のパケットは、プリンタ１０で受信される（ステップＢ８）
【００３４】
（パケットの判定）
ステップＢ８でＳＤＲコマンドとジョブＩＤを記述したパケットを受信すると、プリンタ１０は、その受信したパケットが適切であるか否かを判定する（ステップＢ１０）。プリンタ１０は、図９のフローチャートに従って、パケットを判定する。
【００３５】
ステップＳ３０では、プリンタ１０は、ＳＤＲコマンドと共に受信した印刷情報が適切に記述されているか否かを判定する。必要な情報が記述されていない等、印刷情報が適切でない場合には（ステップＳ３０でＮＯ）、プリンタ１０は、エラー信号を、ＳＤＲコマンドを送信した外部装置（すなわち、ＰＣ１０２）に送信し（ステップＳ４４）、処理を中止する。この場合、印刷は実行されない。
印刷情報が適切に記述されている場合には（ステップＳ３０でＹＥＳ）、プリンタ１０は、ステップＳ３２を実行する。
【００３６】
ステップＳ３２では、プリンタ１０は、図５のステップＢ８でＳＤＲコマンドと共に受信した組合せ情報（すなわち、ＳＤＲコマンドと共に送信されたジョブＩＤと、ＳＤＲコマンドのパケットのヘッダ部１２０に記述されているＩＰアドレスと、そのパケットのデータ部１３０に記述されているＷＳＡアドレスとからなる組合せ情報）が、組合せ情報データベース３０に記述されている組合せ情報の何れかと一致するか否かを判定する。
上述したように、組合せ情報データベース３０に記述されている組合せ情報は、プリンタ１０が外部装置からのＣＰＪＲコマンドを受信したときに記述される。したがって、組合せ情報データベース３０に記述されていない組合せ情報と共に受信されたＳＤＲコマンドは、図５のステップＢ２〜Ｂ６を経ることなく送信された不正なＳＤＲコマンドである。
プリンタ１０は、ＳＤＲコマンドと共に受信した組合せ情報が、組合せ情報データベース３０に記述されている組合せ情報と一致しない場合には（すなわち、ＳＤＲコマンドが不正アクセスにより送信されたものであった場合には）、ステップＳ３２でＮＯと判定する。例えば、ＰＣ１０４が、ＰＣ１０２に対して決定されたジョブＩＤを不正に取得し、そのジョブＩＤと共にＳＤＲコマンドを送信した場合には、ステップＳ３２でＮＯと判定される。この場合、ＳＤＲコマンドと共に受信したＩＰアドレス（ヘッダ部１２０のＩＰアドレス（すなわち、ＰＣ１０４のＩＰアドレス））とジョブＩＤを、その受信時刻と共に違反情報データベース３２に記述する（ステップＳ４２）。この場合、ＰＣ１０４は、プリンタ１０で印刷を実行することができなくなる（すなわち、その後にＰＣ１０４からプリンタ１０にＣＰＪＲコマンドを送信して印刷をしようとしても、図７のステップＳ１２でＹＥＳと判定され、印刷が実行されなくなる）。ステップＳ４２を実行すると、プリンタ１０は、ＰＣ１０４にエラー信号を送信し（ステップＳ４４）、処理を中止する。この場合、プリンタ１０は、ＳＤＲコマンドの受信待ちの状態を維持し続ける。したがって、その後に外部装置（例えば、ＰＣ１０２）からＳＤＲコマンドを受信した場合には、プリンタ１０は再度、図９のフローチャートを実行する。
一方、ＳＤＲコマンドと共に受信した組合せ情報が、組合せ情報データベース３０に記述されている組合せ情報と一致する場合には、ステップＳ３２でＹＥＳと判定される。ＰＣ１０２からのＳＤＲコマンドを受信した場合には、その組合せ情報は組合せ情報データベース３０に記述されているので、ここでＹＥＳと判定される。この場合、プリンタ１０は、ステップＳ３４を実行する。
以上に説明したように、プリンタ１０は、不正アクセスによるＳＤＲコマンドを受信したときには、ステップＳ３４以降の処理を実行せず、ＳＤＲコマンドの受信待ちの状態を維持する。そして、正規のＳＤＲコマンドを受信したときにのみ、ステップＳ３４以降の処理を実行する。したがって、不正アクセスによる印刷ジョブの割り込みが防止され、正規に要求された印刷を適切に実行することができる。なお、ステップＳ３２の判定では、プリンタ１０は、受信したパケットのデータ部１３０に記述されているＩＰアドレスではなく、ヘッダ部１２０に記述されているＩＰアドレスを組合せ情報として用いる。したがって、不正アクセスによるＳＤＲコマンドを確実に特定することができる。
【００３７】
ステップＳ３４では、プリンタ１０は、ドキュメントＩＤを決定する。ＰＣ１０２から複数のドキュメントの印刷が要求されている場合には、ドキュメント毎にドキュメントＩＤが決定される。
なお、多数のドキュメントの印刷が要求され、使用可能なドキュメントＩＤが足りない場合には、ステップＳ３６でＮＯと判定される。また、ドキュメントＩＤを記憶するためのメモリの記憶容量が膨大であって新たなドキュメントＩＤを記憶させることができない場合も、ステップＳ３６でＮＯと判定される。また、ドキュメントＩＤを発行するデバイスが正常に機能せずにドキュメントＩＤを発行できない場合も、ステップＳ３６でＮＯと判定される。ステップＳ３６でＮＯの場合、プリンタ１０は、ステップＳ４４を実行し、処理を中止する。
一方、ステップＳ３６でＹＥＳと判定されると、プリンタ１０は図９の処理（すなわち、図５のステップＢ１０）を終了する。
【００３８】
（印刷データの受信と印刷の実行）
ステップＢ１０が終了すると、プリンタ１０は、ＰＣ１０２から送信される印刷データを受信して、印刷を実行する（ステップＡ８、Ｂ１２）。すなわち、ＰＣ１０２は、ＳＤＲコマンドを送信すると、印刷データの送信を開始する。プリンタ１０は、ステップＢ１０が終了すると印刷データの受信を開始し、受信した印刷データに基づいて印刷を実行する。印刷が終了すると、プリンタ１０は、印刷が終了したジョブの組合せ情報（すなわち、ステップＳ３２で一致すると判定された組合せ情報）を組合せ情報データベース３０から削除する。
【００３９】
（ＳＤＲ返信信号の送受信）
印刷が終了すると、プリンタ１０から、ＳＤＲコマンドを送信した外部装置（すなわち、ＰＣ１０２）に、ＳＤＲコマンドに対する返信信号が送信される（ステップＡ１０、Ｂ１４）。これによって、ＰＣ１０２に印刷の終了が通知される。これによって、図５の処理が終了する。
【００４０】
以上に説明したように、本実施の形態のプリンタ１０は、ＣＰＪＲコマンドを受信したときに、ＣＰＪＲコマンドと共に受信した組合せ情報を記憶する。そして、ＳＤＲコマンドと共に受信した組合せ情報が記憶した組合せ情報と一致する場合には印刷を実行し、一致しない場合には印刷を実行しない。したがって、ＣＰＪＲコマンドを送信していない外部装置による割り込み印刷を防止することができる。また、プリンタ１０は、ＣＰＪＲコマンドの受信時にジョブＩＤを決定するので、印刷要求をジョブＩＤごとに区別することができる。したがって、印刷の実行中であっても、他の印刷要求（すなわち、ＣＰＪＲコマンド）を受け付けることができる（待機状態にすることができる）。すなわち、プリンタ１０によれば、複数の印刷要求を受け付けることができる。
【００４１】
また、プリンタ１０は、組合せ情報データベース３０に記述されていない組合せ情報と共にＳＤＲコマンドを受信したときに、そのＳＤＲコマンドのＩＰアドレスを違反情報データベース３２に記述する。したがって、プリンタ１０の管理者等は、不正アクセスをした外部装置を容易に特定することができる。
【００４２】
また、プリンタ１０は、ＩＰアドレスとＷＳＡアドレスを組合せ情報（すなわち、識別情報）として用いる。特に、パケットのヘッダ部１２０に記述されているＩＰアドレスを識別情報として用いる。したがって、確実に不正アクセスによるＳＤＲコマンドを特定することができる。
【００４３】
（印刷のキャンセル）
印刷の実行中のジョブや、印刷の実行待ちのジョブを、キャンセルしたい場合がある。この場合、印刷を要求した外部装置からプリンタ１０に、Ｃａｎｃｅｌ  Ｊｏｂ  Ｒｅｑｕｅｓｔコマンド（以下では、ＣＪＲコマンドという）とジョブＩＤを送信する。これにより、送信したジョブＩＤに対応する印刷をキャンセルすることができる。なお、ＣＪＲコマンドを送信するパケットには、そのヘッダ部１２０にＩＰアドレスが記述されており、そのデータ部１３０にＷＳＡアドレスが記述されている。プリンタ１０は、ＣＪＲコマンドを受信すると、図１０に示すフローチャートを実行する。
【００４４】
ステップＳ５０では、プリンタ１０は、受信したＣＪＲコマンドが適切なコマンドであるか否かを判定する。ＣＪＲコマンドの形式が異なる等、ＣＪＲコマンドが適切でない場合には（ステップＳ５０でＮＯ）、ステップＳ６０でエラー信号が外部装置（ＣＪＲコマンドを送信した外部装置）に送信された後、処理が中止される。この場合、キャンセルは実行されない。
ステップＳ５２では、プリンタ１０は、ＣＪＲコマンドと共に受信した組合せ情報（すなわち、ＣＪＲコマンドと共に受信したジョブＩＤと、ＣＪＲコマンドのパケットのヘッダ部１２０に記述されているＩＰアドレスと、そのパケットのデータ部１３０に記述されているＷＳＡアドレスとの組合せ情報）が、組合せ情報データベース３０に記述されている組み合わせ情報のいずれかと一致するか否かを判定する。一致しない場合には、そのＣＪＲコマンドは不正アクセスによるものと考えられる。したがって、この場合には、ステップＳ５２でＮＯと判定される。例えば、ＰＣ１０４が、ＰＣ１０２に対して決定されたジョブＩＤと共にＣＪＲコマンドを送信した場合には、ステップＳ５２でＮＯと判定される。ステップＳ５２でＮＯと判定された場合、プリンタ１０は、ＣＪＲコマンドと共に受信したＩＰアドレスを違反情報データベース３２に記述する（ステップＳ５８）。そして、ステップＳ６０を実行した後に、処理を中止する。したがって、キャンセルは実行されない。
一方、組み合わせ情報が一致する場合には（すなわち、ステップＳ５２でＹＥＳ）、プリンタ１０は、受信したジョブＩＤに対応する印刷をキャンセルする（ステップＳ５４）。すなわち、そのジョブＩＤに対応する印刷がまだ実行されていない場合（すなわち、印刷待ちの状態にある場合）には、そのジョブＩＤに対応する組合せ情報を組合せ情報データベース３０から削除する。したがって、そのジョブＩＤに対応する印刷は実行されない。また、受信したジョブＩＤに対応する印刷を実行中である場合には、そのジョブＩＤに対応する組合せ情報を組合せ情報データベース３０から削除し、さらに、実行中の印刷を中止する。
プリンタ１０は、ステップＳ５４が終了すると、ＣＪＲコマンドを送信した外部装置にＣＪＲコマンドに対する返信信号を送信する（ステップＳ５６）。これによって、外部装置にキャンセルの完了が通知される。
【００４５】
このように、本実施の形態のプリンタ１０は、ＣＪＲコマンドと共に受信した組合せ情報が記憶した組合せ情報と一致する場合にはキャンセルを実行し、一致しない場合にはキャンセルを実行しない。したがって、不正アクセスによるキャンセル（すなわち、印刷要求をした外部装置とは異なる外部装置によるキャンセル）を防止することができる。
【００４６】
（違反情報の削除処理）
上述したように、プリンタ１０は、不正アクセスがあったときに、違反情報データベース３２に違反情報を記述（記憶）する。本実施の形態のプリンタ１０は、不正アクセスがあったときから一定時間（以下では、違反情報解除時間という）が経過したときに、違反情報を削除する。以下に、違反情報データベース３２から違反情報を削除する処理について説明する。図１１のフローチャートは、プリンタ１０が実行する違反情報の削除処理を示している。
プリンタ１０は、違反情報の削除処理を開始すると、違反情報データベース３２の中から違反情報を１つ選択する（ステップＳ６２）。そして、現在時刻と選択した違反情報の不正アクセス時刻に基づいて、その違反情報が示す不正アクセスがあったときから違反情報解除時間が経過しているか否かを判定する（ステップＳ６４）。違反情報解除時間が経過している場合には（ステップＳ６４でＹＥＳ）、プリンタ１０は、その違反情報を削除する（ステップＳ６６）。違反情報解除時間が経過していない場合には（ステップＳ６４でＮＯ）、プリンタ１０は、ステップＳ６６を実行しない（すなわち、その違反情報を削除しない）。次に、プリンタ１０は、全ての違反除法についてステップＳ６４の判定を行ったか否かを判定する（ステップＳ６８）。全ての違反情報についてステップＳ６４の判定を行っていない場合には（ステップＳ６８でＮＯ）、ステップＳ６２〜Ｓ６８を再度実行する。なお、２回目以降のステップＳ６２では、すでにステップＳ６４の判定を行った違反情報は選択されない。ステップＳ６２〜Ｓ６８を繰り返し実行し、全ての違反情報についてステップＳ６４の判定を行った場合には（ステップＳ６８でＹＥＳ）、プリンタ１０は図１１の処理を終了する。
プリンタ１０は、上述した図１１の処理を、定期的に実行する。したがって、違反情報解除時間が経過した違反情報は、違反情報データベース３２から削除される。これによって、その違反情報に対応する外部装置で、プリンタ１０の利用が可能となる。このように、違反情報解除時間の経過に伴って違反情報を削除することで、外部装置の使い勝手を向上させることができる。
【００４７】
（第２実施の形態）
本発明の第２実施の形態に係るジョブ実行装置について、説明する。第２実施の形態では、ジョブ実行装置として機能するスキャナ６０について説明する。スキャナ６０は、プリンタ１０と同様に、ＬＡＮ回線１００に接続されている。また、スキャナ６０は、図２に示すプリンタ１０の構成のうち、プリンタ部２２をスキャナ部に置き換えた構成を備えている。スキャナ部は、演算装置からの指令に応じてスキャンを実行する。また、スキャナ６０の記憶装置は、プリンタ１０と同様に、組合せ情報データベースと違反情報データベースを記憶している。
【００４８】
外部装置からスキャナ６０にスキャンを要求する場合、図１２のフローチャートに示す処理が実行される。
ステップＡ２２、Ｂ２２では、外部装置からスキャナ６０にＣｒｅａｔｅ  Ｓｃａｎ  Ｊｏｂ  Ｒｅｑｕｅｓｔコマンド（以下では、ＣＳＪＲコマンドという）が送信される。ＣＳＪＲコマンドのパケットは、コマンド名が異なるという点と、印刷情報の代わりにスキャン情報（スキャン範囲、解像度等のスキャンを実行するために必要な情報）が記述されているという点を除いて、図６に示すＣＰＪＲコマンドのパケットと同様の内容を記述したものである。
スキャナ６０は、ＣＳＪＲコマンドを受信すると、図７と略同様の処理によって、組合せ情報を組合せ情報データベースに書き込む（ステップＢ２４）。
ステップＡ２４、Ｂ２６では、スキャナ６０から外部装置にＣＳＪＲコマンドに対する返信信号（ＣＳＪＲ返信信号）が送信される。このとき、ＣＳＪＲ返信信号と共に、ジョブＩＤも送信される。
ＣＳＪＲ返信信号とジョブＩＤを受信すると、外部装置は、Ｒｅｔｒｉｂｅ  Ｉｍａｇｅ  Ｒｅｑｕｅｓｔコマンド（以下では、ＲＩＲコマンドという）をスキャナ６０に送信する（ステップＡ２６）。ＲＩＲコマンドのパケットは、コマンド名が異なるという点と、印刷情報の代わりにスキャン情報が記述されているという点を除いて、図８に示すＳＤＲコマンドのパケットと同様の内容を記述したものである。送信されたＲＩＲコマンドは、スキャナ６０で受信される（ステップＢ２８）。
スキャナ６０は、ＲＩＲコマンドを受信すると、図９と略同様の処理によって、パケットを判定し（ステップＢ３０）、スキャンを実行する（ステップＢ３２）。すなわち、ＲＩＲコマンドと共に受信した組合せ情報が組合せ情報データベースの情報と一致する場合にはスキャンを実行し、一致しない場合にはスキャンを実行しない。したがって、不正アクセスによる割り込みスキャンを防止することができる。
スキャンが終了すると、プリンタ１０から外部装置（ＲＩＲコマンドを送信した外部装置）に、ＲＩＲコマンドに対する返信信号と、スキャンした画像データが送信され（ステップＡ２８、Ｂ３４）、処理が終了する。
【００４９】
以上に説明したように、上述した実施の形態のプリンタ１０とスキャナ６０によれば、不正アクセスによるジョブの割り込みを防止することができる。なお、本発明は、デジタルカメラ、ファックス、測定器、ロボット等、種々のジョブ実行装置に適用することができる。
【００５０】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００５１】
【図１】プリンタ１０と外部装置との接続図。
【図２】プリンタ１０の内部構成を示すブロック図。
【図３】組合せ情報データベース３０の記述内容を示す図。
【図４】違反情報データベース３２の記述内容を示す図。
【図５】プリンタ１０で印刷を実行するときの処理を示すフローチャート。
【図６】ＣＰＪＲコマンドを送信するパケットの内容を示す図。
【図７】組合せ情報記憶ステップの処理を示すフローチャート。
【図８】ＳＤＲコマンドを送信するパケットの内容を示す図。
【図９】パケット判定ステップの処理を示すフローチャート。
【図１０】印刷をキャンセルするときの処理を示すフローチャート。
【図１１】違反情報データベース３２から違反情報を削除する処理を示すフローチャート。
【図１２】スキャナ６０でスキャンを実行するときの処理を示すフローチャート。
【符号の説明】
【００５２】
１０：プリンタ
１２：ＬＡＮインタフェース
１４：演算装置
１６：記憶装置
１８：表示部
２０：入力部
２２：プリンタ部
３０：組合せ情報データベース
３２：違反情報データベース
６０：スキャナ
１００：ＬＡＮ回線
１０２：ＰＣ
１０４：ＰＣ
１２０：ヘッダ部
１３０：データ部
【図１】
2009087163.tif 000003
【図２】
2009087163.tif 000004
【図３】
2009087163.tif 000005
【図４】
2009087163.tif 000006
【図５】
2009087163.tif 000007
【図６】
2009087163.tif 000008
【図７】
2009087163.tif 000009
【図８】
2009087163.tif 000010
【図９】
2009087163.tif 000011
【図１０】
2009087163.tif 000012
【図１１】
2009087163.tif 000013
【図１２】
2009087163.tif 000014