KR20140079397A - 클라우드-기반 프린트 서비스에서의 로빙 프린팅 - Google Patents

클라우드-기반 프린트 서비스에서의 로빙 프린팅 Download PDF

Info

Publication number
KR20140079397A
KR20140079397A KR1020147009498A KR20147009498A KR20140079397A KR 20140079397 A KR20140079397 A KR 20140079397A KR 1020147009498 A KR1020147009498 A KR 1020147009498A KR 20147009498 A KR20147009498 A KR 20147009498A KR 20140079397 A KR20140079397 A KR 20140079397A
Authority
KR
South Korea
Prior art keywords
print
printer
application
user
print job
Prior art date
Application number
KR1020147009498A
Other languages
English (en)
Other versions
KR102048865B1 (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
Priority claimed from US13/275,300 external-priority patent/US20140368859A1/en
Priority claimed from US13/275,301 external-priority patent/US8953192B2/en
Application filed by 구글 인코포레이티드 filed Critical 구글 인코포레이티드
Publication of KR20140079397A publication Critical patent/KR20140079397A/ko
Application granted granted Critical
Publication of KR102048865B1 publication Critical patent/KR102048865B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • 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/1222Increasing security of the print job
    • 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/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1267Job repository, e.g. non-scheduled jobs, delay printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • 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
    • 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/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1265Printing by reference, e.g. retrieving document/image data for a job from a source mentioned in the job

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)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

애플리케이션 관리기는 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신할 수 있으며, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트에 대한 조회를 식별하고, 상기 애플리케이션 관리기는 또한 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하도록 구성된다. 프린트 작업 라우터는 상기 저장 후, 제 2 위치에서의 프린터를 식별하며 프린트 작업을 계속하기 위해 제 2 위치로부터 사용자에 의해 제공된 적어도 하나의 프린트 속성을 포함하는 프린트 개시를 수신할 수 있다. 애플리케이션 데이터 인출기는 조회에 기초하여, 애플리케이션으로부터 프린팅될 애플리케이션 콘텐트를 획득할 수 있다. 포맷 변환기는, 애플리케이션 콘텐트로부터 및 적어도 하나의 프린트 속성을 사용하여, 프린트 작업 라우터에 의해 식별된 프린터에 전송하기 위해, 식별된 프린터에 의해 프린트 가능한 포맷으로 프린트 가능한 파일을 생성할 수 있다.

Description

