KR20210075548A - 클라우드 서버를 통한 디바이스의 미완료 작업 관리 - Google Patents
클라우드 서버를 통한 디바이스의 미완료 작업 관리 Download PDFInfo
- Publication number
- KR20210075548A KR20210075548A KR1020190166763A KR20190166763A KR20210075548A KR 20210075548 A KR20210075548 A KR 20210075548A KR 1020190166763 A KR1020190166763 A KR 1020190166763A KR 20190166763 A KR20190166763 A KR 20190166763A KR 20210075548 A KR20210075548 A KR 20210075548A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- document
- incomplete
- user
- party app
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1267—Job repository, e.g. non-scheduled jobs, delay printing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1207—Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1222—Increasing security of the print job
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1238—Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1259—Print job monitoring, e.g. job status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1273—Print job history, e.g. logging, accounting, tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1274—Deleting of print job
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1287—Remote printer device, e.g. being remote from client or server via internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Facsimiles In General (AREA)
Abstract
컴퓨팅 장치의 동작 방법이 개시된다. 동작 방법은, 제1 디바이스로부터, 사용자 식별정보에 의해 요청된 작업이 정상 완료되지 않은 미완료 작업 정보를 수신하는 단계, 상기 미완료 작업 정보를 상기 사용자 식별정보의 사용자 데이터에 저장하는 단계, 제2 디바이스에서 로그인된 상기 사용자 식별정보를 수신하는 단계, 그리고 상기 사용자 데이터에 저장된 상기 미완료 작업 정보를 상기 제2 디바이스로 제공하는 단계를 포함한다.
Description
디바이스에서 클라우드 서버를 이용한 사용자 인증을 진행하면, 각 디바이스에서 클라우드 서버에 저장된 사용자의 다양한 데이터를 관리할 수 있다. 예를 들어, 네트워크에 연결된 디바이스는 사용자 인증을 거친 후 클라우드 서버를 통해 프린터로 안전하게 문서와 사진을 인쇄할 수 있다.
이 도면들은 본 발명의 예시적인 실시예를 설명하는데 참조하기 위함이므로, 본 발명의 기술적 사상을 첨부한 도면에 한정해서 해석하여서는 안 된다.
도 1은 본 발명의 한 실시예에 따른 클라우드 서버를 통한 디바이스 간 미완료 작업을 공유하는 시스템 구성도이다.
도 2는 본 발명의 실시예에 따른 클라우드 서버가 사용자 데이터를 관리하는 동작의 순서도이다.
도 3은 본 발명의 한 실시예에 따른 디바이스에서 사용자 인증 화면을 나타낸 예시도이다.
도 4는 본 발명의 한 실시예에 따른 클라우드 서버가 미완료 작업 정보를 저장하는 동작을 나타낸 순서도이다.
도 5는 본 발명의 한 실시예에 따른 디바이스가 미완료 작업을 재개하는 동작을 나타낸 순서도이다.
도 6은 본 발명의 한 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 7은 본 발명의 다른 실시예에 따른 미완료 인쇄 작업을 재개하는 동작을 나타낸 순서도이다.
도 8은 본 발명의 다른 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 9는 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업을 재개하는 동작을 나타낸 순서도이다.
도 10은 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 11은 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업을 재개하는 동작을 나타낸 순서도이다.
도 12는 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 13은 본 발명의 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
도 1은 본 발명의 한 실시예에 따른 클라우드 서버를 통한 디바이스 간 미완료 작업을 공유하는 시스템 구성도이다.
도 2는 본 발명의 실시예에 따른 클라우드 서버가 사용자 데이터를 관리하는 동작의 순서도이다.
도 3은 본 발명의 한 실시예에 따른 디바이스에서 사용자 인증 화면을 나타낸 예시도이다.
도 4는 본 발명의 한 실시예에 따른 클라우드 서버가 미완료 작업 정보를 저장하는 동작을 나타낸 순서도이다.
도 5는 본 발명의 한 실시예에 따른 디바이스가 미완료 작업을 재개하는 동작을 나타낸 순서도이다.
도 6은 본 발명의 한 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 7은 본 발명의 다른 실시예에 따른 미완료 인쇄 작업을 재개하는 동작을 나타낸 순서도이다.
도 8은 본 발명의 다른 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 9는 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업을 재개하는 동작을 나타낸 순서도이다.
도 10은 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 11은 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업을 재개하는 동작을 나타낸 순서도이다.
도 12는 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 13은 본 발명의 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.
본 명세서에서 "전송 또는 제공" 은 직접적인 전송 또는 제공하는 것뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
어플리케이션(Application, 이하 '앱'이라고 호칭함)은 디바이스에 설치되어 실행되며, 사용자 또는 다른 응용 프로그램에게 특정한 기능을 직접 수행하도록 설계된 응용 프로그램을 의미한다. 예를 들어, 파일 공유 앱, 문서 프린트 앱, 문서 스캔 앱 등을 의미한다.
서드파티 앱(Third Party Application)은 하드웨어 생산자(First Party)와 직접 관계가 없는 소프트웨어 개발자(Third Party)가 개발한 앱을 의미한다.
서드파티 서버는 서드파티 앱과 통신하여 서드파티 앱과 앱이 표시하는 문서들, 파일들을 관리한다.
작업은 디바이스를 통해 문서를 프린트 또는 스캔하는 것을 의미한다. 예를 들어, 사용자는 서드파티 앱에 포함된 문서의 인쇄 작업을 요청할 수 있다. 이하에서는 인쇄 작업을 예로 들어 설명하나, 반드시 이에 한정되는 것은 아니다.
한편, 디바이스는 서드파티 API(Application Programming Interface, 이하 'API'라고 호칭함)를 활용한 다양한 서드파티 앱을 제공하고 있다. 디바이스에서 클라우드 서버를 통해 사용자 인증을 진행하는 경우, 클라우드 서버는 사용자가 임의의 서드파티 앱에서 설정한 설정 정보들을 포함하여 다양한 데이터를 저장하여 관리할 수 있다.
클라우드 서버를 이용하여 사용자 인증을 거친 사용자의 경우, 디바이스는 서드파티 서버에 접근하는 과정에서 발급된 액세스 토큰과 서드파티 앱을 실행하고 설정한 정보를 포함한 사용자 데이터를 클라우드 서버에 저장한다. 클라우드 서버에 저장된 정보들은 디바이스 간 공유할 수 있다.
현재는 액세스 토큰과 사용자 데이터 외에 서드파티 앱을 통해 수행한 작업과 작업의 상태는 클라우드 서버에 저장되지 않는다. 이 경우 디바이스 오류로 인해 작업이 완료되지 못하면, 사용자는 다른 디바이스로 이동하여 다시 서드파티 앱 실행, 문서 다운로드, 인쇄 옵션 선택 후 인쇄 시도 등 일련의 절차를 반복해야 한다.
따라서, 본 발명은 디바이스에 설치된 서드파티 앱을 통해 서드파티 서버에 저장된 파일을 다운로드 하여 인쇄를 시도하였으나, 정상 완료되지 않은 인쇄 작업의 정보를 클라우드 서버에 저장한다. 클라우드 서버는 사용자 데이터에 미완료 작업 정보를 저장한다. 이후 사용자가 임의의 디바이스로 이동하면, 클라우드 서버는 정상 완료되지 않은 문서의 미완료 작업 정보를 디바이스에 제공하여 사용자에게 알린다. 사용자는 반복적인 절차 없이 편리하게 인쇄 작업을 재개할 수 있다. 이러한 본 발명의 실시예에 대해 도면을 참고하여 설명하면 다음과 같다.
이 도면들은 본 발명의 예시적인 실시예를 설명하는데 참조하기 위함이므로, 본 발명의 기술적 사상을 첨부한 도면에 한정해서 해석하여서는 안 된다.
도 1은 본 발명의 한 실시예에 따른 클라우드 서버를 통한 디바이스 간 미완료 작업을 공유하는 시스템 구성도이다.
도 1을 참고하면, 디바이스a(300a)가 사용자로부터 서드파티 앱 1(311)에 포함된 문서의 인쇄 작업 요청을 받으면, 서드파티 앱 1(311)과 연동된 서드파티 서버 1(210)로부터 문서를 수신하고, 인쇄 작업이 미완료된 경우, 미완료 작업에 대한 정보를 클라우드 서버(100)에 전송한다.
클라우드 서버(100)는 사용자가 임의의 서드파티 앱을 실행하고 설정을 변경한 정보를 포함한 사용자 데이터를 관리하고 있으며, 수신한 미완료 작업 정보를 사용자 데이터에 포함하여 관리한다.
이후 사용자가 다른 디바이스b(300b)에서 클라우드 서버(100)에 로그인하면, 클라우드 서버(100)는 미완료 작업 정보를 디바이스b(300b)에 제공하여 사용자에게 알리고 작업을 재개한다.
클라우드 서버(100), 서드파티 서버들(210, 220, 230), 디바이스들(300a, 300b)은 메모리 및 적어도 하나의 프로세서를 포함하는 컴퓨팅 장치로 구현된다. 프로세서는 메모리에 로드된 프로그램의 명령(Instruction)을 실행한다.
클라우드 서버(100)는 서드파티 앱(311, 312, 313)의 데이터를 저장한다. 그리고 디바이스(300a, 300b)로부터 미완료 작업 정보를 수신하면, 사용자 데이터에 저장한다.
서드파티 서버(210, 220, 230)는 디바이스(300a, 300b)에 설치된 각각의 서드파티 앱(311, 312, 313)을 통해 접속할 수 있다. 사용자 또는 서드파티 앱(311, 312, 313)은 사용자의 로그인 또는 서드파티 API를 통해 각 서드파티 서버(210, 220, 230)에 접근하고, 저장된 문서들을 다운로드 할 수 있다. URL과 같은 다운로드 주소는 서드파티 API를 통해 제공 및 접속될 수 있다.
디바이스(300a, 300b)는 서드파티 앱(311, 312, 313)과 작업 관리 소프트웨어(320)를 포함하며, 화상 데이터의 생성, 인쇄, 수신, 전송 등을 수행하는 화상 형성 장치일 수 있다. 화상 형성 장치의 대표적인 예로는 프린터, 스캐너, 복사기, 팩스 및 이들의 기능을 통합적으로 구현한 복합기 등을 들 수 있다.
한편, 작업 관리 소프트웨어(320)는 서드파티 앱(311, 312, 313)들과의 연동을 위한 소프트웨어 개발 도구 모음(Software Development Kit, SDK)을 포함할 수 있다. 따라서 이하에서는 작업 관리 소프트웨어(320)를 SDK 모듈이라고 호칭하나, 이에 한정되는 것은 아니다.
디바이스(300a, 300b)에 설치된 서드파티 앱(311, 312, 313)은 SDK 모듈을 통해 사용자의 인증 여부를 확인할 수 있다.
서드파티 앱(311, 312, 313)은 클라우드 서버(100)에 사용자 데이터를 저장하거나 저장된 데이터를 요청하여 제공받을 수 있다.
서드파티 앱(311, 312, 313)은 서드파티 API를 통해 각 서드파티 서버(210, 220, 230)에 저장되어 있는 문서 정보를 요청하여 다운로드하고 인쇄를 진행할 수 있다. 또한 디바이스(300a, 300b)를 통해 스캔한 데이터를 서드파티 서버(210, 220, 230)에 전송할 수 있다.
서드파티 앱(311, 312, 313)은 SDK 모듈을 통해 요청한 인쇄 또는 스캔 작업의 진행 상태, 완료 여부를 확인하고, 디바이스(300a, 300b)에 오류가 있는지 등 디바이스 상태를 확인할 수 있다.
서드파티 앱(311, 312, 313)은 사용자가 요청한 작업이 디바이스(300a, 300b)의 오류로 인해 미완료된 경우 미완료 작업에 대한 정보를 클라우드 서버(100)에 저장할 수 있다.
클라우드 서버(100)는 사용자 데이터를 관리한다. 따라서 인쇄 작업 전, 사용자의 인증 과정이 진행될 수 있다. 이하에서는 사용자 식별정보를 이용한 인증 과정과 클라우드 서버(100)가 사용자 데이터를 관리하는 방법을 설명한다.
도 2는 본 발명의 실시예에 따른 클라우드 서버가 사용자 데이터를 관리하는 동작의 순서도이고, 도 3은 본 발명의 한 실시예에 따른 디바이스에서 사용자 인증 화면을 나타낸 예시도이다.
도 3의 (a)를 참고하면, 디바이스(300a, 300b)에 설치된 서드파티 앱들의 리스트가 표시될 수 있다. 표시되는 서드파티 앱들은 디바이스(300a, 300b)의 관리자가 설치한 것일 수 있다.
도 3의 (b)를 참고하면, 사용자는 디바이스(300a, 300b)에 등록한 식별정보를 입력하여 하나의 디바이스(300a, 300b) 내에서 인증을 진행할 수 있다. 한 예로서 디바이스 제조사 서버에서 진행할 수 있고, 아이디와 패스워드로 구성된 식별정보를 이용할 수 있다.
클라우드 인증은 클라우드 서버(100)에 등록한 사용자 식별정보를 이용하여 진행된다. 사용자 식별정보는 클라우드 서버(100)에 등록할 때 사용하는 정보로, 한 예로서 도메인 형태의 아이디와 비밀번호를 포함할 수 있고, 도 3의 (d) 화면을 통해 입력받을 수 있다. 한편, 사용자는 디바이스에 로그인한 후 클라우드 인증을 연결하여 진행할 수 있으며 예를 들어, 도 3의 (c) 화면을 통해 진행할 수 있다.
도 2를 참고하면, 클라우드 서버(100)는 임의의 서드파티 앱의 유효한 액세스 토큰과 사용자가 임의의 서드파티 앱과 관련하여 설정한 정보들이 포함된 사용자 데이터를 저장하고 있다(S101). 따라서 사용자는 디바이스(300a, 300b)에 무관하게 클라우드 서버(100)에 저장된 사용자 데이터에 포함된 임의의 서드파티 앱의 설정 정보들과 유효한 액세스 토큰으로 서드파티 앱을 이용할 수 있다.
사용자 데이터는 표 1과 같이 임의의 서드파티 앱의 유효한 액세스 토큰과 사용자가 서드파티 앱과 관련하여 설정한 정보들을 포함할 수 있다. 한편 표 1에서 Unresolved printing job List는 도 4의 S207 단계에서 저장되는 미완료된 작업 대상의 정보로서, 사용자 데이터와 매핑되어 저장된다. 한편 미완료된 작업이 없는 경우 사용자 데이터의 Unresolved printing job List 항목은 없을 수 있다.
항목 | 내용 |
Credential table | 서드파티 앱 인증 결과로서, 서드파티 API를 호출할 수 있는 액세스 토큰 등을 포함한 정보 |
Recent search keyword list | 문서를 찾기 위해 검색한 키워드를 저장하고, 다음 검색시에 표시 여부 |
Recent search site list | 사이트를 찾기 위해 검색한 키워드를 저장하고 다음 검색시에 표시 여부 |
Do not show again flag for app guide | 앱 진입 후 앱 가이드의 표시 여부 |
Do not show again flag for remember me pop up | 클라우드 서버에 사용자의 데이터 저장 여부를 확인하는 팝업의 표시 여부 |
EULA & P.P agreement state | 서드파티 앱을 사용하기 위한 EULA & P.P 동의 여부 |
Unresolved printing job List | 디바이스에서 인쇄 작업이 완료되지 않은 경우, 실행된 서드파티 앱, 문서 정보 등 |
표 1에서, 크레덴셜 테이블(Credential Table)은 서드파티 앱(311, 312, 313)의 인증 결과를 의미한다. 클라우드 서버(100)에 임의의 서드파티 앱(311, 312, 313)의 크레덴셜 테이블이 있는 경우, 사용자가 임의의 디바이스에서 해당 서드파티 앱(311, 312, 313)에 로그인 하지 않고도, 해당 서드파티 앱(311, 312, 313)에 존재하는 문서에 접근할 수 있다.
크레덴셜 테이블은 서드파티 앱(311, 312, 313)의 API를 호출할 때 사용되는 액세스 토큰, 아이디와 패스워드 형태의 인증 정보, 또는 세션 ID를 포함하는 서드파티 앱(311, 312, 313)의 사용자 인증 정보를 의미한다. 이하에서는, 사용자 인증 정보로 액세스 토큰을 이용하는 경우를 예로 들어 설명하나, 반드시 이에 한정되는 것은 아니다.
한 예로서, 크레덴셜 테이블은 표 2와 같은 형태일 수 있고, 서드파티 앱(311, 312, 313)의 종류에 따라 달라질 수 있다.
accessToken |
lastAccessedDate |
refreshToken |
refreshTokenExpireDate |
tokenImportTime |
표 2에서, 액세스 토큰(accessToken)은 사용자의 임의의 서드파티 서버(210, 220, 230)로부터 발행받은 접근 권한이다. 따라서, 클라우드 서버(100)에 유효한 액세스 토큰이 있다면, 임의의 디바이스에서 클라우드 서버(100)로부터 액세스 토큰을 이용하여 별도의 인증 절차 없이도 서드파티 서버(210, 220, 230)로부터 문서에 접근할 수 있다. 이를 sign in once라고 호칭할 수 있으며, 자세한 내용은 도 9를 통해 설명한다.
lastAccessedDate는 사용자가 임의의 서드파티 앱에 마지막으로 접근한 날을 의미하고, refreshToken는 액세스 토큰이 만료된 후 다시 유효한 액세스 토큰을 발급받기 위해 이용되는 토큰을 의미하고, refreshTokenExpireDate는 refreshToken이 만료되는 날을 의미하고, tokenImportTime는 유효한 액세스 토큰이 발행된 시간을 의미한다.
다시 도 2로 돌아가서, 디바이스a(300a)는 클라우드 인증을 위한 로그인 화면에서 사용자 식별정보를 입력받는다(S102).
한 예로서, 디바이스a(300a)의 도 3의 (b)의 화면에서 디바이스에 로그인한 후 도 3의 (c)의 화면을 통해 클라우드 서버(100)에 접근할 수 있다. 그리고 디바이스a(300a)는 도 3의 (d)의 화면으로 사용자 식별정보를 입력받을 수 있다.
디바이스a(300a)는 도 3의 (d)에서 입력받은 사용자 식별정보를 클라우드 인증 서버(400)에 전송한다(S103).
클라우드 인증 서버(400)는 사용자 식별정보로 인증한다(S104).
인증이 성공한 이후, 사용자는 서드파티 앱 1(311)을 실행한다(S105). 한 예로서, 사용자는 HP for Dropbox를 실행할 수 있다.
실행된 서드파티 앱 1(311)은 클라우드 서버(100)로 사용자 식별정보를 전송하여 사용자 식별정보에 대응되는 사용자 데이터를 제공받는다(S106, S107). 이하에서는, 수신한 사용자 데이터에 서드파티 앱 1(311)의 사용자 인증 정보가 없는 경우에 대해 설명한다.
사용자 데이터 내에 서드파티 앱 1(311)의 사용자 인증 정보가 없으므로, 디바이스a(300a)는 사용자에게 서드파티 서버 1(210)에 로그인을 요청하는 화면을 출력한다(S108).
디바이스a(300a)는 사용자가 입력한 정보로 서드파티 앱 1(311)의 서드파티 서버 1(210)에 로그인한다(S109).
서드파티 서버 1(210)은 서드파티 앱 1(311)의 액세스 토큰을 디바이스a(300a)로 전송한다(S110).
디바이스a(300a)는 서드파티 앱 1(311)의 액세스 토큰을 클라우드 서버(100)에 전송한다(S111).
클라우드 서버(100)는 사용자 데이터에 서드파티 앱 1(311)의 액세스 토큰을 저장한다(S112). 한 예로서 클라우드 서버(100)는 표 2와 같은 액세스 토큰을 포함한 크레덴셜 테이블의 형태로 저장할 수 있다.
한편 S108 단계 내지 S112 단계는 S107 단계에서 수신한 사용자 데이터에 서드파티 앱 1(311)의 사용자 인증 정보가 있는 경우 생략될 수 있다.
이하에서는, 클라우드 서버(100)에 접근 권한이 있는 사용자가 인쇄 작업을 요청하고, 인쇄 작업이 미완료된 경우 클라우드 서버(100)가 미완료 작업 정보를 저장하여 관리하는 방법에 대해 설명한다.
도 4는 본 발명의 한 실시예에 따른 클라우드 서버가 미완료 작업 정보를 저장하는 동작을 나타낸 순서도이다.
도 4를 참고하면, 디바이스a(300a)는 사용자로부터 서드파티 앱 1(311)에서 실행된 문서의 인쇄 작업 요청을 수신한다(S201).
디바이스a(300a)는 액세스 토큰을 이용하여 서드파티 앱 1(311)의 문서 다운로드 정보를 확인한다(S202). 문서 다운로드 정보란, 사용자 인증 정보 없이도 문서를 다운로드할 수 있는 URL(Uniform Resource Locator)이거나, 액세스 토큰 등의 사용자 인증 정보를 이용하여 해당 문서를 다운로드할 수 있는 문서의 이름, 파일 경로 등의 문서 식별정보를 의미한다.
한 예로서, 서드파티 앱 2(312)가 서드파티 앱 1(311)에서 실행된 문서에 곧바로 접근하여 인쇄할 수 없으므로, 서드파티 앱 2(312)는 해당 문서를 다운로드하기 위해 액세스 토큰과 문서 식별정보를 이용하여, 서드파티 앱 1(311)의 서버에 문서 다운로드 API를 호출할 수 있다.
다른 예로서, 서드파티 앱 1(311)에서 실행된 미완료 작업 문서를 직접 다운로드할 수 있는 URL이 있는 경우라면 서드파티 앱 1(311)의 사용자 인증 정보가 없는 경우에도 문서를 다운로드할 수 있다.
디바이스a(300a)는 서드파티 서버 1(210)로 문서를 다운로드 요청하고, 제공받는다(S203, S204).
디바이스a(300a)는 문서의 인쇄 작업을 진행하며, 오류로 인해 문서의 인쇄가 정상적으로 완료되지 않고 종료될 수 있다(S205).
디바이스a(300a)는 사용자 식별정보, 문서가 포함된 서드파티 앱 1(311) 정보와 인쇄를 요청한 문서 정보를 포함하는 미완료 작업 정보를 클라우드 서버(100)로 전송한다(S206). 이때 디바이스a(300a)가 전송하는 미완료 작업 정보는 서드파티 앱 1(311) 정보, 인쇄를 요청한 문서의 정보, 해당 문서를 다운로드하기 위한 다운로드 URL 또는 서드파티 API, 작업이 미완료된 원인, 디바이스a(300a)의 상태 등을 포함하며, 표 3과 같은 형식일 수 있다.
항목 | 내용 |
서드파티 앱 정보 | 인쇄를 시도한 서드파티 앱 정보 |
문서 다운로드 정보 | 액세스 토큰 없이도 문서를 다운로드할 수 있는 URL 또는, 액세스 토큰으로 해당 문서를 다운로드할 수 있는 문서 식별정보를 포함한 서드파티 API |
작업 상태 | 작업의 완료 여부, 총 페이지, 인쇄된 페이지, 인쇄 옵션 등 |
디바이스 상태 | 디바이스 상태, 인쇄를 완료하지 못한 조건 |
사용자 미완료 작업 확인 상태 | 디바이스에 해당 앱이 설치되지 않아 앱 설치가 필요한 경우, 사용자의 앱 설치 확인 여부 |
한편 표 3에서 사용자 미완료 작업 확인 상태는 디바이스a(300a)에 작업에 필요한 서드파티 앱 1(311)이 설치되지 않은 경우, 사용자로부터 앱을 설치하도록 확인받은 상태를 의미하며, 자세한 내용은 도 11을 통해 설명한다.
미완료 작업 정보의 한 예로서, 서드파티 앱 1(311)이 HP for Dropbox인 경우, 표 3은 표 4와 같을 수 있다.
항목 | 내용 |
서드파티 앱 정보 | Name: HP for Dropbox Package name: com.hp.print.horizontalconnector.dropbox |
문서 정보 | Filename: 0809homework.pdf File path: /Homework/math/0809homework.pdf |
문서 다운로드 서드파티 API | API: https://content.dropboxapi.com/2/files/download Example: curl -X POST https://content.dropboxapi.com/2/files/download\ --header "Authorization: Bearer " \ --header "Dropbox-API-Arg: { \"path \": \"/Homework/math/0809homework.pdf \"}" |
작업 상태 | 작업 상태: canceled with error 인쇄된 페이지: 2장 총 페이지: 5장 인쇄 옵션: Color, 2 copies, A4, Plain |
디바이스 상태 | 토너 없음 |
다시 도 4로 돌아가서, 클라우드 서버(100)는 저장된 사용자 데이터에 디바이스a(300a)로부터 수신한 미완료 작업 정보를 저장한다(S207). 한 예로서, user1@hp.com이라는 아이디를 갖는 사용자 식별정보에 매핑된 사용자 데이터에 표 3의 미완료 작업 정보를 추가할 수 있다.
한편 디바이스a(300a)에서 인쇄 작업이 완료되지 않은 경우, 사용자는 다시 인쇄 작업을 하기 위해 다른 디바이스로 이동할 수 있다. 이하에서는, 사용자가 디바이스b(300b)로 이동한 이후에 대해 설명한다.
도 5는 본 발명의 한 실시예에 따른 디바이스가 미완료 작업을 재개하는 동작을 나타낸 순서도이고, 도 6은 본 발명의 한 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 5를 참고하면, 사용자가 디바이스b(300b)로 이동하고, 디바이스b(300b)는 입력받은 사용자 식별정보를 클라우드 인증 서버(400)로 전송한다(S301). 인증에 관한 자세한 설명은 생략한다.
인증이 성공하면, 디바이스b(300b)는 클라우드 서버(100)로부터 사용자의 미완료 작업 정보를 수신한다(S302). 미완료 작업 정보는 도 4의 S207 단계에서 저장한 정보를 의미할 수 있다. 그리고, 디바이스b(300b)는 미완료 작업과 함께 도 2의 S112 단계에서 저장된 사용자 데이터를 함께 수신할 수 있다.
한편 디바이스b(300b)는 미완료 작업 문서가 있음을 사용자에게 알리고, 작업에 대한 진행 여부를 확인받을 수 있다. 한 예로서 디바이스b(300b)는 도 6과 같은 팝업창을 표시할 수 있다.
디바이스b(300b)는 사용자 데이터에 포함된 서드파티 앱 1(311)의 사용자 인증 정보로, 미완료 작업 정보에 포함된 서드파티 앱 1(311)의 문서 다운로드 API를 호출하고, 서드파티 서버 1(210)에서 미완료된 문서를 다운로드한다(S303). 한 예로서, 사용자 인증 정보는 서드파티 앱 1(311)의 액세스 토큰일 수 있다. 한편 표 3의 사용자 데이터에, 미완료 작업 문서를 직접 다운로드할 수 있는 URL이 포함된 경우 문서 다운로드 API를 호출하지 않고 문서를 다운로드 할 수 있다.
디바이스b(300b)는 다운로드한 미완료 문서의 인쇄 작업을 다시 진행한다(S304). 한 예로서, 디바이스b(300b)의 서드파티 앱 1(311)이 SDK 모듈에 인쇄 작업을 요청할 수 있다. 한편, 인쇄 작업이 정상 종료된 경우, 클라우드 서버(100)는 저장된 해당 미완료 작업 정보를 삭제할 수 있다.
이하에서는, 디바이스a(300a)에서 서드파티 앱 1(311)에서 실행된 문서의 인쇄 작업이 미완료된 후, 사용자가 디바이스b(300b)로 이동하여 클라우드 서버(100)에 접근 권한을 획득하고, 서드파티 앱 1(311) 또는 서드파티 앱 2(312)를 실행하는 경우에 대해, 디바이스b(300b)에서 사용자의 행위에 따라 실시예를 나누어 설명한다.
도 7은 본 발명의 다른 실시예에 따른 미완료 인쇄 작업을 재개하는 동작을 나타낸 순서도이고, 도 8은 본 발명의 다른 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 7을 참고하면, 클라우드 서버(100)는 사용자 데이터를 관리한다(S401). 한 예로서, 사용자 데이터는 사용자가 설정한 서드파티 앱의 설정 정보와 디바이스a(300a)에서 수신한 미완료 작업 정보를 포함할 수 있다.
디바이스b(300b)는 서드파티 앱 1(311)을 실행한다(S402).
디바이스b(300b)는 클라우드 서버(100)에 사용자 식별정보를 전송하고, 사용자 식별정보에 해당하는 사용자 데이터를 요청한다(S403). 이때, 디바이스b(300b)는 서드파티 앱 1(311)을 통해 요청할 수 있다.
클라우드 서버(100)는 S401 단계에서 관리중인 사용자 데이터 중 수신한 사용자 식별정보와 매핑된 사용자 데이터를 확인하고 디바이스b(300b)로 전송한다(S404, S405). 한 예로서, 사용자 데이터는 서드파티 앱 1(311)의 액세스 토큰을 포함하는 크레덴셜 테이블을 포함할 수 있다. 또한 서드파티 앱 1(311)에서 실행된 문서의 인쇄 작업에 대한 미완료 작업 정보를 포함할 수 있다.
디바이스b(300b)는 수신한 사용자 데이터에 미완료 작업 정보가 있음을 확인하고, 실행중인 서드파티 앱 1(311)에 미완료 작업 문서에 대한 내용을 알림창으로 출력한다(S406). 한 예로서, 디바이스b(300b)는 도 8과 같은 팝업창을 표시할 수 있다. 도 8을 참고하면, 현재 디바이스b(300b)에서 실행중인 서드파티 앱 1(311)은 HP for Dropbox이고, 작업이 완료되지 않은 문서 역시 HP for Dropbox 에 포함된 것이다.
디바이스b(300b)는 사용자로부터 미완료 작업 문서의 재작업 요청을 수신한다(S407).
디바이스b(300b)는 서드파티 앱 1(311)의 접속 정보를 이용하여 문서 다운로드 API를 호출하고, 서드파티 서버 1(210)에서 미완료 작업 문서를 다운로드한다(S408, S409). 접속 정보란 사용자 인증 정보, 상기 문서의 다운로드 API(Application Programming Interface) 및 상기 문서의 식별정보를 포함하는 정보로서, 서드파티 앱 1(311)의 문서를 다운로드 받기 위해 필요한 정보를 의미한다.
한편 S405 단계에서 수신한 사용자 데이터에, 미완료 작업 문서를 직접 다운로드할 수 있는 URL이 포함된 경우는 서드파티 앱 1(311)의 문서 다운로드 API를 호출하지 않고 문서를 다운로드 할 수 있다. 한 예로서, API를 호출할 때 사용자 인증 정보에 포함된 액세스 토큰을 이용할 수 있다.
미완료 작업 문서를 수신한 디바이스b(300b)는 해당 문서의 인쇄 작업을 진행한다(S410). 한 예로서, 디바이스b(300b)의 서드파티 앱 1(311)은 SDK 모듈에 인쇄 작업을 요청할 수 있다. 그리고 작업을 정상적으로 완료한 이후 클라우드 서버(100)는 저장된 미완료 작업 정보를 삭제할 수 있다.
도 9는 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업을 재개하는 동작을 나타낸 순서도이고, 도 10은 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 9를 참고하면, 클라우드 서버(100)는 미완료 작업 정보와 서드파티 앱의 설정 정보를 포함한 사용자 데이터를 관리한다(S501). 한 예로서, 사용자 데이터, 서드파티 앱의 설정 정보, 미완료 작업 정보는 디바이스a(300a)의 서드파티 앱 2(312)에서 수신한 정보일 수 있다.
디바이스b(300b)는 서드파티 앱 1(311)을 실행한다(S502).
서드파티 앱 1(311)은 클라우드 서버(100)에 사용자 식별정보를 전송하고, 서드파티 앱의 설정 정보가 포함된 사용자 데이터를 요청한다(S503).
클라우드 서버(100)는 S501 단계에서 관리중인 사용자 데이터 중 수신한 사용자 식별정보와 매핑된 사용자 데이터를 확인하고 디바이스b(300b)로 전송한다(S504, S505). 한 예로서, 사용자 데이터는 서드파티 앱 1(311)의 액세스 토큰이 포함된 크레덴셜 테이블을 포함할 수 있다. 한 예로서, 사용자 데이터는 서드파티 앱 2(312)에서 실행된 문서의 인쇄 작업의 미완료 작업 정보를 포함할 수 있다.
이후 서드파티 앱 1(311)은 서드파티 앱 2(312)에 포함된 미완료 작업 문서를 다운로드하기 위해, S505 단계에서 수신한 사용자 데이터에 포함된 크레덴셜 테이블에 서드파티 앱 2(312)의 액세스 토큰이 있는지 확인한다(S506). 한편 액세스 토큰을 예로 들어 설명하나, 다른 형태의 사용자 인증 정보가 있는지 확인할 수 있다.
S507 단계에서 사용자 데이터에 서드파티 앱 2(312)의 액세스 토큰이 없다면, 서드파티 앱 1(311)은 사용자에게 미완료 작업 문서가 있음을 알리고, 해당 문서를 다시 작업하려면 서드파티 서버 2(220)에 로그인해야 함을 알린다(S508). 한 예로서, 디바이스b(300b)는 도 10의 (a)와 같은 팝업창을 표시할 수 있다. 도 10의 (a)를 참고하면, 현재 디바이스b(300b)에서 실행중인 서드파티 앱 1(311)은 HP for Clio이고, 작업이 완료되지 않은 문서는 서드파티 앱 2(312)인 HP for Dropbox에 포함된 것이다.
서드파티 앱 1(311)은 사용자로부터 재작업 요청을 수신한다(S509).
서드파티 앱 1(311)은 서드파티 앱 2(312)를 실행한다(S510).
서드파티 앱 2(312)은 사용자로부터 서드파티 서버 2(220)의 로그인 정보를 수신하여 로그인하고, 서드파티 앱 2(312)의 액세스 토큰을 수신한다(S511, S512). 한편 서드파티 앱 2(312)은 액세스 토큰을 클라우드 서버(100)에 전송할 수 있다.
이후 실행된 서드파티 앱 2(312)는 사용자 인증 정보를 이용하여 문서 다운로드 API를 호출하여, 서드파티 서버 2(220)에서 미완료된 작업 문서를 다운로드하여 제공받는다(S513, S514). 한 예로서, API를 호출할 때 사용자 인증 정보에 포함된 액세스 토큰을 이용할 수 있다.
한편 S505 단계에서 수신한 사용자 데이터에 미완료 작업 문서를 직접 다운로드할 수 있는 URL이 포함된 경우, 서드파티 앱 2(312)의 액세스 토큰을 획득하는 과정인 S508 내지 S512 단계를 생략하고, URL로부터 곧바로 문서를 다운로드 할 수 있다.
서드파티 앱 2(312)는 해당 문서의 인쇄 작업을 진행한다(S515). 한 예로서, 서드파티 앱 2(312)는 SDK 모듈에 인쇄 작업을 요청할 수 있다. 그리고 작업을 완료한 이후 클라우드 서버(100)는 저장된 미완료 작업 정보를 삭제할 수 있다.
한편, 사용자 데이터에 서드파티 앱 2(312)의 액세스 토큰이 포함되어 있는 경우, 해당 액세스 토큰을 이용하여 서드파티 서버 2(220)에 접근 가능하므로, 사용자는 다시 서드파티 서버 2(220)에 로그인 할 필요가 없다. 이러한 기능을 sign in once라고 호칭할 수 있고, sign in once를 이용하여 도 9의 P11 단계를 생략할 수 있다.
S507 단계에서 사용자 데이터에 서드파티 앱 2(312)의 액세스 토큰이 있다면, 서드파티 앱 1(311)은 미완료 작업 문서가 있음을 알리는 알림창을 출력한다(S516). 한 예로서, 도 10의 (b)와 같은 팝업창을 표시할 수 있다. 도 10의 (b)를 참고하면, 현재 디바이스b(300b)에서 실행중인 서드파티 앱 1(311)은 HP for Clio이고, 작업이 완료되지 않은 문서는 서드파티 앱 2(312)인 HP for Dropbox에 포함된 것이다.
서드파티 앱 1(311)은 사용자로부터 해당 문서의 재작업 요청을 수신한다(S517).
sign in once 기능에 의해, 서드파티 앱 1(311)은 사용자 데이터에 포함된 서드파티 앱 2(312)의 사용자 인증 정보를 이용하여 서드파티 앱 2(312)의 문서 다운로드 API를 호출하고, 미완료 작업 문서를 다운로드하여 제공받는다(S518, S519).
이후 서드파티 앱 1(311)은 해당 문서의 인쇄 작업을 진행한다(S520). 한 예로서, 서드파티 앱 1(311)은 SDK 모듈에 인쇄 작업을 요청할 수 있다. 그리고 작업을 완료한 이후 클라우드 서버(100)는 저장된 미완료 작업 정보를 삭제할 수 있다.
이하에서는, 디바이스b(300b)에 서드파티 앱 2(312)가 설치되지 않은 상태이고, 사용자 데이터에 서드파티 앱 2(312)의 액세스 토큰 등의 사용자 인증 정보가 없는 경우에 대해 설명한다.
도 11은 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업을 재개하는 동작을 나타낸 순서도이고, 도 12는 본 발명의 또 다른 실시예에 따른 미완료 인쇄 작업의 알림창의 예시이다.
도 11을 참고하면, 클라우드 서버(100)는 미완료 작업 정보, 서드파티 앱 설정 정보를 포함한 사용자 데이터를 관리한다(S601). 한 예로서, 미완료 작업 정보는 디바이스a(300a)의 서드파티 앱 2(312)에서 수신한 정보일 수 있다.
디바이스b(300b)는 서드파티 앱 1(311)을 실행한다(S602).
서드파티 앱 1(311)은 클라우드 서버(100)에 사용자 식별정보를 전송하고, 서드파티 앱의 설정 정보가 포함된 사용자 데이터를 요청한다(S603).
클라우드 서버(100)는 S601 단계에서 관리중인 사용자 데이터 중 수신한 사용자 식별정보와 매핑된 사용자 데이터를 확인하고 디바이스b(300b)로 전송한다(S604, S605). 한 예로서, 사용자 데이터는 서드파티 앱 1(311)의 액세스 토큰이 포함된 크레덴셜 테이블을 포함할 수 있다. 한 예로서, 사용자 데이터는 서드파티 앱 2(312)에서 실행된 문서의 인쇄 작업이 미완료된 내용인 미완료 작업 정보를 포함할 수 있다.
서드파티 앱 1(311)은 사용자에게 서드파티 앱 2(312)에 미완료 작업 문서가 있음을 알리고, 현재 디바이스b(300b)에 서드파티 앱 2(312)가 설치되지 않았으므로 설치 여부를 확인받는다(S606). 한 예로서, 도 12와 같은 팝업창을 표시할 수 있다.
도 12를 참고하면, 현재 디바이스b(300b)에서 실행중인 서드파티 앱 1(311)은 HP for Clio이고, 작업이 완료되지 않은 문서는 서드파티 앱 2(312)인 HP for Dropbox에 포함된 것이고 클라우드 서버(100)에서 수신한 사용자 데이터에 HP for Dropbox의 크레덴셜 테이블이 없고, 디바이스b(300b)에는 HP for Dropbox가 설치되지 않은 상태이다.
서드파티 앱 1(311)은 사용자로부터 미완료 작업 문서의 재작업과 서드파티 앱 2(312)의 설치 요청을 수신한다(S607).
서드파티 앱 1(311)은 클라우드 서버(100)에 사용자가 설치를 확인했다는 미완료 작업 확인 상태를 저장한다(S608). 한 예로서, 클라우드 서버(100)는 S601 단계에서 관리 중인 사용자 데이터에 사용자의 미완료 작업 확인 상태를 저장할 수 있다.
서드파티 앱 2(312)의 설치가 필요하면 앱 센터로부터 디바이스b(300b)에 서드파티 앱 2(312)를 다운로드하여 설치하고, 설치된 서드파티 앱 2(312)를 실행한다(S609). 앱 센터는 서드파티 앱들을 다운로드 할 수 있는 서버를 의미할 수 있다.
서드파티 앱 2(312)는 클라우드 서버(100)에 사용자 식별정보를 전송하고, 사용자 데이터와 미완료 작업 정보를 요청한다(S610).
클라우드 서버(100)는 수신한 사용자 식별정보와 매핑된 사용자 데이터와 미완료 작업 정보를 확인하고 디바이스b(300b)로 전송한다(S611, S612). 한편 S611 단계의 사용자 데이터는 S608 단계의 사용자의 미완료 작업 확인 상태를 포함할 수 있다.
이후, 서드파티 앱 2(312)는 사용자에게 로그인을 요청하여 서드파티 서버 2(220)에 로그인하고, 서드파티 앱 2(312)의 액세스 토큰을 수신한다(S613, S614). 한편 서드파티 앱 2(312)는 수신한 액세스 토큰을 클라우드 서버(100)에 전송할 수 있다.
이후 서드파티 앱 2(312)는 사용자 인증 정보를 이용하여 문서 다운로드 API를 호출하여, 서드파티 서버 2(220)에서 미완료된 작업 문서를 다운로드하여 제공받는다(S615, S616). 한 예로서, API를 호출할 때 사용자 인증 정보에 포함된 액세스 토큰을 이용할 수 있다
서드파티 앱 2(312)는 해당 문서의 인쇄 작업을 진행한다(S617). 한 예로서, 서드파티 앱 2(312)는 작업 관리 소프트웨어(320)에 인쇄 작업을 요청할 수 있다. 그리고 작업을 완료한 이후 클라우드 서버(100)는 저장된 미완료 작업 정보를 삭제할 수 있다.
도 13은 본 발명의 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
도 13을 참고하면, 도 1 내지 도 12에서 설명한 클라우드 서버(100), 서드파티 서버들(210, 220, 230)은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(500)에서 본 발명의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 프로그램을 실행할 수 있다. 컴퓨팅 장치(500)로 구현된 클라우드 서버(100), 디바이스들(300a, 300b)은 해당 기기의 기능을 수행하도록 구현된 하드웨어 및 소프트웨어를 탑재할 수 있다.
컴퓨팅 장치(500)의 하드웨어는 적어도 하나의 프로세서(510), 메모리(520), 스토리지(530), 통신 인터페이스(540)를 포함할 수 있고, 버스(550)를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등의 하드웨어가 포함될 수 있다.
컴퓨팅 장치(500)는 프로그램을 구동할 수 있는 운영 체제, 펌웨어를 비롯한 각종 소프트웨어가 탑재될 수 있다.
프로세서(510)는 컴퓨팅 장치(500)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 메모리(520)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서에 의해 처리되도록 해당 프로그램을 로드할 수 있다. 메모리(520)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 스토리지(530)는 본 발명의 동작을 실행하는데 요구되는 각종 데이터, 프로그램 등을 저장할 수 있다. 통신 인터페이스(540)는 유/무선 통신 모듈일 수 있다.
본 발명의 실시예에 따르면, 디바이스 오류로 인해 작업이 미완료된 경우, 사용자가 다른 디바이스에 가서 재작업을 위해 동일한 절차를 반복하는 불편함을 줄일 수 있다. 클라우드 서버가 디바이스 오류로 인해 정상 완료되지 않은 인쇄 작업의 상태와 문서의 정보를 저장하여 관리하므로, 모든 디바이스에서 미완료 작업 정보를 공유할 수 있고, 사용자에게 해당 정보를 화면에 팝업을 띄워 인쇄 재개를 쉽게 할 수 있는 효과가 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
Claims (15)
- 적어도 하나의 프로세서에 의해 동작하는 서버 장치의 동작 방법으로서,
제1 디바이스로부터, 사용자 식별정보에 의해 요청된 작업이 정상 완료되지 않은 미완료 작업 정보를 수신하는 단계,
상기 미완료 작업 정보를 상기 사용자 식별정보의 사용자 데이터에 저장하는 단계,
제2 디바이스에서 로그인된 상기 사용자 식별정보를 수신하는 단계, 그리고
상기 사용자 데이터에 저장된 상기 미완료 작업 정보를 상기 제2 디바이스로 제공하는 단계
를 포함하는, 동작 방법. - 제1항에서,
상기 미완료 작업 정보는,
상기 작업이 미완료된 문서를 제공하는 어플리케이션 정보, 상기 문서의 다운로드 URL, 상기 문서의 다운로드 API(Application Programming Interface), 상기 문서의 식별정보, 상기 작업이 완료되지 않은 원인, 그리고 상기 제1 디바이스의 상태 중 적어도 하나를 포함하는, 동작 방법. - 제2항에서,
상기 제2 디바이스로부터, 상기 작업이 미완료된 문서의 작업을 위해 사용된 서드파티 앱의 사용자 인증 정보를 수신하는 단계, 그리고
상기 사용자 인증 정보를 상기 사용자 데이터에 저장하는 단계
를 더 포함하고,
상기 사용자 인증정보는 상기 사용자 식별정보가 로그인된 제3 디바이스로 제공되는, 동작 방법. - 제1항에서,
상기 제2 디바이스로부터 상기 미완료 작업 정보의 완료 정보를 수신하는 단계, 그리고
상기 미완료 작업 정보를 삭제하는 단계
를 더 포함하는, 동작 방법. - 컴퓨터 실행가능 명령어를 저장하는 메모리; 및
상기 컴퓨터 실행가능 명령어를 실행함으로써, 제1 사용자 식별정보로 로그인된 상태에서, 서드파티 앱에서 선택된 문서의 작업 요청을 수신하고, 상기 작업의 완료 여부를 확인하며, 상기 작업이 정상 완료되지 않은 경우, 상기 문서의 정보와 상기 서드파티 앱의 정보를 포함하는 제1 미완료 작업 정보를 클라우드 서버로 전송하는 프로세서; 를 포함하고,
상기 제1 미완료 작업 정보는 상기 제1 사용자 식별정보의 사용자 데이터에 저장되는 컴퓨팅 장치. - 제5항에서,
상기 제1 미완료 작업 정보는,
상기 문서의 다운로드 URL, 상기 문서의 다운로드 API(Application Programming Interface), 상기 문서의 식별정보, 상기 작업이 완료되지 않은 원인, 그리고 상기 컴퓨팅 장치의 상태 중 적어도 하나를 더 포함하는, 컴퓨팅 장치. - 제5항에서,
상기 프로세서는,
상기 클라우드 서버로부터 수신한 상기 서드파티 앱의 사용자 인증 정보 또는 상기 서드파티 앱의 서버로부터 인증된 사용자 인증 정보를 이용하여, 상기 서드파티 앱에서 제공되는 상기 문서의 정보를 화면에 표시하며, 상기 문서의 작업 요청을 수신하는, 컴퓨팅 장치. - 제7항에서,
상기 프로세서는,
상기 서드파티 앱의 서버로부터 인증된 사용자 인증 정보를 상기 클라우드 서버로 전송하고,
상기 사용자 인증 정보는 상기 제1 사용자 식별정보의 사용자 데이터에 저장되는, 컴퓨팅 장치. - 제5항에서,
상기 프로세서는,
제2 사용자 식별정보를 입력받으면, 상기 제2 사용자 식별정보를 상기 클라우드 서버로 전송하고, 상기 클라우드 서버로부터 상기 제2 사용자 식별정보의 사용자 데이터에 저장된 제2 미완료 작업 정보를 수신하는 하고, 상기 제2 미완료 작업 정보의 재작업을 요청받는 경우, 상기 제2 미완료 작업 정보를 이용하여 미완료 작업된 문서를 다운로드한 후, 다운로드한 문서의 작업을 재개하는, 컴퓨팅 장치. - 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치의 동작 방법으로서,
사용자 식별정보를 클라우드 서버에 전송하는 단계,
상기 클라우드 서버로부터 미완료 작업 정보를 포함하는 사용자 데이터를 수신하는 단계,
상기 미완료 작업 정보를 화면에 출력하는 단계,
미완료 작업된 문서의 재작업을 요청받는 단계,
상기 미완료 작업 정보에 포함된 상기 문서의 다운로드 정보를 이용하여 상기 문서를 다운로드하는 단계, 그리고
상기 문서의 작업을 재개하는 단계
를 포함하는, 동작 방법. - 제10항에서,
상기 문서를 다운로드하는 단계는,
상기 문서를 제공하는 서드파티 앱의 접속 정보를 이용하거나 상기 문서의 다운로드 URL을 이용하여 상기 문서를 다운로드하고,
상기 접속 정보는 상기 서드파티 앱의 접속에 요구되는 사용자 인증 정보를 포함하고, 상기 사용자 인증 정보는 상기 클라우드 서버로부터 수신하거나, 사용자 입력 정보에 대해 상기 서드파티 앱의 서버에서 인증된 정보인, 동작 방법. - 제11항에서,
상기 서드파티 앱의 서버에서 인증된 사용자 인증 정보를 상기 클라우드 서버로 전송하는 단계를 더 포함하고,
상기 서드파티 앱의 서버에서 인증된 사용자 인증 정보는 상기 사용자 식별정보의 사용자 데이터에 저장되는, 동작 방법. - 제10항에서,
상기 미완료 작업 정보를 화면에 출력하는 단계는,
상기 미완료 작업 정보에 포함된 문서를 제공하는 제1 서드파티 앱이 실행된 상태에서 상기 미완료 작업 정보를 표시하거나,
상기 제1 서드파티 앱과 다른 제2 서드파티 앱이 실행된 상태에서 상기 미완료 작업 정보를 표시하거나,
서드파티 앱들을 실행하기 전에 상기 미완료 작업 정보를 표시하는, 동작 방법. - 제10항에서,
상기 문서를 다운로드하는 단계는,
상기 미완료 작업 정보를 기초로 상기 문서를 제공하는 서드파티 앱을 확인하고, 상기 서드파티 앱이 설치되지 않은 경우, 상기 서드파티 앱을 설치하고 상기 서드파티 앱의 서버에 로그인하여 상기 문서를 다운로드하는, 동작 방법. - 제10항에서,
상기 문서의 재작업이 정상 완료된 경우, 상기 미완료 작업 정보의 삭제를 위해 상기 클라우드 서버로 정상 완료 정보를 전송하는 단계
를 더 포함하는, 동작 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190166763A KR20210075548A (ko) | 2019-12-13 | 2019-12-13 | 클라우드 서버를 통한 디바이스의 미완료 작업 관리 |
US17/606,940 US11733947B2 (en) | 2019-12-13 | 2020-05-20 | Managing unresolved jobs of devices with cloud server |
PCT/US2020/033737 WO2021118632A1 (en) | 2019-12-13 | 2020-05-20 | Managing unresolved jobs of devices with cloud server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190166763A KR20210075548A (ko) | 2019-12-13 | 2019-12-13 | 클라우드 서버를 통한 디바이스의 미완료 작업 관리 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210075548A true KR20210075548A (ko) | 2021-06-23 |
Family
ID=76330708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190166763A Pending KR20210075548A (ko) | 2019-12-13 | 2019-12-13 | 클라우드 서버를 통한 디바이스의 미완료 작업 관리 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11733947B2 (ko) |
KR (1) | KR20210075548A (ko) |
WO (1) | WO2021118632A1 (ko) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPQ439299A0 (en) * | 1999-12-01 | 1999-12-23 | Silverbrook Research Pty Ltd | Interface system |
US20090033992A1 (en) * | 2007-07-30 | 2009-02-05 | Kabushiki Kaisha Toshiba | Printing apparatus, printing method, and printing system |
US8953192B2 (en) * | 2011-10-17 | 2015-02-10 | Google Inc. | Roving printing in a cloud-based print service using a mobile device |
EP2754064A4 (en) | 2011-10-17 | 2015-07-15 | Google Inc | TRAVELING PRINTING IN A CLOUD PRINT SERVICE |
JP6210838B2 (ja) * | 2013-10-25 | 2017-10-11 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
JP6390123B2 (ja) | 2014-03-11 | 2018-09-19 | 株式会社リコー | 情報処理システム及び認証情報提供方法 |
KR20160095904A (ko) * | 2015-02-04 | 2016-08-12 | 삼성전자주식회사 | 클라우드 프린트 서버 및 클라우드 프린트 서버에서 자동화 연동 서비스를 제공하는 방법 |
JP6489314B2 (ja) | 2015-06-10 | 2019-03-27 | コニカミノルタ株式会社 | 画像形成装置 |
EP3182272A1 (en) * | 2015-12-15 | 2017-06-21 | Ricoh Company, Ltd. | Service providing system, information processing method, nontransitory recording medium, and program |
JP2017173932A (ja) | 2016-03-18 | 2017-09-28 | 株式会社リコー | 印刷制御システム、印刷制御方法、情報処理装置、及びプログラム |
JP6540642B2 (ja) | 2016-09-21 | 2019-07-10 | 京セラドキュメントソリューションズ株式会社 | 認証システムおよび認証方法 |
JP2018089797A (ja) | 2016-11-30 | 2018-06-14 | 株式会社沖データ | 画像形成装置及び画像形成システム |
-
2019
- 2019-12-13 KR KR1020190166763A patent/KR20210075548A/ko active Pending
-
2020
- 2020-05-20 US US17/606,940 patent/US11733947B2/en active Active
- 2020-05-20 WO PCT/US2020/033737 patent/WO2021118632A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021118632A1 (en) | 2021-06-17 |
US20220206728A1 (en) | 2022-06-30 |
US11733947B2 (en) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9164710B2 (en) | Service providing system and service providing method | |
US8988693B2 (en) | Information processing system, information processing apparatus, information processing method, and information processing program | |
US10075444B2 (en) | Information processing system, user terminal, and data processing device | |
US10200370B2 (en) | Apparatus, system, and method for authorizing a service | |
US9692927B2 (en) | Device, information processing system, and information processing method | |
US10795619B2 (en) | Non-transitory computer-readable recording medium storing computer-executable instructions for information processing device, and method of controlling information processing device | |
US9876918B2 (en) | Information processing system for generating job execution screen, electronic apparatus, and program | |
US11222109B2 (en) | Computer-readable medium and information processing device for reducing troublesome operations for authenticated access to cloud server | |
US9723161B2 (en) | Apparatus, information processing system, information processing method, and information processing program for changing or providing functional capabilities in an apparatus | |
JP2018191046A (ja) | 電子機器及び設定プログラム | |
US9665727B2 (en) | Information processing system, method of processing information, program, and recording medium | |
US10178275B2 (en) | Information processing system, apparatus, and information processing method | |
US10148768B2 (en) | Information processing apparatus and recording medium | |
US10063745B2 (en) | Information processing system, information processing apparatus, and information processing method | |
US10587765B2 (en) | Image forming apparatus, communication system, and program | |
US11036819B2 (en) | Information processing apparatus, method for controlling the same, and storage medium | |
US11546314B2 (en) | Computer-readable medium, information processing device, and method for providing better accessibility to cloud server | |
WO2022046165A1 (en) | Application login using token transmitted from mobile device | |
US9826123B2 (en) | Information processing system, information processing method, and recording medium for facilitating association among information items that are related to the same data | |
KR20210075548A (ko) | 클라우드 서버를 통한 디바이스의 미완료 작업 관리 | |
US9584678B2 (en) | Image data storing device, method of storing image data and non-transitory computer readable medium storing program | |
US20130258406A1 (en) | User terminal apparatus, method of controlling user terminal apparatus, image forming apparatus, and method of controlling image forming apparatus | |
US10019210B2 (en) | Print system that reduces transmission failure of instruction execution type print job and recording medium | |
EP3296858A1 (en) | Information processing apparatus, information processing method, and carrier means | |
US12132877B2 (en) | Web browsing system, communication terminal, image generation server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20191213 |
|
PG1501 | Laying open of application |