自动对话技术的制作方法

文档序号:6594058阅读:177来源:国知局
专利名称:自动对话技术的制作方法
自动对话技术背景电子邮件应用程序可以给用户提供将消息存储在类似于由许多文件系统所提供 的界面的界面内的逻辑文件夹中的能力。电子邮件应用程序还可以允许用户将已存储的消 息分组到逻辑“对话”中。每一对话都是一组相关的消息,包括,例如,根消息和对根消息的 回复或彼此之间的回复。当通过对话排列时,消息作为可以根据消息主题或线程分组的对 话列表被显示在电子邮件应用程序的用户界面中。对话可以按日期排序,并且每一对话内 的消息都可以基于谁回复了谁来排序。尽管由对话组提供了方便性,但是,某些电子邮件应用程序将对于一个对话的操 作限制到个体对话项目。例如,用户可能不需要参与同某些同事讨论午餐选项的对话线程。 用户可能需要在个体对话项目到达时删除这些单个对话项目,以使其收件箱保持干净。这 样的操作对于用户来说是繁琐并且费时的,特别是给定用户在任何给定一天可能接收到的 电子邮件消息的量增大的情况下。因此,需要对项目管理和显示技术的改善来解决这些及 其他问题,并增强用户在各种使用情形下的体验。

发明内容
提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一 些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在 用于限定所要求保护的主题的范围。各实施例一般涉及消息应用程序的自动对话技术。某些实施例特别涉及可以跨诸 如例如电子邮件应用程序等消息应用程序的整个对话组或线程地应用的自动对话动作。例如,一个实施例可以包括诸如具有消息应用程序的计算设备之类的装置。消息 应用程序可以包括,除了别的元素的之外,操作用于接收传入消息的传入消息模块。消息应 用程序还可包括通信地耦合到传入消息模块的对话标识模块,该对话标识模块操作用于确 定传入消息是对话线程的一部分,并通过将传入消息的对话标识符属性设置为对话线程的 对话标识符来将传入消息与对话线程相关联。消息应用程序可以进一步包括通信地耦合到 对话标识模块的对话管理器模块,该对话管理器模块操作用于确定对话规则与对话线程相 关联,并将对话规则应用于传入消息。描述并要求保护其他实施例。通过阅读下面的“具体实施方式
”并参考相关联的图形,这些及其他特点和优点将 变得显而易见。应该理解,前面的一般性的说明和下面的详细描述只是说明性的,不会对如 权利要求所述的方面形成限制。附图简述

图1示出了操作环境的实施例。图2示出了计算设备的实施例。图3示出了电子邮件应用程序的实施例。图4示出了第一对话视图的实施例。图5示出了第二对话视图的实施例。
图6示出了第三对话视图的实施例。图7示出了第四对话视图的实施例。图8示出了第五对话视图的实施例。图9示出了逻辑流程的实施例。图10示出了制品的实施例。
具体实施例方式各实施例包括被配置为执行某些操作、功能或服务的物理或逻辑结构。结构可以 包括物理结构、逻辑结构或两者的组合。物理或逻辑结构是使用硬件元素、软件元素或两者 的组合来实现的。然而,参考特定硬件或软件元素对实施例的描述只作为示例而非限制。 使用硬件或软件元素以实际实践实施例的决定取决于若干个外部因素,如所希望的计算速 率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线 速度,及其他设计或性能约束。此外,物理或逻辑结构还可以具有对应的物理或逻辑连接, 以便以电子信号或消息的形式在各结构之间传达信息。连接可以包括对于信息或特定结构 适合的有线和/或无线连接。值得注意的是,对“一个实施例”、“实施例”的引用意味着结 合该实施例所描述的特定特征、结构或特性被包括在至少一个实施例中。在本说明书中的 不同位置出现短语“在一个实施例中”不一定都是指同一个实施例。各实施例可以涉及消息应用程序的自动对话技术。可以为任何消息应用程序实现 自动对话技术。消息应用程序的示例可包括,但不仅限于,电子邮件消息应用程序、文本消 息应用程序、短消息服务(SMS)消息应用程序、多媒体消息服务器(MMS)消息应用程序、话 音消息应用程序、视频消息应用程序等等。在一个实施例中,可以参考电子邮件应用程序作 为示例而不是限制来描述自动对话技术。然而,特定实现可以关于其他消息应用程序实现 自动对话技术,并仍在各实施例的范围内。各实施例可以涉及诸如电子邮件应用程序等消息应用程序的自动对话技术。一般 而言,电子邮件应用程序允许用户通过电子通信系统来编写、发送,以及接收消息。在某些 实施例中,所描述的技术可以通过客户机/服务器电子邮件消息接发系统的一个或多个元 素来实现。在这样的实施例中,服务器可以支持各种消息接发客户机,接受来自客户机的请 求和数据,处理请求,存储数据,并将处理结果返回到客户机。因此,项目聚集和显示技术中 的一个或多个可以实现为基于客户机的电子邮件应用程序、基于服务器的电子邮件应用程 序内的特征,该基于服务器的电子邮件应用程序包括经由web浏览器和/或通过其他类型 的与电子邮件进行交互的应用程序、程序或服务提供对电子邮件服务的访问的基于web的 电子邮件应用程序。在某些实施例中,自动对话技术中的一个或多个可以在诸如由位于美国华盛顿州 雷德蒙市的微软公司出品的MICROSOFT OFFICE OUTLOOK 应用程序软件之类的电子 邮件客户端应用程序或软件程序内实现。在这样的实施例中,所描述的技术可以由电子邮 件客户端应用程序在联机或者脱机模式下执行。在脱机模式下,电子邮件客户端应用程序 可以对本地存储或高速缓存的电子邮件消息执行一个或多个自动对话技术。可以理解,所 描述的技术可以通过根据所描述的实施例的任何类型的电子邮件客户端来实现,包括,但 不仅限于,消息接发应用程序编程接口(MAPI)客户端、超文本传输协议(HTTP)客户端、邮局协议3(POP;3)客户端、因特网消息访问协议(IMAP或IMAP4)客户端、网络新闻传输协议 (NNTP)客户端等等。另选地或另外地,一个或多个自动对话技术可以实现为诸如由位于美国华盛顿州 雷德蒙市的微软公司的MICROSOFT EXCHANGE SERVER 之类的基于服务器的电子邮件应 用程序或软件程序内的特征。服务器可以提供电子邮件、日历、联系人和任务功能,并支持 对信息以及数据存储的移动和基于web的访问。服务器可以包括用于将包括电子邮件消息 的项目及其他数据存储在邮箱和文件夹中的消息存储或与该消息存储进行通信,并可以提 供用于与各种电子邮件客户端进行通信并允许访问消息存储的接口。服务器还可以包括包 含有关系统的用户的信息和配置信息的目录或与该目录进行通信,该配置信息可以被消息 传输子系统用来对于发往该服务器上的、同一个组织中的另一服务器上收件人和/或发往 因特网或其他消息接发系统上的收件人的电子邮件消息执行各种路由和传输操作。在某些实施例中,服务器可以支持各种web服务,包括web访问,移动访问,以及同 步功能,因特网信息服务(IIS)和因特网服务器应用程序编程接口(ISAPI)应用程序—— 这些应用程序提供SMTP、NNTP、IMAP4和P0P3服务,以使因特网用户通过各种因特网接入协 议和基于HTTP的协议——包括通过HTTP通信的远程过程调用(RPC)——来访问消息接发 数据。在一些实现中,数据可以被格式化为压缩的无线二进制XML(WbXML)数据,以有效利 用移动客户端的带宽。除标准因特网协议之外,当供公司或其他组织使用时,服务器还可以 支持通过专有的或非标准协议的通信。电子邮件应用程序可以向用户提供将消息存储在类似于由许多文件系统所提供 的界面的界面内的逻辑文件夹中的能力。可以理解,术语“文件夹”可以是指不管存储在用 户界面中和/或在用户界面中表示的项目的任何集合。尽管当引用邮件集合时某些操作系 统或应用程序可以不使用术语“文件夹”,但是,这样的情形也被描述和示出文件夹的实施 例所涵盖。电子邮件应用程序还可以允许用户和/或逻辑将已存储的消息分组到逻辑对话 中,以形成对话组或对话线程。每一对话都可以包括一组相关的消息,包括,例如,根消息和 对根消息的回复或彼此之间的回复。当用户选定通过对话排列消息时,消息作为可以根据 消息主题或线程分组的对话列表被显示在电子邮件应用程序的用户界面中。对话可以按日 期排序,并且每一对话内的消息都可以基于谁回复了谁来排序。在某些情况下,一对话的消息可以跨多个文件夹地存储。例如,用户可以人工地将 消息组织到各种文件夹中。用户还可以设置用于基于发件人、主题或其他准则来将电子邮 件消息自动地分隔到某些文件夹的一个或多个过滤规则。此外,由一个用户所发送的回复 消息还可以存储在该用户的已发送项目文件夹内。尽管由对话线程提供了方便性,但是,某些电子邮件应用程序将对于一个对话的 操作限制到个体对话项目。例如,用户可能不需要参与同某些同事讨论午餐选项的对话线 程。用户可能需要在个体对话项目到达时删除这些个体对话项目,以使其收件箱保持干净。 这样的操作对于用户来说是繁琐并且费时的,特别是给定用户在任何给定一天可能接收到 的电子邮件消息的量增大的情况下。为解决这些及其他问题,各实施例可以为消息应用程序实现各种自动对话技术。 某些实施例特别涉及可以跨诸如例如电子邮件应用程序之类的消息应用程序的整个对话
6组或对话线程地应用的自动对话技术。例如,一个实施例可以包括诸如具有诸如电子邮件应用程序等消息应用程序的计 算设备之类的装置。消息应用程序可以包括,除了别的元素的之外,用于接收传入消息的传 入消息模块。消息应用程序还可包括可通信地耦合到传入消息模块的对话标识模块,该对 话标识模块操作用于确定传入消息是对话线程的一部分,并通过将传入消息的对话标识符 属性设置为对话线程的对话标识符来将传入消息与对话线程相关联。消息应用程序还可以 进一步包括可通信地耦合到对话标识模块的对话管理器模块,该对话管理器模块操作用于 确定对话规则与对话线程相关联,并对传入消息应用对话规则。以此方式,用户需要建立对 话规则一次,该对话规则就可被自动地应用于一个对话线程中的所有已存储的消息,以及 作为同一个对话线程的一部分的新的传入消息。结果,用户可能具有增强的消息接发体验。更具体而言,对话管理器模块按可跨整个对话组或对话线程应用的对话级别动作 的形式实现自动对话技术。对话级别动作通常影响整个对话线程中的某些或所有消息。通 过对比,项目级别动作通常影响单个消息项目。对话规则的示例可包括,但不仅限于,“始终 删除”对话规则、“始终移动,,对话规则、“始终分类”对话等等。这些只是几个示例,且可以 根据给定实现的需要,为对话线程实现任意数量的对话级别动作。在此上下文中,实施例不 受限制。图1示出了适于实施各实施例的操作环境100的框图。操作环境100可以包括为 通过单个实体环境或多个实体分布式环境的实现而设计的元素。根据对于给定一组设计参 数或性能约束的需要,每一元素都可以实现为硬件元素、软件元素或其任何组合。硬件元素 的示例可包括器件、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容 器、感应器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理 器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯 片、芯片集等等。软件元素的示例可包括任何软件元素组件、程序、应用、计算机程序、应用 程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方 法、接口、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代 码段、文字、值、符号,或其任何组合。如此处所使用的,术语“系统”、“子系统”、“组件”,以及“模块”等等旨在表示计 算机相关实体,包括硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可被实 现为在处理器上运行的进程、处理器、硬盘驱动器、多个存储驱动器(光学和/或磁存储介 质)、对象、可执行程序、执行的线程、程序,和/或计算机。作为说明,在服务器上运行的应 用程序和服务器两者都可以是组件。根据给定实现的需要,一个或多个组件可以驻留在进 程和/或执行的线程内,组件可以被局部化在一台计算机上和/或分布在两个或更多计算 机之间。在此上下文中,实施例不受限制。在图1所示出的实施例中,操作环境100可以包括,除了别的元素的之外,客户机 计算设备Iio和服务器计算设备130。计算设备110,130可以利用具有计算能力和通信能 力的任何合适的电子设备来实现。计算设备110,130的示例可包括,但不仅限于,移动设 备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手持机、单向寻呼机、双向寻呼机、 消息接发设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本电脑、手持式 计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、微型计算机、大型计算机、巨型计算机、网络设备、web设备、分布式计算系统、多处理器系 统、基于处理器的系统、消费电子产品、可编程消费电子产品、电视机、数字电视、机顶盒、无 线接入点、基站、订户站、移动用户中心、无线网络控制器、路由器、集线器、网关、桥接器、交 换机、机器或其组合。虽然如图1所示的操作环境100在某一拓扑中具有有限数目个节点, 但是,可以理解,操作环境100可根据给定实现的需要,在替换的拓扑中包括更多或更少的 节点。计算设备110,130可以经由网络118和适当的无线或有线通信介质来可通信地耦 合。计算设备110,130可以在彼此之间协调操作。协调可以涉及单向或双向信息交换。例 如,计算设备110,130可以通过网络118传达信息。网络118可以包括分组交换网、电路交 换网、或两者的组合。信息可被实现为跨各种网络接口发送的数据消息。示例性网络接口 包括并行接口、串行接口,以及总线接口。计算设备110,130可以实现相应的计算系统120,120a。计算系统120,120a可包括 各种计算元件,诸如一个或多个处理器、协处理器、存储器单元、芯片集、控制器、外围设备、 接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件等等。计算系统120, 120a可以实现,除了别的元素之外,相应的客户端应用程序122和服务器应用程序132。在 图1中所示出的示例中,客户端应用程序122可以包括电子邮件客户端应用程序IM及其 他应用程序126,而服务器应用程序132可以包括电子邮件服务器应用程序134及其他应用 程序136。在各实现中,电子邮件客户端应用程序124和/或电子邮件服务器应用程序134 可以执行根据所描述的实施例的一个或多个项目聚集和显示技术。应用程序1 可以包括支持客户机计算设备110的操作的一种或多种类型的应用 程序。示例性应用程序可以包括,但不仅限于,web浏览器应用程序、电话应用程序(例如, 蜂窝式、VoIP、PTT)、网络应用程序、消息接发应用程序(例如,IM、SMS、匪S)、日历应用程 序、联系人应用程序、任务应用程序、文字处理应用程序、电子表格应用程序、数据库应用程 序、媒体应用程序(例如,视频播放器、音频播放器、多媒体播放器、数码相机、摄像机、媒体 管理)、基于位置的服务(LBQ应用程序、游戏应用程序等等。应用程序136可以包括支持服务器计算设备130的操作的一种或多种类型的应用 程序。在各实现中,应用程序136可包括支持根据所描述的实施例的作为电子邮件服务器、 web服务器和/或文件服务器的服务器计算设备130的操作的服务器应用程序。在某些情 况下,应用程序136中的一个或多个可以包括应用程序1 中的一个或多个的网络、服务器 或基于web的版本。在这样的情况下,应用程序126,136可以分开地操作,诸如当客户机计 算设备110离线时,或当客户机计算设备110在线并经由网络118连接到服务器计算设备 130时可以进行交互操作。计算系统120、120a还可以包括适于控制客户机计算设备110和服务器计算设备 130的操作的相应的操作系统128,138。在某些实施例中,操作系统128,138可以包括诸如 由位于华盛顿州雷德蒙市的微软公司出品的MICROSOFT WINDOWS 操作系统之类的操 作系统的相应的客户端和服务器版本。可以理解,其他合适的操作系统可以用于客户机计 算设备110和/或服务器计算设备130。计算设备110,130可以包括用于诸如电子邮件消息及邮箱和文件夹中的其他数 据之类的项目存储的数据存储,或与该数据存储进行通信。参考图1,数据存储可以由数据库140来实现。在这样的实现中,当经由网络118连接时,服务器计算设备130可以向客户 机计算设备110提供对数据库140的访问。另选地或另外地,客户机计算设备110可以经 由网络118直接访问数据库140。尽管为了说明目的而被示为单独的元素,但是,可以理解, 在某些实施例中,数据库140可以构成客户机计算设备110和/或服务器计算设备130的 一部分。还可以理解,数据存储可以驻留在客户机计算设备110,服务器计算设备130,和/ 或数据库140上,且在某些实施例中,客户机计算设备110、服务器计算设备130,和/或数 据库140可以存储可以彼此同步的相应的数据存储。除相应的计算系统120、120a之外,计算设备110,130还可以实现相应的通信系统 150,150a。通信系统150,150a可包括各种通信元件,如发射机、接收机、收发机、无线电、网 络接口、基带处理器、天线、放大器、滤波器等等。例如,在一个实施例中,计算设备110,130 可以使用如参考图2所描述的计算和通信体系结构来实现。图2提供了适于实施各实施例的计算设备200的说明性体系结构。计算设备200 可以代表例如客户机计算设备110和/或服务器计算设备130。如图所示,计算设备200示 出了个人或服务器计算机的常规计算体系结构,包括包含处理器204和系统存储器206的 处理系统。系统存储器206可包括,除其他类型的存储器之外,随机存取存储器(RAM)和只 读存储器(ROM) 210。诸如基本I/O系统(BIOS)之类的输入/输出(I/O)系统可以实现诸 如在启动操作期间使用存储在ROM 210中的逻辑来帮助在计算设备200内的各元件之间传 输信息的例程。系统总线212可通信地耦合计算设备200的所有元件以促进信息传输和数 据处理操作。计算设备200还包括用于存储诸如操作系统1 之类的操作系统以及其他程序模 块216和程序数据218的大容量存储设备214。大容量存储设备214还可以存储各种应用 程序,如下面比较详细地描述的。大容量存储设备214可以通过连接到系统总线212的大容量存储控制器(未示 出)连接到处理器204。大容量存储设备214以及其相关联的计算机可读介质,为计算设 备200提供非易失性存储器。虽然此处包含的计算机可读介质的描述引用了诸如硬盘或 CD-ROM驱动器之类的大容量存储设备,但是,本领域的技术人员应该了解,计算机可读介质 可以是可以被计算设备200访问的任何可用的介质。作为示例而非限制,计算机可读介质 可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指 令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失 性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EPR0M、EEPR0M、闪 存或其它固态存储器技术、CD-ROM、DVD或其它光学存储、磁带盒、磁带、磁盘存储或其它磁 性存储设备、或能用于存储所需信息且可以由计算机访问的任何其它介质。根据各实施例,计算设备200可以通过网络118,使用到远程计算机的逻辑连接在 联网环境中操作,在一些实现中,网络118可以是诸如因特网之类的传输控制协议(TCP)和 网际协议(IP)网络。计算设备200可以通过连接到系统总线212的网络接口 220(例如, 有线或无线网络接口)连接到网络118。可以理解,网络118可以包括根据所描述的实施例 的任何类型的网络,包括,但不仅限于,广域网(WAN)、局域网(LAN),和/或蜂窝电话网络, 并且网络接口 220可以支持各种传输层,如GPRS、CDMA lxRTT、IEEE 802. 11,及用于连接到 各种网络和/或远程计算机系统的其他。
计算设备200可包括用于接收和处理来自多个输入设备224的输入的I/O控制器 222。用户可以通过诸如键盘和定点设备(如,鼠标、跟踪球或触摸板)之类的各种输入设 备224向计算设备200中输入命令和信息。输入设备224的其他示例可包括麦克风、游戏 杆、游戏手柄、碟形卫星天线、扫描仪等等。输入设备2M可以通过耦合到系统总线212的 I/O控制器222连接到处理器204,但是,也可以通过诸如并行端口、游戏端口或通用串行总 线(USB)之类的其他接口和总线结构来进行连接。I/O控制器222也可以提供到诸如监视 器或经由I/O控制器222连接到系统总线212的其他类型的显示设备之类的各种输出设备 224的输出。在各实现中,显示设备可以根据所描述的实施例,向用户呈现一个或多个用户 界面(UI)。除显示设备之外,I/O控制器222可以提供到打印机、扬声器及其他外围设备的 输出。如上文所提及的,许多程序模块和数据文件可以存储在计算设备200的大容量存 储设备214和RAM 208中。在图2中所示出的示例中,大容量存储设备214和RAM 208可 以存储操作系统128以及一个或多个客户端应用程序122,包括电子邮件客户端应用程序 1 及其他应用程序126。可以理解,在一些实现中,大容量存储设备214和RAM 208可以 存储操作系统138以及一个或多个服务器应用程序132,包括电子邮件服务器应用程序134 及其他应用程序136。根据各实施例,电子邮件客户端应用程序IM和/或电子邮件服务器应用程序134 可以实现一种或多种自动对话技术。例如,在一个实施例中,电子邮件客户端应用程序1 和/或电子邮件服务器应用程序134可以如参考3所描述的那样来实现。图3示出了适于实施各实施例的电子邮件应用程序300的一个实施例。参考图1 和2,在一些实现中,电子邮件应用程序300可以作为电子邮件客户端应用程序IM来操作, 如驻留在计算设备110上的客户端应用程序122中的一个那样。另选地或另外地,电子邮 件应用程序300可以作为电子邮件服务器应用程序134来操作,如驻留在计算设备130上 的服务器应用程序132中的一个那样。此外,电子邮件应用程序300的一个或多个部分可 以在电子邮件客户端应用程序124和电子邮件服务器应用程序134之间分布。电子邮件应 用程序300的一个或多个部分也可以通过计算设备200的RAM 208中、另一个远程计算机 上、或在计算机软件领域中的人所想到的任何其他变体中的应用程序来实现。如图所示,电子邮件应用程序300可包括项目存储310。尽管为了说明起见,而不 是限制,项目存储310被示为电子邮件应用程序300的一部分,但是,可以理解,根据所描述 的实施例,项目存储310可以驻留在各个位置。例如,项目存储310可以驻留在客户机计算 设备110上、服务器计算设备130上,和/或数据库140中。作为一个非限制性示例,电子 邮件应用程序300的项目存储310可以驻留在计算设备200的程序数据218内,无论是数 据库中和/或一个或更多文件中。作为另一非限制性示例,项目存储310可以全部或部分 地驻留在诸如操作系统1 或操作系统138之类的操作系统的文件系统中由用户所指定的 目录里。作为另一非限制性示例,项目存储310可以全部或部分地驻留在可以由服务器计 算设备130访问或主存的数据库140上。在图3中所示出的示例中,项目存储310包括收件箱文件夹312、垃圾文件夹314、 已发送项目文件夹316、一个或多个其他电子邮件文件夹318,以及一个或多个存档文件 320。可以理解,项目文件夹或文件可以是指不管存储在用户界面中和/或在用户界面中表示的项目的任何集合。尽管当引用项目集合时某些操作系统或应用程序可以不使用项目文 件夹,但是,这样的情形也被描述和示出文件夹的实施例所涵盖。还可以理解,根据所描述 的实施例,也可以实现其他文件夹变体和文件。电子邮件应用程序300可以向用户提供将邮件存储在诸如收件箱文件夹312、垃 圾文件夹314、已发送项目文件夹316之类的某些逻辑文件夹中,以及诸如用于存储与某一 发件人或收件人、主题(例如,规划项目)、内容(例如,文本、附件)或其他准则相关联的项 目的用户创建文件夹之类的一个或多个其他电子邮件文件夹318的能力。用户可以与电子 邮件应用程序300交互并手动地将项目组织到各种文件夹中。用户还可以设置用于基于发 件人、收件人、主题、内容或其他准则来将项目自动地分隔到某些文件夹的一个或多个过滤 规则。此外,由用户响应于其他消息所发送的回复消息还可以存储在已发送项目文件夹316 内。用户还可以将旧的项目存储在一个或多个存档文件320中,这些存档文件320可被实 现为用户的本地硬盘驱动器上的一个或多个个人存储表扩展(.pst)文件和/或任何其他 合适的存档数据结构。电子邮件应用程序300可以允许用户将已存储的消息分组到逻辑对话中。每一对 话都可以包括一组相关项目,包括,例如,根消息和对根消息的回复或彼此之间的回复。在 一些情况下,一对话的相关项目可以跨多个存储位置存储,诸如跨收件箱文件夹312、垃圾 文件夹314、已发送项目文件夹316、其他电子邮件文件夹318,以及存档文件320中的两个 或更多地存储。如图所示,电子邮件应用程序300可包括邮件管理逻辑330,该逻辑330可以负责 执行此处所描述的项目聚集和显示技术中的一些或全部。在图3中所示出的示例中,邮件 管理逻辑330包括各种模块,且每一模块表示由项目管理逻辑330执行的各种操作的离散 的逻辑集。项目管理逻辑330还可以包括用于操作可以支持各种其他操作和能力的电子邮 件应用程序300的其他逻辑。示例性操作和能力可包括发送和接收操作、存储和组织操作、 过滤操作、排序操作、搜索操作、预览操作、用于同步的能力、用于访问消息接发数据(包括 web访问和移动访问)的能力、用于检测用户的联机/脱机状态的能力、用于将电子邮件应 用程序300与日历、联系人和任务功能集成的能力、和/或根据所描述的实施例的任何其他 特征。在一些实现中,项目管理逻辑330可以作为客户机计算设备110上的客户端应用 程序122的一部分或作为服务器计算设备130上的服务器应用程序132的一部分,驻留在 电子邮件应用程序300内。然而,可以理解,根据所描述的实施例,项目管理逻辑330可以 替代地或另外地被实现为存储在各种位置的一种或多种类型的计算机可读存储介质上的 计算机可执行指令。虽然图3中所示出的示例包括特定的一组逻辑,但是,可以理解,项目管理逻辑 330提供一般功能的示例性实现。可以理解,逻辑的序列不一定必须按呈现的顺序执行,除 非另有陈述。此外,尽管项目管理逻辑330可以被描述为执行特定步骤序列,但是,根据替 换实施例,还可执行其他步骤序列。此外,由项目管理逻辑330所执行的某些个体步骤可包 括多个子步骤,这些子步骤可以对个体步骤合适的各种序列执行。此外,取决于特定实现, 还可以执行额外的步骤,或者某些步骤可以被项目管理逻辑330省去。
在图3所示出的实施例中,项目管理逻辑330可以被细分为传入消息模块332、对 话标识模块334、对话管理器模块336、消息检索模块338,以及传出消息模块340。应该理 解,这些模块可以共享一个或多个公共指令。此外,还应该理解,项目管理逻辑330可包括 除所示出的模块之外的其他消息模块;342,用以提供额外的消息功能。例如,项目管理逻辑 可包括过滤掉“兜售信息(spam),,电子邮件消息的消息模块。当由处理器204执行时,传入消息模块332与操作系统1 进行交互,以接收由网 络接口 220从网络118接收到的传入电子邮件消息。例如,传入消息模块332可以使用由 操作系统1 所提供的接口来配置导致操作系统128向传入消息模块332提供传入电子 邮件消息的回调。当传入消息模块332接收传入电子邮件消息时,传入消息模块332可以 对传入电子邮件消息执行一个或多个电子邮件处理操作。例如,传入消息模块332可以确 定传入电子邮件地址是否包括指定与由计算设备110,130维护的活动帐户相关联的电子 邮件地址的“送往(to)”属性、“抄送(cc)”属性或“暗送(bcc)”属性。在此示例中,当传 入电子邮件消息的“送往”属性、“传送”属性或“暗送”属性指定与由计算设备110,130先 前维护的不活动帐户相关联的电子邮件地址时,传入消息模块332可以生成传出“弹回”消 息。在传入消息模块332对传入电子邮件消息执行电子邮件处理操作之后,传入消息模块 332可以向对话标识模块334提供传入电子邮件消息。项目管理逻辑330可包括可通信地耦合到传入消息模块332的对话标识模块334。 对话标识模块334操作用于确定传入消息是对话线程的一部分。对话标识模块334通过将 传入消息的对话标识符属性设置为对话线程的对话标识符来将传入消息与对话线程相关联。当由处理器204执行时,对话标识模块334从传入消息模块332接收传入电子邮 件消息,并尝试识别与传入电子邮件消息相关联的现有对话。如果对话标识模块334不能 成功地识别与传入电子邮件消息相关联的现有对话,则对话标识模块334可以将传入电子 邮件消息与新对话相关联。对话标识模块334可以以许多不同的方式确定消息是否是现有对话的一部分。例 如,在一个实施例中,当下列条件中的一个或多个出现时,对话标识模块334执行将传入电 子邮件消息与现有对话相关联的算法(1)传入电子邮件消息包括“答复”属性,该属性指定与由同现有对话相关联的所 存储消息的“消息标识符”属性所指定的值相对应的值;(2)传入电子邮件消息包括“引用”属性,该属性指定与由同现有对话相关联的所 存储消息的“消息标识符”属性所指定的值相对应的值;以及(3)传入电子邮件的规范化的“主题”属性与同现有对话相关联的所存储消息的规 范化的“主题”属性相对应。这些条件中的一个条件的出现可以表示用于允许对话标识模块334将传入电子 邮件消息与现有对话相关联的示例性的一组前提条件。然而,还可以有其中在对话标识模 块334将传入电子邮件消息与现有对话相关联之前可以发生附加条件的实现。例如,当条 件⑵出现且仅当条件⑴不出现时,一个实现可以将接收到的消息与现有对话相关联。另外地或替换地,对话标识模块334不将电子邮件消息与对话相关联。相反地,对 话标识模块334可以执行用于将电子邮件消息与对话相关联的动作。这包括传入电子邮件
12消息以及传出电子邮件消息两者。在对话标识模块334将传入电子邮件消息与现有对话相关联或将传入电子邮件 消息与新对话相关联之后,对话标识模块334可以在消息数据库350中存储传入电子邮件 消息连同标识与该传入电子邮件消息相关联的对话的对话标识符。在一种实现中,消息数 据库350包括一个表,该表包括对应每一个电子邮件消息的行和对应电子邮件消息的每一 属性的列。例如,该表可包括对应电子邮件消息的“送往”属性的列、对应电子邮件消息的 “来自”属性的列、对应电子邮件消息的“抄送”属性的列、对应电子邮件消息的“日期”属性 的列、对应电子邮件消息的“主题”属性的列、对应电子邮件消息的“正文”属性的列等等。 此外,在此情况下,该表可包括对应标识与电子邮件消息相关联的对话的对话标识符的列。 如下所示,在表1中提供了示例表 权利要求
1.一种方法,包括接收(902)传入消息;确定(904)所述传入消息是对话线程的一部分;将所述传入消息与所述对话线程相关联(906);确定(908)对话规则与所述对话线程相关联;以及将所述对话规则应用于(910)所述传入消息。
2.如权利要求1所述的方法,其特征在于,接收作为电子邮件消息、文本消息、短消息 服务消息、多媒体消息服务器消息、语音消息或视频消息的所述传入消息。
3.如权利要求1或2所述的方法,其特征在于,包括创建具有多个消息的所述对话线程。
4.如权利要求1-3中的任一项权利要求所述的方法,其特征在于,包括为所述对话线 程创建对话规则。
5.如权利要求1-4中的任一项权利要求所述的方法,其特征在于,包括创建“始终删 除”对话规则以将所述传入消息自动地路由到“已删除项目”文件夹。
6.如权利要求1-5中的任一项权利要求所述的方法,其特征在于,包括创建“始终移 动”对话规则以将所述传入消息自动地路由到目标项目文件夹。
7.如权利要求1-6中的任一项权利要求所述的方法,其特征在于,包括创建“始终分 类”对话规则以为所述传入消息自动地指派类别。
8.如权利要求1-7中的任一项权利要求所述的方法,其特征在于,包括将所述对话线 程的对话规则存储在对话动作表中。
9.如权利要求1-8中的任一项权利要求所述的方法,其特征在于,包括通过向所述传 入消息指派所述对话线程的对话标识符来将所述传入消息与所述对话线程相关联。
10.如权利要求1-9中的任一项权利要求所述的方法,其特征在于,包括将所述对话规 则应用于所述对话线程的任何所存储的消息。
11.一种包括其中包含指令的机器或计算机可读存储介质的制品,当指令被执行时使 系统能实现如权利要求1到10中的任一项权利要求所述的方法。
12.一种装置,包括操作用于接收传入消息的传入消息模块(332);通信地耦合到所述传入消息模块的对话标识模块(334),所述对话标识模块操作用于 确定所述传入消息是对话线程的一部分,并通过将所述传入消息的对话标识符属性设置为 所述对话线程的对话标识符来将所述传入消息与所述对话线程相关联;以及通信地耦合到所述对话标识模块的对话管理器模块(336),所述对话管理器模块操作 用于确定对话规则与所述对话线程相关联,并将所述对话规则应用于所述传入消息。
13.如权利要求12所述的装置,其特征在于,所述消息包括电子邮件消息、文本消息、 短消息服务消息、多媒体消息服务器消息、语音消息或视频消息。
14.如权利要求12或13所述的装置,其特征在于,所述对话管理器模块操作用于为所 述对话线程创建对话规则,所述对话规则包括用于将所述传入消息自动地路由到“已删除 项目,,文件夹的“始终删除”对话规则,用于将所述传入消息自动地路由到目标项目文件夹 的“始终移动”对话规则,或用于为所述传入消息自动地指派类别的“始终分类”对话规则。
15.如权利要求12-14中的任一项权利要求所述的装置,其特征在于,包括通信地耦合 到所述对话管理器模块的消息数据库(350),所述消息数据库操作用于为所述对话线程存 储多个消息,所述对话管理器模块操作用于为所述对话线程创建对话规则,并将所述对话 规则应用于所述对话线程的所述多个所存储的消息。
全文摘要
描述了自动对话技术。一装置可以包括计算设备,该计算设备具有操作用于接收传入消息的传入消息模块;通信地耦合到传入消息模块的对话标识模块,该对话标识模块操作用于确定传入消息是对话线程的一部分,并通过将传入消息的对话标识符属性设置为对话线程的对话标识符来将传入消息与对话线程相关联;以及通信地耦合到对话标识模块的对话管理器模块,该对话管理器模块操作用于确定对话规则与对话线程相关联,并将对话规则应用于传入消息。描述并要求保护其他实施例。
文档编号G06Q50/00GK102067167SQ200980124644
公开日2011年5月18日 申请日期2009年5月18日 优先权日2008年6月24日
发明者A·布罗伊宁格, J·佩雷拉, J·埃德兰恩, M·阿弗恩蒂, R·E·麦克坎恩 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1