KR19990045431A - 신 클라이언트(thin client) 상에 로컬 프린팅을 제공하는 방버뷰 - Google Patents

신 클라이언트(thin client) 상에 로컬 프린팅을 제공하는 방버뷰 Download PDF

Info

Publication number
KR19990045431A
KR19990045431A KR1019980049831A KR19980049831A KR19990045431A KR 19990045431 A KR19990045431 A KR 19990045431A KR 1019980049831 A KR1019980049831 A KR 1019980049831A KR 19980049831 A KR19980049831 A KR 19980049831A KR 19990045431 A KR19990045431 A KR 19990045431A
Authority
KR
South Korea
Prior art keywords
print
printer
data stream
network
dif
Prior art date
Application number
KR1019980049831A
Other languages
English (en)
Other versions
KR100308676B1 (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 포만 제프리 엘
Publication of KR19990045431A publication Critical patent/KR19990045431A/ko
Application granted granted Critical
Publication of KR100308676B1 publication Critical patent/KR100308676B1/ko

Links

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/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • 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/1296Printer job scheduling or printer resource handling
    • 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/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Landscapes

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

Abstract

네트워크 컴퓨팅 환경에서 프린트 랜더링 서버 시스템(print rendering server system)은 복수의 자원 제한된 클라이언트들의 전체적인 프린트 프로세스에서 가장 계산 집약적인 업무의 대부분을 수행한다. 클라이언트로부터의 프린트 요구에 응답하여, 프린트 대기 포맷으로 프린트 작업이 생성되고 상기 자원 제한된 클라이언트 시스템에 의한 로컬 프린팅을 위해 되돌려 송신된다.

Description

신 클라이언트(thin client) 상에 로컬 프린팅을 제공하는 방법
본 발명은 일반적으로 정보 취급 시스템(information handling system)의 네트워크 분야에 관한 것이다. 특히, 본 발명은 신 클라이언트로서 여기에 종종 언급되는, 제한된 자원들을 가진 연결된 시스템 상에 프린트 지원을 하기 위한 시스템 및 방법에 관한 것이다.
컴퓨터 시스템의 출력의 영구적 기록을 제공하는 하나의 수단으로서 컴퓨터 시스템에 프린터를 결합시키는 것이 잘 알려져 있다. 그러나, 서로 다른 형태의 서류 포맷들의 수뿐만 아니라 전혀 다른 인터페이스를 갖는 프린터들의 수가 증가함에 따라, 일반적 컴퓨터 환경에서 완벽한 프린터 지원을 하는 것은 매우 복잡하게 되었다. 컴퓨터와 프린터 하드웨어 및 소프트웨어 디자이너들은, 하나 이상의 프린터 드라이버들을 사용하여 장치의 특정 속성뿐만 아니라 환경의 복잡성으로부터 애플리케이션 개발자들이 벗어나도록 시도하여 왔다. 그들은 대체적으로 성공하였으나, 시스템 자원들에 관한 프린터 드라이버들 및 관련 소프트웨어의 부수적인 요구(attendant demand)들은 상당히 커지게 되었다.
네트워크 컴퓨팅의 비용을 줄이기 위한 최근 노력들 중의 하나는 네트워크 컴퓨터들, 또는 다른 "신 클라이언트(thin clients)"의 개발이다. 이 장치들은 제한된 로컬 시스템 자원을 가지며 오늘날 개인용 컴퓨터보다 네트워크 내의 보다 큰 시스템들에 대한 의존성이 더 크다는 특징이 있다.
제한된 자원을 가진 연결된 시스템 상에 완벽한 기능의 프린트 지원을 제공하는 것은 극히 어렵다. 대량의 랜덤 액세스 메모리 및 디스크 공간이 요구될 뿐만 아니라, 필요한 프로세서 속도로 인하여 네트워크 컴퓨터들의 개발이 복잡해진다. 일반적인 프린터 드라이버는 설치(install)하는데 1 내지 2 메가바이트(megabyte)의 디스크 공간을 필요로 한다. 드라이버가 필요한 스풀링 시스템(spooling system), 라스터 밴딩/저널링 코드(raster banding/journaling code), 포트 드라이버와 같은 시스템 콤포넌트들과 함께 로드될 때, 프린터 드라이버는 코드 공간을 위한 고안된 시스템 메모리의 다량을 소모할 수 있다. 드라이버가 프린트 작업을 하게 할 때, 프린터 드라이버는 페이지를 라스터화(rasterise)하기 위해 1 내지 64 메가바이트의 데이터 메모리를 사용할 수 있다. 밴딩(banding)과 같은 저 메모리 요구에 사용되는 테크닉들은 드라이버를 복잡하게 하고 드라이버 개발 시간을 증가시킨다. 또한, 이 테크닉들은 단지 메모리 사용을 위해 디스크 용법 및 프로세서를 이용(trade)한다. 프린터가 사용중일 때, 디스크 스풀링이 필요하다. 작업의 크기, 프린터 작업의 수 및 사용되는 프린터 언어에 따라, 스풀링 시스템의 디스크 요건은 몇 바이트에서 수백 메가바이트까지 달라질 수 있다.
명백하게, 이들 방대한 요건들로 인해 신(thin) 또는 자원 제한된 클라이언트에 대한 신뢰성 있는 로컬 프린트를 지원하는 것이 이례적으로 지나친 요구가 된다.
오늘날의 정보 취급 시스템에서 제한된 자원들을 가진 시스템으로부터의 로컬 프린팅은 존재하지 않거나, 제한되거나, 복잡하거나 또는 자원 집약적이다. 종래 해결책의 하나는 신 클라이언트 상에서의 로컬 프린팅을 허여하지 않는 것이다. 이는 이 시스템들의 사용자들로 하여금 강제로 서버 프린팅을 사용하게 하거나 또는 수조작으로 파일들을 프린팅을 위한 다른 시스템으로 업로드하게 한다. 이 방법은 로컬 프린팅의 편리를 제공하지 않는다.
또 다른 종래 방법은, 단일 또는 소수의 간단한 장치들에 대한 장치 지원을 감소하거나, 스풀링을 제한하거나 및/또는 예를 들어, 단지 텍스트만을 프린트하는 것과 같이 프린트 성능을 제한함으로써, 로컬 프린팅의 범주 및 기능성을 제한하는 것이다. 이 방법은 범용으로서는 지나치게 제한적이다.
가장 일반적인 종래 해결책은 네트워크에 접속된(attached) 개인용 컴퓨터 상에서의 상황과 매우 유사하게, 로컬 프린팅을 요구하는 신 클라이언트들 상에 자원들을 증가시키고 클라이언트 상에서 프린트 파일이 동작되게 하는 것이다. 이 방법은 모든 시스템의 비용 및 복잡성을 증가시켜, 네트워크 컴퓨터의 비용 절감 이익이 없어진다.
따라서, 네트워크 컴퓨팅 환경에서 경제적이고, 완벽한 기능의 로컬 프린트 기능을 제공할 필요가 있다.
그러므로, 본 발명의 목적은 자원 제한된 클라이언트 상에서 로컬 프린팅을 제공하는 것이다.
본 발명의 다른 목적은 로컬 프린팅을 제공함으로써 클라이언트에 요구되는 자원들이 증가되는 것을 피하는 것이다.
본 발명의 또 다른 목적은 신 클라이언트의 로컬 프린터에서 모든 종류의 서류들을 프린트하는 것이다.
본 발명의 또 다른 목적은 다른 시스템 업무들을 위한 로컬 프린팅에 일반적으로 사용되는(devoted) 시스템 자원들을 상당히 감소시키는 것이다.
본 발명의 또 다른 목적은 신 클라이언트에 가까이 위치하거나 또는 접속될 수도 있는 다양한 형태의 로컬 프린터들을 지원하는 것이다.
본 발명의 또 다른 목적은 신 클라이언트에 접속될 수도 있는 로컬 프린터들의 성능들을 충분히 이용하는 것이다.
도 1은 본 발명의 사상에 따라 구성된 컴퓨터 시스템을 나타내는 도면.
도 2는 프린트를 위해 사용되는 몇몇의 소프트웨어를 나타내는 종래 기술 시스템의 블록도.
도 3은 본 발명에 따라 구성된 신 클라이언트 및 서버의 블록도.
도 4는 본 발명의 프로세스를 나타내는 순서도.
<도면의 주요 부분에 대한 부호의 설명>
10…컴퓨터
11…시스템 유닛
12…키보드
13…마우스
14…그래픽 표시부
15A, 15B…스피커
22…마이크로프로세서
23…ROM
25…메모리 관리자
26…하드 디스크
27…플로피 디스크
28…키보드 제어기
29…마우스 제어기
30…비디오 제어기
31…오디오 제어기
32…CD ROM
33…디지털 신호 프로세서
40…I/O 제어기
48…애플리케이션
49…그래픽 API
50…DIF 생성자
51…DIF 송신자
52…프린트 수신자
이들 및 다른 목적들은 전체적인 프린트 프로세스에서 가장 계산 집약적인 업무(compute intensive task)들의 많은 부분을 수행하는 프린트 랜더링 서버 시스템을 사용함으로써 이루어진다. 프린트 대기 포맷(print ready format)에서 프린트 작업이 생성되어 자원 제한된 클라이언트 시스템에 의해 로컬 프린팅을 위해 되돌려진다.
프린트 요구가 로컬 프린팅을 위한 상주 애플리케이션으로부터 수신되는, 클라이언트 시스템에서 프로세스가 시작된다. 프린트 요구는 네트워크를 통해서 프린트 랜더링 서버로 송신된다. 프린트 랜더링 서버에서, 프린트 요구는 프린트 대기 포맷에서의 프린트 작업이 된다. 프린트 대기 포맷에서의 프린트 작업은 클라이언트 시스템에 국부적인(local)프린터로 네트워크를 거쳐서 되돌려진다. 그리하여, 신 클라이언트에서의 주요한 시스템 자원들을 프린트 서브시스템에 바치지 않으면서 로컬 프린터에서 프린트 작업이 프린트된다.
이어서, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명하기로 한다.
본 발명은 다수의 서로 다른 운용 시스템들 하에서 다양한 컴퓨터들 또는 컴퓨터들의 집합 상에서 실행될 수 있다. 컴퓨터는 예를 들어, 휴대용 컴퓨팅 장치(hand held device), 네트워크 컴퓨터, 개인용 컴퓨터, 미니 컴퓨터, 메인프레임 컴퓨터 또는 그 밖의 컴퓨터들일 수 있다. 컴퓨터의 특정 선택은 프로세서 속도 및 디스크 저장용량 요건(disk storage requirement)들에 의해서만 제한되지만, IBM PC 시리즈 컴퓨터들에서의 컴퓨터들이 본 발명에서 사용될 수 있을 것이다. IBM 개인용 컴퓨터가 실행할 수도 있는 운용 시스템의 하나는 IBM의 OS/2 Warp 4.0이다. 다른 방법으로는, 컴퓨터 시스템은 AIX(등록상표명) 운용 시스템 상에서 실행되는 IBM RISC System/6000(등록상표명) 라인의 컴퓨터들일 수 있을 것이다. 그 밖의 컴퓨터들 및 운용 시스템들이 알려져 있다.
도 1에서, 시스템 유닛(11), 키보드(12), 마우스(13), 표시부(14)를 포함하는 컴퓨터(10)가 블록도 형태로 도시되어 있다. 시스템 유닛(11)은, 다양한 콤포넌트들이 결합되고 다양한 콤포넌트들간의 통신이 수행되게 하는 시스템 버스 또는 복수의 시스템 버스들(21)을 포함한다. 마이크로프로세서(22)는 시스템 버스(21)에 접속되고, 리드 온리 메모리(ROM)(23) 및 랜덤 액세스 메모리(RAM)(24)-여기서, ROM 및 RAM도 또한 시스템 버스(21)에 접속됨-에 의해 지원된다. IBM PC 시리즈의 컴퓨터들에서의 마이크로프로세서는 386, 486 또는 팬티엄 마이크로프로세서들을 포함하는 인텔 패밀리(Intel family) 마이크로프로세서들의 하나이다. 그러나, 이에 제한되는 것이 아니라, 68000, 68020, 68030과 같은 모토롤라 패밀리 마이크로프로세서들과, IBM에 의해 제조된 PowerPC 칩과 같은 감소 명령 세트 컴퓨터(Reduced Instruction Set Computer: RISC) 마이크로프로세서들을 포함한다. 휴렛 팩커드, 선(Sun), 모토롤라 등에 의해 만들어진 다른 RISC 칩들이 특정 컴퓨터에서 사용될 수도 있다.
ROM(23)은 다른 코드 중에서 프로세서와 디스크 드라이브와 키보드의 상호작용과 같은 기본적인 하드웨어 동작들을 제어하는 기본 입력-출력 시스템(BIOS)을 포함한다. RAM(24)은 운용 시스템과 애플리케이션 프로그램들이 적재되는 메인 메모리이다. 메모리 관리 칩(25)은 시스템 버스(21)에 접속되고 RAM(24)과 하드 디스크 드라이브(26)와 플로피 디스크 드라이브간의 데이터 전송(passing)을 포함하는 직접 메모리 액세스 동작들을 제어한다. 시스템 버스(21)에 또한 결합된 CD ROM(32)은 대량의 데이터, 예를 들어, 멀티미디어 프로그램 또는 프리젠테이션을 저장하는데 사용된다.
이 시스템 버스(21)에는 또한 다양한 I/O 제어기들: 키보드 제어기(28), 마우스 제어기(29), 비디오 제어기(30), 오디오 제어기(31)가 접속된다. 기대되는 바와 같이, 키보드 제어기(28)는 키보드(12)를 위한 하드웨어 인터페이스를 제공하고, 마우스 제어기(29)는 마우스(13)를 위한 하드웨어 인터페이스를 제공하고, 비디오 제어기(30)는 표시부(14)를 위한 하드웨어 인터페이스이고, 오디오 제어기(31)는 스피커들(15)을 위한 하드웨어 인터페이스이다. 토큰 링 어댑터와 같은 I/O 제어기(40)는 네트워크(46)를 통해 유사하게 구성된 다른 데이터 프로세싱 시스템들로의 통신이 가능하도록 한다.
본 발명으로부터 이익을 취할 수 있는 장치들의 형태의 일 예는 팜탑(palmtop) 컴퓨터와 같은 무선 장치이다. 많은 콤포넌트들이 개인용 컴퓨터를 위한 상기한 것들과 유사하면서, 비록 크기나 성능이 작기는 하지만, 이 장치들은 동축(coax) 또는 다른 형태의 케이블이 아니라, RF 스펙트럼으로 셀룰라 또는 디지털 전송에 의해 네트워크에 일반적으로 연결된다. 통상 보다 적게 사용되지만, 적외선 또는 초음파와 같은 다른 통신 수단이 이 분야에 알려져 있다. 또한, 이 장치들의 일부는 마우스와 키보드와 같은 입력 장치가 없으며 터치 감지식 입력 시스템과 같은 다른 것을 가지고 있다.
본 발명의 바람직한 구현예의 하나는 상술한 바와 같이 일반적으로 구성된 하나 이상의 컴퓨터 시스템들의 랜덤 액세스 메모리(24)에 상주하는 명령들(48-52)의 세트들이다. 컴퓨터 시스템에 의해 요구되기까지, 명령들의 세트는 다른 컴퓨터 판독가능 메모리, 예를 들어, 하드 디스크 드라이브(26), 또는 CD-ROM(32)에서 궁극적으로 사용되기 위한 광 디스크 또는 플로피 디스크 드라이브(27)에서 궁극적으로 사용되기 위한 플로피 디스크와 같은 제거 가능한 메모리에 저장될 수 있다. 또한, 명령들의 세트는 다른 컴퓨터의 메모리에 저장되고 사용자가 원할 때 인터넷과 같은 로컬 영역 네트워크(LAN) 또는 광역 네트워크를 통해서 컴퓨터 판독가능 매체에 전송될 수 있다. 이 분야의 숙련자는, 명령들의 세트들의 물리적 저장이 물리적으로 매체를 변경하며, 매체가 컴퓨터 판독 가능 정보를 수반(carry)하도록 매체에 따라 전기적, 자기적 또는 화학적으로 저장됨을 알 것이다. 명령, 심볼, 문자 등의 용어로 본 발명을 설명하는 것이 편리하지만, 독자들은 이들 및 유사한 용어들 모두가 적절한 물리적 요소들(elements)과 연관됨을 기억하여야 한다.
더욱이, 본 발명은 인간 조작자에 관련될 수 있는 용어들로 종종 설명된다. 수행되는 동작들이 사용자 입력에 응답하는 것일 수 있으나, 인간 조작자에 의한 동작은 본 발명의 일부를 구성하며 여기에 기술된 동작들중 어디에도 바람직하지 않다; 동작들은 다른 전기적 신호들을 발생하기 위하여 전기 신호들을 처리하는 기계 동작들이다.
개인용 컴퓨터의 대표적인 구성을 도 2에 나타내었다. 이 구성은 선행 기술의 프린팅 방법들에서 사용되는 주요 소프트웨어 모듈의 일부를 나타낸다. 애플리케이션(76)은 프린팅 요구가 프린트 서브시스템(78)에 의해 해독되는 포맷으로 번역되는 그래픽 API 계층(77)으로 프린팅 호출을 한다. 프린트 서브시스템에 의해 해독되는 대표적인 포맷은 OS/2 Warp 운용 시스템에 의해 지원되는 그래픽 객체 내용 아키텍처(GOCA)이다. 일반적으로, 프린트 서브시스템을 위한 포맷은 각 운용 시스템에 고유하다. 프린트 작업은 프린트 요구로부터의 정보를 포함한다. 프린트서브시스템(78)은 목표 프린터(81)를 위한 정확한 장치 드라이버(79)를 선택한다. 장치 드라이버(79)는 프린트 대기 포맷(PRF)으로 프린트 작업을 생성하여 프린터로 송신하기 위해 작업 및 프린터 특성들을 채용한다.
이 선행 기술 아키텍처는 신 클라이언트에게는 불리하다. 발명의 배경에서 논의한 바와 같이, 프린트 서브시스템(78) 및 프린터 드라이버들(79)의 요구들은 방대할 수 있으며, 특히 다수의 복잡한 프린트 작업들이 프린트되어야 하는 경우에 그러하다.
본 발명은 다른 해결책을 제공한다. 신 클라이언트에 소속되는 것들을 포함하는, 네트워크에서 매우 다양한 프린터들을 위한 데이터 스트림들을 생성하기 위하여 프린트 서버를 사용함으로써, 프린트 시스템의 주요 요구들이 서버로 이동된다. 그리하여, 프린트를 지원하기 위해 각 신 클라이언트에서의 반복적인 투자(reoccurring investment)가 제한된다.
초기화 동안, 클라이언트는 단지, 초기 셋업에서 프린터들을 위한 장치 이름들에 기초하여 프린터 특성들 및 디폴트 작업을 위한 서버 상에 프린트 시스템을 문의하여 국부적으로 그들을 저장한다. 그런 다음 사용자는 사용자 인터페이스를 통하여 그들의 국부적인 프린팅을 위해 이들 특성들을 변경(modify)할 수 있다. 프린트 작업이 진행(submission)되는 동안, 소위 프린트-대기 포맷(PRF)으로 불리는, 장치 의존적 데이터 스트림으로 데이터를 변형(transformation)을 위해 장치 독립적 프린트 파일 및 클라이언트 루팅 정보(client routing information)와 함께 프린트 작업 및 프린터 특성들을 클라이언트가 서버로 송신한다.
서버는 작업 및 작업에 쓰여지는 프린터 특성들을 사용하여 적절한 프린터 장치를 위한 장치 독립적 프린트 파일 데이터를 변형하고, 클라이언트 루팅 정보를 사용하여 클라이언트 상에 작은 수신기로 데이터를 되돌려 송신한다. 예를 들어, 클라이언트 루팅 정보는 인터넷 IP 어드레스일 수 있다.
클라이언트는 프린터가 로컬 스풀링을 피하기 위해서 바쁠 때 서버를 보조하고(paces off) 그 데이터를 로컬 프린터로 출력한다. 클라이언트 시스템은 서버로부터의 프린터 데이터를 저장하기 위해 메모리를 할당한다. 클라이언트에서 할당되는 메모리의 양은 구성가능(configurable)하다. 클라이언트가 프린트 데이터로 할당된 메모리를 채울 때, 클라이언트는 메모리 내의 데이터의 일부 또는 전부가 로컬 프린터 상에서 프린트될 때까지 서버로부터 데이터를 수신하는 것을 멈춘다. 클라이언트는 그런 다음 서버로부터 데이터를 수신하는 것을 재개한다.
이제 도 3을 참조하면, 신 클라이언트(101)는 프린트 랜더링 서버(103)에 네트워크 링크(102)를 통해서 결합되어 있다. 네트워크 링크(102)는 예를 들어, 토큰 링 또는 이더넷(ethernet)과 같은 로컬 영역 네트워크를 포함하는 케이블들과 같은 하드웨어 링크, 또는 적외선, RF 또는 마이크로웨이브 링크일 수 있다. 본 발명의 목적을 위한 신 클라이언트는 프린트 업무들에 전용으로 사용되기 위해 사용자가 선택하지 않은 제한된 자원들 또는 자원들을 가진, 임의의 네트워크 연결된, 심지어 일시적으로 네트워크 연결된, 클라이언트 시스템이다. 본 발명에 따르면, 신 클라이언트(101)는 주 프린트 랜더링 서버를 사용하거나 또는 주 프린트 랜더링 서버의 위치를 알아내기 위해 글로벌 디렉토리(global directory) 탐색하도록 미리 구성될 수도 있다. 간단하게 하기 위해서, 네트워크 통신들에서 사용되는 정상적인 프로토콜 스택들, 네트워크 어댑터들 등을 도시하지 않았으나 이 분야의 숙련자는 그들이 또한 존재함을 이해할 것이다.
신 클라이언트(101)에서, 애플리케이션들(106, 106', 106")의 세트가 상주한다. 신 클라이언트의 사용자는 컴퓨터의 사용자 인터페이스에 의해 이 애플리케이션들을 액세스하고 애플리케이션이 하나 이상의 프린트 요구들을 제시하도록(issue) 할 수 있다. 그래픽 API(107)는 문자 또는 그래픽들을 그리기 위한 애플리케이션들에서 이용가능한 명령어들의 세트이다.
DIF 생성자(109)는, 애플리케이션에 의해 호출되는 그래픽 API들로부터 장치-독립적 포맷(DIF) 데이터 스트림을 발생하는 신 클라이언트 상에 그래픽 API 계층(107)에 의해 호출되는 콤포넌트이다. 장치 독립적 프린트파일의 예는 그래픽 객체 내용 아키텍처(GOCA) 메타파일이다. GOCA에 관한 정보는 그래픽 프로그래밍 인터페이스 프로그래밍 가이드, 주문 번호. G25H-7106-00, IBM사 간행물에서 찾을 수 있다.
DIF 생성자(109)는 DIF 송신자(111)로 DIF 데이터 스트림을 전달한다. DIF 송신자(111)는 프린트 랜더링 서버(103)에서 DIF 서버(123)로 DIF 데이터 스트림을 송신한다. DIF 데이터 스트림은 작업 특성들, 프린터 특성들, 작업을 위한 루팅 정보가 수반된다.
독자는, 프린트 요구의 초기화에 앞서, 프린트 랜더링 서버(103) 상에 등록 콤포넌트(121)가 라이트웨이트 디렉토리 액세스 프로토콜(LightWeight Directory Access Protocol:LDAP)과 같은 프로토콜을 사용하여 글로벌 디렉토리 서비스에 장치 랜더링 서비스들을 등록함을 주목하여야 한다. LDAP 디렉토리 서비스는 프린트 랜더링 서비스들을 수행하기 위한 적절한 서버를 찾기 위해 신 클라이언트들에 의해 사용될 수 있다. 프린트 랜더링 서버(103)는 그들이 지원하는 프린터들 및 프린터 드라이버를 광고하기 위해 디렉토리 서비스를 사용한다. 가능하게는, IP 어드레스가 가장 가까운 프린트 랜더링 서버를 위한 바람직한 프린트 드라이버들을 지원하는 서버들 중에서 선택하기 위해 클라이언트에 의해 사용될 수 있다.
DIF 서버(123)는 장치 독립적 포맷 데이터 스트림을 받아들여, 프린트-대기 포맷(PRF) 데이터 스트림을 발생하기 위해, 수반되는 작업 특성들, 프린터 특성들 및 루팅 정보를 사용하여 프린트 서브시스템(125)에 작업을 제시한다. 프린트 서브시스템(125)은 프린트 작업들을 스풀링 및 릴리징(releasing)을 맡고 있는 콤포넌트를 포함하는 장치 드라이버이다. 프린터 장치 드라이버들(127, 127', 127")은 프린트-대기 포맷(PRF) 데이터 스트림을 발생할 수 있는 프린트 랜더링 서버(103) 상의 콤포넌트들이다. 프린터 장치 드라이버들의 예들은 PostCsript 또는 PCL 프린터 장치 드라이버들일 것이다.
프린터 라우터(129)는 예를 들어 신 클라이언트(101)로 제시된 프린트 작업의 루팅 정보에 특정된 목적지(destination)로 프린트-대기 포맷(PRF) 데이터 스트림을 송신하는 프린트 랜더링 서버(103) 상의 콤포넌트이다.
신 클라이언트 상의 프린트 수신기 콤포넌트(113)는 프린트-대기 포맷(PRF) 데이터 스트림을 수신하고 그것을 국부적으로 부착된 프린터(105)로 송신한다. 프린트 수신기 콤포넌트(113)는 로컬 스풀링을 피하기 위해 제어된 방식으로 PRF 데이터 스트림이 수신되도록 할당된 메모리 모니터를 포함한다. 본 발명의 몇몇 실시예들에서, 프린트 수신기는 다른 시스템 상에 데이터를 일시적으로 저장할 수도 있으나, 네트워크에 직접 부착된 프린터 또는 가까운 신 클라이언트에 부착될 수도 있다. 이 경우들에서, 프린터 수신기 콤포넌트(113)는 요구중인 신 클라이언트(101)에서 필요하지 않다.
본 발명에 따라 프린트 작업을 프린트하는 프로세스는 도 4의 순서도를 참조하여 좀 더 상세히 한다.
신 클라이언트 상의 애플리케이션에서, 최종-사용자는 단계 201에서 로컬 프린터(이하 '목표 프린터'라 함)를 선택하여 그 프린터에 관한 정보를 프린트한다. 그런 다음 애플리케이션은 단계 203에서 목표 프린터에 관한 정보를 프린트하기 위해 텍스트 및 그래픽들을 그리도록 그래픽 API 호출을 발행한다. OS/2를 위한 그래픽 API 호출들의 예는 문자를 그리기 위한 GpiCharStringAt()와 다각형들을 그리기 위한 GpiPolygons()이다. 자바 그래픽 객체를 위한 그래픽 API 호출들의 예는 문자를 그리기 위한 drawCharacters와 다각형을 그리기 위한 drawPolygon이다.
DIF 생성자는 단계 205에서 장치-독립적 포맷(DIF)으로 이 호출들을 변환한다. 바람직한 실시예에서, 그래픽 API와 생성 DIF 명령간의 변환은 DIF 생성자에 의해 사용되는 룩업 테이블 및 코드에 의해 이루어진다. 단계 207에서, DIF 생성자는 장치-독립적 포맷으로 프린트 요구를 DIF 서버로 송신한다. 이 프린트 요구는: (1) 정보, 예를 들어 다수의 사본들 및 오리엔테이션을 프린트하기 위해 사용자에 의해 선택된 프린트 선택사항들(이하 "작업 특성"이라 함); (2) 목표 프린터의 생산자 및 모델(이하 "장치 id"라 함), 예를 들어 "IBM 네트워크 프린터 12"; (3) 목표 프린터의 장치 선택사항들, 예를 들어, 프린터 메모리의 양, (이하, "프린터 특성들"이라 함); 목표 프린터의 어드레스를 서버에 알려주는 루팅 정보; 및 (5) 장치-독립적 데이터, 즉 그래픽 API 호출들로부터 생성된 DIF 파일을 포함한다. 루팅 정보 및 프린터 특성들은 운용 시스템에게 알려진 프린트 프로토콜에 따라 프린트 랜더링 서버로 프린트 작업과 함께 전달된다. 프로토콜의 예는: 랜더링 서버에 의해 수신된 프로토콜 JOBNAME=Calendar Page, DATATYPE=DIF, ORIENTATION=PORTRAIT, MEMORY=4MB, FORM=LETTER, ROUTINFO=9.53,255,255와 같은 명칭-값 쌍일 것이다.
단계 209에서, DIF 서버는 신 클라이언트로부터 프린트 요구를 확인하고(validate) 그 프린트 요구를 거절하거나 또는 받아들인다. DIF 서버는, 만일 DIF 포맷이 지원되지 않거나 또는 제시중인 클라이언트가 DIF 서버에게 작업을 제시할 권한이 없으면, 요구를 거절할 수 있다. 어느 한 경우에, 단계 211에서 DIF 서버는 요구를 거절하고 클라이언트에게 거절 통지를 송신한다.
만일 서버가 요구를 받아들이면, 단계 213에서 서버는 그것이 목표 프린터를 지원하는지 또는 다른 DIF 서버가 목표 프린터를 지원하는지를 결정하기 위해 장치 id를 사용한다. 만일 서버가 목표 프린터를 지원하면, 그것이 요구를 프로세스한다. 그렇지 않으면, 서버는 목표 프린터를 지원하는 다른 DIF 서버를 찾기 위해서 라이트웨이트 디렉토리 액세스 프로토콜(LDAP)과 같은 프로토콜을 사용하여 글로벌 디렉토리상의 속성에 의해 서치를 실행(issue)할 것이다. 서버는 단계 215에서 그 DIF 서버로 프린트 요구를 넘긴다.
목표 프린터를 지원하는 DIF 서버는 그런 다음 단계 217에서 프린트 서브시스템을 호출한다. 프린트 서브시스템은 프린트를 위한 프린트 작업을 생성, 스풀링, 스케줄링한다. 프린트 작업은 프린트 요구로부터의 정보, 즉 작업 특성들, 프린터 특성들, 루팅 정보 및 DIF 파일을 포함한다. 프린트 서브시스템은 단계 221에서 목표 프린터를 위한 정확한 장치 드라이버를 선택하기 위해 장치 id를 사용한다. 장치 드라이버는 단계 223에서, 프린트-대기 포맷(PRF)으로 프린트 작업을 생성 및 송신하기 위해서 작업 및 프린터 특성들을 사용한다. 장치 드라이버는 단계 225에서 프린트 라우터로 PRF 작업을 송신한다. PRF는 작업을 프린트하기 위해 목표 프린터가 사용하는 명령들 및 데이터를 포함한다. Postscript는 PRF의 일 예이다.
프린트 라우터는 단계 227에서 신 클라이언트 상에 프린트 수신기로 PRF로 프린트 작업을 송신하기 위해 프린트 작업내의 루팅 정보를 사용한다. 프린트 수신기는 단계 231에서, PRF로 프린트 작업을 수신한다. 끝으로, 프린트 수신기는 단계 233에서 목표 프린터 상에 작업을 송신하고 프린트한다.
가장 계산 및 저장 집약적인 업무를 위해 프린트 랜더링 서버에서 이용가능한 상대적으로 강건한 자원들을 사용함으로써, 프린팅에 전용되는 각 네트워크 컴퓨터에서의 자원들을 제한할 수 있다. 게다가 본 발명은 또한, 가장 순수한 프린트 서버 기반 해결책에서 이용할 수 없는, 로컬 프린팅의 편리성이 있다.
본 발명은 또한 적응성이 있다(flexible). 프린트 랜더링 서버로 프린트 작업과 함께 루팅 정보를 전달함으로써, 서버는 신 클라이언트 또는 프린터 큐와 연관된 다른 특별 프린터에 부착된 로컬 프린터 상에서 프린트되도록 제시중인 신 클라이언트로 프린트-대기 포맷을 되돌려 송신할 필요가 없다. 대신에, 루팅 정보에 의해 서로 다른 로컬 컴퓨터, 예를 들어 사무소 동료의 컴퓨터에 부착된 것으로 프린트 대기 포맷을 향하게 할 수 있다. 본 발명은 또한 팩시밀리와 많이 유사하게, 다른 위치에 있는 컴퓨터 또는 프린터로 서류를 송신할 수 있다. 더욱이, PRF 작업은 네트워크에 부착된 프린터에 직접적으로 송신될 수 있다. 이 분야의 숙련자들에게 알려진 바와 같이, 프린터는 인터넷 어드레스와 같이, 네트워크 어드레스를 가진 네트워크 카드를 가지고 네트워크에 직접 부착될 수 있다. 프린터로 프린트 작업을 직접 송신하기 위해, PRF 작업은 프린터의 네트워크 어드레스를 포함하는 루팅 정보를 사용하여 송신될 것이다.
본 발명은 인터넷에 의해 하나 이상의 서버들에 결합된 복수의 네트워크 컴퓨터들에서 특정 애플리케이션을 찾는다. 그러한 배열에서, 서버는 네트워크 컴퓨터에 영구히 저장되어 있는 클라이언트 파일들이 아니라, 클라이언트 이미지들을 포함한다.각 클라이언트 네트워크 컴퓨터의, 클라이언트 이미지들, 즉 소프트웨어 및 프로파일들은 로그온시 클라이언트 네트워크 컴퓨터로 다운로드된다. 이 클라이언트 이미지는 도 3에 나타낸 바와 같은 신 클라이언트(101)에서 소프트웨어 모듈들을 포함할 수 있으나, 대부분이 서버로 오프로드되는, 개인용 컴퓨터에 모든 프린터 소프트웨어들을 포함할 필요는 없다. 물론, 클라이언트로부터의 모든 프린팅이 네트워크에 직접 결합된 네트워크 프린터 상에서 실행되었다면, 프린트 수신기 모듈은 클라이언트 이미지에서 필요하지 않다. 그러므로, 클라이언트 이미지들의 다운로딩이 보다 효율적이다.
본 발명의 특정 실시예들을 참조하여 설명하였으나, 이 분야의 숙련자들은 본 발명이 다른 환경에서, 변형하여 실시될 수 있음을 알 수 있을 것이다. 예를 들어, 상기한 본 발명은 소프트웨어에 의해 선택적으로 재구성되거나 또는 활성화된 범용 컴퓨터에서 편리하게 구현될 수 있으나, 이 분야의 숙련자들은 본 발명이 상기한 발명을 수행하기에 특별히 고안된 전용 장치를 포함하여, 하드웨어, 펌웨어(firmware) 또는 소프트웨어, 펌웨어 또는 하드웨어의 임의의 조합으로 실행할 수 있음을 알 수 있을 것이다. 그러므로, 첨부된 특허청구범위에 나타낸 바와 같은 본 발명의 사상 및 범주를 벗어나지 않고 그 안에서 형태 및 상세한 사항들의 변경들이 이루어질 수 있다.

Claims (35)

  1. 자원 제한된 클라이언트 시스템을 위한 로컬 프린팅 방법에 있어서,
    클라이언트 시스템에서, 로컬 프린팅을 위한 상주 애플리케이션으로부터의 프린트 요구를 수신하는 단계와,
    네트워크를 통하여 프린트 랜더링 서버로 프린트 요구를 송신하는 단계와,
    프린트 랜더링 서버에서, 상기 프린트 요구를 장치 의존적 데이터 스트림으로 랜더링하는 단계와;
    네트워크를 거쳐서 상기 클라이언트 시스템에 로컬한 프린터로 상기 장치 의존적 데이터 스트림을 송신하는 단계와;
    상기 로컬 프린터에서 프린팅을 위해 상기 장치 의존적 데이터 스트림을 수신하는 단계
    를 포함하는 자원 제한된 클라이언트 시스템을 위한 로컬 프린팅 방법.
  2. 제1항에 있어서,
    상기 상주 애플리케이션으로부터의 상기 프린트 요구는 그래픽 API 호출들의 세트로 수신되고,
    상기 방법은 상기 클라이언트 시스템에서 상기 그래픽 API 호출들을 장치 의존적 포맷으로 변환하는 단계
    를 더 포함하는 자원 제한된 클라이언트 시스템을 위한 로컬 프린팅 방법.
  3. 제2항에 있어서,
    상기 프린트 요구는 장치 의존적 포맷으로 상기 프린트 작업, 작업 특성들, 프린터 특성들 및 루팅 정보를 포함하는
    자원 제한된 클라이언트 시스템을 위한 로컬 프린팅 방법.
  4. 제3항에 있어서,
    상기 루팅 정보는 상기 클라이언트 시스템에 직접 부착되지 않은 로컬 프린터에 대한 어드레스를 포함하는
    자원 제한된 클라이언트 시스템을 위한 로컬 프린팅 방법.
  5. 제4항에 있어서,
    상기 로컬 프린터는 상기 네트워크에 직접 부착되는
    자원 제한된 클라이언트 시스템을 위한 로컬 프린팅 방법.
  6. 제1항에 있어서,
    상기 프린트 랜더링 서버로 송신되는 상기 프린트 요구는, 상기 수신 단계가 상기 클라이언트 시스템에서 수행되도록, 상기 클라이언트 시스템에 대한 어드레스를 갖는 루팅 정보를 포함하는
    자원 제한된 클라이언트 시스템을 위한 로컬 프린팅 방법.
  7. 제1항에 있어서,
    수신 장치에서의 로컬 스풀링을 피하기 위하여 상기 장치 의존적 데이터 스트림을 제어하는 단계
    를 더 포함하는 자원 제한된 클라이언트 시스템을 위한 로컬 프린팅 방법.
  8. 제1항에 있어서,
    상기 클라이언트 시스템은 무선 전송 수단에 의해 상기 네트워크에 접속되는
    자원 제한된 클라이언트 시스템을 위한 로컬 프린팅 방법.
  9. 컴퓨터 네트워크에 있어서,
    복수의 자원 제한된 클라이언트 시스템들과-여기서, 상기 복수의 자원 제한된 클라이언트 시스템중 적어도 하나가,
    그래픽 API 호출들에 의해 주기적으로 프린트 요구들을 하는 복수의 애플리케이션들과,
    수신된 그래픽 API 호출들로부터 장치 독립적 포맷 데이터스트림을 발생하는 DIF 생성자와,
    네트워크를 통해서 프린트 랜더링 서버로 상기 장치 독립적 포맷 데이터스트림과 프린터와 루팅 정보를 송신하는 DIF 송신자를 포함함-,
    상기 장치 독립적 데이터 스트림을 장치 의존적 데이터 스트림으로 랜더링하는 프린트 랜더링 서버와,
    상기 루팅 정보에 따라 네트워크를 거쳐서 프린터로 상기 장치 의존적 데이터 스트림을 송신하는 프린트 라우터와,
    프린터에 결합된 장치 의존적 데이터 스트림을 수신하는 프린트 수신기와,
    상기 장치 의존적 데이터 스트림에 따라 프린트를 하는 프린터
    를 포함하는 컴퓨터 네트워크.
  10. 제9항에 있어서,
    상기 프린터 정보는 작업 특성들 및 프린터 특성 정보를 포함하는
    컴퓨터 네트워크.
  11. 제9항에 있어서,
    상기 DIF 생성자 및 DIF 송신자는 제1 클라이언트 시스템에 위치하고 상기 프린트 수신기는 제2 클라이언트 시스템에 위치하는
    컴퓨터 네트워크.
  12. 제9항에 있어서,
    상기 DIF 생성자 및 DIF 송신자는 제1 클라이언트 시스템에 위치하고, 상기 프린트 수신기는 상기 네트워크에 직접적으로 부착된 프린터에 위치하는
    컴퓨터 네트워크.
  13. 제9항에 있어서,
    상기 DIF 생성자, 상기 DIF 송신자 및 상기 프린트 수신기는 제1 클라이언트 시스템에 위치하는
    컴퓨터 네트워크.
  14. 제9항에 있어서,
    상기 프린트 수신기는 상기 수신 장치에서의 로컬 스풀링을 피하기 위해 상기 장치 의존적 데이터 스트림을 위한 제어 수단을 더 포함하는
    컴퓨터 네트워크.
  15. 제9항에 있어서, 적어도 하나의 클라이언트 시스템이 무선 전송 수단에 의해 상기 네트워크로 연결되는
    컴퓨터 네트워크.
  16. 제9항에 있어서,
    상기 클라이언트 시스템은 상기 네트워크에 접속되어 서버에 의해 다운로드되는 DIF 생성자 및 DIF 송신자를 포함하는 클라이언트 이미지를 갖는 것을 특징으로 하는 네트워크 컴퓨터들인
    컴퓨터 네트워크.
  17. 제9항에 있어서,
    상기 네트워크에서 프린트 랜더링 서버들을 등록하기 위한 글로벌 디렉토리 서비스를 더 포함하는
    컴퓨터 네트워크.
  18. 프로세서, 메모리 및 네트워크 연결자(connnector)를 포함하는 프린트 랜더링 서버에 있어서,
    요구중인 클라이언트 시스템으로부터 네트워크를 통해서 장치 독립적 포맷 데이터스트림과 프린터와 루팅 정보를 수신하는 수단과,
    상기 장치 독립적 데이터 스트림을 장치 의존적 데이터 스트림으로 랜더링하는 프린터 드라이버와,
    상기 루팅 정보에 따라 상기 요구중인 클라이언트 시스템의 프린터로 네트워크를 거쳐서 상기 장치 의존적인 데이터 스트림을 송신하는 프린트 라우터
    를 포함하는 프린트 랜더링 서버.
  19. 제18항에 있어서,
    상기 장치 독립적 데이터 스트림을 서로 다른 프린터를 위한 장치 의존적 데이터 스트림으로 랜더링하는 프린터 드라이버들의 세트를 더 포함하는
    프린트 랜더링 서버.
  20. 제18항에 있어서,
    상기 프린터 정보는 작업 특성 및 프린터 특성 정보를 포함하는
    프린트 랜더링 서버.
  21. 제18항에 있어서,
    상기 네트워크에서 글로벌 디렉토리 서비스에 상기 서버를 등록하는 등록 수단을 더 포함하는
    프린트 랜더링 서버.
  22. 제21항에 있어서,
    원하는 프린터를 위한 프린트 랜더링을 지원하는 또 다른 프린트 랜더링 서버를 위한 글로벌 디렉토리 서비스를 탐색하는 탐색 수단을 더 포함하는
    프린트 랜더링 서버.
  23. 프로세서, 메모리 및 네트워크 연결자를 포함하는 자원 제한된 클라이언트 시스템에 있어서,
    그래픽 API 호출들에 의해 프린트 요구를 주기적으로 하는 복수의 애플리케이션들과,
    수신된 그래픽 API 호출들로부터 장치 독립적인 포맷 데이터스트림을 발생하는 DIF 생성자와,
    프린트 랜더링 서버로 네트워크를 통해서 상기 장치 독립적 포맷 데이터스트림과 프린터와 루팅 정보를 송신하는 DIF 송신자
    를 포함하는 클라이언트 시스템.
  24. 제23항에 있어서,
    상기 프린트 랜더링 서버로부터 장치 의존적 데이터 스트림을 수신하기 위한 프린트 수신자
    를 더 포함하는 클라이언트 시스템.
  25. 제24항에 있어서,
    상기 장치 의존적 데이터 스트림에 따라 프린트를 하는 로컬 프린터
    를 더 포함하는 클라이언트 시스템.
  26. 제24항에 있어서,
    상기 프린트 수신자가 로컬 스풀링을 피하기 위하여 상기 장치 의존적 데이터 스트림을 위한 제어 수단을 더 포함하는 클라이언트 시스템.
  27. 제23항에 있어서,
    상기 네트워크 연결자가 상기 클라이언트 시스템을 네트워크에 결합시키기 위한 무선 전송 수단을 더 포함하는 클라이언트 시스템.
  28. 제23항에 있어서,
    상기 클라이언트 시스템이, 상기 네트워크에 접속시 서버에 의해 다운로드되는 DIF 생성자 및 DIF 송신자를 포함하는 클라이언트 이미지를 갖는 특징이 있는 네트워크 컴퓨터인 클라이언트 시스템.
  29. 프린트 랜더링 서비스를 위한 컴퓨터로 읽을 수 있는 메모리 내에 컴퓨터 프로그램 제품에 있어서,
    요구중인 클라이언트 시스템으로부터 네트워크를 통해서 장치 독립적 포맷 데이터스트림과 프린터와 루팅 정보를 수신하는 수단과,
    상기 장치 독립적 포맷 데이터스트림을 장치 의존적 데이터 스트림으로 랜더링하는 프린터 드라이버와,
    상기 루팅 정보에 따라 상기 요구중인 클라이언트 시스템에 의해 요구된 프린터로 상기 네트워크를 통해서 상기 장치 의존적 데이터 스트림을 송신하는 프린트 라우터
    를 포함하는 프린트 랜더링 서비스를 위한 컴퓨터로 읽을 수 있는 메모리 내에 컴퓨터 프로그램 제품.
  30. 제29항에 있어서,
    상기 장치 독립적 포맷 데이터스트림을 서로 다른 프린터에 대한 장치 의존적 데이터 스트림으로 랜더링하는 프린터 드라이버들의 세트를 더 포함하는
    프린트 랜더링 서비스를 위한 컴퓨터로 읽을 수 있는 메모리 내에 컴퓨터 프로그램 제품.
  31. 제29항에 있어서,
    상기 네트워크에서 글로벌 디렉토리 서비스에 상기 서버를 등록하기 위한 등록 수단을 더 포함하는
    프린트 랜더링 서비스를 위한 컴퓨터로 읽을 수 있는 메모리 내에 컴퓨터 프로그램 제품.
  32. 제31항에 있어서,
    원하는 프린터를 위한 프린트 랜더링을 지원하는 또 다른 프린트 랜더링 서버에 대한 글로벌 디렉토리 서비스를 탐색하기 위한 탐색 수단을 더 포함하는
    프린트 랜더링 서비스를 위한 컴퓨터로 읽을 수 있는 메모리 내에 컴퓨터 프로그램 제품.
  33. 컴퓨터로 읽을 수 있는 매체내의 컴퓨터 프로그램 제품에 있어서,
    그래픽 API 호출들의 세트의 프린트 요구를 수신하기 위한 수단과,
    수신된 그래픽 API 호출들로부터 장치 독립적 포맷 데이터스트림을 발생하는 DIF 생성자와,
    상기 장치 독립적 포맷 데이터스트림과 프린터와 루팅 정보를 네트워크를 통해서 프린트 랜더링서버로 송신하기 위한 DIF 송신자
    를 포함하는 컴퓨터로 읽을 수 있는 매체내의 컴퓨터 프로그램 제품.
  34. 제33항에 있어서,
    상기 프린트 랜더링 서버로부터 장치 의존적 데이터 스트림을 수신하기 위한 프린트 수신자를 더 포함하는
    컴퓨터로 읽을 수 있는 매체내의 컴퓨터 프로그램 제품.
  35. 제34항에 있어서,
    상기 프린트 수신자가 로컬 스풀링을 피하기 위하여 상기 장치 의존적 데이터 스트림을 위한 제어 수단을 더 포함하는
    컴퓨터로 읽을 수 있는 매체내의 컴퓨터 프로그램 제품.
KR1019980049831A 1997-11-19 1998-11-19 신클라이언트상에로컬프린팅을제공하는방법 KR100308676B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/974,418 1997-11-19
US08/974,418 US6201611B1 (en) 1997-11-19 1997-11-19 Providing local printing on a thin client
US8/974,418 1997-11-19

Publications (2)

Publication Number Publication Date
KR19990045431A true KR19990045431A (ko) 1999-06-25
KR100308676B1 KR100308676B1 (ko) 2001-10-20

Family

ID=25522018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980049831A KR100308676B1 (ko) 1997-11-19 1998-11-19 신클라이언트상에로컬프린팅을제공하는방법

Country Status (6)

Country Link
US (1) US6201611B1 (ko)
JP (1) JP3290410B2 (ko)
KR (1) KR100308676B1 (ko)
CN (1) CN1095562C (ko)
GB (1) GB2332764B (ko)
TW (1) TW417057B (ko)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247011B1 (en) * 1997-12-02 2001-06-12 Digital-Net, Inc. Computerized prepress authoring for document creation
US6415289B1 (en) * 1998-03-19 2002-07-02 Williams Communications, Inc. Network information control method utilizing a common command format and a centralized storage management system
GB2342196A (en) * 1998-09-30 2000-04-05 Xerox Corp System for generating context-sensitive hierarchically-ordered document service menus
US6636891B1 (en) * 1998-11-06 2003-10-21 Seiko Epson Corporation Methods and apparatus for controlling an input or output device over the internet
US6604111B1 (en) * 1998-12-17 2003-08-05 International Business Machines Corporation Method and system for spooling virtual machine data-presentation jobs via creation of an executable file
US7401113B1 (en) * 1999-12-09 2008-07-15 Microsoft Corporations Printer driver identification for a remote printer
US6842766B2 (en) * 1999-12-09 2005-01-11 Microsoft Corporation Client side caching of printer configuration
EP1259887A4 (en) 2000-01-25 2003-08-13 Vistaprint Usa Inc PRINT MANAGEMENT
FR2804231B1 (fr) 2000-01-25 2002-11-08 Vistaprint Usa Inc Impression centralisee de documents commerciaux en faibles volumes sur des machines auparavant limitees a des tres gros tirages
US7068381B1 (en) * 2000-02-02 2006-06-27 Raja Tuli Portable high speed internet access device
US6633314B1 (en) * 2000-02-02 2003-10-14 Raja Tuli Portable high speed internet device integrating cellular telephone and palm top computer
US7023572B2 (en) * 2000-02-02 2006-04-04 Raja Singh Tuli Portable high speed internet access device
US20020115477A1 (en) * 2001-02-13 2002-08-22 Raja Singh Portable high speed internet access device with scrolling
US20020030843A1 (en) * 2000-02-02 2002-03-14 Tuli Raja Singh Portable high speed internet access device
US6874009B1 (en) 2000-02-16 2005-03-29 Raja Tuli Portable high speed internet device with user fees
GB2365599A (en) * 2000-03-27 2002-02-20 Ibm System method and program for enabling communication between a client and a device with a remote server hosted device driver
US6781710B1 (en) 2000-03-27 2004-08-24 Hewlett-Packard Development Company, L.P. Print job capture subsystem with pass-through support
EP1292895A4 (en) * 2000-04-07 2006-08-09 Financeware Com METHOD AND DEVICE FOR PLAYING ELECTRONIC DOCUMENTS
WO2001095085A1 (fr) * 2000-06-09 2001-12-13 Kobayashi Kirokushi Co., Ltd. Procede et systeme de commande d'impression et dispositif de connexion specialise
CA2315270A1 (en) * 2000-08-04 2002-02-04 Charon Systems Inc. Printer driver system for remote printing
US7099304B2 (en) 2000-09-05 2006-08-29 Flexiworld Technologies, Inc. Apparatus, methods and systems for anonymous communication
US7191211B2 (en) * 2000-10-03 2007-03-13 Raja Tuli Portable high speed internet access device priority protocol
SE517166C2 (sv) * 2000-10-10 2002-04-23 Print Dreams Europe Ab Mobilt system för åtkomst och visualisering av standard internet innehåll och tjänster
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
WO2002046867A2 (en) 2000-11-01 2002-06-13 Flexiworld Technologies, Inc. Controller and manager for device-to-device pervasive digital output
AU2002226948A1 (en) 2000-11-20 2002-06-03 Flexiworld Technologies, Inc. Tobile and pervasive output components
US7636757B2 (en) * 2000-12-15 2009-12-22 Canon Kabushiki Kaisha Printing over the internet
US20020097416A1 (en) 2001-01-19 2002-07-25 Chang William Ho Output controller processor for universal data output
JP4269532B2 (ja) * 2001-03-30 2009-05-27 ブラザー工業株式会社 データ解析プロバイダシステム、データ解析プロバイダ、データ解析方法及びデータ解析プログラム
US20020191206A1 (en) * 2001-06-18 2002-12-19 Anderson Jeff M. Rendering broker service and method
US20020194228A1 (en) * 2001-06-18 2002-12-19 Lainye Reich System and method for automated rendering to print to a file
DE10164631A1 (de) * 2001-07-16 2003-02-13 Thinprint Gmbh Verfahren zur Ausgabe von Inhalten aus dem Internet oder einem Intranet
US7191448B2 (en) * 2001-08-08 2007-03-13 Hewlett-Packard Development Company, L.P. Web based imaging page redirector system for accessing a redirector reference that directs a browser to a redirector software
US7624162B2 (en) * 2001-08-13 2009-11-24 Hewlett-Packard Development Company, L.P. Methods, systems, devices and computer-readable media for accessing network accessible devices
US7417754B2 (en) 2001-09-05 2008-08-26 Hewlett-Packard Development Company, L.P. Wireless printing interface kit and method
US7409434B2 (en) * 2001-09-07 2008-08-05 Xerox Corporation Method and apparatus for controlling document service requests using a mobile computing device
US6922725B2 (en) * 2001-09-07 2005-07-26 Xerox Corporation Method and apparatus for processing document service requests originating from a mobile computing device
US20030064718A1 (en) * 2001-09-28 2003-04-03 Haines Robert E. Selective communication in a wireless network based on peer-to-peer signal quality
US6826162B2 (en) * 2001-09-28 2004-11-30 Hewlett-Packard Development Company, L.P. Locating and mapping wireless network devices via wireless gateways
US7430736B2 (en) * 2001-10-03 2008-09-30 Toshiba Tec Kabushiki Kaisha Download and installation of software from a network printer
US7421466B2 (en) 2001-10-29 2008-09-02 Hewlett-Packard Development Company, L.P. Dynamic mapping of wireless network devices
US20030123075A1 (en) * 2001-12-28 2003-07-03 Ching-Ching Lin Network printing system
US8681352B2 (en) * 2002-04-18 2014-03-25 Hewlett-Packard Development Company, L.P. Pull based computer output devices
US20030200353A1 (en) * 2002-04-19 2003-10-23 Vikas Dogra Browser-implemented upload/download of a driver
US20030200361A1 (en) * 2002-04-19 2003-10-23 Vikas Dogra Extensible drive
US8886701B1 (en) * 2002-07-15 2014-11-11 Hewlett-Packard Development Company, L.P. Network based software agent to allow dynamic resource access
US7443523B2 (en) 2002-11-22 2008-10-28 Xerox Corporation Printing to a client site from an application running on a remote server
US8176428B2 (en) * 2002-12-03 2012-05-08 Datawind Net Access Corporation Portable internet access device back page cache
EP1435596A1 (en) * 2003-01-02 2004-07-07 Toshiba Corporation System and method for providing fee-based data services to mobile users
US20040193752A1 (en) * 2003-01-02 2004-09-30 Harpreet Singh System and method for providing fee-based data services
US20040193751A1 (en) * 2003-01-02 2004-09-30 Harpreet Singh System and method for providing fee-based data services
US20040130744A1 (en) * 2003-01-03 2004-07-08 Vincent Wu Online print with driverless web print server
US7233990B1 (en) * 2003-01-21 2007-06-19 Hewlett-Packard Development Company, L.P. File processing using mapping between web presences
JP2005100356A (ja) * 2003-08-29 2005-04-14 Seiko Epson Corp プリンタ制御用プログラムおよび文書操作端末、並びに文書処理システム、印刷データ作成方法
US8405846B2 (en) * 2003-09-10 2013-03-26 Sharp Laboratories Of America, Inc. System and method for maintaining a device job history
US20050152283A1 (en) * 2004-01-08 2005-07-14 David Ritzenthaler Wireless device discovery
WO2005089239A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method of providing a self-optimizing reservation in space of compute resources
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
WO2006014480A2 (en) * 2004-07-08 2006-02-09 Actuality Systems, Inc. Architecture for rendering graphics on output devices over diverse connections
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
JP4759000B2 (ja) * 2005-01-31 2011-08-31 ティンプリント アーゲー アプリケーションサーバを経由した印刷の方法およびシステム、ならびに対応するコンピュータプログラム、および対応するコンピュータ読み取り可能な記憶媒体
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
WO2006107531A2 (en) 2005-03-16 2006-10-12 Cluster Resources, Inc. Simple integration of an on-demand compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US9015324B2 (en) 2005-03-16 2015-04-21 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
US8782120B2 (en) 2005-04-07 2014-07-15 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
ES2614751T3 (es) 2005-04-07 2017-06-01 Iii Holdings 12, Llc Acceso bajo demanda a recursos informáticos
US20060288097A1 (en) * 2005-06-20 2006-12-21 Xerox Corporation Integration of local and remote jobs in the job queue
US8014025B2 (en) * 2005-12-05 2011-09-06 Lexmark International, Inc. System and method for outputting a job
JP2008027128A (ja) * 2006-07-20 2008-02-07 Brother Ind Ltd デバイス管理システム、管理装置、プログラム。
JP2008065534A (ja) * 2006-09-06 2008-03-21 Sharp Corp 情報処理システムおよびサーバ
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
EP2075685B1 (en) * 2007-12-28 2017-02-22 Canon Europa N.V. A print-job distribution program, a printer program and corresponding methods
JP4906767B2 (ja) * 2008-03-26 2012-03-28 株式会社日立製作所 印刷管理システム、印刷管理方法、端末、サーバ、プリント対応サーバ
US8645559B2 (en) * 2008-09-22 2014-02-04 Microsoft Corporation Redirection of multiple remote devices
US20100088397A1 (en) * 2008-10-03 2010-04-08 Joe Jaudon Systems for dynamically updating virtual desktops or virtual applications
CN103810012A (zh) * 2008-10-24 2014-05-21 思杰系统有限公司 用于在组合的计算环境中给可修改的机器基本映像提供个性化桌面环境的方法和系统
JP2010208304A (ja) * 2009-03-12 2010-09-24 Seiko Epson Corp 印刷管理装置および印刷管理方法並びにそのプログラム
US8234332B2 (en) * 2009-04-22 2012-07-31 Aventura Hq, Inc. Systems and methods for updating computer memory and file locations within virtual computing environments
US9367512B2 (en) * 2009-04-22 2016-06-14 Aventura Hq, Inc. Systems and methods for dynamically updating virtual desktops or virtual applications in a standard computing environment
US20110083081A1 (en) * 2009-10-07 2011-04-07 Joe Jaudon Systems and methods for allowing a user to control their computing environment within a virtual computing environment
JP5397162B2 (ja) * 2009-10-29 2014-01-22 セイコーエプソン株式会社 プリンタードライバー、及び、posプリンターの制御方法
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8610928B2 (en) 2010-02-09 2013-12-17 Apple Inc. Framework that supports driverless printing
US20110194124A1 (en) 2010-02-09 2011-08-11 Apple Inc. Data formats to support driverless printing
US8547575B2 (en) * 2010-03-09 2013-10-01 Ricoh Company, Ltd Printer discovery within a web page
US9001355B2 (en) 2010-07-28 2015-04-07 Ricoh Company, Ltd. Methods and structure for simplified enterprise printing from mobile devices
JP5565346B2 (ja) * 2011-03-11 2014-08-06 ブラザー工業株式会社 プリンタ
US9223890B2 (en) 2011-03-15 2015-12-29 Hewlett-Packard Development Company, L.P. System and method of processing content using a uniform resource identifier
US9092167B2 (en) 2011-04-04 2015-07-28 Hewlett-Packard Development Company, L.P. Systems and methods for managing a print job
DE102011054020A1 (de) * 2011-09-28 2013-03-28 Cortado Ag Druckverfahren, Anordnung zur Realisierung des Druckverfahrens sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
US8675215B2 (en) 2012-01-31 2014-03-18 Apple Inc. Using regions of interest to scale print data for print jobs
US8891115B2 (en) 2012-02-03 2014-11-18 Apple Inc. Configuration of print data for print jobs based on document-processing capabilities of printers
US9298401B2 (en) 2012-02-03 2016-03-29 Apple Inc. Configuring print jobs associated with unsupported document formats
JP6399831B2 (ja) * 2014-07-04 2018-10-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
CN111476655B (zh) * 2020-04-02 2023-06-23 中国银行股份有限公司 基于银行系统的集中打印方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083262A (en) 1986-04-28 1992-01-21 International Business Machines Corporation Language bindings for graphics functions to enable one application program to be used in different processing environments
US5220674A (en) 1987-07-17 1993-06-15 Digital Equipment Corporation Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination
US5467434A (en) * 1992-08-28 1995-11-14 Xerox Corporation Apparatus and method for determining printer option availability and representing conflict resolution in a combination of print job selections
US5638497A (en) * 1992-12-18 1997-06-10 Dataproducts Corporation Virtual printer
US5580177A (en) 1994-03-29 1996-12-03 Hewlett-Packard Company Printer/client network with centrally updated printer drivers and printer status monitoring
JPH0816493A (ja) * 1994-06-30 1996-01-19 Canon Inc スキャナプリンタサーバーシステムのデータ通信制御方法
US5699495A (en) * 1994-07-27 1997-12-16 Microsoft Corporation Point-and-print in a distributed environment
CA2129197C (en) * 1994-07-29 1999-11-09 Roger Y.M. Cheung Method and apparatus for connecting a wireless lan to a wired lan
US5602974A (en) 1994-10-05 1997-02-11 Microsoft Corporation Device independent spooling in a print architecture
JPH08286857A (ja) 1995-04-19 1996-11-01 Fuji Xerox Co Ltd プリント装置および方法
JPH08292844A (ja) 1995-04-20 1996-11-05 Fuji Xerox Co Ltd 印刷装置および方法
US5825991A (en) * 1995-10-30 1998-10-20 Xerox Corporation System for balancing CPU demands in a high-volume print server
JPH09146726A (ja) * 1995-11-20 1997-06-06 Canon Inc プリンタサーバーシステムの制御方法
US5974234A (en) * 1997-04-15 1999-10-26 Xerox Corporation Centralized print server for interfacing one or more network clients with a plurality of printing devices

Also Published As

Publication number Publication date
GB2332764B (en) 2002-11-06
GB9824937D0 (en) 1999-01-06
JP3290410B2 (ja) 2002-06-10
GB2332764A (en) 1999-06-30
CN1095562C (zh) 2002-12-04
CN1217503A (zh) 1999-05-26
JPH11259262A (ja) 1999-09-24
TW417057B (en) 2001-01-01
KR100308676B1 (ko) 2001-10-20
US6201611B1 (en) 2001-03-13

Similar Documents

Publication Publication Date Title
KR100308676B1 (ko) 신클라이언트상에로컬프린팅을제공하는방법
US6636891B1 (en) Methods and apparatus for controlling an input or output device over the internet
US7949741B2 (en) Printer user interface redirection over a terminal services session
US6874034B1 (en) Intelligent peer hybrid printing protocol
US7471405B2 (en) Augmented operating system printing architecture
US6917836B2 (en) Device control system
US20030090694A1 (en) Just-in-time printer discovery and driver installation system and method
US8526041B2 (en) Efficiently controlling a print output destination in association with an information processing apparatus that has issued a print request
US20020112037A1 (en) Method and system for a generic document processing device client
US20020018234A1 (en) Printer driver system for remote printing
US20030202010A1 (en) Retention of job settings based on data type
JP2002351631A (ja) ネットワークデバイスの能力の利用を容易化するダイナミックユーザインタフェイス
US7502134B2 (en) Network system and network interface card
US7777905B2 (en) MIME type-based printer driver selection
US20050076298A1 (en) Methods and apparatus for managing a print job among a processor, an image producing device, and an external storage device
EP1394672B1 (en) Printer configuration data setting method and server using the printer configuration data
US6407823B1 (en) Network system, information processing device and information memory medium
US20030055866A1 (en) Methods and apparatus for remote execution of an application over the internet
US6757741B1 (en) System and method for network printing using a peer hybrid printing protocol
JPH0764744A (ja) プリンタサーバー装置
EP1338952B1 (en) Email based printer systems
US20030210417A1 (en) Driverless network EMF printing solution
US7999950B1 (en) Method and apparatus for providing backup font support for missing device glyphs
JP3740179B2 (ja) 画像表示制御装置とその方法および画像表示制御システム
US20020032726A1 (en) Method and device for processing an electronic document in a communication network

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: 20120725

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130719

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140725

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee