KR20160108421A - 디스플레이들을 자동으로 조정하는 동적 인바이트들 - Google Patents

디스플레이들을 자동으로 조정하는 동적 인바이트들 Download PDF

Info

Publication number
KR20160108421A
KR20160108421A KR1020167021548A KR20167021548A KR20160108421A KR 20160108421 A KR20160108421 A KR 20160108421A KR 1020167021548 A KR1020167021548 A KR 1020167021548A KR 20167021548 A KR20167021548 A KR 20167021548A KR 20160108421 A KR20160108421 A KR 20160108421A
Authority
KR
South Korea
Prior art keywords
request
computing device
response
message
computing devices
Prior art date
Application number
KR1020167021548A
Other languages
English (en)
Inventor
마크 아론 린드너
카메론 노엘 커거
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20160108421A publication Critical patent/KR20160108421A/ko

Links

Images

Classifications

    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • 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
    • 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/103Workflow collaboration or project management
    • 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/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment
    • 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/06Message adaptation to terminal or network requirements

Abstract

사용자들로부터의 응답들을 요구하기 위한 협업 툴을 제공하기 위한 방법들, 디바이스들, 시스템들, 및 비일시적 프로세서 판독가능 저장 매체들로서, 사용자로부터의 요청을 컴퓨팅 디바이스에서 수신하는 것, 복수의 컴퓨팅 디바이스들로 하여금 요청에 대한 응답을 요구하는 디스플레이를 렌더링하게 하는 인비테이션 메시지를 복수의 컴퓨팅 디바이스들로 송신하는 것, 복수의 컴퓨팅 디바이스들 중 적어도 하나로부터의 요청에 관련된 응답 메시지를 수신하는 것, 수신된 응답 메시지가 요청을 만족시키는지 여부를 결정하기 위해 수신된 응답 메시지를 평가하는 것, 및 수신된 응답 메시지가 요청을 만족시킨다는 결정에 응답하여 복수의 컴퓨팅 디바이스들로 소거 메시지를 송신하는 것을 위한 동작들을 포함하고, 소거 메시지는, 복수의 컴퓨팅 디바이스들로 하여금, 요청에 대한 응답을 요구하는 디스플레이를 자동으로 클린-업하기 위한 동작들을 수행하게 하도록 구성된다.

Description

디스플레이들을 자동으로 조정하는 동적 인바이트들{DYNAMIC INVITES WITH AUTOMATICALLY ADJUSTING DISPLAYS}
강제된 그룹 통신들 (예를 들어, 푸시-투-토크 (push-to-talk) 또는 'PTT', 이메일, MMS 텍스트 등) 은, 특히 사소한 토픽들에 대해 과도하게 활용된다면, 수신자들에게 지장을 줄 수 있다. 예를 들어, 푸시-투-토크 통신들을 이용하여 많은 사용자들에게 질문을 하는 것은 산만해질 수도 있고 단일 사용자가 적절한 응답을 제공할 수도 있을 때에는 불필요할 수도 있다. 다른 예로서, 많은 수신자들에게 이메일링하는 것은 수신자들에 의한 원하지 않는 메일, 지루한 쓰레기 클린-업 (clean-up) 을 초래할 뿐만 아니라, 비동기 포맷의 매체로 인해 중복 (redundant) 응답들을 발생시킬 수도 있다. 기존 기법들은 그룹 통신들에 대한 프레즌스 (presence) 정보를 이용할 수도 있다; 그러나 프레즌스 정보는 현재 상태를 유지시키는 것이 어려워서 열악하게 수행된다.
다양한 실시형태들은 사용자들로부터의 응답들을 요구하기 위한 협업 툴 (collaboration tool) 을 제공하기 위한 방법들, 디바이스들, 시스템들, 및 비일시적 프로세서 판독가능 저장 매체들을 제공한다. 일 실시형태의 방법은, 사용자로부터의 요청을 컴퓨팅 디바이스에서 수신하는 것, 복수의 컴퓨팅 디바이스들로 하여금 요청에 대한 응답을 요구하는 디스플레이를 렌더링하게 하는 인비테이션 메시지 (invitation message) 를 컴퓨팅 디바이스로부터 복수의 컴퓨팅 디바이스들로 송신하는 것, 복수의 컴퓨팅 디바이스들 중 적어도 하나로부터의 요청에 관련된 응답 메시지를 컴퓨팅 디바이스에서 수신하는 것, 수신된 응답 메시지가 요청을 만족 (fulfill) 시키는지 여부를 결정하기 위해 수신된 응답 메시지를 컴퓨팅 디바이스에 의해 평가하는 것, 및 수신된 응답 메시지가 요청을 만족시킨다는 결정에 응답하여 컴퓨팅 디바이스로부터 복수의 컴퓨팅 디바이스들로 소거 메시지를 송신하는 것을 위한 동작들을 포함할 수도 있고, 소거 메시지는, 복수의 컴퓨팅 디바이스들로 하여금, 요청에 대한 응답을 요구하는 디스플레이를 자동으로 클린-업하기 위한 동작들을 수행하게 하도록 구성된다.
일 실시형태에서, 이 방법은 수신된 응답 메시지가 요청을 만족시킨다는 결정에 응답하여 요청이 만족됨을 나타내기 위해 로컬 데이터에 대한 클린-업 동작들을 컴퓨팅 디바이스에서 자동으로 수행하는 단계를 더 포함할 수도 있다. 일 실시형태에서, 요청은 복수의 컴퓨팅 디바이스들과 연관된 수신자들에 의해 대답될 질문 또는 복수의 컴퓨팅 디바이스들과 연관된 수신자들에 의해 완료될 태스크 (task) 중 적어도 하나일 수도 있다. 일 실시형태에서, 요청에 대한 응답을 요구하는 디스플레이는, 요청에 관련된 응답 메시지들을 송신하기 위한 복수의 컴퓨팅 디바이스들에 대한 선호된 응답 모드를 나타낼 수도 있다. 일 실시형태에서, 이 방법을 실행하는 컴퓨팅 디바이스는 서버 또는 모바일 컴퓨팅 디바이스 중 하나일 수도 있다.
일 실시형태에서, 이 방법은 수신된 응답 메시지가 요청을 만족시키지 않는다는 결정에 응답하여 요청의 만족되지 않은 부분들에 대응하는 팔로우-업 (follow-up) 요청을 컴퓨팅 디바이스에 의해 생성하는 단계, 및 수신된 응답 메시지가 요청을 만족시키지 않는다는 결정에 응답하여 팔로우-업 요청에 대한 응답들을 요구하는 업데이팅된 인비테이션 메시지를 컴퓨팅 디바이스로부터 복수의 컴퓨팅 디바이스들로 송신하는 단계를 더 포함할 수도 있다. 일 실시형태에서, 업데이팅된 인비테이션 메시지를 송신하는 단계는, 요청에 관련된 응답 메시지를 송신한 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 1 세트를 컴퓨팅 디바이스에 의해 식별하는 단계, 디바이스들의 제 1 세트로 하여금, 요청에 대한 응답을 요구하는 디스플레이를 자동으로 클린-업하기 위한 동작들을 수행하게 하도록 구성된 소거 메시지를, 컴퓨팅 디바이스로부터 디바이스들의 제 1 세트로 송신하는 단계, 요청에 관련된 응답 메시지들을 송신하지 않았던 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 2 세트를 컴퓨팅 디바이스에 의해 식별하는 단계, 및 업데이팅된 인비테이션 메시지를 컴퓨팅 디바이스로부터 디바이스들의 제 2 세트로 송신하는 단계를 포함할 수도 있다.
일 실시형태에서, 이 방법은 요청을 유효화 (validate) 하기 위해 데이터 소스들로부터의 정보를 획득하는 단계, 및 획득된 정보에 기초하여 요청이 여전히 유효한지 여부를 결정하는 단계를 더 포함할 수도 있고, 정보는 시간-기반 정보, 위치 정보, 및 컴퓨팅 디바이스가 요청이 관련성을 유지하는지 여부를 결정 또는 추론하는 것을 가능하게 하는 정보 중 적어도 하나를 포함할 수도 있다. 데이터 소스들은 시간 측정 유닛, 위치 정보의 소스 (예를 들어, 글로벌 포지셔닝 시스템 (Global Positioning System; GPS) 유닛 또는 위치 정보 서비스를 제공하는 다른 유닛, 모듈 또는 서비스), 로컬 정보 데이터베이스, 및 인터넷 리소스 중 적어도 하나를 포함할 수도 있다. 이 실시형태에서, 수신된 응답 메시지가 요청을 만족시킨다는 결정에 응답하여 컴퓨팅 디바이스로부터 복수의 컴퓨팅 디바이스들로 소거 메시지를 송신하는 단계는, 획득된 정보에 기초하여 요청이 여전히 유효하지 않다는 결정에 응답하여 또는 수신된 응답 메시지가 요청을 만족시킨다는 결정에 응답하여 컴퓨팅 디바이스로부터 복수의 컴퓨팅 디바이스들로 소거 메시지를 송신하는 단계를 포함할 수도 있다.
추가 실시형태들은, 상술된 방법들의 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성된, 모바일 디바이스와 같은 개인용 컴퓨팅 디바이스 또는 서버일 수도 있는 컴퓨팅 디바이스를 포함한다.
추가 실시형태들은, 상술된 방법들의 동작들의 기능들을 수행하는 수단을 갖는, 모바일 디바이스와 같은 개인용 컴퓨팅 디바이스 또는 서버일 수도 있는 컴퓨팅 디바이스를 포함한다.
추가 실시형태들은 서버 또는 개인용 컴퓨팅 디바이스의 프로세서로 하여금 상술된 방법들의 동작들을 수행하게 하도록 구성된 프로세서 실행가능 명령들이 저장된 비일시적 프로세서 판독가능 매체를 포함한다.
본 명세서에 포함되고 이 명세서의 부분을 구성하는 첨부 도면들은 본 발명의 예시적인 실시형태들을 예시하고, 위에 제공된 일반적 설명 및 아래에 제공된 상세한 설명과 함께, 본 발명의 피처 (feature) 들을 설명하도록 기능한다.
도 1 은 다양한 실시형태들에서의 이용에 적합한 통신 시스템의 컴포넌트 블록 다이어그램이다.
도 2a 내지 도 2f 는 수신자들로부터의 응답들을 요구하는 인비테이션들에 관련된 예시적인 디스플레이들을 도시하는 컴퓨팅 디바이스의 실례들이다.
도 3a 내지 도 3c 는 요청들에 대한 응답들을 요구하는 수신된 인비테이션 메시지들에 응답하여 렌더링된 예시적인 디스플레이들을 도시하는 컴퓨팅 디바이스의 실례들이다.
도 4a 내지 도 4e 는 사용자가 원하는 응답들 (예를 들어, 정보) 을 요구하기 위해 컴퓨팅 디바이스가 사용자로부터의 요청들에 기초한 인비테이션 메시지들을 수신자 컴퓨팅 디바이스들에 송신하기 위한 실시형태의 방법들을 예시하는 프로세스 플로우 다이어그램들이다.
도 5a 및 도 5b 는 컴퓨팅 디바이스가 수신된 인비테이션 메시지에 기초하여 요청에 대한 응답을 요구하는 디스플레이를 렌더링하기 위한 실시형태의 방법들을 예시하는 프로세스 플로우 다이어그램들이다.
도 6a 는 일 실시형태에 따른 사용자로부터의 요청에 대응하는, 사용자 컴퓨팅 디바이스와 수신자 컴퓨팅 디바이스 사이의 다양한 통신들을 예시하는 호 플로우 다이어그램이다.
도 6b 및 도 6c 는 일 실시형태에 따른 사용자로부터의 요청에 대응하는, 사용자 컴퓨팅 디바이스, 수신자 컴퓨팅 디바이스, 및 서버 컴퓨팅 디바이스 사이의 다양한 통신들을 예시하는 호 플로우 다이어그램들이다.
도 7 은 다양한 실시형태들에서의 이용에 적합한 예시적인 랩톱 컴퓨팅 디바이스의 컴포넌트 블록 다이어그램이다.
도 8 은 일 실시형태에서의 이용에 적합한 모바일 컴퓨팅 디바이스의 컴포넌트 블록 다이어그램이다.
도 9 는 일 실시형태에서의 이용에 적합한 서버 컴퓨팅 디바이스의 컴포넌트 블록 다이어그램이다.
다양한 실시형태들이 첨부 도면들을 참조하여 상세히 설명될 것이다. 가능하다면 어디서든지, 동일한 참조 부호들이 도면들 전반에 걸쳐 사용되어 동일하거나 유사한 부분들을 지칭할 것이다. 특정 예들 및 구현들에 대해 이루어진 언급들은 예시적인 목적들을 위한 것이며, 청구항들 또는 본 발명의 범위를 제한하려고 의도된 것이 아니다.
단어 "예시적인" 은 본 명세서에서 "예, 경우, 또는 예시로서 기능하는" 것을 의미하기 위해 사용된다. 본 명세서에서 "예시적인" 것으로서 설명된 임의의 구현은 반드시 다른 구현들보다 선호되거나 유리한 것으로 해석될 필요는 없다.
용어들 "모바일 컴퓨팅 디바이스" 또는 "컴퓨팅 디바이스" 는 본 명세서에서 셀룰러 전화기들, 스마트 폰들 (예를 들어, 아이폰 (iPhone)), 웹-패드들, 태블릿 컴퓨터들, 인터넷 인에이블드 셀룰러 전화기들, WiFi 인에이블드 전자 디바이스들, 개인 휴대 정보 단말기 (personal data assistant; PDA) 들, 랩톱 컴퓨터들, 개인용 컴퓨터들, 및 적어도 프로세서와 네트워크 트랜시버가 구비된 유사한 전자 통신 디바이스들 중 임의의 하나 또는 전부를 지칭하기 위해 사용된다. 다양한 실시형태들에서, 이러한 디바이스들은 다른 디바이스들과 통신하기 위해 광역 네트워크 (wide area network; WAN) 또는 로컬 영역 네트워크 (local area network; LAN) 커넥션 (예를 들어, LTE, 3G 또는 4G 무선 광역 네트워크 트랜시버, 인터넷에 대한 유선 커넥션, 또는 WiFi) 을 확립하기 위한 네트워크 트랜시버로 구성될 수도 있다.
용어 "서버" 는 마스터 교환 서버, 웹 서버, 메일 서버, 문서 서버, 및 서버 기능들을 실행하기 위한 소프트웨어로 구성하는 개인용 또는 모바일 컴퓨팅 디바이스 (예를 들어, "라이트 서버 (light server)") 와 같은 서버로서 기능하는 것이 가능한 임의의 컴퓨팅 디바이스를 지칭하기 위해 사용된다. 서버는 (예를 들어, 컴퓨팅 디바이스로 하여금 서버로서 동작하게 할 수도 있는 애플리케이션을 실행하는) 서버 모듈을 포함하는 컴퓨팅 디바이스 또는 전용 컴퓨팅 디바이스일 수도 있다. 서버 모듈 (또는 서버 애플리케이션) 은 컴퓨팅 디바이스들 상의 동적 데이터베이스들 중에서 동기화 서비스들을 제공하도록 구성되는 라이트 또는 2차 서버 모듈 (예를 들어, 라이트 또는 2차 서버 애플리케이션) 또는 풀 펑션 (full function) 서버 모듈일 수도 있다. 라이트 서버 또는 2차 서버는 스마트 폰과 같은 개인용 또는 모바일 컴퓨팅 디바이스 상에서 구현될 수 있는 서버 타입 기능성의 슬림-다운된 버전일 수도 있어서, 그에 의해 예컨대 본 명세서에서 설명되는 기능성을 제공하는데 필요한 제한된 범위로 인터넷 서버 (예를 들어, 엔터프라이즈 이메일 서버) 로서 기능하는 것을 가능하게 한다.
다음 설명들에서, 용어 "사용자 컴퓨팅 디바이스" 는 수신자들의 그룹에게 요청을 제시하는 사용자에 의해 이용되는 컴퓨팅 디바이스 (예를 들어, 스마트폰, 랩톱 등) 를 지칭하기 위해 사용될 수도 있다. 용어 "수신자 컴퓨팅 디바이스(들)" 는 사용자의 요청에 관련된 메시지들을 교환하기 위해 다른 사용자(들) 또는 "수신자(들)" 에 의해 이용되는 컴퓨팅 디바이스(들) 를 지칭하기 위해 사용될 수도 있다. 사용자 컴퓨팅 디바이스 및 수신자 컴퓨팅 디바이스(들) 양쪽 모두는 복수의 컴퓨팅 디바이스들 내에 있을 수도 있다.
다양한 실시형태들은 불필요한 응답들 및 다른 방해들을 피하게 하기 위해 수신자 컴퓨팅 디바이스들에서 동적으로 디스플레이되는 지속적인 요청들에 대한 응답들을 사용자가 요구하는 것을 가능하게 하기 위한 방법들, 디바이스들, 시스템들, 및 비일시적 프로세서 판독가능 저장 매체들을 제공한다. 사용자 컴퓨팅 디바이스에 의해 수신자 컴퓨팅 디바이스들에 송신되는 인비테이션 메시지 (invitation message) 는, 사용자의 요청, 예컨대 수신자들에 의해 응답될 질문 또는 태스크 (task) 를 나타낼 수도 있다. 인비테이션 메시지의 수신에 응답하여, 수신자 컴퓨팅 디바이스들은, 예컨대 수신자들에 의해 대답될 미해결 (outstanding) 질문이 존재함을 나타내는 PTT 애플리케이션 내의 그래픽 엘리먼트들을 렌더링하는 것에 의해, 사용자의 요청을 나타내는 디스플레이들을 렌더링할 수도 있다.
사용자 컴퓨팅 디바이스는 요청이 만족 (fulfill) (또는 충족) 되는지 여부를 결정하기 위해 수신자 컴퓨팅 디바이스들로부터의 응답 메시지들을 프로세싱하고 평가할 수도 있다. 예를 들어, 사용자 컴퓨팅 디바이스는 인비테이션 메시지에 의해 제기된 질문에 대답하는 수신된 응답 메시지들 내의 정보의 조각들을 식별하기 위해 음성 또는 텍스트 분석 루틴들, 소프트웨어, 또는 다른 동작들을 수행할 수도 있다. 응답 메시지들이 요청을 만족하는 정보를 포함할 때 (예를 들어, 응답 메시지의 텍스트 콘텐츠에 의해 질문에 적절히 대답됨 등), 사용자 컴퓨팅 디바이스는 사용자의 요청을 나타내는 디스플레이들이 자동으로 클린-업 (clean-up) 되게 하는 부가적인 메시지들 (예를 들어, 소거 메시지들) 을 수신자 컴퓨팅 디바이스들에 송신할 수도 있다. 예를 들어, 사용자의 요청이 다른 이들로부터 수신된 응답들에 의해 완전히 만족되는 것으로 결정될 때 (예를 들어, 질문에 대답됨), 디스플레이들은 요청이 충족되고 더 이상 액티브하지 않음을 나타내기 위해 자동으로 삭제되거나, 숨겨지거나, 또는 그렇지 않으면 조정될 수도 있다. 다른 예로서, 사용자의 요청이 요청의 만료된 프레시니스 (freshness) 조건으로 인해 더 이상 유효하지 않은 것으로 결정될 때, 디스플레이들은 요청이 만료되었음 또는 더 이상 유효하지 않음 (예를 들어, "만료됨", "무효함", 무관함" 등) 을 나타내기 위해 조정될 수도 있다. 일 실시형태에서, 사용자 컴퓨팅 디바이스는 요청이 완전히 만족되었다는 결정에 응답하여 예컨대 로컬 데이터베이스들에서 엔트리들을 삭제하는 것에 의해, 클린-업 동작들을 또한 자동으로 수행하도록 구성될 수도 있다.
수신자 컴퓨팅 디바이스들로부터 수신된 응답 메시지들에 기초하여 사용자 컴퓨팅 디바이스가 요청이 완전히 만족되지 않는다고 결정할 때, 사용자 컴퓨팅 디바이스는 팔로우-업 요청들로 업데이팅된 인비테이션 메시지들을 송신할 수도 있다. 예를 들어, 응답 메시지들이 사용자에 의해 제기된 초기 질문에 대답하지 않을 때, 사용자 컴퓨팅 디바이스는 이전에 수신된 응답들에 의해 제공되지 않은 정보를 요구하도록 설계되는 새로운, 재정의된, 또는 재표현된 질문들로 업데이팅된 인비테이션 메시지들을 송신할 수도 있다. 이러한 업데이팅된 인비테이션 메시지들은 수신자 컴퓨팅 디바이스들 상의 디스플레이들로 하여금 오리지널 요청들에 관련된 정보를 자동으로 업데이팅하게 할 수도 있다. 예를 들어, 그래픽 엘리먼트는, 오리지널 요청에 부분적으로 대답되었지만 여전히 완전히 만족되지 않음을 나타내는 텍스트, 라벨들, 컬러들 등을 포함할 수도 있다. 일 실시형태에서, 요청에 부분적으로 대답되었음을 나타내는 메시지들이 송신될 수도 있다.
실례로서: 사용자는 제 1 도시로부터 제 2 도시에서의 기업 캠퍼스 내의 빌딩으로의 방향들을 요청하는 인비테이션 메시지 (예를 들어, "로스앤젤레스로부터 샌디에이고에서의 캠퍼스 상의 당신의 연구소로 어떻게 가나요?") 를 수신하기 위해 복수의 수신자 컴퓨팅 디바이스들을 선택할 수도 있다. 인비테이션 메시지의 수신에 응답하여, 복수의 수신자 컴퓨팅 디바이스들 각각은 제 1 도시로부터 캠퍼스로의 방향들에 대한 액티브한 요청을 나타내는 디스플레이를 렌더링할 수도 있다. 사용자 컴퓨팅 디바이스는 제 1 응답 메시지를 수신할 수도 있고, 제 1 응답 메시지의 텍스트에 대한 자연 언어 프로세싱 동작들을 수행한 후에, 응답이 제 1 도시로부터 제 2 도시 내의 캠퍼스로의 방향들만을 단지 제공하였다고 결정할 수도 있고 (예를 들어, "캠퍼스에 도착하기 위해서는 주간 고속도로 (Interstate) 5 를 이용한 후에 출구 XYZ 를 이용하십시오."), 그에 따라 부분적으로 요청을 만족시킨다 (또는 요청에 대답한다). 이에 응답하여, 사용자 컴퓨팅 디바이스는 제 2 도시로부터 캠퍼스 그리고 또한 빌딩 그 자체로의 방향들을 제공하도록 수신자들에게 요구하는 업데이팅된 인비테이션 메시지 (예를 들어, "캠퍼스의 메인 게이트로부터 당신의 연구소 빌딩으로의 방향들을 제공해 주십시오.") 를 송신할 수도 있다. 업데이팅된 인비테이션 메시지의 수신에 응답하여, 복수의 수신자 컴퓨팅 디바이스들 각각은 요청이 캠퍼스의 메인 게이트로부터 빌딩으로의 방향들만을 단지 요구하고 있음을 나타내기 위해 이들의 디스플레이들을 자동으로 업데이팅할 수도 있다. 사용자 컴퓨팅 디바이스는 결국에는 캠퍼스의 메인 게이트로부터 빌딩으로의 도보 방향들을 포함하는 제 2 응답 메시지를 수신할 수도 있고, 사용자 컴퓨팅 디바이스는 수신자 컴퓨팅 디바이스들 모두에게 소거 메시지들을 송신할 수도 있다. 이에 응답하여, 수신자 컴퓨팅 디바이스들 각각은 질의의 디스플레이를 자동으로 클린-업 (예를 들어, 제거) 할 수도 있다.
일 실시형태에서, 인비테이션 메시지들은 또한 프레즌스 (presence) 표시들, 예컨대 요청의 상태 및/또는 요청에 관련된 사용자의 상태/활동도를 설명하는 정보를 포함할 수도 있다. 예를 들어, 사용자 컴퓨팅 디바이스는, 질문에 여전히 대답하지 않음을 나타내는 플래그를 포함하는, 동료들의 그룹에게 질문을 제기하는 인비테이션 메시지를 송신할 수도 있다. 조건들이 변화함에 따라 및/또는 응답 메시지들의 수신에 응답하여 송신되는 업데이팅된 인비테이션 메시지들과 같은, 사용자 컴퓨팅 디바이스로부터의 다양한 메시지들을 통해, 이러한 프레즌스 표시들이 통신될 수도 있다. 예를 들어, 사용자 컴퓨팅 디바이스가 제 1 수신자 컴퓨팅 디바이스로부터 응답 메시지를 수신하여 이 메시지에 적절히 대답할 때, 사용자 컴퓨팅 디바이스는 요청이 더 이상 액티브하지 않음 (예를 들어, "충족됨" 등) 을 보고하기 위해 제 2 수신자 컴퓨팅 디바이스의 디스플레이를 변화시키게 하는 메시지를 송신할 수도 있다.
사용자 컴퓨팅 디바이스는 수신자 컴퓨팅 디바이스들이 어떻게 요청에 가장 잘 응답할 수도 있는지 (즉, 선호된 응답 모드) 를 나타내는 인비테이션 메시지들을 송신할 수도 있다. 예를 들어, 사용자 컴퓨팅 디바이스는 응답 메시지들이 PTT 애플리케이션 또는 SMS/MMS 텍스트 메시지들을 통해 전송될 수도 있음을 나타내는 코드를 포함하는 인비테이션 메시지를 송신할 수도 있다. 다른 예로서, 사용자가 통화를 시작하거나, 글로벌 포지셔닝 시스템 (global positioning system; GPS) 좌표들 또는 다른 위치 정보에 기초하여 미리 결정된 위치에 진입하거나, 또는 로컬로 저장된 스케줄 또는 캘린더 정보에 기초하여 "대기 중 (on-call)" 인 것으로 결정되는 경우, 사용자 컴퓨팅 디바이스는 응답 메시지들이 더 이상 PTT 애플리케이션을 통해 송신되지 않을 수도 있지만 그 대신에 SMS/MMS 텍스트 메시지들을 통해 전송되어야 함을 보여주기 위해 수신자 컴퓨팅 디바이스 상의 디스플레이가 변화하게 하는 메시지를 송신할 수도 있다. 일 실시형태에서, 수신자 컴퓨팅 디바이스들 상의 디스플레이들은, 요청을 위해 인비테이션 메시지들 내에 나타낸 현재 선호된 응답 모드에 기초하여 동적으로 변화하는, 그래픽 사용자 인터페이스 (graphical user interface; GUI) 엘리먼트들, 예컨대 버튼들을 포함할 수도 있다.
일 실시형태에서, 사용자 컴퓨팅 디바이스는 상이한 수신자들에 대한 상이한 선호된 응답 모드들을 포함하는 인비테이션 메시지들을 송신할 수도 있다. 예를 들어, 사용자 컴퓨팅 디바이스는 응답 메시지들이 SMS 텍스트 메시지들로서 포맷팅되어야 함을 나타내는 요청에 대한 제 1 인비테이션 메시지 (예를 들어, "누가 지금 집에 있습니까?") 를 제 1 수신자 컴퓨팅 디바이스에 송신할 수도 있고, 응답 메시지들이 PTT 애플리케이션에서의 이용을 위해 포맷팅될 수도 있음을 나타내는 요청에 대한 제 2 인비테이션 메시지를 제 2 수신자 컴퓨팅 디바이스에 송신할 수도 있다. 추가로, 사용자 컴퓨팅 디바이스는 상이한 요청들에 대한 상이한 선호된 응답 모드들을 활용할 수도 있다. 예를 들어, 사용자 컴퓨팅 디바이스는 SMS 메시지들의 선호된 응답 모드 (또는 포맷) 를 나타내는 제 1 요청에 대응하는 제 1 인비테이션 메시지 (예를 들어, "호텔의 주소가 어디입니까?") 를 송신할 수도 있고, PTT 메시징의 선호된 응답 모드 (또는 포맷) 를 나타내는 제 2 요청에 대응하는 제 2 인비테이션 메시지 (예를 들어, "상사의 이름이 무엇입니까?") 를 송신할 수도 있다. 이것은 다양한 액티브한 요청들 사이에서 이 선호된 응답 모드가 동시에 상이할 수 있으므로 관련있을 수도 있고, 추가로 일반적 통신들 (즉, 액티브한 요청들에 관련되지 않은 통신들) 에 대한 선호된 모드와는 상이할 수도 있다.
다양한 실시형태들에서, 인비테이션 메시지들에 포함되는 선호된 응답 모드들은, 응답 메시지들이 다른 수신자 컴퓨팅 디바이스들에 송신될 수도 있는지 또는 사용자 컴퓨팅 디바이스에 배타적으로 송신될 수도 있는지 여부를 나타낼 수도 있다. 예를 들어, 복수의 수신자 컴퓨팅 디바이스들에 송신되는 인비테이션 메시지는 요청에 참여하는 모든 수신자 컴퓨팅 디바이스들에게 응답들을 브로드캐스팅하는 것과는 대조적으로 모든 응답들을 사용자 컴퓨팅 디바이스에만 지향시키는 코드를 포함할 수도 있다. 모든 수신자 컴퓨팅 디바이스들은 단지 사용자 컴퓨팅 디바이스에 의해서만 수신되는 응답 메시지들의 평가들에 기초하여 업데이팅될 수도 있다. 다시 말해, 응답 메시지가 요청을 부분적으로 또는 완전히 만족시킬 때, 사용자 컴퓨팅 디바이스는 업데이팅된 인비테이션 메시지들 및/또는 소거 메시지들을 모든 수신자 컴퓨팅 디바이스들에 송신할 수도 있어서 이들의 각각의 디스플레이들이 자동으로 조정 (예를 들어, 요청을 제거하는 것, 요청을 변화시키는 것 등) 되게 할 수도 있다.
수신자 컴퓨팅 디바이스들은 사용자 컴퓨팅 디바이스의 프레즌스를 액티브하게 추적하도록 구성되지 않을 수도 있지만, 그 대신에 시간에 걸쳐 요구된 요청들 (그리고 사용자에 관한 정보) 을 동적으로 업데이팅하는 인비테이션 메시지들을 단순히 수신할 수도 있다. 다시 말해, 수신자 컴퓨팅 디바이스들이 사용자 컴퓨팅 디바이스로부터 수신한 인비테이션 메시지들에 기초하여 요청들의 상태에 효과적으로 서브스크라이빙되는 (subscribed) 다양한 실시형태들에 의해 패시브 프레즌스 (또는 "리버스 (reverse)" 프레즌스) 스킴이 가능하게 될 수도 있다.
다양한 실시형태의 기법들은 PTT 애플리케이션 통신들, 텍스트 메시징, 및 이메일 메시징과 같은 다양한 통신 플랫폼들에 적용될 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스들은, 컴퓨팅 디바이스로부터의 후속 인비테이션 메시지들에 기초하여 자동으로 업데이팅되거나, 삭제되거나, 숨겨지거나, 또는 그렇지 않으면 변화될 수도 있는 이메일들, 텍스트 메시지들, 또는 PTT 메시지들과 같은 인비테이션 메시지들을 수신하도록 구성될 수도 있다. 일 실시형태에서, 수신자 컴퓨팅 디바이스는 사용자 컴퓨팅 디바이스가 관련 요청이 만족되었다고 결정한 것에 응답하여 송신된 소거 메시지들의 수신에 응답하여 이메일 메시지들을 삭제하는 리콜 기능을 활용할 수도 있다.
일 실시형태에서, 서버, 예컨대 클라우드 서버 또는 중앙 서비스 컴퓨팅 디바이스는, 사용자 컴퓨팅 디바이스들과 수신자 컴퓨팅 디바이스들 사이에서 인비테이션 메시지들 및 응답 메시지들을 라우팅 또는 중계하도록 구성될 수도 있다. 추가로, 서버는 정보 (예를 들어, 조정된/업데이팅된 요청들 및/또는 선호된 응답 모드들 등) 를 푸시하도록 구성될 수도 있고 또는 대안적으로 다양한 다른 컴퓨팅 디바이스들에 의해 주기적으로 액세스되는 로컬로 저장된 데이터를 업데이팅하도록 구성될 수도 있다. 다시 말해, 요청 디바이스로부터의 초기 요청의 수신에 응답하여, 서버는 복수의 수신자 컴퓨팅 디바이스들이 폴링 메커니즘 (polling mechanism) 들을 이용하여 결국에는 서버로부터 이들 요청들을 수신하는 것을 가능하게 할 수도 있다. 예를 들어, 서버는 요청이 만족되었는지 여부를 결정하기 위해 수신자 컴퓨팅 디바이스들에 의해 액세스될 수도 있는 액티브한 요청 (예를 들어, 로컬로 저장된 데이터 필드에 대한 URL 또는 다른 링크 등) 을 설명하는 임시 코드를 활용하도록 구성될 수도 있다. 서버들은 또한, 액티브한 요청들에 관한 정보에 어떻게 액세스할지를 나타내는 것뿐만 아니라, 수신자 컴퓨팅 디바이스들 상의 디스플레이들을 어떻게 그리고 언제 리프레시할지를 나타내는 코드를 (예를 들어, 푸시 통지들, SMS 메시지들 등을 통해) 푸시하도록 구성될 수도 있다. 예를 들어, 서버는 수신자 컴퓨팅 디바이스로 하여금 코드를 이용하여 액티브한 요청들의 디스플레이를 업데이팅하게 하는 애플리케이션에서의 이용을 위해 포맷팅되는 메시지들을 송신할 수도 있다.
다양한 실시형태들은 웹페이지들 또는 다른 웹 서비스들을 활용하도록 의도되지 않는다는 것에 주목해야 한다. 예를 들어, 서버에 의해 수신자 컴퓨팅 디바이스들에게 푸시되거나 또는 이용가능하게 되는 임의의 로컬로 저장된 데이터는, 브라우저들에 의해 통상적으로 이용되는 웹페이지 데이터 또는 다른 콘텐츠가 아니라 액티브한 요청들에만 관련있는 데이터인 것으로 간주되어야 한다.
다양한 실시형태들은 다른 디바이스 사용자들로부터의 대답들, 정보, 액션들, 및 다른 응답들의 편리하고 지장을 주지 않는 요구를 위한 협업 툴 (collaboration tool) 을 디바이스 사용자에게 제공할 수도 있다는 점에서 이롭다. 실시형태의 기법들에 의하면, 사용자들은 다른 이들로부터의 응답들에 대한 요청들을 더 자유로이 푸시 아웃 (push out) 시킬 수도 있는데, 이는 이러한 요청들의 자동 업데이팅 및 클린-업 동작들이 쓸모없거나, 중복되거나, 또는 무관한 요구들을 피하게 할 수도 있기 때문이다. 실시형태의 기법들은 원격 폰 서비스 상에서 메시지들을 삭제하거나 또는 이메일들에 대한 수신 확인 (read receipt) 들을 이용하기 위한 공지된 기법들과는 같지 않지만, 그 대신에 일단 사용자들로부터의 요청들이 완전히 만족되는 것으로 결정된다면 디스플레이들을 끊임없이 제거하는 자동 클린-업 동작들을 트리거링하기 위한 메시징을 활용한다. 추가로, 그룹 원격-지원 요청들과 같은 다른 진보된 피처들에서 다양한 실시형태들에 의해 가능하게 되는 프레임워크가 이용될 수도 있다.
도 1 은 다양한 실시형태들에서의 이용에 적합한 통신 시스템 (100) 을 예시한다. 통신 시스템 (100) 은 인터넷 (115) 에 대한 커넥션 (151) 을 갖는 셀룰러 또는 다른 광역 네트워크 (155) (예를 들어, LTE, 3G, CDMA 등) 와 연관된 통신 타워 (150) (또는 기지국) 에 대한 커넥션 (103) (예를 들어, 무선 커넥션) 을 통해 연결될 수도 있는 사용자 컴퓨팅 디바이스 (102) (예를 들어, 스마트폰 모바일 컴퓨팅 디바이스 등) 를 포함할 수도 있다. 일 실시형태에서, 사용자 컴퓨팅 디바이스 (102) 는 인터넷 (115) 에 대한 커넥션 (121) 을 갖는 로컬 영역 네트워크 (125) (또는 LAN) 와 연관된 라우터 (120) (예를 들어, WiFi 라우터) 에 대한 커넥션 (104) 을 통해 연결될 수도 있다. 다른 실시형태에서, 사용자 컴퓨팅 디바이스 (102) 는 커넥션 (181) 을 통해 인터넷 (115) 에 연결되는 수신자 컴퓨팅 디바이스 (180) (예를 들어, 스마트폰 등) 에 단거리 무선 커넥션 (105) (예를 들어, 블루투스, 지그비, WiFi 다이렉트, RF 등) 을 통해 연결할 수도 있다. 통신 시스템 (100) 은 또한, 인터넷 (115) 에 대한 커넥션 (186) 을 갖는 랩톱 컴퓨팅 디바이스 (185) 뿐만 아니라, 인터넷 (115) 에 대한 커넥션 (111) 을 갖는 서버 컴퓨팅 디바이스 (110) 를 포함할 수도 있다.
수신자 컴퓨팅 디바이스 (180), 서버 컴퓨팅 디바이스 (110), 랩톱 컴퓨팅 디바이스 (185), 및 사용자 컴퓨팅 디바이스 (102) 는 프로세서(들), 메모리(들), 및 트랜시버(들) (미도시) 와 같은 이들의 각각의 컴포넌트들을 통해 다양한 애플리케이션들을 실행하도록 구성될 수도 있다. 예를 들어, 사용자 컴퓨팅 디바이스 (102) 및 수신자 컴퓨팅 디바이스 (180) 양쪽 모두는 다른 디바이스들과 통신하기 위해 채트 (chat) 애플리케이션들, 이메일 클라이언트 애플리케이션들, SMS/MMS 텍스팅 소프트웨어, 및/또는 푸시-투-토크 (Push-To-Talk; PTT) 애플리케이션을 실행하도록 구성될 수도 있다.
다양한 커넥션들을 이용하여, 컴퓨팅 디바이스들 (102, 110, 180, 185) 은, 예컨대 인터넷 프로토콜들을 통해, 통신물들을 서로 교환하는 것이 가능할 수도 있다. 특히, 사용자 컴퓨팅 디바이스 (102) 는, 다양한 커넥션들 (103, 104, 105) 을 통해, 인비테이션 메시지들 및 소거 메시지들과 같은 메시지들을 이메일, SMS/MMS 텍스트 메시지, 및/또는 PTT 통신들을 통해 송신하도록 구성될 수도 있다. 예를 들어, 사용자 컴퓨팅 디바이스 (102) 는 라우터 (120) 에 대한 커넥션 (104) 을 통해 질의 (예를 들어, 질문, 태스크 등) 에 관련된 인비테이션 메시지들을 송신할 수도 있고, 이 라우터는 인터넷 (115) 을 통해 서버 컴퓨팅 디바이스 (110) 에 인비테이션 메시지들을 중계할 수도 있다. 일 실시형태에서, 서버 컴퓨팅 디바이스 (110) 는 디바이스들 (102, 180, 185) 사이에서 메시지들을 중계하는 것에 의해 프록시로서 작용하도록 구성될 수도 있다. 다른 실시형태에서, 서버 컴퓨팅 디바이스 (110) 는, 예컨대 인비테이션 메시지들, 소거 메시지들을 송신하고 응답 메시지들을 프로세싱하는 것에 의해, 요청들에 관련된 통신들을 프로세싱하고 이와 다르게는 용이하게 하도록 구성되는 클라우드 서버 또는 다른 중앙 서버 디바이스일 수도 있다. 예를 들어, 서버 컴퓨팅 디바이스 (110) 는 사용자들 사이의 요청들을 공유하는데 이용되는 PTT 애플리케이션과 연관될 수도 있다.
도 2a 내지 도 2f 는 수신자들로부터의 응답들을 요구하는 인비테이션 메시지들에 관련된 디스플레이들을 렌더링하는 모바일 컴퓨팅 디바이스들을 예시한다. 도 2a 에 도시된 바와 같이, 사용자 컴퓨팅 디바이스 (102) 는 통신 애플리케이션과 연관된 연락처 (contact) 들의 그래픽 표현 또는 리스트를 포함하는 디스플레이 (202) 를 그의 스크린 (812) 상에서 생성하기 위해 푸시-투-토크 (PTT) 애플리케이션 (예를 들어, QChat 등) 과 같은 통신 애플리케이션 또는 소프트웨어를 실행하도록 구성될 수도 있다. 예를 들어, 디스플레이 (202) 는 통신 애플리케이션을 활용하도록 또한 구성되는 모바일 컴퓨팅 디바이스들을 갖는 동료들, 친구들, 및/또는 가족 구성원들의 이름들 및 사진들을 갖는 주소록을 표현할 수도 있다. 사용자 컴퓨팅 디바이스 (102) 의 사용자는 요청에 대해 적절한 수신자들을 찾기 위해 디스플레이 (202) 를 브라우징할 수도 있다. 예를 들어, 사용자는 그 사용자가 가진 질문 (예를 들어, "우리가 월간 보고서들에 대해 팔로우-업했는지 누가 알고 있습니까?") 에 대답하기 위해 연락될 수도 있는 고용인들을 찾기 위해 디스플레이 (202) 를 이용할 수도 있다.
도 2b 에 도시된 바와 같이, 사용자는 요청을 만족시키도록 응답들을 요구하는 (예를 들어, 질문에 대답하는 것, 태스크를 행하는 것, PTT 애플리케이션을 통해 호출하는 것 등) 인비테이션 메시지에 대한 수신자들을 선택할 수도 있다. 특히, 그/그녀의 손가락 (226) 을 이용하여, 사용자는 그/그녀가 요청을 어드레싱하기 위해 인바이팅하기 (invite) 를 원하는 연락처들 또는 디바이스들의 렌더링된 그래픽 엘리먼트들 (222, 223) 에 대응하는 사용자 입력들 (예를 들어, 터치 입력들) 을 제공할 수도 있다. 예를 들어, 사용자는 제 1 연락처 (도 2a 및 도 2b 에서 "크리스" 라고 지칭됨) 와 연관된 제 1 그래픽 엘리먼트 (222) 를 태핑 (tapping) 하는 것에 의해 제 1 수신자를 선택할 수도 있고, 제 2 연락처 (도 2a 및 도 2b 에서 "마크" 라고 지칭됨) 와 연관된 제 2 그래픽 엘리먼트 (223) 를 태핑하는 것에 의해 제 2 수신자를 선택할 수도 있다. 사용자로부터의 선택 입력들에 기초하여, 인비테이션 메시지들은 사용자 컴퓨팅 디바이스 (102) 에 의해 수신자 컴퓨팅 디바이스들 (즉, 선택된 수신자들의 컴퓨팅 디바이스들) 에 송신될 수도 있다. 이러한 인비테이션 메시지들은 사용자의 요청이 그/그녀가 PTT 애플리케이션을 통해 수신자들과 대화하는 것임을 나타낼 수도 있다 (예를 들어, 사용자는 그/그녀가 크리스 및 마크로부터 연락을 받기 원한다고 이야기하는 것 등). 다양한 다른 실시형태들에서, 인비테이션 메시지들은 사용자의 요청에 관한 부가적인 정보 (예를 들어, 수신자들에 의해 제공되는 특정 정보 또는 대답들 등) 를 포함할 수도 있다.
도 2c 에 도시된 바와 같이, 수신자 컴퓨팅 디바이스 (180) 는 사용자 컴퓨팅 디바이스 (102) 로부터의 인비테이션 메시지의 수신에 응답하여 그의 스크린 (250) 상에 액티브한 요청들의 디스플레이 (252) 를 렌더링할 수도 있다. 디스플레이 (252) 는 하나 또는 다수의 동적 엘리먼트들이 수신자에게 제시되는 것을 가능하게 하는 사용자 인터페이스일 수도 있다. 특히, 수신된 인비테이션 메시지들에 기초하여, 디스플레이 (252) 는 예컨대 만족될 필요가 있는 각각의 액티브한 요청에 대해 그래픽 엘리먼트 (253) 를 부가하는 것에 의해 자동으로 업데이팅할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스 (180) 는 사용자가 PTT 애플리케이션을 통해 호출하도록 수신자에게 요청하고 있음을 나타내는 그래픽 엘리먼트 (253) 를 렌더링할 수도 있다. 일 실시형태에서, 디스플레이 (252) 는 채트 프로그램에 대한 인터페이스와 같은 PTT 애플리케이션과 연관될 수도 있다.
도 2d 에 도시된 바와 같이, 사용자 컴퓨팅 디바이스 (102) 는 수신자들이 사용자의 요청에 응답한 것에 응답하여 PTT 세션에 참여할 수도 있다. 사용자 컴퓨팅 디바이스 (102) 는 인비테이션 메시지에 응답한 수신자들을 포함하는 PTT 세션 프리젠테이션 (270) 을 스크린 (812) 상에 렌더링할 수도 있다. 수신자들과의 PTT 세션에 응답하여, 사용자의 요청이 만족될 수도 있고, 사용자 컴퓨팅 디바이스 (102) 는 요청이 더 이상 액티브하지 않음을 나타내는 소거 메시지들을 수신자들의 컴퓨팅 디바이스들에 송신할 수도 있다.
소거 메시지의 수신시 그리고 도 2e 에 도시된 바와 같이, 수신자 컴퓨팅 디바이스 (180) 상의 디스플레이 (252) 는 요청 디스플레이 엘리먼트들을 삭제하거나, 숨기거나, 또는 그렇지 않으면 제거하기 위해 자동으로 업데이팅 (또는 "클린-업") 될 수도 있다. 대안적으로, 도 2f 에 도시된 바와 같이, 디스플레이 (252) 는 PTT 세션에 기초하여 요청이 만족되었음 (예를 들어, "충족되었음", 그레이-아웃됨 (grayed-out) 등) 을 나타내는 자동으로 조정된 그래픽 엘리먼트 (293) 를 제시할 수도 있다.
도 3a 및 도 3b 는 요청에 대한 응답들을 요구하는 인비테이션 메시지들의 수신에 응답하여 수신자 컴퓨팅 디바이스 (180) 상에서 렌더링되는 예시적인 디스플레이들의 다이어그램들이다. 도 3a 는 인비테이션 메시지들에 관련된 메시지들을 완전히 디스플레이하도록 구성되는 PTT 애플리케이션 (예를 들어, QChat 등) 을 수신자 컴퓨팅 디바이스 (180) 가 실행하고 있을 때 제시될 수도 있는 스크린 (250) 상에서 렌더링되는 디스플레이 (302) 를 예시한다. 특히, 디스플레이 (302) 는 수신된 인비테이션 메시지를 송신한 사용자에 관한 정보의 표현들 (304), 예컨대 사용자 이름 (예를 들어, 캐머런 X.), 사용자의 위치, 및 사용자에 관련된 다른 조건들 및 특성들 (예를 들어, 사용자 근방의 현재 날씨 등) 을 포함할 수도 있다. 디스플레이 (302) 는 사용자로부터의 요청에 관한 정보, 예컨대 사용자에 의해 제기된 질문 (306) (예를 들어, "이봐 얘들아, 스케줄과 개발 상태가 어떻게 되니?") 을 더 포함할 수도 있다. 디스플레이 (302) 는 응답 메시지 (예를 들어, 대답을 가진 SMS 텍스트 메시지) 를 송신하기 위한 제 1 버튼 (310) 및 요청과 연관된 사용자와 PTT 세션을 개시하기 위한 제 2 버튼 (308) 과 같은 사용자 인터페이스 버튼들을 포함할 수도 있다. 일 실시형태에서, 수신자 컴퓨팅 디바이스 (180) 가 부가적인 플러그-인 또는 표준 PTT 애플리케이션에 존재하지 않는 다른 부가적인 기능성으로 구성될 때 인비테이션 메시지들이 완전히 디스플레이될 수도 있다.
도 3b 는 수신된 인비테이션 메시지들의 완전한 디스플레이들을 렌더링하는 것이 가능하지 않은 PTT 애플리케이션 (예를 들어, QChat 등) 을 수신자 컴퓨팅 디바이스 (180) 가 실행하고 있을 때 제시될 수도 있는 수신자 컴퓨팅 디바이스 (180) 의 스크린 (250) 상에서 렌더링되는 디스플레이 (320) 를 예시한다. 특히, 디스플레이 (320) 는 요청에 대한 응답들을 요구하는 인비테이션 메시지를 송신한 사용자에 관한 정보의 제한된 표현들 (322) 을 포함할 수도 있다. 예를 들어, 디스플레이 (320) 는 요청을 발행한 사용자의 이름 및 이미지만을 단지 제시할 수도 있다. 디스플레이 (320) 는 디스플레이 (320) 를 해제 (dismiss) 하기 위한 제 1 버튼 (326) 및 요청과 연관된 사용자와 PTT 세션을 개시하기 위한 제 2 버튼 (324) 과 같은 사용자 인터페이스 버튼들을 포함할 수도 있다. 일 실시형태에서, 이러한 디스플레이 (320) 는 수신자 컴퓨팅 디바이스 (180) 가 단지 PTT 애플리케이션으로 구성될 때 (즉, 어떠한 부가적인 플러그-인들도 활용되지 않음) 제시될 수도 있다. 일 실시형태에서, 디스플레이 (320) 는 팝-업 다이얼로그 박스와 같은 경고일 수도 있다.
도 3c 는 수신자 컴퓨팅 디바이스 (180) 가 PTT 애플리케이션 (예를 들어, QChat 등) 을 실행하도록 구성되지 않을 때 제시될 수도 있는 수신자 컴퓨팅 디바이스 (180) 의 스크린 (250) 상에서 렌더링되는 다른 디스플레이 (350) 를 예시한다. 특히, 디스플레이 (350) 는 SMS/MMS 텍스트 메시지 뷰어들과 같은 다른 기능성으로 정보를 렌더링할 수도 있다. 특히, 디스플레이 (350) 는, 사용자에 의해 제기된 질문 (354) 과 같은, 사용자로부터의 요청에 관한 정보뿐만 아니라, 요청에 따라 인비테이션 메시지를 송신한 사용자에 관한 정보의 표현 (352) 을 포함할 수도 있다. 디스플레이 (350) 는 디스플레이 (350) 를 클로징하기 위한 제 1 버튼 (358) 및 인비테이션 메시지 및/또는 요청에 관련된 더 많은 정보를 뷰잉하기 위한 제 2 버튼 (356) 과 같은 사용자 인터페이스 버튼들을 포함할 수도 있다.
도 4a 내지 도 4e 는 컴퓨팅 디바이스가 요청들에 대한 응답들을 요구하는 인비테이션 메시지들을 송신하기 위한 실시형태의 방법들 (400, 450, 470, 490, 495) 을 예시한다. 단순성을 목적으로, 다음 설명들은 방법들 (400, 450, 470, 490, 495) 의 동작들을 수행하는 것으로서 컴퓨팅 디바이스를 지칭한다. 그러나, 컴퓨팅 디바이스는 임의의 컴퓨팅 디바이스, 예컨대 모바일 컴퓨팅 디바이스 (예를 들어, 사용자에 의해 활용되는 스마트폰) 또는 서버 (예를 들어, 통신 서비스 또는 채트 애플리케이션과 연관된 중앙 서버) 일 수도 있다는 것이 인식되어야 한다. 다양한 실시형태들에서, 방법들 (400, 450, 470, 490, 495) 의 동작들의 임의의 조합이 하나 이상의 컴퓨팅 디바이스들에 의해 수행될 수도 있다. 예를 들어, 사용자의 스마트폰 모바일 컴퓨팅 디바이스는 터치스크린 상의 사용자의 입력들로부터 초기 질의를 수신하도록 구성될 수도 있고, 서버는 초기 질의에 기초하여 인비테이션 메시지들을 다양한 디바이스들에 송신하도록 구성될 수도 있다. 다른 예로서, 사용자의 스마트폰 모바일 컴퓨팅 디바이스가 인비테이션 메시지들을 수신자 컴퓨팅 디바이스들에게 직접 송신하도록 구성됨과 함께 수신자 컴퓨팅 디바이스들로부터의 응답 메시지들의 의미 또는 콘텐츠를 결정하기 위한 평가 동작들이 서버에 오프로딩될 수도 있고, 또는 그 반대로 될 수도 있다.
도 4a 는 사용자가 원하는 응답들 (예를 들어, 정보, 태스크들, 액션들 등) 을 요구하기 위해 컴퓨팅 디바이스가 사용자로부터의 요청들에 기초한 인비테이션 메시지들을 수신자 컴퓨팅 디바이스들에 송신하기 위한 일 실시형태의 방법 (400) 을 예시한다. 블록 402 에서, 컴퓨팅 디바이스의 프로세서는 초기 요청을 수신할 수도 있다. 초기 요청은 사용자로부터의 질의 또는 질문일 수도 있다. 예를 들어, 초기 요청은 텍스트 질문 "미팅이 언제 시작하는지를 누가 알고 있습니까?" 일 수도 있다. 초기 요청은 대안적으로 태스크, 목표, 할당, 및/또는 액션 요청일 수도 있다. 예를 들어, 초기 요청은 사무실 (office) 또는 룸 (room) 으로부터 아이템을 회수하러 가라는 동료 또는 친구에 대한 요청을 포함할 수도 있다. 초기 요청은 또한, 질문에 대답하기 위해 인비테이션을 수신해야 하는 주소록으로부터의 연락처들의 선택과 같은, 대응하는 인비테이션 메시지들에 대한 의도된 수신자들을 나타낼 수도 있다. 수신자들 (및 수신자 컴퓨팅 디바이스들) 은, 도 2b 를 참조하여 상술된 바와 같이, 사용자에 의한 선택 입력들에 기초할 수도 있다. 대안적으로, 수신자들은, 블록 406 에서의 동작들을 참조하여 후술되는 바와 같이, 요청의 콘텐츠들 또는 토픽의 분석에 기초하여 식별될 수도 있다. 초기 요청은 센서들 (예를 들어, 마이크로폰, 카메라, 터치 센서들 등), (예를 들어, 마우스, 키보드 등을 통한) 주변 입력들을 통해, 및/또는 메시지를 통해 컴퓨팅 디바이스에 의해 수신될 수도 있다. 예를 들어, 컴퓨팅 디바이스는 가상 또는 소프트 키보드 상의 터치 입력들을 통해 애플리케이션 내에 입력되는 텍스트 질문서로서 초기 요청을 수신할 수도 있다. 다른 예로서, 컴퓨팅 디바이스는 다른 디바이스로부터 사유 애플리케이션 메시지, SMS 텍스트 메시지, PTT 오디오 메시지, 이메일, 또는 요청을 포함하는 다른 통신물 (예를 들어, 동료들의 그룹에 대해 질문을 제기하는 SMS 텍스트 메시지 등) 을 수신할 수도 있다.
블록 404 에서, 컴퓨팅 디바이스의 프로세서는 초기 요청으로서 현재 요청을 설정할 수도 있다. 설정 동작들은 시스템 변수 값을 조정하는 것, 플래그 또는 비트를 설정하는 것, 현재 요청의 콘텐츠를 나타내기 위한 임의의 다른 정보를 저장하는 것을 포함할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 사용자의 질문 "우리의 프로젝트의 상태는 어떤가요?" 를 표현하는 텍스트 스트링 또는 오디오 샘플을 저장할 수도 있다. 다양한 실시형태들에서, 컴퓨팅 디바이스는, 상이한 수신자 그룹들에 대한 대답되지 않은 질문 또는 태스크와 같은, 각각의 사용자에 대한 복수의 현재 요청들을 유지하도록 구성될 수도 있다. 예를 들어, 컴퓨팅 디바이스는 사용자의 가족 구성원들에 대한 현재 미해결 질의, 동료들에 대한 현재 태스크, PTT 세션에 조인하기 위한 동기들에 대한 현재 인비테이션 등을 저장할 수도 있다.
블록 406 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 인비테이션 메시지를 복수의 컴퓨팅 디바이스들 (즉, 수신자들의 컴퓨팅 디바이스들) 에 송신할 수도 있다. 인비테이션 메시지는, 제기될 질문 또는 사용자의 목표를 설명하는 텍스트와 같은, 현재 요청의 표현들을 포함할 수도 있다. 예를 들어, 컴퓨팅 디바이스가 서버일 때, 서버는 사용자의 모바일 디바이스로부터의 송신에 있어서 수신되는 초기 요청에 기초하여 인비테이션 메시지들을 수신자 컴퓨팅 디바이스들에 송신할 수도 있다. 다른 예로서, 컴퓨팅 디바이스가 사용자의 모바일 디바이스일 때, 모바일 디바이스는 P2P 통신들 등을 이용하여 인비테이션 메시지들을 인근의 디바이스들에 송신할 수도 있다. 추가로, 인비테이션 메시지는 수신자 컴퓨팅 디바이스들이 응답 메시지들을 컴퓨팅 디바이스에 송신하는데 이용해야 하는 선호된 응답 모드를 포함할 수도 있다. 예를 들어, 인비테이션 메시지는 응답 메시지들이 PTT 애플리케이션, SMS/MMS 텍스트 메시지, 이메일, 또는 다른 메시지 포맷을 통해 송신되어야 하는지 여부를 나타내는 코드, 심볼, 변수, 비트, 또는 다른 정보를 포함할 수도 있다. 선호된 응답 모드는 또한 IP 주소, 전화 번호 등과 같은 목적지 주소들 또는 연락처 정보를 포함할 수도 있다.
다양한 실시형태들에서, 응답 메시지들에 대한 선호된 응답 모드는 보이스 콜 (voice call) 들, GPS 좌표들, 캘린더 이벤트들, 또는 사용자 입력들과 같은, 컴퓨팅 디바이스의 현재 동작들 또는 조건들에 기초하여 컴퓨팅 디바이스에 의해 동적으로 결정될 수도 있다. 예를 들어, 컴퓨팅 디바이스는 로컬로 저장된 캘린더에 나타낸 바와 같이 사용자가 보이스 콜에 참여하고 있을 때 (또는 곧 참여할 것으로 스케줄링될 때) 단지 SMS 텍스트 메시지들만이 응답 메시지들로서 전송되어야 하는 것을 인비테이션 메시지에서 나타낼 수도 있다. 선호된 응답 모드는 시간에 걸쳐 변화할 수도 있고, 이에 따라 하나의 인비테이션 메시지로부터 다음 인비테이션 메시지까지 상이할 수도 있다. 예를 들어, 초기 인비테이션 메시지에서, 컴퓨팅 디바이스는 임의의 타입의 응답 메시지 포맷이 이용될 수도 있음을 나타내는 데이터를 포함할 수도 있지만, (후술되는 바와 같이) 후속의, 업데이팅된 인비테이션 메시지는 사용자가 그/그녀의 차량 내에 있을 때 단지 PTT 애플리케이션 메시지들이 수용가능할 수도 있음을 나타내는 데이터를 포함할 수도 있다. 일 실시형태에서, 요청을 개시하는 사용자 및/또는 컴퓨팅 디바이스의 조건들 또는 상태에 관한 다른 정보, 예컨대 위치 또는 날씨 정보가 인비테이션 메시지 내에 포함될 수도 있다. 인비테이션 메시지는 또한, 수신자 컴퓨팅 디바이스 상에서 실행하는 특정 애플리케이션, 예컨대 PTT 애플리케이션과의 연관성을 나타내는 데이터 (예를 들어, 메타데이터, 헤더 정보 등) 를 포함할 수도 있고, 다른 사용자로부터의 요청의 프레즌스를 나타내는 데이터를 또한 포함할 수도 있다. 예를 들어, 인비테이션 메시지는 요청이 수신되었음을 수신자 컴퓨팅 디바이스가 인지할 수도 있도록 포맷팅될 수도 있다.
컴퓨팅 디바이스는 사용자이름들, 전화 번호들, IP 주소들, 또는 수신된 초기 요청 내에 나타낸 다른 연락처 정보에 기초하여 인비테이션 메시지를 수신자들에 송신할 수도 있다. 예를 들어, 컴퓨팅 디바이스는, PTT 애플리케이션 연락처 리스트와 같은, 로컬로 저장된 주소록에서 또한 상호 참조되는, 수신된 초기 요청 내에 나타낸 사용자이름들과 연관된 모바일 컴퓨팅 디바이스들에게 인비테이션 메시지를 송신할 수도 있다. 일 실시형태에서, 컴퓨팅 디바이스는 또한 송신된 인비테이션 메시지 및/또는 현재 요청을 식별하기 위해, 어레이, 시스템 변수 등과 같은 로컬 데이터 구조 내에 코드들 또는 다른 식별자들을 저장할 수도 있다. 이 저장된 정보는 수신자 컴퓨팅 디바이스들로부터의 응답 메시지들을 식별하기 위해 인커밍 (incoming) 메시지들과 비교될 수도 있다.
인비테이션 메시지는 P2P 기법들, 인터넷 프로토콜들, 및/또는 임의의 다른 송신 수단을 통해 컴퓨팅 디바이스에 의해 송신될 수도 있다. 예를 들어, 컴퓨팅 디바이스는 블루투스 통신 링크를 활용하여 인비테이션 메시지를 제 1 수신자 컴퓨팅 디바이스에 송신할 수도 있고, 셀룰러 네트워크 WAN 을 활용하여 인비테이션 메시지를 제 2 수신자 컴퓨팅 디바이스에 송신할 수도 있다. 추가로, 인비테이션 메시지는 다양한 포맷들, 타입들, 및/또는 구조들로 구성될 수도 있다. 예를 들어, 인비테이션 메시지는 이메일, 수신자 컴퓨팅 디바이스들 상에서 실행하는 소프트웨어 (예를 들어, PTT 애플리케이션) 에 의해 활용되는 사유 메시지, SMS/MMS 텍스트 메시지 등으로서 컴퓨팅 디바이스에 의해 송신될 수도 있다. 일 실시형태에서, 컴퓨팅 디바이스는 중복 메시지들을 상이한 메시지 포맷들로 복수의 컴퓨팅 디바이스들에 송신할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 인비테이션 메시지가 가장 편리한 또는 효율적인 방식으로 수신자 컴퓨팅 디바이스에 의해 수신된다는 것을 보장하기 위해 이메일 및 PTT 애플리케이션 메시지 양쪽으로서 인비테이션 메시지를 제 1 수신자 컴퓨팅 디바이스에 송신할 수도 있다.
다른 실시형태에서, 컴퓨팅 디바이스는 초기 요청의 콘텐츠, 토픽, 또는 목적에 기초하여 인비테이션 메시지를 수신할 수도 있는 수신자 컴퓨팅 디바이스들을 결정할 수도 있다. 다시 말해, 컴퓨팅 디바이스는 요청에 대한 응답들을 요구하는 인비테이션 메시지에 대한 가장 적절한 수신자들을 식별하기 위해 사용자로부터 수신된 초기 요청 내의 텍스트, 오디오, 또는 다른 정보를 프로세싱할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 질문이 작업 프로젝트에 관련되는 것을 결정하기 위해 초기 요청 내의 텍스트 질문에 대해 자연 언어 프로세싱을 수행할 수도 있고, 그에 따라 요청에 응답하기에 적절할 수도 있는 동료들을 사용자의 저장된 연락처 리스트에서 식별할 수도 있다.
블록 408 에서, 컴퓨팅 디바이스의 프로세서는 복수의 컴퓨팅 디바이스들 중 하나 이상으로부터 응답 메시지들을 수신할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 인비테이션 메시지를 수신한 다양한 수신자 컴퓨팅 디바이스들로부터의 인커밍 PTT 애플리케이션 메시지들을 식별하기 위해 인커밍 메시지 버퍼를 모니터링할 수도 있다. 컴퓨팅 디바이스는 인커밍 메시지들이 현재 요청 및 송신된 인비테이션 메시지에 대한 응답 메시지들인지 여부를 결정하기 위해 인커밍 메시지들 내의 데이터를 평가할 수도 있다. 특히, 컴퓨팅 디바이스는, 인커밍 메시지들의 메타데이터 또는 헤더 정보 내의 코드들, 타임스탬프들, 식별자들, 또는 다른 정보를, 현재 요청 및/또는 인비테이션 메시지에 관련된 로컬로 저장된 정보와 비교할 수도 있다. 다른 실시형태에서, 컴퓨팅 디바이스는 인커밍 메시지들의 콘텐츠 프로세싱에 기초하여 인커밍 메시지들이 송신된 인비테이션 메시지에 대응하는 응답 메시지들인 것을 결정할 수도 있다. 예를 들어, 인커밍 이메일은 그 이메일 내의 텍스트의 해석된 의미에 기초하여 인비테이션 메시지에 대한 응답 메시지인 것으로 결정될 수도 있다 (예를 들어, 이메일은 인비테이션 메시지의 요청에 대해 어드레싱되거나, 대답되거나, 또는 팔로우-업될 수도 있다).
블록 410 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들을 평가하여 그 수신된 응답 메시지들이 현재 요청을 만족하는지 여부를 결정할 수도 있다. 컴퓨팅 디바이스는 수신된 응답 메시지들의 의미 및 콘텐츠를 프로세싱하고 해석하기 위해, 자연 언어 프로세싱 및/또는 음성 인식 루틴들과 같은 다양한 프로세싱 루틴들 또는 소프트웨어 명령들을 수행할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 수신된 오디오 응답 메시지들에 대해 음성-텍스트 프로세싱 (speech-to-text processing) 을 그리고 또한 획득된 텍스트에 대해 자연 언어 프로세싱 루틴들을 수행할 수도 있다. 다른 예로서, 컴퓨팅 디바이스는 수신된 이메일 응답 메시지들의 텍스트의 문법적 구조, 구두점, 어법, 관용적 함축들, 문맥상의 의미들, 및 다른 정보를 분석하기 위한 동작들을 수행할 수도 있다. 다른 예로서, 컴퓨팅 디바이스는 수신자의 수신된 오디오 응답 메시지로부터의 의미를 추론하기 위해 단어들의 음고 (pitch), 억양, 타이밍, 및 발음을 평가할 수도 있다.
컴퓨팅 디바이스는 응답 메시지가 실제로 현재 요청에 대한 적절한 대답을 제공하는지 여부를 결정하기 위해 수신된 응답 메시지의 추론된 의미를 인비테이션 메시지에 의해 나타낸 현재 요청과 비교할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 현재 요청이 동료들로부터 미팅 시간을 요구하는 질문을 포함할 때 응답 메시지가 시간 (예를 들어, "정오") 을 포함하는지 여부를 평가할 수도 있다. 다른 예로서, 현재 요청이 전화 번호를 요구할 때, 컴퓨팅 디바이스는 실제로 전화 번호일 수도 있는 10 자릿수들을 표현하는 정보를 응답 메시지가 포함하는지 여부를 결정하기 위해 응답 메시지를 평가할 수도 있다. 다른 예로서, 컴퓨팅 디바이스는 질문을 포함하는 현재 질의에 응답하여 선언 (declaration) 들을 제공하는 것 대신에 수신된 응답 메시지들이 팔로우-업 질문들을 제기하는 것 (예를 들어, 질문 마크들로 끝나는 텍스트를 포함하는 것 등) 을 검출할 수도 있다. 실례로서: 컴퓨팅 디바이스는 제 1 질문 "누가 사무실에 있습니까?" 를 제기하는 현재 요청이 제 2 질문 "당신이 이야기하고 있는 것은 어떤 사무실입니까?" 를 포함하는 응답 메시지에 의해 만족되지 않는다고 결정할 수도 있다. 일 실시형태에서, 컴퓨팅 디바이스는 액션을 수행하라는 수신자들에 대한 현재 요청이 성공적으로 완료되었는지 여부를 결정하기 위해 응답 메시지를 평가할 수도 있다. 예를 들어, 현재 요청이 사무실로부터 문서를 회수해 오라는 동료들에 대한 지시일 때, 컴퓨팅 디바이스는 사무실 문이 잠겨 있음을 나타내는 응답 메시지 (예를 들어, "죄송합니다, 문이 잠겨 있어서 제가 들어갈 수 없습니다.") 가 현재 요청을 만족시키지 않는다고 결정할 수도 있다.
그 평가들에 기초하여, 결정 블록 412 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청이 수신된 응답 메시지들에 의해 완전히 만족되는지 여부를 결정할 수도 있다. 현재 요청이 수신된 응답 메시지들에 의해 완전히 만족 (또는 대답) 되지 않는다고 결정되는 경우 (즉, 결정 블록 412 = "아니오"), 블록 414 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청의 만족되지 않은 (또는 대답되지 않은) 부분들에 대응하는 팔로우-업 요청을 생성할 수도 있다. 다시 말해, 팔로우-업 요청은 수신자들로부터의 부가적인 정보, 액션들, 또는 응답들을 요구하기 위한 부가적인 질의들, 스테이트먼트들, 및/또는 명령들을 포함할 수도 있다. 예를 들어, 송신된 인비테이션 메시지에 의해 나타낸 현재 요청이 2-부분 질문 (예를 들어, "누가 사무실에 있습니까 그리고 당신은 얼마나 오래 주위에 있을 겁니까?") 을 포함하였고 컴퓨팅 디바이스가 응답 메시지가 단지 일부에 대답했다고 결정할 때 (예를 들어, "제가 여기에 있습니다."), 컴퓨팅 디바이스는 누락된 대답을 요구하는 수신자에 대한 팔로우-업 질문 (예를 들어, "그럼, 당신은 얼마나 오래 거기에 있을 겁니까?") 을 생성할 수도 있다. 다른 예로서, 현재 요청이 태스크 (예를 들어, "제 사무실에서 파일을 가져오십시오.") 를 포함하였고 컴퓨팅 디바이스가 수신된 응답 메시지가 태스크를 만족시키지 않았다고 결정할 때 (예를 들어, "죄송합니다만, 사무실이 잠겨 있습니다."), 컴퓨팅 디바이스는 팔로우-업 태스크 (예를 들어, "그럼, 사무실 열쇠를 갖고 있을 사무실 관리자에게 연락한 후에, 파일을 가져오십시오.") 를 생성할 수도 있다.
블록 416 에서, 컴퓨팅 디바이스의 프로세서는, 예컨대 현재 요청을 나타내는 시스템 변수 또는 다른 저장된 정보를 업데이팅하는 것에 의해, 팔로우-업 요청으로서 현재 요청을 설정할 수도 있다. 옵션적 블록 418 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들에 기초하여 부분적 만족을 나타내는 메시지를 사용자 디바이스에 송신할 수도 있다. 예를 들어, 컴퓨팅 디바이스가 응답 메시지들이 수신되었지만 현재 요청에 의해 제기된 질문에 대한 부분적인 대답들만을 단지 포함하였다고 결정할 때, 부분적인 대답들이 디스플레이 상에 렌더링되거나 또는 통신물 (예를 들어, 이메일, SMS/MMS 텍스트 메시지, 오디오 메시지, 또는 PTT 애플리케이션 메시지) 로서 송신될 수도 있다. 다양한 실시형태들에서, 사용자 디바이스는 컴퓨팅 디바이스 그 자체 (예를 들어, 컴퓨팅 디바이스는 디스플레이 상에 메시지를 렌더링할 수도 있음), 수신자 컴퓨팅 디바이스, 또는 서버일 수도 있다. 컴퓨팅 디바이스는 그 후에 블록 406 에서의 동작들로 계속되어 새로운 현재 요청을 나타내는 후속 (또는 업데이팅된) 인비테이션 메시지들을 송신할 수도 있다.
수신된 응답 메시지들에 의해 현재 요청이 완전히 만족된다고 결정되는 경우 (즉, 결정 블록 412 = "예"), 블록 420 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 디스플레이를 클린-업 (예를 들어, 제거) 하라고 디바이스들에 명령하는 데이터를 포함하는 소거 메시지를 복수의 컴퓨팅 디바이스들에 송신할 수도 있다. 다시 말해, 컴퓨팅 디바이스는 인비테이션 메시지를 수신한 수신자 컴퓨팅 디바이스들로 하여금 이들의 각각의 디스플레이들을 제거하거나, 삭제하거나, 숨기거나, 또는 그렇지 않으면 조정하는 클린-업 동작들을 수행하게 하는 메시지를 송신할 수도 있다. 예를 들어, 소거 메시지는 현재 요청과 연관된 그래픽 엘리먼트 및/또는 데이터베이스에서의 엔트리를 자동으로 삭제하거나, 숨기거나, 또는 조정하도록 수신자 컴퓨팅 디바이스 상에서 실행하는 애플리케이션에 의해 이용될 수도 있는 코드, 스크립트, 또는 다른 데이터를 포함할 수도 있다. 이러한 방법으로, 수신자 컴퓨팅 디바이스들은 수신자 사용자들로 하여금 이미 만족된 현재 요청에 대해 작용하게 하거나 또는 그렇지 않으면 응답하게 하는 표시자들을 제거하라고 명령받을 수도 있다. 다양한 실시형태들에서, 블록 420 에서의 동작들로 송신된 소거 메시지들은 또한, 현재 요청의 완전한 만족에 관련된 대답들 또는 다른 정보를 포함할 수도 있다. 예를 들어, 모든 수신자 컴퓨팅 디바이스들은 현재 요청을 "완료된" 것 또는 "충족된" 것으로서 마킹하기 위한 코드와 함께 현재 요청의 질문에 대한 대답을 수신할 수도 있다.
옵션적 블록 422 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청이 완전히 만족됨을 나타내기 위해 로컬 데이터에 대한 클린-업 동작들을 자동으로 수행할 수도 있다. 옵션적 블록 422 에서의 동작들은 다양한 디바이스들에게 제공될 수도 있는 현재 요청과 연관된 데이터를 컴퓨팅 디바이스가 저장하도록 구성될 때 활용될 수도 있다. 예를 들어, 컴퓨팅 디바이스는 현재 요청과 연관된 그래픽 엘리먼트들 및/또는 데이터베이스에서의 엔트리들을 제거하거나, 숨기거나, 또는 조정할 수도 있다. 일 실시형태에서, 컴퓨팅 디바이스가 서버일 때, 옵션적 블록 422 에서의 동작들은 수신자 컴퓨팅 디바이스들에 의해 주기적으로 푸시되거나 또는 다운로드되는 업데이팅 정보를 포함할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 현재 요청에 대응하는 상태 데이터를 무효로 하거나, 삭제하거나, 또는 그렇지 않으면 제로-아웃 (zero-out) 시킬 수도 있어서, 그에 의해 현재 요청이 수신자 컴퓨팅 디바이스 사용자들에게 디스플레이되거나 또는 그렇지 않으면 나타내는 것을 불가능하게 한다. 블록 424 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들에 기초하여 요청이 완전히 만족됨을 나타내는 메시지를 사용자 디바이스에 송신할 수도 있다. 예를 들어, 컴퓨팅 디바이스가 응답 메시지들이 수신되었고 현재 요청에서 제기된 질문에 완전히 대답하였다고 결정할 때, 대답이 디스플레이 상에 렌더링되거나 또는 통신물 (예를 들어, 이메일, SMS/MMS 텍스트 메시지, 오디오 메시지, 또는 PTT 애플리케이션 메시지) 로서 송신될 수도 있다.
도 4b 는 사용자가 원하는 응답들 (예를 들어, 정보, 태스크들, 액션들 등) 을 요구하기 위해 컴퓨팅 디바이스가 사용자로부터의 요청들에 기초한 인비테이션 메시지들을 수신자 컴퓨팅 디바이스들에 송신하기 위한 일 실시형태의 방법 (450) 을 예시한다. 방법 (450) 이 인비테이션 메시지들에 응답한 수신자 컴퓨팅 디바이스와 응답하지 않은 수신자 컴퓨팅 디바이스 사이를 구별하기 위한 동작들을 포함할 수도 있어서, 그에 의해 컴퓨팅 디바이스가 오리지널 요청에 응답하지 않은 이들 디바이스들에만 업데이팅된 인비테이션 메시지들을 송신하는 것을 가능하게 한다는 점을 제외하고는, 방법 (450) 은 상술된 방법 (400) 과 유사하다. 이러한 방법으로, 요청에 이미 참여하였거나 또는 이미 표현된 수신자들에 대한 중복 메시지들을 피하게 할 수도 있다. 예를 들어, 사용자가 그의 작업 동료들로부터 어떤 정보를 원할 때 (예를 들어, "샌드위치를 가져오는 그 사람의 이름이 무엇입니까?"), 결정적이 아닌 정보 (예를 들어, "모르겠어요", "아마도 'S' 로 시작합니다") 로 답하는 인비테이션 메시지의 수신자들은 다시 연락받지 않을 수도 있다.
상술된 바와 같이, 블록 402 에서, 컴퓨팅 디바이스의 프로세서는 초기 요청을 수신할 수도 있다. 블록 404 에서, 컴퓨팅 디바이스의 프로세서는 초기 요청으로서 현재 요청을 설정할 수도 있다. 블록 406 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 인비테이션 메시지를 복수의 컴퓨팅 디바이스들 (즉, 수신자 컴퓨팅 디바이스들) 에 송신할 수도 있다. 블록 408 에서, 컴퓨팅 디바이스의 프로세서는 복수의 컴퓨팅 디바이스들 중 하나 이상으로부터 응답 메시지들을 수신할 수도 있다. 블록 410 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들을 평가하여 그 수신된 응답 메시지들이 현재 요청을 만족하는지 여부를 결정할 수도 있다.
그 평가들에 기초하여, 결정 블록 412 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청이 수신된 응답 메시지들에 의해 완전히 만족되는지 여부를 결정할 수도 있다. 현재 요청이 수신된 응답 메시지들에 의해 완전히 만족 (또는 대답) 되지 않는다고 결정되는 경우 (즉, 결정 블록 412 = "아니오"), 블록 414 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청의 만족되지 않은 (또는 대답되지 않은) 부분들에 대응하는 팔로우-업 요청을 생성할 수도 있다. 블록 416 에서, 컴퓨팅 디바이스의 프로세서는, 예컨대 현재 요청을 나타내는 시스템 변수 또는 다른 저장된 정보를 업데이팅하는 것에 의해, 팔로우-업 요청으로서 현재 요청을 설정할 수도 있다. 옵션적 블록 418 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들에 기초하여 부분적 만족을 나타내는 메시지를 사용자 디바이스에 송신할 수도 있다.
옵션적 블록 452 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답 메시지들을 송신한 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 1 세트를 식별할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 현재 요청에 대해 수신된 응답 메시지들과 연관된 수신자 컴퓨팅 디바이스들의 식별자들의 리스트를 식별할 수도 있다. 옵션적 블록 454 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 디스플레이를 클린-업 (예를 들어, 제거) 하라고 디바이스들의 제 1 세트에 명령하는 데이터를 포함하는 소거 메시지를 디바이스들의 제 1 세트에 송신할 수도 있다. 예를 들어, 디바이스들의 제 1 세트가 현재 요청에 대답하지 않은 응답 메시지들 (예를 들어, "답을 모르겠습니다, 죄송합니다.") 과 연관될 때, 컴퓨팅 디바이스는 현재 요청에 관한 추가 통신들로부터 이들 디바이스들을 제거하고, 이들의 디스플레이들로부터 현재 요청을 자동으로 숨기거나 또는 삭제하라고 디바이스들에 명령할 수도 있다.
일 실시형태에서, 컴퓨팅 디바이스는 또한 디바이스들의 제 1 세트로부터의 응답 메시지들의 수신에 응답하여 디바이스들의 제 1 세트에 관련된 로컬로 저장된 데이터에 대한 자동 클린-업 동작들을 수행하도록 구성될 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스가 현재 요청이 그 수신자에 대해 유효하지 않음을 나타내는 응답 메시지를 송신할 때, 컴퓨팅 디바이스는 수신자에 대한 임의의 저장된 통지들을 제거할 수도 있거나 및/또는 데이터 테이블을 업데이팅하여 수신자가 더 이상 현재 요청에 대한 수신자들의 리스트 상에 없음을 나타낼 수도 있다. 이것은 인비테이션 메시지가 수신자 디바이스에 잘못 전송되었음 (예를 들어, 수신자가 비즈니스-관련 질문에 대한 적절한 연락처가 아닌 것, 수신자가 더 이상 현재 요청에 관련된 빌딩에 있지 않는 것 등) 을 나타내는 응답 메시지들이 수신될 때 이로울 수도 있다.
블록 456 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답 메시지들을 송신하지 않았던 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 2 세트를 식별할 수도 있고, 블록 458 에서 현재 요청에 대한 응답들을 요구하는 업데이팅된 인비테이션 메시지를 디바이스들의 제 2 세트에 송신할 수도 있다. 예를 들어, 업데이팅된 인비테이션 메시지는 연락처들이 어떤 정보를 알고 있든지 간에 아직 응답하지 않았던 이들 연락처들에게 전송될 수도 있다. 부가적으로, 업데이팅된 인비테이션 메시지는 디바이스들의 제 1 세트로부터 이미 수신된 응답 메시지들에 기초하여 결정된 부가적인 정보 또는 관련있는 결론들을 포함할 수도 있다. 예를 들어, 업데이팅된 인비테이션 메시지는 부분적인 응답들을 언급하고 현재 요청을 반복할 수도 있다 (예를 들어, "여러분, 우리는 샌드위치 가게의 사람의 이름이 'S' 로 시작하는 이름으로 적는 사람인 것으로 좁혀졌지만 여전히 그 이름을 모릅니다. 도와주세요!"). 컴퓨팅 디바이스는 그 후에 블록 408 에서의 동작들로 계속되어 업데이팅된 인비테이션 메시지에 응답하는 후속 응답 메시지들을 수신할 수도 있다.
수신된 응답 메시지들에 의해 현재 요청이 완전히 만족된다고 결정되는 경우 (즉, 결정 블록 412 = "예"), 블록 420 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 디스플레이를 클린-업 (예를 들어, 제거) 하라고 디바이스들에 명령하는 데이터를 포함하는 소거 메시지를 복수의 컴퓨팅 디바이스들에 송신할 수도 있다. 옵션적 블록 422 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청이 완전히 만족됨을 나타내기 위해 로컬 데이터에 대한 클린-업 동작들을 자동으로 수행할 수도 있다. 블록 424 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들에 기초하여 요청이 완전히 만족됨을 나타내는 메시지를 사용자 디바이스에 송신할 수도 있다.
도 4c 는 사용자가 원하는 응답들 (예를 들어, 정보, 태스크들, 액션들 등) 을 요구하기 위해 컴퓨팅 디바이스가 사용자로부터의 요청들에 기초한 인비테이션 메시지들을 수신자 컴퓨팅 디바이스들에 송신하기 위한 일 실시형태의 방법 (470) 을 예시한다. 방법 (470) 이 수신자들이 이들의 응답 메시지들에 기초하여 현재 요청 (예를 들어, 질의) 을 조정하는 것을 가능하게 하는 동작들을 포함할 수도 있다는 점을 제외하고는, 방법 (470) 은 상술된 방법 (400) 과 유사하다. 예를 들어, 사무실로부터 파일을 가져오라는 동료들에 대한 요청에 응답하여, 응답 메시지는 질문 "사무실 열쇠가 어디에 있습니까?" 를 포함할 수도 있다. 이러한 응답들에 기초하여, 컴퓨팅 디바이스는 이전 응답들에 의해 발생된 질문들을 포함하도록 요청들을 조정할 수도 있다.
상술된 바와 같이, 블록 402 에서, 컴퓨팅 디바이스의 프로세서는 초기 요청을 수신할 수도 있다. 블록 404 에서, 컴퓨팅 디바이스의 프로세서는 초기 요청으로서 현재 요청을 설정할 수도 있다. 블록 406 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 인비테이션 메시지를 복수의 컴퓨팅 디바이스들 (즉, 수신자 컴퓨팅 디바이스들) 에 송신할 수도 있다. 블록 408 에서, 컴퓨팅 디바이스의 프로세서는 복수의 컴퓨팅 디바이스들 중 하나 이상으로부터 응답 메시지들을 수신할 수도 있다.
결정 블록 472 에서, 컴퓨팅 디바이스의 프로세서는 부가적인 요청(들) (예를 들어, 질문들, 태스크들 등) 이 수신된 응답 메시지들에 포함되는지 여부를 결정할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 구두점 또는 음성 억양에 기초하여 질문들 (예를 들어, "제가 도울 수 있습니다만, 당신이 사무실 문 열쇠를 갖고 있습니까?") 을 검출하기 위해 텍스트 또는 오디오 응답들을 분석할 수도 있다. 다른 예로서, 컴퓨팅 디바이스는 응답자가 현재 요청 (예를 들어, "저는 저를 위해 사무실을 열 누군가가 필요합니다.") 을 만족시키기 위해 그/그녀가 부가적인 정보 또는 지원을 필요로 함을 나타내는지 여부를 결정하기 위해 수신된 PTT 메시지에 대한 자연 언어 프로세싱을 수행할 수도 있다. 부가적인 요청(들) 이 수신된 응답 메시지들에 있다고 결정되는 경우 (즉, 결정 블록 472 = "예"), 블록 474 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들로부터의 부가적인 요청(들) 을 포함하도록 현재 요청을 조정할 수도 있다. 다시 말해, 컴퓨팅 디바이스는 현재 요청에 부가적인 제한들, 질문들, 태스크들 등을 첨부할 수도 있다. 예를 들어, 사무실 문이 잠겨 있음을 나타내는 응답 메시지들에 기초하여, 컴퓨팅 디바이스는 누군가가 사무실 문을 열기 위한 태스크들을 또한 포함하도록 사무실로부터 파일을 회수해 오라는 동료들에 대한 현재 요청을 조정할 수도 있다. 이러한 방법으로, 현재 요청에 의해 요구된 질의들, 질문들, 태스크들, 및 다른 정보의 범위가 응답들에 의해 수정될 수도 있다.
실례로서: 사용자로부터의 초기 요청은 사무실 내의 컴퓨터를 키기 (turn on) 위한 동료들에 대한 태스크일 수도 있다. 컴퓨팅 디바이스에 의해 송신된 관련 인비테이션 메시지에 응답하여 제 1 응답 메시지는 사무실이 잠겨져 있어서 열쇠가 필요함을 나타낼 수도 있다 (예를 들어, "누가 사무실 열쇠를 가지고 있습니까?"). 제 2 응답 메시지는 수신자가 컴퓨터를 어떻게 키는지를 모르지만, 그는 다른 사람들이 사무실에 들어오게 할 수 있음을 나타낼 수도 있다 (예를 들어, "죄송합니다, 저는 컴퓨터에 관해 아무것도 모릅니다만, 누군가가 사무실 열쇠를 필요로 한다면 제가 그 사무실 열쇠를 갖고 있습니다."). 컴퓨팅 디바이스는 그 후에 사무실을 여는 것과 컴퓨터 파일을 회수해 오는 것 양쪽 모두를 하라고 동료들에게 요구하도록 현재 요청을 조정할 수도 있다 (예를 들어, "톰, 당신이 키를 갖고 있으므로, 사무실에서 잭을 만나서 그가 컴퓨터를 킬 수 있게 해주십시오.").
어떠한 부가적인 요청(들) 도 수신된 응답 메시지들에 있지 않거나 (즉, 결정 블록 472 = "아니오") 또는 블록 474 에서의 동작들이 수행되었다고 결정되는 경우, 블록 410 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들을 평가하여 수신된 응답 메시지들이 현재 요청을 만족시키는지 여부를 결정할 수도 있다. 그 평가들에 기초하여, 결정 블록 412 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청이 수신된 응답 메시지들에 의해 완전히 만족되는지 여부를 결정할 수도 있다. 현재 요청이 수신된 응답 메시지들에 의해 완전히 만족 (또는 대답) 되지 않는다고 결정되는 경우 (즉, 결정 블록 412 = "아니오"), 블록 414 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청의 만족되지 않은 (또는 대답되지 않은) 부분들에 대응하는 팔로우-업 요청을 생성할 수도 있다. 블록 416 에서, 컴퓨팅 디바이스의 프로세서는, 예컨대 현재 요청을 나타내는 시스템 변수 또는 다른 저장된 정보를 업데이팅하는 것에 의해, 팔로우-업 요청으로서 현재 요청을 설정할 수도 있다. 옵션적 블록 418 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들에 기초하여 부분적 만족을 나타내는 메시지를 사용자 디바이스에 송신할 수도 있다. 컴퓨팅 디바이스는 그 후에 블록 406 에서의 동작들로 계속되어 새로운 현재 요청을 나타내는 후속 (또는 업데이팅된) 인비테이션 메시지들을 송신할 수도 있다.
수신된 응답 메시지들에 의해 현재 요청이 완전히 만족된다고 결정되는 경우 (즉, 결정 블록 412 = "예"), 블록 420 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 디스플레이를 클린-업 (예를 들어, 제거) 하라고 디바이스들에 명령하는 데이터를 포함하는 소거 메시지를 복수의 컴퓨팅 디바이스들에 송신할 수도 있다. 옵션적 블록 422 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청이 완전히 만족됨을 나타내기 위해 로컬 데이터에 대한 클린-업 동작들을 자동으로 수행할 수도 있다. 블록 424 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들에 기초하여 요청이 완전히 만족됨을 나타내는 메시지를 사용자 디바이스에 송신할 수도 있다.
도 4d 는 사용자가 원하는 응답들 (예를 들어, 정보, 태스크들, 액션들 등) 을 요구하기 위해 컴퓨팅 디바이스가 사용자로부터의 요청들에 기초한 인비테이션 메시지들을 수신자 컴퓨팅 디바이스들에 송신하기 위한 일 실시형태의 방법 (490) 을 예시한다. 방법 (490) 이 유효한 것이 끝난 현재 요청을 종료시키기 위한 동작들을 포함할 수도 있다는 점을 제외하고는, 방법 (490) 은 상술된 방법 (400) 과 유사하다. 예를 들어, 현재 요청이 4:00PM 비행을 위해 사용자를 공항에 데려다줄 것을 자청하라는 가족 구성원들에 대한 요청을 포함하고 현재 시간이 5:00PM 일 때, 현재 요청은 더 이상 유효하지 않을 수도 있어서 그에 따라 수신자 컴퓨팅 디바이스 디스플레이들로부터 자동으로 제거될 수도 있다. 다시 말해, 충족된 (또는 만족된) 요청들의 핸들링에 부가적으로, 방법 (490) 은, 특히 어떠한 관련된 응답들도 컴퓨팅 디바이스에서 수신된 적이 없었을 때, 무효하거나, 무관하거나, 만료되거나, 및/또는 무의미한 요청들에 관련된 자동 클린-업 동작들을 트리거링하도록 수행될 수도 있다.
상술된 바와 같이, 블록 402 에서, 컴퓨팅 디바이스의 프로세서는 초기 요청을 수신할 수도 있다. 초기 요청은, 터치 입력들을 통해 애플리케이션에 입력되는 텍스트 질문서와 같은, 사용자로부터의 질의 또는 질문일 수도 있다. 블록 404 에서, 컴퓨팅 디바이스의 프로세서는 초기 요청으로서 현재 요청을 설정할 수도 있다. 블록 406 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 인비테이션 메시지를 복수의 컴퓨팅 디바이스들 (즉, 수신자 컴퓨팅 디바이스들) 에 송신할 수도 있다.
블록 491 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청의 유효화 (validation) 에 있어서의 이용을 위한 정보를 데이터 소스들, 예컨대 시간 측정 유닛, 위치 정보의 소스 (예를 들어, GPS 유닛 또는 위치 정보 서비스를 제공하는 다른 유닛, 모듈 또는 서비스), 로컬 정보 데이터베이스, 및/또는 인터넷 리소스로부터 획득할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 로컬로 저장된 데이터 (예를 들어, 저장된 캘린더, 주소록, 이메일 클라이언트에 관련된 데이터, 저장된 텍스트 메시지들, 소셜 네트워킹 프로파일 데이터 등) 에 액세스할 수도 있거나 및/또는 인터넷을 통해 다양한 웹사이트들로부터 데이터를 취출하기 위한 동작들을 수행할 수도 있다. 관련있는 정보는 또한 터치스크린 상의 터치 입력들과 같은 사용자 입력들을 통해 획득될 수도 있다. 추가로, 예컨대 현재 요청에 대한 질문, 스테이트먼트, 또는 다른 정보의 의미를 결정하기 위해 이메일 또는 SMS 텍스트 메시지에 대한 자연 언어 프로세싱 루틴들을 수행하는 것에 의해, 현재 요청 및/또는 인비테이션 메시지의 콘텐츠를 프로세싱하는 것에 기초하여 정보가 획득될 수도 있다. 예를 들어, 현재 요청이 "누가 정오에 사무실에 있을 겁니까?" 를 요구할 때, 컴퓨팅 디바이스는 시간 측정 유닛 (예를 들어, 시스템 클록 등) 으로부터 현재 시간을 획득하여, 그 요청이 여전히 현재 시간에 기초하여 유효한지 여부를 결정할 수도 있다. 이 예에서, 컴퓨팅 디바이스는 정오의 얼마간의 시간 후에 그 시간까지 요청이 더 이상 관련있지 않을 것임에 따라 요청을 자동으로 클린 업 또는 삭제시킬 수도 있다.
일 실시형태에서, 컴퓨팅 디바이스는 현재 요청에 기초하여 자연 언어 또는 키워드 질의들을 서브밋 (submit) 하고 현재 요청의 계속된 관련성을 유효화 (validating) 또는 결정함에 있어서 이용될 수도 있는 데이터를 취출하기 위해 Google®, Bing® 등과 같은 웹 검색 형태를 활용하도록 구성될 수도 있다. 예를 들어, 현재 요청이 스포츠 팀에 관한 견해들 (예를 들어, "X 팀이 그들의 코치를 해고해야 한다고 누가 생각하니?") 에 대해 친구들 (즉, 수신자들) 에게 요구할 때, 컴퓨팅 디바이스는 스포츠 팀에 관한 키워드들 (예를 들어, "코치", "해고", "X 팀" 등) 을 이용하여 인터넷 검색을 서브밋하고 현재 요청에 관련있는 임의의 검색 결과들 (예를 들어, 팀 또는 코치에 관한 기사들 등) 을 평가할 수도 있다. 이 실시형태에서, 컴퓨팅 디바이스는, 예컨대 소스 웹사이트들을 알고 있는 또는 신뢰된 웹사이트 주소들과 비교하는 것에 의해, 인터넷 검색들을 통해 획득된 임의의 데이터의 신뢰성을 가늠하기 위해 임의의 검색 결과들을 프로세싱하기 위한 부가적인 동작들을 수행할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 스포츠 뉴스 웹사이트 또는 스포츠 팀 자체의 공식 웹사이트와 같은 검증된 스포츠 소스들로부터 유래한 스포츠 팀에 관련된 데이터에 대한 기사들을 단지 분석할 수도 있다. 일 실시형태에서, 컴퓨팅 디바이스는 현재 요청의 유효성을 결정하기 위해 평가될 수도 있는 뉴스 피드들 또는 다른 라이브 데이터를 다운로드할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 가까운 미래에 일어날 축구 경기에 관련된 현재 요청 내의 언어의 해석에 응답하여 디지털 텔레비전 가이드들, 및/또는 뉴스 브로드캐스트들에 액세스하거나 및/또는 이들을 다운로드할 수도 있다.
결정 블록 492 에서, 컴퓨팅 디바이스의 프로세서는, 예컨대 웹 검색들로부터 획득된 정보를 이용하는 것에 의해, 현재 요청이 여전히 유효한지 여부를 결정할 수도 있다. 다시 말해, 컴퓨팅 디바이스는 현재 요청으로 인비테이션 메시지를 수신했을 수도 있는 수신자 컴퓨팅 디바이스들에 의해 현재 요청이 적절히 만족 또는 대답되는 것이 불가능하거나 또는 그렇지 않으면 고려할 가치가 없는지 여부를 결정하기 위해 현재 요청에 대한 웹 검색들로부터 획득된 정보를 평가할 수도 있다. 다시 말해, 컴퓨팅 디바이스는 현재 요청에 포함된 질문들 또는 태스크들의 조건들 또는 상세들을 평가하여 사용자가 요청이 만족될 필요가 여전히 있을 수도 있는지 여부를 결정할 수도 있다. 예를 들어, 제기된 질문이 현재 고려할 가치가 없거나 또는 대답이 현재 공개된 지식 (public knowledge) 임을 웹 검색이 밝히는 경우, 컴퓨팅 디바이스는 현재 요청이 더 이상 유효하지 않다고 결론내릴 수도 있어서, 수신자 컴퓨팅 디바이스들에서 자동 클린-업 동작들이 수행되게 한다 (예를 들어, "만료된" 표시자를 디스플레이하게 하는 것 등).
결정 블록 492 에서의 동작들에서, 컴퓨팅 디바이스는 요청, 인비테이션 메시지들, 및/또는 응답 메시지들 내의 언어 또는 문맥상의 정보를 해석할 수도 있고, 요청들이 여전히 프레시한지 또는 그렇지 않으면 유효한지 여부를 결정 (또는 추론) 하기 위해 획득된 정보와 비교될 용어, 코드들, 및/또는 심볼들을 식별할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 사용자에 관련된 로컬로 저장된 또는 액세스가능한 데이터, 예컨대 저장된 캘린더 (예를 들어, 비즈니스 일정 노트 (business appointment book) 등) 를 평가하여, 곧 있을 미팅에 대해 액티브한 캘린더 이벤트가 존재할 때 그 미팅에 관련된 현재 요청이 여전히 유효하다고 결정할 수도 있다. 다른 예로서, 컴퓨팅 디바이스는 "해제" 기능에 대응하는 PTT 애플리케이션 내의 그래픽 엘리먼트 상의 터치 입력과 같은, 후속하여 수신된 사용자 입력이, 현재 요청이 더 이상 유효하지 않음 또는 사용자가 더 이상 현재 요청에 대한 만족을 원하지 않음을 나타낸다고 결정할 수도 있다.
다양한 실시형태들에서, 컴퓨팅 디바이스는 유효성 결정들을 행할 때 현재 요청 내에 포함된 또는 내포된 시간-민감성 (또는 시간-기반) 조건들 또는 팩터 (factor) 들을 활용할 수도 있다. 특히, 컴퓨팅 디바이스는 그의 언어 (예를 들어, 시, 일, 주, 월 등에 대한 구두 (spoken) 또는 텍스트 레퍼런스) 에 따라 현재 요청이 날짜 또는 시각에 관련있거나 또는 의존하는지 여부를 결정할 수도 있고, 획득된 정보 (예를 들어, 시스템 클록으로부터의 현재 시각 등) 로부터 현재 시간 데이터를 비교하여 현재 요청이 여전히 유효한지 여부를 결정할 수도 있다. 예를 들어, 소정 시각에 앞서 요청이 정보를 요구한다는 것 (예를 들어, "오늘 아침 몇 시에 미팅을 시작할 겁니까?") 과 시각이 이미 지나갔다는 것 (예를 들어, 현재 시간이 이미 2:00PM 임) 양쪽 모두의 결정에 응답하여, 컴퓨팅 디바이스는 요청이 무효하다고 결정할 수도 있어서, 수신자 컴퓨팅 디바이스들에서 자동 클린-업 동작들이 수행되게 한다 (예를 들어, "만료된" 표시자를 디스플레이하는 것 등). 다른 예로서, 현재 요청이 "오늘 저와 점심 먹으러 가기를 원하는 사람 있습니까?" 를 요구할 때, 컴퓨팅 디바이스는 현재 시간이 통상적인 점심 시간을 지났다고 결정할 때 (예를 들어, 현재 정오를 수 분/시간 지남) 현재 요청이 무효하다고 결정할 수도 있다. 이러한 시간-민감성 조건들은, 최종 시각 (예를 들어, 1:00PM 등) 과 같은, 명시적 타임라인들 또는 엔드 포인트들을 포함하지 않을 수도 있지만, 그 대신에 제약을 두지 않은 이벤트에 관련될 수도 있다. 예를 들어, 친구들에게 "오늘 밤에 큰 축구 경기에서 누가 이길까?" 를 요구하는 현재 요청은, 축구 경기들이 종종 이들의 스케줄링된 종료 시간들을 지나 계속되므로, 불명확한 기간 동안 유효할 수도 있다. 이러한 방법으로, 컴퓨팅 디바이스는 요청의 시간-기반 품질, 특성, 질문, 또는 다른 엘리먼트가 응답 메시지들 없이 시간에 걸쳐 소극적으로 해소되었는지 여부에 기초하여 요청들을 무효화하거나 또는 그렇지 않으면 클로징하도록 구성될 수도 있다.
일 실시형태에서, 유효성 결정들은, 수신된 초기 요청 및/또는 다른 사용자 입력들 내에 포함된 것과 같은, 현재 요청과 연관된 생존 시간 (time-to-live; TTL) 정보를 활용할 수도 있다. 예를 들어, 초기 요청은 컴퓨팅 디바이스가 응답 메시지들을 수신하고 현재 요청을 만족시키는 것을 계속할 수도 있는 초, 분, 일 등의 프레시니스 임계치 또는 양을 포함할 수도 있다. 다른 예로서, (예를 들어, 터치 입력 등을 통한) 사용자-정의된 TTL 조건은 요청을 만족시키는 임의의 응답 메시지의 수신에 앞서 만료될 수도 있어서, 컴퓨팅 디바이스로 하여금 요청이 더 이상 유효하지 않다고 (예를 들어, "만료되었다고") 결정하게 한다.
다양한 실시형태들에서, 컴퓨팅 디바이스는 컴퓨팅 디바이스가 유효성 결정들을 행할 때 요청이 관련성을 유지하는지 여부를 결정하는 것을 가능하게 하는 다양한 데이터 소스들로부터 획득된 정보에 대한 현재 요청 내에 포함된 관련성, 및 문맥상의 조건들 또는 팩터들을 평가할 수도 있다. 예를 들어, 친구들에게 "그 팀이 그들의 코치를 해고할 것이라고 누가 생각하니?" 를 요구하는 현재 요청의 언어 분석에 기초하여, 컴퓨팅 디바이스는 자동화된 인터넷 검색들 및/또는 뉴스 피드들을 통해 획득된 뉴스 기사들 또는 보도 자료들 내의 팀 및/또는 코치에 관한 정보를 비교하여, 이미 해고된 코치가 새로운 계약서에 이미 서명했는지 여부 등을 결정할 수도 있다.
다양한 실시형태들에서, 컴퓨팅 디바이스는 유효성 결정들을 행할 때 현재 요청의 위치-기반 조건들 또는 팩터들을 활용할 수도 있다. 특히, 컴퓨팅 디바이스는 현재 요청이 위치에 관련되거나 또는 의존하는지 여부를 결정할 수도 있고, 이 결정은 요청의 언어 (예를 들어, 거리 주소, 알려진 위치 이름, GPS 좌표들 등에 대한 구두 또는 텍스트 레퍼런스) 및 요청과 연관된 다른 데이터 (예를 들어, 사용자-정의된 GPS 마커 또는 다른 지리적 포지셔닝 정보) 에 기초하여 행해진다. 컴퓨팅 디바이스는 위치의 소스로부터 획득된 정보 (예를 들어, 컴퓨팅 디바이스 내의 GPS 유닛으로부터, 또는 GPS 를 이용하지 않는 위치 정보 소스들로부터의 현재 GPS 좌표들 등) 로부터 현재 위치 데이터를 비교하여 현재 요청이 여전히 유효한지 여부를 결정할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 요청자를 쇼핑 몰에서 만나라는 친구들에 대한 현재 요청을 무효화하기 위해 컴퓨팅 디바이스가 쇼핑 몰로부터 멀리 이동하기 시작했는지 여부를 결정하도록 위치 추적 소프트웨어를 폴링할 수도 있다. 다른 예로서, 컴퓨팅 디바이스가 서버일 때, 서버는 초기 요청 메시지를 통해 현재 요청의 요청자의 GPS 좌표들을 수신할 수도 있고, 현재 요청에 대한 이들 좌표들을 비교하여 현재 유효성을 결정할 수도 있다 (요청자의 현재 위치가 그/그녀가 다른 이들과 점심을 먹기를 원하는 도시 내에 여전히 있습니까?). 요청들이 위치-관련 조건들을 가질 때, 임의의 시간 제한이 있지 않을 수도 있지만, 그 대신에 위치 추적은 현재 요청을 유효화 또는 무효화하기 위해 컴퓨팅 디바이스에 의해 이용될 수도 있다.
시간-기반 조건들 또는 응답과 같은, 요청들 및/또는 응답 메시지들 내의 임의의 타입 또는 조합의 정보가 현재 요청의 유효성을 결정하기 위해 결정 블록 492 에서 동작들의 부분으로서 컴퓨팅 디바이스에 의해 평가될 수도 있다는 것이 인식되어야 한다.
컴퓨팅 디바이스의 프로세서가 현재 요청이 여전히 유효하다고 결정하는 경우 (즉, 결정 블록 492 = "예"), 컴퓨팅 디바이스의 프로세서는 결정 블록 494 에서 응답 메시지가 수신되는지 여부를 결정할 수도 있다. 결정 블록 494 에서의 동작들은 블록 408 을 참조하여 상술된 것들과 유사할 수도 있다. 예를 들어, 컴퓨팅 디바이스는 인비테이션 메시지를 수신한 다양한 수신자 컴퓨팅 디바이스들로부터의 인커밍 PTT 애플리케이션 메시지들을 식별하기 위해 인커밍 메시지 버퍼를 모니터링할 수도 있다. 컴퓨팅 디바이스의 프로세서가 어떠한 응답 메시지도 수신되지 않았다고 결정하는 경우 (즉, 결정 블록 494 = "아니오"), 프로세서는 블록 491 에서 데이터 소스들로부터 정보를 획득하기 위한 동작들로 계속될 수도 있다. 옵션적으로, 컴퓨팅 디바이스의 프로세서는 블록 406 에서 중복된 후속 인비테이션 메시지들을 송신하는 것으로 계속될 수도 있다.
적어도 하나의 응답 메시지가 수신되는 경우 (즉, 결정 블록 494 = "예"), 블록 410 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들을 평가하여 그 수신된 응답 메시지들이 현재 요청을 만족하는지 여부를 결정할 수도 있다. 그 평가들에 기초하여, 결정 블록 412 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청이 수신된 응답 메시지들에 의해 완전히 만족되는지 여부를 결정할 수도 있다. 현재 요청이 수신된 응답 메시지들에 의해 완전히 만족 (또는 대답) 되지 않는다고 결정되는 경우 (즉, 결정 블록 412 = "아니오"), 블록 414 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청의 만족되지 않은 (또는 대답되지 않은) 부분들에 대응하는 팔로우-업 요청을 생성할 수도 있다. 블록 416 에서, 컴퓨팅 디바이스의 프로세서는, 예컨대 현재 요청을 나타내는 시스템 변수 또는 다른 저장된 정보를 업데이팅하는 것에 의해, 팔로우-업 요청으로서 현재 요청을 설정할 수도 있다. 옵션적 블록 418 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들에 기초하여 부분적 만족을 나타내는 메시지를 사용자 디바이스에 송신할 수도 있다. 컴퓨팅 디바이스는 그 후에 블록 406 에서의 동작들로 계속되어 새로운 현재 요청을 나타내는 후속 (또는 업데이팅된) 인비테이션 메시지들을 송신할 수도 있다.
수신된 응답 메시지들에 의해 현재 요청이 완전히 만족된다고 결정되는 경우 (즉, 결정 블록 412 = "예") 또는 현재 요청이 여전히 유효하지 않다고 결정되는 경우 (즉, 결정 블록 492 = "아니오"), 블록 420 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 디스플레이를 클린-업 (예를 들어, 제거) 하라고 디바이스들에 명령하는 데이터를 포함하는 소거 메시지를 복수의 컴퓨팅 디바이스들에 송신할 수도 있다. 옵션적 블록 422 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청이 완전히 만족됨을 나타내기 위해 로컬 데이터에 대한 클린-업 동작들을 자동으로 수행할 수도 있다. 블록 424 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들에 기초하여 요청이 완전히 만족됨을 나타내는 메시지를 사용자 디바이스에 송신할 수도 있다.
도 4e 는 사용자가 원하는 응답들 (예를 들어, 정보, 태스크들, 액션들 등) 을 요구하기 위해 컴퓨팅 디바이스가 사용자로부터의 요청들에 기초한 인비테이션 메시지들을 수신자 컴퓨팅 디바이스들에 송신하기 위한 일 실시형태의 방법 (495) 을 예시한다. 방법 (495) 이 현재 요청이 더 이상 이들의 각각의 수신자 사용자들에 대해 유효하지 않다고 개별적으로 결정한 수신자 컴퓨팅 디바이스들로부터의 응답 메시지들을 프로세싱하기 위한 동작들을 포함할 수도 있다는 것을 제외하고는, 방법 (495) 은 방법 (400) 과 유사하다. 이러한 무효성의 표시들의 수신에 응답하여, 컴퓨팅 디바이스 (또는 서버) 의 프로세서는 현재 요청이 유효하거나 또는 무효한 것으로 결정한 이들 수신자들의 어카운팅 (accounting) (예를 들어, 카운터, "활동도 이력" 또는 로그 등) 을 나타내는 데이터를 유지할 수도 있고, 추가로 이러한 수신자들에게 이들의 디스플레이들로부터 요청을 제거하기 위한 소거 메시지들을 선택적으로 송신할 수도 있다. 방법 (495) 은 옵션적 필터링 및/또는 클린업 동작들이 개개의 수신자의 선정으로 실행되는 것을 가능하게 한다는 점에서 이로울 수도 있다.
상술된 바와 같이, 블록 402 에서, 컴퓨팅 디바이스의 프로세서는 초기 요청을 수신할 수도 있다. 블록 404 에서, 컴퓨팅 디바이스의 프로세서는 초기 요청으로서 현재 요청을 설정할 수도 있다. 블록 406 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 인비테이션 메시지를 복수의 컴퓨팅 디바이스들 (즉, 수신자들의 컴퓨팅 디바이스들) 에 송신할 수도 있다. 블록 408 에서, 컴퓨팅 디바이스의 프로세서는 복수의 컴퓨팅 디바이스들 중 하나 이상으로부터 응답 메시지들을 수신할 수도 있다.
결정 블록 496 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답(들) 이 현재 요청이 수신자(들) 에 대해 무효함을 나타내는지 여부를 결정할 수도 있다. 프로세서는 응답 메시지를 송신한 수신자 컴퓨팅 디바이스가 현재 요청이 더 이상 그의 각각의 수신자에 대해 유효하지 않다고 결정하였음을 나타내는 임의의 코드들, 심볼들, 텍스트, 구두, 또는 다른 정보를 식별하기 위해 수신된 응답 메시지들을 평가할 수도 있다. 예를 들어, 응답 메시지들은 메타데이터 내에 "무효한" 수치 코드를 포함할 수도 있고, 또는 대안적으로 "당신의 요청 또는 질문이 나와 관련되지 않습니다, 죄송합니다." 를 언급하는 텍스트 응답일 수도 있다. 이러한 수신자 컴퓨팅 디바이스들로부터의 응답 메시지들이 추가로 후술된다.
컴퓨팅 디바이스의 프로세서가 수신된 응답이 현재 요청이 수신자에 대해 무효함을 나타낸다고 결정하는 경우 (즉, 결정 블록 496 = "예"), 옵션적 블록 497 에서, 프로세서는, 응답 메시지(들) 를 송신한 수신자 컴퓨팅 디바이스(들) (즉, 수신자) 에, 현재 요청이 무효하였음을 나타내고 디스플레이를 클린-업하라고 디바이스(들) 에 명령하는 데이터를 포함하는 소거 메시지를 송신할 수도 있다. 다시 말해, 컴퓨팅 디바이스는 현재 요청이 무효함을 나타내어 자동 클린-업 동작들을 수행하라고 단지 수신자 컴퓨팅 디바이스에 명령하는 메시지를 송신할 수도 있다. 옵션적 블록 497' 에서, 컴퓨팅 디바이스의 프로세서는, 예컨대 수신자가 더 이상 현재 요청에 관한 어떠한 통신물들도 수신해서는 안됨을 나타내기 위한 데이터 필드를 업데이팅하는 것에 의해, 응답측 수신자에 관련된 로컬 데이터에 대한 클린-업 동작들을 자동으로 수행할 수도 있다. 블록 498 에서, 컴퓨팅 디바이스의 프로세서는 응답 메시지를 송신한 수신자에 대한 무효성 결정을 나타내는 저장된 데이터 (예를 들어, 카운터, 활동도 로그 등) 를 업데이팅할 수도 있다. 결정 블록 499 에서, 컴퓨팅 디바이스의 프로세서는 저장된 데이터에 기초하여 현재 요청에 관련된 인비테이션 메시지들을 수신한 모든 복수의 컴퓨팅 디바이스 (즉, 수신자들) 에 대해 현재 요청이 무효한지 여부를 결정할 수도 있다. 예를 들어, 프로세서는 카운터의 값을 수신자들의 수와 비교하여 현재 요청이 모든 수신자들에 대해 무효한지 여부를 결정할 수도 있고, 그에 따라 현재 요청은 완전히 무효화되어야 한다. 컴퓨팅 디바이스의 프로세서가 현재 요청이 모든 복수의 수신자 컴퓨팅 디바이스들에 대해 무효하다고 결정하는 경우 (즉, 결정 블록 499 = "아니오"), 프로세서는 블록 410 에서의 동작들로 계속될 수도 있다.
블록 410 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들을 평가하여 그 수신된 응답 메시지들이 현재 요청을 만족하는지 여부를 결정할 수도 있다. 그 평가들에 기초하여, 결정 블록 412 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청이 수신된 응답 메시지들에 의해 완전히 만족되는지 여부를 결정할 수도 있다. 현재 요청이 수신된 응답 메시지들에 의해 완전히 만족 (또는 대답) 되지 않는다고 프로세서가 결정하는 경우 (즉, 결정 블록 412 = "아니오"), 컴퓨팅 디바이스의 프로세서는 블록 414 에서 현재 요청의 만족되지 않은 (또는 대답되지 않은) 부분들에 대응하는 팔로우-업 요청을 생성할 수도 있다. 블록 416 에서, 컴퓨팅 디바이스의 프로세서는, 예컨대 현재 요청을 나타내는 시스템 변수 또는 다른 저장된 정보를 업데이팅하는 것에 의해, 팔로우-업 요청으로서 현재 요청을 설정할 수도 있다. 옵션적 블록 418 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들에 기초하여 부분적 만족을 나타내는 메시지를 사용자 디바이스에 송신할 수도 있다. 컴퓨팅 디바이스는 그 후에 블록 406 에서의 동작들로 계속되어 새로운 현재 요청을 나타내는 후속 (또는 업데이팅된) 인비테이션 메시지들을 송신할 수도 있다. 수신된 응답 메시지들에 의해 현재 요청이 완전히 만족된다고 프로세서가 결정하는 경우 (즉, 결정 블록 412 = "예") 또는 현재 요청이 모든 수신자들에 대해 무효하다고 프로세서가 결정하는 경우 (즉, 결정 블록 499 = "예"), 블록 420 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답들을 요구하는 디스플레이를 클린-업 (예를 들어, 제거) 하라고 디바이스들에 명령하는 데이터를 포함하는 소거 메시지를 복수의 컴퓨팅 디바이스들에 송신할 수도 있다. 옵션적 블록 422 에서, 컴퓨팅 디바이스의 프로세서는 현재 요청이 완전히 만족됨을 나타내기 위해 로컬 데이터에 대한 클린-업 동작들을 자동으로 수행할 수도 있다. 블록 424 에서, 컴퓨팅 디바이스의 프로세서는 수신된 응답 메시지들에 기초하여 요청이 완전히 만족됨을 나타내는 메시지를 사용자 디바이스에 송신할 수도 있다.
일 실시형태에서, 컴퓨팅 디바이스는 모두 (또는 대다수 또는 미리 정의된 복수 등) 의 수신자들이 현재 요청이 무효하다고 개별적으로 결정했을 때 소거 메시지들을 송신하도록 결정할 수도 있다. 예를 들어, 일단 미리 결정된 수 또는 퍼센티지의 수신자들이 현재 요청이 유효하지 않다고 컴퓨팅 디바이스에 송신했다면, 컴퓨팅 디바이스는 로컬 클린-업 동작들을 수행하거나 및/또는 소거 메시지들을 송신하여 다양한 수신자 컴퓨팅 디바이스들에서 자동 클린-업 동작들을 트리거링할 수도 있다.
도 5a 는 수신자 컴퓨팅 디바이스가 수신된 인비테이션 메시지에 기초하여 요청에 대한 응답을 요구하는 디스플레이를 렌더링하기 위한 일 실시형태의 방법 (500) 을 예시한다. 단순성을 목적으로, 다음 설명들은 방법 (500) 의 동작들을 수행하는 것으로서 수신자 컴퓨팅 디바이스를 지칭한다. 추가로, 수신자 컴퓨팅 디바이스의 사용자는 "수신자" 라고 지칭된다. 수신자 컴퓨팅 디바이스는 모바일 컴퓨팅 디바이스 (예를 들어, 사용자에 의해 활용되는 스마트폰) 와 같은 임의의 컴퓨팅 디바이스일 수도 있다는 것이 인식되어야 한다. 다양한 실시형태들에서, 방법 (500) 의 동작들의 임의의 조합이 하나 이상의 컴퓨팅 디바이스들에 의해 수행될 수도 있다.
블록 502 에서, 수신자 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답을 요구하는 인비테이션 메시지를 수신하고 프로세싱할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 인비테이션 메시지를 직접 다른 사용자의 컴퓨팅 디바이스로부터 (예를 들어, P2P 통신들, LAN, 블루투스 신호들, WiFi 다이렉트 등을 통해) 또는 PTT 통신 서비스 서버로부터 (예를 들어, 셀룰러 네트워크 커넥션 등을 통한) WAN 을 통해 수신할 수도 있다. 수신자 컴퓨팅 디바이스는 수신된 인비테이션 메시지에 대한 다양한 파싱, 디코딩, 및 분석 동작들을 수행하여 현재 요청의 특성들 및 명세들을 식별할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 수신된 인비테이션 메시지 내의 텍스트 정보, 특수 비트들, 심볼들, 스크립트들, 또는 코드들을 평가하여, 전송자의 아이덴티티, 임의의 포함된 질문(들), 응답들에 대한 선호된 응답 모드 (또는 포맷), 요청된 태스크들, 타임스탬프 정보, 프레시니스 또는 생존 시간 (TTL) 데이터 등을 식별할 수도 있다.
블록 504 에서, 수신자 컴퓨팅 디바이스의 프로세서는 수신된 인비테이션 메시지에 기초하여 사용자로부터 응답 (예를 들어, 정보, 태스크 등) 을 요구하는 디스플레이를 렌더링할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 도 3a 내지 도 3c 를 참조하여 상술된 것과 같은 PTT 애플리케이션 또는 다른 그래픽 디스플레이 내에 다이얼로그 박스를 렌더링할 수도 있다. 디스플레이는 인비테이션 메시지의 전송자에 의해 선호되는 응답 타입들 또는 응답 메시지 포맷들 (즉, 선호된 응답 모드) 의 표현들, 예컨대 텍스트 질의들/질문들, 태스크에 대한 구두 명령들의 오디오 샘플들, 사진들, 다이어그램들, 또는 현재 요청의 목적 및 목표들을 나타낼 수도 있는 다른 정보를 포함할 수도 있다. 이러한 선호된 응답 모드 정보는 수신된 인비테이션 메시지에 나타낸 선호도 정보에 기초할 수도 있고, 추가로 요청에 관련된 후속 인비테이션 메시지들의 수신으로 동적으로 조정될 수도 있다. 예를 들어, 제 1 요청에 대한 디스플레이는 초기에는 텍스트 응답이 요청됨을 나타낼 수도 있지만, 업데이팅된 인비테이션 메시지의 수신에 응답하여, 수신자 컴퓨팅 디바이스는 단지 PTT 애플리케이션 메시지들만이 요청에 응답하도록 송신될 수도 있음을 나타내기 위해 디스플레이를 렌더링할 수도 있다.
일 실시형태에서, 렌더링된 디스플레이는 수신자 컴퓨팅 디바이스에 의해 수신된 모든 액티브한 요청들의 리스트일 수도 있다. 예를 들어, 렌더링된 디스플레이는 다양한 시간들에서의 다양한 사용자들로부터의 메시지들의 리스트일 수도 있고, 그 각각은 수신자 컴퓨팅 디바이스를 이용하여 수신자에 의해 대답될 질문을 나타낸다. 일 실시형태에서, 디스플레이는 현재 요청에 대한 우선순위, 상태, 및/또는 선호된 응답 모드를 나타내는, 그래픽 엘리먼트들 (예를 들어, 플래그들, 수들, 컬러들 등) 과 같은 동적 표시자들을 포함할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스 상의 렌더링된 디스플레이는 현재 요청이 여전히 액티브할 때 (즉, 응답들에 의해 완전히 만족되지 않을 때) 플래싱 (flashing) 그래픽 엘리먼트를 포함할 수도 있다.
옵션적 블록 506 에서, 수신자 컴퓨팅 디바이스의 프로세서는 현재 요청에 대응하는 사용자 입력을 수신할 수도 있다. 사용자 입력은 현재 요청의 전부 또는 일부를 만족시킬 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 인비테이션 메시지로부터 현재 요청에 의해 제기된 질의에 대해 올바른 대답 (예를 들어, "오늘 사무실에 누가 있습니까?" 의 현재 요청의 "아니오" 의 대답) 을 제공하는 텍스트 데이터를 사용자 입력들로부터 수신할 수도 있다. 사용자 입력은 대답, 스테이트먼트, 또는 질문일 수도 있다. 예를 들어, 사용자 입력은 수신자가 정보에 대한 현재 요청을 적절히 응답하는 것이 가능하지 않음을 나타내는 응답일 수도 있다. 다른 예로서, 사용자 입력은 수신자로부터의 팔로우-업 질문 (예를 들어, "저는 언급된 당신의 질문에 대답할 수 없습니다. 당신은 사무실 A 에 관해 말하고 있는 것입니까 또는 사무실 B 에 관해 말하고 있는 것입니까?") 을 포함하는 보이스 데이터일 수도 있다. 수신자가 렌더링된 디스플레이를 보지 않거나 또는 그렇지 않으면 현재 요청에 참여하지 않는 것으로 선정할 때 옵션적 블록 506 에서의 동작들은 수행되지 않을 수도 있다.
옵션적 블록 508 에서, 수신자 컴퓨팅 디바이스의 프로세서는 수신된 사용자 입력을 포함하는 응답 메시지를 송신할 수도 있다. 응답 메시지는 수신된 인비테이션 메시지 내에 설명된 통신 방법을 이용하여 또는 포맷으로 송신될 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 수신된 인비테이션 메시지의 메타데이터 내에 나타낸 IP 주소, 전화 번호, 또는 다른 목적지에 대한 응답 메시지를 송신할 수도 있다. 일 실시형태에서, 응답 메시지는 인비테이션 메시지를 전송한 사용자에 의해 이용되는 컴퓨팅 디바이스에 직접 또는 서버에 송신될 수도 있다.
결정 블록 510 에서, 수신자 컴퓨팅 디바이스의 프로세서는 소거 메시지가 수신되는지 여부를 결정할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 현재 요청에 대한 소거 메시지들에 대응하는 헤더 정보를 포함하는 메시지들이 수신될 때를 검출하기 위해 인커밍 메시지 버퍼를 모니터링할 수도 있다. 수신자 컴퓨팅 디바이스는, 예컨대 PTT 애플리케이션에 대해 포맷팅된 메시지들의 메타데이터 내에 나타낸 고유한 요청 식별자들을 비교하는 것에 의해, 수신된 메시지들이 현재 요청과 연관되는지 여부를 결정하도록 다양한 수신 메시지 내의 코드들을 평가할 수도 있다. 대안적으로, 수신자 컴퓨팅 디바이스는 PTT 애플리케이션과 연관된 모든 메시지들과 같은 모든 인커밍 메시지들을 분석하여, 메시지들이 소거 메시지들임을 나타내는 데이터, 코드들, 또는 다른 정보를 이들 메시지들이 포함하는지 여부를 결정할 수도 있다. 소거 메시지가 수신된다고 결정되는 경우 (즉, 결정 블록 510 = "예"), 블록 516 에서, 수신자 컴퓨팅 디바이스의 프로세서는 수신된 인비테이션 메시지의 현재 요청에 대응하는 사용자로부터의 응답을 요구하는 디스플레이를 자동으로 클린-업 (또는 제거) 할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 현재 요청과 연관된 데이터베이스 엔트리를 제거하는 것에 의해 디스플레이를 삭제할 수도 있고, 현재 요청이 더 이상 수신자 컴퓨팅 디바이스의 사용자에게 제시되지 않도록 PTT 애플리케이션을 재렌더링할 수도 있다 (또는 프레시하게 할 수도 있다). 다양한 실시형태들에서, 수신자 컴퓨팅 디바이스는 현재 요청에 대해 디스플레이를 숨기거나 또는 그렇지 않으면 디스플레이를 비가시적으로 구성하기 위해 현재 요청과 연관된 데이터를 조정할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 현재 요청의 질문의 표현을 포함하지 않도록 프리젠테이션을 구성할 수도 있지만, 수신된 그리고 만족된 요청들의 저장된 리스트에 질문을 여전히 보유할 수도 있다. 일 실시형태에서, 수신자 컴퓨팅 디바이스는 디스플레이를 조정하거나 또는 그렇지 않으면 현재 요청이 충족되었음 또는 변화된 우선순위, 랭크, 상태, 또는 중요도를 가짐을 나타내는 정보를 렌더링할 수도 있다. 예를 들어, 디스플레이는 현재 요청이 더 이상 액티브하지 않음을 나타내는 컬러-코드, 체크박스, 라벨들 (예를 들어, "만족됨!", "이미 대답됨", "당신의 팔로우-업 질문에 대한 응답을 기다림" 등) 또는 다른 표시를 포함할 수도 있다.
소거 메시지가 수신되지 않았다고 결정되는 경우 (즉, 결정 블록 510 = "아니오"), 결정 블록 512 에서, 수신자 컴퓨팅 디바이스의 프로세서는 업데이팅된 인비테이션 메시지가 수신되는지 여부를 결정할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 현재 요청에 대응하는 (팔로우-업 요청들을 가진) 후속 인비테이션 메시지들이 수신되었는지 여부를 검출하기 위해 인커밍 메시지 버퍼를 모니터링할 수도 있다. 업데이팅된 인비테이션 메시지가 수신되지 않았다고 결정되는 경우 (즉, 결정 블록 512 = "아니오"), 수신자 컴퓨팅 디바이스는 결정 블록 510 에서의 동작들을 수행하는 것에 의해 후속 메시지들에 대해 모니터링하는 것을 계속할 수도 있다. 그러나, 업데이팅된 인비테이션 메시지가 수신된다고 결정되는 경우 (즉, 결정 블록 512 = "예"), 블록 514 에서, 수신자 컴퓨팅 디바이스의 프로세서는 업데이팅된 인비테이션 메시지에 기초하여 사용자로부터의 응답을 요구하도록 디스플레이를 자동으로 조정할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 다른 응답을 요구하기 위해 업데이팅된 인비테이션 메시지를 통해 수신되는 명확하게 하는 언어 또는 부가적인 질문들을 포함하도록 현재 요청의 렌더링된 질문을 변화시킬 수도 있다. 수신자 컴퓨팅 디바이스는 옵션적 블록 506 에서 다른 응답에 대한 사용자 입력들을 수신하기 위한 동작들로 계속될 수도 있다.
도 5b 는 수신자 컴퓨팅 디바이스가 수신된 인비테이션 메시지에 기초하여 요청에 대한 응답을 요구하는 디스플레이를 렌더링하기 위한 일 실시형태의 방법 (550) 을 예시한다. 방법 (550) 이 수신자 컴퓨팅 디바이스가 수신자 컴퓨팅 디바이스에 관련된 정보에 기초하여 현재 요청이 여전히 유효한지 여부를 결정하기 위한 동작들을 포함하는 것을 제외하고는, 방법 (550) 은 방법 (500) 과 유사하다. 특히, 수신자 컴퓨팅 디바이스는 시간-기반 정보 (예를 들어, 시간 측정 유닛으로부터의 현재 시간, 날짜 등), 위치 정보의 소스로부터 획득된 위치-기반 정보 (예를 들어, GPS 를 이용하지 않는 위치 정보 소스 또는 서비스, GPS 유닛으로부터 획득된 수신자 컴퓨팅 디바이스의 GPS 좌표들 등), 및 관련성-기반 정보 (예를 들어, 수신자가 근무 중 또는 휴가 중임 등) 를 이용하여 다양한 유효화 동작들의 수행에 응답하여 자동 클린-업 동작들을 수행하도록 구성될 수도 있다. 이러한 수신자 컴퓨팅 디바이스의 유효화 동작들은 도 4d 를 참조하여 상술된 결정 블록 492 에서의 컴퓨팅 디바이스의 동작들과 유사할 수도 있다.
단순성을 목적으로, 다음 설명들은 방법 (550) 의 동작들을 수행하는 것으로서 수신자 컴퓨팅 디바이스의 프로세서를 지칭한다. 추가로, 수신자 컴퓨팅 디바이스의 사용자는 "수신자" 라고 지칭된다. 수신자 컴퓨팅 디바이스는 모바일 컴퓨팅 디바이스 (예를 들어, 사용자에 의해 활용되는 스마트폰) 와 같은 임의의 컴퓨팅 디바이스일 수도 있다는 것이 인식되어야 한다. 다양한 실시형태들에서, 방법 (550) 의 동작들의 임의의 조합이 하나 이상의 컴퓨팅 디바이스들에 의해 수행될 수도 있다.
상술된 바와 같이, 블록 502 에서, 수신자 컴퓨팅 디바이스의 프로세서는 현재 요청에 대한 응답을 요구하는 인비테이션 메시지를 수신하고 프로세싱할 수도 있다. 블록 504 에서, 수신자 컴퓨팅 디바이스의 프로세서는 수신된 인비테이션 메시지에 기초하여 사용자로부터 응답 (예를 들어, 정보, 태스크 등) 을 요구하는 디스플레이를 렌더링할 수도 있다. 옵션적 블록 506 에서, 수신자 컴퓨팅 디바이스의 프로세서는 현재 요청에 대응하는 사용자 입력을 수신할 수도 있다. 옵션적 블록 508 에서, 수신자 컴퓨팅 디바이스의 프로세서는 수신된 사용자 입력을 포함하는 응답 메시지를 송신할 수도 있다.
블록 552 에서, 수신자 컴퓨팅 디바이스의 프로세서는 현재 요청의 유효화에 있어서의 이용을 위한 정보를 데이터 소스들, 예컨대 시간 측정 유닛, 위치 정보의 소스 (예를 들어, GPS 유닛 또는 위치 정보를 제공하는 다른 소스 또는 서비스), 로컬 정보 데이터베이스, 및/또는 인터넷 리소스로부터 획득할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 로컬로 저장된 데이터 (예를 들어, 주소록, 이메일 클라이언트, 저장된 텍스트 메시지들, 소셜 네트워킹 프로파일 데이터 등) 에 액세스할 수도 있거나 및/또는 인터넷을 통해 다양한 웹사이트들로부터 데이터를 취출하기 위한 동작들을 수행할 수도 있다. 예컨대 현재 요청에 대한 질문, 스테이트먼트, 또는 다른 정보의 의미를 결정하기 위해 이메일 또는 SMS 텍스트 메시지에 대한 자연 언어 프로세싱 루틴들을 수행하는 것에 의해, 현재 요청 및/또는 인비테이션 메시지의 콘텐츠를 프로세싱하는 것에 기초하여 정보가 획득될 수도 있다. 예를 들어, 수신된 인비테이션 메시지가 "누가 정오에 사무실에 있을 겁니까?" 를 요구할 때, 수신자 컴퓨팅 디바이스는 시간 측정 유닛 (예를 들어, 시스템 클록 등) 으로부터 현재 시간을 획득하여, 그 요청이 여전히 현재 시간에 기초하여 유효한지 여부를 결정할 수도 있다. 다른 예로서, 현재 요청이 "누가 지금 제 사무실에 오셔서 저를 도와주실 수 있습니까?" 를 요구할 때, 수신자 컴퓨팅 디바이스는 GPS 유닛으로부터의 현재 GPS 좌표들에 액세스하거나 및/또는 로컬로 저장된 캘린더 데이터에 액세스하여, 수신자 컴퓨팅 디바이스의 수신자가 사무실 내에서 요청자를 도울 수 있는지 여부를 나타내는 정보를 획득할 수도 있다.
옵션적 블록 554 에서, 수신자 컴퓨팅 디바이스의 프로세서는 원격 디바이스 (예를 들어, 서버, 요청자 디바이스 등) 에 의한 유효화에 있어서의 이용을 위해 획득된 정보를 송신할 수도 있다. 예를 들어, 위치 정보 (또는 다른 프레즌스 정보) 는 현재 요청이 여전히 유효한지 여부를 결정하기 위한 프로세싱을 위해 서버 컴퓨팅 디바이스에 송신될 수도 있다.
결정 블록 556 에서, 수신자 컴퓨팅 디바이스의 프로세서는 획득된 정보에 기초하여 현재 요청이 일반적으로 유효한지 여부를 결정할 수도 있다. 다시 말해, 수신자 컴퓨팅 디바이스는 현재 요청으로 인비테이션 메시지를 수신했을 수도 있는 수신자 컴퓨팅 디바이스 또는 임의의 다른 디바이스에 의해 현재 요청이 적절히 만족 또는 대답되는 것이 불가능하거나 또는 그렇지 않으면 고려할 가치가 없는지 여부를 결정하기 위해 획득된 정보 및 현재 요청을 평가할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 현재 시간 (예를 들어, 4 PM) 이 시간-의존적 지원을 위한 현재 요청을 무의미하게 렌더링하는지 여부 (예를 들어, "누가 점심을 먹기를 원합니까?") 를 결정할 수도 있다. 프로세서가 요청이 일반적으로 유효하지 않다고 결정하는 경우 (즉, 결정 블록 556 = "아니오"), 블록 558 에서, 수신자 컴퓨팅 디바이스의 프로세서는 현재 요청이 더 이상 유효하지 않음을 나타내는 응답 메시지를 송신 (예를 들어, 응답 메시지를 요청자 컴퓨팅 디바이스 및/또는 서버에 송신) 할 수도 있고, 블록 516 에서 현재 요청에 대응하는 사용자로부터의 응답을 요구하는 디스플레이를 자동으로 클린-업할 수도 있으며, 다른 인비테이션 메시지들을 수신하고 프로세싱하기 위해 블록 502 에서의 동작들로 계속될 수도 있다. 블록 558 에서의 동작들로 송신된 응답 메시지는 컴퓨팅 디바이스 (예를 들어, 서버 등) 에 의해 수신될 수도 있고, 현재 요청이 더 이상 유효하지 않다는 것을 인비테이션 메시지를 수신한 다른 디바이스들에게 알리는 소거 메시지들을 송신하도록 프로세싱될 수도 있다.
그러나, 프로세서가 요청이 일반적으로 여전히 유효하다고 결정하는 경우 (즉, 결정 블록 556 = "예"), 수신자 컴퓨팅 디바이스의 프로세서는 옵션적 결정 블록 560 에서 획득된 정보에 기초하여 현재 요청이 수신자에 대해 유효한지 여부를 결정할 수도 있다. 다시 말해, 수신자 컴퓨팅 디바이스는 현재 요청을 평가하여, 그 요청이 여전히 수신자가 아닌 누군가에 의해 가능한 한 대답 또는 만족될 수도 있는지 여부를 결정할 수도 있다. 예를 들어, 수신자 컴퓨팅 디바이스는 알려진 사무실 빌딩에 대한 그의 현재 GPS 좌표들을 비교하여 수신자가 사무실 빌딩 내에 있는지 여부를 결정하고 그에 따라 요청자가 그의 사무실 공간에 들어가는 것을 돕도록 현재 요청을 만족시키는 것을 도울 수 있게 할 수도 있다. 다른 예로서, 수신자 컴퓨팅 디바이스는 수신자가 다음 수 시간 동안 미팅 중임을 나타내는 로컬로 저장된 캘린더 정보를 비교하여, 수신자가 다음 5 분 내에 마켓에 가라는 현재 요청을 만족시킬 수 없다고 결정할 수도 있다. 일 실시형태에서, 결정 블록 556 에서의 결정은 그 또는 그녀가 현재 요청에 수반되는 (또는 추가로 관련된 통지들을 수신하는) 것에 관심이 없음을 나타내는 사용자-제공된 버튼 가압과 같은 사용자 입력에 기초할 수도 있다.
프로세서가 요청이 수신자에 대해 유효하지 않다고 결정하는 경우 (즉, 옵션적 결정 블록 560 = "아니오"), 옵션적 블록 562 에서, 수신자 컴퓨팅 디바이스의 프로세서는, 예컨대 응답 메시지를 요청 컴퓨팅 디바이스 및/또는 서버에 송신하는 것에 의해, 현재 요청이 더 이상 수신자에 대해 유효하지 않음을 나타내는 응답 메시지를 송신할 수도 있다. 수신자 컴퓨팅 디바이스의 프로세서는 블록 516 에서 현재 요청에 대응하는 사용자로부터의 응답을 요구하는 디스플레이를 자동으로 클린-업할 수도 있고, 다른 인비테이션 메시지들을 수신하고 프로세싱하기 위해 블록 502 에서의 동작들로 게속될 수도 있다.
그러나, 프로세서가 요청이 여전히 수신자에 대해 유효하다고 결정하는 경우 (즉, 옵션적 결정 블록 560 = "예"), 수신자 컴퓨팅 디바이스의 프로세서는 결정 블록 510 에서 소거 메시지가 수신되는지 여부를 결정할 수도 있다. 프로세서가 소거 메시지가 수신된다고 결정하는 경우 (즉, 결정 블록 510 = "예"), 블록 516 에서, 수신자 컴퓨팅 디바이스의 프로세서는 수신된 인비테이션 메시지의 현재 요청에 대응하는 사용자로부터의 응답을 요구하는 디스플레이를 자동으로 클린-업 (또는 제거) 할 수도 있다.
프로세서가 소거 메시지가 수신되지 않았다고 결정하는 경우 (즉, 결정 블록 510 = "아니오"), 수신자 컴퓨팅 디바이스의 프로세서는 결정 블록 512 에서 업데이팅된 인비테이션 메시지가 수신되는지 여부를 결정할 수도 있다. 프로세서가 업데이팅된 인비테이션 메시지가 수신되지 않았다고 결정하는 경우 (즉, 결정 블록 512 = "아니오"), 수신자 컴퓨팅 디바이스의 프로세서는 결정 블록 510 에서의 동작들을 수행하는 것에 의해 후속 메시지들에 대해 모니터링하는 것을 계속할 수도 있다. 그러나, 프로세서가 업데이팅된 인비테이션 메시지가 수신된다고 결정하는 경우 (즉, 결정 블록 512 = "예"), 블록 514 에서, 수신자 컴퓨팅 디바이스의 프로세서는 업데이팅된 인비테이션 메시지에 기초하여 사용자로부터의 응답을 요구하도록 디스플레이를 자동으로 조정할 수도 있다. 수신자 컴퓨팅 디바이스의 프로세서는 옵션적 블록 506 에서 다른 응답에 대한 사용자 입력들을 수신하기 위한 동작들로 계속될 수도 있다.
도 6a 는 사용자로부터의 요청에 대응하는, 사용자 컴퓨팅 디바이스 (102) 와 수신자 컴퓨팅 디바이스 (180) 사이의 예시적인 통신들을 예시하는 다이어그램 (600) 이다. 다이어그램 (600) 에 예시된 다양한 통신들은 사용자 컴퓨팅 디바이스 (102) 와 수신자 컴퓨팅 디바이스 (180) 사이의 직접적인 통신들 또는 시그널링으로 간주될 수도 있다. 예를 들어, 디바이스들 (102, 180) 은 P2P 통신들을 단거리 시그널링 (예를 들어, 블루투스, WiFi 다이렉트 등) 을 통해 또는 LAN (예를 들어, WiFi 라우터를 통해 송신된 데이터) 을 통해 교환하도록 구성될 수도 있다. 추가로, 다양한 통신들은 양쪽 디바이스들 (102, 180) 상에서 실행하는 애플리케이션에 대응하는 사유 메시징, SMS/MMS 텍스트 메시지들, PTT 통신들, 및/또는 디바이스들 (102, 180) 에 의해 지원되는 메시징 기법들 또는 포맷들의 임의의 조합일 수도 있다.
사용자 컴퓨팅 디바이스 (102) 는, 예컨대 질문을 표현하는 텍스트 데이터를 수신하는 것 또는 다른 이들에 의해 수행될 액션을 요청하는 것 및/또는 현재 요청에 대해 원하는 수신자들을 나타내는 입력들 (예를 들어, PTT 애플리케이션의 주소록 내의 연락처들의 그래픽 엘리먼트들 상의 터치 입력들 등) 을 수신하는 것에 의해, 현재 요청을 식별하기 위한 동작들 (602) 을 수행할 수도 있다. 사용자 컴퓨팅 디바이스 (102) 는 현재 요청에 기초하여 인비테이션 메시지 (604) 를 수신자 컴퓨팅 디바이스 (180) 에 송신하기 위한 동작들을 수행할 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는 수신된 인비테이션 메시지 (604) 에 나타낸 현재 요청을 프로세싱하고 렌더링할 뿐만 아니라 수신자 사용자로부터 응답 입력들을 수신하기 위한 동작들 (606) 을 수행할 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는 인비테이션 메시지 (604) 내에 제기된 질문에 대응하는 대답, 질문, 또는 다른 정보를 나타내는 텍스트 또는 오디오 메시지와 같은 응답 메시지 (608) 를 사용자 컴퓨팅 디바이스 (102) 에 송신할 수도 있다.
사용자 컴퓨팅 디바이스 (102) 는, 예컨대 현재 질의와 관련된 응답 메시지 (608) 내의 콘텐츠를 식별하기 위한 텍스트 분석, 음성-텍스트 프로세싱, 또는 다른 루틴들을 수행하는 것에 의해, 응답 메시지 (608) 를 프로세싱하기 위한 동작들 (610) 을 수행할 수도 있다. 일 실시형태에서, 사용자 컴퓨팅 디바이스 (102) 는, 예컨대 현재 요청이 응답 메시지 (608) 에 의해 만족됨을 나타내기 위해 로컬로 저장된 데이터베이스 정보를 제거 또는 변경하는 것에 의해, 현재 요청에 대응하는 데이터를 제거 또는 그렇지 않으면 클린-업하기 위한 동작들을 수행할 수도 있다.
현재 요청이 만족되지 않는 것으로 결정될 때 (예를 들어, 응답 메시지 (608) 로부터의 정보에 의해 미해결 질문에 부적절하게 대답될 때), 사용자 컴퓨팅 디바이스 (102) 는 옵션적인 업데이팅된 인비테이션 메시지 (612) 를 송신할 수도 있고, 수신자 컴퓨팅 디바이스는 옵션적인 업데이팅된 인비테이션 메시지 (612) 에서의 정보를 프로세싱하고 렌더링할 뿐만 아니라 수신자 사용자로부터 응답 입력들을 수신하기 위한 옵션적 동작들 (606') 을 수행할 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는 옵션적인 응답 메시지 (608') 를 사용자 컴퓨팅 디바이스 (102) 에 송신할 수도 있다. 사용자 컴퓨팅 디바이스 (102) 는 옵션적인 응답 메시지 (608') 를 프로세싱하기 위한 옵션적 동작들 (610') 을 수행할 수도 있다.
현재 요청이 만족되는 것으로 결정될 때 (예를 들어, 옵션적인 응답 메시지 (608') 또는 응답 메시지 (608) 로부터의 정보로 미해결 질문에 적절히 대답될 때), 사용자 컴퓨팅 디바이스 (102) 는 소거 메시지 (614) 를 수신자 컴퓨팅 디바이스 (180) 에 송신할 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는, 예컨대 인비테이션 메시지 (604) 및/또는 현재 요청에 관련된 로컬로 저장된 정보를 제거하거나, 숨기거나, 또는 그렇지 않으면 조정하는 자동 클린-업 동작들을 수행하는 것에 의해, 소거 메시지 (614) 를 프로세싱하기 위한 동작들 (616) 을 수행할 수도 있다. 예를 들어, 동작들 (616) 은 현재 요청과 연관된 데이터베이스 엔트리를 삭제하거나 또는 대안적으로 엔트리로부터의 데이터가 PTT 애플리케이션에 의해 제시될 수도 있는지 여부를 제어하는 데이터베이스 엔트리 내의 변수를 설정하기 위한 루틴을 실행하는 것을 포함할 수도 있다.
도 6b 및 도 6c 는 사용자로부터의 요청에 대응하는, 사용자 컴퓨팅 디바이스 (102), 수신자 컴퓨팅 디바이스 (180), 및 서버 컴퓨팅 디바이스 (110) 사이의 예시적인 통신들을 예시하는 다이어그램들 (650, 670) 이다. 서로 직접 통신하는 사용자 컴퓨팅 디바이스 (102) 및 수신자 컴퓨팅 디바이스 (180) 대신에, 메시징이 서버 컴퓨팅 디바이스 (110) 를 통해 라우팅된다는 것을 제외하고는, 다이어그램들 (650, 670) 은 도 6a 를 참조하여 상술된 다이어그램 (600) 과 유사하다. 예를 들어, 서버 컴퓨팅 디바이스 (110) 는 사용자 컴퓨팅 디바이스 (102) 와 수신자 컴퓨팅 디바이스 (180) 양쪽 상에서 수행하는 PTT 애플리케이션과 연관된 통신들을 용이하게 하도록 구성된 디바이스일 수도 있다. 서버 컴퓨팅 디바이스 (110) 와 디바이스들 (102, 180) 사이에서 교환되는 다양한 통신물들은 WAN (예를 들어, 셀룰러 네트워크, 인터넷 등) 및/또는 LAN (예를 들어, WiFi 라우터에 의해 인에이블되는 빌딩 내의 LAN) 을 통해 송신될 수도 있다. 예를 들어, 사용자 컴퓨팅 디바이스 (102) 는 WiFi 커넥션을 통해 서버 컴퓨팅 디바이스 (110) 와 통신할 수도 있고 수신자 컴퓨팅 디바이스 (180) 는 인터넷을 통해 메시지들을 서버 컴퓨팅 디바이스 (110) 와 교환할 수도 있고, 또는 그 반대로 될 수도 있다. 추가로, 서버 컴퓨팅 디바이스 (110) 는 메시지들의 포멧들의 상이한 타입들을 수신하고 송신하도록 구성될 수도 있다. 예를 들어, 서버 컴퓨팅 디바이스 (110) 는 PTT 애플리케이션과 연관된 PTT 메시지들을 사용자 컴퓨팅 디바이스 (102) 와 교환하고 SMS/MMS 텍스트 메시지들 또는 이메일들을 수신자 컴퓨팅 디바이스 (180) 와 교환하도록 구성될 수도 있고, 또는 그 반대로 될 수도 있다.
도 6b 는 서버 컴퓨팅 디바이스 (110) 가 단지 사용자 컴퓨팅 디바이스 (102) 와 수신자 컴퓨팅 디바이스 (180) 사이의 메시징을 위한 라우터인 시나리오를 예시한다. 특히, 사용자 컴퓨팅 디바이스 (102) 는 현재 요청을 식별하고 현재 요청에 기초하여 인비테이션 메시지 (604) 를 서버 컴퓨팅 디바이스 (110) 에 송신하기 위한 동작들 (602) 을 수행할 수도 있다. 서버 컴퓨팅 디바이스 (110) 는 중계된 인비테이션 메시지 (654) 를 수신자 컴퓨팅 디바이스 (180) 에 송신할 수도 있다. 중계된 인비테이션 메시지 (654) 는 인비테이션 메시지 (604) 와 동일할 수도 있고, 또는 대안적으로 수신자 컴퓨팅 디바이스 (180) 에 의한 이용에 적합한 상이한 메시지 포맷으로 포맷팅될 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는 중계된 인비테이션 메시지 (654) 에 나타낸 현재 요청을 프로세싱하고 렌더링할 뿐만 아니라 수신자 사용자로부터 응답 입력들을 수신하기 위한 동작들 (606) 을 수행할 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는 응답 메시지 (608) 를 서버 컴퓨팅 디바이스 (110) 에 송신할 수도 있고, 이 서버 컴퓨팅 디바이스는 중계된 응답 메시지 (658) 를 사용자 컴퓨팅 디바이스 (102) 에 송신할 수도 있다. 중계된 응답 메시지 (658) 는 응답 메시지 (608) 와 동일할 수도 있고, 또는 대안적으로 사용자 컴퓨팅 디바이스 (102) 에 의한 이용에 적합한 상이한 메시지 포맷으로 포맷팅될 수도 있다.
사용자 컴퓨팅 디바이스 (102) 는, 예컨대 현재 질의와 관련된 중계된 응답 메시지 (658) 내의 콘텐츠를 식별하기 위한 텍스트 분석, 음성-텍스트 프로세싱, 또는 다른 루틴들을 수행하는 것에 의해, 중계된 응답 메시지 (658) 를 프로세싱하기 위한 동작들 (610) 을 수행할 수도 있다. 현재 요청이 만족되지 않는 것으로 결정될 때 (예를 들어, 중계된 응답 메시지 (658) 로부터의 정보에 의해 미해결 질문에 부적절하게 대답될 때), 사용자 컴퓨팅 디바이스 (102) 는 옵션적인 업데이팅된 인비테이션 메시지 (612) 를 서버 컴퓨팅 디바이스 (110) 에 송신할 수도 있고, 이 옵션적인 업데이팅된 인비테이션 메시지는 옵션적인 중계된 업데이팅된 인비테이션 메시지 (662) 로서 수신자 컴퓨팅 디바이스 (180) 에 송신될 수도 있다. 수신자 컴퓨팅 디바이스는 옵션적인 중계된 업데이팅된 인비테이션 메시지 (662) 에서의 정보를 프로세싱하고 렌더링할 뿐만 아니라 수신자 사용자로부터 응답 입력들을 수신하기 위한 옵션적 동작들 (606') 을 수행할 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는 옵션적인 응답 메시지 (608') 를 서버 컴퓨팅 디바이스 (110) 에 송신할 수도 있고, 이 서버 컴퓨팅 디바이스는 차례로 옵션적인 중계된 응답 메시지 (658') 를 사용자 컴퓨팅 디바이스 (102) 에 송신할 수도 있다. 사용자 컴퓨팅 디바이스 (102) 는 옵션적인 중계된 응답 메시지 (658') 를 프로세싱하기 위한 옵션적 동작들 (610') 을 수행할 수도 있다.
현재 요청이 만족되는 것으로 결정될 때 (예를 들어, 옵션적인 중계된 응답 메시지 (658') 또는 응답 메시지 (608) 로부터의 정보로 미해결 질문에 적절히 대답될 때), 사용자 컴퓨팅 디바이스 (102) 는 소거 메시지 (614) 를 서버 컴퓨팅 디바이스 (110) 에 송신할 수도 있고, 이 서버 컴퓨팅 디바이스는 중계된 소거 메시지 (664) 를 수신자 컴퓨팅 디바이스 (180) 에 송신할 수도 있다. 중계된 소거 메시지 (664) 는 소거 메시지 (614) 와 동일할 수도 있고, 또는 대안적으로 수신자 컴퓨팅 디바이스 (180) 에 의한 이용에 적합한 상이한 메시지 포맷으로 포맷팅될 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는, 예컨대 중계된 인비테이션 메시지 (654) 및/또는 현재 요청에 관련된 로컬로 저장된 정보를 제거하거나, 숨기거나, 또는 그렇지 않으면 조정하는 자동 클린-업 동작들을 수행하는 것에 의해, 중계된 소거 메시지 (664) 를 프로세싱하기 위한 동작들 (616) 을 수행할 수도 있다.
도 6c 는 서버 컴퓨팅 디바이스 (110) 가 응답 메시지들을 평가하여 사용자의 요청이 만족되는지 여부를 결정하는 시나리오를 예시한다. 도 6b 를 참조하여 상술된 것과는 달리, 다이어그램 (670) 에서 서버 컴퓨팅 디바이스 (110) 는 요청들이 만족되고 그에 따라 사용자 컴퓨팅 디바이스 (102) 및/또는 수신자 컴퓨팅 디바이스 (180) 에서 클린-업될 수도 있는지 여부를 결정하기 위해 다양한 통신들을 프로세싱하도록 구성될 수도 있다.
특히, 사용자 컴퓨팅 디바이스 (102) 는 현재 요청을 식별하고 현재 요청에 기초하여 인비테이션 메시지 (604) 를 서버 컴퓨팅 디바이스 (110) 에 송신하기 위한 동작들 (602) 을 수행할 수도 있다. 서버 컴퓨팅 디바이스 (110) 는 중계된 인비테이션 메시지 (654) 를 수신자 컴퓨팅 디바이스 (180) 에 송신할 수도 있다. 중계된 인비테이션 메시지 (654) 는 인비테이션 메시지 (604) 와 동일할 수도 있고, 또는 대안적으로 수신자 컴퓨팅 디바이스 (180) 에 의한 이용에 적합한 상이한 메시지 포맷으로 포맷팅될 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는 중계된 인비테이션 메시지 (654) 에 나타낸 현재 요청을 프로세싱하고 렌더링할 뿐만 아니라 수신자 사용자로부터 응답 입력들을 수신하기 위한 동작들 (606) 을 수행할 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는 응답 메시지 (608) 를 서버 컴퓨팅 디바이스 (110) 에 송신할 수도 있고, 이 서버 컴퓨팅 디바이스는, 예컨대 응답 메시지 (608) 내의 콘텐츠를 식별하기 위한 텍스트 분석, 음성-텍스트 프로세싱, 또는 다른 루틴들을 수행하는 것에 의해, 응답 메시지 (608) 를 프로세싱하기 위한 동작들 (672) 을 수행할 수도 있다. 동작들 (672) 은 상술된 바와 같이 사용자 컴퓨팅 디바이스 (102) 에 의해 수행된 동작들 (610) 과 유사할 수도 있다.
일 실시형태에서, 서버 컴퓨팅 디바이스 (110) 는 초기 요청의 시간에 중계된 인비테이션 메시지 (654) 를 통해 초기 요청을 푸시하도록 구성될 수도 있고 또는 대안적으로 일 지속기간 동안 초기 요청의 정보를 저장하기 위한 옵션적 동작들 (681) 을 수행할 수도 있다. 수신자 컴퓨팅 디바이스 (180) 로부터의 옵션적 취출 요청 메시지 (681') 의 수신에 응답하여, 서버 컴퓨팅 디바이스 (110) 는 중계된 인비테이션 메시지 (654) 및/또는 옵션적인 업데이팅된 인비테이션 메시지들 (676) 을 송신할 수도 있다. 이것은 수신자 컴퓨팅 디바이스 (180) 가 서버 컴퓨팅 디바이스 (110) 와 같은 저장 위치로부터 요구에 따라 미해결 초기 요청들 (또는 업데이트들) 을 취출하는 것을 가능하게 할 수도 있다.
현재 요청이 만족되지 않는 것으로 결정될 때 (예를 들어, 응답 메시지 (608) 로부터의 정보에 의해 미해결 질문에 부적절하게 대답될 때), 서버 컴퓨팅 디바이스 (110) 는 응답 메시지 (608) 로부터 식별된 현재 요청에 대한 임의의 부분적인 응답들 (또는 부분적인 대답들) 을 나타내는 옵션적 메시지 (674) 를 사용자 컴퓨팅 디바이스 (102) 에 송신할 수도 있다. 서버 컴퓨팅 디바이스 (110) 는 또한 옵션적인 업데이팅된 인비테이션 메시지 (676) 를 생성하여 이 옵션적인 업데이팅된 인비테이션 메시지를 수신자 컴퓨팅 디바이스 (180) 에 송신할 수도 있다. 수신자 컴퓨팅 디바이스는 옵션적인 업데이팅된 인비테이션 메시지 (676) 에서의 정보를 프로세싱하고 렌더링할 뿐만 아니라 수신자 사용자로부터 응답 입력들을 수신하기 위한 옵션적 동작들 (606') 을 수행할 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는 옵션적인 응답 메시지 (608') 를 서버 컴퓨팅 디바이스 (110) 에 송신할 수도 있고, 이 서버 컴퓨팅 디바이스는 차례로 옵션적인 응답 메시지 (608') 를 프로세싱하기 위한 옵션적 동작들 (672') 을 수행할 수도 있다.
현재 요청이 만족되는 것으로 결정될 때 (예를 들어, 옵션적인 응답 메시지 (608') 또는 응답 메시지 (608) 로부터의 정보로 미해결 질문에 적절히 대답될 때), 서버 컴퓨팅 디바이스 (110) 는 현재 요청이 완전히 만족되었음을 나타내는 메시지 (678) 를 사용자 컴퓨팅 디바이스 (102) 에 송신할 수도 있다. 사용자 컴퓨팅 디바이스 (102) 는, 예컨대 로컬 데이터베이스에 대한 클린-업 동작들을 수행하는 것, 또는 완료 메시지를 사용자에게 디스플레이하는 것에 의해, 메시지 (678) 를 프로세싱하기 위한 동작들 (680) 을 수행할 수도 있다. 서버 컴퓨팅 디바이스 (110) 는 또한 소거 메시지 (682) 를 수신자 컴퓨팅 디바이스 (180) 에 송신할 수도 있다. 수신자 컴퓨팅 디바이스 (180) 는, 예컨대 중계된 인비테이션 메시지 (654) 및/또는 현재 요청에 관련된 로컬로 저장된 정보를 제거하거나, 숨기거나, 또는 그렇지 않으면 조정하는 자동 클린-업 동작들을 수행하는 것에 의해, 소거 메시지 (682) 를 프로세싱하기 위한 동작들 (616) 을 수행할 수도 있다.
개인용 컴퓨터들 및 랩톱 컴퓨터들을 포함하는 다른 형태들의 컴퓨팅 디바이스들은 다양한 실시형태들을 구현하는 것에 이용될 수도 있다. 이러한 컴퓨팅 디바이스들은 통상적으로, 예시적인 랩톱 컴퓨팅 디바이스 (185) 를 예시하는 도 7 에 예시된 컴포넌트들을 포함한다. 많은 랩톱 컴퓨터들은 컴퓨터의 포인팅 디바이스로서 기능하는 터치 패드 터치 표면 (714) 을 포함하고, 그에 따라 상술되고 터치 스크린 디스플레이가 구비된 모바일 컴퓨팅 디바이스들 상에서 구현되는 것들과 유사한 드래그, 스크롤, 및 플릭 (flick) 제스처들을 수신할 수도 있다. 이러한 랩톱 컴퓨팅 디바이스 (185) 는 일반적으로, 디스크 드라이브 (706) 와 같은 대용량 비휘발성 메모리 및 휘발성 내부 메모리 (702) 에 커플링된 프로세서 (701) 를 포함한다. 랩톱 컴퓨팅 디바이스 (185) 는 또한 프로세서 (701) 에 커플링된 콤팩트 디스크 (CD) 및/또는 DVD 드라이브 (708) 를 포함할 수도 있다. 랩톱 컴퓨팅 디바이스 (185) 는 또한 프로세서 (701) 를 네트워크에 커플링하기 위한 네트워크 커넥션 회로와 같은 외부 메모리 디바이스들을 수용하거나 또는 데이터 커넥션들을 확립하기 위해 프로세서 (701) 에 커플링된 다수의 커넥터 포트들 (710) 을 포함할 수도 있다. 랩톱 컴퓨팅 디바이스 (185) 는 본 명세서에서 설명된 바와 같이 무선 신호들을 전송하고 수신하기 위해 하나 이상의 단거리 무선 신호 트랜시버들 (718) (예를 들어, 피넛®, 블루투스®, 지그비®, RF 라디오) 및 안테나들 (720) 을 가질 수도 있다. 트랜시버들 (718) 및 안테나들 (720) 은 다양한 무선 송신 프로토콜 스택들/인터페이스들을 구현하기 위한 상술된 회로부에서 이용될 수도 있다. 랩톱 또는 노트북 구성에서, 컴퓨터 하우징은 터치 패드 (714), 키보드 (712), 및 디스플레이 (716) 를 포함할 수도 있고, 이들 모두는 프로세서 (701) 에 커플링된다. 랩톱 컴퓨팅 디바이스 (185) 의 다른 구성들은 잘 알려져 있는 바와 같이 (예를 들어, USB 입력을 통해) 프로세서 (701) 에 커플링된 컴퓨터 마우스 또는 트랙볼을 포함할 수도 있고, 이것은 또한 다양한 실시형태들과 함께 이용될 수도 있다.
도 8 은 일 실시형태의 멀티코어 디바이스 (800) 를 예시한다. 다양한 실시형태들에서, 멀티코어 디바이스 (800) 는 내부 메모리 (802) 및 터치스크린 제어기 (804) 에 커플링된 프로세서 (801) 를 포함할 수도 있다. 프로세서 (801) 는 일반 또는 특정 프로세싱 태스크들을 위해 설계된 하나 이상의 멀티코어 IC들일 수도 있다. 내부 메모리 (802) 는 휘발성 또는 비휘발성 메모리일 수도 있고, 또한 보안 및/또는 암호화된 메모리, 또는 비보안 및/또는 비암호화된 메모리, 또는 이들의 임의의 조합일 수도 있다. 터치스크린 제어기 (804) 및 프로세서 (801) 는 또한 저항식 센싱 터치스크린, 정전식 센싱 터치스크린, 적외선 센싱 터치스크린 등과 같은 스크린 (812) 에 커플링될 수도 있다. 멀티코어 디바이스 (800) 는, 프로세서 (801) 에 및/또는 서로에 커플링된, 전송하고 수신하기 위한 하나 이상의 무선 신호 트랜시버들 (808) (예를 들어, 피넛®, 블루투스®, 지그비®, Wi-Fi, RF 라디오) 및 안테나들 (810) 을 가질 수도 있다. 트랜시버들 (808) 및 안테나들 (810) 은 다양한 무선 송신 프로토콜 스택들 및 인터페이스들을 구현하기 위한 상술된 회로부에서 이용될 수도 있다. 멀티코어 디바이스 (800) 는 셀룰러 네트워크를 통해 통신을 가능하게 하고 프로세서에 커플링되는 셀룰러 네트워크 무선 모뎀 칩 (816) 을 포함할 수도 있다. 멀티코어 디바이스 (800) 는 프로세서 (801) 에 커플링된 주변 디바이스 커넥션 인터페이스 (818) 를 포함할 수도 있다. 주변 디바이스 커넥션 인터페이스 (818) 는 하나의 타입의 커넥션을 수용하도록 단독으로 구성되거나, 또는 USB, 파이어와이어, 선더볼트, 또는 PCIe 와 같은, 공공의 또는 사유의, 다양한 타입들의 물리적 및 통신 커넥션들을 수용하도록 복합적으로 구성될 수도 있다. 주변 디바이스 커넥션 인터페이스 (818) 는 또한 유사하게 구성된 주변 디바이스 커넥션 포트 (미도시) 에 커플링될 수도 있다. 멀티코어 디바이스 (800) 는 또한 오디오 출력들을 제공하기 위한 스피커들 (814) 을 포함할 수도 있다. 멀티코어 디바이스 (800) 는 또한 본 명세서에서 논의된 컴포넌트들 중 전부 또는 일부를 포함하기 위해, 플라스틱, 금속, 또는 재료들의 조합으로 구성된 하우징 (820) 을 포함할 수도 있다. 멀티코어 디바이스 (800) 는 일회용 또는 재충전가능 배터리와 같은, 프로세서 (801) 에 커플링된 전력 소스 (822) 를 포함할 수도 있다. 재충전가능 배터리는 또한 멀티코어 디바이스 (800) 외부의 소스로부터 충전 전류를 수신하기 위해 주변 디바이스 커넥션 포트에 커플링될 수도 있다.
다양한 실시형태들은 도 9 에 예시된 서버 컴퓨팅 디바이스 (110) 와 같은 다양한 상업적으로 입수가능한 서버 디바이스들 중 임의의 서버 디바이스 상에서 구현될 수도 있다. 이러한 서버 컴퓨팅 디바이스 (110) 는 통상적으로, 디스크 드라이브 (903) 와 같은 대용량 비휘발성 메모리 및 휘발성 메모리 (902) 에 커플링된 프로세서 (901) 를 포함한다. 서버 컴퓨팅 디바이스 (110) 는 또한 프로세서 (901) 에 커플링된 플로피 디스크 드라이브, 콤팩트 디스크 (CD) 또는 DVD 디스크 드라이브 (906) 를 포함할 수도 있다. 서버 컴퓨팅 디바이스 (110) 는 또한 다른 브로드캐스트 시스템 컴퓨터들 및 서버들에 커플링된 로컬 영역 네트워크와 같은 네트워크 (905) 와의 데이터 커넥션들을 확립하기 위해 프로세서 (901) 에 커플링된 네트워크 액세스 포트들 (904) 을 포함할 수도 있다.
프로세서들 (701, 801, 및 901) 은 상술된 다양한 실시형태들의 기능들을 포함하는, 다양한 기능들을 수행하도록 소프트웨어 명령들 (애플리케이션들) 에 의해 구성될 수 있는 임의의 프로그램가능 마이크로프로세서, 마이크로컴퓨터 또는 다중 프로세서 칩 또는 칩들일 수도 있다. 다양한 디바이스들에서, 다수의 프로세서들은 하나의 프로세서가 무선 통신 기능들에 전용되고 하나의 프로세서가 다른 애플리케이션들을 실행하는 것에 전용되는 것과 같이 제공될 수도 있다. 통상적으로, 소프트웨어 애플리케이션들은 프로세서들 (701, 801, 및 901) 에 액세스되어 로딩되기 전에 내부 메모리 (702, 802, 및 902) 에 저장될 수도 있다. 프로세서들 (701, 801, 및 901) 은 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수도 있다. 많은 디바이스들에서, 내부 메모리는 휘발성 또는 비휘발성 메모리, 예컨대 플래시 메모리, 또는 이들 양쪽의 혼합물일 수도 있다. 이 설명의 목적들을 위해, 메모리에 대한 일반적인 언급은, 다양한 디바이스들에 플러그된 착탈식 메모리 또는 내부 메모리 및 프로세서들 (701, 801, 및 901) 내의 메모리를 포함하는, 프로세서들 (701, 801, 및 901) 에 의해 액세스가능한 메모리를 지칭한다.
전술한 방법 설명들 및 프로세스 플로우 다이어그램들은 단지 예시적인 예들로서 제공된 것일 뿐이고, 다양한 실시형태들의 단계들이 제시된 순서로 수행되어야 함을 요구하거나 암시하려고 의도된 것이 아니다. 당업자에 의해 인식되는 바와 같이, 전술한 실시형태들에서의 단계들의 순서는 임의의 순서로 수행될 수도 있다. "그 후", "그 후에", "그 다음에" 등과 같은 단어들은 단계들의 순서를 제한하려고 의도된 것이 아니다; 이러한 단어들은 단지 방법들의 설명을 통해 독자를 가이드하기 위해 사용된다. 게다가, 예를 들어, "a", "an" 또는 "the" 와 같은 관사들을 사용한, 청구항 엘리먼트들에 대한 단수로의 임의의 언급은 그 엘리먼트를 단수로 제한하는 것으로 해석되어서는 안된다.
본 명세서에 개시된 실시형태들과 관련되어 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 양쪽의 조합들로서 구현될 수도 있다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들을 그들의 기능성 관점에서 일반적으로 상술되었다. 이러한 기능성이 하드웨어로서 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과되는 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자들은 각각의 특정 애플리케이션에 대한 다양한 방법들로 설명된 기능성을 구현할 수도 있지만, 이러한 구현 판정들은 본 발명의 범위로부터의 벗어남을 야기시키는 것으로 해석되어서는 안된다.
본 명세서에 개시된 실시형태들과 관련되어 설명된 다양한 예시적인 로직들, 논리 블록들, 모듈들, 및 회로들을 구현하기 위해 이용된 하드웨어는, 본 명세서에서 설명된 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 이들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로는, 그 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 협력하는 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로도 구현될 수도 있다. 대안적으로, 일부 단계들 또는 방법들은 주어진 기능에 특정된 회로부에 의해 수행될 수도 있다.
하나 이상의 예시적인 실시형태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 기능들은 하나 이상의 명령들 또는 코드로서 비일시적 프로세서 판독가능, 컴퓨터 판독가능, 또는 서버 판독가능 매체 또는 비일시적 프로세서 판독가능 저장 매체 상에 저장 또는 송신될 수도 있다. 본 명세서에 개시된 방법 또는 알고리즘의 단계들은 비일시적 컴퓨터 판독가능 저장 매체, 비일시적 서버 판독가능 저장 매체, 및/또는 비일시적 프로세서 판독가능 저장 매체 상에 상주할 수도 있는 프로세서 실행가능 소프트웨어 모듈 또는 프로세서 실행가능 명령들 (또는 소프트웨어 명령들) 로 구현될 수도 있다. 다양한 실시형태들에서, 이러한 명령들은 저장된 프로세서 실행가능 명령들 또는 저장된 프로세서 실행가능 소프트웨어 명령들일 수도 있다. 유형 (tangible) 의, 비일시적 컴퓨터 판독가능 저장 매체들은 컴퓨터에 의해 액세스될 수도 있는 임의의 가용 매체들일 수도 있다. 제한이 아닌 예로서, 이러한 비일시적 컴퓨터 판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 이용될 수도 있으며 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체들을 포함할 수도 있다. 디스크 (disk) 및 디스크 (disc) 는, 본 명세서에서 사용되는 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 데이터를 자기적으로 보통 재생하지만, 디스크 (disc) 들은 레이저로 데이터를 광학적으로 재생한다. 또한, 위의 조합들도 비일시적 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다. 부가적으로, 방법 또는 알고리즘의 동작들은 컴퓨터 프로그램 제품에 포함될 수도 있는 유형의, 비일시적 프로세서 판독가능 저장 매체 및/또는 컴퓨터 판독가능 매체 상의 코드들 및/또는 명령들의 하나 또는 임의의 조합 또는 세트로서 상주할 수도 있다.
개시된 실시형태들의 이전 설명은 당업자가 본 발명을 제조하거나 이용하는 것을 가능하게 하도록 제공된다. 이들 실시형태들에 대한 다양한 수정들은 당업자들에게 쉽게 명백할 것이며, 본 명세서에 정의된 일반적 원리들은 본 발명의 사상 또는 범위로부터 벗어남이 없이 다른 실시형태들에 적용될 수도 있다. 따라서, 본 발명은 본 명세서에 보여진 실시형태들로 제한되도록 의도된 것이 아니라, 본 명세서에 개시된 원리들과 신규한 피처들 및 다음의 청구항들에 부합하는 가장 넓은 범위를 부여받게 하려는 것이다.

Claims (30)

  1. 사용자들로부터의 응답들을 요구하기 위한 협업 툴 (collaboration tool) 을 제공하는 방법으로서,
    사용자로부터의 요청을 컴퓨팅 디바이스에서 수신하는 단계;
    복수의 컴퓨팅 디바이스들로 하여금 상기 요청에 대한 응답을 요구하는 디스플레이를 렌더링하게 하는 인비테이션 메시지 (invitation message) 를 상기 컴퓨팅 디바이스로부터 상기 복수의 컴퓨팅 디바이스들로 송신하는 단계;
    상기 복수의 컴퓨팅 디바이스들 중 적어도 하나로부터의 상기 요청에 관련된 응답 메시지를 상기 컴퓨팅 디바이스에서 수신하는 단계;
    수신된 상기 응답 메시지가 상기 요청을 만족 (fulfill) 시키는지 여부를 결정하기 위해 수신된 상기 응답 메시지를 상기 컴퓨팅 디바이스에 의해 평가하는 단계; 및
    수신된 상기 응답 메시지가 상기 요청을 만족시킨다는 결정에 응답하여 상기 컴퓨팅 디바이스로부터 상기 복수의 컴퓨팅 디바이스들로 소거 메시지를 송신하는 단계
    를 포함하고,
    상기 소거 메시지는, 상기 복수의 컴퓨팅 디바이스들로 하여금, 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 자동으로 클린-업 (clean-up) 하기 위한 동작들을 수행하게 하도록 구성되는, 사용자들로부터의 응답들을 요구하기 위한 협업 툴을 제공하는 방법.
  2. 제 1 항에 있어서,
    수신된 상기 응답 메시지가 상기 요청을 만족시킨다는 결정에 응답하여 상기 요청이 만족됨을 나타내기 위해 로컬 데이터에 대한 클린-업 동작들을 상기 컴퓨팅 디바이스에서 자동으로 수행하는 단계를 더 포함하는, 사용자들로부터의 응답들을 요구하기 위한 협업 툴을 제공하는 방법.
  3. 제 1 항에 있어서,
    상기 요청은 상기 복수의 컴퓨팅 디바이스들과 연관된 수신자들에 의해 대답될 질문 또는 상기 복수의 컴퓨팅 디바이스들과 연관된 수신자들에 의해 완료될 태스크 (task) 중 적어도 하나인, 사용자들로부터의 응답들을 요구하기 위한 협업 툴을 제공하는 방법.
  4. 제 1 항에 있어서,
    상기 요청에 대한 응답을 요구하는 상기 디스플레이는, 상기 요청에 관련된 응답 메시지들을 송신하기 위한 상기 복수의 컴퓨팅 디바이스들에 대한 선호된 응답 모드를 나타내는, 사용자들로부터의 응답들을 요구하기 위한 협업 툴을 제공하는 방법.
  5. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스는 서버 또는 모바일 컴퓨팅 디바이스 중 하나인, 사용자들로부터의 응답들을 요구하기 위한 협업 툴을 제공하는 방법.
  6. 제 1 항에 있어서,
    수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 요청의 만족되지 않은 부분들에 대응하는 팔로우-업 요청을 상기 컴퓨팅 디바이스에 의해 생성하는 단계; 및
    수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 팔로우-업 요청에 대한 응답들을 요구하는 업데이팅된 인비테이션 메시지를 상기 컴퓨팅 디바이스로부터 상기 복수의 컴퓨팅 디바이스들로 송신하는 단계
    를 더 포함하는, 사용자들로부터의 응답들을 요구하기 위한 협업 툴을 제공하는 방법.
  7. 제 6 항에 있어서,
    수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 팔로우-업 요청에 대한 응답들을 요구하는 업데이팅된 인비테이션 메시지를 상기 컴퓨팅 디바이스로부터 상기 복수의 컴퓨팅 디바이스들로 송신하는 단계는,
    상기 요청에 관련된 응답 메시지를 송신한 상기 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 1 세트를 상기 컴퓨팅 디바이스에 의해 식별하는 단계;
    상기 디바이스들의 제 1 세트로 하여금 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 자동으로 클린-업하기 위한 동작들을 수행하게 하도록 구성된 소거 메시지를, 상기 컴퓨팅 디바이스로부터 상기 디바이스들의 제 1 세트로 송신하는 단계;
    상기 요청에 관련된 응답 메시지들을 송신하지 않았던 상기 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 2 세트를 상기 컴퓨팅 디바이스에 의해 식별하는 단계; 및
    상기 업데이팅된 인비테이션 메시지를 상기 컴퓨팅 디바이스로부터 상기 디바이스들의 제 2 세트로 송신하는 단계
    를 포함하는, 사용자들로부터의 응답들을 요구하기 위한 협업 툴을 제공하는 방법.
  8. 제 1 항에 있어서,
    상기 요청을 유효화 (validate) 하기 위해 데이터 소스들로부터의 정보를 획득하는 단계로서, 상기 정보는 현재 시간, 위치 정보, 및 상기 컴퓨팅 디바이스가 상기 요청이 관련성을 유지하는지 여부를 결정하는 것을 가능하게 하는 정보 중 적어도 하나를 포함하고, 상기 데이터 소스들은 시간 측정 유닛, 위치 정보의 소스, 로컬 정보 데이터베이스, 및 인터넷 리소스 중 적어도 하나를 포함하는, 상기 요청을 유효화하기 위해 데이터 소스들로부터의 정보를 획득하는 단계; 및
    획득된 상기 정보에 기초하여 상기 요청이 여전히 유효한지 여부를 결정하는 단계
    를 더 포함하고,
    수신된 상기 응답 메시지가 상기 요청을 만족시킨다는 결정에 응답하여 상기 컴퓨팅 디바이스로부터 상기 복수의 컴퓨팅 디바이스들로 소거 메시지를 송신하는 단계는, 획득된 상기 정보에 기초하여 상기 요청이 여전히 유효하지 않다는 결정에 응답하여 또는 수신된 상기 응답 메시지가 상기 요청을 만족시킨다는 결정에 응답하여 상기 컴퓨팅 디바이스로부터 상기 복수의 컴퓨팅 디바이스들로 소거 메시지를 송신하는 단계를 포함하는, 사용자들로부터의 응답들을 요구하기 위한 협업 툴을 제공하는 방법.
  9. 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성된 프로세서를 포함하는 컴퓨팅 디바이스로서,
    상기 동작들은,
    사용자로부터의 요청을 수신하는 것;
    복수의 컴퓨팅 디바이스들로 하여금 상기 요청에 대한 응답을 요구하는 디스플레이를 렌더링하게 하는 인비테이션 메시지를 상기 복수의 컴퓨팅 디바이스들로 송신하는 것;
    상기 복수의 컴퓨팅 디바이스들 중 적어도 하나로부터의 상기 요청에 관련된 응답 메시지를 수신하는 것;
    수신된 상기 응답 메시지가 상기 요청을 만족시키는지 여부를 결정하기 위해 수신된 상기 응답 메시지를 평가하는 것; 및
    수신된 상기 응답 메시지가 상기 요청을 만족시킨다는 결정에 응답하여 상기 복수의 컴퓨팅 디바이스들로 소거 메시지를 송신하는 것
    을 포함하고,
    상기 소거 메시지는, 상기 복수의 컴퓨팅 디바이스들로 하여금, 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 자동으로 클린-업하기 위한 동작들을 수행하게 하도록 구성되는, 컴퓨팅 디바이스.
  10. 제 9 항에 있어서,
    상기 프로세서는, 수신된 상기 응답 메시지가 상기 요청을 만족시킨다는 결정에 응답하여 상기 요청이 만족됨을 나타내기 위해 로컬 데이터에 대한 클린-업 동작들을 자동으로 수행하는 것을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  11. 제 9 항에 있어서,
    상기 요청은 상기 복수의 컴퓨팅 디바이스들과 연관된 수신자들에 의해 대답될 질문 또는 상기 복수의 컴퓨팅 디바이스들과 연관된 수신자들에 의해 완료될 태스크 중 적어도 하나인, 컴퓨팅 디바이스.
  12. 제 9 항에 있어서,
    상기 요청에 대한 응답을 요구하는 상기 디스플레이는, 상기 요청에 관련된 응답 메시지들을 송신하기 위한 상기 복수의 컴퓨팅 디바이스들에 대한 선호된 응답 모드를 나타내는, 컴퓨팅 디바이스.
  13. 제 9 항에 있어서,
    상기 컴퓨팅 디바이스는 서버 또는 모바일 컴퓨팅 디바이스 중 하나인, 컴퓨팅 디바이스.
  14. 제 9 항에 있어서,
    상기 프로세서는,
    수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 요청의 만족되지 않은 부분들에 대응하는 팔로우-업 요청을 생성하는 것; 및
    수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 팔로우-업 요청에 대한 응답들을 요구하는 업데이팅된 인비테이션 메시지를 상기 복수의 컴퓨팅 디바이스들로 송신하는 것
    을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  15. 제 14 항에 있어서,
    상기 프로세서는, 수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 팔로우-업 요청에 대한 응답들을 요구하는 업데이팅된 인비테이션 메시지를 상기 복수의 컴퓨팅 디바이스들로 송신하는 것이,
    상기 요청에 관련된 응답 메시지를 송신한 상기 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 1 세트를 식별하는 것;
    상기 디바이스들의 제 1 세트로 하여금 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 자동으로 클린-업하기 위한 동작들을 수행하게 하도록 구성된 소거 메시지를, 상기 디바이스들의 제 1 세트로 송신하는 것;
    상기 요청에 관련된 응답 메시지들을 송신하지 않았던 상기 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 2 세트를 식별하는 것; 및
    상기 업데이팅된 인비테이션 메시지를 상기 디바이스들의 제 2 세트로 송신하는 것
    을 포함하도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  16. 컴퓨팅 디바이스의 프로세서로 하여금 사용자들로부터의 응답들을 요구하기 위한 협업 툴을 제공하기 위한 동작들을 수행하게 하도록 구성된 프로세서 실행가능 명령들을 저장한 비일시적 프로세서 판독가능 저장 매체로서,
    상기 동작들은,
    사용자로부터의 요청을 상기 컴퓨팅 디바이스에서 수신하는 것;
    복수의 컴퓨팅 디바이스들로 하여금 상기 요청에 대한 응답을 요구하는 디스플레이를 렌더링하게 하는 인비테이션 메시지를 상기 컴퓨팅 디바이스로부터 상기 복수의 컴퓨팅 디바이스들로 송신하는 것;
    상기 복수의 컴퓨팅 디바이스들 중 적어도 하나로부터의 상기 요청에 관련된 응답 메시지를 상기 컴퓨팅 디바이스에서 수신하는 것;
    수신된 상기 응답 메시지가 상기 요청을 만족시키는지 여부를 결정하기 위해 수신된 상기 응답 메시지를 상기 컴퓨팅 디바이스에 의해 평가하는 것; 및
    수신된 상기 응답 메시지가 상기 요청을 만족시킨다는 결정에 응답하여 상기 컴퓨팅 디바이스로부터 상기 복수의 컴퓨팅 디바이스들로 소거 메시지를 송신하는 것
    을 포함하고,
    상기 소거 메시지는, 상기 복수의 컴퓨팅 디바이스들로 하여금, 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 자동으로 클린-업하기 위한 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  17. 제 16 항에 있어서,
    저장된 상기 프로세서 실행가능 명령들은, 상기 프로세서로 하여금, 수신된 상기 응답 메시지가 상기 요청을 만족시킨다는 결정에 응답하여 상기 요청이 만족됨을 나타내기 위해 로컬 데이터에 대한 클린-업 동작들을 자동으로 수행하는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  18. 제 16 항에 있어서,
    상기 요청은 상기 복수의 컴퓨팅 디바이스들과 연관된 수신자들에 의해 대답될 질문 또는 상기 복수의 컴퓨팅 디바이스들과 연관된 수신자들에 의해 완료될 태스크 중 적어도 하나인, 비일시적 프로세서 판독가능 저장 매체.
  19. 제 16 항에 있어서,
    상기 요청에 대한 응답을 요구하는 상기 디스플레이는, 상기 요청에 관련된 응답 메시지들을 송신하기 위한 상기 복수의 컴퓨팅 디바이스들에 대한 선호된 응답 모드를 나타내는, 비일시적 프로세서 판독가능 저장 매체.
  20. 제 16 항에 있어서,
    저장된 상기 프로세서 실행가능 명령들은, 상기 프로세서로 하여금,
    수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 요청의 만족되지 않은 부분들에 대응하는 팔로우-업 요청을 상기 컴퓨팅 디바이스에 의해 생성하는 것; 및
    수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 팔로우-업 요청에 대한 응답들을 요구하는 업데이팅된 인비테이션 메시지를 상기 컴퓨팅 디바이스로부터 상기 복수의 컴퓨팅 디바이스들로 송신하는 것
    을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  21. 제 20 항에 있어서,
    저장된 상기 프로세서 실행가능 명령들은, 상기 프로세서로 하여금, 수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 팔로우-업 요청에 대한 응답들을 요구하는 업데이팅된 인비테이션 메시지를 상기 컴퓨팅 디바이스로부터 상기 복수의 컴퓨팅 디바이스들로 송신하는 것이,
    상기 요청에 관련된 응답 메시지를 송신한 상기 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 1 세트를 상기 컴퓨팅 디바이스에 의해 식별하는 것;
    상기 디바이스들의 제 1 세트로 하여금 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 자동으로 클린-업하기 위한 동작들을 수행하게 하도록 구성된 소거 메시지를, 상기 컴퓨팅 디바이스로부터 상기 디바이스들의 제 1 세트로 송신하는 것;
    상기 요청에 관련된 응답 메시지들을 송신하지 않았던 상기 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 2 세트를 상기 컴퓨팅 디바이스에 의해 식별하는 것; 및
    상기 업데이팅된 인비테이션 메시지를 상기 컴퓨팅 디바이스로부터 상기 디바이스들의 제 2 세트로 송신하는 것
    을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  22. 통신 시스템으로서,
    컴퓨팅 디바이스; 및
    복수의 컴퓨팅 디바이스들
    을 포함하고, 상기 컴퓨팅 디바이스는,
    사용자로부터의 요청을 수신하는 것; 및
    상기 복수의 컴퓨팅 디바이스들로 하여금 상기 요청에 대한 응답을 요구하는 디스플레이를 렌더링하게 하는 인비테이션 메시지를 상기 복수의 컴퓨팅 디바이스들로 송신하는 것
    을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    상기 복수의 컴퓨팅 디바이스들 각각은,
    상기 컴퓨팅 디바이스로부터 상기 인비테이션 메시지를 수신하는 것;
    수신된 상기 인비테이션 메시지에 기초하여 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 렌더링하는 것;
    상기 디스플레이의 렌더링에 응답하여 상기 요청에 관련된 사용자 입력을 수신하는 것; 및
    수신된 상기 사용자 입력을 포함하는 응답 메시지를 상기 컴퓨팅 디바이스에 송신하는 것
    을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    상기 컴퓨팅 디바이스는,
    상기 복수의 컴퓨팅 디바이스들 중 적어도 하나로부터의 상기 요청에 관련된 응답 메시지를 수신하는 것;
    수신된 상기 응답 메시지가 상기 요청을 만족시키는지 여부를 결정하기 위해 수신된 상기 응답 메시지를 평가하는 것; 및
    수신된 상기 응답 메시지가 상기 요청을 만족시킨다는 결정에 응답하여 상기 복수의 컴퓨팅 디바이스들로 소거 메시지를 송신하는 것
    을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    상기 소거 메시지는, 상기 복수의 컴퓨팅 디바이스들로 하여금, 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 자동으로 클린-업하기 위한 동작들을 수행하게 하도록 구성되고,
    상기 복수의 컴퓨팅 디바이스들 각각은,
    상기 컴퓨팅 디바이스로부터 상기 소거 메시지를 수신하는 것; 및
    상기 소거 메시지의 수신에 응답하여 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 자동으로 클린-업하는 것
    을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  23. 제 22 항에 있어서,
    상기 컴퓨팅 디바이스는, 수신된 상기 응답 메시지가 상기 요청을 만족시킨다는 결정에 응답하여 상기 요청이 만족됨을 나타내기 위해 로컬 데이터에 대한 클린-업 동작들을 자동으로 수행하는 것을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  24. 제 22 항에 있어서,
    상기 요청은 상기 복수의 컴퓨팅 디바이스들과 연관된 수신자들에 의해 대답될 질문 또는 상기 복수의 컴퓨팅 디바이스들과 연관된 수신자들에 의해 완료될 태스크 중 적어도 하나인, 통신 시스템.
  25. 제 22 항에 있어서,
    상기 요청에 대한 응답을 요구하는 상기 디스플레이는, 상기 요청에 관련된 응답 메시지들을 송신하기 위한 상기 복수의 컴퓨팅 디바이스들에 대한 선호된 응답 모드를 나타내는, 통신 시스템.
  26. 제 22 항에 있어서,
    상기 컴퓨팅 디바이스는 서버 또는 모바일 컴퓨팅 디바이스 중 하나인, 통신 시스템.
  27. 제 22 항에 있어서,
    상기 컴퓨팅 디바이스는,
    수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 요청의 만족되지 않은 부분들에 대응하는 팔로우-업 요청을 생성하는 것; 및
    수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 팔로우-업 요청에 대한 응답들을 요구하는 업데이팅된 인비테이션 메시지를 상기 복수의 컴퓨팅 디바이스들로 송신하는 것
    을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    상기 복수의 컴퓨팅 디바이스들 각각은,
    상기 컴퓨팅 디바이스로부터 상기 업데이팅된 인비테이션 메시지를 수신하는 것; 및
    상기 업데이팅된 인비테이션 메시지에 기초하여 상기 사용자로부터의 다른 응답을 요구하기 위해 상기 디스플레이를 자동으로 조정하는 것
    을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  28. 제 27 항에 있어서,
    상기 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 1 세트; 및
    상기 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 2 세트
    를 더 포함하고,
    상기 컴퓨팅 디바이스는, 수신된 상기 응답 메시지가 상기 요청을 만족시키지 않는다는 결정에 응답하여 상기 팔로우-업 요청에 대한 응답들을 요구하는 업데이팅된 인비테이션 메시지를 상기 복수의 컴퓨팅 디바이스들로 송신하는 것이,
    상기 요청에 관련된 응답 메시지를 송신한 상기 복수의 컴퓨팅 디바이스들에서의 디바이스들로서 상기 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 1 세트를 식별하는 것;
    상기 디바이스들의 제 1 세트로 하여금 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 자동으로 클린-업하기 위한 동작들을 수행하게 하도록 구성된 소거 메시지를, 상기 디바이스들의 제 1 세트로 송신하는 것;
    상기 요청에 관련된 응답 메시지를 송신하지 않았던 상기 복수의 컴퓨팅 디바이스들에서의 디바이스들로서 상기 복수의 컴퓨팅 디바이스들에서의 디바이스들의 제 2 세트를 식별하는 것; 및
    상기 업데이팅된 인비테이션 메시지를 상기 디바이스들의 제 2 세트로 송신하는 것
    을 포함하도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  29. 제 27 항에 있어서,
    상기 컴퓨팅 디바이스는, 수신된 상기 응답 메시지에 기초하여 상기 요청의 부분적 만족을 나타내는 메시지를 상기 복수의 컴퓨팅 디바이스들 중 적어도 하나로 송신하는 것을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  30. 제 22 항에 있어서,
    상기 복수의 컴퓨팅 디바이스들 각각은, 상기 소거 메시지의 수신에 응답하여 상기 요청에 대한 응답을 요구하는 상기 디스플레이를 자동으로 클린-업하는 것이, 상기 디스플레이를 숨기는 것, 상기 디스플레이를 삭제하는 것, 상기 요청이 만족됨을 나타내기 위해 상기 디스플레이를 조정하는 것, 및 상기 요청이 변화된 우선순위를 가짐을 나타내기 위해 상기 디스플레이를 조정하는 것 중 하나를 포함하도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
KR1020167021548A 2014-01-22 2015-01-21 디스플레이들을 자동으로 조정하는 동적 인바이트들 KR20160108421A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/160,765 US9191349B2 (en) 2014-01-22 2014-01-22 Dynamic invites with automatically adjusting displays
US14/160,765 2014-01-22
PCT/US2015/012311 WO2015112640A1 (en) 2014-01-22 2015-01-21 Dynamic invites with automatically adjusting displays

Publications (1)

Publication Number Publication Date
KR20160108421A true KR20160108421A (ko) 2016-09-19

Family

ID=52463171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167021548A KR20160108421A (ko) 2014-01-22 2015-01-21 디스플레이들을 자동으로 조정하는 동적 인바이트들

Country Status (8)

Country Link
US (2) US9191349B2 (ko)
EP (1) EP3097525A1 (ko)
JP (1) JP6469117B2 (ko)
KR (1) KR20160108421A (ko)
CN (1) CN106415625B (ko)
BR (1) BR112016016864A2 (ko)
CA (1) CA2934040A1 (ko)
WO (1) WO2015112640A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210271534A1 (en) * 2019-04-09 2021-09-02 International Business Machines Corporation Deletion of events based on a plurality of factors in a connected car computing environment

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PE20151253A1 (es) * 2012-09-24 2015-10-04 Claremont Speede Metodo y sistema de acceso a datos y eliminacion de datos controlados por emisor movil
US9191349B2 (en) 2014-01-22 2015-11-17 Qualcomm Incorporated Dynamic invites with automatically adjusting displays
EP3125589A4 (en) * 2014-03-27 2017-11-15 Yulong Computer Telecommunication Scientific (Shenzhen) Co. Ltd. Information transmitting method and device and information receiving method and device
JP6487643B2 (ja) * 2014-07-02 2019-03-20 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、並びに記憶媒体
EP3165012A1 (en) * 2014-07-03 2017-05-10 Nuance Communications, Inc. System and method for suggesting actions based upon incoming messages
US10275487B2 (en) * 2015-06-09 2019-04-30 International Business Machines Corporation Demographic-based learning in a question answering system
US10123182B2 (en) * 2015-06-29 2018-11-06 Blackberry Limited Merging active group calls
US11327942B2 (en) * 2015-10-08 2022-05-10 Signal Vine, Inc. Systems and methods for providing a two-way, intelligent text messaging platform
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
ES2765415T3 (es) * 2016-10-21 2020-06-09 Fujitsu Ltd Aparato, método y programa de procesamiento de datos basado en microservicios
JP6561965B2 (ja) * 2016-10-28 2019-08-21 京セラドキュメントソリューションズ株式会社 通信機器及び通信プログラム
CN110036419B (zh) * 2016-12-06 2021-09-07 亚萨合莱有限公司 通过服务消费者设备提供对锁的访问
KR101928481B1 (ko) * 2017-04-07 2018-12-12 라인 가부시키가이샤 메시지와 대응되는 태스크를 생성, 처리, 관리하는 컴퓨터 프로그램 및 전자 기기
US10755050B2 (en) * 2017-06-19 2020-08-25 Verint Americas Inc. System and method for text analysis and routing of outgoing messages
CN107833574B (zh) * 2017-11-16 2021-08-24 百度在线网络技术(北京)有限公司 用于提供语音服务的方法和装置
US11431664B2 (en) * 2019-02-18 2022-08-30 State Farm Mutual Automobile Insurance Company Outbound dialer and messaging system and user interface for group messaging
US11146675B1 (en) 2019-02-18 2021-10-12 State Farm Mutual Automobile Insurance Company System and user interface having push-to-talk, outbound dialer, and messaging functions with recipients identified using a proxy alias
US20220343743A1 (en) * 2019-08-22 2022-10-27 Nec Corporation Display control apparatus, display control method, and program
CN111782674A (zh) * 2019-11-06 2020-10-16 北京京东尚科信息技术有限公司 一种任务查询方法及装置
US20230188491A1 (en) * 2021-12-13 2023-06-15 Ben Iceton Method and Related Systems for Dynamic Notification Management

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672853B2 (en) * 2002-03-29 2010-03-02 Siebel Systems, Inc. User interface for processing requests for approval
US7023980B2 (en) 2002-12-04 2006-04-04 Avaya Technology Corp. Outbound dialing decision criteria based
EP2098010A1 (en) 2006-11-30 2009-09-09 WANLESS, James Andrew A method and system for providing automated real-time contact information
CN101335909A (zh) * 2007-06-29 2008-12-31 北京帮助在线信息技术有限公司 一种移动在线帮助平台系统及其实现方法
US20090147778A1 (en) 2007-12-06 2009-06-11 James Andrew Wanless Method and system for targeted advertising in a communication system for mediating voice and text communications
US20110029622A1 (en) 2009-06-24 2011-02-03 Walker Jay S Systems and methods for group communications
CN101635010A (zh) * 2009-08-21 2010-01-27 腾讯科技(深圳)有限公司 问答社区中的问答处理方法及问答系统
US20120131170A1 (en) * 2009-08-21 2012-05-24 William John Spat System and method for fulfilling requests using a mobile device
US8782145B2 (en) * 2010-01-28 2014-07-15 Microsoft Corporation Following content item updates via chat groups
US8423392B2 (en) * 2010-04-01 2013-04-16 Google Inc. Trusted participants of social network providing answers to questions through on-line conversations
US8219452B2 (en) * 2010-04-09 2012-07-10 XO Group Inc. Systems and methods for a centralized gift registry with upload and merge of a retailer-specific registry
JP5110122B2 (ja) * 2010-06-18 2012-12-26 コニカミノルタビジネステクノロジーズ株式会社 コンテンツ収集装置、コンテンツ収集方法およびコンテンツ収集プログラム
US20120084168A1 (en) 2010-09-30 2012-04-05 Adair Aaron J Indication of the remaining duration of an event with a duration recoil feature
US20130325993A1 (en) 2011-02-22 2013-12-05 Rao's Infosoft Join Pvt. Ltd. Group based communication in a social networking space
GB2488551A (en) 2011-02-28 2012-09-05 Iml Ltd A participation system and method
GB201106555D0 (en) * 2011-04-19 2011-06-01 Tomtom Int Bv Taxi dispatching system
US8676937B2 (en) * 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
US20150193819A1 (en) * 2011-06-21 2015-07-09 Google Inc. Targeting Content to Meeting Location
US9692795B2 (en) * 2012-04-18 2017-06-27 Qualcomm Incorporated Dynamic group and event update method in phone based impromptu meet-up app
US10354004B2 (en) * 2012-06-07 2019-07-16 Apple Inc. Intelligent presentation of documents
EP2860683A4 (en) * 2012-06-11 2016-02-24 Samsung Electronics Co Ltd USER DEVICE, SERVER DEVICE, SYSTEM THEREFOR AND COMMERCIAL PROCESS THEREFOR
US9191349B2 (en) 2014-01-22 2015-11-17 Qualcomm Incorporated Dynamic invites with automatically adjusting displays

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210271534A1 (en) * 2019-04-09 2021-09-02 International Business Machines Corporation Deletion of events based on a plurality of factors in a connected car computing environment

Also Published As

Publication number Publication date
CA2934040A1 (en) 2015-07-30
JP2017510136A (ja) 2017-04-06
US20160072740A1 (en) 2016-03-10
CN106415625A (zh) 2017-02-15
US9191349B2 (en) 2015-11-17
US20150207766A1 (en) 2015-07-23
EP3097525A1 (en) 2016-11-30
BR112016016864A2 (pt) 2017-08-08
CN106415625B (zh) 2019-12-06
WO2015112640A1 (en) 2015-07-30
JP6469117B2 (ja) 2019-02-13
US9674121B2 (en) 2017-06-06

Similar Documents

Publication Publication Date Title
US9674121B2 (en) Dynamic invites with automatically adjusting displays
US20190124049A1 (en) Secure device to device communication channel
TWI420409B (zh) 行動上下文短訊服務廣告裝置、媒體以及方法
CA3056862C (en) Authentication of service requests initiated from a social networking site
CN106211020B (zh) 用于经由移动设备的ad hoc对等联网促进社交联网服务连接的系统、方法
EP2873204B1 (en) Method and system for delivering reminder information
CN102246153B (zh) 内容共享
EP1457911A1 (en) System and method for social interaction
US20170091717A1 (en) Auto extraction of tasks from unstructured communications such as emails and messages
US7603130B2 (en) Locating and displaying information about users of proximately located wireless computing devices
WO2020238873A1 (zh) 一种通信方法、服务器和通信系统
US20080134052A1 (en) Bootstrapping social networks using augmented peer to peer distributions of social networking services
JP2017523520A (ja) 通信及び関連機能のチャットベースのサポート
CN112311841B (zh) 信息推送方法、装置、电子设备和计算机可读介质
KR20140121417A (ko) 이동 통신 통합을 위한 방법들 및 시스템들
US11210633B2 (en) Collaborative event processing method and apparatus
US20090112982A1 (en) Automatic management of associations between users
KR20130143680A (ko) 메시지 서비스 시스템, 메시지 서비스 장치, 단말 장치 및 그의 자동 응답 서비스 방법
US20150052451A1 (en) Real time text message system
US20060154599A1 (en) Systems, methods, and media for providing wireless electronic messaging
KR20230132588A (ko) 오디오 대화에 기초하는 사용자 지향 액션들
WO2017006316A1 (en) Systems and methods for instant messaging
US20140108959A1 (en) Collaboration Network Platform Providing Virtual Rooms with Indication of Number and Identity of Users in the Virtual Rooms
US20210182354A1 (en) Social communities assistant
JP5944568B1 (ja) 管理システム、プログラム及び方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application