JP2023077923A - 印刷装置及びその制御方法、並びにプログラム - Google Patents

印刷装置及びその制御方法、並びにプログラム Download PDF

Info

Publication number
JP2023077923A
JP2023077923A JP2021191432A JP2021191432A JP2023077923A JP 2023077923 A JP2023077923 A JP 2023077923A JP 2021191432 A JP2021191432 A JP 2021191432A JP 2021191432 A JP2021191432 A JP 2021191432A JP 2023077923 A JP2023077923 A JP 2023077923A
Authority
JP
Japan
Prior art keywords
external device
print data
connection
printing
reception
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021191432A
Other languages
English (en)
Inventor
宏暢 中井
Hironobu Nakai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2021191432A priority Critical patent/JP2023077923A/ja
Priority to EP22206864.5A priority patent/EP4187365A1/en
Priority to US17/989,740 priority patent/US20230161524A1/en
Priority to CN202211484723.4A priority patent/CN116166206A/zh
Priority to KR1020220158951A priority patent/KR20230077686A/ko
Publication of JP2023077923A publication Critical patent/JP2023077923A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1291Pool of printer devices: self-managing printing devices in a network, e.g. without a server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1267Job repository, e.g. non-scheduled jobs, delay printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1286Remote printer device, e.g. being remote from client or server via local network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • G06F3/1295Buffering means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/327Initiating, continuing or ending a single-mode communication; Handshaking therefor
    • H04N1/32765Initiating a communication
    • H04N1/32771Initiating a communication in response to a request, e.g. for a particular document
    • H04N1/32776Initiating a communication in response to a request, e.g. for a particular document using an interactive, user-operated device, e.g. a computer terminal, mobile telephone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】印刷装置において外部装置からの印刷データの受信が途中で停止した場合でも、印刷処理を正常に再開できるようにする。【解決手段】印刷装置は、所定の通信プロトコルに従って外部装置(ホストPC)とのコネクションを確立し、外部装置から当該コネクションを介して送信される印刷データを受信し、スプール領域に一時的に格納する。印刷装置は、スプール領域に格納された印刷データに基づいて印刷処理を実行する。印刷装置は更に、外部装置からの印刷データの受信が途中で停止し、当該受信が停止している状態で所定時間が経過した場合に、設定画面600を介して予め行われた設定に従って、外部装置とのコネクションを印刷装置側から切断するか否かを制御する。【選択図】図6

Description

本発明は、印刷装置及びその制御方法、並びにプログラムに関するものである。
従来、LPD(Line Printer Daemon)が動作しているプリンタに対して、ホストPCからLPR(Line Printer Remote)コマンドを用いて印刷を指示するLPR印刷が提案されている。LPR印刷においては、RFC(Request For Comments)1179の規定により、印刷データのサイズ情報を当該印刷データの送信に先立ってホストPCからプリンタに通知することが求められている。このようなサイズ情報の通知に、実際の印刷データのサイズよりも大きなサイズを示す値を設定することで、ホストPCからプリンタへの印刷データの送信終了後にホストPCとプリンタとの間の通信コネクションを切断する印刷システムが知られている。
ホストPCとプリンタとの間のデータ通信に関して、特許文献1には、プリンタ側でホストPCの所定のタイムアウト時間よりも短いタイムアウト時間を設定し、印刷の停止及び再開を行う制御方法が開示されている。また、特許文献2には、受信バッファで受信可能なデータサイズをプリンタからホストPCに通知する制御方法が開示されている。
特開2003-256178号公報 特開2011-116083号公報
印刷システムでは、一般的に、印刷動作と並行して印刷データの受信を滞りなく行うために、データスプールの仕組みが導入される。データスプール(スプール領域)は、所定サイズのメモリ領域で構成される。データスプールのサイズを超えるサイズの印刷データがホストPCからプリンタへ送信される場合であっても、プリンタにおいて印刷動作が滞りなく行われる限り、データスプールの空き領域の枯渇は発生しない。しかしながら、用紙切れ又は紙詰まり等のエラーの発生によって印刷動作が停止した場合、データスプールの空き領域が枯渇することがありうる。
データスプールの空き領域が枯渇した場合、ホストPCからプリンタへの印刷データの送信が途中で停止することになる。この状態で、例えば、ホストPCにおいてスリープ移行若しくは再起動が生じると、又はプリンタにおいてエラーが解消することなくスリープ移行(エラースリープ)が生じると、ホストPCとプリンタとの間の通信コネクションの切断が生じる。その結果、プリンタにおいて印刷ジョブのキャンセル動作を正常に行うことができず、例えば不正文字列が印刷されるといった異常が生じた印刷物が出力される可能性がある。また、印刷データのサイズがデータスプールのサイズより小さい場合、キャンセル動作を行っていないにもかかわらず印刷ジョブが消失する可能性がある。
そこで、本発明は、印刷装置において外部装置からの印刷データの受信が途中で停止した場合でも、印刷処理を正常に再開できるようにする技術を提供することを目的としている。
本発明の一態様に係る印刷装置は、外部装置と通信可能な印刷装置であって、所定の通信プロトコルに従って外部装置とのコネクションを確立する確立手段と、前記外部装置から前記コネクションを介して送信される印刷データを受信し、スプール領域に一時的に格納する受信手段と、前記スプール領域に格納された印刷データに基づいて印刷処理を行う印刷手段と、前記外部装置からの印刷データの受信が途中で停止し、当該受信が停止している状態で所定時間が経過した場合に、ユーザ操作により予め行われた設定に従って、前記外部装置との前記コネクションを前記印刷装置側から切断するか否かを制御する制御手段と、を備えることを特徴とする。
本発明の他の一態様に係る印刷装置は、外部装置と通信可能な印刷装置であって、所定の通信プロトコルに従って外部装置とのコネクションを確立する確立手段と、前記外部装置から前記コネクションを介して送信される印刷データを受信し、スプール領域に一時的に格納する受信手段と、前記スプール領域に格納された印刷データに基づいて印刷処理を行う印刷手段と、前記外部装置からの印刷データの受信が途中で停止し、当該受信が停止している状態で所定時間が経過した場合に、前記外部装置から送信される前記印刷データのサイズと前記スプール領域のサイズとに基づいて、前記外部装置との前記コネクションを前記印刷装置側から切断するか否かを制御する制御手段と、を備えることを特徴とする。
本発明によれば、印刷装置において外部装置からの印刷データの受信が途中で停止した場合でも、印刷処理を正常に再開することが可能になる。
ネットワーク構成例を示す図 MFPのハードウェア構成例を示すブロック図 MFPの機能構成例を示すブロック図 LPRコマンドの仕様の一部と、ホストPCにおける設定画面の例を示す図 LPD印刷に関連するパケットの例を示す図 MFPにおけるLPDに関連する設定画面の例を示す図 印刷データの受信処理の手順を示すフローチャート(第1実施形態) 印刷データの受信処理の手順を示すフローチャート(第2実施形態) 印刷データの受信処理の手順を示すフローチャート(第3実施形態)
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。更に、添付図面においては、同一又は同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1実施形態]
図1は、本実施形態に係るネットワーク構成例を示す。複合機(MFP)100は、LAN(ローカルエリアネットワーク)105に接続されている。LAN105は有線LANで構成されうるが、無線LANで構成されてもよい。LAN105にはPC101及び102も接続されている。MFP100は、LAN105を介してPC101及び102と通信可能である。PC101及び102は、LAN105を介してMFP100に対して印刷ジョブを送信することで、MFP100に当該印刷ジョブを実行させることが可能である。PC101及び102は、クライアントPC又はホストPCとも称されうる。
<MFPのハードウェア構成>
図2は、MFP100のハードウェア構成例を示すブロック図である。MFP100は、コントローラ(制御部)200と、当該コントローラに接続された操作部220、プリンタ(プリンタエンジン)221、及びスキャナ222とを備える。コントローラ200は、CPU201を含み、MFP100全体の動作を制御する。コントローラ200は更に、CPU201、RAM202、ROM203、HDD(ハードディスクドライブ)204、操作部I/F(インタフェース)205、プリンタI/F206、スキャナI/F207、及びLAN I/F208を含む。
CPU201は、ROM203又はHDD204に格納された制御プログラムをRAM202に展開し、当該展開した制御プログラムを読み出して実行することで、通信制御及び画像処理等の各種制御又は処理を行う。RAM202は、揮発性の記憶媒体(記憶装置)であり、CPU201の主メモリ及びワークエリアとして使用される。HDD204は、不揮発性の記憶媒体(記憶装置)である。HDD204には、各種データ及び各種プログラムが格納され、印刷処理又はコピー処理において生成される画像データを一時的に格納するためにも使用される。このように、CPU201、ROM203、RAM202、HDD204等のハードウェアは、いわゆるコンピュータを構成している。なお、本実施形態のMFP100では、1つのCPU202が1つのメモリ(RAM202)に展開した制御プログラムを用いて後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば複数のプロセッサー、メモリ、及びストレージを協働させて後述するフローチャートに示す各処理を実行することもできる。
プリンタI/F206は、プリンタ221とコントローラ200とを接続するインタフェースである。プリンタ221は、コントローラ200からプリンタI/F206を介して入力された画像データに基づいて、給紙カセット等の給紙部(図示せず)から給紙されたシートに画像を印刷(形成)する印刷処理を行う。プリンタ221は、例えば電子写真方式又はインクジェット方式で画像形成を行う。
スキャナI/F207は、スキャナ222とコントローラ200とを接続するインタフェースである。スキャナ222は、原稿載置台に載置された原稿の画像を読み取って画像データを生成する。スキャナ222によって生成された画像データは、スキャナI/F207を介してコントローラ200へ入力され、プリンタ221による印刷に用いられるか、HDD204に保存されるか、又はLAN I/F208を介して外部装置へ送信されうる。
操作部I/F205は、操作部220とコントローラ200とを接続するインタフェースである。操作部220は、ユーザの操作(例えば、MFP100の各種設定のための操作)を受け付ける。操作部220は、画面を表示する表示デバイス(表示部)を含み、例えばMFP100の状態を表示可能である。
LAN I/F208は、LAN105に接続され、LAN105を介して外部装置と通信可能な通信インタフェースである。CPU201は、LAN I/F208を介して、例えば、スキャナ222によって生成された画像データの外部装置への送信、及び、プリンタ221による印刷用の画像データを含む印刷データの外部装置からの受信を行うことが可能である。なお、MFP100は、無線LANに接続可能な無線LAN I/Fを更に備えてもよい。
<MFPの機能構成>
図3は、MFP100のソフトウェア構成(機能構成)例を示すブロック図である。図3に示す各ブロック(ソフトウェア)の機能は、ROM203又はHDD204に格納されているプログラムをCPU201がRAM202に読み出して実行することによってMFP100において実現される。
操作制御部301は、操作部220にユーザ向けの画面(操作画面)を表示するとともに、操作部220を介したユーザ操作を受け付ける。操作制御部301は、受け付けたユーザ操作に従って、表示画面上のボタン等の表示オブジェクトに関連付けられた処理を実行する。本実施形態では例えば、操作制御部301は、後述する図6に示す設定画面600を操作部220に表示する。操作制御部301は更に、設定画面600を介して、外部装置(ホストPC)からの印刷データの受信が停止している状態で所定時間が経過した場合に外部装置とのコネクションをMFP100側から切断するか否かの設定を受け付けることが可能である。
データ記憶部305は、各機能ユニット(制御部)からの要求に基づいて、設定値等のデータのROM203又はHDD204への保存、及び保存したデータの読み出しを行う。例えば、ユーザが何らかの機器設定を変更したい場合、操作制御部301は、操作部220を介したユーザの入力を操作制御部301が受け付け、入力内容に対応する設定値の保存をデータ記憶部305に要求する。データ記憶部305は、操作制御部301からの要求に従って設定値をROM203又はHDD204に保存する。また、データ記憶部305は、外部装置(ホストPC)から受信した印刷データが一時的に格納されるスプール領域(データスプール)を、RAM202等の揮発メモリ又はHDD204等の不揮発メモリの記憶領域に確保する。
環境設定部306は、データ記憶部305によって保存された設定値に従って、システム起動時又は設定変更の検出時に、MFP100の環境設定を行う。具体的には、環境設定部306は、IPアドレスの設定を含む各種ネットワーク設定と、MFP100が有する印刷機能及びコピー機能のための各種パラメータ設定とを行う。
NWアプリ310~312は、MFP100上で動作する、ネットワーク機能を実行するアプリケーションモジュールである。本実施形態では、MFP100上でこれら3つのNWアプリが動作する構成を説明するが、ネットワーク機能を用いてMFP100の機能を実現するアプリケーションであれば、任意の数のアプリケーションがMFP100上で動作しうる。
NWアプリ310は、LPD(Line Printer Daemon)プロトコルに対応したLPDモジュールである。LPDモジュールは、PC101等の外部装置から、LPR(Line Printer Remote)コマンドを用いて印刷データを受信する受信処理を行うアプリケーションである。なお、LPDの仕様はRFC1179によって規格化されている。NWアプリ311は、RAWモジュールである。RAWモジュールは、PC102等の外部装置から、TCP/IPの9100番ポートを用いて印刷データを受信する受信処理を行うアプリケーションである。NWアプリ312は、MFP100の機器情報の管理を行うアプリケーションである。
NWアプリ312は、PC102等の外部装置からの要求に応じて、MFP100の機器構成及び消耗品の情報を収集し、取集した情報を含む応答を出力する。本実施形態では、NWアプリ312は、RFC1157に定義されたSNMP(Simple Network Management Protocol)に従って、機器情報を管理情報ベース(MIBオブジェクト)の形式で出力する、SNMPエージェントとして構成されている。
ネットワーク制御部314は、プロトコルスタックで構成され、コントローラ200を統括的に制御するOSの一部として構成されている。一般に、プロトコルスタックは、それぞれネットワーク機能を実現するためのプロトコルに対応する複数のプログラムから成る、ソフトウェア機能を階層的に積み上げたプログラム群に相当する。プロトコルスタックは、OSI参照モデルに準じて、セッション層、トランスポート層、ネットワーク層、及びデータリンク層で構成されうる。セッション層は、コネクション制御等を行う。トランスポート層は、データ転送を管理する。ネットワーク層は、アドレス管理及び経路選択を制御する。データリンク層は、データフレームの識別及び転送を行う。本実施形態のネットワーク制御部314(プロトコルスタック)は更に、LAN I/F208を制御するためのデバイスドライバ315を含む。
ネットワーク制御API 313は、ネットワーク制御部314が有するプロトコルスタックを呼び出すためのAPIライブラリであり、一般的なソケット関数(ソケットAPI)としてOSに備えられている。環境設定部306及びNWアプリ310~312は、ネットワーク制御API313にパラメータを設定して当該ネットワーク制御APIを呼び出すことで、各通信プロトコルに準拠したデータ通信を行う。
ジョブ制御部302は、MFP100が有する複数の機能(コピー機能、印刷機能、及びファイル送信機能等)のそれぞれのジョブの実行を制御する。ジョブ制御部302は、印刷ジョブを実行する場合、NWアプリ310により、LPDプロトコルに従って外部装置(ホストPC)とのコネクションを確立する。ジョブ制御部302は、外部装置から当該確立したコネクションを介して送信される印刷データを受信し、受信した印刷データをスプール領域に一時的に格納する。
印刷処理部303は、ジョブ制御部302からの指示に従って、外部装置から受信され、スプール領域に格納済みの印刷データに基づく印刷処理を行う。具体的には、印刷処理部303は、印刷データの解釈を行って画像データを生成し、生成した画像データを、プリンタI/F206を介してプリンタ221へ送信することで、プリンタ221によって
スキャン処理部304は、ジョブ制御部302からの指示時に従って、スキャナI/F207を介して、スキャナ222によって原稿の画像を読み取って画像データを生成させ、当該画像データをスキャン画像データとしてHDD204に保存する。
なお、印刷処理部303は、スキャン処理部304によって保存されたスキャン画像データを読み出し、当該画像データに基づく印刷処理を行うことも可能である。例えば、コピー機能を実行する場合、操作制御部301が、操作部220を介してコピー機能の実行指示をユーザから受け付けると、ジョブ制御部302にコピー機能の実行を指示する。ジョブ制御部302は、スキャン処理部304に対して原稿の読み取りを指示し、スキャン処理部304からスキャン画像データを取得する。ジョブ制御部302は更に、印刷処理部303に対して、取得したスキャン画像データに基づく印刷処理を指示することで、原稿の画像が印刷されたシートを当該原稿のコピー結果として出力する。
<LPRコマンド及びLPR設定>
図4(A)は、LPD(Line Printer Daemon)プロトコルが規定されたRFC1179仕様の一部を示しており、受信データファイルに関連する制御コマンドであるLPRコマンドの仕様を示している。同図に示すように、このLPRコマンドには、コマンドコード「03」の次に、データファイルのサイズ情報(バイト数)が格納され、更に1文字のスペースの次に、データファイルの名称が格納される。このLPRコマンドは、印刷データの本体の送信が行われる前に、LPDが動作している印刷装置(MFP100)に対してホストPCから送信されるものである。
図4(B)は、LPRコマンドを用いて印刷の実行をMFP100へ指示するホストPC側における、印刷ポートの設定を行うための設定画面の例(設定画面400)を示している。設定画面400では、使用する印刷プロトコル(通信プロトコル)として、「RAW」、「IPP」及び「LPR」を選択可能である。図4(B)の例では、参照符号401で示すように、印刷プロトコルとして「LPR」が選択されている。設定画面400では更に、LPR設定として、LPRバイトカウントを有効化するか否かを設定可能である。図4(B)の例では、参照符号402で示すように、LPR設定として、LPRバイトカウントを「OFF」にする設定が選択されている。即ち、LPRバイトカウントを有効化しない設定が選択されている。
図5(A)は、LPRバイトカウントが有効化されている(LPRバイトカウント=ON)の場合の、LPRコマンドを含む受信パケットの例を示している。図5(A)に示すパケットにおいて、参照符号501で示すコマンドコード「03」の部分から始まる所定の範囲が、受信データファイルを示すLPRコマンドに相当する。図4を参照して説明したように、ホストPC側でLPRバイトカウントが有効化されている場合、サイズ情報502には、ホストPCから印刷装置(MFP100)へ送信される印刷データのサイズを示すサイズ情報が適切に設定される。本例では、サイズ情報502として「39865」バイトが設定されている。
図5(B)は、LPRバイトカウントが有効化されていない(LPRバイトカウント=OFF)の場合の、LPRコマンドを含む受信パケットの例を示している。図5(B)に示すパケットにおいて、参照符号501で示すコマンドコード「03」の部分から始まる所定の範囲が、受信データファイルを示すLPRコマンドに相当する。サイズ情報502には、ホストPCから印刷装置(MFP100)へ送信される印刷データのサイズを示すサイズ情報が適切に設定されない。本例では、サイズ情報503として「125899906843000」バイト(≒114.5[TB])が設定されており、架空の巨大なファイルサイズを示すサイズ情報が設定されている。
<設定画面>
図6は、本実施形態に係るMFP100の操作部220に表示される設定画面の例(設定画面600)を示している。設定画面600は、LPDによる印刷に関連する設定を行うために用いられる。設定画面600は、ネットワーク設定(LPD設定)の設定項目として、設定項目601~603を含む。設定項目601は、LPD印刷機能を使用するか否かの設定を示す。この設定は、ONボタン及びOFFボタンを用いて行うことが可能である。操作制御部301は、設定項目601について、ユーザ操作に従ってONボタンとOFFボタンとのいずれかが選択されるよう、操作部220の表示制御を行う。MFP100においてLPD印刷機能を使用するためには、設定項目601についてユーザによってONボタンが選択される必要がある。
設定項目602は、LPD印刷の際に、印刷ジョブごとにバナーページの印刷を行うか否かの設定を示す。この設定は、ONボタン及びOFFボタンを用いて行うことが可能である。操作制御部301は、設定項目602について、ユーザ操作に従ってONボタンとOFFボタンとのいずれかが選択されるよう、操作部220の表示制御を行う。バナーページ(図示せず)の印刷を行う設定がなされた場合、印刷ジョブの実行を指示したユーザのユーザ名、及び印刷ジョブの実行に用いられたファイル名等の情報が、印刷ジョブの区切りページとして印刷される。
設定項目603は、用紙切れ又は紙詰まり等に起因して印刷動作が停止し、所定時間が経過した後のMFP100の動作(振る舞い)の設定を示す。この設定は、ドロップダウンリスト604を用いて行うことが可能である。具体的には、ホストPCとのTCP/IPコネクションを維持して待機し続ける(「接続待機」)、又はTCP/IPコネクションを切断する(「接続切断」)ことが設定される。設定項目603の設定は、ROM203又はHDD204に保存されるリセット応答フラグの設定値に反映される。
リセット応答フラグは、外部装置(ホストPC)からの印刷データの受信が停止している状態で所定時間が経過した場合に当該外部装置とのコネクション(TCP/IPコネクション)を印刷装置側(MFP100側)から切断するか否かを示す。設定項目603の設定として「接続待機」が選択された場合、リセット応答フラグはOFFに設定される。即ち、外部装置(ホストPC)からの印刷データの受信が停止している状態で所定時間が経過した場合に当該外部装置とのコネクションを印刷装置側(MFP100側)から切断しないことが設定される。一方、設定項目603の設定として「接続切断」が選択された場合、リセット応答フラグはONに設定される。即ち、外部装置(ホストPC)からの印刷データの受信が停止している状態で所定時間が経過した場合に当該外部装置とのコネクションを印刷装置側(MFP100側)から切断することが設定される。コネクションの切断は、当該コネクションの切断を要求する切断要求としてRSTパケット(RSTコマンド)を外部装置(ホストPC)へ送信することによって行われる。
設定画面600において設定反映ボタン611が押下(タッチ)されると、設定画面600における設定内容が、データ記憶部305によって保存されることで有効化される。NWアプリ310(LPDモジュール)は、保存された設定内容を参照して使用する。設定反映ボタン611の押下後、操作制御部301は、操作部220の表示画面を設定画面600から、より上位の設定項目に関連する設定画面(図示せず)に遷移させる。一方、キャンセルボタン612が押下された場合、設定内容が反映されることなく、同様の表示画面の遷移が行われる。
<処理手順>
図7は、本実施形態のMFP100においてCPU201によって実行される、印刷データの受信処理の手順を示すフローチャートである。図7の各ステップの処理は、ROM203又はHDD204に格納されているプログラムをCPU201がRAM202に読み出して実行することによってMFP100において実現される。
MFP100の電源がONされると、CPU201は、各種の初期化処理(図示せず)を行う。これにより、MFP100がネットワークに接続されたプリンタとして利用可能な状態になると、CPU201は、図7に示す手順による処理の実行を開始する。
まずS701で、CPU201は、TCP/IPでのコネクションの確立を待つ待機状態となる。CPU201は、LAN I/F208を介して、PC101又は102等のホストPC(外部装置)から通信の確立を求める要求パケットが受信されると、当該要求パケットに従ってホストPCとのコネクションを確立する。
コネクションの確立後、CPU201は、S702で、確立済みのコネクションにおけるホストPCからの要求が、LPRコマンドによる印刷要求(LPR印刷要求)であるか否かを判定する。CPU201は、ホストPCからの要求がLPR印刷要求ではないと判定した場合にはS703へ処理を進め、要求がLPR印刷要求であると判定した場合にはS704へ処理を進める。
S703で、CPU201は、LPR印刷要求に基づく受信処理以外の、他のタイプの受信処理によりホストPCから印刷データを受信し、処理を終了する。なお、他のタイプの受信処理としては、例えば、RAWプロトコル(TCPポート9100)による印刷要求に基づくもの、又はIPP(Internet Printing Protocol)による印刷要求に基づくものがありうる。その後、CPU201は、再び図7の手順による処理の実行を開始し、S701においてコネクションの確立を待つ待機状態になる。
S703からS704へ処理を進めた場合、S704で、CPU201は、印刷データの受信を阻害する阻害要因が発生したか否かを判定する。阻害要因には、例えば、MFP100における用紙切れ、紙詰まり、及び印刷に必要な消耗品の不足等がある。このような阻害要因が発生すると、ホストPCからの印刷データの受信が途中で停止する(受信を滞りなく行うことができなくなる)。例えば、印刷処理が停止してスプール領域に未処理の印刷データが溜まり続けることで当該スプール領域の空き領域が枯渇した状態になると、ホストPC(外部装置)からの印刷データの受信を停止せざるを得なくなる。このようにして、印刷データの受信が阻害される。
印刷データの受信を阻害する阻害要因が発生していないと判定した場合、CPU201は、S705へ処理を進める。S705で、CPU201は、確立済みのコネクションを介してホストPCからの印刷データの受信を行う。なお、受信された印刷データは、スプール領域に一時的に格納され、順次、印刷処理に使用されることになる。その後S706で、CPU201は、印刷データの受信が完了したか否かを判定する。印刷データは、ネットワーク上で複数のパケットに分割されてホストPCから送られてくる。このため、S706においてCPU201は、印刷データを分割した一連の複数のパケットの全ての受信が完了したか否かを判定する。CPU201は、印刷データの受信が完了していない(パケットの受信が継続している)場合には、S706からS704へ処理を戻し、S704~S706の処理を繰り返す。
印刷データの受信が完了すると、CPU201は、最後の受信パケットに対する受信確認応答をホストPCに送信し、S706からS707へ処理を進める。S707で、CPU201は、受信確認応答の受信に応じてホストPCから送信されるFINパケットを受信することで、ホストPCとのコネクションを切断する。即ち、ホストPC側から、FI Nパケットの送信によりプリンタ(MFP100)とのコネクションの切断を行う。このようにして、ホストPCとのコネクションの切断が完了すると、CPU201は、図7の手順による印刷データの受信処理を終了する。
一方、S704において印刷データの受信を阻害する阻害要因が発生したと判定した場合、CPU201は、S708へ処理を進める。S708で、CPU201は、所定のタイマーによるタイムアウトイベントが発生したか否かを判定する。所定のタイマーは、阻害要因が発生に従って始動されることで、阻害要因の発生からの経過時間を測定するために用いられる。CPU201は、タイマーが所定時間(上限時間)に達すると、タイムアウトイベントが発生したと判定する。このタイムアウトイベントは、印刷データの受信を阻害する阻害要因が解消されず、印刷データの受信が停止している状態で所定時間が経過した(タイムアウトした)ことを示すイベントである。CPU201は、タイムアウトイベントが発生したと判定した場合にはS709へ処理を進め、タイムアウトイベントが発生していないと判定した場合にはS704へ処理を戻す。
S709で、CPU201は、リセット応答フラグがONに設定されているか否かを判定する。上述のように、リセット応答フラグの設定値は、設定画面600を用いた設定に従って、ROM203又はHDD204に保存されている。CPU201は、保存されているリセット応答フラグの設定値を参照することで、リセット応答フラグがONに設定されているか否かを判定する。
リセット応答フラグがONに設定されている場合(即ち、設定画面600で設定項目603が「接続切断」に設定されている場合)、CPU201はS710へ処理を進める。このように、阻害要因の発生により印刷データの受信が停止した際の動作として、ホストPCとのコネクションをプリンタ側から切断する設定がなされている場合、CPU201はS710へ処理を進める。一方、リセット応答フラグがOFFに設定されている場合(即ち、設定画面600で設定項目603が「接続待機」に設定されている場合)、CPU201はS704へ処理を戻す。このように、阻害要因の発生により印刷データの受信が停止した際の動作として、RSTパケットをホストPCへ送信せず、ホストPCとのコネクションを維持して待機し続ける設定がなされている場合、CPU201はS704へ処理を戻す。
S710で、CPU201は、印刷データの送信元のホストPCに対して、LAN I/F208を介してRSTパケット(RSTコマンド)を送信する。RSTパケットは、TCP/IPの切断要求に相当するものである。RSTパケットの送信により、ホストPCとのコネクションの切断をプリンタ(MFP100)側から主体的に行う。
このように、CPU201は、ユーザ操作により予め行われた設定(リセット応答フラグの設定)に従って、外部装置(ホストPC)とのコネクションをMFP100側から切断するか否かを制御する。具体的には、CPU201は、外部装置からの印刷データの受信が停止している状態で所定時間が経過し、かつ、外部装置とのコネクションをMFP100側から切断することが設定されている場合、RSTパケットを外部装置へ送信する。RSTパケットは、コネクションの切断を要求する切断要求に相当する。一方、CPU201は、CPU201は、外部装置からの印刷データの受信が停止している状態で所定時間が経過し、かつ、外部装置とのコネクションをMFP100側から切断することが設定されていない場合、外部装置とのコネクションを維持する。
S710におけるRSTパケットの送信後、ホストPCとのコネクションの切断が完了すると、CPU201は、図7の手順による印刷データの受信処理を終了する。
<受信停止時の動作切り替えの効果>
本実施形態では、設定画面600を用いた設定に基づいて、ホストPCからの印刷データの受信が阻害要因の発生により停止した場合のMFP100の動作(動作モード)を切り替えている。このような動作の切り替えには以下の効果がある。
ホストPC(PC101又は102)が、Microsoft Windows(登録商標) OS(オペレーティングシステム)における標準のTCP/IPポートのLPRプロトコルを印刷処理に用いる場合を想定する。この場合、当該標準のTCP/IPポートには、接続待機時間の閾値(タイムアウト時間)が設けられている。印刷データの受信停止時に、ホストPCとのコネクションを維持し続け、タイムアウト時間を過ぎても(印刷データの受信が再開されず)印刷処理が進まない場合、ホストPC側で印刷ジョブがキャンセルされる。
本実施形態では、設定画面600で設定項目603を「接続切断」に設定することで、これを回避することが可能である。具体的には、ホストPCにおいて印刷ジョブがキャンセルされるより前に、RSTパケットの送信(S710)によりMFP100側から主体的にTCP/IPコネクションを切断する。このために、タイムアウトイベント(S708)に関連する所定時間は、MFP100による印刷データの受信が再開されない場合に外部装置(ホストPC)において印刷ジョブをキャンセルするまでのタイムアウト時間よりも短い時間に定められている。これにより、ホストPCにおいて印刷ジョブがキャンセルされるより前に、ホストPCとMFP100との間で、上述の標準のTCP/IPポートを介して印刷のリトライ動作が行われる。その結果、印刷ジョブのキャンセルを回避し、印刷物の出力を行うことが可能になる。即ち、MFP100(印刷装置)においてホストPCからの印刷データの受信が途中で停止した場合でも、印刷処理を正常に再開することが可能になる。
なお、操作制御部301は、操作部220に表示した設定画面(図示せず)を介して受け付けたユーザ操作に従って、上述のタイムアウトイベント(S708)に関連する所定時間を変更できるように構成されてもよい。
また、ホストPC(PC101又は102)が、Linux(登録商標) OSのCUPS(登録商標)(Common Unix Printing System)を印刷処理に用いる場合を想定する。この場合、MFP100側からTCP/コネクションが切断されると、以下の問題が起こりうる。ホストPCでは、TCP/コネクションが切断されると、CUPSのデフォルトの設定に従って印刷ジョブが停止する。このように、Windowsの標準のTCP/IPポートを用いた印刷処理とは異なり、ホストPCにおいて印刷ジョブのキャンセルは生じない。しかし、停止した印刷ジョブを再開させるためには、システム管理者相当の権限でLinuxシステムにログインして再開操作を行う必要がある。
本実施形態では、設定画面600で設定項目603を「接続待機」に設定することで、これを回避することが可能である。CUPSのデフォルトの設定では、Windowsの標準のTCP/IPポートのように、接続待機時間の閾値(タイムアウト時間)は設定されていない。このため、ホストPCとMFP100とのTCP/IPコネクションを維持して待機し続けることで、上述のようにホストPCにおいて印刷ジョブの停止が生じることがなくなる。また、印刷ジョブの再開のためにシステム管理者相当の権限でのログインが必要になることもなくなる。その結果、MFP100における印刷データの受信阻害要因の解消後に印刷処理を正常に再開することが可能になる。
以上説明したように、本実施形態では、CPU201は、所定の通信プロトコルに従って外部装置(ホストPC)とのコネクションを確立し、外部装置から当該コネクションを介して送信される印刷データを受信し、スプール領域に一時的に格納する。CPU201は、スプール領域に格納された印刷データに基づいて印刷処理を実行する。CPU201は更に、外部装置からの印刷データの受信が途中で停止し、当該受信が停止している状態で所定時間が経過した場合に、ユーザ操作により予め行われた設定に従って、外部装置とのコネクションをMFP100側から切断するか否かを制御する。これにより、MFP100において外部装置からの印刷データの受信が途中で停止した場合でも、印刷処理を正常に再開することが可能になる。
[第2実施形態]
次に本開示の第2実施形態について説明する。以下では、第1実施形態と同様の部分については説明を省略する。
第1実施形態では、設定画面600における設定に従って、印刷データの受信停止が継続した場合に、プリンタ側からRSTパケットを送信するか(S710)、ホストPC側からのFINパケットの受信(S707)を待つかを切り替えている。設定画面600における設定は、例えば、MFP100に接続するホストPCのOS(オペレーティングシステム)に適したものとなるように行われるか、ホストPCで使用される印刷データ送信用アプリケーションに適したものとなるように行われる。
しかし、例えば、複数のホストPCによってMFP100が共用される場合、それぞれ異なるOS(例えば、Winsows OSとLinux OS)がインストールされた複数のホストPCがMFP100に接続することも想定される。このような場合、印刷データの受信停止が継続した場合の上述の動作の切り替えを、接続中のホストPCに合わせて動的に行えることが望ましい。
また、ホストPCがWindows OSを使用している場合に、Windows OSの標準のTCP/IPポートを用いた印刷処理ではなく、Windows OS上のアプリケーションが、Linux OSのCUPSと同様の動作をすることも想定される。
このような場合、Winsows OSの標準のTCP/IPポートを用いた印刷処理に合わせて、設定画面600で設定項目603は「接続切断」に設定されるのではなく、「接続待機」に設定されることが望ましい。
そこで、本実施形態では、MFP100において印刷データの受信停止が継続した場合の上述の動作の切り替えを動的に行えるようにする。具体的には、外部装置(ホストPC)から送信される印刷データのサイズと、印刷データを一時的に格納するためのスプール領域のサイズとに基づいて、外部装置とのコネクションをMFP100側から切断するかを制御する。
<処理手順>
図8は、本実施形態のMFP100においてCPU201によって実行される、印刷データの受信処理の手順を示すフローチャートである。図8の各ステップの処理は、ROM203又はHDD204に格納されているプログラムをCPU201がRAM202に読み出して実行することによってMFP100において実現される。
S701~S703の処理は、第1実施形態と同様である。本実施形態では、CPU201は、S702において、ホストPCからの要求がLPR印刷要求であると判定した場合にはS801へ処理を進める。
S801で、CPU201は、LPR印刷のために印刷データの送信に先立ってホストPCから送信される受信パケットから、印刷データのサイズ情報を抽出する。具体的には、図4及び図5を用いて上述した制御コマンド(LPRコマンド)を含む受信パケットから、LPRコマンドに記述されたサイズ情報を抽出する。このように、CPU201は、ホストPCから印刷データの送信に先立って送信される制御コマンド(LPRコマンド)から、印刷データのサイズを取得する。その後S802で、CPU201は、抽出したサイズ情報が示す、印刷データのサイズが、印刷データをスプールするために確保されているスプール領域のサイズを上回っているか否かを判定する。
CPU201は、印刷データのサイズがスプール領域のサイズを上回っている場合、S803へ処理を進める。S803で、CPU201は、サイズ超過フラグにON(例えば、値1)を設定し、S704へ処理を進める。一方、CPU201は、印刷データのサイズがスプール領域のサイズを上回っていない場合、S804へ処理を進める。S804で、CPU201は、サイズ超過フラグにOFF(例えば、値0)を設定し、S704へ処理を進める。このように、サイズ超過フラグがONである場合、当該フラグは、印刷データのサイズがスプール領域のサイズを上回っている(超過している)ことを示す。なお、サイズ超過フラグの設定値は、ROM203又はHDD204に保存される。
S704~S708の処理は、第1実施形態と同様である。本実施形態では、CPU201は、S708において、所定のタイマーによるタイムアウトイベントが発生したと判定した場合にはS805へ処理を進め、タイムアウトイベントが発生していないと判定した場合にはS704へ処理を戻す。
S805で、CPU201は、保存されているサイズ超過フラグの設定値を参照することで、サイズ超過フラグがONに設定されているか否かを判定する。CPU201は、サイズ超過フラグがOFFに設定されている場合(即ち、印刷データのサイズがスプール領域のサイズ以下である場合)、S704へ処理を戻す。これにより、受信阻害要因が解消 して印刷データの受信が再開するのを待つ。一方、CPU201は、サイズ超過フラグがONに設定されている場合(即ち、印刷データのサイズがスプール領域のサイズを超過している場合)、S710へ処理を進める。
S710で、CPU201は、第1実施形態と同様、印刷データの送信元のホストPCに対して、LAN I/F208を介してRSTパケット(RSTコマンド)を送信する。即ち、RSTパケットの送信により、ホストPCとのコネクションの切断をプリンタ(MFP100)側から主体的に行う。
このように、CPU201は、外部装置(ホストPC)から送信される印刷データのサイズと、スプール領域のサイズとに基づいて、外部装置とのコネクションをMFP100側から切断するかを制御する。具体的には、CPU201は、外部装置からの印刷データの受信が停止している状態で所定時間が経過し、かつ、外部装置から送信される印刷データのサイズがスプール領域のサイズを上回る場合、RSTパケットを外部装置へ送信する。RSTパケットは、コネクションの切断を要求する切断要求に相当する。一方、CPU201は、CPU201は、外部装置からの印刷データの受信が停止している状態で所定時間が経過し、かつ、外部装置から送信される印刷データのサイズがスプール領域のサイズを上回らない場合、外部装置とのコネクションを維持する。この場合、印刷処理が停止していても、受信した印刷データ全体をスプール領域に格納することができるため、コネクションを維持して印刷データの受信を継続する。
S710におけるRSTパケットの送信後、ホストPCとのコネクションの切断が完了すると、CPU201は、図8の手順による印刷データの受信処理を終了する。
以上説明したように、本実施形態では、CPU201は、所定の通信プロトコルに従って外部装置(ホストPC)とのコネクションを確立し、外部装置から当該コネクションを介して送信される印刷データを受信し、スプール領域に一時的に格納する。CPU201は、スプール領域に格納された印刷データに基づいて印刷処理を実行する。CPU201は更に、外部装置からの印刷データの受信が途中で停止し、当該受信が停止している状態で所定時間が経過した場合に、外部装置から送信される印刷データのサイズと、スプール領域のサイズとに基づいて、外部装置とのコネクションをMFP100側から切断するか否かを制御する。
このようにして、印刷データの受信停止が継続した場合の動作の切り替えを、接続中のホストPCに合わせて動的に行うことが可能である。これにより、MFP100において外部装置からの印刷データの受信が途中で停止した場合でも、印刷処理を正常に再開することが可能になる。
[第3実施形態]
次に本開示の第3実施形態について説明する。以下では、第1及び第2実施形態と同様の部分については説明を省略する。
第2実施形態では、印刷データのサイズがスプール領域のサイズを超過しているか否かに応じて、プリンタ側からコネクションを切断するか(S710)、ホストPC側からのFINパケットの受信(S707)を待つかを動的に切り替え可能としている。しかしながら、上述のように、印刷データの受信を阻害する阻害要因が解消されないと、ホストPCからの印刷データの受信が途中で停止した状態が継続する。この状態で、例えば、ホストPCにおいてスリープ移行若しくは再起動が生じると、又はMFP100においてエラーが解消することなくスリープ移行(エラースリープ)が生じると、ホストPCとプリンタとの間のコネクションの切断が生じる。その結果、MFP100において印刷ジョブのキャンセル動作を正常に行うことができず、異常が生じた印刷物が出力される可能性がある。
そこで、本実施形態のMFP100は、異常が生じた印刷物の出力を避けるために、以下の動作を行う。MFP100は、外部装置からの印刷データの受信が停止している状態で所定時間が経過し、かつ、外部装置から送信される印刷データのサイズがスプール領域のサイズを上回らない場合、スプール領域が揮発メモリで構成されているか否かに基づいて、外部装置とのコネクションをMFP100側から切断するか否かを制御する。
<処理手順>
図9は、本実施形態のMFP100においてCPU201によって実行される、印刷データの受信処理の手順を示すフローチャートである。図9の各ステップの処理は、ROM203又はHDD204に格納されているプログラムをCPU201がRAM202に読み出して実行することによってMFP100において実現される。
S701~S703,S801~S804,S704~S708,S805の処理は、第2実施形態と同様である。本実施形態では、CPU201は、S808において、サイズ超過フラグがOFFに設定されている場合(即ち、印刷データのサイズがスプール領域のサイズ以下である場合)、S901へ処理を進める。
S901で、CPU201は、スプール領域が揮発メモリで構成されているか否かを判定する。CPU201は、スプール領域が不揮発メモリ(HDD、SDメモリ、USBメモリ等)で構成されている場合、S704へ処理を戻し、スプール領域が揮発メモリで構成されている場合、S710へ処理を進める。
S710で、CPU201は、第1及び第2実施形態と同様、印刷データの送信元のホストPCに対して、LAN I/F208を介してRSTパケット(RSTコマンド)を送信する。即ち、RSTパケットの送信により、ホストPCとのコネクションの切断をプリンタ(MFP100)側から主体的に行う。このようにして、ホストPCとのコネクションの切断が完了すると、CPU201は、図7の手順による印刷データの受信処理を終了する。
以上説明したように、本実施形態のMFP100は、外部装置からの印刷データの受信が停止している状態で所定時間が経過し、かつ、外部装置から送信される印刷データのサイズがスプール領域のサイズを上回らない場合、以下のように動作する。具体的には、MFP100は、スプール領域が揮発メモリで構成されていれば、コネクションの切断を要求する切断要求を外部装置へ送信する。一方、MFP100は、スプール領域が不揮発メモリで構成されていれば、外部装置とのコネクションを維持する。このように、MFP100は、外部装置から送信される印刷データのサイズがスプール領域のサイズを上回らない場合、スプール領域が不揮発メモリで構成されている場合に限り、外部装置とのコネクションを維持する。このような処理により、MFP100において外部装置からの印刷データの受信が途中で停止した場合でも、異常が生じた印刷物の出力を避けつつ、印刷処理を正常に再開することが可能になる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
100:MFP(印刷装置)、200:コントローラ、201:CPU、202:RAM、203:ROM、204:HDD、220:操作部、221:プリンタ、222:スキャナ