클라우드-기반 프린트 서비스에서의 로빙 프린팅 {ROVING PRINTING IN A CLOUD-BASED PRINT SERVICE}
관련 출원들에 대한 상호-참조
본 출원은 35 U.S.C. 120 하에서 2011년 10월 17일에 출원된 클라우드-기반 프린트 서비스에서의 로빙 프린팅을 위한 가상 프린트 큐(VIRTUAL PRINT QUEUE FOR ROVING PRINTING IN A CLOUD-BASED PRINT SERVICE)라는 제목의 미국 특허 출원 번호 제13/275,300호, 뿐만 아니라 2011년 10월 17일에 출원된 이동 디바이스를 사용한 클라우드-기반 프린트 서비스에서의 로빙 프린팅(ROVING PRINTING IN A CLOUD-BASED PRINT SERVICE USING A MOBILE DEVICE)이라는 제목의 미국 특허 출원 번호 제13/275,301호에 대한 우선권을 주장하며, 그 콘텐트들은 전체적으로 참조로서 통합된다.
기술 분야
본 설명은 로빙 프린팅에 관한 것이다.
컴퓨팅 디바이스들 및 연관된 애플리케이션들의 사용자들은 종종 특정 문서들 또는 다른 애플리케이션 콘텐트를 프린트하고 싶어한다. 예시적인 사용자 경험에서, 특정한 운영 시스템을 구동하는 컴퓨터의 소유주는 프린터를 구매하고, 그 후 사용자의 운영 시스템과 연관된 프린터 드라이버의 버전을 컴퓨터에 설치한다. 다른 예시적인 시나리오들에서, 프린터(즉, 연관된 프린터 드라이버)는 네트워크의 콘텍스트에서 설치될 수 있다. 후자의 시나리오(들)에서, 다수의 네트워크 사용자들 중에서 설치된 프린터를 공유하는 것이 가능하다. 예를 들면, 애플리케이션, 운영 시스템, 및 프린터 드라이버를 실행하는 로컬 컴퓨터는 중간 프린터 서버를 사용하여, 애플리케이션으로부터 원격 프린터로 프린팅할 수 있다. 다소 유사하게, 애플리케이션은 원격 디바이스 상에서 실행할 수 있으며, 운영 시스템 및 프린터 드라이버는 또한 원격 디바이스 상에 설치될 수 있다. 그 후, 사용자는 로컬 컴퓨터에서(예로서, 원격 데스크탑 또는 다른 가상 컴퓨팅 환경에서) 원격-실행 애플리케이션을 경험하거나 또는 사용할 수 있으며, 원격-설치된 프린터 드라이버로부터 명령어들을 수신하는 로컬 또는 원격 프린터에 프린팅할 수 있다.
많은 경우들에서, 사용자는 프린팅될 문서를 식별할 때에 원하는 프린터와 같은 장소에 배치될 수 없다. 예를 들면, 상기 네트워크 프린팅 예(들)에서, 네트워크 워크스테이션에서의 사용자는 상이한 층 상에, 또는 상이한 빌딩에 위치되는 프린터에 프린팅하고 싶어할 수 있다. 이들 및 다른 시나리오들에서, 사용자는 사용자가 식별된 프린터에 존재하는 동안 문서의 실제 프린팅을 개시하길 원하는 것이 발생할 수 있다. 예를 들면, 사용자는 프린팅된 문서의 비밀성을 유지하고 싶어할 수 있으며, 그러므로 사용자가 워크스테이션에서 프린터로 이행하는 동안(그 동안 허가되지 않은 사용자들이 부주의로 또는 위법적으로 프린팅된 문서를 보거나 또는 획득할 수 있다) 프린터에서 프린팅된 문서의 이용 가능성을 회피하기 위해 프린터에 존재하는 동안 프린팅을 개시하고 싶어할 수 있다.
따라서, 이들 및 다른 이유들로, 제 2의, 나중 시간(예로서, 사용자가 관련 있는 프린터에 존재할 때)까지 문서의 실제 프린팅을 개시하지 않고, 사용자로 하여금 처음에(예로서, 사용자가 워크스테이션에 존재할 때) 문서의 프린팅을 지정할 수 있게 하는 프린팅 기술들이 개발되어 왔다. 보다 구체적으로, 예를 들면, 사용자는 일시적으로 원격으로 저장될(예로서, 네트워크 프린트 서버에) 주어진 문서에 대한 프린트 작업을 전송할 수 있다. 그 후, 일단 사용자가 워크스테이션에서 관련 있는 프린터로 이동된다면, 사용자는 관련 있는 프린터에서 문서의 프린팅을 개시하기 위해 관련 있는 프린터와 상호작용할 수 있다. 예를 들면, 사용자는 프린트 작업을 인출하며 그 외 개시 및 실행하기 위해 관련 있는 프린터에서 입력/출력 하드웨어 및/또는 소프트웨어를 이용할 수 있다. 이러한 식으로, 사용자는 문서의 프린팅시 프린터에 존재한다는 것에 대해 확신 받을 수 있다. 특히, 프린팅될 문서의 비밀성을 유지하기 위한 요구에 대해서, 프린터의 하드웨어/소프트웨어는 그에 의해 프린팅된 문서의 콘텐트의 비밀성을 추가로 보호하기 위해, 문서의 프린팅을 개시하기 전에 사용자를 인증하기 위한 인증 기능들을 포함할 수 있다.
상기(및 관련된/유사한) 프린팅 기술들의 특징들 및 연관된 이점들에도 불구하고, 사용자들은 관련 있는 프린터가 주어진 프린트 작업을 발생시키는 사용자/디바이스와 같은 장소에 배치되지 않는 프린팅 시나리오들에서 강화된 유연성, 편리함, 및 비밀성을 가능하게 하기 위한 부가적이거나 또는 대안적인 기술들로부터 추가로 이익을 얻을 수 있다.
하나의 일반적인 양상에 따르면, 프린트 서버는 컴퓨터-판독 가능한 매체 상에 저장되며 적어도 하나의 프로세서에 의해 실행 가능한 지시들을 포함할 수 있다. 프린트 서버는 상기 적어도 하나의 프로세서로 하여금, 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하도록 구성된 애플리케이션 관리기를 포함할 수 있으며, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하고 상기 애플리케이션 관리기는 또한 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하도록 구성된다. 상기 프린트 서버는 상기 적어도 하나의 프로세서로 하여금, 상기 저장 후 제 2 위치에서의 프린터를 식별하는 프린트 개시를 수신하게 하도록 구성된 프린트 작업 라우터를 포함할 수 있으며, 상기 프린트 개시는 그것의 프린트 속성들을 포함하는, 상기 프린트 작업을 식별하며 상기 제 2 위치로부터 비롯된다. 상기 프린트 서버는 상기 적어도 하나의 프로세서로 하여금 상기 애플리케이션 콘텐트로부터 및 상기 프린트 속성들을 사용하여, 상기 프린트 작업 라우터에 의해 상기 식별된 프린터에 전송하기 위한, 상기 식별된 프린터에 의해 프린트 가능한 포맷으로 프린트 가능한 파일을 생성하게 하도록 구성된 포맷 변환기를 포함할 수 있다.
또 다른 일반적인 양상에 따르면, 방법은 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하는 단계를 포함할 수 있으며, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별한다. 상기 방법은 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하는 단계, 및 상기 저장 후, 제 2 위치에서의 프린터를 식별하는 프린트 개시를 수신하는 단계를 포함할 수 있으며, 상기 프린트 개시는 그것의 프린트 속성들을 포함하는, 상기 프린트 작업을 식별하며 상기 제 2 위치로부터 비롯된다. 상기 방법은 상기 애플리케이션 콘텐트로부터 및 상기 프린트 속성들을 사용하여, 상기 프린트 작업 라우터에 의해 상기 식별된 프린터에 전송하기 위한, 상기 식별된 프린터에 의해 프린트 가능한 포맷으로 프린트 가능한 파일을 생성하는 단계를 더 포함할 수 있다.
또 다른 일반적인 양상에 따르면, 컴퓨터 프로그램 제품은 컴퓨터-판독 가능한 저장 매체 상에 유형적으로 구체화될 수 있다. 상기 컴퓨터 프로그램 제품은 실행될 때, 데이터 프로세싱 장치로 하여금, 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하는 것으로서, 상기 프린트 작업이 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하는, 상기 프린트 작업을 수신하게 하는 것 및 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하게 하도록 구성되는 실행 가능한 코드를 포함할 수 있다. 실행될 때, 상기 실행 가능한 코드는 상기 데이터 프로세싱 장치로 하여금 상기 저장 후, 제 2 위치에서의 프린터를 식별하는 프린트 개시를 수신하게 하는 것으로서, 상기 프린트 개시가 그것의 프린트 속성들을 포함하는 상기 프린트 작업을 식별하며 상기 제 2 위치로부터 비롯되는, 상기 프린트 개시를 수신하게 하는 것, 및 상기 애플리케이션 콘텐트로부터 및 상기 프린트 속성들을 사용하여, 상기 프린트 작업 라우터에 의해 상기 식별된 프린터에 전송하기 위한, 상기 식별된 프린터에 의해 프린트 가능한 포맷으로 프린트 가능한 파일을 생성하게 하도록 구성될 수 있다.
또 다른 일반적인 양상에 따르면, 프린트 서버는 컴퓨터-판독 가능한 매체 상에 저장되며 적어도 하나의 프로세서에 의해 실행 가능한 지시들을 포함할 수 있다. 프린트 서버는 상기 적어도 하나의 프로세서로 하여금, 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하도록 구성된 애플리케이션 관리기를 포함할 수 있으며, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하고 상기 애플리케이션 관리기는 또한 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하도록 구성된다. 상기 프린트 서버는 상기 적어도 하나의 프로세서로 하여금 상기 저장 후 및 제 2 위치에서의 이동 디바이스로부터 상기 제 2 위치에서의 프린터 및 상기 프린트 작업을 식별하는 프린트 개시를 수신하게 하도록 구성된 프린트 작업 라우터를 포함할 수 있으며, 상기 프린트 작업 라우터는 또한 상기 프린트 개시에 기초하여, 상기 애플리케이션 콘텐트를 상기 식별된 프린터에 전송하도록 구성된다.
또 다른 일반적인 양상에 따르면, 방법은 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하는 단계를 포함할 수 있으며, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별한다. 상기 방법은 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하는 단계, 및 상기 저장 후 및 제 2 위치에서의 이동 디바이스로부터, 상기 제 2 위치에서의 프린터 및 상기 프린트 작업을 식별하는 프린트 개시를 수신하는 단계를 포함할 수 있다. 상기 방법은 상기 프린트 개시에 기초하여, 상기 애플리케이션 콘텐트를 상기 식별된 프린터에 전송하는 단계를 포함할 수 있다.
또 다른 일반적인 양상에 따르면, 컴퓨터 프로그램 제품은 컴퓨터-판독 가능한 저장 매체 상에 유형적으로 구체화될 수 있다. 상기 컴퓨터 프로그램 제품은 실행될 때, 데이터 프로세싱 장치로 하여금, 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하는 것으로서, 상기 프린트 작업이 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하는, 상기 프린트 작업을 수신하게 하는 것 및 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하게 하도록 구성되는 실행 가능한 코드를 포함할 수 있다. 실행될 때, 상기 실행 가능한 코드는 상기 데이터 프로세싱 장치로 하여금, 상기 저장 후 및 제 2 위치에서의 이동 디바이스로부터 상기 제 2 위치에서의 프린터 및 상기 프린트 작업을 식별하는 프린트 개시를 수신하게 하며 상기 프린트 개시에 기초하여 상기 애플리케이션 콘텐트를 상기 식별된 프린터에 전송하게 하도록 구성될 수 있다.
하나의 일반적인 양상에 따르면, 프린트 서버는 컴퓨터-판독 가능한 매체 상에 저장되며 적어도 하나의 프로세서에 의해 실행 가능한 지시들을 포함할 수 있다. 프린트 서버는 상기 적어도 하나의 프로세서로 하여금, 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하도록 구성된 애플리케이션 관리기를 포함할 수 있으며, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하고 상기 애플리케이션 관리기는 또한 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하도록 구성된다. 상기 프린트 서버는 상기 적어도 하나의 프로세서로 하여금, 상기 저장 후 제 2 위치에서의 프린터를 식별하는 프린트 개시를 수신하게 하도록 구성된 프린트 작업 라우터를 포함할 수 있으며, 상기 프린트 개시는 그것의 프린트 속성들을 포함하는, 상기 프린트 작업을 식별하며 상기 제 2 위치로부터 비롯된다. 상기 프린트 서버는 상기 적어도 하나의 프로세서로 하여금 상기 애플리케이션 콘텐트로부터 및 상기 프린트 속성들을 사용하여, 상기 프린트 작업 라우터에 의해 상기 식별된 프린터에 전송하기 위한, 상기 식별된 프린터에 의해 프린트 가능한 포맷으로 프린트 가능한 파일을 생성하게 하도록 구성된 포맷 변환기를 포함할 수 있다.
또 다른 일반적인 양상에 따르면, 방법은 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하는 단계를 포함할 수 있으며, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별한다. 상기 방법은 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하는 단계, 및 상기 저장 후, 제 2 위치에서의 프린터를 식별하는 프린트 개시를 수신하는 단계를 포함할 수 있으며, 상기 프린트 개시는 그것의 프린트 속성들을 포함하는, 상기 프린트 작업을 식별하며 상기 제 2 위치로부터 비롯된다. 상기 방법은 상기 애플리케이션 콘텐트로부터 및 상기 프린트 속성들을 사용하여, 상기 프린트 작업 라우터에 의해 상기 식별된 프린터에 전송하기 위한, 상기 식별된 프린터에 의해 프린트 가능한 포맷으로 프린트 가능한 파일을 생성하는 단계를 더 포함할 수 있다.
또 다른 일반적인 양상에 따르면, 컴퓨터 프로그램 제품은 컴퓨터-판독 가능한 저장 매체 상에 유형적으로 구체화될 수 있다. 상기 컴퓨터 프로그램 제품은 실행될 때, 데이터 프로세싱 장치로 하여금, 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하는 것으로서, 상기 프린트 작업이 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하는, 상기 프린트 작업을 수신하게 하는 것 및 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하게 하도록 구성되는 실행 가능한 코드를 포함할 수 있다. 실행될 때, 상기 실행 가능한 코드는 상기 데이터 프로세싱 장치로 하여금 상기 저장 후, 제 2 위치에서의 프린터를 식별하는 프린트 개시를 수신하게 하는 것으로서, 상기 프린트 개시가 그것의 프린트 속성들을 포함하는 상기 프린트 작업을 식별하며 상기 제 2 위치로부터 비롯되는, 상기 프린트 개시를 수신하게 하는 것, 및 상기 애플리케이션 콘텐트로부터 및 상기 프린트 속성들을 사용하여, 상기 프린트 작업 라우터에 의해 상기 식별된 프린터에 전송하기 위한, 상기 식별된 프린터에 의해 프린트 가능한 포맷으로 프린트 가능한 파일을 생성하게 하도록 구성될 수 있다.
또 다른 일반적인 양상에 따르면, 프린트 서버는 컴퓨터-판독 가능한 매체 상에 저장되며 적어도 하나의 프로세서에 의해 실행 가능한 지시들을 포함할 수 있다. 프린트 서버는 상기 적어도 하나의 프로세서로 하여금, 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하도록 구성된 애플리케이션 관리기를 포함할 수 있으며, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하고 상기 애플리케이션 관리기는 또한 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하도록 구성된다. 상기 프린트 서버는 상기 적어도 하나의 프로세서로 하여금 상기 저장 후 및 제 2 위치에서의 이동 디바이스로부터 상기 제 2 위치에서의 프린터 및 상기 프린트 작업을 식별하는 프린트 개시를 수신하게 하도록 구성된 프린트 작업 라우터를 포함할 수 있으며, 상기 프린트 작업 라우터는 또한 상기 프린트 개시에 기초하여, 상기 애플리케이션 콘텐트를 상기 식별된 프린터에 전송하도록 구성된다.
또 다른 일반적인 양상에 따르면, 방법은 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하는 단계를 포함할 수 있으며, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별한다. 상기 방법은 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하는 단계, 및 상기 저장 후 및 제 2 위치에서의 이동 디바이스로부터, 상기 제 2 위치에서의 프린터 및 상기 프린트 작업을 식별하는 프린트 개시를 수신하는 단계를 포함할 수 있다. 상기 방법은 상기 프린트 개시에 기초하여, 상기 애플리케이션 콘텐트를 상기 식별된 프린터에 전송하는 단계를 포함할 수 있다.
또 다른 일반적인 양상에 따르면, 컴퓨터 프로그램 제품은 컴퓨터-판독 가능한 저장 매체 상에 유형적으로 구체화될 수 있다. 상기 컴퓨터 프로그램 제품은 실행될 때, 데이터 프로세싱 장치로 하여금, 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하는 것으로서, 상기 프린트 작업이 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하는, 상기 프린트 작업을 수신하게 하는 것 및 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하게 하도록 구성되는 실행 가능한 코드를 포함할 수 있다. 실행될 때, 상기 실행 가능한 코드는 상기 데이터 프로세싱 장치로 하여금, 상기 저장 후 및 제 2 위치에서의 이동 디바이스로부터 상기 제 2 위치에서의 프린터 및 상기 프린트 작업을 식별하는 프린트 개시를 수신하게 하며 상기 프린트 개시에 기초하여 상기 애플리케이션 콘텐트를 상기 식별된 프린터에 전송하게 하도록 구성될 수 있다.
하나 이상의 구현들의 세부사항들은 첨부한 도면들 및 이하의 설명에 제시된다. 다른 특징들은 설명 및 도면들로부터, 및 청구항들로부터 명백해질 것이다.
도 1은 클라우드 프린트 서비스를 사용하여 로빙 프린팅을 구현하기 위한 시스템의 블록 다이어그램이다.
도 2a는 도 1의 시스템의 예시적인 동작들을 예시한 흐름도이다.
도 2b는 도 1의 시스템의 제 2 예시적인 동작들을 예시한 제 2 흐름도이다.
도들 3a 내지 도 3g는 도 1의 시스템의 동작의 보다 상세하며 및/또는 특정한 보다 특정한 예들을 예시한 스크린샷들이다.
도 4는 로빙 프린팅 시나리오들에서 도 1의 클라우드 프린트 서비스의 구현들의 보다 상세한 예들을 예시한 흐름도이다.
도 5는 도 1 내지 도 4의 시스템들 및 방법들을 구현하기 위해 사용될 수 있는 예시적이거나 또는 대표적인 컴퓨팅 디바이스들 및 연관된 요소들을 도시한 블록 다이어그램이다.
도 1은 클라우드 프린트 서비스(102)를 사용하여 로빙 프린팅을 구현하기 위한 시스템(100)의 블록 다이어그램이다. 도 1의 예에 도시된 바와 같이, 클라우드 프린트 서비스(102)는 네트워크(106)를 통해 프린팅 능력들을 제공하는 클라우드 프린트 서버(104) 상에서 실행될 수 있다. 여기에 설명된 바와 같이, 클라우드 프린트 서비스(102)는 그러므로 플랫폼-독립적이며 사용자가프린터 동작들을 구성, 업데이트, 또는 그 외 유지하거나 또는 감독하기 위한 요구를 덜어주는 고유 프린팅 경험을 사용자에게 제공한다. 게다가, 또한 여기에 추가로 상세히 설명된 바와 같이, 클라우드 프린트 서비스(102)는 관련 있는 프린터가 주어진 프린트 작업을 발생시키는 사용자/디바이스와 같은 장소에 배치되지 않는 로빙 프린팅 시나리오들에서 강화된 유연성, 편리함, 및 비밀성을 제공한다. 클라우드 프린트 서비스(102)의 다양한 다른 특징들 및 이점들이 이하에 상세히 설명되며 및/또는 명백해질 것이다.
도 1에서, 디바이스(108)는 사용자가 프린트 작업을 식별, 지정, 또는 제출하고 싶어할 수 있는 가상의 임의의 컴퓨팅 디바이스의 일 예로서 예시된다. 비-제한적인 예로서, 그 후, 디바이스(108)는 랩탑 또는 데스크탑 컴퓨터, 넷북, 태블릿 컴퓨터, 스마트폰, 카메라, 또는 사용자가 프린팅하길 원할 수 있는 데이터를 저장하거나 또는 그에 대한 액세스를 가질 수 있는 임의의 디바이스를 포함할 수 있다.
도 1의 예에서, 운영 시스템(110)은 애플리케이션(112)을 실행하는 것으로서 예시된다. 다시, 이들 요소들은 예시 및 예로서 포함되며, 가상으로 임의의 애플리케이션이 구동할 수 있는 가상의 임의의 운영 시스템 또는 다른 플랫폼을 포함할 수 있다. 예를 들면, 몇 가지 예들을 들자면, 운영 시스템(110)은 윈도우즈 운영 시스템, 맥 OS, 또는 리눅스와 같은 운영 시스템들을 포함할 수 있으며, 안드로이드, 심비안, 또는 아이폰 OS와 같은 이동 플랫폼들을 포함할 수 있다. 다른 예들에서, 운영 시스템(110)은 크롬 OS와 같은, 브라우저-기반 운영 시스템을 포함할 수 있다.
결과적으로, 애플리케이션(112)은 임의의 근본적인 운영 시스템 또는 플랫폼 상에서 구동할 수 있는 가상의 임의의 애플리케이션을 포함할 수 있다. 이러한 애플리케이션들의 예들은 잘 알려져 있으며 너무 많아 상세히 언급할 수 없지만, 일반적으로 문서 프로세싱 애플리케이션들, 이메일 애플리케이션들, 이미지 편집 또는 프리젠테이션 소프트웨어, 웹 브라우저, 또는 사용자가 프린팅하고 싶어할 수 있는 데이터의 렌더링을 사용자에게 제공하는 가상의 임의의 애플리케이션, 또는 그것의 조합들을 포함한다.
특히, 상기 언급된 바와 같이, 애플리케이션(112)은 애플리케이션(116)으로서 원격 애플리케이션 서버(114) 상에서 실행하는 웹 애플리케이션을 나타낼 수 있다. 즉, 애플리케이션(116)은 예로서, 디바이스(108)에서 구동하는 브라우저를 사용하여, 네트워크(106)를 통해 사용자에 의해 액세스되며 애플리케이션(112)으로서 국소적으로 경험되는 임의의 애플리케이션 기능을 포함할 수 있다. 알려진 바와 같이, 이러한 웹 애플리케이션들은 애플리케이션 서버(114)의 소유자 또는 다른 제공자가 애플리케이션 서버(114)에서 애플리케이션(116)을 설치, 구성, 실행, 및 유지하기 위한 책임을 맡도록 허용하여, 디바이스(108)의 사용자가 많거나 또는 임의의 연관된 비용들 및 책임들 없이 애플리케이션(116)의 이득을 획득할 수 있도록 한다. 이러한 웹 애플리케이션을 실행하기 위한 기술들, 및 관련된 기술은 이 기술분야에 잘 알려져 있으며 그러므로 도 1의 시스템(100)의 동작들을 이해하는데 도움이 되거나 또는 필요할 수 있는 경우를 제외하고 여기에 추가로 상세히 설명되지 않는다.
네트워크(106)는 따라서 예를 들면, 공공 인터넷 또는 다른 광역 공공 또는 사설 네트워크를 나타낼 수 있다. 네트워크(106)는 추가 예들에서, 기업 또는 다른 인트라넷, 및/또는 보다 작은-규모의, 로컬 또는 개인 네트워크를 나타낼 수 있으며, 그 중 임의의 것(및/또는 그것의 조합들)은 표준 네트워크 기술을 사용하여 구현될 수 있다.
도 1에서 추가로, 네트워크(106)를 통해 클라우드 프린트 서비스(102)와 통신하도록 구성되는 클라우드-인식 프린터(118)가 예시된다. 이와 관련하여, 용어(“클라우드” 또는 “클라우드-인식”)는 “클라우드 컴퓨팅”의 사용을 언급하며, 이것은 일반적으로 말하면, 애플리케이션 프로그램들 및 파일 저장 장치와 같은 컴퓨팅 리소스들이 인터넷과 같은 네트워크를 통해, 통상적으로 웹 브라우저를 통해 원격으로 제공되는 컴퓨팅의 스타일을 포함한다. 예를 들면, 많은 웹 브라우저들은 애플리케이션들을 구동할 수 있으며, 이것은 자체로 원격 서버들 상에서 구동하는 보다 복잡한 애플리케이션들에 대한 애플리케이션 프로그래밍 인터페이스들(“API들”)일 수 있다. 클라우드 컴퓨팅 패러다임에서, 웹 브라우저는 원격 서버 상에서 구동하는 애플리케이션 프로그램과 인터페이스하며 그것을 제어한다. 브라우저를 통해, 사용자는 원격 애플리케이션 프로그램을 통해 원격 서버 상에서 파일들을 생성, 편집, 저장, 및 삭제할 수 있다. 따라서, 애플리케이션 서버(114) 및 연관된 애플리케이션(116)이 또한 클라우드 컴퓨팅의 예들을 표현할 수 있다는 것이 관찰될 수 있다.
클라우드-인식 프린터(118)의 콘텍스트에서, 클라우드 프린트 서비스(102)는 애플리케이션(112)이 운영 시스템(110)에 대한 요건 또는 요구 없이(예로서, 그것에 관계 없이), 그것의 참여 없이, 클라우드-인식 프린터(118)에 직접 프린팅할 수 있게 한다. 다시 말해서, 애플리케이션(112)은 예로서, 운영 시스템(110) 내에서 로컬 드라이버를 요구하지 않고, 그에 의해 클라우드-인식 프린터(118)에 프린팅하도록 클라우드 프린트 서비스(102)와 직접 통신할 수 있다. 그 결과, 클라우드 프린트 서비스(102)와 통신하도록 구성될 수 있는 가상의 임의의 애플리케이션(112)이 이하에 상세히 설명되는 바와 같이, 클라우드-인식 프린터(118)를 이용할 수 있다.
예를 들면, 클라우드 프린트 서비스(102)는 사용자 및/또는 디바이스(108), 뿐만 아니라 클라우드-인식 프린터(118)를 등록하도록 구성될 수 있다. 특정 예에서, 디바이스는 스마트폰일 수 있으며, 사용자는 티켓(예로서, 영화 티켓 또는 항공사 티켓)을 구매하기 위해 애플리케이션(112)을 사용할 수 있다. 그 후, 사용자는 디바이스(108) 및/또는 운영 시스템(110)이 리소스들을 갖지 않을 수 있을지라도, 클라우드-인식 프린터(118)에 직접 구매된 티켓을 프린팅할 수 있거나, 또는 그 외 관습적인 의미에서 천연 프린팅을 지원하도록 구성될 수 있다(예로서, 현재 클라우드-인식 프린터(118)와 연관된 임의의 분류의 프린트 드라이버를 실행할 수 없을 수 있다). 이러한 방식으로, 애플리케이션(112)의 사용자는 종래의 프린팅 패러다임들 및 기술들에서 현재 제공되지 않는 프린트 옵션 및 연관된 능력들을 제공받을 수 있다. 많은 다른 이러한 예들이 여기에 설명되거나, 또는 명백해질 것이다.
클라우드-인식 프린터(118)는 구체적으로 도 1에 예시되지 않는 레거시 프린터와 대조될 수 있으며, 이것은 원래 클라우드 프린트 서비스(102)와의 통신을 지원하지 않는다. 이러한 레거시 프린터를 사용할 때, 별개의 디바이스 및/또는 소프트웨어가 클라우드 프린트 서비스(102)의 이점들을 레거시 프린터에 부여하기 위해 이용될 수 있다. 클라우드-인식 프린터(118)의 다양한 특징들 및 기능들의 모두가 적절한 하드웨어/소프트웨어 지원으로 보완된 레거시 프린터의 사용을 통해 획득될 수 있다는 것이 이해될 것이다.
요컨대, 시스템(100)은 그에 의해 또한 클라우드 프린트 서비스(102)와 (직접 또는 간접) 통신하는 임의의 프린터에 프린팅하도록 클라우드 프린트 서비스(102)와 통신하기 위해 네트워크(106) 내에서의 임의의 디바이스 상에서 구동하는 가상의 임의의 애플리케이션(예로서, 애플리케이션들(112, 116) 및 디바이스(108))을 위한 능력을 제공한다. 결과적으로, 사용자들은 증가된 프린팅 옵션들 및 능력들로부터 이득을 얻을 수 있으며, 그렇게 하는 것과 연관된 비용들 및 노력들에서의 전체적인 감소를 경험한다. 한편, 프린터 제조사들은 사용자들이 그것들의 제품들의 이득들을 완전히 경험하도록 (업데이트된) 드라이버(들) 및 다른 전제 조건들을 사용자들에게 제공하기 위해 감소되거나 또는 제거된 요구를 경험할 수 있다. 이것은 예를 들면, 보다 높은 고객 만족, 및 프린터들을 생산 및 유지하는 감소된 비용을 야기할 수 있다.
특히, 상기 언급된 바와 같이, 시스템(100)은 로빙 프린팅과 관련 있는 다수의 강화된 특징들 및 기능들을 제공할 수 있다. 예를 들면, 도 1의 예에서, 애플리케이션(112)은 클라우드 프린트 서비스(102)와 함께 프린트 다이얼로그(113)를 제공할 수 있다. 예를 들면, 도시된 바와 같이, 디바이스(108)는 제 1 위치(120)에 위치될 수 있는 반면, 클라우드-인식 프린터(118)는 상이한, 제 2 위치(122)에 위치될 수 있다. 따라서, 제 1 위치(120)에서 디바이스(108)를 이용한 사용자(125)는 프린팅을 위해 애플리케이션(112)(및/또는 애플리케이션(114))과 연관된 애플리케이션 콘텐트를 선택할 수 있으며 클라우드-인식 프린터(118)에 대한 특정하거나 또는 포괄적인 조회, 또는 그것의 식별과 함께, 클라우드 프린트 서비스(102)에 애플리케이션 콘텐트(의 식별)를 제출할 수 있다.
그 후에, 사용자(125)는 제 1 위치(120)로부터 제 2 위치(122)로 이동할 수 있다. 그때, 사용자(125)는 클라우드-인식 프린터(118)에서 이전-식별된 애플리케이션 콘텐트의 실제 프린팅을 요청하거나 또는 그 외 개시할 수 있다. 다시 말해서, 이하의 다양한 예시적인 구현들에서 상세히 설명되는 바와 같이, 사용자(125)는 그에 의해 클라우드-인식 프린터(118)로부터 프린팅된 콘텐트를 획득하기 위해, 직접 또는 간접적으로 클라우드-인식 프린터(118)로 하여금 프린팅될 애플리케이션 콘텐트를 인출하거나 또는 그 외 수신하게 할 수 있다.
이러한 식으로, 사용자(125)는 편리하고 유연한 방식으로, 신뢰 받는, 안전한 프린팅을 획득할 수 있다. 예를 들면, 제 1 예에서, 사용자(125)는 제 1 위치(120)에 존재할 수 있으며, 제 2 위치(122)에서의 클라우드-인식 프린터(118)를 인식할 수 있으며, 그것을 사용하여 애플리케이션 콘텐트를 인쇄하고 싶어할 수 있다. 예를 들면, 사용자(125)는 사용자(125)가 멤버인 대응하는 그룹의 사용자들에 의한 사용을 위해 지정된 복수의 프린터들의 학생, 직원, 또는 다른 사용자일 수 있다. 예를 들면, 사용자(125)는 상이한 층 상에 또는 상이한 빌딩에 위치될 수 있는, 클라우드-인식 프린터(118)에 프린팅하고 싶어하는 사무실에서의 직원을 나타낼 수 있다. 다른 예들에서, 사용자(125)는 학생 센터에 위치되는 클라우드-인식 프린터(118)에 프린팅하고 싶어하는 기숙사 방에서의 학생을 나타낼 수 있다.
상기 및 유사한 예들에서, 사용자(125)는 클라우드-인식 프린터(118)의 아이덴티티 또는 위치의 특정 지식을 가질 수 있다. 그러나, 많은 다른 예들에서, 사용자(125)가 궁극적으로 특정된 애플리케이션 콘텐트를 프린트하기 위해 사용될 클라우드-인식 프린터(118)의 아이덴티티 또는 위치에 대한 특정 지식을 갖지 않는 것이 발생할 수 있다. 예를 들면, 상기 예들에서, 사용자(125)는 그 때 식별된 애플리케이션 콘텐트의 실제 프린팅을 개시할 때 사용자(125)가 있을 장소 또는 시간을 정확히 알지 않고, 프린팅될 애플리케이션 콘텐트의 식별을 제출하는 직원 또는 학생을 나타낼 수 있다. 예를 들면, 사용자(125)는 상이한 도시에서 여행 중일 수 있으며, 심지어 궁극적으로 식별된 애플리케이션 콘텐트를 프린트할 때 이용될 클라우드-인식 프린터(118)의 위치 또는 존재를 인식할 수 없을 수 있다. 이러한 시나리오들에서, 여기에 상세히 설명되는 바와 같이, 사용자(125)는 클라우드 프린트 서비스(102)와 및 사용자(125)와 연관된 이용 가능한 프린터들(이 문맥에서 클라우드-인식 프린터(118)를 포함하는)에 포괄적인 방식으로 프린팅될 애플리케이션 콘텐트의 식별을 제출할 수 있으며, 그럼에도 불구하고 그 후 제 2 위치(122)에 존재하는 동안 클라우드-인식 프린터(118)를 식별 및 이용할 수 있다.
보다 구체적으로, 상기 언급된 바와 같이 및 도 1에 도시된 바와 같이, 애플리케이션(112)은 클라우드 프린트 서비스(102)와 함께, 사용자(125)가 프린팅될 애플리케이션 콘텐트를 식별하는 프린트 제출을 제공할 수 있게 하는 프린트 다이얼로그(113)를 제공할 수 있다. 이것과 관련하여, 프린트 다이얼로그(113)는 종래의 프린트 다이얼로그들과 연관된 다양한 종래의 특징들을 포함하는 것으로 이해될 수 있으며, 이것은 그러므로 여기에 특정하게 상세히 포함되거나 또는 설명되지 않는다.
도 1에 도시된 바와 같이, 프린트 다이얼로그(113)는 사용자(125)가 프린트 작업의 제출을 클라우드 프린트 서비스(102)에 제공하기 위해 이용할 수 있는 프린터 선택 드롭-다운 리스트(113A)를 포함할 수 있다. 구체적으로, 프린터 선택 드롭-다운 리스트(113A)는 사용자(125)가 클라우드-인식 프린터(118)를 구체적으로 식별할 수 있게 하거나, 또는 다른 예시적인 구현들에서, 사용자(125)가 사용자(125)와 및 클라우드 프린트 서비스(102)(현재 또는 미래 시간에)와 연관된 프린터를 포괄적으로 식별할 수 있게 할 것이며, 따라서 사용자(125)는 사용자(125)가 제 2 위치(122)에 존재할 때, 포괄적으로 식별된 프린터를 구체적으로 식별할 수 있다. 후자의 예들에서, 예를 들면, 프린터 선택 리스트(113A)는 다수의 특정 프린터들, 뿐만 아니라 방금 설명된 바와 같이, 사용자(125)가 제 2 위치에 존재하는 나중에 식별될 현재-식별되지 않은 프린터를 포괄적으로 나타내며 프린트 작업의 실제 프린팅을 개시하고 싶어하는 가상 프린터 또는 가상 프린트 큐를 식별할 수 있다.
시스템(100)에 의해 제공된 유리한 특징들의 일 예에서, 사용자(125)는 따라서 클라우드-인식 프린터(118)를 사용하여 프린팅되는 콘텐트의 강화된 비밀성 또는 보안을 경험할 수 있다. 예를 들면, 여기에 설명된 구현들에서, 관련 있는 문서들은 사용자(125)가 제 2 위치(122)에 존재하는 동안 단지 클라우드-인식 프린터(118)에 의해 프린팅되며 제 2 위치(122)에서 사용자(125)의 도착 이전에 프린팅되지 않는다. 이러한 방식으로, 프린팅된 문서들은 프린팅된 문서들이 사용자(125)가 제 1 위치(120)에서 제 2 위치(122)로 이행 중인 동안 방치되는 종래의 원격 프린팅 시나리오들에서 발생할 수 있는 것과 같이, 방치된 채로 남겨지지 않는다. 그 결과, 사용자(125)는 허가되지 않은 사용자들이 고의가 아니게 또는 위법으로 프린팅될 문서들의 소유를 획득할 수 있는 것에 대해 우려할 필요가 없다.
부가적으로, 프린팅된 문서의 비밀성 또는 보안과 연관되는 이들 및 관련된 양상들을 추가로 강화시키기 위해, 문서들의 프린팅이 시작되도록 허용될 수 있기 전에 사용자(125)의 부가적인 인증이 요구될 수 있다. 이러한 방식으로, 사용자(125)(또는 다른 허가된 사용자들)는 또한 문제의 프린팅된 문서들을 검색할 수 있는 유일한 사용자(들)임을 확신할 수 있다.
예를 들면, 여기에 보다 상세히 설명되는 바와 같이, 사용자(125)는 그 후 프린터(118) 및/또는 클라우드 프린트 서비스(102)에 의해 검증될 수 있는(예를 들면, 인증 관리기(135)를 사용하여) 식별 또는 다른 인증 정보를 제공하기 위해 클라우드-인식 프린터(118)를 이용할 수 있으며, 따라서 요청된 문서들의 프린팅이 시작될 수 있다. 예를 들면, 이러한 인증은 사용자(125)에 의한 패스워드 또는 핀의 제출, 카드 판독기를 사용한 ID 카드의 긁기, 사용자(125)의 배지의 판독, 또는 많은 다른 식별/인증 기술들을 포함할 수 있으며, 그 일부는 이하에 보다 상세히 설명되거나 또는 언급된다.
도 1의 예에서, 또한 여기에 보다 상세히 설명되는 바와 같이, 프린트 다이얼로그(113)는 인증 드롭-다운 리스트(113B)를 포함할 수 있으며, 이것은 사용자(125)가 사용될 인증 기술들의 존재, 유형, 또는 특성을 특정할 수 있게 할 것이다. 예를 들면, 인증 드롭-다운 리스트(113B)는 사용자(125)가 방금-설명된 인증 기술들 중 하나 이상, 또는 다른 인증 기술들을 선택할 수 있게 할 것이다. 다른 예들에서, 인증 드롭-다운 리스트(113B)는 사용자(125)가 이러한 인증 기술들을 특성화하거나 또는 파라미터화할 수 있게 할 것이다. 예를 들면, 사용자(125)는 프린팅을 개시하기 위해 나중에 제 2 위치(122)에서 요구될 수 있는 특정한 패스워드 또는 핀을 제공하도록 가능해질 수 있다.
예로서, 도 2b 및 도 3a 내지 도 3g에 대하여, 여기에 상세히 설명된 특정한 예들에서, 사용자(125)는 클라우드-인식 프린터(118)에 의해 식별된 문서들의 프린팅을 개시 및 실행하기 위해 제 2 위치(122)에서 이동 디바이스(124)를 이용할 수 있다. 예를 들면, 설명된 바와 같이, 사용자(125)는 프린팅될 애플리케이션 콘텐트를 식별하는 프린트 작업의 제출을 제공하기 위해 제 1 위치(120)에서의 디바이스(108)를 이용할 수 있다. 프린트 작업(예로서, 프린팅될 실제 애플리케이션 콘텐트 및/또는 애플리케이션 콘텐트에 대한 조회 또는 다른 식별자)은 클라우드 프린트 서비스(102)를 사용하여 저장될 수 있어서, 나중 시간에, 사용자(125)가 이동 디바이스(124)를 운반하면서 제 2 위치(122)에 도착할 수 있도록 한다. 그 후, 사용자(125)는 예로서, 클라우드-인식 프린터(118)를 식별하기 위해 및/또는 그 외 클라우드-인식프린터(118)에 프린팅될 애플리케이션 콘텐트를 제공하도록 클라우드 프린트 서비스(102)와 통신하기 위해 이동 디바이스(124)를 이용할 수 있다.
예를 들면, 이동 디바이스(124)는 예로서, 셀 전화기, 스마트폰, 태블릿 컴퓨터, 넷북, 노트북, 또는 임의의 이러한 디바이스를 포함하여, 이송 중인 동안 사용자(125)에 의해 운반될 수 있는 가상의 임의의 디바이스를 포함하거나 또는 나타낼 수 있다. 따라서, 이동 디바이스(124)는 범위가 기본 네트워크 연결성에서부터 애플리케이션들(112, 116)에 대한 완전한 지원, 및 클라우드 프린트 서비스(102) 및/또는 클라우드-인식 프린터(118)와 통신하기 위한 브라우저-기반 지원을 제공하는 것까지 이르는, 광범위한 가능한 특징 세트들을 포함할 수 있다. 특히, 다양한 예들에서, 이동 디바이스(124)는 제 1 위치(120)에서의 사용자에 의해 사용된 동일한 디바이스(108)일 수 있거나, 또는 그것은 전체적으로 상이한 디바이스일 수 있다는 것이 이해될 수 있다.
물론, 이동 디바이스(124)는 시스템(100)에서 사용자(125)에 의해 사용될 수 있는 디바이스들의 비-제한적인 예이다. 예를 들면, 사용자(125)는 클라우드 프린트 서비스(102)를 갖고 인증하며 여기에 설명된 바와 같이 하나 이상의 원하는 프린트 작업들을 해제 및 실행하기 위해 클라우드-인식 프린터(118)의 부근에 있는 키오스크 또는 다른 컴퓨팅 디바이스를 이용할 수 있다.
도 1의 예에서, 시스템(100)의 문맥에서 이동 디바이스(124)의 사용은 여기에 설명된 로빙 프린팅 시나리오들을 이용 및 구현할 때 높은 정도의 편리함 및 유연성을 사용자에게 제공할 수 있다는 것이 이해될 수 있다. 예를 들면, 이동 디바이스(124)는 통상적으로 사용자(125)에게 친숙할 수 있으며, 따라서 사용자(125)는, 사용자가 도 1의 예에서 클라우드-인식 프린터(118)에 의해 표현된 다수의 가변 유형들의 프린터들을 이용할 수 있을지라도, 클라우드 프린트 서비스(102) 및/또는 클라우드-인식 프린터(118)와의 고유한 인터페이스를 경험한다는 것이 이해될 수 있다.
또한, 이러한 시나리오들에서, 클라우드 프린트 서비스(102) 및/또는 클라우드-인식 프린터(118)와 상호작용하기 위한 요구된 기능 모두는 이동 디바이스(124)를 사용하여 구현될 수 있기 때문에, 최소 또는 상당히 감소된 특징 세트는 클라우드-인식 프린터(118) 자체에서 요구될 수 있다는 것이 이해될 수 있다. 즉, 예를 들면, 클라우드-인식 프린터(118)는 클라우드 프린트 서비스(102)와 통신하기 위해 요구된 최소의 하드웨어/소프트웨어를 갖고 제조될 수 있다. 특히, 여기에 상세히 설명되는 바와 같이, 이동 디바이스(124)의 사용은 여기에 설명된 다양한 인증 시나리오들에서 사용자(125)를 인증하는 것과 연관된 데이터를 유지하기 위해 클라우드-인식 프린터(118)의 요구를 감소시키거나 또는 제거할 수 있다. 그 결과, 클라우드-인식 프린터(118)의 제조사들은 그럼에도 불구하고 여기에 설명된 로빙 프린터 시나리오들과 완전히 호환 가능한 저 비용 프린터들을 제공하도록 가능해질 수 있다.
도 1에 도시된 바와 같이, 클라우드 프린터 서비스(102)는 클라우드 프린트 서비스(102)의 기능들을 구현하기 위해 이용될 수 있으며, 특히 여기에 설명된 다양한 로빙 프린팅 시나리오들을 구현하기 위해 이용될 수 있는 다수의 예시적인 구성요소들 또는 모듈들을 포함할 수 있다. 예를 들면, 클라우드 프린트 서비스(102)는 등록 관리기(126)를 포함할 수 있으며, 이것은 프린터들 및 사용자들을 등록하도록 구성될 수 있다. 따라서, 등록 관리기(126)의 사용을 통해, 사용자(125)는 클라우드 프린트 서비스(102)에 등록할 수 있으며, 그 후 클라우드 프린트 서비스(102)에 로그인하고 이를 이용하기 위해 등록 관리기(126)와 상호작용할 수 있다는 것이 이해될 수 있다. 예를 들면, 등록 관리기(126)는 사용자(125)의 사용자명 및 패스워드를 저장할 수 있으며, 이것은 사용자(125)가 예로서 프린팅될 애플리케이션 콘텐트를 식별하는 원래 프린트 작업 제출과 함께(즉, 디바이스(108)를 사용하여) 제공할 수 있다. 유사하게, 사용자(125)는 예시적인 시나리오들에서, 애플리케이션 콘텐트의 실제 프린팅을 개시하려고 시도할 때 제 2 위치에 존재하는 동안 클라우드 프린트 서비스(102)에 인증하기 위해 동일한 사용자명/패스워드를 사용할 수 있다. 특히, 도시되고 설명된 바와 같이, 사용자(125)는 클라우드 프린트 서비스(102)에서 사용자의 인증을 위해 등록 관리기(126)에 관련 있는 사용자명/패스워드를 제공하도록 이동 디바이스(124)를 이용할 수 있다.
다소 유사하게, 클라우드-인식 프린터(118), 뿐만 아니라 다양한 다른 프린터들(도 1의 예에서 구체적으로 예시되지 않음)은 등록 관리기(126)에 등록될 수 있다. 설명된 예들에서, 클라우드-인식 프린터(118)를 포함하여, 이러한 프린터들의 특정한 서브세트가 사용자(125)와 연관될 수 있다는 것이 이해될 수 있다. 즉, 등록 관리기(126)는 복수의 사용자들 및 복수의 프린터들을 등록할 수 있으며, 사용자들/프린터들의 연관된 인가들 또는 허가들에 의존하여, 다양한 서브세트들의 프린터들과 다양한 서브세트들의 사용자들을 연관시킬 수 있다. 예를 들면, 주어진 사용자는 사용자의 사용자 계정을 갖고 다수의 프린터들을 등록할 수 있다. 다른 예들에서, 네트워크 관리자는 주어진 사용자와 복수의 프린터들을 연관시킬 수 있다. 다른 예들에서, 등록 관리기(126)는 사용자들 사이에서 프린터들의 공유를 가능하게 할 수 있으며, 따라서 예를 들면, 클라우드-인식 프린터(118)와 관련하여 등록된 제 1 사용자는 사용자(125)와 클라우드-인식 프린터(118)를 공유할 수 있다.
몇몇 예들에서, 사용자들은 이미 별개의 및 가능하게는 관련된 서비스 또는 서비스 제공자를 가진 사용자 계정을 가질 수 있다. 예를 들면, 다양한 온라인 서비스들(예로서, 다른 클라우드-기반 컴퓨팅 리소스들)은 이메일, 데이터 저장, 및 문서 프로세싱과 같은 기능들을 제공할 수 있으며, 이러한 경우들에서, 사용자는 이미 그와 관련되어 수립된 안전한 사용자 계정을 가질 수 있다. 이러한 경우들에서, 클라우드 프린트 서비스(102)는 예로서, 새로운 사용자 계정을 생성하기 위한 요구를 회피하기 위해, 및 예로서, 방금 설명된 프린터-공유 기술들의 구현을 위해서와 같이, 클라우드 프린트 서비스(102)와 함께 다른 서비스들의 기존의 사용자들의 액세스를 용이하게 하기 위해 이러한 기존의 사용자 계정들을 레버리징하거나 또는 액세스할 수 있다.
따라서, 등록 관리기(126)가 클라우드 프린트 서비스(102) 내에 포함되는 것으로 예시될지라도, 등록 관리기(126)에 관련된 몇몇 또는 모든 기능이 클라우드 프린트 서비스(102)의 외부에 존재할 수 있다는 것이 또한 발생할 수 있다는 것을 이해할 수 있다. 예를 들면, 애플리케이션 서버(114)는 애플리케이션(116)으로서 이메일 애플리케이션을 제공할 수 있으며 디바이스(108)의 사용자는 이러한 이메일 애플리케이션 (서비스)에 등록될 수 있다. 이러한 경우에, 애플리케이션 서버(114)는 사용자의 계정을 유지하는 책임을 가질 수 있으며, 클라우드 프린터 서비스(102)는 간단히 애플리케이션 서버(114)와 인터페이스할 수 있고 일단 사용자(125)가 애플리케이션(116)에 로그인된다면 사용자(125)에게 액세스를 제공할 수 있다.
또한 도 1에서, 애플리케이션 관리기(128)는 예로서 애플리케이션(112), 및 애플리케이션(116)을 포함하여, 시스템(100) 내에서의 프린팅을 위해 사용되도록 요구될 수 있는 임의의 애플리케이션과 통신하도록 구성될 수 있다. 따라서, 예를 들면, 애플리케이션 관리기(128)는 외부 애플리케이션들과의 이러한 통신을 가능하게 하는 다양한 애플리케이션 프로그래밍 인터페이스들(API들)을 구현할 수 있다.
예를 들면, 애플리케이션 관리기(128)는 프린트 다이얼로그 API(130)를 포함할 수 있으며, 이것은 프린트 다이얼로그(113)를 렌더링하도록 구성될 수 있다. 즉, 상기 언급된 바와 같이, 프린트 다이얼로그 API(130)는 예로서, 프린터 리스트(113A), 인증 리스트(113B)를 포함하는 것으로서 프린트 다이얼로그(113), 뿐만 아니라 연관된 프린터 능력들 및 다른 관련 있는 정보를 렌더링할 수 있다. 프린트 다이얼로그 API(130)는 예로서, 자바 스크립트를 사용하여, 프린트 다이얼로그(113)를 렌더링할 수 있다. 프린트 다이얼로그 API(130)는 따라서 프린트 다이얼로그(113)를 제공하거나 또는 렌더링할 수 있으며, 그에 의해 클라우드 프린트 서비스(102)와 인터페이스하는 모든 애플리케이션들(예로서, 애플리케이션들(112, 116))에 걸쳐 공통의 프린트 다이얼로그 경험을 제공할 수 있다는 것이 이해될 수 있다.
부가적이거나 또는 대안의 예시적인 구현들에서, 프린트 다이얼로그 API(130)는 또한 제 3 자 프린트 다이얼로그를 구성하기 위해 애플리케이션 개발기를 위한 충분한 정보를 제공할 수 있으며, 이것은 프린트 다이얼로그(113)와 외형이 상이할 수 있으며, 예로서 그것의 개발기/제공자에 의해 제공된 애플리케이션들의 묶음과 연관된 독점적 외형을 가질 수 있다. 이러한 방식으로 사용자(125)는 원하는 프린터 선택들 및 연관된 원하는 프린트 특성들, 뿐만 아니라 프린팅될 실제 콘텐트의 식별을 제공할 수 있다. 이해될 수 있는 바와 같이, 이러한 프린트 데이터는 임의의 종래의 포맷, 예로서 몇 가지 예를 들자면, HTML, PDF, XPS, 또는 JPEG과 같은 이미지 포맷으로 표현될 수 있다.
작업 제출 API(132)는 프린트 다이얼로그(113)로 사용자(125)에 의해 제출된 애플리케이션 콘텐트의 식별을 수신하기 위해 이용될 수 있다. 예를 들면, 몇몇 구현들에서, 사용자(125)는 디바이스(108)를 사용하여 국소적으로 실행 및 저장되는 애플리케이션(112)의 애플리케이션 콘텐트의 식별을 제출할 수 있다. 이러한 경우들에서, 애플리케이션 콘텐트의 포맷 및 연관된 프린트 특성들은 그것의 제출시 식별되거나 또는 그 외 특정될 수 있으며, 관련된 값들은 클라우드-인식 프린터(118)에 의한 나중 프린팅을 위해, 클라우드 프린트 서비스(102)를 사용하여 이와 같이 저장될 수 있다.
특정 예를 제공하기 위해, 애플리케이션(112)은 디바이스(108) 상에서 실행하는 스프레드시트 애플리케이션(112)을 포함할 수 있다. 이러한 일 예에서, 사용자(125)는 스프레드시트 애플리케이션(112)의 특정한 시트를 프린팅할 수 있으며 관련된 프린트 특성들에 대한 연관된 값들은 사용자(125)가 제 2 위치(122)에 도착하고 연관된 프린팅을 개시하는 나중 시간까지 저장을 위해 정의될 수 있다. 예를 들면, 프린팅될 스프레드시트의 컬럼들 및 로우들의 수의 포맷팅은 연관된 문서 크기에 대해 지정될 수 있으며 방금 설명된 방식으로 저장될 수 있다. 물론, 유사한 언급들이 프린팅될 가상의 임의의 유형의 애플리케이션 콘텐트, 예로서 워드 프로세싱 문서들, 웹페이지들, 이미지들, 또는 다른 애플리케이션 콘텐트에 적용할 수 있다는 것이 이해될 수 있다. 이러한 시나리오들은 여기에서 “값에 의한 프린트(print-by-value)” 프린트 시나리오들로서 조회될 수 있으며, 여기에서 방금 설명된 바와 같이, 연관된 프린트 특성들 또는 속성들에 대한 값들은 작업 제출 API(132)에 의해 수신된 바와 같이, 제 1 위치(120)에서의 디바이스(108)에서 사용자(125)에 의한 그것의 제출시 정의되고 저장된다.
반대로, 다른 예시적인 시나리오들에서, 사용자(125)에 의해 프린트 작업 제출로서 수신된 프린트 데이터는 예로서, 적절한 고유 리소스 위치(URL)의 식별에 의해 원격 프린트 데이터에 대한 조회에 의해 표현되거나 또는 그 외 포함될 수 있다. 예를 들면, 여기에 설명된 바와 같이, 사용자(125)는 애플리케이션 서버(114) 상에서 구동하는 웹 애플리케이션(116)과 연관된 애플리케이션 콘텐트를 프린트하고 싶어할 수 있다. 이전 예에 대한 비교로서, 애플리케이션(116)은 또한 스프레드시트 애플리케이션을 나타낼 수 있다. 이들 예들에서, 그러나, 애플리케이션 콘텐트 및 연관된 프린트 특성들/속성들의 제출이 제출시 완료될 필요가 없다는 것이 발생할 수 있다. 오히려, 작업 제출 API(132)는 관련된 프린트 특성들의 일부 또는 모두에 대한 한정된 값들을 반드시 수신하거나 또는 저장하지 않고, 프린팅되는 애플리케이션(116)의 애플리케이션 콘텐트에 대한 조회를 간단히 수신하고 저장할 수 있다. 이러한 예들에서, 사용자(125)가 제 2 위치(122)에 도착하고 애플리케이션(116)의 스프레드시트의 실제 프린팅을 개시하는 나중 시간에, 애플리케이션 데이터 인출기(134)는 그에 의해 관련 있는 애플리케이션 콘텐트를 획득하기 위해, 작업 제출 API에 의해 이전에 저장된 애플리케이션(116)에 대한 조회를 이용하도록 구성될 수 있다. 따라서, 이러한 시나리오들은 여기에 “조회에 의한 프린트(print-by-reference)” 프린트 시나리오들로서 불리운다.
값에 의한 프린트 또는 조회에 의한 프린트 시나리오를 실행하는지 여부에 상관없이, 작업 제출 API(410)는 프린팅될 애플리케이션 콘텐트 및 연관된 프린트 특성들을 포함하여, 대응하는 프린트 작업을, 클라우드-인식 프린터(118)와 일치하며 그것과 호환 가능한 포맷으로 프린트 작업의 변환을 실행하도록 구성될 수 있는 포맷 변환기(136)로 제출하도록 구성될 수 있다. 예를 들면, 작업 제출 API(132)는 프린트 작업, 및 특정하며 비-제한적인 세트의 예들을 제공하기 위해, 예로서, XPS, 뿐만 아니라 콘텐트 유형을 식별하는 MIME 유형으로 표현된 프린터 능력들을 포함할 수 있는 하이퍼텍스트 전송 프로토콜(HTTP) 다중-파트 요청을 수신할 수 있다.
따라서, 애플리케이션 관리기(128)는 일반적으로 프린트 요청을 수신하고, 그 후 예로서, 애플리케이션(112, 116)으로부터 연관된 프린트 작업을 수신하는 기능들을 구현할 수 있다. 일반적으로, 프린트 요청을 수신하는 제 1 기능은 프린트 다이얼로그(113) 또는 사용자(125)가 이용가능하고/연관된 등록된 프린터를 선택할 수 있으며, 및/또는 여기에 설명된 바와 같이, 사용자(125)가 포괄적이거나 또는 현재 식별되지 않은 프린터를 선택할 수 있는 다른 사용자 인터페이스를 사용자(125)에게 제공하는 것을 포함할 수 있다. 프린트 작업을 수신하는 것은, 가능하게는 선호들 및 그것들의 프린트 데이터가 어떻게 프린팅되도록 요구되는지에 대한 다른 양상들을 특성화하는 프린트 특성들(예로서, 컬러 대 흑백, 문서 크기 지향, 사본들의 수, 또는 임의의 다른 관련 있거나 또는 원하는 프린트 특성)과 함께, 프린트될 프린트 데이터를 수신하는 것을 포함할 수 있다. 애플리케이션 관리기(128)는 예로서, 프린트 작업 동안 프린트 작업의 프린터의 상태를 제공하는 것과 같이, 또한 애플리케이션(112, 116)과의 다른 통신들을 행할 수 있다.
따라서, 애플리케이션 관리기(128)는 특정 프린터에 독립적인, 예로서 시스템(100) 내에서의 모든 이용 가능하거나 또는 관련 있는 프린터들에 대하여 포괄적인 포맷으로 또한 애플리케이션(112, 116)(또는 다른 애플리케이션)과 통신할 수 있다는 것이 이해될 수 있다. 이러한 방식으로, 애플리케이션(112, 116)은 프린트 작업을 만들어내고 및/또는 전송할 때 목적지 프린터의 지식을 요구하는 것과 연관된 부담들의 일부 또는 모두를 덜어줄 수 있다.
예를 들면, 프린트 작업을 전송할 때, 애플리케이션(112)은 프린트 작업이 특정한 식별된 프린터에 대해 예정되는지 또는 단지 포괄적이지만, 아직 결정되지 않은 프린터로서 식별되거나 또는 그것과 연관되는지에 관계 없이, 동일한 방식으로 프린트 데이터 및 프린트 특성들 모두를 만들어낼 수 있다. 사실, 사용자(125)가 그 또는 그녀의 사용자 계정과 연관된 임의의 등록된 프린터를 현재 갖지 않을지라도, 프린트 작업은 저장을 위해 및 클라우드-인식 프린터(118) 또는 결국 사용자(125)의 계정과 함께, 및 제 2 위치(122)에서의 이러한 프린터에서 사용자(125)의 도착 시 클라우드 프린트 서비스(102)에 등록될 수 있는 다른 프린터로의 나중 프린팅을 위해 클라우드 프린트 서비스(102)로 포워딩될 수 있다.
따라서, 애플리케이션 관리기(128) 및/또는 애플리케이션들(112, 116)에 의해 이용된 다양한 API들(예로서, 130, 132)은 다수의 다양한 유형들의 애플리케이션들과 함께 이용될 수 있는 경량의, 일관된, 고객 맞춤 가능하며, 쉽게 구현 가능한 API들을 표현할 수 있다는 것이 이해될 수 있다. 게다가, 이러한 API들은 설사 있다고 하더라도 좀처럼 사용자(125)가 특정한 애플리케이션과 함께 클라우드 프린트 서비스(102)를 이용하기 위해 사용자(125)에 의해 업데이트되거나 또는 유지될 필요가 없을 수 있다. 대신에, 이러한 업데이트들은 클라우드 프린트 서비스(102)의 관리자 또는 다른 제공자에 의해 및/또는 애플리케이션(112)의 제공자에 의해 관리될 수 있어서, 사용자(125)가 연관된 노력들 및 책임을 덜어내도록 한다.
새로운 프린터들이 시간에 걸쳐 시장에 도입되는 그 순간에도, 사용자(125)는 애플리케이션(112)이 클라우드 프린트 서비스(102)에 새로운 프린터들의 등록을 통해 새로운 프린터들을 간단히 이용할 수 있는 경험을 가질 수 있다. 특히, 여기에 설명된 로빙 프린팅에서, 사용자(125)는 처음에 및 제 1 위치에서 프린트 작업을 제출하는 것이 발생할 수 있으며, 그 시간에 클라우드-인식 프린터(118)는 등록 관리기(126)에서 사용자(125)의 계정과 함께 등록되지 않을 수 있으며 및/또는 그 시간에 클라우드-인식 프린터(118)는 제조되거나 또는 생산되지 않을 수 있다. 그럼에도 불구하고, 예시적인 시나리오들에서, 사용자가 제 2 위치(122)에 도착하는 제 2 시간에, 클라우드-인식 프린터(118)가 그 때 설치되고 사용자(125)의 계정과 연관되는 한, 사용자(125)는 그때 프린트 작업의 프린팅을 개시할 수 있다는 것이 이해될 수 있다.
상기 언급된 바와 같이, 하나 이상의 프린터들을 갖고 구체적으로 또는 포괄적으로 식별될 수 있는, 프린터-독립적 또는 포괄적 포맷으로 애플리케이션 관리기(128)에서 수신된 이러한 프린트 작업들은 포맷 변환기(136)로 전달될 수 있으며, 이것은 프린트 작업을 수신하고 문제의 프린트 작업에 대한 지정된(유형의) 프린터와 연관된 포맷으로 프린트 작업의 변환을 가능하게 하거나 또는 실행하도록 구성될 수 있다. 이러한 변환은 그에 따라 일반적으로 요구된 대로, 프린트 데이터 자체의 변환, 뿐만 아니라 주어진 프린트 작업과 함께 특정된 프린트 특성들의 변환을 포함할 수 있다.
보다 상세히, 알려진 바와 같이, 프린터들은 일반적으로 프린터들이 원하는 외형을 달성하기 위해 문서에 잉크를 실제로 도포하는 베이스를 제공하는 저-레벨, 디바이스 또는 유형-특정 지시들을 요구한다. 이러한 지시들은 그러므로 예로서, 페이지 기술 언어(page description language; PDL)를 사용하여 원하는 프린트 결과의 매우 특정한 묘사들을 포함할 수 있다. 예를 들면, 언어 포스트스크립트는 원하는 프린트 결과를 설명하기 위해 사용될 수 있으며, 이것은 그 후 프린트 텍스트 또는 이미지들을 사용하여 특정 프린터에 의해 렌더링(예로서, 또는 래스터화)될 수 있다. 부가적으로, 이용 가능한 문서들을 모두 유지하는 디바이스-독립적 프린팅을 가능하게 하도록 설계되는 고정-레이아웃 문서 포맷들이 존재한다. 예를 들면, 이동 가능한 문서 포맷(PDF)은 이러한 포맷의 일 예이며, 여기에서 .PDF 문서들은 포스트스크립트를 사용하여 생성될 수 있다. 다소 유사하게, XML 문서 규격(XPF)은 이러한 고정된 레이아웃 문서를 제공하며, 이것은 확장 가능한 마크업 언어(XML)에 기초한다.
따라서, 애플리케이션 콘텐트 또는 다른 프린트 데이터는 예로서, 하이퍼텍스트 마크업 언어(HTML)를 포함한 가상의 임의의 포맷으로 또는 문서 프로세싱 애플리케이션들 및/또는 이미지들과 연관된 포맷, 또는 상기 언급된 임의의 PDF 또는 XPF 포맷들로 애플리케이션(112)으로부터 수신될 수 있다. 포맷 변환기(136)는 따라서 이들 및 임의의 다른 다양한 포맷들로 프린트 데이터를 수신하도록, 및 지정된 프린터에 의해 인식 가능한, 예로서 제 2 위치에서 사용자(125)의 도착 시 사용자(125)에 의해 지정되고 식별되는 클라우드-인식 프린터(118)에 의해 인식 가능한 포맷으로 프린트 데이터를 변환하도록 구성될 수 있다.
유사하게, 상기 언급된 바와 같이, 포맷 변환기(136)는 프린트 작업과 연관된 프린트 특성들을 지정된 프린터(118)에 의해 인식 가능한 포맷으로 변환하도록 구성될 수 있다. 즉, 상기 언급된 바와 같이, 프린트 특성들은 프린트 데이터가 어떻게 프린팅되어야 하는지 또는 프린팅될 수 있는지에 대한 양상들을, 즉 사용자의 및/또는 지정된 프린터의(능력들 또는 그것의 부족) 선호들에 기초하여 포함할 수 있다. 예를 들면, 주어진 /프린터는 어떤 양면 프린팅 능력들을 갖지 않는 흑백 프린터일 수 있는 반면, 제 2 프린터는 양면 프린팅을 가진 컬러 프린터일 수 있다. 포맷 변환기(136)는 선택된 프린터 및/또는 사용자(125)의 선호들에 의존하여, 그에 따라 적절한 변환을 제공할 수 있다. 포맷 변환기(136)는 그 후 예로서, 여기에서 클라우드 프린트 프로토콜(CPP)로서 불리우는 프로토콜을 사용하여 결과적인, 변환된 프린트 작업을 제공 및 실행할 수 있다. 따라서, 클라우드 프린트 프로토콜은 클라우드 프린트 서비스(102)가 클라우드-인식 프린터(118)와(또는 클라우드 프린트 서비스(102)와 통신하도록 가능해진 레거시 프린터와) 통신하도록 허용한다.
여기에 설명된 바와 같이, 사용자(125)의 이러한 선호들은 디바이스(108)를 사용한 프린트 작업의 제출시 표현될 수 있다. 부가적이거나 또는 대안적인 구현들에서, 그러나, 사용자(125)가 문제의 프린트 작업과 연관된 모든 원하는 프린트 특성들을 특정할 필요는 없을 수 있다. 오히려, 부가적인 유연성 또는 편리함이 사용자(125)가 제 2 위치(122)에 있는 동안 이러한 프린트 특성들을 제공하거나 또는 특정하도록 허용함으로써 제공될 수 있다.
예를 들면, 상기 제공된 스프레드시트 예에서, 사용자(125)는 다양한 프린트 특성들을 포맷 변환기(136)에 제출하기 위해 클라우드-인식 프린터(118) 및/또는 이동 디바이스(124)를 이용할 수 있는 반면, 사용자는 제 2 위치(122)에 위치된다. 그 후, 포맷 변환기(136)는 예로서, 애플리케이션(116)에 대한 저장된 조회로 프린트 데이터를 검색하기 위한 애플리케이션 데이터 인출기(134)를 사용하여, 애플리케이션 관리기(128)로부터 수신된 프린트 작업과 그에 따라-수신된 프린트 특성들을 조합할 수 있어서, 포맷 변환기(136)가 그 후 클라우드-인식 프린터(118)와 호환 가능하며 제 2 위치(122)에서 사용자(125)에 의해 특정된 프린트 특성들에 따르는 애플리케이션 콘텐트의 프린트 가능한 버전을 완료하는 것을 계속할 수 있도록 한다. 이러한 방식으로, 언급된 바와 같이, 사용자(125)는, 사용자(125)가 클라우드-인식 프린터(118)의 제 2 위치(122)에 도착한 후조차 관련 있는 파라미터를 구성할 수 있기 때문에, 문제의 애플리케이션 콘텐트의 최종 프린팅된 포맷을 결정할 때 상당한 편리함 및 유연성을 제공받을 수 있다. 이러한 특징들은 따라서, 사용자(125)가 제 1 위치(120)에서의 디바이스(108)를 통해 프린트 작업의 제출시 클라우드-인식 프린터(118)의 아이덴티티 또는 위치의 지식을 갖도록 요구되지 않을지라도, 사용자(125)에게 제공된다는 것이 이해될 수 있다.
상기 설명으로부터 이해될 수 있는 바와 같이, 클라우드 프린트 서비스(102)는 클라우드 프린트 서비스(102)의 동작들에 관련된 하나 이상의 유형들의 데이터 저장을 제공할 수 있는 작업 저장 장치(140)를 포함할 수 있다. 예를 들면, 작업 저장 장치(140)는 프린트 작업들 및 관련된 정보를 저장할 수 있으며, 여기에서 이러한 프린트 작업들/정보가 포맷 변환기(136)에 의해 제공된 포맷 변환들 이전 및/또는 이후에 저장될 수 있다. 예를 들면, 프린트 작업은 프린트 작업이 작업 제출 API(132)에 의해 수신될 수 있는 프린터-독립 포맷으로 저장될 수 있다. 특히, 작업 저장 장치(140)는, 상기-설명된 “조회에 의한 프린트” 프린팅 시나리오들을 용이하게 하며 가능하게 하기 위해, 애플리케이션(116)에 대한 링크 또는 다른 조회를 저장할 수 있다. 다른 예시적인 구현들에서, 작업 저장 장치(140)는 모든 프린트 값들이 상기-설명된 “값에 의한 프린트” 프린팅 시나리오들에서 발생할 수 있는 것과 같이, 클라우드-인식 프린터(118) 또는 다른 프린터에 의해 그것의 나중 액세스를 위해 할당 받는 변환된 프린트 작업들을 저장할 수 있다.
도 1의 예에서, 작업 저장 장치(140)는 구체적으로 프린트 작업의 제출시 로빙 프린팅을 위해 지정되는 디바이스(108)로부터 프린트 작업들을 수신 및 저장하도록 구성되는 가상 프린트 큐(140A)를 포함할 수 있다. 예를 들면, 현재 설명으로부터 이해될 수 있는 바와 같이(및 도 3a에 도시된 바와 같이), 사용자(125)는 프린터 선택 드롭-다운 리스트(113A)와 함께 가상 프린트 큐(140A)를 선택하기 위해 프린트 다이얼로그(113)를 이용할 수 있다. 즉, 가상 프린트 큐(140A)는 제공된 프린터 리스트 내에서 표현될 수 있다. 이러한 방식으로, 설명된 바와 같이, 사용자(125)는 그에 의해 작업 저장 장치(140) 내에서의 연관된 프린트 작업을 식별하기 위해, 리스트(113A)로부터 가상 프린트 큐(140A)를 간단히 선택할 수 있으며, 따라서 사용자(125)는 제 2 위치(122)에서의 도착 시 가상 프린트 큐(140A)로부터 식별된 프린트 작업을 검색할 수 있다.
따라서, 예를 들면, 사용자(125)의 프린트 작업들은 사용자(125)의 연관된 사용자 계정과 함께, 및 상기 사용자에 등록된 하나 이상의 프린터들과 함께 및/또는 가상 프린트 큐(140A)와 함께 저장될 수 있다는 것이 관찰될 수 있다. 그 결과, 프린트 작업들은 단기 또는 장기 저장에 할당될 수 있으며, 따라서 예를 들면, 사용자(125)는 사용자(125)가 상이한 위치(예로서, 제 2 위치(122))로부터 클라우드 프린트 서비스(102)를 나중에 액세스할지라도 및/또는 디바이스(108)와 상이한 디바이스를 사용하여 원하는 프린트 작업들을 위치, 식별, 및 재-프린팅할 수 있다.
또한, 프린트 작업의 변환은 발생 애플리케이션(112, 116)이 스스로 실행될 수 있는 하나 이상의 디바이스들로부터 별개의 디바이스들에서 적어도 부분적으로 발생한다는 것이 관찰될 수 있다. 이러한 방식으로, 예를 들면, 프린트-특정 포맷으로의 프린트 작업의 변환으로부터 적어도 부분적으로 별개로 프린트 작업을 만들어내고 제출하며, 그에 의해 실행 애플리케이션의 근본적인 운영 시스템, 예를 들면 운영 시스템(110)으로부터의 이러한 변환을 분리하는 것이 가능하다.
도 1의 클라우드 프린트 서비스(102)의 예에서 추가로, 포맷 변환기(136) 및/또는 작업 저장 장치(140)로부터 프린트 작업 라우터(138)는 지정된 프린터, 예로서 클라우드-인식 프린터(118)로 변환된 프린트 작업을 라우팅하도록 구성될 수 있다. 프린트 작업 라우터(138)는 또한 주어진 프린트 작업의 실행 및 성공/실패를 모니터링 및 중재하도록 구성될 수 있다. 프린트 작업 라우터(138)는 따라서 클라우드-인식 프린터(118)를 포함하여, 대응하는 복수의 프린터들에 대해 지정될 수 있는, 사용자(125)를 포함하여, 복수의 사용자들로부터 진행 중인 프린트 작업들을 관리 및 모니터링하는 책임이 있을 수 있다.
도시된 바와 같이, 프린트 작업 라우터(138)는 작업 인출 API(142) 및/또는 작업 제어 API(143)를 포함하거나 또는 그 외 그것과 연관될 수 있다. 예를 들면, 작업 인출 API(142)는 클라우드-인식 프린터(118)에 프린트 작업을 제공하도록 구성될 수 있으며, 예를 들면, 원하는 프린트 작업, 예를 들면, 가상 프린트 큐(140A) 내로부터 특정된 프린트 작업, 또는 다른 실시예들에서 클라우드-인식 프린터(118)에 대한 다음 이용 가능한 프린트 작업을 인출하기 위해 클라우드-인식 프린터(118)에 의해 사용될 수 있다.
작업 제어 API(143)는 요구된 대로 클라우드-인식 프린터(118)를 인가하고, 예로서, 프린트 작업이 완료되었는지 또는 실패하였는지에 관계없이 클라우드-인식 프린터(118)로부터 업데이트된 상태 정보를 수신하는 책임이 있을 수 있다. 이러한 상태 정보는 또한 문제의 대응하는 프린트 작업에 관련하여, 작업 저장 장치(140)를 사용하여 저장될 수 있다. 작업 제어 API(143)는 또한 예로서, 프린트 작업이 현재 대응하는 프린터에 아직 다운로드되지 않음으로써 현재 큐잉되는지, 또는 클라우드-인식 프린터(118)(적용 가능하다면)의 네이티브 프린터 큐에 스풀링되고/다운로드되는지 및 부가되는지 여부를 포함하는 상태 정보를 포함할 수 있다.
또한, 여기에 설명된 바와 같이, 가상 큐(140A)로부터 프린트 작업을 개시하기 위해 제 2 위치에서(예로서, 이동 디바이스(124)를 통해) 사용자(125)로부터의 요청을 수신하도록 구성될 수 있는 프린터 식별기(141)가 예시된다. 이러한 경우들에서, 프린터 식별기(141)는 예로서, 이동 디바이스에 의해 스캐닝된 바 코드를 사용하여 클라우드-인식 프린터(118)의 식별을 수신하도록, 및 그 후 예로서, 등록 관리기(126)와 함께, 클라우드-인식 프린터(118)를 실제로 식별하도록 구성될 수 있다. 그 후, 사용자(125)가 클라우드-인식 프린터(118)에 등록된다고 가정하면, 연관된 프린트 작업의 프린팅은 클라우드-인식 프린터에서 진행할 수 있다.
실행 동안, 프린트 작업 라우터(138)는 예로서, 클라우드-인식 프린터(118)의 펌웨어(144) 상에서 실행하는 프린트 클라이언트(146)와 통신하도록 구성될 수 있다. 프린트 클라이언트(146)는 상기 언급된 클라우드 프린트 프로토콜을 사용하여, 예로서 프린트 작업 라우터(138)와 함께 클라우드 프린트 서비스(102)와 통신할 수 있다.
보다 구체적으로, 프린트 클라이언트(146)는 클라우드 프린트 서비스(102)에 클라우드-인식 프린터(118)를 등록하고, 그에 의해 디바이스(108)의 사용자, 예로서, 사용자(125)와 그에 따라-등록된 프린터(118)를 연관시키도록 구성될 수 있다. 게다가, 프린트 클라이언트(146)는 실제로 클라우드-인식 프린터(118)를 구동하고 그에 의해 원하는 프린팅을 실행하도록 구성될 수 있다.
도 1의 예에서, 클라우드-인식 프린터(118)는 펌웨어(144) 내에 프린트 클라이언트(146)를 포함하는 것으로서 예시된다. 이 기술분야의 숙련자에 의해 이해될 바와 같이, 펌웨어(144)는 일반적으로 사용자 변경 또는 구성을 요구하거나 또는 허용하지 않고(예로서, 판독-전용 메모리를 이용할 수 있다) 지정된 기능들을 제공하는 공장 설치된 하드웨어 및/또는 소프트웨어를 나타낼 수 있다. 따라서, 클라우드-인식 프린터(118)는 그에 의해, 편리하며 즐거운 사용자 경험을 제공하기 위해, 클라우드 프린트 서비스(102)와 통신하고 조정하기 위해 구매 시간 전에 사전 구성될 수 있다.
예를 들면, 클라우드-인식 프린터(118)는 네트워크 액세스 관리기(148), 사용자 입력(150), 디스플레이(또는 다른 사용자 출력)(152)을 포함할 수 있으며, 이것은 일반적으로 시스템(100)의 예시적인 동작들을 이해하도록 돕기 위해 요구될 수 있는 경우를 제외하고 그러므로 여기에 상세히 설명되지 않는 그 외-종래의 구성요소들을 나타낼 수 있다. 물론, 클라우드-인식 프린터(118)는 구성요소들(144 내지 152) 모두를 포함할 필요는 없으며, 및/또는 또한 여기에 상세히 논의되지 않는 부가적이거나 또는 대안적인 구성요소들을 포함할 수 있다.
도 1의 예에서, 네트워크 액세스 관리기(148)는 클라우드-인식 프린터(118)가 네트워크(106)를 통해 클라우드 프린트 서비스(102)와 통신할 수 있게 하는 연관된 하드웨어/소프트웨어를 나타낼 수 있다. 예를 들면, 이러한 통신은 클라우드-인식 프린터(118)가 적절한 무선 네트워크의 범위 내에 있다면 무선으로 행해질 수 있다. 다른 예들에서, 네트워크 액세스 관리기(148)는 예를 들면, 적절한 라우터에 대한 연결로서, 네트워크(106)로의 클라우드-인식 프린터(118)의 유선 연결을 가능하게 할 것이다.
사용자 입력(150)은 클라우드-인식 프린터(118)에 데이터를 입력하기 위한 가상의 임의의 종류의 키패드, 스타일러스, 또는 다른 입력 기술을 나타낼 수 있다. 유사하게, 디스플레이(152)는 사용자(125) 또는 클라우드-인식 프린터(118)의 다른 사용자에게 정보를 출력하기 위해 가상의 임의의 종류의 오디오 및/또는 비디오 디스플레이를 나타낼 수 있다.
클라우드-인식 프린터(118) 또는 다른 프린터들의 많은 다른 구성들이 시스템(100)과 함께 사용을 위해 고려된다는 것이 이해될 것이다. 예를 들면, 상기 언급된 바와 같이, 도 1의 예에서 구체적으로 예시되지 않은, 레거시 프린터는 클라우드-인식 프린터(118)의 기능 중 몇몇이 없을 수 있다. 예를 들면, 이러한 레거시 프린터는 프린트 클라이언트(146)를 구현하며 그 외 클라우드 프린트 서비스(102)와 통신하기 위해 이용될 수 있는 네트워크 액세스 관리기(148) 및/또는 펌웨어(144)를 갖지 않을 수 있다. 이러한 경우들에서, 프린트 클라이언트(146)는 레거시 프린터와 통신하며, 여기에 설명된 기능들을 구현하기 위해 필요한 이용 가능한 리소스들을 가지며, 문제의 레거시 프린터와 통신하는 그 외 종래의 프린터 드라이버(104)를 포함할 수 있는 컴퓨팅 디바이스 상에서 또는 그것과 함께 실행하도록 구성될 수 있다. 프린터(118) 또는 관련된 프린터들의 다른 변화들 및 구현들이 명백할 것이며, 여기에 설명된 로빙 프린터 시나리오들의 동작들을 이해하는데 필요하거나 또는 도움을 줄 수 있는 경우를 제외하고, 여기에 상세히 설명되지 않는다.
따라서, 클라우드 프린트 서비스(102)는 사용자(125)에 의한 원격 프린팅을 용이하게 하며, 특히 사용자(125)가 디바이스(108)를 사용하여 제 1 위치(120)에서 프린트 작업을 제출하며, 나중에 제 2 위치(122)에서의 클라우드-인식 프린터(118)에 존재하는 동안 프린트 작업의 실제 프린팅을 개시하는 사용자(125)에 의한 로빙 프린팅을 용이하게 한다는 것이 관찰될 수 있다. 이들 및 관련된 로빙 프린팅 기술들에 대한 많은 변화들이 여기에 상세히 설명되거나 또는 이 기술분야의 숙련자에게 명백할 것이다.
도 2a 및 도 2b는 도 1의 시스템의 예시적인 동작들을 각각 예시한, 흐름도들(200A, 200B)이다. 비록 도 2a 및 도 2b의 흐름도들은 순차적이고, 별개의 동작들을 예시하지만, 이러한 동작들은 단지 예를 위한 것이며, 부가적이거나 또는 대안적인 동작들이 포함될 수 있다는 것이 이해될 것이다. 예를 들면, 도 2a의 흐름도(200A)의 동작들 및/또는 도 2b의 흐름도(200B)의 동작들은 도시된 것들과 상이한 순서들로 실행될 수 있으며, 및/또는 부분적으로 중첩하거나 또는 병렬 방식들로, 또는 내포되고, 반복적이거나 또는 루핑 방식으로 실행될 수 있다. 또한, 흐름도들(200A, 200B)의 동작들은 부분적으로 또는 전체적으로 서로 조합될 수 있으며, 예로서 흐름도(200A)의 동작들은 도 2b의 흐름도(200B)의 동작들에 전체적으로 또는 부분적으로 포함될 수 있으며, 그 역 또한 마찬가지임이 이해될 수 있다.
도 2a의 예에서, 프린트 작업은 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 수신될 수 있으며, 여기에서 프린트 제출은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별한다(202). 예를 들면, 애플리케이션 관리기(128), 예로서, 작업 제출 API(132)는 디바이스(108)에서의 사용자(125)로부터 프린트 작업을 수신할 수 있으며, 여기에서 사용자(125)는 디바이스(108)에서 애플리케이션 서버(114)의 애플리케이션(116)을 실행할 수 있다.
특정 예에서, 상기 설명된 바와 같이, 애플리케이션(116)은 애플리케이션 서버(114)에 의해 웹 애플리케이션으로서 제공된 스프레드시트 애플리케이션을 포함할 수 있으며, 사용자(125)는 문제의 스프레드시트를 프린팅하기 위해 로빙 프린팅을 이용하고 싶어할 수 있다. 예를 들면, 설명된 바와 같이, 사용자(125)는 현재 제 1 위치(120)에 위치될 수 있으며, 결국 스프레드시트 콘텐트의 프린팅을 실행하기 위해 사용될 프린터로서 제 2 위치(122)에서의 클라우드-인식 프린터(118)의 지식 또는 확실성을 갖거나 또는 갖지 않을 수 있다.
결과적으로, 설명된 바와 같이, 사용자(125)는 그것에 연관된 프린트 작업의 제출을 위해 가상 프린트 큐(140A)와 연관된 가상 프린터를 선택하기 위해 프린트 다이얼로그(113)의 프린터 선택 리스트(113A)를 이용할 수 있다. 이해될 수 있는 바와 같이, 및 상기 설명된 바와 같이, 사용자(125)는 제출된 프린트 작업과 연관된 모든 관련 있는 프린트 특성들을 제공하거나 또는 결정할 필요가 없다. 예를 들면, 방금 설명된 바와 같이, 사용자(125)는 제출된 프린트 작업의 궁극적인 목적지로서 클라우드-인식 프린터(118)의 지식 또는 인식을 갖지 않을 수 있기 때문에, 사용자(125)는 그러므로 이용될 특정한 프린트 특성들 및 옵션들에 대해 요구될 수 있는 이용 가능한 능력들에 대한 지식이 부족한 것으로 이해될 수 있다. 예를 들면, 사용자(125)는 애플리케이션(116)의 스프레드시트 콘텐트의 원하는 프린팅과 연관된 특정한 문서 크기, 컬러 옵션 또는 다른 프린트 옵션들을 요구할 수 있다. 그러나, 실제로, 제 2 위치(122)에 도착 시, 사용자가 이용될 클라우드-인식 프린터(118)가 원하는 특징들의 일부 또는 모두가 부족할 수 있다고 결정할 수 있는 것이 발생할 수 있다.
따라서, 도 2a의 예에서, 프린트 작업은 가상 프린트 큐(204)와 제휴하여 저장될 수 있으며 몇몇 또는 모든 이용 가능한 프린트 옵션들에 대한 값들을 지정 또는 할당하기 위해 요구되지 않는 방식으로 저장될 수 있다. 예를 들면, 작업 제출 API(132)는 애플리케이션(116)에 대한 링크 또는 다른 조회를 저장함으로써 가상 프린트 큐(140A)와 함께 제출된 프린트 작업을 저장하도록 구성될 수 있으며, 여기에서 다시, 다양한 연관된 프린트 옵션들에 대한 값들은 가상 프린트 큐(140A) 내에서의 조회의 저장 시 특정될 필요가 없다.
저장한 후, 제 2 위치에서의 프린터를 식별하는 프린트 개시가 수신될 수 있으며, 프린트 개시는 프린트 작업을 식별하고, 그것의 프린트 속성들을 포함하며, 제 2 위치(206)로부터 비롯된다. 예를 들면, 프린트 작업 라우터(138)는 예로서, 클라우드-인식 프린터(118) 및/또는 이동 디바이스(124)를 통해, 사용자(125)로부터 이러한 프린트 개시를 수신하도록 구성될 수 있다. 예를 들면, 제 2 위치(122)에 도착 시, 사용자(125)는 클라우드-인식 프린터(118)가 원하는 문서 크기를 사용하여 프린팅하기 위한 능력을 갖지만 컬러 프린팅을 위한 능력을 제공하지 않는다는 것을 발견할 수 있다. 이러한 시나리오들에서, 사용자(125)는 예를 들면, 원하는 프린트 작업을 식별하기 위해 및 네트워크 액세스 관리기(148)를 통해 포맷 변환기(136)로 통신을 위한 원하는 프린트 속성들을 제출하기 위해 클라우드-인식 프린터(118)의 사용자 입력(150) 및 디스플레이(152)를 이용할 수 있다. 대안적인 예들에서, 사용자(125)는 원하는 프린트 작업을 식별하기 위해 및 그것과 연관될 원하는 프린트 속성들을 제출하기 위해 이동 디바이스(124)를 이용할 수 있다. 유리하게는, 여기에 설명된 바와 같이, 사용자(125)는 클라우드-인식 프린터(118)의 제 2 위치(122)에 존재하는 동안 이러한 프린트 속성들을 지정할 수 있으며, 원래 디바이스(108)에서 프린트 작업을 제출할 때 이러한 속성들의 포함 또는 제외를 해결하거나 또는 결정할 필요가 없다는 것이 이해될 수 있다. 그 결과, 사용자(125)는 그렇게 할 때 높은 정도의 편리함 및 유연성을 갖고, 주어진 상황에서 이용 가능한 최상의 가능한 프린팅 결과들을 획득할 가능성이 더 높을 수 있다.
예시적인 시나리오들에서, 프린트 개시는 프린트 속성들(예로서, 제 2 메시지에서)의 실제 제공에 앞서, 프린터 식별기(141)에 의해 검증될 클라우드-인식 프린터(118)의 초기 식별(예로서, 제 1 메시지에)을 포함할 수 있다. 다시 말해서, 여기에 설명된 바와 같이, 사용자(125)는 처음에 제 2 위치(122)에서 클라우드-인식 프린터(118)에 도착할 수 있으며, 클라우드-인식 프린터(118)의 바 코드를 스캔할 수 있다(또는 그 외 그에 따른 식별 정보를 획득할 수 있다). 프린트 식별기(141)는 이러한 바 코드 또는 다른 식별 정보를 수신할 수 있으며, 클라우드-인식 프린터(118)를 식별하고 사용자(125)가 그것의 사용을 위해 인가되었는지 여부를 결정하기 위해 등록 관리기(126)를 액세스할 수 있다. 따라서, 이것과 관련하여, 비록 프린터 식별기(141)가 도 1의 예에서 또는 명료함을 위해 별개의 구성요소로서 예시될지라도, 사실상 프린터 식별기(141)는 등록 관리기(126) 및/또는 프린트 작업 라우터(138)의 일부로서 구현될 수 있다는 것이 이해될 수 있다.
애플리케이션 콘텐트로부터 및 프린트 속성들을 사용하여, 프린트 가능한 파일이 식별된 프린터에 의해 프린트 가능한 포맷으로 생성될 수 있다(208). 예를 들면, 포맷 변환기(136)는 가상 프린트 큐(140A)를 찾아보기 위해 애플리케이션 데이터 인출기(134)를 이용하고 관련 있는 애플리케이션 콘텐트 및 다른 데이터를 애플리케이션 서버(114)로부터 검색하기 위해 그 안에 저장된 조회를 이용할 수 있으며, 여기에서 포맷 변환기(136)는, 그에 의해 클라우드-인식 프린터(118)에 의해 프린트 가능한 임의의 포맷으로 프린트 가능한 파일에 특정된 애플리케이션 콘텐트를 제공하기 위해, 사용자(125)로부터 수신되고 제 2 위치(122)로부터 비롯되는 프린트 속성들과 함께, 원하고 특정된 프린트 속성들을 포함하여, 작업 저장 장치(140)를 사용하여 (만약에 있다면) 그것과 함께 저장된 임의의 프린트 속성들 및 조회된 애플리케이션 콘텐트를 이용할 수 있다.
마지막으로 도 2a의 예에서, 프린트 가능한 파일은 식별된 프린터(210)에 전송될 수 있다. 예를 들면, 프린트 작업 라우터(138)는 사용자(125)에 의해 그것에 의한 프린팅 및 그것의 수신을 위해, 프린트 가능한 파일을 클라우드-인식 프린터(118)에 전송하기 위해 프린트 클라이언트(136)와 통신하도록 구성될 수 있다.
따라서, 도 2a의 예들은 사용자(125)가 프린트 작업을 제출할 때 특정한 프린터를 특정하도록 요구되지 않는 것과 연관된 비밀성, 보안, 및 편리함의 특징들을 획득하는 반면, 또한 사용자(125)가 제 2 위치(122)에 도착하는 시간 후 및 클라우드 프린트 서비스(102)로부터 문제의 프린트 작업의 인출을 개시하는 것과 함께 프린트 작업에 관련된 몇몇 또는 모든 프린트 속성들을 특정할 수 있게 하는 로빙 프린팅 시나리오들을 예시한다. 도시되고 설명된 바와 같이, 이러한 특징들 및 이득들은 클라우드-인식 프린터(118)를 사용하며, 및/또는 선택적으로 이동 디바이스(124)를 사용하여 획득될 수 있다. 예를 들면, 클라우드-인식 프린터(118)의 사용자 입력(150) 및 디스플레이(152)는 사용자(125)가 원하는 프린트 속성들을 입력하고, 문제의 프린트 작업을 인출하며, 그 외 클라우드 프린트 서비스(102)와 통신할 수 있게 하기 위해 이용될 수 있다는 것이 이해될 수 있다.
게다가, 사용자 입력(150) 및 디스플레이(152)는 식별된 프린트 작업의 프린팅을 실행하기 전에 사용자(125)의 인증을 수행하기 위한 다양한 기술들을 나타낼 수 있다. 예를 들면, 상기 설명된 바와 같이, 여기에 설명된 다양한 로빙 프린팅 시나리오들은 특정된 프린트 작업의 실행 이전에 사용자(125)를 인증하기 위해 요건과 연관될 수 있다. 특히, 프린트 다이얼로그(113B)는 사용자(125)가 그 후 클라우드 프린트 서비스(102)의 인증 관리기(135)를 사용하여 요구되며 실행될 수 있는 특정한 인증 방법들을 선택 및 파라미터화하거나 또는 그 외 지정할 수 있게 할 수 있는 인증 드롭-다운 리스트(113B)를 포함할 수 있다. 예를 들면, 인증 리스트(113B)는 사용자(125)가 선호들 또는 특정 유형들의 인증을 제출할 수 있게 할 것이다. 예를 들면, 사용자(125)는 특정한 패스워드 또는 핀을 특정할 수 있으며, 이것은 그 후 클라우드-인식 프린터(118)의 사용자 입력(150) 및 디스플레이(152)를 통해 수신될 수 있다.
다른 예시적인 구현들에서, 인증은 이동 디바이스(124)와 함께 수행될 수 있다. 예를 들면, 이하에 상세히 설명되는 바와 같이, 사용자(125)는 예로서, 적용 가능한 사용자명/패스워드 조합을 제출함으로써, 클라우드 프린트 서비스(102) 및/또는 애플리케이션 서버(114)를 갖고 인증하도록 이동 디바이스(124)를 이용할 수 있다. 이러한 구현들에서, 클라우드-인식 프린터(118)에서 인증을 제공 및/또는 용이하게 하는 부담이 감소되거나 또는 제거될 수 있다는 것이 이해될 수 있다. 예를 들면, 클라우드-인식 프린터(118)는 등록된 사용자들과 연관된 사용자명/패스워드 조합들을 저장하거나 또는 액세스할 필요가 없다. 게다가, 사용자(125)는 클라우드 프린트 서비스(102) 및/또는 애플리케이션 서버(114)를 액세스할 때 이동 디바이스(124)의 콘텍스트에서 이러한 인증 기술들을 이미 이용할 가능성이 높을 수 있기 때문에, 여기에 설명된 로빙 프린트 시나리오들과 함께 이용된 인증의 이득들은 사용자(125)의 부분에 대한 노력에서의 최소 또는 무시해도 될 정도의 증가를 갖고 사용자(125)에 의해 인식 및 수신될 수 있다는 것이 이해될 수 있다.
따라서, 도 2a의 예에서, 다양한 “조회에 의한 프린트” 프린팅 시나리오들이 구현된다는 것이 관찰될 수 있으며, 여기에서 이동 디바이스(124)는 선택적으로 사용될 수 있다. 한편, 도 2b의 흐름도(200B)의 예에서, “조회에 의한 프린트”, “값에 의한 프린트”, 또는 다른 프린팅 패러다임들이 제 2 위치(122)에서의 이동 디바이스(124)의 사용과 함께 실행될 수 있는 프린팅 시나리오들이 설명된다.
구체적으로, 도시된 바와 같이, 프린트 작업은 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 수신될 수 있으며, 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별한다(212). 예를 들면, 작업 제출 API(132)는 애플리케이션(112) 및/또는 애플리케이션(116)의 실행과 함께, 및 가상 프린트 큐(140A)의 식별을 포함하여, 디바이스(108)로부터 이러한 프린트 작업들을 수신할 수 있다. 그러므로, 이러한 프린트 작업은 도 2a의 동작(202)에 대하여 상기 설명된 바와 같이, 그에 대한 링크 또는 다른 조회에 의해 관련 있는 애플리케이션 콘텐트의 식별을 포함할 수 있으며, 및/또는 연관된 애플리케이션 콘텐트가 작업 저장 장치(140)를 사용하여 지정된 프린트 속성들과 함께 저장되는 프린트 작업을 포함할 수 있다. 예를 들면, 후자의 예들에서, “값에 의한 프린트” 시나리오에서, 사용자(125)는 디바이스(108)에서 애플리케이션(112)을 실행할 수 있으며, 프린팅될 애플리케이션(112)의 콘텐트와 연관된 모든 원하는 프린트 속성들/특성들을 지정하도록 요구되거나 또는 결정할 수 있다.
따라서, 프린트 작업이 클라우드 프린트 서비스(102)에서 수신될 수 있는 상술된 및 다른 시나리오들에 상관없이, 프린트 작업은 가상 프린트 큐(214)와 제휴하여 저장될 수 있다. 예를 들면, 작업 제출 API(132)는 애플리케이션 콘텐트에 대한 링크 또는 다른 조회 중 하나를 저장할 수 있거나, 또는 작업 저장 장치(140)를 이용하여, 애플리케이션 콘텐트 자체를 저장할 수 있다.
그 후에, 상기 저장 후, 프린트 개시는 제 2 위치에서의 이동 디바이스로부터 수신될 수 있으며, 프린트 개시는 제 2 위치에서의 프린터 및 프린트 작업(216)을 식별한다. 예를 들면, 프린터 식별기(141)는 이동 디바이스(124)로부터 클라우드-인식 프린터(118)의 식별을 수신할 수 있고 그에 따라 클라우드-인식 프린터(118)를 선택할 수 있으며, 그것에 기초하여, 프린트 작업 라우터(138)는 제 2 위치(122)에서의 이동 디바이스(124)로부터 식별된 프린터에 대한 프린트 개시를 수신할 수 있다. 여기에 설명된 바와 같이, 이동 디바이스(124)는 클라우드-인식 프린터(118)를 식별하는 제 1 메시지, 이어서 프린팅될 프린트 작업을 식별하는 제 2 메시지를 포함한 프린트 개시를 전송할 수 있다. 이해될 수 있는 바와 같이, 제 1 메시지 및 제 2 메시지는 함께 또는 순차적으로 전송될 수 있으며, 및/또는 양쪽 메시지들 모두에서의 정보는 단일 메시지로 전송될 수 있다.
이에 대응하여, 프린트 작업과 연관된 애플리케이션 콘텐트는 프린트 개시에 기초하여, 식별된 프린터에 전송될 수 있다(218). 예를 들면, 프린트 작업 라우터(138)는 작업 저장 장치(140)를 사용하여 저장되며 그와 함께 프린팅하기 위해 포맷 변환기(136)에 의해 클라우드-인식 프린터(118)로 이전에 변환된 애플리케이션 콘텐트를 전송하도록 구성될 수 있다. 대안적인 구현들에서, 상기 언급된 바와 같이, 포맷 변환기(136)는 클라우드-인식 프린터(118)로의 프린트 작업 라우터(138)에 의한 후속 송신을 위해, 아마도 제 2 위치(122)에서의 이동 디바이스(124)를 사용하여 사용자(125)에 의해 입력된 프린트 옵션들을 포함한, 클라우드-인식 프린터(118)에 의해 프린트 가능한 프린트 가능한 파일로의 저장되거나 또는 검색된 애플리케이션 콘텐트의 변환을 완료하도록 요구될 수 있다. 도 1의 시스템(100)의 부가적인 및/또는 대안적인 구현들 및 도 2b의 흐름도(200B)의 동작들이 도 3a 내지 도 3g의 스크린샷들에 대하여 상세히 제공된다.
도 3a 내지 도 3g는 도 1, 도 2a, 및 도 2b의 시스템들 및 방법들의 예시적인 구현들에 관련된 스크린샷들을 예시한다. 도 2a를 참조하면, 도 1의 이동 디바이스(124)의 예시적인 구현을 표현할 수 있는 이동 디바이스(302)가 예시된다. 도 3a 내지 도 3g의 예들에서, 도 1, 도 2a, 도 2b의 상기 설명으로부터 이해될 수 있는 바와 같이, 및 도 4에 대하여 이하에 보다 상세히 설명되는 바와 같이, 사용자(125)는 프린트 작업을 클라우드 프린트 서비스(102)에 이전에 제출하였으며, 보다 구체적으로 여기에 설명된 로빙 프린팅 시나리오들과 함께 나중 프린팅을 가능하게 하기 위해 웹 애플리케이션(116)에 관련되며 가상 프린트 큐(140A)를 지정한 프린트 작업을 제출하였다고 가정된다.
따라서, 도 3a의 예에서, 사용자(125)는 클라우드-인식 프린터(118)에 도착하며 이전에 제출된 프린트 작업을 프린팅하고 싶어한다고 가정될 수 있다. 상기 예에서, 사용자는 클라우드 프린트 서비스(102) 및/또는 애플리케이션(116)의 제공자, 즉 클라우드 프린트 서비스(104) 및/또는 애플리케이션 서버(114)의 제공자에 의해 제공된 생산성 애플리케이션들의 묶음과 연관되는 사용자(125)의 계정으로 로그인되는 것과 함께 클라우드 프린트 서비스(102)로 로그인한다.
따라서, 도 3a의 예에서, URL(304)은 서버들(104/114)에 의해 제공된 URL에 및 애플리케이션(116) 및 클라우드 프린트 서비스(102)에 의해 표현된 대응하는 애플리케이션들에 대응한다. 구체적으로, 예에서 및 대응하는 탭들에 의해 도시된 바와 같이, 이러한 애플리케이션들은 메일 애플리케이션, 캘린더 애플리케이션, 및 클라우드 프린트 서비스(102)와 연관된 프린터들을 포함한다. 물론, 부가적이거나 또는 대안적인 애플리케이션들이 또한 제공될 수 있다.
상기 예에서, 부분(306)은 사용자(125)가 프린팅하기를 원하는 문서(“TPS 보고서 커버”)를 식별한다. 한편, 프린터 리스트(308)는 사용자(125)에 의해 선택 가능할 수 있는 프린터들의 리스트를 제공한다. 도시된 바와 같이, 프린터 리스트(308)는 사용자가 근처의 프린터 상에서 프린팅하기 위한, 예로서 제 2 위치(122)에서의 사용자(125)의 도착 시 클라우드-인식 프린터(118)를 사용하여 프린팅하기 위한 문서(“TPS 보고서 커버”)를 인출하거나 또는 그 외 검색할 수 있는 로빙 프린팅을 위한 옵션(“프린트-온-더-고!”)을 포함할 수 있다.
도 3a 내지 도 3g의 예에서, 이하에 설명되는 바와 같이, 사용자(125)는 이동 디바이스(302)에 의해 스캐닝될 수 있는, 그와 연관된 바코드의 사용을 통해 클라우드-인식 프린터(118)를 식별할 것이라고 가정된다. 물론, 여기에 설명된 바와 같이, 사용자(125)는 가상 프린트 큐(140A)로부터 프린팅하기 위한 문서를 검색할 때 클라우드-인식 프린터(118)를 식별하기 위한 부가적이거나 또는 대안적인 기술들을 이용할 수 있다.
일반적으로, 클라우드-인식 프린터(118)와 연관된 이러한 바코드를 스캐닝하기 위한 이동 디바이스(302)의 능력은 이동 디바이스(302) 상에서의 연관된 바코드 스캐닝 소프트웨어의 이용 가능성의 설치에 의존할 수 있다. 결과적으로, 도 3b는 이동 디바이스(302)가 초기에 이러한 바코드 스캐닝 소프트웨어를 포함하지 않는 일 예를 예시하여, 도 3b의 스크린샷에서의 부분(310)에 도시된 바와 같이, 사용자(125)가 초기에 이러한 바코드 스캐닝 소프트웨어를 다운로드하도록 요구받을 수 있도록 한다.
이러한 바코드 스캐닝 소프트웨어의 이용 가능성에 기초하여, 이동 디바이스(302)는 도 3c의 스크린샷에서의 부분(312)에 도시된 바와 같이, 클라우드-인식 프린터(118)의 바코드를 스캐닝하기 위해 이용될 수 있다. 구체적으로, 도시된 바와 같이, 사용자는 이동 디바이스(302)의 카메라 또는 다른 스캐닝 기능을 이용하도록 가능해질 수 있으며, 지시들, 예로서 “그것을 스캐닝하기 위해 뷰 파인더 직사각형의 내부에 바코드를 위치시켜라”을 제공받을 수 있으며, 그에 의해 클라우드-인식 프린터(118)와 연관된 바코드를 스캐닝할 수 있다.
이러한 방식으로, 도 3d의 예에 도시된 바와 같이, 바코드(314)는 이동 디바이스(302) 및 연관된 소프트웨어에 의해 획득되며 식별될 수 있다. 구체적으로, 도시된 바와 같이, 바코드는 연관된 고유 리소스 식별자(URI)를 가진 빠른 응답(QR) 코드일 수 있다. 이러한 코드들 및 URI들의 사용은, 자체적으로, 일반적으로 잘 알려져 있으며, 도 1 내지 도 4의 시스템들 및 방법들의 동작들을 이해하는데 필요하거나 또는 도움을 줄 수 있는 경우를 제외하고, 여기에 추가로 상세히 설명되지 않는다.
일반적으로, 그러나, 코드(314)는 클라우드 프린트 서비스(102)의 등록 관리기(126)의 특징들 및 동작들과 함께 사용자(125)의 사용자 계정에 및 클라우드 프린트 서비스(102)에 등록된 다양한 프린터들 중에서 클라우드-인식 프린터(118)를 식별하기 위해, 클라우드 프린트 서비스(102)에 의해, 예로서 프린터 식별기(141)에 의해 이용될 수 있다는 것이 이해될 수 있다.
물론, 도 3d는 단지 하나의 예를 제공하며, 다양한 다른 기술들이 클라우드-인식 프린터(118)를 식별하기 위해 사용될 수 있다는 것이 이해될 것이다. 예를 들면, 이동 디바이스(302)가 클라우드-인식 프린터(118)를 식별할 수 있게 하는 근거리장 통신들(NFC) 기술들이 구현될 수 있다. 다른 구현들에서, 이동 디바이스(302)에서의 브라우저는 프린터 및/또는 쇼트 URL(예로서 비교적 긴 URL을 단축시키기 위해 생성된 리다이렉션된 URL)과 연관된(예로서, 그것 상에 프린팅된) URL을 수동으로 입력하기 위해 사용될 수 있다. 다른 구현들에서, 사용자는 프린터의 고유 명칭을 입력할 수 있거나, 또는 클라우드-인식 프린터(118)를 인식하기 위해 이동 디바이스(302)의 카메라 및 연관된 텍스트-인식 소프트웨어를 사용할 수 있다.
따라서, 클라우드-인식 프린터(118)를 식별할 때, 클라우드 프린트 서비스(102)는 클라우드-인식 프린터(118)와 연관된 URL을 이동 디바이스(302)에 제공할 수 있다. 구체적으로, 도 3d의 스크린샷에서의 부분(316) 내에 도시된 바와 같이, 사용자(125)는 프린터(118)에 대한 URL이 위치된다는 것을 통지받을 수 있다. 결과적으로, 사용자(125)는 클라우드-인식 프린터(118)를 이용하기 위한 하나 이상의 옵션들을 제공받을 수 있다. 구체적으로, 도시된 바와 같이, 선택 가능한 요소(318)는 식별된 URL을 사용하여 브라우저 윈도우를 열기 위해 사용자(125)에게 제공될 수 있다. 유사하게, 선택 가능한 요소들(320, 322)은 사용자(325)가 각각 이메일 또는 SMS를 통해 식별된 URL을 고유할 수 있게 하기 위해 사용자(325)에게 제공될 수 있다.
선택 가능한 요소(318)의 선택 시, 도 3e의 예에서, 이동 디바이스(302)는 상기 부분(316)의 URL을 사용하여 브라우저 윈도우를 열려고 시도할 수 있다. 도 3e의 예에서, 사용자(125)는 식별된 프린터에 대한 액세스를 갖지 않는 것이 발생할 수 있다. 이러한 일 예에서, 액세스가 이용 가능하지 않으며 또 다른 프린터가 선택되어야 한다는 메시지(324)가 사용자에게 제공될 수 있다. 물론, 이러한 시나리오들에서, 사용자는 프린팅을 계속하기 위해 클라우드-인식 프린터(118)에 등록하는 것이 가능할 수 있다. 예를 들면, 사용자(125)는 사용자(125)의 사용자 계정과 클라우드-인식 프린터(118)를 공유하기 위해 클라우드 프린트 서비스(102)의 또 다른 사용자를 요청할 수 있다.
일단 사용자(125)가 클라우드-인식 프린터(118)에 등록하거나, 또는 사용자(125)가 이미 등록된 상이한 위치에서의 상이한 프린터로 이동된다면, 사용자는 프린팅을 계속할 수 있다. 구체적으로, 도 3f이 예에 예시된 바와 같이, 사용자는 문서(“TPS 보고서 커버”)의 원하는 프린팅과 함께 이용될 프린트 옵션들을 제공받을 수 있다.
구체적으로, 도시된 바와 같이, 드롭 다운 리스트(326)는 사용자(125)가 프린팅을 위한 다수의 원하는 사본들을 선택할 수 있게 할 수 있는 반면, 요소(328)는 사용자(125)가 프린팅된 문서에 대한 초상화(풍경과 대조적으로) 뷰를 선택할 수 있게 할 수 있다. 물론, 예시된 바와 같이, 이것들보다 더 많은 프린트 옵션들이 사용자(125)에 의한 선택을 위해 제공될 수 있다. 최종적으로, 선택 가능한 요소(330)는 사용자가 프린팅을 활성화할 수 있게 할 것이다.
도 3g의 예에서, 사용자(125)는 프린팅을 시작하기 위해 요소(334)를 선택하며, 그에 대응하여, 스크린 부분(332)은 문서(“TPS 보고서 커버”)가 식별된 프린터에 전송됨을 사용자(125)에게 알려주는 메시지가 사용자(125)에게 제공될 수 있음을 예시한다. 이러한 방식으로, 사용자(125)는 식별된 프린터에서 프린팅된 문서를 편리하게 수신할 수 있다.
도 4는 도 1 내지 도 3g의 시스템들 및 방법들의 보다 상세한 예시적인 동작들을 예시한 흐름도(400)이다. 도 4의 예에서, 프린트 작업은 제 1 디바이스(108)에서의 사용자(125)로부터 수신될 수 있다(402). 예를 들면, 여기에 설명된 바와 같이, 사용자(125)는 직원을 나타낼 수 있으며 디바이스(108)는 직원의 사무실에서 직원에 의해 사용된 네트워크 워크스테이션을 나타낼 수 있다. 또 다른 예에서, 사용자(125)는 학생을 나타낼 수 있으며, 디바이스(108)는 학생의 기숙사 방에서 학생에 의해 사용된 데스크탑 또는 랩탑 컴퓨터를 나타낼 수 있다. 또 다른 예에서, 사용자(125)는 사용자(125)의 가정 내에서, 디바이스(108)로서 개인용 컴퓨터를 간단히 이용할 수 있다.
상기 및 다양한 다른 시나리오들에서, 상기 설명된 바와 같이, 애플리케이션 관리기(128)는 프린트 다이얼로그 API(130)를 통해 프린트 다이얼로그(113)를 처음에 제공함으로써, 및 그 뒤에 작업 제출 API(132)에서 프린트 작업을 수신함으로써 사용자(125)로부터 프린트 작업을 수신할 수 있다. 보다 구체적으로, 도 4의 예에서, 사용자(125)는 애플리케이션 서버(114)에서 애플리케이션(116)을 액세스하기 위해 디바이스(108)를 사용할 수 있다.
예를 들면, 도 3a에 대하여, 상기 설명된 바와 같이, 애플리케이션(116)은 웹 애플리케이션으로서 구현된 문서 프로세싱 애플리케이션일 수 있으며, 사용자(125)는 문서(“TPS 보고서 커버”)에 관련된 프린트 작업을 제출하고 싶어할 수 있다. 게다가, 사용자(125)는 원격 및/또는 현재 알려지지 않은 프린터를 사용하여 문서(“TPS 보고서 커버”)를 프린팅하고 싶어할 수 있다. 예를 들면, 여기에 설명된 바와 같이, 사용자(125)는 클라우드-인식 프린터(118)가 존재하는 원격 위치, 즉 제 2 위치(122)에 문서(“TPS 보고서 커버”)를 프린팅하고 싶어할 수 있지만, 사용자(125)가 제 2 위치(122)에 도착할 때까지 문서가 프린팅되지 않음을 보장하고 싶어할 수 있다. 예를 들면, 상기 제공된 예들의 몇몇에서, 사용자(125)가 기업 네트워크 환경에서 일하는 직원인 시나리오들에서, 사용자(125)는 상이한 층 상에, 또는 상이한 빌딩에, 또는 사용자(125)의 고용주의 전체적으로 상이한 캠퍼스에 존재하는 프린터에 문서(“TPS 보고서 커버”)를 프린팅하고 싶어할 수 있다. 또 다른 예에서, 사용자(125)가 학생인 시나리오들에서, 사용자(125)는 제 2 위치(122)로서 컴퓨터 랩 또는 다른 학생 리소스 설비에 존재할 수 있는 클라우드-인식 프린터(118)에 문서(“TPS 보고서 커버”)를 프린팅하고 싶어할 수 있다.
부가적이거나 또는 대안적인 예들에서, 또한 여기에 설명된 바와 같이, 제 1 위치(120)에서의 사용자(125)는 문서(“TPS 보고서 커버”)의 프린팅 시 클라우드-인식 프린터(118) 및/또는 제 2 위치(122)의 아이덴티티에 대한 지식을 갖지 않을 수 있다. 예를 들면, 사용자(125)가 직원을 나타내는 시나리오들에서, 사용자(125)는 다양한 상이한 기업 위치들 중에서 이동할 수 있으며, 그 또는 그녀가 문제의 문서를 프린팅하도록 요구할 정확한 시간 또는 위치에 대한 지식을 갖지 않을 수 있다. 사용자(125)가 학생을 나타내는 시나리오들에서, 사용자(125)는 프린터들을 제공하는 다수의 상이한 리소스 설비들에 대한 액세스를 가질 수 있으며 이들 학생 리소스 설비들 중 어떤 것이 문제의 문서를 프린팅하기 위해 사용될 것인지를 확신할 수 없을 수 있다. 다른 예들에서, 개인 능력으로 동작하는 사용자(125)는 여행 중, 예로서 휴가 중일 수 있고, 다수의 상이한 도시들 또는 위치들에 존재할 예정일 수 있으며, 다시 문제의 문서가 프린팅될 시간 또는 위치를 인식하지 않을 수 있다.
따라서, 설명된 바와 같이, 프린트 다이얼로그 API(130)에 의해 제공된 프린트 다이얼로그(113)를 볼 때, 사용자(125)는 가상 프린트 큐(140A)에 관련한 저장과 제출될 프린트 작업의 연관을 선택하기 위해, 프린터 선택 드롭 다운 리스트(113A), 또는 다른 적절한 메커니즘을 이용할 수 있다. 예를 들면, 도 3a의 용어들에서, 가상 프린트 큐(140A)는 “프린트 온 더 고”로서 드롭 다운 리스트(113A) 내에서 식별될 수 있다. 따라서, 사용자(125)는 상기 리스트(113A)를 사용하여 이러한 옵션을 선택할 수 있으며, 선택적으로, 프린팅의 나중 시간에 사용자(125) 또는 다른 인가된 당사자에 의해 요구될 인증의 유형 또는 정도를 선택 및 가능하게는 파라미터화하거나 또는 특성화하기 위해 인증 드롭 다운 리스트(113B)를 사용할 수 있다.
도 4의 예에서, 상기 설명된 바와 같이, 문제의 프린트 작업은 웹 애플리케이션(116)에 관련되며, 그러므로, 사용자(125)는 프린트 작업과 연관될 모든 또는 임의의 프린트 옵션들을 제공할 필요가 없다. 예를 들면, 몇몇 시나리오들에서, 사용자(125)는 문제의 문서를 간단히 선택할 수 있으며, 그 후 프린트 다이얼로그(113)를 사용하여 작업 제출 API(132)에 의해 수신될 프린트 작업을 제출할 수 있다. 다른 예들에서, 사용자(125)는 이용 가능한 프린터들 중 임의의 것에 존재하는 것으로 알려진 특정한 알려진 서브세트의 프린트 옵션들 사이에서 선택하기 위해 프린트 다이얼로그(113)를 이용할 수 있다. 예를 들면, 이러한 프린트 옵션들은 기본 프린트 옵션들, 예로서 사본들의 수, 초상화 또는 풍경 모드, 또는 다른 이러한 특징들을 포함할 수 있다. 예를 들면, 사용자(125)가 등록 관리기(126)를 사용하여 저장된 것으로서 그 또는 그녀의 사용자 계정과 연관된 특정한 수의 프린터들을 가진다면, 모든 등록된 프린터들(또는 그것의 서브세트)에 공통적인 프린트 옵션들의 서브세트는 프린트 다이얼로그(113)를 통해 이용가능해질 수 있다.
따라서, 이들 및 다른 시나리오들에서, 프린트 작업이 디바이스(108)를 통해 사용자(125)로부터 수신된다면, 클라우드 프린트 서비스(102), 예로서, 애플리케이션 관리기(128)는 가상 프린트 큐(140A)와 함께 웹 애플리케이션(116)에 대한 적절한 링크 또는 다른 조회를 저장할 수 있다(404). 예를 들면, 작업 제출 API(132)는 작업 제출을 수신하며 가상 프린트 큐(140A)에서 프린팅될 문서의 URL을 저장할 수 있다. 유리하게는, 여기에 설명된 바와 같이 및 설명을 인식하는 것으로부터 이해될 수 있는 바와 같이, 사용자(125)는 프린트 작업을 제출할 때 모든 원하는 또는 이용 가능한 프린트 옵션들을 결정하거나 또는 알 필요가 없다. 게다가, 이들 예들에서 포맷 변환기(136)는 궁극적으로 목적지 프린터로서 선택될 수 있는 클라우드-인식 프린터(118)와 호환 가능한 프린트 가능한 포맷으로 프린팅될 문서를 변환하기 위한 임의의 관련 있는 포맷 변환들을 실행하는 것이 필요하지 않다. 오히려, 프린트 작업은 후속 프린트 개시 및 연관된 프린트 옵션들이 사용자(125)로부터 수신되는 이러한 나중 시간까지, 웹 애플리케이션(116)의 문서를 조회하여 간단히 저장될 수 있다.
결과적으로, 나중에, 사용자(125)는 상기 설명된 예들에서와 같이, 제 2 위치(122)에서의 클라우드-인식 프린터(118)에 도착할 수 있다(406). 도 3a 내지 도 3g의 예들에 대하여 상기 설명된 바와 같이, 및 도 1의 이동 디바이스(124)에 대하여, 사용자(125)는 클라우드-인식 프린터(118)를 사용하여 원하는 프린트 작업을 실행하기 위해 이동 디바이스(302)를 이용할 수 있다. 많은 경우들에서, 사용자(125)는 이미 웹 애플리케이션(116)과 연관된 사용자 계정으로 로그인될 수 있다. 예를 들면, 도 3a 내지 도 3g의 예들에 대하여 방금 설명된 바와 같이, 웹 애플리케이션(116)은 애플리케이션 서버(114)의 운영자에 의해 제공된 웹 애플리케이션들의 묶음 내에 포함된 문서 프로세싱 애플리케이션일 수 있다. 이러한 시나리오들에서, 사용자(125)는 예를 들면, 이메일들을 전송 및 수신하고, 캘린더 및 다른 스케줄 통지들을 수신하며, 그 외 애플리케이션 묶음과 상호작용하기 위해 이미 대응하는 사용자 계정으로 로그인될 수 있다.
따라서, 사용자가 이동 디바이스(302)를 사용하여 이러한 사용자 계정으로 이미 로그인되지 않았다면(408), 사용자는 이동 디바이스(302)를 사용하여 쉽게 로그인할 수 있다(410). 설명된 바와 같이, 이러한 로그인 절차는 그 외 완전히 관습적이며 그러므로 사용자(125)에게 친숙하고, 사용자(125)에 대한 임의의 부가적인 부담, 또는 그에 의한 지식을 제공하지 않는 방식으로 실행될 수 있다. 게다가, 이러한 인증을 제공하기 위한 능력은 관련 있는 인증 데이터를 유지하기 위해 클라우드-인식 프린터(118)의 요구를 감소시키거나 또는 제거할 수 있다.
물론, 상기 설명으로부터 부가적이거나 또는 대안적인 인증 방안들이 사용될 수 있다는 것이 이해될 것이다. 예를 들면, 설명된 바와 같이, 인증 관리기(135)는 인증 드롭 다운 리스트(113B)로 제출된 인증 파라미터들, 뿐만 아니라 클라우드-인식 프린터(118) 자체의 사용자 입력(150) 및 디스플레이(152)를 사용하여 사용자(125)에 의해 제출될 수 있는 것으로서 이러한 인증 정보를 수신 및 검증할 때 클라우드-인식 프린터(118) 자체의 기능들 및 특징들을 이용할 수 있다. 그러나, 분명해질 수 있는 바와 같이, 이러한 인증 기술들은 클라우드 프린트 서비스(102), 클라우드-인식 프린터(118), 및 사용자(125)의 부분에 대한 부가적인 리소스들을 요구할 수 있다. 그럼에도 불구하고, 이러한 인증 기술들의 이용 가능성은, 예로서 강화된 레벨의 보안이 요구될 때, 또는 사용자(125)가 적절한 이동 디바이스(302)에 대한 액세스를 갖지 않을 때와 같이, 다양한 시나리오들에서 유용할 수 있다.
도 4의 예에서, 일단 사용자(125)가 이동 디바이스(302)를 사용하여 로그 인된다면, 도 3a의 대응하는 프린터 선택 리스트(308)가 가상 프린트 큐 작업을 포함하여, 사용자(125)에게 제공될 수 있다는 것이 발생할 수 있다. 도 3a에 도시된 바와 같이, 대응하는 프린터 선택은 적절한 용어들, 예로서, “프린트-온-더-고”를 사용하여 식별될 수 있으며, 부가적인 지시들은 예로서, 관련 있는, 근처의 프린터의 바코드를 스캐닝하거나 또는 그 외 식별하기 위한 지시들과 같이, 대응하는 프린팅을 실행하기 위해 제공될 수 있다.
따라서, 도 3b에 대하여 도시된 바와 같이, 이동 디바이스(302)가 현재 대응하는 바코드 스캐너 소프트웨어 애플리케이션을 갖지 않는다면(414), 사용자는 이러한 바코드 스캐너를 설치하도록 요구될 수 있다(416). 일단 바코드 스캐너 애플리케이션이 존재한다면, 사용자(125)는 도 3c에 대하여 도시되고 상기 설명된 바와 같이, 근처의 프린터 상에서 바코드를 스캐닝하도록 진행할 수 있다(418).
이러한 방식으로, 프린터 식별기(141)는 클라우드 프린트 서비스(102)에 등록된 것으로서 클라우드-인식 프린터(118)를 식별하기 위해 등록 관리기(126)와 상호작용할 수 있다. 그 뒤에, 프린트 작업 라우터(138)는 상기 도 3d에 대하여 도시된 바와 같이, 프린터(118)와 연관된 프린터 URL을 이동 디바이스(302)에 제공할 수 있다(420).
예로서, 선택 가능한 요소들(318 내지 322)의 사용을 통해, 제공된 프린터 URL을 액세스하기 위한 사용자(125)의 시도 시, 프린트 작업 라우터(138)는, 등록 관리기(126)와 함께 사용자(125)가 식별된 프린터에 대한 액세스를 갖는지 여부를 결정할 수 있다(422). 그렇지 않다면, 도 3e의 부분(324)에 도시된 바와 같이, 프린트 작업 라우터(138)는 액세스가 거부됨을 사용자(125)에게 알릴 수 있으며, 상이한 프린터의 사용을 제안할 수 있고(424), 이 시간에 사용자(125)는 원하는 문서의 프린팅을 추가로 시도하기 위해 상이한 프린터로 이동할 수 있다(406).
다른 한편으로, 사용자(125)가 액세스를 가진다면(422), 프린트 작업 라우터(138), 예로서 작업 인출 API(142)는 가상 프린트 큐(140)로부터 관련 있는 조회를 검색할 수 있으며 모바일(302)을 통해 사용자(125)에게 프린트 옵션들을 제공할 수 있다(426). 예를 들면, 프린트 작업 라우터(138)는 가상 프린트 큐(140A)의 조회를 이용하기 위해 애플리케이션 데이터 인출기(134)를 이용할 수 있으며 프린팅될 원하는 문서(“TPS 보고서 커버”)를 검색하기 위해 웹 애플리케이션(116)을 액세스할 수 있다.
따라서, 도 3f에 대하여 도시된 바와 같이, 사용자(125)는 다양한 프린트 옵션들을 제공받을 수 있으며 진행하려는 프린팅을 위한 최종 요청을 제출하기 전에 이것들 중에서 선택할 수 있다. 이러한 때에, 프린트 작업 라우터(138)는 방금 설명된 바와 같이, 애플리케이션 데이터 인출기(134)를 통해 애플리케이션(116)으로부터 문제의 문서를 수신할 수 있으며 이동 디바이스(302)를 통해 사용자(125)로부터 프린트 옵션들을 수신할 수 있다. 이러한 방식으로, 문제의 문서 및 모든 연관된 프린트 옵션들은 포맷 변환기(136)로 함께 제공될 수 있으며, 이것은 그 후 클라우드-인식 프린터(118)에 의한 프린팅과 호환 가능한 프린트 가능한 파일로 그것의 변환을 실행하는 것을 계속할 수 있다. 그 후, 변환된 프린트 가능한 파일은 프린트 작업 라우터(138)에 제공될 수 있으며 그에 의해 그 것 상에서의 프린팅을 위한 클라우드-인식 프린터(118)에 전송될 수 있다(430). 이러한 방식으로, 사용자(125)는 사용자의 선택의 시간, 장소, 및 방식에서, 및 사용자(125)를 위해 편리하고 유연한 방식으로 프린팅될 문서를 수신할 수 있다.
다양한 시나리오들에서, 상기 설명된 시스템들 및 방법들을 구현하기 위한 연관된 기술적 세부사항들이 변할 수 있다는 것이 이해될 수 있다. 예를 들면, 도 1의 예는 클라우드 프린트 서버(104) 내에서 실행하는 것으로서 클라우드 프린트 서비스(102) 및 연관된 기능을 예시한다. 그러나, 몇몇 또는 많은 상기 설명된 기능들은 이동 디바이스(302)의 브라우저 애플리케이션 또는 다른 하드웨어/소프트웨어를 사용하여 수행될 수 있다는 것이 이해될 수 있다. 예를 들면, 대응하는 자바스크립트 코드 또는 다른 적절한 코딩 기술들이, 애플리케이션(116)으로부터 원하는 문서를 식별하고 인출하기 위해, 및/또는 가상 프린트 큐(140A)로부터 클라우드-인식 프린터(118)의 로컬 프린트 큐로 문제의 프린트 작업의 전달을 용이하게 하기 위해, 이동 디바이스(302)의 브라우저가 클라우드 프린트 서비스(102) 및/또는 사용자(125)와 연관되는 것으로서 클라우드-인식 프린터(118)의 식별을 용이하게 하기 위해 사용될 수 있다. 게다가, 이동 디바이스(302)는 문제의 프린트 작업의 다양한 상태 검사들 또는 다른 모니터링을 수행하기 위해 이용될 수 있으며, 예로서 작업 제어 API(143)에 대하여 상기 설명된 다양한 기능들을 구현할 수 있다. 도 1 내지 도 4의 시스템들 및 동작들의 많은 다른 예들 및 변화들이 이 기술분야의 숙련자에게 명백할 것이다.
도 5는 도 1 및 도 3의 시스템들을 구현하기 위해 사용될 수 있는 예시적인 또는 대표적인 컴퓨팅 디바이스들 및 연관된 요소들을 도시한 블록 다이어그램이다. 도 5는 포괄적인 컴퓨터 디바이스(500) 및 포괄적인 이동 컴퓨터 디바이스(550)의 일 예를 도시하며, 이것은 여기에 설명된 기술들과 함께 사용될 수 있다. 컴퓨팅 디바이스(500)는 랩탑들, 데스크탑들, 워크스테이션들, 개인용 디지털 보조기들, 서버들, 블레이드 서버들, 메인프레임들, 및 다른 적절한 컴퓨터들과 같이, 다양한 형태들의 디지털 컴퓨터들을 나타내도록 의도된다. 컴퓨팅 디바이스(550)는 개인용 디지털 보조기들, 셀룰러 전화기들, 스마트 폰들, 및 다른 유사한 컴퓨팅 디바이스들과 같이, 다양한 형태들의 이동 디바이스들을 나타내도록 의도된다. 여기에 도시된 구성요소들, 그것들의 연결들 및 관계들, 및 그것들의 기능들은 단지 대표적인 것으로 의도되며 이 문서에 설명되고 및/또는 청구된 발명들의 구현들을 제한하도록 의도되지 않는다.
컴퓨팅 디바이스(500)는 프로세서(502), 메모리(504), 저장 디바이스(506), 메모리(504) 및 고속 확장 포트들(510)에 연결한 고속 인터페이스(508), 및 저속 버스(514) 및 저장 디바이스(506)에 연결한 저속 인터페이스(512)를 포함한다. 구성요소들(502, 504, 506, 508, 510, 및 512)의 각각은 다양한 버스들을 사용하여 상호 연결되며 공통 마더보드 상에 또는 다른 방식들로 적절하게 장착될 수 있다. 프로세서(502)는 고속 인터페이스(508)에 결합된 디스플레이(516)와 같이, 외부 입력/출력 디바이스 상에 GUI에 대한 그래픽 정보를 디스플레이하기 위해 저장 디스플레이(506) 상에서 또는 메모리(504)에 저장된 지시들을 포함하여, 컴퓨팅 디바이스(500) 내에서의 실행을 위한 지시들을 프로세싱할 수 있다. 다른 구현들에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 유형들의 메모리와 함께, 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(500)은 필요한 동작들의 부분들(예로서, 서버 뱅크, 블레이드 서버들의 그룹, 또는 다중-프로세서 시스템으로서)을 제공하는 각각의 디바이스와 연결될 수 있다.
메모리(504)는 컴퓨팅 디바이스(500) 내에 정보를 저장한다. 일 구현에서, 메모리(504)는 휘발성 메모리 유닛 또는 유닛들이다. 또 다른 구현에서, 메모리(504)는 비-휘발성 메모리 유닛 또는 유닛들이다. 메모리(504)는 또한 자기 또는 광 디스크와 같이, 또 다른 형태의 컴퓨터-판독 가능한 매체일 수 이다.
저장 디바이스(506)는 컴퓨팅 디바이스(500)에 대한 대량 저장을 제공할 수 있다. 일 구현에서, 저장 디바이스(506)는 저장 영역 네트워크 또는 다른 구성들에서의 디바이스들을 포함하며, 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 디바이스들의 어레이와 같은, 컴퓨터-판독 가능한 매체일 수 있거나 또는 이를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구체화될 수 있다. 컴퓨터 프로그램 제품은 또한, 실행될 때, 상기 설명된 것들과 같이, 하나 이상의 방법들을 수행하는 지시들을 포함할 수 있다. 정보 캐리어는 메모리(504), 저장 디바이스(506), 또는 프로세서 상에서의 메모리(502)와 같은, 컴퓨터- 또는 기계-판독 가능한 매체이다.
고속 제어기(508)는 컴퓨팅 디바이스(500)에 대한 대역폭-집중 동작들을 관리하는 반면, 저속 제어기(512)는 보다 낮은 대역폭-집중 동작들을 관리한다. 기능들의 이러한 할당은 단지 예시적이다. 일 구현에서, 고속 제어기(508)는 메모리(504), 디스플레이(516)(예로서, 그래픽스 프로세서 또는 가속도계를 통해)에, 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(510)에 결합된다. 상기 구현에서, 저속 제어기(512)는 저장 디바이스(506) 및 저속 확장 포트(514)에 결합된다. 다양한 통신 포트들(예로서, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스와 같은, 하나 이상의 입력/출력 디바이스들에, 예로서 네트워크 어댑터를 통해 결합될 수 있다.
컴퓨팅 디바이스(500)는 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들면, 표준 서버(520) 또는 이러한 서버들의 그룹에서 다수 회 구현될 수 있다. 그것은 또한 랙 서버 시스템(524)의 일부로서 구현될 수 있다. 또한, 그것은 랩탑 컴퓨터(522)와 같은 개인용 컴퓨터에 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(500)로부터의 구성요소들은 디바이스(550)와 같이, 이동 디바이스(도시되지 않음)에서의 다른 구성요소들과 조합될 수 있다. 이러한 디바이스들의 각각은 컴퓨팅 디바이스(500, 550) 중 하나 이상을 포함할 수 있으며, 전체 시스템은 서로와 통신하는 다수의 컴퓨팅 디바이스들(500, 550)로 이루어질 수 있다.
컴퓨팅 디바이스(550)는 다른 구성요소들 중에서도, 프로세서(552), 메모리(564), 디스플레이와 같은 입력/출력 디바이스(554), 통신 인터페이스(566), 및 트랜시버(568)를 포함한다. 디바이스(550)는 또한 부가적인 저장을 제공하기 위해, 마이크로드라이브 또는 다른 디바이스와 같은, 저장 디바이스를 제공받을 수 있다. 구성요소들(550, 552, 564, 554, 566, 및 568)의 각각은 다양한 버스들을 사용하여 상호 연결되며 상기 구성요소들 중 여러 개가 공통 마더보드 상에 또는 다른 방식들로 적절하게 장착될 수 있다.
프로세서(552)는 메모리(564)에 저장된 지시들을 포함하여, 컴퓨팅 디바이스(550) 내에서의 지시들을 실행할 수 있다. 프로세서는 별개의 및 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로서 구현될 수 있다. 프로세서는 예를 들면, 사용자 인터페이스들의 제어, 디바이스(550)에 의해 구동된 애플리케이션들 및 디바이스(550)에 의한 무선 통신과 같이, 디바이스(550)의 다른 구성요소들의 조정을 위해 제공할 수 있다.
프로세서(552)는 디스플레이(554)에 결합된 디스플레이 인터페이스(556) 및 제어 인터페이스(558)를 통해 사용자와 통신할 수 있다. 디스플레이(554)는 예를 들면, TFT LCD(박막 트랜지스터 액정 디스플레이) 또는 OLED(유기 발광 다이오드) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(556)는 그래픽 및 다른 정보를 사용자에게 제공하도록 디스플레이(554)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(558)는 사용자로부터 명령어들을 수신하며 그것들을 프로세서(552)로의 제출을 위해 변환할 수 있다. 또한, 외부 인터페이스(562)가 다른 디바이스들과 디바이스(550)의 근거리 영역 통신을 가능하게 하기 위해, 프로세서(552)와 통신하여 제공될 수 있다. 외부 인터페이스(562)는 예를 들면, 몇몇 구현들에서 유선 통신을 위해, 또는 다른 구현들에서 무선 통신을 위해 제공할 수 있으며, 다수의 인터페이스들이 또한 사용될 수 있다.
메모리(564)는 컴퓨팅 디바이스(550) 내에 정보를 저장한다. 메모리(564)는 컴퓨터-판독 가능한 매체 또는 미디어, 휘발성 메모리 유닛 또는 유닛들, 또는 비-휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로서 구현될 수 있다. 확장 메모리(574)가 또한, 예를 들면, SIMM(단일 인라인 메모리 모듈) 카드 인터페이스를 포함할 수 있는, 확장 인터페이스(572)를 통해 디바이스(550)에 제공되며 그것에 연결될 수 있다. 이러한 확장 메모리(574)는 디바이스(550)에 대한 추가 저장 공간을 제공할 수 있거나, 또는 디바이스(550)를 위한 애플리케이션들 또는 다른 정보를 또한 저장할 수 있다. 구체적으로, 확장 메모리(574)는 상기 설명된 프로세스들을 실행하거나 또는 보완하기 위해 지시들을 포함할 수 있으며, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들면, 확장 메모리(574)는 디바이스(550)에 대한 보안 모듈로서 제공될 수 있으며, 디바이스(550)의 안전한 사용을 허용하는 지시들로 프로그램될 수 있다. 또한, 보안 애플리케이션들은 해킹 가능하지 않은 방식으로 SIMM 카드 상에 식별 정보를 위치시키는 것과 같이, 부가적인 정보와 함께, SIMM 카드들을 통해 제공될 수 있다.
메모리는 예를 들면, 이하에 논의되는 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 구현에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구체화된다. 컴퓨터 프로그램 제품은 실행될 때, 상기 설명된 것들과 같은 하나 이상의 방법들을 수행하는 지시들을 포함한다. 정보 캐리어는 예를 들면 트랜시버(568) 또는 외부 인터페이스(562)를 통해 수신될 수 있는, 메모리(564), 확장 메모리(574), 또는 프로세서 상에서의 메모리(552)와 같은, 컴퓨터- 또는 기계-판독 가능한 매체이다.
디바이스(550)는 통신 인터페이스(566)를 통해 무선으로 통신할 수 있으며, 이것은 필요한 디지털 신호 프로세싱을 포함할 수 있다. 통신 인터페이스(566)는 다른 것들 중에서, GSM 음성 호들, SMS, EMS, 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS와 같은, 다양한 모드들 또는 프로토콜들 하에서 통신들을 위해 제공할 수 있다. 이러한 통신은 예를 들면, 라디오-주파수 트랜시버(568)를 통해 발생할 수 있다. 또한, 단-거리 통신은, 블루투스, 와이파이, 또는 다른 이러한 트랜시버(도시되지 않음)를 사용하여서와 같이, 발생할 수 있다. 또한, GPS(전역적 위치확인 시스템) 수신기 모듈(570)은 부가적인 내비게이션- 및 위치-관련 무선 데이터를 디바이스(550)에 제공할 수 있으며, 이것은 디바이스(550) 상에서 구동하는 애플리케이션들에 의해 적절하게 사용될 수 있다.
디바이스(550)는 또한 오디오 코덱(560)을 사용하여 가청적으로 통신할 수 있으며, 이것은 사용자로부터 음성 정보를 수신할 수 있으며 그것을 사용 가능한 디지털 정보로 변환할 수 있다. 오디오 코덱(560)은 마찬가지로 예로서 디바이스(550)의 핸드셋에서, 스피커를 통해서와 같이, 사용자에 대한 가청 사운드를 발생시킬 수 있다. 이러한 사운드는 음성 전화 호출들로부터의 사운드를 포함할 수 있고, 녹음된 사운드(예로서, 음성 메시지들, 음악 파일들 등)를 포함할 수 있으며, 또한 디바이스(550) 상에서 동작하는 애플리케이션들에 의해 발생된 사운드를 포함할 수 있다.
컴퓨팅 디바이스(550)는 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들면, 그것은 셀룰러 전화기(580)로서 구현될 수 있다. 그것은 또한 스마트폰(582), 개인용 디지털 보조기, 또는 다른 유사한 이동 디바이스의 일부로서 구현될 수 있다.
따라서, 여기에 설명된 시스템들 및 기술들의 다양한 구현들은 디지털 전자 회로, 집적 회로, 특수하게 설계된 ASIC들(애플리케이션 특정 집적 회로들), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 그것들의 조합들로 실현될 수 있다. 이들 다양한 구현들은 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 지시들을 수신하고 그것으로 데이터 및 지시들을 송신하기 위해 결합된, 특수 또는 일반 목적일 수 있는 적어도 하나의 프로그램 가능한 프로세서를 포함한 프로그램 가능한 시스템 상에서 실행 가능하고 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함할 수 있다.
이들 컴퓨터 프로그램들(또한 프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로서 알려진)은 프로그램 가능한 프로세서를 위한 기계 지시들을 포함하며, 고-레벨 절차 및/또는 객체-지향 프로그래밍 언어로, 및/또는 어셈블리/기계 언어로 구현될 수 있다. 여기에 사용된 바와 같이, 용어(“기계-판독 가능한 매체”, “컴퓨터-판독 가능한 매체”)는 기계-판독 가능한 신호로서 기계 지시들을 수신하는 기계-판독 가능한 매체를 포함하여, 기계 지시들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용된 임의의 컴퓨터 프로그램 제품, 장치, 및/또는 디바이스(예로서, 자기 디스크들, 광 디스크들, 메모리, 프로그램 가능한 로직 디바이스(PLD들))를 나타낸다. 용어(“기계-판독 가능한 신호”)는 기계 지시들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용된 임의의 신호를 나타낸다.
사용자와의 상호작용을 위해 제공하기 위해, 여기에 설명된 시스템들 및 기술들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예로서, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예로서, 마우스 또는 트랙볼)를 가진 컴퓨터 상에 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 위해 제공하도록 사용될 수 있으며; 예를 들면, 사용자에게 제공된 피드백은 임의의 형태의 감각 피드백(예로서, 시각 피드백, 청각 피드백, 또는 촉각 피드백)일 수 있으며; 사용자로부터의 입력은 음향, 스피치, 또는 촉각 입력을 포함하여, 임의의 형태로 수신될 수 있다.
여기에 설명된 시스템들 및 기술들은 백 엔드 구성요소(예로서, 데이터 서버로서)를 포함하거나 또는 미들웨어 구성요소(예로서, 애플리케이션 서버)를 포함하거나, 또는 프론트 엔드 구성요소(예로서, 사용자가 여기에 설명된 시스템들 및 기술들의 구현과 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 가진 클라이언트 컴퓨터), 또는 이러한 백 엔드, 미들웨어, 또는 프론트 엔드 구성요소들의 임의의 조합을 포함하는 컴퓨팅 시스템에 구현될 수 있다. 시스템의 구성요소들은 임의의 형태 또는 매체의 디지털 데이터 통신(예로서, 통신 네트워크)에 의해 상호 연결될 수 있다. 통신 네트워크들의 예들은 근거리 네트워크(“LAN”), 광역 네트워크(“WAN”), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로로부터 원격이며 통상적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트 및 서버의 관계는 각각의 컴퓨터들 상에서 구동하며 서로에 대해 클라이언트-서버 관계를 가진 컴퓨터 프로그램들에 의해 발생한다.
또한, 도면들에 묘사된 로직 흐름들은 바람직한 결과들을 달성하기 위해, 도시된 특정한 순서, 또는 순차적인 순서를 요구하지 않는다. 또한, 다른 단계들이 제공될 수 있거나, 또는 단계들이 설명된 흐름들로부터 제거될 수 있으며, 다른 구성요소들이 설명된 시스템들에 부가되거나 또는 그로부터 제거될 수 있다. 따라서, 다른 실시예들이 다음의 청구항들의 범위 내에 있다.
특히 상세히 설명된 상기 실시예들은 단지 예시적이거나 또는 가능한 실시예들이며 포함될 수 있는 많은 다른 조합들, 부가들 또는 대안들이 있다는 것이 이해될 것이다.
또한, 구성요소들의 특정한 명명, 용어들의 대문자화, 속성들, 데이터 구조들, 또는 임의의 다른 프로그래밍 또는 구조적 양상은 의무적이거나 또는 중요하지 않으며, 본 발명 또는 그것의 특징들을 구현하는 메커니즘들은 상이한 명칭들, 포맷들, 또는 프로토콜들을 가질 수 있다. 또한, 시스템은 설명된 바와 같이, 하드웨어 및 소프트웨어의 조합을 통해, 또는 전체적으로 하드웨어 요소들로 구현될 수 있다. 또한, 여기에 설명된 다양한 시스템 구성요소들 사이에서의 기능의 특정한 분할은 단지 대표적이며, 의무적이지 않고; 단일 시스템 구성요소에 의해 수행된 기능들은 대신에 다수의 구성요소들에 의해 수행될 수 있으며, 다수의 구성요소들에 의해 수행된 기능들은 대신에 단일 구성요소에 의해 수행될 수 있다.
상기 설명의 몇몇 부분들은 정보에 대한 동작들의 알고리즘들 및 심볼 표현들에 대하여 특징들을 보여준다. 이들 알고리즘적 설명들 및 표현들은 이 기술분야의 다른 숙련자들에게 그들의 작업의 본질을 가장 효과적으로 전달하기 위해 데이터 프로세싱 기술들에서의 숙련자들에 의해 사용될 수 있다. 이들 동작들은 기능적으로 또는 논리적으로 설명되지만, 컴퓨터 프로그램들에 의해 구현되는 것으로 이해된다. 더욱이, 일반성의 손실 없이, 모듈들로서 또는 기능적 명칭들에 의해 동작의 이들 배열들을 나타내는 것이 때로는 편리하다는 것이 또한 증명되었다.
상기 논의로부터 명백한 바와 같이 달리 구체적으로 서술되지 않는다면, 설명 전체에 걸쳐, “프로세싱하는” 또는 “계산하는” 또는 “산출하는” 또는 “결정하는” 또는 “디스플레이하는” 또는 “제공하는” 등과 같은 용어들을 이용하는 논의들은 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 송신, 또는 디스플레이 디바이스들 내에서의 물리적 (전자) 양들로서 표현된 데이터를 조작 및 변환하는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스들을 나타낸다는 것이 이해된다.

Claims (30)

  1. 컴퓨터-판독 가능한 매체 상에 저장되며 적어도 하나의 프로세서에 의해 실행 가능한 지시들을 포함한 프린트 서버에 있어서,
    상기 적어도 하나의 프로세서가 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하도록 구성된 애플리케이션 관리기로서, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트에 대한 조회를 식별하며, 상기 애플리케이션 관리기는 또한 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하도록 구성된, 상기 애플리케이션 관리기;
    상기 적어도 하나의 프로세서가 상기 저장 후 제 2 위치에서의 프린터를 식별하며 상기 프린트 작업을 계속하기 위해 상기 제 2 위치로부터 사용자에 의해 제공된 적어도 하나의 프린트 속성을 포함하는 프린트 개시를 수신하게 하도록 구성된 프린트 작업 라우터;
    상기 적어도 하나의 프로세서가 상기 조회에 기초하여 상기 애플리케이션으로부터 프린팅될 상기 애플리케이션 콘텐트를 획득하게 하도록 구성된 애플리케이션 데이터 인출기; 및
    상기 적어도 하나의 프로세서가 상기 애플리케이션 콘텐트로부터 및 상기 적어도 하나의 프린트 속성을 사용하여, 상기 프린트 작업 라우터에 의해 상기 식별된 프린터에 전송하기 위해, 상기 식별된 프린터에 의해 프린트 가능한 포맷으로 프린트 가능한 파일을 생성하게 하도록 구성된 포맷 변환기를 포함하는, 프린트 서버.
  2. 청구항 1에 있어서, 상기 애플리케이션 관리기는 상기 애플리케이션을 통해상기 디바이스의 사용자에게 제공된 프린트 다이얼로그로 상기 프린트 작업을 수신하도록 구성되며, 상기 프린트 다이얼로그는 상기 가상 프린트 큐를 선택하기 위한 선택 가능한 옵션을 포함하는, 프린트 서버.
  3. 청구항 1에 있어서, 상기 애플리케이션은 애플리케이션 서버에 의해 제공되며 네트워크를 통해 상기 디바이스에서 이용된 웹 애플리케이션을 포함하며, 상기 프린트 작업은 상기 가상 큐에 상기 조회를 저장하는 것을 포함하여 상기 가상 큐와 제휴하여 저장되는, 프린트 서버.
  4. 청구항 1에 있어서, 상기 프린트 개시는 상기 제 2 위치에서 상기 애플리케이션 콘텐트의 프린팅을 개시하기 위해 인가되는 것으로서의 상기 프린터의 사용자의 인증과 연관되는, 프린트 서버.
  5. 청구항 1에 있어서, 상기 프린트 개시는 상기 프린터를 식별하는 제 1 메시지를 포함하며, 상기 프린트 서버는 상기 제 1 메시지에 기초하여, 상기 프린터 서버에 등록된 프린터들 중에서 상기 프린터를 식별하도록 구성된 프린터 식별기를 포함하는, 프린트 서버.
  6. 청구항 5에 있어서, 상기 제 1 메시지는 이동 디바이스로부터 수신되는, 프린트 서버.
  7. 청구항 6에 있어서, 상기 제 1 메시지는 상기 프린터와 연관되며 상기 이동 디바이스에 의해 스캐닝된 바 코드를 사용하여 상기 프린터를 식별하는, 프린트 서버.
  8. 청구항 6에 있어서, 상기 프린트 개시는 상기 프린트 작업 및 상기 적어도 하나의 프린트 속성을 식별하는 제 2 메시지를 포함하며, 상기 프린트 작업 라우터는 상기 이동 디바이스로부터 상기 제 2 메시지를 수신하도록 구성되는, 프린트 서버.
  9. 방법에 있어서,
    제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터, 프린트 작업을 수신하는 단계로서, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트에 대한 조회를 식별하는, 상기 프린트 작업 수신 단계;
    상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하는 단계;
    상기 저장 후, 제 2 위치에서의 프린터를 식별하며 상기 프린트 작업을 계속하기 위해 상기 제 2 위치로부터의 사용자에 의해 제공된 적어도 하나의 프린트 속성을 포함하는 프린트 개시를 수신하는 단계;
    상기 조회에 기초하여 상기 애플리케이션으로부터 프린팅될 상기 애플리케이션 콘텐트를 획득하는 단계; 및
    상기 애플리케이션 콘텐트로부터 및 상기 적어도 하나의 프린트 속성을 사용하여, 상기 프린트 작업 라우터에 의해 상기 식별된 프린터에 전송하기 위해, 상기 식별된 프린터에 의해 프린트 가능한 포맷으로 프린트 가능한 파일을 생성하는 단계를 포함하는, 방법.
  10. 청구항 9에 있어서, 상기 애플리케이션은 애플리케이션 서버에 의해 제공되며 네트워크를 통해 상기 디바이스에서 이용된 웹 애플리케이션을 포함하며, 상기 프린트 작업은 상기 가상 큐에 상기 조회를 저장하는 것을 포함하여 상기 가상 큐와 제휴하여 저장되는, 방법.
  11. 청구항 9에 있어서, 상기 프린트 개시는 상기 제 2 위치에서의 이동 디바이스로부터 수신되는, 방법.
  12. 컴퓨터-판독 가능한 저장 매체 상에 유형적으로 구체화되며 실행 가능한 코드를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 실행 가능한 코드는, 실행될 때, 데이터 프로세싱 장치가:
    제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하는 것으로서, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트에 대한 조회를 식별하는, 상기 프린트 작업을 수신하게 하는 것;
    상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하게 하고;
    상기 저장 후, 제 2 위치에서의 프린터를 식별하며 상기 프린트 작업을 계속하기 위해 상기 제 2 위치로부터 사용자에 의해 제공된 적어도 하나의 프린트 속성을 포함하는 프린트 개시를 수신하게 하고;
    상기 조회에 기초하여 상기 애플리케이션으로부터 프린팅될 상기 애플리케이션 콘텐트를 획득하게 하며;
    상기 애플리케이션 콘텐트로부터 및 상기 적어도 하나의 프린트 속성을 사용하여, 상기 프린트 작업 라우터에 의해 상기 식별된 프린터에 전송하기 위해, 상기 식별된 프린터에 의해 프린트 가능한 포맷으로 프린트 가능한 파일을 생성하게 하도록 구성되는, 컴퓨터 프로그램 제품.
  13. 청구항 12에 있어서, 상기 애플리케이션은 애플리케이션 서버에 의해 제공되며 네트워크를 통해 상기 디바이스에서 이용되는 웹 애플리케이션을 포함하며, 상기 프린트 작업은 상기 가상 큐에 상기 조회를 저장하는 것을 포함하여 상기 가상 큐와 제휴하여 저장되는, 컴퓨터 프로그램 제품.
  14. 청구항 12에 있어서, 상기 프린트 개시는 제 2 위치에서의 이동 디바이스로부터 수신된 상기 프린터를 식별하는 제 1 메시지를 포함하며, 상기 프린터는 상기 제 1 메시지에 기초하여, 상기 프린트 서버에 등록된 프린터들 중에서 식별되는, 컴퓨터 프로그램 제품.
  15. 청구항 14에 있어서, 상기 프린트 개시는 상기 프린트 작업 및 상기 적어도 하나의 프린트 속성을 식별하는 제 2 메시지를 포함하며, 상기 제 2 메시지는 상기 이동 디바이스로부터 수신되는, 컴퓨터 프로그램 제품.
  16. 청구항 14에 있어서, 상기 프린트 개시는 상기 제 2 위치에서 상기 애플리케이션 콘텐트의 프린팅을 개시하기 위해 인가되는 것으로서의 상기 프린터의 사용의 인증과 연관되며, 상기 인증은 상기 이동 디바이스를 사용하여 실행되는, 컴퓨터 프로그램 제품.
  17. 컴퓨터-판독 가능한 매체 상에 저장되며 적어도 하나의 프로세서에 의해 실행 가능한 지시들을 포함한 프린트 서버에 있어서,
    상기 적어도 하나의 프로세서가 제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하도록 구성된 애플리케이션 관리기로서, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하며, 상기 애플리케이션 관리기는 또한 상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하도록 구성되는, 상기 애플리케이션 관리기;
    상기 적어도 하나의 프로세서가 상기 저장 후 및 제 2 위치에서의 이동 디바이스로부터, 상기 제 2 위치에서의 프린터 및 상기 프린트 작업을 식별하는 프린트 개시를 수신하게 하도록 구성된 프린트 작업 라우터로서, 상기 프린트 작업 라우터는 또한 상기 프린트 개시에 기초하여, 상기 식별된 프린터에 상기 애플리케이션 콘텐트를 전송하도록 구성되는, 상기 프린트 작업 라우터를 포함하는, 프린트 서버.
  18. 청구항 17에 있어서, 상기 애플리케이션 콘텐트 및 프린트 속성들의 연관된 프린트 값들을 상기 가상 프린트 큐와 제휴하여 저장되는 프린트 가능한 파일로 변환하도록 구성된 포맷 변환기를 포함하며, 상기 프린트 작업 라우터는 상기 프린트 개시에 응답하여 상기 프린터에서 프린팅하기 위한 상기 프린트 가능한 파일을 전송하도록 구성되는, 프린트 서버.
  19. 청구항 18에 있어서, 상기 포맷 변환기는 상기 프린트 작업의 일부로서 상기 프린트 값들을 수신하도록 구성되는, 프린트 서버.
  20. 청구항 18에 있어서, 상기 포맷 변환기는 상기 프린트 개시의 일부로서 상기 이동 디바이스로부터 상기 프린트 값들을 수신하도록 구성되는, 프린트 서버.
  21. 청구항 17에 있어서, 상기 애플리케이션 관리기는 상기 애플리케이션을 통해상기 디바이스의 사용자에게 제공된 프린트 다이얼로그로 상기 프린트 작업을 수신하도록 구성되며, 상기 프린트 다이얼로그는 상기 가상 프린트 큐를 선택하기 위한 선택 가능한 옵션을 포함하는, 프린트 서버.
  22. 청구항 17에 있어서, 상기 프린트 개시는 상기 제 2 위치에서 상기 애플리케이션 콘텐트의 프린팅을 개시하기 위해 인가되는 것으로서의 상기 프린터의 사용자의 인증과 연관되며, 상기 인증은 상기 사용자와 연관되며 상기 이동 디바이스로부터 수신된 인증 자격들의 수신을 포함하는, 프린트 서버.
  23. 청구항 17에 있어서, 상기 프린트 개시는 상기 이동 디바이스를 통해, 상기 프린터의 사용자로부터 수신되고, 상기 사용자 및 상기 이동 디바이스는 상기 제 2 위치에 존재하는, 프린트 서버.
  24. 방법에 있어서,
    제 1 위치에서의 디바이스에서 이용된 애플리케이션으로부터 프린트 작업을 수신하는 단계로서, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하는, 상기 프린트 작업 수신 단계;
    상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하는 단계;
    상기 저장 후 및 제 2 위치에서의 이동 디바이스로부터, 상기 제 2 위치에서의 프린터 및 상기 프린트 작업을 식별하는 프린트 개시를 수신하는 단계; 및
    상기 프린트 개시에 기초하여, 상기 식별된 프린터에 상기 애플리케이션 콘텐트를 전송하는 단계를 포함하는, 방법.
  25. 청구항 24에 있어서,
    상기 애플리케이션 콘텐트 및 프린트 속성들의 연관된 프린트 값들을 상기 가상 프린트 큐와 제휴하여 저장되는 프린트 가능한 파일로 변환하는 단계를 포함하며, 상기 프린트 작업 라우터는 상기 프린트 개시에 응답하여 상기 프린터에서 프린팅하기 위한 상기 프린트 가능한 파일을 전송하도록 구성되는, 방법.
  26. 청구항 24에 있어서, 상기 애플리케이션은 애플리케이션 서버에 의해 제공되며 네트워크를 통해 상기 디바이스에서 이용되는 웹 애플리케이션을 포함하는, 방법.
  27. 컴퓨터-판독 가능한 저장 매체 상에 유형적으로 구체화되며 실행 가능한 코드를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 실행 가능한 코드는, 실행될 때, 데이터 프로세싱 장치가:
    제 1 위치에서의 디바이스에 이용된 애플리케이션으로부터 프린트 작업을 수신하게 하는 것으로서, 상기 프린트 작업은 가상 프린트 큐 및 프린팅될 애플리케이션 콘텐트를 식별하는, 상기 프린트 작업을 수신하게 하는 것;
    상기 가상 프린트 큐와 제휴하여 상기 프린트 작업을 저장하게 하고;
    상기 저장 후 및 제 2 위치에서의 이동 디바이스로부터, 상기 제 2 위치에서의 프린터 및 상기 프린트 작업을 식별하는 프린트 개시를 수신하게 하며;
    상기 프린트 개시에 기초하여, 상기 애플리케이션 콘텐트를 상기 식별된 프린터에 전송하게 하도록 구성되는, 컴퓨터 프로그램 제품.
  28. 청구항 27에 있어서, 상기 실행 가능한 코드는, 실행될 때, 또한 상기 애플리케이션 콘텐트 및 프린트 속성들의 연관된 프린트 값들을 상기 가상 프린트 큐와 제휴하여 저장되는 프린트 가능한 파일로 변환하도록 구성되며, 상기 프린트 작업 라우터는 상기 프린트 개시에 응답하여 상기 프린터에서 프린팅하기 위한 상기 프린트 가능한 파일을 전송하도록 구성되는, 컴퓨터 프로그램 제품.
  29. 청구항 27에 있어서, 상기 프린트 개시는 상기 이동 디바이스를 통해, 상기 프린터의 사용자로부터 수신되고, 상기 사용자 및 상기 이동 디바이스는 상기 제 2 위치에 존재하는, 컴퓨터 프로그램 제품.
  30. 청구항 27에 있어서,
    상기 프린트 개시는 상기 프린터를 식별하는 제 1 메시지를 포함하며, 상기 프린터는 상기 제 1 메시지에 기초하여, 상기 프린터 서버에 등록된 프린터들 중에서 식별되고;
    상기 프린트 개시는 상기 프린트 작업을 식별하는 제 2 메시지를 포함하며, 상기 프린트 작업 라우터는 상기 이동 디바이스로부터 상기 제 2 메시지를 수신하고 상기 프린터에 의해 프린트 가능한 포맷으로, 상기 가상 큐로부터 상기 프린터의 프린터 큐로 상기 애플리케이션 콘텐트를 전달하도록 구성되는, 컴퓨터 프로그램 제품.
