KR20230077686A - 인쇄 장치, 그 제어 방법, 및 프로그램 - Google Patents

인쇄 장치, 그 제어 방법, 및 프로그램 Download PDF

Info

Publication number
KR20230077686A
KR20230077686A KR1020220158951A KR20220158951A KR20230077686A KR 20230077686 A KR20230077686 A KR 20230077686A KR 1020220158951 A KR1020220158951 A KR 1020220158951A KR 20220158951 A KR20220158951 A KR 20220158951A KR 20230077686 A KR20230077686 A KR 20230077686A
Authority
KR
South Korea
Prior art keywords
external device
print data
connection
reception
printing
Prior art date
Application number
KR1020220158951A
Other languages
English (en)
Inventor
히로노부 나카이
Original Assignee
캐논 가부시끼가이샤
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 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20230077686A publication Critical patent/KR20230077686A/ko

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/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/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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

인쇄 장치는 미리결정된 통신 프로토콜에 따라 외부 장치와의 접속을 확립하고, 외부 장치로부터 접속을 통해 송신된 인쇄 데이터를 수신하고 스풀 영역에 일시적으로 저장하며, 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 행한다. 인쇄 장치는, 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고, 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 유저 조작에 의해 미리 행하여진 설정에 따라, 외부 장치와의 접속을 인쇄 장치 측으로부터 단절할지 여부를 제어한다.

Description

인쇄 장치, 그 제어 방법, 및 프로그램{PRINTING APPARATUS, CONTROL METHOD THEREOF, AND PROGRAM}
본 발명은 인쇄 장치, 그 제어 방법, 및 프로그램에 관한 것이다.
종래, LPD(Line Printer Daemon)가 동작하고 있는 프린터에 대하여, 호스트 PC로부터 LPR(Line Printer Remote) 커맨드를 사용해서 인쇄의 수행을 지시하는 LPR 인쇄가 제안되고 있다. LPR 인쇄에서는, 호스트 PC는, RFC(Request For Comment)(1179)의 규정에 의해, 인쇄 데이터의 사이즈 정보를 당해 인쇄 데이터의 송신에 앞서 프린터에 통지하는 것이 요구된다. 이러한 사이즈 정보의 통지에서, 실제 인쇄 데이터의 사이즈보다 큰 사이즈를 나타내는 값을 설정함으로써, 호스트 PC로부터 프린터로의 인쇄 데이터의 송신의 완료 후에 호스트 PC와 프린터 사이의 통신 접속을 단절하는 인쇄 시스템이 알려져 있다.
호스트 PC와 프린터 사이의 데이터 통신에 관해서, 일본 특허 공개 제2003-256178호는, 프린터 측에서, 호스트 PC의 미리결정된 타임 아웃 시간보다 짧은 타임 아웃 시간을 설정하여, 인쇄를 정지 및 재개하는 제어 방법을 개시하고 있다. 또한, 일본 특허 공개 공보 제2011-116083호는, 수신 버퍼에 의해 수신가능한 데이터의 사이즈를 프린터로부터 호스트 PC에 통지하는 제어 방법을 개시하고 있다.
인쇄 시스템에서는, 일반적으로, 인쇄 동작과 병행해서 인쇄 데이터를 원활하게 수신하기 위해서, 데이터 스풀 메커니즘(data spool mechanism)이 도입된다. 데이터 스풀(스풀 영역)은 미리결정된 사이즈의 메모리 영역을 포함한다. 데이터 스풀의 사이즈를 초과하는 인쇄 데이터가 호스트 PC로부터 프린터에 송신되는 경우에도, 프린터에서 인쇄 동작이 원활하게 행하여지는 한, 데이터 스풀의 자유 영역은 결코 고갈되지 않을 것이다. 그러나, 용지 떨어짐 또는 용지 걸림 같은 에러의 발생으로 인해 인쇄 동작이 정지되는 경우, 데이터 스풀의 자유 영역이 고갈될 수 있다.
데이터 스풀의 자유 영역이 고갈되는 경우, 호스트 PC로부터 프린터로의 인쇄 데이터의 송신이 도중에 정지할 수 있다. 이러한 상태에서, 예를 들어 호스트 PC에서 슬립 또는 재부팅으로의 이행이 발생하거나 또는 프린터에서 에러가 해소되지 않은 상태에서 슬립으로의 이행(에러 슬립)이 발생하면, 호스트 PC와 프린터 사이에서 통신 접속의 단절이 발생한다. 그 결과, 더 이상 프린터에서 인쇄 작업의 캔슬 동작을 정상적으로 수행할 수 없고, 부정확한 문자열이 인쇄되는 것 같은 이상이 발생한 인쇄물이 출력될 수 있다. 또한, 인쇄 데이터의 사이즈가 데이터 스풀의 사이즈보다 작은 경우, 캔슬 동작이 행해지지 않음에도 불구하고 인쇄 작업이 소실될 수 있다.
따라서, 본 발명은, 인쇄 장치에서 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되는 경우에도, 인쇄 처리를 정상적으로 재개할 수 있도록 하는 기술을 제공한다.
본 발명의 일 양태에 따르면, 외부 장치와 통신 가능한 인쇄 장치가 제공되며, 상기 인쇄 장치는, 미리결정된 통신 프로토콜에 따라서 외부 장치와의 접속을 확립하도록 구성되는 확립 유닛; 상기 외부 장치로부터 상기 접속을 통해서 송신되는 인쇄 데이터를 수신하고, 스풀 영역에 일시적으로 저장하도록 구성되는 수신 유닛; 상기 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 행하도록 구성되는 인쇄 유닛; 및 상기 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고, 상기 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 유저 조작에 의해 미리 행하여진 설정에 따라, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절할지 여부를 제어하도록 구성되는 제어 유닛을 포함한다.
본 발명의 다른 양태에 따르면, 외부 장치와 통신 가능한 인쇄 장치가 제공되며, 상기 인쇄 장치는, 미리결정된 통신 프로토콜에 따라서 외부 장치와의 접속을 확립하는 확립 수단; 상기 외부 장치로부터 상기 접속을 통해서 송신되는 인쇄 데이터를 수신하고, 스풀 영역에 일시적으로 저장하는 수신 수단; 상기 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 행하는 인쇄 수단; 및 상기 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고, 상기 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 상기 외부 장치로부터 송신되는 상기 인쇄 데이터의 사이즈와 상기 스풀 영역의 사이즈에 기초하여, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절할지 여부를 제어하는 제어 수단을 포함한다.
본 발명의 역시 다른 양태에 따르면, 외부 장치와 통신 가능한 인쇄 장치의 제어 방법이 제공되며, 상기 방법은, 미리결정된 통신 프로토콜에 따라서 외부 장치와의 접속을 확립하는 확립 단계; 상기 외부 장치로부터 상기 접속을 통해서 송신되는 인쇄 데이터를 수신하고 스풀 영역에 일시적으로 저장하는 수신 단계; 상기 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 행하는 인쇄 단계; 및 상기 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고, 상기 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 유저 조작에 의해 미리 행하여진 설정에 따라, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절할지 여부를 제어하는 제어 단계를 포함한다.
본 발명의 또 다른 양태에 따르면, 외부 장치와 통신 가능한 인쇄 장치의 제어 방법이 제공되며, 상기 방법은, 미리결정된 통신 프로토콜에 따라서 외부 장치와의 접속을 확립하는 확립 단계; 상기 외부 장치로부터 상기 접속을 통해서 송신되는 인쇄 데이터를 수신하고 스풀 영역에 일시적으로 저장하는 수신 단계; 상기 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 행하는 인쇄 단계; 및 상기 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고, 상기 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 상기 외부 장치로부터 송신되는 상기 인쇄 데이터의 사이즈와 상기 스풀 영역의 사이즈에 기초하여, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절할지 여부를 제어하는 제어 단계를 포함한다.
본 발명의 추가적인 특징은 (첨부된 도면을 참고한) 예시적인 실시형태에 대한 다음의 설명으로부터 명확해질 것이다.
도 1은 예시적인 네트워크 구성을 도시한다.
도 2는 MFP의 예시적인 하드웨어 구성을 도시하는 블록도이다.
도 3은 MFP의 예시적인 기능 구성을 도시하는 블록도이다.
도 4a 및 도 4b는 LPR 커맨드의 사양 일부와 호스트 PC에서의 예시적인 설정 화면을 도시한다.
도 5a 및 도 5b는 LPD 인쇄에 관련되는 예시적인 패킷을 도시한다.
도 6은 MFP에서의 LPD에 관련되는 예시적인 설정 화면을 도시한다.
도 7은 인쇄 데이터 수신 처리의 수순을 도시하는 흐름도이다(제1 실시형태).
도 8은 인쇄 데이터 수신 처리의 수순을 도시하는 흐름도이다(제2 실시형태).
도 9는 인쇄 데이터 수신 처리의 수순을 도시하는 흐름도이다(제3 실시형태).
이하, 첨부 도면을 참조하여 실시형태를 상세하게 설명한다. 이하의 실시형태는 청구된 발명의 범위를 제한하려는 것이 아니라는 것에 유의한다. 실시형태에는 다수의 특징이 기재되어 있지만, 이러한 특징 모두를 필요로 하는 발명으로 제한되지 않으며, 이러한 다수의 특징은 적절히 조합될 수 있다. 또한, 첨부 도면에서는, 동일하거나 마찬가지의 구성에 동일한 참조 번호를 부여하고, 그에 대한 중복하는 설명은 생략한다.
제1 실시형태
도 1은 본 실시형태에 따른 예시적인 무선 네트워크 구성을 도시한다. MFP(Multi-Function Peripheral)(100)가 LAN(Local Area Network)(105)에 접속된다. LAN(105)은 유선 LAN으로서 구성될 수 있지만, 무선 LAN으로서 구성될 수도 있다. LAN(105)에는 PC(101 및 102)도 접속되어 있다. MFP(100)는 LAN(105)을 통해서 PC(101 및 102)와 통신할 수 있다. PC(101 및 102)는, LAN(105)을 통해서 MFP(100)에 인쇄 작업을 송신함으로써, MFP(100)가 인쇄 작업을 실행하게 할 수 있다. PC(101 및 102)는 클라이언트 PC 또는 호스트 PC라고도 칭해질 수 있다.
<MFP의 하드웨어 구성>
도 2는, MFP(100)의 예시적인 하드웨어 구성을 도시하는 블록도이다. MFP(100)는 컨트롤러(제어 유닛)(200)뿐만 아니라 컨트롤러에 접속된 조작 유닛(220), 프린터(프린터 엔진)(221) 및 스캐너(222)를 포함한다. 컨트롤러(200)는, CPU(201)를 포함하고, MFP(100) 전체의 동작을 제어하도록 구성된다. 컨트롤러(200)는 CPU(201), RAM(202), ROM(203), 하드 디스크 드라이브(HDD)(204), 조작 유닛 인터페이스(I/F)(205), 프린터 I/F(206), 스캐너 I/F(207) 및 LAN I/F(208)를 더 포함한다.
CPU(201)는, ROM(203) 또는 HDD(204)에 저장된 제어 프로그램을 RAM(202)에 로딩하고 로딩된 제어 프로그램을 읽어내서 실행함으로써 통신 제어 및 화상 처리 같은 각종 제어 또는 처리를 행한다. RAM(202)은 CPU(201)의 주 메모리 및 워크 에어리어로서 사용되는 휘발성 저장 매체(저장 장치)이다. HDD(204)는 비휘발성 저장 매체(저장 장치)이다. 각종 데이터 및 프로그램이 저장하고 있는 HDD(204)는, 인쇄 처리 또는 카피 처리에서 생성되는 화상 데이터를 일시적으로 저장하기 위해서도 사용된다. 이와 같이, CPU(201), ROM(203), RAM(202), HDD(204) 등과 같은 하드웨어 구성요소는 소위 컴퓨터를 구성하고 있다. 예시적인 실시형태의 MFP(100)에서는, 1개의 CPU(202)가 1개의 메모리(RAM(202))에 로딩된 제어 프로그램을 사용해서 후술하는 흐름도에 나타내는 각각의 처리를 실행하는 것으로 상정되지만, 다른 양태도 생각할 수 있다. 예를 들어, 복수의 프로세서, 메모리 및 스토리지를 조화시킴으로써 후술하는 흐름도에 나타내는 각각의 처리를 실행할 수도 있다.
프린터 I/F(206)는 프린터(221)와 컨트롤러(200)를 접속하도록 구성되는 인터페이스이다. 프린터(221)는, 컨트롤러(200)로부터 프린터 I/F(206)를 통해서 입력된 화상 데이터에 기초하여, 급지 카세트 같은 급지 유닛(도시되지 않음)으로부터 급지된 시트에 화상을 인쇄(형성)하는 인쇄 처리를 행한다. 프린터(221)는, 예를 들어 전자 사진 방식 또는 잉크젯 방식에 의해 화상 형성을 행한다.
스캐너 I/F(207)는 스캐너(222)와 컨트롤러(200)를 접속하도록 구성되는 인터페이스이다. 스캐너(222)는 원고 적재대에 적재된 원고의 화상을 판독해서 화상 데이터를 생성한다. 스캐너(222)에 의해 생성된 화상 데이터는, 스캐너 I/F(207)를 통해서 컨트롤러(200)에 입력되고, 프린터(221)에 의한 인쇄에 사용될 수 있거나, HDD(204)에 저장될 수 있거나, 또는 LAN I/F(208)를 통해서 외부 장치에 송신될 수 있다.
조작 유닛 I/F(205)는 조작 유닛(220)과 컨트롤러(200)를 접속하도록 구성되는 인터페이스이다. 조작 유닛(220)은, 유저 조작(예를 들어, MFP(100)의 각종 설정을 위한 조작)을 접수한다. 조작 유닛(220)은, 화면을 표시하도록 구성되는 표시 디바이스(표시 유닛)를 포함하고, 예를 들어 MFP(100)의 상태를 표시할 수 있다.
LAN I/F(208)는, LAN(105)에 접속되고, LAN(105)을 통해서 외부 장치와 통신할 수 있는 통신 I/F이다. CPU(201)는, LAN I/F(208)를 통해서, 예를 들어 스캐너(222)에 의해 생성된 화상 데이터를 외부 장치에 송신하거나, 또는 프린터(221)에 의한 인쇄용의 화상 데이터를 포함하는 인쇄 데이터를 외부 장치로부터 수신할 수 있다. 여기서, MFP(100)는 무선 LAN에 접속될 수 있는 무선 LAN I/F를 더 포함할 수 있다.
<MFP의 기능 구성>
도 3은 MFP(100)의 예시적인 소프트웨어 구성(기능 구성)을 도시하는 블록도이다. 도 3에 나타내는 각각의 블록(소프트웨어)의 기능은, ROM(203) 또는 HDD(204)에 저장되어 있는 프로그램을 RAM(202)에 읽어내서 실행하는 CPU(201)에 의해 MFP(100)에서 실현된다.
조작 제어 유닛(301)은, 조작 유닛(220)에 유저-지향 화면(조작 화면)을 표시하며, 조작 유닛(220)을 통해 유저 조작을 접수한다. 조작 제어 유닛(301)은, 접수된 유저 조작에 따라, 표시 화면 상의 버튼 같은 표시 오브젝트에 관련지어진 처리를 실행한다. 본 실시형태에서는, 예를 들어, 조작 제어 유닛(301)은, 도 6에 도시되며 후술되는 설정 화면(600)을 조작 유닛(220)에 표시한다. 조작 제어 유닛(301)은, 또한, 외부 장치(호스트 PC)로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에 외부 장치와의 접속을 MFP(100) 측으로부터 단절할지 여부의 설정을 접수할 수 있다.
데이터 저장 유닛(305)은, 각각의 기능 유닛(제어 유닛)으로부터의 요구에 기초하여, 설정값 같은 데이터를 ROM(203) 또는 HDD(204)에 저장하고, 저장된 데이터를 읽어낸다. 예를 들어, 유저가 어떠한 기기의 설정을 변경하기를 원하는 경우, 조작 제어 유닛(301)은, 조작 유닛(220)을 통한 유저의 입력을 접수하고, 입력 내용에 대응하는 설정값을 저장할 것을 데이터 저장 유닛(305)에 요구한다. 데이터 저장 유닛(305)은, 조작 제어 유닛(301)으로부터의 요구에 따라서 설정값을 ROM(203) 또는 HDD(204)에 저장한다. 또한, 데이터 저장 유닛(305)은, 외부 장치(호스트 PC)로부터 수신한 인쇄 데이터를 일시적으로 저장하는 스풀 영역(데이터 스풀)을, RAM(202) 같은 휘발성 메모리 또는 HDD(204) 같은 비휘발성 메모리의 저장 영역에 확보한다.
환경 설정 유닛(306)은, 데이터 저장 유닛(305)에 저장된 설정값에 따라, 시스템 기동 시 또는 설정 변경의 검출 시에, MFP(100)의 환경 설정을 행한다. 구체적으로는, 환경 설정 유닛(306)은, IP 어드레스의 설정을 포함하는 각종 네트워크 설정과, MFP(100)에 포함되는 인쇄 기능 및 카피 기능을 위한 각종 파라미터 설정을 행한다.
NW 애플리케이션(310 내지 312)은 네트워크 기능을 실행하기 위해 MFP(100) 상에서 동작하는 애플리케이션 모듈이다. 본 실시형태에서는 MFP(100) 상에서 이들 3개의 NW 애플리케이션이 동작하는 구성을 설명하지만, 이들이 네트워크 기능을 사용해서 MFP(100)의 기능을 실현하는 애플리케이션인 한은, 임의의 수의 애플리케이션이 MFP(100) 상에서 동작할 수 있다.
NW 애플리케이션(310)은, LPD(Line Printer Daemon) 프로토콜에 대응하는 LPD 모듈이다. LPD 모듈은, PC(101) 같은 외부 장치로부터, LPR(Line Printer Remote) 커맨드를 사용해서 인쇄 데이터를 수신하는 수신 처리를 행하는 애플리케이션이다. 여기서, LPD의 사양은 RFC 1179에 의해 규격화되어 있다. NW 애플리케이션(311)은 RAW 모듈이다. RAW 모듈은, PC(102) 같은 외부 장치로부터, TCP/IP의 포트 9100을 사용해서 인쇄 데이터를 수신하는 수신 처리를 행하는 애플리케이션이다. NW 애플리케이션(312)은 MFP(100)의 기기 정보를 관리하는 애플리케이션이다.
NW 애플리케이션(312)은, PC(102) 같은 외부 장치로부터의 요구에 응답하여, MFP(100)의 기기 구성 및 소모품의 정보를 수집하고, 수집된 정보를 포함하는 응답을 출력한다. 본 실시형태에서는, NW 애플리케이션(312)은, RFC 1157에서 정의된 SNMP(Simple Network Management Protocol)에 따라, 기기 정보를 관리 정보 베이스(MIB 오브젝트)의 형식으로 출력하는, SNMP 에이전트로서 구성된다.
네트워크 제어 유닛(314)은, 프로토콜 스택으로 형성되고, 컨트롤러(200)를 통괄적으로 제어하는 OS의 일부로서 구성된다. 일반적으로, 프로토콜 스택은 계층적인 방식으로 쌓아 올린 소프트웨어 기능을 갖는 프로그램 군에 상당하며, 당해 군은 네트워크 기능을 실현하기 위한 프로토콜에 각각 대응하는 복수의 프로그램을 포함한다. 프로토콜 스택은, OSI 참조 모델에 준하는, 세션층(session layer), 트랜스포트층(transport layer), 네트워크층 및 데이터 링크층으로 형성될 수 있다. 세션층은 접속 제어 등을 행한다. 트랜스포트층은 데이터 전송을 관리한다. 네트워크층은, 어드레스 관리 및 경로 선택을 제어한다. 데이터 링크층은 데이터 프레임의 식별 및 전송을 행한다. 본 실시형태의 네트워크 제어 유닛(314)(프로토콜 스택)은 또한 LAN I/F(208)를 제어하기 위한 디바이스 드라이버(315)를 포함한다.
네트워크 제어 API(313)는, 네트워크 제어 유닛(314)에 포함되는 프로토콜 스택을 호출하기 위한 API 라이브러리이며, 일반적인 소켓 함수(소켓 API)로서 OS에 제공된다. 환경 설정 유닛(306) 및 NW 애플리케이션(310 내지 312)은, 네트워크 제어 API(313)에 파라미터를 설정하고 당해 네트워크 제어 API를 호출함으로써, 각각의 통신 프로토콜에 준거한 데이터 통신을 행한다.
작업 제어 유닛(302)은, MFP(100)에 포함된 복수의 기능(카피 기능, 인쇄 기능 및 파일 송신 기능 등)의 각각의 작업의 실행을 제어한다. 작업 제어 유닛(302)은, 인쇄 작업을 실행하는 경우, NW 애플리케이션(310)을 사용해서, LPD 프로토콜에 따라서 외부 장치(호스트 PC)와의 접속을 확립한다. 작업 제어 유닛(302)은, 외부 장치로부터 당해 확립된 접속을 통해서 송신되는 인쇄 데이터를 수신하고, 수신된 인쇄 데이터를 스풀 영역에 일시적으로 저장한다.
인쇄 처리 유닛(303)은, 작업 제어 유닛(302)으로부터의 지시에 따라 외부 장치로부터 수신되고 스풀 영역에 저장된 인쇄 데이터에 기초하는 인쇄 처리를 행한다. 구체적으로는, 인쇄 처리 유닛(303)은, 인쇄 데이터를 해석해서 화상 데이터를 생성하고, 생성된 화상 데이터를 프린터 I/F(206)를 통해서 프린터(221)에 송신하며, 프린터(221)가 화상 데이터를 인쇄하게 한다.
스캔 처리 유닛(304)은, 작업 제어 유닛(302)으로부터의 지시에 따라, 스캐너 I/F(207)를 통해서 스캐너(222)가 원고의 화상을 판독해서 화상 데이터를 생성하게 하며, 당해 화상 데이터를 스캔 화상 데이터로서 HDD(204)에 저장한다.
인쇄 처리 유닛(303)은, 스캔 처리 유닛(304)에 의해 저장된 스캔 화상 데이터를 읽어내고, 당해 화상 데이터에 기초하는 인쇄 처리를 행할 수도 있다는 것에 유의한다. 예를 들어, 카피 기능을 실행하는 경우, 조작 제어 유닛(301)은, 조작 유닛(220)을 통해서 카피 기능의 실행 지시를 유저로부터 접수하면, 작업 제어 유닛(302)에 카피 기능의 실행을 지시한다. 작업 제어 유닛(302)은, 스캔 처리 유닛(304)에 원고의 판독을 지시하고, 스캔 처리 유닛(304)으로부터 스캔 화상 데이터를 취득한다. 작업 제어 유닛(302)은, 인쇄 처리 유닛(303)에 취득된 스캔 화상 데이터에 기초하는 인쇄 처리의 수행을 지시함으로써, 원고의 화상이 인쇄된 시트를 당해 원고의 카피 결과로서 출력한다.
<LPR 커맨드 및 LPR 설정>
도 4a는, LPD(Line Printer Daemon) 프로토콜을 규정하는 RFC 1179 사양의 일부를 나타내며, 수신 데이터 파일에 관련되는 제어 커맨드인 LPR 커맨드의 사양을 나타낸다. 본 도면에 나타내는 바와 같이, 이 LPR 커맨드에는, 커맨드 코드 "03" 다음에 데이터 파일의 사이즈 정보(바이트수)가 저장되고, 또한 1 문자의 스페이스 다음에 데이터 파일의 명칭이 저장된다. LPR 커맨드는, 인쇄 데이터의 본체의 송신이 행하여지기 전에, 호스트 PC로부터 LPD가 동작하고 있는 인쇄 장치(MFP(100))에 송신되었다.
도 4b는, LPR 커맨드를 사용해서 인쇄를 실행할 것을 MFP(100)에 지시하는 호스트 PC 측에서의, 인쇄 포트의 설정을 행하기 위한 예시적인 설정 화면(설정 화면(400))을 나타내고 있다. 설정 화면(400)에서는, 사용하는 인쇄 프로토콜(통신 프로토콜)로서 "RAW", "IPP" 및 "LPR"을 선택할 수 있다. 도 4b의 예에서는, 참조 부호 401로 나타내는 바와 같이 인쇄 프로토콜로서 "LPR"이 선택된다. 설정 화면(400)은 또한 LPR 설정으로서 LPR 바이트 카운트를 유효화할지 여부를 설정할 수 있게 한다. 도 4b의 예에서는, 참조 부호 402로 나타내는 바와 같이, LPR 설정으로서 LPR 바이트 카운트를 "OFF"로 하는 설정이 선택되어 있다. 즉, LPR 바이트 카운트를 유효화하지 않는 설정이 선택되어 있다.
도 5a는, LPR 바이트 카운트가 유효화되어 있는(LPR 바이트 카운트=ON) 경우의 LPR 커맨드를 포함하는 수신 패킷의 예를 나타내고 있다. 도 5a에 나타내는 패킷에서, 참조 부호 501로 나타내는 커맨드 코드 "03"의 위치로부터 시작되는 미리결정된 범위가 수신 데이터 파일을 나타내는 LPR 커맨드에 대응한다. 도 4를 참조하여 설명한 바와 같이, 호스트 PC 측에서 LPR 바이트 카운트가 유효화되어 있는 경우, 사이즈 정보(502)에는, 호스트 PC로부터 인쇄 장치(MFP(100))에 송신되는 인쇄 데이터의 사이즈를 나타내는 사이즈 정보가 적절하게 설정된다. 본 예에서는, 사이즈 정보(502)로서 "39865" 바이트의 사이즈가 설정되어 있다.
도 5b는, LPR 바이트 카운트가 유효화되어 있지 않은(LPR 바이트 카운트=OFF) 경우의 LPR 커맨드를 포함하는 수신 패킷의 예를 나타내고 있다. 도 5b에 나타내는 패킷에서, 참조 부호 501로 나타내는 커맨드 코드 "03"의 위치로부터 시작되는 미리결정된 범위가 수신 데이터 파일을 나타내는 LPR 커맨드에 대응한다. 사이즈 정보(502)는, 호스트 PC로부터 인쇄 장치(MFP(100))에 송신되는 인쇄 데이터의 사이즈를 나타내는 사이즈 정보를 적절하게 설정하고 있지 않다. 본 예에서는, 사이즈 정보(503)로서 "125899906843000"바이트(
Figure pat00001
114.5 [TB])의 사이즈가 설정되어 있는데, 다시 말해서 거대한 가상의 파일 사이즈를 나타내는 사이즈 정보가 설정되어 있다.
<설정 화면>
도 6은 본 실시형태에 따른 MFP(100)의 조작 유닛(220)에 표시되는 설정 화면의 예(설정 화면(600))를 나타내고 있다. 설정 화면(600)은 LPD에 의한 인쇄에 관련되는 설정을 행하기 위해서 사용된다. 설정 화면(600)은, 네트워크 설정(LPD 설정)의 설정 항목으로서 설정 항목(601 내지 603)을 포함한다. 설정 항목(601)은 LPD 인쇄 기능을 사용할지 여부를 나타낸다. 이 설정은 ON 및 OFF 버튼을 사용해서 이루어질 수 있다. 조작 제어 유닛(301)은, 설정 항목(601)에 대해서, 유저 조작에 따라서 ON 또는 OFF 버튼 중 어느 것이 선택되도록 조작 유닛(220)의 표시 제어를 행한다. MFP(100)에서 LPD 인쇄 기능을 사용하기 위해서는, 설정 항목(601)에 대해서 유저가 ON 버튼을 선택할 필요가 있다.
설정 항목(602)은 LPD 인쇄 시에 각각의 인쇄 작업마다 배너 페이지(banner page)를 인쇄할지 여부를 나타낸다. 이 설정은 ON 및 OFF 버튼을 사용해서 이루어질 수 있다. 조작 제어 유닛(301)은, 설정 항목(602)에 대해서, 유저 조작에 따라서 ON 또는 OFF 버튼 중 어느 것이 선택되도록 조작 유닛(220)의 표시 제어를 행한다. 설정이 배너 페이지(도시되지 않음)를 인쇄하도록 이루어진 경우, 인쇄 작업의 실행을 지시한 유저의 유저명 및 인쇄 작업의 실행에 사용된 파일명 같은 정보가 인쇄 작업의 구획 페이지로서 인쇄된다.
설정 항목(603)은, 예를 들어 용지 떨어짐 또는 용지 걸림으로 인해 인쇄 동작이 정지되고, 미리결정된 시간이 경과한 후의 MFP(100)의 동작(거동)의 설정을 나타낸다. 이 설정은 드롭다운 리스트(604)를 사용해서 이루어질 수 있다. 구체적으로는, 호스트 PC와의 TCP/IP 접속을 유지하면서 계속해서 대기하는 것("접속 대기") 또는 TCP/IP 접속을 단절하는 것("접속 단절") 중 어느 것이 설정된다. 설정 항목(603)의 설정은 ROM(203) 또는 HDD(204)에 저장되는 리셋 응답 플래그의 설정값에 반영된다.
리셋 응답 플래그는, 외부 장치(호스트 PC)로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 당해 외부 장치와의 접속(TCP/IP 접속)을 인쇄 장치 측(MFP(100) 측)으로부터 단절할지 여부를 나타낸다. 설정 항목(603)의 설정으로서 "접속 대기"가 선택된 경우, 리셋 응답 플래그는 OFF로 설정된다. 즉, 외부 장치(호스트 PC)로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 당해 외부 장치와의 접속을 인쇄 장치 측(MFP(100) 측)으로부터 단절하지 않도록 설정이 이루어진다. 한편, 설정 항목(603)의 설정으로서 "접속 단절"이 선택되는 경우, 리셋 응답 플래그는 ON로 설정된다. 즉, 외부 장치(호스트 PC)로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 당해 외부 장치와의 접속을 인쇄 장치 측(MFP(100) 측)으로부터 단절하도록 설정이 이루어진다. 접속의 단절은, 당해 접속의 단절을 요구하는 단절 요구로서 RST 패킷(RST 커맨드)을 외부 장치(호스트 PC)에 송신함으로써 행하여진다.
설정 화면(600)에서 설정 반영 버튼(611)을 누르(터치)면, 설정 화면(600)에서의 설정 내용이 데이터 저장 유닛(305)에 의해 저장되는 것에 의해 유효화된다. NW 애플리케이션(310)(LPD 모듈)은 저장된 설정 내용을 참조하여 사용한다. 설정 반영 버튼(611)의 누름 후, 조작 제어 유닛(301)은, 조작 유닛(220)의 표시 화면이 설정 화면(600)으로부터 더 상위 레벨의 설정 항목에 관련되는 설정 화면(도시되지 않음)으로 천이되게 한다. 한편, 캔슬 버튼(612)이 눌러진 경우, 설정 내용이 반영되지 않고, 마찬가지의 표시 화면의 천이가 행하여진다.
<처리 수순>
도 7은, 본 실시형태에 따른 MFP(100)에서 CPU(201)에 의해 행해여지는 인쇄 데이터의 수신 처리의 수순을 나타내는 흐름도이다. 도 7의 각각의 단계의 처리는, ROM(203) 또는 HDD(204)에 저장되어 있는 프로그램을 CPU(201)가 RAM(202)에 읽어내고 거기서 프로그램을 실행함으로써 MFP(100)에서 실현된다.
MFP(100)의 전원이 ON되면, CPU(201)는 각종 초기화 처리(도시되지 않음)를 행한다. 이에 의해, MFP(100)가 네트워크에 접속된 프린터로서 이용가능해지면, CPU(201)는 도 7에 나타내는 수순에 따른 처리의 실행을 개시한다.
먼저, 단계 S701에서, CPU(201)는 TCP/IP에 기초한 접속의 확립을 기다리는 대기 상태로 된다. CPU(201)는, LAN I/F(208)를 통해서 PC(101 또는 102) 같은 호스트 PC(외부 장치)로부터 통신 확립을 위한 요구 패킷을 수신하면, 당해 요구 패킷에 따라서 호스트 PC와의 접속을 확립한다.
접속의 확립 후, CPU(201)는, 단계 S702에서, 확립된 접속에서의 호스트 PC로부터의 요구가 LPR 커맨드에 의한 인쇄 요구(LPR 인쇄 요구)인지 여부를 판정한다. CPU(201)는, 호스트 PC로부터의 요구가 LPR 인쇄 요구가 아니라고 판정한 경우에는, 처리를 단계 S703으로 진행시키거나, 또는 요구가 LPR 인쇄 요구라고 판정한 경우에는 처리를 단계 S704로 진행시킨다.
단계 S703에서, CPU(201)는, LPR 인쇄 요구에 기초하는 수신 처리 이외의 다른 타입의 수신 처리에 의해 호스트 PC로부터 인쇄 데이터를 수신하고, 처리를 종료한다. 여기서, 다른 타입의 수신 처리는, 예를 들어 RAW 프로토콜(TCP 포트 9100)에 따른 인쇄 요구, 또는 IPP(Internet Printing Protocol)에 따른 인쇄 요구에 기초할 수 있다. 그 후, CPU(201)는, 다시 도 7에 도시된 수순에 따른 처리의 실행을 개시하고, 단계 S701에서 접속의 확립을 기다리는 대기 상태로 된다.
단계 S702으로부터 단계 S704로 처리를 진행시켰을 경우, CPU(201)는 인쇄 데이터의 수신을 저해하는 저해 요인이 발생했는지 여부를 판정한다. 저해 요인은, 예를 들어 MFP(100)에서의 용지 떨어짐, 종이 걸림, 인쇄에 필요한 소모품의 부족 등을 포하한다. 이러한 저해 요인이 발생하면, 호스트 PC로부터의 인쇄 데이터의 수신이 도중에 정지된다(수신이 더 이상 원활하게 행해질 수 없다). 예를 들어, 인쇄 처리가 정지되고 스풀 영역에 미처리 인쇄 데이터가 계속해서 축적되고, 따라서 스풀 영역의 자유 영역이 고갈된 상태로 되면, 호스트 PC(외부 장치)로부터의 인쇄 데이터의 수신을 정지하지 않을 수 없다. 이와 같이, 인쇄 데이터의 수신이 저해된다.
인쇄 데이터의 수신을 저해하는 저해 요인이 발생하지 않았다고 판정하는 경우, CPU(201)는 단계 S705로 처리를 진행시킨다. 단계 S705에서, CPU(201)는, 확립된 접속을 통해서 호스트 PC로부터 인쇄 데이터를 수신한다. 여기서, 수신된 인쇄 데이터는 스풀 영역에 일시적으로 저장되고 순차적으로 인쇄 처리에 사용된다. 그 후, 단계 S706에서, CPU(201)는 인쇄 데이터의 수신이 완료되었는지 여부를 판정한다. 인쇄 데이터는, 네트워크 상에서 복수의 패킷으로 분할되는 방식으로 호스트 PC로부터 송신된다. 따라서, 단계 S706에서 CPU(201)는 인쇄 데이터를 분할한 일련의 복수의 패킷 모두에 대해 수신이 완료되었는지 여부를 판정한다. CPU(201)는, 인쇄 데이터의 수신이 완료되지 않은(패킷의 수신이 계속되는) 경우에는, 단계 S706으로부터 단계 S704로 처리를 복귀시키고, 단계 S704 내지 S706의 처리를 반복한다.
인쇄 데이터의 수신이 완료되면, CPU(201)는, 마지막 수신 패킷에 대한 수신 확인을 호스트 PC에 송신하고, 처리를 단계 S706으로부터 단계 S707로 진행시킨다. 단계 S707에서, CPU(201)는, 수신 확인 응답의 수신에 응답하여 호스트 PC로부터 송신되는 FIN 패킷을 수신함으로써 호스트 PC와의 접속을 단절한다. 즉, FIN 패킷의 송신은 호스트 PC 측으로부터 프린터(MFP(100))와의 접속의 단절을 야기한다. 이와 같이 하여 호스트 PC와의 접속의 단절이 완료되면, CPU(201)는 도 7에 도시된 수순에 따른 인쇄 데이터의 수신 처리를 종료한다.
한편, S704에서 인쇄 데이터의 수신을 저해하는 저해 요인이 발생했다고 판정한 경우, CPU(201)는 처리를 단계 S708로 진행시킨다. 단계 S708에서, CPU(201)는 미리결정된 타이머에 따라 타임 아웃 이벤트가 발생 했는지 여부를 판정한다. 저해 요인의 발생에 따라서 기동되는 미리결정된 타이머는 저해 요인의 발생으로부터의 경과 시간을 측정하기 위해서 사용된다. CPU(201)는, 타이머가 미리결정된 시간(상한 시간)에 도달하면 타임 아웃 이벤트가 발생했다고 판정한다. 타임 아웃 이벤트는, 인쇄 데이터의 수신을 저해하는 저해 요인이 해소되지 않고, 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과했다(타임 아웃이 발생했다)는 것을 나타내는 이벤트이다. CPU(201)는, 타임 아웃 이벤트가 발생했다고 판정한 경우에는, 처리를 단계 S709로 진행시키고, 타임 아웃 이벤트가 발생하지 않았다고 판정한 경우에는 처리를 단계 S704로 복귀시킨다.
단계 S709에서, CPU(201)는 리셋 응답 플래그가 ON으로 설정되어 있는지 여부를 판정한다. 상술한 바와 같이, 리셋 응답 플래그의 설정값은, 설정 화면(600)을 사용하여 이루어진 설정에 따라, ROM(203) 또는 HDD(204)에 저장된다. CPU(201)는, 저장되어 있는 리셋 응답 플래그의 설정값을 참조함으로써, 리셋 응답 플래그가 ON으로 설정되어 있는지 여부를 판정한다.
리셋 응답 플래그가 ON으로 설정되어 있는 경우(즉, 설정 화면(600) 상의 설정 항목(603)이 "접속 단절"로 설정되어 있는 경우), CPU(201)는 처리를 단계 S710으로 진행시킨다. 이와 같이, 저해 요인의 발생으로 인해 인쇄 데이터의 수신이 정지될 때의 동작으로서, 호스트 PC와의 접속을 프린터 측에서 단절하는 설정이 이루어지는 경우, CPU(201)는 처리를 단계 S710으로 진행시킨다. 한편, 리셋 응답 플래그가 OFF로 설정되어 있는 경우(즉, 설정 화면(600) 상의 설정 항목(603)이 "접속 대기"로 설정되어 있는 경우), CPU(201)는 처리를 단계 S704로 복귀시킨다. 이와 같이, 저해 요인의 발생으로 인해 인쇄 데이터의 수신이 정지되었을 때의 동작으로서, RST 패킷을 호스트 PC에 송신하지 않고, 호스트 PC와의 접속을 유지하고 대기하는 설정이 이루어지는 경우, CPU(201)는 처리를 단계 S704로 복귀시킨다.
단계 S710에서, CPU(201)는, 인쇄 데이터의 송신원인 호스트 PC에, LAN I/F(208)를 통해서 RST 패킷(RST 커맨드)을 송신한다. RST 패킷은 TCP/IP의 단절 요구에 대응한다. RST 패킷의 송신은, 호스트 PC와의 접속의 단절을 프린터(MFP(100)) 측으로부터 주체적으로 야기한다.
이와 같이, CPU(201)는, 유저 조작을 통해 미리 행하여진 설정(리셋 응답 플래그의 설정)에 따라, 외부 장치(호스트 PC)와의 접속을 MFP(100) 측으로부터 단절할지 여부를 제어한다. 구체적으로는, CPU(201)는, 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과했고, 외부 장치와의 접속을 MFP(100) 측으로부터 단절하는 설정이 이루어진 경우, RST 패킷을 외부 장치에 송신한다. RST 패킷은 접속의 단절을 요구하는 단절 요구에 대응한다. 한편, CPU(201)는, 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과했고, 외부 장치와의 접속을 MFP(100) 측으로부터 단절하는 설정이 이루어지지 않은 경우, 외부 장치와의 접속을 유지한다.
단계 S710에서의 RST 패킷의 송신 후 호스트 PC와의 접속의 단절이 완료되면, CPU(201)는 도 7에 도시된 수순에 따라 인쇄 데이터의 수신 처리를 종료한다.
<수신 정지 시의 동작 전환의 효과>
본 실시형태에서는, 설정 화면(600)을 사용한 설정에 기초하여, 호스트 PC로부터의 인쇄 데이터의 수신이 저해 요인의 발생으로 인해 정지된 경우의 MFP(100)의 동작(동작 모드)을 전환한다. 이러한 동작 전환은 이하의 효과를 갖는다.
호스트 PC(PC101 또는 102)가 Microsoft Windows 오퍼레이팅 시스템(OS)에서의 표준 TCP/IP 포트의 LPR 프로토콜을 인쇄 처리에 사용하는 경우를 상정한다. 이러한 경우, 당해 표준 TCP/IP 포트에는 접속 대기 시간의 임계치(타임 아웃 시간)가 제공된다. 인쇄 데이터의 수신이 정지되어 있을 때, 호스트 PC와의 접속이 계속해서 유지되고, 타임 아웃 시간이 만료된 후(인쇄 데이터의 수신이 재개되지 않고) 인쇄 처리가 진행되지 않는 경우, 호스트 PC 측에서 인쇄 작업이 캔슬된다.
본 실시형태는, 설정 화면(600) 상의 설정 항목(603)을 "접속 단절"로 설정함으로써 전술한 문제를 회피할 수 있게 한다. 구체적으로는, 호스트 PC에서 인쇄 작업이 캔슬되기 전에, RST 패킷의 송신(S710)에 의해 MFP(100) 측으로부터 주체적으로 TCP/IP 접속을 단절시킨다. 이 때문에, 타임 아웃 이벤트(S708)에 관련되는 미리결정된 시간은, MFP(100)에 의한 인쇄 데이터의 수신이 재개되지 않을 경우에 외부 장치(호스트 PC)가 인쇄 작업을 캔슬할 때까지의 타임 아웃 시간보다 짧은 시간이 되도록 정해져 있다. 이에 의해, 호스트 PC에서 인쇄 작업이 캔슬되기 전에, 호스트 PC와 MFP(100) 사이에서 상술한 표준 TCP/IP 포트를 통해서 인쇄의 재시도 동작이 행하여진다. 그 결과, 인쇄 작업의 캔슬을 회피하고, 인쇄물의 출력을 행하는 것이 가능해진다. 즉, MFP(100)(인쇄 장치)는 호스트 PC로부터의 인쇄 데이터의 수신이 도중에 정지되는 경우에도 인쇄 처리를 정상적으로 재개하는 것이 가능해진다.
여기서, 조작 제어 유닛(301)은, 조작 유닛(220)에 표시된 설정 화면(도시되지 않음)을 통해서 접수한 유저 조작에 따라, 상술한 타임 아웃 이벤트(S708)에 관련되는 미리결정된 시간을 변경할 수 있도록 구성될 수 있다.
또한, 호스트 PC(PC101 또는 102)가 Linux OS의 CUPS(Common Unix Printing System)을 인쇄 처리에 사용하는 경우를 상정한다. 이러한 경우, MFP(100) 측으로부터의 TCP/접속의 단절은 이하의 문제를 야기할 수 있다. TCP/접속이 단절되면, CUPS의 디폴트 설정을 따라서 호스트 PC에서 인쇄 작업이 정지된다. Windows 표준 TCP/IP 포트를 사용한 인쇄 처리와 달리, 호스트 PC에서 인쇄 작업 캔슬은 발생하지 않는다. 그러나, 정지된 인쇄 작업을 재개시키기 위해서는, 시스템 관리자에 상당하는 권한으로 Linux 시스템에 로그인해서 재개 조작을 행할 필요가 있다.
본 실시형태는 설정 화면(600) 상의 설정 항목(603)을 "접속 대기"로 설정함으로써 상술한 문제를 회피할 수 있게 한다. CUPS의 디폴트의 설정에서는, Windows 표준 TCP/IP 포트와 대조적으로 접속 대기 시간의 임계치(타임 아웃 시간)는 설정되지 않는다. 따라서, 호스트 PC와 MFP(100) 사이의 TCP/IP 접속을 유지하면서 계속해서 대기하는 것은 상술한 바와 같이 호스트 PC에서의 인쇄 작업의 정지를 방지한다. 또한, 상술한 것은 인쇄 작업을 재개하기 위해서 시스템 관리자에 상당하는 권한으로 로그인할 필요성을 제거한다. 그 결과, MFP(100)에서의 인쇄 데이터의 수신 저해 요인이 해소된 후에 인쇄 처리를 정상적으로 재개하는 것이 가능해진다.
이상 설명한 바와 같이, 본 실시형태에서는, CPU(201)는, 미리결정된 통신 프로토콜에 따라서 외부 장치(호스트 PC)와의 접속을 확립하고, 외부 장치로부터 당해 접속을 통해서 송신되는 인쇄 데이터를 수신하며, 인쇄 데이터를 스풀 영역에 일시적으로 저장한다. CPU(201)는 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 실행한다. CPU(201)는, 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고 당해 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 유저 조작에 의해 미리 행하여진 설정에 따라, 외부 장치와의 접속을 MFP(100) 측으로부터 단절할지 여부를 제어한다. 따라서, MFP(100)에서 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지된 경우에도, 인쇄 처리를 정상적으로 재개하는 것이 가능해진다.
제2 실시형태
다음에 본 개시내용의 제2 실시형태에 대해서 설명한다. 이하에서는, 제1 실시형태와 마찬가지의 부분에 대해서는 설명을 생략한다.
제1 실시형태에서는, 설정 화면(600)에서의 설정에 따라, 인쇄 데이터의 수신이 정지되어 있는 경우에, 프린터 측으로부터 RST 패킷을 송신(S710)하는 것과 호스트 PC 측으로부터의 FIN 패킷의 수신(S707)을 기다리는 것 사이를 전환한다. 설정 화면(600)에서의 설정은, MFP(100)에 접속되는 호스트 PC의 OS(오퍼레이팅 시스템)에 적합하거나 또는 호스트 PC에서 사용되는 인쇄 데이터 송신 애플리케이션에 적합한 방식으로 행하여진다.
그러나, 예를 들어 복수의 호스트 PC에 의해 MFP(100)가 공유되는 경우, 각각 다른 OS(예를 들어, Windows OS와 Linux OS)가 인스톨된 복수의 호스트 PC가 MFP(100)에 접속하는 것도 생각할 수 있다. 이러한 경우, 인쇄 데이터의 수신이 정지되어 있는 경우, 상술한 동작의 전환을 접속 중인 호스트 PC에 맞춰서 동적으로 실시할 수 있는 것이 바람직하다.
또한, 호스트 PC가 Windows OS를 사용하는 경우에, Windows OS의 표준 TCP/IP 포트를 사용한 인쇄 처리 대신에, Windows OS 상의 애플리케이션이 Linux OS의 CUPS와 마찬가지로 동작을 하는 것도 생각할 수 있다.
이러한 경우, Windows OS의 표준 TCP/IP 포트를 사용한 인쇄 처리에 따라, 설정 화면(600) 상의 설정 항목(603)을 "접속 단절"로 설정되는 것이 아니라 "접속 대기"로 설정되는 것이 바람직하다.
따라서, 본 실시형태는 MFP(100)에서 인쇄 데이터의 수신이 정지되어 있는 경우의 상술한 동작의 전환을 동적으로 행할 수 있게 한다. 구체적으로는, 외부 장치(호스트 PC)로부터 송신되는 인쇄 데이터의 사이즈 및 인쇄 데이터를 일시적으로 저장하기 위한 스풀 영역의 사이즈에 기초하여, 외부 장치와의 접속을 MFP(100) 측으로부터 단절할지 여부를 제어한다.
<처리 수순>
도 8은 본 실시형태에 따른 MFP(100)에서 CPU(201)에 의해 실행되는 인쇄 데이터 수신 처리의 수순을 나타내는 흐름도이다. 도 8의 각각의 단계의 처리는, ROM(203) 또는 HDD(204)에 저장되어 있는 프로그램을 RAM(202)에 읽어내서 실행하는 CPU(201)에 의해 MFP(100)에서 실현된다.
단계 S701 내지 S703의 처리는 제1 실시형태와 마찬가지이다. 본 실시형태에서는, CPU(201)는, 단계 S702에서, 호스트 PC로부터의 요구가 LPR 인쇄 요구라고 판정한 경우에는 처리를 단계 S801로 진행시킨다.
단계 S801에서, CPU(201)는, LPR 인쇄를 위해서 인쇄 데이터의 송신 전에 호스트 PC로부터 송신되는 수신 패킷으로부터 인쇄 데이터의 사이즈 정보를 추출한다. 구체적으로는, 도 4, 도 5a 및 도 5b를 참고해서 상술한 제어 커맨드(LPR 커맨드)를 포함하는 수신 패킷으로부터 LPR 커맨드에 기술된 사이즈 정보를 추출한다. 이와 같이, CPU(201)는, 인쇄 데이터의 송신 전에 호스트 PC로부터 송신되는 제어 커맨드(LPR 커맨드)로부터 인쇄 데이터의 사이즈를 취득한다. 그 후, 단계 S802에서, CPU(201)는, 추출한 사이즈 정보가 나타내는 인쇄 데이터의 사이즈가 인쇄 데이터를 스풀하기 위해서 확보되어 있는 스풀 영역의 사이즈를 초과하는지 여부를 판정한다.
CPU(201)는, 인쇄 데이터의 사이즈가 스풀 영역의 사이즈를 초과하고 있는 경우 처리를 단계 S803으로 진행시킨다. 단계 S803에서, CPU(201)는 사이즈 초과 플래그를 ON(예를 들어, 값 1)으로 설정하고, 처리를 단계 S704로 진행시킨다. 한편, CPU(201)는, 인쇄 데이터의 사이즈가 스풀 영역의 사이즈를 초과하지 않는 경우, 처리를 단계 S804로 진행시킨다. 단계 S804에서, CPU(201)는 사이즈 초과 플래그를 OFF(예를 들어, 값 0)로 설정하고 처리를 단계 S704로 진행시킨다. 이와 같이, 사이즈 초과 플래그가 ON인 것은, 인쇄 데이터의 사이즈가 스풀 영역의 사이즈를 초과하는(넘어서는) 것을 나타낸다. 여기서, 사이즈 초과 플래그의 설정값은 ROM(203) 또는 HDD(204)에 저장된다.
단계 S704 내지 S708의 처리는 제1 실시형태와 마찬가지이다. 본 실시형태에서는, CPU(201)는, 단계 S708에서 미리결정된 타이머에 따라 타임 아웃 이벤트가 발생했다고 판정한 경우에는, 처리를 단계 S805로 진행시키거나, 타임 아웃 이벤트가 발생하지 않았다고 판정한 경우에는 처리를 단계 S704로 복귀시킨다.
단계 S805에서, CPU(201)는, 저장되어 있는 사이즈 초과 플래그의 설정값을 참조함으로써, 사이즈 초과 플래그가 ON으로 설정되어 있는지 여부를 판정한다. CPU(201)는, 사이즈 초과 플래그가 OFF로 설정되어 있는 경우(즉, 인쇄 데이터의 사이즈가 스풀 영역의 사이즈 이하인 경우), 처리를 단계 S704로 복귀시킨다. 그 후, CPU(201)는 수신 저해 요인이 해소되고 인쇄 데이터의 수신이 재개될 때까지 기다린다. 한편, CPU(201)는, 사이즈 초과 플래그가 ON으로 설정되어 있는 경우(즉, 인쇄 데이터의 사이즈가 스풀 영역의 사이즈를 초과하는 경우), 처리를 단계 S710으로 진행시킨다.
단계 S710에서, CPU(201)는, 제1 실시형태와 마찬가지로, 인쇄 데이터의 송신원인 호스트 PC에 LAN I/F(208)를 통해서 RST 패킷(RST 커맨드)을 송신한다. 즉, RST 패킷의 송신에 의해, 호스트 PC와의 접속의 단절을 프린터(MFP(100)) 측으로부터 주체적으로 행한다.
이와 같이, CPU(201)는, 외부 장치(호스트 PC)로부터 송신되는 인쇄 데이터의 사이즈와 스풀 영역의 사이즈에 기초하여, 외부 장치와의 접속을 MFP(100) 측으로부터 단절할지 여부를 제어한다. 구체적으로는, CPU(201)는, 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과했고, 외부 장치로부터 송신되는 인쇄 데이터의 사이즈가 스풀 영역의 사이즈를 초과하는 경우, RST 패킷을 외부 장치에 송신한다. RST 패킷은 접속의 단절을 요구하는 단절 요구에 대응한다. 한편, CPU(201)는, 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과했고, 외부 장치로부터 송신되는 인쇄 데이터의 사이즈가 스풀 영역의 사이즈를 초과하지 않는 경우, 외부 장치와의 접속을 유지한다. 이러한 경우, 인쇄 처리가 정지되어 있어도 수신한 인쇄 데이터 전체를 스풀 영역에 저장할 수 있고, 따라서 접속을 유지하면서 인쇄 데이터의 수신을 계속한다.
단계 S710에서의 RST 패킷의 송신 후 호스트 PC와의 접속의 단절이 완료되면, CPU(201)는 도 8에 도시된 수순에 따라 인쇄 데이터의 수신 처리를 종료한다.
이상 설명한 바와 같이, 본 실시형태에서는, CPU(201)는, 미리결정된 통신 프로토콜에 따라서 외부 장치(호스트 PC)와의 접속을 확립하고, 외부 장치로부터 당해 접속을 통해서 송신되는 인쇄 데이터를 수신하며, 인쇄 데이터를 스풀 영역에 일시적으로 저장한다. CPU(201)는 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 행한다. CPU(201)는, 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고, 당해 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 외부 장치로부터 송신되는 인쇄 데이터의 사이즈와 스풀 영역의 사이즈에 기초하여 외부 장치와의 접속을 MFP(100) 측으로부터 단절할지 여부를 더 제어한다.
이와 같이 하여, 인쇄 데이터의 수신이 정지되어 있는 경우의 동작 전환을, 접속 중인 호스트 PC에 맞춰서 동적으로 행하는 것이 가능하다. 따라서, MFP(100)에서 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지된 경우에도, 인쇄 처리를 정상적으로 재개하는 것이 가능해진다.
제3 실시형태
다음에, 본 개시내용의 제3 실시형태에 대해서 설명한다. 이하에서는, 제1 및 제2 실시형태와 마찬가지의 부분에 대해서는 설명을 생략한다.
제2 실시형태는, 인쇄 데이터의 사이즈가 스풀 영역의 사이즈를 초과하고 있는지 여부에 따라, 프린터 측에서 접속을 단절(S710)하는 것과 호스트 PC 측으로부터의 FIN 패킷의 수신(S707)을 기다리는 것 사이를 동적으로 전환할 수 있게 한다. 그러나, 상술한 바와 같이, 인쇄 데이터의 수신을 저해하는 저해 요인이 해소되지 않는 한, 호스트 PC로부터의 인쇄 데이터의 수신이 도중에 정지된 상태가 계속된다. 이 상태에서, 예를 들어 호스트 PC에서 슬립 또는 리부팅으로의 이행이 발생하거나, 또는 MFP(100)에서 에러가 해소되지 않고 슬립으로의 이행(에러 슬립)이 발생하면, 호스트 PC와 프린터 사이에서 접속 단절이 발생한다. 그 결과, MFP(100)에서 인쇄 작업의 캔슬 동작이 실패할 수 있고, 이에 의해 이상이 발생한 인쇄물이 출력될 가능성이 있다.
따라서, 본 실시형태에 따른 MFP(100)는 이상이 발생한 인쇄물의 출력을 피하기 위해서 이하의 동작을 행한다. MFP(100)는, 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과했고, 외부 장치로부터 송신되는 인쇄 데이터의 사이즈가 스풀 영역의 사이즈를 초과하지 않을 경우, 스풀 영역이 휘발성 메모리로 형성되어 있는지 여부에 기초하여, 외부 장치와의 접속을 MFP(100) 측으로부터 단절할지 여부를 제어한다.
<처리 수순>
도 9는 본 실시형태에 따른 MFP(100)에서 CPU(201)에 의해 실행되는 인쇄 데이터 수신 처리의 처리 수순을 나타내는 흐름도이다. 도 9의 각각의 단계의 처리는, ROM(203) 또는 HDD(204)에 저장되어 있는 프로그램을 RAM(202)에 읽어내서 실행하는 CPU(201)에 의해 MFP(100)에서 실현된다.
단계 S701 내지 S703, S801 내지 S804, S704 내지 S708, 및 S805의 처리는 제2 실시형태와 마찬가지이다. 본 실시형태에서는, CPU(201)는, 단계 S808에서, 사이즈 초과 플래그가 OFF로 설정되어 있는 경우(즉, 인쇄 데이터의 사이즈가 스풀 영역의 사이즈 이하인 경우), 처리를 단계 S901로 진행시킨다.
단계 S901에서, CPU(201)는 스풀 영역이 휘발성 메모리로 형성되어 있는지 여부를 판정한다. CPU(201)는, 스풀 영역이 비휘발성 메모리(HDD, SD 메모리, USB 메모리 등)으로 형성되어 있는 경우, 처리를 단계 S704로 복귀시키거나, 또는 스풀 영역이 휘발성 메모리로 형성되어 있는 경우 처리를 단계 S710으로 진행시킨다.
단계 S710에서, CPU(201)는, 제1 및 제2 실시형태와 마찬가지로, 인쇄 데이터의 송신원인 호스트 PC에, LAN I/F(208)를 통해서 RST 패킷(RST 커맨드)을 송신한다. 즉, RST 패킷의 송신에 의해, 호스트 PC와의 접속의 단절을 프린터(MFP(100)) 측으로부터 주체적으로 행한다. 이와 같이 하여 호스트 PC와의 접속의 단절이 완료되면, CPU(201)는 도 7에 도시된 수순에 따른 인쇄 데이터의 수신 처리를 종료한다.
이상 설명한 바와 같이, 본 실시형태에 따른 MFP(100)는, 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과했고, 외부 장치로부터 송신되는 인쇄 데이터의 사이즈가 스풀 영역의 사이즈를 초과하지 않는 경우, 이하의 방식으로 동작한다. 구체적으로는, MFP(100)는, 스풀 영역이 휘발성 메모리로 형성되어 있는 경우, 접속의 단절을 요구하는 단절 요구를 외부 장치에 송신한다. 한편, MFP(100)는, 스풀 영역이 비휘발성 메모리로 형성되어 있는 경우, 외부 장치와의 접속을 유지한다. 이와 같이, MFP(100)는, 외부 장치로부터 송신되는 인쇄 데이터의 사이즈가 스풀 영역의 사이즈를 초과하지 않을 경우, 스풀 영역이 비휘발성 메모리로 형성되어 있는 경우에 한하여, 외부 장치와의 접속을 유지한다. 전술한 처리에 따라, MFP(100)에서 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되는 경우에도, 이상이 발생한 인쇄물의 출력을 피하면서 인쇄 처리를 정상적으로 재개하는 것이 가능해진다.
다른 실시형태
본 발명의 실시형태(들)는, 전술한 실시형태(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체(보다 완전하게는 '비일시적 컴퓨터 판독가능 저장 매체'라 칭할 수도 있음)에 기록된 컴퓨터 실행가능 명령어(예를 들어, 하나 이상의 프로그램)를 판독 및 실행하고 그리고/또는 전술한 실시형태(들) 중 하나 이상의 기능을 실행하는 하나 이상의 회로(예를 들어, 주문형 집적 회로(ASIC))를 포함하는 시스템 또는 장치의 컴퓨터에 의해, 그리고 예를 들어 전술한 실시형태(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체로부터 컴퓨터 실행가능 명령어를 판독 및 실행함으로써 그리고/또는 전술한 실시형태(들) 중 하나 이상의 기능을 실행하기 위해 하나 이상의 회로를 제어함으로써 상기 시스템 또는 장치의 컴퓨터에 의해 실행되는 방법에 의해 실현될 수도 있다. 컴퓨터는 하나 이상의 프로세서(예를 들어, 중앙 처리 유닛(CPU), 마이크로 처리 유닛(MPU))를 포함할 수 있고 컴퓨터 실행가능 명령어를 판독 및 실행하기 위한 개별 컴퓨터 또는 개별 프로세서의 네트워크를 포함할 수 있다. 컴퓨터 실행가능 명령어는 예를 들어 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있다. 저장 매체는, 예를 들어 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 분산형 컴퓨팅 시스템의 스토리지, 광학 디스크(예를 들어, 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD) 또는 블루레이 디스크(BD)™), 플래시 메모리 디바이스, 메모리 카드 등 중 하나 이상을 포함할 수 있다.
(기타의 실시예)
본 발명은, 상기의 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실현가능하다.
또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
본 발명을 예시적인 실시형태를 참고하여 설명하였지만, 본 발명은 개시된 예시적인 실시형태로 한정되지 않음을 이해해야 한다. 이하의 청구항의 범위는 이러한 모든 변형과 동등한 구조 및 기능을 포함하도록 최광의로 해석되어야 한다.

Claims (16)

  1. 외부 장치와 통신 가능한 인쇄 장치이며, 상기 인쇄 장치는,
    미리결정된 통신 프로토콜에 따라서 외부 장치와의 접속을 확립하는 확립 수단;
    상기 외부 장치로부터 상기 접속을 통해서 송신되는 인쇄 데이터를 수신하고, 스풀 영역에 일시적으로 저장하는 수신 수단;
    상기 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 행하는 인쇄 수단; 및
    상기 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고, 상기 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 유저 조작에 의해 미리 행하여진 설정에 따라, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절할지 여부를 제어하는 제어 수단을 포함하는 인쇄 장치.
  2. 제1항에 있어서,
    상기 인쇄 장치의 표시 수단에 표시된 설정 화면을 통해서 접수된 유저 조작에 따라, 상기 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절할지 여부를 설정하는 설정 수단을 더 포함하는 인쇄 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 제어 수단은, 상기 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 상기 미리결정된 시간이 경과했고, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절하는 것이 설정되어 있는 경우, 상기 접속의 단절을 요구하는 단절 요구를 상기 외부 장치에 송신하는 인쇄 장치.
  4. 제1항 또는 제2항에 있어서,
    상기 제어 수단은, 상기 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 상기 미리결정된 시간이 경과했고, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절하지 않는 것이 설정되어 있는 경우, 상기 외부 장치와의 상기 접속을 유지하는 인쇄 장치.
  5. 외부 장치와 통신 가능한 인쇄 장치이며, 상기 인쇄 장치는,
    미리결정된 통신 프로토콜에 따라서 외부 장치와의 접속을 확립하는 확립 수단;
    상기 외부 장치로부터 상기 접속을 통해서 송신되는 인쇄 데이터를 수신하고, 스풀 영역에 일시적으로 저장하는 수신 수단;
    상기 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 행하는 인쇄 수단; 및
    상기 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고, 상기 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 상기 외부 장치로부터 송신되는 상기 인쇄 데이터의 사이즈와 상기 스풀 영역의 사이즈에 기초하여, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절할지 여부를 제어하는 제어 수단을 포함하는 인쇄 장치.
  6. 제5항에 있어서,
    상기 제어 수단은, 상기 외부 장치로부터의 상기 인쇄 데이터의 송신 전에 송신되는 제어 커맨드로부터 상기 인쇄 데이터의 사이즈를 취득하는 인쇄 장치.
  7. 제5항 또는 제6항에 있어서,
    상기 제어 수단은, 상기 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 상기 미리결정된 시간이 경과했고, 상기 외부 장치로부터 송신되는 상기 인쇄 데이터의 상기 사이즈가 상기 스풀 영역의 상기 사이즈를 초과하는 경우, 상기 접속의 단절을 요구하는 단절 요구를 상기 외부 장치에 송신하는 인쇄 장치.
  8. 제5항 또는 제6항에 있어서,
    상기 제어 수단은, 상기 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 상기 미리결정된 시간이 경과했고, 상기 외부 장치로부터 송신되는 상기 인쇄 데이터의 상기 사이즈가 상기 스풀 영역의 상기 사이즈를 초과하지 않는 경우, 상기 외부 장치와의 상기 접속을 유지하는 인쇄 장치.
  9. 제5항 또는 제6항에 있어서,
    상기 제어 수단은, 상기 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 상기 미리결정된 시간이 경과했고, 상기 외부 장치로부터 송신되는 상기 인쇄 데이터의 상기 사이즈가 상기 스풀 영역의 상기 사이즈를 초과하지 않는 경우, 상기 스풀 영역이 휘발성 메모리로 형성되어 있는지 여부에 기초하여, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절할지 여부를 제어하는 인쇄 장치.
  10. 제9항에 있어서,
    상기 외부 장치로부터의 인쇄 데이터의 수신이 정지되어 있는 상태에서 상기 미리결정된 시간이 경과했고, 상기 외부 장치로부터 송신되는 상기 인쇄 데이터의 상기 사이즈가 상기 스풀 영역의 상기 사이즈를 초과하지 않는 경우,
    상기 제어 수단은, 상기 스풀 영역이 휘발성 메모리로 형성되어 있으면, 상기 접속의 단절을 요구하는 단절 요구를 상기 외부 장치에 송신하며,
    상기 제어 수단은, 상기 스풀 영역이 비휘발성 메모리로 형성되어 있으면, 상기 외부 장치와의 상기 접속을 유지하는 인쇄 장치.
  11. 제5항 또는 제6항에 있어서,
    상기 미리결정된 시간은, 상기 인쇄 장치에 의한 인쇄 데이터의 수신이 재개되지 않을 경우에 상기 외부 장치에서 인쇄 작업을 캔슬하기 위한 타임 아웃 시간보다 짧은 시간이 되도록 결정되는 인쇄 장치.
  12. 제5항 또는 제6항에 있어서,
    상기 인쇄 장치의 표시 수단에 표시된 설정 화면을 통해서 접수된 유저 조작에 따라 상기 미리결정된 시간을 변경하는 변경 수단을 더 포함하는 인쇄 장치.
  13. 제5항 또는 제6항에 있어서,
    상기 미리결정된 통신 프로토콜은 LPD(Line Printer Daemon) 프로토콜인 인쇄 장치.
  14. 외부 장치와 통신 가능한 인쇄 장치의 제어 방법이며, 상기 방법은,
    미리결정된 통신 프로토콜에 따라서 외부 장치와의 접속을 확립하는 확립 단계;
    상기 외부 장치로부터 상기 접속을 통해서 송신되는 인쇄 데이터를 수신하고 스풀 영역에 일시적으로 저장하는 수신 단계;
    상기 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 행하는 인쇄 단계; 및
    상기 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고, 상기 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 유저 조작에 의해 미리 행하여진 설정에 따라, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절할지 여부를 제어하는 제어 단계를 포함하는 인쇄 장치의 제어 방법.
  15. 외부 장치와 통신 가능한 인쇄 장치의 제어 방법이며, 상기 방법은,
    미리결정된 통신 프로토콜에 따라서 외부 장치와의 접속을 확립하는 확립 단계;
    상기 외부 장치로부터 상기 접속을 통해서 송신되는 인쇄 데이터를 수신하고 스풀 영역에 일시적으로 저장하는 수신 단계;
    상기 스풀 영역에 저장된 인쇄 데이터에 기초하여 인쇄 처리를 행하는 인쇄 단계; 및
    상기 외부 장치로부터의 인쇄 데이터의 수신이 도중에 정지되고, 상기 수신이 정지되어 있는 상태에서 미리결정된 시간이 경과한 경우에, 상기 외부 장치로부터 송신되는 상기 인쇄 데이터의 사이즈와 상기 스풀 영역의 사이즈에 기초하여, 상기 외부 장치와의 상기 접속을 상기 인쇄 장치 측으로부터 단절할지 여부를 제어하는 제어 단계를 포함하는 인쇄 장치의 제어 방법.
  16. 제14항 또는 제15항에 따른 인쇄 장치의 제어 방법을 컴퓨터가 실행하게 하기 위한 컴퓨터 판독가능 저장 매체에 저장된 프로그램.
KR1020220158951A 2021-11-25 2022-11-24 인쇄 장치, 그 제어 방법, 및 프로그램 KR20230077686A (ko)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
KR20230077686A true KR20230077686A (ko) 2023-06-01

Family

ID=84332306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220158951A KR20230077686A (ko) 2021-11-25 2022-11-24 인쇄 장치, 그 제어 방법, 및 프로그램

Country Status (5)

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

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
JP2023077923A (ja) 2023-06-06
US20230161524A1 (en) 2023-05-25
CN116166206A (zh) 2023-05-26
EP4187365A1 (en) 2023-05-31

Similar Documents

Publication Publication Date Title
US7844704B2 (en) Event notification device and event notification method
US8937730B2 (en) System, image forming apparatus, server, and control method thereof
US8619290B2 (en) Image forming apparatus, image forming system, and image forming method
US20090225354A1 (en) Printing system, printing device, host apparatus, and computer program product
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
US9552185B2 (en) Information processing apparatus which stores a setting state to be acquired by a client apparatus
US9367272B2 (en) Image processing apparatus, and method for controlling image processing apparatus
US11076055B2 (en) Control apparatus detects an error in image processor and reboots the image processor before transmits printing data to printing apparatus
US10129420B2 (en) Image processing apparatus, control method, and storage medium thereof
US8659782B2 (en) Image forming apparatus using option controller for printing
JP2006347110A (ja) 画像形成装置及び代行印刷制御プログラム
US9875073B2 (en) Printing apparatus and control method therefor
US10277765B2 (en) Information processing device, control method, and program
US11385842B2 (en) Printing system, information processing apparatus, control method therefor, and storage medium
US11656810B2 (en) Printing system, printing apparatus, control methods therefor, and storage medium
KR20230077686A (ko) 인쇄 장치, 그 제어 방법, 및 프로그램
JP6460905B2 (ja) 通信装置、制御方法、プログラム
JP6172182B2 (ja) プログラム、情報処理装置、出力管理システム及び出力管理方法
US9047552B2 (en) Forming system and image forming apparatus that generate image log data to server
US8896872B2 (en) Print control apparatus, printing system, and non-transitory computer readable medium
JP5868298B2 (ja) 画像形成システム、画像形成装置、およびプログラム
JP5200610B2 (ja) 画像形成システム
JP2022043525A (ja) 情報処理装置及びプログラム
KR20130078473A (ko) 복수의 호스트들과 연결 가능한 화상형성장치 및 화상형성장치에서 화상형성 작업을 제어하는 방법
JP2019206146A (ja) 印刷装置、情報処理装置、それらの制御方法、及びプログラム