KR20170054407A - 콘텐츠를 현재 애플리케이션에 삽입하기 위한 개인화된 문맥 메뉴 제공 기법 - Google Patents

콘텐츠를 현재 애플리케이션에 삽입하기 위한 개인화된 문맥 메뉴 제공 기법 Download PDF

Info

Publication number
KR20170054407A
KR20170054407A KR1020177006995A KR20177006995A KR20170054407A KR 20170054407 A KR20170054407 A KR 20170054407A KR 1020177006995 A KR1020177006995 A KR 1020177006995A KR 20177006995 A KR20177006995 A KR 20177006995A KR 20170054407 A KR20170054407 A KR 20170054407A
Authority
KR
South Korea
Prior art keywords
content
user
computing device
intelligent
execution context
Prior art date
Application number
KR1020177006995A
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 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20170054407A publication Critical patent/KR20170054407A/ko

Links

Images

Classifications

    • G06F9/4443
    • 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]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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
    • G06F9/451Execution arrangements for user interfaces
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

개시된 청구 대상의 양상에 따르면, 현재 실행 문맥 외부에서 액세스가능한 콘텐츠로의 향상된 액세스를 제공하기 위한 시스템 및 방법. 인텔리전트 캔버스는 운영 시스템 레벨 서비스로서 제공된다. 운영 시스템 레벨 서비스로서 인텔리전트 캔버스를 구현하고/거나 제공함으로써, 인텔리전트 캔버스와의 사용자에 의한 인터랙션은 현재 실행 문맥으로부터의 변경을 필요로하지 않는다. 인텔리전트 캔버스와 인터랙팅하기 위한 요청을 수신할 시에, 인텔리전트 캔버스 뷰는 디스플레이를 위해 제시된다. 인텔리전트 캔버스 뷰는 복수의 사용자 작업가능한 컨트롤을 포함하고 적어도 하나의 사용자 작업가능한 컨트롤은 현재 실행 문맥으로 가져오기 위한 콘텐츠에 대응한다. 또한, 적어도 하나의 사용자 작업가능한 컨트롤의 대응하는 콘텐츠는 인텔리전트 캔버스 뷰에서의 제시를 위해 예측하여 선택된다.

Description

콘텐츠를 현재 애플리케이션에 삽입하기 위한 개인화된 문맥 메뉴 제공 기법{PERSONALIZED CONTEXTUAL MENU FOR INSERTING CONTENT IN A CURRENT APPLICATION}
대부분의 컴퓨터 사용자는 통상적으로 디바이스 상에서 다수의 앱 및/또는 애플리케이션을 구동시킨다. 이들 앱 및 애플리케이션은 사전결정된 세트의 서비스 및 기능을 제공하도록 설계된다. 종종, 하나의 애플리케이션의 서비스는 다른 애플리케이션으로의 입력으로서 역할을 하는 정보 또는 데이터를 포함할 것이다. 앱 미 애플리케이션 설계자들은 첫번째 애플리케이션의 정보가 어떻게 다른 애플리케이션의 입력으로서 사용될 수 있는지를 적절하게 예측할 수 없기 때문에, 컴퓨터 사용자가 사용자의 컴퓨터 상에서 사용가능한 어떠한 툴이든지 사용하여 정보의 전달을 용이하게 하도록 내버려둔다. 또한, 외부 데이터를 애플리케이션의 실행 콘텐츠로 전달하기 위해 사용가능한 툴은 가장 기초적인 서비스만을 제공하므로, 사용자가 애플리케이션의 실행 문맥을 수동으로 스위칭하여 데이터에 액세스하고 실행 문맥으로 다시 데이터를 전달해야 하는 경우가 흔히 있다.
다음의 발명의 내용은 이하 상세한 설명에서 추가로 설명되는 단순한 형태로 개념을 선택하는 것을 도입하도록 제공된다. 발명의 내용은 청구된 청구 대상의 주요 특징 또는 필수적인 특징을 식별하기 위한 것이 아니며, 청구된 청구 대상의 범위를 제한하도록 사용하기 위한 것도 아니다.
개시된 청구 대상의 양상에 따르면, 현재 실행 문맥 외부에서 액세스가능한 콘텐츠로의 향상된 액세스를 제공하기 위한 시스템 및 방법이 제공된다. 컴퓨팅 디바이스 상에서, 인텔리전트 캔버스가 운영 시스템 레벨 서비스로서 제공된다. 운영 시스템 레벨 서비스로서 인텔리전트 캔버스를 구현하고/거나 제공함으로써, 인텔리전트 캔버스와의 사용자에 의한 인터랙션은 현재 실행 문맥으로부터의 변경을 필요로 하지 않는다. 인텔리전트 캔버스와 인터랙팅하기 위한 요청을 수신할 시에, 인텔리전트 캔버스 뷰가 디스플레이를 위해 제시된다. 인텔리전트 캔버스 뷰는 복수의 사용자 작업가능한 컨트롤(uesr-actionable control)을 포함하고 적어도 하나의 사용자 작업가능한 컨트롤은 현재 실행 문맥으로 가져오기(importing) 위한 콘텐츠에 대응한다. 또한, 적어도 하나의 사용자 작업가능한 컨트롤의 대응하는 콘텐츠가인텔리전트 캔버스 뷰에서의 제시를 위해 예측하여 선택된다.
개시된 청구 대상의 추가 양상에 따르면, 현재 실행 문맥 외부에서 액세스가능한 콘텐츠로의 향상된 액세스를 제공하기 위한 추가 시스템 및 방법이 제시된다. 일 실시예에서, 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 매체는, 컴퓨터 실행가능 명령어가 컴퓨팅 디바이스 상에서 실행될 때, 현재 실행 문맥의 외부에서 액세스가능한 콘텐츠로의 향상된 액세스를 제공하는 방법을 수행한다. 실행 중에, 인텔리전트 캔버스는 운영 시스템 레벨 서비스로서 제공된다. 운영 시스템 레벨 서비스로서 인텔리전트 캔버스를 구현하고/거나 제공함으로써, 인텔리전트 캔버스와의 사용자에 의한 인터랙션은 현재 실행 문맥으로부터의 변경을 필요로하지 않는다. 인텔리전트 캔버스 이외에, 콘텐츠 캡쳐 프로세스가 또한 컴퓨팅 디바이스 상에 제공된다. 동작 중에, 콘텐츠 캡쳐 프로세스는 컴퓨팅 디바이스의 배경화면에서 실행한다. 또한, 콘텐츠 캡쳐 프로세스는 사용자에 의해 액세스된 콘텐츠를 캡쳐하고 사용자와 연관된 콘텐츠 카드 인덱스에 하나 이상의 콘텐츠 카드로서 캡쳐된 콘텐츠를 저장하도록 구성된다. 인텔리전트 캔버스와 인터랙팅하기 위한 요청을 수신할 시에, 인텔리전트 캔버스 뷰가 디스플레이를 위해 제시된다. 인텔리전트 캔버스 뷰는 복수의 사용자 작업가능한 컨트롤을 포함하고 적어도 하나의 사용자 작업가능한 컨트롤은 현재 실행 문맥으로 가져오기 위한 콘텐츠에 대응한다. 또한, 적어도 하나의 사용자 작업가능한 컨트롤의 대응하는 콘텐츠가 콘텐츠 카드 인덱스의 캡쳐된 콘텐츠로부터 인텔리전트 캔버스 뷰에서의 제시를 위해 예측하여 선택된다.
개시된 청구 대상의 또 다른 양상에 따르면, 현재 실행 문맥의 외부에서 액세스가능한 콘텐츠로의 향상된 액세스를 제공하는 컴퓨팅 디바이스가 제시된다. 컴퓨팅 디바이스는 프로세서와 메모리를 포함하고, 프로세서는 콘텐츠로의 향상된 액세스를 제공하는데 추가적인 컴포넌트와 함께 또는 추가적인 컴포넌트의 부분으로서 메모리에 저장되는 명령어를 실행한다. 추가적인 컴포넌트는 적어도 콘텐츠 캡쳐 컴포넌트 및 인텔리전트 클립보드를 포함한다. 콘텐츠 캡쳐 컴포넌트는 컴퓨팅 디바이스 상의 배경화면에서 작동하도록 구성된다. 콘텐츠 캡쳐 컴포넌트는 컴퓨팅 디바이스의 사용자에 의해 액세스되는 콘텐츠를 캡쳐하고 콘텐츠 카드 인덱스의 캡쳐된 콘텐츠를 저장하도록 더 구성된다.
또한, 개시된 청구 대상의 다양한 실시예에 따르면, 인텔리전트 클립보드가 제공된다. 인텔리전트 클립보드는 컴퓨팅 디바이스 상에서 운영 시스템 레벨 서비스로서 작동하도록 구성된다. 일반적으로, 예를 들어, 자르기(cut), 복사하기(copy) 및 붙여넣기(paste) 동작(이러한 사용자 인터랙션은 잘 알려져 있다)을 통해 사용자가 "통상적인" 클립보드를 가지면, 사용자가 인텔리전트 클립보드와 인터페이싱/인터랙팅한다. 그러나, 통상적인 클립보드와는 달리, 인텔리전트 클립보드는 클립보드에 캡쳐되는(즉, 클립보드에 의한 사용을 위해 임시 데이터 저장/메모리에 저장됨) 데이터와 관련된 풍부한 정보를 캡쳐한다. 풍부한 정보는 시맨틱 데이터, 관계, 구조적 조직 등을 포함한다. 또한, (통상적으로 복사하기 또는 자르기 동작을 통해) 인텔리전트 클립보드로 데이터를 캡쳐할 시에 하나 이상의 콘텐츠 카드가 캡쳐된 데이터/콘텐츠에 대해 생성된다. 인텔리전트 캔버스와 달리, 이렇게 동적으로 생성된 콘텐츠 카드는 콘텐츠 인덱스에 저장되지 않지만, 데이터가 인텔리전트 클립보드의 주제로서 남아있는 한 단순히 인텔리전트 클립보드에 의해 유지된다. 유리하게는, 인텔리전트 클립보드로부터의 콘텐츠를 붙여넣을 때, 캡쳐된 콘텐츠와 관련된 동적으로 생성된 콘텐츠 카드(또는 콘텐츠 카드들)의 풍부한 정보가 사용될 수 있다.
전술한 양상 및 개시된 청구 대상의 많은 수반되는 장점은 다음의 도면과 함께 취해질 때 다음의 상세할 설명을 참조하여 더 양호하게 이해됨으로써 더 용이하게 알 수 있을 것이다.
도 1은 개시된 청구 대상의 다양한 양상을 구현하도록 적합하게 구성된 컴퓨팅 디바이스의 예시적인 컴포넌트들 사이의 인터랙션을 도시하는 블록도이다.
도 2는 콘텐츠 캡쳐 프로세스를 통해 사용자 관련 콘텐츠를 캡쳐하고, 콘텐츠 카드를 생성하고 이들을 컴퓨터 사용자에 대응하는 콘텐츠 카드 인덱스에 저장하고 인덱싱하기 위한 예시적인 루틴을 도시하는 흐름도이다.
도 3a 내지 도 3d는 컴퓨팅 디바이스 상에서 구현되는 예시적인 실시예의 인텔리전트 캔버스와의 사용자 인터랙션을 도시하는 그림이 포함된 도면이다.
도 4a 내지 도 4d는 다른 컴퓨팅 디바이스 상에서 구현되는 예시적인 실시예의 인텔리전트 캔버스와의 다른 사용자 인터랙션을 도시하는 그림이 포함된 도면이다.
도 5는 컴퓨팅 디바이스 상에서 인텔리전트 캔버스를 구현하기 위한 예시적인 루틴을 도시하는 흐름도이다.
도 6은 인텔리전트 클립보드에 의한 구현을 위한 예시적인 자르기/복사하기 루틴을 도시하는 흐름도이다.
도 7은 인텔리전트 클립보드에 의한 구현을 위한 예시적인 붙여넣기 루틴을 도시하는 흐름도이다.
도 8은 인텔리전트 캔버스 및 향상된 클립보드로 적합하게 구성되는 예시적인 컴퓨팅 디바이스를 도시하는 블록도이다.
명료성의 목적을 위해, 본 명세서에서 용어 "예시적인"은 예시 또는 예시적인 것으로서의 역할을 한다고 해석되어야 하고 이상적 및/또는 가장 중요한 예시의 것으로 해석되어서는 안된다.
용어 "콘텐츠"는 제시, 저장, 배열 및 작업될 수 있는 아이템 및/또는 데이터를 지칭한다. 종종, 그러나 비배타적으로, 콘텐츠는 컴퓨팅 디바이스를 통해 컴퓨터 사용자에게 제시될 수 있는 데이터/아이템에 대응한다. 콘텐츠의 예시는, 제한이 아닌 예시로서, 데이터 파일, 이미지, 오디오, 비디오, 웹 페이지, 사용자 포스트, 데이터 스트림 등 뿐만 아니라 이들의 부분을 포함한다. 용어 "사용자 관련 콘텐츠"는 컴퓨터 사용자와 관련되도록 결정되는 콘텐츠를 지칭한다. 이 결정은 콘텐츠와의 사용자 인터랙션의 속성 및/또는 크기에 따라 수행될 수 있다. 콘텐츠는 콘텐츠와의 사용자 인터랙션의 속성 및/또는 크기와 관련하여 특정 임계치가 만족될 때 사용자 관련 콘텐츠로서 간주될 수 있다. 예를 들어(예시로서), 소셜 네트워크로 사용자 생성된 포스트는 사용자에 의해 생성되고 포스팅되었다는 사실에 기인하여 "사용자 관련"으로 고려될 수 있다. 유사하게, 포스트가 만들어진 전체 소셜 네트워크 쓰레드는 사용자가 콘텐츠를 쓰레드에 콘텐츠를 포스트하였다는 사실에 기초하여 "사용자 관련"으로 볼 수 있다.
용어 "캡쳐"는, "콘텐츠 캡쳐"의 문맥에서 사용될 때, 기준 콘텐츠(즉, 캡쳐할 콘텐츠)와 관련하여 레코드를 생성하는 것을 지칭한다. 레코드(콘텐츠 카드로서 지칭됨)는 기준 콘텐츠의 복사본을 포함할 수 있고, 대안으로, 콘텐츠에 대한 기준을 포함할 수 있고/거나 콘텐츠에 대한 기준 뿐만 아니라 기준 콘텐츠의 정보의 관련 요소를 포함할 수 있다. 또한, 레코드는 단지 콘텐츠를 뛰어넘어 콘텐츠에 관한 추가 정보, 콘텐츠와 관련된 메타데이터, 콘텐츠로의 사용자 액세스의 문맥, 네트워크 상의 콘텐츠의 위치를 식별하는 URL(universal resource locator)를 포함할 수 있다. 이하에서 논의되는 바와 같이, 콘텐츠를 캡쳐하는 것의 일부로서, 콘텐츠의 풍부하고 강건한 정보가 또한 캡쳐된다. 이 풍부한 정보는 데이터의 시맨틱 이해, 시맨틱 관계 및 데이터 구조 등과 같은 정보를 포함한다.
위에서 암시된 바와 같이, 개시된 청구 대상은 사용자 관련 콘텐츠의 캡쳐를 용이하게 하고 현재 실행 문맥의 외부에 위치된 콘텐츠에 효율적이고 쉽게 액세스하기 위한 것이다. 더 구체적으로, 개시된 청구 대상의 제 1 양상의 집합에 따르면, 사용자 관련 콘텐츠를 캡쳐하는 프로세스가 개시된다. 이 프로세스는 통상적으로 실행 배경화면에서 작동하는 것을 포함하는 컴퓨팅 디바이스의 진행 중인 프로세스(on-going process), 즉, 계속적으로 작동하는 것이다. 이 콘텐츠 캡쳐 프로세스는 사용자 지시를 명시하는 것에 따라 사용자 관련 콘텐츠를 캡쳐하고/거나 (예를 들어, 콘텐츠가 사용자와 관련된다고 판정하기 위한 임계치가 만족될 때) 자동화된 방식으로 콘텐츠를 캡쳐한다. 물론, 컴퓨터 사용자는 또한 특정 콘텐츠가 캡쳐되어야 한다고(따라서, 사용자 관련임) 명시적으로 나타낸다. 프로세스에 의해 캡쳐되는 콘텐츠는, 캡쳐된 정보가 콘텐츠와의 관계의 시맨틱 이해, 콘텐츠의 데이터 구조 및 조직/배열, 콘텐츠의 제시 뿐만 아니라 콘텐츠의 사용자 액세스 모두에 관한 문맥 정보, 콘텐츠와 관련된 메타데이터 등을 포함한다는 점에서 풍부하거나 강건한 콘텐츠로 볼 수 있다. 캡쳐된 정보는 콘텐츠 카드로 조직되고 배열되며 사용자에 대응하거나 사용자와 연관된 콘텐츠 카드 스토리지에 저장된다. 이하에서 논의되는 바와 같이, 콘텐츠 카드 스토리지는 공유된 또는 온라인 위치에서, 연관된 사용자의 컴퓨팅 디바이스 상에 국부적으로 저장될 수 있어서 콘텐츠 카드 스토리지는 네트워크를 통해 쉽게 액세스되거나 로컬 및 네트워킹된 스토리지 모두의 조합으로서 만들어질 수 있다. 당업자가 이해할 수 있는 바와 같이, 네트워크 스토리지는 "인 클라우드 스토리지(in cloud storage)", 즉, 제3자 또는 제3자의 가입자의 혜택을 위한 서비스에 의해 유지되는 네트워크 액세스가능한 스토리지 디바이스를 포함할 수 있다.
사용자 관련 콘텐츠를 캡쳐하는 진행 중인 프로세스 이외에 개시된 청구 대상의 추가 양상에 따르면, 인텔리전트 캔버스는 컴퓨팅 디바이스 상의 현재 실행 콘텐츠의 외부에 존재하는 콘텐츠로의 액세스를 용이하게 하도록 구현된다. 인텔리전트 캔버스는 운영 시스템 레벨 서비스로서 구현될 수 있어서(즉, 인텔리전트 캔버스가 운영 시스템의 일부인지 여부와 상관없이, 인텔리전트 캔버스가 운영 시스템 서비스에 액세스하는 것과 일치하는 방식으로 액세스된다) 컴퓨터 사용자는 캔버스와 쉽게 인터랙팅하여 컴퓨팅 디바이스 상에서 현재 애플리케이션 문맥의 외부로부터로만 액세스가능한 콘텐츠에 액세스할 수 있다(즉, 사용자가 실행 콘텐츠를 전환하도록 요구함 - 예를 들어, 컴퓨팅 디바이스 상의 다른 애플리케이션으로의 전환 - 또는 콘텐츠에 액세스하도록 운영 시스템 서비스에 의존함). 즉, 인텔리전트 캔버스가 운영 시스템 레벨 서비스로서 제공되기 때문에, 사용자는 현재 애플리케이션/실행 콘텐츠에 남아있고 그렇지 않으면 액세스를 위해 하나 이상의 문맥 전환을 필요로 하는 풍부한 콘텐츠를 탐색 및 액세스할 수 있다.
개시된 청구 대상의 또 다른 추가 양상에 따르면, 인텔리전트 클립보드가 제시된다. 유리하게 컴퓨터 사용자는 컴퓨터 사용자가 현재 액세스 중인 콘텐츠의 풍부/강건한 콘텐츠를 임시로 캡쳐할 수 있고 풍부/강건한 콘텐츠를 클립보드 상으로 캡쳐할 수 있다(즉, 인텔리전트 클립보드와 연관된 데이터 스토리지에 풍부/강건한 콘텐츠를 임시로 저장함). 또한, 대부분의 클립보드 피쳐의 전형인 "있는 그대로의(as is)" 포맷으로 콘텐츠를 유지하기 보다는, 하나 이상의 콘텐츠 카드가 캡쳐된 콘텐츠로부터 생성된다. 이들 하나 이상의 콘텐츠 카드는 콘텐츠 카드로부터의 콘텐츠가 인텔리전트 캔버스로부터의 애플리케이션에 적용되는 것과 동일한 방식으로 정보를 애플리케이션에 붙여넣는데 사용될 수 있다(이하에서 더 자세하게 설명됨).
이제 도면을 참조하면, 도 1은 개시된 청구 대상의 다양한 양상을 구현하도록 적합하게 구성된 컴퓨팅 디바이스(102)의 예시적인 컴포넌트들 사이의 인터랙션(100)을 도시하는 블록도이다. 특히, 인터랙션(100)은 진행 중인 콘텐츠 캡쳐 프로세스(104), 인텔리전트 캔버스(106), 인텔리전트 클립보드(108), 및 콘텐츠 카드 인덱스(110)를 포함하는, 컴퓨팅 디바이스(102) 상의 특정 논리적 컴포넌트들 사이에서 발생하는 것을 예시한다.
쉽게 이해할 수 있는 바와 같이, 사용자 컴퓨터(102)와 같은 컴퓨터를 사용하는 중에, 컴퓨터 사용자(101)(또는 많은 대안으로는, 사용자(101))는 통상적으로 상당한 양의 콘텐츠에 노출된다. 물론, 일반적으로 사용자에 의해 액세스되는 콘텐츠의 대다수가 다른 사람에 의해 생성되기는 하지만, 콘텐츠의 일부는 사용자에 의해 생성될 수 있다. 또한, 컴퓨터 사용자(101)와 같은, 컴퓨터 사용자가 볼 수 있는 콘텐츠의 일부는 사용자에 대한 충분한 중요성 또는 적합성이 있을 가능성이 있어서 사용자는 그 콘텐츠를 캡쳐하기를 희망할 수 있다. 개시된 청구 대상의 양상에 따르면 그리고 위에서 암시된 바와 같이, 콘텐츠 캡쳐 프로세스(104)는 사용자가 액세스하고, 볼 수 있고/거나 생성할 수 있는 다양한 콘텐츠 아이템을 분석하여 콘텐츠가 사용자 관련 콘텐츠인지 여부에 대한 판정을 하면 콘텐츠가 사용자를 위해 그리고 사용자를 대신해 캡쳐되고 저장될 것이다. 이들 판정은 명시적인 사용자 명령에 따르는 것 뿐만 아니라 사용자가 콘텐츠와 갖는 인터랙션의 속성, 타입, 품질 및 양에 따라 수행될 수 있다.
콘텐츠 캡쳐 프로세스(104)와 관련하여, 이 프로세스가 통상적이지만 비배타적으로, 사용자 컴퓨터(102) 상에서 진행 중인, 실행 중인 프로세스로서 구성된다고 언급되었다. 물론, 다양한 구성(도시되지 않음)에서, 콘텐츠 캡쳐 프로세스(104)는 컴퓨터 사용자(101)의 혜택을 위해 다른 디바이스 상에서 실행 중인 콘텐츠 캡쳐 프로세스와 협업할 수 있다. 예를 들어, 컴퓨팅 디바이스(102)와 같은, 사용자의 컴퓨터 디바이스 상에서 시행 중인 콘텐츠 캡쳐 프로세스(104) 이외에, 친척(related), 형제(sibling) 콘텐츠 캡쳐 프로세스(도시되지 않음)는 사용자 관련 콘텐츠를 식별하고 캡쳐하기 위해 사용자(또는 복수의 사용자) 대신에 서버 컴퓨터 상에서 동작 중일 수 있다.
사용자 관련으로 결정될 수 있는 콘텐츠의 다양한 타입 및 배열이 존재하기 때문에, 캡쳐될 수 있는 유한의 제한된 콘텐츠 타입의 세트로 콘텐츠 캡쳐 프로세스(104)를 코딩하는 것 보다는, 대신에 콘텐츠 캡쳐 프로세스(104)는 캡쳐 모듈(114 및 116)과 같은 캡쳐 모듈로 콘텐츠 캡쳐 프로세스(104)가 업데이트되는 것을 가능하게 하는 프레임워크(112)를 포함한다. 콘텐츠 캡쳐 프로세스(104)는 콘텐츠 캡쳐 모듈(도시되지 않음)의 제공자의 웹 페이지와 같은 소스로부터의 캡쳐 모듈을 필요에 따라 또는 업데이트에 따라 획득하도록 구성될 수 있다. 또한, 컴퓨팅 디바이스(104)의 기능에 따라, 제한된 캡쳐 모듈의 세트는 프레임워크(112)로 설치될 수 있고 잠재적으로 더 큰 다른 캡쳐 모듈의 세트는 친척 또는 형제 콘텐츠 캡쳐 프로세스를 동작시키는 네트워크 액세스가능 컴퓨팅 디바이스 상에서 구현될 수 있다.
개시된 청구 대상의 양상에 따르면, 사용자에 의해 액세스되는 콘텐츠의 소스는, 제한이 아닌 예시로서, 사용자 파일, 웹 페이지, 이메일, 사용자 포스트, 블로그, 데이터 스트림 등을 포함할 수 있다. 콘텐츠가 사용자 관련으로 판정될 때, (캡쳐 모듈을 포함/사용하는) 콘텐츠 캡쳐 프로세스는 콘텐츠를 캡쳐하여 콘텐츠 카드(120)와 같은 하나 이상의 콘텐츠 카드에 기록되게 한다. 각각의 콘텐츠 카드는 콘텐츠의 특정 아이템에 대응하고 콘텐츠에 관한 시맨틱 정보, 관계, 배열 및 구조, 문맥 데이터 등을 포함하는 콘텐츠에 관한 풍부하고 강건한 정보를 포함할 수 있다. 추가적으로, 개시된 청구 대상의 다양한 비배타적 실시예에 따르면, 콘텐츠 카드(120)와 같은 콘텐츠 카드를 생성하는 것 보다는, 액세스된 콘텐츠의 특정 아이템을 위한 콘텐츠 캡쳐 프로세스(104)는 업데이트된, 새로운 또는 더 최근의 정보를 갖는 이미 존재하는 콘텐츠 카드를 업데이트할 수 있다.
콘텐츠 카드(120)와 같은 각각의 콘텐츠 카드의 청구 대상을 쉽게 검색하기 위해, 콘텐츠 카드의 다양한 요소는 콘텐츠 카드 인덱스(110)에 저장된 콘텐츠 카드의 인덱스로의 인덱스 키로서 사용될 수 있다. 하나 이상의 인텍스 키에 따라 콘텐츠 카드와 같은 정보를 인덱싱하는 것이 당 기술 분야에 알려져 있다. 위에서 언급된 바와 같이, 콘텐츠 카드 인덱스(110)는 컴퓨팅 디바이스(102)와 같은 사용자의 컴퓨팅 디바이스 상에 국부적으로 저장될 수 있거나, 네트워크 드라이브 또는 인 클라우드 스토리지와 같은 다수의 디바이스로부터 사용자에 의한 액세스를 위해 공유된 위치에 저장될 수 있다.
도시되지 않았지만, 당업자가 쉽게 이해할 수 있는 바와 같이, 많은 컴퓨터 사용자는 통상적으로 하나 이상의 컴퓨팅 디바이스와 인터랙팅하고/거나 하나 이상의 컴퓨팅 디바이스를 사용한다. 예를 들어, 통상적인 컴퓨터 사용자는 그/그녀의 집에 배치된 데스크탑 컴퓨터, 이동할 때의 랩탑 및/또는 태블릿 컴퓨터 뿐만 아니라 스마트폰 또는 소위 "패블릿(phablet)"(스마트폰과 태블릿 컴퓨터 사이에 존재하는 디바이스)를 사용할 수 있다. 물론, 컴퓨터 사용자는 현재 활용되는 컴퓨팅 디바이스와 상관 없이 동일한 콘텐츠 모두에 액세스하기를 희망할 수 있다. 따라서, 개시된 청구 대상의 양상에서, 사용자와 관련된 컴퓨팅 디바이스의 각각은 인텔리전트 캔버스(106)를 통해 콘텐츠 카드 인덱스(110)에 액세스하는 것이 가능하도록 구성될 것이다.
도 1에서 또한 도시된 바와 같이, 이하에서 더 자세하게 제시되는 바와 같이, 컴퓨팅 디바이스(102) 상에서 동작하는 인텔리전트 캔버스(106)는 콘텐츠 카드 인덱스(110)로부터의 하나 이상의 콘텐츠 카드에 액세스할 수 있다. 물론, 콘텐츠 카드 인덱스(110)의 콘텐츠 카드를 리뷰하도록 설계된 애플리케이션 또는 다른 서비스의 사용에 의해, 컴퓨터 사용자는 인텔리전트 클립보드(108) 상으로 콘텐츠 카드를 복사하는 것이 가능할 수 있다. 더 구체적으로, 컴퓨터 사용자는 콘텐츠 카드 인덱스(110)의 콘텐츠 카드를 열람할 수 있고, 콘텐츠 카드를 보는 동안, 복사하기 및/또는 붙여넣기 동작을 위해 인텔리전트 클립보드(108) 상으로 콘텐츠 카드를 복사할 수 있어서, 콘텐츠 카드 인덱스(110)의 콘텐츠 카드의 풍부한 정보를 사용할 수 있다.
도 2를 참조하면, 도 2는 콘텐츠 캡쳐 프로세스(112)를 통해 사용자 관련 콘텐츠를 캡쳐하고, 콘텐츠 카드를 생성하고 이들을 컴퓨터 사용자에 대응하는 콘텐츠 카드 인덱스(110)에 저장 및 인덱싱하기 위한 예시적인 루틴(200)을 도시하는 흐름도이다. 블록(202)에서 시작하여, 콘텐츠 캡쳐 프로세스(104)는 사용자 관련 콘텐츠를 캡쳐하라는 지시 또는 명령을 수신한다. 이 지시 또는 명령은 컴퓨터 사용자가 특정 웹 페이지가 캡쳐되어야한다고 지시할 수 있을 때와 같이, 콘텐츠의 특정 아이템 또는 세트를 캡쳐하라는 명시적 사용자 명령에 따라, 또는 대안으로, 컴퓨터 사용자가 포스트를 생성하거나 특정 온라인 이미지를 빈번하게 리뷰할 때와 같이, 콘텐츠의 사용자 액세스의 속성, 양 및/또는 빈도, 및 품질의 진행 중인 분석(콘텐츠 캡쳐 프로세스(104)의 일부가 될 수 있음)에 따라 생성될 수 있다.
블록(204)에서, 캡쳐될 사용자 관련 콘텐츠는 도 1의 콘텐츠 캡쳐 모듈(114 또는 116)과 같은, 적합한 콘텐츠 캡쳐 모듈을 식별하기 위해 콘텐츠의 속성을 판정하도록 분석된다. 개시된 청구 대상의 양상에 따르면, 콘텐츠의 분석은, 제한이 아닌 예시로서, 콘텐츠 포맷, 콘텐츠 소스, 콘텐츠와 관련된 메타데이터 등과 관련하여 수행될 수 있다. 예를 들어, 콘텐츠가 XML(extensible markup language) 페이지이면, XML 문서를 캡쳐하기 위한 콘텐츠 캡쳐 모듈이 콘텐츠를 캡쳐하기 위해 선택될 수 있다. 대안으로, 콘텐츠가 모바일 전화 공급자로부터의 온라인 고지서를 포함하는 이메일이면, 특정 온라인 고지서/모바일 전화 공급자에 대응하는 콘텐츠 캡쳐 모듈이 선택될 수 있다. 대응적으로, 블록(206)에서, 콘텐츠는 선택된 콘텐츠 캡쳐 모듈에 의해 캡쳐된다. 일반적으로, 콘텐츠 캡쳐 모듈의 각각은 콘텐츠의 관련 양상을 캡쳐하도록 구성된다. 예를 들어, 온라인 고지서/모바일 전화 공급자를 위한 콘텐츠 캡쳐 모듈은 청구 금액, 청구일, 청구 기일, 이전 잔고, 모바일 전화 공급자 이름 등을 캡쳐하도록 구성될 수 있다. 물론, 콘텐츠의 속성에 따라, 문맥 정보(예를 들어, 사용자의 포스트의 소셜 쓰레드(social thread)를 식별하는 정보, 시맨틱 정보, 데이터 사이의 관계, 구조적 조직 등)가 캡쳐될 수 있다.
블록(208)에서, 콘텐츠 카드가 캡쳐된 콘텐츠로부터 생성된다. 물론, 콘텐츠를 캡쳐하는 것에 있어서, 콘텐츠 캡쳐 모듈은 콘텐츠가 이미 캡쳐되었다고 판정할 수 있고, 콘텐츠 카드를 생성하는 것 대신에, 기존 콘텐츠 카드를 업데이트 및/또는 수정할 수 있다. 예를 들어, 모바일 전화 공급자로부터의 온라인 전화 고지서와 관련하여, 콘텐츠 캡쳐 모듈은 모바일 전화 공급자로부터의 고지서에 대응하는 콘텐츠 카드가 이미 존재한다는 것을 판정할 수 있다. 따라서, 이 예시에서, 새로운 콘텐츠 카드를 생성하는 것 보다는, 대신에 콘텐츠 캡쳐 모듈은 기존 콘텐츠 카드에 정보를 업데이트할 수 있어서 온라인 전화 청구서마다 가장 최근 정보를 반영한다.
블록(210)에서, 콘텐츠 카드 인덱스(110)는 콘텐츠 카드로 업데이트된다. 이후에, 루틴(200)이 종료된다.
개시된 청구 대상의 추가 양상에 따르면 그리고 위에서 나타낸 바와 같이, 인텔리전트 캔버스(106)는 사용자 컴퓨터(102) 상에서 구현될 수 있다. 또한, 인텔리전트 캔버스(106)가 콘텐츠 카드 인덱스(110)와의 조합으로 유리하게 사용될 수 있지만, 보여지는 바와 같이 인텔리전트 캔버스는 이에 제한되지 않고 콘텐츠 카드 인덱스의 외부의 정보로 동작할 수 있다. 위에서 언급된 바와 같이, 인텔리전트 캔버스(106)는 운영 시스템 레벨 서비스(서비스가 운영 시스템에 의해 또는 제 3 자 공급자로부터 구현되는 여부와 상관 없이)이고 사용자가 애플리케이션의 현재 실행 문맥의 외부의 콘텐츠에 액세스하는 것을 가능하게 하여, 컴퓨터 사용자가 실행 문맥을 변경할 필요성이 없다. 더 구체적으로, 인텔리전트 캔버스는 호출될 수 있는 모달 서비스로서 빈번하게 구현되어 특정 실행 문맥 내에 있는 동안(예를 들어, 애플리케이션의 실행 동안), 사용자가 콘텐츠 카드 인덱스(110)와 같은 하나 이상의 소스로부터 콘텐츠를 보고 선택하여, 선택된 콘텐츠를 실행 문맥으로 가져오는 것을 가능하게 한다. 인텔리전트 캔버스가 어떻게 동작하는지를 더 양호하게 예시하기 위해, 도 3a 내지 3d에 대해 참조가 처음 이루어졌다.
도 3a 내지 3d는 컴퓨팅 디바이스(102)와 같은 컴퓨팅 디바이스 상에서 구현되는 인텔리전트 캔버스(106)의 예시적인 실시예와의 사용자 인터랙션을 도시하는 그림을 포함하는 도면이다. 인텔리전트 캔버스의 동작 및 장점을 도시하기 위한 목적으로, 컴퓨터 사용자(101)가 휴가 위치로 이동하여 그 위치의 호텔에서 머무르는 시나리오와 관련하여 이들 도면의 논의가 이루어질 수 있다. 또한, 컴퓨터 사용자(101)는 그곳에 있는 동안 턱시도를 필요로 할 것이고, 자신이 그 위치에서 턱시도를 빌릴 것이라고 결정할 것이다. 도 3a는 사용자의 휴가 위치에서 턱시도 대여를 보증하는 것에 있어서 사용자의 컴퓨팅 디바이스(102) 상에 디스플레이 될 수 있는 예시적인 디스플레이 뷰(300)를 도시한다. 자연스럽게, 컴퓨터 사용자는 자신이 머물고 있는 호텔로 대여한 턱시도가 배달되도록 희망할 것이다. 따라서, 디스플레이 뷰(330)는 현재 실행 문맥에서, 대여 턱시도(302)를 위한 배달 위치에 관련된 배송 양식(302)을 디스플레이한다. 유감스럽게도, 통상적인 경우에, 컴퓨터 사용자(101)는 호텔의 특정 주소를 기억하고 있지 않다. 물론, 컴퓨터 사용자(101)는 배달 주소를 획득하기 위해 현재 실행 문맥(대여 양식(302)의 디스플레이)로부터 그의 이메일 확인으로 전환할 수 있다. 그러나, 컴퓨팅 디바이스(102) 상에서 구현된 인텔리전트 캔버스(106)와 인터랙팅함으로써, 사용자는 현재 실행 문맥에 남아있을 수 있다.
개시된 청구 대상의 양상에 따르면, 트리거링 작업의 활성화를 통해 현재 실행 문맥을 벗어나는 것 없이 인터랙티브 캔버스가 컴퓨터 사용자(101)에게 제시된다. 트리거링 작업은 제한이 아닌 예시로서, 하나 이상의 키 누름(key-press) 또는 키 누름 시퀀스, 오디오 명령, 터치 감응형 표면 상의 제스쳐, 광학적으로 감지된 제스쳐 등을 포함하는 임의의 다수의 사용자 작업에 대응할 수 있다. 도 3a에서, 사용자 작업은 터치 감응형 표면(스크린) 상의 밀어내기(swipe)이지만, 이는 예시적인 것이고 제한하는 것으로서 보아서는 안된다. 더 구체적으로, 도 3a 및 3b와 관련하여, 컴퓨터 사용자가 인텔리전트 캔버스(106)를 활성화하기 위해 지정된 위치로부터 그의 손가락을 밀어냄으로써, 인텔리전트 캔버스 뷰(304)가 디스플레이 뷰 상에 제시된다.
개시된 청구 대상의 양상에 따르면, 인텔리전트 캔버스(106)는 컴퓨터 사용자가 현재 실행 문맥으로 가져올 수 있는 콘텐츠를 식별/선택할 수 있는 사용자 인터페이스(인텔리전트 캔버스 뷰(304))를 제공한다. 또한, 도시되지 않았지만, 인텔리전트 캔버스는 사용자가 또한 선택된 콘텐츠를 (콘텐츠 카드로서) 인텔리전트 클립보드(108)에 위치시킬 수 있는 기능을 포함할 수 있다. 보여지는 바와 같이, 도시된 인텔리전트 캔버스 뷰(304)는 컴퓨터 사용자가 현재 실행 문맥에서 사용하기 위한 콘텐츠를 보고, 탐색하고/거나 선택할 수 있는 다양한 선택가능한 컨트롤(306 내지 314)을 포함할 수 있다.
개시된 청구 대상의 양상에 따르면, 인텔리전트 캔버스(106)는, 활성화 시에, 현재 실행 문맥의 속성을 결정하고 문맥의 관점에서 사용자와 관련될 가능성이 있는 콘텐츠를 사전에 제공하도록 구성될 수 있다. 예를 들어, 인텔리전트 캔버스 뷰(304)는 사용자의 대응하는 콘텐츠 카드 인덱스로부터 예시적으로 획득되는, 주소와 관련된 선택가능한 컨트롤(206 내지 310)을 제시한다. 도 3c 및 3d에서 도시된 바와 같이, 컨트롤(310)을 활성화시킴으로써(이 도시의 예시에서는 디스플레이 뷰(300)의 대여 양식(302)으로 컨트롤을 드래그함으로써), 컴퓨터 사용자는 현재 실행 콘텐츠의 애플리케이션에 통지할 수 있어서, 결국, 컨트롤(310)에 의해 제시되는 콘텐츠 카드의 관련 데이터를 양식으로 가져올 것이다.
애플리케이션은 통상적으로 콘텐츠 카드로부터 정보를 수용하는 기능을 지원할 것이다. 통상적으로, 그러나 비배타적으로, 인텔리전트 캔버스(106)는 애플리케이션/실행 문맥이 수용할 수 있는 정보의 "타입"을 판정하도록 애플리케이션/실행 문맥을 질의하도록 구성된다. 당업자가 이해할 수 있는 바와 같이, 정보의 "타입"은, 제한이 아닌 예시로서, 애플리케이션이 수용할 수 있는 특정 포맷의 데이터 또는 정보, 데이터 구조, 시맨틱 정보 등에 대응한다. 예를 들어, 도 3a 내지 3c의 예시에서 선택되는 콘텐츠 카드는 사용자가 이동할 호텔에 관한 구조적 데이터를 포함할 수 있다. 예시에서, 애플리케이션은 구조화된 데이터(대응하는 값/데이터를 갖는 필드)를 수용하고 정보를 대여 양식(302)으로 삽입하는 것이 가능하다.
도 3b를 참조하면, 애플리케이션/실행 문맥의 현재 문맥에 주어진 사용을 위한 잠재적인 선택으로서 선행적으로 식별되는, 콘텐츠 카드(306 내지 310)와 같은, 복수의 "제안된" 콘텐츠 카드 중 하나를 선택하는 것 이외에, 사용자의 콘텐츠 카드 인덱스에서 사용자에게 사용가능한 모든 콘텐츠 카드를 브라우징(browsing)하는 기능을 컴퓨팅 디바이스 상에서 작동하는 인텔리전트 캔버스(106)가 컴퓨터 사용자에게 제공하도록 더 구성될 수 있다. 또한, 도시되지 않았지만, 컴퓨터 사용자는 애플리케이션/현재 실행 콘텐츠로의 가져오기를 위해 콘텐츠 카드를 선택하는 기능이 제공된다. 예를 들어 도 3b에서 도시된 바와 같이, 사용자 작업가능한 컨트롤(312)은 사용자가 콘텐츠 인덱스에서 콘텐츠 카드의 브라우징 기능을 호출할 수 있는 사용자 인터페이스 컨트롤을 제공한다.
사용자의 대응하는 콘텐츠 카드 인덱스의 콘텐츠 카드를 브라우징/뷰잉(viewing)하는 것 이외에, 사용자가 현재 실행 문맥의 외부에 그리고 사용자의 콘텐츠 카드 인덱스의 외부에 존재하는 데이터를 획득할 수 있는 인텔리전트 캔버스 뷰(304) 상의 추가적인 채널을 인텔리전트 캔버스(106)가 제공할 수 있다. 예시로서 도 3에 도시된 바와 같이, 인텔리전트 캔버스 뷰(304)는 사용자에게 현재 실행 문맥으로 가져올 콘텐츠를 위해 웹/인터넷을 검색하는 기능이 제공되는 사용자 작업가능한 컨트롤(314)을 포함한다. 모든 이들 피쳐를 통해, 유리하게 컴퓨터 사용자는 현재 실행 문맥으로부터 전환하는 것 없이 현재 실행 문맥의 외부에 있는 사용자 액세스 정보를 인에이블(enable)시키는 도구가 제공된다. 또한, 콘텐츠 캡쳐 프로세스에 의해, 사용자는 중앙화된 위치에서 콘텐츠(캡쳐된 콘텐츠에 관한 시맨틱 정보를 포함함)를 쉽게 캡쳐하는 것이 가능하고, 인텔리전트 캔버스를 통해 후속 액세스를 위해 쉽게 액세스가능한 캡쳐된 콘텐츠를 갖는다. 이들 장점은 (파일을 저장하고, 이메일을 수신하는 것 등에 의해) 콘텐츠를 획득하고, 후속적으로 원하는 데이터가 위치되는 곳을 기억하는 것이 필요하고, 이러한 정보를 현재 실행 문맥으로 가져오기 위한 노력으로 실행 문맥을 전환하는 본 발명의 방법을 통한 상당한 향상이다.
이제 도 4a 내지 4d를 참조하면, 이들 도면은 다른 컴퓨팅 디바이스(400) 상에서 구현되는 인텔리전트 캔버스(106)의 예시적인 실시예와의 다른 사용자 인터랙션을 도시하는 그림이 포함된 도면이다. 더 구체적으로, 도 4a 내지 4d는 스마트 폰과 같은 모바일 컴퓨팅 디바이스(400) 상에서 예시적으로 구현되는 것으로서 인텔리전트 캔버스와의 사용자 인터랙션을 도시한다. 도 4a 내지 4d와 관련하여 예시로서, 컴퓨터 사용자는 온라인 웹 서비스로부터 바지를 구입하는 중이고 사용자가 무료 배송을 위해 공급자로부터 판촉에 관한 이메일을 수신한 것을 재호출한다. 물론, 사용자는 공급자로부터 이 판촉을 이용하기를 원할 것이다. 이 시나리오에서 그리고 인텔리전트 캔버스가 없는 컴퓨터 시스템 상에서, 사용자는 현재 실행 문맥으로부터 이메일 애플리케이션으로의 변경이 필요할 것이고, 판촉 코드를 포함하는 이메일을 찾아서, 판촉 코드를 복사하여(또는 이를 기억하여), 사용자가 대응하는 판촉 코드 필드(404)에 판촉 코드를 입력할 수 있는 실행 문맥으로 다시 이동해야만 한다. 대안으로 그리고 유리하게, 인텔리전트 캔버스가 컴퓨팅 디바이스(400) 상에서 동작 중일 때, 사용자는 현재/현 실행 문맥을 벗어나는 것 없이 정보에 액세스하도록 인텔리전트 캔버스와의 인터랙션을 개시할 수 있다. 대신에, 도 4a에서 예시로서 도시되는 바와 같이, 컴퓨터 사용자는 디스플레이 스크린(402)의 상부로부터 아래로 밀어내어(터치 감응형 디바이스와 관련하여 당 기술분야에 알려진 제스쳐) 컴퓨팅 디바이스 상에서 동작하는 인텔리전트 캔버스 서비스와 인터랙팅할 수 있다.
위의 도 4a와 관련한 예시에서 계속하여, 사용자가 인텔리전트 캔버스 서비스(106)를 활성화시킬 시에, 인텔리전트 캔버스 뷰(406)가 사용자에게 디스플레이된다. 이 예시적인 실시예에서, 인텔리전트 캔버스 뷰(406)는 예측하여 식별된 콘텐츠 카드(컨트롤(412)로 나타냄) 뿐만 아니라 브라우징을 위한 컨트롤(408)(콘텐츠 카드 인덱스 또는 웹과 같은 다른 소스) 및 인텔리전트 캔버스에서 오디오 명령을 수신하기 위한 컨트롤(410)을 포함한다. 이 예시에서는, 현재 실행 문맥의 속성에 기인하여, 인텔리전트 캔버스는 사용자가 바지를 구입하려고 현재 시도 중인 공급자로부터의 이메일과 관련된 콘텐츠 카드(컨트롤(412)로 나타냄)를 예측하여 식별하였다.
도 4c를 참조하면, 사용자가 브라우징 컨트롤(408)을 선택한다고 가정하면, 일련의 콘텐츠 카드(414 내지 418)가 사용자에게 디스플레이되어 (인텔리전트 캔버스 뷰(406)를 벗어나 디스플레이 스크린(402)으로 카드를 끌어내림으로써) 사용자가 콘텐츠 카드(416)를 선택한다. 물론, 이는 콘텐츠를 선택하는 것의 일 예시적인 실시예이고 사용자가 콘텐츠 카드를 선택하는 유일한 방식으로 보아서는 안된다.
선택된 콘텐츠 카드의 정보에 기초하여 애플리케이션의 현재 실행 문맥이 수용할 수 있는 정보에 따라, 콘텐츠 카드의 정보를 애플리케이션으로 가져온다. 도 4d에 도시된 바와 같이, 공급자로부터의 메일에 포함된 판촉 코드(콘텐츠 카드(416)로 나타냄)를 적합한 필드로 가져온다. 위에서 암시된 바와 같이, 콘텐츠 카드의 정보는 필드 라벨 및 값을 모두 포함할 수 있어서 애플리케이션은 가져온 콘텐츠를 적합하게 사용할 수 있다 - 이 예시에서 콘텐츠 카드(416)로부터 판촉 코드를 검색하고 판촉 코드 필드(404)에 판촉 코드를 위치시킴.
도 3a 내지 3d 및 4a 내지 4d에 도시된 바와 같은 인텔리전트 캔버스(106)의 예시된 실시예는 터치 감응형 디바이스와 관련하여 만들어졌지만, 이들은 인텔리전트 캔버스의 사용자 인터페이스의 예시적인 실시예이고 유일한 예시로서 보아서는 안된다는 것을 이해할 수 있다. 인텔리전트 캔버스는 예시로서, 키 누름 시퀀스, 음성 명령, 포인팅 디바이스(예를 들어, 마우스, 트랙 패드 등), 물리적 제스쳐(광학 또는 무선 삼각측량에 의해 감지됨), 디바이스의 움직임(가속도계 및 다른 움직임 감지 디바이스에 의해 감지됨) 등과 같은 임의의 다수의 사용자 인터페이스와 인터랙팅하도록 구성될 수 있다.
이제 도 5를 참조하면, 도 5는 컴퓨팅 디바이스 상에 인텔리전트 캔버스(106)를 구현하기 위한 예시적인 루틴(500)를 도시하는 흐름도이다. 블록(502)에서 시작하여, 인텔리전트 캔버스가 컴퓨팅 디바이스 상에 제공된다. 개시된 청구 대상의 양상에 따르면, 인텔리전트 캔버스는 운영 시스템 레벨 서비스로서 제공된다. 인텔리전트 캔버스와 관련하여, 인텔리전트 캔버스가 운영 시스템 레벨 서비스로 제공될 수도 있지만, 클라우드 서비스, 쉘 서비스, 브라우저 플러그 인 등으로서 운영 시스템 레벨에서 구현되는지 여부와 상관 없이 현재 실행 문맥의 확장으로서 동작한다는 것을 의미함(즉, 인텔리전트 캔버스를 호출하는 것은 현재 실행 문맥에서의 변경을 야기하지 않고 실행 문맥의 확장으로서 보여짐)을 이해할 수 있다. 또한, 이것이 구현되는 특정 방식과 상관 없이, 인텔리전트 캔버스와의 호출 및 인터랙션은 컴퓨팅 디바이스 상에서와 동일한 것이다. 블록(504)에서, 인텔리전트 캔버스와의 인터랙션을 위한 요청이 수신된다. 블록(506)에서, 인텔리전트 캔버스의 사용자 인터페이스는 요청하는 사용자에게 제시된다.
블록(508)에서, 현재 실행 문맥/애플리케이션의 문맥 정보가 선택적으로 결정된다. 위에서 나타낸 바와 같이, 인텔리전트 캔버스(106)는 컴퓨터 사용자가 액세스하기를 희망하는 콘텐츠를 예측하여 식별하는 콘텐츠의 문맥 정보를 사용할 수 있다. 따라서, 블록(510)에서, 인텔리전트 캔버스는 현재 애플리케이션/실행 문맥에서 주어진 사용자를 위한 예상/가능성있는 콘텐츠를 선택적으로 식별(및 제시)한다.
블록(512)에서, 인텔리전트 캔버스(106)는 콘텐츠의 선택을 수신한다. 위에서 나타낸 바와 같이, 콘텐츠의 선택은 사용자의 콘텐츠 카드 인덱스로부터의 콘텐츠 카드의 선택이 될 수 있고, 또는 인터넷과 같은 다른 소스로부터의 사용자의 이메일, 컴퓨팅 디바이스 상의 파일 등이 될 수 있다. 블록(514)에서, 현재 실행 문맥이 수용할 수 있는 다양한 포맷 또는 타입에 관한 판정이 이루어진다. 판정 블록(516)에서, 인텔리전트 캔버스가 선택된 콘텐츠를 변환할 필요가 있는지 여부에 관한 판정이 이루어진다. 예를 들어, 인텔리전트 캔버스가 선택된 콘텐츠 카드의 콘텐츠를 실행 문맥이 수용할 수 있는 포맷으로 변환해야만하는지 여부에 관한 판정이 이루어질 수 있다. 만약 그렇다면, 루틴(500)은 인텔리전트 캔버스가 요청된 포맷으로 선택된 콘텐츠를 변환하는(또는 선택된 콘텐츠의 변환을 획득하는) 블록(518)으로 진행한다. 선택된 콘텐츠의 변환은 애플리케이션/현재 실행 문맥에 의해, 또는 인텔리전트 캔버스에 의해 구현될 수 있지만, 또 다른 실시예에서는, 인텔리전트 캔버스가 선택된 콘텐츠에 대해 변환을 제공하는 온라인 서비스에 의존할 수 있음을 이해할 수 있다. 대안으로, 또는 선택된 콘텐츠를 변환한 이후에, 블록(520)에서 콘텐츠가 현재 실행 문맥/애플리케이션으로 제공된다. 이후에, 루틴(500)이 종료된다.
위의 논의는 운영 시스템 레벨 서비스를 제공하는 인텔리전트 캔버스(106)의 방식으로 콘텐츠 카드 인덱스의 콘텐츠 카드에 액세스하여 사용자가 현재 실행 문맥으로부터 실행 문맥의 외부의 데이터에 액세스하도록 전환하는 것을 강요받지 않는 것과 관련하여 이루어졌지만, 콘텐츠 카드 인덱스(110)의 콘텐츠 카드는 인텔리전트 클립보드(108), 즉, 콘텐츠 카드 인덱스(110)에서 콘텐츠 카드를 보기 위해 제공되는 인터페이스에 액세스가능하도록 만들어질 수 있고 인텔리전트 클립보드(108)의 임시 스토리지로 콘텐츠 카드를 임시로 위치시키는 복사하기 동작을 수행할 수 있다. 물론, 인텔리전트 클립보드(108)는 통상적으로 현재 선택된(또는 보여지는) 콘텐츠와 관련하여 자르기 또는 복사하기 동작을 사용함으로써 인텔리전트 클립보드의 임시 스토리지 상으로 사용자에 의해 현재 보여지는(또는 선택적으로 식별된) 콘텐츠를 캡쳐하도록 구현된다.
도 6은 인텔리전트 클립보드(108)로 복사하기(또는 자르기) 동작을 구현하기 위한 예시적인 루틴(600)을 도시하는 흐름도이다. 블록(602)에서 시작하여, 인텔리전트 클립보드는 컴퓨터 사용자로부터 자르기 동작(예를 들어, 현재 실행 문맥/애플리케이션으로부터 선택된 콘텐츠를 위치시키고, 인텔리전트 클립보드 상으로 위치시키고, 현재 실행 문맥으로부터 선택된 콘텐츠를 제거함) 또는 복사하기 동작(예를 들어, 현재 실행 문맥으로부터 선택된 콘텐츠를 인텔리전트 클립보드 상으로 위치시킴)의 지시를 수신한다. 블록(604)에서, 인텔리전트 클립보드는 현재 실행 문맥/애플리케이션으로부터 선택된 콘텐츠를 획득한다. 위에서 나타낸 바와 같이, 선택된 또는 현재 콘텐츠를 획득할 때, 시맨틱 정보, 구조적 관계, 문맥 데이터 등을 포함하는, 풍부하고 강건한 정보가 획득된다. 블록(606)에서, 인텔리전트 클립보드(108)는 획득된 콘텐츠에 대해 하나 이상의 콘텐츠 카드를 동적으로 생성한다. 블록(608)에서, 콘텐츠 카드(또는 콘텐츠 카드들)는 인텔리전트 클립보드의 임시 스토리지에 저장된다. 판정 블록(610)에서, 복사하기 동작 또는 자르기 동작인지 여부에 관한 판정이 이루어진다. 동작이 "자르기" 동작이면, 블록(612)에서 선택된 콘텐츠가 현재 애플리케이션으로부터 제거된다. 이후에, 또는 동작이 복사하기 동작이면 루틴(600)이 종료된다.
도 7은 인텔리전트 클립보드와 관련한 "붙여넣기" 동작을 구현하기 위한 예시적인 루틴(700)을 도시하는 흐름도이다. 블록(702)에서 시작하여, 인텔리전트 클립보드(108)는 컴퓨터 사용자로부터 붙여넣기 동작(즉, 현재 클립보드 콘텐츠를 현재 실행 문맥/애플리케이션으로 복사함)을 수행하라는 지시/명령을 수신한다. 블록(704)에서, 인텔리전트 클립보드(108)는 현재 실행 문맥의 현재 수요 - 즉, 수요 및/또는 현재 실행 문맥에 수용가능한 포맷 - 을 판정한다. 판정 블록(706)에서, 인텔리전트 클립보드에 의해 (콘텐츠 카드로서) 보유된 콘텐츠가 변환되어야만하는지 여부에 관한 판정이 이루어진다. 만약 그렇다면, 블록(708)에서 콘텐츠가 변환된다. 대안으로 또는 이후에, 블록(710)에서, 콘텐츠가 현재 실행 문맥으로 제공된다. 이후에, 루틴(700)이 종료된다.
위에서 설명된 루틴 뿐만 아니라 본원에서 설명된 다른 프로세서와 관련하여(도 2, 5 내지 7과 관련됨), 이들 루틴/프로세스는 개별 단계와 관련하여 표현되었지만, 이들 단계는 속성에서 논리적인 것이 된다고 보여지고 특정 구현예의 임의의 실제 및/또는 개별 단계에 대응할 수 있거나 대응하지 않을 수 있다. 이들 단계가 다양한 루틴 및 프로세스에서 제시되는 순서는 단계가 수행되는 유일한 순서로서 해석되어서는 안된다. 또한, 이들 루틴은 개시된 청구 대상의 다양한 발명의 피쳐를 포함하지만, 다른 단계(나열되지 않음)가 또한 루틴의 실행에서 수행될 수 있다. 당업자는 이들 루틴의 논리적 단계가 함께 조합될 수 있거나 다수의 단계를 포함할 수 있음을 이해할 수 있다. 위에서 설명된 루틴의 단계들은 동시에 또는 순서대로 수행될 수 있다. 종종, 그러나 비배타적으로, 다양한 루틴의 기능은 도 8과 관련하여 이하에서 설명되는 컴퓨팅 디바이스와 같은 컴퓨팅 디바이스 상에서 실행되는 소프트웨어(예를 들어, 애플리케이션, 시스템 서비스, 라이브러리 등)로 구현된다. 다양한 실시예에서, 다양한 루틴의 전부 또는 일부는 또한 컴퓨터 시스템 상의 시스템 온 칩, 특수하게 설계된 프로세서 및/또는 논리 회로 등을 포함할 수 있지만 이에 제한되지 않는 실행가능한 하드웨어 모듈에서 구현될 수 있다.
이들 루틴/프로세스는 통상적으로 루틴, 함수, 루프 구조, 합의문(if-then statements) 및 조건문(if-then-else statements), 할당, 산술 연산 등과 같은 선택기를 포함하는 실행가능한 코드에서 구현된다. 그러나, 각각의 루틴의 실행가능한 구문에서의 정확한 구현은 프로그래밍 언어, 컴파일러, 타겟 프로세서, 운영 환경 등을 포함하는 다양한 구현 설정 및 판정에 기초한다. 이들 루틴에서 식별되는 논리적 단계는 임의의 다수의 방식으로 구현될 수 있어서, 위에서 제시된 논리적인 설명은 유사한 결과를 달성하는 것을 충분히 가능하게 함을 당업자는 쉽게 이해할 것이다.
개시된 청구 대상의 많은 발명의 양상은 애플리케이션(또한 컴퓨터 프로그램으로서 지칭됨), 앱(작은, 일반적으로 단일한 또는 좁은 범위 목적의 애플리케이션) 및/또는 방법에서 구현된 루틴으로 표현되었지만, 이들 양상은 또한 컴퓨터 판독가능한 저장 매체로서 지칭되는, 컴퓨터 판독가능한 매체에 의해 저장되는 컴퓨터 실행가능한 명령어로서 구현될 수 있다. 당업자가 인식하는 바와 같이, 컴퓨터 판독가능 매체는 나중 검색 및 실행을 위해 컴퓨터 실행가능한 명령어를 호스팅할 수 있다. 컴퓨터 판독가능 저장 디바이스 상에 저장되는 컴퓨터 실행가능한 명령어가 실행될 때, 이들은 다양하게 예시된 루틴과 관련하여 위에서 설명된 단계, 방법 및 루틴을 포함하는 다양한 단계, 방법 및/또는 기능을 수행한다. 컴퓨터 판독가능 매체의 예시는, 블루레이 디스크, 디지털 비디오 디스크(DVD), 컴팩트 디스크(CD), 광학 디스크 카트리지 등과 같은 광학 저장 매체, 하드 디스크 드라이브, 플로피 디스크, 자기 테이프 등을 포함하는 자기 저장 매체, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 메모리 카드, 썸드라이브(thumb drives) 등과 같은 메모리 저장 디바이스, 클라우드 스토리지(즉, 온라인 스토리지 서비스) 등을 포함하지만 이에 제한되지 않는다. 그러나, 이 개시의 목적을 위해, 컴퓨터 판독가능 매체는 캐리어파 및 전파 신호를 명시적으로 배제한다.
이제 도 8을 참조하면, 도 8은 인텔리전트 캔버스(106) 및 인텔리전트 클립보드(108)로 적합하게 구성되는 예시적인 컴퓨팅 디바이스(800)를 도시하는 블록도이다. 예시적인 컴퓨팅 디바이스(800)는 시스템 버스(810)에 의해 상호접속되는, 프로세서(802)(또는 프로세싱 유닛) 및 메모리(804)를 포함한다. 쉽게 이해할 수 있는 바와 같이, 메모리(804)는 통상적으로(그러나 항상 그런것은 아님) 휘발성 메모리(806) 및 비휘발성 메모리(808)를 모두 포함한다. 휘발성 메모리(806)는 메모리가 전원이 공급되는 한 정보를 유지 또는 저장한다. 반대로, 비휘발성 메모리(808)는 전원이 사용불가능할 때에도 정보를 저장(또는 지속)하는 것이 가능하다. 일반적으로, RAM 및 CPU 캐시 메모리는 휘발성 메모리(806)의 예시인 반면, ROM, 솔리드 스테이트 메모리 디바이스, 메모리 저장 디바이스 및/또는 메모리 카드가 비휘발성 메모리(808)의 예시이다.
프로세서(802)는 특히 위에서 설명된 바와 같이 콘텐츠 카드 인덱스로 콘텐츠를 캡쳐하는 것, 인텔리전트 캔버스를 제공하는 것 및 인텔리전트 클립보드를 제공하는 것과 관련한 다양한 기능을 수행하는데 메모리(804)로부터 검색되는 명령어를 실행한다. 프로세서(802)는 단일 프로세서, 다중 프로세서, 단일 코어 유닛 및 다중 코어 유닛과 같은 임의의 다양한 상업적으로 사용가능한 프로세서를 포함할 수 있다. 또한, 당업자는 개시된 청구 대상의 발명의 양상이 개인용 디지털 보조장치, 착용가능한 컴퓨팅 디바이스, 스마트 폰 디바이스, 태블릿 컴퓨팅 디바이스, 패블릿 컴퓨팅 디바이스, 랩탑 컴퓨터, 데스크탑 컴퓨터 등을 포함하지만 이에 제한되지 않는 다른 컴퓨터 시스템 구성으로 실시될 수 있음을 이해할 수 있다.
시스템 버스(810)는 모바일 디바이스의 다양한 컴포넌트를 위한 인터페이스를 제공한다. 시스템 버스(810)는 다양한 컴포넌트(내부 및 외부 컴포넌트 모두 포함)를 상호접속시킬 수 있는 임의의 여러 타입의 버스 구조가 될 수 있다. 예시적인 컴퓨팅 시스템(800)은 다른 네트워크 액세스가능 컴퓨터, 온라인 서비스, 및/또는 네트워크 엔티티 뿐만 아니라 컴퓨터 네트워크 상의 다른 디바이스와 컴퓨팅 디바이스(800)를 상호접속시키기 위한 네트워크 통신 컴포넌트(812)를 더 포함한다. 네트워크 통신 컴포넌트(812)는 유선 접속, 무선 접속 또는 둘 다를 통해 네트워크(도시되지 않음)를 통해 다양한 컴퓨터 및 디바이스와 통신하도록 구성될 수 있다.
예시적인 컴퓨팅 디바이스(800)에 또한 콘텐츠 캡쳐 컴포넌트(818)가 포함되고, 위에서 설명된 콘텐츠 캡쳐 프로세스(104)를 구현한다. 위에서 나타낸 바와 같이, 콘텐츠 탭쳐 프로세스는 프레임워크(112)를 활용하도록 구성될 수 있어서 캡쳐 모듈(816)과 같은 다양한 콘텐츠 캡쳐 모듈로 업데이트될 수 있다. 통상적으로, 비배타적으로, 캡쳐 모듈(816)은 콘텐츠 캡쳐 컴포넌트(818)의 프레임워크(112)와 인터페이싱하는 소프트웨어 컴포넌트이다. 캡쳐된 콘텐츠는 콘텐츠 카드 인덱스(110)에 저장된 콘텐츠 카드로 구현된다.
예시적인 컴퓨팅 디바이스(800)에 인텔리전트 캔버스 모듈(106)이 또한 포함된다. 위에서 제시된 바와 같이, 인텔리전트 캔버스 모듈은 컴퓨팅 디바이스 상에서 현재 실행 문맥을 변경하는 것 없이 컴퓨팅 디바이스(800)의 사용자에 의해 액세스될 수 있는 운영 시스템 레벨 서비스로서 구현된다. 인텔리전트 캔버스 모듈(106)은 컴퓨팅 디바이스(800)의 사용자 I/O 서브시스템(822)에 의해 위에서 설명된 기능을 제공하도록 컴퓨터 사용자와 인터페이싱한다. 또한, 예시적인 컴퓨팅 디바이스(800)는 위에서 설명된 인텔리전트 클립보드(108)를 포함한다.
예시적인 컴퓨팅 디바이스(800)의 다양한 컴포넌트와 관련하여, 당업자는 이들 컴포넌트가 컴퓨팅 디바이스의 메모리에 저장된 실행가능한 소프트웨어 모듈로서, 하드웨어 모듈로서(SoC - 시스템 온 칩을 포함), 또는 둘의 조합으로서 구현될 수 있다는 것을 이해할 수 있다. 또한, 다양한 컴포넌트의 각각은 하나 이상의 컴퓨터 시스템 및/또는 컴퓨팅 디바이스 상에서 또는 함께 동작하는, 독립적인, 협업 프로세스 또는 디바이스로서 구현될 수 있다. 물론, 예시적인 컴퓨팅 디바이스(800)와 관련하여 위에서 설명된 다양한 컴포넌트는 다양한 설명된 기능을 수행하기 위한 논리적 컴포넌트로서 볼 수 있다는 것이 이해될 수 있다. 당업자는 논리적 컴포넌트 및/또는 서브시스템이 일대일 방식으로, 실제, 개별 컴포넌트에 직접 대응할 수 있거나 대응하지 않을 수 있다는 것을 쉽게 이해할 수 있다. 실제 실시예에서, 각각의 컴퓨터 시스템의 다양한 컴포넌트는 함께 통합될 수 있거나 다수의 실제 컴포넌트에 걸쳐 분해될 수 있고/거나 컴퓨터 네트워크 상의 협업 프로세스 로서 구현될 수 있다.
개시된 청구 대상의 다양한 발명의 양상이 설명되었지만, 이들 양상은 예시적인 것이고 제한하는 것으로서 해석되어서는 안된다는 것을 이해할 수 있다. 다양한 양상의 변형 및 변경이 개시된 청구 대상의 범위로부터 벗어남이 없이 이루어질 수 있다.

Claims (10)

  1. 현재 실행 문맥(context)의 외부에서 액세스가능한 콘텐츠로의 향상된 액세스를 제공하기 위한 컴퓨터로 구현된 방법으로서,
    상기 방법은 컴퓨팅 디바이스 상에서 구현되는 것으로서,
    상기 컴퓨팅 디바이스 상에서의 서비스로서 인텔리전트 캔버스(intelligent canvas)를 제공하는 단계―상기 인텔리전트 캔버스는 운영 시스템 레벨 서비스로서 제공되고, 상기 인텔리전트 캔버스와의 인터랙션은 상기 현재 실행 문맥으로부터의 변경을 필요로하지 않음―와,
    상기 인텔리전트 캔버스와 인터랙팅하기 위한 요청을 수신하는 단계와,
    상기 컴퓨팅 디바이스 상의 디스플레이를 위한 인텔리전트 캔버스 뷰를 제시하는 단계의 각각을 포함하고,
    상기 인텔리전트 캔버스 뷰는 복수의 사용자 작업가능한 컨트롤(user-actionable control)을 포함하고, 적어도 하나의 사용자 작업가능한 컨트롤은 상기 현재 실행 문맥으로 가져오기(import)위한 콘텐츠에 대응하고, 상기 적어도 하나의 사용자 작업가능한 컨트롤의 대응하는 콘텐츠는 상기 인텔리전트 캔버스 뷰에서의 제시를 위해 예측하여(anticipatorily) 선택되는
    컴퓨터로 구현된 방법.

  2. 제 1 항에 있어서,
    상기 적어도 하나의 사용자 작업가능한 컨트롤의 선택을 수신하고, 상기 대응하는 콘텐츠를 상기 현재 실행 문맥에 제공하는 단계와,
    상기 현재 실행 문맥에 콘텐츠를 가져오기 위한 콘텐츠 포맷의 세트를 결정하는 단계와,
    상기 대응하는 콘텐츠가 상기 포맷의 세트 중 하나로 사용가능하다고 판정하는 단계와,
    상기 대응하는 콘텐츠를 상기 콘텐츠의 포맷의 세트 중 적어도 하나의 상기 현재 실행 문맥에 제공하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  3. 제 2 항에 있어서,
    상기 적어도 하나의 사용자 작업가능한 컨트롤의 선택을 수신하고 상기 대응하는 콘텐츠를 상기 현재 실행 문맥에 제공하는 단계와,
    상기 대응하는 콘텐츠가 상기 포맷의 세트 중 하나로 현재 사용불가능하다고 판정하는 단계와,
    상기 대응하는 콘텐츠를 상기 콘텐츠 포맷의 세트 중 적어도 하나로 변환하게 하는 단계와,
    상기 변환된 대응하는 콘텐츠를 상기 콘텐츠 포맷의 세트 중 적어도 하나로 상기 현재 실행 콘텐츠에 제공하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  4. 제 2 항에 있어서,
    상기 컴퓨팅 디바이스 상에서 콘텐츠 캡쳐 프로세스를 실행하는 단계를 더 포함하되, 상기 콘텐츠 캡쳐 프로세스는 상기 컴퓨팅 디바이스의 배경화면에서 실행하고,
    상기 콘텐츠 캡쳐 프로세스는,
    상기 사용자에 의해 액세스되는 콘텐츠를 캡쳐하고,
    상기 사용자와 연관된 콘텐츠 카드 인덱스에 상기 캡쳐된 콘텐츠를 하나 이상의 콘텐츠 카드로서 저장하도록 구성되고,
    상기 적어도 하나의 사용자 작업가능한 컨트롤의 대응하는 콘텐츠는 상기 콘텐츠 카드 인덱스의 상기 캡쳐된 콘텐츠로부터 선택되는
    컴퓨터로 구현된 방법.
  5. 제 4 항에 있어서,
    상기 복수의 사용자 작업가능한 컨트롤 중 제 1 사용자 작업가능한 컨트롤은 상기 콘텐츠 카드 인덱스에 저장된 상기 캡쳐된 콘텐츠를 브라우징하기 위한 컨트롤이고,
    상기 복수의 사용자 작업가능한 컨트롤 중 제 2 사용자 작업가능한 컨트롤은 콘텐츠를 위해 네트워크를 브라우징하기 위한 컨트롤인
    컴퓨터로 구현된 방법.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 사용자 작업가능한 컨트롤의 대응하는 콘텐츠는 상기 현재 실행 문맥에 대응하는 상기 인텔리전트 캔버스 뷰에서의 제시를 위해 예측하여 선택되는
    컴퓨터로 구현된 방법.
  7. 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 실행가능 명령어는 적어도 하나의 프로세서와 메모리를 포함하는 컴퓨팅 디바이스 상에서 실행될 때, 컴퓨팅 디바이스로 하여금, 상기 현재 실행 문맥의 외부에서 액세스가능한 콘텐츠로의 향상된 액세스를 제공하는 방법을 수행하게 하고, 상기 방법은 청구항 제1항 내지 제6항과 관련하여 상술한 컴퓨터로 구현된 방법 중 어느 하나를 포함하는
    컴퓨터 판독가능 매체.
  8. 현재 실행 문맥의 외부에서 액세스가능한 콘텐츠로의 향상된 액세스를 제공하는 컴퓨팅 디바이스로서,
    상기 컴퓨팅 디바이스는 프로세서와 메모리를 포함하고, 상기 프로세서는 콘텐츠로의 향상된 액세스를 제공하는데 추가적인 컴포넌트와 함께 또는 추가적인 컴포넌트의 부분으로서 상기 메모리에 저장되는 명령어를 실행하고, 상기 추가적인 컴포넌트는,
    상기 컴퓨팅 디바이스 상의 배경화면에서 작동하도록 구성되고, 상기 컴퓨팅 디바이스의 사용자에 의해 액세스되는 콘텐츠를 캡쳐하고 콘텐츠 카드 인덱스의 상기 캡쳐된 콘텐츠를 저장하도록 더 구성되는 콘텐츠 캡쳐 컴포넌트와,
    상기 컴퓨팅 디바이스 상에서 운영 시스템 레벨 서비스로서 작동하도록 구성되고, 상기 인텔리전트 클립보드와 인터랙팅하기 위한 요청을 사용자로부터 수신할 시에, 상기 컴퓨팅 디바이스 상에서의 디스플레이를 위한 인텔리전트 캔버스 뷰를 제시하도록 더 구성되는 인텔리전트 클립보드를 포함하고,
    상기 인텔리전트 캔버스 뷰는 복수의 사용자 작업가능한 컨트롤을 포함하고, 상기 복수의 사용자 작업가능한 컨트롤 중 적어도 하나의 사용자 작업가능한 컨트롤은 상기 현재 실행 문맥으로 가져오기 위한 콘텐츠에 대응하고, 상기 적어도 하나의 사용자 작업가능한 컨트롤의 대응하는 콘텐츠는 상기 인텔리전트 캔버스 뷰에서의 제시를 위해 상기 콘텐츠 카드 인덱스의 복수의 콘텐츠 카드로부터 예측하여 선택되는
    컴퓨팅 디바이스.
  9. 제 8 항에 있어서,
    상기 콘텐츠 캡쳐 컴포넌트는 하나 이상의 캡쳐 모듈을 동적으로 통합시키기 위한 프레임워크를 포함하고, 상기 캡쳐 모듈의 각각은 특정 포맷의 콘텐츠를 캡쳐하도록 구성되고,
    상기 컴퓨팅 디바이스는 복수의 캡쳐 모듈을 더 포함하는
    컴퓨팅 디바이스.
  10. 제 8 항에 있어서,
    인텔리전트 클립보드를 더 포함하되, 상기 인텔리전트 클립보드는 상기 콘텐츠 카드 인덱스의 콘텐츠 카드에 액세스하도록 구성되고, 사용자 작업을 수신할 시에, 상기 현재 실행 문맥으로 상기 콘텐츠 카드 인덱스에 저장된 콘텐츠 카드의 콘텐츠를 붙여넣기(paste)하도록 더 구성되는
    컴퓨팅 디바이스.
KR1020177006995A 2014-09-15 2015-09-14 콘텐츠를 현재 애플리케이션에 삽입하기 위한 개인화된 문맥 메뉴 제공 기법 KR20170054407A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/486,156 2014-09-15
US14/486,156 US20160077673A1 (en) 2014-09-15 2014-09-15 Intelligent Canvas
PCT/US2015/049867 WO2016044106A1 (en) 2014-09-15 2015-09-14 Personalized contextual menu for inserting content in a current application

Publications (1)

Publication Number Publication Date
KR20170054407A true KR20170054407A (ko) 2017-05-17

Family

ID=54261069

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177006995A KR20170054407A (ko) 2014-09-15 2015-09-14 콘텐츠를 현재 애플리케이션에 삽입하기 위한 개인화된 문맥 메뉴 제공 기법

Country Status (11)

Country Link
US (1) US20160077673A1 (ko)
EP (1) EP3195116A1 (ko)
JP (1) JP2017535005A (ko)
KR (1) KR20170054407A (ko)
CN (1) CN107077345A (ko)
AU (1) AU2015318174A1 (ko)
BR (1) BR112017003416A2 (ko)
CA (1) CA2959686A1 (ko)
MX (1) MX2017003418A (ko)
RU (1) RU2017108245A (ko)
WO (1) WO2016044106A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022191616A1 (ko) * 2021-03-09 2022-09-15 삼성전자 주식회사 전자 장치 및 그의 클립보드 운영 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10601747B2 (en) * 2015-10-05 2020-03-24 Oath Inc. Method and system for dynamically generating a card
CN107798003A (zh) * 2016-08-31 2018-03-13 微软技术许可有限责任公司 与智能文本分段共享的可定制内容
US10579740B2 (en) 2016-12-28 2020-03-03 Motorola Solutions, Inc. System and method for content presentation selection
US10812498B2 (en) * 2017-09-29 2020-10-20 Hewlett Packard Enterprise Development Lp Playbook-based security investigations using a card system framework
US10901604B2 (en) 2017-11-28 2021-01-26 Microsoft Technology Licensing, Llc Transformation of data object based on context
US10438437B1 (en) * 2019-03-20 2019-10-08 Capital One Services, Llc Tap to copy data to clipboard via NFC
CN110889056B (zh) * 2019-12-06 2023-08-22 北京百度网讯科技有限公司 页面标记的方法及装置
CN115344181A (zh) * 2022-05-04 2022-11-15 杭州格沃智能科技有限公司 一种人机交互系统及其实现方法和应用
US11921812B2 (en) * 2022-05-19 2024-03-05 Dropbox, Inc. Content creative web browser

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404442A (en) * 1992-11-30 1995-04-04 Apple Computer, Inc. Visible clipboard for graphical computer environments
US20030076364A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Method of previewing a graphical image corresponding to an icon in a clipboard
US8429551B2 (en) * 2007-02-15 2013-04-23 Microsoft Corporation Application-based copy and paste operations
US20110029862A1 (en) * 2009-07-30 2011-02-03 Research In Motion Limited System and method for context based predictive text entry assistance
US9092115B2 (en) * 2009-09-23 2015-07-28 Microsoft Technology Licensing, Llc Computing system with visual clipboard
US9135229B2 (en) * 2009-11-25 2015-09-15 International Business Machines Corporation Automated clipboard software
US20120209839A1 (en) * 2011-02-15 2012-08-16 Microsoft Corporation Providing applications with personalized and contextually relevant content
KR20120107356A (ko) * 2011-03-21 2012-10-02 삼성전자주식회사 휴대단말에서 클립보드 기능 제공 방법 및 장치
US8832578B1 (en) * 2011-12-08 2014-09-09 Google Inc. Visual clipboard on soft keyboard
US20140157169A1 (en) * 2012-12-05 2014-06-05 Microsoft Corporation Clip board system with visual affordance
US9647991B2 (en) * 2013-03-15 2017-05-09 Adobe Systems Incorporated Secure cloud-based clipboard for touch devices
US20140280132A1 (en) * 2013-03-15 2014-09-18 Desire2Learn Incorporated Method and system for network enabled digital clipboard

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022191616A1 (ko) * 2021-03-09 2022-09-15 삼성전자 주식회사 전자 장치 및 그의 클립보드 운영 방법

Also Published As

Publication number Publication date
EP3195116A1 (en) 2017-07-26
MX2017003418A (es) 2017-06-19
US20160077673A1 (en) 2016-03-17
WO2016044106A1 (en) 2016-03-24
RU2017108245A3 (ko) 2019-04-19
CA2959686A1 (en) 2016-03-24
JP2017535005A (ja) 2017-11-24
BR112017003416A2 (pt) 2017-11-28
AU2015318174A1 (en) 2017-03-09
RU2017108245A (ru) 2018-09-14
CN107077345A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
KR20170054407A (ko) 콘텐츠를 현재 애플리케이션에 삽입하기 위한 개인화된 문맥 메뉴 제공 기법
TWI450107B (zh) 用於網路資料使用平臺之方法及電腦可讀儲存媒體
US11132333B2 (en) File access with different file hosts
US10007711B2 (en) Data rendering optimization
US20190050378A1 (en) Serializable and serialized interaction representations
US11580088B2 (en) Creation, management, and transfer of interaction representation sets
US11449563B2 (en) User driven clipping based on content type
WO2018156439A1 (en) Collection and control of user activity information and activity user interface
JP6775510B2 (ja) 端末、端末の制御方法、及びプログラム
US20160179899A1 (en) Method of providing content and electronic apparatus performing the method
CN107408242B (zh) 提供对通信内的内容的交互式预览
US10747728B2 (en) Edit and share unsupported files through instantly generated preview
US20170090705A1 (en) Conversation and version control for objects in communications
CN102436344A (zh) 上下文菜单
US20220027404A1 (en) Determining and utilizing actual purpose of user-assembled collection of electronic content items
JP5889325B2 (ja) アプリケーションのファイルシステムアクセス
US20160150038A1 (en) Efficiently Discovering and Surfacing Content Attributes