Claims (16)

  1. 外部装置と通信可能な印刷装置であって、
    所定の通信プロトコルに従って外部装置とのコネクションを確立する確立手段と、
    前記外部装置から前記コネクションを介して送信される印刷データを受信し、スプール領域に一時的に格納する受信手段と、
    前記スプール領域に格納された印刷データに基づいて印刷処理を行う印刷手段と、
    前記外部装置からの印刷データの受信が途中で停止し、当該受信が停止している状態で所定時間が経過した場合に、ユーザ操作により予め行われた設定に従って、前記外部装置との前記コネクションを前記印刷装置側から切断するか否かを制御する制御手段と、
    を備えることを特徴とする印刷装置。
  2. 前記印刷装置の表示手段に表示した設定画面を介して受け付けたユーザ操作に従って、前記外部装置からの印刷データの受信が停止している状態で所定時間が経過した場合に前記外部装置との前記コネクションを前記印刷装置側から切断するか否かを設定する設定手段を更に備える
    ことを特徴とする請求項1に記載の印刷装置。
  3. 前記制御手段は、前記外部装置からの印刷データの受信が停止している状態で前記所定時間が経過し、かつ、前記外部装置との前記コネクションを前記印刷装置側から切断することが設定されている場合、前記コネクションの切断を要求する切断要求を前記外部装置へ送信する
    ことを特徴とする請求項1又は2に記載の印刷装置。
  4. 前記制御手段は、前記外部装置からの印刷データの受信が停止している状態で前記所定時間が経過し、かつ、前記外部装置との前記コネクションを前記印刷装置側から切断しないことが設定されている場合、前記外部装置との前記コネクションを維持する
    ことを特徴とする請求項1乃至3のいずれか1項に記載の印刷装置。
  5. 外部装置と通信可能な印刷装置であって、
    所定の通信プロトコルに従って外部装置とのコネクションを確立する確立手段と、
    前記外部装置から前記コネクションを介して送信される印刷データを受信し、スプール領域に一時的に格納する受信手段と、
    前記スプール領域に格納された印刷データに基づいて印刷処理を行う印刷手段と、
    前記外部装置からの印刷データの受信が途中で停止し、当該受信が停止している状態で所定時間が経過した場合に、前記外部装置から送信される前記印刷データのサイズと前記スプール領域のサイズとに基づいて、前記外部装置との前記コネクションを前記印刷装置側から切断するか否かを制御する制御手段と、
    を備えることを特徴とする印刷装置。
  6. 前記制御手段は、前記外部装置から前記印刷データの送信に先立って送信される制御コマンドから、前記印刷データのサイズを取得する
    ことを特徴とする請求項5に記載の印刷装置。
  7. 前記制御手段は、前記外部装置からの印刷データの受信が停止している状態で前記所定時間が経過し、かつ、前記外部装置から送信される前記印刷データのサイズが前記スプール領域のサイズを上回る場合、前記コネクションの切断を要求する切断要求を前記外部装置へ送信する
    ことを特徴とする請求項5又は6に記載の印刷装置。
  8. 前記制御手段は、前記外部装置からの印刷データの受信が停止している状態で前記所定時間が経過し、かつ、前記外部装置から送信される前記印刷データのサイズが前記スプール領域のサイズを上回らない場合、前記外部装置との前記コネクションを維持する
    ことを特徴とする請求項5乃至7のいずれか1項に記載の印刷装置。
  9. 前記制御手段は、前記外部装置からの印刷データの受信が停止している状態で前記所定時間が経過し、かつ、前記外部装置から送信される前記印刷データのサイズが前記スプール領域のサイズを上回らない場合、前記スプール領域が揮発メモリで構成されているか否かに基づいて、前記外部装置との前記コネクションを前記印刷装置側から切断するか否かを制御する
    ことを特徴とする請求項5乃至7のいずれか1項に記載の印刷装置。
  10. 前記制御手段は、前記外部装置からの印刷データの受信が停止している状態で前記所定時間が経過し、かつ、前記外部装置から送信される前記印刷データのサイズが前記スプール領域のサイズを上回らない場合、
    前記スプール領域が揮発メモリで構成されていれば、前記コネクションの切断を要求する切断要求を前記外部装置へ送信し、
    前記スプール領域が不揮発メモリで構成されていれば、前記外部装置との前記コネクションを維持する
    ことを特徴とする請求項9に記載の印刷装置。
  11. 前記所定時間は、前記印刷装置による印刷データの受信が再開されない場合に前記外部装置において印刷ジョブをキャンセルするまでのタイムアウト時間よりも短い時間に定められている
    ことを特徴とする請求項1乃至10のいずれか1項に記載の印刷装置。
  12. 前記印刷装置の表示手段に表示した設定画面を介して受け付けたユーザ操作に従って、前記所定時間を変更する変更手段を更に備える
    ことを特徴とする請求項1乃至11のいずれか1項に記載の印刷装置。
  13. 前記所定の通信プロトコルは、LPD(Line Printer Daemon)プロトコルである
    ことを特徴とする請求項1乃至12のいずれか1項に記載の印刷装置。
  14. 外部装置と通信可能な印刷装置の制御方法であって、
    所定の通信プロトコルに従って外部装置とのコネクションを確立する確立工程と、
    前記外部装置から前記コネクションを介して送信される印刷データを受信し、スプール領域に一時的に格納する受信工程と、
    前記スプール領域に格納される印刷データに基づいて印刷処理を行う印刷工程と、
    前記外部装置からの印刷データの受信が途中で停止し、当該受信が停止している状態で所定時間が経過した場合に、ユーザ操作により予め行われた設定に従って、前記外部装置との前記コネクションを前記印刷装置側から切断するか否かを制御する制御工程と、
    を含むことを特徴とする印刷装置の制御方法。
  15. 外部装置と通信可能な印刷装置の制御方法であって、
    所定の通信プロトコルに従って外部装置とのコネクションを確立する確立工程と、
    前記外部装置から前記コネクションを介して送信される印刷データを受信し、スプール領域に一時的に格納する受信工程と、
    前記スプール領域に格納された印刷データに基づいて印刷処理を行う印刷工程と、
    前記外部装置からの印刷データの受信が途中で停止し、当該受信が停止している状態で所定時間が経過した場合に、前記外部装置から送信される前記印刷データのサイズと前記スプール領域のサイズとに基づいて、前記外部装置との前記コネクションを前記印刷装置側から切断するか否かを制御する制御工程と、
    を含むことを特徴とする印刷装置の制御方法。
  16. 請求項1乃至13のいずれか1項に記載の印刷装置の各手段としてコンピュータを機能させるためのプログラム。
JP2021191432A 2021-11-25 2021-11-25 印刷装置及びその制御方法、並びにプログラム Pending JP2023077923A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2021191432A JP2023077923A (ja) 2021-11-25 2021-11-25 印刷装置及びその制御方法、並びにプログラム
EP22206864.5A EP4187365A1 (en) 2021-11-25 2022-11-11 Printing apparatus, control method thereof, and program
US17/989,740 US20230161524A1 (en) 2021-11-25 2022-11-18 Printing apparatus, control method thereof, and storage medium
CN202211484723.4A CN116166206A (zh) 2021-11-25 2022-11-24 打印设备及其控制方法和存储介质
KR1020220158951A KR20230077686A (ko) 2021-11-25 2022-11-24 인쇄 장치, 그 제어 방법, 및 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021191432A JP2023077923A (ja) 2021-11-25 2021-11-25 印刷装置及びその制御方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2023077923A true JP2023077923A (ja) 2023-06-06

Family

ID=84332306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021191432A Pending JP2023077923A (ja) 2021-11-25 2021-11-25 印刷装置及びその制御方法、並びにプログラム

Country Status (5)

Country Link
US (1) US20230161524A1 (ja)
EP (1) EP4187365A1 (ja)
JP (1) JP2023077923A (ja)
KR (1) KR20230077686A (ja)
CN (1) CN116166206A (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3854699B2 (ja) * 1996-12-27 2006-12-06 キヤノン株式会社 プリントシステムおよび印刷中断方法
JP3951113B2 (ja) 2002-03-04 2007-08-01 セイコーエプソン株式会社 装置間データ通信の制御装置及び方法
JP2011116083A (ja) 2009-12-07 2011-06-16 Canon Inc 印刷装置及びその制御方法、プログラム
JP5639441B2 (ja) * 2010-10-29 2014-12-10 キヤノン株式会社 情報処理装置、印刷装置、印刷データ処理方法およびプログラム
JP2012118733A (ja) * 2010-11-30 2012-06-21 Canon Inc 印刷システム、印刷方法、およびプログラム
JP5924983B2 (ja) * 2012-03-05 2016-05-25 キヤノン株式会社 情報処理装置、その制御方法およびプログラム
JP6194798B2 (ja) * 2014-01-09 2017-09-13 ブラザー工業株式会社 通信機器とプリンタ
JP6655924B2 (ja) * 2015-09-17 2020-03-04 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
JP7400313B2 (ja) * 2019-10-02 2023-12-19 株式会社リコー 情報処理装置、情報処理システム、及びプリンタドライバ
JP7374012B2 (ja) * 2020-02-13 2023-11-06 シャープ株式会社 画像形成装置および画像形成システム

Also Published As

Publication number Publication date
CN116166206A (zh) 2023-05-26
KR20230077686A (ko) 2023-06-01
EP4187365A1 (en) 2023-05-31
US20230161524A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
US11403051B2 (en) Print control apparatus, printing system, method for controlling print control apparatus, and storage medium to send a shutdown instruction from an information processing apparatus to a printer from a print control apparatus, and the print control apparatus executing shutdown processing after receiving a power supply state notification from a printer, sending the power supply notification to the information processing apparatus and receiving a shutdown notification from the printer
US8619290B2 (en) Image forming apparatus, image forming system, and image forming method
US8854648B2 (en) Printing system and printing control apparatus
JP5423079B2 (ja) 機器管理システム、機器、機器管理方法および機器管理プログラム
US10565480B2 (en) Printing control apparatus, control method for the printing control apparatus, and printing system for shifting a printing apparatus from a first power state to a second power state
JP2006277749A (ja) プリンタ管理方法、プリンタ管理システム及びプリンタ管理の記憶媒体
US10037236B2 (en) Program and information processing apparatus
US20180063342A1 (en) Image forming systems, and methods of using same
JP2007094721A (ja) 印刷システム
JPH11112722A (ja) 画像形成装置および画像形成システム
JP4353280B2 (ja) 印刷装置
US9569145B2 (en) Gateway apparatus
US8659782B2 (en) Image forming apparatus using option controller for printing
JP2006347110A (ja) 画像形成装置及び代行印刷制御プログラム
JP2007221239A (ja) 拡張画像処理システム
JP2001092604A (ja) 印刷システムおよび情報処理装置およびホストベースプリンタ及びその制御方法
JP2023077923A (ja) 印刷装置及びその制御方法、並びにプログラム
JP2006231591A (ja) 画像形成装置および画像形成システム
JP2004167942A (ja) 画像形成装置
JP6460905B2 (ja) 通信装置、制御方法、プログラム
JP5257217B2 (ja) 印刷システム,印刷装置及び情報処理装置
JPH11143665A (ja) 印刷制御システム及び方法
JP6791026B2 (ja) 画像形成装置
JP2004046581A (ja) ネットワーク画像出力システム
JP6765815B2 (ja) 制御方法、プログラム、及び情報処理装置