KR1020147009498A 2011-10-17 2012-10-16 클라우드-기반 프린트 서비스에서의 로빙 프린팅 KR102048865B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13/275,300 US20140368859A1 (en) 2011-10-17 2011-10-17 Virtual print queue for roving printing in a cloud-based print service
US13/275,301 US8953192B2 (en) 2011-10-17 2011-10-17 Roving printing in a cloud-based print service using a mobile device
US13/275,300 2011-10-17
US13/275,301 2011-10-17
PCT/US2012/060413 WO2013059190A1 (en) 2011-10-17 2012-10-16 Roving printing in a cloud-based print service

Publications (2)

Publication Number Publication Date
KR20140079397A true KR20140079397A (ko) 2014-06-26
KR102048865B1 KR102048865B1 (ko) 2019-11-26

Family

ID=48141276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147009498A KR102048865B1 (ko) 2011-10-17 2012-10-16 클라우드-기반 프린트 서비스에서의 로빙 프린팅

Country Status (4)

Country Link
EP (1) EP2754064A4 (ko)
KR (1) KR102048865B1 (ko)
CN (1) CN103890748A (ko)
WO (1) WO2013059190A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016003108A1 (ko) * 2014-07-01 2016-01-07 삼성전자주식회사 화상 형성 장치, 그 위치 안내 방법 및 화상 형성 시스템
US9807260B2 (en) 2015-08-11 2017-10-31 S-Printing Solution Co., Ltd. Method and device for using cloud print service

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8953192B2 (en) 2011-10-17 2015-02-10 Google Inc. Roving printing in a cloud-based print service using a mobile device
KR20150020949A (ko) 2013-08-19 2015-02-27 삼성전자주식회사 공용 화상형성장치를 이용한 클라우드 프린팅 시스템 및 방법
WO2015138770A1 (en) * 2014-03-14 2015-09-17 Chein Jason Shih-Shen System and method for near field communication (nfc) crowdsource product matrix
CN103914267A (zh) * 2014-03-20 2014-07-09 上海合合信息科技发展有限公司 网络打印机及其控制装置和方法
TWI521426B (zh) * 2014-09-11 2016-02-11 誠研科技股份有限公司 列印系統及其操作方法
CN104680667B (zh) * 2015-03-20 2017-03-15 重庆理工大学 一种云打印自助服务平台及其实现方法
JP6720620B2 (ja) * 2016-03-24 2020-07-08 富士ゼロックス株式会社 サービス提供システム、移動型機器、クライアントプログラム、およびサーバプログラム
CN105955681A (zh) * 2016-05-17 2016-09-21 李毅 一种打印方法和设备
CN106201372A (zh) * 2016-06-28 2016-12-07 努比亚技术有限公司 移动终端及文件打印方法
CN107957853A (zh) * 2016-10-15 2018-04-24 魏歌 文件打印管理方法、二级服务端、服务端及系统
JP6639430B2 (ja) * 2017-01-31 2020-02-05 キヤノン株式会社 情報処理装置、制御方法およびプログラム
JP7119844B2 (ja) * 2018-03-05 2022-08-17 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
CN108897502A (zh) * 2018-05-29 2018-11-27 安徽天斯努信息技术股份有限公司 一种可监控的智能化云打印控制终端
US11294609B2 (en) * 2019-03-28 2022-04-05 Microsoft Technology Licensing, Llc Secure device endpoint assignment
CN110210455B (zh) * 2019-06-18 2022-03-01 石家庄捷弘科技有限公司 一种打印内容格式化提取方法
US11635926B2 (en) 2019-07-30 2023-04-25 Hewlett-Packard Development Company, L.P. Printer identifying characteristics
KR20210075548A (ko) * 2019-12-13 2021-06-23 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 클라우드 서버를 통한 디바이스의 미완료 작업 관리
CN114003184B (zh) * 2021-09-30 2024-06-21 中孚安全技术有限公司 一种跨系统共享打印的方法及系统
US11922026B2 (en) 2022-02-16 2024-03-05 T-Mobile Usa, Inc. Preventing data loss in a filesystem by creating duplicates of data in parallel, such as charging data in a wireless telecommunications network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100302579A1 (en) * 2009-06-01 2010-12-02 Jayasimha Nuggehalli Printing and scanning with cloud storage
US20110235085A1 (en) * 2010-03-16 2011-09-29 Google Inc. Printer with anonymous printer registration in a cloud-based print service
US20110252071A1 (en) * 2010-02-22 2011-10-13 Sookasa Inc Cloud Based Operating and Virtual File System

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3499535B2 (ja) * 2001-03-05 2004-02-23 東芝テック株式会社 コンテンツサーバとネットワークシステム
EP1489488A3 (en) * 2003-06-20 2009-07-01 Ricoh Company, Ltd. Method and apparatus for providing a service for sharing a printing environment
US7408667B2 (en) * 2004-02-06 2008-08-05 Sharp Laboratories Of America, Inc. Systems and methods for pull printing where rendering is initiated at the printer
CN101655778A (zh) * 2009-09-22 2010-02-24 南京大学 基于移动软件代理的智能空间移动打印方法
CN101926675B (zh) * 2009-10-30 2012-08-08 华为技术有限公司 一种远程获取用户生理检测数据的方法、装置及系统
CN101882060B (zh) * 2010-06-25 2011-11-30 北京工业大学 基于云计算的网络打印随身通
CN201725324U (zh) * 2010-06-25 2011-01-26 北京工业大学 基于云计算的网络打印随身通

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100302579A1 (en) * 2009-06-01 2010-12-02 Jayasimha Nuggehalli Printing and scanning with cloud storage
US20110252071A1 (en) * 2010-02-22 2011-10-13 Sookasa Inc Cloud Based Operating and Virtual File System
US20110235085A1 (en) * 2010-03-16 2011-09-29 Google Inc. Printer with anonymous printer registration in a cloud-based print service

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016003108A1 (ko) * 2014-07-01 2016-01-07 삼성전자주식회사 화상 형성 장치, 그 위치 안내 방법 및 화상 형성 시스템
KR20160003457A (ko) * 2014-07-01 2016-01-11 삼성전자주식회사 화상 형성 장치, 그 위치 안내 방법 및 화상 형성 시스템
US10097725B2 (en) 2014-07-01 2018-10-09 S-Printing Solution Co., Ltd. Image forming apparatus, and position guidance method and image forming system therefor
US9807260B2 (en) 2015-08-11 2017-10-31 S-Printing Solution Co., Ltd. Method and device for using cloud print service

Also Published As

Publication number Publication date
WO2013059190A1 (en) 2013-04-25
CN103890748A (zh) 2014-06-25
EP2754064A4 (en) 2015-07-15
EP2754064A1 (en) 2014-07-16
KR102048865B1 (ko) 2019-11-26

Similar Documents

Publication Publication Date Title
KR102048865B1 (ko) 클라우드-기반 프린트 서비스에서의 로빙 프린팅
US8953192B2 (en) Roving printing in a cloud-based print service using a mobile device
US20140368859A1 (en) Virtual print queue for roving printing in a cloud-based print service
US9152366B2 (en) Remote printing management for cloud printing
US8988713B2 (en) Secure printing in a cloud-based print system
US8477350B2 (en) Cloud-based print service
US8189225B1 (en) Printing to a cloud printer via NFC
AU2011227464B2 (en) Cloud-based print service
US8804147B2 (en) Semantic printing options
US8988716B1 (en) Customized printer identifier with embedded access rights
US10298809B2 (en) Device for supporting cloud print service and method of providing cloud print service
US9743415B2 (en) Method of outputting content through network, and apparatus and system for performing the method
JP2015197837A (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