KR20140047493A - 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법 및 이를 수행하는 컴퓨팅 장치 - Google Patents

애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법 및 이를 수행하는 컴퓨팅 장치 Download PDF

Info

Publication number
KR20140047493A
KR20140047493A KR1020130008211A KR20130008211A KR20140047493A KR 20140047493 A KR20140047493 A KR 20140047493A KR 1020130008211 A KR1020130008211 A KR 1020130008211A KR 20130008211 A KR20130008211 A KR 20130008211A KR 20140047493 A KR20140047493 A KR 20140047493A
Authority
KR
South Korea
Prior art keywords
content
application
print
window
printing
Prior art date
Application number
KR1020130008211A
Other languages
English (en)
Inventor
박정진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US13/968,649 priority Critical patent/US10474406B2/en
Priority to PCT/KR2013/008581 priority patent/WO2014058164A1/en
Priority to EP13186025.6A priority patent/EP2720137A3/en
Publication of KR20140047493A publication Critical patent/KR20140047493A/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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

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)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

운영체제에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법 및 이를 수행하는 컴퓨팅 장치는, 소스 애플리케이션에서 사용 중인 컨텐츠의 공유를 위하여 요청된 공유 액션에 따라 컴패니언 윈도우를 활성화하여 인쇄 애플리케이션을 실행하고, 활성화된 컴패니언 윈도우를 통해 인쇄 작업을 수행한다.

Description

애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법 및 이를 수행하는 컴퓨팅 장치{Method for printing content shared between applications and Computing apparatus for performing thereof}
사용자의 공유 액션에 의하여, 운영체제에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법 및 이를 수행하는 컴퓨팅 장치에 관한다.
개인용 컴퓨터(PC), 노트북 등의 전통적인 컴퓨팅 장치들과 함께, 최근에는 스마트폰, 태블릿(tablet) 디바이스 등과 같은 모바일 컴퓨팅 장치들이 다수 사용되고 있다. 이와 같은 컴퓨팅 장치에는, MS-DOS, Windows OS, LINUX, MAC OS(Macintosh OS), 안드로이드(Android) OS 또는 iOS 등과 같은 다양한 운영체제(OS)가 기본적으로 설치되어 있다.
사용자는 컴퓨팅 장치를 사용하면서 운영체제(OS)가 지원하는 다양한 종류의 컨텐츠들을 소비할 수 있다. 예를 들어, 사용자는 컴퓨팅 장치들을 이용하여, 이미지를 감상하거나, 문서를 편집하거나, 영화를 보거나, 음악을 감상하는 등의 다양한 컨텐츠를 사용할 수 있다. 이 때, 사용자는 사용하던 컨텐츠의 인쇄를 원하는 경우가 있을 수 있다. 사용자가 컴퓨팅 장치에서 사용 중인 컨텐츠의 인쇄를 요청한 경우, 대부분의 운영체제(OS)는 컴퓨팅 장치에 미리 설치된 프린터 드라이버를 실행시킴으로써, 사용 중인 컨텐츠를 인쇄할 수 있다.
하지만, 프린터 드라이버가 미리 설치되지 않은 경우 또는 인쇄하고자 하는 프린터에 호환되는 프린터 드라이버가 설치되지 않은 경우에는, 컴퓨팅 장치에서는 인쇄 작업을 수행할 수 없었다. 특히, 스마트폰, 태블릿 디바이스 등의 모바일 컴퓨팅 장치들에는, PC 또는 노트북에서 사용되던 프린터 드라이버가 설치되지 않은 경우가 대부분이므로, 사용자가 컨텐츠의 인쇄 작업을 쉽게 진행하기 어려운 실정이다.
애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법 및 이를 수행하는 컴퓨팅 장치를 제공하는데 있다. 또한, 이 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
일 측면에 따르면, 운영체제에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법은, 소스 애플리케이션에서 사용 중인 컨텐츠의 공유를 위하여 요청된 공유 액션에 따라, 인쇄 애플리케이션을 제공하는 컴패니언 윈도우를 활성화하는 단계; 상기 인쇄 애플리케이션으로 상기 컨텐츠가 공유되는 경우, 상기 활성화된 컴패니언 윈도우 상에서 상기 인쇄 애플리케이션을 실행하는 단계; 및 상기 활성화된 컴패니언 윈도우를 통해 상기 컨텐츠에 대한 인쇄 설정이 완료된 경우, 상기 실행된 인쇄 애플리케이션을 이용하여 상기 컨텐츠에 대한 인쇄 데이터를 생성하는 단계를 포함한다.
다른 일 측면에 따르면, 상기 운영체제에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또 다른 일 측면에 따르면, 운영체제에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 장치는, 소스 애플리케이션에서 사용 중인 컨텐츠의 공유를 위하여 요청된 공유 액션에 따라, 인쇄 애플리케이션을 제공하는 컴패니언 윈도우를 표시하는 표시부; 및 상기 인쇄 애플리케이션으로 상기 컨텐츠가 공유되는 경우 상기 표시된 컴패니언 윈도우 상에 상기 인쇄 애플리케이션을 실행하고, 상기 표시된 컴패니언 윈도우를 통해 상기 컨텐츠에 대한 인쇄 설정이 완료된 경우 상기 실행된 인쇄 애플리케이션을 이용하여 상기 컨텐츠에 대한 인쇄 데이터를 생성하는 처리부를 포함한다.
또 다른 일 측면에 따르면, 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 장치는, 운영체제, 소스 애플리케이션 및 인쇄 애플리케이션의 명령어들을 처리하는 처리부; 및 상기 운영체제, 상기 소스 애플리케이션 및 상기 인쇄 애플리케이션을 저장하는 저장부를 포함하고, 상기 소스 애플리케이션은, 소스 윈도우를 통해 사용자와 인터페이싱함으로써 컨텐츠를 사용하고, 상기 운영체제는, 상기 소스 애플리케이션에서 사용 중인 상기 컨텐츠의 공유를 위하여 요청된 공유 액션에 따라 상기 인쇄 애플리케이션을 제공하는 컴패니언 윈도우를 활성화하고, 상기 인쇄 애플리케이션은, 상기 공유 액션에 따라 상기 활성화된 컴패니언 윈도우상에서 실행되고, 상기 활성화된 컴패니언 윈도우를 통해 상기 컨텐츠에 대한 인쇄 설정이 완료된 경우 상기 컨텐츠에 대한 인쇄 데이터를 생성한다.
또 다른 일 측면에 따르면, 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 장치는, 소스 애플리케이션의 소스 윈도우 및 인쇄 애플리케이션의 컴패니언 윈도우를 표시하는 표시부; 및 상기 표시부를 제어하는 처리부를 포함하고, 상기 표시부는, 상기 소스 애플리케이션에서 사용 중인 컨텐츠에 대한 공유 액션이 요청된 경우 상기 인쇄 애플리케이션을 제공하는 상기 컴패니언 윈도우를 표시하고, 상기 컴패니언 윈도우는, 상기 인쇄 애플리케이션이 상기 컴패니언 윈도우상에서 실행된 경우 상기 컨텐츠의 프리뷰 및 상기 컨텐츠에 설정 가능한 인쇄 옵션들을 제공하는 사용자 인터페이스 화면을 포함한다.
상기된 바에 따르면, 스마트폰, 태블릿 디바이스, 노트북 또는 PC 등에서 Photo Viewer, MS Word 등과 같은 다양한 애플리케이션들을 사용하면서 동시에 인쇄 애플리케이션을 간편하게 실행시킬 수 있으므로, 사용자는 어떠한 애플리케이션을 사용하고 있던지 간에 애플리케이션에서 사용하던 컨텐츠를 즉시 인쇄할 수 있다.
또한, 사용자는 인쇄 작업을 수행한 후, 곧바로 자신이 사용하던 원래의 애플리케이션으로 돌아올 수 있기 때문에 다시 원래의 애플리케이션을 찾아 실행시켜야 하는 번거로움을 줄일 수 있다.
또한, 운영체제(OS)에 문서 편집 애플리케이션이 설치되어 있지 않더라도, 사용자는 웹스토리지 또는 웹상에 있는 문서의 프리뷰도 확인할 수 있고 인쇄도 수행할 수 있다.
나아가서, 이동성이 잦은 모바일 환경에서 사용자가 스마트폰, 태블릿 디바이스 등을 갖고 이동하면서 인쇄를 원할 경우, 주변의 프린터에 호환되는 프린터 드라이버를 설치하지 않더라도 즉시 프린터를 찾아 인쇄가 가능하므로, 사용자에게 컨텐츠의 인쇄에 관한 편리함을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 화상형성시스템을 도시한 도면이다.
도 2a는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 블록도를 도시한 도면이다.
도 2b는 본 발명의 다른 일 실시예에 따른 컴퓨팅 장치의 블록도를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 상세 블록도를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 운영체제(OS, 소스 애플리케이션 및 타겟 애플리케이션 사이의 동작들을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 운영체제(OS)의 중개에 의하여, 소스 애플리케이션 1(Photo Viewer) 및 타겟 애플리케이션 1(Printing Application) 사이에서 공유된 컨텐츠를 인쇄하는 과정을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른, 태블릿 디바이스의 사용자 인터페이스부에 표시된 소스 윈도우 및 사이드바를 도시한 도면이다.
도 7a는 본 발명의 일 실시예에 따른, 태블릿 디바이스의 사용자 인터페이스부에 표시된 사이드바 및 제 1 컴패니언 윈도우를 도시한 도면이다.
도 7b는 본 발명의 일 실시예에 따른, 태블릿 디바이스의 사용자 인터페이스부에 표시된 사이드바, 제 1 컴패니언 윈도우 및 제 2 컴패니언 윈도우를 도시한 도면이다.
도 8a 및 8b는 본 발명의 일 실시예에 따른, 태블릿 디바이스의 제 2 컴패니언 윈도우를 통해, 컨텐츠의 타입에 따라 서로 다른 인쇄 옵션들을 제공하는 인쇄 애플리케이션의 UI 화면을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른, 컴퓨팅 장치에서 애플리케이션들간에 공유된 컨텐츠를 인쇄하기 위한, 표시부 상에서 화면들의 전환 과정을 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른, 처리부의 상세 블록도를 도시한 도면이다.
도 11은 본 발명의 일 실시예에 따른, 운영체제(OS)에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법을 도시한 흐름도이다.
도 12은 본 발명의 일 실시예에 따른, 운영체제(OS)에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법의 상세 흐름도이다.
이하에서는 당해 기술분야의 통상의 기술자가 용이하게 실시할 수 있도록 본 실시예들을 상세히 설명한다. 그러나 본 실시예들은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 실시예들은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 이하에서 기술된 내용들은 이는 본 실시예들을 특정한 실시 형태로 한정하려는 것이 아니다. 즉, 본 실시예의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물은 본 실시예들에 포함하는 것으로 이해되어야 한다. 본 실시예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 실시예들의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
한편, 본 실시예들에서, 제 1, 제 2 또는 제 3 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들이 이와 같은 용어들에 의해 한정되는 것은 아니다. 즉, 이와 같은 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 실시예들에서 사용한 용어들은 단지 실시예에 대한 설명의 편의를 위해 사용된 것일 뿐, 본 실시예들이 이에 한정되는 것은 아니다. 본 실시예들에서 사용된 용어들은 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당해 기술분야의 통상의 기술자의 의도, 판례, 또는 새로운 기술의 출현 등에 따라 충분히 변경될 수 있다. 또한, 본 실시예들에서 사용한 용어들은 출원인이 임의로 선정한 용어도 있으나, 이와 같은 용어들에 대해서는 본 실시예들의 해당 부분에서 상세하게 그 의미가 기재되어 있다. 따라서 본 실시예들에서 사용되는 용어들은 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 실시예들의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 실시예들에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하에서는 첨부된 도면들을 참조하여 본 실시예들을 상세히 설명하도록 하겠다.
도 1은 본 발명의 일 실시예에 따른 화상형성시스템(100)을 도시한 도면이다. 도 1을 참고하면, 화상형성시스템(100)은 적어도 하나의 컴퓨팅 장치(20) 및 화상형성장치(30)를 포함한다.
본 실시예에서 전반적으로 언급되는, 컴퓨팅 장치(20)는 예를 들면, 스마트폰(22), 태블릿(tablet) 디바이스(24), 노트북(26), 휴대폰, PDA(personal digital assistant), PC 등과 같은 일반적으로 알려진 종류의 모바일 또는 비모바일 장치일 수 있으나, 이에 제한되지 않는다. 또한, 컴퓨팅 장치(20)는, 전자 칠판, 터치 테이블 등과 같이 터치 입력을 수신할 수 있는 다양한 장치들도 포함할 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
그리고, 화상형성장치(30)는 복사, 팩스, 인쇄, 이메일 전송, 스캔 또는 서버로의 데이터 전송 등의 적어도 하나 이상의 기능을 지원하는 일반적인 복합기(MFP)를 포함한다. 이하에서는 설명의 편의를 위하여, 화상형성장치(30)는 복합기에 해당되는 것으로 설명하겠으나, 이에 제한되지 않고 화상형성장치(30)는 프린터, 스캐너, 팩스 등과 같은 개별적인 화상형성 기능을 갖는 개별적인 장치에 해당될 수 있다.
도 1에서는, 컴퓨팅 장치(20)는, 스마트폰(22), 태블릿 디바이스(24) 및 노트북(26)을 포함하는 것으로 도시하였으나, 이는 예시적인 것일 뿐 컴퓨팅 장치(20)는 스마트폰(22), 태블릿 디바이스(24) 및 노트북(26) 중 적어도 하나만을 포함하거나, 또는 이 밖에 다른 장치들도 포함할 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다. 또한, 도 1의 화상형성시스템(100)에는 적어도 하나 이상의 화상형성장치(30)가 존재할 수 있다.
화상형성장치(30)는 컴퓨팅 장치(20)로부터 인쇄 데이터를 수신하여 복사, 팩스, 인쇄, 이메일 전송 등의 화상형성 기능을 수행하는 장치이다. 이를 위하여, 컴퓨팅 장치(20)는 인쇄 데이터를 먼저 생성한다.
예를 들어, 사용자(10)는 태블릿 디바이스(24)에 설치된 애플리케이션에서 컨텐츠를 사용하고 있다가, 컨텐츠를 인쇄 매체에 인쇄하여 소장하고 싶은 경우가 있을 수 있다. 이 때, 사용자(10)는 태블릿 디바이스(24)에 설치된 인쇄 관련 기능을 수행하는 애플리케이션을 실행시켜 사용하고 있는 컨텐츠의 인쇄를 화상형성장치(30)에 요청할 수 있다. 그 과정에서, 태블릿 디바이스(24)는 사용자로부터 인쇄하고자 하는 컨텐츠의 인쇄 데이터를 생성한다. 또한, 사용자(10)가 스마트폰(22)이나, 노트북(26) 등의 컴퓨팅 장치(20)를 사용할 경우에도 마찬가지이다.
종래에는, PC 등의 컴퓨터에서 인쇄 작업을 수행하고자 할 경우, PC에 미리 설치된, 프린터 제조사에서 제공하는 프린터 드라이버를 이용하여 컨텐츠에 대한 인쇄 데이터를 생성함으로써 컨텐츠의 인쇄를 수행하는 것이 일반적이었다. 예를 들어, PC에 Microsoft Corporation의 Windows® 운영체제(OS)가 설치된 경우에 사용자가 MS Word 애플리케이션에서 작성 중인 컨텐츠를 인쇄하고자 하면, Windows 운영체제에 미리 설치된 프린터 드라이버를 이용하여 컨텐츠의 인쇄 작업을 수행할 수 밖에 없었다. 그러므로, 만약 Windows 운영체제에 프린터 드라이버가 미리 설치되어 있지 않은 경우라면, 사용자는 인쇄 작업을 수행하는 것 자체가 불가능하게 된다. 이는, 프린터 드라이버를 이용하여 인쇄 작업을 수행할 수 밖에 없는 다른 장치들에서도 마찬가지이다.
또한, 최근에는 구글(Google) 사에서 개발된 모바일 장치의 운영체제인 안드로이드(Android) 운영체제가 설치된 모바일 장치에서는, 사용자가 컨텐츠를 이용하는 도중에 share 기능을 실행시키면 프린팅 기능 앱(printing function app)이 인텐트(intent)되어 인쇄 작업을 수행할 수 있도록 하였다.
하지만, 안드로이드(Android) 운영체제에서 지원하는 share 기능에 따르면, 사용자가 컨텐츠의 공유를 원하여 프린팅 기능 앱이 실행되는 순간, 기존에 열려있던 애플리케이션은 백그라운드에서만 동작하는 애플리케이션으로 전환된다. 백그라운드로 전환된다는 것은, 모바일 장치의 시스템 리소스가 부족할 경우에는 애플리케이션이 백그라운드에서 꾸준히 실행될 수 없고 바로 종료될(terminated) 가능성도 있다는 문제를 내포하고 있다.
게다가, 컨텐츠의 공유를 할 때마다 로드(load)가 큰 프린팅 기능 앱 전체가 실행될 수 밖에 없으므로, 컨텐츠를 사용하고 있던 이전의 애플리케이션을 다시 사용하려면 사용자가 다시 이전의 애플리케이션을 선택 또는 실행해야 하는 번거로움이 있었다. 즉, 사용자가 컨텐츠를 감상하다가 갑자기 인쇄하고 싶은 욕구를 느낄 경우, 설치된 프린팅 기능 앱 전체를 별도로 실행시킨 후 몇 단계를 거쳐야 인쇄가 가능하다는 번거로움이 있었다.
이와 달리, 본 실시예에 따른 컴퓨팅 장치(20)는 사용자(10)가 어느 애플리케이션에서 컨텐츠를 감상하다가 인쇄하고자 할 경우에는, 비록 컴퓨팅 장치(20)에 프린터 드라이버가 설치되지 않거나 또는 프린터 드라이버를 이용하지 않더라도, 언제든지 화상형성장치(30)를 통해 바로 인쇄가 가능하다. 또한, 본 실시예에 따른 컴퓨팅 장치(20)는, 안드로이드(Android) 운영체제의 공유 기능, 또는 다른 운영체제의 이와 유사한 기능들과는 달리, 사용자(10)가 컨텐츠를 감상하다가도 사용 중인 애플리케이션이 닫히지 않은 상태로(바꾸어 말하면, 백그라운드로 전환되지 않은 상태로) 간편하게 인쇄 작업을 바로 수행할 수 있다.
특히, 이하에서 설명할 본 실시예의 컴퓨팅 장치(20)에서 사용되는 공유(Share) 기능은, 안드로이드(Android) 운영체제의 공유 기능, 또는 다른 운영체제에서 사용되고 있는 유사한 기능들과는, 전혀 다른 의미를 갖는 개념으로 정의된다. 즉, 본 실시예의 컴퓨팅 장치(20)에서 사용되는 "공유(Share) 기능"의 명칭은 본 실시예의 설명의 편의를 위하여 명명되었을 뿐, 안드로이드(Android) 운영체제의 공유 기능 등과는 전혀 다르고, 또한 본 실시예에서 설명될 기능 및 동작을 수행한다면 다른 명칭으로도 변경되어 명명될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
이하에서는 보다 상세하게 본 실시예의 컴퓨팅 장치(20)에서 애플리케이션들간에 공유된 컨텐츠를 인쇄하기 위한 동작 및 기능 등에 대하여 설명하도록 하겠다.
도 2a는 본 발명의 일 실시예에 따른 컴퓨팅 장치(20)의 블록도를 도시한 도면이다.
도 2a를 참고하면, 컴퓨팅 장치(20)는 처리부(110) 및 표시부(124)를 포함한다. 여기서, 처리부(110)는 소스 애플리케이션(source application)(114), 운영체제(OS)(112) 및 타겟 애플리케이션(target application)(116)의 명령어들을 처리함으로써, 소스 애플리케이션(114), 운영체제(OS)(112) 및 타겟 애플리케이션(116)의 동작을 제어하는 제어 유닛(controlling unit)에 해당될 수 있다. 또한, 처리부(110)는 이 밖에도 컴퓨팅 장치(20)의 전반적인 동작을 제어하는 제어 유닛에 해당될 수 있다.
도 2a에서는 본 실시예의 특징이 흐려지는 것을 방지하기 위하여 본 실시예에 관련된 하드웨어 구성요소(hardware component)들만이 도시되었다. 하지만, 본 실시예에 따른 컴퓨팅 장치(20)는 도 2a에 도시된 하드웨어 구성요소들 외에, 다른 범용적인 하드웨어 구성요소들이 포함될 수 있음을 본 실시예가 속하는 기술분야에서 통상의 기술자라면 이해할 수 있다.
한편, 처리부(110)는 적어도 하나의 프로세서(processor)로 구현된, CPU(Central Processing Unit), AP(Application Processor) 또는 GPU(Graphic Processor Unit) 등의 프로세서에 해당될 수 있다. 이와 같은 처리부(110)는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서의 조합으로도 구현될 수도 있는 바, 어느 하나에 제한되지 않는다. 즉, 처리부(110)는 당해 기술분야에서 알려진 다양한 하드웨어의 형태 또는 소프트웨어 모듈의 형태 등으로도 구현될 수도 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
먼저, 소스 애플리케이션(114), 타겟 애플리케이션(116), 컴패니언 애플리케이션, 컴패니언 윈도우 등에 대해 보다 상세하게 설명하면, 다음과 같다.
소스 애플리케이션(114)은 운영체제(OS)(112) 상에 설치된 일반적인 애플리케이션으로서, 사용자(10)가 보통, 운영체제(OS)(112) 상에서 컨텐츠의 감상, 편집 등의 사용을 하기 위한 일반적으로 알려진 애플리케이션을 의미한다. 여기서, 컨텐츠는 공유를 위한 소스(source)에 해당되는바, 사용자(10)가 현재 컨텐츠를 사용하고 있는 애플리케이션을 본 실시예의 소스 애플리케이션(114)이라 정의한다.
예를 들어, 소스 애플리케이션(114)은, 일반적으로 알려진 애플리케이션들인 Windows 운영체제의 그림판(Paint), 포토 뷰어(Photo Viewer), MS 워드(MS Word), 또는 MS 엑셀(MS Excel) 등에 해당될 수 있고, 이 밖에도 무수히 많은 다양한 소스 애플리케이션들이 존재한다. 즉, 소스 애플리케이션(114)은, 사용자(10)가 실생활에서 스마트폰(22), 태블릿 디바이스(24), 노트북(26) 등을 사용하면서 쉽게 접할 수 있는 컨텐츠 관련 애플리케이션에 해당될 수 있다.
타겟 애플리케이션(116)은 공유 가능한(shareable) 컨텐츠를 수신하여, 사용자(10)로부터 요청된 공유 액션을 수행할 수 있는, 운영체제(OS)(114) 상에 설치된 애플리케이션이다. 타겟 애플리케이션(116)은 소스 애플리케이션(114)과 달리, 컴패니언 윈도우 상에서만 실행될 수 있는 컴패니언 애플리케이션에 해당된다. 즉, 본 실시예에서는 소스 애플리케이션(114)과 구별하기 위하여, 컴패니언 윈도우 상에서만 실행되면서 컨텐츠를 공유하기 위한 타겟(target)이 되는 애플리케이션을 타겟 애플리케이션(116)이라 정의한다.
컴패니언 윈도우에 대해서는 이하에서 보다 상세하게 설명하겠지만, 컴패니언 윈도우는 도 6 내지 9에서 소스 윈도우에 인접하거나(proximate) 또는 부분적으로 오버랩되어 표시된 UI(User Interface) 화면을 의미한다.
또한, 컴패니언 애플리케이션은 소스 애플리케이션(114)과 달리, 컴패니언 윈도우 상에서만 실행될 수 있는 애플리케이션을 의미하는 것으로서, 타겟 애플리케이션(116)과 유사 또는 동일한 의미를 갖는다. 컴패니언 애플리케이션은 운영체제(OS)(112)에 메인 애플리케이션(소스 애플리케이션(114))이 설치될 때 함께 설치될 수 있거나, 또는 메인 애플리케이션(소스 애플리케이션(114))과 별도로 홀로 운영체제(OS)(112)에 설치될 수 있는 애플리케이션이다. 바꾸어 말하면, 컴패니언 애플리케이션은 소스 애플리케이션(114)에서 컨텐츠를 사용하는 동안 요청된 공유 액션만을 수행하기 위한 애플리케이션일 수 있다.
본 실시예에서 인쇄 애플리케이션(printing application)은, 소스 애플리케이션(114)의 소스 윈도우(source window)가 표시부(124) 상에서 유지되는(remain) 동안, 공유 액션에 의해 활성화된 컴패니언 윈도우 상에서 실행되는 컴패니언 애플리케이션(companion application)이다. 바꾸어 말하면, 본 실시예에 따른 인쇄 애플리케이션은, 타겟 애플리케이션(116) 또는 컴패니언 애플리케이션의 일종이다.
결국, 인쇄 애플리케이션은, 일반적으로 알려진 프린터 드라이버 애플리케이션과 동일한 인쇄 작업을 수행하는 애플리케이션일 수 있으나, 인쇄 애플리케이션은 컴패니언 윈도우 환경에서 동작되고 프린터 드라이버 애플리케이션은 소스 윈도우 컴패니언 윈도우 환경에서 동작된다는 점이 서로 다르다. 또한, 인쇄 애플리케이션은 컴패니언 애플리케이션이고 프린터 드라이버 애플리케이션은 소스 애플리케이션(114)이라는 점이 서로 다르다. 나아가서, 인쇄 데이터를 생성하기 위한 과정도 다소 상이하다는 점이 구별될 수 있다.
한편, 본 실시예에서 정의된 공유 기능은 Microsoft Corporation에 의해 출시된 Windows 8®에서 제공된 Share 기능과 유사하거나, 또는 이것이 활용된 것일 수 있다. 또한, Windows 8® 이후 버전의 Windows, 또는 Windows 8®에서 제공된 Share 기능과 유사한 다른 운영체제(OS)의 다른 명칭의 기능에 해당될 수 있다.
예를 들어, 본 실시예의 소스 애플리케이션(114) 및 타겟 애플리케이션(116)는, Windows 8®, Windows 8® 이후 버전의 Windows, 또는 Windows 8®에서 제공된 Share 기능과 유사한 기능을 갖는 다른 운영체제(OS)에서의 애플리케이션들에 해당될 수 있다.
즉, 본 실시예의 운영체제(112)는 Windows 8®, Windows 8® 이후 버전의 Windows, 또는 Windows 8®에서 제공된 Share 기능과 유사한 기능을 갖는 다른 운영체제(OS)에 해당될 수 있다.
그리고, 컴패니언 윈도우는 Windows 8®에서 제공하는 Share Charm에 해당될 수 있고, 컴패니언 애플리케이션은 Share Charm상에서 실행되는 애플리케이션일 수 있다.
다만, 본 실시예에 대하여 위와 같이 Microsoft Corporation의 Windows 8®을 참고하여 설명하도록 하겠으나, 본 실시예는 이에 제한되지 않고 본 실시예에서 설명될 애플리케이션들간의 공유 기능을 지원하는 운영체제(OS)라면 모두 본 실시예의 운영체제(OS)(112) 범주에 포함될 수 있다. 그리고, 본 실시예에서는 비록, Windows 8®을 참고하여 설명한다 할지라도, 본 실시예에서는 Windows 8®의 기본적인 기능 및 동작을 발전시킨 또는 Windows 8®의 기본적인 기능 및 동작과는 차이가 있는, 본 실시예에만의 기능 및 동작에 관하여 이하에 설명되어 있다는 점을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
한편, 당해 기술분야에서는 이미 Windows 8®의 Share와, 안드로이드(Android)의 Share와는 다소 차이가 있다는 점이 통상의 기술자에게 알려져 있는바, 차이점에 대한 자세한 설명은 생략하도록 하겠다.
도 2a를 참고하면, 표시부(124)는 소스 애플리케이션(112)에서 사용 중인 컨텐츠의 공유(share)를 위하여 요청된 공유 액션(share action)에 따라, 인쇄 애플리케이션(printing application)(타겟 애플리케이션(116))을 제공하는 컴패니언 윈도우(companion window)를 표시한다.
처리부(110)는 인쇄 애플리케이션으로 컨텐츠가 공유되는 경우, 표시된 컴패니언 윈도우 상에 인쇄 애플리케이션을 실행한다. 그리고 나서, 처리부(110)는 표시된 컴패니언 윈도우를 통해 컨텐츠에 대한 인쇄 설정이 완료된 경우, 실행된 인쇄 애플리케이션을 이용하여 컨텐츠에 대한 인쇄 데이터를 생성한다.
도 2b는 본 발명의 다른 일 실시예에 따른 컴퓨팅 장치(20)의 블록도를 도시한 도면이다.
도 2b를 참고하면, 컴퓨팅 장치(20)는 처리부(110) 및 저장부(130)를 포함한다. 도 2b에서는 본 실시예의 특징이 흐려지는 것을 방지하기 위하여 본 실시예에 관련된 하드웨어 구성요소(hardware component)들만이 도시되었다. 하지만, 본 실시예에 따른 컴퓨팅 장치(20)는 도 2b에 도시된 하드웨어 구성요소들 외에, 다른 범용적인 하드웨어 구성요소들이 포함될 수 있음을 본 실시예가 속하는 기술분야에서 통상의 기술자라면 이해할 수 있다.
한편, 처리부(110)는 적어도 하나의 프로세서(processor)로 구현된, CPU(Central Processing Unit), AP(Application Processor) 또는 GPU(Graphic Processor Unit) 등의 프로세서에 해당될 수 있다. 이와 같은 처리부(110)는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서의 조합으로도 구현될 수도 있는 바, 어느 하나에 제한되지 않는다. 즉, 처리부(110)는 당해 기술분야에서 알려진 다양한 하드웨어의 형태 또는 소프트웨어 모듈의 형태 등으로도 구현될 수도 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
도 2b를 참고하면, 저장부(130)는 비휘발성 메모리(non-volatile memory), 하드 디스크(HDD) 등과 같은 저장 매체에 해당되는 것으로서, 소스 애플리케이션(114), 운영체제(OS)(112) 및 타겟 애플리케이션(116)을 저장한다.
처리부(110)는 소스 애플리케이션(114), 운영체제(OS)(112) 및 타겟 애플리케이션(116)의 아래 설명될 동작에 관련된 명령어들을 처리함으로써, 소스 애플리케이션(114), 운영체제(OS)(112) 및 타겟 애플리케이션(116)의 동작을 제어하는 제어 유닛(controlling unit)에 해당될 수 있다. 이 때, 처리부(110)는 저장부(130)에 저장된 소스 애플리케이션(114), 운영체제(OS)(112) 및 타겟 애플리케이션(116)을 독출하여(read) 처리를 수행할 수 있다. 한편, 처리부(110)는 이 밖에도 컴퓨팅 장치(20)의 전반적인 동작을 제어하는 제어 유닛에 해당될 수 있다.
소스 애플리케이션(114)은 소스 윈도우를 통해 사용자(10)와 인터페이싱함으로써 컨텐츠를 사용하기 위한 애플리케이션이다.
운영체제(OS)(112)는, 소스 애플리케이션(114)에서 사용 중인 컨텐츠의 공유를 위하여 요청된 공유 액션(share action)에 따라 인쇄 애플리케이션(타겟 애플리케이션(116))을 제공하는 컴패니언 윈도우를 활성화한다.
인쇄 애플리케이션은, 공유 액션에 따라 활성화된 컴패니언 윈도우상에서 실행된다. 인쇄 애플리케이션은, 활성화된 컴패니언 윈도우를 통해 컨텐츠에 대한 인쇄 설정이 완료된 경우 컨텐츠에 대한 인쇄 데이터를 생성한다.
도 3은 본 발명의 일 실시예에 따른 컴퓨팅 장치(20)의 상세 블록도를 도시한 도면이다.
도 3을 참고하면, 컴퓨팅 장치(20)는 처리부(110), 사용자 인터페이스부(120), 저장부(130) 및 네트워크 인터페이스부(140)를 포함한다. 사용자 인터페이스부(120)는 입력부(122) 및 표시부(124)를 포함한다. 도 3의 컴퓨팅 장치(20)의 구성요소들 중 앞서 도 2a 및 도 2b에서 설명된 컴퓨팅 장치(20)의 구성요소들과 일치하는 구성요소들은 서로 동일한 것이다.
한편, 도 3에서는 본 실시예의 특징이 흐려지는 것을 방지하기 위하여 본 실시예에 관련된 하드웨어 구성요소(hardware component)들만이 도시되었다. 하지만, 본 실시예에 따른 컴퓨팅 장치(20)는 도 3에 도시된 하드웨어 구성요소들 외에, 다른 범용적인 하드웨어 구성요소들이 포함될 수 있음을 본 실시예가 속하는 기술분야에서 통상의 기술자라면 이해할 수 있다.
처리부(110)는 적어도 하나의 프로세서(processor)로 구현된, CPU(Central Processing Unit), AP(Application Processor) 또는 GPU(Graphic Processor Unit) 등의 프로세서에 해당될 수 있다. 이와 같은 처리부(110)는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서의 조합으로도 구현될 수도 있는 바, 어느 하나에 제한되지 않는다. 즉, 처리부(110)는 당해 기술분야에서 알려진 다양한 하드웨어의 형태 또는 소프트웨어 모듈의 형태 등으로도 구현될 수도 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
도 3을 참고하면, 저장부(130)는 컴퓨팅 장치(20) 내의 휘발성 메모리(non-volatile memory), 비휘발성 메모리(non-volatile memory), 하드 디스크(HDD) 등과 같은 저장 매체를 모두 포함하는 구성요소로서, 특히, 저장부(130) 내의 비휘발성 메모리(non-volatile memory) 또는 하드 디스크(HDD)는 소스 애플리케이션(114), 운영체제(OS)(112) 및 타겟 애플리케이션(116)을 저장한다.
처리부(110)는 소스 애플리케이션(114), 운영체제(OS)(112) 및 타겟 애플리케이션(116)의 아래 설명될 동작에 관련된 명령어들을 처리함으로써, 소스 애플리케이션(114), 운영체제(OS)(112) 및 타겟 애플리케이션(116)의 동작을 제어하는 제어 유닛(controlling unit)에 해당될 수 있다. 이 때, 처리부(110)는 저장부(130)에 저장된 소스 애플리케이션(114), 운영체제(OS)(112) 및 타겟 애플리케이션(116)을 독출하여(read) 처리를 수행할 수 있다. 한편, 처리부(110)는 이 밖에도 컴퓨팅 장치(20)의 전반적인 동작을 제어하는 제어 유닛에 해당될 수 있다.
입력부(122)는 컴퓨팅 장치(122)에 사용자(10)에 의해 입력되는 정보를 수신하는 구성요소로서, 사용자(10)의 입력은 터치 기반, 모션 기반(motion-based), 비전 기반(vision-based), 키보드 기반, 마우스 기반 등 일반적으로 알려진 입력 형태들을 모두 포함하고, 어느 하나에 제한되지 않는다. 즉, 입력부(122)는 정전식 터치 패널, 감압식 터치 패널, 키보드, 마우스, 모션 인식 카메라 등으로 구현될 수 있고, 어느 하나에 제한되지 않는다.
예를 들어, 터치 기반의 입력은 터치 기반의 사용자(10)의 제스처(gesture)에 의존할 수 있다. 터치 기반의 사용자(10)의 제스처는, 예를 들어, 탭(tap 또는 터치), 롱 탭(long tap 또는 롱 터치), 터치 앤 홀드(touch and hold), 터치 앤 드래그(touch and drag), 더블 탭(double tap), 드래그(drag), 패닝(panning), 플릭(flick), 드래그 앤 드롭(drag and drop), 및 스윕(sweep) 등을 포함할 수 있으나 이로 제한되지 않는다. 모션 기반의 입력은 사용자(10)에 의한 컴퓨팅 장치(20)의 움직임 기반의 사용자의 제스처(예를 들어, 가상 공간에서 컴퓨팅 장치(20) 흔들기, 컴퓨팅 장치(20) 치기 등)에 기초할 수 있다. 비전 기반의 입력은 컴퓨팅 장치(20)와 접촉 없이 카메라를 이용하여 획득된 입력 영상의 분석을 통해 인식된 사용자(10)의 제스처에 기초할 수 있다.
표시부(124)는 LCD, LED 등과 같은 표시 패널로 구현될 수 있는 구성요소로서 사용자(10)에게 컴퓨팅 장치(20) 내에서 처리되는 정보를 제공할 수 있는 장치라면, 어느 하나에 제한되지 않는다.
컴퓨팅 장치(20)가 스마트폰(22)이나 태블릿 디바이스(24)인 경우 사용자 인터페이스부(10)는 터치스크린에 해당할 수 있고, 컴퓨팅 장치(20)가 노트북(26) 이나 PC인 경우 사용자 인터페이스부(10)는 모니터, 키보드, 마우스 등에 해당될 수 있다.
네트워크 인터페이스부(140)는 유선 또는 무선으로 화상형성장치(30)와 데이터를 송수신할 수 있는 구성요소로서, 이더넷(Ethernet)과 같은 유선 랜카드, AP(Access Point)와 Wi-Fi로 통신할 수 있는 무선 랜카드, Wi-Fi Direct 모듈, BlueTooth 모듈 등을 포함하나, 이에 제한되지 않는다.
이하 본 실시예에 관한 컴퓨팅 장치(20)의 구성요소들에 대한 상세한 동작 및 기능에 대해 설명하도록 하겠다.
본 실시예에 따른 컴퓨팅 장치(20)는 운영체제(OS)(112)에 설치된 애플리케이션들간에 공유된 컨텐츠의 인쇄 데이터를 생성하여 화상형성장치(30)에 전송함으로써, 컨텐츠를 인쇄할 수 있는 기능을 갖는다. 여기서, 애플리케이션들이란, 앞서 설명한 소스 애플리케이션(114) 및 타겟 애플리케이션(116)에 해당될 수 있고, 특히 본 실시예에서 타겟 애플리케이션(116)은 컨텐츠의 인쇄 기능을 수행하는 인쇄 애플리케이션(printing application)에 해당된다.
그리고, 본 실시예에 따른 컨텐츠는 텍스트, 이미지, 비디오, 링크(link), HTML, 바이너리 파일(binary file) 등을 포함하는 것으로서, 사용자(10)에 의해 컴퓨팅 장치(20)에서 소비될 수 있는 객체로서, 어느 하나에 제한되지 않는다. 특히, 본 실시예에 따른 컨텐츠는 MIME(Multipurpose Internet Mail Extensions) 타입에만 한정되지 않는다.
사용자(10)는 사용자 인터페이스부(120)에 표시된 소스 애플리케이션(114)의 소스 윈도우를 통해 사용자(10)와 인터페이싱함으로써 컨텐츠를 사용한다. 여기서, 소스 윈도우는 소스 애플리케이션(114)이 동작하기 위한 UI 화면을 의미할 수 있다.
소스 애플리케이션(114)에서 컨텐츠가 사용되는 도중에, 사용자(10)는 컨텐츠를 다른 애플리케이션을 이용하여 이를 공유(share)하고자 할 수 있다. 예를 들어, 사용자(10)는 Windows 8®의 Photo Viewew 애플리케이션을 통해 감상하고 있던 이미지 컨텐츠를, 인쇄 애플리케이션(타겟 애플리케이션(116))과 공유하여 이미지 컨텐츠를 인쇄하고자 할 수 있다.
처리부(110)는 운영체제(OS)(112)의 동작을 제어하여, 소스 애플리케이션(114)에서 사용 중인 컨텐츠의 공유를 위하여 요청된 공유 액션(share action)에 따라, 인쇄 애플리케이션을 제공하는 컴패니언 윈도우를 활성화한다. 이 때, 표시부(124)는 이와 같이 인쇄 애플리케이션이 제공된 컴패니언 윈도우를 화면 상에 표시한다.
컴패니언 윈도우는, 이하에서 보다 상세하게 설명하겠지만, 도 6 내지 9에 도시된 바와 같이, 소스 윈도우에 인접하거나(proximate) 또는 부분적으로 오버랩되어 표시된 UI(User Interface) 화면을 의미하는 것으로서, 소스 윈도우와 동시에 표시될 수 있다. 이로써, 소스 애플리케이션 및 인쇄 애플리케이션은 표시부(124)의 하나의 화면상에서 동시에 작업이 가능할 수 있다. 이는, 앞서 설명된 종래의 프린터 드라이버를 실행하여 인쇄 작업을 수행할 경우나, 또는 안드로이드(Android) 운영체제의 공유 기능과는 다른 점들 중에 하나이다.
컴패니언 윈도우는 컨텐츠의 공유가 가능한 공유 엔드 포인트들(sharing end points)에 해당되는 숏컷(shortcut) 또는 타겟 애플리케이션(116)의 목록을 제공하는 제 1 컴패니언 윈도우, 및 이와 같은 목록 중에서 사용자(10)로부터 선택된 공유 엔드 포인트에 대한 작업을 수행하는 제 2 컴패니언 윈도우를 포함한다. 여기서, 공유 엔드 포인트들은, 공유하고자 하는 목적지로서 특정 목적의 작업을 수행하기 위한 애플리케이션들을 지칭하는 것이고, 예를 들어 인쇄 애플리케이션, SNS(Social Networking Service) 애플리케이션, 메일 애플리케이션 등이 포함될 수 있지만, 이에 제한되지 않는다.
하지만, 컴패니언 윈도우를 제 1 및 2 컴패니언 윈도우로 구분한 것은 설명의 편의를 위한 것일 뿐, 본 실시예는 이에 제한되지 않고 컴패니언 윈도우의 동작 및 기능을 갖는 한 어떠한 형태로도 구현될 수 있다. 여기서, 공유 엔드 포인트는 사용자(10)가 소스 애플리케이션(114)의 컨텐츠를 공유하고자 하는 목적지로서, 본 실시예에서는 인쇄 애플리케이션을 포함한다.
앞서 설명한 바와 같이, 본 실시예에 따른 인쇄 애플리케이션(printing application)은 컴패니언 애플리케이션(companion application)의 일종으로서, 소스 애플리케이션(114)과 달리, 컴패니언 윈도우 상에서만 실행될 수 있는 애플리케이션을 의미한다. 즉, 인쇄 애플리케이션은, 소스 애플리케이션(114)의 소스 윈도우(source window)가 표시부(124) 상에서 유지되는(remain) 동안, 공유 액션에 의해 활성화된 컴패니언 윈도우 상에서 실행될 수 있다.
컴패니언 애플리케이션은 운영체제(OS)(112)에 메인 애플리케이션(소스 애플리케이션(114))이 설치될 때 함께 설치될 수 있거나, 또는 메인 애플리케이션(소스 애플리케이션(114))과 별도로 홀로 운영체제(OS)(112)에 설치될 수 있는 애플리케이션이다. 바꾸어 말하면, 컴패니언 애플리케이션은 소스 애플리케이션(114)에서 컨텐츠를 사용하는 동안 요청된 공유 액션만을 수행하기 위한 애플리케이션일 수 있다.
그리고, 앞서 설명한 바와 같이, 컴패니언 윈도우는 Windows 8®에서 제공하는 Share Charm에 해당될 수 있고, 컴패니언 애플리케이션은 Share Charm상에서 실행되는 애플리케이션일 수 있다.
본 실시예에 따른 공유 액션(share action)은 운영체제(OS)(112)에서 지원하는 다양한 시스템 액션들(system actions) 중의 하나로서, 운영체제(OS)(112)는 이 밖에도 즐겨찾기 액션(Favorite action), 검색 액선(Search action) 등을 지원할 수 있다. 특히, 본 실시예에 따르면, 이와 같이 운영체제(OS)(112)에서 지원하는 시스템 액션들(system actions)은 좁게는 컴패니언 윈도우 상에서 수행될 수 있는 액션들을 의미할 수 있으나, 이에 제한되지 않고 넓게는 운영체제(OS)(112)에서 지원하는 모든 시스템 동작을 의미할 수 있다.
처리부(110)에서 공유 액션에 따라 컴패니언 윈도우가 활성화되기 위해서 또는 표시부(124)에서 공유 액션에 따라 컴패니언 윈도우가 표시되기 위해서는, 공유 액션의 요청(또는, 공유 액션의 인보크(invokation))을 위한 사용자(10)의 특정한 입력이 요구된다.
보다 상세하게 설명하면, 사용자(10)가 소스 애플리케이션(114)에서 컨텐츠를 사용하는 도중에 컨텐츠를 인쇄 애플리케이션으로 공유(share)하고자 할 경우, 사용자(10)는 입력부(122)를 통해 운영체제(OS)(112)의 공유 액션을 요청 또는 인보크(invokation)하기 위한 미리 정의된 동작 또는 제스쳐 등을 입력하여야 한다.
예를 들어, 사용자(10)는 소스 애플리케이션(114)에서 컨텐츠를 사용하는 도중에 마우스 커서를 화면의 어느 모서리로 이동시키거나, 특정 형태의 제스처로 터치한다면, 처리부(110)는 이와 같은 마우스 커서의 이동 또는 제스처가 공유 액션을 요청 또는 인보크(invokation)하는 것으로 인식할 수 있다. 이와 같은 정의된 동작 또는 제스쳐는 운영체제(OS)(112)에 미리 설정되어 있을 수 있고 또는 사용자(10)에 의해 설정될 수 있다.
한편, 인쇄 애플리케이션으로 컨텐츠가 공유되기 위해서는 소스 애플리케이션(114) 및 타겟 애플리케이션(116) 사이에 공유 가능한(shareable) 컨텐츠의 타입이 미리 등록(register)되어야 한다.
도 4는 본 발명의 일 실시예에 따른, 운영체제(OS)(112), 소스 애플리케이션 및 타겟 애플리케이션 사이의 동작들을 설명하기 위한 도면이다.
도 4를 참고하면, 운영체제(OS)(112) 상에는 소스 애플리케이션 1(115)(예를 들어, Photo Viewer), 소스 애플리케이션 2(예를 들어, MS Word), 소스 애플리케이션 3 등의 다양한 소스 애플리케이션들과 타겟 애플리케이션 1(117)(예를 들어, Printing application), 타겟 애플리케이션 2, 타겟 애플리케이션 3 등의 다양한 타겟 애플리케이션들이 설치되어 있다.
도 4 및 이하의 도면들에서는 소스 애플리케이션 1(115)은 Photo Viewer에 해당되고, 타겟 애플리케이션 1(117)은 Printing Application에 해당되는 것으로 설명하였으나, 이는 단지 예시적인 것일 뿐, 본 실시예는 이에 제한되지 않는다. 또한, 마찬가지로 다른 도면들에 대한 설명에서도 소스 애플리케이션 및 타겟 애플리케이션의 예시들은 설명의 편의를 위한 것일 뿐, 본 실시예는 다른 종류의 애플리케이션들에 대해서도 동일하게 적용될 수 있다.
운영체제(OS)(112)는 소스 애플리케이션 1(115)(Photo Viewer), 소스 애플리케이션 2(Word), 소스 애플리케이션 3 등의 다양한 소스 애플리케이션들에서 작성된 컨텐츠 데이터를 수신하고, 수신된 컨텐츠 데이터를 타겟 애플리케이션 1(117)(Printing application), 타겟 애플리케이션 2, 타겟 애플리케이션 3 등의 다양한 타겟 애플리케이션들에 전송한다. 여기서, 컨텐츠에 관한 데이터는 Windows 8®에서 공유 계약을 통한 데이터 교환의 기본 단위인 소개된 DataPackage의 포맷에 해당될 수 있다. 하지만, 이는 예시적인 것일 뿐, 운영체제(OS)(112)는 이에 제한되지 않고 다른 데이터 포맷을 이용할 수 있다.
즉, 운영체제(OS)(112)는 공유 액션의 이벤트가 발생된 경우, 소스 애플리케이션들(소스 애플리케이션 1(115)(Photo Viewer))과 타겟 애플리케이션들(타겟 애플리케이션 1(117)(Printing application)) 사이에서 컨텐츠에 관한 데이터의 중개(brokerage)를 수행하는 브로커(broker)의 역할을 담당한다. 운영체제(OS)(112)의 중개로 인하여, 소스 애플리케이션들과 타겟 애플리케이션들은 서로의 존재를 인식할 필요가 없을 수 있다.
운영체제(OS)(112)가 지원하는 애플리케이션들간의 컨텐츠 공유를 사용하기 위해서는 애플리케이션들 각각에서 공유 가능한(shareable) 컨텐츠의 타입이 운영체제(OS)(112)에 미리 등록되어야 한다.
즉, 소스 애플리케이션 1(115)(Photo Viewer)은 공유 가능한(shareable) 컨텐츠의 타입, 예를 들어 image 포맷(JPG, GIF, TIFF 등)을 운영체제(OS)(112)에 등록한다. 그리고, 타겟 애플리케이션 1(117)(Printing application)은 공유 가능한 컨텐츠의 타입, 예를 들어 image 포맷(JPG, GIF, TIFF 등), 문서 포맷(DOC, PDF, TXT 등) 등을 운영체제(OS)(112)에 등록한다.
이와 같이 각각의 애플리케이션들에서 공유 가능한 컨텐츠 타입의 등록이 완료된 경우, 운영체제(OS)(112)는 공유 계약으로서 이와 같이 등록된 컨텐츠 타입들을 서로 매핑하여 관리할 수 있다.
보다 상세하게 설명하면, 소스 애플리케이션 1(115)(Photo Viewer)를 사용하는 도중에 사용자(10)로부터 이미지 컨텐츠의 공유를 요청하는 공유 액션의 입력이 수신된 경우, 처리부(도 3의 110)는 운영체제(OS)(112)를 제어하여 소스 애플리케이션 1(115)(Photo Viewer) 및 타겟 애플리케이션 1(117)(Printing application) 각각에 대해 등록된 공유 가능한 컨텐츠의 타입이 매핑되는 공유 가능한 컨텐츠인지 여부를 판단한다.
이 때, 처리부(110)는 소스 애플리케이션 1(115)(Photo Viewer)에서 공유하고자 하는 컨텐츠의 타입을 manifest 정보를 이용하여 먼저 판단할 수 있다. 예를 들어, 컨텐츠의 타입이 binary 형태일 경우, 처리부(110)는 컨텐츠 파일의 header를 추출하여 컨텐츠의 타입을 판단할 수 있다.
만약, 컨텐츠가 타겟 애플리케이션 1(117)(Printing application)에서 공유 가능한 컨텐츠로 판단된 경우, 처리부(110)는 컴패니언 윈도우에 포함될 타겟 애플리케이션들의 목록에 타겟 애플리케이션 1(117)(Printing application)을 포함하여 컴패니언 윈도우를 활성화한다.
다시 도 3을 참고하면, 처리부(110)는 인쇄 애플리케이션으로 컨텐츠가 공유되는 경우, 활성화된(표시된) 컴패니언 윈도우 상에서 인쇄 애플리케이션을 실행한다.
표시부(124)는 인쇄 애플리케이션이 실행된 경우, 활성화된 컴패니언 윈도우 상에 컨텐츠의 프리뷰 또는 컨텐츠에 설정 가능한 인쇄 옵션들을 제공하는 UI 화면을 표시한다. 컨텐츠에 설정 가능한 인쇄 옵션들의 종류는 일반적으로 당해 기술분야에 널리 알려져 있는바, 자세한 예시는 생략하도록 하겠다.
또한, 표시부(124)는 인쇄 애플리케이션이 실행된 경우, 활성화된 컴패니언 윈도우 상에, 인쇄 옵션들 중의 하나로서, 컨텐츠의 인쇄가 가능한 화상형성장치(30)의 목록을 제공하는 UI 화면을 표시할 수 있다. 즉, 표시부(124)는 활성화된 컴패니언 윈도우 상에 현재 연결 가능한 화상형성장치(30)의 목록을 표시하거나, 또는 현재 연결 가능한 화상형성장치(30)가 없는 경우, 다른 화상형성장치를 탐색(discovery)하기 위한 메뉴를 표시할 수 있다.
나아가서, 표시부(124)는 컨텐츠에 설정 가능한 인쇄 옵션들을 제공하는 UI 화면을, 컨텐츠의 타입에 따라 서로 다르게 표시할 수 있다.
예를 들어, 컨텐츠의 타입이 이미지인 경우에는, 표시부(124)는 이미지를 회전(rotate)하거나 크롭(crop)할 수 있는 인쇄 옵션들이 포함된 UI 화면을 표시할 수 있다. 또는, 컨텐츠의 타입이 문서인 경우에는, 문서의 각 페이지를 넘겨 볼 수 있는 UI 화면을 표시할 수 있다. 즉, 표시부(124)는 컨텐츠의 타입에 따라 서로 다른 인쇄 옵션들을 제공하는 UI 화면을 활성화된 컴패니언 윈도우 상에 표시할 수 있다.
입력부(122)는 사용자(10)로부터 컨텐츠에 대한 인쇄 옵션들의 설정을 수신한다. 이 때, 사용자(10)는 표시부(124)를 통해 컴패니언 윈도우 상에 표시된 컨텐츠의 프리뷰 또는 컨텐츠에 설정 가능한 인쇄 옵션들을 확인한 후, 인쇄 옵션들을 설정할 수 있다. 만약, 입력부(122)를 통해 사용자(10)가 인쇄 옵션들을 설정한 경우, 표시부(124)는 UI 화면에, 새로 설정된 인쇄 옵션들에 기초하여 업데이트된 프리뷰를 표시할 수 있다.
처리부(110)는 활성화된 컴패니언 윈도우를 통해 컨텐츠에 대한 인쇄 설정이 완료된 경우, 실행된 인쇄 애플리케이션을 이용하여 컨텐츠에 대한 인쇄 데이터를 생성한다.
도 10은 본 발명의 일 실시예에 따른, 처리부(110)의 상세 블록도를 도시한 도면이다. 도 10을 참고하면, 처리부(110)는 컨텐츠 변환부(1101) 및 인쇄 데이터 생성부(1103)를 포함한다.
컨텐츠 변환부(1101) 및 인쇄 데이터 생성부(1103)는, 활성화된 컴패니언 윈도우를 통해 컨텐츠에 대한 인쇄 설정이 완료된 경우, 컨텐츠에 대한 인쇄 데이터를 생성하는 구성요소들로서, 인쇄 애플리케이션에 의해 구동될 수 있다.
컨텐츠 변환부(1101)는 완료된 인쇄 설정에 기초하여, 컴포넌트 객체 모델(component object model, COM)을 이용하여 컨텐츠를 인쇄 가능한 포맷으로 렌더링(rendering)한다.
컴포넌트 객체 모델(COM)은 Microsoft Corporation가 발표한 객체(objects) 간 통신 규약으로서, 소스 애플리케이션(도 3의 114) 및 인쇄 애플리케이션(타겟 애플리케이션(116)) 간에 표준화된 데이터 인터페이스를 구축하기 위한 모델을 의미할 수 있다.
즉, 컨텐츠 변환부(1101)는 컴포넌트 객체 모델(COM)에 따라, 소스 애플리케이션(도 3의 114)에서 사용되는 컨텐츠 데이터가 인쇄 애플리케이션(타겟 애플리케이션(116))에서도 바로 인식될 수 있도록, 컨텐츠를 렌더링한다. 한편, 컴포넌트 객체 모델(COM)에 대한 이 밖에 보다 자세한 내용은 당해 기술분야의 통상의 기술자에게 자명하므로 생략하도록 하겠다.
또한, 컨텐츠 변환부(1101)는 컴퓨팅 장치(20)에 문서 변환 OLE(object linking and embedding)(예를 들어, MS Office 등)가 설치되어 있을 경우에는, 문서 변환 OLE의 DLL(dynamic linking library)을 사용하여 컨텐츠를 렌더링할 수 있다. 또는, 컨텐츠 변환부(1101)은 문서 변환 OLE가 설치되어 있지 않은 경우에는, 내장된 문서 변환 프로그램을 이용할 수 있다.
인쇄 데이터 생성부(1103)는 렌더링 결과에 기초하여, 화상형성장치(30)에 전송할 수 있는 형식의 인쇄 데이터를 생성한다.
앞서 설명한 바와 같이, 인쇄 애플리케이션은 컴패니언 애플리케이션으로서, 프린터 드라이버 애플리케이션(소스 애플리케이션(114))과는 결국 인쇄 데이터를 생성한다는 점에서는 유사할 수 있으나, 서로 다른 과정을 거쳐 인쇄 데이터를 생성한다. 본 실시예에 따른 인쇄 애플리케이션과 일반적인 프린터 드라이버 애플리케이션을 비교하면, 인쇄 애플리케이션은 비교적 적은 처리 용량을 요구하여 메모리 로드가 적으나, 프린터 드라이버 애플리케이션은 비교적 높은 처리 용량을 요구하여 메모리 로드가 크다는 점을 들 수 있다.
즉, 처리부(110)는 프린터 드라이버 애플리케이션의 구동 없이, 실행된 인쇄 애플리케이션을 이용하여 인쇄 데이터를 생성할 수 있다.
다시 도 3을 참고하면, 네트워크 인터페이스부(140)는 처리부(110)에서 생성된 컨텐츠의 인쇄 데이터를 화상형성시스템(도 1의 100) 내의 화상형성장치(30)로 전송한다.
화상형성장치(30)는 수신된 인쇄 데이터를 이용하여 사용자(10)가 요청한 인쇄 작업, 예를 들어 인쇄, 복사, 이메일 전송 등의 화상형성 작업을 수행한다.
처리부(110)는 생성된 컨텐츠의 인쇄 데이터의 전송이 완료된 경우, 활성화된 컴패니언 윈도우를 비활성화한다. 그리고 또한, 처리부(110)는 실행된 인쇄 애플리케이션의 종료를 수행한다.
이로써, 소스 애플리케이션(114)와 인쇄 애플리케이션(타겟 애플리케이션(116))간의 컨텐츠 공유는 완료된다.
이와 같은 애플리케이션들간의 공유 과정에서, 소스 애플리케이션(114)의 소스 윈도우는 계속하여 활성화된(표시된) 상태이고, 사용자(10)는 컴패니언 윈도우의 표시와 관계 없이, 소스 윈도우와 언제든지 인터페이싱이 가능하다. 즉, 사용자(10)는 컴패니언 윈도우가 표시된 상태에서도 소스 윈도우를 통해 계속하여 소스 애플리케이션(114)에서 컨텐츠를 사용할 수 있다.
도 5는 본 발명의 일 실시예에 따른 운영체제(OS)(112)의 중개에 의하여, 소스 애플리케이션 1(115)(Photo Viewer) 및 타겟 애플리케이션 1(117)(Printing Application) 사이에서 공유된 컨텐츠를 인쇄하는 과정을 도시한 도면이다. 도 5에서 설명된 과정은 도 2a, 2b 및 3에 도시된 컴퓨팅 장치(20)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 2a, 2b 및 3에 관하여 이상에서 기술된 내용은 도 5에도 적용될 수 있다.
도 5를 참고하면, 운영체제(OS)(112), 소스 애플리케이션 1(115)(Photo Viewer) 및 타겟 애플리케이션 1(117)(Printing Application)은 처리부(110)의 제어에 의하여 동작할 수 있다.
501 단계에서, 소스 애플리케이션 1(115)(Photo Viewer)은 운영체제(OS)(112)에 공유 가능한 컨텐츠의 타입을 등록한다. 예를 들면, 소스 애플리케이션 1(115)(Photo Viewer)은 Windows® 운영체제(OS)의 DataTransfer Manager에 공유 가능한 컨텐츠의 타입을 등록할 수 있다.
비록, 도 5에는 도시되지 않았지만, 타겟 애플리케이션 1(117)(Printing Application)도 마찬가지로 운영체제(OS)(112)에 공유 가능한 컨텐츠의 타입을 등록할 수 있다.
502 단계에서, 입력부(122)는 소스 애플리케이션 1(115)(Photo Viewer)에서 컨텐츠가 사용되는 도중에 사용자(10)로부터 공유 액션의 요청(또는 인보크)에 관한 입력(Share 명령)을 수신한다.
503 단계에서, 소스 애플리케이션 1(115)(Photo Viewer)은 공유 액션의 이벤트가 발생된 경우, 컨텐츠를 공유하기 위한 데이터를 생성한다. 이 때, 소스 애플리케이션 1(115)(Photo Viewer)은 Windows® 운영체제(OS)의 DataPackage 형식으로 컨텐츠에 관한 데이터를 작성할 수 있다.
504 단계에서, 소스 애플리케이션 1(115)(Photo Viewer)은 컨텐츠를 공유하기 위한 데이터의 생성이 완료되었음을, 운영체제(OS)(112)에 통지한다.
505 단계에서, 처리부(110)는 운영체제(OS)(112)를 제어하여, 공유할 컨텐츠의 타입에 매핑되는 타겟 애플리케이션들을 판단한다. 이 때, 처리부(110)는 타겟 애플리케이션 1(117)(Printing Application)이 공유 가능한 타겟 애플리케이션에 해당되는 것으로 필터링할 수 있다.
그리고, 표시부(124)는 컴패니언 윈도우 상에 타겟 애플리케이션 1(117)(Printing Application)을 제공하여 컴패니언 윈도우를 표시한다.
506 단계에서, 입력부(122)는 사용자(10)로부터 타겟 애플리케이션 1(117)(Printing Application)의 선택에 관한 입력을 수신한다.
507 단계에서, 처리부(110)는 컴패니언 윈도우 상에서 타겟 애플리케이션 1(117)(Printing Application)이 활성화(실행)되도록 운영체제(OS)(112)를 제어한다.
508 단계에서, 타겟 애플리케이션 1(117)(Printing Application)은 앞서 설명한 바와 같이, 컴패니언 윈도우 상에서 실행된다.
509 단계에서, 타겟 애플리케이션 1(117)(Printing Application)은 운영체제(OS)(112)의 중개에 의해 전송된 컨텐츠의 데이터를 분석한다.
510 단계에서, 표시부(124)는 컴패니언 윈도우 상에 컨텐츠의 프리뷰 또는 컨텐츠에 설정 가능한 인쇄 옵션들을 제공하는 UI 화면을 표시한다.
511 단계에서, 입력부(122)는 사용자(10)로부터 인쇄 옵션들에 대한 설정과 인쇄 명령을 수신한다.
512 단계에서, 타겟 애플리케이션 1(117)(Printing Application)은 운영체제(OS)(112)에 인쇄 완료에 관한 이벤트를 전송한다.
도 6은 본 발명의 일 실시예에 따른, 태블릿 디바이스(24)의 사용자 인터페이스부(120)에 표시된 소스 윈도우(610) 및 사이드바(620)를 도시한 도면이다. 도 6의 화면 구성은 본 실시예의 설명의 편의를 위하여 임의로 도시된 것일 뿐, 본 실시예는 이에 제한되지 않는다.
도 6을 참고하면, 사용자(10)는 태블릿 디바이스(24)에서 소스 애플리케이션(Photo Viewer)를 실행시키고, 소스 애플리케이션(Photo Viewer)의 소스 윈도우(610)를 통해 이미지 컨텐츠를 감상할 수 있다.
이 때, 사용자(10)가 태블릿 디바이스(24) 상에 특정 제스쳐를 입력한 경우, 사이드바(620)가 표시(활성화)된다. 도 6에서는 태블릿 디바이스(24)를 가정하여 설명함에 따라 특정 제스쳐를 예로 들었으나, 만약 컴퓨팅 장치(20)가 노트북(26)인 경우에는 특정한 위치로의 마우스 커서의 이동에 따라 사이드바(620)가 표시(활성화)될 수도 있다. 즉, 컴퓨팅 장치(20)의 종류에 따라 사이드바(620)가 표시(활성화)되는 방식은 달라질 수 있고, 어느 하나의 경우로 제한되지 않는다.
이와 같은 사이드바(620)에는 태블릿 디바이스(24)의 운영체제(OS)(112)에서 지원하는 시스템 액션들이 표시될 수 있다. 특히, 본 실시예에 따르면, 공유 액션에 관한 공유 아이콘(601)이 표시될 수 있다.
즉, 사용자(10)가 소스 윈도우(610)를 통해 감상하고 있는 이미지 컨텐츠를 인쇄 애플리케이션으로 공유하고자 할 경우, 먼저 사용자(10)는 공유 아이콘(601)을 포함하는 사이드바(620)를 활성화시킨다.
한편, 사이드바(620)는 표시부(124)의 화면 상에서 왼쪽, 오른쪽, 상단, 하단 등의 어느 위치에서도 표시될 수 있는 것으로서, 도 6에 도시된 바에 제한되지 않는다. 그리고, 사이드바(620)는 Windows 8®의 Charm Menu에 해당될 수 있다.
도 7a는 본 발명의 일 실시예에 따른, 태블릿 디바이스(24)의 사용자 인터페이스부(120)에 표시된 사이드바(620) 및 제 1 컴패니언 윈도우(710)를 도시한 도면이다. 도 7a의 화면 구성은 본 실시예의 설명의 편의를 위하여 임의로 도시된 것일 뿐, 본 실시예는 이에 제한되지 않는다.
한편, 사이드바(620)에서 공유 아이콘(601)이 선택된 경우, 사이드바(620)는 닫히고 그 대신에 제 1 컴패니언 윈도우(710)만이 표시될 수 있다. 또는, 사이드바(620)와 제 1 컴패니언 윈도우(710)는 동시에 계단식으로 표시될 수 있다. 즉, 어느 하나의 경우에 제한되지 않는다.
사이드바(620)는 도 6에서, 사용자(10)가 소스 윈도우(610)를 통해 감상하고 있는 이미지 컨텐츠를 인쇄 애플리케이션으로 공유하고자 하여 특정 제스처를 입력한 경우에, 활성화될 수 있다.
입력부(122)는 사용자(10)로부터 공유 아이콘(601)의 선택에 관한 입력을 수신한다.
사이드바(620)에서 공유 아이콘(601)이 선택되면, 처리부(110)는 소스 애플리케이션(Photo Viewer)에서 사용 중인 컨텐츠의 공유가 가능한 타겟 애플리케이션들의 목록을 제공하는 제 1 컴패니언 윈도우(710)를 활성화한다. 그리고, 표시부(124)는 이와 같은 제 1 컴패니언 윈도우(710)를 표시한다.
도 7a를 참고하면, 제 1 컴패니언 윈도우(710)에는, 소스 애플리케이션(Photo Viewer)에서 사용 중인 컨텐츠의 공유가 가능한 타겟 애플리케이션들의 목록으로서, 인쇄 애플리케이션(701), 타겟 애플리케이션 2 및 3(703)이 표시된다. 이를 이유로, 제 1 컴패니언 윈도우(710)는 Target Picker로 불리어질 수 있다. 이와 같은 타겟 애플리케이션들(701, 703)은 소스 애플리케이션(Photo Viewer)의 컨텐츠를 공유하고자 하는 공유 엔드 포인트들에 해당된다.
이 때, 사용자(10)는 제 1 컴패니언 윈도우(710) 상에 표시된 인쇄 애플리케이션(701)을 입력부(122)를 통해 선택할 수 있다.
도 7b는 본 발명의 일 실시예에 따른, 태블릿 디바이스(24)의 사용자 인터페이스부(120)에 표시된 사이드바(620), 제 1 컴패니언 윈도우(710) 및 제 2 컴패니언 윈도우(720)를 도시한 도면이다. 도 7b의 화면 구성은 본 실시예의 설명의 편의를 위하여 임의로 도시된 것일 뿐, 본 실시예는 이에 제한되지 않는다.
한편, 사이드바(620), 제 1 컴패니언 윈도우(710) 및 제 2 컴패니언 윈도우(720)는 모두 동시에 계단식으로 표시되거나 또는 현재 사용 중인 적어도 하나만이 표시될 수 있다. 즉, 어느 하나의 경우에 제한되지 않는다.
입력부(122)는 사용자(10)로부터 인쇄 애플리케이션(701)의 선택에 관한 입력을 수신한다.
제 1 컴패니언 윈도우(710)에서 인쇄 애플리케이션(701)이 선택되면, 처리부(110)는 공유된 컨텐츠의 프리뷰 또는 컨텐츠에 설정 가능한 인쇄 옵션들(705)을 제공하는 제 2 컴패니언 윈도우(720)를 활성화한다. 표시부(124)는 이와 같은 프리뷰 또는 인쇄 옵션들(705)을 제공하는 인쇄 애플리케이션(701)의 UI 화면을 제 2 컴패니언 윈도우(720) 상에 표시한다.
한편, 도 7b에는 도시되지 않았지만, 표시부(124)는 제 2 컴패니언 윈도우(720) 상에 컨텐츠의 인쇄가 가능한 화상형성장치(30)의 목록 또는 인쇄 가능한 다른 화상형성장치를 탐색(discovery)하는 메뉴를 추가로 표시할 수 있다.
사용자(10)는 인쇄 옵션들(705)의 설정이 완료된 경우, 인쇄 버튼(707)을 클릭함으로써, 화상형성장치(30)에 인쇄를 명령할 수 있다.
도 8a 및 8b는 본 발명의 일 실시예에 따른, 태블릿 디바이스(24)의 제 2 컴패니언 윈도우(720)를 통해, 컨텐츠의 타입에 따라 서로 다른 인쇄 옵션들을 제공하는 인쇄 애플리케이션(701)의 UI 화면(810 또는 820)을 도시한 도면이다.
한편, 도 8a 및 8b의 화면 구성은 본 실시예의 설명의 편의를 위하여 임의로 도시된 것일 뿐, 본 실시예는 이에 제한되지 않는다. 또한, 사이드바(620), 제 1 컴패니언 윈도우(710) 및 제 2 컴패니언 윈도우(810 또는 820)는 모두 동시에 계단식으로 표시되거나 또는 현재 사용 중인 적어도 하나만이 표시될 수 있다. 즉, 어느 하나의 경우에 제한되지 않는다.
도 8a를 참고하면, 사용자(10)는 인쇄 애플리케이션(701)으로 이미지 컨텐츠를 공유하고자 할 수 있다.
공유될 컨텐츠가 이미지 컨텐츠인 경우, 제 2 컴패니언 윈도우(810)의 인쇄 애플리케이션(701)은 이미지 컨텐츠의 프리뷰(811), 회전, 크롭 등의 이미지 편집 옵션들(813), 기타 인쇄 옵션들(815)을 제공할 수 있다.
그러나, 도 8b를 참고하면, 사용자(10)는 인쇄 애플리케이션(701)으로 문서 컨텐츠(예를 들어, Galaxy Note™의 사용 설명서)를 공유하고자 할 수 있다.
공유될 컨텐츠가 문서 컨텐츠인 경우, 제 2 컴패니언 윈도우(810)의 인쇄 애플리케이션(701)은 문서 컨텐츠의 프리뷰(821), 기타 인쇄 옵션들(823)을 제공할 수 있다.
즉, 도 8a 및 8b에 도시된 바와 같이, 인쇄 애플리케이션(701)은 제 2 컴패니언 윈도우(810)상에 공유될 컨텐츠의 타입에 따라 서로 다른 인쇄 옵션들을 제공할 수 있다.
사용자(10)는 인쇄 옵션들(813, 815 또는 823)의 설정이 완료된 경우, 인쇄 버튼(817 또는 825)을 클릭함으로써, 화상형성장치(30)에 인쇄를 명령할 수 있다.
도 9는 본 발명의 일 실시예에 따른, 컴퓨팅 장치(20)에서 애플리케이션들간에 공유된 컨텐츠를 인쇄하기 위한, 표시부(124) 상에서 화면들(910, 920 및 920)의 전환 과정을 도시한 도면이다. 도 9의 화면 구성은 본 실시예의 설명의 편의를 위하여 임의로 도시된 것일 뿐, 본 실시예는 이에 제한되지 않는다.
참조번호 910의 화면은, 도 6과 유사한 화면으로서, 사용자(10)는 소스 애플리케이션(Photo Viewer)을 실행시키고, 소스 애플리케이션(Photo Viewer)의 소스 윈도우(610)를 통해 이미지 컨텐츠를 감상할 수 있다. 사용자(10)가 소스 윈도우(610)를 통해 이미지 컨텐츠를 감상하고 있는 도중에 이미지 컨텐츠를 인쇄 애플리케이션(701)으로 공유하고자 할 경우, 사용자(10)는 특정 제스쳐를 입력한다. 이에 따라, 공유 아이콘(601)을 포함하는 사이드바(620)가 표시부(124)에 표시된다.
참조번호 920의 화면은, 도 7a와 유사한 화면으로서, 사용자(10)가 공유 아이콘(601)을 선택한 경우의 화면이다. 참조번호 920의 화면에 따르면, 사이드바(620)는 닫히고, 그 대신에 컨텐츠의 공유가 가능한 인쇄 애플리케이션(701)을 제공하는 제 1 컴패니언 윈도우(710)가 표시된다.
참조번호 930의 화면은, 도 7b와 유사한 화면으로서, 사용자(10)가 인쇄 애플리케이션(701)을 선택한 경우의 화면이다. 참조번호 930의 화면에 따르면, 제 1 컴패니언 윈도우(710)는 닫히고, 그 대신에 인쇄 애플리케이션(701)의 프리뷰 또는 인쇄 옵션들의 설정 UI 화면을 제공하는 제 2 컴패니언 윈도우(720)가 표시된다.
한편, 참조번호 910, 920 및 930의 화면에서, 소스 윈도우(610)는 계속하여 활성화된(표시된) 상태로 유지되어 있다. 즉, 컴패니언 윈도우들(710 또는 720)은 소스 윈도우(610)에 인접하거나 또는 부분적으로 오버랩되어 표시될 뿐, 소스 윈도우(610)는 컴패니언 윈도우들(710 또는 720)에 의해 가려지지 않고(unoccluded) 유지된다.
다시 도 3을 참고하면, 사용자(10)는 소스 윈도우를 통해 계속적으로 소스 애플리케이션(114)(예를 들어, Photo Viewer, MS Word 등)을 사용하는 동시에 컴패니언 윈도우들(도 9의 710 또는 720)을 통해 인쇄 애플리케이션(도 9의 701)을 구동시킬 수 있으므로, 사용자(10)는 어떠한 소스 애플리케이션(114)을 사용하고 있던지 간에, 사용하던 컨텐츠를 즉시 인쇄할 수 있다.
또한, 사용자(10)는 인쇄 작업을 수행한 후, 곧바로 자신이 사용하던 소스 애플리케이션(114)으로 돌아올 수 있기 때문에 다시 소스 애플리케이션(114)을 구동시켜야 하는 번거로움을 줄일 수 있다.
나아가서, 운영체제(OS)(112)에 문서 편집 애플리케이션이 설치되어 있지 않더라도, 사용자(10)는 웹스토리지 또는 웹상에 있는 문서의 프리뷰도 확인하고 인쇄도 수행할 수 있다.
특히, 컴패니언 윈도우들(도 9의 710 또는 720)에서만 실행되는 인쇄 애플리케이션(도 9의 701)은 그 처리 로드가 비교적 작고, 또한 메모리 영역을 비교적 적게 사용하는 가벼운 애플리케이션인바, 사용자(10)는 소스 애플리케이션(114)의 동작을 방해하지 않고 인쇄 작업을 간편하게 수행할 수 있다. 즉, 사용자(10)는 컴패니언 윈도우들(도 9의 710 또는 720)을 이용함으로써, 일반적인 프린터 드라이버를 이용하여 인쇄 작업을 수행할 때와는 다른 환경에서 인쇄 작업을 수행할 수 있다.
또한, 이동성이 잦은 모바일 환경에서 사용자(10)가 태블릿 디바이스(24)를 갖고 이동하면서 인쇄를 원할 경우 주변의 프린터에 호환되는 프린터 드라이버를 설치하지 않더라도 즉시 프린터를 찾아 인쇄가 가능하므로, 사용자(10)에게 컨텐츠의 인쇄에 관한 편리함을 제공할 수 있다.
도 11은 본 발명의 일 실시예에 따른, 운영체제(OS)(112)에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법을 도시한 흐름도이다. 도 11을 참고하면, 본 실시예에 따른 공유된 컨텐츠의 인쇄 방법은 도 1 내지 10에서 설명된 컴퓨팅 장치(20)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1 내지 10에 관하여 이상에서 기술된 내용은 본 실시예에 따른 공유된 컨텐츠의 인쇄 방법에도 적용된다.
1101 단계에서, 처리부(110)는 소스 애플리케이션(114)에서 사용 중인 컨텐츠의 공유를 위하여 요청된 공유 액션에 따라, 인쇄 애플리케이션(타겟 애플리케이션(116))을 제공하는 컴패니언 윈도우가 활성화되도록 운영체제(OS)(112)를 제어한다. 이 때, 표시부(124)는 이와 같은 컴패니언 윈도우를 표시할 수 있다.
1102 단계에서, 처리부(110)는 인쇄 애플리케이션으로 컨텐츠가 공유되는 경우, 활성화된 컴패니언 윈도우 상에서 인쇄 애플리케이션이 실행되도록 운영체제(OS)(112) 및 인쇄 애플리케이션을 제어한다.
1103 단계에서, 처리부(110)는 활성화된 컴패니언 윈도우를 통해 컨텐츠에 대한 인쇄 설정이 완료된 경우, 실행된 인쇄 애플리케이션을 이용하여 컨텐츠에 대한 인쇄 데이터가 생성되도록 운영체제(OS)(112) 및 인쇄 애플리케이션을 제어한다.
도 12은 본 발명의 일 실시예에 따른, 운영체제(OS)(112)에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법의 상세 흐름도이다. 도 12를 참고하면, 본 실시예에 따른 공유된 컨텐츠의 인쇄 방법은 도 1 내지 11에서 설명된 컴퓨팅 장치(20)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1 내지 11에 관하여 이상에서 기술된 내용은 본 실시예에 따른 공유된 컨텐츠의 인쇄 방법에도 적용된다.
1201 단계에서, 입력부(122)는 소스 애플리케이션(114)에서 컨텐츠가 사용되는 도중에 사용자(10)로부터 공유 액션의 요청(또는 인보크)에 관한 입력(Share 명령)을 수신한다.
1202 단계에서, 처리부(110)는 공유하고자 하는 컨텐츠의 타입이 인쇄 애플리케이션(타겟 애플리케이션(116))에서 공유가 가능한 컨텐츠의 타입에 매핑되는지 여부를 판단한다. 만약, 공유 가능한 컨텐츠인 경우, 처리부(110)는 1203 단계를 수행한다. 그러나, 그렇지 않다면, 공유된 컨텐츠는 인쇄될 수 없는바, 처리부(110)는 본 방법을 종료한다.
1203 단계에서, 표시부(124)는 컴패니언 윈도우 상에 컨텐츠의 프리뷰를 표시한다.
1204 단계에서, 표시부(124)는 컴패니언 윈도우 상에 컨텐츠에 대해 설정 가능한 인쇄 옵션들을 표시한다. 이 때, 인쇄 옵션들은 컨텐츠의 타입에 따라 변경될 수 있음을 앞에서 설명하였다.
1205 단계에서, 처리부(110)는 컨텐츠의 인쇄가 가능한 화상형성장치(30)가 존재하는지 여부를 판단한다. 만약, 존재한다면, 표시부(124)는 컴패니언 윈도우 상에 컨텐츠의 인쇄가 가능한 화상형성장치(30)의 목록을 표시하고, 처리부(110)는 1207 단계를 수행한다. 그러나, 그렇지 않다면, 처리부(110)는 1206 단계를 수행한다.
1206 단계에서, 표시부(124)는 컴패니언 윈도우 상에 컨텐츠의 인쇄가 가능한 화상형성장치를 탐색(discovery)하기 위한 메뉴를 표시한다.
1207 단계에서, 처리부(110)는 사용자(10)에 의한 인쇄 옵션의 설정이 완료되었는지 여부를 판단한다. 이 때, 처리부(110)는 컴패니언 윈도우 상에 표시된 인쇄 애플리케이션에서 인쇄 버튼이 입력되었는지 여부를 기초로 인쇄 옵션 설정의 완료를 판단할 수 있다. 만약, 완료되었다면, 처리부(110)는 1208 단계를 수행한다. 그러나, 그렇지 않다면, 처리부(110)는 1203 단계를 다시 수행한다. 이 경우, 1203 단계가 다시 수행될 때, 표시부(124)는 변경된 인쇄 옵션에 따른 업데이트된 프리뷰를 표시할 수 있다.
1208 단계에서, 처리부(110)는 인쇄 애플리케이션을 이용하여, 컨텐츠에 대한 인쇄 데이터를 생성한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100: 화상형성시스템
10: 사용자 20: 컴퓨팅 장치
22: 스마트폰 24: 태블릿 디바이스
26: 노트북 30: 화상형성장치
110: 처리부(processor) 120: 사용자 인터페이스부
122: 입력부 124: 표시부
130: 저장부 140: 네트워크 인터페이스부
112: 운영체제(OS) 114: 소스 애플리케이션
116: 타겟 애플리케이션

Claims (40)

  1. 운영체제에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법에 있어서,
    소스 애플리케이션에서 사용 중인 컨텐츠의 공유를 위하여 요청된 공유 액션에 따라, 인쇄 애플리케이션을 제공하는 컴패니언 윈도우를 활성화하는 단계;
    상기 인쇄 애플리케이션으로 상기 컨텐츠가 공유되는 경우, 상기 활성화된 컴패니언 윈도우 상에서 상기 인쇄 애플리케이션을 실행하는 단계; 및
    상기 활성화된 컴패니언 윈도우를 통해 상기 컨텐츠에 대한 인쇄 설정이 완료된 경우, 상기 실행된 인쇄 애플리케이션을 이용하여 상기 컨텐츠에 대한 인쇄 데이터를 생성하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 인쇄 애플리케이션은
    상기 소스 애플리케이션의 소스 윈도우가 유지되는 동안 상기 공유 액션에 의해 활성화된 상기 컴패니언 윈도우 상에서 실행되는 컴패니언 애플리케이션인, 방법.
  3. 제 1 항에 있어서,
    상기 인쇄 애플리케이션은
    상기 운영체제에 프린터 드라이버 애플리케이션이 설치될 때 함께 설치되는 컴패니언 애플리케이션인, 방법.
  4. 제 3 항에 있어서,
    상기 생성하는 단계는
    상기 프린터 드라이버 애플리케이션의 구동 없이, 상기 실행된 인쇄 애플리케이션을 이용하여 상기 인쇄 데이터를 생성하는, 방법.
  5. 제 1 항에 있어서,
    상기 운영체제는
    상기 공유 액션의 이벤트가 발생된 경우, 상기 소스 애플리케이션과 상기 인쇄 애플리케이션 사이에서 상기 컨텐츠에 관한 데이터의 중개(brokerage)를 수행하는, 방법.
  6. 제 1 항에 있어서,
    상기 인쇄 애플리케이션이 실행된 경우, 상기 활성화된 컴패니언 윈도우 상에 상기 컨텐츠의 프리뷰 및 상기 컨텐츠에 설정 가능한 인쇄 옵션들을 제공하는 사용자 인터페이스 화면을 표시하는 단계를 더 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 컴패니언 윈도우의 상기 사용자 인터페이스 화면은
    상기 컨텐츠의 타입에 따라 서로 다른 종류의 인쇄 옵션들을 제공하는, 방법.
  8. 제 6 항에 있어서,
    상기 활성화된 컴패니언 윈도우 상에 표시된 상기 사용자 인터페이스 화면을 통해 상기 컨텐츠에 대한 상기 인쇄 옵션들의 설정을 수신하는 단계; 및
    상기 사용자 인터페이스 화면에, 상기 수신된 인쇄 옵션들의 설정에 기초하여 업데이트된 프리뷰를 표시하는 단계를 더 포함하는, 방법.
  9. 제 1 항에 있어서,
    상기 소스 애플리케이션에서 상기 컨텐츠가 사용 중인 동안, 사용자로부터 상기 컨텐츠의 공유를 요청하는 상기 공유 액션의 입력을 수신하는 단계; 및
    상기 입력이 수신된 경우, 상기 컨텐츠의 타입이 상기 인쇄 애플리케이션에서 공유 가능한(shareable) 컨텐츠인지 여부를 판단하는 단계를 더 포함하고,
    상기 활성화하는 단계는
    상기 컨텐츠가 상기 공유 가능한 컨텐츠로 판단된 경우, 상기 컴패니언 윈도우에 포함될 타겟 애플리케이션들의 목록에 상기 인쇄 애플리케이션을 포함하여 상기 컴패니언 윈도우를 활성화하는, 방법.
  10. 제 9 항에 있어서,
    상기 소스 애플리케이션에서 공유 가능한(shareable) 컨텐츠의 타입을 상기 운영체제에 등록(register)하는 단계; 및
    상기 인쇄 애플리케이션에서 공유 가능한 컨텐츠의 타입을 상기 운영체제에 등록하는 단계를 더 포함하고,
    상기 판단하는 단계는
    상기 소스 애플리케이션 및 상기 인쇄 애플리케이션 각각에 대해 등록된 공유 가능한 컨텐츠의 타입이 매핑되는지 여부에 기초하여, 상기 공유 가능한 컨텐츠를 판단하는, 방법.
  11. 제 1 항에 있어서,
    상기 컴패니언 윈도우는
    상기 컨텐츠의 공유가 가능한 공유 엔드 포인트들(sharing end points)에 해당되는 숏컷 또는 타겟 애플리케이션들의 목록을 제공하는 제 1 컴패니언 윈도우, 및 상기 목록 중에서 사용자로부터 선택된 공유 엔드 포인트에 대한 작업을 수행하는 제 2 컴패니언 윈도우를 포함하고,
    상기 공유 엔드 포인트는 상기 인쇄 애플리케이션을 포함하는, 방법.
  12. 제 1 항에 있어서,
    상기 인쇄 애플리케이션이 실행된 경우, 상기 활성화된 컴패니언 윈도우상에 상기 컨텐츠의 인쇄가 가능한 화상형성장치의 목록을 제공하는 단계를 더 포함하는, 방법.
  13. 제 1 항에 있어서,
    상기 생성하는 단계는
    컴포넌트 객체 모델(component object model, COM)을 이용하여 상기 컨텐츠를 인쇄 가능한 포맷으로 렌더링함으로써 상기 인쇄 데이터를 생성하는, 방법.
  14. 제 1 항에 있어서,
    상기 생성된 인쇄 데이터를 화상형성장치로 전송하는 단계를 더 포함하는, 방법.
  15. 제 14 항에 있어서,
    상기 인쇄 데이터의 전송이 완료된 경우, 상기 활성화된 컴패니언 윈도우의 비활성화 및 상기 실행된 인쇄 애플리케이션의 종료를 수행하는 단계를 더 포함하는, 방법.
  16. 제 1 항에 있어서,
    상기 인쇄 애플리케이션에서 공유 가능한 컨텐츠의 타입은
    상기 운영체제에 설치된 복수의 소스 애플리케이션들에서 사용 가능한 컨텐츠들의 타입을 포함하는, 방법.
  17. 제 1 항에 있어서,
    상기 컴패니언 윈도우는
    상기 소스 애플리케이션의 소스 윈도우에 인접하거나(proximate) 또는 부분적으로 오버랩되어 상기 소스 윈도우와 동시에 표시되고,
    상기 소스 애플리케이션 및 상기 인쇄 애플리케이션은
    하나의 사용자 인터페이스 화면 상에서 동시에 작업이 가능한, 방법.
  18. 제 1 항 내지 제 17 항 중의 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  19. 운영체제에 설치된 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 장치에 있어서,
    소스 애플리케이션에서 사용 중인 컨텐츠의 공유를 위하여 요청된 공유 액션에 따라, 인쇄 애플리케이션을 제공하는 컴패니언 윈도우를 표시하는 표시부; 및
    상기 인쇄 애플리케이션으로 상기 컨텐츠가 공유되는 경우 상기 표시된 컴패니언 윈도우 상에 상기 인쇄 애플리케이션을 실행하고, 상기 표시된 컴패니언 윈도우를 통해 상기 컨텐츠에 대한 인쇄 설정이 완료된 경우 상기 실행된 인쇄 애플리케이션을 이용하여 상기 컨텐츠에 대한 인쇄 데이터를 생성하는 처리부를 포함하는, 장치.
  20. 제 19 항에 있어서,
    상기 인쇄 애플리케이션은
    상기 소스 애플리케이션의 소스 윈도우가 유지되는 동안 상기 공유 액션에 의해 표시된 상기 컴패니언 윈도우 상에서 실행되는 컴패니언 애플리케이션인, 장치.
  21. 제 19 항에 있어서,
    상기 표시부는
    상기 인쇄 애플리케이션이 실행된 경우, 상기 표시된 컴패니언 윈도우 상에 상기 컨텐츠의 프리뷰 및 상기 컨텐츠에 설정 가능한 인쇄 옵션들을 제공하는 사용자 인터페이스 화면을 표시하는, 장치.
  22. 제 21 항에 있어서,
    상기 컴패니언 윈도우의 상기 사용자 인터페이스 화면은
    상기 컨텐츠의 타입에 따라 서로 다른 종류의 인쇄 옵션들을 제공하는, 장치.
  23. 제 21 항에 있어서,
    상기 컴패니언 윈도우 상에 표시된 상기 사용자 인터페이스 화면을 통해 상기 컨텐츠에 대한 상기 인쇄 옵션들의 설정을 수신하는 입력부를 더 포함하고,
    상기 표시부는
    상기 사용자 인터페이스 화면에, 상기 수신된 인쇄 옵션들의 설정에 기초하여 업데이트된 프리뷰를 표시하는, 장치.
  24. 제 19 항에 있어서,
    상기 소스 애플리케이션에서 상기 컨텐츠가 사용 중인 동안, 사용자로부터 상기 컨텐츠의 공유를 요청하는 상기 공유 액션의 입력을 수신하는 입력부를 더 포함하고,
    상기 처리부는
    상기 입력이 수신된 경우, 상기 컨텐츠의 타입이 상기 인쇄 애플리케이션에서 공유 가능한(shareable) 컨텐츠인지 여부를 판단하고,
    상기 표시부는
    상기 컨텐츠가 상기 공유 가능한 컨텐츠로 판단된 경우, 상기 컴패니언 윈도우에 포함될 타겟 애플리케이션들의 목록에 상기 인쇄 애플리케이션을 포함하여 상기 컴패니언 윈도우를 표시하는, 장치.
  25. 제 19 항에 있어서,
    상기 표시부는
    상기 인쇄 애플리케이션이 실행된 경우, 상기 표시된 컴패니언 윈도우상에 상기 컨텐츠의 인쇄가 가능한 화상형성장치의 목록을 제공하는, 장치.
  26. 제 19 항에 있어서,
    상기 처리부는
    컴포넌트 객체 모델(component object model, COM)을 이용하여 상기 컨텐츠를 인쇄 가능한 포맷으로 렌더링하는 컨텐츠 변환부; 및
    상기 렌더링 결과에 기초하여 상기 인쇄 데이터를 생성하는 인쇄 데이터 생성부를 포함하는, 장치.
  27. 제 19 항에 있어서,
    상기 생성된 인쇄 데이터를 화상형성장치로 전송하는 네트워크 인터페이스부를 더 포함하는, 장치.
  28. 제 19 항에 있어서,
    상기 표시부는
    상기 컴패니언 윈도우와 상기 소스 애플리케이션의 소스 윈도우가 서로 인접하거나(proximate) 또는 부분적으로 오버랩하도록 상기 컴패니언 윈도우와 상기 소스 윈도우를 동시에 표시하고,
    상기 소스 윈도우는
    상기 컴패니언 윈도우의 활성화와 관계 없이, 사용자와의 인터페이싱이 가능한, 장치.
  29. 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 장치에 있어서,
    운영체제, 소스 애플리케이션 및 인쇄 애플리케이션의 명령어들을 처리하는 처리부; 및
    상기 운영체제, 상기 소스 애플리케이션 및 상기 인쇄 애플리케이션을 저장하는 저장부를 포함하고,
    상기 소스 애플리케이션은, 소스 윈도우를 통해 사용자와 인터페이싱함으로써 컨텐츠를 사용하고,
    상기 운영체제는, 상기 소스 애플리케이션에서 사용 중인 상기 컨텐츠의 공유를 위하여 요청된 공유 액션에 따라 상기 인쇄 애플리케이션을 제공하는 컴패니언 윈도우를 활성화하고,
    상기 인쇄 애플리케이션은, 상기 공유 액션에 따라 상기 활성화된 컴패니언 윈도우상에서 실행되고, 상기 활성화된 컴패니언 윈도우를 통해 상기 컨텐츠에 대한 인쇄 설정이 완료된 경우 상기 컨텐츠에 대한 인쇄 데이터를 생성하는, 장치.
  30. 제 29 항에 있어서,
    상기 인쇄 애플리케이션은
    상기 소스 애플리케이션의 상기 소스 윈도우가 유지되는 동안 상기 컴패니언 윈도우 상에서 실행되는 컴패니언 애플리케이션인, 장치.
  31. 제 29 항에 있어서,
    상기 운영체제는
    상기 인쇄 애플리케이션이 실행된 경우, 상기 활성화된 컴패니언 윈도우 상에 상기 컨텐츠의 프리뷰 및 상기 컨텐츠에 설정 가능한 인쇄 옵션들을 제공하는 사용자 인터페이스 화면을 활성화하는, 장치.
  32. 제 31 항에 있어서,
    상기 컴패니언 윈도우의 상기 사용자 인터페이스 화면은
    상기 컨텐츠의 타입에 따라 서로 다른 종류의 인쇄 옵션들을 제공하는, 장치.
  33. 제 29 항에 있어서,
    상기 처리부는
    상기 소스 애플리케이션에서 공유 가능한(shareable) 컨텐츠의 타입을 상기 운영체제에 등록(register)하고,
    상기 인쇄 애플리케이션에서 공유 가능한 컨텐츠의 타입을 상기 운영체제에 등록하고,
    상기 공유 액션이 요청된 경우, 상기 컨텐츠의 타입이 상기 인쇄 애플리케이션에서 공유 가능한 컨텐츠인지 여부를 판단하고,
    상기 운영체제는
    상기 컨텐츠가 상기 공유 가능한 컨텐츠로 판단된 경우, 상기 컴패니언 윈도우에 포함될 타겟 애플리케이션들의 목록에 상기 인쇄 애플리케이션을 포함하여 상기 컴패니언 윈도우를 활성화하는, 장치.
  34. 제 33 항에 있어서,
    상기 운영체제는
    상기 컨텐츠가 상기 공유 가능한 컨텐츠로 판단된 경우, 상기 소스 애플리케이션 및 상기 인쇄 애플리케이션 사이에서 상기 컨텐츠에 관한 데이터의 중개(brokerage)를 수행하는, 장치.
  35. 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 장치에 있어서,
    소스 애플리케이션의 소스 윈도우 및 인쇄 애플리케이션의 컴패니언 윈도우를 표시하는 표시부; 및
    상기 표시부를 제어하는 처리부를 포함하고,
    상기 표시부는, 상기 소스 애플리케이션에서 사용 중인 컨텐츠에 대한 공유 액션이 요청된 경우 상기 인쇄 애플리케이션을 제공하는 상기 컴패니언 윈도우를 표시하고,
    상기 컴패니언 윈도우는, 상기 인쇄 애플리케이션이 상기 컴패니언 윈도우상에서 실행된 경우 상기 컨텐츠의 프리뷰 및 상기 컨텐츠에 설정 가능한 인쇄 옵션들을 제공하는 사용자 인터페이스 화면을 포함하는, 장치.
  36. 제 35 항에 있어서,
    상기 컴패니언 윈도우의 상기 사용자 인터페이스 화면은
    상기 컨텐츠의 타입에 따라 서로 다른 종류의 인쇄 옵션들을 제공하는, 장치.
  37. 제 36 항에 있어서,
    상기 컴패니언 윈도우의 상기 사용자 인터페이스 화면을 통해 상기 컨텐츠에 대한 상기 인쇄 옵션들의 설정을 수신하는 입력부를 더 포함하고,
    상기 컴패니언 윈도우는
    상기 사용자 인터페이스 화면에 상기 수신된 인쇄 옵션들의 설정에 기초하여 업데이트된 프리뷰를 제공하는, 장치.
  38. 제 35 항에 있어서,
    상기 컴패니언 윈도우는
    상기 인쇄 애플리케이션이 실행된 경우, 상기 컨텐츠의 인쇄가 가능한 화상형성장치의 목록을 제공하는, 장치.
  39. 제 35 항에 있어서,
    상기 컴패니언 윈도우는
    상기 컨텐츠의 공유가 가능한 공유 엔드 포인트들(sharing end points)에 해당되는 숏컷 또는 타겟 애플리케이션들의 목록을 제공하는 제 1 컴패니언 윈도우, 및 상기 목록 중에서 사용자로부터 선택된 공유 엔드 포인트에 대한 작업을 수행하는 제 2 컴패니언 윈도우를 포함하고,
    상기 공유 엔드 포인트는 상기 인쇄 애플리케이션을 포함하는, 장치.
  40. 제 35 항에 있어서,
    상기 표시부는
    상기 소스 윈도우와 상기 컴패니언 윈도우가 서로 인접하거나(proximate) 또는 부분적으로 오버랩하도록 상기 컴패니언 윈도우와 상기 소스 윈도우를 동시에 표시하고,
    상기 소스 윈도우는
    상기 컴패니언 윈도우의 활성화와 관계 없이, 사용자와의 인터페이싱이 가능한, 장치.
KR1020130008211A 2012-10-12 2013-01-24 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법 및 이를 수행하는 컴퓨팅 장치 KR20140047493A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/968,649 US10474406B2 (en) 2012-10-12 2013-08-16 Method of printing content shared between applications and computing apparatus to perform the method
PCT/KR2013/008581 WO2014058164A1 (en) 2012-10-12 2013-09-25 Method of printing content shared between applications and computing apparatus to perform the method
EP13186025.6A EP2720137A3 (en) 2012-10-12 2013-09-25 Method of printing content shared between applications and computing apparatus to perform the method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261712937P 2012-10-12 2012-10-12
US61/712,937 2012-10-12

Publications (1)

Publication Number Publication Date
KR20140047493A true KR20140047493A (ko) 2014-04-22

Family

ID=50654067

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130008211A KR20140047493A (ko) 2012-10-12 2013-01-24 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법 및 이를 수행하는 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR20140047493A (ko)

Similar Documents

Publication Publication Date Title
US10474406B2 (en) Method of printing content shared between applications and computing apparatus to perform the method
JP5402650B2 (ja) 表示制御装置、情報処理システム、及び表示制御方法
US9241062B2 (en) Methods and systems for using external display devices with a mobile computing device
US20120192078A1 (en) Method and system of mobile virtual desktop and virtual trackball therefor
US20120140255A1 (en) Application launcher apparatus
US20170285894A1 (en) Tabs in System Task Switchers
KR101782998B1 (ko) 화상 형성 장치의 어플리케이션을 개발하는 방법 및 장치
US20100138780A1 (en) Methods and systems for using external display devices with a mobile computing device
TW201443670A (zh) 提供不計內容格式及類型之內容可存取性的虛擬庫
JP5765366B2 (ja) 画像処理装置、携帯端末装置、リモート画面データの作成プログラム及び表示制御プログラム
JP2012064220A (ja) ホスト装置及びホスト装置の画面キャプチャー制御方法
CN108292200B (zh) 信息处理装置、信息处理装置的控制方法和存储介质
WO2022076049A1 (en) Systems and methods for providing tab previews via an operating system user interface
JP2017021666A (ja) 情報処理装置、プログラム及び制御方法
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
JP2014010691A (ja) 情報処理装置、画面表示方法、およびプログラム
JP5345998B2 (ja) コンピュータ・システムの制御方法およびコンピュータ
US9727210B2 (en) User terminal device for supporting data share function and methods thereof
JP2012060521A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6449459B2 (ja) トグルインターフェース用のシステム及び方法
JP2016071693A (ja) プログラム、情報処理装置および情報処理装置の制御方法
JP6786199B2 (ja) 印刷制御装置、印刷制御装置の制御方法、及びプリンタドライバプログラム
JP2014063499A (ja) 表示制御装置、表示制御方法、及び表示制御プログラム
JP2014139749A (ja) 情報処理装置および制御方法およびプログラム
KR20140047493A (ko) 애플리케이션들간에 공유된 컨텐츠를 인쇄하는 방법 및 이를 수행하는 컴퓨팅 장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right