KR102422189B1 - Method for managing printing job in case of error occurring in printing system, and apparatus for performing the same - Google Patents

Method for managing printing job in case of error occurring in printing system, and apparatus for performing the same Download PDF

Info

Publication number
KR102422189B1
KR102422189B1 KR1020170181477A KR20170181477A KR102422189B1 KR 102422189 B1 KR102422189 B1 KR 102422189B1 KR 1020170181477 A KR1020170181477 A KR 1020170181477A KR 20170181477 A KR20170181477 A KR 20170181477A KR 102422189 B1 KR102422189 B1 KR 102422189B1
Authority
KR
South Korea
Prior art keywords
job
printing
print
error
print job
Prior art date
Application number
KR1020170181477A
Other languages
Korean (ko)
Other versions
KR20190062093A (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 주식회사 빅솔론
Priority to US16/199,142 priority Critical patent/US10853003B2/en
Publication of KR20190062093A publication Critical patent/KR20190062093A/en
Application granted granted Critical
Publication of KR102422189B1 publication Critical patent/KR102422189B1/en

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/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
    • G06F3/1235Errors handling and recovery, e.g. reprinting caused by end of consumables, e.g. paper, ink, toner
    • 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/126Job scheduling, e.g. queuing, determine appropriate device
    • 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

Abstract

호스트 장치 및 인쇄장치를 포함하는 인쇄 시스템에서 인쇄작업을 수행하는 방법은, 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID(Identification)를 상기 인쇄장치에 전송하며 인쇄를 요청하는 단계, 상기 인쇄장치로부터 수행 완료된 인쇄작업에 대응되는 ID를 수신하면, 상기 수신한 ID에 대응되는 인쇄작업을 삭제하여 상기 작업목록을 업데이트하는 단계, 상기 인쇄 시스템에서 에러가 발생하면, 상기 에러의 해소 여부를 판단하는 단계 및 상기 에러가 해소되었다고 판단되면, 상기 업데이트된 작업목록에 기초하여 인쇄작업의 수행을 재개하는 단계를 포함한다.A method of performing a print job in a printing system including a host device and a printing device includes transmitting print data and ID (Identification) corresponding to at least one print job included in a job list to the printing device and requesting printing. Step, when receiving an ID corresponding to the completed print job from the printing device, deleting the print job corresponding to the received ID and updating the job list; If an error occurs in the printing system, and determining whether the error is resolved, and when it is determined that the error is resolved, resuming the print job based on the updated job list.

Description

인쇄 시스템의 에러 발생시 인쇄작업을 관리하는 방법 및 이를 수행하기 위한 장치 {METHOD FOR MANAGING PRINTING JOB IN CASE OF ERROR OCCURRING IN PRINTING SYSTEM, AND APPARATUS FOR PERFORMING THE SAME}A method for managing a print job when an error occurs in the printing system and a device for performing the same

본 명세서에서 개시되는 실시예들은 호스트 장치 및 프린터를 포함하는 인쇄 시스템에서 인쇄작업을 수행하는 방법 및 장치에 관한 것이다.Embodiments disclosed herein relate to a method and apparatus for performing a print job in a printing system including a host device and a printer.

일반적인 인쇄 시스템은 호스트 장치 및 프린터를 포함하며, 호스트 장치가 프린터에 인쇄 데이터를 전송하면서 인쇄를 요청하는 구조이다. 이런 구조의 인쇄 시스템에서 갑자기 에러가 발생하는 경우 호스트 장치로부터 프린터에 전송되는 인쇄 데이터가 유실되거나, 호스트 장치에 저장된 인쇄작업의 목록과 프린터의 버퍼에 저장된 인쇄작업의 목록이 서로 불일치하게 되는 문제가 발생할 수 있다.A general printing system includes a host device and a printer, and has a structure in which the host device requests printing while transmitting print data to the printer. If an error suddenly occurs in the printing system of this structure, the print data transmitted from the host device to the printer is lost, or the list of print jobs stored in the host device and the list of print jobs stored in the printer’s buffer are inconsistent. can occur

관련하여 선행기술 문헌인 한국등록특허 제10-0363160호에서는 복수개의 프린터가 네트워크에 접속된 환경에서 어느 하나의 프린터에 에러가 발생하면 에러가 발생한 프린터에 대기된 인쇄작업을 다른 프린터로 전송하는 내용을 개시하고 있다.In relation to this, in Korea Patent Registration No. 10-0363160, which is a prior art document, when an error occurs in one printer in an environment in which a plurality of printers are connected to a network, the print job queued for the printer in which the error occurred is transmitted to another printer. is starting.

한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the above-mentioned background art is technical information that the inventor possessed for the derivation of the present invention or acquired in the process of derivation of the present invention, and it cannot be said that it is necessarily a known technique disclosed to the general public before the filing of the present invention. .

본 명세서에서 개시되는 실시예들은, 호스트 장치 및 프린터를 포함하는 인쇄 시스템에서 에러가 발생했다가 해소된 경우, 호스트 장치로부터 프린터로 전송되는 인쇄 데이터의 유실을 방지하고 호스트 장치와 프린터간 작업목록의 불일치를 해소하기 위한 방법 및 장치를 제공한다.The embodiments disclosed herein prevent loss of print data transmitted from the host device to the printer when an error occurs in a printing system including the host device and the printer and are resolved, and A method and apparatus are provided for resolving inconsistencies.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 일 실시예에 따르면, 호스트 장치 및 인쇄장치를 포함하는 인쇄 시스템에서 인쇄작업을 수행하는 방법은, 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID(Identification)를 상기 인쇄장치에 전송하며 인쇄를 요청하는 단계, 상기 인쇄장치로부터 수행 완료된 인쇄작업에 대응되는 ID를 수신하면, 상기 수신한 ID에 대응되는 인쇄작업을 삭제하여 상기 작업목록을 업데이트하는 단계, 상기 인쇄 시스템에서 에러가 발생하면, 상기 에러의 해소 여부를 판단하는 단계 및 상기 에러가 해소되었다고 판단되면, 상기 업데이트된 작업목록에 기초하여 인쇄작업의 수행을 재개하는 단계를 포함할 수 있다.According to an embodiment, as a technical means for achieving the above-described technical problem, a method of performing a print job in a printing system including a host device and a printing device includes printing corresponding to at least one print job included in a job list. Sending data and ID (Identification) to the printing device and requesting printing updating , when an error occurs in the printing system, determining whether the error is resolved, and when it is determined that the error is resolved, resuming the print job based on the updated job list. can do.

다른 실시예에 따르면, 호스트 장치 및 인쇄장치를 포함하는 인쇄 시스템에서 인쇄작업을 수행하는 방법을 수행하기 위한 컴퓨터 프로그램으로서, 인쇄작업을 수행하는 방법은, 상기 호스트 장치가 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID(Identification)를 상기 인쇄장치에 전송하며 인쇄를 요청하는 단계, 상기 호스트 장치가 상기 인쇄장치로부터 수행 완료된 인쇄작업에 대응되는 ID를 수신하면, 상기 수신한 ID에 대응되는 인쇄작업을 삭제하여 상기 작업목록을 업데이트하는 단계, 상기 인쇄 시스템에서 에러가 발생하면, 상기 호스트 장치가 상기 에러의 해소 여부를 판단하는 단계 및 상기 에러가 해소되었다고 판단되면, 상기 업데이트된 작업목록에 기초하여 인쇄작업의 수행을 재개하는 단계를 포함할 수 있다.According to another embodiment, there is provided a computer program for performing a method for performing a print job in a printing system including a host device and a printing device, the method for performing a print job, wherein the host device includes at least one transmitting print data and ID (Identification) corresponding to the above print job to the printing device and requesting printing; when the host device receives an ID corresponding to the completed print job from the printing device, the received ID updating the job list by deleting a print job corresponding to It may include the step of resuming the execution of the print job based on the job list.

또 다른 실시예에 따르면, 호스트 장치 및 인쇄장치를 포함하는 인쇄 시스템에서 인쇄작업을 수행하는 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로서, 인쇄작업을 수행하는 방법은, 상기 호스트 장치가 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID(Identification)를 상기 인쇄장치에 전송하며 인쇄를 요청하는 단계, 상기 호스트 장치가 상기 인쇄장치로부터 수행 완료된 인쇄작업에 대응되는 ID를 수신하면, 상기 수신한 ID에 대응되는 인쇄작업을 삭제하여 상기 작업목록을 업데이트하는 단계, 상기 인쇄 시스템에서 에러가 발생하면, 상기 호스트 장치가 상기 에러의 해소 여부를 판단하는 단계 및 상기 에러가 해소되었다고 판단되면, 상기 업데이트된 작업목록에 기초하여 인쇄작업의 수행을 재개하는 단계를 포함할 수 있다.According to another embodiment, there is provided a computer-readable recording medium in which a program for performing a method of performing a print job in a printing system including a host device and a printing device is recorded, the method for performing a print job, the method comprising: the host device transmitting print data and ID (Identification) corresponding to at least one print job included in the job list to the printing device and requesting printing; upon receiving, updating the job list by deleting the print job corresponding to the received ID; determining whether the error is resolved by the host device when an error occurs in the printing system; If it is determined that the resolution is resolved, the method may include resuming the print job based on the updated job list.

또 다른 실시예에 따르면, 인쇄 시스템에 포함되는 호스트 장치는, 인쇄장치와의 통신을 수행하는 통신부, 작업목록이 저장되는 저장부 및 상기 작업목록에 포함된 인쇄작업에 대응되는 ID(Identification)에 기초하여 상기 작업목록을 관리하는 제어부를 포함하며, 상기 제어부는 상기 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID를 상기 인쇄장치에 전송하며 인쇄를 요청하고, 상기 인쇄장치로부터 수행 완료된 인쇄 작업에 대응되는 ID를 수신하면 수신한 ID에 대응되는 인쇄작업을 삭제하여 상기 작업목록을 업데이트하며, 상기 인쇄 시스템에서 에러가 발생하면 상기 에러의 해소 여부를 판단하고, 상기 에러가 해소되었다고 판단되면 상기 업데이트된 작업목록에 기초하여 인쇄작업의 수행을 재개할 수 있다.According to another embodiment, the host device included in the printing system includes a communication unit communicating with the printing device, a storage unit storing a job list, and ID (Identification) corresponding to a print job included in the job list. and a control unit for managing the job list based on the job list, wherein the control unit transmits print data and ID corresponding to at least one print job included in the job list to the printing device, requests printing, and receives the printing device from the printing device. When the ID corresponding to the completed print job is received, the job list is updated by deleting the print job corresponding to the received ID. If an error occurs in the printing system, it is determined whether the error is resolved, and the error is resolved. If it is determined that the print job is performed, the printing job may be resumed based on the updated job list.

전술한 과제 해결 수단 중 어느 하나에 의하면, 호스트 장치가 인쇄작업 별로 ID를 부여해서 인쇄작업을 관리함으로써, 인쇄 시스템에서 에러가 발생하는 경우에도 인쇄 데이터가 유실되지 않도록 할 수 있는 효과를 기대할 수 있다.According to any one of the above-described problem solving means, the host device assigns an ID to each print job and manages the print job, so that it is possible to prevent loss of print data even when an error occurs in the print system. .

또한, 전술한 과제 해결 수단 중 어느 하나에 의하면, 인쇄 시스템에서 에러가 발생했다가 해소된 경우 프린터의 버퍼에 저장된 작업목록을 기준으로 호스트 장치의 작업목록을 업데이트함으로써, 호스트 장치와 프린터간 작업목록의 불일치를 해소하는 효과를 기대할 수 있다.In addition, according to any one of the above-described problem solving means, when an error occurs and is resolved in the printing system, the job list between the host device and the printer is updated by updating the job list of the host device based on the job list stored in the buffer of the printer. It can be expected that the effect of resolving the inconsistency of

개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtainable in the disclosed embodiments are not limited to the above-mentioned effects, and other effects not mentioned are clear to those of ordinary skill in the art to which the embodiments disclosed from the description below belong. will be able to understand

도 1은 일 실시예에 따른 인쇄 시스템을 도시한 도면이다.
도 2는 일 실시예에 따른 호스트 장치의 구성을 도시한 도면이다.
도 3 내지 도 7은 일 실시예에 따른 인쇄 시스템에서 에러가 발생했다가 해소되는 경우, 호스트 장치가 인쇄작업을 관리하는 방법을 설명하기 위한 도면들이다.
도 8 내지 도 11은 일 실시예에 따른 인쇄 시스템에서 인쇄작업을 수행하는 과정을 도시한 도면들이다.
도 12 및 도 13은 일 실시예에 따른 인쇄 시스템에서 인쇄작업을 수행하는 방법을 설명하기 위한 순서도들이다.
도 14는 일 실시예에 따른 중계 장치를 포함하는 인쇄 시스템을 도시한 도면이다.
도 15는 일 실시예에 따른 중계 장치의 구성을 도시한 도면이다.
도 16 내지 도 18은 일 실시예에 따른 중계 장치를 포함하는 인쇄 시스템에서 에러가 발생했다가 해소되는 경우, 중계 장치가 인쇄작업을 관리하는 방법을 설명하기 위한 도면들이다.
도 19는 일 실시예에 따른 중계 장치를 포함하는 인쇄 시스템에서 인쇄작업을 수행하는 과정을 도시한 도면이다.
도 20은 일 실시예에 따른 중계 장치를 포함하는 인쇄 시스템에서 인쇄작업을 수행하는 방법을 설명하기 위한 순서도이다.
도 21은 일 실시예에 따른 인쇄 시스템을 도시한 도면이다.
도 22 내지 도 27은 일 실시예에 따른 인쇄 시스템에서 에러가 발생했다가 해소되는 경우, 프린터에 내장된 인터페이스 모듈이 인쇄작업을 관리하는 방법을 설명하기 위한 도면들이다.
도 28은 일 실시예에 따른 인쇄 시스템에서 인쇄작업을 수행하는 과정을 설명하기 위한 도면이다.
도 29는 일 실시예에 따른 인쇄 시스템에서 인쇄작업을 수행하는 방법을 설명하기 위한 순서도이다.
1 is a diagram illustrating a printing system according to an embodiment.
2 is a diagram illustrating a configuration of a host device according to an exemplary embodiment.
3 to 7 are diagrams for explaining a method for a host device to manage a print job when an error occurs and then is resolved in the printing system according to an exemplary embodiment.
8 to 11 are diagrams illustrating a process of performing a printing job in a printing system according to an exemplary embodiment.
12 and 13 are flowcharts illustrating a method of performing a print job in a printing system according to an exemplary embodiment.
14 is a diagram illustrating a printing system including a relay device according to an exemplary embodiment.
15 is a diagram illustrating a configuration of a relay device according to an exemplary embodiment.
16 to 18 are diagrams for explaining a method for a relay device to manage a print job when an error occurs and then is resolved in a printing system including a relay device according to an exemplary embodiment.
19 is a diagram illustrating a process of performing a print job in a printing system including a relay device according to an exemplary embodiment.
20 is a flowchart illustrating a method of performing a print job in a printing system including a relay device according to an exemplary embodiment.
21 is a diagram illustrating a printing system according to an embodiment.
22 to 27 are diagrams for explaining a method of managing a print job by an interface module built into a printer when an error occurs and then is resolved in the printing system according to an exemplary embodiment.
28 is a diagram for explaining a process of performing a print job in a printing system according to an exemplary embodiment.
29 is a flowchart illustrating a method of performing a print job in a printing system according to an exemplary embodiment.

아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. The embodiments described below may be modified and implemented in various different forms. In order to more clearly describe the characteristics of the embodiments, detailed descriptions of matters widely known to those of ordinary skill in the art to which the following embodiments belong are omitted. And, in the drawings, parts not related to the description of the embodiments are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.Throughout the specification, when a component is said to be "connected" with another component, it includes not only the case where it is 'directly connected' but also the case where it is 'connected with another component in between'. In addition, when a component "includes" a component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.

도 1은 일 실시예에 따른 인쇄 시스템을 도시한 도면이다. 도 1을 참조하면, 일 실시예에 따른 인쇄 시스템(10)은 서로 유무선 통신이 가능한 호스트 장치(100) 및 프린터(200)를 포함할 수 있다.1 is a diagram illustrating a printing system according to an embodiment. Referring to FIG. 1 , a printing system 10 according to an exemplary embodiment may include a host device 100 and a printer 200 capable of wired/wireless communication with each other.

도 1에서는 인쇄 시스템(10)이 호스트 장치(100) 및 프린터(200)를 각각 하나씩 포함하는 것으로 도시하였으나, 이와 다르게 호스트 장치(100) 및 프린터(200) 중 어느 하나가 복수이거나, 둘 모두 복수가 되도록 인쇄 시스템(10)이 구성될 수도 있다.In FIG. 1 , the printing system 10 is illustrated as including one host device 100 and one printer 200 . However, either one of the host device 100 and the printer 200 is plural, or both are plural. The printing system 10 may be configured such that

인쇄 시스템(10)에 포함되는 호스트 장치(100)는 유무선 통신이 가능한 다양한 형태의 전자 디바이스일 수 있으며, 예를 들어 스마트폰, 태블릿 PC, 데스크탑, 노트북 또는 POS(Point of Sales) 장치 등일 수 있다. 또한, 인쇄 시스템(10)에 포함되는 프린터(200)는 일반적인 프린터 이외에도 복합기, POS 프린터 및 인쇄물을 출력하는 키오스크 등 다양한 인쇄장치들을 포함할 수 있다.The host device 100 included in the print system 10 may be various types of electronic devices capable of wired/wireless communication, for example, a smart phone, a tablet PC, a desktop, a notebook computer, or a Point of Sales (POS) device. . In addition, the printer 200 included in the printing system 10 may include, in addition to a general printer, various printing devices such as a multifunction printer, a POS printer, and a kiosk for outputting printed matter.

인쇄 이벤트가 발생하면 호스트 장치(100)는 프린터(200)에 인쇄작업의 수행을 요청한다. 호스트 장치(100)는 적어도 하나 이상의 인쇄작업을 포함하는 작업목록을 관리하며, 인쇄작업별로 ID(Identification)를 부여할 수 있다. 이하에서는 인쇄작업에 부여되는 ID를 Job ID라고 한다. 한편, 인쇄작업은 작업목록에 포함된 전체 인쇄 데이터를 페이지, 문서 또는 블록(block) 중 어느 하나의 단위로 구분한 것일 수 있다.When a print event occurs, the host device 100 requests the printer 200 to perform a print job. The host device 100 manages a job list including at least one print job, and may assign an ID (Identification) to each print job. Hereinafter, an ID assigned to a print job is referred to as a Job ID. Meanwhile, the print job may be a unit of any one of a page, a document, or a block in which the entire print data included in the job list is divided.

호스트 장치(100)가 작업목록에 포함된 인쇄작업의 인쇄 데이터 및 Job ID를 프린터(200)에 전송하며 인쇄를 요청하면, 프린터(200)는 수신한 인쇄작업(인쇄 데이터 및 Job ID)을 버퍼(buffer)에 저장하고 순서대로 인쇄를 수행한다. 즉, 프린터(200)는 호스트 장치(100)로부터 수신한 인쇄작업을 포함하는 작업목록을 버퍼에 저장하고 관리한다.When the host device 100 transmits the print data and the Job ID of the print job included in the job list to the printer 200 and requests to be printed, the printer 200 buffers the received print job (print data and Job ID). (buffer) and print in order. That is, the printer 200 stores and manages the job list including the print job received from the host device 100 in a buffer.

프린터(200)가 인쇄를 수행하는 과정에서 인쇄 시스템(10)에 에러가 발생하면, 프린터(200)의 버퍼에 저장된 인쇄작업 중에서 아직 인쇄가 완료되지 않은 인쇄작업의 데이터들(인쇄 데이터 및 Job ID)이 삭제될 수 있다. 또한, 인쇄 시스템(10)에 에러가 발생한 이후에도 프린터(200)가 계속해서 인쇄작업을 수행하면 호스트 장치(100)에 저장된 작업목록과 프린터(200)의 버퍼에 저장된 작업목록간에 불일치가 발생할 수도 있다.If an error occurs in the printing system 10 while the printer 200 performs printing, print job data (print data and Job ID) of which printing has not been completed yet among the print jobs stored in the buffer of the printer 200 . ) can be deleted. In addition, if the printer 200 continues to perform a print job even after an error occurs in the printing system 10 , a discrepancy may occur between the job list stored in the host device 100 and the job list stored in the buffer of the printer 200 . .

따라서, 이하의 실시예들에서는 호스트 장치(100)가 인쇄작업의 Job ID에 기초하여 작업목록을 관리함으로써 인쇄 데이터의 유실을 방지하고, 호스트 장치(100)와 프린터(200)간 작업목록의 불일치를 해소할 수 있는 방법을 제시한다.Accordingly, in the following embodiments, the host device 100 manages the job list based on the job ID of the print job, thereby preventing the loss of print data, and mismatching the job list between the host device 100 and the printer 200 . suggest a way to solve it.

도 2는 일 실시예에 따른 호스트 장치(100)의 구성을 도시한 도면이다. 도 2를 참조하면, 일 실시예에 따른 호스트 장치(100)는 통신부(110), 제어부(120) 및 저장부(130)를 포함할 수 있다.2 is a diagram illustrating a configuration of a host device 100 according to an exemplary embodiment. Referring to FIG. 2 , the host device 100 according to an embodiment may include a communication unit 110 , a control unit 120 , and a storage unit 130 .

통신부(110)는 인쇄 시스템에 포함된 프린터와 통신을 수행하기 위한 구성이다. 이를 위해, 통신부(110)는 다양한 방식의 유무선 통신 방식 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신부(110)는 통신 칩셋 및 통신 포트 등을 포함할 수 있다.The communication unit 110 is a component for performing communication with a printer included in the printing system. To this end, the communication unit 110 may include a communication module that supports at least one of various types of wired and wireless communication methods. For example, the communication unit 110 may include a communication chipset and a communication port.

제어부(120)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서, 호스트 장치(100)의 전반적인 동작을 제어한다. 특히, 제어부(120)는 작업목록에 포함되는 인쇄작업별로 Job ID를 부여하고, Job ID에 기초하여 작업목록을 관리한다. 제어부(120)가 Job ID에 기초하여 작업목록을 관리하는 구체적인 방법에 대해서는 아래에서 다른 도면들을 참조하여 자세히 설명한다.The controller 120 includes at least one processor such as a CPU, and controls the overall operation of the host device 100 . In particular, the controller 120 assigns a Job ID to each print job included in the job list, and manages the job list based on the Job ID. A detailed method for the control unit 120 to manage the job list based on the Job ID will be described in detail with reference to other drawings below.

저장부(130)에는 다양한 종류의 프로그램 및 데이터가 저장될 수 있다. 특히, 저장부(130)에는 인쇄작업에 대응되는 인쇄 데이터가 저장될 수 있으며, 예정된 인쇄작업의 Job ID를 포함하는 작업목록도 저장될 수 있다.Various types of programs and data may be stored in the storage unit 130 . In particular, print data corresponding to a print job may be stored in the storage unit 130 , and a job list including a Job ID of a scheduled print job may also be stored.

이하에서는, 도 3 내지 도 7을 참조하여, 인쇄 시스템에서 에러가 발생했다가 해소되는 경우, 호스트 장치가 인쇄작업을 관리하는 방법에 대해서 자세히 설명한다.Hereinafter, a method in which a host device manages a print job when an error occurs and then is resolved in the printing system will be described in detail with reference to FIGS. 3 to 7 .

도 3에는 호스트 장치(100)가 프린터(200)에 인쇄작업의 인쇄 데이터 및 Job ID를 전송하며 인쇄를 요청하는 상황을 도시하였다. 도 3을 참조하면, 호스트 장치(100)의 작업목록에는 3개의 인쇄작업들이 포함되어 있고, 인쇄작업들의 Job ID는 각각 A1, A2 및 A3이다.3 illustrates a situation in which the host device 100 transmits print data and a Job ID of a print job to the printer 200 and requests printing. Referring to FIG. 3 , the job list of the host device 100 includes three print jobs, and the job IDs of the print jobs are A1, A2, and A3, respectively.

앞서 설명한 바와 같이, 호스트 장치(100)의 제어부(120)는 인쇄작업별로 Job ID를 부여하고, Job ID에 기초하여 작업목록을 관리할 수 있다. 또한, 인쇄작업은 인쇄 데이터를 페이지, 문서 또는 블록 단위로 구분한 것일 수 있다.As described above, the controller 120 of the host device 100 may assign a Job ID to each print job and manage the job list based on the Job ID. In addition, the print job may be one in which print data is divided into pages, documents, or blocks.

호스트 장치(100)는 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID(A1, A2, A3)를 프린터(200)에 전송하면서 인쇄를 요청한다. 프린터(200)는 수신한 인쇄작업들의 인쇄 데이터 및 Job ID를 버퍼에 저장하고, 순서대로 인쇄를 수행할 수 있다. 즉, 프린터(200)의 버퍼에는 호스트 장치(100)로부터 수신한 인쇄작업들을 포함하는 작업목록이 저장될 수 있다.The host device 100 requests printing while transmitting print data and Job IDs (A1, A2, A3) of the print jobs included in the job list to the printer 200 . The printer 200 may store print data and a Job ID of the received print jobs in a buffer, and perform printing in order. That is, a job list including print jobs received from the host device 100 may be stored in the buffer of the printer 200 .

도 4에는 프린터(200)가 인쇄작업의 수행을 완료한 경우 호스트 장치(100)의 작업목록을 업데이트하는 상황을 도시하였다. 도 4를 참조하면, 프린터(200)는 인쇄작업의 수행을 완료하면, 완료한 인쇄작업에 대응되는 Job ID를 호스트 장치(100)에 전송한다. 도 4에서 프린터(200)는 Job ID가 A1인 인쇄작업의 수행을 완료함에 따라 호스트 장치(100)에 “A1”을 전송하면서 인쇄작업이 완료되었음을 알린다.4 illustrates a situation in which the job list of the host device 100 is updated when the printer 200 completes the print job. Referring to FIG. 4 , upon completion of the print job, the printer 200 transmits a Job ID corresponding to the completed print job to the host device 100 . In FIG. 4 , the printer 200 notifies the completion of the print job while transmitting “A1” to the host device 100 upon completion of the print job having the Job ID A1.

한편, 프린터(200)가 인쇄작업이 완료되었다고 판단하는 조건은 다양하게 설정될 수 있다. 예를 들어, 프린터(200)는 특정 인쇄작업에 대응되는 출력물이 프린터(200)의 출력부에 나오면 해당 인쇄작업의 수행이 완료되었다고 판단할 수 있다. 또는, 프린터(200)는 출력부에 구비된 테이큰 센서(taken sensor)가, 사용자가 출력물을 가져갔다고 감지하는 경우에만 인쇄작업의 수행이 완료되었다고 판단할 수도 있다.Meanwhile, various conditions may be set for the printer 200 to determine that the print job is completed. For example, when an output corresponding to a specific print job is output to the output unit of the printer 200 , the printer 200 may determine that the print job is completed. Alternatively, the printer 200 may determine that the print job is completed only when a taken sensor provided in the output unit detects that the user has taken the output.

호스트 장치(100)는 프린터(200)로부터 수행이 완료된 인쇄작업의 Job ID를 수신하면, 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제하여 작업목록을 업데이트한다. 도 4에서 호스트 장치(100)는 프린터(200)로부터 “A1”을 수신했으므로, 작업목록에서 “A1”에 대응되는 인쇄작업을 삭제한다.When the host device 100 receives the Job ID of the completed print job from the printer 200 , the host device 100 deletes the print job corresponding to the received Job ID from the job list and updates the job list. In FIG. 4 , the host device 100 has received “A1” from the printer 200, and thus deletes the print job corresponding to “A1” from the job list.

프린터(200)는 인쇄작업 완료 알림을 호스트 장치(100)에 전송함에 있어서, 동기식(synchronous) 또는 비동기식(asynchronous)으로 동작할 수 있다. 예를 들어, 프린터(200)가 동기식으로 동작한다면, 하나의 인쇄작업이 완료될 때마다 프린터(200)는 완료된 인쇄작업의 Job ID를 호스트 장치(100)에 전송한다. 하지만, 프린터(200)가 비동기식으로 동작한다면, 프린터(200)는 주기적으로 완료된 인쇄작업들의 Job ID를 호스트 장치(100)에 전송하거나, 미리 설정된 개수의 인쇄작업들이 완료된 후에 완료된 인쇄작업들의 Job ID를 호스트 장치(100)에 전송하거나, 또는 버퍼에 저장된 모든 인쇄작업들이 완료되면 완료된 인쇄작업들의 Job ID를 호스트 장치(100)에 전송할 수도 있다.The printer 200 may operate synchronously or asynchronously in transmitting a print job completion notification to the host device 100 . For example, if the printer 200 operates synchronously, whenever one print job is completed, the printer 200 transmits the Job ID of the completed print job to the host device 100 . However, if the printer 200 operates asynchronously, the printer 200 periodically transmits Job IDs of completed print jobs to the host device 100 or Job IDs of completed print jobs after a preset number of print jobs are completed. may be transmitted to the host device 100 , or when all print jobs stored in the buffer are completed, Job IDs of completed print jobs may be transmitted to the host device 100 .

이와 같이, 호스트 장치(100)는 인쇄작업의 Job ID에 기초하여 작업목록을 관리함으로써, 프린터(200)에서 인쇄작업이 수행되는 상태를 신속하게 작업목록에 반영할 수 있다.In this way, the host device 100 manages the job list based on the job ID of the print job, so that the state in which the print job is performed by the printer 200 can be quickly reflected in the job list.

도 5에는 인쇄 시스템에서 에러가 발생한 상황을 도시하였다. 인쇄 시스템에서 에러가 발생하면, 호스트 장치(100)는 인쇄 시스템에 에러가 발생했음을 확인할 수 있다. 인쇄 시스템에서 발생할 수 있는 에러의 종류는 다양하다. 예를 들어, 프린터(200)의 전원이 오프되는 상황일 수도 있고, 또는 프린터(200)에서 용지가 부족한 상황일 수도 있다. 또는, 프린터(200)의 커버가 오픈되는 상황일 수도 있으며, 프린터(200)에서 용지 걸림이 발생하는 상황일 수도 있다. 또한, 호스트 장치(100) 및 프린터(200) 중 적어도 하나에 통신 문제가 발생하거나, 인쇄 시스템을 구성하는 통신 네트워크상에 문제가 발생하여 호스트 장치(100)와 프린터(200)간 통신이 끊어지는 상황일 수도 있다.5 illustrates a situation in which an error has occurred in the printing system. When an error occurs in the printing system, the host device 100 may confirm that an error has occurred in the printing system. There are various types of errors that can occur in the printing system. For example, it may be a situation in which the power of the printer 200 is turned off, or a situation in which the printer 200 runs out of paper. Alternatively, it may be a situation in which the cover of the printer 200 is opened, or a situation in which a paper jam occurs in the printer 200 . In addition, when a communication problem occurs in at least one of the host device 100 and the printer 200 or a problem occurs in the communication network constituting the printing system, communication between the host device 100 and the printer 200 is cut off. could be the situation.

호스트 장치(100)는 다양한 방법으로 인쇄 시스템에 에러가 발생했음을 판단할 수 있다. 호스트 장치(100)는 프린터(200)와의 통신에 실패하면 인쇄 시스템에 에러가 발생했다고 판단할 수 있다. 예를 들어, 호스트 장치(100)는 미리 설정된 일정 시간 이내에 프린터(200)로부터 아무런 데이터를 수신하지 않으면 프린터(200)와의 통신에 실패한 것으로 보고 인쇄 시스템에 에러가 발생한 것으로 판단할 수 있다. 또는, 호스트 장치(100)는 프린터(200)로부터 에러 메시지를 수신하면 인쇄 시스템에 에러가 발생한 것으로 판단할 수도 있다.The host device 100 may determine that an error has occurred in the printing system in various ways. When communication with the printer 200 fails, the host device 100 may determine that an error has occurred in the printing system. For example, if the host device 100 does not receive any data from the printer 200 within a preset period of time, the host device 100 may determine that communication with the printer 200 has failed and determine that an error has occurred in the printing system. Alternatively, when receiving an error message from the printer 200 , the host device 100 may determine that an error has occurred in the printing system.

프린터(200)의 전원이 오프되는 에러가 발생한 경우, 프린터(200)의 버퍼에 저장된 인쇄 데이터 및 Job ID는 모두 삭제된다. 또한, 프린터(200)에서 용지가 부족하거나, 프린터(200)의 커버가 오픈되거나, 또는 프린터(200)에서 용지 걸림이 발생하는 경우에도 데이터가 엉키는 것을 방지하기 위해 버퍼에 저장된 인쇄 데이터 및 Job ID를 모두 삭제할 수도 있다.When an error in which the power of the printer 200 is turned off occurs, the print data and the Job ID stored in the buffer of the printer 200 are all deleted. In addition, print data and Job ID stored in the buffer to prevent data from being tangled even when the printer 200 runs out of paper, the cover of the printer 200 is opened, or a paper jam occurs in the printer 200 . You can also delete them all.

이와 같이, 에러의 발생으로 인해 프린터(200)의 버퍼에 저장된 데이터들이 삭제된다면 아직 수행되지 않은 인쇄작업의 인쇄 데이터가 유실될 수 있고, 따라서 에러가 해소된 후 인쇄작업의 수행이 재개되더라도 일부 인쇄작업의 수행이 누락될 수 있다. 인쇄 데이터의 유실을 방지하기 위해 호스트 장치(100)는 에러가 발생하기 직전까지의 인쇄작업 완료 상황을 실시간으로 반영하여 작업목록을 업데이트하고, 에러가 발생했다가 해소되면 업데이트된 작업목록에 기초하여 인쇄작업의 수행을 재개할 수 있다. 이에 대한 실시예를 도 6에 도시하였다.As described above, if data stored in the buffer of the printer 200 is deleted due to the occurrence of an error, print data of a print job that has not yet been performed may be lost, and therefore, even if the print job is resumed after the error is resolved, some printing is performed. Execution of tasks may be missed. In order to prevent loss of print data, the host device 100 updates the job list by reflecting the print job completion status immediately before the error occurs in real time, and when the error occurs and resolves, the host device 100 updates the job list based on the updated job list. Printing can be resumed. An example for this is shown in FIG. 6 .

도 6에는 인쇄 시스템에서 에러가 해소된 후에 인쇄작업의 수행이 재개되는 상황을 도시하였다. 프린터(200)의 버퍼에 저장되었던 인쇄작업들은 에러의 발생으로 인해 모두 삭제되었다고 가정한다. 호스트 장치(100)는 인쇄 시스템에 발생한 에러가 해소되었다고 판단되면, 작업목록에 포함된 인쇄작업의 인쇄 데이터 및 Job ID를 프린터(200)에 전송하며 인쇄를 요청한다.6 illustrates a situation in which the printing job is resumed after the error is resolved in the printing system. It is assumed that the print jobs stored in the buffer of the printer 200 are all deleted due to the occurrence of an error. When it is determined that the error occurring in the printing system is resolved, the host device 100 transmits print data and a Job ID of a print job included in the job list to the printer 200 and requests printing.

이때, 호스트 장치(100)가 에러의 해소 여부를 판단하는 방법은 다음과 같다. 호스트 장치(100)는 주기적으로 에러의 해소 여부를 확인할 수 있다. 예를 들어, 프린터(200)와의 통신이 끊기는 에러가 발생했다면 호스트 장치(100)는 주기적으로 프린터(200)에 엑세스를 시도하고, 프린터(200)에의 엑세스에 성공하면 에러가 해소된 것으로 판단할 수 있다. 또는, 호스트 장치(100)는 프린터(200)로부터 에러 메시지를 수신했다면, 주기적으로 프린터(200)에 에러가 해소되었는지 여부를 문의하고, 프린터(200)로부터 에러가 해소되었다는 응답을 수신하면 에러가 해소된 것으로 판단할 수도 있다. 이외에도 호스트 장치(100)는 다양한 방식으로 인쇄 시스템에 발생한 에러의 해소 여부를 판단할 수 있다.In this case, a method for the host device 100 to determine whether the error is resolved is as follows. The host device 100 may periodically check whether the error is resolved. For example, if an error in communication with the printer 200 occurs, the host device 100 periodically attempts to access the printer 200, and if the access to the printer 200 succeeds, it is determined that the error is resolved. can Alternatively, if the host device 100 receives an error message from the printer 200 , it periodically inquires whether the error has been resolved to the printer 200 , and receives a response from the printer 200 indicating that the error has been resolved. It may be considered resolved. In addition, the host device 100 may determine whether an error occurring in the printing system is resolved in various ways.

호스트 장치(100)의 작업목록에는 도 4에서 설명한 바와 같이 인쇄 시스템에 에러가 발생하기 이전까지의 인쇄작업 수행 상황이 반영되어 있으므로, 인쇄 데이터의 유실은 방지하면서도 인쇄작업의 불필요한 중복 수행을 최소화할 수 있다.As described with reference to FIG. 4 , the job list of the host device 100 reflects the printing job execution status before an error occurs in the printing system. Therefore, it is possible to prevent loss of printing data and minimize unnecessary duplication of printing jobs. can

한편 다시 도 5로 돌아가서, 인쇄 시스템에서 에러가 발생하더라도 프린터(200)는 버퍼에 저장된 데이터를 유지하면서, 정상적으로 인쇄작업을 수행할 수도 있다. 예를 들어, 단순히 호스트 장치(100)와 프린터(200)간의 통신이 끊기는 에러가 발생한 경우라면, 프린터(200)는 통신이 끊긴 이후에도 버퍼에 저장된 인쇄 데이터의 출력을 계속해서 수행할 수 있다. 이 경우 호스트 장치(100)의 작업목록에 인쇄작업의 수행 상황이 반영되지 않으므로, 호스트 장치(100)와 프린터(200)간 작업목록의 불일치가 발생하게 되는 문제점이 있다. 이를 해결하기 위한 실시예를 도 7에 도시하였다.Meanwhile, returning to FIG. 5 , even if an error occurs in the printing system, the printer 200 may perform a normal printing operation while maintaining the data stored in the buffer. For example, if an error in which communication between the host device 100 and the printer 200 is simply cut off occurs, the printer 200 may continue to output the print data stored in the buffer even after the communication is cut off. In this case, since the execution status of the print job is not reflected in the job list of the host device 100 , there is a problem in that the job list between the host device 100 and the printer 200 is inconsistent. An embodiment for solving this problem is shown in FIG. 7 .

도 7은 인쇄 시스템의 에러가 해소된 후 프린터의 버퍼에 저장된 작업목록에 기초하여 호스트 장치의 작업목록을 업데이트하는 방법을 설명하기 위한 도면이다. 도 7을 참조하면, 호스트 장치(100)는 인쇄 시스템의 에러가 해소되었다고 판단되면, 프린터(200)의 버퍼에 저장된 인쇄작업의 확인을 프린터(200)에 요청한다. 이때, 호스트 장치(100)가 인쇄 시스템의 에러의 해소 여부를 판단하는 방법은 앞서 도 6을 참조하여 설명한 바와 같다.7 is a diagram for explaining a method of updating a job list of a host device based on a job list stored in a buffer of a printer after an error in the printing system is resolved. Referring to FIG. 7 , when it is determined that the error of the printing system is resolved, the host device 100 requests the printer 200 to check the print job stored in the buffer of the printer 200 . In this case, a method for the host device 100 to determine whether an error in the printing system is resolved is the same as described above with reference to FIG. 6 .

요청을 수신한 프린터(200)는 버퍼에 저장된 인쇄작업의 Job ID를 호스트 장치(100)에 전송한다. 수행이 완료된 인쇄작업은 프린터(200)의 버퍼에서 삭제되므로, 프린터(200)의 버퍼에는 아직 수행되지 않은 인쇄작업만이 저장되어 있다.Upon receiving the request, the printer 200 transmits the Job ID of the print job stored in the buffer to the host device 100 . Since the print job that has been performed is deleted from the buffer of the printer 200 , only the print job that has not been performed yet is stored in the buffer of the printer 200 .

도 7에서 프린터(200)의 버퍼에 Job ID가 “A3”인 인쇄작업이 저장된 상태에서 호스트 장치(100)로부터 확인 요청을 수신하므로, 프린터(200)는 “A3”를 호스트 장치(100)에 전송한다. 호스트 장치(100)는 프린터(200)로부터 수신한 Job ID인 “A3”에 대응되는 인쇄작업만을 남겨두고 나머지 인쇄작업은 작업목록에서 삭제한다. 이와 같이, 인쇄 시스템의 에러의 해소 후에 프린터(200)의 버퍼에 저장된 작업목록을 기준으로 호스트 장치(100)의 작업목록을 업데이트함으로써, 에러가 발생한 이후에 프린터(200)에서의 인쇄작업 수행 내역을 반영하고, 두 장치간 작업목록의 불일치를 해소할 수 있다.In FIG. 7 , since a confirmation request is received from the host device 100 while a print job with Job ID “A3” is stored in the buffer of the printer 200 in FIG. 7 , the printer 200 sends “A3” to the host device 100 . send. The host device 100 leaves only the print job corresponding to the Job ID “A3” received from the printer 200 and deletes the remaining print jobs from the job list. As such, by updating the job list of the host device 100 based on the job list stored in the buffer of the printer 200 after the error of the printing system is resolved, the print job execution history in the printer 200 after the error occurs can be reflected and the inconsistency in the work list between the two devices can be resolved.

이하에서는, 도 8 내지 도 11을 참조하여 일 실시예에 따른 인쇄 시스템에서 인쇄작업을 수행하는 과정을 자세히 설명한다.Hereinafter, a process of performing a print job in the printing system according to an exemplary embodiment will be described in detail with reference to FIGS. 8 to 11 .

도 8을 참조하면, 801 단계에서 호스트 장치(100)가 작업목록에 포함된 인쇄 데이터 및 Job ID를 프린터(200)에 전송하면, 802 단계에서 프린터(200)는 수신한 인쇄작업을 수행한다.Referring to FIG. 8 , when the host device 100 transmits print data and a Job ID included in the job list to the printer 200 in step 801 , the printer 200 performs the received print job in step 802 .

인쇄작업의 수행이 완료되면, 803 단계에서 프린터(200)는 완료한 인쇄작업의 Job ID를 호스트 장치(100)에 전송한다. 호스트 장치(100)는 프린터(200)로부터 인쇄작업의 Job ID를 수신하면, 804 단계에서는 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제하여 작업목록을 업데이트한다.When the execution of the print job is completed, the printer 200 transmits the Job ID of the completed print job to the host device 100 in step 803 . When the host device 100 receives the Job ID of the print job from the printer 200 , in step 804 , the host device 100 deletes the print job corresponding to the received Job ID from the job list and updates the job list.

805 단계에서 프린터(200)에 에러가 발생하면, 프린터(200)는 806 단계에서 에러 메시지를 호스트 장치(100)에 전송한다.If an error occurs in the printer 200 in step 805 , the printer 200 transmits an error message to the host device 100 in step 806 .

807 단계에서 프린터(200)에서 발생한 에러가 해소되고, 808 단계에서 호스트 장치(100)는 프린터(200)에서 발생한 에러가 해소되었음을 확인할 수 있다. 예를 들어, 808 단계에서 호스트 장치(100)는 주기적으로 프린터(200)에 에러가 해소되었는지 여부를 문의하고, 프린터(200)로부터 에러가 해소되었다는 응답을 수신하면 에러가 해소된 것으로 판단할 수 있다.In step 807 , the error occurring in the printer 200 is resolved, and in step 808 , the host device 100 can confirm that the error occurring in the printer 200 is resolved. For example, in step 808 , the host device 100 periodically inquires whether the error has been resolved to the printer 200 and receives a response from the printer 200 indicating that the error has been resolved, it may be determined that the error has been resolved. have.

에러가 해소된 것으로 판단하면, 809 단계에서 호스트 장치(100)는 804 단계에서 업데이트된 작업목록에 포함된 인쇄작업의 인쇄 데이터 및 Job ID를 프린터(200)에 전송하며 인쇄를 요청하고, 810 단계에서 프린터(200)는 수신한 인쇄작업을 수행한다.If it is determined that the error has been resolved, in step 809 the host device 100 transmits the print data and the Job ID of the print job included in the updated job list to the printer 200 in step 804 and requests printing, in step 810 In , the printer 200 performs the received print job.

한편, 도 8에서는 호스트 장치(100)가 프린터(200)로부터 에러 메시지를 수신함으로써 에러의 발생을 감지하는 실시예를 도시하였으나, 인쇄 시스템에 에러가 발생해도 프린터(200)로부터 에러 메시지를 수신할 수 없는 경우도 있다. 예를 들어, 프린터(200)의 전원이 오프되거나 호스트 장치(100)와 프린터(200)간의 통신이 끊기는 경우 호스트 장치(100)는 프린터(200)로부터 에러 메시지를 수신할 수 없다. 이러한 상황에 대한 실시예를 도 9에 도시하였다.Meanwhile, although FIG. 8 shows an embodiment in which the host device 100 detects the occurrence of an error by receiving the error message from the printer 200, even if an error occurs in the printing system, the error message can be received from the printer 200. There are cases where it is not possible. For example, when the printer 200 is powered off or communication between the host device 100 and the printer 200 is cut off, the host device 100 cannot receive an error message from the printer 200 . An example of such a situation is shown in FIG. 9 .

도 9의 901 단계 내지 905 단계는 앞서 설명한 도 8의 801 단계 내지 805 단계와 동일하므로 중복되는 설명은 생략한다.Steps 901 to 905 of FIG. 9 are the same as steps 801 to 805 of FIG. 8 described above, and thus overlapping descriptions will be omitted.

도 9를 참조하면, 906 단계에서 호스트 장치(100)는 미리 설정된 일정 시간 이내에 프린터(200)로부터 수신된 데이터가 있는지 여부를 판단한다. 판단 결과, 일정 시간 이내에 프린터(200)로부터 수신된 데이터가 없다면, 907 단계로 진행하여 호스트 장치(100)는 인쇄 시스템에 에러가 발생한 것으로 판단한다. 즉, 호스트 장치(100)는 프린터(200)와의 통신에 실패하면 인쇄 시스템에 에러가 발생한 것으로 판단한다.Referring to FIG. 9 , in step 906 , the host device 100 determines whether there is data received from the printer 200 within a preset time period. As a result of the determination, if there is no data received from the printer 200 within a predetermined time, the process proceeds to step 907 and the host device 100 determines that an error has occurred in the printing system. That is, when communication with the printer 200 fails, the host device 100 determines that an error has occurred in the printing system.

908 단계에서 에러가 해소되면, 909 단계에서 호스트 장치(100)는 에러가 해소되었음을 확인할 수 있다. 이때, 909 단계에서 호스트 장치(100)가 에러의 해소를 확인하는 방법은, 예를 들어 주기적으로 프린터(200)에의 엑세스를 시도하고, 엑세스에 성공하면 에러가 해소된 것으로 판단할 수 있다.If the error is resolved in step 908 , the host device 100 may confirm that the error is resolved in step 909 . In this case, in step 909 , the host device 100 may determine that the error is resolved if the host device 100 periodically attempts to access the printer 200 and the access succeeds.

에러가 해소된 것으로 판단하면, 910 단계에서 호스트 장치(100)는 904 단계에서 업데이트된 작업목록에 포함된 인쇄작업의 인쇄 데이터 및 Job ID를 프린터(200)에 전송하며 인쇄를 요청하고, 911 단계에서 프린터(200)는 수신한 인쇄작업을 수행한다.If it is determined that the error is resolved, in step 910 the host device 100 transmits the print data and the Job ID of the print job included in the updated job list to the printer 200 in step 904 to request printing, and in step 911 In , the printer 200 performs the received print job.

이번에는 호스트 장치(100)와 프린터(200)간의 통신이 끊어졌다가 재개되는 경우에 인쇄작업을 재개하는 과정에 대해서 도 10 및 도 11을 참조하여 설명한다.This time, a process of resuming a print job when communication between the host device 100 and the printer 200 is cut off and then resumed will be described with reference to FIGS. 10 and 11 .

도 10의 1001 단계 내지 1004 단계는 앞서 설명한 도 8의 801 단계 내지 804 단계와 동일하므로 중복되는 설명은 생략한다.Steps 1001 to 1004 of FIG. 10 are the same as steps 801 to 804 of FIG. 8 described above, and thus overlapping descriptions will be omitted.

도 10을 참조하면, 1005 단계에서 호스트 장치(100)와 프린터(200)간의 통신이 끊긴 이후에, 1006 단계에서 프린터(200)는 인쇄작업을 수행한다. 즉, 프린터(200)는 호스트 장치(100)와의 통신이 끊긴 상황에서도 버퍼에 저장된 인쇄작업들을 정상적으로 수행할 수 있다.Referring to FIG. 10 , after communication between the host device 100 and the printer 200 is cut off in step 1005 , the printer 200 performs a print job in step 1006 . That is, the printer 200 can normally perform the print jobs stored in the buffer even when communication with the host device 100 is cut off.

이와 같이, 호스트 장치(100)와의 통신이 끊긴 상황에서 인쇄작업의 수행이 완료되면, 프린터(200)는 완료된 인쇄작업의 Job ID를 호스트 장치(100)에 전송할 수 없으므로 완료된 인쇄작업 내역이 호스트 장치(100)의 작업목록에 반영되지 않는다. 따라서, 호스트 장치(100)에 저장된 작업목록과 프린터(200)의 버퍼에 저장된 작업목록은 서로 일치하지 않게 된다.As such, when the print job is completed in a situation in which communication with the host device 100 is cut off, the printer 200 cannot transmit the Job ID of the completed print job to the host device 100, so that the completed print job details are not transmitted to the host device 100. (100) is not reflected in the work list. Accordingly, the job list stored in the host device 100 and the job list stored in the buffer of the printer 200 do not match each other.

1007 단계에서 호스트 장치(100)와 프린터(200)간의 통신이 재개되면, 1008 단계에서 호스트 장치(100)는 프린터(200)의 버퍼에 저장된 인쇄작업의 확인 요청을 프린터(200)에 전송한다. 1009 단계에서 프린터(200)는 버퍼에 저장된 인쇄작업의 Job ID를 호스트 장치(100)에 회신한다. 1010 단계에서 호스트 장치(100)는 수신한 Job ID에 기초하여 작업목록을 다시 업데이트한다. 예를 들어, 호스트 장치(100)는 작업목록에 저장된 인쇄작업 중에서, 1009 단계에서 수신한 Job ID에 대응되는 인쇄작업을 제외한 나머지 인쇄작업들을 삭제할 수 있다.When communication between the host device 100 and the printer 200 is resumed in step 1007 , in step 1008 , the host device 100 transmits a print job confirmation request stored in the buffer of the printer 200 to the printer 200 . In step 1009 , the printer 200 returns the Job ID of the print job stored in the buffer to the host device 100 . In step 1010 , the host device 100 updates the job list again based on the received Job ID. For example, the host device 100 may delete the remaining print jobs from among the print jobs stored in the job list except for the print job corresponding to the Job ID received in step 1009 .

도 10에 도시된 실시예에서는 통신이 끊긴 동안에 인쇄작업이 수행된 내역을 호스트 장치(100)의 작업목록에 반영함으로써 인쇄작업이 중복 수행되는 것을 방지하는 효과를 기대할 수 있다. 그런데, 일부 인쇄작업이 중복으로 수행되는 경우가 발생하더라도, 인쇄작업의 누락을 철저하게 방지하기 위해서 통신이 끊어지기 이전의 작업목록에 포함된 인쇄작업들을 모두 수행하도록 할 수도 있다. 이에 대한 실시예를 도 11에 도시하였다.In the embodiment shown in FIG. 10 , by reflecting the details of the print job performed while the communication is interrupted in the job list of the host device 100 , it can be expected to prevent the duplicate printing job from being performed. However, even if some print jobs are duplicated, in order to thoroughly prevent omission of the print jobs, all the print jobs included in the job list before communication is cut may be performed. An example for this is shown in FIG. 11 .

도 11의 1101 단계 내지 1107 단계는 앞서 설명한 도 10의 1001 단계 내지 1007 단계와 동일하므로 중복되는 설명은 생략한다.Steps 1101 to 1107 of FIG. 11 are the same as steps 1001 to 1007 of FIG. 10 described above, and thus overlapping descriptions will be omitted.

도 11을 참조하면, 호스트 장치(100)와 프린터(200)간의 통신이 재개되면, 1108 단계에서 호스트 장치(100)는 1104 단계에서 업데이트된 작업목록에 포함된 인쇄 데이터 및 Job ID를 프린터(200)에 전송하며 인쇄를 요청하고, 프린터(200)는 1109 단계에서 인쇄작업을 수행한다.Referring to FIG. 11 , when communication between the host device 100 and the printer 200 is resumed, in step 1108 the host device 100 sends the print data and the Job ID included in the updated job list in step 1104 to the printer 200 ) to request printing, and the printer 200 performs a print job in step 1109 .

통신이 끊긴 기간 동안에 1106 단계에서 프린터(200)가 인쇄작업을 수행한 결과는 호스트 장치(100)의 작업목록에 반영되지 않았으므로, 1109 단계에서 프린터(200)가 수행하는 인쇄작업 중에는 1106 단계에서 이미 수행된 인쇄작업과 중복되는 것이 있을 수 있다.Since the result of the print job performed by the printer 200 in step 1106 during the period in which communication is interrupted is not reflected in the job list of the host device 100, in step 1106 during the print job performed by the printer 200 in step 1109 There may be duplicates of previously performed print jobs.

그럼에도 불구하고, 호스트 장치(100)는 통신이 끊긴 동안의 상황을 알지 못하므로, 1104 단계에서 업데이트된 작업목록에 포함된 인쇄작업을 모두 수행하도록 프린터(200)에 요청함으로써 인쇄 데이터의 유실을 확실하게 방지할 수 있다.Nevertheless, since the host device 100 does not know the situation while the communication is cut off, the printer 200 is requested to perform all the print jobs included in the updated job list in step 1104 to ensure the loss of print data. can be prevented

이하에서는, 도 12 및 도 13을 참조하여 인쇄 시스템에서 인쇄작업을 수행하는 방법에 대해서 설명한다. 도 12 및 도 13에 도시된 실시예들에 따른 인쇄작업의 수행 방법은 도 2에 도시된 호스트 장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 2에 도시된 호스트 장치(100)에 관하여 이상에서 기술한 내용은 도 12 내지 도 13에 도시된 실시예들에 따른 인쇄작업의 수행 방법에도 적용될 수 있다.Hereinafter, a method of performing a print job in the printing system will be described with reference to FIGS. 12 and 13 . The method of performing a print job according to the embodiments illustrated in FIGS. 12 and 13 includes operations that are time-series processed by the host device 100 illustrated in FIG. 2 . Accordingly, even if omitted below, the descriptions above with respect to the host device 100 illustrated in FIG. 2 may also be applied to the method of performing a print job according to the embodiments illustrated in FIGS. 12 to 13 .

도 12를 참조하면, 호스트 장치는 1201 단계에서 작업목록에 포함된 인쇄작업들 각각에 Job ID를 부여하고, 1202 단계에서 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 프린터에 전송하면서 인쇄를 요청한다.12 , the host device assigns a Job ID to each of the print jobs included in the job list in step 1201, and prints the print data and the Job ID of the print jobs included in the job list in step 1202 while transmitting the job ID to the printer. to request

1203 단계에서 호스트 장치는 프린터로부터 완료된 인쇄작업의 Job ID를 수신하면, 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제함으로써 작업목록을 업데이트한다.In step 1203, when the host device receives the Job ID of the completed print job from the printer, the host device updates the job list by deleting the print job corresponding to the received Job ID from the job list.

1204 단계에서 호스트 장치는 인쇄 시스템에서 에러가 발생한 후에 해소되었는지 여부를 판단한다. 인쇄 시스템에서 에러가 발생한 후에 해소되었다고 판단되면, 1205 단계에서 호스트 장치는 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 프린터에 전송하며 인쇄를 요청한다.In step 1204, the host device determines whether an error has occurred in the printing system and has been resolved. If it is determined that the error is resolved after the error has occurred in the printing system, in step 1205, the host device transmits the print data and the Job ID of the print jobs included in the job list to the printer and requests printing.

도 13을 참조하면, 호스트 장치는 1301 단계에서 작업목록에 포함된 인쇄작업들 각각에 Job ID를 부여하고, 1302 단계에서 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 프린터에 전송하면서 인쇄를 요청한다.Referring to FIG. 13 , the host device assigns a Job ID to each of the print jobs included in the job list in step 1301, and prints the print data and the Job ID of the print jobs included in the job list in step 1302 while transmitting the job ID to the printer. to request

1303 단계에서 호스트 장치는 프린터로부터 완료된 인쇄작업의 Job ID를 수신하면, 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제함으로써 작업목록을 업데이트한다.In step 1303, when the host device receives the Job ID of the completed print job from the printer, the host device updates the job list by deleting the print job corresponding to the received Job ID from the job list.

