KR102050624B1 - 오디오 출력 시스템에 연결할 때의 스마트 오디오 재생 - Google Patents

오디오 출력 시스템에 연결할 때의 스마트 오디오 재생 Download PDF

Info

Publication number
KR102050624B1
KR102050624B1 KR1020160066558A KR20160066558A KR102050624B1 KR 102050624 B1 KR102050624 B1 KR 102050624B1 KR 1020160066558 A KR1020160066558 A KR 1020160066558A KR 20160066558 A KR20160066558 A KR 20160066558A KR 102050624 B1 KR102050624 B1 KR 102050624B1
Authority
KR
South Korea
Prior art keywords
audio
audio playback
user
application
computing device
Prior art date
Application number
KR1020160066558A
Other languages
English (en)
Other versions
KR20160143530A (ko
Inventor
토마스 알시나
안드레 엠. 부울
크레익 엠. 페데리기
그레고리 알. 채프먼
디팩 알. 아이어
조나단 에이. 베넷
스티븐 오. 르메이
에드워드 티. 슈미트
찰스 마가헌
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20160143530A publication Critical patent/KR20160143530A/ko
Application granted granted Critical
Publication of KR102050624B1 publication Critical patent/KR102050624B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • 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/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/60Substation equipment, e.g. for use by subscribers including speech amplifiers
    • H04M1/6033Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
    • H04M1/6041Portable telephones adapted for handsfree use
    • H04M1/6075Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle
    • H04M1/6083Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle by interfacing with the vehicle audio system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72442User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for playing music files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

오디오 출력 시스템과의 연결 시에, 오디오 재생을 지능적으로 수행하기 위한 휴대용 컴퓨팅 디바이스에서 수행되는 방법이다. 휴대용 컴퓨팅 디바이스가 오디오 출력 시스템과의 연결이 이루어지는 것을 검출한다. 휴대용 컴퓨팅 디바이스는 마지막으로 오디오를 재생한 제1 오디오 재생 애플리케이션 및 제1 오디오 재생 애플리케이션이 마지막으로 오디오를 재생한 때를 결정한다. 제1 오디오 재생 애플리케이션이 과거에 지정된 시간량 내에 오디오를 재생하지 않았다면, 이후 휴대용 컴퓨팅 디바이스는 휴대용 컴퓨팅 디바이스가 이전에 오디오 출력 시스템에 연결되었을 때 마지막으로 오디오를 재생한 제2 오디오 재생 애플리케이션을 결정하고, (오디오 출력 시스템과 이루어진 연결을 통하여) 제2 오디오 재생 애플리케이션으로부터 오디오 재생을 시그널링한다. 기타 실시예들이 또한 설명되고 청구된다.

Description

오디오 출력 시스템에 연결할 때의 스마트 오디오 재생{SMART AUDIO PLAYBACK WHEN CONNECTING TO AN AUDIO OUTPUT SYSTEM}
관련 출원들에 대한 상호 참조
본 출원은 2015년 6월 5일에 출원된 미국 가출원 번호 제62/171,846호의 35 U.S.C. 119(e)에 따른 혜택을 주장하는데, 이 가출원은 참조로써 그 전체가 본 명세서에 특정적으로 통합된다.
본 발명의 실시예는 스마트폰과 같은 휴대용 컴퓨팅 디바이스가 자동차 무선 헤드 유닛과 같은 오디오 출력 시스템에 연결될 때 오디오 재생을 지능적으로 결정하기 위한 것과 관련이 있다. 기타 실시예들이 또한 설명되고 청구된다.
오늘날의 자동차 헤드 유닛들은, 휴대용 컴퓨팅 디바이스상에서 실행되는 애플리케이션으로부터의 것이고 차량의 스피커 시스템을 통한 사운드로 변환되는 오디오 콘텐츠를 재생하기 위해 유선 연결(예를 들어, USB(Universal Serial Bus), 케이블) 또는 무선 연결(예를 들어, 블루투스 연결) 중 어느 하나를 통하여 휴대용 컴퓨팅 디바이스(예를 들어, 스마트폰)와 연결될 수 있다. 그와 같은 오디오 콘텐츠의 재생은, 사용자가 수동으로 일시정지 또는 중지 버튼 및 이후 재생 버튼을 선택하는 것에 의해, 중단되었다가 이후 재개될 수 있다. 재생은 또한 휴대용 컴퓨팅 디바이스가 헤드 유닛으로부터 연결 해제될 때 자동적으로 중단될 수 있다. 휴대용 컴퓨팅 디바이스에서 실행되는 처리는, 전경에 존재하고 현재 오디오를 재생하고 있는 애플리케이션을 식별하는 데이터 구조를 갱신함으로써 "최종 재생 오디오 애플리케이션"을 모니터링한다. 예들로는 뮤직 플레이어 애플리케이션, 팟캐스트 애플리케이션, 및 뮤직 스트리밍 애플리케이션이 있다.
휴대용 컴퓨팅 디바이스가 헤드 유닛에 연결될 때, 헤드 유닛은 휴대용 컴퓨팅 디바이스에게 오디오 재생을 시작하라는 명령을 보낼 수 있다. 대부분의 경우에, 휴대용 컴퓨팅 디바이스는 현재 전경에서 실행되고 있는 애플리케이션으로부터 오디오를 재생함으로써 응답한다. 몇몇 헤드 유닛들은 휴대용 컴퓨팅 디바이스의 뮤직 라이브러리에 저장된 곡 리스트를 요구하고, 이후 리스트에서의 첫 곡(예를 들어, 알파벳순으로 첫 곡)을 재생하도록 휴대용 컴퓨팅 디바이스에게 명령을 보낼 것이다. 이러한 경우들 모두에서, 어느 애플리케이션으로부터 오디오를 재생할지에 대한 결정은 단순하게 이루어지고, 대개 이 결정은 사용자의 욕구를 충족시키지 못한다. 다른 헤드 유닛들은 휴대용 컴퓨팅 디바이스가 헤드 유닛에 연결될 때 오디오 재생이 시작할 것을 자동적으로 요청하지 않고, 대신에 사용자가 어느 애플리케이션으로부터 오디오를 재생할지를 수동으로 선택하는 것을 기다리는데, 이는 사용자를 불편하게 할 수 있다.
본 발명의 실시예들은, 동일 참조 번호들이 동일 요소들을 나타내는 첨부 도면들이 그림들에서 제한이 아니라 예로서 도해된다. 본 개시에서의 본 발명의 "한" 또는 "일" 실시예에 대한 참조들은 반드시 동일 실시예를 지칭하는 것은 아니고, 이것들은 적어도 하나를 의미한다는 것에 주목해야 한다. 또한, 주어진 그림은 도면들의 전체 개수를 감소시키려는 관점에서 본 발명의 두 개 이상의 실시예들의 특징들을 도해하는데 사용될 수 있고, 그 결과 그림에서의 모든 요소들이 주어진 실시예에 대해 요구되는 것은 아닐 수 있다.
도 1은 몇몇 실시예들에 따라, 오디오 재생을 지능적으로 시그널링하기 위한 처리를 도해하는 흐름도이다.
도 2는 몇몇 실시예들에 따라, 오디오 재생을 시그널링하기 위한 또 다른 처리를 도해하는 흐름도이다.
도 3은 몇몇 실시예들에 따라, 휴대용 컴퓨팅 디바이스일 수 있는 장치를 도해하는 블록도이다.
도 4는 몇몇 실시예들에 따라, 휴대용 컴퓨팅 디바이스에서, 오디오 출력 시스템과 이루어지는 연결에 대한 이용가능한 오디오 재생을 도해한다.
첨부 도면들을 참조하여 본 발명의 몇 개의 실시예들이 이제 설명된다. 본 명세서에서 설명되는 실시예들의 양태들이 명시적으로 정의되지 않은 한, 본 발명의 범위는 단순히 설명 목적으로 의도된 부분들로만 제한되지는 않는다. 또한, 수 많은 상세 사항이 제시되지만, 본 발명의 몇몇 실시예들은 이러한 상세 사항들 없이도 실행될 수 있다는 것을 이해할 것이다. 다른 사례들에서, 공지된 회로들, 구조들, 및 기법들은 이 설명의 이해를 가리지 않도록 하기 위해 상세히 보여지지 않는다.
도 1은 몇몇 실시예들에 따라, 오디오 재생을 지능적으로 시그널링하기 위한 처리를 도해하는 흐름도이다. 흐름도의 동작들은 휴대용 컴퓨팅 디바이스(예를 들어, 스마트폰, 또는 휴대용 뮤직 플레이어)에 의해 실행될 수 있다. 일 실시예에서, 처리는 휴대용 컴퓨팅 디바이스가 오디오 출력 시스템과의 연결이 이루어지는 것을 검출할 때 개시된다(블록 110). 오디오 출력 시스템은 차량의 헤드 유닛(이것은 차량에서의 하나 이상의 스피커들에 결합됨), 스피커 독(speaker dock), 또는 휴대용 컴퓨팅 디바이스로부터 재생되고 있는 오디오 콘텐츠를 사운드로 변환할 수 있는 임의의 시스템일 수 있다. 일 실시예에서, 휴대용 컴퓨팅 디바이스와 오디오 출력 시스템 간의 연결은 USB(Universal Serial Bus) 케이블을 통해서 이루어지는 유선 연결이다. 기타 실시예들에서, 연결은 블루투스 연결 또는 Wi-Fi 연결과 같은 무선 연결이다.
오디오 출력 시스템과의 연결이 이루어지는 것을 검출할 시에, 휴대용 컴퓨팅 디바이스는 어느 오디오 재생 애플리케이션이 휴대용 컴퓨팅 디바이스에서 마지막으로 오디오를 재생했는지(가장 최근에 오디오를 재생했는지)를 결정한다(블록 120). 오디오 재생 애플리케이션은, 본 명세서에 사용되는 바로는, 디지털 오디오(예를 들어, 뮤직 파일 또는 다른 오디오 프로그램 파일)를 생성할 수 있고 또한 사용자로 하여금 디지털 오디오의 생성을 중단시키고 재개시킴으로써 디지털 오디오의 생성을 제어하도록 허용하는 애플리케이션이다. 오디오 재생 애플리케이션의 예들로는 휴대용 컴퓨팅 디바이스에 국지적으로 저장되는 뮤직 콘텐츠를 재생하는 뮤직 플레이어 애플리케이션들, 뮤직 공급자로부터 (예를 들어, 인터넷과 같은 데이터 네트워크를 통해) 수신되는 뮤직을 스트리밍하는 뮤직 스트리밍 애플리케이션들, 및 비디오 재생 애플리케이션들이 있다. 몇몇 사례들에서, 웹 브라우저는 (예를 들어, 이것이 오디오 또는 비디오를 재생하는데 사용될 때) 또한 오디오 재생 애플리케이션일 수 있다.
일 실시예에서, 휴대용 컴퓨팅 디바이스는 휴대용 컴퓨팅 디바이스를 위해 오디오 재생을 관리하는 오디오 재생 컨트롤러 프로그램을 실행한다. 일 실시예에서, 오디오 재생 컨트롤러는 다음을 추적한다: 1) 어느 오디오 재생 애플리케이션이 마지막으로 오디오를 재생했는가 (소수의 예들만을 거명하면, 휴대용 컴퓨팅 디바이스의 외부 사운드 변환 서브시스템을 통하여, 또는 유선/무선 연결된 헤드셋, 스피커 독, 또는 차량 헤드 유닛을 통하여) 및 2) 이것이 마지막으로 오디오를 재생한 때. 휴대용 컴퓨팅 디바이스상에서 실행되는 다른 프로그램들이, 어느 오디오 재생 애플리케이션이 마지막으로 오디오를 재생했는지를 결정하기 위해 오디오 재생 컨트롤러 프로그램으로부터의 이 저장된 정보에 접근한다.
휴대용 컴퓨팅 디바이스는 휴대용 컴퓨팅 디바이스에서 마지막으로 오디오를 재생한 오디오 재생 애플리케이션이 과거에 지정된 시간량 내에 그렇게 했는지를 결정한다(블록 130). 이것은 사용자가 오디오 재생 애플리케이션으로부터의 오디오를 "최근에" 듣고 있었는지를 찾아내는 것이다. 예를 들어, 휴대용 컴퓨팅 디바이스는 마지막으로 재생한 오디오 재생 애플리케이션이 최근 8분 내에 그렇게 했는지를 결정할 수도 있을 것이다. 8분이라는 값은 제한이 아니라 예로서 제공되고, 이와 같이 이 시간 구간은 바라는 대로 구성될 수 있다. 상기에 도입된 것처럼, 오디오 재생 컨트롤러는 오디오를 마지막으로 재생한 오디오 재생 애플리케이션이, 예를 들어 저장된 시간 스탬프를 애플리케이션에 대한 저장된 식별자와 연관시킴으로써 언제 그렇게 했는지를 추적할 수 있다. 시간 스탬프는 오디오 재생이 어떤 이유로든 중단되었던 시간을 나타낼 수 있다. 휴대용 컴퓨팅 디바이스는, 마지막으로 오디오를 재생한 오디오 재생 애플리케이션이 과거에 지정된 시간량 내에 그렇게 했는지를 결정하기 위해 오디오 재생 컨트롤러로부터의 이 저장된 정보에 접근할 수 있다.
마지막으로 오디오를 재생한 오디오 재생 애플리케이션이 과거에 지정된 시간량 내에 그렇게 했다면(예를 들어, 최근 8분 내에), 이후 이것은 사용자가 해당 오디오 재생 애플리케이션을 최근에 듣고 있었을 공산이 가장 크다는 것을 나타낸다. 그러므로, 사용자는 (오디오 출력 장치/시스템과의 연결 시에) 이제 해당 오디오 재생 애플리케이션을 계속 듣기를 원할 가능성이 있다. 이와 같이, 휴대용 컴퓨팅 디바이스에서 실행되는 처리는 오디오 재생이 마지막으로 오디오를 재생한 오디오 재생 애플리케이션으로부터 시작할 것이 틀림없다는 것을 시그널링한다. 이 오디오 재생은 오디오 출력 시스템과의 최근에 이루어진 연결을 통해 될 것이다(블록 140).
오디오 재생을 시작하도록 시그널링되는 애플리케이션은 해당 시점에서 이미 전경에 있을 수 있거나(이런 경우에 진행 중인 오디오 재생은 오디오 출력 시스템과의 현재 연결에 경로 설정된다), 또는 이것은 배경에 있을 수 있거나(이런 경우에 이것은 연결을 통하여 오디오를 재생 출력하기 위해 전경으로 이동될 것이다), 또는 이것은 닫힐 것(이런 경우에 이것은 론칭되어 이것이 연결을 통하여 오디오를 재생할 수 있도록 한다)이라는 것을 유의한다.
예를 들어, 자신들의 차량으로 걸어가는 동안 자신들의 스마트폰에 연결되는 헤드셋상에서 팟캐스트를 듣는 사용자를 고려한다. 사용자가 차량에 접근함에 따라, 사용자는 헤드셋을 연결해제하는데, 이는 재생을 중단시키고 (및 팟캐스트를 일시정지시키고), 차량 내부에 착석한 후의 몇 분 내에 차량의 헤드 유닛에 스마트폰을 연결한다. 이 경우에, 사용자는 팟캐스트를 계속해서 듣기를 원할 가능성이 있다. 본 명세서에서 기술되는 실시예는 사용자가 차량의 헤드 유닛에 스마트폰을 연결할 때 (차량 스피커 시스템을 통하여) 일시정지된 팟캐스트의 재생을 자동적으로 재개할 것이다.
다른 한편, 마지막으로 오디오를 재생한 오디오 재생 애플리케이션이 과거에 지정된 시간량(예를 들어, 최근 8분 내에) 그렇게 하지 않았다면, 이후 이것은 사용자가 최근에 해당 오디오 재생 애플리케이션을 듣고 있지 않았다는 것을 나타낸다. 그러므로, 사용자는, 사용자의 휴대용 컴퓨팅 디바이스가 (지금 연결된) 오디오 출력 시스템에 연결되었던 마지막 시간에 듣고 있었던 어떤 오디오 재생 애플리케이션이든지 간에 이것을 계속 듣기를 원할 가능성이 있다. 해당 정보, 즉 휴대용 컴퓨팅 디바이스가 오디오 출력 시스템에 연결되었던 마지막 시간에 재생하고 있었던 애플리케이션의 아이덴티티(예를 들어, 휴대용 컴퓨팅 디바이스에서의 다른 프로그램들에 의한 접근을 위해, 이전에 저장된 것)가 오디오 재생 컨트롤러 프로그램에 의해 모니터링되었을 수 있다. 이와 같이, 휴대용 컴퓨팅 디바이스 신호에서 실행되는 처리는, 휴대용 컴퓨팅 디바이스가 이전에 오디오 출력 시스템에 연결되었을 때 마지막으로 오디오를 재생한 오디오 재생 애플리케이션으로부터 오디오 재생을 시작하여야 한다는 것을 시그널링한다. 이 오디오 재생은 오디오 출력 시스템과의 최근에 이루어진 연결을 통해 될 것이다(블록 150). 예를 들어, (차량의 헤드 유닛에 연결하는 것에 의해) 일터로 운전해 가는 동안 (스마트폰상의 팟캐스트 애플리케이션으로부터) 스마트폰상의 팟캐스트를 듣는 사용자를 고려한다. 일단 사무실에 도착하면, 사용자는 차량으로부터 스마트폰을 연결 해제시키고(이것은 팟캐스트를 일시정지시킴), 자신의 책상에서 일하기를 시작한다. 몇 시간 후의 점심 시간 동안, 예를 들어, 사용자는 (팟캐스트 애플리케이션과는 상이한 스마트폰상의 뮤직 재생 애플리케이션으로부터) 뮤직을 듣지만, 다른 상황에서는 스마트폰상의 임의의 다른 오디오 재생 애플리케이션을 듣지 않았을 것이다. 사용자가 집으로 차 타고 가기 위해 오후 늦게 차량으로 돌아와서 차량의 헤드 유닛에 스마트폰을 연결할 때, 사용자는 (뮤직 재생 애플리케이션으로부터의) 점심 시간 뮤직이 아니라 팟캐스트 애플리케이션을 계속 듣기를 원할 가능성이 있다. 본 명세서에 기술되는 실시예는, 사용자가 차량의 헤드 유닛에 스마트폰을 연결할 때, 팟캐스트 애플리케이션으로부터 재생을 자동적으로 재개할 것이다.
휴대용 컴퓨팅 디바이스가 앞서 기술된 오디오 출력 시스템에 연결될 때 어느 오디오 재생 애플리케이션이 재생할지에 대한 결정은 휴리스틱이고, 그러므로 처리는 사용자의 욕구와 일치하지 않는 결정을 내릴 수 있다. 이에 따라, 또 다른 실시예에서, 휴대용 컴퓨팅 디바이스는 사용자로 하여금 초기에 휴리스틱에 의해 선택되는 것과는 상이한 오디오 재생 애플리케이션으로 오디오 재생 결정을 변경하기로 선택하는 것을 허용하는 사용자용 사용자 인터페이스를 제공할 수 있다. 따라서, 사용자 인터페이스는, 휴리스틱에 의해 선택되는 주요 또는 제1 옵션이 사용자가 욕구한 것이 아닌 바로 그런 경우에, 사용자가 선택할 수 있는 "제2 옵션"을 제공한다. 도 1은 이 "또 다른 선택" 실시예를 예시하는데 사용된다.
예를 들어, 도 1을 참조하면, 휴대용 컴퓨팅 디바이스에서 실행되는 처리가 주요 옵션이 (예를 들어, 블록 140에서와 같이) 마지막으로 오디오를 재생한 오디오 재생 애플리케이션으로부터 오디오 재생을 시작하는 것임을 결정했다면, 이후 휴대용 컴퓨팅 디바이스는, 사용자가 오디오 재생 결정을, 휴대용 컴퓨팅 디바이스가 이전에 오디오 출력 시스템에 연결되었을 때 마지막으로 오디오를 재생한 애플리케이션으로 변경하기 위한 사용자 인터페이스를 제공할 수 있다(블록 160). 다시 말해서, 재생이 초기에 및 (자동적으로) 블록 140에 따라 결정되기는 하지만, 사용자는 이후 재생을 제2 옵션으로 변경하기 위해 블록 160에서 프롬프팅된다.
유사하게, 도 1에 묘사된 제2 옵션의 또 다른 예에서, 휴대용 컴퓨팅 디바이스에서 실행되는 처리가 오디오 휴대용 컴퓨팅 디바이스가 (예를 들어, 블록 150에서와 같이) 이전에 오디오 출력 시스템에 연결되었을 때 마지막으로 오디오를 재생한 오디오 재생 애플리케이션으로부터 오디오 재생이 되어야 한다고 초기에 결정했다면, 이후 휴대용 컴퓨팅 디바이스는 사용자가 오디오 재생 결정을 제2 옵션으로 변경하기 위한 사용자 인터페이스를 제공할 수 있으며, 여기서 이 경우의 제2 옵션은 마지막으로 오디오를 재생한 오디오 재생 애플리케이션으로부터의 재생이다(블록 170).
보다 일반적으로, 일 실시예에서, 앞서 언급한 제2 옵션들은 도 1의 블록들 160, 170에서 주어진 것들과는 상이할 수 있고, 도 2를 참조하여 하기 기술되는 예측 모델과 같은 예측 모델에 의해 결정될 수 있다. 이런 방식으로, 사용자 인터페이스는 사용자에게 오디오 재생 결정(초기에 휴리스틱에 의해 이루어짐)을 변경하고 휴리스틱에 의해 선택된 것과 상이한 오디오 재생 애플리케이션으로부터 재생을 그 대신에 시작하기 위한 옵션을 제공한다.
일 실시예에서, 휴대용 컴퓨팅 디바이스는 오디오 출력 시스템의 디스플레이상의 사용자 인터페이스를 제공할 수 있다. 예를 들어, 일 실시예에서, 사용자 인터페이스는 차량 헤드 유닛의 디스플레이상에 표시되는 프롬프트/가상 버튼으로서 제공된다. 사용자는, 주요 옵션 대신에 제2 옵션으로부터 오디오 재생을 시작하기 위해 (디스플레이가 터치스크린 디스플레이라면) 디스플레이상의 가상 버튼을 가볍게 두드리거나(tap) 또는 헤드 유닛의 물리적 버튼을 액추에이트시킬 수 있다. 또 다른 실시예에서, 사용자 인터페이스는 휴대용 컴퓨팅 디바이스에 내장되는 터치스크린 디스플레이상에 표시되는 프롬프트/가상 버튼으로서 제공된다. 사용자는 주요 옵션 대신에 제2 옵션으로부터 오디오 재생을 재개하기 위해 터치스크린 디스플레이상의 가상 버튼을 가볍게 두드리거나 또는 휴대용 컴퓨팅 디바이스의 물리적 버튼을 액추에이트시킬 수 있다. 일 실시예에서, 사용자 인터페이스는 음성 명령 인터페이스로서 제공된다. 예를 들어, 음성 명령 애플리케이션은 사용자에게 사용자가 주요 옵션 대신에 제2 옵션으로부터 오디오 재생을 시작하기를 원하는지를 프롬프트한다. 사용자가 음성 명령 애플리케이션에 명령을 말함으로써(예를 들어, "예" 또는 "아니오") 음성 명령 애플리케이션에 응답할 수 있다.
도 2는 몇몇 실시예들에 따라, 오디오 재생을 지능적으로 시작하기 위한 또 다른 처리를 도해하는 흐름도이다. 흐름도의 동작들은 휴대용 컴퓨팅 디바이스(예를 들어, 스마트폰 또는 휴대용 뮤직 플레이어)에 의해 수행될 수 있다. 일 실시예에서, 처리는 휴대용 컴퓨팅 디바이스가 오디오 출력 시스템과의 연결이 이루어진다는 것을 검출할 때 개시된다(블록 210). 오디오 출력 시스템은 차량의 헤드 유닛(차량에서의 하나 이상의 스피커들에 결합됨), 스피커 독, 또는 휴대용 컴퓨팅 디바이스에서 재생되고 있는 및 그로부터 수신되고 있는 오디오 콘텐츠를 변환할 수 있는 임의의 시스템일 수 있다. 휴대용 컴퓨팅 디바이스와 오디오 출력 시스템 간의 연결은 (도 1을 참조하여 기술된 실시예들에서, 앞서 논의한 바와 같이) 유선 또는 무선일 수 있다.
연결이 이루어진 것을 검출할 시에, 휴대용 컴퓨팅 디바이스는 정황 정보를 검색한다(블록 220). 일 실시예에서, 정황 정보는 휴대용 컴퓨팅 디바이스의 주위 상황(또는 그것의 사용자 정황)과 관련될 수 있다. 예를 들어, 정황 정보는 시각, 날짜, 그 주의 그 날, 현재 장소 및/또는 현재 날씨와 관련될 수 있다. 일 실시예에서, 정황 정보는 또한 휴대용 컴퓨팅 디바이스가 그와 연결되는 현재 오디오 출력 시스템과 관련된 정보를 포함할 수 있다. 정황 정보는 휴대용 컴퓨팅 디바이스의 하나 이상의 컴포넌트들로부터 취득될 수 있다. 예를 들어, 정황 정보는 내부 디지털 클록, GPS(Global Positioning System) 장치, 또는 달력으로서 동작하는 하드웨어 디바이스들 및/또는 소프트웨어 코드의 임의의 조합으로부터 취득될 수 있다. 일 실시예에서, 정황 정보는 데이터 네트워크(예를 들어, 인터넷)을 통해 정보에 접근함으로써 취득될 수 있다. 또 다른 실시예에서, 정황 정보는 현재 사용자 정황, 예를 들어, 걷기, 달리기, 운전, 및 운동을 포함할 수 있다.
휴대용 컴퓨팅 디바이스는, 정황 정보에 기초하여 사용자에 의해 접근될 가장 높은 확률을 갖는 오디오 재생 애플리케이션을 예측 모델을 이용하여 식별한다(블록 230). 예측 모델은, 예를 들어 사용자가 얼마나 자주 그리고 어떤 상황들 하에서 주어진 오디오 재생 애플리케이션으로부터 오디오를 재생하는지에 대해 기록해 둠으로써 사용자의 오디오 재생 성향들과 거동 패턴들을 알 수 있다. 그러므로, 예측 모델은 휴대용 컴퓨팅 디바이스와의 사용자의 이력 상호작용들에 기초할 수 있다. 예측 모델은, 현재 상황들 하에서 사용자가 (특정 오디오 출력 시스템과 연결할 시에) 주어진 오디오 재생 애플리케이션에 접근할 공산을 예측하기 위해, 사용자의 오디오 재생 성향들과 거동 패턴들과 함께 정황 정보를 활용할 수 있다. 예측 모델은 임의의 적합한 예측 모델링 기법 및/또는 머신 러닝 기술에 기초할 수 있다. 그와 같은 기법들의 예들은 “검출된 트리거링 이벤트들에 기초한 애플리케이션 추천(Application Recommendation Based on Detected Triggering Events)”이라고 제목이 붙은 부록 A에 주어진다.
예를 들어, 예측 모델은 사용자의 과거 거동으로부터 사용자가 거의 항상 (예를 들어, 10번 중 9번은) 자신들의 아침 출근길에서 팟캐스트 애플리케이션으로부터 뉴스 팟캐스트를 재생한다는 것을 알았을 수 있다. 이에 따라, 사용자가 아침에 차량의 헤드 유닛에 자신들의 휴대용 컴퓨팅 디바이스를 연결할 때, 예측 모델은 (휴대용 컴퓨팅 디바이스에 저장되는 오디오 재생 애플리케이션들 중에서) 팟캐스트 애플리케이션이 사용자에 의해 접근될 가장 높은 확률을 갖는다고 결정할 수 있다.
휴대용 컴퓨팅 디바이스는 사용자에 의해 접근될 가장 높은 확률을 갖는 오디오 재생 애플리케이션으로부터 오디오 재생을 시작한다. 이 오디오 재생은 오디오 출력 시스템과의 최근에 이루어진 연결을 통해 될 것이다(블록 240). 그러므로, 휴대용 컴퓨팅 디바이스는 사용자의 정황 정보 및 알게 된 성향들 및/또는 거동 패턴들에 기초하여 어느 오디오 재생 애플리케이션을 재생할지에 대한 결정을 지능적으로 내린다.
휴대용 컴퓨팅 디바이스가 위에서 기술되는 오디오 출력 시스템에 연결될 때 어느 오디오 재생 애플리케이션을 재생할지에 대한 결정은 사용자의 욕구와 일치하지 않는 결정을 내릴 수 있는 예측이다. 이와 같이, 일 실시예에서, 휴대용 컴퓨팅 디바이스는 사용자로 하여금 초기에 예측 모델에 의해 선택된 것과는 상이한 오디오 재생 애플리케이션으로 오디오 재생 결정을 변경하기로 선택하는 것을 허용하기 위한 사용자용 사용자 인터페이스를 제공할 수 있다. 따라서, 사용자 인터페이스는 예측 모델에 의해 선택되는 주요 또는 제1 옵션이 사용자가 욕구한 것이 아닌 바로 그런 경우에, 사용자가 선택할 수 있는 "제2 옵션"을 제공한다.
예를 들어, 일 실시예에서, 휴대용 컴퓨팅 디바이스는, 예측 모델을 이용하여, 정황 정보에 기초하여 사용자에 의해 접근될 두 번째로 높은 확률을 갖는 오디오 재생 애플리케이션을 식별함으로써 제2 옵션을 결정한다(블록 250). 휴대용 컴퓨팅 디바이스는 이후 사용자가 오디오 재생이 사용자에 의해 접근되는 두 번째로 높은 확률을 갖는 오디오 재생 애플리케이션으로부터이어야 한다는 것을 나타내기 위한 사용자 인터페이스를 제공한다(블록 260). 일 실시예에서, 제2 옵션은 도 1을 참조하여 앞서 설명된 휴리스틱과 같은 휴리스틱에 의해 결정된다. 이런 방식으로, 사용자 인터페이스는 사용자에게 휴리스틱에 의해 선택되는 것과는 상이한 오디오 재생 애플리케이션으로부터 오디오 재생을 시작하는 옵션을 제공한다. 일 실시예에서, 사용자 인터페이스는 사용자가 그로부터 선택하기 위한 두 개 이상의 옵션들을 제공할 수 있다. 도 1을 참조하여 앞서 논의된 사용자 인터페이스와 유사하게, 휴대용 컴퓨팅 디바이스는 오디오 출력 시스템(예를 들어, 차량 헤드 유닛의 디스플레이)의 디스플레이 또는 휴대용 컴퓨팅 디바이스에 내장되는 터치스크린 디스플레이상에 사용자 인터페이스를 제공할 수 있다. 또한, 사용자 인터페이스는 음성 명령 인터페이스로서 제공될 수 있다.
휴리스틱과 예측 모델의 임의의 조합은 휴대용 컴퓨팅 디바이스가 오디오 출력 시스템에 연결될 때 지능적으로 및 자동적으로 (예로, 사용자로부터의 재생 명령을 필요로 하지 않고) 오디오 재생을 시작하는 데에 사용될 수 있다. 예를 들어, 예측 모델이 사용자에 의해 접근되는 높은 확률(예로, 90 퍼센트보다 더 큼)을 갖는 오디오 재생 애플리케이션을 식별하면, 휴대용 컴퓨팅 디바이스는 휴리스틱에 의존하지 않고 이 오디오 재생 애플리케이션으로부터 오디오 재생을 시작하기로 결정할 수 있다. 예측 모델이 사용자에 의해 접근되는 충분히 높은 확률을 갖는 오디오 재생 애플리케이션을 식별할 수 없으면, 휴대용 컴퓨팅 디바이스는 어느 오디오 재생 애플리케이션을 호출할 지를 결정하기 위해 휴리스틱에 의존하기로 결정할 수 있다. 일 실시예에서, 휴대용 컴퓨팅 디바이스는, 앞서 논의한 바와 같이, 연결된 오디오 출력 시스템으로부터 수신되고 특정 오디오 재생 애플리케이션으로부터 오디오를 재생하라는 명령을 오버라이드하고, 대신에 휴리스틱 또는 예측 모델에 기초하여 선택된 오디오 재생 애플리케이션으로부터 오디오를 재생할 수 있다. 휴대용 컴퓨팅 디바이스에서 실행되는 이런 처리들은, 이들이 휴대용 컴퓨팅 디바이스의 정황, 예를 들어 사용자 정황을 고려할 수 있기 때문에, 오디오 출력 시스템보다 더 지능적인 결정을 제공할 수 있다.
일 실시예에서, 휴대용 컴퓨팅 디바이스는 또한 오디오 출력 시스템을 통해 사용자에 의해 재생될 콘텐츠를 결정할 수 있다. 일단 오디오 재생 애플리케이션이 결정되면(예를 들어, 블록들 140, 150, 230), 휴대용 컴퓨팅 디바이스의 운영 체제는 재생 동안 재생될 추천 콘텐츠를 결정할 수 있다(예를 들어, 블록들 140, 150과 240). 운영 체제는 또한 결정된 오디오 재생 애플리케이션을 위한 추천 콘텐츠의 재생 큐를 발생할 수 있다(예를 들어, 블록들 140, 150, 230). 운영 체제는 또한 사용자에 대한 대안으로서 제시되는 오디오 재생 애플리케이션을 위한 추천 콘텐츠의 재생 큐를 발생할 수 있다(예를 들어, 블록들 160, 170, 260). 예를 들어, 블록들(160, 170, 260)에서, 사용자가 오디오 재생이 그로부터 시작된 오디오 재생 애플리케이션과는 상이한 오디오 재생 애플리케이션으로부터 오디오 재생이 이루어져야 한다는 것을 나타내는 사용자 인터페이스를 제시 받을 때(블록들 140, 150, 및 240), 운영 체제는 추천 콘텐츠의 재생 큐를 제공하고 또한 사용자 인터페이스상에 재생 큐로부터의 추천 콘텐츠를 표시할 수 있다.
콘텐츠는, 예를 들어, 곡, 앨범, 예술가, 팟캐스트의 에피소드, 기타 등등일 수 있다. 휴대용 컴퓨팅 디바이스의 운영 체제는 재생될 콘텐츠를 결정하고 콘텐츠의 재생 큐(예를 들어, 곡 큐, 재생 목록, 기타 등등)를 구축할 수 있다. 오디오 재생 애플리케이션이 콘텐츠를 재생할 때, 오디오 재생 애플리케이션은 재생되고 있는 콘텐츠를 식별하고 기술하는 키 및 값들을 포함하는 사전(dictionary)을 운영 체제에게 전송한다. 운영 체제는 재생 동안 동적으로 사전을 갱신한다. 키는 콘텐츠를 식별하는 높은 수준의 메타데이터(예를 들어, 예술가의 명칭)이고, 값들은 콘텐츠를 구체적으로 기술할 수 있다(예를 들어, 곡명, 앨범, 곡 지속시간, 기타 등등). 운영 체제는 휴대용 컴퓨팅 디바이스의 다른 부분들이 접근 가능한 휴대용 컴퓨팅 디바이스에서의 메모리 로케이션에 사전을 저장할 수 있다. 예를 들어, 휴대용 컴퓨팅 디바이스상에서 실행되는 다른 프로그램들(예를 들어, 오디오 재생 애플리케이션)이 메모리 로케이션에 접근하여 키 및 값들을 취득할 수 있고, 사용자 인터페이스(예를 들어, 터치스크린)상에 표시되는 이 정보(예를 들어, 현재 재생되고 있는 곡명 및 예술가)를 사용자에게 제공한다. 이 오디오 재생 애플리케이션은 또한 운영 체제에게 콘텐츠 트리를 전송할 수 있다. 콘텐츠 트리의 루트는 예술가들의 콜렉션 또는 목록, 앨범의 콜렉션, 곡의 콜렉션, 재생 목록의 콜렉션, 기타 등등 일 수 있다. 루트가 재생 목록의 콜렉션(예를 들어, "모든 재생 목록들”)이면, 콘텐츠 트리에서의 다음 레벨은 모든 재생 목록들의 리스팅(예로, 온 더 고(on-the-go)”, "(운동 믹스(workout mix)", "음악 공부(studying music)", 기타 등등)을 포함한다. 선택된 재생 목록(예를 들어, "운동 믹스")으로부터의 콘텐츠 트리에서의 다음 레벨은 이 재생 목록에 모든 곡들의 리스트를 포함시킬 수 있다.
일 실시예에서, 오디오 재생 애플리케이션으로부터의 사전과 콘텐츠 트리를 이용하여, 운영 체제는 사용자에 의해 재생되고 있는 콘텐츠의 이력뿐만 아니라 콘텐츠의 재생의 빈도(예를 들어, 곡, 앨범, 예술가, 팟캐스트의 재생 횟수, 기타 등등)를 집계(compile)하는 해석 엔진을 포함할 수 있다. 콘텐츠의 이력은 또한 사용자가 주어진 콘텐츠를 재생하는 시각(예를 들어, 아침에 운동 곡들)을 집계할 수 있다. 해석 엔진은 추천 콘텐츠를 결정하고 또한 추천 콘텐츠의 재생 큐를 발생하기 위해 재생되고 있는 콘텐츠의 이력과 재생의 빈도를 이용할 수 있다. 재생될 콘텐츠의 추천 또는 추천 콘텐츠의 재생 큐는 또한 사용자로 하여금 재생될 콘텐츠를 선택하도록 허용하기 위해 사용자 인터페이스를 통해 사용자에게 표시될 수 있다.
또 다른 실시예에서, 해석 엔진은 또한 추천 콘텐츠를 결정하고 및 추천 콘텐츠의 재생 큐를 발생하기 위해 정황 정보를 이용할 수 있다. 예를 들어, 해석 엔진은 정황 정보로부터 사용자가 달리고 있는지, 사용자가 체육관에 있는지를 결정할 수 있고, 시각은 이것이 아침이라는 것을 나타낸다. 이런 정황 정보를 이용하여, 해석 엔진은 그의 "운동 믹스" 재생 목록 중에서 사용자가 가장 빈번하게 재생한 곡이 추천 콘텐츠라고 결정한다. 또한, 해석 엔진은 "운동 믹스" 재생 목록을 추천 콘텐츠의 재생 큐로서 제공할 수 있다.
도 3은 몇몇 실시예들에 따라 휴대용 컴퓨팅 디바이스일 수 있는 디바이스를 도해하는 블록도이다. 디바이스(300)는 일반적으로 컴퓨터 판독가능 매체(302), 처리 시스템(304), 입/출력(I/O) 서브시스템(306), 무선 회로(308), 및 스피커(350)와 마이크로폰(352)을 포함하는 오디오 회로(310)를 포함한다. 이러한 컴포넌트들은 하나 이상의 통신 버스들 또는 신호 라인들(303)에 의해 결합될 수 있다. 디바이스(300)는, 핸드헬드 컴퓨터, 태블릿 컴퓨터, 모바일 폰, 랩톱 컴퓨터, 태블릿 디바이스, 미디어 플레이어, 개인용 정보 단말기(PDA), 키 폽(key fob), 자동차 키, 접근 카드, 다중 기능 디바이스, 휴대용 게임 디바이스, 또는 그와 유사한 것을 포함하고, 또한 이들 아이템들 중 둘 이상의 조합을 포함하는 임의의 휴대용 전자 디바이스일 수 있다.
도 3에 도시된 아키텍처가 디바이스(300)의 아키텍처 일례에 불과하다는 것과 디바이스(300)가 도시된 것보다 더 많은 또는 더 적은 수의 컴포넌트들 또는 상이한 구성의 컴포넌트들을 가질 수 있다는 것이 명백할 것이다. 도 3에 도시된 다양한 컴포넌트들은, 하나 이상의 신호 처리 및/또는 주문형 집적 회로를 포함하여, 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어 양자의 조합으로 구현될 수 있다.
무선 회로(308)는 무선 링크 또는 네트워크를 통해 안테나 시스템, RF 송수신기, 하나 이상의 증폭기들, 튜너, 하나 이상의 발진기들, 디지털 신호 처리기, CODEC 칩셋, 메모리와 같은 하나 이상의 다른 디바이스들의 통상적 회로에게 정보를 송신하고 수신하는 데에 이용된다. 무선 회로(308)는 예를 들어 본 명세서에서 기술되는 대로 다양한 프로토콜들을 이용할 수 있다.
무선 회로(308)는 주변 디바이스 인터페이스(316)를 통해 처리 시스템(304)에 결합된다. 인터페이스(316)는 주변 디바이스들과 처리 시스템(304) 간의 통신을 확립하고 유지하기 위한 통상의 컴포넌트들을 포함할 수 있다. (예를 들어, 음성인식, 또는 음성 명령 애플리케이션에서) 무선 회로(308)에 의해 수신되는 음성과 데이터 정보는 주변 디바이스 인터페이스(316)를 통해 하나 이상의 프로세서들(318)에게 보내진다. 하나 이상의 프로세서들(318)은 매체(302)상에 저장되는 하나 이상의 애플리케이션 프로그램들(334)을 위해 다양한 데이터 포맷들을 처리하도록 구성가능하다.
주변 디바이스 인터페이스(316)는 프로세서(318) 및 컴퓨터 판독가능 매체(302)에게 디바이스의 입력 및 출력 주변 디바이스들을 결합한다. 하나 이상의 프로세서들(318)은 컨트롤러(320)를 통해 컴퓨터 판독가능 매체(302)와 통신한다. 컴퓨터 판독가능 매체(302)는 하나 이상의 프로세서들(318)가 사용하기 위한 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있다. 매체(302)는 캐시, 주 메모리 및 보조 메모리를 포함하는 메모리 계층 구조를 포함할 수 있다.
디바이스(300)는 또한 다양한 하드웨어 컴포넌트들에 전력을 공급하기 위한 전력 시스템(342)을 포함한다. 전력 시스템(342)은 전력 관리 시스템, 하나 이상의 전원들[예를 들어, 배터리, 교류(AC), 재충전 시스템, 전원 장애 검출 회로, 전력 컨버터 또는 인버터, 전력 상태 표시자(예를 들어, LED(light emitting diode)] 및 휴대용 디바이스들에서의 전력의 발생, 관리, 및 분배와 전형적으로 연관되는 임의의 다른 컴포넌트들을 포함할 수 있다.
몇몇 실시예들에서, 디바이스(300)는 카메라(344)를 포함한다. 몇몇 실시예들에서, 디바이스(300)는 센서(346)를 포함한다. 센서들은 가속도계들, 나침반, 자이로미터, 압력 센서들, 오디오 센서들, 광 센서들, 기압계들, 및 그와 유사한 것을 포함할 수 있다. 센서들(346)은 로케이션의 청각적 또는 광 시그니처들과 같은 로케이션 양상들을 감지하는 데에 이용될 수 있다.
몇몇 실시예들에서, 디바이스(300)는 때때로 GPS 유닛(348)으로서 지칭되는 GPS 수신기를 포함할 수 있다. 모바일 디바이스는 위치 정보, 타이밍 정보, 고도, 또는 다른 항법 정보를 획득하기 위해 GPS(Global Positioning System)와 같은 위성 항법 시스템을 이용할 수 있다. 동작 동안, GPS 유닛은 지구 궤도를 도는 GPS 위성들로부터 신호들을 수신할 수 있다. GPS 유닛은 신호들을 분석하여 통과 시간(transit time)과 거리를 추정한다. GPS 유닛은 모바일 디바이스의 현재 위치(현재 로케이션)를 결정할 수 있다. 이러한 추정들에 기초하여, 모바일 디바이스는 로케이션 확정, 고도, 및/또는 현재 속력을 결정할 수 있다. 로케이션 확정은 위도 및 경도 정보와 같은 지리적 좌표들일 수 있다.
하나 이상의 프로세서들(318)은 디바이스(300)에 대한 다양한 기능들을 수행하기 위해 매체(302)에 저장되는 다양한 소프트웨어 컴포넌트들을 실행한다. 몇몇 실시예들에서, 소프트웨어 컴포넌트들은 운영 체제(322), 통신 모듈(또는 명령어의 세트)(324), 로케이션 모듈(또는 명령어들의 세트)(326), 오디오 재생 애플리케이션 선택 모듈(328), 및 자동차 로케이터 앱 및 내비게이션 앱과 같은 다른 애플리케이션들(또는 명령어들의 세트)(334)을 포함한다.
운영 체제(322)는 iOS, Mac OS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, 또는 VxWorks와 같은 내장형 운영 체제를 포함하는, 임의의 적절한 운영 체제일 수 있다. 운영 체제는 다양한 프로시저들, 명령어들의 세트들, 소프트웨어 컴포넌트들, 및/또는 일반적 시스템 작업들(예를 들어, 메모리 관리, 스토리지 디바이스 제어, 전력 관리 등)을 제어하고 관리하기 위한 드라이버들을 포함할 수 있고, 다양한 하드웨어와 소프트웨어 컴포넌트들 간의 통신을 용이하게 한다.
통신 모듈(324)은 하나 이상의 외부 포트들(336)을 통해 또는 무선 회로(308)를 통해 다른 디바이스들과의 통신을 용이하게 하고, 무선 회로(308) 및/또는 외부 포트(336)로부터 수신되는 데이터를 핸들링하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 외부 포트(336)(예를 들어, USB, 파이어와이어, 라이트닝 커넥터(Lightning connector), 60-핀 커넥터, 기타 등등)는 직접적으로 기타 디바이스들에 또는 간접적으로 네트워크(예를 들어, 인터넷, 무선 LAN, 기타 등등)을 통해 결합하기 위해 구성된다.
로케이션/모션 모듈(326)은 디바이스(300)의 현재 위치(예를 들어, 좌표들 또는 다른 지리적 로케이션 식별자) 및 모션을 결정하는 것을 조력할 수 있다. 최근의 위치 파악 시스템들은 GPS와 같은 위성 기반 위치 파악 시스템, "셀 ID들"에 기초한 셀 방식 네트워크 위치 파악, 및 Wi-Fi 네트워크들에 기초한 Wi-Fi 위치 파악 기술을 포함한다. GPS는 또한, 실내에서 또는 "도심 협곡(urban canyon)"에서 가시적이지 않을 수 있는(또는 약한 신호들을 갖는) 위치 추정을 결정하기 위해 다중 위성의 가시성에게 의존한다. 몇몇 실시예들에서, 로케이션/모션 모듈(326)은 GPS 디바이스(348)로부터 데이터를 수신하고, 모바일 디바이스의 현재 위치를 결정하기 위해 신호들을 분석한다. 몇몇 실시예들에서, 로케이션/모션 모듈(72326)은 Wi-Fi 또는 셀 방식 로케이션 기술을 이용하여 현재 장소를 결정할 수 있다. 예를 들어, 모바일 디바이스의 로케이션은 근처의 셀 사이트들 및/또는 Wi-Fi 액세스 포인트(AP)에 대한 지식과 함께 또한 이들의 로케이션들의 지식을 이용하여 추정될 수 있다. Wi-Fi 또는 셀 방식 송신기를 식별하는 정보는 무선 회로(308)에서 수신되고, 로케이션/모션 모듈(326)에게 넘겨진다. 몇몇 실시예들에서, 로케이션 모듈은 하나 이상의 송신기 ID들을 수신한다. 몇몇 실시예들에서, 송신기 ID들의 시퀀스는, 송신기 ID들을 대응하는 송신기들의 위치 좌표들에 매핑하거나 상관시키고 또한 대응하는 송신기들의 위치 좌표들에 기초하여 디바이스(300)에 대한 추정 위치 좌표들을 계산하는 참조 데이터베이스(예를 들어, 셀 ID 데이터베이스, Wi-Fi 참조 데이터베이스)와 비교될 수 있다. 사용된 특정 로케이션 기술과 상관 없이, 로케이션/모션 모듈(326)은 로케이션 확정이 그로부터 도출될 수 있는 정보를 수신하고, 해당 정보를 해석하고, 지리적 좌표들, 위도/경도, 또는 다른 로케이션 확정 데이터와 같은 로케이션 정보를 반환한다.
오디오 재생 애플리케이션 선택 모듈(328)은, 디바이스(300)가 오디오 출력 시스템(도시 생략)에 연결될 때 오디오 재생의 시작을 지능적으로 시그널링하기 위해 실시예들 중 하나 이상에 대해 상기 논의된 동작들 또는 처리들 중 임의의 것을 수행할 수 있다.
모바일 디바이스상의 하나 이상의 애플리케이션들(334)은, 제한적이지 않게 브라우저, 주소록, 연락처 목록, 이메일, 인스턴트 메시징, 워드 프로세싱, 키보드 에뮬레이션, 위젯들, 자바 지원 애플리케이션들, 암호화, 디지털 저작권 관리, 음성 인식, 음성 복제, 뮤직 플레이어(이것은 MP3 또는 AAC 파일들과 같은 하나 이상의 파일들에 저장된 기록 뮤직을 재생함), 기타 등등을 포함하여, 디바이스(300)상에 설치되는 임의의 애플리케이션들을 포함할 수 있다.
그래픽스 모듈, 시간 모듈, 기타 등등과 같은, 다른 모듈들 또는 명령어들의 세트들(도시 생략)이 있을 수 있다. 예를 들어, 그래픽스 모듈은 디스플레이 표면상에 그래픽 오브젝트들(제한적이지 않게 텍스트, 웹 페이지들, 아이콘들, 디지털 이미지들, 애니메이션들, 및 그와 유사한 것을 포함함)을 렌더링하고, 애니메이션 처리하고 및 표시하기 위한 다양한 통상의 소프트웨어 컴포넌트들을 포함할 수 있다. 또 다른 예에서, 타이머 모듈은 소프트웨어 타이머일 수 있다. 타이머 모듈은 또한 하드웨어에서 구현일 수 있다. 타이머 모듈은 임의 횟수의 이벤트들을 위한 다양한 타이머들을 유지할 수 있다.
I/O 서브시스템(306)은 터치 감지(즉, 터치스크린) 디스플레이일 수 있는 디스플레이 시스템(도시 생략)에 결합될 수 있다. 디스플레이는 GUI로 사용자에게 시각적 출력을 표시한다. 시각적 출력은 텍스트, 그래픽스, 비디오, 및 이들의 임의의 조합을 포함할 수 있다. 시각적 출력의 일부 또는 그 전부는 사용자 인터페이스 오브젝트들에 대응할 수 있다. 기타 실시예들에서는 다른 디스플레이 기술들이 이용될 수 있기는 하지만, 디스플레이는 LED (light emitting diode), LCD (liquid crystal display) 기술, 또는 LPD (light emitting polymer display) 기술을 이용할 수 있다. .
몇몇 실시예들에서, I/O 서브시스템(306)은 키보드, 마우스, 및/또는 트랙 패드와 같은 디스플레이 및 사용자 입력 디바이스들을 포함할 수 있다. 몇몇 실시예들에서, I/O 서브시스템(306)은 터치 감지 디스플레이를 포함할 수 있다. 터치 감지 디스플레이는 또한 햅틱(haptic) 및/또는 촉각(tactile) 접촉에 기초한 사용자로부터의 입력을 수신할 수 있다. 몇몇 실시예들에서, 터치 감지 디스플레이는 사용자 입력을 수용하는 터치 감지 표면을 형성한다. 터치 감지 디스플레이/표면은[매체(302)에서의 임의의 연관된 모듈들 및/또는 명령어들의 세트와 함께] 터치 감지 디스플레이상의 접촉(및 접촉의 임의의 이동 또는 해제)을 검출하고, 이 검출된 접촉을, 접촉이 일어날 때 터치 스크린상에 표시되는 하나 이상의 소프트 키들과 같은 사용자 인터페이스 오브젝트들과의 상호작용으로 변환한다. 예시적 실시예들에서, 터치 감지 디스플레이와 사용자 간의 접촉 지점은 사용자의 하나 이상의 손가락(digit)에 대응한다. 사용자는 스타일러스, 펜, 손가락 등의 임의의 적절한 오브젝트 또는 부속물을 사용하여 터치 감지 디스플레이와 접촉할 수 있다. 터치 감지 디스플레이 표면은, 용량성, 저항성, 적외선, 및 표면탄성파(surface acoustic wave) 기술은 물론이고 터치 감지 디스플레이와의 하나 이상의 접촉 지점들을 판정하는 기타 근접 센서 어레이들 또는 기타 요소들을 포함하는 임의의 적합한 터치 감도 기술들을 사용하여 접촉 및 접촉의 움직임 또는 해제를 검출할 수 있다.
추가로, I/O 서브시스템은 전력 제어, 스피커 볼륨 제어, 링 톤 크기(ring tone loudness), 키보드 입력, 스크롤링, 홀드(hold), 메뉴, 화면 잠금, 클리어링(clearing)과 종료 통신 및 그와 유사한 것과 같은 다양한 기능들을 제어하거나 수행하기 위해, 푸시버튼들, 키들, 스위치들, 록커 버튼들(rocker buttons), 다이얼들, 슬라이더 스위치들, 스틱들, LED들, 기타 등등과 같은 하나 이상이 기타 물리적 제어 디바이스들(도시 안됨)에 결합될 수 있다. 몇몇 실시예들에서, 터치 스크린 외에도, 디바이스(300)는 특정 기능을 활성화 또는 비활성화하기 위한 터치패드(도시 안됨)를 포함할 수도 있다. 몇몇 실시예들에서, 터치패드는, 터치스크린과는 달리 가시적 출력을 표시하지 않는 디바이스의 터치 감지 지역이다. 터치패드는 터치 감지 디스플레이와 별개인 터치 감지 표면이거나 터치 감지 디스플레이에 의해 형성되는 터치 감지 표면의 연장부일 수 있다.
몇몇 실시예들에서, 본 명세서에서 기술되는 동작들 중 일부 또는 전부는 사용자의 디바이스상에서 실행되는 애플리케이션을 이용하여 수행될 수 있다. 회로들, 논리 모듈들, 프로세서들, 및/또는 다른 컴포넌트들은 본 명세서에서 기술되는 다양한 동작들을 수행하도록 구성될 수 있다. 통상의 기술자들은, 구현에 의존하여 그러한 구성이 특정 컴포넌트들의 설계, 셋업, 상호접속, 및/또는 프로그래밍을 통하여 달성될 수 있으며 또한 다시금 구현에 의존하여 구성된 컴포넌트가 상이한 동작에 대해 재구성 가능하거나 재구성 가능하지 않을 수 있다는 것을 알 것이다. 예를 들어, 프로그래머블 프로세서는 적절한 실행가능 코드를 제공함으로써 구성될 수 있고; 전용 논리 회로가 논리 게이트들 및 다른 회로 요소들을 적절하게 접속함으로써 구성될 수 있고; 등등과 같이 된다.
본 출원에 기술되는 임의의 소프트웨어 컴포넌트들 또는 기능들은 프로세서에 의해 실행될 소프트웨어 코드로서 구현될 수 있는데, 여기서 소프트웨어 코드는, 예를 들어 자바, C, C++, C#, 오브젝티브-C, 스위프트, 또는 예를 들어 통상적 또는 객체 지향 기술들을 이용하는 펄(Perl) 또는 파이썬(Python)과 같은 스크립트 언어와 같은 임의의 적절한 컴퓨터 언어로 될 수 있다. 소프트웨어 코드는 스토리지 및/또는 전송을 위해 컴퓨터 판독가능 매체상에 일련의 명령어들 또는 명령들로서 저장될 수 있다. 적절한 비일시적 컴퓨터 판독가능 매체는 RAM(random access memory), ROM(read only memory), 하드 드라이브 또는 플로피 디스크와 같은 자성 매체, 또는 CD(compact disk) 또는 DVD (digital versatile disk)와 같은 광 매체, 플래시 메모리 및 그와 유사한 것과 같은 것을 포함할 수 있다. 컴퓨터 판독가능 매체는 이러한 스토리지 또는 전송 디바이스들의 임의의 조합일 수 있다.
실시예는 머신 판독가능 스토리지 매체가 하나 이상의 데이터 처리 컴포넌트들(일반적으로 여기서 "프로세서"로서 지칭됨)을 프로그래밍하여 위에서 기술된 동작들을 수행하도록 하기 위한 명령어들을 그 상에 저장한 제조 물품일 수 있다. 컴퓨터 판독 가능 스토리지 매체들의 예들로는 판독 전용 메모리, 랜덤 액세스 메모리, CD-ROM들, DVD들, 자기 테이프, 광학적 데이터 스토리지 디바이스, 및 캐리어 파들을 포함한다. 머신 판독가능 스토리지 매체는 또한 소프트웨어 명령어들이 분산 방식으로 저장되고 실행되도록 네트워크에 걸쳐서 분산될 수 있다. 기타 실시예들에서, 이들 동작들 중 일부는 하드와이어드 로직을 포함하는 특정 하드웨어 컴포넌트들에 의해 수행될 수도 있다. 대안으로서, 이들 동작들은 프로그래밍된 데이터 처리 컴포넌트들과 고정 하드와이어드 회로 컴포넌트들의 임의 조합에 의해 수행될 수도 있다.
도 4는 몇몇 실시예들에 따라, 휴대용 컴퓨팅 디바이스에서, 오디오 출력 시스템과 이루어지는 연결에 대한 이용가능한 오디오 재생을 도해한다. 도면에 도시된 바와 같이, 휴대용 컴퓨팅 디바이스(300)는 오디오 출력 시스템(400)에 (예로, 유선 연결 또는 무선 연결을 통해) 연결된다. 휴대용 컴퓨팅 디바이스(300)는 다중 오디오 재생 애플리케이션들(410A-Z)을 저장한다. 휴대용 컴퓨팅 디바이스(300)에서의 컨트롤러/실렉터 컴포넌트(420)는, 휴대용 컴퓨팅 디바이스(300)가 오디오 출력 시스템(400)에 연결될 때 (예로, 오디오 재생 애플리케이션들(410A-Z) 중에서) 어느 오디오 재생 애플리케이션을 호출할지를 지능적으로 선택하기 위해 하나 이상의 실시예들에 대해 위에서 기술된 동작들과 처리들을 구현할 수 있다. 일단 결정이 내려졌다면, 휴대용 컴퓨팅 디바이스(300)는 오디오 출력 시스템(400)에게 오디오 출력 시스템(400)과 이루어진 연결을 통하여 선택된 오디오 재생 애플리케이션(410)으로부터 재생을 시작하도록 시그널링한다.
소정 실시예들이 첨부 도면들에 설명되고 도시되었지만, 다양한 다른 수정들이 통상의 기술자에게 일어날 수 있기 때문에, 이런 실시예들은 발명 범위를 단지 예시하는 것일 뿐이고 제한하는 것이 아니며, 본 발명은 도시되고 설명된 특정 구성들 및 배열로만 제한되지 않는다는 것을 이해해야 한다.
-부록 A-
특허 출원
검출된 트리거링 이벤트들에 기초한 애플리케이션 추천
발명자들:
제이슨 제이. 가우치, 미합중국 국적, 캘리포니아 쿠퍼티노에 거주
루카스 엠. 마르티, 스위스 국적, 캘리포니아 산 호세에 거주
효정 신. 대한민국 국적, 캘리포니아 산타클라라에 거주
데이비드 알. 스티테스, 미합중국 국적, 캘리포니아 산 호세에 거주
리비우, 티. 포페스쿠, 루마니아 국적, 캘리포니아 서니베일에 거주
릴리 가오, 중국 인민 공화국 국적, 캘리포니아 서니베일에 거주
양수인: 애플사.
1 인피니티 루프
쿠퍼티노, 캘리포니아 95014 미합중국
엔티티: 큼
[발명의 명칭]
검출된 트리거링 이벤트들에 기초한 애플리케이션 추천{APPLICATION RECOMMENDATION BASED ON DETECTED TRIGGERING EVENTS}
[기술분야]
[배경기술]
[관련 출원들에 대한 상호 참조들]
본 출원은 가우치(Gauci) 등에 의해 출원되고 발명의 제목이 "디바이스상의 이벤트에 응답하여 애플리케이션들을 제안하기 위해 사용자 패턴들을 학습하기 위한 세그먼테이션 기법들(Segmentation Techniques for Learning User Patterns to Suggest Applications Responsive to an Event on a Device)"인 공유 미국 특허 출원 (대리인 문서 번호(909)11-P26712US1-939087)에 관련되는데, 이것의 개시 내용은 모든 목적을 위해 그 전체가 참조에 의해 통합된다.
[배경]
작금의 모바일 디바이스들(예를 들면, 스마트폰들)은 많은 애플리케이션들을 포함할 수 있다. 각각의 애플리케이션은 하나 이상의 특정 기능들을 수행하기 위해 설계될 수 있다. 예를 들어, 한 애플리케이션은 뮤직 또는 비디오를 재생하기 위해 설계될 수 있다. 작금의 모바일 디바이스들이 오늘날의 일상 생활과 더욱 통합됨에 따라, 모바일 디바이스들상에 저장되는 애플리케이션들의 수는 증가한다. 오늘날의 모바일 폰들이 수 백개의 애플리케이션들을 갖는 것은 드물지 않다. 수많은 애플리케이션들을 갖는 것은 모바일 디바이스로 하여금 사용자에 특정적으로 유용하게 되도록 허용할 수 있다; 그러나, 사용자가 모든 이용가능한 애플리케이션들 중에서 바라는 애플리케이션을 찾아내고 실행하는 것은 어렵고 시간 소모적일 수 있다.
[간단한 요약]
실시예들은 트리거링 이벤트에 기초하여 애플리케이션을 추천하기 위한 향상된 디바이스와 방법을 제공한다. 예를 들어, 소정 이벤트들은 디바이스에 의해 검출되고 트리거링 이벤트로서 식별될 수 있다. 상이한 트리거링 이벤트들이 상이한 예측 모델을 가질 수 있는데, 이는 더 정확한 추천들을 허용할 수 있다. 선택된 예측 모델은 더 쉬운 접근을 위해, 예를 들어 잠금 화면상에서 접근을 허용하도록 사용자에게 제시하기 위한 애플리케이션을 식별하기 위해 정황 정보(예를 들면, 이벤트가 검출되기 전 후에 모아짐)를 이용할 수 있다.
몇몇 실시예들에서, 하나 이상의 입력 디바이스들은 트리거링 이벤트에 대해 모니터링된다. 트리거링 이벤트가 검출될 때, 정황 정보는 하나 이상의 소스들(예를 들면, 정황 정보를 이미 취득한 디바이스의 또 다른 애플리케이션)로부터 수집될 수 있다. 정황 정보는 로케이션 또는 시각과 같은 트리거링 이벤트의 발생에서의 또는 그 근처에서의 디바이스의 정황과 관련될 수 있다. 일단 정황 정보가 수신되면, 이력 정보가 이후 이력 이벤트 데이터베이스로부터 수집될 수 있다. 데이터베이스는 사용자와 디바이스 간의 이력 상호작용의 기록을 유지할 수 있다. 트리거링 이벤트에 비추어 보아, 정황 정보와 이력 정보는 사용자를 위한 하나 이상의 애플리케이션들의 세트를 식별하기 위해 활용될 수 있다. 식별된 애플리케이션은, 어떻게, 언제, 또는 어디서 식별된 애플리케이션이 정상적으로 접근되는 (예를 들면, 홈 화면상에서 그런) 것과는 상이한 방식으로 이후 사용자 인터페이스를 제공함으로써 사용자에게 제시될 수 있고, 그에 의해 사용자에게 바란다면 애플리케이션을 실행하기 위한 옵션을 부여하게 된다.
기타 실시예들은 시스템들, 휴대용 소비자 기기들, 및 본 명세서에 기술된 방법들과 연관되는 컴퓨터 판독가능 매체에 관한 것이다.
본 발명의 실시예들의 특징과 이점에 대한 더 나은 이해가 하기 상세한 설명과 첨부 도면을 참조해 획득될 것이다.
[도면의 간단한 설명]
도 1은 본 발명의 실시예들에 따라 트리거링 이벤트에 기초하여 애플리케이션을 식별하기 위한 방법의 흐름도이다.
도 2는 본 발명의 실시예들에 따라 트리거링 이벤트를 결정하기 위한 시스템의 블록도를 보여준다.
도 3은 본 발명의 실시예들에 따라 트리거링 이벤트에 기초하여 사용자를 위한 애플리케이션을 식별하기 위한 시스템의 블록도를 보여준다.
도 4는 본 발명의 실시예들에 따라 다중 예측 모델로 애플리케이션을 식별하기 위한 시스템의 블록도를 보여준다.
도 5는 본 발명의 실시예들에 따라 디바이스로 트리거링 이벤트에 기초하여 애플리케이션을 식별하는 방법의 흐름도이다.
도 6은 본 발명의 실시예들에 따라 뮤직 애플리케이션을 위한 사용자 인터페이스를 갖는 디바이스의 단순화된 다이어그램이다.
도 7a 및 도 7b는 본 발명의 실시예들에 따라 식별된 애플리케이션을 사용자 인터페이스에서 제거하기 위한 방법들의 흐름도들이다.
도 8은 본 발명의 실시예들에 따른 예시적 디바이스의 블록도이다.
용어들(Terms).
"사용자 인터페이스"는 사용자가 디바이스와 상호 작용하기 위한 임의의 인터페이스에 대응한다. 애플리케이션을 위한 사용자 인터페이스는 사용자가 애플리케이션과 상호 작용하게 허용한다. 사용자 인터페이스는 애플리케이션이 실행하고 있을 때의 애플리케이션의 인터페이스일 수도 있다. 또 다른 예로서, 사용자 인터페이스는 사용자가 그로부터 선택하기 위한 감소된 세트의 애플리케이션들을 제공하는 시스템 인터페이스일 수 있고, 그에 의해 사용자가 애플리케이션을 이용하는 것을 더 쉽게 만든다.
"홈 화면"은 디바이스가 첫째로 켜질 때 등장하는 디바이스의 화면이다. 모바일 디바이스에 대해, 홈 화면은 디바이스상에서 실행도리 수 있는 다양한 애플리케이션들에 대응하는 아이콘들의 어레이를 종종 보여준다. 추가적 화면들이 홈 화면에 등장하지 않은 다른 애플리케이션들을 브라우징하기 위해 접근될 수 있다.
"잠금 화면"은 사용자가 인증되지 않았고, 그러므로 디바이스가 대부분의 사용에 대해 잠길 때 보여지는 화면이다. 일부 기능성, 예를 들어 카메라가 노출될 수 있다. 몇몇 실시예들에서, 제안된 애플리케이션에 대응하는 사용자 인터페이스가 잠금 화면상에 노출되면, 이후 제안된 애플리케이션과 연관되는 일부 기능성이 취득될 수 있다. 예를 들어, 애플리케이션이 실행될 수도 있다. 기능성은, 애플리케이션이 잠금 화면으로부터 실행되면 제한될 수 있고, 제한된 기능성은 사용자가 인증될 때 확장될 수 있다.
"정황 정보"는 디바이스의 정황을 정의하는데 사용될 수 있는 임의의 데이터를 집합적으로 지칭한다. 주어진 정황에 대한 정황 정보는 하나 이상의 정황 데이터를 포함할 수 있는데, 각각이 디바이스의 다양한 속성에 대응한다. 잠재적 속성들은 시간 카테고리 또는 로케이션 카테고리와 같은 상이한 범주들에 속할 수 있다. 정황 데이터가 모델(또는 서브 모델)의 특징으로서 이용될 때, 모델을 훈련하는데 사용되는 데이터는 동일 범주의 상이한 속성들을 포함할 수 있다. 특정 정황은 디바이스의 속성들의 특정 조합, 또는 그냥 하나의 속성에 대응할 수 있다.
[발명을 실시하기 위한 구체적인 내용]
현행의 모바일 디바이스들은 자신의 SSD상에 저장되는 많은 애플리케이션들을 가질 수 있다. 몇몇 경우들에서, 모바일 디바이스들은 자신의 SSD상에 저장되는 수백 개의 애플리케이션들을 가질 수 있다. 사용자가 그의 모바일 디바이스상에서 애플리케이션을 실행하기를 원할 때, 그는 디바이스를 잠금 해제해야만 하고, 요망 애플리케이션을 식별하기 위해 디바이스에서의 모든 애플리케이션들을 통해 검색해야 하고, 이후 애플리케이션의 실행을 개시해야 한다. 요망 애플리케이션을 찾아내기 위한 처리를 진행하는 것은, 특히 다른 것들보다 더 자주 반복적으로 이용되는 애플리케이션들에 대해 과도하게 시간 소모적이고 중복적일 수 있다.
사용자는 특정 조건이 만족될 때(예로, 트리거링 이벤트가 일어날 때) 미리 결정된 애플리케이션의 특정된 작용을 자동적으로 수행하기 위해 디바이스를 사전 프로그래밍할 수도 있다. 예를 들어, 디바이스는 트리거링 이벤트가 일어날 때 미리 결정된 애플리케이션을 제안하도록 사전 프로그래밍될 수 있다. 그러나, 그러한 동작은 정적이고, 사용자에 의한 구성을 필요로 한다.
미리 결정된 애플리케이션을 자동적으로 제안하는 것 대신에, 본 발명의 실시예들은 트리거링 이벤트가 일어날 때 사용자에 의해 실행될 가능성이 있는 주어진 정황에서의 애플리케이션을 제안하기 위해 예측 모델을 활용할 수 있다. 상이한 애플리케이션들은 동일 트리거링 이벤트들에 대한 상이한 정황들에 대해 식별될 수 있다. 예로서, 어느 한 애플리케이션이 제1 정황에서 제안될 수 있지만, 또 다른 애플리케이션이 제2 정황에서 제안될 수 있다.
사용자가 이용할 가능성이 있는 애플리케이션을 식별하는 것은 여러 가지 유용성을 갖는다. 사용자 인터페이스는 시의 적절한 방식으로 또는 시의 적절한 화면에서 사용자에게 제공될 수 있는데, 이는 시간을 절약하고 디바이스 동작을 능률화할 수 있다. 사용자는 이용할 애플리케이션을 식별하기 위해 수많은 애플리케이션을 통해 검색할 필요가 없다. 애플리케이션의 사용자 인터페이스는 다양한 방식들로 제공될 수 있는데, 이는 사용자가 애플리케이션을 이용할 확률이 얼마나 높은지에 좌우될 것이다. 또한, 예측 모델은 특정 행동이 수행될 높은 확률을 갖는다면 특정 사용자 인터페이스를 제공할 수 있다. 그러므로, 몇몇 실시예들에서, 사용 확률이 더 높을수록, 애플리케이션을 열기 위한 더 쉬운 메커니즘을 그냥 제공하는 것과는 대조적으로, 애플리케이션을 대응 사용자 인터페이스(예를 들면, 시각적이거나 음성 명령)로 자동적으로 여는 것과 같은 더 공격적 행동이 취해질 수 있다.
I. 애플리케이션 예측
실시예들은 트리거링 이벤트에 기초하여 애플리케이션을 제안할 수 있다. 예를 들어, 뮤직 애플리케이션은 헤드폰들이 헤드폰 잭에 삽입될 때 제안될 수 있다. 몇몇 실시예들에서, 정황 정보는 사용자에 제안하기 위한 애플리케이션을 식별하기 위해 트리거링 이벤트와 연계하여 사용될 수 있다. 예로서, 헤드폰들의 세트가 헤드폰 잭에 삽입될 때, 로케이션과 관련한 정황 정보가 이용될 수 있다. 디바이스가 체육관에 있다면, 예를 들어, 애플리케이션 A가 헤드폰들이 헤드폰 잭에 삽입될 때 제안될 수 있다. 대안적으로, 디바이스가 집에 있다면, 애플리케이션 B가 헤드폰들이 헤드폰 잭에 삽입될 때 제안될 수 있다. 그에 따라서, 소정 정황들 하에서 이용될 가능성이 있는 애플리케이션들은 시의 적절한 시간에 제안될 수 있고, 따라서 사용자 경험을 개선한다.
도 1은 본 발명의 실시예들에 따라 트리거링 이벤트에 기초하여 애플리케이션을 제안하기 위한 방법(100)의 흐름도이다. 방법(100)은 모바일 디바이스(예를 들면, 전화기, 태블릿) 또는 비 모바일 디바이스에 의해 실행되고 디바이스의 하나 이상의 입력 인터페이스들을 활용할 수 있다.
블록 102에서, 트리거링 이벤트가 검출된다. 디바이스에서 일어날 수 있는 모든 이벤트들이 트리거링 이벤트들이지는 않다. 트리거링 이벤트는 디바이스의 고유한 동작과 충분하게 상관될 가능성이 있는 것으로서 식별될 수 있다. 트리거링 이벤트들인 이벤트의 리스트는 디바이스상에 저장될 수 있다. 그와 같은 이벤트들은 디폴트 리스트일 수 있고 운영 체제의 일부로서 유지될 수 있고, 사용자에 의해 구성가능하거나 그렇지 않을 수 있다.
트리거링 이벤트는 사용자 및/또는 외부 디바이스에 의해 유발되는 이벤트일 수 있다. 예를 들어, 트리거링 이벤트는 액세서리 디바이스가 모바일 디바이스에 연결될 때의 것일 수 있다. 예들은 헤드폰들을 헤드폰 잭 내에 삽입하고, 블루투스 연결을 이루고, 및 그와 유사한 것을 포함한다. 이 예에서, 이것들 중 각각의 것은 상이한 트리거링 이벤트로서 분류될 수 있거나, 또는 트리거링 이벤트는 집합적으로 모바일 디바이스에 연결되는 임의의 액세서리 디바이스일 수 있다. 다른 예들로서, 트리거링 이벤트는 디바이스와의 사용자의 특정 상호작용일 수 있다. 예를 들어, 사용자는 실행과 일관된 방식으로 모바일 디바이스를 이동시킬 수 있는데, 여기서 디바이스의 실행 상태는 트리거링 이벤트이다. 그러한 실행 상태(또는 다른 상태들)는 디바이스의 센서들에 기초하여 결정될 수 있다.
블록 104에서, 트리거링 이벤트와 연관되는 애플리케이션이 식별된다. 예로서, 뮤직 애플리케이션은 헤드폰들이 헤드폰 잭에 삽입될 때 식별될 수 있다. 몇몇 실시예들에서, 두 개 이상의 애플리케이션이 식별될 수 있다. 예측 모델은 연관된 애플리케이션을 식별할 수 있는데, 여기서 예측 모델은 특정 트리거링 이벤트에 대해 선택될 수 있다. 예측 모델은, 예를 들면, 상이한 애플리케이션들이 상이한 정황들에서 사용될 가능성이 더 클 수 있음에 따라, 애플리케이션을 식별하기 위해 정황 정보를 이용할 수 있다. 몇몇 실시예들은, 예를 들면, 디바이스와의 사용자의 이력 상호작용들로부터 결정된 대로, 사용자에 의해 선택될 충분한 확률이 있을 때만 애플리케이션들을 식별할 수 있다. 여러 가지 유형의 예측 모델들이 이용될 수 있다. 예측 모델의 예들은 신경망들, 판정 트리들, 다중 레이블 로지스틱 회귀, 및 이것들의 조합을 포함한다.
블록 106에서, 행동은 애플리케이션과 연관되어 실행된다. 실시예에서, 행동은 사용자가 애플리케이션을 실행하기 위해 선택하기 위한 사용자 인터페이스의 제공일 수 있다. 사용자 인터페이스는, 디바이스의 화면상에 표시하거나, 표면상으로 투영하거나, 또는 오디오 인터페이스를 제공하는 것과 같이 다양한 방식들로 제공될 수 있다.
기타 실시예들에서, 애플리케이션은 실행될 수 있고 애플리케이션에 특유한 사용자 인터페이스가 사용자에게 제공될 수 있다. 사용자 인터페이스들 중 어느 것이든 애플리케이션을 식별한 것에 응답하여, 예를 들어, 잠금 화면상에 제공될 수 있다. 다른 구현들에서, 애플리케이션과 상호 작용하기 위한 사용자 인터페이스는 (예를 들면, 패스워드 또는 생물 측정에 의해) 사용자가 인증된 후 제공될 수 있다. 사용자 인터페이스가 표시될 때, 그러한 사용자 인터페이스는 그냥 홈 화면보다 더 특정적일 것인데, 즉 홈 화면상에서 그런 것보다 실행하기 위한 더 작은 리스트의 제안된 애플리케이션이 있다. 사용자 인터페이스는 트리거링 이벤트가 검출된 후 디바이스의 디스플레이상에 즉시 표시될 수 있다. 기타 실시예들에서, 사용자 인터페이스는 사용자가 몇몇 입력(예를 들면, 하나 이상의 클릭 제스처들)을 제공한 후 표시될 수 있는데, 이것은 어떤 애플리케이션도 제안되지 않았다면 그런 것보다 더 적은 사용자 입력(예를 들면, 클릭들의 수)일 수 있다.
II. 예측을 개시시키는 이벤트들
트리거링 이벤트들은 사용자에 제공하기 위한 하나 이상의 애플리케이션의 식별을 트리거링하는 미리 결정된 이벤트들의 세트일 수 있다. 이벤트들은 디바이스 컴포넌트들에 의해 발생되는 신호들을 이용하여 검출될 수 있다. 어떻게 트리거링 이벤트가 검출되는지에 대한 추가적 상세 사항이 여기서 더욱 상세히 논의된다.
도 2는 본 발명의 실시예들에 따라 트리거링 이벤트를 결정하기 위한 검출 시스템(200)의 단순화된 블록도를 도해한다. 검출 시스템(200)은 트리거링 이벤트가 그에 대해 결정되고 있는 디바이스 내에 상주할 수 있다. 도면에 도시된 바와 같이, 검출 시스템(200)은 복수의 상이한 이벤트를 검출할 수 있다. 검출된 이벤트들 중 하나 이상은 검출 시스템(200)에 의해 트리거링 이벤트들인 것으로 결정될 수 있다. 다른 처리 모듈들이 이후 트리거링 이벤트를 이용하여 처리를 수행할 수 있다.
A. 이벤트들 검출
실시예들에서, 검출 시스템(200)은 이벤트들을 검출하기 위한 하드웨어 및 소프트웨어 컴포넌트들을 포함한다. 예로서, 검출 시스템(200)은 입력 디바이스들(202)과 같은 복수의 입력 디바이스를 포함할 수 있다. 입력 디바이스들(202)은 이벤트에 응답하여 신호를 발생할 수 있는 임의의 적절한 디바이스일 수 있다. 예를 들어, 입력 디바이스들(202)은, 제각기 디바이스 연결 이벤트들, 사용자 상호작용 이벤트들, 및 로케이션 이벤트들을 검출할 수 있는 디바이스 연결 입력 디바이스들(204), 사용자 상호작용 입력 디바이스들(206), 및 로케이션 입력 디바이스들(208)을 포함할 수 있다. 이벤트가 입력 디바이스에서 검출될 때, 입력 디바이스는 추가적 분석을 위해 특정 이벤트를 지시하는 신호를 보낼 수 있다.
몇몇 실시예들에서, 컴포넌트들의 모음은 단일 이벤트에 기여할 수 있다. 예를 들어, 사람이 모션 센서들과 GPS 로케이션 디바이스에 기초하여 실행하고 있는 것으로 검출될 수 있다.
1. 디바이스 연결 이벤트들
디바이스 연결 이벤트들은 기타 디바이스들이 디바이스에 연결될 때 발생하는 이벤트들일 수 있다. 예를 들어, 디바이스 연결 입력 디바이스(204)는 디바이스들이 통신가능하게 디바이스에 결합되는 이벤트들을 검출할 수 있다. 외부 디바이스에의 유선 또는 무선 연결을 형성하는 임의의 적절한 디바이스 컴포넌트는 디바이스 연결 입력 디바이스(204)로서 이용될 수 있다. 디바이스 연결 입력 디바이스(204)의 예들로는 무선 연결 회로(예를 들면, 블루투스, Wi-Fi, 및 그와 유사한 것) 또는 유선 연결 회로(예를 들면, 이더넷 및 그와 유사한 것)와 같은, 헤드폰 잭(210) 및 데이터 연결(212)을 포함한다.
헤드폰 잭(210)은 헤드폰들의 세트가 디바이스에 결합되는 것을 허용한다. 신호는, 예를 들어, 헤드폰 잭(210) 내로의 삽입 시에 전기적 연결을 생성함으로써 헤드폰들이 결합될 때 발생될 수 있다. 더 복합적 실시예들에서, 헤드폰 잭(210)은 디바이스에 일 유형의 헤드폰 잭을 식별하는 식별 신호를 제공하는 회로를 포함할 수 있다. 따라서 이벤트는 다양한 방식들로 검출될 수 있고, 신호는 발생되고 및/또는 다양한 방식들로 통신된다.
데이터 연결(212)은, 예를 들어, 무선 연결을 통하여 통신가능하게 외부 디바이스와 결합될 수 있다. 예를 들어, 블루투스 연결은 차량의 컴퓨터, 또는 무선 헤드셋의 컴퓨터에 결합될 수 있다. 그에 따라서, 외부 디바이스가 데이터 연결(212)을 통해 모바일 디바이스에 결합될 때, 외부 디바이스가 연결된다는 것이 결정될 수 있고, 대응하는 디바이스 연결 이벤트 신호가 발생될 수 있다.
2. 사용자 상호작용 이벤트들
사용자 상호작용 입력 디바이스들(206)은 사용자 상호작용 이벤트들을 검출하기 위해 활용될 수 있다. 사용자 상호작용 이벤트들은 사용자가 디바이스와 상호 작용할 때 발생할 수 있다. 몇몇 실시예들에서, 사용자는 사용자 상호작용 입력 디바이스들(206) 중 하나를 통하여 표시된 사용자 인터페이스를 직접적으로 활성화시킬 수 있다. 기타 실시예들에서, 사용자 인터페이스가 표시되지 않을 수 있지만, 사용자가 디바이스를 흔드는 것 또는 몇몇 다른 유형의 제스처를 제공하는 것을 통해서 여전히 사용자가 접근 가능할 수 있다. 또한, 상호작용은, 예를 들면, 상태 엔진이 디바이스의 센서들로부터 값들을 이용할 때, 사용자 인터페이스를 포함하지 않을 수 있다.
사용자 인터페이스의 임의의 적절한 디바이스 컴포넌트는 사용자 상호작용 입력 디바이스(206)로서 이용될 수 있다. 적절한 사용자 상호작용 입력 디바이스들의 예들로는 버튼(214)(예를 들면, 홈 또는 전원 버튼), 터치스크린(216), 및 가속도계(218)가다. 예를 들어, 홈 버튼, 전원 버튼, 볼륨 버튼, 및 그와 유사한 것과 같은 모바일 디바이스의 버튼(214)은 사용자 상호작용 입력 디바이스(204)일 수 있다. 게다가, 무음 모드 스위치와 같은 스위치가 사용자 상호작용 입력 디바이스(204)일 수 있다. 사용자가 디바이스와 상호 작용할 때, 사용자가 사용자 입력을 제공했다고 결정될 수 있고, 대응하는 사용자 상호작용 이벤트가 발생될 수 있다. 그러한 이벤트는, 예를 들면, 디바이스가 처음으로 아침(또는 다른 긴 비활성 기간)에 켜지거나 활성화될 때, 디바이스의 현재 상태에 의존할 수 있다. 그와 같은 정보는 이벤트가 트리거링 이벤트인지를 결정할 때 또한 이용될 수 있다.
터치스크린(216)은 사용자로 하여금 디스플레이 화면을 통해 사용자 입력을 제공하게 허용할 수 있다. 예를 들어, 사용자는 사용자 입력 신호를 발생하기 위해 디스플레이를 가로질러 그들의 손가락을 스와이핑할 수 있다. 사용자가 행동을 수행할 때, 대응하는 사용자 상호작용 이벤트가 검출될 수 있다.
가속도계(218) 또는 다른 모션 센서들은 (예를 들어, 자이로미터 또는 나침반을 이용하여) 흔듦과 기울임과 같은, 모바일 디바이스의 움직임을 검출하는 수동 컴포넌트들일 수 있다. 모바일 디바이스의 그와 같은 움직임은 이벤트 관리자(230)에 의해 검출될 수 있는데, 이것은 움직임이 특정 유형이라고 결정할 수 있다. 이벤트 관리자(230)는 디바이스의 주어진 상태에서 사용자 상호작용 이벤트의 특정 유형에 대응하는 이벤트 신호(232)를 발생할 수 있다. 디바이스의 상태는 상태 엔진에 의해 결정될 수 있는데, 이것의 추가 상세 사항들은 "활성 검출"이라고 제목이 붙은 미국 특허 공개 번호 제2012/0310587호 및 "차량으로부터의 하차를 결정하는 것"이라고 제목이 붙은 미국 특허 공개 번호 제2015/0050923호에서 발견될 수 있고, 이것들의 개시 내용들은 그 전체가 참조에 의해 통합된다.
한가지 예가 사용자가 달리고 있을 때인데, 가속도계가 흔듦을 감지하고 이벤트 관리자(230)에게 제공될 신호를 발생할 수 있다. 이벤트 관리자(230)는 이벤트 유형을 결정하기 위해 가속도계 신호를 분석할 수 있다. 일단 이벤트 유형이 결정되면, 이벤트 관리자(230)는 이벤트 유형에 대응하는 이벤트 신호(232)를 발생할 수 있다. 모바일 디바이스는 사용자가 달리고 있는 것을 지시하기에 충분한 방식으로 움직일 수 있다. 그러므로, 이 특정 사용자 상호작용은 달리는 이벤트라고 식별될 수 있다. 이벤트 관리자(230)는 이후 달리는 이벤트가 검출되었다는 것을 지시하는 이벤트 신호(232)를 발생하고 보낼 수 있다.
3. 로케이션 이벤트들
로케이션 입력 디바이스들(208)이 로케이션 이벤트들을 발생하는데 사용될 수 있다. 임의의 적절한 위치 파악 시스템이 로케이션 이벤트들을 발생하는데 사용될 수 있다. 예를 들어, GPS는 로케이션 이벤트들을 발생하는데 사용될 수 있다. 로케이션 이벤트들은 특정 지리적 위치에 대응하는 이벤트일 수 있다. 예로서, 모바일 디바이스가 특정한 로케이션에 도착하면, GPS 컴포넌트는 로케이션 이벤트에 대응하는 입력 신호를 발생할 수 있다. 전형적으로, 모바일 디바이스는 하루에 수십 또는 심지어 수 백의 로케이션들로 움직일 수 있는데, 그것 중 다수가 로케이션 이벤트로서 간주되기에 충분한 만큼 중요하지 않을 수 있다. 그러므로, 모든 검출된 로케이션마다 로케이션 이벤트이지는 않을 것이다. 실시예들에서, 로케이션 이벤트는 다른 것들보다 더 자주 방문되는 로케이션일 수 있다. 예를 들어, 이벤트는, 이것이 한 시간 기간에 적어도 임계 횟수만큼, 예를 들어, 6개월 내지 1년의 기간 범위에 걸쳐 5 번 방문된다면 로케이션 이벤트일 수 있다. 그러므로, 중요한 로케이션들은 중요하지 않은 로케이션들로부터 분리되고 로케이션 이벤트인 것으로 결정될 수 있다.
B. 트리거링 이벤트들을 결정하기
도 2에 추가로 도시된 대로, 입력 디바이스들(202)은 검출된 이벤트(222)를, 예를 들어 대응하는 이벤트들 중 임의의 것의 결과로서 출력할 수 있다. 검출된 이벤트는 어느 입력 디바이스가 검출된 이벤트(222)를 위해 신호를 보내고 있는지에 관한 정보, 특정한 이벤트의 하위 유형(예를 들면, 어느 유형의 헤드폰들 또는 어느 유형의 데이터 연결)을 포함할 수 있다. 그와 같은 정보는 검출된 이벤트(222)가 트리거링 이벤트인지를 결정하는데 사용될 수 있고, 제안된 애플리케이션에 대해 어느 예측 모델을 이용할지 또는 어느 행동을 수행할지를 결정하기 위해 그 이후의 모듈들에게 넘겨질 수 있다.
검출된 이벤트(222)는 이벤트 관리자(230)에 의해 수신될 수 있다. 이벤트 관리자(230)는 입력 디바이스들(202)로부터 신호들을 수신할 수 있고, 어떤 유형의 이벤트가 검출되는지를 결정한다. 이벤트 유형에 좌우되어, 이벤트 관리자(230)는 상이한 엔진들에게 신호들(예를 들면, 이벤트 신호(232))을 출력할 수 있다. 상이한 엔진들은 자신들의 기능들에 중요한 특정한 이벤트 신호들(232)을 수신하기 위해 이벤트 관리자(230)에의 가입을 가질 수 있다. 예를 들어, 트리거링 이벤트 엔진(224)은 입력 디바이스들(202)로부터의 검출된 이벤트들(222)에 응답하여 발생되는 이벤트 신호들(232)을 수신하기 위해 가입될 수 있다. 이벤트 신호들(232)은 검출된 이벤트(222)로부터 결정되는 이벤트의 유형에 대응할 수 있다.
트리거링 이벤트 엔진(224)은 검출된 이벤트(222)가 트리거링 이벤트인지를 결정하기 위해 구성될 수 있다. 이 결정을 내리기 위해, 트리거링 이벤트 엔진(224)은 지정된 트리거링 이벤트 데이터베이스(226)를 참조할 수 있는데, 이것은 트리거링 이벤트 엔진(224)에 결합될 수 있다. 지정된 트리거링 이벤트 데이터베이스(226)는 트리거링 이벤트들로서 지정되는 미리 정해진 이벤트들의 리스트를 포함할 수 있다.
트리거링 이벤트 엔진(224)은 수신되고 검출된 이벤트(222)를 미리 결정된 이벤트들의 리스트와 비교할 수 있고, 검출된 이벤트(222)가 지정된 트리거링 이벤트 데이터베이스(226)에 리스팅된 미리 결정된 이벤트와 일치하면 트리거링 이벤트(228)를 출력할 수 있다. 예로서 미리 결정된 이벤트들의 리스트는 다음 중 임의의 하나 이상을 포함할 수 있다: (1) 헤드폰들을 헤드폰 잭에 삽입하는 것, (2) 블루투스 연결을 통해 외부 디바이스와 연결하는 것, (3) 시간 기간이 경과한 후에(예를 들면, 아침에 깨어날 시에) 버튼을 누르는 것, (4) 디바이스의 소정 유형의 움직임을 감지하는 것, 및 (5) 소정 로케이션에 도착하는 것. (5)에 대해, 지정된 트리거링 이벤트 데이터베이스(226)는 소정 로케이션의 명세를 포함할 수 있다.
여기서 기술되는 것처럼, 본 기술의 한 양태는 사용자에게 애플리케이션을 제안하기 위해 다양한 소스들로부터 이용가능한 데이터의 수집과 사용이다. 본 개시 내용은, 일부 경우들에서, 이 수집된 데이터가 특정 사람을 고유하게 식별하는 개인 정보 데이터를 포함할 수 있거나, 또는 특정 사람과 연락하거나 이 사람의 위치를 찾는데 이용될 수 있다는 것을 상정한다. 그와 같은 개인 정보 데이터는 로케이션 기반 데이터, 집 주소, 또는 임의의 다른 식별 정보를 포함할 수 있다.
본 개시는, 본 기술에서 이러한 개인 정보 데이터의 이용이 사용자들에게 혜택을 주기 위해 이용될 수 있다는 것을 인식한다. 예를 들어, 개인 정보 데이터는 사용자에게 더 큰 관심사인 애플리케이션을 제안하는데 사용될 수 있다. 따라서, 그러한 개인 정보 데이터를 사용하면 전달된 콘텐츠의 계산된 제어가 가능하다. 또한, 사용자에게 유익한 개인 정보 데이터의 다른 용도도 본 개시에 의해 또한 상정된다.
본 개시는 또한, 이러한 개인 정보 데이터의 모음, 분석, 개시, 전송, 저장, 또는 기타 이용을 담당하는 엔티티들이 확고한 사생활 보호 정책 및/또는 사생활 보호 관행을 준수할 것을 상정한다. 특히, 이러한 엔티티들은 개인 정보 데이터를 사적으로 및 안전하게 유지하기 위한 산업계 또는 정부 요건을 충족 또는 초과하는 것으로 일반적으로 인식되는 사생활 보호 정책 및 관행을 구현해야 하고 일관되게 이용해야 한다. 예를 들면, 사용자들로부터의 개인 정보는 엔티티의 합법적이고 합리적 용도들을 위해 수집되어야 할 것이고, 그러한 합법적 용도를 벗어나서 공유되거나 판매되지 말아야 한다. 또한, 이러한 수집은 사용자들의 동의서를 받은 후에만 일어나야 한다. 추가적으로, 이러한 엔티티들은 이러한 개인 정보 데이터로의 접근을 보호 및 보안 유지하고 개인 정보 데이터에 접근하는 다른 이들이 이들의 사생활 보호 정책 및 절차를 준수할 것을 보장하기 위한 어떠한 필요한 단계들도 취할 것이다. 또한, 그러한 엔티티들은 자체적으로 제3자에 의해 평가를 받아 이들이 널리 받아들여진 개인정보 보호 정책 및 관례를 준수한다는 것을 인증 받을 수 있다.
전술한 바에도 불구하고, 본 개시 내용은 또한 사용자들이 개인 정보 데이터의 사용 또는 그 개인 정보 데이터에 접근하는 것을 선택적으로 차단하는 실시예들도 상정한다. 즉, 본 개시 내용은 그러한 개인 정보 데이터에 접근하는 것을 방지하거나 차단하기 위해 하드웨어 및/또는 소프트웨어 요소들이 제공될 수 있다는 것을 상정한다. 예를 들어, 사용자들은 표적 콘텐츠 전달 서비스들에게 로케이션 정보를 제공하지 않는 것을 선택할 수 있다. 역시 또 다른 예에서, 사용자들은 정확한 로케이션 정보를 제공하지는 않지만 로케이션 구역 정보(location zone information)의 전송을 허용하기로 선택할 수 있다.
III. 제안된 애플리케이션 결정
일단 트리거링 이벤트가 검출되면, 애플리케이션은 트리거링 이벤트에 근거하여 식별될 수 있다. 몇몇 실시예들에서, 애플리케이션의 식별은 미리 프로그래밍된 행동이 아니다. 오히려, 애플리케이션의 식별은 추가 정보에 의존하여 변화할 수 있는 동적 행동일 수 있다. 예를 들어, 제안된 애플리케이션의 식별은 정황 정보 및/또는 이력 정보에 기초할 뿐만 아니라 다른 정보에 기초하여 결정될 수 있다.
A. 트리거링 이벤트에 기초해 애플리케이션을 결정하기 위한 시스템
도 3은 본 발명의 실시예들에 따라 트리거링 이벤트와 정황 정보에 기초하여 애플리케이션 및 대응하는 행동 명령을 식별하기 위한 예측 시스템(300)의 단순화된 블록도를 도해한다. 예측 시스템(300)은 애플리케이션을 식별하고 있는 디바이스 내에 상주한다. 예측 시스템(300)은 하드웨어와 소프트웨어 컴포넌트들을 포함할 수 있다.
예측 시스템(300)은 제안된 애플리케이션을 식별하기 위한 예측 엔진(302)을 포함한다. 예측 엔진(302)은 도 2에서 논의되는 트리거링 이벤트(228)와 같은, 트리거링 이벤트를 수신할 수 있다. 예측 엔진(302)은 제안된 애플리케이션(304)을 식별하기 위해 트리거링 이벤트(228)로부터 수집되는 정보를 이용할 수 있다. 도면에 도시된 바와 같이, 예측 엔진(302)은 트리거링 이벤트(228)에 더하여 정황 데이터(306)를 수신할 수 있다. 예측 엔진(302)은 제안된 애플리케이션(304)을 식별하기 위해 트리거링 이벤트(228)와 정황 정보(306) 모두로부터 수집되는 정보를 이용할 수 있다. 예측 엔진(302)은 또한 수행될 행동, 예를 들면, 어떻게 및 언제 사용자 인터페이스가 사용자가 제안된 애플리케이션과 상호 작용하기 위해 제공될 수 있는지를 결정할 수 있다.
소정 실시예들에서, 제안된 애플리케이션(304)은 모바일 디바이스의 SSD상에 존재하는 임의의 애플리케이션일 수 있다. 따라서, 예측 엔진(302)은 트리거링 이벤트가 검출될 때 임의의 애플리케이션을 제안하기 위한 능력을 갖출 수 있다. 대안적으로, 실시예들에서, 예측 엔진(302)은 트리거링 이벤트가 검출될 때 능력으로 하여금 모든 애플리케이션들보다 적은 것을 제한하게 할 수 있다. 예를 들어, 사용자는 예측 엔진(302)이 접근하기 어려운 일부 애플리케이션들을 선택할 수 있다. 그러므로, 예측 엔진(302)은 트리거링 이벤트가 검출될 때 그런 애플리케이션들을 제안할 수 없을 것이다.
1. 정황 정보
정황 정보는 정황 데이터(306)로부터 수집될 수 있다. 실시예들에서, 정황 정보는 임의의 시간에 수신될 수 있다. 예를 들어, 정황 정보는 트리거링 이벤트(228)가 검출되기 전에 및/또는 그 후에 수신될 수 있다. 또한, 정황 정보는 트리거링 이벤트(228)의 검출 동안 수신될 수 있다. 정황 정보는 소정 정황에 대한 디바이스의 하나 이상의 속성들을 특정할 수 있다. 정황은 트리거링 이벤트(228)가 검출될 때 디바이스의 주위 환경(정황의 유형)일 수 있다. 예를 들어, 정황 정보는 트리거링 이벤트(228)가 검출되는 시각일 수 있다. 또 다른 예에서, 정황 정보는 트리거링 이벤트(228)가 검출될 때 디바이스의 소정 로케이션일 수 있다. 또 하나의 예에서, 정황 정보는 트리거링 이벤트(228)가 검출되는 시점에서의 연중 특정 날일 수 있다. 또한, 정황 정보는 달력으로부터 수집되는 데이터일 수 있다. 예를 들어, 현재 시간과 이벤트 시간 사이의 시간량(예를 들면, 일 또는 시간)이다. 그와 같은 정황 정보는 디바이스의 정황에 관한 더 의미 있는 정보를 제공할 수 있어서 예측 엔진(302)이 그 정황에서 사용자에 의해 이용될 가능성이 있는 애플리케이션을 정확하게 제안할 수 있도록 한다. 따라서, 정황 정보를 활용하는 예측 엔진(302)은 어떤 정황 정보도 활용되지 않았다면 그랬을 것보다 사용자에게 애플리케이션을 더 정확하게 제안할 수 있다.
정황 데이터(306)는 정황 소스들(308)에 의해 발생될 수 있다. 정황 소스들(308)은 모바일 디바이스의 현재 상황과 관련한 데이터를 제공하는 모바일 디바이스의 컴포넌트들일 수 있다. 예를 들어, 정황 소스들(308)은, 제각기 시각, 디바이스의 로케이션, 및 그 해의 날과 관련된 정보를 제공하기 위해 내부 디지털 클록(310), GPS 디바이스(312), 및 달력(314)으로서 동작하는 하드웨어 디바이스들 및/또는 소프트웨어 코드일 수 있다. 다른 정황 소스들이 이용될 수 있다.
예측 엔진(302)을 위해 정황 데이터(306)를 수집하는 것은 전력 효율적 방식으로 수행될 수 있다. 예를 들어, 디바이스의 로케이션을 결정하기 위해 GPS(312)에게 계속적으로 폴링하는 것은 과도하게 전력 집약적일 수 있고, 이는 배터리 수명을 감소시킬 수 있다. 배터리 수명을 감소시키는 것을 회피하기 위해, 예측 엔진(302)은 GPS(312) 이외의 다른 소스들에게 디바이스의 로케이션을 요청함으로써 디바이스의 로케이션을 결정할 수 있다. 로케이션 정보를 위한 또 다른 소스는 디바이스의 로케이션에 대해 최근에 GPS(312)에게 폴링한 애플리케이션일 수 있다. 예를 들어, 애플리케이션 A가 디바이스의 로케이션에 대해 GPS(312)에게 폴링한 가장 최근의 애플리케이션이라면, 예측 엔진(302)은 별개로 GPS(312)에게 폴링하는 것이 아니라 애플리케이션 A로부터 로케이션 데이터를 요청하고 수신할 수 있다.
2. 이력 정보
정황 소스들(308)에 더하여, 이력 이벤트 데이터베이스(316)가 소정 실시예에서 예측 엔진(302)에 의해 또한 활용될 수 있다. 이력 이벤트 데이터베이스(316)는 트리거링 이벤트가 검출된 후 사용자와 모바일 디바이스 간의 이전 상호작용들의 이력 정보를 포함할 수 있다.
이력 이벤트 데이터베이스(316)는 애플리케이션이 소정 트리거링 이벤트 후에 열렸던 횟수의 기록을 유지할 수 있다. 예를 들어, 데이터베이스(316)는 사용자가 헤드폰들이 헤드폰 잭에 플러깅된 후 10번 중 8번 애플리케이션 A를 여는 것을 나타내는 기록을 유지할 수 있다. 따라서, 예측 엔진(302)은 헤드폰들의 세트가 헤드폰 잭에 삽입될 때 애플리케이션 A가 사용자를 위해 식별되어야 하는지를 결정하기 위한 이력 데이터(318)로서 이 정보를 수신할 수 있다.
이력 이벤트 데이터베이스(316)는 또한 트리거링 이벤트가 검출될 때 애플리케이션이 상이한 정황들 하에서 열렸던 횟숫의 기록을 유지할 수 있다. 예를 들어, 데이터베이스(316)는 사용자가 집에 있을 때 헤드폰 잭에 헤드폰들이 삽입된 후 10번 중 9번 그리고 사용자가 체육관에 있을 때 10번 중 1번 애플리케이션 A를 여는 것을 나타내는 기록을 유지할 수 있다. 따라서, 예측 엔진(302)은 이력 데이터(318)로서 이 정보를 수신할 수 있고, 헤드폰들이 체육관에서가 아니라 집에서의 디바이스에 삽입될 때 애플리케이션 A가 식별되어야 한다는 것을 결정할 수 있다. 여기서 논의된 예들이 "집" 또는 "체육관"과 같은 로케이션들을 참조하기는 하지만, "집" 또는 "체육관"을 나타내는 정황 데이터(306)는 수치 좌표들 형태로 될 수 있다는 것을 알아야 한다. 본 기술분야의 통상의 기술자는 시각 및 그 해의 날과 관련한 정보가 다른 애플리케이션들을 식별하기 위해서 비슷한 방식으로 로케이션 대신에 활용될 수 있다는 것을 이해할 것이다.
이력 이벤트 데이터베이스(316)는 또한, 얼마나 자주 및 어떤 정황들 하에서 사용자가 식별된 애플리케이션을 실행하지 않기로 결정하는지의 기록을 유지할 수 있다. 예를 들어, 데이터베이스(316)는, 사용자가 집에서 헤드폰들을 디바이스에 삽입했을 때 사용자에게 제안되었던 10번 중 2번 애플리케이션 B를 선택하지 않았다는 것을 나타내는 기록을 유지할 수 있다. 따라서, 예측 엔진(302)은 사용자가 집에서 헤드폰들을 디바이스에 삽입할 때 애플리케이션 B를 제안할 확률을 조절하기 위해 이 정보를 이력 데이터(318)로서 수신할 수 있다.
몇몇 실시예들에서, (여기서 추가로 논의되는) 정황 정보(306) 및/또는 이력 정보는 트리거링 이벤트가 검출될 때 이용할 수 없거나 제한될 수 있다. 그와 같은 경우들에서, 디폴트 애플리케이션이 트리거링 이벤트가 검출될 때 제안될 수 있다. 디폴트 애플리케이션은 트리거링 이벤트의 유형과 흔히 연관되는 애플리케이션 유형일 수 있다. 예를 들어, 뮤직 애플리케이션이 헤드폰들의 세트가 헤드폰 잭에 삽입된다면 제안될 수 있다. 대안적으로, 지도 애플리케이션은 차량과의 블루투스 연결이 이루어질 때 제안될 수 있다. 일단 이력 정보가 획득되면, 제안된 애플리케이션은 디폴트 애플리케이션 대신에 제공될 수 있다.
B. 다중 예측 모델들
상이한 트리거링 이벤트들이 상이한 제안된 애플리케이션들이라는 결과를 낳을 수 있으므로, 실시예들은 상이한 트리거링 이벤트들을 위한 상이한 예측 모델을 사용할 수 있다. 이 방식으로, 예측 모델은 특정 트리거링 이벤트를 위한 더 정확한 제안을 제공하기 위해 세분화될 수 있다.
도 4는 본 발명의 실시예들에 따라 예측 엔진(302)을 더 상세히 논의한다. 예측 엔진(302)은 메모리 디바이스 상에 저장되는 프로그램 코드일 수 있다. 실시예들에서, 예측 엔진(302)은 하나 이상의 예측 모델들을 포함한다. 예를 들어, 예측 엔진(302)은 예측 모델들 1 내지 N을 포함할 수 있다. 각각의 예측 모델은 특정한 트리거링 이벤트(228)에 대한 애플리케이션을 식별하도록 특정적으로 설계되는 코드 및/또는 데이터 섹션일 수 있다. 예를 들어, 예측 모델 1은 헤드폰들의 세트가 헤드폰 잭에 삽입된 경우의 트리거링 이벤트를 위한 애플리케이션을 식별하도록 특정적으로 설계될 수 있다. 예측 모델 2는 블루투스 디바이스가 연결되는 경우의 트리거링 이벤트를 위한 애플리케이션을 식별하도록 설계될 수 있다.
예측 모델 3은 (예를 들면, 사용자가 아침에 깨어난 후 모바일 디바이스와 첫째로 상호 작용할 때) 연장된 시간 기간 후에 디바이스의 사용자 인터페이스와 상호작용하는 경우의 트리거링 이벤트를 위한 애플리케이션을 식별하기 위해 설계될 수 있다. 다른 예측 모델들이 소정 패턴의 검출된 모션(예를 들면, 사용자가 모바일 디바이스를 가지고 달리고 있을 때), 특정한 로케이션에서의 도착, 및 특정 애플리케이션의 선택(예를 들어, 자동차의 컴퓨터와 통신하는 애플리케이션을 선택)과 연관되는 트리거링 이벤트를 위한 애플리케이션을 식별하도록 설계될 수 있다. 임의 수의 예측 모델들이 트리거링 이벤트들(228)의 수에 의존하여 예측 엔진(302)에 포함될 수 있다.
도면에 도시된 바와 같이, 각각의 예측 모델 1 내지 N은 정황 데이터(306)와 이력 데이터(318)를 수신하기 위해 정황 소스들과 이력 이벤트 데이터베이스에 결합될 수 있다. 따라서, 각각의 예측 모델은 여기서 논의되는 실시예들에 따라 제안된 애플리케이션(304)을 식별하기 위해 정황 데이터(306)와 이력 데이터(318)를 활용할 수 있다.
도 3으로 돌아가 참조하면, 예측 엔진(302)은 제안된 애플리케이션(304)을 전문가 센터 모듈(320)에게 보낼 수 있다. 실시예들에서, 이벤트 관리자(320)는, 검색 화면이 열릴 때, 또는 다른 화면들이 열릴 때, 디바이스상에, 예를 들어, 잠금 화면상에 표시되는 것을 관리하는 코드의 섹션일 수 있다. 예를 들어, 전문가 센터(320)는 어느 정보가 사용자에게 표시되는지를, 예를 들어, 제안된 애플리케이션, 제안된 접촉, 및/또는 다른 정보를 조율할 수 있다. 전문가 센터(320)는 또한 언제 그와 같은 정보를 사용자에게 제공하는지를 결정할 수 있다.
Ⅳ. 사용자 인터페이스
이벤트 관리자(320)가 제안된 애플리케이션이 사용자에게 출력될 시의 적절한 시간이라고 결정하면, 이벤트 관리자(320)는 사용자 인터페이스(324)에게 애플리케이션(322)을 출력할 수 있다. 실시예들에서, 출력 애플리케이션(322)은 제안된 애플리케이션(304)에 대응할 수 있다. 사용자 인터페이스(324)는 출력 애플리케이션(322)을 사용자에게 통신할 수 있고 출력 애플리케이션(322)에 관한 사용자로부터의 응답을 권유할 수 있다.
실시예들에서, 사용자 인터페이스(324)는 사용자가 그와 상호 작용할 수 있는 디바이스 컴포넌트들의 조합일 수 있다. 예를 들어, 사용자 인터페이스(324)는 사용자에게 정보를 출력하고 및/또는 사용자로 하여금 신호들을 디바이스에 입력하게 허용하는 능력을 갖춘 디바이스 컴포넌트들의 조합일 수 있다.
A. 디스플레이
사용자 인터페이스(324)는 디바이스의 디스플레이상에 표시될 수 있다. 이 디스플레이는 터치에 민감할 수 있어서 입력 신호들이 디스플레이와의 물리적 상호작용에 의해 발생될 수 있도록 한다. 그와 같은 실시예들에서, 디스플레이는 디스플레이에 대하여 사용자의 터치를 검출하기 위해 이미지 디스플레이 층상에 중첩되는 터치 감지 층을 포함할 수 있다. 따라서, 디스플레이는 사용자에게 정보를 출력하고 사용자로부터의 정보를 입력하는 것 둘 모두를 할 수 있는 사용자 인터페이스(324)의 일부분일 수 있다. 예로서, 디스플레이는 제안된 애플리케이션을 위한 아이콘을 보여줄 수 있고, 사용자가 디스플레이 패널의 대응하는 로케이션을 가볍게 두드릴 때 애플리케이션을 실행하기 위한 신호를 입력할 수 있다.
작금의 디바이스들은 디바이스의 무단 사용을 방지하는 보안 수단을 갖는다. 그와 같은 디바이스들은 사용자로 하여금 사용자가 디바이스상에 저장되는 모든 애플리케이션들에 접근할 수 있기 전에 디바이스의 잠금을 해제하도록 요구할 수 있다. 디바이스는 디바이스 보안성의 상태에 의존하여 모든 애플리케이션들의 접근가능성을 제한할 수 있다. 예를 들어, 디바이스는 사용자로 하여금 디바이스가 모든 그것의 애플리케이션들에 대한 접근을 허용하기 전에 디바이스의 잠금을 해제하도록 요구할 수 있다. 잠금 해제된 디바이스는 홈 화면을 보여주는 디스플레이를 가질 수 있다. 홈 화면은 디바이스의 모든 애플리케이션들을 표시하고 및/또는 제공할 수 있다. 잠긴 디바이스는, 그러나, 잠금 화면을 보여주는 디스플레이를 가질 수 있다. 디스플레이의 일부 영역들은 디바이스를 잠금 해제하기 위한 프롬프트에 의해 점유될 수 있다. 따라서, 잠금 화면은 높아진 디바이스 보안성 상태와 제한된 디스플레이 공간 덕분에 홈 화면에서보다 더 적은 애플리케이션들과의 상호작용을 허용할 수 있다. 예를 들어, 잠금 화면은 1 내지 3개의 애플리케이션들과 같이, 디바이스의 모든 애플리케이션들보다 적은 것에 대한 접근만을 허용할 수 있다. 몇몇 실시예들에서, 도 3에 대하여 여기서 논의한 것처럼 제안된 애플리케이션(304)은 잠금 화면상에 표시될 수 있다.
B. 다른 입력 및 출력 디바이스 컴포넌트들
디스플레이가 사용자에 정보를 출력하고 사용자로부터의 정보를 입력하는 것 둘 모두를 할 수 있는 사용자 인터페이스(324)의 일부분일 수 있기는 하지만, 사용자 인터페이스(324)의 다른 부분들은 그렇게만 제한되지는 않는다. 예를 들어, 사용자로부터의 정보를 입력할 수 있는 다른 디바이스 컴포넌트들이 마찬가지로 여기서의 실시예들에서 상정된다. 예로서, 버튼들과 스위치들이 사용자 인터페이스(324)의 일부분일 수 있다. 버튼은 사용자가 그것 위를 누를 때 입력을 발생하는 디바이스 컴포넌트일 수 있다. 스위치는 사용자가 레버를 또 다른 위치로 넘길 때 입력이 발생하는 디바이스 컴포넌트일 수 있다. 따라서, 버튼 및/또는 스위치는 여기서 논의되는 실시예들에 따라 제안된 애플리케이션(304)을 실행하기 위해 사용자에 의해 활성화될 수 있다.
사용자로부터의 정보를 출력할 수 있는 디바이스 컴포넌트들이 마찬가지로 여기서의 실시예들에서 상정된다. 예로서, 스피커 또는 햅틱 디바이스가 사용자에게 정보를 출력하는 사용자 인터페이스의 일부분일 수 있다. 스피커는 식별된 애플리케이션이 제안되었다는 것을 나타내기 위해 오디오 통지를 출력할 수 있다. 햅틱 디바이스는 식별된 애플리케이션이 제안되었다는 것을 나타내기 위해 촉각 통지를 출력할 수 있다. 그와 같은 디바이스들이 실시예들에 불과하고, 기타 실시예들은 그와 같은 디바이스들로만 제한되지 않는다는 것을 알아야 한다.
C. 상호작용 레벨
사용자 인터페이스(324)는 사용자가 출력 애플리케이션(322)을 실행하기 위해서 상이한 상호작용 레벨들을 요구할 수 있다. 다양한 레벨들은 사용자가 제안된 애플리케이션(304)을 실행할 확률 정도에 대응할 수 있다. 예를 들어, 예측 엔진(302)이 제안된 애플리케이션(304)이 임계값 확률보다 더 큰 확률로 사용자에 의해 실행될 가능성을 갖는다고 결정하면, 사용자 인터페이스(324)는 사용자로 하여금 중간 단계들을 건너 뜀으로써 더 빨리 애플리케이션을 실행하게 허용하는 프롬프트를 출력할 수 있다.
예로서, 예측 엔진(302)이 제안된 뮤직 애플리케이션을 실행할 사용자 확률이 높은 임계값 확률보다 더 크다고 결정하면, 제안된 뮤직 애플리케이션은 자동적으로 실행할 수 있고, 따라서 사용자 인터페이스(324)는 뮤직 애플리케이션을 위해, 제어들, 예를 들어 재생, 일시정지, 및 빨리 감기/되감기를 표시할 수 있다. 사용자는 그러므로 애플리케이션을 실행하기 위해 클릭하는 중간 단계를 수행해야 할 필요가 없을 수 있다.
대안적으로, 예측 엔진(302)이 뮤직 애플리케이션을 실행하는 사용자의 확률이 높은 임계값 확률보다 작지만 여전히 더 낮은 임계값 확률보다 높다고 결정하면, 뮤직 애플리케이션은 아이콘으로서 표시될 수 있다. 더 낮은 임계값 확률은 기준선 임계값 확률보다 더 높을 수 있다. 기준선 임계값 확률은 대응하는 애플리케이션이 제안될 최소 확률을 확립할 수 있다. 따라서 사용자는 제안된 뮤직 애플리케이션을 실행하기 위해 아이콘을 클릭하는 추가적 단계를 수행해야 할 필요가 없을 수 있다. 그러나, 클릭들의 수는 여전히 어떤 애플리케이션도 사용자에게 제안되지 않을 때 요구되는 클릭들의 수 미만일 수 있다. 실시예들에서, 임계값 확률은 애플리케이션 유형에 따라 변할 수 있다. 다양한 실시예들에서, 높은 임계값 확률은 75% 내지 100%의 범위에 있을 수 있고, 더 낮은 임계값 확률은 50% 내지 75%의 범위에 있을 수 있고, 기준선 임계값은 25% 내지 50%의 범위에 있을 수 있다. 특정 실시예에 있어서, 높은 임계값 확률은 75% 이고, 더 낮은 임계값 확률은 50% 이고, 기준선 확률은 25% 이다.
실시예들에서, 더 높은 확률들은 더 공격적인 애플리케이션 제안들이라는 결과를 낳을 수 있다. 예를 들어, 애플리케이션이 90% 주변의 높은 확률을 갖는다면, 예측 엔진(302)은 사용자로 하여금 아이콘을 원 클릭하여 애플리케이션에 접근하는 것을 허용하기 위해 디바이스의 잠금 화면상에 아이콘을 제공할 수 있다. 애플리케이션이 심지어 95% 주변의 더 높은 확률을 갖는다면, 예측 엔진(302)은 사용자가 어떠한 것을 클릭하게 하지 않고서도 사용자를 위해 제안된 애플리케이션을 심지어 자동적으로 실행할 수 있다. 그와 같은 경우들에서, 예측 엔진(302)은 제안된 애플리케이션을 출력할 수 있을 뿐만 아니라, 뮤직 애플리케이션에서 선택된 뮤직을 재생하라는 명령 또는 지도 애플리케이션에서 특정 경로의 안내를 시작하라는 명령과 같은, 해당 애플리케이션에 특정적인 명령을 출력할 수 있다.
본 발명의 실시예들에 따라, 예측 엔진(302)은 어던 레벨의 상호작용이 요구되는지를 결정할 수 있고, 이후 해당 정보를 이벤트 관리자(320)에게 출력할 수 있다. 이벤트 관리자(320)는 이후 사용자에게 출력하기 위해 사용자 인터페이스(324)에게 이 정보를 보낼 수 있다.
실시예들에서, 사용자 인터페이스(324)는 디스플레이 화면상에서 사용자에게 통지를 표시할 수 있다. 이 통지는 예를 들어, 푸시 통지에 의해 보내질 수 있다. 통지는 사용자에게 제안된 애플리케이션을 통지하는 그림들 및/또는 텍스트를 포함하는 가시적 통지일 수 있다. 통지는 사용자가 자신들의 여가 시간에 선택하고 실행하기 위한 애플리케이션을 사용자에게 제안할 수 있다. 선택될 때, 애플리케이션은 실행될 수 있다. 몇몇 실시예들에서, 더 공격적 예측들을 위해, 통지는 또한 제안된 애플리케이션 내의 제안된 행동을 포함할 수 있다. 즉, 통지는 사용자에게 제안된 애플리케이션뿐만 아니라 제안된 애플리케이션 내의 제안된 행동도 알려줄 수 있다. 따라서 사용자는 제안된 애플리케이션을 실행하거나 또는 제안된 애플리케이션 내의 제안 동작을 수행하기 위한 옵션을 부여 받을 수 있다. 예로서, 통지는 사용자에게 제안된 애플리케이션이 뮤직 애플리케이션이고 제안된 동작이 뮤직 애플리케이션 내에서 소정 곡을 재생하는 것임을 알릴 수 있다. 사용자는 제안된 곡을 예시하는 아이콘을 클릭함으로써 자신이 그 곡을 재생하고 싶어한다는 것을 나타낼 수 있다. 대안적으로, 사용자는 그보다는 화면을 가로질러 통지를 스와이핑함으로써 또 다른 곡을 재생하기 위해 애플리케이션을 실행하기를 원한다는 것을 나타낼 수 있다.
하나의 통지로 사용자 인터페이스(324)에게 제안된 애플리케이션 및 제안된 행동을 출력하는 것 이외에, 예측 엔진(302)은 하나의 통지로 사용자 인터페이스(324)에게 두 개의 제안된 행동을 출력할 수 있다. 예를 들어, 예측 엔진(302)은 제1 곡을 재생하라는 제안된 행동, 및 제2 곡을 재생하라는 제2 제안된 행동을 출력할 수 있다. 사용자는 통지에서의 제각기 아이콘을 클릭함으로써 어느 곡을 재생할지를 선택할 수 있다. 실시예들에서, 제안된 행동들은 상이한 기준을 바탕으로 결정될 수 있다. 예를 들어, 하나의 제안된 행동은 정황 정보에 상관없이 가장 최근에 재생된 곡을 재생하기 위한 것일 수 있는 한편, 다른 제안된 행동은 똑같거나 비슷한 정황 정보 하에서 마지막으로 재생된 곡을 재생하기 위한 것일 수 있다. 예로서, 사용자가 자신 자동차에 들어가고 트리거링 이벤트가 예측 엔진(302)으로 하여금 소정 곡을 재생하는 것과 관련된 2가지 행동을 제안하도록 야기하는 환경에 대해, 곡 A는 마지막 재생된 곡일 수 있는 반면(이는 집에서 일어나게 된 것이다), 곡 B는 사용자가 자동차에 있었던 지난 번에 재생되었던 곡일 수 있다. 사용자가 재생될 곡을 선택할 때, 곡은 처음부터 계속되거나 또는 이것이 마지막으로 중단되었던 곳으로부터(예를 들면, 곡의 중간에서) 계속될 수 있다.
예측 엔진(302)이 행동을 제안할 수 있게 하기 위하여, 예측 엔진(302)은 디바이스의 활성 상태에 관한 정보를 저장하는 메모리 디바이스에 접근할 수 있다. 디바이스의 활성 상태는 제안된 애플리케이션의 선택에 이어서 수행되는 행동을 나타낼 수 있다. 예를 들어, 뮤직 애플리케이션을 위한 활성 상태는 소정 곡을 재생하고 있을 수 있다. 활성 상태는 곡이 마지막으로 중단된 때를 추적할 수 있다. 실시예들에서, 도 3으로부터의 이력 데이터베이스(316)는 디바이스의 활성 상태에 관련한 이력 데이터를 기록할 수 있다. 따라서, 예측 엔진(302)은 제안된 애플리케이션에 의해 실행될 행동을 제안할 수 있다.
V. 제안된 애플리케이션을 결정하는 방법
도 5는 본 발명의 실시예들에 따라 트리거링 이벤트에 기초하여 애플리케이션을 식별하는 방법 500을 도해하는 흐름도이다. 방법 500은 디바이스에 의해 전적으로 또는 부분적으로 수행될 수 있다. 다양한 예들로서, 디바이스는 전화기, 태블릿, 랩톱, 또는 여기서 이미 논의한 것과 같은 다른 모바일 디바이스일 수 있다.
블록 502에서, 디바이스, 예를 들어, 모바일 디바이스는 이벤트를 검출한다. 예를 들어, 헤드폰들의 세트는 디바이스의 헤드폰 잭에 삽입될 수 있다. 또 다른 예로서, 무선 헤드셋이 블루투스 연결을 통해 디바이스에 결합될 수 있다. 도 2에 있는 입력 디바이스들(202)은 이벤트를 검출하는데 사용될 수 있다. 이벤트는 모바일 디바이스가 외부 디바이스 또는 사용자와 같은 외부 엔티티와 상호 작용하는 임의의 행동일 수 있다.
블록 504에서, 디바이스는 검출된 이벤트가 트리거링 이벤트인지를 결정한다. 검출된 이벤트가 트리거링 이벤트인지를 결정하기 위해서, 검출된 이벤트는 이벤트들의 미리 결정된 리스트, 예를 들어, 도 2에 있는 지정된 트리거링 이벤트 데이터베이스(226)에서의 이벤트들의 리스트와 비교될 수 있다. 검출된 이벤트가 이벤트들의 미리 결정된 리스트 중 하나와 일치하면, 이후 검출된 이벤트는 트리거링 이벤트인 것으로 결정될 수 있다.
블록 506에서, 디바이스가 예측 모델, 도 4의 예측 모델들 1 내지 N 중 하나를 선택한다. 선택된 예측 모델은 트리거링 이벤트에 의존할 수 있다. 예를 들어, 블루투스 연결들에 대해 설계된 예측 모델은 트리거링 이벤트가 외부 디바이스와의 블루투스 연결을 확립하는 것과 관련될 때 선택될 수 있다. 또 다른 예로서, 헤드폰 연결들에 대해 설계된 예측 모델은 트리거링 이벤트가 헤드폰들의 세트의 헤드폰 잭으로의 삽입과 관련될 때 선택될 수 있다
블록 508에서, 디바이스는 정황 정보를 수신한다. 정황 정보는 다양한 소스들, 예를 들어, 도 3에서의 정황 소스들(308)로부터 수신될 수 있다. 실시예들에서, 정황 정보는 디바이스의 주변 상황과 관련될 수 있다. 예를 들어, 정황 정보는 디바이스의 시각, 그 해의 날, 또는 로케이션과 관련될 수 있다. 또한, 이력 정보는 마찬가지로 디바이스에 의해 수신될 수 있다. 이력 정보는 디바이스와 데이터베이스, 예를 들어, 이력 이벤트 데이터베이스(316)에 저장되는 사용자 간의 상호작용들의 이력과 관련될 수 있다.
블록 510에서, 디바이스는 사용자에 의해 접근되고 있는 적어도 임계값 확률을 갖는 하나 이상의 애플리케이션들을 식별할 수 있다. 여기서 이미 언급된 것처럼, 복수의 임계값이 있을 수 있다. 몇몇 실시예들에서, 임계값 확률은 기준선 임계값 확률, 더 낮은 임계값 확률, 또는 높은 임계값 확률일 수 있다. 예를 들어, 하나 이상의 애플리케이션들은 각각이 임계값 확률보다 더 큰 확률을 가질 수 있다. 또 다른 예에서, 하나 이상의 애플리케이션들은 임계값 확률보다 더 큰 조합 확률을 가질 수 있다. 하나 이상의 애플리케이션들은 상위 확률들을 갖는 애플리케이션들일 수 있고, 다양한 기준으로 선택될 수 있다(예를 들어, 모든 것이 임계값보다 더 큰 확률을 가짐, 필요한 만큼의 애플리케이션들이 임계값을 넘지만 최대 수에 제한되는 것, 기타 등등). 몇몇 실시예들에서, 기준선 임계값 확률보다 작은 확률을 갖는 애플리케이션들은 무시당할 수 있다.
사용자에 의해 접근되는 확률은 예측 모델에 의해 결정될 수 있다. 예측 모델은 정황 정보뿐만 아니라 이력 정보를 활용함으로써 확률을 결정할 수 있다. 실시예들에서, 식별된 애플리케이션들은 도 3 및 도 4에 대하여 여기서 논의된 애플리케이션들이다.
몇몇 실시예들에서, 애플리케이션들이 동일 확률을 갖는다면, 이후 이들은 무시당할 수 있는데, 식별되지 않을 수 있다. 이러한 상황들에서, 디바이스는 적절히 하나 이상의 애플리케이션들을 식별하기 위해서 추가적 이력 정보를 발생할 필요가 있을 수 있다. 더 많은 이력 정보가 수집됨에 따라, 정확한 애플리케이션, 예를 들어 주어진 정황에서 사용자에 의해 접근될 것이 요망되는 애플리케이션을 식별함에 있어서 디바이스는 더 정확하게 된다. 기타 실시예들에서, 애플리케이션들 양자가, 예를 들면, 양쪽 애플리케이션이 상위 2개의 확률을 가질 때에 일어나는 바와 같이, 이들의 조합된 확률이 충분히 높다면, 제공될 수 있다.
블록 512에서, 디바이스는 사용자 인터페이스를 사용자에게 제공할 수 있다. 예를 들어, 디바이스는 사용자가 식별된 애플리케이션에 접근하고 싶어하는지를 지시하기 위해 사용자가 그와 상호작용할 수 있는 인터페이스를 통해 사용자에게 식별된 애플리케이션들을 표시할 수 있다. 예를 들어, 사용자 인터페이스는 사용자에게 식별된 애플리케이션들 중 하나 이상을 보여주고, 및 사용자로 하여금 터치 감지디스플레이와 상호 작용함으로써 디바이스에 의해 식별되는 애플리케이션들 중 하나 이상에 접근하는 것을 허용하는 터치 감지 디스플레이를 포함할 수 있다.
소정 실시예들에서, 사용자 인터페이스는 잠금 화면 또는 홈 화면에 제공될 수 있다. 홈 화면은 잠금 해제 상태에서 홈 버튼을 누른 후에 표시되는 화면일 수 있다. 잠금 화면은 디바이스를 깨우기 위해 장기간의 비활성 기간 후에 홈 버튼을 누른 후에 표시되는 화면일 수 있다. 실시예들에서, 잠금 화면은 홈 화면보다 애플리케이션을 표시하기 위한 이용가능한 디스플레이 공간을 덜 갖는데, 그 이유는 잠금 화면의 일부가 디바이스를 잠금 해제하기 위해 보유되기 때문이다. 몇몇 실시예들에서, 사용자 인터페이스는 이미 실행되는 애플리케이션과 연관될 수 있다. 예로서, 사용자 인터페이스는 도 6에 도시된 것과 같이, 실행되는 뮤직 애플리케이션과 연관되는 오디오 제어들을 갖는 뮤직 플레이어 인터페이스일 수 있다.
도 6은 이미 실행되는 애플리케이션과 연관되는 디바이스(602)를 위한 예시적 사용자 인터페이스(600)를 도해한다. 사용자 인터페이스(600)는 뮤직 애플리케이션을 위한 사용자 인터페이스일 수 있는데, 상이한 애플리케이션들을 위한 다른 사용자 인터페이스들이 마찬가지로 여기서 상정되기도 한다. 사용자 인터페이스(600)는 터치스크린 디스플레이(604)에 의해 제공될 수 있다. 터치스크린 디스플레이(604)는 오디오 제어들(608), 볼륨 제어들(610), 곡명(612), 및/또는 앨범 아트(614)를 표시할 수 있다. 오디오 제어들(608)은 곡을 빠른 감기하고, 되감기하고, 재생하고, 및 일지정지하기 위한 사용자 인터페이스를 제공할 수 있다. 볼륨 제어들(610)은 사용자로 하여금 출력된 음향의 볼륨을 조절하게 하용한다. 곡명(612)과 앨범 아트(614)는 현재 재생되고 있는 곡에 대한 정보를 표시할 수 있다. 실시예들에서, 사용자 인터페이스(600)가 터치스크린 디스플레이(604)에 의해 표시될 때, 디바이스(602)의 백라이트가 조명될 수 있다. 백라이트의 조명은 사용자로 하여금 실행되는 애플리케이션을 보고 또한 디바이스(602)가 제안된 애플리케이션을 실행하는 것을 인식하도록 허용한다. 자동적으로 뮤직 애플리케이션을 실행하고 사용자 인터페이스(600)를 사용자에게 제공함으로써, 디바이스(602)는 사용자로 하여금 하나 또는 더 많은 아이콘들을 클릭해야 하지 않고서 자신들의 요망 애플리케이션에 접근하게 허용함으로써 사용자 경험을 개선할 수 있다.
사용자 인터페이스(600)의 부분들이 일부 상황들에서 감춰질 수 있다. 예를 들어, 디바이스(602)의 도 3에 있는 전문가 센터(320)와 같은 전문가 센터가 또 다른 애플리케이션이 제안된 애플리케이션보다 우선권이 있다고 결정하면, 앨범 아트(614)는 감춰질 수 있고, 다른 애플리케이션이 그 대신에 표시될 수 있다. 다른 애플리케이션이 다른 애플리케이션을 실행하기 위한 디스플레이(604)상의 접근 가능한 아이콘으로서 표시될 수 있다. 기타 실시예들에서, 다른 애플리케이션은 사용자가 통지를 클릭할 때 다른 애플리케이션의 아이콘에 대한 접근을 허용하는 통지로서 표시될 수 있다. 그와 같은 상황들에서, 통지는 앨범 아트(614) 대신에 표시될 것이다. 실시예들에서, 사용자 인터페이스가 잠금 화면상에 표시되면, 이후 통지는 마찬가지로 잠금 화면상에 표시될 수 있다. 따라서, 사용자는 더 높은 우선 순위를 갖는 것으로 여겨지는 애플리케이션을 인식하게 되고 및 이것을 실행할 기회를 부여 받을 수 있다.
Ⅵ. 애플리케이션을 실행하기 위한 시간 제한
실시예들에서, 식별된 애플리케이션이 소정 시간 기간에 접근되지 않는다면, 디바이스는 어떤 사용자 인터페이스도 처음부터 제공되지 않았던 것처럼 사용자 인터페이스를 제거할 수 있다. 사용자가 소정 시간 기간 내에 애플리케이션에 접근하지 않으면, 사용자가 애플리케이션에 접근하지 것에 관심이 없다는 것이 가정된다. 그러므로, 사용자 인터페이스는 제거되어 사용자가 식별된 애플리케이션에 접근할 수 없도록 되고, 사용자는 혼란해 빠지지 않는다.
도 7a 및 도 7b는 실시예들에 따라 사용자 인터페이스를 제거하기 위한 방법들을 도해하는 흐름도들이다. 구체적으로, 도 7a는 시간 기간이 경과된 후에 사용자 인터페이스를 제거하기 위한 방법 700을 도해하는 흐름도이다. 도 7b는 트리거링 이벤트가 임계값 시간 기간 내에 제거된 후 사용자 인터페이스를 제거하기 위한 방법 703을 도해하는 흐름도이다. 방법들 700 및 703은 디바이스에 의해 전적으로 또는 부분적으로 수행될 수 있다.
도 7a를 참조하면, 방법 700은 블록 701에서 사용자에게 사용자 인터페이스를 제공하는 것으로 시작한다. 블록 701은 도 5에 대하여 여기서 논의된 블록 512에 언급된 것처럼 수행될 수 있다.
블록 702에서, 디바이스는 임계값 시간 기간이 사용자 인터페이스가 처음으로 사용자에게 제공된 이래로 경과했는지를 결정한다. 사용자 인터페이스는 잠긴 화면 또는 홈 화면 중 어느 하나에서 사용자에게 제공될 수 있다. 실시예들에서, 임계값 시간 기간은 사용자가 디바이스와 상호 작용하지 않았던 경우에 사용자에게 사용자 인터페이스를 제공한 후 즉시 시작하는 미리 결정된 시간 기간을 나타낸다.
임계값 시간 기간은 트리거링 이벤트의 유형에 의존하여 변할 수 있다. 예를 들어, 트리거링 이벤트가 직접적 사용자 상호작용(예를 들면, 이벤트를 초래하도록 의도된 사용자에 의한 인지 행동)을 수반하는 이벤트 유형이면, 이후 임계값 시간 기간은 15 내지30초와 같이 상대적으로 짧을 수 있다. 그러한 트리거링 이벤트의 예는 헤드폰들의 세트의 헤드폰 잭 내로의 삽입을 포함한다. 또 다른 예는 시간의 장기간 기간 후에 버튼을 누름으로써 디바이스를 깨우는 것을 포함한다. 임계값 시간 기간은 비교적 짧을 수 있는데, 그 이유는 사용자가 직접적으로 전화기와 상호 작용하는 것이 가정될 수 있고 또한 출력되고 식별된 애플리케이션을 바로 인식할 수 있기 때문이다. 사용자가 바로 식별된 애플리케이션을 인식하기 때문에, 식별된 애플리케이션이 접근되지 않는 짧은 시간 기간의 경과는 사용자가 식별된 애플리케이션에 접근하려 하지 않는다는 것을 나타낸다.
대안적으로, 트리거링 이벤트가 직접적 사용자 상호작용을 수반하지 않는 이벤트 유형이라면, 이후 임계값 시간 기간은 직접적 사용자 상호작용을 수반하는 트리거링 이벤트에 대한 임계값 시간 기간보다 더 길 수 있다. 실시예에서, 직접적 사용자 상호작용을 수반하지 않는 트리거링 이벤트에 대한 임계값 시간 기간은 15 내지 30분과 같이, 상대적으로 길 수 있다. 그러한 한가지 예는 로케이션에 도착하는 것을 포함한다. 디바이스가 특정한 로케이션에 도착할 때, 사용자가 여행 중에 있고 디바이스에 집중하지 않는다는 것이 가정된다. 사용자가 출력되고 식별된 애플리케이션을 바로 인식하지 않을 수 있다. 그러므로, 사용자가 디바이스를 검사하고 식별된 애플리케이션을 인식하게 되기 전에 더 많은 시간이 결과할 수 있다.
블록 704에서, 임계값 시간 기간이 경과하면, 이후 사용자 인터페이스는 제거될 수 있어서 사용자가 애플리케이션이 제안되었다는 것을 전혀 깨닫지 못할 수 있게 한다. 그러나, 임계값 시간 기간이 경과하지 않았으면, 이후 블록 706에서, 디바이스는 사용자가 애플리케이션에 접근하고 싶어하는지를 결정한다. 사용자는 자신이, 터치스크린과 상호 작용하고, 버튼을 누르고, 스위치를 돌리고, 바이오메트릭 디바이스를 사용하는 것에 의해서와 같이, 사용자 인터페이스를 통해 임의 형태의 사용자 입력에 의해 애플리케이션에 접근하고 싶어한다는 것을 나타낼 수 있다.
사용자가 애플리케이션에 접근하기 위한 자신들의 욕구를 아직 지시하지 않았다는 것이 결정되면, 디바이스는 블록 701에서 사용자에게 사용자 인터페이스를 제공하기를 계속할 수 있다. 그러나, 디바이스가 사용자가 애플리케이션에 접근하고 싶어한다는 지시를 수신하면, 블록 708에서, 디바이스는 애플리케이션을 실행할 수 있다. 따라서, 디바이스는 바라는 애플리케이션에의 지름길을 제공함으로써 사용자 시간을 절감할 수 있으며, 그에 의해 사용자 경험을 개선한다.
몇몇 실시예들에서, 사용자 인터페이스는 임계값 시간 기간의 지속 시간 전에 제거될 수 있다. 도 7b에 도시된 것과 같이, 블록 710에서, 디바이스는 트리거링 이벤트가 제거되었다는 것, 예를 들어, 트리거링 이벤트에 반대되는 행동이 검출되었는지를 결정한다. 예를 들어, 트리거링 이벤트가 헤드폰들의 세트를 헤드폰 잭 내에 삽입하는 것이라면, 트리거링 이벤트의 제거는 헤드폰 잭으로부터 헤드폰의 세트를 빼내는 것이다. 또 다른 예에서, 트리거링 이벤트가 블루투스 연결을 확립하는 것이라면, 트리거링 이벤트의 제거는 블루투스 연결을 연결 해제하는 것이다. 트리거링 이벤트의 제거는 사용자가 제안된 디바이스에 접근하려고 하지 않는다는 것을 의미하는 것으로 디바이스에 의해 해석될 수 있다. 따라서, 트리거링 이벤트가 제거되면, 사용자 인터페이스는 블록 704에서 제거될 수 있는데, 예를 들어, 애플리케이션은 클리어링될 수 있고 애플리케이션을 위한 임의의 사용자 인터페이스는 숨겨질 수 있다.
Ⅶ. 훈련 루틴
이력 정보가 모바일 디바이스의 사용을 통하여 누적됨에 따라, 예측 모델들(예를 들면, 도 4에서 논의하는 예측 모델들 1-N)은 새로운 이력 정보를 고려하여 주기적으로 훈련될 수 있다(즉, 갱신될 수 있다). 훈련된 후, 예측 모델들 1-N은 사용자와 모바일 디바이스 간의 가장 최근의 상호작용 패턴들에 따라 애플리케이션들과 행동들을 더 정확하게 제안할 수 있다. 트레이닝 예측 모델들 1-N은 다량의 이력 정보가 기록되었을 때 가장 효과적일 수 있다. 그러므로, 훈련은 모바일 디바이스로 하여금 사용자와의 수많은 상호작용을 검출하게 하기에 충분한 만큼 오랫동안의 시간 구간들에서 발생할 수 있다. 그러나, 훈련 세션들 간에 너무 긴 시간 기간을 기다리는 것은 예측 엔진의 적응성을 방해할 수 있다. 그러므로, 훈련 세션들 간의 적절한 시간 기간은 18 시간과 같이, 15 내지 20시간에 있을 수 있다.
훈련 예측 모델들 1-N은 시간이 걸릴 수 있고, 모바일 디바이스의 사용을 방해할 수 있다. 따라서, 훈련은 사용자가 디바이스를 사용할 가능성이 가장 없는 때에 발생할 수 있다. 사용자가 디바이스를 사용하지 않을 것이라고 예측하는 한 방식은, 디바이스가 이용되지 않고 있을 때, 예를 들면, 어떤 버튼들도 눌려지지 않을 때 및 디바이스가 움직이고 있지 않을 때의 시간 기간 동안 기다리는 것에 의한 것이다. 이것은 사용자가 가까운 미래의 시간 기간 동안 전화기와 상호 작용하지 않을 상태에 사용자가 있다는 것, 예를 들면, 사용자가 잠든 때인 것을 나타낼 수 있다. 임의의 적절한 지속시간은 1 내지 3시간과 같은 대기 시간 기간으로 사용될 수 있다. 특정 실시예에 있어서, 대기의 시간 기간은 2시간이다.
2시간 종료 시에, 예측 모델들 1-N은 갱신될 수 있다. 그러나 사용자가 2시간의 종료 전에 모바일 디바이스와 상호작용하면(예를 들면, 버튼을 누르거나, 디바이스를 움직이면), 2시간의 시간 기간 카운트다운이 재시작할 수 있다. 시간 기간이 2시간의 비활성에 도달하기 전에 끊임없이 재시작하면, 모바일 디바이스는 절대 시간 기간 후에 예측 모델들 1-N의 훈련을 강제할 수 있다. 실시예에서, 절대 시간 기간은 모바일 디바이스의 사용자 편의성이 구식 예측 모델 때문에 하락하기 시작하는 임계값 시간 기간인 것으로 결정될 수 있다. 절대 시간 기간은 10 내지 15 시간의 범위에, 또는 특정 실시예에 있어서 12 시간에 있을 수 있다. 따라서, 훈련 간의 시간의 최대 양은 28 시간(18 + 10시간) 내지 33 시간(18 + 15시간)의 범위에 있을 수 있다. 특정 실시예에 있어서, 시간의 최대 양은 30 시간(18 + 12시간)이다.
VIII. 예시적 디바이스
도 8은 모바일 디바이스일 수 있는 예시적 디바이스(800)의 블록도이다. 디바이스(800)는 일반적으로 컴퓨터 판독가능 매체(802), 처리 시스템(804), 입/출력(I/O) 서브시스템(806), 무선 회로(808), 및 스피커(850)와 마이크로폰(852)을 포함하는 오디오 회로(810)를 포함한다. 이러한 컴포넌트들은 하나 이상의 통신 버스들 또는 신호 라인들(803)에 의해 결합될 수 있다. 디바이스(800)는 핸드헬드 컴퓨터, 태블릿 컴퓨터, 모바일 폰, 랩톱 컴퓨터, 태블릿 디바이스, 미디어 플레이어, 개인 휴대 정보 단말기(PDA), 키 폽(key fob), 차량 키, 접근 카드, 다기능 디바이스, 모바일 폰, 휴대용 게임 디바이스, 차량 디스플레이 유닛, 또는 그와 유사한 것을 포함하고, 이들 아이템들 중 두 개 이상의 조합을 포함하는 임의의 휴대용 컴퓨팅 디바이스일 수 있다.
도 7에 도시된 아키텍처는 디바이스(800)에 대한 아키텍처의 한 예에 불과하고, 디바이스(800)은 도시된 것보다 많거나 적은 컴포넌트들 또는 컴포넌트들의 상이한 구성을 가질 수 있다. 도 7에 도시된 다양한 컴포넌트들은 하나 이상의 신호 처리 및/또는 주문형 집적 회로를 포함하여, 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어 양자의 조합으로 구현될 수 있다.
무선 회로(808)는 무선 링크 또는 네트워크를 통해, 안테나 시스템, RF 송수신기, 하나 이상의 증폭기들, 튜너, 하나 이상의 발진기들, 디지털 신호 처리기, CODEC 칩셋, 메모리 등과 같은 하나 이상의 다른 디바이스들의 통상의 회로에 대해 정보를 송신하고 수신하는 데 사용된다. 무선 회로(808)는 예로, 여기서 설명되는 대로의 다양한 프로토콜을 사용할 수 있다.
무선 회로(808)는 주변 디바이스 인터페이스(816)를 통해 처리 시스템(804)에 결합된다. 인터페이스(816)는 주변 디바이스들과 처리 시스템(804) 간의 통신을 확립하고 유지하기 위한 통상의 컴포넌트들을 포함할 수 있다. (예를 들면, 음성인식 또는 음성 명령 애플리케이션에서) 무선 회로(808)에 의해 수신되는 음성 및 데이터 정보는 주변 디바이스 인터페이스(816)를 통해 하나 이상의 프로세서들(818)에게 보내진다. 하나 이상의 프로세서들(818)은 매체(802)상에 저장되는 하나 이상의 애플리케이션 프로그램들(834)을 위한 다양한 데이터 포맷들을 처리하도록 구성가능하다.
주변 디바이스 인터페이스(816)는 디바이스의 입력 및 출력 주변 디바이스들을 프로세서(818) 및 컴퓨터 판독가능 매체(802)에 결합한다. 하나 이상의 프로세서들(818)은 컨트롤러(820)를 통해 컴퓨터 판독가능 매체(802)와 통신한다. 컴퓨터 판독가능 매체(802)는 하나 이상의 프로세서들(818)에 의한 사용을 위해 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있다. 매체(802)는 캐시, 주 메모리 및 보조 메모리를 포함하는 메모리 계층 구조를 포함할 수 있다.
디바이스(800)는 또한 다양한 하드웨어 컴포넌트들에게 전력을 공급하기 위한 전력 시스템(842)을 포함한다. 전력 시스템(842)은 전력 관리 시스템, 하나 이상의 전원들[예를 들어, 배터리, 교류(AC), 재충전 시스템, 전원 고장 검출 시스템, 전력 컨버터 또는 인버터, 전력 상태 표시자(예를 들어, LED(light emitting diode)] 및 휴대용 디바이스들에서의 전력의 발생, 관리, 및 분배와 통상적으로 연관되는 임의의 다른 컴포넌트들을 포함할 수 있다.
몇몇 실시예들에서, 디바이스(800)는 카메라(844)를 포함한다. 몇몇 실시예들에서, 디바이스(800)는 센서들(846)을 포함한다. 센서들은 가속도계들, 나침반, 자이로미터, 압력 센서들, 오디오 센서들, 광 센서들, 기압계들, 및 그와 유사한 것을 포함할 수 있다. 센서들(846)은 로케이션의 청각적 또는 광 시그니처와 같은 로케이션 양상들을 감지하기 위해 이용될 수 있다.
몇몇 실시예들에서, 디바이스(800)는 때때로 GPS 유닛(848)으로서 지칭되는 GPS 수신기를 포함할 수 있다. 모바일 디바이스는 위치 정보, 타이밍 정보, 고도, 또는 다른 내비게이션 정보를 취득하기 위해, GPS와 같은 위성항법 시스템을 이용할 수 있다. 동작 동안, GPS 유닛은 지구 궤도를 도는 GPS 위성들로부터 신호들을 수신할 수 있다. GPS 유닛은 통과 시간과 거리 추정을 하기 위해 신호들을 분석한다. GPS 유닛은 모바일 디바이스의 현재 위치(현재 로케이션)를 결정할 수 있다. 이러한 추정들에 기초하여, 모바일 디바이스는 로케이션 확정, 고도, 및/또는 현재 속력을 결정할 수 있다. 로케이션 확정은 위도 및 경도 정보와 같은 지리적 좌표들일 수 있다.
하나 이상의 프로세서들(818)은 디바이스(800)를 위한 다양한 기능들을 수행하기 위해 매체(802)에 저장되는 다양한 소프트웨어 컴포넌트들을 실행한다. 몇몇 실시예들에서, 소프트웨어 컴포넌트들은, 운영 체제(822), 통신 모듈(또는 명령어들의 세트)(824), 로케이션 모듈(또는 명령어들의 세트)(826), 트리거링 이벤트 모듈(828), 예측 모듈(830), 및 자동차 로케이터 앱 및 내비게이션 앱과 같은 다른 애플리케이션들(또는 명령어들의 세트)(834)을 포함한다.
운영 체제(822)는 iOS, Mac OS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, 또는 VxWorks와 같은 내장형 운영 체제를 포함하는 임의의 적절한 운영 체제일 수 있다. 운영 체제는 다양한 프로시져들, 명령어들의 세트들, 일반적 시스템 작업들(예를 들어, 메모리 관리, 스토리지 디바이스 제어, 전력 관리 등)을 제어하고 관리하기 위한 소프트웨어 컴포넌트들 및/또는 드라이버들을 포함하고, 다양한 하드웨어와 소프트웨어 컴포넌트들 간의 통신을 용이하게 한다.
통신 모듈(824)은 하나 이상의 외부 포트들(836)을 통해 또는 무선 회로(808)를 통해 다른 디바이스들과의 통신을 용이하게 하고, 무선 회로(808) 및/또는 외부 포트(836)로부터 수신되는 데이터를 핸들링하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 외부 포트(836)(예를 들어, USB, 파이어와이어, 라이트닝 커넥터, 60-핀 커넥터, 등)는 다른 디바이스들에 직접 결합하거나 네트워크(예를 들어, 인터넷, 무선 LAN 등)를 통해 간접적으로 결합하도록 구성된다.
로케이션/모션 모듈(826)은 디바이스(800)의 현재 위치(예를 들면, 좌표들 또는 다른 지리적 위치 식별자)와 모션을 결정하는 것을 도울 수 있다. 오늘날의 위치 파악 시스템들은GPS와 같은 위성 기반 위치 파악 시스템, "셀 ID들"에 기초한 셀 방식 네트워크 위치 파악, 및 Wi-Fi 네트워크들에 기초한 Wi-Fi 위치 파악 기술을 포함한다. GPS는 또한 실내에서 또는 "도시적인 협곡"에서 가시적이지 않을 수 있는(또는 약한 신호를 가지고 있는) 위치 추정치를 결정하기 위한 다중 위성의 가시성에게 의지한다. 몇몇 실시예들에서, 로케이션/모션 모듈(826)은 GPS 유닛(848)으로부터 데이터를 수신하고, 모바일 디바이스의 현재 위치를 결정하기 위해 신호들을 분석한다. 몇몇 실시예들에서, 로케이션/모션 모듈(72826)은 Wi-Fi 또는 셀 방식 로케이션 기술을 사용하여 현재 로케이션을 결정할 수 있다. 예를 들어, 모바일 디바이스의 로케이션은 또한 그들의 로케이션의 지식과 함께 가까운 셀 사이트들 및/또는 Wi-Fi 접근 포인트들(AP)의 지식을 이용하여 추정될 수 있다. Wi-Fi 또는 셀 방식 송신기를 식별하는 정보는 무선 회로(808)에서 수신되고, 로케이션/모션 모듈(826)에게 넘겨진다. 몇몇 실시예들에서, 로케이션 모듈은 하나 이상의 송신기 ID들을 수신한다. 몇몇 실시예들에서, 송신기 ID들의 시퀀스는 대응하는 송신기들의 위치 좌표에 송신기 ID들을 매핑하거나 상관시키고, 대응하는 송신기들의 위치 좌표들에 기초하여 디바이스(800)에 대한 추정 위치 좌표들을 계산하는 참조 데이터베이스(예를 들면, 셀 ID 데이터베이스, Wi-Fi 참조 데이터베이스)와 비교될 수 있다. 사용된 특정한 로케이션 기술에 상관없이, 로케이션/모션 모듈(826)은 로케이션 확정이 그로부터 도출되는 정보를 수신하고, 해당 정보를 해석하고, 및 지리 좌표, 위도/경도, 또는 다른 로케이션 확정 데이터와 같은 위치 정보를 반환한다.
예를 들면, 도 2에 대하여 여기서 기술되는 것처럼, 트리거링 이벤트 모듈(828)은 다양한 서브 모듈들 또는 시스템들을 포함할 수 있다. 게다가, 예를 들면, 도 3에 대하여 여기서 기술되는 것처럼, 예측 모듈(830)은 다양한 서브 모듈들 또는 시스템들을 포함할 수 있다.
모바일 디바이스상의 하나 이상의 애플리케이션들(834)은, 제한적이지 않게 브라우저, 주소록, 연락처 목록, 이메일, 인스턴트 메시징, 워드 프로세싱, 키보드 에뮬레이션, 위젯들, 자바 지원 애플리케이션들, 암호화, 디지털 저작권 관리, 음성 인식, 음성 복제, 뮤직 플레이어(이것은 MP3 또는 AAC 파일들과 같은 하나 이상의 파일들에 저장된 기록 뮤직을 재생함), 기타 등등을 포함하여, 디바이스(800)상에 설치되는 임의의 애플리케이션들을 포함할 수 있다.
그래픽스 모듈, 시간 모듈, 기타 등등과 같은, 다른 모듈들 또는 명령어들의 세트들(도시 생략)이 있을 수 있다. 예를 들어, 그래픽스 모듈은 디스플레이 표면상에 그래픽 오브젝트들(제한적이지 않게 텍스트, 웹 페이지들, 아이콘들, 디지털 이미지들, 애니메이션들, 및 그와 유사한 것을 포함함)을 렌더링하고, 애니메이션 처리하고 및 표시하기 위한 다양한 통상의 소프트웨어 컴포넌트들을 포함할 수 있다. 또 다른 예에서, 타이머 모듈은 소프트웨어 타이머일 수 있다. 타이머 모듈은 또한 하드웨어에서 구현일 수 있다. 타이머 모듈은 임의 횟수의 이벤트들을 위한 다양한 타이머들을 유지할 수 있다.
I/O 서브시스템(806)은 터치 감지(즉, 터치스크린) 디스플레이일 수 있는 디스플레이 시스템(도시 생략)에 결합될 수 있다. 디스플레이는 GUI로 사용자에게 시각적 출력을 표시한다. 시각적 출력은 텍스트, 그래픽스, 비디오, 및 이들의 임의의 조합을 포함할 수 있다. 시각적 출력의 일부 또는 그 전부는 사용자 인터페이스 오브젝트들에 대응할 수 있다. 기타 실시예들에서는 다른 디스플레이 기술들이 이용될 수 있기는 하지만, 디스플레이는 LED (light emitting diode), LCD (liquid crystal display) 기술, 또는 LPD (light emitting polymer display) 기술을 이용할 수 있다. .
몇몇 실시예들에서, I/O 서브시스템(806)은 키보드, 마우스, 및/또는 트랙 패드와 같은 디스플레이 및 사용자 입력 디바이스들을 포함할 수 있다. 몇몇 실시예들에서, I/O 서브시스템(806)은 터치 감지 디스플레이를 포함할 수 있다. 터치 감지 디스플레이는 또한 햅틱(haptic) 및/또는 촉각(tactile) 접촉에 기초한 사용자로부터의 입력을 수신할 수 있다. 몇몇 실시예들에서, 터치 감지 디스플레이는 사용자 입력을 수용하는 터치 감지 표면을 형성한다. 터치 감지 디스플레이/표면은[매체(802)에서의 임의의 연관된 모듈들 및/또는 명령어들의 세트들과 함께] 터치 감지 디스플레이상의 접촉(및 접촉의 임의의 이동 또는 해제)을 검출하고, 이 검출된 접촉을, 접촉이 일어날 때 터치 스크린상에 표시되는 하나 이상의 소프트 키들과 같은 사용자 인터페이스 오브젝트들과의 상호작용으로 변환한다. 예시적 실시예들에서, 터치 감지 디스플레이와 사용자 간의 접촉 지점은 사용자의 하나 이상의 손가락(digit)에 대응한다. 사용자는 스타일러스, 펜, 손가락 등의 임의의 적절한 오브젝트 또는 부속물을 사용하여 터치 감지 디스플레이와 접촉할 수 있다. 터치 감지 디스플레이 표면은, 용량성, 저항성, 적외선, 및 표면탄성파(surface acoustic wave) 기술은 물론이고 터치 감지 디스플레이와의 하나 이상의 접촉 지점들을 판정하는 기타 근접 센서 어레이들 또는 기타 요소들을 포함하는 임의의 적합한 터치 감도 기술들을 사용하여 접촉 및 접촉의 움직임 또는 해제를 검출할 수 있다.
추가로, I/O 서브시스템은 전력 제어, 스피커 볼륨 제어, 링 톤 크기(ring tone loudness), 키보드 입력, 스크롤링, 홀드(hold), 메뉴, 화면 잠금, 클리어링(clearing)과 종료 통신 및 그와 유사한 것과 같은 다양한 기능들을 제어하거나 수행하기 위해, 푸시 버튼들, 키들, 스위치들, 록커 버튼들(rocker buttons), 다이얼들, 슬라이더 스위치들, 스틱들, LED들, 기타 등등과 같은 하나 이상이 기타 물리적 제어 디바이스들(도시 안됨)에 결합될 수 있다. 몇몇 실시예들에서, 터치 스크린 외에도, 디바이스(800)는 특정 기능을 활성화 또는 비활성화하기 위한 터치패드(도시 안됨)를 포함할 수도 있다. 몇몇 실시예들에서, 터치패드는, 터치스크린과는 달리 가시적 출력을 표시하지 않는 디바이스의 터치 감지 지역이다. 터치패드는 터치 감지 디스플레이와 별개인 터치 감지 표면이거나 터치 감지 디스플레이에 의해 형성되는 터치 감지 표면의 연장부일 수 있다.
몇몇 실시예들에서, 본 명세서에서 기술되는 동작들 중 일부 또는 전부는 사용자의 디바이스상에서 실행되는 애플리케이션을 이용하여 수행될 수 있다. 회로들, 논리 모듈들, 프로세서들, 및/또는 다른 컴포넌트들은 본 명세서에서 기술되는 다양한 동작들을 수행하도록 구성될 수 있다. 통상의 기술자들은, 구현에 의존하여 그러한 구성이 특정 컴포넌트들의 설계, 셋업, 상호접속, 및/또는 프로그래밍을 통하여 달성될 수 있으며 또한 다시금 구현에 의존하여 구성된 컴포넌트가 상이한 동작에 대해 재구성 가능하거나 재구성 가능하지 않을 수 있다는 것을 알 것이다. 예를 들어, 프로그래머블 프로세서는 적절한 실행가능 코드를 제공함으로써 구성될 수 있고; 전용 논리 회로가 논리 게이트들 및 다른 회로 요소들을 적절하게 접속함으로써 구성될 수 있고; 등등과 같이 된다.
본 출원에 기술되는 임의의 소프트웨어 컴포넌트들 또는 기능들은 프로세서에 의해 실행될 소프트웨어 코드로서 구현될 수 있는데, 여기서 소프트웨어 코드는, 예를 들어 자바, C, C++, C#, 오브젝티브-C, 스위프트, 또는 예를 들어 통상적 또는 객체 지향 기술들을 이용하는 펄(Perl) 또는 파이썬(Python)과 같은 스크립트 언어와 같은 임의의 적절한 컴퓨터 언어로 될 수 있다. 소프트웨어 코드는 스토리지 및/또는 전송을 위해 컴퓨터 판독가능 매체상에 일련의 명령어들 또는 명령들로서 저장될 수 있다. 적절한 비일시적 컴퓨터 판독가능 매체는 RAM(random access memory), ROM(read only memory), 하드 드라이브 또는 플로피 디스크와 같은 자성 매체, 또는 CD(compact disk) 또는 DVD (digital versatile disk)와 같은 광 매체, 플래시 메모리 및 그와 유사한 것과 같은 것을 포함할 수 있다. 컴퓨터 판독가능 매체는 이러한 스토리지 또는 전송 디바이스들의 임의의 조합일 수 있다.
본 발명의 다양한 특징들을 수용하는 컴퓨터 프로그램들은 다양한 컴퓨터 판독가능 스토리지 매체상에서 인코딩될 수 있으며, 적절한 매체는 자기 디스크 또는 테이프, CD(compact disk) 또는 DVD(digital versatile disk)와 같은 광학 스토리지 매체, 플래시 메모리 등을 포함한다. 프로그램 코드가 인코딩된 컴퓨터 판독가능 스토리지 매체가 호환 가능한 디바이스와 함께 패키징되거나 다른 디바이스들과 별도로 제공될 수 있다. 또한 프로그램 코드는 인터넷을 포함하는 여러 가지 프로토콜을 준수하는 유선 광학, 및/또는 무선 네트워크들을 통해 인코딩되고 전송될 수 있어서, 예를 들어, 인터넷 다운로드를 통한 배포를 허용한다. 임의의 이러한 컴퓨터 판독가능 매체는 단일 컴퓨터 프로그램 제품(예를 들어, SSD, 하드 드라이브, CD, 또는 전체 컴퓨터 시스템)상에 있거나 그 내에 있을 수 있고, 시스템 또는 네트워크 내의 상이한 컴퓨터 제품들상에 있거나 그 내에 있을 수 있다. 컴퓨터 시스템은 모니터, 프린터, 또는 본 명세서에서 언급된 임의의 결과들을 사용자에게 제공하기 위한 다른 적합한 디스플레이를 포함할 수 있다.
본 발명이 특정 실시예들에 대하여 설명되었지만, 본 발명은 하기 청구범위의 범위 내에서의 모든 수정들 및 등가물들을 포괄하도록 의도된다는 것을 알 것이다.
[특허청구범위]
[청구항 1]
컴퓨팅 디바이스상에서 실행되는 제안된 애플리케이션과 상호 작용하기 위한 사용자 인터페이스를 사용자에게 제공하기 위한 컴퓨터 구현 방법으로서,
방법은, 컴퓨팅 디바이스에서:
컴퓨팅 디바이스의 입력 디바이스에서의 이벤트를 검출하는 단계;
이벤트가 하나 이상의 제안된 애플리케이션들을 식별하기 위해 지정된 트리거링 이벤트들의 그룹 중 하나에 대응한다는 것을 결정하는 단계;
이벤트에 대응하는 제1 예측 모델을 선택하는 단계;
컴퓨팅 디바이스에 관한 정황 정보를 수신하는 단계 - 정황 정보는 제1 정황에 대해 컴퓨팅 디바이스의 하나 이상의 속성들을 특정함 -;
제1 예측 모델에 의해, 이벤트가 제1 정황과 연관되어 발생할 때 사용자에 의해 접근될 적어도 임계값 확률을 적어도 갖는 하나 이상의 애플리케이션들의 세트를 식별하는 단계 - 제1 예측 모델은 이벤트가 검출된 후의 컴퓨팅 디바이스와의 사용자의 이력 상호작용들을 이용함 -;
하나 이상의 애플리케이션들의 세트와 상호 작용하기 위한 사용자 인터페이스를 사용자에게 제공하는 단계
를 포함하는 방법.
[청구항 2]
제1항에 있어서, 컴퓨팅 디바이스의 입력 디바이스에서의 이벤트를 검출하는 단계는:
액세서리 디바이스에의 컴퓨팅 디바이스의 연결을 검출하는 단계를 포함하는 방법.
[청구항 3]
제2항에 있어서, 액세서리 디바이스는 헤드폰들 또는 차량의 컴퓨터를 포함하는 방법.
[청구항 4]
제1항에 있어서, 정황 정보는 컴퓨팅 디바이스의 로케이션을 특정하는 방법.
[청구항 5]
제1항에 있어서, 사용자 인터페이스는 컴퓨팅 디바이스의 홈 화면상에 제공되는 것보다 더 적은 애플리케이션들과의 화면상의 상호작용들을 허용하는 방법.
[청구항 6]
제1항에 있어서, 컴퓨팅 디바이스의 입력 디바이스에서의 이벤트를 검출하는 단계는:
하나 이상의 모션 센서들로 컴퓨팅 디바이스의 움직임을 검출하는 단계; 및
움직임에 기초하여 컴퓨팅 디바이스의 모션 상태를 결정하는 단계 - 하나 이상의 제안된 애플리케이션들을 식별하기 위해 지정되는 트리거링 이벤트의 그룹 중 하나는 컴퓨팅 디바이스의 모션 상태를 포함함 -.
[청구항 7]
제1항에 있어서, 제2 예측 모델이 또 다른 트리거링 이벤트가 검출될 때 선택되고, 또 다른 트리거링 이벤트는 이벤트와는 다르며, 제2 예측 모델은 제1 예측 모델과 다른 방법.
[청구항 8]
제1항에 있어서, 하나 이상의 애플리케이션들의 세트는 복수의 애플리케이션을 포함하고, 하나 이상의 애플리케이션의 세트는 전체로 임계값 확률보다 더 큰 확률을 갖는 방법.
[청구항 9]
제1항에 있어서, 사용자 인터페이스는 컴퓨팅 디바이스의 잠금 화면상에 제공되고, 사용자 인터페이스는 잠금 화면으로부터 애플리케이션들의 세트 중 하나의 선택을 허용하는 방법.
[청구항 10]
제1항에 있어서, 하나 이상의 애플리케이션들의 세트를 실행하는 단계를 더 포함하고, 사용자 인터페이스는 실행되는 하나 이상의 애플리케이션들에 특정적인 방법.
[청구항 11]
제1항에 있어서, 하나 이상의 속성들은 컴퓨팅 디바이스의 로케이션, 컴퓨팅 디바이스에 의해 결정되는 시각, 및 컴퓨팅 디바이스에 의해 결정되는 연중 날 중 적어도 하나를 포함하는 방법.
[청구항 12]
제1항에 있어서,
임계값 시간 기간이 경과했는지를 결정하는 단계;
임계값 시간 기간이 경과했다고 결정될 때 사용자 인터페이스를 제거하는 단계;
임계값 시간 기간이 경과하지 않았다고 결정될 때 사용자가 하나 이상의 애플리케이션들의 세트에 접근하는 것을 구하는지를 결정하는 단계; 및
사용자가 하나 이상의 애플리케이션들의 세트에 접근하는 것을 구한다고 결정될 때 하나 이상의 애플리케이션들의 세트를 실행하는 단계
를 더 포함하는 방법.
[청구항 13]
제12항에 있어서, 임계값 시간 기간은 직접적 사용자 상호작용을 수반하지 않는 트리거링 이벤트들에 대해 그런 것보다 직접적 사용자 상호작용을 포함하는 트리거링 이벤트들에 대해 더 짧은 방법.
[청구항 14]
복수의 명령어를 저장하는 비일시적 컴퓨터 판독가능 매체를 포함하는 컴퓨터 제품으로서, 명령어들은 실행될 때 하나 이상의 프로세서들을 포함하는 디바이스를 제어하고, 명령어들은:
디바이스의 입력 디바이스에서의 이벤트를 검출하는 단계;
이벤트가 하나 이상의 제안된 애플리케이션들을 식별하기 위해 지정된 트리거링 이벤트들의 그룹 중 하나에 대응한다는 것을 결정하는 단계;
이벤트에 대응하는 제1 예측 모델을 선택하는 단계;
컴퓨팅 디바이스에 관한 정황 정보를 수신하는 단계 - 정황 정보는 제1 정황에 대해 컴퓨팅 디바이스의 하나 이상의 속성들을 특정함 -;
제1 예측 모델에 의해, 이벤트가 제1 정황에서 발생할 때 사용자에 의해 접근될 적어도 임계값 확률을 적어도 갖는 하나 이상의 애플리케이션들의 세트를 식별하는 단계 - 제1 예측 모델은 이벤트가 검출될 때 디바이스와의 사용자의 이력 상호작용들을 이용함 -;
하나 이상의 애플리케이션들의 세트와 상호 작용하기 위한 사용자 인터페이스를 사용자에게 제공하는 단계를 포함하는
컴퓨터 제품.
[청구항 15]
제14항에 있어서, 디바이스의 입력 디바이스에서의 이벤트를 검출하는 단계는:
액세서리 디바이스에의 컴퓨팅 디바이스의 연결을 검출하는 단계를 포함하는 컴퓨터 제품.
[청구항 16]
디바이스로서:
트리거링 이벤트들을 저장하기 위한 트리거링 이벤트 스토리지;
이력 데이터를 저장하기 위한 이력 스토리지;
하나 이상의 입력 디바이스들;
하나 이상의 정황 소스들; 및
하나 이상의 프로세서들
을 포함하고, 하나 이상의 프로세서들은:
하나 이상의 입력 디바이스들에서의 이벤트를 검출하고;
이벤트가 하나 이상의 제안된 애플리케이션들을 식별하기 위해 지정된 트리거링 이벤트들의 그룹 중 하나에 대응한다는 것을 결정하고;
이벤트에 대응하는 제1 예측 모델을 선택하고;
디바이스에 관한 정황 정보를 수신하고 - 정황 정보는 제1 정황에 대해 컴퓨팅 디바이스의 하나 이상의 속성들을 특정함 -;
제1 예측 모델에 의해, 이벤트가 제1 정황에서 발생할 때 사용자에 의해 접근될 적어도 임계값 확률을 적어도 갖는 하나 이상의 애플리케이션들의 세트를 식별하고 - 제1 예측 모델은 이벤트가 검출될 때 컴퓨팅 디바이스와의 사용자의 이력 상호작용들을 이용함 -;
하나 이상의 애플리케이션들의 세트와 상호 작용하기 위한 사용자 인터페이스를 사용자에게 제공하도록 구성되는
디바이스.
[청구항 17]
제16항에 있어서, 하나 이상의 입력 디바이스들은 헤드폰 잭, 블루투스 디바이스, 버튼, 터치스크린, 가속도계, 및 GPS 중 적어도 하나를 포함하는 디바이스.
[청구항 18]
제16항에 있어서, 트리거링 이벤트들은 미리 결정된 이벤트들인 디바이스.
[청구항 19]
제16항에 있어서, 사용자 인터페이스는 컴퓨팅 디바이스의 홈 화면상에 제공되는 것보다 더 적은 애플리케이션들과의 상호작용을 허용하는 디바이스.
[청구항 20]
제16항에 있어서, 하나 이상의 애플리케이션들의 세트는 복수의 애플리케이션을 포함하고, 각각의 복수의 애플리케이션은 임계값 확률보다 더 큰 확률을 갖는 디바이스.
[개시의 요약]
이벤트는 입력 디바이스에 의해 검출될 수 있다. 이벤트는 트리거링 이벤트들의 그룹과 이벤트를 비교함으로써 트리거링 이벤트인 것으로로 결정될 수 있다. 이벤트에 대응하는 제1 예측 모델이 이후 선택된다. 제1 정황에서 컴퓨팅 디바이스의 하나 이상의 속성들을 특정하는 디바이스에 관한 정황 정보가 이후 수신되고, 하나 이상의 애플리케이션들의 세트가 식별된다. 하나 이상의 애플리케이션들의 세트는 이벤트가 제1 정황에서 발생할 때 사용자에 의해 접근될 적어도 임계값 확률을 가질 수 있다. 그 후에, 하나 이상의 애플리케이션들의 세트와 상호 작용하기 위한 사용자 인터페이스가 사용자에게 제공된다.
[도면]
[도 1]
Figure 112016051891375-pat00001
[도 2]
Figure 112016051891375-pat00002
[도 3]
Figure 112016051891375-pat00003
[도 4]
Figure 112016051891375-pat00004
[도 5]
Figure 112016051891375-pat00005
[도 6]
Figure 112016051891375-pat00006
[도 7a]
Figure 112016051891375-pat00007
[도 7b]
Figure 112016051891375-pat00008
[도 8]
Figure 112016051891375-pat00009

Claims (20)

  1. 오디오 재생을 지능적으로 시그널링하기 위한 휴대용 컴퓨팅 디바이스에 의한 방법으로서:
    오디오 출력 시스템과의 연결이 이루어지는 것을 검출하는 단계;
    마지막으로 오디오를 재생한 제1 오디오 재생 애플리케이션 및 상기 제1 오디오 재생 애플리케이션이 마지막으로 오디오를 재생한 때를 결정하는 단계;
    상기 제1 오디오 재생 애플리케이션이 과거에 지정된 시간량 내에 오디오를 재생했는지를 결정하는 단계; 및
    상기 제1 오디오 재생 애플리케이션이 과거에 상기 지정된 시간량 내에 오디오를 재생했다는 결정에 응답하여, 상기 오디오 출력 시스템과 이루어진 상기 연결을 통하여, 상기 제1 오디오 재생 애플리케이션으로부터 상기 오디오 출력 시스템으로 오디오 재생을 시그널링하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 오디오 재생 애플리케이션으로부터 오디오 재생을 시그널링하는 한편, 사용자가 상기 제1 오디오 재생 애플리케이션으로부터 제2 오디오 재생 애플리케이션으로의 오디오 재생의 변경을 지시하기 위한 사용자 인터페이스를 제공하는 단계
    를 더 포함하는 방법.
  3. 제2항에 있어서, 상기 제2 오디오 재생 애플리케이션은 상기 휴대용 컴퓨팅 디바이스가 이전에 상기 오디오 출력 시스템에 연결되었을 때 마지막으로 오디오를 재생한 오디오 재생 애플리케이션인 방법.
  4. 제1항에 있어서,
    상기 휴대용 컴퓨팅 디바이스가 이전에 상기 오디오 출력 시스템에 연결되었을 때 마지막으로 오디오를 재생한 제2 오디오 재생 애플리케이션을 결정하는 단계; 및
    상기 제1 오디오 재생 애플리케이션이 과거에 상기 지정된 시간량 내에 오디오를 재생하지 않았다고 결정한 것에 응답하여, 상기 오디오 출력 시스템과 이루어진 상기 연결을 통하여, 상기 제2 오디오 재생 애플리케이션으로부터 상기 오디오 출력 시스템으로 오디오 재생을 시그널링하는 단계
    를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 제2 오디오 재생 애플리케이션으로부터 오디오 재생을 시그널링하는 한편, 사용자가 상기 제2 오디오 재생 애플리케이션으로부터 상기 제1 오디오 재생 애플리케이션으로의 오디오 재생의 변경을 지시하기 위한 사용자 인터페이스를 제공하는 단계
    를 더 포함하는 방법.
  6. 제1항에 있어서, 상기 오디오 출력 시스템은 차량 헤드 유닛인 방법.
  7. 제1항에 있어서,
    재생되는 콘텐츠의 이력, 재생되는 상기 콘텐츠의 재생 횟수, 또는 정황 정보 중 적어도 하나의 분석에 기초하여 상기 제1 오디오 재생 애플리케이션을 이용하여 재생될 추천 콘텐츠를 결정하는 단계, 및
    상기 추천 콘텐츠를 포함하는 재생 큐를 발생하는 단계
    를 더 포함하는 방법.
  8. 제2항에 있어서,
    재생되는 콘텐츠의 이력, 재생되는 상기 콘텐츠의 재생 횟수, 또는 정황 정보 중 적어도 하나의 분석에 기초하여 상기 제2 오디오 재생 애플리케이션을 이용하여 재생될 추천 콘텐츠를 결정하는 단계, 및
    상기 추천 콘텐츠를 포함하는 재생 큐를 발생하는 단계
    를 더 포함하는 방법.
  9. 지능적으로 오디오 재생을 수행하기 위한 휴대용 컴퓨팅 디바이스에 의한 방법으로서:
    오디오 출력 시스템과의 연결이 이루어지는 것을 검출하는 단계;
    정황 정보를 검색하는 단계;
    예측 모델을 이용하여, 상기 정황 정보에 기초하여 상기 휴대용 컴퓨팅 디바이스의 사용자에 의해 접근될 가장 높은 확률을 갖는 제1 오디오 재생 애플리케이션을 식별하는 단계 - 상기 예측 모델은 상기 휴대용 컴퓨팅 디바이스와 상기 사용자의 이력 상호작용들에 기초함-; 및
    상기 오디오 출력 시스템을 통해 상기 제1 오디오 재생 애플리케이션으로부터 오디오 재생을 시작하는 단계
    를 포함하는 방법.
  10. 제9항에 있어서,
    상기 제1 오디오 재생 애플리케이션으로부터 오디오 재생을 시작하는 한편, 상기 사용자가 오디오 재생을 그로부터 시작할 제2 오디오 재생 애플리케이션을 선택하기 위한 사용자 인터페이스를 제공하는 단계
    를 더 포함하는 방법.
  11. 제10항에 있어서, 상기 제2 오디오 재생 애플리케이션은 상기 정황 정보에 기초하여 상기 예측 모델에 의해 식별된 대로 상기 휴대용 컴퓨팅 디바이스의 사용자에 의해 접근될 두 번째로 높은 확률을 갖는 오디오 재생 애플리케이션인 방법.
  12. 제10항에 있어서, 상기 사용자 인터페이스는 상기 사용자에게 그로부터 선택할 복수의 오디오 재생 애플리케이션을 제공하는 방법.
  13. 제9항에 있어서, 상기 정황 정보는 상기 휴대용 컴퓨팅 디바이스가 그와 연결되는 현재 오디오 출력 시스템에 관한 정보를 포함하는 방법.
  14. 제9항에 있어서, 상기 정황 정보는 상기 휴대용 컴퓨팅 디바이스의 현재 로케이션 또는 현재 시각에 관한 정보를 포함하는 방법.
  15. 휴대용 컴퓨팅 디바이스로서:
    프로세서; 및
    메모리
    를 포함하고,
    상기 메모리에는, 상기 프로세서에 의해 실행될 때, 오디오 출력 시스템과의 연결이 이루어지는 때를 검출하고, 이후 마지막으로 오디오를 재생한 제1 오디오 재생 애플리케이션 및 상기 제1 오디오 재생 애플리케이션이 마지막으로 오디오를 재생한 때를 결정하고, 상기 제1 오디오 재생 애플리케이션이 과거에 지정된 시간량 내에 오디오를 재생했는지를 결정하는 명령어들이 저장되고,
    상기 제1 오디오 재생 애플리케이션이 과거에 상기 지정된 시간량 내에 오디오를 재생하지 않았다고 결정한 것에 응답하여, 상기 프로세서는 상기 휴대용 컴퓨팅 디바이스가 이전에 상기 오디오 출력 시스템에 연결되었을 때, 즉 상기 연결 전에 마지막으로 오디오를 재생한 제2 오디오 재생 애플리케이션을 결정하고, 그리고 상기 연결을 통하여, 오디오 재생이 상기 제1 오디오 재생 애플리케이션으로부터가 아니라 상기 제2 오디오 재생 애플리케이션으로부터 상기 오디오 출력 시스템으로 수행되도록 시그널링하는
    휴대용 컴퓨팅 디바이스.
  16. 제15항에 있어서,
    오디오 재생의 변경을 지시하는 사용자 입력을 수신하기 위한 사용자 인터페이스
    를 더 포함하는 휴대용 컴퓨팅 디바이스.
  17. 지능적으로 오디오 재생을 수행하기 위한 휴대용 컴퓨팅 디바이스로서:
    프로세서; 및
    메모리
    를 포함하고, 상기 메모리에는 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금:
    오디오 출력 시스템과의 연결이 이루어지는 것을 검출하고;
    정황 정보를 검색하고;
    예측 모델을 이용하여, 상기 정황 정보에 기초하여 상기 휴대용 컴퓨팅 디바이스의 사용자에 의해 접근될 가장 높은 확률을 갖는 제1 오디오 재생 애플리케이션을 식별하고 - 상기 예측 모델은 상기 휴대용 컴퓨팅 디바이스와 상기 사용자의 이력 상호작용들에 기초함-; 및
    상기 오디오 출력 시스템을 통해 상기 제1 오디오 재생 애플리케이션으로부터 오디오 재생을 시작하도록 야기하는
    명령어들이 저장되는 휴대용 컴퓨팅 디바이스.
  18. 제17항에 있어서, 상기 메모리에 저장되는 명령어들은, 상기 프로세서에 의해 실행될 때, 추가로 상기 프로세서로 하여금:
    상기 제1 오디오 재생 애플리케이션으로부터 오디오 재생을 시작하는 한편, 상기 사용자가 오디오 재생을 그로부터 시작할 제2 오디오 재생 애플리케이션을 선택하기 위한 사용자 인터페이스를 제공하도록 야기하는
    휴대용 컴퓨팅 디바이스.
  19. 제18항에 있어서, 상기 제2 오디오 재생 애플리케이션은 상기 정황 정보에 기초하여 상기 예측 모델에 의해 식별된 대로 상기 휴대용 컴퓨팅 디바이스의 상기 사용자에 의해 접근될 두 번째로 높은 확률을 갖는 오디오 재생 애플리케이션인 휴대용 컴퓨팅 디바이스.
  20. 제17항에 있어서,
    상기 정황 정보는:
    상기 휴대용 컴퓨팅 디바이스가 그와 연결되는 현재 오디오 출력 시스템에 관한 정보,
    상기 휴대용 컴퓨팅 디바이스의 현재 로케이션에 관한 정보, 또는
    현재 시각에 관한 정보를 포함하는 정보
    중 적어도 하나를 포함하는 휴대용 컴퓨팅 디바이스.
KR1020160066558A 2015-06-05 2016-05-30 오디오 출력 시스템에 연결할 때의 스마트 오디오 재생 KR102050624B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562171846P 2015-06-05 2015-06-05
US62/171,846 2015-06-05
US14/918,429 2015-10-20
US14/918,429 US10331399B2 (en) 2015-06-05 2015-10-20 Smart audio playback when connecting to an audio output system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020170168611A Division KR20170142140A (ko) 2015-06-05 2017-12-08 오디오 출력 시스템에 연결할 때의 스마트 오디오 재생

Publications (2)

Publication Number Publication Date
KR20160143530A KR20160143530A (ko) 2016-12-14
KR102050624B1 true KR102050624B1 (ko) 2020-01-08

Family

ID=56409457

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160066558A KR102050624B1 (ko) 2015-06-05 2016-05-30 오디오 출력 시스템에 연결할 때의 스마트 오디오 재생
KR1020170168611A KR20170142140A (ko) 2015-06-05 2017-12-08 오디오 출력 시스템에 연결할 때의 스마트 오디오 재생

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020170168611A KR20170142140A (ko) 2015-06-05 2017-12-08 오디오 출력 시스템에 연결할 때의 스마트 오디오 재생

Country Status (6)

Country Link
US (1) US10331399B2 (ko)
EP (1) EP3107101A1 (ko)
JP (2) JP6246854B2 (ko)
KR (2) KR102050624B1 (ko)
CN (2) CN106251889B (ko)
AU (2) AU2016203615B2 (ko)

Families Citing this family (38)

* 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
US8756507B2 (en) * 2009-06-24 2014-06-17 Microsoft Corporation Mobile media device user interface
DE112014000709B4 (de) 2013-02-07 2021-12-30 Apple Inc. Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10331399B2 (en) 2015-06-05 2019-06-25 Apple Inc. Smart audio playback when connecting to an audio output system
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US9886954B1 (en) * 2016-09-30 2018-02-06 Doppler Labs, Inc. Context aware hearing optimization engine
ES2611809B1 (es) * 2016-12-29 2017-12-27 Seat, S.A. Procedimiento de gestión de una emisión de un sonido para un vehículo
CN106792357A (zh) * 2016-12-31 2017-05-31 深圳市优必选科技有限公司 一种蓝牙音箱电路及机器人交互系统
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10628570B2 (en) 2017-05-15 2020-04-21 Fmr Llc Protection of data in a zero user interface environment
US10511707B2 (en) * 2017-05-16 2019-12-17 Apple Inc. Voice communication method
CN107343085A (zh) * 2017-06-08 2017-11-10 广东欧珀移动通信有限公司 音乐播放方法及相关产品
US11076177B2 (en) * 2017-09-05 2021-07-27 Sonos, Inc. Grouped zones in a system with multiple media playback protocols
US10992977B2 (en) * 2018-05-07 2021-04-27 Spotify Ab Automatic preset setup for media content playback
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
AU2019100576C4 (en) * 2018-06-03 2020-01-30 Apple Inc. Accelerated task performance
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10971160B2 (en) 2018-11-13 2021-04-06 Comcast Cable Communications, Llc Methods and systems for determining a wake word
CN109918357A (zh) * 2018-12-27 2019-06-21 北京字节跳动网络技术有限公司 信息回放方法、装置、电子设备、和计算机可读存储介质
USD902234S1 (en) 2019-02-13 2020-11-17 Sonos, Inc. Display screen or portion thereof with graphical user interface for podcasts
USD994694S1 (en) 2019-02-13 2023-08-08 Sonos, Inc. Display screen or portion thereof with graphical user interface for podcasts
US10764406B1 (en) * 2019-03-01 2020-09-01 Bose Corporation Methods and systems for sending sensor data
US20200280814A1 (en) * 2019-03-01 2020-09-03 Bose Corporation Augmented reality audio playback control
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11586942B2 (en) * 2019-06-19 2023-02-21 Accenture Global Solutions Limited Granular binarization for extended reality
KR102644997B1 (ko) * 2019-07-17 2024-03-08 삼성전자주식회사 Usb 포트를 통해 오디오를 출력하기 위한 전자 장치 및 그에 관한 방법
KR102361759B1 (ko) * 2019-07-30 2022-02-11 (주)빅토리아프로덕션 증강현실 컨텐츠 제공 시스템 및 이를 위한 방법
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
CN113838488B (zh) * 2020-06-24 2023-03-14 北京字节跳动网络技术有限公司 音频播放包生成方法、装置和音频播放方法、装置
CN113867855A (zh) * 2020-06-30 2021-12-31 华为技术有限公司 一种任务推送方法、装置和电子设备
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
US11900012B2 (en) 2020-09-24 2024-02-13 Apple Inc. Method and system for seamless media synchronization and handoff

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061735A1 (en) 1995-06-06 2007-03-15 Hoffberg Steven M Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
JP4213008B2 (ja) 2002-10-09 2009-01-21 パナソニック株式会社 情報端末装置、操作支援方法及び操作支援プログラム
US20070244738A1 (en) 2006-04-12 2007-10-18 Chowdhary Pawan R System and method for applying predictive metric analysis for a business monitoring subsystem
US8239559B2 (en) 2006-07-15 2012-08-07 Blackfire Research Corp. Provisioning and streaming media to wireless speakers from fixed and mobile media sources and clients
US7983614B2 (en) 2006-09-29 2011-07-19 Sony Ericsson Mobile Communications Ab Handover for audio and video playback devices
WO2009072196A1 (ja) 2007-12-05 2009-06-11 Fujitsu Limited 携帯端末および車載装置
US8381117B2 (en) 2008-04-09 2013-02-19 Mitsubishi Electric Corporation On a graphical user interface providing guidance of operations in an industrial plant
JP2010130669A (ja) 2008-12-01 2010-06-10 Fujitsu Ten Ltd 車載装置および無線通信システム
CN101783693A (zh) * 2009-01-15 2010-07-21 艾威梯科技(北京)有限公司 提供个性服务的系统和方法
US20100306705A1 (en) 2009-05-27 2010-12-02 Sony Ericsson Mobile Communications Ab Lockscreen display
KR101562792B1 (ko) 2009-06-10 2015-10-23 삼성전자주식회사 목표 예측 인터페이스 제공 장치 및 그 방법
US20110055758A1 (en) 2009-09-02 2011-03-03 Sun Microsystems, Inc. Smart navigator for productivity software
US8559931B2 (en) 2009-11-04 2013-10-15 Cellco Partnership Application suggestions for mobile communication device based on location-based directory information
US8490018B2 (en) 2009-11-17 2013-07-16 International Business Machines Corporation Prioritization of choices based on context and user history
US8521664B1 (en) 2010-05-14 2013-08-27 Google Inc. Predictive analytical model matching
US8478306B2 (en) * 2010-11-10 2013-07-02 Google Inc. Self-aware profile switching on a mobile computing device
TWI546700B (zh) 2011-01-13 2016-08-21 宏達國際電子股份有限公司 手持電子裝置及其控制方法與電腦程式產品
KR101800889B1 (ko) 2011-02-07 2017-11-23 삼성전자주식회사 음악 재생 장치 및 방법
CN102739839A (zh) * 2011-04-07 2012-10-17 深圳富泰宏精密工业有限公司 手机应用程序启动方法及系统
US8892391B2 (en) 2011-06-03 2014-11-18 Apple Inc. Activity detection
US8731822B2 (en) * 2012-01-17 2014-05-20 Motorola Mobility Llc Systems and methods for interleaving navigational directions with additional audio in a mobile device
EP2618247A1 (en) 2012-01-20 2013-07-24 Research In Motion Limited Predictive context-aware dynamic lock screen
US20130290347A1 (en) 2012-04-26 2013-10-31 Appsense Limited Systems and methods for providing data-driven document suggestions
US20130297741A1 (en) * 2012-05-04 2013-11-07 Akoo International, Inc. Apparatus and method for handling interactive media content requests using multiple media managers
US20130318114A1 (en) * 2012-05-13 2013-11-28 Harry E. Emerson, III Discovery of music artist and title by broadcast radio receivers
US8949334B2 (en) 2012-07-26 2015-02-03 Microsoft Corporation Push-based recommendations
US9541986B2 (en) 2012-10-08 2017-01-10 Google Inc. Adaptive screen timeouts based on user preferences, interaction patterns and active applications
WO2014056529A1 (en) 2012-10-10 2014-04-17 Nugg.Ad Ag Predictive behavioural targeting
US9158560B2 (en) 2012-10-26 2015-10-13 Verizon Patent And Licensing Inc. Dynamic application arranger
US20140274185A1 (en) 2013-03-14 2014-09-18 Aliphcom Intelligence device connection for wireless media ecosystem
US9300779B2 (en) 2013-03-15 2016-03-29 Blackberry Limited Stateful integration of a vehicle information system user interface with mobile device operations
WO2014185922A1 (en) * 2013-05-16 2014-11-20 Intel Corporation Techniques for natural user interface input based on context
KR102096473B1 (ko) 2013-06-26 2020-05-27 (주)드림어스컴퍼니 사용자 상황 기반 음악 추천 시스템 및 그 방법, 그리고 이에 적용되는 서비스 장치
CN103354587A (zh) * 2013-06-27 2013-10-16 天津三星通信技术研究有限公司 用于便携式终端中管理应用音频输出的方法、装置及终端
CN104252498B (zh) * 2013-06-28 2019-05-03 Sap欧洲公司 上下文感知推荐
US9264862B2 (en) 2013-08-15 2016-02-16 Apple Inc. Determining exit from a vehicle
US9519401B2 (en) 2013-09-18 2016-12-13 Adobe Systems Incorporated Providing context menu based on predicted commands
US9170119B2 (en) 2013-09-24 2015-10-27 Mitsubishi Electric Research Laboratories, Inc. Method and system for dynamically adapting user interfaces in vehicle navigation systems to minimize interaction complexity
CN103995716B (zh) * 2014-05-06 2018-02-13 华为技术有限公司 一种终端的应用启动方法及终端
CN104093079B (zh) * 2014-05-29 2015-10-07 腾讯科技(深圳)有限公司 基于多媒体节目的交互方法、终端、服务器和系统
US9785487B1 (en) * 2015-05-12 2017-10-10 Google Inc. Managing device functions based on physical interaction with device modules
US20160357774A1 (en) 2015-06-05 2016-12-08 Apple Inc. Segmentation techniques for learning user patterns to suggest applications responsive to an event on a device
US9529500B1 (en) 2015-06-05 2016-12-27 Apple Inc. Application recommendation based on detected triggering events
US10331399B2 (en) 2015-06-05 2019-06-25 Apple Inc. Smart audio playback when connecting to an audio output system

Also Published As

Publication number Publication date
US10331399B2 (en) 2019-06-25
JP6246854B2 (ja) 2017-12-13
AU2018204067A1 (en) 2018-06-28
EP3107101A1 (en) 2016-12-21
KR20160143530A (ko) 2016-12-14
US20160357509A1 (en) 2016-12-08
AU2016203615A1 (en) 2016-12-22
CN106251889A (zh) 2016-12-21
CN110956983B (zh) 2022-04-15
AU2016203615B2 (en) 2018-03-22
JP2018050324A (ja) 2018-03-29
CN106251889B (zh) 2019-03-08
JP2017003975A (ja) 2017-01-05
CN110956983A (zh) 2020-04-03
KR20170142140A (ko) 2017-12-27

Similar Documents

Publication Publication Date Title
KR102050624B1 (ko) 오디오 출력 시스템에 연결할 때의 스마트 오디오 재생
CN107690620B (zh) 基于检测到的触发事件的应用程序建议
US11861159B2 (en) Devices, methods, and graphical user interfaces for selecting and interacting with different device modes
US20210190525A1 (en) Device, Method, and Graphical User Interface for Synchronizing Two or More Displays
US10839805B2 (en) Disambiguating input based on context
EP3433729B1 (en) Contextual task shortcuts
US10805683B2 (en) Priming media applications and presenting primed media application data
AU2014100585B4 (en) Device and method for generating user interfaces from a template
EP3182408B1 (en) Automatically monitoring for voice input based on context
US20180081496A1 (en) Intelligent productivity monitoring with a digital assistant
US20140365895A1 (en) Device and method for generating user interfaces from a template
US20240089366A1 (en) Providing user interfaces based on use contexts and managing playback of media
US8717856B2 (en) Electronic device and method for providing and disarming alarm clock
US20220248101A1 (en) User interfaces for indicating and/or controlling content item playback formats
KR20140091137A (ko) 화면 내 선택에 따른 맞춤 광고 제공 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2017101005917; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20171208

Effective date: 20190726

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant