存储的传输在即时信使环境中的检索的制作方法

文档序号:7991588阅读:238来源:国知局
存储的传输在即时信使环境中的检索的制作方法
【专利摘要】一种即时消息传递客户端应用在第一终端上被执行,以便通过基于分组的网络参与在用户终端之间的即时消息传递的线程,每个线程包括在包括所述第一用户和至少一个第二用户的选择的一组联系人的用户终端之间交换基于文本的消息。所述消息的数字记录被维护在数据存储介质中。另外的基于文本的消息通过所述基于分组的网络被从第二终端中的一个接收,其包括先前通过所述基于分组的通信网络传送的并且存储在所述存储介质中的所述基于文本的消息中所引用的一个的引文。所述另外的消息在所述第一终端处被处理以便通过参考所述存储介质,关于相应线程中的所述基于文本的消息中的其他消息来恢复所引用的消息的上下文。
【专利说明】存储的传输在即时信使环境中的检索
【技术领域】
[0001]本发明涉及一种用于通过基于分组的通信网络传送和接收的所存储的传输的检索的改进系统和方法。
【背景技术】
[0002]诸如因特网之类的现代基于分组的通信网络已发展成允许大量业务在不同用户终端的用户之间的高效传输。能够通过基于分组的网络实现的通信的一个普遍模式是基于文本的消息在已选择成为彼此的相互联系人的两个或更多个用户的用户终端之间的交换。这有时被称为“即时消息传递”(頂)或“IM聊天”。
[0003]为了参与即时消息传递每个用户在他的或她的相应终端上执行即时消息传递客户端应用。当被执行时,IM客户端允许用户对即时消息传递系统的其他用户做出联系请求或者从即时消息传递系统的其他用户接受联系请求并且从而成为预先同意的联系人,以及然后与那些联系人中的一个或多个建立通信连接以便通过网络发送并且接收基于文本的消息。例如在相同组的参与者之间的相关消息被頂客户端级联到连续线程中,所述连续线程能够被同样地显示在客户端的适当的窗口、窗格或面板中。
[0004]頂聊天消息典型地被实时地交换,但是一些系统还可以提供如果在特定线程中牵涉的联系人中的一个在消息被发送的时间处离线则能够存储消息以供以后递送的服务器。
[0005]IM聊天客户端还可以包括各种工具来增强其功能性,诸如将图释插入到聊天消息中的能力、指示联系人的在线可用性的存在信息(其可以至少部分地由用户自身来定义)的供应、搜索设施和/或将来自线程的较早消息的引用文剪切并且粘贴到该线程或另一线程的新的消息中的能力。此外,一些頂聊天客户端可以支持附加类型的通信,诸如文件传输和/或基于分组的语音或视频呼叫,例如互联网语音协议(VoIP)。

【发明内容】

[0006]然而,当通过网络正被交换和存储的数据量变得越来越极度浪费时,存在能够具有弄巧成拙效应的风险,因为信息的任何特定片段可能在通过网络正被传送、接收并且存储的渐增数目的通信之中变得不再为用户所占有。在通信网络上的增加的业务只有当被适合的数据检索系统支持以便探查通过网络已被传送的消息的记录时才能够释放它的全部潜力。
[0007]要么在线程内要么在线程之间将引用语从一个消息剪切并且粘贴到另一消息的能力允许用户手动地提醒彼此特定的消息。然而,该特征目前仍然是受限的。将期望提供通过其来增强传送的消息的存储记录的有用性的数据检索机制。
[0008]根据本发明的一个方面,提供了操作第一用户的第一用户终端的方法,包括:在第一终端上执行即时消息传递客户端应用以便通过基于分组的通信网络参与在用户终端之间的即时消息传递的一个或多个线程,每个线程包括在包括第一用户和至少一个第二用户的选择的一组联系人的用户终端之间交换相应的多个基于文本的消息,其中基于文本的消息的数字记录被维护在数据存储介质中;通过基于分组的通信网络从第二终端中的一个接收所述基于文本的消息中的另外的一个或多个,所述一个或多个另外的消息每个都包括先前通过基于分组的通信网络被传送并且存储在存储介质中的所述基于文本的消息中所引用的一个的引文;以及在第一终端处处理一个或多个另外的消息以便通过参考存储介质,关于相应线程中的基于文本的消息中的其他消息来恢复所引用的消息的上下文。
[0009]优选地另外的消息包括所引用的消息的人类可读引文和标识所引用的消息的计算机可读令牌;并且所述处理包括在第一终端处处理计算机可读令牌以便通过参考存储介质,关于相应线程中的基于文本的消息中的其他消息来恢复所引用的消息的上下文。
[0010]在实施例中,所述上下文的恢复可以包括从存储介质中检索基于文本的消息中的所述其他消息以供输出给第一终端的用户。
[0011]所述上下文的恢复可以包括生成用户可操作的链接,以及当所述链接被用户启动时,将所述其他基于文本的消息输出给用户并且在那些其他消息的上下文中将所引用的消息输出给用户。
[0012]所述第一终端可以被用来参与多个所述线程,并且所述另外的消息可以是不同于所引用的消息的线程的线程的一部分,其中链接当被启动时可以自动地操作第一终端以在线程之间切换。
[0013]所述方法可以包括在第一终端处施行授权程序以确保所述切换以用户已经是所引用的消息的线程的合法参与者为条件。
[0014]所述另外的消息可以是与所引用的消息的线程相同的线程的一部分,其中链接当被启动时可以自动地操作第一终端以通过消息窗口向上滚动到所引用的消息。
[0015]所述上下文的恢复可以包括生成将第一终端的用户导向用户控件的指示器,从而使得能够实现基于文本的消息的所述其他消息的检索和所引用的消息在所述其他基于文本的消息的上下文中的输出。
[0016]存储介质可以位于第一终端处,并且该方法可以包括在第一终端处维护记录。
[0017]存储介质可以位于服务器处。
[0018]所述方法可以包括自动检测所述基于文本的消息中的一个当它被在第一终端处的第一用户撰写时的线程。
[0019]自动检测可以是基于以下各项中的至少一个:基于文本的消息中的一个或多个关键词;以及对基于文本的消息的语言学分析。
[0020]所述方法可以包括:通过基于分组的通信网络从第二终端中的一个接收所述基于文本的消息中的另外的一个或多个,其中所述一个或多个另外的消息可以每个都包括先前通过基于分组的通信网络被传送并且存储在存储介质中的所述基于文本的消息中所引用的一个的相应引文,并且一个或多个引文中的每一个都可以包括相应所引用的消息的人类可读引文和标识相应所引用的消息的计算机可读令牌;基于机器可读令牌在第一终端处处理一个或多个另外的消息以便通过参考存储介质,关于相应线程中的基于文本的消息中的其他消息来恢复相应所引用的消息的上下文;以及基于所述机器可读令牌来生成所链接的线程的视觉映射。
[0021]根据本发明的另一方面,提供了第一用户的第一用户终端,包括:收发器,其用于连接到基于分组的网络;即时消息传递客户端应用;以及处理设备,其被布置成执行即时消息传递客户端应用以便通过基于分组的通信网络参与在用户终端之间的即时消息传递的一个或多个线程,每个线程包括在包括第一用户和至少一个第二用户的选择的一组联系人的用户终端之间交换相应的多个基于文本的消息,其中基于文本的消息的数字记录被维护在数据存储介质中;其中所述收发器被布置成通过基于分组的通信网络从第二终端中的一个接收所述基于文本的消息中的另外的一个或多个,所述一个或多个另外的消息每个都包括先前通过基于分组的通信网络被传送并且存储在存储介质中的所述基于文本的消息中所引用的一个的引文;并且所述即时消息传递客户端应用被配置,以便当在处理设备上被执行时,在第一终端处处理一个或多个另外的消息以便通过参考存储介质,关于相应线程中的基于文本的消息中的其他消息来恢复所引用的消息的上下文。
[0022]在实施例中所述第一用户终端可以被进一步配置成依据上述方法特征中的任一个来施行操作。
[0023]根据本发明的另一方面,提供了在非暂时性计算机可读介质上体现并且包括代码的即时消息传递客户端应用,所述代码被配置以便当在第一终端上被执行时:通过基于分组的通信网络参与在用户终端之间的即时消息传递的一个或多个线程,每个线程包括在包括第一用户和至少一个第二用户的选择的一组联系人的用户终端之间交换相应的多个基于文本的消息,其中基于文本的消息的数字记录被维护在数据存储介质中;通过基于分组的通信网络从第二终端中的一个接收所述基于文本的消息中的另外的一个或多个,一个或多个另外的消息每个都包括先前通过基于分组的通信网络被传送并且存储在存储介质中的所述基于文本的消息中所引用的一个的引文;并且在第一终端处处理一个或多个另外的消息以便通过参考存储介质,关于相应线程中的基于文本的消息中的其他消息来恢复所引用的消息的上下文。
[0024]在实施例中所述即时消息传递客户端应用可以被进一步配置成依据上述方法特征中的任一个来施行操作。
[0025]根据本发明的另一方面,提供了操作第二用户终端的方法,包括:在第二终端上执行即时消息传递客户端应用以便通过基于分组的通信网络参与在用户终端之间的即时消息传递的一个或多个线程,每个线程包括在包括第二用户和第一用户终端的至少一个第一用户的选择的一组联系人的用户终端之间交换相应的多个基于文本的消息,其中基于文本的消息的数字记录被维护在数据存储介质中;生成包括先前已经通过基于分组的通信网络被传送并且存储在存储介质中的所述基于文本的消息中所引用的一个的人类可读引文的所述基于文本的消息中的另外的一个;并且将计算机可读令牌插入到另外的消息中,所述计算机可读令牌标识所引用的消息;以及通过基于分组的通信网络将另外的消息从第二终端传送到第一终端中的一个;使得第一终端能够通过参考存储介质来处理计算机可读令牌,以便关于相应线程中的基于文本的消息中的其他消息来恢复所引用的消息的上下文。
[0026]根据本发明的另一方面,提供了第二用户终端,包括:收发器,其用于连接到基于分组的网络;即时消息传递客户端应用;以及处理设备,其被布置成在第二终端上执行即时消息传递客户端应用以便通过基于分组的通信网络参与在用户终端之间的即时消息传递的一个或多个线程,每个线程包括在包括第二用户和第一用户终端的至少一个第一用户的选择的一组联系人的用户终端之间交换相应的多个基于文本的消息,其中基于文本的消息的数字记录被维护在数据存储介质中;其中所述即时消息传递客户端应用被配置以便当在处理设备上被执行时:生成包括先前已经通过基于分组的通信网络被传送并且存储在存储介质中的所述基于文本的消息中所引用一个的人类可读引文的所述基于文本的消息中的另外的一个;将计算机可读令牌插入到另外的消息中,所述计算机可读令牌标识所引用的消息;以及通过基于分组的通信网络将另外的消息从第二终端传送到第一终端中的一个;使得第一终端能够通过参考存储介质来处理计算机可读令牌,以便关于相应线程中的基于文本的消息中的其他消息来恢复所引用的消息的上下文。
[0027]根据本发明的另一方面,提供了在非暂时性计算机可读介质上体现并且包括代码的即时消息传递客户端应用,所述代码被配置以便当在第二终端上被执行时:通过基于分组的通信网络参与在用户终端之间的即时消息传递的一个或多个线程,每个线程包括在包括第二用户和第一用户终端的至少一个第一用户的选择的一组联系人的用户终端之间交换相应的多个基于文本的消息,其中基于文本的消息的数字记录被维护在数据存储介质中;生成包括先前已经通过基于分组的通信网络被传送并且存储在存储介质中的所述基于文本的消息中所引用的一个的人类可读引文的所述基于文本的消息中的另外的一个;并且将计算机可读令牌插入到另外的消息中,所述计算机可读令牌标识所引用的消息;以及通过基于分组的通信网络将另外的消息从第二终端传送到第一终端中的一个;使得第一终端能够通过参考存储介质来处理计算机可读令牌,以便关于相应线程中的基于文本的消息中的其他消息来恢复所引用的消息的上下文。
【专利附图】

【附图说明】
[0028]为了更好地理解本发明并且为了示出本发明可以如何被付诸实施,现通过示例对附图进行参考,在附图中:
图1是通信网络的示意表示,
图2是用户终端的示意框图,
图3a_3g提供了用户接口的示意图示,
图4是传送的消息的示意表示,以及 图5a-5b提供了用户接口的另外的示意图示。
【具体实施方式】
[0029]图1和2示意性地图示了基于分组的通信系统100,在这个情况下为通过诸如因特网102、104、108之类的基于分组的网络实现的即时消息传递系统。多个最终用户终端102和服务器104每个都被连接到示意性地表示为通信“云” 108的因特网的其余部分,所述通信“云”108包括用于在用户终端102和/或服务器104之间路由数据的分组的多个互联网路由节点。在用户终端102与云108之间的连接中的每一个都可以包括经由有线或无线调制解调器的链路,并且可以或者可以不经由诸如局域网或蜂窝网络运营商的基于分组的服务等之类的另一网络来做出。用于访问因特网的各种可能的布置的细节将为本领域的技术人员所熟悉。
[0030]为了实现即时消息传递系统以用于在联系人之间发送基于文本的消息,多个用户终端102中的每一个都安装有通信客户端应用222的相应实例,如图2中所示。通信客户端222可以在本文中被称为即时消息传递或IM客户端,但将理解的是,在实施例中IM客户端实际上还可以通过因特网提供许多附加的通信类型,诸如基于分组的语音或视频呼叫(例如VoIP)和/或文件传输。的确,从用户的角度来看语音或视频呼叫功能性实际上可以被认为是客户端的“主要”目的,而IM是附加的“辅助”特征,但因为这个应用涉及基于文本的消息传递,那么客户端222关于示例实施例为了方便可以被称为IM客户端,而不管它其他伴随的特征如何。
[0031]如图2中所示,用户终端102包括以一个或多个CPU的形式的处理设备200。处理设备200在操作上被耦合到多个装置:用于连接到因特网108的网络接口 202、诸如内部或外部硬盘驱动器和/或闪速存储器之类的非易失性存储介质204、以RAM 206的形式的易失性存储介质、诸如LED或LCD屏之类的显示器208、诸如能够接收文本输入的键盘或触摸屏系统之类的用户输入装置210、以及一个或多个其他输入和/或输出装置212。终端102安装有通信客户端222的实例,因为客户端222被存储在非易失性存储介质204中并且布置用于在处理设备200上执行(典型地在同样在处理设备200上运行的操作系统220的控制下)。客户端应用222包括I/O层224、客户端引擎层226以及客户端用户接口(UI)层228。
[0032]在操作中,出于通过因特网传送的目的I/O层224操纵用于对文本、语音和/或视频通信进行编码和解码的较低级别编解码器。客户端引擎226然后负责管理联系人的列表并且负责与在选择的联系人的其他用户终端102上运行的客户端应用222的实例建立通信信道。Π层228负责经由显示器208将屏幕上的用户接口输出给用户,包括IM聊天消息和屏幕上的控件。
[0033]图3a和3b给出了当显示给用户时由UI层228实现的客户端应用222的示例性用户接口的示意图示。用户接口可以包括许多窗口、面板或窗格302、304、306、308 (术语在本文中不旨在为过分限制性的,并且能够被互换地使用来提及用户接口的任何部分)。
[0034]例如,用户接口可以包括其中显示了本地用户的简档信息的第一简档面板302。这能够显示例如用户的实际名字或用户名(未必相同)、用户的简档图片或由用户选择来表示他或她自己的“化身图像”和/或给出由用户撰写来概括他的或她的当前状态的简短陈述的“;11、情消息”等。
[0035]用户接口还可以包括本地用户的联系人的列表被显示在其中的联系人面板304。联系人列表中的联系人是让他们自己相应的客户端应用222的实例安装在他们的相应终端102中的頂系统的其他远程用户。联系人列表被客户端引擎226管理,并且可以被要么在本地存储在在用户终端102自身处的存储介质204中要么更优选存储在IM系统提供商的服务器104x的存储介质上(即使用户登录到不同的终端102和/或客户端应用222的实例,将联系人列表存储在服务器104x处也有利地允许使联系人列表可用)。为了成为另一远程用户的联系人,本地用户必须要么(i)将远程用户然后选择接受的联系人请求发送到远程用户的客户端222,或者(ii)从远程用户接收本地用户选择接受的联系人请求。发送联系人请求包括请求用户向他的或她的本地客户端222指示所请求的其他用户的用户名或ID,并且客户端222然后在将用户名或ID映射到地址(例如在因特网的情况下IP地址)的查找表和数据库中查找用于另一个用户的终端102的网络地址,并且将请求发送到该地址。查找表可以实现在服务器104处和/或依据对等拓扑而被被实现为分布在用户自身的用户终端102之中的分布式数据库。接受过程还可能牵涉认证过程,例如包括通过服务器104的认证和/或用密码做标记的认证证书的交换,通过所述认证证书的交换,客户端222能够验证彼此的身份。每个客户端222中的客户端引擎226管理联系人请求的发送和接受。因此客户端222被配置成确保仅能够在已选择成为彼此的相互联系人的用户之间传导基于文本的IM类型消息(或实际上其他类型的通信)。
[0036]联系人面板304列举本地用户的联系人,并且还可以包括诸如靠近每个联系人的名字的存在信息之类的附加信息,例如指示用户是离线的(X)、在线的以及可用的(V ),或在线但已选择为不可用的(-)(优选地存在至少部分地由相应联系人他或她自己来定义)。
[0037]用户接口还可以包括联系人中的选择的一个或多个的简档信息被显示在其中的第二简档面板306。例如如果刚好一个联系人在左手边联系人面板304中被选择,则第二简档面板可以显示刚好那一个联系人(例如图3a中的Colin)的联系人信息。简档信息能够包括例如用户名、真实名字、简档或化身图片、心情消息、当前地理位置、时间、性别和/或出生日期等。另一方面,如果多个联系人选自左手边联系人面板304,则第二简档面板306可以针对多个选择的联系人(例如图3b中的Colin、Alan以及Jane)显示减少的简档信息。在一个实施例中多个联系人可以通过将他们从联系人面板304 “拖放”到第二简档面板306中而被选择。
[0038]此外,用户接口包括通信面板308。这至少包括用于与一个或多个选择的联系人交换IM类型聊天消息的消息窗口 314,以及可选地用于与一个或多个选择的联系人发起语音呼叫、视频呼叫和/或文件传输的附加的控件。
[0039]当用户希望发送頂消息时,他或她创建包括他或她自己和选自联系人面板304的一个或多个其他用户的一组参与者。发送用户然后将基于文本的消息键入到消息窗口 314中(消息窗口 314中的单独框可以被提供来用于这个目的),并且通过启动适合的控件(例如按下回车或者点击屏幕上的控件)来发送消息。发送终端102上的客户端222然后使用一个或多个其他接收者参与者的用户名在地址查找表(再次被实现在服务器和/或分布式P2P数据库处)中查找一个或多个对应的IP地址;并且然后在因特网上将消息发送到(一个或多个)接收终端102上的(一个或多个)客户端222。例如通过服务器和/或通过证书的交换,还可以在这个阶段施行认证的另一步骤。
[0040]客户端应用222的UI层228被配置成将相关消息级联在会话的线程中_也就是说,在消息窗口 314内将它们以时间顺序布置以便表示消息交换的逻辑链(优选地包括发送和接收的消息二者)。当线程延伸超过消息窗口的屏幕上的尺寸时消息窗口 314被优选地布置成为可滚动的。
[0041]线程优选地由在一组相同的联系人之中交换的消息来定义,这些联系人被称为线程的参与者;但是线程能够替换地或者附加地由诸如日期周期或指定主题之类的另外的一个或多个准则来定义。
[0042]每个线程的消息的数字记录由即时消息传递系统来维护。能够以许多方式实现这一点。在一个实施例中在线程中牵涉的每个客户端222例如在它自己的本地非易失性存储器中维护它自己的消息的本地记录,所述它自己的本地非易失性存储器诸如内部或外部硬盘驱动器或闪速存储器、或其他形式的本地磁或电子存储装置。替换地或附加地,客户端能够与服务器104共享它们发送或者接收的消息的细节以便能够在那里维护针对每个线程的记录。服务器104还能够维护所有消息业务的每个用户的记录,像本地存储装置会做的那样。服务器可以是頂系统提供商的服务器104x或第三方服务器104y。无论什么记录的手段,记录都包括消息的文本内容、消息被发送或者接收时所在的时间、线程的参与者的标识以及优选地线程的单独的标识符。在其中记录被至少部分地或者整个地维护在服务器处的情况下,能够根据标识符的全局系统来分配它们,以便线程在即时消息传递系统内能够被唯一地标识而不管它从哪个终端被访问。
[0043]如图3c中所示,用户接口可以进一步包括诸如布置在联系人面板304之上的选项卡310和312之类的控件,这些是联系人选项卡310和会话选项卡312。当会话选项卡312被用户选择时,会话面板305被显示来代替联系人面板304 ;并且反之亦然,如果联系人选项卡310被选择则联系人面板304被显示来代替会话面板305。
[0044]当被显示时,会话面板305示出了頂会话的最近线程的列表。当用户选择线程中的一个时,则这个线程的消息中的至少一些从存储介质204或104中的有关记录中被检索并且被显示在消息窗口 314中。检索到的消息被再次布置成它们表示的会话的线程的逻辑顺序。能够通过诸如在消息窗口 314—侧上的滚动条之类的用户接口中的适合控件来召唤例如由于屏幕上空间的缺少或简明考虑而未被立即检索和/或显示的任何消息。在Joe、Alan、Colin以及Jane之间的消息的线程的示例在图3c的消息窗口 314中被示出。
[0045]将领会的是,用户接口的许多其他变体是可能的,例如联系人面板304和会话面板305可以被同时地一起布置在屏幕上,或者可以对除选项卡310和312以外的不同控件是可选择的。
[0046]将即时消息传递与比方说电子邮件区分开的特征是当作为与先前接收到的消息相同的会话的逻辑链的一部分的新的消息被接收时,这些被在接收终端处的頂客户端一起级联到相同的线程中并且同样地显示在相同的窗口或面板(例如314)中。在实施例中,IM客户端还可以交换关于特定线程的参与者的当前活动的实时信息,例如指示远程参与者什么时候正在键入的键入指示器。
[0047]在基于web的论坛、博客或微博站点等等之上的区别是IM消息从发送者被传送以用于仅递送到特定、标识的、选择的各个参与者,而不是可被论坛的任何成员得到而不管消息发送者的意图如何。在IM线程中,该组参与者是彼此的所有联系人并且该组已被那些参与者中的一个特别地选择了。消息交换对于所选择的一组参与者而言是排他的。对于任何给定消息,参与线程的该组联系人中的一个是消息发送者并且该发送者标识该组的其他意中的接收者参与者(无论通过参考组的身份或者参考组的个体)。接收者的身份的指示在从发送者传送消息时被包含在该消息内(要么单个地标识参与者要么通过标识先前定义的组)。
[0048]并且在一些实施例中,不像电子邮件、web论坛或博客等,可以在没有中间服务器的情况下在从发送者终端102到一个或多个接收者的终端102之间直接地传送頂聊天消息;但是如果在特定线程中牵涉的联系人中的一个在消息被发送的时间离线,则一些系统还可以提供能够存储消息以供以后递送的服务器104。另外,IM系统的其他实施例可以是完全由服务器作为中介的,这在于即使接收者是在线的消息也总是经由服务器被传送。
[0049]根据本发明,通过在接收者终端处应用处理步骤以便处理引用先前消息的接收到的消息并且以便从而恢复所引用的消息的上下文来增强即时消息传递的功能性。在优选实施例中,这通过由传送终端插入到以后的消息中的机器可读令牌来促成。
[0050]现参考图3c_3g和图4对本发明的示例实施例进行描述。
[0051]在这里,Joe、Alan、Colin以及Jane是借助于即时消息传递系统传导的会话的当前线程中的参与者。图3c示出了 Joe的IM客户端应用222的实例当在他的用户终端102a上被执行时的用户接口,包括正被显示在消息窗口 314中的当前线程并且该线程被示出为在左手边会话面板305中被选择。消息将继续以与它们从本地用户(Joe)被传送到其他远程参与者和它们从那些其他远程参与者被接收的相同的时间顺序显示在消息窗口 314中,从而反映会话的逻辑链。如果线程对于所有消息来说变得太长而不能被同时地显示,则较旧的消息将滚动离开消息窗口 314的顶部同时最新的消息在底部进入,等等。
[0052]为了示例起见,比方说出现其中Jane为了其他参与者的利益希望检索先前消息(例如来自另一较早线程的消息)的引用语的情形。图3d示出了 Jane的IM客户端应用222的实例当在她的用户终端102c上被执行时的用户接口。Jane通过从会话面板305选择较早的线程来导航到它,并且因此召唤要从有关存储介质204或104中的记录中被检索并且显示在消息窗口 314中来代替当前线程的较早的线程。她然后可以滚动较早的线程以找到她希望引用的消息,并且例如通过用在所讨论的消息上的右击召唤短菜单来选择该消肩、O
[0053]转向图3e,Jane然后使用会话面板305导航回到当前线程并且将引用文粘贴到消息窗口 314中(可选地还包括她自己的一些新的文本,例如“他说过...”)。消息窗口 314的单独框可以可选地被提供用于键入和粘贴要传送的新的消息。注意在实施例中,引用文未必是确切的逐字的引文,而是替换地可能是诸如被截短的或缩写的引文之类的另一形式的引文。
[0054]当Jane启动包含引文的新近撰写的消息的发送时,頂客户端222依据即时消息传递的原理将其从她的终端102a传送到该线程的其他参与者的其他用户终端102a、102b、102d。将引用文粘贴到IM聊天消息中的能力确实已经存在于IM客户端中。然而,依据本发明的优选实施例,頂客户端还自动地将计算机可读令牌插入到消息中从而提供与引文有关的附加的控制信息。(注意可能存在隐私问题,因为一些接收者可能尚未对发动线程知情-解决这一点的可能的授权过程不久将被讨论。)
图4给出了根据本发明的优选实施例的如由客户端222针对传输所生成的IM消息400的示意表示。这包括消息的文本内容402、意中的接收者参与者的身份的指示403以及计算机可读令牌404。在没有令牌404的情况下,引文将仅仅与消息的任何其他文本内容402相同地存在。然而,令牌404提供了指示引文的细节的附加的计算机可读信息,其能够被接收者终端102a、102b以及102c解释。将在下文中进一步说明这一点。
[0055]图3f示出了在接收者Joe的终端102a处的客户端222的用户接口。来自Jane的新的消息的文本402新近出现在消息窗口 314的底部,同时较旧的消息从顶部消失离开。如果文本内容402或该内容的一部分在消息中作为引文被指示,则它能够被接收者客户端222以截然不同的格式显示在消息窗口 314中,例如缩进、用斜体字、下划线、突出显示和/或用单引号。
[0056]此外,在将引用文粘贴到頂聊天消息中的能力确实已经存在于頂客户端中的同时,本发明的增强的頂客户端对消息应用附加的处理步骤以便通过参考对于有关线程的存储记录来恢复所引用的引用文的上下文。在接收者终端102a上运行的客户端222处理消息以定位所引用的引用语关于它相应的线程的其他消息所存在的地方,并且自动地提供帮助恢复该上下文的手段。这个的示例由从图3f至3g的转变来图示。在图3f中引文作为能够被Joe (接收者用户)启动的屏幕上的控件(例如作为能够通过点击引文而被启动的超文本类型链接)被示出在Joe的消息窗口 314中的当前线程内。在所图示的其中引文是来自不同线程的消息的情况下,这种启动基于处理步骤导致客户端222切换到如图3g中所示出的所引用消息的线程。切换操作包括接收者终端102a上的客户端222从有关存储介质204和/或104中的记录中检索所引用的消息的线程的一个或多个其他消息(优选一个或多个相邻消息),以及以所引用的线程的逻辑顺序连同所引用的消息一起将它们显示在消息窗口 314中。
[0057]作为对将所引用的消息显示为能够被接收者用户直接地激活的控件的替换方案,所引用的消息的上下文的恢复可以替代地包括在用户接口内生成将用户导向现有控件的指示器。例如,参考图3f指示器可以在用户接口左边的会话面板305中突出显示所引用的消息的线程。接收者用户(Joe)然后能够通过选择会话面板305中的经突出显示的会话来召唤有关线程。
[0058]总之,在特别优选的实施例中由接收者客户端222应用以便施行这个恢复的处理由在新的消息400中包括的计算机可读令牌404来促进,所述新的消息400可以包括标识所引用的消息的线程和/或所引用的消息在它相应的线程内的位置的控制信息。在接收者终端102a上运行的客户端222然后能够用电子学方法解释令牌404,并且因此通过读取编码到令牌404中的位置来恢复上下文。然而,对于接收者终端102a上的客户端222来说用于处理所引用的消息的不太优选的选项将是搜索有关存储介质204和/或104中的记录以得到与所引用的消息的匹配,并且因此通过较“强力”的手段来定位它。
[0059]因此本发明有效地允许用户追踪即时消息传递客户端中的复制和粘贴操作,并且帮助一个接收者用户(或多个用户)在线程之间或者在给定线程内导航以便确定所引用的消息的上下文。
[0060]在创建从当前线程到所引用的线程的链接的情况下,在发送终端102c和/或接收者终端102a中的至少一个上的客户端222被优选地配置成应用授权过程来检查两个用户是否是两个线程的参与者。不是所引用的线程的参与者的用户不应该被允许从存储介质204或104恢复该线程的消息。在其中记录被存储在服务器104处的情况下,可以替换地或者附加地在服务器处应用授权。
[0061]本发明的另一示例在图5a和5b中被图示。在这个示例中,引文是在相同的线程内(例如在相同组的参与者之间)在较早的时间或日期被交换的消息。Jane已经以如关于图3d和3e所描述的类似方式但通过滚动回当前线程而不是在两个不同的线程之间导航来复制并且粘贴了消息。再者,当Jane与引文一起发送新的消息时,她的客户端应用222优选地插入指示所引用的消息在线程内的位置的计算机可读令牌104。
[0062]图5a示出了在接收者终端102a处的用户接口的示例。在这里,接收者客户端222可以生成诸如链接之类的屏幕上的控件,所述屏幕上的控件当被接收者用户(Joe)启动时自动地将当前线程滚动回到如图5b中所示出的较早的引用消息并且从而恢复上下文。这个操作包括接收者终端102a上的客户端222从有关存储介质204和/或104中的记录中检索来自当前线程的一个或多个其他消息,以及以所引用的线程的逻辑顺序连同所引用的消息一起将它们显示在消息窗口 314中。替换地或附加地,恢复过程可以包括在用户接口内生成将接收者用户导向现有控件的指示器,通过所述现有控件他能够导航回到所引用的消息,例如像图5a和5b中所示出的从引文引回所引用的消息自身的消息窗口 314内的虚线。
[0063]再者,总之恢复优选地由在新的消息400中包括的计算机可读令牌404来促进,所述新的消息400可以包括标识所引用的消息在它相应的线程内的位置的控制信息;但是不太优选的选项将是搜索用于与所引用的消息匹配的记录。
[0064]如上面所提到的那样,在另外的实施例中服务器104还能够维护所有消息业务的每个用户以及每个线程的记录。这将允许与对用户行为和/或来自用户的输入的分析有关的任何特征同样从服务器端被提供。
[0065]在又一个实施例中,当撰写消息时客户端222可以被配置成提供线程的自动检测。出于说明性的目的考虑起始情形是图3g,并且然后Jane Nobody撰写消息:“I’m notsure about the renormalisation; I think the infinities might be real!...(我对重正化不确定;我认为无穷可能是真实的!客户端222可以被配置成施行关键词匹配过程,例如应用考虑了匹配的唯一性、稀有度、频率和/或上下文等的启发法。在这个基础上客户端222能够例如基 于检测到术语“重正化”将这个消息标识为以相当高的置信度与Colin的有关。客户端222将被配置为使得当这种匹配发生时,它标识潜在的线程并且在用户接口(UI)中指示这个线程。Π可以被配置成然后自动地创建线程,除非用户拒绝了它(像移动电话上的自动完成特征那样),或者被配置成提示用户创建线程。还可以使用除径直的关键词匹配以外的技术-可以应用牵涉例如同义词或非专有名词的可能的其他启发法。
[0066]一般地并且可以使用基于语言学分析的启发法。例如,考虑在第一句子而不是第二句子中具有专有名词的两个连贯句子,或者同样将第一消息绑定到线程中的关键词只在第二个中匹配。例如在消息的序列中:Jane,“I’m not sure that will work (我不确定行得通)”;Frank,“Bobo the monkey is in the breakroom again (波波猴子又在休息室中)” ;Jane, “The renormalization is degenerate (重正化是退化的)”;启发式分析能够将Jane的陈述中的两者检测为以高置信度的某一线程的一部分。对于这种分析还可以应用其他语言学技术。
[0067]一旦线程被创建了,该特征就还能够使将消息添加到线程变得迅速且容易,而不用用户不得不做每个消息的操作。一些可能的途径是:使线程状态“粘着”在该会话中直到它被取消为止、针对该线程进行单独的虚拟会话、具有它自己的Π元件和/或提供临时的短标签来标识线程,诸如能够被迅速地键入的@1或#1。
[0068]在又一些实施例中,客户端222可以被配置成提供从当前聊天到其他聊天的链接的增强的可视化。例如,客户端222可以被配置成给用户提供链接聊天到当前聊天的列表或视觉映射。
[0069]将领会的是,已经仅通过示例的方式描述了上述实施例。本发明的范围不受所描述的实施例的限制,而是仅受所附权利要求的限制。
【权利要求】
1.一种操作第一用户的第一用户终端的方法,包括: 在所述第一终端上执行即时消息传递客户端应用以便通过基于分组的通信网络参与在用户终端之间的即时消息传递的一个或多个线程,每个线程包括在包括所述第一用户和至少一个第二用户的选择的一组联系人的用户终端之间交换相应的多个基于文本的消息,其中所述基于文本的消息的数字记录被维护在数据存储介质中; 通过所述基于分组的通信网络从所述第二终端中的一个接收所述基于文本的消息中的另外的一个或多个,所述一个或多个另外的消息每个都包括先前通过所述基于分组的通信网络被传送并且存储在所述存储介质中的所述基于文本消息中所引用一个的引文;以及 在所述第一终端处处理所述一个或多个另外的消息以便通过参考所述存储介质,关于相应线程中的所述基于文本的消息中的其他消息来恢复所引用的消息的上下文。
2.一种第一用户的第一用户终端,包括: 收发器,其用于连接到基于分组的网络; 即时消息传递客户端应用;以及 处理设备,其被布置成执行所述即时消息传递客户端应用以便通过所述基于分组的通信网络参与在用户终端之间的即时消息传递的一个或多个线程,每个线程包括在包括所述第一用户和至少一个第二用户的选择的一组联系人的用户终端之间交换相应的多个基于文本的消息,其中所述基于文本的消息的数字记录被维护在数据存储介质中; 其中所述收发器被布置成通过所述基于分组的通信网络从所述第二终端中的一个接收所述基于文本的消息中的另外的一个或多个,所述一个或多个另外的消息每个都包括先前通过所述基于分组的通信网络被传送并且存储在所述存储介质中的所述基于文本的消息中所引用的一个的引文;并且 所述即时消息传递客户端应用被配置,以便当在处理设备上被执行时,在所述第一终端处处理所述一个或多个另外的消息以便通过参考所述存储介质,关于所述相应线程中的所述基于文本的消息中的其他消息来恢复所引用的消息的上下文。
3.根据权利要求1或2所述的方法或第一用户终端,其中:所述另外的消息包括所引用的消息的人类可读引文和标识所述引用的消息的计算机可读令牌;并且 所述处理包括在所述第一终端处处理所述计算机可读令牌以便通过参考所述存储介质,关于所述相应线程中的所述基于文本的消息中的其他消息来恢复所述引用的消息的上下文。
4.根据权利要求1或2所述的方法或第一用户终端,其中所述上下文的恢复包括从所述存储介质中检索所述基于文本的消息的所述其他消息以供输出给所述第一终端的用户。
5.根据权利要求4所述的方法或第一用户终端,其中所述上下文的恢复包括生成用户可操作的链接,并且当所述链接被所述用户启动时,将所述其他基于文本的消息输出给所述用户并且在那些其他消息的上下文中将所引用的消息输出给所述用户。
6.根据权利要求5所述的方法或第一用户终端,其中: 所述第一终端被用来参与多个所述线程,并且所述另外的消息是与所引用的消息的线程不同的线程的一部分,所述链接当被启动时自动地操作所述第一终端以在所述线程之间切换;或者 所述另外的消息是与所述引用的消息的线程相同的线程的一部分,所述链接当被启动时自动地操作所述第一终端以将消息窗口向上滚动到所述引用的消息。
7.根据权利要求6所述的方法或第一用户终端,其中所述第一终端被用来参与多个所述线程,并且所述另外的消息是与所引用的消息的线程不同的线程的一部分,所述链接当被启动时自动地操作所述第一终端以在所述线程之间切换,所述方法或第一用户终端包括在所述第一终端处施行授权程序以确保所述切换以所述用户已成为所述引用的消息的线程的合法参与者为条件。
8.根据权利要求1或2所述的方法或第一用户终端,其中所述上下文的恢复包括生成将所述第一终端的用户导向用户控件的指示器,从而使得能够实现所述基于文本的消息的所述其他消息的检索和所引用的消息在所述其他基于文本的消息的上下文中的输出。
9.根据权利要求1或2所述的方法或第一用户终端,包括:通过所述基于分组的通信网络从所述第二终端中的一个接收所述基于文本的消息中的另外的一个或多个,所述一个或多个另外的消息每个都包括先前通过所述基于分组的通信网络被传送并且存储在所述存储介质中的所述基于文本的消息中所引用的一个的相应引文,所述一个或多个引文中的每一个都包括所述相应引用的消息的人类可读引文和标识所述相应引用的消息的计算机可读令牌; 基于所述机器可读令牌在所述第一终端处处理所述一个或多个另外的消息以便通过参考所述存储介质,关于所述相应线程中的所述基于文本的消息中的其他消息来恢复所述相应引用的消息的上下文;以及 基于所述机器可读令牌来生成所链接的线程的视觉映射。
10.一种在非暂时性计 算机可读介质上体现并且包括代码的即时消息传递客户端应用,所述代码被配置以便当在第一终端上被执行时施行权利要求1和3至9中任一项的步骤。
【文档编号】H04L12/58GK103733573SQ201280039850
【公开日】2014年4月16日 申请日期:2012年8月15日 优先权日:2011年8月15日
【发明者】D.麦唐纳 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1