1304 단계에서 호스트 장치는 인쇄 시스템에서 에러가 발생한 후에 해소되었는지 여부를 판단한다. 인쇄 시스템에서 에러가 발생한 후에 해소되었다고 판단되면, 1305 단계에서 호스트 장치는 프린터의 버퍼에 저장된 인쇄작업의 Job ID를 프린터에 문의한다.In step 1304, the host device determines whether an error has occurred in the printing system and has been resolved. If it is determined that the error is resolved after the printing system has occurred, in step 1305, the host device inquires the printer for the Job ID of the print job stored in the buffer of the printer.

호스트 장치는 프린터로부터 Job ID를 수신하면, 1306 단계에서는 수신한 Job ID에 기초하여 작업목록을 업데이트한다. 예를 들어, 호스트 장치는 작업목록에 포함된 인쇄작업들 중에서 프린터로부터 수신한 Job ID에 대응되는 인쇄작업만을 남기고 나머지는 모두 삭제한다.When the host device receives the Job ID from the printer, in step 1306, the host device updates the job list based on the received Job ID. For example, the host device leaves only the print job corresponding to the Job ID received from the printer from among the print jobs included in the job list and deletes the rest.

지금까지는 호스트 장치(100)가 인쇄작업별로 Job ID를 부여하고 작업목록을 관리하는 역할을 수행하는 실시예에 대해서 설명했지만, 이와 다르게 호스트 장치와 프린터의 사이에서 통신을 중계하는 별도의 중계 장치(relay apparatus)가 이러한 역할을 수행할 수도 있다. 이하에서는 도 14 내지 도 20을 참조하여 중계 장치를 포함하는 인쇄 시스템에 대한 실시예를 설명한다.Up to now, an embodiment in which the host device 100 assigns a Job ID to each print job and performs a role of managing the job list has been described, but a separate relay device ( relay apparatus) may perform this role. Hereinafter, an embodiment of a printing system including a relay device will be described with reference to FIGS. 14 to 20 .

도 14는 일 실시예에 따른 인쇄 시스템을 도시한 도면이다. 도 14를 참조하면, 일 실시예에 따른 인쇄 시스템(20)은 호스트 장치(100), 프린터(200) 및 중계 장치(300)를 포함할 수 있다.14 is a diagram illustrating a printing system according to an embodiment. Referring to FIG. 14 , the printing system 20 according to an embodiment may include a host device 100 , a printer 200 , and a relay device 300 .

중계 장치(300)는 호스트 장치(100)와 프린터(200)에 각각 유무선 통신을 통해 연결되어 두 장치들간의 통신을 중계하며, 인쇄 프로세스 중 일부를 수행할 수도 있다. 예를 들어, 중계 장치(300)는 두 장치들을 연결하는 허브(hub) 장치일 수도 있고, 또는 인터넷을 통해 연결 가능한 서버일 수도 있다.The relay device 300 is connected to the host device 100 and the printer 200 through wired/wireless communication, respectively, to relay communication between the two devices, and may also perform a part of a printing process. For example, the relay device 300 may be a hub device that connects two devices, or may be a server connectable through the Internet.

중계 장치(300)가 서버인 경우, 호스트 장치(100)에 인쇄 수행을 위한 애플리케이션이 설치되고, 호스트 장치(100)에서 애플리케이션이 실행되면 호스트 장치(100)가 중계 장치(300)에 액세스할 수 있다. 또한, 중계 장치(300)가 서버이고 호스트 장치(100)에 인쇄 수행을 위한 애플리케이션이 설치되는 경우, 인쇄작업을 관리하는 역할은 중계 장치(300)가 수행하고, 호스트 장치(100)의 화면에는 인쇄 프로세스의 진행 상황 및 결과만이 표시될 수도 있다.When the relay device 300 is a server, an application for performing printing is installed on the host device 100 , and when the application is executed on the host device 100 , the host device 100 can access the relay device 300 . have. In addition, when the relay device 300 is a server and an application for performing printing is installed in the host device 100 , the relay device 300 performs a role of managing print jobs, and the screen of the host device 100 is displayed on the screen. Only the progress and result of the printing process may be displayed.

도 14에 도시된 인쇄 시스템(20)에서는 호스트 장치(100)가 중계 장치(300)에 인쇄 데이터를 전송하면, 중계 장치(300)가 인쇄 데이터를 복수의 인쇄작업들로 나누고, 인쇄작업별로 Job ID를 부여하여 인쇄작업을 관리한다.In the printing system 20 shown in FIG. 14 , when the host device 100 transmits print data to the relay device 300 , the relay device 300 divides the print data into a plurality of print jobs, and the Manage print jobs by assigning IDs.

도 15는 일 실시예에 따른 중계 장치(300)의 구성을 도시한 도면이다. 도 15를 참조하면, 중계 장치(300)는 통신부(310), 제어부(320) 및 저장부(330)를 포함할 수 있다.15 is a diagram illustrating a configuration of a relay device 300 according to an exemplary embodiment. Referring to FIG. 15 , the relay device 300 may include a communication unit 310 , a control unit 320 , and a storage unit 330 .

통신부(310)는 호스트 장치(100) 및 프린터(200)와의 유무선 통신을 지원하는 구성이다. 이를 위해, 통신부(310)는 다양한 방식의 유무선 통신 방식 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신부(310)는 통신 칩셋 및 통신 포트 등을 포함할 수 있다.The communication unit 310 is a component that supports wired/wireless communication with the host device 100 and the printer 200 . To this end, the communication unit 310 may include a communication module that supports at least one of various types of wired and wireless communication methods. For example, the communication unit 310 may include a communication chipset and a communication port.

제어부(320)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서, 중계 장치(300)의 전반적인 동작을 제어한다. 특히, 호스트 장치(100)로부터 수신한 인쇄 데이터를 복수의 인쇄작업들로 나누고, 인쇄작업별로 Job ID를 부여하고, Job ID에 기초하여 작업목록을 관리한다. 제어부(320)가 Job ID에 기초하여 작업목록을 관리하는 구체적인 방법에 대해서는 아래에서 다른 도면들을 참조하여 자세히 설명한다.The controller 320 is a component including at least one processor such as a CPU, and controls the overall operation of the relay device 300 . In particular, the print data received from the host device 100 is divided into a plurality of print jobs, a job ID is assigned to each print job, and a job list is managed based on the job ID. A detailed method for the control unit 320 to manage the job list based on the Job ID will be described in detail with reference to other drawings below.

저장부(330)에는 다양한 종류의 프로그램 및 데이터가 저장될 수 있다. 특히, 저장부(330)에는 인쇄작업에 대응되는 인쇄 데이터가 저장될 수 있으며, 예정된 인쇄작업의 Job ID를 포함하는 작업목록도 저장될 수 있다.Various types of programs and data may be stored in the storage unit 330 . In particular, print data corresponding to a print job may be stored in the storage 330 , and a job list including a Job ID of a scheduled print job may also be stored.

이하에서는 도 16 내지 도 18을 참조하여 인쇄 시스템에서 에러가 발생했다가 해소되는 경우, 중계 장치가 인쇄작업을 관리하는 방법에 대해서 자세히 설명한다.Hereinafter, a method in which the relay device manages a print job when an error occurs and is resolved in the printing system will be described in detail below with reference to FIGS. 16 to 18 .

도 16에는 호스트 장치(100)가 중계 장치(300)에 인쇄 데이터를 전송하면, 중계 장치(300)가 수신한 인쇄 데이터를 작업목록에 저장한 후 프린터(200)에 전송하는 상황을 도시하였다.FIG. 16 illustrates a situation in which, when the host device 100 transmits print data to the relay device 300 , the relay device 300 stores the received print data in a job list and then transmits the received print data to the printer 200 .

도 16을 참조하면, 호스트 장치(100)가 중계 장치(300)에 인쇄 데이터를 전송하면, 중계 장치(300)는 수신한 인쇄 데이터를 복수의 인쇄작업들로 나누고 인쇄작업별로 Job ID를 부여하여 작업목록에 저장한다. 이때, 중계 장치(300)는 호스트 장치(100)로부터 수신한 인쇄 데이터를 페이지, 문서 또는 블록 단위의 인쇄작업으로 나눌 수 있다. 이어서, 중계 장치(300)는 작업목록에 저장된 인쇄작업들에 대응되는 인쇄 데이터 및 Job ID를 프린터(200)에 전송하며 인쇄를 요청한다.Referring to FIG. 16 , when the host device 100 transmits print data to the relay device 300 , the relay device 300 divides the received print data into a plurality of print jobs and assigns a Job ID to each print job. Save it to the task list. In this case, the relay device 300 may divide the print data received from the host device 100 into print jobs in units of pages, documents, or blocks. Subsequently, the relay device 300 transmits print data and a Job ID corresponding to the print jobs stored in the job list to the printer 200 and requests printing.

도 17에는 프린터(200)가 인쇄작업의 수행을 완료한 경우 중계 장치(300)의 작업목록을 업데이트하는 상황을 도시하였다. 도 17을 참조하면, 프린터(200)는 인쇄작업의 수행을 완료하면, 완료한 인쇄작업에 대응되는 Job ID를 중계 장치(300)에 전송한다. 도 17에서 프린터(200)는 Job ID가 A1인 인쇄작업의 수행을 완료함에 따라 중계 장치(300)에 “A1”을 전송하면서 인쇄작업이 완료되었음을 알린다.17 illustrates a situation in which the job list of the relay device 300 is updated when the printer 200 completes the print job. Referring to FIG. 17 , upon completion of the print job, the printer 200 transmits a Job ID corresponding to the completed print job to the relay device 300 . In FIG. 17 , the printer 200 notifies the completion of the print job while transmitting “A1” to the relay device 300 as the print job having the Job ID A1 is completed.

프린터(200)가 인쇄작업이 완료되었다는 판단하는 조건 및 프린터(200)가 완료된 인쇄작업의 Job ID를 동기식/비동기식으로 전송하는 방식은 앞서 도 4를 참조하여 설명한 바와 같다.The conditions for the printer 200 to determine that the print job is completed and the method for the printer 200 to transmit the Job ID of the completed print job synchronously/asynchronously are the same as those described above with reference to FIG. 4 .

중계 장치(300)는 프린터(200)로부터 수행이 완료된 인쇄작업의 Job ID를 수신하면, 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제하여 작업목록을 업데이트한다. 도 17에서 중계 장치(300)는 프린터(200)로부터 “A1”을 수신했으므로, 작업목록에서 “A1”에 대응되는 인쇄작업을 삭제한다.When the relay device 300 receives the Job ID of the completed print job from the printer 200 , the relay device 300 deletes the print job corresponding to the received Job ID from the job list and updates the job list. In FIG. 17 , the relay device 300 receives “A1” from the printer 200, and thus deletes the print job corresponding to “A1” from the job list.

이와 같이, 중계 장치(300)는 인쇄작업의 Job ID에 기초하여 작업목록을 관리함으로써, 프린터(200)에서 인쇄작업이 수행되는 상태를 신속하게 작업목록에 반영할 수 있다.In this way, the relay device 300 manages the job list based on the Job ID of the print job, so that the state in which the print job is performed in the printer 200 can be quickly reflected in the job list.

도 18에는 인쇄 시스템에서 에러가 발생했다가 해소된 경우에 인쇄작업의 수행을 재개하는 상황을 도시하였다. 중계 장치(300)는 인쇄 시스템에서의 에러의 발생 및 해소를 감지할 수 있으며, 감지하는 구체적인 방법은 앞서 도 5 및 도 6을 참조하여 설명한 바와 같다. 또한, 인쇄 시스템에서 발생하는 에러의 종류 및 에러 발생시 프린터(200)의 버퍼에 저장된 데이터의 처리도 앞서 도 5를 참조하여 설명한 바와 같다.FIG. 18 illustrates a situation in which printing is resumed when an error occurs and is resolved in the printing system. The relay device 300 may detect the occurrence and resolution of an error in the printing system, and a specific method for detecting the error has been described above with reference to FIGS. 5 and 6 . In addition, types of errors occurring in the printing system and processing of data stored in the buffer of the printer 200 when an error occurs are the same as those described above with reference to FIG. 5 .

도 18을 참조하면, 인쇄 시스템에서 에러가 발생했다가 해소되면, 중계 장치(300)는 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 프린터(200)에 전송하며 인쇄를 요청한다. 이때, 중계 장치(300)의 작업목록에는 에러 발생하기 이전까지의 인쇄작업 수행 상황이 반영되어 있으므로, 인쇄 데이터의 유실은 방지하면서도 인쇄작업의 불필요한 중복 수행을 최소화할 수 있다.Referring to FIG. 18 , when an error occurs and is resolved in the printing system, the relay device 300 transmits print data and Job ID of print jobs included in the job list to the printer 200 and requests printing. In this case, since the job list of the relay device 300 reflects the printing job execution status before the error occurs, it is possible to prevent the loss of printing data and minimize unnecessary duplication of the printing job.

프린터(200)는 중계 장치(300)가 전송한 인쇄작업들의 수행을 모두 완료하면, 완료된 인쇄작업들의 Job ID인 “A2” 및 “A3”을 중계 장치(300)에 전송하고, 중계 장치(300)는 수신한 Job ID에 대응되는 인쇄작업들을 작업목록에서 삭제한다. 중계 장치(300)는 작업목록에 포함된 모든 인쇄작업들이 완료되면, 호스트 장치(100)에 인쇄 완료 알림을 전송할 수 있다.When all of the print jobs transmitted by the relay device 300 are completed, the printer 200 transmits Job IDs “A2” and “A3” of the completed print jobs to the relay device 300 , and the relay device 300 ) deletes the print jobs corresponding to the received Job ID from the job list. When all print jobs included in the job list are completed, the relay device 300 may transmit a print completion notification to the host device 100 .

도 19는 일 실시예에 따른 중계 장치를 포함하는 인쇄 시스템에서 인쇄작업을 수행하는 과정을 도시한 도면이다. 도 19를 참조하면, 1901 단계에서 호스트 장치(100)가 중계 장치(300)에 인쇄 데이터를 전송하면, 1902 단계에서 중계 장치(300)는 수신한 인쇄 데이터를 복수의 인쇄작업들로 나누고 인쇄작업별로 Job ID를 부여하여 작업목록에 저장한다.19 is a diagram illustrating a process of performing a print job in a printing system including a relay device according to an exemplary embodiment. Referring to FIG. 19 , when the host device 100 transmits print data to the relay device 300 in step 1901, the relay device 300 divides the received print data into a plurality of print jobs and performs a print job. Each job ID is assigned and saved in the job list.

1903 단계에서 중계 장치(300)가 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 프린터(200)에 전송하며 인쇄를 요청하면, 1904 단계에서 프린터(200)는 수신한 인쇄작업들을 수행한다.If the relay device 300 transmits the print data and the Job ID of the print jobs included in the job list to the printer 200 in step 1903 and requests printing, in step 1904 the printer 200 performs the received print jobs. .

프린터(200)는 수신한 인쇄작업들 중 하나 이상을 완료하면, 1905 단계에서는 완료한 인쇄작업의 Job ID를 중계 장치(300)에 전송한다. 이때, 프린터(200)는 동기식 또는 비동기식으로 Job ID를 중계 장치(300)에 전송할 수 있다. 1906 단계에서 중계 장치(300)는 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제한다.When the printer 200 completes one or more of the received print jobs, in step 1905, the printer 200 transmits the Job ID of the completed print job to the relay device 300 . In this case, the printer 200 may transmit the Job ID to the relay device 300 synchronously or asynchronously. In step 1906, the relay device 300 deletes the print job corresponding to the received Job ID from the job list.

중계 장치(300)는 1907 단계에서 인쇄 시스템에 에러가 발생했음을 확인하고, 1908 단계에서 에러가 해소되었음을 확인하면, 1909 단계에서 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 프린터(200)에 전송하며 인쇄를 요청한다. 이때, 중계 장치(300)의 작업목록은 1906 단계에서 업데이트된 상태이므로, 인쇄 시스템에 에러가 발생하기 이전까지의 인쇄작업 수행 상황이 반영되어 있다.If the relay device 300 confirms that an error has occurred in the printing system in step 1907 and that the error is resolved in step 1908, print data and Job ID of the print jobs included in the job list in step 1909 to the printer 200 Send to and request to be printed. At this time, since the job list of the relay device 300 is updated in step 1906, the printing job execution status before an error occurs in the printing system is reflected.

프린터(200)는 1910 단계에서 인쇄작업을 수행하면, 1911 단계에서는 완료한 인쇄작업의 Job ID를 중계 장치(300)에 전송한다. 1912 단계에서 중계 장치(300)는 수신한 Job ID를 작업목록에서 삭제한다. 중계 장치(300)는 작업목록에 포함된 모든 인쇄작업들이 완료되면, 1913 단계에서 인쇄 완료 알림을 호스트 장치(100)에 전송한다.When the printer 200 performs a print job in step 1910 , in step 1911 , the printer 200 transmits the Job ID of the completed print job to the relay device 300 . In step 1912, the relay device 300 deletes the received Job ID from the job list. When all print jobs included in the job list are completed, the relay device 300 transmits a print completion notification to the host device 100 in step 1913 .

도 20은 일 실시예에 따른 중계 장치를 포함하는 인쇄 시스템에서 인쇄작업을 수행하는 방법을 설명하기 위한 순서도이다. 도 20의 순서도에 포함된 단계들은 중계 장치에 의해 수행된다.20 is a flowchart illustrating a method of performing a print job in a printing system including a relay device according to an exemplary embodiment. The steps included in the flowchart of FIG. 20 are performed by the relay device.

도 20을 참조하면, 2001 단계에서 중계 장치는 호스트 장치로부터 인쇄 데이터를 수신하면, 수신한 인쇄 데이터를 인쇄작업 단위로 나누고, 인쇄작업별로 Job ID를 부여하여 작업목록에 저장한다. 2002 단계에서 중계 장치는 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 프린터에 전송하며 인쇄를 요청한다. 2003 단계에서 중계 장치는 프린터로부터 완료된 인쇄작업의 Job ID를 수신하면, 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제한다.Referring to FIG. 20 , when the relay device receives print data from the host device in step 2001, the relay device divides the received print data into print job units, assigns a Job ID to each print job, and stores it in the job list. In step 2002, the relay device transmits print data and Job ID of print jobs included in the job list to the printer and requests printing. In step 2003, when the relay device receives the Job ID of the completed print job from the printer, the relay device deletes the print job corresponding to the received Job ID from the job list.

중계 장치는 2004 단계에서 인쇄 시스템에 에러가 발생했다가 해소되었는지 여부를 판단하고, 에러 발생 후 해소되었다면 2005 단계로 진행하여 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 프린터에 전송하며 인쇄를 요청한다.In step 2004, the relay device determines whether an error has occurred and is resolved in the printing system, and if the error is resolved, it proceeds to step 2005 and transmits the print data and Job ID of the print jobs included in the job list to the printer and prints. to request

2006 단계에서 중계 장치는 프린터로부터 완료된 인쇄작업의 Job ID를 수신하면, 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제한다.In step 2006, when the relay device receives the Job ID of the completed print job from the printer, the relay device deletes the print job corresponding to the received Job ID from the job list.

중계 장치는 2007 단계에서 작업목록에 포함된 모든 인쇄작업이 수행되었는지 여부를 판단하고, 모든 인쇄작업의 수행이 완료되었다면 2008 단계에서 호스트 장치에 인쇄 완료 알림을 전송한다.The relay device determines whether all print jobs included in the job list have been performed in step 2007, and if all print jobs are completed, in step 2008, the relay device transmits a print completion notification to the host device.

한편, 지금까지 설명한 실시예들에서 호스트 장치 또는 중계 장치가 수행한 인쇄작업의 관리를, 프린터에 내장되는 인터페이스 모듈이 수행할 수도 있다. 이하에서는 프린터에 내장되는 인터페이스 모듈이 인쇄작업 관리를 수행하는 실시예에 대해서 설명한다.Meanwhile, in the embodiments described so far, the interface module embedded in the printer may perform the management of the print job performed by the host device or the relay device. Hereinafter, an embodiment in which an interface module embedded in a printer performs print job management will be described.

도 21은 일 실시예에 따른 인쇄 시스템을 도시한 도면이다. 도 21을 참조하면, 인쇄 시스템(30)은 호스트 장치(100) 및 프린터(200)를 포함한다. 또한, 프린터(200)는 인터페이스 모듈(210), 통신부(220), 제어부(230), 저장부(240) 및 인쇄부(250)를 포함할 수 있다.21 is a diagram illustrating a printing system according to an embodiment. Referring to FIG. 21 , the printing system 30 includes a host device 100 and a printer 200 . Also, the printer 200 may include an interface module 210 , a communication unit 220 , a control unit 230 , a storage unit 240 , and a printing unit 250 .

인터페이스 모듈(210)은 호스트 장치(100)로부터 수신한 인쇄 데이터를 복수의 인쇄작업들로 나누고, 인쇄작업별로 Job ID를 부여하여 인쇄작업을 관리한다. 인터페이스 모듈(210)은 인쇄작업들을 작업목록에 저장하여 관리하며, 제어부(230)에 인쇄작업의 인쇄 데이터 및 Job ID를 전송하며 인쇄를 요청한다. 인터페이스 모듈(210)은 작업목록을 저장하고 관리하기 위해 저장부(240)로부터 독립된 별도의 저장 공간을 구비할 수도 있고, 또는 저장부(240)의 일정 공간을 할당받아 사용할 수도 있다.The interface module 210 divides the print data received from the host device 100 into a plurality of print jobs, and manages the print jobs by assigning a Job ID to each print job. The interface module 210 stores and manages print jobs in a job list, transmits print data and a Job ID of the print jobs to the control unit 230, and requests printing. The interface module 210 may have a separate storage space independent from the storage unit 240 in order to store and manage the work list, or may be allocated and used with a predetermined space of the storage unit 240 .

통신부(220)는 호스트 장치(100)와의 통신을 지원하는 구성이다. 이를 위해, 통신부(220)는 다양한 방식의 유무선 통신 방식 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신부(220)는 통신 칩셋 및 통신 포트 등을 포함할 수 있다.The communication unit 220 is a component that supports communication with the host device 100 . To this end, the communication unit 220 may include a communication module supporting at least one of various types of wired and wireless communication methods. For example, the communication unit 220 may include a communication chipset and a communication port.

제어부(230)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서, 프린터(200)의 전반적인 동작을 제어한다. 특히, 제어부(230)는 인터페이스 모듈(210)로부터 인쇄 데이터 및 Job ID를 수신하며 인쇄를 요청 받으면, 수신한 인쇄 데이터 및 Job ID를 저장부(240)의 버퍼에 작업목록으로 저장하여 관리한다. 제어부(230)는 버퍼의 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 인쇄부(250)에 전송하며 인쇄를 요청하고, 인쇄부(250)로부터 완료된 인쇄작업의 Job ID를 수신하면, 수신한 Job ID에 대응되는 인쇄작업을 버퍼의 작업목록에서 삭제하고, 수신한 Job ID를 인터페이스 모듈(210)에 전송한다.The control unit 230 is a component including at least one processor such as a CPU, and controls the overall operation of the printer 200 . In particular, the control unit 230 receives the print data and the Job ID from the interface module 210 , and when a print request is received, stores the received print data and the Job ID as a job list in the buffer of the storage unit 240 and manages it. The control unit 230 transmits the print data and the Job ID of the print jobs included in the job list of the buffer to the printing unit 250 to request printing, and receives the Job ID of the completed print job from the printing unit 250, The print job corresponding to the received Job ID is deleted from the job list of the buffer, and the received Job ID is transmitted to the interface module 210 .

이하에서는 도 22 내지 도 27을 참조하여, 일 실시예에 따른 인쇄 시스템에서 에러가 발생했다가 해소되는 경우, 프린터에 내장된 인터페이스 모듈에서 인쇄작업을 관리하는 방법을 설명한다.Hereinafter, a method of managing a print job in an interface module built into the printer when an error occurs and then is resolved in the printing system according to an exemplary embodiment will be described with reference to FIGS. 22 to 27 .

도 22를 참조하면, 호스트 장치(100)가 인쇄 데이터를 프린터(200)에 전송하면, 인터페이스 모듈(210)은 수신한 인쇄 데이터를 복수의 인쇄작업들로 나누고, 인쇄작업별로 Job ID를 부여하여 작업목록에 저장한다. 인터페이스 모듈(210)은 작업목록에 저장된 인쇄작업들의 인쇄 데이터 및 Job ID를 제어부(230)에 전송하며 인쇄를 요청한다.22 , when the host device 100 transmits print data to the printer 200, the interface module 210 divides the received print data into a plurality of print jobs and assigns a Job ID to each print job. Save it to the task list. The interface module 210 transmits the print data and the Job ID of the print jobs stored in the job list to the control unit 230 and requests printing.

도 23을 참조하면, 제어부(230)는 인터페이스 모듈(210)로부터 수신한 인쇄 데이터 및 Job ID를 저장부(240)의 버퍼에 저장하여 작업목록을 생성하고 관리한다. 또한, 제어부(230)는 버퍼의 작업목록에 포함된 인쇄작업들의 수행을 인쇄부(250)에 요청한다.Referring to FIG. 23 , the control unit 230 stores the print data and the Job ID received from the interface module 210 in the buffer of the storage unit 240 to create and manage a job list. Also, the control unit 230 requests the printing unit 250 to perform print jobs included in the job list of the buffer.

도 24를 참조하면, 인쇄부(250)가 Job ID가 A1인 인쇄작업을 수행하면, 제어부(230)는 버퍼에 저장된 작업목록에서 A1에 대응되는 인쇄작업을 삭제하고, 인터페이스 모듈(210)에 Job ID “A1”을 전송한다. 인터페이스 모듈(210)은 수신한 Job ID “A1”에 대응되는 인쇄작업을 작업목록에서 삭제한다.Referring to FIG. 24 , when the printing unit 250 performs a print job having a Job ID of A1 , the control unit 230 deletes the print job corresponding to A1 from the job list stored in the buffer, and sends it to the interface module 210 . Transmit Job ID “A1”. The interface module 210 deletes the print job corresponding to the received Job ID “A1” from the job list.

도 25를 참조하면, 인쇄 시스템에서 에러가 발생하면 제어부(230)는 저장부(240)의 버퍼에 저장된 작업목록을 삭제할 수 있다.Referring to FIG. 25 , when an error occurs in the printing system, the control unit 230 may delete the job list stored in the buffer of the storage unit 240 .

도 26을 참조하면, 인쇄 시스템에서 발생한 에러가 해소되었다면, 인터페이스 모듈(210)은 작업목록에 저장된 인쇄작업들의 인쇄 데이터 및 Job ID를 제어부(230)에 전송하며 인쇄를 요청한다. 제어부(230)는 수신한 인쇄 데이터 및 Job ID를 저장부(240)의 버퍼에 작업목록으로 저장하고, 버퍼의 작업목록에 포함된 인쇄작업들의 수행을 인쇄부(250)에 요청한다.Referring to FIG. 26 , if the error occurring in the printing system is resolved, the interface module 210 transmits the print data and the Job ID of the print jobs stored in the job list to the control unit 230 and requests printing. The control unit 230 stores the received print data and the Job ID as a job list in the buffer of the storage unit 240 , and requests the printing unit 250 to perform print jobs included in the job list of the buffer.

도 27을 참조하면, 인쇄부(250)가 수신한 모든 인쇄작업들을 수행하면, 제어부(230)는 버퍼에 저장된 작업목록에서 완료된 인쇄작업들을 삭제하고, 완료된 인쇄작업들의 Job ID를 인터페이스 모듈(210)에 전송한다. 인터페이스 모듈(210)은 수신한 Job ID에 대응되는 인쇄작업들을 작업목록에서 삭제하고, 작업목록에 포함된 모든 인쇄작업들이 완료되었으므로 호스트 장치(100)에 인쇄 완료 알림을 전송한다.Referring to FIG. 27 , when the printing unit 250 performs all the print jobs received, the control unit 230 deletes completed print jobs from the job list stored in the buffer, and sets the Job IDs of the completed print jobs to the interface module 210 . ) is sent to The interface module 210 deletes the print jobs corresponding to the received Job ID from the job list, and transmits a print completion notification to the host device 100 because all the print jobs included in the job list are completed.

도 28은 일 실시예에 따른 인쇄 시스템에서 인쇄작업을 수행하는 과정을 설명하기 위한 도면이다. 도 28을 참조하면, 2801 단계에서 호스트 장치(100)가 프린터(200)에 인쇄 데이터를 전송하면, 2802 단계에서 프린터(200)의 인터페이스 모듈(210)은 인쇄 데이터를 복수의 인쇄작업들로 나누고, 인쇄작업별로 Job ID를 부여하여 작업목록에 저장한다.28 is a diagram for explaining a process of performing a print job in a printing system according to an exemplary embodiment. Referring to FIG. 28 , when the host device 100 transmits print data to the printer 200 in step 2801 , the interface module 210 of the printer 200 divides the print data into a plurality of print jobs in step 2802 . , Assign a Job ID to each print job and save it in the job list.

2803 단계에서 인터페이스 모듈(210)이 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 제어부(230)에 전송하면, 2804 단계에서 제어부(230)는 수신한 인쇄작업을 버퍼에 저장하고, 인쇄부에 인쇄작업의 수행을 요청한다.When the interface module 210 transmits the print data and the Job ID of the print jobs included in the job list to the control unit 230 in step 2803, the control unit 230 stores the received print job in a buffer and prints it in step 2804. Requests the department to carry out the print job.

인쇄부에서 인쇄작업의 수행을 완료하면, 2805 단계에서 제어부(230)는 완료된 인쇄작업의 Job ID를 인터페이스 모듈(210)에 전송한다. 2806 단계에서 인터페이스 모듈(210)은 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제한다.When the printing unit completes the print job, in step 2805 , the controller 230 transmits the Job ID of the completed print job to the interface module 210 . In step 2806, the interface module 210 deletes the print job corresponding to the received Job ID from the job list.

인터페이스 모듈(210)은 2807 단계에서 인쇄 시스템에 에러가 발생했음을 확인하고, 2808 단계에서 에러가 해소되었음을 확인하면, 2809 단계에서는 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 제어부(230)에 전송하며 인쇄를 요청한다.The interface module 210 checks that an error has occurred in the printing system in step 2807, and when it is confirmed that the error is resolved in step 2808, in step 2809, the control unit 230 controls the print data and the Job ID of the print jobs included in the job list. Send to and request to be printed.

2810 단계에서 제어부(230)는 인터페이스 모듈(210)로부터 수신한 인쇄작업을 버퍼에 저장하고, 버퍼에 저장된 인쇄작업의 수행을 인쇄부에 요청한다.In step 2810, the control unit 230 stores the print job received from the interface module 210 in the buffer, and requests the printing unit to perform the print job stored in the buffer.

인쇄부에서 인쇄작업의 수행을 완료하면, 2811 단계에서 제어부(230)는 완료된 인쇄작업의 Job ID를 인터페이스 모듈(210)에 전송한다. 2812 단계에서 인터페이스 모듈(210)은 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제한다.When the printing unit completes the print job, the control unit 230 transmits the Job ID of the completed print job to the interface module 210 in step 2811 . In step 2812, the interface module 210 deletes the print job corresponding to the received Job ID from the job list.

인터페이스 모듈(210)은 작업목록에 포함된 모든 인쇄작업의 수행이 완료되면, 2813 단계에서 호스트 장치(100)에 인쇄 완료 알림을 전송한다.When the execution of all print jobs included in the job list is completed, the interface module 210 transmits a print completion notification to the host device 100 in step 2813 .

도 29는 일 실시예에 따른 인쇄 시스템에서 인쇄작업을 수행하는 방법을 설명하기 위한 순서도이다. 도 29의 순서도에 포함된 단계들은 프린터의 각 구성들에서 수행된다.29 is a flowchart illustrating a method of performing a print job in a printing system according to an exemplary embodiment. The steps included in the flowchart of FIG. 29 are performed in each configuration of the printer.

도 29를 참조하면, 2901 단계에서 프린터가 호스트 장치로부터 인쇄 데이터를 수신하면, 인터페이스 모듈은 수신한 인쇄 데이터를 인쇄작업 단위로 나누고, 인쇄작업별로 Job ID를 부여하여 작업목록에 저장한다. 이어서, 2902 단계에서 인터페이스 모듈은 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 제어부에 전송하면서 인쇄를 요청한다.Referring to FIG. 29 , when the printer receives print data from the host device in step 2901, the interface module divides the received print data into print job units, assigns a Job ID to each print job, and stores it in the job list. Next, in step 2902, the interface module requests printing while transmitting print data and Job ID of the print jobs included in the job list to the control unit.

2903 단계에서 제어부는 인터페이스 모듈로부터 수신한 인쇄 데이터 및 Job ID를 버퍼의 작업목록에 저장하고, 작업목록에 포함된 인쇄작업의 수행을 인쇄부에 요청한다. 2904 단계에서 인쇄부가 인쇄를 완료하면, 제어부는 완료된 인쇄작업의 Job ID를 인터페이스 모듈에 전송한다. 2905 단계에서 인터페이스 모듈은 수신한 Job ID에 대응되는 인쇄작업을 작업목록에서 삭제한다.In step 2903, the control unit stores the print data and the Job ID received from the interface module in the job list of the buffer, and requests the printing unit to perform the print job included in the job list. When the printing unit completes printing in step 2904, the control unit transmits the Job ID of the completed printing job to the interface module. In step 2905, the interface module deletes the print job corresponding to the received Job ID from the job list.

2906 단계에서 인터페이스 모듈은 인쇄 시스템에서 에러가 발생했다가 해소되었는지 여부를 판단하고, 에러의 발생 및 해소가 확인되면 2907 단계에서 인터페이스 모듈은 작업목록에 포함된 인쇄작업들의 인쇄 데이터 및 Job ID를 제어부에 전송하며 인쇄를 요청한다. 2908 단계에서 제어부는 인터페이스 모듈로부터 수신한 인쇄 데이터 및 Job ID를 버퍼의 작업목록에 저장하고, 버퍼의 작업목록에 포함된 인쇄작업의 수행을 인쇄부에 요청한다.In step 2906, the interface module determines whether an error has occurred and is resolved in the printing system, and when the occurrence and resolution of the error is confirmed, in step 2907, the interface module controls the print data and Job ID of the print jobs included in the job list. Send to and request to be printed. In step 2908, the control unit stores the print data and the Job ID received from the interface module in the job list of the buffer, and requests the printing unit to perform the print job included in the job list of the buffer.

이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term '~ unit' used in the above embodiments means software or hardware components such as field programmable gate array (FPGA) or ASIC, and '~ unit' performs certain roles. However, '-part' is not limited to software or hardware. '~unit' may be configured to reside on an addressable storage medium or may be configured to refresh one or more processors. Thus, as an example, '~' denotes components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures. , subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.

구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.Functions provided in components and '~ units' may be combined into a smaller number of components and '~ units' or separated from additional components and '~ units'.

뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.In addition, components and '~ units' may be implemented to play one or more CPUs in a device or secure multimedia card.

도 8 내지 도 13, 도 19 내지 도 20 및 도 28 내지 도 29를 통해 설명된 실시예들에 따른 인쇄 시스템의 인쇄작업 수행 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.8 to 13, 19 to 20, and the method of performing a print job of the printing system according to the embodiments described with reference to FIGS. 28 to 29 is a computer-readable method for storing instructions and data executable by a computer. It can also be implemented in the form of a medium. In this case, the instructions and data may be stored in the form of program codes, and when executed by the processor, a predetermined program module may be generated to perform a predetermined operation. In addition, computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer readable medium may be a computer recording medium, which is a volatile and non-volatile and non-volatile embodied in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. It may include both volatile, removable and non-removable media. For example, the computer recording medium may be a magnetic storage medium such as HDD and SSD, an optical recording medium such as CD, DVD, and Blu-ray disc, or a memory included in a server accessible through a network.

또한 도 8 내지 도 13, 도 19 내지 도 20 및 도 28 내지 도 29를 통해 설명된 실시예들에 따른 인쇄 시스템의 인쇄작업 수행 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.In addition, the method of performing a print job of the printing system according to the embodiments described with reference to FIGS. 8 to 13, 19 to 20, and 28 to 29 is a computer program (or computer program) including instructions executable by a computer. product) can also be implemented. The computer program includes programmable machine instructions processed by a processor, and may be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language. . In addition, the computer program may be recorded in a tangible computer-readable recording medium (eg, a memory, a hard disk, a magnetic/optical medium, or a solid-state drive (SSD), etc.).

따라서 도 8 내지 도 13, 도 19 내지 도 20 및 도 28 내지 도 29를 통해 설명된 실시예들에 따른 인쇄 시스템에서의 인쇄작업 수행 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.Accordingly, the method for performing a print job in the printing system according to the embodiments described with reference to FIGS. 8 to 13, 19 to 20, and 28 to 29 is implemented by executing the computer program as described above by the computing device. can be The computing device may include at least a portion of a processor, a memory, a storage device, a high-speed interface connected to the memory and the high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device. Each of these components is connected to each other using various buses, and may be mounted on a common motherboard or mounted in any other suitable manner.

여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.Here, the processor may process commands within the computing device, such as for displaying graphic information for providing a Graphical User Interface (GUI) on an external input or output device, such as a display connected to a high-speed interface. Examples are instructions stored in memory or a storage device. In other embodiments, multiple processors and/or multiple buses may be used with multiple memories and types of memory as appropriate. In addition, the processor may be implemented as a chipset formed by chips including a plurality of independent analog and/or digital processors.

또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.Memory also stores information within the computing device. As an example, the memory may be configured as a volatile memory unit or a set thereof. As another example, the memory may be configured as a non-volatile memory unit or a set thereof. The memory may also be another form of computer readable medium such as, for example, a magnetic or optical disk.

그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.In addition, the storage device may provide a large-capacity storage space to the computing device. The storage device may be a computer-readable medium or a component comprising such a medium, and may include, for example, devices or other components within a storage area network (SAN), a floppy disk device, a hard disk device, an optical disk device, Alternatively, it may be a tape device, a flash memory, or other semiconductor memory device or device array similar thereto.

상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above-described embodiments are for illustration, and those of ordinary skill in the art to which the above-described embodiments belong can easily transform into other specific forms without changing the technical idea or essential features of the above-described embodiments. You will understand. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and likewise components described as distributed may also be implemented in a combined form.

본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.The scope to be protected through this specification is indicated by the claims described below rather than the above detailed description, and should be construed to include all changes or modifications derived from the meaning and scope of the claims and their equivalents. .

10: 인쇄 시스템 100: 호스트 장치
200: 프린터 110: 통신부
120: 제어부 130: 저장부
10: printing system 100: host device
200: printer 110: communication unit
120: control unit 130: storage unit

Claims (22)

호스트 장치 및 인쇄장치를 포함하는 인쇄 시스템에서 인쇄작업을 수행하는 방법에 있어서,
작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID(Identification)를 상기 인쇄장치에 전송하며 인쇄를 요청하는 단계;
상기 인쇄장치로부터 수행 완료된 인쇄작업에 대응되는 ID를 수신하면, 상기 수신한 ID에 대응되는 인쇄작업을 삭제하여 상기 작업목록을 업데이트하는 단계;
상기 인쇄 시스템에서 에러가 발생하면, 상기 에러의 해소 여부를 판단하는 단계; 및
상기 에러가 해소되었다고 판단되면, 상기 업데이트된 작업목록에 기초하여 인쇄작업의 수행을 재개하는 단계를 포함하며,
상기 인쇄작업의 수행을 재개하는 단계는,
상기 에러 발생 시 상기 인쇄장치의 버퍼에 저장된 인쇄작업이 모두 삭제되었다면 상기 업데이트된 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID를 상기 인쇄장치에 전송하며 인쇄를 요청하고, 상기 에러 발생 시 상기 인쇄장치의 버퍼에 저장된 인쇄작업이 유지되었다면 상기 호스트 장치가 상기 인쇄장치의 버퍼에 저장된 인쇄작업에 대응되는 ID를 확인한 후, 상기 확인된 ID에 기초하여 상기 업데이트된 작업목록을 다시 업데이트하는 것을 특징으로 하는, 방법.
A method of performing a print job in a printing system including a host device and a printing device, the method comprising:
transmitting print data and ID (Identification) corresponding to at least one print job included in the job list to the printing device and requesting printing;
updating the job list by deleting the print job corresponding to the received ID when receiving an ID corresponding to the completed print job from the printing apparatus;
when an error occurs in the printing system, determining whether the error is resolved; and
When it is determined that the error is resolved, resuming the print job based on the updated job list;
The step of resuming the print job is:
If all the print jobs stored in the buffer of the printing device are deleted when the error occurs, print data and ID corresponding to at least one print job included in the updated job list are transmitted to the printing device to request printing, If the print job stored in the buffer of the printing device is maintained when an error occurs, the host device checks the ID corresponding to the print job stored in the buffer of the printing device, and then rewrites the updated job list based on the checked ID A method comprising updating.
삭제delete 삭제delete 제1항에 있어서,
상기 판단하는 단계는,
상기 인쇄장치와의 통신에 실패하면 상기 인쇄 시스템에 에러가 발생한 것으로 판단하는 단계;
상기 인쇄장치에 주기적으로 엑세스를 시도하는 단계; 및
상기 인쇄장치에의 엑세스에 성공하면 상기 에러가 해소된 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 방법.
According to claim 1,
The determining step is
determining that an error has occurred in the printing system when communication with the printing apparatus fails;
periodically attempting access to the printing device; and
and determining that the error is resolved when the access to the printing apparatus is successful.
제4항에 있어서,
상기 인쇄 시스템에 에러가 발생한 것으로 판단하는 단계는,
상기 인쇄장치로부터 미리 설정된 시간 이내에 데이터를 수신하지 못하면 상기 인쇄 시스템에 에러가 발생한 것으로 판단하는 것을 특징으로 하는 방법.
5. The method of claim 4,
The step of determining that an error has occurred in the printing system comprises:
If data is not received from the printing apparatus within a preset time, it is determined that an error has occurred in the printing system.
제1항에 있어서,
상기 판단하는 단계는,
상기 인쇄장치로부터 에러 메시지를 수신하면 상기 인쇄 시스템에서 에러가 발생한 것으로 판단하는 단계; 및
상기 인쇄장치에 주기적으로 문의하여 상기 에러의 해소 여부를 확인하는 단계를 포함하는 것을 특징으로 하는 방법.
According to claim 1,
The determining step is
determining that an error has occurred in the printing system when an error message is received from the printing apparatus; and
and checking whether the error is resolved by periodically inquiring with the printing apparatus.
제6항에 있어서,
상기 에러 메시지는,
상기 인쇄장치에서 용지가 부족한 경우, 상기 인쇄장치의 커버가 오픈된 경우, 상기 인쇄장치에서 용지 걸림이 발생한 경우 및 상기 인쇄장치의 전원이 오프된 경우 중 적어도 하나의 에러가 발생했다는 내용을 포함하는 것을 특징으로 하는 방법.
7. The method of claim 6,
The error message is
When the printing apparatus runs out of paper, when the cover of the printing apparatus is opened, when a paper jam occurs in the printing apparatus, and when the power of the printing apparatus is turned off A method characterized in that.
제1항에 있어서,
상기 인쇄작업은 상기 작업목록에 포함된 전체 인쇄 데이터를 페이지, 문서 또는 블록(block) 중 적어도 하나의 단위로 구분한 것임을 특징으로 하는 방법.
According to claim 1,
The print job is characterized in that the entire print data included in the job list is divided into at least one unit of a page, a document, or a block.
제1항에 있어서,
상기 인쇄 시스템은 중계 장치를 더 포함하며,
상기 인쇄를 요청하는 단계는,
상기 중계 장치가 상기 호스트 장치로부터 전체 인쇄 데이터를 수신하면, 상기 전체 인쇄 데이터를 복수의 인쇄 작업들로 나누고, 인쇄작업별로 ID를 부여하여 상기 작업목록에 저장하는 단계; 및
상기 중계 장치가 상기 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID를 상기 인쇄 장치에 전송하며 인쇄를 요청하는 단계를 포함하는 것을 특징으로 하는 방법.
According to claim 1,
The printing system further comprises a relay device,
The step of requesting the print is,
when the relay device receives the entire print data from the host device, dividing the entire print data into a plurality of print jobs, assigning an ID to each print job, and storing the print data in the job list; and
and transmitting, by the relay device, print data and ID corresponding to at least one print job included in the job list to the printing device and requesting printing.
제9항에 있어서,
상기 중계 장치는 상기 인쇄장치 내부에 구현된 모듈 형태인 것을 특징으로 하는 방법.
10. The method of claim 9,
The method of claim 1, wherein the relay device is in the form of a module implemented inside the printing device.
제1항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium in which a program for performing the method according to claim 1 is recorded. 호스트 장치에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.A computer program executed by a host device and stored in a medium for performing the method according to claim 1 . 인쇄 시스템에 포함되는 호스트 장치에 있어서,
인쇄장치와의 통신을 수행하는 통신부;
작업목록이 저장되는 저장부; 및
상기 작업목록에 포함된 인쇄작업에 대응되는 ID(Identification)에 기초하여 상기 작업목록을 관리하는 제어부를 포함하며,
상기 제어부는, 상기 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID를 상기 인쇄장치에 전송하며 인쇄를 요청하고, 상기 인쇄장치로부터 수행 완료된 인쇄 작업에 대응되는 ID를 수신하면 수신한 ID에 대응되는 인쇄작업을 삭제하여 상기 작업목록을 업데이트하며, 상기 인쇄 시스템에서 에러가 발생하면 상기 에러의 해소 여부를 판단하고, 상기 에러가 해소되었다고 판단되면 상기 업데이트된 작업목록에 기초하여 인쇄작업의 수행을 재개하며,
상기 제어부는 상기 인쇄작업의 수행을 재개함에 있어서, 상기 에러 발생 시 상기 인쇄장치의 버퍼에 저장된 인쇄작업이 모두 삭제되었다면 상기 업데이트된 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID를 상기 인쇄장치에 전송하며 인쇄를 요청하고, 상기 에러 발생 시 상기 인쇄장치의 버퍼에 저장된 인쇄작업이 유지되었다면 상기 인쇄장치의 버퍼에 저장된 인쇄작업에 대응되는 ID를 확인하고, 상기 확인된 ID에 기초하여 상기 업데이트된 작업목록을 다시 업데이트하는 것을 특징으로 하는, 장치.
A host device included in a printing system, comprising:
a communication unit for communicating with the printing apparatus;
a storage unit for storing the work list; and
a control unit for managing the work list based on an ID (Identification) corresponding to a print job included in the work list;
The control unit transmits print data and ID corresponding to at least one print job included in the job list to the printing device, requests printing, and receives the ID corresponding to the completed print job from the printing device The job list is updated by deleting the print job corresponding to one ID, and when an error occurs in the printing system, it is determined whether the error is resolved, and when it is determined that the error is resolved, the job list is printed based on the updated job list. resume work;
When the control unit resumes execution of the print job, if all print jobs stored in the buffer of the printing device are deleted when the error occurs, print data and ID corresponding to at least one print job included in the updated job list to the printing device to request printing, and if the print job stored in the buffer of the printing device is maintained when the error occurs, an ID corresponding to the print job stored in the buffer of the printing device is checked, and Re-updating the updated task list based on the device, characterized in that.
삭제delete 삭제delete 제13항에 있어서,
상기 제어부는,
상기 인쇄장치와의 통신에 실패하면 상기 인쇄 시스템에 에러가 발생한 것으로 판단하고, 상기 인쇄장치에 주기적으로 엑세스를 시도하여 상기 인쇄장치에의 엑세스에 성공하면 상기 에러가 해소된 것으로 판단하는 것을 특징으로 하는 장치.
14. The method of claim 13,
The control unit is
When communication with the printing device fails, it is determined that an error has occurred in the printing system, and when access to the printing device is successful by periodically attempting access to the printing device, it is determined that the error is resolved. device to do.
제16항에 있어서,
상기 제어부는,
상기 인쇄장치로부터 미리 설정된 시간 이내에 데이터를 수신하지 못하면 상기 인쇄 시스템에 에러가 발생한 것으로 판단하는 것으로 판단하는 것을 특징으로 하는 장치.
17. The method of claim 16,
The control unit is
and determining that an error has occurred in the printing system if data is not received from the printing device within a preset time.
제13항에 있어서,
상기 제어부는,
상기 인쇄장치로부터 에러 메시지를 수신하면 상기 인쇄 시스템에 에러가 발생한 것으로 판단하고, 상기 인쇄장치에 주기적으로 문의하여 상기 에러의 해소 여부를 확인하는 것을 특징으로 하는 장치.
14. The method of claim 13,
The control unit is
When an error message is received from the printing apparatus, it is determined that an error has occurred in the printing system, and the printing apparatus is periodically inquired to check whether the error is resolved.
제18항에 있어서,
상기 에러 메시지는,
상기 인쇄장치에서 용지가 부족한 경우, 상기 인쇄장치의 커버가 오픈된 경우, 상기 인쇄장치에서 용지 걸림이 발생한 경우 및 상기 인쇄장치의 전원이 오프된 경우 중 적어도 하나의 에러가 발생했다는 내용을 포함하는 것을 특징으로 하는 장치.
19. The method of claim 18,
The error message is
When the printing apparatus runs out of paper, when the cover of the printing apparatus is opened, when a paper jam occurs in the printing apparatus, and when the power of the printing apparatus is turned off Device characterized in that.
제13항에 있어서,
상기 인쇄작업은 상기 작업목록에 포함된 전체 인쇄 데이터를 페이지, 문서 또는 블록(block) 중 적어도 하나의 단위로 구분한 것임을 특징으로 하는 장치.
14. The method of claim 13,
The print job is an apparatus characterized in that the entire print data included in the job list is divided into at least one unit of a page, a document, or a block.
인쇄 시스템에 포함되며, 호스트 장치와 인쇄 장치간의 통신을 중계하는 중계 장치에 있어서,
상기 호스트 장치 및 인쇄 장치와의 통신을 수행하는 통신부;
작업목록이 저장되는 저장부; 및
상기 작업목록에 포함된 인쇄작업에 대응되는 ID에 기초하여 상기 작업목록을 관리하는 제어부를 포함하며,
상기 제어부는, 상기 호스트 장치로부터 수신한 인쇄 데이터를 복수의 인쇄작업들로 나누고, 인쇄작업별로 ID를 부여하여 상기 작업목록에 저장하고, 상기 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID를 상기 인쇄 장치에 전송하며 인쇄를 요청하고, 상기 인쇄 장치로부터 수행 완료된 인쇄작업에 대응되는 ID를 수신하면 수신한 ID에 대응되는 인쇄작업을 삭제하여 상기 작업목록을 업데이트하며, 상기 인쇄 시스템에서 에러가 발생하면 상기 에러의 해소 여부를 판단하고, 상기 에러가 해소되었다고 판단되면 상기 업데이트된 작업목록에 기초하여 인쇄작업의 수행을 재개하는, 장치.
A relay device included in a printing system for relaying communication between a host device and a printing device, the relay device comprising:
a communication unit configured to communicate with the host device and the printing device;
a storage unit for storing the work list; and
A control unit for managing the work list based on the ID corresponding to the print job included in the work list,
The control unit divides the print data received from the host device into a plurality of print jobs, assigns an ID to each print job, stores it in the job list, and prints corresponding to at least one print job included in the job list. When data and ID are transmitted to the printing device to request printing, and an ID corresponding to a completed print job is received from the printing device, the job list is updated by deleting the print job corresponding to the received ID, and the print job list is updated. When an error occurs in the system, it is determined whether the error is resolved, and when it is determined that the error is resolved, the print job is resumed based on the updated job list.
인쇄 시스템에 포함되는 인쇄 장치에 있어서,
상기 인쇄 시스템에 포함되는 호스트 장치로부터 수신한 인쇄 데이터를 복수의 인쇄작업들로 나누고, 인쇄작업별로 ID를 부여하여 작업목록에 저장하고 관리하는 인터페이스 모듈;
상기 호스트 장치와의 통신을 수행하는 통신부;
인쇄를 수행하기 위한 인쇄부; 및
상기 인터페이스 모듈로부터 인쇄 데이터를 수신하면, 상기 인쇄부에 인쇄를 요청하는 제어부를 포함하며,
상기 인터페이스 모듈은, 상기 작업목록에 포함된 적어도 하나 이상의 인쇄작업에 대응되는 인쇄 데이터 및 ID를 상기 제어부에 전송하며 인쇄를 요청하고, 상기 제어부로부터 수행 완료된 인쇄작업에 대응되는 ID를 수신하면 수신한 ID에 대응되는 인쇄작업을 삭제하여 상기 작업목록을 업데이트하며, 상기 인쇄 시스템에서 에러가 발생하면 상기 에러의 해소 여부를 판단하고, 상기 에러가 해소되었다고 판단되면 상기 업데이트된 작업목록에 기초하여 인쇄작업의 수행을 재개하는, 장치.
A printing device included in a printing system, comprising:
an interface module that divides print data received from the host device included in the print system into a plurality of print jobs, assigns IDs to each print job, stores it in a job list, and manages it;
a communication unit configured to communicate with the host device;
a printing unit for performing printing; and
When receiving print data from the interface module, comprising a control unit for requesting printing to the print unit,
The interface module transmits print data and ID corresponding to at least one print job included in the job list to the control unit, requests printing, and receives the ID corresponding to the completed print job from the control unit. The job list is updated by deleting the print job corresponding to the ID, and when an error occurs in the printing system, it is determined whether the error is resolved, and when it is determined that the error is resolved, a print job is performed based on the updated job list To resume the performance of the device.
KR1020170181477A 2017-11-28 2017-12-27 Method for managing printing job in case of error occurring in printing system, and apparatus for performing the same KR102422189B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/199,142 US10853003B2 (en) 2017-11-28 2018-11-24 Method of managing print jobs based on job identification of the print jobs in printing system and apparatus for performing the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170160989 2017-11-28
KR1020170160989 2017-11-28

Publications (2)

Publication Number Publication Date
KR20190062093A KR20190062093A (en) 2019-06-05
KR102422189B1 true KR102422189B1 (en) 2022-07-18

Family

ID=66845130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170181477A KR102422189B1 (en) 2017-11-28 2017-12-27 Method for managing printing job in case of error occurring in printing system, and apparatus for performing the same

Country Status (1)

Country Link
KR (1) KR102422189B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968410B (en) * 2019-11-29 2023-08-08 深圳前海环融联易信息科技服务有限公司 Task failure retry method and device, computer equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3689662B2 (en) * 2001-07-16 2005-08-31 キヤノン株式会社 Information processing apparatus and display method thereof
JP2005007762A (en) * 2003-06-19 2005-01-13 Seiko Epson Corp Printer, printing system, program and method for controlling terminal unit
US8854652B2 (en) * 2007-01-26 2014-10-07 Samsung Electronics Co., Ltd. Host device and printing control method thereof
JP6171530B2 (en) * 2013-04-23 2017-08-02 セイコーエプソン株式会社 Printing control apparatus, printing system, and printing control method

Also Published As

Publication number Publication date
KR20190062093A (en) 2019-06-05

Similar Documents

Publication Publication Date Title
US9311191B2 (en) Method for a source storage device sending data to a backup storage device for storage, and storage device
CN106104502B (en) System, method and medium for storage system affairs
JP6136629B2 (en) Storage control device, storage system, and control program
US9998537B1 (en) Host-side tracking of data block changes for incremental backup
CN103562878A (en) Storage checkpointing in a mirrored virtual machine system
US10108360B2 (en) Apparatus and method to reduce a response time for writing data to redundant storage devices by detecting completion of data-writing to at least one driver before elapse of a retry-over time
US20170083419A1 (en) Data management method, node, and system for database cluster
US10664193B2 (en) Storage system for improved efficiency of parity generation and minimized processor load
KR102422189B1 (en) Method for managing printing job in case of error occurring in printing system, and apparatus for performing the same
US10853003B2 (en) Method of managing print jobs based on job identification of the print jobs in printing system and apparatus for performing the same
US9594526B2 (en) Storage management device and computer-readable recording medium
JP2017004502A (en) Information system and update method
US20150135004A1 (en) Data allocation method and information processing system
US8904143B2 (en) Obtaining additional data storage from another data storage system
JP4936088B2 (en) Disk array device, disk array system, and cache control method
US10061667B2 (en) Storage system for a memory control method
US20130031320A1 (en) Control device, control method and storage apparatus
US9779002B2 (en) Storage control device and storage system
US9836359B2 (en) Storage and control method of the same
US10866756B2 (en) Control device and computer readable recording medium storing control program
US20160259572A1 (en) Storage system and storage control method
US9639417B2 (en) Storage control apparatus and control method
KR102028604B1 (en) Method for performing print job by using plurality of printers, and apparatus for performing the same
JP2009129282A (en) Data storage apparatus, data backup method and data backup program
JP2005301560A (en) Cluster file server

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant