KR20180078327A - 동기 통신 조정 및 처리 - Google Patents

동기 통신 조정 및 처리 Download PDF

Info

Publication number
KR20180078327A
KR20180078327A KR1020187017887A KR20187017887A KR20180078327A KR 20180078327 A KR20180078327 A KR 20180078327A KR 1020187017887 A KR1020187017887 A KR 1020187017887A KR 20187017887 A KR20187017887 A KR 20187017887A KR 20180078327 A KR20180078327 A KR 20180078327A
Authority
KR
South Korea
Prior art keywords
communication session
request
receiving device
requesting
response
Prior art date
Application number
KR1020187017887A
Other languages
English (en)
Other versions
KR102049460B1 (ko
Inventor
제프리 에스. 피어스
마이크 디그맨
토레도 셀렌 에이. 모타
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20180078327A publication Critical patent/KR20180078327A/ko
Application granted granted Critical
Publication of KR102049460B1 publication Critical patent/KR102049460B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/16Communication-related supplementary services, e.g. call-transfer or call-hold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1096Supplementary features, e.g. call forwarding or call holding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/10Upper layer protocols adapted for application session management, e.g. SIP [Session Initiation Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

통신의 조정 및 처리는 수신 장치와 통신 세션을 설정하기 전에 요청 장치로부터 수신 장치로 통신 세션을 요청하고 요청 장치 안에서 수신 장치로부터의 요청 응답을 수신하는 것을 포함할 수 있다. 응답에 따라, 통신 세션이 요청 장치 안에서 응답에 기반하여 스케줄링된다.

Description

동기 통신 조정 및 처리
본 개시는 동기 통신에 관한 것으로서, 보다 상세히 말하면, 복수의 참가 장치들 간 동기 통신(synchronous communication)의 조정 및 처리에 관한 것이다.
전화 통화는 동기 통신의 한 형식이다. 다른 형식의 동기 통신처럼, 전화 통화를 설정하기 위해서는 발신자와 수신자가 모두 동시에 그 통화에 참여 가능해야 한다. 또한, 발신자와 수신자 모두 참여에 의지가 있어야 한다. 공교롭게도, 전화를 걸 때 발신자는 수신자가 실제로 통화 가능한지 여부를 알지 못한다. 마찬가지로 수신자는 해당 통화에 대해 한정된 정보를 가진다. 예를 들어 수신자는 통화 주제나 통화를 얼마나 길게 지속할지에 관한 정보가 거의 또는 전혀 없다.
이러한 이유로, 많은 사용자들이 수작업으로 전화통화를 계획하거나 스케줄링하려고 한다. 그러나 그러한 계획 과정은 보통 시간 소모적이며 지루하다. 많은 경우, 사용자들은 동기되지 않은 통신 채널, 예를 들어 전자 메일, 문자 등에 의존하여 전화 통화를 조정(coordinate)한다. 그러한 다른 통신 채널들은 조정되고 있는 전화 통화와 전혀 별개이며, 전화 통화 사용자 경험 안으로 통합되지 않는다.
하나 이상의 실시예들은 통신 방법에 관한 것이다. 한 양태의 방법은 수신 장치와 통신 세션을 설정하기 전에 요청 장치로부터 수신 장치로 통신 세션을 요청하는 단계, 및 요청 장치에서 수신 장치로부터의 요청 응답을 수신하는 단계를 포함할 수 있다. 상기 방법은 또한, 상기 응답에 따라, 상기 요청 장치 안에서 상기 응답에 기반하여 상기 통신 세션을 스케줄링하는 단계를 포함할 수 있다.
다른 양태에서, 상기 통신 세션을 스케줄링하는 단계는 통신 세션을 개시하라는 리마인더를 생성하는 단계를 포함하고, 상기 응답은 수신 장치로부터의 캘린더 데이터를 포함하며, 상기 리마인더는 상기 캘린더 데이터에 기반하여 스케줄링된다. 또한, 상기 리마인더는 요청 장치의 캘린더 데이터에 기반하여 스케줄링될 수 있다.
하나 이상의 실시예들은 통신 장치에 관한 것이다. 한 양태의 장치는 디스플레이 기기, 트랜시버, 및 상기 디스플레이 기기 및 트랜시버와 결합된 프로세서를 포함할 수 있다. 상기 프로세서는 수신 장치와 통신 세션을 설정하기 전에 수신 장치로 통신 세션 개시 요청을 전송하고, 수신 장치로부터 상기 요청에 대한 응답을 수신하는 단계를 포함하는 동작들을 개시하도록 구성될 수 있다. 상기 동작들은 또한, 상기 응답에 기반하여 상기 통신 세션을 스케줄링하는 것을 포함할 수 있다.
다른 양태의 장치는 디스플레이 기기, 트랜시버, 및 상기 디스플레이 기기 및 트랜시버와 결합된 프로세서를 포함할 수 있다. 상기 프로세서는 요청 장치와 통신 세션을 설정하기 전에 요청 장치로부터 통신 세션 개시 요청을 수신하고 그 응답에 기반하여 통신 세션을 스케줄링하는 것을 포함하는 동작을 개시하도록 구성될 수 있다.
하나 이상의 실시예들은 통신을 위한 프로그램 코드가 저장된 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품에 관한 것이다. 상기 프로그램 코드는 동작들을 수행하도록 프로세서에 의해 실행될 수 있다. 한 양태의 동작들은 수신 장치와 통신 세션을 설정하기 전에 요청 장치로부터 수신 장치로 통신 요청을 전송하는 동작, 및 요청 장치 안에서 수신 장치로부터의 요청 응답을 수신하는 동작을 포함할 수 있다. 상기 동작들은 상기 응답에 따라, 상기 요청 장치에서 상기 응답에 기반하여 상기 통신 세션을 스케줄링하는 동작을 포함할 수 있다.
다른 양태에서, 상기 통신 세션을 스케줄링하는 동작은 통신 세션을 개시하라는 리마인더를 생성하는 동작을 포함하고, 상기 응답은 수신 장치로부터의 캘린더 데이터를 포함하며, 상기 리마인더는 상기 캘린더 데이터에 기반하여 스케줄링된다. 한 양태의 요청 장치는 수신 장치 이외의 장치와 진행 중인 통신 세션에 관여하며, 상기 요청은 상기 진행 중인 통신 세션 상의 당사자들에 대한 식별 정보를 특정하며, 상기 수신 장치는 그 응답에 기반하여 상기 진행 중인 통신 세션에 합류된다.
하나 이상의 실시예들은 디스플레이 기기에 디스플레이되는 그래픽 사용자 인터페이스에 관한 것이다. 한 양태에서, 상기 디스플레이 기기에 디스플레이되는 상기 그래픽 사용자 인터페이스는, 선택될 때, 상기 수신 장치와 통신 세션을 설정하기 전에 요청 장치에서 수신 장치로 통신 세션 설정 요청을 전송하는 제어 사용자 인터페이스 요소를 디스플레이하도록 구성된 디스플레이 기기를 포함한다. 상기 디스플레이 기기는 또한, 통신 세션을 설정하라는 요청이 존재한다는 것을 나타내는 미결정 요청 사용자 인터페이스를 디스플레이하도록 구성될 수 있으며, 상기 미결정 요청 사용자 인터페이스는 상기 요청 장치 및 상기 수신 장치 사이에 통신 세션에 설정됨에 따라 사라지도록 구성된다.
이 발명의 해결수단(summary) 부분은 본 발명에 대한 소정 개념을 소개하려는 것일 뿐, 어떤 주요하거나 필수적인 특성들을 확인하기 위해 제공되는 것이 아니다. 본 발명의 다른 여러 특성들 및 실시예들은 첨부된 도면들 및 이하의 상세한 설명으로부터 자명해질 것이다.
도 1은 예시적 통신 플랫폼을 도시한다.
도 2는 통신 장치의 예시적 구조를 도시한다.
도 3은 복수의 장치들 간 통신 세션을 조정 및 처리하는 예시적 방법이다.
도 4는 통신 세션을 요청하는 예시적 사용자 인터페이스이다.
도 5는 통신 세션 요청 안에 포함될 메타데이터를 특정하는 사용자 인터페이스의 다른 예이다.
도 6은 미결정 통신 세션 요청을 보여주는 다른 예시적 사용자 인터페이스이다.
도 7은 통신 세션 요청을 생성하는 다른 예시적 사용자 인터페이스이다.
도 8은 수신 장치 상에서 통신 세션 요청을 디스플레이하는 다른 예시적 사용자 인터페이스이다.
도 9는 수신 장치 상에서 통신 세션 요청을 디스플레이하는 다른 예시적 사용자 인터페이스이다.
본 개시는 신규한 특징을 규정하는 청구항을 통해 결론지어질 수 있으나, 도면과 연계한 상세한 설명을 이해함으로써 이 명세서에 기술되는 다양한 특징들이 보다 잘 파악될 수 있을 것이다. 본 개시에서 기술되는 프로세스(들), 장치(들), 제조물(들) 및 그 변형들은 예시할 목적으로 제공된다. 개시된 특정한 구조 및 기능적 세부사항들은 한정하는 것이 아닌, 청구범위의 근거 및 사실상 적절히 상세화된 구조를 통해 기술되는 특징들을 다양하게 이용할 당업자를 가르치기 위한 전형적인 원리로서 해석되어야 한다. 또한, 본 개시에서 사용되는 용어들과 문구는 한정하는 것이라기 보다는 개시된 특징들의 이해 가능한 설명을 제공하기 위한 것이다.
본 개시는 동기 통신에 관한 것으로서, 보다 상세히 말하면, 복수의 참가 장치들 간 동기 통신의 조정 및 처리에 관한 것이다. 본 개시에서 제시되는 하나 이상의 예시적 실시예들은 동기 통신을 조정 및 처리하는 메커니즘을 제공한다. 요청 장치는 동기 통신에 대한 요청을 생성하여 그 요청을 수신 장치로 전송할 수 있다. 한 양태에서, 요청 장치는 수신 장치와의 동기 통신 세션(synchronous communication session) 설정 전에 상기 요청을 생성 및/또는 전송할 수 있다. 다른 양태에서, 요청 장치는 수신 장치와 동기 통신 세션을 개시하는 동안 상기 요청을 생성 및/또는 전송할 수 있다.
상기 요청은 다양한 메타데이터 항목들 중 어느 하나를 수신 장치로 제공할 수 있다. 수신 장치는 상기 요청을 수신함에 따라 알림(notification)을 디스플레이하거나 다른 방식으로 제공할 수 있다. 요청에 포함되는 메타데이터 항목이 알림 안에 포함될 수 있다. 또한 알림은 수신 장치의 사용자가 요청에 응답하기 위해 사용할 수 있는 하나 이상의 제어 요소(control element)들을 포함할 수 있다.
수신 장치는 요청에 대한 응답(reply)을 생성할 수 있다. 수신 장치는 장치 사용자의 제어 하에서 응답을 생성할 수 있다. 한 양태에서, 수신 장치는 응답 내에 메타데이터를 포함할 수 있다. 응답의 메타데이터 항목들 중 하나 이상은, 요청 장치(requesting device)로부터의 요청을 통해 수신된 메타데이터 항목(들)에 기반하여 응답 내에 결정되거나 포함될 수 있다. 요청 장치는 상기 응답을 수신하여 그에 따라 하나 이상의 동작을 수행할 수 있다. 예를 들어 응답 장치는 동기 통신 세션을 개시하고, 추후의 동기 통신 세션 스케줄링 등을 할 수 있다. 요청 장치에 의해 수행되는 특정 동작(들)은, 적어도 일부가, 상기 응답에 포함된 수신 장치로부터의 메타데이터 항목(들)에 기반하여 결정될 수 있다.
이 명세서에서 규정된 바와 같이, "동기 통신 세션"이라는 용어는 적어도 두 노드들이나 장치들(가령, 요청 장치 및 수신 장치) 사이에서, 그 노드들 간 반영구적(semi-permanent)으로 상호작용하는(가령, 동시발생적, 양방향) 정보 교환을 지원하는 통신 링크를 일컫는다. 동기 통신 세션(이하 "통신 세션")의 예는 오디오 통화(가령, 모바일 전화 통화, 지상선 통화, VoIP(Voice-Over-IP) 또는 인터넷 기반 오디오 통화), 비디오 통화 등을 포함하나, 그에 국한되지 않는다. 이 명세서에서 사용되는 "통화"라는 용어는 오디오 통화(audio call) 또는 비디오 통화(video call) 중 어느 하나, 또는 둘 모두를 일컫는다.
도 1은 예시적 통신 플랫폼(100)을 도시한다. 통신 플랫폼(100)은 복수의 장치들(105, 110 및 115), 하나 이상의 옵션 서비스들(120), 및 네트워크(125)를 포함한다. 도시된 장치들 및/또는 노드들의 개수는 예시할 목적을 위한 것일 뿐 한정하는 것이 아니라는 것을 알아야 한다. 통신 플랫폼(100)은 경우에 따라 추가적인 노드 또는 보다 적은 노드들을 포함할 수 있다.
장치들(105, 110 및 115) 및 서비스(들)(120)은 네트워크(125)에 연결된다. 장치들(105, 110 및 115) 및 서비스(들)(120)은 네트워크(125)를 통해 통신할 수 있다. 한 양태에서 장치들(105, 110 및 115)은 통신 장치들(이후 "장치")로서 구현된다. 통신 장치의 예들로는 컴퓨터(가령, 데스크탑, 랩탑, 태블릿 컴퓨터 등), 스마트 폰, 또는 기타 모바일 장치, 태블릿 컴퓨터 등을 포함하나, 그에 국한되지 않는다.
서비스(들)(120)은 하나 이상의 데이터 처리 시스템, 가령, 네트워크(120)에 연결된 서버로서 구현될 수 있다. 서비스(120)는 장치들(105, 110, 및/또는 115) 같은 장치들 간 통신 세션을 위해 음성 인식 동작, 자연어 처리(natural language processing: NLP) 동작 등과 같은 특정 동작을 제공하는 애플리케이션들을 실행할 수 있다. 하나 이상의 다른 실시예에서 서비스(들)(120)은 인터넷 기반 통화를 지원하는 하나 이상의 통신 서비스를 포함하거나 구현할 수 있다. 예를 들어 특정 서비스(120)는 인터넷 기반 동기 통신을 촉진 또는 구현하기 위해 사용자명 및/또는 패스워드와 같은 로그인 메커니즘을 이용하여 사용자를 로그인시킬 수 있다.
네트워크(125)는 장치들(105, 110 및/또는 115) 및 서비스(들)(120) 간 통신 링크를 제공하는데 사용되는 매체이다. 네트워크(125)는 전기적이든 광학적이든 관계없이, 유선 통신 링크들 및 무선 통신 링크들 같은 연결들을 포함할 수 있다. 네트워크(125)는 WAN(Wide Area Network), LAN(Local Area Network), WAN이든 LAN이든 관계없이 무선 네트워크, 모바일 네트워크, VPN(Virtual Private Network), PSTN(Public Switched Telephone Network) 등과 같은 다양한 각종 통신 기술들 중 어느 하나로서 구현되거나 그를 포함할 수 있다.
하나 이상의 실시예들에서, 장치(105)는 장치(110)로 요청(130)을 보낼 수 있다. 요청(130)은 장치(105) 및 장치(110)(가령, 장치(105)의 사용자 및 장치(110)의 사용자) 간 통신 세션의 설정을 요청한다. 요청(130)은 통신 세션 설정 전이나 통신 세션 설정 도중에 전송될 수 있다. 요청(130)에 답하여, 장치(110)는 요청(130)에 대한 알림을 디스플레이한다. 장치(110)는 요청(130)에 대한 응답(135)을 생성할 수 있다. 장치(110)는 장치(105)로 응답(135)을 전송할 수 있다. 응답(135)을 수신함에 따라, 장치(105)는 다양한 각종 동작들 중 어느 하나를 수행할 수 있다. 예를 들어 장치(105)는 장치(110)와의 통신 세션을 개시할 수 있다. 장치(105)는 추후 어떤 시간에 대한 통신 세션을 스케줄링할 수 있다. 다른 예에서, 장치(110)는 요청(130)을 수신함에 따라 장치(105)와의 통신 세션을 개시할 수 있다.
장치(105) 및 장치(110)가 진행 중인 통신 세션에 참여하는 다른 실시예에서, 장치(105)는 요청(140)을 생성하여 장치(115)로 요청(140)을 보낼 수 있다. 요청(140)은 진행 중인 통신 세션에 참여하라는 장치(115) 사용자를 위한 초대일 수 있다. 요청(140)은 장치(115)의 사용자가 진행 중인 통신 세션에 참여할지 여부를 결정하는 것을 돕도록, 진행 중인 통신 세션을 기술하는 메타데이터의 하나 이상의 항목들을 특정할 수 있다. 요청(130)으로부터의 메타데이터는 예컨대, 요청(140) 내에서 재활용 또는 재사용될 수 있다. 한 양태에서, 요청(140) 및 요청(140)의 수락에 응하여, 장치(115)는 진행 중인 통신 세션에 합류될 수 있다. 장치(115)의 사용자가 장치들(105 및 110) 간에 진행 중인 통신 세션이 끝나기 전에 요청(140)에 반응하지 않는 경우, 요청(140)은 취소될 수 있다. 예를 들어, 장치(105)나, 서비스들(120) 중 하나가 취소를 보낼 수 있다.
하나 이상의 실시예들에서, 요청들과 응답들은 중앙 집중 서비스를 통해(가령, 서비스(들)(120) 중 하나 이상에 의해) 통신될 수 있다. 그 경우, 사용자들 및/또는 장치들은 서비스를 통해 인증된다. 하나 이상의 다른 실시예들에서, 요청들 및/또는 응답들의 전달은 단문 서비스(SMS) 등과 같은 기존 데이터 채널을 이용하여 수행될 수 있다. 일 예에서, 특정하게 포맷된 SMS 메시지들이 요청들 및/또는 응답들을 전달하는데 사용될 수 있다. 예를 들어, 장치는 사람이 판독가능하고 장치가 분석 가능하도록 메시지를 만들 템플릿을 이용하여 요청을 텍스트 메시지로서 포맷팅할 수 있다.
하나 이상의 실시예들에서, 전화 번호가 고유 식별자로서 사용될 수 있다. 장치는 호출하는 전화 번호와 관련된 어떤 메타데이터가 그 번호로부터의 어떤 시간상 임박한 착신 통화(incomming call)들과 관련된다고 추정할 수 있다. 착신 전화 번호는 SMS 데이터 및 텍스트 메시지와 함께 자동으로 포함되며, 중앙 집중 서비스는 전화 번호를 사용자 계정과 연관시키는 것을 요할 수 있다. 다른 실시예에서, 요청 및/또는 응답이 리치 통신 서비스(Rich Communication Service)들을 사용하여 송수신될 수 있다.
하나 이상의 다른 실시예들에서 전화 번호 이외의 식별자들이 사용될 수 있다. 예를 들어 인터넷 기반 서비스의 경우, 장치들(105, 110 및 115)은 사용자 명 및 패스워드를 사용하여 서비스에 로그인할 수 있다. 이 명세서에 기술된 다양한 동작들 및 통신들을 촉진하기 위해 로그인이 요구될 수 있다.
요청들 및 응답들을 교환하기 위해 사용되는 메커니즘들에도 불구하고, 통신 세션 조정 및/또는 처리를 위해 이 명세서에서 기술된 프로세스가 통신 세션, 예컨대 통화와 같은 사용자 경험 안에 통합될 수 있다는 것을 알아야 한다. 이러한 통합이 도 3 및 도 4-9에 도시된 다양한 사용자 인터페이스들을 참조하여 보다 상세히 예시된다.
도 2는 통신 장치의 구조(200)에 대한 예를 도시한다. 일 실시예에서, 구조(200)는 데이터 처리 시스템을 위한 것이다. 예를 들어, 구조(200)는 모바일 장치, 컴퓨팅 시스템 등을 구현하기 위해 사용될 수 있다. 구조(200)는 도 1의 장치(들)(105, 110, 및/또는 115)을 구현하기 위해 사용될 수 있다.
구조(200)는 메모리 인터페이스(202), 하나 이상의 데이터 프로세서들, 이미지 프로세서들 및/또는 프로세서들(204), 및 주변 인터페이스(206)를 포함할 수 있다. 메모리 인터페이스(202), 하나 이상의 프로세서들(204) 및/또는 주변 인터페이스(206)는 분리된 구성요소들일 수 있고, 혹은 하나 이상의 집적 회로들 안에 집적될 수 있다. 구조(200) 안의 다양한 구성요소들은 예컨대, 하나 이상의 통신 버스들이나 신호선들에 의해 연결될 수 있다.
센서들, 장치들, 및 서브 시스템들이 주변 인터페이스(206)와 연결되어 여러 기능들을 도울 수 있다. 예를 들어, 모션 센서(210), 광 센서(212), 및 근접 센서(214)가 주변 인터페이스(206)와 연결되어 구조(200)를 사용하는 장치의 방향, 조명, 및 근접 기능들을 도울 수 있다. 위치 프로세서(215)(가령, GPS 수신기)가 주변 인터페이스(206)와 연결되어 지리적 위치식별을 지원할 수 있다. 전자기계(electronic magnetometer)(216)(가령, 집적 회로 칩) 역시 주변 인터페이스(206)와 연결되어, 자기 방향 ‘북쪽’을 판단하는데 사용될 수 있는 데이터를 제공할 수 있다. 따라서 전자기계(216)는 전자 나침반으로서 사용될 수 있다. 가속계 또한 주변 인터페이스(206)에 연결되어 구조(200)를 이용하는 장치 이동의 속도 및 방향 변화를 결정하는데 사용될 수 있는 데이터를 제공할 수 있다.
카메라 서브시스템(220) 및 광학 센서(222), 예컨대 CCD(charged coupled device)나 CMOS(complementary metal-oxide semiconductor) 광학 센서가 사용되어 이미지 및 비디오 클립을 레코딩하는 것과 같은 카메라 기능들을 도울 수 있다.
통신 기능들은 무선 주파수 수신기 및 송신기(가령, 트랜시버) 및/또는 광학(가령, 적외선) 수신기 및 송신기(가령, 트랜시버)를 포함할 수 있는 하나 이상의 무선 통신 서브시스템(224)을 통해 촉진될 수 있다. 통신 서브시스템(224)의 특정 디자인 및 구성은, 구조(200)를 사용하는 장치가 동작하도록 되어 있는 통신 네트워크(들)에 좌우될 수 있다. 예를 들어 장치는 GSM 네트워크, GPRS 네트워크, EDGE 네트워크, WiFi 또는 WiMax 네트워크, 블루투스 네트워크, 및/또는 이들의 어떤 조합을 통해 동작하도록 설계된 통신 서브시스템(224)을 포함할 수 있다. 무선 통신 서브시스템들(224)은, 구조(200)를 사용하는 장치가 다른 무선 장치들의 기지국으로서 구성될 수 있도록 하는 호스팅(hosting) 프로토콜들을 포함할 수 있다.
오디오 서브시스템(226)은 스피커(228) 및 마이크(230)와 연결되어, 음성 인식, 음성 복제, 디지털 레코딩, 및 전화 기능과 같은 음성이 가능한 기능들을 촉진시킬 수 있다.
I/O 서브시스템(240)은 디스플레이 기기 컨트롤러(242) 및/또는 기타 입력 컨트롤러(들)(244)을 포함할 수 있다. 디스플레이 기기 컨트롤러(242)는 디스플레이 기기(246)와 연결될 수 있다. 한 양태에서, 디스플레이 기기(246)는 터치 스크린이고, 디스플레이 기기 컨트롤러(242)는 터치 스크린 제어기이다. 디스플레이 기기(246) 및 디스플레이 기기 컨트롤러(242)는, 예컨대, 비한정적인 것으로서 용량성, 저항성, 적외선, 및 표면 탄성파 기술들을 포함하는 복수의 터치 감지 기술들뿐 아니라 기타 접근 센서 어레이들 또는 디스플레이 기기(246)와의 하나 이상의 접촉점들을 판단하기 위한 기타 소자들 중 어느 하나를 이용하여 접촉과 이동 또는 고장을 검출할 수 있다.
다른 입력 컨트롤러(들)(244)은 하나 이상의 버튼들, 로커(rocker) 스위치들, 썸휠(thumb-wheel), 적외선 포트, USB 포트 같은 다른 입력/컨트롤 장치들(248), 및/또는 스타일러스 같은 포인터 장치와 연결될 수 있다. 하나 이상의 버튼들(미도시)은 스피커(228) 및/또는 마이크(230)의 볼륨 제어를 위한 업/다운 버튼을 포함할 수 있다.
메모리 인터페이스(202)가 메모리(250)에 연결될 수 있다. 메모리(250)는 컴퓨터 판독가능 저장 매체의 일 예이다. 메모리(250)는 하나 이상의 자기 디스크 저장 소자, 하나 이상의 광학적 저장 소자, 및/또는 플래쉬 메모리(가령, NAND, NOR)와 같은 비휘발성 메모리 및 고속 랜덤 액세스 메모리몰(가령, 휘발성 메모리)를 포함할 수 있다. 메모리(250)는 리눅스(LINUX), 유닉스(UNIX), 모바일 운영체제, 내장된 운영체제 등과 같은 운영체제(252)를 저장할 수 있다. 운영체제(252)는 기본 시스템 서비스들을 처리하고 하드웨어 의존 작업들을 수행하기 위한 명령어들을 포함할 수 있다. 일부 구현예들에서, 운영체제(252)는 커널(kernel)을 포함할 수 있다.
메모리(250)는 또한, 하나 이상의 부가 장치들, 하나 이상의 컴퓨터들 및/또는 하나 이상의 서버들과의 통신을 돕기 위한 통신 명령어들; 그래픽 사용자 인터페이스 처리를 돕기 위한 그래픽 사용자 인터페이스 명령어들; 센서 관련 처리 및 기능들을 돕기 위한 센서 처리 명령어들; 전화 관련 프로세스들 및 기능들을 돕기 위한 전화 명령어들; 전자 메시지 관련 프로세스들 및 기능들을 돕기 위한 전자 메시지 명령어들; 웹 브라우징 관련 프로세스들 및 기능들을 돕기 위한 웹 브라우징 명령어들; 미디어 처리 관련 프로세스들 및 기능들을 돕기 위한 미디어 처리 명령어들; GPS 및 네비게이션 관련 프로세스들 및 기능들을 돕기 위한 GPS/네비게이션 명령어들; 및 카메라 관련 프로세스들 및 기능들을 돕기 위한 카메라 명령어들 같은 다른 프로그램 코드(254)를 저장할 수 있다.
메모리(250)는 또한 이 명세서에서 기술된 바와 같은 통신 세션의 조정 및 처리를 돕기 위한 요청 제어 프로그램 코드(256)를 저장할 수 있다. 예를 들어 요청 제어 프로그램 코드(256)는 통신 세션에 대한 요청 생성 및 전송, 요청에 대한 응답, 통신 세션 스케줄링, 및 통신 세션의 스케줄링 및 처리와 관련하여 이 명세서에 기술된 다양한 다른 동작들을 도울 수 있다. 일 실시예에서, 프로세서(들)(204)은 요청 제어 프로그램 코드(256) 실행 시, 동기 통신 유닛을 구현한다. 메모리(250)는 작업 관리, 리마인더, 캘린더, 및 스케줄링 기능들을 돕는 캘린더 프로그램 코드(258); 연락처 관리를 돕는 연락처 프로그램 코드(260); 및 하나 이상의 다른 애플리케이션(들)(262)을 포함할 수 있다. 보안 기능, 웹 비디오 기능 등을 돕기 위한 다른 프로그램 코드(미도시)가 포함될 수 있다.
위에서 확인한 명령어들 및 애플리케이션들 각각은 상술한 하나 이상의 기능들을 수행하기 위한 명령어들의 집합에 대응할 수 있다. 이러한 명령어들이 개별 소프트웨어 프로그램들, 절차들, 또는 모듈들로 구현될 필요는 없다. 메모리(250)는 추가적인 명령어들을 포함하거나 더 적은 명령어들을 포함할 수 있다. 또한, 구조(200)의 다양한 기능들이 하나 이상의 신호 처리 및/또는 ASIC(application specific integrated circuit)들을 포함하는 하드웨어 및/또는 소프트웨어에서 구현될 수 있다.
메모리(250) 내에 저장되는 프로그램 코드, 및 구조(200)와 동일하거나 유사한 어떤 구조를 이용한 장치에 의해 사용되거나, 생성되거나 작동되는 모든 데이터 항목들, 예컨대 요청, 응답, 메타데이터 항목, 캘린더 이벤트, 리마인더 등은 그러한 시스템이나 장치의 일부로서 이용될 때 기능성을 부여하는 기능적 데이터 구조들이다. 이 개시 안에서 규정된 바와 같이, "데이터 구조"는 물리적 메모리 내에서 데이터 모델의 데이터 구성을 물리적으로 구현한 것이다. 이와 같이 데이터 구조는 메모리 안에서 특정 전기 또는 자기 구조 요소들로 이루어진다. 데이터 구조는 프로세서를 이용하여 실행되는 응용 프로그램에 의해 사용되는 것과 같은 메모리에 저장되는 데이터에 물리적 체계를 부여한다.
구조(200)는 구현되는 장치의 특정 유형에 따라 도 2에 도시된 것보다 더 적은 구성요소들을 포함하거나, 도시되지 않은 부가적인 구성요소들을 포함할 수 있다. 또한, 특정 운영체제 및/또는 애플리케이션(들) 및/또는 기타 프로그램 코드는 장치 유형에 따라 가변될 수도 있다. 나아가, 도시된 구성요소들 중 하나 이상이 다른 구성요소에 병합되거나, 그 일부를 구성할 수 있다. 예를 들어, 한 프로세스는 적어도 어떤 메모리를 포함할 수 있다.
도 3은 복수의 장치들 간 통신 세션을 조정 및 처리하는 방법(300)의 일 예이다. 이 방법(300)과 관련하여 기술되는 동작들은 도 1을 참조하여 기술된 장치들 중 하나 이상에 의해 수행될 수 있다. 방법(300)은 장치 안에 직접 포함되는 통신 세션에 대한 명시적인 요청 메커니즘, 예를 들어 통화라는 사용자 경험을 제공하는 방법을 예시한다. 예를 들어, 이 명세서에 기술된 동작들은 요청 장치에 대해서든 수신 장치에 대해서든 관계없이, 통화 사용자 인터페이스 안에서 개시될 수 있다.
블록 305에서, 요청 장치가 통신 세션에 대한 요청을 생성한다. 일 실시예에서, 통신 세션을 즉시 개시하기 보다는 요청 장치의 사용자("요청 사용자")가 다른 사용자, 가령, 수신 사용자에게 요청을 전송하도록 선택할 수 있다. 예를들어, 통신 세션에 대한 요청 생성을 요구하는 사용자 입력에 응하여, 요청 장치가 수신 장치라 칭할 다른 장치로 전송될 수 있는 통신 세션에 대한 요청을 생성할 수 있다. 요청 사용자(requesting user)는 요청 수취자에 대한 정보를 식별하는 것과 같은, 요청 안에 포함되는 특정 데이터 항목들을 특정할 수 있다.
"수신 사용자(recipient user)" 및 "수신 장치(recipient device)"라는 용어들이 이 개시 안에서 종종 서로 대체 가능하게 사용될 수 있다는 것을 알아야 한다. 마찬가지로, "요청 사용자" 및 "요청 장치(requesting device)"라는 용어들도 이 개시 안에서 종종 서로 대체 가능하게 사용될 수 있다. 이와 관련하여, 요청 또는 응답을 특정 사용자에게 전송한다는 것은, 그 요청이나 응답이 그 사용자의 장치로 전송된다는 것을 의미한다. 어떤 경우, 요청이나 응답은 특정 장치, 예컨대 전화 번호를 이용할 때 모바일 전화기에 관한 것이다. 다른 경우, 요청이나 응답은 사용자가 어떤 통신 서비스, 예컨대 인터넷 기반 전화 및/또는 통신의 경우에 로그인하게 한 장치로 전송된다. 이와 같이 "수신 장치" 및 "요청 장치"라는 용어들은 그러한 장치들을 일컫는다.
블록 310에서 요청 장치는 옵션으로서, 요청에 포함될 메타데이터를 결정한다. 일 실시예에서, 요청에 포함될 메타데이터는 요청 사용자에 의해 수동으로 특정될 수 있다. 일 예로서, 요청 장치는 사용자 인터페이스를 제공하여, 그를 통해 요청 사용자가 요청에 포함되는 메타데이터의 하나 이상의 항목들을 특정하게 할 수 있다. 다른 실시예에서, 요청 장치는 메타데이터의 하나 이상의 항목들을 자동으로 결정하여 메타데이터를 요청 안에 포함시킬 수 있다.
요청에 포함될 수 있는 메타데이터 항목들의 예들로는 다음과 같은 것들이 포함되나, 그에 국한되지 않는다.
전화 번호, 사용자 명, 전자 메일 어드레스 등과 같은 요청 사용자의 아이디나 주소;
통신 세션의 목적이나 주제;
통신 세션의 추정된 지속기간;
요청되고 있는 통신 세션의 긴급도;
통신 세션을 개시하거나 설정할 제안되는 또는 추후 시간(들);
통신 세션의 이용 가능성;
이미지(들), 비디오(들), 및/또는 오디오 메시지(들)(가령, 레코딩들);
요청 사용자의 위치(사용자에 의해 수동적으로 특정되거나 요청 장치에 의해 자동으로 검출됨);
(가령, 요청자가 그날이나 다른 날의 특정 시점 이전에 통신해야 하는) 통신 세션 수행 마감시한;
통신 세션의 하나 이상의 다른 잠재적 참가자들의 아이디나 주소;
통신 세션을 설정하기 위해 사용될 통신 채널, 예컨대 대체 통신 채널 및/또는 그러한 통신 채널(들)의 어떤 필수 아이디들, 주소들, 또는 인증서들;
통신 세션을 개시해야 할 주체(가령, 장치);
요청이 자동으로 취소되거나 종료될 때를 나타내는 요청의 타임아웃(time out); 및
통신 세션이 전화 회의인 경우 회의 식별자 및/또는 패스워드
예시의 목적 상, 긴급도는 어떤 이진수로 특정되거나(가령, 긴급하거나 긴급하지 않음), 어떤 수치 척도에서 상대적인 우선순위 등으로 특정될 수 있다. 이와 마찬가지로, 지속기간은 "수 초", "수 분", 또는 "조금 시간이 걸릴 것이다"와 같은 상대적 용어들, 또는 특정 초, 분, 및/또는 시간과 같은 절대적인 용어로 특정될 수 있다. 요청 사용자(가령, 요청 장치)의 위치는 가능한 다양한 세분도 수준으로 전송 또는 특정될 수 있다. 일 예로서, 요청 사용자의 위치는 좌표를 이용해 특정될 수 있다. 다른 예에서 그러한 위치는 도시, 주, 나라 등과 같이 특정될 수 있다.
요청 사용자의 추후 이용 가능성은 사용자 인터페이스를 이용하는 요청 사용자에 의해 수동적으로 특정되거나 요청 장치에 의해 자동으로 결정될 수 있다. 예를 들어 요청 장치는 캘린더 애플리케이션 및/또는 그 안에 저장되거나 요청 사용자의 요청 장치에 의해 접근할 수 있는 캘린더 데이터와 상호동작함으로써 요청 사용자의 추후 이용 가능성을 판단하고, 그러한 이용 가능성을 메타데이터로서 요청 안에 넣을 수 있다. 다른 예에서, 요청 장치는 요청 사용자의 캘린더에서 예정된 다음 이벤트를 검출함으로써 요청 사용자의 캘린더 데이터로부터 통신 세션의 마감시한을 판단할 수 있고, 그 날짜 및/또는 시간(또는 검출된 이벤트에 앞선 어떤 시간)을 통신 세션의 마감시한으로 사용할 수 있다. 또한, 요청 사용자의 이용 가능성이 절대값(예를 들어, 통화 중 또는 통화 가능), 상대적인 값, 시간(들) 및/또는 시간 범위(들)이 선호도를 나타내는 값들을 가지는 선호 시간(들) 및/또는 시간 범위들로서 특정될 수 있다.
일 실시예에서 타임아웃은 요청 생성 시 요청 사용자에 의해 수동적으로 특정될 수 있다. 다른 실시예에서 타임아웃은 요청 장치에 의해 자동으로 결정될 수 있다. 일 예에서, 요청 장치는 타임아웃에 대해 60분 등과 같은 디폴트 값을 이용한다. 다른 예에서, 요청 장치는 요청 사용자의 캘린더 데이터로부터 타임아웃을 자동으로 결정할 수 있다. 예를 들어 요청 장치는 캘린더 데이터에서 요청 사용자의 다음 예약 시, 혹은 그 근처에서, 혹은 그에 앞서 요청을 중단(타임아웃)하도록 적응적 타임아웃 값을 정할 수 있다. 예시적인 예로서, 요청되고 있는 통신 세션의 예상 지속기간이 20분이고 요청 사용자의 예정된 다음 예약이 오후 2시인 경우, 요청 장치는 그 요청이 늦어도 오후 1시 40분에 만료되게(타임아웃되게) 설정할 수 있으며, 그러한 타임아웃은 예정된 다음 예약 시점 및 통신 세션의 예상 지속기간에 기반하여 결정된다. 이와 달리, 요청이 오후 2시나 그 근처에서 타임아웃되도록 설정될 수도 있다.
본 개시에 규정된 바와 같이, "통신 채널"이라는 용어는, 각각의 통신 채널이 특정한 통신 매체, 애플리케이션, 인프라, 통신 프로토콜 등 가운데 하나 이상의 서로 다른 조합을 활용하는 특정한 통신 기술을 의미한다. 각종 통신 채널들의 예들에는 인터넷 기반(가령, WiFi) 음성 통화, 인터넷 기반(가령, WiFi) 비디오 통화, 모바일 전화 네트워크를 통한 모바일 전화 통화 등이 포함되나, 그에 국한되지 않는다. 주어진 기술 안에서, 각각의 서로 다른 애플리케이션이 상이한 통신 채널로 간주될 수 도 있으며, 이때 한 판매자의 독점 또는 개방 플랫폼(가령, 인터넷 기반 오디오 및/또는 비디오 통화들)은 다른 판매자의 독점 또는 개방 플랫폼이 아닌 다른 통신 채널이라 간주된다.
하나 이상의 다른 실시예들에서, 요청 장치는 요청 사용자가 명시적으로 제공하는 초기 메타데이터에 기반하여 요청에 추가 메타데이터를 자동으로 추가할 수 있다. 예를 들어 요청 장치는 요청 장치에 저장된 캘린더 데이터에 요청 사용자가 제공한 통신 세션의 목적이나 주제를 매칭함에 따라, 마감시한(가령, 타임아웃)을 결정하여 통화 요청에 추가할 수 있다. 다른 예에서, 요청 사용자가 다른 상황으로부터의 정보를 제공하여 요청의 메타데이터에 추가할 수 있다. 예를 들어 요청 사용자는 요청 안에 전자 메일 메시지를 공유함으로써, 요청 장치가 전자 메일 메시지의 발송자를 요청에 대한 수취자로서 지정하고 전자 메일 메시지의 주제를 요청에 대한 주제로 사용하게 할 수 있다. 일 실시예에서, 서로 다른 애플리케이션들 간의 데이터 공유를 돕는 운영체제 내 "공유 의도(share intent)" 기능이 사용될 수 있다. 다른 예에서, 통신 세션(가령, 통화)이 예정된 미팅과 관련된 것이면, 수신 장치는 요청에 대한 주제로서 미팅 명칭을 자동으로 추가할 수 있다.
블록 315에서, 요청 장치는 요청 안에 통신 세션에 관한 메타데이터를 포함한다. 도 3에 도시된 바와 같이, 블록 310 및 315는 옵션이다. 따라서 다른 실시예에서는, 요청 개시에 따라 요청 장치가 메타데이터를 포함하지 않고 특정된 수신 사용자에게 요청을 즉시 전송할 수 있다. 그 경우, 요청이 수신 사용자에게 보내질 수 있다. 요청 장치는, 수신 사용자가 요청을 수락할지, 요청을 무시할지, 다른 시간대를 제시할지 등의 여부에 대한 판단을 도울 수 있는 추가 데이터를 제공하도록 요청 사용자에게 촉구할 수도, 하지 않을 수도 있다.
블록 320에서, 요청 장치는 수신 장치로 요청을 보낸다. 일 실시예에서, 요청 장치는 수신 장치와의 통신 세션 설정 전에 수신 장치로 요청을 보낼 수 있다. 예를 들어 요청 사용자가 통신 세션 개시 이전에 요청을 특정할 수 있다. 다른 실시예에서, 요청 장치는 수신 장치와의 통신 세션 개시의 일환으로서 수신 장치로 상기 요청을 보낼 수 있다. 예를 들어 요청 장치는 통신 세션 개시의 일환으로서, 혹은 통신 세션은 개시되나 수신 사용자가 통신 세션에 답하기(가령, 전화 받기, "응답 상태"되기, 수화기 들기나 기타 유사한 동작을 하기) 전에 수신 장치로 요청을 전송할 수 있다. 예로서, 요청 장치는 음성 또는 비디오 연결을 설정하기 위해 요청 사용자가 수신 사용자가 응답하거나 "수화기를 드는 것"을 기다리는 동안 요청을 전송할 수 있다.
블록 325에서, 수신 장치는 수신된 요청에 따른 알림을 생성한다. 예를 들어 수신 장치는 요청에 대한 알림을 디스플레이한다. 알림은 요청에 포함된 사용자 아이디 및 어떤 추가적인 메타데이터를 포함할 수 있다.
블록 330에서, 수신 장치는 알림이 일축되는지(dismissed) 여부를 판단한다. 한 양태에서 예컨대 수신 사용자는 요청에 응답하기 위한 추가 옵션을 획득하기 위해 알림을 선택할 수 있다. 이 경우 방법(300)은 블록 340으로 이어질 수 있다. 수신 사용자가 알림을 일축하거나 무시하면, 방법(300)은 블록 335로 진행될 수 있다. 일 예에서, 알림 액션에 대한 밀어내기 스와이핑은 수신 장치에 의해 요청에 대한 "확실한 노우(no)" 또는 거절로 해석된다. 이 경우 블록 335에서, 수신 장치는 그 알림을 무시하거나 일축한다. 수신 장치는 요청을 거부하는 응답을 요청 장치로 전송할 수도 있다. 다른 양태에서, 요청을 일축하기, 예컨대 밀어내기 스와이핑은 수신 장치 상에서 그 알림을 숨기는 "유연한 노우(soft no)"일 수 있다(블록 335). 그 경우, 수신 장치 상에서 요청이 타임아웃될 수 있다. 어느 경우든, 통신 세션이 설정되지 않는다(블록 335).
블록 340에서, 수신 장치는 사용자 인터페이스를 디스플레이할 수 있다. 예를 들어 수신 사용자는 알림을 선택함으로써 수신 장치가 사용자 인터페이스를 생성 및/또는 디스플레이하게 할 수 있다. 나아가, 수신 장치는 사용자 인터페이스를 통해 하나 이상의 사용자 입력들을 수신할 수 있다. 수신 사용자는 사용자 인터페이스를 이용하여 요청에 응답하기 위한 하나 이상의 다양한 옵션들을 선택할 수 있다. 하나 이상의 다른 실시예들에서, 블록 325의 알림은 수신 사용자가 블록 340의 사용자 인터페이스 제공을 대신하거나 그러한 인터페이스와 결합하여, 알림에 대해 바로 반응하도록 하는 단축키들이나 컨트롤들을 포함할 수 있다.
블록 345에서, 수신 장치는 응답을 생성한다. 블록 350에서 수신 장치는 메타데이터를 결정한다. 수신 장치에 의해 결정될 수 있는 메타데이터의 예들로는 다음과 같은 것들이 포함되나, 그에 국한되지 않는다.
요청에 대한 수락(허용 또는 거절);
통신 세션을 개시하거나 설정할 다른 제안된 또는 추후 시간(들);
통신 세션의 이용 가능성;
이미지(들), 비디오(들), 및/또는 오디오 메시지(들)(가령, 레코딩들);
수신 사용자의 위치(사용자에 의해 수동적으로 특정되거나 수신 장치에 의해 자동으로 검출됨);
통신 세션을 설정하기 위해 사용될 통신 채널, 예컨대 대체 통신 채널 및/또는 그러한 통신 채널(들)의 어떤 필수 아이디들, 주소들, 또는 인증서들; 및
통신 세션을 개시해야 할 주체(가령, 장치)
일 실시예에서, 수신 장치는 생성되어 요청 장치로 전송될 응답에 포함될 메타데이터를 결정한다. 수신 장치는 수신 사용자로부터 수신된 입력에 기반하여 메타데이터의 하나 이상의 항목들을 결정할 수 있다. 수신 장치는 메타데이터의 하나 이상의 항목들을 자동으로 결정할 수 있다.
다른 실시예에서, 수신 사용자는 추후의 어느 시간에 예정된 통신 세션과 대조되는 즉각적 통신 세션에 대한 요청의 수락을 지시할 수 있다. 이 경우, 수신 장치는 요청 장치로 전송될 응답을 먼저 생성하거나 어떤 응답을 조금이라도 생성하는 것과는 대조적으로, 요청 장치와 통신 세션을 개시할 수 있다.
다른 양태에서, 통신 세션을 개시하는 특정 장치가, 그러한 정보가 그 안의 메타데이터의 일부로서 특정되는 경우, 수신된 요청에 기반하여 결정될 수 있다. 예를 들어, 요청의 수락, 및 상기 요청이 수신 장치가 개시한다는 것을 가리킴에 따라, 수신 장치는 응답을 전송하지 않고 통신 세션을 개시할 수 있다. 상기 요청이 요청 장치가 개시한다는 것을 가리키는 경우, 수신 장치는 수락과 함께 응답을 전송할 수 있다. 그 경우, 응답에 응하여 요청 장치가 통신 세션을 개시한다.
또한, 통신 세션을 개시하는 장치와 무관하게(가령, 어떤 통신 세션도 아직 설정되거나 시작되지 않은 경우), 통신 세션은 복수의 다양한 통신 채널들로부터 선택된 특정 통신 채널을 통해 설정될 수 있다. 통신 채널은 요청의 메타데이터의 일부로서 특정되거나 응답 내 메타데이터 안에 특정될 수 있다.
일 실시예에서 응답에 대해 결정된 메타데이터로서, 수신 장치가 추후의 통신 세션을 스케줄링할 수도 있다. 일 예로서, 수신 장치는 추후, 혹은 제안된 시점에 통신 세션을 설정하기 위해 수신 장치 상에서 통신 세션에 대한 리마인더를 생성할 수 있다. 다른 예로서, 수신 장치는 추후, 혹은 제안된 시점의 통신 세션을 위해 수신 장치 상에서 통신 세션에 대한 캘린더 이벤트를 생성할 수 있다. 이와 달리, 수신 장치는 수신 사용자에 의해 선택될 때 그러한 리마인더 생성을 일으키는 단축키(shortcut)를 생성할 수 있다.
이 명세서에서 정의되는 "스케줄링"이라는 용어는 요청 장치 및/또는 수신 장치 중 하나 또는 둘 모두에서 통신 세션에 대한 리마인더의 생성, 통신 세션에 대한 캘린더 이벤트의 생성, 및/또는 통신 세션을 개시하는 것을 의미한다. 캘린더 이벤트 및/또는 리마인더를 스케줄링 시, 장치는 우선 사용자에게 프로그램에 입각한 액션이 수행될 것인지 여부에 대해 질의할 수도 있다. 이 명세서에서 사용되는 "리마인더"라는 용어는 특정 시점에, 혹은 예컨대 리마인더 안에 규정된 조건들을 검출함에 따라, 장치가 알림을 생성하게 하는 데이터 구조를 의미한다. 리마인더는 하나 이상의 선택 가능한 컨트롤들을 가진 사용자 인터페이스 제공이, 가령 통신 세션 등을 개시하게 할 수 있다.
다른 실시예에서, 수신 장치는 요청 장치가 특정 시간에 통신 세션을 개시하게 할 리마인더를 생성하게 하는, (가령 메타데이터의 일부로서) 명령어 또는 리마인더 객체를 응답 내에 포함할 수 있다. 이와 달리 메타데이터는 요청 장치가, 요청 사용자에 의해 선택될 때 요청 장치가 그러한 리마인더를 생성하게 하는 단축키를 디스플레이하게 하는 명령어들을 포함할 수도 있다.
블록 355에서, 수신 장치는 응답 안에 수신 장치에 의해 결정된 메타데이터를 포함할 수 있다. 블록 360에서, 수신 장치는 요청 장치에 응답을 보낸다. 블록 365에서, 요청 장치는 응답을 수신한다.
블록 370에서, 요청 장치는 수신 장치로부터의 응답을 처리한다. 한 양태에서, 수신 장치로부터의 응답이 통신 세션에 대한 허락 및 즉각적 이용 가능성을 나타내는 경우, 요청 장치는 요청 장치 및 수신 장치 간에 통신 세션을 설정한다(블록 375).
다른 양태에서, 응답이 통신 세션에 대한 허락만 나타낼 뿐 즉각적 이용 가능성을 나타내지 않는 경우, 요청 장치는 추후의 통신 세션을 스케줄링할 수 있다(블록 380). 주지한 바와 같이, 스케줄링은 요청 장치 및/또는 수신 장치 중 하나 또는 둘 모두에서 통신 세션에 대한 리마인더의 생성, 통신 세션에 대한 캘린더 이벤트의 생성, 통신 세션 개시 등을 하는 것을 의미한다.
통신 세션을 스케줄링할 때 사용될 특정 통신 채널이 본 명세서에 개시된 바와 같이 결정될 수 있다. 하나 이상의 다른 실시예들에서, 요청 장치나 수신 장치인 장치는 본 명세서에 개시된 다양한 실시예들 및/또는 예들을 구현할 때 해당 사용자와 통신 세션을 설정하는데 사용될 수 있는 바람직한 통신 채널과 사용자들(가령, 연락처들)의 관계를 저장할 수 있다. 다른 실시예에서, 사용되는 특정 통신 채널은, 수신 사용자(또는 수신 장치) 및 요청 사용자(또는 요청 장치) 간 통신 세션 이력에 따라 일반적이거나 다른 것들보다 많이 사용되었던 통신 채널일 수 있다.
다른 실시예에서, 요청 및/또는 응답은 메타데이터에 장치 사양을 포함할 수 있다. 예를 들어, 요청이나 응답은 장치가 모바일 전화 접속 기능은 없고 WiFi 기능만을 가진다는 것을 나타낼 수 있다. 그 경우, 요청이나 응답을 수신하여 처리하는 장치는 이용 가능한 장치 사양을 이용하여 동작 가능한 통신 채널을 제안할 수 있다. 이 예에서, 요청이나 응답을 처리하는 장치가 모바일 전화 통화와 대조되는 인터넷 기반 통화를 제안함으로써 WiFi 기능만을 가진 장치가 참여할 수 있도록 할 수 있다.
블록 385에서, 요청 장치는 통신 세션을 스케줄링하거나 통신 세션을 개시하지 않는다. 예를 들어 블록 385는 요청이 거절되었음을 나타내는 수신 장치로부터의 응답에 따라 구현될 수 있다.
도 4-9는 본 명세서에 개시된 요청 및/또는 응답 메커니즘들이 통신 세션 사용자 경험에 어떻게 통합될 수 있는지를 예시한 사용자 인터페이스 예들이다. 이러한 통합은 사용자가 문자나 전자 메일과 같은 다른 통신 채널을 이용하여 통신 세션을 스케줄링하도록 시도하지 않아도 되게 해 준다.
도 4는 통신 세션을 요청하는 예시적 사용자 인터페이스(400)이다. 사용자 인터페이스(400)는 장치 상의 연락처 애플리케이션이나 전화 애플리케이션에 통합될 수 있다. 도 4의 예에서, "사용자 A"의 연락처 레코드(contact record)가 도시된다. 이 연락처 레코드의 일부로서, 통화를 개시하기 위한 다른 관습적인 컨트롤들에 더하여 컨트롤(405)이 제공된다. 사용자 인터페이스(400)를 생성하는 장치, 예를 들어 요청 장치는, 사용자의 컨트롤(405) 선택에 따라, 사용자 A와 직접 통화나 다른 통신 세션을 개시하거나 사용자 A에게 전자 메일 메시지나 인스턴트 메시지와 같은 다른 유형의 메시지를 전송하는 것과는 달리, 통신 세션에 대한 요청을 생성한다.
다른 실시예에서, 사용자 인터페이스(400)는 컨트롤(405)을 제외할 수 있다. 그 경우 컨트롤(410)이 다목적 컨트롤로서 기능할 수 있다. 예를 들어 컨트롤(410)이 선택될 때, 요청 장치가 선택된 연락처나 전화 번호로 전화 통화를 개시할 수 있다. 사용자가 길게 지속되거나 연장된 시간 동안, 예컨대 적어도 어떤 최소 시간 동안 컨트롤(410)을 누르거나 터치함에 따라, 요청 장치는 요청을 생성하거나 요청 안에 포함될 메타데이터를 수신하기 위한 사용자 인터페이스를 생성할 수 있다.
도 5는 통신 세션 요청 안에 포함될 메타데이터를 특정하기 위한 사용자 인터페이스(500)의 다른 예이다. 도 5의 예에서, 사용자 인터페이스(500)는 요청된 통신 세션의 지속기간 및 요청이 긴급한지 여부와 같은 하나 이상의 메타데이터의 항목들을 요청 사용자가 수동으로 특정할 수 있게 한다. 사용자 인터페이스(500)는 통신 세션이 모바일 전화 통화인 경우의 예를 나타낸다. 일 실시예에서, 사용자 인터페이스(500)는 도 4의 컨트롤(405)이 선택됨에 따라 요청 장치에 의해 디스플레이될 수 있다. 통신 세션의 주제나 토픽은 "점심"으로 보여진다. 그러한 토픽은 요청 사용자에 의해 수동으로 입력되거나, 요청 장치가 캘린더 데이터, 수신 사용자와의 통신 이력 등을 액세스함으로써 자동으로 결정될 수 있다.
도 6은 미결정 통신 세션 요청을 보여주는 다른 예시적 사용자 인터페이스(600)이다. 사용자 인터페이스(600)는 미결정 통신 세션 요청이 아직 존재한다는 것, 예컨대 타임 아웃되거나, 취소되거나 거절되지 않았다는 것을 나타내기 위해 요청 장치 상에 디스플레이될 수 있다. 한 양태에서 사용자 인터페이스(600)는 요청 장치의 알림 센터의 일부로서, 또는 그 안에 디스플레이될 수 있다. 사용자 인터페이스(600)는 요청이 향하는 수신 사용자, 및 요청이 발생된 시간 및/또는 날짜를 나타낸다. 도 6은 하나 이상의 다른 실시예들에서 하나의 미결정 요청을 도시하고 있으나, 사용자 인터페이스(600)가 복수의 미결정 요청들의 목록을 제공할 수도 있다.
예를 들어, 요청 장치가 요청을 전송하면, 요청 장치는 미결정 요청이 존재한다는 지속적인 알림을 제공할 수 있다. 요청 장치는 많은 미결정 요청들을 관리할 수 있다. 도 6은 지속적인 알림을 구현하는 예이다. 요청 사용자가 해당 요청을 중단하거나 취소하고 싶어하는 경우, 요청 사용자는 사용자 인터페이스(600)에서 "취소" 컨트롤을 선택함으로써 요청 장치가 미결정 요청을 취소하게 할 수 있다.
하나 이상의 실시예들에서, 요청 장치 및 수신 장치 사이에 통신 세션이 설정됨에 따라, 사용자 인터페이스(600)의 디스플레이가 중단되거나 멈춰질 수 있다, 예컨대 사용자 인터페이스(600)가 사라진다. 일 예에서, 사용자 인터페이스(600)가 설정된 통신 세션에 대응하는 하나의 미결정 요청을 포함하는 경우, 사용자 인터페이스(600)의 디스플레이는 중단된다. 다른 예에서, 사용자 인터페이스(600)의 디스플레이는 사용자 인터페이스(600)에 보여진 어떤 미결정 요청에 대응하는 통신 세션이 설정됨에 따라 중단된다. 하나 이상의 다른 실시예들에서, 사용자가 사용자 인터페이스(600)를 일축할 때까지 사용자 인터페이스(600)의 디스플레이는 계속되고 설정된 통신 세션에 대응하는 요청만 제거될 수 있다.
하나 이상의 다른 실시예들에서, 요청 사용자는 미결정 요청의 대상인 사용자에게 통화를 시도할 수 있다(예를 들어, 수신 사용자에게 통화함). 요청 장치는 저장된 미결정 요청들에 기반하여 그러한 사용자에게로의 통화나 다른 형식의 통신을 검출할 수 있다. 일 예에서, 요청 장치는 미결정 요청 데이터를 통화 안에 복사할 수 있다. 다른 예에서, 수신 장치는 요청 사용자에게, 통화 안에 요청 정보를 포함하기 전에 요청 정보를 업데이트하고 싶은지 여부를 질의할 수 있다. 수신 사용자가 요청 데이터를 업데이트하기로 선택한 경우, 수신 장치는 업데이트된 데이터를 수신하거나 캘린더 데이터와 같은 데이터를 자동으로 업데이트한 후, 그 업데이트된 요청 데이터를 통화 안에 복사한다. 또 다른 예에서, 수신 장치는 요청 사용자에게, 수신 사용자에 대한 미결정 요청을 취소한 후 통화를 개시할지, 통화 검출에 따라 미결정 요청을 취소할지 여부를 질의할 수 있다.
도 6은 통신 세션에 대한 요청 제거 또는 중단의 한 예를 도시하고 있지만, 요청이 다른 기법을 이용해 중단될 수도 있다. 일 실시예에서, 요청 장치가 수신 사용자(또는 수신 장치) 및 요청 사용자(또는 요청 장치) 사이의 통신을 검출함에 따라 미결정 요청을 중단시킬 수 있다. 검출되는 통신은 요청이나 응답에 의해 의도되거나 특정된 원래의 통신 채널을 통하거나 다른 상이하거나 대안적인 통신 채널을 통해 이루어질 수 있다. 예를 들어 요청 장치는 수신 장치와의 전화 통화를 검출함에 따라, 혹은 수신 사용자에게 또는 수신 사용자로부터의 인스턴스 메시지, 전자 메일 등을 검출함에 따라 전화 통화 요청을 취소하거나 중단시킬 수 있다.
다른 실시예에서, 수신 장치는 요청 관련 타임아웃 기간의 만료 시나 통신 세션을 행할 어떤 마감시한의 경과 또는 만기에 따라, 통신 세션에 대한 요청을 취소하거나 중단할 수 있다.
또 다른 실시예에서, 요청 취소 이외에, 장치들은 요청 및/또는 응답 내 메타데이터를 업데이트 할 수 있다. 예를 들어 요청이 타임아웃되거나 허용되거나 거절되거나 행동이 취해지기 전에 추후의 통신 세션에 대한 사용자의 이용 가능성이 변화함에 따라, 요청 장치가 요청 내 메타데이터를 업데이트하여 그 업데이트된 요청 또는 업데이트된 메타데이터를 수신 장치로 제공할 수 있다. 수신 장치는 그 안에 디스플레이된 요청이 업데이트된 메타데이터를 보이도록 업데이트할 수 있다. 마찬가지로 수신 장치는 응답의 메타데이터를 업데이트하여 업데이트된 응답 및/또는 업데이트된 메타데이터를 요청 장치로 제공할 수 있다. 요청 장치는 업데이트된 응답 및/또는 업데이트된 메타데이터에 대한 액션을 취할 수 있다.
도 7은 통신 세션 요청을 생성하기 위한 다른 예시적 사용자 인터페이스(700)이다. 도 7에 예는 요청의 메타데이터를 특정하기 위한 컨트롤들이 전화 애플리케이션에 의해 생성된 사용자 인터페이스(700) 안에 포함되는 실시예를 도시한다. 도 7의 예에서, 요청 사용자는 수신자(사용자 A)에 대한 통신 세션, 이 경우 전화 통화를 개시하였다. 요청 장치가 수신 장치에게 전화를 걸 때, 수신 장치가 그 전화 통화를 받기 전에, 요청 사용자는 그 통화가 긴급하다는 것을 나타내기 위한 컨트롤(705), 그 통화의 예상 지속시간을 나타내기 위한 컨트롤들(710, 715, 또는 720) 등과 같은 컨트롤들을 선택할 수 있다. 컨트롤들(705, 710, 715 또는 720)의 선택에 의해 결정된 임의의 메타데이터가 수신 장치로 전달되어 수신 장치가 벨을 울릴 때 디스플레이될 수 있으며, 그에 따라 수신 사용자가 걸려오는 전화 통화를 받거나 응답할지 여부를 결정함에 있어 그 메타데이터를 이용할 수 있게 한다. 따라서, 통화 연결을 기다리는 동안 요청 장치는 도시된 바와 같은 컨트롤들을 제공하여 요청 사용자가 그 주지된 메타데이터를 빠르게 특정하도록 할 수 있다.
도 7 및 이 명세서의 다양한 사용자 인터페이스 예들에 도시된 특정 컨트롤들은 단지 예시할 목적으로 개시되었다. 요청 사용자가 이 명세서에 개시되는 메타데이터의 다양한 항목들 중 어느 하나를 특정하여, 요청 안에 포함되도록 돕는 추가 컨트롤들이 제공될 수 있다.
도 8은 수신 장치 상에서 통신 세션 요청을 디스플레이하는 다른 예시적 사용자 인터페이스(800)이다. 일 실시예에서 사용자 인터페이스(800)는 수신 장치에 의해, 요청 장치로부터 수신된 요청에 대한 메타데이터를 디스플레이하는데 사용된다. 예를 들어, 통화의 지속시간, 통화가 긴급한지 여부, 및 통화의 주제를 나타내도록 요청 장치를 이용한(예를 들어, 도 7의 사용자 인터페이스를 이용한) 사용자에 답하여, 사용자 인터페이스(800)가 수신 장치에 의해 생성되어 디스플레이될 수 있다. 사용자 인터페이스(800)는 예상된 통화가 긴급하지 않고, 겨우 수 초 지속될 예정이며, "프레젠테이션 질문"에 대한 것임을 보여준다.사용자 인터페이스(800)에 디스플레이된 메타데이터는 전화 애플리케이션 사용자 인터페이스 안에서 완벽히 제공되어 수신 사용자가 그 전화 통화에 응답할지 여부를 판단하는 것을 돕는다. 도시된 바와 같이, 메타데이터는 수신 장치가 오디오 및/또는 비디오 연결을 설정한 착신 전화 통화를 받기(가령, "수화기를 들기") 전에 요청 장치로부터 수신 장치로 전달된다.
다른 실시예에서, 수신 장치 상에서 결정된 추가적인 메타데이터 또한 수신 장치 상에 디스플레이될 수 있다. 추가적 메타데이터는 들어 온 요청 및/또는 통신 세션에 대한 추가적 상황을 제공한다. 예를 들어 수신 장치는 요청 사용자가 수신 사용자와 함께 참여하는 다가올 미팅을 디스플레이하고, 요청 사용자로/로부터의 최근 통신문(예를 들어, 전자 메일, 인스턴스 메시지 등)을 디스플레이하고, 최근 요청 사용자로부터의 소셜 미디어 업데이트(예를 들어, 트위터, 페이스북)를 디스플레이 하는 등의 동작을 수행 할 수 있다. 추가적 상황은 수신 장치 내 추가 정보나 수신 장치가 액세스할 수 있는 추가 정보에 기반하여 수신 사용자에 대한 요청 콘텐츠를 맞춤화하도록 돕는다.
하나 이상의 실시예에서, 수신 장치는 메타데이터에 기반하여 수신 사용자에게 들어오는 통신 세션이나 들어오는 요청에 대해 어떻게 알릴지를 결정할 수 있다. 수신 장치는 요청 장치로부터 수신된 메타데이터에 기반하여 복수의 다양한 모드들(가령, 벨울림, 특정 벨소리 선택, 진동 등) 중 하나 이상을 선택할 수 있다. 수신 장치는 급하다고 표시된 들어오는 요청 및/또는 통신 세션에 대해 오디오 및 진동 둘 모두를 사용할 수 있다. 긴급하지 않다고 표시된 들어오는 통신 세션 및/또는 요청에 대해 오디오만 가능하다거나 진동만 가능하다는 등의 다른 모드가 사용될 수 있다. 다른 모드들에는 LED 깜박이기, 카메라 플래쉬, 걸려오는 통화나 다른 알림에 대한 정보를 통신하도록 장치 디스플레이의 곡면 엣지가 빛나거나 활성화되는 엣지 디스플레이 이용 등이 포함될 수 있다. 다른 예에서, 해당 모드의 강도가 메타데이터에 기반하여 조정될 수 있다. 예를 들어, 오디오 알림(벨)의 볼륨이나 시각적 표시(LED, 플래쉬 등)의 밝기가 메타데이터에 따라 조정될 수 있으며, 이때 보다 높은 볼륨(보다 밝은 시각적 표시들)은 보다 높은 긴급도나 중요도와 관련된다. 다른 예에서, 시각적 표시들이 사용될 경우, 특정 깜박임 패턴이나 컬러들의 패턴/시퀀스가 메타데이터의 특정 항목들을 나타내는데 사용될 수 있다.
통신 세션 개시 후 사용자가 메타데이터를 추가할 수 있기 때문에, 수신 장치(및 네트워크)는 추가 메타데이터가 사용 가능하게 되는 경우 들어오는 통신 세션이 다뤄지는 방식을 수정할 수 있다. 예를 들어, 요청 사용자가 메타데이터 추가 없이 통화를 개시한 경우, 수신 장치는 걸려온 통화에 응하여 오디오 알림만을 플레이할 수 있다. 이어서 요청 사용자가 예컨대 수신 장치의 벨이 울리는 동안 통화가 긴급하다는 것을 나타내면, 수신 장치는 그 메타데이터 수신에 응하여 통화 알림에 대해 진동을 추가할 수 있다. 마찬가지로, 네트워크가, 통화 호출이 보다 긴 시간 동안 울리게 할 수 있다. 이와 관련하여 들어오는 통신 세션 처리에 영향을 주는 추가적인 메타데이터가 사용될 수 있다. 예를 들어, 긴급 통화는 음성함으로 넘어가기 전에 보다 길게 울리도록 허용될 수 있다.
하나 이상의 실시예들에서, 부재중 통화에 대한 알림을 강화하기 위한 메타데이터가 수신 장치에 의해 사용될 수 있다. 일 예로, 수신 장치는 부재중 통화 알림에 메타데이터를 포함할 수 있다. 다른 예로, 수신 장치는 수신 장치 상에서 (통화나 통신 세션에 대한) 요청이나 문자 메시지를 생성할 수 있다. 주목할만한 시간이 경과하고 예컨대 수신 사용자가 해당 통화를 거절한 후 추가 데이터가 도착하면, 수신 장치는 앞서 거절된 통화와 관련된 추가 데이터의 이용 가능성을 통신하기 위한 별도의 알림을 발생할 수 있다.
수신 장치가 전화를 받거나 응답하기 전에 요청 장치가 개시된 통신 세션을 중단시키는 하나 이상의 실시예에서, 요청 장치는 요청을 자동으로 생성하여 수신 장치로 그 요청을 전송할 수 있다. 일 예로, 이러한 기능은 수신 장치가 먼저 사용자에게 요청을 생성하여 전송할지 여부에 관해 질의할 수 있다는 점에서 "옵트인(opt-in, 수신동의)"일 수 있다. 중단된 통화에서 특정된 어떤 메타데이터가, 생성된 요청 안에서 자동으로 사용될 수 있다.
하나 이상의 실시예들에서, 요청 장치가 후속 요청 생성 없이 통신 세션을 취소하고 뒤이어 요청 사용자가 같은 수신 사용자에게 다시 통화를 개시하는 경우, 요청 장치는 특정 메타데이터를 자동으로 설정할 수 있다. 예를 들어 요청 장치가 수신 장치에 의해 응답되지 않은 통화를 중단하고 소정 시간 안에 동일한 수취자에게 추가 통화를 개시한 경우, 요청 장치는 그 통화를 긴급한 것으로 자동 표시할 수 있다. 다른 실시예에서, 요청 장치는 통화를 긴급한 것으로 표시할지 어떤 다른 메타데이터 항목(들)을 설정할지 여부를 요청 사용자에게 촉구할 수 있다.
도 9는 수신 장치 상에서 통신 세션 요청을 디스플레이하는 다른 예시적 사용자 인터페이스(900)이다. 도 9의 예에서, 요청을 수신한 수신 장치가 사용자 인터페이스(900)를 디스플레이한다. 사용자 인터페이스(900)는 수신 사용자가 각종 다양한 방식들 중 어느 하나를 통해, 들어오는 요청에 응답할 수 있게 한다. 도시된 예에서, 사용자는 "엄마"로부터 "주말 계획"을 논의하자는 요청을 수신하였다."
도시된 바와 같이 수신 사용자는 "통화하기" 컨트롤 또는 "무시하기" 컨트롤을 선택하여 그 요청을 처리할 수 있다. 이와 달리, 수신 사용자는, 각각이 메시지 응답에 사용될 특정 애플리케이션을 선택하는 아이콘들(905, 910, 또는 915) 중 하나를 선택하여 메시지를 통해 상기 요청에 응답하도록 선택할 수도 있다. 예를 들어 아이콘(905)은 메시징 또는 문자 애플리케이션을 실행하여 요청 사용자에 대한 새 메시지를 생성할 수 있다. 아이콘(910)은 요청 사용자에게 어드레스되는 전자 메일을 생성할 수 있다. 하나 이상의 실시예들에서, 장치에 의해 디스플레이되는 아이콘들은 사용자 아이디에 기반하여 개인적으로 맞춤화된다. 예를 들어, 도 9의 아이콘들 중 하나 이상이 요청 사용자의 아이디에 기반하여 맞춤화될 수 있다. 수신 사용자는 "전화하겠다"는 옵션 또는 "전화해 달라"는 옵션을 선택할 수 있다. "전화하겠다"는 옵션은 응답 안에, 수신 장치가 전화할 것이라는 메타데이터를 생성한다. "전화해 달라"는 옵션은 응답 안에, 요청 사용자가 통신 세션을 개시해야 한다는 것을 나타내는 메타데이터를 생성한다. 이 예에서, 수신 사용자는 메타데이터에 포함되는 시간의 정도를 특정할 수 있다.
한 양태에서, 어떤 장치가 통신 세션을 개시하는지에 따라, 특정된 시간 안에 유발되는 리마인더가 생성될 수 있다. 예를 들어, "전화하겠다"는 옵션이 선택되는 경우, 수신 장치가 특정 시간 후에, 예컨대 15분 후에 유발될 리마인더를 생성할 수 있다. 사용자는 도 9에서 "+" 및/또는 "-" 아이콘 컨트롤들을 사용하여 시간을 조정할 수 있다. "전화해 달라"는 옵션이 선택된 경우, 수신 장치는 요청 장치로 응답을 전송할 수 있다. 요청 장치는 그 응답에 대응하여, 특정된 시간 안에 수신 사용자에게 전화하라는 리마인더를 생성할 수 있다. 이와 달리, 수신 사용자가 소정 응답을 단순히 선택하거나 요청에 응답하는 맞춤 메시지 작성을 선택할 수 있다.
하나 이상의 다른 실시예들에서, 수신 장치는 수신 사용자가 수신된 요청에 대한 응답 생성 시 선택할 수 있는 메시지들을 맞춤화할 수 있다. 예시의 목적 상, 사용자 인터페이스(900)에 제공된 "통화는 할 수 없지만 메시지는 가능하다"거나 "회의가 끝나려면 시간이 조금 걸린다"는 등과 같은 메시지들이 수신 장치에 의해 자동으로 결정될 수 있다. 예를 들어, 수신 장치는 수신 사용자에 의해 응답으로서 선택되거나 작성된 메시지들의 이전 선택들, 수신 사용자에 의한 응답용 메시지들의 빈번한 선택들, 수신 사용자로부터의 응답에 포함된 최근의 메시지들 등에 기반하여 사용자 인터페이스(900)에 포함될 메시지들을 자동으로 선택할 수 있다.
도 9의 예에서, 정해진 시간 증가(가령, 5분 또는 15분)를 통해 대체 시간대가 제안될 수 있다. 다른 실시예들에서는 대체 시간이 임의의 수치로 특정될 수 있다. 또 다른 실시예에서는 수신 장치가 수신 장치에서 이용 가능한 정보(가령, 캘린더 데이터)에 기반하여 가능한 대체 시간을 자동으로 결정할 수 있다. 수신된 요청이 요청 사용자의 가능함을 나타내는 메타데이터를 포함하는 경우, 수신 장치는 그 요청으로부터 이용 가능한 시간들을 디스플레이하여 수신 사용자가 그 시간들 중 하나를 선택하게 할 수 있다. 선택된 시간은 한 장치 또는 두 장치들 모두에서 통신 세션을 스케줄링하는데 사용될 수 있다. 또 다른 예에서, 수신 장치는 수신 사용자의 캘린더 데이터가 불가능을 나타내는 시간대들을 제거하거나 디스플레이하지 않음으로써 가능한 시간들의 리스트를 필터링할 수 있다.
하나 이상의 실시예들에서, 이 명세서에 개시되는 요청 및 응답 구조가 둘을 초과하는 사용자들과의 통신 세션을 구성하는데 사용될 수 있다. 예를 들어, 사용자는 회의 전화를 스케줄링하기 위한 요청을 여러 사용자들에게 보낼 수 있다. 그 요청은 즉각적인 통화 개시가 아닌 가능한 시간대를 요청할 수 있다. 요청 장치는 돌아 온 응답들 중에서 가장 가능한 시간을 식별하여, 수신 장치들 각각에서 통화를 스케줄링할 것이다.
하나 이상의 실시예들에서, 이 명세서에 개시된 요청/응답 구조는 통화 복구와 관련하여 사용될 수 있다. 일 예로서, 한 사용자가 통신 세션(예를 들어, 통화)에서 너무 빠르게 누락되는 경우, 누락된 사용자의 장치가 다른 장치에 자동으로 요청을 개시할 수 있다. 예를 들어, 진행 중인 통신 세션 도중 연결이 끊어짐에 따라, 연결이 끊어진 장치가 자동으로 요청을 생성하여, 연결이 복구됨에 따라 그 요청을 누락된 통신 세션의 다른 참가자(들)에게 전송할 수 있다.
다른 실시예에서, 요청 장치 또는 수신 장치는 대안적 통신 채널(가령, 대안적 통신 애플리케이션)을 나타내는 메타데이터와 함께 통화 요청을 다른 장치로 전송할 수 있다. 예를 들어, 특정 통신 서버와의 통신이 끊어진 장치가, 대안적 통신 애플리케이션을 나타내는 요청을 다른 장치로 전송하거나, 대안적 통신 애플리케이션을 이용하여 통신 세션을 바로 개시할 수 있다. 대안적 통신 애플리케이션에 대한 결정은 사용자 히스토리, 영역 내 네트워크의 집합적 사용 데이터(aggregated usage data), 네트워크 테스트 등에 기반할 수 있다. 이러한 기능은 다양한 통신 애플리케이션들에게 가변하는 품질의 서비스를 제공하는 영역 내 통신을 용이하게 하기 위해 사용될 수 있다.
이 명세서에 개시된 예시적 실시예들은 전화 통화 및 전화 통화를 하는 사용자 경험을 모방하기 위한 다른 형식, 예컨대 인터넷 기반의 동기 통신에 적용될 수 있다. 요청 사용자는 메타데이터를 특정하거나 특정하지 않고 수신 사용자에게 통화로서의 통신 세션을 시작할 수 있다. 요청 장치는 비동기 채널(예를 들어, 소유권이 있는 클라우드 기반 푸쉬(push) 메시징 서비스 또는 기존의 상용 비동기 메시징 서비스)을 이용하여 수신 장치로 요청을 보낼 수 있다. 수신 장치는 그 요청이 실제 걸려오는 전화인 것처럼 요청을 디스플레이할 수 있다. 예를 들어 수신 장치는 허락 및/또는 거절 컨트롤들이 있는 풀 스크린 사용자 인터페이스를 디스플레이할 수 있다. 수신 사용자가 허락하면, 수신 장치는 요청 장치로의 통신 세션을 개시할 수 있다. 이와 달리, 수신 장치가 요청 장치로, 요청 장치가 수신 장치에 대한 통신 세션을 개시하도록 지시하는 비동기 응답을 전송할 수도 있다.
이 명세서에서 사용되는 용어는 특정 실시예들을 설명하기 위한 목적만을 위한 것일 뿐 한정의 의도가 있는 것은 아니다. 그럼에도 불구하고, 이 문서 전반에 걸쳐 적용되는 몇 가지 정의를 이하에서 제시할 것이다.
이 명세서에서 정의한 바와 같이, 단수형은 관련 문맥이 명백히 다른 것을 지시하지 않는 한 복수형을 포함하는 것으로 의도된다.
이 명세서에서 정의된 바와 같이, "또 하나(또 다른)"이라는 말은 적어도 제2의 것 또는 그 이상을 의미한다.
이 명세서에서 정의된 바와 같이 "적어도 하나", "하나 이상", 및 "및/또는"이라는 말들은 명백히 다르게 서술하지 않는 한, 동작의 결합형과 양자택일형 둘 모두가 해당되는 개방형 표현들이다. 예를 들어 "A, B, 및 C 중 적어도 하나", "A, B, 또는 C 중 적어도 하나", "A, B, 및 C 중 하나 이상", "A, B, 또는 C 중 하나 이상", 및 "A, B, 및/또는 C"라는 표현들 각각은, A 단독, B 단독, C 단독, A 및 B 포함, A 및 C 포함, B 및 C 포함, 또는 A, B 및 C 포함을 의미한다.
이 명세서에 정의된 바와 같이, "자동으로"라는 용어는 사용자 개입이 없다는 것을 의미한다.
이 명세서에 정의된 바와 같은 "컴퓨터 판독가능 저장 매체"라는 말은 명령어 실행 시스템, 장치, 또는 기기에 의해, 또는 그와 연결되어 사용할 프로그램 코드를 포함하거나 저장하는 저장 매체를 의미한다. 이 명세서에 정의된 "컴퓨터 판독가능 저장 매체"라는 말은 본질적으로 일시적 전파 신호가 아니다. 컴퓨터 판독가능 저장 매체는 전자 저장 장치, 자기 저장 장치, 광학 저장 장치, 전자기 저장 장치, 반도체 저장 장치, 또는 이들의 어떤 적합한 조합일 수 있으나, 그에 국한되지 않는다. 이 명세서에 기술된 바와 같은 메모리는 컴퓨터 판독가능 저장 매체의 일 예이다. 컴퓨터 판독가능 저장 매체의 보다 구체적 예들의 비 한정적 리스트는 휴대형 컴퓨터 디스켓, 하드 디스크, RAM(random access memory), ROM(read-only memory), EPROM(erasable programmable read-only memory 또는 플래시 메모리), SRAM(Static Random Access Memory), 휴대형 CD-ROM(compact disc read-only memory), DVD(digital versatile disk), 메모리 스틱, 플로피 디스크 등을 포함할 수 있다.
이 명세서에 정의된 "연결(결합)된다"는 말은 다르게 표현하지 않는 한, 어떤 개재 요소들도 없이 직접적으로나 하나 이상의 개재 요소들을 통해 간접적으로 연결됨을 의미한다. 두 요소들이 기계적, 전기적으로 연결되거나, 통신 채널, 경로, 네트워크, 또는 시스템을 통해 통신가능하게 연결될 수 있다.
본 명세서에 정의되는 "포함한다", "포함하는", "구비한다" 및/또는 "구비하는"이라는 용어들은 언급한 특성들, 정수들, 단계들, 동작들, 구성요소들 및/또는 컴포넌트들의 존재를 특정하지만 하나 이상의 다른 특성들, 정수들, 단계들, 동작들, 구성요소들, 컴포넌트들 및/또는 이들의 그룹들의 존재나 추가를 배제하지 않는다.
본 명세서에 정의된 "~ 한 경우"라는 말은 문맥에 따라 "~ 할 때"나 "~ 시", 또는 "~에 따라(~에 응하여)"를 의미한다. 따라서, "~ 결정된 경우"나 "[기술된 조건이나 이벤트]가 검출된 경우"라는 문장은 문맥에 따라 "결정 시"나 "결정에 따라", 또는 "[기술된 조건이나 이벤트]를 검출 시"나 "[기술된 조건이나 이벤트]를 검출함에 따라"를 의미하는 것으로 유추될 수 있다.
이 명세서에서 "일 실시예", "한 실시예", 또는 그와 유사한 말은 그 실시예와 관련해 기술된 특정한 구성, 구조, 또는 특징이 본 개시에서 기술된 적어도 한 실시예 안에 포함된다는 것을 의미한다. 따라서, 본 개시 전체에 걸친 "일 실시예", "다른 실시예", 및 유사한 문구의 출현이 반드시 모두 같은 실시예를 일컫는 것은 아닐 수 있다. "실시예" 및 "구성"이라는 말들이 본 개시 내에서 서로 바꾸어 사용될 수 있다.
본 명세서에 기술된 바와 같이, "출력"이라는 말은 물리적 메모리, 예컨대 장치들에 저장하기, 디스플레이나 다른 주변 출력 장치에 쓰기, 다른 시스템으로 보내거나 전송하기, 내보내기 등을 의미한다.
이 명세서에 정의된 바와 같은 "복수의~"라는 말은 둘 또는 둘을 넘는 수를 의미한다.
이 명세서에 정의된 바와 같은 "프로세서"라는 용어는 프로그램 코드에 포함된 명령어들을 실행하도록 구성된 적어도 하나의 하드웨어 회로를 의미한다. 하드웨어 회로는 집적 회로일 수 있다. 프로세서의 예로는 중앙 처리 장치 (CPU), 어레이 프로세서, 벡터 프로세서, 디지털 신호 프로세서 (DSP), 필드 프로그래머블 게이트 어레이 (FPGA), 프로그래머블 로직 어레이 (PLA), 주문형 집적 회로 (ASIC), 프로그램 가능 논리 회로 및 제어기를 포함하나 그에 국한되지 않는다.
이 명세서에 정의된 바와 같은 "~에 응한다"는 용어는 어떤 액션이나 이벤트에 자진하여 대응 또는 반응함을 의미한다. 따라서, 일차 동작에 "응하여" 이차 동작이 수행되는 경우, 일차 액션의 발생과 이차 액션의 발생 간에는 어떤 인과관계가 존재한다. "~에 응한다"는 용어는 그러한 인과관계를 나타낸다.
이 명세서에 정의된 바와 같이, "사용자"라는 용어는 사람을 의미한다.
제1, 제2 등의 용어들은 이 명세서에서 다양한 요소들을 기술하기 위해 사용될 수 있다. 다르게 서술되거나 정황상 명백히 다른 것을 가리키지 않는 한, 그러한 용어들은 한 요소를 다른 요소와 구별하기 위해 사용되는 것으로 상기 요소들이 그러한 용어들에 국한되어서는 안될 것이다.
컴퓨터 프로그램 제품은 프로세서가 본 발명의 양태들을 실행하게 하는 컴퓨터 판독가능 프로그램 명령어들을 가지는 컴퓨터 판독가능 저장 매체(또는 매체들)을 포함할 수 있다. 본 개시 내에서 "프로그램 코드"라는 용어는 "컴퓨터 판독가능 프로그램 명령어들"이라는 용어와 상호 교환 가능하게 사용된다.이 명세서에 기술된 컴퓨터 판독가능 프로그램 명령어들은 컴퓨터 판독가능 저장 매체로부터 각각의 컴퓨팅/프로세싱 장치들에 다운로드되거나, 네트워크, 예컨대 인터넷, LAN, WAN 및/또는 무선 네트워크를 통해 외부 컴퓨터나 외부 저장 장치로 다운로드될 수 있다. 네트워크는 구리 전송 케이블, 광학적 전송 섬유, 무선 전송, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 엣지 서버를 포함하는 엣지 장치를 포함할 수 있다. 각각의 컴퓨팅/프로세싱 장치 내 네트워크 어댑터 카드 또는 네트워크 인터페이스는 네트워크로부터 컴퓨터 판독가능 프로그램 명령어들을 수신하여, 그 컴퓨터 판독가능 프로그램 명령어들을 각각의 컴퓨팅/프로세싱 장치 안의 컴퓨터 판독가능 저장 매체에 저장하도록 전달한다.
본 명세서에 개시된 발명의 구성들에 대한 동작들을 실행하기 위한 컴퓨터 판독가능 프로그램 명령어들은 어셈블러 명령어들, 명령어 집합 구조(ISA) 명령어들, 머신 명령어들, 머신 종속 명령어들, 마이크로코드, 펌웨어 명령어들, 또는 객체 지향 프로그래밍 언어 및/또는 절차적 프로그래밍 언어를 포함하는 하나 이상의 프로그래밍 언어의 어떤 조합으로 작성된 소스 코드나 객체 코드일 수 있다. 컴퓨터 판독가능 프로그램 명령어들은 상태 설정 데이터를 특정할 수 있다. 컴퓨터 판독가능 프로그램 명령어들은 사용자 컴퓨터 상에서 전체가, 혹은 사용자 컴퓨터 상에서 일부가, 혹은 단독형 소프트웨어 패키지로서, 혹은 사용자 컴퓨터 상에서 일부와 원격 컴퓨터 상에서 일부가, 또는 원격 컴퓨터나 서버 상에서 전체가 실행될 수 있다. 후자의 경우, 원격 컴퓨터는 LAN 또는 WAN을 포함하는 어떤 타입의 네트워크를 통해 사용자 컴퓨터에 접속될 수 있고, 또는 (예컨대 인터넷 서비스 제공자를 이용하여 인터넷을 통해) 외부 컴퓨터로의 접속이 이루어질 수 있다. 어떤 경우, 예컨대 프로그램 가능 논리 회로, FPGA, 또는 PLA를 포함하는 전자 회로가 이 명세서에 기술된 발명의 구성들의 양태들을 수행하도록 전자 회로를 맞춤화하기 위해 컴퓨터 판독가능 프로그램 명령어들의 상태 정보를 활용함으로써 컴퓨터 판독가능 프로그램 명령어들을 실행할 수 있다.
본 발명의 구성의 소정 양태들은 방법들, 장치(시스템들), 및 컴퓨터 프로그램 제품들의 흐름도들 및/또는 블록도들을 참조하여 여기서 설명된다. 흐름도들 및/또는 블록도들의 각각의 블록, 및 흐름도들 및/또는 블록도들의 블록들의 조합들이 컴퓨터 판독가능 프로그램 명령어들, 가령, 프로그램 코드에 의해 구현될 수 있다.
이러한 컴퓨터 판독가능 프로그램 명령어들은 머신을 생성하기 위해 컴퓨터, 특수용 컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 장치의 프로세서로 제공되어, 컴퓨터나 기타 프로그래머블 데이터 프로세싱 장치의 프로세서를 통해 실행되는 명령어들이 흐름도 및/또는 블록도의 블록이나 블록들에서 특정된 기능들/행위들을 구현하기 위한 수단을 생성하도록 할 수 있다. 이런 식으로, 프로세서를 프로그램 코드 명령어들과 동작 가능하게 연결함으로써, 프로세서의 머신이 프로그램 코드의 명령어들을 실행하기 위한 특수용도의 머신으로 변환된다. 이러한 컴퓨터 판독가능 프로그램 명령어들은 컴퓨터, 프로그래머블 데이터 프로세싱 장치, 및/또는 기타 전자 기기들이 특정 방식으로 기능하게 할 수 있는 컴퓨터 판독가능 저장 매체에 저장될 수도 있으므로, 명령어들이 저장된 컴퓨터 판독가능 저장 매체는 흐름도 및/또는 블록도의 블록이나 블록들에서 특정된 동작들의 양태들을 구현하는 명령어들을 포함하는 제조품을 포함한다.
컴퓨터 판독가능 프로그램 명령어들은 또한 컴퓨터, 기타 프로그래머블 데이터 프로세싱 장치, 또는 기타 장치 상에 로드되어 컴퓨터나 기타 프로그래머블 장치나 기타 장치 상에서 수행될 일련의 동작들이 컴퓨터 구현 프로세스를 생성하도록 함으로써, 상기 명령어들이 컴퓨터, 기타 프로그래머블 장치, 또는 기타 장치 상에서 실행시 흐름도 및/또는 블록도의 블록이나 블록들에서 특정된 기능/행위를 구현하도록 한다.
도면의 흐름도 및 블록도들은 본 발명의 구성들의 다양한 양태들에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현예들의 구조, 기능, 및 동작을 예시한다. 이와 관련하여 흐름도나 블록도들의 각각의 블록은 특정된 동작들을 구현하기 위한 하나 이상의 실행가능 명령어들을 포함하는 모듈, 세그먼트, 또는 명령어들의 일부를 나타낼 수 있다. 다른 일부 구현예들에서, 블록들 내에 표기된 동작들은 도면에 표시된 순서와 다르게 일어날 수 있다. 예를 들어 관련된 기능에 따라, 연속으로 보여진 두 개의 블록들이 실질적으로 동시발생적으로 실행되거나, 블록들이 종종 반대의 순서로 실행될 수 있다. 블록도들 및/또는 흐름도의 각각의 블록 및 블록도들 및/또는 흐름도의 블록들의 조합이 특정 기능들이나 행위들을 수행하거나 특수용 하드웨어 및 컴퓨터 명령어들의 조합을 실행하는 특수용 하드웨어 기반 시스템들에 의해 구현될 수 있다는 것 역시 알아야 한다.
예시의 간단 명료성을 위해 도면에 도시된 구성요소들이 반드시 해당 축척비율대로인 것은 아니다. 예를 들어, 구성요소들 중 일부의 치수는 명료성을 위해 다른 구성요소들에 비해 과장될 수 있다. 또한, 적절하다고 간주될 경우, 참조 부호들은 상응하거나 유사하거나 동일한 특성들을 가리키기 위해 도면들에 걸쳐 반복되었다.
이하의 청구범위에서 알 수 있는 모든 수단이나 단계에 더한 기능 요소들의 해당 구조, 물질, 동작 및 그 균등물은 구체적으로 청구된 다른 청구 요소들과 결합하여 해당 기능을 수행하기 위한 임의의 구조, 물질, 또는 동작을 포함하도록 되어 있다.
이 명세서에서 제공되는 발명의 구성에 대한 내용은 예시할 목적을 위한 것으로, 개시된 형식 및 예들에 국한되지 않는다. 이 명세서에서 사용된 용어들은 발명의 구성에 대한 원리, 실제 응용예나 시장에서 찾을 수 있는 기술들을 뛰어 넘는 기술적 개선을 설명하거나, 다른 당업자들이 여기 개시된 실시예들을 이해할 수 있도록 하기 위한 것이다. 개시된 발명의 범위 및 개념에서 벗어나지 않고 수정 및 변형이 있을 수 있다는 것을 당업자라면 자명하게 알 수 있을 것이다. 따라서, 그러한 특징들 및 구현예들의 범위를 나타낸 것으로서 상술한 내용이 아닌 이하의 청구범위를 참고해야 할 것이다.

Claims (15)

  1. 수신 장치와 통신 세션을 설정하기 전에, 요청 장치에서 상기 수신 장치로 통신 세션 요청을 전송하는 단계;
    상기 요청 장치에서 상기 수신 장치로부터 상기 요청에 대한 응답을 수신하는 단계; 및
    상기 응답에 따라, 상기 요청 장치 에서 상기 응답에 기반하여 상기 통신 세션을 스케줄링하는 단계를 포함하는 통신 방법.
  2. 제1항에 있어서, 상기 통신 세션을 스케줄링하는 단계는 상기 통신 세션을 자동으로 개시하는 단계를 포함하는 방법.
  3. 제1항에 있어서, 상기 통신 세션을 스케줄링하는 단계는 상기 요청 장치의 디스플레이 스크린 상에 사용자 선택가능 시각적 요소를 생성하는 단계를 포함하고, 상기 시각적 요소의 선택이 상기 요청 장치 및 상기 수신 장치 간 통신 세션을 개시하는 방법.
  4. 제1항에 있어서, 상기 통신 세션을 스케줄링하는 단계는 상기 통신 세션을 개시하라는 리마인더를 생성하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 상기 요청 장치는 상기 수신 장치 이외의 장치와 진행 중인 통신 세션에 관여하며, 상기 요청은 상기 진행 중인 통신 세션 상의 당사자들에 대한 식별 정보를 특정하며, 상기 수신 장치는 상기 응답에 기반하여 상기 진행 중인 통신 세션에 합류되는 방법.
  6. 디스플레이 기기;
    트랜시버;
    상기 디스플레이 기기 및 트랜시버에 연결되고,
    수신 장치와 통신 세션을 설정하기 전에, 상기 수신 장치로 통신 세션 개시 요청을 전송하고;
    상기 수신 장치로부터 상기 요청에 대한 응답을 수신하고;
    상기 응답에 기반하여 상기 통신 세션을 스케줄링하는 것을 포함하는 동작들을 개시하도록 구성된 프로세서를 포함하는 통신 장치.
  7. 제6항에 있어서, 상기 통신 세션을 스케줄링하는 것은 상기 통신 세션을 자동으로 개시하는 것을 포함하는 장치.
  8. 제6항에 있어서, 상기 통신 세션을 스케줄링하는 것은 요청 장치의 디스플레이 스크린 상에 사용자 선택가능 시각적 요소를 생성하는 것을 포함하고, 상기 시각적 요소의 선택이 상기 요청 장치 및 상기 수신 장치 간 통신 세션을 개시하는 장치.
  9. 제6항에 있어서, 상기 통신 세션을 스케줄링하는 단계는 상기 통신 세션을 개시하라는 리마인더를 생성하는 것을 포함하는 장치.
  10. 제6항에 있어서, 상기 응답은 상기 호출된 장치로부터의 캘린더 데이터를 포함하고, 상기 리마인더는 상기 캘린더 데이터에 기반하여 스케줄링되는 장치.
  11. 제6항에 있어서, 상기 프로세서는 수신 장치 이외의 장치와 진행 중인 통신 세션에 관여하며, 상기 요청은 상기 진행 중인 통신 세션 상의 당사자들에 대한 식별 정보를 특정하며, 상기 수신 장치는 그 응답에 기반하여 상기 진행 중인 통신 세션에 합류되는 장치.
  12. 프로그램 코드가 저장된 컴퓨터 판독가능 저장 매체를 구비한 컴퓨터 프로그램 제품으로서, 상기 프로그램 코드는 프로세서에 의해 실행되어,
    수신 장치와 통신 세션을 설정하기 전에, 요청 장치에서 상기 수신 장치로 통신 세션 요청을 전송하고;
    상기 요청 장치에서 상기 수신 장치로부터 상기 요청에 대한 응답을 수신하고
    상기 응답에 따라, 상기 요청 장치 에서 상기 응답에 기반하여 상기 통신 세션을 스케줄링하는 동작들을 수행하는 컴퓨터 프로그램 제품.
  13. 제12항에 있어서, 상기 통신 세션을 스케줄링하는 것은 상기 통신 세션을 자동으로 개시하는 것을 포함하는 컴퓨터 프로그램 제품.
  14. 제12항에 있어서, 상기 통신 세션을 스케줄링하는 것은 요청 장치의 디스플레이 스크린 상에 사용자 선택가능 시각적 요소를 생성하는 것을 포함하고, 상기 시각적 요소의 선택이 상기 요청 장치 및 상기 수신 장치 간 통신 세션을 개시하는 컴퓨터 프로그램 제품.
  15. 제12항에 있어서, 상기 통신 세션을 스케줄링하는 것은 상기 통신 세션을 개시하라는 리마인더를 생성하는 것을 포함하는 컴퓨터 프로그램 제품.
KR1020187017887A 2015-12-15 2016-12-05 동기 통신 조정 및 처리 KR102049460B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562267807P 2015-12-15 2015-12-15
US62/267,807 2015-12-15
US15/267,767 2016-09-16
US15/267,767 US10375123B2 (en) 2015-12-15 2016-09-16 Synchronous communication session coordination and handling among devices using metadata
PCT/KR2016/014157 WO2017105016A1 (en) 2015-12-15 2016-12-05 Synchronous communication coordination and handling

Publications (2)

Publication Number Publication Date
KR20180078327A true KR20180078327A (ko) 2018-07-09
KR102049460B1 KR102049460B1 (ko) 2019-11-27

Family

ID=59018644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187017887A KR102049460B1 (ko) 2015-12-15 2016-12-05 동기 통신 조정 및 처리

Country Status (5)

Country Link
US (1) US10375123B2 (ko)
EP (1) EP3351026B1 (ko)
KR (1) KR102049460B1 (ko)
CN (1) CN108370496B (ko)
WO (1) WO2017105016A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585696B2 (en) * 2016-11-08 2020-03-10 International Business Machines Corporation Predicting transaction outcome based on artifacts in a transaction processing environment
US10784931B2 (en) * 2018-06-08 2020-09-22 Apple Inc. Assisted multi-user multi-input multi-output (MU-MIMO) communication system
JP6995023B2 (ja) * 2018-07-30 2022-01-14 京セラ株式会社 電子機器、制御方法、及び制御プログラム
US11140203B1 (en) * 2020-10-06 2021-10-05 Slack Technologies, Llc Ambient, ad hoc, multimedia collaboration in a group-based communication system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070104120A (ko) * 2006-04-21 2007-10-25 에스케이 텔레콤주식회사 삼자통화가 가능한 이동통신 단말기 및 시스템과 이를이용한 삼자통화 방법
KR20080006660A (ko) * 2006-07-13 2008-01-17 삼성전자주식회사 자동으로 재발신되는 휴대 단말기의 발신 방법
US20100273447A1 (en) * 2009-03-24 2010-10-28 T-Mobile Usa, Inc. Deferred Communication and Relationship Management
KR20140081495A (ko) * 2012-12-21 2014-07-01 삼성전자주식회사 단말기의 전화번호 관리장치 및 방법

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7561872B1 (en) 2001-03-19 2009-07-14 At&T Intellectual Property I, L.P. Methods and systems for accessing communications services
KR100417878B1 (ko) * 2001-08-24 2004-02-11 서성환 스케줄을 이용한 자동 응답 시스템 및 방법
US7342917B2 (en) 2001-10-02 2008-03-11 Comverse, Inc. Multimedia personalized call management (MPCM)
ATE485688T1 (de) 2001-10-30 2010-11-15 Alexander C Lang Verfahren und vorrichtung zum bereitstellen von leistungsmerkmalen zum aufbau und zur steuerung von erweiterten anrufen unter verwendung eines kurznachrichtendienstes
US20030112952A1 (en) 2001-12-19 2003-06-19 Wendell Brown Automatically establishing a telephone connection between a subscriber and a party meeting one or more criteria
US7809387B2 (en) 2003-09-22 2010-10-05 Research In Motion Limited Methods and apparatus for prioritizing voice call requests during data communication sessions with a mobile device
US8644886B1 (en) 2004-03-15 2014-02-04 Avaya Inc. Ring-tone messaging service
JP2006195979A (ja) * 2005-01-04 2006-07-27 Microsoft Corp ウェブアプリケーションアーキテクチャ
US7647042B2 (en) 2006-12-05 2010-01-12 Research In Motion Limited User interface methods and apparatus for processing voice call requests from a mobile station based on communication conditions
US8582743B2 (en) * 2007-02-27 2013-11-12 Blackberry Limited Method, apparatus and system for initiating conference call using calendar events
CN100563355C (zh) * 2007-04-10 2009-11-25 华为技术有限公司 一种通信方法、设备及系统
US8583746B1 (en) 2007-05-25 2013-11-12 Callwave Communications, Llc Methods and systems for web and call processing
US8391459B2 (en) * 2007-07-20 2013-03-05 At&T Intellectual Property I, Lp System for managing scheduling conflicts
US9020111B2 (en) 2008-05-27 2015-04-28 Qualcomm Incorporated Setting up a communication session within a wireless communications system
US20100246791A1 (en) * 2009-03-24 2010-09-30 T-Mobile Usa, Inc. Calendar-based return communication
US8311203B2 (en) * 2009-03-24 2012-11-13 T-Mobile Usa, Inc. User-initiated return communication
US8320891B1 (en) 2009-06-29 2012-11-27 Sprint Communications Company L.P. Text messages for services
EP2478476A4 (en) * 2009-09-20 2013-09-18 Blackberry Ltd MOBILE APPLICATION FOR COMMON CALENDAR USE AND PLANNING
US8359014B2 (en) 2009-12-21 2013-01-22 Julia N M N Olincy I am driving/busy automatic response system for mobile phones
US9100809B2 (en) 2009-12-21 2015-08-04 Julia Olincy Olincy Automatic response option mobile system for responding to incoming texts or calls or both
JPWO2011125288A1 (ja) 2010-04-08 2013-07-08 日本電気株式会社 通信システム、通信装置、通信制御方法および通信用プログラム
US9553974B2 (en) 2010-08-11 2017-01-24 Apple Inc. Media/voice binding protocol and related user interfaces
CN102594967A (zh) 2011-01-14 2012-07-18 富泰华工业(深圳)有限公司 通信设备及其来电处理方法
US8670534B2 (en) 2011-11-30 2014-03-11 International Business Machines Corporation Initiating a telephonic connection
US20130148646A1 (en) 2011-12-13 2013-06-13 Tzahi Efrati Systems and methods of providing communications services
US9124712B2 (en) 2012-06-05 2015-09-01 Apple Inc. Options presented on a device other than accept and decline for an incoming call
US20140003590A1 (en) 2012-06-27 2014-01-02 Apple Inc. Identifying Information Associated with an Incoming Telephone Call
US8582733B1 (en) 2012-09-28 2013-11-12 Ringcentral, Inc. Phone system with methodology for call parking
US9313630B2 (en) 2012-12-26 2016-04-12 Qualcomm Incorporated Real time SMS delivery mechanism
US8942674B2 (en) 2013-01-18 2015-01-27 Blackberry Limited Responding to incoming calls
US8995955B2 (en) * 2013-05-20 2015-03-31 Henry Gross Systems, methods, and media for logging phone calls
US9363371B2 (en) * 2014-03-31 2016-06-07 Timetrade Systems, Inc. Voicemail interactive voice response for instant appointment booking
US9967401B2 (en) 2014-05-30 2018-05-08 Apple Inc. User interface for phone call routing among devices
CN104301550B (zh) * 2014-09-19 2016-01-20 努比亚技术有限公司 语音呼叫方法、语音呼叫系统和通信终端
CN104244208A (zh) * 2014-09-19 2014-12-24 深圳市中兴移动通信有限公司 语音呼叫方法、系统和通信终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070104120A (ko) * 2006-04-21 2007-10-25 에스케이 텔레콤주식회사 삼자통화가 가능한 이동통신 단말기 및 시스템과 이를이용한 삼자통화 방법
KR20080006660A (ko) * 2006-07-13 2008-01-17 삼성전자주식회사 자동으로 재발신되는 휴대 단말기의 발신 방법
US20100273447A1 (en) * 2009-03-24 2010-10-28 T-Mobile Usa, Inc. Deferred Communication and Relationship Management
KR20140081495A (ko) * 2012-12-21 2014-07-01 삼성전자주식회사 단말기의 전화번호 관리장치 및 방법

Also Published As

Publication number Publication date
EP3351026B1 (en) 2020-05-06
EP3351026A1 (en) 2018-07-25
US20170171253A1 (en) 2017-06-15
EP3351026A4 (en) 2018-08-08
US10375123B2 (en) 2019-08-06
KR102049460B1 (ko) 2019-11-27
CN108370496B (zh) 2021-06-22
CN108370496A (zh) 2018-08-03
WO2017105016A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
US11089134B1 (en) System, method, and computer program product for coordination among multiple devices
US10135965B2 (en) Use of a digital assistant in communications
US9210143B2 (en) Communications system
EP3114832B1 (en) Displaying video call data
JP5506922B2 (ja) 通話中の連絡先情報の表示
US8477176B1 (en) System and method for automatically suggesting or inviting a party to join a multimedia communications session
KR20150046100A (ko) 전자 디바이스에 대한 가상 에이전트 통신
KR20150073907A (ko) 통지에 응답하기 위한 상황-기반 옵션들의 생성
KR102049460B1 (ko) 동기 통신 조정 및 처리
US20150065104A1 (en) Method and system for status notifications for conferences
JP7043604B2 (ja) 通知リマインド方法、グループ追加方法、装置、端末、および記憶媒体
US8725822B2 (en) Controlling the presence information of activity participants
KR20150005371A (ko) 클라이언트-서버 환경을 이용한 호출 서비스 방법 및 그 시스템

Legal Events

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