KR101614149B1 - 통합형 통신 애플리케이션 - Google Patents

통합형 통신 애플리케이션 Download PDF

Info

Publication number
KR101614149B1
KR101614149B1 KR1020147025098A KR20147025098A KR101614149B1 KR 101614149 B1 KR101614149 B1 KR 101614149B1 KR 1020147025098 A KR1020147025098 A KR 1020147025098A KR 20147025098 A KR20147025098 A KR 20147025098A KR 101614149 B1 KR101614149 B1 KR 101614149B1
Authority
KR
South Korea
Prior art keywords
user
candidate
account
account address
addresses
Prior art date
Application number
KR1020147025098A
Other languages
English (en)
Other versions
KR20140127309A (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 KR20140127309A publication Critical patent/KR20140127309A/ko
Application granted granted Critical
Publication of KR101614149B1 publication Critical patent/KR101614149B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • 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/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • 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/42Mailbox-related aspects, e.g. synchronisation of mailboxes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

통합형 통신 애플리케이션은 사용자가 다수의 전자 통신 서비스들에 걸쳐 연락처들과 통신하게 할 수 있다. 사용자가 메시지를 전송하길 원할 때, 통신 애플리케이션은 의도된 수신인의 부분 식별자를 수신하는 것에 응답하여 수 개의 전자 통신 서비스들과 연관된 한 세트의 후보 계정 어드레스들을 식별할 수 있다. 애플리케이션은 상기 한 세트의 후보 계정 어드레스들을 포함한 리스트를 사용자에게 제공한다. 후보 계정 어드레스들 중 하나의 후보 계정 어드레스의 사용자 선택을 수신하는 것에 응답하여, 애플리케이션은 메시지를 전송할 전송자 계정을 결정한다. 애플리케이션은 또한 사용자와 다른 사람 사이에서의 통신 이력을 종합할 수 있다. 사용자와 다른 사람의 사용자 식별자들과 연관된 한 세트의 통신 파일들이 파일들 내의 각각의 대화 라인의 시간 스탬프에 기초한 순서로 획득되고 배열되며 사용자에게 제공될 수 있다.

Description

통합형 통신 애플리케이션{UNIFIED COMMUNICATION APPLICATION}
본 발명은 일반적으로 전자 환경에서 통신 세션을 용이하게 하는 것에 관한 것으로, 특히 통신 세션의 참여자 계정들을 결정하는 것뿐만 아니라 사용자가 다른 사람과의 통신 이력을 볼 수 있게 하기 위해 통신 이력을 종합하는 것에 관한 것이다.
전형적으로, 전자 통신 세션을 개시하기 위해, 사용자는 사용자명 및 패스워드를 사용하여 인스턴트 메시징 서비스에 로그인(log into)할 수 있다. 사용자가 인스턴트 메시징 서비스에 로그인한 후, 사용자는 그 서비스 상에서 사용자의 설정된 연락처들의 상태를 보여주는 연락처 리스트를 볼 수 있다. 사용자가 사용자의 연락처 리스트 상의 특정 연락처와의 통신 세션을 설정하길 원하는 경우, 사용자는 사용자의 연락처 리스트로부터, 의도된 수신인 또는 특정 연락처를 나타내는 식별자를 선택하고, 사용자가 식별자를 선택한 때 나타나는 메시지 박스에서 메시지를 생성하며, 그 메시지를 수신인에게 전송할 수 있다. 메시지를 수신할 때, 수신인은 전송자에 응답하거나 응답하기를 거절할 수 있다. 수신인이 전송자에 응답한다면, 통신 세션이 설정되며 전송자와 수신인("통신 세션의 참여자들"로서 지칭됨) 사이에서의 통신이 시작된다. 일부 경우들에서, 통신 세션의 참여자들은 통신 세션에 참여하도록 다른 연락처들을 초대할 수 있다.
다수의 인스턴트 메시징 서비스들은 널리 퍼져 있으며, 이때 몇몇은 일정 그룹의 사용자들에게 더 인기가 있다. 사용자들은 종종 수 개의 인스턴트 메시징 서비스들에 등록되며, 또한 다수의 인스턴트 메시징 서비스들에 등록되는 다른 사용자들과 통신하고, 그 인스턴트 메시징 서비스들 중 일부는 중첩하지 않는다. 또한, 수 개의 인스턴트 메시징 서비스들에 등록된 사용자들은 종종 이들 서비스들 중 일부에 대해 상이한 사용자명들을 갖는다. 사용자는 어떤 연락처들이 어떤 서비스들 상에서 어떤 사용자명들 하에 있는지를 계속 파악하는 데 어려움을 가질 수 있다.
일부 경우들에서, 사용자는 수 개의 인스턴트 메시징 서비스들에 로그인될 수 있다. 사용자가 의도된 수신인이 현재 사용하고 있는 서비스에 현재 로그인되지 않은 경우, 사용자는 그 서비스에 로그인하여야만 이후에 사용자는 의도된 수신인에게 메시지들을 전송할 수 있다. 다른 경우들에서, 사용자는 수 개의 인스턴트 메시징 서비스에 로그인될 수 있지만 단지 이들 서비스들 중 일부만을 능동적으로 사용할 수 있다. 사용자가 의도된 수신인이 사용하고 있는 서비스를 현재 능동적으로 사용하고 있지 않는 경우, 사용자는 메시지들을 의도된 수신인에게 전송할 수 있기 위해서는 의도된 수신인이 사용하고 있는 서비스로 스위칭해야 한다. 사용자가 상이한 연락처들과 통신하기를 원할 때 사용자가 항상 상이한 서비스들에 로그인하고/하거나 그 서비스들 사이에서 스위칭해야 하는 것은 번거로울 수 있다.
또한, 사용자는 다른 사용자와의 통신 이력을 보고 싶어 할 수 있을 것이다. 예를 들어, 사용자는 사용자와 다른 사용자 사이에서의 특정 대화를 탐색하고 있을 수 있다. 그러나, 각각의 사용자가 다수의 인스턴트 메시징 서비스들과 연관된 다수의 사용자명들을 갖는 상태에서, 특정 대화를 찾는 것은 어려울 수 있다.
본 발명의 배경이 되는 기술은 미국 특허출원공개공보 US2012/0231770, US2012/0151377, US2008/0189399 등에 개시되어 있다.
본 발명의 일정 실시예들은 전자 통신 세션에 대한 참여자 계정 결정을 수행하는 통합형 통신 애플리케이션에 관한 것이다. 일부 실시예들에서, 통합형 통신 애플리케이션은 사용자가 다수의 상이한 전자 통신 서비스들 중 임의의 것을 사용하여 메시지들을 전송 및 수신하게 하는 단일 애플리케이션이다. 사용자는 의도된 수신인의 부분 식별자를 입력함으로써 사용자가 통신하고 싶어 하는 의도된 수신인을 식별할 수 있다. 사용자 입력의 수신에 응답하여, 사용자의 전자 디바이스 상에서의 통합형 통신 애플리케이션은, 부분 식별자에 기초하여, 다수의 후보 수신인들에 대한 계정 어드레스들을 식별하기 위해 사용자 연락처들의 데이터베이스를 탐색한다. 계정 어드레스들은 수 개의 전자 통신 서비스들과 연관되는 계정 식별자들을 포함할 수 있다. 사용자 디바이스는 사용자가 의도된 수신인의 식별자를 선택할 수 있게 하기 위해 후보 계정 식별자들의 세트를 포함하는 리스트를 제공할 수 있다. 식별자의 사용자 선택을 수신할 때, 사용자 디바이스는, 식별자와 연관된 전자 통신 서비스에 기초하여, 메시지를 전송할 전송자 계정을 결정할 수 있다. 사용자 디바이스는 이어서 결정된 전송자 계정을 사용하여 의도된 수신인에게 메시지를 전송할 수 있다.
또한, 본 발명의 일부 실시예들은 통합형 통신 애플리케이션의 사용자가 사용자와 다른 사람 사이에서의 통신 이력을 볼 수 있게 한다. 통신 이력은, 상이한 사용자 식별자들 및 그들이 서로 통신하기 위해 사용하였던 전자 통신 서비스들에 관계없이, 사용자와 다른 사람 사이에서의 임의의 통신을 포함할 수 있다. 사용자와 다른 사람 사이에서의 통신 이력에 대한 요청을 수신할 때, 통합형 통신 애플리케이션은 사용자와 다른 사람 사이에서의 통신들을 저장하는 한 세트의 통신 세션 파일들을 획득한다. 통신 세션 파일들 각각은 시간 스탬프와 각각 연관되는 한 세트의 대화 라인들을 포함할 수 있다. 일부 실시예들에서, 상이한 통신 세션 파일들에서의 대화 라인들은 수 개의 전자 통신 서비스들 중 상이한 것들을 사용하여 송신되었을 수 있다. 통합형 통신 애플리케이션은 상기 한 세트의 통신 세션 파일들 모두로부터 대화 라인들을 연관된 시간 스탬프들에 기초한 순서로 배열하며, 배열된 대화 라인들의 적어도 일부분을 사용자에게 제공한다.
본 발명의 일정 태양들은 전송자 및 의도된 수신인에 대한 전자 통신 세션에서 참여자 계정 어드레스들을 결정하는 방법들에 관한 것이다. 통합형 통신 애플리케이션은 전송자에 의해 전송될 메시지의 의도된 수신인에 대한 부분 식별자를 포함하는 사용자 입력을 수신할 수 있다. 통합형 통신 애플리케이션은, 상기 부분 식별자에 기초하여, 한 세트의 후보 수신인들에 대한 한 세트의 후보 계정 어드레스들을 식별하기 위해 사용자 연락처들의 데이터베이스를 탐색할 수 있다. 일부 실시예들에서, 상기 한 세트의 후보 계정 어드레스들은 다수의 전자 통신 서비스들과 연관된 사용자 식별자들을 포함할 수 있다. 통합형 통신 애플리케이션은 그 식별된 세트의 후보 계정 어드레스들을 포함하는 리스트를 제공할 수 있다. 통합형 통신 애플리케이션은 메시지에 대한 의도된 수신인의 표현으로서 후보 계정 어드레스들 중 하나의 후보 계정 어드레스의 사용자 선택을 수신할 수 있다. 통합형 통신 애플리케이션은, 선택에 응답하여, 의도된 수신인에게 메시지를 전송하기 위해 사용될 전송자와 연관된 전송자 계정을 결정하며, 그 전송자 계정을 사용하여 메시지를 전송한다.
본 발명의 다른 일정 태양들은 둘 이상의 사용자들 사이에서의 통신 이력을 종합하는 방법들에 관한 것이다. 통합형 통신 애플리케이션은 사용자와 다른 사람 사이에서의 통신 이력에 대한 요청을 수신할 수 있다. 통합형 통신 애플리케이션은 사용자와 다른 사람 사이에서의 통신들을 저장하는 한 세트의 통신 세션 파일들을 획득할 수 있다. 일부 실시예들에서, 상기 한 세트의 통신 세션 파일들 각각은 시간 스탬프와 각각 연관될 수 있는 한 세트의 대화 라인들을 포함할 수 있다. 상기 한 세트의 통신 세션 파일들 중 상이한 것들에서의 대화 라인들은 다수의 전자 통신 서비스들 중 상이한 것들을 사용하여 송신되었을 수 있다. 상기 통합형 통신 애플리케이션은 상기 한 세트의 통신 세션 파일들 모두로부터 대화 라인들을 연관된 시간 스탬프들에 기초한 순서로 배열할 수 있다. 통합형 통신 애플리케이션은 배열된 대화 라인들의 적어도 일부분을 사용자에게 제공할 수 있다.
첨부 도면들과 함께 하기의 상세한 설명은 본 발명의 특성 및 이점들에 대한 보다 양호한 이해를 제공할 것이다.
<도 1>
도 1은 본 발명의 실시예에 따른 컴퓨터 시스템을 도시하는 도면.
<도 2>
도 2는 본 발명의 실시예에 따른 통신 세션을 용이하게 하는 프로세스의 흐름도.
<도 3>
도 3은 본 발명의 실시예에 따라 의도된 수신인과의 통신 세션을 설정하기 위한 스크린 이미지들의 예시적인 시퀀스를 도시하는 도면.
<도 4>
도 4는 본 발명의 실시예에 따라 한 세트의 후보 수신인들에 대한 한 세트의 후보 계정 어드레스들을 식별하기 위한 프로세스의 흐름도.
<도 5>
도 5는 사용자 연락처들 및 그의 연관된 정보의 데이터베이스에서의 연락처 엔트리의 일례를 도시하는 도면.
<도 6>
도 6은 본 발명의 실시예에 따라 특정 후보 계정 어드레스의 사용자 선택에 응답하여 메시지를 전송할 전송자 계정을 결정하는 프로세스의 흐름도.
<도 7>
도 7은 본 발명의 실시예에 따른 통신 세션에 다수의 참여자들을 초대하기 위한 스크린 이미지들의 예시적인 시퀀스를 도시하는 도면.
<도 8>
도 8은 사용자들 사이에서의 통신 이력을 생성하기 위해 위치되며 종합될 수 있는 전자 통신 세션 파일들의 국소적 및 원격 저장 장치를 도시하는 시스템 다이어그램.
<도 9>
도 9는 본 발명의 실시예에 따라 다수의 통신 세션 파일들을 종합하는 것에 의한 통신 이력을 포함한 페이지의 생성의 일례를 도시하는 도면.
<도 10>
도 10은 본 발명의 실시예에 따라 두 명의 사용자들 사이에서의 통신들을 저장하는 통신 이력을 종합하기 위한 프로세스의 흐름도.
<도 11a 및 도 11b>
도 11a 및 도 11b는 본 발명의 실시예에 따라 페이지의 일부분들을 동적으로 로딩(loading) 및 언로딩(unloading)하는 것을 도시하는, 2개의 상이한 시간들에서의 통신 이력 페이지의 도면.
본 발명의 일정 실시예들은 전자 통신 세션에 대한 참여자 계정 결정을 수행하는 통합형 통신 애플리케이션(또한 "통합형 메시징 애플리케이션"이라 지칭됨)에 관한 것이다. 일부 실시예들에서, 통합형 통신 애플리케이션은 사용자가 다수의 상이한 전자 통신 서비스들 중 임의의 것을 사용하여 메시지들을 전송 및 수신하게 하는 단일 애플리케이션이다. 사용자는 의도된 수신인의 부분 식별자를 입력함으로써 사용자가 통신하고 싶어 하는 의도된 수신인을 식별할 수 있다. 사용자 입력의 수신에 응답하여, 사용자의 전자 디바이스 상에서의 통합형 통신 애플리케이션은, 부분 식별자에 기초하여, 다수의 후보 수신인들에 대한 계정 어드레스들을 식별하기 위해 사용자 연락처들의 데이터베이스를 탐색한다. 계정 어드레스들은 수 개의 전자 통신 서비스들과 연관되는 계정 식별자들을 포함할 수 있다. 사용자 디바이스는 사용자가 의도된 수신인의 식별자를 선택할 수 있게 하기 위해 후보 계정 식별자들의 세트를 포함하는 리스트를 제공할 수 있다. 식별자의 사용자 선택을 수신할 때, 사용자 디바이스는, 식별자와 연관된 전자 통신 서비스에 기초하여, 메시지를 전송할 전송자 계정을 결정할 수 있다. 사용자 디바이스는 이어서 결정된 전송자 계정을 사용하여 의도된 수신인에게 메시지를 전송할 수 있다.
또한, 본 발명의 일부 실시예들은 통합형 통신 애플리케이션의 사용자가 사용자와 다른 사람 사이에서의 통신 이력을 볼 수 있게 한다. 통신 이력은, 상이한 사용자 식별자들 및 그들이 서로 통신하기 위해 사용하였던 전자 통신 서비스들에 관계없이, 사용자와 다른 사람 사이에서의 임의의 통신을 포함할 수 있다. 사용자가 사용자와 다른 사람 사이에서의 통신 이력을 보고 싶어한다는 사용자 표시를 수신할 때, 통합형 통신 애플리케이션은 사용자와 다른 사람 사이에서의 통신들을 저장하는 한 세트의 통신 세션 파일들을 획득한다. 통신 세션 파일들 각각은 시간 스탬프와 각각 연관되는 한 세트의 대화 라인들을 포함할 수 있다. 일부 실시예들에서, 상이한 통신 세션 파일들에서의 대화 라인들은 수 개의 전자 통신 서비스들 중 상이한 것들을 사용하여 송신되었을 수 있다. 통합형 통신 애플리케이션은 상기 한 세트의 통신 세션 파일들 모두로부터 대화 라인들을 연관된 시간 스탬프들에 기초한 순서로 배열하며, 배열된 대화 라인들의 적어도 일부분을 사용자에게 제공한다.
용어 "전자 통신 서비스"는 본 명세서에서 (예컨대, 인스턴트 메시징 컴퓨터 프로그램과 같은 애플리케이션을 통해 통신 플랫폼을 제공함으로써) 상기 서비스에 대한 계정들을 갖는 한 그룹의 사용자들 사이에서 통신을 용이하게 할 수 있는 임의의 서비스를 지칭하기 위해 사용된다. 전자 통신 서비스는 이메일, 인스턴트 메시징(IM), 단문 메시지 서비스(SMS), VoIP(Voice over Internet Protocol) 등을 포함한 다양한 채널들을 통해 통신을 제공할 수 있다. 상이한 전자 통신 서비스들의 예들은 AIM(등록상표), 아이채트(iChat)(등록상표), 구글(등록상표) 토크(Talk), 스카이프(Skype)(등록상표), 바이버(Viber)(등록상표) 등을 포함할 수 있다. 다수의 전자 통신 서비스들은 등록된 사용자들 사이에서 실시간 통신을 제공할 수 있다. 사용자들 사이에서의 통신의 유형들은 오디오, 비디오, 이미지, 및 텍스트 통신들을 포함할 수 있다.
본 명세서에 사용되는 바와 같이, 전자 통신 서비스는 서비스에 대한 계정을 가진 임의의 사용자가 동일한 서비스에 대한 계정을 가진 임의의 다른 사용자에게 통신을 전송할 수 있는 "폐쇄형 우주"를 정의한다. (일부 서비스들은 사용자들로 하여금 그들과의 통신으로부터 다른 사용자들을 차단하게 할 수 있거나 수신하길 원하는 통신들을 갖는 특정 사용자들을 선택하게 할 수 있다.) 일부 실시예들에서, 전자 통신 서비스는 플랫폼 독립형 또는 플랫폼 종속형일 수 있다. 이메일 서비스들과 같은 플랫폼 독립형 전자 통신 서비스들은 사용자들로 하여금 이메일 제공자에 관계없이 다양한 서버들을 거쳐 다른 사용자들에게 통신들을 전송하게 한다. 예를 들어, 야후!(등록상표) 메일 및 지메일(Gmail)(등록상표)뿐만 아니라 다른 이메일 서비스들은 플랫폼 독립형인데, 임의의 서버 상의 유효한 이메일 계정을 가진 임의의 사용자는 임의의 다른 이메일 서버 상의 임의의 다른 사용자에게 이메일을 전송할 수 있다. 따라서, 본 발명의 맥락에서, 모든 인터넷-기반 이메일 서비스들은 단일 전자 통신 서비스를 구성하는 것으로 간주된다. 반대로, AIM(등록상표), 야후!(등록상표) 메신저, 및 스카이프(등록상표)와 같은 인스턴트 메시징 또는 채팅 서비스들은 하나의 서비스의 사용자들이 그들의 계정들을 다른 서비스 상의 사용자 계정들과 통신하기 위해 사용할 수 없는 플랫폼 종속형 서비스들이다. 그러므로, 본 발명의 맥락에서, 대부분의 인터넷-기반 메시징 서비스들은 상이한 전자 통신 서비스들인 것으로 고려된다.
용어 "계정 어드레스"는 본 명세서에서 임의의 전자 통신 서비스 상의 임의의 계정을 지칭하기 위해 사용된다. 계정 어드레스는 사용자 식별자(예컨대, 사용자명, 핸들, 가명, 번호 등) 및 사용자 식별자가 유효한 전자 통신 서비스의 식별자를 포함할 수 있다. 단일 사용자는 다수의 전자 통신 서비스들에 걸쳐 하나 이상의 사용자 식별자들을 가질 수 있으며, 단일 서비스 상에서 다수의 사용자 식별자들을 가질 수 있다. 상이한 서비스들 상에서의 단일 사용자를 위한 계정들 또는 계정 어드레스들은 동일한 사용자 식별자를 갖거나 갖지 않을 수 있다.
통합형 메시징 애플리케이션은 사용자로 하여금 사용자가 계정들을 갖는 전자 통신 서비스들 모두를 단일 사용자 인터페이스 내로부터 액세스하게 할 수 있다. 일부 실시예들에서, 사용자는 이메일들을 전송 및 수신하고, 텍스트-기반 및/또는 비디오 "채팅" 세션들을 행하며, 텍스트 메시지들을 전송 및 수신하는 등등을 위해 메시징 인터페이스를 동작시킬 수 있다.
도 1은 본 발명의 실시예에 따른 컴퓨터 시스템(100)을 도시한다. 컴퓨터 시스템(100)은, 예컨대 데스크탑 또는 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 개인 휴대 정보 단말기(personal data assistant, PDA), 또는 임의의 다른 유형의 컴퓨팅 디바이스를 포함하지만 임의의 특정 폼 팩터(form factor)로 제한되지 않는 다양한 전자 컴퓨팅 디바이스들 중 임의의 것으로서 구현될 수 있다. 컴퓨터 시스템(100)은 프로세싱 유닛(105)(들), 저장 서브시스템(110), 입력 디바이스(120)들, 출력 디바이스(125)들, 카메라(130), 네트워크 인터페이스(135), 및 버스(140)를 포함할 수 있다.
프로세싱 유닛(105)(들)은 하나 이상의 코어들을 가질 수 있는 단일 프로세서 또는 다수의 프로세서들을 포함할 수 있다. 일부 실시예들에서, 프로세싱 유닛(105)(들)은 범용 주 프로세서뿐만 아니라 그래픽스 프로세서들, 디지털 신호 프로세서들 등과 같은 하나 이상의 특수 목적용 코프로세서(co-processor)들을 포함할 수 있다. 일부 실시예들에서, 일부 또는 모든 프로세싱 유닛(105)들은 ASIC(application specific integrated circuit) 또는 FPGA(field programmable gate array)와 같은 맞춤형 회로들을 사용하여 구현될 수 있다. 일부 실시예들에서, 그러한 집적 회로들은 회로 자체 상에 저장된 명령어들을 실행시킨다. 다른 실시예들에서, 프로세싱 유닛(105)(들)은 저장 서브시스템(110)에 저장된 명령어들을 실행시킬 수 있다.
저장 서브시스템(110)은 시스템 메모리, 판독 전용 메모리(ROM), 및 영구 저장 디바이스와 같은 다양한 메모리 유닛들을 포함할 수 있다. ROM은 프로세싱 유닛(105)(들) 및 컴퓨터 시스템(100)의 다른 모듈들에 의해 요구되는 정적 데이터 및 명령어들을 저장할 수 있다. 영구 저장 디바이스는 판독-기록 메모리 디바이스일 수 있다. 이러한 영구 저장 디바이스는 컴퓨터 시스템(100)이 전원 차단될 때에도 명령어들 및 데이터를 저장하는 비휘발성 메모리 유닛일 수 있다. 본 발명의 일부 실시예들은 영구 저장 디바이스로서 대량 저장 디바이스(예를 들어, 자기 또는 광 디스크 또는 플래시 메모리)를 사용한다. 다른 실시예들은 영구 저장 디바이스로서 이동형 저장 디바이스(예컨대, 플로피 디스크, 플래시 드라이브)를 사용한다. 시스템 메모리는 판독-기록 메모리 디바이스 또는 휘발성 판독-기록 메모리, 예를 들어 동적 랜덤 액세스 메모리일 수 있다. 시스템 메모리는 프로세서가 런타임 시 필요로 하는 명령어들 및 데이터의 일부를 저장할 수 있다.
저장 서브시스템(110)은 다양한 유형들의 반도체 메모리 칩들(DRAM, SRAM, SDRAM, 플래시 메모리, 프로그래밍 가능한 판독 전용 메모리) 등을 포함한 컴퓨터 판독가능 저장 매체의 임의의 조합을 포함할 수 있다. 자기 및/또는 광 디스크들이 또한 사용될 수 있다. 일부 실시예들에서, 저장 서브시스템(110)은 판독 가능하고/하거나 기록 가능할 수 있는 이동형 저장 매체를 포함할 수 있는데, 그러한 매체의 예들은 콤팩트 디스크(CD), 판독 전용 디지털 다기능 디스크(예컨대, DVD-ROM, 이중-층 DVD-ROM), 판독 전용 및 기록 가능한 블루-레이(Blue-Ray)(등록상표) 디스크, 초고밀도 광 디스크, 플래시 메모리 카드(예컨대, SD 카드, 미니-SD 카드, 마이크로-SD 카드 등), 자기 "플로피" 디스크 등을 포함한다. 컴퓨터 판독가능 저장 매체는 무선으로 또는 유선 연결들을 통해 전달되는 반송파들 및 일시적 전자 신호들을 포함하지 않는다.
일부 실시예들에서, 저장 서브시스템(110)은 통신 애플리케이션(145)(또한 "통합형 메시징 앱"(145)으로 불림)과 같은, 프로세싱 유닛(105)(들)에 의해 실행될 하나 이상의 소프트웨어 프로그램들을 저장할 수 있다. "소프트웨어"는 일반적으로, 프로세싱 유닛(105)(들)에 의해 실행될 때, 컴퓨터 시스템(100)으로 하여금 다양한 동작들을 수행하게 하고, 그에 따라 소프트웨어 프로그램들의 동작들을 실행 및 수행하는 하나 이상의 특정 기계 구현들을 정의하는 명령어들의 시퀀스들을 지칭한다. 명령어들은 프로세서에 의한 프로세싱을 위해 메모리 내로 판독될 수 있는 자기 저장 장치에 저장된 애플리케이션들 및/또는 판독 전용 메모리에 존재하는 펌웨어로서 저장될 수 있다. 소프트웨어는 단일 프로그램, 또는 원하는 대로 상호작용하는 별개의 프로그램들 또는 프로그램 모듈들의 집합으로서 구현될 수 있다. 프로그램들 및/또는 데이터는 비휘발성 저장 장치에 저장될 수 있으며, 프로그램 실행 동안에 전체적으로 또는 부분적으로 휘발성 동작 메모리로 복사될 수 있다. 저장 서브시스템(110)으로부터, 프로세싱 유닛(105)(들)은 본 명세서에 설명된 다양한 동작들을 실행하기 위해 실행될 프로그램 명령어들 및 프로세싱될 데이터를 검색할 수 있다. 일부 실시예들에서, 저장 서브시스템(110)은 또한 사용자 연락처(150)들 및/또는 통신 이력 세션 파일(155)들의 데이터베이스와 같은 다른 데이터를 저장할 수 있다.
사용자 인터페이스가 하나 이상의 사용자 입력 디바이스(120)들 및 하나 이상의 사용자 출력 디바이스(125)들에 의해 제공될 수 있다. 입력 디바이스(120)들은 사용자가 신호들을 컴퓨터 시스템(100)에 제공할 수 있게 하는 임의의 디바이스를 포함할 수 있고, 컴퓨터 시스템(100)은 특정 사용자 요청들 또는 정보를 나타내는 것으로서 신호들을 해석할 수 있다. 입력 디바이스(120)들은 키보드, 터치 패드, 터치 스크린, 마우스 또는 다른 포인팅 디바이스, 스크롤 휠, 클릭 휠, 다이얼, 버튼, 스위치, 키패드, 마이크 등 중 임의의 것 또는 모두를 포함할 수 있다.
출력 디바이스(125)들은 컴퓨터 시스템(100)에 의해 생성된 이미지들을 표시한다. 출력 디바이스(125)들은, 지원 전자기기(예컨대, 디지털-아날로그 또는 아날로그-디지털 변환기, 신호 프로세서 등), 지시등, 스피커, 헤드폰 잭, 프린터 등과 함께, 다양한 이미지 생성 기술들(예컨대, 음극선관(CRT), 액정 디스플레이(LCD), 유기 발광 다이오드(OLED)를 포함한 발광 다이오드(LED), 투사 시스템 등)을 포함할 수 있다. 일부 실시예들은 입력 및 출력 디바이스 둘 모두로서 기능하는 터치스크린과 같은 디바이스를 포함할 수 있다.
일부 실시예들에서, 출력 디바이스(125)는 그래픽 사용자 인터페이스를 제공할 수 있으며, 여기서 출력 디바이스(125)의 일정 영역들에서의 가시(visible) 이미지 요소들은 사용자가 사용자 입력 디바이스(120)들을 사용하여 선택하는 능동 요소들 또는 제어 요소들로서 정의된다. 예를 들어, 사용자는 온-스크린 커서 또는 포인터를 제어 요소 위에 위치시키고, 이어서 선택을 지시하기 위해 버튼을 클릭하도록 사용자 입력 디바이스를 조작할 수 있다. 대안적으로, 사용자는 터치스크린 디바이스 상에서 (예컨대, 손가락 또는 스타일러스를 이용하여) 제어 요소를 터치할 수 있다. 일부 실시예들에서, 사용자는 제어 요소와 연관된 하나 이상의 단어들을 말할 수 있다(상기 단어는 예컨대 상기 요소와 연관된 기능 또는 요소 상의 라벨일 수 있다). 일부 실시예들에서, 터치 감응 디바이스 상에서의 사용자 제스처들이 인식되어 입력 명령들로서 해석될 수 있는데, 이들 제스처들은 출력 디바이스(125)에서 임의의 특정 어레이와 연관될 수 있지만 그럴 필요가 없을 수 있다. 다른 사용자 인터페이스들이 또한 구현될 수 있다.
카메라(130)는 이미지들을 (예컨대, RAW 이미지 데이터 또는 압축된 이미지 데이터로서) 캡처한다. 카메라(130)는 프로세싱 유닛(105)(들) 등을 갖는 디바이스 내로 통합될 수 있거나, 프로세싱 유닛(105)(들)을 갖는 디바이스에 통신적으로 결합된 별개의 디바이스일 수 있다. 카메라(130)는 컴퓨터 시스템(100)이 주변 환경으로부터 비디오 및 정지 이미지들을 캡처 및 기록하게 할 수 있다. 카메라(130)는 광학 컴포넌트들(렌즈, 필터 등), 광 센서(예컨대, 수백만의 독립 픽셀들을 갖는 CMOS 센서), 및 센서에 의해 생성된 신호들을 디지털 이미지 데이터로 변환하기 위한 연관된 전자기기를 포함한, 종래의 설계의 것일 수 있다.
네트워크 인터페이스(135)는 컴퓨터 시스템(100)을 위한 음성 및/또는 데이터 통신 능력을 제공할 수 있다. 일부 실시예들에서, 네트워크 인터페이스(135)는 (예컨대, 셀룰러 전화 기술, 3G, 4G 또는 EDGE와 같은 진보된 데이터 네트워크 기술, WiFi(IEEE 802.11 패밀리 표준들), 또는 다른 이동 통신 기술들, 또는 이들의 임의의 조합을 사용하여) 무선 음성 및/또는 데이터 네트워크들에 액세스하기 위한 무선 주파수(RF) 송수신기 컴포넌트들, GPS 수신기 컴포넌트들, 및/또는 다른 컴포넌트들을 포함할 수 있다. 일부 실시예들에서, 네트워크 인터페이스(135)는 무선 인터페이스에 더하여 또는 그 대신에 유선 네트워크 연결성(예컨대, 이더넷)을 제공할 수 있다. 네트워크 인터페이스(135)는 하드웨어(예컨대, 안테나, 변조기/복조기, 인코더/디코더, 및 다른 아날로그 및/또는 디지털 신호 프로세싱 회로) 및 소프트웨어 컴포넌트들의 조합을 사용하여 구현될 수 있다.
버스(140)는 컴퓨터 시스템(100)의 많은 내부 디바이스들을 통신적으로 연결하는 다양한 시스템, 주변 장치, 및 칩셋 버스들을 포함할 수 있다. 예를 들어, 버스(140)는 저장 서브시스템(110)과 프로세싱 유닛(105)(들)을 통신적으로 결합할 수 있다. 버스(140)는 입력 및 출력 디바이스(120, 125)들에 또한 연결될 수 있다. 버스(140)는 또한 컴퓨터 시스템(100)을 네트워크 인터페이스(135)를 통해 네트워크에 결합할 수 있다. 이러한 방식으로, 컴퓨터 시스템(100)은 다수의 컴퓨터 시스템들의 네트워크(예컨대, 근거리 네트워크(LAN), 광역 네트워크(WAN), 인트라넷, 또는 인터넷과 같은 네트워크들의 네트워크)의 일부일 수 있다. 컴퓨터 시스템(100)의 임의의 또는 모든 컴포넌트들은 본 발명과 함께 사용될 수 있다.
일부 실시예들은 컴퓨터 판독가능 저장 매체에 컴퓨터 프로그램 명령어들을 저장하는 마이크로프로세서, 저장 장치 및 메모리와 같은 전자 컴포넌트들을 포함한다. 본 명세서에 설명된 특징부들 중 많은 것은 컴퓨터 판독가능 저장 매체 상에 인코딩된 한 세트의 프로그램 명령어들로서 규정되는 프로세스들로서 구현될 수 있다. 이들 프로그램 명령어들이 하나 이상의 프로세싱 유닛들에 의해 실행될 때, 이들은 프로세싱 유닛(들)으로 하여금 프로그램 명령어들에서 지시된 다양한 동작들을 수행하게 한다. 프로그램 명령어들 또는 컴퓨터 코드의 예들은 컴파일러에 의해 생성되는 바와 같은 기계 코드, 및 인터프리터를 사용하여 컴퓨터, 전자 컴포넌트, 또는 마이크로프로세서에 의해 실행되는 상위-레벨 코드를 포함한 파일들을 포함한다.
적합한 프로그래밍을 통해, 프로세싱 유닛(105)(들)은 컴퓨터 시스템(100)을 위한 다양한 기능을 제공할 수 있다. 예를 들어, 프로세싱 유닛(105)(들)은 통신 애플리케이션(145)(또는 "통합형 메시징 앱"(145))을 실행시킬 수 있다. 통합형 메시징 앱(145)은 인스턴트 메시징 특징, 비디오 및 음성 통신 특징, 이메일 특징 등과 같은 다양한 기능을 제공할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 전송자로부터 의도된 수신인에 대한 부분 식별자를 수신하는 것에 응답하여 다수의 전자 통신 서비스들과 연관된 한 세트의 계정 어드레스들을 식별할 수 있다. 통합형 메시징 앱(145)은 또한, 상기 한 세트의 계정 어드레스들로부터 의도된 수신인에 대한 식별자의 사용자 선택을 수신할 때, 의도된 수신인에게 메시지를 전송할 전송자 계정을 결정할 수 있다.
또한, 일부 실시예들에서, 통합형 메시징 앱(145)은 사용자가 사용자와 다른 사용자 사이에서의 통신 이력을 보게 할 수 있다. 사용자가 사용자와 다른 사용자 사이에서의 통신 이력을 보고 싶어한다는 사용자 지시를 수신할 때, 통합형 메시징 앱(145)은 다수의 전자 통신 서비스들에 걸쳐 사용자의 사용자 식별자 및 다른 사용자의 사용자 식별자 모두를 식별하고, 이들 사용자 식별자들과 연관된 통신 이력 파일들에 대한 액세스를 획득하고, 통신 이력 파일들 내의 콘텐트를 분류하며, 사용자에 대한 표시를 위해 분류된 콘텐트를 단일 페이지 내로 종합할 수 있다. 일부 실시예들에서, 사용자는 다수의 통신 서비스들로부터 두 명의 사용자들 사이에서의 통신들을 포함하는 통신 이력을 보기 위해 페이지에 걸쳐 스크롤할 수 있다. 또한, 일부 실시예들의 메시징 앱(145)은 사용자 입력의 유형으로서 손 제스처들 또는 시선 또는 얼굴 움직임들을 캡처 및 분석하기 위해 카메라(130)를 동작시킴에 있어서 사용자를 돕기 위한 프로그램 명령어들을 포함할 수 있다.
도 1의 컴퓨터 시스템(100)이 예시적이며 변형들 및 수정들이 가능하다는 것이 이해될 것이다. 컴퓨터 시스템(100)은 본 명세서에 구체적으로 설명되지 않은 다른 능력(예컨대, 이동 전화, GPS, 전력 관리, 액세서리 연결성 등)들을 가질 수 있다. 또한, 컴퓨터 시스템(100)이 특정 블록들을 참조하여 설명되지만, 이들 블록들이 설명의 편리함을 위해 정의되며 컴포넌트 부분들의 특정 물리적 배열을 의미하도록 의도되지 않는다는 것이 이해될 것이다. 또한, 블록들은 물리적으로 별개인 컴포넌트들에 대응할 필요는 없다. 블록들은 예컨대 프로세서를 프로그래밍하거나 적절한 제어 회로를 제공함으로써 다양한 동작들을 수행하도록 구성될 수 있으며, 다양한 블록들은 초기 구성이 획득되는 방법에 의존하여 재구성 가능하거나 재구성 가능하지 않을 수 있다. 본 발명의 실시예들은 회로 및 소프트웨어의 임의의 조합을 사용하여 구현된 전자 디바이스들을 포함한 다양한 장치에서 실현될 수 있다.
언급된 바와 같이, 이하에서 또한 사용자 디바이스(100)로서 지칭되는 컴퓨터 시스템(100)은, 사용자가 다수의 전자 통신 서비스들에 걸쳐 연락처들과 통신하게 하는 단일 통합형 메시징 앱(145)을 제공할 수 있다. 의도된 수신인의 사용자 지시를 수신하는 것에 응답하여, 일부 실시예들에서 사용자 디바이스(100)는 다수의 전자 통신 서비스들과 연관된 사용자 식별자들을 포함할 수 있는 후보 계정 어드레스들의 리스트를 실장(populate)할 수 있다. 사용자(이 경우에, 전송자)는 수신인과의 통신 세션을 개시하기 위해 상기 실장된 리스트로부터 수신인에 대한 사용자 식별자를 선택할 수 있다. 사용될 서비스는 사용자의 선택에 기초하여 자동으로 결정될 수 있다. 그러한 프로세스의 예들이 이제 설명될 것이다.
도 2는 본 발명의 실시예에 따른 통신 세션을 용이하게 하는 프로세스(200)의 흐름도이다. 프로세스(200)는, 예컨대 통합형 메시징 앱(145)을 실행시키는 도 1의 사용자 디바이스(100)에서 구현될 수 있다. 프로세스(200)는 본 발명의 실시예에 따른 통합형 메시징 앱(145)을 사용하여 의도된 수신인과의 통신 세션을 설정함에 있어서 사용자 디바이스(100)를 위한 스크린 이미지들의 예시적인 시퀀스를 도시하는 도 3을 참조하여 설명될 것이다.
도 2의 블록(202)에서, 통합형 메시징 앱(145)은 전송자에 의해 전송될 메시지의 의도된 수신인에 대한 부분 식별자를 포함한 사용자 입력을 수신할 수 있다. 일부 실시예들에서, 부분 식별자는 연락처의 이름(first name)의 일부분, 연락처의 성씨(last name)의 일부분, 연락처의 사용자명들 또는 가명들 중 하나의 일부분 등일 수 있다. 일부 실시예들은 전송자가 키보드 입력, 제스처 입력, 커서 제어기 입력, 시선 입력, 음성 명령 등을 통해 사용자 입력을 수행하게 한다.
도 3을 참조하면, 초기 스크린(305)은 통신 애플리케이션(예컨대, 통합형 메시징 앱(145))과 연관될 수 있다. 초기 스크린(305)은 디스크립션 섹션(325), 탐색 박스(330), 통신 교환 디스플레이 영역(335), 및 메시지 입력 박스(340)를 포함한다. 디스크립션 섹션(325)은 사용자가 통신 세션을 위한 의도된 수신인에게 전송될 새 메시지를 생성하는 프로세스에 있음을 나타낸다. 탐색 박스(330)는 전송자가 의도된 수신인을 식별하기 위해 문자들의 시퀀스(예컨대, 이름, 성씨, 닉네임 등의 일부분)를 입력하게 한다. 통신 교환 디스플레이 영역(335)은 다양한 텍스트 데이터, 하이퍼링크, 이미지 데이터, 비디오 데이터, 오디오 데이터 등을 포함할 수 있는, 전송자와 수신인 사이에서의 통신 교환을 표시한다. 텍스트 입력 박스(340)는 전송자로 하여금 전송자가 수신인에게 전달하고 싶어 하는 메시지를 입력하게 한다.
다시 도 2를 참조하면, 블록(204)에서, 통합형 메시징 앱(145)은 사용자 입력과의 매칭이 존재하는지 여부를 결정하기 위해 사용자 연락처들의 데이터베이스를 탐색할 수 있다. 일부 실시예들에서, 사용자 연락처들의 데이터베이스는 사용자 디바이스(100) 상에 국소적으로 저장된 전자 주소록을 포함할 수 있다. 일부 실시예들에서, 사용자 연락처들의 데이터베이스는 사용자 디바이스(100)에 의해 액세스 가능한 원격 서버에 저장된 전자 주소록을 포함할 수 있다. 전자 주소록은 다수의 연락처들 및 그들의 정보(예컨대, 이름, 성씨, 이메일 주소, 전화 번호, 주소, 성별, 인스턴트 메시징 사용자 식별자 등)를 저장할 수 있다. 일부 실시예들에서의 사용자 디바이스(100)는 부분 식별자를, 전자 주소록에서의 연락처들의 이름들과, 전자 주소록에서의 연락처들의 성씨들과, 전자 주소록에서의 연락처들의 이메일 주소들과, 인스턴트 메시징 계정 식별자들 등과 비교함으로써, 사용자 입력을 갖는 매칭이 존재하는지 여부를 결정한다. 이는 사용자 디바이스(100)가 부분 식별자와 매칭하는 다수의 연락처들을 식별할 수 있게 한다.
일부 실시예들에서, 통합형 메시징 앱(145)은 부분 식별자를 서비스-특정 연락처 리스트에서의 하나 이상의 인스턴트 메시징 사용자 식별자들과 비교함으로써 사용자 입력과의 매칭이 존재하는지 여부를 결정할 수 있다. 일부 실시예들에서, 사용자는 사용자가 등록된 전자 통신 서비스들의 일부 또는 전부에 대한 서비스-특정 연락처 리스트를 가질 수 있다. 각각의 서비스-특정 연락처 리스트(예컨대, 일부 IM 서비스들 상에서의 "버디 리스트(buddy list)")는 사용자가 통신하는 동일한 서비스 상의 다른 사용자들에 대한 다수의 사용자 식별자들(예컨대, 일부 인스턴트-메시징 서비스들 상에서의 "버디 리스트")을 포함할 수 있다. 일부 실시예들에서, 서비스-특정 연락처 리스트는 사용자 디바이스(100) 상에 국소적으로 저장될 수 있지만, 일부 실시예들에서의 서비스-특정 연락처 리스트는 연관된 통신 서비스의 제공자에 의해 관리되는 원격 서버에 저장될 수 있다. 일부 실시예들은 부분 식별자가 사용자의 전자 주소록에서의 연락처들의 이름들 및/또는 성씨들에 대해 비교되었을 때 매칭이 식별되지 않을 때만 인스턴트 메시징 식별자들에 대한 이러한 비교를 수행한다. 일부 실시예들은 매칭이 주소록에서 발견되었는지 여부에 관계없이 이러한 비교를 수행한다.
블록(206)에서, 통합형 메시징 앱(145)은 한 세트의 후보 수신인들에 대한 한 세트의 후보 계정 어드레스들을 식별할 수 있다. 각각의 후보 계정 어드레스는 사용자 식별자 및 사용자 식별자가 유효한 전자 통신 서비스의 식별자를 포함할 수 있다. 블록(208)에서, 통합형 메시징 앱(145)은 후보 계정 어드레스들의 리스트를 전송자에게 제공할 수 있다. 일부 실시예들에서, 리스트는 사용자 디바이스(100)의 디스플레이 스크린 상에 표시된 스크린 이미지 상에 표시될 수 있다. 일부 실시예들은 리스트를 전송자에게 전달하는 오디오 신호들을 생성함으로써 리스트를 전송자에게 제공할 수 있다.
도 3의 스크린 이미지(310)에서, 전송자는 탐색 박스(330) 내로 문자들 "Ma"를 입력하였다. 이러한 사용자 입력에 응답하여, 통합형 메시징 앱(145)은 후보 수신인들을 식별하였고 리스트(350)를 사용자에게 제공하였다. 리스트(350)는 임의의 전자 통신 서비스에 대한 계정들을 포함할 수 있다.
이 예에서, 통합형 메시징 앱(145)은 연락처의 이름에 기초하여 후보 수신인 계정들 중 하나로서 연락처인 Mann Johns를 식별하였다. 통합형 메시징 앱(145)은 추가로 Mann Johns의 전화 번호(310-555-1212)를 보여주고, 그가 SMS를 통해 도달 가능함을 나타낸다. 통합형 메시징 앱(145)은 연락처의 성씨에 기초하여 후보 수신인 계정들 중 다른 하나로서 연락처인 Paul Marks를 식별하였다. 통합형 메시징 앱(145)은 Paul Marks의 이메일 주소(goose@server7.com)를 보여주고, 그가 이메일을 통해 도달 가능함을 나타낸다. 통합형 메시징 앱(145)은 특정 인스턴트 메시징 서비스 상의 연락처의 사용자 식별자 "martian123"에 기초하여 후보 수신인 계정들 중 다른 하나로서 연락처인 Johnny Appleseed를 식별하였다. 통합형 메시징 앱(145)은 Johnny Appleseed의 메시징 사용자 식별자 "martian123"을 보여주고, 그가 인스턴트 메시징 서비스 1("IM #1")을 통해 도달 가능함을 나타낸다. 통합형 메시징 앱(145)은 또한 연락처의 이메일 주소에 기초하여 후보 수신인 계정으로서 연락처인 Martin Go를 식별하였다. 통합형 메시징 앱(145)은 또한 연락처의 메시징 사용자 식별자에 기초하여 후보 수신인 계정들 중 하나로서 연락처인 Ted Chen을 식별하였다. 통합형 메시징 앱(145)은 또한 연락처의 메시징 사용자 식별자에 기초하여 후보 수신인 계정들 중 하나로서 연락처인 Max Carson을 식별하였다.
리스트(350)는 상기 한 세트의 후보 계정 어드레스들을 포함하며, 또한 전송자가 의도된 수신인을 식별하도록 도울 관련 정보(예컨대, 후보 계정 어드레스에 대응하는 명칭, 연관된 전자 통신 서비스 등)를 포함할 수 있다.
일부 경우들에서, 단일 수신인(예컨대, IM #1, IM #2, SMS, VoIP 등)과 통신하기 위한 수 개의 이용 가능한 옵션들이 있을 수 있다. 예를 들어, 사용자 입력은 사용자의 주소록이 전화 번호, 이메일 주소, 및 동일한 수신인 또는 상이한 수신인들에 속할 수 있는 두 개의 상이한 인스턴트 메시징 계정 어드레스들을 갖는 연락처의 이름과 매칭될 수 있다. 단일 수신인에 대해 다수의 서비스들이 이용 가능한 일부 실시예들에서, 통합형 메시징 앱(145)은 후보 수신인과 통신하는 데 이용 가능한 가장 선호된 통신 서비스를 선택 및 표시할 수 있다. 통신 서비스에서의 선호도는 제조자에 의해 사전 구성되거나 통합형 메시징 앱(145) 상에서의 선호도 설정에서 사용자에 의해 구성될 수 있다. 일부 실시예들에서, 선호된 서비스는 예컨대 전송자의 과거 통신 거동에 기초하여 동적으로 결정될 수 있다.
일부 실시예들에서, 후보 수신인과 통신하기 위해 이용 가능한 가장 선호된 통신 서비스만을 표시하는 대신에, 통합형 메시징 앱(145)은 후보 수신인에 대한 계정들 모두를 표시할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 사용자의 선호도에 기초한 순서로 수신인에 대한 상이한 계정들을 표시할 수 있다. 예를 들어, 사용자가 전형적으로 SMS를 사용하는 것을 선호한다면, SMS가 사용자와 후보 수신인 사이에서 통신하는 수단으로서 이용 가능한 경우, 이러한 옵션은 사용자의 편의를 위해 리스트의 상단에 표시될 것이다. 다른 예로서, 순서는 전송자가 계정들 각각을 얼마나 자주 사용하였는지에 기초할 수 있다.
도 2로 돌아가면, 블록(210)에서, 통합형 메시징 앱(145)은 의도된 수신인에 대한 후보 계정 어드레스들 중 하나의 후보 계정 어드레스의 사용자 선택을 수신할 수 있다. 대안적으로, 전송자는 후보 수신인 계정들의 리스트를 추가로 필터링하기 위해 보다 많은 정보를 입력할 수 있다(예컨대, 부가적인 문자들을 계속해서 입력함). 도 3의 스크린 이미지(315)에서, 전송자는 의도된 수신인에 대한 후보 계정 어드레스들 중 하나를 선택하였고, 선택된 후보 계정 어드레스(355)가 강조된다. 일부 실시예들에서, 전송자는 동일한 리스트로부터 하나 초과의 후보 계정 어드레스를 선택할 수 있다.
도 2로 돌아가면, 블록(212)에서, 통합형 메시징 앱(145)은 전송될 메시지를 규정하는 사용자 입력을 수신할 수 있다. 일부 실시예들에서, 사용자는 도 3의 텍스트 입력 박스(340) 내로 메시지를 타이핑할 수 있다. 통합형 메시징 앱(145)은 또한 사용자로 하여금, 비디오 또는 오디오 채팅(선택된 서비스가 이를 지원하는 경우)을 시작시키고 마이크 및/또는 카메라 등을 통해 사용자 입력을 제공함으로써, 메시지 콘텐트(예컨대, 사진)를 포함하는 파일을 식별함으로써 메시지 콘텐트를 생성하게 할 수 있다.
블록(214)에서, 통합형 메시징 앱(145)은 선택된 계정 어드레스에 규정된 메시지를 전송할 수 있다. 일부 실시예들에서, 메시지의 전송은 사용할 적절한 전송자 계정의 선택을 포함할 수 있다. 전송자는 사용자 식별자가 유효한 전자 통신 서비스의 식별자 및 사용자 식별자를 각각 포함하는 다수의 전송자 계정 어드레스들을 가질 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 전송자로 하여금, 전송자가 메시지를 전송하기 전에 어떤 전송자 계정 어드레스를 사용하고 싶어 할지를 규정하게 할 수 있다. 일부 실시예들의 통합형 메시징 앱(145)은 그 예들이 후술되는 다수의 결정 기준들에 기초하여, 인간 개입 없이 전송자 계정 어드레스를 자동으로 결정할 수 있다. 전송자 계정 어드레스를 결정할 때, 통신 세션이 전송자와 의도된 수신인 사이에 설정될 수 있다.
도 3의 스크린 이미지(320)에 도시된 바와 같이, 통신 세션, 이 경우에는 채팅 세션이 설정되었으며 전송자는 수신인에게 인스턴트 메시지들을 전송할 수 있다. 메시지(360)가 전송되었고, 답신(362)이 수신되었으며, 전송자는 현재 메시지(365)를 타이핑하고 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 메시지들이 스크린 이미지들 상에 표시되는 방식을 애니메이션화한다. 예를 들어, 전송자가 (예컨대, "전송" 버튼을 선택함으로써) 통합형 메시징 앱(145)에 수신인에게 메시지를 전송하라고 지시함에 따라, 메시지는 텍스트가 위쪽으로 이동하는 풍선 내에 있는 것처럼 나타나는, 애니메이션화된 풍선 이동으로 메시지 입력 박스(340)로부터 통신 교환 디스플레이 영역(335)으로 이동할 수 있다. 전송자 및 수신인의 메시지를 표시함에 있어서 다양한 애니메이션 방식들 및 스타일들이 통합될 수 있다. 전송자는 이러한 경우에서 수신인과 통신하기 위해 인스턴트 메시지들을 사용하고 있지만, 일부 경우들에서, 전송자는 텍스트 메시지, 오디오 메시지, 비디오 메시지, 이메일 메시지 등을 포함한 다른 유형들의 메시지들을 수신인에게 전송할 수 있다. 모든 다른 입력처럼, 메시지들은 키보드 입력, 음성 명령 입력, 제스처 입력 등을 사용하여 생성될 수 있다.
전술된 바와 같이, 통합형 메시징 앱(145)은 후보 계정 어드레스들 및 후보 수신인들을 식별하기 위해 다양한 소스들을 탐색할 수 있다. 도 4는 본 발명의 실시예에 따라 한 세트의 후보 수신인들에 대한 한 세트의 후보 계정 어드레스들을 식별하기 위한 프로세스(400)의 흐름도이다. 프로세스(400)는, 예컨대 통합형 메시징 앱(145)을 실행시키는 도 1의 사용자 디바이스(100)에서 구현될 수 있다. 프로세스(400)는 본 발명의 일부 실시예들에 따른 사용자 연락처들의 데이터베이스(예컨대, 도 1의 사용자 연락처 데이터베이스(150)) 내의 연락처 엔트리(500)의 일례를 도시하는 도 5를 참조하여 설명될 것이다.
블록(402)에서, 통합형 메시징 앱(145)은 부분 식별자를 포함한 사용자 입력을 수신할 수 있다. 부분 식별자는 통합형 메시징 앱(145)이 사용자 연락처들의 데이터베이스 내의 연락처들을 줄일 수 있게 하고 한 세트의 후보 계정 어드레스들을 식별할 수 있게 할 임의의 정보일 수 있다. 일부 실시예들에서, 부분 식별자는 명칭, 이메일 주소, 인스턴트 메시징 사용자 식별자 등의 일부분을 식별할 수 있는 문자들의 시퀀스일 수 있다.
블록(404)에서, 통합형 메시징 앱(145)은 사용자 연락처 데이터베이스(150) 내의 연락처들의 이름들과의 하나 이상의 매칭들을 식별할 수 있다. 예를 들어, 통합형 메시징 앱(145)은 매칭하는 이름들을 식별하기 위해 사용자 연락처 데이터베이스(150)에서의 이름들과 부분 식별자를 매칭시킬 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 이름의 임의의 부분이 부분 식별자와 동일하다면 이름을 부분 식별자와의 매칭으로서 식별할 수 있다. 예를 들어, 통합형 메시징 앱(145)은 "Madonna"가 부분 식별자 "Don"에 대한 매칭임을 결정할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 이름의 머리 문자들이 부분 식별자와 매칭할 때만 이름을 부분 식별자와의 매칭으로서 식별할 수 있다. 예를 들어, 통합형 메시징 앱(145)은 "Larry"가 부분 식별자 "La"에 대한 매칭이지만 "Mandela"는 아니라고 결정할 수 있다. 매칭이 결정되는 방법에 대한 설정들은 사전 구성될 수 있거나, 통신 애플리케이션의 사용자 또는 관리자에 의해 구성 가능할 수 있다.
도 5는 사용자 연락처들 및 그의 연관된 정보의 데이터베이스에서의 연락처 엔트리(500)의 일례를 도시한다. 도시된 바와 같이, 연락처 엔트리(500)는 연락처에 도달될 수 있는 어드레스들의 리스트 및 (502에서의) 연락처의 명칭을 포함할 수 있다. 이들 어드레스들은 다양한 전자 통신 서비스들에 대한 계정 어드레스들뿐만 아니라 물리 어드레스들(예컨대, 홈 어드레스(504))을 포함할 수 있다. 이 예에서, Johnny Appleseed의 계정 어드레스들은 2개의 이메일 주소(506, 508)들, SMS 어드레스(510)(SMS의 경우에, 전화 번호는 계정 식별자로서 기능할 수 있다), 인스턴트-메시징 서비스들에 대한 3개의 어드레스(512, 514, 516)들, 및 VoIP 어드레스(508)를 포함한다. 연락처 엔트리(500)는 또한 연락처의 하나 이상의 사용자-할당 그룹 관계들과 같은 (영역(520)에 보여진) 연락처에 대한 다른 정보를 포함할 수 있다. 사용자 입력의 수신에 응답하여, 통합형 메시징 앱(145)은 사용자 연락처 데이터베이스(150)에서의 연락처들의 이름들과 부분 식별자를 비교할 수 있다. 사용자 입력이 "John"이면, 일부 실시예들의 통합형 메시징 앱(145)은 매칭이 발견되었다고 결정하고 연락처 엔트리(500)를 플래깅(flagging)할 수 있다.
도 4로 돌아가면, 블록(406)에서, 통합형 메시징 앱(145)은 사용자 연락처 데이터베이스(150)에서의 연락처들의 성씨와의 하나 이상의 매칭들을 식별할 수 있다. 예를 들어, 통합형 메시징 앱(145)은 매칭하는 성씨들을 식별하기 위해 사용자 연락처 데이터베이스(150)에서의 한 세트의 성씨와 부분 식별자를 매칭시킨다. 일부 실시예들에서, 통합형 메시징 앱(145)은 성씨의 임의의 부분이 부분 식별자와 동일하다면 성씨를 부분 식별자와의 매칭으로서 식별할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 성씨의 제1 부분이 부분 식별자와 매칭할 때만 매칭을 찾을 수 있다.
블록(408)에서, 통합형 메시징 앱(145)은 사용자 연락처 데이터베이스(150) 내의 연락처들의 계정 어드레스들과의 하나 이상의 매칭들을 식별할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 연락처의 계정 어드레스들 중 임의의 것과 부분 식별자를 매칭시킬 수 있다.
도 5에서, 통합형 메시징 앱(145)은 계정 어드레스들(이메일 주소들 "j2a@company.com" 및 "johnnya@home.com"; SMS 어드레스 "408-555-1234"; 및 인스턴트-메시징 어드레스들 "jappleseed01", "ja1990", "johnny@co.com", 및 "j-appleseed"를 포함함)을 부분 식별자에 대하여 비교하여 매칭이 발견되는지 여부를 결정할 수 있다. 매칭을 식별할 때, 통합형 메시징 앱(145)은 계정 어드레스를 플래깅할 수 있다. 일부 실시예들에서, 연락처의 전화 번호들의 일부 또는 전부는 SMS어드레스들로서 처리될 수 있으며, 사용자는 연락처의 전화 번호의 일부를 입력함으로써 연락처를 찾을 수 있다.
도 4로 돌아가면, 블록(410)에서, 통합형 메시징 앱(145)은 매칭이 발견되었는지 여부를 결정할 수 있다. 통합형 메시징 앱(145)은 부분 식별자와 사용자 연락처 데이터베이스(150) 내의 이름, 성씨, 또는 계정 어드레스 사이에 적어도 하나의 매칭이 있는지 여부를 결정한다. 적어도 하나의 매칭이 존재한다면, 매칭하는 이름, 성씨, 이메일 주소들, 및/또는 메시징 식별자들을 포함한 후보 계정 어드레스들의 리스트가 전송자에게 제공될 수 있다. 전송자는 이어서 리스트로부터 계정 어드레스들 중 하나를 선택하고 선택된 계정 어드레스와 연관된 전자 통신 서비스를 통해 선택된 수신인에게 메시지를 전송할 수 있다.
통합형 메시징 앱(145)이 매칭이 발견되지 않았다고 결정하면, 블록(412)에서, 일부 실시예들의 통합형 메시징 앱(145)은 전송자가 현재 로그인된 한 세트의 전자 통신 서비스들을 결정할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 또한, 통합형 메시징 앱(145)이 (예컨대, 전송자의 사용자명 및 패스워드가 이미 사용자 디바이스(100)에 저장되어 있고 통합형 메시징 앱(145)에 액세스 가능할 때) 전송자를 로그인시킬 수 있는 전자 통신 서비스들을 결정할 수 있다.
블록(414)에서, 통합형 메시징 앱(145)은 블록(412)에서 식별된 전자 통신 서비스들 각각에 대한 서비스-특정 연락처 리스트 내의 계정 어드레스들(또는 계정 식별자들)과의 하나 이상의 매칭들을 식별할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은, 전자 통신 서비스들 각각에 대한 전송자의 서비스-특정 연락처 리스트를 검색함으로써 그리고 서비스-특정 연락처 리스트 상의 계정 식별자들 중 임의의 것이 사용자에 의해 입력된 부분 식별자와 매칭되는지 여부를 결정함으로써, 연락처들의 계정 어드레스들에 대하여 부분 식별자를 매칭시킬 수 있다. 각각의 전자 통신 서비스에 대한 전송자의 서비스-특정 연락처 리스트는 사용자 디바이스(100)에서 또는 원격 서버(예컨대, 통신 서비스의 제공자에 의해 관리됨)에서 국소적으로 저장될 수 있다. 식별된 매칭들은 이어서 또한 전송자에 제공될 상기 한 세트의 후보 계정 어드레스들에 포함될 수 있다.
수신된 사용자 입력을 사용하여 한 세트의 후보 수신인들에 대한 한 세트의 후보 계정 어드레스들을 식별한 후, 통합형 메시징 앱(145)은 상기 한 세트의 후보 계정 어드레스들을 포함한 리스트를 전송자에게 제공한다. 일부 실시예들에서, 통합형 메시징 앱(145)은 한 세트의 선호도들(예컨대, 특정 통신 서비스들에 대한 사용자의 선호도들, 사용자가 보다 빈번하게 통신하는 사람들)에 기초하여 특정 순서로 리스트에서 후보 계정 어드레스들을 제공할 수 있다. 리스트를 분류하기 위해 사용될 수 있는 다른 기준들은, 전송자가 현재 특정 전자 통신 서비스에 연결되어 있는지 여부; 후보 수신인 계정의 현재 상태(예컨대, 계정이 현재 온라인 또는 오프라인에 있는 것으로 알려져 있는지 여부); 일반적으로 또는 특정 수신인에 대해, 어느 전자 통신 서비스 또는 서비스들을 전송자가 가장 자주 사용하는지; 전송자가 어느 후보 수신인 계정과 가장 최근에 통신하였는지; 전송자가 어느 후보 수신인 계정과 가장 자주 통신하였는지 등을 포함한다. 일부 실시예들에서, 이들 결정 기준들은 또한 리스트를 필터링하기 위해 사용되어, 예컨대 전송자가 연결되지 않은 서비스들 상에 있는 임의의 후보 수신인 계정들을 제외하거나 현재 오프라인에 있는 것으로 알려진 후보 수신인 계정들을 제외할 수 있다.
일부 실시예들에서, 통합형 메시징 앱(145)은 상기 한 세트의 후보 계정 어드레스들 각각에 대해, 연관된 연락처의 명칭(알려져 있는 경우), 계정 식별자(사용자명, 전화 번호 등), 및 계정에 대한 전자 통신 서비스를 표시함으로써 전송자에게 상기 한 세트의 후보 계정 어드레스들을 제공할 수 있다. 도 3에서의 리스트(350)는 정보의 하나의 배열을 예시하며; 다른 실시예들은 상기 한 세트의 후보 계정 어드레스들 각각과 연관된 정보를 상이하게 표시할 수 있다. 상기 한 세트의 후보 계정 어드레스들로부터, 전송자는 의도된 수신인을 나타내는 계정 어드레스를 선택할 수 있다.
일부 실시예들에서, 전송자 계정(즉, 메시지를 전송할 계정)은 인간 개입 없이 통합형 메시징 앱(145)에 의해 자동으로 선택된다. 언급된 바와 같이, 전송자는 상이한 전자 통신 서비스들과 연관될 수 있는 수 개의 계정들을 가질 수 있으며, 전송자는 단일 전자 통신 서비스 상에서 다수의 계정들을 가질 수 있다. 선택된 수신인 계정 식별자의 전자 통신 서비스에 기초하여, 통합형 메시징 앱(145)은 메시지를 전송할 적절한 전송자 계정을 결정할 수 있다. 도 6은 본 발명의 실시예에 따라 특정 후보 계정 어드레스의 사용자 선택에 응답하여 메시지를 전송할 전송자 계정을 결정하기 위한 프로세스(600)의 흐름도이다. 프로세스(600)는, 예컨대 통합형 메시징 앱(145)을 실행시키는 도 1의 사용자 디바이스(100)에서 구현될 수 있다.
블록(602)에서, 통합형 메시징 앱(145)은 선택된 수신인 계정 어드레스와 연관된 전자 통신 서비스를 결정할 수 있다. 통합형 메시징 앱(145)은 어떤 전송자 계정을 사용할지를 결정하기 위해 수신인 계정 어드레스와 연관된 전자 통신 서비스를 결정할 수 있다.
블록(604)에서, 통합형 메시징 앱(145)은 블록(602)에서 결정된 수신인의 전자 통신 서비스와 연관된 한 세트의 전송자 계정 어드레스들을 식별할 수 있다. 전송자는 단일 전자 통신 서비스를 갖는 다수의 사용자 식별자들 또는 계정들을 가질 수 있다. 예를 들어, 특정 인스턴트 메시징 서비스에 대해, 전송자는 동료들과 통신하기 위한 하나의 사용자 식별자 및 가족 및 친구들과 통신하기 위한 다른 사용자 식별자를 사용할 수 있다. 모든 그러한 계정들은 블록(604)에서 식별될 수 있다.
블록(606)에서, 통합형 메시징 앱(145)은 식별된 전송자 계정 어드레스들의 개수가 1 초과인지 여부를 결정할 수 있다. 식별된 전송자 계정 어드레스들의 개수가 1 이하이면(즉, 단 하나의 전송자 계정 어드레스가 수신인의 전자 통신 서비스와 연관되는 것으로서 식별된다면), 블록(616)에서, 통합형 메시징 앱(145)은 이러한 계정 어드레스를 전송자 계정으로서 선택할 수 있으며 이러한 계정 어드레스를 사용하여 메시지를 전송할 수 있다.
블록(606)에서, 식별된 전송자 계정 어드레스들의 개수가 1 초과이면, 블록(608)에서, 통합형 메시징 앱(145)은 전송자 계정 어드레스를 선택할 수 있다. 다양한 선택 기준들이 사용될 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 과거에 후보 계정 어드레스와 통신하기 위해 가장 빈번하게 사용된 전송자 계정 어드레스를 식별하는 이력 정보를 검색할 수 있다. 일부 경우들에서, 전송자는 수신인 계정 어드레스와 통신하기 위해 다른 전송자 계정 어드레스들보다 더 자주 특정 전송자 계정 어드레스를 사용할 수 있다(예컨대, 전송자는 동료들 또는 비즈니스 연락처들과 통신하기 위해 특정 전송자 계정 어드레스를 사용하며 수신인은 비즈니스 연락처이기 때문임). 이어서, 통합형 메시징 앱(145)은 후보 계정 어드레스와 통신하기 위해 가장 빈번하게 사용된 전송자 계정 어드레스를, 메시지를 전송함에 있어서 사용하기 위한 전송자 계정 어드레스로서 결정할 수 있다.
일부 실시예들이 선택된 수신인 계정 어드레스와 통신하기 위해 가장 빈번하게 사용되는 전송자 계정 어드레스를 선택하지만, 일부 실시예들은 상이한 기준들을 사용하여 전송자 계정 어드레스를 선택할 수 있다. 예를 들어, 일부 실시예들은 수신인의 전자 통신 서비스 상에서의 임의의 통신을 위해 가장 최근에 사용된 전송자 계정 어드레스, 선택된 수신인 계정 어드레스와 통신하기 위해 가장 최근에 사용된 전송자 계정 어드레스, 또는 수신인의 전자 통신 서비스 상에서 임의의 통신들을 전송하기 위해 가장 빈번하게 사용된 전송자 계정 어드레스를 결정함으로써 상기 한 세트의 전송자 계정 어드레스들로부터 전송자 계정 어드레스를 선택할 수 있다.
블록(610)에서, 통합형 메시징 앱(145)은 메시지를 전송할 상이한 전송자 계정 어드레스를 선택할 기회를 전송자에게 제공하기 위해 전송자에게 선택된 전송자 계정 어드레스를 제공할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 스크린 이미지 상의 "발신:" 필드에 전송자 계정 어드레스를 표시함으로써 전송자 계정 어드레스를 전송자에게 제공할 수 있다. 메시지를 전송하기 이전에, 통합형 메시징 앱(145)은 전송자가 결정된 전자 통신 서비스와 연관된 상기 한 세트의 전송자 계정 어드레스들로부터 상이한 계정 어드레스를 선택하게 할 수 있다.
블록(612)에서, 통합형 메시징 앱(145)은 전송자가 상이한 계정 어드레스를 선택하였는지 여부를 결정할 수 있다. 전송자가 상이한 계정 어드레스를 선택하였다면, 블록(614)에서, 통합형 메시징 앱(145)은 전송자에 의해 선택된 전송자 계정 어드레스를 사용하여 메시지를 전송할 수 있다. 전송자가 상이한 계정 어드레스를 선택하지 않는다면, 블록(616)에서, 통합형 메시징 앱(145)은 결정된 전송자 계정 어드레스를 사용하여 메시지를 전송한다.
전술된 바와 같이, 전송자는 의도된 수신인의 부분 식별자를 제공하고 부분 식별자와 매칭되는 후보 수신인 계정들의 리스트로부터 선택함으로써 메시지에 대한 수신인 계정을 선택할 수 있다. 전술된 실시예들에서, 부분 식별자는 문자들의 시퀀스일 수 있다. 일부 실시예들에서, 부분 식별자는 의도된 수신인의 특성일 수 있다. 예를 들어, 부분 식별자는 의도된 수신인이 가족 구성원, 비즈니스 연락처, 의사, 특정 나이 그룹 내의 사람, 동료, 테니스 친구, 스터디 그룹 구성원, 특정 구역 내에서 물리적 주소를 갖는 사람 등임을 나타낼 수 있다. 그러한 특성들은 사용자가 저장한 연락처에 대한 임의의 정보에 기초하여 정의될 수 있다. 예를 들어, 도 5의 연락처 엔트리(500)에서, 물리적 주소(504)로부터 Johnny Appleseed가 미국 캘리포니아주 쿠퍼티노에 산다고 결정될 수 있다. 영역(520)에서의 그룹 정보로부터 Johnny Appleseed가 동료라는 것이 결정될 수 있다. (예컨대, 도 3의 탐색 박스(330)에서의) 의도된 수신인의 특성의 수신에 응답하여, 통합형 메시징 앱(145)은 상기 한 세트의 후보 계정 어드레스들을 식별하기 위해 수신된 특성을 사용하여 연락처들을 필터링할 수 있다.
일부 실시예들에서, 통합형 메시징 앱(145)의 사용자는 통신 세션에 참여하도록 다수의 참여자들을 초대할 수 있다. 일부 경우들에서, 사용자는 한 그룹의 연락처들을 선택하며 상기 그룹의 연락처들과의 통신 세션을 개시할 것을 요청할 수 있다. 그러한 경우들에서, 통합형 메시징 앱(145)은 통신 세션을 위해 사용할 전자 통신 서비스로서 그룹 내의 연락처 모두(예컨대, 그룹 내의 모두가 전자 통신 서비스에 로그인되거나 전자 통신 서비스 상의 계정을 가짐)에 액세스 가능한 전자 통신 서비스를 결정할 수 있다. 모든 선택된 연락처들에 걸쳐 이용 가능한 하나 초과의 전자 통신 서비스가 있다면, 통합형 메시징 앱(145)은 선택된 연락처들 중에서 가장 빈번하게 사용된 통신 채널을 결정하고 이를 통신 세션을 위해 사용할 전자 통신 서비스로서 선택할 수 있다. 일부 실시예들에서, 어떤 전자 통신 서비스도 모든 선택된 연락처들에 걸쳐 액세스 가능하다고 결정되지 않는다면, 통신 세션은 설정될 수 없다. 그러나, 일부 실시예들은 대부분의 선택된 연락처들만이 동일한 전자 통신 서비스에 로그인된 때에도 통신 세션이 설정되게 한다.
다른 경우들에서, 사용자는 메시지에 대한 수신인들을 연속적으로 선택할 수 있거나 진행 중인 통신 세션에 다른 당사자를 부가하도록 결정할 수 있다. 일단 전송자가 특정 메시지에 대한 제1 수신인 또는 통신 세션에 대한 제1 참여자를 선택하면, 또한 제1 수신인에 대해 선택되었던 동일한 전자 통신 서비스에 등록되고/되거나 그에 로그인된 이들로 추가의 부가가 제한될 수 있다. 도 7은 본 발명의 실시예에 따른 통합형 메시징 앱(145)을 사용하여 다수의 수신인들에게 메시지를 전송함에 있어서 사용자 디바이스(100)를 위한 스크린 이미지들의 예시적인 시퀀스를 도시한다.
도 7은 도 3에서의 스크린 이미지(305 내지 320)들의 시퀀스를 따르는 스크린 이미지들의 시퀀스로서 설명될 수 있다. 도 7에서의 초기 스크린(705)은 스크린 이미지(320)와 유사한데, 여기서 전송자는 새 메시지에 대한 수신인으로서 서비스 IM #1 상의 Johnny Appleseed를 선택하였다. 이러한 스크린 이미지(705)에서, 전송자는 Johnny Appleseed로의 메시지에 다른 수신인을 부가하기 위해 수신인-부가 버튼(725)을 선택할 수 있다.
수신인-부가 버튼(725)의 사용자 선택에 응답하여, 다른 "수신:" 라인이 스크린 이미지(710)에 나타나 사용자가 다른 수신인을 식별하게 한다. 스크린 이미지(710)에서, 전송자는 부가적인 수신인에 대한 부분 식별자로서 탐색 박스(730)에 문자들 "An"을 입력한다. 부분 식별자의 사용자 입력을 수신할 때, 일부 실시예들의 통합형 메시징 앱(145)은 사용자 입력에 매칭되는 한 세트의 계정 어드레스들(또한 "후보 수신인 계정들"로서 불림)을 식별할 수 있다.
전술된 실시예와 유사하게, 통합형 메시징 앱(145)은 사용자 연락처들의 데이터베이스에서의 연락처들의 이름, 성씨, 이메일 주소, 및 메시징 사용자 식별자들에 대하여 수신된 부분 식별자를 매칭시킴으로써 상기 한 세트의 계정 어드레스들을 식별할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 또한 부분 식별자가 전송자의 서비스-특정 연락처 리스트들에서의 연락처들의 메시징 사용자 식별자들에 매칭되는지 여부를 결정할 수 있다. 그러나, 전송자는 이미 Johnny Appleseed에 대해 사용될 특정한 전자 통신 서비스(서비스 IM #1)를 선택하였기 때문에, 통합형 메시징 앱(145)은 전자 통신 서비스 IM #1에 대한 계정 어드레스들만을 포함하도록 매칭들을 필터링할 수 있다. 스크린 이미지(710)에 보여진 바와 같이, 후보 계정 어드레스들(750)의 리스트가 식별되었고 전송자에게 표시되었다. 리스트는 단지 전자 통신 서비스 IM #1을 사용하는 계정 어드레스들만을 표시한다.
스크린 이미지(715)에서, 전송자는 의도된 수신인에 대한 상기 한 세트의 후보 계정 어드레스들 중 하나를 선택하였다. 도시된 바와 같이, 선택된 후보 계정 어드레스(755)는 강조되어, 전송자가 선택을 하였음을 나타낸다. 스크린 이미지(720)에서, 제2 수신인은 "수신:" 라인에 부가된다. 전송자는, 다른 수신인을 부가하기 위해 수신인-부가 버튼(725)을 다시 선택할 수 있거나, 예컨대 박스(765)에 타이핑함으로써 전송될 메시지를 생성할 수 있다. 전자 통신 서비스가 둘 초과의 참여자들과의 통신 세션들을 지원하는 경우에, 수립된 통신 세션에 참여자들을 부가하기 위해 유사한 프로세스가 사용될 수 있다.
일부 실시예들에서, 통합형 메시징 앱(145)과 같은 통신 애플리케이션이 둘 이상의 참여자들 사이에서 통신 세션을 용이하게 하기 위한 기능을 제공할 수 있다. 통합형 메시징 앱(145)은 전송자가 다수의 전자 통신 서비스들에 걸쳐 의도된 수신인 계정 어드레스를 편리하게 식별하게 하여 메시지를 전송하게 할 수 있다. 일부 실시예들의 통합형 메시징 앱(145)은 선택된 수신인 계정 어드레스들과 연관된 전자 통신 서비스에 기초하여 메시지를 전송할 전송자 계정을 결정할 수 있다. 또한, 통합형 메시징 앱(145)은 셋 이상의 참여자들의 그룹을 위한 통신 세션을 용이하게 하며, 통신 세션을 위해 적절한 전자 통신 서비스를 결정할 수 있다. 사용자는, 애플리케이션들을 스위칭하거나 상이한 사용자 인터페이스들에 적응할 필요 없이, 사용자의 연락처들이 연결하게 될 임의의 전자 통신 서비스 상의 사용자의 연락처들 중 임의의 연락처와 끊김 없는 통신 경험을 즐길 수 있다.
일부 실시예들에서의 통신 애플리케이션은 제1 사용자와 제2 사용자 사이에서의 통신 이력을 표시하는 능력을 포함한 다른 기능을 제1 사용자에게 제공할 수 있다. 사용자와 다른 사용자 사이에서의 통신 이력에 대한 사용자 요청에 응답하여, 일부 실시예들의 통합형 메시징 앱(145)은 다수의 전자 통신 서비스들에 걸쳐 일어난 통신을 포함한, 두 명의 사용자들 사이에서의 통신 이력을 종합하고 제공할 수 있다.
전자 통신 서비스들은 상이한 제공자들에 의해 그리고/또는 상이한 서버들 상에서 호스팅될 수 있으며, 일부 전자 통신 서비스들은 과거 통신의 기록들, 예컨대 이메일 아카이브들 또는 채팅 이력 파일들을 유지할 수 있다. 도 8은 사용자들 사이에서의 통신 이력을 생성하기 위해 위치되며 종합될 수 있는 전자 통신 세션 파일들의 국소적 및 원격 저장 장치를 도시하는 시스템 다이어그램(800)이다. 일부 실시예들에서, 사용자 디바이스(100)는 다양한 서버들과 광역 네트워크(805)(예컨대, 인터넷)를 통해 통신할 수 있다. 도시된 바와 같이, 서버들은 인스턴트 메시징 서비스 #1 서버(810), SMS 서비스 서버(815), 및 인스턴트 메시징 서비스 #2 서버(820)를 포함할 수 있다. 전자 통신 서비스들의 다른 제공자들에 의해 호스팅되는 다른 서버들(도시되지 않음)이 또한 네트워크(805)에 연결될 수 있다. 이 실시예에서, 서버(810, 815, 820)들 각각은 연관된 데이터 저장소(825, 830, 835)에 통신 이력 파일들을 저장한다.
대표적인 통신 파일이 채팅 세션 파일(840)로서 도시되어 있다. 파일(840)은 두 명(또는 그 이상)의 사용자들 사이에서의 채팅 세션의 트랜스크립트(transcript)일 수 있으며, 날짜, 시간, 및/또는 참여자의 사용자명들(또는 다른 계정 식별자들)과 같은 다양한 파라미터들에 대한 참조에 의해 데이터 저장소(825)로부터 검색 가능할 수 있다. 일부 실시예들에서, 파일과 연관된 날짜 및 시간은 통신이 발생한 시간들의 범위(예컨대, 동일한 날로부터의 모든 통신들은 하나의 파일에 저장될 수 있거나, 통신 서비스가 세션을 정의한다면, 시간들의 범위는 세션의 지속기간에 대응할 수 있음)를 포함할 수 있다. 파일(840)은 관련된 시간 범위 동안 어느 당사자에 의해 전송되었던 각각의 메시지의 기록을 저장할 수 있으며, 각각의 메시지는 메시지가 실제로 전송되었던 때를 나타내는 시간 스탬프를 가질 수 있다. 일부 실시예들에서, 파일(840)은 텍스트 데이터, 오디오 데이터, 비디오 데이터, 이미지 데이터, 또는 발생했던 통신을 나타내는 임의의 다른 데이터를 포함할 수 있다. 통신 파일은 임의의 개수의 메시지들을 포함할 수 있으며; 일부 경우들에서, 각각의 메시지가 별개의 파일로 있을 수 있거나, 단일 파일이 많은 메시지들을 포함할 수 있다.
제1 사용자와 제2 사용자 사이에서의 통신 이력을 위한 사용자 요청을 수신할 때, 통합형 메시징 앱(145)은 두 명의 사용자들과 연관된 통신 세션 파일들을 식별하고 이에 대한 액세스를 획득하기 위해 서버(810, 815, 820)들과 통신할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 두 명의 사용자들에 속하는 계정들과 연관된 모든 세션 이력 파일들을 요청할 수 있다.
도 8의 시스템이 예시적이며 변형들 및 수정들이 가능하다는 것이 이해될 것이다. 일부 실시예들에서, 통신 파일들은 원격 서버들 상에 저장되는 것에 더하여 또는 그 대신에 국소적으로(예컨대, 도 8의 국소적 정보 저장소(855)에) 저장될 수 있다.
도 9는 본 발명의 실시예에 따라 다수의 통신 세션 파일들을 종합함으로써 통신 이력 페이지(900)를 생성하는 일례이다. 이 예에서, 사용자는 다른 사용자(Johnny Appleseed)와의 통신 이력을 요청하였다. 사용자의 요청을 수신하는 것에 응답하여, 사용자 디바이스(100)는 사용자와 다른 사용자 사이에서의 통신 세션 파일들을 획득할 수 있다. 상기 파일들은 요청 사용자가 다른 사람과 통신하기 위해 사용하였던 임의의 전자 통신 서비스에 대해 획득될 수 있다. 상이한 서비스들에 대해 상이한 파일들이 획득될 수 있으며, 하나 이상의 파일들이 동일한 서비스로부터 획득될 수 있다. 도 9의 예에서, 통신 이력은 3개의 통신 세션 파일들을 포함한다: 인스턴트 메시지 서비스(910), 인스턴트 메시지/VOIP 서비스(915) 및 텍스트 메시지(SMS) 서비스(920)로부터의 채팅 세션 파일. 단 3개의 통신 세션 파일들만이 이러한 특정 예를 위해 검색되지만, 다양한 전자 통신 서비스들에 걸쳐 두 명의 사용자의 통신 이력에 포함된 보다 많은 세션 파일들이 있을 수 있다. 세션 파일들은 사용자 디바이스(100)에 국소적으로 그리고/또는 원격으로(예컨대, 도 8에 도시된 바와 같이 서버(810, 815, 820)에) 저장될 수 있다. 원격으로 저장된 파일들은 사용자 요청에 응답하여 검색될 수 있다.
일부 실시예들에서, 통합형 메시징 앱(145)은 통신 세션 파일들로부터 개개의 통신들을 일정 순서(예컨대, 시간 순서)로 배열하여, 생성된 페이지가 두 명의 사용자들 사이에서의 통신이 발생하였던 순서로 통신 이력을 표시하게 할 수 있다. 도 9에 도시된 바와 같이, 통신 세션 파일 내의 각각의 통신 라인(메시지에 대응함)은 그 메시지가 전송되었던 때를 나타내는 시간 스탬프를 가질 수 있다. 시간 스탬프들에 기초하여, 통합형 메시징 앱(145)은 상이한 통신 서비스들에 걸쳐 모든 통신 세션 파일들로부터 통신 라인들을 분류하며 시간 순서로 배열된 전체 통신 이력을 갖는 단일 페이지를 제공할 수 있다. (일부 실시예들에서, 통신 라인들은 원하는 대로, 역 시간 순서로 또는 임의의 다른 순서로 분류될 수 있다.)
인스턴트 메시지 서비스(910), VOIP 서비스(915), 및 텍스트 메시지 서비스(920)로부터의 통신 세션 파일들을 종합함으로써 생성된 도 9에서의 페이지(900)는 사용자와 Johnny Appleseed 사이에서의 종합된 통신 이력을 보여준다. 종합된 통신 이력은 어느 서비스가 사용되었는지에 대한 고려 없이, 시간 스탬프들에 의해 분류된, 사용자와 Johnny Appleseed 사이에서의 모든 채팅 라인들 및 텍스트 교환들을 보여준다. VOIP 서비스(915)로부터의 "Hey Mandy"가 10:56:33의 시간 스탬프를 가지며 사용자와 Johnny Appleseed 사이에서의 제1 통신이기 때문에, 이는 종합된 통신 이력에서 제1 채팅 라인으로서 표시된다. 다음 통신은13:20:05에 인스턴트 메시지 서비스(910)를 통해 Johnny Appleseed가 사용자에게 "안녕!(Hello!)"를 전송할 때 발생하였다. 그러므로, 이는 종합된 통신 이력에서 제2 채팅 라인으로서 표시된다. 이러한 방식으로, 인스턴트 메시지 서비스(910) 및 VOIP 서비스(915)로부터의 모든 채팅 라인들이 그들의 연관된 시간 스탬프 각각에 의해 분류된다. 상이한 통신 세션 파일들로부터의 통신 라인들이 각각의 통신 라인의 시간 스탬프에 따라 인터리빙될 수 있다. 또한, 페이지(900)는 또한 SMS 서비스(920)로부터의 사용자와 Johnny Appleseed 사이에서의 통신 이력을 포함한다. 그들의 연관된 시간 스탬프들에 의해 나타내어지는 바와 같이, 텍스트 메시지들은 그 날 중 나중에 교환되었다. 결과적으로, 텍스트 메시지 교환들은 인스턴트 메시지 서비스(910) 및 VOIP 서비스(915)로부터의 통신 이력 아래에서, 페이지(900)의 하부에 표시된다.
페이지(900)가 예시적이며 변형들 및 수정들이 가능하다는 것이 이해될 것이다. 일부 실시예들에서, 상이한 서비스들을 사용하여 전송된 메시지들이, 예컨대 폰트, 배경 색상, 서비스-식별 주석들(도 9에 도시된 바와 같음) 등에 의해, 서로로부터 시각적으로 구별될 수 있다. 일부 실시예들에서, 통신 이력은 텍스트에 더하여 또는 그 대신에 다른 메시지 포맷들을 포함할 수 있다. 예를 들어, 오디오 대화의 기록이 이용 가능하다면, 기록은 (예컨대, 기록의 시작 또는 끝과 연관된 시간 스탬프에 기초하여) 통신 이력 페이지에서의 적절한 지점에 삽입될 수 있다. 이는 예컨대 사용자가 오디오를 재생하게 하기 위해 페이지 및/또는 재생 제어 요소들에서의 적절한 위치에 시각적 큐(cue)를 제공함으로써 나타내어질 수 있다. 비디오가 유사하게 취급될 수 있으며, 비디오의 프레임이 비디오가 이용 가능하다는 표시자로서 포함될 수 있다.
설명된 바와 같이, 일부 실시예들은 또한 각각의 파일의 시간 스탬프 또는 서비스에 의해 정의된 다양한 통신 유닛들과 연관된 시간 스탬프들에 기초한 순서로 통신 이력을 분류할 수 있다. "통신 유닛"은 예컨대 단일 메시지, 한 그룹의 메시지들, 일정 시간 구간 내에서의 모든 메시지들, 20초보다 더 긴 일시정지가 없는 한 블록의 대화 등을 포함할 수 있다. 이는 각각의 통신이 발생하였던 때에 어느 당사자에 의해 사용된 계정 어드레스들 또는 통신 서비스에 관계없이, 통신 이력을 요청하였던 사용자가 단일 페이지에서 두 명의 사용자들 사이에서의 전체 통신 이력을 쉽게 볼 수 있게 한다. 또한, 사용자는, 각각의 통신 세션 파일을 개방하여 각각의 파일의 콘텐트를 개별적으로 탐색해야 하는 대신에, 사용자가 찾고 있는 대화를 식별하기 위해 페이지 내에서 탐색들을 수행할 수 있다. 일부 경우들에서, 통신 이력은 매우 길 수 있으며, 이용 가능한 표시 공간에 맞지 않을 수 있다. 페이지(900)는 사용자가 이력의 상이한 부분들을 보게 하도록 스크롤 가능할 수 있다.
도 10은 본 발명의 실시예에 따라 두 명의 사용자들 사이에서의 통신들을 저장하는 통신 이력을 종합하기 위한 프로세스(1000)의 흐름도이다. 프로세스(1000)는, 예컨대 통합형 메시징 앱(145)을 실행시키는 도 1의 사용자 디바이스(100)에서 구현될 수 있다.
블록(1002)에서, 통합형 메시징 앱(145)은 사용자와 다른 사람 사이에서의 통신 이력에 대한 요청을 수신할 수 있다. 사용자는 사용자 자신과 다른 사람 사이에서의 통신 이력을 볼 것을 요청하는 사용자 디바이스(100)의 사용자일 수 있다. 일부 실시예들에서, 사용자는 통합형 메시징 앱(145)에서 버튼을 선택하고, 풀 다운 메뉴로부터 선택을 하는 등에 의해 통신 이력을 볼 것을 요청할 수 있다. 사용자는 사용자가 과거에 통신하였던 한 명 이상의 사람을 지정할 수 있고, 이들 사이에서의 통신 이력(예컨대, 비디오 채팅 데이터, 인스턴트 메시지 교환들, 음성 채팅 기록 등)을 요청할 수 있다.
블록(1004)에서, 통합형 메시징 앱(145)은 다른 사람에 대한 사용자 식별자를 수신할 수 있다. 일부 실시예들에서, 다른 사람에 대한 사용자 식별자는 통신 이력에 대한 수신된 요청의 일부로서 수신될 수 있다. 전술된 수신인 식별 기술들 중 임의의 것이 사용되어 다른 사람의 사용자 식별자를 제공함에 있어서 사용자를 도울 수 있다.
블록(1006)에서, 통합형 메시징 앱(145)은 요청하는 사용자에 대한 한 세트의 계정 어드레스들을 식별할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 통합형 메시징 앱(145)에 대한 이러한 정보를 저장하는 사용자 디바이스(100) 상의 프로그램 파일들에 액세스함으로써 사용자에 대한 한 세트의 계정 어드레스들을 식별할 수 있다. 일부 실시예들에서, 사용자의 계정 어드레스 정보는 사용자가 새 계정을 생성하고 이를 전자 통신 서비스 중 임의의 하나에 등록할 때 프로그램 파일에 저장된다. 일부 실시예들은 사용자가 다른 사용자-특정 설정들과 함께 정보를 저장할 수 있는 통합형 메시징 앱(145) 내로 이러한 정보를 입력하게 한다. 또한, 일부 실시예들은 원격 서버에서 사용자의 계정 어드레스 정보를 추적하며, 이 서버는 통합형 메시징 앱(145)이 정보를 요청할 때 액세스될 수 있다.
블록(1008)에서, 통합형 메시징 앱(145)은 제1 세트의 계정 어드레스들과 연관된 한 세트의 통신 서비스들을 결정할 수 있다. 이러한 세트는 요청하는 사용자의 계정 어드레스들 중 적어도 하나와 연관되는 임의의 통신 서비스를 포함할 수 있다. 일부 실시예들에서, 일부 서비스들은, 예컨대 서비스가 통신 세션 기록들을 유지하지 않는다면 또는 사용자가 일정 서비스들(예컨대, 이메일)이 제외되어야 함을 지시하였다면, 상기 세트로부터 제외될 수 있다.
블록(1010)에서, 통합형 메시징 앱(145)은 다른 사람에 대한 제2 세트의 계정 어드레스들을 식별할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 사용자 연락처 데이터베이스(150)(또한 주소록으로 지칭됨)를 탐색함으로써 다른 사람에 대한 제2 세트의 계정 어드레스들을 결정할 수 있다. 예를 들어, 사용자는 명칭 또는 계정 어드레스를 제공함으로써 또는 사용자의 주소록으로부터 기록을 선택함으로써 다른 사람을 식별할 수 있으며, 통합형 메시징 앱(145)은 주소록으로부터 연락처의 계정 어드레스들 모두를 검색할 수 있다. 도 5를 참조하면, 블록(1004)에서의 수신된 사용자 식별자가 "Johnny Appleseed"(실제 명칭)이거나 그의 계정들 중 하나, 예컨대 johnny@co.com이면, 통합형 메시징 앱(145)은 주소록을 탐색하여, 매칭 엔트리(500)를 찾고 계정 어드레스(510, 506, 508, 512, 518, 514, 516)들을 포함한 계정 어드레스들 모두를 추출할 수 있다. 일부 실시예들은, 블록(1006)에서 정의된 상기 세트에 있는 계정들 또는 서비스들만을 포함하도록, 추출된 계정 어드레스들을 필터링할 수 있다.
블록(1012)에서, 통합형 메시징 앱(145)은 서버들 또는 국소적 저장 장치로부터, 제1 및 제2 세트들의 계정 어드레스들과 연관된 한 세트의 통신 세션 파일들을 검색할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 사용자와 다른 사람 둘 모두가 동일한 전자 통신 서비스 상에서 계정들을 갖는 모든 경우들을 식별할 수 있다. 각각의 그러한 쌍의 계정들에 대해, 통합형 메시징 앱(145)은 전자 통신 서비스의 서버로부터, 상기 쌍의 계정 식별자들에 대한 세션 파일들 모두를 요청할 수 있고 이들 두 개의 계정들 사이에서의 통신들을 포함한 임의의 세션 파일들을 검색할 수 있다. 사용자 또는 다른 사람(또는 둘 모두)이 단일 서비스 상에서 다수의 계정들을 갖는 경우들에서, 다수의 쌍들의 계정 식별자들이 사용되어 상기 서비스에 대한 세션 파일들을 획득할 수 있다. 세션 파일들이 국소적으로 저장되는 경우들에서, 통합형 메시징 앱(145)은 서버로부터 세션 파일들을 요청하기보다는 국소적 저장 장치로부터 세션 파일들을 획득할 수 있다.
블록(1014)에서, 통합형 메시징 앱(145)은 검색된 통신 세션 파일들 모두로부터 대화 유닛들 또는 라인들을 연관된 시간 스탬프들에 기초한 순서로 배열할 수 있다. 도 9를 참조하여 전술된 바와 같이, 통합형 메시징 앱(145)은 대화 라인을 시간 순서로 배열하여, 통신 세션 파일들 모두에서의 대화 라인들 모두가 단일 페이지에 표시되고 이들의 각자의 시간 스탬프들에 기초하여 순서화되게 할 수 있다. 이는 사용자가 다른 사람과의 통신 이력을 모든 통신 서비스들에 걸쳐 시간 순서로 보게 한다.
블록(1016)에서, 통합형 메시징 앱(145)은 배열된 대화 라인들의 적어도 일부분을 사용자에게 제공할 수 있다. 배열된 대화 라인들은 사용자가 페이지를 통해 간단히 스크롤링함으로써 제1 사용자와 제2 사용자 사이에서의 전체 통신 이력을 볼 수 있는 단일 페이지 또는 윈도우에 제공될 수 있다.
다양한 실시예들에 따른 시스템들 및 방법들이, 통신 이력에 대한 사용자 요청을 수신하는 것에 응답하여, 윈도우 내에서 페이지를 사용하여 둘 이상의 사용자들 사이에서의 통신 이력을 제공할 수 있다. 일부 실시예들에서, 통합형 메시징 앱(145)은 다양한 서버들(예컨대, 서버(810, 815, 820)들)로부터 검색된 통신 이력을 시스템 메모리로 로딩하고, 통신 이력을 사용자에게 표시할 수 있다. 일부 실시예들의 통합형 메시징 앱(145)은 사용자가 페이지를 통해 스크롤링할 때 일부 인접한 라인들과 함께 사용자에게 현재 보이는 통신 라인들이 시스템 메모리로 이미 로딩되었다면 사용자에 대해 끊김 없는 스크롤링 경험을 제공할 수 있다. 그러나, 일부 실시예들에서, 메모리 제약들은 통합형 메시징 앱(145)이 전체 통신 이력을 시스템 메모리로 로딩하는 것을 막을 수 있다. 일부 실시예들은, 사용자가 임의의 주어진 시간에 보고 있는 페이지 내에서의 부분에 적어도 부분적으로 기초하여, 시스템 메모리 내외로 통신 이력 페이지의 부분들을 동적으로 로딩 및 언로딩함으로써 지능형 메모리 캐싱을 구현한다.
통신 이력 페이지의 일부분들의 동적 로딩 및 언로딩의 예가, 두 개의 상이한 시간들에서의 통신 이력 페이지(1105)의 도면인 도 11a 및 도 11b에 도시되어 있다. 도 11a 및 도 11b에서, 페이지(1105)는 두 명의 사용자들 사이에서의 전체 통신 이력을 나타낸다. 일부 실시예들에서, 페이지(1105)는 전술된 기술들을 사용하여 생성될 수 있다. 설명의 편리함을 위해, 페이지(1105)는 통신 이력의 일부분에 각각 대응하는 다수의 셀(1102)들로 분할되는 것으로서 도시되어 있다. 셀(1102)은, 예컨대 고정된 개수의 대화 라인들(예컨대, 100개의 라인들) 또는 고정된 양의 데이터(예를 들어, 시스템 메모리의 페이지)일 수 있다.
도 11a 및 도 11b에서, 빈 셀(예컨대, 도 11a의 셀(1102(1)))은 페이지(1105)의 대응하는 부분이 메모리에 현재 로딩되어 있지 않음을 나타낸다. 라인들을 포함하는 셀(예컨대, 도 11a의 셀(1102(15)))은 대응하는 부분이 메모리에 현재 로딩되어 있음을 나타낸다. 주석 "현재 로딩 중..."을 갖는 셀(예컨대, 도 11a에서의 셀(1102(8)))은 대응하는 부분이 메모리로 로딩되는 중임을 나타낸다. 주석 "현재 언로딩 중..."을 갖는 셀(예컨대, 도 11b에서의 셀(1102(10)))은 대응하는 부분이 메모리로부터 언로딩되는 중임을 나타낸다. 윈도우(1115, 1120)들은 페이지(1105)의 어느 부분이 현재 각각 도 11a 및 도 11b에서 표시되고 있는지를 나타낸다.
일부 실시예들에서, 임의의 주어진 시간에 메모리에 있는 셀(1102)들의 개수는 사용자가 통신 이력 페이지(1105)를 보는 동안 일정할 수 있다(로딩 및 언로딩으로 인한 가능한 과도적 변동들을 제외함). 상기 개수는 이력이 제공되는 디스플레이 영역(도 11의 예에서 5개의 셀(1102)들)을 채우기에 충분한 정보를 제공하기에 충분히 클 수 있으며, 일부 실시예들에서 상기 개수는 예컨대 페이지(1105)의 부가적인 부분들이 사용자가 페이지를 스크롤링하는 것에 앞서 사전-로딩되게 하기 위해 보다 더 클 수 있다. 사용자가 페이지(1105)를 통해 페이지를 스크롤링함에 따라, 새로운 셀(1102)들이 메모리로 로딩되며 다른 셀(1102)들이 총 메모리 사용을 본질적으로 일정하게 유지하기 위해 메모리로부터 언로딩된다.
예를 들어, 도 11a는 사용자 요청에 응답하여 페이지(1105)가 먼저 표시될 때의 시간에 대응할 수 있다. 이 실시예에서, 페이지(1105)는 시간 순서로 배열된 대화 라인들을 포함할 수 있으며, 초기 디스플레이는 가장 최근의 라인들(페이지(1105)의 최하부에 있음)을 보여준다. 표시되고 있는 페이지(1105)의 부분들에 대응하는 셀(1102(10) 내지 1102(15))들이 메모리에 있다. 게다가, 가시적인 부분의 바로 바깥쪽에 있는 페이지(1105)의 부분에 대응하는 셀(1102(9))이 또한 메모리에 있으며, 다음 두 개의 셀(1102(7), 1102(8))들이 로딩되고 있다. 사용자가 스크롤 업(scroll up)하기 시작한다면, 페이지(1105)의 다음의 수 개의 부분들이 표시될 준비가 된다(또는 곧 준비될 것이다).
도 11b는 사용자가 스크롤 업하기 시작한 후, 나중 시간에 대응할 수 있다. 이제 윈도우(1120) 내의 페이지(1105)의 부분이 보인다. 대응하는 셀(1102(4) 내지 1102(9))들은 로딩되어 있다. 뷰 밖으로 스크롤링되었던 셀(1102(10))은 로딩된 상태로 남아 있는데, 사용자가 다시 스크롤 다운하기 시작한다면, 페이지(1105)의 이러한 부분이 표시될 준비가 될 것이다. 뷰 밖으로 멀리 있는 셀(1102(11), 1102(12))들은 언로딩되고 있으며, 셀(1102(13) 내지 1102(15))들은 이제 비어 있다. 셀(1102(2), 1102(3))들은 이제 로딩되고 있고, 이들의 콘텐트는 사용자가 계속해서 스크롤 업한다면 표시될 준비가 될 것이다. 도 11a 및 도 11b를 비교함으로써 알 수 있는 바와 같이, 사용 중인 메모리의 총량은 둘 모두의 시간들에서 본질적으로 동일하다 (이 예에서, 셀들의 언로딩은 빠른 프로세스이다).
동적 로딩 및 언로딩 거동은 구현-의존적 방식으로 최적화될 수 있다. 예를 들어, 셀의 크기는 원하는 대로 선택될 수 있으며, 로딩할 셀들의 최대 개수가 또한 원하는 대로 선택될 수 있다. 일부 실시예들에서, 셀 크기는 고정된 개수의 메시지들 또는 고정된 양의 콘텐트로서 정의될 수 있다. 셀 크기 및 로딩할 셀들의 최대 개수의 선택들은 로딩 속도, 렌더링 속도, 이용 가능한 메모리의 양, 및 사용자 스크롤링에 응답하여 통신 이력의 상이한 부분들을 표시함에 있어서 수용 가능한 지연에 대한 제한들과 같은 고려사항들에 의존할 수 있다. 일부 실시예들에서, 얼마나 많은 콘텐트가 동시에 보일 것인지를 결정하는, 폰트 크기, 디스플레이 해상도, 및 윈도우 크기와 같은 고려사항들이 또한 셀 크기 및 로딩할 셀들의 최대 개수를 선택할 때 고려될 수 있다.
일부 실시예들에서, 통신 이력의 일정 부분들(예컨대, 가장 최근의 통신들에 대응하는 하나 이상의 셀들)은 이력의 다른 부분들이 동적으로 로딩 및 언로딩되는 동안 항상 메모리에서 유지될 수 있다.
게다가, 로딩된 셀에 대해 메모리에 저장된 데이터의 유형은 변화될 수 있다. 일부 실시예들에서, 로딩은 시스템 메모리에 메시지 데이터만을 저장하는 것을 포함하는데, 이때 메시지 데이터로부터 볼 수 있는 이미지를 생성하기 위한 렌더링 및 포맷팅 프로세스들이 실시간으로 수행된다. 다른 실시예들에서, 로딩은 직접 표시 가능한 이미지 블록 또는 다른 데이터로서 셀이 메모리에 저장되도록 렌더링 및 포맷팅 프로세스들을 수행하는 것을 포함할 수 있다. 일부 실시예들에서, 로딩은 또한 (예컨대, 전술된 바와 같은) 세션 파일들로부터 종합된 통신 이력의 부분들을 동적으로 구성하는 것을 포함할 수 있다. 일부 실시예들에서, 종합된 통신 이력은 한 번 구성되고 (예컨대, 캐시 또는 국소적 데이터 파일로) 저장될 수 있으며, 로딩은 보다 빠른 액세스를 가능하게 하기 위해 이러한 저장된 이력 데이터의 부분들을 시스템 메모리에 전달하는 것을 포함할 수 있다. 동적 로딩 및 언로딩은 선택적이며; 일부 실시예들에서, 전체 통신 이력은 즉시 시스템 메모리로 로딩될 수 있다.
일부 실시예들의 통신 애플리케이션은, 둘 이상의 사용자들이 과거에 통신을 위해 사용하였던 전자 통신 서비스들 모두에 걸친 둘 이상의 사용자들 사이에서의 통신들을 통신 이력이 포함하는, 둘 이상의 사용자들 사이에서의 통신 이력을 제공할 수 있다. 통신 애플리케이션은, 통신 이력을 표시하는 윈도우에 걸쳐 스크롤링하는 사용자에게 지능형 메모리 관리를 수행함으로써 끊김 없는 사용자 경험을 제공할 수 있다. 메모리 제한들로 인해, 통신 애플리케이션은 사용자가 윈도우의 상이한 부분들로 스크롤링함에 따라 종합된 통신 이력을 동적으로 로딩 및 언로딩한다.
본 발명은 특정 실시예들에 대하여 설명되었지만, 당업자는 다수의 변경들이 가능하다는 것을 인식할 것이다. 예를 들어, 전술된 실시예들은 이메일, 인스턴트 메시징, 텍스트 메시징, SMS, VOIP 등을 포함한 광범위한 전자 통신 서비스들에 걸쳐 통합형 메시징(또는 통합형 통신)을 제공할 수 있으며, 통신은 텍스트, 오디오, 비디오, 이미지, 또는 임의의 다른 형태의 통신을 통합할 수 있다. 모든 전자 통신 서비스들이 지원되는 것이 필요한 것이 아니라는 것과. 상이한 실시예들이 본 명세서에 언급된 서비스들 및/또는 다른 전자 통신 서비스들의 다양한 조합들을 지원할 수 있다는 것이 이해될 것이다.
사용자는 임의의 개수의 연락처들을 가질 수 있으며, 이용 가능한 서비스들의 임의의 조합을 통해 특정 연락처와 통신할 수 있다. 일부 경우들에서, 사용자는 어떤 기록도 사용자의 주소록에 존재하지 않는 당사자들과 통신하기 위해 통합형 메시징 애플리케이션을 사용할 수 있다.
또한, 종합된 통신 이력의 제공은 과거 통신들의 기록들을 제공하는 서비스들로 제한될 수 있으며, 종합된 통신 이력의 완성도는 사용 가능한 기록들의 이용 가능성 또는 비이용 가능성에 의해 제한될 수 있다. 통신 이력은 또한, 예컨대 전자 통신 서비스들의 데이터 범위 또는 사용자-선택된 서브세트에 기초하여, 이용 가능한 기록들의 서브세트에 걸쳐 종합될 수 있다.
본 발명의 실시예들은 전용 컴포넌트들 및/또는 프로그래밍 가능한 프로세서들 및/또는 다른 프로그래밍 가능한 디바이스들의 임의의 조합을 사용하여 실현될 수 있다. 본 명세서에 설명된 다양한 프로세스들이 동일한 프로세서 또는 임의의 조합의 상이한 프로세서들 상에서 구현될 수 있다. 컴포넌트들이 일정 동작들을 수행하도록 구성되는 것으로 설명되는 경우에, 그러한 구성은 예컨대 동작을 수행하도록 전자 회로들을 설계함으로써, 동작을 수행하도록 프로그래밍 가능한 전자 회로들(예를 들어, 마이크로프로세서들)을 프로그래밍함으로써, 또는 이들의 임의의 조합에 의해 달성될 수 있다. 프로세스들은 프로세스간 통신을 위한 종래의 기술들을 포함하지만 이로 한정되지 않는 다양한 기술들을 사용하여 통신할 수 있으며, 상이한 쌍들의 프로세스들이 상이한 기술들을 사용할 수 있거나, 동일한 쌍의 프로세스들이 상이한 시간들에서 상이한 기술들을 사용할 수 있다. 또한, 전술된 실시예들은 특정 하드웨어 및 소프트웨어 컴포넌트들을 참조할 수 있지만, 당업자는 하드웨어 및/또는 소프트웨어 컴포넌트들의 상이한 조합들이 또한 사용될 수 있으며 하드웨어로 구현되는 것으로서 설명된 특정 동작들이 또한 소프트웨어로 구현될 수 있거나 그 역도 마찬가지임을 이해할 것이다.
본 발명의 다양한 특징들을 통합한 컴퓨터 프로그램들이 다양한 컴퓨터 판독가능 저장 매체 상에 인코딩 및 저장될 수 있으며; 적합한 매체는 자기 디스크 또는 테이프, 콤팩트 디스크(CD) 또는 DVD(digital versatile disk)와 같은 광 저장 매체, 플래시 메모리, 및 다른 비일시적 매체를 포함한다. 프로그램 코드로 인코딩된 컴퓨터 판독가능 매체는 호환 가능한 전자 디바이스와 패키징될 수 있거나, 프로그램 코드는 (예컨대, 인터넷 다운로드를 통해 또는 별도로 패키징된 컴퓨터 판독 가능한 저장 매체로서) 전자 디바이스들과는 별개로 제공될 수 있다.
따라서, 본 발명이 특정 실시예들에 대하여 설명되었지만, 본 발명은 하기의 특허청구범위의 범주 내의 모든 수정들 및 등가물들을 커버하도록 의도된다는 것이 이해될 것이다.

Claims (50)

  1. 통신 세션을 용이하게 하는(facilitate) 방법으로서,
    사용자에 의해 전송될 메시지의 제1 의도된 수신인에 대한 제1 부분 식별자(partial identifier)를 포함하는 제1 사용자 입력을 컴퓨터에서 수신하는 단계;
    상기 제1 부분 식별자에 적어도 부분적으로 기초하여, 제1 후보 계정 어드레스들의 리스트를 결정하는 단계 - 상기 제1 후보 계정 어드레스들 중의 각각의 후보 계정 어드레스는, 복수의 상이한 유형의 전자 통신 서비스들 중의 각각의 전자 통신 서비스와 연관됨 -;
    상기 제1 후보 계정 어드레스들의 리스트를 상기 컴퓨터에 의해 제공하는 단계;
    상기 제1 후보 계정 어드레스들 중 하나의 후보 계정 어드레스를 상기 제1 의도된 수신인의 제1 선택된 계정 어드레스로서 선택하는 제2 사용자 입력을 상기 컴퓨터에 의해 수신하는 단계;
    상기 제2 사용자 입력을 검출하는 것에 응답하여,
    상기 제1 선택된 계정 어드레스와 연관된 상기 전자 통신 서비스를 결정하는 단계;
    상기 사용자를 위한 하나 이상의 사용자 계정 어드레스들을 파악하는 단계; 및
    상기 하나 이상의 사용자 계정 어드레스들로부터, 상기 제1 선택된 계정 어드레스와 연관된 것과 동일한 상기 전자 통신 서비스에 또한 연관된, 호환 가능한 사용자 계정 어드레스를 선택하는 단계;
    상기 메시지의 제2 의도된 수신인에 대한 제2 부분 식별자를 포함하는 제3 사용자 입력을 수신하는 단계;
    상기 제2 부분 식별자에 적어도 부분적으로 기초하여, 제2 후보 계정 어드레스들의 리스트를 결정하는 단계 - 상기 제2 후보 계정 어드레스들 중의 각각의 후보 계정 어드레스는, 복수의 상이한 유형의 전자 통신 서비스들 중의 각각의 전자 통신 서비스와 연관됨 -;
    상기 제2 후보 계정 어드레스들 중 하나의 후보 계정 어드레스를 상기 제2 의도된 수신인의 제2 선택된 계정 어드레스로서 선택하는 단계 - 상기 제2 선택된 계정 어드레스는 상기 제1 선택된 계정 어드레스와 연관된 것과 동일한 상기 전자 통신 서비스에 연관됨 -; 및
    상기 호환 가능한 사용자 계정 어드레스 및 상기 제1 및 제2 선택된 계정 어드레스들과 연관된 상기 전자 통신 서비스를 이용하여 상기 호환 가능한 사용자 계정 어드레스로부터 상기 제1 및 제2 선택된 계정 어드레스들로 상기 메시지를 전송하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 제1 및 제2 후보 계정 어드레스들 중 적어도 하나는 복수의 전자 통신 서비스들과 연관된 한 세트의 사용자 식별자들을 포함하는, 방법.
  3. 제2항에 있어서, 상기 복수의 전자 통신 서비스들은 이메일, 인스턴트 메시징(IM), 단문 메시지 서비스(SMS), 또는 VoIP(Voice over Internet Protocol) 중 적어도 하나를 포함하는, 방법.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서, 상기 제1 후보 계정 어드레스들의 리스트를 결정하는 단계는,
    상기 제1 부분 식별자가 사용자 연락처들의 데이터베이스에서의 하나 이상의 연락처들의 이름(first name), 성씨(last name), 또는 계정 어드레스 중 적어도 하나와 매칭되는지 여부를 결정하는 단계를 포함하고,
    상기 리스트는 상기 제1 부분 식별자가 상기 이름, 상기 성씨, 또는 상기 계정 어드레스 중 적어도 하나와 매칭된다는 결정에 응답하여 제공되며,
    상기 리스트는 상기 결정된 매칭들을 포함하는, 방법.
  7. 제1항에 있어서,
    상기 사용자가 연결되는 한 세트의 전자 통신 서비스들을 식별하는 단계;
    제1 세트의 후보 수신인 계정들을 식별하기 위해 사용자 연락처들의 데이터베이스를 상기 제1 부분 식별자에 적어도 부분적으로 기초하여 탐색하는 단계;
    상기 사용자의 하나 이상의 서비스-특정(service-specific) 연락처 리스트들 - 각각의 서비스-특정 연락처 리스트는 제2 세트의 후보 수신인 계정들을 식별하기 위해 상기 복수의 상이한 유형의 전자 통신 서비스들 중 하나의 전자 통신 서비스와 연관됨 - 을 상기 제1 부분 식별자에 적어도 부분적으로 기초하여 탐색하는 단계를 추가로 포함하고,
    상기 결정된 리스트의 제1 후보 계정 어드레스들은 상기 제1 및 제2 세트들의 후보 수신인 계정들에 연관되는, 방법.
  8. 제7항에 있어서, 상기 사용자의 상기 서비스-특정 연락처 리스트 중 하나는 상기 컴퓨터 상에 국소적으로 저장되며, 상기 사용자의 상기 서비스-특정 연락처 리스트 중 다른 하나는 애플리케이션 프로그래밍 인터페이스(API)를 통해 액세스 가능한 원격 서버에 저장되는, 방법.
  9. 제7항에 있어서, 상기 한 세트의 전자 통신 서비스들은 상기 사용자가 현재 로그인(logged into)된 한 세트의 전자 통신 서비스들을 포함하는, 방법.
  10. 제7항에 있어서, 상기 제1 및 제2 세트들의 후보 수신인 계정들은 그들의 연관된 사용자 식별자들 및 전자 통신 서비스를 표시함으로써 상기 사용자에게 제공되며, 상기 제1 및 제2 세트들의 후보 수신인 계정들은 그들의 연관된 사용자 식별자들에 적어도 부분적으로 기초하여 알파벳 순서로 표시되는, 방법.
  11. 실행될 때 컴퓨팅 디바이스에서의 프로세서로 하여금 통신 세션을 용이하게 하는 방법을 실행하게 하는 프로그램 명령어들이 인코딩된 컴퓨터 판독가능 저장 매체로서,
    상기 방법은,
    사용자에 의해 전송될 메시지의 제1 의도된 수신인에 대한 제1 부분 식별자를 포함하는 제1 사용자 입력을 상기 컴퓨팅 디바이스에 의해 수신하는 단계;
    상기 제1 부분 식별자에 적어도 부분적으로 기초하여, 제1 후보 계정 어드레스들의 리스트 - 상기 제1 후보 계정 어드레스들 중의 각각의 후보 계정 어드레스는, 복수의 상이한 유형의 전자 통신 서비스들 중의 각각의 전자 통신 서비스와 연관됨 - 를 식별하기 위해 사용자 연락처들의 데이터베이스를 상기 컴퓨팅 디바이스에 의해 탐색하는 단계;
    상기 제1 후보 계정 어드레스들의 리스트를 상기 컴퓨팅 디바이스에 의해 제공하는 단계;
    상기 제1 후보 계정 어드레스들 중 하나의 후보 계정 어드레스를 상기 제1 의도된 수신인의 제1 선택된 계정 어드레스로서 선택하는 제2 사용자 입력을 상기 컴퓨팅 디바이스에 의해 수신하는 단계;
    상기 제2 사용자 입력을 검출하는 것에 응답하여,
    상기 제1 선택된 계정 어드레스와 연관된 상기 전자 통신 서비스를 결정하는 단계;
    상기 사용자를 위한 하나 이상의 사용자 계정 어드레스들을 파악하는 단계; 및
    상기 하나 이상의 사용자 계정 어드레스들로부터, 상기 제1 선택된 계정 어드레스와 연관된 것과 동일한 상기 전자 통신 서비스에 또한 연관된, 호환 가능한 사용자 계정 어드레스를 선택하는 단계;
    상기 메시지의 제2 의도된 수신인에 대한 제2 부분 식별자를 포함하는 제3 사용자 입력을 수신하는 단계;
    상기 제2 부분 식별자에 적어도 부분적으로 기초하여, 제2 후보 계정 어드레스들의 리스트를 결정하는 단계 - 상기 제2 후보 계정 어드레스들 중의 각각의 후보 계정 어드레스는, 복수의 상이한 유형의 전자 통신 서비스들 중의 각각의 전자 통신 서비스와 연관됨 -;
    상기 제2 후보 계정 어드레스들 중 하나의 후보 계정 어드레스를 상기 제2 의도된 수신인의 제2 선택된 계정 어드레스로서 선택하는 단계 - 상기 제2 선택된 계정 어드레스는 상기 제1 선택된 계정 어드레스와 연관된 것과 동일한 상기 전자 통신 서비스에 연관됨 -; 및
    상기 호환 가능한 사용자 계정 어드레스 및 상기 제1 및 제2 선택된 계정 어드레스들과 연관된 상기 전자 통신 서비스를 이용하여 상기 호환 가능한 사용자 계정 어드레스로부터 상기 제1 및 제2 선택된 계정 어드레스들로 상기 메시지를 전송하는 단계
    를 포함하는, 컴퓨터 판독가능 저장 매체.
  12. 삭제
  13. 제11항에 있어서, 상기 메시지는 텍스트 데이터, 비디오 데이터, 오디오 데이터, 또는 이미지 데이터 중 적어도 하나를 포함하는, 컴퓨터 판독가능 저장 매체.
  14. 제11항에 있어서, 상기 호환 가능한 사용자 계정 어드레스를 선택하는 단계는,
    상기 제1 선택된 계정 어드레스와 연관된 특정 전자 통신 서비스를 결정하는 단계;
    상기 특정 전자 통신 서비스와 연관된 한 세트의 사용자 계정 어드레스들을 결정하는 단계; 및
    상기 제1 선택된 계정 어드레스와 가장 빈번하게 통신하는, 상기 한 세트의 사용자 계정 어드레스들에서의 특정 사용자 계정 어드레스를 식별함으로써, 상기 한 세트의 사용자 계정 어드레스들로부터 상기 호환 가능한 사용자 계정 어드레스를 선택하는 단계를 포함하는, 컴퓨터 판독가능 저장 매체.
  15. 제11항에 있어서, 상기 사용자 연락처들의 데이터베이스를 탐색하는 단계는,
    매칭되는 이름들의 서브세트를 식별하기 위해 상기 사용자 연락처들의 데이터베이스에서의 한 세트의 이름들과 상기 제1 부분 식별자를 매칭시키는 단계;
    매칭되는 성씨들의 서브세트를 식별하기 위해 상기 사용자 연락처들의 데이터베이스에서의 한 세트의 성씨들과 상기 제1 부분 식별자를 매칭시키는 단계; 및
    매칭되는 계정 어드레스들의 서브세트를 식별하기 위해 상기 사용자 연락처들의 데이터베이스에서의 한 세트의 계정 어드레스들과 상기 제1 부분 식별자를 매칭시키는 단계를 포함하고,
    상기 제1 후보 계정 어드레스들의 리스트는 상기 매칭되는 이름들의 서브세트, 상기 매칭되는 성씨들의 서브세트, 및 상기 매칭되는 계정 어드레스들의 서브세트를 포함하는, 컴퓨터 판독가능 저장 매체.
  16. 전자 디바이스로서,
    프로세서;
    상기 프로세서에 결합되고, 통신 세션을 용이하게 하기 위해 실행될 명령어들을 포함하는 메모리 디바이스를 포함하고,
    상기 명령어들은,
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    사용자에 의해 전송될 메시지의 제1 의도된 수신인에 대한 제1 부분 식별자를 포함하는 제1 사용자 입력을 상기 프로세서에 의해 수신하게 하고;
    상기 제1 부분 식별자에 적어도 부분적으로 기초하여, 제1 후보 계정 어드레스들의 리스트 - 상기 제1 후보 계정 어드레스들 중의 각각의 후보 계정 어드레스는, 복수의 상이한 유형의 전자 통신 서비스들 중의 각각의 전자 통신 서비스와 연관됨 - 를 식별하기 위해 사용자 연락처들의 데이터베이스를 탐색하게 하며;
    상기 제1 후보 계정 어드레스들의 리스트를 상기 프로세서에 의해 제공하게 하고;
    상기 제1 후보 계정 어드레스들 중 하나의 후보 계정 어드레스를 상기 제1 의도된 수신인의 제1 선택된 계정 어드레스로서 선택하는 제2 사용자 입력을 상기 프로세서에 의해 수신하게 하며;
    상기 제2 사용자 입력을 검출하는 것에 응답하여,
    상기 제1 선택된 계정 어드레스와 연관된 상기 전자 통신 서비스를 결정하게 하고;
    상기 사용자를 위한 하나 이상의 사용자 계정 어드레스들을 파악하게 하고;
    상기 하나 이상의 사용자 계정 어드레스들로부터, 상기 제1 선택된 계정 어드레스와 연관된 것과 동일한 상기 전자 통신 서비스에 또한 연관된, 호환 가능한 사용자 계정 어드레스를 선택하게 하고;
    상기 메시지의 제2 의도된 수신인에 대한 제2 부분 식별자를 포함하는 제3 사용자 입력을 수신하게 하고;
    상기 제2 부분 식별자에 적어도 부분적으로 기초하여, 제2 후보 계정 어드레스들의 리스트를 결정하게 하고 - 상기 제2 후보 계정 어드레스들 중의 각각의 후보 계정 어드레스는, 복수의 상이한 유형의 전자 통신 서비스들 중의 각각의 전자 통신 서비스와 연관됨 -;
    상기 제2 후보 계정 어드레스들 중 하나의 후보 계정 어드레스를 상기 제2 의도된 수신인의 제2 선택된 계정 어드레스로서 선택하게 하고 - 상기 제2 선택된 계정 어드레스는 상기 제1 선택된 계정 어드레스와 연관된 것과 동일한 상기 전자 통신 서비스에 연관됨 -; 및
    상기 호환 가능한 사용자 계정 어드레스 및 상기 제1 및 제2 선택된 계정 어드레스들과 연관된 상기 전자 통신 서비스를 이용하여 상기 호환 가능한 사용자 계정 어드레스로부터 상기 제1 및 제2 선택된 계정 어드레스들로 상기 메시지를 전송하게 하는,
    전자 디바이스.
  17. 제16항에 있어서, 상기 제1 및 제2 사용자 입력 중 임의의(any) 사용자 입력은 키보드 입력, 제스처 입력, 시선(gaze) 입력, 또는 음성 명령 입력을 통해 수신되는, 전자 디바이스.
  18. 제16항에 있어서, 상기 제1 부분 식별자는 문자들의 문자열, 후보 수신인의 특성, 또는 상기 후보 수신인의 전자 디바이스의 특성 중 적어도 하나인, 전자 디바이스.
  19. 제16항에 있어서, 상기 프로세서로 하여금 상기 사용자 연락처들의 데이터베이스를 탐색하게 하는 상기 명령어들은,
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    상기 제1 부분 식별자가 상기 사용자 연락처들의 데이터베이스에서의 연락처들의 이름, 성씨 또는 계정 어드레스 중 적어도 하나와 매칭되는지 여부를 결정하게 하고;
    상기 제1 부분 식별자가 상기 연락처들의 상기 이름, 상기 성씨, 또는 상기 계정 어드레스 중 적어도 하나와 매칭되는지 여부를 결정하는 것에 후속하여, 상기 사용자가 연결되는 한 세트의 전자 통신 서비스들을 식별하게 하며;
    상기 한 세트의 전자 통신 서비스들의 각각에 대해, 상기 제1 부분 식별자가 상기 사용자 연락처들의 데이터베이스에서의 연락처들의 메시지 식별자 - 상기 메시지 식별자는 상기 한 세트의 전자 통신 서비스들 중 하나와 연관됨 - 와 매칭되는지 여부를 결정하게 하는
    명령어들을 추가로 포함하며,
    상기 제공된 리스트는 상기 제1 부분 식별자에 대한 매칭들을 포함하는, 전자 디바이스.
  20. 제16항에 있어서, 상기 프로세서로 하여금 상기 사용자 연락처들의 데이터베이스를 탐색하게 하는 상기 명령어들은,
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    상기 제1 부분 식별자가 상기 사용자 연락처들의 데이터베이스에서의 연락처들의 이름, 성씨 또는 계정 어드레스 중 적어도 하나와 매칭되는지 여부를 결정하게 하고,
    상기 제1 부분 식별자가 사용자들의 상기 이름, 상기 성씨, 또는 상기 계정 어드레스 중 적어도 하나와 매칭되지 않는다는 결정에 응답하여, 상기 제1 부분 식별자가 서비스-특정 연락처 리스트에서의 통신 식별자 중 적어도 하나와 매칭되는지 여부를 결정하게 하는
    명령어들을 추가로 포함하며,
    상기 통신 식별자는 상기 복수의 상이한 유형의 전자 통신 서비스들 중 적어도 하나와 연관되는, 전자 디바이스.
  21. 제1항에 있어서,
    상기 제2 선택된 계정 어드레스를 선택하는 단계는,
    상기 제1 선택된 계정 어드레스와 연관된 것과 동일한 상기 전자 통신 서비스에 연관된 복수의 후보 계정 어드레스들의 후보 계정 어드레스 리스트를 상기 컴퓨터에 의해 제공하는 단계;
    상기 후보 계정 어드레스 리스트로부터 단일한 후보 계정 어드레스를 선택하는 추가적인 사용자 입력을 상기 컴퓨터에 의해 수신하는 단계;
    상기 추가적인 사용자 입력을 검출하는 것에 응답하여, 상기 후보 계정 어드레스 리스트로부터의 상기 단일한 후보 계정 어드레스를 상기 제2 선택된 계정 어드레스로서 결정하는 단계
    를 추가로 포함하는, 방법.
  22. 제11항에 있어서,
    상기 제2 선택된 계정 어드레스를 선택하는 단계는,
    상기 제1 선택된 계정 어드레스와 연관된 것과 동일한 상기 전자 통신 서비스에 연관된 복수의 후보 계정 어드레스들의 후보 계정 어드레스 리스트를 상기 컴퓨팅 디바이스에 의해 제공하는 단계;
    상기 후보 계정 어드레스 리스트로부터 단일한 후보 계정 어드레스를 선택하는 추가적인 사용자 입력을 상기 컴퓨팅 디바이스에 의해 수신하는 단계;
    상기 추가적인 사용자 입력을 검출하는 것에 응답하여, 상기 후보 계정 어드레스 리스트로부터의 상기 단일한 후보 계정 어드레스를 상기 제2 선택된 계정 어드레스로서 결정하는 단계
    를 추가로 포함하는, 컴퓨터 판독가능 저장 매체.
  23. 제16항에 있어서, 상기 프로세서로 하여금 상기 제2 선택된 계정 어드레스를 선택하게 하는 상기 명령어들은,
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    상기 제1 선택된 계정 어드레스와 연관된 것과 동일한 상기 전자 통신 서비스에 연관된 복수의 후보 계정 어드레스들의 후보 계정 어드레스 리스트를 제공하게 하고;
    상기 후보 계정 어드레스 리스트로부터 단일한 후보 계정 어드레스를 선택하는 추가적인 사용자 입력을 수신하게 하고;
    상기 추가적인 사용자 입력을 검출하는 것에 응답하여, 상기 후보 계정 어드레스 리스트로부터의 상기 단일한 후보 계정 어드레스를 상기 제2 선택된 계정 어드레스로서 결정하게 하는
    명령어들을 추가로 포함하는, 전자 디바이스.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
KR1020147025098A 2012-02-05 2013-02-04 통합형 통신 애플리케이션 KR101614149B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261595127P 2012-02-05 2012-02-05
US61/595,127 2012-02-05
US13/464,807 US9300621B2 (en) 2012-02-05 2012-05-04 Communication history aggregation and presentation
US13/464,807 2012-05-04
US13/464,801 2012-05-04
US13/464,801 US9641480B2 (en) 2012-02-05 2012-05-04 Automated participant account determination for a communication session
PCT/US2013/024653 WO2013116848A2 (en) 2012-02-05 2013-02-04 Unified communication application

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167009843A Division KR101669794B1 (ko) 2012-02-05 2013-02-04 통합형 통신 애플리케이션

Publications (2)

Publication Number Publication Date
KR20140127309A KR20140127309A (ko) 2014-11-03
KR101614149B1 true KR101614149B1 (ko) 2016-04-21

Family

ID=48903837

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167009843A KR101669794B1 (ko) 2012-02-05 2013-02-04 통합형 통신 애플리케이션
KR1020147025098A KR101614149B1 (ko) 2012-02-05 2013-02-04 통합형 통신 애플리케이션

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167009843A KR101669794B1 (ko) 2012-02-05 2013-02-04 통합형 통신 애플리케이션

Country Status (7)

Country Link
US (2) US9300621B2 (ko)
EP (2) EP2798796B1 (ko)
JP (2) JP5965500B2 (ko)
KR (2) KR101669794B1 (ko)
CN (2) CN108123869B (ko)
AU (4) AU2013214758A1 (ko)
WO (1) WO2013116848A2 (ko)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542091B2 (en) 2010-06-04 2017-01-10 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US9300621B2 (en) 2012-02-05 2016-03-29 Apple Inc. Communication history aggregation and presentation
CN103631808B (zh) * 2012-08-24 2018-03-23 腾讯科技(深圳)有限公司 沟通记录排列方法和装置
US20140351713A1 (en) * 2013-05-23 2014-11-27 Research In Motion Limited Method and electronic device for updating communication representations based on activity level
CN104468319B (zh) * 2013-09-18 2018-11-16 阿里巴巴集团控股有限公司 一种会话内容合并方法和系统
IN2013DE02965A (ko) * 2013-10-04 2015-04-10 Samsung India Electronics Pvt Ltd
US9892723B2 (en) * 2013-11-25 2018-02-13 Rovi Guides, Inc. Systems and methods for presenting social network communications in audible form based on user engagement with a user device
US9246857B2 (en) 2013-12-23 2016-01-26 Ctext Technology Llc Method and system for correlating conversations in a messaging environment
US20150312190A1 (en) * 2014-04-24 2015-10-29 Aaron Rankin System and methods for integrating social network information
KR102114201B1 (ko) 2014-04-29 2020-05-25 삼성전자주식회사 전자장치 및 전자장치의 메시지처리 방법
US9898162B2 (en) 2014-05-30 2018-02-20 Apple Inc. Swiping functions for messaging applications
US9971500B2 (en) 2014-06-01 2018-05-15 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US9736099B2 (en) 2014-06-05 2017-08-15 International Business Machines Corporation Preventing messages from being sent using inappropriate communication accounts
US10990914B2 (en) * 2014-07-22 2021-04-27 Microsoft Technology Licensing, Llc Filtering records on a unified display
KR102184305B1 (ko) 2014-09-12 2020-11-30 삼성전자 주식회사 인증을 처리하는 방법 및 이를 제공하는 전자 장치와 서버
US9667577B2 (en) 2015-01-13 2017-05-30 International Business Machines Corporation Correlating contact type with appropriate communications to eliminate inadvertent communications
EP3249857B1 (en) 2015-01-29 2020-02-26 Huawei Technologies Co. Ltd. Chat history display method and apparatus
KR102242983B1 (ko) * 2015-01-30 2021-04-21 삼성전자주식회사 통합 메시지 어플리케이션 운용 방법 및 이를 지원하는 전자장치
US10027615B2 (en) 2015-02-13 2018-07-17 International Business Machines Corporation Personal communication data management in multilingual mobile device
US10057202B2 (en) 2015-02-13 2018-08-21 International Business Machines Corporation Personal communication data management in multilingual mobile device
JP6667993B2 (ja) 2015-03-04 2020-03-18 Line株式会社 サーバ、サーバの制御方法およびプログラム
CN107533720B (zh) * 2015-03-13 2021-11-09 Pcms控股公司 用于测量移动广告效果的系统和方法
CN106156149B (zh) 2015-04-14 2020-01-03 阿里巴巴集团控股有限公司 一种数据转移方法及装置
US9866511B2 (en) 2015-06-09 2018-01-09 International Business Machines Corporation Ensuring that a composed message is being sent to the appropriate recipient
CN106302099B (zh) * 2015-06-11 2020-10-09 钉钉控股(开曼)有限公司 一种即时通讯中的会话处理方法及装置
WO2016208252A1 (ja) * 2015-06-23 2016-12-29 UiMaker株式会社 通信端末装置
CN105069073B (zh) 2015-07-30 2019-12-13 小米科技有限责任公司 联系人信息推荐方法及装置
US10250534B2 (en) * 2015-08-11 2019-04-02 Avaya Inc. Cloud-based universal collaborative messaging system and method
US10003561B2 (en) * 2015-08-24 2018-06-19 Microsoft Technology Licensing, Llc Conversation modification for enhanced user interaction
WO2017049246A1 (en) 2015-09-16 2017-03-23 CrowdReach, LLC Communication to multiple contacts via different communication modalities
CN106559554B (zh) * 2015-09-30 2021-06-15 北京奇虎科技有限公司 一种通信处理方法、装置
CN105978791A (zh) * 2016-05-11 2016-09-28 柳州迅屹办公设备有限公司 一种基于收件人数量的电子邮件发送校验方法
US11768583B2 (en) * 2016-06-12 2023-09-26 Apple Inc. Integration of third party application as quick actions
CN106686217A (zh) * 2016-08-31 2017-05-17 上海青橙实业有限公司 通信记录处理方法及移动终端
JP6200051B1 (ja) * 2016-09-09 2017-09-20 Line株式会社 プログラム、情報処理方法、及び情報処理端末
CN107872327B (zh) * 2016-09-28 2020-12-01 平安科技(深圳)有限公司 群组会议信息记录方法和装置
US10362163B2 (en) * 2016-11-08 2019-07-23 T-Mobile Usa, Inc. Method, apparatus, and system for preventing unintentional communication
CN108090079B (zh) * 2016-11-22 2021-03-02 阿里巴巴集团控股有限公司 一种即时聊天工具的聊天记录处理方法及装置
US10430874B1 (en) * 2016-12-23 2019-10-01 Wells Fargo Bank, N.A. Verifying a customer address by device location prior to sending replacement card
US10916243B2 (en) * 2016-12-27 2021-02-09 Amazon Technologies, Inc. Messaging from a shared device
US10404631B2 (en) 2017-01-13 2019-09-03 Microsoft Technology Licensing, Llc Creating groups in a messaging system
WO2018132304A1 (en) * 2017-01-13 2018-07-19 Microsoft Technology Licensing, Llc Creating groups in a messaging system
US10681202B2 (en) * 2017-02-17 2020-06-09 Whatsapp Inc. Methods and systems for processing an ephemeral content message
KR102002620B1 (ko) 2017-02-28 2019-10-02 엔에이치엔 주식회사 메시지 정보 통합 관리 제공 시스템, 메시지 정보 통합 관리 제공 방법 및 컴퓨터로 판독 가능한 저장매체
CN108632127B (zh) * 2017-03-15 2021-08-17 阿里巴巴集团控股有限公司 会话筛选方法及装置
KR102390939B1 (ko) * 2017-06-13 2022-04-26 구글 엘엘씨 전자 채팅 인터페이스들과의 인터렉션 개선
US11928482B2 (en) 2017-06-13 2024-03-12 Google Llc Interaction with electronic chat interfaces
WO2019031621A1 (ko) * 2017-08-08 2019-02-14 라인 가부시키가이샤 통화 중 감정을 인식하여 인식된 감정을 활용하는 방법 및 시스템
CN107493229A (zh) * 2017-09-12 2017-12-19 广东欧珀移动通信有限公司 融合通信的消息群发方法、服务器及计算机存储介质
US10306071B1 (en) * 2017-09-15 2019-05-28 Fuze, Inc. Providing a unified communication history of a multi-modal communication
US11144873B2 (en) * 2017-10-16 2021-10-12 Florence Corporation Package management system with accelerated delivery
US11270251B2 (en) 2017-10-16 2022-03-08 Florence Corporation Package management system with accelerated delivery
JP6479950B1 (ja) * 2017-12-19 2019-03-06 Bhi株式会社 アカウント名寄せシステム
CN108156329A (zh) * 2018-01-25 2018-06-12 维沃移动通信有限公司 消息发送的方法、移动终端及计算机可读存储介质
US10135775B1 (en) * 2018-03-15 2018-11-20 Capital One Services, Llc Dynamic re-configuration of a user interface based on transaction information
JP6359786B1 (ja) * 2018-04-23 2018-07-18 株式会社ドリコム 端末、端末の制御方法、ならびに、プログラム
TWI711294B (zh) * 2018-05-10 2020-11-21 莊連豪 複合式通訊應用程式之介面整合系統及其實施方法
US10972454B2 (en) * 2018-05-29 2021-04-06 Apple Inc. Conversation merging for electronic devices
CN110661694A (zh) * 2018-06-28 2020-01-07 阿里巴巴集团控股有限公司 消息处理方法、装置、终端及服务器
US10721190B2 (en) * 2018-07-31 2020-07-21 Microsoft Technology Licensing, Llc Sequence to sequence to classification model for generating recommended messages
KR102127336B1 (ko) * 2018-07-31 2020-06-26 엔에이치엔 주식회사 Vip의 메시지를 관리하는 기능을 제공하는 방법 및 단말
JP6555789B2 (ja) * 2018-11-22 2019-08-07 Line株式会社 サーバ、サーバの制御方法およびプログラム
JP6566506B2 (ja) * 2018-11-30 2019-08-28 Line株式会社 端末、端末の制御方法およびプログラム
JP6555837B2 (ja) * 2018-11-30 2019-08-07 Line株式会社 端末、端末の表示方法およびプログラム
JP6555839B2 (ja) * 2018-12-21 2019-08-07 Line株式会社 端末、端末の表示方法およびプログラム
CN111447133B (zh) * 2019-01-16 2022-07-29 腾讯科技(深圳)有限公司 消息传输方法和装置、存储介质及电子装置
JP6528297B1 (ja) * 2019-01-31 2019-06-12 Bhi株式会社 アカウント名寄せシステム
CN112016580B (zh) * 2019-05-31 2023-07-25 北京百度网讯科技有限公司 应用程序名称识别方法、装置及终端
JP6639066B2 (ja) * 2019-07-10 2020-02-05 Line株式会社 端末、端末の制御方法およびプログラム
CN110913066A (zh) * 2019-10-31 2020-03-24 维沃移动通信有限公司 一种显示方法及电子设备
JP6678805B2 (ja) * 2019-11-01 2020-04-08 Line株式会社 端末、端末の制御方法およびプログラム
JP6695089B2 (ja) * 2019-12-17 2020-05-20 Line株式会社 端末、端末の制御方法およびプログラム
JP6952399B2 (ja) * 2019-12-17 2021-10-20 Line株式会社 端末、端末の制御方法およびプログラム
WO2021154650A1 (en) * 2020-01-31 2021-08-05 Slack Technologies, Inc. Dynamic profile reconciliation in group-based communication systems
JP7271632B2 (ja) * 2020-06-23 2023-05-11 Line株式会社 表示方法およびプログラム
US11343114B2 (en) 2020-07-27 2022-05-24 Bytedance Inc. Group management in a messaging service
US11922345B2 (en) 2020-07-27 2024-03-05 Bytedance Inc. Task management via a messaging service
US11290409B2 (en) 2020-07-27 2022-03-29 Bytedance Inc. User device messaging application for interacting with a messaging service
US11349800B2 (en) 2020-07-27 2022-05-31 Bytedance Inc. Integration of an email, service and a messaging service
US11645466B2 (en) 2020-07-27 2023-05-09 Bytedance Inc. Categorizing conversations for a messaging service
US11539648B2 (en) 2020-07-27 2022-12-27 Bytedance Inc. Data model of a messaging service
CN112199136A (zh) * 2020-09-01 2021-01-08 北京达佳互联信息技术有限公司 通知消息的聚合方法、装置、电子设备及存储介质
US11552816B2 (en) 2021-06-02 2023-01-10 Microsoft Technology Licensing, Llc Targeted positioning of message content for interfaces identifying multiple users

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059627A1 (en) * 2006-08-29 2008-03-06 Hamalainen Jari P Unified contact database
US20080189399A1 (en) * 2006-10-31 2008-08-07 Yahoo! Inc. Social Namespace Addressing for Non-Unique Identifiers

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3719191B2 (ja) 2001-10-22 2005-11-24 富士通株式会社 通信端末装置および通信情報提示方法
US20050130631A1 (en) 2001-12-26 2005-06-16 Michael Maguire User interface and method of viewing unified communications events on a mobile device
US8150922B2 (en) 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
US7933957B2 (en) * 2002-09-17 2011-04-26 At&T Intellectual Property Ii, L.P. Tracking email and instant messaging (IM) thread history
US7702315B2 (en) 2002-10-15 2010-04-20 Varia Holdings Llc Unified communication thread for wireless mobile communication devices
US7941762B1 (en) 2003-02-14 2011-05-10 Shoretel, Inc. Display of real time information for selected possibilities
US7406501B2 (en) 2003-03-24 2008-07-29 Yahoo! Inc. System and method for instant messaging using an e-mail protocol
BRPI0410362B1 (pt) * 2003-05-16 2017-06-20 Google Inc. Systems and methods of sharing network and network media
US7610340B2 (en) * 2003-10-09 2009-10-27 International Business Machines Corporation Method, system and storage medium for providing interoperability of email and instant messaging services
US7194516B2 (en) * 2003-10-23 2007-03-20 Microsoft Corporation Accessing different types of electronic messages through a common messaging interface
US7349971B2 (en) * 2004-02-05 2008-03-25 Scenera Technologies, Llc System for transmitting data utilizing multiple communication applications simultaneously in response to user request without specifying recipient's communication information
US7512400B2 (en) 2004-04-30 2009-03-31 Microsoft Corporation Integrated messaging user interface with message-based logging
US7580363B2 (en) 2004-08-16 2009-08-25 Nokia Corporation Apparatus and method for facilitating contact selection in communication devices
US7487214B2 (en) * 2004-11-10 2009-02-03 Microsoft Corporation Integrated electronic mail and instant messaging application
US7680513B2 (en) * 2005-08-08 2010-03-16 Palm, Inc. Contact-centric user-interface features for computing devices
US8954511B2 (en) 2005-11-01 2015-02-10 Blackberry Limited System and method for collecting and presenting records in a journal on an electronic device
US7599362B2 (en) * 2005-11-28 2009-10-06 Sony Ericsson Mobile Communications Ab Method and device for communication channel selection
CA2632706C (en) * 2005-12-09 2016-05-24 Ebuddy Holding B.V. High level network layer system and method
US8332760B2 (en) 2006-01-18 2012-12-11 International Business Machines Corporation Dynamically mapping chat session invitation history
JP4741958B2 (ja) 2006-02-17 2011-08-10 Necカシオモバイルコミュニケーションズ株式会社 通信端末、および、プログラム
CN200941519Y (zh) * 2006-08-01 2007-08-29 富士康(昆山)电脑接插件有限公司 电连接器
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US8233885B2 (en) 2006-09-08 2012-07-31 Hewlett-Packard Development Company, L.P. Apparatus and methods for providing enhanced mobile messaging services
US7978828B1 (en) 2006-10-19 2011-07-12 Avaya Inc. Methods and apparatus for multimedia tracking
EP2053521A1 (en) 2006-11-14 2009-04-29 Sharp Corporation Receiving apparatus, transmitting/receiving apparatus, mobile terminal apparatus, transmitting method, transmitting program, transmitting/receiving program, and computer-readable recording medium
US20080165148A1 (en) 2007-01-07 2008-07-10 Richard Williamson Portable Electronic Device, Method, and Graphical User Interface for Displaying Inline Multimedia Content
US20080285587A1 (en) * 2007-05-16 2008-11-20 Unison Technologies Llc Systems and methods for providing unified collaboration systems with user selectable reply format
US20080285736A1 (en) * 2007-05-16 2008-11-20 Unison Technolgies Llc Systems and methods for providing unified collaboration systems with conditional communication handling
CN100563259C (zh) * 2007-07-18 2009-11-25 北京亿企通信息技术有限公司 一种在即时通信工具中进行多人会话的方法及系统
US8478598B2 (en) 2007-08-17 2013-07-02 International Business Machines Corporation Apparatus, system, and method for voice chat transcription
US7881243B2 (en) 2007-10-02 2011-02-01 Research In Motion Limited Method and apparatus capable of unified multi-transport message handling
US7499926B1 (en) 2007-11-16 2009-03-03 International Business Machines Corporation Maintaining and replicating chat histories
CN101453483B (zh) * 2007-11-29 2012-05-02 华为技术有限公司 会话历史记录的存储处理和查询方法、系统和装置
US8321582B2 (en) * 2008-02-08 2012-11-27 Voxer Ip Llc Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode
JP5239494B2 (ja) 2008-05-09 2013-07-17 日本電気株式会社 携帯端末装置、画面表示方法及びプログラム
WO2010018556A2 (en) * 2008-08-14 2010-02-18 Talisma Corporation Private Ltd. Unified view of short message service (sms) interaction history with other channel messages based on case identifier in a customer relationship management (crm) application
US10176162B2 (en) * 2009-02-27 2019-01-08 Blackberry Limited System and method for improved address entry
CA2781396C (en) * 2009-12-01 2018-05-01 Ringcentral, Inc. Universal call management platform
US20110154208A1 (en) 2009-12-18 2011-06-23 Nokia Corporation Method and apparatus for utilizing communication history
KR101701151B1 (ko) 2010-09-20 2017-02-02 삼성전자주식회사 휴대 단말기를 이용한 통합 메시지 송수신 방법 및 장치
US20120151377A1 (en) * 2010-12-08 2012-06-14 Microsoft Corporation Organic projects
CA2823810C (en) 2011-01-06 2016-08-09 Research In Motion Limited Delivery and management of status notifications for group messaging
US8706723B2 (en) * 2011-06-22 2014-04-22 Jostle Corporation Name-search system and method
US9361652B2 (en) 2011-06-29 2016-06-07 Philip Ti-Fei Su Accessing third-party communication service via a social networking system
US20130097546A1 (en) 2011-10-17 2013-04-18 Dan Zacharias GÄRDENFORS Methods and devices for creating a communications log and visualisations of communications across multiple services
US9300621B2 (en) 2012-02-05 2016-03-29 Apple Inc. Communication history aggregation and presentation
US20130227031A1 (en) 2012-02-24 2013-08-29 Research In Motion Limited Retrieval and presentation of contact data at an electronic device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059627A1 (en) * 2006-08-29 2008-03-06 Hamalainen Jari P Unified contact database
US20080189399A1 (en) * 2006-10-31 2008-08-07 Yahoo! Inc. Social Namespace Addressing for Non-Unique Identifiers

Also Published As

Publication number Publication date
AU2016201444A1 (en) 2016-03-24
AU2013214758A1 (en) 2014-08-21
CN104205740A (zh) 2014-12-10
CN104205740B (zh) 2018-02-27
JP2015518291A (ja) 2015-06-25
JP5965500B2 (ja) 2016-08-03
EP2798796A2 (en) 2014-11-05
WO2013116848A2 (en) 2013-08-08
KR101669794B1 (ko) 2016-10-27
AU2020201129A1 (en) 2020-03-05
EP2798796B1 (en) 2019-03-27
AU2020201129B2 (en) 2022-10-20
US20130204947A1 (en) 2013-08-08
US9641480B2 (en) 2017-05-02
JP6110983B2 (ja) 2017-04-05
KR20160046922A (ko) 2016-04-29
CN108123869A (zh) 2018-06-05
CN108123869B (zh) 2021-01-01
EP3518477A1 (en) 2019-07-31
US9300621B2 (en) 2016-03-29
JP2016197891A (ja) 2016-11-24
AU2022201062B2 (en) 2024-04-04
AU2022201062A1 (en) 2022-03-10
KR20140127309A (ko) 2014-11-03
US20130204888A1 (en) 2013-08-08
WO2013116848A3 (en) 2014-01-09
AU2016201444B2 (en) 2019-11-21

Similar Documents

Publication Publication Date Title
KR101614149B1 (ko) 통합형 통신 애플리케이션
US10484533B2 (en) Messaging interface based on caller of an incoming call
US8982053B2 (en) Presenting a new user screen in response to detection of a user motion
US8060533B1 (en) Panel-based management of data objects from a plurality of data sources
KR101131797B1 (ko) 로컬 및 원격 소셜 정보의 집계된 뷰
US20180131650A1 (en) Systems and methods for managing electronic requests for photographs and multimedia content, and enabling electronic social sharing thereof
US20140365917A1 (en) Unified access and management of events across multiple applications and associated contacts thereof
US20130111356A1 (en) Inbound and outbound communications aggregated by group
US20130227031A1 (en) Retrieval and presentation of contact data at an electronic device
WO2011119912A2 (en) Computing device with remote contact list
TW201349077A (zh) 一種用於提供聊天服務的方法及設備
US8751538B1 (en) Method and apparatus for panel-based management of data
CN106888150B (zh) 即时消息处理方法和装置

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