书签 分享 收藏 举报 版权申诉 / 56

在基于对话的电子邮件系统中显示扩展的消息.pdf

  • 上传人:62****3
  • 文档编号:4616276
  • 上传时间:2018-10-22
  • 格式:PDF
  • 页数:56
  • 大小:1.86MB
  • 摘要
    申请专利号:

    CN201110416455.8

    申请日:

    2005.03.25

    公开号:

    CN102521734A

    公开日:

    2012.06.27

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    专利权人的姓名或者名称、地址的变更IPC(主分类):G06Q 10/10变更事项:专利权人变更前:谷歌股份有限公司变更后:谷歌有限责任公司变更事项:地址变更前:美国加利福尼亚州变更后:美国加利福尼亚州|||授权|||公开

    IPC分类号:

    G06Q10/10(2012.01)I

    主分类号:

    G06Q10/10

    申请人:

    谷歌股份有限公司

    发明人:

    保罗.T.布克海特; 张北为; 林景宜; 布赖恩.D.拉科夫斯基; 桑杰夫.辛

    地址:

    美国加利福尼亚州

    优先权:

    2004.03.31 US 10/816,428; 2004.08.06 US 10/914,035

    专利代理机构:

    北京市柳沈律师事务所 11105

    代理人:

    李琳

    PDF完整版下载: PDF下载
    内容摘要

    公开了处理消息的方法、客户机系统、以及服务器系统。该方法包括:在客户机计算机:从服务器接收与用户相关联的多个消息,每个消息具有唯一的消息标识符;其中,所述多个消息中的每一个与各自的对话相关联,每个对话具有各自的对话标识符,并且包括一个或多个相关消息的集合;在对话视图中显示与多个消息相关联的所选择的对话的内容,所述内容包括以压缩模式显示的一个或多个消息,其中,当以压缩模式显示各自的消息时,在所述对话视图中不显示各自的消息的消息体的至少一部分;以及当以压缩模式显示所述一个或多个消息时,通过在所述对话视图中显示与所选择的对话相关联的消息中的每一个的消息体,来响应检测到扩展-全部供给的选择。

    权利要求书

    1: 一种处理消息的方法, 包括 : 在客户机计算机 : 从服务器接收与用户相关联的多个消息, 每个消息具有唯一的消息标识符 ; 其中, 所述多个消息中的每一个与各自的对话相关联, 每个对话具有各自的对话标识 符, 并且包括一个或多个相关消息的集合 ; 在对话视图中显示与多个消息相关联的所选择的对话的内容, 所述内容包括以压缩模 式显示的一个或多个消息, 其中, 当以压缩模式显示各自的消息时, 在所述对话视图中不显 示各自的消息的消息体的至少一部分 ; 以及 当以压缩模式显示所述一个或多个消息时, 通过在所述对话视图中显示与所选择的对 话相关联的消息中的每一个的消息体, 来响应检测到扩展 - 全部供给的选择。
    2: 一种用于处理消息的方法, 包括 : 在具有一个或多个处理器和存储由所述一个或多个处理器执行的程序的存储器的计 算机系统 : 接收与用户相关联的多个消息, 每个消息具有唯一消息标识符 ; 将所述多个消息中的每一个与各自的对话相关联, 每个对话具有各自的对话标识符, 其中, 每个对话包括一个或多个相关消息的集合 ; 以及 格式化, 用于在客户机显示 : 对话视图包括与多个消息相关联的所选择的对话的内容, 所述内容包括以压缩模式显 示的一个或多个消息, 其中, 当以压缩模式显示各自的消息时, 在所述对话视图中不显示各 自的消息的消息体的至少一部分 ; 以及 对话视图包括与所选择的对话相关联的消息中的每一个的消息体, 用于当以压缩模式 显示所述一个或多个消息时响应于检测到扩展 - 全部供给的选择在所述客户机显示。
    3: 如权利要求 2 所述的方法, 还包括提供一个或多个子形式, 每个子形式对应于对话 中的各自的消息, 并且每个子形式具有两个显示模式, 包括压缩显示模式和扩展显示模式。
    4: 如权利要求 3 所述的方法, 其中, 对应于已经被观看或标记为由所述用户读取的消 息的子形式与所述压缩显示模式相关联, 而对应于没有被观看或标记为由所述用户读取的 消息的子形式与所述扩展显示模式相关联。
    5: 如权利要求 3 或 4 中任何一项所述的方法, 其中, 子形式包括简要消息头、 详细消息 头、 消息体、 以及重新指向控制装置的多个消息。
    6: 如权利要求 5 所述的方法, 其中, 所述简要消息头包括所述消息发送者的标识符和 主要消息接收者的标识符的列表。
    7: 如权利要求 5 所述的方法, 其中, 所述简要消息头包括所述消息发送者的标识符, 而 所述子形式包括来自相应的消息的文本的一部分。
    8: 如权利要求 6 所述的方法, 还包括当相关联的消息包括所述对话中的第一参与者 时, 由所述消息发送者或所述主要消息接收者识别所述消息发送者和所述主要消息接收者 中的任何一个。
    9: 如权利要求 6 所述的方法, 其中, 当相关联的消息包括所述对话中的第一参与者时, 由新的对话参与者突出显示所述新的对话参与者的标识符。
    10: 如权利要求 6 所述的方法, 还包括将作为所述消息发送者或所述主要消息接收者 2 之一的所述用户的标识符替换为预先定义的字符串或预先定义的图标。
    11: 如权利要求 10 所述的方法, 其中, 所述预先定义的字符串或预先定义的图标包括 特定语言的自参考标识符。
    12: 一种客户机系统, 包括 : 用于从服务器接收与用户相关联的多个消息的装置, 每个消息具有唯一消息标识符 ; 其中, 所述多个消息中的每一个与各自的对话相关联, 每个对话具有各自的对话标识 符, 并且包括一个或多个相关消息的集合 ; 用于在对话视图中显示与多个消息相关联的所选择的对话的内容的装置, 所述内容包 括以压缩模式显示的一个或多个消息, 其中, 当以压缩模式显示各自的消息时, 不在所述对 话视图中显示各自的消息的消息体的至少一部分 ; 以及 用于当以压缩模式显示所述一个或多个消息时, 通过在对话视图中显示与所选择的对 话相关联的消息中的每一个的消息体, 响应检测到扩展 - 全部供给的选择。
    13: 一种服务器系统, 包括 : 用于接收与用户相关联的多个消息的装置, 每个消息具有唯一消息标识符 ; 用于将所述多个消息中的每一个与各自的对话相关联的装置, 每个对话具有各自的对 话标识符, 其中, 每个对话包括一个或多个相关消息的集合 ; 以及 用于格式化的装置, 用于在客户机显示 : 包括与多个消息相关联的所选择的对话的内容的对话视图, 所述内容包括以压缩模式 显示的一个或多个消息, 其中, 当以压缩模式显示各自的消息时, 在所述对话视图中不显示 各自的消息的消息体的至少一部分 ; 以及 包括与所选择的对话相关联的消息中的每一个的消息体的对话视图, 用于当以压缩模 式显示所述一个或多个消息时, 响应于检测到扩展 - 全部供给的选择, 在客户机进行显示。
    14: 如权利要求 13 所述的系统, 其中, 所述格式化装置还包括用于提供一个或多个子 形式的装置, 每个子形式对应于对话中的各自的消息, 并且每个子形式具有两个显示模式, 包括压缩显示模式和扩展显示模式。
    15: 如权利要求 14 所述的系统, 其中, 对应于已经被观看或标记为由所述用户读取的 消息的子形式与所述压缩显示模式相关联, 而对应于没有被观看或标记为由所述用户读取 的消息的子形式与所述扩展显示模式相关联。

    说明书


    在基于对话的电子邮件系统中显示扩展的消息

        本申请是申请日为 2005 年 3 月 25 日、 申请号为 200580016413.8( 国际申请号为 PCT/US2005/010137)、 发明名称为 “在基于对话的电子邮件系统中显示对话” 的发明专利申 请的分案申请。
         技术领域 本发明总体上涉及客户机 - 服务器计算机网络系统领域, 具体地, 本发明涉及一 种允许用户以有效的和用户界面友好的方式管理大量消息的系统与方法。
         背景技术 为了工作和悠闲, 每天, 人们在计算机网络上发送和接收数以百万计的电子邮件 ( 也写为 “E-mail” )。在许多情况下, 由于方便、 容易使用以及近乎瞬间完成, 电子邮件已成 为人们交换信息的极为流行的通信渠道。
         传统上, 到达用户电子邮件账户的电子邮件消息以时间顺序由专用电子邮件客户 机或者在 Web 浏览器窗口中单独地显示, 例如, 最近的消息出现在浏览器窗口的顶部, 而最 旧的消息出现在浏览器窗口的底部。然而, 普遍的现象是, 在不同时刻, 由两个或两个以上 的人发送的多条消息可能覆盖相同的标题。一起查看消息, 将有助于用户按适当的上下文 理解各条消息。
         人们特别希望具有一种根据它们各自的主题来组织和显示多条消息的系统与方 法, 该多条消息包括由用户接收的消息和由用户发送的消息。人们还特别希望涉及相同标 题的所有消息和相同对话的形成部分被直观地显现, 使得用户能够有效地标识由具体发送 者所提交的具体消息, 以及使得用户相对于对话中的其它消息, 能够在上下文中知道该对 话中的这些消息。
         发明内容 在一个实施例中, 一种处理消息的方法, 接收导向用户的多条消息, 其中, 每条消 息具有唯一的消息标识符。 所述多条消息中的每一条消息与各自的对话相关联, 其中, 每一 对话具有各自的对话标识符。 而且, 每一对话包括一条或多条消息的集合, 其共享满足第一 预先定义准则的公共特征集合。 按第二预先定义准则所确定的次序, 作为行集合, 显示对话 的列表, 其中, 每行对应于所列对话的一个, 并且至少包括发送者列表、 对话标题以及日期 / 时间值。当用户从所显示的对话列表中选择对话时, 就显示对话的内容。
         根据本发明的一个方面, 提供一种处理消息的方法, 包括 : 在客户机计算机 : 从服 务器接收与用户相关联的多个消息, 每个消息具有唯一的消息标识符 ; 其中, 所述多个消息 中的每一个与各自的对话相关联, 每个对话具有各自的对话标识符, 并且包括一个或多个 相关消息的集合 ; 在对话视图中显示与多个消息相关联的所选择的对话的内容, 所述内容 包括以压缩模式显示的一个或多个消息, 其中, 当以压缩模式显示各自的消息时, 在所述对 话视图中不显示各自的消息的消息体的至少一部分 ; 以及当以压缩模式显示所述一个或
         多个消息时, 通过在所述对话视图中显示与所选择的对话相关联的消息中的每一个的消息 体, 来响应检测到扩展 - 全部供给的选择。
         根据本发明的另一个方面, 提供一种用于处理消息的方法, 包括 : 在具有一个或多 个处理器和存储由所述一个或多个处理器执行的程序的存储器的计算机系统 : 接收与用户 相关联的多个消息, 每个消息具有唯一消息标识符 ; 将所述多个消息中的每一个与各自的 对话相关联, 每个对话具有各自的对话标识符, 其中, 每个对话包括一个或多个相关消息的 集合 ; 以及格式化, 用于在客户机显示 : 对话视图包括与多个消息相关联的所选择的对话 的内容, 所述内容包括以压缩模式显示的一个或多个消息, 其中, 当以压缩模式显示各自的 消息时, 在所述对话视图中不显示各自的消息的消息体的至少一部分 ; 以及对话视图包括 与所选择的对话相关联的消息中的每一个的消息体, 用于当以压缩模式显示所述一个或多 个消息时响应于检测到扩展 - 全部供给的选择在所述客户机显示。
         根据本发明的另一个方面, 提供一种客户机系统, 包括 : 用于从服务器接收与用户 相关联的多个消息的装置, 每个消息具有唯一消息标识符 ; 其中, 所述多个消息中的每一个 与各自的对话相关联, 每个对话具有各自的对话标识符, 并且包括一个或多个相关消息的 集合 ; 用于在对话视图中显示与多个消息相关联的所选择的对话的内容的装置, 所述内容 包括以压缩模式显示的一个或多个消息, 其中, 当以压缩模式显示各自的消息时, 不在所述 对话视图中显示各自的消息的消息体的至少一部分 ; 以及用于当以压缩模式显示所述一 个或多个消息时, 通过在对话视图中显示与所选择的对话相关联的消息中的每一个的消息 体, 响应检测到扩展 - 全部供给的选择。 根据本发明的另一个方面, 提供一种服务器系统, 包括 : 用于接收与用户相关联的 多个消息的装置, 每个消息具有唯一消息标识符 ; 用于将所述多个消息中的每一个与各自 的对话相关联的装置, 每个对话具有各自的对话标识符, 其中, 每个对话包括一个或多个相 关消息的集合 ; 以及用于格式化的装置, 用于在客户机显示 : 包括与多个消息相关联的所 选择的对话的内容的对话视图, 所述内容包括以压缩模式显示的一个或多个消息, 其中, 当 以压缩模式显示各自的消息时, 在所述对话视图中不显示各自的消息的消息体的至少一部 分; 以及包括与所选择的对话相关联的消息中的每一个的消息体的对话视图, 用于当以压 缩模式显示所述一个或多个消息时, 响应于检测到扩展 - 全部供给的选择, 在客户机进行 显示。
         附图说明 为了更好地理解本发明的特性与实施例, 应结合下列附图, 参照以下各实施例的 描述, 其中, 在所有附图中, 相同的参照数字指向相同的部分。
         图 1 示意性地说明了根据本发明的基于客户机 - 服务器的网络系统的一个实施 例。
         图 2 是一个总流程图, 说明了对话助手如何生成用于显示由对话管理系统提供的 对话的各种表格。
         图 3A 是一个流程图, 说明了对话助手如何生成容纳对话列表的表格。
         图 3B 为根据本发明的一个实施例的 “收件箱” 范畴中的对话列表的示意性屏幕截 图 (screenshot)。
         图 4A 是一个流程图, 说明了 “更多动作” 下拉列表的操作。
         图 4B 为用户如何使用 “更多动作” 下拉列表把对话从一个范畴移至另一个范畴的 屏幕截图。
         图 5A 是一个流程图, 说明了 “添加标签” 下拉列表的操作。
         图 5B 为用户如何使用 “添加标签” 下拉列表向对话添加标签的屏幕截图。
         图 6A 是一个流程图, 描述了对话助手如何响应对话管理系统的显示指令生成对 话视图 (view)。
         图 6B 为根据本发明的一个实施例的对话视图的屏幕截图, 其中, 按压缩模式显示 所有的消息。
         图 6C 为根据本发明的一个实施例的对话视图的屏幕截图, 其中, 按压缩模式显示 某些消息, 并且按扩展模式显示某些消息。
         图 6D 为根据本发明的一个实施例的对话视图的屏幕截图, 其中, 按扩展模式显示 所有的消息。
         图 6E 为根据本发明的各种实施例的其中显示消息的对话视图的屏幕截图。
         图 7A 为一个流程图, 说明了对话助手如何生成用于显示匹配用户的搜索请求的 对话的各种表格。
         图 7B 为根据本发明的一个实施例的屏幕截图, 其包括与查询项 “Tahoe” 相匹配的 3 个对话。
         图 7C 为根据本发明的一个实施例的、 与查询项相匹配或不相匹配的对话中的消 息的屏幕截图, 而且其中按不同的模式对消息加以显示。
         图 8 为一个流程图, 说明了对话助手如何与用户交互, 以纠正所有可能错拼的单 词。
         图 9A 为包含由用户所编写的回答消息的对话的屏幕截图。
         图 9B 描述了处于拼写检查过程不同阶段的 3 个独立的浏览窗口的屏幕截图。
         图 10 描述了对话服务器的实施例。
         图 11 是一个流程图, 表示了处理所接收的消息的方法。
         图 12 是一个流程图, 表示了把消息匹配于对话的方法。
         图 13 是一个流程图, 表示了把属性赋予消息的方法。
         图 14 是一个流程图, 表示了把属性赋予对话的方法。
         图 15 是一个流程图, 表示了用于搜索对话并且生成所标识的对话的表示的方法。
         图 16 描述了消息数据库。
         图 17 描述了用户数据库和用于具体用户的索引。
         图 18 描述了一组数据结构, 用于标识对应于所接收消息的对话和用于确定与所 接收的消息相关的属性。
         图 19 描述了对话服务器的实施例。 具体实施方式
         本发明涉及用于组织和显示发送于用户以及由用户所发送的消息的客户机 - 服 务器系统与对应的方法。图 1 示意性地说明了客户机 - 服务器系统的一个实施例。该系统包括对话管理系 统 102、 通信网络 106 以及多个客户机 104。对话包括覆盖对话标题的一个或多个相关的消 息。 如以下描述的, 除对话标题外, 还可以使用附加的准则判断哪些消息为每一不同对话的 一部分。消息的发送者和接收者为对话的参与者。把所有导向对话管理系统 102 的用户的 所有消息编组为多个对话, 并且按基于对话的格式逐一或共同提交于用户。 以下, 将给出有 关对话管理系统 102 的实现的更详细的讨论。
         客户机 104 包括浏览器 108 和对话助手 110。浏览器 108 可以为具有用于显示对 话的浏览器窗口的通用 Internet 浏览器 ( 有时也称为 Web 浏览器 ), 其也可以为具有用于 显示对话的窗口的专用浏览器应用。 浏览器 108 使用超文本标记语言 (HTML) 或任何其它适 当翻译方法翻译对话和对话中的消息。在用户通过浏览器 108 向对话管理系统 102 提交了 用于存取存储在其个人账户中的消息的请求之后, 对话管理系统 102 根据用户的请求, 标 识用户的个人账户中的多个对话, 并且将它们以及一组显示指令传送回客户机 104。 作为响 应, 对话助手 110 生成一个或多个跟随显示指令的表格, 每一个表格包括某些对话的信息。 然后, 把表格提交于浏览器 108, 并且由浏览器 108 加以翻译。在另一个实施例中, 作为选 择, 对话助手 110 也可以存在于对话管理系统 102 中, 并且操作于对话管理系统 102 中。 图 2 是一个总流程图, 说明了对话助手 110 如何生成用于显示由对话管理系统 102 提供的对话的各种表格。在步骤 202, 在接收了多个对话和相关的显示指令之后, 在步骤 204 中, 对话助手 110 判断用户是请求了多个对话还是请求了单个对话。 如果用户要求多个 对话, 则在步骤 206, 对话助手 110 生成容纳对话列表的表格, 每一个对话占据表格中的一 行。针对表格中的每一行, 在步骤 208, 对话助手 110 还根据显示指令生成列集合以及将加 以显示的相关的特性。以下, 将结合图 3A 和 3B, 给出如何翻译这些列中的信息和相关的特 性的更多的细节。
         如果用户请求单个对话, 则对话助手 110 在步骤 210 生成用于容纳一系列与对话 相关的消息的不同的表格。在步骤 212 中, 对话助手 110 针对每一条跟随对应显示指令的 消息, 生成子表格和将显示的一组相关的特性。以下, 将结合 6A ~ 6D 给出对话助手如何翻 译这样的子表格和相关特性的更多的细节。
         在生成了用于容纳对话的列表或单个对话的表格之后, 在步骤 214, 对话助手 110 生成用于容纳一组系统定义的范畴的表格。可以把每一个系统定义的范畴与 0 或多个对话 相关联。在一个实施例中, 系统定义的范畴是这样的属性 : 响应用户动作或当满足预先定 义的准则时, 对话管理系统 102 选定对话。例如, 当用户把对话标记为删除, 但尚未采取永 久性地从用户的邮件账户中去除对话所需的步骤时, 该系统把 “废纸篓” 属性与该对话相关 联。更具体地讲, 如果需要的话, 对话管理系统 102 把属性 “废纸篓” 附接于对话, 并且从对 话中去除现存的属性, 例如 “收件箱” 。注意, 某些系统定义的范畴可能是互斥的。在另一个 例子中, 该系统可以自动地把 “收件箱” 属性和 “未被读取” 属性与新接收的流入消息相关 联。以下, 结合图 4A 和 4B, 给出对系统定义的范畴的更详细的讨论。
         接下来, 在步骤 216, 对话助手 110 生成容纳一组用户定义的标签的另一个表格。 图 3B 描述了其中显示了这一表格的编组框 347。可以把每一个用户定义的标签与 0 或多 个对话相关联。在一个实施例中, 用户定义的标签为可以将其与所指定的对话相关联的属 性。可以通过特定的用户动作或者通过过滤器或类似机构的操作, 确定用户定义的标签赋
         予它们的那些对话。 与系统定义的范畴不同, 由用户任意地定义这些标签, 而且它们是不互 斥的。换句话说, 可以同时把对话与多个标签相关联。例如, 在用户的个人账户中, 可能存 在两个标签 “购物列表” 和 “感恩节” 。可以由用户, 也可以由用户所建立的过滤器把标签 “购物列表” 赋予与购物相关的对话, 同时可以把标签 “感恩节” 赋予有关感恩节活动的对 话, 包括感恩节购物。由于用户定义了标签, 所以用户也可以删除这一标签。以下, 结合图 5A 和 5B, 给出了用户定义的标签的更详细的讨论。对于编组框 347, 当用户选择 ( 例如, 点 击 ) 了编组框 347 中的用户定义的标签时, 对话助手 110 把用于定位与该用户选择的标签 相关的对话的查询提交于对话管理系统。 然后, 执行这一查询, 并且向用户提交这样的对话 的列表, 即如果存在这样的对话的列表, 则向用户提交这一列表。
         对话管理系统 102 和对话助手 110 协同运作, 以允许用户搜索用户的邮件账户中 的消息, 并且允许以十分直观的方式提交搜索结果。对话管理系统 102 从用户的电子邮件 账户抽取信息, 或者处理由用户编写的消息, 同时, 对话助手 110 翻译由对话管理系统 102 所准备的信息。在其它实施例中, 可以使用在对话管理系统 102 和对话助手 110 之间的任 务的不同的划分。 由于可以通过对话管理系统 102 或对话助手 110, 也可以通过这两者的协 同运作, 实现该系统所执行的许多任务, 所以此处有时把这两个部件统称为 “对话系统” 。 在步骤 218, 对话系统 (102 和 / 或 110) 可以生成用于容纳由用户所提交的一组搜 索的表格, 以致用户可以重新访问 ( 或者更精确地说, 可以重新生成 ) 新近的搜索结果。以 下, 结合图 7A ~ 7C, 给出了基于搜索的对话列表生成的更详细的描述。 另外, 在步骤 220, 对 话系统还可以生成用于容纳由用户新近访问的一组对话的表格 ( 例如, 图 3B 的编组框 349 中所显示的表格 )。这一特性类似于 Web 浏览器的退回按钮。在步骤 222, 对话助手 110 把 这些表格提交于浏览器 108 用于显示。
         除按图 2 中所示的次序之外, 还可以以多种可能的次序执行步骤 214 ~ 220。 在某 些实施例中, 可以省略这些表格生成步骤中的某些步骤。
         生成对话列表
         现在, 参照图 3A, 例如, 响应用户或客户机对用户的邮件账户的收件箱视窗的请 求, 对话管理系统 102 生成对话列表 ( 步骤 302)。如以下将更详细加以解释的, 通过执行 对用户的邮件账户的搜索, 生成对话的列表。 为了生成针对收件箱视窗的对话的列表, 针对 与 “收件箱” 属性 ( 有时将其称为标签 ) 相关的对话, 搜索用户的邮件账户。然后, 在步骤 304, 对话管理系统 102 准备有关这些对话的信息, 以加以显示, 如以下将更详细加以描述 的。另外, 在步骤 305, 对话管理系统还生成用户可选择的动作的列表和用户可选择的标签 的列表。以下结合图 4 和 5 的讨论, 说明这些用户可选择列表的使用。然后, 在步骤 306, 把 所得结果信息发送于对话助手, 以加以翻译。
         在步骤 304, 对话管理系统 102 反复执行一系列步骤 ( 从步骤 306 至步骤 324), 以 生成一组字段用于对话列表中的每一对话。在某些实施例中, 可以按列由对话助手 110 翻 译这些字段, 以使得用户能够容易地扫描对话列表。
         对于每一对话和一组相关的消息, 对话管理系统 102 首先在步骤 307 生成发送者 列表。发送者列表包括多个发送者标识符, 每一个标识符对应于已创作了至少一条消息的 发送者。 可根据其教名、 姓、 全名、 电子邮件地址、 照片或唯一的图标, 或者它们的组合, 来标 识发送者。 在某些实施例中, 如果至少两个发送者具有相同的教名, 则把每一发送者的姓的
         足够的部分包含在相应的发送者标识符中, 以互相区别发送者。 例如, 如果两个发送者均具 有教名 Paul 和第一个字母不同的姓, 则可以使用 Paul 与姓的第一个字母的拼接 ( 例如, PaulB 和 PaulK) 来区别这两个发送者。本技术领域的普通技术人员将会意识到标识具有 相同教名的两个发送者的其它方式。在其它实施例中, 发送者的标识符可以基于与驻留在 用户联系列表中的特定发送者相关的信息。在又一些其它实施例中, 用户可以针对特定的 发送者, 创建出现在发送者列表中的昵称。 如果发送者已创作了对话中的多条消息, 则在发 送者列表中其标识符依然仅出现一次。在一个实施例中, 可以根据发送者标识符的相应消 息到达系统 102 的到达时间, 对列表中的发送者标识符进行排序。在另一个实施例中, 根据 发送者标识符的相应的名字, 按字母顺序对表中的发送者标识符进行排序。 接下来, 在步骤 308, 对话管理系统 102 根据显示指令, 对发送者列表进行格式化, 以突出显示列表中的一 个或多个发送者标识符。 此处, 对术语 “突出显示” 的使用, 意指按视觉上有区别的方式加以 显示, 例如按粗体、 加下划线、 改变背景颜色、 改变字体颜色、 改变字体等方式加以显示。另 外, 在这一上下文中, 术语 “突出显示” 意指以有区别的方式生成用于显示某些东西 ( 例如, 文本的所指定的部分 ) 的格式化信息。例如, 在某些实施例中, 如果用户尚未查看他的消息 或者尚未将他的消息标记为读取, 则对发送者的名字进行格式化, 以用粗体字符加以显示。 在某些实施例中, 对话助手接收对话的发送者列表和 / 或接收者列表中所列的一 个或多个人的照片, 并且具有对它们的存取权。当用户查看对话的列表或单一对话以及把 光标定位在发送者列表的名字或标识符上时, 显示该发送者的照片。 在某些实施例中, 当查 看对话时, 对于所列消息接收者, 提供了相同的功能。 对于由大型机构使用的电子邮件系统 来说, 这一特性可能是特别有用的。
         在某些实施例中, 如果用户本身已创作了对话中的至少一条消息, 则在步骤 310, 对话管理系统 102 用针对用户的、 作为发送者列表中他的标识符的唯一字符串、 或图标、 或 其它输出提示, 取代发送者列表中该用户的名字或其它标识符。唯一字符串的一种选择是 某一特定语言中的自我参照标识符。例如, 英语中的代词 “me( 我 )” 可用于表示发送者列 表中的该用户。因为许多人共享相同的教名, 所以与通过发送者列表中发送者的名字标识 发送者相比, 这一特性更为有用 ( 当然, 在可选的实施例中可以这样做 )。通过唯一的标识 符表示用户, 还有助于用户容易地标识那些其中用户已通过至少贡献一条消息主动参与的 对话。
         如果许多人都已向对话贡献了消息, 则发送者列表可能会变得过长, 以致不能适 应浏览器窗口中有限的空间。 如果通过发送者的电子邮件地址标识发送者列表中的一个或 多个发送者, 则情况尤其如此。如果情况如此, 则在步骤 312, 对话管理系统 102 根据各种 信息对发送者列表中的发送者进行优先化处理, 以标识在浏览器窗口中显示的发送者的子 集。在一个实施例中, 该子集至少包括对话中最后消息的发送者, 而且在可行的情况下, 还 可以包括尚未由用户加以查看或尚未由用户将其标记为读取的消息的发送者。 在另一个实 施例中, 该子集包括对话中第一所接收消息的发送者、 对话中最后所接收消息的发送者, 以 及根据优先化或打分方法所选择的 0 或多个更多发送者。在某些实施例中, 把较高的优先 级给予在时间上较晚到达的消息的发送者。 这种类型的优先化往往会增加将显示未被读取 消息的发送者的可能性。也可以使用其它类型的优先化方案。在某些实施例中, 当发送者 列表仅标识对话中的消息发送者的子集时, 发送者列表包括省略标记 “...” 或者其它表示
         发送者列表未满的符号。在某些实施例中, 在存在着一个以上的其消息尚未由用户加以查 看或尚未由用户将其标记为被读取的情况下, 该子集标识为可以与可用空间所允许的发送 者一样多。
         在步骤 314, 对话管理系统 102 针对对话创建消息数目指示符, 该消息数目指示符 指示对话中消息的数目, 不包括永久性删除的或被标识为将加以删除的消息。消息数目指 示符可以为一对括号中的数字, 例如, “(3)” 表示对话中存在 3 条消息。在某些实施例中, 当 对话仅包括一条消息时, 不为该对话生成消息数目。消息数目指示符也可以为图标。图标 可以为彩色编码的, 以提供额外的信息, 例如, 以表示对话中的多少条消息仍未被读取 ( 即 尚未被查看或将其标记为被读取的 )。接下来, 在步骤 316, 对话管理系统 102 为被处理的 对话生成对话标题。 通常, 对话标题为对话中第一条消息的主题, 或者如果其超过预先定义 的长度, 则为该题目的截断的版本。 在另一个实施例中, 通过试探性地检查第一条消息的内 容确定对话标题, 或者作为选择, 也可不仅仅检查第一条消息。在一个实施例中, 如果对话 至少包括一条具有 “未被读取的” 属性的消息, 则在浏览器窗口中既突出显示消息数目标识 符, 也突出显示对话标题, 以引起用户的注意。 在另一个实施例中, 仅突出显示对话标题, 以 指示一个或多个未被读取的消息。
         根据已建立的电子邮件标准, 可以把消息发送于至少 3 种类型的接收者, 一个主 要类接收者, 在 “To:” 字段中列出了其地址 ; 两个次要类接收者, 在 “Cc:” 字段中或者在 “Bcc:” 字段中列出了它们的地址。因此, 对话管理系统 102 在步骤 318 创建了针对该用户 的接收者状态指示符, 接收者状态指示符为对话中用户参与性的另一个指示符。在一个实 施例中, 使用第一有区别的指示符, 例如 “>>” , 标记其中用户为任何消息的主接收者的对 话, 使用第二有区别的指示符, 例如 “>” , 标记其中用户为至少一条消息的次接收者而且不 是任何消息的主接收者的对话, 以及其中未明确把用户列为任何消息的接收者的对话 ( 例 如, 因为把消息被发送于编组或邮寄列表 ) 不接收特殊标记。在其它实施例中, 可以按其它 视觉上有区别的方式, 例如通过突出显示代表这些对话的一个或多个部分行, 表示其中用 户为至少一条消息的主接收者的对话以及其中用户仅为次接收者的对话。 在另一个实施例 中, 使用第一有区别的指示符, 例如 “>>” , 标记其中用户为至少一条消息的唯一主接收者 的对话, 使用第二有区别的指示符, 例如 “>” , 标记其中把至少一条消息直接发送于用户的 电子邮件地址而不是邮寄列表的对话, 以及其中未明确把用户列为任何消息的接收者的对 话 ( 例如, 因为把消息被发送于组或邮寄列表 ) 不接收特殊标记。
         在某些实施例中, 对话管理系统 102 在步骤 320 创建对话的摘录。这一摘录向用 户提供了对话的内容的预览, 而用户不必打开对话。 在一个实施例中, 根据对话中最近的消 息生成摘录。在另一个实施例中, 从对话中的第一条消息 ( 即最旧的消息 ) 抽取摘录。在 又一个实施例中, 根据预先定义的试探性规则, 例如列出对话中最频繁出现的一组关键字, 从对话中的所有消息中抽取摘录。如果对话管理系统 102 响应于用户所提交的搜索而正在 准备对话列表, 则其在步骤 322 创建摘录, 该摘录包括与用户所提交的查询项目相匹配的 突出显示部分, 在一个或多个方面, 这类似于包括诸如 Google 搜索引擎的搜索引擎所返回 的搜索结果的摘录。
         最后, 在步骤 324, 对话管理系统 102 标识对话的日期 / 时间值。这一日期 / 时间 值通常规定了浏览器窗口中对话的列表的显示次序。在某些实施例中, 向对话的列表中的每一对话赋予等于与用于生成该对话列表的搜索准则相匹配的最新消息的日期 / 时间的 日期 / 时间。例如, 如果使用了用户指定的搜索查询 ( 例如, “Tahoe 湖” ), 则对于对话的列 表中的每一匹配对话, 所赋予的日期 / 时间为与用户指定的搜索查询相匹配的最新消息的 日期 / 时间。在另一个例子中, 如果搜索准则为 “收件箱” ( 即, 具有至少一条赋予了收件箱 标签的消息的对话 ), 则赋予对话列表中的每一对话的日期 / 时间为与收件箱标签相关的 最新消息的日期 / 时间。在某些实施例中, 按它们的所赋予的日期 / 时间值的相反的时间 次序列出对话列表中的对话 ( 即, 首先列出最近的对话 )。如此处所使用的, “日期 / 时间” 值指的是与某一具体消息相关的日期值和 / 或时间值。可以根据消息的创建、 传输、 接收或 其它事件的日期和 / 或时间, 把日期和 / 或时间与消息相关联。
         在其它实施例中, 可以使用其它方法或准则把日期 / 时间赋予对话列表中的每一 对话, 也可以使用其它方法, 根据对话的日期 / 时间值来排序这些对话。例如, 在某些实施 例中, 当使用先进的搜索查询工具时, 给予用户对那些其日期 / 时间落入指定时间窗口的 ( 以及如果存在其它用户指定的搜索要求就满足这些要求的 ) 对话进行搜索的选项。根据 用户指定的目标日期或目标日期 / 时间和列表中每一对话的日期 / 时间之间的时间长度, 列出对话的所得到的列表。因此, 可以在目标日期或日期 / 时间之前和之后把对话插入对 话的所得到的列表中。 图 3B 为根据本发明的一个实施例的 “收件箱” 范畴中的对话列表的示意性屏幕截 图。在该屏幕截图的左上角, 有 “编写邮件” 链路 340。用户点击这一链路, 开始写新消息。 与链路 340 相邻, 有文本框 341 以及 “搜索邮件” 按钮 342。在用户通过文本框 341 提交了 一个或多个查询项目和接下来点击 “搜索邮件” 按钮 342 之后, 系统生成与查询项目相匹配 的新显示列表对话。 在某些实施例中, 由于存在相应查询项目的一个或多个同义语, 所以可 能出现匹配。在某些实施例中, 根据相应查询项目的根, 可能出现匹配。例如, 对于 “book” 的搜索, 可能为单词 “book” 、 “books” 、 以及 “booking” 加以匹配。有关详细的情况, 请参照 图 7A 和 7B。与按钮 342 相邻的是两个下拉列表 : “更多动作” 列表 344 和 “添加标签” 列表 345。关于这两个下拉列表的更详细的情况, 请分别参照图 4 和 5。在 “编写邮件” 链路 340 的正下方, 有一系列编组框, 每一个框对应于图 2 中步骤 214 ~ 220 之一所生成的表格。例 如, 编组框 346 显示系统定义的范畴, 包括 “收件箱” 、 “加星号的” 、 “发送邮件” 、 “草稿” 、 “全 部邮件” 、 “垃圾邮件” 以及 “废纸篓” 等。在其它实施例中, 所述系统定义的范畴集合可以不 同, 其包括这些范畴和 / 或附加范畴的子集。在某些实施例中, “加星号的” 范畴包括其中用 户计划主动涉及 ( 例如, 通过向其它参与者发送消息 ) 的对话, 这类似于 “To Do” 列表。因 此, 在一个实施例中, 可以使用星号标志消息, 使得用户可以例如搜索加星号的消息。在一 个实施例中, “全部邮件” 范畴包括未处于 “垃圾邮件” 或 “废纸篓” 范畴中的所有对话。注 意, 由于当前的屏幕截图仅显示了属于 “收件箱” 范畴的对话, 所以突出显示了编组框 346 中的对应链路。
         图 3B 中的示意性的屏幕截图的主要区域是包括对话的列表 360 的表格, 每一个 对话占据该表格中的一行。每一行还包括检查框 362、 发送者列表 364、 接收者状态指示符 366、 对话标题和摘录 368 以及日期 / 时间值 369。在其它实施例中, 针对每一对话行的字 段的集合可以不同, 包括这些字段和 / 或附加字段的子集。在某些实施例中, 当显示对话的 列表时, 所有行具有统一的高度。在其它实施例中, 高度可为可变的, 以接纳不同的摘录长
         度。如果用户决定把对应的对话从一个系统定义的范畴 ( 例如, “收件箱” ) 移至另一个系 统定义的范畴 ( 例如, “废纸篓” ), 或者如果用户决定向对应的对话附接用户定义的标签, 则由用户检查检查框 362。以上已经结合图 3A 给出了所述表格中的其它列或字段的定义。 注意, 在第一对话中存在两条消息, 并且已在第一行中突出显示了发送者 S2, 这意味着还尚 未读取 S2 所发送的消息或者尚未将其标记为被读取的。相比之下, 第二对话包括全部已被 读取或已被标记为被读取的 4 条消息, 因此, 在第二行中没有突出显示任何东西。在某些实 施例中, 提供了用于加星号状态的视觉指示符。 如果对话中的任何消息具有加星号的状态, 则 “收件箱” 将提供指示对话至少包含一条加星号的消息的视觉指示符。
         在一个实施例中, 尽管尚未描述, 但图 3B 所代表的浏览器窗口还包括持续显示的 消息编写区域、 相关寻址和主题字段、 以及通常与允许编写和发送消息的表格相关联的其 它选项和字段。例如, 把这样的区域显示在对话的列表 360 之下。因此, 在一个实施例中, 在单一用户接口 ( 例如, 浏览器窗口 ) 中, 用户可具有查看对话列表的选项, 并且还可编写 新消息, 而无需要求打开新窗口 ( 例如, 消息编写窗口 ), 并且无需从当前浏览器窗口去除 对话的列表。
         图 4A 是一个流程图, 说明了 “更多动作” 下拉列表 344 的操作。在用户点击了该 下拉列表之后, 在步骤 402, 浏览器显示系统定义动作的列表。在步骤 404, 用户在下拉列表 中选择具体的动作以及对话列表中的至少一个对话。然后, 在步骤 406, 浏览器把用户选择 的对话与用户选择的动作相关联, 并且在步骤 408 把它们返回于对话管理系统, 以进一步 加以处理。 在步骤 410, 如果用户选择的动作导致用户选择的对话从先前所显示的对话列表 中被去除, 则对话助手从对话管理系统接收新的对话的列表, 而且对话助手在浏览器中显 示对话的新列表。 参照图 4B, 图 4B 描述了当用户检查第二对话的检查框 413、 点击了 “更多动作” 下 拉列表、 以及选择了项目 “垃圾邮件” 415 时所产生的从图 3B 的示意性屏幕截图的变化。结 果, 将从 “收件箱” 范畴去除第二对话, 而且 “垃圾邮件” 范畴将具有新的成员。注意, 下拉 列表中的某些动作, 例如 “忽视” 和 “瞌睡” 不具有对应的范畴。 “忽视” 和 “瞌睡” 均对应于 “全部邮件” 范畴。具体地讲, 当用户检查对话的检查框, 然后点击 “忽视” 项目时, 将把对 话传送至 “全部邮件” 范畴。如果与 “忽视” 对话相关的任何新的消息到达, 则系统仍把这 一新的消息与该对话相关联, 但并不自动地把该对话带回用户的注意范围。 然而, 用户可以 停止对对话的忽视, 并且可通过访问 “全部邮件” 范畴、 检查所忽视的对话的检查框、 然后选 择相应 “更多动作” 下拉列表中的 “收件箱” 项目, 将其带回到 “收件箱” 范畴。如这一例子 所示, 不同范畴的下拉列表可以具有不同的动作项目集合。 “瞌睡” 动作项目允许用户通过 设置触发条件暂时忽视对话, 所述触发条件可以为时间驱动的, 例如, 对话应该从 “收件箱” 范畴消失一段时间 ( 例如, 一小时、 一天、 一星期等 ), 然后自动地返回, 或者由事件驱动, 例 如, 对话不应返回到 “收件箱” 范畴, 直至未检查的消息的数目已达到预先确定的极限、 或者 特定的人已向对话贡献了消息、 接收到把用户指定为主接收者的消息、 或者所接收的消息 包含特定的单词或短语。 本技术领域中的普通技术人员将会意识到也可以使用的其它触发 条件。
         范畴化对话
         图 5A 是一个流程图, 说明了 “添加标签” 下拉列表 345 的操作。在用户点击了该
         下拉列表之后, 在步骤 502, 浏览器显示用户定义标签的列表, 以供该用户加以选择。 在步骤 504, 用户选择下拉列表中的具体标签和对话列表中的至少一个对话。然后, 在步骤 506, 浏 览器把用户选择的对话与用户选择的标签相关联, 并且在步骤 508 把它们发送回对话管理 系统, 以进一步地加以处理。结果, 与用户选择的标签相关的对话的列表将包括与步骤 506 中的那一标签相关的对话。 如以下更详细描述的, 当把标签或属性与对话相关联时, 把一个 或多个条目添加于索引 1710( 图 17, 18), 以使载有该标签的对话的搜索能够得以定位。在 某些实施例中, 也把该标签或属性添加于对话数据库 1808 中的一个或多个条目 ( 图 18)。 在某些实施例中, 当用户查看对话时, 显示与该对话相关的标签。在某些实施例中, 在针对 列表中每一对话所提供的信息行中显示与对话的列表中的每一对话相关的标签。
         图 5B 是一个示意性的屏幕截图, 描述了当用户检查第二对话的检查框 512、 然后 点击 “添加标签” 下拉列表、 并且选择了项目 “标签 2” 514 时所产生的浏览器窗口。( 注意, “标签 2” 代表了用户指定的标签名 )。这将导致把 “标签 2” 与所检查的对话相关联。因 此, 可以把所检查的对话包括在响应于对与 “标签 2” 相关的消息的查询所产生的搜索结果 中。 在某些实施例中, 把与对话的列表中的每一对话相关的标签显示在表格的对应的行中, 于是, “标签 2” 将会被显示在对应于步骤 506 中与 “标签 2” 相关的对话的行中。当然, 本技 术领域中的普通技术人员将会意识到, 用户可以输入定制化的标签名和 / 或系统可以提供 预先定义的标签。 查看对话
         图 6A 是一个流程图, 描述了对话助手如何响应对话管理系统的显示指令生成对 话视图。 在某些实施例中, 在把对话信息发送于客户机中的对话助手之前, 由对话管理系统 执行图 6A 中所示的某些动作, 例如, 用于对要显示的对话信息进行格式化的动作。
         在步骤 602, 对话助手首先接收一系列属于具体对话的消息, 以及一组相关的显示 指令。在步骤 604, 对话助手标识对话的标题, 以及与对话相关的任何系统定义的范畴和用 户定义的标签。根据这些范畴和标签, 对话分别生成用户可选择的动作的列表和用户可选 择的标签的列表。这两个列表类似于图 3B 中所示的两个下拉列表 344 和 345。在一个实施 例中, 用户可选择的动作的列表仅包括适用于具体对话 ( 即, 将要显示的对话 ) 的动作。因 此, 不能再次把已经处于 “废纸篓” 范畴的对话与 “废纸篓” 范畴相关联。出于同样的原因, 用户可选择的标签的列表仅包括尚未与具体对话相关联的标签。
         从步骤 608 开始, 对话助手为对话中的各条消息分别生成子表格, 该子表格至少 包括详细消息报头和消息体。 如此处所使用的, 消息体指的是用户所创建的消息, 包括主题 参照, 不包括通过消息处理软件添加于消息的任何系统信息。每一个详细消息报头包括发 送者的名字和 / 或地址以及所有主与次接收者、 消息的主题、 一组消息级的动作、 以及日期 / 时间值。 消息级的动作之一包括按消息的原始格式查看消息的选项, 其包括路由信息以及 其它消息系统提供的信息, 例如 “我的版本 : ” 、 “内容类型” 等。在步骤 610, 对话助手还根 据详细消息报头创建简要消息报头。简要消息报头包括发送者和接收者的标识符。在某些 实施例中, 把接收者从简要消息报头中排除。如果用户处于接收者列表中, 则在步骤 610, 对话助手把唯一的字符串或图标用作用户的标识符, 这类似于发送者列表中的用户的标识 符。例如, 可以把英语中的代词 “me( 我 )” 用于表示简要消息报头中的用户。如果消息为 标识这一对话中的具体接收者的第一条消息 ( 即, 消息报头的主或次接收者字段中的 ), 则
         对话助手将在步骤 614 在简要消息报头中突出显示接收者的标识符。另一方面, 在某些实 施例中, 当不再包括先前包括在接收者的列表中的接收者时, 对话助手将按视觉上有区别 的方式, 例如按 “叠影” 字体, 显示该接收者的标识符。在其它实施例中, 简要消息报头包括 发送者标识符、 消息部分、 以及消息的日期 / 时间表示。
         接下来, 在步骤 616, 对话代理决定如何显示子表格。如果与子表格相关的消息尚 未由用户加以查看或尚未由用户将其标记为被读取的, 则在步骤 618 按扩展的模式显示子 表格, 即, 既显示简要消息报头, 也显示完整的消息体。如果消息已被查看或将其标记为被 读取的, 则在步骤 620, 以压缩的模式默认地显示子表格, 仅包括简要消息报头和消息体的 一部分 ( 例如, 消息的前几行 )。接下来, 用户可以通过点击所压缩的子表格来对其加以扩 展。相类似, 子表格不描述详细消息报头, 但包括供用户选择的选项, 即如果用户希望查看 详细消息报头, 则在步骤 622 选择这一选项。 最后, 在步骤 624, 对话助手在子表格的底部创 建一组回答选项, 例如 “回答” 、 “回答所有人” 以及 “转发” 。在某些实施例中, 针对对话中的 每一消息执行以上所描述的动作的子集。在某些实施例中, 执行一个或多个附加的格式化 动作。
         图 6B 为根据本发明的一个实施例的图 3B 中的第二对话的示意性屏幕截图。这一 屏幕截图的顶部和左部与图 3B 的顶部和左部相同。 但对话的列表 360 已由消息的列表 640 取代。在消息的列表的顶部, 是对话的标题 “标题 2” 630、 与对话相关的所有用户定义的标 签 632、 以及 “扩展所有消息” 按钮 634。由于用户已经查看了这 4 条消息, 并且把它们标记 为被读取的, 所以按压缩的模式显示列表中的头 3 条消息, 并且按扩展的模式显示最后 ( 和 最新 ) 的消息。在某些实施例中, 当不存在未被读取的消息 ( 即, 尚未由用户加以查看或尚 未由用户将它们标记为被读取的 ) 时, 也可以按扩展的模式显示已经被标记为加星号的对 话中的消息。这提供了把对话中的所有消息聚集在一起的视觉效果。每一个压缩的子表格 显示简要消息报头 641 和诸如消息体的前几个单词的摘录 643。 在某些实施例中, 以彩色标 识简要消息报头中的发送者, 使得可以按不同的颜色提交每一发送者的文本表示。这有助 于在所显示的对话中对发送者加以区别。 在某些实施例中, 由系统生成颜色, 直到系统用尽 了与发送者相关的颜色为止。 在某些实施例中, 把颜色与每一对话相关联, 以致同一发送者 可以具有与其相关的不同的颜色, 其取决于所显示的对话。注意, 在简要消息报头 641 中突 出显示了所有的接收者, 因为这是对话的第一条消息。 相比之下, 仅在第二压缩的子表格中 仅仅突出显示一个标识符 “S1” , 因为这是其中 S1 为对话中的参与者的第一条消息。扩展 的子表格包括完整的消息体 645、 当选择时将导致详细消息报头得以显示的 “更多选项” 链 路 647、 以及回答选项 649 的列表。由于 S4 发送了最后的消息, 所以回答选项之一为 “回答 S4” , 其提醒用户 : 将对 S4 进行回答。
         在某些实施例中, 当对话中的消息的数目超过阈值 ( 例如, 8 或 10 条消息 ), 以及 将按压缩的子表格显示该对话中的多条连续的消息 ( 例如, 从对话的收件箱列表所选择的 对话中标记为被读取的消息 ) 时, 按不包括文本的第二压缩的子表格显示这些消息, 从而 无发送者列表, 而且无摘录。 取而代之, 第二压缩的子表格以小线条表示这些消息中的每一 消息。视觉效果是, 这些子表格就像叠卡片中的卡片的边缘一样加以显现。在某些实施例 中, 永远不按第二压缩的子表格显示对话中的第一和最后的消息, 而且更一般地, 也不按第 二压缩的子表格表示某些消息, 例如那些具有 “加星号” 标签的消息。第二压缩的子表格的使用有助于对具有大量消息的对话的查看。 该方法可用于表示与用户指定的搜索查询相匹 配的对话中的消息, 其中对话具有大于阈值数目的消息。 在这一情况下, 由第二压缩的子表 格所表示的消息为不与搜索查询相匹配的连续消息组。
         图 6C 是类似于图 6B 中所示意性屏幕截图的示意性屏幕截图, 所不同的是 (1) 在 用户点击了第一子表格 650 之后, 按扩展模式显示该子表格, (2) 最后子表格包括详细消息 报头 660, 以及 (3) 在用户点击了 “回答 S4” 链路之后, 把消息回答表格 670 附接于最后子表 格。在一个实施例中, 当用户正在查看对话的内容时, 可以持续地显示用于对某一消息 ( 例 如, 最后消息 ) 进行回答的文本框, 即与该消息相关联地显示这一文本框。换句话说, 显示 消息回答表格 670, 而且与其相关的回答文本框可为用户加以存取, 而不要求用户点击 “回 答 S4” 链路。在其它实施例中, 可以针对对话中的所有消息, 或者针对所有按扩展模式所显 示的消息, 持久地显示消息回答表格。
         在结构上, 第一扩展的子表格 650 与图 6B 中所示的最后子表格相同。其包括简要 消息报头、 “更多选项” 链路、 消息体以及一组处于子表格底部的回答选项。除了消息发送者 和接收者的电子邮件地址或其它标识符之外, 详细消息报头 660 还包括用户可以采取的动 作的列表。例如, “把这一消息放入废纸篓” 动作 661 允许用户把消息从对话中去除。作为 默认形式, 消息回答表格 670 仅把 S4 的地址包括在 “至 : ” 字段中, 因为用户正在对其进行 回答的消息的发送者为 S4。 然而, 如果用户希望把回答消息发送给更多的接收者, 则消息回 答表格还向用户提供附加的选项 ( 例如, “添加 Cc” , “添加 Bcc” )。消息回答表格 670 还允 许用户编辑原始消息的主题和把文档附接于回答消息。
         图 6D 为用户点击了 “扩展全部消息” 按钮 634 之后图 6B 中所示对话的示意性的 屏幕截图。结果, 按扩展模式显示所有 4 条消息 608。注意, 按钮 634 中的文本改变为 “压 缩全部消息” 。在用户再次点击了按钮 634 之后, 对话的显示返回到图 6B 中所示的格式。
         图 6E 是说明了先前所描述的某些特性的对话的示意性的屏幕截图。具体地讲, 图 6E 说明了在 682 处当对话中消息的数目超过了阈值时所使用的第二压缩子表格的例子。 尽 管用户不能够看到这些消息的任何报头信息, 但用户仍可以看到在该第二压缩的子表格中 有多少条消息。在某些实施例中, 在描述了如简要消息报头 684 和 686 中所说明的简要消 息报头的压缩子表格中, 描述了第二压缩子表格中的消息的两端上的消息。在某些实施例 中, 以及如图 6E 中所示, 简要消息报头包括发送者、 消息部分、 以及消息的日期 / 时间值, 而 未描述消息的其它接收者。可以在消息 688 处看到 “加星号” 的特性的例子。消息 688 中 的星号不同于其它消息在于其星号被填写了, 其表示这一消息具有加星号的状态, 而其它 消息不具有这样的状态。 当然, 可以使用任何提供了有区别的状态的视觉指示符, 而且这一 概念不局限于 “星号” , 以及是否 “填写” 了星号。如以上所描述的, 在一个实施例中, 当显示 了对话, 而且不存在未被读取的消息 ( 如图 6E 中所示 ) 时, 按扩展模式显示具有加星号状 态的消息。 在另一个实施例中, 如果存在尚未被读取的或尚未被查看的消息, 则将按压缩的 子表格但不是按第二压缩的子表格显示加星号的消息 688, 例如 682 处的那些消息。 其它实 施例预计了不同的排列, 例如总是按扩展模式看到加星号的消息, 而不管是否存在任何尚 未被读取或尚未被查看的消息。
         使用查询定位、 列表以及显示对话
         如以上所提到的, 用户可以搜索与用户指定的查询相匹配的对话。对话管理系统102 和对话助手 110 协同运作, 以生成对应于查询的搜索结果, 并且按十分直观的方式把结 果提交于用户。图 7A 是一个流程图, 说明了对话助手 110 如何生成用于显示与用户的搜索 请求相匹配的对话的各种表格。在某些实施例中, 在向客户机中的对话助手发送对话信息 之前, 由对话管理系统执行图 7A 中所示的某些动作, 例如用于对将要显示的对话信息进行 格式化的动作。
         在步骤 702, 对话助手 110 从对话管理系统 102 接收代表多个与搜索查询 ( 其可以 包括一个或多个查询项目 ) 相匹配的对话的信息以及相关的显示指令。 在步骤 704, 对话助 手 110 生成用于容纳对话列表的表格, 每一个对话占据该表格中的一行。对于该表格中的 每一行, 在步骤 706, 对话助手 110 还生成包含匹配查询项目的摘录。 在某些实施例中, 对话 助手 110 还突出显示与搜索查询中任何查询项目相匹配的摘录项目。 在步骤 710, 显示对话 的列表。图 7B 为根据这些步骤所产生的对话的列表的示意性屏幕截图。在某些实施例中, 用户可以指定致使摘录的生成和 / 或显示受到抑制的用户偏好。在某些实施例中, 当把与 搜索查询相匹配的文本放置在消息的报头或其它信息中时, 所提供的摘录为消息的第一部 分。
         在某些实施例中, 如果用户选择 ( 例如点击 ) 了代表对话列表中的对话的行 ( 例 如, 图 7B 中所示的对话列表中的行 )( 步骤 712), 则在步骤 714, 对话助手 110 显示所选择 的对话。为了做到这一点, 对话助手生成一系列容纳一系列与所选择对话相关的消息的子 表格。具体地讲, 如果从响应于用户指定的搜索查询所产生的对话列表中选择了所选择的 对话, 则按压缩模式显示那些其相关的消息不包含搜索查询中任何查询项目的子表格, 而 按扩展模式显示那些其相关消息至少包括一个查询项目的子表格。对话助手 110 还突出显 示消息体中的匹配查询项目。与指定查询相匹配的所选择对话的显示例子被描述为图 7C 中的示意性屏幕截图。如果从对话的范畴列表, 例如从对话的收件箱列表选择了所选择对 话, 则消息的最初的显示如以上针对图 6C 所描述的。
         图 7B 是一个列出了 3 个与查询项目 “Tahoe” 720 相匹配的对话 730 的浏览器窗口 的示意性的屏幕截图。在 3 个对话 730 之上, 是 “搜索选项” 链路 732。用户可以点击该链 路, 以修改那些用于进行搜索的选项。 例如, 用户可以指定是把搜索限制于一个范畴中的对 话, 还是限制于所有的范畴中的对话。 当所列对话属于两个或两个以上不同的范畴时, 不突 出显示编组框 346 中的任何一个范畴。在每一匹配的对话中, 标识了包含项目 “Tahoe” 的 摘录, 并且以突出显示了单词 “Tahoe” 的方式显示这一摘录。这些摘录指出 : 3 个对话覆盖 了 3 个不同的标题, 即第一个对话涉及到 Tahoe 湖的滑雪旅行, 第二个对话涉及 Tahoe 模型 SUV, 而第三个对话涉及 Tahoe 国家森林公园的野营地点。因此, 用户可以使用摘录中的信 息以决定其希望打开哪一具体的对话。
         图 7C 是一个示意性的屏幕截图, 该屏幕截图显示了在用户对其进行点击之后第 三个对话中的所有消息。注意, 在这一屏幕截图中 ( 在编组框 346 中 ) 已经突出显示了 “全 部邮件” 范畴, 表明当前把第三个对话定位在 “全部邮件” 范畴中。由于第二条消息包括查 询项目 “Tahoe” , 所以按扩展模式显示第二子表格, 具有突出显示了的单词 “Tahoe” 。
         拼写检查
         图 8 为一个流程图, 说明了对话助手如何与用户交互, 以纠正用户所编写的消息 中可能错拼的单词。在编写了消息之后和在将其向外发送之前, 用户可以点击 “更多动作”下拉列表, 并且选择 “拼写检查” 项目。注意, 图 4B 中没有显示这一项目, 因为其中下拉列表 仅包括对话级动作。 “拼写检查” 为仅当正在使用一个消息编写表格时才显示在下拉动作列 表中的消息级动作。响应于 “拼写检查” 动作的用户选择, 对话助手把所编写的消息发送于 对话管理系统, 然后在步骤 802 接收所编写消息的经过拼写检查的拷贝以及显示指令。在 可选的实施例中, 通过对话助手或者通过使用局部字典的局部客户机应用, 执行此处所描 述的与拼写检查器相关的对话管理系统所执行的动作。 根据显示指令, 对话助手在步骤 804 突出显示消息中每一可能错拼的单词, 在步骤 806, 把每一突出显示的单词与系统生成的候 选单词的列表相关联, 并且在步骤 808, 在独立的浏览窗口中显示重新格式化的消息。当用 户选择了浏览窗口中的具体突出显示的单词时, 对话助手在拼写纠正窗口中确定用户选择 的单词的位置, 并且在步骤 810, 在该窗口附近附接候选替换项目的列表 ( 应该加以注意的 是, 替换项目可以包括一个或多个单词 )。然后, 对话助手在步骤 812 使用候选列表中用户 指定的替换项目, 修改拼写纠正窗口中的错拼的单词。对话助手还可以在步骤 814 在用户 指定的方向扩展拼写纠正窗口, 以致用户可以在步骤 816 修正拼写纠正窗口中的一个以上 的单词。
         图 9A 为一个屏幕截图, 说明了与图 6C 中所示的对话相同的对话, 所不同的是用户 已经编写了针对 S4 的回答消息 817。在发送该消息之前, 用户决定进行拼写检查。因此, 用户点击了 “更多动作” 下拉列表, 然后选择了 “拼写检查” 项目 818。作为响应, 对话助手 把所编写的消息发送于对话管理系统, 然后把拼写检查结果显示在独立浏览窗口中。在某 些实施例中, 把拼写检查结果显示在与其中用户正在编写消息的窗口相同的窗口中。实际 上, 显示大体保持相同, 所不同的是某些与拼写检查器相关的特性的切换 (toggling), 以及 可能错拼单词的突出显示。 这一实施例增添了这样的好处 : 当编写消息时, 用户可以在向用 户提供的等效的视觉上下文中执行拼写检查, 而不是向用户提交不具有这种上下文的独立 的新窗口。
         图 9B 描述了包括处于拼写检查过程不同阶段的 3 个独立的浏览窗口的屏幕截 图。第一窗口 820 包括消息的经过拼写检查的拷贝。具体地讲, 已经在该窗口中突出显示 了 3 个可能错拼的单词 821、 823 以及 825。在用户点击了第二单词 823 之后, 接下来把单 词 “delying” 并入一个如第二浏览窗口 830 中所示的拼写纠正窗口 832。另外, 在拼写纠 正窗口之下或者与拼写纠正窗口相邻地显示由系统所生成的候选单词的列表 834。然后, 用户选择第三替换项目 “delaying” , 以取代错拼的项目 “delying” 。如果用户希望在所纠 正的单词 “delaying” 之前添加单词 “temporarily” , 则用户可以点击如第三窗口 840 中所 示的左箭头 841, 把浏览器窗口指针定位在错拼项目 “delying” 之前的位置, 然后录入单词 “temporarily” 。最终, 在纠正了所有错拼的单词之后, 用户点击 “完成” 按钮 845, 这将导致 把消息发送于 S4。
         对话服务器
         图 10 ~ 19 有助于描述先前所描述的对话服务器 102 的实施例。图 10 说明了对 话服务器 102 的一个实施例。对话服务器 102 包括对话引擎 1002、 修改器引擎 1004、 消息 索引 1006、 查询引擎 1008、 消息数据库 1010、 一个或多个辅助服务服务器 1012、 拼写检查器 1014 以及 SMTP 1016。
         对话引擎 1002 经由其与通信网络 106 的连接, 处理来自对话助手 110 的请求和对对话助手 110 的答复。通信网络 106 可以包括 Internet、 一个或多个局域网 (LAN)、 一个或 多个广域网 (WAN)、 其它类型的网络、 或者这样的网络的组合。还把对话引擎连接于各种辅 助性服务机构, 例如, 辅助服务服务器 1012 和拼写检查器 1014。把查询引擎 1008 连接于 对话引擎 1002、 消息索引 1006 以及消息数据库 1010。把修改器引擎 1004 连接在对话引 擎 1002 和消息索引 1006 以及消息数据库 1010 之间。把 SMTP 网关 1016 连接在对话引擎 1002 和通信网络 106 之间。尽管图 10 把对话服务器 102 描述为多个离散的项目, 但该图更 多的意图是对对话服务器 102 中可提交的各种特性进行功能上的描述, 而不是对此处所描 述的实施例的结构上的示意。 实际上, 正如本技术领域的普通技术人员将会意识到的, 可以 把独立描述的项目加以组合, 也可以把某些项目加以分离。 例如, 可以在单一的服务器上实 现图中独立描述的某些项目, 也可以在一个或多个服务器上实现单一的项目。对话服务器 102 中服务器的实际数目以及如何在它们之间分配特性, 将随实现的不同而不同, 并且可能 部分地取决于高峰使用期间以及平均使用期间系统必须处理的电子邮件吞吐量。
         如以上简要提及的, 对话引擎 1002 可以响应来自对话助手 110 的、 与消息相关的 各种请求, 并且经由其与通信网络 106 的连接返回基于对话的答复。尽管也可以把 SMTP 网 关 1016 连接于通信网络 106, 但也可以使 SMTP 网关 1016 更直接地涉及消息的接收与发送。 例如, 在某些实施例中, SMTP 网关 1016 使用简单邮件传送协议 (SMIP) 传输和接收消息。 SMTP 网关 1016 可以从通信网络 106 接收新的消息, 并且把该消息发送于对话引擎 1002, 以 进行附加处理。另外, SMTP 网关 1016 还从对话服务器 1002 接收消息, 然后 ( 经由通信网 络 106) 把这些消息传输于消息中所指定的接收者地址。
         对话引擎 1002 还可以处理对可能正在被编写的消息进行拼写检查的请求。对话 引擎 1002 向拼写检查器 1014 发送将要检查的文本的各部分, 以进行拼写检查。 拼写检查器 1014 返回相应的信息, 包括被标识为可能不正确的拼写的文本的标识。 在某些实施例中, 拼 写检查器 1014 提供了有关向被标识为可能不正确的拼写的文本提出建议的信息。在某些 实施例中, 把这一信息发送于对话助手 110, 以进行相继的处理。
         一个或多个辅助服务服务器 1012 向对话引擎 1002 提供了附加的服务。在某些实 施例中, 辅助服务服务器 1012 包括垃圾邮件检测模块。以下, 参照图 11 讨论垃圾邮件检测 模块的操作。在某些实施例中, 辅助服务服务器 1012 包括附件管理模块, 该附件管理模块 对附接于电子邮件消息的文件的有效存储与检索进行管理。
         图 11 描述了用于处理所接收消息的实施例。接收消息、 将其赋予对话、 对其进行 索引、 向其赋予一个或多个属性、 并且将其加以存储。例如, 最初可以由 SMTP 网关 1016 接 收消息, 其中, 可进行某些处理和操作, 然后可以将其传送于对话引擎 1002( 阶段 1102)。 对 话引擎 1002 可以为该消息生成消息标识符。消息标识符可用于互相区别消息。在实施例 中, 该标识符为由一个或多个部分构成的 N 个比特的数字。例如, 在实施例中, 消息标识符 可以为 64 个比特的数字, 该数字由 Y 个比特 ( 例如 32 个比持或 48 个比特 ) 的时标和 64-Y 个比特的消息内容的杂凑 (hash) 组成。杂凑为数学函数, 其把值从大的域映像至较小的 域。 本技术领域中的普通技术人员将会意识到, 存在着许多创建消息标识符的不同的方法, 这些消息标识符提供了用于将消息互相区别的足够信息。
         然后, 对话引擎 1002 可以把消息解析为其若干构成成分 ( 阶段 1104)。这些成分 可能包括发送者的地址、 一个或多个接收者地址、 消息的主题、 “Reference : ” 字段, 如先前所描述的 RFC 2822(2001 年 4 月 ) 中所描述的字段、 RFC 2822 中还描述的 “In-Reply-To : ” 字段、 消息的内容、 或任何可能包含在消息中的其它信息。在接收了消息之后, 在解析消息 之前或之后, 把消息传送于垃圾邮件检查模块 ( 阶段 1105), 以判断消息是否与垃圾邮件准 则相匹配。在某些实施例中, 各垃圾邮件检查模块与消息的其它处理异步地、 并行地运行。 在某些实施例中, 垃圾邮件准则的设计旨在判断消息是否可能为用户可能不希望读取的未 经请求的消息。
         把所解析的消息添加于消息数据库 ( 阶段 1106)。 在一个实施例中, 把该消息添加 于消息数据库, 而且不进行相继的修改, 除非可能要删除。
         在消息解析期间所抽取的消息的某些或所有成分被用于帮助对所接收的消息所 属的对话 ( 如果存在这样的对话 ) 的判断 ( 阶段 1108)。例如, 可以把消息的主题与具有相 同主题的其它消息进行比较, 因为对话中的消息很可能将具有相同的、 或几乎相同的主题。 如果尚未发现相匹配的对话, 则把该消息与新的对话相关联。
         在已经进行了对话关联之后, 为消息加索引, 以用于搜索 ( 阶段 1110)。在一个实 施例中, 为消息的整个文本和报头信息的部分加索引。在某些实施例中, 不对消息体中的 “干扰词” ( 例如 “the( 这一 )” 、 “a( 某一 )” 以及 “or( 或者 )” 等单词 ) 加索引, 但对消息 的相关部分中的所有其它文本加索引。本技术领域中的普通技术人员将会意识到, 应该为 可加以搜索的消息的那些部分加索引。 如以下所提到的, 在某些实施例中, 在消息处理的较 后阶段, 把涉及与消息相关的属性的信息添加于索引中。
         接下来, 把属性的初始集合赋予消息 ( 阶段 1112)。例如, 这些类型的属性可以包 括为所接收消息加 “未被读取” 标签 ( 这通常意味着消息尚未被查看, 或尚未被标记为被读 取的 ), 以表示该消息为新的。 除了用户发送的消息外, 最初赋予消息的另一个属性是 “收件 箱” 属性。最初赋予每一消息的另一组属性是与同一对话中的其它消息 ( 如果存在的话 ) 相关的用户定义的属性。通过搜索以下参照图 18 所描述的对话数据库, 确定与对话中的其 它消息相关的用户定义的属性。最初也可以把其它属性赋予消息。与消息相关的属性可用 于搜索消息数据库, 以获取具有类似属性的消息。 例如, 可以执行搜索以搜索所有被标明为 “未被读取” 的消息。另外, 也可以把对话的属性添加于消息, 因为, 在一个实施例中, 消息继 承了其对话的属性。
         在某些实施例中, 与消息相关的属性可以包括与对话中单条消息相关而不必与所 有消息相关联的属性。例如, 可以把 “标记为删除” 属性 ( 有时也将其称为 “废纸篓” 属性 ) 与对话中的单一的消息相关联, 而不与同一对话中的其它消息相关联。标记为删除的消息 还由系统加以存储, 并且还与对话相关联, 但通常在显示对应的对话时不对它们加以显示。 使用一个或多个特定的视图, 以使得用户能够查看具有属性 “标记为删除” 的消息。这样的 视图向用户提供了 “不删除” 消息的机会。另一方面, 在某些实施例中, 当把用户定义的标 签与对话相关联时, 把该标签与对话中的所有消息相关联。在某些其它实施例中, 当把用 户定义的标签与对话相关联时, 把该标签与对话中的所有满足预先定义的准则的消息 ( 例 如, 除那些标记为删除的消息之外的消息 ) 相关联。
         接下来, 把用户已经建立的用户定义的过滤器施用于消息 ( 阶段 1114)。 每一用户 定义的过滤器包括一组过滤条件和一组动作。过滤条件定义了哪些消息与过滤器相匹配, 动作包括指定将添加于消息或从消息去除的标签的动作。过滤条件可以包括与发送者、 接收者、 消息主题中的文本、 消息中的文本等相关的准则。 在某些实施例中, 动作可以包括 “从 收件箱去除” ( 即, 如果存在, 则从消息中去除收件箱标签 )、 向消息添加系统标签 ( 有时称 为范畴 )、 以及向消息添加用户定义的标签。例如, 过滤器可以指定所有具有特定项目或者 项目组合的消息都应该用 “废纸篓” 标签标明。另一个过滤器可以指定, 如果项目 “Tahoe 湖” 出现在消息中的任何地方, 则把 “假日” 标签添加于该消息。
         注意, 在某些实施例中, 阶段 1112 和 1114 涉及把标签赋予正被处理的消息。在执 行或准备执行阶段 1112 和 1114 时, 检索来自垃圾邮件检查模块的结果 ( 阶段 1105)。如果 垃圾邮件检查模块把消息归类为垃圾邮件, 则把 “垃圾邮件” 标签赋予该消息, 并且从该消 息去除任何冲突的标签 ( 例如, “收件箱” 或 “废纸篓” )。
         在已建立了赋予消息的标签集合之后, 修改对话引擎 1002 中的索引和某些表 ( 阶 段 1116), 以反映赋予该消息的标签集合。 通过添加表示把标签赋予哪一消息的信息来修改 索引。结果, 在这些标签的每一标签上的索引搜索将产生包括正被处理的当前消息的消息 列表。 另外, 修改对话引擎中的至少一个表或数据库, 以表示赋予正被处理的当前消息的标 签集合。以下, 将参照图 18 描述这一点。
         最后, 可以向消息的发送者发送认可 ( 阶段 1118)。在某些实施例中, 可以发送认 可, 而在另一些实施例中, 可以不发送认可。
         尽管图 11 按特定的次序描述了这些阶段, 但并不旨在不适当地限制这些阶段的 次序。在其它实施例中, 可以对这些阶段进行不同的排序。例如, 在对消息进行索引之前, 可以把消息添加于该消息数据库, 从而阶段 1114 后可跟阶段 1110。 本技术领域中的普通技 术人员将会意识到对这些阶段重新进行排序的各种方式。
         把每一消息与对话相关联
         参照图 12, 以下为如何可把消息与对话相匹配 ( 阶段 1106) 的更详细的描述。在 对消息进行解析 ( 图 11 的阶段 1104) 之后, 构成成分的各部分可用于规划对候选对话的 搜索查询 ( 步骤 1202)。例如, 可以根据时间信息、 发送者信息、 主题信息、 报头中的其它 信息、 或系统提供的信息、 或者它们的任何组合来对对话加以关联。一个实施例使用带有 “Reference : ” 和/或 “In-Reply-To : ” 字段的消息的主题规划搜索查询。其它实施例包 括搜索查询中消息的发送者或者接收者。 本技术领域中的普通技术人员将会意识到用于产 生可与当前消息相关的消息的许多不同的搜索查询。
         针对先前所存储的消息施用搜索查询, 并且接收候选消息 ( 阶段 1204)。对消息 或有关消息的信息进行检查, 以判断哪些消息 ( 如果存在的话 ) 可最好地与当前消息相匹 配 ( 阶段 1206)。该消息所属于的对话很可能为当前消息所属于的对话。可以使用多种不 同的方案确定当前消息所属于的对话。一种方案可以使用当前消息的主题。具有相同主题 的消息很可能属于同一对话。因此, 可以规划使用当前消息的主题的查询。例如, 如果流入 的消息具有主题 “今天我们应去哪里吃午饭? ” , 则当前消息所属于的对话 ( 如果存在的话 ) 就有可能包括一条或多条具有相同主题的消息。 当对主题进行比较时, 在进行比较之前, 对 主题进行正规化可能是人们所希望的。 在某些实施例中, 对主题进行正规化包括去除前缀, 例如去除 “Re:” 和 “Fwd:” , 其通常由某些系统把它们添加于主题。
         然而, 可能人们希望检查的不仅仅是主题。 如果两条消息具有同样的主题, 但其中 的一条早在另一条消息之前就接收了, 则它们很可能不是同一对话的一部分。 例如, 如果相隔一个月接收到两条具有主题 “今天我们应去哪里吃午饭? ” 的消息, 则它们不可能为同一 对话的一部分。 因此, 在本发明的一个实施例中, 如果当前消息和来自候选对话的消息的正 常化主题相匹配, 则对该消息的日期 / 时间值的检查可能是人们所希望的。
         当把消息与对话相匹配时, 可以考虑其它因素, 例如接收者、 消息内容的各部分、 发送者的域地址、 或其它因素。 本技术领域中的普通技术人员将会意识到, 存在用于确定新 消息所属于的对话的许多不同方式。一旦当前消息与令人满意的匹配消息相匹配, 则可以 把与该匹配消息相关的对话与当前消息相关联 ( 阶段 1206)。 另一方面, 如果没有发现令人 满意的匹配消息 ( 因而, 无对话 ), 则把新的对话标识符与该消息相关联 ( 阶段 1206)。
         在某些实施例中, 可以根据对话中所接收的初始消息来创建对话标识符。 例如, 可 以把系统提供的初始消息的消息标识符 ( 由传输或接收系统提供的 ) 用作对话标识符。然 后, 把相继的消息与目前用作为对话标识符的该消息标识符相关联。本技术领域中的普通 技术人员将会意识到可用于提供对话标识符的初始消息的各种特性。在某些实施例中, 这 些特性应该提供这样的良好支持 : 该值唯一于该初始消息, 使得将不会把同一对话标识符 赋予多个对话。
         如先前所提到的, 在把当前消息与对话 ( 先前存在的或新创建的 ) 相关联 ( 阶段 1106) 之后, 添加初始属性 ( 阶段 1108)。参照图 13 可以更好地理解用于添加这些初始属 性 ( 阶段 1108) 的一个实施例。最初, 可以检查消息的发送者。如果当前消息的发送者不 是针对其正在执行这一消息处理的用户, 则当前消息很可能已被别人发送至该用户。 因此, 如果在阶段 1302 断定当前消息的发送者不是该用户, 则可以把 “收件箱” 的初始属性 ( 也 称收件箱标签 ) 与当前消息相关联 ( 阶段 1304)。 “收件箱” 的属性可用于标识那些已经发 送给该用户的消息。例如, 在某些实施例中, 把具有 “收件箱” 属性的消息的搜索用于用户 的收件箱视图的产生。
         在本文献中, 可交换地使用术语 “属性” 和 “标签” 。另外, 把具体属性与消息 “相关 联” , 以及使用具体属性或标签 “标记” 消息被视为是相同的或等效的操作。
         由于当前消息很可能是新的, 所以用户此前尚未查看这一消息也是很可能的。因 此, 可以把如此指示的 “未被读取” 属性与当前消息相关联 ( 阶段 1306)。本技术领域中的 普通技术人员将会意识到, 可以按能够达到同样结果的多种方式实现消息属性。 例如, 预先 定义的值可以代表 “收件箱” 。可以根据这些属性搜索具有所希望的属性的消息足以。也可 以把其它属性与消息相关联。尽管搜索具体属性的能力比有区别更为重要, 但仍可以按多 种形式考虑属性。属性可以包括系统定义的属性, 例如, 收件箱、 废纸篓、 垃圾邮件、 全部文 档以及未被读取。在某些实施例中, 某些系统属性可能是互斥的 ( 例如, 收件箱、 废纸篓以 及垃圾邮件 )。属性还可以包括用户定义的属性, 此处, 有时把它们称为范畴。
         如果用户为正被处理的消息的发送者 ( 如在阶段 1302 所断定的 ), 或者在把任何 可施用的系统属性添加于消息之后, 例如, 在添加了 “未被读取” ( 阶段 1306) 之后, 则把属 于对话的附加的属性添加于消息 ( 阶段 1307)。
         可以针对流入的消息检查和施用某些过滤条件 ( 阶段 1308)。在实施例中, 用户 可以建立当满足预先确定的条件时把属性施用于所接收的消息的过滤器。 在另一个实施例 中, 系统可以把一个或多个预先定义的过滤器施用于所接收的消息。
         如果当前消息与过滤准则相匹配, 则接下来可以根据过滤器把属性施用于该消息( 阶段 1310)。在一个实施例中, 系统提供了使用户能够建立过滤器的工具, 以便不把某些 消息放置于 “收件箱” 中。换句话说, 过滤器将导致把 “收件箱” 属性从消息中去除。在另一 个实施例中, 可以把当前消息与特定的用户定义的属性相关联, 例如与指示可以把一个或 多个对话与其关联的那一用户所感兴趣的领域的标签相关联。例如, 可以把流入的消息与 具有标签 “食物” 的对话相关联, 然后, 将把 “食物” 标签与当前消息相关联。总体上讲, 消 息继承了将消息与其相关联的对话的标签。由于可以把多个过滤器施用于所接收的消息, 所以可以把新接收的消息以及它们相关的对话与一个以上的用户定义的标签相关联。
         在另一个实施例中, 用户可以把瞌睡条件与对话相关联。 在某些实施例中, 当用户 特别命令系统这样做时, 才把瞌睡条件与对话相关联。 在某些实施例中, 当过滤器与对话中 的消息相匹配时, 把瞌睡条件与对话相关联。当在已经把瞌睡条件施加于其的对话中接收 到新消息时, 瞌睡条件指定将要执行的某些动作。 例如, 瞌睡条件可以使系统免于把收件箱 标签与对话中的新消息相关联。更具体地讲, 用户可以把瞌睡条件与对话相关联 ( 直接地, 或者通过过滤器的操作 ), 从而使对话中的新消息免于被放置在用户的收件箱中, 除非满足 了某些触发条件。一个这样的触发条件可以是直接导向用户 ( 作为唯一的主接收者 ) 的流 入的消息。另一个这样的触发条件可以是由用户或系统所选择的一段时间的流逝。再一些 触发条件可以是包含所指定的单词或短语的所接收的消息。在这一情况下, 当接收到满足 瞌睡条件的消息时, 从对话中去除该瞌睡条件, 并且使用 “收件箱” 标签标记该流入的消息。 在某些实施例中, 还采取了额外的动作, 例如, 把 “收件箱” 标签添加于对话中的其它消息。 在另一个实施例中, 使用 “收件箱” 标签标明具有 “未被读取” 标签的对话中的所有消息。因 此, “收件箱” 的搜索将返回该对话。在某些实施例中, 通过生成瞌睡过滤器而把瞌睡条件与 对话相关联, 从而使与对话相关联的新消息免于被以 “收件箱” 标签加以标记, 直至出现预 先定义的事件或条件, 在此之后, 删除或修改该瞌睡过滤器。
         另一种可施用于所接收的消息的过滤器是 “垃圾邮件” 过滤器, 其能够标识不希望 的消息, 并且使用 “垃圾邮件” 标签对它们加以标记 ( 即, 把 “垃圾邮件” 属性与这样的消息 相关联 )。
         图 14 说明了用于修改对话的属性的一个实施例。当对话、 或者与对话相关联的流 入的消息与过滤准则相匹配时, 可以修改对话的属性。当用户指出对话应具有特定的用户 定义的属性时, 也可以修改对话的属性。 例如, 用户可以指定应该把具体的对话与 “食物” 范 畴相关联。在这种情况下, 使该对话 ( 和其各自的消息 ) 用 “食物” 属性来标记以便与 “食 物” 属性相关联。用户还可以指定标记为删除的对话。
         在某些方式下, 就概念而言, 用户定义的属性可比于文件夹。然而, 本发明的各实 施例允许把对话与多个用户定义的属性相关联。在某些实施例中, 当把新的属性与对话相 关联时, 使用新属性标记对话中的所有消息。
         参照图 14, 当要修改对话的给定属性时, 规划搜索 ( 阶段 1402) 以定位对话 ( 阶 段 1404)。在发现对话 ( 阶段 1404) 之后, 可以修改对话的属性 ( 阶段 1406)。用于完成阶 段 1402、 1404 以及 1406 的具体机构依赖于用于把属性与对话相关联的机构。在某些实施 例中, 以对话为基础把属性与对话相关联。 例如, 对话引擎可以维持与每一具体对话相关的 属性的列表。作为选择, 或者另外, 对话引擎可以维持索引, 该索引把每一所定义的属性映 像为用该属性标记的所有对话。 作为选择, 在某些实施例中, 把与对话相关的属性与该对话中的各条消息相关联。在这样的实施例中, 对话引擎可以维持把每一所定义的属性映像为 用该属性标记的所有消息的索引, 而且还可以维持用于把每条消息映像至与该消息相关的 对话的表或其它机构。
         与消息相对照, 本发明的许多特性把对话使用作为信息的基本单元。 例如, 收件箱 向用户提交对话的列表。 本发明的某些特性使用搜索以标识在用户电子邮件账户中的多个 不同对话视图中所列的对话。以下, 将参照图 15 描述搜索对话以及生成所标识对话的表 示。最初, 接收搜索查询 ( 阶段 1502)。搜索查询可以为用户所指定的, 或者为系统所生成 的 ( 例如, 响应于用户点击 “收件箱” 图标 )。搜索查询可以基于多种因素。搜索查询中的 搜索项目可以按单词或单词的组合的形式来自用户。 例如, 用户可以搜索包含单词 “硬面包 圈” 和 “便宜” 的消息, 而且如果存在相关对话, 则将返回该相关对话。系统可以响应某些用 户动作, 生成搜索查询。例如, 如果用户希望得到收件箱视图, 则系统生成搜索查询可以搜 索具有属性 “收件箱” 的对话。
         可搜索项目的任何组合均可用于搜索查询。如以上所提到的, 可搜索项目可以包 括: 消息的文本 ; 与消息、 对话相关的任何属性 ; 或者与消息相关联的报头信息。在一个实 施例中, 把搜索查询施加于消息的数据库将返回一组消息 ( 阶段 1504)。简单参照图 10, 例 如, 可以通过向查询引擎 1008 发送搜索查询来实现这一点。查询引擎 1008 可以把搜索查 询施加于该消息索引 1006, 消息索引 1006 可以返回消息的列表。可以在阶段 1504 接收这 一消息列表。 如果希望的话, 其它实施例可以按多种不同的方式返回消息的列表, 包括返回 一组消息标识符、 文档标识符、 全部或部分消息、 或者它们的任何组合。 在某些实施例中, 针对作为整体的对话, 而不是针对各个消息进行搜索。于是, 当 查询包含第一和第二查询项目, 其中一个在第一条消息中被发现, 另一个在同一对话的第 二条消息中被发现时, 将把这一对话视为与所述的查询相关联, 因而将其包括在搜索结果 中。例如, 考虑这样一个对话 : 其中第一条消息请求关于午餐地点的想法和相续的消息, 同 时指定具体的餐馆, 不包括原始消息的文本。如果用户感兴趣于找出其中讨论特定餐馆和 午餐的对话, 则如果针对整个对话的文本施加这一搜索, 好象对话中不存在消息边界, 则搜 索更可能产生所希望的结果。
         把对话与在阶段 1504 所返回的消息集合相关联。可以使用多种方法标识相关的 对话。当从在步骤 1504 所返回的消息集合选择了消息 ( 阶段 1506) 时, 标识消息所属于 的那一对话 ( 步骤 1508)。在一个实施例中, 可维持把每一消息与对话相匹配的数据结构。 如果维持了这样的数据结构, 则对与具体消息标识符相关的数据结构条目的检查, 可以标 识消息所属于的对话。 作为结果集合, 可以把所返回的对话的数目限制为预先定义的数目。 并且返回 如果进行了这一限制, 则该组消息的处理继续, 直到标识了足够数目的对话为止, 结果。另一方面, 可以标识与所返回的消息组相关联的所有对话, 但仅返回子集。
         一旦通过标识全部或部分返回结果所属于的对话创建了对话的列表 ( 阶段 1510), 则格式化对话信息, 以返回于请求者 ( 阶段 1512)。格式化阶段 1512 可以格式化多 个不同类型的与所标识的对话相关联的信息, 它们的细节将随实施例的不同而不同。在某 些实施例中, 格式化信息为可由用于把对话信息提交于用户的对话助手 110 加以识别的类 型。
         在某些实施例中, 根据预先定义的规则或规则组, 依照赋予每一对话的日期 / 时
         间值, 排序在阶段 1510 所生成的对话列表中的对话。如以上所解释的, 在某些实施例中, 向对话列表中的每一个对话赋予等于与用于生成对话列表的搜索准则相匹配的最近消息 的日期 / 时间的日期 / 时间, 并且根据这些所赋予的日期 / 时间值, 排序对话列表中的对话 ( 例如, 按反时间次序 )。本技术领域中的普通技术人员将会意识到, 存在着对对话列表中 的对话进行排序和提交的各种其它的方法。
         在某些实施例中, 代表对话的列表的经过格式化的对话数据 ( 在阶段 1512 产生 ) 包括对含于对话列表中每一对话中的消息的数目的统计。 在某些实施例中, 由对话助手 110 显示每一对话的消息统计, 以向用户指示多少消息包含于对话中。
         在一个实施例中, 针对对话的列表中的每一对话创建简要对话报头 ( 例如, 在阶 段 1512 期间 ), 对话报头可以标识对话中消息的发送者的列表。这一列表可以包括对话中 全部发送者或发送者的子集。 在某些实施例中, 对发送者的列表进行格式化, 以便可视地区 别那些已经发送了当前由用户标明为 “未被读取” 的 ( 对话中的 ) 消息的发送者。在另一 个实施例中, 对话助手 110 按不同于其它发送者的格式提交这些发送者。例如, 可以使用粗 体或突出显示的文本标识 “未被读取” 消息的发送者。
         在另一个实施例中, 可以通过用自我参照标识符取代用户的名字或地址来处理 ( 简要对话报头中的 ) 消息的发送者的列表。结果, 当显示对话的发送者的列表而不是显 示类似于非该用户的发送者的用户的名字或其它标识信息时, 显示自我参照标识符 ( 例如 “me( 我 )” )。也可以使用其它类型的自我参照标识符把正在查看的用户与其他用户相区 别。
         在另一个实施例中, 对话的列表中的每一消息的简要对话报头可以包括指示用户 如何接收消息的信息。换句话说, 这些信息可以专门标识如何向用户发送消息。例如, 可以 直接向用户发送消息, 可以针对消息拷贝用户, 可以针对消息盲拷贝用户, 或者可以令用户 为把消息发送于其的分布列表的一部分。 可以向用户指出用户接收消息的这些不同方式中 的一个或多个方式。例如, 如果向用户直接发送消息, 则可以使用形象的表示 ( 例如 “>” ) 指出何时把对话提交于用户。
         在某些实施例中, 对话的列表中的每一消息的简要信息报头包括对话内容的摘 录, 该摘录包括用于以粗体显示与搜索项目相匹配的文本的信息, 而且还包括以正常字体 格式化的围绕匹配文本的文本。当针对收件箱或其它系统范畴生成对话的列表时, 摘录包 括来自根据预先定义的准则所选择的对话的文本。在某些实施例中, 摘录包括从对话中的 最近消息的开始起的文本, 而在另一个实施例中, 摘录包括自动选择的、 指示对话内容的文 本。
         在另一个实施例中, 当用户从与搜索查询相匹配的对话中选择查看具体的对话 时, 对话引擎可以生成指示对话中的哪些消息与该查询相匹配以及哪些消息与该查询不相 匹配的对话信息。对话信息还可以包括与该搜索查询相匹配的消息的文本的一部分。可以 对这一对话信息进行格式化, 以向用户加以显示。对话信息可以包括用于按扩展模式显示 的格式化的匹配消息和用于按压缩模式显示的格式化的非匹配消息。 可以按扩展模式把各 种类型的信息提交于用户, 包括下列所有或部分信息的任意组合 : 报头信息、 内容信息、 与 搜索查询相匹配的文本、 以及围绕该搜索查询的文本。在某些实施例中, 当按压缩模式 ( 例 如, 响应于用户对 “压缩所有消息” 按钮或选项的选择 ) 显示与搜索查询相匹配的一条或多条消息时, 按压缩模式针对这样的消息所显示的信息包括消息内容的摘录, 该摘录包括用 于以粗体显示与查询项目相匹配的文本的信息, 而且还包括围绕以正常字体格式化的匹配 文本的文本。
         在又一个实施例中, 对话信息可以指示何时已向对话添加了某些用户或何时已从 对话去除了某些用户。 例如, 如果已把用户包括于对话中的消息达到某一时间点, 然后不再 包括, 则针对一条或多条相继消息的信息可以指示用户不再为对话的一部分。 例如, 对话助 手可以通过使用某种不同于用于显示那些仍正在参与对话的用户的名字的字体显示该用 户的名字来实现这一点。为此目的, 对话助手可以使用 “叠影” 字体。
         对话信息还可以向对话提供关于新参与者的加入的信息。例如, 涉及包括新参与 者的第一条消息的信息可以包括用于有区别地显示新参与者的名字的格式化信息。 可以通 过对话助手把这一信息显示于用户, 以致新添加的发送者的名字或其它标识信息可按粗体 或某些其它视觉上有区别的提交格式得以显现。
         对话信息还可以包括关于拼写检查的信息。 这一信息可以包括指出哪些单词被拼 写检查器 1014 标识为可能不正确拼写的指示信息, 以及与正确拼写的建议相关的信息。
         图 16 提供了根据本发明的一个实施例的用于存储消息的格式的说明。当把消息 存储在消息数据库中 ( 图 11 的阶段 1114) 时, 可以按图 16 中所说明的对其加以存储。消 息数据库 1602 可以存储关于消息的信息, 例如关于消息 1(1604) 至消息 x(1606) 的信息, 其中, x 代表对应于具体用户的消息的数目。在一个实施例中, 把每一用户的消息存储于唯 一于该用户的消息数据库 1602 中。在另一个实施例中, 可以把属于一个以上用户的消息存 储于相同的消息数据库 1602 中。本技术领域中的普通技术人员将会意识到许多使来自一 个用户的消息免于作为属于另一用户的消息加以显示的方法。在又一个实施例中, 可以把 来自一个以上用户的消息存储在消息数据库 1602 中, 而且每条消息仅具有一个存储条目, 以致多个用户可参照单一拷贝的消息。
         在一个实施例中, 消息 ( 例如, 消息 1608) 可以包括报头信息 1612、 内容 1614 以及 附件 1616。报头信息 1614 可以包括消息的报头信息, 其含有诸如标识发送者和接收者、 消 息的时间 / 日期值以及主题的信息。其它的信息也可以包含于报头信息中, 例如 RFC 2822 中所描述的其它信息。内容 1614 可以包括消息的内容。内容 1614 可以包括文本和 / 或其 它类型的内容 ( 例如, 图像或照片 )。 附件 1616 可以为附接于具体消息的任何信息的内容。 例如, 可以把附接于消息的文档放置在消息 1610 的这一部分中。本技术领域中的普通技术 人员将会意识到存储消息信息的其它方式。 例如, 可以把附件存储在另一个存储结构中, 并 且把对其的参照放置在附件 1616 中。
         在可选的实施例中, 把每一对话的所有消息作为单一的记录、 文档或数据结构存 储在消息数据库中。
         用户、 消息以及对话的数据结构
         图 17 说明了根据本发明的实施例的用户数据库和消息索引。用户数据库 1702 可 以存储有关用户的信息。 所存储的信息可以包括用户信息 1704。 用户信息 1704 可能包括与 用户偏好相关的各种类型的用户信息、 安全信息、 或者可由本发明的不同实施例所使用的 任何其它信息。用户数据库可以包括用于标识用户的诸如用户 ID(1)(1706) 至用户 ID(m) (1708) 的用户标识信息, 用户 ID(1)(1706) 至用户 ID(m)(1708) 的中 m 可代表系统的用户的数目。特定的用户 ID(m)(1708) 可以为针对每一用户的唯一的标识符, 例如 n 个比特的 二进制数字。也可以使用其它类型的用户标识。
         在某些实施例中, 使用用户的用户 ID 标识用于存储关于过滤器、 与用户的邮件账 户相关的查询和标签的信息的数据结构集合 1720。在某些实施例中, 这些数据结构包括用 于存储代表用户所提交的最后几个查询的信息的查询超高速缓冲器 1722 ; 一组用于存储 用户定义的过滤器 ( 如果存在的话 ) 的过滤器数据结构 1724 ; 以及用于存储代表用户定义 的标签的信息的标签数据结构 1726。可以把存储在查询超高速缓冲器 1722 中的信息所代 表的新近的查询提交于用户, 例如提交于编组框 348( 图 3B) 中的用户, 以使用户能够容易 地把这些查询重新提交于对话管理系统。当把每一新消息添加于用户的邮件账户时, 在对 其处理期间, 对话管理系统使用用户定义的过滤器。可以把涉及用户定义的标签的所存储 信息提交于用户, 例如提交于编组框 347( 图 3B) 中的用户, 以使用户能够容易地请求载有 用户选择标签的对话的列表。
         用户的用户 ID 可以用于标识对应于该用户的全文本与属性索引 1710。可以把全 文本与属性索引 1710 与具体的用户相关联, 以致不同的用户不能够搜索与该具体用户相 关的消息的索引。全文本与属性索引 1710 把关于消息的信息存储在用户的邮件账户中, 以 致针对全文本与属性索引 1710 所施加的查询可以返回匹配消息 ( 如果存在的话 ) 的列表。 该列表可作为消息标识符的列表被返回。
         包含于针对具体消息的全文本与属性索引 1710 中的信息, 可以包括消息的消息 ID 1712、 消息 1714 的内容 1714 以及关于消息的属性 1716 的信息。消息 ID 1712 是消息 的唯一的标识符 ( 即, 相对于针对同一用户所存储的所有其它消息而言, 是唯一的 )。消息 ID 1712 可以为 n 个比特的数字, 用于引用存储在消息数据库 1702 中的具体消息。在一个 实施例中, 消息 ID 1712 可以为 64 个比特数字。消息 ID 1712 可以由时标信息和与消息 ID 1712 所指消息的内容相关的信息构成。时标信息可以为由系统所提供的 Y 个比特 ( 例如, 32 个比特或 48 个比特 ) 的时标, 例如, 其表示 SMTP 网关 1018 何时接收消息。与消息的内 容相关的信息可以为消息内容的 64-Y 个比特的杂凑 (hash)。
         把消息的内容作为全索引的和可搜索的项目放入索引中。 当针对项目或项目的组 合搜索索引 1710 时, 索引返回与项目或项目的组合相匹配的消息的消息列表 ( 例如, 消息 ID)。某些预先定义的条件可以规定比所有匹配的消息少的返回。在另一个实施例中, 索引 1710 返回与查询中的项目或项目的组合相匹配的对话列表 ( 例如, 对话 ID)。
         在一个实施例中, 根据包含在每一被索引消息的消息 ID 1712 中的时标信息, 对 全文本与属性索引 1710 中的搜索项目的条目进行排序, 以致可以优先返回与搜索项目相 匹配的最近消息。例如, 可以对相应于索引 1710 中的每一项目的消息的消息 ID 的列表进 行排序, 以致可以在列表中先于具有较旧时标的消息 ID 列出具有最新时标的消息 ID。 在其 它实施例中, 与每一消息相关的日期 / 时间信息表示每一消息的接收的日期和 / 或时间, 但 这一日期 / 时间信息未嵌入在消息 ID 中。然而, 在这样的实施例中, 对索引 1710 中的条目 进行排列, 以致在列表中可先于具有较旧日期 / 时间值的消息 ID 列出具有最新日期 / 时间 值的消息的消息 ID。
         也对与消息相关联的任何属性 1716 进行索引 ( 即, 将它们包括在索引 1710 中 )。 把属性 1716 添加于全文本与属性索引 1710 中, 以致对于具体属性的查询可以返回那些与该具体属性相匹配的消息。当把标签或属性添加于对话或者从对话去除时, 相应地修改索 引 1710。 索引包括把每一所定义的标签或属性映像于载有该标签或属性的所有消息 ( 或在 其它实施例中, 为对话 ) 的条目或数据。于是, 当把标签添加于对话时, 也把数据添加于索 引 1710, 以把该标签映像于对话中的所有消息。 当把标签从对话去除时, 也去除把该标签映 像于对话中的消息的索引中的数据, 或者使该索引无效。 在某些实施例中, 还把每一个与对 话相关联的标签或属性添加于对话数据库 1808( 图 18) 中的一个或多个条目。
         尽管可以把全文本与属性索引 1710 配置为能够把查询项目映像于各个消息 ID 1712, 然而也可以提供其它数据结构以把消息 ID 映像于对话标识符。图 18 描述了一个这 样的数据结构集合的逻辑图。 本技术领域中的普通技术人员将会意识到可以使用许多不同 的数据结构把搜索查询项目映像于对话或对话标识符。
         如先前所描述的, 用户数据库 1702 可以包括引用与具体用户相关联的全文本与 属性索引 1710 的用户 ID 1708。参照图 18, 可以把具体消息 ID 1712 与消息至对话映像 1804 中的具体对话 ID 1802 相关联。 消息至对话映像 1804 中的每一个条目把消息 ID 1712 关联 ( 即映像 ) 于对话 ID 1802。在某些实施例中, 对话 ID 1804 为 n 个比特的数字。这一 数字唯一地标识了消息 ID 1712 所标识的消息所属于的具体对话。在这些实施例中, 用户 的邮件账户中的每一对话具有不同的对话 ID。
         为了标识与具体对话相关联的其它消息, 可以使用用户对话数据库 1808。 例如, 当 标识包括在其中一条或多条消息已与具体搜索查询相匹配的对话中的其余消息时, 可以使 用这样的数据库。用户对话数据库包括多个对话条目 1810。每一个对话条目 1810 存储与 该对话相关的消息的列表 ( 或者代表消息的其它数据结构 )。例如, 对话条目 1812 可以包 括消息条目 1816 的链接列表, 每一个消息条目对应于对话中的具体消息。例如, 根据与对 话中的消息相关联的日期 / 时间值对链接列表进行排序。示例性的消息条目 1816 包括具 体消息的消息 ID 1712、 报头 1818 以及标签 1820。报头 1818 可以包括先前所描述的报头 信息 1612 的全部或一部分。标签 1820 可以包括标识与消息相关联的某些属性的信息。可 以把具体条目 1822 的消息 ID(4)1712 与消息数据库 1602 中的具体消息相关联。在某些实 施例中, 消息条目 1816 不包括对应消息体的内容。
         在某些实施例中, 索引 1708 中的信息和对话条目 1812 中的信息有助于把新消息 与具体对话相关联, 在图 11 的阶段 1106 中可做到这一点, 而且不必存取消息数据库 1602。 当把消息标识为尽可能地与新到达的消息相匹配 ( 图 12 的阶段 1204) 时, 可以使用匹配消 息的报头 1818 来实现对最佳匹配消息的判断以及因此对最佳匹配对话的判断。例如, 报头 1818 可以包括能够将它们 ( 呈正常化形式的 ) 与新到达消息的正常化主题加以比较的消息 的主题信息。也可以把报头 1818 中的其它信息与正被处理的流入消息的报头信息进行比 较。一旦已经把对话标识为匹配的, 则可以把所标识对话的消息条目的标签 1820 中所标识 的属性施用于流入的消息 ( 图 13 的阶段 1307), 而不必从消息数据库检索任何消息。
         当从对话中删除消息时, 可以修改对话条目 1812, 而不会影响对话中的其它消 息。在这种情况下, 可以从消息条目的链接列表中删除对应于将要删除的消息的消息条目 1816( 在对话条目 1812 中 )。于是, 将不再把该消息与该对话相关联。在某些实施例中, 考 虑到删除操作, 也可以对消息至对话映像 1804 进行修改。
         如先前所描述的, 在某些情况下, 例如, 人们可能希望使用特定属性对删除的消息进行标记, 但不从对话中去除该消息。 当条件为使得可以从对话中去除该消息时, 可以象以 上所描述的那样做。可允许从消息至对话映像 1802 和对话条目 1812 中去除消息的条件, 可包括自从把消息标记为删除后的一定量时间的消逝、 用户的动作、 或者其它触发事件。
         也可以把对话标识为删除, 但尚未从用户的邮件账户中去除。当把对话永久性地 从用户的邮件账户中去除时, 则可以去除针对该对话的消息至对话映象 1802 的条目。另 外, 还可以从对话数据库 1808 中去除对应的对话条目 1812, 而且还可以从索引 1708 中去除 对话中的消息的索引条目。
         如以上所示, 在另一个实施例中, 全文本消息索引 1708 响应查询, 返回对话标识 符的列表。 在本实施例中, 可以省略消息至对话映像 1802。 取而代之, 由对话数据库提供完 成相应于查询的对话的处理所需的主要映像。
         参照图 19, 实现上述方法的对话服务器 102 的实施例包括一个或多个处理单元 (CPU)1902、 一个或多个网络或其它通信接口 1904、 存储器 1006 以及一个或多个用于互连 这些部件的通信总线 1908。 对话服务器 102 可以有选择地包括含有显示设备和键盘的用户 接口。存储器 1906 可以包括高速随机存取存储器, 并且还可以包括非易失存储器, 例如一 个或多个磁盘或光存储盘。存储器 1906 可以包括远离 CPU 1902 放置的海量存储器。存储 器 1906 可以存储 : 操作系统 1916, 其包括用于处理各种基本系统服务和用于执行依赖于硬件的任务 的规程 ;
         网络通信模块 ( 或指令 )1918, 其用于经由诸如 Internet、 其它广域网、 局域网、 大 都市区域网等的一个或多个网络通信接口 1904( 有线或无线 ), 把对话服务器 102 连接于其 它计算机 ; 以及
         对话引擎 1002 模块, 其用于响应来自对话助手 110 的请求, 以及向对话助手 110 提供答复, 如先前所描述的, 并且可以包括 :
         处理新消息模块 1920, 其用于处理新消息, 如先前所描述的 ;
         搜索模块 1922, 其用于搜索用户的消息, 如先前所描述的, 搜索模块 1922 包括用 于处理来自由用户 1922 所提供的输入的搜索请求的模块, 以及用于处理由对话助手 110 所 启动的系统生成搜索的模块 1926 ;
         对话助手加载器 1928, 其用于向对话助手 110 提供允许对话助手处理从对话服务 器 102 提供于其的信息的信息。在某些实施例中, 当首次把客户机计算机连接于对话服务 器 102 以处理电子邮件消息时, 引用对话助手加载器 1928, 以把对话助手 110 加载于客户机 计算机。在某些实施例中, 每次启动电子邮件对话期时, 对话助手加载器 1928 把对话助手 110 加载在客户机计算机上, 而在其它实施例中, 客户机计算机把对话助手 110 从一个电子 邮件对话期保持到另一个电子邮件对话期 ;
         回答格式化模块 1930, 其用于提供要被提供给对话助手 110 的格式化信息, 如先 前所描述的, 包括对话排序模块 1932, 其用于根据预先定义的准则来排序对话, 如先前所描 述的 ; 选择对话模块 1034, 其用于从可以被返回的总数中选择要被返回到对话助手 110 的 对话的预先确定的数目 ; 未被读取 / 未被查看消息的标识发送者 1936, 其用于标识被标记 为 “未被读取” ( 即消息未被查看或未被标记为被读取的 ) 消息的消息, 如先前所描述的 ; 自 我参照模块 1938, 其用于提供关于用自我参照信息取代用户标识的信息, 如先前所描述的 ;
         新接收者模块 1940, 其用于标识和提供关于向对话新添加接收者的信息, 如先前所描述的 ; 去除接收者模块 1942, 其用于标识和提供关于不再为对话的一部分的接收者的信息, 如先 前所描述的 ; 摘录模块 1944, 其用于获取和提供关于匹配消息的某一文本的信息, 如先前 所描述的 ; 以及全文本模块 1946, 其用于检索传输于对话助手 110 的消息的全文本, 如先前 所描述的 ; 以及格式拼写检查模块 1948, 其用于格式化从拼写检查器 1014 返回的信息 ;
         修改属性模块 1950, 其用于修改对话和消息的属性, 如先前所描述的 ;
         删除 / 去除模块 1095, 其用于标记用于删除和随后去除它们的消息或对话, 如先 前所描述的 ;
         过滤模块 1954, 其用于创建、 监视以及执行过滤, 如先前所描述的 ; 以及
         编写 / 发送模块 1956, 其允许用户编写消息, 并且把所得到的消息提交于 SMTP 网 关 1016。
         应该认识到, 以上所描述的各种特性, 例如拼写检查处理的示例性实施例, 以及显 示方法, 不局限于电子消息处理或电子邮件。例如, 在其它实施例中, 可以把上述的拼写检 查方法或用户接口施用于各种类型的文档 ( 例如, 字处理文档 ), 或者与各种类型的文档相 结合加以实现。
         已参照具体的实施例解释性地进行了以上的描述。然而, 上述说明性的讨论不旨 在穷举性地描述本发明, 或者把本发明限制于所公开的精确形式。 鉴于以上的讲授, 对本发 明进行众多的修改与变更是可能的。对实施例的选择与描述, 旨在最好地解释本发明的原 理及其实际的应用, 从而可使本技术领域中的其它技术人员能够通过所考虑的适合于具体 应用的各种修改, 来充分利用本发明及其各种实施例。

    关 键  词:
    基于 对话 电子 邮件系统 显示 扩展 消息
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:在基于对话的电子邮件系统中显示扩展的消息.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4616276.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1