统一通信应用程序的制作方法

文档序号:7792180阅读:8523来源:国知局
统一通信应用程序的制作方法
【专利摘要】本发明公开了统一通信应用程序,所述统一通信应用程序可允许用户跨越多个电子通信服务与联系人通信。在所述用户希望发送消息时,所述通信应用程序可响应于接收到预期接收人的部分标识符来识别与若干电子通信服务相关联的一组候选帐户地址。所述应用程序向所述用户呈现包括所述一组候选帐户地址的列表。响应于接收到所述候选帐户地址中的一者的用户选择,所述应用程序确定从其发送所述消息的发送人帐户。所述应用程序也可汇总所述用户与另一人之间的通信历史。可基于所述文件中每个对话行的时间戳来按顺序获得、布置以及向所述用户呈现与所述用户和所述另一人的用户标识符相关联的一组通信文件。
【专利说明】统一通信应用程序

【背景技术】
[0001]本发明整体涉及促进电子环境中的通信会话,具体地讲,涉及确定通信会话的参与人帐户,以及汇总通信历史以允许用户查看与另一人的通信历史。
[0002]通常,为发起电子通信会话,用户可使用用户名和密码登录到即时消息服务。在用户登录到即时消息服务之后,用户可查看联系人列表,该联系人列表示出了用户的已建立联系人在该服务上的状态。在用户希望与用户的联系人列表上的特定联系人建立通信会话时,用户可从用户的联系人列表中选择表示特定联系人或预期接收人的标识符,在用户选择该标识符时在消息框中创建消息,并且将消息发送至接收人。在接收到消息时,接收人可对发送人做出响应或拒绝响应。如果接收人对发送人做出响应,则建立通信会话,并且开始发送人与接收人(称为“通信会话的参与人”)之间的通信。在一些情况下,通信会话的参与人可邀请其他联系人加入通信会话。
[0003]许多即时消息服务已变得普遍,其中一些即时消息服务更受某些用户群体的欢迎。用户通常向若干即时消息服务注册并且与同样向多个即时消息服务注册的其他用户通信,所述即时消息服务中的一些即时消息服务不重叠。此外,向若干即时消息服务注册的用户通常具有用于这些服务中的一些的不同用户名。用户可能难以跟踪哪些联系人在哪些服务上以及在哪些用户名下。
[0004]在一些情况下,用户可登录到若干即时消息服务。如果用户当前未登录到预期接收人当前正使用的服务,则在用户能够将消息发送至预期接收人之前,用户必须登录到该服务。在其他情况下,用户可登录到若干即时消息服务,但仅积极使用这些服务中的一些。如果用户当前未积极使用预期接收人正在使用的服务,则用户必须切换至预期接收人正在使用的服务,以能够将消息发送至预期接收人。在用户希望与不同的联系人通信时,可能令用户厌烦的是,必须不断地登录到不同的服务和/或在不同的服务之间切换。
[0005]此外,用户可能希望查看与另一用户的通信历史。例如,用户可能正在搜索用户与另一用户之间的特定对话。然而,在每个用户具有与多个即时消息服务相关联的多个用户名的情况下,可能难以找到特定对话。


【发明内容】

[0006]本发明的某些实施例涉及针对电子通信会话执行参与人帐户确定的统一通信应用程序。在一些实施例中,统一通信应用程序为允许用户使用多个不同电子通信服务中的任一者来发送和接收消息的单个应用程序。用户可通过输入预期接收人的部分标识符来识别用户想要与之通信的预期接收人。响应于接收到用户输入,用户的电子设备上的统一通信应用程序基于部分标识符来搜索用户联系人的数据库以识别多个候选接收人的帐户地址。帐户地址可包括与若干电子通信服务相关联的帐户标识符。用户设备可呈现包括该组候选帐户标识符的列表,以允许用户选择预期接收人的标识符。在接收到标识符的用户选择时,用户设备可基于与标识符相关联的电子通信服务来确定从其发送消息的发送人帐户。用户设备可随后使用所确定的发送人帐户将消息发送至预期接收人。
[0007]此外,本发明的一些实施例允许统一通信应用程序的用户查看用户与另一人之间的通信历史。通信历史可包括用户与该另一人之间的任何通信,无关于不同的用户标识符以及他们为与彼此通信而曾使用的电子通信服务。在接收到对用户与该另一人之间的通信历史的请求时,统一通信应用程序获得存储用户与该另一人之间的通信的一组通信会话文件。通信会话文件中的每一者可包括各自与时间戳相关联的一组对话行。在一些实施例中,可能已使用若干电子通信服务中的不同者来传输不同通信会话文件中的对话行。统一通信应用程序基于相关联的时间戳来按顺序布置来自该组通信会话文件中的全部的对话行,并向用户呈现所布置的对话行的至少一部分。
[0008]本发明的某些方面涉及用于为发送人和预期接收人确定电子通信会话中的参与人帐户地址的方法。统一通信应用程序可接收一用户输入,该用户输入包括将要由发送人发送的消息的预期接收人的部分标识符。统一通信应用程序可基于部分标识符来搜索用户联系人的数据库以识别一组候选接收人的一组候选帐户地址。在一些实施例中,该组候选帐户地址可包括与多个电子通信服务相关联的用户标识符。统一通信应用程序可呈现包括候选帐户地址的所识别组的列表。统一通信应用程序可将对候选帐户地址中的一者的用户选择作为消息的预期接收人的表示而接收。统一通信应用程序响应于所述选择来确定与将要用于将消息发送至预期接收人的发送人相关联的发送人帐户,并使用发送人帐户来发送消息。
[0009]本发明的某些其他方面涉及用于汇总两个或更多个用户之间的通信历史的方法。统一通信应用程序可接收对用户与另一人之间的通信历史的请求。统一通信应用程序可获得存储用户与该另一人之间的通信的一组通信会话文件。在一些实施例中,该组通信会话文件中的每一者可包括可各自与时间戳相关联的一组对话行。可能已使用多个电子通信服务中的不同者来传输该组通信会话文件中的不同者中的对话行。统一通信应用程序可基于相关联的时间戳来按顺序布置来自该组通信会话文件中的全部的对话行。统一通信应用程序可向用户呈现所布置的对话行的至少一部分。
[0010]以下【具体实施方式】连同附图将提供对本发明的实质和优点的更好理解。

【专利附图】

【附图说明】
[0011]图1示出了根据本发明实施例的计算机系统。
[0012]图2为根据本发明实施例的用于促进通信会话的过程的流程图。
[0013]图3示出了根据本发明实施例的用于建立与预期接收人的通信会话的屏幕图像的示例性序列。
[0014]图4为根据本发明实施例的用于识别一组候选接收人的一组候选帐户地址的过程的流程图。
[0015]图5示出了在用户联系人及其相关联信息的数据库中的联系人条目的例子。
[0016]图6为根据本发明实施例的用于响应于特定候选帐户地址的用户选择来确定将要从其发送消息的发送人帐户的过程的流程图。
[0017]图7示出了根据本发明实施例的用于将多个参与人邀请到通信会话中的屏幕图像的示例性序列。
[0018]图8为系统图,其示出了可被定位和汇总以生成用户之间的通信历史的电子通信会话文件的本地和远程存储。
[0019]图9为根据本发明实施例的通过汇总多个通信会话文件来创建包括通信历史的页面的例子。
[0020]图10为根据本发明实施例的用于对存储两个用户之间的通信的通信历史进行汇总的过程的流程图。
[0021]图1lA和IlB为根据本发明实施例的在两个不同时间的通信历史页面的表示,示出了动态地加载和卸载页面的部分。

【具体实施方式】
[0022]本发明的某些实施例涉及针对电子通信会话执行参与人帐户确定的统一通信应用程序(也称为“统一消息传递应用程序”)。在一些实施例中,统一通信应用程序为允许用户使用多个不同电子通信服务中的任一者来发送和接收消息的单个应用程序。用户可通过输入预期接收人的部分标识符来识别用户想要与之通信的预期接收人。响应于接收到用户输入,用户的电子设备上的统一通信应用程序基于部分标识符来搜索用户联系人的数据库以识别多个候选接收人的帐户地址。帐户地址可包括与若干电子通信服务相关联的帐户标识符。用户设备可呈现包括该组候选帐户标识符的列表,以允许用户选择预期接收人的标识符。在接收到标识符的用户选择时,用户设备可基于与标识符相关联的电子通信服务来确定从其发送消息的发送人帐户。用户设备可随后使用所确定的发送人帐户将消息发送至预期接收人。
[0023]此外,本发明的一些实施例允许统一通信应用程序的用户查看用户与另一人之间的通信历史。通信历史可包括用户与该另一人之间的任何通信,无关于不同的用户标识符以及他们为与彼此通信而曾使用的电子通信服务。在接收到用户想要查看用户与另一人之间的通信历史的用户指示时,统一通信应用程序获得存储用户与该另一人之间的通信的一组通信会话文件。通信会话文件中的每一者可包括各自与时间戳相关联的一组对话行。在一些实施例中,可能已使用若干电子通信服务中的不同者来传输不同通信会话文件中的对话行。统一通信应用程序基于相关联的时间戳来按顺序布置来自该组通信会话文件中的全部的对话行,并向用户呈现所布置的对话行的至少一部分。
[0024]术语“电子通信服务”在本文中用于指能够在该服务上具有帐户的一组用户之间促进通信(例如,通过经由应用程序,诸如即时消息计算机程序,来提供通信平台)的任何服务。电子通信服务可通过各种渠道提供通信,所述渠道包括电子邮件、即时消息(IM)、短消息服务(SMS)、互联网协议语音技术(VoIP)等。不同电子通信服务的例子可包括
AIM*? iChai* , Google^' Talk、SkypeR, Viberift等。多个电子通信服务可提供已注册用户之间的实时通信。用户之间的通信的类型可包括音频、视频、图像和文本通信。
[0025]如本文所用,电子通信服务定义了 “封闭的宇宙”,在该封闭的宇宙内,在服务上具有帐户的任何用户均可向在相同服务上具有帐户的任何其他用户发送通信。(一些服务可允许用户阻止其他用户与其通信或选择其希望接收通信的特定用户。)在一些实施例中,电子通信服务可以是独立于平台的或依赖于平台的。独立于平台的电子通信服务,诸如电子邮件服务,允许用户跨越不同的服务器向其他用户发送通信,无关于电子邮件提供商。例如,Yahooiw Mail和Gmaif以及其他电子邮件服务是独立于平台的:在任何服务器上具有有效电子邮件帐户的任何用户可将电子邮件发送至任何其他电子邮件服务器上的任何其他用户。因此,在本发明的上下文中,所有基于互联网的电子邮件服务均被视为构成单个电子通信服务。相比之下,即时消息或聊天服务,诸如AIM?、Yahoo!? Messenger和
Skypei为依赖于平台的服务,其中一个服务的用户不能使用其帐户与另一服务上的用户帐户通信。因此,在本发明的上下文中,大多数基于互联网的即时消息服务被视为不同的电子通信服务。
[0026]术语“帐户地址”在本文中用于指在任何电子通信服务上的任何帐户。帐户地址可包括用户标识符(例如,用户名、称号、别名、编号等)以及用户标识符于其中有效的电子通信服务的标识符。单个用户可跨越多个电子通信服务具有一个或多个用户标识符,并且可在单个服务上具有多个用户标识符。单个用户在不同服务上的帐户或帐户地址可能具有或可能不具有相同的用户标识符。
[0027]统一消息传递应用程序可允许用户从单个用户界面内访问其于其上具有帐户的所有电子通信服务。在一些实施例中,用户可操作消息传递界面以发送和接收电子邮件、进行基于文本的和/或视频“聊天”会话、发送和接收文本消息,等等。
[0028]图1示出了根据本发明实施例的计算机系统100。计算机系统100可实施为各种电子计算设备中的任一者,所述电子计算设备包括例如台式计算机或膝上型计算机、平板电脑、智能电话、个人数字助理(PDA)或任何其他类型的计算设备,不限于任何特定形状因数。计算机系统100可包括处理单元105、存储子系统110、输入设备120、输出设备125、照相机130、网络接口 135以及总线140。
[0029]处理单元105可包括可具有一个或多个核的单个处理器,或多个处理器。在一些实施例中,处理单元105可包括通用主处理器以及一个或多个专用协处理器,诸如图形处理器、数字信号处理器等。在一些实施例中,一些或全部处理单元105可使用定制电路诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实施。在一些实施例中,此类集成电路执行存储在电路自身上的指令。在其他实施例中,处理单元105可执行存储在存储子系统110中的指令。
[0030]存储子系统110可包括各种存储器单元,诸如系统存储器、只读存储器(ROM)以及永久性存储设备。ROM可存储处理单元105以及计算机系统100的其他模块所需的静态数据和指令。永久性存储设备可为读写存储器设备。该永久性存储设备可为即使在计算机系统100断电时也存储指令和数据的非易失性存储器单元。本发明的一些实施例将海量存储设备(诸如磁盘或光盘或闪存存储器)用作永久性存储设备。其他实施例将可移除存储设备(例如,软盘、闪存驱动器)用作永久性存储设备。系统存储器可为读写存储器设备或易失性读写存储器,诸如动态随机存取存储器。系统存储器可存储处理器在运行时间所需的指令和数据中的一些。
[0031]存储子系统110可包括计算机可读存储介质的任意组合,所述计算机可读存储介质包括各种类型的半导体存储器芯片(DRAM、SRAM、SDRAM、闪存存储器、可编程只读存储器)等。也可使用磁盘和/或光盘。在一些实施例中,存储子系统110可包括可以是可读和/或可写的可移除存储介质;此类介质的例子包括光盘(CD)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、只读和可刻录Blue-Ray?盘、超密度光盘、闪存卡(例如,SD卡、
min1-SD卡、micro-SD卡等)、磁性“软”盘等。计算机可读存储介质不包括无线地或通过有线连接传送的载波和暂时性电信号。
[0032]在一些实施例中,存储子系统110可存储将由处理单元105执行的一个或多个软件程序,诸如通信应用程序145 (也称为“统一消息传递应用程序” 145)。“软件”总体是指指令序列,所述指令在由处理单元105执行时使计算机系统100执行各种操作,从而定义对软件程序的操作加以执行和实施的一个或多个具体机器实施。指令可作为驻留在只读存储器中的固件和/或存储在磁性存储装置中的应用程序而存储,所述固件或应用程序可被读取到存储器中以供处理器处理。根据需要,软件可实施为单个程序或单独的程序或交互的程序模块的集合。程序和/或数据可存储在非易失性存储装置中并在程序执行期间全部或部分地复制到易失性工作存储器。处理单元105可从存储子系统110中获取用于执行的程序指令以及用于处理的数据以便执行本文所述的各种操作。在一些实施例中,存储子系统110也可存储其他数据,诸如用户联系人的数据库150和/或通信历史会话文件155。
[0033]用户界面可由一个或多个用户输入设备120以及一个或多个用户输出设备125来提供。输入设备120可包括用户可经由其将信号提供至计算机系统100的任何设备;计算机系统100可将信号解译为特定用户需求或信息的指示。输入设备120可包括键盘、触摸板、触摸屏、鼠标或其他指向设备、滚轮、点击式触摸转盘、拨盘、按钮、开关、小键盘、麦克风等中的任一者或全部。
[0034]输出设备125显示由计算机系统100生成的图像。输出设备125可包括各种图像生成技术(例如,阴极射线管(CRT)、液晶显示器(LCD)、包括有机发光二极管(OLED)在内的发光二极管(LED)、投影系统等),以及支持电子装置(例如,数字模拟转换器或模拟数字转换器、信号处理器等)、指示灯、扬声器、头戴式受话器插孔、打印机等。一些实施例可包括用作输入设备和输出设备两者的设备,诸如触摸屏。
[0035]在一些实施例中,输出设备125可提供图形用户界面,其中输出设备125的某些区域中的可视图像元件被定义为用户使用用户输入设备120来选择的活动元件或控制元件。例如,用户可操控用户输入设备来将屏幕上光标或指针定位在控制元件上,然后点击按钮以指示所述选择。可替代地,用户可触摸触摸屏设备上的控制元件(例如,借助手指或触控笔)。在一些实施例中,用户可讲出与控制元件相关联的一个或多个字(所述字可为,例如,元件上的标记或与该元件相关联的功能)。在一些实施例中,可识别触敏设备上的用户手势并将其解译为输入命令;这些手势可以但并不需要与输出设备125中的任何特定阵列相关联。也可实施其他用户界面。
[0036]照相机130拍摄图像(例如,作为RAW图像数据或压缩图像数据)。照相机130可集成到具有处理单元105等的设备中,或可为通信地耦接到具有处理单元105的设备的独立设备。照相机130可允许计算机系统100从周围环境中拍摄和记录视频以及静态图像。照相机130可为常规设计,包括光学组件(镜头、滤光片等)、光学传感器(例如,具有数百万独立像素的CMOS传感器)以及用于将由传感器生成的信号转变成数字图像数据的相关电子装置。
[0037]网络接口 135可为计算机系统100提供语音和/或数据通信能力。在一些实施例中,网络接口 135可包括用于访问无线语音和/或数据网络(例如,使用蜂窝电话技术、先进数据网络技术诸如3G、4G或EDGE、WiFi(IEEE 802.11)系列标准或其他移动通信技术,或它们的任意组合)的射频(RF)收发器组件、GPS收发器组件和/或其他组件。在一些实施例中,网络接口 135可附加于或代替无线接口而提供有线网络连接性(例如,以太网)。可使用硬件(例如,天线、调制器/解调器、编码器/解码器以及其他模拟和/或数字信号处理电路)与软件组件的组合来实施网络接口 135。
[0038]总线140可包括通信地连接计算机系统100的许多内部设备的各种系统、外围设备以及芯片组总线。例如,总线140可通信地将处理单元105与存储子系统110耦接。总线140也可连接至输入设备120和输出设备125。总线140也可通过网络接口 135将计算机系统100耦接至网络。以此方式,计算机系统100可以是多个计算机系统的网络(例如,局域网(LAN)、广域网(WAN)、内联网,或网络的网络,诸如互联网)的一部分。计算机系统100的任何或所有组件均可与本发明一起使用。
[0039]一些实施例包括电子组件,诸如将计算机程序指令存储在计算机可读存储介质中的微处理器、存储装置和存储器。本说明书中所描述的许多特征可实施为过程,所述过程被指定为在计算机可读存储介质上编码的程序指令的集合。在由一个或多个处理单元执行这些程序指令时,这些程序指令使处理单元执行程序指令中所指示的各种操作。程序指令或计算机代码的例子包括机器代码,诸如由编译器产生的机器代码,以及包括可由计算机、电子组件或微处理器使用解译器来执行的更高级别代码的文件。
[0040]通过合适的编程,处理单元105可为计算机系统100提供各种功能。例如,处理单元105可执行通信应用程序145 (或“统一消息传递应用程序” 145)。统一消息传递应用程序145可提供各种功能,诸如即时消息功能、视频和语音通信功能、电子邮件功能等。在一些实施例中,统一消息传递应用程序145可响应于接收到来自发送人的预期接收人的部分标识符来识别与多个电子通信服务相关联的一组帐户地址。统一消息传递应用程序145也可在接收到从该组帐户地址中进行的对预期接收人的标识符的用户选择时,确定从其将消息发送至预期接收人的发送人帐户。
[0041]此外,在一些实施例中,统一消息传递应用程序145可允许用户查看用户与另一用户之间的通信历史。在接收到用户想要查看用户与另一用户之间的通信历史的用户指示时,统一消息传递应用程序145可跨越多个电子通信服务来识别用户与该另一用户的所有用户标识符,获得对与这些用户标识符相关联的通信历史文件的访问,对通信历史文件内的内容进行分类,以及将已分类的内容汇总成单个页面以向用户显示。在一些实施例中,用户可在整个页面上滚动以查看通信历史,该通信历史包括两个用户之间的来自多个通信服务的通信。此外,一些实施例的统一消息传递应用程序145可包括用于协助用户操作照相机130以将手势或盯视或面部运动作为一种类型的用户输入而拍摄和分析的程序指令。
[0042]应当理解,图1的计算机系统100是示例性的,而且变型形式和修改形式是可行的。计算机系统100可具有未在本文中具体描述的其他能力(例如,移动电话、全球定位系统(GPS)、电源管理、附件连接等)。此外,尽管参考特定块描述了计算机系统100,但应当理解,定义这些块是为了描述方便,并非意在暗示组件的特定物理布置。此外,块不必对应于物理上不同的组件。可以配置块以执行各种操作,例如通过对处理器编程或提供适当的控制电路,并且各个块根据初始配置是如何获得的而可以是能重新配置的或不能重新配置的。可以在包括利用电路和软件的任意组合实施的电子设备在内的各种装置中实现本发明的实施例。
[0043]如上所述,计算机系统100,下文也称为用户设备100,可提供允许用户跨越多个电子通信服务与联系人通信的单个统一消息传递应用程序145。响应于接收到预期接收人的用户选择,用户设备100在一些实施例中可充填候选帐户地址的列表,该列表可包括与多个电子通信服务相关联的用户标识符。用户(在该情况下,为发送人)可从已充填的列表中选择接收人的用户标识符以发起与接收人的通信会话。可基于用户的选择来自动确定将要使用的服务。现在将描述此类过程的实例。
[0044]图2为根据本发明实施例的用于促进通信会话的过程200的流程图。可在例如执行统一消息传递应用程序145的图1的用户设备100中实施过程200。将参考图3来描述过程200,图3示出了根据本发明实施例的用户设备100在使用统一消息传递应用程序145来建立与预期接收人的通信会话中的屏幕图像的示例性序列。
[0045]在图2的块202处,统一消息传递应用程序145可接收某个用户输入,该用户输入包括将要由发送人发送的消息的预期接收人的部分标识符。在一些实施例中,部分标识符可为联系人的名的一部分、联系人的姓的一部分、联系人的用户名或别名中的一者的一部分,等等。一些实施例允许发送人通过键盘输入、手势输入、光标控制器输入、盯视输入、语音命令等来执行用户输入。
[0046]参考图3,初始屏幕305可与通信应用程序(例如,统一消息传递应用程序145)相关联。初始屏幕305包括描述部分325、搜索框330、通信交换显示区域335和消息输入框340。描述部分325指示用户处于创建用于发送至通信会话的预期接收人的新消息的过程中。搜索框330允许发送人输入字符(例如,名字、姓氏、昵称等的一部分)的序列以识别预期接收人。通信交换显示区域335显示发送人与接收人之间的通信交换,所述通信交换可包括各种文本数据、超链接、图像数据、视频数据、音频数据等。文本输入框340允许发送人输入发送人想要与接收人通信的消息。
[0047]再次参考图2,在块204处,统一消息传递应用程序145可搜索用户联系人的数据库以确定是否存在与用户输入的匹配。在一些实施例中,用户联系人的数据库可包括本地存储在用户设备100上的电子地址簿。在一些实施例中,用户联系人的数据库可包括存储在可由用户设备100访问的远程服务器处的电子地址簿。电子地址簿可存储多个联系人及其信息(例如,名字、姓氏、电子邮件地址、电话号码、地址、性别、即时消息用户标识符等)。用户设备100在一些实施例中通过将部分标识符与电子地址簿中联系人的名、与电子地址簿中联系人的姓、与电子地址簿中联系人的电子邮件地址、与即时消息帐户标识符等相比较,来确定是否存在与用户输入的匹配。这允许用户设备100识别匹配部分标识符的多个联系人。
[0048]在一些实施例中,统一消息传递应用程序145可通过将部分标识符与特定于服务的联系人列表中的一个或多个即时消息用户标识符相比较,来确定是否存在与用户输入的匹配。在一些实施例中,用户可针对用户向其注册的一些或所有电子通信服务而具有特定于服务的联系人列表。每个特定于服务的联系人列表(例如,一些IM服务上的“好友列表”)可针对相同服务上的用户与之通信的其他用户包括多个用户标识符(例如,一些即时消息服务上的“好友列表”)。虽然在一些实施例中,特定于服务的联系人列表可本地存储在用户设备100上,但特定于服务的联系人列表在一些实施例中可存储在由相关通信服务的提供商管理的远程服务器中。只有当在对照用户的电子地址簿中联系人的名和/或姓来比较部分标识符时未识别到匹配时,一些实施例才对照即时消息标识符来执行该比较。一些实施例无论是否在地址簿中找到匹配均执行该比较。
[0049]在块206处,统一消息传递应用程序145可识别一组候选接收人的一组候选帐户地址。每个候选帐户地址均可包括用户标识符以及用户标识符于其中有效的电子通信服务的标识符。在块208处,统一消息传递应用程序145可向发送人呈现候选帐户地址的列表。在一些实施例中,该列表可显示在于用户设备100的显示屏上显示的屏幕图像上。一些实施例可通过生成将该列表递送至发送人的音频信号来向发送人呈现该列表。
[0050]在图3的屏幕图像310中,发送人已将字母“Ma”输入到搜索框330中。响应于该用户输入,统一消息传递应用程序145已识别候选接收人并已向用户呈现列表350。列表350可包括任何电子通信服务上的帐户。
[0051]在该示例中,统一消息传递应用程序145已基于联系人的名而将联系人MannJohns识别为候选接收人帐户中的一者。统一消息传递应用程序145还示出了 Mann Johns的电话号码(310-555-1212)并指示可通过SMS联络他。统一消息传递应用程序145已基于联系人的姓而将联系人Paul Marks识别为候选接收人帐户中的另一者。统一消息传递应用程序145示出了 Paul Marks的电子邮件地址(goose@server7.com)并指示可通过电子邮件联络他。统一消息传递应用程序145已基于联系人在特定即时消息服务上的用户标识符“martianl23”而将联系人Johnny Appleseed识别为候选接收人帐户中的另一者。统一消息传递应用程序145示出了 Johnny Appleseed的消息传递用户标识符“martianl23”并指示可通过即时消息服务I ( “頂#1”)联络他。统一消息传递应用程序145也已基于联系人的电子邮件地址而将联系人Martin Go识别为候选接收人帐户。统一消息传递应用程序145也已基于联系人的消息传递用户标识符而将联系人Ted Chen识别为候选接收人帐户中的一者。统一消息传递应用程序145还已基于联系人的消息传递用户标识符而将联系人Max Carson识别为候选接收人帐户中的一者。
[0052]列表350包括该组候选帐户地址并且也可包括将帮助发送人识别预期接收人的相关信息(例如,对应于候选帐户地址的名称、相关的电子通信服务等)。
[0053]在一些情况下,可存在用于与单个接收人通信的若干可用选项(例如,urn、M#2、SMS、VoIP等)。例如,用户输入可匹配某个联系人的名,用户的地址簿针对该联系人具有电话号码、电子邮件地址以及可属于相同接收人或不同接收人的两个不同即时消息帐户地址。在多个服务可供单个接收人使用的一些实施例中,统一消息传递应用程序145可选择并显示可用于与候选接收人通信的最优选的通信服务。可由制造商预先配置或由用户在统一消息传递应用程序145上的首选项设置中配置通信服务的首选项。在一些实施例中,可例如基于发送人的过往通信行为来动态地确定优选服务。
[0054]在一些实施例中,统一消息传递应用程序145不是仅显示可用于与候选接收人通信的最优选的通信服务,而是可显示候选接收人的所有帐户。在一些实施例中,统一消息传递应用程序145可基于用户的首选项来按顺序显示接收人的不同帐户。例如,如果用户通常优选使用SMS,则如果SMS可用作在用户与候选接收人之间通信的手段,则为了用户的方便,该选项将显示在列表的顶部。又如,所述顺序可基于发送人已使用帐户中的每一者的频率。
[0055]返回至图2,在块210处,统一消息传递应用程序145可接收对预期接收人的候选帐户地址中的一者的用户选择。可替代地,发送人可输入更多信息(例如,继续输入附加字符)以进一步过滤候选接收人帐户的列表。在图3的屏幕图像315中,发送人已选择预期接收人的候选帐户地址中的一者,并且所选择的候选帐户地址355被突出显示。在一些实施例中,发送人可从相同的列表中选择不止一个候选帐户地址。
[0056]返回至图2,在块212处,统一消息传递应用程序145可接收指定将要发送的消息的用户输入。在一些实施例中,用户可将消息键入图3的文本输入框340中。统一消息传递应用程序145也可允许用户通过识别包含消息内容(例如,照片)的文件、通过启动视频或音频聊天(如果所选择的服务支持该功能)以及经由麦克风和/或照相机来提供用户输入等等,来创建消息内容。
[0057]在块214处,统一消息传递应用程序145可将所指定的消息发送至所选择的帐户地址。在一些实施例中,发送消息可包括选择要使用的合适发送人帐户。发送人可具有多个发送人帐户地址,所述多个发送人帐户地址各自包括用户标识符以及用户标识符于其中有效的电子通信服务的标识符。在一些实施例中,统一消息传递应用程序145可允许发送人在发送消息之前指定发送人想要使用哪个发送人帐户地址。一些实施例的统一消息传递应用程序145可基于多个决策标准来自动确定发送人帐户地址而不需要人为干预,所述多个决策的例子在下文有所描述。在确定发送人帐户地址时,可在发送人与预期接收人之间建立通信会话。
[0058]如图3的屏幕图像320中所示,通信会话,在该情况下为聊天会话,已经建立,并且发送人能够将即时消息发送至接收人。消息360已经发送,回复362已经接收到,并且发送人当前正在键入消息365。在一些实施例中,统一消息传递应用程序145使消息在屏幕图像上显示的方式动画化。例如,由于发送人指导统一消息传递应用程序145将信息发送至接收人(例如,通过选择“发送”按钮),则消息可以动画气泡移动来从消息输入框340移动至通信交换显示区域335,表现为好像文本在向上行进的气泡中一样。可将各种动画方案和风格并入于显示发送人和接收人的消息。尽管在该情况下发送人正在使用即时消息来与接收人通信,但在一些情况下,发送人可将其他类型的消息,包括文本消息、音频消息、视频消息、电子邮件消息等,发送至接收人。与所有其他输入一样,可使用键盘输入、语音命令输入、手势输入等来创建消息。
[0059]如上文所述,统一消息传递应用程序145可搜索各种源以识别候选帐户地址和候选接收人。图4为根据本发明实施例的用于识别一组候选接收人的一组候选帐户地址的过程400的流程图。可在例如执行统一消息传递应用程序145的图1的用户设备100中实施过程400。将参考图5来描述过程400,图5示出了根据本发明一些实施例的在用户联系人的数据库(例如,图1的用户联系人数据库150)中的联系人条目500的例子。
[0060]在块402处,统一消息传递应用程序145可接收包括部分标识符的用户输入。部分标识符可为将允许统一消息传递应用程序145缩小用户联系人的数据库中的联系人范围并且识别一组候选帐户地址的任何信息。在一些实施例中,部分标识符可为可识别名称、电子邮件地址、即时消息用户标识符等的一部分的字符的序列。
[0061]在块404处,统一消息传递应用程序145可识别与用户联系人数据库150中的联系人的名的一个或多个匹配。例如,统一消息传递应用程序145可将部分标识符与用户联系人数据库150中的名相匹配以识别匹配的名。在一些实施例中,如果某个名的任何部分与部分标识符相同,则统一消息传递应用程序145可将该名识别为与部分标识符的匹配。例如,统一消息传递应用程序145可确定“Madonna”为部分标识符“Don”的匹配。在一些实施例中,只有在某个名的开头字符与部分标识符匹配时,统一消息传递应用程序145才可将该名识别为与部分标识符的匹配。例如,统一消息传递应用程序145可确定“Larry”为部分标识符“La”的匹配而“Mandela”则不是。可预先配置或可由管理员或通信应用程序的用户配置针对如何确定匹配的设置。
[0062]图5示出了在用户联系人及其相关联信息的数据库中的联系人条目500的例子。如图所示,联系人条目500可包括联系人的名称(在502处)以及可联络联系人的地址列表。这些地址可包括物理地址(例如,家庭地址504)以及各种电子通信服务上的帐户地址。在该示例中,Johnny Appleseed的帐户地址包括两个电子邮件地址506和508、SMS地址510 (在SMS的情况下,电话号码可用作帐户标识符)、用于即时消息服务的三个地址512、514和516以及VoIP地址508。联系人条目500也可包括关于联系人的其他信息(在区域520中示出),诸如联系人的一个或多个用户分配的组归属。响应于接收到用户输入,统一消息传递应用程序145可将部分标识符与用户联系人数据库150中的联系人的名相比较。如果用户输入为“John”,则一些实施例的统一消息传递应用程序145可确定已找到匹配并且标记联系人条目500。
[0063]返回至图4,在块406处,统一消息传递应用程序145可识别与用户联系人数据库150中的联系人的姓的一个或多个匹配。例如,统一消息传递应用程序145将部分标识符与用户联系人数据库150中的一组姓相匹配以识别匹配的姓。在一些实施例中,如果某个姓的任何部分与部分标识符相同,则统一消息传递应用程序145可将该姓识别为与部分标识符的匹配。在一些实施例中,只有在姓的第一部分匹配部分标识符时,统一消息传递应用程序145才可找到匹配。
[0064]在块408处,统一消息传递应用程序145可识别与用户联系人数据库150中的联系人的帐户地址的一个或多个匹配。在一些实施例中,统一消息传递应用程序145可将部分标识符与联系人的帐户地址中的任一者相匹配。
[0065]在图5中,统一消息传递应用程序145可对照部分标识符来比较帐户地址(包括电子邮件地址 “ j2a@company.com” 和 “ johnnyaOhome.com” ;SMS 地址 “408-555-1234” ;以及即时消息地址“ jappleseed01”、“ jal990”、“ johnnyOc0.com” 和“j_appleseed”)以确定是否找到匹配。在识别匹配时,统一消息传递应用程序145可标记帐户地址。在一些实施例中,联系人的电话号码中的一些或全部可作为SMS地址处理,并且用户可通过输入联系人的电话号码的一部分来找到联系人。
[0066]返回至图4,在块410处,统一消息传递应用程序145可确定是否已找到匹配。统一消息传递应用程序145确定在部分标识符与用户联系人数据库150中的名字、姓氏或帐户地址之间是否存在至少一个匹配。如果存在至少一个匹配,则可向发送人呈现包括匹配的名字、姓氏、电子邮件地址和/或消息传递标识符的候选帐户地址的列表。发送人可于之后从列表中选择帐户地址中的一者,并且经由与所选择的帐户地址相关联的电子通信服务来将消息发送至所选择的接收人。
[0067]如果统一消息传递应用程序145确定未找到匹配,则在块412处,一些实施例的统一消息传递应用程序145可确定发送人当前登录到的一组电子通信服务。在一些实施例中,统一消息传递应用程序145也可确定统一消息传递应用程序145能够使发送人登录到的电子通信服务(例如,在发送人的用户名和密码已存储在用户设备100上并且可由统一消息传递应用程序145访问时)。
[0068]在块414处,统一消息传递应用程序145可针对在块412处识别的电子通信服务中的每一者来识别与特定于服务的联系人列表中帐户地址(或帐户标识符)的一个或多个匹配。在一些实施例中,统一消息传递应用程序145可通过针对电子通信服务中的每一者获取发送人的特定于服务的联系人列表以及确定特定于服务的联系人列表上的帐户标识符中的任一者是否匹配由用户输入的部分标识符,来对照联系人的帐户地址而匹配部分标识符。可将针对每个电子通信服务的发送人的特定于服务的联系人列表本地存储在用户设备100上或存储在远程服务器(例如,由通信服务的提供商管理)处。然后也可将所识别的匹配包括在将用于向发送人呈现的该组候选帐户地址中。
[0069]在使用所接收的用户输入来识别一组候选接收人的一组候选帐户地址之后,统一消息传递应用程序145向发送人呈现包括该组候选帐户地址的列表。在一些实施例中,统一消息传递应用程序145可基于一组首选项(例如,特定通信服务的用户首选项、用户更频繁地与之通信的人)来按特定顺序呈现列表中的候选帐户地址。可用于对列表进行分类的其他标准包括发送人当前是否连接至特定电子通信服务;候选接收人帐户的当前状态(例如,帐户被已知为是当前在线还是离线);发送人总体上或针对特定接收人最常使用哪个或哪些电子通信服务;发送人最近已与哪个候选接收人帐户通信;发送人最常与哪个候选接收人帐户通信;等等。在一些实施例中,这些决策标准也可用于过滤列表,例如,排除在发送人未连接至的服务上的任何候选接收人帐户,或排除被已知为当前离线的候选接收人帐户。
[0070]在一些实施例中,统一消息传递应用程序145可通过针对该组候选帐户地址中的每一者显示相关联的联系人的名称(如果已知的话)、帐户标识符(用户名、电话号码等)以及帐户的电子通信服务,来向发送人呈现该组候选帐户地址。图3中的列表350示出了信息的一种布置;其他实施例可不同地显示与该组候选帐户地址中的每一者相关联的信息。从该组候选帐户地址中,发送人可选择表示预期接收人的帐户地址。
[0071]在一些实施例中,由统一消息传递应用程序145自动选择发送人帐户(即,将要从其发送消息的帐户)而不需要人为干预。如所提及的,发送人可具有可与不同电子通信服务相关联的若干帐户,并且发送人可在单个电子通信服务上具有多个帐户。基于所选择的接收人帐户标识符的电子通信服务,统一消息传递应用程序145可确定将要从其发送消息的适当的发送人帐户。图6为根据本发明实施例的用于响应于特定候选帐户地址的用户选择来确定将要从其发送消息的发送人帐户的过程600的流程图。可在例如执行统一消息传递应用程序145的图1的用户设备100中实施过程600。
[0072]在块602处,统一消息传递应用程序145可确定与所选择的接收人帐户地址相关联的电子通信服务。统一消息传递应用程序145可确定与接收人帐户地址相关联的电子通信服务以便确定要使用哪个发送人帐户。
[0073]在块604处,统一消息传递应用程序145可识别与在块602处确定的接收人的电子通信服务相关联的一组发送人帐户地址。发送人可针对单个电子通信服务而具有多个用户标识符或帐户。例如,在特定即时消息服务上,发送人可使用一个用户标识符来与同事通信,并使用另一个用户标识符来与家人和朋友通信。所有此类帐户均可在块604处识别。
[0074]在块606处,统一消息传递应用程序145可确定所识别的发送人帐户地址的数量是否大于一。如果所识别的发送人帐户地址的数量不大于一(即,如果只有一个发送人帐户地址被识别为与接收人的电子通信服务相关联),则在块616处,统一消息传递应用程序145可将该帐户地址选择作为发送人帐户并且可使用该帐户地址来发送消息。
[0075]如果,在块606处,所识别的发送人帐户地址的数量大于一,则在块608处,统一消息传递应用程序145可选择某个发送人帐户地址。可使用各种选择标准。在一些实施例中,统一消息传递应用程序145可获取对在过去最频繁地用于与候选帐户地址通信的发送人帐户地址进行识别的历史信息。在一些情况下,发送人可能将特定发送人帐户地址比其他发送人帐户地址更经常地用于与接收人帐户地址通信(例如,由于发送人使用该特定发送人帐户地址来与同事或业务联系人通信并且接收人为业务联系人)。统一消息传递应用程序145可于之后将最频繁地用于与候选帐户地址通信的发送人帐户地址确定为用于发送消息的发送人帐户地址。
[0076]虽然一些实施例选择最频繁地用于与所选择的接收人帐户地址通信的发送人帐户地址,但一些实施例可使用不同的标准来选择发送人帐户地址。例如,一些实施例可通过确定最近用于在接收人的电子通信服务上的任何通信的发送人帐户地址、最近用于与所选择的接收人帐户地址通信的发送人帐户地址或最频繁地用于在接收人的电子通信服务上发送任何通信的发送人帐户地址,来从该组发送人帐户地址中选择发送人帐户地址。
[0077]在块610处,统一消息传递应用程序145可向发送人呈现所选择的发送人帐户地址,以为发送人提供选择将要从其发送消息的不同发送人帐户地址的机会。在一些实施例中,统一消息传递应用程序145可通过在屏幕图像中的“自:”字段中显示发送人帐户地址来向发送人呈现发送人帐户地址。在发送消息之前,统一消息传递应用程序145可允许发送人从与所确定的电子通信服务相关联的该组发送人帐户地址中选择某个不同的帐户地址。
[0078]在块612处,统一消息传递应用程序145可确定发送人是否选择了不同的帐户地址。如果发送人选择了不同的帐户地址,则在块614处,统一消息传递应用程序145可使用由发送人选择的发送人帐户地址来发送消息。如果发送人未选择不同的帐户地址,则在块616处,统一消息传递应用程序145使用所确定的发送人帐户地址来发送消息。
[0079]如上所述,发送人可通过提供预期接收人的部分标识符并从匹配部分标识符的候选接收人帐户的列表中进行选择,来为消息选择接收人帐户。在上述的实施例中,部分标识符可为字符的序列。在一些实施例中,部分标识符可为预期接收人的特征。例如,部分标识符可指示预期接收人为家庭成员、业务联系人、医生、特定年龄组内的人、同事、网球球友、学习组成员、在特定区域具有物理地址的人等。可基于与用户已存储的联系人有关的任何信息来定义此类特征。例如,在图5的联系人条目500中,可通过物理地址504来确定Johnny Appleseed居住在加利福尼亚州的库比蒂诺。可通过区域520中的组信息来确定Johnny Appleseed为同事。响应于接收到预期接收人的特征(例如,在图3的搜索框330中),统一消息传递应用程序145可使用所接收的特征来过滤联系人以识别该组候选帐户地址。
[0080]在一些实施例中,统一消息传递应用程序145的用户可邀请多个参与人加入通信会话。在一些情况下,用户可选择一组联系人并请求发起与该组联系人的通信会话。在此类情况下,统一消息传递应用程序145可将可供该组中的所有联系人访问的电子通信服务(例如,该组中的每个人均登录到该电子通信服务中或在该电子通信服务上具有帐户)确定为要用于通信会话的电子通信服务。如果在所有所选择的联系人中存在不止一个可用的电子通信服务,则统一消息传递应用程序145可确定在所选择的联系人中的最频繁使用的通信信道,并将该通信信道选择作为要用于通信会话的电子通信服务。在一些实施例中,如果没有电子通信服务被确定为在所有所选择的联系人中是可访问的,则不能建立通信会话。然而,即使在仅大部分所选择的联系人登录到相同电子通信服务中时,一些实施例也允许建立通信会话。
[0081]在其他情况下,用户可相继地为消息选择接收人,或决定将另一方添加至正在进行的通信会话。一旦发送人为特定消息选择了第一接收人或为通信会话选择了第一参与人,则进一步添加可被限制于也向已为第一接收人选择的相同电子通信服务注册和/或登录到该相同电子通信服务的那些接收人。图7示出了根据本发明实施例的正在使用统一消息传递应用程序145来将消息发送至多个接收人的用户设备100的屏幕图像的示例性序列。
[0082]图7可被描述为继图3的屏幕图像305-320的序列之后的屏幕图像的序列。图7中的初始屏幕705类似于屏幕图像320,其中发送人已将服务IM#1上的Johnny Appleseed选择作为新消息的接收人。在该屏幕图像705中,发送人可选择添加接收人按钮725以将消息的另一接收人添加为Johnny Appleseedo
[0083]响应于用户的对添加接收人按钮725的选择,另一“至:”行出现在屏幕图像710中以允许用户识别另一接收人。在屏幕图像710中,发送人已将字母“An”作为附加接收人的部分标识符而输入到搜索框730中。在接收到部分标识符的用户输入时,一些实施例的统一消息传递应用程序145可识别匹配用户输入的一组帐户地址(也称为“候选接收人帐户”)。
[0084]类似于上述实施例,统一消息传递应用程序145可通过对照用户联系人的数据库中的联系人的名字、姓氏、电子邮件地址以及消息传递用户标识符匹配所接收的部分标识符,来识别该组帐户地址。在一些实施例中,统一消息传递应用程序145也可确定部分标识符是否匹配发送人的特定于服务的联系人列表中的联系人的消息传递用户标识符。然而,由于发送人已选择了将用于Johnny Appleseed (服务IM#1)的特定电子通信服务,因此统一消息传递应用程序145可过滤所述匹配以仅包括用于电子通信服务頂#1的帐户地址。如屏幕图像710中所示,已识别并向发送人显示候选帐户地址的列表750。该列表仅显示使用电子通信服务IM#1的帐户地址。
[0085]在屏幕图像715中,发送人已为预期接收人选择该组候选帐户地址中的一者。如图所示,所选择的候选帐户地址755被突出显示,指示发送人已做出选择。在屏幕图像720中,将第二接收人添加至“至:”行。发送人可再次选择添加接收人按钮725以添加另一接收人或例如通过在框765中键入来创建要发送的消息。只要电子通信服务支持具有不止两个参与人的通信会话,便可使用类似的过程来将参与人添加至已建立的通信会话。
[0086]在一些实施例中,通信应用程序,诸如统一消息传递应用程序145,可提供用于促进两个或更多个参与人之间的通信会话的功能。统一消息传递应用程序145可允许发送人跨越用于发送消息的多个电子通信服务便利地识别预期接收人帐户地址。一些实施例的统一消息传递应用程序145可基于与所选择的接收人帐户地址相关联的电子通信服务来确定从其发送消息的发送人帐户。此外,统一消息传递应用程序145可促进针对一组三个或更多个参与人的通信会话并且确定用于通信会话的适当的电子通信服务。用户可在其联系人碰巧连接至的任何电子通信服务上享受与其联系人中的任一者的无缝通信体验,而不必切换应用程序或调整至不同用户界面。
[0087]通信应用程序在一些实施例中可提供其他功能,包括向第一用户显示在第一用户与第二用户之间的通信历史的能力。响应于对用户与另一用户之间的通信历史的用户请求,一些实施例的统一消息传递应用程序145可汇总并呈现两个用户之间的通信历史,包括跨越多个电子通信服务发生的通信。
[0088]可由不同提供商和/或在不同服务器上托管电子通信服务,并且一些电子通信服务可保持过去通信的记录,例如,电子邮件档案或聊天历史文件。图8为系统图800,其示出了可被定位和汇总以生成用户之间的通信历史的电子通信会话文件的本地和远程存储。在一些实施例中,用户设备100可经由广域网805(例如,互联网)与各种服务器通信。如图所示,服务器可包括即时消息服务#1服务器810、SMS服务服务器815以及即时消息服务#2服务器820。也可将由电子通信服务的其他提供商托管的其他服务器(未示出)连接至网络805。在该实施例中,服务器810、815和820中的每一者均将通信历史文件存储在相关联的数据储存库825,830,835中。
[0089]代表性通信文件被示出为聊天会话文件840。文件840可为两个(或更多个)用户之间的聊天会话的副本,并且可通过参考各种参数,诸如日期、时间和/或参与人的用户名(或其他帐户标识符),来从数据储存库825中获取。在一些实施例中,与文件相关联的日期和时间可包括通信发生的时间范围(例如,可将来自同一天的所有通信存储在一个文件中,或如果通信服务定义了某个会话,则该时间范围可对应于会话的持续时间)。文件840可存储由任一方在相关时间范围期间发送的每个消息的记录,并且每个消息可具有指示其实际上何时发送的时间戳。在一些实施例中,文件840可包括文本数据、音频数据、视频数据、图像数据或表示所发生的通信的任何其他数据。通信文件可包括任意数量的消息;在一些情况下,每个消息可在单独的文件中,或单个文件可包含许多消息。
[0090]在接收到对第一用户与第二用户之间的通信历史的用户请求时,统一消息传递应用程序145可与服务器810,815,820通信以便识别与这两个用户相关联的通信会话文件并获得对所述文件的访问。在一些实施例中,统一消息传递应用程序145可请求与属于这两个用户的帐户相关联的所有会话历史文件。
[0091]应当理解,图8的系统是示例性的,而且变型形式和修改形式是可行的。在一些实施例中,可附加于或代替存储在远程服务器上而本地存储通信文件(例如,存储在图8的本地信息存储855中)。
[0092]图9为根据本发明实施例的通过汇总多个通信会话文件来创建通信历史页面900的例子。在该示例中,用户已请求与另一用户(Johnny Appleseed)的通信历史。响应于接收到用户的请求,用户设备100可获取用户与该另一用户之间的通信会话文件。可针对请求用户已用于与该另一人进行通信的任何电子通信服务来获取文件。可针对不同的服务来获取不同的文件,并且可从相同的服务中获取一个或多个文件。在图9的例子中,通信历史包括三个通信会话文件:来自即时消息服务910、即时消息/VOIP服务915以及文本消息(SMS)服务920的聊天会话文件。虽然针对该特定例子仅获取三个通信会话文件,但在两个用户的跨越多个电子通信服务的通信历史中可能包括许多更多的会话文件。会话文件可本地存储在用户设备100中和/或远程地存储(例如,在如图8所示的服务器810,815,820处)。可响应于用户请求而获取远程存储的文件。
[0093]在一些实施例中,统一消息传递应用程序145可按顺序(例如,按时间顺序)布置来自通信会话文件的各个通信,使得所生成的页面以两个用户之间的通信所发生的顺序来显示通信历史。如图9所示,通信会话文件中的每个通信行(对应于消息)可具有指示消息何时发送的时间戳。基于时间戳,统一消息传递应用程序145可跨越不同通信服务对来自所有通信会话文件的通信行进行分类,并呈现具有按时间顺序布置的整个通信历史的单个页面。(在一些实施例中,可根据需要按倒序时间顺序或任何其他顺序来对通信行进行分类。)
[0094]图9中的页面900,通过汇总来自即时消息服务910、VOIP服务915以及文本消息服务920的通信会话文件而生成,示出了用户与Johnny Appleseed之间的已汇总通信历史。已汇总通信历史示出了用户与Johnny Appleseed之间的按照时间戳分类的所有聊天行和文本交换,而与使用了哪个服务无关。由于来自VOIP服务915的“嗨,Mandy”具有10:56:33的时间戳并且是用户与Johnny Appleseed之间的第一通信,因此将它显示为已汇总通信历史中的第一聊天行。在Johnny Appleseed在13:20:05经由即时消息服务910将“你好! ”发送至用户时,下一个通信发生。因此,将它显示为已汇总通信历史中的第二聊天行。以此方式,来自即时消息服务910和VOIP服务915的所有聊天行均按照其相关联的时间戳来分类。可依据每个通信行的时间戳而使来自不同通信会话文件的通信行交织。此夕卜,页面900也包括用户与Johnny Appleseed之间的来自SMS服务920的通信历史。如其相关联的时间戳所示,在该天的晚些时候交换了文本消息。因此,将文本消息交换显示在页面900的底部,来自即时消息服务910和VOIP服务915的通信历史的下方。
[0095]应当理解,页面900是示例性的,而且变型形式和修改形式是可行的。在一些实施例中,可在视觉上将使用不同服务来发送的消息彼此区分,例如通过字体、背景色、服务识别注释(如图9所示)等。在一些实施例中,通信历史可包括附加于或代替文本的其他消息格式。例如,如果音频对话的记录可用,则可在适当的点将记录插入到通信历史页面中(例如,基于与记录开始或结束相关联的时间戳)。这可例如通过在页面中的适当位置处提供视觉提示和/或提供回放控制元件以允许用户播放音频来予以指示。可类似地处理视频,并且可将来自视频的帧作为视频可用的指示符而予以包括。
[0096]如所述的那样,一些实施例也可基于每个文件的与由服务定义的各个通信单元相关联的一个或多个时间戳,来按顺序对通信历史进行分类。“通信单元”可包括例如单个消息、一组消息、某个时间间隔内的所有消息、不具有长于二十秒的暂停的对话块,等等。这允许请求通信历史的用户能够容易地在单个页面中查看两个用户之间的整个通信历史,无关于在每个通信发生时任一方所使用的通信服务或帐户地址。此外,用户可在页面内执行搜索以识别用户正在查找的对话,而不是必须打开每个通信会话文件并独立地搜索每个文件的内容。在一些情况下,通信历史可以相当长并且可能不适配在可用显示空间中。页面900可滚动以允许用户查看历史的不同部分。
[0097]图10为根据本发明实施例的用于对存储两个用户之间的通信的通信历史进行汇总的过程1000的流程图。可在例如执行统一消息传递应用程序145的图1的用户设备100中实施过程1000。
[0098]在块1002处,统一消息传递应用程序145可接收对用户与另一人之间的通信历史的请求。用户可为用户设备100的请求查看自己与该另一人之间的通信历史的用户。在一些实施例中,用户可通过选择统一消息传递应用程序145中的按钮、从下拉菜单中进行选择等等,来请求查看通信历史。用户可指定其已在过去与之通信的一个或多个人并请求他们之间的通信历史(例如,视频聊天数据、即时消息交换、视频聊天记录等)。
[0099]在块1004处,统一消息传递应用程序145可接收该另一人的用户标识符。在一些实施例中,该另一人的用户标识符可被接收作为通信历史的所接收请求的一部分。上述接收人识别技术中的任一者可用于协助用户提供该另一人的用户标识符。
[0100]在块1006处,统一消息传递应用程序145可识别该请求用户的一组帐户地址。在一些实施例中,统一消息传递应用程序145可通过访问在用户设备100上的为统一消息传递应用程序145存储该信息的程序文件来识别用户的一组帐户地址。在一些实施例中,在用户向电子通信服务中的任一者创建并注册新帐户时,用户的帐户地址信息存储在程序文件中。一些实施例允许用户将该信息输入到统一消息传递应用程序145中,该统一消息传递应用程序145可将该信息与其他特定于用户的设置一起存储。此外,一些实施例跟踪用户在远程服务器中的帐户地址信息,并且在统一消息传递应用程序145请求该信息时,该服务器可被访问。
[0101]在块1008处,统一消息传递应用程序145可确定与第一组帐户地址相关联的一组通信服务。该组可包括与请求用户的帐户地址中的至少一者相关联的任何通信服务。在一些实施例中,可将一些服务从该组中排除,例如,如果该服务未保持通信会话记录或如果用户已指示应排除某些服务(例如,电子邮件)。
[0102]在块1010处,统一消息传递应用程序145可识别该另一人的第二组帐户地址。在一些实施例中,统一消息传递应用程序145可通过搜索用户联系人数据库150 (也称为地址薄)来确定该另一人的所述第二组帐户地址。例如,用户可通过提供名称或帐户地址或通过从用户的地址薄中选择记录来识别该另一人,并且统一消息传递应用程序145可从地址薄中获取所有联系人帐户地址。参考图5,如果在块1004处所接收的用户标识符为“JohnnyAppleseed”(实际名称)或其帐户中的一者,例如,johnny@c0.com,则统一消息传递应用程序145可搜索地址薄以找到匹配条目500并提取所有帐户地址,包括帐户地址510、506、508、512、518、514和516。一些实施例可过滤所提取的帐户地址以仅包括处于在块1006处定义的所述一组中的帐户或服务。
[0103]在块1012处,统一消息传递应用程序145可从服务器或本地存储装置获取与第一组帐户地址和第二组帐户地址相关联的一组通信会话文件。在一些实施例中,统一消息传递应用程序145可识别用户和该另一人均在相同电子通信服务上具有帐户的所有情况。针对每对此类帐户,统一消息传递应用程序145可向该电子通信服务的服务器请求该对帐户标识符的所有会话文件,并获取包含这两个帐户之间的通信的任何会话文件。在用户或该另一人(或两者)在单个服务上具有多个帐户的情况下,可使用多对帐户标识符来获得该服务的会话文件。在会话文件被本地存储的情况下,统一消息传递应用程序145可从本地存储装置中获得会话文件,而不是从服务器中请求它们。
[0104]在块1014处,统一消息传递应用程序145可基于相关联的时间戳来按顺序布置来自所有所获取的通信会话文件的对话单元或行。如上文参考图9所述,统一消息传递应用程序145可按时间顺序布置对话行,使得所有通信会话文件中的所有对话行显示在单个页面中并基于其相应的时间戳来排序。这允许用户跨越所有通信服务按时间顺序查看与该另一人之间的通信历史。
[0105]在块1016处,统一消息传递应用程序145可向用户呈现所布置的对话行的至少一部分。将所布置的对话行呈现在单个页面或窗口中,在该单个页面或窗口中,用户可通过简单地滚动页面来查看第一用户与第二用户之间的整个通信历史。
[0106]根据各种实施例的系统和方法可响应于接收到对通信历史的用户请求,而使用窗口中的页面来呈现两个或更多个用户之间的通信历史。在一些实施例中,统一消息传递应用程序145可将从各个服务器(例如,服务器810、815和820)获取的通信历史加载到系统存储器中并向用户显示通信历史。如果在用户正滚动页面时,已经将对于用户而言当前可见的通信行连同一些相邻行加载到系统存储器中,则一些实施例的统一消息传递应用程序145可为用户提供无缝滚动体验。然而,在一些实施例中,存储器约束可阻止统一消息传递应用程序145将整个通信历史加载到系统存储器中。一些实施例至少部分地基于页面内用户正在任何给定时间查看的部分,通过动态地将通信历史页面的部分加载到系统存储器中以及将通信历史页面的部分从系统存储器中卸载来实施智能存储器高速缓存。
[0107]通信历史页面的部分的动态加载和卸载的例子在图1lA和IlB中示出,其为通信历史页面1105在不同两次的表示。在图1lA和IlB中,页面1105表示两个用户之间的整个通信历史。在一些实施例中,可使用上文所述的技术来生成页面1105。为便于描述,将页面1105示出为被划分成多个单元1102,每者对应于通信历史的一部分。单元1102可为,例如,固定数量的对话行(例如,一百行)或固定量的数据(诸如系统存储器的页面)。
[0108]在图1IA和IlB中,空单元(例如,图1lA的单元1102(1))指示页面1105的对应部分当前未加载到存储器中。包含行的单元(例如,图1lA的单元1102(15))指示对应部分当前已加载到存储器中。具有注释“加载中……”的单元(例如,图1lA的单元1102(8))指示对应部分处于正在加载到存储器中的过程中。具有注释“卸载中……”的单元(例如,图1lB的单元1102(10))指示对应部分处于正在从存储器中卸载的过程中。窗口 1115和1120指示页面1105的哪个部分当前正分别显示在图1lA和IlB中。
[0109]在一些实施例中,当用户正在查看通信历史页面1105时,在任何给定时间在存储器中的单元1102的数量可以是恒定的(由于加载和卸载而存在可能的瞬态波动除外)。该数量可足够大以提供足够的信息来填充呈现历史的显示区域(图11的例子中的五个单元1102),并且在一些实施例中,该数量可更大,例如,以允许在用户滚动页面之前预先加载页面1105的附加部分。当用户滚动页面1105时,新单元1102加载到存储器中并且将其他单元1102从存储器中卸载以保持总存储器使用的基本上恒定。
[0110]例如,图1lA可对应于响应于用户请求而首次显示页面1105时的时间。在该实施例中,页面1105可包括按时间顺序布置的对话行,并且初始显示示出了最近的行(其在页面1105的底部)。对应于正被显示的页面1105的部分的单元1102(10)-1102(15)在存储器中。此外,对应于页面1105的刚好在可见部分之外的部分的单元1102 (9)也在存储器中,并且正在加载下两个单元1102(7)和1102(8)。如果用户开始向上滚动,则页面1105的下几个部分为显示做好了(或将很快做好)准备。
[0111]图1lB可对应于在用户开始向上滚动之后的更晚的时间。现在,页面1105的在窗口 1120中的部分是可见的。对应单元1102(4)-1102(9)已被加载。滚动到视图外的单元1102(10)保持被加载;如果用户开始向下回滚,则页面1105的该部分将为显示做好准备。更远在视图外的单元1102(11)和1102(12)正被卸载,并且单元1102 (13)-1102 (15)现为空。单元1102(2)和1102(3)现在正被加载,并且如果用户继续向上滚动,这些单元的内容将为显示做好准备。如通过比较图1lA和IlB可见,正在使用的存储器的总量在两次基本上相同。(在该示例中,卸载单元为快速过程。)
[0112]可以取决于具体实施的方式来优化动态加载和卸载行为。例如,可根据需要选择单元的尺寸,并且也可根据需要选择将要加载的单元的最大数量。在一些实施例中,可将单元尺寸定义为固定数量的消息或固定量的内容。对单元尺寸以及将要加载的单元的最大数量的选择可取决于考虑因素,诸如加载速度、呈现速度、可用的存储器量以及对响应于用户滚动而显示通信历史的不同部分的可接受延迟的限制。在一些实施例中,在选择单元尺寸和将要加载的单元的最大数量时,还可考虑诸如字体大小、显示分辨率以及窗口大小的考虑因素,这些考虑因素确定多少内容将同时可见。
[0113]在一些实施例中,在动态地加载和卸载历史的其他部分时,可将通信历史的某些部分(例如对应于最近通信的一个或多个单元)始终保持在存储器中。
[0114]另外,针对所加载的单元而存储在存储器中的数据的类型可以变化。在一些实施例中,加载包括借助用于通过正实时执行的消息数据来生成可查看图像呈现和格式化过程而仅将消息数据存储在系统存储器中。在其他实施例中,加载可包括执行呈现和格式化过程使得单元作为图像块或可直接显示的其他数据而存储在存储器中。在一些实施例中,力口载还可包括通过会话文件动态地构建已汇总通信历史的部分(例如,如上所述)。在一些实施例中,已汇总通信历史可被构建一次并被存储(例如,在高速缓存或本地数据文件中),并且加载可包括将该已存储历史数据的部分转移至系统存储器以实现更快的访问。动态加载和卸载是可选的;在一些实施例中,可一次性地将整个通信历史加载到系统存储器中。
[0115]一些实施例的通信应用程序可呈现两个或更多个用户之间的通信历史,其中该通信历史包括所述两个或更多个用户之间的跨越其过去已用于通信的所有电子通信服务的通信。通信应用程序可通过执行智能存储器管理来为对显示通信历史的窗口进行滚动的用户提供无缝用户体验。由于存储器限制,通信应用程序在用户滚动至窗口的不同部分时,动态地加载和卸载已汇总通信历史。
[0116]虽然已结合具体的实施例描述了本发明,但本领域的技术人员将认识到,许多修改形式是可行的。例如,上述实施例可跨越广泛的电子通信服务提供统一消息传递(或统一通信),包括电子邮件、即时消息、文本消息传递、SMS、VOIP等,并且所述通信可以结合文本、音频、视频、图像或任何其他形式的通信。应当理解,不是所有电子通信服务均需要受到支持,不同实施例可支持本文所提及的服务和/或其他电子通信服务的不同组合。
[0117]用户可具有任何数量的联系人并且可经由可用服务的任何组合来与特定联系人通信。在一些情况下,用户可使用统一消息传递应用程序来与用户的地址簿中不存在任何记录的各方通信。
[0118]此外,已汇总通信历史的呈现可限于提供过去通信的记录的服务,并且已汇总通信历史的完整性可受可用记录的可用性或不可用性的限制。也可例如基于电子通信服务的日期范围或者用户所选择的子组,而跨越可用记录的子组来汇总通信历史。
[0119]可使用专用组件和/或可编程处理器和/或其他可编程设备的任何组合来实现本发明的实施例。本文所述的各个过程可在相同处理器或不同处理器上以任何组合方式实施。在组件被描述为被配置为执行某些操作的情况下,可例如通过设计电子电路以执行操作、通过对可编程电子电路(诸如微处理器)进行编程以执行操作或它们的任何组合,来实现此类配置。过程可使用各种技术包括但不限于用于进程间通信的常规技术来通信,并且不同对的过程可使用不同的技术,或相同对的过程可在不同的时间使用不同的技术。此夕卜,虽然上述实施例可参考具体硬件和软件组件,但本领域的技术人员将会知道,也可使用硬件和/或软件组件的不同组合,并且也可在软件中实施被描述为在硬件中实施的特定操作,或反之亦然。
[0120]可在各种计算机可读存储介质上编码并存储结合本发明各特征的计算机程序;适当介质包括磁盘或磁带、光学存储介质诸如光盘(CD)或DVD (数字通用光盘)、闪存存储器以及其他非暂态介质。可将用程序代码编码的计算机可读介质与兼容的电子设备封装在一起,或可独立于电子设备来提供程序代码(例如,经由互联网下载或作为独立封装的计算机可读存储介质)。
[0121]因此,尽管已相对于具体实施例描述了本发明,但应当理解,本发明意在覆盖以下权利要求范围之内的所有修改和等价形式。
【权利要求】
1.一种方法,包括: 在计算机处接收用户输入,所述用户输入包括将要由发送人发送的消息的预期接收人的部分标识符; 由所述计算机至少部分地基于所述部分标识符来确定包括一组候选帐户地址的列表; 由所述计算机呈现包括所述一组候选帐户地址的列表; 由所述计算机接收所述候选帐户地址中的一者的用户选择作为所述消息的所述预期接收人的所述标识符; 由所述计算机响应于所述选择来确定与要用于将所述消息发送至所述预期接收人的所述发送人相关联的发送人帐户地址;以及 将所述消息从所述发送人帐户地址发送至所选择的候选帐户地址。
2.根据权利要求1所述的方法,其中所述一组候选帐户地址包括与多个电子通信服务相关联的一组用户标识符。
3.根据权利要求2所述的方法,其中所述多个电子通信服务包括电子邮件、即时消息(頂)、短消息服务(SMS)或互联网协议语音技术(VoIP)中的至少一者。
4.根据权利要求2所述的方法,其中确定所述发送人帐户地址包括: 确定所选择的候选帐户地址与所述多个电子通信服务中的第一者相关联;以及选择与所述发送人以及所述多个电子通信服务中的所述第一者相关联的帐户作为所述发送人帐户地址。
5.根据权利要求2所述的方法,还包括: 由所述计算机将所述多个电子通信服务中的第一者识别为与所选择的候选帐户地址相关联; 接收另一用户输入,所述另一用户输入包括所述消息的另一预期接收人的另一部分标识符; 由所述计算机搜索用户联系人的数据库以识别另一组候选帐户地址;以及确定所述另一组候选帐户地址的所述一组的子组,所述子组中的每个候选帐户地址与第一电子通信服务相关联;以及 由所述计算机呈现候选帐户地址的所述子组,所述发送人可从所述子组中选择所述消息的另一预期接收人。
6.根据权利要求1所述的方法,其中确定包括所述一组候选帐户地址的所述列表包括: 确定所述部分标识符是否匹配用户联系人的数据库中的一个或多个联系人的名字、姓氏或帐户地址中的至少一者, 其中响应于确定所述部分标识符匹配所述名字、所述姓氏或所述帐户地址中的至少一者来呈现所述列表,以及 其中所述列表包括所确定的匹配。
7.一种方法,包括: 在计算机处接收用户输入,所述用户输入包括字符的序列; 由所述计算机并且至少部分地基于字符的所述序列,搜索用户联系人的数据库以识别第一组候选接收人帐户; 由所述计算机识别发送人所连接的一组电子通信服务; 由所述计算机并且至少部分地基于字符的所述序列,搜索所述发送人的一个或多个特定于服务的联系人列表,每个特定于服务的联系人列表与所述一组电子通信服务中的所述电子通信服务之一相关联以识别第二组候选接收人帐户; 由所述计算机向所述发送人呈现所述第一组候选接收人帐户和第二组候选接收人帐户;以及 由所述计算机接收来自所述第一组候选接收人帐户和第二组候选接收人帐户的特定候选接收人帐户的用户选择以发送通信。
8.根据权利要求7所述的方法,其中搜索用户联系人的所述数据库包括搜索字符的序列与用户联系人的所述数据库中每个联系人的名字、姓氏或帐户地址中的至少一部分之间的匹配。
9.根据权利要求7所述的方法,其中所述一组电子通信服务包括即时消息服务。
10.根据权利要求7所述的方法,还包括: 为所述特定候选接收人帐户确定相关联的电子通信服务;以及 基于所述相关联的电子通信服务来选择用于发送所述通信的发送人帐户。
11.一种用程序指令编码的计算机可读存储介质,所述程序指令在被执行时使计算设备中的处理器执行用于促进聊天会话的方法,所述方法包括: 接收用户输入,所述用户输入包括将要由发送人发送的即时消息的预期接收人的部分标识符; 至少部分地基于所述部分标识符来搜索用户联系人的数据库以识别一组候选接收人的一组候选帐户地址,所述一组候选帐户地址包括与多个电子通信服务相关联的一组用户标识符; 呈现包括所述一组候选帐户地址的列表; 接收所述候选帐户地址中的一者的用户选择作为所述即时消息的所述预期接收人的标识符;以及 至少部分地基于所选择的候选帐户地址来确定与将要用于将所述即时消息发送至所述预期接收人的所述发送人相关联的发送人帐户地址。
12.根据权利要求11所述的计算机可读存储介质,其中所述用户标识符中的至少一者与两个不同的电子通信服务相关联。
13.根据权利要求11所述的计算机可读存储介质,其中所述即时消息包括文本数据、视频数据、音频数据或图像数据中的至少一者。
14.根据权利要求11所述的计算机可读存储介质,其中确定与所述发送人相关联的所述发送人帐户地址包括: 确定与所选择的候选帐户地址相关联的特定电子通信服务; 确定与所述特定电子通信服务相关联的一组发送人帐户地址;以及 通过识别所述一组发送人帐户地址中最频繁地与所述候选帐户地址通信的特定发送人帐户地址来从所述一组发送人帐户地址中选择所述发送人帐户地址。
15.根据权利要求11所述的计算机可读存储介质,其中搜索用户联系人的所述数据库包括: 将所述部分标识符与用户联系人的所述数据库中的一组名字相匹配以识别匹配名字的子组; 将所述部分标识符与用户联系人的所述数据库中的一组姓氏相匹配以识别匹配姓氏的子组;以及 将所述部分标识符与用户联系人的所述数据库中的一组帐户地址相匹配以识别匹配帐户地址的子组, 其中所述一组候选帐户地址包括匹配名字的所述子组、匹配姓氏的所述子组、以及匹配帐户地址的所述子组。
16.—种电子设备,包括: 处理器; 存储器设备,所述存储器设备耦接至所述处理器,所述存储器设备包括被执行以促进通信的指令,其中所述指令在由所述处理器执行时使所述处理器: 接收用户输入,所述用户输入包括将要由发送人发送的消息的预期接收人的部分标识符; 至少部分地基于所述部分标识符来搜索用户联系人的数据库以识别一组候选接收人的一组候选帐户地址,其中所述一组候选帐户地址包括与多个电子通信服务相关联的用户标识符; 呈现包括所述一组候选帐户地址的列表; 接收所述候选帐户地址中的一者的用户选择作为所述消息的所述预期接收人的所述标识符;以及 响应于所述选择来确定与将要用于将所述消息发送至所述预期接收人的所述发送人相关联的发送人帐户地址。
17.根据权利要求16所述的电子设备,其中通过键盘输入、手势输入、盯视输入或语音命令输入来接收所述用户输入。
18.根据权利要求16所述的电子设备,其中所述部分标识符为字符串、候选接收人的特征、或所述候选接收人的电子设备的特征中的至少一者。
19.根据权利要求16所述的电子设备,其中使所述处理器搜索用户联系人的所述数据库的所述指令还包括在由所述处理器执行时使所述处理器执行以下操作的指令: 确定所述部分标识符是否匹配用户联系人的所述数据库中的联系人的名字、姓氏或帐户地址中的至少一者; 继确定所述部分标识符是否匹配所述联系人的所述名字、所述姓氏或所述帐户地址中的至少一者之后,识别所述发送人所连接的一组电子通信服务;以及 针对所述一组电子通信服务中的每一者,确定所述部分标识符是否匹配用户联系人的所述数据库中的联系人的消息标识符,所述消息标识符与所述一组电子通信服务中的一者相关联, 其中所呈现的列表包括对所述部分标识符的匹配。
20.根据权利要求16所述的电子设备,其中使所述处理器搜索用户联系人的所述数据库的所述指令还包括在由所述处理器执行时使所述处理器执行以下操作的指令: 确定所述部分标识符是否匹配用户联系人的所述数据库中的联系人的名字、姓氏或帐户地址中的至少一者; 响应于确定所述部分标识符不匹配用户的所述名字、所述姓氏或所述帐户地址中的至少一者,确定所述部分标识符是否匹配特定于服务的联系人列表中的通信标识符中的至少一者, 其中所述通信标识符与所述一组电子通信服务中的至少一者相关联。
21.一种用程序指令编码的计算机可读存储介质,所述程序指令在被执行时使计算设备中的处理器执行用于建立通信会话的方法,所述方法包括: 接收用户输入,所述用户输入包括字符的序列; 至少部分地基于字符的所述序列,搜索用户联系人的数据库以识别第一组候选接收人帐户; 识别所述用户所连接的一组电子通信服务; 至少部分地基于字符的所述序列,搜索所述发送人的一个或多个特定于服务的联系人列表,每个特定于服务的联系人列表与所述一组电子通信服务中的所述电子通信服务之一相关联以识别第二组候选接收人帐户; 向所述发送人呈现所述第一组候选接收人帐户和第二组候选接收人帐户;以及 接收来自所述第一组候选接收人帐户和第二组候选接收人帐户的特定候选接收人帐户的用户选择以发送通信。
22.根据权利要求21所述的计算机可读存储介质,其中所述发送人的所述特定于服务的联系人列表中的一者被本地存储在所述计算机可读存储介质上,其中所述发送人的所述特定于服务的联系人列表中的另一者存储在可通过应用编程接口(API)访问的远程服务器处。
23.根据权利要求21所述的计算机可读存储介质,其中所述一组通信服务包括所述发送人当前登录到的一组通信服务。
24.根据权利要求21所述的计算机可读存储介质,其中呈现所述第一组候选接收人帐户和第二组候选接收人帐户包括呈现排序列表,其中所述第一组中的所述候选接收人帐户在所述第二组中的所述候选接收人帐户之前。
25.根据权利要求21所述的计算机可读存储介质,其中通过显示其相关联的用户标识符和电子通信服务来向所述用户呈现所述第一组候选接收人帐户和第二组候选接收人帐户,其中至少部分地基于其相关联的用户标识符来按字母顺序显示所述第一组候选接收人帐户和第二组候选接收人帐户。
26.根据权利要求21所述的计算机可读存储介质,其中确定所述一组候选接收人帐户包括对照存储在用户联系人的所述数据库中的每个联系人的名字、姓氏或帐户地址中的至少一者的一部分来执行匹配。
27.根据权利要求21所述的计算机可读存储介质,其中所述方法还包括: 响应于接收所述特定候选接收人帐户的所述用户选择,确定与所述特定候选接收人帐户相关联的特定电子通信服务; 确定与所述特定电子通信服务相关联的发送人帐户;以及 使用所述发送人帐户将所述通信发送至所述特定候选接收人帐户。
28.—种方法,包括: 在计算机处接收对第一用户与第二用户之间的通信历史的请求; 由所述计算机获得存储所述第一用户与所述第二用户之间的通信的一组通信会话文件,所述一组通信会话文件中的每一者包括一组对话行,所述一组对话行中的每一者与时间戳相关联,其中使用多个电子通信服务中的不同者来传输所述一组通信会话文件中的不同者中的所述对话行; 由所述计算机基于所述相关联的时间戳来按顺序布置来自所有所述一组通信会话文件的所述对话行;以及 由所述计算机呈现所布置的对话行的至少一部分。
29.根据权利要求28所述的方法,其中所述请求从所述第一用户接收并且包括所述第二用户的第一标识符,所述方法还包括: 由所述计算机确定所述第二用户的一个或多个其他标识符, 其中获得所述一组通信会话文件包括获得与所述第二用户的所述一个或多个其他标识符中的一者相关联的通信会话文件。
30.根据权利要求29所述的方法,其中通过搜索用户联系人的数据库以及识别与所述第二用户的所述第一标识符相关联的一组标识符,来确定所述第二用户的所述一个或多个其他标识符,所述一个或多个其他标识符与所述多个电子通信服务中的不同者相关联。
31.根据权利要求28所述的方法,其中所述顺序为时间顺序。
32.根据权利要求28所述的方法,其中获得所述第一用户与所述第二用户之间的所述一组通信会话文件包括: 识别与所述第一用户相关联的第一组帐户标识符,所述第一组帐户标识符中的每一者与一组电子通信服务中的一者相关联;以及 针对所述一组电子通信服务,识别与所述第二用户相关联的第二组帐户标识符,其中通过检索与所述第一组帐户标识符中的至少一个帐户标识符以及所述第二组帐户标识符中的至少一个帐户标识符相关联的通信会话文件来获得所述一组聊天会话文件。
33.一种方法,包括: 在计算机处接收对第一用户与第二用户之间的通信历史的请求; 由所述计算机识别所述第一用户的第一组帐户标识符,其中所述第一组帐户标识符与多个电子通信服务相关联,以及至少部分地基于所述多个电子通信服务,进一步识别所述第二用户的第二组帐户标识符; 至少部分地基于所述第一组帐户标识符和所述第二组帐户标识符来获得对存储所述第一用户与所述第二用户之间的通信的一组通信会话文件的访问;以及向所述第一用户显示所述一组通信会话文件的一部分的内容。
34.根据权利要求33所述的方法,其中所述一组通信会话文件中的每一者包括各自与时间戳相关联的一组对话单元,所述方法还包括: 基于所述相关联的时间戳来对来自所有所述通信会话文件的所述对话单元进行排序,其中向所述第一用户显示的所述一组通信会话文件中的所述部分包括所述已排序的对话单元的至少一部分。
35.根据权利要求33所述的方法,其中所述通信历史包括文本数据、音频数据、视频数据、图像数据或它们的组合中的至少一者。
36.根据权利要求33所述的方法,其中所述一组通信会话文件包括本地获得的所述通信会话文件的第一子组以及从可通过应用编程接口(API)访问的远程服务器获得的所述通信会话文件的第二子组。
37.根据权利要求33所述的方法,其中所述多个电子通信服务包括电子邮件、即时消息、短消息服务(SMS)或互联网协议语音技术(VoIP)中的至少一者。
38.一种用程序指令编码的计算机可读存储介质,所述程序指令在被执行时使计算设备中的处理器执行一种方法,所述方法包括: 接收对第一用户与第二用户之间的消息交换历史的请求; 跨越多个电子通信服务来获得对所述第一用户与所述第二用户之间的多个交换记录的访问,所述多个交换记录中的每一者具有各自与时间戳相关联的一组通信单元; 至少部分地基于所述相关联的时间戳来按顺序布置来自所述多个交换记录的所述一组通信单元;以及 呈现所布置的一组通信单元的至少一部分。
39.根据权利要求38所述的计算机可读存储介质,其中通过键盘输入、手势输入或语音命令中的至少一者来接收所述请求。
40.根据权利要求38所述的计算机可读存储介质,其中所述多个电子通信服务中的所述不同者包括由不同服务提供商提供的不同电子通信服务。
41.根据权利要求38所述的计算机可读存储介质,其中接收对所述第一用户与所述第二用户之间的所述消息交换历史的所述请求包括接收在所述多个电子通信服务中的任一者中的所述第二用户的帐户标识符的选择。
42.根据权利要求38所述的计算机可读存储介质,其中接收对所述第一用户与所述第二用户之间的所述通信历史的所述请求包括接收在与所述第一用户相关联的用户联系人的数据库中的所述第二用户的选择。
43.—种电子设备,包括: 处理器; 存储器设备,所述存储器设备耦接至所述处理器,所述存储器设备包括被执行以用于促进通信的指令,其中所述指令在由所述处理器执行时使所述处理器: 接收对第一用户与第二用户之间的通信历史的请求; 获得对存储所述第一用户与所述第二用户之间的通信的一组通信会话文件的访问,所述一组通信会话文件中的每一者包括一组对话行,所述一组对话行中的每一者与时间戳相关联,其中使用多个电子通信服务中的不同者来传输所述一组通信会话文件中的不同者中的所述对话行; 基于所述相关联的时间戳来按顺序布置来自所有所述一组通信会话文件的所述对话行;以及 呈现所布置的对话行的至少一部分。
44.根据权利要求43所述的电子设备,其中所布置的对话行显示在所述电子设备的用户界面中的页面上,其中所布置的对话行的所呈现的部分对应于所述页面的当前正由所述第一用户查看的所述部分。
45.根据权利要求44所述的电子设备,其中加载所布置的对话行的至少所述部分,其中使所述处理器搜索用户联系人的所述数据库的所述指令还包括在由所述处理器执行时使所述处理器执行以下操作的指令: 接收所述页面的当前正由所述用户查看的所述部分已切换至所述页面的另一部分的指示;以及 响应于接收到所述指示,加载所布置的对话行的另一部分,所述另一部分对应于所述页面的当前正由所述第一用户查看的所述另一部分。
46.根据权利要求43所述的电子设备,其中所述顺序为倒序时间顺序。
47.根据权利要求43所述的电子设备,其中藉由通过一个或多个应用编程接口(API)来请求对其对应电子通信服务处的所述通信会话文件的子组的访问,来获得对所述一组通信会话文件的访问。
48.一种用程序指令编码的计算机可读存储介质,所述程序指令在被执行时使计算设备中的处理器执行一种方法,所述方法包括: 接收对第一用户与第二用户之间的通信历史的请求; 识别所述第一用户的第一组帐户标识符,其中所述第一组帐户标识符与多个电子通信服务相关联,以及至少部分地基于所述多个电子通信服务,进一步识别所述第二用户的第二组帐户标识符; 至少部分地基于所述第一组帐户标识符和所述第二组帐户标识符来获得对所述第一用户与所述第二用户之间的一组通信会话文件的访问;以及 向所述第一用户显示所述一组通信会话文件的一部分。
49.根据权利要求48所述的计算机可读存储介质,其中所述一组通信会话文件中的每个通信会话文件包括各自与时间戳相关联的一组通信单元,其中所述方法还包括: 对跨越所述一组通信会话文件的所述一组通信单元进行分类,其中所述一组通信会话文件的向所述第一用户显示的所述部分包括使来自不同通信会话文件的通信单元交织。
50.根据权利要求48所述的计算机可读存储介质,其中获得对所述一组通信会话文件的访问包括: 确定包括所述第一组帐户标识符中的至少一个帐户标识符和所述第二组帐户标识符中的至少一个帐户标识符的通信会话文件。
【文档编号】H04L12/58GK104205740SQ201380016724
【公开日】2014年12月10日 申请日期:2013年2月4日 优先权日:2012年2月5日
【发明者】A·J·古兹曼苏尔来兹, P·T·威斯腾, J·A·伯纳多, J·D·佩因, P·德菲利皮丝, P·科夫曼 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1