KR100644671B1 - 프린터 드라이버 변경장치 및 방법과 이를 이용한드라이버 변경가능한 프린터 시스템 및 방법 - Google Patents

프린터 드라이버 변경장치 및 방법과 이를 이용한드라이버 변경가능한 프린터 시스템 및 방법 Download PDF

Info

Publication number
KR100644671B1
KR100644671B1 KR1020040112264A KR20040112264A KR100644671B1 KR 100644671 B1 KR100644671 B1 KR 100644671B1 KR 1020040112264 A KR1020040112264 A KR 1020040112264A KR 20040112264 A KR20040112264 A KR 20040112264A KR 100644671 B1 KR100644671 B1 KR 100644671B1
Authority
KR
South Korea
Prior art keywords
driver
printer
identification information
command
print
Prior art date
Application number
KR1020040112264A
Other languages
English (en)
Other versions
KR20060073832A (ko
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 KR1020040112264A priority Critical patent/KR100644671B1/ko
Priority to US11/317,073 priority patent/US8355144B2/en
Publication of KR20060073832A publication Critical patent/KR20060073832A/ko
Application granted granted Critical
Publication of KR100644671B1 publication Critical patent/KR100644671B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • 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/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

본 발명은 프린터 드라이버 변경장치 및 방법과 이를 이용한 드라이버 변경가능한 프린터 시스템 및 방법에 관한 것으로서, 그 프린터 드라이버 변경장치는 인쇄명령어를 저장하는 명령어 버퍼; 프린터 모델에 상응하는 복수의 드라이버를 저장하고 있는 드라이버 저장부; 프린터 식별정보가 입력되면 드라이버 저장부에서 프린터식별정보에 상응하는 드라이버를 선택하는 드라이버선택부; 및 드라이버를 이용하여 명령어 버퍼에 저장된 인쇄명령어를 수행하여 인쇄를 위한 소정의 데이터를 생성하고, 명령어 처리 중 소정의 에러가 발생하면 에러신호를 출력하는 명령어처리부를 구비함을 특징으로 하고, 드라이버 변경가능한 프린터 시스템은 프린터 식별정보 또는 프린터 드라이버 변경요청을 받으면 프린터를 위한 복수의 드라이버 중에서 프린터에 상응하는 드라이버를 선택하여 인쇄를 위한 소정의 데이터를 생성하는 호스트; 및 호스트에서 선택된 프린터 드라이버에 상응하는 프린터 에뮬레이터를 선택하여 호스트에서 생성된 인쇄를 위한 소정의 데이터를 처리하여 인쇄하는 프린터를 포함함을 특징으로 한다.
본 발명에 의하면, 사용자가 인쇄작업을 할 때 안정적으로 인쇄할 수 있게 한다. 또한 에러가 발생할 시에도 사용자가 일일이 드라이버를 변경하지 않고 자동으로 적합한 프린터 드라이버를 변경함으로써 사용자에게 편리성을 제공한다.

Description

프린터 드라이버 변경장치 및 방법과 이를 이용한 드라이버 변경가능한 프린터 시스템 및 방법{Apparatus and method for changing printer driver, and printing system and method using it}
도 1은 일반적인 인쇄과정을 설명하기 위한 인쇄시스템의 구성을 블록도로 도시한 것이다.
도 2는 본 발명에 의한 프린터 드라이버 변경 방법 및 장치를 이용한 프린트 시스템을 개념적으로 도시한 것이다.
도 3은 본 발명에 의한 프린터 드라이버 변경장치의 구성을 블록도로 도시한 것이다.
도 4는 드라이버 선택부의 보다 세부적인 구성을 블록도로 도시한 것이다.
도 5는 본 발명에 의한 프린터 드라이버 변경 방법을 흐름도로 도시한 것이다.
도 6은 프린터 드라이버 선택을 보다 상세히 설명하기 위한 흐름도를 도시한 것이다.
도 7은 명령어 버퍼에 저장된 인쇄명령어 수행 및 오류발생에 대한 처리를 흐름도로 도시한 것이다.
도 8은 프린터 드라이버 변경 장치 및 방법을 이용한 드라이버 변경가능한 프린트 시스템의 구성을 블록도로 도시한 것이다.
도 9는 본 발명에 의한 프린트 시스템의 프린터 블록의 동작을 흐름도로 도시한 것이다.
본 발명은 인쇄 장치 및 방법에 관한 것으로서, 특히 프린터 드라이버 변경장치 및 방법과 이를 이용한 드라이버 변경가능한 프린터 시스템 및 방법에 관한 것이다.
일반적으로 프린터 드라이버들은 프린터 제조업체에 따라 개별적으로 개발되고 있는 실정이다. 따라서 프린터 사용자가 특정 제조업체의 프린터를 구입하면 그 제조업체의 프린터에 맞는 드라이버를 제공받아 인쇄작업을 한다.
그러나 타 기종과의 호환을 위하여 프린터 제조업체에서는 미리 약속되어 널리 사용되는 프린터 드라이버 언어를 채택하는 경우가 많다.
일반적으로 응용프로그램에서의 이미지나 문자 인쇄는 다음과 같이 이루어진다. 사용자가 응용프로그램에서 이미지나 문자 등을 인쇄하기 위해 사용자 메뉴 등을 이용하여 인쇄명령을 선택한다. 그러면, 프린터 드라이버는 상기 인쇄명령을 받아 응용프로그램의 인쇄하고자 하는 데이터를 인쇄할 수 있는 데이터로 변환한 다음 프린터로 전송한다. 이 때 프린터 드라이버와 프린터는 미리 약속된 프린팅 언어로 인쇄 데이터 포맷을 맞춘다.
도 1은 일반적인 인쇄과정을 설명하기 위한 인쇄시스템의 구성을 블록도로 도시한 것이다. 사용자가 응용프로그램(100)을 통해 이미지나 문자를 인쇄하기 위해 상기 응용프로그램에서 제공하는 메뉴 상의 인쇄명령을 선택하여 인쇄명령을 하면, 응용프래그램(100)은 인쇄명령어를 출력한다. 그러면 프린터 드라이버(120)는 상기 응용프로그램(100)에서 전송된 인쇄명령어를 해석하여 인쇄데이터를 생성하거나 응용프로그램(100)에서 전송된 인쇄 명령어를 재구성한다. 프린터(140)는 상기 인쇄데이터나 재구성된 인쇄명령어를 수신하다. 프린터(140)는 상기 수신된 데이터가 상기 인쇄데이터이면 상기 인쇄데이터의 압축을 풀어 인쇄작업을 하고, 상기 수신된 데이터가 재구성된 인쇄명령어이면 상기 재구성된 인쇄명령어를 해석하여 인쇄 가능한 데이터를 생성한다.
여기서 상기 종래 기술에서는 하나의 프린터에 하나의 프린팅 언어를 가진 드라이버가 존재한다. 따라서 인쇄데이터를 생성할 때 미리 정해진 포맷을 따르게 된다. 요즘 사용되고 있는 프린터 드라이버는 크게 두 가지 종류로 나눌 수 있다. 첫 번째 종류는 응용프로그램에서 생성된 인쇄 명령들을 해석하여 호스트(Host)에서 인쇄할 데이터를 생성한 후, 이를 압축하여 프린터로 전송하는 방식의 프린터 드라이버이다. 두 번째 종류는 응용프로그램에서 생성된 인쇄 명령들을 미리 약속된 포맷으로 재구성한 후, 프린터로 상기 재구성된 명령어들을 전송하는 방식의 프린터 드라이버이다. 즉 재구성된 명령어들을 프린터에서 해석하여 인쇄할 수 있는 데이터를 만들어 낸다.
보통 전자의 대표적인 프린터 드라이버로 GDI(Graphics Device Interface) 타입의 프린터 드라이버를 예를 들 수 있고, 후자의 경우는 PCL(Printer Control Language) 타입의 프린터 드라이버를 들 수 있다. 상기 첫 번째 종류의 프린터 드라이버는 페이지 단위의 공간을 확보한 뒤 상기 공간에 인쇄 데이터를 생성한다. 따라서 드라이버의 최종 생성물은 비트맵(bitmap)이 된다. 상기 생성된 비트맵은 각각의 제조업체가 정한 방식으로 압축하여 전송 데이터 크기를 최소화 한 후 프린터로 전송한다.
두 번째 종류의 프린터는 앞서 기술한대로 응용프로그램에서 전송받은 인쇄명령어들을 재배치하여 상기 명령어들을 다시 프린터로 전송한다. 이 때 재배치 포맷은 범용적인 포맷에 따르는 경우가 많다. PCL 타입의 프린터 드라이버가 대표적인 예이며, 상기 포맷에 따른 프린터 드라이버는 타 기종과의 호환성을 가능하게 한다.
그런데, 종래의 기술은 다음과 같은 문제점을 가지고 있다. 첫째, 제품이 출시되는 시점에서 프린터 드라이버는 하나의 프린터에 종속된다. 이는 각 프린터 드라이버의 장단점이 존재할 때 한쪽의 장단점을 그대로 이용한다는 문제가 있다. 즉 여러 프린터 드라이버가 각자의 고유한 장단점을 지니고 있으나 이들 중 어느 하나의 드라이버가 하나의 프린터 인쇄작업에 관여하므로 그 드라이버의 장점은 물론 단점까지 그대로 제품에 적용된다는 문제점이 있다.
둘째, 인쇄 작업 중 드라이버의 버그(bug)로 혹은 데이터를 받는 프린터내의 소프트웨어 에러로 인하여 인쇄작업이 불가능할 경우(경우에 따라서 호스트 시스템을 다운시키기도 한다.), 사용자에게 불편을 초래하는 한편 다시 인쇄를 시도하여 도 같은 상황이 재현되므로 사용자는 그 프린터 드라이버로 인쇄작업을 할 수 없게 된다. 이는 프린터 제조업체의 프린터 유지보수 비용의 상승과 더불어 추가 개발비용을 초래한다.
본 발명이 이루고자 하는 기술적 과제는 인쇄 작업시 안정적인 문서 인쇄작업을 제공하기 위해 인쇄 작업시 발생 할 수 있는 드라이버 또는 펌웨어(firmware) 오류에 대해 사용자의 별도의 작업없이 드라이버를 전환하여 안정적인 인쇄작업을 제공하는, 프린터 드라이버 변경 방법 및 장치를 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는 상기 본 발명에 의한 프린터 드라이버 변경 방법 및 장치를 이용한 드라이버 변경가능한 프린트 시스템 및 그 방법을 제공하는 것이다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 프린터 드라이버 변경장치는, 인쇄명령어가 입력되면 이를 저장하는 명령어 버퍼; 프린터 모델에 상응하는 복수의 드라이버를 저장하고 있는 드라이버 저장부; 프린터 식별정보가 입력되면, 상기 드라이버 저장부에서 상기 프린터식별정보에 상응하는 드라이버를 선택하는 드라이버 선택부; 및 상기 선택된 드라이버를 이용하여 상기 명령어 버퍼에 저장된 인쇄명령어를 수행하여 인쇄를 위한 소정의 데이터를 생성하고, 명령어 처리 중 소정의 에러가 발생하면 에러신호를 출력하는 명령어처리부를 구비함을 특징으로 한다.
상기 드라이버 선택부는 프린터 식별정보와, 이에 상응하는 적어도 하나의 드라이버 식별정보를 저장하고 있는 식별정보 데이터베이스; 상기 명령어처리부에서 인쇄 명령어 처리 중 소정의 에러가 발생하거나 프린터로부터 소정의 에러신호를 받으면 상기 식별정보 데이터베이스에서 해당 프린터 드라이버의 식별정보를 삭제하고 드라이버 변경을 요청하는 식별정보 갱신부; 프린터 식별정보가 입력되거나 드라이버 변경 요청이 있으면, 상기 식별정보 데이터베이스에서 상기 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 드라이버 식별정보 검색부; 및 상기 검색된 드라이버 식별정보에 상응하는 드라이버를 상기 드라이버 저장부에서 선택하는 드라이버 결정부를 포함함이 바람직하다. 상기 명령어처리부에서의 소정의 에러는 GRF(General Protection Fault) 또는 소정 시간 이내에 프린터로부터 인쇄가 정상적으로 완료되었음을 알리는 신호가 없는 경우 또는 프린터에서의 소정의 명령어 처리시 소정의 에러가 발생한 경우임이 바람직하다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 프린터 드라이버 변경방법은, (a) 인쇄명령어가 입력되면 이를 저장하는 명령어 버퍼를 생성하여 상기 인쇄명령어를 저장하는 단계; (b) 프린터 식별정보가 입력되면, 프린터 모델에 상응하는 복수의 드라이버를 저장하고 있는 드라이버 저장부에서 상기 프린터식별정보에 상응하는 드라이버를 선택하는 단계; 및 (c) 상기 선택된 드라이버를 이용하여 상기 명령어 버퍼에 저장된 인쇄명령어를 수행하여 인쇄를 위한 소정의 데이터를 생성하고, 명령어 처리 중 소정의 에러가 발생하면 상기 에러발생을 알리는 단계를 포함함을 특징으로 한다.
상기 (b) 단계는 (b1) 프린터 식별정보와, 이에 상응하는 적어도 하나의 드라이버 식별정보를 저장하고 있는 식별정보 데이터베이스를 구비하는 단계; (b2) 상기 (c)단계에서 인쇄 명령어 처리 중 소정의 에러가 발생하거나 프린터로부터 소정의 에러에 관한 정보를 받으면 상기 식별정보 데이터베이스에서 해당 프린터 드라이버의 식별정보를 삭제하고 드라이버 변경을 요청하는 단계; (b3) 프린터 식별정보가 입력되거나 드라이버 변경 요청이 있으면, 상기 식별정보 데이터베이스에서 상기 해당 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 단계; 및 (b4) 상기 검색된 드라이버 식별정보에 상응하는 드라이버를 상기 드라이버 저장부에서 선택하는 단계를 포함함을 특징으로 한다.
상기 (b3)단계는 프린터 식별정보가 입력되면, 상기 식별정보 데이터베이스에서 상기 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 단계; 및 드라이버 변경요청이 있으면, 상기 식별정보 데이터베이스에서 해당 프린터 식별정보에 상응하는 드라이버 식별정보들을 검색하여 우선순위가 높은 드라이버 식별정보를 선택하는 단계를 포함함이 바람직하다. 상기 소정의 에러는 GPF(General Protection Fault) 또는 소정 시간 이내에 프린터로부터 인쇄가 정상적으로 완료되었음을 알리는 신호가 없는 경우 또는 프린터에서의 소정의 명령어 처리시 소정의 에러가 발생한 경우임이 바람직하다.
상기 다른 기술적 과제를 이루기 위한 본 발명에 의한 프린터 드라이버 변경장치를 이용한 프린트 시스템은, 프린터 식별정보 또는 프린터 드라이버 변경요청을 받으면, 상기 프린터를 위한 복수의 드라이버 중에서 상기 프린터에 상응하는 드라이버를 선택하여, 인쇄를 위한 소정의 데이터를 생성하는 호스트; 및 복수의 프린터 에뮬레이터 중에서 상기 호스트에서 선택된 프린터 드라이버에 상응하는 프린터 에뮬레이터를 선택하여, 상기 호스트에서 생성된 인쇄를 위한 소정의 데이터를 처리하여 인쇄하는 프린터를 포함함을 특징으로 한다.
상기 호스트는 인쇄명령어가 입력되면 이를 저장하는 명령어 버퍼; 프린터 모델에 상응하는 복수의 드라이버를 저장하고 있는 드라이버 저장부; 프린터 식별정보가 입력되면, 상기 드라이버 저장부에서 상기 프린터식별정보에 상응하는 드라이버를 선택하는 드라이버 선택부; 및 상기 선택된 드라이버를 이용하여 상기 명령어 버퍼에 저장된 인쇄명령어를 수행하여 인쇄를 위한 소정의 데이터를 생성하고, 명령어 처리 중 소정의 에러가 발생하면 에러신호를 출력하는 명령어처리부를 구비함이 바람직하다.
상기 호스트의 상기 드라이버 선택부는 프린터 식별정보와, 이에 상응하는 적어도 하나의 드라이버 식별정보를 저장하고 있는 식별정보 데이터베이스; 상기 명령어처리부에서 인쇄 명령어 처리 중 소정의 에러가 발생하거나 프린터로부터 소정의 에러신호를 받으면 상기 식별정보 데이터베이스에서 해당 프린터 드라이버의 식별정보를 삭제하고 드라이버 변경을 요청하는 식별정보 갱신부; 프린터 식별정보가 입력되거나 드라이버 변경 요청이 있으면, 상기 식별정보 데이터베이스에서 상기 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 드라이버 식별정보 검색부; 및 상기 검색된 드라이버 식별정보에 상응하는 드라이버를 상기 드라이버 저장부에서 선택하는 드라이버 결정부를 포함함이 바람직하다.
상기 프린터는 인쇄작업이 시작되면 프린터 식별정보를 상기 드라이버 선택부로 전송하는 프린터 식별정보 전송부; 상기 명령어처리부에서 생성된 데이터를 받으면, 상기 선택된 드라이버에 상응하는 에뮬레이터를 선택하는 에뮬레이터 선택부; 및 상기 선택된 에뮬레이터를 이용하여 상기 명령어 처리부에서 생성된 데이터를 처리하여 인쇄하고, 상기 처리가 정상적으로 완료되었거나 에러가 발생한 경우 그 처리결과를 상기 호스트로 알려주는 인쇄데이터처리부를 포함함이 바람직하다.
상기 다른 기술적 과제를 이루기 위한 본 발명에 의한 프린터 드라이버 변경장치를 이용한 프린트 방법은, (a) 프린터 식별정보 또는 프린터 드라이버 변경요청을 받으면, 상기 프린터를 위한 복수의 드라이버 중에서 상기 프린터에 상응하는 드라이버를 선택하여 인쇄를 위한 소정의 데이터를 생성하는 단계; 및 (b) 복수의 프린터 에뮬레이터 중에서 상기 선택된 프린터 드라이버에 상응하는 프린터 에뮬레이터를 선택하여 상기 인쇄를 위한 소정의 데이터를 처리하여 인쇄하는 단계를 포함함을 특징으로 한다.
상기 프린트 방법의 상기 (a) 단계는 (a1) 인쇄명령어가 입력되면 이를 저장하는 명령어 버퍼를 생성하여 상기 인쇄명령어를 저장하는 단계; (a2) 프린터 식별정보가 입력되면, 프린터 모델에 상응하는 복수의 드라이버를 저장하고 있는 드라이버 저장부에서 상기 프린터식별정보에 상응하는 드라이버를 선택하는 단계; 및 (a3) 상기 선택된 드라이버를 이용하여 상기 명령어 버퍼에 저장된 인쇄명령어를 수행하여 인쇄를 위한 소정의 데이터를 생성하고, 명령어 처리 중 소정의 에러가 발생하면 상기 에러발생을 알리는 단계를 포함함이 바람직하다. 상기 (a2) 단계는 (a21) 프린터 식별정보와, 이에 상응하는 적어도 하나의 드라이버 식별정보를 저장하고 있는 식별정보 데이터베이스를 구비하는 단계; (a22) 상기 (c)단계에서 인쇄 명령어 처리 중 소정의 에러가 발생하거나 프린터로부터 소정의 에러에 관한 정보를 받으면 상기 식별정보 데이터베이스에서 해당 프린터 드라이버의 식별정보를 삭제하고 드라이버 변경을 요청하는 단계; (a23) 프린터 식별정보가 입력되거나 드라이버 변경 요청이 있으면, 상기 식별정보 데이터베이스에서 상기 해당 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 단계; 및 (a24) 상기 검색된 드라이버 식별정보에 상응하는 드라이버를 상기 드라이버 저장부에서 선택하는 단계를 포함함이 바람직하다.
상기 (a23)단계는 프린터 식별정보가 입력되면, 상기 식별정보 데이터베이스에서 상기 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 단계; 및 드라이버 변경요청이 있으면, 상기 식별정보 데이터베이스에서 해당 프린터 식별정보에 상응하는 드라이버 식별정보들을 검색하여 우선순위가 높은 드라이버 식별정보를 선택하는 단계를 포함함이 바람직하다.
상기 (a3)단계는 (a31) 상기 선택된 드라이버를 이용하여 상기 명령어 버퍼에 저장된 인쇄명령어를 수행하는 단계; (a32) GPF 인지 판단하는 단계; (a32) GPF이면 현재 수행되고 있는 드라이버의 식별정보를 삭제하기 위한 에러 발생을 알리고, GPF가 아니면 인쇄 데이터를 프린터로 보내는 단계; (a34) 현재 페이지 정보를 저장하고 프린터로부터 인쇄데이터가 정상적으로 처리되었음을 알리는 ACK를 체크하는 단계; 및 (a35) 상기 ACK가 수신되면 ACK에 해당하는 페이지의 정보를 삭제하 고 마지막 페이지까지 상기 (a31) 단계 내지 (a34) 단계를 수행하고, 상기 ACK가 소정시간 내에 수신되지 않으면 현재 수행되고 있는 드라이버의 식별정보를 삭제하기 위한 에러 발생을 알리는 단계를 포함함이 바람직하다.
상기 프린트 방법의 상기 (b)단계는 인쇄작업이 시작되면 프린터 식별정보를 전송하는 단계; 상기 (a)단계에서 인쇄를 위한 소정의 데이터를 받으면, 상기 선택된 드라이버에 상응하는 에뮬레이터를 선택하는 단계; 및 상기 선택된 에뮬레이터를 이용하여 상기 인쇄를 위한 소정의 데이터를 처리하는 단계; 상기 처리가 정상적으로 완료되면 이를 알리는 ACK를 전송하고 데이터를 인쇄하는 단계; 상기 처리가 정상적으로 완료되지 않으면 이를 알리는 에러신호를 전송하는 단계를 포함함이 바람직하다. 상기 처리 및 처리결과보고는 페이지 단위로 이루어짐이 바람직하다.
그리고 상기 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 프린터 드라이버 변경 방법 및 장치와 이를 이용한 드라이버 변경가능한 프린트 시스템 및 그 방법에 대해 상세히 설명한다.
도 2는 본 발명에 의한 프린터 드라이버 변경 방법 및 장치를 이용한 프린트 시스템을 개념적으로 도시한 것으로서, 크게 드라이버 변경부(20)와 인쇄장치(25)로 구성된다.
응용프로그램(200)에서 이미지나 텍스트를 인쇄하기를 원하면 사용자가 인쇄메뉴를 통해 인쇄명령을 내리면, 상기 인쇄명령은 응용프로그램 인터페이스에 해당 하는 운영체제(210)를 통해 프린터 드라이버와 인터페이스 된다. 그리고 나서 드라이버 변경부(20)에서 명령어 버퍼를 생성(220)하고 드라이버 데이터베이스(230)를 통해 드라이버를 선택(220)하면, 인쇄장치(25)를 통해 명령어 또는 인쇄데이터가 처리되어 인쇄된다. 응용프로그램으로부터 인쇄명령이 내려지면, 인쇄장치(20)에서는 먼저 인쇄장치의 식별번호에 해당하는 디바이스 ID를 상기 프린터 드라이버에게 전송(240)하고, 상기 선택된 드라이버에 상응하는 에뮬레이터를 선택(250)하고, 상기 에뮬레이터를 통해 명령어 또는 인쇄데이터를 처리(260)하고, 그 처리 결과(ACK, Error)를 프린터 드라이버에게 전송한다.
도 3은 본 발명에 의한 프린터 드라이버 변경장치의 구성을 블록도로 도시한 것으로서, 명령어 버퍼(300), 드라이버 저장부(310), 드라이버 선택부(320) 및 명령어처리부(330)를 포함하여 이루어진다.
상기 명령어버퍼(300)는 인쇄명령어가 입력되면 이를 저장한다. 상기 명령어버퍼(300)는 소프트웨어로 구현될 경우에는 명령어 버퍼 생성기(commnad buffer generator)를 통해 생성될 수 있다.
상기 드라이버 저장부(310)는 프린터 모델에 상응하는 복수의 드라이버를 저장하고 있다. 예를 들어 상기 드라이버 저장부(310)에는 PCL 드라이버, GDI 드라이버, PS(Postscript)드라이버 등이 버전(version)별로 저장될 수 있다.
상기 드라이버 선택부(320)는 프린터 식별정보가 입력되면, 상기 드라이버 저장부(310)에서 상기 프린터식별정보에 상응하는 드라이버를 선택한다. 상기 프린터 식별정보는 프린터의 디바이스 ID가 될 수 있다.
상기 명령어처리부(330)는 상기 드라이버 선택부(320)에서 선택된 드라이버를 이용하여 상기 명령어 버퍼(300)에 저장된 인쇄명령어를 수행하여 인쇄를 위한 소정의 데이터를 생성하고, 명령어 처리 중 소정의 에러가 발생하면 에러신호를 출력한다. 상기 명령어처리부(330)는 프린터 드라이버에서 구현될 수 있다. 상기 인쇄를 위한 소정의 데이터는 상기 명령어처리부(330)가 PCL 드라이버인 경우에는 재구성된 인쇄명령어가 되며, GDI 드라이버인 경우에는 비트맵(bitmap) 인쇄데이터가 될 수 있다. 따라서 상기 인쇄를 위한 소정의 데이터는 사용되는 프린터 드라이버에 따라 비트맵 데이터 또는 재구성된 인쇄 명령어가 될 수 있다.
도 4는 상기 드라이버 선택부(320)의 보다 세부적인 구성을 블록도로 도시한 것으로서, 식별정보 데이터베이스(400), 식별정보 갱신부(440), 드라이버 식별정보 검색부(420) 및 드라이버 결정부(460)를 구비한다.
상기 식별정보 데이터베이스(400)는 프린터 식별정보와, 이에 상응하는 적어도 하나의 드라이버 식별정보를 저장하고 있다. 예를 들어 프린터 제조회사에 따라 생산하는 프린터 모델들이 다수 있을 수 있고, 상기 프린터 모델 별로 사용할 수 있는 프린터 드라이버가 다수 있을 수 있다. 이 때 상기 프린터 식별정보가 상기 프린터 모델들을 구별할 수 있고, 상기 프린터 식별정보 별로 사용할 수 있는 프린터 드라이버들의 식별정보를 매칭시켜 룩업 테이블 형태로 저장할 수 있다. 그리고 각 프린터 모델이 사용할 수 있는 프린터 드라이버가 복수 개 있을 때에는 드라이버들 간에 우선순위를 매겨 룩업테이블 형태로 저장할 수 있다.
상기 식별정보 갱신부(440)는 상기 명령어처리부(330)에서 인쇄 명령어 처리 중 소정의 에러가 발생하거나 프린터로부터 소정의 에러신호를 받으면 상기 식별정보 데이터베이스(400)에서 해당 프린터 드라이버의 식별정보를 삭제하고 드라이버 변경을 요청한다.
상기 드라이버 식별정보 검색부(420)는 프린터 식별정보가 입력되거나 드라이버 변경 요청이 있으면, 상기 식별정보 데이터베이스(400)에서 상기 프린터 식별정보에 상응하는 드라이버 식별정보를 검색한다. 상기 드라이버 변경요청이 있게 되면, 현재 사용하고 있는 드라이버는 상기 식별정보 갱신부(440)를 통해 식별정보가 삭제되었으므로 더 이상 사용되지 않고 프린터의 모델에 따라 사용할 수 있는 드라이버 중 우선순위가 높은 드라이버의 식별정보를 검색하게 된다.
상기 드라이버 결정부(460)는 검색된 드라이버 식별정보에 상응하는 드라이버를 상기 드라이버 저장부(310)에서 선택한다.
그리고 상기 명령어 처리중 발생하는 소정의 에러는 다음과 같은 것이 있을 수 있다. GPF(General Protection Fault)오류 또는 프린터로부터 인쇄가 정상적으로 완료되었음을 알리는 신호(ACK)가 소정 시간 이내에 없는 경우 또는 PCL드라이버를 사용할 때 프린터에서의 소정의 인쇄 명령어가 처리될 때 소정의 에러가 발생한 경우 등이 될 수 있다. 상기 GPF는 Windows에서 완전하게 확인할 수 없는 치명적인 예외 오류의 한 유형으로서, 일반적으로 메모리 위반이다. 소프트웨어 프로그램은 시작하기 전에 메모리를 예약하고, 실행 중에 메모리를 사용하여 작업을 수행한다. 소프트웨어 프로그램에서 메모리를 정확하게 예약하지 않으면 하드 드라이브에 저장된 중요한 데이터 손실 등의 문제가 발생하는데, 상기 GPF 오류 메시지는 잠재적으로 파일에 손상을 입힐 수 있는 이러한 문제들을 예방하는 역할을 한다.
한편, 본 발명에 의한 프린터 드라이버 변경 방법 및 그 장치의 동작을 설명하기로 한다. 도 5는 본 발명에 의한 프린터 드라이버 변경 방법을 흐름도로 도시한 것이다. 먼저, 응용프로그램에서 이미지나 텍스트 등을 인쇄하기 위해 인쇄명령이 내려지면 운영체제 등과 같은 API(Application Program Interface)를 거쳐 프린터 드라이버로 인쇄명령어가 입력된다. 상기 인쇄명령어가 입력되면 명령어 버퍼(300)가 생성되고, 상기 인쇄명령어가 상기 명령어버퍼(300)에 저장된다.(500단계) 그리고 나서 상기 인쇄명령어를 수행할 프린터 드라이버를 선택한다.(520단계) 도 6은 상기 프린터 드라이버 선택을 보다 상세히 설명하기 위한 흐름도를 도시한 것이다. 우선 드라이버 식별정보 데이터 베이스(400)가 구비되어 있는 것이 바람직하다.(600단계) 그리고 나서 인쇄장치에 해당하는 프린터로부터 프린터 식별정보에 해당하는 프린터 디바이스 ID를 전송받아(610단계), 상기 식별정보검색부(420)를 통해 식별정보 데이터베이스(400)에서 상기 프린터 식별정보와 상응하는 드라이버 식별정보(ID)를 검색한다.(620단계) 상기 식별정보 데이터 베이스(400)에는 프린터 디바이스 ID에 따라 드라이버 식별정보가 매칭되어 있다. 상기 프린터 디바이스 ID에 드라이버 식별정보가 복수 개 할당되어 있으면, 초기값에 해당하는 디폴트 드라이버 식별정보(default driver ID)가 있고, 그 외의 드라이버는 우선순위를 두어 상기 우선순위에 따라 선택될 수 있게 한다.
상기 식별정보 데이터 베이스(400)에서 디바이스 ID가 매칭되었는지 검사하여(630단계), 매칭된 드라이버 ID가 있으면 디폴트 드라이버 ID를 선택한다.(640단 계) 만일 식별정보 데이터 베이스에 매칭되는 디폴트 드라이버 ID가 없으면 다른 드라이버 ID가 있는지 체크하여 있으면(650단계), 우선순위가 높은 드라이버 ID를 선택한다.(660단계) 드라이버 식별번호가 선택되면, 상기 드라이버 저장부(310)를 통해 상기 선택된 드라이버 식별번호에 해당하는 드라이버를 선택한다.(670단계) 만일 650단계에서 다른 드라이버 ID가 없으면 드라이버를 선택할 수 없으므로 드라이버 선택을 종료한다. 상기 드라이버 선택을 종료할 때는 구현 예에 따라 선택할 드라이버가 없다는 메시지를 사용자에게 알려줄 수 있다.
한편, 드라이버가 선택되면 상기 드라이버를 통해 상기 명령어버퍼(300)에 저장된 인쇄 명령어를 수행하고(540단계), 오류가 발생하는 지 체크하여(560단계), 오류가 발생되면 다른 드라이버를 선택한다.(560단계) 도 7은 명령어 버퍼에 저장된 인쇄명령어 수행 및 오류발생에 대한 처리를 흐름도로 도시한 것이다. 드라이버가 선택되면 상기 명령어 버퍼(300)에 저장된 명령어를 처리(handling)한다.(700단계) 이 때 GPF(General Protection Fault)오류가 발생하는지 체크한다.(710단계)
만일 상기 GPF오류가 발생하면, 식별정보 데이터베이스(400)에서 현재 드라이버 식별정보를 삭제한다.(770단계) 상기 GPF오류가 발생하지 않았으면, 인쇄데이터를 전송하고(720단계), 현재 페이지 정보를 저장한다.(730단계) 그리고 현재 페이지 인쇄데이터를 프린터에서 정상적으로 처리했음을 나타내는 신호(ACK)가 왔는지 체크하여(740단계), 상기 ACK가 프린터로부터 소정의 시간 내에 도착하지 않으면, 식별정보 데이터베이스(400)에서 현재 드라이버 식별정보를 삭제한다.(770단계) 만일 상기 ACK가 정상적으로 도착하면 현재 페이지 정보를 삭제하고(750단계 ), 처리하지 못한 페이지가 있는지 체크한다.(760단계) 처리할 페이지가 없으면 종료하고, 처리할 페이지가 더 있으면, 상기 도 6의 650단계로 가서 식별정보 데이터베이스(400)에 다른 드라이버 ID가 있는지 체크하여 다른 드라이버를 선택할 수 있게 한다. 상술한 명령어 처리는 페이지 단위로 수행하였지만, 문서단위로 할 수도 있고, 상기 처리단위는 응용 예에 따라 변경가능하다.
도 8은 상술한 프린터 드라이버 변경 장치 및 방법을 이용한 드라이버 변경가능한 프린트 시스템의 구성을 블록도로 도시한 것이다. 상기 프린트 시스템은 호스트(80) 및 프린터(85)를 포함하여 이루어진다. 상기 호스트(80)는 프린터 식별정보 또는 프린터 드라이버 변경요청을 받으면, 상기 프린터를 위한 복수의 드라이버 중에서 상기 프린터에 상응하는 드라이버를 선택하여, 인쇄를 위한 소정의 데이터를 생성하며, 명령어 버퍼(800), 드라이버 선택부(820), 드라이버 저장부(810) 및 명령어처리부(830)를 구비한다. 상기 명령어 버퍼(800), 드라이버 선택부(820), 드라이버 저장부(810) 및 명령어처리부(830)는 도 3에 도시된 명령어 버퍼(300), 드라이버 선택부(320), 드라이버 저장부(310) 및 명령어처리부(330)와 그 기능과 동작이 동일하므로 여기서는 설명을 생략하기로 한다.
상기 프린터(85)는 복수의 프린터 에뮬레이터 중에서 상기 호스트에서 선택된 프린터 드라이버에 상응하는 프린터 에뮬레이터를 선택하여 상기 호스트에서 생성된 인쇄를 위한 소정의 데이터를 처리하여 인쇄하며, 프린터 식별정보 전송부(860), 에뮬레이터 선택부(870) 및 인쇄데이터 처리부(880)를 포함하여 이루어진다.
상기 프린터 식별정보 전송부(860)는 인쇄작업이 시작되면 프린터 식별정보를 상기 드라이버 선택부(820)로 전송한다.
상기 에뮬레이터 선택부(870)는 상기 명령어처리부(830)에서 생성된 데이터를 받으면, 상기 선택된 드라이버에 상응하는 에뮬레이터를 선택한다.
상기 인쇄데이터 처리부(880)는 상기 선택된 에뮬레이터를 이용하여 상기 명령어 처리부(830)에서 생성된 데이터를 처리하여 인쇄하고, 상기 처리가 정상적으로 완료되었거나 에러가 발생한 경우 그 처리결과를 상기 호스트로 알려준다.
상기 호스트(80)의 동작은 상술한 프린터 드라이버 변경장치와 동일하므로 그 동작 설명을 생략하기로 한다. 도 9는 상기 프린터(85)의 동작을 흐름도로 도시한 것으로서, 도 8을 참조하여 본 발명에 의한 상기 프린트 시스템의 동작과 그 방법을 설명하기로 한다.
호스트(80)에서의 동작은 상술한 프린터 드라이버 변경장치와 동일하다. 따라서 프린터(85)에서의 동작을 설명하기로 한다. 먼저, 호스트(80)에서 프린터 디바이스 ID를 요청하면 프린터 식별정보 전송부(860)는 디바이스 ID를 전송한다.(900단계) 그리고 나서 에뮬레이터 선택부(870)는 인쇄작업 정보를 획득한다.(910단계) 상기 인쇄작업 정보는 문서의 전체 페이지, 복사 매수, 해상도, 용지 크기 등 인쇄에 필요한 기본적인 정보를 말한다. 상기 인쇄작업 정보가 획득되면, 에뮬레이터 선택부(870)는 상기 호스트에서 선택된 프린터 드라이버에 상응하며 인쇄할 데이터에 적합한 에뮬레이터를 선택하고(920단계), 인쇄데이터 처리부(880)를 통해 재구성된 인쇄 명령어를 처리한다.(930단계) 상기 인쇄데이터 처리부(880)는 상기 명령어 처리 중 에러가 발생하는 지 체크하여(940단계), 에러가 발생하면 에러메시지를 호스트(80)로 전송한다.(970단계) 호스트(80)는 상기 에러 메시지를 받으면, 도 6의 650단계로 가서 상술한 일련의 처리과정을 통해 다른 드라이버를 선택한다.
에러가 발생하지 않고 정상적으로 처리되면 그 결과를 알리는 ACK신호를 상기 호스트(80)로 전송한다.(950단계) ACK가 전송되면 데이터를 인쇄하고(960단계), 마지막 페이지까지 인쇄를 마치면 종료하고, 인쇄할 페이지가 더 있으면 상기 920단계로 가서 에뮬레이터를 선택한다.(980단계)
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 의한 프린터 드라이버 변경 방법 및 장치에 의하면, 사용자가 인 쇄작업을 할 때 안정적으로 인쇄할 수 있게 한다. 또한 에러가 발생할 시에도 사용자가 일일이 드라이버를 변경하지 않고 자동으로 적합한 프린터 드라이버를 변경함으로써 사용자에게 편리성을 제공한다.

Claims (19)

  1. 인쇄명령어가 입력되면 이를 저장하는 명령어 버퍼;
    프린터 모델에 상응하는 복수의 드라이버를 저장하고 있는 드라이버 저장부;
    프린터 식별정보가 입력되면, 상기 드라이버 저장부에서 상기 프린터식별정보에 상응하는 드라이버를 선택하는 드라이버 선택부; 및
    상기 선택된 드라이버를 이용하여 상기 명령어 버퍼에 저장된 인쇄명령어를 수행하여 인쇄를 위한 소정의 데이터를 생성하고, 명령어 처리 중 소정의 에러가 발생하면 에러신호를 출력하는 명령어처리부를 포함하고,
    상기 드라이버 선택부는 프린터 식별정보와, 이에 상응하는 적어도 하나의 드라이버 식별정보를 저장하고 있는 식별정보 데이터베이스와; 상기 명령어처리부에서 인쇄 명령어 처리 중 소정의 에러가 발생하거나 프린터로부터 소정의 에러신호를 받으면 상기 식별정보 데이터베이스에서 해당 프린터 드라이버의 식별정보를 삭제하고 드라이버 변경을 요청하는 식별정보 갱신부를 구비하는 것을 특징으로 하는 드라이버 변경 장치.
  2. 제1항에 있어서, 상기 드라이버 선택부는
    프린터 식별정보가 입력되거나 드라이버 변경 요청이 있으면, 상기 식별정보 데이터베이스에서 상기 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 드라이버 식별정보 검색부; 및
    상기 검색된 드라이버 식별정보에 상응하는 드라이버를 상기 드라이버 저장부에서 선택하는 드라이버 결정부를 더 포함함을 특징으로 하는 드라이버 변경 장치.
  3. 제1항에 있어서, 상기 명령어처리부에서의 소정의 에러는
    GPF(General Protection Fault) 또는 소정 시간 이내에 프린터로부터 인쇄가 정상적으로 완료되었음을 알리는 신호가 없는 경우 또는 프린터에서의 소정의 명령어 처리시 소정의 에러가 발생한 경우임을 특징으로 하는 드라이버 변경 장치.
  4. 인쇄명령어가 입력되면 이를 저장하는 명령어 버퍼를 생성하여 상기 인쇄명령어를 저장하는 단계;
    프린터 식별정보가 입력되면, 프린터 모델에 상응하는 복수의 드라이버를 저장하고 있는 드라이버 저장부에서 상기 프린터식별정보에 상응하는 드라이버를 선택하는 단계; 및
    상기 선택된 드라이버를 이용하여 상기 명령어 버퍼에 저장된 인쇄명령어를 수행하여 인쇄를 위한 소정의 데이터를 생성하고, 명령어 처리 중 소정의 에러가 발생하면 상기 에러발생을 알리는 단계를 포함하고,
    상기 드라이버를 선택하는 단계는
    프린터 식별정보와, 이에 상응하는 적어도 하나의 드라이버 식별정보를 저장하고 있는 식별정보 데이터베이스를 구비하는 단계;
    상기 에러발생을 알리는 단계에서 인쇄 명령어 처리 중 소정의 에러가 발생하거나 프린터로부터 소정의 에러에 관한 정보를 받으면 상기 식별정보 데이터베이스에서 해당 프린터 드라이버의 식별정보를 삭제하고 드라이버 변경을 요청하는 단계;를 포함함을 특징으로 하는 드라이버 변경 방법.
  5. 제4항에 있어서, 상기 드라이버를 선택하는 단계는
    프린터 식별정보가 입력되거나 드라이버 변경 요청이 있으면, 상기 식별정보 데이터베이스에서 상기 해당 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 단계; 및
    상기 검색된 드라이버 식별정보에 상응하는 드라이버를 상기 드라이버 저장부에서 선택하는 단계를 더 포함함을 특징으로 하는 드라이버 변경 방법.
  6. 제5항에 있어서, 상기 드라이버 식별정보를 검색하는 단계는
    프린터 식별정보가 입력되면, 상기 식별정보 데이터베이스에서 상기 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 단계; 및
    드라이버 변경요청이 있으면, 상기 식별정보 데이터베이스에서 해당 프린터 식별정보에 상응하는 드라이버 식별정보들을 검색하여 우선순위가 높은 드라이버 식별정보를 선택하는 단계를 포함함을 특징으로 하는 드라이버 변경 방법.
  7. 제4항에 있어서, 상기 소정의 에러는
    GPF(General Protection Fault) 또는 소정 시간 이내에 프린터로부터 인쇄가 정상적으로 완료되었음을 알리는 신호가 없는 경우 또는 프린터에서의 소정의 명령어 처리시 소정의 에러가 발생한 경우임을 특징으로 하는 드라이버 변경 방법.
  8. 프린터 식별정보 또는 프린터 드라이버 변경요청을 받으면, 상기 프린터를 위한 복수의 드라이버 중에서 상기 프린터에 상응하는 드라이버를 선택하여, 인쇄를 위한 소정의 데이터를 생성하는 호스트; 및
    복수의 프린터 에뮬레이터 중에서 상기 호스트에서 선택된 프린터 드라이버에 상응하는 프린터 에뮬레이터를 선택하여, 상기 호스트에서 생성된 인쇄를 위한 소정의 데이터를 처리하여 인쇄하는 프린터를 포함하고,
    상기 호스트는 인쇄명령어가 입력되면 이를 저장하는 명령어 버퍼와, 프린터 모델에 상응하는 복수의 드라이버를 저장하고 있는 드라이버 저장부 및 프린터 식별정보가 입력되면 상기 드라이버 저장부에서 상기 프린터식별정보에 상응하는 드라이버를 선택하는 드라이버 선택부를 구비하는 것을 특징으로 하는 드라이버 변경가능한 프린트 시스템.
  9. 제8항에 있어서, 상기 호스트는
    상기 선택된 드라이버를 이용하여 상기 명령어 버퍼에 저장된 인쇄명령어를 수행하여 인쇄를 위한 소정의 데이터를 생성하고, 명령어 처리 중 소정의 에러가 발생하면 에러신호를 출력하는 명령어처리부를 구비함을 특징으로 하는 드라이버 변경가능한 프린트 시스템.
  10. 제8항 또는 제9항에 있어서, 상기 드라이버 선택부는
    프린터 식별정보와, 이에 상응하는 적어도 하나의 드라이버 식별정보를 저장하고 있는 식별정보 데이터베이스;
    상기 명령어처리부에서 인쇄 명령어 처리 중 소정의 에러가 발생하거나 프린터로부터 소정의 에러신호를 받으면 상기 식별정보 데이터베이스에서 해당 프린터 드라이버의 식별정보를 삭제하고 드라이버 변경을 요청하는 식별정보 갱신부;
    프린터 식별정보가 입력되거나 드라이버 변경 요청이 있으면, 상기 식별정보 데이터베이스에서 상기 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 드라이버 식별정보 검색부; 및
    상기 검색된 드라이버 식별정보에 상응하는 드라이버를 상기 드라이버 저장부에서 선택하는 드라이버 결정부를 포함함을 특징으로 하는 드라이버 변경가능한 프린트 시스템.
  11. 제10항에 있어서, 상기 프린터는
    인쇄작업이 시작되면 프린터 식별정보를 상기 드라이버 선택부로 전송하는 프린터 식별정보 전송부;
    상기 명령어처리부에서 생성된 데이터를 받으면, 상기 선택된 드라이버에 상 응하는 에뮬레이터를 선택하는 에뮬레이터 선택부; 및
    상기 선택된 에뮬레이터를 이용하여 상기 명령어 처리부에서 생성된 데이터를 처리하여 인쇄하고, 상기 처리가 정상적으로 완료되었거나 에러가 발생한 경우 그 처리결과를 상기 호스트로 알려주는 인쇄데이터처리부를 포함함을 특징으로 하는 드라이버 변경가능한 프린트 시스템.
  12. (a) 프린터 식별정보 또는 프린터 드라이버 변경요청을 받으면, 상기 프린터를 위한 복수의 드라이버 중에서 상기 프린터에 상응하는 드라이버를 선택하여 인쇄를 위한 소정의 데이터를 생성하는 단계; 및
    (b) 복수의 프린터 에뮬레이터 중에서 상기 선택된 프린터 드라이버에 상응하는 프린터 에뮬레이터를 선택하여 상기 인쇄를 위한 소정의 데이터를 처리하여 인쇄하는 단계를 포함하고,
    상기 (a) 단계는,
    (a1) 인쇄명령어가 입력되면 이를 저장하는 명령어 버퍼를 생성하여 상기 인쇄명령어를 저장하는 단계;
    (a3) 상기 선택된 드라이버를 이용하여 상기 명령어 버퍼에 저장된 인쇄명령어를 수행하여 인쇄를 위한 소정의 데이터를 생성하고, 명령어 처리 중 소정의 에러가 발생하면 상기 에러발생을 알리는 단계를 구비하는 것을 특징으로 하는 드라이버 변경가능한 프린트 방법.
  13. 제12항에 있어서, 상기 (a) 단계는
    (a2) 프린터 식별정보가 입력되면, 프린터 모델에 상응하는 복수의 드라이버를 저장하고 있는 드라이버 저장부에서 상기 프린터식별정보에 상응하는 드라이버를 선택하는 단계를 포함함을 특징으로 하는 드라이버 변경가능한 프린트 방법.
  14. 제13항에 있어서, 상기 (a2) 단계는
    (a21) 프린터 식별정보와, 이에 상응하는 적어도 하나의 드라이버 식별정보를 저장하고 있는 식별정보 데이터베이스를 구비하는 단계;
    (a22) 상기 (c)단계에서 인쇄 명령어 처리 중 소정의 에러가 발생하거나 프린터로부터 소정의 에러에 관한 정보를 받으면 상기 식별정보 데이터베이스에서 해당 프린터 드라이버의 식별정보를 삭제하고 드라이버 변경을 요청하는 단계;
    (a23) 프린터 식별정보가 입력되거나 드라이버 변경 요청이 있으면, 상기 식별정보 데이터베이스에서 상기 해당 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 단계; 및
    (a24) 상기 검색된 드라이버 식별정보에 상응하는 드라이버를 상기 드라이버 저장부에서 선택하는 단계를 포함함을 특징으로 하는 드라이버 변경가능한 프린트 방법.
  15. 제14항에 있어서, 상기 (a23)단계는
    프린터 식별정보가 입력되면, 상기 식별정보 데이터베이스에서 상기 프린터 식별정보에 상응하는 드라이버 식별정보를 검색하는 단계; 및
    드라이버 변경요청이 있으면, 상기 식별정보 데이터베이스에서 해당 프린터 식별정보에 상응하는 드라이버 식별정보들을 검색하여 우선순위가 높은 드라이버 식별정보를 선택하는 단계를 포함함을 특징으로 하는 드라이버 변경가능한 프린트 방법.
  16. 제12항에 있어서, 상기 (a3)단계는
    (a31) 상기 선택된 드라이버를 이용하여 상기 명령어 버퍼에 저장된 인쇄명령어를 수행하는 단계;
    (a32) GPF 인지 판단하는 단계;
    (a32) GPF이면 현재 수행되고 있는 드라이버의 식별정보를 삭제하기 위한 에러 발생을 알리고, GPF가 아니면 인쇄 데이터를 프린터로 보내는 단계;
    (a34) 현재 페이지 정보를 저장하고 프린터로부터 인쇄데이터가 정상적으로 처리되었음을 알리는 ACK를 체크하는 단계; 및
    (a35) 상기 ACK가 수신되면 ACK에 해당하는 페이지의 정보를 삭제하고 마지막 페이지까지 상기 (a31) 단계 내지 (a34) 단계를 수행하고, 상기 ACK가 소정시간 내에 수신되지 않으면 현재 수행되고 있는 드라이버의 식별정보를 삭제하기 위한 에러 발생을 알리는 단계를 포함함을 특징으로 하는 드라이버 변경 방법.
  17. 제12항에 있어서, 상기 (b)단계는
    인쇄작업이 시작되면 프린터 식별정보를 전송하는 단계;
    상기 (a)단계에서 인쇄를 위한 소정의 데이터를 받으면, 상기 선택된 드라이버에 상응하는 에뮬레이터를 선택하는 단계; 및
    상기 선택된 에뮬레이터를 이용하여 상기 인쇄를 위한 소정의 데이터를 처리하는 단계;
    상기 처리가 정상적으로 완료되면 이를 알리는 ACK를 전송하고 데이터를 인쇄하는 단계;
    상기 처리가 정상적으로 완료되지 않으면 이를 알리는 에러신호를 전송하는 단계를 포함함을 특징으로 하는 드라이버 변경가능한 프린트 방법.
  18. 제17항에 있어서, 상기 처리 및 처리결과보고는 페이지 단위로 이루어짐을 특징으로 하는 드라이버 변경가능한 프린트 방법.
  19. 제4항 내지 제7항, 제12항 내지 제18항 중 어느 한 항에 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040112264A 2004-12-24 2004-12-24 프린터 드라이버 변경장치 및 방법과 이를 이용한드라이버 변경가능한 프린터 시스템 및 방법 KR100644671B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040112264A KR100644671B1 (ko) 2004-12-24 2004-12-24 프린터 드라이버 변경장치 및 방법과 이를 이용한드라이버 변경가능한 프린터 시스템 및 방법
US11/317,073 US8355144B2 (en) 2004-12-24 2005-12-27 Apparatus and method of changing printer driver, and printing system and method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040112264A KR100644671B1 (ko) 2004-12-24 2004-12-24 프린터 드라이버 변경장치 및 방법과 이를 이용한드라이버 변경가능한 프린터 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20060073832A KR20060073832A (ko) 2006-06-29
KR100644671B1 true KR100644671B1 (ko) 2006-11-10

Family

ID=36611102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040112264A KR100644671B1 (ko) 2004-12-24 2004-12-24 프린터 드라이버 변경장치 및 방법과 이를 이용한드라이버 변경가능한 프린터 시스템 및 방법

Country Status (2)

Country Link
US (1) US8355144B2 (ko)
KR (1) KR100644671B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4485997B2 (ja) * 2005-06-13 2010-06-23 株式会社リコー 印刷制御装置、印刷制御システム、印刷制御方法、印刷制御プログラム及び記録媒体
JP4182108B2 (ja) * 2005-12-27 2008-11-19 キヤノン株式会社 画像形成システム、模擬プリント動作実現方法、プログラムおよび記憶媒体
US20070223035A1 (en) * 2006-03-24 2007-09-27 Kabushiki Kaisha Toshiba Image Forming System and Control Method Thereof
JP4303746B2 (ja) * 2006-11-22 2009-07-29 株式会社シーイーシー セキュアプリントシステムおよび方法
JP4345029B2 (ja) * 2007-03-28 2009-10-14 ブラザー工業株式会社 画像処理プログラム
KR101392758B1 (ko) * 2007-09-21 2014-05-12 삼성전자주식회사 인쇄오류를 해결할 수 있는 단말장치 및 화상형성장치와 그인쇄오류해결방법
JP2009181337A (ja) * 2008-01-30 2009-08-13 Ricoh Co Ltd 画像形成システム、管理装置、画像形成装置、画像形成方法、及び画像形成プログラム
JP2011186969A (ja) * 2010-03-11 2011-09-22 Canon Inc 情報処理装置、情報処理装置の制御方法、インストール方法及びコンピュータプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265267A (ja) * 1998-03-17 1999-09-28 Canon Inc データ処理装置およびデータ処理装置のドライバ切替方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08152985A (ja) 1994-11-28 1996-06-11 Ricoh Co Ltd プリンタ装置
JPH08324035A (ja) 1995-05-31 1996-12-10 Canon Inc 情報処理装置並びに印刷装置並びに印刷システムおよび印刷システムのプリンタドライバ選択方法
JP3179695B2 (ja) 1996-01-09 2001-06-25 キヤノン株式会社 画像形成装置及びその制御方法
KR0169915B1 (ko) * 1996-03-26 1999-03-30 김광호 프린터 드라이버 변환 장치 및 방법
JP2874639B2 (ja) 1996-04-05 1999-03-24 日本電気株式会社 プリンタシステム
KR100330016B1 (ko) 1998-12-30 2002-08-27 삼성전자 주식회사 에뮬레이션을자동으로변환시키는방법
JP2000250721A (ja) 1999-02-25 2000-09-14 Ricoh Co Ltd プリンタドライバ方法及びプリンタドライバプログラムを記録した媒体
JP2000263857A (ja) 1999-03-17 2000-09-26 Oki Data Corp 印刷システム
JP2001005622A (ja) 1999-05-26 2001-01-12 Xerox Corp プリントレットシステム及び方法
JP3772596B2 (ja) 1999-07-19 2006-05-10 富士ゼロックス株式会社 印刷システムおよびその制御方法
JP2001088405A (ja) 1999-09-21 2001-04-03 Ricoh Co Ltd 印刷制御方法とそのプログラムを格納した記憶媒体並びにプリンタ制御装置及びプリンタシステム
JP3449958B2 (ja) 2000-01-18 2003-09-22 理想科学工業株式会社 印刷システム、印刷方法および印刷プログラムを格納したコンピュータ読取り可能な記録媒体
JP3392095B2 (ja) 2000-02-14 2003-03-31 キヤノン株式会社 情報処理装置および情報処理方法およびプリントシステム
US7312886B2 (en) * 2001-12-03 2007-12-25 Canon Kabushiki Kaisha Printer control method, information processing apparatus, program, and storage medium
JP2004005697A (ja) 2003-05-30 2004-01-08 Riso Kagaku Corp 印刷システム、印刷方法および仮想プリンタドライバプログラムを格納したコンピュータ読取り可能な記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265267A (ja) * 1998-03-17 1999-09-28 Canon Inc データ処理装置およびデータ処理装置のドライバ切替方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
11265267

Also Published As

Publication number Publication date
US20060139675A1 (en) 2006-06-29
KR20060073832A (ko) 2006-06-29
US8355144B2 (en) 2013-01-15

Similar Documents

Publication Publication Date Title
JP4817474B2 (ja) データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体
KR100871179B1 (ko) 프린트 제어 장치, 프린트 제어 방법 및 기록 매체
US7180619B2 (en) Methods and systems for recovering a failed print job
US7895609B2 (en) Method for installing driver software, information processing apparatus that employs the method, computer program for performing the method, and storage medium for storing the computer program
JP3720740B2 (ja) 分散印刷システム、分散印刷制御方法、記憶媒体、及びプログラム
US20110242565A1 (en) Printer control system, printing method, and storage medium
US7319533B2 (en) System for face-up printing from a duplex printer
JP4530012B2 (ja) 画像処理装置及びプログラム
US8355144B2 (en) Apparatus and method of changing printer driver, and printing system and method using the same
JP4438064B2 (ja) データ処理装置および印刷設定処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
KR20160018075A (ko) 화상형성장치, 화상형성방법, 인쇄 제어 단말 장치 및 컴퓨터 판독가능 기록매체
KR100871852B1 (ko) 고속 인쇄 방법 및 장치
US8634087B1 (en) Print control apparatus, data management method, and non-transitory computer-readable medium
US20130258377A1 (en) Printer control system, printing method, and storage medium
KR100529330B1 (ko) 에러 복구 가능한 인쇄 방법 및 장치와 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체
US20110242582A1 (en) Printer control system, printing method, and storage medium
US8830515B2 (en) Print control apparatus, data management method, and non-transitory computer-readable medium
JP3962720B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム、並びにコンピュータ読み取り可能な記憶媒体
JP2011142614A (ja) 画像処理装置、及びその制御方法
JPH10283129A (ja) 印刷制御装置及び印刷制御プログラムのインストール方法及び記憶媒体
JP4586839B2 (ja) 画像処理装置、印刷システム及びプログラム
JP2008027217A (ja) 情報処理装置および印刷装置を備える印刷システム
JPH10320139A (ja) 印刷制御装置及び印刷制御方法並びに印刷制御プログラムが記録されたコンピュータ読み取り可能な記録媒体
JP2003208273A (ja) 情報処理装置、制御コード生成方法、プログラム及び記憶媒体
JP2003241948A (ja) 失敗した印刷ジョブを回復するための方法または装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171025

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 13