KR101753270B1 - 통지 데이터의 예측적인 포워딩 - Google Patents

통지 데이터의 예측적인 포워딩 Download PDF

Info

Publication number
KR101753270B1
KR101753270B1 KR1020140135262A KR20140135262A KR101753270B1 KR 101753270 B1 KR101753270 B1 KR 101753270B1 KR 1020140135262 A KR1020140135262 A KR 1020140135262A KR 20140135262 A KR20140135262 A KR 20140135262A KR 101753270 B1 KR101753270 B1 KR 101753270B1
Authority
KR
South Korea
Prior art keywords
computing device
notification data
user
special time
notification
Prior art date
Application number
KR1020140135262A
Other languages
English (en)
Other versions
KR20150067712A (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 KR20150067712A publication Critical patent/KR20150067712A/ko
Application granted granted Critical
Publication of KR101753270B1 publication Critical patent/KR101753270B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42365Presence services providing information on the willingness to communicate or the ability to communicate in terms of media capability or network connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42365Presence services providing information on the willingness to communicate or the ability to communicate in terms of media capability or network connectivity
    • H04M3/42374Presence services providing information on the willingness to communicate or the ability to communicate in terms of media capability or network connectivity where the information is provided to a monitoring entity such as a potential calling party or a call processing server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/084Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/203Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for converged personal network application service interworking, e.g. OMA converged personal network services [CPNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W68/00User notification, e.g. alerting and paging, for incoming communication, change of service or the like

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Human Computer Interaction (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)
  • Alarm Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

사용자와 관련된 통지 데이터를 수신하고, 상기 사용자가 제1 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여 상기 제1 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하는 컴퓨팅 시스템이 기술된다. 상기 컴퓨팅 시스템은 상기 사용자가 제2 특별한 시간에 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정하고, 그리고 상기 제2 특별한 시간이 상기 제1 특별한 시간 이후 임계 시간량보다 짧음에 근거해서 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함에 응답하여, 상기 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력한다.

Description

통지 데이터의 예측적인 포워딩{PREDICTIVE FORWARDING OF NOTIFICATION DATA}
사용자는 상기 사용자와 관련된 통지 데이터(notification data)를 수신할 수 있는 컴퓨팅 디바이스와 상호대화할 수 있다. 예를 들어, 사용자는 상기 사용자의 인스턴트 메시지 계정과 관련된 통지 데이터를 수신할 수 있는 데스크탑 컴퓨터와 상호대화할 수 있다. 사용자가 데스크탑 컴퓨터와 상호대화하는 동안, 상기 데스크탑 컴퓨터는 사용자의 상기 인스턴트 메시지 계정이 새로운 메시지를 수신했음을 나타내는 통지 데이터를 수신할 수 있다. 데스크탑 컴퓨터는 사용자에게 새로운 인스턴트 메시지가 수신됨을 나타내기 위해 시각적, 청각적 그리고/또는 촉각적(haptic) 타입의 알림(alert)을 출력할 수 있다. 그러나, 일부 예들에서, 사용자는 데스크탑 컴퓨터와의 상호대화를 멈출 수 있고(예컨대, 상기 데스크탑 컴퓨터의 위치를 익시트(exit)하거나, 출력 디바이스의 물리적 범위를 넘어 이동하거나 또는 그렇지 않은 경우 상기 데스크탑 컴퓨터로부터 자신의 괸심을 멀리 돌림), 따라서 알림을 듣지 못하고, 보지 못하고 그리고/또는 느끼지 못함으로써 새로운 인스턴트 메시지의 통지를 놓칠 수 있다.
일 예에서, 본 발명은 방법에 관한 것이며, 상기 방법은 컴퓨팅 시스템에 의해 사용자와 관련된 통지 데이터를 수신하는 단계를 포함한다. 사용자가 제1 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 방법은 상기 컴퓨팅 시스템에 의해 그리고 상기 제1 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하는 단계를 더 포함한다. 상기 방법은 상기 사용자가 제2 특별한 시간에 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정하는 단계, 및 상기 제2 특별한 시간이 상기 제1 특별한 시간 이후 임계 시간량(threshold amount of time)보다 짧음에 근거해서 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함에 응답하여, 상기 컴퓨팅 시스템에 의해 그리고 상기 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하는 단계를 더 포함한다.
다른 예에서, 본 발명은 컴퓨팅 시스템에 관한 것이며, 상기 컴퓨팅 시스템은 적어도 하나의 프로세서 및 적어도 하나의 모듈을 포함하고, 상기 적어도 하나의 모듈은 상기 적어도 하나의 프로세서에 의해, 사용자와 관련된 통지 데이터를 수신하고 그리고 상기 사용자가 제1 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여 상기 제1 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력하도록 동작가능하다. 상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세서에 의해, 사용자가 제2 특별한 시간에 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정하고, 그리고 상기 제2 특별한 시간이 상기 제1 특별한 시간 후의 임계 시간량보다 짧음에 근거해서 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함에 응답하여, 상기 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하도록 동작가능하다.
다른 예에서, 본 발명은 명령어들을 포함하는 컴퓨터 판독가능 스토리지 매체에 관한 것이며, 상기 명령어들은 실행될 때, 컴퓨팅 시스템의 하나 이상의 프로세서들로 하여금 사용자와 관련된 통지 데이터를 수신하고, 그리고 상기 사용자가 제1 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 상기 제1 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하도록 구성한다. 상기 컴퓨터 판독가능 스토리지 매체는 명령어들이 실행될 때, 상기 컴퓨팅 시스템의 하나 이상의 프로세서들로 하여금 사용자가 제2 특별한 시간에 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정하고, 그리고 상기 제2 특별한 시간이 상기 제1 특별한 시간 후의 임계 시간량보다 짧음에 근거해서 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지못했다고 결정함에 응답하여, 상기 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하도록 구성하는 상기 명령어들을 더 포함한다.
하나 이상의 예들의 세부사항들은 첨부된 도면들 및 하기의 상세한 설명에 제시된다. 본 발명의 다른 특징들, 목적들 및 장점들이 상세한 설명 및 도면들 그리고 특허 청구 범위로부터 분명해질 것이다.
도 1은 본 발명의 하나 이상의 양상들에 따른 하나 이상의 예시적 컴퓨팅 디바이스들에 통지 데이터를 출력하는 예시적인 컴퓨팅 시스템을 도시하는 개념도이다.
도 2는 본 발명의 하나 이상의 양상들에 따른 통지 데이터를 출력하도록 구성된 예시적 컴퓨팅 시스템을 도시하는 블록도이다.
도 3은 본 발명의 하나 이상의 기법들에 따른 원격 디바이스에서 디스플레이하기 위한 그래픽 컨텐트를 출력하는 예시적 컴퓨팅 디바이스를 도시하는 블록도이다.
도 4 및 5는 본 발명의 하나 이상의 양상들에 따른 하나 이상의 예시적 컴퓨팅 디바이스에 통지 데이터를 출력하도록 구성된 예시적 컴퓨팅 시스템의 예시적 동작들을 도시하는 순서도들이다.
일반적으로, 본 발명의 기법들은 컴퓨팅 시스템으로 하여금 제1 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 이전에 출력한 후에 제2 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력할지 출력하지 않을지 자동으로 결정하게 할 수 있고, 그럼으로써 통지 데이터와 관련된 사용자가 이에 근거하여 알림을 수신할 (예컨대, 듣고, 보고 그리고/또는 느낄) 가능성을 증가시킨다. 예를 들어, 통지 데이터와 관련된 사용자는 데스크탑 또는 랩탑 컴퓨터, 모바일 폰, 착용가능한(wearable) 컴퓨팅 디바이스(예컨대, 컴퓨터화된 시계, 컴퓨터화된 안경 등), 태블릿 및 기타 등등과 같은 복수의 컴퓨팅 디바이스들 간을 스위칭할 수 있다. (서버 또는 클라우드에 기반한 컴퓨팅 플랫폼과 같은) 컴퓨팅 시스템은 사용자가 상호대화할 수 있는 각각의 컴퓨팅 디바이스에 걸쳐 사용자와 관련된 통지 데이터의 전송을 관리할 수 있다. 앞선 특별한 시간에서, 컴퓨팅 시스템은 특별한 통지 데이터와 관련된 사용자가 제1 컴퓨팅 디바이스와 현재 상호대화하고(예컨대, 상기 제1 컴퓨팅 디바이스에 인접해 있고 그리고/또는 상기 제1 컴퓨팅 디바이스를 사용하고) 있을 가능성이 높다고 결정할 수 있으며, 따라서 (예컨대, 상기 제1 컴퓨팅 디바이스로 하여금 통지 데이터에 근거한 알림을 출력하게 하기 위해) 상기 제1 컴퓨팅 디바이스로의 전송을 위해 통지 데이터를 출력할 수 있다.
나중의 특별한 시간에서, 컴퓨팅 시스템은, 상기 통지 데이터와 관련된 사용자가 (착용가능한 컴퓨팅 디바이스 또는 모바일 폰과 같은) 제2 컴퓨팅 디바이스와 상호대화하고 있고 그리고/또는 이와는 달리, 상기 제1 컴퓨팅 디바이스와 더이상 상호대화하고 있지 않으며, 그 결과 제1 특별한 시간에 제1 컴퓨팅 디바이스에 의해 제공되는 알림을 보고, 듣고 그리고/또는 느끼지 못했을 수 있다고 결정할 수 있다.
통지 데이터와 관련된 사용자가 상기 통지 데이터와 관련된 정보를 획득할 가능성을 증대시키기 위해, 컴퓨팅 시스템은 상기 통지 데이터에 근거한 후속적인 알림의 출력을 위해 제2 컴퓨팅 디바이스로의 전송을 위한 통지 데이터를 반응적으로(responsively) 출력할 수 있다. 이 방식으로, 컴퓨팅 시스템은 상기 컴퓨팅 시스템이 상기 사용자가 통지 데이터에 근거한 알림을 보고, 듣고 그리고/또는 느꼈을 가능성이 높다고 결정할 때까지, 통지 데이터로 하여금 (예컨대, 다양한 컴퓨팅 디바이스들에 걸친 전송을 위해 통지 데이터를 출력함으로써) 일 디바이스로부터 타 디바이스로 사용자를 체이싱(chase)하게끔 할 수 있다.
본 발명의 전반에서, 예들이 기술되며, 이 예들에서 컴퓨팅 디바이스 및/또는 컴퓨팅 시스템은 컴퓨팅 디바이스가 사용자로부터 정보를 분석하기 위한 허락을 수신한 경우에만 상기 컴퓨팅 디바이스와 관련된 정보(예컨대, 위치, 속도 등)를 분석할 수 있다. 예를 들어, 컴퓨팅 디바이스가 사용자와 관련된 정보를 수집할 수 있거나 또는 상기 정보를 사용할 수 있는, 하기의 논의되는 상황들에서, 사용자는 컴퓨팅 디바이스의 프로그램들 또는 기능들이 사용자 정보(예컨대, 사용자의 현재 위치, 현재 속도 등에 관한 정보)를 수집하고 이를 사용할 수 있을지 제어하기 위해 또는 컴퓨팅 디바이스가 사용자와 관계될 수 있는 컨텐트를 수신할지의 여부 및/또는 이를 수신하는 방법을 지시하기 위해 입력을 제공할 기회를 제공받을 수 있다. 추가적으로, 어떤 데이터는 저장되거나 또는 컴퓨팅 디바이스 및/또는 컴퓨팅 시스템에 의해 사용되기 전에 개인적으로 식별가능한 정보가 제거되도록 하나 이상의 방식들로 처리(treat)될 수 있다. 예를 들어, 사용자의 신원은 상기 사용자에 관한 어떤 개인적으로 식별가능한 정보도 결정될 수 없도록 처리될 수 있거나 또는 사용자의 지리적 위치가 위치 정보가 획득되는 곳으로((가령, 시, 우편 번호 또는 주 레벨로) 일반화되어, 사용자의 특별한 위치가 결정될 수 없다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되고 컴퓨팅 디바이스에 의해 사용되는지에 대한 제어를 할 수 있다.
도 1은 본 발명의 하나 이상의 양상들에 따른 예시적인 컴퓨팅 디바이스들(10A-10N)에 통지 데이터를 출력하는 예시적인 컴퓨팅 시스템(1)을 도시하는 개념도이다. 도 1의 컴퓨팅 시스템(1)은 컴퓨팅 디바이스들(10A-10N)(집합적으로는, "컴퓨팅 디바이스(10)"), 정보 서버 시스템(60) 및 네트워크(30)를 포함하는 예시적인 컴퓨팅 시스템이다.
네트워크(30)는 어떤 공공 또는 사설 통신 네트워크, 예컨대 셀룰러, Wi-Fi, 및/또는 컴퓨팅 디바이스들 간에 데이터를 전송하기 위한 다른 타입의 네트워크를 나타낸다. 컴퓨팅 디바이스(10) 및 정보 서버 시스템(60)은 어떤 적절한 통신 기법들을 사용하여 네트워크(30)에 걸쳐 데이터를 전송 및 수신할 수 있다. 예를 들어, 컴퓨팅 디바이스(10A)는 네트워크 링크(32A)를 이용하여 네트워크(30)에 동작적으로(operatively) 연결될 수 있고, 컴퓨팅 디바이스(10N)는 네트워크 링크(32N)를 이용하여 네트워크(30)에 동작적으로 연결될 수 있다. 정보 서버 시스템(60)은 네트워크 링크(32X)에 의해 네트워크(30)에 동작적으로 연결될 수 있다. 네트워크(30)는 동작적으로 상호 연결되며, 그럼으로써 컴퓨팅 디바이스들(10)과 정보 서버 시스템(60) 간의 정보의 교환을 제공하는 네트워크 허브들, 네트워크 스위치들, 네트워크 라우터들 등을 포함할 수 있다. 일부 예들에서, 네트워크 링크들(32A-32N 및 32X)(집합적으로는, "네트워크 링크들(32)")은 이더넷, ATM 또는 다른 네트워크 연결들일 수 있다. 이러한 연결들은 무선 및/또는 유선 연결들일 수 있다.
도 1의 예에서, 컴퓨팅 디바이스(10A)는 데스크탑 컴퓨터이고, 컴퓨팅 디바이스(10N)는 착용가능한 컴퓨팅 디바이스(예컨대, 컴퓨터화된 시계, 컴퓨터화된 안경(eyewear), 컴퓨터화된 장갑들(gloves), 등)이다. 그러나, 다른 예들에서, 컴퓨팅 디바이스들(10)은 태블릿 컴퓨터들, 모바일 폰들, 개인용 디지털 단말기(PDA)들, 랩탑 컴퓨터들, 게임 시스템들, 미디어 플레이어들, e-북 리더기들, 텔레비젼 플랫폼들, 자동차 네비게이션 시스템들, 또는 정보 서버 시스템(60)으로부터 통지 데이터를 수신하고 알림을 출력하거나 또는 그렇지 않으면 통지 데이터의 수신의 표시를 제공하도록 구성된 어떤 다른 타입의 모바일 및/또는 비-모바일 컴퓨팅 디바이스들 중의 어떤 조합일 수 있다.
도 1에 도시된 바와 같이, 컴퓨팅 디바이스들(10A-N) 각각은 각각의 사용자 인터페이스 디바이스들(UID)(12A-12N)(집합적으로는, "UID들(12)")을 포함한다. 컴퓨팅 디바이스들(10)의 UID들(12)은 컴퓨팅 디바이스들(10)에 대한 각각의 입력 및/또는 출력 디바이스들로서 기능할 수 있다. UID들(12)은 다양한 기술들을 이용하여 구현될 수 있다. 예를 들어, UID들(12)은 저항성 터치스크린들, 표면 음파 터치스크린들, 용량성 터치스크린들, 프로젝티브 커패시턴스 터치스크린들, 감압형 스크린들, 음향 펄스 인식 터치스크린들 또는 다른 존재감응형 디스플레이 기술과 같은 존재 감응형 입력 스크린들을 이용하는 입력 디바이스들로서 기능할 수 있다. UID들(12)은 LCD들, 도트 매트릭스 디스플레이들, LED 디스플레이들, OLED 디스플레이들, e-링크, 또는 컴퓨팅 디바이스들(10)의 사용자에게 시각적인 정보를 출력할 수 있는 유사한 흑백 또는 컬러 디스플레이들과 같은 어떤 하나 이상의 디스플레이 디바이스들을 이용하는 출력(예컨대, 디스플레이) 디바이스들로서 기능할 수 있다.
UID들(12) 각각은 각각의 컴퓨팅 디바이스들(10)의 사용자로부터 촉각 입력을 수신할 수 있는 각각의 존재 감응형 디스플레이들을 포함할 수 있다. UID들(12)은 사용자로부터 하나 이상의 제스쳐들(예컨대, 손가락 또는 스타일러스 펜을 이용한, UID들(12)의 하나 이상의 위치들로의 사용자 터치 또는 포인팅)을 검출함으로써 촉각 입력의 표시들을 수신할 수 있다. UID들(12)은 예컨대, 각각의 존재 감응형 디스플레이들에서 사용자에게 출력을 제시할 수 있다. UID들(12)은 컴퓨팅 디바이스들(10)에 의해 제공되는 기능성과 관련될 수 있는 각각의 그래픽 사용자 인터페이스들(예컨대, 사용자 인터페이스들(14A-14N))로서 출력을 제시할 수 있다. 예를 들어, UID들(12)은 컴퓨팅 디바이스들(10)에서 실행되거나 또는 상기 컴퓨팅 디바이스(10)에 의해 액세스가능한 컴퓨팅 플랫폼들, 운영 체제들, 어플리케션들 및/또는 서비스들(예컨대, 전자 메시지 어플리케이션들, 인터넷 브라우져 어플리케이션들, 모바일 또는 데스크탑 운영 체제들, 등)의 기능성에 관계된 다양한 사용자 인터페이스들을 제시할 수 있다. 사용자는 컴퓨팅 디바이스들(10)로 하여금 기능들에 관계된 각각의 동작들을 수행하게 하기 위해 사용자 인터페이스와 상호대화할 수 있다.
컴퓨팅 디바이스들(10) 각각은 대응하는 사용자 인터페이스("UI") 모듈들(20A-20N)(집합적으로는, "UI 모듈들(20)"), 통지 클라이언트 모듈들(22A-22N)(집합적으로는, "통지 클라이언트 모듈들(22)"), 및 컨텍스트 정보 모듈들(24A-24N)(집합적으로는, "컨텍스트 정보 모듈들(24)")을 포함할 수 있다. 모듈들(20, 22 및 24)은 각각의 컴퓨팅 디바이스들(10)에 상주하고 그리고/또는 상기 각각의 컴퓨팅 디바이스들(10)에서 실행되는 소프트웨어, 하드웨어, 펌웨어, 또는 소프트웨어, 하드웨어 및 펌웨어의 혼합(mixture)을 이용하여 기술된 동작들을 수행할 수 있다. 컴퓨팅 디바이스들(10) 각각은 하나 이상의 프로세서들로 각각의 모듈들(20, 22 및 24)을 실행시킬 수 있다. 컴퓨팅 디바이스들(10)은 각각의 모듈들(20, 22 및 24)을 컴퓨팅 디바이스들(10)의 기본 하드웨어(underlying hardware) 상에서 실행되는 하나 이상의 가상 머신들로서 실행시킬 수 있다. 모듈들(20, 22 및 24)은 컴퓨팅 디바이스들(10)의 하나 이상의 서비스들, 운영 체제들의 컴포넌트들 또는 컴퓨팅 플랫폼들로서 실행될 수 있다. 모듈들(20, 22 및 24)은 컴퓨팅 디바이스들(10)의 컴퓨팅 플랫폼들의 어플리케이션 층들에서 하나 이사의 실행가능한 프로그램들로서 실행될 수 있다. 그렇지 않으면, UID들(12) 및 모듈들(20, 22 및 24)은 예컨대, 네트워크 클라우드 내의 네트워크(30)에서 동작하는 하나 이상의 네트워크 서비스들로서 각각의 컴퓨팅 디바이스들(10)에 대해 원격으로 배치되고 원격으로 액세스가능할 수 있다.
통지 클라이언트 모듈들(22)은 컴퓨팅 디바이스들(10)에서 실행되는 플랫폼들, 어플리케이션들 및 서비스들에 의해 생성 및/또는 수신되는 통지 데이터의 적어도 일부를 수신, 관리 및 그렇지 않으면 처리하는 것과 관련된 기능들을 수행할 수 있다. 통지 클라이언트 모듈들(22)은 UI 모듈들(20)로 하여금 컴퓨팅 디바이스들(10)에 의한 통지 데이터의 수신을 나타내기 위해 알림들(예컨대, 청각적 알림, 시각적 알림, 진동, 등)을 출력하게 할 수 있다.
통지 클라이언트 모듈들(22) 각각은 정보 서버 시스템(60)의 통지 호스트 모듈(60)로부터 통지 데이터를 수신하고, 컴퓨팅 디바이스들(10)에서 실행되는 수신자 플랫폼, 어플리케이션 및/또는 서비스에 상기 수신된 통지 데이터를 출력할 수 있다. 통지 클라이언트 모듈들(22)은 컴퓨팅 디바이스들(10)에서 실행되는 각각의 플랫폼, 어플리케이션 및/또는 서비스에 의해 생성되는 통지 데이터를 수신하고, 링크들(32)을 통해 정보 서버 시스템(60)에 수신된 통지 데이터를 출력할 수 있다.
본 발명의 전반에서 사용되는 용어 "통지 데이터"는 컴퓨팅 디바이스들(10)과 같은 하나 이상의 컴퓨팅 디바이스들에서의 실행 환경 내에서 실행되는 다양한 플랫폼들, 어플리케이션들 및 서비스들과 관련된 이벤트의 발생을 나타낼 수 있는 다양한 타입의 정보를 기술하기 위해 사용된다. 예를 들어, 통지 데이터는 (이들로만 한정되는 것은 아니지만) 컴퓨팅 디바이스들(10)의 사용자와 관련된 메시징 계정에 의한 통신 메시지(예컨대, e-메일, 인스턴트 메시지, SMS, 등)의 수신, 컴퓨팅 디바이스들(10)의 사용자와 관련된 소셜 네트워킹 계정에 의한 정보의 수신, 컴퓨팅 디바이스들(10)의 사용자의 일정표(calendar) 계정과 관련된 일정 이벤트(미팅들, 약속들, 등)의 리마인더(reminder), 컴퓨팅 디바이스들(10)에서 실행되는 제3자 어플리케이션에 의해 생성 및/또는 수신되는 정보, 컴퓨팅 디바이스들(10)에서 실행되는 플랫폼들, 어플리케이션들 및/또는 서비스들 중 둘 이상의 컴포넌트들 간의 상호-컴호넌트 통신들의 전송 및/또는 수신, 등과 같은 이벤트를 특정하는 정보를 포함할 수 있다.
UI 모듈들(20)은 대응하는 UID들(12)로 하여금 디스플레이를 위해 각각의 사용자 인터페이스들(14A-14N)(집합적으로는, "사용자 인터페이스들(14)")(또는 다른 예시적 사용자 인터페이스)들을 출력하게 하는 바, 그 이유는 사용자가 출력을 보고 각각의 UID들(12)에 입력을 제공하기 때문이다. 동일한 사용자는 서로 다른 시간들에서 둘 이상의 사용자 인터페이스들(14)과 상호대화할 수 있다. 예를 들어, 컴퓨팅 디바이스(10A)의 위치(예컨대, 사무실)에 인접해 있는 동안, 사용자는 사용자 인터페이스(14A)(예컨대, 데스크탑 컴퓨팅 디바이스 사용자 인터페이스)와 상호대화할 수 있고, 컴퓨팅 디바이스(10A)의 위치로부터 떨어져 있는 동안, 사용자는 사용자 인터페이스(14N)(예컨대, 착용가능한 컴퓨팅 디바이스 사용자 인터페이스)와 상호대화할 수 있다.
UI 모듈들(20)은 (예컨대, 사용자가, 사용자 인터페이스들(14)이 디스플레이되는 UID들(12)의 하나 이상의 위치들에서 하나 이상의 제스쳐들을 제공함에 따라) UID들(12)에서 검출되는 입력들을 해석할 수 있다. UI 모듈들(20)은 컴퓨팅 디바이스들(10)로 하여금 기능들을 수행하게 하기 위해 컴퓨팅 디바이스들(10)에서 실행되는 하나 이상의 관련 플랫폼들, 운영 체제들, 어플리케이션들 및/또는 서비스들에 UID들(12)에서 검출되는 입력들에 관한 정보를 전달(relay)할 수 있다.
UI 모듈들(20) 각각은 사용자 인터페이스들(14)을 생성하기 위해 컴퓨팅 디바이스들(10)(예컨대, 통지 클라이언트 모듈(22), 등)에서 실행되는 하나 이상의 관련 플랫폼들, 운영 체제들, 어플리케이션들 및/또는 서비스들로부터 정보 및 명령어들을 수신할 수 있다. 추가적으로, UI 모듈들(20) 각각은 컴퓨팅 디바이스들(10)로 출력(예컨대, 그래픽, 플래시빛(flash of light), 소리, 햅틱 응답(haptic response), 등)을 생성하기 위해, 컴퓨팅 디바이스들(10)의 각각에서 실행되는 하나 이상의 관련 플랫폼들, 운영 체제들, 어플리케이션들 및/또는 서비스들과 컴퓨팅 디바이스들(10)의 다양한 출력 디바이스들(예컨대, 스피커들, LED 표시기들, 오디오 또는 전자 햅틱 출력 디바이스, 등)과의 사이에서 각각의 중재자(intermediary)들로서 역할할 수 있다.
예를 들어, 사용자 인터페이스(14A)는 컴퓨팅 디바이스(10A)에 의해 수신되는 통지 데이터의 하나 이상의 그래픽 표시들을 제시하기 위한 일 예시적 그래픽 사용자 인터페이스이다. 사용자 인터페이스(14A)는 인스턴스 메시지와 관련된 통지 데이터의 컴퓨팅 디바이스(10A)에 의한 수신을 나타내는 시각적 알림을 표시하는 그래픽 표시(16A)를 포함한다. 사용자 인터페이스(14N)는 컴퓨팅 디바이스(10N)에 의해 수신되는 통지 데이터의 하나 이상의 그래픽 표시들을 제시하기 위한 예시적 그래픽 사용자 인터페이스이다. 사용자 인터페이스(14N)는 인스턴트 메시지와 관련된 통지 데이터의 컴퓨팅 디바이스(10N)에 의한 수신을 나타내는 시각적 알림을 표시하는 그래픽 표시(16N)를 포함한다. 사용자 인터페이스들(14)은 e-메일 또는 다른 타입의 통신 메시지, 소셜 미디어 네트워크, 일정표의 약속 또는 리마인더, 등과 관련된 통지 데이터의 수신을 나타내는 시각적 알림과 같은 다양한 다른 타입의 그래픽 표시들을 포함할 수 있다.
UI 모듈들(20)은 그래픽 정보를 사용자 인터페이스들(14) 내의 그래픽 표시들(16A-N)(집합적으로는, "그래픽 표시들(16)")로서 제시하기 위해, 통지 클라이언트 모듈들(22)로부터의 명령어들과 함께 통지 클라이언트 모듈들(22)로부터의 입력으로서 통지 클라이언트 모듈들(22)에 의해 수신된 통지 데이터에 근거하여 그래픽 정보(예컨대, 텍스트 데이터, 이미지 데이터, 등)를 수신할 수 있다. 통지 클라이언트 모듈들(22)로부터 수신된 그래픽 정보 및 명령어들에 근거하여, UI 모듈들(20) 각각은 대응하는 UID들(12)로 하여금 통지 데이터의 수신을 컴퓨팅 디바이스들(10)의 각각의 컴퓨팅 디바이스의 사용자에게 알림하기 위해 각각의 사용자 인터페이스들(14) 내의 각각의 그래픽 표시들(16)을 제시하게 할 수 있다.
컨텍스트 정보 모듈들(24) 각각은 정보 서버 시스템(60)의 예측 모듈(64)에 컴퓨팅 디바이스들(10)과 관련된 컨텍스트 정보(contextual information)를 제공할 수 있다. 컨텍스트 정보 모듈들(24)은 컴퓨팅 디바이스들(10)의 각각의 온보드(onboard) 센서들, 통신 유닛들 및 라디오(radio)들, 입력 디바이스들 및 기타 등등에 의해 수신 및/또는 생성되는 컨텍스트 정보를 종합할 수 있다. 컨텍스트 정보 모듈들(24)은 통지 데이터와 관련된 사용자가 특별한 시간에 컴퓨팅 디바이스들(10) 중 어느 것과 상호대화하고 있는지를 결정하기 위한 예측 모듈(64)에 의한 사용을 위한 정보 서버 시스템(60)에 각각의 컨텍스트 정보를 출력할 수 있다. 예를 들어, 컨텍스트 정보 모듈들(24)은 센서 정보, 통신들 및 신호 정보 , 및/또는 컴퓨팅 디바이스들(10)의 하나 이상의 입력 디바이스들에 의해 획득되는 정보를 종합하고 이들을 예측 모듈(64)에 출력할 수 있다.
본 명세서 전반에서 사용되는 용어 "컨텍스트 정보"는 컴퓨팅 디바이스들(10)과 같은 하나 이상의 컴퓨팅 디바이스들과 관련된 위치 및/또는 이동의 정도들을 결정하기 위해 정보 서버 시스템(60)과 같은 컴퓨팅 시스템에 의해 사용될 수 있는 정보를 기술하기 위해 사용된다. 일부 예들에서, 컨텍스트 정보는 컴퓨팅 디바이스들(10)의 하나 이상의 센서들(예컨대, 자이로스코프들, 가속도계들, 근접 센서들, 등)에 의해 획득되는 센서 정보, 컴퓨팅 디바이스들(10)의 하나 이상의 통신 유닛들 및/또는 라디오(예컨대, GPS, 셀룰러, Wi-Fi, 등)에 의해 획득되는 라디오 전송 정보, 컴퓨팅 디바이스들(10)의 하나 이상의 입력 디바이스들(예컨대, 카메라들, 마이크들, 키보드들, 터치패드들, 마우스들, UID들(12), 등)에 의해 획득되는 정보, 및 네트워크/디바이스 식별자 정보(예컨대, 네트워크 이름, 디바이스 인터넷 프로토콜 어드레스, 등)를 포함할 수 있다.
위치 및/또는 이동의 정도들을 결정함에 더하여, 컨텍스트 정보는 특별한 시간에 컴퓨팅 디바이스들(10)의 각각의 동작 상태를 결정하기 위해 정보 서버 시스템(60)과 같은 컴퓨팅 시스템에 의해 사용될 수 있다. 다시 말해, 컨텍스트 정보에 근거하여, 예측 모듈(64)은 컴퓨팅 디바이스들(10) 중 어느 것이 활성(active)(예컨대, 파워 온 상태 및/또는 입력을 수신하는 상태) 또는 비활성(예컨대, 파워 오프 상태, 대기 상태, 슬립/화면보호기(screensaver) 모드에 있는 상태 및/또는 입력을 수신하지 않는 상태)인지 결정할 수 있고, 사용자가 컴퓨팅 디바이스들(10) 중 어느 것과 상호대화하고 있는지를 결정하기 위해 컴퓨팅 디바이스들(10)의 동작 상태에 관한 결정을 사용할 수 있다.
정보 서버 시스템(60)은 네트워크(30)로의 네트워크 링크(32X)에 걸쳐 정보(예컨대, 통지 데이터)를 전송 및 수신할 수 있는 하나 이상의 데스크탑 컴퓨터들, 랩탑 컴퓨터들, 메인프레임들, 서버들, 클라우드 컴퓨팅 시스템들, 등과 같은 어떤 적절한 원격 컴퓨팅 시스템을 나타낸다. 일부 예들에서, 정보 서버 시스템은 통지 시스템 서비스에 대한 호스트 서버를 나타낸다. 컴퓨팅 디바이스들(10) 중 하나 이상은 하나 이상의 컴퓨팅 디바이스들에서 실행되는 플랫폼들, 어플리케이션들 및 서비스들 사이에서 통지 데이터를 전송 및/또는 수신하기 위해 정보 서버 시스템(60)에 의해 호스팅되는 통지 서비스에 액세스할 수 있다. 일부 예들에서, 정보 서버 시스템(60)은 상기 정보 서버 시스템(60)에 의해 제공되는 클라우드로의 액세스를 통해 통지 서비스들에 액세스하는 컴퓨팅 디바이스들(10) 중 하나 이상에 네트워크(30)를 통해 통지 서비스들을 제공하는 클라우드 컴퓨팅 시스템을 나타낸다.
도 1의 예에서, 정보 서버 시스템(60)은 통지 호스트 모듈(62) 및 예측 모듈(64)을 포함한다. 모듈들(62 및 64)은 정보 서버 시스템(60)에 상주하고 그리고/또는 상기 정보 서버 시스템(60)에서 실행되는 소프트웨어, 하드웨어, 펌웨어, 또는 소프트웨어, 하드웨어 및 펌웨어의 혼합을 이용하여 기술된 동작들을 수행할 수 있다. 정보 서버 시스템(60)은 복수의 프로세서들 또는 복수의 디바이스들로 모듈들(62 및 64)을 실행시킬 수 있다. 정보 서버 시스템(60)은 모듈들(62 및 64)을 기본 하드웨어 상에서 실행되는 가상 머신들로서 실행시킬 수 있다. 모듈들(62 및 64)은 운영 체제 또는 컴퓨팅 플랫폼의 하나 이상의 서비스들로서 실행될 수 있다. 모듈들(62 및 64)은 컴퓨팅 플랫폼의 어플리케이션 층에서 하나 이상의 실행가능한 프로그램들로서 실행될 수 있다.
통지 호스트 모듈(62)은 네트워크(30)를 통해 컴퓨팅 디바이스들(10) 중 하나 이상 사이에서 통지 데이터를 라우팅하기 위한 기능들을 수행할 수 있다. 통지 호스트 모듈(62)은 통지 서비스를 호스팅하는 기능들 및 또한, 컴퓨팅 디바이스들(10) 중 하나 이상에 전송하기 위해 통지 데이터를 출력하는 기능들을 수행할 수 있다. 예를 들어, 통지 호스트 모듈(62)은 컴퓨팅 디바이스들(10)과 관련된 인스턴스 메시징 계정에 의해 수신된 메시지를 나타내는 통지 데이터를 수신할 수 있고, 네트워크(30)에 걸친 컴퓨팅 디바이스들(10)의 어떤 조합으로의 전송을 위해 통지 데이터를 출력할 수 있다.
컴퓨팅 디바이스들(10)의 각각은 네트워크 링크들(32)의 각각의 링크를 통해 정보 서버 시스템(60)의 통지 호스트 모듈(62)로부터 통지 데이터를 수신할 수 있다. 컴퓨팅 디바이스들(10)의 각각은 상기 컴퓨팅 디바이스들(10)의 각각의 컴퓨팅 디바이스에 의한 통지 데이터의 수신을 나타내기 위해 통지 호스트 모듈(62)로부터 수신된 통지 데이터에 근거한 알림들을 출력할 수 있다.
통지 호스트 모듈(62)은 먼저, 자신이 판단하기에 컴퓨팅 디바이스들(10) 중 어느 컴퓨팅 디바이스가 통지 데이터와 관련된 사용자에 의해 사용되고 있을 가능성이 가장 높고 상기 사용자의 관심을 받는지에 따라, 컴퓨팅 디바이스들(10) 중 특별한 컴퓨팅 디바이스(즉, 컴퓨팅 디바이스(10A) 또는 컴퓨팅 디바이스(10N))에 전송하기 위해 통지 데이터를 출력할 수 있다(이에 대해서는 하기에 더 상세히 설명한다). 컴퓨팅 디바이스들(10) 중 사용자에 의해 사용되고 있을 가능성이 가장 높은 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력한 후에, 통지 호스트 모듈(62)은 사용자가 통지 데이터에 근거한 알림을 수신하지(예컨대, 보고, 듣고 그리고/또는 느끼지) 못했거나 또는 그렇지 않으면 통지 데이터와 관련된 정보를 획득하지 못했을 수 있다고 결정할 수 있다. 통지 호스트 모듈(62)은 컴퓨팅 디바이스들(10) 중 통지 데이터와 관련된 사용자에 의해 사용되고 있을 가능성이 가장 높고 상기 사용자의 관심을 받는 다른 컴퓨팅 디바이스를 결정할 수 있고, 컴퓨팅 디바이스들(10) 중 상기 다른 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력할 수 있다. 통지 데이터를 두 번째 출력함으로써, 통지 호스트 모듈(62)은 통지 데이터와 관련된 사용자가 통지 데이터에 근거한 알림을 수신하거나 (예컨대, 보고, 듣고 그리고/또는 느끼거나) 또는 그렇지 않으면 통지 데이터와 관련된 정보를 획득할 가능성을 증가시킬 수 있다.
예측 모듈(64)은 컴퓨팅 디바이스들(10) 중 어느 컴퓨팅 디바이스가 통지 데이터와 관련된 사용자에 의해 현재 사용되고 있는지를 예측하기 위한 기능들을 수행할 수 있다. 일반적으로, 정보 서버 시스템(60)의 예측 모듈(64)은 컴퓨팅 디바이스들(10)의 각각으로부터 "컨텍스트 정보"를 수신하고, 상기 컨텍스트 정보에 근거하여 통지 데이터와 관련된 사용자가 컴퓨팅 디바이스들(10) 중 어느 것과 상호대화하고 있는지 또는 상호대화하고 있지 않은지를 결정할 수 있다. 예츨 모듈(64)은 컴퓨팅 디바이스들(10) 중 어느 컴퓨팅 디바이스가 통지 데이터와 관련된 사용자에 의해 사용되고 있을 가능성이 높은지 나타내는 정보를 요청하는 (예컨대, 통지 호스트 모듈(62)로부터의) 질의들에 응답할 수 있다.
예측 모듈(64)은 컴퓨팅 디바이스들(10)의 각각으로부터 컨텍스트 정보를 수신하고, 상기 컨텍스트 정보에 근거하여 컴퓨팅 디바이스들(10)의 각각과 관련된 위치들을 결정할 수 있다. 예를 들어, 예측 모듈(64)은 컴퓨팅 디바이스들(10) 중 하나 이상으로부터 GPS, 셀룰러 및/또는 Wi-Fi 데이터를 수신하고, 컴퓨팅 디바이스들(10) 중 하나 이상의 각각의 좌표 위치들을 결정할 수 있다. 일부 예들에서, 예측 모듈(64)은 컴퓨팅 디바이스들(10)의 상대적인 위치들(예컨대, 주소, 장소, 주, 시, 빌딩의 타입, 회사(business), 등)을 결정하고 그리고/또는 신호 삼각 측량(triangulation)(예컨대, 둘 이상의 신호들로부터 수신되는 상대적인 포지션 데이터에 근거하여 단일의 위치를 결정하는 기법)에 근거하여 컴퓨팅 디바이스들(10)의 위치들을 결정할 수 있다. 다른 예들에서, 예측 모듈(64)은 컴퓨팅 디바이스들(10) 중 일 컴퓨팅 디바이스와 관련된 네트워크 식별자에 근거하여 컴퓨팅 디바이스들(10) 중 상기 일 컴퓨팅 디바이스의 위치를 결정할 수 있다.
예측 모듈(64)은 컴퓨팅 디바이스들(10) 중 어느 것으로부터 수신된 컨텍스트 정보에 근거하여 컴퓨팅 디바이스들(10)의 각각과 관련된 이동의 정도를 결정할 수 있다. 예를 들어, 예측 모듈(64)은 컴퓨팅 디바이스들(10)로부터 수신된 센서 데이터에 근거하여 그리고/또는 컴퓨팅 디바이스들(10)과 관련된 위치 데이터에 근거하여, 컴퓨팅 디바이스들(10) 중 어느 것의 속도, 가속도, 방향 및/또는 지향(orientation)을 결정할 수 있다. 예를 들어, 예측 모듈(64)은 시간에 걸친 컴퓨팅 디바이스들(10)의 위치들을 트랙킹하고, 컴퓨팅 디바이스들(10)의 상기 위치들의 변화들에 근거하여 컴퓨팅 디바이스들(10)의 속도, 방향 및/또는 가속도를 결정할 수 있다.
컴퓨팅 디바이스들(10)로부터 수신된 컨텍스트 정보에 근거하여, 예측 모듈(64)은 통지 데이터와 관련된 사용자가 특별한 시간에 컴퓨팅 디바이스들(10) 중 어느 것과 상호대화하고 있는지 여부의 가능성(예컨대, 확률)을 결정할 수 있다. 예를 들어, 예측 모듈(64)은 통지 데이터와 관련된 사용자가 특별한 시간에 컴퓨팅 디바이스들(10) 중 어느 것과 상호대화하고 있을 확률을 컨텍스트 정보에 근거하여 결정하기 위해 머신 러닝(machine learning) 및/또는 다른 예측 알고리즘들 및 기법들을 사용할 수 있다. 다시 말해, 예측 모듈(64)은 머신 러닝 알고리즘에 컨텍스트 정보를 하나 이상의 신호 입력들로서 제공하고, 컴퓨팅 디바이스들(10) 중 어느 것이 사용되고 있을 가능성이 높은지 나타내는 확률을 출력으로서 수신할 수 있다. 예측 모듈(64)은 (예컨대, 컴퓨팅 디바이스들(10) 중 어느 컴퓨팅 디바이스가 특별한 시간에 사용자에 의해 사용되고 있을 가능성이 높은지 나타내는 정보에 대한, 통지 호스트 모듈(62)로부터 수신된 질의에 응답하여) 통지 호스트 모듈(62)로 하여금 컴퓨팅 디바이스들(10) 중 특별한 시간에 사용자에 의해 사용되고 있을 가능성이 높은 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력하게 할 수 있다.
일부 예들에서, 정보 서버 시스템(60)은 실질적으로 실시간으로 컴퓨팅 디바이스들(10)로부터 컨텍스트 정보를 수신할 수 있다. 다른 예들에서, 정보 서버 시스템(60)은 다양한 이전의 시간들에서 컴퓨팅 디바이스들(10)로부터 컨텍스트 정보를 수신하고, 컴퓨팅 디바이스들(10) 중 어느 컴퓨팅 디바이스가 나중의 시간에 통지 데이터와 관련된 사용자에 의해 사용되고 있는지를 통찰(discerning)하기 위한 룰들을 배우고 생성하기 위해 이전의 정보(earlier information)를 사용한다.
정보 서버 시스템(60)의 예측 모듈(64) 및 컴퓨팅 디바이스들(10)의 컨텍스트 정보 모듈들(24)은 오직, 정보 서버 시스템(60) 및 컴퓨팅 디바이스들(10)의 프로그램들 및 특징들이 사용자 정보(예컨대, 사용자의 현재 위치, 현재 속도, 등에 관한 정보)를 수집 및 사용할 수 있을지 여부를 제어하거나 또는 정보 서버 시스템(60) 및 컴퓨팅 디바이스들(10)이 사용자와 관계될 수 있는 컨텐트를 수신할 수 있는지 여부 및/또는 어떻게 상기 컨텐트를 수신할 수 있을지를 지시하기 위해 컴퓨팅 디바이스들(10)에서 입력을 제공할 기회를 사용자에게 제공한 후에, 컴퓨팅 디바이스들(10)의 사용자와 관련된 정보를 수집 또는 사용할 수 있다. 추가적으로, 특정 데이터는 정보 서버 시스템(60) 및 컴퓨팅 디바이스들(10)에 의해 저장되거나 또는 사용되기 전에 하나 이상의 방식들로 취급될 수 있어서, 개인적으로 식별가능한 정보는 제거된다.
동작 시, 정보 서버 시스템(60)은 사용자와 관련된 통지 데이터를 수신할 수 있다. 예를 들어, 통지 호스트 모듈(62)은 텍스트 메시지가 사용자의 인스턴트 메시징 계정에 의해 수신됨을 나타내는, 컴퓨팅 디바이스들(10)의 사용자와 관련된 통지 데이터를 수신할 수 있다.
사용자가 이전의 특별한 시간에 컴퓨팅 디바이스(10A)와 상호대화하고 있다고 결정함에 응답하여, 정보 서버 시스템(60)은 컴퓨팅 디바이스(10A)에 전송하기 위해 통지 데이터를 출력할 수 있다. 예를 들어, 통지 모듈(62)은 예측 모듈(64)에 의해 제공되는 정보에 근거하여, 컴퓨팅 디바이스들(10)로부터 수신된 컨텍스트 정보가 컴퓨팅 디바이스(10A)가 통지 데이터와 관련된 사용자에 의해 사용되고 있음을 나타낸다고 결정할 수 있다. 통지 호스트 모듈(62)은 링크들(32)을 통해 컴퓨팅 디바이스(10A)에 통지 데이터를 출력할 수 있다.
정보 서버 시스템(60)은 통지 데이터와 관련된 사용자가 나중의 특별한 시간에 컴퓨팅 디바이스(10A)와 상호대화하고 있다고 결정할 수 있다. 예를 들어, 나중의 특별한 시간에(즉, 정보 서버 시스템(60)이 사용자가 컴퓨팅 디바이스(10A)와 상호대화하고 있다고 결정했던 이전의 시간 이후), 통지 호스트 모듈(62)은 컴퓨팅 디바이스(10A)가 사용자에 의해 사용되고 있을 가능성이 높지 않음을 그리고/또는 컴퓨팅 디바이스(10N)가 사용자에 의해 사용되고 있을 가능성이 높음을 나타내는 정보를 예측 모듈(64)로부터 수신할 수 있다.
나중의 특별한 시간이 이전의 특별한 시간 후의 임계 시간량 보다 짧음에 근거해서 사용자가 컴퓨팅 디바이스(10A)에서 통신 데이터를 보지 못했다고 결정함에 응답하여, 정보 서버 시스템(60)은 컴퓨팅 디바이스(10N)에 전송하기 위해 통지 데이터를 출력할 수 있다. 통지 호스트 모듈(62)은 이전의 시간과 나중의 시간 사이의 시간량이 임계 시간량(예컨대, 1분, 30초 미만, 등)보다 짧은지 결정할 수 있는 바, 상기 임계 시간량은 시간 기간을 나타내며, 상기 시간 기간 동안 사용자는 자신의 관심을 컴퓨팅 디바이스(10A)가 아닌 다른 곳으로 변경함으로써, 통지 데이터의 수신을 컴퓨팅 디바이스(10A)의 통지 클라이언트 모듈(22)에 의해 통지받은 것을 놓쳤거나 또는 그렇지 않으면 통지받지 못하게 되었을 수 있다. 정보 서버 시스템(60)은 컴퓨팅 디바이스(10N)로의 전송을 위해 통지 데이터를 출력할 수 있고, 컴퓨팅 디바이스(10N)의 통지 클라이언트 모듈(22)은 UI 모듈(22N)로 하여금 통지 데이터에 근거하여 알림(예컨대, UID(12)에서의 그래픽 표시(16N))을 출력하게 할 수 있다.
이 방식으로, 본 발명의 기법들에 따른 컴퓨팅 시스템은, 상기 컴퓨팅 시스템이 사용자가 제1 컴퓨팅 디바이스에서 통지 데이터를 놓쳤을 수 있다고 결정하는 경우, 통지 데이터로 하여금 제1 컴퓨팅 디바이스로부터 제2 컴퓨팅 디바이스로 상기 통지 데이터와 관련된 사용자를 "체이싱"하게 할 수 있다. 컴퓨팅 시스템은 통지 데이터와 관련된 사용자가 제1 컴퓨팅 디바이스가 아닌 다른 곳으로 관심을 변경하거나 또는 자신의 관심을 돌렸을 수 있는 시간 기간 동안 제1 컴퓨팅 디바이스가 통지 데이터를 수신했다고 결정할 수 있다. 컴퓨팅 시스템은 "사용자를 체이싱"하고, 현재의 시간에 사용자에 의해 사용되고 있을 가능성이 높은 제2 컴퓨팅 디바이스에 통지 데이터를 자동으로 출력할 수 있다.
이 방식으로 제2 컴퓨팅 디바이스에 통지 데이터를 출력함으로써, 컴퓨팅 시스템은 사용자가 통지 알림들을 수신 및/또는 데이터와 관련된 정보를 획득할 가능성을 증가시킬 수 있다. 추가적으로, 컴퓨팅 시스템은 사용자가 통지 경보들 및/또는 통지 기반 정보(notification based information)를 놓칠 가능성을 감소시킬 수 있다. 이 방식으로 컴퓨팅 시스템으로부터 통지 데이터를 수신하는 다양한 컴퓨팅 디바이스들은 (다른 컴퓨팅 디바이스에 통지 데이터로서 이미 제공된 정보를 컴퓨팅 디바이스를 이용하여 획득하기 위해) 다양한 컴퓨팅 디바이스들과 상호대화하는 사용자로부터 적은 입력들을 수신할 수 있다. 또한, 다양한 컴퓨팅 디바이스들은 사용자로부터 적은 거짓(false) 입력들을 수신할 수 있고, 따라서, 다양한 컴퓨팅 디바이스들 및 컴퓨팅 시스템은 적은 동작들을 수행하고 적은 전력을 소모할 수 있다.
일부 예들에서, 예측 모듈(64)은 컴퓨팅 디바이스(10)의 하나 이상의 입력 디바이스들(예컨대, 마우스들, 트랙복들, 터치패드들, 등)에 의해 검출되는 입력 데이터를 포함하는, 컴퓨팅 디바이스들(10)로부터 수신된 컨텍스트 정보에 근거하여, 통지 데이터와 관련된 사용자가 특별한 시간에 컴퓨팅 디바이스들(10) 중 어느 것과 상호대화하고 있을지의 가능성(예컨대, 확률)을 결정할 수 있다. 예측 모듈(64)은 입력 데이터와 관련된 특정 패턴들을 식별하고, 상기 식별된 패턴들에 근거하여 사용자가 컴퓨팅 디바이스들(10) 중 어느 것과 상호대화하고 있는지를 나타내는 일련의 특정 사용자 상호대화들을 식별할 수 있다. 예측 모듈(64)은 식별된 패턴들 중 어느 것이 사용자 행위의 변화를 표시하는지 결정하고, 사용자가 컴퓨팅 디바이스들(10)과 상호대화하고 있거나 또는 더 이상 상호대화하고 있지 않음을 나타내기 위해 컨텍스트 정보와 관련된 센서 데이터를 사용할 수 있다.
예를 들어, 컨텍스트 정보에 근거하여, 예측 모듈(64)은 컴퓨팅 디바이스(10A)로부터 수신된 입력 데이터가 사용자가 이전의 특별한 시간에 컴퓨팅 디바이스(10A)(예컨대, 사용자 인터페이스(14A))와 상호대화하기 위해 마우스 타입의 입력 디바이스(예컨대, 트랙볼, 터치 패드, 등)를 이동시키고 있음을 나타낸다고 결정할 수 있다. 나중의 특별한 시간에, 예측 모듈(64)은 입력 데이터가 사용자가 마우스 타입의 디바이스를 사용하지 않고 있음을 나타낸다고 결정할 수 있다.
예측 모듈(64)의 머신 러닝 및/또는 다른 예측 알고리즘들 및 기법들은 사용자가 나중의 특별한 시간에 컴퓨팅 디바이스들(10A)과 더 이상 상호대화하고 있지 않다고 결정하기 위해 나중의 그리고 이전의 특별한 시간들에서 컴퓨팅 디바이스(10N)로부터 수신된 가속도계 센서 타입의 데이터와 함께, 이전의 그리고 나중의 특별한 시간들에서 컴퓨팅 디바이스(10A)로부터 수신된 입력 데이터를 사용할 수 있다. 예를 들어, 컴퓨팅 디바이스(10N)로부터 수신된 가속도계 데이터는 사용자가 나중의 특별한 시간에 움직이고 있지 않다고 나타낼 수 있다. 예측 모듈(64)은 사용자가 움직이고 있는 나중의 특별한 시간 그리고 사용자가 마우스를 사용하지 않고 있는 나중의 특별한 시간에 사용자가 컴퓨팅 디바이스(10A)와 상호대화하고 있을 가능성이 매우 낮다고 결정할 수 있고, 따라서 사용자가 나중의 특별한 시간에 컴퓨팅 디바이스(10A)와 상호대화하고 있지 않다고 결정할 수 있다. 다시 말해, 예측 모듈(64)은 (사용자가 마우스를 움직이고 있음에 따라) 사용자가 이전의 특별한 시간에 컴퓨팅 디바이스(10A) 앞에 앉아 있다고 예측하고, 사용자가 나중의 특별한 시간에 일어났고 더이상 컴퓨팅 디바이스(10A) 앞에 앉아 있지 않다고 결정할 수 있다.
일부 예들에서, 예측 모듈(64)에 의해 수신된 컨텍스트 정보 내에 포함된 입력 데이터는 (예컨대, 컴퓨팅 디바이스(10A)의 웹캠에 의해 수신된) 비디오 데이터를 포함할 수 있다. 예측 모듈(64)은 컴퓨팅 디바이스(10A)의 웹캠으로부터 수신된 비디오 데이터에 적용되는 얼굴(face) 및/또는 레티나 이미지 매칭 기법들에 근거하여 사용자가 컴퓨팅 디바이스들(10) 중 어느 것과 상호대화하고 있다고 결정할 수 있다. 다시 말해, 예측 모듈(64)은 컴퓨팅 디바이스(10A)의 카메라에 의해 수신된 비디오 데이터와 관련된 이미지가 사람의 얼굴, 및/또는 (만일 사용자가 컴퓨팅 디바이스(10A)와 관련된 스크린 또는 모니터를 본다면) 특별한 사용자의 얼굴과 매칭되거나 또는 유사하게 보인다고 결정할 수 있다. 예측 모듈(64)은 사람 및/또는 사용자의 얼굴이 이전의 특별한 시간에서의 비디오 데이터의 프레임 내에서 예측 모듈(64)에 의해 식별될 때 컴퓨팅 디바이스(10A)와 상호대화하고 있다고 결정할 수 있다. 나중의 특별한 시간에, 예측 모듈(64)은 비디오 데이터가 사람 및/또는 사용자의 얼굴을 가진 비디오 데이터의 프레임을 포함하지 않을 때 사용자가 컴퓨팅 디바이스(10A)와 더 이상 상호대화하고 있지 않다고 결정할 수 있다.
일부 예들에서, 컴퓨팅 디바이스들(10)과 관련된 컨텍스트 정보 내에 포함된 센서 데이터는 예측 모듈(64)이 사용자가 컴퓨팅 디바이스들(10) 중 어느 것과 상호대화하고 있는지를 결정하는 데 있어 단독으로 충분할 수 있다. 예를 들어, 컴퓨팅 디바이스(10N)로부터 수신된 가속도계 데이터 및/또는 자이로 데이터는 컴퓨팅 디바이스(10N)의 위치 및 지향을 나타낼 수 있고, 예측 모듈(64)은 상기 위치 및 지향 정보에 근거하여 컴퓨팅 디바이스(10N)가 들려져(held) 있고 그리고/또는 착용되어 있는지 또는 들려져 있지 않고 그리고/또는 착용되지 않았는지를 결정할 수 있다. 예측 모듈(64)은 가속도계 데이터에 근거하여, 컴퓨팅 디바이스(10N)가 평평한 표면 상에 놓여 있다고 결정하고 그리고/또는 상기 컴퓨팅 디바이스(10N)가 착용되어 있지 않을 가능성이 높다고 결정할 수 있다. 또는, 만일 컴퓨팅 디바이스(10N)가 태블릿이면, 예측 모듈(64)은 가속도계 데이터에 근거하여, 컴퓨팅 디바이스(10N)가 표면 상에 평평하게 놓여있다고 결정할 수 있다. 예측 모듈(64)은 예컨대, 만일 컴퓨팅 디바이스(10N)가 착용가능한 것이며, 착용되어 있지 않은 경우, 또는 컴퓨팅 디바이스(10N)가 태블릿 타입 디바이스이며, (사용자에 의해 들려 있는 대신) 표면 상에 평평하게 놓여 있는 경우, 컴퓨팅 디바이스(10N)가 특별한 시간에 사용되고 있지 않을 가능성이 높은 정도라고 결정할 수 있다.
도 2는 본 발명의 하나 이상의 양상들에 따른 통지 데이터를 출력하도록 구성된 예시적인 컴퓨팅 시스템을 도시하는 블록도이다. 도 2의 정보 서버 시스템(60)은 도 1의 컨텍스트 내에서 하기에 기술된다. 도 2는 정보 서버 시스템(60)의 단지 하나의 특별한 예를 도시하며, 정보 서버 시스템(60)의 많은 다른 예들이 다른 예들에서 사용될 수 있고, 예시적인 정보 서버 시스템(60)에 포함된 컴포넌트들의 서브셋을 포함할 수 있거나 또는 도 2에 도시되지 않은 추가적인 컴포넌트들을 포함할 수 있다.
도 2의 예에 도시된 바와 같이, 정보 서버 시스템(60)은 하나 이상의 프로세서들(70), 하나 이상의 통신 유닛들(72) 및 하나 이상의 스토리지 디바이스들(74)을 포함한다. 정보 서버 시스템(60)의 스토리지 디바이스들(74)은 통지 호스트 모듈(62) 및 예측 모듈(64)을 포함한다. 정보 서버 시스템(60)의 스토리지 디바이스들(74)은 통지 정보 데이터 저장소(68A) 및 디바이스 컨텍스트 정보 데이터 저장소(68B)(집합적으로는, "데이터 저장소들(68)")를 더 포함한다. 통신 채널들(80)이 상호-컴포넌트 통신들을 위해 컴포넌트들(70, 72 및 74)의 각각을 (물리적으로, 통신적으로, 및/또는 동작적으로) 상호연결할 수 있다. 일부 예들에서, 통신 채널들(80)은 시스템 버스, 네트워크 연결, 상호 프로세스 통신 데이터 구조 또는 데이터를 통신하기 위한 어떤 다른 방법을 포함할 수 있다.
정보 서버 시스템(60)의 하나 이상의 통신 유닛들(72)은 네트워크(30)와 같은 하나 이상의 네트워크들 상에서 네트워크 신호들을 전송 및/또는 수신함으로써 컴퓨팅 디바이스(10)와 같은 외부 컴퓨팅 디바이스들과 통신할 수 있다. 예를 들어, 정보 서버 시스템(60)은 컴퓨팅 디바이스들(10)과 정보를 교환하기 위해 링크들(32)을 통해 라디오 신호들을 전송 및/또는 수신하기 위해 통신 유닛(72)을 사용할 수 있다. 통신 유닛(72)의 예들은 (예컨대, 이더넷 카드와 같은) 네트워크 인터페이스 카드, 광학 송수신기, RF 송수신기, GPS 수신기, 또는 정보를 전송 및/또는 수신할 수 있는 어떤 다른 타입의 디바이스를 포함한다. 통신 유닛들(72)의 다른 예들은 단파 라디오들, 셀룰러 데이터 라디오들, 무선 이더넷 라디오들뿐만 아니라 USB 제어기들을 포함할 수 있다.
정보 서버 시스템(60) 내의 하나 이상의 스토리지 디바이스들(74)은 정보 서버 시스템(60)의 동작 동안 프로세싱하기 위한 정보를 저장할 수 있다(예컨대, 정보 서버 시스템(60)은 상기 정보 서버 시스템(60)에서의 실행 동안 모듈들(62 및 64)에 의해 액세스되는 데이터를 저장할 수 있다). 일부 예들에서, 스토리지 디바이스들(74)은 임시 메모리이며, 이는 스토리지 디바이스들(74)의 주 목적이 장기간의 저장이 아님을 의미한다. 정보 서버 시스템(60) 상의 스토리지 디바이스들(74)은 휘발성 메모리로서 정보의 단기간의 저장을 위해 구성될 수 있고, 그러므로 파워가 오프되는 경우 저장된 컨텐트들을 유지하지 않을 수 있다. 휘발성 메모리들의 예들은 RAM, DRAM, SRAM 및 이 기술분야에 알려진 다른 형태의 휘발성 메모리들을 포함한다.
일부 예들에서, 스토리지 디바이스들(74)은 또한, 하나 이상의 컴퓨터-판독가능 스토리지 매체를 포함한다. 스토리지 디바이스들(74)은 비 휘발성 메모리보다 많은 양의 정보를 저장하도록 구성될 수 있다. 스토리지 디바이스들(74)은 또한, 비-휘발성 메모리 공간으로서 정보의 장기간의 저장을 위해 구성될 수 있고, 파워 온/오프 사이클들 후에 정보를 유지할 수 있다. 비-휘발성 메모리들의 예들은 하드 디스크들, 광학 디스크들, 플로피 디스크들, 플래시 메모리들, 또는 전기적으로 프로그램가능한 메모리들(EPROM) 또는 전기적으로 소거가능하고 프로그램가능한 메모리들(EEPROM)의 형태들을 포함한다. 스토리지 디바이스들(74)은 모듈들(62 및 64)과 관련된 프로그램 명령어들 및/또는 데이터를 저장할 수 있다.
하나 이상의 프로세서들(70)은 정보 서버 시스템(60) 내에서 기능을 구현 및/또는 명령어들을 실행시킬 수 있다. 예를 들어, 정보 서버 시스템(60) 상의 프로세서들(70)은 모듈들(62 및 64)의 기능을 실행시키는, 스토리지 디바이스들(74)에 저장된 명령어들을 수신 및 실행시킬 수 있다. 프로세서들(70)에 의해 실행되는 이 명령어들은 정보 서버 시스템(60)으로 하여금 프로그램 실행 동안 스토리지 디바이스들(74) 내에 정보를 저장하게 할 수 있다. 프로세서들(70)은 하나 이상의 컴퓨팅 디바이스들(예컨대, 도 1의 컴퓨팅 디바이스들(10))에 피트니스 및 네비게이션 정보를 제공하기 위해 모듈들(62 및 64)의 명령어들을 실행시킬 수 있다. 즉, 모듈들(62 및 64)은 정보 서버 시스템(60)의 다양한 액션들 또는 기능들을 수행하도록 프로세서들(70)에 의해 동작가능할 수 있다.
데이터 저장소들(68)은 통지 데이터 및 컨텍스트 정보와 관련된 데이터를 저장하기 위한 어떤 적절한 스토리지 매체를 나타낸다. 예를 들어, 통지 정보 데이터 저장소(68A)는 통지 호스트 모듈(62)에 의해 수신되는 통지 데이터를 저장할 수 있고, 디바이스 컨텍스트 정보 데이터 저장소(68B)는 예측 모듈(64)에 의해 수신되고 컴퓨팅 디바이스들(10) 중 하나 이상과 관련되며 그리고/또는 상기 컴퓨팅 디바이스들(10) 중 하나 이상으로부터 수신되는 컨텍스트 정보를 저장할 수 있다.
데이터 저장소(68A)에 저장된 통지 데이터는 상기 통지 데이터와 관련된 다양한 속성들에 따라 통지 호스트 모듈(62)에 의해 저장, 조직화 및/또는 액세스될 수 있다. 예를 들어, 컨텐트(메시지, 일정 리마인더 등과 관련된 텍스트, 비디오, 이미지, 등과 같은 통지 데이터와 관련된 정보)를 포함하는 것에 더하여, 정보 서버 시스템에 의해 수신된 통지 데이터의 각각의 부분은 하나 이상의 속성들을 포함할 수 있고, 통지 호스트 모듈(62)은 상기 통지 데이터를 출력할 시기 및/또는 네트워크(30)의 컴퓨팅 디바이스들(10) 중 상기 통지 데이터를 라우팅 또는 전달할 하나 이상의 컴퓨팅 디바이스를 결정하기 위해 상기 하나 이상의 속성들을 사용한다.
일 속성은 사용자 이름, 계정 이름, 전화 번호, 네트워크 식별자, e-메일 주소, 등과 같은 사용자 식별자를 포함하고, 이러한 사용자 식별자는 통지 데이터와 관련된 사용자 수신자를 나타내는 바, 상기 사용자 수신자를 위해, 컴퓨팅 디바이스들(10)은 상기 통지 데이터에 근거한 알림을 출력하고 그리고/또는 그렇지 않으면 상기 통지 데이터와 관련된 정보로의 액세스를 제공할 수 있다. 통지 호스트 모듈(62)은 사용자 식별자에 따라 데이터 저장소(68A)에 수신된 통지 데이터를 저장할 수 있고, 사용자 식별자에 근거하여 통지 데이터를 질의함으로써 데이터 저장소(68A)로부터 통지 데이터를 검색할 수 있다.
일부 예들에서, 통지 데이터는 상기 통지 데이터의 발신지(origin)를 나타내는 전송자 식별자를 포함할 수 있다. 예를 들어, e-메일 또는 인스턴트 메시지 통지 데이터는 상기 통지 데이터와 관련된 사용자 "전송자"의 e-메일 주소 또는 인스턴스 메시지 계정을 특정하는 속성을 포함할 수 있다. 다시 말해, 전송자 식별자는 통지 데이터와 관련된 e-메일 또는 인스턴트 메시지를 타이핑한 사람과 관련된 계정 이름을 나타낼 수 있다.
일부 예들에서, 통지 정보 데이터 보관소(68A)에 있는 통지 데이터는 통지 서비스 및/또는 통지 데이터의 발신지에 의해 통지 데이터에 할당된 "우선순위 레벨" 속성을 포함할 수 있다. 예를 들어, 통지 데이터를 생성하는 컴퓨팅 디바이스 및/또는 시스템은, 데이터와 관련되고 전송자에 의해 결정 및/또는 통지 데이터에 할당되는 우선순위 속성을 포함할 수 있어서, 상기 전송자는 우선순위 레벨을 할당함으로써, 다른 타입의 통지 데이터에 비한 상기 통지 데이터의 중요성 레벨을 특정할 수 있다. 우선순위 레벨은 통지 호스트 모듈(62)로 하여금 통지 데이터의 출력을 우선순위화하도록 하기 위한, 통지 데이터와 관련된 중요 정도를 특정할 수 있다. 통지 호스트 모듈(62)은 컴퓨팅 디바이스들(10)에 통지 데이터를 출력할 시기를 결정하기 위해 통지 데이터의 우선순위 레벨을 하나 이상의 우선순위 임계(threshold)들과 비교할 수 있다. 예를 들어, 우선순위 임계를 초과하는 우선순위 레벨은 통지 호스트 모듈(62)로 하여금 일 특별한 시간 기간 또는 시간 지속 기간(예컨대, 정보 서버 시스템(60)에서의 수신 후 1분, 수신 후 30초, 등) 내에 통지 데이터를 출력하게 할 수 있고, 임계를 초과하지 않는 우선순위 레벨은 통지 호스트 모듈(62)로 하여금 나중의 시간(예컨대, 정보 서버 시스템(60)에서의 수신 후 5분, 수신 후 1시간, 등)까지 통지 데이터를 출력하는 것을 지연하게 할 수 있다.
일부 예들에서, 통지 정보 데이터 저장소(68A)에 있는 통지 데이터는 통지 서비스 및/또는 통지 데이터의 발신지에 의해 통지 데이터에 할당된 "시간 민감도" 속성을 포함할 수 있다. 시간 민감도 속성은 통지 데이터를 전달할 가장 최근의 특별한 시간(latest particular time)을 특정할 수 있거나 또는 그렇지 않을 경우 상기 통지 데이터와 관련된 정보가 상기 통지 데이터와 관련된 사용자와 가장 관계하는 시간량을 특정할 수 있다. 일부 예들에서, 시간 민감도 속성은 통지 데이터와 관련된 정보가 시간 독립적 및/또는 시간 감응적이라는 표시로 상기 통지 데이터를 마킹(mark)하거나 또는 태깅(tag)할 수 있다. 통지 호스트 모듈(62)은 (예컨대, 속성이 임계를 만족시키는 경우) 통지 데이터가 시간 감응적인지 또는 (예컨대, 속성이 임계를 만족시키지 않는 경우) (상기 통지 데이터에 근거한 알림을 통한) 상기 통지 데이터의 전달이 특별한 시간까지 요구되지 않는지를 결정하기 위해 상기 통지 데이터의 시간 민감도 속성을 상기 임계와 비교할 수 있다.
데이터 저장소(68A)에 저장된 컨텍스트 정보는 하나 이상의 개별적인 컴퓨팅 디바이스들(10) 및/또는 컴퓨팅 디바이스들(10)의 그룹들에 따라 그리고/또는 컴퓨팅 디바이스들(10)과 관련된 하나 이상의 개별적인 사용자들에 따라 조직화될 수 있다. 예를 들어, 예측 모듈(64)은 컴퓨팅 디바이스들(10)로부터 컨텍스트 정보를 수신하고, 컴퓨팅 디바이스들(10)의 각각의 컴퓨팅 디바이스로부터의 컨텍스트 정보를 데이터 저장소(68A)의 별개의, 각각의 부분들 또는 위치들에 그룹핑함으로써 디바이스 컨텍스트 정보 데이터 저장소(68A)에서 컨텍스트 정보를 분류할 수 있다. 데이터 저장소(68A)의 각 별개의, 각각의 부분 또는 위치는 하나 이상의 컴퓨팅 디바이스들(10)과 관련된 라벨을 가질 수 있고, 또한 사용자와 관련된 라벨을 가질 수 있다. 예측 모듈(64)은 특정 사용자 및/또는 컴퓨팅 디바이스들(10) 중 특정 하나 이상의 컴퓨팅 디바이스와 관련된 컨텍스트 정보를 획득하기 위해 사용자 라벨 및/또는 컴퓨팅 디바이스 라벨에 대한 질의들을 수행함으로써 데이터 저장소(68A)로부터 컨텍스트 정보를 검색할 수 있다.
일부 예들에서, 예측 모듈(64)은 시간 기간에 걸쳐 다수의 서로 다른 컴퓨팅 디바이스들(10)로부터 컨텍스트 정보를 수집(즉, 수신) 및 (예컨대, 디바이스 컨텍스트 정보 데이터 저장소(68B)에) 저장할 수 있지만, 이러한 수집 및 저장은 정보 서버 시스템(60)이 정보를 수신 및 분석하기 위해 컴퓨팅 디바이스들(10)의 다양한 사용자로부터 명시적인 허락을 수신한 경우에만 이루어질 수 있다. 예를 들어, 정보 서버 시스템(60)이 어떤 사용자에 관한 개인적인 정보(예컨대, 컨텍스트 정보)를 수집 또는 사용할 수 있는 (본 명세서에 논의된) 상황들에서, 사용자는 컴퓨팅 시스템의 프로그램들 또는 특징들이 사용자 정보(예컨대, 사용자의 현재 위치, 사용자의 속도, 사용자의 방향, 등)을 수집할 수 있을지를 제어하기 위한 기회를 제공받을 수 있다. 추가적으로, 특정 데이터는 이러한 데이터가 컴퓨팅 디바이스에 의해 저장 또는 사용되기 전에 하나 이상의 방식들로 처리될 수 있어서, 개인적으로 식별가능한 정보는 제거된다. 예를 들어, 사용자의 일정 정보, 선호도들, 지리적 위치들, 등은 일반화될 수 있어서, 정확한 사용자의 일정, 선호도 및 지리적 위치는 결정될 수 없다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되고 정보 서버 시스템(60)에 의해 사용되는지에 대해 제어할 수 있다.
동작 시, 통지 호스트 모듈(62)은 텍스트 메지시가 사용자의 인스턴스 메시징 계정에 의해 수신되었다고 나타내는, 컴퓨팅 디바이스들(10)의 사용자와 관련된 통지 데이터를 수신할 수 있다. 통지 호스트 모듈은 데이터 저장소(68A)에 통지 데이터의 적어도 일부를 저장할 수 있다. 통지 호스트 모듈(62)은 컴퓨팅 디바이스들(10) 중 특별한 시간에 사용자에 의해 사용되고 있을 가능성이 높은 컴퓨팅 디바이스를 나타내는 정보를 예측 모듈(64)로부터 획득하기 위해 예측 모듈(64)에 질의할 수 있다.
예측 모듈(64)은 컴퓨팅 디바이스들(10) 중 어느 컴퓨팅 디바이스가 특별한 시간에 통지 데이터와 관련된 사용자에 의해 사용되고 있을 가능성이 가장 높은지 결정하기 위해 하나 이상의 컴퓨팅 디바이스들(10)로부터 수신된 컨텍스트 정보에 대해 디바이스 컨텍스트 정보 데이터 저장소(68B)에 액세스할 수 있다. 예측 모듈(64)은 사용자에 의해 사용될 수 있는 컴퓨팅 디바이스들(10) 중 하나 이상의 컴퓨팅 디바이스들과 관련된 컨텍스트 정보를 검색하기 위해 통지 데이터와 관련된 사용자 식별자를 이용하여 데이터 저장소(68B)에서 질의를 수행할 수 있다. 데이터 저장소(68B)로부터 검색된 컨텍스트 정보에 근거하여, 예측 모듈(64)은 컴퓨팅 디바이스들(10) 중 어느 컴퓨팅 디바이스가 특별한 시간에 사용되고 있을 가능성이 가장 높은지 결정할 수 있고, 또한, 컴퓨팅 디바이스들(10) 중 어느 컴퓨팅 디바이스가 통지 호스트 모듈(62)로부터 통지 데이터를 수신하고, 특별한 시간에 인스턴트 메시지 통지 데이터에 근거한 알림을 출력함으로써 사용자의 관심을 얻기에 적합할 수 있는지를 결정할 수 있다.
예를 들어, 예측 모듈(64)은, 컨텍스트 정보 모듈(24)로부터의 컨텍스트 정보가 컴퓨팅 디바이스(10A)가 파워-온되어 있고 활성 상태에서 동작하고 있음을 그리고 (예컨대, 사용자가 키보드에 타이핑하고 그리고/또는 UID(12A)에 터치 입력을 제공함에 따라) 컴퓨팅 디바이스(10A)의 하나 이상의 입력 디바이스들이 사용자로부터의 입력을 능동적으로(actively) 수신하고 있음을 나타낸다고 결정할 수 있다. 컨텍스트 정보 모듈들(24)로부터의 컨텍스트 정보에 근거하여, 예측 모듈(64)은 (예컨대, 예측적 알고리즘들 및 기법들에 근거한 머신 러닝 또는 다른 타입들 또는 규칙들을 사용하여) 컴퓨팅 디바이스(10A)가 특별한 시간에 사용되고 있을 확률을 결정할 수 있다. 상기 확률이 가능성 임계(예컨대, 50 퍼센트)를 만족한다고 결정함에 응답하여, 예측 모듈(64)은 통지 데이터와 관련된 사용자가 특별한 시간에 컴퓨팅 디바이스(10A)를 사용하고 있다고 결정할 수 있다.
일부 예들에서, 예측 모듈(64)은, 사용자가 컴퓨팅 디바이스(10) 중 일 컴퓨팅 디바이스를 사용하고 있다고 결정하기 위해 컴퓨팅 디바이스들(10) 중 타 컴퓨팅 디바이스로부터 수신되고 데이터 저장소(68B)에 저장된 컨텍스트 정보를 사용할 수 있다. 예를 들어, 컴퓨팅 디바이스(10A)로부터 수신된 컨텍스트 정보에 근거하여, 예측 모듈(64)은 컴퓨팅 디바이스(10A)가 특별한 위치에서 활성화되어 있고 정지(stationary)되어 있는 데스크탑 컴퓨터라고 결정할 수 있다. 예측 모듈(64)은 컴퓨팅 디바이스(10A)의 사용자가 컴퓨팅 디바이스(10A)를 이용하고 있을 가능성이 높고, 상기 컴퓨팅 디바이스(10A)에 관심을 두고 있다고 결정할 수 있다.
컴퓨팅 디바이스(10N)로부터 수신된 컨텍스트 정보에 근거하여, 예측 모듈(64)은 컴퓨팅 디바이스(10N)가 비활성화된 착용가능한 컴퓨팅 디바이스라고 결정할 수 있으며, 상기 비활성화된 착용가능한 컴퓨팅 디바이스는 또한, 특별한 위치에 정지되어 있다. 비록 컴퓨팅 디바이스(10N)가 비활성화되어 있지만, 예측 모듈(64)은 (예컨대, 컴퓨팅 디바이스(10N)가 사람의 손목에 있다고 나타내는 갈바닉 스킨 응답(galvanic skin response), 온도, 지향 및 또는 다른 움직임을 나타내는 센서 정보에 근거하여) 컴퓨팅 디바이스(10N)가 능동적으로 착용되어 있다고 나타내는 컨텍스트 정보를 컴퓨팅 디바이스(10N)로부터 수신할 수 있다. 예측 모듈(64)은 컴퓨팅 디바이스(10A)의 사용자가 컴퓨팅 디바이스(10N)를 사용하고 있을 가능성이 높지 않다고 그리고/또는 컴퓨팅 디바이스(10N)에 관심을 두고 있지 않다고 결정할 수 있다.
사용자가 이전의 특별한 시간에 컴퓨팅 디바이스(10A)와 상호대화하고 있다고 결정함에 응답하여 정보 서버 시스템(60)은 컴퓨팅 디바이스(10A)에 전송하기 위해 통지 데이터를 출력할 수 있다. 예를 들어, 통지 호스트 모듈(62)은 컴퓨팅 디바이스들(10A)이 컴퓨팅 디바이스(10N)가 이전의 특별한 시간에 사용되고 있을 확률보다 (이전의 특별한 시간에 사용되고 있을) 높은 확률을 가진다고 나타내는 정보를 예측 모듈(64)로부터 수신할 수 있다. 통지 호스트 모듈(62)은 링크들(32)을 통해 컴퓨팅 디바이스(10A)의 통지 클라이언트 모듈(22A)에 통지 데이터를 출력할 수 있는 통신 유닛들(72)에 통신 채널들(50)을 통해 통지 데이터를 전송할 수 있다. 컴퓨팅 디바이스(10A)의 통지 클라이언트 모듈(22A)은 UID(12A)로 하여금 통지 데이터에 근거한 알림(예컨대, 그래픽 표시(16A), 및 기타 등등)을 출력하게 하도록 UI 모듈(20A)에 명령하기 위한 그래픽 정보 및/또는 명령어들을 출력할 수 있다.
통지 데이터와 관련된 사용자가 통지 데이터와 관련된 정보를 획득하고 그리고/또는 통지 데이터에 근거한 알림을 수신할 가능성을 증가시키기 위해, 통지 호스트 모듈(62)은 통지 데이터와 관련된 사용자가 나중의 특별한 시간에(예컨대, 통지 호스트 모듈(62)이 컴퓨팅 디바이스(10A)에 전송하기 위해 통지 데이터를 처음 출력한 이전의 특별한 시간 후에) 컴퓨팅 디바이스(10A)와 계속 상호대화할지 결정할 수 있다. 통지 호스트 모듈(62)이 사용자가 나중의 특별한 시간에 컴퓨팅 디바이스(10N)와 상호대화하고 있다고 결정하면, 통지 호스트 모듈(62)은 사용자가 자신의 관심을 변경했으며 컴퓨팅 디바이스(10A)를 사용하는 것을 멈추었고 그리고/또는 컴퓨팅 디바이스(10N)를 사용하기 시작한 (예컨대, 이전의 특별한 시간과 나중의 특별한 시간 사이의) 시간 기간 동안 통지 데이터를 놓쳤을 수 있다고 추론할 수 있다.
정보 서버 시스템(60)은 사용자가 나중의 특별한 시간에 컴퓨팅 디바이스(10N)와 상호대화하고 있다고 결정할 수 있다. 예를 들어, 나중의 특별한 시간에, 통지 호스트 모듈(62)은 컴퓨팅 디바이스들(10) 중 어느 일 컴퓨팅 디바이스가 사용자에 의해 사용되고 있을 가능성이 높은지 나타내는 정보에 대해 예측 모듈(64)에 질의하고, 컴퓨팅 디바이스(10A)가 사용자에 의해 사용되고 있을 가능성이 높지 않고 그리고/또는 컴퓨팅 디바이스(10N)가 사용자에 의해 사용되고 있을 가능성이 높다는 표시를 수신할 수 있다.
나중의 특별한 시간이 이전의 특별한 시간 이후의 임계 시간량보다 짧음에 근거해서, 사용자가 컴퓨팅 디바이스(10A)에서 통지 데이터를 보지 못했음을 결정함에 응답하여, 정보 서버 시스템(60)은 컴퓨팅 디바이스(10N)에 전송하기 위해 통지 데이터를 출력할 수 있다. 다시 말해, 통지 호스트 모듈(62)은 (통지 데이터가 컴퓨팅 디바이스(10A)에 전송하기 위해 처음 출력된) 이전의 시간과 (사용자가 컴퓨팅 디바이스(10A)를 사용하기 시작했을 수 있고 그리고/또는 컴퓨팅 디바이스(10N)를 사용하는 것을 멈추었을 수 있는) 나중의 시간을 비교함으로써 통지 데이터와 관련된 사용자가 통지 데이터(예컨대, 컴퓨팅 디바이스(10A)에 의해 제공되는 알림)를 놓쳤을 가능성이 높은지 결정할 수 있다. 통지 호스트 모듈(62)은 이전의 시간과 나중의 시간 사이의 시간량이 임계 시간량보다 짧은지(예컨대, 1분 미만, 30초 미만, 등) 결정할 수 있다. 임계는 사용자가 자신의 관심을 컴퓨팅 디바이스(10A)가 아닌 다른 곳으로 변경했고 그리고 컴퓨팅 디바이스(10A)의 통지 클라이언트 모듈(22)에 의해 통지 데이터의 수신을 통지받는 것을 놓쳤거나 또는 그렇지 않으면 통지받지 못한 시간 기간을 나타낸다.
통지 호스트 모듈(62)은 컴퓨팅 디바이스(10N)에 통지 데이터를 출력할 수 있다. 컴퓨팅 디바이스(10N)의 통지 클라이언트 모듈(22N)은 UI 모듈(22N)로 하여금 통지 데이터(예컨대, UID(12N)에서의 그래픽 표시(16N))에 근거하여 알림을 출력하게 할 수 있다.
일부 예들에서, 정보 서버 시스템(60)은 통지 데이터의 우선순위 레벨이 임계를 만족한다고 결정함에 응답하여, 제1 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 처음 출력한 후에 제2 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력할 수 있다. 다시 말해, 통지 데이터가 이전의 특별한 시간에 컴퓨팅 디바이스들(10) 중 제1 컴퓨팅 디바이스로의 전송을 위해 출력될 때, 통지 호스트 모듈(62)이 사용자가 통지 데이터에 근거한 알림을 수신했을(예컨대, 보고, 듣고 및/또는 느꼈을) 가능성이 높았다고 또는 높지 않았다고 또는 그렇지 않으면 상기 통지 데이터와 관련된 정보를 획득했다고 결정할 때, 통지 호스트 모듈(62)은 나중의 특별한 시간에 컴퓨팅 디바이스들(10) 중 제2 컴퓨팅 디바이스에서 통지 데이터를 출력함으로써 통지 데이터로 사용자를 "체이싱"할지 하지 않을지 결정하기 전에 통지 데이터의 우선순위 레벨이 우선순위 임계를 만족하는지 결정할 수 있다. 만일 통지 데이터의 우선순위 레벨이 (예컨대, 보다 중요한 통지 데이터를 나타내기 위한) 임계를 만족하면, 통지 호스트 모듈(62)은 컴퓨팅 디바이스들(10) 중 사용자에 의해 사용되고 있을 가능성이 가장 높은 컴퓨팅 디바이스를 나타내는 정보에 대해 예측 모듈(64)에 질의할 수 있고, 통신 모듈들(72)로 하여금 컴퓨팅 디바이스들(10) 중 가장 가능성이 높은 그 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력하게 할 수 있다.
일부 예들에서, 정보 서버 시스템(60)은 통지 데이터가 시간 감응적 정보를 포함한다고 결정함에 응답하여, 제1 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 처음 출력한 후에 제2 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력할 수 있다. 다시 말해, 통지 호스트 모듈(62)은 사용자가 통지 데이터에 근거한 알림을 수신했을(예컨대, 보았을, 들었을 그리고/또는 느꼈을) 가능성이 높거나 또는 그렇지 않으면 상기 통지 데이터와 관련된 정보를 획득했을 가능성이 높다고 결정할 때까지 나중의 특별한 시간들에서 상기 통지 데이터와 관련된 사용자를 "체이싱"할지 하지 않을지 그리고 제2, 제3, 제4, 기타 등등의 컴퓨팅 디바이스들(10)에 통지 데이터를 출력할지 하지 않을지를 결정하기 전에, 수신된 통지 데이터의 시간 민감도 속성이 상기 통지 데이터와 관련된 정보가 특별한 시간에 만료될 것을 나타내는지 결정할 수 있다. 만일, 통지 호스트 모듈(62)이 (예컨대, 시간 감응도 속성을 분석함으로써) 상기 통지 데이터와 관련된 정보가 시간 감응적이라고 결정하면, 통지 호스트 모듈(62)은 컴퓨팅 디바스들(10) 중 사용자에 의해 사용될 가능성이 가장 높은 컴퓨팅 디바이스를 나타내는 정보에 대해 예측 모듈(64)에 질의 할 수 있고, 통신 모듈들(72)로 하여금 컴퓨팅 디바이스들(10) 중 상기 가장 가능성이 높은 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력하게 할 수 있다.
일부 예들에서, 정보 서버 시스템(60)은, 통지 데이터와 관련된 전송자의 식별자가 전자 주소록(electronic address book) 또는 연락처 목록(contact list)의 엔트리에 대응한다고 결정함에 응답하여, 제1 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 처음 출력한 후, 제2 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력할 수 있다. 다시 말해, 통지 호스트 모듈(62)은 통지 데이터가 사용자와 관련된 연락처 목록의 역락처와 관련된다고 결정한 후에 통지 데이터와 관련된 사용자를 체이싱할 수 있다. 예를 들어, 통지 호스트 모듈(62)은 (예컨대, 정보 서버 시스템(60)에 액세스가능한 클라우드 서버를 통해) 사용자와 관련된 주소록 또는 연락처 목록과 관련된 정보에 액세스하거나 또는 상기 정보를 저장한다. 통지 호스트 모듈(62)은 전송자의 식별자가 주소록 또는 연락처 목록 내의 엔트리에 대응하는지 결정하기 위해 사용자와 관련된 전자 주소록 또는 연락처 목록들 중 하나 이상의 엔트리들과 통지데이터의 전송자의 식별자를 상관(correlate)시킬 수 있다. 통지 호스트 모듈(62)은 전송자가 상기 사용자와 관련된 전자 주소록 또는 연락처 목록 내에 포함될 때 (예컨대, 상기 통지 호스트 모듈(62)이 상기 통지 데이터와 관련된 사용자가 상기 통지 데이터에 근거한 알림을 수신했을 가능성이 높거나 또는 그렇지 않으면 상기 통지 데이터와 관련된 정보를 획득했을 가능성이 높다고 결정할 때까지 나중의 시간에 컴퓨팅 디바이스들(10) 중 다른 컴퓨팅 디바이스에 통지 데이터를 출력함으로써) 사용자를 "체이싱"하고, 제2 컴퓨팅 디바이스에 상기 통지 데이터를 출력하며, 그리고/또는 상기 전송자가 주소록 또는 연락처 목록 내에 포함되지 않을 때 사용자를 체이싱하지 않을 수 있다.
도 3은 본 발명의 하나 이상의 기법들에 따른 원격 디바이스에서 디스플레이하기 위한 그래픽 컨텐트를 출력하는 컴퓨팅 디바이스(100)를 예시하는 블록도이다. 그래픽 컨텐트는 일반적으로, 텍스트, 이미지들, 동화상의 그룹, 등과 같이 디스플레이를 위해 출력될 수 있는 어떤 시각적 정보를 포함할 수 있다. 도 3에 도시된 예는 컴퓨팅 디바이스(100), 존재-감응형 디스플레이(101), 통신 유닛(110), 프로젝터(120), 프로젝터 스크린(122), 모바일 디바이스(126) 및 시각적 디스플레이 디바이스(130)를 포함한다. 비록, 도 1에서 예를 위해 복수의 단독형 컴퓨팅 디바이스들(10)로서 도시되지만, 컴퓨팅 디바이스들(10) 중 하나와 같은 컴퓨팅 디바이스 및 컴퓨팅 디바이스(100)는 일반적으로, 소프트웨어 명령어들을 실행하는 프로세서 또는 다른 적절한 컴퓨팅 환경을 포함하는 어떤 컴포넌트 또는 시스템일 수 있고, 예컨대 존재-감응형 디스플레이를 포함할 필요가 없을 수 있다.
도 3의 예에 도시된 바와 같이, 컴퓨팅 디바이스(100)는 도 2의 프로세서들(70)에 관하여 기술된 바와 같은 기능성을 포함하는 프로세서일 수 있다. 이러한 예들에서, 컴퓨팅 디바이스(100)는 시스템 버스 또는 다른 적절한 연결부일 수 있는 통신 채널(102A)에 의해 존재-감응형 디스플레이(101)에 동작적으로 연결될 수 있다. 컴퓨팅 디바이스(100)는 또한, 역시 시스템 버스 또는 다른 적절한 연결부일 수 있는 통신 채널(102B)에 의해, 하기에 추가로 기술되는 통신 유닛(110)에 동작적으로 연결될 수 있다. 비록, 도 3의 예와 같이 개별적으로 도시되지만, 컴퓨팅 디바이스(100)는 어떤 수의 하나 이상의 통신 채널들에 의해 존재-감응형 디스플레이(101) 및 통신 유닛(110)에 동작적으로 연결될 수 있다.
다른 예들에서, 도 1의 컴퓨팅 디바이스들(10)에 의해 이전에 예시된 것과 같이, 컴퓨팅 디바이스는 (스마트 폰들을 포함하는) 모바일 폰들, 랩탑 컴퓨터들, 컴퓨팅 워치들, 컴퓨팅 아이 글래스들, 착용가능한 컴퓨팅 디바이스들, 등과 같은 포터블한 또는 모바일 디바이스를 나타낼 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, 스마트 텔레비전 플랫폼들, 카메라들, 개인용 디지털 단말기들(PDA), 서버들, 메인프레임들, 등일 수 있다.
존재-감응형 디스플레이(101)는 디스플레이 디바이스(103) 및 존재-감응형 입력 디바이스(105)를 포함할 수 있다. 디스플레이 디바이스(103)는 예컨대, 컴퓨팅 디바이스(100)로부터 데이터를 수신하고 그래픽 컨턴트를 디스플레이할 수 있다. 일부 예들에서, 존재-감응형 입력 디바이스(105)는 커패시티브, 인덕티브, 그리고/또는 광학적 인식 기법들을 이용하여 존재-감응형 디스플레이(101)에서 하나 이상의 입력들(예컨대, 연속적인 제스쳐들, 다중-터치 제스쳐들, 단일-터치 제스쳐들, 등)을 결정하고 통신 채널(102A)을 이용하여 컴퓨팅 디바이스(100)에 이러한 입력의 표시들을 보낼 수 있다. 일부 예들에서, 존재-감응형 입력 디바이스(105)는 디스플레이 디바이스(103)의 상부에 물리적으로 포지션될 수 있어서, 사용자가 디스플레이 디바이스(103)에 의해 디스플레이되는 그래픽 요소 위로 입력 유닛을 포지셔닝할 때, 존재-감응형 입력 디바이스(105)에서의 위치는 그래픽 요소가 디스플레이되는 디스플레이(103)의 위치에 대응하게 된다. 다른 예들에서, 존재-감응형 입력 디바이스(105)는 디스플레이 디바이스(103)로부터 물리적으로 떨어져 포지션될 수 있고, 존재-감응형 입력 디바이스(105)의 위치들은 디스플레이 디바이스(103)의 위치들에 대응할 수 있어서, 입력이 디스플레이 디바이스(103)의 대응하는 위치들에서 디스플레이되는 그래픽 요소들과 상호대화하기 위해 존재-감응형 입력 디바이스(105)에 만들어질 수 있다.
도 3에 도시된 바와 같이, 컴퓨팅 디바이스(100)는 또한, 통신 유닛(110)을 포함하고 그리고/또는 상기 통신 유닛과 동작적으로 연결될 수 있다. 통신 유닛(100)의 예들은 네트워크 인터페이스 카드, 이더넷 카드, 광학 송수신기, RF 송수신기, 또는 정보를 전송 및 수신할 수 있는 어떤 다른 타입의 디바이스를 포함할 수 있다. 이러한 통신 유닛들의 다른 예들은 블루투스, 3G, 및 Wi-Fi 라디오들, USB 인터페이스들, 등을 포함할 수 있다. 컴퓨팅 디바이스(100)는 또한, 간결성 및 예시를 위해 도 3에 도시되지 않는 하나 이상의 다른 디바이스들, 예컨대 입력 디바이스들, 출력 디바이스들, 메모리, 스토리지 디바이스들, 등을 포함하고 그리고/또는 이들과 동작적으로 연결될 수 있다.
도 3은 또한, 프로젝터(120) 및 프로젝터 스크린(122)을 예시한다. 프로젝션 디바이스들의 다른 이러한 예들은 그래픽 컨텐트를 디스플레이하기 위한 전자 화이트보드들, 홀로그래픽 디스플레이 디바이스들, 해드업 디스플레이(HUD) 및 어떤 다른 적절한 디바이스들을 포함할 수 있다. 프로젝터(120) 및 프로젝터 스크린(122)은 각각의 디바이스들로 하여금 컴퓨팅 디바이스(100)와 통신하게 하는 하나 이상의 통신 유닛들을 포함할 수 있다. 일부 예들에서, 하나 이상의 통신 유닛들은 프로젝터(120)와 프로젝터 스크린(122) 간에 통신을 하게 할 수 있다. 프로젝터(120)는 컴퓨팅 디바이스(100)로부터 그래픽 컨텐트를 포함하는 데이터를 수신할 수 있다. 프로젝터(120)는 데이터를 수신함에 응답하여, 그래픽 컨텐트를 프로젝터 스크린(122)에 프로젝션할 수 있다. 일부 예들에서, 프로젝터(120)는 광학 인식 또는 다른 적절한 기법들을 이용하여 프로젝터 스크린(122)에서 하나 이상의 입력들(예컨대, 연속적인 제스쳐들, 다중-터치 제스쳐들, 단일-터치 제스쳐들, 등)을 결정하고, 하나 이상의 통신 유닛들을 이용하여 컴퓨팅 디바이스(100)에 이러한 입력의 표시들을 전송할 수 있다. 이러한 예들에서, 프로젝터 스크린(122)은 불필요할 수 있고, 프로젝터(120)는 어떤 적절한 매체 상에 그래픽 컨텐트를 프로젝션하고, 광학적 인식 또는 다른 이러한 적절한 기법들을 이용하여 하나 이상의 사용자 입력들을 검출할 수 있다.
일부 예들에서, 프로젝터 스크린(122)은 존재-감응형 디스플레이(124)를 포함할 수 있다. 존재-감응형 디스플레이(124)는 본 발명에 기술된 바와 같이, UI 디바이스(4)의 기능의 서브세트 또는 상기 기능의 모두를 포함할 수 있다. 일부 예들에서, 존재-감응형 디스플레이(124)는 추가적인 기능을 포함할 수 있다. 프로젝터 스크린(122)(예컨대, 컴퓨팅 아이 글래스의 전자 디스플레이)은 컴퓨팅 디바이스(100)로부터 데이터를 수신하고 그래픽 컨텐트를 디스플레이할 수 있다. 일부 예들에서, 존재-감응형 디스플레이(124)는 커패시티브, 인덕티브 및/또는 광학적 인식 기법들을 이용하여 프로젝터 스크린(122)에서 하나 이상의 입력들(예컨대, 연속적인 제스쳐들, 다중-터치 제스쳐들, 단일-터치 제스쳐들, 등)을 결정하고, 하나 이상의 통신 유닛들을 이용하여 컴퓨팅 디바이스(100)에 이러한 입력의 표시들을 전송할 수 있다.
도 3은 또한, 모바일 디바이스(126) 및 시각적 디스플레이 디바이스(130)를 예시한다. 모바일 디바이스(126) 및 시각적 디스플레이 디바이스(130)는 컴퓨팅 및 연결(connectivity) 능력들을 각각 포함한다. 모바일 디바이스(126)의 예들은 e-리더 디바이스들, 변환가능한 노트북 디바이스들, 하이브리드 슬레이트 디바이스들, 컴퓨터화된 워치들, 컴퓨터화된 아이 글래스들, 등을 포함할 수 있다. 시각적 디스플레이 디바이스(130)의 예들은 텔레비전, 컴퓨터 모니터들, 자동차 디스플레이들, 등과 같은 다른 반-고정적인(semi-stationary) 디바이스들을 포함할 수 있다. 도 3에 도시된 바와 같이, 모바일 디바이스(126)는 존재-감응형 디스플레이(128)를 포함할 수 있다. 시각적 디스플레이 디바이스(130)는 존재-감응형 디스플레이(132)를 포함할 수 있다. 존재-감응형 디스플레이(128, 132)는 본 발명에 기술된 바와 같은 UID(12)의 기능의 서브세트 또는 상기 기능의 모두를 포함할 수 있다. 일부 예들에서, 존재-감응형 디스플레이(128, 132)는 추가적인 기능성을 포함할 수 있다. 어떤 경우, 존재-감응형 디스플레이(132)는 예컨대, 컴퓨팅 디바이스(100)로부터 데이터를 수신하고 그래픽 컨텐트를 디스플레이할 수 있다. 일부 예들에서, 존재-감응형 디스플레이(132)는 커패시티브, 인덕티브 및/또는 광학적 인식 기법들을 이용하여 프로젝터 스크린에서 하나 이상의 입력들(예컨대, 연속적인 제스쳐들, 다중-터치 제스쳐들, 단일-터치 제스쳐들, 등)을 결정하고, 하나 이상의 통신 유닛들을 이용하여 컴퓨팅 디바이스(100)에 이러한 입력의 표시들을 전송할 수 있다.
상기에 기술된 바와 같이, 일부 예들에서, 컴퓨팅 디바이스(100)는 시스템 버스 또는 다른 적절한 통신 채널에 의해 컴퓨팅 디바이스(100)에 연결된 존재-감응형 디스플레이(101)에 디스플레이하기 위한 그래픽 컨텐트를 출력할 수 있다. 컴퓨팅 디바이스(100)는 또한, 프로젝터(120), 프로젝터 스크린(122), 모바일 디바이스(126) 및 시각적 디스플레이 디바이스(130)와 같은 하나 이상의 원격 디바이스들에 디스플레이하기 위한 그래픽 컨텐트를 출력할 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는 본 발명의 기법들에 따라 그래픽 컨텐트를 생성 및/또는 수정하도록 하나 이상의 명령어들을 실행시킬 수 있다. 컴퓨팅 디바이스(100)는 통신 유닛(100)과 같은 컴퓨팅 디바이스(100)의 통신 유닛에 그래픽 컨텐트를 포함하는 데이터를 출력할 수 있다. 통신 유닛(110)은 프로젝터(120), 프로젝터 스크린(122), 모바일 디바이스(126) 및 시각적 디스플레이 디바이스(130)와 같은 원격 디바이스들 중 하나 이상에 데이터를 전송할 수 있다. 이 방식으로, 컴퓨팅 디바이스(100)는 원격 디바이스들 중 하나 이상에 디스플레이하기 위한 그래픽 컨텐트를 출력할 수 있다. 일부 예들에서, 원격 디바이스들 중 하나 이상은 각각의 원격 디바이스들에 포함 및/또는 동작적으로 연결된 존재-감응형 디스플레이에 그래픽 컨텐트를 출력할 수 있다.
일부 예들에서, 컴퓨팅 디바이스(100)는 상기 컴퓨팅 디바이스(100)에 동작적으로 연결된 존재-감응형 디스플레이(101)에 그래픽 컨텐트를 출력하지 않을 수 있다. 다른 예들에서, 컴퓨팅 디바이스(100)는 통신 채널(102A)에 의해 상기 컴퓨팅 디바이스(100)에 연결된 존재-감응형 디스플레이(101) 및 하나 이상의 원격 디바이스들 모두에 디스플레이하기 위한 그래픽 컨텐트를 출력할 수 있다. 이러한 예들에서, 그래픽 컨텐트는 각각의 디바이스에서 실질적으로 동시에(contemporaneously) 디스플레이될 수 있다. 예를 들어, 일부 지연들이 원격 디바이스에 그래픽 컨텐트를 포함하는 데이터를 보내기 위한 통신 레이턴시에 의해 도입될 수 있다. 일부 예들에서, 컴퓨팅 디바이스(100)에 의해 생성되는 그래픽 컨텐트 및 존재-감응형 디스플레이(101)에 디스플레이하기 위한 출력은 하나 이상의 원격 디바이스들에서 디스플레이하기 위한 그래픽 컨텐트 디스플레이 출력과 다를 수 있다.
컴퓨팅 디바이스(100)는 어떤 적절한 통신 기법들을 이용하여 데이터를 전송 및 수신할 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는 네트워크 링크(112A)를 이용하여 외부 네트워크(114)에 네트워킹하도록 동작적으로 연결될 수 있다. 도 3에 도시된 원격 디바이스들 각각은 각각의 네트워크 링크들(112B, 112C 및 112D) 중 하나에 의해 외부 네트워크(114)에 동작적으로 연결될 수 있다. 외부 네트워크(114)는, 동작적으로 상호 연결되고 그럼으로써 도 3에 도시된 컴퓨팅 디바이스(100)와 원격 디바이스들과의 사이의 정보 교환을 제공하는 네트워크 허브들, 네트워크 스위치들, 네트워크 라우터들, 등을 포함할 수 있다. 일부 예들에서, 네트워크 링크들(112A 내지 112D)은 이더넷, ATM 또는 다른 네트워크 연결들일 수 있다. 이러한 연결들은 무선 및/또는 유선 연결들일 수 있다.
일부 예들에서, 컴퓨팅 디바이스(100)는 다이렉트 디바이스 통신(118)을 이용하여 도 3에 포함된 원격 디바이스들 중 하나 이상에 동작적으로 연결될 수 있다. 다이렉트 디바이스 통신(118)은 컴퓨팅 디바이스(100)가 유선 또는 무선 통신을 이용하여 원격 디바이스에 직접적으로 데이터를 전송 및 수신하는 통신들을 포함할 수 있다. 즉, 다이렉트 디바이스 통신(118)의 일부 예들에서, 컴퓨팅 디바이스(100)에 의해 전송된 데이터는 원격 디바이스에서 수신되기 전에 하나 이상의 추가적인 디바이스들에 의해 포워딩될 수 없고, 그 반대 역시 마찬가지이다. 다이렉트 디바이스 통신(118)의 예들은 블루투스, NFC, USB, Wi-Fi, 적외선, 등을 포함할 수 있다. 도 3에 도시된 원격 디바이스들 중 하나 이상은 통신 링크들(116A 내지 116D)에 의해 컴퓨팅 디바이스(100)와 동작적으로 연결될 수 있다. 일부 예들에서, 통신 링크들(112A 내지 112D)은 블루투스, NFC, USB, Wi-Fi, 적외선, 등을 이용한 연결들일 수 있다. 이러한 연결들은 무선 및/또는 유선 연결들일 수 있다.
본 발명의 기법들에 따르면, 컴퓨팅 디바이스(100)는 외부 네트워크(114)를 이용하여 시각적 디스플레이 디바이스(130)에 동작적으로 연결될 수 있다. 컴퓨팅 디바이스(100)는 통지 데이터를 컴퓨팅 시스템(예컨대, 도 1 및 2의 정보 서버 시스템(60))으로부터의 출력으로 수신할 수 있다. 예를 들어, 컴퓨팅 시스템은 상기 통지 데이터와 관련된 사용자가 특별한 시간에 컴퓨팅 디바이스(100)와 상호대화할 가능성이 높다고 결정하고, 이에 응답하여 컴퓨팅 디바이스(100)에 전송하기 위한 통지 데이터를 출력할 수 있다.
통지 데이터를 수신함에 응답하여, 컴퓨팅 디바이스(100)는 통지 데이터의 수신을 나타내는 알림을 출력할 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는 시각적 디스플레이 디바이스(130)에 통지 데이터에 근거한 그래픽 표시(예컨대, 그래픽 표시(16A))를 디스플레이하기 위해 출력할 수 있다. 컴퓨팅 디바이스(100)는 다이렉트 디바이스 통신(118) 또는 외부 네트워크(114)를 통해 디스플레이 디바이스(130)에 통지 데이터에 근거한 그래픽 표시를 디스플레이하기 위해 출력할 수 있다. 일부 예들에서, 디스플레이 디바이스(130)는 통지 데이터와 관련된 사용자에게 디스플레이하기 위한 그래픽 표시를 출력하고, 상기 사용자는 또한, 상기 통지 데이터에 근거한, 상기 디스플레이되는 그래픽 표시의 일부 또는 모두를 선택 또는 묵살(dismissing)함으로써 컴퓨팅 디바이스(100)와 상호대화할 수 있다. 컴퓨팅 디바이스(100) 및 디스플레이 디바이스(130)는 상기 통지 데이터에 근거한, 디스플레이되는 그래픽의 특별한 요소의 선택이 컴퓨팅 디바이스(100)로 하여금 상기 통지 데이터와 관련된 추가적인 정보(예컨대, 인스턴트 메시지의 텍스트, 등)를 획득할 수 있게 하도록 구성될 수 있다.
도 4 및 5는 본 발명의 하나 이상의 양상들에 따른 하나 이상의 예시적 컴퓨팅 디바이스들에 통지 데이터를 출력하도록 구성된 예시적인 컴퓨팅 시스템의 예시적인 동작들을 도시하는 순서도들이다. 도 4 및 5의 프로세스들은 도 1 및 도 2에 도시된 정보 서버 시스템(60)과 같은 컴퓨팅 시스템의 하나 이상의 프로세서들에 의해 수행될 수 있다. 예시를 위해 도 4 및 5는 도 1에 도시된 정보 서버 시스템(60), 컴퓨팅 디바이스들(10) 및 시스템(1)의 맥락 내에서 하기에 기술된다.
도 4는 정보 서버 시스템(60)이 사용자와 관련된 통지 데이터를 수신할 수 있음을 도시한다(200). 예를 들어, 정보 서버 시스템(60)은 컴퓨팅 디바이스들(10)의 사용자에 의해 액세스되는 e-메일 계정에 어드레싱된 e-메일 메시지의 수신을 표시하는 통지 데이터를 수신할 수 있다.
정보 서버 시스템(60)은 사용자가 제1 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정할 수 있다(210). 예를 들어, 예측 모듈(64)은 컴퓨팅 디바이스들(10)의 사용자가 제1 특별한 시간에 컴퓨팅 디바이스(10A)와 상호대화하고 있을 가능성이 높음을 나타내는 정보를 통지 호스트 모듈(62)에 출력할 수 있다.
도 4는 정보 서버 시스템(60)이 제1 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력할 수 있음을 보여준다(220). 예를 들어, 통지 호스트 모듈(62)은 정보 서버 시스템(60)으로 하여금 링크들(32)을 통해 컴퓨팅 디바이스(10A)의 통지 클라이언트 모듈(22A)에 통지 데이터를 출력하게 할 수 있다.
일부 예들에서, 정보 서버 시스템(60)은 사용자가 제1 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여 제1 컴퓨팅 디바이스(예컨대, 컴퓨팅 디바이스(10A))에 전송하기 위해 통지 데이터를 출력할 수 있고, 제1 특별한 시간에 제2 컴퓨팅 디바이스(예컨대, 컴퓨팅 디바이스(10N))를 포함하는 다른 컴퓨팅 디바이스들(10)에 전송하기 위해서는 통지 데이터를 출력하지 않을 수 있다. 다시 말해, 정보 서버 시스템(60)은 상기 정보 서버 시스템(60)이 제1 특별한 시간에 사용될 가능성이 높다고 결정한 단일 컴퓨팅 디바이스(예컨대, 컴퓨팅 디바이스(10))에 전송하기 위해 통지 데이터를 배타적으로 출력할 수 있다.
정보 서버 시스템(60)은 사용자가 제2 특별한 시간에 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정할 수 있다(230). 예를 들어, 통지 호스트 모듈(62)은 통지 데이터가 사용자와 관련된 주소록 또는 연락처 목록 내의 연락처와 관련된다고 결정할 수 있거나 또는 통지 데이터와 관련된 우선순위 레벨이 우선순위 임계를 초과한다고 결정할 수 있고 그리고/또는 통지 데이터가 시간 감응적 정보를 포함한다고 결정할 수 있다. 통지 데이터와 관련된 사용자가 상기 통지 데이터에 근거한 알림을 수신하거나 또는 그렇지 않으면 정보 서버 시스템(60)이 제1 (이전의) 특별한 시간에 출력한 통지 데이터를 획득할 가능성을 증가시키기 위해, 통지 호스트 모듈(62)은 사용자가 제2 (나중의) 특별한 시간에 컴퓨팅 디바이스(10A)와 상호대화하고 있는지 그렇지 않은지의 갱신된 표시에 대해 예측 모듈(64)에 질의할 수 있다. 다시 말해, 통지 호스트 모듈(62)은 사용자가 제2 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있지 않다고 결정함으로써 제1 컴퓨팅 디바이스에서 통지 데이터를 보지 못했다고 결정할 수 있다. 통지 호스트 모듈(62)은 제2 특별한 시간에 사용자가 컴퓨팅 디바이스(10N)와 상호대화하고 있을 가능성이 높고 그리고/또는 컴퓨팅 디바이스(10A)와 상호대화하고 있지 않을 가능성이 높음을 나타내는 정보를 예측 모듈(64)로부터 수신할 수 있다.
일부 예들에서, 정보 서버 시스템(60)은 사용자가 제2 컴퓨팅 디바이스와 관련된 컨텍스트 정보를 처음으로 수신함으로써 제1 컴퓨팅 디바이스에서 통지 데이터를 보지 못했음을 결정할 수 있고, 상기 컨텍스트 정보에 근거하여, 사용자가 제2 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있지 않다고 결정할 수 있다. 다시 말해, 예측 모듈(64)은 컴퓨팅 디바이스(10N)로부터 컨텍스트 정보를 수신할 수 있고, 컴퓨팅 디바이스(10N)로부터 수신된 상기 컨텍스트 정보에 근거하여, 사용자가 컴퓨팅 디바이스(10A)를 사용하지 않고 있다고 결정할 수 있다. 예측 모듈(64)은 컴퓨팅 디바이스들(10) 중 컴퓨터화된 워치와 같은 일 컴퓨팅 디바이스로부터 수신된 컨텍스트 정보(예컨대, 센서 정보, 등)에 근거하여 사용자가 컴퓨팅 디바이스들(10) 중 데스크탑 컴퓨터와 같은 다른 컴퓨팅 디바이스와 상호대화하고 있지 않다고 결정할 수 있다.
도 4는 정보 서버 시스템(60)이 제2 특별한 시간이 제1 특별한 시간 이후 임계 시간량보다 짧은지 결정할 수 있음을 보여준다(240). 예를 들어, 통지 호스트 모듈(62)은 제2 특별한 시간이 제1 특별한 시간에 시간 상 너무 가까이 있다고 결정할 수 있고, 사용자가 (예컨대, 컴퓨팅 디바이스(10A)에서 통지 데이터 근거한 알림을 보고, 듣고 그리고/또는 느끼는 자신의 관심을 컴퓨팅 디바이스(10A)로부터 다른 곳으로 돌림으로써) 컴퓨팅 디바이스(10A)에서 통지 데이터에 근거한 알림을 놓쳤을 수 있음을 나타낸다.
정보 서버 시스템(60)이 제2 특별한 시간이 제1 특별한 시간 이후 임계 시간량보다 짧다고 결정하면, 정보 서버 시스템(60)은 제2 컴퓨팅 디바이스에 전송하기 위해 통지 데이터를 출력할 수 있다(250). 예를 들어, 정보 서버 시스템(60)은 사용자를 "체이싱"하려는 시도로 컴퓨팅 디바이스(10N)에 전송하기 위해 통지 데이터를 출력하고, 컴퓨팅 디바이스들(10) 중 제2 특별한 시간에 사용자에 의해 사용되고 있을 가능성이 가장 높은 컴퓨팅 디바이스로 하여금 통지 데이터에 근거한 알림을 출력하게 할 수 있다.
일부 예들에서, 사용자가 제2 특별한 시간 이후 제3 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 정보 서버 시스템(60)은 컴퓨팅 디바이스(10A)에 전송하기 위해 통지 데이터를 출력할 수 있다. 다시 말해, 컴퓨팅 디바이스(10N)에 통지 데이터를 출력한 후에, 정보 서버 시스템(62)은 사용자가 컴퓨팅 디바이스(10A)와 다시 상호대화하고 있을 가능성이 높다고 결정할 수 있고, 제2 전송을 통해 컴퓨팅 디바이스(10A)에 통지 데이터를 출력할 수 있다.
도 5는 정보 서버 시스템(60)의 추가의 동작들을 예시한다. 예를 들어, 도 5는 도 4의 단계(250)로부터 정보 서버 시스템(60)에 의해 수행될 수 있는 정보 서버 시스템(60)의 동작들의 추가적인 예를 도시한다.
도 5는 정보 서버 시스템(60)이 사용자와 관련된 제2 통지 데이터를 수신할 수 있음을 보여준다(260). 예를 들어, 정보 서버 시스템(60)은 추가적인 통지 데이터를 수신할 수 있고, 상기 추가적인 통지 데이터는 컴퓨팅 디바이스들(10)의 사용자에 의해 액세스되는 인스턴트 메시지 계정에 어드레싱된 인스턴트 메시지의 수신을 나타낸다.
정보 서버 시스템(60)은 제2 컴퓨팅 디바이스에 전송하기 위해 제2 통지 데이터를 출력할 수 있다(270). 예를 들어, 통지 호스트 모듈(62)은 통지 데이터와 관련된 사용자가 컴퓨팅 디바이스(10N)와 계속 상호대화하고 있다고 나타내는 정보를 예측 모듈(64)로부터 수신할 수 있다. 통지 호스트 모듈(62)은 컴퓨팅 디바이스(10N)에 추가적인 통지 데이터를 전송하고, 통지 클라이언트 모듈(22N) 및 UI 모듈(20N)로 하여금 상기 추가적인 통지 데이터에 근거한 알림을 출력하게 할 수 있다.
정보 서버 시스템(60)은 사용자가 제1 및 제2 특별한 시간들 이후 제3 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정할 수 있다(280). 다시 말해, 제1 및 제2 특별한 시간들 이후 제3 특별한 시간에, 통지 모듈(62)은 사용자가 컴퓨팅 디바이스(10A)와 다시 상호대화를 시작했을 가능성이 높음을 나타내는 정보를 예측 모듈(64)로부터 수신할 수 있다. 통지 호스트 모듈(62)은 제3 특별한 시간이 제2 특별한 시간 이후 임계 시간량보다 짧다고 결정할 수 있고, 사용자가 컴퓨팅 디바이스(10N)에서 추가적인 통지 데이터에 근거한 알림을 보고, 듣고 그리고/또는 느끼지 (예컨대, 수신하지) 못했을 수 있다고 결정할 수 있다.
정보 서버 시스템(60)은 제1 특별한 시간 후에 그리고 제3 특별한 시간 이전에 수신된 제2 통지 데이터를 제1 컴퓨팅 디바이스에 전송하기 위해 출력할 수 있다(290). 다시 말해, 사용자가 제2 특별한 시간 이후 제3 특별한 시간에 컴퓨팅 디바이스(10A)와 상호대화하고 있다고 결정함에 응답하여 정보 서버 시스템(62)은 제1 특별한 시간 이후 그리고 제3 특별한 시간 이전에 정보 서버 시스템(62)에 의해 수신된 추가적인 통지 데이터를 컴퓨팅 디바이스(10A)에 전송하기 위해 출력할 수 있다. 이 방식으로, 정보 서버 시스템(62)은 컴퓨팅 디바이스들(10) 사이를 왔다갔다(back and forth) 하면서 통지 데이터와 관련된 사용자를 체이싱할 수 있다. 정보 서버 시스템(62)은 컴퓨팅 디바이스(10A)에서 제1 통지 데이터(예컨대, e-메일에 기반한 통지)를 출력한 다음, "체이싱"하고, 컴퓨팅 디바이스(10N)에서 제1 통지 데이터를 출력할 수 있다. 추가적인 통지 데이터(예컨대, 인스턴트 메시지에 기반한 통지)를 수신한 후에, 정보 서버 시스템(62)은 컴퓨팅 디바이스(10N)에 전송하기 위해 추가적인 통지 데이터를 출력할 수 있고, 그 다음, "체이싱"하고, 컴퓨팅 디바이스(10A)에 전송하기 위해 추가적인 통지 데이터를 출력할 수 있다.
일부 예들에서, 정보 서버 시스템(62)은 안면 검출 기법들에 근거하여 사용자가 컴퓨팅 디바이스(10) 중 어느 것과 상호대화하고 있는지를 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스(10A)는 카메라(예컨대, 웹 카메라, 등)를 포함할 수 있다. 정보 서버 시스템(62)은 컴퓨팅 디바이스(10A)의 카메라에 의해 캡쳐되는 비디오 데이터를 수신하고, 그리고 안면 인식 기법 및/또는 알고리즘들을 이용하여 사람의 얼굴의 이미지가 상기 비디오 데이터에 포함되는지 아닌지를 결정할 수 있다. 사람 얼굴이 상기 비디오 데이터 내에서 검출되는 경우들에서, 정보 서버 시스템(62)은 사용자가 컴퓨팅 디바이스(10A)와 상호대화하고 있다고 결정할 수 있다. 사람 얼굴이 상기 비디오 데이터 내에서 검출되지 않는 경우들에서, 정보 서버 시스템(62)은 사용자가 컴퓨팅 디바이스(10A)와 상호대화하고 있지 않다고 결정할 수 있다. 일부 예들에서, 레티나 스캐닝 또는 다른 이미지 매칭 기법들은 컴퓨팅 디바이스들(10) 중 어느 것으로부터 수신된 스틸 이미지 또는 모션 비디오 데이터와 관련된 이미지가, 사용자가 컴퓨팅 디바이스들(10) 중 어느 것과 상호대화하고 있는지를 나타내는지를 결정하기 위해 사용될 수 있다.
제1절. 방법으로서, 상기 방법은 컴퓨팅 시스템에 의해, 사용자와 관련된 통지 데이터를 수신하는 단계와; 상기 사용자가 제1 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 상기 컴퓨팅 시스템에 의해 그리고 상기 제1 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하는 단계와; 상기 컴퓨팅 시스템에 의해, 상기 사용자가 제2 특별한 시간에 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정하는 단계와; 그리고 상기 제2 특별한 시간이 상기 제1 특별한 시간 이후 임계 시간량보다 짧음에 근거해서 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함에 응답하여, 상기 컴퓨팅 시스템에 의해 그리고 상기 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하는 단계를 포함한다.
제2절. 제1절에 있어서, 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정하는 것은 상기 사용자가 상기 제2 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있지 않다고 결정하는 것을 더 포함한다.
제3절. 제1절 내지 제2절 중 어느 하나에 있어서, 상기 제1 특별한 시간에, 상기 통지 데이터는 상기 사용자가 상기 제1 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 상기 제1 컴퓨팅 디바이스로의 전송을 위해 출력되고, 상기 제2 컴퓨팅 디바이스를 포함하는 다른 컴퓨팅 디바이스들로의 전송을 위해 출력되지 않는다.
제4절. 제1절 내지 제3절 중 어느 하나에 있어서, 상기 컴퓨팅 시스템에 의해 그리고 상기 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하는 단계는 또한, 상기 통지 데이터의 우선순위 레벨이 임계를 만족한다고 결정함에 응답한다.
제5절. 제1절 내지 제4절 중 어느 하나에 있어서, 상기 컴퓨팅 시스템에 의해 그리고 상기 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하는 단계는 또한, 상기 통지 데이터가 시간 감응적 정보를 포함한다고 결정함에 응답한다.
제6절. 제1절 내지 제5절 중 어느 하나에 있어서, 상기 컴퓨팅 시스템에 의해 그리고 상기 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하는 단계는 또한, 상기 통지 데이터가 상기 사용자와 관련된 연락처 목록의 연락처와 관련된다고 결정함에 응답한다.
제7절. 제1절 내지 제6절 중 어느 하나에 있어서, 상기 방법은 상기 사용자가 상기 제2 특별한 시간 이후 제3 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 상기 컴퓨팅 시스템에 의해, 상기 제1 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하는 단계를 더 포함한다.
제8절. 제1절 내지 제7절 중 어느 하나에 있어서, 상기 통지 데이터는 제1 통지 데이터를 포함하고, 상기 방법은 상기 사용자가 상기 제2 특별한 시간 이후 제3 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있음을 결정함에 응답하여, 상기 제1 특별한 시간 이후 그리고 상기 제3 특별한 시간 이전에 상기 컴퓨팅 시스템에 의해 수신된 제2 통지 데이터를 상기 제1 컴퓨팅 디바이스에 전송하기 위해 출력하는 단계를 더 포함한다.
제9절. 제1절 내지 제8절 중 어느 하나에 있어서, 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정하는 것은 상기 제2 컴퓨팅 디바이스와 관련된 컨텍스트 정보를 상기 컴퓨팅 시스템에 의해 수신하는 것과; 그리고 상기 컴퓨팅 시스템에 의해 그리고 상기 컨텍스트 정보에 근거하여, 상기 사용자가 상기 제2 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있지 않다고 결정하는 것을 더 포함한다.
제10절. 컴퓨팅 시스템으로서, 상기 컴퓨팅 시스템은 적어도 하나의 프로세서와; 그리고 적어도 하나의 모듈을 포함하여 구성되고, 상기 적어도 하나의 모듈은 상기 적어도 하나의 프로세서에 의해, 사용자와 관련된 통지 데이터를 수신하고, 상기 사용자가 제1 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여 상기 제1 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하며, 상기 사용자가 제2 특별한 시간에 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정하고, 그리고 상기 제2 특별한 시간이 상기 제1 특별한 시간 이후 임계 시간량보다 짧음에 근거해서 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함에 응답하여, 상기 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하도록 동작가능하다.
제11절. 제10절에 있어서, 상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세서에 의해, 적어도 상기 사용자가 상기 제2 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있지 않다고 결정함으로써 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정하도록 동작가능하다.
제12절. 제10절 내지 제11절 중 어느 하나에 있어서, 상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세서에 의해, 상기 사용자가 상기 제1 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여 상기 제1 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하고 그리고 상기 제1 특별한 시간에 상기 제2 컴퓨팅 디바이스를 포함하는 다른 컴퓨팅 디바이스들에 전송하기 위해서는 상기 통지 데이터를 출력하지 않도록 동작가능하다.
제13절. 제10절 내지 제12절 중 어느 하나에 있어서, 상기 적어도 하나의 모듈은 상기 적어도 하나의 프로세스에 의해 또한, 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함에 응답하여, 그리고 또한, 상기 통지 데이터의 우선순위 레벨이 우선순위 임계를 만족한다고 결정함에 응답하여, 상기 통지 데이터를 출력하도록 동작가능하다.
제14절. 제10절 내지 제13절 중 어느 하나에 있어서, 상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세스에 의해, 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함에 응답하여, 그리고 또한, 상기 통지 데이터가 시간 감응적 정보를 포함한다고 결정함에 응답하여, 상기 통지 데이터를 출력하도록 동작가능하다.
제15절. 제10절 내지 제14절 중 어느 하나에 있어서, 상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세스에 의해, 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함에 응답하여, 그리고 또한, 상기 통지 데이터가 상기 사용자와 관련된 연락처 목록의 연락처와 관련된다고 결정함에 응답하여, 상기 통지 데이터를 출력하도록 동작가능하다.
제16절. 제10절 내지 제15절 중 어느 하나에 있어서, 상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세서에 의해, 상기 사용자가 상기 제2 특별한 시간 이후 제3 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 상기 제1 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하도록 동작가능하다.
제17절. 제10절 내지 제16절 중 어느 하나에 있어서, 상기 통지 데이터는 제1 통지 데이터로 구성되고, 상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세서에 의해, 상기 사용자가 상기 제2 특별한 시간 이후 제3 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 상기 제1 특별한 시간 이후 그리고 상기 제3 특별한 시간 이전에 수신된 제2 통지 데이터를 상기 제1 컴퓨팅 디바이스에 전송하기 위해 출력하도록 동작가능하다.
제18절. 제10절 내지 제17절 중 어느 하나에 있어서, 상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세서에 의해, 상기 제2 컴퓨팅 디바이스와 관련된 컨텍스트 정보를 적어도 수신함으로써 그리고 상기 컨텍스트 정보에 근거하여 상기 사용자가 상기 제2 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있지 않다고 결정함으로써, 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정하도록 동작가능하다.
제19절. 제10절 내지 제18절 중 어느 하나에 있어서, 상기 제1 컴퓨팅 디바이스는 비-모바일 컴퓨팅 디바이스이고, 상기 제2 컴퓨팅 디바이스는 모바일 컴퓨팅 디바이스이며, 상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세서에 의해, 상기 제2 컴퓨팅 디바이스와 관련된 컨텍스트 정보에 적어도 부분적으로 근거하여 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정하도록 동작가능하며, 상기 컨텍스트 정보는 상기 제2 컴퓨팅 디바이스의 센서 정보를 포함한다.
제20절. 명령어들을 포함하는 컴퓨터-판독가능 매체로서, 상기 명령어들은 실행될 때 컴퓨팅 시스템의 하나 이상의 프로세서들로 하여금: 사용자와 관련된 통지 데이터를 수신하고; 상기 사용자가 제1 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 상기 제1 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하며; 상기 사용자가 제2 특별한 시간에 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정하고; 그리고 상기 제2 특별한 시간이 상기 제1 특별한 시간 이후 임계 시간량보다 짧음에 근거해서 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지못했다고 결정함에 응답하여, 상기 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하도록 구성한다.
제21절. 제1절 내지 제9절의 방법들 중 어느 하나를 수행하는 수단을 포함하는 컴퓨팅 디바이스.
제22절. 하나 이상의 프로그램가능한 프로세서들로 하여금 제1절 내지 제9절의 방법들 중 어느 하나를 수행하게 하는 명령어들이 수록된 컴퓨터-판독가능 스토리지 매체.
하나 이상의 예들에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 어떤 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 상기 기능들은 하나 이상의 명령어들 또는 코드로서 컴퓨터-판독가능한 매체 상에 저장되거나 또는 이를 통해 전송될 수 있고, 하드웨어 기반의 프로세싱 유닛에 의해 실행될 수 있다. 컴퓨터-판독가능 매체는 데이터 스토리지 매체와 같은 유형 매체 에 대응하는 컴퓨터-판독가능 스토리지 매체 또는 예컨대, 통신 프로토콜에 따라 하나의 장소로부터 다른 장소로 컴퓨터 프로그램을 전달할 수 있는 어떤 매체를 포함하는 통신 매체를 포함할 수 있다. 이 방식으로, 컴퓨터-판독가능 매체는 일반적으로, (1) 비-일시적인 유형의 컴퓨터-판독가능 스토리지 매체에 대응할 수 있다. 데이터 스토리지 매체는 본 발명에 기술된 기법들의 구현을 위해 명령어들, 코드 및/또는 데이터를 검색하도록 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 어떤 이용가능한 매체일 수 있다.
제한이 아닌 예로서, 이러한 컴퓨터-판독가능 스토리지 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 플래시 메모리, 또는 명령어들 또는 데이터 구조들의 형태로 요구되는 프로그램 코드를 저장하기 위해 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 어떤 다른 매체를 포함할 수 있다. 또한, 어떤 연결은 컴퓨터-판독가능 매체로 적절하게 칭해진다. 예를 들어, 명령어들이 동축 케이블, 광섬유 케이블, 연선(twisted pair), 디지털 가입자 회선(DSL), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송되는 경우, 상기 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선(DSL), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 그러나, 컴퓨터-판독가능 스토리지 매체 및 데이터 스토리지 매체는 연결들, 반송파들, 신호들 또는 다른 일시적인(transient) 매체를 포함하는 것이 아니라 대신 비-일시적인 유형의 스토리지 매체에 의도된 것임이 이해되어야만 한다. 본 명세서에서 사용된 디스크(disk) 및 디스크(disc)는 레이져 디스크(disc), 광학 디스크(disc), 디지털 다기능 디스크(DVD), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 디스크(disk)들은 일반적으로, 자기적으로 데이터를 재생하고, 디스크(disc)들은 레이져를 이용하여 광학적으로 데이터를 재생한다. 상기에 기재된 것들의 조합들 역시, 컴퓨터-판독가능 매체의 범위 내에 포함되어야 한다.
명령어들은 하나 이상의 디지털 신호 프로세서(DSP)들, 범용 마이크로프로세서들, 주문형 집적 회로(ASIC)들, 현장 프로그램가능한 로직 어레이(FPGA)들, 또는 다른 균등한 집적 또는 개별 로직 회로망과 같은 하나 이상의 프로세서들에 의해 실행될 수 있다. 따라서, 본 명세서에 사용된 용어 "프로세서"는 상기 구조들 중 어떤 구조 또는 본 명세서에 기술된 기법들의 구현을 위해 적절한 어떤 다른 구조를 나타낼 수 있다. 추가적으로, 일부 양상들에서, 본 명세서에 기술된 기능은 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수 있다. 또한, 기법들은 하나 이상의 회로들 또는 로직 요소들로 충분히 구현될 수 있다.
본 발명의 기법들은 무선 헤드셋, 집적 회로(IC) 또는 IC들의 세트(예컨대, 칩 세트)를 포함하는 매우 다양한 디바이스들 또는 장치들로 구현될 수 있다. 다양한 컴포넌트들, 모듈들 또는 유닛들은 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양상들을 강조하기 위해 본 명세서에 기술되지만, 서로 다른 하드웨어 유닛들에 의한 실현을 반드시 요하지는 않는다. 오히려, 상기에 기술된 바와 같이, 다양한 유닛들은 적절한 소프트웨어 및/또는 펌웨어와 연계하여, 상기에 기술된 바와 같은 하나 이상의 프로세스들을 포함하는 하드웨어 유닛 또는 상호운용적인 하드웨어 유닛들의 집합에 의해 조합될 수 있다.
다양한 예들이 기술되었다. 이들 및 다른 예들은 다음의 특허 청구 범위 내에 있다.

Claims (20)

  1. 방법으로서,
    사용자가 제1 특별한 시간에 제1 컴퓨팅 디바이스와 상호대화하는 동안:
    상기 제1 컴퓨팅 디바이스에 의해, 상기 사용자와 관련된 통지 데이터를 수신하는 단계와,
    상기 제1 컴퓨팅 디바이스에 의해, 디스플레이하기 위해 상기 통지 데이터의 그래픽 표시를 출력하는 단계와;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 사용자가 제2 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화(interact)하고 있지 않다고 결정하는 단계와; 그리고
    상기 제2 특별한 시간이 상기 제1 특별한 시간 이후 임계 시간량(threshold amount of time)보다 짧다고 결정함에 응답하여, 상기 제1 컴퓨팅 디바이스에 의해 그리고 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 통지 데이터를 출력하는 단계는 또한:
    상기 제1 컴퓨팅 디바이스에 의해 상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함, 및 상기 제1 컴퓨팅 디바이스에 의해 상기 사용자가 상기 제2 특별한 시간에 상기 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 통지 데이터는 상기 제1 특별한 시간에 상기 제1 컴퓨팅 디바이스에 의해 수신되고, 상기 제1 특별한 시간에 상기 제2 컴퓨팅 디바이스에 의해 수신되지 않는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 통지 데이터를 출력하는 단계는 또한, 상기 통지 데이터의 우선순위 레벨이 임계를 만족한다고 결정함에 응답하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 통지 데이터를 출력하는 단계는 또한, 상기 통지 데이터가 시간 감응적 정보(time sensitive information)를 포함한다고 결정함에 응답하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 통지 데이터를 출력하는 단계는 또한, 상기 통지 데이터가 상기 사용자와 관련된 연락처 목록(contact list)의 연락처와 관련된다고 결정함에 응답하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 통지 데이터의 그래픽 표시는 최초 그래픽 표시이고,
    상기 통지 데이터를 출력한 후에, 상기 제1 컴퓨팅 디바이스에 의해, 상기 통지 데이터의 상기 최초 그래픽 표시를 출력하는 것을 중지하는 단계와; 그리고
    상기 사용자가 상기 제2 특별한 시간 이후 제3 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 상기 제1 컴퓨팅 디바이스에 의해, 디스플레이하기 위해 상기 통지 데이터의 후속적인 그래픽 표시를 출력하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 통지 데이터는 제1 통지 데이터를 포함하고,
    상기 사용자가 상기 제2 특별한 시간 이후 제3 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 상기 제1 컴퓨팅 디바이스에 의해, 디스플레이하기 위해 상기 제1 컴퓨팅 디바이스에 의해 그리고 상기 제1 특별한 시간 이후 및 상기 제3 특별한 시간 이전에 수신된 제2 통지 데이터의 그래픽 표시를 출력하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 통지 데이터의 그래픽 표시는 최초 그래픽 표시이고,
    상기 통지 데이터를 출력한 후에, 상기 제1 컴퓨팅 디바이스에 의해, 상기 통지 데이터의 상기 최초 그래픽 표시를 출력하는 것을 중지하는 단계와; 그리고
    상기 사용자가 상기 제2 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함에 응답하여, 상기 제1 컴퓨팅 디바이스에 의해, 디스플레이하기 위해 상기 통지 데이터의 후속적인 그래픽 표시를 출력하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제1 컴퓨팅 디바이스로서,
    적어도 하나의 프로세서와; 그리고
    적어도 하나의 모듈을 포함하여 구성되고, 상기 적어도 하나의 모듈은 상기 적어도 하나의 프로세서에 의해:
    사용자가 제1 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하는 동안:
    상기 사용자와 관련된 통지 데이터를 수신하고,
    디스플레이하기 위해 상기 통지 데이터의 그래픽 표시를 출력하며;
    상기 사용자가 제2 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있지 않다고 결정하고; 그리고
    상기 제2 특별한 시간이 상기 제1 특별한 시간 이후 임계 시간량보다 짧다고 결정함에 응답하여, 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하도록 동작가능한 것을 특징으로 하는 제1 컴퓨팅 디바이스.
  11. 제10항에 있어서,
    상기 적어도 하나의 모듈은 또한,
    상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함, 및 상기 사용자가 상기 제2 특별한 시간에 상기 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 더 응답하여, 상기 적어도 하나의 프로세서에 의해, 상기 통지 데이터를 출력하도록 동작가능한 것을 특징으로 하는 제1 컴퓨팅 디바이스.
  12. 제10항에 있어서,
    상기 통지 데이터는 상기 제1 특별한 시간에 상기 제1 컴퓨팅 디바이스에 의해 수신되고, 상기 제1 특별한 시간에 상기 제2 컴퓨팅 디바이스에 의해 수신되지 않는 것을 특징으로 하는 제1 컴퓨팅 디바이스.
  13. 제10항에 있어서,
    상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세서에 의해, 적어도 상기 통지 데이터의 우선순위 레벨이 우선순위 임계를 만족한다고 결정함에 응답하여 상기 통지 데이터를 출력하도록 동작가능한 것을 특징으로 하는 제1 컴퓨팅 디바이스.
  14. 제10항에 있어서,
    상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세서에 의해, 적어도 상기 통지 데이터가 시간 감응적 정보를 포함한다고 결정함에 응답하여 상기 통지 데이터를 출력하도록 동작가능한 것을 특징으로 하는 제1 컴퓨팅 디바이스.
  15. 제10항에 있어서,
    상기 적어도 하나의 모듈은 또한, 상기 적어도 하나의 프로세서에 의해, 적어도 상기 통지 데이터가 상기 사용자와 관련된 연락처 목록의 연락처와 관련된다고 결정함에 응답하여 상기 통지 데이터를 출력하도록 동작가능한 것을 특징으로 하는 제1 컴퓨팅 디바이스.
  16. 명령어들을 포함하는 비일시적 컴퓨터-판독가능 저장 매체로서, 상기 명령어들은 실행될 때 제1 컴퓨팅 디바이스의 하나 이상의 프로세서들로 하여금:
    사용자가 제1 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하는 동안:
    상기 사용자와 관련된 통지 데이터를 수신하고,
    디스플레이하기 위해 상기 통지 데이터의 그래픽 표시를 출력하며;
    상기 사용자가 제2 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있지 않다고 결정하고; 그리고
    상기 제2 특별한 시간이 상기 제1 특별한 시간 이후 임계 시간량보다 짧다고 결정함에 응답하여, 제2 컴퓨팅 디바이스에 전송하기 위해 상기 통지 데이터를 출력하도록 하는 것을 특징으로 하는 비일시적 컴퓨터-판독가능 저장 매체.
  17. 제16항에 있어서,
    실행될 때, 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 프로세서들로 하여금:
    상기 사용자가 상기 제1 컴퓨팅 디바이스에서 상기 통지 데이터를 보지못했다고 결정함, 및 상기 사용자가 상기 제2 특별한 시간에 상기 제2 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 더 응답하여 상기 통지 데이터를 출력하도록 하는 명령어들을 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터-판독가능 저장 매체.
  18. 제16항에 있어서,
    상기 통지 데이터의 그래픽 표시는 최초 그래픽 표시이고,
    실행될 때, 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 프로세서들로 하여금:
    상기 통지 데이터를 출력한 후에, 상기 통지 데이터의 상기 최초 그래픽 표시의 출력을 중지하고; 그리고
    상기 사용자가 상기 제2 특별한 시간 이후 제3 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 디스플레이하기 위해 상기 통지 데이터의 후속적인 그래픽 표시를 출력하도록 하는 명령어들을 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터-판독가능 저장 매체.
  19. 제16항에 있어서,
    상기 통지 데이터는 제1 통지 데이터를 포함하고,
    실행될 때, 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 프로세서들로 하여금:
    상기 사용자가 상기 제2 특별한 시간 이후 제3 특별한 시간에 상기 제1 컴퓨팅 디바이스와 상호대화하고 있다고 결정함에 응답하여, 디스플레이를 위해 상기 제1 컴퓨팅 디바이스에 의해 그리고 상기 제1 특별한 시간 이후 및 상기 제3 특별한 시간 이전에 수신된 제2 통지 데이터의 그래픽 표시를 출력하도록 하는 명령어들을 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터-판독가능 저장 매체.
  20. 제16항에 있어서,
    상기 통지 데이터의 그래픽 표시는 최초 그래픽 표시이고,
    실행될 때, 상기 제1 컴퓨팅 디바이스의 상기 하나 이상의 프로세서들로 하여금:
    상기 통지 데이터를 출력한 후에, 상기 통지 데이터의 상기 최초 그래픽 표시의 출력을 중지하고; 그리고
    상기 사용자가 상기 제2 컴퓨팅 디바이스에서 상기 통지 데이터를 보지 못했다고 결정함에 응답하여, 디스플레이를 위해 상기 통지 데이터의 후속적인 그래픽 표시를 출력하도록 하는 명령어들을 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터-판독가능 저장 매체.
KR1020140135262A 2013-12-10 2014-10-07 통지 데이터의 예측적인 포워딩 KR101753270B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/102,124 2013-12-10
US14/102,124 US8738723B1 (en) 2013-12-10 2013-12-10 Predictive forwarding of notification data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR20140080119A Division KR101474958B1 (ko) 2013-12-10 2014-06-27 통지 데이터의 예측적인 포워딩

Publications (2)

Publication Number Publication Date
KR20150067712A KR20150067712A (ko) 2015-06-18
KR101753270B1 true KR101753270B1 (ko) 2017-07-03

Family

ID=50736626

Family Applications (2)

Application Number Title Priority Date Filing Date
KR20140080119A KR101474958B1 (ko) 2013-12-10 2014-06-27 통지 데이터의 예측적인 포워딩
KR1020140135262A KR101753270B1 (ko) 2013-12-10 2014-10-07 통지 데이터의 예측적인 포워딩

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR20140080119A KR101474958B1 (ko) 2013-12-10 2014-06-27 통지 데이터의 예측적인 포워딩

Country Status (6)

Country Link
US (4) US8738723B1 (ko)
KR (2) KR101474958B1 (ko)
CN (2) CN105978785B (ko)
AU (1) AU2014202038B1 (ko)
DE (1) DE102014009871B4 (ko)
GB (2) GB2517836B8 (ko)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
CN103582873B (zh) 2011-06-05 2017-07-14 苹果公司 用于显示从多个应用接收到的通知的系统和方法
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US8769624B2 (en) 2011-09-29 2014-07-01 Apple Inc. Access control utilizing indirect authentication
US8964379B2 (en) 2012-08-20 2015-02-24 Microsoft Corporation Switchable magnetic lock
US9503409B2 (en) 2013-02-25 2016-11-22 Google Inc. Suppression of extraneous alerts on multiple devices
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9274687B1 (en) 2013-10-11 2016-03-01 Google Inc. Managing schedule changes for correlated calendar events
US8738723B1 (en) 2013-12-10 2014-05-27 Google Inc. Predictive forwarding of notification data
US9531651B1 (en) * 2014-02-13 2016-12-27 Google Inc. Methods for displaying notifications
US9510083B2 (en) 2014-03-14 2016-11-29 Apple Inc. Managing connections of a user device
US10120420B2 (en) 2014-03-21 2018-11-06 Microsoft Technology Licensing, Llc Lockable display and techniques enabling use of lockable displays
CN103973786B (zh) * 2014-05-07 2017-05-24 惠州Tcl移动通信有限公司 电子设备的通知消息的同步方法及电子设备
US9348493B2 (en) * 2014-05-13 2016-05-24 Jack Ke Zhang Automated subscriber-based customization of electronic channels for content presentation
EP4365725A3 (en) 2014-05-30 2024-07-17 Apple Inc. Continuity
US9967401B2 (en) 2014-05-30 2018-05-08 Apple Inc. User interface for phone call routing among devices
CN104104910B (zh) * 2014-06-26 2018-04-17 北京小鱼在家科技有限公司 一种进行双向实况共享与智能监控的终端及方法
US20160034424A1 (en) * 2014-07-30 2016-02-04 Microsoft Technology Licensing, Llc Adaptive Notifications on a Screen
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
EP3206341B1 (en) * 2014-11-04 2021-03-17 Huawei Technologies Co., Ltd. Method, apparatus and device for displaying message
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9807045B2 (en) * 2015-06-10 2017-10-31 Google Inc. Contextually driven messaging system
US10425372B2 (en) * 2015-08-18 2019-09-24 Google Llc Notification targeting based on downstream user engagement
US10000217B2 (en) * 2015-09-03 2018-06-19 Yahoo Japan Corporation Notification-needed information presenting apparatus, notification-needed information presenting method, and non-transitory computer readable storage medium
WO2017147744A1 (zh) * 2016-02-29 2017-09-08 华为技术有限公司 一种移动终端、可穿戴设备和消息传送方法
US20170288960A1 (en) * 2016-03-30 2017-10-05 Microsoft Technology Licensing, Llc Cloud Action Center
US10832160B2 (en) 2016-04-27 2020-11-10 International Business Machines Corporation Predicting user attentiveness to electronic notifications
US10620920B2 (en) * 2016-05-17 2020-04-14 Google Llc Automatic graphical user interface generation from notification data
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
US20170372370A1 (en) * 2016-06-24 2017-12-28 International Business Machines Corporation Modifying a push notification in response to an event
US10296762B2 (en) * 2016-07-13 2019-05-21 Fujitsu Limited Privacy enhanced push notification
US10466891B2 (en) * 2016-09-12 2019-11-05 Apple Inc. Special lock mode user interface
US10382376B2 (en) 2016-09-23 2019-08-13 Microsoft Technology Licensing, Llc Forwarding notification information regardless of user access to an application
US10552742B2 (en) * 2016-10-14 2020-02-04 Google Llc Proactive virtual assistant
CN106487928B (zh) * 2016-12-09 2019-12-13 北京小米移动软件有限公司 消息推送方法及装置
US10938767B2 (en) * 2017-03-14 2021-03-02 Google Llc Outputting reengagement alerts by a computing device
US10599877B2 (en) * 2017-04-13 2020-03-24 At&T Intellectual Property I, L.P. Protecting content on a display device from a field-of-view of a person or device
US10922319B2 (en) 2017-04-19 2021-02-16 Ebay Inc. Consistency mitigation techniques for real-time streams
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
EP3416360A1 (en) * 2017-06-12 2018-12-19 The Swatch Group Research and Development Ltd A method of processing incoming calls
CN107230045B (zh) * 2017-06-19 2020-08-25 阿里巴巴集团控股有限公司 校验电子邮件的内容的方法、邮件客户端及设备
US10482756B2 (en) * 2017-07-06 2019-11-19 Qualcomm Incorporated Intelligent alerts in multi-user environment
US20190075069A1 (en) * 2017-09-01 2019-03-07 Qualcomm Incorporated Behaviorally modelled smart notification regime
US10498685B2 (en) * 2017-11-20 2019-12-03 Google Llc Systems, methods, and apparatus for controlling provisioning of notifications based on sources of the notifications
US11656922B2 (en) * 2018-01-29 2023-05-23 Microsoft Technology Licensing, Llc Personalized notification brokering
US10691485B2 (en) 2018-02-13 2020-06-23 Ebay Inc. Availability oriented durability technique for distributed server systems
KR102523178B1 (ko) 2018-05-17 2023-04-19 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
US10803865B2 (en) 2018-06-05 2020-10-13 Voicify, LLC Voice application platform
US10235999B1 (en) 2018-06-05 2019-03-19 Voicify, LLC Voice application platform
US10636425B2 (en) 2018-06-05 2020-04-28 Voicify, LLC Voice application platform
US11437029B2 (en) 2018-06-05 2022-09-06 Voicify, LLC Voice application platform
US10839811B2 (en) 2018-06-08 2020-11-17 The Toronto-Dominion Bank System, device and method for enforcing privacy during a communication session with a voice assistant
US10831923B2 (en) 2018-06-08 2020-11-10 The Toronto-Dominion Bank System, device and method for enforcing privacy during a communication session with a voice assistant
US11146522B1 (en) * 2018-09-24 2021-10-12 Amazon Technologies, Inc. Communication with user location
US11023200B2 (en) * 2018-09-27 2021-06-01 The Toronto-Dominion Bank Systems, devices and methods for delivering audible alerts
US10978063B2 (en) * 2018-09-27 2021-04-13 The Toronto-Dominion Bank Systems, devices and methods for delivering audible alerts
US11226833B2 (en) * 2018-11-12 2022-01-18 International Business Machines Corporation Determination and initiation of a computing interface for computer-initiated task response
US11489956B2 (en) 2018-11-30 2022-11-01 Dish Network L.L.C. Systems and methods for notification forwarding
US11170126B2 (en) 2019-01-03 2021-11-09 Citrix Systems, Inc. Policy based notification protection service in workspace
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
CN115562613A (zh) 2019-05-31 2023-01-03 苹果公司 用于音频媒体控件的用户界面
US11294532B2 (en) 2019-06-01 2022-04-05 Apple Inc. Routing actions to appropriate scenes
US11307910B2 (en) * 2019-06-10 2022-04-19 Citrix Systems, Inc. Notification tagging for a workspace or application
US11368579B1 (en) * 2019-12-12 2022-06-21 Amazon Technologies, Inc. Presence-based notification system
US10834219B1 (en) * 2020-01-10 2020-11-10 International Business Machines Corporation Intelligent distribution of push notifications
US11646020B2 (en) * 2020-01-24 2023-05-09 International Business Machines Corporation Communication notification management
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11563705B2 (en) 2020-09-28 2023-01-24 International Business Machines Corporation Notification escalation based on visual recognition
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
US11360634B1 (en) 2021-05-15 2022-06-14 Apple Inc. Shared-content session user interfaces
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087649A1 (en) 2000-03-16 2002-07-04 Horvitz Eric J. Bounded-deferral policies for reducing the disruptiveness of notifications

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9727011D0 (en) 1997-12-23 1998-02-18 Philips Consumer Communication Melodic alerts for communications device
US6745025B1 (en) 1998-12-31 2004-06-01 At&T Corp. Time-of-day call forwarding in a wireless centrex services system
US7027773B1 (en) 1999-05-28 2006-04-11 Afx Technology Group International, Inc. On/off keying node-to-node messaging transceiver network with dynamic routing and configuring
US7249159B1 (en) * 2000-03-16 2007-07-24 Microsoft Corporation Notification platform architecture
US7243130B2 (en) 2000-03-16 2007-07-10 Microsoft Corporation Notification platform architecture
US7743340B2 (en) 2000-03-16 2010-06-22 Microsoft Corporation Positioning and rendering notification heralds based on user's focus of attention and activity
US7096029B1 (en) * 2000-04-05 2006-08-22 Microsoft Corporation Context aware computing devices having a common interface and related methods
US6871214B2 (en) 2000-10-30 2005-03-22 Nortel Networks Limited Generating and providing alert messages in a communications network
US6611204B2 (en) 2001-04-16 2003-08-26 Maple Chase Company Hazard alarm, system, and communication therefor
US20030020749A1 (en) 2001-07-10 2003-01-30 Suhayya Abu-Hakima Concept-based message/document viewer for electronic communications and internet searching
AU2003216608A1 (en) * 2002-05-03 2003-11-17 Koninklijke Philips Electronics N.V. Mobile hand-held device
US7725541B2 (en) * 2003-02-10 2010-05-25 At&T Intellectual Property I, L.P. Forwarding to automatically prioritized IM accounts based upon priority and presence
US20040158610A1 (en) * 2003-02-10 2004-08-12 Davis Joel A. Client proxying for instant messaging
US7769811B2 (en) 2003-03-03 2010-08-03 Aol Llc Instant messaging sound control
US7457879B2 (en) 2003-04-01 2008-11-25 Microsoft Corporation Notification platform architecture
US8484576B2 (en) 2003-04-17 2013-07-09 Supersonic Aerospace International, Llc System and method for customizing multiple windows of information on a display
US7496630B2 (en) 2003-05-06 2009-02-24 At&T Intellectual Property I, L.P. Adaptive notification delivery in a multi-device environment
US20040235520A1 (en) 2003-05-20 2004-11-25 Cadiz Jonathan Jay Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
WO2005050849A2 (en) 2003-10-01 2005-06-02 Laird Mark D Wireless virtual campus escort system
KR100575963B1 (ko) 2003-12-31 2006-05-02 삼성전자주식회사 외부음향기기를 통해 음성신호와 알림음을 출력하는휴대폰 제어방법
US20070088553A1 (en) 2004-05-27 2007-04-19 Johnson Richard G Synthesized interoperable communications
US8711732B2 (en) 2004-05-27 2014-04-29 Richard G. Johnson Synthesized interoperable communications
US20050277431A1 (en) * 2004-06-14 2005-12-15 Sbc Knowledge Ventures, Lp System and method for managing wireless data communications
US7603421B1 (en) 2004-10-25 2009-10-13 Sprint Spectrum L.P. Method and system for management of instant messaging targets
US7215946B1 (en) 2004-10-27 2007-05-08 Cingular Wireless Ii, Llc Updating of intelligent message waiting notification
US20060099940A1 (en) 2004-11-10 2006-05-11 Pfleging Gerald W Method for changing the status of a mobile apparatus
GB2420880A (en) 2004-11-26 2006-06-07 Ibm Inhibiting overlooking notifications in applications
WO2006058275A2 (en) 2004-11-29 2006-06-01 Roamware Inc. Missed call alerts
CN101164331A (zh) 2005-04-15 2008-04-16 松下电器产业株式会社 Ip电话系统中的信令方法、ip电话系统及ip电话装置
US20070072616A1 (en) 2005-09-23 2007-03-29 Cyrus Irani Preventing cellphone usage when driving
US20070130323A1 (en) 2005-12-02 2007-06-07 Landsman Richard A Implied presence detection in a communication system
US9338028B2 (en) * 2006-06-19 2016-05-10 Nokia Technologies Oy Utilizing information of a local network for determining presence state
US9054909B2 (en) 2006-06-30 2015-06-09 Microsoft Technology Licensing, Llc Forwarding calls in real time communications
US20080075066A1 (en) 2006-09-11 2008-03-27 Avaya Technology Llc Presence-Based Manager of Displayable Messages
CN101257375B (zh) 2006-12-31 2012-08-08 华为技术有限公司 实现多终端的消息同步的方法及装置
US20080171536A1 (en) 2007-01-17 2008-07-17 Darius Katz System and method for broadcasting an alert
US20090054091A1 (en) 2007-02-21 2009-02-26 Van Wijk Jacques Methods and Systems for Consolidated Notifications of Updated Personal Information Manager Data
US8086223B2 (en) 2007-09-07 2011-12-27 International Business Machines Corporation Using proximity information to dynamically change greeting messages on a mobile telephony device
FR2921531B1 (fr) * 2007-09-20 2011-08-26 Alcatel Lucent Dispositif de traitement adaptatif de notifications apllicatives destinees a des terminaux de communication connectes a une infrastructure de transmission
US8234676B2 (en) * 2008-03-25 2012-07-31 At&T Intellectual Property I, Lp System and method of delivering event notifications
US20090276700A1 (en) * 2008-04-30 2009-11-05 Nokia Corporation Method, apparatus, and computer program product for determining user status indicators
US9516116B2 (en) * 2008-06-06 2016-12-06 Apple Inc. Managing notification service connections
CN101610467A (zh) 2008-06-20 2009-12-23 深圳富泰宏精密工业有限公司 回报未接来电与未读短信的系统及方法
US8315786B2 (en) 2008-06-27 2012-11-20 Microsoft Corporation Local decision policies about the sharing of sensed data that enhance privacy and lower communication costs for services that aggregate data from personal devices
US20100029250A1 (en) * 2008-07-29 2010-02-04 Embarq Holdings Company, Llc System and method for routing messages to communication devices associated with a user
US8359048B2 (en) 2009-02-13 2013-01-22 Robert Bosch Gmbh Close proximity alert messaging system and method
US20100223341A1 (en) * 2009-02-27 2010-09-02 Microsoft Corporation Electronic messaging tailored to user interest
US8843116B2 (en) * 2009-09-22 2014-09-23 Microsoft Corporation User-selectable environments for mobile communications devices
US8570168B2 (en) 2009-10-08 2013-10-29 Bringrr Systems, Llc System, method and device to interrogate for the presence of objects
US8315617B2 (en) * 2009-10-31 2012-11-20 Btpatent Llc Controlling mobile device functions
JP5907889B2 (ja) 2009-12-15 2016-04-26 サムスン エレクトロニクス カンパニー リミテッド テレフォニーサーバ(Telephony Server;TS)においてテレフォニークライアント(Telephony client:TC)装置を含むUPnP可能テレフォニー装置と複数の広域ネットワーク(Wide Area Network:WAN)装置との間のマルチメディア会議方法、及びテレフォニーサーバ
US9338276B2 (en) * 2010-01-26 2016-05-10 Apple Inc. Gating accessory connection
US9215735B2 (en) * 2010-03-03 2015-12-15 Modena Enterprises, Llc Systems and methods for initiating communications with contacts based on a communication specification
US20110302247A1 (en) * 2010-06-02 2011-12-08 Microsoft Corporation Contextual information dependent modality selection
US8428008B2 (en) 2010-06-30 2013-04-23 Mitsubishi Electric Research Laboratories, Inc. Implicit channel sounding for closed-loop transmission in MIMO-OFDM wireless networks
US8897759B2 (en) * 2010-11-10 2014-11-25 Cox Communications, Inc. Systems and methods for dynamically forwarding wireless communications on mobile communications devices
US8478306B2 (en) * 2010-11-10 2013-07-02 Google Inc. Self-aware profile switching on a mobile computing device
TWI468003B (zh) * 2011-01-12 2015-01-01 Htc Corp 事件提醒方法及具事件提醒功能的可攜式裝置及事件提醒之電腦程式產品
US20120198372A1 (en) 2011-01-31 2012-08-02 Matthew Kuhlke Communication processing based on current reading status and/or dynamic determination of a computer user's focus
US8483665B2 (en) 2011-03-31 2013-07-09 Matthew R. Kissinger Mobile device featuring sensor responsive re-notifications
US20120311045A1 (en) 2011-05-31 2012-12-06 Dany Sylvain Notification services to one or more subscriber devices
US9294546B2 (en) * 2011-06-03 2016-03-22 Apple Inc. Sending files from one device to another device over a network
WO2013012300A2 (ko) * 2011-07-21 2013-01-24 삼성전자 주식회사 차량 내 통지 서비스 방법, 기계로 읽을 수 있는 저장 매체, 헤드 유닛 장치 및 모바일 장치
US20130038437A1 (en) * 2011-08-08 2013-02-14 Panasonic Corporation System for task and notification handling in a connected car
DE112012004769T5 (de) * 2011-11-16 2014-09-04 Flextronics Ap, Llc Konfigurierbare Hardwareeinheit für Autosysteme
US8352546B1 (en) 2011-12-08 2013-01-08 Google Inc. Contextual and location awareness for device interaction
US8942729B2 (en) * 2012-02-02 2015-01-27 Apple Inc. Location based methods, systems, and program products for performing an action at a user device
US8779947B2 (en) * 2012-04-05 2014-07-15 GM Global Technology Operations LLC Vehicle-related messaging methods and systems
US9173052B2 (en) * 2012-05-08 2015-10-27 ConnecteDevice Limited Bluetooth low energy watch with event indicators and activation
US8948821B2 (en) * 2012-05-27 2015-02-03 Qualcomm Incorporated Notification based on user context
US10210480B2 (en) * 2012-05-31 2019-02-19 Apple Inc. Avoiding a redundant display of a notification on multiple user devices
US8949363B2 (en) 2012-06-19 2015-02-03 Blackberry Limited Delayed or suspended alerts with multiple devices in proximity
US8819277B2 (en) 2012-07-17 2014-08-26 Google Inc. System and method for delivering alerts
US9729687B2 (en) * 2012-08-10 2017-08-08 Silverplus, Inc. Wearable communication device
US9245036B2 (en) * 2012-09-11 2016-01-26 Intel Corporation Mechanism for facilitating customized policy-based notifications for computing systems
US8823507B1 (en) * 2012-09-19 2014-09-02 Amazon Technologies, Inc. Variable notification alerts
CN102938787B (zh) 2012-11-14 2015-01-07 王玉娇 事件源设备和事件展示设备及相关方法
US9491251B2 (en) * 2012-11-27 2016-11-08 Facebook, Inc. Transmission of notifications to multiple devices associated with a user
US9503409B2 (en) 2013-02-25 2016-11-22 Google Inc. Suppression of extraneous alerts on multiple devices
US9674707B2 (en) * 2013-03-15 2017-06-06 Apple Inc. Facilitating a secure session between paired devices
US20140282721A1 (en) * 2013-03-15 2014-09-18 Samsung Electronics Co., Ltd. Computing system with content-based alert mechanism and method of operation thereof
US9100944B2 (en) * 2013-08-28 2015-08-04 Qualcomm Incorporated Wireless connecting mobile devices and wearable devices
US9813864B2 (en) * 2013-11-04 2017-11-07 Apple Inc. Detecting stowing or unstowing of a mobile device
US8738723B1 (en) 2013-12-10 2014-05-27 Google Inc. Predictive forwarding of notification data
US9448755B2 (en) * 2013-12-28 2016-09-20 Intel Corporation Wearable electronic device having heterogeneous display screens

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087649A1 (en) 2000-03-16 2002-07-04 Horvitz Eric J. Bounded-deferral policies for reducing the disruptiveness of notifications

Also Published As

Publication number Publication date
DE102014009871B4 (de) 2018-08-23
GB2521286B (en) 2015-10-21
US9407591B2 (en) 2016-08-02
CN104699646B (zh) 2016-04-13
GB2517836B8 (en) 2015-10-21
GB201501241D0 (en) 2015-03-11
GB201412306D0 (en) 2014-08-27
CN104699646A (zh) 2015-06-10
US20150163188A1 (en) 2015-06-11
KR20150067712A (ko) 2015-06-18
US10469430B2 (en) 2019-11-05
GB2521286A (en) 2015-06-17
AU2014202038B1 (en) 2014-07-03
GB2517836B (en) 2015-08-05
US8738723B1 (en) 2014-05-27
CN105978785A (zh) 2016-09-28
GB2517836A8 (en) 2015-10-21
US20160301649A1 (en) 2016-10-13
US20180091465A1 (en) 2018-03-29
US9853931B2 (en) 2017-12-26
CN105978785B (zh) 2020-04-03
KR101474958B1 (ko) 2014-12-19
DE102014009871A1 (de) 2015-06-11
GB2517836A (en) 2015-03-04

Similar Documents

Publication Publication Date Title
KR101753270B1 (ko) 통지 데이터의 예측적인 포워딩
US10249169B2 (en) Somatosensory type notification alerts
CN110084056B (zh) 在个人设备上显示隐私信息
US9880711B2 (en) Adaptive alert duration
US9766959B2 (en) Determining user response to notifications based on a physiological parameter
US20160000385A1 (en) Determining information flow using physiological parameters
US20160057090A1 (en) Displaying private information on personal devices
CN109155023B (zh) 限制计算设备上的警报
EP3304287A1 (en) Assist layer with automated extraction
AU2014206208B2 (en) Predictive forwarding of notification data
US10282666B1 (en) Coherency detection and information management system

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant