CN109891836B - 具有智能回复和漫游草稿的电子邮件 - Google Patents
具有智能回复和漫游草稿的电子邮件 Download PDFInfo
- Publication number
- CN109891836B CN109891836B CN201780067351.6A CN201780067351A CN109891836B CN 109891836 B CN109891836 B CN 109891836B CN 201780067351 A CN201780067351 A CN 201780067351A CN 109891836 B CN109891836 B CN 109891836B
- Authority
- CN
- China
- Prior art keywords
- draft
- message
- user
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
电子邮件计算***具有智能回复***,该智能回复***启用智能回复特征,该特征呈现允许用户在没有将电子邮件消息的完整内容下载至用户的客户端计算***的情况下回复电子邮件消息的用户输入机制。草稿漫游***与客户端计算***交互以允许多个不同的用户设备访问草稿电子邮件消息,并且与智能回复***交互使得可以使用智能回复特征生成草稿。
Description
背景技术
计算机***当前被广泛使用。一些这样的计算机***托管由客户端计算***访问的服务。
托管的服务可以采用各种不同的形式。例如,一些托管的服务托管一系列应用,例如,电子邮件应用、日历应用、任务和联系人应用等。托管的服务可以由位于客户端机器上的托管的服务的客户端组件访问。例如,客户端组件可以呈现用户接口功能,该用户接口功能允许用户执行日历功能(例如,安排约会等)、电子邮件功能(例如,准备并发送电子邮件消息、接收电子邮件消息、管理电子邮件***中的文件夹、管理过滤器等),添加、删除和修改联系人信息以及各种其他事物。
当用户执行这些操作时,客户端组件生成与其中部署服务的远程服务器环境同步的数据。类似地,远程服务器环境可能需要将数据从其环境同步至客户端。通过示例的方式,如果托管的服务是电子邮件服务,并且用户已经从其他电子邮件用户接收到新消息,则该服务在下次用户登录电子邮件服务时将该信息向下同步至客户端计算***。
一些托管的电子邮件服务提供草稿漫游特征。该特征允许用户开始起草电子邮件消息,并且在用户完成之前将其保存为草稿。然后,用户稍后可以使用不同的设备登录电子邮件***。当用户执行此操作时,即使用户正在通过与草稿开始的设备不同的设备访问电子邮件服务,电子邮件服务也为用户提供对草稿的访问。提供这种类型的(通过不同的设备)对用户在不同的设备上开始的草稿电子邮件消息的访问被称为草稿漫游特征。
一些电子邮件消息是非常冗长的线程的一部分,其可能包含大量的其他消息。类似地,一些电子邮件消息具有相当大的附件。智能回复特征允许用户在没有将与电子邮件消息对应的整个内容或者完整内容加载至用户通过其访问服务以及生成回复的用户设备上的情况下回复电子邮件消息。通过示例的方式,用户可以接收具有大附件的电子邮件消息。用户可能希望简单地将该消息与附件一起转发至不同的用户。智能回复特征在服务处维护完整的电子邮件消息(电子邮件消息的主体和相关联的附件),并且允许用户生成转发消息,其包括具有用户输入的文本的消息主体。当用户发送该消息时,该服务自动地将附件附到转发消息,并且将其发送给收件人。因此,用户永远不需要下载整个附件以生成并发送回复。冗长的电子邮件线程同样如此。即,使用智能回复特征,用户不需要下载整个电子邮件线程以回复或转发该线程中的消息。相反,该服务维护完整的电子邮件线程并从用户接收回复消息的新内容,然后在将其发送给收件人之前附上完整的电子邮件线程。
另外地,这种服务中的同步机制经常使用特定的协议以便在服务和客户端设备之间同步内容。当部署新的同步机制时,经常使用不同的协议,该协议与先前的同步机制中的协议不兼容。作为示例,当第一同步机制用于在服务和客户端***之间同步数据时,第一同步机制可以使用第一类型的对象标识机制来标识被同步的对象(例如,电子邮件消息、日历事件、联系人等)。然而,第二同步机制可以使用不同类型的对象标识机制以便标识那些对象。因此,如果服务使用第一同步机制运行,但希望更改或升级到第二同步机制,即使应用数据中大部分已经使用第一机制同步,该过程也经常要求服务使用第二机制同步所有应用数据。这可能花费大量时间,并且导致用户体验的中断。
此外,一些服务在用户登录服务时在服务和客户端组件之间同步数据。例如,当用户登录他或她的电子邮件服务时,该服务可以在此时开始将用户的收件箱从服务同步至客户端设备。同步机制可能相当复杂。例如,同步机制可能首先需要标识客户端***上的收件箱表示与服务上的收件箱表示之间的不同。这可以包括枚举两个***的收件箱中的所有对象,并且对这些对象进行比较以标识需要同步的项目。无论使用何种特定的同步机制,该同步机制都可能是相对计算昂贵的并且可能相对耗时。
上面的讨论仅仅是为了一般背景信息而提供的,并不旨在用于帮助确定要求保护的主题的范围。
发明内容
电子邮件计算***具有智能回复***,该智能回复***启用智能回复特征,该特征呈现允许用户在没有将电子邮件消息的完整内容下载至用户的客户端计算***的情况下回复电子邮件消息的用户输入机制。草稿漫游***与客户端计算***交互以允许多个不同的用户设备访问草稿电子邮件消息,并且与智能回复***交互使得可以使用智能回复特征生成草稿。
提供本发明内容以便以简化的形式介绍一系列概念,这些概念在下面的具体实施方式中进一步描述。本发明内容不旨在标识要求保护的主题的关键特征或者必要特征,也不旨在用于帮助确定要求保护的主题的范围。要求保护的主题不限于解决背景技术中提到的任何或者全部缺点的实现方式。
附图说明
图1A和图1B(本文统称为图1)示出了计算***架构的一个示例的框图。
图2是更详细地示出第二同步***的一个示例的框图。
图3A和图3B(本文统称为图3)示出了说明图1中所示的架构在第一同步***和第二同步***之间转换时的操作的一个示例的流程图。
图4是更详细地示出在线视图***的一个示例的框图。
图5是示出图4中所示的***在呈现在线视图和同步视图时的操作的一个示例的流程图。
图6A和图6B(本文统称为图6)示出了电子邮件(email)***架构的一个示例的框图。
图7A和图7B(本文统称为图7)示出了说明图6中所示的电子邮件***架构的操作的一个示例的流程图。
图8是示出部署在云计算架构中的图1和图6中示出的架构的一个示例的框图。
图9-11示出了可以在先前附图所示的架构中使用的移动设备的示例。
图12是示出可以在先前附图所示的架构中使用的计算环境的一个示例的框图。
具体实施方式
图1A和图1B(本文统称为图1)示出了计算***架构100的一个示例的框图。架构100包括通过网络106彼此通信的服务计算***102和客户端计算***104。网络106可以是各种不同类型的网络中的任一种,例如,广域网、局域网等。
在一个示例中,服务计算***102托管由客户端计算***104访问的服务。客户端计算***104因此生成具有用户输入机制110的用户界面108,用户输入机制110用于用户112进行的交互。用户112说明性地与用户输入机制110交互,以便控制和操纵客户端计算***104以及最终地控制和操纵服务计算***102。在更详细地描述架构100的整体操作之前,首先将提供对架构100中的项目中的一些项目及其操作的简要描述。
图1示出了在一个示例中,服务计算***102包括处理器或服务器114、服务功能116、在线视图生成***118、数据存储库120、视图混合逻辑122(其在***102上和客户端计算***104上以ghost形式示出,因为它可以位于任何地方)、服务器侧应用124、第一同步***126、第二同步***128,并且服务计算***102可以包括其他项目130。数据存储库120本身可以包括第一应用数据132、第二应用数据134,并且数据存储库120可以包括其他项目136。服务器侧应用124可以包括功能逻辑138、应用数据位置标识符140,并且服务器侧应用124还可以包括其他项目。
服务功能116说明性地包括执行功能和操作以实现托管的服务或服务器侧应用124的逻辑和功能。因此,功能116可以管理虚拟机或硬件或其他软件组件。功能116还可以执行各种其他功能来托管服务器侧应用124。在线视图生成***118将在下面关于图4和图5更详细地描述。简言之,在线视图生成***118说明性地当用户登录服务时生成数据的在线的、截断后的视图。这可以当同步***(例如,第一同步***126或第二同步***128分别地)开始在服务和客户端***之间同步数据时向用户显示。一旦同步的数据就绪,可以使用同步的数据的视图替换在线视图。
视图混合逻辑122说明性地管理首先显示相关数据的在线视图然后一旦数据就绪就显示同步视图的操作。这可以以各种不同的方式完成,并且这也在下面关于图4和图5更详细地描述。
服务器侧应用124说明性地包括实现服务器侧应用的功能的功能逻辑138。例如,在应用124是电子邮件(e-mail)应用的情况下,则逻辑138结合服务功能116可以实现允许用户访问电子邮件应用并执行电子邮件功能的电子邮件功能。在应用124是日历应用的情况下,则功能138结合功能116允许用户访问日历功能并执行不同的日历任务。这些仅是示例,并且各种其他服务可以在服务器侧应用124中体现。
应用数据位置标识符140针对应用124说明性地标识应用124在何处访问数据存储库120中的应用数据。例如,服务计算***102可以使用第一同步***126,其根据第一协议在客户端计算***104和服务计算***102中的数据存储库120之间同步数据。这可以通过同步第一应用数据132来完成,第一应用数据132可以是例如用户邮箱、日历、联系人列表、任务、便签等。在这种情况下,应用数据位置标识符140标识第一应用数据132在数据存储库120中的位置。当然可以理解的是,数据存储库120可以在计算***102本地,或者数据存储库120可以位于其他地方。另外地,数据存储库120可以位于多个不同的位置。
无论怎样,服务计算***102可能希望改变(或者升级)以使用根据第二协议在客户端计算***104和服务计算***102之间同步数据的第二同步***128来同步数据。因此,如下面关于图2和图3更详细描述的,即使当第一同步***126仍然正在执行同步操作以支持服务器侧应用124时,第二同步***128也可以开始同步数据,作为第二应用数据134。当第二同步***128已经同步了足够的数据时,它可以将应用数据位置标识符140改为指向第二应用数据134,使得服务器侧应用124开始操作第二应用数据134,而不是第一应用数据132。当第二同步***128已经同步了所有第一应用数据132时,则可以删除该数据,并且也可以从服务计算***102中移除第一同步***126。
在图1所示的示例中,客户端计算***104说明性地包括一个或多个处理器或服务器150、用户存在检测器152(其也可以位于服务计算***102上)、客户端侧应用154、数据存储库156、用户接口逻辑158,并且客户端计算***104可以包括各种其他客户端功能160。用户存在检测器152可以检测客户端计算***104上的多个不同的事物以确定用户112是否存在(至少用户是否关于由服务计算***102托管的服务侧应用124存在)。例如,检测器152可以检测用户是否登录到服务、用户是否最近使用过该服务、用户是否已经使用了客户端计算***104上的其他项目等。检测器152说明性地输出指示用户112是否存在的信号。
客户端侧应用154可以是服务器侧应用124的客户端组件。因此,客户端侧应用154可以使用用户界面逻辑158来呈现具有用户输入机制110的用户界面108,用户输入机制110允许用户112访问客户端侧应用154和服务器侧应用124两者。在这样做时,客户端侧应用154可以生成应用数据162和其他数据164。例如,用户112可以使用客户端侧应用154来生成在用户日历上的约会。这可以存储为应用数据162。由计算***102使用的同步***然后将该数据同步至数据存储库120使得该数据还可以由服务器侧应用124使用。
图2是更详细地示出第二同步***128的一个示例的框图。在一个示例中,第二同步***128包括同步开始逻辑170、同步逻辑172、切换检测逻辑174,并且第二同步***128可以包括各种其他项目176。同步开始逻辑170说明性地检测第二同步***128何时将在服务计算***102和客户端计算***104之间同步数据。同步逻辑172说明性地执行实际同步操作。同步逻辑172可以包括差异标识符逻辑178、差异同步逻辑180和其他项目182。差异标识符逻辑178标识应用数据162和存储在数据存储库120上的应用数据的差异。差异同步逻辑180说明性地执行操作以在服务102和客户端计算***104之间同步该数据。
在服务计算***102正在处于从使用第一同步***126转换至使用第二同步***128的过程中的场景中,切换检测逻辑174可以用于检测何时应该在第一同步***126和第二同步***128之间发生切换。在一个示例中,逻辑174包括同步数据量检测器184、比较逻辑186、切换控制信号发生器逻辑188,并且逻辑174可以包括其他项目190。
同步数据量检测器184检测已经使用第二同步***128同步的应用数据量。该量可以是数据的总聚合量,或者同步数据量检测器184可以检测数据的某些关键部分何时已经被同步。例如,当服务器侧应用124是电子邮件应用时,同步数据量检测器184可以检测用户上周的电子邮件消息何时已经同步。当服务器侧应用124是日历应用时,逻辑184可以检测用户日历上的当前月、前一个月和下一个月何时已经全部同步。检测器184还可以检测何时满足其他标准。比较逻辑186比较检测到的量(或检测到的其他标准)并将它们与在服务器侧应用124被切换以使得服务器侧应用124对第二应用数据184而不是第一应用数据132操作之前要满足的阈值比较。切换控制信号发生器逻辑188生成控制信号以调整应用数据位置标识符140,使得其现在标识第二应用数据134而不是第一应用数据132。这在下面关于图3更详细地讨论。
图3A和图3B(本文统称为图3)示出了说明架构100和第二同步***128在同步数据以及控制服务器侧应用124以在使用第一应用数据132和使用第二应用数据134之间转换时的操作的一个示例的流程图,该第一应用数据132使用第一同步***126同步,该第二应用数据134使用第二同步***128同步。在这样做时,首先假定服务正在运行,其中第一同步***126同步第一应用数据132,并且服务器侧应用124正在使用第一应用数据132来服务来自各种客户端计算***的请求。还假定第二同步***128部署在服务计算***102上。这由图3的流程图中的框200指示。然后,同步开始逻辑170检测如用户存在检测器152指示的用户存在。这由框202指示。如上面描述的,用户存在可以从在客户端计算***104上的检测器152检测(如框204指示的),或者从在服务计算***102上的检测器检测(如框206指示的)。用户存在还可以以其他方式检测,并且这由框208指示。
在一个示例中,当用户存在时第二同步***128不会根据第二协议开始同步应用数据。因此,如果用户不存在,如框210指示的,则第二同步***128开始同步第二应用数据134。这由框212指示。
在这样做时,服务器侧应用124尚未转换为开始使用第二应用数据134。这由框214指示。如上面提到的,第二同步***128使用第二同步协议来同步数据,如框216指示的。第二同步***128还可以以其他方式同步数据,并且这由框218指示。
在某一时刻,同步数据量检测器184检测被同步的数据的量(或者其他特性)。这由框220指示。再次强调,同步数据量(或者其他特性)可以是标识已经由第二同步***128同步的应用数据的聚合量的聚合量度量。这由图3的流程图中的框222指示。同步数据量检测器184还可以检测关键数据记录是否已经被同步,如上面讨论的。这由框224指示。同步数据量检测器184还可以检测已经以其他方式同步的数据的量或者其他属性,并且这由框226指示。
然后,比较逻辑186确定检测到的量是否满足用于将应用124从使用第一应用数据132转换至使用第二应用数据134的切换标准。这由图3的流程图中的框228指示。如果不满足,则处理返回框212,其中第二同步***128继续同步数据。切换标准可以采用各种不同的形式。例如,切换标准可以是应用数据的阈值比例,如框230指示的。标准可以是所有的应用数据被同步,如框232指示的。切换标准可以是各种其他切换标准234,如框234指示的。
一旦检测到的已经由第二同步***128同步的数据满足切换标准,则切换控制信号发生器逻辑188生成控制信号,以将服务器侧应用124转换至使用数据位置处的数据,该数据位置针对使用第二同步***同步的第二应用数据134。这由图3的流程图中的框236指示。第二同步***128继续同步应用数据,如框238指示的。
直到所有应用数据已经由第二同步***128完全地同步为止,即使服务器侧应用124正在使用第二应用数据134,服务器侧应用124也可以接受对尚未由第二同步***128同步的数据的调用。这由图3的流程图中的框240和242指示。当这发生时,则第二同步***128指导服务器侧应用124通过访问第一应用数据132来服务该调用。这由图3的流程图中的框244指示。
一旦所有应用数据已经由第二同步***128同步,则服务计算***102停止使用第一同步***126同步数据。这由图3的流程图中的框246指示。然后,服务计算***102删除第一应用数据132。这由框248指示。
在这样做时,可以看出第二同步***128在用户不知道的情况下开始同步数据。直到服务调用很可能根据由第二同步***128同步的数据来服务时,服务器侧应用才转换至使用该同步数据。一直以来,第二同步***128继续同步应用数据,直到应用数据全部同步为止,此时服务则可以仅使用第二同步***128来运行以同步数据。这允许转换到不同的同步***以获取这种***的所有益处,即使该***使用对用户实质上不可见的不同的同步协议。
图4是更详细地示出在线视图生成***118的一个示例的框图。在一个示例中,在线视图生成***118包括视图调用检测器250、数据访问逻辑252、截断逻辑254、视图生成器逻辑256,并且在线视图生成***118可以包括其他项目258。视图调用检测器250检测何时已经对服务器侧应用124进行了对数据视图的调用。例如,当应用124是电子邮件***时,用户112可以登录到***,并且此时,可以由客户端计算***104生成查看用户的收件箱的调用。
然后,数据访问逻辑252访问数据存储库120中的应用数据的相关部分,该相关部分要被呈现以用于视图。截断逻辑254截断该数据,并且视图生成器逻辑256生成截断后数据的视图使得它可以立即传递到客户端计算***104以显示给用户112。应该注意的是,在线视图生成***118不会等待数据在客户端计算***104和服务计算***102之间同步,以便生成视图。例如,在该数据与客户端计算***104中的数据同步之前,在线视图生成***118可以简单地从服务计算***102中的数据存储库120中取得用户的收件箱的视图。以这种方式,至少客户端将非常快速地看到存储在服务计算***102上的收件箱的版本。同时,同步***将使客户端计算***104中的数据与服务计算***102中的数据同步,并且当同步数据就绪时,可以生成同步数据的视图,并且该视图可以在来自服务计算***数据的数据被同步之前替换仅显示该数据的视图的在线视图。
图5是示出这种操作的一个示例的流程图。视图调用检测器250首先检测查看应用数据的调用。这由图5的流程图中的框260指示。如上面提到的,这可以在用户登录服务(例如,用户的电子邮件***)时发生。这由框262指示。调用还可以以其他方式检测,并且这由框264指示。
此时,服务计算***102上的同步***(出于本讨论的目的,假定该同步***为第二同步***128)开始将客户端计算***104上的应用数据162与在服务计算***102上的第二应用数据134同步。这由框266指示。一旦数据已经同步,同步***生成示出同步数据的同步视图。这由框268指示。
当***128正在同步数据时,数据访问逻辑252访问相关的应用数据134。这由框270指示。取决于特定应用124,相关的应用数据134可以是用于用户的收件箱的数据272、用于用户的日历的数据274,或者各种其他数据276。
截断逻辑254生成相关数据的截断后的形式。这由框278指示。再次强调,截断后的视图将仅具有非同步数据(例如,服务器侧仅具有尚未被同步的数据,服务当前调用,以用于查看该数据)。这由框280指示。截断后的视图可以包括数据限制(例如,用户收件箱中的前N个消息线程)。这由框282指示。截断后的视图可以包括单独数据记录截断(例如,将消息线程截断为仅消息头)。这由框284指示。截断还可以采取各种其他形式,并且这由框286指示。
然后,视图生成器逻辑156生成具有截断后的数据的在线视图。这由框288指示。例如,视图可以是用户的收件箱的视图,其仅示出消息线程头,而不是附加的消息内容。应该注意的是可以在客户端***上或在服务上生成视图。
然后,***118使用视图混合逻辑122通过客户端侧应用154为用户112呈现在线视图。再次强调,应该注意的是逻辑122以及因此视图混合可以在***102或者***104上发生。这由图5的流程图中的框290指示。
然而,一旦生成了同步视图,视图混合逻辑122就呈现该同步视图。这由框292指示。例如,当用户的收件箱中的数据项被同步时,在线视图的该部分可以由同步后的数据的视图替换。这由框294指示。在另一示例中,在同步视图替换在线视图之前同步整个收件箱。这由框296指示。呈现同步后的视图也可以以其他方式完成,并且这由框298指示。
因此可以看出,使用这种方法,一旦用户登录***,用户就非常快速地接收用户数据的服务器侧视图(例如,用户的收件箱)。在同步发生时,该视图不会延迟。相反,视图仅由服务器侧数据生成,并且当数据实际上被同步时,则生成了同步数据的视图并且其替换在线视图。
图6A和图6B(本文统称为图6)示出了框图,该框图示出了计算***架构300的另一示例,在计算***架构300中服务计算***102是电子邮件计算***102。电子邮件计算***302说明性地托管用于多个不同的客户端***304-306的电子邮件服务。客户端***304-306中的每个可以生成具有用户输入机制312-314的用户界面308-310,用户输入机制312-314分别用于用户316-318进行的交互。用户可以与用户输入机制交互以便于控制对应的客户端***以及电子邮件计算***102。在更详细地描述架构300的操作之前,首先将描述对架构300中的项目中的一些及其操作的简要描述。
电子邮件计算***302可以包括一个或多个处理器或服务器320、电子邮件功能逻辑322、同步***324(其可以是来自图1的第一同步***126或者第二同步***128,或者不同的同步***)、智能回复***326、草稿漫游***328、数据存储库330,并且电子邮件计算***302可以包括各种其他项目332。
电子邮件功能逻辑322说明性地执行功能和操作以实现电子邮件计算***302的操作。例如,电子邮件功能逻辑322说明性地执行允许用户起草、回复、删除或者修改电子邮件消息的操作,执行文件夹操作,过滤操作,发送和接收电子邮件消息,以及各种其他功能。
同步***324说明性地在电子邮件计算***302和各种客户端***304-306之间同步电子邮件数据。
智能回复***326可以包括智能回复检测逻辑334、消息截断逻辑336、完整消息生成逻辑338、草稿改变检测器逻辑340,并且智能回复***326可以包括其他项目342。智能回复检测逻辑334检测用户何时希望使用智能回复特征,使得用户可以在没有将电子邮件消息的整个内容下载到用户设备上的情况下回复(或者转发)电子邮件消息。然后,消息截断逻辑336截断用户正在回复的消息,并且仅将该部分下载到客户端***上。完整消息生成逻辑338说明性地生成并维护完整消息,使得当用户发送回复时,可以将完整消息发送到期望的收件人,而不是仅发送用户下载的截断后的部分。草稿改变检测器逻辑340检测用户先前已经处理过的草稿何时已经改变,使得不应该使用智能回复特征或者使得应该将完整消息下载到客户端***。
草稿漫游***328可以包括草稿检测逻辑344、草稿维护逻辑346,并且草稿漫游***328可以包括其他项目348。草稿检测逻辑344检测用户何时开始起草电子邮件消息(例如,回复)。草稿维护逻辑346说明性地维护在数据存储库330中的该草稿,使得即使用户使用不同的设备登录电子邮件计算***302,用户也可以对该草稿具有访问权。这称为跨不同的设备漫游草稿。
数据存储库330可以包括一个或多个消息线程350-352、一个或多个草稿消息354-356,并且数据存储库330可以包括各种其他项目358。每个消息线程350可以包括定义消息线程中的一个或多个头的头数据360。消息线程还可以包括线程中的一个或多个消息362,以及属于该线程的任何附件364。
草稿消息354-356可以分别包括唯一主体部分366和368,以及旧邮件线程部分370-372。通过示例的方式,假定草稿354是已经由用户316开始的草稿并且是回复旧消息线程的草稿。草稿的唯一主体部分366将是用户316正在回复消息中创作的部分。旧邮件线程370将说明性地对应于消息线程350或352中的信息,例如,旧邮件线程370包含用户正在回复的该线程中的全部的先前信息。
每个客户端***304-306可以包括一个或多个处理器或服务器380、客户端组件382、数据存储库384、用户界面逻辑386,并且每个客户端***304-306可以包括各种其他项目388。客户端组件382可以是由电子邮件计算***302托管的电子邮件***的客户端组件。数据存储库384可以存储由客户端组件382生成或维护的信息。用户界面逻辑386可以通过其自身或在另一个项目的控制下说明性地生成用户界面308和用户输入机制312,并且检测用户与它们的交互。
在整体操作中,智能回复***326检测用户何时开始键入回复消息,并且确定用户是否已经选择使用智能回复特征。当回复是草稿时(由于用户退出计算***或在发送回复之前离开回复),草稿检测逻辑344检测到回复是草稿并且用户已经调用了智能回复特征。草稿维护逻辑346说明性地将草稿(例如,草稿354)存储在数据存储库330中,并且以某种方式维护草稿,使得草稿可以由用户316使用各种其他设备中的任一个访问。在这样做时,逻辑346访问完整消息生成逻辑338以将草稿存储为包括唯一主体部分366和旧邮件线程部分370的完整消息。当用户再次访问草稿354时,可以通过智能回复***326中的消息截断逻辑336将唯一主体部分366下载到客户端***304,使得用户仍然不需要下载完整草稿消息(包括旧邮件线程370)。然后,当用户完成草稿并命中发送致动器时,完整消息生成逻辑338再次将完整消息内容(例如,旧消息线程370)附到草稿并将其发送到期望的收件人。
草稿改变检测器逻辑340可以检测草稿自用户创建以来是否已经改变。例如,在消息线程中可能另一个用户已经将内嵌注释包括在旧邮件线程370中。在这种情况下,当用户316再次访问草稿354时,将向用户下载完整消息,使得他或她可以看到已经通过***内嵌评论来修改旧消息线程。
图7A和图7B(本文统称为图7)示出了图6所示的架构300在同一电子邮件服务上实现智能回复特征和草稿漫游特征两者时的操作的一个示例。
草稿检测逻辑344首先检测由客户端***304的用户创建草稿响应。这由图7的流程图中的框400指示。
然后,智能回复检测逻辑334检测到用户已经调用了智能回复特征。这由框402指示。例如,这可以通过呈现允许用户选择智能回复特征的用户输入机制来完成。这也可以通过其他方式完成。
当用户已经创建了草稿,完整消息生成逻辑338生成草稿的完整消息(两者都包含唯一主体部分366和旧邮件线程370以及任何附件),并且将该完整消息保存在数据存储库330中。这由框404指示。
然后,草稿维护逻辑346将草稿的唯一部分漫游到其他设备。这由框406指示。例如,如果用户316使用不同的设备访问电子邮件计算***302,则用户在智能回复模式下也对唯一主体部分366具有访问权。这由框408指示。
然后,草稿改变检测器逻辑340检测自用户创建草稿以来旧邮件线程是否已经改变。这由框410指示。如果没有改变,则消息截断逻辑336标识唯一主体部分366并将其同步到客户端***304,使得用户可以继续处理该草稿。这由图7的流程图中的框412和414指示。
然而,如果在框412处确定自用户创建草稿以来旧邮件线程已经改变,则完整消息生成逻辑338访问草稿354的完整内容,并且将完整草稿同步到用户当前正在通过其访问电子邮件计算***302的新设备。这由图7的流程图中的框416和418指示。
在任一情况下(用户是否仍在使用智能回复特征访问草稿,或用户是否正在访问完整草稿),电子邮件计算***302检测用户何时致动发送致动器以将草稿发送到期望的收件人。这由图7的流程图中的框420指示。
智能回复检测逻辑334确定是否仍然在智能回复模式中访问草稿,如框422指示的。如果没有在智能回复模式中访问草稿,则用户已经访问了完整草稿,并且该草稿被简单地发送给收件人,如框424指示的。
然而,如果在框422处确定用户仍然在智能回复模式中访问草稿,则完整消息生成逻辑338通过将旧邮件线程370添加到唯一主体部分366(连同任何附件)来再次形成回复消息的完整内容。以这种方式将完整草稿拼接在一起由图7中的框426指示。再次,然后发送完整草稿,如框424指示的。
因此可以看出,本说明书使得单个电子邮件***不仅包括实现智能回复特征的智能回复***326,而且还包括实现草案漫游特征的草案漫游***328。这改进了计算***本身以及用户体验。
应该注意的是,上述讨论已经描述了各种不同的***、组件和/或逻辑。应该认识到的是,这种***、组件和/或逻辑可以包括执行与那些***、组件和/或逻辑相关联的功能的硬件项目(例如,处理器和相关联的存储器,或者其他处理组件,其中一些在下面描述)。另外地,***、组件和/或逻辑可以包括加载到存储器中并且因此由处理器或服务器或其他计算组件执行的软件,如下面描述的。***、组件和/或逻辑还可以包括硬件、软件、固件等的不同组合,下面描述其一些示例。这些仅是可以用于形成上述***、组件和/或逻辑的不同结构的一些示例。也可以使用其他结构。
本讨论提到了处理器和服务器。在一个实施例中,处理器和服务器包括具有相关联的存储器和定时电路(未单独示出)的计算机处理器。处理器和服务器是其所属的***或设备的功能部分,并且处理器和服务器由这些***中的其他组件或项目的功能激活,并且促进这些***中的其他组件或项目的功能。
另外,还讨论了若干用户界面显示。用户界面显示可以采用各种不同的形式,并且其上可以布置有各种不同的用户可致动输入机制。例如,用户可致动输入机制可以是文本框、复选框、图标、链接、下拉菜单、搜索框等。用户可致动输入机制还可以以各种不同的方式致动。例如,可以使用点按设备(例如,轨迹球或鼠标)来致动用户可致动输入机制。可以使用硬件按钮、开关、操纵杆或键盘、拇指开关或拇指垫等来致动用户可致动输入机制。还可以使用虚拟键盘或其他虚拟致动器来致动用户可致动输入机制。另外地,在显示用户可致动输入机制的屏幕是触敏屏幕的情况下,可以使用触摸手势来致动用户可致动输入机制。另外,在显示用户可致动输入机制的设备具有语音识别组件的情况下,可以使用语音命令来致动用户可致动输入机制。
还讨论了若干数据存储库。应该注意的是,数据存储库可以各自分成多个数据存储库。所有数据存储库可以在访问它们的***本地,所有数据存储库也可以是远程的,或者一些可以是本地的而其他的是远程的。本文设想到所有这些配置。
另外,附图示出了具有归属于每个框的功能的若干框。应该注意的是,可以使用更少的框因此由更少的组件执行功能。另外,可以使用更多的框,其中功能分布在更多组件中。
图9是图1中示出的架构100和图6中示出的架构300的框图,除了元件布置在云计算架构500中之外。云计算提供计算、软件、数据访问和存储服务,这些服务不要求终端用户了解递送服务的***的物理位置或者配置。在各种实施例中,云计算使用适当的协议通过诸如互联网之类的广域网递送服务。例如,云计算提供商通过广域网递送应用,并且可以通过web浏览器或者任何其他计算组件访问应用。架构100和/或架构300的软件或组件以及对应的数据可以存储在远程位置处的服务器上。云计算环境中的计算资源可以在远程数据中心位置处合并,或者可以分散。云计算基础结构可以通过共享数据中心递送服务,即使它们对于用户表现为单一访问点。因此,可以使用云计算架构从在远程位置处的服务提供商提供本文描述的组件和功能。可替代地,本文描述的组件和功能可以从传统服务器提供,或者它们可以直接地或以其他方式安装在客户端设备上。
本说明书旨在包括公共云计算和私有云计算两者。云计算(公共和私有两者)提供了大量无缝的资源池化,以及减少的对管理和配置底层硬件基础结构的需求。
公共云由供应商管理,并且典型地支持使用相同基础结构的多个消费者。另外,与私有云相反,公共云可以将终端用户从管理硬件释放。私有云可以由组织本身管理,并且基础结构典型地不与其他组织共享。组织仍然在某种程度上维护硬件,例如,安装和维修等。
在图8示出的示例中,一些项目与在图1和图6中示出的那些项目类似,并且这些项目被类似地标记。图8特别地示出了服务计算***100和/或电子邮件计算***302可以位于云502(其可以是公共的、私有的或者其中部分是公共的而其他是私有的组合)中。因此,用户可以使用用户设备504通过云502访问这些***。
图8还描绘了云架构的另一示例。图8示出了还设想到架构100和架构300的一些元件可以布置在云502中而其他元件不布置在云502中。通过示例的方式,数据存储库120、330可以布置在云502之外并且通过云502访问。在另一示例中,同步***126、128或其他项目可以在云502之外。无论位于何处,这些元件可以通过网络(广域网或局域网)由设备504直接访问,这些元件可以通过服务托管在远程站点处,或者这些元件可以通过云作为服务提供或者由位于云中的连接服务访问。本文设想到所有这些架构。
还应该注意的是,架构100和/或架构300或它们的一部分可以布置在各种不同的设备上。这些设备中的一些包括服务器、台式计算机、膝上型计算机、平板计算机或者其他移动设备,例如,掌上型计算机、电话、智能电话、多媒体播放器、个人数字助理等。
图9是可以用作用户或客户端的手持设备16的手持或移动计算设备的说明性实施例的简化框图,在该手持或移动计算设备中可以部署本***(或其部分)。图10-11是手持或移动设备的示例。
图9提供了客户端设备16的组件的总体框图,客户端设备16可以运行架构100、架构300的组件或者与架构100、架构300或两者交互。在设备16中,提供了通信链路13,其允许手持设备与其他计算设备通信,并且在一些实施例中提供用于自动接收信息的信道,例如,通过扫描。通信链路13的示例包括允许通过一个或多个通信协议进行通信的红外端口、串行/USB端口、有线网络端口(例如,以太网端口)以及无线网络端口,其中通信协议包括通用分组无线电业务(GPRS)、LTE、HSPA、HSPA+以及其他3G和4G无线电协议、1Xrtt和短消息服务(这些协议是用于提供对网络的蜂窝接入的无线服务),以及Wi-Fi协议和蓝牙协议(这些协议提供对网络的本地无线连接)。
在其他的示例中,在连接到SD卡接口15的可移除安全数字(SD)卡上接收应用程序或***。SD卡接口15和通信链路13沿着总线19与处理器17(其也可以体现来自先前附图的处理器或服务器)通信,总线19还连接到存储器21和输入/输出(I/O)组件23,以及时钟25和定位***27。
在一个实施例中,提供I/O组件23以促进输入和输出操作。用于设备16的各种实施例的I/O组件23可以包括输入组件(例如,按钮、触摸传感器、多点触摸传感器、光学或视频传感器、语音传感器、触摸屏、接近度传感器、麦克风、倾斜传感器和重力开关)和输出组件(例如,显示设备、扬声器和/或打印机端口)。也可以使用其他I/O组件23。
时钟25说明性地包括输出时间和日期的实时时钟组件。时钟25还可以说明性地为处理器17提供定时功能。
定位***27说明性地包括输出设备16的当前地理位置的组件。例如,定位***27可以包括全球定位***(GPS)接收器、LORAN***、航位推算***、蜂窝三角测量***或其他定位***。例如,定位***27还可以包括生成期望地图、导航路线和其他地理功能的地图绘制软件或导航软件。
存储器21存储操作***29、网络设置31、应用33、应用配置设置35、数据存储库37、通信驱动器39和通信配置设置41。存储器21可以包括所有类型的有形的易失性和非易失性计算机可读存储器设备。存储器21还可以包括计算机存储介质(如下所述)。存储器21存储计算机可读指令,该指令当由处理器17执行时,使得处理器根据指令执行计算机实现的步骤或功能。类似地,设备16可以具有客户端***24,客户端***24可以运行各种业务应用或者体现客户端***104、304、306的部分或全部。处理器17也可以由其他组件激活以促进这些组件的功能。
网络设置31的示例包括诸如代理信息、互联网连接信息和映射之类的事物。应用配置设置35包括为特定企业或用户定制应用的设置。通信配置设置41提供用于与其他计算机通信的参数,并且包括诸如GPRS参数、SMS参数、连接用户名和密码之类的项目。
应用33可以是先前已经存储在设备16上的应用或在使用期间安装的应用,尽管这些应用也可以是操作***29的一部分,或者可以在设备16外部托管。
图10示出了其中设备16是平板计算机600的一个实施例。在图10中,计算机600示为具有用户界面显示屏幕602。屏幕602可以是触摸屏(因此来自用户手指的触摸手势可以用于与应用交互)或者是从笔或触笔接收输入的笔使能界面。屏幕602还可以使用屏幕上的虚拟键盘。当然,屏幕602还可以通过合适的附接机制(例如,无线链路或USB端口)附接到键盘或者其他用户输入设备。计算机600还可以说明性地接收语音输入。
图11示出了该设备可以是智能电话71。智能电话71具有显示图标或图块或其他用户输入机制75的触敏显示器73。用户可以使用机制75来运行应用、拨打电话、执行数据传输操作等。通常,智能电话71构建在移动操作***上并且提供比功能电话更高级的计算能力和连接性。
应该注意设备16的其他形式是可能的。
图12是可以部署(例如)架构100和/或架构300或其部分的计算环境的一个示例。参考图12,用于实现一些实施例的示例***包括计算机810形式的通用计算设备。计算机810的组件可以包括但不限于处理单元820(其可以包括来自先前附图的处理器或服务器)、***存储器830以及将包括***存储器在内的各种***组件耦合到处理单元820的***总线821。***总线821可以是若干类型的总线结构中的任一种,包括使用各种总线架构中的任一种总线架构的存储器总线或存储器控制器、***总线和本地总线。通过示例而非限制的方式,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和***组件互连(PCI)总线(也称为夹层总线)。关于图1和/或图6描述的存储器和程序可以部署在图12的对应部分中。
计算机810典型地包括各种计算机可读介质。计算机可读介质可以是可以由计算机810访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质两者。通过示例而非限制的方式,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质不同于调制数据信号或载波,并且不包括调制数据信号或载波。计算机存储介质包括硬件存储介质,硬件存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质两者。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其他存储器技术,CD-ROM、数字通用盘(DVD)或其他光盘存储装置,磁带盒、磁带、磁盘存储装置或其他磁存储设备,或可以用于存储期望信息并且可以由计算机810访问的任何其他介质。通信介质在传输机制中典型地体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息递送介质。术语“调制数据信号”表示其特性中的一个或多个特性以使得对信号中的信息进行编码的方式被设置或改变的信号。通过示例而非限制的方式,通信介质包括诸如有线网络或者直接有线连接之类的有线介质,以及诸如声学、RF、红外以及其他无线介质之类的无线介质。上述中的任一个的组合也应该包括在计算机可读介质的范围内。
***存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,例如,只读存储器(ROM)831和随机存取存储器(RAM)832。基本输入/输出***833(BIOS)典型地存储在ROM 831中,该基本输入/输出***833包含有助于在计算机810内的元件之间传送信息的基本例程,例如,在启动期间。RAM 832典型地包含处理单元820可立即访问和/或当前正对其操作的数据和/或程序模块。通过示例而非限制的方式,图12示出了操作***834、应用程序835、其他程序模块836以及程序数据837。
计算机810还可以包括其他可移除/不可移除、易失性/非易失性计算机存储介质。仅通过示例的方式,图12示出了从不可移除、非易失性磁介质读取或向不可移除、非易失性磁介质写入的硬盘驱动器841,以及从可移除、非易失性光盘856(例如,CD ROM或其他光学介质)读取或向可移除、非易失性光盘856写入的光盘驱动器855。可以在示例性操作环境中使用的其他可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪速存储器卡、数字通用盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器841典型地通过诸如接口840之类的不可移除存储器接口连接到***总线821,并且光盘驱动器855典型地通过诸如接口850之类的可移除存储器接口连接到***总线821
可替代或另外地,本文描述的功能可以至少部分地由一个或多个硬件逻辑组件执行。例如但不限于,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)***、复杂可编程逻辑器件(CPLD)等。
上面讨论并且在图12中示出的驱动器及其相关联的计算机存储介质为计算机810提供对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图12中,硬盘驱动器841被示为存储操作***844、应用程序845、其他程序模块846和程序数据847。应该注意,这些组件可以与操作***834、应用程序835、其他程序模块836以及程序数据837相同或不同。这里给予操作***844、应用程序845、其他程序模块846和程序数据847不同的附图标记来至少示出它们是不同的副本。
用户可以通过输入设备(例如,键盘862、麦克风863和定点设备861(例如,鼠标、轨迹球或触摸板))将命令或信息输入到计算机810中。其他输入设备(未示出)可以包括操纵杆、游戏手柄、卫星碟式天线、扫描仪等。这些输入设备和其他输入设备经常通过耦合到***总线的用户输入接口860连接到处理单元820,但是这些输入设备和其他输入设备也可以通过其他接口和总线结构(例如,并行端口、游戏端口或者通用串行总线(USB))连接到处理单元820。视觉显示器891或其他类型的显示设备也经由诸如视频接口890之类的接口连接到***总线821。除了监视器之外,计算机还可以包括其他***输出设备,例如,扬声器897和打印机896,它们可以通过输出***接口895连接到***总线821。
计算机810使用到一个或多个远程计算机(例如,远程计算机880)的逻辑连接在联网环境中操作。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且典型地包括上面关于计算机810描述的元件中的许多或全部元件。图12中描绘的逻辑连接包括局域网(LAN)871和广域网(WAN)873,但是也可以包括其他网络。这种联网环境在办公室、企业范围的计算机网络、内联网和互联网中很常见。
当在LAN联网环境中使用时,计算机810通过网络接口或适配器870连接到LAN871。当在WAN联网环境中使用时,计算机810典型地包括调制解调器872或用于通过WAN 873建立通信的其他手段,例如互联网。调制解调器872(其可以是在内部的或者在外部的)可以经由用户输入接口860或者其他适当的机制连接到***总线821。在联网环境中,关于计算机810描述的程序模块或其部分可以存储在远程存储器存储设备中。通过示例而非限制的方式,图12示出了远程应用程序885驻留在远程计算机880上。应该认识到的是,示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
还应注意的是,本文描述的不同实施例可以以不同方式组合。即,一个或多个实施例的部分可以与一个或多个其他实施例的部分组合。本文中设想到了全部这些内容。
示例1是一种计算***,包括:
在电子邮件(email)服务上的电子邮件功能,其确定用户正在第一客户端设备上生成对用户的邮箱中的电子邮件消息的草稿响应,该电子邮件消息包括完整内容部分;
智能回复***,其截断电子邮件消息,以获取比电子邮件消息的完整内容部分少的截断后的电子邮件消息,并且将截断后的电子邮件消息发送至第一客户端设备用于草稿响应的生成;以及
草稿漫游***,其将草稿响应保存在电子邮件服务上以供用户从第二客户端设备进行访问,智能回复***响应于检测到用户从第二客户端设备访问草稿响应,将截断后的消息和在草稿响应中输入的草稿响应的唯一部分发送至第二客户端设备。
示例2是任何或所有先前示例中的计算***,其中智能回复***包括:
完整消息生成逻辑,其被配置为检测对发送致动器的致动以发送草稿响应,并且生成包含草稿响应的唯一部分和电子邮件消息的完整内容部分的完整消息,电子邮件功能发送完整消息。
示例3是任何或所有先前示例中的计算***,其中智能回复***包括:
消息截断逻辑,其被配置为生成截断后的消息;以及
智能回复检测逻辑,其被配置为检测来自第一客户端设备的智能回复输入,并且作为响应,控制消息截断逻辑生成截断后的消息。
示例4是任何或所有先前示例中的计算***,其中智能回复***包括:
草稿改变检测器逻辑,其被配置为响应于检测到用户从第二客户端设备访问草稿响应,检测在草稿响应的完整内容部分中的改变,并且控制草稿漫游***将草稿响应的完整内容部分连同唯一部分一起发送至第二客户端设备。
示例5是任何或所有先前示例中的计算***,其中草稿漫游***包括:
草稿维护逻辑,其被配置为将草稿响应保存在电子邮件服务上作为用户的邮箱中的草稿,其中智能回复指示符指示对应于草稿响应的智能回复输入被智能回复检测逻辑检测到。
示例6是任何或所有先前示例中的计算***,并且还包括:
存储草稿响应的数据存储库,该数据存储库能够由第一客户端设备和第二客户端设备访问。
示例7是任何或所有先前示例中的计算***,其中电子邮件消息的完整内容部分包括邮件线程部分和附件,邮件线程部分指示对应于电子邮件消息的完整消息线程,并且其中完整消息生成逻辑被配置为检测对发送致动器的致动以发送草稿响应,并且生成包含草稿响应的唯一部分、邮件线程部分和附件的完整消息。
示例8是一种计算机实现的方法,包括:
在电子邮件服务器上检测用户正在第一客户端设备上生成对用户的邮箱中的电子邮件消息的草稿响应,电子邮件消息包括完整内容部分;
在电子邮件服务器上截断电子邮件消息,以获取比电子邮件消息的完整内容部分少的截断后的电子邮件消息;
将截断后的电子邮件消息发送至第一客户端设备用于草稿响应的生成;
将草稿响应保存在电子邮件服务器上以供用户从第二客户端设备进行访问;
在电子邮件服务器上检测用户从第二客户端设备访问草稿响应;以及
响应于检测到用户从第二客户端设备访问草稿响应,将截断后的消息和在草稿响应中输入的草稿响应的唯一部分发送至第二客户端设备。
示例9是任何或所有先前示例中的计算机实现的方法,并且还包括:
在电子邮件服务器处检测在第二客户端设备上对发送致动器的致动以发送草稿响应;
在电子邮件服务器处生成包含草稿响应的唯一部分和电子邮件消息的完整内容部分的完整消息;以及
将完整消息发送至收件人。
示例10是任何或所有先前示例中的计算机实现的方法,并且还包括:
检测来自第一客户端设备的智能回复输入;以及
作为响应,生成截断后的消息。
示例11是任何或所有先前示例中的计算机实现的方法,并且还包括:
检测用户从第二客户端设备访问草稿响应;
检测在草稿响应的完整内容部分中的改变;以及
将草稿响应的完整内容部分连同唯一部分一起发送至第二客户端设备。
示例12是任何或所有先前示例中的计算机实现的方法,其中将草稿响应保存在电子邮件服务器上包括:
将草稿响应保存在电子邮件服务上作为用户的邮箱中的草稿,其中智能回复指示符指示对应于草稿响应的智能回复输入被检测到。
示例13是任何或所有先前示例中的计算机实现的方法,并且还包括:
将草稿响应存储在基于云的数据存储库中,该基于云的数据存储库能够由第一客户端设备和第二客户端设备通过电子邮件服务器进行访问。
示例14是任何或所有先前示例中的计算机实现的方法,其中电子邮件消息的完整内容部分包括邮件线程部分和附件,该邮件线程部分指示对应于电子邮件消息的完整消息线程,并且其中生成完整消息包括:
检测对发送致动器的致动以发送草稿响应;以及
生成包含草稿响应的唯一部分、邮件线程部分和附件的完整消息。
示例15是一种计算***,包括:
在托管的电子邮件(email)服务上的电子邮件功能,其确定用户正在第一客户端设备上生成对用户的邮箱中的电子邮件消息的草稿响应,该电子邮件消息包括完整内容部分;
智能回复***,其截断电子邮件消息,以获取比电子邮件消息的完整内容部分少的截断后的电子邮件消息,并且将截断后的电子邮件消息发送至第一客户端设备用于草稿响应的生成;
草稿漫游***,其将草稿响应保存在托管的电子邮件服务上以供用户从第二客户端设备进行访问,智能回复***响应于检测到用户从第二客户端设备访问草稿响应,将截断后的消息和在草稿响应中输入的草稿响应的唯一部分发送至第二客户端设备;以及
完整消息生成逻辑,其被配置为检测对发送致动器的致动以发送草稿响应,并且生成包含草稿响应的唯一部分和电子邮件消息的完整内容部分的完整消息,电子邮件功能发送完整消息。
示例16是任何或所有先前示例中的计算***,其中智能回复***包括:
消息截断逻辑,其被配置为生成截断后的消息;以及
智能回复检测逻辑,其被配置为检测来自第一客户端设备的智能回复输入,并且作为响应,控制消息截断逻辑生成截断后的消息。
示例17是任何或所有先前示例中的计算***,其中智能回复***包括:
草稿改变检测器逻辑,其被配置为响应于检测到用户从第二客户端设备访问草稿响应,检测在草稿响应的完整内容部分中的改变,并且控制草稿漫游***将草稿响应的完整内容部分连同唯一部分一起发送至第二客户端设备。
示例18是任何或所有先前示例中的计算***,其中草稿漫游***包括:
草稿维护逻辑,其被配置为将草稿响应保存在托管的电子邮件服务上作为用户的邮箱中的草稿,其中智能回复指示符指示对应于草稿响应的智能回复输入被智能回复检测逻辑检测到。
示例19是任何或所有先前示例中的计算***,并且还包括:
存储草稿响应的基于云的数据存储库,该基于云的数据存储库能够由第一客户端设备和第二客户端设备通过托管的电子邮件服务进行访问。
示例20是任何或所有先前示例中的计算***,其中电子邮件消息的完整内容部分包括邮件线程部分和附件,该邮件线程部分指示对应于电子邮件消息的完整消息线程,并且其中完整消息生成逻辑被配置为检测对发送致动器的致动以发送草稿响应,并且生成包含草稿响应的唯一部分、邮件线程部分和附件的完整消息。
尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但应该理解的是,所附权利要求书中定义的主题不一定限于上面描述的特定特征或动作。而是,公开了上面描述的特定特征和动作作为实现权利要求的示例形式。
Claims (13)
1.一种计算***,包括:
在电子邮件(email)服务器上的电子邮件功能,其确定用户正在第一客户端设备上生成对所述用户的邮箱中的电子邮件消息的草稿响应,所述电子邮件消息包括完整内容部分;
智能回复***,其截断所述电子邮件消息,以获取比所述电子邮件消息的所述完整内容部分少的截断后的电子邮件消息,并且将所述截断后的电子邮件消息发送至所述第一客户端设备用于所述草稿响应的生成;以及
草稿漫游***,其将所述草稿响应保存在所述电子邮件服务器上以供所述用户从第二客户端设备进行访问,所述智能回复***响应于检测到所述用户从所述第二客户端设备访问所述草稿响应,将截断后的消息和在所述草稿响应中输入的所述草稿响应的唯一部分发送至所述第二客户端设备,其中,所述智能回复***包括:
完整消息生成逻辑,其被配置为检测对发送致动器的致动以发送所述草稿响应,并且生成包含所述草稿响应的所述唯一部分和所述电子邮件消息的所述完整内容部分的完整消息,所述电子邮件功能发送所述完整消息。
2.根据权利要求1所述的计算***,其中所述智能回复***包括:
消息截断逻辑,其被配置为生成所述截断后的消息;以及
智能回复检测逻辑,其被配置为检测来自所述第一客户端设备的智能回复输入,并且作为响应,控制所述消息截断逻辑生成所述截断后的消息。
3.根据权利要求2所述的计算***,其中所述智能回复***包括:
草稿改变检测器逻辑,其被配置为响应于检测到所述用户从所述第二客户端设备访问所述草稿响应,检测在所述草稿响应的所述完整内容部分中的改变,并且控制所述草稿漫游***将所述草稿响应的所述完整内容部分连同所述唯一部分一起发送至所述第二客户端设备。
4.根据权利要求2所述的计算***,其中所述草稿漫游***包括:
草稿维护逻辑,其被配置为将所述草稿响应保存在所述电子邮件服务器上作为所述用户的所述邮箱中的草稿,其中智能回复指示符指示对应于所述草稿响应的所述智能回复输入被所述智能回复检测逻辑检测到。
5.根据权利要求4所述的计算***,并且还包括:
存储所述草稿响应的数据存储库,所述数据存储库能够由所述第一客户端设备和所述第二客户端设备访问。
6.根据权利要求5所述的计算***,其中所述电子邮件消息的所述完整内容部分包括邮件线程部分和附件,所述邮件线程部分指示对应于所述电子邮件消息的完整消息线程,并且其中所述完整消息生成逻辑被配置为检测对所述发送致动器的致动以发送所述草稿响应,并且生成包含所述草稿响应的所述唯一部分、所述邮件线程部分和所述附件的所述完整消息。
7.一种计算机实现的方法,包括:
在电子邮件服务器上检测用户正在第一客户端设备上生成对所述用户的邮箱中的电子邮件消息的草稿响应,所述电子邮件消息包括完整内容部分;
在所述电子邮件服务器上截断所述电子邮件消息,以获取比所述电子邮件消息的所述完整内容部分少的截断后的电子邮件消息;
将所述草稿响应保存在所述电子邮件服务器上以供所述用户从第二客户端设备进行访问;
在所述电子邮件服务器上检测所述用户从所述第二客户端设备访问所述草稿响应;以及
响应于检测到所述用户从所述第二客户端设备访问所述草稿响应,将截断后的消息和在所述草稿响应中输入的所述草稿响应的唯一部分发送至所述第二客户端设备,并且所述方法还包括:
在所述电子邮件服务器处检测在所述第二客户端设备上的对发送致动器的致动以发送所述草稿响应;
在所述电子邮件服务器处生成包含所述草稿响应的所述唯一部分和所述电子邮件消息的所述完整内容部分的完整消息;以及
将所述完整消息发送至收件人。
8.根据权利要求7所述的计算机实现的方法,并且还包括:
检测来自所述第一客户端设备的智能回复输入;以及
作为响应,生成所述截断后的消息。
9.根据权利要求8所述的计算机实现的方法,并且还包括:
检测所述用户从所述第二客户端设备访问所述草稿响应;
检测在所述草稿响应的所述完整内容部分中的改变;以及
将所述草稿响应的所述完整内容部分连同所述唯一部分一起发送至所述第二客户端设备。
10.根据权利要求8所述的计算机实现的方法,其中将所述草稿响应保存在所述电子邮件服务器上包括:
将所述草稿响应保存在所述电子邮件服务器上作为所述用户的所述邮箱中的草稿,其中智能回复指示符指示对应于所述草稿响应的所述智能回复输入被检测到。
11.根据权利要求10所述的计算机实现的方法,并且还包括:
将所述草稿响应存储在基于云的数据存储库中,所述基于云的数据存储库能够由所述第一客户端设备和所述第二客户端设备通过所述电子邮件服务器进行访问。
12.根据权利要求11所述的计算机实现的方法,其中所述电子邮件消息的所述完整内容部分包括邮件线程部分和附件,所述邮件线程部分指示对应于所述电子邮件消息的完整消息线程,并且其中生成所述完整消息包括:
检测对所述发送致动器的致动以发送所述草稿响应;以及
生成包含所述草稿响应的所述唯一部分、所述邮件线程部分和所述附件的所述完整消息。
13.一种计算***,包括:
在托管的电子邮件(email)服务器上的电子邮件功能,其确定用户正在第一客户端设备上生成对所述用户的邮箱中的电子邮件消息的草稿响应,所述电子邮件消息包括完整内容部分;
智能回复***,其截断所述电子邮件消息,以获取比所述电子邮件消息的所述完整内容部分少的截断后的电子邮件消息,并且将所述截断后的电子邮件消息发送至所述第一客户端设备用于所述草稿响应的生成;
草稿漫游***,其将所述草稿响应保存在所述托管的电子邮件服务器上以供所述用户从第二客户端设备进行访问,所述智能回复***响应于检测到所述用户从所述第二客户端设备访问所述草稿响应,将截断后的消息和在所述草稿响应中输入的所述草稿响应的唯一部分发送至所述第二客户端设备;以及
完整消息生成逻辑,其被配置为检测对发送致动器的致动以发送所述草稿响应,并且生成包含所述草稿响应的所述唯一部分和所述电子邮件消息的所述完整内容部分的完整消息,所述电子邮件功能发送所述完整消息。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662415915P | 2016-11-01 | 2016-11-01 | |
US62/415,915 | 2016-11-01 | ||
US15/436,951 | 2017-02-20 | ||
US15/436,951 US11405345B2 (en) | 2016-11-01 | 2017-02-20 | E-mail with smart reply and roaming drafts |
PCT/US2017/058639 WO2018085127A1 (en) | 2016-11-01 | 2017-10-27 | E-mail with smart reply and roaming drafts |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109891836A CN109891836A (zh) | 2019-06-14 |
CN109891836B true CN109891836B (zh) | 2022-03-29 |
Family
ID=62022021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780067351.6A Active CN109891836B (zh) | 2016-11-01 | 2017-10-27 | 具有智能回复和漫游草稿的电子邮件 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11405345B2 (zh) |
EP (1) | EP3535934A1 (zh) |
CN (1) | CN109891836B (zh) |
WO (1) | WO2018085127A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10516630B2 (en) | 2016-11-01 | 2019-12-24 | Microsoft Technology Licensing, Llc | Switching synchronization systems for synchronizing server/client data |
US11436408B2 (en) * | 2020-07-01 | 2022-09-06 | Motorola Mobility Llc | Targeted natural language responses for electronic communications |
CN115473868B (zh) * | 2022-08-15 | 2024-04-19 | 联想(北京)有限公司 | 一种邮件处理方法及装置 |
US12033050B1 (en) | 2023-06-02 | 2024-07-09 | Dropbox, Inc. | Generating context specific electronic communications utilizing a neural network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101842803A (zh) * | 2007-10-29 | 2010-09-22 | 微软公司 | 预先发送电子邮件通信的评估 |
CN205485733U (zh) * | 2014-05-30 | 2016-08-17 | 苹果公司 | 电子设备 |
US9426102B1 (en) * | 2012-03-15 | 2016-08-23 | Google Inc. | Efficient conversation transmission to mobile clients |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647409B1 (en) | 1999-07-13 | 2003-11-11 | Microsoft Corporation | Maintaining a sliding view of server based data on a handheld personal computer |
US7124204B2 (en) | 1999-11-18 | 2006-10-17 | Amdocs (Israel) Ltd. | Threshold-based database synchronization system and method |
US6446118B1 (en) | 2000-02-29 | 2002-09-03 | Designtech International, Inc. | E-mail notification device |
US7739334B1 (en) * | 2000-03-17 | 2010-06-15 | Visto Corporation | System and method for automatically forwarding email and email events via a computer network to a server computer |
US7325067B1 (en) | 2000-11-27 | 2008-01-29 | Esaya, Inc. | Personalized account migration system and method |
US20020099775A1 (en) | 2001-01-25 | 2002-07-25 | Anoop Gupta | Server system supporting collaborative messaging based on electronic mail |
US20040044735A1 (en) | 2002-08-30 | 2004-03-04 | International Business Machines Corporation | Method and system for organizing an email thread |
US7620688B2 (en) | 2003-01-03 | 2009-11-17 | Microsoft Corporation | Progress mode for electronic mail component |
US7519916B1 (en) | 2003-06-16 | 2009-04-14 | Microsoft Corporation | Methods for tailoring a bandwidth profile for an operating environment |
US20050033863A1 (en) | 2003-08-07 | 2005-02-10 | Sierra Wireless, Inc. A Canadian Corp. | Data link characteristic cognizant electronic mail client |
US20050039048A1 (en) | 2003-08-07 | 2005-02-17 | Sierra Wireless, Inc. A Canadian Corp. | Efficient new e-mail discovery |
US7406504B2 (en) * | 2003-09-18 | 2008-07-29 | Sbc Knowledge Ventures, L.P. | Intelligent email detection and auto reply email technique to emails destined to no reply email addresses |
US8005462B2 (en) | 2004-02-17 | 2011-08-23 | Teamon Systems, Inc. | System and method of retrieving electronic mail |
US8566399B2 (en) * | 2004-02-27 | 2013-10-22 | Blackberry Limited | Method and system for synchronizing a drafts folder |
US20060080354A1 (en) | 2004-08-27 | 2006-04-13 | Nokia Corporation | System for selecting data from a data store based on utility of the data |
US8682979B2 (en) | 2005-07-01 | 2014-03-25 | Email2 Scp Solutions Inc. | Secure electronic mail system |
US20070094334A1 (en) * | 2005-10-21 | 2007-04-26 | Microsoft Corporation | Service/client synchronization |
EP1999914A1 (en) | 2006-03-27 | 2008-12-10 | Teamon Systems, Inc. | System and method for migrating user account data |
US7792792B2 (en) | 2006-05-22 | 2010-09-07 | Microsoft Corporation | Synchronizing structured web site contents |
US9166941B2 (en) | 2007-04-24 | 2015-10-20 | Microsoft Technology Licensing, Llc | Synchronizing email messages between external and local email servers and/or a wireless device |
US8990313B2 (en) | 2008-04-01 | 2015-03-24 | Microsoft Technology Licensing, Llc | Download of current portions of email messages |
US9633336B2 (en) * | 2008-06-02 | 2017-04-25 | Nokia Technologies Oy | Method, system, and apparatus for truncating markup language email messages |
GB0811407D0 (en) | 2008-06-20 | 2008-07-30 | Symbian Software Ltd | Cost influenced downloading |
US8539488B1 (en) | 2009-04-10 | 2013-09-17 | Open Invention Network, Llc | System and method for application isolation with live migration |
US8860979B2 (en) * | 2009-09-15 | 2014-10-14 | Xerox Corporation | Deletion of unwanted reply messages in e-mail printing |
US20110191429A1 (en) | 2010-02-04 | 2011-08-04 | Research In Motion Limited | Method for advanced email thread management |
US9148302B2 (en) | 2010-06-14 | 2015-09-29 | Blackberry Limited | Automatic full download of important emails |
US9251507B2 (en) | 2010-10-28 | 2016-02-02 | International Business Machines Corporation | Reducing email message size |
US20120124142A1 (en) | 2010-11-15 | 2012-05-17 | Robert Kroeger | Light-Weight Method for Delivering the Smallest Set of New Messages to a Conversation Cache on an Intermittently Connected Mobile Email Client |
US8224894B1 (en) | 2011-05-09 | 2012-07-17 | Google Inc. | Zero-click sharing of application context across devices |
US20130054734A1 (en) | 2011-08-23 | 2013-02-28 | Microsoft Corporation | Migration of cloud applications between a local computing device and cloud |
US10311027B2 (en) | 2011-09-23 | 2019-06-04 | Open Invention Network, Llc | System for live-migration and automated recovery of applications in a distributed system |
US9477517B2 (en) * | 2011-10-28 | 2016-10-25 | Qualcomm Incorporated | Service broker systems, methods, and apparatus |
CN103139139B (zh) | 2011-11-22 | 2015-11-25 | 华为技术有限公司 | 用户设备间业务迁移的方法和装置 |
US9922309B2 (en) | 2012-05-25 | 2018-03-20 | Microsoft Technology Licensing, Llc | Enhanced electronic communication draft management |
US9268833B2 (en) | 2012-12-05 | 2016-02-23 | Microsoft Technology Licensing, Llc | Recurring calendar item master and instance synchronization |
US10110532B2 (en) | 2013-10-03 | 2018-10-23 | Oath Inc. | Email frequency and consolidation assistant |
US10440066B2 (en) | 2013-11-15 | 2019-10-08 | Microsoft Technology Licensing, Llc | Switching of connection protocol |
US9767439B2 (en) * | 2013-11-25 | 2017-09-19 | Yahoo Holdings Inc. | Automatic draft email notification |
CN104092715B (zh) | 2013-11-28 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 一种同步应用程序的方法、服务器及*** |
US9576261B2 (en) | 2014-04-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Quick drafts of items in a primary work queue |
US9380010B2 (en) | 2014-06-03 | 2016-06-28 | International Business Machines Corporation | Conversation branching for more efficient resolution |
US20160036923A1 (en) | 2014-08-03 | 2016-02-04 | Microsoft Corporation | Efficient Migration of Application State Information |
US9503402B2 (en) | 2014-08-18 | 2016-11-22 | Dropbox, Inc. | Managing drafts of electronic documents across client devices |
US20170006356A1 (en) | 2015-07-01 | 2017-01-05 | Microsoft Corporation | Augmented experience of media presentation events |
-
2017
- 2017-02-20 US US15/436,951 patent/US11405345B2/en active Active
- 2017-10-27 EP EP17795175.3A patent/EP3535934A1/en active Pending
- 2017-10-27 CN CN201780067351.6A patent/CN109891836B/zh active Active
- 2017-10-27 WO PCT/US2017/058639 patent/WO2018085127A1/en unknown
-
2022
- 2022-06-27 US US17/850,409 patent/US11575637B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101842803A (zh) * | 2007-10-29 | 2010-09-22 | 微软公司 | 预先发送电子邮件通信的评估 |
US9426102B1 (en) * | 2012-03-15 | 2016-08-23 | Google Inc. | Efficient conversation transmission to mobile clients |
CN205485733U (zh) * | 2014-05-30 | 2016-08-17 | 苹果公司 | 电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3535934A1 (en) | 2019-09-11 |
CN109891836A (zh) | 2019-06-14 |
WO2018085127A1 (en) | 2018-05-11 |
US20220329560A1 (en) | 2022-10-13 |
US11575637B2 (en) | 2023-02-07 |
US11405345B2 (en) | 2022-08-02 |
US20180124000A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936808B2 (en) | Document linking in an electronic messaging system | |
US10587539B2 (en) | Identifying relationships between message threads | |
US11575637B2 (en) | E-mail with smart reply and roaming drafts | |
US11153245B2 (en) | Dynamically re-parenting email messages based on updated conversations | |
US20240037066A1 (en) | File access permission revocation notification | |
US11349960B2 (en) | Integration of client system groups | |
CN110462660B (zh) | 控制计算***以生成用于日历共享的预先接受的缓存 | |
US20180121395A1 (en) | Truncated data view with synchronization view | |
US20210081098A1 (en) | Electronic mail control system integrating timeslot functionality | |
CN110049088B (zh) | 从独立可寻址消息得到原子通信线程的方法及*** | |
US10516630B2 (en) | Switching synchronization systems for synchronizing server/client data | |
US11444902B2 (en) | Surfacing media conversations and interactive functionality within a message viewer of a messaging system | |
US20170364247A1 (en) | Drawing integration into e-mail system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |