KR20170058997A - 컴퓨팅 환경의 디바이스 특정 유저 콘텍스트 적응 - Google Patents

컴퓨팅 환경의 디바이스 특정 유저 콘텍스트 적응 Download PDF

Info

Publication number
KR20170058997A
KR20170058997A KR1020177010928A KR20177010928A KR20170058997A KR 20170058997 A KR20170058997 A KR 20170058997A KR 1020177010928 A KR1020177010928 A KR 1020177010928A KR 20177010928 A KR20177010928 A KR 20177010928A KR 20170058997 A KR20170058997 A KR 20170058997A
Authority
KR
South Korea
Prior art keywords
user
computing environment
context
assistive
auxiliary device
Prior art date
Application number
KR1020177010928A
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 KR20170058997A publication Critical patent/KR20170058997A/ko

Links

Images

Classifications

    • G06F9/4445
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • 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
    • 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
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

유저는 디바이스 콜렉션의 여러 디바이스와 상호작용할 수도 있고, 차량을 운전하는 것; 집에서 쉬고 있는 것; 및 공공 장소에서 미팅에 참석하는 것과 같은 특정한 유저 콘텍스트에서 각각의 디바이스를 활용할 수도 있다. 유저는, 디바이스와의 유저의 상호작용의 유저 콘텍스트에 따라 각각의 디바이스를 구성할 수도 있다. 그러나, 디바이스와의 유저의 상호작용의 유저 콘텍스트를 통지받지 않은 디바이스는 유저 콘텍스트로 적응될 수 없다. 대신, 디바이스 콜렉션의 주 디바이스는, 디바이스 콜렉션의 각각의 보조 디바이스의 다양한 특성을 검출할 수도 있고 보조 디바이스와의 유저 상호작용의 유저 콘텍스트를 결정할 수도 있다. 주 디바이스는, 디바이스와의 유저의 유저 상호작용의 유저 콘텍스트에 따라 적응되는 컴퓨팅 환경의 엘리먼트를 갖는 유저 인터페이스를, 유저에게 표시하기 위해, 각각의 보조 디바이스로 송신한다.

Description

컴퓨팅 환경의 디바이스 특정 유저 콘텍스트 적응{DEVICE-SPECIFIC USER CONTEXT ADAPTATION OF COMPUTING ENVIRONMENT}
본 출원은 2014년 9월 24일자로 출원된 발명의 명칭이 "DEVICE-SPECIFIC USER CONTEXT ADAPTATION OF COMPUTING ENVIRONMENT"인 미국 특허 출원 제14/495,268호에 대한 우선권을 주장하는데, 상기 특허 출원은 참조에 의해 본원에 통합된다.
컴퓨팅의 분야 내에서, 많은 시나리오는, 랩탑, 이동 전화, 태블릿, 및 미디어 서버와 같은 디바이스 콜렉션(device collection)과의 유저의 상호작용을 수반한다. 유저는, 유저의 관심 및 작업, 예컨대 다큐먼트를 편집하는 것, 영화를 보는 것, 차량을 운전하는 것, 및 친구와 상호작용하는 것을 커버하기 위해, 디바이스 콜렉션을 위한 다양한 디바이스를 획득할 수도 있다. 유저는 또한, 특정한 유저 콘텍스트에서 각각의 디바이스를 활용하는 경향이 있을 수도 있다: 예를 들면, 유저는 학술적인 또는 직업적인(professional) 작업을 위해 랩탑을 주로 활용할 수도 있고, 여행 동안 태블릿을 주로 활용할 수도 있고, 그리고 소셜 이벤트 동안 이동 전화를 주로 사용할 수도 있다. 이를 위해, 유저는, 디바이스와 상호작용함에 있어서의 유저의 유저 콘텍스트의 관점에서 각각의 디바이스의 컴퓨팅 환경을 구성할 수도 있다. 예를 들면, 유저는 다큐먼트 편집을 위한 애플리케이션을 랩탑이 담당하게 할 수도 있고; 매핑(mapping), 라우팅(routing), 및 여행 계획 짜기를 태블릿이 담당하게 할 수도 있고; 소셜 상호작용을 캡쳐하고 소셜 미디어와 상호작용하기 위한 애플리케이션을 전화기가 담당하게 할 수도 있다.
이 개요는 하기의 상세한 설명에서 더 설명되는 개념의 선택을 간소화된 형태로 소개하기 위해 제공된다. 이 개요는 청구되는 주제의 주요 특징이나 또는 본질적인 특징을 식별하도록 의도된 것이 아니며, 청구되는 주제의 범위를 제한하는 데 사용되도록 의도된 것도 아니다.
디바이스 콜렉션의 다양한 디바이스와의 유저 상호작용의 몇몇 시나리오는, 특정한 유저 콘텍스트에서 디바이스를 사용하려는 유저의 의도에 기초하여, 디바이스에 대한 유저의 적응을 수반한다. 이러한 시나리오에서, 유저는, 디바이스와의 유저 상호작용의 유저 콘텍스트에 따르기 위해 각각의 디바이스의 디바이스 구성을 선택해야 한다. 그러나, 이러한 유저 주도 적응(user-driven adaptation)은, 유저가 구현하고 유지하기에는 어려울 수도 있고 및/또는 번거로울 수도 있다. 몇몇 경우에, 유저는 특정한 유저 콘텍스트에 대해 특정한 디바이스를 구성할 기회를 감지하지 못할 수도 있거나, 또는 그렇게 할 기술적 전문성 또는 리소스를 구비하지 않을 수도 있다. 결과적으로, 몇몇 디바이스 및/또는 양태는 유저 콘텍스트에 적응할 수 없을 수도 있고, 유저에게 일반화된 디바이스 기능성을 제공할 수도 있는데, 유저는, 유저 콘텍스트에 대한 디바이스의 일반화된 기능성을 활용하기 위해서, 유저의 정신적 상태 및 유저 상호작용을 적응시켜야 할 수도 있다. 또한, 디바이스 콜렉션의 각각의 디바이스는, 각각의 디바이스에 대해 일반화되는, 따라서 특정한 유저 콘텍스트에 대해 잘 적응되지 않는 공유된 컴퓨팅 환경을 제시할 수도 있거나; 또는 유저 콘텍스트에 대해 특정하게 구성되기는 하지만, 디바이스 콜렉션의 다른 디바이스와의 제한된 조화를 특징으로 하는 고립된 컴퓨팅 환경을 제시할 수도 있다. 여전히 다른 어려움으로서, 유저는 상이한 유저 콘텍스트에서 다양한 디바이스를 유동적으로 사용할 수도 있고, 유저가 특정한 디바이스 또는 디바이스 서브셋을, 디바이스와의 유저의 현재 상호작용의 유저 콘텍스트에 적응시키는 것은 좌절스러울 수도 있다.
본원에서 제시되는 기술은, 디바이스 콜렉션이 유저의 유저 콘텍스트에 적응하는 것, 및 디바이스와의 유저의 유저 상호작용의 유저 콘텍스트에 자동적으로 적응되는 방식으로 각각의 디바이스 상에서 단일의 컴퓨팅 환경을 제시하는 것을 가능하게 한다. 이러한 기술에 따르면, 컴퓨팅 환경을 호스팅하는 디바이스 콜렉션의 주 디바이스(primary device)는 디바이스 콜렉션의 보조 디바이스(auxiliary device)의 다양한 디바이스 특성, 예컨대 보조 디바이스 타입 및 컴포넌트; 보조 디바이스 상에 저장되는 애플리케이션 및 데이터; 유저가 보조 디바이스와의 유저 상호작용에 참여하는 환경; 및 보조 디바이스를 활용하는 동안 유저가 상호작용하는 다른 개인 및/또는 디바이스를 검출할 수도 있다. 각각의 보조 디바이스의 이러한 디바이스 특성은, 보조 디바이스와의 유저의 유저 상호작용의 유저 콘텍스트를 나타낼 수도 있다. 따라서, 주 디바이스는, 각각의 보조 디바이스와의 유저의 유저 상호작용의 유저 콘텍스트를 결정할 수도 있고, 디바이스 특정(device-specific) 유저 콘텍스트의 관점에서 각각의 보조 디바이스 상에 제시되도록 컴퓨팅 환경의 적어도 하나의 엘리먼트를 적응시킬 수도 있다. 그 다음, 주 디바이스는, 유저에게 제시(presentation)하기 위해, 컴퓨팅 환경을 각각의 보조 디바이스로 송신할 수도 있다. 이 방식에서, 디바이스 콜렉션은, 본원에서 제시되는 기술에 따라, 디바이스 콜렉션의 특정한 디바이스와 상호작용할 것을 선택함에 있어서, 유저의 콘텍스트에 따라 유저를 일괄적으로 관여시킬 수도 있다.
상기 및 관련된 목적의 달성까지, 하기의 설명 및 첨부의 도면은 소정의 예시적인 양태 및 구현예를 개시한다. 이들은, 하나 이상의 양태가 활용될 수도 있는 다양한 방식 중 일부 만을 나타낸다. 본 개시의 다른 양태, 이점, 및 신규의 특징은, 첨부의 도면과 연계하여 고려할 때, 하기의 상세한 설명으로부터 명확해질 것이다.
도 1은 디바이스 콜렉션의 디바이스의 세트와의 유저의 상호작용을 특징으로 하는 예시적인 시나리오의 예시이다.
도 2는, 본원에서 제시되는 기술에 따른, 디바이스 콜렉션의 디바이스의 세트와의 유저의 상호작용을 특징으로 하는 예시적인 시나리오의 예시이다.
도 3은, 본원에서 제시되는 기술에 따른, 주 디바이스가 컴퓨팅 환경을 보조 디바이스의 유저에게 제시하는 것을 가능하게 하는 예시적인 방법의 흐름도이다.
도 4는, 본원에서 제시되는 기술에 따른, 디바이스 콜렉션의 주 디바이스 및 보조 디바이스가 컴퓨팅 환경을 유저에게 제시하는 것을 가능하게 하는 예시적인 시스템의 컴포넌트 블록도이다.
도 5는, 본원에서 개시되는 규정(provision) 중 하나 이상을 구현하도록 구성되는 프로세서 실행가능 명령어를 포함하는 예시적인 컴퓨터 판독가능 매체의 예시이다.
도 6은, 본원에서 제시되는 기술에 따른, 보조 디바이스와의 유저의 유저 상호작용의 유저 콘텍스트의 결정을 통지할 수도 있는 다양한 디바이스의 다양한 디바이스 특성을 특징으로 하는 예시적인 시나리오의 예시이다.
도 7은, 본원에서 제시되는 기술에 따른, 디바이스 특성을 각각의 유저 콘텍스트와 관련시키기 위한 클러스터링 기술을 특징으로 하는 예시적인 시나리오의 예시이다.
도 8은, 본원에서 제시되는 기술에 따른, 디바이스 특성을 각각의 유저 콘텍스트와 관련시키는 적응적 알고리즘을 특징으로 하는 예시적인 시나리오의 예시이다.
도 9는, 본원에서 제시되는 기술에 따른, 디바이스와의 유저의 유저 상호작용의 정보 밀도에 기초한 각각의 보조 디바이스의 컴퓨팅 환경 내에서의 애플리케이션의 적응을 특징으로 하는 예시적인 시나리오의 예시이다.
도 10은, 본원에서 제시되는 기술에 따른, 유저의 디바이스 콜렉션의 각각의 보조 디바이스의 유저 콘텍스트에 따라 통지의 통지 라우팅을 특징으로 하는 예시적인 시나리오의 예시이다.
도 11은, 본원에서 개시되는 규정 중 하나 이상이 구현될 수도 있는 예시적인 컴퓨팅 환경의 예시이다.
이제, 청구되는 주제가 도면을 참조로 설명되는데, 도면에서는, 전체에 걸쳐 유사한 엘리먼트를 가리키기 위해 동일한 도면 부호가 사용된다. 하기의 설명에서, 설명을 위한 목적으로, 청구되는 주제의 완전한 이해를 제공하기 위해 다양한 특정 상세(details)가 개시된다. 그러나, 청구되는 주제는 이들 특정 상세 없이 실시될 수도 있다는 것이 명백할 수도 있다. 다른 경우에, 청구되는 주제의 설명을 용이하게 하기 위해, 구조 및 디바이스는 블록도 형태로 도시된다.
A. 서론
도 1은, 디바이스(106)의 세트를 포함하는 디바이스 콜렉션(104)과의 유저(102)의 유저 상호작용을 특징으로 하는 예시적인 시나리오(100)의 예시이다. 예시적인 시나리오(100)에서, 유저(102)는, 다큐먼트를 편집하는 것; 다양한 형태의 미디어를 보는 것; 게임을 하는 것; 직업적 연락처 및 사회적 연락처(professional and social contacts)와 통신하는 것; 및 유저의 일상의 활동, 예컨대 차량 매핑 및 내비게이션을 용이하게 하는 정보를 발견하는 것과 같은, 관심 및 작업의 폭 넓은 세트를 커버하는 디바이스(106)를 획득한다. 디바이스 콜렉션(104)의 각각의 디바이스(106)는, 각각의 디바이스(106) 상에 설치되어 실행가능한 애플리케이션(116)의 콜렉션; 유저 파일, 미디어 오브젝트, 및 웹 링크와 같은 데이터의 다양한 콜렉션; 및 일상적 및/또는 직업적 유저 상호작용에 대해 적응되는 오퍼레이팅 시스템과 같은 다양한 형태의 유저 인터페이스와 같은 컴퓨팅 환경(114)을 제시할 수도 있다. 각각의 디바이스(106)는 또한 상이한 컴포넌트의 세트, 예컨대 다양한 품질 및 해상도의 디스플레이; 오디오 출력을 유저(102)에 제공하기 위한 스피커, 헤드폰, 및/또는 이어피스(earpiece); 키보드, 마우스, 및 터치 감지 디스플레이와 같은 입력 디바이스; 및 카메라 및 통신 디바이스와 같은 다른 주변장치를 특징으로 할 수도 있다.
특히, 유저(102)는 특정한 유저 콘텍스트(108)에서 각각의 디바이스(106)를 획득하여 상호작용할 수도 있다. 이러한 제1 예로서, 유저(102)는, 사무실에서 다른 개인과 통신하는 것 또는 특정한 프로젝트에 대한 다큐먼트를 편집하는 것과 같은 학술적 및/또는 직업적 작업을 수행하는 특정 유저 콘텍스트(specific user context)(108)를 위한 제1 디바이스(106), 예컨대 워크스테이션 컴퓨터를 획득할 수도 있다. 이러한 제2 예로서, 유저(102)는, 영화를 보고, 게임을 하고, 일반적인 웹 브라우징(casual web browsing)을 시작하기 위해, 대형 스크린 텔레비전과 함께 사용하기 위한 제2 디바이스(106), 예컨대 홈 씨어터 서버를 획득할 수도 있다. 이러한 제3 예로서, 유저(102)는 빈번하게 여행을 다닐 수도 있고 따라서, 여행 계획 짜기, 내비게이션, 및 여행 동안 다른 개인과 통신하는 의도된 유저 콘텍스트(108)를 위한 제3 디바이스(106), 예컨대 이동 전화를 획득할 수도 있다. 이러한 제4 예로서, 유저(102)는, 예를 들면, 개인 사진을 캡쳐하여 소셜 미디어 사이트에 송신하는 것, 및 유저의 친구 및 가족과 데이터를 통신하고 공유하는 것인 사회적 상호작용의 유저 콘텍스트(108)에서, 태블릿과 같은 제4 디바이스(106)를 획득하여 활용할 수도 있다.
이 방식으로 디바이스 콜렉션(104)을 사용하기 위해, 유저(102)는, 개인(102)의 마음(110) 속의 유저 콘텍스트(108)에 따라, 즉, 유저(102)가 각각의 디바이스(106)와 관련시키는(112) 유저 콘텍스트(108)를 사용하여 각각의 디바이스(106)를 선택, 구성, 및 활용할 수도 있다. 예를 들면, 유저(102)가 학술적 또는 직업적 작업의 유저 콘텍스트(108)에서 워크스테이션 디바이스(106)와 상호작용하려고 의도하는 경우, 개인(102)은, 제1 디바이스(106)의 컴퓨팅 환경(114)에서, 텍스트 에디터 및 계산 툴과 같은 특정한 애플리케이션(116)을 선택하여 설치할 수도 있다. 마찬가지로, 유저(102)는, 홈 엔터테인먼트 디바이스의 유저 콘텍스트(108)에 대한 제2 디바이스(106)를 획득할 수도 있고, 따라서 디바이스(106)를 선택할 수도 있고 및/또는 유저 콘텍스트(108)에 적합한 주변장치(예를 들면, 영화관 품질의 디스플레이 및 오디오 시스템; 고출력 그래픽 코프로세서; 및 게임용 주변장치의 콜렉션)의 세트뿐만 아니라, 홈 엔터테인먼트(예를 들면, 미디어 플레이어, 영화, 음악, 및 게임)에 적합한 애플리케이션(116) 및 데이터로 디바이스(106)를 보완할 수도 있다. 유저(102)는, 마찬가지로, 각각의 디바이스(106)와의 유저(102)의 유저 상호작용의 특정 유저 콘텍스트(108)에 따라, 디바이스 콜렉션(108)의 다른 디바이스(106)를 구성하여 상호작용할 수도 있다. 예를 들면, 유저(102)는, 각각의 디바이스(106)가, 디바이스(106)의 유저 콘텍스트(108)의 관점에서, 특정한 작업을 특정한 방식으로 수행할 것을 소망할 수도 있다; 예를 들면, 유저(102)는, 각각의 디바이스(106)와의 유저(102)의 유저 상호작용의 특정한 유저 콘텍스트(108)에 기초하여, 전체 텍스트 제시(full-text presentation), 텍스트 요약, 또는 특정한 텍스트 기사의 오디오만의 표현과 같은 특정한 방식으로 컨텐츠(118)를 제시하도록 각각의 디바이스(106)를 구성할 수도 있다. 이 방식에서, 각각의 디바이스(106)와 상호작용하는 유저의 관심은, 유저(102)의 마음(110)의 유저 콘텍스트(108)에 적합하는 각각의 디바이스(106)의 신중한 선택 및 구성을 통해 달성된다.
그러나, 도 1의 예시적인 시나리오(100)에서 예시되는 방식에서의 디바이스(106)의 유저 관리는 다양한 단점으로 나타날 수도 있다.
제1의 예시적인 단점으로서, 유저 콘텍스트(108)와 매치하는 각각의 디바이스(106)의 디바이스 특정 구성은, 유저(102)의 의도 및 액션에 의해 구동된다; 예를 들면, 유저(102)는 디바이스(106)의 유저 콘텍스트(108)와 매치하도록 각각의 디바이스(106)의 선택, 구성, 및 사용을 선택, 구현, 및 유지해야 한다. 예를 들면, 유저(102)는 각각의 디바이스(106) 상에 설치된 애플리케이션(116)을 식별해야 하고, 유저 콘텍스트(108)에 적합하도록 애플리케이션(116)의 거동을 구성시켜야 한다(예를 들면, 특정한 방식으로 컨텐츠(118)를 제시하도록 각각의 디바이스(106)를 구성시킨다). 이러한 구상, 선택, 설치, 및 유지 보수는 상당히 복잡할 수도 있고 시간 소모적일 수도 있으며, 따라서 유저(102)에게 어려울 수도 있고 및/또는 성가실 수도 있다. 또한, 특정한 유저 콘텍스트(108)에 대한 각각의 디바이스(106)의 별개의 구성의 구현 및 유지의 실패는, 일관되지 않고 및/또는 예상치 못한 거동으로 나타날 수도 있다; 예를 들면, 유저(102)는, 특정한 유저 콘텍스트(108)와 관련되는 특정한 애플리케이션(116)이 특정한 디바이스(106) 상에서 설치되지 않거나 또는 이용가능하지 않다는 것을 실감할 수 없을 수도 있고, 따라서 디바이스(106)의 예상치 못한 제한을 경험할 수도 있다.
제2의 예시적인 단점으로서, 몇몇 디바이스(106)의 컴포넌트 및 컴퓨팅 환경(114)은, 특정한 유저 콘텍스트(108)에 적합하도록 완전히 구성 가능하지 않을 수도 있다. 예를 들면, 이동 전화(106)는 제한된 구성 능력만을 특징으로 할 수도 있고, 유저 콘텍스트(108)에 대해 적응가능하지 않은 일반화된 및/또는 포괄적인 컴퓨팅 기능만을 제공하는 컴퓨팅 환경(114)을 제공할 수도 있다. 따라서, 유저(102)는, 유저 콘텍스트(108)에서 디바이스(106)를 활용하기 위해서는, 그의 또는 그녀의 정신적 프로세스 및 액션을 적응시켜야 할 수도 있다. 예를 들면, 디바이스(106)가 여행을 위해 특별히 사용될 수도 있고, 유저(102)는 엄선된 기능성(예를 들면, 매핑, 라우팅, 위치 결정, 레스토랑 예약, 여행사 직원과 상호작용하는 것, 및 여행 계획을 조정하기 위해 사무실 동료와 부정기적으로 통신하는 것)에 크게 의존할 수도 있고, 디바이스(106)의 다른 기능성(예를 들면, 게임을 하는 것, 다큐먼트를 편집하는 것, 소셜 미디어와 상호작용하는 것, 및 일반적인 웹 브라우징)을 활용하지 않을 수도 있다. 그러나, 디바이스(106)는 유저(102)에게 기능성의 전체 세트를 항상 제공할 수도 있고, 유저(102)는 유저 콘텍스트(108)에 관련되는 디바이스 기능성 및 데이터를, 관련되지 않는 디바이스 기능성 및 데이터와 정신적으로 구별하도록 강요받을 수도 있다.
제3의 예시적인 단점으로서, 특정한 유저 콘텍스트(108)에 적합시키기 위한 유저(102)에 의한 디바이스(106)의 구성은, 각각의 디바이스(106)의 컴퓨팅 환경(114)을, 다른 디바이스(106)의 컴퓨팅 환경(114)과 고립시킬 수도 있다. 예를 들면, 디바이스(106)의 디바이스 구성이 특정한 유저 콘텍스트(108)에 대해 특별하게 되기 때문에(예를 들면, 유저 콘텍스트(108)에 적합하게끔 애플리케이션(116), 컨텐츠(118), 및 다른 기능성을 제시하도록 구성되기 때문에), 디바이스(106)의 컴퓨팅 환경(114)은, 다른 디바이스(106)의 컴퓨팅 환경(114)으로부터 벗어날 수도 있다. 이러한 벗어남은, 디바이스 콜렉션(104)의 디바이스(106)의 연동을 붕괴시킬 수도 있고, 그 결과, 특정한 디바이스(106)는 특정한 유저 콘텍스트(108)에 대한, 다른 디바이스(106)는 참여할 수 없는 "저장소(silo)"가 되고(예를 들면, 다른 디바이스(106)는 제1 디바이스(106)의 특별화된 데이터를 활용할 수 없을 수도 있다), 및/또는 컴퓨팅 환경(114)에서 비일관성을 생성할 수도 있다(예를 들면, 상이한 디바이스(104)의 연락처 리스트는 상이한 어쩌면 충돌하는 정보를 포함할 수도 있고, 이것은 이러한 연락처와의 유저(102)에 의한 통신과 간섭할 수도 있다). 대안적으로, 디바이스 콜렉션(104)은, 디바이스(106) 사이에서 단일의 컴퓨팅 환경(114)을 강제하고 동기화하는 것에 의해, 일관성을 유지할 수도 있지만, 그러나, 이러한 동기화는, 디바이스 콜렉션(104)의 각각의 디바이스(106)의 유저 콘텍스트 고유의 구성(user-context-specific configuration)과 간섭할 수도 있고, 가끔은 상호 배제될 수도 있다.
제4의 예시적인 단점으로서, 유저(102)의 유저 콘텍스트(108)는 동적일 수도 있고, 그 결과, 유저(102)는 특정한 디바이스(106)와 상호작용하는 동안 유저 콘텍스트(108)를 전환해야 할 수도 있다(예를 들면, 소셜 이벤트에 참가하는 동안, 유저(102)는 직장 동료로부터 전화를 받을 수도 있다). 따라서, 유저(102)는 제1 유저 콘텍스트(108)로부터 신규의 유저 콘텍스트(108)로 정신적 시프트(예를 들면, 상이한 네트워크, 상이한 유저 계정, 상이한 다큐먼트의 세트, 및 상이한 애플리케이션의 세트에 액세스하는 것)를 행해야 할 수도 있다. 예를 들면, 유저(102)는 신규의 유저 콘텍스트(108)에 적합하도록 디바이스(106)의 구성을 변경해야 할 수도 있는데, 이것은, 디바이스(106)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)가 급격하게 및/또는 빈번하게 변하는 경우, 좌절스러울 수도 있다. 역으로, 유저(102)가 이러한 선택의 수행을 실패하는 경우, 유저(102)는, 우연히, 잘못된 유저 콘텍스트(108)에서 디바이스(106)와 상호작용할 수도 있다(예를 들면, 의도치 않게, 제2 이메일 계정 대신 제1 이메일 계정으로부터 메일을 전송한다). 대안적으로 또는 추가적으로, 제1 유저 콘텍스트(108)에 대해서만 유저(102)에 의해 구성된 특정한 디바이스(106)는 컴퓨팅 환경(114)을 신규의 유저 콘텍스트(108)로 조정시키는(예를 들면, 상이한 애플리케이션의 세트를 제공하는) 유연성을 가지지 않을 수도 있다. 이들 및 다른 단점은, 예컨대 도 1의 예시적인 시나리오(100)에서, 각각의 디바이스(106)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 적합시키기 위한 디바이스 콜렉션(104)의 디바이스(106)의 유저 구동 구성(user-driven configuration)으로부터 발생할 수도 있다.
B. 제시된 기술
각각의 디바이스(106)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 자동적으로 결정하도록, 그리고 각각의 디바이스(106)를 통해 유저(102)에게 제시되는 공유된 컴퓨팅 환경(114)의 엘리먼트를 유저 콘텍스트(108)에 적응시키도록, 디바이스(106)의 디바이스 콜렉션(104)을 구성시키기 위한 기술이 본원에서 제시된다.
도 2는, 상이한 유저 콘텍스트(108)에서 유저(102)에 의해 사용되는 디바이스(106)의 디바이스 콜렉션(104)을 특징으로 하는 예시적인 시나리오(200)의 예시를 제시한다. 예시적인 시나리오(200)에서, 디바이스 콜렉션(104)은 주 디바이스(202)를 포함하는데, 주 디바이스(202)는 컴퓨팅 환경(216)을 호스팅하고 및/또는 관리하고, 컴퓨팅 환경(216)을 유저(102)에게 제시하는 보조 디바이스(204)의 콜렉션으로 컴퓨팅 환경(216)을 송신한다. 유저(102)는 특정한 유저 콘텍스트(108)에서 각각의 보조 디바이스(204)와 상호작용한다(206); 예를 들면, 제1 보조 디바이스(204)는, 리포트를 작성하는 것 및 동료와 연락하는 것을 포함하는 학술적 또는 직업적 유저 콘텍스트(108)에서 주로 사용될 수도 있고, 한편 제2 보조 디바이스(204)는 홈 씨어터 및 엔터테인먼트 디바이스로서 주로 사용될 수도 있다.
본원에서 제시되는 기술에 따르면, 주 디바이스(202)는, 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 따라 각각의 보조 디바이스(24)를 통해 유저(102)에게 제시되는 컴퓨팅 환경(216)을, 다음의 방식으로 적응시킬 수도 있다. 주 디바이스(202)는, 보조 디바이스(204)의 디바이스 타입 또는 클래스(예를 들면, 서버, 워크스테이션, 랩탑 또는 넷북, 이동전화, 태블릿, 웨어러블 디바이스, 또는 게임용 콘솔); 보조 디바이스(204)의 컴포넌트 및/또는 성능(예를 들면, 디스플레이, 프로세서, 메모리, 입력 및 출력 디바이스, 네트워크 및 통신 디바이스, 및 그래픽 코프로세서); 보조 디바이스(204)와 함께 유저(102)에 의해 활용되는 애플리케이션(116) 및 데이터; 보조 디바이스(204) 상에서 유저(102)에 의해 수행되는 특정한 활용; 및 보조 디바이스(204)와의 유저(102)의 상호작용의 환경, 예컨대 이러한 유저 상호작용의 날짜, 시간, 및 장소, 및 유저 상호작용 동안의 유저(102)의 존재 하에서의 다른 개인)과 같은, 각각의 보조 디바이스(204)의 하나 이상의 디바이스 특성(208)을 검출할 수도 있다(210). 보조 디바이스(204)의 디바이스 특성(208)에 따르면, 주 디바이스(202)는 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 결정한다(212). 그 다음, 주 디바이스(202)는, 보조 디바이스(204) 상에 제시되도록 컴퓨팅 환경(216)의 하나 이상의 엘리먼트를 적응시킬 수도 있는데(220), 이 경우, 이러한 적응(220)은 보조 디바이스(204)의 유저 콘텍스트(108)에 따라 수행된다. 예를 들면, 주 디바이스(202)는, 유저 인터페이스, 입/출력 디바이스 및/또는 양상(modality), 애플리케이션의 세트, 액세스 가능한 데이터, 연락처, 웹사이트 북마크, 유저 계정 및 자격 정보(credentials), 및/또는 디바이스(204)의 작업 플로우를, 보조 디바이스(204)의 유저 콘텍스트(108)에 따라 적응시킬 수도 있다. 그 다음, 주 디바이스(202)는, 각각의 보조 디바이스(204)로, 본원에서 제시되는 기술에 따라, 보조 디바이스(204)의 유저 콘텍스트(108)에 대해 적응된(220) 컴퓨팅 환경을 송신한다(222).
C. 기술적 효과
디바이스 콜렉션(104)의 각각의 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 대해 적응되는 컴퓨팅 환경(216)을 제시하기 위한 본원에서 제시되는 기술의 사용은, 다양한 기술적 효과로 나타날 수도 있다.
본원에서 제시되는 기술에 의해 달성될 수도 있는 기술적 효과의 제1 예로서, 본원에서 제시되는 기술을 활용하는 디바이스(104)는, 보조 디바이스(204)의 유저 콘텍스트(108)를 반영하도록 컴퓨팅 환경(216)을 자동적으로 적응시킬 수도 있고, 그에 의해, 각각의 보조 디바이스(204)의 컴퓨팅 환경(216)의 구성을 선택, 구현, 및 유지함에 있어서의 유저(102)에 대한 부담을 감소시키게 된다. 또한, 유저(102)가, 특정 유저 콘텍스트(108)에 대해 보조 디바이스(204)를 구성 및 유지하는 동기 부여, 기술적 숙달, 및/또는 리소스를 갖지 않는 경우, 본원에서 제시되는 기술은, 이러한 유연성을 나타내는 컴퓨팅 환경(216)의 자동화된 적응(220)을 가능하게 할 수도 있다.
본원에서 제시되는 기술에 의해 달성될 수도 있는 기술적 효과의 제2 예로서, 본원에서 제시되는 기술을 활용하는 디바이스(104)는, 보조 디바이스(204)에 걸친 컴퓨팅 환경(216)의 제시의 일관성을 가능하게 할 수도 있다. 이러한 제1 예로서, 주 디바이스(202)의 컴퓨팅 환경(216)에 설치되는 애플리케이션(116)은, 애플리케이션(116)이 관련되는 유저 콘텍스트(108)를 나타내는 보조 디바이스(204)의 각각으로, 유저(102)가 각각의 이러한 보조 디바이스(204)를 식별해야 하고 그 상에 애플리케이션(116)을 설치해야 하는 대신, 자동적으로 송신될 수도 있다. 역으로, 본원에서 제시되는 기술은, 애플리케이션(116)과 관련되는 유저(102)와의 유저 상호작용에서 어떤 보조 디바이스(204)가 유저 콘텍스트(108)를 반영하지 않는지를 주 디바이스(202)가 식별하는 것을 가능하게 하고, 애플리케이션(116)을 이러한 보조 디바이스(204)로 송신하는 것을 억제할 수도 있고, 그에 의해 계산 리소스를 보존하게 된다. 따라서, 이러한 적응(220)은, 유저 콘텍스트(108)에 대한 특수화에 기인하는 보조 디바이스(204)의 상이성(divergence)을 감소시키면서, 그리고 특정한 유저 콘텍스트(108)에 대한 각각의 보조 디바이스(204)의 적응을 감소시키는 균일성을 나타내기 위한 컴퓨팅 환경(216)의 일반화된 및/또는 포괄적인 구성의 강제를 더 완화하면서, 보조 디바이스(204)에 의해 제시되는 제시된 컴퓨팅 환경(216)의 일관성을 촉진할 수도 있다.
본원에서 제시되는 기술에 의해 달성될 수도 있는 기술적 효과의 제3 예로서, 주 디바이스(202)는, 각각의 보조 디바이스(204)의 디바이스 특성(208)에 기초하여 유저 콘텍스트(108)를 자동적으로 결정할 수도 있고, 컴퓨팅 환경(216)을, 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 자동적으로 적응시킬 수도 있다(220). 이러한 자동화된 결정은, 개인(102)으로부터, 각각의 보조 디바이스(204)에 대해 이러한 정보를 명시적으로 명시해야하는 것을 덜어 줄 수도 있다. 이러한 자동화된 결정은 또한, 각각의 보조 디바이스(204)와의 각각의 유저 상호작용에 대해 유저 콘텍스트(108)를 일관되게 명시할 수 없는 경우에서의 유저 오차를 감소시킬 수도 있다(예를 들면, 이전 유저 콘텍스트(108)와 관련되는 의도치 않은 이메일 계정을 통하는 대신, 현재 유저 콘텍스트(108)와 관련되는 특정한 이메일 계정을 통해 메시지를 전송하도록, 컴퓨팅 환경(216)을 자동적으로 적응시킨다(220)). 또한, 디바이스 콜렉션(104)의 보조 디바이스(204)와 상호작용함에 있어서 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 주 디바이스(202)가 결정하는, 본원에서 제시되는 특정한 아키텍쳐는, 유저 콘텍스트(108)의 더욱 정확하고 응답성 있는 자동 결정을 가능하게 할 수도 있다; 예를 들면, 임의의 특정한 보조 디바이스(204)는, 특정한 보조 디바이스(204)와 상호작용하는 동안 유저(102)의 유저 콘텍스트(108)를 결정할 만큼 충분한 정보를 가지지 않을 수도 있지만, 그러나 중앙집중식 결정(centralized determination)은, 보조 디바이스(204)의 특정한 유저 콘텍스트(108)를 결정하기 위해, 유저(102)의 활동을 유저 콘텍스트(108)로 클러스터링할 수 있을 수도 있다. 추가적인 아키텍쳐적 변형예로서, 디바이스 콜렉션(102)의 주 디바이스(202) 및/또는 보조 디바이스(204)는 다양한 방식으로 편제될 수도 있고(예를 들면, 서버/클라이언트 및/또는 피어 투 피어 관계를 나타냄), 주 디바이스(202)는 또한, 보조 디바이스(204)로서 디바이스 콜렉션(104)에 포함될 수도 있거나, 또는 디바이스 콜렉션(104)과는 별개일 수도 있다.
본원에서 제시되는 기술에 의해 달성될 수도 있는 기술적 효과의 제3 예로서, 유저(102)는 증대된 관리적 부담의 수반 없이 많은 수의 및/또는 다양한 보조 디바이스(204)를 포함하도록 디바이스 콜렉션(104)을 확장시킬 수도 있다. 예를 들면, 디바이스 콜렉션(104)은, 컴퓨팅 환경(216)을 결정할 수 없고 및/또는 유저(102)의 유저 콘텍스트(108)에 적응시킬 수(220) 없는 보조 디바이스(104)를 포함할 수도 있다(예를 들면, 헤드폰은, 관련 데이터에 대한 불충분한 액세스 및/또는 불충분한 계산적 리소스로 인해, 유저 콘텍스트(108)를 결정할 수 없을 수도 있다). 그러나, 특정한 보조 디바이스(204)와 상호작용하는 동안 유저(102)의 유저 콘텍스트(108)를 결정하도록 주 디바이스(202)를 구성하는 것은, 결정 및/또는 적응(220)을 달성하는 이러한 성능이 부족한 보조 디바이스(204)의 컴퓨팅 환경(216)을 주 디바이스(202)가 적응시키는 것(220)을 가능하게 할 수도 있다. 이들 및 다른 기술적 효과는 본원에서 제시되는 기술의 다양한 구현예를 통해 달성가능할 수도 있다.
D. 예시적인 실시형태
도 3은, 디바이스 콜렉션(104)의 보조 디바이스(204) 상에 컴퓨팅 환경(216)을 제시하도록 주 디바이스(202)를 구성하는 예시적인 방법(300)으로서 예시되는, 본원에서 제시되는 기술의 제1 예시적인 실시형태를 제시한다. 예시적인 방법(300)은, 예를 들면, 메모리 회로, 하드 디스크 드라이브의 플래터, 솔리드 스테이트 스토리지 디바이스, 또는 자기 또는 광학 디스크와 같은, 주 디바이스(202)의 메모리 컴포넌트에 저장되는, 그리고, 디바이스의 프로세서 상에서의 실행시, 주 디바이스(202)로 하여금, 본원에서 제시되는 기술에 따라 동작하게 하도록 편제되는(organized) 명령어로서 구현될 수도 있다.
예시적인 방법(300)은 302에서 시작하고 주 디바이스(202)의 프로세서 상에서 명령어를 실행하는 것(304)을 수반한다. 구체적으로는, 프로세서 상에서 명령어를 실행하는 것(304)은, 주 디바이스(202)로 하여금, 디바이스 콜렉션(104)의 각각의 보조 디바이스(204)에 대해(306), 보조 디바이스(204)의 적어도 하나의 디바이스 특성(208)을 검출하게 한다(308). 프로세서 상에서 명령어를 실행하는 것(304)은 또한, 주 디바이스(202)로 하여금, 디바이스 콜렉션(104)의 각각의 보조 디바이스(204)에 대해(306) 그리고 보조 디바이스(204)의 디바이스 특성(208)에 따라, 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 결정하게 한다(310). 프로세서 상에서 명령어를 실행하는 것(304)은 또한, 주 디바이스(202)로 하여금, 디바이스 콜렉션(104)의 각각의 보조 디바이스(204)에 대해(306), 보조 디바이스(204) 상에서 제시되는 컴퓨팅 환경(216)의 적어도 하나의 엘리먼트를 보조 디바이스(204)의 유저 콘텍스트(108)에 따라 적응시키게 한다(312). 프로세서 상에서 명령어를 실행하는 것(304)은 또한, 주 디바이스(202)로 하여금, 디바이스 콜렉션(104)의 각각의 보조 디바이스(204)에 대해(306), 컴퓨팅 환경(216)을 보조 디바이스(204)로 송신하게 한다(314). 이 방식에서, 명령어는, 주 디바이스(202)로 하여금, 보조 디바이스(204)를 통해 그리고 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 따라, 컴퓨팅 환경(216)을 유저(102)에게 제시하게 하고, 316에서 종료한다.
본원에서 제시되는 기술의 제2 예시적인 실시형태(도시되지는 않음)는, 디바이스 콜렉션(104)의 주 디바이스(202)에 의해 송신된 컴퓨팅 환경(216)을 유저(102)에게 제시하도록 보조 디바이스(204)를 구성하는 예시적인 방법을 수반하는데, 이 경우 컴퓨팅 환경(216)은 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 반영하도록 적응되었다. 이 효과를 달성하는 예시적인 방법은, 예를 들면, 유저가 보조 디바이스와 상호작용하는 유저 콘텍스트를 나타내는 보조 디바이스의 적어도 하나의 디바이스 특성(208)을 보조 디바이스(204)로 하여금 검출하게 하고; 적어도 하나의 디바이스 특성(208)을 주 디바이스(202)로 송신하게 하고; 그리고 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 따라 적응된 적어도 하나의 엘리먼트를 구비하는 주 디바이스(202)로부터 컴퓨팅 환경(216)을 수신하는 것에 응답하여, 컴퓨팅 환경(216)을 유저(102)에게 제시하게 하는 보조 디바이스(204) 명령어의 프로세서 상에서의 실행을 포함할 수도 있다. 이 방식에서, 예시적인 방법은, 본원에서 제시되는 기술에 따라, 보조 디바이스(204)가 컴퓨팅 환경(216)을 유저(102)에게 제시하는 것을 가능하게 할 수도 있다.
도 4는, 본원에서 제시되는 기술 중 적어도 일부를 구현하는 예시적인 주 디바이스(402) 및 예시적인 보조 디바이스(404) 상에서 각각 구현되는 예시적인 시스템으로서 예시되는, 본원에서 제시되는 기술의 다른 예시적인 실시형태를 제시한다. 예시적인 주 디바이스(402)는 또한, 적어도 하나의 엘리먼트(422)(예를 들면, 유저 인터페이스, 애플리케이션, 폰트 및 컬러 스킴(scheme)과 같은 시각적 피쳐, 데이터, 얘플리케이션 구성, 연락처 리스트, 및 유저 계정 및 자격 정보)를 포함하는 컴퓨팅 환경(216)을 호스팅 및/또는 관리하고, 예시적인 보조 디바이스(404)는 또한 적어도 하나의 디바이스 특성(208)(예를 들면, 디바이스 타입, 하드웨어 또는 소프트웨어 컴포넌트 및/또는 그 성능, 유저(102)에 의해 설치되는 및/또는 사용되는 애플리케이션(116), 유저(102)에 의해 액세스되는 다큐먼트 및 다른 오브젝트, 및/또는 유저(102)가 예시적인 보조 디바이스(404)와 상호작용하는 환경)을 나타낸다. 또한, 이 예시적인 시나리오(400)에서, 예시적인 주 디바이스(402) 및 예시적인 보조 디바이스(404) 각각은 프로세서(406) 및 메모리(408)를 포함하는데, 이 경우, 예시적인 시스템은, 각각의 예시적인 디바이스로 하여금, 본원에서 제시되는 기술에 따라 컴퓨팅 환경(216)을 유저(102)에게 제시하게 한다. 각각의 예시적인 시스템은, 예를 들면, 각각의 예시적인 디바이스의 메모리(408)에 저장되는 명령어의 세트를 각각 포함하는 컴포넌트의 세트로서 구현될 수도 있는데, 이 경우, 각각의 컴포넌트의 명령어는, 프로세서(406) 상에서의 실행시, 예시적인 디바이스로 하여금 본원에서 제시되는 기술에 따라 동작하게 한다. 대안적으로, 각각의 컴포넌트는, 본원에서 제시되는 기술에 따라 동작하는, 별개의 회로 또는 하드웨어 디바이스, 또는 이들의 조합으로서 구현될 수도 있다.
예시적인 주 디바이스(402)는, 예시적인 보조 디바이스(404)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 나타내는, 예시적인 보조 디바이스(404)의 적어도 하나의 디바이스 특성(208)을 검출하고, 적어도 하나의 디바이스 특성(208)에 따라, 예시적인 보조 디바이스(404)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 결정하는 유저 콘텍스트 결정기(412)를 포함하는 제1 예시적인 시스템(410)을 포함한다. 예시적인 시스템(410)은 또한 컴퓨팅 환경 송신기(414)를 포함하는데, 컴퓨팅 환경 송신기(414)는, 보조 디바이스 상에 제시될 컴퓨팅 환경(216)의 적어도 하나의 엘리먼트(422)를 예시적인 보조 디바이스(404)의 유저 콘텍스트(108)에 따라 적응시키고(220), 적응된 엘리먼트(422)를 포함하는 컴퓨팅 환경(216)을 예시적인 보조 디바이스(404)로 송신한다(222).
예시적인 보조 디바이스(404)는 디바이스 특성 송신기(418)를 포함하는 제2 예시적인 시스템(416)을 포함하는데, 디바이스 특성 송신기(418)는 유저(102)가 예시적인 보조 디바이스(404)와 상호작용하는 유저 콘텍스트(108)를 나타내는 예시적인 보조 디바이스(404)의 적어도 하나의 디바이스 특성(208)을 검출하고, 예시적인 주 디바이스(402)의 적어도 하나의 디바이스 특성(208)을 송신한다. 예시적인 보조 디바이스(404)의 예시적인 시스템(416)은 또한 컴퓨팅 환경 프리젠터(computing environment presenter)(420)를 포함하는데, 컴퓨팅 환경 프리젠터(420)는, 예시적인 주 디바이스(402)로부터, 예시적인 보조 디바이스(404)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 따라 적응된 적어도 하나의 엘리먼트(422)를 구비하는 컴퓨팅 환경(216)을 수신하는 것에 응답하여, 유저(102)에게 컴퓨팅 환경(216)을 제시한다. 이 방식에서, 이러한 예시적인 시스템을 활용하는 예시적인 주 디바이스(402)와 예시적인 보조 디바이스(404)의 연동은, 본원에서 제시되는 기술에 따라 유저(102)에 대한 컴퓨팅 환경(216)의 협력적 제시(cooperative presentation)를 가능하게 할 수도 있다.
또 다른 실시형태는, 본원에서 제시되는 기술을 적용하도록 구성되는 프로세서 실행가능 명령어를 포함하는 컴퓨터 판독가능 매체를 수반한다. 이러한 컴퓨터 판독가능 매체는 다양한 타입의 통신 매체, 예컨대 다양한 물리적 현상을 통해 그리고 (예를 들면, 이더넷 또는 광섬유 케이블을 통한) 다양한 유선 시나리오 및/또는 무선 시나리오(예를 들면, 와이파이와 같은 무선 근거리 통신망(wireless local area network; WLAN), 블루투스와 같은 개인 영역 네트워크(personal area network; PAN), 또는 셀룰러 또는 라디오(radio) 네트워크)에서 전파될 수도 있는, 그리고 디바이스의 프로세서에 의한 실행시, 디바이스로 하여금 본원에서 제시되는 기술을 구현하게 하는 컴퓨터 판독가능 명령어의 세트를 인코딩하는 신호(예를 들면, 전자기 신호, 음파 신호, 또는 광학 신호)를 포함할 수도 있다. 이러한 컴퓨터 판독가능 매체는 또한, (통신 매체를 배제하는 기술의 클래스로서), 디바이스의 프로세서에 의한 실행시, 디바이스로 하여금, 본원에서 제시되는 기술을 구현하게 하는 컴퓨터 판독가능 명령어의 세트를 인코딩하는, 컴퓨터 판독가능 메모리 디바이스, 예컨대 메모리 반도체(예를 들면, 정적 랜덤 액세스 메모리(static random access memory; SRAM), 동적 랜덤 액세스 메모리(dynamic random access memory; DRAM), 및/또는 동기식 동적 랜덤 액세스 메모리(synchronous dynamic random access memory; SDRAM) 기술을 활용하는 반도체), 하드 디스크 드라이브의 플래터, 플래시 메모리 디바이스, 또는 자기 또는 광학 디스크(예컨대, CD-R, DVD-R, 또는 플로피 디스크)를 포함할 수도 있다.
이들 방식으로 고안될 수도 있는 예시적인 컴퓨터 판독가능 매체는 도 5에서 도시되는데, 여기서 구현예(500)는, 컴퓨터 판독가능 데이터(504)가 인코딩되는 컴퓨터 판독가능 메모리 디바이스(502)(예를 들면, CD-R, DVD-R, 또는 하드 디스크 드라이브의 플래터)를 포함한다. 결과적으로, 이 컴퓨터 판독가능 데이터(504)는, 디바이스(510)의 프로세서(406) 상에서의 실행시, 디바이스(510)로 하여금 본원에서 개시되는 원리에 따라 동작하게 하는 컴퓨터 명령어(506)의 세트를 포함한다. 이러한 제1 실시형태에서, 프로세서 실행가능 명령어(506)는, 주 디바이스(202)로 하여금, 도 3의 예시적인 방법(300)과 같이, 디바이스 콜렉션(104)의 하나 이상의 보조 디바이스(204)를 통해 유저(102)에게 컴퓨팅 환경(216)을 제시하게 할 수도 있다. 이러한 제3 실시형태에서, 프로세서 실행가능 명령어(506)는, 주 디바이스(202) 및/또는 보조 디바이스(204)로 하여금, 도 4의 예시적인 시나리오(400)에서 제시되는 예시적인 시스템과 같은, 유저(102)에게 컴퓨팅 환경(216)을 제시하기 위한 시스템을 구현하게 할 수도 있다. 본원에서 제시되는 기술에 따라 동작하도록 구성되는 많은 이러한 컴퓨터 판독가능 매체는, 기술 분야에서 숙련된 자에 의해 고안될 수도 있다.
E. 변형예
본원에서 논의되는 기술은, 많은 양태에서 변형예와 함께 고안될 수도 있고, 몇몇 변형예는 추가적인 이점을 제시할 수도 있고 및/또는 이들 및 다른 기술의 다른 변형예와 관련하여 단점을 감소시킬 수도 있다. 또한, 몇몇 변형예는 조합하여 구현될 수도 있고, 몇몇 조합은 시너지 효과가 있는 협력(synergistic cooperation)을 통해 추가적인 이점 및/또는 감소된 단점을 특징으로 할 수도 있다. 변형예는, 이러한 실시형태에 대한 개개의 및/또는 시너지 효과의 이점을 제공하는 다양한 실시형태에서 통합될 수도 있다(예를 들면, 도 3의 예시적인 방법(300): 도 4의 예시적인 시스템; 및 도 5의 예시적인 메모리 디바이스(502)).
E1. 시나리오
이들 기술의 실시형태 사이에서 변할 수도 있는 제1 양태는, 이러한 기술이 활용될 수도 있는 시나리오에 관한 것이다.
이 제1 양태의 제1 변형예로서, 본원에서 제시되는 기술은, 워크스테이션, 랩탑, 태블릿, 이동 전화, 게임 콘솔, 휴대형 게임용 디바이스, 휴대형 또는 비휴대형 미디어 플레이어, 텔레비젼과 같은 미디어 디스플레이 디바이스, 어플라이언스, 홈 오토메이션 디바이스, 아이피스(eyepiece) 또는 워치와 같은 웨어러블 디바이스와 함께 통합되는 컴퓨팅 컴포넌트, 및 감시 제어 및 데이터 획득(supervisory control and data acquisition; SCADA) 디바이스와 같은, 디바이스 콜렉션(104)의 다양한 디바이스(106)의 구성을 달성하도록 활용될 수도 있다.
제1 양태의 제2 변형예로서, 본원에서 제시되는 기술은, 사무 생산성 애플리케이션; 오디오 및 비디오 플레이어와 같은 미디어 제시 애플리케이션(media presenting application); 웹 브라우저, 이메일 클라이언트, 채팅(chat) 클라이언트, 및 인터넷 전화(voice over IP; VoIP) 클라이언트와 같은 통신 애플리케이션; 지오로케이션, 매핑, 및 라우팅 애플리케이션과 같은 내비게이션 애플리케이션; 유저(102)에게 경고를 제시하는 날씨 및 뉴스 모니터링 애플리케이션과 같은 유틸리티; 및 게임과 같은, 컴퓨팅 환경(216) 내에서 제시되는 다양한 애플리케이션(116)과 함께 활용될 수도 있다. 또한, 컴퓨팅 환경의 애플리케이션(116)은, 텍스트, 이미지, 라이브 및/또는 사전녹화된 비디오, 음향 효과, 음악, 스피치, 촉각 피드백, 3차원 렌더링, 및 상호작용식 및/또는 비상호작용식 유저 인터페이스와 같은, 하나 이상의 제시 양상뿐만 아니라, 텍스트 입력, 포인팅 입력, 촉각 입력, 제스쳐 입력, 구두적 입력(verbal input), 및 시선 추적 입력과 같은, 유저(102)로부터 유저 입력을 수신하기 위한 다양한 기술을 통한 컨텐츠(118)의 제시를 수반할 수도 있다.
이 제1 양태의 제3 변형예로서, 본원에서 제시되는 기술은, 디바이스 콜렉션(104)의 디바이스(106) 내에서 및/또는 사이에서 다양한 아키텍쳐와 함께 활용될 수도 있다. 이러한 제1 예로서, 주 디바이스(202)는 또한, 디바이스 콜렉션(104)의 일부(예를 들면, 유저(102)의 이동 전화)일 수도 있고, 따라서 보조 디바이스(204)로서 동작할 수도 있다. 유저(102)는 상이한 시간에 및/또는 상이한 환경 하에서 다양한 보조 디바이스(204)를 주 디바이스(202)로서 지정할 수도 있다. 대안적으로, 주 디바이스(202)는 디바이스 콜렉션(104)의 외부에 있을 수도 있고, 각각의 보조 디바이스(204)로 컴퓨팅 환경(216)을 구동시키기 위해, 디바이스 콜렉션(104)과 상호작용할 수도 있다. 이러한 제2 예로서, 각각의 디바이스(106)는, 유선 디스플레이, 스피커, 및 헤드폰과 같은, 디바이스(106)에 직접적으로 그리고 물리적으로 연결되는 컴포넌트를 활용할 수도 있다. 이러한 제3 예로서, 각각의 디바이스(106)는, 무선 주파수(radiofrequency)와 같은 무선 연결을 통해 액세스 가능한 하나 이상의 컴포넌트를 활용할 수도 있다. 이러한 제4 예로서, 각각의 디바이스(106)는, 본원에서 제시되는 기술에 따라 연동하기 위해, 개인 영역 네트워크, 근거리 통신망, 및/또는 광역 통신망을 통해 통신할 수도 있다. 이러한 제5 예로서, 각각의 디바이스(106)는, 클라이언트/서버 또는 피어 투 피어 아키텍쳐에서와 같은, 디바이스 콜렉션(104)의 제2 디바이스(106)를 통해 액세스 가능한 하나 이상의 컴포넌트를 활용할 수도 있다. 또한, 디바이스 콜렉션(104)의 각각의 디바이스(106)는, 한 명의 유저(102) 또는 유저(102)의 그룹에 의해 활용될 수도 있고, 및/또는 한 명 이상의 다른 유저(102)를 위해, 적어도 한 명의 제1 유저(102)에 의해 제어될 수도 있다. 이들 및 다른 시나리오는, 본원에서 제시되는 기술에 따른 디바이스 콜렉션(104)의 각각의 디바이스(106) 상에서의 컴퓨팅 환경(216)의 제시에 적합할 수도 있다.
E2. 디바이스 특성 및 유저 콘텍스트 결정
본원에서 제시되는 기술의 실시형태 사이에서 변할 수도 있는 제2 양태는, 각각의 보조 디바이스(204)에 의해 나타내어지는 디바이스 특성(208), 및 각각의 보조 디바이스(204)의 디바이스 특성(208)에 따라 각각의 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 주 디바이스(202)가 결정하는 방식에 관한 것이다.
도 6은, 각각의 보조 디바이스(204)의 사용을 유저(102)에 의해 모니터링하는 것에 의해, 디바이스 콜렉션(104)의 각각의 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)가 결정되는 예시적인 시나리오(600)의 예시를 제시한다. 예시적인 시나리오(600)에서, 유저(102)는, 다양한 보조 디바이스(204)와 상이한 방식으로 그리고 상이한 환경에서 상호작용하는데, 유저 콘텍스트(108)는, 상이한 방식 및 환경에 따라, 디바이스 콜렉션(104)의 주 디바이스(202)에 의해 결정될 수도 있다.
도 6의 예시적인 시나리오(600)에서 제시되는 이 제2 양태의 제1 변형예로서, 유저(102)의 유저 상호작용의 유저 콘텍스트(108)는, 각각의 보조 디바이스(204)의 디바이스 타입에 따라 결정될 수도 있다. 예를 들면, 제1 보조 디바이스(204)는, 원격 회의 디바이스 및 사무 생산성 애플리케이션(116)과 같은 컴포넌트(604)를 특징으로 하는 비지니스 클래스 랩탑을 포함하는데, 이것은, 제1 보조 디바이스(204)의 유저 콘텍스트(108)가 유저(102)의 학술적인 또는 직업적인 작업을 위해 사용된다는 것을 나타낼 수도 있다. 제2 보조 디바이스(204)는, 그래픽 코프로세서, 영화관 품질 디스플레이 및 스피커와 같은 서버 특징을 이루는 컴포넌트(server featuring component)(604), 및 게임용 주변장치, 미디어 플레이어와 같은 애플리케이션(116), 및 영화 및/또는 음악 스트리밍 서비스의 계정을 포함하는데, 이들은 함께 홈 엔터테인먼트용의 제2 보조 디바이스(204)의 유저 콘텍스트(108)를 나타낸다. 마찬가지로, 지리적 위치 결정(geopositioning) 디바이스와 같은 컴포넌트(604) 및 매핑 및 라우팅과 같은 애플리케이션(116)을 특징으로 하는 제3 보조 디바이스(204)가 여행 디바이스의 유저 콘텍스트(108)에 따라 식별될 수도 있고; 카메라와 같은 컴포넌트(604) 및 소셜 미디어 인터페이스와 같은 애플리케이션(116)을 특징으로 하는 제4 보조 디바이스(204)가 소셜 상호작용의 유저 콘텍스트(108)로 식별될 수도 있다. 대안적으로 또는 추가적으로, 주 디바이스(202)는, 각각의 보조 디바이스(204)로 수행되는 유저(102)의 유저 활동(606)에 따라 각각의 보조 디바이스(204)의 유저 콘텍스트(108)를 식별할 수도 있다; 예를 들면, 보조 디바이스(204)는, 다양한 유저 활동(606)을 가능하게 하는 애플리케이션(116)의 포괄적이고 일반화된 세트를 제시할 수도 있지만; 유저(102)는, 다큐먼트를 편집하는 것 및 프리젠테이션을 보는 것(예를 들면, 비지니스 유저 콘텍스트(108)); 오로지 영화를 보고 게임을 플레이하는 것(예를 들면, 홈 엔터테인먼트 유저 콘텍스트(108)); 또는 오로지 보조 디바이스(204)의 매핑 및 라우팅 애플리케이션(116)을 사용하는 것(예를 들면, 여행 유저 콘텍스트(108))과 같은, 보조 디바이스(204) 상에서 몇몇 유저 활동(606)만을 선택적으로 수행할 수도 있다. 유저(102)가 특정한 보조 디바이스(204)와 상호작용하는 동안 이러한 유저 활동(606)을 모니터링하는 것에 의해, 주 디바이스(202)는 특정한 보조 디바이스(204)와의 유저의 유저 상호작용 동안 유저의 유저 역할을 결정할 수도 있고(예를 들면, 유저(102)는, 직업의 역할에서 동작하고 있는 동안 제1 보조 디바이스(204)와 루틴하게 상호작용하고, 가족 구성원 또는 친구의 역할에서 동작하고 있는 동안 제4 보조 디바이스(204)와 루틴하게 상호작용한다), 보조 디바이스(204)와의 유저 상호작용 동안 유저(102)의 유저 역할에 관련이 있는 적어도 하나의 작업에 따라 보조 디바이스(204) 상에서 제시되는 컴퓨팅 환경(216)을 적응시킬 수도 있다(예를 들면, 유저(102)가 학생의 역할에서 특정한 보조 디바이스(204)와 상호작용하는 경우, 주 디바이스(202)는 읽고, 학습하고, 그리고 필기를 하는 작업을 용이하게 하도록 보조 디바이스(204)의 컴퓨팅 환경을 적응시킬 수도 있다).
도 6의 예시적인 시나리오(600)에서 제시되는 이 제2 양태의 제2 변형예로서, 주 디바이스(202)는, 유저(102)가 보조 디바이스(204)와 상호작용하는 환경, 예를 들면, 이러한 상호작용의 날짜, 시간, 및/또는 장소에 따라, 각각의 보조 디바이스(204)의 유저 콘텍스트(108)를 결정할 수도 있다. 예를 들면, 유저(102)는 사무실 위치(602)에서 제1 보조 디바이스(602)와; 집 위치에서 제2 보조 디바이스(602)와; 그리고 소셜 환경(예를 들면, 친구의 집 또는 레스토랑)에서 제4 보조 디바이스(204)와 주로 상호작용할 수도 있다. 주 디바이스(202)는, 예를 들면, 보조 디바이스(602)의 검출된 위치를, 유저의 주소록 또는 위치 데이터베이스와 비교하여 유저(102)가 각각의 보조 디바이스(602)와 상호작용하려고 선택하는 위치(602)의 타입을 결정하는 것에 의해, 및/또는 유저의 캘린더와 비교하여 유저(102)가 각각의 보조 디바이스(204)와 상호작용하게 되는 스케줄링된 작업의 타입을 결정하는 것에 의해, 이러한 결정을 수행할 수도 있다.
도 6의 예시적인 시나리오(600)에서 제시되는 이 제2 양태의 제3 변형예로서, 주 디바이스(202)는, 보조 디바이스(204)를 통한 유저(102)의 유저 상호작용 동안 각각의 보조 디바이스(204)가 검출하는 및/또는 상호작용하는 다른 디바이스 및/또는 개인에 따라, 각각의 보조 디바이스(204)의 유저 콘텍스트(108)를 결정할 수도 있다. 예를 들면, 제3 보조 디바이스(204)는 자동차 라디오와 루틴하게 페어링될 수도 있고(608), 주 디바이스(202)는 제3 보조 디바이스(204)의 유저 콘텍스트(108)를 여행 콘텍스트로서 식별할 수도 있고; 제4 보조 디바이스(204)는 친구의 디바이스, 예컨대 친구의 이동 전화와 때때로 페어링될 수도 있는데(610), 이것은 소셜 유저 콘텍스트(108)를 나타낼 수도 있다. 다른 예로서, 주 디바이스(202)는, 유저(102)가, 종종, 특정한 유저 콘텍스트(108)에서 보조 디바이스(204)의 서브셋을 함께 사용한다는 것을 결정할 수도 있다(예를 들면, 직업적 콘텍스트에서 동작하고 있는 동안, 유저(102)는, 종종, 비니지스 관련 원격 회의에 참가하기 위해 특정한 헤드폰 세트 및 특정한 마이크 둘 다를 활용할 수도 있고, 따라서 각각의 보조 디바이스(204), 및/또는 그 결합된 사용을 비지니스 유저 콘텍스트(108)와 관련시킬 수도 있다).
또한, 이 제2 양태의 변형예는, 주 디바이스(202)가, 보조 디바이스(204)의 디바이스 특성(208)에 기초하여, 유저 콘텍스트(108)의 결정을 수행하는 방식과 관련이 있다. 예를 들면, 특정한 보조 디바이스(204)의 디바이스 특성(208)은 충돌할 수도 있고 및/또는 변할 수도 있고, 따라서, 특정한 유저 콘텍스트(108)로서 추론하기가 어려울 수도 있는 모호한 및/또는 동적인 유저 역할(108)을 반영할 수도 있다. 주 디바이스(202)는, 이러한 충돌하는, 모호한, 및/또는 동적인 디바이스 특성(208)의 관점에서 유저 콘텍스트(108)를 결정하기 위해 다양한 기술을 활용할 수도 있다.
도 7은, 유저(102)의 유저 콘텍스트(108)를 식별하기 위해 주 디바이스(202)가 활용할 수도 있는 제1 기술을 특징으로 하는 제1 예시적인 시나리오(700)의 예시를 제시한다. 예시적인 시나리오(700)에서, 주 디바이스(20)는, 하나 이상의 보조 디바이스(204)와 상호작용하는 동안 유저(102)에 의해 수행되는 다양한 활동(606) 및/또는 다양한 보조 디바이스(204)와의 유저(102)의 다양한 유저 상호작용의 환경(702)을 검출하고, 이러한 보조 디바이스(204)의 유저 콘텍스트(108)를 식별하려고 시도한다. 몇몇 활동(606) 및/또는 환경(702)은 명백하고 일관될 수도 있지만(예를 들면, 유저(102)는 학교 캠퍼스에 머무는 동안은 학생 역할에서 보조 디바이스(204)와 항상 상호작용할 수도 있다), 다른 활동(606) 및/또는 환경(702)은 모호하거나 또는 가변적일 수도 있다(예를 들면, 주 디바이스(202)는, 유저(102)가 여행 유저 콘텍스트(108) 및 직업적 유저 콘텍스트(108) 둘 다에서 여행 계획 짜기 활동(606)에 참가하고 있다는 것, 및 유저(102)가 임의의 이러한 유저 콘텍스트(108) 동안 유저의 개인 캘린더에 액세스한다는 것을 결정할 수도 있다). 따라서, 주 디바이스(104)는 활동(606) 및/또는 상황(702)을 클러스터링할 수도 있다, 예를 들면, 특정한 보조 디바이스(204)에 대해 함께 발생하는 활동(606) 및/또는 상황(702)의 상관적 패턴(correlational pattern)을 식별한다. 베이지안(Bayesian) 분류 기술이 이러한 분류를 달성하기 위해 적용될 수도 있고, 주 디바이스(202)가 몇몇 디바이스 특성(208)을, 유저 콘텍스트(108)와 관련되는 다른 디바이스 특성(208)과 관련되는 것으로 분류하는 것을 가능하게 할 수도 있고, 그 후, 이러한 상관된 디바이스 특성(208)의 발생 및/또는 검출에 따라 유저(102)의 유저 콘텍스트(108)를 결정할 수도 있다.
도 8은, 유저 콘텍스트(108)를 인식할 수 있는 인공 신경망(artificial neural network)(802)을 특징으로 하는 제2 예시적인 시나리오(800)의 예시를 제시한다. 예시적인 시나리오(800)에서, 주 디바이스(202)는, 특정한 보조 디바이스(204)에 대해 검출된 디바이스 특성(208)의 세트로부터, 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 결정하기 위해, 감시된 및/또는 감시되지 않은 트레이닝 기술을 통해 트레이닝된 인공 신경망(802)을 활용한다. 예를 들면, 인공 신경망(802)은, 디바이스 특성(208)의 각각의 세트가 관련되는 기지의 유저 콘텍스트(108) 및 디바이스 특성(208)의 다양한 세트를 포함하는 트레이닝 데이터를 구비할 수도 있다. 인공 신경망(802)은, 각각의 디바이스 특성 세트에 대한 알려진 정확한 유저 콘텍스트(108)를 향해 인공 신경망(802)의 출력을 조정하기 위해, 노드간 시냅스(internode synapse)의 가중치를 조정할 수도 있다. 이러한 트레이닝은, 함께 발생하는 디바이스 특성(208) 사이의 상관, 및/또는 특정한 디바이스 특성(208) 및/또는 디바이스 특성(208)의 세트가 특정한 유저 콘텍스트(108)를 나타내는 신뢰도를 식별할 수도 있다(예를 들면, 몇몇 디바이스 특성(208)은 유저 콘텍스트(108)의 양호한 표시자(indicator)(804)이고 유저 콘텍스트의 높은 신뢰도의 결정을 달성하기 위해 활용될 수도 있다는 것, 및 다른 디바이스 특성(208)은 유저(102)의 유저 콘텍스트(108)의 불량한 표시자(806)이고 유저(102)의 유저 콘텍스트(108)를 결정함에 있어서 버려질 것이다는 것을 추론한다). 일단 트레이닝되면, 인공 신경망(802)은, 다양한 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 결정하기 위해, 주 디바이스(202)에 의해 호출될 수도 있다. 또한, 주 디바이스(202)는 유저(102)의 유저 활동(606)을 계속 모니터링할 수도 있고 유저 활동(606)의 패턴 및/또는 보조 디바이스(204)를 다양한 유저 콘텍스트(108)와 관련시키는 환경(702)에서의 변화를 검출 및 통합하기 위해, 인공 신경망(802)을 계속 조정할 수도 있다. 많은 이러한 적응적 알고리즘 및/또는 기술은, 본원에서 제시되는 기술에 따른, 다양한 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)의 결정에서 활용될 수도 있다.
E3. 컴퓨팅 환경 적응화
본원에서 제시되는 기술의 실시형태 사이에서 변할 수도 있는 제3 양태는, 유저(102)에게 제시하기 위해, 주 디바이스(202)가 컴퓨팅 환경(216)의 엘리먼트(422)를, 보조 디바이스(204)에 의해, 그리고 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 따라 적응시키는(220) 방식에 관한 것이다.
이 제3 양태의 제1 변형예로서, 다양한 유저 콘텍스트(108)에 대해 적응될 수도 있는 컴퓨팅 환경(216)의 엘리먼트(422)는, 예를 들면, 유저(102)에게 제시되는 컴퓨팅 환경(216) 내에 애플리케이션의 서브셋의 세트(예를 들면, 다양한 유저 콘텍스트(108)에서 유저(102)가 활용하는 애플리케이션(116)의 제1 세트)를 포함한다. 이러한 엘리먼트(422)는 또한, (예를 들면, 유저(102)의 상호작용의 대상을, 이용가능한 다큐먼트 및/또는 미디어 오브젝트의 서브셋만으로 제한하는) 다큐먼트 및 미디어 오브젝트와 같은 파일의 서브셋의 세트를 포함할 수도 있다. 이러한 엘리먼트(422)는 또한, (예를 들면, 각각의 보조 디바이스(204) 상에 제시되는 유저(102)의 연락처 리스트를, 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)와 관련되는 연락처로 제한하는) 유저(102)의 연락처 리스트를 포함할 수도 있다. 이러한 엘리먼트(422)는 또한, (예를 들면, 제1 유저 콘텍스트(108)에서 제1 보조 디바이스(204)와 상호작용하는 동안 작성 및 편집 모드에서, 그리고 제2 유저 콘텍스트(108)에 있는 제2 보조 디바이스(204)와 상호작용하는 동안 뷰잉 또는 판독 모드에서, 미디어 오브젝트와 상호작용하기 위해, 유저(102)가 애플리케이션(116)을 활용한다는 것을 결정하는) 애플리케이션 구성 및/또는 모드를 포함할 수도 있다. 이러한 엘리먼트(422)는 또한, (예를 들면, 제1 유저 콘텍스트(108)에서 제1 보조 디바이스(204)와 상호작용하는 동안 제1 유저 계정을 통해, 그리고 제2 유저 콘텍스트(108)에 있는 제2 보조 디바이스(204)와 상호작용하는 동안 제2 유저 계정을 통해, 유저(102)가 이메일을 전송하고 통신한다는 것을 결정하는) 유저 계정을 포함할 수도 있다. 이러한 엘리먼트(422)는 또한, (예를 들면, 유저(102)가, 제1 유저 콘텍스트(108)에서 제1 보조 디바이스(204)와 상호작용하는 동안 웹사이트의 제1 사이트를 빈번하게 방문하고, 제2 유저 콘텍스트(108)에서 제2 보조 디바이스(204)와 상호작용하는 동안 웹사이트의 제2 세트를 빈번하게 방문한다는 것을 결정하는) 북마크 리스트를 포함할 수도 있다.
이 제3 양태의 제2 변형예로서, 컴퓨팅 환경(422)의 엘리먼트(422)는, 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 따라, 각각의 보조 디바이스(204)의 다양한 컴포넌트를 활용하도록, 또는 활용하지 않도록 적응될 수도 있다. 예를 들면, 제1 보조 디바이스(204) 및 제2 보조 디바이스(204) 각각은, 오디오를 플레이하는 스피커의 세트를 특징으로 할 수도 있지만, 그러나, 주 디바이스(202)는, 제1 보조 디바이스(204)가, 오디오 경고에 의한 인터럽션이 바람직하지 않을 수도 있는 (예를 들면, 프리젠테이션을 클라이언트에게 제시하는) 직업적 콘텍스트에서 사용된다는 것, 및 제2 보조 디바이스(204)가, 유저(102)가 오디오 경고를 잘 받아 들이는 (예를 들면 집에서의) 일상의 유저 콘텍스트(108)에서 사용된다는 것을 결정할 수도 있다. 따라서, 주 디바이스(202)는, 특히 유저(102)가 프리젠테이션을 제시하고 있는 동안 스피커를 사용하는 것을 억제하도록 제1 보조 디바이스(204)로 송신되는 컴퓨팅 환경(422)을 적응시킬 수도 있고, 유저(102)에 대한 오디오 경고의 제시를 위해 스피커를 빈번하게 활용하도록 제2 보조 디바이스(204)로 송신되는 컴퓨팅 환경(422)을 적응시킬 수도 있다.
이 제3 양태의 제3 변형예로서, 컴퓨팅 환경(216)의 엘리먼트(422)는, 각각의 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 기초하여, 다양한 제시 양식을 통해 유저(102)와 상호작용하도록 적응될 수도 있다. 예를 들면, 유저(102)는 완전히 시각적인 인터페이스를 사용하여 제1 보조 디바이스(204)(예를 들면, 워크스테이션)와; 축약된(condensed) 시각적 인터페이스를 사용하여 제2 보조 디바이스(204)(예를 들면, 이동 전화)와; 그리고 오디오 전용 인터페이스를 사용하여 제3 보조 디바이스(204)(예를 들면, 차량용 컴퓨터)와 상호작용하기를 선호할 수도 있다. 따라서, 컴퓨팅 환경(216)은, 각각의 보조 디바이스(204) 상에서 각각의 제시 양상을 활용하도록 적응될 수도 있다(예를 들면, 제1 보조 디바이스(204) 상에서 풀 이미지 및 비디오와 함께 문헌의 전체 텍스트 버전을; 제2 보조 디바이스(204) 상에서, 이미지 및 비디오를 제거한 문헌의 요약 텍스트 버전을; 그리고 제3 보조 디바이스(204) 상에서 문헌의 오디오 필기록(audio transcript)을 제시한다).
이 제3 양태의 제4 변형예로서, 컴퓨팅 환경(216)의 엘리먼트(422)는, 특정한 유저 콘텍스트(108)에서 각각의 보조 디바이스(204)를 활용하는 동안 유저(102)가 상호작용하는 다른 개인을 반영하도록 다양한 유저 콘텍스트(108)에 대해 적응될 수도 있다. 즉, 주 디바이스(202)는, 보조 디바이스(204)와의 유저(102)의 유저 상호작용과 동시에 그리고 그 유저 상호작용에 관련되어, 유저(192)와 특정한 개인 사이의 개개의 상호작용(예를 들면, 유저(102)가 홈 씨어터 디바이스 상에서 다른 개인과 게임을 빈번하게 한다는 것)을 결정할 수도 있다 따라서, 주 디바이스(202)는, 보조 디바이스(204) 상에서 제시되는 컴퓨팅 환경(216) 내에서, 유저(102)와 개인 사이의 개개의 상호작용에 관련되는 애플리케이션(116)을 제공할 수도 있다(예를 들면, 유저(102) 및 개인이 함께 플레이하는 것을 즐길 수도 있는 엄선된 2인용 게임을 보조 디바이스(204) 상에 제시한다). 다른 이러한 예로서, 컴퓨팅 환경(216)은, 유저 입력을 제공하는 적어도 두 개의 입력 컴포넌트 중에서, 다양한 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 대한 선택된 입력 컴포넌트를 선택하도록 조정될 수도 있고, 상이한 보조 디바이스(204)에 대한 선택된 입력 컴포넌트에 컴퓨팅 환경(216)의 다양한 엘리먼트(422)를 결부시킬 수도 있다(예를 들면, 워크스테이션 디바이스 상에서 완전한 시각적 키보드를, 모바일 디바이스 상에서 축약된 시각적 키보드를, 그리고 차량 컴퓨터에 대해 스피치 인터페이스를 제시한다).
이 제3 양태의 제5 변형예로서, 컴퓨팅 환경(216)의 엘리먼트(422)는, 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 환경 프라이버시(environment privacy)에 따라 적응될 수도 있다(예를 들면, 유저(102)는 공개 콘텍스트(public context)에서 몇몇 보조 디바이스(204)를, 그리고 사적 콘텍스트(private context)에서 다른 보조 디바이스(204)를 빈번하게 활용할 수도 있다). 따라서, 주 디바이스(104) 보조 디바이스(204)와의 유저(102)의 유저 상호작용 동안 적어도 한 명의 다른 개인에 대한 보조 디바이스(204)의 노출을 평가할 수도 있고, 이러한 노출에 따라 보조 디바이스(204)의 엘리먼트(422)를 적응시킬 수도 있다(예를 들면, 유저(102)가 사적으로 활용하는 보조 디바이스(204) 상에 유저(102)의 개인적인 및/또는 사적인 정보를 쉽게 제시하고, 유저(102)의 이러한 개인적인 및/또는 사적인 정보를 제시하기 이전에 경고 또는 동의 대화창(dialog)을 제시하도록 다른 보조 디바이스(204)의 컴퓨팅 환경(216)을 적응시킨다). 하나의 이러한 예로서, 주 디바이스(202)는, 공개 유저 콘텍스트(108)에서 유저(102)가 활용하는 보조 디바이스(204) 상에서는 다양한 계정에 대한 패스워드를 유저(102)에게 바로 디스플레이하도록, 그리고 사적인 유저 콘텍스트(108)에서 유저(102)가 활용하는 다른 보조 디바이스(204) 상에서는 이러한 패스워드를 디스플레이하는 것을 불명료하게 하도록 및/또는 억제하도록 패스워드 애플리케이션(116)을 구성하기 위해, 컴퓨팅 환경(216)을 적응시킬 수도 있다.
도 9는, 이 제3 양태의 제6 변형예를 예시하는 예시적인 시나리오(900)의 예시를 제시하는데, 여기서는, 유저(102)가 각각의 보조 디바이스(204)와 관여하는 뷰잉 거리를 수반하는 유저(102)의 유저 콘텍스트(108)에, 컴퓨팅 환경(216) 내에서 제시되는 유저 인터페이스의 다양한 엘리먼트(422)가 적응된다. 예시적인 시나리오(900)에서, 유저(102)는, 특정한 픽셀 밀도(902)에서 정보를 제시하는 디스플레이를 각각 구비하는 보조 디바이스(204)의 세트를 활용한다. 그러나, 각각의 보조 디바이스(204)의 디스플레이가 동일한 픽셀 밀도(902)를 특징으로 하더라도, 유저(102)는 상이한 뷰잉 거리에서 각각의 보조 디바이스(204)와 관여할 수도 있다; 예를 들면, 디바이스 콜렉션(102)은, 2 피트의 거리로부터 유저(102)가 관여하는 워크스테이션을 포함하는 제1 보조 디바이스(204), 10 피트의 거리로부터 유저(102)가 관여하는 홈 씨어터 디스플레이를 포함하는 제2 보조 디바이스(204), 및 아주 가까운 터치가능한 거리에서 유저(102)가 관여하는 핸드헬드 디바이스를 포함하는 제3 보조 디바이스(204)를 포함할 수도 있다. 뷰잉 거리는, 컴퓨팅 환경(216)의 유저 인터페이스가 다양한 보조 디바이스(204) 상에서 유저(102)에게 제시될 정보 밀도(904)를 나타낼 수도 있다. 예를 들면, 애플리케이션(116)의 유저 인터페이스는, 중간의 정보 밀도(904), 예를 들면, 유저 제어부 및 컨텐츠의 균등하고 비례적으로 이격된 레이아웃을 가지고 워크스테이션 보조 디바이스(204) 상에서 제공될 수도 있고; 성긴 정보 밀도(904)를 가지고, 예를 들면, 수동 제스쳐 및 시선 추적과 같은, 10 피트의 유저 인터페이스의 잠재적으로 불명확한 입력 메커니즘의 관점에서 유저 제어부 사이에 풍부한 간격을 가지고 홈 씨어터 보조 디바이스(204) 상에서 제공될 수도 있고; 조밀한 정보 밀도(904)를 가지고, 예를 들면, 유저 인터페이스의 뷰잉 간격을 최대화하는 조밀하고 중첩하는 유저 제어부를 가지고 핸드헬드 보조 디바이스(204) 상에서 제공될 수도 있다. 이 방식에서, 컴퓨팅 환경(216)은, 각각의 보조 디바이스(204)의 제시 컴포넌트의 가변적인 정보 밀도(904)를 반영하도록 적응될 수도 있다.
도 10은, 이 제3 양태의 제7 변형예를 특징으로 하는 예시적인 시나리오(1000)의 예시를 제시하는데, 여기서는, 통지(1002)를 라우팅하기 위해, 다양한 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)를 주 디바이스(202)가 활용한다. 예시적인 시나리오(1000)에서, 주 디바이스(202)는 유저(1002)에게 제시될 통지(1002)를 수신하고, 유저(102)에게 통지(1002)를 제시하기 위해 디바이스 콜렉션(102)의 보조 디바이스(204) 중에서 선택한다. 이러한 선택은 보조 디바이스(204)의 유저 콘텍스트(108)에 의해 통지될 수도 있다; 예를 들면, 유저(102)는 직업상 미팅에서 리포트를 제시하기 위해 제1 보조 디바이스(204)를 사용하고 있을 수도 있고, 특정한 유저 콘텍스트(108) 디바이스에서 제2 보조 디바이스(204)를 사용하는 것을 전적으로 억제할 수도 있지만(예를 들면, 유저(102)는 미팅 동안 그의 또는 그녀의 이동 전화를 호주머니 또는 지갑에 넣어 둘 수도 있다), 그러나 유저 콘텍스트(108)에서 통지(1002)를 제시하는 데 이용가능하고 적절한 제3 보조 디바이스(204)(예를 들면, 이어피스 디바이스)를 사용하고 있을 수도 있다. 따라서, 주 디바이스(202)는, 유저(102)에게 제시하기 위해, 통지(1002)를 선택된 디바이스로 송신할 수도 있다.
이 제3 양태의 제8 변형예로서, 주 디바이스(202)는, 유저(102)가 컴퓨팅 환경(216)의 적응을 하나 이상의 보조 디바이스(204)에 오버라이드하는(override) 것을 허용할 수도 있다. 보조 디바이스(204)에 대한 컴퓨팅 환경(216)의 엘리먼트(422)의 적응을 제2 적응으로 오버라이드하라는 요청을 수신하는 것에 응답하여, 주 디바이스(202)는, 보조 디바이스(204) 상에서의 제시를 위해, 컴퓨팅 환경(216)의 엘리먼트(422)의 제2 적응을 적용할 수도 있다. 예를 들면, 주 디바이스(202)는, 선택된 보조 디바이스(204) 상에서, 유저(102)가 보조 디바이스(204)와 상호작용하는 유저 콘텍스트(108)에 관련되는 애플리케이션(116)의 제한된 서브셋을 제시하도록 유저 인터페이스(216)를 적응시킬 수도 있다. 그러나, 유저(102)가, 1회성 예외로서 또는 영구적인 적응으로서, 서브셋에 포함되지 않는 상이한 애플리케이션(116)과 상호작용할 것을 요청하는 경우. 따라서, 주 디바이스(204)는 선택된 보조 디바이스(204)가 선택된 애플리케이션(116)을 포함하도록 컴퓨팅 환경(216)의 적응을 조정할 수도 있다. 각각의 보조 디바이스(204)의 컴퓨팅 환경(216)의 많은 이러한 적응은, 본원에서 제시되는 기술에 따라, 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 컴퓨팅 환경(216)을 적응시키도록 주 디바이스(202)에 의해 활용될 수도 있다.
E4. 컴퓨팅 환경의 송신 및 제시
본원에서 제시되는 기술의 실시형태 사이에서 변할 수도 있는 제4 양태는, 주 디바이스(202)가 컴퓨팅 환경(216)을 보조 디바이스(204)로 송신하는(222), 그리고 보조 디바이스(204)가 컴퓨팅 환경(216)을 유저(102)에 제시하는 방식에 관한 것이다.
이 제4 양태의 제1 변형예로서, 주 디바이스(202)는, 오로지 입력을 수신하고 및/또는 비디오 및/또는 오디오 출력을 보조 디바이스(204)로 스트리밍하는 동안, 컴퓨팅 환경(216)을 렌더링하는 것에 의해 및/또는 주 디바이스(202)의 프로세서 상에서 애플리케이션(116)을 실행하는 것에 의해, 하나 이상의 보조 디바이스(204)로 컴퓨팅 환경(216)을 제시할 수도 있다. 대안적으로, 주 디바이스(202)는 보조 디바이스(204)에 의한 사용을 위해 컴포넌트를 보조 디바이스(204)로 전송할 수도 있다; 예를 들면, 주 디바이스(202)는, 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 유저 콘텍스트(108)에 적합한 애플리케이션 구성을 갖는 실행을 위해 애플리케이션(116)을 보조 디바이스(204)로 송신할 수도 있다. 하나의 이러한 예로서, 각각의 보조 디바이스(204) 상의 컴퓨팅 환경(216) 내에서 제시될 각각의 애플리케이션(116)의 경우, 주 디바이스(202)는 애플리케이션(116)의 적어도 두 개의 애플리케이션 변형안(application variant)을 저장할 수도 있는데, 여기서, 각각의 애플리케이션 변형안은, 보조 디바이스(204)와의 유저(102)의 유저 상호작용의 선택된 유저 콘텍스트(108)와 관련된다. 따라서, 주 디바이스(202)는, 적어도 두 개의 애플리케이션 변형안 중에서, 보조 디바이스(204)와의 유저의 유저 상호작용의 유저 콘텍스트(108)와 관련되는 선택된 애플리케이션 변형안을 식별하는 것에 의해, 그리고, 보조 디바이스(204)로, 보조 디바이스(204)의 컴퓨팅 환경(116)에서 제시되는 각각의 애플리케이션(116)의 선택된 애플리케이션 변형안을 포함하는 컴퓨팅 환경(216)을 송신하는 것에 의해, 특정한 보조 디바이스(204)에 대한 컴퓨팅 환경(216) 내에서 애플리케이션(116)의 엘리먼트(422)를 적응시킬 수도 있다.
이 제4 양태의 제2 변형예로서, 보조 디바이스(204)는, 주 디바이스(202)에 대한 보조 디바이스(204)의 연결의 검출시(예를 들면, 주 디바이스(202)가 액세스할 수 있게 하는 유선 또는 무선 네트워크에 보조 디바이스(204)가 합류한 것의 검출시), 디바이스 특성(208)을 주 디바이스(202)로 송신할 수도 있고, 이러한 연결의 검출시, 유저(102)에 대한 컴퓨팅 환경(216)의 제시를 개시할 수도 있다. 하나의 이러한 변형예로서, 주 디바이스(202)에 대한 연결을 검출하는 것에 응답하여, 보조 디바이스(204)는, 유저(102)에게, 보조 디바이스(204)의 제2 컴퓨팅 환경(예를 들면, 보조 디바이스(204)가 주 디바이스(202)에 연결되지 않은 경우에 제시하는 네이티브 환경)으로부터 컴퓨팅 환경(216)으로 전이할 제의를 제시할 수도 있고, 유저(102)로부터 제어의 수락을 수신하는 것에 응답하는 경우에만, 컴퓨팅 환경(216)의 제시를 개시할 수도 있다. 보조 디바이스(204)는 또한, 주 디바이스(202)로부터 수신되는 컴퓨팅 환경(216)을 유저(102)에게 제시하는 동안 제2 컴퓨팅 환경을 일시정지시킬(suspend) 수도 있고, 및/또는, 주 디바이스(202)에 대한 연결의 인터럽션을 검출하는 것에 응답하여, 제2 컴퓨팅 환경을 유저(102)에게 제시하는 것을 재개할 수도 있다. 많은 이러한 구성은, 본원에서 제시되는 기술에 따라, 주 디바이스(202)로부터 보조 디바이스(204)로의 컴퓨팅 환경(216)의 송신을 달성하기 위해, 그리고 보조 디바이스(204) 상에서 컴퓨팅 환경을 유저(102)에게 제시하기 위해, 활용될 수도 있다.
F. 컴퓨팅 환경
도 11 및 후속하는 논의는, 본원에서 개시되는 규정 중 하나 이상의 실시형태를 구현하는 적절한 컴퓨팅 환경의 간략하고 일반적인 설명을 제공한다. 도 11의 동작 환경은, 적절한 동작 환경의 하나의 예에 불과하며 동작 환경의 사용 또는 기능성의 범위에 관한 어떠한 제한도 제안하도록 의도되지는 않는다. 예시적인 컴퓨팅 디바이스는, 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩탑 디바이스, 모바일 디바이스(예컨대 이동 전화, 개인 휴대형 정보 단말(Personal Digital Assistant; PDA), 미디어 플레이어, 및 등등), 멀티프로세서 시스템, 소비자 전자장치, 미니 컴퓨터, 메인프레임 컴퓨터, 상기 시스템 또는 디바이스 중 임의의 것을 포함하는 분산형 컴퓨팅 환경, 및 등등을 포함하지만, 그러나 이들로 제한되지는 않는다.
필수는 아니지만, 실시형태는, "컴퓨터 판독가능 명령어"가 하나 이상의 컴퓨팅 디바이스에 의해 실행되는 일반적인 맥락에서 설명된다. 컴퓨터 판독가능 명령어는 (상기에서 논의되는) 컴퓨터 판독가능 매체를 통해 배포될 수도 있다. 컴퓨터 판독가능 명령어는, 특정한 작업을 수행하는 또는 특정한 추상 데이터 타입을 구현하는, 함수, 오브젝트, 애플리케이션 프로그래밍 인터페이스(Application Programming Interface; API), 데이터 구조, 및 등등과 같은 프로그램 모듈로서 구현될 수도 있다. 통상적으로, 컴퓨터 판독가능 명령어의 기능성은 소망에 따라 다양한 환경에서 결합될 수도 있거나 또는 분산될 수도 있다.
도 11은, 본원에서 제공되는 하나 이상의 실시형태를 구현하도록 구성되는 컴퓨팅 디바이스(1102)를 포함하는 시스템(1100)의 예를 예시한다. 하나의 구성에서, 컴퓨팅 디바이스(1102)는 프로세싱 유닛(1106) 및 메모리(1108)를 포함한다. 컴퓨팅 디바이스의 정확한 구성 및 타입에 따라, 메모리(1108)는 (예를 들면 RAM과 같은) 휘발성일 수도 있거나, (예를 들면, ROM, 플래시 메모리 등등과 같은) 불휘발성일 수도 있거나 또는 이 둘의 어떤 조합일 수도 있다. 이 구성은 도 11에서 점선(1104)에 의해 예시된다.
다른 실시형태에서, 디바이스(1102)는 추가적인 피쳐 및/또는 기능성을 포함할 수도 있다. 예를 들면, 디바이스(1102)는 또한, 자기 스토리지, 광학 스토리지, 및 등등을 포함하지만, 그러나 이들로 제한되지는 않는 추가적인 스토리지(예를 들면, 착탈식 및/또는 비착탈식)를 포함할 수도 있다. 이러한 추가적인 스토리지는 도 11에서 스토리지(1110)에 의해 예시된다. 하나의 실시형태에서, 본원에서 제공되는 하나 이상의 실시형태를 구현하는 컴퓨터 판독가능 명령어는 스토리지(1110)에 있을 수도 있다. 스토리지(1110)는 또한, 오퍼레이팅 시스템, 애플리케이션 프로그램, 및 등등을 구현하는 다른 컴퓨터 판독가능 명령어를 저장할 수도 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 프로세싱 유닛(1106)에 의한 실행을 위해 메모리(1108)에 로딩될 수도 있다.
본원에서 사용되는 바와 같은 용어 "컴퓨터 판독가능 매체"는, 신호와 같은 통신 매체를 포함하는 다른 형태의 컴퓨터 판독가능 매체를 배제하는 컴퓨터 판독가능 메모리 디바이스를 포함한다. 이러한 컴퓨터 판독가능 메모리 디바이스는 휘발성 및/또는 불휘발성, 착탈식 및/또는 비착탈식일 수도 있고, 컴퓨터 판독가능 명령어 또는 다른 데이터를 저장하는 다양한 타입의 물리적 디바이스를 포함할 수도 있다. 메모리(1108) 및 스토리지(1110)는 컴퓨터 저장 매체의 예이다. 컴퓨터 스토리지 디바이스는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 스토리지, 자기 카세트, 자기 테이프, 및 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스를 포함하지만, 그러나 이들로 제한되지는 않는다.
디바이스(1102)는 또한, 디바이스(1102)가 다른 디바이스와 통신하는 것을 허용하는 통신 연결부(들)(1116)를 포함할 수도 있다. 통신 연결부(들)(1116)는, 모뎀, 네트워크 인터페이스 카드(NIC), 통합 네트워크 인터페이스, 무선 주파수 송신기/수신기, 적외선 포트, USB 연결부, 또는 컴퓨팅 디바이스(1102)를 다른 통신 디바이스에 연결하기 위한 다른 인터페이스를 포함할 수도 있지만, 이들로 제한되지는 않는다. 통신 연결부(들)(1116)는 유선 연결부 또는 무선 연결부를 포함할 수도 있다. 통신 연결부(들)(1116)는 통신 매체를 송신 및 수신할 수도 있다.
용어 "컴퓨터 판독가능 매체"는 통신 매체를 포함할 수도 있다. 통신 매체는, 통상적으로, 반송파 또는 다른 전송 메커니즘과 같은 "변조된 데이터 신호"에서 다른 데이터 또는 컴퓨터 판독가능 명령어를 구현하고 임의의 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는, 자신의 특성 중 하나 이상이, 신호에서 정보를 인코딩하는 것과 같은 방식으로 설정되거나 변경된 신호를 포함할 수도 있다.
디바이스(1102)는, 키보드, 마우스, 펜, 보이스 입력 디바이스, 터치 입력 디바이스, 적외선 카메라, 비디오 입력 디바이스, 및/또는 임의의 다른 입력 디바이스와 같은 입력 디바이스(들)(1114)를 포함할 수도 있다. 하나 이상의 디스플레이, 스피커, 프린터, 및/또는 임의의 다른 출력 디바이스와 같은 출력 디바이스(들)(1112)가 또한 디바이스(1102)에 포함될 수도 있다. 입력 디바이스(들)(1114) 및 출력 디바이스(들)(1112)는 유선 연결부, 무선 연결부, 또는 이들의 임의의 조합을 통해 디바이스(1102)에 연결될 수도 있다. 하나의 실시형태에서, 다른 컴퓨팅 디바이스로부터의 입력 디바이스 또는 출력 디바이스는 컴퓨팅 디바이스(1102)에 대한 입력 디바이스(들)(1114) 또는 출력 디바이스(들)(1112)로서 사용될 수도 있다.
컴퓨팅 디바이스(1102)의 컴포넌트는 버스와 같은 다양한 인터커넥트에 의해 연결될 수도 있다. 이러한 인터커넥트는, PCI 익스프레스, 범용 직렬 버스(Universal Serial Bus; USB), 파이어와이어(Firewire)(IEEE 1394), 광학 버스 구조체, 및 등등과 같은 주변장치 컴포넌트 인터커넥트(Peripheral Component Interconnect; PCI)를 포함할 수도 있다. 다른 실시형태에서, 컴퓨팅 디바이스(1102)의 컴포넌트는 네트워크에 의해 인터커넥트될 수도 있다. 예를 들면, 메모리(1108)는, 네트워크에 의해 인터커넥트되는 상이한 물리적 위치에 위치되는 다수의 물리적 메모리 유닛으로 구성될 수도 있다.
기술 분야의 숙련된 자는, 컴퓨터 판독가능 명령어를 저장하기 위해 활용되는 스토리지 디바이스가 네트워크에 걸쳐 분산될 수 있다는 것을 이해할 것이다. 예를 들면, 네트워크(1118)를 통해 액세스 가능한 컴퓨팅 디바이스(920)는 본원에서 제공되는 하나 이상의 실시형태를 구현하는 컴퓨터 판독가능 명령어를 저장할 수도 있다. 컴퓨팅 디바이스(1102)는 컴퓨팅 디바이스(1120)에 액세스할 수도 있고 실행을 위해 컴퓨터 판독가능 명령어의 일부 또는 전체를 다운로드할 수도 있다. 대안적으로, 컴퓨팅 디바이스(1102)는 컴퓨터 판독가능 명령어의 조각(piece)을, 필요로 되는 대로, 다운로드할 수도 있거나, 또는 몇몇 명령어는 컴퓨팅 디바이스(1102)에서 그리고 몇몇은 컴퓨팅 디바이스(1120)에서 실행될 수도 있다.
G. 용어의 사용
본 주제가 구조적 피쳐 및/또는 방법론적 액트(act)에 고유한 언어로 설명되었지만, 첨부의 청구범위에서 정의되는 주제는 상기에서 설명되는 특정 피쳐 또는 액트로 반드시 제한되는 것은 아니다는 것이 이해되어야 한다. 오히려, 상기에서 설명되는 특정 특징 및 액트는 특허청구범위를 구현하는 예시적인 형태로서 설명된다.
본 출원에서 사용되는 바와 같이, 용어 "컴포넌트", "모듈", "시스템", "인터페이스", 및 등등은, 하드웨어이든, 하드웨어와 소프트웨어의 조합이든, 소프트웨어이든, 또는 실행 중인 소프트웨어이든, 일반적으로, 컴퓨터 관련 엔티티를 가리키도록 의도된다. 예를 들면, 컴포넌트는, 프로세서 상에서 실행하고 있는 프로세스, 프로세서, 오브젝트, 실행파일(executable), 실행 스레드(thread of execution), 프로그램, 및/또는 컴퓨터일 수도 있지만, 그러나 이들인 것으로 제한되는 것은 아니다. 예시로서, 컨트롤러 상에서 실행하고 있는 애플리케이션 및 컨트롤러 둘 다는 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행 스레드 내에 존재할 수도 있고 컴포넌트는 하나의 컴퓨터 상에서 국소화될 수도 있고 및/또는 두 개 이상의 컴포넌트 사이에서 분산될 수도 있다.
또한, 청구되는 주제는, 개시되는 주제를 구현하도록 컴퓨터를 제어하기 위한 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합을 생성하는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용하여 방법, 장치, 또는 제조 물품으로서 구현될 수도 있다. 본원에서 사용되는 바와 같은 용어 "제조 물품"은, 임의의 컴퓨터 판독가능 디바이스, 캐리어, 또는 매체로부터 액세스 가능한 컴퓨터 프로그램을 포괄하도록 의도된다. 물론, 기술 분야의 숙련된 자는, 청구되는 주제의 범위와 취지를 벗어나지 않으면서 이 구성에 대해 많은 수정예가 이루어질 수도 있다는 것을 인식할 것이다.
실시형태의 다양한 동작이 본원에서 제공된다. 하나의 실시형태에서, 설명되는 동작 중 하나 이상은, 하나 이상의 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 판독가능 명령어를 구성할 수도 있는데, 컴퓨터 판독가능 명령어는, 컴퓨팅 디바이스에 의해 실행되는 경우, 컴퓨팅 디바이스로 하여금, 설명되는 동작을 수행하게 할 것이다. 동작 중 일부 또는 전체가 설명되는 순서는, 이들 동작이 반드시 순서 의존적이다는 것을 암시하는 것으로 해석되어선 안된다. 본 설명의 이점을 갖는 기술 분야에서 숙련된 자에 의해, 대안적인 순서화가 인식될 것이다. 또한, 본원에서 제공되는 각각의 실시형태에서 모든 동작이 반드시 존재하는 것은 아니다는 것이 이해될 것이다.
"예시적인"으로서 본원에서 설명되는 임의의 양태 또는 설계가 반드시 다른 양태 또는 설계에 비해 유익한 것으로 해석되지는 않아야 한다. 대신, 단어 "예시적인"의 사용은, 본원에서 제시되는 기술에 관련될 수도 있는 하나의 가능한 양태 및/또는 구현예를 제시하도록 의도된다. 이러한 예는 이러한 기술에 대해 필수적인 것은 아니며 또는 제한하는 것으로 의도되지는 않는다. 이러한 기술의 다양한 실시형태는, 이러한 예를, 단독으로 또는 다른 피쳐와 조합하여, 포함할 수도 있고, 및/또는 예시된 예를 변경할 수도 있고 및/또는 생략할 수도 있다.
본 출원에서 사용되는 바와 같이, 용어 "또는"은 배타적인 "또는"보다는 포괄적인 "또는"을 의미하도록 의도된다. 즉, 그렇지 않다고 명시되지 않는 한, 또는 문맥으로부터 명확하지 않는 한, "X는 A 또는 B를 활용한다"는 자연적인 포괄적 조합 중 임의의 것을 의미하도록 의도된다. 즉, X가 A를 활용하거나; X가 B를 활용하거나; 또는 X가 A와 B 둘 다를 활용하면, 상기 사례 중 임의의 것 하에서 "X는 A 또는 B를 활용한다"가 충족된다. 또한, 본 출원 및 첨부의 청구범위에서 사용되는 바와 같은 관사 "한(a)" 및 "한(an)"은, 그렇지 않다고 명시되지 않는 한 또는 단수 형태를 가리키는 것으로 문맥으로부터 명확하지 않는 한, 일반적으로, "하나 이상"을 의미하도록 해석되어야 한다.
또한, 본 개시가 하나 이상의 구현예와 관련하여 도시되고 설명되었지만, 본 명세서 및 첨부의 도면의 판독 및 이해에 기초하여, 기술 분야에서 숙련된 자에게 등가의 변경예 및 수정예가 떠오를 것이다. 본 개시는 모든 이러한 수정예 및 변경예를 포함하며 하기의 청구범위의 범위에 의해서만 제한된다. 특히 상기 설명된 컴포넌트(예를 들면, 엘리먼트, 리소스, 등등)에 의해 수행되는 다양한 기능과 관련하여, 이러한 컴포넌트를 설명하기 위 해 사용되는 용어는, 다르게 나타내어지지 않는 한, 본원에서 예시되는 본 개시의 예시적인 구현예의 기능을 수행하는 개시된 구조에 구조적으로 등가가 아닐지라도, 설명된 컴포넌트의 특정 기능을 수행하는(예를 들면, 기능적으로 등가인) 임의의 컴포넌트에 대응하도록 의도된다. 또한, 본 개시의 특정 피쳐가 여러 가지 구현예 중 단지 하나와 관련하여 설명될 수도 있지만, 애플리케이션에 대해 소망될 수도 있고 유익할 수도 있는 바와 같이 이러한 피쳐는 임의의 주어진 또는 특정한 다른 구현예의 하나 이상의 다른 피쳐와 결합될 수도 있다. 또한, 용어 "포함하는(including)", "포함한다(includes)", "구비하는(having)", "구비한다(has)", "갖는(with)", 또는 그 변형어가 상세한 설명 및 청구범위의 어느 쪽에서 사용되는 경우, 이러한 용어는 용어 "포함하는(comprising)"과 유사한 방식으로 포괄적이도록 의도된다.

Claims (15)

  1. 프로세서를 갖는 주 디바이스(primary device)가 컴퓨팅 환경의 유저 인터페이스를 유저의 디바이스 콜렉션 중 적어도 하나의 보조 디바이스(auxiliary device) 상에 제시하는(present) 것을 가능하게 하는 방법에 있어서,
    상기 프로세서 상에서, 상기 주 디바이스로 하여금, 상기 디바이스 콜렉션의 각각의 보조 디바이스에 대해:
    상기 보조 디바이스의 적어도 하나의 디바이스 특성을 검출하게 하고;
    상기 보조 디바이스의 상기 적어도 하나의 디바이스 특성에 따라, 상기 보조 디바이스와의 상기 유저의 유저 상호작용의 유저 콘텍스트를 결정하게 하고;
    상기 보조 디바이스의 상기 유저 콘텍스트에 따라, 상기 보조 디바이스 상에 제시되는 상기 컴퓨팅 환경의 상기 유저 인터페이스의 적어도 하나의 엘리먼트를 적응시키게 하고;
    상기 유저에게 제시하기 위해, 상기 컴퓨팅 환경의 상기 유저 인터페이스를 상기 보조 디바이스로 송신하게 하는
    명령어를 실행하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 유저 콘텍스트를 결정하는 것은, 상기 보조 디바이스와의 상기 유저의 유저 상호작용과 동시에 그리고 상기 유저 상호작용에 관련되어, 상기 유저와 개인 사이의 개개의 상호작용을 결정하는 것을 더 포함하고;
    상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트를 적응시키는 것은, 상기 보조 디바이스 상에 제시되는 상기 컴퓨팅 환경 내에, 상기 유저와 상기 개인 사이의 상기 개개의 상호작용에 관련되는 애플리케이션을 제공하는 것을 더 포함하는, 방법.
  3. 제1항에 있어서,
    상기 유저 콘텍스트를 결정하는 것은, 상기 보조 디바이스와의 상기 유저의 유저 상호작용의 환경 프라이버시(environment privacy)를 결정하는 것을 더 포함하고;
    상기 보조 디바이스의 상기 적어도 하나의 디바이스 특성을 검출하는 것은, 상기 보조 디바이스와의 상기 유저의 유저 상호작용 동안 적어도 한 명의 다른 개인에 대한 상기 보조 디바이스의 노출을 평가하는 것을 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 유저 콘텍스트를 결정하는 것은, 상기 보조 디바이스와의 상기 유저의 유저 상호작용 동안 상기 유저의 유저 역할을 결정하는 것을 더 포함하고;
    상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트를 적응시키는 것은, 상기 보조 디바이스와의 상기 유저 상호작용 동안 상기 유저의 상기 유저 역할에 관련이 있는 적어도 하나의 작업(task)에 따라, 상기 보조 디바이스 상에 제시되는 상기 컴퓨팅 환경의 적어도 하나의 엘리먼트를 적응시키는 것을 더 포함하는, 방법.
  5. 제1항에 있어서,
    상기 보조 디바이스와의 상기 유저의 유저 상호작용의 상기 유저 콘텍스트를 결정하는 것은:
    상기 보조 디바이스와의 상기 유저 상호작용 동안 상기 유저에 의해 수행되는 적어도 하나의 유저 활동을 검출하는 것; 및
    상기 유저에 의해 수행되는 상기 적어도 하나의 유저 활동에 따라 상기 유저 상호작용의 상기 유저 콘텍스트를 결정하는 것
    을 더 포함하는, 방법.
  6. 제1항에 있어서,
    상기 보조 디바이스와의 상기 유저의 유저 상호작용의 상기 유저 콘텍스트를 결정하는 것은:
    상기 디바이스 콜렉션의 상기 각각의 적어도 하나의 보조 디바이스와의 상기 유저의 유저 상호작용 동안 상기 유저에 의해 수행되는 적어도 두 개의 유저 활동을 검출하는 것; 및
    상기 유저에 의해 수행되는 상기 적어도 두 개의 유저 활동을 상기 유저의 적어도 두 개의 유저 콘텍스트로 클러스터링하는 것
    을 더 포함하는, 방법.
  7. 제1항에 있어서,
    상기 보조 디바이스와의 상기 유저의 유저 상호작용의 상기 유저 콘텍스트를 결정하는 것은:
    상기 보조 디바이스와의 상기 유저의 유저 상호작용의 제1 유저 콘텍스트를 결정한 이후, 상기 보조 디바이스와의 상기 유저의 유저 상호작용의 제2 유저 콘텍스트를 나타내는 상기 디바이스와의 상기 유저의 적어도 하나의 유저 거동(behavior)을 모니터링하는 것; 및
    상기 제2 유저 콘텍스트를 결정하는 것에 응답하여, 상기 보조 디바이스의 상기 제2 유저 콘텍스트에 따라, 상기 보조 디바이스 상에 제시되는 상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트를 조정하는 것
    을 더 포함하는, 방법.
  8. 명령어를 저장하는 메모리 디바이스에 있어서,
    상기 명령어는, 디바이스 콜렉션의 주 디바이스의 프로세서 상에서의 실행시, 상기 디바이스 콜렉션의 각각의 보조 디바이스에 대해:
    상기 보조 디바이스의 적어도 하나의 디바이스 특성을 검출하는 것;
    상기 보조 디바이스의 상기 적어도 하나의 디바이스 특성에 따라, 상기 보조 디바이스와의 유저의 유저 상호작용의 유저 콘텍스트를 결정하는 것;
    상기 보조 디바이스의 상기 유저 콘텍스트에 따라, 상기 보조 디바이스 상에 제시되는 컴퓨팅 환경의 유저 인터페이스의 적어도 하나의 엘리먼트를 적응시키는 것; 및
    상기 유저에게 제시하기 위해, 상기 컴퓨팅 환경의 상기 유저 인터페이스를 상기 보조 디바이스로 송신하는 것
    에 의해, 상기 주 디바이스로 하여금, 상기 컴퓨팅 환경의 상기 유저 인터페이스를, 적어도 하나의 보조 디바이스를 포함하는 상기 디바이스 콜렉션의 유저에게 제시하게 하는, 명령어를 저장하는 메모리 디바이스.
  9. 제8항에 있어서,
    상기 보조 디바이스의 상기 적어도 하나의 디바이스 특성은, 상기 컴퓨팅 환경 내에서 상기 유저에게 컨텐츠를 제시하는 제시 컴포넌트를 더 포함하고;
    상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트를 적응시키는 것은, 상기 보조 디바이스와의 상기 유저의 유저 상호작용의 상기 유저 콘텍스트에 따라 상기 유저에게 상기 컨텐츠를 제시하도록, 상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트를 적응시키는 것을 더 포함하는, 명령어를 저장하는 메모리 디바이스.
  10. 제9항에 있어서,
    상기 보조 디바이스의 상기 적어도 하나의 디바이스 특성은, 상기 보조 디바이스의 상기 제시 컴포넌트의 정보 밀도를 나타내고;
    상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트를 적응시키는 것은, 상기 제시 컴포넌트의 상기 정보 밀도에 따라 상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트의 정보 컨텐츠를 적응시키는 것을 더 포함하는, 명령어를 저장하는 메모리 디바이스.
  11. 제9항에 있어서,
    상기 명령어를 실행하는 것은 또한, 상기 주 디바이스로 하여금:
    상기 디바이스 콜렉션 중 상기 적어도 두 개의 디바이스 중에서, 통지와 호환하는 유저 콘텍스트와 관련되는 선택된 디바이스를 식별하는 것; 및
    상기 유저에게 표시하기 위해 상기 제시 컴포넌트를 통해 상기 통지를 상기 선택된 디바이스로 송신하는 것
    에 의해, 상기 유저에게 상기 통지를 제시하게 하는, 명령어를 저장하는 메모리 디바이스.
  12. 제8항에 있어서,
    상기 보조 디바이스의 상기 적어도 하나의 디바이스 특성은, 상기 컴퓨팅 환경으로 유저 입력을 제공하는 적어도 두 개의 입력 컴포넌트를 더 포함하고;
    상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트를 적응시키는 것은:
    상기 적어도 두 개의 입력 컴포넌트 중에서, 선택된 입력 컴포넌트를 상기 유저 콘텍스트에 따라 식별하는 것; 및
    상기 선택된 입력 컴포넌트를 상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트와 결부시키는(bind) 것을 더 포함하는, 명령어를 저장하는 메모리 디바이스.
  13. 제8항에 있어서,
    상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트를 적응시키는 것은, 상기 보조 디바이스의 상기 컴퓨팅 환경 내에서, 상기 보조 디바이스와의 상기 유저의 유저 상호작용의 상기 유저 콘텍스트와 관련되는 적어도 하나의 애플리케이션을 포함하는 제약된 애플리케이션 세트를 제시하는 것을 더 포함하는, 명령어를 저장하는 메모리 디바이스.
  14. 제8항에 있어서,
    상기 명령어를 실행하는 것은 또한, 상기 주 디바이스로 하여금, 상기 컴퓨팅 환경에서 제시되는 각각의 애플리케이션에 대해, 상기 애플리케이션의 적어도 두 개의 애플리케이션 변형안(application variant)을 저장하게 하고, 상기 각각의 애플리케이션 변형안은 상기 유저의 유저 상호작용의 선택된 유저 콘텍스트와 관련되고;
    상기 보조 디바이스에 대해 상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트를 적응시키는 것은:
    상기 보조 디바이스 상의 상기 컴퓨팅 환경 내에서 제시되는 상기 각각의 애플리케이션에 대해, 상기 적어도 두 개의 애플리케이션 변형안 중에서, 상기 보조 디바이스와의 상기 유저의 유저 상호작용의 상기 유저 콘텍스트와 관련되는 선택된 애플리케이션 변형안을 식별하는 것을 더 포함하고;
    상기 보조 디바이스로 상기 컴퓨팅 환경을 송신하는 것은, 상기 컴퓨팅 환경의 상기 각각의 애플리케이션에 대해, 상기 애플리케이션의 상기 선택된 애플리케이션 변형안을 포함하는 상기 컴퓨팅 환경을 상기 보조 디바이스로 송신하는 것을 더 포함하는, 명령어를 저장하는 메모리 디바이스.
  15. 제8항에 있어서,
    상기 명령어를 실행하는 것은 또한, 상기 주 디바이스로 하여금, 상기 보조 디바이스 상에 제시되는 상기 컴퓨팅 환경의 제2 적응으로 상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트의 상기 적응을 오버라이드(override) 하라는 요청을 상기 유저로부터 수신하는 것에 응답하여, 상기 보조 디바이스의 상기 컴퓨팅 환경의 상기 적어도 하나의 엘리먼트의 상기 제2 적응을 적용하게 하는, 명령어를 저장하는 메모리 디바이스.
KR1020177010928A 2014-09-24 2015-09-17 컴퓨팅 환경의 디바이스 특정 유저 콘텍스트 적응 KR20170058997A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/495,268 2014-09-24
US14/495,268 US20160085698A1 (en) 2014-09-24 2014-09-24 Device-specific user context adaptation of computing environment
PCT/US2015/050690 WO2016048789A1 (en) 2014-09-24 2015-09-17 Device-specific user context adaptation of computing environment

Publications (1)

Publication Number Publication Date
KR20170058997A true KR20170058997A (ko) 2017-05-29

Family

ID=54261077

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177010928A KR20170058997A (ko) 2014-09-24 2015-09-17 컴퓨팅 환경의 디바이스 특정 유저 콘텍스트 적응

Country Status (11)

Country Link
US (1) US20160085698A1 (ko)
EP (1) EP3198410A1 (ko)
JP (1) JP2018500614A (ko)
KR (1) KR20170058997A (ko)
CN (1) CN107077437A (ko)
AU (1) AU2015321677A1 (ko)
BR (1) BR112017003886A2 (ko)
CA (1) CA2962414A1 (ko)
MX (1) MX2017003530A (ko)
RU (1) RU2017109669A (ko)
WO (1) WO2016048789A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102116858B1 (ko) * 2019-09-06 2020-05-29 한국과학기술정보연구원 스케줄링장치 및 그 동작 방법

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10199051B2 (en) 2013-02-07 2019-02-05 Apple Inc. Voice trigger for a digital assistant
US10990894B2 (en) * 2013-07-11 2021-04-27 Neura, Inc. Situation forecast mechanisms for internet of things integration platform
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9769227B2 (en) 2014-09-24 2017-09-19 Microsoft Technology Licensing, Llc Presentation of computing environment on multiple devices
US10635296B2 (en) 2014-09-24 2020-04-28 Microsoft Technology Licensing, Llc Partitioned application presentation across devices
US10448111B2 (en) 2014-09-24 2019-10-15 Microsoft Technology Licensing, Llc Content projection
US10025684B2 (en) 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10564794B2 (en) * 2015-09-15 2020-02-18 Xerox Corporation Method and system for document management considering location, time and social context
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
WO2017108139A1 (en) * 2015-12-23 2017-06-29 Intel Corporation Changing information output modalities
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US11204787B2 (en) * 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US20180293367A1 (en) * 2017-04-05 2018-10-11 Google Llc Multi-Factor Authentication via Network-Connected Devices
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US10623512B2 (en) 2017-10-11 2020-04-14 International Business Machines Corporation Presenting notifications to a user of a computing device
CN109687984B (zh) * 2017-10-18 2022-02-25 中车株洲电力机车研究所有限公司 一种风电scada系统的配置系统及配置方法
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620610B2 (en) * 2006-06-27 2009-11-17 Microsoft Corporation Resource availability for user activities across devices
MX340621B (es) * 2006-09-29 2016-07-18 United Video Properties Inc Administracion de perfiles para aplicaciones interactivas de guia de medios.
CN101536520B (zh) * 2006-09-29 2011-08-17 联合视频制品公司 交互式媒体指南应用程序的配置文件的管理
US8694901B2 (en) * 2007-07-30 2014-04-08 Telcordia Technologies, Inc. Method and system for mashing up and presenting contextual suggestions to mobile users
US8417764B2 (en) * 2008-02-18 2013-04-09 International Business Machines Corporation Dynamic mashup creation from a set of resources and resource relationships
US9253306B2 (en) * 2010-02-23 2016-02-02 Avaya Inc. Device skins for user role, context, and function and supporting system mashups
US8266551B2 (en) * 2010-06-10 2012-09-11 Nokia Corporation Method and apparatus for binding user interface elements and granular reflective processing
US9501531B2 (en) * 2011-05-18 2016-11-22 Microsoft Technology Licensing, Llc Contextual relevance engine for activity feeds
US9007426B2 (en) * 2012-10-04 2015-04-14 Blackberry Limited Comparison-based selection of video resolutions in a video call
US20140181715A1 (en) * 2012-12-26 2014-06-26 Microsoft Corporation Dynamic user interfaces adapted to inferred user contexts
US9344868B2 (en) * 2013-02-25 2016-05-17 Here Global B.V. Method and apparatus for contextual content and service forwarding for mobile devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102116858B1 (ko) * 2019-09-06 2020-05-29 한국과학기술정보연구원 스케줄링장치 및 그 동작 방법

Also Published As

Publication number Publication date
WO2016048789A1 (en) 2016-03-31
EP3198410A1 (en) 2017-08-02
US20160085698A1 (en) 2016-03-24
AU2015321677A1 (en) 2017-03-16
JP2018500614A (ja) 2018-01-11
RU2017109669A (ru) 2018-09-24
CA2962414A1 (en) 2016-03-31
MX2017003530A (es) 2017-06-21
BR112017003886A2 (pt) 2017-12-05
CN107077437A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
KR20170058997A (ko) 컴퓨팅 환경의 디바이스 특정 유저 콘텍스트 적응
US11102259B2 (en) Network system for content playback on multiple devices
US10965723B2 (en) Instantaneous call sessions over a communications application
KR102299239B1 (ko) 공동 디바이스 상의 가상 어시스턴트 시스템에 대한 개인 도메인
US10868779B2 (en) Indication of communication across applications
US20230052073A1 (en) Privacy awareness for personal assistant communications
US11146646B2 (en) Non-disruptive display of video streams on a client system
KR102264600B1 (ko) 적응적 통지 네트워크용 시스템 및 방법
JP6427715B2 (ja) グループ管理方法および端末、および記憶媒体
US20210019156A1 (en) Multi-user configuration
US20190147841A1 (en) Methods and systems for displaying a karaoke interface
KR20150126646A (ko) 상호작용 원격 통신들에서 향상된 반응성을 위한 의도 엔진
US8839411B2 (en) Providing particular level of access to one or more items in response to determining primary control of a computing device
WO2015187764A1 (en) Conversation cues within audio conversations
WO2019085642A1 (zh) 勿扰模式的实现方法与设备
US10599916B2 (en) Methods and systems for playing musical elements based on a tracked face or facial feature
WO2021068764A1 (zh) 信息处理方法和装置
US10462645B2 (en) Dynamic communication profiles
CN108140149A (zh) 角色特定设备行为
WO2019105092A1 (zh) 加入网络社群的方法、装置及计算机设备
US11289086B2 (en) Selective response rendering for virtual assistants
US10374988B2 (en) Activity beacon
KR20140113389A (ko) 프라이버시 매카니즘을 구비하는 컴퓨팅 시스템 및 그 동작 방법
KR101641610B1 (ko) 자료 송수신 방법 및 자료 송수신 디바이스
KR102586188B1 (ko) 디지털 어시스턴트 하드웨어 추출